CN110321344B - 关联数据的信息查询方法、装置、计算机设备及存储介质 - Google Patents

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

Info

Publication number
CN110321344B
CN110321344B CN201910418755.6A CN201910418755A CN110321344B CN 110321344 B CN110321344 B CN 110321344B CN 201910418755 A CN201910418755 A CN 201910418755A CN 110321344 B CN110321344 B CN 110321344B
Authority
CN
China
Prior art keywords
data
field
target
index
index structure
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.)
Active
Application number
CN201910418755.6A
Other languages
English (en)
Other versions
CN110321344A (zh
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.)
Shenzhen Jingce Technology Co ltd
Original Assignee
Shenzhen Jingce Technology 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 Shenzhen Jingce Technology Co ltd filed Critical Shenzhen Jingce Technology Co ltd
Priority to CN201910418755.6A priority Critical patent/CN110321344B/zh
Publication of CN110321344A publication Critical patent/CN110321344A/zh
Application granted granted Critical
Publication of CN110321344B publication Critical patent/CN110321344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2455Query execution
    • G06F16/24552Database cache management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种关联数据的信息查询方法及其信息查询装置,其中所述方法包括:响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;获取与所述匹配字段相对应的第一数据记录。

Description

关联数据的信息查询方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据库技术领域,尤其涉及一种可高效查询已存储数据的关联数据的信息查询方法、装置、计算机设备及存储介质。
背景技术
一套完整的数据信息往往包含多张相互关联的数据表,各个数据表之间既彼此存在索引关系同时又相对独立。传统的数据存储方式将所有的数据表存储在统一的数据库中,并且为了查询方便还需要在数据库中建立大量的查询索引。当客户想要获取某数据记录时,需要利用sql语句进行多次的索引查询和数据查询才能获取到需要的信息,并且查询操作过程随着数据量的增大而越发缓慢,非常影响数据访问的效率,用户体验并不理想。
发明内容
本发明的目的是提供一种可高效查询已存储数据的关联数据的信息查询方法、装置、计算机设备及存储介质,用于解决现有技术存在的问题。
为实现上述目的,本发明提供一种关联数据的信息查询方法,包括以下步骤:
响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;
根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
获取与所述匹配字段相对应的第一数据记录。
进一步,所述索引结构包括以文本格式存储的多个主键和多个外键,所述多个主键和所述多张第一数据表一一对应;
从第一索引结构中查询与所述字段相对应的目标数据表的目标位置的步骤进一步包括:
从所述第一索引结构中查询与所述字段相对应的数据表的主键或外键,从而确定目标数据表的目标位置。
进一步,所述从数据存储空间内获取与所述字段相匹配的匹配字段包括:
从内存缓冲区中获取与所述字段精确匹配的第一匹配字段,其中所述第一匹配字段是以文本格式存储的;或者
从数据库中获取与所述字段模糊匹配的第二匹配字段。
进一步,所述从所述第一索引结构中查询与所述字段相对应的数据表的主键或外键,从而确定目标数据表的目标位置的步骤包括:
确定所述字段在索引结构中的目标层次位置,其中所述目标层次位置表征直接包含所述字段的索引层次;
确定与所述目标层次位置相匹配的主键或外键,根据所述主键或外键确定目标数据表的目标位置。
进一步,在响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构模型中查询与所述字段相对应的目标数据表的目标位置的步骤之前,还包括:
响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
获取每张所述第二数据表的主键和外键;
以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构模型。
为实现上述目的,本发明还提供一种关联数据的信息查询装置,包括:
索引结构获取模块,适用于响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;
匹配字段获取模块,适用于根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
数据记录获取模块,适用于获取与所述匹配字段相对应的第一数据记录。
进一步地,所述匹配字段获取模块包括:
第一匹配字段获取模块,适用于从内存缓冲区中获取与所述字段精确匹配的第一匹配字段;
第二匹配字段获取模块,适用于从数据库中获取与所述字段模糊匹配的第二匹配字段。
进一步地,还包括:
数据存储模块,适用于响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
主外键获取模块,适用于获取每张所述第二数据表的主键和外键;
索引结构存储模块,适用于以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的关联数据的信息查询方法、装置、计算机设备及计算机可读存储介质,通过将相互之间具有关联关系的数据表中的数据记录和各数据表之间的索引关系分开存储,可以实现快速访问数据记录的目的。本发明以文本格式存储数据表之间的索引关系和数据表的位置信息,当需要查询某条与目标字段相关的数据记录时,首先从索引存储区域获取数据表之间的索引关系,从索引关系中查找与目标字段相关联的数据表及其位置信息,然后到数据记录存储区域的上述位置处获取与目标字段对应的数据记录,避免了在数据库中建立繁琐的索引关系的步骤,整个查询过程清晰快速,从而有效提高数据库的运行效率,提高用户体验。
附图说明
图1为本发明的信息查询方法实施例一的流程图;
图2为本发明的信息查询装置实施例一的程序模块示意图;
图3为本发明的信息查询装置实施例一的硬件结构示意图;
图4为本发明的信息查询方法实施例二的流程图;
图5为本发明的信息查询装置实施例二的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的高速数据存储与查询方法、装置、计算机设备及存储介质,适用于数据库技术领域,为具有关联关系的海量数据的存储与查询提供一种高效快速的自动化实现方案。本发明通过将相互之间具有关联关系的数据表中的数据记录和各数据表之间的索引关系分开存储,可以实现快速访问数据记录的目的。本发明以文本格式存储数据表之间的索引关系和数据表的位置信息,当需要查询某条与目标字段相关的数据记录时,首先从索引存储区域获取数据表之间的索引关系,从索引关系中查找与目标字段相关联的数据表及其位置信息,然后到数据记录存储区域的上述位置处获取与目标字段对应的数据记录,避免了在数据库中建立繁琐的索引关系的步骤,整个查询过程清晰快速,从而有效提高数据库的运行效率,提高用户体验。
实施例一
请参阅图1,本实施例提出一种关联数据的信息查询方法,主要用于从已存储的数据库中查询与特定字段相对应的数据记录,包括以下步骤:
S1:响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个。
传统的数据库查询方式,例如从oracle数据库中查询信息,需要从oracle数据库的查询索引中确定相关的数据表,再从数据表中查找相关记录。索引信息的查询需要利用sql语句实现,该语句编写较为繁琐,在数据量较大的情况下,仅仅查询索引信息就会占用大量的时间。为此,本发明不再采取在数据库中建立大量的查询索引,而是把数据表之间的索引关系独立出来单独存储,从而大大缩短查询索引信息的时间。
本发明将独立存储的索引关系称之为索引结构,本领域普通技术人员可以理解,一套完整的数据系统对应一个或者几个索引结构。该索引结构以普通文本的格式存储到搜索引擎中,当输入某特定字段时,通过文本搜索的方式而不是SQL语句来实现查询,从而极大提升了搜索效率。优选的,本发明中的搜索引擎选用基于Lucene的搜索服务器ElasticSearch,它提供了一个分布式多用户能力的全文搜索引擎,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
本发明中的索引结构保存相互关联的多张数据表中的索引关系,优选的,通过提取主键信息和外键信息来保存上述索引关系。以下通过具体实例介绍相互关联的多张数据表中的索引关系是如何被保存的。
假设存在三张相互关联的数据表,分别为客户基本信息表T_BASE,客户账户表T_ACCOUNT和客户额度表T_AMOUNT。客户基本信息表T_BASE中的所有字段包括ID_T_BASE,CUST_NO,CUST_NAME和AGE,其中主键为ID_T_BASE,外键为CUST_NO;客户账户表T_ACCOUNT中的所有字段包括ID_T_ACCOUNT,CUST_NO,ACCOUNT_NO,ACCOUNT_TYPE,BALANCE,其中主键为ID_T_ACCOUNT,外键为ACCOUNT_NO;客户额度表T_AMOUNT中的所有字段包括ID_T_AMOUNT,ACCOUNT_NO和AMOUNT,其中主键为ID_T_AMOUNT。基于上述信息,本发明利用json格式建立的这三张数据表的数据模型如下所示:
上述索引结构模型清晰地列出了每张数据表中的主键及其对应的外键,各个表之间的层次结构明确,索引逻辑清晰,可以快速实现对任一个主键或者外键的信息查询。
另外通过上述代码,还可以总结出本发明记录多张表之间的索引结构的方法,包括以下步骤:
选定基础表;记录基础表的基础主键;记录基础表的基础外键;选定与所述基础外键相关联的第一数据表;记录第一数据表的第一主键;记录第一数据表的第一外键;选定与第一外键相关联的第二数据表;记录第二数据表的第二主键。如果还有其它多张表,以此类推。
S2:根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段。
本发明通过上述索引结构模型可以直接定位数据表。以上文中的三张数据表为例,例如搜索字段“ACCOUNT_NO”,可以明确知道该字段属于客户账户表T_ACCOUNT,因此后续只需从客户账户表T_ACCOUNT中查找数据记录。又例如搜索字段“ID_T_AMOUNT”,则可以快速确定出该字段属于客户额度表T_AMOUNT,后续只需从客户额度表T_AMOUNT中查找相关的数据记录。
根据上述实施例,可以总结出本发明根据数据查询指令中的字段从索引结构中查询目标数据表的步骤:
S21:确定所述字段在索引结构中的目标层次位置,其中所述目标层次位置表征直接包含所述字段的索引层次。
从上文三张数据表的数据模型中可以看出,该数据模型共包含三对括号,每一对括号对应一个索引层次,各个索引层次之间通过外键相连,本实施例中的外键指的是每一个左括号所在行中的字段。例如,本发明上述数据模型中,最内层的括号内部包含的值为"ID":"$ID_T_AMOUNT的值",最内层左括号对应的外键为"AMOUNT"。通过该外键就可以确定字段“ID_T_AMOUNT”所在的数据表为客户额度表T_AMOUNT。
S22:确定与所述目标层次位置相匹配的主键或外键,根据所述主键或外键确定目标数据表的目标位置。
实际上,本发明中的任何一个外键字段本身都是作为某个数据表的主键存在的,正因如此,在查询到外键的基础上就已经可以获知该外键直接对应的目标数据表。
进一步,本发明根据外键和主键之间的索引关系确定目标数据表的查询路径,通过查询路径直接确定目标数据表的目标位置。
例如,本发明可以看到客户额度表T_AMOUNT在索引结构模型中的位置。通过查找包含"AMOUNT"的上一层括号的外键,可以知道上一层括号的外键为"ACCOUNT",即对应的数据表为客户账户表T_ACCOUNT。进一步可以看到,索引结构模型中"ACCOUNT"是位于最外层括号之内的,其对应的上一个有索引关系的数据表即为客户基本信息表T_BASE。
通过上述层次关系,可以清楚地获得目标数据表的查询路径,即客户基本信息表T_BASE→客户账户表T_ACCOUNT→客户额度表T_AMOUNT,通过上述查询路径可以直接找到目标数据表的目标位置。
需要说明的是,本发明可以选择数据表中的具体数据记录的存储空间,既可以选择存储在普通数据库中,也可以选择存储在内存缓冲区域。优选的,可以将使用频率高的基础数据表信息,或者最近一段时间内录入的信息保存在内存缓冲区,而将使用频率较低或者一段时间之前录入的信息保存在oracle数据库中。当接收到针对某一特定字段的数据查询指令时,首先到内存缓冲区域中去查找有无相应字段信息,若没有,再到oracle数据库中查询。其中,本发明在内存缓冲区中存储的是文本格式的数据,因为内存缓冲区中存储的数据量较少,可以适用精确匹配方式,从而保证更加快速准确地返回结果。而在oracle数据库中存储的信息量较大,为了保证返回结果的完整性,可以适用模糊匹配方式,从而为用户提供更全面的选择范围。由于从内存中查找信息的速度远高于从数据库中查找,因此本发明通过选择性地设置数据记录的存储区域,可以进一步提高数据访问速度。
S3:获取与所述匹配字段相对应的第一数据记录。
本发明中,目标字段指的是包含在数据查询指令中的字段,匹配字段指的是与所述目标字段精确匹配或者模糊匹配的字段。本发明可以根据实际需要选择通过精确匹配还是模糊匹配的方式查找数据。例如数据查询指令中的字段为“账户”,通过模糊匹配可得到多个匹配字段包括“账户编号”、“账户余额”、“账户类型”等字段。这种情况下,本发明可以通过智能算法自动对查询到的信息进行排序。
本发明所述的智能算法包括,标记匹配字段的出现频率以及出现位置,将出现频率最高的字段对应的数据记录排在前面。例如数据查询指令中要查询“账户”相关的数据记录,在索引结构模型中,发现到“账户编号”一词分别在第2、4、6、8、10行中共出现了五次,而“账户余额”一词则分别在第7、9、11行中出现了三次,基于此,可以把与“账户编号”相对应的数据记录排在所有数据记录的前面。
请继续参阅图2,示出了一种关联数据的信息查询存储装置,在本实施例中,信息查询装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述自动更新方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述信息查询装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
索引结构获取模块11,适用于响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构模型中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;
匹配字段获取模块12,适用于根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
数据记录获取模块13,适用于获取与所述匹配字段相对应的第一数据记录。
进一步地,所述匹配字段获取模块12包括:
第一匹配字段获取模块121,适用于从内存缓冲区中获取与所述字段精确匹配的第一匹配字段;
第二匹配字段获取模块122,适用于从数据库中获取与所述字段模糊匹配的第二匹配字段。
进一步地,还包括:
数据存储模块14,适用于响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
主外键获取模块15,适用于获取每张所述第二数据表的主键和外键;
索引结构存储模块16,适用于以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构模型。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的信息查询装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行信息查询装置10,以实现实施例一的信息查询方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储信息查询装置10,被处理器执行时实现实施例一的信息查询方法。
实施例二
请参阅图4,本实施例提出一种信息存储方法,与实施例一的信息查询方法相对应,是实现实施例一的信息查询方法的基础。本实施例提出的信息存储方法包括以下步骤:
S1:响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录。
本实施例的以下步骤用于介绍相互关联的多张数据表的存储过程。
当接收到数据存储指令后,本发明首先会存储相互关联的多张数据表中的数据记录,需要说明的是,本步骤中是不需要存储数据表之间的索引关系的。数据表中的数据记录一般会存储到普通数据库中,例如oracle数据库,但也可以根据实际需要将一部分数据记录存储到内存缓冲区以方便将来的查找,这部分数据记录例如可以是使用频率高的基础数据表信息,或者最近一段时间内录入的信息。由于从内存中查找信息的速度远高于从数据库中查找,因此本发明通过选择性地设置数据记录的存储区域,可以进一步提高数据访问速度。
S2:获取每张所述第二数据表的主键和外键。
本步骤用于获取相互关联的多张数据表中的每张数据表的主键和外键,目的是建立索引结构。本领域普通技术人员可以理解,一套完整的数据系统对应一个或者几个索引结构。该索引结构以普通文本的格式存储到搜索引擎中,当输入某特定字段时,通过文本搜索的方式而不是SQL语句来实现查询,从而极大提升了搜索效率。优选的,本发明中的搜索引擎选用基于Lucene的搜索服务器ElasticSearch,它提供了一个分布式多用户能力的全文搜索引擎,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
S3:以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构。
本步骤中优选通过json格式编写索引结构。依次记录每张数据表中的主键和与其他数据表相关联的外键,按照表与表之间的结构逐层往下存储,从而形成包含了全部数据表中各个主键的树形结构。
假设存在三张相互关联的数据表,分别为客户基本信息表T_BASE,客户账户表T_ACCOUNT和客户额度表T_AMOUNT。客户基本信息表T_BASE中的所有字段包括ID_T_BASE,CUST_NO,CUST_NAME和AGE,其中主键为ID_T_BASE,外键为CUST_NO;客户账户表T_ACCOUNT中的所有字段包括ID_T_ACCOUNT,CUST_NO,ACCOUNT_NO,ACCOUNT_TYPE,BALANCE,其中主键为ID_T_ACCOUNT,外键为ACCOUNT_NO;客户额度表T_AMOUNT中的所有字段包括ID_T_AMOUNT,ACCOUNT_NO和AMOUNT,其中主键为ID_T_AMOUNT。基于上述信息,本发明利用json格式建立的这三张数据表的索引结构如下所示:
上述索引结构清晰地列出了每张数据表中的主键及其对应的外键,各个表之间的层次结构明确,索引逻辑清晰,可以快速实现对任一个主键或者外键的信息查询。通过该树形结构,可以清楚地获得个各数据表之间的逻辑索引关系,便于后续进行快速地信息查找。
另外,本发明所提出的技术方案可以很好地解决在存储过程中面临的数据量拓展的问题。首先,本发明采用文本格式存储数据表之间的索引结构。文本格式本身所占的空间非常小,通常意义上的数据量扩展对于索引结构模型的存储几乎没有影响。另一方面,普通数据库中只单纯地存储数据记录,不再需要存储大量的索引关系,减少了插入数据时的索引重建操作,因而也在很大程度上减少了数据量,使得同样容量的数据库可以存储更多的数据。即使是数据量增大到必须扩容的程度,本发明也非常易于操作。例如可以将数据记录不存储在传统的如oracle数据库中,而是直接存放在hadoop数据平台;同时存储索引结构的Elasticsearch也是横向拓展工具,对于数据量增加,都只需要新增集群主机即可。
请继续参阅图5,本实施例的信息查询装置30以实施例一为基础,用以实现实施例二的信息查询方法,其包括的各程序模块的功能:
索引结构获取模块31,适用于响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;
匹配字段获取模块32,适用于根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
数据记录获取模块33,适用于获取与所述匹配字段相对应的第一数据记录。
进一步地,所述匹配字段获取模块32包括:
第一匹配字段获取模块321,适用于从内存缓冲区中获取与所述字段精确匹配的第一匹配字段;
第二匹配字段获取模块322,适用于从数据库中获取与所述字段模糊匹配的第二匹配字段。
进一步地,还包括:
数据存储模块34,适用于响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
主外键获取模块35,适用于获取每张所述第二数据表的主键和外键;
索引结构存储模块36,适用于以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构。
综上所述,本发明提出的关联数据的信息查询方法、装置、计算机设备及存储介质,可以减少在数据库中创建大量索引的过程,通过用文本格式建立数据表之间的索引结构,可以有效减少对数据的访问压力。同时本发明造业务处理过程中可以直接从缓存中获取数据,提高数据查询效率且具有良好的可拓展性,可以支持大数据量下的存储查询需求。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所述技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种关联数据的信息查询方法,其特征在于,包括:
响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述第一索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;所述第一索引结构包括以文本格式存储的多个主键和多个外键,所述多个主键和所述多张第一数据表一一对应;
所述从第一索引结构中查询与所述字段相对应的目标数据表的目标位置,包括:
确定所述字段在所述第一索引结构中的目标层次位置,其中所述目标层次位置表征直接包含所述字段的索引层次;
确定与所述目标层次位置相匹配的主键或外键,根据所述主键或外键确定目标数据表的目标位置;
根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
获取与所述匹配字段相对应的第一数据记录。
2.根据权利要求1所述的信息查询方法,其特征在于,所述从数据存储空间内获取与所述字段相匹配的匹配字段包括:
从内存缓冲区中获取与所述字段精确匹配的第一匹配字段,其中所述第一匹配字段是以文本格式存储的;或者
从数据库中获取与所述字段模糊匹配的第二匹配字段。
3.根据权利要求1所述的信息查询方法,其特征在于,在响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构模型中查询与所述字段相对应的目标数据表的目标位置的步骤之前,还包括:
响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
获取每张所述第二数据表的主键和外键;
以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构模型。
4.一种关联数据的信息查询装置,该关联数据的信息查询装置用于执行权利要求1中所述的关联数据的信息查询方法的步骤,其特征在于,包括:
索引结构获取模块,适用于响应于数据查询指令,获取所述数据查询指令中的字段,从第一索引结构中查询与所述字段相对应的目标数据表的目标位置;其中所述第一索引结构表征相互关联的多张第一数据表之间的索引关系,所述目标数据表是所述相互关联的多张第一数据表中的一个或多个;所述第一索引结构包括以文本格式存储的多个主键和多个外键,所述多个主键和所述多张第一数据表一一对应;
所述索引结构获取模块,还适用于确定所述字段在所述第一索引结构中的目标层次位置,其中所述目标层次位置表征直接包含所述字段的索引层次;确定与所述目标层次位置相匹配的主键或外键,根据所述主键或外键确定目标数据表的目标位置;
匹配字段获取模块,适用于根据所述目标位置,从数据存储空间内获取与所述字段相匹配的匹配字段;
数据记录获取模块,适用于获取与所述匹配字段相对应的第一数据记录。
5.根据权利要求4所述的信息查询装置,其特征在于,还包括:
数据存储模块,适用于响应于数据存储指令,存储相互关联的多张第二数据表中的数据记录;
主外键获取模块,适用于获取每张所述第二数据表的主键和外键;
索引结构存储模块,适用于以文本格式存储所有所述第二数据表中的主键和外键,得到表征所述多张第二数据表之间的索引关系的第二索引结构模型。
6.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至3任一项所述方法的步骤。
CN201910418755.6A 2019-05-20 2019-05-20 关联数据的信息查询方法、装置、计算机设备及存储介质 Active CN110321344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910418755.6A CN110321344B (zh) 2019-05-20 2019-05-20 关联数据的信息查询方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910418755.6A CN110321344B (zh) 2019-05-20 2019-05-20 关联数据的信息查询方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110321344A CN110321344A (zh) 2019-10-11
CN110321344B true CN110321344B (zh) 2024-03-15

