CN116775233A - A task scheduling method and device - Google Patents
A task scheduling method and device Download PDFInfo
- Publication number
- CN116775233A CN116775233A CN202210234437.6A CN202210234437A CN116775233A CN 116775233 A CN116775233 A CN 116775233A CN 202210234437 A CN202210234437 A CN 202210234437A CN 116775233 A CN116775233 A CN 116775233A
- Authority
- CN
- China
- Prior art keywords
- resource
- host
- task
- resources
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013468 resource allocation Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000009499 grossing Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013277 forecasting method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种任务调度方法、装置、电子设备及计算机程序产品,涉及信息技术领域,所述方法包括:获取主机的资源使用情况;预测未来目标时刻的可用主机资源;获取待调度任务,基于主机资源权值集合构建预测模型,并利用预测模型获取待调度任务的所需主机资源占比情况;根据主机资源权值集合计算待调度任务的任务权值;根据所需主机资源占比情况和任务权值,分别计算当前可用主机资源进行资源分配后的第一剩余资源,以及未来时刻可用主机资源进行资源分配后的第二剩余资源;当判断第二剩余资源较大时,根据每一待调度任务的时限要求进行任务调度。本申请能够在保证任务调度结果一致性的同时保证主机资源的均衡使用,有效提高了资源的利用率。
This application provides a task scheduling method, device, electronic equipment and computer program product, which relates to the field of information technology. The method includes: obtaining the resource usage of the host; predicting the available host resources at the future target time; obtaining the tasks to be scheduled, based on The host resource weight set builds a prediction model, and uses the prediction model to obtain the required host resource ratio of the task to be scheduled; calculates the task weight of the task to be scheduled based on the host resource weight set; based on the required host resource ratio and The task weights are calculated respectively to calculate the first remaining resources after resource allocation of currently available host resources and the second remaining resources after resource allocation of available host resources in the future; when it is judged that the second remaining resources are larger, according to each waiting The time limit for scheduling tasks requires task scheduling. This application can ensure the balanced use of host resources while ensuring the consistency of task scheduling results, effectively improving resource utilization.
Description
技术领域Technical field
本申请涉及信息技术领域,具体涉及一种任务调度方法、装置、电子设备及计算机程序产品。This application relates to the field of information technology, and specifically to a task scheduling method, device, electronic equipment and computer program product.
背景技术Background technique
随着服务提供商对其网络进行现代化改造,其工作负载和服务正在从核心网络(位于数据中心内)移到网络边缘,在NFV的分布式任务调度中,需要保证任务调度的一致性,常见的技术方案如基于主机数和任务数的相对均衡方案,基于资源和任务数的综合均衡方案,但此类方案大多基于管理节点和调度代理节点的分布式调度方案来实现,比较流行的如Kubernetes,这类方案需要应用进行适配改造。再如一些提供了任务调度的解决方案,将执行单元和任务的哈希值分配至一致性哈希环上,在一致性哈希环上寻找与任务的哈希值位置最近的n个对应执行单元的哈希值,实现了执行单元与任务之间的灵活匹配,同一个任务可以分配到不同的执行单元,满足一个任务执行多次的要求,但是该任务调度方案未考虑各个主机节点的主机资源,会产生任务启动后主机资源不均衡问题。As service providers modernize their networks, their workloads and services are moving from the core network (located within the data center) to the edge of the network. In the distributed task scheduling of NFV, consistency in task scheduling needs to be ensured. Common Technical solutions include relative balancing solutions based on the number of hosts and tasks, and comprehensive balancing solutions based on the number of resources and tasks. However, most of these solutions are implemented based on distributed scheduling solutions of management nodes and scheduling agent nodes. The more popular ones are Kubernetes. , this type of solution requires application adaptation and transformation. Another example is some solutions that provide task scheduling, which allocate the hash values of execution units and tasks to a consistent hash ring, and find the n corresponding executions closest to the hash value position of the task on the consistent hash ring. The hash value of the unit realizes flexible matching between execution units and tasks. The same task can be assigned to different execution units to meet the requirement of executing a task multiple times. However, this task scheduling scheme does not consider the host of each host node. resources, it will cause the problem of imbalance of host resources after the task is started.
综上,现有技术存在以下缺点:调度任务算法复杂,使用特定hash混合运算随机指定调度任务主机节点或基于开源产品制定封闭的调度策略(如zookeeper、Kubernetes),无法对调度任务调度结果进行预测,从而无法保证主机资源均衡使用。In summary, the existing technology has the following shortcomings: the scheduling task algorithm is complex, using specific hash mixed operations to randomly specify the scheduling task host node or formulating a closed scheduling strategy based on open source products (such as zookeeper, Kubernetes), and the scheduling task scheduling results cannot be predicted. , thus unable to ensure balanced use of host resources.
发明内容Contents of the invention
本申请实施例提供一种任务调度方法、装置、电子设备及计算机程序产品,用以解决上述技术问题,能够保证任务调度结果一致性并能够保证主机资源的均衡使用。Embodiments of the present application provide a task scheduling method, device, electronic equipment and computer program product to solve the above technical problems and ensure the consistency of task scheduling results and the balanced use of host resources.
第一方面,本申请实施例提供一种任务调度方法,包括:In a first aspect, embodiments of the present application provide a task scheduling method, including:
实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;Obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;Predict available host resources at the future target time based on the resource usage and current task running information;
获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;Obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain all the tasks to be scheduled. The proportion of host resources required;
根据所述主机资源权值集合计算所述待调度任务的任务权值;Calculate the task weight of the task to be scheduled according to the host resource weight set;
根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;According to the proportion of required host resources and the task weight, the first remaining resources after resource allocation based on the available host resources at the current time are calculated, and the first remaining resources are calculated based on the available host resources at the future target time. The second remaining resource after resource allocation;
当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。When it is determined that the second remaining resource is greater than the first remaining resource, task scheduling is performed according to the time limit requirement of each task to be scheduled.
在一个实施例中,所述根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源,包括:In one embodiment, the prediction of available host resources at a future target time based on the resource usage and current task running information includes:
根据所述当前任务运行信息筛选出在所述未来目标时刻之前结束的任务,并记录所述任务的资源占用情况;Screen out tasks that end before the future target time according to the current task running information, and record the resource occupancy of the tasks;
根据所述资源占用情况以及所述资源使用情况进行预测得到所述未来目标时刻的可用主机资源。Prediction is made based on the resource occupancy situation and the resource usage situation to obtain the available host resources at the future target time.
在一个实施例中,所述主机资源权值集合的获取方式包括:In one embodiment, the method of obtaining the host resource weight set includes:
获取预设历史时间范围内的历史任务的观察值,以及与所述历史任务对应的各主机资源使用率,并构建所述各主机资源使用率与所述历史任务的映射矩阵;Obtain the observation values of historical tasks within a preset historical time range, as well as the resource usage of each host corresponding to the historical task, and construct a mapping matrix between the resource usage of each host and the historical task;
基于所述映射矩阵,利用预设的指数平滑算法进行计算得到当前时刻各主机资源预测值;Based on the mapping matrix, use the preset exponential smoothing algorithm to calculate and obtain the predicted value of each host resource at the current moment;
基于所述各主机资源预测值以及预设的各主机资源权重值进行加权平均计算得到所述主机资源权值集合。The host resource weight set is obtained by performing a weighted average calculation based on the predicted value of each host resource and the preset weight value of each host resource.
在一个实施例中,所述根据所述主机资源权值集合计算所述待调度任务的任务权值,包括:In one embodiment, calculating the task weight of the to-be-scheduled task based on the host resource weight set includes:
利用预设的二级算法对所述主机资源权值集合中的各个主机资源权值分别进行计算得到各个主机的二次权值;Using a preset secondary algorithm to calculate each host resource weight in the host resource weight set to obtain the secondary weight of each host;
将所述各个主机的二次权值进行累加得到集群最大权值;Accumulate the secondary weights of each host to obtain the maximum weight of the cluster;
结合所述集群最大权值以及主机获取到的随机结果进行计算得到所述待调度任务的任务权值。The task weight of the task to be scheduled is calculated by combining the maximum weight of the cluster and the random result obtained by the host.
在一个实施例中,所述当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度,具体包括:In one embodiment, when it is determined that the second remaining resource is greater than the first remaining resource, task scheduling is performed according to the time limit requirement of each task to be scheduled, which specifically includes:
当判断所述第二剩余资源中的第一优先级资源大于所述第一剩余资源中的第一优先级资源时,根据每一所述待调度任务的时限要求进行任务调度。When it is determined that the first priority resource among the second remaining resources is greater than the first priority resource among the first remaining resources, task scheduling is performed according to the time limit requirement of each to-be-scheduled task.
在一个实施例中,在获取所述主机资源权值之前,还包括:In one embodiment, before obtaining the host resource weight, the method further includes:
根据所述未来目标时刻的可用主机资源对所述各主机资源权重值进行适应性调整。The weight value of each host resource is adaptively adjusted according to the available host resources at the future target time.
在一个实施例中,所述主机的资源类型包括MEM资源、CPU资源、内存资源、IO资源、文件句柄资源和文件描述符资源中的一种或多种。In one embodiment, the resource type of the host includes one or more of MEM resources, CPU resources, memory resources, IO resources, file handle resources and file descriptor resources.
第二方面,本申请实施例提供一种任务调度装置,包括:In a second aspect, embodiments of the present application provide a task scheduling device, including:
数据获取模块,用于实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;The data acquisition module is used to obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
资源预测模块,用于根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;A resource prediction module, used to predict available host resources at a future target time based on the resource usage and current task running information;
需求预测模块,用于获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;The demand prediction module is used to obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each Describe the proportion of host resources required for tasks to be scheduled;
权值计算模块,用于根据所述主机资源权值集合计算所述待调度任务的任务权值;A weight calculation module, configured to calculate the task weight of the to-be-scheduled task according to the host resource weight set;
资源计算模块,用于根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;A resource calculation module, configured to calculate the first remaining resources after resource allocation based on the available host resources at the current moment and the future target based on the required host resource proportion and the task weight respectively. The second remaining resources after resource allocation based on the available host resources at the moment;
任务调度模块,用于当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。A task scheduling module, configured to perform task scheduling according to the time limit requirement of each task to be scheduled when it is determined that the second remaining resource is greater than the first remaining resource.
第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的任务调度方法的步骤。In a third aspect, embodiments of the present application provide an electronic device, including a processor and a memory storing a computer program. When the processor executes the program, the steps of the task scheduling method described in the first aspect are implemented.
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的任务调度方法的步骤。In a fourth aspect, embodiments of the present application provide a computer program product, including a computer program that implements the steps of the task scheduling method described in the first aspect when executed by a processor.
本申请实施例提供的任务调度方法、装置、电子设备及计算机程序产品,通过根据主机实时上报的资源以及任务运行信息预测未来目标时刻的可用资源,同时预测得到待调度任务的所需资源,再结合计算所得的任务权值进行资源分配并预测未来时间的剩余资源情况,继而通过剩余资源情况以及待调度任务的时限要求进行任务调度,从而能够在保证任务调度结果一致性的同时保证主机资源的均衡使用,有效提高了资源的利用率。The task scheduling methods, devices, electronic equipment and computer program products provided by the embodiments of the present application predict the available resources at the future target time based on the resources and task running information reported by the host in real time, and at the same time predict the required resources for the tasks to be scheduled, and then Combine the calculated task weights to allocate resources and predict the remaining resources in the future, and then schedule the tasks based on the remaining resources and the time limit requirements of the tasks to be scheduled, thus ensuring the consistency of the task scheduling results while ensuring the availability of host resources. Balanced use effectively improves resource utilization.
附图说明Description of drawings
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions in this application or the prior art more clearly, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description are of the present invention. For some embodiments of the application, those of ordinary skill in the art can also obtain other drawings based on these drawings without exerting creative efforts.
图1是本申请实施例提供的任务调度方法的流程示意图之一;Figure 1 is one of the flow diagrams of the task scheduling method provided by the embodiment of the present application;
图2是本申请实施例提供的任务调度方法的流程示意图之二;Figure 2 is the second schematic flowchart of the task scheduling method provided by the embodiment of the present application;
图3是本申请实施例提供的任务调度装置的结构示意图;Figure 3 is a schematic structural diagram of a task scheduling device provided by an embodiment of the present application;
图4是本申请实施例提供的电子设备的结构示意图。Figure 4 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are part of this application. Examples, not all examples. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
图1为任务调度方法的流程示意图。参照图1,本申请实施例提供一种任务调度方法,可以包括步骤:Figure 1 is a schematic flow chart of the task scheduling method. Referring to Figure 1, an embodiment of the present application provides a task scheduling method, which may include the steps:
S1、实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源。所述主机的资源类型包括MEM资源、CPU资源、内存资源、IO资源、文件句柄资源和文件描述符资源中的一种或多种。S1. Obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment. The resource type of the host includes one or more of MEM resources, CPU resources, memory resources, IO resources, file handle resources and file descriptor resources.
可以理解的是,分布式系统中各个主机可以按照分钟为单位时间间隔定时上报资源使用情况,包括主机IP、CPU使用率、内存使用率、IO使用率、文件句柄使用率等信息,这些数据可以存储在数据库,每分钟采集一条数据。It is understandable that each host in the distributed system can regularly report resource usage at minute intervals, including host IP, CPU usage, memory usage, IO usage, file handle usage and other information. These data can Stored in the database, one piece of data is collected every minute.
S2、根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源。S2. Predict available host resources at a future target time based on the resource usage and current task running information.
可以理解的是,根据实时获取的资源使用情况,再结合正在运行的任务的运行信息,可以预测未来目标时刻的可用主机资源,例如每个任务包括开始时间、当前资源占用比例情况、运行周期和预计结束时间等信息。It is understandable that based on the resource usage obtained in real time and combined with the running information of the running tasks, the available host resources at the future target time can be predicted. For example, each task includes the start time, current resource occupancy ratio, running cycle and Estimated end time and other information.
S3、获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况。S3. Obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each of the to-be-scheduled tasks. The proportion of required host resources.
需要说明的是,对于未来时段内的所有待调度任务,利用根据预先获取的主机资源权集合构建的预测模型,可以对每一待调度任务的所需各资源占比。It should be noted that for all to-be-scheduled tasks in the future period, the proportion of resources required for each to-be-scheduled task can be calculated using a prediction model constructed based on the pre-obtained set of host resource rights.
S4、根据所述主机资源权值集合计算所述待调度任务的任务权值。S4. Calculate the task weight of the task to be scheduled according to the host resource weight set.
需要说明的是,根据主机资源权值集合,利用预设的算法模型可以进一步求取得到调度任务的任务权值,由于各个主机采用相同的计算模型,每个任务在每个主机都能获取到相同的任务权值。It should be noted that according to the host resource weight set, the preset algorithm model can be used to further obtain the task weight of the scheduled task. Since each host uses the same computing model, each task can be obtained on each host. Same task weight.
S5、根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源。S5. According to the proportion of required host resources and the task weight, respectively calculate the first remaining resources after resource allocation based on the available host resources at the current time, and the available hosts based on the future target time. The second remaining resource after resource allocation.
需要说明的是,基于当前时刻的可用主机资源,根据所需主机资源占比情况和任务权值对多个待调度任务进行主机资源分配,可以计算得到第一剩余资源,同理,基于未来目标时刻的可用主机资源可计算得到第二剩余资源。It should be noted that based on the available host resources at the current moment, the host resources are allocated to multiple to-be-scheduled tasks according to the required host resource proportions and task weights, and the first remaining resources can be calculated. Similarly, based on future goals The available host resources at the moment can be calculated to obtain the second remaining resources.
S6、当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。S6. When it is determined that the second remaining resource is greater than the first remaining resource, perform task scheduling according to the time limit requirement of each task to be scheduled.
比较第一剩余资源和第二剩余资源的大小,如第二剩余资源较大,则判断待调度任务的紧急程度,若某个或某些待调度可以承受相应的时延,则可以采用基于未来目标时刻的可用主机资源的分配方式,对多个待调度任务进行资源分配,并根据资源分配后的任务进行调度。Compare the size of the first remaining resource and the second remaining resource. If the second remaining resource is larger, determine the urgency of the task to be scheduled. If one or some of the tasks to be scheduled can withstand the corresponding delay, the future-based task can be used. The allocation method of available host resources at the target time is used to allocate resources to multiple tasks to be scheduled, and schedule the tasks according to the resource allocation.
本申请实施例提供的任务调度方法,通过根据主机实时上报的资源以及任务运行信息预测未来目标时刻的可用资源,同时预测得到待调度任务的所需资源,再结合计算所得的任务权值进行资源分配并预测未来时间的剩余资源情况,继而通过剩余资源情况以及待调度任务的时限要求进行任务调度,从而能够在保证任务调度结果一致性的同时保证主机资源的均衡使用,有效提高了资源的利用率。The task scheduling method provided by the embodiment of the present application predicts the available resources at the future target time based on the resources reported by the host in real time and the task running information, and at the same time predicts the resources required for the tasks to be scheduled, and then combines the calculated task weights to calculate the resources. Allocate and predict the remaining resources in the future, and then perform task scheduling based on the remaining resources and the time limit requirements of the tasks to be scheduled. This can ensure the consistency of task scheduling results while ensuring the balanced use of host resources, effectively improving resource utilization. Rate.
在一个实施例中,步骤S2具体可以包括:In one embodiment, step S2 may specifically include:
根据所述当前任务运行信息筛选出在所述未来目标时刻之前结束的任务,并记录所述任务的资源占用情况;Screen out tasks that end before the future target time according to the current task running information, and record the resource occupancy of the tasks;
根据所述资源占用情况以及所述资源使用情况进行预测得到所述未来目标时刻的可用主机资源。Prediction is made based on the resource occupancy situation and the resource usage situation to obtain the available host resources at the future target time.
需要说明的是,根据当前正在运行的任务的运行信息,可以识别并筛选出在未来目标时刻之前结束的任务,根据这些任务的资源占用比例情况,可以计算未来目标时刻的可用主机资源。It should be noted that, based on the running information of currently running tasks, tasks that end before the future target time can be identified and filtered out, and based on the resource occupancy ratio of these tasks, the available host resources at the future target time can be calculated.
本申请实施例提供的任务调度方法,通过预测未来目标时刻的可用主机资源,可以进一步预测未来目标时刻的调度结果,进而根据调度结果进行资源分配和任务调度,有效提高了资源的利用率。The task scheduling method provided by the embodiments of this application can further predict the scheduling results at the future target time by predicting the available host resources at the future target time, and then perform resource allocation and task scheduling based on the scheduling results, effectively improving resource utilization.
在一个实施例中,所述主机资源权值集合的获取方式可以包括:In one embodiment, the acquisition method of the host resource weight set may include:
获取预设历史时间范围内的历史任务的观察值,以及与所述历史任务对应的各主机资源使用率,并构建所述各主机资源使用率与所述历史任务的映射矩阵;Obtain the observation values of historical tasks within a preset historical time range, as well as the resource usage of each host corresponding to the historical task, and construct a mapping matrix between the resource usage of each host and the historical task;
基于所述映射矩阵,利用预设的指数平滑算法进行计算得到当前时刻各主机资源预测值;Based on the mapping matrix, use the preset exponential smoothing algorithm to calculate and obtain the predicted value of each host resource at the current moment;
基于所述各主机资源预测值以及预设的各主机资源权重值进行加权平均计算得到所述主机资源权值集合。The host resource weight set is obtained by performing a weighted average calculation based on the predicted value of each host resource and the preset weight value of each host resource.
需要说明的是,在获取主机资源权值集合时,首先根据历史任务的观察值以及资源使用情况构建映射矩阵,再利用指数平滑算法预测当前时刻的资源预测值,再采用加权平均算法即可计算得到主机集合中所有主机的资源权值,组成主机资源权值集合。It should be noted that when obtaining the host resource weight set, first construct a mapping matrix based on the observed values of historical tasks and resource usage, then use the exponential smoothing algorithm to predict the resource prediction value at the current moment, and then use the weighted average algorithm to calculate Obtain the resource weights of all hosts in the host set to form a host resource weight set.
在一个实施例中,步骤S4具体可以包括:In one embodiment, step S4 may specifically include:
利用预设的二级算法对所述主机资源权值集合中的各个主机资源权值分别进行计算得到各个主机的二次权值;Using a preset secondary algorithm to calculate each host resource weight in the host resource weight set to obtain the secondary weight of each host;
将所述各个主机的二次权值进行累加得到集群最大权值;Accumulate the secondary weights of each host to obtain the maximum weight of the cluster;
结合所述集群最大权值以及主机获取到的随机结果进行计算得到所述待调度任务的任务权值。The task weight of the task to be scheduled is calculated by combining the maximum weight of the cluster and the random result obtained by the host.
需要说明的是,为了将各个主机资源权值按照百分制进行比例运算,使得主机资源权值集合的各个值变得较为集中,可以利用二级算法对主机资源权值集合的值进行计算,获得各个主机的二次权值;将各个二次权值累加后得到集群最大权值,再基于主机的随机种子进行随机结果运算,结合集群最大权值以及相同的随机结果,可以得到每个主机对于同一待调度任务的相同的任务权值。It should be noted that in order to calculate the weights of each host resource in proportion according to the percentage system so that the values of the host resource weight set become more concentrated, a secondary algorithm can be used to calculate the values of the host resource weight set to obtain each value. The quadratic weight of the host; the maximum weight of the cluster is obtained by accumulating each quadratic weight, and then the random result calculation is performed based on the random seed of the host. Combining the maximum weight of the cluster and the same random result, we can get the weight of each host for the same The same task weight of the tasks to be scheduled.
本申请实施例提供的任务调度方法,通过采用二级算法对主机资源权值进行运算得到二次权值,确保了权值集合的集中度,防止了主机资源权值过大或过小造成的算法异常,有效提高了资源预测的可靠性。The task scheduling method provided by the embodiment of the present application uses a secondary algorithm to calculate the host resource weight to obtain the secondary weight, ensuring the concentration of the weight set and preventing the host resource weight from being too large or too small. The algorithm is abnormal and effectively improves the reliability of resource prediction.
在一个实施例中,所述当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度,具体包括:In one embodiment, when it is determined that the second remaining resource is greater than the first remaining resource, task scheduling is performed according to the time limit requirement of each task to be scheduled, which specifically includes:
当判断所述第二剩余资源中的第一优先级资源大于所述第一剩余资源中的第一优先级资源时,根据每一所述待调度任务的时限要求进行任务调度。When it is determined that the first priority resource among the second remaining resources is greater than the first priority resource among the first remaining resources, task scheduling is performed according to the time limit requirement of each to-be-scheduled task.
需要说明的是,在对比第二剩余资源和第一剩余资源的大小时,可以将资源进行分级对比,例如将CPU、MEN等执行任务必需的资源设置为第一优先级,对于IO使用率等影响任务执行速度的资源设置为第二优先级;在对比大小时,先比较第一优先级的资源的大小,若第一优先级资源大小相当时,再比较第二优先级资源的大小。也可以将第一优先级资源以及第二优先级资源进行加权求和后进行大小比较,例如对于第一剩余资源,将其中第一优先级资源和第二优先级资源按2:1的比例进行加权求和作为第一剩余资源的比对值,同理求得第二剩余资源的比对值,再将第一剩余资源的比对值和第二剩余资源的比对值进行大小比较。It should be noted that when comparing the sizes of the second remaining resources and the first remaining resources, the resources can be compared hierarchically. For example, resources necessary for executing tasks such as CPU and MEN are set as the first priority. For IO usage, etc. Resources that affect task execution speed are set to the second priority; when comparing sizes, first compare the size of the first priority resource. If the size of the first priority resource is equal, compare the size of the second priority resource. The first priority resources and the second priority resources can also be weighted and then compared in size. For example, for the first remaining resources, the first priority resources and the second priority resources can be compared in a ratio of 2:1. The weighted sum is used as the comparison value of the first remaining resource, and similarly the comparison value of the second remaining resource is obtained, and then the comparison value of the first remaining resource and the comparison value of the second remaining resource are compared.
本申请实施例提供的任务调度方法,通过划分第一优先级和第二优先级资源的方式对第一剩余资源和第二剩余资源进行大小比较,从而能够获得更准确更贴合实际场景的比较结果,进而有效提高了资源预测和任务调度的可靠性和准确性,进一步提高了资源利用率。The task scheduling method provided by the embodiment of the present application compares the sizes of the first remaining resources and the second remaining resources by dividing the first priority and the second priority resources, so as to obtain a more accurate comparison that is more suitable for the actual scenario. As a result, the reliability and accuracy of resource prediction and task scheduling are effectively improved, and resource utilization is further improved.
在一个实施例中,在获取所述主机资源权值之前,还包括:In one embodiment, before obtaining the host resource weight, the method further includes:
根据所述未来目标时刻的可用主机资源对所述各主机资源权重值进行适应性调整。The weight value of each host resource is adaptively adjusted according to the available host resources at the future target time.
在本申请实施例中,在计算主机资源权值之前,先对用于计算主机资源权值的主机资源权重值进行适应调整,调整的依据为预测得到的未来目标时刻的可用主机资源,例如若当前CPU和MEM资源很丰富,但IO资源较少,此时预测各主机的资源权值时,可适当增加IO资源的权重值,以使预测值得到的资源权值能够满足调用较少的IO资源的要求。In the embodiment of the present application, before calculating the host resource weight, the host resource weight value used to calculate the host resource weight is first adapted and adjusted. The adjustment is based on the predicted available host resources at the future target time. For example, if Currently, CPU and MEM resources are abundant, but IO resources are few. When predicting the resource weights of each host, the weights of IO resources can be appropriately increased so that the resource weights obtained from the predicted values can satisfy the requirement of less IO calls. Resource requirements.
本申请实施例提供的任务调度方法,有效提高了后续主机资源权值的预测精度,避免出现某一调度因子的预测值低于实际使用值导致的任务执行失败,进而有效提高了资源预测和任务调度的可靠性和准确性,进一步提高了资源利用率。The task scheduling method provided by the embodiment of the present application effectively improves the prediction accuracy of subsequent host resource weights, avoids task execution failures caused by the predicted value of a certain scheduling factor being lower than the actual usage value, and thereby effectively improves resource prediction and task performance. The reliability and accuracy of scheduling further improves resource utilization.
请参见图2,基于上述方案,为便于更好的理解本申请实施例提供的任务调度方法,以下进行具体说明:Please refer to Figure 2. Based on the above solution, in order to better understand the task scheduling method provided by the embodiment of the present application, the following is a detailed description:
本申请实施例主要提供一种基于资源优先一致性算法的任务调度方法,用于解决分布式系统中各个主机节点在互不通信的基础上如何保证任务调度结果一致性的问题,以及如何保证充分利用主机资源的问题,适用于单个或多个任务在某一个或若干主机节点启动的场景。The embodiments of this application mainly provide a task scheduling method based on the resource priority consistency algorithm, which is used to solve the problem of how to ensure the consistency of task scheduling results on the basis of non-communication between host nodes in a distributed system, and how to ensure sufficient The problem of utilizing host resources applies to scenarios where a single or multiple tasks are started on one or several host nodes.
本申请实施例主要包括如下步骤:The embodiment of this application mainly includes the following steps:
步骤A101、根据主机资源计算各个主机的资源权值;Step A101: Calculate the resource weight of each host based on the host resources;
步骤A102、根据调度任务资源因子预测未来一段时间内各主机可能释放的资源;Step A102: Predict the resources that each host may release in the future based on the scheduling task resource factors;
步骤A103、基于指数平滑算法预测未来一段时间内待调度的任务所需的主机资源;Step A103: Predict the host resources required for tasks to be scheduled in the future based on the exponential smoothing algorithm;
步骤A104、根据基础资源权值计算格式化计算出算法的比例缩减后资源权值;Step A104: Calculate the algorithm's ratio-reduced resource weight according to the basic resource weight calculation format;
步骤A105、计算出算法的最大资源权值;Step A105: Calculate the maximum resource weight of the algorithm;
步骤A106、根据调度任务最大权值和调度任务名计算出当前任务的调度任务权值;Step A106: Calculate the scheduling task weight of the current task based on the maximum weight of the scheduling task and the name of the scheduling task;
步骤A107、基于未来一段时间内的可用主机资源和各待调度任务所需的主机资源和各待调度任务的时限要求,对任务进行调度。Step A107: Schedule tasks based on the available host resources in a future period, the host resources required by each task to be scheduled, and the time limit requirements of each task to be scheduled.
基于上述方案,以下列举具体实施过程进行详细说明:Based on the above solution, the specific implementation process is listed below for detailed description:
步骤S101、定期进行资源上报。Step S101: Regularly report resources.
可以在各个分布式系统主机部署调度单元,按照分钟来定时上报主机的IP、CPU使用率、内存使用率、IO使用率、文件句柄使用率等信息(这些数据可以存储在数据库,每分钟一条数据)。Scheduling units can be deployed on each distributed system host to regularly report the host's IP, CPU usage, memory usage, IO usage, file handle usage and other information according to minutes (these data can be stored in the database, one piece of data per minute ).
步骤S102、预测未来t1时段内可能释放的各主机资源,得到当前时间+t1时间点的可用主机资源。预测方法具体可包括:Step S102: Predict the host resources that may be released in the future t1 period, and obtain the available host resources at the current time + t1 time point. Forecasting methods may specifically include:
步骤S1021、通过融合调度模块获取当前t时刻的主机资源使用率St和当前正在执行的任务的运行结果信息,运行结果信息包括关键字、运行后资源占用比例、运行周期等(存储在数据库,每个调度任务一条,运行资源占比可配置MEM、CPU、IO等)。本实施例按照运行关键字获取已经运行的调度程序的开始时间、当前资源占用比例和预计结束时间等信息。Step S1021: Obtain the host resource usage S t at the current time t and the running result information of the currently executing task through the fusion scheduling module. The running result information includes keywords, resource occupation ratio after running, running cycle, etc. (stored in the database, There is one scheduling task for each, and the proportion of running resources can be configured such as MEM, CPU, IO, etc.). This embodiment obtains information such as the start time, current resource occupancy ratio, and expected end time of the running scheduler according to the running keyword.
步骤S1022、筛选出当前正在执行的任务中,将在未来t1时间内结束的任务,将这些任务当前资源占用比例记为Ci,j,其中,i代表资源类型,包括CPU使用率、内存使用率、IO使用率、文件句柄使用率等,j代表任务编号。Step S1022: Filter out the tasks that are currently being executed and will end in the future t1 time, and record the current resource occupancy ratio of these tasks as C i,j , where i represents the resource type, including CPU usage and memory usage. rate, IO usage, file handle usage, etc., j represents the task number.
步骤S1023、利用公式预测t+t1时刻的各主机资源使用率,其中Si,t为当前t时刻第i类主机资源的使用率,Si,t+t1为第t+t1时刻第i类主机资源的使用率。Step S1023, using the formula Predict the resource utilization rate of each host at time t+t1, where S i,t is the utilization rate of the i-th host resource at the current time t, and S i,t+t1 is the utilization rate of the i-th host resource at time t+t1. .
以MEM资源选举为例:当前主机MEM使用率已经达到75%,当前调度模块所需资源占用比例中MEM为15%,如当前调度模块启动后主机MEM将达到90%,超过安全设定的85%,但是根据算法预测在未来5分钟,原有调度任务运行结束后,主机会释放20%的MEM使用率,则我们认定当前主机可以调度此模块,为保证不出现操作系统基于安全保护强杀高MEM使用率进程,要求当前主机资源使用率+调度后占用资源使用率大于90%时,当前主机不可以调度此任务。Take the MEM resource election as an example: the current host MEM usage has reached 75%, and the current resource occupancy ratio required by the scheduling module is 15%. For example, after the current scheduling module is started, the host MEM will reach 90%, exceeding the safety setting of 85 %, but according to the algorithm prediction, in the next 5 minutes, after the original scheduling task ends, the host will release 20% of the MEM usage, then we determine that the current host can schedule this module to ensure that the operating system does not force killing based on security protection. A process with high MEM usage requires that when the resource usage of the current host + the resource usage after scheduling is greater than 90%, the current host cannot schedule this task.
步骤S103、获取未来t1时间段内所有待调度任务,计算任务所需主机资源占比。Step S103: Obtain all tasks to be scheduled in the future t1 time period, and calculate the proportion of host resources required by the tasks.
完成资源上报后进行任务调度,将所需调度的任务名和任务编号传递给计算模块,根据任务名和任务编号预测待调度任务所需的各类主机资源占比信息,得到各类主机资源的调度因子(存储在数据库,因子个数最好不能超过9个,本申请实施例中配置为CPU、MEM、IO、FD这4个,具体的因子个数可通过数据库配置进行添加和删除,每一条数据记录一个资源因子,根据资源因子重要程度配置,数值越大标识比重越大,且资源因子的数值可根据当前可用资源的分布情况实时调整)。After completing the resource reporting, perform task scheduling, pass the task name and task number to be scheduled to the calculation module, predict the proportion information of various host resources required for the task to be scheduled based on the task name and task number, and obtain the scheduling factors of various host resources. (Stored in the database, the number of factors should not exceed 9. In the embodiment of this application, the configuration is CPU, MEM, IO, and FD. The specific number of factors can be added and deleted through the database configuration. Each piece of data Record a resource factor and configure it according to the importance of the resource factor. The larger the value, the greater the identification proportion, and the value of the resource factor can be adjusted in real time according to the distribution of currently available resources).
根据任务名和任务编号预测待调度任务所需的各类主机资源占比信息,具体包括:Predict the proportion of various host resources required for tasks to be scheduled based on the task name and task number, including:
步骤S1031、获取历史任务信息,基于神经网络算法构建通过历史任务信息预测各资源使用占比的模型。Step S1031: Obtain historical task information, and build a model based on the neural network algorithm to predict the usage proportion of each resource based on the historical task information.
其中,神经网络算法可以是指数平滑算法,构建预测模型的具体方法为:Among them, the neural network algorithm can be an exponential smoothing algorithm, and the specific method of building a prediction model is:
获取一定历史时期内的任务名、任务编号、主机资源信息等多个观察值;获取每一任务对应的各主机资源使用量,计算得出各资源的实际使用率;构建观察值和资源使用率的映射矩阵;Obtain multiple observation values such as task name, task number, and host resource information within a certain historical period; obtain the usage of each host resource corresponding to each task, and calculate the actual usage rate of each resource; construct observation values and resource usage rate the mapping matrix;
使用机器学习(本申请实施例使用指数平滑算法来实现智能预测)预测主机集合中所有主机的资源权值A;按照近10分钟上报的10条资源信息进行计算,数学计算公式为St=a*yt+(1-a)*St-1,其中a为预测算法一次指数平滑值,本实施例中可设置为0.5,yt为t时刻资源上报使用率,St-1为前一时刻的预测值,依次预测出在当前时刻资源的预测值记为CPUt,MEMt,IOt,FDt,采用加权平均算法得到主机资源权值,通过公式:Use machine learning (the embodiment of this application uses exponential smoothing algorithm to achieve intelligent prediction) to predict the resource weight A of all hosts in the host set; calculate based on 10 pieces of resource information reported in the past 10 minutes, the mathematical calculation formula is S t =a *y t +(1-a)*S t-1 , where a is the first-order exponential smoothing value of the prediction algorithm, which can be set to 0.5 in this embodiment, y t is the reported resource usage rate at time t, and S t-1 is the previous The predicted value at a moment, the predicted value of the resource at the current moment is sequentially predicted as CPU t , MEM t , IO t , FD t , and the weighted average algorithm is used to obtain the host resource weight through the formula:
A=(CPUt*CPUsa2+MEMt*MEMsa2+IOt*IOsa2+FDt*FDsa2)/(CPUsa2+MEMsa2+IOsa2+FDsa2),计算出各个主机的资源权值A1~Am,进而构建得到预测模型。其中,CPUsa2、MEMsa2、IOsa2和FDsa2是各资源的权重值,该权重值可根据步骤S102中预测得到的未来t1时刻的各类资源的使用率情况进行实时调整,例如若当前CPU和MEM资源很丰富,但IO资源较少,此时预测各主机的资源权值时,可适当增加IO资源的权重值,以使预测值得到的资源权值能够满足调用较少的IO资源的要求。A=(CPU t *CPU sa2 +MEM t *MEM sa2 +IO t *IO sa2 +FD t *FD sa2 )/(CPU sa2 +MEM sa2 +IO sa2 +FD sa2 ), calculate the resource weight of each host A1~Am, and then construct a prediction model. Among them, CPU sa2 , MEM sa2 , IO sa2 and FD sa2 are the weight values of each resource. The weight values can be adjusted in real time according to the usage of various resources at time t1 in the future predicted in step S102. For example, if the current CPU and MEM resources are abundant, but IO resources are few. At this time, when predicting the resource weight of each host, the weight of IO resources can be appropriately increased so that the resource weight obtained by the predicted value can meet the demand of calling fewer IO resources. Require.
步骤S1032、基于上述预测模型预测得到待调度任务所需各资源占比。Step S1032: Predict and obtain the proportion of each resource required for the task to be scheduled based on the above prediction model.
步骤S104:格式化集群主机权值B。Step S104: Format cluster host weight B.
对前面步骤中得到的各个主机的资源权值A按照第二级算法获取各个主机的二次权值B1~Bm,取值算法按照归一算法进行计算,数学计算公式为其中Ai为对应的A1~Am的值,Ai为当前归一元素;For the resource weight value A of each host obtained in the previous step, the secondary weight value B1~Bm of each host is obtained according to the second-level algorithm. The value algorithm is calculated according to the normalization algorithm. The mathematical calculation formula is: Among them, Ai is the corresponding value of A1~Am, and Ai is the current normalized element;
此处增加二次权值为了将原有的A1~Am数据按照百分制进行比例运算,保证权值B都在0到100之间,如果不增加二次权值算法,会导致第一次权值A里面的值会变得比较离散,例如A权值为20、80或100等,使用二次权值算法将B的值为10、40或50,防止权值A过大或者过小造成算法异常。The secondary weight is added here in order to proportion the original A1 ~ Am data according to the percentage system and ensure that the weight B is between 0 and 100. If the secondary weight algorithm is not added, the first weight will be The value in A will become more discrete. For example, the weight of A is 20, 80, or 100. Use the quadratic weight algorithm to change the value of B to 10, 40, or 50 to prevent the weight A from being too large or too small. abnormal.
步骤S105:获取集群最大权值C。Step S105: Obtain the maximum weight C of the cluster.
将前面步骤中的B1至Bm的值累加得到集群最大权值C。The values from B1 to Bm in the previous steps are accumulated to obtain the cluster maximum weight C.
步骤S106:获取任务权值D。Step S106: Obtain task weight D.
首先获取主机的随机种子,随机种子采用调度时间的上一个分钟时间戳、任务名和任务编号进行随机运算,将时间戳、任务名和任务编号的ascii码值转化为对应的数字,可以采用bkdrhash算法,任务名和任务编号由融合调度模块传入,由于各个主机的随机种子相同,所以各个主机获取的随机结果相同,得到随机结果D1后,按照算法D=C*D1/(double)(RAND_MAX)获取随机任务权值D,其中D1=rand(atoi(time_stamp)+to_number(应用名+任务编号)),to_number算法可以使用bkdrhash算法,atoi()为把字符串转换成整型数的一个函数。至此每个任务在每个主机都获取到同一个计算任务权值D。First, obtain the random seed of the host. The random seed uses the timestamp of the last minute of the scheduling time, task name and task number for random operation. The ASCII code value of the timestamp, task name and task number is converted into the corresponding number. The bkdrhash algorithm can be used. The task name and task number are passed in from the fusion scheduling module. Since the random seeds of each host are the same, the random results obtained by each host are the same. After obtaining the random result D1, the random result is obtained according to the algorithm D=C*D1/(double)(RAND_MAX) Task weight D, where D1=rand(atoi(time_stamp)+to_number(application name+task number)), the to_number algorithm can use the bkdrhash algorithm, and atoi() is a function that converts a string into an integer. So far, each task has obtained the same computing task weight D on each host.
步骤S107:任务筛选。Step S107: Task screening.
进行任务筛选时具体包括步骤:The specific steps to perform task screening include:
S1071:基于当前时刻可用的主机资源,为所述多个待调度任务分配主机资源,并计算任务分配后的剩余资源数S1;S1071: Based on the host resources available at the current moment, allocate host resources to the multiple to-be-scheduled tasks, and calculate the number of remaining resources after task allocation S1;
S1072:基于预测的t1时刻可用主机资源,为所述多个待调度任务分配主机资源,并计算任务分配后的剩余资源数S2。此时仅考虑如何实现多个任务资源配置的最优化,不考虑各任务的执行顺序;S1072: Based on the predicted available host resources at time t1, allocate host resources to the multiple to-be-scheduled tasks, and calculate the number of remaining resources after task allocation S2. At this time, only how to optimize the resource configuration of multiple tasks is considered, and the execution order of each task is not considered;
S1073:比较S1和S2,若S2>S1,则判断队列中的待调度任务的紧急程度,若某个或某些需要被调整执行顺序的任务可以承受t1的时延,则采用基于预测的t1时刻的可用主机资源进行资源分配的方式,对多个待调度任务进行资源分配。S1073: Compare S1 and S2. If S2>S1, determine the urgency of the tasks to be scheduled in the queue. If one or some tasks that need to be adjusted in execution order can withstand the delay of t1, use the prediction-based t1 Allocate resources to multiple tasks to be scheduled based on available host resources at all times.
在进行S1和S2的比较时,可以将资源分级,例如对于CPU、MEN等执行任务必需的资源设置为第一优先级,对于IO使用率等影响任务执行速度的资源设置为第二优先级,首先比较具有第一优先级的各类资源的大小,然后比较具有第二优先级的各类资源的大小。When comparing S1 and S2, you can classify resources. For example, resources necessary for task execution such as CPU and MEN are set as the first priority, and resources that affect task execution speed such as IO usage are set as the second priority. First compare the sizes of various types of resources with the first priority, and then compare the sizes of various types of resources with the second priority.
S1074:对进行了资源分配的任务进行调度。S1074: Schedule tasks for which resources have been allocated.
需要说明的是,本申请实施例提供了分布式主机的一致性算法,也兼顾了在分布式模式主机资源的优化使用,可以根据实际需求进行算法扩展,同时可以在此基础上进行算法演变,实用性极佳,同时使用的调度算法简便轻量,可直接按照样例模拟,可预测调度结果,并可根据具体场景复现调度结果趋势,具有较强扩展性。涉及到的各个资源权值A和二次权值B计算算法均可进行合理性和适配性调整,如调整CPU权值,增加SOCKET连接数权值等。It should be noted that the embodiments of this application provide a consensus algorithm for distributed hosts, and also take into account the optimized use of host resources in distributed mode. The algorithm can be expanded according to actual needs, and the algorithm can be evolved on this basis. It has excellent practicability, and the scheduling algorithm used at the same time is simple and lightweight. It can be simulated directly according to the example, the scheduling results can be predicted, and the trend of scheduling results can be reproduced according to specific scenarios, and it has strong scalability. The calculation algorithms of each resource weight A and secondary weight B involved can be adjusted for rationality and adaptability, such as adjusting the CPU weight, increasing the SOCKET connection number weight, etc.
本申请实施例提供的任务调度方法,通过对未来一段时间内可能释放的主机资源进行预测,采用指数平滑算法对未来一段时间内待调度的任务所需的主机资源进行预测,并根据预测获得的主机资源分布情况对算法中各资源的权重进行实时调整,确保了在资源预测时,对重点关注或当前剩余较少的资源赋予了足够的余量,避免出现由于预测结果的少量偏差导致的任务无法执行的情况。The task scheduling method provided by the embodiment of the present application predicts the host resources that may be released in the future, uses an exponential smoothing algorithm to predict the host resources required for tasks to be scheduled in the future, and obtains the results based on the prediction. The distribution of host resources adjusts the weight of each resource in the algorithm in real time, ensuring that during resource prediction, sufficient margin is given to resources that are focused on or currently have few remaining resources, and avoids tasks caused by small deviations in prediction results. Impossible to perform.
与现有技术相比,本申请实施例具有如下有益效果:Compared with the prior art, the embodiments of the present application have the following beneficial effects:
1、本申请实施例不仅提供了分布式主机的一致性算法,也兼顾了在分布式模式主机资源的优化使用,可以根据实际需求进行算法扩展,同时可以在此基础上进行算法演变,实用性极佳。1. The embodiments of this application not only provide a consensus algorithm for distributed hosts, but also take into account the optimized use of host resources in distributed mode. The algorithm can be expanded according to actual needs, and the algorithm can be evolved on this basis. Practicality Excellent.
2、本申请实施例中使用的调度算法简便轻量,可直接按照样例模拟,可预测调度结果,可根据具体场景复现调度结果趋势,具有较强扩展性,涉及到的各个资源权值A和B计算算法均可进行合理性和适配性调整,如调整CPU权值,增加SOCKET连接数权值等。2. The scheduling algorithm used in the embodiments of this application is simple and lightweight, can be simulated directly according to examples, can predict scheduling results, and can reproduce the trend of scheduling results according to specific scenarios, has strong scalability, and involves the weight of each resource. Both the A and B calculation algorithms can be adjusted for rationality and adaptability, such as adjusting the CPU weight, increasing the weight of the SOCKET connection number, etc.
3、本申请实施例能够解决“调度算法变更困难,不能添加其他调度因子”的问题,调度因子配置在数据库中可以进行添加和删除,保证调度因子和上报资源的数量保持一致。在进行指数预测时可以根据配置的参数进行动态计算。3. The embodiment of this application can solve the problem of "difficulty in changing the scheduling algorithm and the inability to add other scheduling factors". The scheduling factor configuration can be added and deleted in the database to ensure that the scheduling factors and the number of reported resources are consistent. When making exponential predictions, dynamic calculations can be performed based on configured parameters.
下面对本申请实施例提供的任务调度装置进行描述,下文描述的任务调度装置与上文描述的任务调度方法可相互对应参照。The task scheduling device provided by the embodiment of the present application is described below. The task scheduling device described below and the task scheduling method described above can be referred to correspondingly.
请参见图3,本申请实施例提供一种任务调度装置,包括:Referring to Figure 3, an embodiment of the present application provides a task scheduling device, including:
数据获取模块1,用于实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;The data acquisition module 1 is used to obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
资源预测模块2,用于根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;Resource prediction module 2, used to predict available host resources at a future target time based on the resource usage and current task running information;
需求预测模块3,用于获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;Demand prediction module 3 is used to obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each The proportion of host resources required for the tasks to be scheduled;
权值计算模块4,用于根据所述主机资源权值集合计算所述待调度任务的任务权值;Weight calculation module 4, configured to calculate the task weight of the to-be-scheduled task according to the host resource weight set;
资源计算模块5,用于根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;Resource calculation module 5, configured to calculate the first remaining resources after resource allocation based on the available host resources at the current moment and the future resources based on the required host resource proportion and the task weight respectively. The second remaining resources after resource allocation of the available host resources at the target time;
任务调度模块6,用于当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。The task scheduling module 6 is configured to perform task scheduling according to the time limit requirement of each task to be scheduled when it is determined that the second remaining resource is greater than the first remaining resource.
在一个实施例中,所述资源预测模块2具体用于:In one embodiment, the resource prediction module 2 is specifically used to:
根据所述当前任务运行信息筛选出在所述未来目标时刻之前结束的任务,并记录所述任务的资源占用情况;Screen out tasks that end before the future target time according to the current task running information, and record the resource occupancy of the tasks;
根据所述资源占用情况以及所述资源使用情况进行预测得到所述未来目标时刻的可用主机资源。Prediction is made based on the resource occupancy situation and the resource usage situation to obtain the available host resources at the future target time.
在一个实施例中,所述主机资源权值集合的获取方式包括:In one embodiment, the method of obtaining the host resource weight set includes:
获取预设历史时间范围内的历史任务的观察值,以及与所述历史任务对应的各主机资源使用率,并构建所述各主机资源使用率与所述历史任务的映射矩阵;Obtain the observation values of historical tasks within a preset historical time range, as well as the resource usage of each host corresponding to the historical task, and construct a mapping matrix between the resource usage of each host and the historical task;
基于所述映射矩阵,利用预设的指数平滑算法进行计算得到当前时刻各主机资源预测值;Based on the mapping matrix, use the preset exponential smoothing algorithm to calculate and obtain the predicted value of each host resource at the current moment;
基于所述各主机资源预测值以及预设的各主机资源权重值进行加权平均计算得到所述主机资源权值集合。The host resource weight set is obtained by performing a weighted average calculation based on the predicted value of each host resource and the preset weight value of each host resource.
在一个实施例中,所述权值计算模块4具体用于:In one embodiment, the weight calculation module 4 is specifically used to:
利用预设的二级算法对所述主机资源权值集合中的各个主机资源权值分别进行计算得到各个主机的二次权值;Using a preset secondary algorithm to calculate each host resource weight in the host resource weight set to obtain the secondary weight of each host;
将所述各个主机的二次权值进行累加得到集群最大权值;Accumulate the secondary weights of each host to obtain the maximum weight of the cluster;
结合所述集群最大权值以及主机获取到的随机结果进行计算得到所述待调度任务的任务权值。The task weight of the task to be scheduled is calculated by combining the maximum weight of the cluster and the random result obtained by the host.
在一个实施例中,所述任务调度模块6具体用于:In one embodiment, the task scheduling module 6 is specifically used to:
当判断所述第二剩余资源中的第一优先级资源大于所述第一剩余资源中的第一优先级资源时,根据每一所述待调度任务的时限要求进行任务调度。When it is determined that the first priority resource among the second remaining resources is greater than the first priority resource among the first remaining resources, task scheduling is performed according to the time limit requirement of each to-be-scheduled task.
在一个实施例中,还包括权值调整模块,用于:In one embodiment, it also includes a weight adjustment module for:
获取所述主机资源权值之前,根据所述未来目标时刻的可用主机资源对所述各主机资源权重值进行适应性调整。Before obtaining the host resource weight value, the host resource weight value is adaptively adjusted according to the available host resources at the future target time.
在一个实施例中,所述主机的资源类型包括MEM资源、CPU资源、内存资源、IO资源、文件句柄资源和文件描述符资源中的一种或多种。In one embodiment, the resource type of the host includes one or more of MEM resources, CPU resources, memory resources, IO resources, file handle resources and file descriptor resources.
可以理解的是上述装置项实施例,是与本申请方法项实施例相对应的,本申请实施例提供的任务调度装置,可以实现本申请任意一项方法项实施例提供的任务调度方法。It can be understood that the above device embodiments correspond to the method embodiments of the present application. The task scheduling device provided by the embodiments of the present application can implement the task scheduling method provided by any method embodiment of the present application.
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communication Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的计算机程序,以执行任务调度方法的步骤,例如包括:Figure 4 illustrates a schematic diagram of the physical structure of an electronic device. As shown in Figure 4, the electronic device may include: a processor (processor) 410, a communication interface (Communication Interface) 420, a memory (memory) 430 and a communication bus 440. Among them, the processor 410, the communication interface 420, and the memory 430 complete communication with each other through the communication bus 440. The processor 410 can call the computer program in the memory 430 to perform the steps of the task scheduling method, for example, including:
S1、实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;S1. Obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
S2、根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;S2. Predict the available host resources at the future target time based on the resource usage and current task running information;
S3、获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;S3. Obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each of the to-be-scheduled tasks. The proportion of required host resources;
S4、根据所述主机资源权值集合计算所述待调度任务的任务权值;S4. Calculate the task weight of the task to be scheduled according to the host resource weight set;
S5、根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;S5. According to the proportion of required host resources and the task weight, respectively calculate the first remaining resources after resource allocation based on the available host resources at the current time, and the available hosts based on the future target time. The second remaining resource after resource allocation;
S6、当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。S6. When it is determined that the second remaining resource is greater than the first remaining resource, perform task scheduling according to the time limit requirement of each task to be scheduled.
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。In addition, the above-mentioned logical instructions in the memory 430 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code. .
另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的任务调度方法的步骤,例如包括:On the other hand, embodiments of the present application also provide a computer program product. The computer program product includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. The computer program is executed by a processor. When , the computer can perform the steps of the task scheduling method provided by the above embodiments, including, for example:
S1、实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;S1. Obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
S2、根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;S2. Predict the available host resources at the future target time based on the resource usage and current task running information;
S3、获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;S3. Obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each of the to-be-scheduled tasks. The proportion of required host resources;
S4、根据所述主机资源权值集合计算所述待调度任务的任务权值;S4. Calculate the task weight of the task to be scheduled according to the host resource weight set;
S5、根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;S5. According to the proportion of required host resources and the task weight, respectively calculate the first remaining resources after resource allocation based on the available host resources at the current time, and the available hosts based on the future target time. The second remaining resource after resource allocation;
S6、当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。S6. When it is determined that the second remaining resource is greater than the first remaining resource, perform task scheduling according to the time limit requirement of each task to be scheduled.
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:On the other hand, embodiments of the present application also provide a processor-readable storage medium. The processor-readable storage medium stores a computer program. The computer program is used to cause the processor to execute the methods provided in the above embodiments. Steps, for example include:
S1、实时获取分布式系统中各个主机上报的资源使用情况;其中,所述资源使用情况包括当前时刻的可用主机资源;S1. Obtain the resource usage reported by each host in the distributed system in real time; wherein the resource usage includes the available host resources at the current moment;
S2、根据所述资源使用情况以及当前任务运行信息预测得到未来目标时刻的可用主机资源;S2. Predict the available host resources at the future target time based on the resource usage and current task running information;
S3、获取当前时刻与所述未来目标时刻之间的时间段内的所有待调度任务,基于预先获得的主机资源权值集合构建预测模型,并利用所述预测模型获取每一所述待调度任务的所需主机资源占比情况;S3. Obtain all to-be-scheduled tasks in the time period between the current time and the future target time, build a prediction model based on the pre-obtained host resource weight set, and use the prediction model to obtain each of the to-be-scheduled tasks. The proportion of required host resources;
S4、根据所述主机资源权值集合计算所述待调度任务的任务权值;S4. Calculate the task weight of the task to be scheduled according to the host resource weight set;
S5、根据所述所需主机资源占比情况和所述任务权值,分别计算基于所述当前时刻的可用主机资源进行资源分配后的第一剩余资源,以及基于所述未来目标时刻的可用主机资源进行资源分配后的第二剩余资源;S5. According to the proportion of required host resources and the task weight, respectively calculate the first remaining resources after resource allocation based on the available host resources at the current time, and the available hosts based on the future target time. The second remaining resource after resource allocation;
S6、当判断所述第二剩余资源大于所述第一剩余资源时,根据每一所述待调度任务的时限要求进行任务调度。S6. When it is determined that the second remaining resource is greater than the first remaining resource, perform task scheduling according to the time limit requirement of each task to be scheduled.
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。The processor-readable storage medium may be any available media or data storage device that the processor can access, including but not limited to magnetic storage (such as floppy disks, hard disks, tapes, magneto-optical disks (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor memories (such as ROM, EPROM, EEPROM, non-volatile memory (NANDFLASH), solid state drive (SSD)), etc.
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。The device embodiments described above are only illustrative. The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they may be located in One location, or it can be distributed across multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Persons of ordinary skill in the art can understand and implement the method without any creative effort.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the part of the above technical solution that essentially contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., including a number of instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments.
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present application, but not to limit it; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent substitutions are made to some of the technical features; however, these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions in the embodiments of the present application.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234437.6A CN116775233A (en) | 2022-03-10 | 2022-03-10 | A task scheduling method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234437.6A CN116775233A (en) | 2022-03-10 | 2022-03-10 | A task scheduling method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775233A true CN116775233A (en) | 2023-09-19 |
Family
ID=87990114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210234437.6A Pending CN116775233A (en) | 2022-03-10 | 2022-03-10 | A task scheduling method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775233A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118171895A (en) * | 2024-05-14 | 2024-06-11 | 青岛国彩印刷股份有限公司 | Digital printing control and monitoring system and method based on artificial intelligence |
CN118446501A (en) * | 2024-07-08 | 2024-08-06 | 国家海洋信息中心 | Ocean emergency scheduling method and system based on interaction |
CN118708362A (en) * | 2024-08-29 | 2024-09-27 | 净化控股集团股份有限公司 | A method, device and equipment for processing data |
-
2022
- 2022-03-10 CN CN202210234437.6A patent/CN116775233A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118171895A (en) * | 2024-05-14 | 2024-06-11 | 青岛国彩印刷股份有限公司 | Digital printing control and monitoring system and method based on artificial intelligence |
CN118446501A (en) * | 2024-07-08 | 2024-08-06 | 国家海洋信息中心 | Ocean emergency scheduling method and system based on interaction |
CN118708362A (en) * | 2024-08-29 | 2024-09-27 | 净化控股集团股份有限公司 | A method, device and equipment for processing data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153700B (en) | Network slice resource management method and equipment | |
CN116775233A (en) | A task scheduling method and device | |
WO2021179462A1 (en) | Improved quantum ant colony algorithm-based spark platform task scheduling method | |
CN112988390B (en) | Computing power resource allocation method and device | |
CN113434253B (en) | Cluster resource scheduling method, device, equipment and storage medium | |
CN107239336B (en) | Method and device for realizing task scheduling | |
CN107404523A (en) | Cloud platform adaptive resource dispatches system and method | |
CN111722806B (en) | Cloud disk allocation method and device, electronic equipment and storage medium | |
WO2017010922A1 (en) | Allocation of cloud computing resources | |
CN113568756B (en) | A method and system for collaborative dynamic scheduling of cryptographic resources | |
CN103778474A (en) | Resource load capacity prediction method, analysis prediction system and service operation monitoring system | |
WO2020172852A1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
CN109710412A (en) | A kind of Nginx load-balancing method based on dynamical feedback | |
CN117971499B (en) | Resource allocation method, device, electronic equipment and storage medium | |
CN102662764A (en) | Dynamic cloud computing resource optimization allocation method based on semi-Markov decision process (SMDP) | |
CN112148454A (en) | Edge computing method supporting serial and parallel and electronic equipment | |
CN115913967A (en) | A Microservice Elastic Scaling Method Based on Resource Demand Prediction in Cloud Environment | |
CN116467082A (en) | A resource allocation method and system based on big data | |
CN118606016A (en) | A task distribution method and device based on Manage and Worker | |
CN118394592A (en) | A Paas platform based on cloud computing | |
CN107203256B (en) | Energy-saving distribution method and device under network function virtualization scene | |
CN118245234B (en) | Distributed load balancing method and system based on cloud computing | |
CN117724853B (en) | Data processing method and device based on artificial intelligence | |
CN115562841B (en) | Cloud video service self-adaptive resource scheduling system and method | |
CN117978805A (en) | Cloud platform self-adaptive deployment method based on GPT technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |