异常控制发现方法、装置、电子设备及存储介质与流程

文档序号:23724870发布日期:2021-01-26 15:12阅读:65来源:国知局
异常控制发现方法、装置、电子设备及存储介质与流程

[0001]
本申请涉及控制技术领域,尤其涉及一种异常控制发现方法、装置、电子设备及存储介质。


背景技术:

[0002]
在工业控制系统技术领域,控制系统包括的各控制设备之间通过执行相应的控制逻辑程序完成相应的控制操作。其中,对于一确定的控制操作,通常每个控制设备都对应固定的控制状态以及控制顺序。
[0003]
在实际工况中,各控制设备之间通过交互数据源完成对应控制操作,因而可以通过交互数据源对控制系统中是否存在异常控制行为进行检测。然而,由于所交互的数据源往往存在不同数据长度,现有技术根据数据长度不同的数据源进行异常控制行为检测存在一些问题。
[0004]
例如,现有技术中根据数据源利用马尔科夫模型预测各控制设备之间的状态转换数据,以根据所预测到的状态转换数据检测控制系统是否发生了异常控制,但在预测状态转换数据过程中,由于马尔科夫模型占用的内存空间会呈现多项式级的增长,同时预测过程的计算时间也会指数级增长,而若是不同数据长度的数据源,则所占内存空间以及所花费的计算时间更是指数级别增长,从而导致冗余数据量较大,需要足够多的内存空间以供使用,进而造成异常行为检测成本过高以及检测过程复杂多变。


技术实现要素:

