数据表操作请求处理方法、装置、服务器及存储介质与流程

文档序号:29071314发布日期:2022-03-01 21:26阅读:64来源:国知局
数据表操作请求处理方法、装置、服务器及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种数据表操作请求处理方法、装置、服务器及存储介质。


背景技术:

2.随着应用程序功能的不断完善,使用人数的逐渐增长,针对于数据库中数据表的操作请求也日趋增多。
3.数据表的访问、读写等操作会占用数据库的资源,若某个数据表的操作请求突然增多,超出数据库资源分配的能力,可能会导致整个数据库的访问出现问题,使得数据表操作请求的处理效率较低。


技术实现要素:

4.本公开提供一种数据表操作请求处理方法、装置、服务器及存储介质,以至少解决相关技术中数据表操作请求的处理效率较低的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种数据表操作请求处理方法,包括:
6.响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;所述当前访问量用于记录所述待操作数据表在预设时间范围内的已访问量;所述预设访问量用于记录所述待操作数据表在所述预设时间范围内的最高访问量;
7.在所述当前访问量小于预设访问量的情况下,将所述数据表操作请求发送至所述待操作数据表对应的数据库;所述数据表操作请求用于触发所述数据库对所述待操作数据表进行相应处理。
8.在一示例性实施例中,待操作数据表的预设访问量通过下述方式得到:
9.根据所述数据表操作请求,分别获取所述待操作数据表的数据表标识,以及所述待操作数据表对应的数据库的数据库标识;
10.获取与所述数据库标识对应的配置信息,并根据所述数据表标识查询所述配置信息,得到所述待操作数据表的预设访问量;所述配置信息中记录有多个数据表标识对应的预设访问量。
11.在一示例性实施例中,所述根据所述数据表标识查询所述配置信息,得到所述待操作数据表的预设访问量,包括:
12.若从所述配置信息中查询到与所述数据表标识对应的预设访问量,则将所述配置信息中与所述数据表标识对应的预设访问量,作为所述待操作数据表的预设访问量;
13.若从所述配置信息中未查询到与所述数据表标识对应的预设访问量,则将所述配置信息中的默认访问量,作为所述待操作数据表的预设访问量。
14.在一示例性实施例中,所述获取待操作数据表的当前访问量,包括:
15.从预设数据库中,获取所述预设时间范围内与所述待操作数据表对应的计数数值,作为所述待操作数据表的当前访问量。
16.在一示例性实施例中,在将所述数据表操作请求发送至所述待操作数据表对应的数据库之后,还包括:
17.更新所述预设数据库中与所述待操作数据表对应的计数数值,得到更新后的计数数值;所述更新后的计数数值大于更新前的计数数值。
18.在一示例性实施例中,在将所述数据表操作请求发送至所述待操作数据表对应的数据库之后,还包括:
19.当所述数据表操作请求在对应的数据库中执行完毕时,更新所述预设数据库中与所述待操作数据表对应的计数数值,得到更新后的计数数值;所述更新后的计数数值小于更新前的计数数值。
20.在一示例性实施例中,在响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量之后,还包括:
21.在所述当前访问量大于或等于预设访问量的情况下,拒绝所述数据表操作请求,并返回数据表操作失败信息。
22.在一示例性实施例中,在将所述数据表操作请求发送至所述待操作数据表对应的数据库之后,还包括:
23.获取所述数据库对所述待操作数据表进行相应处理的处理结果,并将所述处理结果作为所述数据表操作请求的处理结果。
24.根据本公开实施例的第二方面,提供一种数据表操作请求处理装置,包括:
25.请求响应单元,被配置为执行响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;所述当前访问量用于记录所述待操作数据表在预设时间范围内的已访问量;所述预设访问量用于记录所述待操作数据表在所述预设时间范围内的最高访问量;
26.请求处理单元,被配置为执行在所述当前访问量小于预设访问量的情况下,将所述数据表操作请求发送至所述待操作数据表对应的数据库;所述数据表操作请求用于触发所述数据库对所述待操作数据表进行相应处理。
27.在一示例性实施例中,所述请求响应单元,还被配置为执行根据所述数据表操作请求,分别获取所述待操作数据表的数据表标识,以及所述待操作数据表对应的数据库的数据库标识;获取与所述数据库标识对应的配置信息,并根据所述数据表标识查询所述配置信息,得到所述待操作数据表的预设访问量;所述配置信息中记录有多个数据表标识对应的预设访问量。
28.在一示例性实施例中,所述请求响应单元,还被配置为执行若从所述配置信息中查询到与所述数据表标识对应的预设访问量,则将所述配置信息中与所述数据表标识对应的预设访问量,作为所述待操作数据表的预设访问量;若从所述配置信息中未查询到与所述数据表标识对应的预设访问量,则将所述配置信息中的默认访问量,作为所述待操作数据表的预设访问量。
29.在一示例性实施例中,所述请求响应单元,还被配置为执行从预设数据库中,获取所述预设时间范围内与所述待操作数据表对应的计数数值,作为所述待操作数据表的当前访问量。
30.在一示例性实施例中,所述请求处理单元,还被配置为执行更新所述预设数据库
中与所述待操作数据表对应的计数数值,得到更新后的计数数值;所述更新后的计数数值大于更新前的计数数值。
31.在一示例性实施例中,所述请求处理单元,还被配置为执行当所述数据表操作请求在对应的数据库中执行完毕时,更新所述预设数据库中与所述待操作数据表对应的计数数值,得到更新后的计数数值;所述更新后的计数数值小于更新前的计数数值。
32.在一示例性实施例中,所述请求处理单元,还被配置为执行在所述当前访问量大于或等于预设访问量的情况下,拒绝所述数据表操作请求,并返回数据表操作失败信息。
33.在一示例性实施例中,所述请求处理单元,还被配置为执行获取所述数据库对所述待操作数据表进行相应处理的处理结果,并将所述处理结果作为所述数据表操作请求的处理结果。
34.根据本公开实施例的第三方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面任一项所述的数据表操作请求处理方法。
35.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如第二方面任一项所述的数据表操作请求处理方法。
36.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,其特征在于,所述指令被服务器的处理器执行时,使得所述服务器能够执行如第一方面任一项所述的数据表操作请求处理方法。
37.本公开的实施例提供的技术方案至少带来以下有益效果:
38.通过响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量;然后在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于触发数据库对待操作数据表进行相应处理。实现了在将数据表操作请求发送到对应的数据库之前,通过拦截该数据表操作请求,并对数据库中对应数据表的访问量进行预先判断,在确定数据表的访问量未超过限制时才将请求发送至数据库进行处理,降低了数据库中各数据表的相互影响,保障了数据库在一定时间内数据处理压力的平衡性,维持了数据库资源分配的能力,提高了数据表操作请求的处理效率。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
41.图1是根据一示例性实施例示出的一种数据表操作请求处理方法的应用环境图。
42.图2是根据一示例性实施例示出的一种数据表操作请求处理方法的流程图。
43.图3是根据一示例性实施例示出的一种待操作数据表的预设访问量获取步骤的流程图。
44.图4是根据一示例性实施例示出的一种得到待操作数据表的预设访问量步骤的流程图。
45.图5是根据一示例性实施例示出的又一种数据表操作请求处理方法的流程图。
46.图6是根据一示例性实施例示出的另一种数据表操作请求处理方法的流程图。
47.图7是根据一示例性实施例示出的一种数据表操作请求处理装置的框图。
48.图8是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
49.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
50.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
51.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据;对应的,本公开还提供有相应的用户授权入口,供用户选择授权或者选择拒绝。
52.本公开所提供的数据表操作请求处理方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互;终端110向服务器120发出数据库操作请求,服务器120响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量;服务器120在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于通过服务器120触发数据库对待操作数据表进行相应处理;服务器120将数据库的处理结果响应返回至终端110。
53.其中,终端110可以是但不限于各种智能手机、平板电脑、笔记本电脑或穿戴式设备等,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
54.图2是根据一示例性实施例示出的一种数据表操作请求处理方法的流程图,如图2所示;数据表操作请求处理方法用于如图1所示的服务器120中,包括以下步骤。
55.在步骤s210中,响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量。
56.其中,数据表操作请求是指账户在操作时触发的需要与数据表进行交互而产生的请求信息;例如账户需要获取获取自己的某位好友信息,而该好友信息以数据表的形式保存在数据库中,即账户点按该好友信息的获取按钮时根据该点按操作生成了相应的数据表操作请求,服务器120响应到后作出相应判断,并决定是否发送至相应的数据库。对数据表
操作包括但不限于增、删、查、改、读取、合并、联结等。
57.其中,待操作数据表是指与数据表操作请求对应的数据表;可以是一个或多个,且多个待操作数据表可以位于同一数据库或者不同的数据库。
58.其中,当前访问量包括待操作数据表在一定时间范围内,该待操作数据表被访问的次数;需要说明的是,访问数据表不仅指对数据表的读取,还包括对数据表的各种操作。预设访问量是指对待操作数据表在一定时间范围内被访问量的规定;访问量可以是qps每秒查询率(query per second),每秒查询率qps是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。访问量还可以采用但不限于吞吐量(throughput),吞吐量是指系统在单位时间内处理请求的数量;对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。
59.其中,预设时间范围是指对当前访问量和预设访问量统计时间的设定,其单位可以是秒、分、时等。
60.在步骤s220中,在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于触发数据库对待操作数据表进行相应处理。
61.具体地,若当前访问量小于预设访问量,则服务器确定数据库当前为能够承接新的数据表操作请求的状态;即在获取到数据表操作请求后,通过判断当前访问量是否小于预设访问量,决定是否允许将该数据表操作请求发送至相应数据库进行处理。
62.上述数据表操作请求处理方法中,通过响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量;然后在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于触发数据库对待操作数据表进行相应处理。实现了在将相应数据表操作请求发送到对应的数据库的同时之前,通过拦截该数据表操作请求,并对数据库中对应数据表的访问流量进行预先判断,在确定数据表库的访问次数访问量未超过限制时才将请求发送至数据库进行处理,降低了数据库中各数据表的相互影响,保障了数据库在一定时间内数据处理压力的平衡性,维持了数据库资源分配的能力,使得提高了数据表操作请求的处理效率。
63.在一示例性实施例中,如图3所示,在步骤s210中,待操作数据表的预设访问量通过下述方式得到:
64.步骤s310,根据数据表操作请求,分别获取待操作数据表的数据表标识,以及待操作数据表对应的数据库的数据库标识。
65.其只,数据表操作请求中携带有数据表标识以及数据表所属数据库的数据库标识;通过数据表标识以及数据库标识,能够确定出数据表操作请求的处理对象。
66.步骤s320,获取与数据库标识对应的配置信息,并根据数据表标识查询配置信息,得到待操作数据表的预设访问量;配置信息中记录有多个数据表标识对应的预设访问量。
67.其中,配置信息是预先设定好的针对于数据库及数据表的文件;该文件中包含有限流信息等,通过读取配置信息能够获取针对于相应数据库或者数据表的操作参数,即能
够通过配置信息确定出数据库及数据表的预设访问量。需要说明的是,由于数据库中数据表的数量成千上万,部分数据表不会被设置专门对应的预设访问量,可以将预先配置的默认预设访问量作为待操作数据表的预设访问量。
68.具体地,服务器对数据表操作请求进行解析,提取出其包含的待操作数据表的数据表标识以及对应的数据库的数据库标识;根据数据库标识访问相应数据库,在数据库的配置信息中,根据数据表标识查找对应的预设访问量。
69.本公开实施例提供的技术方案中,通过数据库标识获取到数据库标识对应的配置信息,在从该配置信息中依据数据表标识获取与该待操作数据表对应的预设访问量;确保了确定待操作数据表的预设访问量的准确性。
70.在一示例性实施例中,如图4所示,在步骤s320中,根据数据表标识查询配置信息,得到待操作数据表的预设访问量,包括:
71.步骤s410,若从配置信息中查询到与数据表标识对应的预设访问量,则将配置信息中与数据表标识对应的预设访问量,作为待操作数据表的预设访问量;
72.步骤s420,若从配置信息中未查询到与数据表标识对应的预设访问量,则将配置信息中的默认访问量,作为待操作数据表的预设访问量。
73.其中,默认访问量是指对数据库中数据表的预设访问量作出的默认规定,可以在配置信息检索不到与待操作数据表对应的预设访问量时适用该默认访问量。
74.具体地,服务器若从配置信息中查询到与数据表标识对应的预设访问量,则将配置信息中与数据表标识对应的预设访问量,作为待操作数据表的预设访问量。若查询不到与数据表标识对应的预设访问量,则适用配置信息中的默认访问量作为待操作数据表的预设访问量。
75.例如,在数据表标识为1和2,数据库标识为1和2,配置信息中预设访问量以qps形式进行规定时,配置信息的部分内容如下所示:
76.[0077][0078]
可见,数据库1的配置信息中规定了数据表1的qps限制为100,其余数据表的默认qps限制为10;数据库2的配置信息中也规定了数据表2的qps限制为200,其余数据表的默认qps限制为20。例如,若归属于数据库1中的待操作数据表的数据表标识为3时,数据库1中找不到与数据表3对应的预设访问量(即qps限制参数),则将数据库1的默认qps限制10作为数据表3的预设访问量。同理,待操作数据表的数据表标识为2,可以在数据库2中找到对应的qps限制为200,则将200作为待操作数据表2的预设访问量。
[0079]
需要说明的是,还可以设置与数据库服务器整体对应的默认访问量作为配置信息,以保证在数据库的配置信息中检索不到相应的预设访问量时存在能够适用的数据。
[0080]
本公开实施例提供的技术方案中,通过与数据库对应的默认访问量,以及与数据表对应的预设访问量,向待操作数据表的预设访问量提供参考,保证待操作数据表能够有预设访问量与之对应。即通过与数据表对应的预设访问量保证了数据表的访问稳定性,还通过默认访问量保证了数据库的稳定性。
[0081]
在一示例性实施例中,在步骤s210中,获取待操作数据表的当前访问量,包括:从预设数据库中,获取预设时间范围内与待操作数据表对应的计数数值,作为待操作数据表的当前访问量。
[0082]
其中,预设数据库是指用于存储与待操作数据表对应的计数数值信息的数据库;预设数据库可以基于redis(remote dictionary server,远程字典服务)技术构建,例如采用key-value(键值对)存储系统、memcached(一种分布式的高速缓存系统)等。
[0083]
其中,计数数值是指对待操作数据表在一定时间范围内被访问量记录的相应数值,表征待操作数据表的当前访问量。
[0084]
本公开实施例提供的技术方案中,通过预设数据库获取待操作数据表对应的计数数值,提高了计数数值的读取效率。
[0085]
在一示例性实施例中,在步骤s220中,在将数据表操作请求发送至待操作数据表
对应的数据库之后,还包括:更新预设数据库中与待操作数据表对应的计数数值,得到更新后的计数数值;更新后的计数数值大于更新前的计数数值。
[0086]
其中,计数数值在统计被访问量时可以以1为单位进行统计,也可以大于1的单位进行统计,即待操作数据表每被访问1次,则与待操作数据表对应的计数数值加1,待操作数据表被访问多次,则与待操作数据表对应的计数数值相应增加,增加后的计数数值应大于原始的计数数值。
[0087]
需要说明的是,若计数数值统计的内容为响应时间、并发数量等时,计数数值的单位、每次更新的数值等可以根据统计的内容进行灵活调整。
[0088]
本公开实施例提供的技术方案中,通过更新计数数值实现对待操作数据表的当前访问量的记录,使得服务器能够根据计数数值对数据表是否超过访问量的限制进行预先判断并实时更新,提高了数据表操作请求的处理效率。
[0089]
在一示例性实施例中,在步骤s220中,在将数据表操作请求发送至待操作数据表对应的数据库之后,还包括:当数据表操作请求在对应的数据库中执行完毕时,更新预设数据库中与待操作数据表对应的计数数值,得到更新后的计数数值;更新后的计数数值小于更新前的计数数值。
[0090]
具体地,当服务器检测到数据表操作请求在对应的数据库中执行完毕时,或者数据向服务器范围数据表操作请求执行完毕的信息后,服务器根据执行完毕的数据表操作请求所对应的访问次数进行计数数值的更新,且更新后的计数数值小于更新前的计数数值。例如t1-t2时间内数据库中的数据表a被访问10次,达到预设访问量,服务器在经过判断后不再接收新的数据表操作请求。当t2时间到达后,若其中的n(n为正整数)个数据表操作请求已经失效或者执行完毕,则服务器判断数据库即处于可以被访问的状态,即将被访问10次的计数数值对应调整回10-n次,以保证数据库可以接收新的数据表操作请求。
[0091]
本公开实施例提供的技术方案中,在部分或全部数据表操作请求执行完成时,通过调低计数数值来实现对待操作数据表的当前访问量实时调整及更新,以便于数据库能够及时执行新的数据表操作请求,进一步提高数据表操作请求的处理效率。
[0092]
在一示例性实施例中,在步骤s210中,在响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量之后,还包括:在当前访问量大于或等于预设访问量的情况下,拒绝数据表操作请求,并返回数据表操作失败信息。
[0093]
具体地,服务器在判断出当前访问量大于或等于预设访问量时,说明该待操作数据表在一定范围时间内被访问的次数已经超过其能够承受的数量;因此拒绝数据表操作请求,并返回数据表操作失败信息已进行提醒。
[0094]
另外,服务器还可以根据所设定的时间范围,暂时保留该待操作数据表,等到下个时间范围当前访问量小于预设访问量时再提交至数据库。
[0095]
本公开实施例提供的技术方案中,通过拒绝数据表操作请求,并返回数据表操作失败信息,使得保障了数据表被访问的次数保持在合理范围内,维持了各个数据表访问量的稳定,以在整体提高了数据表操作请求的处理效率。
[0096]
在一示例性实施例中,在步骤s210中,在将数据表操作请求发送至待操作数据表对应的数据库之后,还包括:获取数据库对待操作数据表进行相应处理的处理结果,并将处理结果作为数据表操作请求的处理结果。
[0097]
其中,处理结果根据数据表操作请求内容的不同而不同。例如若数据表操作请求为获取相应数据,则处理结果中可以携带有相应数据。
[0098]
具体地,服务器从数据库获取待操作数据表进行相应处理后得到的处理结果,将该处理结果同时也作为数据表操作请求的处理结果。
[0099]
本公开实施例提供的技术方案中,服务器获取数据库进行相应处理后得到的处理结果作为数据表操作请求的处理结果,以便于服务器根据数据表操作请求的处理结果及时更新对应数据表的计数数值,并根据数值大小控制访问量,以整体提高了数据表操作请求的处理效率。
[0100]
在一示例性实施例中,如图5所示,提供了又一种数据表操作请求处理方法,包括:
[0101]
步骤s510,响应于数据表操作请求,根据数据表操作请求,分别获取待操作数据表的数据表标识,以及待操作数据表对应的数据库的数据库标识;
[0102]
步骤s520,从预设数据库中,获取预设时间范围内与待操作数据表对应的计数数值,作为待操作数据表的当前访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;
[0103]
步骤s530,获取与数据库标识对应的配置信息,若从配置信息中查询到与数据表标识对应的预设访问量,则将配置信息中与数据表标识对应的预设访问量,作为待操作数据表的预设访问量;若从配置信息中未查询到与数据表标识对应的预设访问量,则将配置信息中的默认访问量,作为待操作数据表的预设访问量;配置信息中记录有多个数据表标识对应的预设访问量预设访问量用于记录待操作数据表在预设时间范围内的最高访问量。
[0104]
步骤s540,更新预设数据库中与待操作数据表对应的计数数值,得到更新后的计数数值;更新后的计数数值大于更新前的计数数值。
[0105]
步骤s550,获取数据库对待操作数据表进行相应处理的处理结果,并将处理结果作为数据表操作请求的处理结果。
[0106]
通过响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量;然后在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于触发数据库对待操作数据表进行相应处理。实现了在将数据表操作请求发送到对应的数据库之前,通过拦截该数据表操作请求,并对数据库中对应数据表的访问量进行预先判断,在确定数据表的访问量未超过限制时才将请求发送至数据库进行处理,降低了数据库中各数据表的相互影响,保障了数据库在一定时间内数据处理压力的平衡性,维持了数据库资源分配的能力,提高了数据表操作请求的处理效率。
[0107]
在一示例性实施例中,如图6所示,提供了另一种数据表操作请求处理方法,以账户在终端上购物的过程为例进行说明,包括:
[0108]
步骤1,用户在终端上进行购物操作;
[0109]
步骤2,服务器的支付系统对该购物操作对应的业务进行处理,将处理后的得到的数据表操作请求转移到服务器的限流模块进行检测;
[0110]
步骤3,服务器的限流模块确定数据表操作请求对应的数据表,获取对应的限流配置,确定出待操作数据表的qps限制为m;从预设的redis中获取当前秒已通过的请求数量为
n;
[0111]
步骤4,如果n《m,则在预设的redis中将已通过的请求数量加1,服务器将数据表操作请求发送到相应的数据库;
[0112]
如果n》m,则服务器拒绝数据表操作请求。
[0113]
步骤5,若数据库收到数据表操作请求,数据库执行数据表操作请求对应的操作,则将数据库的执行结果返回至用户;
[0114]
若数据表操作请求被拒绝,则直接向用户返回失败。
[0115]
应该理解的是,虽然图2-图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0116]
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
[0117]
图7是根据一示例性实施例示出的一种数据表操作请求处理装置框图。参照图7,该装置包括请求响应单元702和请求处理单元704。
[0118]
请求响应单元702,被配置为执行响应于数据表操作请求,获取待操作数据表的当前访问量和预设访问量;当前访问量用于记录待操作数据表在预设时间范围内的已访问量;预设访问量用于记录待操作数据表在预设时间范围内的最高访问量。
[0119]
请求处理单元704,被配置为执行在当前访问量小于预设访问量的情况下,将数据表操作请求发送至待操作数据表对应的数据库;数据表操作请求用于触发数据库对待操作数据表进行相应处理。
[0120]
在一示例性实施例中,请求响应单元702,还被配置为执行根据数据表操作请求,分别获取待操作数据表的数据表标识,以及待操作数据表对应的数据库的数据库标识;获取与数据库标识对应的配置信息,并根据数据表标识查询配置信息,得到待操作数据表的预设访问量;配置信息中记录有多个数据表标识对应的预设访问量。
[0121]
在一示例性实施例中,请求响应单元702,还被配置为执行若从配置信息中查询到与数据表标识对应的预设访问量,则将配置信息中与数据表标识对应的预设访问量,作为待操作数据表的预设访问量;若从配置信息中未查询到与数据表标识对应的预设访问量,则将配置信息中的默认访问量,作为待操作数据表的预设访问量。
[0122]
在一示例性实施例中,请求响应单元702,还被配置为执行从预设数据库中,获取预设时间范围内与待操作数据表对应的计数数值,作为待操作数据表的当前访问量。
[0123]
在一示例性实施例中,请求处理单元704,还被配置为执行更新预设数据库中与待操作数据表对应的计数数值,得到更新后的计数数值;更新后的计数数值大于更新前的计数数值。
[0124]
在一示例性实施例中,请求处理单元704,还被配置为执行当当前访问量大于或等
于预设访问量的情况下,拒绝数据表操作请求,并返回数据表操作失败信息。
[0125]
在一示例性实施例中,请求处理单元,还被配置为执行获取数据库对待操作数据表进行相应处理的处理结果,并将处理结果作为数据表操作请求的处理结果。
[0126]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0127]
图8是根据一示例性实施例示出的一种用于数据表操作请求处理的电子设备800的框图。例如,电子设备800可以为服务器。参照图8,电子设备800包括处理组件820,其进一步包括一个或多个处理器,以及由存储器822所代表的存储器资源,用于存储可由处理组件820的执行的指令,例如应用程序。存储器822中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件820被配置为执行指令,以执行上述方法。
[0128]
电子设备800还可以包括:电源组件824被配置为执行电子设备800的电源管理,有线或无线网络接口826被配置为将电子设备800连接到网络,和输入输出(i/o)接口828。电子设备800可以操作基于存储在存储器822的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
[0129]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器822,上述指令可由电子设备800的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0130]
在示例性实施例中,还提供一种计算机程序产品,计算机程序产品中包括指令,上述指令可由电子设备800的处理器执行以完成上述方法。
[0131]
需要说明的,上述的装置、服务器、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
[0132]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0133]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1