数据校验方法、装置、计算机设备和存储介质与流程

文档序号:18985487发布日期:2019-10-29 04:20阅读:200来源:国知局
数据校验方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种数据校验方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,云时代的已经到来,各业务系统存储、处理的数据量呈几何级数增长,大数据吸引了越来越多的关注。在数据传输、数据迁移或系统升级等处理过程中,均需要对处理前后的数据进行校验,已确保数据的完整性和一致性。

然而,随着数据量的急剧增长,目前通过数据一一比对的数据校验方法,数据校验效率低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高数据校验效率的数据校验方法、装置、计算机设备和存储介质。

一种数据校验方法,所述方法包括:

获取待校验数据和待校验数据对应的原始数据;

根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

在其中一个实施例中,获取待校验数据和待校验数据对应的原始数据包括:

确定待校验数据所属的业务类型;

查询业务类型对应预设的数据校验优先级;

按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

在其中一个实施例中,根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段包括:

查询预设的数据校验规则,并根据数据校验规则确定数据校验段;

按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

在其中一个实施例中,比较待校验字段的字段哈希值和原始字段的字段哈希值包括:

获取预设的字段哈希函数;

根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值;

将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。

在其中一个实施例中,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目包括:

当字段比较结果为不一致时,确定待校验数据的数据长度;

获取预设的校验数据划分规则;

根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目。

在其中一个实施例中,比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果包括:

获取预设的子字段哈希函数;

根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;

将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;

根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

在其中一个实施例中,在根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段之后,还包括:

获取出错数据段对应的原始数据段;

将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

一种数据校验装置,所述装置包括:

数据获取模块,用于获取待校验数据和待校验数据对应的原始数据;

校验字段确定模块,用于根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

字段比较模块,用于比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

字段拆分模块,用于按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

校验结果获取模块,用于比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待校验数据和待校验数据对应的原始数据;

根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待校验数据和待校验数据对应的原始数据;

根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

上述数据校验方法、装置、计算机设备和存储介质,通过比较待校验数据中待校验字段的字段哈希值和原始数据中原始字段的字段哈希值,降低了数据校验时对比的数据量,且在字段比较结果不一致时,根据待校验数据的数据长度将待校验字段和原始字段进行拆分,并通过比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,可以对出错数据进行快速定位,提高了数据校验效率。

附图说明

图1为一个实施例中数据校验方法的应用场景图;

图2为一个实施例中数据校验方法的流程示意图;

图3为一个实施例中字段校验的流程示意图;

图4为另一个实施例中数据校验方法的流程示意图;

图5为一个实施例中数据校验装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的数据校验方法,可以应用于如图1所示的应用环境中。其中,服务器102分别与校验数据库服务器104和原数据库服务器106连接。服务器102从校验数据库服务器104中获取待校验数据,从原数据库服务器106中获取待校验数据对应的原始数据,通过比较待校验数据中待校验字段的字段哈希值和原始数据中原始字段的字段哈希值,且在字段比较结果不一致时,根据待校验数据的数据长度将待校验字段和原始字段进行拆分,并通过比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,可以对出错数据进行快速定位,得到数据校验结果。其中,服务器102、校验数据库服务器104和原数据库服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种数据校验方法,以该方法应用于图1中的服务器102为例进行说明,包括以下步骤:

步骤s201:获取待校验数据和待校验数据对应的原始数据。

其中,待校验数据为需要进行校验处理的数据,例如可以为数据迁移后的数据、系统升级后的数据、或经传输后接收方接收到的数据。原始数据为待校验数据对应的源数据,可以作为对待校验数据进行数据校验处理时的基准数据,即在数据迁移、系统升级或数据传输过程中,需要确保得到的数据的完整性和一致性。在具体数据迁移应用中,可以分别从数据迁移后的数据库中获取待校验数据,从数据迁移前的数据库中得到与待校验数据对应的原始数据。

步骤s203:根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段。

其中,数据校验规则用于确定需要进行校验的数据字段,其根据待校验数据和原始数据分别所属的系统差异进行预先设置。例如,对于数据迁移中的待校验数据和原始数据,数据迁移前后分别所属的业务系统平台不同,数据格式可能会有对应的转换处理;此外,对于数据中的某些字段,也可能不需要进行校验。则在进行数据校验时,需要排除业务系统平台差异带来的数据差异,并过滤不需要进行校验的数据字段,即根据数据校验规则确定需要进行校验处理的数据字段。具体地,可以查询预设的数据校验规则,并按照该数据校验规则分别从待校验数据中确定待校验字段,并从原始数据中确定原始字段,其中,待校验字段和原始字段对应,原始字段可以作为校验处理时待校验字段的基准字段。

步骤s205:比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目。

其中,待校验字段的字段哈希值和原始字段的字段哈希值可以分别通过预设的字段哈希算法,如md5消息摘要算法(md5message-digestalgorithm)计算得到。数据拆分数目为将待校验字段进行拆分后得到待校验子字段的数量,数据拆分数目可以根据待校验字段的长度对应设置,也可以设置固定的数据拆分数目,还可以设置固定的数据拆分长度,根据该数据拆分长度和待校验数据确定对应的数据拆分数目。具体地,得到待校验数据中的待校验字段和原始数据中的原始字段后,通过预设的哈希算法分别计算得到待校验字段的字段哈希值和原始字段的字段哈希值,将二者进行比较,根据字段比较结果可以得到字段校验结果,数据校验结果包括该字段校验结果。通过字段哈希值进行比较,可以有效降低进行比较的数据量,提高数据校验效率。

进一步地,当字段比较结果为比较一致时,表明待校验字段和原始字段相同,即待校验数据对应的原始数据一致,得到的字段校验结果为校验通过,数据校验结果包括字段校验结果,从而完成数据校验。而当字段比较结果不一致时,表明待校验字段和原始字段不同,即待校验数据对应的原始数据不同,字段校验结果为校验不通过。此时,可以对校验不通过的出错数据进行出错定位,具体可以根据待校验数据的数据长度确定待校验数据对应的数据拆分数目,按照该数据拆分数目将待校验字段和原始字段进行拆分,并根据拆分后的待校验子字段和原始子字段进行比较,从而可以对出错数据进行准确定位。

步骤s207:按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段。

在字段比较结果不一致时,表明待校验数据和原始数据不同,可以通过将待校验字段拆分成待校验子字段进行出错数据定位。具体地,得到数据拆分数目后,按照该数据拆分数目分别将待校验字段和原始字段进行拆分,对应得到待校验子字段和原始子字段。其中,各待校验子字段和各原始子字段分别对应,原始子字段可以作为待校验子字段校验处理时的基准数据,即可以通过将待校验子字段和原始子字段进行比较实现对待校验子字段的校验。

步骤s209:比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

得到待校验子字段和原始子字段后,计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值,具体可以根据预设的子字段哈希算法计算得到。比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,得到子字段比较结果,并根据该子字段比较结果得到数据校验结果,从而实现对待校验数据的快速校验,并进行准确地出错数据定位。通过比较各待校验子字段的子字段哈希值和原始子字段的子字段哈希值,可以确定子字段比较结果为不一致的待校验数据中的待校验子字段,从而实现对待校验数据中出错数据的定位,进一步得到数据校验结果,数据校验结果可以包括数据校验不通过,且对应的出错数据。

上述数据校验方法中,通过比较待校验数据中待校验字段的字段哈希值和原始数据中原始字段的字段哈希值,降低了数据校验时对比的数据量,且在字段比较结果不一致时,根据待校验数据的数据长度将待校验字段和原始字段进行拆分,并通过比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,可以对出错数据进行快速定位,提高了数据校验效率。

在一个实施例中,获取待校验数据和待校验数据对应的原始数据包括:确定待校验数据所属的业务类型;查询业务类型对应预设的数据校验优先级;按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

原始数据为待校验数据对应的源数据,作为对待校验数据进行数据校验处理时的基准数据,即将待校验数据与对应的原始数据进行比较,以实现对待校验数据的数据校验处理。对于具有不同业务规则的业务系统,业务系统数据库中的各种数据之间的关系不同,具有不同的数据层级,对应有不同的数据校验需求,例如某些数据是在其他数据基础上按照一定业务规则进一步得到的组合数据。此外,数据库中不同数据具有不同的访问频率,也会对应于不同的数据校验需求。所以,在数据校验处理时,可以结合各种数据的数据校验需求,按序对数据进行校验,以确保数据的正常运行使用。

