一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式故障节点预测方法、装置、电子设备及存储介质与流程

2023-01-14 12:34:47 来源:中国专利 TAG:


1.本技术涉及工业物联网故障评估技术领域,具体而言,涉及一种分布式故障节点预测方法、装置、电子设备及存储介质。


背景技术:

2.近年来,人工智能及机器人技术的发展和普及,让传统制造业向智能制造迈进了重要一步。目前学术界和工业界都在研究适配智能工厂的网络拓扑和控制调度算法,为了确保整个系统有足够的鲁棒性,智能工厂的智能机器人和智能设备通常以分布式的网络拓扑进行数据交换。当以分布式的方式进行设备互联时,各个设备很难及时地发现系统中的潜在故障节点(其中,节点是指智能机器人和智能设备,下文以节点统称智能机器人和智能设备),从而让系统陷入漫长的排查过程而影响生产效率。因此,研究在群体分布式场景下的快速故障节点预测算法,是智能工厂能够最终落地的关键算法之一。
3.目前业界主要基于机器学习算法,特别是深度学习算法来对潜在故障节点来进行预测。随着样本数据的增加以及机器学习算法的成熟,这种方法一般能给出一个大概率正确的预测值。但在工业场景下,样本数据,特别是有差异的样本数据不容易获得,而机器学习算法又严重依赖样本量,这会导致预测值的准确度偏低。另外,机器学习算法的数值模型通常较为复杂,只有在适合并行计算的硬件平台上才能快速求解,而工业设备通常只有一些计算能力有限的芯片,这会导致评估时间过长从而导致算法实时性偏低。
4.基于上述问题,目前尚未有有效的解决方法。


技术实现要素:

5.本技术的目的在于提供一种分布式故障节点预测方法、装置、电子设备及存储介质,能够快速预测出潜在故障节点,保证生产不受影响。
6.第一方面,本技术提供了一种分布式故障节点预测方法,用于对分布式系统的潜在故障节点进行预测,所述分布式系统包括多个以分布式的网络拓扑进行数据交换的节点;其中,包括以下步骤:s1.获取每个节点对应的邻近节点集合和远亲节点集合;s2.根据所述邻近节点集合和所述远亲节点集合确定每个所述节点对应的故障节点集合;s3.根据每个所述节点对应的所述故障节点集合获取潜在故障节点;步骤s2包括依次以各所述节点为中心节点,并执行以下步骤:s201.令所述中心节点向所述邻近节点集合中的每个邻近节点发送第二探测数据包,以获取每个所述邻近节点和所述中心节点之间的第一通信时长;s202.令每个所述邻近节点向所述远亲节点集合中的同一个远亲节点发送第三探测数据包,以获取各所述邻近节点经所述远亲节点到所述中心节点的第二通信时长;s203.根据所述第一通信时长和所述第二通信时长分别计算所述中心节点对应的
第一通信时间方差和第二通信时间方差;s204.根据所述第一通信时间方差和所述第二通信时间方差判断所述远亲节点是否为候选故障节点;s205.若是,则根据所述第一通信时间方差和所述第二通信时间方差计算所述候选故障节点对应的故障度,执行步骤s206;若否,直接执行步骤s206;s206.选取未被判断是否为候选故障节点的远亲节点作为所述远亲节点集合中的下一个远亲节点,重复执行步骤s201-步骤s205以判断所述远亲节点集合中的下一个远亲节点是否为候选故障节点,直到将所述远亲节点集合中的所有远亲节点判断完毕;s207.获取所有所述候选故障节点,以作为所述中心节点对应的所述故障节点集合。
7.本技术的分布式故障节点预测方法,通过获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
8.可选地,本技术提供的分布式故障节点预测方法,步骤s1包括依次以每个节点为中心节点,并执行以下步骤:s101.以所述中心节点以外的其余节点作为第一节点;s102.令所述中心节点向每个所述第一节点发送第一探测数据包,以获取每个所述第一节点和所述中心节点之间的数据往返时间;s103.重复执行步骤s102若干次,以计算每个所述第一节点和所述中心节点之间的平均数据往返时间;s104.根据每个所述第一节点对应的所述平均数据往返时间对所述第一节点进行升序排序;所述平均数据往返时间越短,所述第一节点的序号越靠前;s105.对排序完毕的所有所述第一节点进行划分,以获取所述中心节点的所述邻近节点集合和所述远亲节点集合。
9.通过这种方式,可以准确地获取邻近节点集合和远亲节点集合,提高了获取邻近节点集合和远亲节点集合的准确性。
10.可选地,本技术提供的分布式故障节点预测方法,步骤s205中,所述候选故障节点对应的故障度的计算公式如下:其中,为所述候选故障节点对应的故障度;为所述第一通信时间方差;为所述第二通信时间方差;为第三预设常数,且大于0。
11.可选地,本技术提供的分布式故障节点预测方法,步骤s3包括:s301.获取各个所述中心节点对应的所述故障节点集合的各候选故障节点的所述故障度;s302.根据所述故障节点集合的各候选故障节点的所述故障度计算每个所述候选故障节点对应的平均故障度;s303.获取所述平均故障度高于第一预设阈值对应的所述候选故障节点,以作为所述潜在故障节点。
12.可选地,本技术提供的分布式故障节点预测方法,步骤s3之后包括:每隔第一预设时间段将每个所述节点对应的所述邻近节点集合、所述远亲节点集合和所述故障节点集合进行清空,并重新执行步骤s1-步骤s3。
13.通过这种设置方式,可以使每个节点只需按照正确的时间间隔进行上述操作,则可在同一时间内快速达成潜在故障节点的全网共识,从而快速启动备用节点,使生产能无中断顺利进行。
14.本技术提供的分布式故障节点预测方法,通过获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
15.第二方面,本技术提供一种分布式故障节点预测装置,用于对分布式系统的潜在故障节点进行预测,所述分布式系统包括多个以分布式的网络拓扑进行数据交换的节点;其中,所述分布式故障节点预测装置包括以下模块:第一获取模块:用于获取每个节点对应的邻近节点集合和远亲节点集合;计算模块:用于根据所述邻近节点集合和所述远亲节点集合确定每个所述节点对应的故障节点集合;第二获取模块:用于根据每个所述节点对应的所述故障节点集合获取潜在故障节点;计算模块在根据所述邻近节点集合和所述远亲节点集合确定每个所述节点对应的故障节点集合的时候,依次以各所述节点为中心节点,执行以下步骤:s201.令所述中心节点向所述邻近节点集合中的每个邻近节点发送第二探测数据包,以获取每个所述邻近节点和所述中心节点之间的第一通信时长;s202.令每个所述邻近节点向所述远亲节点集合中的同一个远亲节点发送第三探测数据包,以获取各所述邻近节点经所述远亲节点到所述中心节点的第二通信时长;s203.根据所述第一通信时长和所述第二通信时长分别计算所述中心节点对应的第一通信时间方差和第二通信时间方差;s204.根据所述第一通信时间方差和所述第二通信时间方差判断所述远亲节点是否为候选故障节点;s205.若是,则根据所述第一通信时间方差和所述第二通信时间方差计算所述候选故障节点对应的故障度,执行步骤s206;
若否,直接执行步骤s206;s206.选取未被判断是否为候选故障节点的远亲节点作为所述远亲节点集合中的下一个远亲节点,重复执行步骤s201-步骤s205以判断所述远亲节点集合中的下一个远亲节点是否为候选故障节点,直到将所述远亲节点集合中的所有远亲节点判断完毕;s207.获取所有所述候选故障节点,以作为所述中心节点对应的所述故障节点集合。
16.可选地,本技术提供的分布式故障节点预测装置,第一获取模块在获取每个节点对应的邻近节点集合和远亲节点集合的时候,依次以每个节点为中心节点,并执行以下步骤:s101.以所述中心节点以外的其余节点作为第一节点;s102.令所述中心节点向每个所述第一节点发送第一探测数据包,以获取每个所述第一节点和所述中心节点之间的数据往返时间;s103.重复执行步骤s102若干次,以计算每个所述第一节点和所述中心节点之间的平均数据往返时间;s104.根据每个所述第一节点对应的所述平均数据往返时间对所述第一节点进行升序排序;所述平均数据往返时间越短,所述第一节点的序号越靠前;s105.对排序完毕的所有所述第一节点进行划分,以获取所述中心节点的所述邻近节点集合和所述远亲节点集合。
17.本技术提供的基于分布式故障节点预测装置,通过第一获取模块获取每个节点对应的邻近节点集合和远亲节点集合;计算模块根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;第二获取模块根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
18.第三方面,本技术提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
19.第四方面,本技术提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
20.综上,本技术的分布式故障节点预测方法、装置、电子设备及存储介质,通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
附图说明
21.图1为本技术提供的分布式故障节点预测方法的一种流程图。
22.图2为本技术提供的分布式故障节点预测装置的一种结构示意图。
23.图3为本技术提供的电子设备的结构示意图。
24.标号说明:
201、第一获取模块;202、计算模块;203、第二获取模块;301、处理器;302、存储器;303、通信总线。
具体实施方式
25.下面将结合本技术实施方式中附图,对本技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本技术一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本技术实施方式的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施方式的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施方式。基于本技术的实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都属于本技术保护的范围。
26.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
27.请参照图1,图1是本技术一些实施方式中的分布式故障节点预测方法的流程图,用于对分布式系统的潜在故障节点进行预测,分布式系统包括多个以分布式的网络拓扑进行数据交换的节点;其中,包括以下步骤:s1.获取每个节点对应的邻近节点集合和远亲节点集合;s2.根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;s3.根据每个节点对应的故障节点集合获取潜在故障节点。
28.本技术的分布式故障节点预测方法,通过获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
29.在一些实施例中,步骤s1包括依次以各节点为中心节点,并执行以下步骤:s101.以中心节点以外的其余节点作为第一节点;s102.令中心节点向每个第一节点发送第一探测数据包,以获取每个第一节点和中心节点之间的数据往返时间;s103.重复执行步骤s102若干次,以计算每个第一节点和中心节点之间的平均数据往返时间;s104.根据每个第一节点对应的平均数据往返时间对第一节点进行升序排序;平均数据往返时间越短,第一节点的序号越靠前;s105.对排序完毕的所有第一节点进行划分,以获取中心节点的邻近节点集合和远亲节点集合。
30.具体的,可以预先给全网的所有节点设置一个默认的序号。例如,全网节点数量一共有n 1个(n为大于1的整数),则所有节点的序号分别为1、2、

、n 1。其中,令一个节点作
为中心节点,。
31.步骤s101中,令第一节点为,第一节点集合为b,,,且,n为除中心节点以外的其余节点的数量。
32.步骤s102中,在时刻t,中心节点向第一节点集合b发送第一探测数据包,第一节点接收到第一探测数据包后,会向中心节点发送响应数据包(以下称之为第一响应数据包),通过这种方式,可以计算各个第一节点和中心节点之间的数据往返时间。即第一节点和中心节点之间的数据往返时间为中心节点向第一节点发送第一探测数据包至中心节点接收到该第一节点发回的第一响应数据包的时间间隔。
33.步骤s103中,重复执行步骤s102若干次,然后生成如下矩阵t:其中,表示第一节点在第j次探测中与中心节点间的数据往返时间;,m为执行步骤s102的总次数;表示矩阵t为实数域r上的n行m列矩阵;n为除中心节点以外的其余节点的数量。
34.之后先剔除矩阵t中各行的最大值和最小值,然后根据以下公式计算第一节点和中心节点之间的平均数据往返时间:其中,为第一节点和中心节点之间的平均数据往返时间;为第一节点与中心节点之间的数据往返时间最大值;为第一节点与中心节点之间的数据往返时间最小值;m为执行步骤s102的总次数,m为大于等于3的整数。
35.步骤s105中,可以在基于平均数据往返时间排序完毕的n个第一节点中,按顺序依次选取前k个第一节点作为中心节点的邻近节点,记为邻近节点集合,,为个邻近节点中的第个邻近节点,记邻近节点与中心节点间的平均
往返时间为。余下的n-k个第一节点作为中心节点的远亲节点,记为远亲节点集合,,为()个远亲节点中的第个远亲节点,记远亲节点与中心节点间的平均往返时间为。
36.通过这种方式,可以准确地获取邻近节点集合和远亲节点集合,提高了获取邻近节点集合和远亲节点集合的准确性。
37.在进一步的实施方式中,步骤s2包括:s201.令中心节点向邻近节点集合中的每个邻近节点发送第二探测数据包,以获取每个邻近节点和中心节点之间的第一通信时长;s202.令每个邻近节点向远亲节点集合中的同一个远亲节点发送第三探测数据包,以获取各邻近节点经远亲节点到中心节点的第二通信时长;s203.根据第一通信时长和第二通信时长分别计算中心节点对应的第一通信时间方差和第二通信时间方差;s204.根据第一通信时间方差和第二通信时间方差判断远亲节点是否为候选故障节点;s205.若是,则根据第一通信时间方差和第二通信时间方差计算候选故障节点对应的故障度,执行步骤s206;若否,直接执行步骤s206;s206.选取未被判断是否为候选故障节点的远亲节点作为远亲节点集合中的下一个远亲节点,重复执行步骤s201-步骤s205以判断远亲节点集合中的下一个远亲节点是否为候选故障节点,直到将远亲节点集合中的所有远亲节点判断完毕;s207.获取所有候选故障节点,以作为中心节点对应的故障节点集合。
38.步骤s201中,先让中心节点分别向所有邻近节点发送第二探测数据包,当邻近节点接收到第二探测数据包后,将响应数据包(以下称之为第二响应数据包)发给中心节点,中心节点记录下其与所有邻近节点的通信时长,记为第一通信时长集合,,代表个邻近节点里的第个邻近节点,表示邻近节点和中心节点间的第一通信时长;其中,邻近节点和中心节点间的第一通信时长为中心节点向邻近节点发送第二探测数据包至中心节点接收到邻近节点发回的第二响应数据包的时间间隔。
39.步骤s202中,先从远亲节点集合中随机选取一个远亲节点,代表()个远亲节点中的第个远亲节点,然后令所有邻近节点将第三探测数据包发给远亲节点
,每收到一个第三探测数据包后,远亲节点就会将一个响应数据包(以下称之为第三响应数据包)发给中心节点。中心节点记录下各邻近节点经远亲节点到中心节点的通信时长,记为第二通信时长集合,其中,,表示邻近节点经远亲节点到中心节点的第二通信时长;其中,邻近节点经远亲节点到中心节点的第二通信时长为邻近节点向远亲节点发送第三探测数据包至中心节点接收到远亲节点发回的第三响应数据包的时间间隔。
40.步骤s203中,分别计算第一通信时长集合的方差,即第一通信时间方差,记为;计算第二通信时长集合的方差,即第二通信时间方差,记为;其中,根据第一通信时长集合计算第一通信时间方差和根据第二通信时长集合计算第二通信时间方差的计算方式为现有技术。
41.步骤s204中,判断远亲节点是否为候选故障节点的判定公式如下:其中,为第一通信时间方差;为第二通信时间方差;为第一预设常数;为第二预设常数。
42.在实际应用中,若中心节点和所有邻近节点之间的通信链路的通信不稳定度低于默认阈值,即第一通信时间方差小于第二预设常数,且中心节点、所有邻近节点和远亲节点之间的通信链路的通信不稳定度高于另一默认阈值,即第二通信时间方差大于第一预设常数,则认为远亲节点潜在故障的可能。具体地,我们先求出由中心节点及其所有邻近节点组成的局部网络的统计通信时长的波动情况,其用第一通信时间方差表征;同样地,我们用第二通信时间方差来表征加入了远亲节点后,由所有邻近节
点、远亲节点和中心节点组成的扩展的局部网络的统计通信时长的波动情况。如果加入远亲节点后的波动情况明显加剧,则认为远亲节点潜在故障的可能。也就是说没加入远亲节点时,波动在一定的小范围以内(《),加入后波动超出一定的大范围(》),有极大的可能是由于远亲节点的工作状态不稳定(即发生故障)引起的。因此,若该远亲节点满足以上判定公式,则判定该远亲节点为候选故障节点;若该远亲节点不满足以上判定公式,则判定该远亲节点非候选故障节点。
43.另外,第二预设常数通常在实验室环境下,搭建明确无故障的网络并通过实验给出的参考值,即在实验室环境下模拟工厂拓扑,确保通信链路无故障时,通过多次实验给出该网络波动的方差,并求这些方差的平均值。一般情况下,我们会将设置得比平均值略小。
44.第一预设常数可通过以下两种方式获取:一种是类似第二预设常数一样搭建无故障网络,获取网络波动的正常值,并在该正常值基础上放大若干倍获得。另一种是在搭建的网络上,人为地给远亲节点制造故障,如短时间内对其发送大量网络请求,在其上运行计算量大、占用内存的程序等,获取此时的波动情况,再求平均值。
45.步骤s205中,若越大而越小,则认为远亲节点潜在故障的可能性越高,若该远亲节点为候选故障节点,则根据以下公式计算该候选故障节点对应的故障度:其中,为候选故障节点对应的故障度;为第一通信时间方差;为第二通信时间方差;为第三预设常数,且大于0。
46.步骤s206中,选取未被判断是否为候选故障节点的远亲节点作为远亲节点集合中的下一个远亲节点,重新执行步骤s201-步骤s205以判断远亲节点集合中下一个远亲节点是否为候选故障节点,直到将远亲节点集合中的所有远亲节点判断完毕。
47.步骤s207中,获取所有候选故障节点,并且获取所有候选故障节点对应的故障度,以作为中心节点对应的故障节点集合。
48.在进一步的实施方式中,步骤s3包括:s301.获取各个中心节点对应的故障节点集合的各候选故障节点的故障度;
s302.根据故障节点集合的各候选故障节点的故障度计算每个候选故障节点对应的平均故障度;s303.获取平均故障度高于第一预设阈值对应的候选故障节点,以作为潜在故障节点。
49.步骤s301中,由于在前面的步骤已经计算了各候选故障节点的故障度,在此不再赘述。
50.步骤s302中,根据以下公式计算各候选故障节点的平均故障度:其中,为第个候选故障节点的平均故障度,为第个候选故障节点在第个包含该第个候选故障节点的故障节点集合时对应的故障度,为包含第个候选故障节点的故障节点集合的个数。
51.假设有一候选故障节点a,分别出现在中心节点q的故障节点集合、中心节点w的故障节点集合和中心节点e的故障节点集合中,其中,候选故障节点a在中心节点q的故障节点集合时对应的故障度为s;候选故障节点a在中心节点w的故障节点集合时对应的故障度为d;候选故障节点a在中心节点e的故障节点集合时对应的故障度为f;可以看出,候选故障节点a作为候选故障节点的次数为3次,那么可以根据以下公式计算候选故障节点a对应的平均故障度:z=(s d f)/x其中,z为候选故障节点a对应的平均故障度;s为候选故障节点a在中心节点q的故障节点集合时对应的故障度;d为候选故障节点a在中心节点w的故障节点集合时对应的故障度;f为候选故障节点a在中心节点e的故障节点集合时对应的故障度;x为候选故障节点a作为不同中心节点的候选故障节点的次数。
52.通过这种方式,可以计算出每个候选故障节点对应的平均故障度。
53.步骤s303中,第一预设阈值可以根据实际情况进行设置。
54.通过这种方式,可以筛选出潜在故障节点,实现在线预测。
55.在一些优选的实施方式中,步骤s3之后包括:每隔第一预设时间段将每个节点对应的邻近节点集合、远亲节点集合和故障节点集合进行清空,并重新执行步骤s1-步骤s3。
56.其中,第一预设时间段可以根据实际需要进行设置。通过这种设置方式,可以使每个节点只需按照正确的时间间隔进行上述操作,则可在同一时间内快速达成潜在故障节点的全网共识,从而快速启动备用节点,使生产能无中断顺利进行。
57.由上可知,本技术的分布式故障节点预测方法,通过获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,
所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
58.请参照图2,图2是本技术一些实施方式中的分布式故障节点预测装置,用于对分布式系统的潜在故障节点进行预测,分布式系统包括多个以分布式的网络拓扑进行数据交换的节点;其中,分布式故障节点预测装置包括以下模块:第一获取模块201:用于获取每个节点对应的邻近节点集合和远亲节点集合;计算模块202:用于根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;第二获取模块203:用于根据每个节点对应的故障节点集合获取潜在故障节点。
59.在一些实施例中,第一获取模块201用于获取每个节点对应的邻近节点集合和远亲节点集合的时候,依次以各节点为中心节点,并执行以下步骤:s101.以中心节点以外的其余节点作为第一节点;s102.令中心节点向每个第一节点发送第一探测数据包,以获取每个第一节点和中心节点之间的数据往返时间;s103.重复执行步骤s102若干次,以计算每个第一节点和中心节点之间的平均数据往返时间;s104.根据每个第一节点对应的平均数据往返时间对第一节点进行升序排序;平均数据往返时间越短,第一节点的序号越靠前;s105.对排序完毕的所有第一节点进行划分,以获取中心节点的邻近节点集合和远亲节点集合。
60.具体的,可以预先给全网的所有节点设置一个默认的序号。例如,全网节点数量一共有n 1个(n为大于1的整数),则所有节点的序号分别为1、2、

