一种基于高效传输协议的工业数据系统
文献发布时间:2024-04-18 20:02:18
技术领域
本申请是关于通信技术领域,特别是关于一种基于高效传输协议的工业数据系统。
背景技术
目前,工业行业常用的数据采集的协议兼容各种类型的数据,兼容能力强,需要消耗的计算量变大,冗余的模块增加,效率降低。在这些数据中,涉及到部分与数据无关的冗余数据,比如品质描述、公共地址、传输原因等数据。但是在工业行业,需求单一,不需要过多与数据沾边的冗余数据,仅仅需要数据本身。
因此,目前的工业数据传输协议,存在着效率低,冗余数据较多的情况。
发明内容
本申请的目的在于提供一种基于高效传输协议的工业数据系统,用于实现简单、高效且高性能的工业数据传输。
为实现上述目的,本申请的实施例提供了一种基于高效传输协议的工业数据系统,包括:主站和与所述主站通信连接的从站;所述主站用于发送初始化报文给所述从站;所述从站用于接收所述初始化报文,并根据所述初始化报文反馈确认报文,以确定所述主站与所述从站之间的数据同步协议;所述主站用于接收所述确认报文,发送数据召唤报文给所述从站;所述从站用于接收所述数据召唤报文,根据本地存储的工业数据生成采集数据报文,并将所述采集数据报文发送给所述主站,所述本地存储的工业数据为从采集设备处获取到的数据;其中,所述采集数据报文包括:报文起始字节、采集数据类型、采集数据占据的字节数量和采集数据,所述采集数据类型为响应数据、变化数据和等待数据中的任一种,所述响应数据为第一次响应主站召唤的所有数据,所述变化数据为基于所述响应数据的变化数据,所述采集数据类型基于所述数据召唤报文中的目标字节确定,所述采集数据符合所述数据同步协议,所述等待数据为等待所述主站召唤的期间从采集设备处获取的数据。
在一种可能的实施方式中,所述初始化报文包括:报文起始字节、报文类型、数据配置和身份标识;其中,所述报文类型为数据初始化配置类型,用于表征所述初始化报文为对数据进行初始化配置的报文;所述数据配置包括:数据字节配置、数据符号配置和数据算法配置,所述数据字节配置用于表征用于描述数据的值的字节数量,所述数据符号字节用于表征数据是否有符号,所述数据算法配置用于表征至少两个字节所表征的数据值的合并算法;所述身份标识用于表征主站或者从站。
在一种可能的实施方式中,所述确认报文包括:报文起始字节、报文类型、数据配置和身份标识;其中,所述报文类型为数据初始化配置类型,用于表征所述初始化报文为对数据进行初始化配置的报文;所述数据配置包括:数据字节配置、数据符号配置和数据算法配置,所述数据字节配置用于表征用于描述数据的值的字节数量,所述数据符号字节用于表征数据是否有符号,所述数据算法配置用于表征至少两个字节所表征的数据值的合并算法;所述身份标识用于表征主站或者从站。
在一种可能的实施方式中,所述数据召唤报文包括:报文起始字节、数据召唤类型和传送数据;所述数据召唤类型包括第一召唤类型和第二召唤类型;所述第一召唤类型表征:所述从站将本地存储的所有数据上报给所述主站,在所述从站获取到基于上报的数据的变化数据时,将该变化数据上报给所述主站;所述第二召唤类型表征:所述从站将本地存储的所有数据上报给所述主站,并等待所述主站的再次召唤,在所述从站接收到所述主站的再次召唤时,将等待期间获取到的所有数据上报给所述主站;所述传送数据表征所述主站本次同步给所述从站的数据。
在一种可能的实施方式中,所述从站进一步用于:根据本地存储的所有工业数据生成第一采集数据报文,并将所述第一采集数据报文发送给所述主站,所述第一采集数据报文中的采集数据类型为响应数据;若所述数据召唤类型为所述第一召唤类型,继续获取基于所述第一采集数据报文中的采集数据的变化数据;根据所述变化数据生成第二采集数据报文,并将所述第二采集数据报文发送给所述主站,所述第二采集数据报文中的采集数据类型为变化数据;若所述数据召唤类型为所述第二召唤类型,继续获取数据并等待所述主站再次发送数据召唤报文;响应于检测到所述主站再次发送的数据召唤报文,根据等待期间获取的所有数据生成第三采集数据报文,并将所述第三采集数据报文发送给所述主站,所述第三采集数据报文中的采集数据类型为等待数据。
在一种可能的实施方式中,所述工业数据系统还包括:监测系统,所述监测系统配置在所述主站或者所述从站;所述监测系统用于:按照预设周期从所述主站或者所述从站获取监测数据;根据多次获取到的监测数据,确定所述监测数据的评估结果;根据所述监测数据的评估结果和预设的工业数据同步需求,确定所述主站与所述从站之间的数据同步调整策略,所述数据同步调整策略包括:关于报文的调整策略和/或关于数据同步协议的调整策略;将所述数据同步调整策略发送给所述主站和/或所述从站。
在一种可能的实施方式中,所述监测数据的评估结果包括:数据传输效率评估结果、数据传输完整性评估结果、重点数据传输评估结果和数据传输负荷评估结果,所述监测系统进一步用于:根据所述监测数据的评估结果,判断所述主站与所述从站之间的数据同步是否符合所述预设的工业数据同步需求;若所述主站与所述从站之间的数据同步不符合所述预设的工业数据同步需求,根据不符合所述预设的工业数据同步需求的对应评估结果,确定所述数据同步调整策略;若所述主站与所述从站之间的数据同步符合所述预设的工业数据同步需求,根据所述预设的工业数据同步需求中未涉及到的对应评估结果,确定所述数据同步调整策略。
在一种可能的实施方式中,所述从站还用于:根据本地存储的工业数据的数据量和数据重要程度,判断所述本地存储的工业数据是否为需要加密的工业数据;若所述本地存储的工业数据为需要加密的工业数据,根据所述数据量和所述数据重要程度,生成数据加密报文并发送给所述主站;所述主站还用于接收所述数据加密报文,并根据所述数据加密报文生成数据加密响应报文,将所述数据加密响应报文反馈给所述从站;所述从站进一步用于接收所述数据加密响应报文,根据所述数据加密响应报文和所述本地存储的工业数据生成采集数据报文。
在一种可能的实施方式中,所述数据加密响应报文包括:报文起始字节和报文加密策略,所述报文加密策略为第一加密策略或者第二加密策略,所述第一加密策略为:在采集数据报文中,所述本地存储的工业数据以指定加密算法进行加密;所述第二加密策略为:由所述从站确定加密算法,并根据确定的加密算法对所述采集数据报文加密,所述从站还需向所述主站传输所述确定的加密算法对应的加密算法报文。
在一种可能的实施方式中,所述主站和所述从站为一一对应的关系,所述主站还用于:响应于检测到在预设时长内未接收到所述从站发送的采集数据报文,判断所述从站的运行状态是否存在异常;若所述从站的运行状态存在异常,将所述主站和所述从站均标记为异常状态;若所述从站的运行状态不存在异常,生成用于表征采集设备异常的提示信息,并反馈所述提示信息。
与现有技术相比,本申请提供的基于高效传输协议的工业数据系统,采用高效传输协议,该高效传输协议体现在主站与从站之间的整个交互过程。在该高效传输协议中,主站只需要与从站进行两次交互,一次是初始化交互,另一次是数据召唤交互。通过这两次交互,从站便可以将采集到的数据传输给主站,从而,具有高效性和简单性。以及,对于从站来说,其传输数据的报文中除了采集数据之外,包括报文所必须的起始字节、采集数据类型和采集数据占据的字节数量三种非数据类型的报文数据,能够提高报文的简洁性。从而,对于从站来说,省去了很多数据的处理过程,使得主从站之间的数据的传输效率能够大大提高。因此,该基于高效传输协议的工业数据系统能够实现简单、高效且高性能的工业数据传输。
附图说明
图1是根据本申请第一实施例的工业数据系统的结构示意图;
图2是根据本申请第二实施例的工业数据系统的结构示意图;
图3是根据本申请一实施方式的数据传输协议流程图;
图4是根据本申请第三实施例的工业数据系统的结构示意图;
图5是根据本申请一实施方式的电子设备的结构示意图。
具体实施方式
下面结合附图,对本申请的具体实施方式进行详细描述,但应当理解本申请的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
本申请实施例提供的技术方案可以应用于工业场景中,在工业场景中,需要对工业数据进行传输。工业数据的传输需要依赖于传输协议,传输协议可以理解为数据传输的相关协议,例如:数据封装协议、通信协议等。
在一些实施例中,工业数据的传输链路通常为:采集设备→从站→主站。其中,采集设备负责采集数据,从站负责从采集设备处获取数据,再将获取的数据进行本地存储,以及传输给主站。
在本申请实施例中,针对从站与主站之间的数据传输,设计了一种高效的数据传输协议。
目前,对于工业数据的传输协议,涉及到太多与数据无关的冗余数据的传输,比如品质描述、公共地址和传输原因等数据;这种传输协议不适配于一些较为简单的工业数据传输场景,在这些简单的工业数据传输场景中,只需要数据本身,而不需要过多的冗余数据,过多的冗余数据只会造成数据传输的效率较低,也不能实现高性能的数据传输。
基于此,本申请的实施例提供一种基于高效传输协议的工业数据系统,该工业数据系统的数据传输通过高效传输协议实现,该高效传输协议能够尽可能避免冗余数据的传输,进而实现高效、高性能且简单的工业数据传输。
请参照图1,为本申请实施例提供的工业数据系统10的一种结构示意图,如图1所示,工业数据系统10包括主站11和从站12。其中,主站11和从站12之间通信连接。
请参照图2,为本申请实施例提供的工业数据系统10的又一种结构示意图,如图2所示,工业数据系统10中包括多组主站11和从站12;从而,在工业数据系统10中,主站11和从站12之间是一一对应的关系。进而,对于工业数据系统10中的任一设备来说,其角色要不是主站11,或者就是从站12,不存在既是主站11又是从站12的情况。并且,主站11和从站12之间的一一对应关系不可以被替代。
在一些实施例中,从站12从采集设备处获取到采集数据,并在本地进行维护,在维护的同时,等待主站11的召唤请求。在接收到召唤请求之后,将数据传输给主站11,主站11负责采集从站12维护的数据。
请参照图3,为本申请实施例提供的工业数据传输协议的流程示意图,如图3所示,从站12与主站11之间的传输过程包括:主站11发送初始化报文给从站12、从站12发送确认初始化报文给主站11、主站11发送召唤报文给从站12以及从站12发送采集报文给主站11。
因此,在该工业数据系统10中:
主站11用于发送初始化报文给从站12。
从站12用于接收初始化报文,并根据初始化报文反馈确认报文,以确定主站11与从站12之间的数据同步协议。
主站11用于接收确认报文,发送数据召唤报文给从站12。
从站12用于接收数据召唤报文,根据本地存储的工业数据生成采集数据报文,并将采集数据报文发送给主站11,本地存储的工业数据为从采集设备处获取到的数据。
其中,采集数据报文包括:报文起始字节、采集数据类型、采集数据占据的字节数量和采集数据,采集数据类型为响应数据、变化数据和等待数据中的任一种,响应数据为第一次响应主站11召唤的所有数据,变化数据为基于响应数据的变化数据,采集数据类型基于数据召唤报文中的目标字节确定,采集数据符合数据同步协议,等待数据为等待主站11召唤的期间从采集设备处获取的数据。
在一些实施例中,主站11与从站12之间的通信连接方式为长连接,可以通过相关的通信方式,实现该长连接。具体可以参照本领域的成熟技术,在此不作详细介绍。
在一些实施例中,初始化报文和确认报文可以理解为主站11和从站12之间配置交互方式的相关报文,用于确认两端接下来发送的报文相关结构。
在一些实施例中,初始化报文包括:报文起始字节、报文类型、数据配置和身份标识;其中,报文类型为数据初始化配置类型,用于表征初始化报文为对数据进行初始化配置的报文;数据配置包括:数据字节配置、数据符号配置和数据算法配置,数据字节配置用于表征用于描述数据的值的字节数量,数据符号字节用于表征数据是否有符号,数据算法配置用于表征至少两个字节所表征的数据值的合并算法;身份标识用于表征主站11或者从站12。
示例的,初始化报文可以是:68 00 02 00 00 00。该初始化报文的数据内容如下:
第一个字节为报文结构固定,以68开始,作为报文的一个起始字节。
第二个字节为00,表示当前是数据初始化配置报文。
第三个字节为02,表示以2个字节数据类描述一个数据的值,其还可以是比如两个字节、四个字节等。
第四个字节为00,用于表示接下来所有的数据都是无符号,01表示有符号。
第五个字节为00,用于判断两个或者更多字节数的值合并的算法,是高位在前还是低位在前等,00表示高位在前;
第六个字节为00,用于表示发送端的角色身份,分为从站12和主站11,00表示从站12,01表示主站11。角色身份必须是从站12和主站11成对的,不能都是从站12,也不能都是主站11,否则连接建立失败。因为本申请实施例的协议定位是工业中简单数据的高效、高性能传输,所以不支持多对一或者多对多的连接,只支持一对一的连接;并且新连接不能替换旧连接。
在一些实施例中,确认报文包括:报文起始字节、报文类型、数据配置和身份标识;其中,报文类型为数据初始化配置类型,用于表征初始化报文为对数据进行初始化配置的报文;数据配置包括:数据字节配置、数据符号配置和数据算法配置,数据字节配置用于表征用于描述数据的值的字节数量,数据符号字节用于表征数据是否有符号,数据算法配置用于表征至少两个字节所表征的数据值的合并算法;身份标识用于表征主站11或者从站12。
可以理解,由于初始化报文和确认报文中均包括数据配置,所以,该数据配置可以决定主站11与从站12之间的数据同步协议,该数据同步协议可以理解为数据处理层面的协议。即,两者之间同步的数据应当满足的数据要求。
在一些实施例中,确认报文的报文结构与初始化报文的报文结构相同,但是具体的报文内容可能不同。例如:确认报文中的身份标识为从站12标识,初始化报文中的身份标识为主站11标识。
在一些实施例中,数据召唤报文包括:报文起始字节、数据召唤类型和传送数据;数据召唤类型包括第一召唤类型和第二召唤类型;第一召唤类型表征:从站12将本地存储的所有数据上报给主站11,在所述从站12获取到基于上报的数据的变化数据时,将该变化数据上报给主站11;第二召唤类型表征:从站12将本地存储的所有数据上报给主站11,并等待主站11的再次召唤,在从站12接收到主站11的再次召唤时,将等待期间获取到的所有数据上报给所述主站11;传送数据表征主站11本次同步给从站12的数据。
在一些实施例中,数据召唤类型,可以理解为从站12将获取到的工业数据传输给主站11的方式。
对于第一召唤类型,从站12第一次响应主站11时,先将本地存储的已获取到的所有数据上报给主站11。然后,继续获取采集设备采集的数据,当获取到存在变化的数据(相较于第一次上报的数据存在变化)时,将这些变化的数据上报给主站11。也即,对于那些没有变化的数据,无需再上报给主站11。
对于第二召唤类型,从站12第一次响应主站11时,先将本地存储的已获取到的所有数据上报给主站11。然后,继续获取采集设备采集的数据,并等待主站11的再次召唤,在主站11发起再次召唤时,再将等待期间获取到的所有数据上报给主站11。也即,这种数据传输方式,由主站11决定是否上报数据。
不管是第一召唤类型还是第二召唤类型,从站12均需要针对当前的数据召唤报文,先将本地存储的已获取数据一次性上报给主站11。
示例的,召唤报文可以是:68 03 00。其中,第一个字节为报文结构,固定以68开始,作为报文的一个起始字节;第二个字节为03,表示主站11跟从站12发送总召指令,需要从站12将本地维护的所有数据上报到主站11,一轮上报完以后,从站12再根据本地数据发生变化后,主动上报给主站11,达到数据同步的效果;第三个字节为00,表示数据的字节数为0,即没有数据传送。
进而,对于从站12来说,其进一步用于:
根据本地存储的所有工业数据生成第一采集数据报文,并将第一采集数据报文发送给主站11,第一采集数据报文中的采集数据类型为响应数据;若数据召唤类型为第一召唤类型,继续获取基于第一采集数据报文中的采集数据的变化数据;根据变化数据生成第二采集数据报文,并将第二采集数据报文发送给所述主站11,第二采集数据报文中的采集数据类型为变化数据;若数据召唤类型为第二召唤类型,继续获取数据并等待主站11再次发送数据召唤报文;响应于检测到主站11再次发送的数据召唤报文,根据等待期间获取的所有数据生成第三采集数据报文,并将第三采集数据报文发送给主站11,第三采集数据报文中的采集数据类型为等待数据。
在这种实施方式中,第一采集数据报文可以理解为根据本地存储的获取到的所有工业数据所生成的数据报文,为第一次响应主站11的召唤的数据报文。
第二采集数据报文,可以理解为在第一召唤类型下,根据存在变化的数据所生成的数据报文。
第三采集数据报文,可以理解为在第二召唤类型下,基于主站11的再次召唤,和对应的数据所生成的数据报文。
因此,对于从站12来说,在接收到数据召唤报文之后,需要多次向主站11传输数据。
在一些实施例中,采集数据报文包括:报文起始字节、采集数据类型、采集数据占据的字节数量和采集数据。在该报文结构中,只有采集数据是数据本身,对于另外三项,为附带数据。
示例的,采集数据报文为:68 01 03 05 06 07。
第一个字节为报文结构,固定以68开始,作为报文的一个起始字节。
第二个字节为01,值为1表示当前是第一次响应主站11召唤的所有数据;每次的报文字节数小于255,所以如果数据量比较大,可能需要进行多次报文发送,但是因为是协议,所以会根据从站12当前所维护的所有的点,逐个发送过去,一次发不完,第二次发送的点则紧接着跟着上一次发送完的点的序号继续往下发送,直到所有的点全部发送完成,则主站11召唤首次数据发送彻底完成。
第二个字节的值还可以是02,表示当前所发送的数据是变化数据,至于变化的逻辑,需要在内部实现,具体实现的算法不是本次方案的重点,先略过。当从站12发送本地有变化的数据,则需要将该数据发送给主站11,因为协议主要突出的重点是简洁、高效、高性能,所以只发送重点数据,通过两个字节来描述一个点的数据,第一个字节是变化的点位,第二个字节是变化后的值,例如68 02 04 01 08 02 05,其中04表示数据的个数是4个(即01 08 02 05),01 08则用于描述一个数据,01表示点位为1,08表示点位为1的值发生了变化,当前值为十六进制的8;同理02 05也如此,表示2号的值为十六进制的5,以此类推。
第三个字节的值是03,表示数据占据的字节个数为3个,即05 06 07。主站11解析报文的时候,得到该值后,往后获取的3个字节数为3个点的值,点位默认从0开始,即点位为0的值为十六进制的5,点位为1的值为十六进制的6,点位为2的值为16进制的7。
可以理解,根据相应的报文结构,不管是主站11还是从站12,在接收到报文之后,需要对报文进行解析,才能得到相应的数据。
采用本申请的传输协议,交互过程简洁,通过主站11的两次交互,就确认了从站12的数据上报的执行。并且报文简洁,发送过程高效,别的协议需要多次发送交互流程,甚至主站11的交互会贯穿整个连接的生命周期。而这套协议,主站11只负责接收数据,不需要将过多的系统资源分配给处理报文组装和发送这方面,将资源节约出来放在别的任务中。
请参照图4,该工业数据系统10还包括监测系统13,该监测系统13配置在主站11或者从站12。其中,配置可以是各种配置方式,例如:配置监测系统13与主站11或者从站12之间的数据链路,使得监测系统13能够从主站11或者从站12处获取相应的数据。如果配置在主站11,则获取主站11在从站12处获取的数据;如果配置在从站12,则获取从站12在采集设备处获取的数据。
该监测系统13用于:按照预设周期从主站11或者从站12获取监测数据;根据多次获取到的监测数据,确定监测数据的评估结果;根据监测数据的评估结果和预设的工业数据同步需求,确定主站11与从站12之间的数据同步调整策略,数据同步调整策略包括:关于报文的调整策略和/或关于数据同步协议的调整策略;将数据同步调整策略发送给主站11和/或从站12。
在一些实施例中,预设周期可以根据工业数据场景中的数据采集频率确定,数据采集频率越快,该预设周期可以相应较短。例如:预设周期可以是3分钟。则,每隔3分钟,监测系统13需要从主站11或者从站12处获取数据,获取到的数据即为监测数据。
可以理解,由于是周期式的数据获取方式,所以,监测系统13会多次获取数据,从而,基于多次获取到的监测数据,确定评估结果。
在一些实施例中,监测数据的评估结果包括:数据传输效率评估结果、数据传输完整性评估结果、重点数据传输评估结果和数据传输负荷评估结果。
在一些实施例中,数据传输效率评估结果,用于表征数据的传输效率。以主站11为例,根据多次获取到的监测数据之间的数据差异,或者中间间隔的数据量,可确定数据传输效率。如果数据差异较大,或者中间间隔的数据量较大,则数据传输效率较高。
在一些实施例中,数据传输完整性评估结果,用于表征数据的传输完整性。以主站11为例,判断多次获取到的监测数据是否覆盖了较为全面的采集设备的数据,如果是,则完整性较高;否则,完整性较差。
在一些实施例中,重点数据传输评估结果,用于表征数据关于重点数据的传输情况。以主站11为例,判断多次获取到的监测数据是否覆盖有重点数据,以及重点数据的占比。如果覆盖重点数据,且占比较高,则传输情况较好。否则,传输情况较差。
在一些实施例中,传输负荷评估结果,用于表征数据的传输负荷。以主站11为例,确定多次获取到的监测数据的总数据量,若总数据量较大,对应的,传输负荷也较大。否则,传输负荷较小。
可以理解,上述的各种评估结果,可以量化为具体的值。因此,可以预设不同的评估标准,根据该评估标准,可以将实际的情况量化为具体的评估值;具体可以参照本领域的成熟技术。
从而,监测系统13进一步用于:根据监测数据的评估结果,判断主站11与从站12之间的数据同步是否符合预设的工业数据同步需求;若主站11与从站12之间的数据同步不符合预设的工业数据同步需求,根据不符合预设的工业数据同步需求的对应评估结果,确定数据同步调整策略;若主站11与从站12之间的数据同步符合预设的工业数据同步需求,根据预设的工业数据同步需求中未涉及到的对应评估结果,确定数据同步调整策略。
在一些实施例中,预设的工业数据同步需求中包括:数据传输效率需求、数据传输完整性需求、重点数据传输需求和数据传输负荷需求中的至少一种需求。
因此,将监测数据的评估结果与该预设的工业数据同步需求进行比较,如果各项评估结果均符合对应的需求,则确定数据同步符合预设的工业数据同步需求;否则,确定数据同步不符合预设的工业数据同步需求。
在不符合的情况下,根据不符合预设的工业数据同步需求的对应评估结果,确定数据同步调整策略。
在一些实施例中,可以预设不同的工业数据同步需求分别对应的影响因素,例如:数据传输效率的影响因素为报文和数据同步协议;数据传输完整性的影响因素为报文;重点数据传输的影响因素为报文;数据传输负荷的影响因素为报文和数据同步协议。
进一步地,如果数据传输效率较差,或者数据传输负荷较大,可以减少数据同步协议中的一些不必要的数据处理步骤。如果数据传输完整性较差,或者重点数据传输不全面,则可以增加报文中包括的数据内容。例如:增加重点数据部分等。
根据本申请实施例的介绍可以看出,本申请所采用的高效传输协议具有以下优势:
高效的编解码:因为定位是用于简单数据的采集,所以从站12在发送报文前,对报文进行编码的过程中,省略了过多的、冗余的计算,以最快的效率将报文组装完成,并且这过程还节约了计算机的资源,让计算机系统能空出更多的资源用于其它任务。在主站11接收的时候,因为数据本身就是简单且统一的数据,主站11在解码的过程同样要比别的协议的效率要高。所以这个协议能同时让主站11和从站12的效率同步提升,并高于目前市场上常用的数据采集协议,这体现这套协议的高效高性能。
节约网络资源:从协议中可以看的出来,响应总召的报文,无效数据仅仅只有3个,其余都是数据本身,极大的提高了有效数据的占比,因为无效数据的占比低,所以发送相同大小的有效数据时,这套协议会更节约流量,数据量越大,节约的流量越多。
简洁高效的交互:在这套协议的设计中,从连接到正常工作,主站11只主动的发送了两次报文与从站12进行交互。第一次是用于数据采集的相关配置,将需要采集的配置同步给从站12,从站12获取到对应配置后,则开始响应主站11的总召。第二次是在第一次交互之后,发送的开始采集的指令,当第二次交互的报文发送成功,从站12立即进行所有数据的发送,一轮数据的全部发送完成后,才开始发送变化数据,主站11通过解析报文可以判断从站12发送的是响应数据还是变化数据。
因为这套协议的定位是负责简单数据的高效采集,所以省去了加解密、解压缩和编解码等环节,以达到简洁、高效、且节约资源的效果。
在一些应用场景中,如果实际的数据传输情况,相较于简单的数据传输,更为复杂,则也可以通过增加主站11和从站12之间的交互实现灵活配置。
因此,作为一种可选的实施方式,从站12还用于:根据本地存储的工业数据的数据量和数据重要程度,判断本地存储的工业数据是否为需要加密的工业数据;若本地存储的工业数据为需要加密的工业数据,根据数据量和数据重要程度,生成数据加密报文并发送给主站11;主站11还用于接收数据加密报文,并根据数据加密报文生成数据加密响应报文,将数据加密响应报文反馈给所述从站12;从站12进一步用于接收数据加密响应报文,根据数据加密响应报文和本地存储的工业数据生成采集数据报文。
在一些实施例中,数据加密报文中可以包括:报文起始字节、数据量、数据重要程度和是否需要加密。
在一些实施例中,从站12可以自身配置的是否需要加密的逻辑,判断工业数据是否需要加密。
在一些实施例中,数据重要程度可以根据预设的不同的采集设备所采集的数据的重要程度确定;或者预设的不同时间段采集的数据的重要程度确定等,在此不作限定。
在一些实施例中,可以预设需要加密的工业数据对应的数据量标准和数据重要程度标准,根据该标准判断工业数据是否需要加密。
在一些实施例中,数据加密响应报文包括:报文起始字节和报文加密策略,报文加密策略为第一加密策略或者第二加密策略,第一加密策略为:在采集数据报文中,本地存储的工业数据以指定加密算法进行加密;第二加密策略为:由从站12确定加密算法,并根据确定的加密算法对采集数据报文加密,从站12还需向主站11传输确定的加密算法对应的加密算法报文。
在一些实施例中,第一加密策略可以通过字节01表示,第二加密策略可以通过字节02表示。
在一些实施例中,如果报文加密策略为第二加密策略,从站12需确定一个加密算法,并将其同步给主站11。该加密算法可以与第一次传输采集数据报文一并发送给主站11,以便主站11可以根据加密算法解析出报文内容。
在一些实施例中,根据数据加密响应报文,可确定加密算法和加密策略,从而,按照加密算法和加密策略,可生成加密的采集数据报文。
在本申请实施例中,主站11还用于:响应于检测到在预设时长内未接收到从站12发送的采集数据报文,判断从站12的运行状态是否存在异常;若从站12的运行状态存在异常,将主站11和从站12均标记为异常状态。
在一些实施例中,由于主站11和从站12的连接关系不可被替代,所以,在从站12出现问题之后,需要将主站11和从站12均标记为异常状态,暂停两者之间的数据同步。待相关人员完成修复之后,再继续数据同步。
在一些实施例中,预设时长可以是半小时或者更短。
在一些实施例中,主站11可以向从站12发送需回复的命令报文,若未接收到从站12的回复报文,则视为运行状态存在异常。若接收到,则视为运行状态不存在异常,确定可能是由采集设备导致的无数据产生。
因此,在确定运行状态不存在异常的情况下,还可以生成用于表征采集设备异常的提示信息,并反馈该提示信息给相关用户。
请参照图5,本申请的实施例还提供一种电子设备,该电子设备可作为前述的主站或者从站,也可以作为采集设备。
电子设备,包括处理器501和存储器502,处理器501和存储器502通信连接。
处理器501、存储器502之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。前述的各模块或者各交互端所执行的方法步骤分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器502中的软件功能模块。
处理器501可以是一种集成电路芯片,具有信号处理能力。处理器501可以是通用处理器,包括CPU (Central Processing Unit,中央处理器)、NP (Network Processor,网络处理器)等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以存储各种软件程序以及模块。处理器501通过运行存储在存储器502中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的各个步骤。
存储器502可以包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read Only Memory,只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除只读存储器),EEPROM(Electric Erasable Programmable Read-Only Memory,电可擦除只读存储器)等。
可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本申请的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本申请限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本申请的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本申请的各种不同的示例性实施方案以及各种不同的选择和改变。本申请的范围意在由权利要求书及其等同形式所限定。
- 基于大数据的工业控制系统网络安全数据的高效采集方法
- 基于大数据的工业控制系统网络安全数据的高效采集方法