
基于tsn的时序数据完整性验证方法、系统、介质和电子设备
技术领域
1.本发明涉及通信技术领域,特别是涉及一种基于tsn的时序数据完整性验证方法、系统、介质和电子设备。
背景技术:2.生产加工过程中产生的产品溯源信息,物料,批次等数据需要采集存储并且保真,对于生产安全以及类似制药等行业对于产品的认证(gmp)等都是必要的。
3.目前对于数据的验证,大都是在数据汇总后在服务器上对数据进行备份,而后通过备份数据或者其他的校验手段对数据进行完整性验证,但是由于服务器上存储的数据安全性不高,数据容易被篡改,进而导致数据安全性降低的问题。
技术实现要素:4.本发明的目的在于提供一种基于tsn的时序数据完整性验证方法、系统、介质和电子设备,用于解决现有技术中数据完整性验证存在偏差的问题。
5.第一方面,本技术提供了一种基于tsn的时序数据完整性验证方法,基于tsn的时序数据完整性验证方法包括:
6.获取控制器单位时间内存储的增量数据hash值,其中,控制器基于tsn同步网络时间;
7.识别用户端的验证请求以获取验证时间段;
8.基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值;
9.提取服务器在所述验证时间段内的数据流hash值;
10.比较所述数据流hash值与所述hash总值以完成完整性验证,其中,若相同则确认所述服务器的数据完整,否则确认所述服务器的数据不完整。
11.其中,本发明可以直接在加工制造的生产侧,即控制器一侧采集数据的时候同时对单位时间批次的数据抓取计算,并依靠时间敏感网络的特性,保证数据传输的安全可靠及时,最后在数据提取的同时对提取数据进行完整性校验,防止数据篡改,在控制器侧对数据完整性验证既可以保证与服务器之间的数据传输安全,也可以用来快速验证服务器上保存的旧数据是否完整可靠。
12.在本技术一个可能的实现方式中,所述控制器单位时间的生成步骤包括:
13.通过tsn同步网络时间;
14.发送测试数据包计算控制器的最大延时数据;
15.将所述最大延时数据输出给所述用户端,以获取所述用户端输入的所述单位时间。
16.在本技术一个可能的实现方式中,在通过tsn同步网络时间后,每经过一次所述单位时间,对控制器的增量数据生成本机hash值。
17.在本技术一个可能的实现方式中,所述获取控制器单位时间内存储的增量数据hash值,具体包括:
18.将任一控制器的本机hash值分发给网络内其他控制器,其中,每个控制器之间通信连接;
19.统计任一控制器上接收到的所有hash值得到汇总hash值;
20.基于所述汇总hash值以及所述本机hash值以及上一个所述单位时间的本机hash值组合计算得到当前单位时间内存储的所述增量数据hash值。
21.在本技术一个可能的实现方式中,所述基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值,具体包括:
22.基于所述验证时间段匹配所述单位时间获取所述验证时间段对应的单位时间的跨度值;
23.基于所述跨度值提取对应时间段内控制器存储的所有所述增量数据hash值得到所述hash总值。
24.在本技术一个可能的实现方式中,所述识别用户端的验证请求以获取验证时间段,具体包括:
25.获取用户端的所述验证请求,其中,所述验证请求至少包括请求数据、验证数据以及请求时间;
26.提取所述请求时间识别时间段得到所述验证时间段。
27.本技术一个可能的实现方式中,所述控制器与所述服务器通信连接,所述服务器接收在所述验证时间段内所述控制器的增量数据以生成所述数据流hash值。
28.第二方面,本技术提供了一种基于tsn的时序数据完整性验证系统,基于tsn的时序数据完整性验证系统包括:
29.获取模块,用于获取控制器单位时间内存储的增量数据hash值,其中,控制器基于tsn同步网络时间;
30.识别模块,用于识别用户端的验证请求以获取验证时间段;
31.匹配模块,用于基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值;
32.提取模块,用于提取服务器在所述验证时间段内的数据流hash值;
33.比较模块,用于比较所述数据流hash值与所述hash总值以完成完整性验证,其中,若相同则所述服务器的数据完整,否则所述服务器的数据不完整。
34.第三方面,本技术提供了一种上述的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于tsn的时序数据完整性验证方法。
35.第四方面,本技术提供了一种上述的电子设备,所述电子设备包括:处理器及存储器;其中,所述存储器用于存储计算机程序,所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于tsn的时序数据完整性验证方法。
36.如上所述,本发明的基于tsn的时序数据完整性验证方法、系统、介质和电子设备,能够在控制器侧提取数据的同时就能验证当前单位时间批次内的数据完整可靠,也能保证从控制器侧提取的数据传输到服务器侧时的数据完整可靠,使用任何一台控制器都能验证服务器上保存的任一批次的数据完整可靠,通过hash散列来验证数据的完整快速高效,安
全可靠的数据可以为后续计算验证等提供可靠的支持。
附图说明
37.图1显示为本发明的基于tsn的时序数据完整性验证方法于一实施例中的场景应用图;
38.图2显示为本发明的基于tsn的时序数据完整性验证方法于一实施例中的方法步骤图;
39.图3显示为本发明的基于tsn的时序数据完整性验证方法于又一实施例中的方法步骤图;
40.图4显示为本发明的基于tsn的时序数据完整性验证方法于再一实施例中的方法步骤图;
41.图5显示为本发明的基于tsn的时序数据完整性验证方法于另一实施例中的方法步骤图;
42.图6显示为本发明的基于tsn的时序数据完整性验证系统于一实施例中的结构示意图;
43.图7显示为本发明一实施例中电子设备的结构示意图;
44.元件标号说明
45.s202~s214 步骤
46.s302~s306 步骤
47.s402~s406 步骤
48.s502~s504 步骤
49.60
ꢀꢀꢀꢀꢀꢀꢀꢀ
基于tsn的时序数据完整性验证系统
50.61
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
获取模块
51.62
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
识别模块
52.63
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
匹配模块
53.64
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
提取模块
54.65
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
比较模块
具体实施方式
55.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
56.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
57.如图1所示,为本技术的场景应用图,其中,整个网络内的运行时间基于时间敏感
型网络(timesensitive network,tsn)进行控制,本技术控制器以plc为例,每个plc控制器(plc,可编程逻辑控制器programmable logic controller)之间相互通信,可以互发数据且每个控制器具备数据储存的能力,且plc控制器上储存的数据相较于服务器而言,更改数据的难易程度更大,即服务器容易修改数据,但是plc控制器不容易修改数据,服务器与控制器通信连接,并接收控制器的增量数据,通过识别用户端的验证请求来识别对应验证时间段内控制器的数据流的hash值和对应验证时间段内服务器的hash总值是否相同来验证数据完整性。而hash值是一段数据唯一且极其紧凑的数值表示形式,如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值,因此可以根据哈希(hash)值来验证数据是否完整。
58.对于工业通信领域而言,实时性与确定性是发展的方向。时间敏感型网络(timesensitive network,tsn)是目前国际产业界正在积极推动的全新工业通信技术。时间敏感型网络允许周期性与非周期性数据在同一网络中传输,使得标准以太网具有确定性传输的优势,并通过厂商独立的标准化进程,已成为广泛聚焦的关键技术。
59.请参阅图2,于发明一实施例中,本发明的基于tsn的时序数据完整性验证方法包括如下步骤:
60.步骤s202,获取控制器单位时间内存储的增量数据hash值;
61.步骤s204,识别用户端的验证请求以获取验证时间段;
62.步骤s206,基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值;
63.步骤s208,提取服务器在所述验证时间段内的数据流hash值;
64.步骤s210,比较所述数据流hash值与所述hash总值以完成完整性验证;
65.步骤s212,确认所述服务器的数据完整;
66.步骤s214,确认所述服务器的数据不完整。
67.需要说明的是,获取控制器单位时间内存储的增量数据hash值,其中,如图3所示,控制器单位时间的生成步骤包括:
68.步骤s302,通过tsn同步网络时间;
69.步骤s304,发送测试数据包计算控制器的最大延时数据;
70.步骤s306,将所述最大延时数据输出给所述用户端,以获取所述用户端输入的所述单位时间。
71.具体地,通过tsn同步网络时间,发送测试数据包以计算所述最大延时数据,并将所述最大延时数据发送给所述用户端,从而可以获取用户端返回的所述单位时间,其中,所述单位时间由用户根据所述最大延时数据进行自行设定,在实际应用过程中,所述单位时间根据用户的不同输入值而变化,在获取到所述单位时间后,每经过一次所述单位时间,对控制器的增量数据生成本机hash值,每个单位时间内plc控制器生成的增量数据均存储对应增量数据hash值,从而可以获取所述控制器单位时间内存储到的本机hash值,在识别到用户端的验证请求后,可以基于验证请求识别验证时间段,其中,所述验证请求至少包括请求数据、验证数据以及请求时间,具体通过请求时间可以识别验证时间段,基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值,例如,单位时间为“1min”,若验证时间段为“上午9点至9点20分”,那么对应提取到的控制器存
储的hash总值即为plc控制器在“上午9点至9点20分”中二十个单位时间内数据路对应的hash值。
72.进一步地,于发明一实施例中,如图4所示,所述获取控制器单位时间内存储的增量数据hash值,具体包括如下步骤:
73.步骤s402,将任一控制器的本机hash值分发给网络内其他控制器,其中,每个控制器之间通信连接;
74.步骤s404,统计任一控制器上接收到的所有hash值得到汇总hash值;
75.步骤s406,基于所述汇总hash值以及所述本机hash值以及上一个所述单位时间的本机hash值组合计算得到当前单位时间内存储的所述增量数据hash值。
76.需要说明的是,所述增量数据hash值由当前单位时间内的汇总hash值以及所述本机hash值以及上一个所述单位时间的本机hash值组合计算得到,其中,每到一个单位时间内,将任一plc控制器的本机hash值分发给网络内其他plc控制器,其中,每个plc控制器之间通信连接,进而可以在任一plc控制器上接收到的所有hash值得到汇总hash值,因此在任一plc控制器上都可以获取到单位时间内全网络下plc控制器的生成的总数据流对应的hash值。
77.进一步地,于发明一实施例中,如图5所示,所述基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值,具体包括如下步骤:
78.步骤s502,基于所述验证时间段匹配所述单位时间获取所述验证时间段对应的单位时间的跨度值;
79.步骤s504,基于所述跨度值提取对应时间段内控制器存储的所有所述增量数据hash值得到所述hash总值。
80.需要说明的是,上述实施例中说明在单位时间内获取对应的所述增量数据hash值,因此,当基于所述验证时间段匹配单位时间获取到对应的单位时间跨度值时,可以基于当前验证时间段对应的跨度值从plc控制器获取到对应时间段内控制器存储的所有所述增量数据hash值得以到所述hash总值。
81.进一步地,于发明一实施例中,所述控制器与所述服务器通信连接,所述服务器接收在所述验证时间段内所述控制器的增量数据以生成所述数据流hash值。
82.需要说明的是,由于控制器与服务器是通信连接的,所以控制器的增量数据是同步被服务器所接收的,因此,可以在服务器端获取到所述验证时间段内所述控制器的增量数据生成的所述数据流hash值。
83.具体地,在获取到所述数据流hash值与所述hash总值之后,可以对二者进行比较,以确认所述服务器的数据是否完整,其中,若所述数据流hash值与所述hash总值相同,则表明所述服务器的数据完整;若所述数据流hash值与所述hash总值不相同,则表明所述服务器的数据不完整。
84.本技术实施例还提供一种基于tsn的时序数据完整性验证系统,所述基于tsn的时序数据完整性验证系统可以实现本技术所述的基于tsn的时序数据完整性验证方法,但本技术所述的基于tsn的时序数据完整性验证方法的实现装置包括但不限于本实施例列举的基于tsn的时序数据完整性验证系统的结构,凡是根据本技术的原理所做的现有技术的结构变形和替换,都包括在本技术的保护范围内。
85.请参阅图6,在一实施例中,本实施例提供的一种基于tsn的时序数据完整性验证系统60,所述系统包括:
86.获取模块61,用于获取控制器单位时间内存储的增量数据hash值,其中,控制器基于tsn同步网络时间;
87.识别模块62,用于识别用户端的验证请求以获取验证时间段;
88.匹配模块63,用于基于所述验证时间段结合所述单位时间进行时间段匹配,以提取对应时间段内控制器存储的hash总值;
89.提取模块64,用于提取服务器在所述验证时间段内的数据流hash值;
90.比较模块65,用于比较所述数据流hash值与所述hash总值以完成完整性验证,其中,若相同则所述服务器的数据完整,否则所述服务器的数据不完整。
91.由于本实施例的具体实现方式与前述方法实施例对应,因而于此不再对同样的细节做重复赘述,本领域技术人员也应当理解,图6实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上,且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
92.参阅图7,本实施例提供一种电子设备,详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
93.综上所述,本发明能够在控制器侧提取数据的同时就能验证当前单位时间批次内的数据完整可靠,也能保证从控制器侧提取的数据传输到服务器时的数据完整可靠,使用任何一台控制器都能验证服务器上保存的任一批次的数据完整可靠,通过hash散列来验证数据的完整快速高效,安全可靠的数据可以为后续计算验证等提供可靠的支持。
94.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
95.作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本技术实施例的目的。例如,在本技术各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
96.本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但
是这种实现不应认为超出本技术的范围。
97.本技术实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
98.本技术实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
99.所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
100.上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
101.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。