CN104868973A - 数据完整性校验方法和系统 - Google Patents
数据完整性校验方法和系统 Download PDFInfo
- Publication number
- CN104868973A CN104868973A CN201410059107.3A CN201410059107A CN104868973A CN 104868973 A CN104868973 A CN 104868973A CN 201410059107 A CN201410059107 A CN 201410059107A CN 104868973 A CN104868973 A CN 104868973A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- verification
- daily record
- import
- 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.)
- Granted
Links
Abstract
本发明公开了数据完整性校验方法和系统。包括:校验服务器向节点发送校验指令;从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。本发明适用于所有的大数据传输校验应用,尤其适合传输流程较长、传输数据格式未知的应用。
Description
技术领域
本发明涉及云计算领域,尤其涉及数据完整性校验方法和系统。
背景技术
大数据传输通常是一个逐级汇聚转发的过程,如移动网DPI数据的传输,是基站、分局、区局、省公司到集团的逐级汇聚转发。汇聚转发的过程长、步骤多,期间很可能有数据损失,传输中的数据损失难以定位,难以追溯,不得不从最底层开始重发,代价太大。
发明内容
本发明的发明人发现上述现有技术中存在问题,并因此针对所述问题中的至少一个问题提出了一种新的技术方案。
根据本发明一方面,提出数据完整性校验方法,包括:
校验服务器向节点发送校验指令;
从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。
进一步,如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志;
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
进一步,如果节点响应校验指令,则校验服务器接收该节点的校验日志;
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等;
上述任一项不相等,则该节点故障,否则数据完整。
进一步,如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志;
判断上一节点的校验日志中的传出文件大小之和与下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
进一步,从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
进一步,从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
进一步,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加;下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小字段中携带的数值;
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。
进一步,传入文件大小是指各个传入文件各自的大小;传出文件大小是将传入文件合并为一个文件,该合并后文件的大小;
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
根据本发明另一方面,提出数据完整性校验系统,该系统包括校验服务器,其中,校验服务器包括:
分配单元,向节点发送校验指令;
校验单元,从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。
进一步,如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志;
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
进一步,如果节点响应校验指令,则校验单元接收该节点的校验日志;
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等;
上述任一项不相等,则该节点故障,否则数据完整。
进一步,如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志;
判断上一节点的校验日志中的传出文件大小之和与下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
进一步,从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
进一步,从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
进一步,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加;下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小字段中携带的数值;
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。
进一步,传入文件大小是指各个传入文件各自的大小;传出文件大小是将传入文件合并为一个文件,该合并后文件的大小;
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
本发明适用于所有的大数据传输校验应用,尤其适合传输流程较长、传输数据格式未知的应用。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1所示为本发明实施例中的数据完整性校验系统的结构示意图。
图2所示为本发明实施例中的校验日志的格式示意图。
图3所示为本发明实施例中的数据完整性校验方法的流程示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1所示为本发明实施例中的数据完整性校验系统的结构示意图。该系统包括至少一个节点和校验服务器。
校验服务器可以在节点上部署校验程序,该校验程序根据校验服务器的指令,可以调用节点上的CPU、内存等资源,计算数据的传入校验值和传出校验值等,并填入到校验日志中,提供给校验服务器。
这里所说的节点包括源节点、中间节点和目的节点,均可向校验服务器发送校验日志。源节点和目的节点的校验日志内容与中间节点的类似,但源节点没有传入数据相关的部分,目的节点没有传出数据相关的部分。
如图1所示,校验服务器包括分配单元和校验单元。其中:
分配单元,向节点发送校验指令。其中,校验指令的具体字段例如是:指令发出的时间戳、指令针对的传输任务号、指令针对的文件名、传入是否完全校验以及校验粒度、传出是否完全校验以及校验粒度。本领域技术人员应该可以理解,这里所说的字段只是用于举例,不应理解为对本发明的限制,可以据此进行相应的修改和变型。
校验单元,从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。其中,校验日志的实施例可以如图2所示。本领域技术人员应该可以理解,这里给出的校验日志只是用于举例,不应理解为对本发明的限制,可以据此进行相应的变型和修改。
该实施例部署独立的校验服务器,记录并控制整个流程上的数据校验。不需要改变现网服务器的硬件和软件,对现网运营没有影响。
第一实施例
如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志。即根据该不响应校验指令的节点的上一节点向该节点传入的数据、以及从该节点向下一节点传出的数据进行校验。
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等。
其中,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加,而各个传出文件大小是其各自节点的校验日志中的传入文件大小之和。下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小这个字段中携带的数值。
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。在计算上一节点的校验日志中的传出文件校验值时,是根据该上一节点接收到的传入文件分别计算得到的校验值,并将计算得到的校验值相加得到。而在计算下一节点的校验日志中的传入文件校验值时,是根据该下一节点接收到的传入文件计算得到的校验值。其中,节点传出的文件为所有传入文件的直接拼接,例如,传入文件为0011和0101,传出文件为00110101,则其校验值应为所有传入文件的校验值拼接的校验值,可以用异或码等保证上述校验算法。在计算校验值时,可以根据每个传入文件的大小进行计算,计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点的传输链路故障,否则数据完整。
在传输链路出现故障后,可以在故障链路之前的、未出现故障的、且与故障链路最近的链路处重新传送数据。从而避免了现有技术中从最底层传送数据,即浪费传输资源、又降低响应速度的缺陷。
在该实施例中,校验服务器可以为不便访问的节点提供代校验服务。或者说,即使节点不响应校验指令,校验服务器也可以对其进行校验。例如,生产系统中的节点、机密系统中的节点。其中,生产系统指直接处理企业业务的系统,例如电信的计费系统。生产系统需要长时间稳定高性能的运转,在生产系统上进行数据校验会加大系统负载,可能使性能下降;机密系统指存储着机密信息的系统,机密系统和校验服务器进行通信可能造成机密泄露。因此,这两种系统不与校验服务器通信,不实施数据校验。
第二实施例
如果节点响应校验指令,则校验单元接收该节点的校验日志。
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等。
其中,传入文件大小是指n个传入文件各自的大小;传出文件大小是将n个传入文件合并为一个文件,该合并后文件的大小。
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
例如,节点接收到n个文件,则传入文件校验值是根据接收到的n个传入文件分别计算得到的校验值。即分别根据接收到的n个传入文件:传入文件1、传入文件2、……、传入文件n计算得到的传入文件1校验值、传入文件2校验值、……、传入文件n校验值。
传出文件校验值是由节点将n个传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。其中,根据每个传入文件或者合并后文件的大小计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点故障,否则数据完整。
该实施例通过部署校验服务器,使校验服务器能够使用传输节点的本地资源实现数据校验。
第三实施例
如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志。即根据该节点的上一节点向该节点传入的数据、以及从该节点向下一节点传出的数据进行校验。
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等。
其中,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加,而各个传出文件大小是其各自节点的校验日志中的传入文件大小之和。下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小这个字段中携带的数值。
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。在计算上一节点的校验日志中的传出文件校验值时,是根据该上一节点接收到的传入文件分别计算得到的校验值,并将计算得到的校验值相加得到。而在计算下一节点的校验日志中的传入文件校验值时,是根据该下一节点接收到的传入文件计算得到的校验值。其中,节点传出的文件为所有传入文件的直接拼接,例如,传入文件为0011和0101,传出文件为00110101,则其校验值应为所有传入文件的校验值拼接的校验值,可以用异或码等保证上述校验算法。在计算校验值时,可以根据每个传入文件的大小进行计算,计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点的传输链路故障,否则数据完整。
在传输链路出现故障后,可以在故障链路之前的、未出现故障的、且与故障链路最近的链路处重新传送数据。从而避免了现有技术中从最底层传送数据,即浪费传输资源、又降低响应速度的缺陷。
该实施例通过部署校验服务器,使校验服务器能够使用传输节点的本地资源实现数据校验。其中,第二实施例和第三实施例都是针对节点响应校验指令的情况,只是第二实施例用于校验节点是否故障,第三实施例用于校验链路是否故障。
第四实施例
从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
其中,校验日志中包括的例如传入文件大小、传出文件大小、传入文件校验值以及传出文件校验值,其计算方法以及根据上述各个取值进行的校验方法可以参见上述各个实施例,在此不再赘述。当然,也可以根据上述各个实施例进行相应的变型和修改。
当整体数据校验的运算量太大时,改为从固定间隔抽取数据校验,固定间隔即粒度由校验服务器决定。可以根据节点本身的性能、负载、以及传输的数据量、或者说校验的工作量决定。节点性能越低、负载越高、数据量越大,则抽样越少,校验粒度越粗。反之,节点性能越高、负载越低、数据量越小,则抽样越多,校验粒度越细。根据该抽样文件进行校验,得到的校验结果代表整个文件的校验结果。
被传输的文件通常都是有很多很多行的表格,比如对电信来说就是上网记录之类,那么,校验粒度为1%的校验就是每100条粒度里面抽一条,组成一个被校验的文件,用这个抽样文件的校验结果代表整个文件的校验结果。同一粒度的校验保有校验值不变性,就是指每次做1%抽样校验的时候,都是抽样同一个位置,这样除非传输出现错误,否则校验值不变。
该实施例对于校验运算量过大需要降低负载的情况,可以减少运算的工作量。
第五实施例
如果文件经过压缩,则由节点将压缩包连接后进行传输,并通知其下一节点某个文件已压缩,该下一节点对压缩包做文件连接,把未压缩的数据解析出记录,合并成格式完整的数据表格。最终收到文件的节点根据校验日志或节点间的通信获知文件中每个压缩包的大小,把文件切分成压缩包,再解压获得数据。
从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
其中,校验日志中包括的传入文件大小是指传入文件各自的大小;传出文件大小是将接收到的传入文件合并为一个文件,该合并后文件的大小。
对压缩包的校验是根据设置的切分长度将压缩包切成记录,根据记录计算得到的校验值为传入文件校验值,传出文件校验值是根据合并后的文件计算得到的校验值。
节点根据设置的切分长度将压缩包切成记录进行校验,这些记录的校验方法和未压缩的文件相同。其中,切分长度可以由校验服务器进行设定。例如,校验算法是异或,那具体的校验算法就是“记录1XOR记录2XOR记录3XOR……XOR记录n=校验值”。
校验算法要求所有记录等长,而自定义记录长度对压缩包进行切分很可能最后一个记录比前面切出来的记录短,于是,如果出现不能整除的情况,即最后一个校验用记录长度不到要求,则用0补齐。
其中,根据校验日志中的上述各个取值进行的校验方法可以参见上述各个实施例,在此不再赘述。当然,也可以根据上述各个实施例进行相应的变型和修改。
该实施例中,传输的数据可以是压缩包,因此可以减少节点之间的传输负担。并且,对于包含压缩包形式的数据,不仅可以解压获取要传输的数据,而且可以对压缩包进行校验。
图2所示为本发明另一实施例中的校验日志的格式示意图。
在该实施例中,校验日志包括:
传入节点1的ID、传入节点2的ID、……、传入节点n的ID;
传入文件1大小、传入文件2大小、……、传入文件n大小;
传入文件1校验值、传入文件2校验值、……、传入文件n校验值;
传入文件1校验粒度、传入文件2校验粒度、……、传入文件n校验粒度;
传出节点ID;
传出文件大小;
传出文件校验值;
传出文件校验粒度。
本领域技术人员应该可以理解,上述校验日志包括的内容只是用于举例说明,不应理解为对本发明的限制,可以据此进行相应的变型和修改。
针对企业级的大数据汇聚和传输应用,本发明提出了数据完整性校验方法和系统。在不改变原有数据传输流程的前提下,在传输的各个节点上加载负载可变的校验程序(其中,负载可变是指降低校验粒度的抽样校验。例如,抽样1%的数据进行校验,则校验的负载就是全部校验的1%),并向校验服务器传输轻量级的校验日志;校验服务器通过校验日志的数据监测每一环节的数据完整性,在某一传输环节的两端数据不一致时,可以认为在该环节发生传输错误,向该环节的主管单位发出警告。例如,传输流程是a1->a2->a3->a4,其中,a3接收数据并校验无误,但a4上校验有误,就能把传输错误定位到a3->a4之间。本发明适用于所有的大数据传输校验应用,尤其适合传输流程较长、传输数据格式未知的应用。
图3所示为本发明实施例中的数据完整性校验方法的流程示意图。
在步骤31,校验服务器向节点发送校验指令。其中,校验指令的具体字段例如是:指令发出的时间戳、指令针对的传输任务号、指令针对的文件名、传入是否完全校验以及校验粒度、传出是否完全校验以及校验粒度。本领域技术人员应该可以理解,这里所说的字段只是用于举例,不应理解为对本发明的限制,可以据此进行相应的修改和变型。
在步骤32,从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。其中,校验日志的实施例可以如图2所示。本领域技术人员应该可以理解,这里给出的校验日志只是用于举例,不应理解为对本发明的限制,可以据此进行相应的修改和变型。
该实施例部署独立的校验服务器,记录并控制整个流程上的数据校验。不需要改变现网服务器的硬件和软件,对现网运营没有影响。
在一实施例中,步骤32还包括以下操作:
如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志。即根据该不响应校验指令的节点的上一节点向该节点传入的数据、以及从该节点向下一节点传出的数据进行校验。
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等。
其中,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加,而各个传出文件大小是其各自节点的校验日志中的传入文件大小之和。下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小这个字段中携带的数值。
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。在计算上一节点的校验日志中的传出文件校验值时,是根据该上一节点接收到的传入文件分别计算得到的校验值,并将计算得到的校验值相加得到。而在计算下一节点的校验日志中的传入文件校验值时,是根据该下一节点接收到的传入文件计算得到的校验值。其中,节点传出的文件为所有传入文件的直接拼接,例如,传入文件为0011和0101,传出文件为00110101,则其校验值应为所有传入文件的校验值拼接的校验值,可以用异或码等保证上述校验算法。在计算校验值时,可以根据每个传入文件的大小进行计算,计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点的传输链路故障,否则数据完整。
在传输链路出现故障后,可以在故障链路之前的、未出现故障的、且与故障链路最近的链路处重新传送数据。从而避免了现有技术中从最底层传送数据,即浪费传输资源、又降低响应速度的缺陷。
在该实施例中,校验服务器可以为不便访问的节点提供代校验服务。或者说,即使节点不响应校验指令,校验服务器也可以对其进行校验。例如,生产系统中的节点、机密系统中的节点。其中,生产系统指直接处理企业业务的系统,例如电信的计费系统。生产系统需要长时间稳定高性能的运转,在生产系统上进行数据校验会加大系统负载,可能使性能下降;机密系统指存储着机密信息的系统,机密系统和校验服务器进行通信可能造成机密泄露。因此,这两种系统不与校验服务器通信,不实施数据校验。
在一实施例中,步骤32还包括以下操作:
如果节点响应校验指令,则校验服务器接收该节点的校验日志。
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等。
其中,传入文件大小是指n个传入文件各自的大小;传出文件大小是将n个传入文件合并为一个文件,该合并后文件的大小。
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
例如,节点接收到n个文件,则传入文件校验值是根据接收到的n个传入文件分别计算得到的校验值。即分别根据接收到的n个传入文件:传入文件1、传入文件2、……、传入文件n计算得到的传入文件1校验值、传入文件2校验值、……、传入文件n校验值。
传出文件校验值是由节点将n个传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。其中,根据每个传入文件或者合并后文件的大小计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点故障,否则数据完整。
该实施例通过部署校验服务器,使校验服务器能够使用传输节点的本地资源实现数据校验。
在一实施例中,步骤32还包括以下操作:
如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志。即根据该节点的上一节点向该节点传入的数据、以及从该节点向下一节点传出的数据进行校验。
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等。
其中,上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加,而各个传出文件大小是其各自节点的校验日志中的传入文件大小之和。下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小这个字段中携带的数值。
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。在计算上一节点的校验日志中的传出文件校验值时,是根据该上一节点接收到的传入文件分别计算得到的校验值,并将计算得到的校验值相加得到。而在计算下一节点的校验日志中的传入文件校验值时,是根据该下一节点接收到的传入文件计算得到的校验值。其中,节点传出的文件为所有传入文件的直接拼接,例如,传入文件为0011和0101,传出文件为00110101,则其校验值应为所有传入文件的校验值拼接的校验值,可以用异或码等保证上述校验算法。在计算校验值时,可以根据每个传入文件的大小进行计算,计算校验值的方法可以由校验服务器通知相应节点,可以采用现有计算校验值的方法,例如,异或校验、奇偶校验、循环冗余校验等。
上述任一项不相等,即大小或校验值,则该节点的传输链路故障,否则数据完整。
在传输链路出现故障后,可以在故障链路之前的、未出现故障的、且与故障链路最近的链路处重新传送数据。从而避免了现有技术中从最底层传送数据,即浪费传输资源、又降低响应速度的缺陷。
该实施例通过部署校验服务器,使校验服务器能够使用传输节点的本地资源实现数据校验。
在一实施例中,步骤32还包括以下操作:
从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
其中,校验日志中包括的例如传入文件大小、传出文件大小、传入文件校验值以及传出文件校验值,其计算方法以及根据上述各个取值进行的校验方法可以参见上述各个实施例,在此不再赘述。当然,也可以根据上述各个实施例进行相应的变型和修改。
当整体数据校验的运算量太大时,改为从固定间隔抽取数据校验,固定间隔即粒度由校验服务器决定。可以根据节点本身的性能、负载、以及传输的数据量、或者说校验的工作量决定。节点性能越低、负载越高、数据量越大,则抽样越少,校验粒度越粗。反之,节点性能越高、负载越低、数据量越小,则抽样越多,校验粒度越细。根据该抽样文件进行校验,得到的校验结果代表整个文件的校验结果。
被传输的文件通常都是有很多很多行的表格,比如对电信来说就是上网记录之类,那么,校验粒度为1%的校验就是每100条粒度里面抽一条,组成一个被校验的文件,用这个抽样文件的校验结果代表整个文件的校验结果。同一粒度的校验保有校验值不变性,就是指每次做1%抽样校验的时候,都是抽样同一个位置,这样除非传输出现错误,否则校验值不变。
该实施例对于校验运算量过大需要降低负载的情况,可以减少运算的工作量。
在一实施例中,步骤32还包括以下操作:
如果文件经过压缩,则由节点将压缩包连接后进行传输,并通知其下一节点某个文件已压缩,该下一节点对压缩包做文件连接,把未压缩的数据解析出记录,合并成格式完整的数据表格。最终收到文件的节点根据校验日志或节点间的通信获知文件中每个压缩包的大小,把文件切分成压缩包,再解压获得数据。
从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
其中,校验日志中包括的传入文件大小是指传入文件各自的大小;传出文件大小是将接收到的传入文件合并为一个文件,该合并后文件的大小。
对压缩包的校验是根据设置的切分长度将压缩包切成记录,根据记录计算得到的校验值为传入文件校验值,传出文件校验值是根据合并后的文件计算得到的校验值。
节点根据设置的切分长度将压缩包切成记录进行校验,这些记录的校验方法和未压缩的文件相同。其中,切分长度可以由校验服务器进行设定。例如,校验算法是异或,那具体的校验算法就是“记录1XOR记录2XOR记录3XOR……XOR记录n=校验值”。
校验算法要求所有记录等长,而自定义记录长度对压缩包进行切分很可能最后一个记录比前面切出来的记录短,于是,如果出现不能整除的情况,即最后一个校验用记录长度不到要求,则用0补齐。
其中,根据校验日志中的上述各个取值进行的校验方法可以参见上述各个实施例,在此不再赘述。当然,也可以根据上述各个实施例进行相应的变型和修改。
该实施例中,传输的数据可以是压缩包,因此可以减少节点之间的传输负担。并且,对于包含压缩包形式的数据,不仅可以解压获取要传输的数据,而且可以对压缩包进行校验。
针对企业级的大数据汇聚和传输应用,本发明提出了数据完整性校验方法和系统。在不改变原有数据传输流程的前提下,在传输的各个节点上加载负载可变的校验程序(其中,负载可变是指降低校验粒度的抽样校验。例如,抽样1%的数据进行校验,则校验的负载就是全部校验的1%),并向校验服务器传输轻量级的校验日志;校验服务器通过校验日志的数据监测每一环节的数据完整性,在某一传输环节的两端数据不一致时,可以认为在该环节发生传输错误,向该环节的主管单位发出警告。例如,传输流程是a1->a2->a3->a4,其中,a3接收数据并校验无误,但a4上校验有误,就能把传输错误定位到a3->a4之间。本发明适用于所有的大数据传输校验应用,尤其适合传输流程较长、传输数据格式未知的应用。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (16)
1.数据完整性校验方法,其特征在于:
校验服务器向节点发送校验指令;
从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。
2.根据权利要求1所述数据完整性校验方法,其特征在于:
如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志;
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
3.根据权利要求1所述数据完整性校验方法,其特征在于:
如果节点响应校验指令,则校验服务器接收该节点的校验日志;
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等;
上述任一项不相等,则该节点故障,否则数据完整。
4.根据权利要求1所述数据完整性校验方法,其特征在于:
如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验服务器接收上一节点的校验日志,以及下一节点的校验日志;
判断上一节点的校验日志中的传出文件大小之和与下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
5.根据权利要求1至4中任一所述数据完整性校验方法,其特征在于:
从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
6.根据权利要求1至4中任一所述数据完整性校验方法,其特征在于:
从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
7.根据权利要求2或4所述数据完整性校验方法,其特征在于:
上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加;下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小字段中携带的数值;
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。
8.根据权利要求3所述数据完整性校验方法,其特征在于:
传入文件大小是指各个传入文件各自的大小;传出文件大小是将传入文件合并为一个文件,该合并后文件的大小;
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
9.数据完整性校验系统,其特征在于,包括校验服务器,其中,校验服务器包括:
分配单元,向节点发送校验指令;
校验单元,从响应于校验指令的节点接收校验日志,并根据校验日志监测数据的完整性。
10.根据权利要求9所述数据完整性校验系统,其特征在于:
如果节点不响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志;
判断该节点的上一节点的校验日志中的传出文件大小之和与该节点的下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
11.根据权利要求9所述数据完整性校验系统,其特征在于:
如果节点响应校验指令,则校验单元接收该节点的校验日志;
判断校验日志中的传入文件大小之和与传出文件大小是否相等、和/或传入文件校验值之和与传出文件校验值是否相等;
上述任一项不相等,则该节点故障,否则数据完整。
12.根据权利要求9所述数据完整性校验系统,其特征在于:
如果节点响应校验指令,且其上一节点和下一节点响应于校验指令,则校验单元接收上一节点的校验日志,以及下一节点的校验日志;
判断上一节点的校验日志中的传出文件大小之和与下一节点的校验日志中的传入文件大小是否相等,和/或上一节点的校验日志中的传出文件校验值之和与下一节点的校验日志中的传入文件校验值是否相等;
上述任一项不相等,则该节点的传输链路故障,否则数据完整。
13.根据权利要求9至12中任一所述数据完整性校验系统,其特征在于:
从响应于校验指令的节点接收的校验日志是节点根据抽样密度得到抽样文件,并根据该抽样文件得到的校验日志。
14.根据权利要求9至12中任一所述数据完整性校验系统,其特征在于:
从响应于校验指令的节点接收的校验日志是由节点接收到的包含压缩包的数据,并对其进行校验得到校验日志。
15.根据权利要求10或12所述数据完整性校验方法,其特征在于:
上一节点的校验日志中的传出文件大小之和是将该上一节点的各个校验日志中的传出文件大小进行相加;下一节点的校验日志中的传入文件大小是该校验日志中的传入文件大小字段中携带的数值;
传出文件校验值是指该上一节点的校验日志中的传入文件校验值之和;传入文件校验值是根据接收到的传入文件计算得到的校验值。
16.根据权利要求11所述数据完整性校验方法,其特征在于:
传入文件大小是指各个传入文件各自的大小;传出文件大小是将传入文件合并为一个文件,该合并后文件的大小;
传入文件校验值是该节点根据接收到的传入文件分别计算得到的校验值;传出文件校验值是由节点将传入文件合并为一个文件,并根据合并后的文件计算得到的校验值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059107.3A CN104868973B (zh) | 2014-02-21 | 2014-02-21 | 数据完整性校验方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410059107.3A CN104868973B (zh) | 2014-02-21 | 2014-02-21 | 数据完整性校验方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104868973A true CN104868973A (zh) | 2015-08-26 |
CN104868973B CN104868973B (zh) | 2018-09-11 |
Family
ID=53914525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410059107.3A Active CN104868973B (zh) | 2014-02-21 | 2014-02-21 | 数据完整性校验方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104868973B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608530A (zh) * | 2015-12-18 | 2016-05-25 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN110704461A (zh) * | 2019-09-05 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种数据校验方法、装置、计算机设备及可读存储介质 |
CN110784479A (zh) * | 2019-11-01 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN112286883A (zh) * | 2020-11-04 | 2021-01-29 | 中国电力财务有限公司 | 电子单据的处理方法及相关装置、计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494801A (zh) * | 2008-01-21 | 2009-07-29 | 华为技术有限公司 | 故障恢复方法、系统及网络设备 |
US20090271447A1 (en) * | 2008-04-28 | 2009-10-29 | Shin Kang Soo | Method for synchronizing contents file and device for employing the same |
CN101976322A (zh) * | 2010-11-11 | 2011-02-16 | 清华大学 | 基于一种完整性校验的安全元数据管理方法 |
CN102158890A (zh) * | 2011-02-16 | 2011-08-17 | 中国联合网络通信集团有限公司 | 测试数据的发送、接收方法、设备和系统 |
CN103377251A (zh) * | 2012-04-27 | 2013-10-30 | 百度在线网络技术(北京)有限公司 | 用于hdfs的文件比较方法及装置 |
-
2014
- 2014-02-21 CN CN201410059107.3A patent/CN104868973B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494801A (zh) * | 2008-01-21 | 2009-07-29 | 华为技术有限公司 | 故障恢复方法、系统及网络设备 |
US20090271447A1 (en) * | 2008-04-28 | 2009-10-29 | Shin Kang Soo | Method for synchronizing contents file and device for employing the same |
CN101976322A (zh) * | 2010-11-11 | 2011-02-16 | 清华大学 | 基于一种完整性校验的安全元数据管理方法 |
CN102158890A (zh) * | 2011-02-16 | 2011-08-17 | 中国联合网络通信集团有限公司 | 测试数据的发送、接收方法、设备和系统 |
CN103377251A (zh) * | 2012-04-27 | 2013-10-30 | 百度在线网络技术(北京)有限公司 | 用于hdfs的文件比较方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608530A (zh) * | 2015-12-18 | 2016-05-25 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN105608530B (zh) * | 2015-12-18 | 2020-01-14 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN110704461A (zh) * | 2019-09-05 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种数据校验方法、装置、计算机设备及可读存储介质 |
CN110784479A (zh) * | 2019-11-01 | 2020-02-11 | 北京奇艺世纪科技有限公司 | 一种数据校验方法、装置、电子设备及存储介质 |
CN112286883A (zh) * | 2020-11-04 | 2021-01-29 | 中国电力财务有限公司 | 电子单据的处理方法及相关装置、计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104868973B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699599B (zh) | 一种基于Storm实时流计算框架的消息可靠处理保障方法 | |
CN110995513B (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN109508295B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
US10740198B2 (en) | Parallel partial repair of storage | |
CN102752402A (zh) | 一种云存储方法及系统 | |
CN108241576B (zh) | 一种接口测试方法及系统 | |
CN104868973A (zh) | 数据完整性校验方法和系统 | |
CN101753586A (zh) | 发送数据的方法、接收数据的处理方法和装置 | |
CN109542781B (zh) | 区块链共识算法测试方法、装置、计算装置和存储介质 | |
CN111338893A (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN104767655A (zh) | 一种模拟结果检测方法及装置 | |
CN113570479B (zh) | 一种房产交易数据的区块链传输方法、系统及存储介质 | |
WO2018076629A1 (zh) | 一种数据备份方法、节点及数据备份系统 | |
JP2017536624A (ja) | スナップショット処理方法および関係付けられたデバイス | |
CN110768840A (zh) | 通信设备的控制方法、装置、设备及存储介质 | |
CN104348578A (zh) | 数据处理的方法及装置 | |
CN110442601B (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
CN104579717B (zh) | Dcn的故障定位方法及装置 | |
CN113360935A (zh) | 一种基于区块链技术的对账方法及系统 | |
CN102523205A (zh) | 内容校验和的确定方法及装置 | |
JP6364727B2 (ja) | 情報処理システム、分散処理方法、及び、プログラム | |
US20170351666A1 (en) | Secure hyper transfer of large files | |
CN104699799A (zh) | 基于跨系统数据传输方法 | |
CN109219105A (zh) | 路由切换方法以及路由切换系统 | |
CN106230740A (zh) | 一种vxlan中的报文转发方法及装置 |
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 |