Service scheduling method, device and equipment and readable storage medium
By determining the target cache queue based on the queue information of the cache queue in the 5G-A network, and using the dual-strategy scheduling method, the data service queue and delay problems caused by multiple services occupying the backhaul interface are solved, precise scheduling is achieved, and transmission performance and user experience are improved.
Patent Information
- Application Number
- CN202410038346.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-10
- Publication Date
- 2025-07-11
AI Technical Summary
In 5G-A network, when multiple services seize the backhaul interface at the same time, data services are queued and delayed, which leads to packet loss and retransmission problems.
By determining the target cache queue based on the queue information of the cache queue, including transmission priority, waiting time threshold and timestamp accumulation time, the target cache queue is determined and service data is sent. The dual-strategy scheduling method is adopted, combining time scheduling and priority scheduling to achieve accurate scheduling.
It reduces transmission delay, improves transmission performance, ensures user experience, avoids data packet discarding, and maximizes system resource utilization.
Smart Images

Figure CN120302346A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of communication technologies, and particularly to a service scheduling method, apparatus, device, and readable storage medium. Background Art
[0002] With the gradual expansion of the application boundary, the commercialization of the fifth-generation mobile communication technology (5th Generation, 5G) has entered a new stage of 5G evolution (5G-Advanced, 5G-A). The key technologies defined by the 3rd Generation Partnership Project (3GPP) for 5G-A newly support Extended Reality (XR), cloud gaming, cloud video, as well as network intelligence, Reduced Capability (RedCap), and satellite access, etc. 5G-A plays a connecting role, and has a certain guiding effect on the evolution of 5G to the sixth-generation mobile communication (Sixth Generation, 6G). For the base station to implement these new services, it is necessary to conduct service communication with the core network and high-layer network elements through the master control backhaul interface. The backhaul interface usually adopts the Ethernet method, as Figure 1 shown.
[0003] Currently, the number of backhaul interfaces for processing service data on the master control board and the transmission bandwidth are limited. The data bandwidth, data latency, and priority requirements for each service are different. The traditional forwarding method is the first-in, first-out principle, that is, whoever comes first goes out first. However, when there are multiple services competing for a port at the same time, there is a situation where a large number of data services are queued, resulting in service waiting, increased latency, and then packet loss and retransmission. Summary of the Invention
[0004] The embodiments of the present application aim to provide a service scheduling method, apparatus, device, and readable storage medium to solve the problem of multi-user service blocking.
[0005] In a first aspect, a service scheduling method is provided, including:
[0006] Determine a target buffer queue according to the queue information of each buffer queue, where the queue information includes at least one of the following: transmission priority, waiting time threshold, and timestamp accumulation time. The waiting time threshold is used to represent the time threshold that the service data in the buffer queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration of the service data stored in the buffer queue;
[0007] Send the service data in the target buffer queue.
[0008] Optionally, determining a target cache queue according to the queue information of each cache queue includes:
[0009] Determine whether the cache queue with the first transmission priority among all cache queues is empty, where the first transmission priority is the high transmission priority; if the cache queue with the first transmission priority is empty, determine the cache queue with the second transmission priority as the target cache queue, where the first transmission priority is higher than the second transmission priority; or,
[0010] If the cache queue with the first transmission priority is not empty, determine whether the cumulative timestamp of other cache queues reaches the waiting time threshold;
[0011] If the cumulative timestamp of other cache queues reaches the waiting time threshold, determine the other cache queue as the target cache queue; or, if the cumulative timestamp of other cache queues does not reach the waiting time threshold, determine the cache queue with the first transmission priority as the target cache queue.
[0012] Optionally, the method further includes:
[0013] Determine the transmission priority of the service data according to the service type of the service data;
[0014] Store the service data into the corresponding cache queue according to the service type and the transmission priority.
[0015] Optionally, the method further includes:
[0016] Determine the service type of the service data;
[0017] Determine whether the service data needs service processing according to the service type;
[0018] If the service data does not need service processing, send the service data; or,
[0019] If the service data needs service processing, execute determining the transmission priority of the service data according to the service type of the service data.
[0020] Optionally, determining the service type of the service data includes:
[0021] Determine whether the service data is encrypted;
[0022] If the service data is encrypted, determine the service type of the service data by matching the characteristic values of the message, or, if the service data is not encrypted, determine the service type of the service data by matching the fields of the message.
[0023] Optionally, the service type includes: a first level and a second level. The first level is used to represent the major category of the service type, and the second level is used to represent the minor category of the service type included under the first level.
[0024] In a second aspect, a service scheduling apparatus is provided, including:
[0025] A data scheduling module, configured to determine a target cache queue according to the queue information of each cache queue. The queue information includes at least one of the following: transmission priority, waiting time threshold, and timestamp accumulation time. The waiting time threshold is used to represent the time threshold that the service data in the cache queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration of the service data stored in the cache queue;
[0026] A data transmission module, configured to send the service data in the target cache queue.
[0027] Optionally, the data scheduling module is further configured to:
[0028] According to the transmission priority in the queue information, determine whether the cache queue with the first transmission priority among all cache queues is empty. The first transmission priority is the high transmission priority;
[0029] If the cache queue with the first transmission priority is empty, determine the cache queue with the second transmission priority as the target cache queue. The first transmission priority is higher than the second transmission priority;
[0030] If the cache queue with the first transmission priority is not empty, then according to the timestamp accumulation time and the waiting time threshold in the queue information, determine whether the timestamp accumulation time of other cache queues reaches the waiting time threshold;
[0031] If the timestamp accumulation time of other cache queues reaches the waiting time threshold, determine the other cache queue as the target cache queue; or, if the timestamp accumulation time of other cache queues does not reach the waiting time threshold, determine the cache queue with the first transmission priority as the target cache queue.
[0032] Optionally, the apparatus further includes:
[0033] A data parsing module, configured to determine the transmission priority of the service data according to the service type of the service data;
[0034] A data distribution module, configured to distribute each service data to different cache queue modules for service caching according to the service type and the transmission priority;
[0035] A cache queue, configured to store the service data into the corresponding cache queue.
[0036] Optionally, the device further includes:
[0037] A service identification module, configured to determine the service type of service data; determine whether the service data needs service processing according to the service type; if the service data does not need service processing, send the service data to a data transmission module for transmission; or, if the service data needs service processing, send the service data to a data parsing module.
[0038] Optionally, the service identification module is further configured to determine whether the service data is encrypted; if the service data is encrypted, determine the service type of the service data by matching the characteristic values of the message; or, if the service data is not encrypted, determine the service type of the service data by matching the fields of the message.
[0039] In a third aspect, a service scheduling board is provided, including the device as described in the second aspect.
[0040] In a fourth aspect, a base station is provided, including the service scheduling board as described in the third aspect.
[0041] In a fifth aspect, a communication device is provided, including a processor, a memory, and a program or instruction stored on the memory and executable on the processor, where the program or instruction, when executed by the processor, implements the steps of the method as described in the first aspect.
[0042] In a sixth aspect, a readable storage medium is provided, where a program or instruction is stored on the readable storage medium, and the program or instruction, when executed by a processor, implements the steps of the method as described in the first aspect.
[0043] In this application, according to the waiting time threshold and timestamp accumulation time (time scheduling strategy) in the queue information, and the transmission priority (i.e., priority scheduling strategy), the target cache queue is determined together, and the dual strategies are used to perform service data scheduling together, so as to achieve precise scheduling of service data, reduce transmission delay, improve transmission performance, and ensure user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] By reading the detailed description of the preferred embodiments below, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present application. And throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:
[0045] Figure 1 is a schematic diagram of existing service communication;
[0046] Figure 2 It is a flowchart of the service scheduling method provided by an embodiment of the present application;
[0047] Figure 3 It is a schematic diagram of service classification provided by an embodiment of the present application;
[0048] Figure 4 It is a schematic diagram of data scheduling provided by an embodiment of the present application;
[0049] Figure 5 It is one of the schematic diagrams of the service scheduling device provided by an embodiment of the present application;
[0050] Figure 6 It is another schematic diagram of the service scheduling device provided by an embodiment of the present application;
[0051] Figure 7 It is still another schematic diagram of the service scheduling device provided by an embodiment of the present application;
[0052] Figure 8 It is a schematic diagram of the SI interface provided by an embodiment of the present application;
[0053] Figure 9 It is a schematic diagram of the base station provided by an embodiment of the present application;
[0054] Figure 10 It is a schematic diagram of the communication device provided by an embodiment of the present application. Detailed implementation manners
[0055] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are some, rather than all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0056] The term "including" and any variations thereof in the specification and claims of the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those clearly listed steps or units, but may include other steps or units that are not clearly listed or are inherent to these processes, methods, products, or devices. In addition, the use of "and / or" in the specification and claims means at least one of the connected objects. For example, A and / or B means including three cases: A alone, B alone, and both A and B exist.
[0057] In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0058] See Figure 2 , the embodiments of the present application provide a service scheduling method, and the specific steps include: Step 201, Step 202.
[0059] Step 201: Determine a target cache queue according to the queue information of each cache queue, where the queue information includes at least one of the following: transmission priority, waiting time threshold, timestamp accumulation time. The waiting time threshold is used to represent the time threshold that the service data in the cache queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration that the service data is stored in the cache queue;
[0060] Among them, the cache queue is used to cache service data.
[0061] Optionally, the service types of the service data cached in different cache queues (i.e., the service types corresponding to different cache queues) can be the same or different, or the transmission priorities of the service data cached in different cache queues (i.e., the transmission priorities corresponding to different cache queues) can be the same or different. For example, service data of the same service type but different service contents can be cached separately to ensure refined management of services. For example, short videos and movies of the video category can be cached separately.
[0062] The transmission priority refers to the order in which the service data in the cache queue is scheduled for transmission. Generally, the service data with a higher transmission priority will be sent first, while the service data with a lower transmission priority will be sent later. For example, the transmission priority of service data A in cache queue 1 is high, and the transmission priority of service data B in cache queue 2 is low. Then, service data A in cache queue 1 is scheduled for transmission first.
[0063] The waiting time threshold means that before sending the service data in the cache queue, it is necessary to wait for a certain period of time, that is, when the waiting time threshold is reached, the service data in the cache queue can be sent. For example, the waiting time threshold of service data A in cache queue 1 is threshold 1, and the waiting time threshold of service data B in cache queue 2 is threshold 2. If threshold 2 is reached, then service data B in cache queue 2 can be sent. Optionally, the waiting time threshold can be configured by a higher layer.
[0064] The timestamp cumulative time refers to the time elapsed from the start of caching data to the completion of caching data processing. Through timestamp accumulation, the data processing situation can be understood.
[0065] Step 202: Send the service data in the target cache queue.
[0066] Among them, the target cache queue can refer to the cache queue to be scheduled.
[0067] In an implementation manner of this application, refer to Figure 3 , and determine the target cache queue according to the queue information of each cache queue, including:
[0068] Step 2021: Determine whether the cache queue with the first transmission priority in all cache queues is empty, and the first transmission priority is the high transmission priority;
[0069] It can be understood that the cache queue being empty means that there is no service data to be sent in the cache queue.
[0070] Step 2022: If the cache queue with the first transmission priority is empty, then determine the cache queue with the second transmission priority as the target cache queue, and the first transmission priority is higher than the second transmission priority;
[0071] That is, when the cache queue with the high transmission priority is empty, that is, there is no service data to be sent, then the cache queue with the next lower transmission priority is scheduled.
[0072] Step 2023: If the cache queue with the first transmission priority is not empty, then determine whether the timestamp cumulative time of other cache queues reaches the waiting time threshold;
[0073] Step 2024: If the timestamp cumulative time of other cache queues reaches the waiting time threshold, then determine the other cache queue as the target cache queue;
[0074] Optionally, if there are multiple other cache queues, that is, the timestamp cumulative times of at least two cache queues reach the waiting time threshold, then determine a cache queue with a high transmission priority from the at least two cache queues as the target cache queue.
[0075] It can be understood that in the case of determining the other cache queue whose timestamp cumulative time reaches the waiting time threshold as the target cache queue, after the service data in the target cache queue is transmitted, the data transmission continues according to the transmission priority of the cache queue.
[0076] Step 2025: If the timestamp cumulative time of other cache queues does not reach the waiting time threshold, then determine the cache queue with the first transmission priority as the target cache queue.
[0077] That is, when scheduling the buffer queue of the first transmission priority, it is necessary to consider the waiting time thresholds of other non-empty buffer queues at the same time, that is, according to the waiting time threshold of the buffer queue and the cumulative time of the time stamp of the buffer queue, it is determined whether the waiting time threshold of the buffer queue is reached. If the waiting time threshold is reached and the buffer queue of the first transmission priority completes the transmission of the service data of an entire packet, the transmission of the service data of the first transmission priority is suspended, and the service data of the buffer queue that reaches the waiting time threshold is preferentially transmitted.
[0078] In this application, according to the method of hybrid priority scheduling of the time scheduling strategy and the priority scheduling strategy, packet loss is avoided while minimizing the impact on the data output of high and low priority queues, ensuring the maximum utilization rate of system resources.
[0079] In an embodiment of this application, the method further includes:
[0080] Determine the transmission priority of the service data according to the service type;
[0081] Deposit the service data into the corresponding buffer queue according to the service type and the transmission priority.
[0082] In an embodiment of this application, before determining the transmission priority of the service data according to the service type, the method further includes:
[0083] Determine the service type of the service data;
[0084] Determine whether the service data requires service processing according to the service type;
[0085] If the service data does not require service processing, send the service data; or,
[0086] If the service data requires service processing, execute to determine the transmission priority of the service data according to the service type.
[0087] In an embodiment of this application, see Figure 4 , determining the service type of the service data includes:
[0088] Step 401: Determine whether the service data is encrypted;
[0089] Optionally, data packets can be divided into two categories: encrypted data packets and non-encrypted data packets:
[0090] For non-encrypted data packets, they can be analyzed and read based on service flows (source IP + source port + destination IP + destination port + protocol type) and keyword fields in the application data such as application information (e.g., Domain Name System (DNS), Host), etc., so as to identify various types of applications. For example, short videos are generally identified through Host, DNS, associated fields, etc., and games are generally identified through Host, specific code streams, event associations, etc.
[0091] For encrypted data packets, they are mainly analyzed based on the statistical characteristics of the packets within the time window and the characteristic information in the first N packet sequences to identify the packets. For example, the application type is identified according to information such as the data packet length, the number of packets, the packet interval, and the connection rate.
[0092] Step 402: If the service data is encrypted, the service type of the service data is determined by means of eigenvalue matching of the packet; if the service data is not encrypted, the service type of the service data is determined by means of field matching of the packet.
[0093] Optionally, the eigenvalues for eigenvalue matching may include: the size of the data packet, the proportion of common packet types, the packet frequency, the source / destination information of the packet, the source / destination port number, the packet type and format, the packet content, etc.
[0094] Optionally, the fields for field matching include: common fields in the protocol header (such as application layer / transport layer port numbers, IP addresses, etc.), the Uniform Resource Locator (URL) in the HyperText Transfer Protocol (HTTP) packet, the protocol (HTTP / HTTPS), the file name and file size in the File Transfer Protocol (FTP) packet, etc.
[0095] Optionally, in an implementation manner of the present application, before step 402, the method may further include:
[0096] Analyze and process the regular characteristics of the data packets, extract features, obtain a service recognition result, and perform type identification on the recognition result to form a service feature library.
[0097] Among them, the regular characteristics of the data packets can be used for classification, and may include, for example, the average size of the data packets, the proportion of common packet types, the packet frequency, and the correlation between various packets.
[0098] Optionally, the service feature library of the data packet includes: source or destination information of the packet, source or destination port number, packet type and format, packet content, etc. Different packets may have different service features. For example, an HTTP packet may include a URL, protocol (HTTP / HTTPS), etc., while an FTP packet may include a file name, file size, etc.
[0099] In an embodiment of the present application, the service type includes: a first level and a second level. The first level is used to represent the major category of the service type, and the second level is used to represent the minor category of the service type included under the first level.
[0100] The classification of the recognition result of the service type can be statistically counted according to the secondary result. The first level differentiates the major categories (for example, major categories such as games, videos, XR, perception, etc.). The flag bit of the first level can be 4 bits (bit). If it is the reserved field 0000, it is considered that no priority scheduling data is required. The second level is the detailed recognition under the same major category. Optionally, according to the service features and / or keywords, the specific category (i.e., the second level) is recognized.
[0101] Table 1: The first level.
[0102] Business type Game type Video type XR type Perception type Other type Identifier (4 bits) 0001 0010 0011 0100 xxxx
[0103] Table 2: The second level.
[0104]
[0105] The service type (Type) jointly defined by the first level and the second level can perform refined classification of service data and extend the generalized Quality of Service (QoS) guarantee strategy. In this way, after the service data is recognized, it can be mapped to different types and different guarantee strategies can be adopted.
[0106] In the present application, according to the waiting time threshold and timestamp accumulation time (time scheduling strategy) in the queue information, and the transmission priority (i.e., the priority scheduling strategy), the target cache queue is determined together to implement the business data scheduling with the two strategies together, achieve precise scheduling of business data, reduce the transmission delay, improve the transmission performance, and ensure the user experience.
[0107] See Figure 5 , an embodiment of the present application provides a service scheduling device. The device 500 includes:
[0108] A data scheduling module 501, configured such that the queue information includes at least one of the following: transmission priority, waiting time threshold, timestamp accumulation time, where the waiting time threshold is used to represent the time threshold that the service data in the cache queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration of the service data stored in the cache queue;
[0109] A data transmission module 502, configured to send the service data in the target cache queue.
[0110] In an implementation manner of the present application, the data scheduling module 501 is further configured to:
[0111] According to the transmission priority in the queue information, determine whether the cache queue with the first transmission priority among all cache queues is empty, where the first transmission priority is a high transmission priority;
[0112] If the cache queue with the first transmission priority is empty, then determine the cache queue with the second transmission priority as the target cache queue, where the first transmission priority is higher than the second transmission priority; or,
[0113] If the cache queue with the first transmission priority is not empty, then according to the timestamp accumulation time and the waiting time threshold in the queue information, determine whether the timestamp accumulation time of other cache queues reaches the waiting time threshold;
[0114] If it reaches, then determine the other cache queue as the target cache queue; otherwise, determine the cache queue with the first transmission priority as the target cache queue.
[0115] In an implementation manner of the present application, see Figure 6 and Figure 7 , the device further includes: a data parsing module 503, configured to determine the transmission priority of the service data according to the service type of the service data;
[0116] A data distribution module 504, configured to distribute each service data to different cache queue modules for service caching according to the service type and the transmission priority;
[0117] A cache queue 505, configured to store the service data into the corresponding cache queue.
[0118] In an implementation manner of the present application, the recognition result of the service type includes: the first level of the service type and the second level of the service type, where the first level is used to represent the major category of the service type, and the second level is used to represent the minor category of the service type included under the first level.
[0119] In an implementation manner of the present application, see Figure 7, the device further includes: a service identification module 505, configured to determine the service type of service data, and determine whether the service data needs service processing according to the service type; if the service data does not need service processing, send the service data to a data transmission module for transmission; or, if the service data needs service processing, send the service data to a data parsing module.
[0120] In an implementation manner of the present application, the service identification module 505 is further configured to determine whether the service data is encrypted; if the service data is encrypted, determine the service type of the service data by matching the eigenvalue of the message; or, if the service data is not encrypted, determine the service type of the service data by matching the fields of the message.
[0121] See Figure 7 , the figure shows a service data transmission process, in which the service identification module loads the service feature library online as a discrimination basis, compares the service data with the service feature library, identifies the service type, and determines the forwarding form according to the service identification type:
[0122] (1) Transparent transmission: No service processing is required, and it is directly sent to the data transmission module 502 through a transparent transmission interface, and then sent to the 5G Core (5GC) through the data transmission module for subsequent service processing.
[0123] (2) Service processing: Forward it to the data parsing module 503 for service processing.
[0124] For example, it is sent to the data parsing module 503 through a custom SI interface, processed by the data parsing module 503, the data distribution module 504, the cache queue 505 and the data scheduling module 501, and then sent to the data transmission module 502 through the service processing output interface SA for transmission to the 5GC.
[0125] Optionally, as Figure 8 shown, the data format of the SI interface is as follows:
[0126] (1) The most significant byte (msb), the least significant byte (lsb), and the bytes between the most significant byte and the least significant byte;
[0127] (2) Packet identifier;
[0128] (3) Packet type #1, that is, the first level;
[0129] (4) Packet type #2, that is, the second level;
[0130] (5) Data timestamp;
[0131] Optionally, the data timestamp may refer to the sending time or receiving time of the message recorded in the network datagram, which can be used to correct network transmission delay and as a reference when analyzing network resistance.
[0132] (6) Payload.
[0133] For example, according to different service requirements, there are different data forwarding methods. To ensure the effectiveness of the application service, it must be carried out in the correct data forwarding method. Generally speaking, the data forwarding methods include two types: pass-through and forwarding after processing. Pass-through means that no processing is performed on the data when forwarding the data, while forwarding after processing means that specific processing is performed on the data before forwarding the data. For example, adding relevant service control fields, etc.
[0134] The device provided by the embodiment of the present application can implement Figure 2 each process implemented by the method embodiment shown and achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0135] The embodiment of the present application also provides a service scheduling board card, which includes a service scheduling device as Figure 5 shown.
[0136] The service scheduling board card provided by the embodiment of the present application can implement Figure 2 each process implemented by the method embodiment shown and achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0137] The embodiment of the present application also provides a base station, which includes the above service scheduling board card.
[0138] Referring to FIG. 9, the new functions such as XR, cloud gaming, cloud video, communication sensing, and intelligence supported by the Building Baseband Unit (BBU) in the base station of the present application need to run on different hardware entities to ensure good operation efficiency. For example, to support the high rate and low latency of cloud gaming, a high-performance Graphics Processing Unit (GPU) is required; a Central Processing Unit (CPU) to support the unified management and orchestration of resources for sensing target tracking and target recognition; a Data Processing Unit (DPU) to support intelligent deep learning training and inference. The required interface bandwidth and transmission latency of each hardware chip are different. Based on the service scheduling board card, various services are finely scheduled to ensure the user experience.
[0139] As Figure 10As shown in the figure, an embodiment of the present application further provides a communication device 1000, including a processor 1001, a memory 1002, and a program or instruction stored on the memory 1002 and executable on the processor 1001. When the program or instruction is executed by the processor 1001, it implements the above Figure 2 each process of the method embodiment and can achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0140] An embodiment of the present application further provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, it implements the above Figure 2 each process of the method embodiment and can achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0141] Among them, the processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc, etc.
[0142] The steps of the method or algorithm described in combination with the disclosed content of the present application can be implemented in a hardware manner or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a RAM, a flash memory, a ROM, an EPROM, an EEPROM, a register, a hard disk, a removable hard disk, a read-only optical disc, or any other form of storage medium well-known in the art. An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be carried in an ASIC. In addition, the ASIC can be carried in a core network interface device. Of course, the processor and the storage medium can also exist as discrete components in the core network interface device.
[0143] Those skilled in the art should be able to realize that in the above one or more examples, the functions described in the present application can be implemented by hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. The computer-readable medium includes a computer storage medium and a communication medium, where the communication medium includes any medium that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium accessible by a general-purpose or special-purpose computer.
[0144] The specific embodiments described above have further elaborated on the purpose, technical solution, and beneficial effects of the present application. It should be understood that the above description is only the specific embodiments of the present application and is not used to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solution of the present application shall be included within the protection scope of the present application.
[0145] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the embodiments of the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0146] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the specified functions in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0147] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device that implements the specified functions in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0148] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the specified functions in Figure 1 one or more of the flows Figure 1 or a plurality of flows and / or blocks
[0149] Obviously, those skilled in the art can make various modifications and variations to the embodiments of the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application also intends to include these modifications and variations.
Claims
1. A service scheduling method, characterized in that, including: determining a target cache queue according to the queue information of each cache queue, where the queue information includes at least one of the following: transmission priority, waiting time threshold, timestamp accumulation time, the waiting time threshold is used to represent the time threshold that the service data in the cache queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration of the service data stored in the cache queue; sending the service data in the target cache queue.
2. The method according to claim 1, wherein Determining a target cache queue according to the queue information of each cache queue includes: judging whether the cache queue with the first transmission priority is empty, where the first transmission priority is the high transmission priority; if the cache queue with the first transmission priority is empty, determining the cache queue with the second transmission priority as the target cache queue, where the first transmission priority is higher than the second transmission priority; or, if the cache queue with the first transmission priority is not empty, judging whether the timestamp accumulation time of other cache queues reaches the waiting time threshold; if the timestamp accumulation time of other cache queues reaches the waiting time threshold, determining the other cache queue as the target cache queue; or if the timestamp accumulation time of other cache queues does not reach the waiting time threshold, determining the cache queue with the first transmission priority as the target cache queue.
3. The method according to claim 1, wherein Before sending the service data in the target cache queue, the method further includes: determining the transmission priority of the service data according to the service type of the service data; storing the service data into the corresponding cache queue according to the service type and the transmission priority.
4. The method according to claim 3, characterized in that, Before determining the transmission priority of the service data according to the service type of the service data, the method further includes: determining the service type of the service data; determining whether the service data needs service processing according to the service type; if the service data does not need service processing, performing sending the service data in the target cache queue; or, if the service data needs service processing, performing determining the transmission priority of the service data according to the service type of the service data.
5. The method according to claim 4, characterized in that Determining the service type of the service data includes: judging whether the service data is encrypted; if the service data is encrypted, determining the service type of the service data by matching the characteristic values of the message; or if the service data is not encrypted, determining the service type of the service data by matching the fields of the message.
6. The method according to claim 3 or 4 or 5, characterized in that The service type includes: a first level and a second level, the first level is used to represent the major category of the service type, and the second level is used to represent the minor category of the service type included under the first level.
7. A service scheduling device, characterized in that, including: a data scheduling module, configured to determine a target cache queue according to the queue information of each cache queue, where the queue information includes at least one of the following: transmission priority, waiting time threshold, timestamp accumulation time, the waiting time threshold is used to represent the time threshold that the service data in the cache queue needs to wait before being scheduled, and the timestamp accumulation time is used to represent the duration of the service data stored in the cache queue; A data transmission module, configured to send the service data in the target cache queue.
8. The device according to claim 7, characterized in that, The data scheduling module is further configured to: Determine whether the cache queue with the first transmission priority among all cache queues is empty, where the first transmission priority is the high transmission priority; If the cache queue with the first transmission priority is empty, determine the cache queue with the second transmission priority as the target cache queue, where the first transmission priority is higher than the second transmission priority; Or, If the cache queue with the first transmission priority is not empty, determine whether the cumulative timestamp of other cache queues reaches the waiting time threshold; If the cumulative timestamp of other cache queues reaches the waiting time threshold, determine the other cache queues as the target cache queue; Or, if the cumulative timestamp of other cache queues does not reach the waiting time threshold, determine the cache queue with the first transmission priority as the target cache queue.
9. The device according to claim 7, wherein The apparatus further includes: a data parsing module, configured to determine the transmission priority of the service data according to the service type of the service data; A data distribution module, configured to distribute each service data to different cache queue modules for service caching according to the service type and the transmission priority; A cache queue, configured to store the service data into the corresponding cache queue.
10. The device according to claim 9, characterized in that The apparatus further includes: A service identification module, configured to determine the service type of the service data; determine whether the service data needs service processing according to the service type; if the service data does not need service processing, send the service data to the data transmission module for transmission; or, if the service data needs service processing, send the service data to the data parsing module.
11. The device according to claim 10, characterized in that, The service identification module is further configured to determine whether the service data is encrypted; if so, determine the service type of the service data by means of feature value matching of the message, otherwise, determine the service type of the service data by means of field matching of the message.
12. A service scheduling board, characterized in that, Including the apparatus according to any one of claims 7 to 11.
13. A base station, characterized in that, Including the service scheduling board according to claim 12.
14. A communication device, characterized in that, Including a processor, a memory, and a program or instruction stored on the memory and executable on the processor, where when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.
15. A readable storage medium, characterized in that, A program or instruction is stored on the readable storage medium, where when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.