首页 / 基于区块链的电力物联网跨域服务功能链编排方法

基于区块链的电力物联网跨域服务功能链编排方法有效专利 发明

技术领域

[0001] 本发明涉及电力物联网的资源管理领域,特别是涉及基于区块链的电力物联网跨域服务功能链编排方法。

相关背景技术

[0002] 随着电力物联网技术的快速发展和应用,电力业务对电力物联网的需求快速增加,为了满足电力业务的需求,网络虚拟化技术已成为电力公司和设备厂商统一采用的一项关键技术,在网络虚拟化环境下,传统的物理网络被划分为底层网络和虚拟网络,底层网络负责建设底层节点和底层链路,为虚拟网络提供服务,虚拟网络负责从底层网络租用资源,从而为电力业务提供服务,在电力业务中,服务功能链是一项重要的业务类型,服务功能链具有端到端高效服务和通信的特点,为提高底层网络资源的利用率,如何为服务功能链分配资源已成为一项重要研究的内容。
[0003] 把为服务功能链分配资源的问题分为提高资源利用率、提高虚拟网可靠性的问题,现有技术中针对资源分配问题主要采用算法解决资源分配效率问题,没有解决资源分配中的信任度问题,在网络虚拟化环境下,底层网络分配出去的资源越多,其经济收益越大,在这种背景下,必然存在部分恶意节点为了获取更多的资源分配权力而恶意破坏网络资源分配工作,这些恶意节点夸大自己的资源数量,从而导致资源分配失败,影响电力网络和电力业务的正常运营。
[0004] 因此现有技术中存在部分恶意节点对服务功能链的资源编排产生负面影响、跨域环境下资源分配中信任度低以及资源分配效率低的问题。

具体实施方式

