CN117176672A - Message queue resource determining method and device and resource intelligent scheduling system - Google Patents

Message queue resource determining method and device and resource intelligent scheduling system Download PDF

Info

Publication number
CN117176672A
CN117176672A CN202311113825.XA CN202311113825A CN117176672A CN 117176672 A CN117176672 A CN 117176672A CN 202311113825 A CN202311113825 A CN 202311113825A CN 117176672 A CN117176672 A CN 117176672A
Authority
CN
China
Prior art keywords
target
resource
message queue
message
large area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311113825.XA
Other languages
Chinese (zh)
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/CN117176672A/en
Publication of CN117176672A publication Critical patent/CN117176672A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a method and a device for determining message queue resources and an intelligent resource scheduling system. Wherein the method comprises the following steps: 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; 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.

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 may be determined to be 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 determined to the sixth message queues belonging to large area a+4 in unpolled packet 5 may be determined to the number of packet 4+4; 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 target total amount of resources of the target large area A is S Total (S) The target allocated resource amount of the target large area AIf S' is the second number is m1 and the third number is m2, the allocatable resource quantity S of the target large area can be determined according to the following formula Dispensable (dispensable)
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, suppose that the interactive message channel in the target large area a includes n message queues, and the allocated resource amount of the ith message queue is S Cross i Wherein i is [1, n ]]And i is a positive integer, the total interactive resource amount S of the target large area A can be determined according to the following formula Traffic intersection
And can be based on the total S of the area resources of the target area and the total S of the interactive resources of the target area Traffic intersection Determining the difference between the target total amount S of the target resources of the target large area Total (S)
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 target large area a, assume that the amount of allocatable resources of target large area a is S Dispensable (dispensable) If the first number of target message queues in the target large area a is n, the average allocation of resources in 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∈[1,n]And i is a positive integer; when->And j is a positive integer, all of which are +.>Target resource allocation amount S of the ith target message queue in target area a Mesh i 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 of which are +.>Target resource allocation amount S of the ith target message queue in target area a Mesh i Equal to->Wherein i is [1, n ]]And i is a positive integer. />
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∈[1,n]And i is a positive integer; when there is a part of the target message queues in the target large area A, the resource demand of the target message queues is not more than +.>And there is another part of the target message queue whose resource demand is greater than + ->The resource demand can be made no greater than +.>As a third message queue, the resource requirement is greater than +. >As 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, and the platform resource threshold of the short 2.0 platform is S Short length When the first sum S And 1 Greater than S Short length Indicating that the sum of the first resource allocation amounts allocated to each first message queue in each target large area by adopting the first allocation strategy is larger than the platform resource threshold value which can be allocated by the short 2.0 platform, at this time, the first coefficient k can be determined according to the following formula according to the duty ratio of the platform resource threshold value and the first sum 1 The method comprises the following steps:
k 1 =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 referring to the above example, for any first message queue, assume that the first resource allocation amount of the first message queue is S First one A first coefficient of k 1 The target resource allocation amount S of the first message queue may be determined according to the following formula Order of (A)
S Order of (A) =S First one *k 1 ; (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 target large area a, assume that the amount of allocatable resources of the target large area is S Dispensable (dispensable) The target large area A comprises n first message queues, and the target resource allocation amount of the ith first message queue is S Mesh i ,i∈[1,n]And i is a positive integer, the allocatable resource quantity S 'of the target large area A can be redetermined according to the following formula' Dispensable (dispensable)
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, assume that the target message queues in the target large area a except the first message queue a1 include a target message queue a3, a target message queue a5, and a target message queue a6, and the process is repeatedThe determined amount of the allocatable resources of the target large area is S' Dispensable (dispensable) A first set threshold value of 0, when S' Dispensable (dispensable) >0, the amount of the allocatable resources of the target large area can be S 'according to the redetermined' Dispensable (dispensable) And the resource demand of the target message queue a3, the resource demand of the target message queue a5 and the resource demand of the target message queue a6, determining 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 in the target area by adopting a first allocation strategy, namely adopting a method similar to that in the steps S4041 to S4046, and determining the allocable resource amount of the target area based on the redetermined target area as S '' Dispensable (dispensable) And determining 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 in the target area, along with 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 a 6.
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 Greater than S Touch When the second resource allocation sum which indicates that the first allocation strategy is adopted to allocate the second resources for each second message queue in each target large area is larger than the trigger resource threshold which can be allocated by the trigger message channel, the second coefficient k can be determined according to the following formula according to the duty ratio of the trigger resource threshold and the second sum 2 The method comprises the following steps:
k 2 =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 referring to the above example, for any second message queue, assume that the second resource allocation amount of the second message queue is S Second one The second coefficient is k 2 The target resource allocation amount S of the second message queue may be determined according to the following formula Order of (A)
S Order of (A) =S Second one *k 2 ; (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 target large area a, assume that the amount of allocatable resources of the target large area is S Dispensable (dispensable) The target large area A comprises m second message queues, wherein the target resource allocation amount of the ith second message queue is S Mesh i ,i∈[1,m]And i is a positive integer, the allocatable resource quantity S 'of the target large area A can be redetermined according to the following formula' Dispensable (dispensable)
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, assume that the target message queues other than the second message queue in the target large area B include a target message queue B1, a target message queue B2, and a target message queue B3, and the re-determined amount of allocatable resources of the target large area is S' Dispensable (dispensable) A first set threshold value of 0, when S' Dispensable (dispensable) >0, the amount of the allocatable resources of the target large area can be S 'according to the redetermined' Dispensable (dispensable) And the resource demand of the target message queue b1, the resource demand of the target message queue b2 and the resource demand of the target message queue b3, determining 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 in the target area by adopting a first allocation strategy, namely adopting a method similar to that in the steps S4041 to S4046, and determining the allocable resource amount of the target area based on the redetermined target area as S '' Dispensable (dispensable) And determining 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 in the target area according to 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 b 3.
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, assume that the target message queue aThe queue backlog quantity is Q, the first set time interval is t, the fourth set threshold is 100, and 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 Q of the target message queue a is not 0, determining that the first ratio is Q/t according to the ratio of the queue message backlog Q of the target message queue to the first set time interval t when the target message queue a belongs to the group messaging channel; determining a first maximum value as max { Q/t,100}, from the first ratio Q/t and the fourth set threshold 100; from the first maximum value max { Q/t,100}, the queue resource threshold S of the target message queue Team, team and method for producing the same And dynamically allocating a resource threshold S Dynamic movement In (2), a first minimum value is determined to be min { max { Q/t,100}, S Team, team and method for producing the same ,S Dynamic movement -a }; 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, and 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 target message queue a belongs to the trigger message channel, determining a third coefficient as (t/2) according to a first set time interval t under the condition that the queue message backlog quantity Q of the target message queue a is not 0; 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); from the second ratio Q/(t/2) andin the fourth set threshold 100, the second maximum value is determined as max { Q/(t/2), 100}; then from the second maximum value max { Q/(t/2), 100}, the queue resource threshold S of the target message queue Team, team and method for producing the same And dynamically allocating a resource threshold S Dynamic movement In (2), the second minimum value is determined to be min { max { Q/(t/2), 100}, S Team, team and method for producing the same ,S Dynamic movement -a }; 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, allocating resourcesIn the process, the allocable resource quantity S of each target large area of the round Dispensable (dispensable) The method comprises the following steps:
S dispensable (dispensable) =S Upper part -S Assigned to ; (11)
S Assigned to =∑S Traffic intersection ; (12)
Wherein S is Upper part Upper limit of large area performance of target large area, S Traffic intersection An amount of allocated resources for a message queue in an interactive message channel in a target area.
In the subsequent speed-matching resource allocation process of any round, the allocable resource quantity S of each target large area of the round Dispensable (dispensable) The method comprises the following steps:
S dispensable (dispensable) =S Upper part -S Assigned to -100(m1+m2); (13)
S Assigned to =∑S Traffic intersection +∑X Order of (A) ; (14)
Wherein S is Upper part Upper limit of large area performance of target large area, S Traffic intersection X is the allocated resource 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 according to the amount of allocatable resources S of the target Mass Dispensable (dispensable) And a first number n of target message queues in the target large area, determining the average allocation of resources of the target large areaThe 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 sequence:
if all message queues in the target large area are satisfiedThat 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 +. >Ending the algorithm;
if all message queues in the target large area are satisfiedThat 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 satisfyingAnd there are some other target message queues +>Then 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 resources of the target message queue of (2) are shared to +.>Is a target message queue of (1);
in particular, for satisfyingIn 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; root of Chinese characterBased on the amount of allocatable resources S of the target area Dispensable (dispensable) And satisfy->The 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) The amount of allocatable resources for the target large area determined again, S Order of (A) For meeting in the target large areaTarget resource allocation amount of the target message queue of (a);
for the target large areaIn the present application, a fourth message queue based on the redefined amount of allocatable resources of the target large area and +.>The 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 for any target Mass according to the amount of allocatable resources S of the target Mass Dispensable (dispensable) And target message queues in the target areaFirstly, determining a first resource allocation amount of each target message queue of the round by adopting a first Fair algorithm;
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; the first Fair algorithm is again adopted, namely, a method similar to 1.4.2.1-1.4.2.2 is adopted for reallocating resources based on the redetermined allocable resource amount of the target large area and the resource demand amount of each message queue which is not a short 2.0 queue in each target message queue of the round.
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 for any target large area, according to the allocatable resource quantity S of the target large area Dispensable (dispensable) And the resource demand D of each target message queue in the target large area are adopted firstlyA first Fair algorithm determines a second resource allocation amount 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 larger than the upper limit of the trigger resource, and if the second sum is not larger 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 trigger resource upper limit, determining a second coefficient according to the trigger resource upper limit 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; based on the re-determined amount of allocable resources of the target area and the amount of resource demands of the target message pairs of the round, which do not belong to the message queues of the trigger message channel, the resources are re-allocated again by adopting the first Fair algorithm, 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 application covers a wider range of uses. 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,
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,
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 Process, DSP), and any suitable processors, controllers, microcontrollers, and the like. 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 systems, field programmable gate arrays (Field Programmable Gate Array, FPGAs), application specific integrated circuits (Application Specific Integrated Circuit, ASICs), application specific standard products (Application Specific Standard Parts, ASSPs), systems On Chip (SOC), load programmable logic devices (Complex Programmable Logic Device, CPLDs), 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., cathode Ray Tube (CRT) or 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 network (Local Area Network, LAN), wide area network (Wide Area Network, WAN), 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 that the defects of high management difficulty and weak service expansibility in the traditional physical host and VPS (Virtual Private Server ) service are overcome. 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 (37)