[0005]
本申请提供一种异常控制发现方法、装置、电子设备及存储介质,用于解决现有技术针对不同数据长度的数据源进行控制系统的异常控制行为检测时冗余数据量较大和数据计算过程较长,导致检测成本过高以及检测过程复杂多变的技术问题。
[0006]
第一方面,本申请提供一种异常控制发现方法,应用于工业控制系统,所述控制系统包括多个控制设备;所述方法包括:
[0007]
获取各控制设备之间的数据链接,并根据预设协议确定所述数据链接对应的数据源,所述数据链接用于表征所述数据源的传输状态;
[0008]
根据所述数据源对应的状态序列确定稀疏状态矩阵,并基于所述稀疏状态矩阵对所述状态序列中的各子序列进行更新迭代,以得到状态检测序列;
[0009]
确定所述控制设备之间的当前数据链接对应的当前数据源是否与所述状态检测序列相符,若确定结果为否,则所述控制系统存在异常控制行为。
[0010]
在一种可能的设计中,所述根据所述数据源对应的状态序列确定稀疏状态矩阵,包括:
[0011]
为所述数据源中每个数据包确定对应的状态标识,所述数据包用于表征每个控制设备各自对应的控制状态信息,所述数据包与所述状态标识具有唯一对应关系;
[0012]
根据所有状态标识确定所述状态序列,并为每个唯一的状态标识设置对应的整数
数值,以得到所述状态序列对应的整数数组;
[0013]
根据所述状态序列中不同状态标识的数量以及所述状态序列确定所述稀疏状态矩阵。
[0014]
在一种可能的设计中,所述根据所述状态序列中不同状态标识的数量以及所述状态序列确定所述稀疏状态矩阵,包括:
[0015]
确定所述状态序列中的所述不同状态标识的标识数量,将所述标识数量确定为所述稀疏状态矩阵的维度数;
[0016]
根据所述状态序列确定各子序列,并获取各子序列的序列数量,以将所述序列数量确定为所述稀疏状态矩阵中的对应元素,得到所述稀疏状态矩阵。
[0017]
在一种可能的设计中,所述基于所述稀疏状态矩阵对所述状态序列中的各子序列进行更新迭代,以得到状态检测序列,包括:
[0018]
根据所述稀疏状态矩阵确定各子序列的置信度,所述置信度用于表征所述控制设备之间的所述控制状态信息的转化概率;
[0019]
若所述置信度低于预设置信度阈值,则生成对应的候选检测序列;若所述置信度不低于所述预设置信度阈值,则生成对应的增量检测序列;
[0020]
根据预设时间周期内获取到的不同数据链接中的数据源对所述候选检测序列进行更新迭代,将更新迭代后的候选检测序列确定为所述状态检测序列,并存储所述状态检测序列对应的检测数组。
[0021]
在一种可能的设计中,所述根据预设时间周期内获取到的不同数据链接中的数据源对所述候选序列进行更新迭代,包括:
[0022]
获取所述预设时间周期内的所述不同数据链接,并根据所述预设协议确定所述不同数据链接中的数据源;
[0023]
根据所述不同数据链接中的数据源以及所述状态标识确定候选状态序列,并将所述候选状态序列与所述候选检测序列进行比较处理;
[0024]
若所述候选状态序列包括所述候选检测序列,则对所述候选状态序列进行分割,将分割后的所述候选状态序列确定为最新的候选检测序列,以得到更新迭代后的所述候选检测序列;
[0025]
若所述候选状态序列不包括所述候选检测序列,且与所述候选检测序列不一致,则将所述候选状态序列确定为最新的候选检测序列,以得到更新迭代后的所述候选检测序列;
[0026]
其中,直到对所述预设时间周期内所有的数据源都完成所述比较处理,结束所述更新迭代。
[0027]
在一种可能的设计中,所述确定所述控制设备之间的当前数据链接对应的当前数据源是否与所述状态检测序列相符,包括:
[0028]
根据所述当前数据源以及所述状态标识确定当前状态序列;
[0029]
根据所述当前状态序列以及所述整数数值确定当前整数数组;
[0030]
根据所述当前整数数组确定每个子数组,判断所有检测数组中是否包含有各子数组;
[0031]
若判断结果为否,则确定所述控制系统存在所述异常控制行为。
[0032]
在一种可能的设计中,所述根据预设协议确定所述数据链接对应的数据源,包括:
[0033]
通过读取所述预设协议的一个或多个字段确定所述数据链接对应的所述数据源,所述预设协议包括modbus协议、cip协议以及dnp3协议中的一种。
[0034]
在一种可能的设计中,本申请提供一种异常控制发现装置,包括:
[0035]
第一处理模块,用于获取各控制设备之间的数据链接,并根据预设协议确定所述数据链接对应的数据源,所述数据链接用于表征所述数据源的传输状态;
[0036]
第二处理模块,用于根据所述数据源对应的状态序列确定稀疏状态矩阵,并基于所述稀疏状态矩阵对所述状态序列中的各子序列进行更新迭代,以得到状态检测序列;
[0037]
第三处理模块,用于确定所述控制设备之间的当前数据链接对应的当前数据源是否与所述状态检测序列相符,若确定结果为否,则所述控制系统存在异常控制行为。
[0038]
在一种可能的设计中,所述第二处理模块,包括:
[0039]
第一确定单元,用于为所述数据源中每个数据包确定对应的状态标识,所述数据包用于表征每个控制设备各自对应的控制状态信息,所述数据包与所述状态标识具有唯一对应关系;
[0040]
第二确定单元,用于根据所有状态标识确定所述状态序列,并为每个唯一的状态标识设置对应的整数数值,以得到所述状态序列对应的整数数组;
[0041]
第三确定单元,用于根据所述状态序列中不同状态标识的数量以及所述状态序列确定所述稀疏状态矩阵。
[0042]
在一种可能的设计中,所述第三确定单元,具体用于:
[0043]
确定所述状态序列中的所述不同状态标识的标识数量,将所述标识数量确定为所述稀疏状态矩阵的维度数;
[0044]
根据所述状态序列确定各子序列,并获取各子序列的序列数量,以将所述序列数量确定为所述稀疏状态矩阵中的对应元素,得到所述稀疏状态矩阵。
[0045]
在一种可能的设计中,所述第二处理模块,还包括:
[0046]
置信度确定模块,用于根据所述稀疏状态矩阵确定各子序列的置信度,所述置信度用于表征所述控制设备之间的所述控制状态信息的转化概率;
[0047]
候选序列确定模块,用于若所述置信度低于预设置信度阈值,则生成对应的候选检测序列;若所述置信度不低于所述预设置信度阈值,则生成对应的增量检测序列;
[0048]
更新模块,用于根据预设时间周期内获取到的不同数据链接中的数据源对所述候选检测序列进行更新迭代,将更新迭代后的候选检测序列确定为所述状态检测序列,并存储所述状态检测序列对应的检测数组。
[0049]
在一种可能的设计中,所述更新模块,具体用于:
[0050]
获取所述预设时间周期内的所述不同数据链接,并根据所述预设协议确定所述不同数据链接中的数据源;
[0051]
根据所述不同数据链接中的数据源以及所述状态标识确定候选状态序列,并将所述候选状态序列与所述候选检测序列进行比较处理;
[0052]
若所述候选状态序列包括所述候选检测序列,则对所述候选状态序列进行分割,将分割后的所述候选状态序列确定为最新的候选检测序列,以得到更新迭代后的所述候选检测序列;
[0053]
若所述候选状态序列不包括所述候选检测序列,且与所述候选检测序列不一致,则将所述候选状态序列确定为最新的候选检测序列,以得到更新迭代后的所述候选检测序列;
[0054]
其中,直到对所述预设时间周期内所有的数据源都完成所述比较处理,结束所述更新迭代。
[0055]
在一种可能的设计中,第三处理模块,用于:
[0056]
根据所述当前数据源以及所述状态标识确定当前状态序列;
[0057]
根据所述当前状态序列以及所述整数数值确定当前整数数组;
[0058]
根据所述当前整数数组确定每个子数组,判断所有检测数组中是否包含有各子数组;
[0059]
若判断结果为否,则确定所述控制系统存在所述异常控制行为。
[0060]
在一种可能的设计中,所述第一处理模块,具体用于:
[0061]
通过读取所述预设协议的一个或多个字段确定所述数据链接对应的所述数据源,所述预设协议包括modbus协议、cip协议以及dnp3协议中的一种。
[0062]
第三方面,本申请提供一种电子设备,包括:
[0063]
至少一个处理器;以及
[0064]
与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被所述至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面及第一方面的可选方案涉及的任一项所述的异常控制发现方法。
[0065]
第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面及第一方面的可选方案涉及的任一项所述的异常控制发现方法。
[0066]
本申请提供一种异常控制发现方法、装置、电子设备及存储介质。本申请提供的异常控制发现方法应用于工业控制系统,该控制系统包括多个控制设备。首先获取各控制设备之间的数据链接,然后通过预设协议确定数据链接对应的数据源,其中,数据链接可以表征数据源的传输状态。进而根据数据源对应的状态序列确定稀疏状态矩阵,并基于稀疏状态矩阵对状态序列中的各子序列进行更新迭代,以得到状态检测序列,其中,状态序列用于唯一表征传输状态。最后确定控制设备之间的当前数据链接对应的当前数据源是否与状态检测序列相符,若不相符,则确定控制系统存在异常控制行为。无需考虑数据源的数据长度,通过不断的更新迭代确定数据源对应的状态检测序列,使得过程中产生的数据量较少以及所需的内存空间极小,处理过程效率较高,有效降低了控制系统中对于异常控制发现的成本,并且具有较强的可实现性。
附图说明
[0067]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0068]
图1为本申请实施例提供的一种应用场景示意图;
[0069]
图2为本申请实施例提供的一种异常控制发现方法的流程示意图;
[0070]
图3为本申请实施例提供的一种确定稀疏状态矩阵的流程示意图;
[0071]
图4为本申请实施例提供的另一种异常控制发现方法的流程示意图;
[0072]
图5为本申请实施例提供的再一种异常控制发现方法的流程示意图;
[0073]
图6为本申请实施例提供的又一种异常控制发现方法的流程示意图;
[0074]
图7为本申请实施例提供的一种异常控制发现装置的结构示意图;
[0075]
图8为本申请实施例提供的另一种异常控制发现装置的结构示意图;
[0076]
图9为本申请实施例提供的再一种异常控制发现装置的结构示意图;
[0077]
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0078]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
[0079]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0080]
对于工业控制系统而言,通常各控制设备有对应有固定的控制状态以及控制顺序,换言之,针对一明确的控制操作,各控制设备的控制状态内容以及控制流程顺序均为固定的。而各控制设备之间是通过交互数据源以完成对应控制操作,具体地,数据源包括有所有控制设备各自对应的表征其控制状态的数据包,对于一控制操作而言,数据源中数据包的顺序表征了控制设备之间的控制流程顺序。因而根据数据源中数据包可以检测控制系统中是否存在异常控制行为。由于数据源的数据长度往往不同,现有技术中,根据不同数据长度的数据源进行异常控制行为检测存在一些问题。例如,现有技术中利用马尔科夫模型根据数据源预测控制设备之间的状态转换数据,以对异常控制行为进行检测,但在预测状态转换数据的过程中,马尔科夫模型占用的内存空间会呈现多项式级的增长,并且预测过程中的计算时长也会指数级增长,而当数据源的数据长度不同时,现有解决方案中所占用的内存空间以及计算时长则会更加指数级增长,导致冗余数据量较大,需要足够多的内存空间以供使用,进而造成异常控制检测成本过高以及检测过程复杂多变。
[0081]
针对现有技术中的上述问题,本申请实施例提供的异常控制发现方法、装置、电子设备及存储介质。本申请提供的异常控制发现方法,在获取了各控制设备之间的数据链接,并根据预设协议确定数据链接对应的数据源后,根据数据源对应的状态序列确定稀疏状态矩阵,基于稀疏状态矩阵对状态检测序列中的各子序列进行更新迭代,得到状态检测序列,将状态检测序列用于异常控制的发现。其中,数据链接表征数据源的传输状态,而状态序列
可以唯一表征该传输状态,因而,在确定状态检测序列过程中,可以将每个无需考虑数据长度的数据源都通过对应的状态序列进行代替,进一步对状态序列进行更新迭代得到状态检测序列,从而极大程度的降低了过程中所要处理的数据量以及所需的内存空间,并且有效提高了处理效率,进而有效降低了控制系统中异常控制发现的成本。另外,无需针对不同数据长度的数据源设置对应的数据处理通道,而是通过更新迭代重复使用,使得本申请实施例提供的异常控制发现具有较强的可实现性。
[0082]
以下,对本申请实施例的示例性应用场景进行介绍。
[0083]
本申请实施例提供的异常控制发现方法应用于工业控制系统,工业控制系统包括多个控制设备,该多个控制设备协同作用完成整个相应的控制操作,其中控制设备的数量可以根据具体的控制操作的具体内容进行设置,对此本实施例不作限定。控制系统可以通过组态软件和控制器对各控制设备实现控制,例如,组态软件负责生成相应的软件程序,控制器负责执行软件程序实现控制功能。本申请实施例提供的异常控制发现方法可以通过本申请实施例提供的异常控制发现装置执行,本申请实施例提供的异常控制发现装置所对应的电子设备可以为控制系统中的控制器。图1为本申请实施例提供的一种应用场景示意图,如图1所示,本申请实施例提供的异常控制方法应用于控制系统11中,控制系统11包括有控制器12以及多个控制设备,各控制设备之间可以通过网络实现通信,以协同完成控制操作。控制器12执行本申请实施例提供的异常控制发现方法,以实现对控制系统11中异常控制的发现。值得说明的是,本申请实施例对于控制系统11中控制器12的具体类型不作限制,其可以是服务器或服务器集群。
[0084]
需要说明的是,上述应用场景仅仅是示意性的,本申请实施例提供的异常控制发现方法、装置、电子设备及存储介质包括但不仅限于上述应用场景。
[0085]
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0086]
图2为本申请实施例提供的一种异常控制发现方法的流程示意图,如图2所示,本实施例提供的异常控制发现方法,包括:
[0087]
s101:获取各控制设备之间的数据链接,并根据预设协议确定数据链接对应的数据源。
[0088]
其中,数据链接用于表征数据源的传输状态。
[0089]
对于一套完整的控制操作,控制系统中的各控制设备通过数据链接向控制器反馈各自的控制状态,以使控制器获知控制系统中的控制流程是否正确。其中,每条数据链接由控制设备根据各自对应的服务器ip、服务器端口和客户端ip组成,当各控制设备进行重启时,客户端ip可能会发生随机变化,为了明确表征各控制设备的控制状态,数据链接中包括有客户端ip。在获取到各控制设备之间的数据链接之后,需要根据预设协议确定数据链接对应的数据源,其中,各控制设备在协同完成控制操作时,是通过数据源进行交互得以实现,而数据链接用于表征数据源的传输状态,即各控制设备在实现控制功能的时候在各自的服务器和客户端之间是如何进行的。因而,在获取到数据链接之后,为了得到各控制设备实际的控制情况,需根据预设协议解析数据链接,以得的对应的数据源。
[0090]
例如,可以通过读取预设协议的一个或多个字段确定数据链接对应的数据源,其
中,预设协议包括modbus协议、cip协议以及dnp3协议中的一种。控制系统根据各自不同的控制功能选用对应的预设协议,例如modbus协议、cip协议以及dnp3协议中的任意一种,对此,本实施例不作限定。可以理解的是,通过读取对应预设协议中的一个或多个字段对数据链接进行解析,以得到其对应的数据源。
[0091]
s102:根据数据源对应的状态序列确定稀疏状态矩阵,并基于稀疏状态矩阵对状态序列中的各子序列进行更新迭代,以得到状态检测序列。
[0092]
在确定了数据链接对应的数据源之后,首先根据数据源对应的状态序列确定稀疏状态矩阵。在控制系统中,对于一套控制操作,各控制设备通常为固定的控制功能,因而,为了极大程度减少处理过程中的数据量,可以采用状态序列表征数据源,对于不同数据长度的数据源而言,仅是状态序列的长度发生了变化,数据结构并未发生变化。并且,数据源与状态序列具有一一对应关系,换言之,状态序列可以唯一表征数据源的传输状态。在引入状态序列的基础上,根据状态序列确定数据源对应的这一条数据源的稀疏状态矩阵,以通过计数的方式简化数据处理流程。进一步地,基于稀疏状态矩阵对状态序列中的各子序列进行更新迭代,得到用于异常控制行为发现的状态检测序列。其中,将状态序列分割为多个子序列,通过对各子序列的不断更新迭代,得到表征尽可能多控制流程顺序的状态检测序列,所有的状态检测序列仅是数据长度不同,但数据结构相同,并且能够重复使用,从而将状态检测序列用于异常控制行为发现时有效提高了数据处理效率。
[0093]
s103:确定控制设备之间的当前数据链接对应的当前数据源是否与状态检测序列相符。
[0094]
在确定了状态检测序列之后,由于状态检测序列是根据控制设备已完成的控制操作所产生的数据源确定出的未存在异常控制时,各控制设备正常的控制状态信息以及正常的控制流程顺序,因此,可以通过状态检测序列判断控制系统中是否存在异常控制行为。具体地,可以通过判断控制设备之间的当前数据链接所对应的当前数据源与状态检测序列是否相符,若相符,即控制系统控制行为正常,未发现异常控制,若不相符,则控制系统存在异常控制行为,发现异常控制。换言之,根据判断结果确定控制系统是否存在异常控制行为,如确定结果为否,即当前数据源与状态检测序列不相符,则如步骤s104所示,表明控制系统存在异常控制行为。相反地,如确定结果为是,当前数据源与状态检测序列相符,则如步骤s105所示,表明控制系统运行正常,未发现异常控制行为。
[0095]
s104:则控制系统存在异常控制行为,即发现异常控制。
[0096]
s105:则控制系统运行正常,未发现异常控制行为。
[0097]
本申请实施例提供的异常控制发现方法,首先获取各控制设备之间的数据链接,并根据预设协议确定数据链接对应的数据源。然后根据数据源对应的状态序列确定稀疏状态矩阵,并基于稀疏状态矩阵对状态检测序列中的各子序列进行更新迭代,得到状态检测序列。最后将状态检测序列用于异常控制的发现,若确定控制设备之间的当前数据链接对应的当前数据源与状态检测序列不相符,则控制系统存在异常控制行为,即发现异常控制。相反,若相符,则控制系统运行正常,未发现异常控制。其中,数据链接表征数据源的传输状态,而状态序列可以唯一表征该传输状态,因而,在确定状态检测序列过程中,可以无需考虑数据长度的数据源将其都通过对应的状态序列进行代替,进一步对状态序列进行更新迭代得到状态检测序列,从而极大程度的降低了过程中所要处理的数据量以及所需的内存空
间,并且有效提高了处理效率,进而有效降低了控制系统中异常控制发现的成本。另外,无需针对不同数据长度的数据源设置对应的数据处理通道,而是由于数据结构相同,则可以重复使用状态检测序列,使得本申请实施例提供的异常控制发现具有较强的可实现性。
[0098]
在一种可能的设计中,本步骤s102中根据数据源对应的状态序列确定稀疏状态矩阵可能的实现方式如图3所示,图3为本申请实施例提供的一种确定稀疏状态矩阵的流程示意图,如图3所示,本实施例提供的异常控制发现方法中根据数据源对应的状态序列确定稀疏状态矩阵,包括:
[0099]
s201:为数据源中每个数据包确定对应的状态标识。
[0100]
其中,数据包用于表征每个控制设备各自对应的控制状态信息,数据包与状态标识具有唯一对应关系。
[0101]
对于一套控制操作而言,各控制设备分别对应有各自的数据包,控制系统中的控制器可以利用网络嗅探软件接收所有控制设备根据控制流程上报的数据包,上报的数据包组成一条数据源。数据源中各数据包的顺序指示控制流程顺序,因而,可以采用状态序列唯一表征一条数据源。数据源中包括各数据包,数据包表征每个控制设备各自对应的控制状态信息,而对于控制状态信息的具体内容由控制操作决定,本实施例不作限定。为每个唯一的数据包指定唯一对应的状态标识,即数据包与状态标识具有唯一对应关系,从而一条数据源中的所有数据包对应的状态标识形成一状态序列。具体地,为数据源中每个数据包确定对应的状态标识,即是为数据包赋予一状态标识,相同的数据包即为相同的状态标识,不同的数据包即为不同的状态标识。例如数据包一为“a”,与数据包一不同的数据包二为“b”,而若数据包三与数据包一相同,则数据包三的状态标识也为“a”。
[0102]
s202:根据状态标识确定状态序列,并为每个唯一的状态标识设置对应的整数数值,以得到状态序列对应的整数数组。
[0103]
为每个数据包确定了状态标识之后,数据源中所有数据包的状态标识确定了状态序列,从而完成根据状态标识确定状态序列。确定的一条状态序列可以为“abcbaacbba”,通过该条状态序列代替数据长度为10的数据源,而若数据源的数据长度发生变化,即状态序列长度发生了变化,仍然可以通过对应的状态序列进行代替,可见数据结构并不发生变化。进一步地,为每个唯一的状态标识设备对应的整数数值,以使控制器对其进行识别,从而可以将一条状态序列转化为对应的整数数组,以供控制器进行查询、读取等操作。例如,为状态标识“a”设置“0”为其对应的整数数值,为状态标识“b”设置“1”为其对应的整数数值,为状态标识“c”设置“2”为其对应的整数数值,进而,可以得到上述状态序列“abcbaacbba”对应的整数数组为“0,1,2,1,0,0,2,1,1,0”,从而将数据源转换为整数数组,以供控制器进行相应处理。
[0104]
s203:根据状态序列中不同状态标识的数量以及状态序列确定稀疏状态矩阵。
[0105]
稀疏状态矩阵是可以通过计数的方式表征状态标识之间的转换,而在一条状态序列中,状态标识之间的转换则能够反映控制流程顺序。稀疏状态矩阵为n
×
n维的方阵,每一条状态序列,可以依据其中不同状态标识的数量都能够确定与其唯一对应的稀疏状态矩阵。
[0106]
例如,首先确定状态序列中不同状态标识的标识数量,将所确定的标识数量确定为稀疏状态矩阵的维度数,假设状态序列为“abcbaacbba”,该条状态序列中不同状态标识
为“a”、“b”和“c”三种,因而标识数量为3,即这条状态序列对应的稀疏状态矩阵为一3
×
3的方阵,维度数为3,分别为第a行、第b行、第c行共3行,第a列、第b列、第c列共3列。然后根据状态序列确定各子序列,并获取各子序列的序列数量,将序列数量确定为稀疏状态矩阵中的对应元素,从而得到稀疏状态矩阵。第a行第a列上的元素即为状态序列中子序列“aa”的序列数量,即1,依次类推,确定出该3
×
3方阵中的各元素,以得到对应的稀疏状态矩阵如下矩阵实例所示:
[0107]
a

b

c
[0108]
a
→1→1→1[0109]
b
→2→1→1[0110]
c
→-→2→-
[0111]
通过稀疏状态矩阵可以直接获知状态序列中各子序列分别有哪些,以及各子序列的序列数量。
[0112]
本实施例提供的异常控制发现方法,根据数据源对应的状态序列确定稀疏状态矩阵时,首先为数据源中每个数据包确定对应的状态标识,然后根据状态标识确定状态序列,以将数据源转换为状态序列进行表示,进一步地,还为每个唯一的状态标识设置对应的整数数值,以通过整数数组表示状态序列。最后根据状态序列中不同状态标识的数量以及状态序列自身确定稀疏状态矩阵。从而通过引入状态序列进而利用稀疏状态矩阵表示数据源所表征的控制设备的传输状态,极大程度的降低了数据量,由于数据结构相同并能重复利用,无需考虑数据源的不同数据长度。
[0113]
在确定了稀疏状态矩阵之后,进一步地,基于稀疏状态矩阵对状态序列中的各子序列进行更新迭代,以得到状态检测序列。在一种可能的设计中,步骤s102中得到状态检测序列的一种可能实现方式如图4所示,图4为本申请实施例提供的另一种异常控制发现方法的流程示意图,如图4所示,本实施例提供的异常控制发现方法中得到状态检测序列,包括:
[0114]
s301:根据稀疏状态矩阵确定各子序列的置信度。
[0115]
其中,置信度用于表征控制设备之间的控制状态信息的转化概率。
[0116]
在确定了稀疏状态矩阵之后,依次根据稀疏状态矩阵确定状态序列包括的各子序列的置信度,其中,置信度的计算如下公式所示:
[0117][0118]
以上述实施例中的状态序列中的子序列“ab”为例,其中“i”为“a”,“j”为“b”,则从对应的稀疏状态矩阵,即矩阵实例可以得出,从“a”起始的状态转换总次数为3,而从“a”到“b”的状态转换次数为1,则子序列“ab”的置信度为1/3,或是33%。相应地,根据稀疏状态矩阵可以确定状态序列中各子序列的置信度。通过置信度可以预测子序列中前状态标识转化为后状态标识的转化概率,例如子序列“ab”,其置信度33%,即控制设备的控制状态信息对应的状态标识为“a”时,通过其对应的置信度则可以预测下一个控制状态信息对应的状态标识为“b”的概率为33%。从而,通过置信度的存在可以预测状态标识的转化概率。
[0119]
s302:若置信度低于预设置信度阈值,则生成对应的候选检测序列;若置信度不低于预设置信度阈值,则生成对应的增量检测序列。
[0120]
对于一状态序列,在得到各子序列的置信度之后,通过将各子序列的置信度与预设置信度阈值进行比较,以对各子序列进行筛选。对于置信度低于预设置信度的子序列,将该子序列确定为候选检测序列,即生成对应的候选检测序列。而对于置信度不低于预设置信度阈值,生成对应的增量检测序列。具体地,遍历状态序列中的各子序列的置信度,若低于预设置信度,则根据该子序列生成相应的候选检测序列,否则,则继续遍历查找。对于置信度不低于预设置信度阈值的子序列,直接将子序列确定为增量检测序列,即生成对应的增量检测序列。
[0121]
其中,预设置信度对应的具体数值可以根据控制系统中相应的控制功能以及控制流程顺序进行设置,对此,本申请实施例不作限定。由于数据源的数据长度可能不同,即状态序列的长度可能的不同,而各子序列的置信度取决于对应的状态序列,因而较高的预设置信度阈值有利于得到长度更短的候选检测序列,而较低的预设置信度阈值有利于得到增量检测序列。
[0122]
s303:根据预设时间周期内获取到的不同数据链接中的数据源对候选检测序列进行更新迭代,将更新迭代后的候选检测序列以及增量检测序列确定为状态检测序列,并存储状态检测序列对应的检测数组。
[0123]
在得到候选检测序列之后,对候选检测序列进行更新迭代,将更新迭代后的候选检测序列以及增量检测序列确定为状态检测序列,进而根据状态标识对应的整数数值,得到状态检测序列所对应的检测数组,并将检测数组存储至序列库,以供控制器查询用于异常控制发现的判断。
[0124]
其中,对候选检测序列进行的更新迭代,是根据预设时间周期内获取到的不同数据链接中的数据源进行,以丰富序列库中的状态检测序列对应的检测数组。可以理解的是,预设时间周期对应的时长可以根据控制系统的控制功能以及相关条件进行设置,对此,本申请实施例不作限定。
[0125]
在一种可能的设计中,步骤s303中对候选检测序列进行更新迭代可能的实现方式如图5所示,图5为本申请实施例提供的再一种异常控制发现方法的流程示意图,如图5所示,本实施例提供的异常控制发现方法中对候选检测序列进行更新迭代,包括:
[0126]
s401:获取预设时间周期内的不同数据链接,并根据预设协议确定不同数据链接中的数据源。
[0127]
首先确定预设时间周期,然后获取该预设时间周期内的不同数据链接,其中,获取不同数据链接的目的为丰富后续所要确定的状态检测序列。获取不同数据链接,可以理解为在预设时间周期内获取多种并非完全相同的数据链接,但所获取的不同数据链接的数据结构仍然相同。在获取了不同数据链接之后,采用与步骤s101相类似的方式,通过预设协议确定不同数据链接中的数据源,以获取到各种不同的数据源,具体实现过程及原理在此不再赘述。
[0128]
s402:根据不同数据链接中的数据源以及状态标识确定候选状态序列,并将候选状态序列与候选检测序列进行比较处理。
[0129]
在获取到不同数据链接中的数据源之后,利用上述实施例中数据包所确定的状态标识确定不同数据链接中的数据源所对应的状态序列,并确定该状态序列中的各子序列,将所确定的各子序列确定为不同数据源对应的候选状态序列。其中,可以理解的是,若状态
标识无法满足该不同数据源中的数据包,则可以增加新的状态标识,以确定这些数据源所对应的状态序列,从而得到候选状态序列。
[0130]
在得到候选状态序列之后,将候选状态序列与候选检测序列进行比较处理,以确定两者是否一致,或者是否存在包括的情况,例如候选状态序列为“abc”,候选检测序列为“ab”,则表明候选状态序列包括候选检测序列。当候选状态序列包括候选检测序列,则执行步骤s403,若候选状态序列不包括状态检测序列,且与状态检测序列不一致,则执行步骤s403。
[0131]
s403:若候选状态序列包括候选检测序列,则对候选状态序列进行分割,将分割后的候选状态序列确定为最新的候选检测序列,以得到更新迭代后的候选检测序列。
[0132]
若候选状态序列包括候选检测序列,则对候选状态序列进行分割,通过分割后的候选状态序列代替之前的候选状态序列,将分割后的候选状态序列确定为最新的候选检测序列,得到更新迭代后的候选检测序列。
[0133]
举例进行说明,例如,候选状态序列为“abcd”,候选检测序列为“abc”,则表明候选状态序列包括有候选检测序列,则将候选状态序列“abcd”分割为“abc”和“cd”,将“abc”和“cd”确定为一最新的候选检测序列,使得候选检测序列“abc”更新迭代至“abc”和“cd”。
[0134]
s404:若候选状态序列不包括候选检测序列,且与候选检测序列不一致,则将候选状态序列确定为最新的候选检测序列,以得到更新迭代后的候选检测序列。
[0135]
例如,候选状态序列为“abc”,候选检测序列为“ce”,则表明候选状态序列不包括候选检测序列,且候选状态序列与候选检测序列不一致,则将候选状态序列“abc”确定为最新的候选检测序列,候选检测序列由“ce”更新迭代为“abc”和“ce”,得到更新迭代后的候选检测序列。
[0136]
可以理解的是,当候选状态序列与候选检测序列一致时,则对候选检测序列不进行更新迭代。
[0137]
其中,直到对预设时间周期内所有的数据源都完成候选状态序列与候选检测序列的比较处理,则结束更新迭代,从而将更新迭代后的候选检测序列以及增量检测序列都确定为状态检测序列,并将所确定的状态检测序列对应的检测数组存储至序列库。
[0138]
本实施例提供的异常控制发现方法,首先根据稀疏状态矩阵确定各子序列的置信度,若置信度地域预设置信度阈值的子序列,生成对应的候选检测序列,若置信度不低于预设置信度阈值的子序列,则生成对应的增量检测序列。然后根据预设时间周期内获取到的不同数据链接中的数据源对候选检测序列进行更新迭代,将更新迭代后的候选检测序列以及增量检测序列确定为状态检测序列。而更新迭代的处理方式,是将根据不同数据源所确定的候选状态序列与候选检测序列进行比较处理,实现对候选检测序列的更新迭代,并将更新迭代后的候选检测序列和增量检测序列确定为状态检测序列,将状态检测序列对应的检测数组存储至序列库,以供控制器查询用于确定异常控制。由于更新迭代过程中,候选状态序列与候选检测序列的数据结构相同,仅需仅需比较处理即可实现更新迭代,极大程度的降低了过程中所要处理的数据量。并且,对于已完成更新迭代的数据源,则可以将其删除,而不占用内存空间,尽管数据源的数据量不相同,但内存空间无需进行扩充,从而降低了数据处理过程中所需的内存空间,提高了处理效率,进而有效降低了控制系统中异常控制发现的成本。
[0139]
在确定了状态检测序列之后,将状态检测序列用于控制系统的异常控制发现。在一种可能的设计中,步骤s103中确定控制设备之间的当前数据链接对应的当前数据源是否与状态检测序列相符可能的实现方式如图6所示。图6为本申请实施例提供的又一种异常控制发现方法的流程示意图,如图6所示,本实施例包括:
[0140]
s501:根据当前数据源以及状态标识确定当前状态序列;
[0141]
s502:根据当前状态序列以及整数数值确定当前整数数组;
[0142]
s503:根据当前整数数组确定每个子数组,判断所有检测数组中是否包含有各子数组;
[0143]
s504:若判断结果为否,则确定控制系统存在异常控制行为;
[0144]
s505:若判断结果为是,则确定控制系统运行正常,未发现异常控制行为。
[0145]
步骤s501和步骤s502中确定当前状态序列以及当前整数数组的实现方式与上述实施例中确定状态序列以及状态序列对应的整数数组的方式相类似,在此不再赘述。
[0146]
在确定了当前数据源对应的当前整数数组之后,进一步根据当前整数数组确定每个子数组。其中,确定子数组可以理解为确定当前状态序列中各子序列对应的整数数组。在得到当前整数数组中的每个子数组之后,在所有检测数组中判断其中是否包含有各子数组,从而根据判断结果确定是否存在异常控制。若判断结果为是,即包含,则表明当前数据源与状态检测序列相符,进而确定控制系统运行正常,未发现异常控制。相反,若判断结果为否,即所有检测数组中不包含有各子数组,则表明当前数据源与状态检测序列不相符,进而确定控制系统存在异常控制行为,发现异常控制。
[0147]
进一步地,在发现异常控制之后,还可以生成告警提示,以表征控制系统当前存在异常控制。
[0148]
本实施例提供的异常控制发现方法,在确定控制设备之间的当前数据链接对应的当前数据源是否与状态检测序列相符时,首先根据当前数据源以及状态标识确定当前状态序列,进而根据当前状态序列以及正式数值确定当前整数数组,然后根据当前整数数组确定每个子数组,再判断检测检测数组中是否包含有各子数组,若包含,则未发现异常控制,若不包含,则确定控制系统存在异常控制行为。从而基于状态检测序列实现对控制系统的异常控制发现。在状态检测序列极大程度的降低了需要处理的数据量以及所需的内存空间,有效提高了处理效率,进而有效降低了控制系统中异常控制发现的成本。另外,无需针对不同数据长度的数据源设置对应的数据处理通道,而是由于数据结构相同,则可以重复使用状态检测序列,使得本申请实施例提供的异常控制发现具有较强的可实现性。
[0149]
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0150]
图7为本申请实施例提供的一种异常控制发现装置的结构示意图,如图7所示,本实施例提供的异常控制发现装置600,包括:
[0151]
第一处理模块601,用于获取各控制设备之间的数据链接,并根据预设协议确定数据链接对应的数据源,其中,数据链接用于表征数据源的传输状态;
[0152]
第二处理模块602,用于根据数据源对应的状态序列确定稀疏状态矩阵,并基于稀疏状态矩阵对状态序列中的各子序列进行更新迭代,以得到状态检测序列;
[0153]
第三处理模块603,用于确定控制设备之间的当前数据链接对应的当前数据源是
否与状态检测序列相符,若确定结果为否,则控制系统存在异常控制行为。
[0154]
在一种可能的设计中,第一处理模块601,具体用于:
[0155]
通过读取预设协议的一个或多个字段确定数据链接对应的数据源,预设协议包括modbus协议、cip协议以及dnp3协议中的一种。
[0156]
图8为本申请实施例提供的另一种异常控制发现装置的结构示意图,如图8所示,本实施例提供的异常控制发现装置600的第二处理模块602,包括:
[0157]
第一确定单元6021,用于为数据源中每个数据包确定对应的状态标识,数据包用于表征每个控制设备各自对应的控制状态信息,数据包与状态标识具有唯一对应关系;
[0158]
第二确定单元6022,用于根据状态标识确定状态序列,并为每个唯一的状态标识设置对应的整数数值,以得到状态序列对应的整数数组;
[0159]
第三确定单元6023,用于根据状态序列中不同状态标识的数量以及状态序列确定稀疏状态矩阵。
[0160]
在一种可能的设计中,第三确定单元6023,具体用于:
[0161]
确定状态序列中的不同状态标识的标识数量,将标识数量确定为稀疏状态矩阵的维度数;
[0162]
根据状态序列确定各子序列,并获取各子序列的序列数量,以将序列数量确定为稀疏状态矩阵中的对应元素,得到稀疏状态矩阵。
[0163]
图9为本申请实施例提供的再一种异常控制发现装置的结构示意图,如图9所示,本实施例提供的异常控制发现装置600的第二处理模块602,还包括:
[0164]
置信度确定单元6024,用于根据稀疏状态矩阵确定各子序列的置信度,置信度用于表征控制设备之间的控制状态信息的转化概率;
[0165]
候选序列确定单元6025,用于若置信度低于预设置信度阈值,则生成对应的候选检测序列;若置信度不低于预设置信度阈值,则生成对应的增量检测序列;
[0166]
更新单元6026,用于根据预设时间周期内获取到的不同数据链接中的数据源对候选检测序列进行更新迭代,将更新迭代后的候选检测序列确定为状态检测序列,并存储状态检测序列对应的检测数组。
[0167]
在一种可能的设计中,更新单元6026,具体用于:
[0168]
获取预设时间周期内的不同数据链接,并根据预设协议确定不同数据链接中的数据源;
[0169]
根据不同数据链接中的数据源以及状态标识确定候选状态序列,并将候选状态序列与候选检测序列进行比较处理;
[0170]
若候选状态序列包括候选检测序列,则对候选状态序列进行分割,将分割后的候选状态序列确定为最新的候选检测序列,以得到更新迭代后的候选检测序列;
[0171]
若候选状态序列不包括候选检测序列,且与候选检测序列不一致,则将候选状态序列确定为最新的候选检测序列,以得到更新迭代后的候选检测序列;
[0172]
其中,直到对预设时间周期内所有的数据源都完成比较处理,结束更新迭代。
[0173]
在一种可能的设计中,第三处理模块603,具体用于:
[0174]
根据当前数据源以及状态标识确定当前状态序列;
[0175]
根据当前状态序列以及整数数值确定当前整数数组;
[0176]
根据当前整数数组确定每个子数组,判断所有检测数组中是否包含有各子数组;
[0177]
若判断结果为否,则确定控制系统存在异常控制行为;
[0178]
若判断结果为是,则确定控制系统运行正常,未发现异常控制行为。
[0179]
本申请所提供的上述装置实施例仅仅是示意性的,其中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
[0180]
值得说明的,上述所示实施例提供的异常控制发现装置,可用于执行上述实施例提供的异常控制发现方法的对应步骤,具体实现方式、原理以及技术效果与前述方法实施例类似,在此不再赘述。
[0181]
图10为本申请实施例提供的一种电子设备的结构示意图,如图10所示,本实施例提供的电子设备700,包括:
[0182]
至少一个处理器701;以及
[0183]
与至少一个处理器701通信连接的存储器702;其中,
[0184]
存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行上述方法实施例中的异常控制发现方法的各个步骤,具体可以参考前述方法实施例中的相关描述。
[0185]
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
[0186]
当存储器702是独立于处理器701之外的器件时,电子设备700,还可以包括:
[0187]
总线703,用于连接处理器701以及存储器702。
[0188]
此外,本申请实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述各实施例中的异常控制发现方法的各个步骤。例如,可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0189]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求书指出。
[0190]
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1