发明内容
本发明实施例提供了一种确定异常网络节点的方法及装置,以解决无线Mesh网络传输过程中由于异常节点会导致所上报的信息被篡改的问题。
第一方面,为了解决上述技术问题,本发明实施例提供了一种确定异常网络节点的方法,应用于网络平台,所述方法包括:
接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
根据所有网络节点的第一信息,确定异常路径和/或异常节点。
可选地,所述根据所有网络节点的第一信息,确定异常路径和/或异常节点,包括:
根据所有网络节点的第一信息,确定所述每个网络节点的正常节点信息和异常节点信息;
将所述每个网络节点的正常节点信息对应的节点路径信息与异常节点信息对应的节点路径信息进行比对,确定异常路径和/或异常节点。
可选地,所述根据所有网络节点的第一信息,确定所述每个网络节点的正常节点信息和异常节点信息,包括:
从所有网络节点的第一信息中,获取N条第一节点的节点信息,其中N+1为网络节点的总数;
若N条节点信息中有X条完全相同且X≥H时,将X条完全相同的节点信息确定为正常节点信息,其中H为预设阈值,H为不大于N+1的正整数;
将其余N-X条第一节点的节点信息确定为异常节点信息。
可选地,所述方法还包括:
当X<H时,所述第一信息上报失败,指示所述第一节点重新上报节点信息。
可选地,所述方法还包括:
将异常节点加入黑名单,和/或更新网络节点之间的通信密钥。
可选地,所述节点信息包括:设备编号、固件版本、温度和/或湿度。
第二方面,本发明实施例还提供了一种网络平台,包括:
接收模块,用于接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
确定模块,用于根据所有网络节点的第一信息,确定异常路径和/或异常节点。
第三方面,本发明实施例还提供了一种网络平台,包括:处理器和收发机;
所述收发机,用于接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
所述处理器,用于根据所有网络节点的第一信息,确定异常路径和/或异常节点。
第四方面,本发明实施例还提供了一种网络平台,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的确定异常网络节点的方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的确定异常网络节点的方法的步骤。
本发明的实施例具有如下有益效果:
在本发明实施例中,所述网络平台接收所有网络节点发送的第一信息,所述第一信息包含第一节点(上报节点)的节点信息和所有网络节点到所述网络平台的节点路径信息,所述网络平台根据所述第一信息确定异常节点和/或异常路径。可以理解的是,本发明实施例通过无线网格网络中各个网络节点向网络平台上报各个网络节点的节点信息,并同时附上其上报路径所对应的节点路径信息,所述网络平台基于区块链共识机制对无线网格网络中异常节点进行识别,不仅能使无线网格网络中各节点的信息可靠上报,还能确定无线网格网络中的异常路径和/或异常节点,可以提高无线网格网络的通信安全性和稳定性。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
一般地,无线网格(Mesh)网络中每个设备都是该网络中的1个节点,其中无线Mesh网络可以为LaraMesh、蓝牙Mesh等。假定无线Mesh网络有N个网络节点,各个网络节点共享一个基础密钥Ks,各个网络节点两两之间共享一个通信密钥Kij(i、j取值从1到N的正整数,且i、j的取值不能相同),因此无线Mesh网络中最多会有N*(N-1)/2个通信密钥。
在本发明实施例中,可以将所述无线Mesh网络中的一个或多个网络节点设置为第一节点,所述第一节点可以理解为上报节点。假设无线Mesh网络有N个网络节点,可以将N个网络节点中一个网络节点设置为第一节点,所述第一节点生成N-1条节点消息,并将N-1条节点消息发送给至多N-1个网络节点,节点信息包括:设备编号、固件版本、温度和/或湿度等。其中在第一节点发送节点信息的过程可以使用第一节点与无线Mesh网络中其他节点间的通信密钥进行加密。
例如:参见图1和图2,在无线网格网络中共有6个网络节点,6个网络节点包括:Nodez(节点z)、Nodeb(节点b)、Nodem(节点m)、Nodef(节点f)、Nodey(节点y)和Nodek(节点k),其中将Nodez设定为第一节点,第一节点可以理解为上报节点,所述Nodez生成至多5条节点消息,并将5条节点消息分别(或称为Message-k)发送给Nodeb、Nodem、Nodef、Nodey和Nodek。
进一步地,其他至多N-1个网络节点收到第一节点(例如:Nodez)的节点消息,通过使用自己与第一节点之间的通信密钥解密消息,并生成节点路径信息附在解密出的消息后(可选,用于后续分析路径安全)生成第一消息(或称为Message-m)。
1)如果下一跳设备是无线Mesh网络中的网络节点,则使用该节点与下一跳设备间的通信密钥加密第一信息生成下一跳消息。例如:假定节点Nodek收到节点Nodez的节点消息,节点Nodek解密出消息后,想通过节点Nodey作为下一跳设备传输出去,那么节点路径信息即为NodezNodekNodey,该路径信息会附着在节点Nodez的节点信息(或称为Message-k)后生成第一消息(或称为Message-m),并将第一信息通过Nodek与Nodey间的通信密钥加密后,由节点Nodek传递给节点Nodey。
2)如果下一跳设备是公网边界(比如网关),则根据预设的业务协议对第一消息进行处理形成下一跳消息。例如:假定节点Nodek收到节点Nodez的消息,若节点Nodek能够直接将该消息通过公网边界(网关)发送给平台,则节点Nodek解密出消息后,生成节点路径信息即为NodezNodek,该路径信息会附着在节点Nodez的节点信息形成第一信息(或称为Message-m),根据预设的业务协议对第一信息进行处理后形成下一跳消息,并发送给网络平台。
最终,其他至多N-1个节点分别将下一跳消息传递给出去。如果下一跳消息是发送给网络节点,则下一跳设备收到第一消息会重复以上流程继续生成下一跳信息传递出去,直至将节点Nodez的消息传输至公网边界(比如网关),并通过公网边界(比如网关)将节点Nodez的消息发送给网络平台。如果下一跳消息是公网边界(比如网关),则通过公网边界将节点Nodez的消息直接发送给平台。
参见图3,本发明实施例提供了一种确定异常网络节点的方法,该方法的执行主体为网络平台,所述方法包括如下步骤:
步骤301:接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
在步骤301中,所述网络节点是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连。例如:所述网络可以是无线网格网络。所述网络节点可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他网络连接的设备。
在本发明实施例中,所述第一节点将其节点信息发送给其他网络节点,其他网络节点将第一节点的节点信息以及节点路径信息发送给下一跳设备,进而通过下一跳设备将第一节点的节点信息以及节点路径信息构成第一信息,并将第一信息上报给所述网络平台。其中所述节点信息包括:设备编号、固件版本、温度和/或湿度。
进一步地,所述第一节点可以理解为上报节点,所述第一节点可以为无线网格(mesh)网络中的任意一个网络节点,并且可以根据需要确定所述第一网络节点。
例如:参见图1,在无线网格网络中共有6个网络节点,6个网络节点包括:Nodez(节点z)、Nodeb(节点b)、Nodem(节点m)、Nodef(节点f)、Nodey(节点y)和Nodek(节点k),其中将Nodez设定为第一节点,所述Nodez将其节点信息发送给Nodeb、Nodem、Nodef、Nodey和Nodek,以Nodeb为例,Nodeb将Nodez的节点信息以及Nodez的上报路径信息发送给下一跳设备,直至将信息传送至所述网络平台处,Nodez通过Nodeb的上报路径信息即为NodezNodeb。
在本发明实施例中,所述网络节点到所述网络平台的上报路径相关的信息可以为第一节点到所述网络节点的上报路径信息,所述上报路径信息即为节点路径信息。
步骤302:根据所有网络节点的第一信息,确定异常路径和/或异常节点。
在本发明实施例中,可以首先根据所有网络节点的第一信息,确定所述每个网络节点的正常节点信息和异常节点信息;然后再将所述每个网络节点的正常节点信息对应的节点路径信息与异常节点信息对应的节点路径信息进行比对,确定异常路径和/或异常节点。
进一步地,从所有网络节点的第一信息中,获取N条第一节点的节点信息,其中N+1为网络节点的总数;若N条节点信息中有X条完全相同且X≥H时,将X条完全相同的节点信息确定为正常节点信息,其中H为预设阈值,H为不大于N的正整数;并将其余N-X条第一节点的节点信息确定为异常节点信息。当X<H时,所述第一信息上报失败,指示所述第一节点重新上报节点信息。
在上述实施例的基础上,所述方法还包括:将异常节点加入黑名单,和/或更新网络节点之间的通信密钥。
在本发明实施例中,通过将异常节点加入黑名单,并更新网络节点之间的通信密钥,例如:全网更新基础密钥Ks,这样可以在区块链机制中将异常节点从无线网格网络中排除,防止异常节点危害到无线网格网络中的其他节点和路径,不影响其他区块链结构。
在本发明实施例中,所述网络平台接收所有网络节点发送的第一信息,所述第一信息包含第一节点(上报节点)的节点信息和所有网络节点到所述网络平台的节点路径信息,所述网络平台根据所述第一信息确定异常节点和/或异常路径。可以理解的是,本发明实施例通过无线网格网络中各个网络节点向网络平台上报各个网络节点的节点信息,并同时附上其上报路径所对应的节点路径信息,所述网络平台基于区块链共识机制对无线网格网络中异常节点进行识别,不仅可以实现无线Mesh网络中各节点的信息可靠上报,并能发现无线Mesh网络中的异常路径和/或异常节点,可以提高无线Mesh网络的通信安全性和稳定性。
当无线Mesh网络中每个节点都按照上述方案进行过信息上报后,即可实现对整个无线Mesh网络中所有路径及节点的走查,及时发现整个无线Mesh网络的安全风险及问题,提升无线Mesh网络的安全性。同时,本发明实施例不仅支持新加入设备的场景,同时也支持无线Mesh网络再内嵌网络的网络结构,内嵌网络可以为无线保真(Wireless Fidelity,wifi)、lora(LoRa是一种基于扩频技术的远距离无线传输技术)、网格(Mesh)等,即可以通过将内嵌网络等同于一个网络节点来处理。
参见图4,本发明实施例提供了另一种确定异常网络节点的方法,该方法的执行主体为网络平台,所述方法包括如下步骤:
步骤401:接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
在本发明实施例中,步骤401的实施原理与步骤301的实施原理相似,相似之处不再赘述。
步骤402:从所有网络节点的第一信息中,获取N条第一节点的节点信息,其中N+1为网络节点的总数;然后在步骤402之后执行步骤403或步骤404。
在本发明实施例中,假设在无线网格网络中有N+1个网络节点,网络平台会收到至多N条第一信息,首先网络平台会对收到的第一信息根据预设的业务协议得到第二信息(或称为Message-m),从第二信息中剔除掉节点路径信息并抽离出第一节点的节点信息(或称为Message-k),进而可以生成至多N条第一节点的节点信息的对比样本,另外也可以将第一节点直接发送给网络平台的Message-k构成至多N+1条Message-k的对比样本,进而对对比样本中的数据进行对比比较。
步骤403:若N条节点信息中有X条完全相同且X≥H时,将X条完全相同的节点信息确定为正常节点信息,将其余N-X条第一节点的节点信息确定为异常节点信息;其中H为预设阈值,H为不大于N+1的正整数。
在本发明实施例中,基于共识机制,根据预定的阈值H(取值不大于N的正整数),当发现有X条Message-k完全相同且X≥H时,可以将X条相同的Message-k确定为正常节点信息,该正常节点信息可以用于网络平台进行后续操作(比如根据固件版本推送固件更新等),并将剩余的N-X条Message-k确定为异常节点信息。同时通过对异常节点信息对应的节点路径信息进行分析,确定异常节点和异常路径,进而分析该异常路径及异常节点的安全问题,并对异常路径及异常节点进行整改。
在本发明实施例中,当X<H时,所述第一信息上报失败,指示所述第一节点重新上报节点信息。即当发现有X条Message-k完全相同但X<H时,此次信息上报失败,需要第一节点(例如:节点Nodez)重新上报设备相关信息。
步骤404:将所述每个网络节点的正常节点信息对应的节点路径信息与异常节点信息对应的节点路径信息进行比对,确定异常路径和/或异常节点。
例如:通过将正常Message-k对应的节点路径信息NodezNodekNodeyNode与异常Message-k对应的节点路径信息NodezNodekNodepNoded进行比对,可以发现出异常节点Nodep。
步骤405:将异常节点加入黑名单,和/或更新网络节点之间的通信密钥。
在本发明实施例中,通过将异常节点加入黑名单,并更新网络节点之间的通信密钥,例如:全网更新基础密钥Ks,这样可以在区块链机制中将异常节点从无线网格网络中排除,防止异常节点危害到无线网格网络中的其他节点和路径,不影响其他区块链结构。
在本发明实施例中,所述网络平台接收所有网络节点发送的第一信息,所述第一信息包含第一节点(上报节点)的节点信息和所有网络节点到所述网络平台的节点路径信息,所述网络平台根据所述第一信息确定异常节点和/或异常路径。可以理解的是,本发明实施例通过无线网格网络中各个网络节点向网络平台上报各个网络节点的节点信息,并同时附上其上报路径所对应的节点路径信息,所述网络平台基于区块链共识机制对无线网格网络中异常节点进行识别,确定所述第一节点的正常节点信息,并通过分析第一节点的异常节点信息和正常节点信息进行对比来确定异常节点和/或异常路径,不仅可以实现无线Mesh网络中各节点的信息可靠上报,并能发现无线Mesh网络中的异常路径和/或异常节点,可以提高无线Mesh网络的通信安全性和稳定性。
当无线Mesh网络中每个节点都按照上述方案进行过信息上报后,即可实现对整个无线Mesh网络中所有路径及节点的走查,及时发现整个无线Mesh网络的安全风险及问题,提升无线Mesh网络的安全性。同时,本发明实施例不仅支持新加入设备的场景,同时也支持无线Mesh网络再内嵌网络的网络结构,内嵌网络可以为无线保真(Wireless Fidelity,wifi)、lora(LoRa是一种基于扩频技术的远距离无线传输技术)、网格(Mesh)等,即可以通过将内嵌网络等同于一个网络节点来处理。
为了解决无线Mesh网络传输过程中由于异常节点会导致所上报的信息被篡改的问题,本发明实施例还提供了一种网络平台,所述网络平台的实施原理与上述的确定异常网络节点的方法的实施原理相似,相似之处不再赘述。
参见图5,本发明实施例提供了一种网络平台,包括:
接收模块501,用于接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
确定模块502,用于根据所有网络节点的第一信息,确定异常路径和/或异常节点。
可选地,所述确定模块502包括:
第一确定单元,用于根据所有网络节点的第一信息,确定所述每个网络节点的正常节点信息和异常节点信息;
第二确定单元,用于将所述每个网络节点的正常节点信息对应的节点路径信息与异常节点信息对应的节点路径信息进行比对,确定异常路径和/或异常节点。
可选地,所述第一确定单元包括:
获取子单元,用于从所有网络节点的第一信息中,获取N条第一节点的节点信息,其中N+1为网络节点的总数;
第一确定子单元,用于若N条节点信息中有X条完全相同且X≥H时,将X条完全相同的节点信息确定为正常节点信息,其中H为预设阈值,H为不大于N+1的正整数;
第二确定子单元,用于将其余N-X条第一节点的节点信息确定为异常节点信息。
可选地,所述网络平台还包括:
指示模块,用于当X<H时,所述第一信息上报失败,指示所述第一节点重新上报节点信息。
可选地,所述网络平台还包括:
排除模块,用于将异常节点加入黑名单,和/或更新网络节点之间的通信密钥。
可选地,所述节点信息包括:设备编号、固件版本、温度和/或湿度。
参见图6,本发明实施例提供了一种网络平台,包括:处理器601和收发机602;
所述收发机602,用于接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;
所述处理器601,用于根据所有网络节点的第一信息,确定异常路径和/或异常节点。
可选地,所述处理器601进一步用于:根据所有网络节点的第一信息,确定所述每个网络节点的正常节点信息和异常节点信息;将所述每个网络节点的正常节点信息对应的节点路径信息与异常节点信息对应的节点路径信息进行比对,确定异常路径和/或异常节点。
可选地,所述处理器601进一步用于:从所有网络节点的第一信息中,获取N条第一节点的节点信息,其中N+1为网络节点的总数;若N条节点信息中有X条完全相同且X≥H时,将X条完全相同的节点信息确定为正常节点信息,其中H为预设阈值,H为不大于N+1的正整数;将其余N-X条第一节点的节点信息确定为异常节点信息。
可选地,所述处理器601还用于:当X<H时,所述第一信息上报失败,指示所述第一节点重新上报节点信息。
可选地,所述处理器601还用于:将异常节点加入黑名单,和/或更新网络节点之间的通信密钥。
可选地,所述节点信息包括:设备编号、固件版本、温度和/或湿度。
图7是本发明实施例提供的再一种网络平台的结构示意图,如图7所示,网络平台700包括:处理器701、收发机702、存储器703和总线接口,其中:
在本发明实施例中,网络平台700还包括:存储在存储器703上并可在处理器701上运行的计算机程序,计算机程序被处理器701执行时实现如下步骤:
接收所有网络节点发送的第一信息,所述第一信息包括所述网络节点中的第一节点的节点信息和与每个网络节点到所述网络平台的上报路径相关的信息;根据所有网络节点的第一信息,确定异常路径和/或异常节点。
在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
处理器701负责管理总线架构和通常的处理,存储器703可以存储处理器701在执行操作时所使用的数据。
需要说明的是,上述的网络平台可以实现如上所述的确定异常网络节点的方法的各个步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的确定异常网络节点的方法中的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络侧设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。