基于行键盐值的数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:26170910 阅读:12 留言:0更新日期:2020-10-31 13:40
本发明专利技术涉及大数据技术领域,公开了一种基于行键盐值的数据查询方法、装置、设备及存储介质,用于解决数据热点问题、降低资源占用率,从而提升查询性能。基于行键盐值的数据查询方法包括:获取数据库中的表数据和多个数据行键;统计数据分区数量,获取多个目标盐值,根据多个目标盐值和多个数据行键,获取多个盐值数据行键;确定多个目标数据分区;根据数据查询请求获取数据起始键和数据终止键;将数据起始键至数据终止键中的对应多个盐值数据行键进行封装为盐值数据行键封装列表;根据目标终端的数据查询请求确定目标盐值数据行键,并将目标盐值数据行键传输至目标终端。此外,本发明专利技术还涉及区块链技术,目标盐值数据行键可存储于区块链节点中。

Data query method, device, equipment and storage medium based on salt value of row key

【技术实现步骤摘要】
基于行键盐值的数据查询方法、装置、设备及存储介质
本专利技术涉及大数据
,尤其涉及一种基于行键盐值的数据查询方法、装置、设备及存储介质。
技术介绍
Hbase是一个分布式的、面向列的开源数据库是一个分布式的和可扩展的大数据仓库,HBase能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce进行离线处理或者批处理的能力,Hbase能够在大量的数据中快速查询记录,也可以从中获得综合分析报告。Presto是一个分布式的查询引擎,基于内存进行计算,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询数据查询引擎。在现有技术中,通常基于Hbase和Presto查询数据,但是当数据达到亿级别或以上时,数据会出现热点问题,资源占用率较高且计算效率较低,从而导致开源PrestoHBase的查询性能下降。
技术实现思路
本专利技术的主要目的在于解决现有技术在查询数据时,计算效率低、资源占用率高导致的查询性能差的问题。本专利技术第一方面提供了一种基于行键盐值的数据查询方法,包括:获取数据库中的表数据,并从所述表数据中读取多个数据行键,所述表数据包括多个数据分区;统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键;根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区;获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键;将所述数据起始键至所述数据终止键中对应的多个盐值数据行键进行封装,得到盐值数据行键封装列表,所述盐值数据行键封装列表包括所述数据起始键对应的起始盐值数据行键和所述数据终止键对应的终止盐值数据行键;根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。可选的,在本专利技术第一方面的第一种实现方式中,所述统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键包括:统计所述多个数据分区的数量,得到数据分区数量;根据所述数据分区数量设置盐值范围,得到多个盐值选值,盐值选值数量与所述数据分区数量相同,每个盐值选值对应多个初始盐值;为多个初始盐值设置分隔符,得到多个目标盐值;采用随机数算法将所述多个目标盐值随机设置到所述多个数据行键的前缀位置,得到多个盐值数据行键。可选的,在本专利技术第一方面的第二种实现方式中,所述根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区包括:依次读取所述多个盐值数据行键中对应的目标盐值,得到多个目标行键盐值;基于所述多个目标行键盐值对所述多个盐值数据行键进行分类,得到多个盐值数据行键类别;将所述多个盐值数据行键类别分配到对应的数据分区中,得到多个目标数据分区。可选的,在本专利技术第一方面的第三种实现方式中,所述获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键包括:获取目标终端的数据查询请求,并从所述多个盐值数据行键中分别读取多个行键头部数据,所述行键头部数据为目标盐值后的首位数字或者字母;基于所述数据查询请求、阿斯克斯编码顺序和所述多个行键头部数据,确定数据起始键和数据终止键。可选的,在本专利技术第一方面的第四种实现方式中,所述根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端包括:在所述盐值数据行键封装列表中读取封装行键标识;判断所述封装行键标识是否与预置行键标识相匹配;若所述封装行键标识与所述预置行键标识相匹配,则确定目标查询模式;根据所述目标终端的数据查询请求、所述目标查询模式和所述盐值数据行键封装列表,确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。可选的,在本专利技术第一方面的第五种实现方式中,所述根据所述目标终端的数据查询请求、所述目标查询模式和所述盐值数据行键封装列表,确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端包括:通过所述目标查询模式对所述目标终端的数据查询请求进行谓词解析,得到查询字段名称;从所述盐值数据行键封装列表中读取多个预置数据行键字段名称;将所述查询字段名称与所述多个预置数据行键字段名称进行匹配,得到目标字段名称,根据所述目标字段名称确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。可选的,在本专利技术第一方面的第六种实现方式中,在所述获取数据库中的表数据,并从所述表数据中读取多个数据行键,所述表数据包括多个数据分区之前,所述基于行键盐值的数据查询方法还包括:在服务器中设置监听文件和配置文件,其中,当通过所述监听文件检测到数据库或者服务器中发生数据新增、数据删除或者数据修改时,通过所述配置文件实时向服务器集群配置发生更改的数据。本专利技术第二方面提供了一种基于行键盐值的数据查询装置,包括:数据行键获取模块,用于获取数据库中的表数据,并从所述表数据中读取多个数据行键,所述表数据包括多个数据分区;盐值行键设置模块,用于统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键;数据分区设置模块,用于根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区;数据行键选取模块,用于获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键;行键封装模块,用于将所述数据起始键至所述数据终止键中的对应多个盐值数据行键进行封装,得到盐值数据行键封装列表,所述盐值数据行键封装列表包括所述数据起始键的对应起始盐值数据行键和所述数据终止键对应的终止盐值数据行键;目标数据查询模块,用于根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。可选的,在本专利技术第二方面的第一种实现方式中,所述盐值行键设置模块具体用于:统计所述多个数据分区的数量,得到数据分区数量;根据所述数据分区数量设置盐值范围,得到多个盐值选值,盐值选值数量与所述数据分区数量相同,每个盐值选值对应多个初始盐值;为多个初始盐值设置分隔符,得到多个目标盐值;采用随机数算法将所述多个目标盐值随机设置到所述多个数据行键的前缀位置,得到多个盐值数据行键。可选的,在本专利技术第二方面的第二种实现方式中,所述数据分区设置模块具体用于:依次读取所述多个盐值数据行键中对应的目标盐值,得到多个目标行键盐值;基于所述多个目标盐值对所述多个盐值数据行键进行分类,得到多个盐值数据行键类别;将所述多本文档来自技高网...

【技术保护点】
1.一种基于行键盐值的数据查询方法,其特征在于,所述基于行键盐值的数据查询方法包括:/n获取数据库中的表数据,并从所述表数据中读取多个数据行键,所述表数据包括多个数据分区;/n统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键;/n根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区;/n获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键;/n将所述数据起始键至所述数据终止键中对应的多个盐值数据行键进行封装,得到盐值数据行键封装列表,所述盐值数据行键封装列表包括所述数据起始键对应的起始盐值数据行键和所述数据终止键对应的终止盐值数据行键;/n根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。/n

【技术特征摘要】
1.一种基于行键盐值的数据查询方法,其特征在于,所述基于行键盐值的数据查询方法包括:
获取数据库中的表数据,并从所述表数据中读取多个数据行键,所述表数据包括多个数据分区;
统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键;
根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区;
获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键;
将所述数据起始键至所述数据终止键中对应的多个盐值数据行键进行封装,得到盐值数据行键封装列表,所述盐值数据行键封装列表包括所述数据起始键对应的起始盐值数据行键和所述数据终止键对应的终止盐值数据行键;
根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端。


2.根据权利要求1所述的基于行键盐值的数据查询方法,其特征在于,所述统计所述多个数据分区的数量,得到数据分区数量,根据所述数据分区数量获取多个目标盐值,并根据所述多个目标盐值和所述多个数据行键,获取多个盐值数据行键包括:
统计所述多个数据分区的数量,得到数据分区数量;
根据所述数据分区数量设置盐值范围,得到多个盐值选值,盐值选值数量与所述数据分区数量相同,每个盐值选值对应多个初始盐值;
为多个初始盐值设置分隔符,得到多个目标盐值;
采用随机数算法将所述多个目标盐值随机设置到所述多个数据行键的前缀位置,得到多个盐值数据行键。


3.根据权利要求1所述的基于行键盐值的数据查询方法,其特征在于,所述根据所述多个盐值数据行键和所述多个数据分区,确定多个目标数据分区包括:
依次读取所述多个盐值数据行键中对应的目标盐值,得到多个目标行键盐值;
基于所述多个目标行键盐值对所述多个盐值数据行键进行分类,得到多个盐值数据行键类别;
将所述多个盐值数据行键类别分配到对应的数据分区中,得到多个目标数据分区。


4.根据权利要求1所述的基于行键盐值的数据查询方法,其特征在于,所述获取目标终端的数据查询请求,并在所述多个目标数据分区中,根据所述数据查询请求和所述多个盐值数据行键,确定起始盐值数据行键对应的数据起始键和终止盐值数据行键对应的数据终止键包括:
获取目标终端的数据查询请求,并从所述多个盐值数据行键中分别读取多个行键头部数据,所述行键头部数据为目标盐值后的首位数字或者字母;
基于所述数据查询请求、阿斯克斯编码顺序和所述多个行键头部数据,确定数据起始键和数据终止键。


5.根据权利要求1所述的基于行键盐值的数据查询方法,其特征在于,所述根据所述目标终端的数据查询请求在所述盐值数据行键封装列表中确定目标盐值数据行键,并将所述目标盐值数据行键传输至目标终端包括:
在所述盐值数据行键封装列表中读取封装行键标识;
判断所述封装行键标识是否与预置行键标识相匹配;
若所述封...

【专利技术属性】
技术研发人员:李慎刚
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东;44

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

1