面向列的存储方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:23704708 阅读:19 留言:0更新日期:2020-04-08 11:08
本发明专利技术公开了一种面向列的存储方法、装置、设备及计算机可读存储介质,所述方法包括:当检测到对待存储数据的列式存储需求时,获取所述列式存储需求中的存储结构类型;根据所述存储结构类型生成所述待存储数据的元数据,其中,所述元数据中包括列式存储格式的描述信息和所述存储结构类型对应的额外记录信息;根据所述元数据对所述待存储数据进行列式存储。本发明专利技术使得列式存储能够支持不同的存储结构,支持在不同存储结构下对列式存储数据的中的存储批、列、单元格级别的顺序读写或随机读写,扩大了列式存储的应用范围。

Column oriented storage methods, devices, devices and computer readable storage media

【技术实现步骤摘要】
面向列的存储方法、装置、设备及计算机可读存储介质
本专利技术涉及数据处理
,尤其涉及一种面向列的存储方法、装置、设备及计算机可读存储介质。
技术介绍
行式存储方式中数据是按照行数据为基础逻辑存储单元进行存储的,一行中的数据在存储介质中以连续存储形式存在。列式存储方式则是相对于与行式存储来说的,列式存储方式中数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。列式存储很好地解决了行式存储在计算时需要读取多余的数据、IO性能低的问题。但是,现有的列式存储只能够支持文件这种存储结构,对于键值、队列等其他存储结构则无法支持,导致列式存储的应用非常受限。
技术实现思路
本专利技术的主要目的在于提供一种面向列的存储方法、装置、设备及计算机可读存储介质,旨在解决现有的列式存储只能够支持文件这种存储结构,导致列式存储的应用非常受限的技术问题。为实现上述目的,本专利技术提供一种面向列的存储方法,所述面向列的存储方法包括:当检测到对待存储数据的列式存储需求时,获取所述列式存储需求中的存储结构类型;根据所述存储结构类型生成所述待存储数据的元数据,其中,所述元数据中包括列式存储格式的描述信息和所述存储结构类型对应的额外记录信息;根据所述元数据对所述待存储数据进行列式存储。可选地,当所述存储结构类型是文件结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列的起始偏移量,所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:<br>根据所述元数据对所述待存储数据按照文件结构进行列式存储,其中,将所述元数据存储在文件头部,或将所述元数据通过文件名与所述待存储数据关联后存储在关系数据库或内存中。可选地,当所述存储结构类型是键值结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列对应的键名,所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:根据所述元数据对所述待存储数据按照键值结构进行列式存储,其中,将所述元数据以键值对进行存储,或将所述元数据通过键名与所述待存储数据关联后存储在关系数据库或内存中。可选地,当所述存储结构类型是队列结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列的数据长度,所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:根据所述元数据对所述待存储数据按照队列结构进行列式存储,其中,将所述元数据作为队列的元素进行存储,或将所述元数据通过队列名与所述待存储数据关联后存储在关系数据库或内存中。可选地,所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:接收应用方传入的写入计算匿名函数;遍历所述元数据依次处理所述描述信息中的各个列,其中,将当前列的列索引作为所述写入计算匿名函数的参数,执行所述写入计算匿名函数的计算逻辑对所述待存储数据进行计算处理,将所述写入计算匿名函数的返回值按照所述列索引写入所述当前列。可选地,所述根据所述元数据对所述待存储数据进行列式存储的步骤之后,还包括:接收应用方传入的读取计算匿名函数和读取地址;按照所述读取地址从列式存储中读取待计算数据,将所述待计算数据作为所述读取计算匿名函数的参数,执行所述读取计算匿名函数的计算逻辑对所述待计算数据进行计算处理得到读取结果。可选地,所述根据所述元数据对所述待存储数据进行列式存储的步骤之后,还包括:接收应用方传入的对目标列式存储数据的虚拟行读取需求;根据所述虚拟行读取需求确定所述目标列式存储数据中的待读取列,以及所述待读取列中的待读取单元格;依次从所述待读取列对应的待读取单元格中读取单元格数据,获得由各个所述单元格数据组成的虚拟行数据。此外,为实现上述目的,本专利技术还提供一种面向列的存储装置,所述面向列的存储装置包括:获取模块,用于当检测到对待存储数据的列式存储需求时,获取所述列式存储需求中的存储结构类型;生成模块,用于根据所述存储结构类型生成所述待存储数据的元数据,其中,所述元数据中包括列式存储格式的描述信息和所述存储结构类型对应的额外记录信息;存储模块,用于根据所述元数据对所述待存储数据进行列式存储。此外,为实现上述目的,本专利技术还提供一种面向列的存储设备,所述面向列的存储设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的面向列的存储程序,所述面向列的存储程序被所述处理器执行时实现如上所述的面向列的存储方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有面向列的存储程序,所述面向列的存储程序被处理器执行时实现如上所述的面向列的存储方法的步骤。本专利技术中,通过在检测到对待存储数据的列式存储需求时,获取列式存储需求中的存储结构类型;根据存储结构类型生成待存储数据的元数据,根据元数据对待存储数据进行列式存储;元数据中除了包括描述列式存储格式的描述信息外,还包括与存储结构类型对应的额外记录信息,使得列式存储能够支持不同的存储结构,支持在不同存储结构下对列式存储数据的中的存储批、列、单元格级别的顺序读写或随机读写;从而扩大了列式存储的应用范围,使得应用方可以根据存储系统所支持的其他存储结构,实现更多的功能,进而使得列式存储能够在更多的应用场景发挥其相对于行式存储的优势。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的结构示意图;图2为本专利技术面向列的存储方法第一实施例的流程示意图;图3为本专利技术实施例涉及的一种文件结构的列式存储示意图;图4为本专利技术实施例涉及的一种键值结构的列式存储示意图;图5为本专利技术面向列的存储装置较佳实施例的功能示意图模块图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例提供了一种面向列的存储设备,参照图1,图1是本专利技术实施例方案涉及的硬件运行环境的结构示意图。需要说明的是,图1即可为面向列的存储设备的硬件运行环境的结构示意图。本专利技术实施例面向列的存储设备可以是PC,也可以是智能手机、智能电视机、平板电脑、便携计算机等具有显示功能的终端设备。如图1所示,该面向列的存储设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独本文档来自技高网...

【技术保护点】
1.一种面向列的存储方法,其特征在于,所述面向列的存储方法包括:/n当检测到对待存储数据的列式存储需求时,获取所述列式存储需求中的存储结构类型;/n根据所述存储结构类型生成所述待存储数据的元数据,其中,所述元数据中包括列式存储格式的描述信息和所述存储结构类型对应的额外记录信息;/n根据所述元数据对所述待存储数据进行列式存储。/n

【技术特征摘要】
1.一种面向列的存储方法,其特征在于,所述面向列的存储方法包括:
当检测到对待存储数据的列式存储需求时,获取所述列式存储需求中的存储结构类型;
根据所述存储结构类型生成所述待存储数据的元数据,其中,所述元数据中包括列式存储格式的描述信息和所述存储结构类型对应的额外记录信息;
根据所述元数据对所述待存储数据进行列式存储。


2.如权利要求1所述的面向列的存储方法,其特征在于,当所述存储结构类型是文件结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列的起始偏移量,
所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:
根据所述元数据对所述待存储数据按照文件结构进行列式存储,其中,将所述元数据存储在文件头部,或将所述元数据通过文件名与所述待存储数据关联后存储在关系数据库或内存中。


3.如权利要求1所述的面向列的存储方法,其特征在于,当所述存储结构类型是键值结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列对应的键名,
所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:
根据所述元数据对所述待存储数据按照键值结构进行列式存储,其中,将所述元数据以键值对进行存储,或将所述元数据通过键名与所述待存储数据关联后存储在关系数据库或内存中。


4.如权利要求1所述的面向列的存储方法,其特征在于,当所述存储结构类型是队列结构时,所述额外记录信息包括所述描述信息中各个存储批或各个列的数据长度,
所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:
根据所述元数据对所述待存储数据按照队列结构进行列式存储,其中,将所述元数据作为队列的元素进行存储,或将所述元数据通过队列名与所述待存储数据关联后存储在关系数据库或内存中。


5.如权利要求1所述的面向列的存储方法,其特征在于,所述根据所述元数据对所述待存储数据进行列式存储的步骤包括:
接收应用方传入的写入计算匿名函数;
遍历所述元数据依次处理所述描述信息中的各个列,其中,将当前列的...

【专利技术属性】
技术研发人员:黄启军黄铭毅李诗琦刘玉德陈天健
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1