CN110347511B - 含隐私约束条件的地理分布式进程映射方法、装置及终端 - Google Patents

含隐私约束条件的地理分布式进程映射方法、装置及终端 Download PDF

Info

Publication number
CN110347511B
CN110347511B CN201910620184.4A CN201910620184A CN110347511B CN 110347511 B CN110347511 B CN 110347511B CN 201910620184 A CN201910620184 A CN 201910620184A CN 110347511 B CN110347511 B CN 110347511B
Authority
CN
China
Prior art keywords
graph
sub
privacy
processes
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910620184.4A
Other languages
English (en)
Other versions
CN110347511A (zh
Inventor
周池
肖遥
毛睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201910620184.4A priority Critical patent/CN110347511B/zh
Publication of CN110347511A publication Critical patent/CN110347511A/zh
Application granted granted Critical
Publication of CN110347511B publication Critical patent/CN110347511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

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

Abstract

本发明公开了一种含隐私约束条件的地理分布式进程映射方法、装置及终端。该方法包括:判断待分割图G其进程的隐私等级的数量是否大于1;若是,将待分割图G的进程中最大的隐私等级作为特征隐私等级Im;隐私等级小于Im的进程放入到子图G1中,隐私等级等于Im的进程放入到子图G2中,将隐私等级小于Im的数据中心放入到集合S1中,将隐私等级等于Im的数据中心放入到集合S2中;判断子图G1中的进程的数量是否小于集合S1中的可用节点的数量;若否,将子图G2保存到用于存放分割后的子图的列表中;将子图G1设为新的待分割图G,并返回判断待分割图G中的进程的隐私等级的数量是否大于1的步骤,从而能适应地理分布式环境下含有隐私约束条件的进程映射。

Description

含隐私约束条件的地理分布式进程映射方法、装置及终端
技术领域
本发明涉及进程映射算法技术领域,尤其涉及一种含隐私约束条件的地理分布式进程映射方法、装置及终端。
背景技术
对于进程映射问题,目前处于领先水平的算法是Heofler等提出的一种启发式的贪心算法(Greedy算法),该算法用于解决异构网络中的进程映射问题,这种方法是基于贪心算法的映射策略,这种方法开销小,同时能取得较好的优化效果;另外一种是Chen等提出的一种针对任意的消息传递型应用的映射优化方法(MPIPP),这种方法是基于k-way图划分的一种方法,这种方法搜索的空间比较大,对任意的消息传递型的应用的进程映射问题都比较适用。
但这两种方法都是对在集群或网格计算中的传统映射问题的研究,它们都没有考虑到在地理分布式环境下的进程映射问题有其独特的特点。首先是地理分布式环境下的网络特点:数据中心内的网络带宽比数据中心间的网络带宽要高很多;数据中心之间的网络带宽与数据中心之间的地理距离有很高的相关性。其次是地理分布式环境下的数据迁移约束:由于世界各个国家区域对数据隐私保护的程度不一,数据不允许从数据隐私保护级别高的区域迁移到数据隐私保护级别低的区域进行处理。因而地理分布式环境下的进程映射问题是带有约束条件的进程映射问题。
由于Greedy算法和MPIPP算法并没有考虑上述的地理分布式环境下的进程映射的特点,因此这两种算法可能并不适用于地理分布式环境下的进程映射问题。
发明内容
本发明实施例提供了一种含隐私约束条件的地理分布式进程映射方法、装置及终端,旨在解决现有进程映射算法不适用于地理分布式环境下的进程映射的问题。
第一方面,本发明实施例提供了含隐私约束条件的地理分布式进程映射方法,其包括:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G 的进程中最大的隐私等级作为特征隐私等级Im
将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图 G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中;
判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量;
若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中;
将所述子图G1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。
其进一步的技术方案为,所述方法还包括:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G 保存到用于存放分割后的子图的列表中。
其进一步的技术方案为,所述方法还包括:
若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量;
将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回所述判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量的步骤。
其进一步的技术方案为,在所述将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中之后,所述方法还包括:
将所述子图G2置空。
第二方面,本发明实施例还提供了一种含隐私约束条件的地理分布式进程映射装置,其包括用于执行上述方法的单元。
第三方面,本发明实施例还提供了一种终端,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
技术效果
本发明实施例通过将原进程图分割为一系列的子图,以及各子图的数据中心集,且对应的数据中心集能满足对应子图中所有进程的隐私保护要求(即数据中心集的隐私保护等级等于或低于进程的隐私保护等级),从而解决了地理分布式环境下的进程映射的隐私保护约束问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的含隐私约束条件的地理分布式进程映射方法的应用场景示意图;
图2为本发明实施例提供的一种终端的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
实施例1
本实施例所采用的到参数如下表1所示。
表1
Figure BDA0002125290690000041
以下对本实施例所要解决的技术问题进行描述。
将一系列的进程分配到各个机器上,使得进程间的通信能够有效地利用网络中的物理链路,这样的过程称为进程映射的过程(process mapping)。考虑到在按地区分布的云环境(geo-distributed cloud environment)中,数据移动受到诸如隐私保护等的诸多约束,一些进程只能被映射到一些特定的数据中心的机器上。因此,产生了一个有别于传统的进程映射的问题:带约束的进程映射。
定义LT和BT两个大小为M*M的矩阵,分别表示不同数据中心间的延时和带宽,其中的元素LT(k’,l’)和BT(k’,l’)分别表示数据中心k’与l’之间的延时和带宽。矩阵对角线上的元素则表示数据中心内的延时和带宽。
定义通信模式矩阵CG,其中元素CG(i,j)表示进程i与进程j之间的通信量。定义计数矩阵AG,其中元素AG(i,j)表示进程i发送给进程j的信息的次数。
根据以上定义,当进程i映射到数据中心k’,进程j映射到数据中心l’时,通信开销可以按以下公式计算:
Figure BDA0002125290690000051
其中,wi,j表示进程i和进程j之间的通信量,dk’,l’表示数据中心k’和l’之间的网络性能,f(w,d)是开销函数。
定义大小为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没有约束条件。
定义N维向量
Figure BDA0002125290690000052
表示映射结果,其中第i个元素表示进程i映射到的数据中心。
定义M维向量
Figure BDA0002125290690000053
其中第i个元素表示数据中心i中的可用节点数。
定义函数
Figure BDA0002125290690000054
用于计数向量
Figure BDA0002125290690000055
中值等于m的元素的个数。
基于以上定义,问题可以用以下公式描述:
最小化
Figure BDA0002125290690000056
满足条件
Figure BDA0002125290690000061
以及
Figure BDA0002125290690000062
其中,
Figure BDA0002125290690000063
用公式(1)计算。
本实施例所要解决的问题即公式(2)以及(3)所描述的带约束条件的优化问题。
为了解决以上技术问题,参见图1,本实施例提出的技术方案包括如下步骤。
S1,获取应用的进程图,并将所述应用的进程图设置为待分割图G。
具体实施中,获取应用的进程图,并且将获取到的应用的进程图设置为待分割图G。
S2,判断所述待分割图G中的进程的隐私等级的数量是否大于1。
具体实施中,判断待分割图G中的进程的隐私等级的数量是否大于1。
S3,若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。
具体实施中,如果待分割图G中的进程的隐私等级的数量等于1,表明待分割图G的所有进程的隐私等级一样,此时将所述待分割图G保存到用于存放分割后的子图的列表中。具体地,该列表可为subgraphlist。
S4,若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级Im
具体实施中,如果所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级Im
S5,将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中。
具体实施中,在将述待分割图G的进程中最大的隐私等级设定为特征隐私等级Im之后,将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中。
同时,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中。
S6,判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量。
具体实施中,判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量。
S7,若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量。
具体实施中,如果所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,则计算所述子图G2的各进程与所述子图G1的所有进程的总通信量。
S8,将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回步骤S6。
具体实施中,将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并且重新返回到步骤S6中循环执行上述步骤直到子图G1的进程的数量与集合S1中的数据中心的总可用节点数相等为止。
S9,若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中。
具体实施中,如果所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中。
需要说明的是,在将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中后,将所述子图G2置空。
S10,将所述子图G1设置为新的待分割图G,并返回步骤2。
具体实施中,将所述子图G1设置为新的待分割图G,并返回步骤2,以重复上述步骤直到将所述应用的进程图划分为k(k等于所述应用的进程图的所有进程中隐私等级的数量)个子图,并且每个子图都有相对应的数据中心集合。
需要说明的是,在所述将所述子图G1设置为新的待分割图G之后,需要将所述子图G1置空。
实施例2
本实施例提供一具体的实例。在本实施例中,应用包含有8个进程,编号为1-8;存在四个数据中心,分为四组,编号为1-4,每个数据中心包含两个节点,即
Figure BDA0002125290690000081
参见以下表2,采用通信模式矩阵CG来表示进程通信图。
表2通信模式矩阵CG
1 2 3 4 5 6 7 8
1 2
2 2 4
3 4 4
4 4 8
5 8 2
6 2 4
7 4 4
8 4
表2中,第一行和第一列分别是进程编号,通信量单位为MB,空表示0。
参见以下表3,其为本实施例的进程约束条件矩阵C。
表3进程约束条件矩阵C
a b c d
1 1 0 0 0
2 1 1 0 0
3 1 1 0 0
4 1 1 1 0
5 1 1 1 0
6 1 1 1 1
7 1 1 1 1
8 1 1 1 1
由进程约束条件矩阵C,可以得到每个进程的隐私保护等级,见表4,各进程总共包括四个隐私保护等级,分别为等级1到等级4,等级越低表明该进程隐私保护要求越严格,能够映射到的数据中心越少。
表4进程的隐私保护等级
进程id 1 2 3 4 5 6 7 8
隐私等级 1 2 2 3 3 4 4 4
表4进程的隐私保护等级
进一步地,由进程约束条件矩阵C,还可以得到每个数据中心的隐私保护等级。参见表格5,等级1到等级4,分别表示可以映射到该数据中心的进程的最低隐私等级。比如数据中心b的隐私等级为2,表示隐私保护等级为2、3、4的进程均可映射到该数据中心,隐私保护等级为1的进程则不能映射到该数据中心。数据中心的隐私保护等级越高,表示该数据中心提供的隐私保护越好,能容纳具有更严格隐私保护要求的进程。
表5数据中心的隐私保护等级
数据中心 a b c d
隐私等级 1 2 3 4
本实施例应用含隐私约束条件的进程映射方法的详细步骤如下:
步骤1.选择待分割图G的进程中最高的隐私保护等级4,将隐私保护等级低于4的进程放入子图G1,其余进程放入子图G2
具体实施中,选择待分割图G的进程中最高的隐私保护等级4,将隐私保护等级低于4的进程放入子图G1,其余进程放入子图G2。则子图G1中有进程1、 2、3、4、5;子图G2中有进程6、7、8。将隐私保护等级低于4的数据中心放入集合S1,其余数据中心放入集合S2。则集合S1中有数据中心a、b、c;集合 S2中有数据中心d。通过以下公式计算集合S1中数据中心的可用节点数:
I(s1)=I(a)+I(b)+I(c)=6
由于子图G1中的进程数为5,小于集合S1中数据中心的可用节点数6,因此需要选择子图G2中的一部分进程放入子图G1
步骤2.计算子图G2各个进程与子图G1中的所有进程的总通信量。
具体地,计算进程6与进程1、2、3、4、5的总通信量:
q6=CG(5,6)+CG(6,5)=2+2=4
计算进程7与进程1、2、3、4、5的总通信量:
q7=0
计算进程8与进程1、2、3、4、5的总通信量:
q8=0
选择总通信量最大的进程6放入子图G1,设置进程6的隐私保护等级为子图G1中的所有进程中的最高隐私保护等级,即等级3。对比子图G1进程数与集合S1中的数据中心的可用节点数。
由于子图G1进程数为6,等于集合S1中的数据中心的可用节点数。因此不再选择子图G2中的进程放入子图G1
步骤3.将子图G2放入子图列表subgraphlist中,标记集合S2中的数据中心d 为其对应的数据中心,设置子图G1和子图G2为空。
由于子图G1中的进程为1、2、3、4、5、6,隐私保护等级分别为1、2、2、 3、3、3,隐私等级数量大于1,因此需要对子图G1继续分割。此时,设置子图 G1为新的待分割图G,设置子图G1和子图G2为空。
步骤4.选择最高的隐私保护等级3,将隐私保护等级低于3的进程放入子图 G1,其余进程放入子图G2
具体实施中,选择最高的隐私保护等级3,将隐私保护等级低于3的进程放入子图G1,其余进程放入子图G2。则子图G1中有进程1、2、3,隐私保护等级分别为1、2、2;子图G2中有进程4、5、6,隐私保护等级分别为3、3、3。将隐私保护等级低于3的数据中心放入集合S1,其余数据中心放入集合S2。则集合S1中有数据中心a、b;集合S2中有数据中心c。计算集合S1中数据中心的可用节点数:
I(s1)=I(a)+I(b)=4
由于子图G1中的进程数为3,小于集合S1中数据中心的可用节点数4,因此需要选择子图G2中的一部分进程放入子图G1
步骤5.计算子图G2各个进程与子图G1中的所有进程的总通信量。
具体地,计算进程4与进程1、2、3的总通信量:
q4=CG(3,4)+CG(4,3)=4+4=8
计算进程5与进程1、2、3的总通信量:
q5=0
计算进程6与进程1、2、3的总通信量:
q6=0
选择总通信量最大的进程4放入子图G1,设置进程4的隐私保护等级为 G1中的所有进程中的最高隐私保护等级,即等级2。对比子图G1进程数与集合 S1中的数据中心的可用节点数:子图G1进程数为4,等于集合S1中的数据中心的可用节点数。因此不再选择子图G2中的进程放入子图G1
步骤6.将子图G2放入子图列表subgraphlist中,标记集合S2中的数据中心c 为其对应的数据中心,设置子图G1和子图G2为空。
具体实施中,子图G1中的进程为1、2、3、4,隐私保护等级分别为1、2、 2、2,隐私等级数量大于1,因此需要对子图G1继续分割。设置子图G1为新的带分割图G,同时,设置子图G1和子图G2为空。
步骤7.选择最高的隐私保护等级2,将隐私保护等级低于2的进程放入子图 G1,其余进程放入子图G2
具体地,将隐私保护等级低于2的进程放入子图G1,其余进程放入子图G2。则子图G1中有进程1,隐私保护等级分别为1;子图G2中有进程2、3、4,隐私保护等级分别为2、2、2。将隐私保护等级低于2的数据中心放入集合S1,其余数据中心放入集合S2。则集合S1中有数据中心a;集合S2中有数据中心b。计算集合S1中数据中心的可用节点数:
I(s1)=I(a)=2
子图G1中的进程数为1,小于集合S1中数据中心的可用节点数2,因此需要选择子图G2中的一部分进程放入子图G1
步骤8.计算子图G2各个进程与子图G1中的所有进程的总通信量。
具体地,计算进程2与进程1的总通信量:
q2=CG(1,2)+CG(2,1)=2+2=4
计算进程3与进程1的总通信量:
q3=0
计算进程4与进程1的总通信量:
q4=0
选择总通信量最大的进程2放入子图G1,设置进程2的隐私保护等级为子图G1中的所有进程中的最高隐私保护等级,即等级1。对比子图G1进程数与集合S1中的数据中心的可用节点数:子图G1进程数为2,等于集合S1中的数据中心的可用节点数。因此不再选择子图G2中的进程放入子图G1
步骤9.将子图G2放入子图列表subgraphlist中,标记集合S2中的数据中心b 为其对应的数据中心,设置子图G1和子图G2为空。
具体实施中,子图G1中的进程为1、2,隐私保护等级分别为1、1,隐私等级数量等于1,因此不需要再对子图G1继续分割,将子图G1放入子图列表 subgraphlist,标记集合S1中的数据中心a为其对应的数据中心,设置子图G1和子图G2为空。结束算法流程。
最终,通过以上方法可得到了一系列的子图以及对应的数据中心集,且对应的数据中心集能满足对应子图中所有进程的隐私保护要求(即数据中心集的隐私保护等级等于或低于进程的隐私保护等级)。得到的子图和对应的数据中心集如表格6所示。
表6进程映射结果
Figure BDA0002125290690000121
本实施例的技术效果
本发明实施例通过在Amazon EC2和Windows Azure两个云平台上对上述方法进行了实验,分别对包括BT(Block Tri-diagonal solver分块三对角方程组求解算法)、SP(Scalar Penta-diagonal solver标量五对角方程组求解算法)、LU (Lower-upper Gauss-Seidel solver自底向上的高斯-赛德尔迭代算法)、K-means 聚类算法以及DNN(deepneutral network深度神经网络)在内的五种应用使用了我们提出的方法来测试算法的性能。实验表明我们提出的算法相比目前最好的进程映射算法能获得平均40%的性能提升。
实施例3
对应于以上实施例提出的含隐私约束条件的进程映射方法,本实施例还提供含隐私约束条件的地理分布式进程映射装置。该含隐私约束条件的地理分布式进程映射装置包括用于执行上述含隐私约束条件的地理分布式进程映射方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,该进程映射装置包括设置单元、第一判断单元、确认单元、放入单元、第二判断单元、第一保存单元以及返回单元。
设置单元,用于获取应用的进程图,并将所述应用的进程图设置为待分割图G。
第一判断单元,用于判断所述待分割图G中的进程的隐私等级的数量是否大于1。
确认单元,用于若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级Im
放入单元,用于将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中。
第二判断单元,用于判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量;
第一保存单元,用于若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中;
返回单元,用于将所述子图G1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。
在一实施例中,所述进程映射装置还包括第二保存单元。
第二保存单元,用于若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。
在一实施例中,所述进程映射装置还包括获取单元以及移动单元。
获取单元,用于若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量;
移动单元,用于将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回所述判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量的步骤。
在一实施例中,所述进程映射装置还包括第一置空单元。
第一置空单元,用于将所述子图G2置空。
在一实施例中,所述进程映射装置还包括第二置空单元。
第二置空单元,用于将所述子图G1置空。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述进程映射装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述含隐私约束条件的地理分布式进程映射装置可以实现为一种计算机程序的形式,该计算机程序可以在如图2所示的终端上运行。
实施例4
请参阅图2,本发明另一实施例提供的一种终端300示意框图。如图所示的本实施例中的终端300可以包括:一个或多个处理器301;一个或多个输入设备 302,一个或多个输出设备303和存储器304。上述处理器301、输入设备302、输出设备303和存储器304通过总线305连接。存储器302用于存储指令,处理器301用于执行存储器302存储的指令。其中,处理器301用于执行:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G 的进程中最大的隐私等级作为特征隐私等级Im
将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图 G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中;
判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量;
若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中;
将所述子图G1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。
在一实施例中,处理器301还用于执行:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G 保存到用于存放分割后的子图的列表中。
在一实施例中,处理器301还用于执行:
若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量;
将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回所述判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量的步骤。
在一实施例中,处理器301还用于执行:
将所述子图G2置空。
在一实施例中,处理器301还用于执行:
将所述子图G1置空。
应当理解,在本申请实施例中,处理器301可以是中央处理单元(CentralProcessing Unit,CPU),该处理器301还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
实施例5
本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G 的进程中最大的隐私等级作为特征隐私等级Im
将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图 G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中;
判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量;
若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中;
将所述子图G1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G 保存到用于存放分割后的子图的列表中。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量;
将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回所述判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量的步骤。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
将所述子图G2置空。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
将所述子图G1置空。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.含隐私约束条件的地理分布式进程映射方法,其特征在于,包括:
获取应用的进程图,并将所述应用的进程图设置为待分割图G;
判断所述待分割图G中的进程的隐私等级的数量是否大于1;
若所述待分割图G中的进程的隐私等级的数量大于1,将所述待分割图G的进程中最大的隐私等级作为特征隐私等级Im
将所述待分割图G中隐私等级小于所述特征隐私等级Im的进程放入到子图G1中,将所述待分割图G中隐私等级等于所述特征隐私等级Im的进程放入到子图G2中,将所述应用中隐私等级小于所述特征隐私等级Im的数据中心放入到集合S1中,将所述应用中隐私等级等于所述特征隐私等级Im的数据中心放入到集合S2中;
判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量;
若所述子图G1中的进程的数量不小于所述集合S1中的可用节点的数量,将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中;
将所述子图G1设置为新的待分割图G,并返回所述判断所述待分割图G中的进程的隐私等级的数量是否大于1的步骤。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待分割图G中的进程的隐私等级的数量等于1,将所述待分割图G保存到用于存放分割后的子图的列表中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述子图G1中的进程的数量小于所述集合S1中的可用节点的数量,获取所述子图G2的各进程与所述子图G1的所有进程的总通信量;
将所述子图G2中与所述子图G1的所有进程的总通信量最大的进程移动到所述子图G1中,将该进程的隐私等级设置为所述子图G1中所有进程中的最高隐私等级,并返回所述判断所述子图G1中的进程的数量是否小于所述集合S1中的可用节点的数量的步骤。
4.根据权利要求1所述的方法,其特征在于,在所述将所述子图G2作为一已分割子图保存到用于存放分割后的子图的列表中之后,所述方法还包括:
将所述子图G2置空。
5.根据权利要求1所述的方法,其特征在于,在所述将所述子图G1设置为新的待分割图G之后,所述方法还包括:
将所述子图G1置空。
6.含隐私约束条件的地理分布式进程映射装置,其特征在于,包括用于执行如权利要求1-5任一项所述方法的单元。
7.一种终端,其特征在于,所述终端包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-5中任一项所述的方法。
CN201910620184.4A 2019-07-10 2019-07-10 含隐私约束条件的地理分布式进程映射方法、装置及终端 Active CN110347511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910620184.4A CN110347511B (zh) 2019-07-10 2019-07-10 含隐私约束条件的地理分布式进程映射方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910620184.4A CN110347511B (zh) 2019-07-10 2019-07-10 含隐私约束条件的地理分布式进程映射方法、装置及终端

Publications (2)

Publication Number Publication Date
CN110347511A CN110347511A (zh) 2019-10-18
CN110347511B true CN110347511B (zh) 2021-08-06

Family

ID=68174775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910620184.4A Active CN110347511B (zh) 2019-07-10 2019-07-10 含隐私约束条件的地理分布式进程映射方法、装置及终端

Country Status (1)

Country Link
CN (1) CN110347511B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914285B (zh) * 2020-06-09 2022-06-17 深圳大学 一种基于差分隐私的地理分布式图计算方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420797A (zh) * 2010-09-27 2012-04-18 北京系统工程研究所 一种拓扑映射方法及系统
WO2016096534A1 (en) * 2014-12-16 2016-06-23 British Telecommunications Public Limited Company Resource allocation
CN109710403A (zh) * 2018-12-20 2019-05-03 深圳大学 应用进程映射方法、电子装置及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950029969A (ko) * 1994-04-13 1995-11-24 김광호 하이퍼큐브 멀티컴퓨터의 타스크할당 방법 및 장치
CN105786626B (zh) * 2016-04-11 2019-02-19 南京邮电大学 基于K划分的Storm平台线程分配方法
CN107329828B (zh) * 2017-06-26 2019-10-08 华中科技大学 一种面向cpu/gpu异构集群的数据流编程方法和系统
CN108595255B (zh) * 2018-04-13 2022-01-21 武汉理工大学 地理分布式云中基于最短路径算法的工作流任务调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420797A (zh) * 2010-09-27 2012-04-18 北京系统工程研究所 一种拓扑映射方法及系统
WO2016096534A1 (en) * 2014-12-16 2016-06-23 British Telecommunications Public Limited Company Resource allocation
CN109710403A (zh) * 2018-12-20 2019-05-03 深圳大学 应用进程映射方法、电子装置及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Efficient process mapping in geo-distributed cloud data centers;Amelie Chi Zhou;《SC17:Proceedings of the International Conference for High Performance Computing,Networking,Storage and Analysis》;20171130;全文 *
Privacy Regulation Aware Process Mapping In Geo-distributed Cloud Data Centers;Amelie Chi Zhou;《ieeexplore.ieee.org/document/8632727》;20190201;section 2-4 *
基于聚类分析的进程拓扑映射优化;王涛;《计算机学报》;20150531;第38卷(第5期);全文 *

Also Published As

Publication number Publication date
CN110347511A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN109871886B (zh) 基于谱聚类的异常点比例优化方法、装置及计算机设备
US10445638B1 (en) Restructuring a multi-dimensional array
CN109685092B (zh) 基于大数据的聚类方法、设备、存储介质及装置
US20190121926A1 (en) Graph centrality calculation method and apparatus, and storage medium
CN106919957B (zh) 处理数据的方法及装置
CN111400555B (zh) 图数据查询任务处理方法、装置、计算机设备和存储介质
US20160328445A1 (en) Data Query Method and Apparatus
CN113892113A (zh) 一种人体姿态估计方法及装置
EP3079077A1 (en) Graph data query method and device
CN110414569B (zh) 聚类实现方法及装置
WO2015180340A1 (zh) 一种数据挖掘方法及装置
CN111512283A (zh) 数据库中的基数估算
CN111158828A (zh) 应用程序app的用户界面确定方法及装置、存储介质
US10133811B2 (en) Non-transitory computer-readable recording medium, data arrangement method, and data arrangement apparatus
CN111008631A (zh) 图像的关联方法及装置、存储介质和电子装置
CN110347511B (zh) 含隐私约束条件的地理分布式进程映射方法、装置及终端
CN109710403B (zh) 应用进程映射方法、电子装置及计算机可读存储介质
CN109952742B (zh) 图结构处理方法、系统、网络设备及存储介质
CN111339064A (zh) 数据倾斜矫正方法、装置及计算机可读存储介质
CN110888888A (zh) 人员关系分析方法、装置、电子设备及存储介质
CN108073583B (zh) 一种分图方法及装置
CN113792170B (zh) 图数据划分方法、装置和计算机设备
CN115048412A (zh) 停靠点划分方法、装置、计算机设备和存储介质
CN108880835A (zh) 数据分析方法及装置、计算机存储介质
US9208535B2 (en) Method and apparatus for graphical processing unit (GPU) accelerated large-scale web community detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant