一种拟态工业控制器主控之间的大数据量数据同步方法转让专利

申请号 : CN202110985327.9

文献号 : CN113433919B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘星宇张奕杨汶佼张兴明

申请人 : 之江实验室

摘要 :

本发明公开了一种拟态工业控制器,包括一个裁决FPGA和若干个主控,所述裁决FPGA与多个所述主控之间通过高速总线双向互联,多个所述主控在所述裁决FPGA内内部互联,本发明的目的是提供一种拟态工业控制器主控之间的大数据量数据同步方法,该方法可根据实际需要同步的数据量大小动态的判断需要将进行多少次数据同步,既充分利用有限的硬件资源,也避免了因为了增加缓存造成的成本和功耗的增加。

权利要求 :

1.一种拟态工业控制器主控之间的大数据量数据同步方法,其特征在于:包括以下步骤:

S1:裁决FPGA向主控发送控制周期开始信号并检测同时开始工作的主控的数量;

S2:当检测到同时存在的主控数量不少于三个时,则包括如下子步骤:S21:裁决FPGA随机选择三个主控作为有效主控,并同时向所有主控发送同步开始信号;

S22:主控接收到同步信号后,计算当前同步数据所需分包数量N并向裁决FPGA发送总体同步数据包通知报文,裁决FPGA收到该报文后将信息缓存下来,同时向所有主控发送第1包分包同步信号;

S23:主控收到第1包分包同步信号后,开始向裁决FPGA发送第1包同步数据,裁决FPGA只接收步骤S21随机选择的三个有效主控发送过来的同步数据,开始进行择多裁决比较,并将三个有效主控对应的裁决比较结果 、 、 缓存下来;

S24:主控按照所述步骤S23分别发送剩余第2包到第N包的同步数据,当所有的同步数据裁决完成后,将三个有效主控对应的每包裁决结果累加得到最终裁决结果,并根据择多裁决选出可信的有效主控;

S25:裁决FPGA向选出的可信有效主控发送整包同步信号,可信有效主控收到后向裁决FPGA发送整包同步数据,裁决FPGA接收到数据的同时向所有主控转发同步数据;

S26:同步数据转发完成之后等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步;

S3:当检测到只有两个主控同时工作时,裁决FPGA随机发送选择一个主控作为可信主控并向其发送整包同步信号,该主控收到整包同步信号后将整包同步数据发送给裁决FPGA,裁决FPGA收到同步数据后直接将数据转发给另一个主控,等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步;

S4:当检测到只有一个主控在工作时,裁决FPGA不进行数据同步,直接等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步。

2.如权利要求1所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S22的总体同步数据包通知报文包含数据包总数据量和共分多少包的信息,其中同步数据包的分包数量N的计算公式为 且计算结果向上取整,其中 为总的同步数据量,单位为字节;W为裁决FPGA中为单个主控同步数据预留的缓存大小,单位为字节。

3.如权利要求2所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S22中裁决FPGA向所有主控发送第1包分包同步信号时,初始值为0的同步数据包数Cnt自加1,同步数据超时计时Ti从零开始计时,超时阈值为Tr,其中超时阈值Tr是与控制周期T以及同步数据分包数N有关,具体关系为Tr=T/N。

4.如权利要求3所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S23中裁决FPGA只接收步骤S21随机选择的三个有效主控的数据,其他主控的数据直接丢弃,另外在所述步骤S23中裁决FPGA接收最先收到的两个有效主控的同步数据,并对其进行缓存,当在同步数据超时计时Ti小于超时阈值Tr情况下,接收到第三个有效主控的同步数据才是有效,不对该主控同步数据进行缓存,并立即与缓存中的两个有效主控同步数据进行裁决比较,当在同步数据超时计时Ti大于超时阈值Tr时,本包数据作废,不参与裁决,并且裁决结果不变。