具体地,在获取待校验数据和待校验数据对应的原始数据时,确定待校验数据所属的业务类型,业务类型可以根据待校验数据对应所属的业务系统确定。查询该业务类型对应预设的数据校验优先级,数据校验优先级反映了该业务类型的待校验数据的数据校验优先级需求,不同业务类型下的待校验数据对应于不同的数据校验优先级。其中,数据校验优先级可以根据业务系统的业务规则和历史访问数据,对各种数据进行优先级划分确定。按照确定的数据校验优先级,获取待校验数据和待校验数据对应的原始数据,具体可以从校验数据库服务器和原数据库服务器中提取得到。通过按照待校验数据对应预设的数据校验优先级,按序获取待校验数据进行校验处理,可以确保数据级别高或访问频率高的数据可以得到优先校验,以确保数据的正常访问使用。

在一个实施例中,根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段包括:查询预设的数据校验规则,并根据数据校验规则确定数据校验段;按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

数据校验规则用于确定需要进行校验的数据字段,其根据待校验数据和原始数据分别所属的系统差异进行预先设置。本实施例中,在根据数据校验规则确定待校验数据中的待校验字段和原始数据中的原始字段时,查询预设的数据校验规则,并根据该数据校验规则确定数据校验段,数据校验段为需要进行数据校验处理的数据段。按照该数据校验段,从分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。待校验字段和原始字段对应,原始字段可以作为校验处理时待校验字段的基准字段。

在一个实施例中,如图3所示,字段校验的步骤,即比较待校验字段的字段哈希值和原始字段的字段哈希值包括:

步骤s301:获取预设的字段哈希函数。

在数据迁移、系统升级和数据传输等过程中,均以比特位的0和1编码的数据形式进行处理,各数据对应比特码的长度很长,若在数据校验时直接根据比特码进行一一比对,数据校验效率极低,且容易出错。通过将数据映射压缩成短参数再进行校验,可以有效提高数据校验处理效率,如可以基于哈希算法将数据压缩映射成长度较短的消息摘要。

具体地,字段哈希函数可以将输入的待校验字段和原始字段压缩映射成对应固定长度的消息摘要,即对应的字段哈希值。其中,字段哈希值的长度会远远小于待校验字段的长度,再基于字段哈希值进行字段校验,可以有效降低进行比较的数据量,从而提高数据校验处理效率。本实施例中,在对待校验字段进行字段校验时,获取预设的字段哈希函数,如基于md4、md5和sha1构建得到的字段哈希函数。

步骤s303:根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值。

得到字段哈希函数后,按照该字段哈希函数分别计算待校验字段的字段哈希值和原始字段的字段哈希值。具体可以分别将待校验字段和原始字段输入字段哈希函数中,得到待校验字段的字段哈希值和原始字段的字段哈希值。

步骤s305:将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。

得到待校验字段的字段哈希值和原始字段的字段哈希值后,将字段哈希值进行比较,得到字段比较结果。具体地,当待校验字段的字段哈希值和原始字段的字段哈希值相同时,表明待校验字段和原始字段相同,即待校验数据对应的原始数据一致,得到的字段校验结果为校验通过,数据校验结果包括该字段校验结果,从而完成数据校验。而当字段比较结果不一致时,表明待校验字段和原始字段不同,即待校验数据对应的原始数据不同,字段校验结果为校验不通过。此时,还可以进一步对出错数据进行定位,得到出错数据段,数据校验结果可以包括该出错数据段。

在一个实施例中,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目包括:当字段比较结果为不一致时,确定待校验数据的数据长度;获取预设的校验数据划分规则;根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目。

在比较待校验字段的字段哈希值和原始字段的字段哈希值,得到字段比较结果后,若字段比较结果不一致,则表明待校验字段和原始字段不同,即待校验数据对应的原始数据不同,字段校验结果为校验不通过,此时,通过将待校验字段和原始字段进行拆分,可以对出错数据进行准确定位。

具体地,在确定待校验字段和原始字段的数据拆分数目时,确定待校验数据的数据长度。可以对待校验数据进行分析,确定待校验数据的数据长度,如可以基于待校验数据的大小,计算待校验数据的长度。再获取预设的校验数据划分规则,校验数据划分规则可以包括各种数据长度对应的数据拆分数目,即不同的数据长度对应于不同的数据拆分数目。校验数据划分规则可以根据实际处理资源进行预设,以将待校验数据划分得到合适数据长度的数据段。例如,可以确定数据拆分拆分后得到子数据的子数据长度,即确定待校验子字段的子字段长度,并结合待校验字段的数据长度可以得到数据拆分数目;也可以预设拆分比例,如20%、10%等,按照该拆分比例将待校验字段进行拆分,得到对应的数据拆分数目。