、n 1。其中,令一个节点作为中心节点,。
61.步骤s101中,令第一节点为,第一节点集合为b,,,且,n为除中心节点以外的其余节点的数量。
62.步骤s102中,在时刻t,中心节点向第一节点集合b发送第一探测数据包,第一节点接收到第一探测数据包后,会向中心节点发送响应数据包(以下称之为第一响应数据包),通过这种方式,可以计算各个第一节点和中心节点之间的数据往返时间。即第一节点和中心节点之间的数据往返时间为中心节点向第一节点发送第一探测数据包至中心节点接收到该第一节点发回的第一响应数据包的时间间隔。
63.步骤s103中,重复执行步骤s102若干次,然后生成如下矩阵t:
其中,表示第一节点在第j次探测中与中心节点间的数据往返时间;,m为执行步骤s102的总次数;表示矩阵t为实数域r上的n行m列矩阵;n为除中心节点以外的其余节点的数量。
64.之后先剔除矩阵t中各行的最大值和最小值,然后根据以下公式计算第一节点和中心节点之间的平均数据往返时间:其中,为第一节点和中心节点之间的平均数据往返时间;为第一节点与中心节点之间的数据往返时间最大值;为第一节点与中心节点之间的数据往返时间最小值;m为执行步骤s102的总次数,m为大于等于3的整数。
65.步骤s105中,可以在基于平均数据往返时间排序完毕的n个第一节点中,按顺序依次选取前k个第一节点作为中心节点的邻近节点,记为邻近节点集合,,为个邻近节点中的第个邻近节点,记邻近节点与中心节点间的平均往返时间为。余下的n-k个第一节点作为中心节点的远亲节点,记为远亲节点集合,,为()个远亲节点中的第个远亲节点,记远亲节点与中心节点间的平均往返时间为。
66.通过这种方式,可以准确地获取邻近节点集合和远亲节点集合,提高了获取邻近节点集合和远亲节点集合的准确性。
67.在进一步的实施方式中,计算模块202在根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合的时候,执行以下步骤:s201.令中心节点向邻近节点集合中的每个邻近节点发送第二探测数据包,以获取每个邻近节点和中心节点之间的第一通信时长;s202.令每个邻近节点向远亲节点集合中的同一个远亲节点发送第三探测数据包,以获取各邻近节点经远亲节点到中心节点的第二通信时长;s203.根据第一通信时长和第二通信时长分别计算中心节点对应的第一通信时间
方差和第二通信时间方差;s204.根据第一通信时间方差和第二通信时间方差判断远亲节点是否为候选故障节点;s205.若是,则根据第一通信时间方差和第二通信时间方差计算候选故障节点对应的故障度,执行步骤s206;若否,直接执行步骤s206;s206.选取未被判断是否为候选故障节点的远亲节点作为远亲节点集合中的下一个远亲节点,重复执行步骤s201-步骤s205以判断远亲节点集合中的下一个远亲节点是否为候选故障节点,直到将远亲节点集合中的所有远亲节点判断完毕;s207.获取所有候选故障节点,以作为中心节点对应的故障节点集合。
68.步骤s201中,先让中心节点分别向所有邻近节点发送第二探测数据包,当邻近节点接收到第二探测数据包后,将响应数据包(以下称之为第二响应数据包)发给中心节点,中心节点记录下其与所有邻近节点的通信时长,记为第一通信时长集合,,代表个邻近节点里的第个邻近节点,表示邻近节点和中心节点间的第一通信时长;其中,邻近节点和中心节点间的第一通信时长为中心节点向邻近节点发送第二探测数据包至中心节点接收到邻近节点发回的第二响应数据包的时间间隔。
69.步骤s202中,先从远亲节点集合中随机选取一个远亲节点,代表()个远亲节点中的第个远亲节点,然后令所有邻近节点将第三探测数据包发给远亲节点,每收到一个第三探测数据包后,远亲节点就会将一个响应数据包(以下称之为第三响应数据包)发给中心节点。中心节点记录下各邻近节点经远亲节点到中心节点的通信时长,记为第二通信时长集合,其中,,表示邻近节点经远亲节点到中心节点的第二通信时长;其中,邻近节点经远亲节点到中心节点的第二通信时长为邻近节点向远亲节点发送第三探测数据包至中心节点接收到远亲节点发回的第三响应数据包的时间间隔。
70.步骤s203中,分别计算第一通信时长集合的方差,即第一通信时间方差,记为;计算第二通信时长集合的方差,即第二通信时间方差,记为
;其中,根据第一通信时长集合计算第一通信时间方差和根据第二通信时长集合计算第二通信时间方差的计算方式为现有技术。
71.步骤s204中,判断远亲节点是否为候选故障节点的判定公式如下:其中,为第一通信时间方差;为第二通信时间方差;为第一预设常数;为第二预设常数。
72.在实际应用中,若中心节点和所有邻近节点之间的通信链路的通信不稳定度低于默认阈值,即第一通信时间方差小于第二预设常数,且中心节点、所有邻近节点和远亲节点之间的通信链路的通信不稳定度高于另一默认阈值,即第二通信时间方差大于第一预设常数,则认为远亲节点潜在故障的可能。具体地,我们先求出由中心节点及其所有邻近节点组成的局部网络的统计通信时长的波动情况,其用第一通信时间方差表征;同样地,我们用第二通信时间方差来表征加入了远亲节点后,由所有邻近节点、远亲节点和中心节点组成的扩展的局部网络的统计通信时长的波动情况。如果加入远亲节点后的波动情况明显加剧,则认为远亲节点潜在故障的可能。也就是说没加入远亲节点时,波动在一定的小范围以内(《),加入后波动超出一定的大范围(》),有极大的可能是由于远亲节点的工作状态不稳定(即发生故障)引起的。因此,若该远亲节点满足以上判定公式,则判定该远亲节点为候选故障节点;若该远亲节点不满足以上判定公式,则判定该远亲节点非候选故障节点。
73.另外,第二预设常数通常在实验室环境下,搭建明确无故障的网络并通过实验给出的参考值,即在实验室环境下模拟工厂拓扑,确保通信链路无故障时,通过多次实验给出该网络波动的方差,并求这些方差的平均值。一般情况下,我们会将设置得比平均值略小。
74.第一预设常数可通过以下两种方式获取:
一种是类似第二预设常数一样搭建无故障网络,获取网络波动的正常值,并在该正常值基础上放大若干倍获得。另一种是在搭建的网络上,人为地给远亲节点制造故障,如短时间内对其发送大量网络请求,在其上运行计算量大、占用内存的程序等,获取此时的波动情况,再求平均值。
75.步骤s205中,若越大而越小,则认为远亲节点潜在故障的可能性越高,若该远亲节点为候选故障节点,则根据以下公式计算该候选故障节点对应的故障度:其中,为候选故障节点对应的故障度;为第一通信时间方差;为第二通信时间方差;为第三预设常数,且大于0。
76.步骤s206中,选取未被判断是否为候选故障节点的远亲节点作为远亲节点集合中的下一个远亲节点,重新执行步骤s201-步骤s205以判断远亲节点集合中下一个远亲节点是否为候选故障节点,直到将远亲节点集合中的所有远亲节点判断完毕。
77.步骤s207中,获取所有候选故障节点,并且获取所有候选故障节点对应的故障度,以作为中心节点对应的故障节点集合。
78.在进一步的实施方式中,第二获取模块203在根据每个节点对应的故障节点集合获取潜在故障节点的时候,执行以下步骤:s301.获取各个中心节点对应的故障节点集合的各候选故障节点的故障度;s302.根据故障节点集合的各候选故障节点的故障度计算每个候选故障节点对应的平均故障度;s303.获取平均故障度高于第一预设阈值对应的候选故障节点,以作为潜在故障节点。
79.步骤s301中,由于在前面的步骤已经计算了各候选故障节点的故障度,在此不再赘述。
80.步骤s302中,根据以下公式计算各候选故障节点的平均故障度:其中,为第个候选故障节点的平均故障度,为第个候选故障节点在第个包含该第个候选故障节点的故障节点集合时对应的故障度,为包含第个候
选故障节点的故障节点集合的个数。
81.假设有一候选故障节点a,分别出现在中心节点q的故障节点集合、中心节点w的故障节点集合和中心节点e的故障节点集合中,其中,候选故障节点a在中心节点q的故障节点集合时对应的故障度为s;候选故障节点a在中心节点w的故障节点集合时对应的故障度为d;候选故障节点a在中心节点e的故障节点集合时对应的故障度为f;可以看出,候选故障节点a作为候选故障节点的次数为3次,那么可以根据以下公式计算候选故障节点a对应的平均故障度:z=(s d f)/x其中,z为候选故障节点a对应的平均故障度;s为候选故障节点a在中心节点q的故障节点集合时对应的故障度;d为候选故障节点a在中心节点w的故障节点集合时对应的故障度;f为候选故障节点a在中心节点e的故障节点集合时对应的故障度;x为候选故障节点a作为不同中心节点的候选故障节点的次数。
82.通过这种方式,可以计算出每个候选故障节点对应的平均故障度。
83.步骤s303中,第一预设阈值可以根据实际情况进行设置。
84.通过这种方式,可以筛选出潜在故障节点,实现在线预测。
85.在一些优选的实施方式中,本技术的分布式故障节点预测装置还包括清除模块:用于每隔第一预设时间段将每个节点对应的邻近节点集合、远亲节点集合和故障节点集合进行清空,并使第一获取模块201重新获取每个节点对应的邻近节点集合和远亲节点集合,以及使计算模块202和第二获取模块203重新执行其功能操作。
86.其中,第一预设时间段可以根据实际需要进行设置。通过这种设置方式,可以使每个节点只需按照正确的时间间隔进行上述操作,则可在同一时间内快速达成潜在故障节点的全网共识,从而快速启动备用节点,使生产能无中断顺利进行。
87.由上可知,本技术的分布式故障节点预测装置,通过第一获取模块201获取每个节点对应的邻近节点集合和远亲节点集合;计算模块202根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;第二获取模块203根据每个节点对应的故障节点集合获取潜在故障节点。通过采用在线故障预测算法,所有节点可在正常工作的同时进行故障预测,而不需一个额外的离线训练过程;另外,算法的数值求解过程简单高效,关键算法步骤只需少量的运算即可,与常规机器学习算法区别明显,有效提高了预测结果的准确性。
88.请参照图3,图3为本技术实施方式提供的一种电子设备的结构示意图,本技术提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301计算机可读取指令,当电子设备运行时,处理器301执行该计算机可读取指令,以在执行时执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。
89.本技术实施方式提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:获取每个节点对应的邻近节点集合和远亲节点集合;根据邻近节点集合和远亲节点集合确定每个节点对应的故障节点集合;根据每个节点对应的故障节点集合获取潜在故障节点。其中,存储
介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable red-only memory, 简称prom),只读存储器(read-only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
90.在本技术所提供的实施方式中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
91.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
92.再者,在本技术各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
93.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
94.以上所述仅为本技术的实施方式而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献