分布式数据查询方法、装置和设备制造方法及图纸

技术编号:33633468 阅读:18 留言:0更新日期:2022-06-02 01:41
本发明专利技术提供一种分布式数据查询方法、装置和设备,用于解决大数据系统不能很好支持海量大小不一的文件的存储和查询的技术问题。本发明专利技术在创建索引文件时,根据预设的文件大小阈值来决策文件数据内容是存储在分布式列数据库的键值Value字段还是存储在分布式文件系统指定目录中,并在分布式列数据库行键中增加标识符来指示文件数据的存储位置。在进行数据查询时,根据行键中的标识符来分别从分布式列数据库或分布式文件系统中读取查询到的文件。本发明专利技术综合利用了分布式文件系统存储大文件的优势以及分布式列数据库存储小文件的优势,提高了系统整体对各种尺寸海量文件数据的存储和查询性能。查询性能。查询性能。

【技术实现步骤摘要】
分布式数据查询方法、装置和设备


[0001]本专利技术涉及通信及云计算
,尤其涉及一种分布式数据查询方法、装置和设备。

技术介绍

[0002]HBase是一种具有良好扩展性,面向列的分布式数据库,在数据存储检索方面占据着重要的地位。
[0003]HBase的中等对象(Medium Object,MOB)存储特性引入对于中等大小的文档、图像等文件的存储,可降低读取延迟和写入访问时间,通过分离文件的输入输出(Input Output,IO)路径和MOB文件对象,对文件采用不同的压缩策略,从而减少由于HBase压缩造成的写放大问题。若一个表的MOB文件存储在MOB区域中,则意味着该区域中将存在大量的MOB文件。
[0004]然而,使用HBase MOB特性存储海量文件时存在一个很明显的问题,就是对于大文件甚至超大文件不能友好支持,而业务系统经常面对的是杂乱无章、大小不等的各种文件,现有大数据存储系统不能很好的支持这种数据的存储和查询。

技术实现思路

[0005]有鉴于此,本专利技术提供一种分布式数据查询方法、装置和设备,用于解决大数据系统不能很好支持海量大小不一的文件的存储和查询的技术问题。
[0006]基于本专利技术实施例的一方面,本专利技术提供了一种分布式数据查询方法,该方法包括:
[0007]接收文件查询请求,从所述文件查询请求中获取文件信息,使用所述文件信息基于预设的行键值组合规则构造用于查询的行键值;
[0008]使用构造的行键值在分布式列数据库的查询表中进行行键值匹配;
[0009]当在查询表中匹配到记录时,基于所述预设的行键值组合规则解析匹配的记录的行键值,判断匹配的记录的行键值中的标识符是否指示文件尺寸小于预设阈值;
[0010]当文件尺寸小于所述预设阈值时,直接从匹配的记录的数据字段的键值Value字段中读取查询到的文件内容;
[0011]当文件尺寸不小于所述预设阈值时,直接从匹配的记录的数据字段的路径Path字段获取文件的存储路径,根据所述存储路径从分布式文件系统中读取查询到的文件内容。
[0012]进一步地,所述预设的行键值组合规则至少包括文件名、文件时间和标识符,所述标识符用于指示文件尺寸是否小于预设阈值;所述文件查询请求中的文件信息至少包括文件名称或“文件名称+文件时间”。
[0013]进一步地,所述当文件尺寸小于所述预设阈值时,直接从匹配的记录的数据字段的键值Value字段中读取查询到的文件内容后还包括:
[0014]对读取的键值Value字段的内容进行了解压缩和反序列化的处理从而还原出原始
文件内容。
[0015]进一步地,所述的分布式列数据库为HBase或Cassandra,所述分布式文件系统为HDFS或Amazon S3。
[0016]基于本专利技术实施例的另一方面,本专利技术还提供了一种分布式数据查询装置,该装置包括:
[0017]请求接收模块,用于接收文件查询请求,从所述文件查询请求中获取文件信息,使用所述文件信息基于预设的行键值组合规则构造用于查询的行键值;
[0018]匹配判断模块,用于使用构造的行键值在分布式列数据库的查询表中进行行键值匹配;当在查询表中匹配到记录时,基于所述预设的行键值组合规则解析匹配的记录的行键值,判断匹配的记录的行键值中的标识符是否指示文件尺寸小于预设阈值;
[0019]第一获取模块,用于当文件尺寸小于所述预设阈值时,直接从匹配的记录的数据字段的键值Value字段中读取查询到的文件内容;
[0020]第二获取模块,用于当文件尺寸不小于所述预设阈值时,直接从匹配的记录的数据字段的路径Path字段获取文件的存储路径,根据所述存储路径从分布式文件系统中读取查询到的文件内容。
[0021]进一步地,所述预设的行键值组合规则至少包括文件名、文件时间和标识符,所述标识符用于指示文件尺寸是否小于预设阈值;所述文件查询请求中的文件信息至少包括文件名称或“文件名称+文件时间”。
[0022]进一步地,所述第一获取模块还用于对读取的键值Value字段的内容进行了解压缩和反序列化的处理从而还原出原始文件内容。
[0023]基于本专利技术实施例,本专利技术还提供一种电子设备,包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
[0024]存储介质,用于存放计算机程序;
[0025]处理器,用于执行存储介质上所存放的计算机程序时,实施本专利技术提供的分布式数据查询方法的各个步骤。
[0026]本专利技术在创建索引文件时,根据预设的文件大小阈值来决策文件数据内容是存储在分布式列数据库的键值Value字段还是存储在分布式文件系统指定目录中,并在分布式列数据库行键中增加标识符来指示文件数据的存储位置。在进行数据查询时,根据行键中的标识符来分别从分布式列数据库或分布式文件系统中读取查询到的文件。本专利技术综合利用了分布式文件系统存储大文件的优势以及分布式列数据库存储小文件的优势,提高了系统整体对各种尺寸海量文件数据的存储和查询性能。
附图说明
[0027]为了更加清楚地说明本专利技术实施例或者现有技术中的技术方案,下面将对本专利技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本专利技术实施例的这些附图获得其他的附图。
[0028]图1为本专利技术一实施例提供的一种分布式数据查询方法实现原理示意图;
[0029]图2A

图2B为本专利技术一实施例提供的查询表的表结构示意图;
[0030]图3为本专利技术一实施例提供的分布式数据查询方法的步骤流程示意图;
[0031]图4为本专利技术一实施例提供的用于实现本专利技术实施例提供的分布式数据查询方法的电子设备结构示意图。
具体实施方式
[0032]在本专利技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本专利技术实施例。本专利技术实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本专利技术中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0033]应当理解,尽管在本专利技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0034]本专利技术目的是提出一种分布式数据查询方法和装置及实现方法的设备,以实现各种尺寸海量文件数据的高效地存储和查询,不仅支持中小文件的存储和检索还支持大文件甚至超大文件的存储和检索本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据查询方法,其特征在于,方法包括:接收文件查询请求,从所述文件查询请求中获取文件信息,使用所述文件信息基于预设的行键值组合规则构造用于查询的行键值;使用构造的行键值在分布式列数据库的查询表中进行行键值匹配;当在查询表中匹配到记录时,基于所述预设的行键值组合规则解析匹配的记录的行键值,判断匹配的记录的行键值中的标识符是否指示文件尺寸小于预设阈值;当文件尺寸小于所述预设阈值时,直接从匹配的记录的数据字段的键值Value字段中读取查询到的文件内容;当文件尺寸不小于所述预设阈值时,直接从匹配的记录的数据字段的路径Path字段获取文件的存储路径,根据所述存储路径从分布式文件系统中读取查询到的文件内容。2.根据权利要求1所述的方法,其特征在于,所述预设的行键值组合规则至少包括文件名、文件时间和标识符,所述标识符用于指示文件尺寸是否小于预设阈值;所述文件查询请求中的文件信息至少包括文件名称或“文件名称+文件时间”。3.根据权利要求1所述的方法,其特征在于,所述当文件尺寸小于所述预设阈值时,直接从匹配的记录的数据字段的键值Value字段中读取查询到的文件内容后还包括:对读取的键值Value字段的内容进行了解压缩和反序列化的处理从而还原出原始文件内容。4.根据权利要求1所述的方法,其特征在于,所述的分布式列数据库为HBase或Cassandra,所述分布式文件系统为HDFS或Amazon S3。5.一种分布式数据查询装置,其特征在于,该装置包括:请求接收模块,用于接收文件查询请求,从所述文件查询请求中获取文件信息,使用所述文件信...

【专利技术属性】
技术研发人员:王晨龙詹鹏
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

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

1