WO2021003704A1 - Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal - Google Patents

Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal Download PDF

Info

Publication number
WO2021003704A1
WO2021003704A1 PCT/CN2019/095458 CN2019095458W WO2021003704A1 WO 2021003704 A1 WO2021003704 A1 WO 2021003704A1 CN 2019095458 W CN2019095458 W CN 2019095458W WO 2021003704 A1 WO2021003704 A1 WO 2021003704A1
Authority
WO
WIPO (PCT)
Prior art keywords
graph
sub
processes
privacy
subgraph
Prior art date
Application number
PCT/CN2019/095458
Other languages
French (fr)
Chinese (zh)
Inventor
周池
肖遥
毛睿
Original Assignee
深圳大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳大学 filed Critical 深圳大学
Priority to PCT/CN2019/095458 priority Critical patent/WO2021003704A1/en
Publication of WO2021003704A1 publication Critical patent/WO2021003704A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the invention relates to the technical field of process mapping algorithms, in particular to a geographically distributed process mapping method, device and terminal containing privacy constraint conditions.
  • the current leading level algorithm is a heuristic greedy algorithm (Greedy algorithm) proposed by Heofler et al.
  • This algorithm is used to solve the process mapping problem in heterogeneous networks.
  • This method is based on the greedy algorithm.
  • Mapping strategy this method has low overhead and can achieve better optimization results; the other is a mapping optimization method (MPIPP) proposed by Chen et al. for arbitrary message-passing applications, which is based on k- A method of way graph division. This method has a relatively large search space and is more applicable to the process mapping problem of any message-passing application.
  • the first is the network characteristics in a geographically distributed environment: the network bandwidth in the data center is much higher than the network bandwidth between the data centers; the network bandwidth between the data centers is highly correlated with the geographic distance between the data centers.
  • the second is the data migration constraint in a geographically distributed environment: due to the varying degrees of data privacy protection in various countries and regions in the world, data is not allowed to migrate from areas with high data privacy protection levels to areas with low data privacy protection levels for processing. Therefore, the process mapping problem in a geographically distributed environment is a process mapping problem with constraints.
  • the embodiments of the present invention provide a geographically distributed process mapping method, device and terminal with privacy constraints, aiming to solve the problem that the existing process mapping algorithm is not suitable for process mapping in a geographically distributed environment.
  • an embodiment of the present invention provides a geographically distributed process mapping method with privacy constraints, which includes:
  • the characteristic privacy level Im If the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
  • the graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
  • the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
  • the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
  • the subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG.
  • a further technical solution is that, after storing the sub-graph G 2 as a divided sub-graph in the list for storing the divided sub-graph, the method further includes:
  • embodiments of the present invention also provide a geographically distributed process mapping device with privacy constraints, which includes a unit for executing the above method.
  • an embodiment of the present invention also provides a terminal, which includes a memory and a processor, the memory stores a computer program, and the processor implements the above method when the computer program is executed.
  • an embodiment of the present invention also provides a computer-readable storage medium, the storage medium stores a computer program, and the computer program can implement the foregoing method when executed by a processor.
  • the original process graph is divided into a series of subgraphs and the data center set of each subgraph, and the corresponding data center set can meet the privacy protection requirements of all processes in the corresponding subgraph (that is, the data center set
  • the privacy protection level is equal to or lower than the privacy protection level of the process), thereby solving the privacy protection constraint problem of process mapping in a geographically distributed environment.
  • Figure 1 is a schematic diagram of an application scenario of a geographically distributed process mapping method with privacy constraints provided by an embodiment of the present invention
  • Fig. 2 is a schematic block diagram of a terminal according to an embodiment of the present invention.
  • the term “if” can be interpreted as “when” or “once” or “in response to determination” or “in response to detection” depending on the context .
  • the phrase “if determined” or “if detected [described condition or event]” can be interpreted as meaning “once determined” or “response to determination” or “once detected [described condition or event]” depending on the context ]” or “in response to detection of [condition or event described]”.
  • process mapping A series of processes are allocated to each machine so that the communication between processes can effectively utilize the physical links in the network.
  • process mapping Such a process is called process mapping.
  • data movement is subject to many constraints such as privacy protection, and some processes can only be mapped to specific data center machines. Therefore, a problem different from traditional process mapping arises: constrained process mapping.
  • L T and B T respectively represent the delay and bandwidth between different data centers.
  • the elements are L T (k',l') and B T (k',l') Respectively represent the delay and bandwidth between data center k'and l'.
  • the elements on the diagonal of the matrix represent the delay and bandwidth in the data center.
  • the communication pattern matrix C G where the element C G (i,j) represents the communication volume between process i and process j.
  • Define a counting matrix A G where the element A G (i,j) represents the number of times that process i sends information to process j.
  • the communication overhead can be calculated according to the following formula:
  • w i,j represents the communication volume between process i and process j
  • d k',l' represents the network performance between data center k'and l'
  • f(w,d) is the cost function
  • N-dimensional vector Represents the mapping result, where the i-th element represents the data center to which process i is mapped.
  • the i-th element represents the number of available nodes in data center i.
  • the problem to be solved in this embodiment is the optimization problem with constraints described in formulas (2) and (3).
  • the technical solution proposed in this embodiment includes the following steps.
  • the process map of the application is acquired, and the acquired process map of the application is set as the to-be-divided graph G.
  • the list of subgraphs may be a subgraphlist.
  • the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes of the graph G to be divided is taken as the characteristic privacy level Im .
  • the privacy level is set at the maximum process will be described later is divided in G of FIG characterized privacy level after I m, the graph G to be segmented is smaller than the privacy level privacy level I m wherein the process into the 1 to the sub-graph G, the graph G to be divided is equal to the privacy level I m wherein privacy level to put the process of the sub-G in FIG. 2.
  • the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the application of the privacy level equal privacy level I m wherein the data center into the collection S 2 in.
  • each process in the sub-graph G 2 and all processes in the sub-graph G 1 are calculated Total traffic.
  • step S8 the said sub-G in FIG. 2 is moved to the maximum total traffic process all the processes of the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided a process for the subgraph of G The highest privacy level among all the processes in 1 and return to step S6.
  • the subgraph of G 2 is moved in the process of maximum total traffic amount of all the processes the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided for said sub-process G in FIG. 1 the highest privacy level in all processes, and returns to step S6 again circulating the above steps until the subgraph of G 1 is equal to the number of processes and a set S of the data center until the total available number of nodes.
  • the sub-graph G 2 is saved as a divided sub-graph for storing the divided sub-graph In the list of subgraphs.
  • the sub-graph G 2 is left blank.
  • step 2 set the subgraph G 1 as the new to-be-divided graph G, and return to step 2 to repeat the above steps until the process graph of the application is divided into k (k is equal to the value of the process graph of the application).
  • k is equal to the value of the process graph of the application.
  • the number of privacy levels in all processes) subgraphs, and each subgraph has a corresponding set of data centers.
  • sub-graph G 1 is set as the new to-be-divided graph G, the sub-graph G 1 needs to be blanked.
  • the application contains 8 processes, numbered 1-8; there are four data centers, divided into four groups, numbered 1-4, and each data center contains two nodes, namely
  • the communication mode matrix C G is used to represent the process communication diagram.
  • each process includes a total of four privacy protection levels, namely level 1 to level 4. The lower the level, the stricter the privacy protection requirements of the process. , The fewer data centers can be mapped to.
  • the privacy protection level of each data center can also be obtained.
  • Level 1 to Level 4 which respectively indicate the lowest privacy levels of processes that can be mapped to the data center.
  • the privacy level of data center b is 2, which means that processes with privacy protection levels 2, 3, and 4 can be mapped to the data center, and processes with privacy protection level 1 cannot be mapped to the data center.
  • the higher the privacy protection level of the data center the better the privacy protection provided by the data center, which can accommodate processes with stricter privacy protection requirements.
  • Step 1 Select the highest privacy protection level 4 among the processes of the graph G to be divided, put processes with a privacy protection level lower than 4 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 . .
  • the highest privacy protection level 4 among the processes of the graph G to be divided is selected, the processes with the privacy protection level lower than 4 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 .
  • G in FIG. 1 the child process with a 1,2,3,4,5; G in FIG. 2 there are sub 6,7,8 processes.
  • Put data centers with a privacy protection level lower than 4 into set S 1 and put the remaining data centers into set S 2 .
  • the number of available nodes in the data center in the set S 1 is calculated by the following formula:
  • Step 2 Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
  • Step 3 Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center d in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
  • subgraph G 1 Since the processes in subgraph G 1 are 1, 2, 3, 4, 5, and 6, the privacy protection levels are 1, 2, 2, 3, 3, and 3 respectively, and the number of privacy levels is greater than 1, so subgraph G 1 Continue to divide. At this time, set the sub-graph G 1 as the new to-be-divided picture G, and set the sub-graph G 1 and the sub-graph G 2 to be empty.
  • Step 4 Select the highest privacy protection level 3, put processes with a privacy protection level lower than 3 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 .
  • the highest privacy protection level 3 is selected, the processes with the privacy protection level lower than 3 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 .
  • G in FIG. 1 the child process with a 1,2,3, 1,2,2 privacy level, respectively;
  • G in FIG. 2 there are sub-processes 4,5,6, 3,3,3 privacy level respectively.
  • Put data centers with a privacy protection level lower than 3 into set S 1 and put the remaining data centers into set S 2 .
  • the number of processes in the sub-graph G 1 is 3, which is less than the number of available nodes 4 in the data center in the set S 1 , it is necessary to select a part of the processes in the sub-graph G 2 to be placed in the sub-graph G 1 .
  • Step 5 Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
  • Step 6 Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center c in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
  • the sub-G 1 in the process of FIG 1,2,3,4, 1,2,2,2 privacy level respectively, the number of privacy level greater than 1, it is necessary to continue dividing a sub-G in FIG.
  • Step 7 Select the highest privacy protection level 2, put processes with a privacy protection level lower than 2 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 .
  • the processes with a privacy protection level lower than 2 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 .
  • the privacy protection level is 1, respectively; there are processes 2, 3, and 4 in subgraph G2, and the privacy protection level is 2, 2 , and 2 respectively.
  • Put data centers with a privacy protection level lower than 2 into set S 1 and put the remaining data centers into set S 2 .
  • the number of processes in the sub-graph G 1 is 1, which is less than the number of available nodes in the data center in the set S 1. Therefore, it is necessary to select a part of the processes in the sub-graph G 2 into the sub-graph G 1 .
  • Step 8 Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
  • Step 9 Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center b in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
  • a G sub-processes in FIG. 1,2, 1,1, respectively privacy level, privacy level number is equal to 1, then there is no need to continue a G sub picture divided into a sub-G in FIG.
  • the subgraphlist subgraphlist mark the data center a in the set S 1 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty. End the algorithm flow.
  • the above method is tested on two cloud platforms of Amazon EC2 and Windows Azure, and the methods including BT (Block Tri-diagonal solver algorithm for solving block tri-diagonal equations) and SP (Scalar Penta-diagonal Solver scalar five-diagonal equations solving algorithm), LU (Lower-upper Gauss-Seidel solver bottom-up Gauss-Seidel iterative algorithm), K-means clustering algorithm, and DNN (deep neutral network deep neural network)
  • BT Block Tri-diagonal solver algorithm for solving block tri-diagonal equations
  • SP Scalar Penta-diagonal Solver scalar five-diagonal equations solving algorithm
  • LU Lower-upper Gauss-Seidel solver bottom-up Gauss-Seidel iterative algorithm
  • K-means clustering algorithm K-means clustering algorithm
  • DNN deep neutral network deep neural network
  • this embodiment also provides a geographically distributed process mapping device with privacy constraints.
  • the geographically distributed process mapping device with privacy constraints includes a unit for executing the above-mentioned geographically distributed process mapping method with privacy constraints.
  • the device can be configured in a desktop computer, a tablet computer, a laptop computer, and other terminals.
  • the process mapping device includes a setting unit, a first judging unit, a confirming unit, a putting unit, a second judging unit, a first saving unit, and a returning unit.
  • the setting unit is used to obtain the process graph of the application, and set the process graph of the application as the graph G to be divided.
  • the first judging unit is used to judge whether the number of privacy levels of the processes in the graph G to be divided is greater than one.
  • the confirmation unit is configured to, if the number of privacy levels of the processes in the graph G to be divided is greater than 1, use the largest privacy level in the processes of the graph G to be divided as the characteristic privacy level Im .
  • the graph G to be segmented privacy level is equal to the privacy feature level I m to the process into the sub-G in FIG. 2
  • the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1
  • the application level is equal to the privacy privacy level I m wherein the data collection center was placed in S 2.
  • the second judging unit is used to judge whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
  • a first storage unit configured to, if the number of 1 in the process S is not less than the set of available nodes in a sub-graph G, the map G 2 as a sub-divided into sub FIG saved for Store the list of divided subgraphs;
  • the returning unit is configured to set the subgraph G 1 as a new to-be-segmented graph G, and return to the step of judging whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than one.
  • the process mapping device further includes a second saving unit.
  • the second saving unit is configured to, if the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, save the to-be-segmented graph G in a list for storing the divided sub-graphs.
  • the process mapping device further includes an acquiring unit and a moving unit.
  • the obtaining unit is configured to obtain information about each process in the sub-graph G 2 and all processes in the sub-graph G 1 if the number of processes in the sub-graph G 1 is less than the number of available nodes in the set S1 Total traffic
  • a mobile unit for the sub-graph G 2 is moved to the maximum total traffic amount of the process all the processes of the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided to the process subgraph of G 1 highest privacy level in all processes, and returns the determination of the number of sub-G in FIG. 1 whether the number of processes in the set S 1 in step is less than the available nodes.
  • the process mapping device further includes a first blanking unit.
  • the first blanking unit is used to blank the sub-graph G 2 .
  • the process mapping device further includes a second blanking unit.
  • the above geographically distributed process mapping device with privacy constraints may be implemented in the form of a computer program, and the computer program may run on the terminal as shown in FIG. 2.
  • FIG. 2 is a schematic block diagram of a terminal 300 according to another embodiment of the present invention.
  • the terminal 300 in this embodiment may include: one or more processors 301; one or more input devices 302, one or more output devices 303, and a memory 304.
  • the aforementioned processor 301, input device 302, output device 303, and memory 304 are connected via a bus 305.
  • the memory 302 is used to store instructions
  • the processor 301 is used to execute instructions stored in the memory 302.
  • the processor 301 is used to execute:
  • the characteristic privacy level Im If the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
  • the graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
  • the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
  • the processor 301 is further configured to execute:
  • the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
  • the processor 301 is further configured to execute:
  • the subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG.
  • the processor 301 is further configured to execute:
  • the processor 301 is further configured to execute:
  • the processor 301 may be a central processing unit (Central Processing Unit, CPU), and the processor 301 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
  • the computer program may be stored in a storage medium, and the storage medium is a computer-readable storage medium.
  • the computer program is executed by at least one processor in the computer system to implement the process steps of the foregoing method embodiment.
  • the invention also provides a storage medium.
  • the storage medium may be a computer-readable storage medium.
  • the storage medium stores a computer program. When the computer program is executed by the processor, the processor executes the following steps:
  • the characteristic privacy level Im If the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
  • the graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
  • the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
  • the processor further implements the following steps when executing the computer program:
  • the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
  • the processor further implements the following steps when executing the computer program:
  • the subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG.
  • the processor further implements the following steps when executing the computer program:
  • the processor further implements the following steps when executing the computer program:
  • the storage medium may be a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk or an optical disk, and other computer-readable storage media that can store program codes.
  • ROM Read-Only Memory
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of each unit is only a logical function division, and there may be other division methods in actual implementation.
  • multiple units or components can be combined or integrated into another system, or some features can be omitted or not implemented.
  • the steps in the method of the embodiment of the present invention can be adjusted, merged, and deleted in order according to actual needs.
  • the units in the device of the embodiment of the present invention can be combined, divided, and deleted according to actual needs.
  • the functional units in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium.
  • the technical solution of the present invention is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a terminal (which may be a personal computer, a terminal, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed are a method and apparatus for performing geographically distributed process mapping employing a privacy constraint condition, and a terminal. The method comprises: determining whether the number of privacy levels of processing a graph G awaiting segmentation is greater than 1; if so, using the maximum privacy level in the processing of the graph G as a feature privacy level I m; placing a process having a privacy level lower than I m into a subgraph G 1, placing a process having a privacy level equal to I m into a subgraph G 2, placing a data center having a privacy level lower than I m into a set S 1, and placing a data center having a privacy level equal to I m into a set S 2; determining whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1; if not, storing the subgraph G 2 in a list for storing segmented subgraphs; and configuring the subgraph G 1 to be a new graph G to be segmented, and returning to the step of determining whether the number of privacy levels of the processes in the graph G is greater than 1. Thus, the invention is suitable for process mapping employing a privacy constraint condition in a geographically distributed environment.

Description

含隐私约束条件的地理分布式进程映射方法、装置及终端Geographically distributed process mapping method, device and terminal containing privacy constraint conditions 技术领域Technical field
本发明涉及进程映射算法技术领域,尤其涉及一种含隐私约束条件的地理分布式进程映射方法、装置及终端。The invention relates to the technical field of process mapping algorithms, in particular to a geographically distributed process mapping method, device and terminal containing privacy constraint conditions.
背景技术Background technique
对于进程映射问题,目前处于领先水平的算法是Heofler等提出的一种启发式的贪心算法(Greedy算法),该算法用于解决异构网络中的进程映射问题,这种方法是基于贪心算法的映射策略,这种方法开销小,同时能取得较好的优化效果;另外一种是Chen等提出的一种针对任意的消息传递型应用的映射优化方法(MPIPP),这种方法是基于k-way图划分的一种方法,这种方法搜索的空间比较大,对任意的消息传递型的应用的进程映射问题都比较适用。For the process mapping problem, the current leading level algorithm is a heuristic greedy algorithm (Greedy algorithm) proposed by Heofler et al. This algorithm is used to solve the process mapping problem in heterogeneous networks. This method is based on the greedy algorithm. Mapping strategy, this method has low overhead and can achieve better optimization results; the other is a mapping optimization method (MPIPP) proposed by Chen et al. for arbitrary message-passing applications, which is based on k- A method of way graph division. This method has a relatively large search space and is more applicable to the process mapping problem of any message-passing application.
但这两种方法都是对在集群或网格计算中的传统映射问题的研究,它们都没有考虑到在地理分布式环境下的进程映射问题有其独特的特点。首先是地理分布式环境下的网络特点:数据中心内的网络带宽比数据中心间的网络带宽要高很多;数据中心之间的网络带宽与数据中心之间的地理距离有很高的相关性。其次是地理分布式环境下的数据迁移约束:由于世界各个国家区域对数据隐私保护的程度不一,数据不允许从数据隐私保护级别高的区域迁移到数据隐私保护级别低的区域进行处理。因而地理分布式环境下的进程映射问题是带有约束条件的进程映射问题。However, these two methods are both researches on traditional mapping problems in cluster or grid computing, and neither of them considers the unique characteristics of process mapping in geographically distributed environments. The first is the network characteristics in a geographically distributed environment: the network bandwidth in the data center is much higher than the network bandwidth between the data centers; the network bandwidth between the data centers is highly correlated with the geographic distance between the data centers. The second is the data migration constraint in a geographically distributed environment: due to the varying degrees of data privacy protection in various countries and regions in the world, data is not allowed to migrate from areas with high data privacy protection levels to areas with low data privacy protection levels for processing. Therefore, the process mapping problem in a geographically distributed environment is a process mapping problem with constraints.
由于Greedy算法和MPIPP算法并没有考虑上述的地理分布式环境下的进程映射的特点,因此这两种算法可能并不适用于地理分布式环境下的进程映射问题。Since the Greedy algorithm and the MPIPP algorithm do not consider the characteristics of the process mapping in the geographically distributed environment, these two algorithms may not be suitable for the process mapping problem in the geographically distributed environment.
技术问题technical problem
本发明实施例提供了一种含隐私约束条件的地理分布式进程映射方 法、装置及终端,旨在解决现有进程映射算法不适用于地理分布式环境下的进程映射的问题。The embodiments of the present invention provide a geographically distributed process mapping method, device and terminal with privacy constraints, aiming to solve the problem that the existing process mapping algorithm is not suitable for process mapping in a geographically distributed environment.
技术解决方案Technical solutions
第一方面,本发明实施例提供了含隐私约束条件的地理分布式进程映射方法,其包括:In the first aspect, an embodiment of the present invention provides a geographically distributed process mapping method with privacy constraints, which includes:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;Obtain the process map of the application, and set the process map of the application as the to-be-segmented map G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;Determine whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than 1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mIf the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中; The graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量; Judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中; If the number of processes in the sub-graph G 1 is not less than the number of available nodes in the set S 1 , the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
将所述子图G 1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。 Set the sub-graph G 1 as a new graph G to be segmented, and return to the step of judging whether the number of privacy levels of processes in the graph G to be segmented is greater than one.
其进一步的技术方案为,所述方法还包括:Its further technical solution is that the method further includes:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。If the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
其进一步的技术方案为,所述方法还包括:Its further technical solution is that the method further includes:
若所述子图G 1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量; If the number of processes in the subgraph of G 1 is less than the set number of available nodes S1 to obtain the sub-processes each of G 2 and G all the processes of FIG. 1 of the sub-total traffic;
将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并返回所述判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量的步骤。 The subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG. The highest privacy level among all processes, and return to the step of judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 .
其进一步的技术方案为,在所述将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中之后,所述方法还包括: A further technical solution is that, after storing the sub-graph G 2 as a divided sub-graph in the list for storing the divided sub-graph, the method further includes:
将所述子图G 2置空。 Leave the subgraph G 2 blank.
第二方面,本发明实施例还提供了一种含隐私约束条件的地理分布式进程映射装置,其包括用于执行上述方法的单元。In the second aspect, embodiments of the present invention also provide a geographically distributed process mapping device with privacy constraints, which includes a unit for executing the above method.
第三方面,本发明实施例还提供了一种终端,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。In a third aspect, an embodiment of the present invention also provides a terminal, which includes a memory and a processor, the memory stores a computer program, and the processor implements the above method when the computer program is executed.
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。In a fourth aspect, an embodiment of the present invention also provides a computer-readable storage medium, the storage medium stores a computer program, and the computer program can implement the foregoing method when executed by a processor.
有益效果Beneficial effect
本发明实施例通过将原进程图分割为一系列的子图,以及各子图的数据中心集,且对应的数据中心集能满足对应子图中所有进程的隐私保护要求(即数据中心集的隐私保护等级等于或低于进程的隐私保护等级),从而解决了地理分布式环境下的进程映射的隐私保护约束问题。In the embodiment of the present invention, the original process graph is divided into a series of subgraphs and the data center set of each subgraph, and the corresponding data center set can meet the privacy protection requirements of all processes in the corresponding subgraph (that is, the data center set The privacy protection level is equal to or lower than the privacy protection level of the process), thereby solving the privacy protection constraint problem of process mapping in a geographically distributed environment.
附图说明Description of the drawings
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present invention more clearly, the following will briefly introduce the drawings used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present invention. Ordinary technicians can obtain other drawings based on these drawings without creative work.
图1为本发明实施例提供的含隐私约束条件的地理分布式进 程映射方法的应用场景示意图;Figure 1 is a schematic diagram of an application scenario of a geographically distributed process mapping method with privacy constraints provided by an embodiment of the present invention;
图2为本发明实施例提供的一种终端的示意性框图。Fig. 2 is a schematic block diagram of a terminal according to an embodiment of the present invention.
本发明的实施方式Embodiments of the invention
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that when used in this specification and the appended claims, the terms "including" and "including" indicate the existence of the described features, wholes, steps, operations, elements and/or components, but do not exclude one or The existence or addition of multiple other features, wholes, steps, operations, elements, components, and/or collections thereof.
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。It should also be understood that the terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should be further understood that the term "and/or" used in the specification and appended claims of the present invention refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations .
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。As used in this specification and the appended claims, the term "if" can be interpreted as "when" or "once" or "in response to determination" or "in response to detection" depending on the context . Similarly, the phrase "if determined" or "if detected [described condition or event]" can be interpreted as meaning "once determined" or "response to determination" or "once detected [described condition or event]" depending on the context ]" or "in response to detection of [condition or event described]".
实施例1Example 1
本实施例所采用的到参数如下表1所示。The parameters used in this embodiment are shown in Table 1 below.
表1Table 1
Figure PCTCN2019095458-appb-000001
Figure PCTCN2019095458-appb-000001
Figure PCTCN2019095458-appb-000002
Figure PCTCN2019095458-appb-000002
以下对本实施例所要解决的技术问题进行描述。The technical problem to be solved by this embodiment is described below.
将一系列的进程分配到各个机器上,使得进程间的通信能够有效地利用网络中的物理链路,这样的过程称为进程映射的过程(process mapping)。考虑到在按地区分布的云环境(geo-distributed cloud environment)中,数据移动受到诸如隐私保护等的诸多约束,一些进程只能被映射到一些特定的数据中心的机器上。因此,产生了一个有别于传统的进程映射的问题:带约束的进程映射。A series of processes are allocated to each machine so that the communication between processes can effectively utilize the physical links in the network. Such a process is called process mapping. Considering that in a geo-distributed cloud environment, data movement is subject to many constraints such as privacy protection, and some processes can only be mapped to specific data center machines. Therefore, a problem different from traditional process mapping arises: constrained process mapping.
定义L T和B T两个大小为M*M的矩阵,分别表示不同数据中心间的延时和带宽,其中的元素L T(k’,l’)和B T(k’,l’)分别表示数据中心k’与l’之间的延时和带宽。矩阵对角线上的元素则表示数据中心内的延时和带宽。 Define two matrices of size M*M, L T and B T , which respectively represent the delay and bandwidth between different data centers. The elements are L T (k',l') and B T (k',l') Respectively represent the delay and bandwidth between data center k'and l'. The elements on the diagonal of the matrix represent the delay and bandwidth in the data center.
定义通信模式矩阵C G,其中元素C G(i,j)表示进程i与进程j之间的通信量。定义计数矩阵A G,其中元素A G(i,j)表示进程i发送给进程j的信息的次数。 Define the communication pattern matrix C G , where the element C G (i,j) represents the communication volume between process i and process j. Define a counting matrix A G , where the element A G (i,j) represents the number of times that process i sends information to process j.
根据以上定义,当进程i映射到数据中心k’,进程j映射到数据中心l’时,通信开销可以按以下公式计算:According to the above definition, when process i is mapped to data center k’ and process j is mapped to data center l’, the communication overhead can be calculated according to the following formula:
Figure PCTCN2019095458-appb-000003
Figure PCTCN2019095458-appb-000003
其中,w i,j表示进程i和进程j之间的通信量,d k’,l’表示数据中心k’和l’之间的网络性能,f(w,d)是开销函数。 Among them, w i,j represents the communication volume between process i and process j, d k',l' represents the network performance between data center k'and l', and f(w,d) is the cost function.
定义大小为N*M的约束条件矩阵C,其中每个元素C(i,j)表示进程i能否映射到数据中心j中(C(i,j)=1表示进程i能映射到数据中心j,C(i,j)=0表示不能);若进程i能映射到所有数据中心(C(i,j)=1,j=1,2,...,M),表示进程i没有约束条件。Define a constraint matrix C of size N*M, where each element C(i,j) indicates whether process i can be mapped to data center j (C(i,j) = 1 indicates that process i can be mapped to data center j, C(i,j)=0 means not possible); if process i can be mapped to all data centers (C(i,j)=1, j=1, 2,...,M), it means that process i does not Restrictions.
定义N维向量
Figure PCTCN2019095458-appb-000004
表示映射结果,其中第i个元素表示进程i映射到的数据中心。
Define N-dimensional vector
Figure PCTCN2019095458-appb-000004
Represents the mapping result, where the i-th element represents the data center to which process i is mapped.
定义M维向量
Figure PCTCN2019095458-appb-000005
其中第i个元素表示数据中心i中的可用节点数。
Define M-dimensional vector
Figure PCTCN2019095458-appb-000005
The i-th element represents the number of available nodes in data center i.
定义函数
Figure PCTCN2019095458-appb-000006
用于计数向量
Figure PCTCN2019095458-appb-000007
中值等于m的元素的个数。
Define function
Figure PCTCN2019095458-appb-000006
For counting vectors
Figure PCTCN2019095458-appb-000007
The number of elements whose median is equal to m.
基于以上定义,问题可以用以下公式描述:Based on the above definition, the problem can be described by the following formula:
最小化
Figure PCTCN2019095458-appb-000008
minimize
Figure PCTCN2019095458-appb-000008
满足条件
Figure PCTCN2019095458-appb-000009
To meet the conditions
Figure PCTCN2019095458-appb-000009
以及
Figure PCTCN2019095458-appb-000010
as well as
Figure PCTCN2019095458-appb-000010
其中,
Figure PCTCN2019095458-appb-000011
用公式(1)计算。
among them,
Figure PCTCN2019095458-appb-000011
Use formula (1) to calculate.
本实施例所要解决的问题即公式(2)以及(3)所描述的带约束条件的优化问题。The problem to be solved in this embodiment is the optimization problem with constraints described in formulas (2) and (3).
为了解决以上技术问题,参见图1,本实施例提出的技术方案包括如下步骤。In order to solve the above technical problems, referring to FIG. 1, the technical solution proposed in this embodiment includes the following steps.
S1,获取应用的进程图,并将所述应用的进程图设置为待分割图G。S1: Obtain a process map of the application, and set the process map of the application as the to-be-splitting map G.
具体实施中,获取应用的进程图,并且将获取到的应用的进程图设置为待分割图G。In a specific implementation, the process map of the application is acquired, and the acquired process map of the application is set as the to-be-divided graph G.
S2,判断所述待分割图G中的进程的隐私等级的数量是否大于1。S2: Determine whether the number of privacy levels of the processes in the graph G to be divided is greater than 1.
具体实施中,判断待分割图G中的进程的隐私等级的数量是否大于1。In specific implementation, it is determined whether the number of privacy levels of the processes in the graph G to be divided is greater than one.
S3,若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。S3: If the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
具体实施中,如果待分割图G中的进程的隐私等级的数量等于1,表明待分割图G的所有进程的隐私等级一样,此时将所述待分割图G保存到用于存放分割后的子图的列表中。具体地,该列表可为subgraphlist。In specific implementation, if the number of privacy levels of the processes in the graph G to be divided is equal to 1, it indicates that the privacy levels of all processes in the graph G to be divided are the same. The list of subgraphs. Specifically, the list may be a subgraphlist.
S4,若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mS4: If the number of privacy levels of the processes in the graph G to be divided is greater than 1, use the largest privacy level in the processes of the graph G to be divided as the characteristic privacy level Im .
具体实施中,如果所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mIn specific implementation, if the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes of the graph G to be divided is taken as the characteristic privacy level Im .
S5,将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中。 S5, the division of the graph G to be smaller than the privacy level I m wherein the privacy level to the process into the sub-G in FIG. 1, the graph G to be divided is equal to the privacy level wherein the privacy level I m to process into the sub-G in FIG. 2, the application will be less than the privacy level privacy level I m wherein the data center put into the set S 1, the application level is equal to the privacy feature privacy level I m to the data center into the collection S 2.
具体实施中,在将述待分割图G的进程中最大的隐私等级设定为特征隐私等级I m之后,将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中。 In particular embodiments, the privacy level is set at the maximum process will be described later is divided in G of FIG characterized privacy level after I m, the graph G to be segmented is smaller than the privacy level privacy level I m wherein the process into the 1 to the sub-graph G, the graph G to be divided is equal to the privacy level I m wherein privacy level to put the process of the sub-G in FIG. 2.
同时,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中。 Meanwhile, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the application of the privacy level equal privacy level I m wherein the data center into the collection S 2 in.
S6,判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量。 S6, the determination of the number of G sub-set of available S 1 whether the number of nodes in the process are less than 1.
具体实施中,判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量。 In a specific implementation, it is determined whether the number of processes in the sub-graph G 1 is less than the number of available nodes in the set S 1 .
S7,若所述子图G 1中的进程的数量小于所述集合S 1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量。 S7, if the number of G sub-set of available S a number of nodes in the process are less than 1 to obtain the subgraph of G 2 total communication with all the processes of the processes is a subgraph of G the amount.
具体实施中,如果所述子图G 1中的进程的数量小于所述集合S 1中的可用节点的数量,则计算所述子图G 2的各进程与所述子图G 1的所有进程的总通信量。 In specific implementation, if the number of processes in the sub-graph G 1 is less than the number of available nodes in the set S 1 , then each process in the sub-graph G 2 and all processes in the sub-graph G 1 are calculated Total traffic.
S8,将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并返回步骤S6。 S8, the said sub-G in FIG. 2 is moved to the maximum total traffic process all the processes of the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided a process for the subgraph of G The highest privacy level among all the processes in 1 and return to step S6.
具体实施中,将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并且重新返回到步骤S6中循环执行上述步骤直到子图G 1的进程的数量与集合S 1中的数据中心的总可用节点数相等为止。 In particular embodiments, the subgraph of G 2 is moved in the process of maximum total traffic amount of all the processes the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided for said sub-process G in FIG. 1 the highest privacy level in all processes, and returns to step S6 again circulating the above steps until the subgraph of G 1 is equal to the number of processes and a set S of the data center until the total available number of nodes.
S9,若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中。 S9. If the number of processes in the subgraph G 1 is not less than the number of available nodes in the set S 1 , save the subgraph G 2 as a divided subgraph to store the divided subgraph. Figure in the list.
具体实施中,如果所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中。 In specific implementation, if the number of processes in the sub-graph G 1 is not less than the number of available nodes in the set S 1 , the sub-graph G 2 is saved as a divided sub-graph for storing the divided sub-graph In the list of subgraphs.
需要说明的是,在将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中后,将所述子图G 2置空。 It should be noted that, after saving the sub-graph G 2 as a divided sub-graph in the list for storing the divided sub-graphs, the sub-graph G 2 is left blank.
S10,将所述子图G 1设置为新的待分割图G,并返回步骤2。 SlO, the sub-G in FIG. 1 G is provided in FIG divided to be new, and returns to step 2.
具体实施中,将所述子图G 1设置为新的待分割图G,并返回步骤2,以重复上述步骤直到将所述应用的进程图划分为k(k等于所 述应用的进程图的所有进程中隐私等级的数量)个子图,并且每个子图都有相对应的数据中心集合。 In specific implementation, set the subgraph G 1 as the new to-be-divided graph G, and return to step 2 to repeat the above steps until the process graph of the application is divided into k (k is equal to the value of the process graph of the application). The number of privacy levels in all processes) subgraphs, and each subgraph has a corresponding set of data centers.
需要说明的是,在所述将所述子图G 1设置为新的待分割图G之后,需要将所述子图G 1置空。 It should be noted that after the sub-graph G 1 is set as the new to-be-divided graph G, the sub-graph G 1 needs to be blanked.
实施例2Example 2
本实施例提供一具体的实例。在本实施例中,应用包含有8个进程,编号为1-8;存在四个数据中心,分为四组,编号为1-4,每个数据中心包含两个节点,即
Figure PCTCN2019095458-appb-000012
This embodiment provides a specific example. In this embodiment, the application contains 8 processes, numbered 1-8; there are four data centers, divided into four groups, numbered 1-4, and each data center contains two nodes, namely
Figure PCTCN2019095458-appb-000012
参见以下表2,采用通信模式矩阵C G来表示进程通信图。 Refer to Table 2 below, the communication mode matrix C G is used to represent the process communication diagram.
表2通信模式矩阵C G Table 2 Communication mode matrix C G
11 22 33 44 55 66 77 88
11 22
22 22 44
33 44 44
44 44 88
55 88 22
66 22 44
77 44 44
88 44
表2中,第一行和第一列分别是进程编号,通信量单位为MB,空表示0。In Table 2, the first row and the first column are the process numbers, the unit of communication volume is MB, and empty means 0.
参见以下表3,其为本实施例的进程约束条件矩阵C。See Table 3 below, which is the process constraint condition matrix C of this embodiment.
表3进程约束条件矩阵CTable 3 Process constraint condition matrix C
aa bb cc dd
11 11 00 00 00
22 11 11 00 00
33 11 11 00 00
44 11 11 11 00
55 11 11 11 00
66 11 11 11 11
77 11 11 11 11
88 11 11 11 11
由进程约束条件矩阵C,可以得到每个进程的隐私保护等级,见表4,各进程总共包括四个隐私保护等级,分别为等级1到等级4,等级越低表明该进程隐私保护要求越严格,能够映射到的数据中心越少。From the process constraint matrix C, the privacy protection level of each process can be obtained, as shown in Table 4. Each process includes a total of four privacy protection levels, namely level 1 to level 4. The lower the level, the stricter the privacy protection requirements of the process. , The fewer data centers can be mapped to.
表4进程的隐私保护等级Table 4 Privacy protection level of the process
Figure PCTCN2019095458-appb-000013
Figure PCTCN2019095458-appb-000013
表4进程的隐私保护等级Table 4 Privacy protection level of the process
进一步地,由进程约束条件矩阵C,还可以得到每个数据中心的隐私保护等级。参见表格5,等级1到等级4,分别表示可以映射到该数据中心的进程的最低隐私等级。比如数据中心b的隐私等级为2,表示隐私保护等级为2、3、4的进程均可映射到该数据中心,隐私保护等级为1的进程则不能映射到该数据中心。数据中心的隐私保护等级越高,表示该数据中心提供的隐私保护越好,能容纳具有更严格隐私保护要求的进程。Further, from the process constraint condition matrix C, the privacy protection level of each data center can also be obtained. Refer to Table 5, Level 1 to Level 4, which respectively indicate the lowest privacy levels of processes that can be mapped to the data center. For example, the privacy level of data center b is 2, which means that processes with privacy protection levels 2, 3, and 4 can be mapped to the data center, and processes with privacy protection level 1 cannot be mapped to the data center. The higher the privacy protection level of the data center, the better the privacy protection provided by the data center, which can accommodate processes with stricter privacy protection requirements.
表5数据中心的隐私保护等级Table 5 Privacy protection level of data center
数据中心data center aa bb cc dd
隐私等级Privacy level 11 22 33 44
本实施例应用含隐私约束条件的进程映射方法的详细步骤如下:The detailed steps of applying the process mapping method with privacy constraints in this embodiment are as follows:
步骤1.选择待分割图G的进程中最高的隐私保护等级4,将隐私保护等级低于4的进程放入子图G 1,其余进程放入子图G 2。。 Step 1. Select the highest privacy protection level 4 among the processes of the graph G to be divided, put processes with a privacy protection level lower than 4 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 . .
具体实施中,选择待分割图G的进程中最高的隐私保护等级4,将隐私保护等级低于4的进程放入子图G 1,其余进程放入子图G 2。则子图G 1中有进程1、2、3、4、5;子图G 2中有进程6、7、8。将隐私保护等级低于4的数据中心放入集合S 1,其余数据中心放入集合S 2。则集合S 1中有数据中心a、b、c;集合S 2中有数据中心d。通过以下公式计算集合S 1中数据中心的可用节点数: In the specific implementation, the highest privacy protection level 4 among the processes of the graph G to be divided is selected, the processes with the privacy protection level lower than 4 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 . G in FIG. 1 the child process with a 1,2,3,4,5; G in FIG. 2 there are sub 6,7,8 processes. Put data centers with a privacy protection level lower than 4 into set S 1 , and put the remaining data centers into set S 2 . The data collection center S 1 a, b, c; data collection center S 2 d. The number of available nodes in the data center in the set S 1 is calculated by the following formula:
I(s 1)=I(a)+I(b)+I(c)=6 I(s 1 )=I(a)+I(b)+I(c)=6
由于子图G 1中的进程数为5,小于集合S 1中数据中心的可用节点数6,因此需要选择子图G 2中的一部分进程放入子图G 1Since the number of processes in the sub-graph G 1 is 5, which is less than the number of available nodes in the data center in the set S 1 , it is necessary to select a part of the processes in the sub-graph G 2 into the sub-graph G 1 .
步骤2.计算子图G 2各个进程与子图G 1中的所有进程的总通信量。 Step 2. Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
具体地,计算进程6与进程1、2、3、4、5的总通信量:Specifically, calculate the total communication volume between process 6 and processes 1, 2, 3, 4, and 5:
q 6=C G(5,6)+C G(6,5)=2+2=4 q 6 =C G (5,6)+C G (6,5)=2+2=4
计算进程7与进程1、2、3、4、5的总通信量:Calculate the total communication volume between process 7 and processes 1, 2, 3, 4, and 5:
q 7=0 q 7 =0
计算进程8与进程1、2、3、4、5的总通信量:Calculate the total communication volume between process 8 and processes 1, 2, 3, 4, and 5:
q 8=0 q 8 = 0
选择总通信量最大的进程6放入子图G 1,设置进程6的隐私保护等级为子图G 1中的所有进程中的最高隐私保护等级,即等级3。对比子图G 1进程数与集合S 1中的数据中心的可用节点数。 Select the process 6 with the largest total communication volume and put it into the subgraph G 1 , and set the privacy protection level of the process 6 to the highest privacy protection level among all the processes in the subgraph G 1 , that is, level 3. Compare the number of processes in the subgraph G 1 with the number of available nodes in the data center in the set S 1 .
由于子图G 1进程数为6,等于集合S 1中的数据中心的可用节点数。因此不再选择子图G 2中的进程放入子图G 1Since the number of processes in the subgraph G 1 is 6, which is equal to the number of available nodes in the data center in the set S 1 . Therefore, the process in the sub-graph G 2 is no longer selected and placed in the sub-graph G 1 .
步骤3.将子图G 2放入子图列表subgraphlist中,标记集合S 2中的数据中心d为其对应的数据中心,设置子图G 1和子图G 2为空。 Step 3. Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center d in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
由于子图G 1中的进程为1、2、3、4、5、6,隐私保护等级分别为1、2、2、3、3、3,隐私等级数量大于1,因此需要对子图G 1继续分割。此时,设置子图G 1为新的待分割图G,设置子图G 1和子图G 2为空。 Since the processes in subgraph G 1 are 1, 2, 3, 4, 5, and 6, the privacy protection levels are 1, 2, 2, 3, 3, and 3 respectively, and the number of privacy levels is greater than 1, so subgraph G 1 Continue to divide. At this time, set the sub-graph G 1 as the new to-be-divided picture G, and set the sub-graph G 1 and the sub-graph G 2 to be empty.
步骤4.选择最高的隐私保护等级3,将隐私保护等级低于3的进程放入子图G 1,其余进程放入子图G 2Step 4. Select the highest privacy protection level 3, put processes with a privacy protection level lower than 3 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 .
具体实施中,选择最高的隐私保护等级3,将隐私保护等级低于3的进程放入子图G 1,其余进程放入子图G 2。则子图G 1中有进程1、2、3,隐私保护等级分别为1、2、2;子图G 2中有进程4、5、6,隐私保护等级分别为3、3、3。将隐私保护等级低于3的数据中心放入集合S 1,其余数据中心放入集合S 2。则集合S 1中有数据中心a、b;集合S 2中有数据中心c。计算集合S 1中数据中心的可用节点数: In the specific implementation, the highest privacy protection level 3 is selected, the processes with the privacy protection level lower than 3 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 . G in FIG. 1 the child process with a 1,2,3, 1,2,2 privacy level, respectively; G in FIG. 2 there are sub-processes 4,5,6, 3,3,3 privacy level respectively. Put data centers with a privacy protection level lower than 3 into set S 1 , and put the remaining data centers into set S 2 . The data collection center S. 1 a, b; data set S 2 center c. Calculate the number of available nodes in the data center in the set S 1 :
I(s 1)=I(a)+I(b)=4 I(s 1 )=I(a)+I(b)=4
由于子图G 1中的进程数为3,小于集合S 1中数据中心的可用节点数4,因此需要选择子图G 2中的一部分进程放入子图G 1Since the number of processes in the sub-graph G 1 is 3, which is less than the number of available nodes 4 in the data center in the set S 1 , it is necessary to select a part of the processes in the sub-graph G 2 to be placed in the sub-graph G 1 .
步骤5.计算子图G 2各个进程与子图G 1中的所有进程的总通信量。 Step 5. Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
具体地,计算进程4与进程1、2、3的总通信量:Specifically, calculate the total communication volume between process 4 and processes 1, 2, and 3:
q 4=C G(3,4)+C G(4,3)=4+4=8 q 4 =C G (3,4)+C G (4,3)=4+4=8
计算进程5与进程1、2、3的总通信量:Calculate the total communication volume between process 5 and processes 1, 2, and 3:
q 5=0 q 5 =0
计算进程6与进程1、2、3的总通信量:Calculate the total communication volume between process 6 and processes 1, 2, and 3:
q 6=0 q 6 = 0
选择总通信量最大的进程4放入子图G 1,设置进程4的隐私保护等级为G 1中的所有进程中的最高隐私保护等级,即等级2。对比子图G 1进程数与集合S 1中的数据中心的可用节点数:子图G 1进程数为4,等于集合S 1中的数据中心的可用节点数。因此不再选择子图G 2中的进程放入子图G 1Select the process 4 with the largest total communication volume and put it into the subgraph G 1 , and set the privacy protection level of process 4 to the highest privacy protection level among all processes in G 1 , that is, level 2. Comparative subgraph of G having 1 Process 1 in the set S of nodes of the data center is available: the number of sub-G 1 in FIG. 4 is a process, set S 1 is equal to the data center available nodes. Therefore, the process in the sub-graph G 2 is no longer selected and placed in the sub-graph G 1 .
步骤6.将子图G 2放入子图列表subgraphlist中,标记集合S 2中的数据中心c为其对应的数据中心,设置子图G 1和子图G 2为空。 Step 6. Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center c in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
具体实施中,子图G 1中的进程为1、2、3、4,隐私保护等级分别为1、2、2、2,隐私等级数量大于1,因此需要对子图G 1继续分割。设置子图G 1为新的带分割图G,同时,设置子图G 1和子图G 2为空。 In particular embodiments, the sub-G 1 in the process of FIG 1,2,3,4, 1,2,2,2 privacy level respectively, the number of privacy level greater than 1, it is necessary to continue dividing a sub-G in FIG. Set the subgraph G 1 as a new segmented graph G, and at the same time, set the subgraph G 1 and the subgraph G 2 to be empty.
步骤7.选择最高的隐私保护等级2,将隐私保护等级低于2的进程放入子图G 1,其余进程放入子图G 2Step 7. Select the highest privacy protection level 2, put processes with a privacy protection level lower than 2 into the subgraph G 1 , and put the remaining processes into the subgraph G 2 .
具体地,将隐私保护等级低于2的进程放入子图G 1,其余进程放入子图G 2。则子图G 1中有进程1,隐私保护等级分别为1;子图G 2中有进程2、3、4,隐私保护等级分别为2、2、2。将隐私保护等级低于2的数据中心放入集合S 1,其余数据中心放入集合S 2。则集合S 1中有数据中心a;集合S 2中有数据中心b。计算集合S 1中数据中心的可用节点数: Specifically, the processes with a privacy protection level lower than 2 are put into the subgraph G 1 , and the remaining processes are put into the subgraph G 2 . Then there is process 1 in subgraph G1, and the privacy protection level is 1, respectively; there are processes 2, 3, and 4 in subgraph G2, and the privacy protection level is 2, 2 , and 2 respectively. Put data centers with a privacy protection level lower than 2 into set S 1 , and put the remaining data centers into set S 2 . The data collection center. 1 S a; S set in the data center 2 b. Calculate the number of available nodes in the data center in the set S 1 :
I(s 1)=I(a)=2 I(s 1 )=I(a)=2
子图G 1中的进程数为1,小于集合S 1中数据中心的可用节点数2,因此需要选择子图G 2中的一部分进程放入子图G 1The number of processes in the sub-graph G 1 is 1, which is less than the number of available nodes in the data center in the set S 1. Therefore, it is necessary to select a part of the processes in the sub-graph G 2 into the sub-graph G 1 .
步骤8.计算子图G 2各个进程与子图G 1中的所有进程的总通信量。 Step 8. Calculate the total communication volume between each process in the sub-graph G 2 and all processes in the sub-graph G 1 .
具体地,计算进程2与进程1的总通信量:Specifically, calculate the total communication volume between process 2 and process 1:
q 2=C G(1,2)+C G(2,1)=2+2=4 q 2 = C G (1,2)+C G (2,1)=2+2=4
计算进程3与进程1的总通信量:Calculate the total communication volume between process 3 and process 1:
q 3=0 q 3 =0
计算进程4与进程1的总通信量:Calculate the total communication volume between process 4 and process 1:
q 4=0 q 4 = 0
选择总通信量最大的进程2放入子图G 1,设置进程2的隐私保护等级为子图G 1中的所有进程中的最高隐私保护等级,即等级1。对比子图G 1进程数与集合S 1中的数据中心的可用节点数:子图G 1进程数为2,等于集合S 1中的数据中心的可用节点数。因此不再选择子图G 2中的进程放入子图G 1Select the process 2 with the largest total communication volume and put it into the subgraph G 1 , and set the privacy protection level of the process 2 to the highest privacy protection level among all the processes in the subgraph G 1 , that is, level 1. Comparative subgraph of G having 1 Process 1 in the set S of nodes of the data center is available: the number of sub-G in FIG. 2 is a process, set S 1 is equal to the data center available nodes. Therefore, the process in the sub-graph G 2 is no longer selected and placed in the sub-graph G 1 .
步骤9.将子图G 2放入子图列表subgraphlist中,标记集合S 2中的数据中心b为其对应的数据中心,设置子图G 1和子图G 2为空。 Step 9. Put the subgraph G 2 into the subgraphlist subgraphlist, mark the data center b in the set S 2 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty.
具体实施中,子图G 1中的进程为1、2,隐私保护等级分别为1、1,隐私等级数量等于1,因此不需要再对子图G 1继续分割,将子图G 1放入子图列表subgraphlist,标记集合S 1中的数据中心a为其对应的数据中心,设置子图G 1和子图G 2为空。结束算法流程。 In particular embodiments, a G sub-processes in FIG. 1,2, 1,1, respectively privacy level, privacy level number is equal to 1, then there is no need to continue a G sub picture divided into a sub-G in FIG. In the subgraphlist subgraphlist, mark the data center a in the set S 1 as its corresponding data center, and set the subgraph G 1 and the subgraph G 2 to be empty. End the algorithm flow.
最终,通过以上方法可得到了一系列的子图以及对应的数据中心集,且对应的数据中心集能满足对应子图中所有进程的隐私保护要求 (即数据中心集的隐私保护等级等于或低于进程的隐私保护等级)。得到的子图和对应的数据中心集如表格6所示。Finally, through the above method, a series of subgraphs and corresponding data center sets can be obtained, and the corresponding data center sets can meet the privacy protection requirements of all processes in the corresponding subgraphs (that is, the privacy protection level of the data center set is equal to or lower The privacy protection level of the process). The resulting subgraph and the corresponding data center set are shown in Table 6.
表6进程映射结果Table 6 Process mapping results
Figure PCTCN2019095458-appb-000014
Figure PCTCN2019095458-appb-000014
本实施例的技术效果Technical effect of this embodiment
本发明实施例通过在Amazon EC2和Windows Azure两个云平台上对上述方法进行了实验,分别对包括BT(Block Tri-diagonal solver分块三对角方程组求解算法)、SP(Scalar Penta-diagonal solver标量五对角方程组求解算法)、LU(Lower-upper Gauss-Seidel solver自底向上的高斯-赛德尔迭代算法)、K-means聚类算法以及DNN(deep neutral network深度神经网络)在内的五种应用使用了我们提出的方法来测试算法的性能。实验表明我们提出的算法相比目前最好的进程映射算法能获得平均40%的性能提升。In the embodiment of the present invention, the above method is tested on two cloud platforms of Amazon EC2 and Windows Azure, and the methods including BT (Block Tri-diagonal solver algorithm for solving block tri-diagonal equations) and SP (Scalar Penta-diagonal Solver scalar five-diagonal equations solving algorithm), LU (Lower-upper Gauss-Seidel solver bottom-up Gauss-Seidel iterative algorithm), K-means clustering algorithm, and DNN (deep neutral network deep neural network) The five applications used our proposed method to test the performance of the algorithm. Experiments show that our proposed algorithm can achieve an average performance improvement of 40% compared to the current best process mapping algorithm.
实施例3Example 3
对应于以上实施例提出的含隐私约束条件的进程映射方法,本实施例还提供含隐私约束条件的地理分布式进程映射装置。该含隐私约束条件的地理分布式进程映射装置包括用于执行上述含隐私约束条件的地理分布式进程映射方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,该进程映射装置包括设置 单元、第一判断单元、确认单元、放入单元、第二判断单元、第一保存单元以及返回单元。Corresponding to the process mapping method with privacy constraints proposed in the above embodiments, this embodiment also provides a geographically distributed process mapping device with privacy constraints. The geographically distributed process mapping device with privacy constraints includes a unit for executing the above-mentioned geographically distributed process mapping method with privacy constraints. The device can be configured in a desktop computer, a tablet computer, a laptop computer, and other terminals. Specifically, the process mapping device includes a setting unit, a first judging unit, a confirming unit, a putting unit, a second judging unit, a first saving unit, and a returning unit.
设置单元,用于获取应用的进程图,并将所述应用的进程图设置为待分割图G。The setting unit is used to obtain the process graph of the application, and set the process graph of the application as the graph G to be divided.
第一判断单元,用于判断所述待分割图G中的进程的隐私等级的数量是否大于1。The first judging unit is used to judge whether the number of privacy levels of the processes in the graph G to be divided is greater than one.
确认单元,用于若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mThe confirmation unit is configured to, if the number of privacy levels of the processes in the graph G to be divided is greater than 1, use the largest privacy level in the processes of the graph G to be divided as the characteristic privacy level Im .
放入单元,用于将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中。 Into the unit to be divided for the graph G is less than the privacy level I m wherein the privacy level to the process into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy feature level I m to the process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the application level is equal to the privacy privacy level I m wherein the data collection center was placed in S 2.
第二判断单元,用于判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量; The second judging unit is used to judge whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
第一保存单元,用于若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中; A first storage unit configured to, if the number of 1 in the process S is not less than the set of available nodes in a sub-graph G, the map G 2 as a sub-divided into sub FIG saved for Store the list of divided subgraphs;
返回单元,用于将所述子图G 1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。 The returning unit is configured to set the subgraph G 1 as a new to-be-segmented graph G, and return to the step of judging whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than one.
在一实施例中,所述进程映射装置还包括第二保存单元。In an embodiment, the process mapping device further includes a second saving unit.
第二保存单元,用于若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。The second saving unit is configured to, if the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, save the to-be-segmented graph G in a list for storing the divided sub-graphs.
在一实施例中,所述进程映射装置还包括获取单元以及移动单元。In an embodiment, the process mapping device further includes an acquiring unit and a moving unit.
获取单元,用于若所述子图G 1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量; The obtaining unit is configured to obtain information about each process in the sub-graph G 2 and all processes in the sub-graph G 1 if the number of processes in the sub-graph G 1 is less than the number of available nodes in the set S1 Total traffic
移动单元,用于将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并返回所述判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量的步骤。 A mobile unit for the sub-graph G 2 is moved to the maximum total traffic amount of the process all the processes of the subgraph of G 1 to G in FIG. 1 of the sub, the privacy level provided to the process subgraph of G 1 highest privacy level in all processes, and returns the determination of the number of sub-G in FIG. 1 whether the number of processes in the set S 1 in step is less than the available nodes.
在一实施例中,所述进程映射装置还包括第一置空单元。In an embodiment, the process mapping device further includes a first blanking unit.
第一置空单元,用于将所述子图G 2置空。 The first blanking unit is used to blank the sub-graph G 2 .
在一实施例中,所述进程映射装置还包括第二置空单元。In an embodiment, the process mapping device further includes a second blanking unit.
第二置空单元,用于将所述子图G 1置空。 Second blanking means for the sub-G 1 blanking FIG.
需要说明的是,所属领域的技术人员可以清楚地了解到,上述进程映射装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。It should be noted that those skilled in the art can clearly understand that the specific implementation process of the above process mapping device and each unit can refer to the corresponding description in the foregoing method embodiment. For the convenience and brevity of the description, it will not be omitted here. Repeat.
上述含隐私约束条件的地理分布式进程映射装置可以实现为一种计算机程序的形式,该计算机程序可以在如图2所示的终端上运行。The above geographically distributed process mapping device with privacy constraints may be implemented in the form of a computer program, and the computer program may run on the terminal as shown in FIG. 2.
实施例4Example 4
请参阅图2,本发明另一实施例提供的一种终端300示意框图。如图所示的本实施例中的终端300可以包括:一个或多个处理器301;一个或多个输入设备302,一个或多个输出设备303和存储器304。上述处理器301、输入设备302、输出设备303和存储器304通过总线305连接。存储器302用于存储指令,处理器301用于执行存储器302存储的指令。其中,处理器301用于执行:Please refer to FIG. 2, which is a schematic block diagram of a terminal 300 according to another embodiment of the present invention. As shown in the figure, the terminal 300 in this embodiment may include: one or more processors 301; one or more input devices 302, one or more output devices 303, and a memory 304. The aforementioned processor 301, input device 302, output device 303, and memory 304 are connected via a bus 305. The memory 302 is used to store instructions, and the processor 301 is used to execute instructions stored in the memory 302. Among them, the processor 301 is used to execute:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;Obtain the process map of the application, and set the process map of the application as the to-be-segmented map G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;Determine whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than 1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mIf the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特 征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中; The graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量; Judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中; If the number of processes in the sub-graph G 1 is not less than the number of available nodes in the set S 1 , the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
将所述子图G 1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。 Set the sub-graph G 1 as a new graph G to be segmented, and return to the step of judging whether the number of privacy levels of processes in the graph G to be segmented is greater than one.
在一实施例中,处理器301还用于执行:In an embodiment, the processor 301 is further configured to execute:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。If the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
在一实施例中,处理器301还用于执行:In an embodiment, the processor 301 is further configured to execute:
若所述子图G 1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量; If the number of processes in the subgraph of G 1 is less than the set number of available nodes S1 to obtain the sub-processes each of G 2 and G all the processes of FIG. 1 of the sub-total traffic;
将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并返回所述判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量的步骤。 The subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG. The highest privacy level among all processes, and return to the step of judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 .
在一实施例中,处理器301还用于执行:In an embodiment, the processor 301 is further configured to execute:
将所述子图G 2置空。 Leave the subgraph G 2 blank.
在一实施例中,处理器301还用于执行:In an embodiment, the processor 301 is further configured to execute:
将所述子图G 1置空。 Leave the subgraph G 1 blank.
应当理解,在本申请实施例中,处理器301可以是中央处理单元(Central Processing Unit,CPU),该处理器301还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分 立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that, in the embodiment of the present application, the processor 301 may be a central processing unit (Central Processing Unit, CPU), and the processor 301 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the foregoing embodiments can be implemented by computer programs instructing relevant hardware. The computer program may be stored in a storage medium, and the storage medium is a computer-readable storage medium. The computer program is executed by at least one processor in the computer system to implement the process steps of the foregoing method embodiment.
实施例5Example 5
本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:The invention also provides a storage medium. The storage medium may be a computer-readable storage medium. The storage medium stores a computer program. When the computer program is executed by the processor, the processor executes the following steps:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;Obtain the process map of the application, and set the process map of the application as the to-be-segmented map G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;Determine whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than 1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mIf the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中; The graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量; Judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中; If the number of processes in the sub-graph G 1 is not less than the number of available nodes in the set S 1 , the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
将所述子图G 1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。 Set the sub-graph G 1 as a new graph G to be segmented, and return to the step of judging whether the number of privacy levels of processes in the graph G to be segmented is greater than one.
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:In an embodiment, the processor further implements the following steps when executing the computer program:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。If the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:In an embodiment, the processor further implements the following steps when executing the computer program:
若所述子图G 1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量; If the number of processes in the subgraph of G 1 is less than the set number of available nodes S1 to obtain the sub-processes each of G 2 and G all the processes of FIG. 1 of the sub-total traffic;
将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中所有进程中的最高隐私等级,并返回所述判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量的步骤。 The subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG. The highest privacy level among all processes, and return to the step of judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 .
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:In an embodiment, the processor further implements the following steps when executing the computer program:
将所述子图G 2置空。 Leave the subgraph G 2 blank.
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:In an embodiment, the processor further implements the following steps when executing the computer program:
将所述子图G 1置空。 Leave the subgraph G 1 blank.
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。The storage medium may be a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk or an optical disk, and other computer-readable storage media that can store program codes.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。A person of ordinary skill in the art may realize that the units and algorithm steps of the examples described in the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two, in order to clearly illustrate the hardware and software Interchangeability. In the above description, the composition and steps of each example have been generally described in terms of function. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered as going beyond the scope of the present invention.
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅 仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。In the several embodiments provided by the present invention, it should be understood that the disclosed device and method may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of each unit is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be omitted or not implemented.
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。The steps in the method of the embodiment of the present invention can be adjusted, merged, and deleted in order according to actual needs. The units in the device of the embodiment of the present invention can be combined, divided, and deleted according to actual needs. In addition, the functional units in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a terminal (which may be a personal computer, a terminal, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present invention.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. In this way, even if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these modifications and variations.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily think of various equivalents within the technical scope disclosed in the present invention. Modifications or replacements, these modifications or replacements should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims (8)

  1. 含隐私约束条件的地理分布式进程映射方法,其特征在于,包括:The geographically distributed process mapping method with privacy constraints is characterized by including:
    获取应用的进程图,并将所述应用的进程图设置为待分割图G;Obtain the process map of the application, and set the process map of the application as the to-be-segmented map G;
    判断所述待分割图G中的进程的隐私等级的数量是否大于1;Determine whether the number of privacy levels of the processes in the to-be-segmented graph G is greater than 1;
    若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级I mIf the number of privacy levels of the processes in the graph G to be divided is greater than 1, the largest privacy level in the processes in the graph G to be divided is used as the characteristic privacy level Im ;
    将所述待分割图G中隐私等级小于所述特征隐私等级I m的进程放入到子图G 1中,将所述待分割图G中隐私等级等于所述特征隐私等级I m的进程放入到子图G 2中,将所述应用中隐私等级小于所述特征隐私等级I m的数据中心放入到集合S 1中,将所述应用中隐私等级等于所述特征隐私等级I m的数据中心放入到集合S 2中; The graph G to be segmented privacy level is less than the process wherein the privacy level I m is put into the sub-G in FIG. 1, the graph G to be segmented privacy level is equal to the privacy level I m wherein the discharge process into the sub-G in FIG. 2, the application of the privacy level is less than I m privacy level characteristic data center put into the set S 1, the privacy level is equal to the application wherein the privacy level I m The data center is placed in set S 2 ;
    判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量; Judging whether the number of processes in the subgraph G 1 is less than the number of available nodes in the set S 1 ;
    若所述子图G 1中的进程的数量不小于所述集合S 1中的可用节点的数量,将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中; If the number of processes in the sub-graph G 1 is not less than the number of available nodes in the set S 1 , the sub-graph G 2 is saved as a divided sub-graph in the storage for storing the divided sub-graph List;
    将所述子图G 1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。 Set the sub-graph G 1 as a new graph G to be segmented, and return to the step of judging whether the number of privacy levels of processes in the graph G to be segmented is greater than one.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, wherein the method further comprises:
    若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。If the number of privacy levels of the processes in the to-be-segmented graph G is equal to 1, the to-be-segmented graph G is saved in a list for storing divided sub-graphs.
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, wherein the method further comprises:
    若所述子图G 1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G 2的各进程与所述子图G 1的所有进程的总通信量; If the number of processes in the subgraph of G 1 is less than the set number of available nodes S1 to obtain the sub-processes each of G 2 and G all the processes of FIG. 1 of the sub-total traffic;
    将所述子图G 2中与所述子图G 1的所有进程的总通信量最大的进程移动到所述子图G 1中,将该进程的隐私等级设置为所述子图G 1中 所有进程中的最高隐私等级,并返回所述判断所述子图G 1中的进程的数量是否小于所述集合S 1中的可用节点的数量的步骤。 The subgraph of G 2 is moved to the maximum in the course of total traffic of all the processes the subgraph of G 1 to the subgraph of G 1, provided the privacy level of the sub-process is a G in FIG. all processes highest privacy level, and returns the determination of the number of sub-G in FIG. 1 whether the number of processes in the set S 1 in step is less than the available nodes.
  4. 根据权利要求1所述的方法,其特征在于,在所述将所述子图G 2作为一已分割子图保存到用于存放分割后的子图的列表中之后,所述方法还包括: After the method according to claim 1, wherein, in the said map G 2 as a sub-divided into a sub-list is saved into the storage sub-graph partitioning, the method further comprising:
    将所述子图G 2置空。 Leave the subgraph G 2 blank.
  5. 根据权利要求1所述的方法,其特征在于,在所述将所述子图G 1设置为新的待分割图G之后,所述方法还包括: The method according to claim 1, characterized in that, after the setting the sub-graph G 1 as a new to-be-divided graph G, the method further comprises:
    将所述子图G 1置空。 Leave the subgraph G 1 blank.
  6. 含隐私约束条件的地理分布式进程映射装置,其特征在于,包括用于执行如权利要求1-5任一项所述方法的单元。The geographically distributed process mapping device with privacy constraints is characterized by comprising a unit for executing the method according to any one of claims 1-5.
  7. 一种终端,其特征在于,所述终端包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。A terminal, wherein the terminal includes a memory and a processor, and a computer program is stored on the memory, and the processor implements the computer program according to any one of claims 1-5 when the computer program is executed. method.
  8. 一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-5中任一项所述的方法。A computer-readable storage medium, wherein the storage medium stores a computer program, which when executed by a processor can realize the method according to any one of claims 1-5.
PCT/CN2019/095458 2019-07-10 2019-07-10 Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal WO2021003704A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/095458 WO2021003704A1 (en) 2019-07-10 2019-07-10 Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/095458 WO2021003704A1 (en) 2019-07-10 2019-07-10 Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal

Publications (1)

Publication Number Publication Date
WO2021003704A1 true WO2021003704A1 (en) 2021-01-14

Family

ID=74114306

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/095458 WO2021003704A1 (en) 2019-07-10 2019-07-10 Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal

Country Status (1)

Country Link
WO (1) WO2021003704A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100218190A1 (en) * 2009-02-23 2010-08-26 International Business Machines Corporation Process mapping in parallel computing
CN109710403A (en) * 2018-12-20 2019-05-03 深圳大学 Application process mapping method, electronic device and computer readable storage medium
CN109889393A (en) * 2019-03-11 2019-06-14 深圳大学 A kind of geographically distributed figure processing method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100218190A1 (en) * 2009-02-23 2010-08-26 International Business Machines Corporation Process mapping in parallel computing
CN109710403A (en) * 2018-12-20 2019-05-03 深圳大学 Application process mapping method, electronic device and computer readable storage medium
CN109889393A (en) * 2019-03-11 2019-06-14 深圳大学 A kind of geographically distributed figure processing method and system

Similar Documents

Publication Publication Date Title
US10574545B2 (en) Techniques for analytics-driven hybrid concurrency control in clouds
US20170286484A1 (en) Graph Data Search Method and Apparatus
CN111614746B (en) Load balancing method and device of cloud host cluster and server
WO2019085709A1 (en) Pooling method and system applied to convolutional neural network
US11650990B2 (en) Method, medium, and system for joining data tables
CN106339181B (en) Data processing method and device in storage system
CN111400555B (en) Graph data query task processing method and device, computer equipment and storage medium
WO2021042844A1 (en) Large-scale data clustering method and apparatus, computer device and computer-readable storage medium
CN109685092B (en) Clustering method, equipment, storage medium and device based on big data
CN108228442B (en) Abnormal node detection method and device
JP2018515844A5 (en)
CN110929218A (en) Difference minimization random grouping method and system
CN111858651A (en) Data processing method and data processing device
WO2015180340A1 (en) Data mining method and device
WO2014177050A1 (en) Method and device for aggregating documents
WO2019119635A1 (en) Seed user development method, electronic device and computer-readable storage medium
CN115358308A (en) Big data instance reduction method and device, electronic equipment and storage medium
US11914648B2 (en) Graph refactorization method and graph refactorization apparatus
WO2020124488A1 (en) Application process mapping method, electronic device, and computer-readable storage medium
CN104050189B (en) The page shares processing method and processing device
KR101878213B1 (en) Method, apparatus and computer program for summaring of a weighted graph
WO2021003704A1 (en) Method and apparatus for performing geographically distributed process mapping employing privacy constraint condition, and terminal
CN109245948B (en) Security-aware virtual network mapping method and device
CN105184372B (en) Knowledge network construction method and device
CN110347511B (en) Geographic distributed process mapping method and device containing privacy constraint conditions and terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19936617

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 16/05/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19936617

Country of ref document: EP

Kind code of ref document: A1