一种数据流量控制方法及装置与流程



1.本技术涉及金融领域,具体是一种数据流量控制方法及装置。


背景技术:



2.现有技术中,利用数据库中间件进行大文件加载以及大结果集查询的过程中,没有对数据库中间件的读写队列进行流量控制。当出现网络拥堵等情况时,由于数据发送不及时,可能造成数据在数据库中间件内存中堆积,甚至有可能造成数据库中间件服务的内存溢出,进而影响服务的稳定运行。


技术实现要素:



3.针对现有技术中的问题,本技术提供一种数据流量控制方法及装置,能够至少部分地解决现有技术中存在的问题。
4.为解决上述技术问题,本技术提供以下技术方案:
5.第一方面,本技术提供一种数据流量控制方法,包括:
6.接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;
7.在将所述数据存储至数据队列过程中,执行迭代操作:
8.将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;
9.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。
10.第二方面,本技术提供一种数据流量控制装置,包括:
11.数据传输单元,用于接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;
12.迭代操作单元,用于在将所述数据存储至数据队列过程中,执行迭代操作:
13.将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;
14.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。
15.第三方面,本技术提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述数据流量控制方法的步骤。
16.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述数据流量控制方法的步骤。
17.第五方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述数据流量控制方法的步骤。
18.针对现有技术中的问题,本技术提供的数据流量控制方法及装置,能够接收第一
端传输的数据,并将所述数据存储至数据队列中,以提供给第二端,在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对数据流量的控制,避免了内存溢出,保证了服务的稳定性。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术一实施例提供的数据流量控制装置的结构示意图。
21.图2是本技术一实施例提供的数据流量控制方法的流程示意图。
22.图3是本技术一实施例提供的加载时的数据流量控制装置的结构示意图。
23.图4是本技术一实施例提供的加载时的数据流量控制方法的流程示意图。
24.图5是本技术一实施例提供的查询时的数据流量控制装置的结构示意图。
25.图6是本技术一实施例提供的查询时的数据流量控制方法的流程示意图。
26.图7是本技术一实施例提供的数据流量控制方法的流程示意图。
27.图8是本技术图2实施例提供的数据流量控制装置的结构示意图。
28.图9是本技术图4实施例提供的数据流量控制装置的结构示意图。
29.图10是本技术图6实施例提供的数据流量控制装置的结构示意图。
30.图11是本技术一实施例提供的电子设备的实体结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.需要说明的是,本技术提供的数据流量控制方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本技术提供的数据流量控制方法及装置方法及装置的应用领域不做限定。
33.本技术技术方案中对数据的获取、存储、使用及处理等均符合国家法律法规的相关规定。
34.本技术的可以适用的应用场景如图1所示,该场景中,客户端与数据库之间通过数据库中间件进行交互,数据库中间件接收客户端或数据库发送的数据,存储到对应的读写队列中,并发送给另一端。现有技术中,没有对数据库中间件的读写队列进行流量控制,当出现网络拥堵等情况时,由于数据发送不及时,可能造成数据在数据库中间件读写队列内存中堆积,甚至有可能造成数据库中间件读写队列的内存溢出,进而影响服务的稳定运行。
为了解决现有技术中的问题,本技术通过预先设定读写队列上下限阈值进行数据流量控制,解决现有技术中,由于数据发送不及时,可能导致的内存溢出,进而影响服务的稳定运行的问题。
35.下面以数据库中间件作为执行主体为例,对本技术实施例提供的代码同步的数据流量控制方法的具体实现过程进行说明。
36.图2是本技术实施例提供的数据流量控制方法的流程示意图,如图2所示,本技术实施例提供的数据流量控制方法,包括:
37.s201:接收第一端传输的数据;
38.具体地,数据库中间件接收第一端传输的数据,第一端可以是客户端,此时传输的数据为待加载原始数据,同样,第一端也可以是数据库,此时传输的数据为查询结果数据。
39.在将所述数据存储至数据队列过程中,执行如下迭代操作:
40.s202:判断数据队列中的数据量是否超过预设的队列上限阈值;
41.具体地,数据库中间件将一批次数据存入数据队列前,将数据队列中的数据量与预设的队列上限阈值进行比较,判断数据队列中的数据量是否超过预设的队列上限阈值,若数据量超过队列上限阈值,则进入s203,若数据量未超过上限阈值,则进入s205。
42.s203:暂停向数据队列中存储数据;
43.具体地,数据库中间件暂停向数据队列中存储数据,防止数据库中间件中数据队列的内存溢出。
44.s204:判断数据队列中的数据量是否低于预设的队列下限阈值;
45.具体地,由于无论是否向数据队列中存储数据,数据库中间件都在不断地将数据从数据队列中写出,因此,数据库中间件暂停向数据队列中存储数据后,数据队列中的数据量不断下降,此时,实时将数据队列中的数据量与预设的队列下限阈值进行比较,判断数据队列中的数据量是否低于队列下限阈值,若数据量低于队列下限阈值,则进入s205,若数据量未低于队列下限阈值,则保持s203状态并继续将数据从数据队列写出。
46.s205:将数据存储至数据队列中,以提供给第二端。
47.具体地,数据库中间件将数据存储至数据队列中,以提供给第二端,并循环进入s202。
48.本技术实施例的数据流量控制方法,能够接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
49.在一些实施例中,图2所示的数据流量控制方法可以用于数据加载,如图3所示,该加载过程中,客户端向数据库中间件传输待加载原始数据,并经数据加载处理模块处理后存入后端连接写队列中,数据库接收后端连接写队列导入的数据库节点文件数据,因此,所述第一端为客户端,所述第二端为数据库。所述数据为客户端发送的待加载原始数据;所述数据队列为后端连接写队列。
50.图4是图3实施例提供的数据流量控制方法的流程示意图,如图4所示,在上述实施
例的基础上,进一步地,所述预设的队列上限阈值包括第一队列上限阈值,即后端连接写队列上限阈值,所述预设的队列下限阈值包括第一队列下限阈值,即后端连接写队列下限阈值,本技术实施例提供的数据流量控制方法,包括:
51.s401:接收客户端传输的待加载原始数据,待加载原始数据中带有分片字段;
52.具体地,数据库中间件接收客户端传输的待加载原始数据的同时,接收客户端下发的原始加载语句,并将待加载原始数据和原始待加载语句传入数据加载处理模块,待加载原始数据中带有分片字段。
53.s402:计算分片字段的哈希值,根据哈希值对待加载原始数据进行分片,生成数据库节点文件数据;
54.具体地,数据加载处理模块利用路由分片算法计算分片字段的哈希值,根据哈希值对待加载原始数据进行分片,生成数据库节点文件,确定执行加载操作的数据库。并根据确定的数据库和原始加载语句,生成数据库节点加载语句,将数据库节点加载语句通过相应的后端连接下发到对应的数据库。上述路由分片算法是预设的,根据实际需要进行设置,本技术实施例不做限定。
55.例如,分片字段为非负整数,路由分片算法为求余算法,求余算法以数据库节点数量为除数,利用求余算法计算分片字段的哈希值,根据哈希值对待加载原始数据进行分片,生成数据库节点文件数据。其中,计算出的哈希值即为数据库节点文件数据对应的数据库编号。
56.在将数据库节点文件数据存储至后端连接写队列过程中,执行如下迭代操作:
57.s403:判断后端连接写队列中的数据量是否超过后端连接写队列上限阈值;
58.具体地,数据库中间件将一批次数据库节点文件数据存入后端连接写队列前,将后端连接写队列中的数据量与预设的后端连接写队列上限阈值进行比较,判断后端连接写队列中的数据量是否超过后端连接写队列上限阈值,若数据量超过后端连接写队列上限阈值,则进入s204,若数据量未超过后端连接写队列上限阈值,则进入s406。
59.s404:暂停向后端连接写队列中存储数据库节点文件数据;
60.具体地,数据库中间件暂停向后端连接写队列中存储数据库节点文件数据,防止数据库中间件中后端连接写队列的内存溢出。
61.s405:判断后端连接写队列中的数据量是否低于后端连接写队列下限阈值;
62.具体地,由于无论是否向后端连接写队列中存储数据库节点文件数据,数据库中间件都在不断地将数据库节点文件数据从后端连接写队列中写出,因此,数据库中间件暂停向后端连接写队列中存储数据库节点文件数据后,后端连接写队列中的数据量不断下降,此时,实时将后端连接写队列中的数据量与预设的后端连接写队列下限阈值进行比较,判断后端连接写队列中的数据量是否低于后端连接写队列下限阈值,若数据量低于后端连接写队列下限阈值,则进入s406,若数据量未低于后端连接写队列下限阈值,则保持s404状态并继续将数据库节点文件数据从后端连接写队列中写出。
63.s406:将数据库节点文件数据存储至对应的后端连接写队列中。
64.具体地,数据库中间件将数据库节点文件数据存储至对应的后端连接写队列中,由后端连接写队列写入对应的数据库,并循环进入s403。
65.本技术实施例的数据流量控制方法,能够接收客户端传输的待加载原始数据,并
将待加载原始数据处理后得到的数据库节点文件数据存储至后端连接写队列中,以提供给数据库;在将数据库节点文件数据存储至后端连接写队列过程中,执行迭代操作:将后端连接写队列中的数据量与预设的后端连接写队列上限阈值进行比较,当数据量超过后端连接写队列上限阈值,暂停向后端连接写队列中存储数据库节点文件数据;将后端连接写队列中的数据量与预设的后端连接写队列下限阈值进行比较,当数据量低于后端连接写队列下限阈值时,继续向后端连接写队列中存储数据库节点文件数据。实现了对后端连接写队列内存中数据流量的控制,避免了后端连接写队列内存溢出,保证了服务的稳定性。
66.在一些实施例中,图2所示的数据流量控制方法可以用于数据查询,如图5所示,该查询过程中,数据库向数据库中间件传输查询结果数据,并存储至后端连接读队列中,经查询处理模块处理后存入前端连接写队列中,客户端接收前端连接写队列发送的汇总后的查询结果数据,因此,所述第一端为数据库,所述第二端为客户端。所述数据为数据库发送的查询结果数据;所述数据队列包括后端连接读队列和前端连接写队列。
67.图6是图5实施例提供的数据流量控制方法的流程示意图,如图6所示,在上述实施例的基础上,进一步地,所述预设的队列上限阈值包括第二上限阈值和第三队列上限阈值,即后端连接读队列上限阈值和前端连接写队列上限阈值,所述预设的队列下限阈值包括第二队列下限阈值和第三队列下限阈值,即后端连接读队列下限阈值和前端连接写队列下限阈值,本技术实施例提供的数据流量控制方法,包括:
68.s601:接收数据库传输的查询结果数据;
69.具体地,数据库中间件接收客户端下发的查询语句,根据查询语句确定执行查询操作的数据库,将查询语句下发到确定的数据库,数据库执行查询语句,返回查询结果数据。数据库中间件从网卡接收数据库发送到网卡的查询结果数据。
70.在将查询结果数据存储至后端连接读队列过程中,执行如下迭代操作:
71.s602:判断后端连接读队列中的数据量是否超过后端连接读队列上限阈值;
72.具体地,数据库中间件将一批次查询结果数据存入后端连接读队列前,将后端连接读队列中的数据量与预设的后端连接上限阈值进行比较,判断后端连接读队列中的数据量是否超过后端连接读队列上限阈值,若数据量超过后端连接读队列上限阈值,则进入s603,若数据量未超过后端连接读队列上限阈值,则进入s605。
73.s603:暂停向后端连接读队列中存储查询结果数据;
74.具体地,数据库中间件暂停向后端连接读队列中存储查询结果数据,防止数据库中间件中后端连接读队列或前端连接写队列的内存溢出。
75.s604:判断后端连接读队列中的数据量是否低于后端连接读队列下限阈值;
76.具体地,由于无论是否向后端连接读队列中存储查询结果数据,数据库中间件都在不断地将查询结果数据从后端连接读队列中写出,因此,数据库中间件暂停向后端连接读队列中存储查询结果数据后,后端连接读队列中的数据量不断下降,此时,实时将后端连接读队列中的数据量与预设的后端连接读队列下限阈值进行比较,判断后端连接读队列中的数据量是否低于后端连接读队列下限阈值,若数据量低于后端连接读队列下限阈值,则进入s605,若数据量未低于后端连接读队列下限阈值,则保持s604状态并继续将查询结果并继续将查询结果数据从后端连接读队列中写出。
77.s605:将查询结果数据存储至后端连接读队列中;
78.具体地,数据库中间件将查询结果数据存储至后端连接读队列中,并循环进入s602。
79.s606:将查询结果数据从后端连接读队列中写出至查询处理模块进行汇总;
80.具体地,数据库中间件将查询结果数据从后端连接写队列写出到查询处理模块,对查询结果数据进行汇总聚合,得到汇总后的查询结果数据。
81.在将汇总后的查询结果数据存储至前端连接写队列过程中,执行如下迭代操作:
82.s607:判断前端连接写队列中的数据量是否超过前端连接写队列上限阈值;
83.具体地,数据库中间件将一批汇总后的查询结果数据从查询处理模块存入前端连接写队列前,将前端连接写队列中的数据量与预设的前端连接写队列上限阈值进行比较,判断前端连接写队列中的数据量是否超过前端连接写队列上限阈值,若数据量超过前端连接写队列上限阈值,则进入s603,若数据量未超过前端连接写队列上限阈值,则进入s609。
84.s608:判断前端连接写队列中的数据量是否低于前端连接写队列下限阈值;
85.具体地,由于无论是否向前端连接写队列中存储汇总后的查询结果数据,数据库中间件都在不断地将汇总后的查询结果数据从前端连接写队列中写出,因此,数据库中间件暂停向前端连接写队列中存储汇总后的查询结果数据后,前端连接写队列中的数据量不断下降,此时,实时将前端连接写队列中的数据量与预设的前端连接写队列下限阈值进行比较,判断前端连接写队列中的数据量是否低于前端连接写队列下限阈值,若数据量低于前端连接写队列下限阈值,则进入s609,若数据量未低于前端连接写队列下限阈值,则保持s607状态并继续将汇总后的查询结果数据从前端连接写队列中写出。
86.s609:将汇总后的查询结果数据存储至前端连接写队列中;
87.具体地,数据库中间件将汇总后的查询结果数据存储至前端连接写队列中,由前端连接写队列发送至客户端,并循环进入s607。
88.本技术实施例的数据流量控制方法,能够接收数据库传输的查询结果数据,将查询结果数据存储至后端连接读队列中;将后端连接读队列中的查询结果数据写出并进行汇总,得到汇总后的查询结果数据;将汇总后的查询结果数据存储至前端连接写队列,以提供给客户端;将查询结果数据存储至后端连接读队列过程中:将后端连接读队列中的数据量与后端连接读队列上限阈值进行比较,当数据量超过后端连接读队列上限阈值,暂停向后端连接读队列中存储查询结果数据;将后端连接读队列中的数据量与后端连接读队列下限阈值进行比较,当数据量低于后端连接读队列下限阈值时,继续向后端连接读队列中存储查询结果数据;将汇总后的查询结果数据存储前端连接写队列过程中:将前端连接写队列中的数据量与前端连接写队列上限阈值进行比较,当数据量超过前端连接写队列上限阈值,暂停向前端连接写队列中存储汇总后的查询结果数据;将前端连接写队列中的数据量与前端连接写队列下限阈值进行比较,当数据量低于前端连接写队列下限阈值时,继续向前端连接写队列中存储汇总后的查询结果数据。实现了对后端连接读队列和前端连接写队列内存中数据流量的控制,避免了后端连接读队列和前端连接写队列内存溢出,保证了服务的稳定性。
89.在上述各实施例的基础上,进一步地,接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端之前,还包括:
90.根据所述数据队列的内存设置所述队列上限阈值和所述队列上限阈值。
91.具体地,数据库中间件启动时,分别根据后端连接写队列、后端连接读队列和前端连接写队列的内存大小,设置对应的第一队列上限阈值和第一队列下限阈值、第二队列上限阈值和第二队列下限阈值以及第三队列上限阈值和第三队列下限阈值。
92.下面以数据库中间件进行数据加载为例,对本技术实施例提供的数据流量控制方法的具体实现过程进行说明,具体实现流程如图7所示。其中,第一端为客户端,第二端为数据库,共有3个数据库节点,后端连接写队列内存为256b,分片字段为非负整数,路由分片算法为求余算法,
93.s701:设置后端连接写队列上限阈值和下限阈值。数据库中间件启动时,根据后端连接写队列内存256b设置后端连接写队列上限阈值为240b,后端连接写队列下限阈值为128b。
94.s702:接收客户端传输的待加载原始数据和原始加载语句。数据库中间件接收客户端传输的待加载原始数据和原始加载语句,待加载原始数据中有四个分片,分片字段分别为0,1,2,3。
95.s703:计算分片字段的哈希值,根据计算得到的哈希值对待加载原始数据进行分片,生成数据库节点文件,确定执行加载操作的数据库。数据库中间件将分片字段分别对3求余,得到0,1,2,0,即为分片字段的哈希值。根据哈希值,对待加载原始数据进行分片,分片字段哈希值相同的数据分为一个分片,得到数据库节点数据,为了便于描述,分别编号为0,1,2。因此需要执行加载操作的数据库为编号为0,1,2的数据库。
96.s704:生成数据库节点加载语句并下发到对应的数据库。数据库中间件根据执行加载操作的数据库和原始加载语句,生成数据库节点加载语句,并下发到对应的数据库。
97.s705:判断后端连接写队列中的数据量是否超过240b。数据库中间件将一批数据库节点文件数据存储至后端连接写队列前,比较后端连接写队列中的数据量是否超过240b,若数据量未超过240b,进入第八步,若数据量超过240b,进入第六步。
98.s706:暂停向后端连接写队列中存储数据库节点文件数据。
99.s707:判断后端连接写队列中的数据量是否小于128b。由于无论是否向后端连接写队列中存储数据,数据库中间件都在不断地将数据从后端连接写队列中写出,因此,数据库中间件暂停向后端连接写队列中存储数据后,后端连接写队列中的数据量不断下降,此时,实时将后端连接写队列中的数据量与预设的128b进行比较,判断后端连接写队列中的数据量是否低于128b,若数据量低于128b,进入第八步,若数据量不低于128b,保持原有状态和操作不变。
100.s708:将数据库节点文件数据存储至对应的后端连接写队列中。数据库中间件分别将0,1,2号数据库节点数据存储至与0,1,2号数据库连接的后端连接写队列中,再将数据库节点文件数据从后端连接写队列写入对应的数据库。
101.本实施例提供的数据流量控制方法,能够接收客户端传输的数据,并将所述数据存储至后端连接写队列中,以提供给数据库;在将数据存储至后端连接写队列过程中,执行迭代操作:将后端连接写队列中的数据量与的队列上限阈值进240b行比较,当所述数据量超过240b,暂停向后端连接写队列中存储数据;将后端连接写队列中的数据量与预设的队列下限阈值128b进行比较,当数据量低于128b时,继续向后端连接写队列中存储数据。实现了对后端连接写队列内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
102.基于同一发明构思,本技术实施例还提供了一种数据流量控制装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于数据流量控制装置解决问题的原理与数据流量控制方法相似,因此数据流量控制装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
103.图8是本技术图2实施例提供的数据流量控制装置的结构示意图,如图8所示,本技术实施例提供的数据流量控制装置包括数据传输单元1010和迭代操作单元1020,其中:
104.数据传输单元1010用于接收第一端传输的数据,并将数据存储至数据队列中,以提供给第二端;迭代操作单元1020用于在将数据存储至数据队列的过程中,执行迭代操作:将数据队列中的数据量与预设的队列上限阈值进行比较,当数据量超过队列上限阈值,暂停向数据队列中存储数据。
105.具体地,数据传输单元1010在接收第一端传输的数据后,将数据存储至数据库中间件中的数据队列中,以提供给第二端。
106.在将数据存储至数据队列过程中,迭代操作单元1020执行迭代操作,包括:
107.将数据队列中的数据量与预设的队列上限阈值进行比较,当数据量超过队列上限阈值,暂停向数据队列中存储数据;
108.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据;
109.本技术实施例的数据流量控制装置,能够接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
110.图9是本技术图4实施例提供的数据流量控制装置的结构示意图,如图9所示,在上述各实施例的基础上,进一步地,数据传输单元1010用于执行图3中数据加载处理模块和后端连接写队列的功能。迭代操作单元1020用于执行图3中内存判断模块和读写控制模块的功能。其中:
111.数据加载处理模块用于利用路由分片算法计算分片字段的哈希值,根据哈希值对待加载原始数据进行分片,生成数据库节点文件,确定执行加载操作的数据库。并根据确定的数据库和原始加载语句,生成数据库节点加载语句,将数据库节点加载语句通过相应的后端连接下发到对应的数据库。上述路由分片算法是预设的,根据实际需要进行设置,本技术实施例不做限定。
112.后端连接写队列用于接收和存储数据库节点文件数据,以提供给数据库。
113.内存判断模块用于在将一批次数据库节点文件数据存入后端连接写队列前,将后端连接写队列中的数据量与预设的后端连接写队列上限阈值进行比较,判断后端连接写队列中的数据量是否超过后端连接写队列上限阈值;以及在暂停向后端连接写队列存储数据库节点文件数据后,实时将后端连接写队列中的数据量与预设的后端连接写队列下限阈值
进行比较,判断后端连接写队列中的数据量是否低于后端连接写队列下限阈值。
114.读写控制模块用于根据内存判断模块的判断结果,对数据的读写进行控制,当后端连接写队列中的数据量超过后端连接写队列上限阈值时,暂停向后端连接写队列中存储数据库节点文件数据;当后端连接写队列中的数据量低于后端连接写队列下限阈值时,继续向后端连接写队列中存储数据库节点文件数据。
115.本技术实施例的数据流量控制装置,能够接收客户端传输的待加载原始数据,并将待加载原始数据处理后得到的数据库节点文件数据存储至后端连接写队列中,以提供给数据库;在将数据库节点文件数据存储至后端连接写队列过程中,执行迭代操作:将后端连接写队列中的数据量与预设的后端连接写队列上限阈值进行比较,当数据量超过后端连接写队列上限阈值,暂停向后端连接写队列中存储;将后端连接写队列中的数据量与预设的后端连接写队列下限阈值进行比较,当数据量低于后端连接写队列下限阈值时,继续向后端连接写队列中存储数据。实现了对后端连接写队列内存中数据流量的控制,避免了后端连接写队列内存溢出,保证了服务的稳定性。
116.图10是本技术图6实施例提供的数据流量控制装置的结构示意图,如图10所示,在上述各实施例的基础上,进一步地,数据传输单元1010用于执行图5中查询处理模块、后端连接读队列和前端连接写队列的功能。迭代操作单元1020用于执行图5中内存判断模块和读写控制模块的功能。其中:
117.查询处理模块用于将后端连接读队列中写出的查询结果数据进行汇总,得到汇总后的查询结果数据。
118.后端连接读队列用于接收和存储查询结果数据,以写出到查询处理模块进行汇总。
119.前端连接写队列用于接收和存储汇总后的查询结果数据,以提供给客户端。
120.内存判断模块用于:
121.在将一批次查询结果数据存入后端连接读队列前,将后端连接读队列中的数据量与预设的后端连接读队列上限阈值进行比较,判断后端连接读队列中的数据量是否超过后端连接读队列上限阈值;以及在暂停向后端连接读队列存储查询结果数据后,实时将后端连接读队列中的数据量与预设的后端连接读队列下限阈值进行比较,判断后端连接读队列中的数据量是否低于后端连接读队列下限阈值;
122.在将一批次汇总后的查询结果数据存入前端连接写队列前,将前端连接写队列中的数据量与预设的前端连接写队列上限阈值进行比较,判断前端连接写队列中的数据量是否超过前端连接写队列上限阈值;以及在暂停向前端连接写队列存储汇总后的查询结果数据后,实时将前端连接写队列中的数据量与预设的前端连接写队列下限阈值进行比较,判断前端连接写队列中的数据量是否低于前端连接写队列下限阈值。
123.读写控制模块用于根据内存判断模块的判断结果,对数据的读写进行控制:
124.当后端连接读队列中的数据量超过后端连接读队列上限阈值时,暂停向后端连接读队列中存储数据;当后端连接读队列中的数据量低于后端连接读队列下限阈值时,继续向后端连接写队列中存储数据;
125.当前端连接写队列中的数据量超过前端连接写队列上限阈值时,暂停向前端连接写队列中存储数据;当前端连接写队列中的数据量低于前端连接写队列下限阈值时,继续
向前端连接写队列中存储数据。
126.本技术实施例的数据流量控制装置,能够接收数据库传输的查询结果数据,将查询结果数据存储至后端连接读队列中;将后端连接读队列中的查询结果数据写出并进行汇总,得到汇总后的查询结果数据;将汇总后的查询结果数据存储至前端连接写队列,以提供给客户端;将查询结果数据存储至后端连接读队列过程中:将后端连接读队列中的数据量与后端连接读队列上限阈值进行比较,当数据量超过后端连接读队列上限阈值,暂停向后端连接读队列中存储查询结果数据;将后端连接读队列中的数据量与后端连接读队列下限阈值进行比较,当数据量低于后端连接读队列下限阈值时,继续向后端连接读队列中存储查询结果数据;将汇总后的查询结果数据存储前端连接写队列过程中:将前端连接写队列中的数据量与前端连接写队列上限阈值进行比较,当数据量超过前端连接写队列上限阈值,暂停向前端连接写队列中存储汇总后的查询结果数据;将前端连接写队列中的数据量与前端连接写队列下限阈值进行比较,当数据量低于前端连接写队列下限阈值时,继续向前端连接写队列中存储汇总后的查询结果数据。实现了对后端连接读队列和前端连接写队列内存中数据流量的控制,避免了后端连接读队列和前端连接写队列内存溢出,保证了服务的稳定性。
127.本技术实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
128.需要说明的是,本技术实施例提供的代码同步的冲突处理方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本技术实施例对代码同步的冲突处理方法及装置的应用领域不做限定。
129.图11是本发明一实施例提供的电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)1101、通信接口(communications interface)1102、存储器(memory)1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信。处理器1101可以调用存储器1103中的逻辑指令,以执行如下方法:
130.接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;
131.在将所述数据存储至数据队列过程中,执行迭代操作:
132.将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;
133.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。
134.本技术实施例的电子设备,能够接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
135.此外,上述的存储器1103中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
136.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
137.接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;
138.在将所述数据存储至数据队列过程中,执行迭代操作:
139.将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;
140.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。
141.本技术实施例的计算机程序产品,能够接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
142.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:
143.接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;
144.在将所述数据存储至数据队列过程中,执行迭代操作:
145.将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;
146.将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。
147.本技术实施例的可读存储介质,能够接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。实现了对内存中数据流量的控制,避免了内存溢出,保证了服务的稳定性。
148.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
149.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
150.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
151.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
152.在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
153.以上所述的具体实施例,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施例而已,并不用于限定本技术的保护范围,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:


1.一种数据流量控制方法,其特征在于,包括:接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。2.根据权利要求1所述的数据流量控制方法,其特征在于,所述第一端为客户端,所述第二端为数据库,所述数据为所述客户端发送的待加载原始数据;所述数据队列为后端连接写队列;所述接收第一端传输的数据,并将所述数据存储至数据队列中,包括:接收所述客户端传输的待加载原始数据,所述待加载原始数据中带有分片字段;计算所述分片字段的哈希值,根据所述哈希值对所述待加载原始数据进行分片,生成数据库节点文件数据;将所述数据库节点文件数据存储至对应的所述后端连接写队列中,以提供给第二端。3.根据权利要求2所述的数据流量控制方法,其特征在于,所述预设的队列上限阈值包括第一队列上限阈值,所述预设的队列下限阈值包括第一队列下限阈值;所述在将所述数据存储至数据队列过程中,执行迭代操作,包括:将所述数据库节点文件数据存储至所述后端连接写队列过程中:将所述后端连接写队列中的数据量与所述第一队列上限阈值进行比较,当所述数据量超过所述第一队列上限阈值,暂停向所述后端连接写队列中存储所述数据库节点文件数据;将所述后端连接写队列中的数据量与所述第一队列下限阈值进行比较,当所述数据量低于所述第一队列下限阈值时,继续向所述后端连接读队列中存储所述数据库节点文件数据。4.根据权利要求1所述的数据流量控制方法,其特征在于,所述第一端为数据库,所述第二端为客户端,所述数据为所述数据库基于所述客户端的查询请求返回的查询结果数据;所述数据队列包括前端连接写队列及后端连接读队列;所述接收第一端传输的数据,并将所述数据存储至数据队列中,包括:接收所述数据库传输的查询结果数据,将所述查询结果数据存储至所述后端连接读队列中;将所述后端连接读队列中的所述查询结果数据写出并进行汇总,得到汇总后的查询结果数据;将所述汇总后的查询结果数据存储至所述前端连接写队列,以提供给第二端。5.根据权利要求4所述的数据流量控制方法,其特征在于,所述预设的队列上限阈值包括第二队列上限阈值,所述预设的队列下限阈值包括第二队列下限阈值;所述在将所述数据存储至数据队列过程中,执行迭代操作,包括:将所述查询结果数据存储至所述后端连接读队列过程中:将所述后端连接读队列中的数据量与所述第二队列上限阈值进行比较,当所述数据量超过所述第二队列上限阈值,暂停向所述后端连接读队列中存储所述查询结果数据;
将所述后端连接读队列中的数据量与所述第二队列下限阈值进行比较,当所述数据量低于所述第二队列下限阈值时,继续向所述后端连接读队列中存储所述查询结果数据。6.根据权利要求4所述的数据流量控制方法,其特征在于,所述预设的队列上限阈值包括第三队列上限阈值,所述预设的队列下限阈值包括第三队列下限阈值;所述在将所述数据存储至数据队列过程中,执行迭代操作包括:将汇总后的查询结果数据存储至所述前端连接写队列过程中:将所述前端连接写队列中的数据量与所述第三队列上限阈值进行比较,当所述数据量超过所述第三队列上限阈值,暂停向所述前端连接写队列中存储所述汇总后的查询结果数据;将所述前端连接写队列中的数据量与所述第三队列下限阈值进行比较,当所述数据量低于所述第三队列下限阈值时,继续向所述前端连接写队列中存储所述汇总后的查询结果数据。7.根据权利要求1所述的数据流量控制方法,其特征在于,接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端之前,还包括:根据所述数据队列的内存设置所述队列上限阈值和所述队列上限阈值。8.一种数据流量控制装置,其特征在于,包括:数据传输单元,用于接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;迭代操作单元,用于在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。9.一种计算机电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据流量控制方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据流量控制方法的步骤。11.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7任一项所述的数据流量控制方法的步骤。

技术总结


本申请提供一种数据流量控制方法及装置,涉及金融领域,包括:接收第一端传输的数据,并将所述数据存储至数据队列中,以提供给第二端;在将所述数据存储至数据队列过程中,执行迭代操作:将所述数据队列中的数据量与预设的队列上限阈值进行比较,当所述数据量超过所述队列上限阈值,暂停向所述数据队列中存储数据;将所述数据队列中的数据量与预设的队列下限阈值进行比较,当所述数据量低于所述队列下限阈值时,继续向所述数据队列中存储数据。本申请能够实现对数据流量的控制,避免内存溢出,保证服务的稳定性。保证服务的稳定性。保证服务的稳定性。


技术研发人员:

周烨 任重远 钟悦 黄熠珂

受保护的技术使用者:

中国工商银行股份有限公司

技术研发日:

2022.08.18

技术公布日:

2022/11/22

本文发布于:2024-09-20 19:43:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/18702.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:队列   数据   阈值   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议