非结构化数据存储方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:20916056 阅读:45 留言:0更新日期:2019-04-20 09:36
本发明专利技术公开了一种非结构化数据存储方法、装置、设备和计算机可读存储介质,一种非结构化数据存储方法包括:将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区,读取所述kvd文件头部,确定所述kvd文件的存储地址,依次读取所述kvd文件中的每个kv对并进行验证,若所述kvd文件中的每个kv对均通过验证,则将所述kvd文件存储于所述存储地址中。本发明专利技术公开的非结构化数据存储方法、装置、设备和计算机可读存储介质,用于提高非结构化数据的存储效率。

Unstructured Data Storage Methods, Devices, Equipment and Computer Readable Storage Media

The invention discloses an unstructured data storage method, device, device and computer readable storage medium. An unstructured data storage method includes: integrating multiple unstructured data into kvd files, the kvd files include headers and multiple kV pairs, the headers include storage address information, each kV pair includes a key storage area and a value storage area, and reading the place. The header of the kvd file is described, and the storage address of the kvd file is determined. Each kV pair in the kvd file is read and verified in turn. If each kV pair in the kvd file is verified, the kvd file is stored in the storage address. The invention discloses an unstructured data storage method, device, device and computer readable storage medium for improving the storage efficiency of unstructured data.

【技术实现步骤摘要】
非结构化数据存储方法、装置、设备和计算机可读存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种非结构化数据存储方法、装置、设备和计算机可读存储介质。
技术介绍
在大数据存储领域,具有海量的非结构化数据需要进行存储,而这些数据的大小不一,直接存储会占用过多的系统资源,增加系统的复杂度。对于大数据存储中常用的分布式文件系统(HadoopDistributedFileSystem,HDFS)而言,也并不适合大量小文件的存储。另外,在存储大量非结构化数据的过程中,对数据的验证也存在困难,传统的验证方式采用流式处理的方式进行处理,存在着占用系统资源过多,时间开销过大的问题,很有可能造成数据挤压,从而引发一系列的巨大风险。
技术实现思路
本专利技术提供一种非结构化数据存储方法、装置、设备和计算机可读存储介质,以提高非结构化数据的存储效率。第一方面,本专利技术实施例提供一种非结构化数据存储方法,包括:将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区;读取所述kvd文件头部,确定所述kvd文件的存储地址;依次读取所述kvd文件中的每个kv对并进行验证;若所述kvd文件中的每个kv对均通过验证,则将所述kvd文件存储于所述存储地址中。在第一方面一种可能的实现方式中,所述kvd文件中的每个kv对还包括键大小字节和值大小字节;所述依次读取所述kvd文件中的每个kv对并进行验证,包括:依次读取每个kv对;对于每个kv对,读取键大小字节,确定键的长度;根据键的长度从键存储区读取键数据;读取值大小字节,确定值的长度;根据值的长度从值存储区读取值数据;若所述键数据和所述值数据读取成功,则确定kv对通过验证。在第一方面一种可能的实现方式中,所述依次读取所述kvd文件中的每个kv对并进行验证,还包括:在确定键的长度和值的长度后,判断所述键的长度值和所述值的长度值是否在预设长度区间内;若所述键的长度值和所述值的长度值不在预设长度区间内,则抛弃所述kvd文件。在第一方面一种可能的实现方式中所述依次读取所述kvd文件中的每个kv对并进行验证,包括:若根据键的长度从键存储区读取键数据或根据值的长度从值存储区读取值数据不成功,则抛弃所述kvd文件。第二方面,本专利技术实施例还提供了一种非结构化数据存储装置,包括:文件整合模块,用于将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区;文件头部读取模块,用于读取所述kvd文件头部,确定所述kvd文件的存储地址;文件验证模块,用于依次读取所述kvd文件中的每个kv对并进行验证;文件存储模块,用于若所述kvd文件中的每个kv对均通过验证,则将所述kvd文件存储于所述存储地址中。在第二方面一种可能的实现方式中,所述kvd文件中的每个kv对还包括键大小字节和值大小字节;所述文件验证模块,具体用于依次读取每个kv对;对于每个kv对,读取键大小字节,确定键的长度;根据键的长度从键存储区读取键数据;读取值大小字节,确定值的长度;根据值的长度从值存储区读取值数据;若所述键数据和所述值数据读取成功,则确定kv对通过验证。在第二方面一种可能的实现方式中,所述文件验证模块,具体用于在确定键的长度和值的长度后,判断所述键的长度值和所述值的长度值是否在预设长度区间内;若所述键的长度值和所述值的长度值不在预设长度区间内,则抛弃所述kvd文件。在第二方面一种可能的实现方式中,所述文件验证模块,具体用于若根据键的长度从键存储区读取键数据或根据值的长度从值存储区读取值数据不成功,则抛弃所述kvd文件。第三方面,本专利技术实施例还提供了一种非结构化数据存储设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面任一种可能的实现方式的非结构化数据存储方法第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面任一种可能的实现方式的非结构化数据存储方法。本专利技术实施例提供的非结构化数据存储方法、装置、设备和计算机可读存储介质,通过将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区,首先读取所述kvd文件头部,确定所述kvd文件的存储地址,再依次读取所述kvd文件中的每个kv对并进行验证,当所述kvd文件中的每个kv对均通过验证时,将所述kvd文件存储于所述存储地址中,避免了存储多个非结构化数据时所产生的系统开销,节约了系统资源,提高了存储效率。附图说明图1为本专利技术实施例提供的非结构化数据存储方法实施例一的流程图;图2为kv对的存储结构示意图;图3为kvd文件kv的存储结构示意图;图4为本专利技术实施例提供的非结构化数据存储方法实施例二的流程图;图5为本专利技术实施例提供的非结构化数据存储装置实施例一的结构示意图;图6为本专利技术实施例提供的非结构化数据存储设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。图1为本专利技术实施例提供的非结构化数据存储方法实施例一的流程图,如图1所示,本实施例提供的非结构化数据存储方法包括:步骤S101,将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区。由于非结构化数据大小不一,且在大数据存储系统中,具有海量的非结构化数据需要进行存储,目前的大数据存储主要采用hdfs进行存储,对于海量的非结构化数据存储,整个文件存储系统的压力过大,可能对整个大数据平台造成威胁。为了解决海量非结构化数据在大数据存储系统中的存储问题,本实施例提出一种新的非结构化数据存储方法,采用键-值(key-value)存储方式,将多个非结构化数据整合为一个kvd文件,并在存储kvd文件的过程中,通过验证流程对kvd文件进行验证,从而将多个非结构化数据合成为一个kvd数据进行存储,这样就减小了将海量非结构化数据存储在大数据系统中所带来的压力。为了实现本实施例提供的非结构化数据的存储,首先需要将多个非结构化数据整合为一个kvd文件。一个kvd文件中所包括的非结构化数据的数量可以根据大数据存储系统的性能确定,例如若大数据存储系统对存储文件的大小有要求,则可以根据大数据存储系统的存储文件大小要求确定一个kvd文件的大小,也就是一个kvd文件中所包括的非结构化数据的总大小不能超过该要求的大小。或者还可以是对一个kvd文件中包括的非结构化数据的数量进行限定,例如一个kvd文件中只能包括N个或N个以内的非结构化数据,这是由于在存储kvd文件的过程中,需要对kvd文件进行验证,若一个kvd文件中包括的非结构化数据的数量较多,则验证的过程可能耗费较多时间,容易造成系统处理瓶颈。或者还可本文档来自技高网...

【技术保护点】
1.一种非结构化数据存储方法,其特征在于,包括:将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区;读取所述kvd文件头部,确定所述kvd文件的存储地址;依次读取所述kvd文件中的每个kv对并进行验证;若所述kvd文件中的每个kv对均通过验证,则将所述kvd文件存储于所述存储地址中。

【技术特征摘要】
1.一种非结构化数据存储方法,其特征在于,包括:将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个kv对包括一个键存储区和一个值存储区;读取所述kvd文件头部,确定所述kvd文件的存储地址;依次读取所述kvd文件中的每个kv对并进行验证;若所述kvd文件中的每个kv对均通过验证,则将所述kvd文件存储于所述存储地址中。2.根据权利要求1所述的方法,其特征在于,所述kvd文件中的每个kv对还包括键大小字节和值大小字节;所述依次读取所述kvd文件中的每个kv对并进行验证,包括:依次读取每个kv对;对于每个kv对,读取键大小字节,确定键的长度;根据键的长度从键存储区读取键数据;读取值大小字节,确定值的长度;根据值的长度从值存储区读取值数据;若所述键数据和所述值数据读取成功,则确定kv对通过验证。3.根据权利要求2所述的方法,其特征在于,所述依次读取所述kvd文件中的每个kv对并进行验证,还包括:在确定键的长度和值的长度后,判断所述键的长度值和所述值的长度值是否在预设长度区间内;若所述键的长度值和所述值的长度值不在预设长度区间内,则抛弃所述kvd文件。4.根据权利要求2或3所述的方法,其特征在于,所述依次读取所述kvd文件中的每个kv对并进行验证,包括:若根据键的长度从键存储区读取键数据或根据值的长度从值存储区读取值数据不成功,则抛弃所述kvd文件。5.一种非结构化数据存储装置,其特征在于,包括:文件整合模块,用于将多个非结构化数据整合为kvd文件,所述kvd文件包括头部和多个kv对,所述头部包括存储地址信息,每个k...

【专利技术属性】
技术研发人员:火一莽刘子豪石志中张俊杰
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1