CN103957080B - 一种数据完整性校验方法及系统 - Google Patents
一种数据完整性校验方法及系统 Download PDFInfo
- Publication number
- CN103957080B CN103957080B CN201410184341.9A CN201410184341A CN103957080B CN 103957080 B CN103957080 B CN 103957080B CN 201410184341 A CN201410184341 A CN 201410184341A CN 103957080 B CN103957080 B CN 103957080B
- Authority
- CN
- China
- Prior art keywords
- data
- code table
- characteristics code
- drs
- data characteristics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据完整性校验方法,包括:数据发送站计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理;所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表;所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表;若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述目标数据完整;否则,则确定所述目标数据不完整。因此,本申请改善了通用性,提高了检测出数据不完整的概率。
Description
技术领域
本申请涉及工业控制领域,特别涉及一种数据完整性校验方法及系统。
背景技术
在生产安全要求较高的工业控制系统中,尤其是安全关键控制系统中,为确保控制系统是按组态工程师站(即数据发送站)的预期运行的,不可或缺的一点是要保证控制系统的控制器(即数据接收站)中运行的组态数据是完整、正确的(即保证控制系统的控制器中运行的组态数据是与组态工程师站中组态编译后的结果一致)。因此,在每次组态数据变更(包括创建、修改组态)生效前,组态工程师站或控制器必须对下载到控制器、待运行的组态数据进行数据完整性校验。对于未通过数据完整性校验的组态数据,应认为是错误的组态数据,不予生效。
其中,在将组态工程师站中经过组态编译后的组态数据下载至控制器的过程中,影响数据完整性的原因主要有:1、组态工程师站组态下载功能的系统性失效,具体为组态工程师站在组态下载时的数据整理、打包、传送等环节;2、组态数据在网络传输过程中的失效或被恶意篡改;3、控制器接收、更新组态数据功能的系统性失效。
为了能够检测出下载到控制器、待运行的组态数据的完整性,目前存在通过插入数据特征码的方式,具体为:1、组态工程师站在每个组态数据包(即对原始组态数据进行编译,编译后的组态数据经过整理、打包、传送等下载处理后生成的组态数据包)插入一个校验码,控制器在接收到每个组态数据包后,根据每个组态数据包中的校验码确认接收到的数据包是否完整;2、组态工程师站为每个组态下载数据包插入一个编号(单调递增的序号)。控制器在接收到每个数据包后,根据编号判断组态数据包队列是否连续、完整,即是否有缺漏、重复的数据包。
目前所存在的通过插入数据特征码的方式能够检测到由于网络传输过程发生的错误而导致的数据不完整,但是由于校验码或编号是在经过下载处理后生成的组态数据包中插入,因此在若组态数据由于组态工程师站组态下载功能失效而发生错误(即在生成组态数据包之前,数据本身已经发生错误)或由于控制器接收、更新组态数据功能的系统性失效(而发生错误即在接收、更新时造成接收到的组态数据包中数据本身发生错误),通过校验码检验或编号检验,无法检测出组态数据是否完整,可见,目前所存在的通过插入数据特征码的方式通用性差,检测出数据不完整的概率低。
发明内容
为解决上述技术问题,本申请实施例提供一种数据完整性校验方法及系统,以达到改善通用性,提高检测出数据不完整的概率的目的,技术方案如下:
一种数据完整性校验方法,包括:
数据发送站计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理;
所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表;
所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表;
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述目标数据完整;
否则,则确定所述目标数据不完整。
优选的,在所述计算出所述目标数据的数据特征码,存储于第二数据特征码表之后,还包括:
所述数据发送站从所述数据接收站回读所述第二数据特征码表;
所述数据发送站比较所述第一数据特征码表和所述第二数据特征码表;
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述数据接收站接收到的数据完整,并将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站;
所述数据接收站在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
优选的,所述数据发送站计算出源数据的数据特征码,存储于第一数据特征码表的过程,包括:
所述数据发送站将所述源数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中;
所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
优选的,所述计算出所述目标数据的数据特征码,存储于第二数据特征码表的过程,包括:
所述数据接收站按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中;
所述数据接收站将各个第二子数据特征码表汇总为第二数据特征码表。
优选的,所述源数据包括所述数据发送站中的全部数据块或部分数据块。
优选的,所述数据特征码包括循环冗余校验码CRC。
一种数据完整性校验系统,包括数据发送站和数据接收站,其中:
数据发送站包括:
第一计算模块,用于计算出源数据的数据特征码,存储于第一数据特征码表,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理;
第一发送模块,用于将所述源数据和所述第一数据特征码表发送至数据接收站;
所述数据接收站包括:
第一确定模块,用于确定接收到的数据为目标数据;
第二计算模块,用于计算出所述目标数据的数据特征码,存储于第二数据特征码表;
第一比较模块,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第二确定模块,否则,执行第三确定模块;
所述第二确定模块,用于确定所述目标数据完整;
所述第三确定模块,用于确定所述目标数据不完整。
优选的,所述数据发送站还包括:
回读模块,用于从所述数据接收站回读所述第二数据特征码表;
第二比较模块,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第四确定模块;
所述第四确定模块,用于确定所述数据接收站接收到的数据完整;
第二发送模块,用于将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站;
所述数据接收站还包括:
第五确定模块,用于在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
优选的,所述第一计算模块包括:
第一划分单元,用于将所述源数据划分成预设个数的数据块;
第一计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中;
第一汇总单元,用于所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
优选的,所述第二计算模块包括:
第二划分单元,用于按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块;
第二计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中;
第二汇总单元,用于将各个第二子数据特征码表汇总为第二数据特征码表。
与现有技术相比,本申请的有益效果为:
在本申请中,由于数据发送站生成的数据特征码是对未经过下载处理的组态数据进行运算生成的,数据接收站是将第二数据特征码表和针对未经过下载处理的组态数据生成的第一数据特征码表进行比较,因此在数据发送站组态下载功能的系统性失效但网络传输未发生错误的情况下,数据接收站所得到的比较结果仍为不一致,确定目标数据不完整。同理,在数据接收站接收、更新组态数据功能的系统性失效但数据发送站组态下载功能的系统性未失效和网络传输未发生错误的情况下,数据接收站所得到的比较结果仍为不一致,同样可以确定目标数据不完整。
当然,在数据发送站组态下载功能的系统性未失效和数据接收站接收、更新组态数据功能的系统性未失效,但网络传输发生错误的情况下,数据接收站接收到的数据(即目标数据)发生错误,生成的第二数据特征码和第一数据特征码不一致,确定目标数据不完整。
可见,无论是网络传输发生错误还是数据发送站组态下载功能的系统性失效和数据接收站接收、更新组态数据功能的系统性失效,本申请都能检测出目标数据(即数据接收站接收到的数据)是否完整,改善了通用性,提高了检测出数据不完整的概率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据完整性校验方法的一种流程图;
图2是本申请提供的数据完整性校验方法的另一种流程图;
图3是本申请提供的数据完整性校验方法的一种子流程图;
图4是本申请提供的数据完整性校验方法的另一种子流程图;
图5是本申请提供的数据完整性校验方法的再一种流程图;
图6是本申请提供的数据完整性校验方法的再一种流程图;
图7是本申请提供的数据完整性校验系统的一种结构示意图;
图8是本申请提供的数据发送站的一种结构示意图;
图9是本申请提供的数据接收站的一种结构示意图;
图10是本申请提供的数据发送站的另一种结构示意图;
图11是本申请提供的数据接收站的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
请参见图1,其示出了本申请提供的数据完整性校验方法的一种流程图,可以包括以下步骤:
步骤S11:数据发送站计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站。
在本实施例中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理。
下载处理即数据发送站在接收到数据接收站发起的下载请求时,对编译后的组态数据进行的整理、打包、传送等操作。下载处理通过依赖于数据发送站的组态下载功能进行。若在进行下载处理时导致编译后的组态数据发生错误,则说明数据发送站组态下载功能的系统性失效。
步骤S12:所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表。
步骤S13:所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表。
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行步骤S14,否则,执行步骤S15。
步骤S14:确定所述目标数据完整。
步骤S15:确定所述目标数据不完整。
在本实施例中,数据特征码可以但不局限于为CRC(循环冗余校验码,CyclicRedundancy Check)、MD5(消息摘要算法第五版,Message Digest Algorithm5)校验码、SHA(安全散列算法,Secure Hash Algorithm)校验码、数字签名等。
但考虑到数据接收站执行组态数据校验的运算能力,在本实施例中,数据特征码优选为CRC,具体的为32位CRC或64位CRC。
在本申请中,由于数据发送站生成的数据特征码是对未经过下载处理的组态数据进行运算生成的,数据接收站是将第二数据特征码表和针对未经过下载处理的组态数据生成的第一数据特征码表进行比较,因此在数据发送站组态下载功能的系统性失效但网络传输未发生错误的情况下,数据接收站所得到的比较结果仍为不一致,确定目标数据不完整。同理,在数据接收站接收、更新组态数据功能的系统性失效但数据发送站组态下载功能的系统性未失效和网络传输未发生错误的情况下,数据接收站所得到的比较结果仍为不一致,同样可以确定目标数据不完整。
当然,在数据发送站组态下载功能的系统性未失效和数据接收站接收、更新组态数据功能的系统性未失效,但网络传输发生错误的情况下,数据接收站接收到的数据(即目标数据)发生错误,生成的第二数据特征码和第一数据特征码不一致,确定目标数据不完整。
可见,无论是网络传输发生错误还是数据发送站组态下载功能的系统性失效和数据接收站接收、更新组态数据功能的系统性失效,本申请都能检测出目标数据(即数据接收站接收到的数据)是否完整,改善了通用性,提高了检测出数据不完整的概率。
实施例二
在本实施例中,在图1示出的数据完整性校验方法的基础上扩展出另外一种数据完整性校验方法,请参见图2,图2示出了本申请提供的数据完整性校验方法的另一种流程图,可以包括以下步骤:
步骤S21:数据发送站计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站。
步骤S22:所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表。
步骤S21和步骤S22与图1示出的数据完整性校验方法中的步骤S11和步骤S12相同,在此不再赘述。
步骤S23:所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表。
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行步骤S231,否则,执行步骤232。
步骤S231:确定所述目标数据完整。
步骤S232:确定所述目标数据不完整。
步骤S24:所述数据发送站从所述数据接收站回读所述第二数据特征码表。
步骤S24在步骤S22后执行。
步骤S25:所述数据发送站比较所述第一数据特征码表和所述第二数据特征码表。
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行步骤S26。
步骤S26:确定所述数据接收站接收到的数据完整,并将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站。
步骤S27:所述数据接收站在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
由步骤S231和步骤S232可知,数据接收站的比较结果有两种情况,分别为目标数据完整、目标数据不完整。数据接收站比较自己确定的比较结果和数据发送站发送的比较结果是否相同,在相同的情况下,信任所述目标数据。
在本实施例中,为了降低回读的数据量,数据发送站并未回读下载到数据接收站的组态数据,而是回读数据特征码表,数据发送站通过回读数据接收站生成的数据特征码表,进一步来确认数据接收站接收到的数据是否完整。
回读组态数据的数据量是MB级别,回读数据特征码表的数据量是KB级别。因此,通过回读数据特征码表,而不是原下载到数据接收站的数据,可大大降低回读的数据量。
数据发送站将源数据下发给数据接收站,由数据接收站根据接收到的数据计算得到第二数据特征码表,再由数据发送站回读、校验第二数据特征码表,从而构成一个闭环反馈确认过程,有效保障数据接收站接收到的组态数据是完整的。
实施例三
在本实施例中,示出的是数据发送站计算出源数据的数据特征码,存储于第一数据特征码表的具体过程,请参见图3,图3示出了本申请提供的数据完整性校验方法的一种子流程图,可以包括以下步骤:
步骤S31:所述数据发送站将所述源数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中。
步骤S32:所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
在本实施例中,为了降低数据校验失效率,将源数据划分为若干个小的数据块,并分别计算出这些数据块各自的第一子数据特征码表,最后将各个第一子数据特征码表汇总为一张完整的第一数据特征码表。
当然,也可以不进行划分数据块的操作,直接计算出源数据的数据特征码,存储于第一数据特征码表。
在本实施例中,还示出了计算出所述目标数据的数据特征码,存储于第二数据特征码表的具体过程,请参见图4,图4示出了本申请提供的数据完整性校验方法的另一种子流程图,可以包括以下步骤:
步骤S41:所述数据接收站按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中。
步骤S42:所述数据接收站将各个第二子数据特征码表汇总为第二数据特征码表。
在本实施例中,为了降低数据校验失效率,将目标数据划分为若干个小的数据块,并分别计算出这些数据块各自的第二子数据特征码表,最后将各个第二子数据特征码表汇总为一张完整的第二数据特征码表。
当然,也可以不进行划分数据块的操作,直接计算出目标数据的数据特征码,存储于第二数据特征码表。
需要说明的是,在本实施例中,源数据可以为全部数据块或部分数据块。
针对源数据可以为全部数据块或部分数据块,对数据发送站的工作机制和数据接收站的工作机制进行说明。具体的:
数据发送站在当前运行任务中,每次接收到数据接收站的下载请求时,均计算出全部数据块的数据特征码,存储于第一数据特征码表,并将全部数据块和所述第一数据特征码表发送至数据接收站;
或,数据发送站在当前运行任务中,仅在第一次接收到数据接收站的下载请求时,计算出全部数据块的数据特征码,存储于第一数据特征码表,并将全部数据块和所述第一数据特征码表发送至数据接收站,在第一次之后再接收到下载请求,则只计算出与数据接收站有差异的部分数据块的数据特征码,更新第一数据特征码表中对应所述部分数据块的数据特征码,并将所述部分数据块和更新后的第一数据特征码表发送至数据接收站。在这种情况下,数据接收站发出第一次下载请求后,接收到的数据为全部数据块,并计算出接收到的全部数据块的数据特征码,存储于第二数据特征码表,在第一次之后只接收所述数据发送站发送的部分数据块,数据接收站在接收到相应的部分数据块后,计算出部分数据块的数据特征码,并更新第二数据特征码表中相应的部分数据块对应的数据特征码。
实施例四
在本实施例中,示出了本申请提供的数据完整性校验方法的再一种流程图,可以包括以下步骤:
步骤S51:数据发送站计算出源数据的CRC校验码,存储于第一CRC校验码表,并将所述源数据和所述第一CRC校验码表发送至数据接收站。
步骤S52:所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的CRC校验码,存储于第二CRC校验码表。
步骤S53:所述数据接收站比较所述第一CRC校验码表和所述第二CRC校验码表。
若比较结果为所述第一CRC校验码表和所述第二CRC校验码表一致,则执行步骤S54,否则,执行步骤S55。
步骤S54:确定所述目标数据完整。
步骤S55:确定所述目标数据不完整。
在本实施例中,还提供了一种不同于图5示出的数据完整性校验方法的另一种数据完整性校验方法,请参见图6,图6示出了本申请提供的数据完整性校验方法的再一种流程图,可以包括以下步骤:
步骤S61:数据发送站计算出源数据的CRC校验码,存储于第一CRC校验码表,并将所述源数据和所述第一CRC校验码表发送至数据接收站。
步骤S62:所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的CRC校验码,存储于第二CRC校验码表。
步骤S63:所述数据接收站比较所述第一CRC校验码表和所述第二CRC校验码表。
若比较结果为所述第一CRC校验码表和所述第二CRC校验码表一致,则执行步骤S631,否则,执行步骤632。
步骤S631:确定所述目标数据完整。
步骤S632:确定所述目标数据不完整。
步骤S64:所述数据发送站从所述数据接收站回读所述第二CRC校验码表。
步骤S64在步骤S62后执行。
步骤S65:所述数据发送站比较所述第一CRC校验码表和所述第二CRC校验码表。
若比较结果为所述第一CRC校验码表和所述第二CRC校验码表一致,则执行步骤S66。
步骤S66:确定所述数据接收站接收到的数据完整,并将第一CRC校验码表和所述第二CRC校验码表一致的比较结果发送至所述数据接收站。
步骤S67:所述数据接收站在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
实施例五
在本申请中,提供了一种数据完整性校验系统,请参见图7,图7示出了本申请提供的数据完整性校验系统的一种结构示意图,数据完整性校验系统包括:数据发送站71和数据接收站72。
数据发送站71,用于计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理。
数据接收站72,用于确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表,所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述目标数据完整,否则,则确定所述目标数据不完整。
数据发送站71的具体结构请参见图8,图8示出了本申请提供的数据发送站的一种结构示意图,数据发送站71包括:第一计算模块81和第一发送模块82。
第一计算模块81,用于计算出源数据的数据特征码,存储于第一数据特征码表,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理。
第一发送模块82,用于将所述源数据和所述第一数据特征码表发送至数据接收站。
数据接收站72的具体结构请参见图9,图9示出了本申请提供的数据接收站的一种结构示意图,数据接收站72包括:
第一确定模块91、第二计算模块92、第一比较模块93、第二确定模块94和第三确定模块95。
第一确定模块91,用于确定接收到的数据为目标数据。
第二计算模块92,用于计算出所述目标数据的数据特征码,存储于第二数据特征码表。
第一比较模块93,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第二确定模块94,否则,执行第三确定模块95。
所述第二确定模块94,用于确定所述目标数据完整。
所述第三确定模块95,用于确定所述目标数据不完整。
在本实施例中,在图8示出的数据发送站的基础上扩展出另外一种数据发送站,请参见图10,图10示出了本申请提供的数据发送站的另一种结构示意图,在图8的基础上还包括:
回读模块101、第二比较模块102、第四确定模块103和第二发送模块104。
回读模块101,用于从所述数据接收站回读所述第二数据特征码表。
第二比较模块102,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第四确定模块103。
所述第四确定模块103,用于确定所述数据接收站接收到的数据完整。
第二发送模块104,用于将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站。
在本实施例中,在图9示出的数据接收站的基础上扩展出另外一种数据接收站,请参见图11,图11示出了本申请提供的数据接收站的另一种结构示意图,在图9的基础上还包括:第五确定模块111,用于在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
在本实施例中,第一计算模块81具体可以包括:
第一划分单元,用于将所述源数据划分成预设个数的数据块。
第一计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中。
第一汇总单元,用于所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
第二计算模块92具体可以包括:
第二划分单元,用于按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块。
第二计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中。
第二汇总单元,用于将各个第二子数据特征码表汇总为第二数据特征码表。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种数据完整性校验方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种数据完整性校验方法,其特征在于,包括:
数据发送站计算出源数据的数据特征码,存储于第一数据特征码表,并将所述源数据和所述第一数据特征码表发送至数据接收站,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理;
所述数据接收站确定接收到的数据为目标数据,并计算出所述目标数据的数据特征码,存储于第二数据特征码表;
所述数据接收站比较所述第一数据特征码表和所述第二数据特征码表;
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述目标数据完整;
否则,则确定所述目标数据不完整;
所述数据发送站从所述数据接收站回读所述第二数据特征码表;
所述数据发送站比较所述第一数据特征码表和所述第二数据特征码表;
若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则确定所述数据接收站接收到的数据完整,并将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站;
所述数据接收站在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据发送站计算出源数据的数据特征码,存储于第一数据特征码表的过程,包括:
所述数据发送站将所述源数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中;
所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
3.根据权利要求2所述的方法,其特征在于,所述计算出所述目标数据的数据特征码,存储于第二数据特征码表的过程,包括:
所述数据接收站按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块,计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中;
所述数据接收站将各个第二子数据特征码表汇总为第二数据特征码表。
4.根据权利要求3所述的方法,其特征在于,所述源数据包括所述数据发送站中的全部数据块或部分数据块。
5.根据权利要求1所述的方法,其特征在于,所述数据特征码包括循环冗余校验码CRC。
6.一种数据完整性校验系统,其特征在于,包括数据发送站和数据接收站,其中:
数据发送站包括:
第一计算模块,用于计算出源数据的数据特征码,存储于第一数据特征码表,其中,所述源数据为对原始组态数据编译后的组态数据,未经过下载处理;
第一发送模块,用于将所述源数据和所述第一数据特征码表发送至数据接收站;
回读模块,用于从所述数据接收站回读所述第二数据特征码表;
第二比较模块,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第四确定模块;
所述第四确定模块,用于确定所述数据接收站接收到的数据完整;
第二发送模块,用于将第一数据特征码表和所述第二数据特征码表一致的比较结果发送至所述数据接收站;
所述数据接收站包括:
第一确定模块,用于确定接收到的数据为目标数据;
第二计算模块,用于计算出所述目标数据的数据特征码,存储于第二数据特征码表;
第一比较模块,用于比较所述第一数据特征码表和所述第二数据特征码表,若比较结果为所述第一数据特征码表和所述第二数据特征码表一致,则执行第二确定模块,否则,执行第三确定模块;
所述第二确定模块,用于确定所述目标数据完整;
所述第三确定模块,用于确定所述目标数据不完整;
第五确定模块,用于在确定所述数据接收站的比较结果和所述数据发送站发送的比较结果相同的情况下,信任所述目标数据。
7.根据权利要求6所述的系统,其特征在于,所述第一计算模块包括:
第一划分单元,用于将所述源数据划分成预设个数的数据块;
第一计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第一子数据特征码表中;
第一汇总单元,用于所述数据发送站将各个第一子数据特征码表汇总为第一数据特征码表。
8.根据权利要求7所述的系统,其特征在于,所述第二计算模块包括:
第二划分单元,用于按照所述数据发送站对所述源数据进行划分的方式,将所述目标数据划分成预设个数的数据块;
第二计算单元,用于计算出每个数据块的数据特征码,分别存储于各个数据块各自对应的第二子数据特征码表中;
第二汇总单元,用于将各个第二子数据特征码表汇总为第二数据特征码表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410184341.9A CN103957080B (zh) | 2014-04-30 | 2014-04-30 | 一种数据完整性校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410184341.9A CN103957080B (zh) | 2014-04-30 | 2014-04-30 | 一种数据完整性校验方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957080A CN103957080A (zh) | 2014-07-30 |
CN103957080B true CN103957080B (zh) | 2017-05-31 |
Family
ID=51334315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410184341.9A Active CN103957080B (zh) | 2014-04-30 | 2014-04-30 | 一种数据完整性校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957080B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809250B (zh) * | 2015-05-19 | 2018-08-03 | 福建新大陆电脑股份有限公司 | 一种松散式数据一致性校验方法 |
CN105262563B (zh) * | 2015-09-07 | 2018-02-23 | 南京科远自动化集团股份有限公司 | 一种提高通讯可靠性的冗余校验方法及系统 |
CN107220072A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 基于序列化格式的配置文件校验方法和装置 |
EP3264658A1 (en) * | 2016-06-30 | 2018-01-03 | Kamstrup A/S | Radio frequency communication system and method |
CN107622073A (zh) * | 2016-07-15 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN108416678A (zh) * | 2017-05-05 | 2018-08-17 | 平安科技(深圳)有限公司 | 多维度数据对账方法及系统 |
CN107689846B (zh) * | 2017-09-20 | 2021-01-26 | 深圳市盛路物联通讯技术有限公司 | 一种数据差错的检测方法及系统 |
CN109743133B (zh) * | 2018-12-25 | 2021-05-28 | 中国联合网络通信集团有限公司 | 数据对账方法及装置 |
CN109918545B (zh) * | 2019-03-26 | 2021-06-08 | 珠海格力智能装备有限公司 | 传感器数据的提取方法及装置 |
CN112688905B (zh) * | 2019-10-18 | 2023-04-18 | 华为云计算技术有限公司 | 数据传输方法、装置、客户端、服务器及存储介质 |
CN110839241A (zh) * | 2019-10-28 | 2020-02-25 | 东南大学 | 一种高速公路自由流行车数据完整性校验方法 |
CN111258295A (zh) * | 2020-01-15 | 2020-06-09 | 重庆长安汽车股份有限公司 | 验证大数据采集和上传准确性的系统及方法 |
CN113536309A (zh) * | 2021-07-07 | 2021-10-22 | 浙江中控技术股份有限公司 | 软件完整性的检测方法、装置、电子装置和存储介质 |
CN114756012B (zh) * | 2022-06-15 | 2022-09-06 | 杭州康吉森自动化科技有限公司 | 一种控制系统组态信息校验方法及控制系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
-
2014
- 2014-04-30 CN CN201410184341.9A patent/CN103957080B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103957080A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957080B (zh) | 一种数据完整性校验方法及系统 | |
Silberstein et al. | Error resilience in distributed storage via rank-metric codes | |
CN115907264B (zh) | 智慧燃气巡检片区生成方法、物联网系统、装置及介质 | |
KR20170094765A (ko) | 차량용 무선 소프트웨어 업데이트 방법 및 장치 | |
CN110032895A (zh) | 请求处理方法、处理装置以及请求验证方法、验证装置 | |
CN103780632B (zh) | 一种互联网文件完整性验证方法及其系统 | |
Silberstein et al. | Error-correcting regenerating and locally repairable codes via rank-metric codes | |
CN109842649A (zh) | 一种城市轨道交通设备健康管理方法及装置 | |
CN102045356A (zh) | 一种面向云存储的可信存储验证方法和系统 | |
CN107643882A (zh) | 一种数据可靠性的存储及恢复方法、系统及存储装置 | |
CN102833745A (zh) | 一种软件安全升级的方法、通信设备和通信系统 | |
KR101596753B1 (ko) | 메시지 인증 코드 분할을 통한 순차적 can 패킷 인증 방법 및 그 장치 | |
CN113901528A (zh) | 基于区块链的云端数据完整性审计方法 | |
EP4013002A1 (en) | Software package transmission method, software package transmission verification method, network device, and storage medium | |
CN114090693A (zh) | 基于拜占庭容错的区块链见证共识方法、系统、设备及存储介质 | |
CN112713996A (zh) | 基于区块链的故障验证方法、服务器和终端 | |
CN105608381A (zh) | 应用的测试方法和系统 | |
CN107786330B (zh) | 用于秘密共享的方法、装置、计算机存储介质及电子设备 | |
Chinthamu et al. | Self-Secure firmware model for Blockchain-Enabled IOT environment to Embedded system | |
CN113094437A (zh) | 一种基于Rsync的区块链状态数据同步方法及系统 | |
CN114090682A (zh) | 一种多通道联盟链上链方法、装置、设备及存储介质 | |
CN111694598A (zh) | 软件版本包管理方法、装置、设备和介质 | |
CN112153151A (zh) | 一种基于区块链的智能制造车间安全管理方法及系统 | |
CN105786453B (zh) | 一种大规模plc安全参数序列保护模块和方法 | |
CN110324422A (zh) | 一种云应用的证实方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |