Scheduling method and apparatus, and device

By using two-way linked lists and business priority configuration information in business scheduling dynamically calculates business priority, the problem of poor business scheduling flexibility in the existing technology is solved, and efficient business priority scheduling is achieved.

WO2025065946A1PCT designated stage expired Publication Date: 2025-04-03CHINA MOBILE GRP GUANGDONG CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/142657
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-25
Filing Date
2023-12-28
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

In the existing business scheduling methods, the priority of the tasks to be scheduled is fixed, resulting in poor flexibility in business scheduling.

Method used

A two-way linked list is used to store business information, and the service priority is dynamically calculated based on the service priority configuration information, so that the service information is scheduled when the preset priority conditions are met, and the corresponding node is deleted.

Benefits of technology

It realizes dynamic calculation and scheduling of business priorities, improves the flexibility of business scheduling, and ensures priority execution of high-priority services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023142657_03042025_PF_FP_ABST
    Figure CN2023142657_03042025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure are a scheduling method and apparatus, and a device. The method comprises: reading, from a doubly linked list, first service information of a first node; calculating the priority of the first service information on the basis of service priority configuration information; and when the priority of the first service information is higher than or equal to a preset priority, scheduling the first service information, and deleting the first node from the doubly linked list.
Need to check novelty before this filing date? Find Prior Art

Description

Scheduling method, device and equipment

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This disclosure claims priority to Chinese patent application No. 202311241664.2 filed in China on September 25, 2023, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present disclosure relates to the field of communication technology, and in particular to a scheduling method, apparatus, and device. Background Art

[0004] Currently, in the process of service scheduling, a common approach is to schedule services based on their priorities. For example, services to be scheduled are placed in a queue, services with the same priority level are selected, and tasks are scheduled in a first-in-first-out manner.

[0005] However, in the above method, the priority of the task to be scheduled is calculated in advance. Once the task to be scheduled is placed in the queue, its priority is fixed, which easily leads to poor flexibility in service scheduling.

[0006] Summary of the Invention

[0007] The technical problem to be solved by the present disclosure is to provide a scheduling method, apparatus and device to solve the problem of poor flexibility in service scheduling.

[0008] To solve the above technical problems, an embodiment of the present disclosure provides a scheduling method, which includes:

[0009] Reading first business information of a first node from a bidirectional linked list, wherein the bidirectional linked list includes a plurality of nodes, each node includes a predecessor pointer, a successor pointer, and business information, the predecessor pointer of each node points to a previous node adjacent to the node in the bidirectional linked list or points to null, the successor pointer of each node points to a next node adjacent to the node in the bidirectional linked list or points to null, and the first node is a node among the plurality of nodes;

[0010] Calculating the priority of the first service information according to the service priority configuration information;

[0011] When the priority of the first service information is higher than or equal to the preset priority, the first service information is scheduled, and the first node in the bidirectional linked list is deleted.

[0012] An embodiment of the present disclosure further provides a scheduling device, comprising:

[0013] A first reading module is configured to read first business information of a first node from a bidirectional linked list, wherein the bidirectional linked list includes a plurality of nodes, each node includes a predecessor pointer, a successor pointer, and business information, the predecessor pointer of each node points to a previous node adjacent to the node in the bidirectional linked list or points to null, and the successor pointer of each node points to a next node adjacent to the node in the bidirectional linked list or points to null, and the first node is a node among the plurality of nodes;

[0014] A first calculation module, configured to calculate the priority of the first service information according to the service priority configuration information;

[0015] The first scheduling module is configured to schedule the first service information and delete the first node in the bidirectional linked list when the priority of the first service information is higher than or equal to a preset priority.

[0016] An embodiment of the present disclosure further provides a computer-readable storage medium storing instructions, which, when executed on a computer, enables the computer to execute the method described above.

[0017] The above solution of the present disclosure includes at least the following beneficial effects:

[0018] In this embodiment, during the service scheduling process, after pulling the first service information from the bidirectional linked list, the priority of the first service information will be calculated based on the service priority configuration information to achieve the purpose of dynamically calculating the service priority. That is, the service priority is not fixed, but the priority is calculated through the service priority configuration information to achieve flexibility in priority calculation. Subsequently, the service information is scheduled based on the calculated priority to improve the flexibility of service scheduling. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] FIG1 is a flow chart of a scheduling method provided by an embodiment of the present disclosure;