[0072] 为有关本发明的前述及其他技术内容、特点与功效,在以下配合参考附图1到附图5对实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的结构内容,均是以说明书附图为参考。
[0073] 以下将参照附图,通过实施方式详细的描述本发明提供的基于区块链的电力物联网跨域服务功能链编排方法。
[0074] 基于区块链的电力物联网跨域服务功能链编排方法,所述方法包括6个步骤:
[0075] 步骤S1:构建电力物联网跨域服务功能链编排模型;
[0076] 步骤S2:将服务功能链的资源分配请求发送到域间控制器;
[0077] 步骤S3:域间控制器获得底层资源信息;
[0078] 步骤S4:域间控制器根据步骤S3中获得的底层资源信息,进行服务功能链编排,进行资源分配;
[0079] 步骤S5:域间控制器将节点资源分配策略以及链路资源分配策略下发给所有的域内控制器;
[0080] 步骤S6:区块链节点对节点的信用度进行更新。
[0081] 所述步骤S1:构建电力物联网跨域服务功能链编排模型,具体包含以下内容:
[0082] 在网络虚拟化环境下,网络环境由底层网络和虚拟网络构成,在底层网络中,使用GS=(NS,ES)表示底层网络拓扑,其中,NS表示底层网络节点集合,ES表示底层网络链路集合,表示底层网络的节点资源, 表示底层网络的链路资源,每个底层网络节点具有CPU计算资源,使用 表示,每条底层链路 具有带宽资源,使用表示;
[0083] 在虚拟网络中,使用GR=(NR,ER)表示虚拟网络拓扑,其中,NR表示虚拟网络节点集合,ER表示虚拟网络链路集合, 表示虚拟网络向底层网络请求的虚拟节点, 表示虚拟网络向底层网络请求的虚拟链路,每个虚拟节点 向底层网络节点请求的资源是CPU计算资源,使用 表示,每条虚拟链路 向底层网络链路请求的资源是带宽资源,使用 表示;
[0084] 服务功能链(Service Function Chain,SFC)技术是一种重要的电力业务技术,本发明以服务功能链的资源分配为研究对象,本发明研究的虚拟网络为端到端的虚拟网络拓扑,为提升服务功能链的资源分配的成功率和服务质量,本发明采用网络功能虚拟化(Network Function Virtualization,NFV)技术,将每个底层节点虚拟化为多种类型的网络功能节点,从而满足服务功能链上每个虚拟节点的资源需求,将每个底层节点虚拟化出的实现某个功能的虚拟节点称为网络功能虚拟化实例(Network  Function Virtualization Instance,NFVI),对于一种服务功能链的节点,为提升服务功能链资源分配的性能,当该服务功能链的请求到达时,底层网络通过提前制定的策略,从底层节点集合中选择一个最优的底层节点,为该服务功能链节点生成多个NFVI,服务功能链编排算法可以从这些NFVI中选择一个最优的NFVI为其分配资源;
[0085] 所述电力物联网跨域服务功能链编排模型如附图2所示,该模型包括域间控制器、区块链、域内控制器、底层网络四个模块,域间控制器模块负责接收服务功能链资源分配请求、服务功能链编排、底层网络节点信任度管理,区块链模块使用区块链账本,存储各个网络域的资源信息以及信任度,域内控制器负责域内的服务功能链编排,底层网络负责为服务功能链提供底层节点资源和底层链路资源;域间控制器、域内控制器、底层网络通过网络链路相互连接,底层网络是组成网络的设备,为了便于管理,将底层网络分为多个域进行管理,每个域部署一台域内控制器,对本域内的底层网络设备进行管理,域间控制器可以解决多个域网络之间的相互通信问题,域间控制器通过与各个域的域内控制器的交互,可以实现多个域之间的信息交互,域间控制器下部署多个域内控制器以及多个底层网络。
[0086] 所述步骤S2:将服务功能链的资源分配请求发送到域间控制器,具体包含以下内容:
[0087] 用户将服务功能链的资源分配请求发送到域间控制器,提出服务功能链请求(Service Function Chain Request,SFCR),该请求包括:服务功能链的网络拓扑、每个虚拟节点的资源需求量、每条虚拟链路的资源需求量。
[0088] 所述步骤S3:域间控制器获得底层资源信息,具体包含以下内容:
[0089] 所述域间控制器给服务功能链分配资源,需要获取所管理范围内每个域的网络拓扑、每个网络节点资源的信任度;
[0090] 所述获取每个域的网络拓扑的具体内容为:域间控制器与每个域内控制器进行通信,获得每个域内的网络拓扑信息,该信息包括底层节点的数量、底层节点可用资源数量、底层链路数量、底层链路资源数量、底层节点和底层链路的拓扑图;
[0091] 所述获取每个网络节点资源的信任度的具体内容为:域间控制器向区块链节点(也即区块链模块)发出请求信息,域间控制器将底层节点所在的域编号、底层节点的编号这些请求信息发送给区块链节点,获得指定的底层节点信息。
[0092] 所述步骤S4:域间控制器根据步骤S3中获得的底层资源信息,进行服务功能链编排,进行资源分配,具体包含以下内容:
[0093] 所述服务功能链编排包括服务功能链的节点资源分配、链路资源分配,在节点资源分配时,从区块链获取节点的信任度数据,采用信任度对节点进行评价,根据信任度判断,删除恶意节点后,根据虚拟节点的资源需求特点,为虚拟节点分配资源,为虚拟节点选择满足要求的物理节点资源,在链路资源分配时,采用最短路径算法进行分配,为每条虚拟链路分配物理路径资源,域间控制器进行SFCR跨域编排后,将节点资源分配策略以及链路资源分配策略下发给所有的域内控制器;
[0094] 所述采用信任度对节点进行评价,节点的信任度评估的过程如下:
[0095] 在服务功能链分配资源的过程中,可能存在一些恶意的底层节点,这些恶意的底层节点可能是因为病毒或网络攻击而引起的,也可能是因为网络配置错误或性能故障而引起的,在分配资源的过程中,这些恶意节点通过给域内控制器上报虚假的CPU计算资源数量,导致资源分配算法因底层资源容量不足而失败,为避免因恶意节点的误报导致资源分配失败的现象发生,需要根据底层节点上报的资源与实际可提供的资源进行分析,从而计算出每个底层节点的信用度,使用ki表示底层节点 的信任度初始值,每个底层节点的初始值与其所处的位置和性能相关;
[0096] 使用 表示第j个服务功能链,使用 表示在t时刻,底层网络节点 为分配资源时的可信情况,使用公式(1)进行计算;
[0097]
[0098] 公式(1)中, 表示底层节点信任度更新函数,使用公式(2)计算,其中 表示在t‑1时刻,底层网络节点 为 分配资源时的可信情况,表示t‑1时刻,底层网络节点 成功为 中的虚拟节点分配资源,
表示t‑1时刻,底层网络节点 不能成功的为 中的虚拟节点分配资
源,导致 的资源分配失败,λyes表示底层网络节点为服务功能链成功分配一次资源后得到的奖励值,λno表示底层网络节点一次不能成功为服务功能链分配资源后需要受到的惩罚值,Map为映射的含义;
[0099]
[0100] 在得到底层节点当前的信任度取值后,可以通过与信任度阈值比较,来确认节点Th Th是否为失信节点,使用k 表示底层节点的信任度阈值,当节点的信任度大于k 时,表示当前节点为可信节点,可以作为备选节点参加资源分配,否则,当前节点为恶意节点,不能参Th
加资源分配工作,k 信任度域值可通过多次实验,多次选择,最后选取一个合适的值。
[0101] 所述步骤S5:域间控制器将节点资源分配策略以及链路资源分配策略下发给所有的域内控制器,具体包含以下内容:各个域内控制器根据编排指令,执行资源分配,为保证处理结果的一致性,域内控制器将执行结果返回给域间控制器。
[0102] 所述步骤S6:区块链节点对节点的信用度进行更新,具体包含以下内容:
[0103] 所述域间控制器请求区块链节点对每个域内参与资源分配的节点,更新其信任度,区块链节点整合执行结果,并通过共识算法进行记录;
[0104] 底层节点的信任度取值非常重要,如果底层节点的信任度取值不能被安全的保存,则容易出现被篡改、删除等问题,从而导致资源分配系统失效,在已有的研究中,通常采用每个底层节点自己保存或者创建信任中心保存两种策略,这两种策略都容易导致信任度的取值被篡改和删除,为解决此问题,本发明利用区块链技术的去中心化优点,使用区块链模块保存节点的信任度;
[0105] 本发明主要解决跨域环境下的资源分配问题,所以参与资源分配的各个域在资源分配前是固定的,通过分析,本发明采用联盟链技术构建区块链节点,通过对联盟链技术分析可知,共识算法需要根据本发明解决的问题进行优化,本发明使用实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)作为基本的共识算法,并将其应用到本发明的节点信任度共识过程;
[0106] 所述基于实用拜占庭容错算法的节点信任度共识算法,包括4个步骤:
[0107] A1:域间控制器生成更新请求;
[0108] 域间控制器根据对每个SFCR资源分配的结果,域间控制器生成底层节点信任度更新请求 中的信息包括当前SFCR资源请求信息、资源分配结果、成功分配资源的节点集合、恶意节点集合;
[0109] A2:域间控制器将更新请求发送给联盟链主节点;
[0110] 在所述步骤A2:域间控制器将更新请求发送给联盟链主节点的过程中,域间控制器请求联盟链主节点执行共识机制;
[0111] A2.1:客户端发送数据操作请求消息m给主节点v,并启动计时器,等待接收所有节点的确认消息;
[0112] A2.2:主节点v接收请求消息,对消息进行验证,验证信息包括签名、操作内容等;
[0113] A2.3:验证通过后,生成预准备阶段消息PRE‑PREPARE,并进行广播;
[0114] A3:每个区块链节点对数据进行验证;
[0115] 在所述步骤A3:每个区块链节点对数据进行验证的过程中,联盟链主节点给所有区块链节点发出共识请求;
[0116] A3.1:区块链节点接收PRE‑PREPARE消息后,对消息进行检查,检查内容包括消息摘要digest、消息视图view、消息序号number、数字签名、操作内容等;
[0117] A3.2:当节点i验证通过,保存消息m到本地,并生成准备阶段消息PREPARE并进行广播,i表示节点编号;
[0118] A4:等待消息确认并在确认后写入数据;
[0119] 在所述步骤A4:等待消息确认并在确认后写入数据的过程中,当接收到其他2f个不同节点确认消息后,根据上一阶段的节点信任度取值与本阶段的节点信任度取值,对存储区域的节点信任度进行更新,f为拜赞庭错误节点;
[0120] A4.1:每个区块链节点等待接收其他节点发送的PREPARE消息;
[0121] A4.2:当收到其他2f个不同节点的PREPARE消息后,生成Commit阶段的消息并进行广播,Commit表示确认的含义;
[0122] A4.3:等待接收其他节点发送的Commit消息;
[0123] A4.4:当收到其他2f个不同节点的Commit消息,执行消息m中的请求,写入数据;
[0124] A4.5:向客户端返回请求确认消息;
[0125] A4.6:当客户端收到f+1个不同节点的确认消息时,成功完成共识操作。
[0126] 利用本发明的方案进行仿真实验,分析性能:
[0127] 为模拟网络虚拟化环境下的资源分配环境,使用现有技术中的工具模拟网络拓扑生成的网络拓扑为底层网络拓扑,包含100个底层网络节点、150个底层网络链路,服务功能链请求根据底层网络拓扑属性和业务需求,向底层网络申请网络资源,服务功能链请求的资源包括虚拟节点和虚拟链路,每个底层网络节点包含的计算资源量为3000MIPS,每条底层链路包含的带宽资源量为3000Mbps,为模拟网络功能虚拟化环境,每个底层网络节点可以生成2种虚拟网络功能实例,所有的底层网络上承载20种虚拟网络功能实例,每个服务功能链请求的虚拟节点数量服从(3,7)之间的均匀分布,服务功能链请求的节点计算资源和链路带宽资源都服从(3,10)之间的均匀分布,服务功能链的起始节点和终止节点为虚拟节点端到端连接中的起止节点;
[0128] 为验证本发明的性能,将其与基于贪婪算法的电力通信网服务功能链资源分配算法进行比较,基于贪婪算法的电力通信网服务功能链资源分配算法采用节点间的最短路径为最优资源,给服务功能链分配资源,在性能分析指标方面,采用服务功能链的资源分配成功率、底层链路资源利用率、底层节点资源利用率三个指标进行评估;
[0129] 服务功能链的资源分配成功率比较结果如图3所示,X轴表示服务功能链资源分配的请求数量,X轴的取值为1000到6000,Y轴表示服务功能链的资源分配成功率,从图可知,随着服务功能链资源分配的请求数量的增加,服务功能链的资源分配成功率由100%逐渐降低,这是因为当服务功能链资源分配的请求数量增加后,底层网络的资源逐渐被消耗,当部分底层网络资源被消耗完毕,容易导致服务功能链资源分配失败,两个算法的性能比较方面,本发明的方案下的服务功能链的资源分配成功率下降较慢,这是因为本发明的方案优先选择信任度高的底层网络资源为服务功能链分配资源,从而提升网络虚拟环境下服务功能链的资源分配成功率;
[0130] 为分析底层网络资源利用率,对3000个服务功能链请求环境下的底层网络资源利用率进行分析,底层网络资源利用率分析从底层链路资源利用率和底层节点资源利用率两个维度进行分析;
[0131] 底层链路资源利用率比较结果如图4所示,X轴表示可用带宽资源数量,从500增加到3000,Y轴表示底层链路资源利用率,从图4可知,随着可用带宽数量的增加,底层链路资源利用率逐渐降低,随着可用带宽数量的增加,两个算法下底层链路资源利用率都快速降低,本发明的方案算法下底层链路资源利用率较高,这是因为本发明的方案算法有较高的服务功能链资源分配成功率,为较多的服务功能链分配资源,提升了底层网络上的服务功能链的数量,所以,提升了底层链路资源利用率;
[0132] 底层节点资源利用率比较结果如图5所示,X轴表示可用计算资源数量,从500增加到3000,Y轴表示底层节点资源利用率,从图5可知,随着可用计算资源数量的增加,底层节点资源利用率逐渐降低,随着可用计算资源数量的增加,底层节点资源利用率快速降低,本发明的方案算法下的底层节点资源利用率较高,这是因为本发明的方案算法有较高的服务功能链资源分配成功率,为较多的服务功能链分配资源,提升了底层网络上的服务功能链的数量,所以,提升了底层节点资源利用率。
[0133] 采用以上结合附图描述的本发明,在具体使用时,所述方法包括6个步骤:
[0134] 步骤S1:构建电力物联网跨域服务功能链编排模型;
[0135] 步骤S2:将服务功能链的资源分配请求发送到域间控制器;
[0136] 步骤S3:域间控制器获得底层资源信息;
[0137] 步骤S4:域间控制器根据步骤S3中获得的底层资源信息,进行服务功能链编排,进行资源分配;
[0138] 步骤S5:域间控制器将节点资源分配策略以及链路资源分配策略下发给所有的域内控制器;
[0139] 步骤S6:区块链节点对节点的信用度进行更新;
[0140] 本发明采用以上步骤,所实现的有益效果为:
[0141] 1.在本发明构建电力物联网跨域服务功能链编排模型中,采用网络功能虚拟化NFV技术,将每个底层节点虚拟化为多种类型的网络功能节点,从而满足服务功能链上每个虚拟节点的资源需求,提升服务功能链资源分配的成功率和服务质量;
[0142] 对于一种服务功能链的节点,当该服务功能链请求到达时,底层网络通过提前制定的策略,从底层节点集合中选择一个最优的底层节点,为该服务功能链节点生成多个NFVI,服务功能链编排算法可以从这些NFVI中选择一个最优的NFVI为其分配资源,提升了服务功能链资源分配的性能;
[0143] 2.在域间控制器获得底层资源信息,进行服务功能链编排的过程中,可能存在一些恶意的底层节点,这些恶意节点通过给域内控制器上报虚假的CPU计算资源数量,导致资源分配算法因底层资源容量不足而失败,为避免因恶意节点的误报导致资源分配失败现象发生,本发明根据底层节点上报的资源与实际可提供的资源进行分析,从而计算出每个底层节点的信用度,使得恶意节点不能参加资源分配;
[0144] 3.在域间控制器将节点资源分配策略以及链路资源分配策略下发给所有的域内控制器的过程中,域内控制器将执行结果返回给域间控制器,保证了处理结果的一致性;
[0145] 4.本发明利用区块链节点对节点的信用度进行更新,利用区块链技术的去中心化优点,使用区块链模块保存节点的信任度,使得节点的信任度取值被安全的保存,防止被篡改、删除的现象发生,避免导致资源分配系统失效的现象发生;
[0146] 本发明提出的电力物联网跨域服务功能链编排模型包括域间控制器、区块链、域内控制器、底层网络四个模块,通过本发明的方案有效的解决了现有技术中存在的部分恶意节点对服务功能链的资源编排产生负面影响、跨域环境下资源分配中信任度低以及资源分配效率低的问题。

当前第1页 第1页 第2页 第3页