一种数据的处理方法、装置及电子设备与流程

专利2022-05-09  2



1.本发明涉及计算机技术领域,尤其涉及一种数据的处理方法、装置及电子设备。


背景技术:

2.随着移动通信技术的不断发展,移动通信业务量日益剧增,为保证业务处理的效率,运营商通常采用拆分数据库的方式,减少数据库的处理压力,提高数据处理效率。
3.目前,可以将数据库拆分为多个,用于处理不同类型业务的数据访问请求,对于同一业务系统,采用单中心的主备模式对数据访问请求进行处理。例如,对于计费应用客户端的数据访问请求,可以将数据库1作为主设备对计费应用客户端的数据访问请求进行处理,将数据库2作为数据库1的备份设备。
4.但是,通过上述方式对客户端的数据访问请求进行处理时,存在以下问题:对于同一业务系统,如果在同一时间内,有大量的数据访问请求访问主设备的数据库,就会给数据库带来较大的数据处理压力,导致数据库无法及时对数据访问请求进行处理,数据处理效率低。


技术实现要素:

5.本发明实施例的目的是提供一种数据的处理方法、装置及电子设备,以解决现有技术中在对数据访问请求进行处理时,存在的数据库处理压力较大,数据处理效率较低的问题。
6.为解决上述技术问题,本发明实施例是这样实现的:
7.第一方面,本发明实施例提供的一种数据的处理方法,所述方法应用于代理工作池,所述代理工作池用于将客户端的数据访问请求发送至数据库进行响应,所述方法包括:
8.获取至少一个待处理的数据访问请求;
9.基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;
10.缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;
11.在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。
12.可选地,所述将所述可处理的数据访问请求发送到所述数据库进行处理,包括:
13.获取所述可处理的数据访问请求的来源位置信息;
14.将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理。
15.可选地,所述将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理,包括:
16.基于所述可处理的数据访问请求的来源位置信息,确定所述数据库中与所述可处
理的数据访问请求的来源位置信息对应的第一数据库;
17.基于所述可处理的数据访问请求的分配维度信息,获取所述第一数据库中,与所述可处理的数据访问请求的分配维度信息对应的目标数据库;
18.将所述可处理的数据访问请求发送至对应的所述目标数据库进行处理。
19.可选地,所述获取至少一个待处理的数据访问请求,包括:
20.在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求。
21.可选地,所述在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求,包括:
22.在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求,所述高访问时间段为访问量高于预设并发用户量阈值对应的时间段。
23.可选地,所述在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求之前,还包括:
24.获取预设时间周期内,所述数据库的历史访问数据,所述历史访问数据包括所述预设时间周期内,预设单位时间内的数据库被访问时间、所述预设单位时间内的平均访问用户数、所述预设单位时间内的客户端从登录到退出的平均时间;
25.基于所述历史访问数据,确定所述预设高访问时间段。
26.可选地,所述基于所述历史访问数据,确定所述预设高访问时间段,包括:
27.根据公式计算所述数据库在所述预设单位时间内的第一并发用户量,其中,c为所述预设单位时间内的第一并发用户量,k为所述预设单位时间内的平均访问用户数,λ为所述预设单位时间内的客户端从登录到退出的平均时间,t为所述预设单位时间内的数据库被访问时间;
28.获取所述第一并发用户量中,并发用户量的数值大于所述预设并发用户量阈值的第一并发用户量的目标访问时间;
29.基于所述目标访问时间,确定所述预设高访问时间段。
30.第二方面,本发明实施例提供了一种数据的处理装置,所述装置包括:
31.第一获取模块,用于获取至少一个待处理的数据访问请求;
32.请求处理模块,用于基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;
33.请求缓存模块,用于缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;
34.第二获取模块,用于在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。
35.可选地,所述请求处理模块,包括:
36.信息获取单元,用于获取所述可处理的数据访问请求的来源位置信息;
37.请求处理单元,用于将所述可处理的数据访问请求发送至与所述可处理的数据访
问请求的来源位置信息对应的所述数据库进行处理。
38.可选地,所述请求处理单元,用于:
39.基于所述可处理的数据访问请求的来源位置信息,确定所述数据库中与所述可处理的数据访问请求的来源位置信息对应的第一数据库;
40.基于所述可处理的数据访问请求的分配维度信息,获取所述第一数据库中,与所述可处理的数据访问请求的分配维度信息对应的目标数据库;
41.将所述可处理的数据访问请求发送至对应的所述目标数据库进行处理。
42.可选地,所述第一获取模块,用于:
43.在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求。
44.可选地,所述第一获取模块,用于:
45.在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求,所述高访问时间段为访问量高于预设并发用户量阈值对应的时间段。
46.可选地,所述装置,还包括:
47.数据获取模块,用于获取预设时间周期内,所述数据库的历史访问数据,所述历史访问数据包括所述预设时间周期内,预设单位时间内的数据库被访问时间、所述预设单位时间内的平均访问用户数、所述预设单位时间内的客户端从登录到退出的平均时间;
48.时间确定模块,用于基于所述历史访问数据,确定所述预设高访问时间段。
49.可选地,所述时间确定模块,用于:
50.根据公式计算所述数据库在所述预设单位时间内的第一并发用户量,其中,c为所述预设单位时间内的第一并发用户量,k为所述预设单位时间内的平均访问用户数,λ为所述预设单位时间内的客户端从登录到退出的平均时间,t为所述预设单位时间内的数据库被访问时间;
51.获取所述第一并发用户量中,并发用户量的数值大于所述预设并发用户量阈值的第一并发用户量的目标访问时间;
52.基于所述目标访问时间,确定所述预设高访问时间段。
53.第三方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述实施例提供的数据的处理方法的步骤。
54.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的数据的处理方法的步骤。
55.由以上本发明实施例提供的技术方案可见,本发明实施例通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求
确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
附图说明
56.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
57.图1为本发明一种数据的处理方法的流程示意图;
58.图2为本发明另一种数据的处理方法的流程示意图;
59.图3为本发明又一种数据的处理方法的流程示意图;
60.图4为本发明一种数据的处理装置的结构示意图;
61.图5为本发明一种电子设备的结构示意图。
具体实施方式
62.本发明实施例提供一种数据的处理方法、装置及电子设备。
63.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都应当属于本发明保护的范围。
64.实施例一
65.如图1所示,本发明实施例提供一种数据的处理方法,该方法的执行主体可以为代理工作池,代理工作池可以由服务器实现,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,代理工作池可以用于将客户端的数据访问请求发送至数据库进行响应。该方法具体可以包括以下步骤:
66.在s102中,获取至少一个待处理的数据访问请求。
67.在实施中,随着移动通信技术的不断发展,移动通信业务量日益剧增,为保证业务处理的效率,运营商通常采用拆分数据库的方式,减少数据库的处理压力,提高数据处理效率。目前,可以将数据库拆分为多个,用于处理不同类型业务的数据访问请求,对于同一业务系统,采用单中心的主备模式对数据访问请求进行处理。例如,对于计费应用客户端的数据访问请求,可以将数据库1作为主设备对计费应用客户端的数据访问请求进行处理,将数据库2作为数据库1的备份设备。
68.但是,通过上述方式对客户端的数据访问请求进行处理时,存在以下问题:
69.对于同一业务系统,如果在同一时间内,有大量的数据访问请求访问主设备的数据库,就会给数据库带来较大的数据处理压力,导致数据库无法及时对数据访问请求进行处理,数据处理效率低。例如,在业务高峰期,可能会有大量的计费应用客户端的数据访问请求发送给计费系统的主设备的数据库,导致数据库不能及时对数据访问请求进行处理,
甚至出现数据库的瘫痪,影响计费系统的使用稳定性,为此,本发明实施例提供另一种实现方案,具体可以包括以下内容:
70.代理工作池可以分别接收多个来自不同或相同客户端的待处理的数据访问请求,此外,代理工作池还可以接收客户端的一个待处理的数据访问请求。
71.在s104中,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理。
72.在实施中,数据库的数据处理能力可以是根据数据库的性能确定的,不同数据库的数据处理能力可以不同,可以根据获取的数据库的数据处理能力,从待处理的数据访问请求中获取可处理的数据访问请求。例如,数据库1的数据处理能力为:最多可同时处理或一次最多可处理20条数据访问请求,如果待处理的数据访问请求为30条,则可以根据待处理的数据访问请求的接收时间(或处理优先级等),从这30条待处理的数据访问请求中,获取20条可处理的数据访问请求,并发送给数据库进行处理。
73.或者,还可以根据当前数据库所处的状态,确定当前数据库的数据处理能力。例如,10:00-12:00为数据库的自备时间,假设数据库在自备时间的数据处理能力为:最多可同时处理或一次最多可处理150条数据访问请求,在其他时间的数据处理能力为:最多可同时处理或一次最多可处理200条数据访问请求,则可以根据当前时间是否处于数据库的自备时间,获取对应的数据库的数据处理能力,然后基于数据库的数据处理能力,从至少一个待处理的数据访问请求中,获取可处理的数据访问请求,并发送给数据库进行处理。避免大量的数据访问请求直接发送给数据库,导致数据库压力较大的问题。
74.上述数据库的数据处理能力的获取方法是一种可选地、可实现的获取方法,在实际应用场景中,还可以有多种不同的获取方法,可以根据实际应用场景的不同而有所不同,本发明实施例对此不做具体限定。
75.在s106中,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求。
76.在实施中,为了能够缓存数据库暂时无法处理的数据访问请求,可以预先设置缓存链表。假设待处理的数据访问请求有500条,基于数据库的数据处理能力,确定可处理的数据访问请求为200条,则可以将剩余的300条数据访问请求缓存至缓存链表中。
77.此外,缓存链表中可以缓存的数据访问请求的数量可以是基于预设数量阈值确定的,例如,预设数量阈值为400条,即缓存链表中可以缓存400条数据访问请求,如果缓存链表中已缓存200条数据访问请求,则500条待处理的数据访问请求中的剩余300条数据访问请求,只能将其中的200条数据访问请求缓存至缓存链表中。
78.在s108中,在数据库对可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。
79.在实施中,在检测到数据库对可处理的数据访问请求处理接收后,可以从缓存链表中,获取缓存的数据访问请求,并确定为待处理的数据访问请求。然后再执行步骤s102-s106,即根据数据库的数据处理能力,将至少一个待处理的数据访问请求中的可处理的数据访问请求发送至数据库进行处理,将剩余的数据访问请求再次缓存至缓存链表中,并在数据库对可处理的数据访问请求处理结束后,再次获取缓存链表中的数据访问请求,并确定为待处理的数据访问请求,直至缓存链表中不存在数据访问请求。
80.本发明实施例提供一种数据的处理方法,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
81.实施例二
82.如图2所示,本发明实施例提供一种数据的处理方法,该方法的执行主体可以为代理工作池,代理工作池可以由服务器实现,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,代理工作池可以用于将客户端的数据访问请求发送至数据库进行响应。该方法具体可以包括以下步骤:
83.在s202中,在监听到客户端发送的可连接的监听信息的情况下,获取客户端发送的至少一个待处理的数据访问请求。
84.在实施中,在代理工作池中,可以设置有监听器,用于监听客户端是否发起连接,即监听客户端是否发出可连接的监听信息。
85.在s204中,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,获取可处理的数据访问请求的来源位置信息。
86.在实施中,例如,获取的可处理的数据访问请求可以来自不同地区,即可处理的数据访问请求可以具有不同的来源位置信息。可以获取每个可处理的数据访问请求的来源位置信息。
87.其中,来源位置信息的获取方法可以有多种,可以根据数据访问请求对应的客户端的信息确定,也可以是数据访问请求带有的来源位置信息,在不同的实际应用场景中,可以有多种来源位置信息的确定方法,本发明实施例不做具体限定。
88.在s206中,将可处理的数据访问请求发送至与可处理的数据访问请求的来源位置信息对应的数据库进行处理。
89.在实施中,例如,可以将来自于地区1的可处理的数据访问请求,发送至地区1的数据库1进行处理,将来自于地区2的可处理的数据访问请求,发送至地区2的数据库2进行处理。
90.在实际应用中,上述s206的处理方式可以多种多样,以下提供一种可选的实现方式,具体可以参见下述步骤一~步骤三处理。
91.步骤一,基于可处理的数据访问请求的来源位置信息,确定数据库中与可处理的数据访问请求的来源位置信息对应的第一数据库。
92.在实施中,假设数据库中可以有位于地区1的数据库1、数据库2和数据库3,位于地区2的数据库4和数据库5。
93.可以根据可处理的数据访问请求的来源位置信息,确定数据库中,与每个可处理的数据访问请求对应的第一数据库。例如,可以有可处理的数据访问请求1、可处理的数据访问请求2,假设基于可处理的数据访问请求1的来源位置信息,可以确定可处理的数据访
问请求1来自地区1,则可以确定与可处理的数据访问请求1对应的第一数据库为数据库1、数据库2和数据库3,同样的,假设基于可处理的数据访问请求2的来源位置信息,可以确定可处理的数据访问请求2来自地区2,则与可处理的数据访问请求2对应的第一数据库可以为数据库4和数据库5。
94.步骤二,基于可处理的数据访问请求的分配维度信息,获取第一数据库中,与可处理的数据访问请求的分配维度信息对应的目标数据库。
95.在实施中,分配维度信息可以是预先设定的,用于确定与每个可处理的数据访问请求对应的目标数据库。例如,分配维度信息可以是账户id、客户id、中心id等信息,可以基于每个可处理的数据访问请求的分配维度信息,确定第一数据库中的目标数据库。
96.例如,以上述步骤一中为例,假设在地区1中,数据库1对应的分配维度信息为:客户id的最后一位数字为0或1,数据库2对应的分配维度信息为:客户id的最后一位数字为2或3,数据库3对应的分配维度信息为:客户id的最后一位数字为4或5,可以根据每个可处理的数据访问请求的分配维度信息中的客户id,确定每个可处理的数据访问请求对应的目标数据库。例如,可处理的数据访问请求1的分配维度信息包括其客户id,假设客户id为xx001,则与该可处理的数据访问请求1对应的目标数据库可以为地区1中的数据库1。步骤三,将可处理的数据访问请求发送至对应的目标数据库进行处理。
97.在s208中,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求。
98.在s210中,在数据库对可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。
99.上述s208-s210的具体处理过程可以参见上述实施例一中s106-s108中的相关内容,在此不再赘述。
100.此外,监听器还可以从监视链表中取出所有的套接字,并对取出的套接字进行轮询,如果发现有可读的套接字,则对该套接字是否为监听套接字进行检测,如果是监听套接字,则通过accept函数,与客户端建立连接,并将建立的连接插入监视链表中,此时,该监听套接字即转换为已连接套接字,如果不是监听套接字,则将该套接字从监视链表中移除,并放入队列链表中。
101.代理工作池在每次数据库对可处理的数据访问请求处理结束后,可以调用增减线程检查回调,判断当前是增加线程、减少线程还是保持不变,并根据线程的变化情况,确定数据库的数据处理能力。
102.本发明实施例提供一种数据的处理方法,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
103.实施例三
104.如图3所示,本发明实施例提供一种数据的处理方法,该方法的执行主体可以为代理工作池,代理工作池可以由服务器实现,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,代理工作池可以用于将客户端的数据访问请求发送至数据库进行响应。该方法具体可以包括以下步骤:
105.在s302中,获取预设时间周期内,数据库的历史访问数据。
106.其中,历史访问数据可以包括预设时间周期内,预设单位时间内的数据库被访问时间、预设单位时间内的平均访问用户数、预设单位时间内的客户端从登录到退出的平均时间等。
107.在s304中,基于历史访问数据,确定预设高访问时间段。
108.在实际应用中,上述s304的处理方式可以多种多样,以下提供一种可选的实现方式,具体可以参见下述步骤一~步骤三处理。
109.步骤一,根据公式计算数据库在预设单位时间内的第一并发用户量。
110.其中,c为预设单位时间内的第一并发用户量,k为预设单位时间内的平均访问用户数,λ为预设单位时间内的客户端从登录到退出的平均时间,t为预设单位时间内的数据库被访问时间。
111.在实施中,可以在预设单位时间内的平均访问用户数的泊松概率分布满足泊松分布模型的情况下,基于公式确定第一并发用户量。其中,可以通过公式计算预设单位时间内的平均访问用户数的泊松概率分布,其中,p
(x=k)
为当用户数为预设单位时间内的平均访问用户数时的泊松概率分布,λ为预设单位时间内的客户端从登录到退出的平均时间,e为自然常数。
112.此外,还可以基于公式计算数据库的吞吐量,其中,f为数据库的吞吐量,u为访问数据库的客户端的总数,r为每个客户端发送的数据访问请求。
113.步骤二,获取第一并发用户量中,并发用户量的数值大于预设并发用户量阈值的第一并发用户量的目标访问时间。
114.在实施中,假设预设单位时间为一小时,则可以计算出每小时的第一并发用户量,可以获取每天中,第一并发用户量的数值大于预设并发用户量阈值的第一并发用户量的目标访问时间,即获取访问数据库的高峰时间。
115.步骤三,基于目标访问时间,确定预设高访问时间段。
116.在实施中,当存在多个目标访问时间时,可以根据多个目标访问时间,确定预设高访问时间段。例如,目标访问时间1为10点到11点,目标访问时间2为10点到10点半,目标访问时间3为10点到11点半,则可以将预设高访问时间段设定为10点到10点半,或者10点到11点半。
117.上述预设高访问时间段的确定方法是一种可选地、可实现的确定方法,在实际应用场景中,还可以有多种不同的确定方法,可以根据实际应用场景的不同而有所不同,本发
明实施例对此不作具体限定。
118.在s306中,在当前时间处于预设高访问时间段,且监听到客户端发送的可连接的监听信息的情况下,获取至少一个待处理的数据访问请求。
119.其中,高访问时间段可以为访问量高于预设并发用户量阈值对应的时间段。
120.在s308中,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理。
121.在s310中,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求。
122.在s312中,在数据库对可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。
123.上述s308-s312的具体处理过程可以参见上述实施例一中s104-s108中的相关内容,在此不再赘述。
124.本发明实施例提供一种数据的处理方法,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
125.实施例四
126.以上为本发明实施例提供的数据的处理方法,基于同样的思路,本发明实施例还提供一种数据的处理装置,如图4所示。
127.该数据的处理装置包括:第一获取模块401、请求处理模块402、请求缓存模块403和第二获取模块404,其中:
128.第一获取模块401,用于获取至少一个待处理的数据访问请求;
129.请求处理模块402,用于基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;
130.请求缓存模块403,用于缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;
131.第二获取模块404,用于在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。
132.在本发明实施例中,所述请求处理模块402,包括:
133.信息获取单元,用于获取所述可处理的数据访问请求的来源位置信息;
134.请求处理单元,用于将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理。
135.在本发明实施例中,所述请求处理单元,用于:
136.基于所述可处理的数据访问请求的来源位置信息,确定所述数据库中与所述可处
理的数据访问请求的来源位置信息对应的第一数据库;
137.基于所述可处理的数据访问请求的分配维度信息,获取所述第一数据库中,与所述可处理的数据访问请求的分配维度信息对应的目标数据库;
138.将所述可处理的数据访问请求发送至对应的所述目标数据库进行处理。
139.在本发明实施例中,所述第一获取模块401,用于:
140.在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求。
141.在本发明实施例中,所述第一获取模块401,用于:
142.在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求,所述高访问时间段为访问量高于预设并发用户量阈值对应的时间段。
143.在本发明实施例中,所述装置,还包括:
144.数据获取模块,用于获取预设时间周期内,所述数据库的历史访问数据,所述历史访问数据包括所述预设时间周期内,预设单位时间内的数据库被访问时间、所述预设单位时间内的平均访问用户数、所述预设单位时间内的客户端从登录到退出的平均时间;
145.时间确定模块,用于基于所述历史访问数据,确定所述预设高访问时间段。
146.在本发明实施例中,所述时间确定模块,用于:
147.根据公式计算所述数据库在所述预设单位时间内的第一并发用户量,其中,c为所述预设单位时间内的第一并发用户量,k为所述预设单位时间内的平均访问用户数,λ为所述预设单位时间内的客户端从登录到退出的平均时间,t为所述预设单位时间内的数据库被访问时间;
148.获取所述第一并发用户量中,并用户量的数值大于所述预设并发用户量阈值的第一并发用户量的目标访问时间;
149.基于所述目标访问时间,确定所述预设高访问时间段。
150.本发明实施例提供一种数据的处理装置,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
151.实施例五
152.图5为实现本发明各个实施例的一种电子设备的硬件结构示意图,
153.该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者
不同的部件布置。
154.其中,处理器510,用于:获取至少一个待处理的数据访问请求;基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。
155.此外,所述处理器510,还用于:获取所述可处理的数据访问请求的来源位置信息;将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理。
156.另外,所述处理器510,还用于:基于所述可处理的数据访问请求的来源位置信息,确定所述数据库中与所述可处理的数据访问请求的来源位置信息对应的第一数据库;基于所述可处理的数据访问请求的分配维度信息,获取所述第一数据库中,与所述可处理的数据访问请求的分配维度信息对应的目标数据库;将所述可处理的数据访问请求发送至对应的所述目标数据库进行处理。
157.此外,所述处理器510,还用于在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求。
158.另外,所述处理器510,还用于在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求,所述高访问时间段为访问量高于预设并发用户量阈值对应的时间段。
159.此外,所述处理器510,还用于:获取预设时间周期内,所述数据库的历史访问数据,所述历史访问数据包括所述预设时间周期内,预设单位时间内的数据库被访问时间、所述预设单位时间内的平均访问用户数、所述预设单位时间内的客户端从登录到退出的平均时间;基于所述历史访问数据,确定所述预设高访问时间段。
160.另外,所述处理器510,还用于:根据公式计算所述数据库在所述预设单位时间内的第一并发用户量,其中,c为所述预设单位时间内的第一并发用户量,k为所述预设单位时间内的平均访问用户数,λ为所述预设单位时间内的客户端从登录到退出的平均时间,t为所述预设单位时间内的数据库被访问时间;获取所述第一并发用户量中,并发用户量的数值大于所述预设并发用户量阈值的第一并发用户量的目标访问时间;基于所述目标访问时间,确定所述预设高访问时间段。
161.本发明实施例提供一种电子设备,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
162.应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其它电子设备通信。
163.电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
164.输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(graphics processing unit,gpu)5041和麦克风5042。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
165.显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板5061。
166.用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其它输入设备5072。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
167.接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
168.存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其它易失性固态存储器件。
169.处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各
个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
170.电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
171.优选的,本发明实施例还提供一种电子设备,包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
172.实施例六
173.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccess memory,简称ram)、磁碟或者光盘等。
174.本发明实施例提供一种计算机可读存储介质,通过获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。这样,可以根据数据库的处理能力,将客户端的数据访问请求中的可处理的数据访问请求发送给数据库进行处理,保证了数据库可以及时对可处理的数据访问请求进行处理,降低了数据库的处理压力的同时,也提高了数据处理效率。
175.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
176.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
177.这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
178.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
179.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
180.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
181.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其它类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其它内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
182.还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
183.本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
184.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

技术特征:
1.一种数据的处理方法,其特征在于,所述方法应用于代理工作池,所述代理工作池用于将客户端的数据访问请求发送至数据库进行响应,所述方法包括:获取至少一个待处理的数据访问请求;基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。2.根据权利要求1中所述的方法,其特征在于,所述将所述可处理的数据访问请求发送到所述数据库进行处理,包括:获取所述可处理的数据访问请求的来源位置信息;将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理。3.根据权利要求2中所述的方法,其特征在于,所述将所述可处理的数据访问请求发送至与所述可处理的数据访问请求的来源位置信息对应的所述数据库进行处理,包括:基于所述可处理的数据访问请求的来源位置信息,确定所述数据库中与所述可处理的数据访问请求的来源位置信息对应的第一数据库;基于所述可处理的数据访问请求的分配维度信息,获取所述第一数据库中,与所述可处理的数据访问请求的分配维度信息对应的目标数据库;将所述可处理的数据访问请求发送至对应的所述目标数据库进行处理。4.根据权利要求1所述的方法,其特征在于,所述获取至少一个待处理的数据访问请求,包括:在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求。5.根据权利要求4所述的方法,其特征在于,所述在监听到所述客户端发送的可连接的监听信息的情况下,获取所述客户端发送的所述至少一个待处理的数据访问请求,包括:在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求,所述高访问时间段为访问量高于预设并发用户量阈值对应的时间段。6.根据权利要求5所述的方法,其特征在于,所述在当前时间处于预设高访问时间段,且监听到所述客户端发送的可连接的监听信息的情况下,获取所述至少一个待处理的数据访问请求之前,还包括:获取预设时间周期内,所述数据库的历史访问数据,所述历史访问数据包括所述预设时间周期内,预设单位时间内的数据库被访问时间、所述预设单位时间内的平均访问用户数、所述预设单位时间内的客户端从登录到退出的平均时间;基于所述历史访问数据,确定所述预设高访问时间段。7.根据权利要求6所述的方法,其特征在于,所述基于所述历史访问数据,确定所述预设高访问时间段,包括:
根据公式计算所述数据库在所述预设单位时间内的第一并发用户量,其中,c为所述预设单位时间内的第一并发用户量,k为所述预设单位时间内的平均访问用户数,λ为所述预设单位时间内的客户端从登录到退出的平均时间,t为所述预设单位时间内的数据库被访问时间;获取所述第一并发用户量中,并发用户量的数值大于所述预设并发用户量阈值的第一并发用户量的目标访问时间;基于所述目标访问时间,确定所述预设高访问时间段。8.一种数据的处理装置,其特征在于,所述装置包括:第一获取模块,用于获取至少一个待处理的数据访问请求;请求处理模块,用于基于所述数据库的数据处理能力,从所述至少一个待处理的数据访问请求中获取可处理的数据访问请求,将所述可处理的数据访问请求发送到所述数据库进行处理;请求缓存模块,用于缓存所述至少一个待处理的数据访问请求中除所述可处理的数据访问请求外的数据访问请求;第二获取模块,用于在所述数据库对所述可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将所述缓存的数据访问请求确定为待处理的数据访问请求。9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据的处理方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据的处理方法的步骤。
技术总结
本发明实施例提供了一种数据的处理方法、装置及电子设备,所述方法应用于代理工作池,代理工作池用于将客户端的数据访问请求发送至数据库进行响应,所述方法包括:获取至少一个待处理的数据访问请求,基于数据库的数据处理能力,从至少一个待处理的数据访问请求中获取可处理的数据访问请求,将可处理的数据访问请求发送到所述数据库进行处理,缓存至少一个待处理的数据访问请求中除可处理的数据访问请求外的数据访问请求,在数据库对可处理的数据访问请求处理结束后,获取缓存的数据访问请求,并将缓存的数据访问请求确定为待处理的数据访问请求。通过本方法,可以降低数据库的数据处理压力,提高数据处理效率。提高数据处理效率。提高数据处理效率。


技术研发人员:邓曦
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2019.12.30
技术公布日:2021/7/15

转载请注明原文地址:https://doc.8miu.com/read-650109.html

最新回复(0)