本发明涉及数据处理,尤其涉及一种基于nosql列式存储的数据校验方法及系统。
背景技术:
1、在当今大数据时代,数据的规模日益增大,传统的关系型数据库已经无法满足对海量数据的存储和处理需求。而nosql(not only sql)是一种非关系型数据库,它能够灵活地存储各种类型的数据,且具有高性能、高可扩展性等优点,其中,列式存储是nosql中的一种重要存储方式,它将数据以列为单位进行存储,可以大大提高数据处理的效率。现有的基于nosql列式存储的数据校验方法主要包括以下几种:(1)基于crc校验的方法:该方法通过对数据块进行循环冗余校验来检测数据是否损坏或丢失,然而,该方法只能检测单个数据块的完整性,对于大规模分布式系统中的数据校验存在一定的局限性;(2)基于哈希函数的方法:该方法通过将数据块进行哈希运算得到一个唯一的哈希值,然后将该哈希值与数据块一起存储,当需要验证数据时,可以通过计算哈希值并与存储的哈希值进行比较来判断数据是否被篡改,然而,该方法容易受到哈希碰撞的攻击,导致数据校验失败;(3)基于时间戳的方法:该方法通过记录每个数据块的创建时间和修改时间来确保数据的一致性,然而,该方法无法防止恶意用户删除或修改数据。
2、因此,现有技术还有待改进。
技术实现思路
1、本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于nosql列式存储的数据校验方法及系统,旨在解决现有技术中对于数据校验不全面得到的数据校验结果不准确的问题。
2、本发明解决问题所采用的技术方案如下:
3、第一方面,本发明实施例提供一种基于nosql列式存储的数据校验方法,其中,所述方法包括:
4、获取待校验数据和业务需求,并根据所述待校验数据和所述业务需求构建数据校验模型;
5、基于所述数据校验模型对所述待校验数据进行初始校验,得到合法的待校验数据;
6、基于数据校验组合模型对所述合法的的待校验数据进行二次校验,得到数据校验结果。
7、在一种实现方式中,所述根据所述待校验数据和所述业务需求构建数据校验模型,包括:
8、根据所述待校验数据确定数据类型;
9、基于所述数据类型和所述业务需求确定数据规则;
10、根据所述数据类型和所述数据规则构建数据校验模型。
11、在一种实现方式中,所述基于所述数据校验模型对所述待校验数据进行初始校验,得到合法的待校验数据,包括:
12、将所述待校验数据输入所述数据校验模型进行合法性检验;
13、若所述待校验数据的数值范围在预设的数值范围内,则确定所述待校验数据合法,并对所述待校验数据进行数据合法标记;
14、若所述待校验数据的数值范围超出所述预设的数值范围,则确定所述待校验数据不合法,并对所述待校验数据进行数据非法标记。
15、在一种实现方式中,所述数据校验组合模型包括:crc校验模型、哈希函数校验模型和时间戳校验模型,所述基于所述数据校验组合模型对所述合法的待校验数据进行二次校验,包括:
16、对所述合法的待校验数据进行数据切割,得到若干单个数据块;
17、采用所述crc校验模型对所述单个数据块进行数据完整度校验,得到所述单个数据块的数据完整度;
18、将所述进行数据完整度校验的单个数据块输入所述哈希函数校验模型进行哈希校验,得到所述单个数据块的哈希值,并对所述哈希值进行存储;
19、将对所述进行哈希函数校验的单个数据块输入所述时间戳校验模型进行时间戳检验,得到所述单个数据块的时间戳信息;
20、基于所述数据完整度、所述哈希值和所述时间戳信息得到数据校验结果。
21、在一种实现方式中,所述数据完整度、所述哈希值和所述时间戳信息得到数据校验结果,包括:
22、若所述数据完整度大于预设数据完整度,所述哈希值与标准哈希值相同以及所述时间戳信息检验合格,则确定所述数据校验通过;
23、若所述数据完整度低于所述预设数据完整度,或所述哈希值与所述标准哈希值不一致,或所述时间戳信息检验不合格,则确定所述数据校验不通过。
24、在一种实现方式中,所述方法还包括:
25、对所述进行二次校验后的待校验数据进行数据二次完整性校验,得到二次数据完整度。
26、在一种实现方式中,所述方法还包括:
27、获取用户需求,并基于可配置化规则对所述进行二次完整性校验后的待校验数据进行数据优化,得到定制化数据。
28、第二方面。本发明实施例还提供了一种基于nosql列式存储的数据校验系统,其中,所述系统包括:
29、校验模型构建模块,用于根据待校验数据和业务需求构建数据校验模型;
30、初始数据校验模块,用于基于所述数据校验模型对所述待校验数据进行初始校验;
31、二次数据校验模块,用于基于数据校验组合机制对所述进行初始校验后的待校验数据进行二次校验,得到数据校验结果。
32、在一种实现方式中,所述校验模型构建模块包括:
33、数据获取单元,用于根据所述待校验数据确定数据类型;
34、需求获取单元,用于基于所述数据类型和所述业务需求确定数据规则;
35、校验模型构建单元,用于根据所述数据类型和所述数据规则构建数据校验模型。
36、在一种实现方式中,所述初始数据校验模块包括:
37、合法性校验单元,用于将所述待校验数据输入所述数据校验模型进行合法性检验;
38、合法标记单元,用于若所述待校验数据的数值范围在预设的数值范围内,则确定所述待校验数据合法,并对所述待校验数据进行数据合法标记;
39、非法标记单元,用于若所述待校验数据的数值范围超出所述预设的数值范围,则确定所述待校验数据不合法,并对所述待校验数据进行数据非法标记。
40、在一种实现方式中,所述数据校验组合模型包括:crc校验模型、哈希函数校验模型和时间戳校验模型,所述二次数据校验模块包括:
41、数据切割单元,用于对所述合法的待校验数据进行数据切割,得到若干单个数据块;
42、crc校验单元,用于采用所述crc校验模型对所述单个数据块进行数据完整度校验,得到所述单个数据块的数据完整度;
43、哈希校验单元,用于将所述进行数据完整度校验的单个数据块输入所述哈希函数校验模型进行哈希校验,得到所述单个数据块的哈希值,并对所述哈希值进行存储;
44、时间戳校验单元,用于将对所述进行哈希函数校验的单个数据块输入所述时间戳校验模型进行时间戳检验,得到所述单个数据块的时间戳信息;
45、校验结果输出单元,用于基于所述数据完整度、所述哈希值和所述时间戳信息得到数据校验结果。
46、在一种实现方式中,所述校验结果输出单元包括:
47、校验通过子单元,用于若所述数据完整度大于预设数据完整度,所述哈希值与标准哈希值相同以及所述时间戳信息检验合格,则确定所述数据校验通过;
48、校验失败子单元,用于若所述数据完整度低于所述预设数据完整度,或所述哈希值与所述标准哈希值不一致,或所述时间戳信息检验不合格,则确定所述数据校验不通过。
49、在一种实现方式中,所述系统还包括:
50、复核校验模块,用于对所述进行二次校验后的待校验数据进行数据二次完整性校验,得到二次数据完整度。
51、在一种实现方式中,所述系统还包括:
52、定制化输出模块,用于获取用户需求,并基于可配置化规则对所述进行二次完整性校验后的待校验数据进行数据优化,得到定制化数据。
53、第三方面,本发明实施还提供一种终端设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的基于nosql列式存储的数据校验方法。
54、第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于nosql列式存储的数据校验方法。
55、本发明的有益效果:与现有技术相比,本发明提供一种基于nosql列式存储的数据校验方法及系统,本发明首先获取待校验数据和业务需求,并根据所述待校验数据和所述业务需求构建数据校验模型;然后基于所述数据校验模型对所述待校验数据进行初始校验,得到合法的待校验数据;最后基于数据校验组合模型对所述合法的的待校验数据进行二次校验,得到数据校验结果。本发明通过结合多种校验机制来对大规模数据进行校验,提高了数据校验的准确性和可靠性,通过分布式存储和并行计算,进一步提高了系统的性能和效率。通过结合多种校验机制和引入分布式存储的并行计算技术,提高了数据校验的准确性和可靠性,并增强了系统的可扩展性和灵活性。