[0020] FIG2 is a schematic diagram of a doubly linked list;

[0021] FIG3 is one of the insertion principle diagrams of a bidirectional linked list;

[0022] FIG4 is a second schematic diagram of a doubly linked list insertion principle;

[0023] FIG5 is a third diagram of a principle of insertion into a doubly linked list;

[0024] FIG6 is one of the schematic diagrams of deletion of a bidirectional linked list;

[0025] FIG7 is a second diagram of a deletion principle of a bidirectional linked list;

[0026] FIG8 is a third diagram of a deletion principle of a bidirectional linked list;

[0027] FIG9 is a second flowchart of a scheduling method provided by an embodiment of the present disclosure;

[0028] FIG10 is one of the application scenario diagrams of a scheduling method provided by an embodiment of the present disclosure;

[0029] FIG11 is a second application scenario diagram of a scheduling method provided by an embodiment of the present disclosure;

[0030] FIG. 12 is one of the application scenario diagrams of a scheduling method provided by an embodiment of the present disclosure.

[0031] FIG13 is a module diagram of a scheduling device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0032] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0033] As shown in FIG1 , an embodiment of the present disclosure provides a scheduling method, the method comprising:

[0034] Step 101: Read first service information of a first node from a bidirectional linked list.

[0035] The doubly linked list includes multiple nodes, each node includes a predecessor pointer, a successor pointer and business information (Item), the predecessor pointer of each node points to the previous node (predecessor node) adjacent to the node in the doubly linked list or points to empty, and the successor pointer of each node points to the next node (successor node) adjacent to the node in the doubly linked list or points to empty, and the first node is a node among the multiple nodes.

[0036] It can be understood that a doubly linked list can be established in advance as a data storage structure. Each node in the doubly linked list has a forward and backward pointing index, namely a predecessor pointer (prev) and a successor pointer (next), which facilitates operations such as searching, inserting, and deleting without being limited to the first-in-first-out requirement of the queue. The predecessor pointer of the head node in the doubly linked list points to empty, the successor pointer of the tail node in the doubly linked list points to empty, the predecessor pointer of any node between the head node and the tail node in the doubly linked list points to the previous node adjacent to the node in the doubly linked list, and the successor pointer points to the next node adjacent to the node in the doubly linked list or points to empty. In the service scheduling process of this embodiment, service information in the node can be pulled from the doubly linked list. For example, the first service information of the first node can be read from the doubly linked list. The first service information can be understood as the service information of the first node.

[0037] Step 102: Calculate the priority of the first service information according to the service priority configuration information.

[0038] It should be noted that the business priority configuration information can be pre-configured for caching. In this embodiment, the priority of the business information in the bidirectional linked list is not fixed. Instead, after obtaining the business information from the bidirectional linked list, the priority of the business information is calculated using the business priority configuration information. That is, after obtaining the first business information, the priority of the first business information can be calculated using the business priority configuration information. It can be understood that the priority of the business information can be obtained based on the business priority configuration information. Once the business priority configuration information is updated and changed, the priority of the business information calculated in the bidirectional linked list can also change with the change of the business priority configuration information, thereby realizing dynamic adjustment of the priority of the business information in the bidirectional linked list.

[0039] Step 103: When the priority of the first service information is higher than or equal to the preset priority, the first service information is scheduled and the first node in the bidirectional linked list is deleted.

[0040] If the calculated priority of the first service information is higher than or equal to the preset priority, it indicates that the first service information meets the scheduling requirements and can be scheduled. In this embodiment, scheduling can also be understood as execution. If the priority of the first service information is higher than or equal to the preset priority, the service can be executed according to the first service information, that is, the first service information can be executed. The corresponding first node is deleted from the table. For example, the preset priority can be a high priority.

[0041] In this embodiment, during the service scheduling process, after the first service information is pulled from the bidirectional linked list, the priority of the first service information is calculated based on the service priority configuration information, thereby achieving the purpose of dynamically calculating the service priority. That is, the service priority is not fixed, but the priority is calculated based on the service priority configuration information, thereby achieving flexibility in priority calculation. Subsequently, the service information is scheduled based on the calculated priority to improve service scheduling flexibility. At the same time, in this embodiment, a bidirectional linked list is used, and each node in the bidirectional linked list has a predecessor pointer and a successor pointer, which facilitates operations such as search, insertion, and deletion without being limited to the first-in-first-out requirement of the queue. This facilitates pulling service information from the bidirectional linked list, and once the priority of the service information is higher than or equal to the preset priority, the service information can be scheduled, thereby facilitating service scheduling.

[0042] In one embodiment, the service priority configuration information includes multiple pieces of configuration information, where one piece of configuration information includes a service type, an operation type, and a priority;

[0043] Calculating the priority of the first service information according to the service priority configuration information includes:

[0044] Using the first service information, determining a matching target piece of configuration information from the plurality of pieces of configuration information;

[0045] The priority in the target bar configuration information is used as the priority of the first service information.

[0046] It should be noted that the operation type can be understood as the type of operation on the service, for example, activation (addition), cancellation, etc. For example, a piece of configuration information may also include location information and manufacturer information. For example, an example service priority configuration information is shown in Table 1, which includes four configuration information. The service type in the first configuration information is home broadband, the operation type is activation, the location information is Guangzhou, the manufacturer is A, and the priority is high. The service type in the second configuration information is home broadband, the operation type is cancellation, the location information is Guangzhou, the manufacturer is A, and the priority is low. The service type in the third configuration information is Interactive Personality Television (IPTV), the operation type is activation, the location information is Guangzhou, the manufacturer is A, and the priority is high. The service type in the fourth configuration information is IPTV, the operation type is cancellation, the location information is Guangzhou, the manufacturer is A, and the priority is low. The first service information obtained is a new service order for Guangzhou A home broadband. By matching in the service priority configuration information, it can be determined that the target configuration information corresponding to the first service information is the second configuration information, where the priority is low. The priority in the second configuration information can be used as the priority of the first service information, that is, the priority of the first service information can be low.

[0047] In this embodiment, business priority configuration information is pre-configured. After obtaining the first business information, the business priority configuration information can be matched through the first business information, and the target configuration information that matches the first business information is determined among multiple configuration information. The priority in the target configuration information is used as the priority of the first business information to improve the accuracy of the priority of the first business information.

[0048] In one embodiment, after calculating the priority of the first service corresponding to the first service information according to the service priority configuration information, the method further includes:

[0049] When the priority of the first business information is lower than the preset priority and the first node is not the tail node of the chain, the second business information of the second node is read from the bidirectional linked list, where the second node is the node pointed to by the successor pointer of the first node;

[0050] Calculating the priority of the second service information according to the service priority configuration information;

[0051] When the priority of the second service information is higher than or equal to the preset priority, the second service information is scheduled and the second node in the bidirectional linked list is deleted.

[0052] When the priority of the first business information is lower than the preset priority, it means that the first business information does not meet the scheduling requirements. If the first node is not the end node of the chain (not the tail node), you can continue to read down and continue to read the next node of the first node, that is, read the second node, and obtain the second business information of the second node. The second business information is the business information in the second node. After obtaining the second business information, the priority is calculated using the business priority configuration information. When the priority of the second business information is higher than or equal to the preset priority, it means that the second business information meets the scheduling requirements, the second business information can be scheduled, and the second node in the bidirectional linked list can be deleted. It should be noted that when the priority of the first business information is lower than the preset priority and the first node is the end node of the chain, the business corresponding to the business information in the bidirectional linked list can be scheduled in sequence according to the order from the head node to the end node of the bidirectional linked list.

[0053] In this embodiment, if the priority of the first service information of the first node is low and does not meet the scheduling requirements, the second service information of the second node, the next node after the first node in the bidirectional linked list, can be read. The priority of the second service information is then calculated based on the service priority configuration information. Once the priority of the second service information is higher than or equal to the preset priority, the scheduling requirements are met and the second service information can be scheduled. In this way, service information with a higher or equal priority level is scheduled first, ensuring that higher-priority service information is executed in a limited manner, thereby improving service scheduling efficiency.

[0054] In one embodiment, when the priority of the first service information is higher than or equal to the preset priority, scheduling the first service information and deleting the first node in the bidirectional linked list, and when the bidirectional linked list is not empty, further comprising:

[0055] Read the second business information of the second node from the bidirectional linked list, where the second node is the node pointed to by the follower pointer of the first node;

[0056] Calculating the priority of the second service information according to the service priority configuration information;

[0057] When the priority of the second service information is higher than or equal to the preset priority, the second service information is scheduled and the second node in the bidirectional linked list is deleted.

