Data decision task scheduling method and device, computer equipment and storage medium
By grouping data decision tasks with the same execution rules into the same group and scheduling tasks without dependencies in parallel, the problem of low task scheduling efficiency in the decision engine is solved, and more efficient decision task execution is achieved.
Patent Information
- Application Number
- CN202411045075.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-30
- Publication Date
- 2024-12-17
AI Technical Summary
In the Internet business, the existing decision-making engine has low efficiency in scheduling of data decision-making tasks, and needs to wait for the task with dependencies to be executed, resulting in an increase in overall time-consuming and reducing the efficiency of decision-making engine task scheduling.
By dividing data decision tasks with the same execution rules into the same data group, the data decision tasks without dependencies are divided into different data groups and performing parallel scheduling, avoiding waiting for tasks without dependencies to complete execution.
It improves the scheduling efficiency of data decision tasks in the decision unit, reduces waiting time, and improves the efficiency of decision engine task scheduling.
Smart Images

Figure CN119149188A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of big data technology, and in particular to a data decision task scheduling method, device, computer equipment and storage medium. Background Art
[0002] Decision engines are widely used in the field of Internet business, such as risk decision making and precision marketing decision making. Decision engines are usually tools that help users make decisions quickly through complex conditional judgments. Often in Internet decision-making business, the decision-making system is complex and requires a large amount of decision-making data to make decisions. Therefore, how to make quick decisions on user behavior from a complex decision-making system is a crucial issue in decision-making business. Summary of the invention
[0003] In response to the above technical problems, the present application provides a data decision task scheduling method, device, computer equipment and storage medium.
[0004] In a first aspect, the present application provides a data decision task scheduling method, comprising:
[0005] Determining a first data group based on the data decision task and the execution rule, wherein the first data group includes a plurality of data decision tasks, and the execution rule of each data decision task is the same;
[0006] Dividing the first data group into a plurality of second data groups, wherein there is no execution dependency relationship between the plurality of second data groups;
[0007] The plurality of second data groups are scheduled in parallel.
[0008] In a second aspect, the present application provides a data decision task scheduling device, comprising:
[0009] A determination module, configured to determine a first data group based on a data decision task and an execution rule, wherein the first data group includes a plurality of data decision tasks, and the execution rule of each data decision task is the same;
[0010] A division module, used for dividing the first data group into a plurality of second data groups, wherein there is no execution dependency relationship between the plurality of second data groups;
[0011] The scheduling module is used to perform parallel scheduling on the second data group.
[0012] In a third aspect, the present application provides a computer device including a processor and a memory, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to execute the steps of any data decision task scheduling method provided in the embodiments of the present application.
[0013] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a plurality of instructions suitable for a processor to load to execute the steps of any one of the decision-making task scheduling methods provided in the embodiments of the present application.
[0014] In a fifth aspect, the present application provides a computer program product, which includes a computer program, and the computer program is executed by a processor to perform the steps of any decision-making task scheduling method provided in the embodiments of the present application.
[0015] The present application first determines the first data group based on the data decision task and the execution rule. Among them, the first data group includes multiple data decision tasks, and the execution rules of each data decision task are the same. Then, the first data group is divided into multiple second data groups, and there is no execution dependency between the multiple second data groups. Finally, the multiple second data groups are scheduled in parallel. The present application classifies data decision tasks with the same execution rules into the same first data group, and classifies data decision tasks without execution dependencies into the same second data group. In this way, when scheduling decision data, the second data groups that do not have execution dependencies in the first data group can be scheduled in parallel without waiting for the data decision tasks without execution dependencies to be executed. In this way, the scheduling efficiency of data decision tasks in the decision unit can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without paying any creative work.
[0017] Figure 1 It is a schematic diagram of the task scheduling process of a decision engine system;
[0018] Figure 2 It is a schematic diagram of the task scheduling process executed in a decision-making unit;
[0019] Figure 3 is a schematic diagram of a decision engine task scheduling process provided in an embodiment of the present application;
[0020] Figure 4 It is a schematic diagram of an application environment of a data decision task scheduling method provided in an embodiment of the present application;
[0021] Figure 5 It is a flowchart of a data decision task scheduling method provided in an embodiment of the present application;
[0022] Figure 6is a schematic diagram of a dynamically arranged data decision task provided in an embodiment of the present application;
[0023] Figure 7 is a flowchart of a method for determining a first data group provided in an embodiment of the present application;
[0024] Figure 8 It is a schematic diagram of a task scheduling process executed in a decision-making unit provided in a specific embodiment of the present application;
[0025] Fig. 9 It is a structural diagram of a data decision task scheduling device provided in an embodiment of the present application;
[0026] Fig.10 It is a schematic diagram of the internal structure of the computer device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0027] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application. At the same time, in the description of the embodiments of the present application, the terms "first", "second", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the embodiments of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0028] The decision engine system is generally composed of a rule arrangement module and a decision execution module. Business personnel often arrange decision flows in the rule arrangement module according to business meanings. Among them, the decision flow is used to implement complex business logic and is connected by multiple data nodes. Each data node determines the next node to be executed based on the input data and the execution result of the rule engine, thereby forming multiple data decision tasks. Among them, the data decision task is connected by data nodes with execution dependencies. The execution dependency refers to the order in which the data nodes execute the called process. Each execution order in each data decision task corresponds to a data node, that is, each data decision task corresponds to a judgment result. The decision execution module can obtain user information to execute the decision flow and output the decision result. In the arrangement of the decision flow, the execution dependency of the data nodes is relatively complex. The post-data nodes depend on the results of the pre-user data. Usually, the data nodes of the same type are first placed in a data preparation group to ensure that the data nodes in the same data group have no execution dependencies. Every time the policy of the decision unit is changed, such as adding or deleting a data node, the dependency analysis will be performed and the data preparation group will be adjusted.
[0029] See also Figure 1 , Figure 1 It is a schematic diagram of the task scheduling process of a decision engine system. Taking the decision engine system for credit risk control approval as an example, the decision engine can include multiple decision units. Taking decision unit 1 as an example, in decision unit 1, the data preparation group can be divided into three categories according to the type of data node, including the type Model of the machine learning model, the user basic information data UbaseInofo and the user derived feature data Ufeature. Among them, the type of machine learning model depends on the user basic information data and the user derived feature data. The decision execution module will execute the node tasks corresponding to the data preparation group in the decision unit in sequence in a serial execution manner. The node task refers to the task that each data node executes to be called. After the node tasks corresponding to the data preparation group are executed, the decision tasks will be executed in sequence, and finally the decision results will be output.
[0030] Based on the above scheduling method, the total time consumption of the decision flow is the sum of the time consumption of the decision units in the decision engine, and the time consumption of each decision unit is the sum of the time consumption of the data preparation node corresponding to the node task of the data preparation group and the time consumption of the decision node corresponding to the decision task. Since the node tasks in a data preparation group are called in parallel, after the node tasks of the data nodes with less time consumption in each data preparation group are completed, it is necessary to wait for the node tasks of all data nodes in this data preparation group to be completed before the node tasks of the subsequent dependent data nodes can be executed. Therefore, the time consumption of each data preparation group is the maximum time consumption in the execution of node tasks. For example, it is assumed that data preparation group 1 includes user basic information data UbaseInfo, data preparation group 2 includes user derived feature data Ufeature, and data preparation group 3 includes the type Model of the machine learning model. Ufeature3 in data preparation group 2 cannot continue to execute node tasks after UbaseInfo1 in data preparation group 1 is executed, but needs to execute the node tasks of Ufeature3 after all task nodes in data preparation group 1 are executed. In this way, there is a waiting time in the data task scheduling of the entire decision flow.
[0031] See also Figure 2 , Figure 2 This is a schematic diagram of the execution task scheduling process in a decision unit. Taking the decision unit including two execution rules as an example, it is necessary to first execute data preparation group 1, data preparation group 2 and data preparation group 3 in sequence according to the execution rule Rule1, and then execute data preparation group 1, data preparation group 2 and data preparation group 3 in sequence according to the execution rule Rule2. In the execution rules Rule1 and Rule2, the time consumption of data preparation group 1, data preparation group 2 and data preparation group 3 is 2 seconds, and the time consumption of the decision execution module is also 2 seconds. Therefore, the decision unit consumes 14 seconds. Among them, the data decision task composed of UbaseInfo1, UFeature3 and Model2 has no execution dependency with other data decision tasks, but still needs to wait for the node tasks in the same data preparation group to be executed, so the time consumption of the data decision task increases from 5 seconds to 6 seconds. It can be seen that the task scheduling of the decision engine in the above manner takes a long time, which reduces the efficiency of the decision engine task scheduling.
[0032] Based on this, the embodiment of the present application proposes a data decision task scheduling method for improving the efficiency of decision engine task scheduling. Figure 3 , Figure 3It is a schematic diagram of a decision engine task scheduling process provided in an embodiment of the present application. In an embodiment of the present application, data nodes with the same execution rules are merged into the same first data group, and in the same first data group, data decision tasks that do not have execution dependencies are divided into different second data groups. Parallel scheduling is performed on the second data group of each first data group, so that the time consumption of the data preparation node in the decision unit is the sum of the time consumption of each first data group, and the time consumption of each first data group is the maximum time consumption of the data decision tasks in the execution relationship in the first data group. For example, Figure 3 The data decision tasks composed of Model2, UFeature3 and UbaseInfo1 can execute the corresponding node tasks in sequence without waiting for the completion of other data node tasks. In this way, after each data node in each data decision task completes the corresponding node task, it can start to execute the node task of the data node in the next execution order without additional waiting time, thereby reducing the time consumption of data preparation nodes and improving the scheduling efficiency of data decision tasks in the decision unit.
[0033] In order to better understand the data decision task scheduling method, device, computer equipment and storage medium provided in the embodiments of the present application, the application environment applicable to the embodiments of the present application is described below.
[0034] See also Figure 4 , Figure 4 Schematic diagram of an application environment of a data decision task scheduling method provided in an embodiment of the present application. The application environment may include a server 100, and the server 100 may be connected to a terminal device 200 through a network. Among them, the network is used to provide a medium for a communication link between the server 100 and the terminal device 200. The network may include various connection types, such as wired communication links, wireless communication links, etc., which are not limited in the embodiments of the present application. Optionally, in other embodiments, the data decision task scheduling method may also be run in other types of electronic devices such as smart phones and laptops.
[0035] It should be understood that Figure 4 The server 100, network and terminal device 200 are merely illustrative. Any number of servers, networks and terminal devices may be configured as required. For example, the server 100 may be a physical server or a server cluster composed of multiple servers, and the terminal device 200 may be a mobile phone, a tablet, a desktop computer, a laptop computer, or the like. It is understood that the embodiments of the present application may also allow multiple terminal devices 200 to access the server 100 at the same time.
[0036] The following is a detailed description in conjunction with the accompanying drawings. In this embodiment, the execution subject is taken as an example of the server 100. It should be noted that the description order of the following embodiments is not intended to limit the preferred order of the embodiments. Although the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in an order different from that shown in the accompanying drawings.
[0037] As mentioned above, the data decision task is obtained by connecting the data nodes with execution dependencies according to the execution order called. In the related art, multiple data nodes are usually classified according to type to obtain the first data group. In this way, in the data decision task, the data nodes of each execution order need to wait for the node tasks of the data nodes in the same first data group to be executed before executing the node tasks of the next execution order. In addition, when the policy of the decision unit is changed, the dependency relationship needs to be re-analyzed, the calculation amount is large, and the maintenance cost is high, thereby affecting the scheduling efficiency of the decision unit. Therefore, in the embodiment of the present application, a dynamic arrangement method is adopted to directly generate multiple data decision tasks based on the execution dependency relationship between multiple data nodes in the decision unit, so as to generate the first data group classified by the execution rule based on multiple data decision tasks. In the embodiment of the present application, there is no need to determine the number of the first data group in advance, but to dynamically determine the number of the first data group according to the generated data decision task. If the decision unit changes its policy, it is necessary to add or delete data nodes and other operations, and it is only necessary to modify the corresponding data nodes according to the execution dependency relationship. In this way, the arrangement method of the data nodes is more flexible and more scalable.
[0038] See also Figure 5 , Figure 5 1 is a flow chart of a data decision task scheduling method provided in an embodiment of the present application. In an embodiment of the present application, the data decision task scheduling method may include the following steps 501-503, which are described in detail below.
[0039] Step 501, determine the first data group based on the data decision task and the execution rule, the first data group includes multiple data decision tasks, and the execution rules of each data decision task are the same. In an embodiment of the present application, the scheduling order of the execution rules is the first scheduling execution order. Since the decision unit schedules the data decision tasks of each rule in sequence according to the first scheduling execution order between the execution rules, the embodiment of the present application divides the data decision tasks with the same type of execution rules into a first data group, so that the first data group is serially scheduled according to the first scheduling execution order. The number of the first data groups in the embodiment of the present application is dynamically determined based on the types of execution rules corresponding to the multiple data decision tasks, and the first data group can be dynamically updated according to the changes in the types of execution rules in the decision unit.
[0040] Step 502: Divide each first data group into multiple second data groups, wherein there is no execution dependency between the multiple second data groups.
[0041] In the embodiment of the present application, each second data group is composed of data decision tasks with execution dependencies in the first data group. For the same first data group, the data nodes between different second data groups have no execution dependencies. In this way, when the scheduling task is subsequently executed, different second data groups can be scheduled in parallel.
[0042] Step 503: perform parallel scheduling on multiple second data groups.
[0043] In the embodiment of the present application, when executing the scheduling task, the data decision tasks of different second data groups can be scheduled in parallel, and the data nodes in each second data group can start to execute the node task after the data node in the previous execution order completes the node task. The waiting time is reduced, thereby improving the scheduling efficiency of the data decision task.
[0044] The embodiment of the present application groups data decision tasks with the same execution rules into the same first data group, and groups data decision tasks without execution dependencies into the same second data group. In this way, when scheduling decision data, the second data group without execution dependencies in the first data group can be scheduled in parallel without waiting for the data decision tasks without execution dependencies to be completed. In this way, the scheduling efficiency of data decision tasks in the decision unit can be improved.
[0045] The decision unit of the embodiment of the present application may include a first data node, a second data node and a third data node. Among them, the first data node is a data node without a parent node, which can be understood as a root node. The third data node is a data node without a child node, and the second data node is a data node with both a parent node and a child node. In the embodiment of the present application, the first data node in the decision unit can be determined first. Then, a data decision task is generated based on the execution dependency relationship between the third data node and the first data node. In the embodiment of the present application, each data decision task is a directed edge formed by taking the first data node as the starting data node and the third data node as the terminating data node. The first data node does not depend on the input parameters of other data nodes and is the starting data node of a data decision task. The third data node is the data node of the output parameter and is the terminating data node of a data decision task. Each data decision task corresponds to a decision result, and each execution order contained in each data decision task corresponds to a data node. Therefore, in an embodiment of the present application, a dynamic orchestration method can be adopted to dynamically generate data decision tasks based on the execution dependency relationship between the first data node and the third data node. There is no need to determine the number of the first data group in advance, and data nodes can be added, deleted or modified according to needs, making the generation method of data decision tasks more flexible and more scalable.
[0046] Furthermore, the first data node can be used as the first execution node, and the output result can be used as the first output parameter to determine the data node that has an execution dependency relationship with the first data node. Then, it is determined whether the data node is the second data node. If the data node is the second data node, the second data node can be used as the second execution node, and the output result can be used as the second output parameter to determine the third data node that has an execution dependency relationship with the second data node. If the data node is not the second data node, it indicates that the data node is the third data node. Finally, the first data node is used as the starting data node and the third data node is used as the ending data node to determine the data decision task.
[0047] In an embodiment of the present application, based on the output parameters of each data node, the data node corresponding to the next execution order of the data node can be determined. The output parameters may include a first output parameter and a second output parameter. Among them, the first output parameter is the output parameter of the first data node, and the second output parameter is the output parameter of the second data node. The dynamic scheduling of the data decision task can first find the first execution node, and the first execution node represents the first node to execute the scheduling in the data decision task, that is, the starting data node of the data decision task, that is, the first data node. Therefore, the first data node can be used as the first execution node, and the first execution node corresponds to the starting execution order of the data decision task. According to the output parameters of the first data node, the data node corresponding to the second execution order after the starting execution order can be determined. The data node in the second execution order may be the second data node or the third data node. In an example, if the data node is the second data node, it means that the data node has an output parameter, and it is necessary to continue to find the next data node with an execution dependency relationship. Therefore, the second data node can be used as the second execution node, and the data nodes with execution dependencies can be found in sequence until the third data node is found. Among them, the second execution node refers to the second data node located between the first data node and the third data node in the data decision task. According to the second output parameter of the second execution node, the execution dependency between multiple second data nodes can be determined, and finally the third data node with an execution dependency relationship with the second execution node is found. In another example, if the data node is not a second data node, it is a third data node. Therefore, in this data decision task, only the first data node and the third data node are included. In order to better represent the data decision task, data nodes with adjacent execution dependencies can be connected with directional arrows, and one or more directed edges can be formed between each first data node and the third data node. In this way, the execution dependency between each data node and other data nodes in the decision unit can be more clearly and intuitively known.
[0048] Figure 6 is a schematic diagram of a dynamically arranged data decision task provided in an embodiment of the present application. Figure 6, still taking the data node types of the decision unit including user basic information data UbaseInfo, user derived feature data Ufeature and machine learning model type Model as an example. First, determine the first data nodes without parent nodes, which are Model1 and Model2. The data nodes corresponding to the first output parameter of Model1 are Ufeature1, Ufeature2 and UbaseInfo4. Among them, Ufeature2 and UbaseInfo4 have no child nodes, so they are the third data nodes. In this way, Model1 and Ufeature2 can form a data decision task, and Model1 and UbaseInfo4 can form a data decision task. Ufeature1 has child nodes, indicating that the data decision task where Ufeature1 is located also has the next data node in the execution order. Therefore, Ufeature1 is the second data node. The data nodes corresponding to the second output parameter of Ufeature1 are UbaseInof2 and UbaseInfo3. UbaseInfo2 and UbaseInfo3 both have no child nodes and are the third data nodes. Therefore, Model1, Ufeature1 and UbaseInfo2 can form a data decision task, and Model1, Ufeature1 and UbaseInfo3 can also form a data decision task. In summary, for Model1, four data decision tasks can be generated. Similarly, Model2, Ufeature3 and UbaseInfo1 are also one data decision task. Figure 6 The first data set shown can generate five data decision tasks.
[0049] See also Figure 7 , Figure 7 1 is a flow chart of a method for determining a first data group provided in an embodiment of the present application. The data decision task in the embodiment of the present application may include a first task and a second task, wherein the first task is a data decision task that has been traversed, and the second task is a data decision task that has not been traversed. In step 501 of the embodiment of the present application, the method for determining the first data group may include the following steps 701-703, which are described in detail below.
[0050] Step 701: Create a first data group based on a first execution rule of a first task. The number of the first data groups is the same as the number of types of the first execution rule.
[0051] Step 702: In response to the second execution rule of the second task being the same as the first execution rule, store the second task into the first data group corresponding to the first execution rule.
[0052] Step 703: In response to the second execution rule of the second task being different from the first execution rule, establish a first data group corresponding to the second execution rule.
[0053] After determining multiple data decision tasks, multiple data decision tasks can be grouped according to execution rules. Unlike the related art, the embodiment of the present application dynamically determines the first data group based on the type of execution rules of each data decision task in turn. First, arbitrarily select a data decision task in the data decision task to traverse, determine the type of execution rule of the data decision task to establish the corresponding first data group, and then compare the execution rules of the remaining data decision tasks with the execution rules of the first data group established by the traversed data decision tasks in turn. If the type of execution rules is the same, then add them to the matching first data group, otherwise, create a new first data group according to the newly appeared execution rules. The first task in the embodiment of the present application is the data decision task that has been traversed, and the first execution rule is the execution rule corresponding to the first task. Since the types of execution rules in the same first data group are the same, the number of types of the first execution rules of the traversed first task is the same as the number of the first data group. The second task is the remaining data decision task that has not been traversed, and the second execution rule is the execution rule of the second task. The second execution rule is compared with the first execution rule. If the same first execution rule is matched, the second task corresponding to the second execution rule is stored in the first data group corresponding to the matched first execution rule. If the same first execution rule is not matched, a new first data group corresponding to the second execution rule is created. In this way, the first data group can be dynamically updated according to the change of the type of execution rule in the decision unit.
[0054] In step 502 of the embodiment of the present application, a first data decision task and a second data decision task including the same data node may be determined first, and then the first data decision task and the second data decision task are stored in the second data group.
[0055] In an embodiment of the present application, the first data decision task is any data decision task in the decision unit, and the second data decision task is a data decision task that contains the same data node as the first data decision task. Therefore, the first data decision task and the second data decision task have an execution dependency and need to be divided into the same second data group. Therefore, the first data decision task and the second data decision task can be stored in the same second data. In this way, by dividing the data decision tasks with execution dependencies into the same second data group, there can be no execution dependency between different second data groups, so that different second data groups can be scheduled in parallel in the scheduling of data decision tasks, thereby improving the scheduling efficiency of data decision tasks.
[0056] In step 503 of an embodiment of the present application, when a scheduling instruction for a decision unit is obtained, a first scheduling execution order of a first data group in the decision unit can be first obtained, and then the first data group can be scheduled according to the first scheduling execution order, and parallel scheduling of at least two second data groups can be performed in the first data group.
[0057] In an embodiment of the present application, the scheduling order between the first data groups is the first scheduling execution order. The first scheduling execution order is set according to the type of execution rule. When the scheduling instruction for the decision unit is obtained, the first data group in the decision unit can be serially scheduled according to the set first scheduling execution order. For each first data group, since there is no execution dependency between the second data groups, parallel scheduling of at least two second data groups can be performed, and each second data group executes the corresponding scheduling task separately without affecting each other. In this way, the data node of each data decision task does not need to wait for the data node without execution dependency to complete execution before executing the node task, but after the data node of the previous execution order of the current data decision task completes the node task, it can start to execute the node task. In this way, the waiting time is reduced, thereby improving the scheduling efficiency of the data decision task.
[0058] Furthermore, each second data group includes at least one data decision task. In each second data group, the data decision tasks can be scheduled according to the second scheduling execution order, first scheduling the first data node in the data decision task, then scheduling the second data node in the data decision task, and finally scheduling the third data node in the data decision task.
[0059] In an embodiment of the present application, the second scheduling execution order is the scheduling execution order of the data decision task. The second scheduling execution order is determined according to the execution order corresponding to the execution dependency relationship between the third data node and the first data node. For example, assuming that the data decision task has three data nodes, namely a, b and c, the judgment order in the decision engine application is a first, then b, and finally c. However, in an embodiment of the present application, the first data node of the data decision task is c, that is, a data node without a parent node, b is adjacent to c, and is the next execution order of c, and has a child node, which is the second data node, a is adjacent to b, and is the next execution order of a, and a has no child node, which is the third data node. Therefore, the second scheduling execution order is c, b, a. In other words, the scheduling of the first data node without a parent node is executed first, and then the second data node is scheduled in turn according to the execution dependency relationship until the third data node without a child node is scheduled. In this way, for each second data group, if there are multiple data decision tasks, scheduling can be executed simultaneously starting from the first data node until the third data node is reached. Within the data group, the data decision task with the longest time is used as the time consumption of the second data group, thereby improving the efficiency of parallel scheduling and thus improving the scheduling efficiency of data decision tasks.
[0060] Figure 8 is a schematic diagram of the task scheduling process executed in the decision unit provided in a specific embodiment of the present application. Figure 8, still taking the data node types of the above-mentioned decision unit including user basic information data UbaseInfo, user derived feature data Ufeature and machine learning model type Model as an example. The decision unit includes the first data group 1 and the first data group 2, the first data group 1 corresponds to the execution rule Rule1, and the first data group 2 corresponds to the execution rule Rule2. When the scheduling instruction for the decision unit is obtained, the first data group is scheduled according to the first scheduling execution order of first executing the first data group 1 corresponding to Rule1, and then executing the first data group 2 corresponding to Rule2. The first data group 1 includes the second data group 1.1 and the second data group 1.2. Among them, the second data group 1.1 includes the data decision task composed of Model2, Ufeature3 and UbaseInfo1, and it takes 5 seconds to execute the data decision task of the second data group 1.1. The second data group 1.2 includes the data decision task composed of Model1, Ufeature1 and UbaseInfo2, the data decision task composed of Model1, Ufeature1 and UbaseInfo3, the data decision task composed of Model1 and Ufeature2, and the data decision task composed of Model1 and UbaseInfo4. The maximum time consumption of the data decision task in the second data group 1.2 is 5 seconds. When the second data group 1.1 and the second data group 1.2 are scheduled in parallel, the maximum time consumption of the first data group 1 is 5 seconds, so the scheduling time of the data decision task in the first data group 1 is 5 seconds. Similarly, the first data group 2 includes the second data group 2.1 and the second data group 2.2. The second data group 2.1 includes the data decision task composed of Modeln, Ufeature3 and UbaseInfo1. The time consumption of the data decision task in the second data group 2.1 is 5 seconds. The second data group 2.2 includes the data decision task composed of Modelm, Ufeature1 and UbaseInfo2, the data decision task composed of Modelm, Ufeature1 and UbaseInfo3, and the data decision task composed of Modelm and UbaseInfo4. The time consumption of the data decision task in the second data group 2.2 is 5 seconds. Therefore, the scheduling time of the data decision task in the first data group 2 is also 5 seconds. Therefore, the first data group 1 and the first data group 2 consume a total of 10 seconds. The decision execution module takes 2 seconds, so the total time consumed by the decision unit is 12 seconds. Figure 2 The time consumption of decision unit scheduling is compared with the related technology in the related art. The embodiment of the present application reduces the waiting time for data decision tasks and makes scheduling more efficient.
[0061] It should be understood that, although each step in the flowcharts involved in the above-mentioned embodiments is displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0062] Based on the same inventive concept, the embodiment of the present application also provides a data decision task scheduling device for implementing the data decision task scheduling method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the embodiments of one or more data decision task scheduling devices provided below can refer to the limitations of the data decision task scheduling method above, and the specific limitations will not be repeated here.
[0063] Fig. 9 is a structural diagram of a data decision task scheduling device 900 provided in an embodiment of the present application. Fig. 9 , the data decision task scheduling device 900 may include a determination module 901, a division module 902 and a scheduling module 903. The determination module 901 is used to determine a first data group based on a data decision task and an execution rule, wherein the first data group includes a plurality of data decision tasks, and the execution rule of each data decision task is the same. The division module 902 is used to divide the first data group into a plurality of second data groups, and the data nodes between the plurality of second data groups have no execution dependency. The scheduling module 903 is used to perform parallel scheduling on the second data groups.
[0064] The above-mentioned determination module 901, division module 902 and scheduling module 903 can respectively execute steps 501-503 in the above-mentioned method embodiment. For the detailed introduction of these modules, please refer to the introduction of the corresponding steps of the above-mentioned method, which will not be repeated here.
[0065] Based on the same inventive concept, the embodiment of the present application also provides a computer device, which can be a server or a terminal device, and the computer device includes a memory and a processor, and a computer program is stored in the memory. When the processor executes the computer program, the steps of the above-mentioned data decision task scheduling method are implemented. Various functions are thereby implemented, for example: determining a first data group based on data decision tasks and execution rules, the first data group includes multiple data decision tasks, and the execution rules of each data decision task are the same; dividing the first data group into multiple second data groups, and there is no execution dependency between the multiple second data groups; and scheduling the second data groups in parallel.
[0066] The embodiment of the present application groups data decision tasks with the same execution rules into the same first data group, and groups data decision tasks without execution dependencies into the same second data group. In this way, when scheduling decision data, the second data group without execution dependencies in the first data group can be scheduled in parallel without waiting for the data decision tasks without execution dependencies to be completed. In this way, the scheduling efficiency of data decision tasks in the decision unit can be improved.
[0067] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0068] In one embodiment, the computer device is a terminal device, for example, its internal structure diagram can be as follows: Fig.10 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a data decision task scheduling method is implemented. The display unit of the computer device is used to form a visually visible image, and can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse, etc.
[0069] Those skilled in the art will understand that Fig.10 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0070] Based on the same inventive concept, an embodiment of the present application also provides a computer-readable storage medium, which may include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0071] Since the computer program stored in the computer-readable storage medium can execute any one of the data decision task scheduling methods provided in the embodiments of the present application, the beneficial effects that can be achieved by any one of the data decision task scheduling methods provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0072] Based on the same inventive concept, the embodiment of the present application further provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided in various optional implementations in the above embodiments.
[0073] It should be noted that the object data (including but not limited to user device information, user personal information, etc.) and conversation data involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions. A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods.
[0074] Any reference to the memory, database or other media used in the embodiments provided in the present application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (Re RAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0075] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.
[0076] In the above-mentioned data decision task scheduling device, computer-readable storage medium, computer equipment, and computer program product embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process and beneficial effects of the above-described data decision task scheduling device, computer-readable storage medium, computer program product, computer equipment and its corresponding units can refer to the description of the data decision task scheduling method in the above embodiment, and will not be repeated here.
[0077] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0078] The above is a detailed introduction to a data decision task scheduling method, device, computer equipment, computer-readable storage medium and computer program product provided in an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A data decision task scheduling method, characterized in that: include: Determine a first data group based on the data decision task and the execution rule, wherein the first data group includes a plurality of data decision tasks, and the execution rule of each of the data decision tasks is the same; dividing the first data group into a plurality of second data groups, wherein the plurality of second data groups have no execution dependency relationship; The multiple second data groups are scheduled in parallel.
2. The method according to claim 1, characterized in that The data decision task includes a first task and a second task, the first task is a data decision task that has been traversed, and the second task is a data decision task that has not been traversed, and the method further includes: Establishing a first data group based on a first execution rule of the first task, wherein the number of the first data groups is the same as the number of types of the first execution rule; In response to a second execution rule of the second task being the same as the first execution rule, storing the second task in a first data group corresponding to the first execution rule; In response to a second execution rule of the second task being different from the first execution rule, a first data group corresponding to the second execution rule is established.
3. The method according to claim 1, characterized in that The method further comprises: Determine a first data node in a decision unit, the decision unit including the first data node, a second data node and a third data node, the first data node is a data node without a parent node, and the third data node is a data node without a child node; The data decision task is generated based on the execution dependency relationship between the third data node and the first data node.
4. The method according to claim 3, characterized in that The generating the data decision task based on the execution dependency relationship between the third data node and the first data node includes: Taking the first data node as a first execution node and the output result as a first output parameter, determining a data node having an execution dependency relationship with the first data node; If the data node is a second data node, the second data node is used as a second execution node, the output result is used as a second output parameter, and a third data node having an execution dependency relationship with the second data node is determined; The data decision task is determined by taking the first data node as the starting data node and the third data node as the ending data node.
5. The method according to claim 3, characterized in that: The dividing the first data group into a plurality of second data groups comprises: A first data decision task and a second data decision task including the same data node are determined; The first data decision task and the second data decision task are stored in a second data group.
6. The method according to claim 5, characterized in that The parallel scheduling of the plurality of second data groups comprises: In each second data group, the scheduling of the first data node in the data decision task is performed first, then the scheduling of the second data node in the data decision task is performed, and finally the scheduling of the third data node in the data decision task is performed.
7. A data decision task scheduling device, characterized in that: include: A determination module, configured to determine a first data group based on a data decision task and an execution rule, wherein the first data group includes a plurality of data decision tasks, and the execution rule of each of the data decision tasks is the same; A division module, used for dividing the first data group into a plurality of second data groups, wherein the plurality of second data groups have no execution dependency relationship; A scheduling module is used to perform parallel scheduling on the second data group.
8. A computer device, characterized in that: It comprises a processor and a memory, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to execute the steps of the data decision task scheduling method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the steps of the decision-making task scheduling method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The computer program product comprises a computer program, and the computer program is used by a processor to execute the steps of the data decision task scheduling method according to any one of claims 1 to 6.
