A method and apparatus for queue scheduling

通过为数据包分配序列标识和权重数值,生成优先级编码和预定权重总值,解决了数据包堆积的问题,实现了数据处理的及时性和效率提升。

CN117061447BActive Publication Date: 2025-07-08SHENZHEN WEIXUN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311098539.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2025-07-08
Estimated Expiration
2043-08-29

AI Technical Summary

Technical Problem

In the prior art, data packets of the same type are easily piled up in the same queue, resulting in problems of untimely processing.

Method used

By assigning sequence identification and weight values to the data packets, the priority encoding and predetermined weight total value of the working sequence are generated, the working sequence is sorted according to the priority encoding, and the data packet allocation is stopped when the actual total weight reaches the predetermined value, and a temporary working sequence is generated to receive the data packet.

Benefits of technology

It effectively avoids data packet accumulation, improves the timeliness of data processing, and ensures timely processing of different types of data packets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117061447B_ABST
    Figure CN117061447B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of data processing, and discloses a method and apparatus for queue scheduling; the present invention assigns a sequence identifier and a weight value to the received data packets, distributes the data packets to the corresponding working sequences according to the sequence identifiers, calculates the actual total weight value of the working sequences based on the weight values of the data packets, and compares the actual total weight value with the predetermined total weight value of the working sequences. When the actual total weight value is not less than the predetermined total weight value, the working sequence is made to stop receiving the distribution of data packets, and a temporary working sequence is generated to receive the data packets. Both the working sequence and the temporary working sequence can retrieve the data packets for processing, thereby accelerating the processing of this type of data packets, avoiding the accumulation of this type of data packets, and solving the problem in the prior art that the same type of data packets accumulate in the same queue, resulting in untimely processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to a method and device for queue scheduling. Background Art

[0002] Queue scheduling is a data processing algorithm. That is, the queue determines the dequeue condition through a certain trigger check and schedules data for processing according to certain rules. In the current queue scheduling method, when there are too many packets of a certain type, it will cause packets of this type to accumulate in the same queue, resulting in the problem of untimely processing of packets of this type. Summary of the Invention

[0003] The purpose of the present invention is to provide a method and device for queue scheduling, aiming to solve the problem in the prior art that the same type of packets accumulate in the same queue, resulting in untimely processing.

[0004] The present invention is implemented as follows. In the first aspect, the present invention provides a method for queue scheduling, including:

[0005] Analyze the service type and service source of the received packets to generate a sequence identifier and a weight value of the packets;

[0006] Create a work sequence according to the sequence identifier, and generate a priority code and a predetermined total weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the packets, and the predetermined total weight value is the maximum value of the sum of the weight values of the packets accommodated in the work sequence;

[0007] Sort the work sequences according to the priority code;

[0008] Allocate the packets to the corresponding work sequences based on the sequence identifier, and generate an actual total weight value of the work sequence; the actual total weight value is the sum of the weight values of the packets accommodated in the work sequence;

[0009] Adjust the scheduling status of the work sequence according to the predetermined total weight value and the actual total weight value of the work sequence.

[0010] Preferably, the step of analyzing the service type and service source of the received packets to generate a sequence identifier and a weight value of the packets includes:

[0011] Analyze the service type of the received packets and generate a first analysis feature of the packets, analyze the service source of the received packets, and generate a second analysis feature of the packets;

[0012] Retrieve the basic identifier and basic weight from the preset database according to the first analysis feature;

[0013] Retrieve in the supplementary database according to the second analysis feature. If a match can be achieved in the supplementary database, generate an adjustment identifier and an adjustment weight according to the result of the match; the supplementary database is used to store the adjustment identifier and the adjustment weight of the data packet;

[0014] Combine the basic identifier and the adjustment identifier to generate the sequence identifier of the data packet, and combine the basic weight and the adjustment weight to generate the weight value of the data packet.

[0015] Preferably, the steps of creating a work sequence according to the sequence identifier and generating the priority code and the total predetermined weight of the work sequence based on the sequence identifier include:

[0016] Retrieve the existing work sequence according to the sequence identifier. If there is no corresponding work sequence, generate the work sequence according to the sequence identifier;

[0017] Generate a first code according to the sequence identifier of the work sequence, generate a second code according to the creation time of the work sequence, and combine the first code and the second code to generate the priority code;