[0058] That is, after scheduling the first business information, the bidirectional linked list can be read continuously to continue scheduling business information with a priority higher than or equal to the preset priority in the bidirectional linked list, so as to ensure that business information with a higher priority is scheduled first, thereby improving the business scheduling effect.

[0059] In one embodiment, the method further comprises:

[0060] When the priority of the second service information is lower than the preset priority and the second node is the tail node, the service information in the bidirectional linked list is scheduled in sequence from the head node to the tail node of the bidirectional linked list.

[0061] It should be noted that if the priority of the calculated business information is higher than or equal to the preset priority, the business information can be scheduled, that is, the business information that is higher than or equal to the preset priority is executed first. As long as the node currently read is not the tail node of the chain, regardless of whether the priority of the business information of the node calculated is higher than or equal to the preset priority, the business information in the bidirectional linked list can be read subsequently, and the priority can be calculated and judged whether the priority is higher than or equal to the preset priority, and the corresponding operation is performed according to the priority judgment result, until the tail node of the chain is read, and the priority of the business information of the tail node read is lower than the preset priority, indicating that the business information higher than or equal to the preset priority in the bidirectional linked list is also scheduled, and the remaining business information lower than the preset priority, at this time, the business corresponding to the business information in the bidirectional linked list can be scheduled in sequence according to the order from the head node to the tail node of the bidirectional linked list, thereby completing the scheduling of the task information in the bidirectional linked list. In this way, the earlier the linked list is inserted, the closer it is to the head node, and the closer it is to the head node (i.e., the head node), the earlier it is scheduled. According to the order from the head node to the tail node, the business corresponding to the business information in the bidirectional linked list is scheduled in sequence, so that the business of the advanced linked list is scheduled first, and the scheduling effect of the business with lower priority is improved.

[0062] In one embodiment, the method further comprises:

[0063] Update business priority configuration information;

[0064] When the third service information of the third node is read from the bidirectional linked list, the priority of the third service information is calculated according to the updated service priority configuration information;

[0065] When the priority of the third service information is higher than or equal to the preset priority, the third service information is scheduled, and the third node in the bidirectional linked list is deleted.

[0066] It should be noted that the service priority configuration information can be customized. For example, the service priority configuration information can be customized and modified to update the service priority configuration information based on changes in actual needs. After the service priority configuration information is updated, the priority of the third service information of the third node can be calculated using the updated service priority configuration information after subsequent reading. This allows the priority of the service information to change with configuration changes, thereby improving the flexibility of priority calculation. It should be noted that the third node can be the node after the node most recently read before the service priority configuration information is updated.

[0067] In one embodiment, before reading the first service information of the first node from the bidirectional linked list, the method further includes:

[0068] When each piece of service information is received, a node is inserted after the tail node of the bidirectional linked list, and the inserted node includes the received piece of service information, wherein the tail node of the bidirectional linked list is updated to the inserted node.

[0069] That is, in the process of creating a bidirectional linked list, each time a business information is received, a new node can be added to store the business information, and the new node is added after the tail node of the chain. In this way, each time a new node is added, the tail node of the chain can be updated to the newly added node.

[0070] That is, in this embodiment, a bidirectional linked list is used to store business information. Each node in the bidirectional linked list has a predecessor pointer and a successor pointer, which facilitates operations such as search, insertion, and deletion without being limited to the first-in-first-out requirement of the queue. It is convenient to pull business information from the bidirectional linked list. Once the priority of the business information is higher than or equal to the preset priority, the business information can be scheduled, thereby facilitating business scheduling.

[0071] The process of the above method is described in detail below with reference to a specific embodiment.

[0072] First, a doubly linked list, also called a double-linked list, is a data structure in which each node has two pointers, one pointing to the immediate successor and the other to the immediate predecessor. Therefore, starting from any node in a doubly linked list, it is easy to access its predecessor and successor nodes. For example, a sample doubly linked list is shown in Figure 2, which includes N nodes. The business information in the list can be represented by an item, also called an element. The successor pointer next of the last node (node ​​N) points to null, and the predecessor pointer prev of the first node (node ​​1) points to null. A doubly linked list supports node insertion (addition) and deletion of any node.

[0073] (1) Node insertion can be chain head insertion, chain middle insertion, or chain tail insertion:

[0074] For chain head insertion, as shown in Figure 3, a doubly linked list inserts an element at the chain head using the add method. When node 1 is inserted, the predecessor pointer prev of node 1 points to null and the immediate successor pointer next points to node 2; the predecessor pointer prev of the second node points to the inserted node 1;

[0075] As for inserting in the chain, as shown in Figure 4, the doubly linked list inserts elements in the chain through the insert method. The insert method can specify the node before which to insert, and the node number starts from 0. For example, insert(list,1,Item2) means inserting Item2 before the second node (node ​​2) of the doubly linked list list. As shown in Figure 4, the next pointer of node 1 points to the newly inserted node (the business information is Item2), and no longer points to the original node 2; the prev pointer of the original node 2 points to the new node, and no longer points to node 1; the prev pointer of the newly added node points to node 1, and the next pointer points to the original node 2;

[0076] For insertion at the end of a chain, as shown in Figure 5, a linked list uses the append method to append elements to the end of the chain. For example, to append element ItemN, the append method changes the next pointer of the last node at the end of the original chain to point to the new node (ItemN) and the prev pointer of the new node to point to node N-1 (Item(N-1)), thus completing the insertion of the new element ItemN at the end of the chain.

[0077] (2) Linked lists can delete any node. The deletion can be divided into deleting the head of the chain, deleting the middle node of the chain, and deleting the tail of the chain. All deletion operations can be completed through the remove method:

[0078] For chain head deletion, as shown in Figure 6, the linked list will use the remove method to set the next pointer of the chain head to null and the prev pointer of the second node to null, breaking the link of the element and deleting the chain head element from the linked list;

[0079] For deletion in the chain, as shown in Figure 7, for example, to delete the second element Item2, the linked list will use the remove method to set the next pointer of the first node (corresponding to the Item1 element) to point to the third node, and the prev pointer of the third node (corresponding to the Item3) to point to the first node. The next and prev pointers of the second node both point to null, thus completing the deletion of the element Item2 from the linked list.

[0080] For deletion of the tail of the chain, as shown in Figure 8, the linked list will use the remove method to point the predecessor pointer prev of the tail node (corresponding to the ItemN element) to empty, and the successor pointer next of the N-1th node (corresponding to the Item(N-1) element) to empty, thus completing the deletion of the tail element ItemN from the linked list.

[0081] Based on the above characteristics of the bidirectional linked list, in this embodiment, the bidirectional linked list is applied to the service scheduling scenario.

[0082] It should be noted that communication networks receive a large number of customer service orders every day, requiring the activation of customer services on the communication network. The method for activating customer services on the communication network is to issue command scripts through network devices and configure relevant service data on the communication network devices. The ability of network devices to issue command scripts is limited by the number of network management session connections and the network management's ability to issue commands. In order to meet the needs of timely activation of large numbers of customer service orders on network-side devices, a multi-threaded and queued approach must be used when issuing command scripts and configuring network-side data to concurrently process and schedule service orders. Currently, the main service scheduling method is, for example, to place services to be scheduled into a queue, select services with the same priority level, and schedule tasks on a first-in-first-out basis. However, the priority of an element is calculated and determined when it is enqueued, making it impossible to customize the priority threshold strategy in real time to dynamically adjust the priority scheduling of service orders, resulting in poor service scheduling flexibility. Based on this, the present disclosure provides a scheduling method that, after reading service information from a bidirectional linked list, calculates the corresponding priority using service priority configuration information, schedules service information based on the calculated priority, and dynamically adjusts service priority, thereby improving service scheduling flexibility.

[0083] The overall overview of the method of this embodiment is as follows:

[0084] (1) Configure the business order priority according to multiple dimensions such as business type, operation type, city (location information), and manufacturer information to obtain business priority configuration information. The priority is set to high or low. The default or no configuration is high priority;

[0085] (2) When the process starts, the business priority configuration information is read and loaded into the cache. If the business priority configuration information is modified, the cache is updated;

[0086] (3) Implementing a priority calculator to dynamically calculate the priority of business information based on the business type, operation type, city, and manufacturer information of the read business information combined with the business priority configuration information;

[0087] (4) Create a doubly linked list as the data storage structure of the priority list. Each node in the doubly linked list has forward and backward pointing indices, which is very convenient for finding, inserting, and deleting elements before and after, without being limited to the first-in-first-out restriction of the queue;

