CN111694803A - 数据查询方法、装置、设备及计算机存储介质 - Google Patents

数据查询方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN111694803A
CN111694803A CN202010545150.6A CN202010545150A CN111694803A CN 111694803 A CN111694803 A CN 111694803A CN 202010545150 A CN202010545150 A CN 202010545150A CN 111694803 A CN111694803 A CN 111694803A
Authority
CN
China
Prior art keywords
query
target
data
result
data query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010545150.6A
Other languages
English (en)
Inventor
冼炳洪
黎聪
汤智煌
邹普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010545150.6A priority Critical patent/CN111694803A/zh
Publication of CN111694803A publication Critical patent/CN111694803A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及金融科技(Fintech)技术领域,并公开了一种数据查询方法,该方法包括:将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。本发明还公开了一种数据查询装置、设备和一种计算机存储介质。本发明提高了数据查询的效率。

Description

数据查询方法、装置、设备及计算机存储介质
技术领域
本发明涉及金融科技(Fintech)的数据查询技术领域,尤其涉及数据查询方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
目前在进行数据查询时,都是采用单集群查询的方式,即应用通过hbase(分布式存储系统)接口对单个hbase集群进行查询,而hbase备用集群只在主集群不可用时才会被启用。并且当hbase主备集群间开启replication(复制)同步功能时,由于hbase是基于记录逐笔插入的方式,数据操作频繁,对hbase的region(区域)分区不断修改,导致内存碎片过多,资源占用过多,增加数据查询的延迟时间,也就是目前数据查询的方式容易造成数据查询的效率低下。并且由于hbase数据间数据是同步的,若发生主集群数据丢失故障,备用集群的数据也会受影响,导致查询结果的准确性降低。
发明内容
本发明的主要目的在于提出一种数据查询方法、装置、设备及计算机存储介质,旨在解决如何提高数据查询的效率和准确性的技术问题。
为实现上述目的,本发明提供一种数据查询方法,所述数据查询方法包括如下步骤:
将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;
若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
可选地,基于所述数据查询指令对各所述目标集群进行数据查询,以获取查询结果的步骤,包括:
基于所述数据查询指令对各所述目标集群进行数据查询,并依次检测各所述目标集群是否反馈数据查询信息;
若是,则将所述目标集群反馈的数据查询信息作为查询结果。
可选地,基于所述数据查询指令同时对各所述目标集群进行数据查询的步骤,包括:
检测各所述目标集群中是否存在正在进行维护的维护目标集群;
若存在所述维护目标集群,则获取各所述目标集群中除维护目标集群之外的其它目标集群,并根据所述数据查询指令对所述其它目标集群进行数据查询。
可选地,对各所述查询结果进行合并处理,以获取目标查询结果的步骤,包括:
依次遍历各所述查询结果,将当前遍历的当前查询结果和各所述查询结果依次进行相似度检测,统计所述相似度检测的检测结果大于预设阈值的统计数量,若所述统计数量大于预设数量,则将所述当前查询结果作为有效查询结果,直至各所述查询结果遍历完成;
若所述有效查询结果存在多个,则对各所述有效查询结果进行合并处理,以获取目标查询结果。
可选地,将数据仓库中的目标数据转换为目标文件的步骤,包括:
根据预设的数据转换方式对数据仓库中的目标数据进行分割,以获取多个分割数据;
将各所述分割数据组装成预设的存储格式文件,并将具有各所述分割数据的存储格式文件导入至预设目录文件,以获取目标文件。
可选地,将所述目标文件导入至多个目标集群的步骤,包括:
确定各所述目标文件对应的目录,并获取各所述目标集群中的目标表;
根据所述目录将所述目标文件同时导入至各所述目标表。
可选地,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果的步骤之后,包括:
若存在,则确定各所述查询结果中除超时查询结果之外的其它查询结果,并输出所述其它查询结果。
此外,为实现上述目的,本发明还提供一种数据查询装置,所述数据查询装置包括:
导入模块,用于将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
检测模块,用于若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;
输出模块,用于若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
此外,为实现上述目的,本发明还提供一种数据查询设备,所述数据查询设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询程序,所述数据查询程序被所述处理器执行时实现如上所述的数据查询方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有数据查询程序,所述数据查询程序被处理器执行时实现如上所述的数据查询方法的步骤。
本发明通过将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;若获取到数据查询指令,则基于所述数据查询指令对各所述目标集群进行数据查询,以获取多个查询结果,并检测各所述查询结果中是否存在查询时长大于或等于预设时长的目标查询结果;若不存在,则对各所述查询结果进行合并处理,以确定所述合并处理的合并结果,并输出所述合并结果。通过将数据仓库中目标数据转换为目标文件,再将目标文件导入至多个目标集群,从而避免了现有技术中直接将数据按照逐字导入的方式至目标集群,使得内存碎片过多,占用过多的资源的现象发生,并在接收到数据查询指令时,会同时对各个目标集群进行数据查询,相对于现有技术的单集群查询的方式,提高了数据查询的效率,并且会对各个查询结果进行合并处理,并输出合并处理的合并结果,避免了由于某一个集群的故障而导致查询结果不准确的现象发生,提高了数据查询的准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据查询设备结构示意图;
图2为本发明数据查询方法第一实施例的流程示意图;
图3为本发明数据查询装置的装置模块示意图;
图4为本发明数据查询方法中数据写入集群的流程示意图;
图5为本发明数据查询方法中的数据查询时序示意图;
图6为本发明数据查询方法中流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的数据查询设备结构示意图。
本发明实施例数据查询设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该数据查询设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据查询设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据查询程序。
在图1所示的数据查询设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据查询程序,并执行下述数据查询方法中的操作。
基于上述硬件结构,提出本发明数据查询方法实施例。
参照图2,图2为本发明数据查询方法第一实施例的流程示意图,所述方法包括:
步骤S10,将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
在本实施例中,hbase是一种分布式列式存储数据库。hive是一种离线的SQL(Structured Query Language,结构化查询语言)数据仓库,用于存储目标数据,在传统方案中,将hive数据仓库中的数据存储至hbase时,只能采用数据导入的方式将hive数据仓库中的数据存储至单个hbase(主hbase)中,之后再由主hbase将数据同步至备hbase,由于主备hbase之间的数据同步,是采用replication工具进行同步,这种同步方式是基于记录逐笔插入的方式,数据操作频繁,对hbase的region(区域)分区不断修改,导致内存碎片过多,资源占用过多,增加后续数据查询的延迟时间,造成数据查询的效率低下。
基于此,本发明实施例中,在将hive数据仓库中的数据存储至hbase数据库时,先将数据仓库中的目标数据转换为目标文件。在本实施例中,可以将hfile作为目标文件的存储格式。而且由于数据仓库hive中的数据都是以数据格式(如表格形式)进行存储,当需要将数据仓库中的目标数据导入hbase集群(也就是目标集群)时,先对表格中的目标数据按照预设的分割符进行分割处理,再将各个分割数据组装成预设的存储格式文件,其中存储格式文件包括Key Length(关键字长度)、Value Length(值长度)、Row Length(行长度)、Row(行)、Column Family Length(列族长度)、Column Length(列长)、Column Length(列长)、Column Qaulifier(列限定词)、Time Stamp(时间戳)、Key Type(关键字类型)和Value(值)各个属性。再将组装成该存储格式的各个文件导入至预设目录文件(如按照主键key的类型建立的目录文件、或按照时间戳建立的目录文件等,具体可根据用户的需求自行定义)得到符合hbase集群格式的多个目标文件,再将各个目标文件依次上传至各个hbase集群中的目标表中,从而完成将hive中的目标数据同时写入多个hbase集群中的操作,便于后续在各个hbase集群中进行数据查询。本发明实施例中,将目标数据转换成目标文件之后,将目标文件分别导入到多个目标集群,不再采用传统方式(将目标数据导入单个集群,之后集群之间采用replication工具进行同步),避免了对集群的region分区不断的修改,导致了内存碎片过多的缺陷。
需要说明的是,在将数据仓库中的目标数据转换为目标文件之前,先采用ETL(Extract-Transform-Load,数据仓库技术)对数据进行处理,具体的,ETL将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。目标数据是与数据查询指令关联的数据。目标集群是用于进行数据查询的hbase集群(包括主集群和备集群),其数量可以根据用户提前设置的数量而定。并且在本实施例中,可以同时对多个hbase集群进行数据查询。
在本实施例中,通过采用多写和多读的方式进行数据查询。也就是将数据仓库中的数据转换为目标文件,再将目标文件同时导入至多个目标集群中,以完成多写操作。多读是数据查询采用多个目标集群同时查询,并对各个查询结果进行合并处理,得到合并结果进行输出。因此会将数据仓库hive中的目标数据转换为目标文件,并同步到预设数量的目标集群,以便进行数据查询。也就是ETL会批量将数据查询指令对应的源数据(如征信数据)加工成hive数据,并将hive数据转换为目标文件,再将目标文件导入至各个目标集群中。
并且多写可以如图4所示,在hive仓库(数据仓库)中通过将目标数据转换为hfile文件(目标文件),并将hfile文件同步到hbase集群-1(目标集群1)和hbase集群-2(目标集群2)。也就是在预设格式文件中创建目标表,并在目标表中创建目录,根据此目录将目标数据导入至目标表,并将具有目标数据的文件作为目标文件,即hfile文件。并且目标数据从hive变成hfile文件后,通过将hfile文件导入hbase数据库,能减少hbase数据的插入操作,提升导入速度的同时,降级内存碎片的产生与内存垃圾回收触发的几率,对于查询的延迟波动起到有效的规避。
步骤S20,若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长小于预设时长的超时查询结果;
数据查询指令可以是用户输入的,或者是提前设置的指令,用于触发数据查询操作。当各个目标集群中均存在有目标文件,且接收到数据查询指令时,可以进行多读处理,即同时对各个目标集群进行数据查询,以获取多个查询结果。并且在对各个目标集群进行数据查询时,可以根据不同的故障场景执行不同的操作,并返回相应的结果。例如,当同时对集群-1和集群-2进行数据查询时,若集群-1出现故障,导致客户ID0002数据(即目标数据)丢失,则在对于客户ID0002的某一项数据(如征信记录)发起查询时,会出现集群-1无法返回记录,集群-2成功返回数据记录的现象,此时就可以将集群-2返回的数据记录直接进行输出。再例如,当同时对集群-1和集群-2进行数据查询时,若集群-1需要维护升级,无法进行导入操作和查询操作时,则只会将数据导入至集群-2,并通过集群-2查询客户ID0002的征信记录,并根据集群-2的返回记录进行合并处理,以确定最终结果,而集群-1会在恢复服务(导入操作和查询操作均可用)时,才会允许进行查询操作。
当获取到查询结果后,若获取到的查询结果只有一个,则直接反馈此查询结果,若存在多个,则会检测各个查询结果中是否存在查询时长大于或等于预设时长(用户提前设置的任意时长)的超时查询结果,并根据不同的检测结果执行不同的操作。即对各个查询结果进行超时检测。例如,若系统收到数据查询指令后,发起两个线程分别对集群-1和集群-2发起查询,当线程2对集群-2发器查询时,由于集群-2延迟,导致了集群-2的查询结果超时返回,而集群-1的查询结果是及时地返回了查询结果,此时就可以将集群-1的查询结果进行输出。
例如,如图5所示,包括客户端,查询主线程,hbase集群-1查询线程和hbase集群-2查询线程。当客户端发起查询操作后,查询主线程会查询集群-1和查询集群-2,并对hbase集群-1查询线程的查询结果和hbase集群-2查询线程的查询结果进行合并返回处理,再对每个线程中的返回处理结果进行检查确定是否超时,若有超时,则进行超时返回,并向客户端返回超时结果。若没有超时,则向客户端返回查询结果。也就是在查询主线程接收数据查询指令时,会主动启动至少两个查询线程分别对hbase集群-1和hbase集群-2同时发起查询。并且主线程会对于两个集群的返回结果(即查询结果)进行监控,在预设时长(用户提前设置的任意时长)范围内接收到的任意一个查询结果都可以作为本次查询的合并结果,从而减少了单集群的延迟波动影响,降低了延迟,提高了有效服务响应和可靠性。
步骤S30,若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
当经过判断发现在各个查询结果中不存在查询时长大于或等于预设时长的超时查询结果,则可以确定各个查询结果均未超时,此时就可以对各个查询结果进行合并处理,以获取目标查询结果,并输出该目标查询结果。其中,合并处理是将获取到的各个查询结果进行合并同类项处理,以防止反馈的数据出现重复。并且在对各个查询结果进行合并处理时,若存在某一个查询结果和其它的查询结果的相似度都比较小,则可以忽略此查询结果,对相似度较高的各个查询结果进行合并处理,得到目标查询结果。
另外,为辅助理解本实施例中的数据查询的原理的理解,下面进行举例说明。
例如,如图6所示,先进行数据导入操作,即在hive仓库(数据仓库)中将目标数据转换为hfile文件(目标文件),并将hfile文件同步到hbase集群-1(目标集群1)和hbase集群-2(目标集群2)。再开始进行数据查询时,先根据查询主线程进行查询调度,创建线程查询集群1和查询集群2。查询集群1对hbase集群-1查询,并获取返回结果,再将返回结果发送至合并结果。查询集群2对hbase集群-2查询,并获取返回结果,再将返回结果发送至合并结果。并对各个返回结果进行超时检测,若未超时,则输出合并结果中的返回结果。若超时,则返回超时结果,直至结束。
在本实施例中,通过将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。通过将数据仓库中目标数据转换为目标文件,再将目标文件导入至多个目标集群,从而避免了现有技术中直接将数据按照逐字导入的方式至目标集群,使得内存碎片过多,占用过多的资源的现象发生,并在接收到数据查询指令时,会同时对各个目标集群进行数据查询,相对于现有技术的单集群查询的方式,提高了数据查询的效率,并且会对各个查询结果进行合并处理,并输出合并处理的合并结果,避免了由于某一个集群的故障而导致查询结果不准确的现象发生,提高了数据查询的准确性。
进一步地,基于本发明数据查询方法第一实施例,提出本发明数据查询方法第二实施例。本实施例是本发明第一实施例的步骤S20,基于所述数据查询指令对各所述目标集群进行数据查询,以获取查询结果的步骤的细化,包括:
步骤a,基于所述数据查询指令对各所述目标集群进行数据查询,并依次检测各所述目标集群是否反馈数据查询信息;
在本实施例中,当根据数据查询指令对各个目标集群进行数据查询时,还需要对各个目标集群进行检测,即依次检测各个目标集群是否有反馈数据查询信息,并根据不同的检测结果执行不同的操作。其中,数据查询信息可以是hbase集群根据数据查询指令反馈的结果。
步骤b,若是,则将所述目标集群反馈的数据查询信息作为查询结果。
当经过判断发现若在各个目标集群中存在有反馈数据查询信息的目标集群,则可以直接将此目标集群反馈的数据查询信息作为查询结果。但是若存在目标集群未反馈数据查询信息,则确定此未反馈数据查询信息的目标集群存在异常。
在本实施例中,通过对各个目标集群进行数据查询时,在检测到各个目标集群都能反馈数据查询信息时,将此数据查询信息作为查询结果,从而保障了获取到的查询结果的准确性。
进一步地,基于所述数据查询指令同时对各所述目标集群进行数据查询的步骤,包括:
步骤c,检测各所述目标集群中是否存在正在进行维护的维护目标集群;
在本实施例中,当根据数据查询指令对各个目标集群进数据查询之前,还需要对各个目标集群进行检测,确定是否存在有目标集群正在进行版本升级,而无法进行数据查询操作等,若存在,则将此目标集群作为正在进行维护的维护目标集群,并根据不同的检查结果确定进行数据查询的目标集群的数量。其中,维护目标集群的数据查询接口和数据导入接口是处于不可用状态。
步骤d,若存在所述维护目标集群,则获取各所述目标集群中除维护目标集群之外的其它目标集群,并根据所述数据查询指令对所述其它目标集群进行数据查询。
当经过判断发现在各个目标集群中存在维护目标集群时,则在各个目标集群中确定除维护目标集群之外的其它目标集群,并将数据查询指令发送到其它目标集群,对其它目标集群进行数据查询。但是若在各个目标集群中不存在维护目标集群,则根据数据查询指令对所有的目标集群进行数据查询。
在本实施例中,通过在确定各个目标集群中存在维护目标集群时,对其它目标集群进行数据查询,从而保障了数据查询的有效进行。
进一步地,对各所述查询结果进行合并处理,以获取目标查询结果的步骤,包括:
步骤e,依次遍历各所述查询结果,将当前遍历的当前查询结果和各所述查询结果依次进行相似度检测,统计所述相似度检测的检测结果大于预设阈值的统计数量,若所述统计数量大于预设数量,则将所述当前查询结果作为有效查询结果,直至各所述查询结果遍历完成;
在本实施例中,当获取到多个查询结果时,依次遍历各个查询结果,并将当前遍历的当前查询结果依次和获取到的各个查询结果进行相似度检测,即计算当前查询结果和每个查询结果之间的相似度,并依次判断各个相似度是否大于预设阈值(用户提前设置的任意比例值),再获取大于预设阈值的相似度的数量,即统计数量,并将统计数量和预设数量(用户提前设置的任意数量)进行比较,若大于,则可以确定当前查询结果是有效的,可以将其作为有效查询结果,直至各个查询结果遍历完成,也就是对所有的查询结果都采用相同的方式进行判断,以获取有效查询结果。
步骤x,若所述有效查询结果存在多个,则对各所述有效查询结果进行合并处理,以获取目标查询结果。
在获取到有效查询结果后,判断有效查询结果是否存在多个,若有且只有一个,则将此有效查询结果作为目标查询结果进行输出。若有效查询结果存在多个,则对各个有效查询结果进行合并处理,得到合并后的查询结果,即目标查询结果。
在本实施例中,通过在各个查询结果中获取有效查询结果,并在有效查询结果存在多个时,对各个有效查询结果进行合并处理,得到目标查询结果,从而保障了数据查询结果的准确性。
进一步地,将数据仓库中的目标数据转换为目标文件的步骤,包括:
步骤g,根据预设的数据转换方式对数据仓库中的目标数据进行分割,以获取多个分割数据;
在本实施例中,在根据预设的数据转换方式将数据仓库中的目标数据转换为目标文件时,需要先确定目标数据在数据仓库中的表格位置,再根据预设的分割符将目标数据所在的hive表格进行分割处理,以获取多个分割数据。其中,预设的分割符可以是用户提前设置的任意符号,如“,”等,本实例中,该数据转换方式是预先内置的方式,为了方便,也可采用importTsv方式,以将hive表格格式转换成hfile格式。
步骤h,将各所述分割数据组装成预设的存储格式文件,并将具有各所述分割数据的存储格式文件导入至预设目录文件,以获取目标文件。
在获取到各个分割数据后,可以将各个分割数据分别组装成预设的存储格式文件(用户提前设置的适用于hbase集群中的文件,如RowKey,Rowkey用来表示唯一一行记录),再将存储格式文件以hfile(hfile是hbase的数据格式文件)的格式导入到hdfs指定的目录中,也就是预设目录文件,将具有存储格式文件的预设目录文件作为目标文件,并同时导入至多个目标集群中。而将分割数据组装成存储格式文件的方式可以是按照分割数据的属性定义进行分类合并,得到存储格式文件。其中,存储格式文件包括Key Length(关键字长度)、Value Length(值长度)、Row Length(行长度)、Row(行)、Column Family Length(列族长度)、Column Length(列长)、Column Length(列长)、Column Qaulifier(列限定词)、TimeStamp(时间戳)、Key Type(关键字类型)和Value(值)。
在本实施例中,通过根据预设的数据转换方式将目标数据分割为多个分割数据,再组装成存储格式文件,并导入至预设目录文件,以获取目标文件,从而保障了获取到的目标文件的准确性。
进一步地,将所述目标文件导入至多个目标集群的步骤,包括:
步骤k,确定所述目标文件对应的目录,并获取各所述目标集群中的目标表;
在将目标文件导入至多个目标集群时,需要先确定目标文件中已有的目录,如“key Length、Value”等,然后再确定需要进行文件导入的各个目标集群,并获取这些目标集群中的表(如hbase表),即目标表。
步骤m,根据所述目录将所述目标文件同时导入至各所述目标表。
当获取到各个目标集群中的目标表后,可以根据目标文件中的目录依次将目标文件中的hfile文件同时导入至各个目标集群中的目标表,以完成将数据仓库中的数据导入至hbase集群中,此外,也可通过bulkload方式将目标文件导入到各所述目标表。
在本实施例汇中,通过先确定目标文件对应的目录,再根据此目录将目标文件同时导入至各个目标集群中的目标表,从而保障了目标文件导入至多个目标集群的有效进行。
进一步地,检测各所述查询结果中是否存在查询时长小于预设时长的目标查询结果的步骤之后,包括:
步骤n,若存在,则确定各所述查询结果中除目标查询结果之外的其它查询结果,并输出所述其它查询结果。
当经过判断发现在各个查询结果中存在查询时长大于或等于预设时长的超时查询结果,则可以确定存在有目标集群的数据查询有超时现象,此时就可以确定各个查询结果中除超时查询结果之外的其它查询结果,并检测其它查询结果是否存在多个,若其它查询结果只存在一个,则可以直接输出此其它查询结果。若其它查询结果存在多个,则可以进行合并处理,并进行输出。
在本实施例中,通过在确定存在查询时长大于或等于预设时长的超时查询结果时,确定其它查询结果,并输出此其它查询结果,从而保障了数据查询的准确性。
本发明还提供一种数据查询装置,参照图3,所述数据查询装置包括:
导入模块A10,用于将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
检测模块A20,用于若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;
输出模块A30,用于若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
可选地,所述检测模块A20,还用于:
基于所述数据查询指令对各所述目标集群进行数据查询,并依次检测各所述目标集群是否反馈数据查询信息;
若是,则将所述目标集群反馈的数据查询信息作为查询结果。
可选地,所述检测模块A20,还用于:
检测各所述目标集群中是否存在正在进行维护的维护目标集群;
若存在所述维护目标集群,则获取各所述目标集群中除维护目标集群之外的其它目标集群,并根据所述数据查询指令对所述其它目标集群进行数据查询。
可选地,所述输出模块A30,还用于:
依次遍历各所述查询结果,将当前遍历的当前查询结果和各所述查询结果依次进行相似度检测,统计所述相似度检测的检测结果大于预设阈值的统计数量,若所述统计数量大于预设数量,则将所述当前查询结果作为有效查询结果,直至各所述查询结果遍历完成;
若所述有效查询结果存在多个,则对各所述有效查询结果进行合并处理,以获取目标查询结果。
可选地,所述导入模块A10,还用于:
根据预设的数据转换方式对数据仓库中的目标数据进行分割,以获取多个分割数据;
将各所述分割数据组装成预设的存储格式文件,并将具有各所述分割数据的存储格式文件导入至预设目录文件,以获取目标文件。
可选地,所述导入模块A10,还用于:
确定各所述目标文件对应的目录,并获取各所述目标集群中的目标表;
根据所述目录将所述目标文件同时导入至各所述目标表。
可选地,所述检测模块A20,还用于:
若存在,则确定各所述查询结果中除超时查询结果之外的其它查询结果,并输出所述其它查询结果。
上述各程序单元所执行的方法可参照本发明数据查询方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有数据查询程序,所述数据查询程序被处理器执行时实现如上所述的数据查询方法的步骤。
其中,在所述处理器上运行的数据查询程序被执行时所实现的方法可参照本发明数据查询方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据查询方法,其特征在于,所述数据查询方法包括如下步骤:
将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果;
若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
2.如权利要求1所述的数据查询方法,其特征在于,所述基于所述数据查询指令对各所述目标集群进行数据查询,以获取查询结果的步骤,包括:
基于所述数据查询指令对各所述目标集群进行数据查询,并依次检测各所述目标集群是否反馈数据查询信息;
若是,则将所述目标集群反馈的数据查询信息作为查询结果。
3.如权利要求2所述的数据查询方法,其特征在于,所述基于所述数据查询指令同时对各所述目标集群进行数据查询的步骤,包括:
检测各所述目标集群中是否存在正在进行维护的维护目标集群;
若存在所述维护目标集群,则获取各所述目标集群中除维护目标集群之外的其它目标集群,并根据所述数据查询指令对所述其它目标集群进行数据查询。
4.如权利要求1所述的数据查询方法,其特征在于,所述对各所述查询结果进行合并处理,以获取目标查询结果的步骤,包括:
依次遍历各所述查询结果,将当前遍历的当前查询结果和各所述查询结果依次进行相似度检测,统计所述相似度检测的检测结果大于预设阈值的统计数量,若所述统计数量大于预设数量,则将所述当前查询结果作为有效查询结果,直至各所述查询结果遍历完成;
若所述有效查询结果存在多个,则对各所述有效查询结果进行合并处理,以获取目标查询结果。
5.如权利要求1所述的数据查询方法,其特征在于,所述将数据仓库中的目标数据转换为目标文件的步骤,包括:
根据预设的数据转换方式对数据仓库中的目标数据进行分割,以获取多个分割数据;
将各所述分割数据组装成预设的存储格式文件,并将具有各所述分割数据的存储格式文件导入至预设目录文件,以获取目标文件。
6.如权利要求1所述的数据查询方法,其特征在于,所述将所述目标文件导入至多个目标集群的步骤,包括:
确定各所述目标文件对应的目录,并获取各所述目标集群中的目标表;
根据所述目录将所述目标文件同时导入至各所述目标表。
7.如权利要求1-6任一项所述的数据查询方法,其特征在于,所述检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时查询结果的步骤之后,包括:
若存在,则确定各所述查询结果中除超时查询结果之外的其它查询结果,并输出所述其它查询结果。
8.一种数据查询装置,其特征在于,所述数据查询装置包括:
导入模块,用于将数据仓库中的目标数据转换为目标文件,并将所述目标文件导入至多个目标集群;
检测模块,用于若获取到数据查询指令,则基于所述数据查询指令同时对各所述目标集群进行数据查询,以获取查询结果,并在所述查询结果存在多个时,检测各所述查询结果中是否存在查询时长大于或等于预设时长的超时询结果;
输出模块,用于若不存在,则对各所述查询结果进行合并处理,以获取目标查询结果,并输出所述目标查询结果。
9.一种数据查询设备,其特征在于,所述数据查询设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询程序,所述数据查询程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据查询方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有数据查询程序,所述数据查询程序被处理器执行时实现如权利要求1至7中任一项所述的数据查询方法的步骤。
CN202010545150.6A 2020-06-15 2020-06-15 数据查询方法、装置、设备及计算机存储介质 Pending CN111694803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010545150.6A CN111694803A (zh) 2020-06-15 2020-06-15 数据查询方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010545150.6A CN111694803A (zh) 2020-06-15 2020-06-15 数据查询方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111694803A true CN111694803A (zh) 2020-09-22

