CN109246176A - 软件定义网络中基于区块链的多控制器同步方法及装置 - Google Patents
软件定义网络中基于区块链的多控制器同步方法及装置 Download PDFInfo
- Publication number
- CN109246176A CN109246176A CN201810715834.9A CN201810715834A CN109246176A CN 109246176 A CN109246176 A CN 109246176A CN 201810715834 A CN201810715834 A CN 201810715834A CN 109246176 A CN109246176 A CN 109246176A
- Authority
- CN
- China
- Prior art keywords
- controller
- block
- information
- node
- catenary system
- 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.)
- Granted
Links
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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/104—Peer-to-peer [P2P] networks
Abstract
本发明提供一种软件定义网络中基于区块链的多控制器同步方法及装置,所述方法包括:向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。本发明提供的软件定义网络中基于区块链的多控制器同步方法及装置,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件定义网络中基于区块链的多控制器同步方法及装置。
背景技术
软件定义网络(Software Defined Network,SDN)已经成为一种重要的未来网络架构,它将控制平面和数据平面进行解耦和,实现了对底层资源的抽象映射。但是随着网络规模的不断增加,单一控制器已经不能满足网络的需求,实现逻辑上集中的、物理上分布的多控制架构已经成为必然趋势。但是,如何实现多控制器的信息同步,是一个急需解决的问题。
现有技术中,多控制器的信息同步方法主要包括:HyperFlow多控制架构利用订阅-发布模式实现了控制器之间的信息同步;Onix通过复制和传播网络信息库(NetworkInformation Base,NIB)的方式实现了控制器之间的信息同步。
但是,现有技术中的两种多控制器的信息同步方法,由于信息同步机制需要频繁的信息交互,减弱了控制器的工作效率,例如下发流表、路由选择等。并且,控制层的安全性能较差,只能应用于小规模的网络中。
发明内容
本发明的目的是提供一种软件定义网络中基于区块链的多控制器同步方法及装置,解决了现有技术中同步方法导致控制器的工作效率低的技术问题。
为了解决上述技术问题,一方面,本发明提供一种软件定义网络中基于区块链的多控制器同步方法,包括:
向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
另一方面,本发明提供一种软件定义网络中基于区块链的多控制器同步装置,包括:
第一发送模块,用于向获取到的接入区块链系统的目标控制发送共识承认,以供所述目标控制器根据所述共识承认向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
第二发送模块,用于向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
再一方面,本发明提供一种用于软件定义网络中基于区块链的多控制器同步的电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明提供的软件定义网络中基于区块链的多控制器同步方法及装置,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
附图说明
图1为依照本发明实施例的软件定义网络中基于区块链的多控制器同步方法示意图;
图2为依照本发明实施例的基于区块链技术的多控制器信息同步的网络结构示意图;
图3为依照本发明实施例多控制器与区块链系统交互流程图,如图3所示;
图4为本发明实施例中区块链系统中的具体同步过程示意图;
图5为依照本发明实施例的软件定义网络中基于区块链的多控制器同步装置示意图;
图6为本发明实施例提供的用于软件定义网络中基于区块链的多控制器同步的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为依照本发明实施例的软件定义网络中基于区块链的多控制器同步方法示意图,如图1所示,本发明实施例提供一种软件定义网络中基于区块链的多控制器同步方法,其执行主体为区块链系统,包括:
步骤S101、向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
步骤S102、向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
具体的,图2为依照本发明实施例的基于区块链技术的多控制器信息同步的网络结构示意图,如图2所示,网络结构包括区块链系统(Blockchain system)、SDN控制平面和边缘计算服务器(Edge computing servers)三大部分。其中,区块链系统包括多个节点(Block)和主体(Agent,其为深度强化学习的学习主体),主体未在图2中示出,控制平面分成多个管理域(Domain),如图2中的Domain A、Domain B和Domain C,每个管理域都有一个SDN控制器(controller)。
不同于现有技术中的需要控制器之间频繁交互信息的同步机制,本发明实施例把区块链系统作为具有极高安全性能的第三方,为SDN控制平面提供信息同步服务。
网络模型的定义如下:
在区块链系统中有N个节点,其中N={1,2,...,n,…,N},和其他拜占庭系统类似,N个节点中最多有f=(N-1)/3个节点是恶意的。在该区块链系统中,一些恶意节点可以篡改内部的同步机制,但是不能破解如下加密机制,包括签名、消息认证码(messageauthentication codes,MACs)和哈希算法,其中加密后的消息的表示方法如下:
表示消息m被节点i的私有签名加密。
表示消息m已经被节点i/j双方进行了MAC认证。
表示消息m已经被节点i和一组节点进行了MAC认证。
控制平面中有C个控制器,其中C={1,2,...,c,…C},任意数量的控制器有可能是恶意的,它们主要通过提交错误或无效的信息来降低区块链系统的有效吞吐量。另外为了增加系统的性能,除了利用区块链系统自身的计算能力,本发明将充分利用边缘计算服务器的计算能力,将它们动态的分配给区块链系统进行上述与加密认证相关的计算。其中,有E个可利用的边缘计算服务器,分别表示为E={1,2,...,e,...,E}。
系统建模的方法如下:
本发明实施例中,我们将综合考虑区块链系统中每一节点的信用值、每一控制器的信用值和每一边缘计算服务器的计算能力,因此将针对这三方面进行建模。
1、信用值建模
由于缺少集中式的安全管理管理,所有区块链节点和控制器可能是安全的或可疑的,并且我们很难知道这些节点的下一时刻的信用值。因此,我们将区块链节点n和控制器c的信用值分别建模为随机变量δn和ηc,并将它们分别划分成L个和H个离散的区间。假设t时刻,区块链节点n和控制器c的信用值分别为δn(t)和ηc(t)。我们利用马尔科夫链对区块链节点n和控制器c信用值的变化进行建模:
a)对于区块链节点n,其信用值根据如下状态转移矩阵进行变化:
kc(t)=[kxsys(t)]L×L
其中,kxsys(t)=Pr(δn(t+1)=ys|δn(t)=xs)。
b)对于控制器c,其信用值根据如下状态转移矩阵进行变化:
其中,
2、计算能力建模
假设Tm={sm,qm}表示与消息m相关的计算任务,其中sm表示消息m的大小,qm表示完成该计算需要的中央处理器(CPU)转数。由于网络结构中有多个边缘计算服务器,还有需要其他虚拟的计算任务在边缘计算服务器上执行,因此我们不能准确的知道下一状态每个边缘计算服务器所剩余的计算能力是多少,因此我们将边缘计算服务器e在t时刻所剩余的计算能力建模为随机变量ζe(t),并将计算能力划分成Y和离散的区间,我们利用马尔科夫链对计算能力进行建模:
对于边缘计算服务器e,其计算能力根据如下状态转移矩阵进行变化:
Πn(t)=[υasbs(t)]Y×Y
其中,υasbs(t)=Pr(ζe(t+1)=bs|ζe(t)=as)。
利用竞争深度强化学习(dueling DQN)算法进行求解的方法如下:dueling DQN包括3个重要的要素,包括状态空间、动作空间、回报函数的建立,首先我们先对这3个要素进行定义描述:
1、状态空间:根据上述针对信用值和计算能力的建模,状态空间可以表示为t时刻每个节点的信用值、每个控制器的信用值、每个边缘计算服务器的计算能力,表示为S。
2、动作空间:根据每个状态,系统需要决策视图变换方案、控制器接入选择方案、计算资源分配方案,因此动作空间可以表示为t时刻,选择哪个同步节点作为主节点、选择哪个控制器接入到区块链系统中、选择哪个边缘计算服务器进行计算操作,表示为A(t):
A(t)={AN(t),AC(t),AE(t)}
1)AN(t)=[a1(t),a2(t),…,an(t),…,aN(t)]表示选择哪个节点为主节点,an(t)={0,1},1表示该节点n为主节点;否则为0。另外只能选择一个节点作为主节点。
2)AC(t)=[a1(t),a2(t),…,ac(t),…,aC(t)]表示选择哪个控制器接入到区块链系统,ac(t)={0,1},1表示控制器c可以接入到区块链系统;否则为0。注意,一个时刻内只能选择接入一个控制器。
3)AE(t)=[a1(t),a2(t),…,ae(t),…,aE(t)]表示选择哪个边缘计算服务器执行计算任务,ae(t)={0,1},1表示由边缘计算服务器e执行计算任务;否则为0。注意,一个时刻内只能由一个边缘计算服务器执行任务。
3、回报函数
我们将区块链系统的吞吐量作为回报函数,回报函数的表达式如下:
定义完状态空间、动作空间和回报函数后,本发明实施例利用dueling DQN算法对最优的动作策略进行学习,其中本发明实施例在仿真过程中采用深度神经网络为7层反向传播神经网络。
图3为依照本发明实施例多控制器与区块链系统交互流程图,如图3所示,在多控制器进行信息同步的过程中,多控制器与区块链系统交互的流程如下:
1、每个控制器收集本地的网络事件和本地的Openflow指令,Openflow指令为软件定义网络控制指令,以多个交易的形式存储到第一区块中,分别为交易1(transaction#1),交易2(transaction#2),…,交易n(transaction#n),该过程为收集阶段(Collectionperiod)。交易的格式如表1所示。
表1交易格式
区域 | 意义 |
号码 | 表述该区块的位置 |
签名 | 该区块的个人签名 |
消息认证码 | 该区块的消息认证码 |
负载 | 待同步的本地时间和SDN控制指令 |
2、一段时间后,全部控制器(controller)都向区块链(Blockchain)系统上交同步请求(Consensus request),区块链系统在考虑每个控制器历史信用值的基础上,只允许一个控制器接入(该过程称为控制器的接入选择问题,具体选择哪一个控制器接入,需要利用dueling DQN算法求解得到)。被选中的控制器,作为目标控制器,目标控制器会收到来自区块链系统的共识承认信息consensus admission,例如,以控制器1作为目标控制器。
在同步阶段(consensus period),控制器1收到consensus admission后,将本地收集的本地信息transactions+header生成第一区块,上传给区块链系统,此时的第一区块是未经认证的区块(Un-validated blockchain),该第一区块的具体格式如表2所示。
表2第一区块格式
区域 | 意义 |
版本号 | 区块的版本号 |
时间戳 | 区块的创建时间 |
控制器标示符 | 该控制器的标示符 |
区块标识符 | 该区块的标示符 |
区块负载 | 该区块中的全部交易 |
区块链系统经过一系列同步操作,进行自身同步。区块系统回复给每个控制器一个认证区块(Validated block),作为第二区块,每个控制器读取第二区块中的transaction,得到控制器1处的本地信息,并更新自身存储的相应的网络视图,实现了多控制器的信息同步。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在上述实施例的基础上,进一步地,所述向获取到的接入区块链系统的目标控制器发送共识承认信息之前,还包括:
将获取到的所述区块链系统中每一节点的信用值,获取到的每一控制器的信用值,以及获取到的每一边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出所述目标控制器。
具体的,控制平面中有C个控制器,其中C={1,2,...,c,…C},任意数量的控制器有可能是恶意的,它们主要通过提交错误或无效的信息来降低区块链系统的有效吞吐量。
并且,一个时刻内只能选择接入一个控制器。因此,如何选择目标控制器接入区块链系统非常重要。本发明实施例综合考虑区块链系统中每一节点的信用值,每一控制器的信用值,以及获取到的每一边缘计算服务器的计算能力,利用dueling DQN算法进行优化求解得到所述目标控制器。
将获取到的区块链系统中每一节点的信用值,获取到的每一控制器的信用值,以及获取到的每一边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出目标控制器。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在以上各实施例的基础上,进一步地,所述预设竞争深度强化学习模型包括状态空间、动作空间和回报函数三个要素;
所述状态空间表示每一节点的信用值,每一控制器的信用值,以及每一边缘计算服务器的计算能力;
所述动作空间表示所述目标控制器、主节点和目标边缘计算服务器;
所述回报函数表示所述区块链系统的吞吐量。
具体的,dueling DQN算法模型包括3个重要的要素,包括状态空间、动作空间、回报函数的建立,首先我们先对这3个要素进行定义描述:
1、状态空间:根据上述针对信用值和计算能力的建模,状态空间可以表示为t时刻每个节点的信用值、每个控制器的信用值、每个边缘计算服务器的计算能力,表示为S。
2、动作空间:根据每个状态,系统需要决策视图变换方案、控制器接入选择方案、计算资源分配方案,因此动作空间可以表示为t时刻,选择哪个同步节点作为主节点、选择哪个控制器接入到区块链系统中、选择哪个边缘计算服务器进行计算操作,表示为A(t):
A(t)={AN(t),AC(t),AE(t)}
1)AN(t)=[a1(t),a2(t),…,an(t),…,aN(t)]表示选择哪个节点为主节点,an(t)={0,1},1表示该节点n为主节点;否则为0。另外只能选择一个节点作为主节点。
2)AC(t)=[a1(t),a2(t),…,ac(t),…,aC(t)]表示选择哪个控制器接入到区块链系统,ac(t)={0,1},1表示控制器c可以接入到区块链系统;否则为0。注意,一个时刻内只能选择接入一个控制器。
3)AE(t)=[a1(t),a2(t),…,ae(t),…,aE(t)]表示选择哪个边缘计算服务器执行计算任务,ae(t)={0,1},1表示由边缘计算服务器e执行计算任务;否则为0。注意,一个时刻内只能由一个边缘计算服务器执行任务。
3、回报函数
我们将区块链系统的吞吐量作为回报函数,回报函数的表达式如下:
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在以上各实施例的基础上,进一步地,所述本地信息至少包含网络事件和/或者Openflow指令。
具体的,在控制器向区块链系统发送同步请求时,每个控制器收集本地的网络事件和本地的Openflow指令,以多个交易的形式存储到第一区块中,分别为交易1(transaction#1),交易2(transaction#2),…,交易n(transaction#n),该过程为收集阶段。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在以上各实施例的基础上,进一步地,所述向获取到的接入区块链系统的目标控制器发送共识承认信息,和所述向每一控制器发送包含所述本地信息的第二区块之间,还包括:
进行自身同步;
所述自身同步的方法如下:
所述区块链系统中的每一节点都接收所述第一区块,所述区块链系统中的节点包括主节点和非主节点;
获取到的主节点对所述第一区块进行认证;
所述主节点向其他每一非主节点广播预准备信息;
所述每一非主节点向除自身以外的每一节点发送准备信息;
每一节点向除自身以外的每一节点发送承诺信息,以实现所述区块链系统的自身同步。
具体的,图4为本发明实施例中区块链系统中的具体同步过程示意图,其中以下描述中的编号与图4中的编号一致,如图4所示。
第1阶段为请求阶段(request):每一控制器向全部区块链中的节点上传未认证的第一区块,区块链系统根据dueling DQN算法求解得到当前时刻接入所述区块链系统的控制器,作为目标控制器,本实施例中控制器1为目标控制器,图3中的Controller为控制器1。并根据每个区块链节点(Node)的历史信用值,主体Agent将选择一个节点作为主节点,具体选择哪个节点作为主节点即为视图变换问题,具体选择哪个作为主节点,需要利用duelingDQN算法求解得到。例如图3中选择了节点(Node)2作为主节点,那么只有节点2对收到的未认证的第一区块进行处理。首先节点2对全部交易transactions的消息认证码MACs进行验证,如果证明有效,则对全部transactions的签名进行验证,如果有效,则进入下面的步骤。如果该区块之前已经被同步处理认证过的,那么节点2直接回复给控制器1被认证的区块。
数值分析:
该步骤1中假设控制器1上传的第一区块中有效交易transactions的比例为g,那么此阶段中主节点2为了验证MAC和签名所花费的计算能力W为b/g(θ+α)。
其中,θ表示验证一个签名所需要的计算能力;α表示验证和生成一个MAC所需要的计算能力。
该过程,其他非主节点暂时没有计算花费。
第2阶段为预准备阶段(pre-prepare):主节点向其他非主节点广播预准备信息(PRE-PREPARE message)。该PRE-PREPARE消息的格式为:
其中,p为主节点ID,H(m)为控制器1所上传节点的哈希函数值。其他非主节点验证来自主节点的MAC和每个transaction的签名,认证成功后进入下一步骤。
数值分析:
该过程主节点生产了(N-1)个MAC,因此主节点花费的计算能力为(N-1)α。
非主节点验证了一个来自主节点的MAC,b/g个来自transactions的签名,因此非主节点花费的计算能力为α+bθ/g。
第3阶段为准备阶段(prepare):非主节点向其他全部节点发送准备信息(PREPAREmessage)。该消息的格式为其中n表示该非主节点的ID。每个收到该消息的节点都认证它的MAC,如果收集到2f个和本地PRE-PREPARE消息相匹配的PREPARE消息,那么进入下一步骤。
数值分析:
该过程,主节点需要验证2f个MAC,所花费的计算能力为2fα。
非主节点首先生成(N-1)个MAC,再验证2f个MAC,因此所花费的计算能力为(N-1+2f)α。
第4阶段为执行阶段(commit):所有节点发送执行信息(COMMIT message)给其他全部节点。该消息的格式为当收到2f个匹配的COMMIT消息,则进入下一步骤。
数值分析:
该过程主节点和非主节点都需要生成(N-1)个MAC,并验证2f个MAC,因此它们所花费的计算能力均为(N-1+2f)α。
第5阶段为回复阶段(reply):所有节点向全部控制器发送回复信息replymessage,格式为其中block为经过节点认证之后的区块。当每个控制器收到2f个有效并且相互匹配的reply message,则该控制器接收这个区块,并更新本地相应位置的网络信息。
数值分析:
该过程全部节点均向每个控制器发送b/g个MAC,因此它们所花费的计算能力均为bCα/g。
因此,主节点针对某一个transaction所花费的计算能力为:
非主节点针对某一transaction所花费的计算能力为:
我们考虑系统中的全部计算能力为Hz,并且区块链系统中的同步节点也不是完全可信的,存在k的概率来影响系统的吞吐量,其中越可信的同步节点,k值越大,并且k∈{0,1}。因此系统的吞吐量为:
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在以上各实施例的基础上,进一步地,所述获取到的主节点对所述第一区块进行认证之前,还包括:
将获取到的所述区块链系统中每个节点的信用值,获取到的每个控制器的信用值,以及获取到的每个边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出所述主节点和目标边缘计算服务器。
具体的,获取到的主节点对第一区块进行认证之前,将获取到的区块链系统中每个节点的信用值,获取到的每个控制器的信用值,以及获取到的每个边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型的同时,还输出所述主节点和目标边缘计算服务器。以便通过该主节点完成同步过程中的相应的步骤,并且使区块链系统利用目标边缘计算服务器执行同步过程中产生的计算任务。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
在以上各实施例的基础上,进一步地,在整个同步过程中,所述区块链系统利用所述目标边缘计算服务器执行同步过程中产生的计算任务。
具体的,为了增加系统的吞吐量,我们不只利用区块链系统本地的计算能力,还将利用来自边缘计算服务器的虚拟计算能力,这就涉及到了系统建模中计算能力的建模,所以dueling DQN算法模型的另外一个动作就是选择哪个边缘计算服务器来卸载计算任务。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步方法,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
图5为依照本发明实施例的软件定义网络中基于区块链的多控制器同步装置示意图,如图5所示,本发明实施例提供一种软件定义网络中基于区块链的多控制器同步装置,用于完成上述实施例中所述的方法,具体包括第一发送模块501和第二发送模块502,其中,
第一发送模块501用于向获取到的接入区块链系统的目标控制发送共识承认,以供所述目标控制器根据所述共识承认向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
第二发送模块502用于向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
本发明实施例提供一种软件定义网络中基于区块链的多控制器同步装置,用于完成上述实施例中所述的方法,通过本实施例提供的装置完成上述实施例中所述的方法的具体步骤与上述实施例相同,此处不再赘述。
本发明实施例提供的软件定义网络中基于区块链的多控制器同步装置,通过许可链实现多控制器之间的信息同步,减少了不必要的信息交互,提高了控制器的效率,并提高了控制器的安全性和可靠性。
图6为本发明实施例提供的用于软件定义网络中基于区块链的多控制器同步的电子设备的结构示意图,如图6所示,所述设备包括:处理器601、存储器602和总线603;
其中,处理器601和存储器602通过所述总线603完成相互间的通信;
处理器601用于调用存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种软件定义网络中基于区块链的多控制器同步方法,其特征在于,包括:
向获取到的接入区块链系统的目标控制器发送共识承认信息,以供所述目标控制器根据所述共识承认信息向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
2.根据权利要求1所述的方法,其特征在于,所述向获取到的接入区块链系统的目标控制器发送共识承认信息之前,还包括:
将获取到的所述区块链系统中每一节点的信用值,获取到的每一控制器的信用值,以及获取到的每一边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出所述目标控制器。
3.根据权利要求2述的方法,其特征在于,所述预设竞争深度强化学习模型包括状态空间、动作空间和回报函数三个要素;
所述状态空间表示每一节点的信用值,每一控制器的信用值,以及每一边缘计算服务器的计算能力;
所述动作空间表示所述目标控制器、主节点和目标边缘计算服务器;
所述回报函数表示所述区块链系统的吞吐量。
4.根据权利要求1所述的方法,其特征在于,所述本地信息至少包含网络事件和/或者Openflow指令。
5.根据权利要求1所述的方法,其特征在于,所述向获取到的接入区块链系统的目标控制器发送共识承认信息,和所述向每一控制器发送包含所述本地信息的第二区块之间,还包括:
进行自身同步;
所述自身同步的方法如下:
所述区块链系统中的每一节点都接收所述第一区块,所述区块链系统中的节点包括主节点和非主节点;
获取到的主节点对所述第一区块进行认证;
所述主节点向其他每一非主节点广播预准备信息;
所述每一非主节点向除自身以外的每一节点发送准备信息;
每一节点向除自身以外的每一节点发送承诺信息,以实现所述区块链系统的自身同步。
6.根据权利要求5述的方法,其特征在于,所述获取到的主节点对所述第一区块进行认证之前,还包括:
将获取到的所述区块链系统中每个节点的信用值,获取到的每个控制器的信用值,以及获取到的每个边缘计算服务器的计算能力,输入至预设竞争深度强化学习模型,输出所述主节点和目标边缘计算服务器。
7.根据权利要求6述的方法,其特征在于,在整个同步过程中,所述区块链系统利用所述目标边缘计算服务器执行同步过程中产生的计算任务。
8.一种软件定义网络中基于区块链的多控制器同步装置,其特征在于,包括:
第一发送模块,用于向获取到的接入区块链系统的目标控制发送共识承认,以供所述目标控制器根据所述共识承认向所述区块链系统发送包含所述目标控制器的本地信息的第一区块;
第二发送模块,用于向每一控制器发送包含所述本地信息的第二区块,以供每一控制器根据所述本地信息更新自身存储的网络视图,实现多个控制器的信息同步。
9.一种用于软件定义网络中基于区块链的多控制器同步的电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715834.9A CN109246176B (zh) | 2018-07-03 | 2018-07-03 | 软件定义网络中基于区块链的多控制器同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715834.9A CN109246176B (zh) | 2018-07-03 | 2018-07-03 | 软件定义网络中基于区块链的多控制器同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246176A true CN109246176A (zh) | 2019-01-18 |
CN109246176B CN109246176B (zh) | 2020-05-01 |
Family
ID=65071632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810715834.9A Active CN109246176B (zh) | 2018-07-03 | 2018-07-03 | 软件定义网络中基于区块链的多控制器同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246176B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035081A (zh) * | 2019-04-11 | 2019-07-19 | 中国电子科技集团公司电子科学研究院 | 一种基于区块链的发布/订阅体系架构 |
CN110099126A (zh) * | 2019-05-13 | 2019-08-06 | 广东工业大学 | 一种多控制器共识方法、装置及系统 |
CN110166364A (zh) * | 2019-05-15 | 2019-08-23 | 武汉理工大学 | 一种基于实用拜占庭容错算法的软件定义机会网络流表更新方法 |
CN110855508A (zh) * | 2019-12-02 | 2020-02-28 | 重庆邮电大学 | 一种基于区块链技术的分布式sdn同步方法 |
CN112541037A (zh) * | 2020-11-25 | 2021-03-23 | 福建师范大学 | 一种基于区块链和深度强化学习的空间众包方法及终端 |
CN112579194A (zh) * | 2020-11-27 | 2021-03-30 | 国网河南省电力公司信息通信公司 | 基于时延和事务吞吐量的区块链共识任务卸载方法及装置 |
CN113191733A (zh) * | 2021-04-30 | 2021-07-30 | 金坤建设集团有限公司 | 一种基于互联网的项目多方协同管理系统及方法 |
CN113259118A (zh) * | 2021-06-02 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 同步节点信息列表的方法 |
CN114844902A (zh) * | 2022-06-30 | 2022-08-02 | 南京邮电大学 | 一种基于区块链技术的sdn控制器与设备交互方法 |
WO2022246974A1 (zh) * | 2021-05-24 | 2022-12-01 | 山东大学 | 一种基于区块链的可信软件定义网络构建方法 |
CN115514691A (zh) * | 2022-09-05 | 2022-12-23 | 郑州工程技术学院 | 基于区块链的sdn域间协同转发控制架构及方法 |
CN117240900A (zh) * | 2023-11-10 | 2023-12-15 | 广东省电信规划设计院有限公司 | 基于软件定义网络的区块链节点发现与组网方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875165A (zh) * | 2017-02-22 | 2017-06-20 | 中山大学 | 一种利用软件定义网络优化的共识算法 |
CN107222478A (zh) * | 2017-05-27 | 2017-09-29 | 暨南大学 | 基于区块链的软件定义网络控制层安全机制构建方法 |
US20180114218A1 (en) * | 2016-10-26 | 2018-04-26 | International Business Machines Corporation | Blockchain: automatic fork protection |
-
2018
- 2018-07-03 CN CN201810715834.9A patent/CN109246176B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180114218A1 (en) * | 2016-10-26 | 2018-04-26 | International Business Machines Corporation | Blockchain: automatic fork protection |
CN106875165A (zh) * | 2017-02-22 | 2017-06-20 | 中山大学 | 一种利用软件定义网络优化的共识算法 |
CN107222478A (zh) * | 2017-05-27 | 2017-09-29 | 暨南大学 | 基于区块链的软件定义网络控制层安全机制构建方法 |
Non-Patent Citations (3)
Title |
---|
FEI RICHARD YU,JIANMIN LIU, YING HE,PENGBO SI,YANHUA ZHANG: "《Virtualization for Distributed》", 《IEEE ACCESS》 * |
PIERRE-LOUIS AUBLIN,SONIA BEN MOKHTAR,VIVIEN QU´EMA: "《RBFT: Redundant Byzantine Fault Tolerance》", 《2013 IEEE 33RD INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS》 * |
王梓桦; 张婕; 李志; 刘学; 栾明君;: "《区块链技术在数据同步与交换应用研究》", 《 第六届中国指挥控制大会论文集(下册)》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035081A (zh) * | 2019-04-11 | 2019-07-19 | 中国电子科技集团公司电子科学研究院 | 一种基于区块链的发布/订阅体系架构 |
CN110099126A (zh) * | 2019-05-13 | 2019-08-06 | 广东工业大学 | 一种多控制器共识方法、装置及系统 |
CN110166364A (zh) * | 2019-05-15 | 2019-08-23 | 武汉理工大学 | 一种基于实用拜占庭容错算法的软件定义机会网络流表更新方法 |
CN110855508A (zh) * | 2019-12-02 | 2020-02-28 | 重庆邮电大学 | 一种基于区块链技术的分布式sdn同步方法 |
CN112541037B (zh) * | 2020-11-25 | 2022-09-06 | 福建师范大学 | 一种基于区块链和深度强化学习的空间众包方法及终端 |
CN112541037A (zh) * | 2020-11-25 | 2021-03-23 | 福建师范大学 | 一种基于区块链和深度强化学习的空间众包方法及终端 |
CN112579194B (zh) * | 2020-11-27 | 2023-04-07 | 国网河南省电力公司信息通信公司 | 基于时延和事务吞吐量的区块链共识任务卸载方法及装置 |
CN112579194A (zh) * | 2020-11-27 | 2021-03-30 | 国网河南省电力公司信息通信公司 | 基于时延和事务吞吐量的区块链共识任务卸载方法及装置 |
CN113191733A (zh) * | 2021-04-30 | 2021-07-30 | 金坤建设集团有限公司 | 一种基于互联网的项目多方协同管理系统及方法 |
WO2022246974A1 (zh) * | 2021-05-24 | 2022-12-01 | 山东大学 | 一种基于区块链的可信软件定义网络构建方法 |
CN113259118A (zh) * | 2021-06-02 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 同步节点信息列表的方法 |
CN114844902A (zh) * | 2022-06-30 | 2022-08-02 | 南京邮电大学 | 一种基于区块链技术的sdn控制器与设备交互方法 |
CN115514691A (zh) * | 2022-09-05 | 2022-12-23 | 郑州工程技术学院 | 基于区块链的sdn域间协同转发控制架构及方法 |
CN115514691B (zh) * | 2022-09-05 | 2023-06-27 | 郑州工程技术学院 | 基于区块链的sdn域间协同转发控制系统及方法 |
CN117240900A (zh) * | 2023-11-10 | 2023-12-15 | 广东省电信规划设计院有限公司 | 基于软件定义网络的区块链节点发现与组网方法及装置 |
CN117240900B (zh) * | 2023-11-10 | 2024-04-12 | 广东省电信规划设计院有限公司 | 基于软件定义网络的区块链节点发现与组网方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109246176B (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246176A (zh) | 软件定义网络中基于区块链的多控制器同步方法及装置 | |
Liu et al. | Performance optimization for blockchain-enabled industrial Internet of Things (IIoT) systems: A deep reinforcement learning approach | |
Chen et al. | Applications of blockchain in industry 4.0: A review | |
CN105573828B (zh) | 一种操作处理方法及装置 | |
CN111324446A (zh) | 多址接入边缘计算节点及部署一套分布式记账应用的方法 | |
CN110113388A (zh) | 一种基于改进型聚类算法的区块链系统共识的方法和装置 | |
WO2018187410A1 (en) | Systems and methods for data backup and authentication using blockchain | |
CN108200208B (zh) | 基于云计算的物流区块链共识算法 | |
CN110838065A (zh) | 一种交易数据处理方法及装置 | |
JP2019106180A (ja) | ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 | |
CN109274717A (zh) | 基于区块链的共享存储方法、装置、介质及电子设备 | |
Liao et al. | Securing collaborative environment monitoring in smart cities using blockchain enabled software-defined internet of drones | |
US20220129481A1 (en) | System and method for implementing consensus in distributed ledger arrangement | |
CN111949672A (zh) | 一种支持物联网数据增量更新的区块链存储方法 | |
CN109947740A (zh) | 区块链系统的性能优化方法及装置 | |
Kobzan et al. | Utilizing blockchain technology in industrial manufacturing with the help of network simulation | |
Jameel et al. | Optimizing blockchain networks with artificial intelligence: Towards efficient and reliable IoT applications | |
CN116567631B (zh) | 一种基于分片区块链的移动终端安全认证方法 | |
CN112734421A (zh) | 基于三方多签和可信签名交易的资产托管清算方法及系统 | |
Priyadharshini et al. | Light chain consensus reinforcement machine learning: an effective blockchain model for internet of things using for its advancement and challenges | |
CN105812223A (zh) | 校园智能卡信息处理方法 | |
CN110493008A (zh) | 一种区块链认证方法、装置、设备及介质 | |
CN110610398A (zh) | 一种基于智能合约的共享图书方法 | |
CN112039893B (zh) | 私密交易处理方法、装置、电子设备及可读存储介质 | |
Mao et al. | A blockchain-based framework for federated learning with privacy preservation in power load forecasting |
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 |