[0088] (5) Initialize the submitted business order configuration task as a list element (business information) and append it to the end of the doubly linked list;

[0089] (6) When pulling elements from the linked list, pull them cyclically from the head to the tail of the list. Call the priority calculator to calculate the element priority, and determine whether the element is a high-priority element. If it is, dequeue it; if not, obtain the direct successor element of the current element according to the successor pointer, dynamically calculate and determine the priority of the successor element until a high-priority element is found. If no high-priority element is found, pull the first element out of the queue.

[0090] Among them, as shown in Figure 9, the real-time calculation logic of the priority calculator is as follows (assuming there are N elements in the linked list, the serial number of the finally dequeued node is E, and the serial number of the current calculation node is i):

[0091] (1) Initialize the calculation variables: E = 0, i = 0 (the node serial number starts from 0), and read the element at the head of the doubly linked list (read the element of the first node, that is, read the first element);

[0092] (2) Calculate the priority of the element in real time according to the business priority configuration information, the business type, operation type, city, and manufacturer of the read element;

[0093] (3) If the priority of the current element is low, determine whether the current element is the last element, that is, whether i = N. If i < N, continue to read the successor element of this element according to its successor, modify the variables: E = 0, i = i + 1, and repeat (2); if i = N, there is no high-priority element in the current queue, and pull the first element E = 0 out of the queue;

[0094] (4) If the priority of the current element is high, pull the current element E = i out of the queue.

[0095] In this disclosure, when the user customizes and modifies the business priority configuration information, the cached business priority configuration information will be synchronously refreshed. When pulling elements from the linked list, the priority calculator will calculate the priority of the elements according to the newly cached configuration information, so as to solve the problem of dynamic priority scheduling of business information.

[0096] For example, when the business is off-peak, all business priorities are the same, and the business priorities of "home broadband + cancellation + Guangzhou + A manufacturer" and "home broadband + new addition + Guangzhou + A manufacturer" are both high. Currently, a batch of Guangzhou A manufacturer home broadband cancellation business orders are received instantly. The original business priority policy configuration of "home broadband + cancellation + Guangzhou + A manufacturer" has a high priority. This batch of orders will occupy the device session resources for a period of time. The Guangzhou A manufacturer home broadband new business orders of "home broadband + new addition + Guangzhou + A manufacturer" submitted later will need to wait for this batch of cancellation business orders to be executed. Users can modify the priority configuration of "home broadband + cancellation + Guangzhou + A manufacturer" to low, and keep the priority configuration of "home broadband + new addition + Guangzhou + A manufacturer" unchanged and still high. When pulling elements, this batch of cancellation orders will be skipped, and the subsequent new business orders will be pulled for execution first, to ensure the efficiency of the installation and maintenance personnel in opening new home broadband user services on site and avoid customer complaints. The specific implementation steps are as follows:

[0097] Step 1: As shown in Figure 10, first read element 1 (Item 1) in the linked list. This element is the cancellation order for the broadband service of Guangzhou Manufacturer A, and its corresponding priority is configured as high. The priority of this element is high, and the element is pulled out of the queue and deleted from the linked list. The prev of element 2 (Item 2) no longer points to Item 1.

[0098] Step 2: As shown in Figure 11, the user modifies the service priority configuration information and adjusts the priority of the Guangzhou A manufacturer's home broadband cancellation service to low. The real-time calculation shows that the priority of this element is low, so this element is not pulled and the next element is read;

[0099] Step 3: As shown in Figure 12, step 2 is repeated until the element N pulled is a new broadband service order of Guangzhou A manufacturer. Real-time calculation shows that the priority of this element is high, and the element is pulled out of the queue. The next of element N (ItemN) points to element N+1 (Item(N+1)), and the prev of Item(N+1) points to Item(N-1).

[0100] The present invention can set business priorities in multiple dimensions according to production needs. When the business priority setting changes, it supports real-time calculation of business priorities and adopts a bidirectional linked list to solve the problem that when the business priority changes, low-priority business orders that have been queued are not executed, and high-priority business orders that have been queued or not in the queue are executed first, so as to achieve the effect of flexible business scheduling. It solves the problem that when the communication network configuration business orders have the same priority during off-peak hours, a blowout of a certain business order (such as a canceled business order) occurs at a certain time point during off-peak hours. The priority of the business order can be adjusted to a low level in real time, and the network device-side instructions for high-priority business orders (such as new business orders) are issued without obstruction. The dynamic priority adjustment technology based on a bidirectional linked list in this proposal enhances the business scheduling capability, ensures the priority execution of high-priority business orders, reduces the waiting time for customers to handle business, and improves customer perception.

[0101] As shown in FIG13 , an embodiment of the present disclosure further provides a scheduling device 130 , which includes:

[0102] A first reading module 1301 is configured to read first business information of a first node from a doubly linked list, where the doubly linked list includes a plurality of nodes, each node including a predecessor pointer, a successor pointer, and business information, the predecessor pointer of each node pointing to a previous node adjacent to the node in the doubly linked list or to null, the successor pointer of each node pointing to a next node adjacent to the node in the doubly linked list or to null, and the first node is a node among the plurality of nodes;

[0103] A first calculation module 1302 is configured to calculate the priority of the first service information according to the service priority configuration information;

[0104] The first scheduling module 1303 is configured to schedule the first service information and delete the first node in the bidirectional linked list when the priority of the first service information is higher than or equal to the preset priority.

[0105] In one embodiment, the service priority configuration information includes multiple pieces of configuration information, where one piece of configuration information includes a type of service, an operation type, and a priority;

[0106] The first computing module includes:

[0107] a matching module, configured to determine a matching target piece of configuration information from among the plurality of pieces of configuration information using the first business information;

[0108] The priority determination module is configured to use the priority in the target item configuration information as the priority of the first service information.

[0109] In one embodiment, the apparatus 130 further includes:

[0110] a second reading module configured to, after the first calculating module calculates the priority of the first business information according to the business priority configuration information, read the second business information of the second node from the bidirectional linked list if the priority of the first business information is lower than the preset priority and the first node is not the tail node of the chain, where the second node is the node pointed to by the successor pointer of the first node;

[0111] A second calculation module, configured to calculate the priority of the second service information according to the service priority configuration information;

[0112] The second scheduling module is configured to schedule the second service information and delete the second node in the bidirectional linked list when the priority of the second service information is higher than or equal to the preset priority.

[0113] In one embodiment, the apparatus further comprises:

[0114] The target scheduling module is used to schedule the business information in the bidirectional linked list in the order from the head node to the tail node of the bidirectional linked list when the priority of the second business information is lower than the preset priority and the second node is the tail node of the chain.

[0115] In one embodiment, the apparatus further comprises:

[0116] An update module, used to update service priority configuration information;

[0117] A third reading module is configured to calculate the priority of the third service information according to the updated service priority configuration information when the third service information of the third node is read from the bidirectional linked list;

[0118] The third scheduling module is configured to schedule the third service information and delete the third node in the bidirectional linked list when the priority of the third service information is higher than or equal to the preset priority.

[0119] In one embodiment, the apparatus further comprises:

[0120] An insertion module is used for inserting a node after the tail node of the bidirectional linked list each time a business information is received before the first reading module executes the reading of the first business information of the first node from the bidirectional linked list. An inserted node includes a received business information, wherein the tail node of the bidirectional linked list is updated to the inserted node.

[0121] It should be noted that the device is a device corresponding to the above method, and all implementation methods in the above method embodiments are applicable to the embodiments of the device and can achieve the same technical effects.

[0122] The embodiment of the present disclosure further provides a communication device, comprising: a processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the above method is executed. All implementations in the above method embodiments are applicable to this embodiment and can achieve the same technical effects.

[0123] The embodiments of the present disclosure further provide a computer-readable storage medium including instructions, which, when executed on a computer, cause the computer to execute the above method. All implementations in the above method embodiments are applicable to this embodiment and can achieve the same technical effects.

[0124] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0125] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0126] In the embodiments provided in the present disclosure, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0127] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0128] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0129] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the relevant technology or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program code.

[0130] In addition, it should be noted that, in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it will be understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.

[0131] Therefore, the purpose of the present disclosure can also be achieved by running a program or a group of programs on any computing device. The computing device can be a well-known general-purpose device. Therefore, the purpose of the present disclosure can also be achieved simply by providing a program product containing program code that implements the method or device. That is to say, such a program product also constitutes the present disclosure, and the storage medium storing such a program product also constitutes the present disclosure. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present disclosure, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present disclosure. In addition, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but do not necessarily need to be performed in chronological order. Certain steps can be performed in parallel or independently of each other.

[0132] It is understood that the embodiments described in the embodiments of the present disclosure may be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, modules, units, submodules, subunits, etc. may be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present disclosure, or a combination thereof.

[0133] The above are optional implementations of the present disclosure. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present disclosure. These improvements and modifications should also be regarded as within the scope of protection of the present disclosure.

Claims

1. A scheduling method, the method comprising: Reading first business information of a first node from a bidirectional linked list, wherein the bidirectional linked list includes a plurality of nodes, each node includes a predecessor pointer, a successor pointer and business information, the predecessor pointer of each node points to a previous node adjacent to the node in the bidirectional linked list or points to null, the successor pointer of each node points to a subsequent node adjacent to the node in the bidirectional linked list or points to null, and the first node is a node among the plurality of nodes; Calculating the priority of the first service information according to the service priority configuration information; When the priority of the first service information is higher than or equal to the preset priority, the first service information is scheduled, and the first node in the bidirectional linked list is deleted.

2. The scheduling method according to claim 1, wherein: The service priority configuration information includes multiple pieces of configuration information, each piece of configuration information includes a type of service, an operation type and a priority; The calculating the priority of the first service information according to the service priority configuration information includes: Using the first service information, determining a matching target piece of configuration information from among the multiple pieces of configuration information; The priority in the target bar configuration information is used as the priority of the first service information.

3. The scheduling method according to claim 1, wherein: After calculating the priority of the first service information according to the service priority configuration information, the method further includes: When the priority of the first service information is lower than the preset priority and the first node is not the tail node of the chain, read the second service information of the second node from the bidirectional linked list, where the second node is the node pointed to by the successor pointer of the first node; Calculating the priority of the second service information according to the service priority configuration information; When the priority of the second service information is higher than or equal to the preset priority, the second service information is scheduled, and the second node in the bidirectional linked list is deleted.

4. The scheduling method according to claim 3, wherein: The method further comprises: When the priority of the second service information is lower than the preset priority and the second node is the tail node, the second service information is sequentially linked from the head node to the tail node of the bidirectional linked list. The business information in the bidirectional linked list is scheduled.

5. The scheduling method according to claim 1, wherein: The method further comprises: Updating the service priority configuration information; When the third service information of the third node is read from the bidirectional linked list, the priority of the third service information is calculated according to the updated service priority configuration information; When the priority of the third service information is higher than or equal to the preset priority, the third service information is scheduled, and the third node in the bidirectional linked list is deleted.

6. The scheduling method according to claim 1, wherein: Before reading the first service information of the first node from the bidirectional linked list, the method further includes: When each piece of service information is received, a node is inserted after the tail node of the bidirectional linked list, and the inserted node includes the received piece of service information, wherein the tail node of the bidirectional linked list is updated to the inserted node.

7. A scheduling device, comprising: A first reading module is used to read first business information of a first node from a bidirectional linked list, wherein the bidirectional linked list includes a plurality of nodes, each node includes a predecessor pointer, a successor pointer and business information, the predecessor pointer of each node points to a previous node adjacent to the node in the bidirectional linked list or points to null, the successor pointer of each node points to a subsequent node adjacent to the node in the bidirectional linked list or points to null, and the first node is a node among the plurality of nodes; A first calculation module, used to calculate the priority of the first service information according to the service priority configuration information; The first scheduling module is used to schedule the first service information and delete the first node in the bidirectional linked list when the priority of the first service information is higher than or equal to a preset priority.

8. The dispatching device according to claim 7, wherein: The service priority configuration information includes multiple pieces of configuration information, each piece of configuration information includes a type of service, an operation type and a priority; The first computing module comprises: A matching module, configured to determine a matching target piece of configuration information from among the plurality of pieces of configuration information using the first service information; The priority determination module is used to use the priority in the target bar configuration information as the priority of the first service information.

9. A communication device, comprising: A processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method according to any one of claims 1 to 6 is executed.

10. A computer-readable storage medium storing instructions, which, when executed on a computer, causes the computer to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Signal channel priority level scheduling and method for implementing the same

    CN101370308A

  • Method and device for scheduling data traffic

    CN102970760A

  • Adjustment method and device for dispatching priority

    CN103974436A

  • Spacecraft telemetry data transmission implementation method based on two-way linked list

    CN110535561A

  • Methods, apparatus and computer programs for configuring a telecommunication network

    WO2020187417A1