确定待校验数据的数据长度,并得到校验数据划分规则后,按照该数据长度,根据校验数据划分规则确定待校验数据的数据拆分数目。按照该数据拆分数目可以将待校验字段和原始字段进行拆分,对应得到待校验子字段和原始子字段,并根据待校验子字段和原始子字段进行出错数据定位。

在一个实施例中,比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果包括:获取预设的子字段哈希函数;根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

在进行出错数据定位时,可以比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,并根据子字段比较结果得到数据校验结果。具体地,获取预设的子字段哈希函数,子字段哈希函数与字段哈希函数对应,通过子字段哈希函数可以分别得到待校验子字段和原始子字段的子字段哈希值。在具体应用中,子字段哈希函数和字段哈希函数可以相同,也可以不同。根据得到的子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值,并进行子字段比较,即将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果。

考虑到字段比较结果不一致,则子字段比较结果中至少一个为比较不一致,子字段比较结果不一致对应的待校验子字段即为出错数据段,从而可以实现对出错数据的定位。具体地,确定比较不一致的的子字段比较结果对应的待校验子字段,将其作为出错数据段,得到数据校验结果,数据校验结果可以包括该出错数据段。通过比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果中比较不一致的待校验子字段,可以实现对出错数据的准确定位,提高了数据校验效率。

在一个实施例中,在根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段之后,还包括:获取出错数据段对应的原始数据段;将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

在对出错数据进行定位,得到出错数据段后,可以进一步对出错数据进行比特位校验,以确定具体出错的比特位。具体地,在得到出错数据段之后,获取出错数据段对应的原始数据段,原始数据段可以从原始子字段中确定。将出错数据段和原始数据段进行比特位校验,具体可以将出错数据段和原始数据段进行比特位一一比对,得到比特位校验结果,通过比特位校验结果,可以精确确定出错数据段中的出错比特位。相比于待校验数据和待校验字段,出错数据段和原始数据段的数据长度较短,将出错数据段和原始数据段进行比特位一一比对可以确保校验处理效率,并实现对出错比特位的精确定位。

在一个实施例中,如图4所示,提供了一种数据校验方法,包括:

步骤s401:确定待校验数据所属的业务类型;

步骤s402:查询业务类型对应预设的数据校验优先级;

步骤s403:按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

原始数据为待校验数据对应的源数据,将待校验数据与对应的原始数据进行比较,以实现对待校验数据的数据校验处理。本实施例中,按照确定的数据校验优先级,获取待校验数据和待校验数据对应的原始数据,具体从校验数据库服务器和原数据库服务器中提取得到。

步骤s404:查询预设的数据校验规则,并根据数据校验规则确定数据校验段;

步骤s405:按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

数据校验规则用于确定需要进行校验的数据字段,其根据待校验数据和原始数据分别所属的系统差异进行预先设置。按照数据校验规则驱动的数据校验段,从分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。待校验字段和原始字段对应,原始字段可以作为校验处理时待校验字段的基准字段。

步骤s406:比较待校验字段的字段哈希值和原始字段的字段哈希值;

步骤s407:当字段比较结果不一致时,确定待校验数据的数据长度;

步骤s408:获取预设的校验数据划分规则;

步骤s409:根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目;

步骤s410:按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段。

本实施例中,比较字段哈希值包括:获取预设的字段哈希函数;根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值;将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。其中,字段哈希函数为md5。

当字段比较结果不一致时,表明待校验字段和原始字段不同,即待校验数据对应的原始数据不同,字段校验结果为校验不通过。此时,可以对校验不通过的出错数据进行出错定位,具体可以确定数据拆分数目,按照该数据拆分数目将待校验字段和原始字段进行拆分,并根据拆分后的待校验子字段和原始子字段进行比较,从而可以对出错数据进行准确定位。

步骤s411:获取预设的子字段哈希函数;

步骤s412:根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;

步骤s413:将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;

步骤s414:根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

得到待校验子字段和原始子字段后,计算并比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果,从而实现对待校验数据的快速校验,并进行准确地出错数据定位。

步骤s415:对出错数据段进行比特位校验,得到比特位校验结果,数据校验结果包括比特位校验结果。

在对出错数据进行定位,得到出错数据段后,可以进一步对出错数据进行比特位校验,以确定具体出错的比特位。具体地,对出错数据段进行比特位校验包括:获取出错数据段对应的原始数据段;将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种数据校验装置,包括:数据获取模块501、校验字段确定模块503、字段比较模块505、字段比较模块507和校验结果获取模块509,其中:

数据获取模块501,用于获取待校验数据和待校验数据对应的原始数据;

校验字段确定模块503,用于根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

字段比较模块505,用于比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

字段比较模块507,用于按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

校验结果获取模块509,用于比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

在一个实施例中,数据获取模块501包括业务类型确定单元、优先级确定单元和数据获取单元,其中:业务类型确定单元,用于确定待校验数据所属的业务类型;优先级确定单元,用于查询业务类型对应预设的数据校验优先级;数据获取单元,用于按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

在一个实施例中,校验字段确定模块503包括校验段确定单元和校验字段提取单元,其中:校验段确定单元,用于查询预设的数据校验规则,并根据数据校验规则确定数据校验段;校验字段提取单元,用于按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

在一个实施例中,字段比较模块505包括字段哈希函数单元、字段哈希处理单元和字段比较单元,其中:字段哈希函数单元,用于获取预设的字段哈希函数;字段哈希处理单元,用于根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值;字段比较单元,用于将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。

在一个实施例中,字段比较模块505包括数据长度确定单元、划分规则获取单元和数据拆分单元,其中:数据长度确定单元,用于当字段比较结果为不一致时,确定待校验数据的数据长度;划分规则获取单元,用于获取预设的校验数据划分规则;数据拆分单元,用于根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目。

在一个实施例中,校验结果获取模块509包括子字段哈希函数单元、子字段哈希处理单元、子字段比较单元和出错数据定位单元,其中:子字段哈希函数单元,用于获取预设的子字段哈希函数;子字段哈希处理单元,用于根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;子字段比较单元,用于将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;出错数据定位单元,用于根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

在一个实施例中,还包括原始数据段获取模块和比特位校验模块,其中:原始数据段获取模块,用于获取出错数据段对应的原始数据段;比特位校验模块,用于将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

关于数据校验装置的具体限定可以参见上文中对于数据校验方法的限定,在此不再赘述。上述数据校验装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据校验方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取待校验数据和待校验数据对应的原始数据;

根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定待校验数据所属的业务类型;查询业务类型对应预设的数据校验优先级;按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:查询预设的数据校验规则,并根据数据校验规则确定数据校验段;按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设的字段哈希函数;根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值;将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当字段比较结果为不一致时,确定待校验数据的数据长度;获取预设的校验数据划分规则;根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设的子字段哈希函数;根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取出错数据段对应的原始数据段;将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取待校验数据和待校验数据对应的原始数据;

根据预设的数据校验规则,确定待校验数据中的待校验字段和原始数据中的原始字段;

比较待校验字段的字段哈希值和原始字段的字段哈希值,当字段比较结果不一致时,根据待校验数据的数据长度确定待校验数据对应的数据拆分数目;

按照数据拆分数目,分别将待校验字段拆分得到待校验子字段,将原始字段拆分得到原始子字段;

比较待校验子字段的子字段哈希值和原始子字段的子字段哈希值,根据子字段比较结果得到数据校验结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定待校验数据所属的业务类型;查询业务类型对应预设的数据校验优先级;按照数据校验优先级,获取待校验数据和待校验数据对应的原始数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:查询预设的数据校验规则,并根据数据校验规则确定数据校验段;按照数据校验段,分别从待校验数据中提取待校验字段,从原始数据中提取原始字段。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设的字段哈希函数;根据字段哈希函数,分别计算待校验字段的字段哈希值和原始字段的字段哈希值;将待校验字段的字段哈希值和原始字段的字段哈希值进行比较,得到字段比较结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当字段比较结果为不一致时,确定待校验数据的数据长度;获取预设的校验数据划分规则;根据数据长度和校验数据划分规则,确定待校验数据的数据拆分数目。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设的子字段哈希函数;根据子字段哈希函数,分别计算待校验子字段的子字段哈希值和原始子字段的子字段哈希值;将待校验子字段的子字段哈希值和原始子字段的子字段哈希值进行比较,得到子字段比较结果;根据子字段比较结果中比较不一致的待校验子字段,得到出错数据段,数据校验结果包括出错数据段。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取出错数据段对应的原始数据段;将出错数据段和原始数据段进行比特位校验,得到比特位校验结果。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1