[go: up one dir, main page]

CN117176672B - Message queue resource determination method, device and resource intelligent scheduling system - Google Patents

Message queue resource determination method, device and resource intelligent scheduling system Download PDF

Info

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
message queue
queue
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
Application number
CN202311113825.XA
Other languages
Chinese (zh)
Other versions
CN117176672A (en
Inventor
彭星桂
万倩茹
江旭
杨金生
王磊
林德煜
郑雁询
张浩宇
孙立军
陈良升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Internet Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Internet Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Internet Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202311113825.XA priority Critical patent/CN117176672B/en
Publication of CN117176672A publication Critical patent/CN117176672A/en
Application granted granted Critical
Publication of CN117176672B publication Critical patent/CN117176672B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种消息队列资源确定方法、装置及资源智能调度系统。其中,该方法包括:获取多个消息队列的队列优先级;按照各消息队列的队列优先级,对各消息队列进行分组,以得到至少一个分组;其中,任一分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;根据各分组对应的队列优先级,对各分组顺序基于相应分组中各目标消息队列的资源需求量,确定各目标消息队列的目标资源分配量。由此,可以基于消息队列的队列优先级,实现对不同队列优先级的消息队列的目标资源分配量的自动确定,可以有效提升消息处理的效率。

The present application provides a message queue resource determination method, device and resource intelligent scheduling system. The method includes: obtaining the queue priorities of multiple message queues; grouping each message queue according to the queue priority of each message queue to obtain at least one group; any group has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; according to the queue priority corresponding to each group, the target resource allocation amount of each target message queue is determined based on the resource demand of each target message queue in the corresponding group. Thus, the automatic determination of the target resource allocation amount of message queues with different queue priorities can be achieved based on the queue priority of the message queue, which can effectively improve the efficiency of message processing.

Description

Message queue resource determining method and device and resource intelligent scheduling system
Technical Field
The present application relates to the field of data processing technologies, and in particular, to a method and an apparatus for determining a message queue resource, and an intelligent scheduling system for resources.
Background
In the message subscription number platform product, the message sending amount is large, the message types are many, and the message queue needs to be managed and scheduled to support the stable operation of the platform. However, for processing of composite type messages, the related art cannot flexibly configure message issuing rates of different message queues according to priorities of different types of messages, so that problems of unbalanced message processing or low processing efficiency of certain types of messages are caused.
Disclosure of Invention
The application provides a method and a device for determining message queue resources and an intelligent resource scheduling system. The automatic determination of the allocation amount of the target resources of the message queues with different queue priorities can be realized based on the queue priorities of the message queues, and the efficiency of message processing can be effectively improved.
In a first aspect, an embodiment of the present application provides a method for determining a message queue resource, where the method includes: acquiring queue priorities of a plurality of message queues; grouping each message queue according to the queue priority of each message queue to obtain at least one group; any packet has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; and determining the target resource allocation amount of each target message queue according to the queue priority corresponding to each packet and based on the resource demand amount of each target message queue in the corresponding packet for each packet sequence.
In an optional implementation manner, the determining, for each packet in order based on the resource demand of each target message queue in the corresponding packet according to the queue priority corresponding to each packet, the target resource allocation amount of each target message queue includes: sequencing the packets according to the sequence from high priority to low priority of the queue priority to obtain a sequencing sequence; and according to the sequencing sequence, distributing speed allocation resources to the polled target packet according to the triggering message channel or the group sending message channel of each target message queue in the target packet by adopting a corresponding allocation strategy so as to determine the target resource allocation quantity of each target message queue according to the resource demand quantity.
In an optional implementation manner, the allocating speed resources by the pair of polled target packets according to the triggering message channel or the group sending message channel of the channels to which each target message queue belongs in the target packets by adopting a corresponding allocation policy to determine the target resource allocation amount of each target message queue according to the resource demand amount includes: determining a target large area corresponding to each target message queue in the polled target packet; the target large area comprises the trigger message channel and/or the group sending message channel; acquiring the allocable resource quantity of any target large area; when the amount of the allocable resources is larger than a first set threshold value, determining a corresponding allocation strategy for the polled target packet according to whether a channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel; and determining the target resource allocation amount of each target message queue in the target packet by adopting the allocation strategy according to the resource demand amount of each target message queue in the target packet.
In an alternative implementation, the target packet does not include the first message queue belonging to the group messaging channel and does not include the second message queue belonging to the trigger message channel; the determining, according to the resource demand of each target message queue in the target packet, the target resource allocation amount of each target message queue by adopting the allocation policy includes: and determining the target resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the target resource allocation amount of each target message queue in the target large area.
In an alternative implementation manner, the determining, according to the allocable resource amount of any one of the target large areas and the target resource allocation amount of each target message queue in the target large area, the target resource allocation amount of each target message queue in the target large area by adopting a first allocation policy includes: determining the average allocation amount of resources of the target large area according to the allocable resource amount of the target large area and the first number of target message queues in the target large area aiming at any target large area; determining the resource demand of any one of the target message queues in the target large area as the target resource allocation amount of the target message queues in response to the resource demand of each of the target message queues in the target large area not being greater than the average resource allocation amount of the target large area; determining the average resource allocation of the target large area as the target resource allocation of the target message queues in the target large area in response to the resource demand of each target message queue in the target large area being greater than the average resource allocation of the target large area; determining the resource demand of any one of the third message queues as the target resource allocation amount of the third message queue in response to the existence of the third message queue and the fourth message queue in each of the target message queues in the target large area; the resource demand of the third message queue is not larger than the resource average allocation of the target large area, and the resource demand of the fourth message queue is larger than the resource average allocation of the target large area; re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of each third message queue; and in response to the re-determined amount of allocable resources of the target area being greater than the first set threshold, determining a target amount of allocation of resources for each of the fourth message queues using the first allocation policy based on the re-determined amount of allocable resources of the target area and the amount of resource demand for each of the fourth message queues.
In an alternative implementation, the target packet includes a first message queue belonging to the group messaging channel and does not include a second message queue belonging to the trigger message channel; the determining, according to the resource demand of each target message queue in the target packet, the target resource allocation amount of each target message queue by adopting the allocation policy includes: and determining the target resource allocation amount of each target message queue in the target packet by adopting a second allocation strategy based on the platform resource threshold, the allocable resource amount of each target large area and the resource demand amount of each target message queue in the target packet.
In an alternative implementation manner, the determining, by using a second allocation policy, the target resource allocation amount of each target message queue in the target packet based on the platform resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet includes: determining a first resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area; adding the first resource allocation amount of each first message queue to obtain a first sum; responsive to the first sum being greater than the platform resource threshold, determining a first coefficient from the platform resource threshold and a duty cycle of the first sum; determining a target resource allocation amount of the first message queue according to the product of the first coefficient and a first resource allocation amount of the first message queue for any first message queue; for any one of the target large areas, re-determining the allocable resource amount of the target large area according to the allocable resource amount of the target large area and the target resource allocation amount of the first message queue in the target large area; and in response to the re-determined amount of allocatable resources of the target large area being greater than the first set threshold, determining a target allocation amount of resources of each target message queue of the target large area except the first message queue according to the re-determined amount of allocatable resources of the target large area and the resource demand amount of each target message queue of the target large area except the first message queue by adopting the first allocation strategy.
In an alternative implementation, the method for determining message queue resources further includes: and determining a first resource allocation amount of any one of the target message queues in the target packet as a target resource allocation amount of the target message queue in response to the first sum not being greater than the platform resource threshold.
In an alternative implementation, the target packet includes a second message queue belonging to the trigger message channel and does not include a first message queue belonging to the group messaging channel; the determining, according to the resource demand of each target message queue in the target packet, the target resource allocation amount of each target message queue by adopting the allocation policy includes: and determining the target resource allocation amount of each target message queue in the target packet by adopting a third allocation strategy based on the trigger resource threshold, the allocable resource amount of each target large area and the resource demand amount of each target message queue in the target packet.
In an alternative implementation manner, the determining, by using a third allocation policy, the target resource allocation amount of each target message queue in the target packet based on the trigger resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet includes: determining a second resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area; adding the second resource allocation amount of each second message queue to obtain a second sum; responsive to the second sum being greater than the trigger resource threshold, determining a second coefficient according to the trigger resource threshold and a duty cycle of the second sum; determining a target resource allocation amount of the second message queue according to the product of the second coefficient and a second resource allocation amount of the second message queue for any second message queue; determining the allocable resource quantity of the target large area again according to the allocable resource quantity of the target large area and the target resource allocation quantity of the second message queue in the target large area aiming at any target large area; and in response to the re-determined amount of allocatable resources of the target large area being greater than the first set threshold, determining a target allocation amount of resources of each target message queue of the target large area except the second message queue according to the re-determined amount of allocatable resources of the target large area and the resource demand amount of each target message queue of the target large area except the second message queue by adopting the first allocation strategy.
In an alternative implementation, the method for determining message queue resources further includes: and determining a first resource allocation amount of any one of the target message queues in the target packet as a target resource allocation amount of the target message queue in response to the second sum not being greater than the trigger resource threshold. And determining a first resource allocation amount of any one of the target message queues in the target packet as a target resource allocation amount of the target message queue in response to the second sum not being greater than the trigger resource threshold.
In an alternative implementation, the acquiring the allocable resource amount of any of the target large areas includes: determining a second number of fifth message queues and a third number of sixth message queues in the target large area in the unrepolled packet according to any target large area; wherein, the fifth message queue belongs to the group messaging channel, and the resource demand of the fifth message queue is not a second set threshold; the sixth message queue belongs to the trigger message channel; determining a target allocated resource amount of the target large area according to the target resource allocation amount of each target message queue in the polled group; and determining the allocatable resource quantity of the target large area based on the target resource total quantity of the target large area, the target allocated resource quantity of the target large area, the second number and the third number.
In an alternative implementation, the obtaining the target total amount of resources of the target large area includes: adding the allocated resource amounts of all message queues in the interactive message channel in the target large area to obtain the total interactive resource amount of the target large area; and determining the target total resource of the target large area according to the total resource of the large area of the target large area and the total interactive resource of the target large area.
In an alternative implementation, the obtaining the resource demand of the target message queue includes: responding to the queue message backlog of the target message queue being 0, wherein the target message queue belongs to a mass messaging channel, and the resource demand of the target message queue is a third set threshold; responding to the queue message backlog of the target message queue being 0, wherein the target message queue belongs to a trigger message channel, and the resource demand of the target message queue is a fourth set threshold; and determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval and the fourth set threshold in response to the queue message backlog of the target message queue being not 0.
In an alternative implementation manner, the determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval and the fourth set threshold includes: responding to the target message queue belonging to the mass messaging channel, and determining a first ratio according to the ratio of the queue message backlog quantity of the target message queue to the first set time interval; determining a first maximum value from the first ratio and the fourth set threshold; determining a first minimum value from the first maximum value, a queue resource threshold of the target message queue and the dynamic allocation resource threshold; the first minimum value is taken as the resource demand of the target message queue.
In an alternative implementation manner, the determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval and the fourth set threshold includes: determining a third coefficient according to the first set time interval in response to the target message queue belonging to the trigger message channel; determining a second ratio according to the ratio of the queue message backlog of the target message queue to the third coefficient; determining a second maximum value from the second ratio and the fourth set threshold; determining a second minimum value from the second maximum value, a queue resource threshold of the target message queue and the dynamic allocation resource threshold; and taking the second minimum value as the resource demand of the target message queue.
In an alternative implementation, the obtaining of the queue resource threshold of the target message queue includes: acquiring a set resource threshold corresponding to the target message queue, and acquiring the minimum message processing rate of the subscription number Chatbot when processing the message in the message queue; determining a third minimum value from a set resource threshold corresponding to the target message queue and a corresponding message processing rate; and taking the third minimum value as a queue resource threshold of the target message queue.
In a second aspect, an embodiment of the present application provides a resource intelligent scheduling system, where the system includes a basic configuration module, a monitoring module, a resource determining module, and a resource allocation module, where:
The basic configuration module is used for configuring any message queue corresponding to the message and the queue priority of each message queue;
The monitoring module is used for monitoring the queue message backlog quantity of each message queue and the allocated resource quantity of each message queue;
the resource determining module is configured to determine target resource allocation amounts corresponding to the plurality of message queues by using the message queue resource determining method according to the first aspect of the present application;
and the resource allocation module is used for allocating the speed-matching resources to the message queue according to the target resource allocation amount of any message queue.
In a third aspect, an embodiment of the present application provides a message queue resource determining apparatus, where the apparatus includes: the first acquisition module is used for acquiring queue priorities of a plurality of message queues; a grouping module, configured to group each message queue according to a queue priority of each message queue, so as to obtain at least one group; any packet has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; a first determining module, configured to determine, for each packet, a target resource allocation amount of each target message queue based on a resource demand amount of each target message queue in a corresponding packet according to a queue priority corresponding to each packet.
In a fourth aspect, an embodiment of the present application provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the message queue resource determination method of the first aspect.
In a fifth aspect, an embodiment of the present application provides a computer readable storage medium storing instructions that, when executed, cause a method as described in the first aspect to be implemented.
In a sixth aspect, an embodiment of the present application provides a computer program product comprising a computer program which, when executed by a processor, implements the steps of the message queue resource determination method according to the first aspect.
The technical scheme provided by the embodiment of the application can comprise the following beneficial effects: the automatic determination of the allocation amount of the target resources of the message queues with different queue priorities can be realized based on the queue priorities of the message queues, and the efficiency of message processing can be effectively improved. It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the application or to delineate the scope of the application. Other features of the present application will become apparent from the description that follows.
Drawings
The drawings are included to provide a better understanding of the present application and are not to be construed as limiting the application. Wherein:
FIG. 1 is a diagram of a method for determining message queue resources according to a first embodiment of the present application;
Fig. 2 is a schematic diagram of a method for determining message queue resources according to a second embodiment of the present application;
fig. 3 is a schematic diagram of a method for determining a message queue resource according to a third embodiment of the present application;
fig. 4 is a schematic diagram of a method for determining message queue resources according to a fourth embodiment of the present application;
Fig. 5 is a schematic diagram of a method for determining message queue resources according to a fifth embodiment of the present application;
fig. 6 is a schematic structural diagram of an intelligent scheduling system according to a sixth embodiment of the present application;
FIG. 7 is a schematic diagram of a message queue intelligent scheduling system according to the present application;
FIG. 8 is a flow chart of a dynamic speed allocation method implemented by the resource demand calculation module according to the present application;
FIG. 9 is a schematic diagram of a message queue resource determining apparatus according to the seventh embodiment of the present application;
FIG. 10 is a schematic block diagram of an example electronic device that may be used to implement embodiments of the present application.
Detailed Description
Exemplary embodiments of the present application will now be described with reference to the accompanying drawings, in which various details of the embodiments of the present application are included to facilitate understanding, and are to be considered merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Wherein, in the description of the present application, "/" means or is meant unless otherwise indicated, for example, a/B may represent a or B; "and/or" herein is merely an association relationship describing an association object, and means that three relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone. The first, second, etc. numbers referred to in the present application are merely for convenience of description and are not intended to limit the scope of the embodiments of the present application, nor represent the sequence.
In the related art, there are the following disadvantages in processing multi-priority composite type messages, multi-channels, and multi-message queues:
(1) Cannot cope with the constraints of multi-type messages: it is difficult to flexibly configure the message delivery rate of different channels and queues according to the constraints of different types of messages, so that the resource allocation of the message delivery rate is not consistent with the actual situation, and overspeed situation is caused.
(2) Service characteristics of the multi-channel message are not considered: in processing a multi-channel message, the message's instantaneity requirements are not prioritized. For example, the trigger message channel has higher requirement for instantaneity, and the group messaging channel has lower requirement for instantaneity, so that more resources need to be allocated to the trigger message channel preferentially when the message sending rate resources are allocated. However, the disadvantage of not prioritizing the immediacy requirements of a message results in an imbalance in message processing, affecting overall business.
Aiming at least one problem, the application provides a message queue resource determining method, a message queue resource determining device and a resource intelligent scheduling system.
The method, the device and the system for determining the message queue resources are described below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a method for determining message queue resources according to an embodiment of the present application.
The embodiment of the application is exemplified by the fact that the message queue resource determining method is configured in the message queue resource determining device, and the message queue resource determining device can be applied to any electronic equipment so that the electronic equipment can execute the message queue resource determining function.
The electronic device may be any device with computing capability, for example, a Personal Computer (PC), a mobile terminal, a server, and the like, and the mobile terminal may be, for example, a mobile phone, a tablet computer, a personal digital assistant, a wearable device, and the like, which have various hardware devices including an operating system, a touch screen, and/or a display screen.
As shown in fig. 1, the message queue resource determining method may include the steps of:
Step S101, obtaining queue priorities of a plurality of message queues.
In the embodiment of the application, each message queue can have a corresponding queue priority.
It will be appreciated that the queue priority of the message queue may be represented numerically, or the like. For example, the queue priority of the message queue is expressed as 0 to 5 in order from high priority to low priority, and for example, the queue priority of the message queue is expressed as a to K in order from high priority to low priority. It should be noted that the above examples are merely exemplary, and in practical applications, the queue priority of the message queue may be set as needed.
In the embodiment of the application, the queue priority of a plurality of message queues can be acquired.
As a possible implementation manner, the queue priorities of the plurality of message queues may be preconfigured, and the queue priorities of the message queues may be saved, so that the queue priorities of the message queues may be queried and read.
Step S102, grouping each message queue according to the queue priority of each message queue to obtain at least one group.
Wherein any packet may have a corresponding queue priority and any packet may include a target message queue belonging to the corresponding queue priority.
It will be appreciated that the number of target message queues included in any one packet that belong to a corresponding queue priority may be, but is not limited to being, one, as the application is not limited in this regard.
In the embodiment of the application, each message queue can be grouped according to the queue priority of each message queue to obtain at least one group. It should be noted that the number of the packets may be one or may be plural, and the present application is not limited thereto.
For example, assume that the plurality of message queues are acquired and include a message queue A1, a message queue A2, a message queue A3, a message queue B1, and a message queue B2, and the queue priorities of the message queues are sequentially 0 level, 1 level, 2 level, and 3 level, and after each message queue is grouped according to the queue priority of each message queue, the obtained packets are respectively:
Packet 1 (corresponding queue priority is level 0): message queue A1
Packet 2 (corresponding queue priority 1): message queue A2
Packet 3 (corresponding queue priority is level 2): message queue A3, message queue B1
Packet 4 (corresponding queue priority is 3): message queue B2
Step S103, determining the target resource allocation amount of each target message queue based on the resource demand amount of each target message queue in the corresponding packet for each packet sequence according to the queue priority corresponding to each packet.
In an embodiment of the present application, each packet may have a corresponding packet sequence.
In the embodiment of the application, the packet sequence corresponding to each packet can be determined according to the queue priority corresponding to each packet.
Still further, by way of example, the packet order of packet 4 is determined to be 1, the packet order of packet 3 is determined to be 2, the packet order of packet 2 is determined to be 3, and the packet order of packet 1 is determined to be 4 based on the queue priority corresponding to each packet; for another example, according to the queue priority corresponding to each packet, it is determined that the packet order of packet 1 is 1, the packet order of packet 2 is 2, the packet order of packet 3 is 3, the packet order of packet 4 is 4, and so on.
It should be noted that the foregoing examples of the packet sequence of each packet are merely exemplary, and may be other in practical applications, which is not limited by the present application.
In the embodiment of the application, after determining the packet sequence corresponding to each packet according to the queue priority corresponding to each packet, the target resource allocation amount of each target message queue in the corresponding packet can be determined for each packet sequence based on the resource demand amount of each target message queue in the corresponding packet.
The message queue resource determining method of the embodiment of the application obtains the queue priority of a plurality of message queues; grouping each message queue according to the queue priority of each message queue to obtain at least one group; wherein, any packet has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; and determining the target resource allocation amount of each target message queue according to the queue priority corresponding to each packet and based on the resource demand amount of each target message queue in the corresponding packet for each packet sequence. Therefore, the automatic determination of the target resource allocation amount of the message queues with different queue priorities can be realized based on the queue priorities of the message queues, and the efficiency of message processing can be effectively improved.
In order to clearly illustrate how, in the above embodiment of the present application, the target resource allocation amount of each target message queue is determined for each packet sequence based on the resource demand amount of each target message queue in the corresponding packet according to the queue priority corresponding to each packet, and a method for determining the resource of each message queue is also provided.
Fig. 2 is a schematic diagram of a method for determining message queue resources according to a second embodiment of the present application.
As shown in fig. 2, the message queue resource determining method may include the steps of:
step S201, obtaining queue priorities of a plurality of message queues.
Step S202, grouping each message queue according to the queue priority of each message queue to obtain at least one group.
The execution of steps S201 to S202 may refer to the execution of any embodiment of the present application, and will not be described herein.
In step S203, the packets are ordered in order of the queue priority from high priority to low priority to obtain an ordered sequence.
In the embodiment of the application, the packets can be ordered according to the order from the high priority to the low priority of the queue priority, so as to obtain an ordering sequence.
Still referring to the example in step S102, when the order of the queue priority from the high priority to the low priority is 0 to 3 in order, the packets are ordered according to the order of the queue priority from the high priority to the low priority, resulting in the ordered sequence of packet 1, packet 2, packet 3, and packet 4.
Step S204, according to the sorting sequence, the polled target packet is allocated with the allocation rate resources by adopting the corresponding allocation strategy according to the triggering message channel or the group sending message channel of the channel to which each target message queue belongs in the target packet, so as to determine the target resource allocation amount of each target message queue according to the resource demand.
It should be noted that, the channel to which each target message queue in the target packet belongs may be a trigger message channel, or may also be a group sending message channel.
In the embodiment of the application, each group can be polled in turn according to the sequencing sequence, so that the target resource allocation amount of each target message queue can be determined according to the resource demand by allocating the speed allocation resources according to the triggering message channel or the group sending message channel of each target message queue in the target group.
Still further to the above example, the ordering sequence is packet 1, packet 2, packet 3, packet 4, according to which packet 1, packet 2, packet 3, packet 4 can be polled in turn; when the packet 3 is polled, the packet 3 may be used as a target packet, and the speed allocation resources may be allocated by adopting a corresponding allocation policy according to whether the channel to which each target message queue belongs in the target packet is a trigger message channel or a group sending message channel, so as to determine the target resource allocation amount of each target message queue according to the resource demand.
According to the message queue resource determining method, each packet is ordered according to the order from the high priority to the low priority of the queue priority, so that an ordering sequence is obtained; according to the sequencing sequence, the polled target packet is allocated with speed allocation resources by adopting a corresponding allocation strategy according to the fact that the channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel, so as to determine the target resource allocation quantity of each target message queue according to the resource demand. Therefore, the target resource allocation amount of the target message queues corresponding to the priorities of the queues can be sequentially determined based on the order of the priorities of the queues from the high priority to the low priority, namely, the priority is to allocate resources for the target message queues with the high priority, and then the resource is allocated for the target message queues with the low priority, so that the actual requirements of the target message queues with different priorities of the queues are met.
In order to clearly explain how to allocate the allocation resources to the polled target packet according to the triggering message channel or the group sending message channel of the channel to which each target message queue belongs in the target packet, the embodiment of the application adopts the corresponding allocation policy to determine the allocation amount of the target resources of each target message queue according to the resource demand.
Fig. 3 is a schematic diagram of a method for determining a message queue resource according to a third embodiment of the present application.
As shown in fig. 3, according to the above embodiment of the present application, the message queue resource determining method may further include the steps of:
In step S301, a target area corresponding to each target message queue in the polled target packet is determined.
In the embodiment of the application, the target large area corresponding to each target message queue in the polled target packet can be determined.
For example, assume that the polled target packet is packet 1, and the target message queue in the target packet 1 includes a message queue a2, a message queue a3, a message queue B1, and a message queue C1, where the target large area corresponding to the message queue a2 and the message queue a3 is large area a, the target large area corresponding to the message queue B1 is large area B, and the target large area corresponding to the message queue C1 is large area C.
It will be appreciated that in the field of communications, a trigger message channel and/or a group messaging channel may be included in each target area. That is, the trigger message channel and the mass messaging channel may be included in the target area, or the trigger message channel may be included in the target area without the mass messaging channel, or the mass messaging channel may be included in the target area without the trigger message channel.
Step S302, the allocable resource quantity of any target large area is obtained.
In the embodiment of the application, the allocable resource quantity of any target large area can be obtained.
As one possible implementation manner, for any target large area, determining a second number of fifth message queues and a third number of sixth message queues in the target large area in the unpolled packet; the fifth message queue belongs to the group sending message channel, and the resource demand of the fifth message queue is not a second set threshold; the sixth message queue belongs to the trigger message channel; determining the target allocated resource amount of the target large area according to the target resource allocation amount of each target message queue in the polled group; the amount of allocatable resources of the target large area may be determined based on the target total amount of resources of the target large area, the target allocated amount of resources of the target large area, the second number, and the third number.
In the embodiment of the present application, the second set threshold may be preset, for example, may be 0,1, etc., which is not limited in this aspect of the present application.
In the embodiment of the present application, the fifth message queue may be a message queue belonging to a group messaging channel, and the resource requirement of the fifth message queue is not a second set threshold.
In the embodiment of the present application, the sixth message queue may be a message queue belonging to the trigger message channel.
In the embodiment of the application, for any target large area, the second number of the fifth message queues and the third number of the sixth message queues in the target large area in the unpolled packet can be determined.
As an example, assuming that each packet to be sequentially polled is packet 1, packet 2, packet 3, packet 4, packet 5, the polled target packet is packet 3, the unpolled packet includes packet 4 and packet 5, where the determined target large area corresponding to each target message queue in packet 3 includes large area a and large area C, for large area a, the second number of fifth message queues belonging to large area a in unpollected packet 4 and packet 5 and the third number of sixth message queues belonging to large area a may be determined, for example, the number of fifth message queues belonging to large area a in unpollected packet 4 is 3, the number of fifth message queues belonging to large area a in unpolled packet 5 is 0, the second number of fifth message queues belonging to large area a in unpolled packet 4 and packet 5 is 3 (= 3+0), the sixth message queues belonging to large area a in unpolled packet 4 is 1, the sixth message queues belonging to large area a in unpolled packet 4 is a number of the sixth message queues belonging to large area a (=4+5) may be determined; and so on, for zone C, the second number of fifth message queues belonging to zone C and the third number of sixth message queues belonging to zone a in the non-polled packets 4 and 5 may be determined.
In the embodiment of the application, the target allocated resource amount of the target large area can be determined according to the target resource allocation amount of each target message queue in the target large area in the polled packet.
As one possible implementation, the target resource allocation amounts of each target message queue in the target large area in the already polled packet may be summed to obtain a target allocated resource amount for the target large area.
Still further to the above example, assume that each packet to be polled in turn is packet 1, packet 2, packet 3, packet 4, packet 5, the polled target packet is packet 3, the already polled packet includes packet 1 and packet 2, where the determined target large area corresponding to each target message queue in packet 3 includes large area a and large area C; for the large area A, each target message queue belonging to the large area A in the polled packet 1 comprises a message queue a1, a message queue a4 and a message queue a5, and the target message queue belonging to the large area A in the polled packet 2 does not exist, at this time, the target resource allocation amount of the message queue a1, the target resource allocation amount of the message queue a4 and the target resource allocation amount of the message queue a5 can be added, and the result obtained by adding is determined as the target allocated resource amount of the large area A; and so on, the target allocated resource amount of the large area C can be obtained.
In the embodiment of the application, the allocatable resource quantity of the target large area can be determined based on the target resource quantity of the target large area, the target allocated resource quantity of the target large area, the second number and the third number.
For example, the total amount of the target resources of the target large area a is S Total (S) , the target allocated amount of the resources of the target large area a is S', the second number is m1, and the third number is m2, and the allocable amount of the resources of the target large area S Dispensable (dispensable) may be determined according to the following formula:
S Dispensable (dispensable) =S Total (S) -S'-100(m1+m2); (1)
Therefore, on one hand, the allocable resource quantity of each target large area can be effectively obtained, and on the other hand, a certain quantity of resources can be reserved for the message queues belonging to the trigger message channel and the group sending message channel in the target large area in the unreferenced packet in advance, so that the flexibility is realized.
In order to clearly illustrate how the total amount of target resources of the target large area is obtained, in a possible implementation manner of the embodiment of the present application, the total amount of interaction resources of the target large area may be determined based on the sum of the allocated amounts of resources of the message queues in the interaction message channel in the target large area, and the total amount of target resources of the target large area may be determined according to the total amount of large area resources of the target large area and the total amount of interaction resources of the target large area.
In the embodiment of the application, an interactive message channel different from the group messaging channel and the trigger message channel can exist in each target area.
In the embodiment of the application, each target large area can have the corresponding total amount of large area resources.
For example, assuming that the interactive message channel in the target large area a includes n message queues, the allocated resource amount of the i-th message queue is S Traffic intersection i, where i e [1, n ] and i is a positive integer, the total interactive resource amount S Traffic intersection of the target large area a may be determined according to the following formula:
And the total target resource amount S Total (S) of the target large area can be determined according to the difference between the total large area resource amount S of the target large area and the total interactive resource amount S Traffic intersection of the target large area:
S Total (S) =S-S Traffic intersection ; (3)
Therefore, the total target resource amount of the target large area can be effectively determined based on the total area resource amount of the target large area and the allocated resource amount of each message queue belonging to the interactive message channel in the target large area, namely the total resource amount for allocating resources for each message queue in the trigger message channel and the group sending message channel in the target large area can be determined.
Step S303, when the amount of the allocable resources is larger than the first set threshold, determining a corresponding allocation strategy for the polled target packet according to whether the message channel to which each target message queue belongs in the target packet is a trigger message channel or a group sending message channel.
In the embodiment of the present application, the first set threshold may be preset, for example, may be 0, 100, etc., which is not limited in this aspect of the present application.
In the embodiment of the application, when the allocable resource quantity is larger than the first set threshold, the corresponding allocation strategy can be determined for the polled target packet according to the fact that the channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel.
Step S304, according to the resource demand of each target message queue in the target packet, the allocation policy is adopted to determine the target resource allocation amount of each target message queue in the target packet.
In the embodiment of the application, the target resource allocation amount of each target message queue in the target packet can be determined by adopting a corresponding allocation strategy according to the resource demand amount of each target message queue in the target packet.
The message queue resource determining method of the embodiment of the application determines the target large area corresponding to each target message queue in the polled target packet; the target large area comprises a trigger message channel and/or a group sending message channel; acquiring the allocable resource quantity of any target large area; when the amount of the allocable resources is larger than a first set threshold value, determining a corresponding allocation strategy for the polled target packet according to the fact that a message channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel; and determining the target resource allocation amount of each target message queue in the target packet by adopting an allocation strategy according to the resource demand amount of each target message queue in the target packet. Therefore, the method can realize that different allocation strategies are adopted based on the fact that the message channel to which the target message queue belongs is a trigger message channel or a group sending message channel, so as to effectively determine the target resource allocation amount of each target message queue in the target packet.
Based on the above embodiments, the embodiments of the present application describe in detail the process of determining, by using an allocation policy, the allocation amount of the target resource of each target message queue according to the resource demand amount of each target message queue in the target packet.
Fig. 4 is a schematic diagram of a method for determining a message queue resource according to a fourth embodiment of the present application.
As shown in fig. 4, according to the second embodiment of the present application, the method for determining a message queue resource may further include the following steps:
In step S401, a target area corresponding to each target message queue in the polled target packet is determined.
Step S402, the allocable resource quantity of any target large area is obtained.
Step S403, when the amount of allocable resources is greater than the first set threshold, determining, for the polled target packet, a corresponding allocation policy according to whether the channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel.
The execution of steps S401 to S403 may refer to the execution of any embodiment of the present application, and will not be described herein.
In step S404, when the target packet does not include the first message queue belonging to the group messaging channel and does not include the second message queue belonging to the trigger message channel, the first allocation policy is adopted to determine the target resource allocation amount of each target message queue in the target area according to the allocable resource amount of any target area and the resource demand amount of each target message queue in the target area.
In the embodiment of the application, the first message queue may be a short 2.0 message queue belonging to a group messaging channel.
In the embodiment of the present application, the second message queue may be each message queue belonging to the trigger message channel. It should be noted that the number of the second message queues in the trigger message channel is not limited in the present application.
In the embodiment of the application, the target packet may not include the first message queue belonging to the group sending message channel, and may not include the second message queue belonging to the triggering message channel. For example, the target packet may not include the short 2.0 message queues belonging to the mass messaging channel, and may not include the second message queues belonging to the mass messaging channel.
In the embodiment of the present application, when the target packet does not include the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel, the first allocation policy may be adopted to determine the target resource allocation amount of each target message queue in the target area according to the allocable resource amount of any target area and the resource demand amount of each target message queue in the target area.
For example, when the target large area a does not include the first message queue belonging to the group messaging channel and does not include the second message queue belonging to the trigger message channel, the first allocation policy may be adopted to determine the target resource allocation amount of each target message queue in the target large area according to the allocable resource amount of the target large area a and the target resource allocation amount of each target message queue in the target large area a.
As a possible implementation manner, when the target packet does not include the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel, the following steps may be adopted to implement a process of determining, according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area, using the first allocation policy, the target resource allocation amount of each target message queue in the target large area:
Step S4041, for any target large area, determining the average allocation amount of the resources of the target large area according to the allocable resource amount of the target large area and the first number of the target message queues in the target large area.
In the embodiment of the application, for any target large area, the average allocation amount of the resources of the target large area can be determined according to the allocable resource amount of the target large area and the first number of the target message queues in the target large area.
As an example, for any target large area, the ratio of the amount of allocable resources of the target large area to the first number of target message queues in the target large area may be determined as the average amount of resources allocated for the target large area.
For example, for the target large area a, assuming that the allocable resource amount of the target large area a is S Dispensable (dispensable) and the first number of target message queues in the target large area a is n, the average resource allocation amount of the target large area can be determined according to the following formula
In step S4042, in response to the resource demand of each target message queue in the target area not being greater than the average allocation of resources of the target area, the resource demand of any target message queue in the target area is determined as the target allocation of resources of the target message queue.
In the embodiment of the application, when the resource demand of each target message queue in the target large area is not greater than the average resource allocation amount of the target large area, the resource demand of any target message queue in the target large area can be determined as the target resource allocation amount of the target message queue.
That is, when the resource demand of each target message queue in the target area is not greater than the average resource demand of the target area, the resource demand allocated to any target message queue in the target area may be equal to the corresponding resource demand.
For example, for a target large area a, assume that the average allocation of resources for the target large area a isThe first number of target message queues in the target large area A is n, wherein the resource demand of the ith target message queue in the target large area A is D i, i epsilon [1, n ] and i is a positive integer; when (when)And j is a positive integer, all havingThe target resource allocation amount S Order of (A) i of the i-th target message queue in the target large area a is equal to D i.
In step S4043, in response to the resource demand of each target message queue in the target area not being less than the average resource allocation of the target area, the average resource allocation of the target area is determined as the target resource allocation of the target message queue in the target area.
In the embodiment of the application, when the resource demand of each target message queue in the target large area is not smaller than the average resource allocation of the target large area, the average resource allocation of the target large area can be determined as the target resource allocation of the target message queues in the target large area.
Still described in the above examples whenAnd j is a positive integer, all havingThe target resource allocation amount S Order of (A) i of the ith target message queue in target large area a is equal toWherein i is a positive integer and i is an epsilon [1, n ].
Step S4044, in response to the existence of the third message queue and the fourth message queue in each target message queue in the target area, determining the resource demand of any one of the third message queues as the target resource allocation amount of the third message queue; the resource demand of the third message queue is not larger than the average resource demand of the target large area, and the resource demand of the fourth message queue is larger than the average resource demand of the target large area.
In the embodiment of the present application, the third message queue may be a target message queue in which the resource demand in the target area is not greater than the average allocation of resources in the target area.
In the embodiment of the application, the fourth message queue may be a target message queue in which the resource demand in the target area is greater than the average resource allocation in the target area.
In the embodiment of the application, when the third message queue and the fourth message queue exist in each target message queue in the target large area, the resource demand of any one of the third message queues can be determined as the target resource allocation amount of the third message queue.
For example, for a target large area a, assume that the average allocation of resources for the target large area a isThe first number of target message queues in the target large area A is n, wherein the resource demand of the ith target message queue in the target large area A is D i, i epsilon [1, n ] and i is a positive integer; when there is a part of the target message queue in the target large area A, the resource demand of the target message queue is not greater thanAnd the resource demand of the other part of the target message queue is larger than that of the other part of the target message queueThe resource demand may be no greater thanAs a third message queue, with a resource demand greater thanAs a fourth message queue; at this time, for any third message queue, the resource demand of the third message queue may be determined as the target resource allocation amount of the third message queue.
It should be noted that, for the fourth message queue in each target message queue in the target area, the following steps S4045 to S4046 may be adopted to determine the target resource allocation amount of the fourth message queue.
Step S4045, redetermining the allocatable resource amount of the target area according to the allocatable resource amount of the target area and the target resource allocation amount of each third message queue.
In the embodiment of the application, the allocatable resource quantity of the target large area can be redetermined according to the allocatable resource quantity of the target large area and the target resource allocation quantity of each third message queue.
As an example, the target resource allocation amounts of each third message queue in the target large area may be summed to obtain a third sum, and the allocable resource amount of the target large area may be redetermined as a difference between the allocable resource amount of the target large area and the third sum.
In step S4046, in response to the re-determined amount of allocable resources of the target area being greater than the first set threshold, determining a target amount of allocation of resources for each fourth message queue using the first allocation policy based on the re-determined amount of allocable resources of the target area and the amount of resource requirements for each fourth message queue.
It should be noted that, in any embodiment of the present application, the explanation of the first set threshold is also applicable to this embodiment, and will not be repeated here.
In the embodiment of the present application, when the re-determined allocable resource amount of the target large area is greater than the first set threshold, the first allocation policy may be adopted to determine the target resource allocation amount of each fourth message queue according to the re-determined allocable resource amount of the target large area and the resource demand amount of each fourth message queue.
That is, when the re-determined amount of allocatable resources of the target area is greater than the first set threshold, a method similar to that in steps S4041 to S4046 may be adopted to determine the target amount of allocation of resources of each fourth message queue according to the re-determined amount of allocatable resources of the target area and the amount of resource demand of each fourth message queue, which is not described herein.
It will be appreciated that when the re-determined amount of allocable resources of the target large area is not greater than the first set threshold, indicating that the amount of resources of the current target large area has been allocated, the subsequent resource allocation process may be stopped.
It should be noted that, the above is only performed in the order of step S4042, step S4043 and steps S4044-S4046, and may be alternatively performed in practical applications.
As an example, when the queue priority corresponding to the polled target packet is 1, the target packet is in each target message queue
Thus, when the target packet does not include the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel, the effective determination of the target resource allocation amount of each target message queue in the target packet can be realized.
In step S405, when the target packet includes the first message queue belonging to the group messaging channel and does not include the second message queue belonging to the trigger message channel, the target resource allocation amount of each target message queue in the target packet is determined by adopting the second allocation policy based on the platform resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet.
In the embodiment of the application, the platform resource threshold value can be preset and used for representing the resource upper limit value of the short 2.0 platform, and the application does not limit the value of the platform resource threshold value.
In the embodiment of the application, the target packet may include a first message queue belonging to the group sending message channel, and may not include a second message queue belonging to the triggering message channel. For example, the target packet may include a short 2.0 message queue belonging to the mass messaging channel, and may not include each second message queue belonging to the mass messaging channel.
In the embodiment of the present application, when the target packet includes the first message queue belonging to the group messaging channel and does not include the second message queue belonging to the trigger message channel, the target resource allocation amount of each target message queue in the target packet may be determined by adopting the second allocation policy based on the platform resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet.
As a possible implementation manner, when the target packet includes the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel, the following steps may be adopted to implement a process of determining, by adopting the second allocation policy, a target resource allocation amount of each target message queue in the target packet based on the platform resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet:
In step S4051, a first allocation policy is adopted to determine a first allocation amount of resources of each target message queue in the target area according to the allocable amount of resources of any target area and the resource demand amount of each target message queue in the target area.
In the embodiment of the present application, when the target packet includes the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel, for any target large area, a first allocation policy may be adopted to determine a first resource allocation amount of each target message queue in the target large area according to an allocable resource amount of the target large area and a resource demand amount of each target message queue in the target large area.
That is, for any target large area, a method similar to that in steps S4041 to S4046 is first adopted, and the first resource allocation amount of each target message queue in the target large area is determined based on the allocable resource amount of the target large area and the resource demand amount of each target message queue in the target large area.
In step S4052, the first resource allocation amount of the first message queue in each target area is summed to obtain a first sum.
In the embodiment of the application, the first resource allocation amount of the first message queue in each target large area can be added to obtain a first sum.
In step S4053, in response to the first sum being greater than the platform resource threshold, a first coefficient is determined from the platform resource threshold and the duty cycle of the first sum.
In the embodiment of the application, when the first sum is greater than the platform resource threshold, the first coefficient may be determined according to the platform resource threshold and the duty ratio of the first sum.
For example, the first message queue is a short 2.0 message queue, the platform resource threshold of the short 2.0 platform is S Short length , when the first sum S And 1 is greater than S Short length , which indicates that the sum of the first resource allocation amounts allocated to each first message queue in each target area by using the first allocation policy is greater than the platform resource threshold that can be allocated by the short 2.0 platform, at this time, the first coefficient k 1 may be determined according to the ratio of the platform resource threshold to the first sum according to the following formula:
k1=S Short length /S And 1; (5)
step S4054, for any first message queue, determining the target resource allocation amount of the first message queue according to the product of the first coefficient and the first resource allocation amount of the first message queue.
In the embodiment of the present application, for any first message queue, the target resource allocation amount of the first message queue may be determined according to a product of the first coefficient and the first resource allocation amount of the first message queue.
Still further to the above example, assuming that, for any first message queue, the first resource allocation amount of the first message queue is S First one and the first coefficient is k 1, the target resource allocation amount of the first message queue may be determined according to the following formula S Order of (A) :
S Order of (A) =S First one *k1; (6)
Step S4055, for any target large area, redetermining the allocable resource amount of the target large area according to the allocable resource amount of the target large area and the target resource allocation amount of the first message queue in the target large area.
In the embodiment of the application, for any target large area, the allocable resource amount of the target large area can be redetermined according to the allocable resource amount of the target large area and the target resource allocation amount of the first message queue in the target large area.
For example, for the target large area a, assuming that the amount of allocable resources of the target large area is S Dispensable (dispensable) , the target large area a includes n first message queues, and the target amount of allocation of the target resources of the i-th first message queue is S Order of (A) i, i e [1, n ] and i is a positive integer, the amount of allocable resources S' Dispensable (dispensable) of the target large area a may be redetermined according to the following formula:
in step S4056, in response to the re-determined amount of allocable resources of the target large area being greater than the first set threshold, determining a target amount of allocation of resources of each target message queue in the target large area other than the first message queue using the first allocation policy based on the re-determined amount of allocable resources of the target large area and the amount of resource demand of each target message queue in the target large area other than the first message queue.
In the embodiment of the present application, when the re-determined allocable resource amount of the target large area is greater than the first set threshold, the first allocation policy may be adopted to determine the target resource allocation amount of each target message queue except the first message queue in the target large area according to the re-determined allocable resource amount of the target large area and the resource demand amount of each target message queue except the first message queue in the target large area.
For example, assuming that the target message queues other than the first message queue a1 in the target large area a include the target message queue a3, the target message queue a5, and the target message queue a6, the re-determined allocable resource amount of the target large area is S ' Dispensable (dispensable) , the first set threshold is 0, when S' Dispensable (dispensable) >0, the resource demand amount of the target message queue a3, the resource demand amount of the target message queue a5, and the resource demand amount of the target message queue a6 may be determined according to the re-determined allocable resource amount of the target large area S ' Dispensable (dispensable) , and the resource demand amount of the target message queue a3, the resource demand amount of the target message queue a5, and the resource demand amount of the target message queue a6, the target resource allocation amount of the target message queue a3, the target resource allocation amount of the target message queue a5, and the target resource allocation amount of the target message queue a6 are determined by using the first allocation policy, that is similar to the methods in steps S4041 to S4046, and the resource demand amount of the target message queue a3, the target resource demand amount of the target message queue a3, and the target message allocation amount of the target message queue a6 are determined based on the re-determined allocable resource amount of the target large area S' Dispensable (dispensable) .
It will be appreciated that when the re-determined amount of allocable resources of the target large area is not greater than the first set threshold, indicating that the amount of resources of the current target large area has been allocated, the subsequent resource allocation process may be stopped.
In step S4057, in response to the first sum not being greater than the platform resource threshold, determining a first resource allocation amount of any one of the target message queues in the target packet as a target resource allocation amount of the target message queue.
That is, when the first sum is not greater than the platform resource threshold, indicating that the sum of the first resource allocations allocated to the first message queue in each target area using the first allocation policy is not greater than the platform resource threshold, the first resource allocation amount of any target message queue in the target packet may be determined as the target resource allocation amount of the target message queue.
Therefore, the first allocation policy is adopted firstly to determine the first resource allocation amount of each target message queue in the target packet, and then the target resource allocation amount of each target message queue can be effectively and accurately determined based on the platform resource threshold and the first resource allocation amount of each target message queue in the target packet.
It should be noted that the present application is described only by executing steps S4053 to S4056 and S4057 in order, and may be alternatively executed in practical applications.
In step S406, when the target packet includes the second message queue belonging to the trigger message channel and does not include the first message queue belonging to the group messaging channel, the target resource allocation amount of each target message queue in the target packet is determined by adopting the third allocation policy based on the trigger resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet.
In the embodiment of the application, the trigger resource threshold value can be preset and used for triggering the resource upper limit value of the message channel, and the application does not limit the value of the trigger resource threshold value.
In the embodiment of the application, the target packet may include the second message queue belonging to the trigger message channel, and may not include the first message queue belonging to the group sending message channel.
In the embodiment of the present application, when the target packet includes the second message queue belonging to the trigger message channel and does not include the first message queue belonging to the group sending message channel, the target resource allocation amount of each target message queue in the target packet may be determined by adopting a third allocation policy based on the trigger resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet.
As a possible implementation manner, when the target packet includes the second message queue belonging to the trigger message channel and does not include the first message queue belonging to the group messaging channel, the following steps may be adopted to implement a process of determining, by using the third allocation policy, a target resource allocation amount of each target message queue in the target packet based on the trigger resource threshold, the allocable resource amount of each target area, and the resource demand amount of each target message queue in the target packet:
Step S4061, determining a second resource allocation amount of each target message queue in the target large area by adopting the first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area.
In the embodiment of the present application, when the target packet includes the second message queue belonging to the trigger message channel and does not include the first message queue belonging to the group sending message channel, for any target large area, the first allocation policy may be adopted to determine the second resource allocation amount of each target message queue in the target large area according to the allocable resource amount of the target large area and the resource demand amount of each target message queue in the target large area.
That is, for any target large area, a method similar to that in steps S4041 to S4046 is first adopted, and a second allocation amount of resources for each target message queue in the target large area is determined based on the allocable amount of resources for the target large area and the resource demand amount of each target message queue in the target large area.
Step S4062, adding the second resource allocation amounts of the second message queues in each target area to obtain a second sum.
In the embodiment of the application, the second resource allocation amount of the second message queue in each target large area can be added to obtain a second sum.
In step S4063, in response to the second sum being greater than the trigger resource threshold, a second coefficient is determined based on the trigger resource threshold and the duty cycle of the second sum.
In the embodiment of the present application, when the second sum is greater than the trigger resource threshold, the second coefficient may be determined according to the trigger resource threshold and the duty ratio of the second sum.
For example, the trigger resource threshold is S Touch , when the second sum S And 2 is greater than S Touch , which indicates that the sum of the second resource allocation amounts allocated for each second message queue in each target area by using the first allocation policy is greater than the trigger resource threshold that can be allocated by the trigger message channel, where the second coefficient k 2 may be determined according to the following formula according to the ratio of the trigger resource threshold to the second sum:
k2=S Touch /S And 2; (8)
Step S4064, for any second message queue, determining the target resource allocation amount of the second message queue according to the product of the second coefficient and the second resource allocation amount of the second message queue.
In the embodiment of the present application, for any second message queue, the target resource allocation amount of the second message queue may be determined according to a product of the second coefficient and the second resource allocation amount of the second message queue.
Still further to the above example, assuming that, for any second message queue, the second resource allocation amount of the second message queue is S Second one and the second coefficient is k 2, the target resource allocation amount of the second message queue S Order of (A) may be determined according to the following formula:
S Order of (A) =S Second one *k2; (9)
Step S4065, for any target large area, redetermining the allocable resource amount of the target large area according to the allocable resource amount of the target large area and the target resource allocation amount of the second message queue in the target large area.
In the embodiment of the application, for any target large area, the allocable resource amount of the target large area can be redetermined according to the allocable resource amount of the target large area and the target resource allocation amount of the second message queue in the target large area.
For example, for the target large area a, assuming that the amount of allocable resources of the target large area is S Dispensable (dispensable) , the target large area a includes m second message queues, where the target amount of allocation of the target resources of the ith second message queue is S Order of (A) i, i e [1, m ] and i is a positive integer, the amount of allocable resources S' Dispensable (dispensable) of the target large area a may be redetermined according to the following formula:
In step S4066, in response to the re-determined amount of allocable resources of the target large area being greater than the first set threshold, determining a target amount of allocation of resources of each target message queue in the target large area other than the second message queue using the first allocation policy based on the re-determined amount of allocable resources of the target large area and the amount of resource requirements of each target message queue in the target large area other than the second message queue.
In the embodiment of the present application, when the re-determined allocable resource amount of the target large area is greater than the first set threshold, the first allocation policy may be adopted to determine the target resource allocation amount of each target message queue except the first message queue in the target large area according to the re-determined allocable resource amount of the target large area and the resource demand amount of each target message queue except the first message queue in the target large area.
For example, assuming that the target message queues except the second message queue in the target large area B include the target message queue B1, the target message queue B2, and the target message queue B3, the re-determined allocable resource amount of the target large area is S ' Dispensable (dispensable) , the first set threshold is 0, when S' Dispensable (dispensable) >0, the resource demand amount of the target message queue B1, the resource demand amount of the target message queue B2, and the resource demand amount of the target message queue B3 may be determined according to the re-determined allocable resource amount of the target large area S ' Dispensable (dispensable) , and the resource demand amount of the target message queue B1, the resource demand amount of the target message queue B2, the resource demand amount of the target message queue B3, and the target resource allocation amount of the target message queue B1, the target resource allocation amount of the target message queue B2, and the target resource allocation amount of the target message queue B3 are determined by using the first allocation policy, that is similar to the method in steps S4041 to S4046, and the target message allocation amount of the target message queue B1, the target resource allocation amount of the target message queue B2, and the target message allocation amount of the target message queue B2 are determined based on the re-determined allocable resource amount of the re-determined resource amount of the target large area S' Dispensable (dispensable) .
It will be appreciated that when the re-determined amount of allocable resources of the target large area is not greater than the first set threshold, indicating that the amount of resources of the current target large area has been allocated, the subsequent resource allocation process may be stopped.
In step S4067, in response to the second sum not being greater than the trigger resource threshold, determining the first resource allocation amount of any one of the target message queues in the target packet as the target resource allocation amount of the target message queue.
That is, when the second sum is not greater than the trigger resource threshold, indicating that the sum of the second resource allocations allocated to the second message queue in each target area using the first allocation policy is not greater than the trigger resource threshold, the second resource allocation amount of any target message queue in the target packet may be determined as the target resource allocation amount of the target message queue.
Therefore, the first allocation strategy is adopted firstly to determine the second resource allocation amount of each target message queue in the target packet, and then the target resource allocation amount of each target message queue can be effectively and accurately determined based on the trigger resource threshold and the second resource allocation amount of each target message queue in the target packet.
It should be noted that the present application is described only by executing steps S4063-S4066 and S4067 in order, and may be alternatively executed in practical applications.
It should be noted that, the present application is merely illustrated by the sequential execution of step S404, step S405 and step S406, and may alternatively be executed in practical applications.
In the message queue resource determining method of the embodiment of the application, under the condition that the target packet does not comprise a first message queue belonging to a group sending message channel and does not comprise a second message queue belonging to a triggering message channel, determining the target resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area; under the condition that the target packet comprises a first message queue belonging to a group messaging channel and does not comprise a second message queue belonging to a triggering message channel, determining the target resource allocation amount of each target message queue in the target packet by adopting a second allocation strategy based on a platform resource threshold value, the allocable resource amount of each target area and the resource demand amount of each target message queue in the target packet; and under the condition that the target packet comprises the second message queue belonging to the trigger message channel and does not comprise the first message queue belonging to the group sending message channel, determining the target resource allocation amount of each target message queue in the target packet by adopting a third allocation strategy based on the trigger resource threshold value, the allocable resource amount of each target area and the resource demand amount of each target message queue in the target packet. Thus, the determination of the target resource allocation amount of each target message queue in the target packet can be realized, and the flexibility is realized.
In order to clearly illustrate how to acquire the resource demand of the target message queue in any embodiment of the present application, the present application also provides a method for determining the resource of the message queue.
Fig. 5 is a schematic diagram of a method for determining message queue resources according to a fifth embodiment of the present application.
As shown in fig. 5, according to any embodiment of the present application, the method for determining a message queue resource may further include the steps of:
In step S501, in response to the backlog of the target message queue being 0, and the target message queue belonging to the group messaging channel, the resource requirement of the target message queue is a third set threshold.
In the embodiment of the application, the message queue can have a corresponding message backlog, which is marked as the queue message backlog in the application.
In the embodiment of the present application, the third set threshold may be preset, for example, may be 0, 10, etc., which is not limited in this aspect of the present application.
In the embodiment of the present application, when the queue message backlog of the target message queue is 0 and the target message queue belongs to the group messaging channel, the resource demand of the target message queue may be a third set threshold. For example, when the backlog of the queue message of the target message queue a is 0 and the target message queue a belongs to the group messaging channel, the resource requirement of the target message queue a may be 0.
In step S501, in response to the backlog of the target message queue being 0, and the target message queue belonging to the trigger message channel, the resource requirement of the target message queue is a fourth set threshold.
In the embodiment of the present application, the fourth set threshold may be preset, for example, may be 100, 200, etc., which is not limited in this aspect of the present application.
In the embodiment of the present application, when the queue message backlog of the target message queue is 0 and the target message queue belongs to the trigger message channel, the resource demand of the target message queue may be a fourth set threshold. For example, when the backlog of the queue message of the target message queue b is 0 and the target message queue b belongs to the trigger message channel, the resource requirement of the target message queue b may be 100.
In step S501, in response to the queue message backlog of the target message queue being not 0, determining a resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval, and the fourth set threshold.
In an embodiment of the present application, the target message queue may have a corresponding queue resource threshold.
In order to obtain a queue resource threshold of the target message queue, in one possible implementation manner of the embodiment of the present application, a set resource threshold corresponding to the target message queue may be obtained, and a minimum message processing rate of a subscription number Chatbot for processing a message in the target message queue may be obtained; from the set resource threshold and the minimum message processing rate corresponding to the target message queue, a third minimum value may be determined, and the third minimum value may be used as a queue resource threshold of the target message queue.
In the embodiment of the application, the set resource threshold value can be a preset highest allocation speed value used for representing the message queues in each large area, and the application does not limit the set resource threshold value. For example, the target message queue is a multimedia message queue, and the highest speed allocation value (in the present application, the set resource threshold) of the multimedia message queue in each large area is 800, that is, the set resource threshold corresponding to the multimedia message queue is 800.
It should be noted that, the set resource thresholds corresponding to the target message queues may be the same or may be different, which is not limited by the present application.
As an example, for the target message queue a, assuming that the set resource threshold corresponding to the target message queue a is L and the minimum message processing rate at which the subscription number Chatbot processes the message in the target message queue is M, the third minimum value min { L, M } may be determined from the set resource threshold L corresponding to the target message queue a and the minimum message processing rate M, and then the third minimum value min { L, M } may be used as the queue resource threshold of the target message queue a.
Therefore, the obtaining of the queue resource threshold value of the target message queue is realized by combining the minimum message processing rate of the message processed in the target message queue by the subscription number Chatbot and the highest speed allocation value of the target message queue in each large area.
In the embodiment of the present application, the first set time interval may be preset, for example, may be 1min, 10min, etc., which is not limited in the present application.
In the embodiment of the present application, when the queue message backlog of the target message queue is not 0, the resource demand of the target message queue may be determined according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval, and the fourth set threshold.
As a possible implementation manner, when the target message queue belongs to the group messaging channel under the condition that the queue message backlog of the target message queue is not 0, the first ratio may be determined according to the ratio of the queue message backlog of the target message queue to the first set time interval; from the first ratio and the fourth set threshold, a first maximum value may be determined; from the first maximum value, the queue resource threshold of the target message queue, and the dynamic allocation resource threshold, a first minimum value may be determined; the first minimum value may be taken as the resource requirement of the target message queue.
As an example, assuming that the queue backlog amount of the target message queue a is Q, the first set time interval is t, the fourth set threshold is 100, the queue resource threshold of the target message queue a is S Team, team and method for producing the same , the dynamic allocation resource threshold is S Dynamic movement , when the queue message backlog amount Q of the target message queue a is not 0, when the target message queue a belongs to the group messaging channel, the first ratio may be determined to be Q/t according to the ratio of the queue message backlog amount Q of the target message queue to the first set time interval t; determining a first maximum value as max { Q/t,100}, from the first ratio Q/t and the fourth set threshold 100; then, from the first maximum value max { Q/t,100}, the queue resource threshold S Team, team and method for producing the same of the target message queue and the dynamic allocation resource threshold S Dynamic movement , determining that the first minimum value is min { max { Q/t,100}, S Team, team and method for producing the same ,S Dynamic movement }; finally, the determined first minimum value can be used as the resource demand of the target message queue a.
As another possible implementation manner, in the case where the queue message backlog of the target message queue is not 0, when the target message queue belongs to the trigger message channel, the third coefficient may be determined according to the first set time interval; determining a second ratio according to the duty ratio of the queue message backlog of the target message queue and the third coefficient; from the second ratio and the fourth set threshold, a second maximum value may be determined; from the second maximum value, the queue resource threshold of the target message queue, and the dynamic allocation resource threshold, a second minimum value may be determined; the second minimum value may be taken as the resource requirement of the target message queue.
As an example, assuming that the queue backlog amount of the target message queue a is Q, the first set time interval is t, the fourth set threshold is 100, the queue resource threshold of the target message queue a is S Team, team and method for producing the same , the dynamic allocation resource threshold is S Dynamic movement , when the queue message backlog amount Q of the target message queue a is not 0, and when the target message queue a belongs to the trigger message channel, the third coefficient may be determined to be (t/2) according to the first set time interval t; the second ratio may be determined to be Q/(t/2) based on the duty cycle of the queue message backlog Q of the target message queue and the third coefficient (t/2); determining a second maximum value as max { Q/(t/2), 100}, from the second ratio Q/(t/2) and the fourth set threshold 100; then, from the second maximum value max { Q/(t/2), 100}, the queue resource threshold S Team, team and method for producing the same of the target message queue and the dynamic allocation resource threshold S Dynamic movement , determining that the second minimum value is min { max { Q/(t/2), 100}, S Team, team and method for producing the same ,S Dynamic movement }; finally, the determined second minimum value may be taken as the resource requirement of the target message queue a.
According to the message queue resource determining method, the message backlog quantity of the target message queue is 0, the target message queue belongs to a mass-sending message channel, and the resource demand quantity of the target message queue is a third set threshold; responding to the queue message backlog of the target message queue as 0, wherein the target message queue belongs to a trigger message channel, and the resource demand of the target message queue is a fourth set threshold; and determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval and the fourth set threshold in response to the queue message backlog of the target message queue being not 0. Therefore, the resource demand of the message queue can be effectively determined based on the queue message backlog of the message queue and the message channel to which the message queue belongs by combining the queue resource threshold of the message queue and the dynamic allocation resource threshold.
In order to more clearly illustrate the embodiment, the application also provides an intelligent scheduling system.
Fig. 6 is a schematic structural diagram of an intelligent scheduling system according to a sixth embodiment of the present application.
As shown in fig. 6, the intelligent scheduling system 600 may include a base configuration module 601, a monitoring module 602, a resource determination module 603, and a resource allocation module 604.
The basic configuration module 601 may be configured to configure a message queue corresponding to any message, and a queue priority of each message queue.
Alternatively, the message may include, but is not limited to, a 5G message, a short 2.0 message, a multimedia message, a text message, etc., which the present application is not limited to.
In some embodiments, the base configuration module 601 may also be used to configure the initial rate of each message queue.
The monitoring module 602 may be configured to monitor a queue message backlog of each message queue and a real-time rate of each message queue.
The resource determining module 603, connected to the monitoring module 602, may be configured to determine the target resource allocation amounts corresponding to the plurality of message queues by using the message queue resource determining method according to any of the foregoing embodiments of the present application.
The resource allocation module 604, connected to the resource determination module 603, may be configured to allocate resources to a message queue according to a target resource allocation amount of any message queue.
In order to facilitate an understanding of the intelligent scheduling system of the present application, a detailed description is provided below in connection with examples.
As an example, the intelligent scheduling system of the present application is applied to the intelligent scheduling system for message queues shown in fig. 7, wherein the intelligent scheduling system for message queues shown in fig. 7 is a multi-priority multi-channel composite type intelligent scheduling system driven based on the fairs algorithm. As shown in fig. 7, the intelligent scheduling system for message queues may include a basic configuration module (denoted as basic configuration module in the present application), a message queue real-time monitoring module (denoted as monitoring module in the present application), a resource demand calculation module (denoted as resource determination module in the present application), and a message queue resource allocation module (denoted as resource allocation module in the present application);
The basic configuration module can be used for configuring the falling directions of all subscription numbers chatbots and attribution message queues when all subscription numbers chatbots send different types of messages; the message may include a 5G message, a short 2.0 message, a multimedia message, a text short message, etc., and a corresponding queue priority and an initial rate may be configured for each message queue.
And the message queue real-time monitoring module is used for monitoring the queue message backlog quantity of all the message queues and the real-time rate of each message queue.
The resource demand calculation module can take event information returned by the message queue real-time monitoring module as an input parameter, and perform Fair operation according to each queue priority and calculate the target resource allocation amount required by each message queue in real time according to the type of the message channel (such as a group messaging channel and a triggering message channel), the queue priority of the message queue and the allocable resource amount of each large area.
And the message queue resource allocation module can allocate the issuing speed allocation resources to the corresponding message queues in real time according to the result obtained by the resource demand calculation module, so as to realize intelligent scheduling of the message queues.
The intelligent scheduling system for the message queue at least can comprise the following advantages:
1. flexible message scheduling can be performed according to the priorities of different message types, message channels and message queues;
2. The Fair utilization of the speed-matching resources can be ensured by adopting a Fair scheduling strategy based on a Fair algorithm;
3. the message transmission efficiency and the resource utilization rate of the system can be improved, so that the overall system performance is improved.
The resource demand calculation module implements a dynamic speed allocation method (which is referred to as a message queue resource determination method in the present application). Fig. 8 is a flow chart of a dynamic speed allocation method implemented by the resource demand calculation module provided by the present application. As shown in fig. 8, the dynamic speed matching method may include the following processes:
it should be noted that a dynamic speed-setting switch, a dynamic speed-setting timer and a disturbance-free time timer may be preconfigured; the dynamic speed allocation timer is configured with a dynamic speed allocation time interval t for executing dynamic speed allocation in a set duration; wherein the do-not-disturb time timer may be used to set the do-not-disturb time period (e.g., 0:00-6:00).
1.1, Responding to the starting of a dynamic speed matching switch, and judging whether the current moment belongs to a non-disturbing time period according to the starting and closing state of a non-disturbing time timer; if the current moment belongs to the no-disturbance time period, synchronizing the manual speed allocation table to the access layer to change the speed allocation of the message queue; if the current time does not belong to the no-disturbance time period, the subsequent dynamic speed allocation process is continuously executed.
It should be noted that, when the dynamic switch is turned off, the manual speed allocation table may be synchronized to the access layer to change the speed allocation of the message queue; the access layer can modify the speed allocation value of the corresponding message queue, and the speed allocation value of the message queue is successfully changed from the synchronous manual speed allocation table to the access layer with delay.
1.2, Responding to the fact that the current moment does not belong to the disturbance-free time period, starting a dynamic speed allocation timer, judging whether the current moment still belongs to the dynamic speed allocation process of the previous round, if the current moment still belongs to the dynamic speed allocation process of the previous round, ending, and skipping the dynamic speed allocation process of the current round; if the current moment does not belong to the dynamic speed matching process of the previous round, the dynamic speed matching process of the current round is continued.
1.3 Query of speed-matching resource parameters
The speed allocation resource parameters include a large area performance upper limit (marked as a large area resource total amount in the application), an allocated resource amount of each message queue in an interactive message channel in each large area, a queue backlog amount of each message queue, a dynamic speed allocation upper limit (marked as a dynamic allocation resource threshold in the application), a queue speed allocation upper limit of each message queue (marked as a queue resource threshold in the application), a dynamic speed allocation time interval t (marked as a first set time interval in the application), a short 2.0 platform upper limit (marked as a platform resource threshold in the application), and a trigger resource upper limit (marked as a trigger resource threshold in the application); wherein, the dynamic speed allocation time interval t can be configured manually; the highest queue allocation speed is limited to the minimum value of the subscription number Chatbot rate in the corresponding message queue (the minimum message processing rate is marked as a minimum message processing rate in the application) and the minimum value of the corresponding set resource threshold, for example, when the message queue is a color enhancement queue (the color message queue is marked as a color message queue in the application), the highest queue allocation speed is limited to min { the minimum value of the subscription number Chatbot rate in the queue, 800}, wherein 800 is the set resource threshold of the color enhancement queue.
1.4 Performing multiple rounds of Rate resource Allocation procedures
Acquiring queue priorities of a plurality of message queues belonging to a group sending message channel and a triggering message channel, distributing resources to the message queues with high priority according to the queue priorities, and distributing residual resources to other priority queues in turn after the message queues with high priority are met, namely executing a multi-round speed-distributing resource distribution process from high priority to low priority according to the queue priorities, wherein each round of speed-distributing resource distribution process has a corresponding queue priority, and each round of speed-distributing resource distribution process has a corresponding target message queue needing to distribute resources; the target resource allocation amount of each target message queue corresponding to the queue priority can be determined in each round of speed allocation resource allocation process.
The calculation algorithm of the resource demand calculation module may include the following aspects:
first, the resource demand D of each message queue is calculated:
(1) When the queue backlog of the message queue is 0 and the message queue belongs to the group sending message channel, the resource demand D of the message queue is 0; when the queue backlog of the message queue is 0 and the message queue belongs to a trigger message channel, the resource demand D of the message queue is 100;
(2) The queue backlog is not 0:
when the message queue belongs to the group sending message channel, the resource demand D of the message queue is:
D = min { max { queue backlog/t, 100}, dynamic maximum upper limit for rate allocation, maximum limit for rate allocation;
when the message queue belongs to the trigger message channel, the resource demand D of the message queue is:
D=min { max { queue backlog/(t/2), 100}, dynamic maximum upper limit for rate allocation, maximum limit for rate allocation for queues }.
Second, in any round of speed allocation resource allocation process, the allocable resource amount of the target large area corresponding to the target message queue of the round can be calculated:
in the first round of speed allocation resource allocation process, the allocable resource quantity S Dispensable (dispensable) of each target large area in the present round is as follows:
S Dispensable (dispensable) =S Upper part -S Assigned to ; (11)
S Assigned to =∑S Traffic intersection ; (12)
Wherein S Upper part is the upper limit of the target area, and S Traffic intersection is the allocated resource amount of the message queue in the interactive message channel in the target area.
In any subsequent round of speed allocation resource allocation process, the allocable resource quantity S Dispensable (dispensable) of each target large area in this round is:
S Dispensable (dispensable) =S Upper part -S Assigned to -100(m1+m2); (13)
S Assigned to =∑S Traffic intersection +∑X Order of (A) ; (14)
S Upper part is the upper limit of the large area performance of the target large area, S Traffic intersection is the allocated resource amount of the message queues in the interactive message channel in the target large area, and X is the target resource allocation amount of each target message queue in the target large area in the executed speed allocation resource allocation process; m1 is the number of message queues belonging to the trigger message channel in the non-executed speed-allocation resource allocation process (i.e. the residual priority), and m2 is the number of message queues belonging to the mass-sending message channel in the non-executed speed-allocation resource allocation process and having a resource demand of not 0.
It should be noted that, to reduce the complexity of the algorithm, the inventors have different queue priorities of any message queue belonging to the trigger message channel (referred to as a second message queue in the present application) and queue priorities of short 2.0 queues belonging to the group sending message channel (referred to as first message queues in the present application), that is, in any round of speed allocation resource allocation process, it is impossible for each target message queue corresponding to the current round of speed allocation resource allocation process to have both a message queue belonging to the trigger message channel and a short 2.0 queue belonging to the group sending message channel.
For example, the message queues belonging to the trigger message channel include a common interactive message queue; the message queues belonging to the mass messaging message channel comprise short 2.0 queues, common interaction message queues and multimedia message queues, and in any round of speed allocation resource allocation process, the common interaction message queues belonging to the trigger message channel and the short 2.0 queues belonging to the mass messaging message channel cannot exist in each target message queue corresponding to the round of speed allocation resource allocation process at the same time, but the common interaction message queues belonging to the trigger message channel, the common interaction message queues belonging to the mass messaging message channel and the multimedia message queues may exist.
1.4.1, Determining a target large area corresponding to each target message queue corresponding to the priority of the current round of queue in the current round of speed allocation resource allocation process according to any round of speed allocation resource allocation process; the method is adopted to obtain the allocable resource quantity of each target large area;
1.4.2 when each target message queue corresponding to the current round of speed allocation resource allocation process does not comprise a short 2.0 queue belonging to a group sending message channel and does not comprise a message queue belonging to a triggering message channel, a first Fair algorithm can be adopted to determine the target resource allocation amount of each target message queue of the current round based on the resource demand amount D of each target message queue of the current round and the allocable resource amount of each target large area of the current round;
Specifically:
1.4.2.1 for any target Mass, determining the average allocation of resources for the target Mass according to the allocatable resource quantity S Dispensable (dispensable) of the target Mass and the first number n of target message queues in the target Mass The method comprises the following steps:
1.4.2.2 compares the resource allocation amount D and the average resource allocation amount X of each target message queue in turn:
if all message queues in the target large area are satisfied That is, the requirements of all target message queues cannot be satisfied, no redundant resources can be shared, and the allocation amount of the target resources of all target message queues is made to beEnding the algorithm;
if all message queues in the target large area are satisfied That is, the requirements of all the target message queues can be met without sharing resources, and the target resource allocation amount of all the target message queues is made to be the corresponding resource demand amount D, so that the algorithm is ended;
if there are some target message queues satisfying And there are other target message queuesThen the target resource allocation amount of the target message queue indicates that not only the self requirement is met, but also redundant resources are available for allocation, and the target resource allocation amount of the target message queue is insufficient to meet the self requirement, at the moment, the requirement can be metRedundant resource sharing for target message queues of (a)Is a target message queue of (1);
In particular, for satisfying In the present application, the target message queues are denoted as third message queues, so that the target resource allocation amounts of the target message queues are equal to the corresponding resource demand amounts; based on the amount S Dispensable (dispensable) of the allocatable resources of the target large area and the satisfactionThe amount of allocatable resources of the target large area is redetermined, that is, the amount of allocatable resources of the target large area can be redetermined according to the following formula:
S' Dispensable (dispensable) =S Dispensable (dispensable) -∑S Order of (A) ; (16)
Wherein S' Dispensable (dispensable) is the amount of allocatable resources of the target large area determined again, S Order of (A) is the satisfaction of Target resource allocation amount of the target message queue of (a);
for the target large area Is denoted as a fourth message queue in the present application, based on the sum of the re-determined amount of allocatable resources of the target large zoneThe first fairalgorithm is again used, i.e. a method similar to 1.4.2.1-1.4.2.2 is used to reallocate resources.
1.4.3 When each target message queue corresponding to the current round of speed allocation resource allocation process comprises a short 2.0 queue belonging to a group sending message channel but does not comprise a message queue belonging to a triggering message channel, determining the target resource allocation amount of each target message queue of the current round by adopting a second Fair algorithm based on the resource demand amount D of each target message queue of the current round and the allocable resource amount of each target area of the current round;
Specifically:
1.4.3.1, aiming at any target large area, determining a first resource allocation amount of each target message queue of the round by adopting a first Fair algorithm according to the allocable resource amount S Dispensable (dispensable) of the target large area and the resource demand amount D of each target message queue in the target large area;
1.4.3.2 determining a first sum according to the sum of the first resource allocation amounts of each short 2.0 queue in each target message queue of the round;
1.4.3.3 judges whether the first sum is greater than the short 2.0 platform upper limit, and when the first sum is not greater than the short 2.0 platform upper limit, the target resource allocation amount of any target message queue of the round is determined to be the corresponding first resource allocation amount;
1.4.3.4 when the first sum is greater than the short 2.0 upper plateau, determining a first coefficient according to the short 2.0 upper plateau and the duty ratio of the first sum; for any short 2.0 queue, determining the product of a first coefficient and the first resource allocation amount of the short 2.0 queue as the target resource allocation amount of the short 2.0 queue;
1.4.3.5 for message queues that are not short 2.0 queues in each target message queue for this round:
For any target large area, re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of a short 2.0 queue in the target large area; based on the re-determined amount of allocable resources of the target large area and the amount of resource demand of each message queue which is not a short 2.0 queue in each target message queue of the round, re-allocating the resources by adopting the first Fair algorithm again, namely adopting a method similar to 1.4.2.1-1.4.2.2.
1.4.4 When each target message queue corresponding to the current round of speed allocation resource allocation process does not comprise a short 2.0 queue belonging to the group sending message channel but comprises a message queue belonging to the triggering message channel, determining the target resource allocation amount of each target message queue of the current round by adopting a third Fair algorithm based on the resource demand amount D of each target message queue of the current round and the allocable resource amount of each target area of the current round;
Specifically:
1.4.4.1 aiming at any target large area, according to the allocable resource quantity S Dispensable (dispensable) of the target large area and the resource demand quantity D of each target message queue in the target large area, a first Fair algorithm is adopted to determine the second resource allocation quantity of each target message queue of the round;
1.4.4.2 determining a second sum according to the sum of the second resource allocation amounts of the message queues belonging to the trigger message channel in each target message queue of the round;
1.4.4.3 judging whether the second sum is greater than the upper limit of the trigger resource, and if the second sum is not greater than the upper limit of the trigger resource, determining that the target resource allocation amount of any target message queue of the round is the corresponding second resource allocation amount;
1.4.4.4 when the second sum is greater than the upper limit of the trigger resource, determining a second coefficient according to the upper limit of the trigger resource and the duty ratio of the second sum; for any message queue belonging to the trigger message channel in each target message queue of the round, determining the product of the second coefficient and the second resource allocation amount of the message queue as the target resource allocation amount of the message queue;
1.4.3.4 message queues not belonging to the trigger message channel in each target message pair column for this round:
Aiming at any target large area, re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of each message queue belonging to the trigger message channel in the target large area; and re-allocating the resources by adopting a first Fair algorithm again based on the re-determined allocable resource quantity of the target large area and the resource demand quantity of the message queues which do not belong to the trigger message channel in each target message pair column of the round, namely adopting a method similar to 1.4.2.1-1.4.2.2.
For example, assume that in a round of speed allocation resource allocation process, the target large area of the round includes a large area a and a large area B, the target message queue in the large area a includes a queue a1 belonging to the trigger message channel and a queue a2 belonging to the trigger message channel, the target message queue in the large area B includes a queue B1 belonging to the trigger message channel and a queue B2 belonging to the group transmission message channel (where the queue B2 is not a short 2.0 queue), the allocable resource amount of the large area a is 20, and the allocable resource amount of the large area B is 25; the resource demand of the queue a1 is 5, the resource demand of the queue a2 is 10, the resource demand of the queue b1 is 5, the resource demand of the queue b2 is 30, and the upper limit of triggering resources is 10;
Firstly, according to the allocable resource quantity of each target large area and the resource demand quantity of each target message queue, adopting a first Fair algorithm to determine that the second resource allocation quantity of each target message queue of the round is respectively: the second resource allocation amount of the queue a1 is 5, the second resource allocation amount of the queue a2 is 10, the second resource allocation amount of the queue b1 is 5, and the second resource allocation amount of the queue b2 is 20;
Since the queues a1, a2 and b1 all belong to the trigger message channel, the sum of the second resource allocation amount of the queue a1, the second resource allocation amount of the queue a2 and the second resource allocation amount of the queue b1 is a second sum 20, and the second sum 20 is greater than the upper limit of the trigger resource by 10, so that the second coefficient is determined to be 1/2 (=10/20) according to the ratio of the upper limit of the trigger resource by 10 to the second sum 20; for any message queue belonging to the trigger message channel in each target message queue of the round, determining the product of the second coefficient and the second resource allocation amount of the message queue as the target resource allocation amount of the message queue, namely, the target resource allocation amount of the queue a1 is 2.5, the target resource allocation amount of the queue a2 is 5, and the target resource allocation amount of the queue b1 is 2.5; at this time, the two target message queues in the large area a have both determined the corresponding target resource allocation amount, and only the queue B2 which does not belong to the trigger message channel in the large area B does not determine the corresponding target resource allocation amount; for the queue B2 in each target message pair row of the round, which does not belong to the trigger message channel, the allocable resource amount of the large area B is determined again, that is, the allocable resource amount of the large area B is determined again to be 22.5 (=25-2.5), and according to the allocable resource amount of the large area and the resource demand amount of the queue B2, the target resource allocation amount of the queue B2 is determined to be 22.5 by adopting a first fairalgorithm.
In summary, the advantages of the intelligent scheduling system for message queues at least include the following aspects:
1. The system can support the dynamic allocation of the speed allocation resources of different message queues according to the real-time system resource condition, can optimize the resource utilization rate and improve the system processing performance.
2. The system can configure different queue priorities for all the message queues, and then adjust the resource allocation priority of the message queues according to the priorities of the message queues.
3. The system can dynamically adjust the speed allocation method according to different types of messages, and can perform personalized scheduling allocation according to the service characteristics because the different types of messages have different service characteristics so as to realize configuration and adjustment according to service requirements and system resource conditions.
4. The system can dynamically adjust the resource allocation according to the messages of different message channel types, and can dynamically adjust the trigger type messages and the interaction type messages with higher instant requirements on the messages, and can allocate more resources for the message channels with high instant performance even under the condition of the same queue priority.
Compared with the related art, the intelligent scheduling system for the message queues has the following advantages:
first, the coverage of the present application is of wider use. The intelligent scheduling system for the message queue can be suitable for more scenes including but not limited to the fields requiring large-scale message transmission, such as telecom operators, logistics companies, financial institutions and the like; meanwhile, the intelligent scheduling system for the message queue can support different types of messages, such as 5G messages, short 2.0 messages, video multimedia messages, text short messages and the like, so that the intelligent scheduling system is more flexible and diversified.
Secondly, the application can support multidimensional message scheduling. The intelligent scheduling system for the message queue can schedule according to the priority of the message and can also allocate resources according to the composite type of the message and the characteristics of the multi-channel message. For example, for messages with low immediacy requirements, they may be assigned to a mass messaging channel; for messages with high instantaneity requirements, the messages can be distributed to a trigger message channel; for messages that are conversational with the user, they may be assigned to an interactive message channel. Meanwhile, the system supports mapping the queue priorities of different message types, message channels and message queues to corresponding issuing rates, namely speed allocation resources according to the pre-configured queue priorities, so that messages with different priorities can be issued according to the pre-determined rates.
Finally, the present application employs a fair scheduling strategy. The intelligent scheduling system of the message queue adopts a Fair scheduling strategy based on a Fair algorithm, so that the speed allocation resources are effectively utilized fairly; and the Fair algorithm is adopted, so that the message transmission efficiency and the resource utilization rate of the system can be improved, and the overall performance of the system is improved.
In conclusion, the intelligent message queue scheduling system can perform multidimensional message scheduling, has a fair scheduling strategy and has strong self-adaptive capacity.
Corresponding to the message queue resource determining method provided by the embodiments of fig. 1 to 5, the present application further provides a message queue resource determining device, and since the message queue resource determining method provided by the embodiments of the present application corresponds to the message queue resource determining method provided by the embodiments of fig. 1 to 5, the implementation of the message queue resource determining method is also applicable to the message queue resource determining device provided by the embodiments of the present application, which is not described in detail in the embodiments of the present application.
Fig. 9 is a schematic structural diagram of a message queue resource determining apparatus according to a seventh embodiment of the present application.
Referring to fig. 9, the message queue resource determining apparatus 900 may include: a first acquisition module 901, a grouping module 902 and a first determination module 903.
The first obtaining module 901 is configured to obtain queue priorities of a plurality of message queues.
A grouping module 902, configured to group each message queue according to the queue priority of each message queue, so as to obtain at least one group; wherein any packet has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority.
The first determining module 903 is configured to determine, for each packet, a target resource allocation amount of each target message queue based on a resource demand amount of each target message queue in the corresponding packet according to a queue priority corresponding to each packet.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: sequencing each packet according to the sequence from high priority to low priority of the queue priority to obtain a sequencing sequence; according to the sequencing sequence, the polled target packet is allocated with speed allocation resources by adopting a corresponding allocation strategy according to the fact that the channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel, so as to determine the target resource allocation quantity of each target message queue according to the resource demand.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: determining a target large area corresponding to each target message queue in the polled target packet; the target large area comprises a trigger message channel and/or a group sending message channel; acquiring the allocable resource quantity of any target large area; when the amount of the allocable resources is larger than a first set threshold value, determining a corresponding allocation strategy for the polled target packet according to the fact that a message channel to which each target message queue in the target packet belongs is a trigger message channel or a group sending message channel; and determining the target resource allocation amount of each target message queue in the target packet by adopting an allocation strategy according to the resource demand amount of each target message queue in the target packet.
In one possible implementation manner of the embodiment of the present application, the target packet does not include the first message queue belonging to the group sending message channel and does not include the second message queue belonging to the triggering message channel; a first determining module 903, configured to: and determining the target resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: determining the average allocation amount of resources of the target large area according to the allocable resource amount of the target large area and the first number of target message queues in the target large area aiming at any target large area; determining the resource demand of any one of the target message queues in the target large area as the target resource allocation amount of the target message queues in response to the resource demand of each of the target message queues in the target large area not being greater than the average resource allocation amount of the target large area; determining the average resource allocation amount of the target large area as the target resource allocation amount of the target message queues in the target large area in response to the resource demand amount of each target message queue in the target large area not being smaller than the average resource allocation amount of the target large area; in response to the existence of a third message queue and a fourth message queue in each target message queue in the target area, determining the resource demand of any third message queue as the target resource allocation amount of the third message queue; the resource demand of the third message queue is not larger than the resource average allocation of the target large area, and the resource demand of the fourth message queue is larger than the resource average allocation of the target large area; re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of each third message queue; and in response to the re-determined amount of allocatable resources of the target large area being greater than a first set threshold, determining a target amount of allocation of resources for each fourth message queue using a first allocation policy based on the re-determined amount of allocatable resources of the target large area and the amount of resource requirements for each fourth message queue.
In one possible implementation manner of the embodiment of the present application, the target packet includes a first message queue belonging to the group sending message channel and does not include a second message queue belonging to the triggering message channel; a first determining module 903, configured to: and determining the target resource allocation amount of each target message queue in the target packet by adopting a second allocation strategy based on the platform resource threshold, the allocable resource amount of each target large area and the resource demand amount of each target message queue in the target packet.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: determining a first resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area; adding the first resource allocation amount of the first message queue in each target large area to obtain a first sum; determining a first coefficient according to the platform resource threshold and the duty ratio of the first sum in response to the first sum being greater than the platform resource threshold; for any first message queue, determining a target resource allocation amount of the first message queue according to the product of the first coefficient and the first resource allocation amount of the first message queue; for any target large area, re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of the first message queue in the target large area; and in response to the re-determined amount of allocatable resources of the target large area being greater than the first set threshold, determining a target amount of allocation of resources for each target message queue in the target large area other than the first message queue using a first allocation policy based on the re-determined amount of allocatable resources of the target large area and the amount of resource requirements for each target message queue in the target large area other than the first message queue.
In one possible implementation manner of the embodiment of the present application, the message queue resource determining apparatus 900 may include:
the second determining means may determine the first resource allocation amount of any one of the target message queues in the target packet as the target resource allocation amount of the target message queue in response to the first sum not being greater than the platform resource threshold.
In one possible implementation manner of the embodiment of the present application, the target packet includes a second message queue belonging to the trigger message channel and does not include a first message queue belonging to the group sending message channel; a first determining module 903, configured to: and determining the target resource allocation amount of each target message queue in the target packet by adopting a third allocation strategy based on the trigger resource threshold, the allocable resource amount of each target large area and the resource demand amount of each target message queue in the target packet.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: determining a second resource allocation amount of each target message queue in the target large area by adopting a first allocation strategy according to the allocable resource amount of any target large area and the resource demand amount of each target message queue in the target large area; adding the second resource allocation amount of the second message queue in each target large area to obtain a second sum; determining a second coefficient according to the trigger resource threshold and the duty ratio of the second sum in response to the second sum being greater than the trigger resource threshold; determining target resource allocation amount of the second message queue according to the product of the second coefficient and the second resource allocation amount of the second message queue for any second message queue; for any target large area, re-determining the allocable resource quantity of the target large area according to the allocable resource quantity of the target large area and the target resource allocation quantity of the second message queue in the target large area; and in response to the re-determined amount of allocatable resources of the target large area being greater than the first set threshold, determining a target amount of allocation of resources of each target message queue in the target large area other than the second message queue using a first allocation policy based on the re-determined amount of allocatable resources of the target large area and the amount of resource requirements of each target message queue in the target large area other than the second message queue.
In one possible implementation manner of the embodiment of the present application, the message queue resource determining apparatus 900 may include:
and a third determining module, configured to determine, as the target resource allocation amount of the target message queue, the first resource allocation amount of any target message queue in the target packet in response to the second sum not being greater than the trigger resource threshold.
In a possible implementation manner of the embodiment of the present application, the first determining module 903 is configured to: determining a second number of fifth message queues and a third number of sixth message queues in the target large area in the non-polled packet according to any target large area; the fifth message queue belongs to the group sending message channel, and the resource demand of the fifth message queue is not a second set threshold; the sixth message queue belongs to the trigger message channel; determining the target allocated resource amount of the target large area according to the target resource allocation amount of each target message queue in the polled group; the amount of allocatable resources of the target large area is determined based on the target total amount of resources of the target large area, the target allocated amount of resources of the target large area, the second number and the third number.
In one possible implementation manner of the embodiment of the present application, the message queue resource determining apparatus 900 may include:
the second acquisition module is used for adding the allocated resource quantity of each message queue in the interactive message channel in the target area to obtain the total interactive resource quantity of the target area; and determining the target total resource of the target large area according to the total resource of the large area of the target large area and the total interactive resource of the target large area.
In one possible implementation manner of the embodiment of the present application, the message queue resource determining apparatus 900 may include:
A third acquisition module, configured to:
Responding to the queue message backlog of the target message queue as 0, wherein the target message queue belongs to a group sending message channel, and the resource demand of the target message queue is a third set threshold;
Or alternatively
Responding to the queue message backlog of the target message queue as 0, wherein the target message queue belongs to a trigger message channel, and the resource demand of the target message queue is a fourth set threshold;
Or alternatively
And determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic allocation resource threshold, the first set time interval and the fourth set threshold in response to the queue message backlog of the target message queue being not 0.
In a possible implementation manner of the embodiment of the present application, the second obtaining module is configured to: responding to the target message queue belonging to the mass messaging channel, and determining a first ratio according to the ratio of the queue message backlog quantity of the target message queue to a first set time interval; determining a first maximum value from the first ratio and a fourth set threshold; determining a first minimum value from the first maximum value, a queue resource threshold of the target message queue and a dynamic allocation resource threshold; the first minimum value is taken as the resource demand of the target message queue.
In a possible implementation manner of the embodiment of the present application, the second obtaining module is configured to: determining a third coefficient according to the first set time interval in response to the target message queue belonging to the trigger message channel; determining a second ratio according to the duty ratio of the queue message backlog of the target message queue and the third coefficient; determining a second maximum value from the second ratio and a fourth set threshold value; determining a second minimum value from the second maximum value, the queue resource threshold of the target message queue and the dynamic allocation resource threshold; the second minimum value is taken as the resource demand of the target message queue.
In one possible implementation manner of the embodiment of the present application, the message queue resource determining apparatus 900 may include:
A fourth obtaining module, configured to obtain a set resource threshold corresponding to the target message queue, and obtain a minimum message processing rate of the subscription number Chatbot for processing the message in the target message queue; determining a third minimum value from the set resource threshold and the minimum message processing rate corresponding to the target message queue; and taking the third minimum value as a queue resource threshold value of the target message queue.
The message queue resource determining device of the embodiment of the application obtains the queue priority of a plurality of message queues; grouping each message queue according to the queue priority of each message queue to obtain at least one group; wherein, any packet has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; and determining the target resource allocation amount of each target message queue according to the queue priority corresponding to each packet and based on the resource demand amount of each target message queue in the corresponding packet for each packet sequence. Therefore, the automatic determination of the target resource allocation amount of the message queues with different queue priorities can be realized based on the queue priorities of the message queues, and the efficiency of message processing can be effectively improved.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Based on the embodiment of the application, the application also provides electronic equipment, which comprises: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the message queue resource determination method of any of the previous embodiments.
Based on the embodiments of the present application, there is further provided a computer readable storage medium, in which computer instructions are used to make a computer execute the method for determining a message queue resource according to any of the foregoing embodiments provided by the embodiments of the present application.
Referring now to fig. 10, shown in fig. 10 is a schematic block diagram of an example electronic device that may be used to implement an embodiment of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the applications described and/or claimed herein.
As shown in fig. 10, the apparatus 1000 includes a computing unit 1001 that can perform various appropriate actions and processes according to a computer program stored in a Read-Only Memory (ROM) 1002 or a computer program loaded from a storage unit 1008 into a random access Memory (Random Access Memory, RAM) 1003. In the RAM 1003, various programs and data required for the operation of the device 1000 can also be stored. The computing unit 1001, the ROM 1002, and the RAM 1003 are connected to each other by a bus 1004. An Input/Output (I/O) interface 1005 is also connected to bus 1004.
Various components in device 1000 are connected to I/O interface 1005, including: an input unit 1006 such as a keyboard, a mouse, and the like; an output unit 1007 such as various types of displays, speakers, and the like; a storage unit 1008 such as a magnetic disk, an optical disk, or the like; and communication unit 1009 such as a network card, modem, wireless communication transceiver, etc. Communication unit 1009 allows device 1000 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks.
The computing unit 1001 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 1001 include, but are not limited to, a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DIGITAL SIGNAL processes, DSPs), and any suitable processors, controllers, microcontrollers, etc. The computing unit 1001 performs the respective methods and processes described above, such as the message queue resource determination method. For example, in some embodiments, the message queue resource determination method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 1008. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 1000 via ROM 1002 and/or communication unit 1009. When the computer program is loaded into RAM 1003 and executed by computing unit 1001, one or more steps of the message queue resource determination method described above may be performed. Alternatively, in other embodiments, the computing unit 1001 may be configured to perform the message queue resource determination method in any other suitable way (e.g., by means of firmware).
Various implementations of the systems and techniques described here above can be implemented in digital electronic circuitry, integrated Circuit System, field programmable gate array (Field Programmable GATE ARRAY, FPGA), application-specific integrated Circuit (ASIC), application-specific standard product (Application SPECIFIC STANDARD PARTS, ASSP), system-On-Chip (SOC), load-programmable logic device (Complex Programmable Logic Device, CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-Only Memory (ROM), an erasable programmable read-Only Memory (EPROM) or flash Memory, an optical fiber, a portable compact disc read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a Cathode Ray Tube (CRT) or an LCD (Liquid CRYSTAL DISPLAY) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local area networks (Local Area Network, LANs), wide area networks (Wide Area Network, WANs), the internet, and blockchain networks.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical host and Virtual private server (VPS PRIVATE SERVER) service. The server may also be a server of a distributed system or a server that incorporates a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present application may be performed in parallel, sequentially, or in a different order, provided that the desired results of the technical solution of the present application are achieved, and are not limited herein.
The above embodiments do not limit the scope of the present application. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the scope of the present application.

Claims (33)

1.一种消息队列资源确定方法,其特征在于,所述方法包括:1. A method for determining message queue resources, characterized in that the method comprises: 获取多个消息队列的队列优先级;Get the queue priorities of multiple message queues; 按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;Grouping each of the message queues according to the queue priority of each of the message queues to obtain at least one group; wherein any of the groups has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; 根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量;According to the queue priority corresponding to each of the groups, the target resource allocation amount of each of the target message queues is determined based on the resource demand of each of the target message queues in the corresponding group for each of the grouping orders; 所述根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量,包括:The step of determining the target resource allocation amount of each target message queue based on the queue priority corresponding to each group and the resource demand amount of each target message queue in the corresponding group for each group order includes: 按照队列优先级从高优先级到低优先级的顺序,对各所述分组进行排序,以得到排序序列;Sorting the packets according to the queue priority from high priority to low priority to obtain a sorted sequence; 依据所述排序序列,对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量;According to the sorting sequence, for the polled target group, according to whether the channel to which each target message queue in the target group belongs is a trigger message channel or a group message channel, a corresponding allocation strategy is adopted to allocate the speed resources, so as to determine the target resource allocation amount of each target message queue according to the resource demand amount; 所述对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量,包括:The polled target group allocates the speed resources using a corresponding allocation strategy according to whether the channel to which each target message queue in the target group belongs is a trigger message channel or a group message channel, so as to determine the target resource allocation amount of each target message queue according to the resource demand, including: 确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,所述目标大区中包括所述触发消息通道和/或所述群发消息通道;Determine a target region corresponding to each target message queue in the polled target group; wherein the target region includes the trigger message channel and/or the group message channel; 获取任一所述目标大区的可分配资源量;Obtaining the amount of allocatable resources in any of the target regions; 在所述可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据所述目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;In the case where the amount of allocatable resources is greater than the first set threshold, for the polled target group, determining a corresponding allocation strategy according to whether the message channel to which each target message queue in the target group belongs is a trigger message channel or a group message channel; 根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定所述目标分组中各所述目标消息队列的目标资源分配量。According to the resource demand of each of the target message queues in the target group, the allocation strategy is adopted to determine the target resource allocation amount of each of the target message queues in the target group. 2.根据权利要求1所述的方法,其特征在于,所述目标分组中不包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;2. The method according to claim 1, characterized in that the target group does not include a first message queue belonging to the group message channel and does not include a second message queue belonging to the trigger message channel; 所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:The step of determining the target resource allocation amount of each target message queue by using the allocation strategy according to the resource demand amount of each target message queue in the target group includes: 根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量。According to the allocatable resource amount of any of the target large areas and the resource demand amount of each target message queue in the target large area, a first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target large area. 3.根据权利要求2所述的方法,其特征在于,所述根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量,包括:3. The method according to claim 2, characterized in that the step of adopting a first allocation strategy to determine the target resource allocation amount of each target message queue in the target region according to the allocatable resource amount of any target region and the resource demand amount of each target message queue in the target region comprises: 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中目标消息队列的第一个数,确定所述目标大区的资源平均分配量;For any of the target large areas, determining the average resource allocation amount of the target large area according to the allocatable resource amount of the target large area and the first number of the target message queue in the target large area; 响应于所述目标大区中各所述目标消息队列的资源需求量均未大于所述目标大区的资源平均分配量,将所述目标大区中任一所述目标消息队列的资源需求量确定为所述目标消息队列的目标资源分配量;In response to the resource demand of each of the target message queues in the target large area not being greater than the average resource allocation of the target large area, determining the resource demand of any of the target message queues in the target large area as the target resource allocation of the target message queue; 响应于所述目标大区中各所述目标消息队列的资源需求量均未小于所述目标大区的资源平均分配量,将所述目标大区的资源平均分配量确定为所述目标大区中所述目标消息队列的目标资源分配量;In response to the resource demand of each of the target message queues in the target large area being not less than the average resource allocation of the target large area, determining the average resource allocation of the target large area as the target resource allocation of the target message queues in the target large area; 响应于所述目标大区中各所述目标消息队列中存在第三消息队列和第四消息队列,将任一所述第三消息队列的资源需求量确定为所述第三消息队列的目标资源分配量;其中,所述第三消息队列的资源需求量未大于所述目标大区的资源平均分配量,所述第四消息队列的资源需求量大于所述目标大区的资源平均分配量;In response to the presence of a third message queue and a fourth message queue in each of the target message queues in the target region, determining a resource demand of any of the third message queues as a target resource allocation of the third message queue; wherein the resource demand of the third message queue is not greater than the average resource allocation of the target region, and the resource demand of the fourth message queue is greater than the average resource allocation of the target region; 根据所述目标大区的可分配资源量和各所述第三消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;re-determining the allocatable amount of resources of the target large area according to the allocatable amount of resources of the target large area and the target resource allocation amount of each of the third message queues; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量和各所述第四消息队列的资源需求量,采用所述第一分配策略,确定各所述第四消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each of the fourth message queues based on the allocatable amount of resources in the re-determined target zone and the resource demand of each of the fourth message queues. 4.根据权利要求1所述的方法,其特征在于,所述目标分组中包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;4. The method according to claim 1, characterized in that the target group includes a first message queue belonging to the group message channel and does not include a second message queue belonging to the trigger message channel; 所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:The step of determining the target resource allocation amount of each target message queue by using the allocation strategy according to the resource demand amount of each target message queue in the target group includes: 基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。Based on the platform resource threshold, the allocatable resource amount of each target zone, and the resource demand of each target message queue in the target group, a second allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target group. 5.根据权利要求4所述的方法,其特征在于,所述基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:5. The method according to claim 4, characterized in that the second allocation strategy is adopted based on the platform resource threshold, the allocatable resource amount of each target zone, and the resource demand of each target message queue in the target group to determine the target resource allocation amount of each target message queue in the target group, comprising: 根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第一资源分配量;According to the allocatable resource amount of any of the target large areas and the resource demand amount of each of the target message queues in the target large area, a first allocation strategy is adopted to determine a first resource allocation amount of each of the target message queues in the target large area; 对各所述目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数;Adding the first resource allocation amounts of the first message queues in each of the target regions to obtain a first sum; 响应于所述第一和数大于所述平台资源阈值,根据所述平台资源阈值和所述第一和数的占比,确定第一系数;In response to the first sum being greater than the platform resource threshold, determining a first coefficient according to a ratio of the platform resource threshold and the first sum; 针对任一所述第一消息队列,根据所述第一系数与所述第一消息队列的第一资源分配量的乘积,确定所述第一消息队列的目标资源分配量;For any of the first message queues, determining a target resource allocation amount of the first message queue according to a product of the first coefficient and a first resource allocation amount of the first message queue; 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第一消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;For any of the target large areas, re-determine the allocatable resource amount of the target large area according to the allocatable resource amount of the target large area and the target resource allocation amount of the first message queue in the target large area; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第一消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第一消息队列之外的各目标消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target zone except the first message queue based on the allocatable amount of resources in the re-determined target zone and the resource demand of each target message queue in the target zone except the first message queue. 6.根据权利要求5所述的方法,其特征在于,所述方法还包括:6. The method according to claim 5, characterized in that the method further comprises: 响应于所述第一和数未大于所述平台资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。In response to the first sum being not greater than the platform resource threshold, a first resource allocation amount of any one of the target message queues in the target group is determined as a target resource allocation amount of the target message queue. 7.根据权利要求1所述的方法,其特征在于,所述目标分组中包括属于所述触发消息通道的第二消息队列且不包括属于所述群发消息通道的第一消息队列;7. The method according to claim 1, characterized in that the target group includes a second message queue belonging to the trigger message channel and does not include a first message queue belonging to the group message channel; 所述根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定各所述目标消息队列的目标资源分配量,包括:The step of determining the target resource allocation amount of each target message queue by using the allocation strategy according to the resource demand amount of each target message queue in the target group includes: 基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。Based on the trigger resource threshold, the allocatable resource amount of each target zone, and the resource demand of each target message queue in the target group, a third allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target group. 8.根据权利要求7所述的方法,其特征在于,所述基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量,包括:8. The method according to claim 7, characterized in that the method of determining the target resource allocation amount of each target message queue in the target group by using a third allocation strategy based on a trigger resource threshold, the allocatable resource amount of each target region, and the resource demand of each target message queue in the target group comprises: 根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第二资源分配量;According to the allocatable resource amount of any of the target large areas and the resource demand amount of each of the target message queues in the target large area, a first allocation strategy is adopted to determine a second resource allocation amount of each of the target message queues in the target large area; 对各所述目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数;Adding the second resource allocation amounts of the second message queues in each of the target regions to obtain a second sum; 响应于所述第二和数大于所述触发资源阈值,根据所述触发资源阈值和所述第二和数的占比,确定第二系数;In response to the second sum being greater than the trigger resource threshold, determining a second coefficient according to a ratio of the trigger resource threshold and the second sum; 针对任一所述第二消息队列,根据所述第二系数与所述第二消息队列的第二资源分配量的乘积,确定所述第二消息队列的目标资源分配量;For any of the second message queues, determining a target resource allocation amount of the second message queue according to a product of the second coefficient and the second resource allocation amount of the second message queue; 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第二消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;For any of the target large areas, re-determine the allocatable resource amount of the target large area according to the allocatable resource amount of the target large area and the target resource allocation amount of the second message queue in the target large area; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第二消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第二消息队列之外的各目标消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target zone except the second message queue based on the allocatable amount of resources in the re-determined target zone and the resource demand of each target message queue in the target zone except the second message queue. 9.根据权利要求8所述的方法,其特征在于,所述方法还包括:9. The method according to claim 8, characterized in that the method further comprises: 响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。In response to the second sum being not greater than the trigger resource threshold, the first resource allocation amount of any one of the target message queues in the target group is determined as the target resource allocation amount of the target message queue. 10.根据权利要求1所述的方法,其特征在于,所述获取任一所述目标大区的可分配资源量,包括:10. The method according to claim 1, wherein obtaining the allocatable resource amount of any target region comprises: 针对任一所述目标大区,确定未轮询到的分组中所述目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,所述第五消息队列属于所述群发消息通道,且所述第五消息队列的资源需求量不为第二设定阈值;所述第六消息队列属于所述触发消息通道;For any of the target regions, determine the second number of the fifth message queue and the third number of the sixth message queue in the target region in the group that has not been polled; wherein the fifth message queue belongs to the group messaging channel, and the resource demand of the fifth message queue is not the second set threshold; the sixth message queue belongs to the trigger message channel; 根据已经轮询过的分组中所述目标大区中的各所述目标消息队列的目标资源分配量,确定所述目标大区的目标已分配资源量;Determine the target allocated resource amount of the target large area according to the target resource allocation amount of each target message queue in the target large area in the group that has been polled; 基于所述目标大区的目标资源总量、所述目标大区的目标已分配资源量、所述第二个数和所述第三个数,确定所述目标大区的可分配资源量。The allocatable amount of resources for the target large zone is determined based on the target total amount of resources for the target large zone, the target allocated amount of resources for the target large zone, the second number, and the third number. 11.根据权利要求10所述的方法,其特征在于,所述目标大区的目标资源总量的获取,包括:11. The method according to claim 10, characterized in that the acquisition of the target total amount of resources in the target large area comprises: 对所述目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到所述目标大区的交互资源总量;Adding up the allocated resource amounts of each message queue in the interactive message channel in the target region to obtain the total interactive resource amount of the target region; 根据所述目标大区的大区资源总量和所述目标大区的交互资源总量,确定所述目标大区的目标资源总量。The target total amount of resources of the target large area is determined according to the total amount of large area resources of the target large area and the total amount of interactive resources of the target large area. 12.根据权利要求1所述的方法,其特征在于,所述目标消息队列的资源需求量的获取,包括:12. The method according to claim 1, characterized in that the acquisition of the resource demand of the target message queue comprises: 响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于群发消息通道,所述目标消息队列的资源需求量为第三设定阈值;In response to a queue message backlog of the target message queue being 0, and the target message queue belonging to a group message channel, the resource demand of the target message queue being a third set threshold; 响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于触发消息通道,所述目标消息队列的资源需求量为第四设定阈值;In response to a queue message backlog of the target message queue being 0, and the target message queue belonging to a trigger message channel, a resource demand of the target message queue being a fourth set threshold; 响应于所述目标消息队列的队列消息积压量不为0,根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量。In response to the queue message backlog of the target message queue being not zero, the resource demand of the target message queue is determined according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamically allocated resource threshold, the first set time interval and the fourth set threshold. 13.根据权利要求12所述的方法,其特征在于,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:13. The method according to claim 12, characterized in that the determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic resource allocation threshold, the first set time interval and the fourth set threshold comprises: 响应于所述目标消息队列属于所述群发消息通道,根据所述目标消息队列的队列消息积压量与所述第一设定时间间隔的占比,确定第一比值;In response to the target message queue belonging to the group message channel, determining a first ratio according to a ratio of a queue message backlog of the target message queue to the first set time interval; 从所述第一比值与所述第四设定阈值中,确定第一最大值;determining a first maximum value from the first ratio and the fourth set threshold; 从所述第一最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第一最小值;Determine a first minimum value from the first maximum value, the queue resource threshold of the target message queue, and the dynamically allocated resource threshold; 将所述第一最小值作为所述目标消息队列的资源需求量。The first minimum value is used as the resource requirement of the target message queue. 14.根据权利要求12所述的方法,其特征在于,所述根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量,包括:14. The method according to claim 12, characterized in that the determining the resource demand of the target message queue according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamic resource allocation threshold, the first set time interval and the fourth set threshold comprises: 响应于所述目标消息队列属于所述触发消息通道,根据所述第一设定时间间隔,确定第三系数;In response to the target message queue belonging to the trigger message channel, determining a third coefficient according to the first set time interval; 根据所述目标消息队列的队列消息积压量与所述第三系数的占比,确定第二比值;Determine a second ratio according to a ratio of a queue message backlog of the target message queue to the third coefficient; 从所述第二比值与所述第四设定阈值中,确定第二最大值;determining a second maximum value from the second ratio and the fourth set threshold; 从所述第二最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第二最小值;Determine a second minimum value from the second maximum value, the queue resource threshold of the target message queue, and the dynamically allocated resource threshold; 将所述第二最小值作为所述目标消息队列的资源需求量。The second minimum value is used as the resource requirement of the target message queue. 15.根据权利要求12所述的方法,其特征在于,所述目标消息队列的队列资源阈值的获取,包括:15. The method according to claim 12, characterized in that the acquisition of the queue resource threshold of the target message queue comprises: 获取所述目标消息队列对应的设定资源阈值,并获取订阅号Chatbot在所述目标消息队列中处理消息的最小消息处理速率;Obtain the set resource threshold corresponding to the target message queue, and obtain the minimum message processing rate of the subscription number Chatbot for processing messages in the target message queue; 从所述目标消息队列对应的设定资源阈值和所述最小消息处理速率中,确定第三最小值;Determining a third minimum value from the set resource threshold corresponding to the target message queue and the minimum message processing rate; 将所述第三最小值作为所述目标消息队列的队列资源阈值。The third minimum value is used as the queue resource threshold of the target message queue. 16.一种资源智能调度系统,其特征在于,所述系统包括基础配置模块、监控模块、资源确定模块和资源分配模块,其中:16. A resource intelligent scheduling system, characterized in that the system includes a basic configuration module, a monitoring module, a resource determination module and a resource allocation module, wherein: 所述基础配置模块,用于配置任一种消息对应的消息队列、各所述消息队列的队列优先级;The basic configuration module is used to configure the message queue corresponding to any message and the queue priority of each message queue; 所述监控模块,用于监控各所述消息队列的队列消息积压量和各所述消息队列的实时速率;The monitoring module is used to monitor the queue message backlog of each message queue and the real-time rate of each message queue; 所述资源确定模块,用于采用如权利要求1-15中任一所述的消息队列资源确定方法,确定多个消息队列对应的目标资源分配量;The resource determination module is used to determine the target resource allocation amounts corresponding to the multiple message queues by using the message queue resource determination method according to any one of claims 1 to 15; 所述资源分配模块,用于根据任一所述消息队列的目标资源分配量,对所述消息队列进行配速资源分配。The resource allocation module is used to allocate speed resources to the message queue according to the target resource allocation amount of any of the message queues. 17.一种消息队列资源确定装置,其特征在于,所述装置包括:17. A message queue resource determination device, characterized in that the device comprises: 第一获取模块,用于获取多个消息队列的队列优先级;A first acquisition module is used to obtain queue priorities of multiple message queues; 分组模块,用于按照各所述消息队列的队列优先级,对各所述消息队列进行分组,以得到至少一个分组;其中,任一所述分组具有对应的队列优先级,包括属于对应队列优先级的目标消息队列;A grouping module, used for grouping each of the message queues according to the queue priority of each of the message queues to obtain at least one group; wherein any of the groups has a corresponding queue priority, including a target message queue belonging to the corresponding queue priority; 第一确定模块,用于根据各所述分组对应的队列优先级,对各分组顺序基于相应分组中各所述目标消息队列的资源需求量,确定各所述目标消息队列的目标资源分配量;A first determination module is used to determine the target resource allocation amount of each target message queue based on the resource demand of each target message queue in the corresponding group according to the queue priority corresponding to each group; 所述第一确定模块,具体用于:The first determining module is specifically configured to: 按照队列优先级从高优先级到低优先级的顺序,对各所述分组进行排序,以得到排序序列;Sorting the packets according to the queue priority from high priority to low priority to obtain a sorted sequence; 依据所述排序序列,对轮询到的目标分组依据所述目标分组中各目标消息队列所属的通道是触发消息通道或群发消息通道,采用对应的分配策略分配配速资源,以根据所述资源需求量确定各所述目标消息队列的目标资源分配量;According to the sorting sequence, for the polled target group, according to whether the channel to which each target message queue in the target group belongs is a trigger message channel or a group message channel, a corresponding allocation strategy is adopted to allocate the speed resources, so as to determine the target resource allocation amount of each target message queue according to the resource demand amount; 所述第一确定模块,具体用于:The first determining module is specifically configured to: 确定轮询到的目标分组中各目标消息队列对应的目标大区;其中,所述目标大区中包括所述触发消息通道和/或所述群发消息通道;Determine a target region corresponding to each target message queue in the polled target group; wherein the target region includes the trigger message channel and/or the group message channel; 获取任一所述目标大区的可分配资源量;Obtaining the amount of allocatable resources in any of the target regions; 在所述可分配资源量大于第一设定阈值的情况下,对轮询到的目标分组,依据所述目标分组中各目标消息队列所属的消息通道是触发消息通道或群发消息通道,确定对应的分配策略;In the case where the amount of allocatable resources is greater than the first set threshold, for the polled target group, a corresponding allocation strategy is determined according to whether the message channel to which each target message queue in the target group belongs is a trigger message channel or a group message channel; 根据所述目标分组中各所述目标消息队列的资源需求量,采用所述分配策略确定所述目标分组中各所述目标消息队列的目标资源分配量。According to the resource demand of each of the target message queues in the target group, the allocation strategy is adopted to determine the target resource allocation amount of each of the target message queues in the target group. 18.根据权利要求17所述的装置,其特征在于,所述目标分组中不包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;18. The device according to claim 17, characterized in that the target group does not include a first message queue belonging to the group message channel and does not include a second message queue belonging to the trigger message channel; 所述第一确定模块,具体用于:The first determining module is specifically configured to: 根据任一所述目标大区的可分配资源量和所述目标大区中各目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各目标消息队列的目标资源分配量。According to the allocatable resource amount of any of the target large areas and the resource demand amount of each target message queue in the target large area, a first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target large area. 19.根据权利要求18所述的装置,其特征在于,所述第一确定模块,具体用于:19. The device according to claim 18, wherein the first determining module is specifically configured to: 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中目标消息队列的第一个数,确定所述目标大区的资源平均分配量;For any of the target large areas, determining the average resource allocation amount of the target large area according to the allocatable resource amount of the target large area and the first number of the target message queue in the target large area; 响应于所述目标大区中各所述目标消息队列的资源需求量均未大于所述目标大区的资源平均分配量,将所述目标大区中任一所述目标消息队列的资源需求量确定为所述目标消息队列的目标资源分配量;In response to the resource demand of each of the target message queues in the target large area not being greater than the average resource allocation of the target large area, determining the resource demand of any of the target message queues in the target large area as the target resource allocation of the target message queue; 响应于所述目标大区中各所述目标消息队列的资源需求量均未小于所述目标大区的资源平均分配量,将所述目标大区的资源平均分配量确定为所述目标大区中所述目标消息队列的目标资源分配量;In response to the resource demand of each of the target message queues in the target large area being not less than the average resource allocation of the target large area, determining the average resource allocation of the target large area as the target resource allocation of the target message queues in the target large area; 响应于所述目标大区中各所述目标消息队列中存在第三消息队列和第四消息队列,将任一所述第三消息队列的资源需求量确定为所述第三消息队列的目标资源分配量;其中,所述第三消息队列的资源需求量未大于所述目标大区的资源平均分配量,所述第四消息队列的资源需求量大于所述目标大区的资源平均分配量;In response to the presence of a third message queue and a fourth message queue in each of the target message queues in the target region, determining a resource demand of any of the third message queues as a target resource allocation of the third message queue; wherein the resource demand of the third message queue is not greater than the average resource allocation of the target region, and the resource demand of the fourth message queue is greater than the average resource allocation of the target region; 根据所述目标大区的可分配资源量和各所述第三消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;re-determining the allocatable amount of resources of the target large area according to the allocatable amount of resources of the target large area and the target resource allocation amount of each of the third message queues; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量和各所述第四消息队列的资源需求量,采用所述第一分配策略,确定各所述第四消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each of the fourth message queues based on the allocatable amount of resources in the re-determined target zone and the resource demand of each of the fourth message queues. 20.根据权利要求17所述的装置,其特征在于,所述目标分组中包括属于所述群发消息通道的第一消息队列且不包括属于所述触发消息通道的第二消息队列;20. The device according to claim 17, characterized in that the target group includes a first message queue belonging to the group message channel and does not include a second message queue belonging to the trigger message channel; 所述第一确定模块,具体用于:The first determining module is specifically configured to: 基于平台资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第二分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。Based on the platform resource threshold, the allocatable resource amount of each target zone, and the resource demand of each target message queue in the target group, a second allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target group. 21.根据权利要求20所述的装置,其特征在于,所述第一确定模块,具体用于:21. The device according to claim 20, characterized in that the first determining module is specifically configured to: 根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第一资源分配量;According to the allocatable resource amount of any of the target large areas and the resource demand amount of each of the target message queues in the target large area, a first allocation strategy is adopted to determine a first resource allocation amount of each of the target message queues in the target large area; 对各所述目标大区中第一消息队列的第一资源分配量进行加和,得到第一和数;Adding the first resource allocation amounts of the first message queues in each of the target regions to obtain a first sum; 响应于所述第一和数大于所述平台资源阈值,根据所述平台资源阈值和所述第一和数的占比,确定第一系数;In response to the first sum being greater than the platform resource threshold, determining a first coefficient according to a ratio of the platform resource threshold and the first sum; 针对任一所述第一消息队列,根据所述第一系数与所述第一消息队列的第一资源分配量的乘积,确定所述第一消息队列的目标资源分配量;For any of the first message queues, determining a target resource allocation amount of the first message queue according to a product of the first coefficient and a first resource allocation amount of the first message queue; 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第一消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;For any of the target large areas, re-determine the allocatable resource amount of the target large area according to the allocatable resource amount of the target large area and the target resource allocation amount of the first message queue in the target large area; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第一消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第一消息队列之外的各目标消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target zone except the first message queue based on the allocatable amount of resources in the re-determined target zone and the resource demand of each target message queue in the target zone except the first message queue. 22.根据权利要求21所述的装置,其特征在于,所述装置还包括:22. The device according to claim 21, characterized in that the device further comprises: 第二确定模块,用于响应于所述第一和数未大于所述平台资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。The second determining module is configured to determine, in response to the first sum being not greater than the platform resource threshold, a first resource allocation amount of any target message queue in the target group as a target resource allocation amount of the target message queue. 23.根据权利要求17所述的装置,其特征在于,所述目标分组中包括属于所述触发消息通道的第二消息队列且不包括属于所述群发消息通道的第一消息队列;23. The device according to claim 17, characterized in that the target group includes a second message queue belonging to the trigger message channel and does not include a first message queue belonging to the group message channel; 所述第一确定模块,具体用于:The first determining module is specifically configured to: 基于触发资源阈值、各所述目标大区的可分配资源量、所述目标分组中各所述目标消息队列的资源需求量,采用第三分配策略,确定所述目标分组中各所述目标消息队列的目标资源分配量。Based on the trigger resource threshold, the allocatable resource amount of each target zone, and the resource demand of each target message queue in the target group, a third allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target group. 24.根据权利要求23所述的装置,其特征在于,所述第一确定模块,具体用于:24. The device according to claim 23, wherein the first determining module is specifically configured to: 根据任一所述目标大区的可分配资源量和所述目标大区中各所述目标消息队列的资源需求量,采用第一分配策略,确定所述目标大区中各所述目标消息队列的第二资源分配量;According to the allocatable resource amount of any of the target large areas and the resource demand amount of each of the target message queues in the target large area, a first allocation strategy is adopted to determine a second resource allocation amount of each of the target message queues in the target large area; 对各所述目标大区中第二消息队列的第二资源分配量进行加和,得到第二和数;Adding the second resource allocation amounts of the second message queues in each of the target regions to obtain a second sum; 响应于所述第二和数大于所述触发资源阈值,根据所述触发资源阈值和所述第二和数的占比,确定第二系数;In response to the second sum being greater than the trigger resource threshold, determining a second coefficient according to a ratio of the trigger resource threshold and the second sum; 针对任一所述第二消息队列,根据所述第二系数与所述第二消息队列的第二资源分配量的乘积,确定所述第二消息队列的目标资源分配量;For any of the second message queues, determining a target resource allocation amount of the second message queue according to a product of the second coefficient and the second resource allocation amount of the second message queue; 针对任一所述目标大区,根据所述目标大区的可分配资源量和所述目标大区中所述第二消息队列的目标资源分配量,重新确定所述目标大区的可分配资源量;For any of the target large areas, re-determine the allocatable resource amount of the target large area according to the allocatable resource amount of the target large area and the target resource allocation amount of the second message queue in the target large area; 响应于重新确定的目标大区的可分配资源量大于所述第一设定阈值,根据重新确定的目标大区的可分配资源量,以及所述目标大区中除所述第二消息队列之外的各目标消息队列的资源需求量,采用所述第一分配策略,确定所述目标大区中除所述第二消息队列之外的各目标消息队列的目标资源分配量。In response to the allocatable amount of resources in the re-determined target zone being greater than the first set threshold, the first allocation strategy is adopted to determine the target resource allocation amount of each target message queue in the target zone except the second message queue based on the allocatable amount of resources in the re-determined target zone and the resource demand of each target message queue in the target zone except the second message queue. 25.根据权利要求24所述的装置,其特征在于,所述装置还包括:25. The device according to claim 24, characterized in that the device further comprises: 第三确定模块,用于响应于所述第二和数未大于所述触发资源阈值,将所述目标分组中任一所述目标消息队列的第一资源分配量确定为所述目标消息队列的目标资源分配量。A third determination module is configured to determine, in response to the second sum being not greater than the trigger resource threshold, the first resource allocation amount of any target message queue in the target group as the target resource allocation amount of the target message queue. 26.根据权利要求17所述的装置,其特征在于,所述第一获取模块,具体用于:26. The device according to claim 17, wherein the first acquisition module is specifically used to: 针对任一所述目标大区,确定未轮询到的分组中所述目标大区中第五消息队列的第二个数以及第六消息队列的第三个数;其中,所述第五消息队列属于所述群发消息通道,且所述第五消息队列的资源需求量不为第二设定阈值;所述第六消息队列属于所述触发消息通道;For any of the target regions, determine the second number of the fifth message queue and the third number of the sixth message queue in the target region in the group that has not been polled; wherein the fifth message queue belongs to the group messaging channel, and the resource demand of the fifth message queue is not the second set threshold; the sixth message queue belongs to the trigger message channel; 根据已经轮询过的分组中所述目标大区中的各所述目标消息队列的目标资源分配量,确定所述目标大区的目标已分配资源量;Determine the target allocated resource amount of the target large area according to the target resource allocation amount of each target message queue in the target large area in the group that has been polled; 基于所述目标大区的目标资源总量、所述目标大区的目标已分配资源量、所述第二个数和所述第三个数,确定所述目标大区的可分配资源量。The allocatable amount of resources for the target large zone is determined based on the target total amount of resources for the target large zone, the target allocated amount of resources for the target large zone, the second number, and the third number. 27.根据权利要求26所述的装置,其特征在于,所述装置还包括:27. The device according to claim 26, characterized in that the device further comprises: 第二获取模块,具体用于:The second acquisition module is specifically used for: 对所述目标大区中交互消息通道中的各消息队列的已分配资源量进行加和,得到所述目标大区的交互资源总量;Adding up the allocated resource amounts of each message queue in the interactive message channel in the target region to obtain the total interactive resource amount of the target region; 根据所述目标大区的大区资源总量和所述目标大区的交互资源总量,确定所述目标大区的目标资源总量。The target total amount of resources of the target large area is determined according to the total amount of large area resources of the target large area and the total amount of interactive resources of the target large area. 28.根据权利要求17所述的装置,其特征在于,所述装置还包括:28. The device according to claim 17, characterized in that the device further comprises: 第三获取模块,具体用于:The third acquisition module is specifically used for: 响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于群发消息通道,所述目标消息队列的资源需求量为第三设定阈值;In response to a queue message backlog of the target message queue being 0, and the target message queue belonging to a group message channel, the resource demand of the target message queue being a third set threshold; 或者,or, 响应于所述目标消息队列的队列消息积压量为0,且所述目标消息队列属于触发消息通道,所述目标消息队列的资源需求量为第四设定阈值;In response to a queue message backlog of the target message queue being 0, and the target message queue belonging to a trigger message channel, a resource demand of the target message queue being a fourth set threshold; 或者,or, 响应于所述目标消息队列的队列消息积压量不为0,根据所述目标消息队列的队列消息积压量、所述目标消息队列的队列资源阈值、动态分配资源阈值、第一设定时间间隔和所述第四设定阈值,确定所述目标消息队列的资源需求量。In response to the queue message backlog of the target message queue being not zero, the resource demand of the target message queue is determined according to the queue message backlog of the target message queue, the queue resource threshold of the target message queue, the dynamically allocated resource threshold, the first set time interval and the fourth set threshold. 29.根据权利要求28所述的装置,其特征在于,所述第三获取模块,具体用于:29. The device according to claim 28, characterized in that the third acquisition module is specifically used to: 响应于所述目标消息队列属于所述群发消息通道,根据所述目标消息队列的队列消息积压量与所述第一设定时间间隔的占比,确定第一比值;In response to the target message queue belonging to the group message channel, determining a first ratio according to a ratio of a queue message backlog of the target message queue to the first set time interval; 从所述第一比值与所述第四设定阈值中,确定第一最大值;Determining a first maximum value from the first ratio and the fourth set threshold; 从所述第一最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第一最小值;Determine a first minimum value from the first maximum value, the queue resource threshold of the target message queue, and the dynamically allocated resource threshold; 将所述第一最小值作为所述目标消息队列的资源需求量。The first minimum value is used as the resource requirement of the target message queue. 30.根据权利要求28所述的装置,其特征在于,所述第三获取模块,具体用于:30. The device according to claim 28, characterized in that the third acquisition module is specifically used to: 响应于所述目标消息队列属于所述触发消息通道,根据所述第一设定时间间隔,确定第三系数;In response to the target message queue belonging to the trigger message channel, determining a third coefficient according to the first set time interval; 根据所述目标消息队列的队列消息积压量与所述第三系数的占比,确定第二比值;Determine a second ratio according to a ratio of a queue message backlog of the target message queue to the third coefficient; 从所述第二比值与所述第四设定阈值中,确定第二最大值;determining a second maximum value from the second ratio and the fourth set threshold; 从所述第二最大值、所述目标消息队列的队列资源阈值和所述动态分配资源阈值中,确定第二最小值;Determine a second minimum value from the second maximum value, the queue resource threshold of the target message queue, and the dynamically allocated resource threshold; 将所述第二最小值作为所述目标消息队列的资源需求量。The second minimum value is used as the resource requirement of the target message queue. 31.根据权利要求28所述的装置,其特征在于,所述装置还包括:31. The device according to claim 28, characterized in that the device further comprises: 第四获取模块,具体用于:The fourth acquisition module is specifically used for: 获取所述目标消息队列对应的设定资源阈值,并获取订阅号Chatbot在所述目标消息队列中处理消息的最小消息处理速率;Obtain the set resource threshold corresponding to the target message queue, and obtain the minimum message processing rate of the subscription number Chatbot for processing messages in the target message queue; 从所述目标消息队列对应的设定资源阈值和所述最小消息处理速率中,确定第三最小值;Determining a third minimum value from the set resource threshold corresponding to the target message queue and the minimum message processing rate; 将所述第三最小值作为所述目标消息队列的队列资源阈值。The third minimum value is used as the queue resource threshold of the target message queue. 32.一种电子设备,其特征在于,包括:32. An electronic device, comprising: 至少一个处理器;at least one processor; 以及与所述至少一个处理器通信连接的存储器;and a memory communicatively coupled to the at least one processor; 其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至15中任一项所述的消息队列资源确定方法。The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the message queue resource determination method described in any one of claims 1 to 15. 33.一种计算机可读存储介质,用于存储有指令,其特征在于,当所述指令被执行时,使如权利要求1至15中任一项所述的方法被实现。33. A computer-readable storage medium, used for storing instructions, characterized in that when the instructions are executed, the method according to any one of claims 1 to 15 is implemented.
CN202311113825.XA 2023-08-30 2023-08-30 Message queue resource determination method, device and resource intelligent scheduling system Active CN117176672B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311113825.XA CN117176672B (en) 2023-08-30 2023-08-30 Message queue resource determination method, device and resource intelligent scheduling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311113825.XA CN117176672B (en) 2023-08-30 2023-08-30 Message queue resource determination method, device and resource intelligent scheduling system

Publications (2)

Publication Number Publication Date
CN117176672A CN117176672A (en) 2023-12-05
CN117176672B true CN117176672B (en) 2024-10-15

Family

ID=88944184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311113825.XA Active CN117176672B (en) 2023-08-30 2023-08-30 Message queue resource determination method, device and resource intelligent scheduling system

Country Status (1)

Country Link
CN (1) CN117176672B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745549A (en) * 2002-12-13 2006-03-08 艾利森公司 A system for processing messages based on content
CN114979982A (en) * 2022-04-13 2022-08-30 中移互联网有限公司 Message delivery method, device, electronic device and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011001210A1 (en) * 2009-06-29 2011-01-06 Nokia Corporation Resource allocation
WO2013049687A1 (en) * 2011-09-30 2013-04-04 Mail Bypass, Inc. Message delivery systems and methods
CN113032112A (en) * 2019-12-25 2021-06-25 上海商汤智能科技有限公司 Resource scheduling method and device, electronic equipment and storage medium
CN115834509A (en) * 2022-09-27 2023-03-21 中国建设银行股份有限公司 Message processing method, device, storage medium and electronic equipment
CN116095079A (en) * 2023-01-28 2023-05-09 北京达佳互联信息技术有限公司 Data update method, device, electronic device and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745549A (en) * 2002-12-13 2006-03-08 艾利森公司 A system for processing messages based on content
CN114979982A (en) * 2022-04-13 2022-08-30 中移互联网有限公司 Message delivery method, device, electronic device and storage medium

Also Published As

Publication number Publication date
CN117176672A (en) 2023-12-05

Similar Documents

Publication Publication Date Title
CN104580396B (en) A kind of method for scheduling task, node and system
US20190324819A1 (en) Distributed-system task assignment method and apparatus
CN107688492B (en) Resource control method and device and cluster resource management system
CN109873868A (en) A computing power sharing method, system and related equipment
CN101834786B (en) Queue scheduling method and device
CN108776934A (en) Distributed data computational methods, device, computer equipment and readable storage medium storing program for executing
CN113986497B (en) Queue scheduling method, device and system based on multi-tenant technology
CN112860974A (en) Computing resource scheduling method and device, electronic equipment and storage medium
CN112783659A (en) Resource allocation method and device, computer equipment and storage medium
WO2024016596A1 (en) Container cluster scheduling method and apparatus, device, and storage medium
CN109815007A (en) Thread control method, device, electronic device and storage medium based on cloud monitoring
CN107295090A (en) A kind of method and apparatus of scheduling of resource
US20190332328A1 (en) Storage Controller and IO Request Processing Method
CN112559182A (en) Resource allocation method, device, equipment and storage medium
CN111488206A (en) Deep learning task scheduling method, system, terminal and storage medium
CN112749002A (en) Method and device for dynamically managing cluster resources
CN113285886B (en) Bandwidth allocation method and device, electronic equipment and readable storage medium
CN112888005B (en) MEC-oriented distributed service scheduling method
CN110427273A (en) Scheduling memory method, apparatus, equipment and storage medium
CN116661960A (en) Batch task processing method, device, equipment and storage medium
CN114327918B (en) Method and device for adjusting resource amount, electronic equipment and storage medium
CN111324459A (en) Calendar-based resource scheduling method and device, electronic equipment and storage medium
CN117176672B (en) Message queue resource determination method, device and resource intelligent scheduling system
CN113347238A (en) Message partitioning method, system, device and storage medium based on block chain
CN113157404B (en) Task processing method and device

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