CN117648179A - Resource allocation method and device, electronic equipment and storage medium - Google Patents
Resource allocation method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN117648179A CN117648179A CN202311579919.6A CN202311579919A CN117648179A CN 117648179 A CN117648179 A CN 117648179A CN 202311579919 A CN202311579919 A CN 202311579919A CN 117648179 A CN117648179 A CN 117648179A
- Authority
- CN
- China
- Prior art keywords
- vertex
- target
- directed acyclic
- acyclic graph
- base
- 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
- 238000013468 resource allocation Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000010276 construction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000047 product Substances 0.000 description 11
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 9
- 229910052799 carbon Inorganic materials 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 8
- 238000013523 data management Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012356 Product development Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The application discloses a resource allocation method, a device, an electronic device and a storage medium, wherein the method comprises the following steps: determining a basic dependency relationship of at least one target object; each target object represents a business system; constructing a base directed acyclic graph based on at least one target object and the base dependency relationship; the base directed acyclic graph represents a base vertex set and a base dependency set; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex; determining a path set based on the base directed acyclic graph; setting a resource allocation method by application, and allocating resources for each path in the path set based on a target resource of an ending vertex; for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex. The practicability and the rationality of resource allocation are improved.
Description
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a method and apparatus for allocating resources, an electronic device, and a storage medium.
Background
In the development process of data transaction products, a data provider or a calculator is indispensable, and the provider or the calculator is collectively called as a participant, and each participant can be a respective service system of different tasks. The contribution degree is different for each business system in the process of product development, and therefore, the allocated resources of each business system are different.
In the prior art, when resource allocation is performed, each service system is set to be in a peer-to-peer relationship, and when contribution is evaluated, consideration elements are single, so that the resource allocation is unreasonable.
Disclosure of Invention
The exemplary embodiments of the present application provide a method, an apparatus, an electronic device, and a storage medium for resource allocation, so as to improve the rationality of resource allocation.
According to a first aspect in an exemplary embodiment, there is provided a resource allocation method, including:
determining a basic dependency relationship of at least one target object; wherein, each target object is a business system in a set scene;
constructing a base directed acyclic graph based on at least one target object and the base dependency relationship; wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between at least one vertex; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex;
determining a path set based on the base directed acyclic graph;
setting a resource allocation method by application, and allocating resources for each path in the path set based on a target resource of an ending vertex;
for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
According to a second aspect in an exemplary embodiment, there is provided a resource allocation apparatus comprising:
a dependency relationship acquisition unit configured to: determining a basic dependency relationship of at least one target object; wherein, each target object is a business system in a set scene;
a directed acyclic graph construction unit for: constructing a base directed acyclic graph based on at least one target object and the base dependency relationship; wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between at least one vertex; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex;
a path set determining unit configured to: determining a path set based on the base directed acyclic graph;
a resource allocation unit configured to: setting a resource allocation method by application, and allocating resources for each path in the path set based on a target resource of an ending vertex;
the allocation credit processing unit is used for: for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
According to a third aspect in an exemplary embodiment, an electronic device is provided, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of any of the methods described above when executing the computer program.
According to a fourth aspect in an exemplary embodiment, a computer storage medium is provided, in which computer program instructions are stored which, when run on a computer, cause the computer to perform the resource allocation method as in the first aspect.
In the embodiment of the application, each target object represents one business system involved in the development process of the data product, and the dependency relationship of each target object influences the resource allocation after the development of the data product is completed. Therefore, it is proposed to represent the dependency relationship with a directed acyclic graph, first, constructing a base directed acyclic graph based on each target object and the base dependency relationship, where the base directed acyclic graph represents a set of base vertices formed by at least one vertex and a set of base dependency relationships between at least one vertex; each vertex stores an identification of a target object; the base vertex set includes an end vertex. Secondly, determining a path set based on the basic directed acyclic graph, applying a set resource allocation method, and allocating resources for each path in the path set based on a target resource of an ending vertex; the path is used as a resource allocation basic unit, and the practicability is realized. Finally, for each initial vertex, determining the allocation quota of the initial vertex according to the allocation quota of the path associated with the initial vertex, wherein the allocation quota of the initial vertex represents the allocation quota of the target object corresponding to the initial vertex. Therefore, the dependency relationship is represented based on the directed acyclic graph, and the rationality and the practicability of resource allocation are improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 illustrates an application scenario diagram of a resource allocation method provided in an embodiment of the present application;
fig. 2 is a flowchart schematically illustrating a method for allocating resources according to an embodiment of the present application;
FIG. 3 illustrates a schematic diagram of a basic directed acyclic graph provided by an embodiment of the present application;
FIG. 4 schematically illustrates a target directed acyclic graph provided by an embodiment of the present application;
FIG. 5 schematically illustrates a set of target paths provided in an embodiment of the present application;
FIG. 6 schematically illustrates a resource allocation provided by an embodiment of the present application;
FIG. 7 is a flowchart illustrating a complete resource allocation method according to an embodiment of the present application;
fig. 8 schematically illustrates a structural diagram of a resource allocation device according to an embodiment of the present application;
fig. 9 schematically illustrates a structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
For ease of understanding, the terms referred to in the embodiments of the present application are explained below:
(1) Directed acyclic graph, which is a graph structure that consists of a set of vertices and a set of directed edges, the direction of which forms a directed path, and there are no loops. Each vertex represents a task or operation, while the directed edges represent dependencies between tasks.
In the embodiment of the application, each vertex stores an identification of a target object, and each target object represents a service system, and each service system can be used for executing corresponding tasks. In relation to a specific data transaction scenario, the data source of each business system may be referred to as a participant, while each participant is involved in data transactions and revenue distribution, and thus, the participants may be referred to as data transaction participants or revenue distribution participants in different situations. The benefit is one form of resource, the benefit may be a different form of resource, etc.
(2) Degree in the directed acyclic graph: the degree of a vertex refers to the number of edges associated with the vertex. For directed acyclic graphs, the degree of a vertex can be subdivided into an in-degree and an out-degree. The ingress of a vertex refers to the number of edges ending with the vertex in each of the edges associated with the vertex; the degree of departure is a relative concept, and refers to the number of sides starting from the vertex. The starting vertex is a vertex with zero input degree, and the ending vertex is a starting point with zero output degree.
Before describing the embodiments of the present application, a description is given of a data transaction scenario.
In the data basic system, a data basic system with data property rights, circulation transactions, income distribution and safety control as cores is constructed. The essence of the revenue distribution problem is a weight distribution mechanism that provides benefit distribution for each business system based on the contribution value of the data of each business system.
The data asset map is based on a cooperative game theory, and is a data source which reasonably and effectively distributes the service value generated by data to participate in economic tasks. And calculating and analyzing the value association relation between the data asset and each scene, and adding benefits generated by the data under different scenes.
In the development process of data transaction products, data information is provided or participants are calculated, and when a game model is built, the marginal contribution of any one participant cannot be determined. The data asset map considers that the value relation of the data to different scenes forms an objective map, and the cooperative relation between the data also forms an objective map. At present, the value links formed by the atlases are complicated.
In reality, there is a dependency relationship among a plurality of participants involved in revenue distribution, and this dependency relationship is particularly prominent in data transactions. The formation of data products comes from a plurality of data sources, and new data sources are formed through technical services of developers, and the new data sources are developed for a plurality of times to form the final product. The participants have a dependency relationship in the development process of the data product, so that multi-party serial directional paths are formed, and the paths can be crossed. In such complex situations, the problem of realizing the profit distribution by each participant needs to be solved, so as to determine a practical profit distribution method.
In the related art, the contribution of each service system is usually normalized to the parallel relationship of the same hierarchy, and the problem is simplified. However, in the practical application process, the service systems are not isolated, and cannot be simplified to a parallel relationship.
Thus, in data transactions, it is particularly important how to solve the problem of revenue distribution for each business system in order to determine more reasonable revenue.
Therefore, the embodiment of the application provides a resource allocation method, which considers the dependency relationship among the service systems corresponding to each task, further allocates resources based on the dependency relationship, and improves the rationality of resource allocation.
After the design concept of the embodiment of the present application is introduced, some simple descriptions are made below for application scenarios applicable to the technical solution of the embodiment of the present application, and it should be noted that the application scenarios described below are only used to illustrate the embodiment of the present application and are not limiting. In specific implementation, the technical scheme provided by the embodiment of the application can be flexibly applied according to actual needs.
Referring to FIG. 1, an application scenario diagram of a resource allocation method is shown, with a revenue allocation participant set N 0 ={a 0 ,b 0 ,c 0 ,d 0 ,d 0 ,t 0 The expression "only one ending vertex in the graph, vertex t 0 The method comprises the steps of carrying out a first treatment on the surface of the There is a dependency between the participants, which uses set E 0 ={<a 0 ,d 0 >,<a 0 ,e 0 >,<b 0 ,d 0 >,<d 0 ,e 0 >,<d 0 ,t 0 >,<c 0 ,t 0 >,<e 0 ,t 0 >Indicated by, e.g. directed edges<a 0 ,d 0 >Representation d 0 Dependent on a 0 。
Thus, the revenue distribution problem can be expressed as how to achieve reasonable revenue distribution among all participants in the directed acyclic graph g= (N, E) constructed by the revenue distribution participants.
In order to further explain the technical solutions provided in the embodiments of the present application, the following details are described with reference to the accompanying drawings and the detailed description. Although the embodiments of the present application provide the method operational steps as shown in the following embodiments or figures, more or fewer operational steps may be included in the method based on routine or non-inventive labor. In steps where there is logically no necessary causal relationship, the execution order of the steps is not limited to the execution order provided by the embodiments of the present application.
The technical solution provided in the embodiments of the present application is described below with reference to a flowchart of a resource allocation method shown in fig. 2 in conjunction with an application scenario shown in fig. 1.
S201: a base dependency of at least one target object is determined.
S202: a base directed acyclic graph is constructed based on at least one target object and the base dependency.
S203: a set of paths is determined based on the base directed acyclic graph.
S204: and (3) setting a resource allocation method by using the application, and allocating resources for each path in the path set based on the target resource of one ending vertex.
S205: and for each initial vertex, determining the allocation quota of the initial vertex according to the allocation quota of the path associated with the initial vertex.
In the embodiment of the application, each target object represents one business system involved in the development process of the data product, and the dependency relationship of each target object influences the resource allocation after the development of the data product is completed. Therefore, it is proposed to represent the dependency relationship with a directed acyclic graph, first, constructing a base directed acyclic graph based on each target object and the base dependency relationship, where the base directed acyclic graph represents a set of base vertices formed by at least one vertex and a set of base dependency relationships between at least one vertex; each vertex stores an identification of a target object; the base vertex set includes an end vertex. Secondly, determining a path set based on the basic directed acyclic graph, applying a set resource allocation method, and allocating resources for each path in the path set based on a target resource of an ending vertex; the path is used as a resource allocation basic unit, and the practicability is realized. Finally, for each initial vertex, determining the allocation quota of the initial vertex according to the allocation quota of the path associated with the initial vertex, wherein the allocation quota of the initial vertex represents the allocation quota of the target object corresponding to the initial vertex. Therefore, the dependency relationship is represented based on the directed acyclic graph, and the rationality and the practicability of resource allocation are improved.
Reference is made to S201, in which each target object represents a service system, and the basic dependency relationship of at least one target object can be determined according to the functions between the service systems.
A1: object information of at least one target object is acquired.
Wherein each target object represents one service system, data information of each service system is called object information, and each object information can represent a resource allocation contribution degree of the target object.
A2: and determining the dependency relationship between the at least one target object according to the object information of the at least one target object.
For example, the degree of resource allocation contribution of the target objects may be aggregated to determine a dependency relationship between at least one target object. In the embodiment of the application, 9 target objects are taken as examples, and are respectively indicated by a, b, c, d, e, f, g, h, t to respectively indicate oil consumption management systems (oil consumption data comprise oil filling periods, oil filling models, oil filling amounts and the like); vehicle operation data management system (vehicle operation data includes vehicle load, operation route, operation time length, etc.); driving behavior data management system (driving behavior data includes driving age, dangerous driving times, violation times, etc.); the waybill data management system (the waybill data comprises waybill mileage, operation oil consumption, waybill income and the like); traffic statistics data management system (traffic statistics data includes operation company data, operation lines, and carbon emission amount); driver information management systems (driver information includes personal characteristics, driving habits, industry average, etc.); traffic carbon emission data management systems (traffic carbon emission data includes vehicle type, cargo load, route, carbon emission amount, etc.); a driver analysis data management system (driver analysis data includes personal characteristics, carbon emission average value, carbon emission extremum, etc.); carbon fraction data management systems (carbon fraction emission data includes driving range, driving behavior assessment, carbon fraction, etc.). Fig. 3 is a schematic diagram of a basic directed acyclic graph according to an embodiment of the application, where each target object and dependency relationships are shown.
Reference is made to S202: a base directed acyclic graph is constructed based on at least one target object and the base dependency. Wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between at least one vertex; each vertex stores an identification of a target object. In addition, the embodiment of the application can be applied to the case that one ending vertex is included in the basic vertex set.
In the embodiment of the present application, the identifier of the target object may be a, b, c, d, e, f, g, h, t or the like. The base vertex set is n= { a, b, c, d, E, f, g, h, t }, e= { < a, d >, < a, h >, < b, d >, < b, E >, < c, f >, < c, t >, < d, g >, < E, g >, < E, h >, < f, h >, < g, t >, < h, t > }. In this example, there are three start vertices, a, b, c, and end vertex t, and the base directed acyclic graph is denoted by g= (N, E).
Referring to S203, a set of paths is determined based on the base directed acyclic graph.
The path set is divided into two cases, in the first case, the path set is the basic path set of the basic directed acyclic graph, and can be directly obtained according to the basic directed acyclic graph; in the second case, the path set is a target path set of a target directed acyclic graph, where the target directed acyclic graph is updated from a base directed acyclic graph. These two cases are described separately below.
First case: the path set is a base path set of the base directed acyclic graph.
Wherein, a depth-first or breadth-first algorithm may be applied to traverse all directed paths in the base intent graph to obtain a base path set of the base directed acyclic graph. In the example of the present application, the set of base paths is r1= { < a, d, g, t >, < a, h, t >, < b, d, g, t >, < b, e, g, t >, < b, e, h, t >, < c, t >, < c, f, h, t > }.
Second case: the path set is a target path set of the target directed acyclic graph.
Compared with the prior art, the first case considers the dependency relationship among the vertexes, and the resource allocation is more reasonable. However, as can be seen from the basic path set, some intermediate vertices (other than the starting vertex and the ending vertex) cannot be allocated reasonable resources, so the second case updates the basic directed acyclic graph, and the updating process considers the resource allocation rationality problem of the intermediate vertices.
Illustratively, this is accomplished by steps B1-B3:
b1: constructing a set of target vertices.
Wherein, the process of constructing the target vertex set can be realized through steps B1-1 to B1-2:
b1-1: traversing the basic vertex set, and determining that all the initial vertices form the initial vertex set.
To overcome the problems presented in the first case, the underlying vertex set needs to be screened. Therefore, the basic vertex set is traversed firstly, all initial vertices are found, and all actual vertices are determined to form the initial vertex set. Illustratively, the starting vertex set is { a, b, c }.
B1-2: and determining that other vertexes except the initial vertex set form a target vertex set in the basic vertex set.
Based on the above embodiment, the target vertex set k= { d, e, f, g, h, t }.
B2: and updating the basic directed acyclic graph based on the target vertex set to obtain the target directed acyclic graph.
Wherein, the process of constructing the target directed acyclic graph can be realized through steps B2-1 to B2-2:
b2-1: and constructing a target dependency relation set according to the target vertex set.
The target dependency relationship set comprises at least one group of dependency relationships, and each group of dependency relationships comprises the dependency relationship between any vertex in the target vertex set and the target vertex set.
By way of example, the dependency relationship between the vertices and the vertices is established, and the vertices can be fully considered in resource allocation. For example, the target dependency set conforms to l= { < x, x > |x E K }, and thus, based on the above embodiment, the obtained target dependency set E' = { < d, d >, < E, E >, < f, f >, < g, g >, < h, h >, < t, t > }.
B2-2: and adding the target vertex set and the target dependency relation set to the basic directed acyclic graph, and updating the basic directed acyclic graph.
Based on the basic directed acyclic graph, the basic directed acyclic graph can be updated by combining the target vertex set and the target dependency relationship to obtain a target directed acyclic graph G '(V, E'). Fig. 4 is a schematic diagram of a target directed acyclic graph according to an embodiment of the disclosure.
The expansion of the base directed acyclic graph G to the target directed acyclic graph G' takes into account the contribution of each participant in the data product development process, while flattening the longitudinal dependencies to facilitate the subsequent application of the revenue distribution algorithm.
B3: traversing the target directed acyclic graph, and determining a target path set.
Referring to the manner of determining the base path set, the target directed acyclic graph may be traversed to obtain the target path set. Based on the above embodiment, the target path set is r2= { < a, d, g, t >, < a, h, t >, < b, d, g, t >, < b, e, g, t >, < b, e, h, t >, < c, t >, < c, f, h, t >, < d, d, g, t >, < e, e, g, t >, < e, e, h, t >, < f, f, h, t >, < g, g, t >, < h, h, t >, < t, t > }. Fig. 5 is a schematic diagram of a target path set according to an embodiment of the present application.
Referring to S204, a set resource allocation method is applied to allocate resources for each path in the path set based on a target resource of the ending vertex.
Illustratively, the resource allocation method may be one or more of a fair entropy method, a Xia Puli value method, a differential allocation algorithm, and a weight allocation method. The resource to be allocated is a target resource of ending vertex. This results in resources that each path in the set of paths can allocate to.
The resource allocation cases of < a, d, g, t > are 3, 10, 30; the resource allocation case for < a, h, t > is 5, 20; the resource allocation cases of < b, d, g, t > are 3, 10, 30; the resource allocation cases of < b, e, g, t > are 5, 10, 30; the resource allocation cases of < b, e, h, t > are 2, 5, 20; the resource allocation case for < c, t > is 10; the resource allocation cases of < c, f, h, t > are 2, 5, 20; the resource allocation cases of < d, d, g, t > are 4, 10, 30; the resource allocation cases of < e, e, g, t > are 5, 10, 30; the resource allocation case of < e, e, h, t > is 3, 5, 20; the resource allocation case of < f, f, h, t > is 3, 5, 20; the resource allocation case for < g, g, t > is 10, 30; the resource allocation case of < h, h, t > is 5, 20; the resource allocation case for < t, t > is 40. For example, q (< a, d, g, t >) =3, which is the revenue distribution obtained by the path < a, d, g, t >.
Referring to S205, in consideration of the characteristics of the set resource allocation method, the process of resource allocation is a process of reverse allocation along a path, that is, the allocation of resources on one path to an upstream vertex. For example, vertex b on path < a, b > depends on vertex a, then the resources on that path are all of vertex a. Therefore, for each initial vertex, the allocation credit of the initial vertex is determined according to the allocation credit of the path associated with the initial vertex. Wherein the determining process may be a summing process. The allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
Fig. 6 is a schematic diagram of resource allocation provided in the embodiment of the present application, in which it can be seen that, when the ending vertex is used as a profit end of the data product, the resource allocation quota of the target object a is 3+5=8; the resource allocation credit of the target object b is 3+5+2=10; the resource allocation credit of the target object c is 10+2=12; the resource allocation quota of the target object d is 4; the resource allocation credit of the target object e is 5+3=8; the resource allocation quota of the target object f is 3; the resource allocation credit of the target object g is 10; the resource allocation quota of the target object h is 5; the resource allocation credit of the target object t is 40.
It should be noted that the resources in the foregoing examples may be resources in the form of data, which are merely illustrated herein and are not limited in particular.
In order to make the technical solution of the present application more complete, fig. 7 is a flowchart of a complete resource allocation method provided in an embodiment of the present application, where fig. 7 at least includes the following steps:
s701: object information of at least one target object is acquired.
S702: a base dependency relationship between the at least one target object is determined based on object information of the at least one target object.
S703: a base directed acyclic graph is constructed based on at least one target object and the base dependency.
S704: a set of base paths is determined based on the base directed acyclic graph.
S705: traversing the basic vertex set, and determining that all the initial vertices form the initial vertex set.
S706: and determining that other vertexes except the initial vertex set form a target vertex set in the basic vertex set.
S707: and constructing a target dependency relation set according to the target vertex set.
S708: adding the target vertex set and the target dependency relation set to the basic directed acyclic graph, and updating the basic directed acyclic graph to obtain a target directed acyclic graph;
s709: traversing the target directed acyclic graph, and determining a target path set.
S710: the application sets a resource allocation method, and allocates resources for each path in the path set (the base path set or the target path set) based on the target resource of one ending vertex.
S711: and adding the allocation quota of at least one path associated with the initial vertex aiming at each initial vertex to obtain the allocation quota of the initial vertex.
Step S704 is a case of performing resource allocation based on the basic directed acyclic graph, and steps S705 to S709 are a case of performing resource allocation based on the target directed acyclic graph obtained by updating the basic directed acyclic graph. There is no obvious precedence between the two cases, and fig. 7 is only an example.
In the embodiment of the present application, the implementation manner of each step may refer to the foregoing embodiment, which is not repeated herein.
The method is characterized by comprising the steps of providing a directed acyclic graph to represent the dependency relationship of each participant in the development process of a data product and providing theoretical support for the profit distribution in data transaction;
a path set is generated based on the directed acyclic graph, and the path set is used as a basic unit, so that the practicability is realized.
The complex dependency is represented by a directed acyclic graph.
As shown in fig. 8, based on the same inventive concept, the embodiment of the present application provides a resource allocation apparatus including a dependency relationship acquisition unit 81, a directed acyclic graph construction unit 82, a path set determination unit 83, a resource allocation unit 84, and an allocation credit processing unit 85.
Wherein the dependency relationship obtaining unit 81 is configured to: determining a basic dependency relationship of at least one target object; wherein each target object represents a business system;
a directed acyclic graph construction unit 82 for: constructing a base directed acyclic graph based on at least one target object and the base dependency relationship; wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between at least one vertex; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex;
a path set determining unit 83 for: determining a path set based on the base directed acyclic graph;
a resource allocation unit 84 for: setting a resource allocation method by application, and allocating resources for each path in the path set based on a target resource of an ending vertex;
the allocation credit processing unit 85 is configured to: for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
In an alternative embodiment, the set of paths is a set of paths of a base directed acyclic graph, or a set of target paths of a target directed acyclic graph.
In an alternative embodiment, the directed acyclic graph construction unit 82 is further configured to:
constructing a target vertex set; wherein the target vertex set comprises other vertices except the initial vertex in the basic vertex set;
updating the basic directed acyclic graph based on the target vertex set to obtain a target directed acyclic graph;
traversing the target directed acyclic graph, and determining a target path set.
In an alternative embodiment, the directed acyclic graph construction unit 82 is specifically configured to:
constructing a target dependency relation set according to the target vertex set; the target dependency relationship set comprises at least one group of dependency relationships, and each group of dependency relationships comprises the dependency relationship between any vertex in the target vertex set and the target vertex set;
and adding the target vertex set and the target dependency relation set to the basic directed acyclic graph, and updating the basic directed acyclic graph.
In an alternative embodiment, the directed acyclic graph construction unit 82 is specifically configured to:
traversing the basic vertex set, and determining that at least one initial vertex forms the initial vertex set;
and determining that other vertexes except the initial vertex set form a target vertex set in the basic vertex set.
In an alternative embodiment, the dependency relationship obtaining unit 81 is specifically configured to:
acquiring object information of at least one target object; wherein the object information represents a resource allocation contribution degree of the target object;
and determining the dependency relationship between the at least one target object according to the object information of the at least one target object.
In an alternative embodiment, the allocation credit processing unit 85 is specifically configured to:
and adding the allocation quota of at least one path associated with the initial vertex aiming at each initial vertex to obtain the allocation quota of the initial vertex.
Since the apparatus is the apparatus in the method in the embodiment of the present application, and the principle of the apparatus for solving the problem is similar to that of the method, the implementation of the apparatus may refer to the implementation of the method, and the repetition is not repeated.
Based on the same inventive concept as the above-mentioned resource allocation method, the embodiment of the application also provides an electronic device, which may be specifically (a control device or a control system inside the intelligent device, or may be an external device that communicates with the intelligent device, for example) a desktop computer, a portable computer, a smart phone, a tablet computer, a personal digital assistant (Personal Digital Assistant, PDA), a server, or the like. As shown in fig. 9, the electronic device may include a processor 91 and a memory 92.
The processor 91 may be a general-purpose processor such as a Central Processing Unit (CPU), digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, and may implement or perform the methods, steps, and logic blocks disclosed in embodiments of the present application. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in the processor for execution.
The memory 92 serves as a non-volatile computer-readable storage medium for storing non-volatile software programs, non-volatile computer-executable programs, and modules. The Memory may include at least one type of storage medium, which may include, for example, flash Memory, hard disk, multimedia card, card Memory, random access Memory (Random Access Memory, RAM), static random access Memory (Static Random Access Memory, SRAM), programmable Read-Only Memory (Programmable Read Only Memory, PROM), read-Only Memory (ROM), charged erasable programmable Read-Only Memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetic Memory, magnetic disk, optical disk, and the like. The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory 92 in the present embodiment may also be circuitry or any other device capable of implementing a memory function for storing program instructions and/or data.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the above method embodiments may be implemented by hardware associated with program instructions, where the foregoing program may be stored in a computer readable storage medium, and when executed, the program performs steps including the above method embodiments; such computer storage media can be any available media or data storage device that can be accessed by a computer including, but not limited to: various media that can store program code, such as a mobile storage device, a random access memory (RAM, random Access Memory), a magnetic memory (e.g., a floppy disk, a hard disk, a magnetic tape, a magneto-optical disk (MO), etc.), an optical memory (e.g., CD, DVD, BD, HVD, etc.), and a semiconductor memory (e.g., ROM, EPROM, EEPROM, a nonvolatile memory (NAND FLASH), a Solid State Disk (SSD)), etc.
Alternatively, the integrated units described above may be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially or partly contributing to the prior art, and the computer software product may be stored in a storage medium, and include several instructions 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 methods of the embodiments of the present application. And the aforementioned storage medium includes: various media that can store program code, such as a mobile storage device, a random access memory (RAM, random Access Memory), a magnetic memory (e.g., a floppy disk, a hard disk, a magnetic tape, a magneto-optical disk (MO), etc.), an optical memory (e.g., CD, DVD, BD, HVD, etc.), and a semiconductor memory (e.g., ROM, EPROM, EEPROM, a nonvolatile memory (NAND FLASH), a Solid State Disk (SSD)), etc.
The foregoing embodiments are only used for describing the technical solutions of the present application in detail, but the descriptions of the foregoing embodiments are only used for helping to understand the methods of the embodiments of the present application, and should not be construed as limiting the embodiments of the present application. Variations or alternatives readily occur to those skilled in the art and are intended to be encompassed within the scope of the embodiments of the present application.
Claims (10)
1. A method for resource allocation, comprising:
determining a basic dependency relationship of at least one target object; wherein each target object represents a business system;
constructing a base directed acyclic graph based on the at least one target object and the base dependency relationship; wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between the at least one vertex; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex;
determining a path set based on the base directed acyclic graph;
applying a set resource allocation method, and performing resource allocation for each path in the path set based on the target resource of the ending vertex;
for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
2. The method of claim 1, wherein the set of paths is a base set of paths for the base directed acyclic graph or a target set of paths for a target directed acyclic graph;
the target directed acyclic graph is obtained by updating the basic directed acyclic graph.
3. The method according to claim 2, wherein the method further comprises:
constructing a target vertex set; wherein the target vertex set comprises other vertices except for the initial vertex in the basic vertex set;
updating the basic directed acyclic graph based on the target vertex set to obtain a target directed acyclic graph;
and traversing the target directed acyclic graph to determine a target path set.
4. A method according to claim 3, wherein said updating said base directed acyclic graph based on said set of target vertices comprises:
constructing a target dependency relation set according to the target vertex set; the target dependency relationship set comprises at least one group of dependency relationships, and each group of dependency relationships comprises the dependency relationship between any vertex in the target vertex set and the target vertex set;
and adding the target vertex set and the target dependency relation set to the basic directed acyclic graph, and updating the basic directed acyclic graph.
5. The method of claim 3, wherein constructing the set of target vertices comprises:
traversing the basic vertex set, and determining all initial vertices to form an initial vertex set;
and determining that other vertexes except the initial vertex set form the target vertex set in the basic vertex set.
6. The method of claim 1, wherein determining the underlying dependency of the at least one target object comprises:
acquiring object information of at least one target object; wherein the object information represents a resource allocation contribution degree of the target object;
and determining the basic dependency relationship between the at least one target object according to the object information of the at least one target object.
7. The method of claim 1, wherein the determining, for each starting vertex, the starting vertex's allocation credit based on the allocation credit of at least one path associated with the starting vertex comprises:
and adding the allocation quota of at least one path associated with each initial vertex to obtain the allocation quota of the initial vertex.
8. A resource allocation apparatus, comprising:
a dependency relationship acquisition unit configured to: determining a basic dependency relationship of at least one target object; wherein each target object represents a business system;
a directed acyclic graph construction unit for: constructing a base directed acyclic graph based on the at least one target object and the base dependency relationship; wherein the base directed acyclic graph represents a base vertex set formed by at least one vertex and a base dependency relationship set between the at least one vertex; each vertex stores an identification of a target object; the basic vertex set comprises an ending vertex;
a path set determining unit configured to: determining a path set based on the base directed acyclic graph;
a resource allocation unit configured to: applying a set resource allocation method, and performing resource allocation for each path in the path set based on the target resource of the ending vertex;
the allocation credit processing unit is used for: for each initial vertex, determining the distribution limit of the initial vertex according to the distribution limit of the path associated with the initial vertex; the allocation quota of the initial vertex indicates the allocation quota of the target object corresponding to the initial vertex.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method of any one of claims 1 to 7 when the computer program is executed by the processor.
10. A computer readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the steps of the method of any of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311579919.6A CN117648179A (en) | 2023-11-23 | 2023-11-23 | Resource allocation method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311579919.6A CN117648179A (en) | 2023-11-23 | 2023-11-23 | Resource allocation method and device, electronic equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648179A true CN117648179A (en) | 2024-03-05 |
Family
ID=90048793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311579919.6A Pending CN117648179A (en) | 2023-11-23 | 2023-11-23 | Resource allocation method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648179A (en) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20150221037A1 (en) * | 2014-02-05 | 2015-08-06 | Wipro Limited | System and method for allocting investment fund for an application |
US20150278736A1 (en) * | 2014-03-25 | 2015-10-01 | Innotas | Framework to optimize the selection of projects and the allocation of resources within a structured business organization under time, resource and budget constraints |
EP3367240A1 (en) * | 2017-02-27 | 2018-08-29 | Nokia Solutions and Networks Oy | Allocation method and allocation system for allocating resources to a data-based service |
CN112035256A (en) * | 2020-08-28 | 2020-12-04 | 北京字节跳动网络技术有限公司 | Resource allocation method, device, electronic equipment and medium |
CN112380359A (en) * | 2021-01-18 | 2021-02-19 | 平安科技(深圳)有限公司 | Knowledge graph-based training resource allocation method, device, equipment and medium |
CN112925951A (en) * | 2021-02-10 | 2021-06-08 | 中国工商银行股份有限公司 | Method and device for processing directed weighted graph |
CN113487132A (en) * | 2021-06-02 | 2021-10-08 | 广东电网有限责任公司广州供电局 | Distribution network post-disaster first-aid repair resource allocation method and device and computer equipment |
KR20220086160A (en) * | 2020-12-16 | 2022-06-23 | 고려대학교 산학협력단 | Method for prioritizing resources based on dependency of web resources, recording medium and device for performing the method |
CN114764354A (en) * | 2022-04-19 | 2022-07-19 | 卡奥斯工业智能研究院(青岛)有限公司 | Dependency management method and device based on PAAS, electronic equipment and medium |
CN115617776A (en) * | 2022-09-30 | 2023-01-17 | 国家石油天然气管网集团有限公司 | Data management system and method |
US20230077176A1 (en) * | 2020-06-15 | 2023-03-09 | Wuhan University Of Technology | Multi-user slice resource allocation method based on competitive game |
CN115794917A (en) * | 2022-11-24 | 2023-03-14 | 中国银行股份有限公司 | Method and device for importing resource data |
WO2023077750A1 (en) * | 2021-11-04 | 2023-05-11 | 苏州浪潮智能科技有限公司 | Method and apparatus for allocating neural network computing task among heterogeneous resources, and device |
CN116108042A (en) * | 2023-04-11 | 2023-05-12 | 北京淘友天下技术有限公司 | Data processing method, device, electronic equipment, storage medium and program product |
-
2023
- 2023-11-23 CN CN202311579919.6A patent/CN117648179A/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229900A1 (en) * | 2002-05-10 | 2003-12-11 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US20150221037A1 (en) * | 2014-02-05 | 2015-08-06 | Wipro Limited | System and method for allocting investment fund for an application |
US20150278736A1 (en) * | 2014-03-25 | 2015-10-01 | Innotas | Framework to optimize the selection of projects and the allocation of resources within a structured business organization under time, resource and budget constraints |
EP3367240A1 (en) * | 2017-02-27 | 2018-08-29 | Nokia Solutions and Networks Oy | Allocation method and allocation system for allocating resources to a data-based service |
US20230077176A1 (en) * | 2020-06-15 | 2023-03-09 | Wuhan University Of Technology | Multi-user slice resource allocation method based on competitive game |
CN112035256A (en) * | 2020-08-28 | 2020-12-04 | 北京字节跳动网络技术有限公司 | Resource allocation method, device, electronic equipment and medium |
KR20220086160A (en) * | 2020-12-16 | 2022-06-23 | 고려대학교 산학협력단 | Method for prioritizing resources based on dependency of web resources, recording medium and device for performing the method |
CN112380359A (en) * | 2021-01-18 | 2021-02-19 | 平安科技(深圳)有限公司 | Knowledge graph-based training resource allocation method, device, equipment and medium |
CN112925951A (en) * | 2021-02-10 | 2021-06-08 | 中国工商银行股份有限公司 | Method and device for processing directed weighted graph |
CN113487132A (en) * | 2021-06-02 | 2021-10-08 | 广东电网有限责任公司广州供电局 | Distribution network post-disaster first-aid repair resource allocation method and device and computer equipment |
WO2023077750A1 (en) * | 2021-11-04 | 2023-05-11 | 苏州浪潮智能科技有限公司 | Method and apparatus for allocating neural network computing task among heterogeneous resources, and device |
CN114764354A (en) * | 2022-04-19 | 2022-07-19 | 卡奥斯工业智能研究院(青岛)有限公司 | Dependency management method and device based on PAAS, electronic equipment and medium |
CN115617776A (en) * | 2022-09-30 | 2023-01-17 | 国家石油天然气管网集团有限公司 | Data management system and method |
CN115794917A (en) * | 2022-11-24 | 2023-03-14 | 中国银行股份有限公司 | Method and device for importing resource data |
CN116108042A (en) * | 2023-04-11 | 2023-05-12 | 北京淘友天下技术有限公司 | Data processing method, device, electronic equipment, storage medium and program product |
Non-Patent Citations (3)
Title |
---|
刘少伟;任开军;邓科峰;宋君强;: "云平台上基于关键路径截取的有向无环图应用调度算法", 国防科技大学学报, no. 03, 28 June 2017 (2017-06-28) * |
郭晓蓓;蒋亮;: "数字经济视角下的商业银行数字化转型探讨", 金融科技时代, no. 09, 10 September 2020 (2020-09-10) * |
陈廷伟;张斌;郝宪文;: "基于任务-资源分配图优化选取的网格依赖任务调度", 计算机研究与发展, no. 10, 15 October 2007 (2007-10-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200401445A1 (en) | Graph data based task scheduling method, apparatus and storage medium thereof | |
CN113792159A (en) | Knowledge graph data fusion method and system | |
Balbus et al. | Time consistent Markov policies in dynamic economies with quasi-hyperbolic consumers | |
US20150170078A1 (en) | System and method of allocating large numbers of tasks | |
CN109344173B (en) | Data management method and device and data structure | |
CN114237587A (en) | Management and control method and system based on IDEA technical service SmartFlow | |
CN109614263B (en) | Disaster tolerance data processing method, device and system | |
CN110851482A (en) | Method and device for providing data model for multiple data parties | |
CN117648179A (en) | Resource allocation method and device, electronic equipment and storage medium | |
CN111209283A (en) | Data processing method and device | |
Kraiczy et al. | An adaptive and verifiably proportional method for participatory budgeting | |
Krasa | Unimprovable allocations in economies with incomplete information | |
Hao et al. | An efficient pricing strategy of sensing tasks for crowdphotographing | |
CN113849580A (en) | Subject rating prediction method and device, electronic equipment and storage medium | |
CN114924871A (en) | Data processing method and device based on resource pool structure and computer equipment | |
Ciuriak | Policy implications of heterogeneous firms trade theory | |
CN114077962A (en) | Resource quota re-determination method and device based on user tag and computer equipment | |
CN113656507A (en) | Method and device for executing transaction in blockchain system | |
Kansal et al. | A request allocation model for processing data in federated cloud computing | |
CN111898004A (en) | Data mining method and device, electronic equipment and readable storage medium thereof | |
CN111859115A (en) | User allocation method and system, data processing equipment and user allocation equipment | |
CN117764709A (en) | Method and device for determining credit status of user | |
US11687328B2 (en) | Method and system for software enhancement and management | |
US20090210465A1 (en) | Comparing process sizes | |
CN116258362B (en) | Workflow generation method, system, equipment and medium |
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 |