5.如权利要求4所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S23中,当裁决FPGA接收到第三个有效主控的同步数据时,立刻向所有主控同时发送第2包分包同步信号,同时同步数据超时计时Ti清零并重新开始计时。

6.如权利要求1所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S24中,裁决FPGA对每包三个有效主控同步数据进行裁决得到的裁决结果分别是 ,再将三个有效主控对应的每包裁决结果累加得到最终裁决结果为 ,选择这三个累加结果中最小的对应的有效主控作为可信有效主控。

7.如权利要求3所述的一种拟态工业控制器主控之间大数据量数据同步方法,其特征在于:所述步骤S25中,裁决FPGA只向所述步骤S24得到的可信有效主控发送整包同步信号,同步数据包数Cnt、同步数据超时计时Ti以及裁决结果缓存清零,裁决FPGA在接收同步数据时就开始同时向所有主控转发同步数据,中间不对整包同步数据进行缓存。

说明书 :

一种拟态工业控制器主控之间的大数据量数据同步方法

技术领域

[0001] 本发明涉及工业控制技术领域,特别涉及一种拟态工业控制器主控之间的大数据量数据同步方法。

背景技术

[0002] 目前,工业控制系统的安全防护还是基于传统的被动式防御理念,均未考虑工业互联网的环境。但随着当前环境下复合式攻击的数量越来越多,特别是针对未知漏洞、未知
后门、未知攻击,工业控制系统采用的传统的防火墙、入侵检测、入侵防护系统等安全设备
已经无法起到有效的防护作用,不能满足工业互联网背景下的安全要求。在工业互联网背
景下,工业控制系统缺少主动防御手段是无法防御未知漏洞、未知后门、未知攻击。
[0003] 在这种背景下,结合拟态防御理论,将拟态防御核心技术应用到工业控制器形成了一种拟态工业控制器,增强其信息安全功能;其具有一般具有多个主控和一个裁决FPGA
(Field‑Programmable Gate Array,现场可编程门阵列),各主控之间通过裁决FPGA来进行
数据同步,传统的数据同步方法是裁决FPGA将几个主控的同步数据都接收并缓存下来并进
行裁决后得到一个可信的同步数据,但是随着同步数据的不断增大,特别是随着现场IO数
量和组态逻辑的复杂度逐渐增大,单个主控需要同步的数据量会增加到兆字节级别,裁决
FPGA为了进行裁决需要在一个控制周期内缓存多个主控的大数据量的同步数据,裁决FPGA
的内部缓存逐渐不足,为了能够缓存下多个主控的大数据量的同步数据通常有两种办法,
一种是应用相对大一点缓存的FPGA作为裁决FPGA,但是这样显然增加了成本同时也造成逻
辑资源的浪费;第二种是应用片外缓存,如DDR或者SDRAM,但是这样会大幅增加拟态工业控
制器的功耗和成本,这对功耗很敏感的拟态工业控制器来说显然得不偿失,同时现在拟态
工业控制器从设计开始就是以可能最大的同步数据量来选择缓存大小,但是实际使用的过
程中,同步数据量并不大,造成资源和成本的浪费,所以如何在有限资源下对大数据量同步
数据进行同步是个亟待解决的问题。

发明内容

[0004] 本发明的目的在于提供一种拟态工业控制器主控之间的大数据量数据同步方法,以克服现有技术中的不足。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 本发明公开了一种拟态工业控制器,包括一个裁决FPGA和若干个主控,所述裁决FPGA与多个所述主控之间通过高速总线双向互联,多个所述主控在所述裁决FPGA内内部互
联。
[0007] 本发明还公开了一种拟态工业控制器主控之间大数据量数据同步方法,包括以下步骤:
[0008] S1:裁决FPGA向主控发送控制周期开始信号并检测同时开始工作的主控的数量;
[0009] S2:当检测到同时存在的主控数量不少于三个时,则包括如下子步骤:
[0010] S21:裁决FPGA随机选择三个主控作为有效主控,并同时向所有主控发送同步开始信号;
[0011] S22:主控接收到同步信号后,计算当前同步数据所需分包数量N并向裁决FPGA发送总体同步数据包通知报文,裁决FPGA收到该报文后将信息缓存下来,同时向所有主控发
送第1包分包同步信号;
[0012] S23:主控收到第1包分包同步信号后,开始向裁决FPGA发送第1包同步数据,裁决FPGA只接收步骤S21随机选择的三个有效主控发送过来的同步数据,开始进行择多裁决比
较,并将三个有效主控对应的裁决比较结果 、 、 缓存下来;
[0013] S24:主控按照所述步骤S23分别发送剩余第2包到第N包的同步数据,当所有的同步数据裁决完成后,将三个有效主控对应的每包裁决结果累加得到最终裁决结果,并根据
择多裁决选出可信的有效主控;
[0014] S25:裁决FPGA向选出的可信有效主控发送整包同步信号,可信有效主控收到后向裁决FPGA发送整包同步数据,裁决FPGA接收到数据的同时向所有主控转发同步数据;
[0015] S26:同步数据转发完成之后等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步;
[0016] S3:当检测到只有两个主控同时工作时,裁决FPGA随机发送选择一个主控作为可信主控并向其发送整包同步信号,该主控收到整包同步信号后将整包同步数据发送给裁决
FPGA,裁决FPGA收到同步数据后直接将数据转发给另一个主控,等待控制周期结束,从所述
步骤S1开始下一个控制周期的数据同步;
[0017] S4:当检测到只有一个主控在工作时,裁决FPGA不进行数据同步,直接等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步。
[0018] 作为优选,所述步骤S22的总体同步数据包通知报文包含数据包总数据量和共分多少包的信息,其中同步数据包的分包数量N的计算公式为 且计算结果向上取整,
其中 为总的同步数据量,单位为字节; 为裁决FPGA中为单个主控同步数据预留的缓存
大小,单位为字节。
[0019] 作为优选,所述步骤S22中裁决FPGA向所有主控发送第1包分包同步信号时,初始值为0的同步数据包数Cnt自加1,同步数据超时计时Ti从零开始计时,超时阈值为Tr,其中
超时阈值Tr是与控制周期T以及同步数据分包数N有关,具体关系为Tr=T/N。
[0020] 作为优选,所述步骤S23中裁决FPGA只接收步骤S21随机选择的三个有效主控的数据,其他主控的数据直接丢弃,另外在所述步骤S23中裁决FPGA接收最先收到的两个有效主
控的同步数据,并对其进行缓存,当在同步数据超时计时Ti小于超时阈值Tr情况下,接收到
第三个有效主控的同步数据才是有效,不对该主控同步数据进行缓存,并立即与缓存中的
两个有效主控同步数据进行裁决比较,当在同步数据超时计时Ti大于超时阈值Tr时,本包
数据作废,不参与裁决,并且裁决结果不变。
[0021] 作为优选,所述步骤S23中,当裁决FPGA接收到第三个有效主控的同步数据时,立刻向所有主控同时发送第2包分包同步信号,同时同步数据超时计时Ti清零并重新开始计
时。
[0022] 作为优选,所述步骤S24中,裁决FPGA对每包三个有效主控同步数据进行裁决得到的裁决结果分别是 , , ,再将三个有效主控对应的每包裁决结果累
加得到最终裁决结果为 , , ,选择这三个累加结果中最小的对应的有效主控
作为可信有效主控。
[0023] 作为优选,所述步骤S25中,裁决FPGA只向所述步骤S24得到的可信有效主控发送整包同步信号,同步数据包数Cnt、同步数据超时计时Ti以及裁决结果缓存清零,裁决FPGA
在接收同步数据时就开始同时向所有主控转发同步数据,中间不对整包同步数据进行缓
存。
[0024] 本发明的有益效果:本发明的目的是提供一种拟态工业控制器主控之间的大数据量数据同步方法,该方法可根据实际需要同步的数据量大小动态的判断需要将进行多少次
数据同步,既充分利用有限的硬件资源,也避免了因为了增加缓存造成的成本和功耗的增
加。
[0025] 本发明的特征及优点将通过实施例结合附图进行详细说明。

附图说明

[0026] 图1是本发明拟态工业控制器结构示意图;
[0027] 图2是本发明主控在该方法中的控制流程图;
[0028] 图3是本发明裁决FPGA在该方法中的控制流程图。

具体实施方式

[0029] 为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,
并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避
免不必要地混淆本发明的概念。
[0030] 参阅图1‑图3,本发明实施例公开了一种拟态工业控制器,包括一个裁决FPGA和若干个主控,所述裁决FPGA与多个所述主控之间通过高速总线双向互联,多个所述主控在所
述裁决FPGA内内部互联。
[0031] 本发明还公开了一种拟态工业控制器主控之间大数据量数据同步方法,包括以下步骤:
[0032] S1:裁决FPGA向主控发送控制周期开始信号并检测同时开始工作的主控的数量;
[0033] S2:当检测到同时存在的主控数量不少于三个时,则包括如下子步骤:
[0034] S21:裁决FPGA随机选择三个主控作为有效主控,并同时向所有主控发送同步开始信号;
[0035] S22:主控接收到同步信号后,计算当前同步数据所需分包数量N并向裁决FPGA发送总体同步数据包通知报文,裁决FPGA收到该报文后将信息缓存下来,同时向所有主控发
送第1包分包同步信号;
[0036] S23:主控收到第1包分包同步信号后,开始向裁决FPGA发送第1包同步数据,裁决FPGA只接收步骤S21随机选择的三个有效主控发送过来的同步数据,开始进行择多裁决比
较,并将三个有效主控对应的裁决比较结果 、 、 缓存下来;
[0037] S24:主控按照所述步骤S23分别发送剩余第2包到第N包的同步数据,当所有的同步数据裁决完成后,将三个有效主控对应的每包裁决结果累加得到最终裁决结果,并根据
择多裁决选出可信的有效主控;
[0038] S25:裁决FPGA向选出的可信有效主控发送整包同步信号,可信有效主控收到后向裁决FPGA发送整包同步数据,裁决FPGA接收到数据的同时向所有主控转发同步数据;
[0039] S26:同步数据转发完成之后等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步;
[0040] S3:当检测到只有两个主控同时工作时,裁决FPGA随机发送选择一个主控作为可信主控并向其发送整包同步信号,该主控收到整包同步信号后将整包同步数据发送给裁决
FPGA,裁决FPGA收到同步数据后直接将数据转发给另一个主控,等待控制周期结束,从所述
步骤S1开始下一个控制周期的数据同步;
[0041] S4:当检测到只有一个主控在工作时,裁决FPGA不进行数据同步,直接等待控制周期结束,从所述步骤S1开始下一个控制周期的数据同步。
[0042] 所述步骤S22的总体同步数据包通知报文包含数据包总数据量和共分多少包的信息,其中同步数据包的分包数量N的计算公式为 且计算结果向上取整,其中 为总
的同步数据量,单位为字节; 为裁决FPGA中为单个主控同步数据预留的缓存大小,单位
为字节。
[0043] 所述步骤S22中裁决FPGA向所有主控发送第1包分包同步信号时,初始值为0的同步数据包数Cnt自加1,同步数据超时计时Ti从零开始计时,超时阈值为Tr,其中超时阈值Tr
是与控制周期T以及同步数据分包数N有关,具体关系为Tr=T/N。
[0044] 所述步骤S23中裁决FPGA只接收步骤S21随机选择的三个有效主控的数据,其他主控的数据直接丢弃,另外在所述步骤S23中裁决FPGA接收最先收到的两个有效主控的同步
数据,并对其进行缓存,当在同步数据超时计时Ti小于超时阈值Tr情况下,接收到第三个有
效主控的同步数据才是有效,不对该主控同步数据进行缓存,并立即与缓存中的两个有效
主控同步数据进行裁决比较,当在同步数据超时计时Ti大于超时阈值Tr时,本包数据作废,
不参与裁决,并且裁决结果不变。
[0045] 所述步骤S23中,当裁决FPGA接收到第三个有效主控的同步数据时,立刻向所有主控同时发送第2包分包同步信号,同时同步数据超时计时Ti清零并重新开始计时。
[0046] 所述步骤S24中,裁决FPGA对每包三个有效主控同步数据进行裁决得到的裁决结果分别是 , , ,再将三个有效主控对应的每包裁决结果累加得到最
终裁决结果为 , , ,选择这三个累加结果中最小的对应的有效主控作为可信
有效主控。
[0047] 所述步骤S25中,裁决FPGA只向所述步骤S24得到的可信有效主控发送整包同步信号,同步数据包数Cnt、同步数据超时计时Ti以及裁决结果缓存清零,裁决FPGA在接收同步
数据时就开始同时向所有主控转发同步数据,中间不对整包同步数据进行缓存。
[0048] 如图2所示,主控在该方法中的控制流程,包括:
[0049] 检测裁决FPGA发送过来的控制周期开始信号(一般为管脚信号,高电平或低电平有效),完成各项参数初始化,根据总的同步数据量为  (单位为字节)和裁决FPGA为单个
主控同步数据预留的缓存大小  (单位为字节),计算出每次同步需要将同步数据分成
包(向上取整),当收到裁决FPGA发送过来的同步开始信号后,向裁决FPGA发送总
体同步数据包通知报文(包含数据包总数据量,共分N包等信息),当收到子包同步信号后,
子包计数m加1(m初始值为0),并向裁决FPGA发送第m包同步数据,当所有N包同步数据发送
完成之后,等待整包同步信号,当接收到裁决FPGA发送过来的整包同步信号后,将整包同步
数据发送出去。
[0050] 如图3所示,裁决FPGA在该方法中的控制流程,包括:
[0051] 控制周期开始并完成初始化,裁决FPGA先检测有几个主控同时开始工作,当检测到只有两个主控同时工作时,裁决FPGA随机发送选择一个主控作为可信主控并向其发送整
包同步信号,该主控收到整包同步信号后将整包同步数据发送给裁决FPGA,裁决FPGA收到
同步数据后直接将数据转发给另一个主控,中间对整包同步数据不做缓存处理;当检测到
只有一个主控在工作时,裁决FPGA不进行数据同步,直接等待控制周期结束;当同时存在三
个或三个以上的主控同时工作时,裁决FPGA随机选择三个主控作为有效主控,并同时向所
有主控发送同步开始信号。当接收到主控发送过来的总体同步数据包通知报文后,向所有
主控发送分包同步信号,同时同步数据包数Cnt自加1(Cnt初始值为0),同步数据超时计时
Ti从零开始计时,裁决FPGA只接三个有效主控发送过来的同步数据,并将最先收到的前两
个主控同步数据缓存下来。当同步数据超时计时Ti小于超时阈值Tr时接收到的第三个主控
同步数据,如果超时本包数据作废,不参与裁决,并且裁决结果不变。同时向主控发送下一
包分包同步信号。当接收到了所有包同步数据并完成每包同步数据的裁决之后,将三个有
效主控对应的每包裁决结果累加得到最终裁决结果为  , , ,选择这三个累
加结果中最小的min( , , ),对应的有效主控作为可信有效主控。裁决FPGA只
向可信有效主控发送整包同步信号,裁决FPGA在接收同步数据时就开始同时向所有主控转
发同步数据,中间不对整包同步数据进行缓存,等待控制周期结束后进入下一轮控制周期。
[0052] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。