一种确定分布式代价的方法、装置、存储介质及电子设备制造方法及图纸

技术编号:23672193 阅读:20 留言:0更新日期:2020-04-04 17:42
本发明专利技术提供了一种确定分布式代价的方法、装置、存储介质及电子设备,其中,该方法包括:获取分布式的数据处理计划;确定具有依赖关系的目标节点之间的数据传输代价,并确定数据处理计划的总传输代价;根据本地处理计划的本地执行代价和前序处理计划的前序执行代价的最大值确定数据处理计划的总执行代价;根据总传输代价和总执行代价确定数据处理计划的总代价。通过本发明专利技术实施例提供的确定分布式代价的方法、装置、存储介质及电子设备,适用于异构环境下的分布式计算,通过确定并行的前序处理计划,从而基于前序执行代价的最大值可以挖掘出并行执行成本,能够更加准确地确定数据处理计划的总执行代价。

A method, device, storage medium and electronic equipment for determining distributed cost

【技术实现步骤摘要】
一种确定分布式代价的方法、装置、存储介质及电子设备
本专利技术涉及分布式系统的
,具体而言,涉及一种确定分布式代价的方法、装置、存储介质及电子设备。
技术介绍
目前,电子政务、医疗保健、金融和人工智能等行业的数据共享需求日益增长,如精密医学需要共享临床、遗传、环境和生活方式数据,以更好地治疗和预防疾病。拥有数据的数据所有者一般作为数据源以分布式方式组成分布式数据系统。分布式数据源上的数据使用已被广泛研究,例如查询使用等;在分布式数据的使用过程中,分布式的处理方式可以将单个问题分为多个部分,每个部分可由不同的计算节点完成。分布式处理的过程需要综合考虑节点范围、数据量、计算时间、安全协议等,以确定分布式处理的成本在许多实际场景中,往往是在异构环境下实现分布式的数据共享,各方之间使用不同的安全模式。在异构环境中,计算节点之间的各种信任关系、沿不同通信通道和不同计算节点的不同威胁级别、可用的特殊硬件支持程度等导致在确定计算成本时比较困难,且传统计算成本的方式一般在粗粒度上计算成本代价,计算结果并不准确。
技术实现思路
为解决上述问题,本专利技术实施例的目的在于提供一种确定分布式代价的方法、装置、存储介质及电子设备。第一方面,本专利技术实施例提供了一种确定分布式代价的方法,包括:获取分布式的数据处理计划,将所述数据处理计划涉及的数据所有节点作为目标节点,所述数据处理计划包含所述目标节点之间的依赖关系;确定具有依赖关系的所述目标节点之间的数据传输代价,并根据所述数据传输代价确定所述数据处理计划的总传输代价;将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价;根据所述总传输代价和所述总执行代价确定所述数据处理计划的总代价。在一种可能的实现方式中,所述获取分布式的数据处理计划包括:为每个所述目标节点分配相应的一个或多个原子操作,并确定所有所述原子操作之间的依赖关系,根据所有原子操作之间的依赖关系生成有向无环结构的数据处理计划。在一种可能的实现方式中,所述根据所述数据传输代价确定所述数据处理计划的总传输代价包括:根据所述目标节点之间的数据传输代价确定每个原子操作对应的数据传输原子代价;将所有所述原子操作的数据传输原子代价之和作为所述数据处理计划的总传输代价。在一种可能的实现方式中,所述根据所述目标节点之间的数据传输代价确定每个原子操作对应的数据传输原子代价包括:以原子操作为单位、将所述目标节点之间的数据传输代价分为原子操作之间的数据传输代价;确定当前原子操作的异地在先原子操作,根据所述当前原子操作与所述异地在先原子操作之间的数据传输代价确定所述当前原子操作的数据传输原子代价,所述异地在先原子操作为其他目标节点中具有指向所述当前原子操作的依赖关系的原子操作;且若将第j个目标节点中的一个原子操作δ作为当前原子操作,所述原子操作δ的数据传输原子代价为:其中,δ表示位于第j个目标节点中的一个原子操作,函数Toll(i,j)(X)表示将数据X从第i个目标节点传输至第j个目标节点的数据传输代价;表示在第i个目标节点中第k个需要传输至第j个目标节点的原子操作δ的数据,Ki表示在第i个目标节点中原子操作δ的异地在先原子操作的数量,n表示目标节点的总数量。在一种可能的实现方式中,所述将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价,包括:根据所述数据处理计划确定不存在指向本地依赖关系的初始原子操作δ1,并根据所述初始原子操作δ1自身的处理计划确定所述初始原子操作δ1的本地执行代价cL(δ1);将所述初始原子操作δ1的本地执行代价cL(δ1)作为所述初始原子操作δ1的原子执行代价表示所述初始原子操作δ1的原子处理计划;根据所述数据处理计划中的依赖关系选取下一个原子操作作为当前原子操作δC,并确定所述当前原子操作δC的所有前序原子操作δC,i,所述前序原子操作为具有指向所述当前原子操作的依赖关系的其他原子操作,且所述前序原子操作δC,i为所述当前原子操作的第i个前序原子操作;将与所述前序原子操作δC,i相对应的原子处理计划作为所述当前原子操作δC的前序处理计划,并将所述前序原子操作δC,i的原子执行代价作为所述当前原子操作的前序执行代价cP(δC,i);将所述当前原子操作δC自身的任务计划作为所述当前原子操作δC的本地处理计划,并确定所述当前原子操作δC的本地执行代价cL(δC);将所述当前原子操作δC的本地处理计划和前序处理计划作为所述当前原子操作δC的原子处理计划并将所述当前原子操作δC的所有前序执行代价的最大值与所述本地执行代价之和作为所述当前原子操作δC的原子执行代价之后继续选取下一个原子操作作为当前原子操作,重复上述确定所述当前原子操作的原子执行代价的过程,直至遍历所有的所述原子操作,并将最后的所述原子操作的原子执行代价作为所述数据处理计划的总执行代价。在一种可能的实现方式中,所述根据所述总传输代价和所述总执行代价确定所述数据处理计划的总代价包括:在所述总传输代价不大于预设阈值时,将所述总执行代价作为所述数据处理计划的总代价。第二方面,本专利技术实施例还提供了一种确定分布式代价的装置,包括:计划模块,用于获取分布式的数据处理计划,将所述数据处理计划涉及的数据所有节点作为目标节点,所述数据处理计划包含所述目标节点之间的依赖关系;传输代价确定模块,用于确定具有依赖关系的所述目标节点之间的数据传输代价,并根据所述数据传输代价确定所述数据处理计划的总传输代价;执行代价确定模块,用于将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价;总代价确定模块,用于根据所述总传输代价和所述总执行代价确定所述数据处理计划的总代价。在一种可能的实现方式中,所述计划模块获取分布式的数据处理计划包括:为每个所述目标节点分配相应的一个或多个原子操作,并确定所有所述原子操作之间的依赖关系,根据所有原子操作之间的依赖关系生成有向无环结构的数据处理计划。第三方面,本专利技术实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的确定分布式代价的方法。第四方面,本专利技术实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的确定分布式代价的方法。本专利技术实施例上本文档来自技高网...

【技术保护点】
1.一种确定分布式代价的方法,其特征在于,包括:/n获取分布式的数据处理计划,将所述数据处理计划涉及的数据所有节点作为目标节点,所述数据处理计划包含所述目标节点之间的依赖关系;/n确定具有依赖关系的所述目标节点之间的数据传输代价,并根据所述数据传输代价确定所述数据处理计划的总传输代价;/n将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价;/n根据所述总传输代价和所述总执行代价确定所述数据处理计划的总代价。/n

【技术特征摘要】
1.一种确定分布式代价的方法,其特征在于,包括:
获取分布式的数据处理计划,将所述数据处理计划涉及的数据所有节点作为目标节点,所述数据处理计划包含所述目标节点之间的依赖关系;
确定具有依赖关系的所述目标节点之间的数据传输代价,并根据所述数据传输代价确定所述数据处理计划的总传输代价;
将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价;
根据所述总传输代价和所述总执行代价确定所述数据处理计划的总代价。


2.根据权利要求1所述的方法,其特征在于,所述获取分布式的数据处理计划包括:
为每个所述目标节点分配相应的一个或多个原子操作,并确定所有所述原子操作之间的依赖关系,根据所有原子操作之间的依赖关系生成有向无环结构的数据处理计划。


3.根据权利要求2所述的方法,其特征在于,所述根据所述数据传输代价确定所述数据处理计划的总传输代价包括:
根据所述目标节点之间的数据传输代价确定每个原子操作对应的数据传输原子代价;
将所有所述原子操作的数据传输原子代价之和作为所述数据处理计划的总传输代价。


4.根据权利要求3所述的方法,其特征在于,所述根据所述目标节点之间的数据传输代价确定每个原子操作对应的数据传输原子代价包括:
以原子操作为单位、将所述目标节点之间的数据传输代价分为原子操作之间的数据传输代价;
确定当前原子操作的异地在先原子操作,根据所述当前原子操作与所述异地在先原子操作之间的数据传输代价确定所述当前原子操作的数据传输原子代价,所述异地在先原子操作为其他目标节点中具有指向所述当前原子操作的依赖关系的原子操作;且若将第j个目标节点中的一个原子操作δ作为当前原子操作,所述原子操作δ的数据传输原子代价为:



其中,δ表示位于第j个目标节点中的一个原子操作,函数Toll(i,j)(X)表示将数据X从第i个目标节点传输至第j个目标节点的数据传输代价;表示在第i个目标节点中第k个需要传输至第j个目标节点的原子操作δ的数据,Ki表示在第i个目标节点中原子操作δ的异地在先原子操作的数量,n表示目标节点的总数量。


5.根据权利要求2所述的方法,其特征在于,所述将所述数据处理计划分为本地处理计划和前序处理计划,根据所述本地处理计划的本地执行代价和所述前序处理计划的前序执行代价的最大值确定所述数据处理计划的总执行代价,包括:
根据所述数据处理计划确定不存在指向本地依赖关系的初始原子操作δ1,并根据所述初始原子操作δ1自身的处理计划确定所述初始原子操作δ1的本地执行代价cL(δ1);将所述初始原子操作δ1的本地执行代价cL(δ1)作为所述初始原子操作δ1的原子执行代价表示所述初始原子操作δ1的原子处理计划;
根据所述数据处理计划中的依赖关系选取下一个原子操作作为当...

【专利技术属性】
技术研发人员:杨华卫毕伟贾晓芸
申请(专利权)人:中思博安科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1