CN112612607A - 基于消息队列的数据处理方法、装置、计算机设备和介质 - Google Patents
基于消息队列的数据处理方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN112612607A CN112612607A CN202011487357.9A CN202011487357A CN112612607A CN 112612607 A CN112612607 A CN 112612607A CN 202011487357 A CN202011487357 A CN 202011487357A CN 112612607 A CN112612607 A CN 112612607A
- Authority
- CN
- China
- Prior art keywords
- thread
- data
- message
- backlog
- amount
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012360 testing method Methods 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 27
- 238000004064 recycling Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 20
- 238000007689 inspection Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及数据处理技术领域,提供了一种基于消息队列的数据处理方法、装置、计算机设备和介质。该方法包括:确定消息队列中消息主题对应线程的消费速率阈值;每间隔预设检查周期,计算消息主题当前的数据积压量和数据消费速率;若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,根据数据积压量、消费速率阈值和检查周期计算增加线程量;以及根据增加线程量调整消息主题的线程分配量。通过本申请,能够在基于消息队列的数据处理过程中,减少由于数据量增加引起的链路延迟和数据积压。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于消息队列的数据处理方法、装置、计算机设备和介质。
背景技术
随着各种业务的深度交叉,上下游业务系统之间依赖关系的增强,对上下游之间的数据同步要求也在提升。业内上下游数据同步方案一般会使用消息队列实现业务解耦和数据泄洪,在数据同步过程中一般依据经验和业务情况预估数据量,使用固定的线程数来消费某个或某几个主题。但是,发明人研究发现,这样的方案存在明显的问题,因为业务数据通常是随时间变化的,当数据突然增多时,会出现大量表的数据同步链路延迟和积压。此外,在其他场景下基于消息队列的数据处理过程中,也会存在类似处理进度迟滞和数据积压的问题。
因此,在基于消息队列的数据处理过程中,如何减少由于数据量增加引起的链路延迟和数据积压,成为本领域亟需解决的技术问题。
发明内容
本申请的目的是提供一种基于消息队列的数据处理方法、装置、计算机设备和介质,用于解决现有技术中的上述技术问题。
一方面,为实现上述目的,本申请提供了一种基于消息队列的数据处理方法。
该基于消息队列的数据处理方法包括:确定消息队列中消息主题对应线程的消费速率阈值;每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及根据所述增加线程量调整所述消息主题的线程分配量。
进一步地,该基于消息队列的数据处理方法还包括:若所述数据积压量大于0且未达到所述积压量阈值,更新所述消息主题对应的积压时间;每间隔所述检查周期,获取所述积压时间;若所述积压时间达到预设积压时间阈值时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量,其中,所述检查周期小于所述积压时间阈值。
进一步地,采用以下公式根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量:at=ceil(on/p/ms),其中,at为所述增加线程量,on为所述数据积压量,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
进一步地,确定消息队列中消息主题对应线程的消费速率阈值的步骤包括:在所述消息队列的测试主题中写入满足测试量的测试数据;订阅所述测试主题,以使所述线程消费所述测试数据;记录所述线程的消费完成时间;以及根据所述测试量和所述消费完成时间,确定所述消费速率阈值。
进一步地,计算所述消息主题的数据积压量和所述数据消费速率的步骤包括:在所述消息队列中记录所述消息主题的总数据量;记录所述消息主题对应的消费偏移量;计算所述总数据量与所述消费偏移量的差,以得到所述数据积压量;根据所述消费偏移量计算当前时间前预设时长内的消费偏移量增量;以及根据所述消费偏移量增量和所述预设时长计算所述数据消费速率。
进一步地,该基于消息队列的数据处理方法还包括:在所述消息主题的线程分配量发生变化时,存储所述线程分配量;每间隔所述检查周期,获取当前的所述线程分配量,并计算当前需要的目标线程量;根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间;当所述空闲时间达到预设空闲阈值时,根据当前的所述目标线程量和所述线程分配量,计算回收线程量;根据所述回收线程量调整所述消息主题的线程分配量。
进一步地,采用以下公式计算当前实际需要的目标线程量:nt=ceil(cs*p/ms),其中,nt为所述目标线程量,cs为所述数据消费速率,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
进一步地,根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间的步骤包括:当所述线程分配量小于所述目标线程量时,更新线程空闲消息主题队列中,所述消息主题对应的空闲时间,当所述线程分配量小于或等于所述目标线程量,且所述消息主题位于所述线程空闲消息主题队列中时,从所述线程空闲消息主题队列中删除所述消息主题;在根据所述增加线程量调整所述消息主题的线程分配量的步骤之后,所述方法还包括:将数据积压消息主题队列中所述消息主题对应的积压时间置为0;更新所述消息主题对应的积压时间的步骤包括:更新所述数据积压消息主题队列中所述消息主题对应的积压时间。
另一方面,为实现上述目的,本申请提供了一种基于消息队列的数据处理装置。
该基于消息队列的数据处理装置包括:确定模块,用于确定消息队列中消息主题对应线程的消费速率阈值;第一计算模块,用于每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;第二计算模块,用于若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及调整模块,用于根据所述增加线程量调整所述消息主题的线程分配量。
又一方面,为实现上述目的,本申请还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
又一方面,为实现上述目的,本申请还提供计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序,其中,该计算机程序被处理器执行时实现上述方法的步骤。
本申请提供的基于消息队列的数据处理方法、装置、计算机设备和介质,预设检查周期,在处理数据的过程中,每间隔该检查周期,计算消息主题当前的数据积压量和数据消费速率,若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,根据数据积压量、消费速率阈值和检查周期计算增加线程量,并根据增加线程量调整消息主题的线程分配量,以快速的解决数据积压问题。然后从中可以看出,通过在每个检查周期对数据积压量进行检验,能够及时发现数据积压问题,并且在数据积压较大且线程当前的数据消费速率已达到阈值条件,也即当前的线程分配量已经无法解决上述积压问题时,进行线程分配量的调整,避免在数据突增但线程可在短期内快速消费的节点,也即不必要增加线程的节点进行线程分配量的调整,同时,在进行线程分配量的调整时,基于数据积压量、消费速率阈值和检查周期三个因素调整线程分配量,不仅能够使数据积压量能够在检查周期内被消费完成,实现数据积压问题的快速解决,而且能够避免冗余的线程分配。综上,通过本发明的基于消息队列的数据处理方法,使得数据处理过程具备自学习的能力,能依据积压数据量的变化和数据消费速率,动态调整消息主题对应的线程数,减少了人工操作,提高了程序的运行效率并且实现了程序的高可用,更好地解决了数据量增多时分配资源不足造成数据积压的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一提供的基于消息队列的数据处理方法的流程图;
图2为本申请实施例二提供的基于消息队列的数据处理装置的框图;
图3为本申请实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在基于消息队列的数据处理过程中,为了减少由于数据量增加引起的链路延迟和数据积压,发明人进行了如下研究:在数据处理过程中,设置一些手动调节的节点,在该节点,依据该时期预估的数据量,手动调整线程数量来减少由于数据量增加引起的链路延迟和数据积压,但是,发明人进一步研究发现,上述处理方式仍然存在以下的问题:第一,当数据量突然增加时,并不一定能相对及时的得到调整;第二,需要人工操作,操作复杂且程序运行效率低。
基于此,本申请提出一种基于消息队列的数据处理方法、装置、计算机设备和介质,在该基于消息队列的数据处理方法中,首先确定消息队列中消息主题对应线程的消费速率阈值,然后在处理数据的过程中,每间隔预设检查周期,计算消息主题当前的数据积压量和数据消费速率,若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,一方面表明当前的数据积压量已经较大,另一方面数据消费速率也已经接近消费速率阈值,此时,根据数据积压量、消费速率阈值和检查周期计算增加线程量,并根据增加线程量调整消息主题的线程分配量,以快速的解决数据积压问题。从中可以看出,在每个检查周期对数据积压量进行检验,从而能够及时发现数据积压问题,并且通过检验目前的线程已经接近消费速率阈值,从而能够确定当前的线程已经无法去快速消费数据积压量,此时参考数据积压量、消费速率阈值和检查周期三个因素调整线程分配量,使数据积压量能够在检查周期内被消费完成,实现数据积压问题的快速解决,又避免冗余的线程分配。
关于本申请提供的基于消息队列的数据处理方法、装置、计算机设备和介质的具体实施例,将在下文中详细描述。
实施例一
本申请实施例一提供了一种基于消息队列的数据处理方法,通过该方法,在数据处理过程中,能够及时检测出消息队列中消息主题的数据积压问题严重,且当前的线程已经无法快速消费的状态,并能够动态调整合适的线程分配量,使得数据积压问题在检查周期内被解决且避免冗余的线程分配,减少人工操作,提高了程序运行的效率。具体地,图1为本申请实施例一提供的基于消息队列的数据处理方法的流程图,如图1所示,该基于消息队列的数据处理方法包括如下的步骤S101至步骤S104:
步骤S101:确定消息队列中消息主题对应线程的消费速率阈值。
具体地,执行数据处理的线程用于按照特定的处理逻辑,处理消息队列中消息主题产生的数据,以实现该消息主题下的数据的处理。例如,在实现业务上下游数据同步时,执行数据同步的线程用于同步消息队列中消息主题产生的数据,以实现该消息主题下的数据的同步。其中的处理逻辑依据实际业务的不同而发生变化,该处不再详述。
可在进行数据处理前,先确定执行数据处理线程的消费速率阈值。在确定消费速率阈值时,可依据人工经验设置该阈值。或者,可根据执行相同处理逻辑的线程的数据处理数据的历史记录进行确定,例如,历史记录包括执行相同处理逻辑的线程的消费速率变化序列,则可获取该消费速率变化序列中的最大值作为上述消费速率阈值。或者,在数据处理节点上设置数据处理的测试实验,提供足够的数据量,以测试执行相同处理逻辑的线程最大消费速率,作为上述消费速率阈值。
可选地,在一种实施例中,该步骤S101,也即确定消息队列中消息主题对应线程的消费速率阈值的步骤,具体包括:在消息队列的测试主题中写入满足测试量的测试数据;订阅测试主题,以使线程消费测试数据;记录线程的消费完成时间;以及根据测试量和消费完成时间,确定消费速率阈值。
具体地,对于不同的消息队列和不同的处理逻辑,线程消费数据的能力有很大差异,故采用部署前按实际服务器进行测定,以给出准确的消费速率阈值。具体步骤如下:
1)在消息队列的测试消息主题中写入满足测试量的测试数据时,例如在消息队列中主题TEST_TOPIC写入m(条)数据,每条数据q(MB),其中,保证数据量在1000条以上,共500MB以上,通过足够的数据量以保证测试效果;
2)订阅测试消息主题,以使线程消费测试数据,例如订阅消息主题TEST_TOPIC,使得线程开始按处理逻辑消费数据;
3)记录线程的消费完成时间,也即测试消费完成时间t(s)。
4)根据测试量和消费完成时间,确定线程的消费速率阈值,例如可以为单位时间内消费的条数=m/t(条/s);单位时间内消费的数据量=m*q/t(MB/s)。
步骤S102:每间隔预设检查周期,计算消息主题当前的数据积压量和数据消费速率。
预设检查周期,若当前时间达到该检查周期,计算消息主题当前的数据积压量和数据消费速率。
其中,可选地,在计算消息主题当前的数据积压量时,可通过消息主题产生的数据量和被处理的数据量的差值进行计算。或者,也可采用以下步骤:在消息队列中记录消息主题的总数据量;记录消息主题对应的消费偏移量;计算总数据量与消费偏移量的差,以得到数据积压量。具体地,消息队列里记录了消息主题的总数据量ts,在消费过程中会记录,消费该消息主题的偏移量offset,则该消息的积压量overstack=ts-offset,从而能够快速简单的随时计算得到数据积压量。
可选地,在计算消息主题当前的数据消费速率时,可采用以下步骤:根据消费偏移量计算当前时间前预设时长内的消费偏移量增量;以及根据消费偏移量增量和预设时长计算数据消费速率。具体地,根据消息主题对应的消费偏移量,确定相邻历史时长内的消费偏移量的增量,例如,过去5分钟的offset增量,然后利用该增量除以该时长,即可得到数据消费速率,例如数据消费速率speed=过去5分钟的offset增量(条)/5*60(s),从而能够快速简单的随时计算得到数据消费速率。
步骤S103:若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,根据数据积压量、消费速率阈值和检查周期计算增加线程量。
在计算得到消息主题当前的数据积压量和数据消费速率之后,将数据积压量与预设积压量阈值进行比较,将数据消费速率与利用消费速率阈值设置的阈值条件进行比较。其中,若数据积压量未达到积压量阈值,且数据消费速率未达到上述阈值条件,表明该消息主题当前不存在数据积压的问题。若数据积压量达到积压量阈值,数据消费速率还未达到上述阈值条件,表明虽然该消息主题当前处于一个数据积压的状态,但线程的消费数据能力还有余量,目前的线程分配量可以逐步缓解这一数据积压状态,当前检查周期无需进行线程分配量的调整;若数据积压量还未达到积压量阈值,数据消费速率已达到上述阈值条件,表明虽然目前线程的消费数据能力已经接近上限,但消息主题当前的数据积压还不是很大,暂时无需调整线程分配量。
当数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,表明该消息主题当前已经处于一个数据积压的状态,且线程的消费数据能力也达到阈值条件,此时需要对线程分配量进行调整,根据数据积压量、消费速率阈值和检查周期计算增加线程量,其中的数据积压量作为增加线程量所要处理的参考数据量目标,消费速率阈值作为增加线程量所要达到的数据消费速率目标,检查周期作为数据积压量被缓解所耗费的时间目标,同时参与增加线程量的计算,有利于后续根据增加线程量调整消息主题的线程分配量时,使数据积压量能够在检查周期内被消费完成,并使被分配的线程在较高的消费速率消费数据,也即避免线程冗余而造成的资源浪费。
可选地,采用以下公式根据数据积压量、消费速率阈值和检查周期计算增加线程量:at=ceil(on/p/ms),其中,at为增加线程量,on为数据积压量,p为检查周期,ms为消费速率阈值,ceil为向下取整函数。采用该公式计算出的增加线程量,能够保证采用最少的线程在一个检查周期内将数据积压量消费完成。
其中,利用消费速率阈值设置的阈值条件可以包括:数据消费速率达到消费速率阈值的百分比,例如90%或95%等;数据消费速率与消费速率阈值差小于预设值等。
步骤S104:根据增加线程量调整消息主题的线程分配量。
具体地,可在当前线程分配量的基础上继续分配增加线程量的线程,也即将当前线程分配量与增加线程量的和,作为调整后的线程分配量。
其中,当消息队列中包括多个消息主题时,可对每个消息主题分别同步执行上述步骤S101至步骤S104,调整每个消息主题的线程分配量。
在该实施例提供的基于消息队列的数据处理方法中,预设检查周期,在处理数据的过程中,每间隔该检查周期,计算消息主题当前的数据积压量和数据消费速率,若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,根据数据积压量、消费速率阈值和检查周期计算增加线程量,并根据增加线程量调整消息主题的线程分配量,以快速的解决数据积压问题。然后从中可以看出,通过在每个检查周期对数据积压量进行检验,能够及时发现数据积压问题,并且在数据积压较大且线程当前的数据消费速率已达到阈值条件,也即当前的线程分配量已经无法解决上述积压问题时,进行线程分配量的调整,避免在数据突增但线程可在短期内快速消费的节点,也即不必要增加线程的节点进行线程分配量的调整,同时,在进行线程分配量的调整时,基于数据积压量、消费速率阈值和检查周期三个因素调整线程分配量,不仅能够使数据积压量能够在检查周期内被消费完成,实现数据积压问题的快速解决,而且能够避免冗余的线程分配。综上,采用该实施例提供的基于消息队列的数据处理方法,使得数据处理过程具备自学习的能力,能依据积压数据量的变化和数据消费速率,动态调整消息主题对应的线程数,减少了人工操作,提高了程序的运行效率并且实现了程序的高可用,更好地解决了数据量增多时分配资源不足造成数据积压的问题。
可选地,在一种实施例中,基于消息队列的数据处理方法还包括:若数据积压量大于0且未达到积压量阈值,更新消息主题对应的积压时间。具体地,在数据处理过程中,记录消息主题的积压时间。可选地,对于消息队列中包括多个消息主题的情况,可设置数据积压消息主题队列,在该队列中,记录消息队列中每个消息主题对应的积压时间,例如,例如消息主题名称和积压时间作为键值对。具体地,针对每个消息主题,每间隔预设检查周期,计算得到该消息主题当前的数据积压量后,若数据积压量大于0,也即当前已经产生了数据积压,但数据积压未达到积压量阈值,此时,不对消息主题的线程分配量进行处理,仅更新消息主题对应的积压时间,具体地,可用当前积压时间与检查周期的时长计算更新后的积压时间,从而通过该积压时间可以反馈出消息主题处于数据积压状态的持续时间。
进一步可选地,每间隔检查周期,获取积压时间;若积压时间达到预设积压时间阈值时,根据数据积压量、消费速率阈值和检查周期计算增加线程量,其中,检查周期小于积压时间阈值。具体地,若当前时间达到该检查周期,针对每个消息主题,除了计算消息主题当前的数据积压量和数据消费速率,还需要获取其对应的积压时间,如果当前的积压时间已经达到积压时间阈值,也即,消息主题的数据积压状态已经持续了较长的时间,此时,同样需要调整该消息主题的线程分配量,同样可根据数据积压量、消费速率阈值和检查周期计算增加线程量,进行线程分配量的调整,从而避免在数据处理过程中,某消息主题持续处于数据积压状态。
可选地,在一种实施例中,基于消息队列的数据处理方法还包括:在消息主题的线程分配量发生变化时,存储线程分配量;每间隔检查周期,获取当前的线程分配量,并计算当前需要的目标线程量;根据线程分配量与目标线程量的关系,更新消息主题对应的空闲时间。具体地,在数据处理过程中,针对每个消息主题,记录消息主题的空闲时间,并当其线程分配量发生变化时,将变化后的线程分配量进行存储。若当前时间达到检查周期,获取存储的线程分配量,并且计算当前需要的目标线程量,以根据线程分配量与目标线程量二者之间的关系,更新消息主题对应的空闲时间,可选地,当线程分配量大于目标线程量时,说明当前的线程分配处于一个冗余的状态,此时,将空间时间增加一个检查周期的时间,当线程分配量小于或等于目标线程量时,说明当前被配的线程没有处于空闲状态,此时,将空间时间更新为0,从而通过该空闲时间可以反馈出为消息主题分配的处于空闲状态的持续时间。
其中,可选地,可采用以下公式计算当前实际需要的目标线程量:nt=ceil(cs*p/ms),其中,nt为目标线程量,cs为数据消费速率,p为检查周期,ms为消费速率阈值,也即单个线程的消费速率阈值,ceil为向下取整函数。采用该公式计算出的目标线程量,能够计算出达到当前消费速率所需要的最少的线程数,也即最理想的目标线程量,从而有助于准确记录消息主题对应的线程空闲状态。
进一步可选地,当空闲时间达到预设空闲阈值时,根据当前的目标线程量和线程分配量,计算回收线程量;根据回收线程量调整消息主题的线程分配量。具体地,可设置线程回收周期,若当前时间达到线程回收周期时,获取消息主题对应的空闲时间,并且将空闲时间与空闲阈值进行比对,如果空闲时间已经到达空闲阈值,也即给消息主题分配的线程已经较长时间处于空闲的状态,此时,需要将空闲的线程回收,具体地,根据当前的目标线程量和线程分配量来计算回收线程量,例如,计算线程分配量与目标线程量的差作为回收线程量,然后根据该回收线程量调整消息主题的线程分配量。可选地,可在当前线程分配量的基础上直接增加线程量,也即按照回收线程量的线程进行线程回收,将当前线程分配量与回收线程量的差作为调整后的线程分配量。
采用该实施例提供的基于消息队列的数据处理方法,记录消息主题的空闲时间,并在每个检测周期进行检测以及更新,能够在消息主题的线程长时间处于空闲状态时及时回收,避免在数据量不足时线程资源的浪费,从而实现消息主题线程的自动调整,在数据量激增发生积压需要调整时,或者消息主题的数据长期处于积压状态需要调整时,能够计算增加线程量解决积压问题,当数据量回归至正常,分配给消息主题的线程处于空闲状态时,又能够计算回收线程量及时将线程回收,避免线程资源的浪费。
可选地,在一种实施例中,针对消息队列,设置空闲消息主题队列,记录消息队列中消息主题对应的空闲时间情况,设置积压消息主题队列,记录消息队列中消息主题对应的数据积压情况。具体地,根据线程分配量与目标线程量的关系,更新消息主题对应的空闲时间的步骤包括:当线程分配量小于目标线程量时,更新线程空闲消息主题队列中,消息主题对应的空闲时间,当线程分配量小于或等于目标线程量,且消息主题位于线程空闲消息主题队列中时,从线程空闲消息主题队列中删除消息主题;若数据积压量大于0且未达到积压量阈值,且消息主题位于线程空闲消息主题队列中时,方法还包括:从线程空闲消息主题队列中删除消息主题;在根据增加线程量调整消息主题的线程分配量的步骤之后,方法还包括:将数据积压消息主题队列中消息主题对应的积压时间置为0;更新消息主题对应的积压时间的步骤包括:更新数据积压消息主题队列中消息主题对应的积压时间。
可选地,在一种实施例中,基于消息队列的数据处理方法包括如下的步骤:
(1)在数据处理前,测定消息队列中消息主题对应线程的消费速率阈值,并且设定设定初始参数和创建全局变量。
需要设定的初始参数包括:
单线程最大消费速率(也即消费速率阈值):maxspeed;
检查积压周期(也即检查周期):prodtime;
积压忍耐条数(也即积压量阈值):endureoverstacknum;
积压忍耐时间(也即积压时间阈值):endureoverstacktime;
线程空闲忍耐时间(也即空闲阈值):endurefreetime;
线程回收周期:gctime。
创建全局变量包括:
需要记录消息主题当前分配的线程数;
定义积压消息主题队列;
定义空闲消息主题队列。
2)在数据处理过程中,包括以下调度步骤:
a)计算消息主题数据积压量overstacknum和数据消费速率curspeed,并获取该消息主题当前的线程数(也即分配线程量):threadnum;
获取当前消息主题对应积压时间:overstacktime。
计算当前实际需要的线程数(也即目标线程量):
needthread=ceil(curspeed*prodtime/maxspeed)。
如果threadnum>needthread,记录该消息主题为空闲线程,并记录该消息主题分配线程量、目标线程量和空闲时间freetime=freetime+prodtime。
b)如果(数据积压量overstacknum大于积压忍耐条数endureoverstacknum且数据消费速率curspeed大于maxspeed*90%)或(积压时间大于积压忍耐时间),则为该消息主题增加线程数(也即增加线程量)newaddthread,并重置积压时间overstacktime为0,newaddthread通过如下方法获得:
newaddthread=ceil(overstacknum/prodtime/maxspeed)
否则:如果overstacknum>0,则将消息主题从空闲消息主题队列中移除,并对该消息主题记录积压时间overstacktime=overstacktime+prodtime;
c)周期性检测空闲线程数(如果freetime>endurefreetime),并回收多余线程。
d)每次回收线程和增加线程,会依据当前消息主题对应的线程在各活跃节点之间的分布关系进行调整,使得新增线程和减少线程的处理均会尽量保证节点间线程的均衡,其中,可选地,在新增线程时,各节点轮询新增线程,在取消线程时,各节点轮询取消线程,如果某一节点不存在需要取消的线程,则跳过该节点进行下一个节点的判断。
采用该实施例提供的基于消息队列的数据处理防范,使得数据处理具备自学习的能力,能依据积压数据量的变化和消费速率,动态调整消息主题对应的线程数,减少了人工操作,提高了程序的运行效率并且实现了程序的高可用,解决了数量减少时资源浪费的问题,以及数据量增多时分配资源不足造成数据积压的问题,并且适用于分布式环境,提高了程序的稳定性和可用性。
实施例二
对应于上述实施例一,本申请实施例二提供了一种基于消息队列的数据处理装置,相应的技术特征和对应的技术效果可参考上述实施例一,该处不再赘述。图2为本申请实施例二提供的基于消息队列的数据处理装置的框图,如图2所示,该装置包括确定模块201、第一计算模块202、第二计算模块203和调整模块204。
其中,确定模块201用于确定消息队列中消息主题对应线程的消费速率阈值;第一计算模块202用于每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;第二计算模块203用于若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及调整模块204用于根据所述增加线程量调整所述消息主题的线程分配量。
可选地,在一种实施例中,该基于消息队列的数据处理方法还包括:第一更新模块,用于若所述数据积压量大于0且未达到所述积压量阈值,更新所述消息主题对应的积压时间;第一获取模块,用于每间隔所述检查周期,获取所述积压时间;第三计算模块,用于若所述积压时间达到预设积压时间阈值时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量,其中,所述检查周期小于所述积压时间阈值。
可选地,在一种实施例中,第三计算模块采用以下公式根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量:at=ceil(on/p/ms),其中,at为所述增加线程量,on为所述数据积压量,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
可选地,在一种实施例中,确定模块201在确定消息队列中消息主题对应线程的消费速率阈值时,具体执行的步骤包括:在所述消息队列的测试主题中写入满足测试量的测试数据;订阅所述测试主题,以使所述线程消费所述测试数据;记录所述线程的消费完成时间;以及根据所述测试量和所述消费完成时间,确定所述消费速率阈值。
可选地,在一种实施例中,第一计算模块202在计算所述消息主题的数据积压量和所述数据消费速率时,具体执行的步骤包括:在所述消息队列中记录所述消息主题的总数据量;记录所述消息主题对应的消费偏移量;计算所述总数据量与所述消费偏移量的差,以得到所述数据积压量;根据所述消费偏移量计算当前时间前预设时长内的消费偏移量增量;以及根据所述消费偏移量增量和所述预设时长计算所述数据消费速率。
可选地,在一种实施例中,该基于消息队列的数据处理方法还包括:存储模块,用于在所述消息主题的线程分配量发生变化时,存储所述线程分配量;第二获取模块,用于每间隔所述检查周期,获取当前的所述线程分配量,第四机损模块,用于计算当前需要的目标线程量;第二更新模块,用于根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间;第五计算模块,用于当所述空闲时间达到预设空闲阈值时,根据当前的所述目标线程量和所述线程分配量,计算回收线程量;所述调整模块还用于根据所述回收线程量调整所述消息主题的线程分配量。
可选地,在一种实施例中,第四计算模块采用以下公式计算当前实际需要的目标线程量:nt=ceil(cs*p/ms),其中,nt为所述目标线程量,cs为所述数据消费速率,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
可选地,在一种实施例中,第二更新模块根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间时,具体执行的步骤包括:当所述线程分配量小于所述目标线程量时,更新线程空闲消息主题队列中,所述消息主题对应的空闲时间,当所述线程分配量小于或等于所述目标线程量,且所述消息主题位于所述线程空闲消息主题队列中时,从所述线程空闲消息主题队列中删除所述消息主题。
第一更新模块还用于在根据所述增加线程量调整所述消息主题的线程分配量的步骤之后,将数据积压消息主题队列中所述消息主题对应的积压时间置为0,第一更新模块在更新所述消息主题对应的积压时间时,具体执行的步骤包括:更新所述数据积压消息主题队列中所述消息主题对应的积压时间。
实施例三
本实施例三还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器012、处理器011,如图3所示。需要指出的是,图3仅示出了具有组件存储器012和处理器011的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器012(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器012可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器012也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器012还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器012通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例二的基于消息队列的数据处理装置等。此外,存储器012还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器011在一些实施例中可以是中央处理器(Ceatral Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器011通常用于控制计算机设备01的总体操作。本实施例中,处理器011用于运行存储器012中存储的程序代码或者处理数据,例如基于消息队列的数据处理方法等。
实施例四
本实施例四还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储基于消息队列的数据处理装置,该计算机可读存储介质被处理器执行时实现实施例一的基于消息队列的数据处理方法。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (11)
1.一种基于消息队列的数据处理方法,其特征在于,包括:
确定消息队列中消息主题对应线程的消费速率阈值;
每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;
若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及
根据所述增加线程量调整所述消息主题的线程分配量。
2.根据权利要求1所述的基于消息队列的数据处理方法,其特征在于,还包括:
若所述数据积压量大于0且未达到所述积压量阈值,更新所述消息主题对应的积压时间;
每间隔所述检查周期,获取所述积压时间;
若所述积压时间达到预设积压时间阈值时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量,其中,所述检查周期小于所述积压时间阈值。
3.根据权利要求1所述的基于消息队列的数据处理方法,其特征在于,采用以下公式根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量:
at=ceil(on/p/ms)
其中,at为所述增加线程量,on为所述数据积压量,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
4.根据权利要求1所述的基于消息队列的数据处理方法,其特征在于,确定消息队列中消息主题对应线程的消费速率阈值的步骤包括:
在所述消息队列的测试主题中写入满足测试量的测试数据;
订阅所述测试主题,以使所述线程消费所述测试数据;
记录所述线程的消费完成时间;以及
根据所述测试量和所述消费完成时间,确定所述消费速率阈值。
5.根据权利要求1所述的基于消息队列的数据处理方法,其特征在于,计算所述消息主题的数据积压量和所述数据消费速率的步骤包括:
在所述消息队列中记录所述消息主题的总数据量;
记录所述消息主题对应的消费偏移量;
计算所述总数据量与所述消费偏移量的差,以得到所述数据积压量;
根据所述消费偏移量计算当前时间前预设时长内的消费偏移量增量;以及
根据所述消费偏移量增量和所述预设时长计算所述数据消费速率。
6.根据权利要求1或2所述的基于消息队列的数据处理方法,其特征在于,还包括:
在所述消息主题的线程分配量发生变化时,存储所述线程分配量;
每间隔所述检查周期,获取当前的所述线程分配量,并计算当前需要的目标线程量;
根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间;
当所述空闲时间达到预设空闲阈值时,根据当前的所述目标线程量和所述线程分配量,计算回收线程量;
根据所述回收线程量调整所述消息主题的线程分配量。
7.根据权利要求6所述的基于消息队列的数据处理方法,其特征在于,采用以下公式计算当前实际需要的目标线程量:
nt=ceil(cs*p/ms)
其中,nt为所述目标线程量,cs为所述数据消费速率,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
8.根据权利要求6所述的基于消息队列的数据处理方法,其特征在于,
根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间的步骤包括:当所述线程分配量小于所述目标线程量时,更新线程空闲消息主题队列中,所述消息主题对应的空闲时间,当所述线程分配量小于或等于所述目标线程量,且所述消息主题位于所述线程空闲消息主题队列中时,从所述线程空闲消息主题队列中删除所述消息主题;
在根据所述增加线程量调整所述消息主题的线程分配量的步骤之后,所述方法还包括:将数据积压消息主题队列中所述消息主题对应的积压时间置为0;
更新所述消息主题对应的积压时间的步骤包括:更新所述数据积压消息主题队列中所述消息主题对应的积压时间。
9.一种基于消息队列的数据处理装置,其特征在于,包括:
确定模块,用于确定消息队列中消息主题对应线程的消费速率阈值;
第一计算模块,用于每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;
第二计算模块,用于若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及
调整模块,用于根据所述增加线程量调整所述消息主题的线程分配量。
10.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
11.一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487357.9A CN112612607A (zh) | 2020-12-16 | 2020-12-16 | 基于消息队列的数据处理方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487357.9A CN112612607A (zh) | 2020-12-16 | 2020-12-16 | 基于消息队列的数据处理方法、装置、计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112612607A true CN112612607A (zh) | 2021-04-06 |
Family
ID=75240060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011487357.9A Pending CN112612607A (zh) | 2020-12-16 | 2020-12-16 | 基于消息队列的数据处理方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612607A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065785A (zh) * | 2021-04-13 | 2021-07-02 | 国网江苏省电力有限公司信息通信分公司 | 一种电力物联管理平台动态资源扩展方法 |
CN113204392A (zh) * | 2021-04-09 | 2021-08-03 | 深信服科技股份有限公司 | 一种报文处理方法、装置及存储介质 |
CN113590708A (zh) * | 2021-06-17 | 2021-11-02 | 北京房江湖科技有限公司 | 自适应延迟消费方法、程序产品及存储介质 |
CN114827033A (zh) * | 2022-04-15 | 2022-07-29 | 咪咕文化科技有限公司 | 数据流控方法、装置、设备与计算机可读存储介质 |
CN114827049A (zh) * | 2022-03-02 | 2022-07-29 | 厦门服云信息科技有限公司 | 一种基于kafka的堆积数据消费方法、终端设备及存储介质 |
CN115964254A (zh) * | 2023-03-16 | 2023-04-14 | 麒麟软件有限公司 | 一种动态调整监控数据处理速度的方法、系统及介质 |
CN116112446A (zh) * | 2022-11-30 | 2023-05-12 | 重庆紫光华山智安科技有限公司 | 基于消息队列的延时反馈方法、计算机设备和存储介质 |
CN116166451A (zh) * | 2022-12-09 | 2023-05-26 | 广州市玄武无线科技股份有限公司 | 一种主题数量的动态调节方法、系统、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457906A (zh) * | 2010-10-26 | 2012-05-16 | 中国移动通信集团河南有限公司 | 一种消息队列的负载均衡控制方法及系统 |
CN103870337A (zh) * | 2014-02-28 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种基于seda的esb组件实现方法 |
CN105824691A (zh) * | 2015-01-08 | 2016-08-03 | 平安科技(深圳)有限公司 | 动态调节线程的方法及装置 |
CN106293674A (zh) * | 2015-06-08 | 2017-01-04 | 宏碁股份有限公司 | 自动增减数据消费者的方法以及使用该方法的装置 |
CN108848039A (zh) * | 2018-04-24 | 2018-11-20 | 平安科技(深圳)有限公司 | 服务器、消息分配的方法及存储介质 |
CN110971430A (zh) * | 2018-09-29 | 2020-04-07 | 北京国双科技有限公司 | 自动化扩容缩容的控制方法、装置、存储介质及处理器 |
-
2020
- 2020-12-16 CN CN202011487357.9A patent/CN112612607A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457906A (zh) * | 2010-10-26 | 2012-05-16 | 中国移动通信集团河南有限公司 | 一种消息队列的负载均衡控制方法及系统 |
CN103870337A (zh) * | 2014-02-28 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种基于seda的esb组件实现方法 |
CN105824691A (zh) * | 2015-01-08 | 2016-08-03 | 平安科技(深圳)有限公司 | 动态调节线程的方法及装置 |
CN106293674A (zh) * | 2015-06-08 | 2017-01-04 | 宏碁股份有限公司 | 自动增减数据消费者的方法以及使用该方法的装置 |
CN108848039A (zh) * | 2018-04-24 | 2018-11-20 | 平安科技(深圳)有限公司 | 服务器、消息分配的方法及存储介质 |
CN110971430A (zh) * | 2018-09-29 | 2020-04-07 | 北京国双科技有限公司 | 自动化扩容缩容的控制方法、装置、存储介质及处理器 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204392A (zh) * | 2021-04-09 | 2021-08-03 | 深信服科技股份有限公司 | 一种报文处理方法、装置及存储介质 |
CN113204392B (zh) * | 2021-04-09 | 2024-04-09 | 深信服科技股份有限公司 | 一种报文处理方法、装置及存储介质 |
CN113065785A (zh) * | 2021-04-13 | 2021-07-02 | 国网江苏省电力有限公司信息通信分公司 | 一种电力物联管理平台动态资源扩展方法 |
CN113590708A (zh) * | 2021-06-17 | 2021-11-02 | 北京房江湖科技有限公司 | 自适应延迟消费方法、程序产品及存储介质 |
CN113590708B (zh) * | 2021-06-17 | 2024-02-20 | 贝壳找房(北京)科技有限公司 | 自适应延迟消费方法、程序产品及存储介质 |
CN114827049A (zh) * | 2022-03-02 | 2022-07-29 | 厦门服云信息科技有限公司 | 一种基于kafka的堆积数据消费方法、终端设备及存储介质 |
CN114827033A (zh) * | 2022-04-15 | 2022-07-29 | 咪咕文化科技有限公司 | 数据流控方法、装置、设备与计算机可读存储介质 |
CN114827033B (zh) * | 2022-04-15 | 2024-04-19 | 咪咕文化科技有限公司 | 数据流控方法、装置、设备与计算机可读存储介质 |
CN116112446A (zh) * | 2022-11-30 | 2023-05-12 | 重庆紫光华山智安科技有限公司 | 基于消息队列的延时反馈方法、计算机设备和存储介质 |
CN116166451A (zh) * | 2022-12-09 | 2023-05-26 | 广州市玄武无线科技股份有限公司 | 一种主题数量的动态调节方法、系统、装置及存储介质 |
CN116166451B (zh) * | 2022-12-09 | 2023-11-07 | 广州市玄武无线科技股份有限公司 | 一种主题数量的动态调节方法、系统、装置及存储介质 |
CN115964254A (zh) * | 2023-03-16 | 2023-04-14 | 麒麟软件有限公司 | 一种动态调整监控数据处理速度的方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612607A (zh) | 基于消息队列的数据处理方法、装置、计算机设备和介质 | |
CN107291546B (zh) | 一种资源调度方法及装置 | |
CN111813513B (zh) | 基于分布式的实时任务调度方法、装置、设备及介质 | |
CN107735767B (zh) | 用于虚拟机迁移的装置和方法 | |
CN113342498A (zh) | 并发请求处理方法、装置、服务器及存储介质 | |
CN111277640B (zh) | 用户请求处理方法、装置、系统、计算机设备和存储介质 | |
CN109495343B (zh) | 异常流量数据的处理方法、装置及服务器 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
CN111506423A (zh) | 一种资源的调度方法、装置、电子设备及存储介质 | |
CN110599148A (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN111695847A (zh) | 物流电子面单的号段管理方法及系统、设备及存储介质 | |
CN111752822A (zh) | 一种容器化压测调度方法、计算机设备及可读存储介质 | |
CN110363330B (zh) | 一种路径规划方法、装置、计算机设备及可读存储介质 | |
CN109445911A (zh) | Cvm实例的调整方法、装置、云平台和服务器 | |
CN112612583A (zh) | 数据同步方法、装置、计算机设备和可读存储介质 | |
CN112612606A (zh) | 消息主题的处理方法、装置、计算机设备和可读存储介质 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN113468442A (zh) | 资源位流量的分发方法、计算设备及计算机存储介质 | |
CN110597682B (zh) | 一种应用部署方法、装置、计算机设备及存储介质 | |
CN110324411B (zh) | 一种业务分流方法及装置 | |
CN108804640B (zh) | 基于最大化iv的数据分组方法、装置、储存介质及设备 | |
CN111258724A (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 |