CN110278159A - 数据分流的控制方法及装置、存储介质、电子装置 - Google Patents
数据分流的控制方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN110278159A CN110278159A CN201910428649.6A CN201910428649A CN110278159A CN 110278159 A CN110278159 A CN 110278159A CN 201910428649 A CN201910428649 A CN 201910428649A CN 110278159 A CN110278159 A CN 110278159A
- Authority
- CN
- China
- Prior art keywords
- queue
- queues
- business datum
- distributed
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000001105 regulatory effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 241000251468 Actinopterygii Species 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据分流的控制方法及装置、存储介质、电子装置,其中,该方法包括:获取单位时间内待分发的业务数据的数据量;根据所述数据量计算用于传输所述业务数据的队列数量;将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。通过本发明,解决了相关技术中无法控制业务数据在队列中的流速的技术问题,提高了业务数据的处理效率。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据分流的控制方法及装置、存储介质、电子装置。
背景技术
相关技术中,在数据处理的过程中,由于数据分发系统与下游受理系统之间处理能力不对等,经常需要进行数据的控速。此时若数据分发速度过高,则会对下游系统造成较大压力,严重时会引发下游系统宕机而发生故障;而若分发速度过低,则处理时长会较长,可能造成业务失效的影响。比如,平台发奖场景下,原本应当一天内发出的奖品花了两天时间才处理结束,用户未收到奖品下发通知奖品会导致投诉。
相关技术的方案中,在进行数据分流时,为保证数据的传输效率,会采用尽可能多的资源来传输数据,如申请号为CN201510966860的相关技术中,公开了一种业务数据的处理方法和装置,将获取的业务数据尽可能多的分发给处理器进行处理,这样,一方面浪费了传输资源,另一方面也导致了下游系统的不可控性,导致了整个系统的不稳定性。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据分流的控制方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种数据分流的控制方法,包括:获取单位时间内待分发的业务数据的数据量;根据所述数据量计算用于传输所述业务数据的队列数量;将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
可选的,根据所述数据量计算用于传输所述业务数据的队列数量包括:获取所述业务数据在所述队列下游系统的处理速率;将所述数据量除以所述处理速率得到最少队列数量;将所述最少队列数量加上预设缓冲队列数后,得到所述队列数量。
可选的,在获取所述业务数据在队列下游系统的处理速率之前,所述方法还包括:判断所述业务数据是否为首次加载队列;在所述业务数据为首次加载队列时,将所述业务数据分发至一个队列的队列下游系统;在所述业务数据不为首次加载队列时,将所述业务数据分发至历史队列的队列下游系统,其中,所述队列下游系统定时反馈所述业务数据的处理速率,所述历史队列为在当前时间之前传输所述业务数据的队列。
可选的,将所述业务数据分发至所述队列数量的队列中包括:在队列集合中选择所述队列数量个目标队列;将所述业务数据均衡分发至每个目标队列中。
可选的,在队列集合中选择所述队列数量个目标队列包括:确定所述业务数据的业务类型;在所述队列集合中选择所述队列数量个与所述业务类型对应的目标队列。
可选的,在队列集合中选择所述队列数量个目标队列包括:确定所述队列集合中各个队列的优先级;将所述队列集合中优先级最高的所述队列数量个队列确定为目标队列。
可选的,将所述业务数据分发至所述队列数量的队列中包括:判断所述队列数量个目标队列与历史队列是否一致,其中,所述历史队列为在当前时间之前传输所述业务数据的队列;在所述目标队列与历史队列一致时,将所述业务数据分发至所述历史队列,在所述目标队列与历史队列不一致时,将所述历史队列调整为所述目标队列后,将所述业务数据分发至所述目标队列。
可选的,在将所述历史队列调整为所述目标队列之后,所述方法还包括:将所述历史队列未处理完成的剩余数据转移至所述目标队列。
可选的,在根据所述数据量计算用于传输所述业务数据的队列数量之后,所述方法还包括:将所述数据量除以所述队列数量得到的商值确定为每个队列的限速值;将所述限速值分配给所述队列下游系统,以使所述队列下游系统在所述单位时间内最多处理与所述限速值对应的业务数据。
根据本发明的另一个实施例,提供了一种数据分流的控制装置,包括:获取模块,用于获取单位时间内待分发的业务数据的数据量;计算模块,用于根据所述数据量计算用于传输所述业务数据的队列数量;分发模块,用于将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
可选的,所述计算模块包括:获取单元,用于获取所述业务数据在所述队列下游系统的处理速率;第一计算单元,用于将所述数据量除以所述处理速率得到最少队列数量;第二计算单元,用于将所述最少队列数量加上预设缓冲队列数后,得到所述队列数量。
可选的,所述计算模块还包括:判断单元,用于在所述获取单元获取所述业务数据在队列下游系统的处理速率之前,判断所述业务数据是否为首次加载队列;分发单元,用于在所述业务数据为首次加载队列时,将所述业务数据分发至一个队列的队列下游系统;在所述业务数据不为首次加载队列时,将所述业务数据分发至历史队列的队列下游系统,其中,所述队列下游系统定时反馈所述业务数据的处理速率,所述历史队列为在当前时间之前传输所述业务数据的队列。
可选的,所述分发模块包括:选择单元,用于在队列集合中选择所述队列数量个目标队列;分发单元,用于将所述业务数据均衡分发至每个目标队列中。
可选的,所述选择单元包括:确定子单元,用于确定所述业务数据的业务类型;选择子单元,用于在所述队列集合中选择所述队列数量个与所述业务类型对应的目标队列。
可选的,所述分发模块包括:判断单元,用于判断所述队列数量个目标队列与历史队列是否一致,其中,所述历史队列为在当前时间之前传输所述业务数据的队列;处理单元,用于在所述目标队列与历史队列一致时,将所述业务数据分发至所述历史队列,在所述目标队列与历史队列不一致时,将所述历史队列调整为所述目标队列后,将所述业务数据分发至所述目标队列。
可选的,所述装置还包括:确定模块,用于在所述计算模块根据所述数据量计算用于传输所述业务数据的队列数量之后,将所述数据量除以所述队列数量得到的商值确定为每个队列的限速值;限速模块,用于将所述限速值分配给所述队列下游系统,以使所述队列下游系统在所述单位时间内最多处理与所述限速值对应的业务数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在获取单位时间内待分发的业务数据的数据量后,根据该数据量来计算用于传输业务数据的队列数量,最后利用计算出的队列数量,将业务数据分发队列中,通过实际的数据量控制传输数据的队列数量,进一步控制了业务数据在每个队列中的流速,解决了相关技术中无法控制业务数据在队列中的流速的技术问题,提高了业务数据的处理效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据分流的控制服务器结构框图;
图2是根据本发明实施例的一种数据分流的控制方法流程图;
图3是本发明实施例待分发数据入库的流程示意图;
图4是本发明实施例的数据分发的场景示意图;
图5是本发明实施例的队列分配调控逻辑示意图;
图6是根据本发明实施例的一种数据分流的控制装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种数据分流的控制服务器结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据分流的控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据分流的控制方法,图2是根据本发明实施例的一种数据分流的控制方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取单位时间内待分发的业务数据的数据量;
在本实施例中,单位时间内待分发的业务数据的数据量可以是业务数据的每秒事务处理量(TPS,Transaction Per Second),是数据或者消息的条数或者是数据容量;
步骤S204,根据数据量计算用于传输业务数据的队列数量;
本实施例的队列(Queue)是一种特殊的线性表,是一种先进先出(FIFO)的数据结构,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,在队列中,进行插入操作的端称为队尾,进行删除操作的端称为队头;
步骤S206,将业务数据分发至队列数量的队列中,其中,每个队列连通一个队列下游系统。本实施例的队列下游系统为接收和处理业务数据的受理平台,可以是另一个数据分发系统,也可以是一个业务处理系统,如单线程处理器等。
通过上述步骤,在获取单位时间内待分发的业务数据的数据量后,根据该数据量来计算用于传输业务数据的队列数量,最后利用计算出的队列数量,将业务数据分发队列中,通过实际的数据量控制传输数据的队列数量,进一步控制了业务数据在每个队列中的流速,解决了相关技术中无法控制业务数据在队列中的流速的技术问题,提高了业务数据的处理效率。
本实施例可以应用在业务数据在传输过程中,使用队列进行分发的场景中,可以应用在上游系统与下游系统之间的交互,以实现业务数据在上游系统与下游系统之间的流速控制。
在本实施例的一个实施方式中,根据数据量计算用于传输业务数据的队列数量包括:
S11,获取业务数据在队列下游系统的处理速率;
可选的,在获取业务数据在队列下游系统的处理速率之前,方法还包括:判断业务数据是否为首次加载队列;在业务数据为首次加载队列时,将业务数据分发至一个队列的队列下游系统;在业务数据不为首次加载队列时,将业务数据分发至历史队列的队列下游系统,其中,队列下游系统定时反馈业务数据的处理速率,历史队列为在当前时间之前传输业务数据的队列。在这个过程中,业务处理的队列个数会由最开始的一个队列,增加至目标个数,实现数据分流的自适应。本实施例的队列下游系统的处理速率还可以是最大理论速率,或者是某个特定的预设值。
S12,将数据量除以处理速率得到最少队列数量;
在一个示例中,数据量M为1000条,处理速率n为100条/单位时间,则可以计算得到最少队列数量N为10个。
S13,将最少队列数量加上预设缓冲队列数后,得到队列数量。本实施例的预设缓冲队列是本实施例在传输业务数据时的一个应急保护策略,可以在队列出现小范围临时故障时,仍能保证数据的正常传输,所以设置预设缓冲队列数作为预留buffer,可以采用N+1=11,作为最终的队列数量。
在本实施例的一个实施方式中,将业务数据分发至队列数量的队列中包括:
S21,在队列集合中选择队列数量个目标队列;
在本实施例中,选择队列包括多个策略,在一个示例中,根据业务数据的业务类型来选择目标队列,在队列集合中选择队列数量个目标队列包括:确定业务数据的业务类型;在队列集合中选择队列数量个与业务类型对应的目标队列。业务类型根据业务数据的属性信息来确定,属性信息如数据源,数据受理方,数据分类,数据优先级等。
在另一个示例中,在队列集合中选择队列数量个目标队列包括:确定队列集合中各个队列的优先级;将队列集合中优先级最高的队列数量个队列确定为目标队列。在该示例中,队列集合中的队列均是通用的,但各个队列存在差异,如传输质量,带宽,稳定性等,形成各个队列的优先级,在选择目标队列时,优选优先级较高的队列。
S22,将业务数据均衡分发至每个目标队列中。
可选的,将业务数据分发至队列数量的队列中包括:判断队列数量个目标队列与历史队列是否一致,其中,历史队列为在当前时间之前传输业务数据的队列;在目标队列与历史队列一致时,将业务数据分发至历史队列,在目标队列与历史队列不一致时,将历史队列调整为目标队列后,将业务数据分发至目标队列。进一步的,在将历史队列调整为目标队列之后,还包括:将历史队列未处理完成的剩余数据转移至目标队列,以保证业务数据的完整性。
可选的,在根据数据量计算用于传输业务数据的队列数量之后,还包括:将数据量除以队列数量得到的商值确定为每个队列的限速值,限速值用于限制队列的最高流速;将限速值分配给队列下游系统,以使队列下游系统在单位时间内最多处理与限速值对应的业务数据。本实施例的限速值用于,加入最后一道流控策略,由于前面的计算队列的过程是留有buffer的,即实际分配队列数量比大于理论的最少计算值,通过计算出每个队列的限速值为X=M/N,以实现精确控速(控速不等于限速,如限速100tps指的是每秒处理速度不超过100,而控速100tps则需要精确控制处理速度就是每秒100tps),在单线程的控速方案中,可以使用计数器实现,即1s内只允许执行数据量为X,其余时间段等待即可。
在本实施例中,在获取待分发的业务数据的数据量之前,还需要进行数据入库,图3是本发明实施例待分发数据入库的流程示意图,为了支持多种业务诉求,入库平台设计通用的数据格式,可以使用biz Code区分不同业务来源。各业务方可以依据多种数据传输方式将数据落库,可能的传输方式包括RPC(Remote Procedure Call,远程过程调用)、数据批量导入、异步消息等。数据传输过来之后,经过一系列入库处理,流程包括:
格式转换,将各业务方各自的数据转换为平台统一的数据格式;
数据校验,将一些明显错误的数据过滤掉;
将数据落DB(数据库);DB设计这块可以根据实际场景进行确定,如选择MYSQL、ORACLE、HBASE等。若数据量特别大,可以进行分库分表等增加DB容量的操作。
图4是本发明实施例的数据分发的场景示意图,其中,调控组件用于实现数据分流的控制,数据分发协调过程中,在该场景的系统中,包括:
数据捞取组件:用于将数据从暂存的DB中捞取出来,并传输给分发组件;为避免数据捞取本身成为整个流程的瓶颈,需要此部分吞吐量尽量大,一般可以使用多线程集群work的方式进行数据捞取;为了保证可靠性,DB中的数据可能是有状态的,此时捞取组件每次只捞取还未处理的数据。
调控组件:该组件连接和控制分发组件,该组件主要是整个系统的核心,其会依赖单条数据处理RT时间,以及预期的TPS量,运算出当前需要使用的队列数量;各组件之间在数据交互时,调控组件是核心,会下发控制信息至分发组件、处理器,处理器也会上报信息至调控组件。
队列数量的计算方法如下:单条数据处理时间RT ms代表,一个队列满负荷运行时,能够处理的数据条数n=1000/RT;
则要达到预期的TPS量M,则需要的队列数量N=M/n=M*RT/1000;
在运算时,会预留buffer,也即实际采用N+1的队列数量;
分发组件:该组件用于将DB中捞取的数据分发到队列中;此时队列的个数由调控组件分配得到,分发组件用于均衡地将数据置入选择的多个队列中。
多队列(队列1~队列n):队列由调控组件分配得到,每个队列是业务独有的,队列中的数据只会归属于同一种业务bizCode;此处的队列是一个逻辑上的概念,具体的实现方式可以是一些队列中间件(比如zqueue)、也可以是开源的软件MQ,亦可以是应用程序内一段逻辑,数据持久化在DB内。
处理器(单线程):此组件用于从队列中获取到待处理数据,逐条进行处理,一个队列对应一个处理器,处理器是队列下游系统的一个具体实例;处理器可能的执行操作有两种:1)真实业务处理逻辑,比如rpc调用,比如本地的一段代码;2)若决策其将某队列废弃时,该处理器就会替身为分发组件,将还未处理的数据平均地分发至其他队列中。
图5是本发明实施例的队列分配调控逻辑示意图,在计算处理器的处理速率时,各处理器会定时将规定时间内处理的数据量上报至调控组件,比如10s内处理的数据量。调控组件会依据上报来的数据,计算出单条数据的处理时长RT。队列分配的调控流程包括:
S51,系统启动后,加载配置数据,此时可以获取到某个业务配置流控值M;
S52,步骤S52进行判断,当前是否是首次加载数据;
S53,若当前首次加载处理,则尝试分配一个队列;否则跳过此步骤;
S54,当前业务已运行的队列的运行,经过N分钟的运行后,上报数据至调控组件,调控组件可以计算出当前业务单条数据处理平均RT时间;
S55,调控组件运算出当前业务需要的总的队列数量,队列数量可能会多次变化,在大批量处理时,下游业务系统可能在不同的时间段,系统负荷不一样,性能也不一样,导致单条数据处理RT时间会发生变化;
S56,判断当前业务需要的队列数量是否发生变化;
S57,若队列数量发生了变化,则需要向分发组件发送指令,调整队列个数;此时若新增队列量,则分发组件分发的队列数量增大;若队列个数减小,则调控组件会指出kill(剔除)掉的队列id,分发组件不再向这个队列分发数据;
S58,队列数量发生变化,调控组件会向处理器组件发送指令,若某队列被kill,则该队列对应的处理器,将剩余数据分发至其余队列。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据分流的控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种数据分流的控制装置的结构框图,可以应用在服务器或处理器中,或者应用在一个控件或组件实体中,如图6所示,该装置包括:获取模块60,计算模块62,分发模块64,其中,
获取模块60,用于获取单位时间内待分发的业务数据的数据量;
计算模块62,用于根据所述数据量计算用于传输所述业务数据的队列数量;
分发模块64,用于将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
可选的,所述计算模块包括:获取单元,用于获取所述业务数据在所述队列下游系统的处理速率;第一计算单元,用于将所述数据量除以所述处理速率得到最少队列数量;第二计算单元,用于将所述最少队列数量加上预设缓冲队列数后,得到所述队列数量。
可选的,所述计算模块还包括:判断单元,用于在所述获取单元获取所述业务数据在队列下游系统的处理速率之前,判断所述业务数据是否为首次加载队列;分发单元,用于在所述业务数据为首次加载队列时,将所述业务数据分发至一个队列的队列下游系统;在所述业务数据不为首次加载队列时,将所述业务数据分发至历史队列的队列下游系统,其中,所述队列下游系统定时反馈所述业务数据的处理速率,所述历史队列为在当前时间之前传输所述业务数据的队列。
可选的,所述分发模块包括:选择单元,用于在队列集合中选择所述队列数量个目标队列;分发单元,用于将所述业务数据均衡分发至每个目标队列中。
可选的,所述选择单元包括:确定子单元,用于确定所述业务数据的业务类型;选择子单元,用于在所述队列集合中选择所述队列数量个与所述业务类型对应的目标队列。
可选的,所述分发模块包括:判断单元,用于判断所述队列数量个目标队列与历史队列是否一致,其中,所述历史队列为在当前时间之前传输所述业务数据的队列;处理单元,用于在所述目标队列与历史队列一致时,将所述业务数据分发至所述历史队列,在所述目标队列与历史队列不一致时,将所述历史队列调整为所述目标队列后,将所述业务数据分发至所述目标队列。
可选的,所述装置还包括:确定模块,用于在所述计算模块根据所述数据量计算用于传输所述业务数据的队列数量之后,将所述数据量除以所述队列数量得到的商值确定为每个队列的限速值;限速模块,用于将所述限速值分配给所述队列下游系统,以使所述队列下游系统在所述单位时间内最多处理与所述限速值对应的业务数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例的一个方面中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取单位时间内待分发的业务数据的数据量;
S2,根据所述数据量计算用于传输所述业务数据的队列数量;
S3,将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例的一个方面中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取单位时间内待分发的业务数据的数据量;
S2,根据所述数据量计算用于传输所述业务数据的队列数量;
S3,将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据分流的控制方法,其特征在于,包括:
获取单位时间内待分发的业务数据的数据量;
根据所述数据量计算用于传输所述业务数据的队列数量;
将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
2.根据权利要求1所述的方法,其特征在于,根据所述数据量计算用于传输所述业务数据的队列数量包括:
获取所述业务数据在所述队列下游系统的处理速率;
将所述数据量除以所述处理速率得到最少队列数量;
将所述最少队列数量加上预设缓冲队列数后,得到所述队列数量。
3.根据权利要求2所述的方法,其特征在于,在获取所述业务数据在队列下游系统的处理速率之前,所述方法还包括:
判断所述业务数据是否为首次加载队列;
在所述业务数据为首次加载队列时,将所述业务数据分发至一个队列的队列下游系统;在所述业务数据不为首次加载队列时,将所述业务数据分发至历史队列的队列下游系统,其中,所述队列下游系统定时反馈所述业务数据的处理速率,所述历史队列为在当前时间之前传输所述业务数据的队列。
4.根据权利要求1所述的方法,其特征在于,将所述业务数据分发至所述队列数量的队列中包括:
在队列集合中选择所述队列数量个目标队列;
将所述业务数据均衡分发至每个目标队列中。
5.根据权利要求4所述的方法,其特征在于,在队列集合中选择所述队列数量个目标队列包括:
确定所述业务数据的业务类型;
在所述队列集合中选择所述队列数量个与所述业务类型对应的目标队列。
6.根据权利要求4所述的方法,其特征在于,在队列集合中选择所述队列数量个目标队列包括:
确定所述队列集合中各个队列的优先级;
将所述队列集合中优先级最高的所述队列数量个队列确定为目标队列。
7.根据权利要求1所述的方法,其特征在于,将所述业务数据分发至所述队列数量的队列中包括:
判断所述队列数量个目标队列与历史队列是否一致,其中,所述历史队列为在当前时间之前传输所述业务数据的队列;
在所述目标队列与历史队列一致时,将所述业务数据分发至所述历史队列;在所述目标队列与历史队列不一致时,将所述历史队列调整为所述目标队列后,将所述业务数据分发至所述目标队列。
8.一种数据分流的控制装置,其特征在于,包括:
获取模块,用于获取单位时间内待分发的业务数据的数据量;
计算模块,用于根据所述数据量计算用于传输所述业务数据的队列数量;
分发模块,用于将所述业务数据分发至所述队列数量的队列中,其中,每个队列连通一个队列下游系统。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428649.6A CN110278159A (zh) | 2019-05-22 | 2019-05-22 | 数据分流的控制方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428649.6A CN110278159A (zh) | 2019-05-22 | 2019-05-22 | 数据分流的控制方法及装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110278159A true CN110278159A (zh) | 2019-09-24 |
Family
ID=67959116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910428649.6A Pending CN110278159A (zh) | 2019-05-22 | 2019-05-22 | 数据分流的控制方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278159A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674242A (zh) * | 2009-10-13 | 2010-03-17 | 福建星网锐捷网络有限公司 | 一种业务报文发送控制方法及装置 |
CN105049372A (zh) * | 2015-06-18 | 2015-11-11 | 福建富士通信息软件有限公司 | 一种扩展消息中间件吞吐量的方法及系统 |
CN109783255A (zh) * | 2019-01-07 | 2019-05-21 | 中国银行股份有限公司 | 数据解析分发装置及高并发数据处理方法 |
-
2019
- 2019-05-22 CN CN201910428649.6A patent/CN110278159A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674242A (zh) * | 2009-10-13 | 2010-03-17 | 福建星网锐捷网络有限公司 | 一种业务报文发送控制方法及装置 |
CN105049372A (zh) * | 2015-06-18 | 2015-11-11 | 福建富士通信息软件有限公司 | 一种扩展消息中间件吞吐量的方法及系统 |
CN109783255A (zh) * | 2019-01-07 | 2019-05-21 | 中国银行股份有限公司 | 数据解析分发装置及高并发数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
US7330430B2 (en) | Packet-based traffic shaping | |
CN109067665A (zh) | 拥塞控制方法和网络设备 | |
CN103493448A (zh) | 分层成形调度和定形 | |
CN111061560A (zh) | 云渲染资源调度方法、装置、电子设备及存储介质 | |
CN110830964B (zh) | 信息调度方法、物联网平台和计算机可读存储介质 | |
CN109257304A (zh) | 一种带宽调整方法、装置、存储介质和网络设备 | |
CN104753809B (zh) | 一种流量整形中添加令牌的方法及装置 | |
CN109245959A (zh) | 统计活跃流数目的方法、网络设备和系统 | |
EP2888843A1 (en) | Congestion notification in a network | |
CN104869077B (zh) | 令牌传输控制方法及系统 | |
US9178826B2 (en) | Method and apparatus for scheduling communication traffic in ATCA-based equipment | |
CN116383248A (zh) | 一种数据查询任务加速方法、装置、设备及存储介质 | |
CN111222810A (zh) | 一种实时分配格口的方法和装置 | |
CN110278159A (zh) | 数据分流的控制方法及装置、存储介质、电子装置 | |
CN109905331A (zh) | 队列调度方法及装置、通信设备、存储介质 | |
US10122812B2 (en) | Push-type information transmission device, push-type information transmission method, and program | |
CN115334010B (zh) | 查询信息的处理方法和装置、存储介质及电子装置 | |
CN109688171B (zh) | 缓存空间调度方法、装置和系统 | |
CN106789745B (zh) | 一种带宽获取方法和装置 | |
CN114443241A (zh) | 一种任务动态调度方法、任务下发方法及其装置 | |
CN107371263A (zh) | 上行资源的调度方法和装置 | |
CN105847171A (zh) | 网络设备过载保护方法 | |
CN106550342A (zh) | 计费请求消息的过载控制方法及装置 | |
CN111353712A (zh) | 配送任务调度方法及装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190924 |