发明内容
有鉴于此,本发明实施例提供了一种边缘节点之间的通信方法及系统,以解决现有技术中核心节点发生故障时,此时注册到此核心节点上的边缘节点将无法查询核心节点的地址,从而导致全网瘫痪的问题。
本发明实施例的第一方面提供了一种边缘节点之间的通信方法,包括:
边缘节点根据存储的核心节点的地址将当前的第一网络地址信息发送给核心节点进行注册;
所述边缘节点接收核心节点广播的第一边缘节点地址信息表,并根据所述第一边缘节点地址信息表将存储的边缘节点地址信息表更新为第二边缘节点地址信息表;
所述边缘节点根据所述第二边缘节点地址信息表,获取待通信的目标边缘节点的网络地址信息;
所述边缘节点根据所述目标边缘节点的网络地址信息,向目标边缘节点发送信息以建立通信隧道。
在一实施例中,在所述边缘节点根据存储的核心节点的地址将当前的第一网络地址信息发送给核心节点进行注册之后,还包括:
所述核心节点根据接收的所述边缘节点发送的第一网络地址信息建立与所述边缘节点的虚拟专网连接,并将当前自身保存的第三边缘节点地址信息表更新为所述第一边缘节点地址信息表;
所述核心节点将更新后的第一边缘节点地址信息表广播给全网所有边缘节点。
在一实施例中,在所述核心节点将更新后的第一边缘节点地址信息表广播给全网所有边缘节点之后,还包括:
所述所有边缘节点接收到所述第一边缘节点地址信息表后,更新各自存储的边缘节点地址信息表,并向所述核心节点发送确认信息。
在一实施例中,在所述向所述核心节点发送确认信息之后,还包括:
边缘节点与核心节点之间建立虚拟专网连接之后,边缘节点与核心节点之间按照预设周期进行连接状态验证。
在一实施例中,在所述向所述核心节点发送确认信息之后,还包括:
边缘节点与核心节点之间建立虚拟专网连接之后,当所述边缘节点的网络地址发生变化时,所述边缘节点向所述核心节点重新发送变化后的第二网络地址信息,以便向所述核心节点重新进行注册,并由所述核心节点向全网所有边缘节点广播所述边缘节点网络地址变化后更新的边缘节点地址信息;或者,
边缘节点与核心节点之间建立虚拟专网连接之后,当所述边缘节点的网络地址发生变化时,所述边缘节点通过共识算法向全网广播第二网络地址信息。
在一实施例中,在所述边缘节点与核心节点之间按照预设周期进行连接状态验证之后,还包括:
当边缘节点与核心节点之间进行连接状态验证未成功时,所述边缘节点保存当前的第四边缘节点地址信息表,并以所述第四边缘节点地址信息表为依据与其它边缘节点进行通信。
在一实施例中,在所述边缘节点与核心节点之间按照预设周期进行连接状态验证之后,还包括:
当边缘节点与核心节点之间进行连接状态验证未成功,且所述边缘节点的网络地址发生变化时,所述边缘节点根据所述第四边缘节点地址信息表与其它边缘节点进行通信,并通过共识算法向全网广播更新网络地址信息。
在一实施例中,在所述通过共识算法向全网广播当前的网络地址信息之后,还包括:
处于无核心节点工作状态的边缘节点接收到所述边缘节点广播的更新网络地址信息时,通过公式算法认证所述更新网络地址信息是否正确;
当认证通过时,处于无核心节点工作状态的边缘节点更新各自存储的边缘节点地址信息表。
在一实施例中,处于无核心节点工作状态的边缘节点与核心节点之间按照预设周期进行连接状态验证;
当处于无核心节点工作状态的边缘节点与核心节点之间的连接状态验证成功时,处于无核心节点工作状态的边缘节点重新向所述核心节点上报各自的网络地址信息;
所述核心节点根据上报的网络地址信息将当前保存的边缘节点地址信息表更新为第五边缘节点地址信息表,并向所有边缘节点广播所述第五边缘节点地址信息表;
若第一边缘节点未与其它边缘节点建立虚拟专网,则直接根据所述第五边缘节点地址信息表更新自身保存的边缘节点地址信息表,所述第一边缘节点为所有边缘节点中的任一边缘节点;
若第一边缘节点已与其它边缘节点建立虚拟专网,则继续与其它边缘节点进行通信。
本发明实施例的第二方面提供了一种边缘节点之间的通信系统,包括:边缘节点和核心节点;
所述边缘节点根据存储的核心节点的地址将当前的第一网络地址信息发送给核心节点进行注册;
所述边缘节点接收核心节点广播的第一边缘节点地址信息表,并根据所述第一边缘节点地址信息表更新存储的第二边缘节点地址信息表;
所述边缘节点根据所述第二边缘节点地址信息表,获取待通信的目标边缘节点的网络地址信息;
所述边缘节点根据所述目标边缘节点的网络地址信息,向目标边缘节点发送信息以建立通信隧道。
本发明实施例与现有技术相比存在的有益效果是:上述边缘节点之间的通信方法,通过边缘节点注册到核心节点,然后根据核心节点广播的第一边缘节点地址信息表更新自身的边缘节点地址信息表,以此获得全网的边缘节点的网络地址信息,从而可以与目标边缘节点之间直接进行通信,不通过核心节点,当虚拟网络中加入的边缘节点越多时,核心节点的工作量增加较小,处理信息的速度降低较小,基本都可以忽略不计,因此不会降低全网通信效率。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的一种边缘节点之间的通信方法的实现流程示意图,详述如下。
步骤101,边缘节点根据存储的核心节点的地址将当前的第一网络地址信息发送给核心节点进行注册。
在本发明实施例中,虚拟专用网可以包括若干分别具有固定地址的核心节点和若干分别具有指定身份标识的边缘节点,其中,核心节点用于对边缘节点进行身份认证和该虚拟专网中的边缘节点地址信息的下发。
可选的,在初始设置时,边缘节点上储存有核心节点的地址。边缘节点接入互联网后,区块链的共识算法启动,边缘节点则会根据核心节点的地址向核心节点发送自己当前的网络地址信息。
可选的,第一网络地址信息中的“第一”并不是为了进行排序,而是为了跟其他的边缘节点的网络地址信息或者当前边缘节点的网络地址变化后的网络地址信息进行区别。
可选的,所述核心节点根据接收的所述边缘节点发送的第一网络地址信息建立与所述边缘节点的虚拟专网连接,并将当前自身保存的第三边缘节点地址信息表更新为所述第一边缘节点地址信息表;以及所述核心节点将更新后的第一边缘节点地址信息表广播给全网所有边缘节点。
可选的,核心节点中可以预先存储有各边缘节点分别对应的指定身份标识,上述认证信息用于使所述核心节点可以基于所述边缘节点的身份信息对该边缘节点进行身份认证,身份信息可以包括边缘节点的命名名称,若认证通过,则可以将该边缘节点的第一网络地址信息更新至边缘节点地址信息表。
可选的,第三边缘节点地址信息表为将其保存的边缘节点地址信息表进行更新后的边缘节点地址信息表,“第三”并不是为了进行排序,而是为了跟其他的边缘节点地址信息表进行区分。
核心节点每次收到一个边缘节点的网络地址信息后,与该边缘节点建立虚拟专网连接,并更新自己的边缘节点地址信息表。
可选的,所述所有边缘节点接收到所述第一边缘节点地址信息表后,更新各自存储的边缘节点地址信息表,并向所述核心节点发送确认信息,此时边缘节点注册成功,并且其他边缘节点也更新完毕各自的边缘节点地址信息表,边缘节点之间可以根据各自的边缘节点地址信息表相互通信,即继续执行步骤102。
可选的,在一个虚拟专网中,可以包括拥有固定公网地址IPO的核心节点O、拥有固定公网地址IPP的核心节点P、拥有未知公网地址IPA的边缘节点A以及拥有未知公网地址IPB的边缘节点B。其中,边缘节点A下所连接设备的所有用的私网地址段为IPa,边缘节点B下所连接设备的所有用的私网地址段为IPb。
边缘节点A和边缘节点B可以预先存储有核心节点O固定公网地址IPO和核心节点P的固定公网地址IPP;核心节点O和核心节点P也可以预先存储有边缘节点A的指定身份标识信息和边缘节点B的指定身份标识信息。
当边缘节点A接入公网(互联网)时,其将拥有一个临时分配的公网地址IPA,边缘节点A可以通过IPA查找可用的核心节点地址(例如IPO或IPP),当找到一个可用的核心节点O的固定地址IPO后,可以向其发送边缘节点A的网络地址信息。核心节点O验证边缘节点A的指定身份标识,确认其为合法节点后,自动与边缘A建立IPO到IPA的虚拟专网通信隧道。
核心节点O在确认边缘节点A为合法节点后,将边缘节点A的网络地址信息更新到核心节点O预先存储的边缘节点地址信息表中,并将更新后的边缘节点地址信息表在虚拟专网中进行全网广播。
接收到全网广播的边缘节点(例如边缘节点B)获得边缘节点地址信息表后,由于边缘节点地址信息表记录了边缘节点A的网络地址信息,则边缘节点B可以通过边缘节点A的网络地址信息实现与边缘节点A的直接通信而无需跨越核心节点。
步骤102,所述边缘节点接收核心节点广播的第一边缘节点地址信息表,并根据所述第一边缘节点地址信息表将存储的边缘节点地址信息表更新为第二边缘节点地址信息表。
可选的,第二边缘节点地址信息表为此边缘节点自身存储的,根据核心节点广播的第一边缘节点地址信息表进行更新,更新后的第二边缘节点地址信息表中具有虚拟网络中所有边缘节点的地址信息,当需要与目标边缘节点通信时,则可以直接获得目标边缘节点的网络地址信息。
可选的,当虚拟网络中存在多个核心节点时,则其它核心节点根据上述核心节点广播的第一边缘节点地址信息表更新自身存储的边缘节点地址信息表,这样不同核心节点下注册的边缘节点之间也可以互相通信。
步骤103,所述边缘节点根据所述第二边缘节点地址信息表,获取待通信的目标边缘节点的网络地址信息。
步骤104,所述边缘节点根据所述目标边缘节点的网络地址信息,向目标边缘节点发送信息以建立通信隧道。
边缘节点与目标边缘节点之间即可通过建立的通信隧道进行通信。
可选的,在各边缘节点向核心节点发送确认信息之后,边缘节点与核心节点之间建立虚拟专网连接,边缘节点与核心节点之间按照预设周期进行连接状态验证。上述预设周期可以根据需求进行设定,在此实施例中不限定预设周期的限定。可选的,边缘节点与核心节点之间按照预设周期进行连接状态验证时,边缘节点与核心节点之间相互发送连接状态验证信息,当接收到对方反馈的连接状态确认信息后,则验证通过。
可选的,边缘节点与核心节点之间建立虚拟专网连接之后,当所述边缘节点的网络地址发生变化时,即边缘节点与核心节点之间为连接状态时,边缘节点的网络地址发生变化,此时所述边缘节点向所述核心节点重新发送变化后的第二网络地址信息,以便向所述核心节点重新进行注册,并由所述核心节点向全网所有边缘节点广播所述边缘节点网络地址变化后更新的边缘节点地址信息;或者,所述边缘节点通过共识算法向全网广播第二网络地址信息。
可选的,共识算法可以理解为在各个区块上的所有者用一个算法达成数据的共识,这里,通过共识算法使全网的边缘节点都更新广播变更网络地址的边缘节点的网络地址信息,使得全网的边缘节点都存储变更网络地址后的第二网络地址信息,达成存储信息的一致。
可选的,当边缘节点与核心节点之间相互发送连接状态验证信息,未接收到对方反馈的连接状态确认信息后,则验证未通过,此时边缘节点进入无核心工作状态。
可选的,当边缘节点与核心节点之间进行连接状态验证未成功时,所述边缘节点保存当前的第四边缘节点地址信息表,并以所述第四边缘节点地址信息表为依据与其它边缘节点进行通信,此时进入无核心工作状态的边缘节点不再向核心节点发送更新地址信息。若此时所述边缘节点的网络地址发生变化时,所述边缘节点根据所述第四边缘节点地址信息表与其它边缘节点进行通信,并通过共识算法向全网广播更新网络地址信息。
可选的,发生网络地址变化的边缘节点本身是可信的信源,即已经存储在各个边缘节点自身存储的边缘节点地址信息表中,当接收到此边缘节点广播的更新网络地址信息时,其它所有边缘节点都信任此边缘节点并按照它广播的更新网络地址信息进行更新边缘节点地址信息表。可选的,处于无核心节点工作状态的边缘节点接收到所述边缘节点广播的更新网络地址信息时,通过公式算法认证所述更新网络地址信息是否正确;当认证通过时,处于无核心节点工作状态的边缘节点更新各自存储的边缘节点地址信息表。
可选的,处于无核心节点工作状态的边缘节点与核心节点之间仍然保持按照预设周期进行连接状态验证。
当处于无核心节点工作状态的边缘节点与核心节点之间的连接状态验证成功时,说明核心节点恢复工作状态,此时处于无核心节点工作状态的边缘节点重新向所述核心节点上报各自的网络地址信息。
所述核心节点根据上报的网络地址信息将当前保存的边缘节点地址信息表更新为第五边缘节点地址信息表,并向所有边缘节点广播所述第五边缘节点地址信息表;
若第一边缘节点未与其它边缘节点建立虚拟专网,则直接根据所述第五边缘节点地址信息表更新自身保存的边缘节点地址信息表,所述第一边缘节点为所有边缘节点中的任一边缘节点;
若第一边缘节点已与其它边缘节点建立虚拟专网,则此时第一边缘节点先不考虑更新的第五边缘节点地址信息表,继续与其它边缘节点进行通信,维持虚拟专网通信状态。
上述边缘节点之间的通信方法,通过边缘节点注册到核心节点,然后根据核心节点广播的第一边缘节点地址信息表更新自身的边缘节点地址信息表,以此获得全网的边缘节点的网络地址信息,从而可以与目标边缘节点之间直接进行通信,不通过核心节点,当虚拟网络中加入的边缘节点越多时,核心节点的工作量增加较小,处理信息的速度降低较小,基本都可以忽略不计,因此不会降低全网通信效率。另外,若核心节点容易发生故障时,不会影响边缘节点之间的通信,并且边缘节点地址发生变化后也可以通过广播进行更新,使得全网的通信效果好,系统稳定性较高。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的边缘节点之间的通信方法,图2示出了本发明实施例提供的边缘节点之间的通信系统的示例图。如图2所示,该系统可以包括:边缘节点201和核心节点202。
所述边缘节点201根据存储的核心节点202的地址将当前的第一网络地址信息发送给核心节点进行注册;
所述边缘节点201接收核心节点202广播的第一边缘节点地址信息表,并根据所述第一边缘节点地址信息表更新存储的第二边缘节点地址信息表;
所述边缘节点201根据所述第二边缘节点地址信息表,获取待通信的目标边缘节点的网络地址信息;
所述边缘节点201根据所述目标边缘节点的网络地址信息,向目标边缘节点发送信息以建立通信隧道。
可选的,如果2所示,边缘节点之间的通信系统中可以包括多个边缘节点201以及多个核心节点202。
可选的,在所述边缘节点201根据存储的核心节点202的地址将当前的第一网络地址信息发送给核心节点进行注册之后,所述核心节点202根据接收的所述边缘节点201发送的第一网络地址信息建立与所述边缘节点的虚拟专网连接,并将当前自身保存的第三边缘节点地址信息表更新为所述第一边缘节点地址信息表;
所述核心节点202将更新后的第一边缘节点地址信息表广播给全网所有边缘节点201;所述所有边缘节点201接收到所述第一边缘节点地址信息表后,更新各自存储的边缘节点地址信息表,并向所述核心节点202发送确认信息。
可选的,当虚拟网络中存在多个核心节点202时,则其它核心节点根据上述核心节点广播的第一边缘节点地址信息表更新自身存储的边缘节点地址信息表,这样不同核心节点下注册的边缘节点之间也可以互相通信。
可选的,边缘节点201与核心节点202之间建立虚拟专网连接之后,边缘节点201与核心节点202之间按照预设周期进行连接状态验证。
可选的,边缘节点201与核心节点201之间建立虚拟专网连接之后,当所述边缘节点201的网络地址发生变化时,所述边缘节点201向所述核心节点201重新发送变化后的第二网络地址信息,以便向所述核心节点202重新进行注册,并由所述核心节点202向全网所有边缘节点广播所述边缘节点201网络地址变化后更新的边缘节点地址信息;或者,
边缘节点201与核心节点202之间建立虚拟专网连接之后,当所述边缘节点201的网络地址发生变化时,所述边缘节点201通过共识算法向全网广播第二网络地址信息。
可选的,当边缘节点201与核心节点202之间进行连接状态验证未成功时,所述边缘节点201保存当前的第四边缘节点地址信息表,并以所述第四边缘节点地址信息表为依据与其它边缘节点进行通信。
可选的,当边缘节点201与核心节点202之间进行连接状态验证未成功,且所述边缘节点201的网络地址发生变化时,所述边缘节点201根据所述第四边缘节点地址信息表与其它边缘节点进行通信,并通过共识算法向全网广播更新网络地址信息。
可选的,处于无核心节点工作状态的边缘节点201接收到所述边缘节点201广播的更新网络地址信息时,通过公式算法认证所述更新网络地址信息是否正确;当认证通过时,处于无核心节点工作状态的边缘节点更新各自存储的边缘节点地址信息表。
可选的,处于无核心节点工作状态的边缘节点201与核心节点202之间按照预设周期进行连接状态验证;
当处于无核心节点工作状态的边缘节点201与核心节点202之间的连接状态验证成功时,处于无核心节点工作状态的边缘节点201重新向所述核心节点上报各自的网络地址信息;
所述核心节点202根据上报的网络地址信息将当前保存的边缘节点地址信息表更新为第五边缘节点地址信息表,并向所有边缘节点201广播所述第五边缘节点地址信息表;
若第一边缘节点203未与其它边缘节点建立虚拟专网,则直接根据所述第五边缘节点地址信息表更新自身保存的边缘节点地址信息表,所述第一边缘节点203为所有边缘节点中的任一边缘节点;
若第一边缘节点203已与其它边缘节点建立虚拟专网,则继续与其它边缘节点进行通信。
上述边缘节点之间的通信系统,通过边缘节点注册到核心节点,然后根据核心节点广播的第一边缘节点地址信息表更新自身的边缘节点地址信息表,以此获得全网的边缘节点的网络地址信息,从而可以与目标边缘节点之间直接进行通信,不通过核心节点,当虚拟网络中加入的边缘节点越多时,核心节点的工作量增加较小,处理信息的速度降低较小,基本都可以忽略不计,因此不会降低全网通信效率。另外,若核心节点容易发生故障时,不会影响边缘节点之间的通信,并且边缘节点地址发生变化后也可以通过广播进行更新,使得全网的通信效果好,系统稳定性较高。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。