1. A method for determining a message queue resource, the method comprising:
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.
2. The method of claim 1, wherein 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 comprises:
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.
3. The method according to claim 2, wherein the allocating the allocation rate resources by the pair of polled target packets according to whether the channel to which each target message queue belongs in the target packets is a trigger message channel or a group sending message channel by using 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 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 the allocation strategy according to the resource demand amount of each target message queue in the target packet.
4. A method according to claim 3, wherein the target packet does not include a first message queue belonging to the mass 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 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.
5. The method of claim 4, wherein determining the target allocation of resources for each target message queue in the target area using the first allocation policy based on the allocable amount of resources for any of the target areas and the resource requirements for each target message queue in the target area comprises:
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 not being smaller 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.
6. A method according to claim 3, wherein the target packet includes a first message queue belonging to the mass 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 a 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.
7. The method of claim 6, wherein determining the target allocation of resources for each of the target message queues in the target packet using a second allocation policy based on a platform resource threshold, an amount of allocable resources for each of the target volumes, and an amount of resource demand for each of the target message queues in the target packet comprises:
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;
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.
8. The method of claim 7, wherein the method further comprises:
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.
9. A method according to claim 3, wherein 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 a 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.
10. The method of claim 9, wherein determining the target allocation of resources for each of the target message queues in the target packet using a third allocation policy based on the trigger resource threshold, the allocable amount of resources for each of the target volumes, and the resource demand for each of the target message queues in the target packet comprises:
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;
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.
11. The method according to claim 10, wherein the method further comprises:
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.
12. The method of claim 3, wherein the obtaining the amount of allocable resources for any of the target volumes comprises:
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.
13. The method of claim 12, wherein the obtaining the target total amount of resources for the target area comprises:
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.
14. The method of claim 1, wherein the obtaining of the resource demand of the target message queue comprises:
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.
15. The method of claim 14, wherein said determining the resource demand of the target message queue based on 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 comprises:
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.
16. The method of claim 14, wherein said determining the resource demand of the target message queue based on 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 comprises:
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.
17. The method of claim 14, wherein the obtaining of the queue resource threshold value of the target message queue comprises:
acquiring a set resource threshold corresponding to the target message queue, and acquiring the minimum message processing rate of a subscription number Chatbot for processing messages in the target message queue;
determining a third minimum value from a set resource threshold corresponding to the target message queue and the minimum message processing rate;
and taking the third minimum value as a queue resource threshold of the target message queue.
18. The intelligent resource scheduling system is characterized by comprising a basic configuration module, a monitoring module, a resource determining module and a resource distributing module, wherein:
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 real-time rate of each message queue;
the resource determining module is configured to determine target resource allocation amounts corresponding to a plurality of message queues by using the method for determining a message queue resource according to any one of claims 1 to 17;
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.
19. A message queue resource determining apparatus, the apparatus comprising:
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.
20. The apparatus of claim 19, wherein the first determining module is specifically configured to:
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.
21. The apparatus of claim 20, wherein the first determining module is specifically configured to:
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 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 the allocation strategy according to the resource demand amount of each target message queue in the target packet.
22. The apparatus of claim 21, wherein the target packet does not include 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 first determining module is specifically 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.
23. The apparatus of claim 4, wherein the first determining module is specifically 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 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 not being smaller 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.
24. The apparatus of claim 21, wherein the target packet includes therein a first message queue belonging to the mass messaging channel and does not include therein a second message queue belonging to the trigger message channel;
the first determining module is specifically 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 a 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.
25. The apparatus of claim 24, wherein the first determining module is specifically 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;
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.
26. The apparatus of claim 24, wherein the apparatus further comprises:
and a second determining module, configured to determine, as a target resource allocation amount of the target message queue, a first resource allocation amount of any one of the target message queues in the target packet in response to the first sum not being greater than the platform resource threshold.
27. The apparatus of claim 21, wherein the target packet includes therein a second message queue belonging to the trigger message channel and does not include therein a first message queue belonging to the group messaging channel;
the first determining module is specifically 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 a 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.
28. The apparatus of claim 27, wherein the first determining module is specifically 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;
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.
29. The method of claim 28, wherein the apparatus further comprises:
and a third determining module, configured to determine, as a target resource allocation amount of the target message queue, a first resource allocation amount of any one of the target message queues in the target packet in response to the second sum not being greater than the trigger resource threshold.
30. The apparatus of claim 21, wherein the first acquisition module is specifically 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 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.
31. The apparatus of claim 30, wherein the apparatus further comprises:
the second acquisition module is specifically configured to:
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.
32. The apparatus of claim 19, wherein the apparatus further comprises:
the third obtaining module is specifically configured to:
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;
or,
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;
or,
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.
33. The apparatus of claim 32, wherein the third acquisition module is specifically 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 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.
34. The apparatus of claim 32, wherein the third acquisition module is specifically 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 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.
35. The apparatus of claim 32, wherein the apparatus further comprises:
the fourth acquisition module is specifically configured to:
acquiring a set resource threshold corresponding to the target message queue, and acquiring the minimum message processing rate of a subscription number Chatbot for processing messages in the target message queue;
determining a third minimum value from a set resource threshold corresponding to the target message queue and the minimum message processing rate;
and taking the third minimum value as a queue resource threshold of the target message queue.
36. An electronic device, comprising:
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 one of claims 1 to 17.
37. A computer readable storage medium storing instructions which, when executed, cause a method as claimed in any one of claims 1 to 17 to be implemented.
CN202311113825.XA 2023-08-30 2023-08-30 Message queue resource determining method and device and resource intelligent scheduling system Pending CN117176672A (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN117176672A true CN117176672A (en) 2023-12-05

Family

ID=88944184

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN117176672A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745549A (en) * 2002-12-13 2006-03-08 艾利森公司 System for content based message processing
US20120179793A1 (en) * 2009-06-29 2012-07-12 Nokia Corporation Resource Allocation
WO2021128737A1 (en) * 2019-12-25 2021-07-01 上海商汤智能科技有限公司 Resource scheduling method and apparatus, electronic device, and storage medium
CN114979982A (en) * 2022-04-13 2022-08-30 中移互联网有限公司 Message issuing method and device, electronic equipment and storage medium
CN115834509A (en) * 2022-09-27 2023-03-21 中国建设银行股份有限公司 Message processing method and device, storage medium and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745549A (en) * 2002-12-13 2006-03-08 艾利森公司 System for content based message processing
US20120179793A1 (en) * 2009-06-29 2012-07-12 Nokia Corporation Resource Allocation
WO2021128737A1 (en) * 2019-12-25 2021-07-01 上海商汤智能科技有限公司 Resource scheduling method and apparatus, electronic device, and storage medium
CN114979982A (en) * 2022-04-13 2022-08-30 中移互联网有限公司 Message issuing method and device, electronic equipment and storage medium
CN115834509A (en) * 2022-09-27 2023-03-21 中国建设银行股份有限公司 Message processing method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
CN107241281B (en) Data processing method and device
CN107688492B (en) Resource control method and device and cluster resource management system
CN106681835B (en) The method and resource manager of resource allocation
CN109873868A (en) A kind of computing capability sharing method, system and relevant device
CN112559182B (en) Resource allocation method, device, equipment and storage medium
CN103049213B (en) A kind of disk-scheduling method and device
CN107295090A (en) A kind of method and apparatus of scheduling of resource
CN112860974A (en) Computing resource scheduling method and device, electronic equipment and storage medium
CN112888005B (en) MEC-oriented distributed service scheduling method
CN112783659A (en) Resource allocation method and device, computer equipment and storage medium
CN112749002A (en) Method and device for dynamically managing cluster resources
KR20240052091A (en) Graphics processing unit resource management method, apparatus, device, storage medium, and program product
CN114327918B (en) Method and device for adjusting resource amount, electronic equipment and storage medium
CN115658311A (en) Resource scheduling method, device, equipment and medium
CN112887407B (en) Job flow control method and device for distributed cluster
CN112860401A (en) Task scheduling method and device, electronic equipment and storage medium
CN110247854B (en) Multi-level service scheduling method, scheduling system and scheduling controller
CN117176672A (en) Message queue resource determining method and device and resource intelligent scheduling system
CN116661960A (en) Batch task processing method, device, equipment and storage medium
CN116634023A (en) Service scheduling method, device, electronic equipment and storage medium
CN115766582A (en) Flow control method, device and system, medium and computer equipment
CN115328612A (en) Resource allocation method, device, equipment and storage medium
CN111858019B (en) Task scheduling method and device and computer readable storage medium
WO2022177455A1 (en) Method and system for optimizing resource and traffic management of a computer execution environment in a vran
CN114416349A (en) Resource allocation method, device, equipment, storage medium and program product

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