排除多异构执行体共模错误的表决方法、装置及系统与流程

文档序号:18553249发布日期:2019-08-30 22:16阅读:203来源:国知局
排除多异构执行体共模错误的表决方法、装置及系统与流程

本发明涉及网络空间安全防护技术领域,特别是在多冗余的多异构执行体系统的场景下,涉及一种排除多异构执行体共模错误的表决方法、装置及系统,适用于工业应用中的软硬件实现。



背景技术:

模糊表决算法【1】(fuzzyvotingscheme)是一种基于模糊逻辑理论的适用于软硬件进行实现的表决算法,在工业等领域中应用广泛。模糊表决的主要思想就是使用语言变量(取模糊集为值)来表示表决输入对的距离,通过模糊逻辑实现由表决输入对距离到表决输入所占权值的非线性映射,解决了表决输入中的噪声影响以及用于判断输入是否一致的阈值选取不确定问题。

文献【1】提出的模糊表决算法基于mamdani模糊系统【2】,其解算过程主要分为三步:第一步是对表决输入对距离进行模糊化,得到不同输入对距离的语言变量的隶属度;第二步是根据模糊规则库中的模糊规则进行模糊推理,得到不同表决输入的一致度的隶属度;第三步是对一致度隶属度进行解模糊化处理,得到最终的输入权值。该算法的缺点在于没有考虑共模错误的影响,在多异构执行体系统的场景下,对于表决输入中相似的错误,最终表决结果会产生误差甚至是错误。

针对模糊表决算法的一些改进算法包括:

manhokim等人【3】在线控系统(x-by-wiresystem)场景下,使用模糊逻辑计算故障诊断中输入距离的阈值变化范围,由于该应用场景下,冗余数量有限,因而没有讨论共模错误的问题。

ondrejlinda等人【4】利用intervaltyoe-2型模糊集设计了模糊表决算法,在0的隶属度函数基础上提出了非对称的模糊策略,解决了执行体错误率随之间变换等因素造成参数不确定性,但是依然没有讨论共模错误的影响。

【1】latif-shabgahig,hirstaj.afuzzyvotingschemeforhardwareandsoftwarefaulttolerantsystems[j].fuzzysets&systems,2005,150(3):579-598.

【2】王立新.模糊系统与模糊控制教程[m].北京:清华大学出版社,2003.

【3】kimmh,lees,leekc.afuzzypredictiveredundancysystemforfault-toleranceofx-by-wiresystems.microprocessors&microsystems,2011,35(5):453-461.

【4】lindao,manicm.intervaltype-2fuzzyvoterdesignforfaulttolerantsystems[j].informationsciences,2011,181(14):2933-2950..



技术实现要素:

为了解决已有的模糊表决应用没有考虑在冗余数量较大的场景下,共模错误对系统最终输出的精度甚至是正确性的影响,这将影响使用模糊表决的软硬件的可靠性的问题,提出了一种排除多异构执行体共模错误的表决方法、装置及系统。

为了实现上述目的,本发明采用以下的技术方案:

本发明提供了一种排除多异构执行体共模错误的表决方法,包含以下步骤:

使用针对共模错误的模糊规则的表决算法;

若正确的表决输入数量小于总表决输入数量的1/2,将出现表决失败的情况,利用异构度信息进行二次表决。

进一步地,所述使用针对共模错误的模糊规则的表决算法包括:

对两两表决输入间的差的绝对值dij进行模糊化;

根据表决输入的冗余数,在dij的隶属度函数基础上设计针对共模错误的模糊规则;

解模糊化处理。

进一步地,所述对两两表决输入间的差的绝对值dij进行模糊化包括:

模糊化过程中dij被看作是一个语言变量,该变量含有三个元素,即{短距离,中等距离,长距离},选用梯形函数和三角函数作为隶属度函数,如公式(1)、(2)、(3)所示:

分别以p、q、r为模糊集中心的语言变量各元素被看作是不严格的输入一致性阈值,其中,p、q、r为人为设定的最符合特定语言变量元素特征的值。

进一步地,所述根据表决输入的冗余数,在dij的隶属度函数基础上设计模糊规则包括:

模糊规则实现了表决输入间的差的绝对值dij到一致度xi_agreeability的映射,其中一致度xi_agreeability定义为表决输入与其他输入的差异程度,语言变量xi_agreeability含有五个元素{非常高,高,中等,低,非常低},选用三角函数作为各个表决输入的一致度的隶属度函数,如公式(4)、(5)、(6)、(7)、(8)所示:

其中,参数0、u、v、w、1分别是语言变量xi_agreeability各元素的模糊集合中心,表示在[0,1]间最能代表不同元素的取值。

进一步地,所述设计针对共模错误的模糊规则是将符合共模错误特征的情况赋予“非常低”的一致度。

进一步地,所述解模糊化处理包括:

通过解模糊化处理将各个表决输入的一致度的隶属度值转化为确定的实值,所得到的实值即为各个表决输入的权值。

进一步地,所述利用异构度信息进行二次表决包括:

判断解模糊化处理得到的权值是否为全零;

若否,则按照权值分配正常输出;

若是,则根据语言变量dij中“长距离”的隶属度函数是否为零进行分组,将隶属度值为零的两个表决输入判别为一致,放入同一分组。

进一步地,在将隶属度值为零的两个表决输入判别为一致,放入同一分组之后,还包括:

判断达成一致的分组数是否大于1;

若否,只形成了一个分组,且该分组中的m’个表决输入的平均异构度大于阈值thre1,则对分组内的结果重新进行表决,得到安全性降级的表决输出;这里的平均异构度是指得到表决输入的执行体间异构度的平均值,如公式(9)所示:

其中,i、j表示两个不同的表决输入,为分组中表决输入对的总数。

若是,对多个分组的平均异构度进行排序,若最大的平均异构度与次最大的平均异构度的差值大于阈值thre2,则选择平均异构度最大的分组重新进行表决,得到安全性降级的表决输出。

若不符合上面两种任一的重新表决条件,则输出表决失败,同时向系统提交报告。

本发明还提供了一种排除多异构执行体共模错误的表决装置,包含:

表决算法选择模块,用于选择针对共模错误的模糊规则的表决算法;

二次表决模块,用于若正确的表决输入数量小于总表决输入数量的1/2,将出现表决失败的情况,利用异构度信息进行二次表决。

本发明还提供了一种排除多异构执行体共模错误的表决系统,包含:

输入代理器,用于选择相应的异构执行体响应外部服务请求;

异构执行体,用于将结果发送至表决装置;

表决装置,用于表决输出。

与现有技术相比,本发明具有以下优点:

1、本发明的排除多异构执行体共模错误的表决方法,考虑到共模错误的出现可能影响表决输出的精度甚至是正确性,设计了针对共模错误的模糊规则,使得在多冗余的情况下,即便出现少量的相同错误,也能尽量降低错误对于最终结果的影响,同时可以向系统报告异常的表决输入。

2、使用针对共模错误的模糊规则之后,若正确的表决输入数量无法占总表决输入数量m的多数(即小于m/2),将出现权值为全0的表决失败的情况,在多异构执行体系统中,利用异构度信息辅助进行二次表决可以解决上述问题,这里提到的异构度是指生成两个表决输入的执行体之间实现的差异,提高表决最终的效果。

本发明提出的一种排除多异构执行体共模错误的表决装置及系统,其有益效果与排除多异构执行体共模错误的表决方法的有益效果基本类似,此处不再赘述。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种排除多异构执行体共模错误的表决方法的流程示意图;

图2是本发明实施例的一种排除多异构执行体共模错误的表决装置的结构框图;

图3是本发明实施例的一种排除多异构执行体共模错误的表决系统的结构框图;

图4是本发明实施例的两两表决输入间的差的绝对值dij的隶属度函数曲线图;

图5是本发明实施例的一致度的隶属度函数的曲线图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

实施例一,如图1所示,为本发明实施例提供的一种排除多异构执行体共模错误的表决方法的流程示意图,该表决方法分为两个部分,一部分是使用针对共模错误的模糊规则的表决算法;另一部分是利用异构度信息进行二次表决,该方法具体包括以下步骤。

所述使用针对共模错误的模糊规则的表决算法具体过程为步骤s101至步骤s103:

步骤s101,对两两表决输入间的差的绝对值dij进行模糊化;如图4所示,模糊化过程中dij被看作是一个语言变量,该变量含有三个元素,即{短距离,中等距离,长距离},选用梯形函数和三角函数作为隶属度函数,如公式(1)、(2)、(3)所示:

分别以p、q、r为模糊集中心的语言变量各元素被看作是不严格的输入一致性阈值,其中,p、q、r为人为设定的最符合特定语言变量元素特征的值,取值需参照具体应用场景,并符合一定的直观性要求,例如可以参照多数一致表决中判定输入一致性的硬性阈值。

步骤s102,根据表决输入的冗余数,在dij的隶属度函数基础上设计针对共模错误的模糊规则;模糊规则实现了表决输入间的差的绝对值dij到一致度xi_agreeability的映射,其中一致度xi_agreeability定义为表决输入与其他输入的差异程度,如图5所示,语言变量xi_agreeability含有五个元素{非常高,高,中等,低,非常低},选用三角函数作为各个表决输入的一致度的隶属度函数,如公式(4)、(5)、(6)、(7)、(8)所示:

其中,参数0、u、v、w、1分别是语言变量xi_agreeability各元素的模糊集合中心,表示在[0,1]间最能代表不同元素的取值,也影响着最终一致度结果。

设计针对共模错误的模糊规则就是将符合共模错误特征的情况赋予“非常低”的一致度,以减少共模错误的影响。

步骤s103,通过解模糊化处理将步骤s102推理得到的各个表决输入的一致度的隶属度值转化为确定的实值,所得到的实值即为各个表决输入的权值。

所述利用异构度信息进行二次表决的具体过程为步骤s104至步骤s110:

步骤s104,判断解模糊化处理得到的权值是否为全零;若否,则跳转至步骤s105,若是,则跳转至步骤s106。

步骤s105,按照权值分配正常输出。

步骤s106,根据语言变量dij中“长距离”的隶属度函数是否为零进行分组,将隶属度值为零的两个表决输入判别为一致,放入同一分组,忽视无法与其他表决输入达成一致的单个表决输入。

步骤s107,判断达成一致的分组数是否大于1,若否,则转至步骤s108,若是,则转至步骤s109。

步骤s108,只形成了一个分组,且该分组中的m’个表决输入的平均异构度大于阈值thre1,则该分组的异构执行体有很大概率不是因为共模错误产生的相同表决输入,即可能是正确输入。这里的平均异构度是指得到表决输入的执行体间异构度的平均值,如公式(9)所示,对分组内的结果重新进行表决,得到安全性降级的表决输出。

其中,i、j表示两个不同的表决输入,为分组中表决输入对的总数。

步骤s109,形成了多个分组(即分组数大于1),即出现了多个达成一致的结果,可知在多异构执行体系统中,异构度大的执行体之间产生相同错误的概率更小,因而对多个分组的平均异构度进行排序,若最大的平均异构度与次最大的平均异构度的差值大于阈值thre2,则选择平均异构度最大的分组重新进行表决,得到安全性降级的表决输出。

步骤s110,若步骤s107中的异常情况不符合步骤s108和步骤s109的重新表决条件,则输出表决失败,同时向系统提交报告。

在一个具体实施例中,一种排除多异构执行体共模错误的表决方法,下面以表决输入[100,100,300,300,106]为例,其中100为异构执行体得到的正确表决输入,300为异构度较小的执行体的相同错误输入,106为受噪声影响较大的执行体得到的表决输入。具体步骤如下:

步骤s201,对于公式(1)、(2)、(3),初始化p=0.5,q=2,r=3。

步骤s202,对于公式(4)、(5)、(6)、(7)、(8),初始化u=0.25,v=0.5,w=0.75。

步骤s203,对于冗余度m=5的场景,本发明实例中将很大可能性出现共模错误的规则的一致度均改为“非常低”(即表1中灰色部分)。

表1m=5时针对共模错误的模糊规则

步骤s204,以表1中的模糊规则进行模糊表决计算,得到表决输入的权值为[0,0,0,0,0]。

步骤s205,根据语言变量dij中“长距离”的隶属度函数是否为零进行分组:得到分组[100,100]和[300,300]。

步骤s206,分别计算表决输入为100和300的执行体的平均异构度,同时对平均异构度进行排序,假定异构度的排序结果为[0.4,0.05]。

步骤s207,若异构度阈值小于0.35,则选择接受平均异构度为0.4的表决输入的分组,对该分组进行二次表决,得到的最终输出为正确结果100。

步骤s208,若异构度阈值不小于0.35,则选择拒绝所有的表决输入分组,最终的权值为[0,0,0,0,0],表决失败,同时向系统上报。

这里仅仅介绍了其中的一种情况,本发明方法涉及到的其他情况,根据达成一致的分组数量以及相应的异构度信息来进行表决。

分析与仿真实验可知,相比于原模糊表决算法(即背景技术中文献【1】的算法)以及单纯使用针对共模错误的模糊规则的表决算法,本发明表决方法的报告分配权值为全0的情况更少,得到的正确输出结果也更多。本方法可以在工业控制等场景中得到一定的应用。

如图2所示,本实施例还提供一种排除多异构执行体共模错误的表决装置20,包括表决算法选择模块21和二次表决模块22,所述表决算法选择模块21和二次表决模块22相连接;

表决算法选择模块21,用于选择针对共模错误的模糊规则的表决算法;

二次表决模块22,用于若正确的表决输入数量小于总表决输入数量的1/2,将出现表决失败的情况,利用异构度信息进行二次表决。

如图3所示,本实施例还提供一种排除多异构执行体共模错误的表决系统,包括输入代理器31、异构执行体32和表决装置20,所述输入代理器31依次顺序由与异构执行体32和表决装置20相连接;

输入代理器31,用于选择相应的异构执行体32响应外部服务请求;

异构执行体32,用于将结果发送至表决装置20;

表决装置20,用于表决输出。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1