一种数据处理方法和设备技术

技术编号:15297489 阅读:105 留言:0更新日期:2017-05-11 19:56
本申请公开一种数据处理方法和设备,包括:基于对数据的修改生成可写快照;定时克隆可写快照生成新的只读快照;当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询。当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询;以此通过修改和查询分离,实现了快速地实时更新性能,同时基于采用快速和倒排两种索引,有效提高了查询性能;此外,数据采用数据列存储,每个数据列又可以按固定块大小,分成多个数据块,每个数据块的长度相同;以此在于修改时,只需要将修改的影响范围限定到需要修改的数据块内,而不会影响到其他的数据块,减小修改所造成的资源消耗。

Data processing method and device

The present invention discloses a data processing method and apparatus, including: to modify the generated data can be written based on the snapshot; write timing cloning to generate a new snapshot read-only snapshot when receiving data; query request, by the way of indexing in the current generation time of the latest read-only snapshot data query. When receiving data query, by the way of indexing in the current generation time of the latest read-only snapshot complete data query; to modify and query through separation, to achieve a rapid real-time update performance, while using the fast and inverted index based on two, effectively improve query performance; in addition, the data storage data column and each data column can be fixed according to the size of block is divided into a plurality of data blocks, each block of the same length; this is modified, only need to limit the influence range of modifications to the need to modify the data block, and will not affect other data blocks, reduce resource consumption caused by modification.

【技术实现步骤摘要】

本申请实施例涉及通信
,特别涉及一种数据处理方法。本申请实施例同时还涉及一种数据处理设备。
技术介绍
现有的数据处理方式中,是基于OLTP(On-LineTransactionProcessing,联机事务处理)数据库,OLAP(OnlineAnalyticalProcessing,联机分析处理)数据库以及Infobright数据库来进行的,但目前主要的OLTP数据库,采用transaction日志的方法,保证所有插入、修改和删除的事务一致性,采用的方法是每个时间周期(天,周,月)开始,创建一张新表,并将采集的数据导入到该表中,并且创建静态索引。索引创建后,才可支持高效的查询,其并不支持数据的实时更新。OLAP数据库则采用按批数据导入模式,也不支持实时数据查询。Infobright数据库需要等待批量数据更新完成后才可查询,更新速度慢;且不支持版本体系,不支持历史版本数据查询,也因此难以扩展并应用于分布式数据库。由此可见,目前并没有一种数据处理方式能实现快速对数据进行更新以及快速查询。
技术实现思路
针对现有技术中的缺陷,本申请提出了一种数据处理方法,应用于包括多个只读快照和一个可写快照的数据存储系统中,各个只读快照的生成时间各不相同,该方法包括:基于对数据的修改生成可写快照;定时通过克隆可写快照生成新的只读快照;当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询。可选的,所述只读快照与所述可写快照的结构一致,所述结构中以数据列来进行数据存储,每个数据列中包含有一个或多个数据块,每个数据块中包含相同数量的子数据块。可选的,基于对数据的修改生成可写快照,具体包括:确定当前生成时间最新的只读快照;将确定的只读快照中的数据信息复制到预设快照中;在预设快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息;基于更新后的预设快照中的数据信息生成可写快照。可选的,对数据的修改包括:插入数据,删除数据,更新数据;所述在预设快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息,具体包括:当需要插入数据时,在预设快照中确定存储待插入的数据的子数据块;并在数据存储空间中对应确定的子数据块的位置将待插入的数据插入;基于插入的数据的数据信息更新预设快照中的数据信息;当需要删除数据时,在预设快照中确定待删除的数据所在的子数据块;在数据存储空间中对应确定的子数据块的位置将待删除的数据删除,并将预设快照中确定待删除的数据所在子数据块所对应的数据标识更改为已删除状态;当需要更新数据时,在预设快照中确定待更新的数据所在的数据块,复制确定的数据块,在复制的数据块中确定需要更新的数据所在的子数据块,并在数据存储空间中对应确定的子数据块的位置进行数据更新,生成更新后的数据块,以及在预设快照中将更新后的数据块替换预设的快照中对应的数据块。可选的,所述数据块中存储的多个数据包含有数值;所述当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询,具体包括:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;确定当前生成时间最新的只读快照,以及确定的只读快照中的各个数据块,并确定各个数据块中的数据的数值范围;通过判断待查询的数据的数值是否处于所述数值范围内来对各个数据块进行筛选;在通过扫描筛选出的数据块,并进行数值匹配,以完成数据查询。可选的,所述数据块中存储的多个数据包含有数值;所述当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询,具体包括:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排序序列;利用二分查找法以及待查询的数据的数值在所述数据排序序列中进行查找,以完成数据查询。可选的,基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排序序列,具体包括:通过为各个数据块中的各个数据建立倒排索引的方式,生成按照数值从小到大排序的数据排序序列。本申请还提出了一种数据处理设备,应用于包括多个只读快照和一个可写快照的数据存储系统中,各个只读快照的生成时间各不相同,包括:第一生成模块,用于基于对数据的修改生成可写快照;第二生成模块,用于定时通过克隆可写快照生成新的只读快照;查询模块,用于当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询。可选的,所述只读快照与所述可写快照的结构一致,所述结构中以数据列来进行数据存储,每个数据列中包含有一个或多个数据块,每个数据块中包含相同数量的子数据块。可选的,第一生成模块,具体用于:确定当前生成时间最新的只读快照;将确定的只读快照中的数据信息复制到预设快照中;在预设的快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息;基于更新后的预设快照中的数据信息生成可写快照。可选的,对数据的修改包括:插入数据,删除数据,更新数据;所述第一生成模块在预设的快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,具体包括:所述第一生成模块在预设快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息,具体包括:当需要插入数据时,在预设快照中确定存储待插入的数据的子数据块;并在数据存储空间中对应确定的子数据块的位置将待插入的数据插入;基于插入的数据的数据信息更新预设快照中的数据信息;当需要删除数据时,在预设快照中确定待删除的数据所在的子数据块;在数据存储空间中对应确定的子数据块的位置将待删除的数据删除,并将预设快照中确定待删除的数据所在子数据块所对应的数据标识更改为已删除状态;当需要更新数据时,在预设快照中确定待更新的数据所在的数据块,复制确定的数据块,在复制的数据块中确定需要更新的数据所在的子数据块,并在数据存储空间中对应确定的子数据块的位置进行数据更新,生成更新后的数据块,以及在预设快照中将更新后的数据块替换预设的快照中对应的数据块。可选的,所述数据块中存储的多个数据包含有数值;所述查询模块,具体用于:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;确定当前生成时间最新的只读快照,以及确定的只读快照中的各个数据块,并确定各个数据块中的数据的数值范围;通过判断待查询的数据的数值是否处于所述数值范围内来对各个数据块进行筛选;在通过扫描筛选出的数据块,并进行数值匹配,以完成数据查询。可选的,所述数据块中存储的多个数据包含有数值;所述查询模块,具体用于:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排序序列;利用二分查找法以及待查询的数据的数值在所述数据排序序列中进行查找,以完成数据查询。可选的,所述查询模块基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排序序列,具体包括:通过为各个数据块中的各个数据建立倒排索引的方式,生成按照数值从小到大排序的数据排序序列。与现有技术相比,本申请通过基于对数据本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201510742561.html" title="一种数据处理方法和设备原文来自X技术">数据处理方法和设备</a>

【技术保护点】
一种数据处理方法,其特征在于,应用于包括多个只读快照和一个可写快照的数据存储系统中,各个只读快照的生成时间各不相同,该方法包括:基于对数据的修改生成可写快照;定时通过克隆可写快照生成新的只读快照;当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询。

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于包括多个只读快照和一个可写快照的数据存储系统中,各个只读快照的生成时间各不相同,该方法包括:基于对数据的修改生成可写快照;定时通过克隆可写快照生成新的只读快照;当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询。2.如权利要求1所述的方法,其特征在于,所述只读快照与所述可写快照的结构一致,所述结构中以数据列来进行数据存储,每个数据列中包含有一个或多个数据块,每个数据块中包含相同数量的子数据块。3.如权利要求1或2所述的方法,其特征在于,基于对数据的修改生成可写快照,具体包括:确定当前生成时间最新的只读快照;将确定的只读快照中的数据信息复制到预设快照中;在预设快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息;基于更新后的预设快照中的数据信息生成可写快照。4.如权利要求3所述的方法,其特征在于,对数据的修改包括:插入数据,删除数据,更新数据;所述在预设快照中确定待修改的数据的位置,并在确定的位置完成数据的修改,以及基于修改更新预设快照中的数据信息,具体包括:当需要插入数据时,在预设快照中确定存储待插入的数据的子数据块;并在数据存储空间中对应确定的子数据块的位置将待插入的数据插入;基于插入的数据的数据信息更新预设快照中的数据信息;当需要删除数据时,在预设快照中确定待删除的数据所在的子数据块;在数据存储空间中对应确定的子数据块的位置将待删除的数据删除,并将预
\t设快照中确定待删除的数据所在子数据块所对应的数据标识更改为已删除状态;当需要更新数据时,在预设快照中确定待更新的数据所在的数据块,复制确定的数据块,在复制的数据块中确定需要更新的数据所在的子数据块,并在数据存储空间中对应确定的子数据块的位置进行数据更新,生成更新后的数据块,以及在预设快照中将更新后的数据块替换预设的快照中对应的数据块。5.如权利要求2所述的方法,其特征在于,所述数据块中存储的多个数据包含有数值;所述当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询,具体包括:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;确定当前生成时间最新的只读快照,以及确定的只读快照中的各个数据块,并确定各个数据块中的数据的数值范围;通过判断待查询的数据的数值是否处于所述数值范围内来对各个数据块进行筛选;在通过扫描筛选出的数据块,并进行数值匹配,以完成数据查询。6.如权利要求2所述的方法,其特征在于,所述数据块中存储的多个数据包含有数值;所述当接收到数据查询请求时,通过索引的方式在当前生成时间最新的只读快照完成数据查询,具体包括:当接收到数据查询请求时,基于所述数据查询请求确定待查询的数据的数值;基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排
\t序序列;利用二分查找法以及待查询的数据的数值在所述数据排序序列中进行查找,以完成数据查询。7.如权利要求6所述的方法,其特征在于,基于各个数据块中的各个数据的数值新生成按照数值大小排序的数据排序序列,具体包括:通过为各个数据块中的各个数据建立倒排索引的方式...

【专利技术属性】
技术研发人员:魏闯先潘岳郑博文曾杰南
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1