logo好方法网

基于区块链网络的分布式计算系统及方法

技术摘要:
本发明属于区块链技术领域,具体涉及基于区块链网络的分布式计算系统及方法,所述系统包括:任务分发终端和任务计算子终端群组;所述任务计算子终端群组包括若干个任务计算子终端;所述任务计算子终端彼此之间互相信号连接,构成区块链网络;所述区块链网络中设置外部  全部
背景技术:
由于现代人类各个课题学科繁多,涉及面广,而分类又细。而当今的每个学科似乎 都需要进行大量的计算。天文学研究组织需要计算机来分析太空脉冲(pulse),星位移动; 生物学家需要计算机来模拟蛋白质的折叠(protein  folding)过程;药物学家想要研制克 服艾滋病(AIDS)或非典(SARS)的药物;数学家想计算最大的质数和圆周率的更精确值;经 济学家要用计算机分析计算在几万种因素考虑下某个企业/城市/国家的发展方向从而宏 观调控。由此可见,人类未来的科学,时时刻刻离不开计算。而分布式计算(Distributed  Computing),以其独特的优点——便宜、高效而越来越受到社会的关注。 在分布式计算领域,特别是需要进行大量计算的领域,例如在电力系统安全稳定 分析领域,随着电网规模日益扩大,尤其在线应用方面,稳定分析计算的实时响应速度已成 为问题的焦点。目前,分布式计算技术被公认为是解决大规模、复杂电网在线分析计算实时 性的有效的技术手段之一。分布式计算技术通过网络构建分布式计算管理平台,充分利用 多台计算机的并行处理能力,在规定的计算周期内,通过静态、暂态、动态安全稳定分析计 算,实现电网安全稳定性的实时监视、分析和控制。但是,目前已实现的分布式计算管理平 台有的只支持在一个应用功能内部多计算任务的异步并发,有的只支持多个应用功能同步 并发,但是在一个计算周期内,在还有计算任务等待调度的情况下无法保证计算完成的计 算节点都能立刻触发新的调度,造成计算资源的闲置浪费,也延长了整个系统的计算周期。
技术实现要素:
本发明的主要目的在于提供基于区块链网络的分布式计算系统及方法,其通过多 重分布式结构,结合区块链网络实现复杂计算任务的计算,相较于传统的分布式计算方式, 计算效率更高,系统资源利用率更高。 为达到上述目的,本发明的技术方案是这样实现的: 基于区块链网络的分布式计算系统,所述系统包括:任务分发终端和任务计算子 终端群组;所述任务计算子终端群组包括若干个任务计算子终端;所述任务计算子终端彼 此之间互相信号连接,构成区块链网络;所述区块链网络中设置外部通信装置,通过该外部 通信装置与任务分发终端信号连接;所述任务计算子终端包括:分配器和若干分布式计算 器;所述分布式计算器彼此之间互相信号连接,构成子区块链网络;所述子区块链网络与分 配器信号连接;所述任务分发终端将计算数据进行分割,然后发送至区块链网络中;区块链 网络中处于闲置状态的任务计算终端主动接收计算数据,将接收到的计算数据,使用分配 器再次进行分割,得到子数据包,然后发送至子区块链网络中;分布式计算器主动接收子数 据包,按照设定的计算流程,开始计算任务;分配器实时对分布式计算器进行计算任务调 5 CN 111614713 A 说 明 书 2/9 页 度;所述计算任务调度使用如下公式进行表示: 其中Sd为计 算任务的调度粒度;P为计算任务数目,即子数据包的个数;PSi是每个计算任务的预计执行 时间;Q为子区块链网络中的分布式计算器数目;每个分布式计算器可同时运行任务的范围 为:1~Q;Sc为计算任务调度开销时间,主要包括通信时间和数据处理时间;Sd为设定的调度 开销时间性能因子的门槛值;所述分配器使用上述公式实时计算得出结果,若使用公式计 算出的结果满足设定阈值,则使用该结果对应的计算任务调度方式进行调度;若公式计算 出的结果没有满足设定的阈值,则重新进行计算任务调度分配,直到满足为止。 进一步的,所述分配器进行计算任务调度时,按照其预计执行时间和调度粒度形 成分配到改分布式计算器的计算任务,同时要求一个计算任务内只包含同一应用功能计算 任务,将队列中计算任务进行组合,依次分配给计算机群中处于空闲状态的各个分布式计 算器。 进一步的,当所述分布式计算器向分配器传送计算结果,分配器感知后,回收合并 相应的计算结果,同时将已回送计算结果的分布式计算器置为空闲状态,并触发新的分布 式计算器空闲调度,直到所有已提交计算任务的应用功能的计算作业都调度完毕;对于回 收到计算结果的计算作业,判断其所属的应用功能的所有计算作业的计算结果是否都已经 返回:若尚未完全返回,则重新进行计算任务调度;若都已返回,则向该应用功能返回计算 结果和完成信息,同时根据系统的计算流程判断是否有后续的应用功能满足启动条件,若 有则启动满足启动条件的应用功能;若没有满足启动条件的应用功能,且其它满足启动条 件的应用功能都计算完成后,结束计算任务。 进一步的,所述任务分发终端将计算数据进行分割的方法执行以下步骤:将计算 数据转换为矩阵数据;将矩阵数据转换为对应的图像数据;对图像进行边缘检測,得到边缘 强度模值S;将水平集函数Y初始化成圆形的符号距离函数形式,根据水平集函数值的正负, 将计算数据分割成两个集合Y1和Y2;根据所述的两个集合Y和Y2,使用如下公式构建对计算 数据进行分割的分割函数模型: 其中,λi为集合分割项的权值,取值范围为:2~4;g为边缘分割项的权重,取值范围为:3~ 4;v位修正项的权值,取值范围为0.2~0.3;位梯度算子,H为修正函数,设定为线性函数, 线性函数的参数能够进行设置; 为集合S1和S2的估计概率密度函数,pi为集合S1和S2的概 率密度函数;δ为强度均值调整参数,取值范围为:3~5;I为强度均值函数;通过构建的分割 函数模型,将计算数据进行分割。 一种基于区块链网络的分布式计算方法,所述方法执行以下步骤:步骤1:任务分 发终端将计算任务进行分割后,向任务计算子终端发送分割后的任务;步骤2:任务计算子 终端接收到计算数据后,再次进行分割,发送到分布式计算器,分布式计算器对该计算任务 进行计算;步骤3:任务计算子终端的分配器实时对分布式计算器进行计算任务调度。 6 CN 111614713 A 说 明 书 3/9 页 进一步的,所述任务计算子终端群组包括若干个任务计算子终端;所述任务计算 子终端彼此之间互相信号连接,构成区块链网络;所述区块链网络中设置外部通信装置,通 过该外部通信装置与任务分发终端信号连接。 进一步的,所述任务计算子终端包括:分配器和若干分布式计算器;所述分布式计 算器彼此之间互相信号连接,构成子区块链网络;所述子区块链网络与分配器信号连接;所 述任务分发终端将计算数据进行分割,然后发送至区块链网络中;区块链网络中处于闲置 状态的任务计算终端主动接收计算数据,将接收到的计算数据,使用分配器再次进行分割, 得到子数据包,然后发送至子区块链网络中;分布式计算器主动接收子数据包,按照设定的 计算流程,开始计算任务;分配器实时对分布式计算器进行计算任务调度;所述计算任务调 度使用如下公式进行表示: 其中Sd为计 算任务的调度粒度;P为计算任务数目,即子数据包的个数;PSi是每个计算任务的预计执行 时间;Q为子区块链网络中的分布式计算器数目;每个分布式计算器可同时运行任务的范围 为:1~Q;Sc为计算任务调度开销时间,主要包括通信时间和数据处理时间;Sd为设定的调度 开销时间性能因子的门槛值;所述分配器使用上述公式实时计算得出结果,若使用公式计 算出的结果满足设定阈值,则使用该结果对应的计算任务调度方式进行调度;若公式计算 出的结果没有满足设定的阈值,则重新进行计算任务调度分配,直到满足为止。 进一步的,所述分配器进行计算任务调度时,按照其预计执行时间和调度粒度形 成分配到改分布式计算器的计算任务,同时要求一个计算任务内只包含同一应用功能计算 任务,将队列中计算任务进行组合,依次分配给计算机群中处于空闲状态的各个分布式计 算器。 进一步的,当所述分布式计算器向分配器传送计算结果,分配器感知后,回收合并 相应的计算结果,同时将已回送计算结果的分布式计算器置为空闲状态,并触发新的分布 式计算器空闲调度,直到所有已提交计算任务的应用功能的计算作业都调度完毕;对于回 收到计算结果的计算作业,判断其所属的应用功能的所有计算作业的计算结果是否都已经 返回:若尚未完全返回,则重新进行计算任务调度;若都已返回,则向该应用功能返回计算 结果和完成信息,同时根据系统的计算流程判断是否有后续的应用功能满足启动条件,若 有则启动满足启动条件的应用功能;若没有满足启动条件的应用功能,且其它满足启动条 件的应用功能都计算完成后,结束计算任务。 进一步的,所述任务分发终端将计算数据进行分割的方法执行以下步骤:将计算 数据转换为矩阵数据;将矩阵数据转换为对应的图像数据;对图像进行边缘检測,得到边缘 强度模值S;将水平集函数Y初始化成圆形的符号距离函数形式,根据水平集函数值的正负, 将计算数据分割成两个集合Y1和Y2;根据所述的两个集合Y和Y2,使用如下公式构建对计算 数据进行分割的分割函数模型: 7 CN 111614713 A 说 明 书 4/9 页 其中,λi为集合分割项的权值, 取值范围为:2~4;g为边缘分割项的权重,取值范围为:3~4;v位修正项的权值,取值范围 为0.2~0.3; 位梯度算子,H为修正函数,设定为线性函数,线性函数的参数能够进行设 置; 为集合S1和S2的估计概率密度函数,pi为集合S1和S2的概率密度函数;δ为强度均值调 整参数,取值范围为:3~5;I为强度均值函数;通过构建的分割函数模型,将计算数据进行 分割。 本发明的供多区块链网络的跨链通信系统及方法,具有如下有益效果:本发明通 过两层分布式计算,进行计算任务。在第一层分布式计算系统由任务分发终端和任务计算 子终端群组组成;任务计算子终端群组又包括若干个任务计算子终端;任务计算子终端彼 此之间互相信号连接,构成区块链网络;任务分发终端对计算数据进行分割后,发送到区块 链网络中,区块链网络中的任务计算子终端视自身的系统资源利用情况,对分割后的计算 数据进行主动接收。这这样可以最大限度利用第一层分布式计算系统的系统资源。在每一 个任务计算子终端接收到数据后,每一个任务结算子终端又构成第二层分布式计算系统, 在第二层分布式计算系统中,通过分配器实时进行计算任务调度,在调度过程中,对接收到 的计算数据,使用分配器再次进行分割,得到子数据包,然后发送至子区块链网络中;分布 式计算器主动接收子数据包,按照设定的计算流程,开始计算任务;在分配器进行调度时, 使用任务调度计算公式计算得出结果,若使用公式计算出的结果满足设定阈值,则使用该 结果对应的计算任务调度方式进行调度;若公式计算出的结果没有满足设定的阈值,则重 新进行计算任务调度分配,直到满足为止;可以保证第二层的分布式计算系统中的计算资 源能够得到最大程度的利用,在进行计算任务调度时,针对区块链网络中的每个节点进行 监督,提升了计算效率。 附图说明 图1为本发明的实施例提供的基于区块链网络的分布式计算系统的系统结构示意 图; 图2为本发明的实施例提供的基于区块链网络的分布式计算方法的方法流程示意 图; 图3为本发明的实施例提供的基于区块链网络的分布式计算系统及方法的计算效 率实验效果示意图与现有技术的对比实验效果示意图; 图4为本发明的实施例提供的基于区块链网络的分布式计算系统及方法的系统资 源利用率实验效果示意图与现有技术的对比实验效果示意图。 1-本发明的实验曲线示意图,2-现有技术的实验曲线示意图。
分享到:
收藏