Family

ID=72481293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010545150.6A Pending CN111694803A (zh) 2020-06-15 2020-06-15 数据查询方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111694803A (zh)

Similar Documents

Publication Publication Date Title
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
CN109800222B (zh) 一种HBase二级索引自适应优化方法和系统
US7624118B2 (en) Data processing over very large databases
US11347787B2 (en) Image retrieval method and apparatus, system, server, and storage medium
US7620624B2 (en) Systems and methods for indexing content for fast and scalable retrieval
CN103412924B (zh) 日志多语言查询方法和系统
CN111400408A (zh) 数据同步方法、装置、设备及存储介质
CN106407360B (zh) 一种数据的处理方法及装置
CN110245134B (zh) 一种应用于搜索服务的增量同步方法
CN110928851B (zh) 处理日志信息的方法、装置、设备及存储介质
CN103678694A (zh) 视频资源的倒排索引文件建立方法及其系统
CN114968953A (zh) 日志的存储检索方法、系统、终端设备及介质
CN113177090A (zh) 数据处理方法及装置
CN112131214A (zh) 数据写入、数据查询的方法、系统、设备和存储介质
CN116737838A (zh) 一种数据同步方法、装置,计算机设备和存储介质
CN107430633B (zh) 用于数据存储的系统及方法和计算机可读介质
CN111611222A (zh) 一种基于分布式存储的数据动态处理方法
CN111694803A (zh) 数据查询方法、装置、设备及计算机存储介质
CN114741467A (zh) 一种全文检索的方法及系统
CN111651531A (zh) 数据导入方法、装置、设备及计算机存储介质
CN113127549B (zh) 增量数据的同步方法、装置、计算机设备和存储介质
CN111858480A (zh) 一种数据处理方法、装置及计算机存储介质
CN113553329B (zh) 数据集成系统和方法
CN111813812A (zh) 一种对象查询平台以及对象查询方法、装置和查询服务器
CN117331895A (zh) 文档处理方法、系统、服务器和客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination