IP Library Granted Patent US 12675332
Granted Patent B2
US 12675332 · App. 18/171,250 · Granted Jul 7, 2026

Resource scheduling method and server based on idle time point

Inventors: Meng Wang (Beijing, CN); Pengyu Zhang (Bellevue, WA); Yunshan Jia (Beijing, CN); Biyi Li (Beijing, CN)
Assignee: Alibaba (China) Co., Ltd.
G06F9/505G06F9/485G06F9/4881G06F9/4887G06F9/5027G06F9/5038G06F2209/5017G06F2209/5018
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12675332
App. No.
18/171,250
Granted
Jul 7, 2026
Kind
B2
Abstract

A resource scheduling method and a server are provided, the method including: acquiring, at target scheduling time, an idle time point corresponding to respective virtual network element of the multiple virtual network elements, wherein the idle time point corresponds to a time point at which no load task is polled by a worker thread in the virtual network element; determining load status of the multiple virtual network elements based on time differences between the target scheduling time and the idle time point corresponding to respective virtual network element of the multiple virtual network elements; determining computational resource scheduling information of the multiple virtual network elements based on the load status of the multiple virtual network elements; sending the computational resource scheduling information to a kernel of the server to perform, through a schedule-class function in kernel mode, resource scheduling processing corresponding to the computational resource scheduling information.

Claims (62)

1 . A resource scheduling method, implemented by a scheduling component in user mode, wherein the scheduling component is configured in a server comprising a plurality of virtual network elements, and the method comprises:

acquiring, at target scheduling time, a latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements, wherein an idle time point corresponds to a time point at which no load task is polled by a worker thread in the virtual network element, and the latest idle time point is an idle time point from idle time points corresponding to the virtual network element which is closest to the target scheduling time, wherein the target scheduling time is a start time of a current scheduling period, and wherein the scheduling period is determined based on a degree of sensitivity of the virtual network elements to a latency;

determining load status of the plurality of virtual network elements based on time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements;

determining computational resource scheduling information of the plurality of virtual network elements based on the load status of the plurality of virtual network elements;

sending the computational resource scheduling information to a kernel of the server; and

performing, through a schedule-class function in kernel mode, resource scheduling processing corresponding to the computational resource scheduling information.

2 . The method of claim 1 , wherein the acquiring, at the target scheduling time, the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements comprises:

for a target virtual network element among the plurality of virtual network elements, based on a first system call function in the target virtual network element, mapping the first system call function to a second system call function implemented in the scheduling component through a configured instruction, so that the second system call function is called in response to no load task being polled by a worker thread in the target virtual network element; wherein the target virtual network element is any one of the plurality of virtual network elements;

recording, in response to the second system call function being called, the idle time point through the second system call function;

determining, at the target scheduling time, an idle time point closest to the target scheduling time from the recorded idle time point corresponding to the target virtual network element as the latest idle time point.

3 . The method of claim 2 , wherein after recording the idle time point through the second system call function, the method further comprises:

suspending a worker thread generating the idle time point in the target virtual network element, and releasing a computational resource taken up by the worker thread.

4 . The method of claim 2 , wherein the scheduling component comprises a detection program corresponding to respective virtual network element of the plurality of virtual network elements and a scheduling program shared by the plurality of virtual network elements; wherein the second system call function corresponding to the target virtual network element is implemented in a target detection program corresponding to the target virtual network element;

the recording, in response to the second system call function being called, the idle time point through the second system call function comprises:

recording, in response to the second system call function being called, the idle time point through the second system call function in the target detection program, and sending the idle time point to the scheduling program;

the determining, at the target scheduling time, the idle time point closest to the target scheduling time from the recorded idle time point corresponding to the target virtual network element as the latest idle time point, comprises:

determining, at the target scheduling time, through the scheduling program, the idle time point closest to the target scheduling time from the received idle time point corresponding to the target virtual network element as the latest idle time point.

5 . The method of claim 1 , wherein the determining the load status of the plurality of virtual network elements based on the time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements comprises:

for a target virtual network element among the plurality of virtual network elements, if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is smaller than a set threshold, determining that the target virtual network element is in a low-load state;

if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is equal to or larger than the set threshold, determining that the target virtual network element is in a high-load state.

6 . The method of claim 2 , wherein the determining the load status of the plurality of virtual network elements based on the time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements comprises:

for a target virtual network element among the plurality of virtual network elements, if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is smaller than a set threshold, determining that the target virtual network element is in a low-load state;

if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is equal to or larger than the set threshold, determining that the target virtual network element is in a high-load state.

7 . The method of claim 3 , wherein the determining the load status of the plurality of virtual network elements based on the time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements comprises:

for a target virtual network element among the plurality of virtual network elements, if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is smaller than a set threshold, determining that the target virtual network element is in a low-load state;

if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is equal to or larger than the set threshold, determining that the target virtual network element is in a high-load state.

8 . The method of claim 4 , wherein the determining the load status of the plurality of virtual network elements based on the time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements comprises:

for a target virtual network element among the plurality of virtual network elements, if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is smaller than a set threshold, determining that the target virtual network element is in a low-load state;

if the time difference between the target scheduling time and the latest idle time point corresponding to the target virtual network element is equal to or larger than the set threshold, determining that the target virtual network element is in a high-load state.

9 . The method of claim 5 , wherein the method further comprises:

outputting a number of the plurality of virtual network elements, or outputting, based on a number of worker threads allowed to start up in each virtual network element, the number of worker threads corresponding to the plurality of virtual network elements;

receiving the set threshold configured by a user based on the number.

10 . The method of claim 5 , wherein the server comprises at least one third-party application; and wherein the determining the computational resource scheduling information of the plurality of virtual network elements based on the load status of the plurality of virtual network elements comprises:

if the target virtual network element is in the low-load state, determining, from a computational resource currently released by the target virtual network, a set number of a set number of a first computational resource to be reduced, and writing the reduced first computational resource to an idle computational resource of the server;

if the target virtual network element is in the high-load state, determining, from the idle computational resource of the server and a computational resource taken up by the at least one third-party application, a set number of a set number of a second computational resource to be added for the target virtual network element;

the computational resource scheduling information describes computational resource addition or reduction information corresponding to respective virtual network element of the plurality of virtual network elements.

11 . The method of claim 10 , wherein the sever comprises at least one third-party application, and the method further comprises:

determining, from the idle computational resource of the server, a computational resource to be added for the at least one third-party application based on the load of the at least one third-party application; wherein the computational resource scheduling information further describes computational resource addition information for the at least one third-party application.

12 . The method of claim 10 , wherein the server comprises at least one third-party application; wherein the determining, from the idle computational resource of the server and the computational resource taken up by the at least one third-party application, the set number of the second computational resource to be added for the target virtual network element, comprises:

if there exists, among the idle computational resource of the server, a third computational resource released by the target virtual network element at historical scheduling time, determining that the second computational resource added for the target virtual network element comprises the third computational resource;

if the idle computational resource of the server is insufficient to provide the second computational resource, determining the second computational resource from the computational resource taken up by the at least one third-party application.

13 . The method of claim 1 , wherein the plurality of virtual network element are virtual network elements sensitive to the latency.

14 . A server, comprising a scheduling component in user mode, a schedule-class function in kernel mode, a plurality of virtual network element and a plurality of computational resources;

wherein the server further comprises a processor and a memory, the memory stores executable instructions which, when executed by the processor, cause the process to perform operations of:

acquiring, at target scheduling time, a latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements, wherein an idle time point corresponds to a time point at which no load task is polled by a worker thread in the virtual network element, and the latest idle time point is an idle time point from idle time points corresponding to the virtual network element which is closest to the target scheduling time, wherein the target scheduling time is a start time of a current scheduling period, and wherein the scheduling period is determined based on a degree of sensitivity of the virtual network elements to a latency;

determining load status of the plurality of virtual network elements based on time differences between the target scheduling time and the latest idle time point corresponding to respective virtual network element of the plurality of virtual network elements;

determining computational resource scheduling information of the plurality of virtual network elements based on the load status of the plurality of virtual network elements;

sending the computational resource scheduling information to a kernel of the server; and

performing, through the schedule-class function in the kernel mode, resource scheduling processing corresponding to the computational resource scheduling information.

15 . A resource scheduling method implemented by a scheduling component in user mode, wherein the scheduling component is configured in a server comprising a plurality of virtual base stations, and the plurality of virtual base stations comprises a plurality of distributed units; the method comprises:

acquiring, at target scheduling time, a latest idle time point corresponding to respective distributed unit of the plurality of distributed units, wherein an idle time point corresponds to a time point at which no load task is polled by a worker thread in the distributed unit, and the latest idle time point is an idle time point from idle time points corresponding to the virtual network element which is closest to the target scheduling time, wherein the target scheduling time is a start time of a current scheduling period, and wherein the scheduling period is determined based on a degree of sensitivity of the virtual network elements to a latency;

determining load status of the plurality of distributed units based on time differences between the target scheduling time and the latest idle time point corresponding to respective distributed unit of the plurality of distributed units;

determining computational resource scheduling information of the plurality of distributed units based on the load status of the plurality of distributed units;

sending the computational resource scheduling information to a kernel of the server; and

performing, through a schedule-class function in kernel mode, resource scheduling processing corresponding to the computational resource scheduling information.

16 . A resource scheduling method implemented by a scheduling component in user mode, wherein the scheduling component is configured in a server comprising a plurality of virtual base stations, and the plurality of virtual base stations comprise a plurality of distributed units; the method comprises:

based on a correspondence between vehicle terminals and the virtual base stations, storing driving data processing tasks triggered by the vehicle terminals into task queues corresponding to distributed units of corresponding virtual base stations;

acquiring, at target scheduling time, a latest idle time point corresponding to respective distributed unit of the plurality of distributed units, wherein an idle time point corresponds to a time point at which no driving data processing task is polled by a worker thread in the distributed unit from a corresponding task queue, and the latest idle time point is an idle time point from idle time points corresponding to the virtual network element which is closest to the target scheduling time, wherein the target scheduling time is a start time of a current scheduling period, and wherein the scheduling period is determined based on a degree of sensitivity of the virtual network elements to a latency;

determining load status of the plurality of distributed units based on time differences between the target scheduling time and the latest idle time point corresponding to respective distributed unit of the plurality of distributed units;

determining computational resource scheduling information of the multiple distributed units based on the load status of the multiple distributed units;

sending the computational resource scheduling information to a kernel of the server; and

performing, through a schedule-class function in kernel mode, resource scheduling processing corresponding to the computational resource scheduling information, so that the plurality of distributed units process, based on computational resources after the resource scheduling processing, the received driving data processing tasks.