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

数据处理方法、工业控制系统、电子设备及存储介质与流程

2022-10-13 10:15:34 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,本技术涉及一种数据处理方法、工业控制系统、电子设备及存储介质。


背景技术:

2.在工业控制领域,工业控制终端通常会基于不同的通信接口【例如,网口、串口或usb(universal serial bus,通行串口总线)接口等】接收外部设备传输的数据。然而,通信接口所接收到的数据格式各不相同;例如,其所接收到的数据可能是基于网络协议的数据、基于串口协议的数据或基于usb接口协议的数据等;由于所接收的数据格式不同,难以对不同格式的数据进行数据安全检测,影响工业控制终端判断接收的数据安全性,进而影响整个工业控制系统的数据安全。


技术实现要素:

3.本技术实施例提供了一种数据处理方法、工业控制系统、电子设备及存储介质,用于解决工业控制系统中,所接收的数据格式不同,难以对不同格式的数据进行数据安全检测的技术问题。
4.根据本技术实施例的一个方面,提供了一种数据处理方法,该方法包括:获取外部设备发送的原始数据包,解析该原始数据包得到数据对象和数据格式;对上述数据对象进行数据检测,得到上述原始数据包的检测结果;根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端,或对上述数据对象进行过滤处理。
5.根据本技术实施例的另一个方面,提供了一种工业控制系统,该工业控制系统包括安全防护设备与工业控制终端;其中,该安全防护设备用于:获取外部设备发送的原始数据包,解析该原始数据包得到数据对象和数据格式;对上述数据对象进行数据检测,得到上述原始数据包的检测结果;根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端,或对上述数据对象进行过滤处理。
6.优选地,上述安全防护设备在根据上述检测结果,对上述数据对象进行处理操作时,可以具体用于:若上述检测结果为第一检测结果,根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端;或若上述检测结果为第二检测结果,对上述数据对象进行过滤处理;其中,上述过滤处理包括替换或丢弃。
7.优选地,上述安全防护设备在对上述数据对象进行过滤处理时,可以具体用于:
若上述第二检测结果包括第一指示信息,对上述数据对象进行替换;或若上述第二检测结果包括第二指示信息,将上述数据对象丢弃。
8.优选地,上述安全防护设备还可以用于:若上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致,基于上述数据格式对上述替换后的数据对象进行封装处理并发送至上述工业控制终端,上述数据对象的第一对象信息包括该数据对象的数据量和/或该数据对象的预设校验值;若上述替换后的数据对象的第一对象信息与上述数据对象的第一对象信息不一致,将上述数据对象丢弃。
9.优选地,上述若上述检测结果为第一检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在上述至少两个数据对象的检测结果均为第一检测结果的情况下,确定上述检测结果为第一检测结果。
10.优选地,上述安全防护设备在根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端时,可以具体用于:确定上述至少两个数据对象中每个数据对象的第二对象信息,上述数据对象的第二对象信息包括该数据对象的对象标识和该数据对象在上述原始数据包中的顺序标识;根据上述数据格式以及每个上述数据对象的第二对象信息,对上述至少两个数据对象进行封装处理并发送至上述工业控制终端。
11.优选地,上述若上述检测结果为第二检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在存在至少一个数据对象的检测结果为第二检测结果的情况下,确定上述检测结果为第二检测结果。
12.根据本技术实施例的又一个方面,提供了一种数据处理装置,该装置包括:数据解析模块,用于获取外部设备发送的原始数据包,解析该原始数据包得到数据对象和数据格式;数据检测模块,用于对上述数据对象进行数据检测,得到上述原始数据包的检测结果;数据处理模块,用于根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端,或对上述数据对象进行过滤处理。
13.优选地,上述数据处理模块在根据上述检测结果,对上述数据对象进行处理操作时,可以具体用于:若上述检测结果为第一检测结果,根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端;或若上述检测结果为第二检测结果,对上述数据对象进行过滤处理;其中,上述过滤处理包括替换或丢弃。
14.优选地,上述数据处理模块在对上述数据对象进行过滤处理时,可以具体用于:若上述第二检测结果包括第一指示信息,对上述数据对象进行替换;或若上述第二检测结果包括第二指示信息,将上述数据对象丢弃。
15.优选地,上述数据处理模块还可以用于:
若上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致,基于上述数据格式对上述替换后的数据对象进行封装处理并发送至上述工业控制终端,上述数据对象的第一对象信息包括该数据对象的数据量和/或该数据对象的预设校验值;若上述替换后的数据对象的第一对象信息与上述数据对象的第一对象信息不一致,将上述数据对象丢弃。
16.优选地,上述若上述检测结果为第一检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在上述至少两个数据对象的检测结果均为第一检测结果的情况下,确定上述检测结果为第一检测结果。
17.优选地,上述数据处理模块在根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端时,可以具体用于:确定上述至少两个数据对象中每个数据对象的第二对象信息,上述数据对象的第二对象信息包括该数据对象的对象标识和该数据对象在上述原始数据包中的顺序标识;根据上述数据格式以及每个上述数据对象的第二对象信息,对上述至少两个数据对象进行封装处理并发送至上述工业控制终端。
18.优选地,上述若上述检测结果为第二检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在存在至少一个数据对象的检测结果为第二检测结果的情况下,确定上述检测结果为第二检测结果。
19.根据本技术实施例的又一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行计算机程序以实现上述方法。
20.根据本技术实施例的又一个方面,提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。
21.本技术实施例提供的技术方案带来的有益效果是:在本技术实施例提供的数据处理方法中,在外部设备发送的原始数据包发送至工业控制终端之前,解析该原始数据包得到数据对象和数据格式,对该数据对象进行数据检测,将对该数据对象的数据检测结果作为原始数据包的检测结果;根据该检测结果,对该数据对象进行处理操作;通过将数据检测后的数据对象,根据其原始数据格式再次封装之后,再发送至工业控制终端,确保数据安全性;避免由于难以对数据进行数据安全检测而影响工业控制终端所接收数据的安全性,进而影响整个工业控制系统的数据安全。
附图说明
22.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1示出了本技术实施例提供的一种数据处理方法的流程图;图2示出了本技术实施例提供的一种工业控制系统的示意图;图3示出了本技术实施例提供的一种数据处理方法的另一流程图;图4示出了本技术实施例提供的一种数据处理装置的结构图;
图5示出了本技术实施例所适用的一种电子设备的结构示意图。
具体实施方式
24.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
25.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
26.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
27.图1示出了本技术实施例提供的一种数据处理方法的流程图。该数据处理方法可以通过数据处理装置实现,该数据处理装置可以是终端(即设备)或服务器。该数据处理方法也可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。本技术实施例中不对该数据处理方法的执行主体进行限定。
28.在该方法的执行主体是终端时,该终端(也可以称为用户终端或用户设备(user equipment,ue))可以是智能手机、平板电脑、笔记本电脑及台式计算机等。
29.在该方法的执行主体是服务器时,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
30.本领域技术人员应能理解上述终端和服务器仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
31.当然,在具体实施过程中,在该方法也可以应用于工业控制系统(如图2所示的工业控制系统20)。在该方法应用于工业控制系统中时,具体可以为该工业控制系统中具有数据处理能力的独立的设备或服务器。在该数据处理装置为该工业控制系统中具有数据处理能力的独立的设备时,由于在通过该设备执行本技术实施例提供的数据处理方法之后,可以提高向工业控制终端传输的数据的安全性,在本技术实施例中,也可以将该设备称为安全防护设备。
32.可以通过该安全防护设备代替工业控制终端(例如,工业控制终端可以为工业控制系统中的任一能够进行控制操作的设备)所设置的可供远程协助运维的数据接口,充当外部设备与工业控制终端之间进行数据处理的“中间件”,在对外部设备发送的原始数据包进行检测之后,再将该相应的数据发送至工业控制终端,以保证工业控制终端可以安全运行。
33.在该安全防护设备可以具体通过该工业控制终端所连接的工业网络,执行本技术实施例提供的数据处理方法。其中,本技术实施例对该工业网络的具体网络形式不做限制,例如,该工业网络可以包括但不限于局域网lan(local area network)、虚拟局域网vlan(virtual local area network)和虚拟可扩展局域网vxlan中的一种或多种。
34.如图1所示,该方法包括:步骤s10:获取外部设备发送的原始数据包,解析该原始数据包得到数据对象和数据格式。
35.该外部设备可以为任一可以与其他设备进行数据交换的设备,本技术实施例对此不做限制。例如,该外部设备可以为交换机或其他信息交换设备等。
36.本技术实施例对原始数据包进行解析的方式也不做限制,例如,进行解析的方式可以为全流量解析。
37.通过对原始数据包进行解析,可以得到原始数据包所指示的发送时间戳、发送方标识信息、接收方标识信息、数据对象、数据格式等,本技术实施例对此不做限制。
38.其中,发送方标识信息可以包括但不限于发送方ip(internet protocol,互联网协议)地址信息、发送方mac(medium/media access control,媒体存取控制位址,用来确认网络设备位置的位址)地址信息等。接收方标识信息可以包括但不限于接收方ip地址信息、接收方mac地址信息等。
39.上述数据对象可以包括不限于原始数据包中的数据内容等。其中,原始数据包中的数据内容可以具体包括但不限于应用层协议信息以及应用类型信息等。
40.上述数据格式可以基于路由协议信息、应用层协议信息以及应用类型信息等确定,也可以为基于上述原始数据包的传输方式(即通信协议)确定。传输方式可以包括但不限于通过网口协议、串口协议和usb协议进行传输。
41.其中,在通过网口协议进行传输时,具体所采用的网口协议可以包括但不限于:公用电话交换网ptsn(public switched telephone network)、以太网、虚拟拨号入网adsl(asymmetric digital subscriber line)、光纤入网、无线局域网wi-fi、移动通信网络、短距离无线通信网络以及物联网等。
42.其中,以太网可以包括但不限于802.3以太网。光纤入网方式可以包括但不限于gpon(gigabit-capable pon,其中,pon表示passive optical network,无源光纤网络)光纤入网、epon(ethernet passive optical network,以太网无源光网络)光纤入网。移动通信网络可以包括但不限于gsm移动通信网络、cdma(code division multiple access,码分多址)移动通信网络、lte移动通信网络和5g移动通信网络。无线局域网wi-fi可以具体为802.11x无线网络。短距离无线通信网络可以包括但不限于紫蜂短距离无线通信网络zigbee和蓝牙短距离无线通信网络bluetooth。物联网可以包括但不限于lora物联网以及基于蜂窝的窄带物联网nb-iot。
43.在通过串口协议进行传输时,具体所采用的串口协议可以包括但不限于:rs-232标准(协议)(全称eia-rs-232。其中,eia即electronic industry association,电子工业协会;rs即recommended standard,推荐标准;232是标识号)、rs-422(全称tia/eia-422,平衡电压数字接口电路的电气特性。其中,tia即telecommunications industry association,电信工业协会;422是标识号)、rs-485(全称tia/eia-485。其中,485是标识号)等。
44.在通过usb协议进行传输时,具体所采用的usb协议可以包括但不限于:usb1.0协议、usb1.1协议、usb2.0协议、usb3.0协议、usb3.2,gen2协议等。
45.步骤s20:对上述数据对象进行数据检测,得到上述原始数据包的检测结果。
46.在本技术实施例中,可以基于包括但不限于以下至少一种数据检测方式对上述数据对象进行数据检测:对上述数据对象进行内容格式审查;对上述数据对象进行病毒查杀;对上述数据对象进行完整性校验。
47.上述数据对象的格式包括但不限于上述数据对象的编码方式和逻辑规则等,其中,编码方式可以是包括但不限于预设的开头代码、程序编号指令字、起始指令字、结束指令字、结束指令字后面的符号、不同指令字的排列方式、地址符、带数字指令字中的数字代码的数值类型等。
48.在具体实施过程中,在通过至少两种数据检测方式对上述数据对象进行数据检测时,可以依次基于每种数据检测方式依次对上述数据对象进行数据检测(例如,在对数据对象进行内容格式审查之后,再对该数据对象进行病毒查杀),也可以基于容器技术实现对上述数据对象的数据检测(例如,可以采用容器1对上述数据对象进行内容格式审查,采用容器2对上述数据对象进行病毒查杀,可以基于容器3对上述数据对象进行完整性校验),本技术实施例对此不做限制。
49.其中,还可以在对上述数据对象进行数据检测之前,基于预设的数据加密方式,采用容器0对上述数据对象进行数据加密,并在完成数据加密后,将加密后的数据分别传输至容器1、容器2、容器3等,在各容器接收到解密后的数据后,先对各数据进行数据解密,再基于其对应的数据检测方式对解密后的数据进行相应的数据检测,从而增强在该方法的执行主体内部进行数据传输时的安全性。
50.通过设置上述数据检测方式,可以准确地确定出数据对象的安全性。并且,在通过容器技术对上述数据对象进行数据检测时,由于各个容器所执行的操作是相互隔离的,即各容器可以基于其对应的数据检测方式,独立的完成对数据对象的检测过程,可以有效预防在其中一个或多个容器受到攻击时,仍可以通过其他容器获取到的数据,得到完整的数据对象。并在受到攻击的容器被修复之后,可以通过该修复后的容器,基于完整的数据对象再次进行相应的数据检测,提高数据对象在数据检测过程中的安全性。
51.在该实现方式中,原始数据包的检测结果可以包括第一检测结果和第二检测结果,其中,第一检测结果表征原始数据包为安全的数据包,第二检测结果表征原始数据包为不安全的数据包。
52.在原始数据包的检测结果为第二检测结果时,还可以根据基于不同的数据检测方
式得到的检测结果,对原始数据包中具体出现问题的部分进行定位,并根据定位结果确定出原始数据包的安全等级。
53.示例性地,第二检测结果中还可以具体包括用来表征具体的安全等级的指示信息,例如,安全等级的级数越低,表征数据对象越安全,即若将该数据对象对应的数据包发送至工业控制终端,对工业控制终端的攻击强度越低。具体地,指示信息包括第一指示信息和第二指示信息,其中,第一指示信息表征原始数据包的安全等级为第一等级,第二指示信息表征原始数据包的安全等级为第二等级。
54.在具体实现过程中,若确定上述数据对象通过完整性校验(即数据对象是完整的),且该数据对象不存在病毒,但该数据对象的内容格式出现了问题,可以确定该原始数据包的安全等级为第一等级。
55.若上述数据对象未通过完整性校验(即数据对象不是完整的)或该数据对象也存在病毒,可以确定该原始数据包的安全等级为第二等级。
56.步骤s30:根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端,或对上述数据对象进行过滤处理。
57.本技术实施例对该工业控制终端设备的具体实现方式也不做限制,例如,该工业控制终端设备可以包括但不限于以下至少一种:数控机床、可编程逻辑控制器plc(programmable logic controller)、工业控制主机、用于进行任一工业控制操作的测量设备、用于进行任一工业控制操作的仿真设备以及用于进行任一工业控制操作的智能传感器。
58.在该实现方式中,通过上述数据格式对上述数据对象进行封装处理,即可实现将上述数据对象还原为原始数据包。
59.在对上述数据对象进行过滤处理时,可以具体包括筛选出上述数据对象中出现问题的部分,并对出现该问题的部分进行相应的处理等。
60.可见,在该数据处理方法中,外部设备发送的原始数据包发送至工业控制终端之前,解析该原始数据包得到数据对象和数据格式,对数据对象进行数据检测,将对该数据对象的数据检测结果作为原始数据包的检测结果;根据该检测结果,对该数据对象进行处理操作,实现了对不同格式的数据进行数据安全检测。通过将数据检测后的数据对象,根据其原始数据格式再次封装之后,再发送至工业控制终端,确保数据安全性,避免由于所接收的数据格式不同,难以对不同格式的数据进行数据安全检测,影响工业控制终端所接收数据的安全性,进而影响整个工业控制系统的数据安全,实现了在对不同格式的数据进行数据安全检测的同时,提高了工业控制终端接收数据的安全性,进而提高了整个工业控制系统的数据安全。
61.在一种可能的实现方式中,上述根据上述检测结果,对上述数据对象进行处理操作,可以包括:若上述检测结果为第一检测结果,根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端;或若上述检测结果为第二检测结果,对上述数据对象进行过滤处理;其中,上述过滤处理包括替换或丢弃。
62.如前文所记载的,第一检测结果表征原始数据包为安全的数据包,在上述原始数据包的检测结果为第一检测结果时,可以直接根据上述数据格式对上述数据对象进行封装处理后,将封装处理后的数据包(即还原得到的“原始数据包”,实际内容与原始数据包相同)发送至工业控制终端。
63.由于第二检测结果表征原始数据包为不安全的数据包,可以具体包括筛选出上述数据对象中出现问题的部分,并对该出现问题的部分进行替换或丢弃。
64.通过基于原始数据包的检测结果,进一步确定对数据对象的处理方式,在确定原始数据包的检测结果为安全时,再将数据对象还原为原始数据传输至工业控制终端,提高了向工业控制终端传输的数据的安全性。
65.在确定原始数据包的检测结果为不安全时,对数据对象进行过滤处理,避免将该数据对象传输至工业控制终端,同样,也提高了向工业控制终端传输的数据的安全性。
66.具体地,在确定原始数据包的检测结果为不安全时,可以通过以下方式具体确定对数据对象的处理方式:在一种可能的实现方式中,上述对上述数据对象进行过滤处理,可以包括:若上述第二检测结果包括第一指示信息,对上述数据对象进行替换;或若上述第二检测结果包括第二指示信息,将上述数据对象丢弃。
67.在该实现方式中,在对上述数据对象进行替换时,可以具体为:筛选出上述数据对象中出现问题的部分,并对该出现问题的部分进行替换。
68.如前文所记载的,第二检测结果中的指示信息可以表征数据对象的安全等级,且安全等级的级数越低,表征数据对象越安全,即若将该数据对象对应的数据包发送至工业控制终端,对工业控制终端的攻击强度越低。
69.由于在上述第二检测结果包括第一指示信息时,表征其对工业控制终端的攻击强度较低,通过对数据对象中出现问题的部分进行替换,可以尽可能的保留原始数据包中安全的数据信息,以便后续处理操作。
70.而由于在上述第二检测结果包括第二指示信息时,表征其对工业控制终端的攻击强度较高,为了提高工业控制终端的安全性,可以直接将完整的数据对象进行丢弃,可以有效阻断将该数据对象对应的数据包传输至工业控制终端。
71.在该实现方式中,在将数据对象丢弃之后,上述方法还包括:根据上述数据对象以及上述发送方标识信息生成告警信息;基于上述告警信息进行告警;和/或将上述告警信息发送至上述工业控制终端设备。
72.在该实现方式中,对告警信息的形式不做限制,例如,该告警信息的形式可以包括但不限于为文字形式、声音形式、震动形式等中的一种或多种。其中,告警信息中可以包括但不限于发送时间戳、上述发送方标识信息、上述数据对象的检测结果等。
73.在该实现方式中,基于告警信息进行告警的方式包括以下方式:方式一,在告警信息为文字形式时,可以显示告警信息。
74.其中,可以直接通过上述方法的执行主体对应的显示模块显示告警信息,其中,显示模块可以包括但不限于lcd(liquid crystal display)显示器、crt(cathode ray tube)显示器,本公开对此不做具体限定。
75.方式二,在告警信息为声音形式和/或震动形式时,可以控制上述方法的执行主体的告警模块发出告警信息。
76.其中,告警模块可以包括指示灯、振动马达、蜂鸣器中的至少一种。可以通过改变指示灯的显示方式、控制振动马达振动、控制蜂鸣器发声等方式进行告警,本技术实施例对具体的告警方式不做限制。其中,改变指示灯的显示方式包括改变指示灯亮灭的频率、控制指示灯显示不同颜色等,本技术实施例对改变指示灯的显示方式不做限制。
77.其中,在将告警信息发送至工业控制终端之后,还可以使得工业控制终端的相关告警模块进行告警提示。具体可以如上述基于告警信息进行告警的方式进行告警。
78.通过在确定数据对象的不安全,且安全等级较高的情况下,将数据对象丢弃时,根据该数据对象以及对应的发送方标识信息生成告警信息,可以有效阻断将该数据对象对应的数据包传输至工业控制终端,并提醒相应工作人员及时相应处理,例如,基于告警信息进行日志记录,记录相关外部设备的设备信息以及相应的报文信息,以便于后续更新预设数据库等。
79.当然,还可以根据上述发送方标识信息,将告警信息发送至发送方,以向发送方发出警示,避免发送方再次发送上述原始数据包。
80.在一种可能的实现方式中,上述方法还可以包括:若上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致,基于上述数据格式对上述替换后的数据对象进行封装处理并发送至上述工业控制终端,上述数据对象的第一对象信息包括该数据对象的数据量和/或该数据对象的预设校验值;若上述替换后的数据对象的第一对象信息与上述数据对象的第一对象信息不一致,将上述数据对象丢弃。
81.在该实现方式中,在对数据对象进行替换可以包括但不限于以下至少一项操作:对上述数据对象中出现错误的格式进行调整、对出现冗余的代码进行删除、对缺失的代码进行补全等操作。
82.数据对象的数据量可以为该数据对象的存储大小等,该数据对象的预设校验值可以为该数据对象对应的约定值,例如,为该数据对象设置的专用标识。
83.在该实现方式中,在上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息完全相同时,可以确定二者是一致的。或者,也可以设置预设阈值(例如,90%),在二者的相似度大于预设阈值的情况下,可以视为二者是一致的。
84.通过在对上述数据对象进行替换之后,再次基于该数据对象的第一对象信息对替换后的数据对象进行校验,在替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致时,基于上述数据格式对该替换后的数据对象进行封装处理并发送至工业控制终端,可以保证数据传输安全性的同时,保证数据传输的完整性和有效性。
85.考虑到在具体实施过程中,所传输的原始数据包可能包括一个数据对象,也可能包括多个数据对象形成的具有一定关联关系(例如,顺序关系、组合关系等)的文件组合,在对数据对象进行检测时,可以具体包括:在一种可能的实现方式中,上述若上述检测结果为第一检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在上述至少两个数据对象的检测
结果均为第一检测结果的情况下,确定上述检测结果为第一检测结果。
86.在该实现方式中,若至少两个数据对象之间还存在关联关系的情况下,还需要对各数据对象之间的关联关系进行检测,在上述至少两个数据对象的检测结果均为第一检测结果,且各数据对象之间的关联关系正确的情况下,确定上述检测结果为第一检测结果。
87.在一种可能的实现方式中,上述若上述检测结果为第二检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在存在至少一个数据对象的检测结果为第二检测结果的情况下,确定上述检测结果为第二检测结果。
88.在该实现方式中,若至少两个数据对象之间还存在关联关系的情况下,还需要对各数据对象之间的关联关系进行检测,在上述至少两个数据对象中存在至少一个数据对象的检测结果为第二检测结果,或各数据对象之间的关联关系错误的情况下,确定上述检测结果为第二检测结果。
89.在对原始数据包解析得到至少两个数据对象时,通过对每个数据对象分别进行数据检测,并检测各数据对象之间的关联关系,基于各数据对象的检测结果以及各数据对象之间的关联关系的检测结果,确定原始数据包的检测结果,可以进一步提高所得到的原始数据包的检测结果的准确性。
90.在一种可能的实现方式中,上述根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端,可以包括:确定上述至少两个数据对象中每个数据对象的第二对象信息,上述数据对象的第二对象信息包括该数据对象的对象标识和该数据对象在上述原始数据包中的顺序标识;根据上述数据格式以及每个上述数据对象的第二对象信息,对上述至少两个数据对象进行封装处理并发送至上述工业控制终端。
91.其中,一个数据对象的对象标识可以唯一表征该数据对象的标识和/或该数据对象所属的文件组合的组合标识,该数据对象的对象标识可以通过数字、文字、数字和文字的组合等形式进行表示。通过该数据对象的标识可以确定出该数据对象以及该数据对象所属的文件组合。
92.一个数据对象在其所属的原始数据包中的顺序标识可以为该数据对象在其所属的原始数据包中的序号等。
93.在对原始数据包解析得到至少两个数据对象,且原始数据包的检测结果为安全时,由于各数据对象在上述原始数据包中存在顺序关系或组合关系,通过结合各数据对象在原始数据包中的顺序标识以及其对应的组合标识,按照顺序标识所指示的顺序或者组合标识所指示的组合,对各数据对象进行封装处理,可以更完整、准确地还原出原始数据,提高向工业控制终端传输数据的准确性。
94.为了更清楚地说明本技术实施例提供的数据处理方法的完整流程,以下结合图3对该方法作进一步描述:步骤1:从外部设备获取原始数据包,根据接收数据的接口,将原始数据包划分为基于串口协议的数据包、基于usb协议的数据包、基于网络协议的数据包或基于其他协议的数据包等。
95.步骤2:对原始数据包进行数据解析,得到数据对象和数据格式。
96.步骤3:对数据对象进行数据检测。
97.步骤4:若数据检测结果为安全(即第一检测结果),执行步骤5。否则(即第二检测结果),执行步骤7。
98.步骤5:根据数据格式对数据对象进行封装处理,还原得到原始数据包,即基于串口协议的数据包、基于usb协议的数据包、基于网络协议的数据包或基于其他协议的数据包等。
99.步骤6:将封装后的数据包发送至工业控制终端。
100.步骤7:若第二检测结果中包括第一指示信息(例如,仅内容格式审查有问题),执行步骤8;否则(例如,出现病毒),执行步骤10。
101.步骤8:对数据对象中出现问题的部分进行替换。
102.步骤9:核对替换后的数据对象的第一对象信息是否与数据对象的第一对象信息一致,若一致,执行步骤5;若不一致,执行步骤10。
103.步骤10:丢弃数据对象。
104.基于与本技术实施例提供的数据处理方法相同的原理,本技术实施例中还提供了一种工业控制系统。如图2所示,该工业控制系统20包括安全防护设备22与工业控制终端21;其中,该安全防护设备22用于:获取外部设备30发送的原始数据包,解析该原始数据包得到数据对象和数据格式;对上述数据对象进行数据检测,得到上述原始数据包的检测结果;根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端21,或对上述数据对象进行过滤处理。
105.在一种可能的实现方式中,上述安全防护设备22在根据上述检测结果,对上述数据对象进行处理操作时,可以具体用于:若上述检测结果为第一检测结果,根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端21;或若上述检测结果为第二检测结果,对上述数据对象进行过滤处理;其中,上述过滤处理包括替换或丢弃。
106.在一种可能的实现方式中,上述安全防护设备22在对上述数据对象进行过滤处理时,可以具体用于:若上述第二检测结果包括第一指示信息,对上述数据对象进行替换;或若上述第二检测结果包括第二指示信息,将上述数据对象丢弃。
107.在一种可能的实现方式中,上述安全防护设备22还可以用于:若上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致,基于上述数据格式对上述替换后的数据对象进行封装处理并发送至上述工业控制终端21,上述数据对象的第一对象信息包括该数据对象的数据量和/或该数据对象的预设校验值;若上述替换后的数据对象的第一对象信息与上述数据对象的第一对象信息不一致,将上述数据对象丢弃。
108.在一种可能的实现方式中,上述若上述检测结果为第一检测结果,可以包括:
若解析上述原始数据包得到至少两个数据对象,在上述至少两个数据对象的检测结果均为第一检测结果的情况下,确定上述检测结果为第一检测结果。
109.在一种可能的实现方式中,上述安全防护设备22在根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端21时,可以具体用于:确定上述至少两个数据对象中每个数据对象的第二对象信息,上述数据对象的第二对象信息包括该数据对象的对象标识和该数据对象在上述原始数据包中的顺序标识;根据上述数据格式以及每个上述数据对象的第二对象信息,对上述至少两个数据对象进行封装处理并发送至上述工业控制终端21。
110.在一种可能的实现方式中,上述若上述检测结果为第二检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在存在至少一个数据对象的检测结果为第二检测结果的情况下,确定上述检测结果为第二检测结果。
111.本技术实施例的工业控制系统可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的工业控制系统中的安全防护设备所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于安全防护设备的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
112.基于与本技术实施例提供的数据处理方法以及本技术实施例提供的工业控制系统的运行过程相同的原理,本技术实施例中还提供了一种数据处理装置。图4示出了本技术实施例提供的一种数据处理装置的结构图。如图4所示,该装置40包括:数据解析模块41,用于获取外部设备发送的原始数据包,解析该原始数据包得到数据对象和数据格式;数据检测模块42,用于对上述数据对象进行数据检测,得到上述原始数据包的检测结果;数据处理模块43,用于根据上述检测结果,对上述数据对象进行处理操作;其中,上述处理操作包括:根据上述数据格式对上述数据对象进行封装处理并发送至工业控制终端,或对上述数据对象进行过滤处理。
113.在一种可能的实现方式中,上述数据处理模块43在根据上述检测结果,对上述数据对象进行处理操作时,可以具体用于:若上述检测结果为第一检测结果,根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端;或若上述检测结果为第二检测结果,对上述数据对象进行过滤处理;其中,上述过滤处理包括替换或丢弃。
114.在一种可能的实现方式中,上述数据处理模块43在对上述数据对象进行过滤处理时,可以具体用于:若上述第二检测结果包括第一指示信息,对上述数据对象进行替换;或若上述第二检测结果包括第二指示信息,将上述数据对象丢弃。
115.在一种可能的实现方式中,上述数据处理模块43还可以用于:若上述数据对象对应的替换后的数据对象的第一对象信息与上述数据对象的第一对象信息一致,基于上述数据格式对上述替换后的数据对象进行封装处理并发送至上述工业控制终端,上述数据对象的第一对象信息包括该数据对象的数据量和/或该数据对象
的预设校验值;若上述替换后的数据对象的第一对象信息与上述数据对象的第一对象信息不一致,将上述数据对象丢弃。
116.在一种可能的实现方式中,上述若上述检测结果为第一检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在上述至少两个数据对象的检测结果均为第一检测结果的情况下,确定上述检测结果为第一检测结果。
117.在一种可能的实现方式中,上述数据处理模块43在根据上述数据格式对上述数据对象进行封装处理并发送至上述工业控制终端时,可以具体用于:确定上述至少两个数据对象中每个数据对象的第二对象信息,上述数据对象的第二对象信息包括该数据对象的对象标识和该数据对象在上述原始数据包中的顺序标识;根据上述数据格式以及每个上述数据对象的第二对象信息,对上述至少两个数据对象进行封装处理并发送至上述工业控制终端。
118.在一种可能的实现方式中,上述若上述检测结果为第二检测结果,可以包括:若解析上述原始数据包得到至少两个数据对象,在存在至少一个数据对象的检测结果为第二检测结果的情况下,确定上述检测结果为第二检测结果。
119.本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
120.基于与本技术实施例提供的数据处理方法、工业控制系统以及数据处理装置相同的原理,本技术实施例中还提供了一种电子设备(如服务器),该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本技术任一可选实施例中提供的方法的步骤。
121.可选地,图5示出了本技术实施例所适用的一种电子设备的结构示意图,如图5所示,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004,收发器5004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本技术实施例的限定。
122.处理器5001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
123.总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线5002可以分为地址总
线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
124.存储器5003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
125.存储器5003用于存储执行本技术实施例的计算机程序,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的计算机程序,以实现前述方法。
126.本技术实施例提供了一种存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法。
127.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
128.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
129.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
再多了解一些

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

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

相关文献