CN117176672B - 消息队列资源确定方法、装置及资源智能调度系统 - Google Patents
消息队列资源确定方法、装置及资源智能调度系统 Download PDFInfo
- Publication number
- CN117176672B CN117176672B CN202311113825.XA CN202311113825A CN117176672B CN 117176672 B CN117176672 B CN 117176672B CN 202311113825 A CN202311113825 A CN 202311113825A CN 117176672 B CN117176672 B CN 117176672B
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- message queue
- message
- large area
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 133
- 238000013468 resource allocation Methods 0.000 claims abstract description 322
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims description 57
- 230000002452 interceptive effect Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种消息队列资源确定方法、装置及资源智能调度系统。其中,该方法包括:获取多个消息队列的队列优先级;按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组;其中,任一分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。由此,可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种消息队列资源确定方法、装置及资源智能调度系统。
背景技术
在消息订阅号平台产品中,消息的发送量大、消息的类型多,需要对消息队列进行管理和调度以支持平台的稳定运行。然而,针对复合类型消息的处理,相关技术无法根据不同类型消息的优先级灵活地配置不同消息队列的消息下发速率,从而导致消息处理不平衡或者某些类型的消息处理效率低下等问题。
发明内容
本申请提供了一种消息队列资源确定方法、装置及资源智能调度系统。可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。
第一方面,本申请实施例提供一种消息队列资源确定方法,所述方法包括:获取多个消息队列的队列优先级;按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量,包括:按照队列优先级从高优先级到低优先级的顺序,对各所述分组进行排序,以得到排序序列;依据所述排序序列,对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量,包括:确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,所述目标大区中包括所述触发消息通道和/或所述群发消息通道;获取任一所述目标大区的可分配资源量;在所述可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,确定对应的分配策略;根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定所述目标分组中各所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述目标分组中不包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的目标资源分配量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的目标资源分配量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量,包括:针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中目标消息队列的第一个数,确定所述目标大区的资源平均分配量;响应于所述目标大区中各所述目标消息队列的资源需求量均未大于所述目标大区的资源平均分配量,将所述目标大区中任一所述目标消息队列的资源需求量确定为所述目标消息队列的目标资源分配量;响应于所述目标大区中各所述目标消息队列的资源需求量均大于所述目标大区的资源平均分配量,将所述目标大区的资源平均分配量确定为所述目标大区中所述目标消息队列的目标资源分配量;响应于所述目标大区中各所述目标消息队列中存在第三消息队列和第四消息队列,将任一所述第三消息队列的资源需求量确定为所述第三消息队列的目标资源分配量;其中,所述第三消息队列的资源需求量未大于所述目标大区的资源平均分配量,所述第四消息队列的资源需求量大于所述目标大区的资源平均分配量;根据所述目标大区的可分配资源量和各所述第三消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量和各所述第四消息队列的资源需求量,采用所述第一分配策略,确定各所述第四消息队列的目标资源分配量。
在一种可选地实现方式中,所述目标分组中包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:基于所述平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述基于所述平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第一资源分配量;对各所述第一消息队列的第一资源分配量进行加和,得到第一和数;响应于所述第一和数大于所述平台资源阈值,根据所述平台资源阈值和所述第一和数的占比,确定第一系数;针对任一所述第一消息队列,根据所述第一系数与所述第一消息队列的第一资源分配量的乘积,确定所述第一消息队列的目标资源分配量;针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第一消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第一消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第一消息队列之外的各目标消息队列的目标资源分配量。
在一种可选地实现方式中,该消息队列资源确定方法还包括:响应于所述第一和数未大于所述平台资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述目标分组中包括属于所述触发消息通道的第二消息队列且不包括属于所述群发消息通道的第一消息队列;所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:基于所述触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述基于所述触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第二资源分配量;对各所述第二消息队列的第二资源分配量进行加和,得到第二和数;响应于所述第二和数大于所述触发资源阈值,根据所述触发资源阈值和所述第二和数的占比,确定第二系数;针对任一所述第二消息队列,根据所述第二系数与所述第二消息队列的第二资源分配量的乘积,确定所述第二消息队列的目标资源分配量;针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第二消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第二消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第二消息队列之外的各目标消息队列的目标资源分配量。
在一种可选地实现方式中,该消息队列资源确定方法还包括:响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
在一种可选地实现方式中,所述获取任一所述目标大区的可分配资源量,包括:针对任一所述目标大区,确定未轮询到的分组中所述目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,所述第五消息队列属于所述群发消息通道,且所述第五消息队列的资源需求量不为第二设定阈值;所述第六消息队列属于所述触发消息通道;根据已经轮询过的分组中所述目标大区中的各所述目标消息队列的目标资源分配量,确定所述目标大区的目标已分配资源量;基于所述目标大区的目标资源总量、所述目标大区的目标已分配资源量、所述第二个数和所述第三个数,确定所述目标大区的可分配资源量。
在一种可选地实现方式中,所述目标大区的目标资源总量的获取,包括:对所述目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到所述目标大区的交互资源总量;根据所述目标大区的大区资源总量和所述目标大区的交互资源总量,确定所述目标大区的目标资源总量。
在一种可选地实现方式中,所述目标消息队列的资源需求量的获取,包括:响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于群发消息通道,所述目标消息队列的资源需求量为第三设定阈值;响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于触发消息通道,所述目标消息队列的资源需求量为第四设定阈值;响应于所述目标消息队列的队列消息积压量不为0,根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量。
在一种可选地实现方式中,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:响应于所述目标消息队列属于所述群发消息通道,根据所述目标消息队列的队列消息积压量与所述第一设定时间间隔的占比,确定第一比值;从所述第一比值与所述第四设定阈值中,确定第一最大值;从所述第一最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第一最小值;将所述第一最小值作为所述目标消息队列的资源需求量。
在一种可选地实现方式中,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:响应于所述目标消息队列属于所述触发消息通道,根据所述第一设定时间间隔,确定第三系数;根据所述目标消息队列的队列消息积压量与所述第三系数的占比,确定第二比值;从所述第二比值与所述第四设定阈值中,确定第二最大值;从所述第二最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第二最小值;将所述第二最小值作为所述目标消息队列的资源需求量。
在一种可选地实现方式中,所述目标消息队列的队列资源阈值的获取,包括:获取所述目标消息队列对应的设定资源阈值,并获取所述订阅号Chatbot在消息队列中处理消息时的最小消息处理速率;从所述目标消息队列对应的设定资源阈值和对应的消息处理速率中,确定第三最小值;将所述第三最小值作为所述目标消息队列的队列资源阈值。
第二方面,本申请实施例提供一种资源智能调度系统,所述系统包括基础配置模块、监控模块、资源确定模块和资源分配模块,其中:
所述基础配置模块,用于配置任一种消息对应的消息队列、各所述消息队列的队列优先级;
所述监控模块,用于监控各所述消息队列的队列消息积压量和各所述消息队列的已分配资源量;
所述资源确定模块,用于采用如本申请第一方面所述的消息队列资源确定方法,确定多个消息队列对应的目标资源分配量;
所述资源分配模块,用于根据任一所述消息队列的目标资源分配量,对所述消息队列进行配速资源分配。
第三方面,本申请实施例提供一种消息队列资源确定装置,所述装置包括:第一获取模块,用于获取多个消息队列的队列优先级;分组模块,用于按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;第一确定模块,用于根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量。
第四方面,本申请实施例提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的消息队列资源确定方法。
第五方面,本申请实施例提供一种计算机可读存储介质,用于存储有指令,当所述指令被执行时,使如第一方面所述的方法被实现。
第六方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面所述的消息队列资源确定方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例一所提供的一种消息队列资源确定方法的示意图;
图2是本申请实施例二所提供的一种消息队列资源确定方法的示意图;
图3是本申请实施例三所提供的一种消息队列资源确定方法的示意图;
图4是本申请实施例四所提供的一种消息队列资源确定方法的示意图;
图5是本申请实施例五所提供的一种消息队列资源确定方法的示意图;
图6是本申请实施例六所提供的一种智能调度系统的结构示意图;
图7是本申请所提供的一种消息队列智能调度系统的结构示意图;
图8为本申请所提供的资源需求计算模块实施的动态配速方法的流程示意图;
图9是本申请实施七所提供的一种消息队列资源确定装置的结构示意图;
图10是可以用来实施本申请的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
其中,在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。
相关技术中,在处理多优先级复合类型消息、多通道和多条消息队列时存在以下缺点:
(1)无法应付多类型消息的约束:难以根据不同类型消息的约束来灵活地配置不同通道和队列的消息下发速率,导致消息下发速率资源分配与实际情况不符合,造成超速情况。
(2)未考虑多通道消息的业务特点:在处理多通道消息时,没有优先考虑消息的即时性要求。比如,触发消息通道要求即时性比较高、群发消息通道要求即时性较低,在分配消息下发速率资源时需要优先分配更多资源至触发消息通道。然而,没有优先考虑消息的即时性要求的缺陷导致消息处理不平衡,影响整体业务。
针对上述至少一种问题,本申请提出一种消息队列资源确定方法、装置及资源智能调度系统。
下面参考附图描述本申请实施例的消息队列资源确定方法、装置及资源智能调度系统。
图1是本申请实施例一所提供的一种消息队列资源确定方法的示意图。
本申请实施例以该消息队列资源确定方法被配置于消息队列资源确定装置中来举例说明,该消息队列资源确定装置可以应用于任一电子设备中,以使该电子设备可以执行消息队列资源确定功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该消息队列资源确定方法可以包括以下步骤:
步骤S101,获取多个消息队列的队列优先级。
在本申请实施例中,各消息队列可以有对应的队列优先级。
可以理解的是,消息队列的队列优先级可以采用数字、字符等方式进行表示。比如,消息队列的队列优先级从高优先级到低优先级依次表示为0级~5级,再比如,消息队列的队列优先级从高优先级到低优先级依次表示为A级~K级。需要说明的是,上述示例仅是示例性的,在实际应用中,可以根据需要对消息队列的队列优先级进行设置。
在本申请实施例中,可以获取多个消息队列的队列优先级。
作为一种可能的实现方式,可以预先配置多个消息队列的队列优先级,并可以保存各消息队列的队列优先级,从而可以查询并读取各消息队列的队列优先级。
步骤S102,按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组。
其中,任一分组可以具有对应的队列优先级,且任一分组可以包括属于对应队列优先级的目标消息队列。
可以理解的是,任一分组中包括属于对应队列优先级的目标消息队列的数量可以为但不限于为一个,本申请对此不做限制。
在本申请实施例中,可以按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组。需要说明的是,分组可以为一个,或者也可以为多个,本申请对此不做限制。
比如,假设获取多个消息队列包括消息队列A1、消息队列A2、消息队列A3、消息队列B1、消息队列B2,且上述消息队列的队列优先级依次为0级、1级、2级、2级、3级,在按照各消息队列的队列优先级,对各消息队列进行分组之后,得到的分组分别为:
分组1(对应的队列优先级为0级):消息队列A1
分组2(对应的队列优先级为1级):消息队列A2
分组3(对应的队列优先级为2级):消息队列A3、消息队列B1
分组4(对应的队列优先级为3级):消息队列B2
步骤S103,根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。
在本申请实施例中,各分组可以有对应的分组顺序。
在本申请实施例中,可以根据各分组对应的队列优先级,确定各分组对应的分组顺序。
仍以上述例子进行说明,根据各分组对应的队列优先级,确定分组4的分组顺序为1、分组3的分组顺序为2、分组2的分组顺序为3、分组1的分组顺序为4;再比如,根据各分组对应的队列优先级,确定分组1的分组顺序为1、分组2的分组顺序为2、分组3的分组顺序为3、分组4的分组顺序为4,等等。
需要说明的是,上述对各分组的分组顺序的示例仅是示例性的,在实际应用中,还可以为其它,本申请对此不做限制。
在本申请实施例中,在根据各分组对应的队列优先级,确定各分组对应的分组顺序之后,可以对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定相应分组中各目标消息队列的目标资源分配量。
本申请实施例的消息队列资源确定方法,通过获取多个消息队列的队列优先级;按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组;其中,任一分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。由此,可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。
为了清楚说明本申请上述实施例中,是如何根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量的,本申请还提出一种消息队列资源确定方法。
图2是本申请实施例二所提供的一种消息队列资源确定方法的示意图。
如图2所示,该消息队列资源确定方法可以包括以下步骤:
步骤S201,获取多个消息队列的队列优先级。
步骤S202,按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组。
步骤S201至步骤S202的执行过程可以参见本申请任一实施例的执行过程,在此不做赘述。
步骤S203,按照队列优先级从高优先级到低优先级的顺序,对各分组进行排序,以得到排序序列。
在本申请实施例中,可以按照队列优先级从高优先级到低优先级的顺序,对各分组进行排序,以得到排序序列。
仍以步骤S102中的示例进行说明,当队列优先级从高优先级到低优先级的顺序依次为0级~3级时,按照队列优先级从高优先级到低优先级的顺序,对各分组进行排序,得到排序序列为分组1、分组2、分组3、分组4。
步骤S204,依据排序序列,对轮询到的目标分组依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量。
需要说明的是,目标分组中各目标消息队列所属的通道可以是触发消息通道,或者也可以是群发消息通道。
在本申请实施例中,可以依据排序序列,依次轮询各分组,从而可以对轮询到的目标分组,依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量。
仍以上述示例进行说明,排序序列为分组1、分组2、分组3、分组4,可以依据该排序序列,依次轮询分组1、分组2、分组3、分组4;当轮询到的分组3时,可以将分组3作为目标分组,并可以依据该目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量。
本申请实施例的消息队列资源确定方法,通过按照队列优先级从高优先级到低优先级的顺序,对各分组进行排序,以得到排序序列;依据排序序列,对轮询到的目标分组依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量。由此,可以基于队列优先级从高优先级到低优先级的顺序,顺序确定各队列优先级对应的目标消息队列的目标资源分配量,即优先为高优先级的目标消息队列分配资源,再为低优先级的目标消息队列分配资源,以满足不同队列优先级的目标消息队列的实际需求。
为了清楚说明本申请上述实施例中,是如何对轮询到的目标分组依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量的,本申请还提出一种消息队列资源确定方法。
图3是本申请实施例三所提供的一种消息队列资源确定方法的示意图。
如图3所示,基于本申请上述实施例,该消息队列资源确定方法还可以包括以下步骤:
步骤S301,确定轮询到的目标分组中各目标消息队列对应的目标大区。
在本申请实施例中,可以确定轮询到的目标分组中各目标消息队列对应的目标大区。
举例说明,假设轮询到的目标分组为分组1,该目标分组1中的目标消息队列包括消息队列a2、消息队列a3、消息队列b1、消息队列c1,其中,消息队列a2和消息队列a3对应的目标大区为大区A,消息队列b1对应的目标大区为大区B,消息队列c1对应的目标大区为大区C。
可以理解的是,在通信领域中,各目标大区中可以包括触发消息通道和/或群发消息通道。也就是说,目标大区中可以包括触发消息通道和群发消息通道,或者,目标大区中可以包括触发消息通道而不包括群发消息通道,或者,目标大区中可以包括群发消息通道而不包括触发消息通道。
步骤S302,获取任一目标大区的可分配资源量。
在本申请实施例中,可以获取任一目标大区的可分配资源量。
作为一种可能的实现方式,针对任一目标大区,确定未轮询到的分组中目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,第五消息队列属于群发消息通道,且第五消息队列的资源需求量不为第二设定阈值;第六消息队列属于触发消息通道;根据已经轮询过的分组中目标大区中的各目标消息队列的目标资源分配量,确定目标大区的目标已分配资源量;基于目标大区的目标资源总量、目标大区的目标已分配资源量、第二个数和第三个数,可以确定目标大区的可分配资源量。
在本申请实施例中,第二设定阈值可以为预先设定的,比如可以为0、1等,本申请对此不做限制。
在本申请实施例中,第五消息队列可以为属于群发消息通道中的消息队列,且第五消息队列的资源需求量不为第二设定阈值。
在本申请实施例中,第六消息队列可以为属于触发消息通道中的消息队列。
在本申请实施例中,针对任一目标大区,可以确定未轮询到的分组中目标大区中第五消息队列的第二个数以及第六消息队列的第三个数。
作为一种示例,假设需要依次轮询的各分组为分组1、分组2、分组3、分组4、分组5,轮询到的目标分组为分组3,未轮询到的分组包括分组4和分组5,其中,确定的分组3中各目标消息队列对应的目标大区包括大区A和大区C,针对大区A,可以确定未轮询到的分组4和分组5中属于大区A的第五消息队列的第二个数以及属于大区A的第六消息队列的第三个数,比如,未轮询到的分组4中属于大区A的第五消息队列的个数为3、未轮询到的分组5中属于大区A的第五消息队列的个数为0,则可以确定未轮询到的分组4和分组5中属于大区A的第五消息队列的第二个数为3(=3+0),未轮询到的分组4中属于大区A的第六消息队列的个数为1、未轮询到的分组5中属于大区A的第六消息队列的个数为4,则可以确定未轮询到的分组4和分组5中属于大区A的第六消息队列的第三个数为5(=1+4);依此类推,针对大区C,可以确定未轮询到的分组4和分组5中属于大区C的第五消息队列的第二个数以及属于大区A的第六消息队列的第三个数。
在本申请实施例中,可以根据已经轮询过的分组中目标大区中的各目标消息队列的目标资源分配量,确定目标大区的目标已分配资源量。
作为一种可能实现方式,可以对已经轮询过的分组中目标大区中的各目标消息队列的目标资源分配量进行加和,得到目标大区的目标已分配资源量。
仍以上述示例进行说明,假设需要依次轮询的各分组为分组1、分组2、分组3、分组4、分组5,轮询到的目标分组为分组3,已经轮询过的分组包括分组1和分组2,其中,确定的分组3中各目标消息队列对应的目标大区包括大区A和大区C;针对大区A,对已经轮询过的分组1中属于大区A的各目标消息队列包括消息队列a1、消息队列a4和消息队列a5,对已经轮询过的分组2中属于大区A的目标消息队列不存在,此时,可以对消息队列a1的目标资源分配量、消息队列a4的目标资源分配量和消息队列a5的的目标资源分配量进行加和,将加和得到的结果确定为大区A的目标已分配资源量;依次类推,可以得到大区C的目标已分配资源量。
在本申请实施例中,可以基于目标大区的目标资源总量、目标大区的目标已分配资源量、第二个数和第三个数,确定目标大区的可分配资源量。
比如,目标大区A的目标资源总量为S总,该目标大区A的目标已分配资源量为S',第二个数为m1,第三个数为m2,则可以根据以下公式,确定目标大区的可分配资源量S可分配:
S可分配=S总-S'-100(m1+m2); (1)
由此,一方面,可以有效获取各目标大区的可分配资源量,另一方面,可以预先为未轮询到的分组中目标大区中的属于触发消息通道和群发消息通道的消息队列留存一定量的资源,具有灵活性。
为了清楚说明目标大区的目标资源总量是如何获取的,在本申请实施例的一种可能的实现方式中,可以基于目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,确定目标大区的交互资源总量,并可以根据目标大区的大区资源总量和目标大区的交互资源总量,确定目标大区的目标资源总量。
在本申请实施例中,各目标大区中可以存在不同于群发消息通道和触发消息通道的交互消息通道。
在本申请实施例中,各目标大区可以有对应的大区资源总量。
举例说明,假设目标大区A中交互消息通道中包括n个消息队列,第i个消息队列的已分配资源量为S交i,其中,i∈[1,n]且i为正整数,则可以根据以下公式,确定目标大区A的交互资源总量S交:
并可以根据目标大区的大区资源总量S与目标大区的交互资源总量S交之差,确定目标大区的目标资源总量S总:
S总=S-S交; (3)
由此,可以基于目标大区的大区资源总量以及目标大区中属于交互消息通道的各消息队列的已分配资源量,有效确定目标大区的目标资源总量,即可以确定用于为目标大区中的触发消息通道和群发消息通道中的各消息队列分配资源的资源总量。
步骤S303,在可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略。
在本申请实施例中,第一设定阈值可以为预先设定的,比如可以为0、100等,本申请对此不做限制。
在本申请实施例中,当可分配资源量大于第一设定阈值时,可以对轮询到的目标分组,依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,确定对应的分配策略。
步骤S304,根据目标分组中各目标消息队列的资源需求量,采用分配策略确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例中,可以根据目标分组中各目标消息队列的资源需求量,采用对应的分配策略确定目标分组中各目标消息队列的目标资源分配量。
本申请实施例的消息队列资源确定方法,通过确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,目标大区中包括触发消息通道和/或群发消息通道;获取任一目标大区的可分配资源量;在可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;根据目标分组中各目标消息队列的资源需求量,采用分配策略确定目标分组中各目标消息队列的目标资源分配量。由此,可以实现基于目标消息队列所属的消息通道是触发消息通道或群发消息通道,采用不同的分配策略,以有效确定目标分组中各目标消息队列的目标资源分配量。
在上述实施例的基础之上,本申请实施例对根据目标分组中各目标消息队列的资源需求量,采用分配策略确定各目标消息队列的目标资源分配量的过程进行详细说明。
图4是本申请实施例四所提供的一种消息队列资源确定方法的示意图。
如图4所示,基于本申请实施例二,该消息队列资源确定方法还可以包括以下步骤:
步骤S401,确定轮询到的目标分组中各目标消息队列对应的目标大区。
步骤S402,获取任一目标大区的可分配资源量。
步骤S403,在可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,确定对应的分配策略。
步骤S401至步骤S403的执行过程可以参见本申请任一实施例的执行过程,在此不做赘述。
步骤S404,在目标分组中不包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列的情况下,根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量。
在本申请实施例中,第一消息队列可以为属于群发消息通道的短小2.0消息队列。
在本申请实施例中,第二消息队列可以为属于触发消息通道的各消息队列。需要说明的是,本申请对触发消息通道中的第二消息队列的数量不做限制。
在本申请实施例中,目标分组中可以不包括属于群发消息通道的第一消息队列,且可以不包括属于触发消息通道的第二消息队列。比如,目标分组中可以不包括属于群发消息通道的短小2.0消息队列,且可以不包括属于群发消息通道的各第二消息队列。
在本申请实施例中,当目标分组中不包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,可以根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量。
比如,当目标大区A中不包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,可以根据目标大区A的可分配资源量和目标大区A中各目标消息队列的目标资源分配量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量。
作为一种可能的实现方式,当目标分组中不包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,可以采用以下几个步骤,以实现根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量的过程:
步骤S4041,针对任一目标大区,根据目标大区的可分配资源量和目标大区中目标消息队列的第一个数,确定目标大区的资源平均分配量。
在本申请实施例中,针对任一目标大区,可以根据目标大区的可分配资源量和目标大区中目标消息队列的第一个数,确定目标大区的资源平均分配量。
作为一种示例,针对任一目标大区,可以将目标大区的可分配资源量与目标大区中目标消息队列的第一个数之比,确定为目标大区的资源平均分配量。
比如,针对目标大区A,假设目标大区A的可分配资源量为S可分配,该目标大区A中目标消息队列的第一个数为n,则可以根据以下公式,确定目标大区的资源平均分配量
步骤S4042,响应于目标大区中各目标消息队列的资源需求量均未大于目标大区的资源平均分配量,将目标大区中任一目标消息队列的资源需求量确定为目标消息队列的目标资源分配量。
在本申请实施例中,当目标大区中各目标消息队列的资源需求量均未大于目标大区的资源平均分配量时,可以将目标大区中任一目标消息队列的资源需求量确定为目标消息队列的目标资源分配量。
也就是说,当目标大区中各目标消息队列的资源需求量均未大于目标大区的资源平均分配量时,可以为目标大区中任一目标消息队列分配的资源量等于对应的资源需求量即可。
比如,针对目标大区A,假设该目标大区A的资源平均分配量为该目标大区A中目标消息队列的第一个数为n,其中,该目标大区A中第i个目标消息队列的资源需求量为Di,i∈[1,n]且i为正整数;当且j为正整数,均有则目标大区A中第i个目标消息队列的目标资源分配量S目i等于Di。
步骤S4043,响应于目标大区中各目标消息队列的资源需求量均未小于目标大区的资源平均分配量,将目标大区的资源平均分配量确定为目标大区中目标消息队列的目标资源分配量。
在本申请实施例中,当目标大区中各目标消息队列的资源需求量均未小于目标大区的资源平均分配量时,可以将目标大区的资源平均分配量确定为目标大区中目标消息队列的目标资源分配量。
仍以上述例子进行说明,当且j为正整数,均有则目标大区A中第i个目标消息队列的目标资源分配量S目i等于其中,i∈[1,n]且i为正整数。
步骤S4044,响应于目标大区中各目标消息队列中存在第三消息队列和第四消息队列,将任一第三消息队列的资源需求量确定为第三消息队列的目标资源分配量;其中,第三消息队列的资源需求量未大于目标大区的资源平均分配量,第四消息队列的资源需求量大于目标大区的资源平均分配量。
在本申请实施例中,第三消息队列可以为目标大区中资源需求量未大于目标大区的资源平均分配量的目标消息队列。
在本申请实施例中,第四消息队列可以为目标大区中资源需求量大于目标大区的资源平均分配量的目标消息队列。
在本申请实施例中,当目标大区中各目标消息队列中存在第三消息队列和第四消息队列时,可以将任一第三消息队列的资源需求量确定为第三消息队列的目标资源分配量。
比如,针对目标大区A,假设该目标大区A的资源平均分配量为该目标大区A中目标消息队列的第一个数为n,其中,该目标大区A中第i个目标消息队列的资源需求量为Di,i∈[1,n]且i为正整数;当目标大区A中的目标消息队列中存在一部分目标消息队列的资源需求量均未大于且存在另一部分目标消息队列的资源需求量均大于则可以将资源需求量未大于的各目标消息队列作为第三消息队列,将资源需求量大于的目标消息队列作为第四消息队列;此时,针对任一第三消息队列,可以将该第三消息队列的资源需求量确定为该第三消息队列的目标资源分配量。
需要说明的是,针对目标大区中各目标消息队列中的第四消息队列,可以采用以下步骤S4045至S4046,确定第四消息队列的目标资源分配量。
步骤S4045,根据目标大区的可分配资源量和各第三消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
在本申请实施例中,可以根据目标大区的可分配资源量和各第三消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
作为一种示例,可以对目标大区中各第三消息队列的目标资源分配量进行求和,得到第三和数,并可以重新确定目标大区的可分配资源量为目标大区的可分配资源量与第三和数之差。
步骤S4046,响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量和各第四消息队列的资源需求量,采用第一分配策略,确定各第四消息队列的目标资源分配量。
需要说明的是,本申请任一实施例中对第一设定阈值的解释说明同样适用于该实施例,在此不做赘述。
在本申请实施例中,当重新确定的目标大区的可分配资源量大于第一设定阈值时,可以根据重新确定的目标大区的可分配资源量和各第四消息队列的资源需求量,采用第一分配策略,确定各第四消息队列的目标资源分配量。
也就是说,当重新确定的目标大区的可分配资源量大于第一设定阈值时,可以根据重新确定的目标大区的可分配资源量和各第四消息队列的资源需求量,采用类似于步骤S4041至步骤S4046中的方法,以确定各第四消息队列的目标资源分配量,在此不再赘述。
可以理解的是,当重新确定的目标大区的可分配资源量未大于第一设定阈值时,表明当前目标大区的资源量已分配完,可以停止后续的资源分配过程。
需要说明的是,上述仅以步骤S4042、步骤S4043和步骤S4044-S4046顺序执行进行说明,在实际应用中,可以择一执行。
作为一种示例,当轮询到的目标分组对应的队列优先级为1,该目标分组中各目标消息队列中
由此,当目标分组中不包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,可以实现对目标分组中各目标消息队列的目标资源分配量的有效确定。
步骤S405,在目标分组中包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列的情况下,基于平台资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第二分配策略,确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例中,平台资源阈值可以为预先设定的,且用于表征短小2.0平台的资源上限值,本申请对平台资源阈值的取值不做限制。
在本申请实施例中,目标分组中可以包括属于群发消息通道的第一消息队列,且可以不包括属于触发消息通道的第二消息队列。比如,目标分组中可以包括属于群发消息通道的短小2.0消息队列,且可以不包括属于群发消息通道的各第二消息队列。
在本申请实施例中,当目标分组中包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列时,可以基于平台资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第二分配策略,确定目标分组中各目标消息队列的目标资源分配量。
作为一种可能的实现方式,当目标分组中包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,可以采用以下几个步骤,以实现基于平台资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第二分配策略,确定目标分组中各目标消息队列的目标资源分配量的过程:
步骤S4051,根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第一资源分配量。
在本申请实施例中,当目标分组中包括属于群发消息通道的第一消息队列,且不包括属于触发消息通道的第二消息队列时,针对任一目标大区,可以根据目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第一资源分配量。
也就是说,针对任一目标大区,先采用类似于步骤S4041至步骤S4046中的方法,基于目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,确定目标大区中各目标消息队列的第一资源分配量。
步骤S4052,对各目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数。
在本申请实施例中,可以对各目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数。
步骤S4053,响应于第一和数大于平台资源阈值,根据平台资源阈值和第一和数的占比,确定第一系数。
在本申请实施例中,当第一和数大于平台资源阈值,可以根据平台资源阈值和第一和数的占比,确定第一系数。
比如,第一消息队列为短小2.0消息队列,短小2.0平台的平台资源阈值为S短,当第一和数S和1大于S短,表明采用第一分配策略为各目标大区中各第一消息队列分配的第一资源分配量总和大于短小2.0平台能够分配的平台资源阈值,此时,可以根据平台资源阈值和第一和数的占比,按照以下公式,确定第一系数k1为:
k1=S短/S和1; (5)
步骤S4054,针对任一第一消息队列,根据第一系数与第一消息队列的第一资源分配量的乘积,确定第一消息队列的目标资源分配量。
在本申请实施例中,针对任一第一消息队列,可以根据第一系数与第一消息队列的第一资源分配量的乘积,确定第一消息队列的目标资源分配量。
仍以上述例子进行说明,针对任一第一消息队列,假设该第一消息队列的第一资源分配量为S第一,第一系数为k1,可以根据以下公式,确定该第一消息队列的目标资源分配量S目:
S目=S第一*k1; (6)
步骤S4055,针对任一目标大区,根据目标大区的可分配资源量和目标大区中第一消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
在本申请实施例中,针对任一目标大区,可以根据目标大区的可分配资源量和目标大区中第一消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
比如,针对目标大区A,假设目标大区的可分配资源量为S可分配,目标大区A中包括n个第一消息队列,且第i个第一消息队列的目标资源分配量为S目i,i∈[1,n]且i为正整数,则可以根据以下公式,重新确定目标大区A的可分配资源量S'可分配:
步骤S4056,响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量,以及目标大区中除第一消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第一消息队列之外的各目标消息队列的目标资源分配量。
在本申请实施例中,当重新确定的目标大区的可分配资源量大于第一设定阈值时,可以根据重新确定的目标大区的可分配资源量,以及目标大区中除第一消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第一消息队列之外的各目标消息队列的目标资源分配量。
比如,假设目标大区A中除第一消息队列a1之外的目标消息队列包括目标消息队列a3、目标消息队列a5、目标消息队列a6,重新确定的目标大区的可分配资源量为S'可分配,第一设定阈值为0,当S'可分配>0时,可以根据重新确定的目标大区的可分配资源量为S'可分配,以及目标消息队列a3的资源需求量、目标消息队列a5的资源需求量、目标消息队列a6的资源需求量,采用第一分配策略,确定目标大区中目标消息队列a3的目标资源分配量、目标消息队列a5的目标资源分配量和目标消息队列a6的目标资源分配量,即采用类似于步骤S4041至步骤S4046中的方法,基于重新确定的目标大区的可分配资源量为S'可分配,以及目标消息队列a3的资源需求量、目标消息队列a5的资源需求量、目标消息队列a6的资源需求量,确定目标大区中目标消息队列a3的目标资源分配量、目标消息队列a5的目标资源分配量和目标消息队列a6的目标资源分配量。
可以理解的是,当重新确定的目标大区的可分配资源量未大于第一设定阈值时,表明当前目标大区的资源量已分配完,可以停止后续的资源分配过程。
步骤S4057,响应于第一和数未大于平台资源阈值,将目标分组中任一目标消息队列的第一资源分配量确定为目标消息队列的目标资源分配量。
也就是说,当第一和数未大于平台资源阈值时,表明采用第一分配策略为各目标大区中第一消息队列分配的第一资源分配量总和未大于平台资源阈值,此时,可以将目标分组中任一目标消息队列的第一资源分配量确定为该目标消息队列的目标资源分配量。
由此,首先采用第一分配策略,确定目标分组中各目标消息队列的第一资源分配量,其次基于平台资源阈值以及目标分组中各目标消息队列的第一资源分配量,可以有效且准确地确定各目标消息队列的目标资源分配量。
需要说明的是,本申请仅以步骤S4053-步骤S4056和步骤S4057的顺序执行进行说明,在实际应用中,可以择一执行。
步骤S406,在目标分组中包括属于触发消息通道的第二消息队列且不包括属于群发消息通道的第一消息队列的情况下,基于触发资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第三分配策略,确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例中,触发资源阈值可以为预先设定的,且用于触发消息通道的资源上限值,本申请对触发资源阈值的取值不做限制。
在本申请实施例中,目标分组中可以包括属于触发消息通道的第二消息队列,且可以不包括属于群发消息通道的第一消息队列。
在本申请实施例中,当目标分组中包括属于触发消息通道的第二消息队列,且不包括属于群发消息通道的第一消息队列时,可以基于触发资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第三分配策略,确定目标分组中各目标消息队列的目标资源分配量。
作为一种可能的实现方式,当目标分组中包括属于触发消息通道的第二消息队列,且不包括属于群发消息通道的第一消息队列时,可以采用以下几个步骤,以实现基于触发资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第三分配策略,确定目标分组中各目标消息队列的目标资源分配量的过程:
步骤S4061,根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第二资源分配量。
在本申请实施例中,当目标分组中包括属于触发消息通道的第二消息队列,且不包括属于群发消息通道的第一消息队列时,针对任一目标大区,可以根据目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第二资源分配量。
也就是说,针对任一目标大区,先采用类似于步骤S4041至步骤S4046中的方法,基于目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,确定目标大区中各目标消息队列的第二资源分配量。
步骤S4062,对各目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数。
在本申请实施例中,可以对各目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数。
步骤S4063,响应于第二和数大于触发资源阈值,根据触发资源阈值和第二和数的占比,确定第二系数。
在本申请实施例中,当第二和数大于触发资源阈值时,可以根据触发资源阈值和第二和数的占比,确定第二系数。
比如,触发资源阈值为S触,当第二和数S和2大于S触时,表明采用第一分配策略为各目标大区中各第二消息队列分配的第二资源分配量总和大于触发消息通道能够分配的触发资源阈值,此时,可以根据触发资源阈值和第二和数的占比,按照以下公式,确定第二系数k2为:
k2=S触/S和2; (8)
步骤S4064,针对任一第二消息队列,根据第二系数与第二消息队列的第二资源分配量的乘积,确定第二消息队列的目标资源分配量。
在本申请实施例中,针对任一第二消息队列,可以根据第二系数与第二消息队列的第二资源分配量的乘积,确定第二消息队列的目标资源分配量。
仍以上述例子进行说明,针对任一第二消息队列,假设该第二消息队列的第二资源分配量为S第二,第二系数为k2,可以根据以下公式,确定该第二消息队列的目标资源分配量S目:
S目=S第二*k2; (9)
步骤S4065,针对任一目标大区,根据目标大区的可分配资源量和目标大区中第二消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
在本申请实施例中,针对任一目标大区,可以根据目标大区的可分配资源量和目标大区中第二消息队列的目标资源分配量,重新确定目标大区的可分配资源量。
比如,针对目标大区A,假设目标大区的可分配资源量为S可分配,目标大区A中包括m个第二消息队列,其中,第i个第二消息队列的目标资源分配量为S目i,i∈[1,m]且i为正整数,则可以根据以下公式,重新确定目标大区A的可分配资源量S'可分配:
步骤S4066,响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量,以及目标大区中除第二消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第二消息队列之外的各目标消息队列的目标资源分配量。
在本申请实施例中,当重新确定的目标大区的可分配资源量大于第一设定阈值时,可以根据重新确定的目标大区的可分配资源量,以及目标大区中除第一消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第一消息队列之外的各目标消息队列的目标资源分配量。
比如,假设目标大区B中除第二消息队列之外的目标消息队列包括目标消息队列b1、目标消息队列b2、目标消息队列b3,重新确定的目标大区的可分配资源量为S'可分配,第一设定阈值为0,当S'可分配>0时,可以根据重新确定的目标大区的可分配资源量为S'可分配,以及目标消息队列b1的资源需求量、目标消息队列b2的资源需求量、目标消息队列b3的资源需求量,采用第一分配策略,确定目标大区中目标消息队列b1的目标资源分配量、目标消息队列b2的目标资源分配量和目标消息队列b3的目标资源分配量,即采用类似于步骤S4041至步骤S4046中的方法,基于重新确定的目标大区的可分配资源量为S'可分配,以及目标消息队列b1的资源需求量、目标消息队列b2的资源需求量、目标消息队列b3的资源需求量,确定目标大区中目标消息队列b1的目标资源分配量、目标消息队列b2的目标资源分配量和目标消息队列b3的目标资源分配量。
可以理解的是,当重新确定的目标大区的可分配资源量未大于第一设定阈值时,表明当前目标大区的资源量已分配完,可以停止后续的资源分配过程。
步骤S4067,响应于第二和数未大于触发资源阈值,将目标分组中任一目标消息队列的第一资源分配量确定为目标消息队列的目标资源分配量。
也就是说,当第二和数未大于触发资源阈值时,表明采用第一分配策略为各目标大区中第二消息队列分配的第二资源分配量总和未大于触发资源阈值,此时,可以将目标分组中任一目标消息队列的第二资源分配量确定为该目标消息队列的目标资源分配量。
由此,首先采用第一分配策略,确定目标分组中各目标消息队列的第二资源分配量,其次基于触发资源阈值以及目标分组中各目标消息队列的第二资源分配量,可以有效且准确地确定各目标消息队列的目标资源分配量。
需要说明的是,本申请仅以步骤S4063-步骤S4066和步骤S4067的顺序执行进行说明,在实际应用中,可以择一执行。
还需要说明的是,本申请仅以步骤S404、步骤S405和步骤S406的顺序执行进行示例,在实际应用中,可以择一执行。
本申请实施例的消息队列资源确定方法,在目标分组中不包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列的情况下,根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量;在目标分组中包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列的情况下,基于平台资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第二分配策略,确定目标分组中各目标消息队列的目标资源分配量;在目标分组中包括属于触发消息通道的第二消息队列且不包括属于群发消息通道的第一消息队列的情况下,基于触发资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第三分配策略,确定目标分组中各目标消息队列的目标资源分配量。由此,可以实现对目标分组中各目标消息队列的目标资源分配量的确定,具有灵活性。
为了清楚说明本申请任一实施例中,是如何获取目标消息队列的资源需求量的,本申请还提出一种消息队列资源确定方法。
图5是本申请实施例五所提供的一种消息队列资源确定方法的示意图。
如图5所示,基于本申请任一实施例,该消息队列资源确定方法还可以包括以下步骤:
步骤S501,响应于目标消息队列的队列消息积压量为0,且目标消息队列属于群发消息通道,目标消息队列的资源需求量为第三设定阈值。
在本申请实施例中,消息队列可以有对应的消息积压量,本申请中记为队列消息积压量。
在本申请实施例中,第三设定阈值可以为预先设定的,比如,可以为0,10等,本申请对此不做限制。
在本申请实施例中,当目标消息队列的队列消息积压量为0,且目标消息队列属于群发消息通道,目标消息队列的资源需求量可以为第三设定阈值。比如,当目标消息队列a的队列消息积压量为0,且目标消息队列a属于群发消息通道,目标消息队列a的资源需求量可以为0。
步骤S501,响应于目标消息队列的队列消息积压量为0,且目标消息队列属于触发消息通道,目标消息队列的资源需求量为第四设定阈值。
在本申请实施例中,第四设定阈值可以为预先设定的,比如,可以为100,200等,本申请对此不做限制。
在本申请实施例中,当目标消息队列的队列消息积压量为0,且目标消息队列属于触发消息通道,目标消息队列的资源需求量可以为第四设定阈值。比如,当目标消息队列b的队列消息积压量为0,且目标消息队列b属于触发消息通道,目标消息队列b的资源需求量可以为100。
步骤S501,响应于目标消息队列的队列消息积压量不为0,根据目标消息队列的队列消息积压量、目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和第四设定阈值,确定目标消息队列的资源需求量。
在本申请实施例中,目标消息队列可以有对应的队列资源阈值。
为了获取目标消息队列的队列资源阈值,在本申请实施例的一种可能的实现方式中,可以获取目标消息队列对应的设定资源阈值,并可以获取订阅号Chatbot在目标消息队列中处理消息的最小消息处理速率;从目标消息队列对应的设定资源阈值和最小消息处理速率中,可以确定第三最小值,并可以将第三最小值作为目标消息队列的队列资源阈值。
在本申请实施例中,设定资源阈值可以为预先设定的且用于表征各大区中消息队列的最高配速值,本申请对设定资源阈值不做限制。比如,目标消息队列为彩信消息队列,各大区中彩信消息队列的最高配速值(在本申请中记为设定资源阈值)为800,即彩信消息队列对应的设定资源阈值为800。
需要说明的是,各目标消息队列对应的设定资源阈值可以相同,或者也可以不相同,本申请对此不做限制。
作为一种示例,针对目标消息队列a,假设目标消息队列a对应的设定资源阈值为L,订阅号Chatbot在目标消息队列中处理消息的最小消息处理速率为M,可以从目标消息队列a对应的设定资源阈值L和最小消息处理速率M中,确定第三最小值为min{L,M},则可以将第三最小值min{L,M}作为目标消息队列a的队列资源阈值。
由此,通过结合订阅号Chatbot在目标消息队列中处理消息的最小消息处理速率以及目标消息队列在各大区的最高配速值,实现对目标消息队列的队列资源阈值的获取。
在本申请实施例中,第一设定时间间隔可以为预先设定的,比如可以为1min、10min等,本申请对此不做限制。
在本申请实施例中,当目标消息队列的队列消息积压量不为0,可以根据目标消息队列的队列消息积压量、目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和第四设定阈值,确定目标消息队列的资源需求量。
作为一种可能的实现方式,在目标消息队列的队列消息积压量不为0的情况下,当目标消息队列属于群发消息通道时,可以根据目标消息队列的队列消息积压量与第一设定时间间隔的占比,确定第一比值;从第一比值与第四设定阈值中,可以确定第一最大值;从第一最大值、目标消息队列的队列资源阈值和动态分配资源阈值中,可以确定第一最小值;可以将第一最小值作为目标消息队列的资源需求量。
作为一种示例,假设目标消息队列a的队列积压量为Q,第一设定时间间隔为t,第四设定阈值为100,目标消息队列a的队列资源阈值为S队,动态分配资源阈值为S动,在目标消息队列a的队列消息积压量Q不为0的情况下,当目标消息队列a属于群发消息通道时,可以根据目标消息队列的队列消息积压量Q与第一设定时间间隔t的占比,确定第一比值为Q/t;从第一比值Q/t和第四设定阈值100中,确定第一最大值为max{Q/t,100};再从第一最大值max{Q/t,100}、目标消息队列的队列资源阈值S队和动态分配资源阈值S动中,确定第一最小值为min{max{Q/t,100},S队,S动};最后可以将确定的第一最小值作为目标消息队列a的资源需求量。
作为另一种可能的实现方式,在目标消息队列的队列消息积压量不为0的情况下,当目标消息队列属于触发消息通道时,可以根据第一设定时间间隔,确定第三系数;根据目标消息队列的队列消息积压量与第三系数的占比,可以确定第二比值;从第二比值与第四设定阈值中,可以确定第二最大值;从第二最大值、目标消息队列的队列资源阈值和动态分配资源阈值中,可以确定第二最小值;可以将第二最小值作为目标消息队列的资源需求量。
作为一种示例,假设目标消息队列a的队列积压量为Q,第一设定时间间隔为t,第四设定阈值为100,目标消息队列a的队列资源阈值为S队,动态分配资源阈值为S动,在目标消息队列a的队列消息积压量Q不为0的情况下,当目标消息队列a属于触发消息通道时,可以根据第一设定时间间隔t,确定第三系数为(t/2);可以根据目标消息队列的队列消息积压量Q与第三系数(t/2)的占比,确定第二比值为Q/(t/2);从第二比值Q/(t/2)和第四设定阈值100中,确定第二最大值为max{Q/(t/2),100};再从第二最大值max{Q/(t/2),100}、目标消息队列的队列资源阈值S队和动态分配资源阈值S动中,确定第二最小值为min{max{Q/(t/2),100},S队,S动};最后,可以将确定的第二最小值作为目标消息队列a的资源需求量。
本申请实施例的消息队列资源确定方法,通过响应于目标消息队列的队列消息积压量为0,且目标消息队列属于群发消息通道,目标消息队列的资源需求量为第三设定阈值;响应于目标消息队列的队列消息积压量为0,且目标消息队列属于触发消息通道,目标消息队列的资源需求量为第四设定阈值;响应于目标消息队列的队列消息积压量不为0,根据目标消息队列的队列消息积压量、目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和第四设定阈值,确定目标消息队列的资源需求量。由此,可以基于消息队列的队列消息积压量、消息队列所属的消息通道,并结合消息队列的队列资源阈值以及动态分配资源阈值,有效确定消息队列的资源需求量。
为了更加清楚地说明上述实施例,本申请还提供了一种智能调度系统。
图6是本申请实施例六所提供的一种智能调度系统的结构示意图。
如图6所示,该智能调度系统600可以包括基础配置模块601、监控模块602、资源确定模块603和资源分配模块604.
其中,基础配置模块601,可以用于配置任一种消息对应的消息队列、各消息队列的队列优先级。
可选地,消息可以包括但不限于为5G消息、短小2.0消息、彩信消息、文字短信消息等,本申请对此不做限制。
在一些实施例中,基础配置模块601,还可以用于配置各消息队列的初始速率。
监控模块602,可以用于监控各消息队列的队列消息积压量和各消息队列的实时速率。
资源确定模块603,与监控模块602连接,可以用于采用本申请前述任一实施例的消息队列资源确定方法,确定多个消息队列对应的目标资源分配量。
资源分配模块604,与资源确定模块603连接,可以用于根据任一消息队列的目标资源分配量,对消息队列进行配速资源分配。
为了便于理解本申请的智能调度系统,下面结合示例进行详细说明。
作为一种示例,以本申请的智能调度系统应用于图7所示的消息队列智能调度系统进行示例,其中,图7所示的消息队列智能调度系统是基于Fair算法驱动的多优先级多通道复合类型消息队列智能调度系统。如图7所示,该消息队列智能调度系统可以包括基础配置模块(在本申请中记为基础配置模块)、消息队列实时监控模块(在本申请中记为监控模块)、资源需求计算模块(在本申请中记为资源确定模块)和消息队列资源分配模块(在本申请中记为资源分配模块);
其中,基础配置模块,可以用于配置所有订阅号Chatbot的回落方向、所有订阅号Chatbot发送不同类型消息时的归属消息队列;其中,消息可以包括5G消息、短小2.0消息、彩信消息和文字短信消息等,并可以为每个消息队列配置对应的队列优先级以及初始速率。
消息队列实时监控模块,用于监控所有消息队列的队列消息积压量和各消息队列的实时速率。
资源需求计算模块,可以将消息队列实时监控模块返回的事件信息作为入参,根据消息通道的类型(比如群发消息通道、触发消息通道)、消息队列的队列优先级以及各大区的可分配资源量,按每个队列优先级进行Fair运算,实时迭代计算各消息队列所需的目标资源分配量。
消息队列资源分配模块,可以根据资源需求计算模块得出的结果,实时分配下发配速资源到对应的消息队列,实现消息队列的智能调度。
该消息队列智能调度系统至少可以包括以下优点:
1、能够根据不同消息类型、消息通道和消息队列的优先级进行灵活的消息调度;
2、采用基于Fair算法的公平调度策略,可以确保配速资源的公平利用;
3、能够提高系统的消息传递效率和资源利用率,从而提升整体系统性能。
其中,资源需求计算模块实施动态配速方法(在本申请中记为消息队列资源确定方法)。图8为本申请所提供的资源需求计算模块实施的动态配速方法的流程示意图。如图8所示,该动态配速方法可以包括以下过程:
需要说明的是,可以预先配置动态配速开关、动态配速定时器和免打扰时间定时器;其中,动态配速定时器配置有动态配速时间间隔t,以用于在设定时长内执行动态配速;其中,免打扰时间定时器可以用于设置免打扰时间段(比如0:00-6:00)。
1.1响应于动态配速开关的开启,可以根据免打扰时间定时器的开启关闭状态,判断当前时刻是否属于免打扰时间段;如果当前时刻属于免打扰时间段,则同步人工配速表到接入层,以更改消息队列配速;如果当前时刻不属于免打扰时间段,则继续执行后续的动态配速过程。
需要说明的是,当动态配速开关关闭时,可以同步人工配速表到接入层,以更改消息队列配速;其中,将所有消息队列配速同步至接入层,接入层可以修改对应的消息队列的配速值,且从同步人工配速表至接入层成功,到接入层成功更改消息队列配速值,有延迟。
1.2响应于当前时刻不属于免打扰时间段,动态配速定时器启动,并可以判断当前时刻是否仍属于上一轮的动态配速过程,如果当前时刻仍属于上一轮的动态配速过程,则结束,跳过本轮的动态配速过程;如果当前时刻不属于上一轮的动态配速过程,则继续本轮的动态配速过程。
1.3查询配速资源参数
其中,配速资源参数包括各大区的大区性能上限(在本申请中记为大区资源总量)、各大区中交互消息通道中的各消息队列的已分配资源量、各消息队列的队列积压量、动态配速最高上限(在本申请中记为动态分配资源阈值)、各消息队列的队列配速最高限制(在本申请中记为队列资源阈值)、动态配速时间间隔t(在本申请中记为第一设定时间间隔)、短小2.0平台上限(在本申请中记为平台资源阈值)、触发资源上限(在本申请中记为触发资源阈值);其中,动态配速时间间隔t可以为人工配置;队列配速最高限制为在对应消息队列内订阅号Chatbot速率最小值(在本申请中记为最小消息处理速率)和对应的设定资源阈值中的最小值,比如,当消息队列为增彩队列(在本申请中记为彩信消息队列)的队列配速最高限制为min{队列内订阅号Chatbot速率最小值,800},其中,800为增彩队列的设定资源阈值。
1.4执行多轮配速资源分配过程
获取属于群发消息通道和触发消息通道的多个消息队列的队列优先级,按照队列优先级,优先为高优先级的消息队列分配资源,在高优先级的消息队列满足之后再依次其他优先级队列分配剩余资源,即按照队列优先级,从高优先级到低优先执行多轮配速资源分配过程,其中,每一轮配速资源分配过程有对应的队列优先级,且每一轮配速资源分配过程有对应的需要分配资源的目标消息队列;可以在每一轮配速资源分配过程中,确定对应队列优先级的各目标消息队列的目标资源分配量。
其中,资源需求计算模块的计算算法入参可以包括以下几个方面:
第一,计算各消息队列的资源需求量D:
(1)当消息队列的队列积压量为0,且该消息队列属于群发消息通道,则该消息队列的资源需求量D为0;当消息队列的队列积压量为0,且该消息队列属于触发消息通道,则该消息队列的资源需求量D为100;
(2)队列积压量不为0:
当消息队列属于群发消息通道,则该消息队列的资源需求量D为:
D=min{max{队列积压量/t,100},动态配速最高上限,队列配速最高限制};
当消息队列属于触发消息通道,则该消息队列的资源需求量D为:
D=min{max{队列积压量/(t/2),100},动态配速最高上限,队列配速最高限制}。
第二,在任一轮配速资源分配过程中,可以计算本轮目标消息队列对应的目标大区的可分配资源量:
在第一轮配速资源分配过程中,本轮各目标大区的可分配资源量S可分配为:
S可分配=S上-S已分配; (11)
S已分配=∑S交; (12)
其中,S上为目标大区的大区性能上限,S交为目标大区中交互消息通道中的消息队列的已分配资源量。
在后续的任一轮配速资源分配过程中,本轮各目标大区的可分配资源量S可分配为:
S可分配=S上-S已分配-100(m1+m2); (13)
S已分配=∑S交+∑X目; (14)
其中,S上为目标大区的大区性能上限,S交为目标大区中交互消息通道中的消息队列的已分配资源量,X目为已执行过的配速资源分配过程中目标大区中各目标消息队列的目标资源分配量;m1为未执行过的配速资源分配过程(即剩余优先级)中属于触发消息通道的消息队列的数量,m2为未执行过的配速资源分配过程中属于群发消息通道且资源需求量不为0的消息队列的数量。
需要说明的是,为降低算法复杂度,发明人将属于触发消息通道的任一消息队列(在本申请中记为第二消息队列)的队列优先级和属于群发消息通道的短小2.0队列(在本申请中记为第一消息队列)的队列优先级不相同,即在任一轮配速资源分配过程中,本轮配速资源分配过程对应的各目标消息队列中不可能同时存在属于触发消息通道的消息队列和属于群发消息通道的短小2.0队列。
比如,属于触发消息通道的消息队列包括普通交互消息队列;属于群发消息通道的消息队列包括短小2.0队列、普通交互消息队列、彩信消息队列,在任一轮配速资源分配过程中,本轮配速资源分配过程对应的各目标消息队列中不可能同时存在属于触发消息通道的普通交互消息队列和属于群发消息通道的短小2.0队列,但是可能存在属于触发消息通道的普通交互消息队列和属于群发消息通道的普通交互消息队列、彩信消息队列。
1.4.1针对任一轮配速资源分配过程,确定本轮配速资源分配过程即本轮队列优先级对应的各目标消息队列对应的目标大区;采用上述计算方法,获取各目标大区的可分配资源量;
1.4.2当本轮配速资源分配过程对应的各目标消息队列中既不包括属于群发消息通道的短小2.0队列且不包括属于触发消息通道的消息队列时,可以采用第一Fair算法,基于本轮各目标消息队列的资源需求量D和本轮各目标大区的可分配资源量,确定本轮各目标消息队列的目标资源分配量;
具体地:
1.4.2.1针对任一目标大区,根据目标大区的可分配资源量S可分配和目标大区中目标消息队列的第一个数n,确定目标大区的资源平均分配量为:
1.4.2.2依次对比各目标消息队列的资源分配量D与资源平均分配量X:
如果该目标大区中所有消息队列满足即所有目标消息队列的需求均无法满足,无多余资源可分享,则令所有目标消息队列的目标资源分配量为算法结束;
如果该目标大区中所有消息队列满足即所有目标消息队列的需求均可以满足,无需分享资源,则令所有目标消息队列的目标资源分配量为其对应的资源需求量D,算法结束;
如果存在一些目标消息队列满足且存在另外一些目标消息队列则表示有的目标消息队列的目标资源分配量除了满足自身需求之外,还有多余的资源可以用于分配,且有的目标消息队列的目标资源分配量不足以满足自身需求,此时,可以把满足的目标消息队列的多余的资源分享给的目标消息队列;
具体地,对于满足的目标消息队列,在本申请中记为第三消息队列,令这些目标消息队列的目标资源分配量等于其对应的资源需求量;根据该目标大区的可分配资源量S可分配和满足的各目标消息队列的目标资源分配量,重新确定目标大区的可分配资源量,即可以根据以下公式重新确定目标大区的可分配资源量:
S'可分配=S可分配-∑S目; (16)
其中,S'可分配为重新确定的目标大区的可分配资源量,S目为目标大区中满足的目标消息队列的目标资源分配量;
对于该目标大区中的各目标消息队列,在本申请中记为第四消息队列,基于重新确定的目标大区的可分配资源量和的目标消息队列的资源需求量,再次采用第一Fair算法,即采用类似于1.4.2.1-1.4.2.2的方法,重新分配资源。
1.4.3当本轮配速资源分配过程对应的各目标消息队列中包括属于群发消息通道的短小2.0队列但不包括属于触发消息通道的消息队列时,可以基于本轮各目标消息队列的资源需求量D和本轮各目标大区的可分配资源量,采用第二Fair算法,确定本轮各目标消息队列的目标资源分配量;
具体地:
1.4.3.1针对任一目标大区,根据目标大区的可分配资源量S可分配和目标大区中各目标消息队列的资源需求量D,先采用第一Fair算法,确定本轮各目标消息队列的第一资源分配量;
1.4.3.2根据本轮各目标消息队列中各短小2.0队列的第一资源分配量之和,确定第一和数;
1.4.3.3判断第一和数是否大于短小2.0平台上限,当第一和数未大于短小2.0平台上限,则确定本轮任一目标消息队列的目标资源分配量为对应的第一资源分配量;
1.4.3.4当第一和数大于短小2.0平台上限,根据短小2.0平台上限和第一和数的占比,确定第一系数;针对任一短小2.0队列,将第一系数与该短小2.0队列的第一资源分配量的乘积,确定为该短小2.0队列的目标资源分配量;
1.4.3.5对于本轮各目标消息队列中不为短小2.0队列的消息队列:
针对任一目标大区,根据目标大区的可分配资源量和目标大区中短小2.0队列的目标资源分配量,重新确定该目标大区的可分配资源量;基于重新确定的目标大区的可分配资源量和本轮各目标消息队列中不为短小2.0队列的各消息队列的资源需求量,再次采用第一Fair算法,即采用类似于1.4.2.1-1.4.2.2的方法,重新分配资源。
1.4.4当本轮配速资源分配过程对应的各目标消息队列中不包括属于群发消息通道的短小2.0队列但包括属于触发消息通道的消息队列时,可以基于本轮各目标消息队列的资源需求量D和本轮各目标大区的可分配资源量,采用第三Fair算法,确定本轮各目标消息队列的目标资源分配量;
具体地:
1.4.4.1针对任一目标大区,根据目标大区的可分配资源量S可分配和目标大区中各目标消息队列的资源需求量D,先采用第一Fair算法,确定本轮各目标消息队列的第二资源分配量;
1.4.4.2根据本轮各目标消息队列中属于触发消息通道的各消息队列的第二资源分配量之和,确定第二和数;
1.4.4.3判断第二和数是否大于触发资源上限,当第二和数未大于触发资源上限,则确定本轮任一目标消息队列的目标资源分配量为对应的第二资源分配量;
1.4.4.4当第二和数大于触发资源上限,根据触发资源上限和第二和数的占比,确定第二系数;针对本轮各目标消息对列中属于触发消息通道的任一消息队列,将第二系数与该消息队列的第二资源分配量的乘积,确定为该消息队列的目标资源分配量;
1.4.3.4对于本轮各目标消息对列中不属于触发消息通道的消息队列:
针对任一目标大区,根据目标大区的可分配资源量和目标大区中属于触发消息通道的各消息队列的目标资源分配量,重新确定该目标大区的可分配资源量;基于重新确定的目标大区的可分配资源量和本轮各目标消息对列中不属于触发消息通道的消息队列的资源需求量,再次采用第一Fair算法,即采用类似于1.4.2.1-1.4.2.2的方法,重新分配资源。
比如,假设在一轮配速资源分配过程中,本轮目标大区包括大区A和大区B,大区A中的目标消息队列包括属于触发消息通道的队列a1和属于触发消息通道的队列a2,大区B中的目标消息队列包括属于属于触发消息通道的队列b1和属于群发消息通道的队列b2(其中,队列b2不为短小2.0队列),大区A的可分配资源量为20,大区B的可分配资源量为25;队列a1的资源需求量为5,队列a2的资源需求量为10,队列b1的资源需求量为5,队列b2的资源需求量为30,触发资源上限为10;
先根据各目标大区的可分配资源量和各目标消息队列的资源需求量,采用第一Fair算法,确定本轮各目标消息队列的第二资源分配量分别为:队列a1的第二资源分配量为5,队列a2的第二资源分配量为10,队列b1的第二资源分配量为5,队列b2的第二资源分配量为20;
由于队列a1、队列a2、队列b1均属于触发消息通道,队列a1的第二资源分配量、队列a2的第二资源分配量和队列b1的第二资源分配量之和为第二和数20,且第二和数20大于触发资源上限为10,因此,根据触发资源上限10与第二和数20之比,确定第二系数为1/2(=10/20);针对本轮各目标消息对列中属于触发消息通道的任一消息队列,将第二系数与该消息队列的第二资源分配量的乘积,确定为该消息队列的目标资源分配量,即队列a1的目标资源分配量为2.5,队列a2的目标资源分配量为5,队列b1的目标资源分配量为2.5;此时,大区A中的两个目标消息队列均已确定对应的目标资源分配量,大区B中仅余不属于触发消息通道的队列b2未确定对应的目标资源分配量;而对于本轮各目标消息对列中不属于触发消息通道的队列b2,先重新确定大区B的可分配资源量,即重新确定该大区的可分配资源量为22.5(=25-2.5),根据该大区的可分配资源量和队列b2的资源需求量,采用第一Fair算法,确定队列b2的目标资源分配量为22.5。
综上,该消息队列智能调度系统的优点至少包括以下几个方面:
1.本系统可以支持根据实时系统资源状况,动态分配不同消息队列的配速资源,可以优化资源利用率,提高系统处理性能。
2.本系统可以先为所有消息队列配置不同的队列优先级,再根据消息队列的优先级来调整消息队列的资源分配优先级。
3.本系统可以根据不同类型的消息动态调整配速方法,由于不同类型的消息拥有不同的业务特点,可以根据业务特点进行个性化的调度分配,以能够实现根据业务需求和系统资源情况进行配置和调整。
4.本系统还可以根据不同消息通道类型的消息来动态调整资源分配,对于消息即时要求较高的触发类消息和交互类消息,系统可以动态调整,即使在队列优先级相同的情况下,也能够为高即时性的消息通道分配更多资源。
与相关技术相比,本申请的消息队列智能调度系统有以下优点:
首先,本申请覆盖的使用范围更广。本申请所述的消息队列智能调度系统可以适用于更多场景,包括但不限于电信运营商、物流公司、金融机构等需要大规模消息传递的领域;同时,本申请所述的消息队列智能调度系统可以支持不同类型的消息,如5G消息、短小2.0消息、视频彩信消息和文字短信消息等,从而更加灵活和多样化。
其次,本申请可以支持多维度消息调度。本申请所述的消息队列智能调度系统不仅可以根据消息的优先级进行调度,还可以根据消息的复合类型、多通道消息的特点进行资源分配。例如,对于即时性要求不高的消息,可以将其分配到群发消息通道;对于即时性要求较高的消息,可以将其分配到触发消息通道;对于跟用户进行对话的消息,可以将其分配到交互消息通道。同时,系统支持根据预先配置的队列优先级,将不同消息类型、消息通道和消息队列的队列优先级映射到对应的下发速率,即配速资源,使得不同优先级的消息能够按照预定的速率进行下发。
最后,本申请采用公平调度策略。本申请中所述的消息队列智能调度系统采用了基于Fair算法的公平调度策略,使得配速资源得到有效的公平利用;且采用Fair算法,还可以提高系统的消息传递效率和资源利用率,从而提升系统整体性能。
综上,本申请中所述的消息队列智能调度系统可以进行多维度的消息调度,具有公平的调度策略,具有强自适应性能力。
与上述图1至图5实施例提供的消息队列资源确定方法相对应,本申请还提供一种消息队列资源确定装置,由于本申请实施例提供的消息队列资源确定方法装置与上述图1至图5实施例提供的消息队列资源确定方法相对应,因此在消息队列资源确定方法的实施方式也适用于本申请实施例提供的消息队列资源确定装置,在本申请实施例中不再详细描述。
图9是本申请实施例七所提供的一种消息队列资源确定装置的结构示意图。
参照图9,该消息队列资源确定装置900可以包括:第一获取模块901、分组模块902和第一确定模块903。
其中,第一获取模块901,用于获取多个消息队列的队列优先级。
分组模块902,用于按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组;其中,任一分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列。
第一确定模块903,用于根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:按照队列优先级从高优先级到低优先级的顺序,对各分组进行排序,以得到排序序列;依据排序序列,对轮询到的目标分组依据目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据资源需求量确定各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,目标大区中包括触发消息通道和/或群发消息通道;获取任一目标大区的可分配资源量;在可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;根据目标分组中各目标消息队列的资源需求量,采用分配策略确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,目标分组中不包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列;第一确定模块903,用于:根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:针对任一目标大区,根据目标大区的可分配资源量和目标大区中目标消息队列的第一个数,确定目标大区的资源平均分配量;响应于目标大区中各目标消息队列的资源需求量均未大于目标大区的资源平均分配量,将目标大区中任一目标消息队列的资源需求量确定为目标消息队列的目标资源分配量;响应于目标大区中各目标消息队列的资源需求量均未小于目标大区的资源平均分配量,将目标大区的资源平均分配量确定为目标大区中目标消息队列的目标资源分配量;响应于目标大区中各目标消息队列中存在第三消息队列和第四消息队列,将任一第三消息队列的资源需求量确定为第三消息队列的目标资源分配量;其中,第三消息队列的资源需求量未大于目标大区的资源平均分配量,第四消息队列的资源需求量大于目标大区的资源平均分配量;根据目标大区的可分配资源量和各第三消息队列的目标资源分配量,重新确定目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量和各第四消息队列的资源需求量,采用第一分配策略,确定各第四消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,目标分组中包括属于群发消息通道的第一消息队列且不包括属于触发消息通道的第二消息队列;第一确定模块903,用于:基于平台资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第二分配策略,确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第一资源分配量;对各目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数;响应于第一和数大于平台资源阈值,根据平台资源阈值和第一和数的占比,确定第一系数;针对任一第一消息队列,根据第一系数与第一消息队列的第一资源分配量的乘积,确定第一消息队列的目标资源分配量;针对任一目标大区,根据目标大区的可分配资源量和目标大区中第一消息队列的目标资源分配量,重新确定目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量,以及目标大区中除第一消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第一消息队列之外的各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,该消息队列资源确定装置900可以包括:
第二确定装置,渔鸥能够与响应于第一和数未大于平台资源阈值,将目标分组中任一目标消息队列的第一资源分配量确定为目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,目标分组中包括属于触发消息通道的第二消息队列且不包括属于群发消息通道的第一消息队列;第一确定模块903,用于:基于触发资源阈值、各目标大区的可分配资源量、目标分组中各目标消息队列的资源需求量,采用第三分配策略,确定目标分组中各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:根据任一目标大区的可分配资源量和目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中各目标消息队列的第二资源分配量;对各目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数;响应于第二和数大于触发资源阈值,根据触发资源阈值和第二和数的占比,确定第二系数;针对任一第二消息队列,根据第二系数与第二消息队列的第二资源分配量的乘积,确定第二消息队列的目标资源分配量;针对任一目标大区,根据目标大区的可分配资源量和目标大区中第二消息队列的目标资源分配量,重新确定目标大区的可分配资源量;响应于重新确定的目标大区的可分配资源量大于第一设定阈值,根据重新确定的目标大区的可分配资源量,以及目标大区中除第二消息队列之外的各目标消息队列的资源需求量,采用第一分配策略,确定目标大区中除第二消息队列之外的各目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,该消息队列资源确定装置900可以包括:
第三确定模块,用于响应于第二和数未大于触发资源阈值,将目标分组中任一目标消息队列的第一资源分配量确定为目标消息队列的目标资源分配量。
在本申请实施例的一种可能的实现方式中,第一确定模块903,用于:针对任一目标大区,确定未轮询到的分组中目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,第五消息队列属于群发消息通道,且第五消息队列的资源需求量不为第二设定阈值;第六消息队列属于触发消息通道;根据已经轮询过的分组中目标大区中的各目标消息队列的目标资源分配量,确定目标大区的目标已分配资源量;基于目标大区的目标资源总量、目标大区的目标已分配资源量、第二个数和第三个数,确定目标大区的可分配资源量。
在本申请实施例的一种可能的实现方式中,该消息队列资源确定装置900可以包括:
第二获取模块,用于对目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到目标大区的交互资源总量;根据目标大区的大区资源总量和目标大区的交互资源总量,确定目标大区的目标资源总量。
在本申请实施例的一种可能的实现方式中,该消息队列资源确定装置900可以包括:
第三获取模块,用于:
响应于目标消息队列的队列消息积压量为0,且目标消息队列属于群发消息通道,目标消息队列的资源需求量为第三设定阈值;
或者,
响应于目标消息队列的队列消息积压量为0,且目标消息队列属于触发消息通道,目标消息队列的资源需求量为第四设定阈值;
或者,
响应于目标消息队列的队列消息积压量不为0,根据目标消息队列的队列消息积压量、目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和第四设定阈值,确定目标消息队列的资源需求量。
在本申请实施例的一种可能的实现方式中,第二获取模块,用于:响应于目标消息队列属于群发消息通道,根据目标消息队列的队列消息积压量与第一设定时间间隔的占比,确定第一比值;从第一比值与第四设定阈值中,确定第一最大值;从第一最大值、目标消息队列的队列资源阈值和动态分配资源阈值中,确定第一最小值;将第一最小值作为目标消息队列的资源需求量。
在本申请实施例的一种可能的实现方式中,第二获取模块,用于:响应于目标消息队列属于触发消息通道,根据第一设定时间间隔,确定第三系数;根据目标消息队列的队列消息积压量与第三系数的占比,确定第二比值;从第二比值与第四设定阈值中,确定第二最大值;从第二最大值、目标消息队列的队列资源阈值和动态分配资源阈值中,确定第二最小值;将第二最小值作为目标消息队列的资源需求量。
在本申请实施例的一种可能的实现方式中,该消息队列资源确定装置900可以包括:
第四获取模块,用于获取目标消息队列对应的设定资源阈值,并获取订阅号Chatbot在目标消息队列中处理消息的最小消息处理速率;从目标消息队列对应的设定资源阈值和最小消息处理速率中,确定第三最小值;将第三最小值作为目标消息队列的队列资源阈值。
本申请实施例的消息队列资源确定装置,通过获取多个消息队列的队列优先级;按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组;其中,任一分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。由此,可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于本申请的实施例,本申请还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述任一实施例的消息队列资源确定方法。
基于本申请的实施例,本申请还提供了一种计算机可读存储介质,其中,计算机指令用于使计算机执行根据本申请实施例提供的前述任一实施例的消息队列资源确定方法。
请参见图10,如图10所示,为可以用来实施本申请的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(Random Access Memory,RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Process,DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如消息队列资源确定方法。例如,在一些实施例中,消息队列资源确定方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的消息队列资源确定方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行消息队列资源确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(ApplicationSpecific Standard Parts,ASSP)、芯片上系统的系统(System On Chip,SOC)、负载可编程逻辑设备(Complex Programmable Logic Device,CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器((Erasable Programmable Read-Only Memory,EPROM)或快闪存储器)、光纤、便捷式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS(VirtualPrivate Server,虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (33)
1.一种消息队列资源确定方法,其特征在于,所述方法包括:
获取多个消息队列的队列优先级;
按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;
根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量;
所述根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量,包括:
按照队列优先级从高优先级到低优先级的顺序,对各所述分组进行排序,以得到排序序列;
依据所述排序序列,对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量;
所述对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量,包括:
确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,所述目标大区中包括所述触发消息通道和/或所述群发消息通道;
获取任一所述目标大区的可分配资源量;
在所述可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据所述目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;
根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定所述目标分组中各所述目标消息队列的目标资源分配量。
2.根据权利要求1所述的方法,其特征在于,所述目标分组中不包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;
所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:
根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量。
3.根据权利要求2所述的方法,其特征在于,所述根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量,包括:
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中目标消息队列的第一个数,确定所述目标大区的资源平均分配量;
响应于所述目标大区中各所述目标消息队列的资源需求量均未大于所述目标大区的资源平均分配量,将所述目标大区中任一所述目标消息队列的资源需求量确定为所述目标消息队列的目标资源分配量;
响应于所述目标大区中各所述目标消息队列的资源需求量均未小于所述目标大区的资源平均分配量,将所述目标大区的资源平均分配量确定为所述目标大区中所述目标消息队列的目标资源分配量;
响应于所述目标大区中各所述目标消息队列中存在第三消息队列和第四消息队列,将任一所述第三消息队列的资源需求量确定为所述第三消息队列的目标资源分配量;其中,所述第三消息队列的资源需求量未大于所述目标大区的资源平均分配量,所述第四消息队列的资源需求量大于所述目标大区的资源平均分配量;
根据所述目标大区的可分配资源量和各所述第三消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量和各所述第四消息队列的资源需求量,采用所述第一分配策略,确定各所述第四消息队列的目标资源分配量。
4.根据权利要求1所述的方法,其特征在于,所述目标分组中包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;
所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:
基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
5.根据权利要求4所述的方法,其特征在于,所述基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:
根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第一资源分配量;
对各所述目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数;
响应于所述第一和数大于所述平台资源阈值,根据所述平台资源阈值和所述第一和数的占比,确定第一系数;
针对任一所述第一消息队列,根据所述第一系数与所述第一消息队列的第一资源分配量的乘积,确定所述第一消息队列的目标资源分配量;
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第一消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第一消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第一消息队列之外的各目标消息队列的目标资源分配量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于所述第一和数未大于所述平台资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
7.根据权利要求1所述的方法,其特征在于,所述目标分组中包括属于所述触发消息通道的第二消息队列且不包括属于所述群发消息通道的第一消息队列;
所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:
基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
8.根据权利要求7所述的方法,其特征在于,所述基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:
根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第二资源分配量;
对各所述目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数;
响应于所述第二和数大于所述触发资源阈值,根据所述触发资源阈值和所述第二和数的占比,确定第二系数;
针对任一所述第二消息队列,根据所述第二系数与所述第二消息队列的第二资源分配量的乘积,确定所述第二消息队列的目标资源分配量;
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第二消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第二消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第二消息队列之外的各目标消息队列的目标资源分配量。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
10.根据权利要求1所述的方法,其特征在于,所述获取任一所述目标大区的可分配资源量,包括:
针对任一所述目标大区,确定未轮询到的分组中所述目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,所述第五消息队列属于所述群发消息通道,且所述第五消息队列的资源需求量不为第二设定阈值;所述第六消息队列属于所述触发消息通道;
根据已经轮询过的分组中所述目标大区中的各所述目标消息队列的目标资源分配量,确定所述目标大区的目标已分配资源量;
基于所述目标大区的目标资源总量、所述目标大区的目标已分配资源量、所述第二个数和所述第三个数,确定所述目标大区的可分配资源量。
11.根据权利要求10所述的方法,其特征在于,所述目标大区的目标资源总量的获取,包括:
对所述目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到所述目标大区的交互资源总量;
根据所述目标大区的大区资源总量和所述目标大区的交互资源总量,确定所述目标大区的目标资源总量。
12.根据权利要求1所述的方法,其特征在于,所述目标消息队列的资源需求量的获取,包括:
响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于群发消息通道,所述目标消息队列的资源需求量为第三设定阈值;
响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于触发消息通道,所述目标消息队列的资源需求量为第四设定阈值;
响应于所述目标消息队列的队列消息积压量不为0,根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量。
13.根据权利要求12所述的方法,其特征在于,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:
响应于所述目标消息队列属于所述群发消息通道,根据所述目标消息队列的队列消息积压量与所述第一设定时间间隔的占比,确定第一比值;
从所述第一比值与所述第四设定阈值中,确定第一最大值;
从所述第一最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第一最小值;
将所述第一最小值作为所述目标消息队列的资源需求量。
14.根据权利要求12所述的方法,其特征在于,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:
响应于所述目标消息队列属于所述触发消息通道,根据所述第一设定时间间隔,确定第三系数;
根据所述目标消息队列的队列消息积压量与所述第三系数的占比,确定第二比值;
从所述第二比值与所述第四设定阈值中,确定第二最大值;
从所述第二最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第二最小值;
将所述第二最小值作为所述目标消息队列的资源需求量。
15.根据权利要求12所述的方法,其特征在于,所述目标消息队列的队列资源阈值的获取,包括:
获取所述目标消息队列对应的设定资源阈值,并获取订阅号Chatbot在所述目标消息队列中处理消息的最小消息处理速率;
从所述目标消息队列对应的设定资源阈值和所述最小消息处理速率中,确定第三最小值;
将所述第三最小值作为所述目标消息队列的队列资源阈值。
16.一种资源智能调度系统,其特征在于,所述系统包括基础配置模块、监控模块、资源确定模块和资源分配模块,其中:
所述基础配置模块,用于配置任一种消息对应的消息队列、各所述消息队列的队列优先级;
所述监控模块,用于监控各所述消息队列的队列消息积压量和各所述消息队列的实时速率;
所述资源确定模块,用于采用如权利要求1-15中任一所述的消息队列资源确定方法,确定多个消息队列对应的目标资源分配量;
所述资源分配模块,用于根据任一所述消息队列的目标资源分配量,对所述消息队列进行配速资源分配。
17.一种消息队列资源确定装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个消息队列的队列优先级;
分组模块,用于按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;
第一确定模块,用于根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量;
所述第一确定模块,具体用于:
按照队列优先级从高优先级到低优先级的顺序,对各所述分组进行排序,以得到排序序列;
依据所述排序序列,对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量;
所述第一确定模块,具体用于:
确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,所述目标大区中包括所述触发消息通道和/或所述群发消息通道;
获取任一所述目标大区的可分配资源量;
在所述可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据所述目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;
根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定所述目标分组中各所述目标消息队列的目标资源分配量。
18.根据权利要求17所述的装置,其特征在于,所述目标分组中不包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;
所述第一确定模块,具体用于:
根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量。
19.根据权利要求18所述的装置,其特征在于,所述第一确定模块,具体用于:
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中目标消息队列的第一个数,确定所述目标大区的资源平均分配量;
响应于所述目标大区中各所述目标消息队列的资源需求量均未大于所述目标大区的资源平均分配量,将所述目标大区中任一所述目标消息队列的资源需求量确定为所述目标消息队列的目标资源分配量;
响应于所述目标大区中各所述目标消息队列的资源需求量均未小于所述目标大区的资源平均分配量,将所述目标大区的资源平均分配量确定为所述目标大区中所述目标消息队列的目标资源分配量;
响应于所述目标大区中各所述目标消息队列中存在第三消息队列和第四消息队列,将任一所述第三消息队列的资源需求量确定为所述第三消息队列的目标资源分配量;其中,所述第三消息队列的资源需求量未大于所述目标大区的资源平均分配量,所述第四消息队列的资源需求量大于所述目标大区的资源平均分配量;
根据所述目标大区的可分配资源量和各所述第三消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量和各所述第四消息队列的资源需求量,采用所述第一分配策略,确定各所述第四消息队列的目标资源分配量。
20.根据权利要求17所述的装置,其特征在于,所述目标分组中包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;
所述第一确定模块,具体用于:
基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
21.根据权利要求20所述的装置,其特征在于,所述第一确定模块,具体用于:
根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第一资源分配量;
对各所述目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数;
响应于所述第一和数大于所述平台资源阈值,根据所述平台资源阈值和所述第一和数的占比,确定第一系数;
针对任一所述第一消息队列,根据所述第一系数与所述第一消息队列的第一资源分配量的乘积,确定所述第一消息队列的目标资源分配量;
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第一消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第一消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第一消息队列之外的各目标消息队列的目标资源分配量。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于响应于所述第一和数未大于所述平台资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
23.根据权利要求17所述的装置,其特征在于,所述目标分组中包括属于所述触发消息通道的第二消息队列且不包括属于所述群发消息通道的第一消息队列;
所述第一确定模块,具体用于:
基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。
24.根据权利要求23所述的装置,其特征在于,所述第一确定模块,具体用于:
根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第二资源分配量;
对各所述目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数;
响应于所述第二和数大于所述触发资源阈值,根据所述触发资源阈值和所述第二和数的占比,确定第二系数;
针对任一所述第二消息队列,根据所述第二系数与所述第二消息队列的第二资源分配量的乘积,确定所述第二消息队列的目标资源分配量;
针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第二消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;
响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第二消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第二消息队列之外的各目标消息队列的目标资源分配量。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。
26.根据权利要求17所述的装置,其特征在于,所述第一获取模块,具体用于:
针对任一所述目标大区,确定未轮询到的分组中所述目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,所述第五消息队列属于所述群发消息通道,且所述第五消息队列的资源需求量不为第二设定阈值;所述第六消息队列属于所述触发消息通道;
根据已经轮询过的分组中所述目标大区中的各所述目标消息队列的目标资源分配量,确定所述目标大区的目标已分配资源量;
基于所述目标大区的目标资源总量、所述目标大区的目标已分配资源量、所述第二个数和所述第三个数,确定所述目标大区的可分配资源量。
27.根据权利要求26所述的装置,其特征在于,所述装置还包括:
第二获取模块,具体用于:
对所述目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到所述目标大区的交互资源总量;
根据所述目标大区的大区资源总量和所述目标大区的交互资源总量,确定所述目标大区的目标资源总量。
28.根据权利要求17所述的装置,其特征在于,所述装置还包括:
第三获取模块,具体用于:
响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于群发消息通道,所述目标消息队列的资源需求量为第三设定阈值;
或者,
响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于触发消息通道,所述目标消息队列的资源需求量为第四设定阈值;
或者,
响应于所述目标消息队列的队列消息积压量不为0,根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量。
29.根据权利要求28所述的装置,其特征在于,所述第三获取模块,具体用于:
响应于所述目标消息队列属于所述群发消息通道,根据所述目标消息队列的队列消息积压量与所述第一设定时间间隔的占比,确定第一比值;
从所述第一比值与所述第四设定阈值中,确定第一最大值;
从所述第一最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第一最小值;
将所述第一最小值作为所述目标消息队列的资源需求量。
30.根据权利要求28所述的装置,其特征在于,所述第三获取模块,具体用于:
响应于所述目标消息队列属于所述触发消息通道,根据所述第一设定时间间隔,确定第三系数;
根据所述目标消息队列的队列消息积压量与所述第三系数的占比,确定第二比值;
从所述第二比值与所述第四设定阈值中,确定第二最大值;
从所述第二最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第二最小值;
将所述第二最小值作为所述目标消息队列的资源需求量。
31.根据权利要求28所述的装置,其特征在于,所述装置还包括:
第四获取模块,具体用于:
获取所述目标消息队列对应的设定资源阈值,并获取订阅号Chatbot在所述目标消息队列中处理消息的最小消息处理速率;
从所述目标消息队列对应的设定资源阈值和所述最小消息处理速率中,确定第三最小值;
将所述第三最小值作为所述目标消息队列的队列资源阈值。
32.一种电子设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至15中任一项所述的消息队列资源确定方法。
33.一种计算机可读存储介质,用于存储有指令,其特征在于,当所述指令被执行时,使如权利要求1至15中任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311113825.XA CN117176672B (zh) | 2023-08-30 | 2023-08-30 | 消息队列资源确定方法、装置及资源智能调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311113825.XA CN117176672B (zh) | 2023-08-30 | 2023-08-30 | 消息队列资源确定方法、装置及资源智能调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117176672A CN117176672A (zh) | 2023-12-05 |
CN117176672B true CN117176672B (zh) | 2024-10-15 |
Family
ID=88944184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311113825.XA Active CN117176672B (zh) | 2023-08-30 | 2023-08-30 | 消息队列资源确定方法、装置及资源智能调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176672B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1745549A (zh) * | 2002-12-13 | 2006-03-08 | 艾利森公司 | 基于内容处理消息的系统 |
CN114979982A (zh) * | 2022-04-13 | 2022-08-30 | 中移互联网有限公司 | 消息的下发方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179793A1 (en) * | 2009-06-29 | 2012-07-12 | Nokia Corporation | Resource Allocation |
US8972512B2 (en) * | 2011-09-30 | 2015-03-03 | Mail Bypass, Inc. | Message delivery systems and methods |
CN113032112A (zh) * | 2019-12-25 | 2021-06-25 | 上海商汤智能科技有限公司 | 资源调度方法及装置、电子设备和存储介质 |
CN115834509A (zh) * | 2022-09-27 | 2023-03-21 | 中国建设银行股份有限公司 | 消息处理方法、装置、存储介质及电子设备 |
CN116095079A (zh) * | 2023-01-28 | 2023-05-09 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置、电子设备以及存储介质 |
-
2023
- 2023-08-30 CN CN202311113825.XA patent/CN117176672B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1745549A (zh) * | 2002-12-13 | 2006-03-08 | 艾利森公司 | 基于内容处理消息的系统 |
CN114979982A (zh) * | 2022-04-13 | 2022-08-30 | 中移互联网有限公司 | 消息的下发方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117176672A (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813513A (zh) | 基于分布式的实时任务调度方法、装置、设备及介质 | |
CN108776934A (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN107295090A (zh) | 一种资源调度的方法和装置 | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN112559182A (zh) | 资源分配方法、装置、设备及存储介质 | |
US20190332328A1 (en) | Storage Controller and IO Request Processing Method | |
CN113285886B (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
CN109800261A (zh) | 双数据库连接池的动态控制方法、装置及相关设备 | |
KR20240052091A (ko) | 그래픽 처리 유닛 자원 관리 방법, 장치, 디바이스, 저장 매체, 및 프로그램 제품 | |
CN112888005B (zh) | 一种面向mec的分布式业务调度方法 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
CN113986497B (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN111324459A (zh) | 基于日历的资源调度方法、装置、电子设备及存储介质 | |
CN117176672B (zh) | 消息队列资源确定方法、装置及资源智能调度系统 | |
CN109257303A (zh) | QoS队列调度方法、装置和卫星通信系统 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN116634023A (zh) | 业务调度方法、装置、电子设备及存储介质 | |
CN115766582A (zh) | 流量控制方法、装置和系统、介质和计算机设备 | |
CN116661960A (zh) | 一种批量任务处理方法、装置、设备以及存储介质 | |
CN115550284A (zh) | 消息处理方法、装置和设备 | |
WO2022177455A1 (en) | Method and system for optimizing resource and traffic management of a computer execution environment in a vran | |
CN114138453A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |