Data processing method and device, electronic equipment and storage medium

By dynamically adjusting the number of processor cores and task queue status in the dual-mode communication system, the problems of wasted hardware resources and inflexible network deployment are solved, and efficient computing resource utilization and network topology optimization are achieved.

CN119997109APending Publication Date: 2025-05-13LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411987667.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In dual-mode communication systems, it is difficult for the existing technology to effectively utilize the computing resources of general servers, resulting in waste of hardware resources and inflexible network topology deployment, affecting the optimization of computing power and power resources.

Method used

By receiving communication tasks for multiple cells, confirm the number of processor cores based on the central processor resources, determine the number of allocable threads, and add the communication tasks to the appropriate task queue according to the status of the task queue to perform communication tasks in the task queue.

Benefits of technology

The dual-mode base station function of NR and LTE is realized, which saves hardware resources, improves the utilization rate of computing power resources, and optimizes the network topology deployment by flexibly adjusting the number of processor cores and main frequency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119997109A_ABST
    Figure CN119997109A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method and device, electronic equipment and a storage medium, and the method comprises the steps: receiving at least one communication task of a plurality of cells, wherein the at least one communication task comprises at least two communication systems; confirming the number of processor cores for processing at least one communication task of the plurality of cells based on central processor resources; based on the number of the processor cores, determining the number of distributable threads of the plurality of cells, and based on the number of the threads, determining queue information of a task queue; adding the at least one communication task to at least one task queue based on at least one of the number of the communication tasks in the task queue, the priority information of the at least one communication task, the pre-task information and the execution frequency information; and executing the communication task in the at least one task queue.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to a data processing method, device, electronic device and storage medium. Background Art

[0002] In the ORAN base station architecture that uses general-purpose servers to implement physical layer digital signal processing and base station wireless protocol stacks, in order to improve network coverage and capacity, and increase users' data transmission speed and experience quality, operators are increasingly inclined to choose NR and LTE dual-mode network deployment in actual deployment. In the deployment process of dual-mode communication systems, flexible base station deployment topology, computing power cost and electricity cost have also become important indicators in the daily operation of operators. Summary of the invention

[0003] The present disclosure provides a data processing method, device, electronic device and storage medium to at least solve the above technical problems existing in the prior art.

[0004] According to a first aspect of the present disclosure, there is provided a data processing method, comprising:

[0005] receiving at least one communication task of a plurality of cells, wherein the at least one communication task includes at least two communication modes;

[0006] Determining the number of processor cores for processing at least one communication task for the plurality of cells based on central processor resources;

[0007] Determine the number of threads that can be allocated to the multiple cells based on the number of processor cores, and determine queue information of the task queue based on the number of threads;

[0008] Adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, priority information of the at least one communication task, predecessor task information, and execution count information;

[0009] The communication tasks in the at least one task queue are executed.

[0010] In the above solution, the method of confirming the number of processor cores for processing at least one communication task of the multiple cells based on central processor resources includes:

[0011] Confirm the operating status of the central processor, the number of user connections of the multiple cells and the communication service information of at least two communication formats corresponding to the multiple cells, and confirm the number of processor cores allocated to process at least one communication task of the multiple cells.

[0012] In the above scheme, the method further comprises:

[0013] Adjusting the number of processor cores allocated to process at least one communication task of the plurality of cells based on the specifications of the plurality of cells, resources for handling the burst task, and the current operating state of the central processor;

[0014] Alternatively, the main frequency of the current central processing unit is adjusted.

[0015] In the above scheme, adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, the priority information of the at least one communication task, the predecessor task information, and the execution count information includes performing the following operations on any one of the at least one communication task:

[0016] Adding the communication task to the task queue based on at least one of the predecessor task information, priority information, execution times and at least one task queue status of the communication task;

[0017] Among them, the predecessor task of a communication task is before the communication task; and the communication task with a high priority is before the communication task with a low priority.

[0018] In the above solution, adding the communication task to the task queue based on at least one of the predecessor task information, priority information, execution times and at least one task queue status of the communication task includes:

[0019] Confirming whether the communication task has a predecessor task based on the predecessor task information; if not, adding the communication task to the task queue based on the priority of the communication task;