[0018] Generate a first estimated feature according to the first code;

[0019] Retrieve the existing work sequence, and generate a second estimated feature according to the number of the existing work sequences;

[0020] Combine the first estimated feature and the second estimated feature to generate the total predetermined weight.

[0021] Preferably, the steps of adjusting the scheduling state of the work sequence according to the total predetermined weight and the total actual weight of the work sequence include:

[0022] When the total actual weight is less than the total predetermined weight, the work sequence is in an open state, and the work sequence in the open state is used to receive the allocation of the data packet;

[0023] When the total actual weight is not less than the total predetermined weight, the work sequence is in a closed state, and the work sequence in the closed state does not receive the allocation of the data packet.

[0024] Preferably, when the work sequence is in a closed state, a temporary work sequence is created according to the sequence identifier of the work sequence; the temporary work sequence is used to receive the data packets allocated to the work sequence.

[0025] In a second aspect, the present invention provides an apparatus for queue scheduling, including:

[0026] A data analysis unit, configured to analyze the service type and service source of the received data packets to generate a sequence identifier and a weight value of the data packets;

[0027] A sequence creation unit, configured to create a work sequence according to the sequence identifier, generate a priority code and a predetermined total weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the data packets, and the predetermined total weight value is the maximum value of the sum of the weight values of the data packets accommodated in the work sequence;

[0028] A sequence sorting unit, configured to perform priority sorting on the work sequences according to the priority code;

[0029] A data allocation unit, configured to allocate the data packets to the corresponding work sequences based on the sequence identifier and generate an actual total weight value of the work sequences; the actual total weight value is the sum of the weight values of the data packets accommodated in the work sequences;

[0030] A sequence adjustment unit, configured to adjust the scheduling state of the work sequences according to the predetermined total weight value and the actual total weight value of the work sequences.

[0031] The present invention provides a method for queue scheduling, which has the following beneficial effects:

[0032] The present invention assigns a sequence identifier and a weight value to the received data packets, allocates the data packets to the corresponding work sequences according to the sequence identifier, calculates the actual total weight value of the work sequences based on the weight values of the data packets, and compares the actual total weight value with the predetermined total weight value of the work sequences. When the actual total weight value is not less than the predetermined total weight value, the work sequences are made to stop receiving the allocation of data packets, and a temporary work sequence is generated to receive the data packets. Both the work sequences and the temporary work sequence can retrieve the data packets for processing, thereby accelerating the processing of this type of data packets, avoiding the accumulation of this type of data packets, and solving the problem in the prior art that the same type of data packets accumulate in the same queue, resulting in untimely processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 is a schematic diagram of the steps of a method for queue scheduling provided by an embodiment of the present invention;

[0034] Figure 2 This is a schematic structural diagram of a queue scheduling device provided by an embodiment of the present invention. Detailed implementation manners

[0035] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0036] In the accompanying drawings of this embodiment, the same or similar reference numerals correspond to the same or similar components; in the description of the present invention, it should be understood that if there are terms such as "upper", "lower", "left", "right", etc. indicating the orientation or positional relationship, they are based on the orientation or positional relationship shown in the accompanying drawings. This is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, the terms describing the positional relationship in the accompanying drawings are only used for illustrative purposes and cannot be understood as a limitation of this patent. For those of ordinary skill in the art, the specific meanings of the above terms can be understood according to specific circumstances.

[0037] The implementation of the present invention will be described in detail below with reference to specific embodiments.

[0038] Referring to Figure 1 、 Figure 2 as shown, a preferred embodiment of the present invention is provided.

[0039] In a first aspect, the present invention provides a queue scheduling method, including:

[0040] S1: Analyze the service type and service source of the received data packet to generate a sequence identifier and a weight value of the data packet.

[0041] S2: Create a work sequence according to the sequence identifier, generate a priority code and a predetermined total weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the data packet, and the predetermined total weight value is the maximum value of the sum of the weight values of the data packets accommodated in the work sequence.

[0042] S3: Sort the work sequence according to the priority code.

[0043] S4: Allocate the data packet to the corresponding work sequence based on the sequence identifier, and generate an actual total weight value of the work sequence; the actual total weight value is the sum of the weight values of the data packets accommodated in the work sequence.

[0044] S5: Adjust the scheduling status of the work sequence according to the total predetermined weight value and the total actual weight value of the work sequence.

[0045] Specifically, in the queue scheduling method provided by the present invention, a sequence identifier and a weight value of a data packet are generated according to the service type and service source of the data packet. Data packets with the same sequence identifier will be assigned to the same work sequence.

[0046] It should be noted that multiple work sequences can exist simultaneously. Each work sequence can contain multiple data packets. During actual operation, data packets in multiple work sequences will be retrieved in sequence. For example: at the first time node, several data packets in the first work sequence are retrieved for processing. After the processing is completed, at the second time node, several data packets in the second work sequence are retrieved for processing, and so on, continuously retrieving and processing each work sequence.

[0047] It is not difficult to see that since data packets with the same sequence identifier will be assigned to the same work sequence, in actual operation, there may be a situation where one work sequence is severely congested while other work sequences are relatively idle. At this time, it is necessary to increase the retrieval and processing of the severely congested work sequence.

[0048] Specifically, first, it is necessary to check the congestion status of the work sequence to determine whether the work sequence is severely congested. More specifically, the method adopted in this application is to assign a weight value to each data packet, and the weight value is used to represent the urgency of the data packet to be processed.

[0049] More specifically, the work sequence has a total predetermined weight value, which is the maximum value of the sum of the weight values of the data packets contained in the work sequence. More specifically, different work sequences have their own priority codes, and the priority codes are used to sort the work sequences. After the work sequences are sorted according to the priority codes, each work sequence will retrieve and process data packets in sequence according to the priority order.

[0050] More specifically, the work sequence with a higher priority order needs to be processed first. Therefore, the work sequence with a higher priority order will retrieve a higher capacity of data packets each time it retrieves data packets.

[0051] More specifically, when the total actual weight value of the work sequence is less than the total predetermined weight value, the work sequence is not severely congested, and data packets can continue to be assigned to this work sequence. When the total actual weight value of the work sequence is not less than the total predetermined weight value, it means that the work sequence is severely congested. At this time, data packets should not continue to be assigned to this work sequence.

[0052] More specifically, when the work sequence is in a severely congested state, it means there are too many data packets in the work sequence. It is not difficult to see that the data packets at the back end of the work sequence will wait for a long time before they can start being processed, which will cause these data packets not to be processed in a timely manner.

[0053] It can be understood that the work sequence with a higher priority ranking has a higher urgency. Therefore, the work sequence with a lower priority can be more congested, while the work sequence with a higher priority needs to enter a severely congested state with less congestion for subsequent processing. That is to say, the total predetermined weight value of the work sequence with a higher priority ranking is lower.

[0054] The present invention provides a method for queue scheduling, which has the following beneficial effects:

[0055] The present invention assigns a sequence identifier and a weight value to the received data packets, distributes the data packets to the corresponding work sequences according to the sequence identifier, calculates the actual total weight value of the work sequence based on the weight value of the data packets, and compares the actual total weight value with the predetermined total weight value of the work sequence. When the actual total weight value is not less than the predetermined total weight value, the work sequence is made to stop receiving the distribution of data packets, and a temporary work sequence is generated to receive the data packets. Both the work sequence and the temporary work sequence can retrieve the data packets for processing, thereby accelerating the processing of this type of data packets, avoiding the congestion of this type of data packets, and solving the problem in the prior art that the same type of data packets are congested in the same queue, resulting in untimely processing.

[0056] Preferably, the step of analyzing the service type and service source of the received data packets to generate the sequence identifier and weight value of the data packets includes:

[0057] S11: Analyze the service type of the received data packets and generate the first analysis feature of the data packets, analyze the service source of the received data packets, and generate the second analysis feature of the data packets.

[0058] S12: Retrieve the basic identifier and basic weight from the preset database according to the first analysis feature.

[0059] S13: Search in the supplementary database according to the second analysis feature. If a match can be achieved in the supplementary database, generate an adjustment identifier and an adjustment weight according to the result of the match; the supplementary database is used to store the adjustment identifier and the adjustment weight of the data packets.

[0060] S14: Combine the basic identifier and the adjustment identifier to generate the sequence identifier of the data packets, and combine the basic weight and the adjustment weight to generate the weight value of the data packets.

[0061] Specifically, the sequence identifier of the data packet is used to allocate the data packet to the corresponding working sequence, and the weight value of the data packet is used to infer whether the accumulation of the working sequence where the data packet is located is serious.

[0062] More specifically, the sequence identifier of the data packet comes from two parts, the service type and the service source. Among them, the service type is used to describe the type of the data packet and what kind of processing the data packet needs to perform, while the service source is used to describe the origin of the data packet.

[0063] More specifically, the basic identifier and the basic weight can be retrieved from the preset database according to the first analysis feature, and the adjustment identifier and the adjustment weight can be retrieved from the supplementary database according to the second analysis feature.

[0064] More specifically, the basic identifier and the basic weight corresponding to each first analysis feature are pre-stored in the preset database, while there may be no adjustment identifier corresponding to each second analysis feature in the supplementary database to adjust the weight.

[0065] It should be noted that, under normal circumstances, only the basic identifier and the basic weight are generated through the first analysis feature of the data packet, and the sequence identifier and the weight value of the data packet are generated. When special processing needs to be performed on the service source of the data packet, the adjustment identifier and the adjustment weight corresponding to the second analysis feature are input into the supplementary database to be combined with the basic identifier and the basic weight respectively to generate the sequence identifier and the weight value.

[0066] Specifically, when the data packet of a certain service source needs to be processed urgently, the adjustment identifier and the adjustment weight corresponding to the second analysis feature of the service source are input into the supplementary database. At this time, the data packet of this service source will have a sequence identifier independent of the data packets of the same type, that is to say, the data packets of this service source will be independently classified into a working sequence. Therefore, when performing queue scheduling, the data packets of this service source can be processed without waiting for the data packets of the same service type from other sources, thus accelerating the scheduling of the data packets of this service source.

[0067] Preferably, the steps of creating a working sequence according to the sequence identifier and generating a priority code and a total predetermined weight value of the working sequence based on the sequence identifier include:

[0068] S21: Retrieve the existing working sequence according to the sequence identifier. If the corresponding working sequence does not exist, generate the working sequence according to the sequence identifier.

[0069] S22: Generate a first code according to the sequence identifier of the work sequence, generate a second code according to the creation time of the work sequence, and combine the first code and the second code to generate the priority code.

[0070] S23: Generate a first estimated feature according to the first code.

[0071] S24: Retrieve the existing work sequences, and generate a second estimated feature according to the number of the existing work sequences.

[0072] S25: Combine the first estimated feature and the second estimated feature to generate the total predetermined weight.

[0073] Specifically, the purpose of the work sequence is to summarize data packets with the same sequence identifier. Therefore, when a data packet is received, if there is a work sequence corresponding to the sequence identifier of the data packet, the data packet is assigned to the work sequence. If there is no work sequence corresponding to the sequence identifier of the data packet, a new work sequence is created according to the sequence identifier of the data packet.

[0074] More specifically, each work sequence has a priority code and a total predetermined weight. Among them, the priority code is used to represent the scheduling urgency of the work sequence. The higher the scheduling urgency of the work sequence, the more data packet capacity is retrieved each time. The total predetermined weight is used to represent the upper limit of the stacking degree of the work sequence. The lower the total predetermined weight, the lower the upper limit of the stacking degree of the work sequence. When the work sequence reaches the stacking limit, subsequent processing can be performed on the work sequence to solve the stacking problem.

[0075] More specifically, the generation of the priority code needs to consider two parts, one is the sequence identifier of the work sequence, and the other is the creation time of the work sequence.

[0076] It should be noted that the sequence identifier of the work sequence reflects the service type and service source of the work sequence, and the data packets of different service types and service sources need to be processed with different urgencies. Therefore, the first code generated according to the sequence identifier can reflect the priority level of the work sequence.

[0077] More specifically, the urgencies of some work sequences are quite the same. In this case, it is necessary to distinguish between the two according to the creation time, so as to divide the priority order of the two work sequences. It should be noted that in this case, the two work sequences only differ in the retrieval order, and there is no difference in the data packet capacity retrieved each time.

[0078] Specifically, the generation of the total predetermined weight needs to consider two parts, one is the sequence identifier of the work sequence, and the other is the total number of work sequences.

[0079] More specifically, the sequence identifier represents the business type and business source of the work sequence, and data packets of different business types and business sources need to be processed with different urgencies. It can be understood that when processing data packets with a high urgency level and the accumulation level reaches a predetermined standard, the accumulated work sequence needs to be processed to prevent the situation where there are too many data packets accumulated in the work sequence and they cannot be processed in time.

[0080] More specifically, the scheduling of the work sequence is carried out sequentially. That is to say, if there are five work sequences at the same time, then these five work sequences will be retrieved for data packets in turn. After completing one round of retrieval, a new round of retrieval for these five work sequences will start again and this process will be continuously repeated.

[0081] It can be seen that the longer the number of work sequences, the longer the retrieval period for one of the work sequences, and vice versa, the shorter the retrieval period of the work sequence. It can be understood that for data packets arranged later in a work sequence, the more the remaining work sequences, the longer the waiting time before they can start to be processed. Therefore, when the overall number of work sequences is large, it is necessary to reduce the total predetermined weight value of a single work sequence to speed up the processing of data packets.

[0082] Preferably, the step of adjusting the scheduling state of the work sequence according to the total predetermined weight value and the total actual weight value of the work sequence includes:

[0083] S51: When the total actual weight value is less than the total predetermined weight value, the work sequence is in an open state, and the work sequence in the open state is used to receive the allocation of the data packets.

[0084] S52: When the total actual weight value is not less than the total predetermined weight value, the work sequence is in a closed state, and the work sequence in the closed state does not receive the allocation of the data packets.

[0085] Specifically, on one hand, the work sequence will receive data packets and make the data packets queue up for processing, and on the other hand, it will retrieve data packets from the work sequence for processing.

[0086] More specifically, the scheduling state of the work sequence includes an open state and a closed state. Whether the work sequence is in an open state or a closed state does not affect retrieving data packets from the work sequence for processing, but only affects whether the work sequence receives the data packets allocated externally.

[0087] More specifically, the scheduling status of a work sequence is related to the total actual weight value and the total predetermined weight value of the work sequence. When the total actual weight value of the work sequence is less than the total predetermined weight value, the scheduling status of the work sequence is an open state. When the total actual weight value of the work sequence is not less than the total predetermined weight value, the scheduling status of the work sequence is a closed state.

[0088] Preferably, when the work sequence is in a closed state, a temporary work sequence is created according to the sequence identifier of the work sequence; the temporary work sequence is used to receive the data packets allocated to the work sequence.

[0089] Specifically, after the work sequence is in a closed state, the work sequence no longer receives the allocation of data packets. However, those allocated data packets need a place to be accommodated. Therefore, for a work sequence in a closed state, a temporary work sequence is created according to its sequence identifier, which is used to receive the data packets originally allocated to the work sequence in the closed state.

[0090] It should be noted that the temporary work sequence receives newly allocated data packets, and the data packets in the work sequence in the closed state and the temporary work sequence will be retrieved and processed in sequence. That is to say, the processing speed of the data packets corresponding to the service type and service source of the work sequence in the closed state will be doubled, thereby reducing the accumulation degree of the data packets with the same sequence identifier.

[0091] In a second aspect, the present invention provides a device for queue retrieval, including:

[0092] A data analysis unit, configured to analyze the service type and service source of the received data packets to generate the sequence identifier and weight value of the data packets;

[0093] A sequence creation unit, configured to create a work sequence according to the sequence identifier, and generate a priority code and a total predetermined weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the data packets, and the total predetermined weight value is the maximum value of the sum of the weight values of the data packets accommodated in the work sequence;

[0094] A sequence sorting unit, configured to sort the work sequences according to the priority code;

[0095] A data allocation unit, configured to allocate the data packets to the corresponding work sequences based on the sequence identifier, and generate the total actual weight value of the work sequences; the total actual weight value is the sum of the weight values of the data packets accommodated in the work sequences;

[0096] A sequence adjustment unit, configured to adjust the scheduling status of the work sequence according to the total predetermined weight value and the total actual weight value of the work sequence.

[0097] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A method for queue scheduling, characterized in that, Including: Analyze the service type and service source of the received data packet to generate a sequence identifier and a weight value of the data packet; Create a work sequence according to the sequence identifier, and generate a priority code and a predetermined total weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the data packet, and the predetermined total weight value is the maximum value of the sum of the weight values of the data packets accommodated in the work sequence; Perform priority sorting on the work sequence according to the priority code; Allocate the data packet to the corresponding work sequence based on the sequence identifier, and generate an actual total weight value of the work sequence; The actual total weight value is the sum of the weight values of the data packets accommodated in the work sequence; Adjust the scheduling status of the work sequence according to the predetermined total weight value and the actual total weight value of the work sequence; The step of analyzing the service type and service source of the received data packet to generate a sequence identifier and a weight value of the data packet includes: Analyze the service type of the received data packet and generate a first analysis feature of the data packet, analyze the service source of the received data packet, and generate a second analysis feature of the data packet; Retrieve a basic identifier and a basic weight from a preset database according to the first analysis feature; Retrieve in a supplementary database according to the second analysis feature. If a match can be achieved in the supplementary database, generate an adjustment identifier and an adjustment weight according to the result of the match; the supplementary database is used to store the adjustment identifier and the adjustment weight of the data packet; Combine the basic identifier and the adjustment identifier to generate a sequence identifier of the data packet, and combine the basic weight and the adjustment weight to generate a weight value of the data packet.

2. The method for queue scheduling according to claim 1, wherein The step of creating a work sequence according to the sequence identifier and generating a priority code and a predetermined total weight value of the work sequence based on the sequence identifier includes: Retrieve the existing work sequence according to the sequence identifier. If there is no corresponding work sequence, generate the work sequence according to the sequence identifier; Generate a first code according to the sequence identifier of the work sequence, generate a second code according to the creation time of the work sequence, and combine the first code and the second code to generate the priority code; Generate a first estimated feature according to the first code; Retrieve the existing work sequence, and generate a second estimated feature according to the number of the existing work sequences; Combine the first estimated feature and the second estimated feature to generate the predetermined total weight value.

3. A method for queue scheduling according to claim 1, characterized in that, The step of adjusting the scheduling status of the work sequence according to the predetermined total weight value and the actual total weight value of the work sequence includes: When the actual total weight value is less than the predetermined total weight value, the work sequence is in an open state, and the work sequence in the open state is used to receive the allocation of the data packet; When the total actual weight value is not less than the total predetermined weight value, the work sequence is in a closed state, and the work sequence in the closed state does not receive the allocation of the data packets.

4. A method for queue scheduling according to claim 3, characterized in that, When the work sequence is in a closed state, a temporary work sequence is created according to the sequence identifier of the work sequence; the temporary work sequence is used to receive the data packets allocated to the work sequence.

5. A device for queue retrieval, characterized in that, Including: A data analysis unit for analyzing the service type and service source of the received data packets to generate the sequence identifier and weight value of the data packets. A sequence creation unit for creating a work sequence according to the sequence identifier, generating a priority code and a total predetermined weight value of the work sequence based on the sequence identifier; the work sequence is used to accommodate the data packets, and the total predetermined weight value is the maximum value of the sum of the weight values of the data packets accommodated in the work sequence. A sequence sorting unit for sorting the work sequences according to the priority code. A data allocation unit for allocating the data packets to the corresponding work sequences based on the sequence identifier and generating the total actual weight value of the work sequences. The total actual weight value is the sum of the weight values of the data packets accommodated in the work sequence. A sequence adjustment unit for adjusting the scheduling state of the work sequence according to the total predetermined weight value and the total actual weight value of the work sequence. The steps of analyzing the service type and service source of the received data packets to generate the sequence identifier and weight value of the data packets include: Analyzing the service type of the received data packets and generating a first analysis feature of the data packets, analyzing the service source of the received data packets and generating a second analysis feature of the data packets. Retrieving a basic identifier and a basic weight from a preset database according to the first analysis feature. Searching in a supplementary database according to the second analysis feature. If a match can be achieved in the supplementary database, an adjustment identifier and an adjustment weight are generated according to the matching result; the supplementary database is used to store the adjustment identifier and the adjustment weight of the data packets. Combining the basic identifier and the adjustment identifier to generate the sequence identifier of the data packets, and combining the basic weight and the adjustment weight to generate the weight value of the data packets.

Citation Information

Patent Citations

  • Array dispatching method

    CN101217499A

  • Video data packet transmission method and system based on wireless network

    CN105681931A