CN113872857A - 跨机房数据转发方法、设备及计算机程序产品 - Google Patents
跨机房数据转发方法、设备及计算机程序产品 Download PDFInfo
- Publication number
- CN113872857A CN113872857A CN202111029419.6A CN202111029419A CN113872857A CN 113872857 A CN113872857 A CN 113872857A CN 202111029419 A CN202111029419 A CN 202111029419A CN 113872857 A CN113872857 A CN 113872857A
- Authority
- CN
- China
- Prior art keywords
- edge node
- forwarding
- path
- room
- cross
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004590 computer program Methods 0.000 title claims description 14
- 230000008859 change Effects 0.000 claims abstract description 105
- 238000012795 verification Methods 0.000 claims abstract description 49
- 238000011156 evaluation Methods 0.000 claims abstract description 33
- 238000003860 storage Methods 0.000 claims description 40
- 238000013441 quality evaluation Methods 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 19
- 230000000694 effects Effects 0.000 abstract description 9
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种跨机房数据转发方法、设备及产品,通过利用跨机房边缘节点构建区块链网络,因此可利用底层区块链账本记录整个操作流程,保证全局转发路径信息的一致性;通过区块链网络中的智能合约所提供共识验证功能,使得在跨机房路由策略变动时,需要邻接边缘节点对变动前后的跨机房转发路径进行共识验证,即使当前的路由策略变动是因恶意或宕机节点等的错误节点配置所导致,也能通过共识评估这一流程及时识别;最终只有通过共识验证的跨机房路径变动才可生效,避免了跨机房数据转发流程因人工或其他方式配置的错误节点对机房造成负面影响,从而在保证跨机房数据转发方式的一致性的前提下,大大提高了转发路径的可靠性。
Description
技术领域
本发明涉及视频直播技术领域,尤其涉及跨机房数据转发方法、设备及计算机程序产品。
背景技术
随着视频直播技术的快速发展,视频会议、视频直播等形式的即时通信方式在人们的工作和生活中随处可见。作为视频会议、直播领域的标准技术栈,网页即时通信(WebRTC,Web Real-Time Communication)目前逐渐被广泛认可。同时,基于SFU(SelectiveForwarding Unit)这一WebRTC的通信架构方式,WebRTC***能够快速拓展至多节点级联的连接模式,在同一域(机房)内,通过节点转发和路由计算的形式,实现最优转发。
但是,在跨机房数据转发的场景下,需要建立额外的***串联起整个数据流链路,能够在事故发生时准确查询转发链路及对应机房节点,辅助运维人员快速定位错误问题,因此,跨机房的转发策略存储需要在全局范围内保证策略的一致性。由于目前业界还没有针对WebRTC跨机房音视频流转发策略存储问题的公认解决方案,转发路径的一致性一般由技术人员配置来保证,当技术人员错配时,容易使错误流量涌入同一机房内,可能会造成机房负载过高而瘫痪。上述情况反映出现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
发明内容
本发明的主要目的在于提出一种跨机房数据转发方法、设备及计算机程序产品,旨在解决现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
为实现上述目的,本发明提供一种跨机房数据转发方法,所述跨机房数据转发方法包括:
从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息,其中,所述区块链网络中已部署路径转发相关的智能合约;
确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点;
根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径;
将所述目标转发路径同步至所述区块链网络中构成所述目标转发路径的路径边缘节点,以供所述路径边缘节点按照所述目标转发路径进行数据转发。
可选地,所述路由策略变动信息包括路由新增信息,
所述确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点的步骤包括:
从所述路由新增信息中确定出所述区块链网络中的新增目的边缘节点以及与所述新增目的边缘节点对应的源边缘节点,并基于所述新增目的边缘节点和所述源边缘节点生成所述新增目的边缘节点的存储对象,以将所述存储对象存储于所述智能合约;
从所述区块链网络中确定出与所述新增目的边缘节点相邻的第一邻接边缘节点,将所述新增目的边缘节点广播至所述第一邻接边缘节点。
可选地,所述根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径的步骤包括:
获取所述第一邻接边缘节点对所述新增目的边缘节点进行的连通性测试的测试结果,并结合所述测试结果和所述智能合约中的新增共识算法得到所述新增目的边缘节点对应的质量评估均值;
判断所述质量评估均值是否不小于预设评分阈值;
若是,则生成由所述新增目的边缘节点和所述第一邻接边缘节点组成的新增转发路径,将所述新增转发路径存储于所述区块链网络;
基于所述新增转发路径和所述区块链网络中的初始转发路径,按照预设第一路径拼接原则生成所述目标转发路径。
可选地,所述路由策略变动信息包括路由更新信息,
所述确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点的步骤包括:
从所述路由更新信息中确定出所述区块链网络中部署于同一机房的历史目的边缘节点和候选目的边缘节点;
确定所述区块链网络中与所述候选目的边缘节点相邻的第二邻接边缘节点,将所述历史目的边缘节点和候选目的边缘节点广播至所述第二邻接边缘节点。
可选地,所述根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径的步骤包括:
获取所述第二邻接边缘节点对所述历史目的边缘节点进行链路质量评估所得到的历史链路评估指数,以及对所述候选目的边缘节点进行链路质量评估所得到的候选链路评估指数;
结合所述历史链路评估指数、所述候选链路评估指数和所述智能合约中的更新共识算法,判断所述候选目的边缘节点是否有效;
若是,则生成由所述候选目的边缘节点和所述第二邻接边缘节点组成的更新转发路径,将所述更新转发路径存储于所述区块链网络;
基于所述更新转发路径和所述区块链网络中的初始转发路径,按照预设第二路径拼接原则生成所述目标转发路径。
可选地,所述从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息的步骤之前,还包括:
获取所述区块链网络中各机房的机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络。
可选地,所述获取机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络的步骤之后,还包括:
在检测到所述区块链网络中发生错误路由数据转发时,从所述区块链网络的各机房中获取每一机房内部的实际数据转发信息;
将所述实际数据转发信息与所述机房内转发路径信息进行对比并得到比对结果,以基于所述比对结果排查错误转发原因。
可选地,所述从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息的步骤之前,还包括:
确定部署于不同机房的边缘节点,根据所述边缘节点构建区块链网络,部署转发路径相关的智能合约;
获取初始配置信息,根据所述初始配置信息建立所述边缘节点之间的物理邻接关系,并基于所述物理邻接关系确定所述区块链网络的初始转发路径。
此外,为实现上述目的,本发明还提供一种跨机房数据转发***,所述跨机房数据转发***包括:
路由策略变动模块,用于从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息,其中,所述区块链网络中已部署路径转发相关的智能合约;
邻接节点广播模块,用于确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点;
变动共识验证模块,用于根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径;
目标路径同步模块,用于将所述目标转发路径同步至所述区块链网络中构成所述目标转发路径的路径边缘节点,以供所述路径边缘节点按照所述目标转发路径进行数据转发。
此外,为实现上述目的,本发明还提供一种跨机房数据转发设备,所述跨机房数据转发设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨机房数据转发程序,所述跨机房数据转发程序被所述处理器执行时实现如上所述的跨机房数据转发方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有跨机房数据转发程序,所述跨机房数据转发程序被处理器执行时实现如上所述的跨机房数据转发方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的跨机房数据转发方法的步骤。
本发明通过利用跨机房的边缘节点构建区块链网络并部署与路径转发相关的智能合约,使得可利用底层区块链账本记录整个操作流程,保证全局转发路径信息的一致性;通过利用智能合约技术提供的针对跨机房转发路径进行共识验证功能,在路由策略变动时,需要相关的邻接边缘节点对变动前后的跨机房转发路径进行共识验证,使得即使当前的路由策略变动是因恶意或宕机节点等的错误节点配置所导致,也能够通过共识评估这一流程及时识别出来;最终只有通过共识验证的跨机房的路径变动才可生效,避免了跨机房数据转发流程因由人工或是其他方式配置的错误节点对机房造成的负面影响,大大提高了跨机房数据转发的可靠性,也即是在保证跨机房数据转发方式的一致性的前提下,大大提高了转发路径的可靠性,从而解决了现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明跨机房数据转发方法第一实施例的流程示意图;
图3为本发明跨机房数据转发方法第二实施例中一具体实施例的音视频流跨机房路由智能合约的功能模块划分示意图;
图4为本发明跨机房数据转发方法第二实施例中一具体实施例的跨机房路由智能合约的路径新增及更新操作示意图;
图5为本发明跨机房数据转发方法第二实施例中一具体实施例的合约调用逻辑流程示意图;
图6为本发明跨机房数据转发方法第三实施例中一具体实施例的多机房边缘节点的区块链网络构建及路由智能合约部署示意图;
图7为本发明跨机房数据转发方法第三实施例中一具体实施例的跨机房物理节点数据流转发示意图;
图8为本发明跨机房数据转发方法第三实施例中另一具体实施例的整体流程示意图;
图9为本发明跨机房数据转发***的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明涉及以下技术:
内容分发网络(CDN,Content Delivery Network)技术。数字内容服务提供商通过部署靠近用户侧的边缘节点,并将作品内容按照规则分发至对应节点,在用户请求内容时,CDN通过全局负载均衡技术将来自不同地区的请求转发至离用户最近的边缘节点,旨在为用户提供低延迟的服务。
WebRTC,是浏览器进行实时语音对话或视频对话的API标准,目前已有多个开源项目支持企业级会议、直播***的搭建,并且逐渐成为音视频直播领域较为常用的技术。
目前,WebRTC***中SFU的架构是当前主流选择,通过建立音视频流的生产消费数据流,实现多节点、跨机房的数据流转发,增加了组网的灵活性。WebRTC节点级联是当前大型视频会议***的标准解决方案,节点之间建立音视频流的转发,实现用户侧端到端数据流转发的透明性,用户无需感知中间的转发规则,***通过路由计算自动为选择用户创建同一机房内或跨地域机房的转发链路。基于SFU这一WebRTC的通信架构方式,WebRTC***能够快速拓展至多节点级联的连接模式,在同一域(机房)内,通过节点转发和路由计算的形式,实现最优转发。但是,在跨机房数据转发的场景下,需要建立额外的***串联起整个数据流链路,能够在事故发生时准确查询转发链路及对应机房节点,辅助运维人员快速定位错误问题,因此,跨机房的转发策略存储需要在全局范围内保证策略的一致性。由于目前业界还没有针对WebRTC跨机房音视频流转发策略存储问题的公认解决方案,转发路径的一致性一般由技术人员配置来保证,当技术人员错配时,容易使错误流量涌入同一机房内,可能会造成机房负载过高而瘫痪。上述情况反映出现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
为解决上述问题,本发明提供一种跨机房数据转发方法,即通过利用跨机房的边缘节点构建区块链网络并部署与路径转发相关的智能合约,使得可利用底层区块链账本记录整个操作流程,保证全局转发路径信息的一致性;通过利用智能合约技术提供的针对跨机房转发路径进行共识验证功能,在路由策略变动时,需要相关的邻接边缘节点对变动前后的跨机房转发路径进行共识验证,使得即使当前的路由策略变动是因恶意或宕机节点等的错误节点配置所导致,也能够通过共识评估这一流程及时识别出来;最终只有通过共识验证的跨机房的路径变动才可生效,避免了跨机房数据转发流程因由人工或是其他方式配置的错误节点对机房造成的负面影响,大大提高了跨机房数据转发的可靠性,也即是在保证跨机房数据转发方式的一致性的前提下,大大提高了转发路径的可靠性,从而解决了现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该跨机房数据转发***可以包括:处理器1001,例如CPU,用户接口1003,网络接口1004,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及跨机房数据转发程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(程序员端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的跨机房数据转发程序,并执行下述跨机房数据转发方法中的操作。
基于上述硬件结构,提出本发明跨机房数据转发方法实施例。
参照图2,图2为本发明跨机房数据转发方法第一实施例的流程示意图。所述跨机房数据转发方法包括;
步骤S10,从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息,其中,所述区块链网络中已部署路径转发相关的智能合约;
在本实施例中,本发明应用于基于CDN技术以及SFU架构的跨机房数据转发***(以下简称***)。区块链网络由部署在不同机房的多个边缘节点所构成,区块链网络会将每一边缘节点的相关信息进行存储。智能合约与区块链网络中的路径转发相关。
由于在区块链网络构建之初,会默认设置跨机房边缘节点之间的初始转发路径,因此当***通过主动检测或是接收到外部指令捕获到不同于初始转发路径的节点或是路径时,就会将其视为路由策略变动,并获取相应的信息以作为上述路由策略变动信息。
路由策略变动可能会存在两种情况,第一种情况是***查询转发路径时探测到新加入且物理可达的边缘节点,将其作为新增边缘节点;第二种情况是***在执行内部路由算法时发现初始转发路径中的原有边缘节点可能不是最优边缘节点时,将区块链网络中未处于初始转发路径的其他边缘节点作为候选边缘节点。
具体地,***通过各机房中的边缘节点进行区块链网络的构建,将上述智能合约部署于该区块链网络中,并在智能合约中生成每一边缘节点的存储对象,以存储每一边缘节点的相关信息,具体可包括该边缘节点的起点机房信息、下一跳邻居机房信息等。在***中的各机房内部开始执行私有域内的数据流转发选路策略的过程中,若是同一机房内部的边缘节点进行切换时,则捕获此时的路由策略变动信息。
步骤S20,确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点;
在本实施例中,目的边缘节点为数据流入目的机房的节点,可能是上述第一种情况中的新增边缘节点,或是第二种情况中的候选边缘节点。邻接边缘节点指的是区块链网络中与目的边缘节点存在物理邻接关系的边缘节点。
具体地,由于发生路由策略变动时,无论是新增路由策略还是更改路由策略,***都无法直接获取到新增的路由策略是否具有可行性,或是更改后的路由策略是否优于更改前的路由策略,因此需要相关的邻接边缘节点的协助。***根据路由策略变动信息确定此时发生变动的新增边缘节点或是候选边缘节点,并在区块链网络中确定出与新增边缘节点或是候选边缘节点存在物理链接关系的邻接边缘节点(具体个数由实际情况所确定),然后将路由策略变动信息广播至每个邻接边缘节点。
步骤S30,根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径;
步骤S40,将所述目标转发路径同步至所述区块链网络中构成所述目标转发路径的路径边缘节点,以供所述路径边缘节点按照所述目标转发路径进行数据转发。
在本实施例中,***通过在发现策略变动时让相关的邻接边缘节点对其进行共识验证,例如至少针对链路通信质量这一方面进行考察,从而能够在考察策略变动对链路通信质量所带来的影响,尤其是能够捕捉到人为或是其他方式所造成的错配转发策略。链路通信质量具体可通过一种或多种性能指标来体现,例如连通性、带宽、延迟、抖动等。
具体地,***中的邻接边缘节点在接收到广播后,对路由策略变动信息对应的链路通信质量进行验证,得到验证结果,并将验证结果上报到智能合约,智能合约将验证结果作为预设共识算式的输入,以基于共识算式判断此路由策略变动是否能够生效,或是邻接边缘节点还未完成对目的边缘节点的验证,但此时已触发超时,则智能合约直接进行共识计算,以判断此路由策略变动是否能够生效。若是能够生效,***则基于此路由策略变动信息确定出变动后的目标转发路径;若是不能生效,则放弃当前变动。另外,在确定目标转发路径的过程中,除了需考察链路通信质量外,还可考虑距离最近、路径最新以及负载均衡等原则。
***在确定目标转发路径后,将此目标转发路径的路由策略部署于各个路径边缘节点,部署后若是区块链网络需要执行数据流的跨机房转发任务时,即可按照此更新后的路由策略,沿着目标转发路径对音视频数据流进行转发。
本实施例提供一种跨机房数据转发方法,通过利用跨机房的边缘节点构建区块链网络并部署与路径转发相关的智能合约,使得可利用底层区块链账本记录整个操作流程,保证全局转发路径信息的一致性;通过利用智能合约技术提供的针对跨机房转发路径进行共识验证功能,在路由策略变动时,需要相关的邻接边缘节点对变动前后的跨机房转发路径进行共识验证,使得即使当前的路由策略变动是因恶意或宕机节点等的错误节点配置所导致,也能够通过共识评估这一流程及时识别出来;最终只有通过共识验证的跨机房的路径变动才可生效,避免了跨机房数据转发流程因由人工或是其他方式配置的错误节点对机房造成的负面影响,大大提高了跨机房数据转发的可靠性,也即是在保证跨机房数据转发方式的一致性的前提下,大大提高了转发路径的可靠性,从而解决了现有基于人工的维持跨机房数据转发一致性的方式的可靠性不佳的技术问题。
进一步地,基于上述图2所示的第一实施例,提出本发明跨机房数据转发方法的第二实施例。在本实施例中,所述路由策略变动信息包括路由新增信息,步骤S20包括:
步骤S211,从所述路由新增信息中确定出所述区块链网络中的新增目的边缘节点以及与所述新增目的边缘节点对应的源边缘节点,并基于所述新增目的边缘节点和所述源边缘节点生成所述新增目的边缘节点的存储对象,以将所述存储对象存储于所述智能合约;
步骤S212,从所述区块链网络中确定出与所述新增目的边缘节点相邻的第一邻接边缘节点,将所述新增目的边缘节点广播至所述第一邻接边缘节点。
在本实施例中,主要对上述第一种情况进行说明,新增目的边缘节点即对应上述第一种情况。当智能合约收到一个全新的转发路由路径节点(即上述新增目的边缘节点)时,会根据获取到的路由新增信息在合约中生成对应的存储对象,作为一具体实施方式,该存储对象可简记做R,R中至少包含源机房信息和目的机房信息。
源机房信息:代表转发路径的起点机房,及数据流流出的源机房中的边缘节点,用于跨机房数据的流出,以键值对方式存储:
poss:nodes;
其中,poss代表源机房名称,nodes为源机房中的边缘节点的名称,具体实施过程中可以IP信息替换;
目的机房信息:代表路径的目的地(下一跳邻居)机房信息,及数据流入目的机房中的边缘节点,用于接收数据流,以键值对方式存储:
posd:noded;
其中,posd代表目的机房名称,noded为目的机房中的边缘节点名称,具体实施过程中也可以IP信息替换。
另外R中除了可包含上述的源机房信息和目的机房信息外,还可添加拓展字段。该推展字段用于后续对存储对象功能的拓展。
***在智能合约中为新增目的边缘节点生成相应的存储对象后,从区块链网络中确定出与新增目的边缘节点相邻的若干邻接边缘节点,作为上述第一邻接边缘节点,然后将新增目的边缘节点的相关信息广播至每一第一邻接边缘节点。
进一步地,步骤S30包括:
步骤S311,获取所述第一邻接边缘节点对所述新增目的边缘节点进行的连通性测试的测试结果,并结合所述测试结果和所述智能合约中的新增共识算法得到所述新增目的边缘节点对应的质量评估均值;
步骤S312,判断所述质量评估均值是否不小于预设评分阈值;
步骤S313,若是,则生成由所述新增目的边缘节点和所述第一邻接边缘节点组成的新增转发路径,将所述新增转发路径存储于所述区块链网络;
步骤S314,基于所述新增转发路径和所述区块链网络中的初始转发路径,按照预设第一路径拼接原则生成所述目标转发路径。
在本实施例中,以第一邻接边缘节点的个数为多个来进行说明。每一邻接边缘节点验证自身与该新增目的边缘节点之间的连通性,并将连通性验证结果(也即上述测试结果)上报给智能合约。智能合约将此测试结果作为新增共识算法的输入以进行相应计算,得到新增目的边缘节点的质量评估均值。
作为一具体实施方式,新增共识算法的算式如下:
其中,j代表新增目的机房对应转发节点,m是与目的机房的邻接机房中的所有边缘节点个数,scorei->j是第i个节点对新增路径对应目的机房边缘节点j的链路评估指数(也即上述测试结果),S是链路质量评估的均值。
当S≥Tconf(即上述预设评分阈值,可根据实际需求灵活配置)时,新增路径通过,将对象R所包含的路径记录存储在智能合约中;当S<Tconf时,新增路由未通过本次共识,存储对象R被拒绝。
在新增目的边缘节点通过本次共识时,***结合所有通过共识的机房存储对象R,使用广度或深度遍历搜索方法进行路径拼接,转化为实际的数据流路径,而具体所采用的第一路径拼接原则可包括以下原则中的一项或多项:
距离最近原则:当源机房与目的机房有多条路径可达时,选取转发节点数最少的路径;
路径最新原则。当路径节点数相同时,选择最近更新的路径;
负载均衡原则。当路径节点数相同,且路径更新时间相近时,选择合适的随机算式任选其一,以达到数据流负载均衡的目的。
本实施例通过基于智能合约的转发路径新增和共识方法,在路由策略变动时,需进行邻居机房边缘节点的共识评估,只有通过合约共识后的路径变动才能生效,也即是通过路由合约的路径共识算式,防止误配路由或低链路质量路径降低转发效率,合约的共识执行规则不会被少部分恶意或宕机节点影响。另外,通过设置路径拼接原则,达到通过路径最短,防止路径成环的目的。
进一步地,所述路由策略变动信息包括路由更新信息,步骤S20包括:
步骤S221,从所述路由更新信息中确定出所述区块链网络中部署于同一机房的历史目的边缘节点和候选目的边缘节点;
步骤S222,确定所述区块链网络中与所述候选目的边缘节点相邻的第二邻接边缘节点,将所述历史目的边缘节点和候选目的边缘节点广播至所述第二邻接边缘节点。
在本实施例中,主要对上述第二种情况进行说明,候选目的边缘节点即对应上述第二种情况。
***接收要变更的路径信息,包括更新前的历史源机房和历史源边缘节点,以及更新后的候选目的机房和候选目的边缘节点。智能合约收到更新信息后,会通知区块链网络中更新前后新旧目的机房中的边缘节点相邻的节点(即第二邻接边缘节点)进行路径验证。
进一步地,步骤S30包括:
步骤S321,获取所述第二邻接边缘节点对所述历史目的边缘节点进行链路质量评估所得到的历史链路评估指数,以及对所述候选目的边缘节点进行链路质量评估所得到的候选链路评估指数;
步骤S322,结合所述历史链路评估指数、所述候选链路评估指数和所述智能合约中的更新共识算法,判断所述候选目的边缘节点是否有效;
步骤S323,若是,则生成由所述候选目的边缘节点和所述第二邻接边缘节点组成的更新转发路径,将所述更新转发路径存储于所述区块链网络;
步骤S324,基于所述更新转发路径和所述区块链网络中的初始转发路径,按照预设第二路径拼接原则生成所述目标转发路径。
在本实施例中,第二邻接边缘节点对历史目的边缘节点和候选目的边缘节点进行链路质量评估的具体实施方式可以是计算评估指数,例如将评估指数记做score,可划分为[0,100]的分值区间,与链路质量呈正相关,评判依据包括验证节点与目的边缘节点之间的连通性、带宽、延迟、抖动等性能指标。
智能合约将历史链路评估指数和候选链路评估指数作为新增共识算法的输入以进行相应计算,得到候选目的边缘节点的质量评估均值。
作为一具体实施方式,将上述评估指数作为如下共识算式的输入,更新共识算法的算式如下:
jnew=argmaxS(j;i∈[1,m]);
其中,代表目的机房的历史转发节点集合,j是所有属于历史集合的节点,m是与目的机房邻接机房的所有边缘节点个数,scorei->j是第i个节点对更新路径对应目的机房边缘节点j的链路评估指数,S(j)是第j个节点获得的链路质量评估均值,jnew即为本次共识后对应的目的机房转发节点,选取方式是在所有m个邻居节点的评估下,获得评估值最高的目的机房转发节点,当候选更新节点jcandidate=jnew时,更新路径通过共识,智能合约将最新的转发节点记录,并将移除的旧节点放入作为备选转发路径。
在候选目的边缘节点通过本次共识时,***结合所有通过共识的机房存储对象R,使用广度或深度遍历搜索方法进行路径拼接,转化为实际的数据流路径,而具体所采用的第二路径拼接原则可包括以下原则中的一项或多项:
距离最近原则:当源机房与目的机房有多条路径可达时,选取转发节点数最少的路径;
路径最新原则。当路径节点数相同时,选择最近更新的路径;
负载均衡原则。当路径节点数相同,且路径更新时间相近时,选择合适的随机算式任选其一,以达到数据流负载均衡的目的。
上述第一路径拼接原则与第二路径拼接原则可以相同也可以不同,具体可根据实际需求灵活配置。
本实施例通过基于智能合约的转发路径更新和共识方法,在路由策略变动时,需进行邻居机房边缘节点的共识评估,只有通过合约共识后的路径变动才能生效,也即是通过路由合约的路径共识算式,防止误配路由或低链路质量路径降低转发效率,合约的共识执行规则不会被少部分恶意或宕机节点影响。另外,通过设置路径拼接原则,达到通过路径最短,防止路径成环的目的。
作为一具体实施例,如图3-5所示。
图3为音视频流跨机房路由智能合约的功能模块划分示意图。
路径通告模块,对应上述第一种情况,主要负责全新转发路由的接收、存储及广播功能;
路径更新模块,对应上述第二种情况,主要负责更新转发路由的接收及广播功能;
路径验证模块,接收所有对目的机房边缘节点的链路通信质量验证,具体验证方式参考上述说明;
路径共识模块,通过共识算式,决定新的路由策略是否生效。当所有相关节点均已评估新旧链路,或触发超时时钟时触发共识计算。包括新路径共识及路径更新共识;
转发路径存储及查询模块,提供端到端路径的存储及查询功能。结合所有通过共识的机房存储对象R,使用广度或深度遍历搜索方法进行路径拼接,转化为实际的数据流路径,并展示给调用者。
图4为跨机房路由智能合约的路径新增及更新操作示意图。
假设有4个机房{1,2,3,4},分别有机房边缘转发节点{A}、{B、C}、{D、E}和{F}。初始连接状态为:{机房4:F}<->{机房1:A}<->{机房2:C}<->{机房3:E};
当机房2执行内部路由算法,C节点不再是最优边缘节点时,将调用合约的更新操作,将B节点作为候选节点,即B=jcandidate,并触发路由更新共识操作。与B节点相邻的有{机房1:A}与{机房3:D,E},因此{A,D,E}将评估与B、C之间的链路质量,通过路径共识模块的路径更新共识算式,评估此次更新是否有效,当jnew=B时,路由更新获得通过,链路转发状态变化为:{机房4:F}<->{机房1:A}<->{机房2:B}<->{机房3:E};
当机房4查询合约路径转发路径时,探测到{机房3:E}在目的机房存储R中,并且物理可达,因此调用新增路径操作,即触发路由新增共识操作,然后合约生成路径存储对象R=[源={机房4:F},目的={机房3:E},拓展字段={新路径探测,新增路径}],目的机房{机房3:E}的邻居节点集合{B,C}执行新路径共识算式。当满足新增阈值要求Tconf时,建立新增转发路径{机房4:F}->{机房3:E}。同理,当{机房3:E}探测到F可达时,将触发新增路径{机房3:E}->{机房4:F}时,形成新的双向链路,否则,数据流只由单向路径F->E进行转发。当双向链路建立后,形成了环形路径:{机房4:F}<->{机房1:A}<->{机房2:B}<->{机房3:E}<->{机房4:F};
上述转发路径存储及查询模块在查询机房1到机房3的路径转发时,有A->B->E和A->F->E两条路径,由于A->F->E是最新更新,因此根据路径最新原则返回路径{机房1:A}<->{机房2:B}<->{机房3:E},避免了环路,对应边缘转发节点按照此路径与邻近机房建立新的音视频流连接进行数据转发。
另外,如图5所示,图5为合约调用逻辑流程示意图。
***在进行边缘转发节点跨机房路由计算时,若触发路径重建(相当于捕获到路由策略变动),则进一步判断该变动是否对应新增路径。若该变动对应新增路径,则进一步通过相应的邻接边缘节点对其进行连通性测试,再进入共识计算流程;若该变动不对应新增路径,而是对应路径更新,则进一步通过相应的邻接边缘节点进行新旧路径的质量评测,并判断是否接受当前的路径更新,若不接受,则依然维持原有的转发路径,若接受,则进入共识计算流程。
***基于智能合约判断当前的新增路径或是更新路径是否通过共识,若通过共识,则根据当前的策略变动建立新的转发路径;若未通过共识,则放弃转发路径变化,维持原有转发路径不变。上述全流程可利用底层区块链账本进行记录。
本实施例通过调用智能合约,合约主要完成转发路径通告、更新、验证及共识四项功能,同时利用底层区块链账本,记录整个操作的全流程,保证全局转发路径信息的一致性,最终将最新的路由信息同步至所有路径上的边缘节点,指导其建立新的转发路径。
进一步地,基于上述图2所示的第一实施例,提出本发明跨机房数据转发方法的第三实施例。在本实施例中,步骤S10之前,还包括:
步骤A1,获取所述区块链网络中各机房的机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络。
在本实施例中,如图6所示,图6为多机房边缘节点的区块链网络构建及路由智能合约部署示意图。图1示出了表示边缘节点构成的区块链网络,及部署在区块链上的路由共识合约。区块链网络主要完成机房内转发路径记录、跨机房转发路径记录和错误转发路径存证三大功能,以下先对前两功能进行说明:
机房内转发路径的记录。为了保护单机房内的转发路径安全,机房内转发路径记录以哈希方式存储,具体算式如下:
Record=Hash(p);
其中,record为上链记录,p为机房内的转发路径信息,Hash()为哈希函数,用于隐藏原始数据。例如,在同一机房内,p转发路径以链式记录,假设由机房内边缘节点A转发至边缘节点B,p=A->m1->m2->B,包含m1与m2两个内部转发节点。
跨机房转发路径的记录。主要记录路由智能合约在跨机房路由通告、共识和更新的整个操作流程,并可按时间段抽样检测并将实际转发路径记录上链,为后续问题排查提供可靠的数据存证。
进一步地,步骤A1之后,还包括:
步骤A2,在检测到所述区块链网络中发生错误路由数据转发时,从所述区块链网络的各机房中获取每一机房内部的实际数据转发信息;
步骤A3,将所述实际数据转发信息与所述机房内转发路径信息进行对比并得到比对结果,以基于所述比对结果排查错误转发原因。
在本实施例中,对区块链网络所实现的错误转发路径存证这一功能进行说明。当发生错误路由音视频流转发时,每个机房内部将相关的实际转发信息明文上链,同时与机房内转发路径的哈希存储进行比对,保证上链信息的正确性。确保运维人员在排查错误时,能够获得真实的端到端整个链路的路由策略路径及实际的转发路径,用于快速定位未按合约共识出的路径进行转发的节点,分析未按选路策略进行转发的原因,并进行进一步的问题排查。
而对于错误的判定,一般地,在实际WebRTC机房搭建时,要尽量保证跨机房边缘节点的连通性。当连通性无法保证时,通过智能合约进行共识验证得出的路由更新,会出现部分节点对目的机房候选节点不可达、链路质量低等特殊情况,此时虽然合约路径发生了更新,但原节点仍会被合约记录进历史边缘转发节点集合作为备选,此时拒绝更新转发路径的节点可维持原始历史转发路径,并将此情况按照图6所示区块链哈希存储规则进行实际跨机房路径转发信息的上链存证。当出现转发路径出现不属于的节点等情况时,即视为出现了路径转发策略的错误,区块链存储的转发信息用于运维人员后续对相关问题的分析。
本实施例通过在排查转发错误时,验证链上哈希存储的方式匹配路由信息,特别在跨不同部门或厂商的机房时,既可以保证机房的错误路由转发不可抵赖,也可防止内部路由的隐私泄露。
进一步地,步骤S10之前,还包括:
步骤S01,确定部署于不同机房的边缘节点,根据所述边缘节点构建区块链网络,部署转发路径相关的智能合约;
步骤S02,获取初始配置信息,根据所述初始配置信息建立所述边缘节点之间的物理邻接关系,并基于所述物理邻接关系确定所述区块链网络的初始转发路径。
在本实施例中,如图7所示,图7为跨机房物理节点数据流转发示意图。图2示出了i)初始配置信息建立邻居机房的物理邻接关系,ii)部署运行阶段动态调整的物理转发链路信息。与图6的区块链网络不同,图7为音视频流转发的物理链路,主要包括单一机房内的内部路由节点和对应的转发链路,以及机房边缘节点和跨机房数据的转发链路。
单一机房内的内部路由,主要用于音视频流在同一机房内的选路,包括边缘转发节点和内部转发节点,即图2中机房A、B、C各自域内的转发链路。当有数据流产生时,内部转发节点之间将建立数据链路,用于转发机房内部的音视频数据流;边缘转发节点主要完成两项功能:
一、机房内数据流转发至邻居机房。通过与其他机房边缘节点的连接,将本机房内的数据流转发至其他机房。
邻居机房数据流转发至本机房。接收邻居机房边缘节点的数据内容,并通过本机房私有域内的路由算式,将数据流转发至下一跳机房,或直接将数据转发并呈现在内部节点连接的WebRTC客户端。一般在具体实施过程中,单机房内的转发路径并不向外暴露,达到方便管理、保护数据流内部转发隐私的目的。
二、跨机房的数据转发,主要由所有机房边缘节点之间的数据链路完成,由于单机房内的路由策略不对外暴露,因此,在跨机房转发时,边缘节点会将转发信息广播至其他邻居节点,并触发智能合约的路由共识及更新,最终确定选路策略。选路策略确定后,所有路径上的相关节点按照路由信息建立新的数据通路,即图2中虚线框内所示的跨机房音视频流的转发路径。
作为一具体实施例,如图8所示。图8为整体流程示意图。整体流程包括***区块链网络及智能合约的准备阶段,以及运行阶段中跨机房转发路径的共识和更新等步骤。
在准备阶段,***首先根据跨机房边缘转发节点构建区块链网络,并部署转发路径相关的智能合约,然后根据初始配置信息,建立边缘节点于其邻居机房的物理邻接关系,并根据由初始配置信息确定的默认转发路径建立初始的转发链路,至此,准备阶段完成;
在运行阶段,***中的机房内部执行私有域内的数据流转发选路方法;当同一机房内部的边缘节点进行切换时,向邻居机房广播新的路径信息,触发合约路径新增和更新方法;智能合约根据源机房和目的机房。存储所有跨机房路径及相关边缘节点;在触发更新方式后,通告所有相关邻居节点对目的机房新旧节点进行路径验证;所有节点根据新旧路径信息,验证与邻居节点的链路质量,并将质量信息上报给智能合约;当所有路径的质量报告上报完毕,或触发超时时,智能合约根据所有新旧路径的质量信息,执行共识方法,以选出新的路径信息;最后,所有相关边缘节点接收新的路径信息(即上述目标转发路径),并根据新路径决策转发路由,并等待下一次路径新增或更新。
本实施例通过在WebRTC跨机房数据转发的场景下,基于智能合约提供跨域路径的通告、共识和更新功能,同时,边缘节点构成的区块链网络,存储转发路径的更新操作,保证跨机房路径历史可追溯,方便运维人员在出现问题时准确定位错误位置。
如图9所示,本发明还提供一种跨机房数据转发***,所述跨机房数据转发***包括:
路由策略变动模块10,用于从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息,其中,所述区块链网络中已部署路径转发相关的智能合约;
邻接节点广播模块20,用于确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点;
变动共识验证模块30,用于根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径;
目标路径同步模块40,用于将所述目标转发路径同步至所述区块链网络中构成所述目标转发路径的路径边缘节点,以供所述路径边缘节点按照所述目标转发路径进行数据转发。
可选地,所述路由策略变动信息包括路由新增信息,
所述邻接节点广播模块20包括:
新增对象存储单元,用于从所述路由新增信息中确定出所述区块链网络中的新增目的边缘节点以及与所述新增目的边缘节点对应的源边缘节点,并基于所述新增目的边缘节点和所述源边缘节点生成所述新增目的边缘节点的存储对象,以将所述存储对象存储于所述智能合约;
第一节点广播单元,用于从所述区块链网络中确定出与所述新增目的边缘节点相邻的第一邻接边缘节点,将所述新增目的边缘节点广播至所述第一邻接边缘节点。
可选地,所述变动共识验证模块30包括:
新增共识计算单元,用于获取所述第一邻接边缘节点对所述新增目的边缘节点进行的连通性测试的测试结果,并结合所述测试结果和所述智能合约中的新增共识算法得到所述新增目的边缘节点对应的质量评估均值;
评分均值判断单元,用于判断所述质量评估均值是否不小于预设评分阈值;
新增路径生成单元,用于若是,则生成由所述新增目的边缘节点和所述第一邻接边缘节点组成的新增转发路径,将所述新增转发路径存储于所述区块链网络;
第一路径拼接单元,用于基于所述新增转发路径和所述区块链网络中的初始转发路径,按照预设第一路径拼接原则生成所述目标转发路径。
可选地,所述路由策略变动信息包括路由更新信息,
所述邻接节点广播模块20包括:
候选节点确定单元,用于从所述路由更新信息中确定出所述区块链网络中部署于同一机房的历史目的边缘节点和候选目的边缘节点;
第二节点广播单元,用于确定所述区块链网络中与所述候选目的边缘节点相邻的第二邻接边缘节点,将所述历史目的边缘节点和候选目的边缘节点广播至所述第二邻接边缘节点。
可选地,所述变动共识验证模块30包括:
评估指数获取单元,用于获取所述第二邻接边缘节点对所述历史目的边缘节点进行链路质量评估所得到的历史链路评估指数,以及对所述候选目的边缘节点进行链路质量评估所得到的候选链路评估指数;
更新共识计算单元,用于结合所述历史链路评估指数、所述候选链路评估指数和所述智能合约中的更新共识算法,判断所述候选目的边缘节点是否有效;
更新路径生成单元,用于若是,则生成由所述候选目的边缘节点和所述第二邻接边缘节点组成的更新转发路径,将所述更新转发路径存储于所述区块链网络;
第二路径拼接单元,用于基于所述更新转发路径和所述区块链网络中的初始转发路径,按照预设第二路径拼接原则生成所述目标转发路径。
可选地,所述跨机房数据转发***还包括:
内部哈希存储模块,用于获取所述区块链网络中各机房的机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络。
可选地,所述跨机房数据转发***还包括:
错误转发检测模块,用于在检测到所述区块链网络中发生错误路由数据转发时,从所述区块链网络的各机房中获取每一机房内部的实际数据转发信息;
转发信息比对模块,用于将所述实际数据转发信息与所述机房内转发路径信息进行对比并得到比对结果,以基于所述比对结果排查错误转发原因。
可选地,所述跨机房数据转发***还包括:
智能合约部署模块,用于确定部署于不同机房的边缘节点,根据所述边缘节点构建区块链网络,部署转发路径相关的智能合约;
邻接关系建立模块,用于获取初始配置信息,根据所述初始配置信息建立所述边缘节点之间的物理邻接关系,并基于所述物理邻接关系确定所述区块链网络的初始转发路径。
本发明还提供一种跨机房数据转发设备。
所述跨机房数据转发设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的跨机房数据转发程序,其中所述跨机房数据转发程序被所述处理器执行时,实现如上所述的跨机房数据转发方法的步骤。
其中,所述跨机房数据转发程序被执行时所实现的方法可参照本发明跨机房数据转发方法的各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有跨机房数据转发程序,所述跨机房数据转发程序被处理器执行时实现如上所述的跨机房数据转发方法的步骤。
其中,所述跨机房数据转发程序被执行时所实现的方法可参照本发明跨机房数据转发方法各个实施例,此处不再赘述。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的跨机房数据转发方法的步骤。
其中,所述计算机程序被执行时所实现的方法可参照本发明跨机房数据转发方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种跨机房数据转发方法,其特征在于,所述跨机房数据转发方法包括:
从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息,其中,所述区块链网络中已部署路径转发相关的智能合约;
确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点;
根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径;
将所述目标转发路径同步至所述区块链网络中构成所述目标转发路径的路径边缘节点,以供所述路径边缘节点按照所述目标转发路径进行数据转发。
2.如权利要求1所述的跨机房数据转发方法,其特征在于,所述路由策略变动信息包括路由新增信息,
所述确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点的步骤包括:
从所述路由新增信息中确定出所述区块链网络中的新增目的边缘节点以及与所述新增目的边缘节点对应的源边缘节点,并基于所述新增目的边缘节点和所述源边缘节点生成所述新增目的边缘节点的存储对象,以将所述存储对象存储于所述智能合约;
从所述区块链网络中确定出与所述新增目的边缘节点相邻的第一邻接边缘节点,将所述新增目的边缘节点广播至所述第一邻接边缘节点。
3.如权利要求2所述的跨机房数据转发方法,其特征在于,所述根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径的步骤包括:
获取所述第一邻接边缘节点对所述新增目的边缘节点进行的连通性测试的测试结果,并结合所述测试结果和所述智能合约中的新增共识算法得到所述新增目的边缘节点对应的质量评估均值;
判断所述质量评估均值是否不小于预设评分阈值;
若是,则生成由所述新增目的边缘节点和所述第一邻接边缘节点组成的新增转发路径,将所述新增转发路径存储于所述区块链网络;
基于所述新增转发路径和所述区块链网络中的初始转发路径,按照预设第一路径拼接原则生成所述目标转发路径。
4.如权利要求1所述的跨机房数据转发方法,其特征在于,所述路由策略变动信息包括路由更新信息,
所述确定所述路由策略变动信息对应在所述区块链网络中的目的边缘节点,并根据所述智能合约将所述路由策略变动信息广播至所述区块链网络中的所述目的边缘节点的邻接边缘节点的步骤包括:
从所述路由更新信息中确定出所述区块链网络中部署于同一机房的历史目的边缘节点和候选目的边缘节点;
确定所述区块链网络中与所述候选目的边缘节点相邻的第二邻接边缘节点,将所述历史目的边缘节点和候选目的边缘节点广播至所述第二邻接边缘节点。
5.如权利要求4所述的跨机房数据转发方法,其特征在于,所述根据所述邻接边缘节点和所述智能合约对所述路由策略变动信息进行共识验证,以在所述路由策略变动信息通过共识验证时确定路由策略变动后的目标转发路径的步骤包括:
获取所述第二邻接边缘节点对所述历史目的边缘节点进行链路质量评估所得到的历史链路评估指数,以及对所述候选目的边缘节点进行链路质量评估所得到的候选链路评估指数;
结合所述历史链路评估指数、所述候选链路评估指数和所述智能合约中的更新共识算法,判断所述候选目的边缘节点是否有效;
若是,则生成由所述候选目的边缘节点和所述第二邻接边缘节点组成的更新转发路径,将所述更新转发路径存储于所述区块链网络;
基于所述更新转发路径和所述区块链网络中的初始转发路径,按照预设第二路径拼接原则生成所述目标转发路径。
6.如权利要求1所述的跨机房数据转发方法,其特征在于,所述从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息的步骤之前,还包括:
获取所述区块链网络中各机房的机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络。
7.如权利要求6所述的跨机房数据转发方法,其特征在于,所述获取机房内转发路径信息,并将所述机房内转发路径信息以哈希方式存储于所述区块链网络的步骤之后,还包括:
在检测到所述区块链网络中发生错误路由数据转发时,从所述区块链网络的各机房中获取每一机房内部的实际数据转发信息;
将所述实际数据转发信息与所述机房内转发路径信息进行对比并得到比对结果,以基于所述比对结果排查错误转发原因。
8.如权利要求1-7中任一项所述的跨机房数据转发方法,其特征在于,所述从部署于不同机房的边缘节点所构成的区块链网络中监测跨机房的路由策略变动信息的步骤之前,还包括:
确定部署于不同机房的边缘节点,根据所述边缘节点构建区块链网络,部署转发路径相关的智能合约;
获取初始配置信息,根据所述初始配置信息建立所述边缘节点之间的物理邻接关系,并基于所述物理邻接关系确定所述区块链网络的初始转发路径。
9.一种跨机房数据转发设备,其特征在于,所述跨机房数据转发设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨机房数据转发程序,所述跨机房数据转发程序被所述处理器执行时实现如权利要求1至8中任一项所述的跨机房数据转发方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的跨机房数据转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111029419.6A CN113872857B (zh) | 2021-09-02 | 2021-09-02 | 跨机房数据转发方法、设备及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111029419.6A CN113872857B (zh) | 2021-09-02 | 2021-09-02 | 跨机房数据转发方法、设备及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872857A true CN113872857A (zh) | 2021-12-31 |
CN113872857B CN113872857B (zh) | 2023-04-07 |
Family
ID=78989482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111029419.6A Active CN113872857B (zh) | 2021-09-02 | 2021-09-02 | 跨机房数据转发方法、设备及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872857B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827002A (zh) * | 2022-03-17 | 2022-07-29 | 西安电子科技大学 | 多域网络安全路径计算方法、***、设备、介质及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138596A (zh) * | 2019-04-13 | 2019-08-16 | 山东公链信息科技有限公司 | 一种基于切换网络拓扑方式的区块链共识方法 |
CN110855565A (zh) * | 2019-11-22 | 2020-02-28 | 广州大学 | 一种基于区块链的可验证域间路由验证方法 |
US20200186458A1 (en) * | 2018-12-06 | 2020-06-11 | T-Mobile Usa, Inc. | Autonomous system route validation via blockchain |
CN111385246A (zh) * | 2018-12-28 | 2020-07-07 | 华为技术有限公司 | 一种安全路由识别方法及装置 |
CN111711567A (zh) * | 2020-06-12 | 2020-09-25 | 杭州溪塔科技有限公司 | 一种基于区块链的网络消息传输方法装置及电子设备 |
CN112104617A (zh) * | 2020-08-27 | 2020-12-18 | 中国平安财产保险股份有限公司 | 微服务的权限管理方法、装置、设备及存储介质 |
CN112788555A (zh) * | 2019-11-05 | 2021-05-11 | ***通信集团浙江有限公司 | 跨运营商话费转移结算方法、装置及计算设备 |
CN113162889A (zh) * | 2020-01-22 | 2021-07-23 | 北京车和家信息技术有限公司 | 路由更新信息的认证方法及装置 |
-
2021
- 2021-09-02 CN CN202111029419.6A patent/CN113872857B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200186458A1 (en) * | 2018-12-06 | 2020-06-11 | T-Mobile Usa, Inc. | Autonomous system route validation via blockchain |
CN111385246A (zh) * | 2018-12-28 | 2020-07-07 | 华为技术有限公司 | 一种安全路由识别方法及装置 |
CN110138596A (zh) * | 2019-04-13 | 2019-08-16 | 山东公链信息科技有限公司 | 一种基于切换网络拓扑方式的区块链共识方法 |
CN112788555A (zh) * | 2019-11-05 | 2021-05-11 | ***通信集团浙江有限公司 | 跨运营商话费转移结算方法、装置及计算设备 |
CN110855565A (zh) * | 2019-11-22 | 2020-02-28 | 广州大学 | 一种基于区块链的可验证域间路由验证方法 |
CN113162889A (zh) * | 2020-01-22 | 2021-07-23 | 北京车和家信息技术有限公司 | 路由更新信息的认证方法及装置 |
CN111711567A (zh) * | 2020-06-12 | 2020-09-25 | 杭州溪塔科技有限公司 | 一种基于区块链的网络消息传输方法装置及电子设备 |
CN112104617A (zh) * | 2020-08-27 | 2020-12-18 | 中国平安财产保险股份有限公司 | 微服务的权限管理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
徐恪: "基于区块链的网络安全体系结构与关键技术研究进展", 《计算机学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827002A (zh) * | 2022-03-17 | 2022-07-29 | 西安电子科技大学 | 多域网络安全路径计算方法、***、设备、介质及终端 |
CN114827002B (zh) * | 2022-03-17 | 2023-04-07 | 西安电子科技大学 | 多域网络安全路径计算方法、***、设备、介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113872857B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11153148B2 (en) | Resource state monitoring method, device and communication network | |
US10484265B2 (en) | Dynamic update of virtual network topology | |
US20200106662A1 (en) | Systems and methods for managing network health | |
CN106130761B (zh) | 数据中心的故障网络设备的识别方法和装置 | |
WO2020101950A1 (en) | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance | |
US7860016B1 (en) | Method and apparatus for configuration and analysis of network routing protocols | |
US9692637B2 (en) | Fault protection method and fault protection apparatus in a multi-domain network | |
US8589588B2 (en) | Method of identifying domain-to-domain link based on automatically switched optical network | |
CN103516602A (zh) | 服务工程路径的反馈回路 | |
EP2509273A1 (en) | Method and system for updating network topology in multi-protocol label switching system | |
CN112956158B (zh) | 结构数据平面监视 | |
Bakhshi Kiadehi et al. | A fault-tolerant architecture for internet-of-things based on software-defined networks | |
JP6549959B2 (ja) | 障害切り分け方法および障害切り分けを行う管理サーバ | |
CN113872857B (zh) | 跨机房数据转发方法、设备及计算机程序产品 | |
CN115150305A (zh) | 承载网时延链路确定***、方法、电子设备及存储介质 | |
US20140059154A1 (en) | Leader Node Appointment | |
Santos et al. | Assessment of connectivity-based resilience to attacks against multiple nodes in SDNs | |
CN113542064B (zh) | 网络路径确定方法、装置、电子设备、介质及程序产品 | |
CN114024747A (zh) | 基于软件定义nfv的安全服务链编排部署方法及*** | |
US8570875B2 (en) | Determining collocations with an access transport management system (ATMS) | |
CN115277864A (zh) | 路由确定方法及装置、计算机可读存储介质、终端 | |
US10432451B2 (en) | Systems and methods for managing network health | |
Menaceur et al. | Fault Tolerance and Failure Recovery Techniques in Software-Defined Networking: A Comprehensive Approach | |
Tairaku et al. | Social data driven SDN network operation using northbound interface | |
WO2022228062A1 (zh) | 网络故障分析方法、装置、设备及存储介质 |
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 |