物联网大数据快速校验方法转让专利

申请号 : CN201310066481.1

文献号 : CN103106068B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王勃陈曙东陈岚

申请人 : 江苏中科物联网科技创业投资有限公司

摘要 :

本发明提供一种物联网大数据快速校验方法,包括大文件上传验证方法和大文件下载校验方法两个部分。大文件上传验证方法包括对大文件进行分割预处理、多线程验证块文件和关节节点、多线程上传、形成验证文件、验证文件上传等步骤。大文件下载校验方法包括下载验证文件、多线程并发下载块文件、多线程并发验证块文件的正确性、组合文件、校验文件组合的整体正确性等步骤。本发明用于物联网中形成的大数据文件的快速验证,有效解决了物联网大数据处理中的大文件验证速度瓶颈问题。

权利要求 :

1. 一种物联网大数据快速校验方法,其特征在于:包括大文件上传验证方法和大文件下载校验方法;

所述大文件上传验证方法具体包括以下步骤:

步骤101,客户端调用大文件存储API;

步骤102,将大文件数据进行分割预处理,包括计算文件的大小,计算待分割的文件块数,每个块文件的数据偏移量,块文件接合处关节节点的节点数和节点偏移量,将大文件分割成多个块文件,每个块文件编有相应的序号,从而形成分割信息;

步骤103,初始化块文件验证线程池,根据块文件数和关节节点数来启用对应数量的线程进行并发验证,对其中每个块文件和每个关节节点进行单独验证,得到每个块文件和每个关节节点的校验信息;

步骤104,客户端与存储服务器集群的分布式文件系统建立连接,启用多线程将形成的多个块文件并发上传至分布式文件系统,并记录每一个块文件在分布式文件系统中的存储位置;

步骤105,将大文件分割信息、每个块文件和每个关节节点的校验信息、每个块文件在分布式文件系统中的存储位置保存到结构化数据文件中,形成验证文件;

步骤106,上传步骤105中形成的验证文件至存储服务器集群;

所述大文件下载校验方法具体包括以下步骤:

步骤201,客户端调用大文件下载API;

步骤202,与存储服务器集群建立连接,根据需要下载的大文件名称与文件ID查找相对应的验证文件,并下载该验证文件;

步骤203,根据需要下载的文件的大小在客户端磁盘中开辟相应的存储空间,用来存储大文件;

步骤204,客户端根据验证文件中记录的每个块文件在分布式文件系统中的存储位置,启用多线程并发下载每一个块文件至客户端,并根据验证文件中每一个块文件的校验信息多线程并发验证块文件的正确性;

步骤205,根据块文件的序号和块文件的数据偏移量组合文件并保存在客户端;

步骤206,最后使用关节节点验证机制校验文件组合的整体正确性,客户端根据验证文件中记录的每个关节节点的校验信息多线程并发验证关节节点的正确性。

说明书 :

物联网大数据快速校验方法

技术领域

[0001] 本发明涉及一种数据处理方法,尤其是一种物联网大数据快速校验方法。

背景技术

