CN113114790B - 一种基于区块链与边缘计算的负载均衡方法与系统 - Google Patents
一种基于区块链与边缘计算的负载均衡方法与系统 Download PDFInfo
- Publication number
- CN113114790B CN113114790B CN202110649933.3A CN202110649933A CN113114790B CN 113114790 B CN113114790 B CN 113114790B CN 202110649933 A CN202110649933 A CN 202110649933A CN 113114790 B CN113114790 B CN 113114790B
- Authority
- CN
- China
- Prior art keywords
- edge
- task
- node
- computing system
- block chain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004364 calculation method Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 39
- 238000012795 verification Methods 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 230000007246 mechanism Effects 0.000 claims abstract description 23
- 239000002245 particle Substances 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 21
- 125000002015 acyclic group Chemical group 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 239000002243 precursor Substances 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种基于区块链与边缘计算的负载均衡方法,其方法包括:获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;利用有向无环图将每个任务分解,通过所述共识机制确定分解后的任务的一致性验证信息;根据当前计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源。本发明利用有向无环图将区块链任务进行分解,再通过启发式算法将分解后的任务均衡分配到每个边缘节点中,并发性和实时性强,提高了边缘计算系统的吞吐量。
Description
技术领域
本发明属于区块链与边缘计算领域,具体涉及一种基于区块链与边缘计算的负载均衡方法与系统。
背景技术
区块链是一种数字分布式账本,以分布式、不可篡改和可信的方式保证所记录交易的完整性、不可反驳和不可抵赖性。区块是一种只可写入和添加的数据集(数据库),其包含交易及其他记录的确认、合约、存储、复制、安全等信息。
区块链主要包含分布式账本、共识机制、密码学、智能合约等如下关键技术:a)分布式账本。区块链是一种分布式账本架构没有中心化节点,所有节点都保存全部且相同的区块账本信息。通常分布式账本数据的更新需要网络中的节点对更新进行投票并达成协议,以确保大多数节点的账本数据是一致的。分布式账本记录传输类似于网络成员之间的数据交换过程。在不需要第三方执行交易的分布式环境中,网络参与者可以通过协商致机制达成协议。
b)共识机制。在区块链网络中采用共识协议或机制的方法来确保去中心化的网络中各节点上账本的一致性,常见的共识机制包括工作量证明算法PoW)、股权证明算法(PaS)、授权股权证明算法(DPoS)、实用拜占庭容错算法(PBFT)等。
边缘计算是一种在靠近数据源侧,提供集成网络、计算、存储和应用等核心功能的综合性平台,能够满足实时业务、智能应用、敏捷连接、数据优化和安全保护等行业数字化需求的计算模式。边缘计算能够有效分解集中的云服务,将大型云端计算任务拆分为多个小型、易处理的任务,交由多个边缘节点进行分布式处理。
发明内容
为解决区块链的负载均衡问题,在本发明的第一方面提供了一种基于区块链与边缘计算的负载均衡方法,包括如下步骤:获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。
在一些实施例中,所述利用有向无环图将每个任务分解成一个或多个异步事务包括如下步骤:
根据每个任务的QoS和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;
根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;
从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。
在另一些实施例中,所述通过所述共识机制确定分解后的每个异步事务的一致性验证信息包括如下步骤:
根据蒙特卡洛一致性协议对一个或多个异步事务的一致性进行验证:
确定每个异步事务的消息传递过程并计算合法状态转换通过的概率。
在又一些实施例中,所述根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件包括如下步骤:
设R={r 1,r 2,…,r n},其中R表示边缘计算系统所包含的n个边缘节点集合;
根据每个边缘节点r i 当前的计算资源信息、通信资源信息和一致性验证信息确定约束指标集合Q和最小约束指标集合Q min ;
根据每个边缘节点r i 所在的多张候选有向无环图确定其前驱节点集合pred(i)和后继节点集合succ(i);
所述边缘计算系统的约束条件表示为:
其中:f_sum表示异步事务总数,f_sum(i)表示的第i个边缘节点的异步事务总数,M表示所有边缘节点处理的异步事务总数,w i 表示第i个边缘节点的优先级权重;minimize (T)表示边缘计算系统的完成所有任务的总时间,max(Ti)表示每个节点完成任务的任务时间;Ti为第i个节点完成所有调度异步事务时间;t i 为每个节点ri的最早异步事务的计算时间,T为每个节点ri的最终异步事务的计算时间,T(i) 1 为前驱节点传输给一个任务节点ri所需通信时间,T(i) 2 为ri完成一个异步事务所需时间;为每个节点ri的前驱节点传输给节点ri的异步事务数总和;为每个节点ri的后继节点计算的异步事务数总和。
进一步的,所述根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中包括如下步骤:
当边缘系统的吞吐量低于等于第一阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索算法搜索处理时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;
当边缘系统的吞吐量高于第一阈值且小于等于第二阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索节点搜索传播时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;
当边缘系统的吞吐量高于第二阈值时,将边缘系统中的每个节点视为粒子,边缘计算系统的约束条件作为解空间,通过粒子群算法并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点。
更进一步的,所述粒子群算法通过如下方法进行速度和位置更新:
其中,t为当前迭代次数,为第i个粒子的第t+1代的速度,表示第i个粒子的第t+1代的位置,表示第i个粒子的第t代的位置,r 1 、r 2 为[0,1]之间的随机数;P b 为个体历史最优位置,G b 为种群历史最优位置,c 1 、c 2 为学习因子,ω为惯性权重;表示第i个粒子在第t代种群的适应度值;表示第t代种群历史最优粒子的适应度值;、分别表示第t代所有粒子的适应度最劣值与最优值;表示了粒子i在第t代的进化能力;表示种群在第t代的进化能力;表示粒子i在t+1代的进化率,、和分别表示第t+1代的惯性权重、起始惯性权重和最终惯性权重。
本发明的第二方面,提供了一种基于区块链与边缘计算的负载均衡系统,包括获取模块、划分模块、确定模块、调度模块,所述获取模块,用于获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;所述划分模块,用于将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;所述确定模块,用于响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;所述调度模块,用于根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。
进一步的,所述划分模块包括分解单元、排序单元、选取单元,所述分解单元,用于根据每个任务的QoS和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;所述排序单元,用于根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;所述选取单元,用于从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。
本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面提供的方法。
本发明的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本发明第一方面提供的方法。
本发明的有益效果是:
1.通过有向无环图将区块链任务进行分解,并将其分配到边缘计算系统的边缘节点中,实现了任务可并发性;然后对分解后的任务结果进行一致性验证,保证了任务结果的一致性;
2.由于启发式算法复杂度低,收敛快,通过启发式算法动态调度边缘计算系统的计算资源和通信资源,提高边缘计算系统的实时性和吞吐量;
3.灵活性和适应性好,边缘计算具有数据处理实时性高、业务数据可塑性强和应用开发多样化程度高的三大特点,在工业、政务服务和企业应用等多个领域都有着广阔的应用前景。
附图说明
图1为本发明的一些实施例中的基于区块链与边缘计算的负载均衡方法流程示意图;
图2为本发明的一些实施例中的边缘计算系统的网络划分示意图;
图3为本发明的一些实施例中的区块链任务划分为有向无环图的过程示意图;
图4为本发明的一些实施例中的一致性验证信息的示意图;
图5为本发明的一些实施例中的基于区块链与边缘计算的负载均衡系统的结构示意图;
图6为本发明的一些实施例中的电子设备的基本结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参考图1至图4,在本发明的第一方面提供了一种基于区块链与边缘计算的负载均衡方法,包括如下步骤:S100.获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;S200.将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;S300.响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;S400.根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。所述边缘计算系统的部署模式包括边缘计算系统的网络划分和网络拓扑;
可以理解,一般共识机制包括工作量证明算法(PoW)、股权证明算法(PaS)、授权股权证明算法(DPoS)、实用拜占庭容错算法(PBFT)。在一些区块链任务中,并非所有事务都能分解为有向无环图(Directed Acyclic Graph,DAG),其中没有任何父节点任务的任务为入口任务,没有任何子节点的出口任务;此类事务属于独立异步事务。
参考图2,示出了一个边缘计算系统的基本组成,其包括区块链系统和移动边缘计算(Mobile Edge Computing,MEC)系统,区块链系统包括至少一个主节点(根节点)和多个备份节点,移动边缘计算系统包括多个无线终端或无线终端,通过有线或无线的方式通信连接。可选的,上述主节点可由区块链的共识机制从移动边缘计算系统中的节点选举中产生。
参考图3,在一些实施例的步骤S200中,所述利用有向无环图将每个任务分解成一个或多个异步事务包括如下步骤:根据每个任务的QoS(Quality of Service,服务质量)和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。图中展示了单个区块(TransationBlock)的数据结构:prev_hash、other_hash,每个prev_hash和other_hash分别指向用户A自身的交易(自引用)和其他交易(它引用)。其中,每笔交易需包含用户地址、转账地址、转账金额、幸运数、时间戳、数字签名等信息。交易的生成和区块的打包应满足自引用与它引用和工作量证明(Proof of work)两个条件。示意性地,图中的DAG Network中带有数字标号的节点(节点1至5)分别代表了一个任务中不同的异步事务,其中节点2涉及了交易事务,则节点1和节点3分别为其后继节点和前驱节点。
可选的,QoS指标包括响应时间、可用性、吞吐量、成功率、可靠性、和延迟等。即按照上述QOS指标先确定任务分解的优先级和要求,再根据优先级和要求从候选有向无环图中选取相应的有向无环图对任务进行分解。
参考图4,在另一些实施例的步骤S200中,所述通过所述共识机制确定分解后的每个异步事务的一致性验证信息包括如下步骤:根据蒙特卡洛一致性协议对一个或多个异步事务的一致性进行验证:确定每个异步事务的消息传递过程并计算合法状态转换通过的概率。不失一般性,合法状态转换例如:对某交易过程的由验证到验证通过的状态转换、共识节点由支链加入主链的状态转换等过程。图中示出了原节点或客户端(client C)进行某个事物的操作时,需要区块链中的其他节点(replica 0-3)对该操作(Write1)进行一致性验证,各个节点的结果一致后,将结果返回到原节点中,如此再进行下一步的操作(Write 2)。
具体地,蒙特卡洛一致性协议需要满足如下3个条件:1)可终结性,所有的过程需要在一个有限时间内做出决定;2)一致性,所有的过程最终能够达到一致性。3)输入的有效性,最终决定的值一定是过程产生的值。
在又一些实施例中,所述根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件包括如下步骤:设R={r 1,r 2,…,r n},其中R表示边缘计算系统所包含的n个边缘节点集合;根据每个边缘节点r i 当前的计算资源信息、通信资源信息和一致性验证信息确定约束指标集合Q和最小约束指标集合Q min ,约束指标包括安全性、可靠性、通信时间、计算时间以及一致性等;根据每个边缘节点r i 所在的多张候选有向无环图确定其前驱节点集合pred(i)和后继节点集合succ(i);所述边缘计算系统的约束条件表示为:
其中:f_sum表示异步事务总数,f_sum(i)表示的第i个边缘节点的异步事务总数,M表示所有边缘节点处理的异步事务总数,w i 表示第i个边缘节点的优先级权重;minimize (T)表示边缘计算系统的完成所有任务的总时间,max(Ti)表示每个节点完成任务的任务时间;Ti为第i个节点完成所有调度异步事务时间;t i 为每个节点ri的最早异步事务的计算时间,T为每个节点ri的最终异步事务的计算时间,T(i) 1 为前驱节点传输给一个任务节点ri所需通信时间,T(i) 2 为ri完成一个异步事务所需时间;为每个节点ri的前驱节点传输给节点ri的异步事务数总和;为每个节点ri的后继节点计算的异步事务数总和。
进一步的,所述根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中包括如下步骤:当边缘系统的吞吐量低于等于第一阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索算法搜索处理时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;当边缘系统的吞吐量高于第一阈值且小于等于第二阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索节点搜索传播时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;当边缘系统的吞吐量高于第二阈值时,将边缘系统中的每个节点视为粒子,边缘计算系统的约束条件作为解空间,通过粒子群算法并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点。
可选的,由于每个边缘节点运行环境和计算性能不同,上述第一阈值、第二阈值通常用边缘系统的总负载率表示;更进一步的,边缘系统的总负载率通过每个边缘节点的所用处理器的使用率表示。
更进一步的,所述粒子群算法通过如下方法进行速度和位置更新:
其中,t为当前迭代次数,为第i个粒子的第t+1代的速度,表示第i个粒子的第t+1代的位置,表示第i个粒子的第t代的位置,r 1 、r 2 为[0,1]之间的随机数;P b 为个体历史最优位置,G b 为种群历史最优位置,c 1 、c 2 为学习因子,ω为惯性权重;表示第i个粒子在第t代种群的适应度值;表示第t代种群历史最优粒子的适应度值;、分别表示第t代所有粒子的适应度最劣值与最优值;表示了粒子i在第t代的进化能力;表示种群在第t代的进化能力;表示粒子i在t+1代的进化率,、和分别表示第t+1代的惯性权重、起始惯性权重和最终惯性权重。
在本发明的第二方面提供了一种基于区块链与边缘计算的负载均衡系统1,包括获取模块11、划分模块12、确定模块13、调度模块14,所述获取模块11,用于获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;所述划分模块12,用于将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;所述确定模块13,用于响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;所述调度模块14,用于根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。
进一步的,所述划分模块12包括分解单元、排序单元、选取单元,所述分解单元,用于根据每个任务的QoS和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;所述排序单元,用于根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;所述选取单元,用于从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。
本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面提供的基于区块链与边缘计算的负载均衡方法。
参考图6,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Python、Go,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链与边缘计算的负载均衡方法,其特征在于,包括如下步骤:
获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;
将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;
响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;
根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。
2.根据权利要求1所述的基于区块链与边缘计算的负载均衡方法,其特征在于,所述利用有向无环图将每个任务分解成一个或多个异步事务包括如下步骤:
根据每个任务的QoS和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;
根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;
从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。
3.根据权利要求1所述的基于区块链与边缘计算的负载均衡方法,其特征在于,所述通过所述共识机制确定分解后的每个异步事务的一致性验证信息包括如下步骤:
根据蒙特卡洛一致性协议对一个或多个异步事务的一致性进行验证:
确定每个异步事务的消息传递过程并计算合法状态转换通过的概率。
4.根据权利要求1所述的基于区块链与边缘计算的负载均衡方法,其特征在于,所述根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件包括如下步骤:
设R={r 1,r 2,…,r n},其中R表示边缘计算系统所包含的n个边缘节点集合;
根据每个边缘节点r i 当前的计算资源信息、通信资源信息和一致性验证信息确定约束指标集合Q和最小约束指标集合Q min ;
根据每个边缘节点r i 所在的多张候选有向无环图确定其前驱节点集合pred(i)和后继节点集合succ(i);
所述边缘计算系统的约束条件表示为:
其中:f_sum表示异步事务总数,f_sum(i)表示的第i个边缘节点的异步事务总数,M表示所有边缘节点处理的异步事务总数,w i 表示第i个边缘节点的优先级权重;minimize(T)表示边缘计算系统的完成所有任务的总时间,max(Ti)表示每个节点完成任务的任务时间;Ti为第i个节点完成所有调度异步事务时间;t i 为每个节点ri的最早异步事务的计算时间,T为每个节点ri的最终异步事务的计算时间,T(i) 1 为前驱节点传输给一个任务节点ri所需通信时间,T(i) 2 为ri完成一个异步事务所需时间;为每个节点ri的前驱节点传输给节点ri的异步事务数总和;为每个节点ri的后继节点计算的异步事务数总和。
5.根据权利要求4所述的基于区块链与边缘计算的负载均衡方法,其特征在于,所述根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中包括如下步骤:
当边缘系统的吞吐量低于等于第一阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索算法搜索处理时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;
当边缘系统的吞吐量高于第一阈值且小于等于第二阈值时,将边缘系统的一个或多个根节点为顶点,通过A星搜索节点搜索传播时延最低的边缘节点,并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点;
当边缘系统的吞吐量高于第二阈值时,将边缘系统中的每个节点视为粒子,边缘计算系统的约束条件作为解空间,通过粒子群算法并将一个或多个任务请求卸载到边缘计算系统的一个或多个边缘节点。
6.根据权利要求5所述的基于区块链与边缘计算的负载均衡方法,其特征在于,所述粒子群算法通过如下方法进行速度和位置更新:
7.一种基于区块链与边缘计算的负载均衡系统,其特征在于,包括获取模块、划分模块、确定模块、调度模块,
所述获取模块,用于获取待负载均衡的区块链部署在边缘计算系统的各个边缘节点的网络拓扑和共识机制,确定并计算所述待负载均衡的区块链运行所需的计算资源、通信资源;
所述划分模块,用于将待负载均衡的区块链的一个或多个任务请求划分为若干个任务,利用有向无环图将每个任务分解成一个或多个异步事务,通过所述共识机制确定分解后的每个异步事务的一致性验证信息;
所述确定模块,用于响应于区块链的一个或多个任务请求,根据当前每个边缘节点的计算资源信息、通信资源信息和一致性验证信息确定边缘计算系统的约束条件;
所述调度模块,用于根据所述边缘计算系统的约束条件,利用启发式算法动态调度边缘计算系统的计算资源和通信资源,并将所述区块链的一个或多个任务请求均衡地卸载到边缘计算系统的一个或多个边缘节点中。
8.根据权利要求7所述的区块链与边缘计算的负载均衡系统,包括所述划分模块包括分解单元、排序单元、选取单元,
所述分解单元,用于根据每个任务的QoS和有向无环图将其分解成一个或多个异步事务;所述异步事务包括独立异步事务和非独立异步事务;
所述排序单元,用于根据处理时延和传输时延对属于同一个任务的全部独立异步事务和/或非独立异步事务进行拓扑排序,得到每个任务的多张候选有向无环图;
所述选取单元,用于从所述多张候选有向无环图中选取处理时延和传输时延之和最小的候选有向无环图,并利用其将每个任务分解成一个或多个异步事务。
9.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的基于区块链与边缘计算的负载均衡方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的基于区块链与边缘计算的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649933.3A CN113114790B (zh) | 2021-06-10 | 2021-06-10 | 一种基于区块链与边缘计算的负载均衡方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649933.3A CN113114790B (zh) | 2021-06-10 | 2021-06-10 | 一种基于区块链与边缘计算的负载均衡方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113114790A CN113114790A (zh) | 2021-07-13 |
CN113114790B true CN113114790B (zh) | 2021-09-14 |
Family
ID=76723465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110649933.3A Active CN113114790B (zh) | 2021-06-10 | 2021-06-10 | 一种基于区块链与边缘计算的负载均衡方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113114790B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612854B (zh) * | 2021-08-16 | 2023-07-25 | 中国联合网络通信集团有限公司 | 基于区块链的通信方法、服务器和终端 |
CN114003552B (zh) * | 2021-12-30 | 2022-03-29 | 中科声龙科技发展(北京)有限公司 | 工作量证明运算方法、工作量证明芯片及上位机 |
CN115277689B (zh) * | 2022-04-29 | 2023-09-22 | 国网天津市电力公司 | 一种基于分布式联邦学习的云边网络通信优化方法及系统 |
CN115633051B (zh) * | 2022-10-11 | 2024-07-23 | 四川启睿克科技有限公司 | 一种边缘计算节点自协同管理的方法 |
CN116578425B (zh) * | 2023-07-11 | 2023-09-22 | 沐曦集成电路(上海)有限公司 | 一种基于光栅化的负载均衡方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194761A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于边缘计算与区块链的lora物联网环境数据采集与上链实现方法 |
CN111132175A (zh) * | 2019-12-18 | 2020-05-08 | 西安电子科技大学 | 一种协同计算卸载和资源分配方法及应用 |
CN111612393A (zh) * | 2020-04-16 | 2020-09-01 | 南京邮电大学 | 基于区块链和边缘计算的药事供应链管理系统及方法 |
EP3796166A1 (en) * | 2018-05-16 | 2021-03-24 | Tencent Technology (Shenzhen) Company Limited | Graph data-based task scheduling method, device, storage medium and apparatus |
CN112783662A (zh) * | 2021-02-18 | 2021-05-11 | 绍兴文理学院 | 集成区块链的传感边缘云任务卸载中cpu资源可信共享系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109166036B (zh) * | 2018-07-19 | 2021-05-11 | 华北电力大学 | 一种基于区块链和契约理论的v2g能源交易方法 |
CN112543115A (zh) * | 2020-11-13 | 2021-03-23 | 北京科技大学 | 基于区块链的无人机边缘计算网络资源分配方法及装置 |
-
2021
- 2021-06-10 CN CN202110649933.3A patent/CN113114790B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3796166A1 (en) * | 2018-05-16 | 2021-03-24 | Tencent Technology (Shenzhen) Company Limited | Graph data-based task scheduling method, device, storage medium and apparatus |
CN109194761A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于边缘计算与区块链的lora物联网环境数据采集与上链实现方法 |
CN111132175A (zh) * | 2019-12-18 | 2020-05-08 | 西安电子科技大学 | 一种协同计算卸载和资源分配方法及应用 |
CN111612393A (zh) * | 2020-04-16 | 2020-09-01 | 南京邮电大学 | 基于区块链和边缘计算的药事供应链管理系统及方法 |
CN112783662A (zh) * | 2021-02-18 | 2021-05-11 | 绍兴文理学院 | 集成区块链的传感边缘云任务卸载中cpu资源可信共享系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113114790A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113114790B (zh) | 一种基于区块链与边缘计算的负载均衡方法与系统 | |
Fan et al. | Performance evaluation of blockchain systems: A systematic survey | |
KR102499076B1 (ko) | 그래프 데이터 기반의 태스크 스케줄링 방법, 디바이스, 저장 매체 및 장치 | |
US20190182055A1 (en) | Enforcing compute equity models in distributed blockchain | |
Iqbal et al. | Blockchain-based reputation management for task offloading in micro-level vehicular fog network | |
US20190182254A1 (en) | Enforcing compute equity models in distributed blockchain | |
Chan et al. | Mobiliti: Scalable transportation simulation using high-performance parallel computing | |
Amiri et al. | Resilient and dependability management in distributed environments: A systematic and comprehensive literature review | |
CN109118224A (zh) | 区块链网络的工作量证明方法、装置、介质及电子设备 | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
Zhao et al. | Microservice based computational offloading framework and cost efficient task scheduling algorithm in heterogeneous fog cloud network | |
Mora et al. | Multilayer architecture model for mobile cloud computing paradigm | |
US20210248002A1 (en) | Scheduling artificial intelligence model partitions based on reversed computation graph | |
Saravanan et al. | Enhancing investigations in data migration and security using sequence cover cat and cover particle swarm optimization in the fog paradigm | |
Battula et al. | A generic stochastic model for resource availability in fog computing environments | |
Yang et al. | Edge computing in the dark: Leveraging contextual-combinatorial bandit and coded computing | |
Pedarsani et al. | Robust scheduling for flexible processing networks | |
Hang et al. | A transaction traffic control approach based on fuzzy logic to improve hyperledger fabric performance | |
Nasonov et al. | Hybrid scheduling algorithm in early warning systems | |
Fan et al. | Dynamic digital twin and online scheduling for contact window resources in satellite network | |
Sana et al. | Improved particle swarm optimization based on blockchain mechanism for flexible job shop problem | |
Lera et al. | Analyzing the applicability of a multi-criteria decision method in fog computing placement problem | |
Dogani et al. | Proactive auto-scaling technique for web applications in container-based edge computing using federated learning model | |
CN116502869B (zh) | 任务分配方法、装置、电子设备和计算机可读介质 | |
Chowdhary et al. | QoS enhancement in cloud-IoT framework for educational institution with task allocation and scheduling with task-VM matching approach |
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 |