[0020] If the communication task has a predecessor task, confirm whether the priority of the communication task is valid; if the priority is valid and the task queue is not full, add the communication task to the task queue based on the priority of the communication task;

[0021] If the priority is valid and the task queue is full, confirm whether the execution count of the communication task is 1;

[0022] If the execution count of the communication task is 1, the communication task is added to the task queue based on the priority of the communication task.

[0023] In the above solution, executing the communication task in the at least one task queue includes:

[0024] Confirm whether there is a predecessor task for the communication task;

[0025] In response to the existence of a predecessor task for the communication task, executing the communication task after executing the predecessor task;

[0026] In response to the communication task not having a predecessor task and the thread corresponding to the communication task not being suspended, acquiring the communication task;

[0027] In response to the communication task being valid, the communication task is executed.

[0028] In the above solution, the obtaining of the communication task includes:

[0029] Obtaining at least one task including the communication task from a highest priority task queue;

[0030] From the at least one task including the communication task, a configured priority task queue including the communication task is obtained.

[0031] According to a second aspect of the present disclosure, a data processing device is provided, the device comprising:

[0032] A receiving unit, configured to receive at least one communication task of a plurality of cells, wherein the at least one communication task includes at least two communication modes;

[0033] A resource allocation unit, configured to confirm the number of processor cores for processing at least one communication task of the plurality of cells based on central processor resources; determine the number of threads that can be allocated to the plurality of cells based on at least one of the numbers of processor cores, and determine queue information of the task queue based on the number of threads;

[0034] A task allocation unit, configured to add the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, the priority information, the predecessor task information and the execution number information of the at least one communication task;

[0035] An execution unit is used to execute the communication tasks in the at least one task queue.

[0036] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0037] at least one processor; and

[0038] a memory communicatively connected to the at least one processor; wherein,

[0039] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present disclosure.

[0040] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method described in the present disclosure.

[0041] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become readily understood by reading the detailed description below with reference to the accompanying drawings. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, in which:

[0043] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0044] Figure 1 A schematic diagram of the structure of a dual-mode design in the related art is shown;

[0045] Figure 2 A first optional flow chart of the data transmission method provided by the embodiment of the present disclosure is shown;

[0046] Figure 3 A second optional flow chart of the data processing method provided by the embodiment of the present disclosure is shown;

[0047] Figure 4 A third optional flow chart of the data processing method provided by the embodiment of the present disclosure is shown;

[0048] Figure 5 A schematic diagram showing the structure of each module in the data processing method provided by an embodiment of the present disclosure;

[0049] Figure 6 A data flow diagram of the method described in the embodiment of the present disclosure is shown;

[0050] Figure 7 A schematic diagram of an optional process of adding a communication task to a task queue provided by an embodiment of the present disclosure is shown;

[0051] Figure 8 A schematic diagram of an optional process for executing a communication task in a task queue provided by an embodiment of the present disclosure is shown;

[0052] Fig. 9 An optional structural schematic diagram of a data processing device provided by an embodiment of the present disclosure is shown;

[0053] Fig.10 A schematic diagram of the structure of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0054] In order to make the purpose, features, and advantages of the present disclosure more obvious and easy to understand, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0055] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it can be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0056] In the following description, the terms "first\second" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein.

[0057] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as those commonly understood by those skilled in the art to which this disclosure belongs. The terms used in this disclosure are only for the purpose of describing the embodiments of this disclosure and are not intended to limit this disclosure.

[0058] It should be understood that in the various embodiments of the present disclosure, the size of the serial number of each implementation process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.

[0059] Figure 1 A schematic structural diagram of a dual-mode design in the related art is shown.

[0060] like Figure 1 As shown in the figure, on the basis of NR single mode, an LTE communication module board is added to realize the dual-mode base station function. The NR module runs completely on a general server, and this part is no different from the single-mode NR. The LTE part needs to use a dedicated LTE board to communicate with the CPU through the PCIE interface. The LTE board integrates the communication physical layer, MAC layer and L3 layer functions. However, this solution does not make full use of general computing resources, and additional hardware resources are required to realize dual-mode functions; the network topology deployment is not flexible, the single-mode NR part can be deployed relatively flexibly, but it is limited to the single cell supported by the LTE function card, and the LTE cell deployment is restricted; computing power resources and power consumption resources cannot be optimized and adapted in existing application scenarios.

[0061] Figure 2A first optional flow chart of the data transmission method provided by an embodiment of the present disclosure is shown, and will be explained according to each step.

[0062] Step S201: receiving at least one communication task of multiple cells.

[0063] In some embodiments, a carrier implementing the data transmission method (hereinafter referred to as carrier) receives at least one communication task of multiple cells within the coverage area of ​​the base station. The communication task includes at least two communication standards, such as the at least one communication task includes a fifth generation mobile communication (5G) task, and also includes a fourth generation mobile communication (4G) task, and optionally, may also include a sixth generation mobile communication (6G) task. The multiple in the embodiments of the present disclosure refers to at least two.

[0064] In some embodiments, the carrier is disposed in a base station. The carrier may be a computer program, an electronic circuit, a database, a mobile application, an electronic device, a cloud computing platform, a distributed system, an artificial intelligence framework, a mathematical model, an automation tool, a microcontroller, etc., software or hardware capable of implementing an algorithm or method flow.

[0065] Step S202: confirming the number of processor cores for processing at least one communication task of the plurality of cells based on central processing unit resources.

[0066] In some embodiments, the carrier confirms the number of processor cores for processing at least one communication task of the multiple cells based on central processor resources; specifically, the carrier confirms the number of processor cores for processing at least one communication task of each cell.

[0067] In some embodiments, the size of the cell, the number of users, and the number of communication tasks of different communication formats may affect the number of allocated processor cores.

[0068] In specific implementation, the larger the cell size, the more connected users, the more communication tasks, and the more computing resources required to process the communication tasks, the more processor cores are allocated.

[0069] Step S203: determining the number of threads that can be allocated to the multiple cells based on the number of processor cores, and determining queue information of the task queue based on the number of threads.

[0070] In some embodiments, the number of processor cores may be the same as the number of threads. Specifically, each cell may correspond to multiple threads, and different cells may correspond to different processor cores and threads. The number of threads is the same as the number of task queues.

[0071] Step S204: adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, priority information of the at least one communication task, predecessor task information, and execution count information.

[0072] In some embodiments, the carrier adds at least one communication task corresponding to any cell to at least one task queue corresponding to the cell based on at least one of the number of communication tasks in the task queue (such as whether the task queue is full), the priority information of the communication task, whether there is a preceding communication task for the communication task, and the number of executions of the communication task (whether it is a one-time task).

[0073] Step S205: executing the communication task in the at least one task queue.

[0074] In some embodiments, the carrier executes the communication tasks in the at least one task queue.

[0075] During specific implementation, the carrier may execute the communication tasks in each task queue in parallel according to the order of the communication tasks in each task queue.

[0076] Alternatively, during specific implementation, the carrier may also confirm the priority of each communication task and whether a preceding task of the communication task has been executed before executing each communication task, and execute the communication task after confirmation.

[0077] It should be noted that, since any cell corresponds to multiple threads, the communication task and its predecessor task may not be in the same task queue. In this case, it is possible to confirm whether the predecessor task has been completed before executing the communication task.

[0078] In this way, through the data processing method provided by the embodiment of the present disclosure, the communication tasks of different communication standards are managed in a unified manner and abstracted as cell-level tasks, so as to realize the dual-mode base station functions of NR and LTE and save hardware resources; and the number of processor cores can be flexibly adjusted according to the cell size, number of users, computing resources required for communication tasks and the number of communication tasks, thereby improving the utilization rate of computing resources.

[0079] Figure 3 A second optional flow chart of the data processing method provided in the embodiment of the present disclosure is shown and will be explained according to each step.

[0080] Step S301, confirming the operation status of the central processor, the number of user connections of the multiple cells and the communication service information of at least two communication modes corresponding to the multiple cells, and confirming the number of processor cores allocated to process at least one communication task of the multiple cells.

[0081] In some embodiments, the carrier obtains the number of cells within the coverage area, the number of users corresponding to each cell, the number of at least one communication task corresponding to each cell, and the computing resources required to process the at least one communication task, and determines the number of processor cores corresponding to each cell. The processor core is used to process the communication tasks of the corresponding cell.

[0082] In specific implementation, if the number of users corresponding to the first cell is large, the number of communication tasks is large, or the computing power resources required to process the communication tasks corresponding to the first cell are large, the number of processor cores allocated to the first cell is greater than that of other cells with a small number of users, a small number of communication tasks, or a small number of required computing power resources. The communication task information includes the number of communication tasks, the communication task format, and the computing power resources required to process the communication tasks.

[0083] In some embodiments, the carrier may periodically determine the number of processor cores corresponding to each cell and adjust the processor cores according to the latest confirmation information; or the carrier may also determine the number of processor cores corresponding to each cell in response to cell activation or deactivation within the coverage of the base station, and adjust the processor cores according to the latest confirmation information.

[0084] In a specific implementation, based on the specifications of the multiple cells, resources for dealing with sudden tasks and the operating status of the current central processor, the number of processor cores allocated to process at least one communication task of the multiple cells is adjusted; or the main frequency of the current central processor is adjusted.

[0085] In specific implementation, for a deactivated cell, the allocated processor core resources are recovered; for an activated cell (referring to a cell that was not activated when the processor core was allocated most recently), processor core resources are allocated.

[0086] In some embodiments, the carrier can determine the operating status of the central processor, the number of communication tasks (or NR, LTE cell services) and the number of user connections by monitoring the network status and load corresponding to the base station; combined with the specifications of each NR cell or LTE cell covered by the base station, combined with the burst resources corresponding to the current communication task (or communication service) capacity, determine the network requirements and resources (such as computing power resources) corresponding to the base station.

[0087] According to the needs and resources of the network corresponding to the base station, the number of processor cores corresponding to each cell is adjusted. For example, when the business volume of a cell decreases, the processor cores can be reduced and / or the main frequency of the central processing unit can be lowered; when the business volume of a cell increases, the processor cores can be increased to achieve dynamic energy saving of the system.

[0088] In this way, processor cores can be added and deleted efficiently and in real time, improving the efficiency of computing resource utilization.

[0089] Step S302: receiving at least one communication task of multiple cells.

[0090] The specific step flow of step S302 is the same as that of step S201 and will not be repeated here.

[0091] Step S303: determining the number of threads that can be allocated to the multiple cells based on the number of processor cores, and determining queue information of the task queue based on the number of threads.

[0092] The specific step flow of step S303 is the same as that of step S203 and will not be repeated here.

[0093] Step S304: adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, priority information, predecessor task information, and execution count information of the at least one communication task.

[0094] The specific steps of step S304 are the same as those of step S204 and will not be repeated here.

[0095] Step S305: executing the communication task in the at least one task queue.

[0096] The specific step flow of step S305 is the same as that of step S205 and will not be repeated here.

[0097] In this way, through the data processing method provided by the embodiment of the present disclosure, the communication tasks of different communication standards are uniformly managed and abstracted as cell-level tasks, which can realize the dual-mode base station function of NR and LTE and save hardware resources; and the number of processor cores is flexibly adjusted according to the cell size, number of users, computing resources required for communication tasks and the number of communication tasks, thereby improving the utilization rate of computing resources.

[0098] Figure 4 A third optional flow chart of the data processing method provided in the embodiment of the present disclosure is shown and will be explained according to each step.

[0099] Step S401: Acquire at least one communication task corresponding to the first cell.

[0100] In some embodiments, NR and LTE are integrated into one physical layer, the NR part of the physical layer performs data transmission with the high-layer NR DU, and the LTE part of the physical layer performs data transmission with the high-layer LTE DU.

[0101] In some embodiments, the communication task includes at least an NR communication task and an LTE communication task.

[0102] In some embodiments, NR communication tasks and LTE communication tasks are abstracted into cell-level communication tasks and placed in the same task pool for task queue allocation and execution.

[0103] The premise for allocating computing power to a cell is that the cell is activated. That is, when the cell is activated, the resources of all cells of the base station are adjusted based on the number of all cells of the base station, the traffic volume of each cell, and the number of communication tasks. When the cell is deactivated, the same operation is repeated to readjust the resources of all cells.

[0104] Step S402 , allocating the number of processor cores to each cell according to the number of cells, the traffic volume of each cell, and the task volume of each cell.

[0105] In some embodiments, the carrier divides resources according to the traffic volume of different communication modes. For example, if a cell has more NR traffic, more NR resources are allocated to the cell; if a cell has more LTE traffic, more LTE resources are allocated to the cell. Resources refer to the resources of the base station (processor core resources, CPU resources, etc.), and computing resources (or processor core resources) are allocated to each cell according to the number of cells, the traffic volume of each cell, and the task volume of each cell.

[0106] In some embodiments, each cell corresponds to at least one task chain (or task queue); each task queue corresponds to a task thread, and each task queue corresponds to a processor core. Each task queue may include multiple communication tasks.

[0107] When executing communication tasks, multiple processor cores process the characters in the corresponding task queues in parallel, that is, the communication tasks corresponding to each cell can be executed in parallel.

[0108] Step S403: determining the number of threads that can be allocated to the multiple cells based on the number of processor cores, and determining queue information of the task queue based on the number of threads.

[0109] The specific steps of step S403 are the same as those of step S203 and will not be repeated here.

[0110] Step S404: adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, priority information, predecessor task information, and execution count information of the at least one communication task.

[0111] In some embodiments, the carrier adds the communication task to the task queue based on at least one of the predecessor task information, priority information, execution times and at least one task queue status of the communication task; wherein the predecessor task of the communication task is before the communication task; and the communication task with a higher priority is before the communication task with a lower priority.

[0112] During specific implementation, the carrier confirms whether the communication task has a predecessor task based on the predecessor task information; if not, the communication task is added to the task queue based on the priority of the communication task; if the communication task has a predecessor task, it is confirmed whether the priority of the communication task is valid; if the priority is valid and the task queue is not full, the communication task is added to the task queue based on the priority of the communication task; if the priority is valid and the task queue is full, it is confirmed whether the number of executions of the communication task is 1 (whether it is a one-time task); if the number of executions of the communication task is 1 (that is, it is a one-time task), the communication task is added to the task queue based on the priority of the communication task.

[0113] Step S405: executing the communication task in the at least one task queue.

[0114] In some embodiments, the carrier confirms whether there is a predecessor task for the communication task; in response to the existence of a predecessor task for the communication task, the communication task is executed after executing the predecessor task; in response to the absence of a predecessor task for the communication task and the thread corresponding to the communication task is not suspended, the communication task is acquired; in response to the communication task being valid, the communication task is executed.

[0115] During specific implementation, the carrier obtains at least one task including the communication task from the highest priority task queue; and obtains a configured priority task queue including the communication task from the at least one task including the communication task.

[0116] In this way, through the data processing method provided by the embodiment of the present disclosure, the communication tasks of different communication standards are managed in the same way and abstracted as cell-level tasks, so that the dual-mode base station functions of NR and LTE can be realized and hardware resources can be saved; and the number of processor cores can be flexibly adjusted according to the cell size, the number of users, the computing resources required for the communication tasks and the number of communication tasks, thereby improving the utilization rate of computing resources. By modularizing the tasks of NR and LTE processing, the dual-mode base station functions of NR and LTE can be realized using a single instance, which solves the dual-mode problem and also saves hardware resources. Through an efficient real-time thread scheduling mechanism, the addition and deletion of CPU cores can be flexibly realized, and computing resources can be used efficiently. By monitoring and analyzing the real-time system, the resource allocation policy system is adjusted. Efficient resource management and flexible deployment of network topology according to actual needs.

[0117] Figure 5 A schematic diagram of the structure of each module in the data processing method provided by an embodiment of the present disclosure is shown. Figure 6 A data flow diagram of the method described in an embodiment of the present disclosure is shown.

[0118] like Figure 5 As shown, the remote radio unit (RRU) receives at least one communication task transmitted by each cell and sends the at least one communication task to a hub (HUB); the hub puts the communication task into a task pool according to the cell type and the communication standard type according to the communication standard of the communication task.

[0119] like Figure 5 As shown in the task pool (TaskPool), it includes NR communication tasks (NR Task) and LTE communication tasks (LTE Task). Further, as Figure 6 As shown, the communication tasks can be classified according to the cell type and the communication standard type, such as the first NR cell (NR Cell0) includes multiple NR communication tasks: NR_Task_A, NR_Task_B, ..., NR_Task_X; the second NR cell (NR CellN) includes multiple NR communication tasks: NR_Task_A, NR_Task_B, ..., NR_Task_X. The first LTE cell (LTE Cell0) includes multiple LTE communication tasks: LTE_Task_A, LTE_Task_B, ..., LTE_Task_X; the second LTE cell (LTE CellN) includes multiple LTE communication tasks: LTE_Task_A, LTE_Task_B, ..., LTE_Task_X.

[0120] The task attributes of each task include function, prerequisite function, task priority and core affinity msk; wherein the prerequisite function includes the prerequisite function required to realize the task, or the prerequisite task corresponding to the task.

[0121] In some embodiments, the task scheduling module (Task_Schedule) is used for communication task scheduling, that is, assigning communication tasks to different threads (or different task queues). Including LTE tasks and NR tasks; communication tasks can be assigned to threads based on time triggers or based on predecessor task triggers. Communication tasks can also be placed directly on threads. When encountering tasks that need to be executed directly, they are directly placed on a thread for execution. Optionally, the task scheduling module is also used to schedule resources based on task priority. For example, tasks that need to be placed on a processor core for execution have a higher priority.

[0122] In some embodiments, the resource scheduling module (RT_Workthread) performs CPU core allocation scheduling according to actual business needs, such as peak business, multi-user business, etc. When the business volume increases or decreases, the number of processor cores is increased or decreased accordingly.

[0123] The task thread (RT_workthread) is used to execute tasks in the task queue.

[0124] In some embodiments, examples of tasks in the task queue may include: TMNG_TTI_START, TMNG_SYM_WAKE_UP, LTE1_MAC2PHY_API, LTE1_DL_FEC, ..., LTE1_UL_PUSCHCE, LTE1_UL_DEMOD, and LTE1_UL_DEMOD, etc.

[0125] Figure 7 A schematic diagram of an optional process for adding a communication task to a task queue provided by an embodiment of the present disclosure is shown.

[0126] That is, step S701 to step S705 are detailed descriptions of corresponding steps S204, S304 and S404.

[0127] Step S701, obtaining a first task from a task pool.

[0128] The tasks in the task pool include at least one communication task of multiple cells covered by the base station.

[0129] Step S702: whether to execute directly.

[0130] In some embodiments, the task scheduling module determines whether the first task is a task to be executed directly; if so, the first task is directly placed in a corresponding task queue or process to execute the first task. After the execution is completed, the process returns to step S701, obtains the second task from the task pool, and repeats steps S702 to S705.

[0131] In some embodiments, if the first task is not a directly executed task, step S703 is executed.

[0132] Step S703: whether a preceding task is required.

[0133] In some embodiments, the task scheduling module confirms whether the first task has a predecessor task; if no predecessor task exists, the first task is placed in a target queue.

[0134] If the target queue is full, return to step S701, wait for a preset time, and repeat steps S701 to S705; within the preset time, add the third task to the task queue based on steps S701 to S705. If the target queue is not full, put the first task into the target queue.

[0135] In some embodiments, if the first task has a predecessor task, step S704 is executed.

[0136] Step S704, confirming the task priority.

[0137] In some embodiments, the task scheduling module confirms whether the task priority of the first task is valid; if the task priority of the first task is invalid, the first task expires, the first task is not executed, and the process ends.

[0138] If the task priority of the first task is valid, confirm whether the target queue is full; if the target queue is not full, add the first task to the target queue and wait for execution.

[0139] If the target queue is full, execute step S705.

[0140] Step S705: whether it is a one-time operation.

[0141] In some embodiments, the task scheduling module determines whether the first task is a one-time task. If the first task is a one-time task, the first task is directly placed in a corresponding task queue or process to execute the first task. After the execution is completed, return to step S701, obtain the second task from the task pool, and repeat steps S702 to S705.

[0142] If the first task is not a one-time task, after waiting for a preset time, steps S702 to S705 are repeated.

[0143] In some embodiments, LTE communication tasks and NR communication tasks can be placed in the same task queue, or they can be placed in different task queues, that is, the task queue only includes LTE communication tasks, or only includes NR communication tasks.

[0144] Figure 8 A schematic diagram of an optional process for executing a communication task in a task queue provided by an embodiment of the present disclosure is shown.

[0145] Step S901, configuring threads.

[0146] In some embodiments, a thread is configured for each cell based on step S301 .

[0147] Step S902: Whether the base station is running.

[0148] In some embodiments, if the base station is not running, the process ends. If the base station is running, step S903 is executed.

[0149] Step S903: whether there is a polling task.

[0150] In some embodiments, it is determined whether there is a polling task, and if so, step S904 is performed. If not, it means that there is no task in the task queue. Non-polling tasks or one-time tasks are in a specific task queue.

[0151] Step S904, determining whether there is a predecessor task.

[0152] In some embodiments, it is determined whether the first task has a predecessor task. If so, the predecessor task of the first task is executed and step S901 is repeated. If the first task has no predecessor task or the predecessor task of the first task has been completed, step S905 is executed.

[0153] Step S905: whether the thread is suspended.

[0154] In some embodiments, if the thread is suspended, it sleeps; if the thread is not suspended, step S906 is executed.

[0155] Step S906, obtaining a task from the highest priority queue.

[0156] In some embodiments, the tasks of the highest priority queue include Slot0, Slot1, ..., SlotN. Each Slotn includes at least one communication task; Slotn is obtained from the highest priority queue.

[0157] Step S907, obtaining a configuration priority queue task.

[0158] In some embodiments, after Slotn is obtained, the first task is obtained from the Slotn. In response to obtaining the first task, step S908 is executed; if the first task is not obtained, sleep is performed (this indicates that all tasks in the task queue have been completed).

[0159] Step S908, confirm whether the first task is valid.

[0160] In some embodiments, in response to the first task being valid, the first task is executed and task-related data is counted; in response to the first task being invalid, task-related data is counted.

[0161] The task-related data include: whether the task waiting timeout, whether the execution timeout, the time consumption of the task execution, whether the execution is completed, and whether the execution is abnormal.

[0162] Fig. 9 An optional structural schematic diagram of a data processing device provided in an embodiment of the present disclosure is shown, and will be described according to each part.

[0163] In some embodiments, the data processing device 1000 includes a receiving unit 1001 , a resource allocation unit 1002 , a task allocation unit 1003 and an execution unit 1004 .

[0164] The receiving unit 1001 is configured to receive at least one communication task of a plurality of cells, wherein the at least one communication task includes at least two communication modes;

[0165] The resource allocation unit 1002 is configured to determine the number of processor cores for processing at least one communication task of the multiple cells based on central processor resources; determine the number of threads that can be allocated to the multiple cells based on at least one of the numbers of processor cores, and determine queue information of the task queue based on the number of threads;

[0166] The task allocation unit 1003 is used to add the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, the priority information, the predecessor task information and the execution number information of the at least one communication task;

[0167] The execution unit 1004 is specifically configured to execute the communication task in the at least one task queue.

[0168] The resource allocation unit 1002 is specifically used to confirm the operating status of the central processor, the number of user connections of the multiple cells and the communication service information of at least two communication standards corresponding to the multiple cells, and confirm the number of processor cores allocated to process at least one communication task of the multiple cells.

[0169] The execution unit 1004 is specifically configured to adjust the number of processor cores allocated to process at least one communication task of the multiple cells based on the specifications of the multiple cells, resources for dealing with sudden tasks, and the current operating state of the central processor;

[0170] Alternatively, the main frequency of the current central processing unit is adjusted.

[0171] The task allocation unit 1003 is specifically configured to add the communication task to the task queue based on at least one of the preceding task information, priority information, execution times and at least one task queue status of the communication task;

[0172] Among them, the predecessor task of a communication task is before the communication task; and the communication task with a high priority is before the communication task with a low priority.

[0173] The task allocation unit 1003 is specifically used to confirm whether the communication task has a predecessor task based on the predecessor task information; if not, add the communication task to the task queue based on the priority of the communication task;

[0174] If the communication task has a predecessor task, confirm whether the priority of the communication task is valid; if the priority is valid and the task queue is not full, add the communication task to the task queue based on the priority of the communication task;

[0175] If the priority is valid and the task queue is full, confirm whether the execution count of the communication task is 1;

[0176] If the execution count of the communication task is 1, the communication task is added to the task queue based on the priority of the communication task.

[0177] The execution unit 1004 is specifically used to confirm whether there is a predecessor task for the communication task;

[0178] In response to the existence of a predecessor task for the communication task, executing the communication task after executing the predecessor task;

[0179] In response to the communication task not having a predecessor task and the thread corresponding to the communication task not being suspended, acquiring the communication task;

[0180] In response to the communication task being valid, the communication task is executed.

[0181] The execution unit 1004 is specifically configured to obtain at least one task including the communication task from the highest priority task queue;

[0182] From the at least one task including the communication task, a configured priority task queue including the communication task is obtained.

[0183] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0184] Fig.10 A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0185] like Fig.10As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0186] Multiple components in the electronic device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the electronic device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0187] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as data processing methods. For example, in some embodiments, the data processing method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the data processing method in any other appropriate manner (e.g., by means of firmware).

[0188] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0189] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0190] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0191] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0192] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0193] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0194] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0195] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0196] The above is only a specific embodiment of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims

1. A data processing method, the method comprising: receiving at least one communication task of a plurality of cells, wherein the at least one communication task includes at least two communication modes; Determining the number of processor cores for processing at least one communication task of the plurality of cells based on central processor resources; Determine the number of threads that can be allocated to the multiple cells based on the number of processor cores, and determine queue information of the task queue based on the number of threads; Adding the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, priority information of the at least one communication task, predecessor task information, and execution count information; The communication tasks in the at least one task queue are executed.

2. The method according to claim 1, wherein the determining, based on central processing unit resources, the number of processor cores for processing at least one communication task of the plurality of cells comprises: Confirm the operating status of the central processor, the number of user connections of the multiple cells and the communication service information of at least two communication formats corresponding to the multiple cells, and confirm the number of processor cores allocated to process at least one communication task of the multiple cells.

3. The method according to claim 2, further comprising: Adjusting the number of processor cores allocated to process at least one communication task of the plurality of cells based on the specifications of the plurality of cells, resources for handling the burst task, and the current operating state of the central processor; Alternatively, the main frequency of the current central processing unit is adjusted.

4. The method according to claim 1, wherein adding the at least one communication task to at least one task queue based on at least one of the number of communication tasks in the task queue, the priority information of the at least one communication task, the predecessor task information, and the execution count information comprises performing the following operations on any one of the at least one communication task: Adding the communication task to the task queue based on at least one of the predecessor task information, priority information, execution times and at least one task queue status of the communication task; in, The predecessor tasks of a communication task are before the communication task; the communication tasks with higher priority are before the communication tasks with lower priority.

5. The method according to claim 4, wherein adding the communication task to the task queue based on at least one of the preceding task information, priority information, execution times and at least one task queue status of the communication task comprises: Determining whether the communication task has a predecessor task based on the predecessor task information; If not present, adding the communication task to the task queue based on the priority of the communication task; If the communication task has a predecessor task, confirm whether the priority of the communication task is valid; if the priority is valid and the task queue is not full, add the communication task to the task queue based on the priority of the communication task; If the priority is valid and the task queue is full, confirm whether the execution count of the communication task is 1; If the execution count of the communication task is 1, the communication task is added to the task queue based on the priority of the communication task.

6. The method according to claim 1, wherein executing the communication task in the at least one task queue comprises: Confirm whether the communication task has a predecessor task; In response to the existence of a predecessor task for the communication task, executing the communication task after executing the predecessor task; In response to the communication task not having a predecessor task and the thread corresponding to the communication task not being suspended, acquiring the communication task; In response to the communication task being valid, the communication task is executed.

7. The method according to claim 6, wherein obtaining the communication task comprises: Obtaining at least one task including the communication task from a highest priority task queue; From the at least one task including the communication task, a configured priority task queue including the communication task is obtained.

8. A data processing device, comprising: A receiving unit, configured to receive at least one communication task of a plurality of cells, wherein the at least one communication task includes at least two communication modes; A resource allocation unit, configured to confirm the number of processor cores for processing at least one communication task of the plurality of cells based on central processor resources; determine the number of threads that can be allocated to the plurality of cells based on at least one of the numbers of processor cores, and determine queue information of the task queue based on the number of threads; A task allocation unit, configured to add the at least one communication task to at least one task queue based on the number of communication tasks in the task queue, the priority information, the predecessor task information and the execution number information of the at least one communication task; An execution unit is used to execute the communication tasks in the at least one task queue.

9. An electronic device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to make a computer execute the method according to any one of claims 1-7.