[0002] 在物联网高速发展的时代,随着视频监控等设备的普及和互联网接入,大数据性特征愈加明显。目前业界对于各类型数据的分布式存储研究较多。但在数据验证领域研究的较少,鲜有新的突破。业内基本上都采取利用传统的MD5,CRC32,SHA1等算法对文件直接校验的方式。这些算法的思想如下:
[0003] (1)MD5:对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
[0004] (2)CRC:CRC校验码的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(即CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。
[0005] (3)SHA:SHA又叫安全散列算法。SHA家族算法有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512(后四者通常并称SHA2),原理和MD4、MD5相似。SHA可将一个最大2^64位(2305843009213693952字节)信息,转换成一串160位(20字节)的散列值(摘要信息),是目前应用最广的HASH算法。
[0006] 通过这些算法的描述我们可以看出,这些主流文件校验方式都是将原始数据转化成一个连续的比特流,然后对这个比特流进行迭代处理,最后计算出验证结果。这种模式在处理较大的单个文件时,需要将整个大文件下载完毕,并将整个大文件按照连续的比特流处理,无法边下载边验证。此时验证文件所需的时间和空间要求较高,系统开销增大,严重影响了系统对于大文件上传下载的处理速度。

发明内容

[0007] 本发明的目的是克服现有技术中存在的不足,提出一种物联网大数据快速校验方法,包括大文件上传验证方法和大文件下载校验方法。大文件上传验证方法对大文件数据进行分割预处理后形成多个块文件和关节节点,然后进行多线程并发验证和多线程并发上传;大文件下载校验方法启用多线程并发下载块文件至客户端,并多线程并发验证块文件的正确性,组合文件,最后校验文件组合的整体正确性。本发明采用的技术方案是:
[0008] 一种物联网大数据快速校验方法,包括大文件上传验证方法和大文件下载校验方法;
[0009] 所述大文件上传验证方法具体包括以下步骤:
[0010] 步骤101,客户端调用大文件存储API;
[0011] 步骤102,将大文件数据进行分割预处理,包括计算文件的大小,计算待分割的文件块数,每个块文件的数据偏移量,块文件接合处关节节点的节点数和节点偏移量,将大文件分割成多个块文件,每个块文件编有相应的序号;从而形成分割信息;
[0012] 步骤103,初始化块文件验证线程池,根据块文件数和关节节点数来启用对应数量的线程进行并发验证,对其中每个块文件和每个关节节点进行单独验证,得到每个块文件和每个关节节点的校验信息;此步骤中对块文件和关节节点的并发验证可以采用MD5验证或者CRC32进行校验。
[0013] 步骤104,客户端与存储服务器集群的分布式文件系统建立连接,启用多线程将上述形成的多个块文件并发上传至分布式文件系统,并记录每一个块文件在分布式文件系统中的存储位置;
[0014] 步骤105,将上述大文件分割信息、每个块文件和每个关节节点的校验信息、每个块文件在分布式文件系统中的存储位置保存到结构化数据文件中,形成验证文件;
[0015] 步骤106,上传步骤105中形成的验证文件至服务器;
[0016] 所述大文件下载校验方法具体包括以下步骤:
[0017] 步骤201,客户端调用大文件下载API;
[0018] 步骤202,与存储服务器集群建立连接,根据需要下载的大文件名称与文件ID查找相对应的验证文件,并下载该验证文件;
[0019] 步骤203,根据需要下载的文件的大小在客户端磁盘中开辟相应的存储空间,用来存储大文件;
[0020] 步骤204,客户端根据验证文件中记录的每个块文件在分布式文件系统中的存储位置,启用多线程并发下载每一个块文件至客户端,并根据验证文件中每一个块文件的校验信息多线程并发验证块文件的正确性;
[0021] 步骤205,根据块文件的序号和块文件的数据偏移量组合文件并保存在客户端;
[0022] 步骤206,最后使用关节结点验证机制校验文件组合的整体正确性;客户端根据验证文件中记录的每个关节节点的校验信息多线程并发验证关节节点的正确性。
[0023] 本发明的优点:本发明利用多线程处理技术对大数据文件进行并行分块验证,并将验证信息保存至结构化数据文件中,连同块文件一同上传到服务器端保存。下载时启用多线程并发下载块文件,并多线程并发验证块文件的正确性。新的文件验证模式会将文件验证速度大大提高,有效提高物联网大文件验证速度。本方法层次清晰,通用性较好,适用范围广,文件验证快速可靠。有效解决了物联网大数据处理中的大文件验证速度瓶颈问题,提升分布式文件系统的整体性能。

附图说明

[0024] 图1为本发明的大文件上传验证流程图。
[0025] 图2为本发明的大文件下载校验流程图。
[0026] 图3为本发明的关节结点示意图。

具体实施方式

[0027] 下面结合具体附图和实施例对本发明作进一步说明。
[0028] 按照本发明提供的技术方案,新型物联网大数据快速校验方法包括大文件上传验证方法和大文件下载校验方法两个部分。大文件上传验证方法包括对大文件进行分割预处理、多线程验证块文件和关节节点、多线程上传、形成验证文件、验证文件上传等步骤。大文件下载校验方法包括下载验证文件、多线程并发下载块文件、多线程并发验证块文件的正确性、组合文件、校验文件组合的整体正确性等步骤。
[0029] 大文件上传验证方法具体如图1所示,具体包括以下步骤:
[0030] 步骤101,客户端调用大文件存储API;
[0031] 步骤102,将大文件数据进行分割预处理,包括计算文件的大小,计算待分割的文件块数,每个块文件的数据偏移量,块文件接合处关节节点(joint node)的节点数和节点偏移量,将大文件分割成多个块文件,每个块文件编有相应的序号;从而形成分割信息;
[0032] 步骤103,初始化块文件验证线程池,根据块文件数和关节节点数来启用对应数量的线程进行并发验证,对其中每个块文件和每个关节节点进行单独验证,得到每个块文件和每个关节节点的校验信息;此步骤中对块文件和关节节点的并发验证可以采用MD5验证或者CRC32进行校验。
[0033] 步骤104,客户端与存储服务器集群的分布式文件系统建立连接,启用多线程将上述形成的多个块文件并发上传至分布式文件系统,并记录每一个块文件在分布式文件系统中的存储位置;
[0034] 步骤105,将上述大文件分割信息、每个块文件和每个关节节点的校验信息、每个块文件在分布式文件系统中的存储位置保存到结构化数据文件中,形成验证文件;
[0035] 步骤106,上传步骤105中形成的验证文件至服务器。
[0036] 大文件下载校验方法如图2所示,具体包括以下步骤:
[0037] 步骤201,客户端调用大文件下载API;
[0038] 步骤202,与存储服务器集群建立连接,根据需要下载的大文件名称与文件ID查找相对应的验证文件,并下载该验证文件;
[0039] 步骤203,根据需要下载的文件的大小在客户端磁盘中开辟相应的存储空间,用来存储大文件;
[0040] 步骤204,客户端根据验证文件中记录的每个块文件在分布式文件系统中的存储位置,启用多线程并发下载每一个块文件至客户端,并根据验证文件中每一个块文件的校验信息多线程并发验证块文件的正确性;
[0041] 步骤205,根据块文件的序号和块文件的数据偏移量组合文件并保存在客户端;
[0042] 步骤206,最后使用关节结点验证机制校验文件组合的整体正确性;以保证块文件之间的正确结合。客户端根据验证文件中记录的每个关节节点的校验信息多线程并发验证关节节点的正确性。
[0043] 如图3所示,关节节点位于文件分割的位置,包含了前一个块文件的部分数据和相邻的后一个块文件的部分数据;假如两个相邻的块文件中间位置的偏移量为P1,则P1+k与P1-k之间的大小为2k的数据块组成了一个关节节点。其中k的大小根据验证速度要求和准确率要求而定。验证速度要求越高,k的值越小,准确率要求越高,k的值越大(k必须小于分块文件大小的一半,否则会造成运算的浪费)。由于文件组合是顺序的组合,一些错误(例如IO缓冲不畅,块顺序组合错误等)会造成大文件部分数据的“偏移”,关节节点的验证可以保证每个数据块都处于正确的位置上,并保证块顺序的正确性,同时又不需要对大文件进行整体校验,所以可以在性能与验证速度间取得折衷。
[0044] 上文所提出的物联网大数据快速校验方法,对大文件进行拆分、验证、下载后组合、再校验的处理。假设传统模式下单独下载大文件所需时间为T1,对大文件直接验证的时间为T2,所需总时间为T1+T2,期间没有任何并行操作。当文件分割为n块之后,每次只需要对原文件1/n大小的文件进行验证,验证时间缩短。在多核并行处理过程中,假设开启了m个并发验证的线程数(m≤n),会使验证时间趋近于原来的T2/m。在下载校验过程中,在验证已下载的块文件的时候,还没有下载完成的其它块文件可以同时进行下载。新的验证方式在保证文件完整性和正确性的前提下,大幅提高了大文件处理速度,提升了物联网大数据上传下载应用领域系统的整体性能,有效解决了物联网大数据处理中的大文件验证速度瓶颈问题。