Family

ID=68113174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910418755.6A Active CN110321344B (zh) 2019-05-20 2019-05-20 关联数据的信息查询方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110321344B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837508A (zh) * 2019-11-08 2020-02-25 深圳市彬讯科技有限公司 一种口径系统建立方法、装置、设备及计算机存储介质
CN110837365A (zh) * 2019-11-08 2020-02-25 深圳市彬讯科技有限公司 一种基于词根表的脚本辅助设计方法及装置
CN110909003B (zh) * 2019-11-25 2022-06-10 车智互联(北京)科技有限公司 一种创建数据表的方法及计算设备
CN111159452A (zh) * 2019-11-26 2020-05-15 恒大智慧科技有限公司 易遗忘性物品提醒方法、系统、计算机设备及存储介质
CN111241111B (zh) * 2020-02-12 2023-09-26 网易(杭州)网络有限公司 数据查询方法及装置、数据对比方法及装置、介质及设备
CN111611251B (zh) * 2020-04-24 2021-06-29 华智众创(北京)投资管理有限责任公司 一种数据处理系统
CN111949845B (zh) * 2020-07-02 2024-04-12 广州仓实信息科技有限公司 处理测绘信息的方法、装置、计算机设备和存储介质
CN111813799B (zh) * 2020-07-23 2024-01-19 德清云岫科技有限公司 数据库查询语句生成方法、装置、计算机设备和存储介质
CN112000773A (zh) * 2020-08-25 2020-11-27 城云科技(中国)有限公司 基于搜索引擎技术的数据关联关系挖掘方法及应用
CN112069223B (zh) * 2020-09-09 2022-11-25 苏宁云计算有限公司 数据获取需求处理方法、装置、计算机设备和存储介质
CN112463827B (zh) * 2020-11-16 2024-03-12 北京达佳互联信息技术有限公司 查询方法、装置、电子设备及存储介质
CN112487159B (zh) * 2020-11-19 2024-03-01 深圳市中博科创信息技术有限公司 检索方法、检索装置及计算机可读存储介质
CN112699187B (zh) * 2020-12-29 2023-05-16 中国联合网络通信集团有限公司 关联数据处理方法、装置、设备、介质及产品
CN112699127A (zh) * 2020-12-30 2021-04-23 广州市诚毅科技软件开发有限公司 一种内存数据库数据操作方法及装置
CN112989171A (zh) * 2021-03-26 2021-06-18 广东电网有限责任公司 数据查询方法、装置、设备及介质
CN113392105B (zh) * 2021-05-24 2023-03-24 国网河北省电力有限公司衡水供电分公司 业务数据处理方法和终端设备
CN116010349A (zh) * 2023-02-17 2023-04-25 广州汇通国信科技有限公司 基于元数据的数据检核方法和装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870747A (en) * 1996-07-09 1999-02-09 Informix Software, Inc. Generalized key indexes
CN1581161A (zh) * 2003-08-13 2005-02-16 华为技术有限公司 一种实现对数据库快速访问的方法
CN105589864A (zh) * 2014-10-22 2016-05-18 中兴通讯股份有限公司 数据查询方法及装置
CN107391739A (zh) * 2017-08-07 2017-11-24 北京奇艺世纪科技有限公司 一种查询语句生成方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080114752A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation Querying across disparate schemas

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870747A (en) * 1996-07-09 1999-02-09 Informix Software, Inc. Generalized key indexes
CN1581161A (zh) * 2003-08-13 2005-02-16 华为技术有限公司 一种实现对数据库快速访问的方法
CN105589864A (zh) * 2014-10-22 2016-05-18 中兴通讯股份有限公司 数据查询方法及装置
CN107391739A (zh) * 2017-08-07 2017-11-24 北京奇艺世纪科技有限公司 一种查询语句生成方法、装置及电子设备

Also Published As

Publication number Publication date
CN110321344A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321344B (zh) 关联数据的信息查询方法、装置、计算机设备及存储介质
CN112559554B (zh) 一种查询语句优化方法及装置
US10817258B2 (en) Clustering storage method and apparatus
US9262458B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US10037355B2 (en) Mechanisms for merging index structures in MOLAP while preserving query consistency
US20070124277A1 (en) Index and Method for Extending and Querying Index
US20100211577A1 (en) Database processing system and method
CN108874971A (zh) 一种应用于海量标签化实体数据存储的工具和方法
CN111046034A (zh) 管理内存数据及在内存中维护数据的方法和系统
US11294920B2 (en) Method and apparatus for accessing time series data in memory
US9218394B2 (en) Reading rows from memory prior to reading rows from secondary storage
CN110168532B (zh) 数据更新方法和存储装置
CN110659282B (zh) 数据路由的构建方法、装置、计算机设备和存储介质
CN105159950B (zh) 海量数据实时排序查询方法及系统
CN110928882B (zh) 一种基于改进红黑树的内存数据库索引方法及系统
US10990573B2 (en) Fast index creation system for cloud big data database
CN104636349A (zh) 一种索引数据压缩以及索引数据搜索的方法和设备
US20090313212A1 (en) Relational database with compound identifier
CN114116762A (zh) 一种离线数据模糊搜索方法、装置、设备和介质
US20140067853A1 (en) Data search method, information system, and recording medium storing data search program
CN110737432A (zh) 一种基于词根表的脚本辅助设计方法及装置
CN114328612A (zh) 查询优化器的数据处理方法、装置及电子设备
CN106991116B (zh) 数据库执行计划的优化方法和装置
CN111666302A (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
TA01 Transfer of patent application right

Effective date of registration: 20240202

Address after: Plant 2301 of Shengdelan Electric Co., Ltd., No. 6, Tongfu Industrial Zone, Fukeng Community, Kukeng Community, Guanlan Street, Longhua District, Shenzhen City, Guangdong Province, 518000

Applicant after: Shenzhen Jingce Technology Co.,Ltd.

Country or region after: China

Address before: 518052 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant