CN115687340A - 业务查询方法、装置、设备及存储介质 - Google Patents
业务查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115687340A CN115687340A CN202110859657.3A CN202110859657A CN115687340A CN 115687340 A CN115687340 A CN 115687340A CN 202110859657 A CN202110859657 A CN 202110859657A CN 115687340 A CN115687340 A CN 115687340A
- Authority
- CN
- China
- Prior art keywords
- slave
- data
- wide
- master
- slave table
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种业务查询方法、装置、设备及存储介质,包括:获取主表和至少一个从表,主表和至少一个从表与业务查询相关;根据主表和至少一个从表生成宽表;获取待查询业务;在宽表中查询待查询业务,并返回查询结果。从而可以提高业务查询效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种业务查询方法、装置、设备及存储介质。
背景技术
通常结构化查询语言(Structured Query Language,SQL)数据库中存在主表以及与主表关联的大量从表。目前如果用户需要查询某项业务,需要先查询主表,再查询该主表关联的各项从表。显然,这种业务查询方式效率较低。
发明内容
本申请提供一种业务查询方法、装置、设备及存储介质,从而可以提高业务查询效率。
第一方面,本申请提供一种业务查询方法,包括:获取主表和至少一个从表,主表和至少一个从表与业务查询相关;根据主表和至少一个从表生成宽表;获取待查询业务;在宽表中查询待查询业务,并返回查询结果。
第二方面,本申请提供一种业务查询装置,包括:第一获取模块、生成模块、第二获取模块和查询模块,其中,第一获取模块用于获取主表和至少一个从表,主表和至少一个从表与业务查询相关;生成模块用于根据主表和至少一个从表生成宽表;第二获取模块用于获取待查询业务;查询模块用于在宽表中查询待查询业务,并返回查询结果。
第三方面,提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面或其各实现方式中的方法。
第四方面,提供一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面或其各实现方式中的方法。
第五方面,提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或其各实现方式中的方法。
第六方面,提供一种计算机程序,计算机程序使得计算机执行如第一方面或其各实现方式中的方法。
综上,通过本申请技术方案,服务器可以获取主表和至少一个从表,根据主表和至少一个从表生成宽表,获取待查询业务,在宽表中查询待查询业务,并返回查询结果。也就是说,服务器在进行业务查询之前,预先根据主表和与主表关联的从表建立宽表,而在进行业务查询时,只需要查询该宽表即可,从而可以提高业务查询效率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种业务查询场景图;
图2为本申请提供的另一种业务查询场景图;
图3为本申请提供的另一种业务查询场景图;
图4为本申请实施例提供的一种业务查询方法的流程图;
图5为本申请实施例提供的一种雪花模型的示意图;
图6为本申请实施例提供的一种宽表数据更新过程的流程图;
图7为本申请实施例提供的另一种宽表数据更新过程的流程图;
图8为本申请实施例提供的再一种宽表数据更新过程的流程图;
图9是本申请实施例提供的电子设备900的示意性框图,
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请技术方案之前,下面首先本申请技术方案的相关知识进行阐述:
主键(Primary Key):也被称为主关键字,其是被挑选出来作表的行的惟一标识的候选关键字。一个表只有一个主键。主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。
外键:用于与另一张表关联,例如:A表中的一个字段,是B表中的主键,那该字段便是A表中的外键。
主表(父表):在数据库中建立的表格(Table),其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。
从表(子表):以主表的主键(primary key)值为外键(Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。
主表和从表的关系及用法概述:从表数据依赖于主表,进行数据查询时需要把主表与从表进行关联查询。
宽表:宽表从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。
雪花模型:当有一个或多个从表没有直接连接到主表上,而是通过其他从表连接到主表上时,其图解就像多个雪花连接在一起,故称雪花模型。
应理解的是,目前存在如下两种业务查询方法,第一种业务查询方法是:如果用户需要查询某项业务,需要先查询主表,再查询该主表关联的各项从表,显然,这种业务查询方式效率较低。第二种业务查询方法是:随着微服务技术的流行,数据通常被散落在各个微服务间。用户在进行业务查询时,需要将各个微服务的数据聚合在一起,常见的做法是以其中一个微服务作为调用方,然后通过远程过程调用(Remote Procedure Call,RPC)获取其他微服务中满足条件的所有数据,之后再和调用方所拥有的数据进行聚合和分页,然后需要聚合的数据量较大。如果数据量较大的话,还可以对这些数据进行分页显示。而每次业务查询都需要进行数据聚合,分页等,从而导致业务查询效率较低的问题。
为了解决上述技术问题,本申请在进行业务查询之前,预先根据主表和与主表关联的从表建立宽表,而在进行业务查询时,只需要查询该宽表即可。
在一些可实现方式中,本申请技术方案可以应用于如下应用场景,但不限于此:
场景一:图1为本申请提供的一种业务查询场景图,如图1所示,服务器110本地存储有和业务查询相关的主表和至少一个从表,终端设备120与服务器110之间可以进行通信,终端设备120可以向该服务器110发送业务查询请求,服务器110根据本地存储的主表和至少一个从表,进行业务查询,并向终端设备120返回查询结果。
场景二:图2为本申请提供的另一种业务查询场景图,如图2所示,服务器110本地未存储有和业务查询相关的主表和至少一个从表,这些主表和从表各自可以分布于其他服务器130上,终端设备120与服务器110之间可以进行通信,服务器110与其他服务器130之间可以进行通信,服务器110从其他服务器130可以获取主表和至少一个从表,终端设备120可以向该服务器110发送业务查询请求,服务器110根据获取到的主表和至少一个从表,进行业务查询,并向终端设备120返回查询结果。
场景三:图3为本申请提供的另一种业务查询场景图,如图3所示,服务器110本地存储有和业务查询相关的主表,但是未存储和业务查询相关的至少一个从表,这些从表各自可以分布于其他服务器130上,终端设备120与服务器110之间可以进行通信,服务器110与其他服务器130之间可以进行通信,服务器110从其他服务器130可以上述至少一个从表,终端设备120可以向该服务器110发送业务查询请求,服务器110根据本地存储的主表和获取到的至少一个从表,进行业务查询,并向终端设备120返回查询结果。
应理解的是,在场景三中,服务器110是存储主表的服务器,实际上,实现业务查询的服务器110还可以是存储任一从表的服务器,这种情况下,该服务器110可以从其他服务器获取主表以及其他从表,以实现业务查询,总之,本申请对本申请技术方案的应用场景不做限制。
在一些可实现方式中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、可穿戴设备等,但并不限于此,本申请对此不做限制。
在一些可实现方式中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
在一些可实现方式中,终端设备与服务器之间、服务器之间可以采用蜂窝移动网络或者无线保真(Wireless Fidelity,WiFi)等进行通信,本申请对此不做限制。
下面将对本申请技术方案进行详细阐述:
图4为本申请实施例提供的一种业务查询方法的流程图,该方法可以由图1、图2或者图3中的服务器110执行,但不限于此,该方法包括如下步骤:
S410:获取主表和至少一个从表。
S420:根据主表和至少一个从表生成宽表。
S430:获取待查询业务。
S440:在宽表中查询待查询业务,并返回查询结果。
在一些可实现方式中,服务器可以从本地获取主表和至少一个从表,如场景一所示的情况。或者,服务器也可以从其他服务器获取主表和至少一个从表,如场景二所示的情况。又或者,服务器可以从本地获取主表,从其他服务器获取至少一个从表,如场景三所示的情况,总之,本申请对服务器如何获取主表和至少一个从表不做限制。
应理解的是,主表和至少一个从表均与业务查询相关。
在一些可实现方式中,服务器可以根据主表和至少一个从表生成雪花模型,并根据雪花模型生成宽表。
图5为本申请实施例提供的一种雪花模型的示意图,如图5所示,该雪花模型包括以主表为中心,且包括:至少一个一级从表和至少一个二级从表,其中,一级从表是包括宽表中需要实时更新的数据的从表,二级从表是不包括宽表中需要实时更新的数据的从表。
应理解的是,一级从表可以与主表直接关联,也可以与主表间接关联,类似的,二级从表也可以与其对应的一级从表直接关联或者间接关联。
应理解的是,图5中实线表示直接关联关系,虚线表示间接关联关系。
应理解的是,雪花模型表示了主表以及至少一个从表之间的关联关系,根据该关联关系可以确定宽表。
在一些可实现方式中,服务器可以直接根据主表和至少一个从表生成宽表。也就是说,服务器无需建立雪花模型,而是直接确定主表和至少一个从表之间的关联关系,根据该关联关系建立宽表。总之,本申请对如何根据主表和至少一个从表生成宽表不做限制。
在一些可实现方式中,由于宽表包括的记录数量庞大,因此,当宽表满足分页条件时,服务器可以对宽表进行分页。
在一些可实现方式中,分页条件是每N条记录分一次页,N为正整数,其中,本申请对分页条件不做限制。例如:分页条件是:每20条记录分一次页,那么服务器可以将第1-20条记录存储在第一页,将第21-30条记录存储在第二页,以此类推。
应理解的是,终端设备可以向服务器发送查询请求,该查询请求包括:待查询业务。
综上,在本申请中,服务器可以获取主表和至少一个从表,根据主表和至少一个从表生成宽表,获取待查询业务,在宽表中查询待查询业务,并返回查询结果。也就是说,服务器在进行业务查询之前,预先根据主表和与主表关联的从表建立宽表,而在进行业务查询时,只需要查询该宽表即可,从而可以提高业务查询效率。
进一步的,为了不影响业务查询的准确度,宽表中的数据也要与主表、从表保持一致。因此,当主表、从表中的数据发生更新时,宽表中的数据也需要进行一致性更新,下面将对数据更新过程进行说明:
图6为本申请实施例提供的一种宽表数据更新过程的流程图,如图6所示,该方法可以由图1、图2或者图3中的服务器110执行,但不限于此,该方法包括如下步骤:
S610:实时获取主表的日志。
S620:根据主表的日志判断主表是否存在数据更新。
S630:若主表的第一数据发生更新,则对宽表中的第一数据进行相应更新。
其中,第一数据是主表中的任一个数据。
应理解的是,主表中包括:宽表中需要实时更新的数据,因此,服务器需要实时获取主表的日志,一旦该主表的日志表示第一数据发生了更新,如增加、删除或者修改,那么服务器也对宽表中的该第一数据做相应的更新,如增加、删除或者修改,以使宽表和主表的数据保持一致。
在本申请中,服务器可以实时获取主表的日志,根据主表的日志判断主表是否存在数据更新,若主表的第一数据发生更新,则对宽表中的第一数据进行相应更新,使得宽表与主表数据保持一致性,从而保证了宽表数据的准确性,进而可以保证业务查询的准确性。
图7为本申请实施例提供的另一种宽表数据更新过程的流程图,如图7所示,该方法可以由图1、图2或者图3中的服务器110执行,但不限于此,该方法包括如下步骤:
S710:实时获取一级从表的日志。
S720:根据一级从表的日志判断一级从表是否存在数据更新。
S730:若确定一级从表的第二数据发生更新,则对宽表中的第二数据进行相应更新。
其中,第二数据是一级从表中的任一个数据。
应理解的是,如上所述,一级从表是包括宽表中需要实时更新的数据的从表。因此,服务器需要实时获取一级从表的日志,一旦该一级从表的日志表示第二数据发生了更新,如增加、删除或者修改,那么服务器也对宽表中的该第二数据做相应的更新,如增加、删除或者修改,以使宽表和一级从表的数据保持一致。
在本申请中,服务器可以实时获取一级从表的日志,根据一级从表的日志判断主表是否存在数据更新,若一级从表的第二数据发生更新,则对宽表中的第二数据进行相应更新,使得宽表与一级从表数据保持一致性,从而保证了宽表数据的准确性,进而可以保证业务查询的准确性。
图8为本申请实施例提供的再一种宽表数据更新过程的流程图,如图8所示,该方法可以由图1、图2或者图3中的服务器110执行,但不限于此,该方法包括如下步骤:
S810:周期性扫描主表的所有记录。
S820:在扫描主表的任一记录时,根据记录与至少一个二级从表的关联关系,判断至少一个二级从表中是否存在数据更新。
S830:针对至少一个二级从表中的任一个二级从表,若二级从表的第三数据发生数据更新,则对宽表中的第三数据进行相应更新。
其中,第三数据是二级从表中的任一个数据。
应理解的是,如上所述,二级从表是不包括宽表中需要实时更新的数据的从表,因此,对于这类二级从表,服务器可以周期性更新即可。例如:服务器可以每隔20分钟或者30分钟更新一次,总之,本申请对服务器针对二级从表的更新周期不做限制。
应理解的是,由于宽表是以主表为中心建立的,即宽表是以主表表项为维度建立的。因此,服务器可以周期性扫描主表的所有记录,由于主表中的每条记录都与一级从表直接或者间接关联,而一级从表与二级从表直接或者间接关联,因此,服务器在扫描主表的每条记录时,根据主表与一级从表、一级从表与二级从表之间的关联关系判断二级从表中的第三数据是否发生更新,若二级从表的第三数据发生数据更新,则对宽表中的第二数据进行相应更新。
在本申请中,服务器可以周期性扫描主表的所有记录,在扫描主表的任一记录时,根据记录与至少一个二级从表的关联关系,判断至少一个二级从表中是否存在数据更新,针对至少一个二级从表中的任一个二级从表,若二级从表的第三数据发生数据更新,则对宽表中的第二数据进行相应更新,使得宽表与二级从表数据保持一致性,从而保证了宽表数据的准确性,进而可以保证业务查询的准确性。此外,由于二级从表中不包括宽表中需要实时更新的数据,因此,服务器无需对二级从表进行实时更新,而是定时更新即可,从而可以降低服务器的功耗。
本申请实施例提供一种业务查询装置,该装置可以是图1、图2或者图3中的服务器110,该装置包括:第一获取模块、生成模块、第二获取模块和查询模块,其中,第一获取模块用于获取主表和至少一个从表,主表和至少一个从表与业务查询相关。生成模块用于根据主表和至少一个从表生成宽表。第二获取模块用于获取待查询业务。查询模块用于在宽表中查询待查询业务,并返回查询结果。
在一种可实现方式中,生成模块具体用于:根据主表和至少一个从表生成雪花模型;根据雪花模型生成宽表。
在一种可实现方式中,业务查询装置还包括:第三获取模块、第一判断模块、第一更新模块,其中,第三获取模块用于实时获取主表的日志;第一判断模块用于根据主表的日志判断主表是否存在数据更新;第一更新模块用于若主表的第一数据发生更新,则对宽表中的第一数据进行相应更新;其中,第一数据是主表中的任一个数据。
在一种可实现方式中,至少一个从表中包括:至少一个一级从表和至少一个二级从表;其中,一级从表是包括宽表中需要实时更新的数据的从表,且一级从表与主表直接或者间接关联,二级从表是不包括宽表中需要实时更新的数据的从表,且二级从表与一个一级从表直接或者间接关联。
在一种可实现方式中,业务查询装置还包括:第四获取模块、第二判断模块、第二更新模块,其中,第四获取模块实时获取一级从表的日志;第二判断模块用于根据一级从表的日志判断一级从表是否存在数据更新;第二更新模块用于若确定一级从表的第二数据发生更新,则对宽表中的第二数据进行相应更新;其中,第二数据是一级从表中的任一个数据。
在一种可实现方式中,业务查询装置还包括:扫描模块、第三判断模块、第三更新模块,其中,扫描模块用于周期性扫描主表的所有记录;第三判断模块用于在扫描主表的任一记录时,根据记录与至少一个二级从表的关联关系,判断至少一个二级从表中是否存在数据更新;第三更新模块用于针对至少一个二级从表中的任一个二级从表,若二级从表的第三数据发生数据更新,则对宽表中的第三数据进行相应更新;其中,第三数据是二级从表中的任一个数据。
在一种可实现方式中,业务查询装置还包括:第五获取模块和分页模块,其中,第五获取模块用于获取分页条件;分页模块用于根据分页条件对宽表进行分页。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,该可以执行图4对应的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现图4中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图9是本申请实施例提供的电子设备900的示意性框图,该电子设备可以是图1、图2或者图3中的服务器110,但不限于此。
如图9所示,该电子设备900可包括:
存储器910和处理器920,该存储器910用于存储计算机程序,并将该程序代码传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器920可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器920可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器910包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器910中,并由该处理器920执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图9所示,该电子设备还可包括:
收发器930,该收发器930可连接至该处理器920或存储器910。
其中,处理器920可以控制该收发器930与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器930可以包括发射机和接收机。收发器930还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
根据本公开的一个或多个实施例,提供一种业务查询方法,包括:获取主表和至少一个从表,主表和至少一个从表与业务查询相关;根据主表和至少一个从表生成宽表;获取待查询业务;在宽表中查询待查询业务,并返回查询结果。
根据本公开的一个或多个实施例,根据主表和至少一个从表生成宽表,包括:根据主表和至少一个从表生成雪花模型;根据雪花模型生成宽表。
根据本公开的一个或多个实施例,该方法还包括:实时获取主表的日志;根据主表的日志判断主表是否存在数据更新;若主表的第一数据发生更新,则对宽表中的第一数据进行相应更新;其中,第一数据是主表中的任一个数据。
根据本公开的一个或多个实施例,至少一个从表中包括:至少一个一级从表和至少一个二级从表;其中,一级从表是包括宽表中需要实时更新的数据的从表,且一级从表与主表直接或者间接关联,二级从表是不包括宽表中需要实时更新的数据的从表,且二级从表与一个一级从表直接或者间接关联。
根据本公开的一个或多个实施例,该方法还包括:实时获取一级从表的日志;根据一级从表的日志判断一级从表是否存在数据更新;若确定一级从表的第二数据发生更新,则对宽表中的第二数据进行相应更新;其中,第二数据是一级从表中的任一个数据。
根据本公开的一个或多个实施例,该方法还包括:周期性扫描主表的所有记录;在扫描主表的任一记录时,根据记录与至少一个二级从表的关联关系,判断至少一个二级从表中是否存在数据更新;针对至少一个二级从表中的任一个二级从表,若二级从表的第三数据发生数据更新,则对宽表中的第二数据进行相应更新;其中,第三数据是二级从表中的任一个数据。
根据本公开的一个或多个实施例,根据主表和至少一个从表生成宽表之后,还包括:获取分页条件;根据分页条件对宽表进行分页。
根据本公开的一个或多个实施例,提供一种业务查询装置,该装置包括:第一获取模块、生成模块、第二获取模块和查询模块,其中,第一获取模块用于获取主表和至少一个从表,主表和至少一个从表与业务查询相关。生成模块用于根据主表和至少一个从表生成宽表。第二获取模块用于获取待查询业务。查询模块用于在宽表中查询待查询业务,并返回查询结果。
根据本公开的一个或多个实施例,生成模块具体用于:根据主表和至少一个从表生成雪花模型;根据雪花模型生成宽表。
根据本公开的一个或多个实施例,业务查询装置还包括:第三获取模块、第一判断模块、第一更新模块,其中,第三获取模块用于实时获取主表的日志;第一判断模块用于根据主表的日志判断主表是否存在数据更新;第一更新模块用于若主表的第一数据发生更新,则对宽表中的第一数据进行相应更新;其中,第一数据是主表中的任一个数据。
根据本公开的一个或多个实施例,至少一个从表中包括:至少一个一级从表和至少一个二级从表;其中,一级从表是包括宽表中需要实时更新的数据的从表,且一级从表与主表直接或者间接关联,二级从表是不包括宽表中需要实时更新的数据的从表,且二级从表与一个一级从表直接或者间接关联。
根据本公开的一个或多个实施例,业务查询装置还包括:第四获取模块、第二判断模块、第二更新模块,其中,第四获取模块实时获取一级从表的日志;第二判断模块用于根据一级从表的日志判断一级从表是否存在数据更新;第二更新模块用于若确定一级从表的第二数据发生更新,则对宽表中的第二数据进行相应更新;其中,第二数据是一级从表中的任一个数据。
根据本公开的一个或多个实施例,业务查询装置还包括:扫描模块、第三判断模块、第三更新模块,其中,扫描模块用于周期性扫描主表的所有记录;第三判断模块用于在扫描主表的任一记录时,根据记录与至少一个二级从表的关联关系,判断至少一个二级从表中是否存在数据更新;第三更新模块用于针对至少一个二级从表中的任一个二级从表,若二级从表的第三数据发生数据更新,则对宽表中的第三数据进行相应更新;其中,第三数据是二级从表中的任一个数据。
根据本公开的一个或多个实施例,业务查询装置还包括:第五获取模块和分页模块,其中,第五获取模块用于获取分页条件;分页模块用于根据分页条件对宽表进行分页。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (10)
1.一种业务查询方法,其特征在于,包括:
获取主表和至少一个从表,所述主表和所述至少一个从表与业务查询相关;
根据所述主表和所述至少一个从表生成宽表;
获取待查询业务;
在所述宽表中查询所述待查询业务,并返回查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述主表和所述至少一个从表生成宽表,包括:
根据所述主表和所述至少一个从表生成雪花模型;
根据所述雪花模型生成所述宽表。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
实时获取所述主表的日志;
根据所述主表的日志判断所述主表是否存在数据更新;
若所述主表的第一数据发生更新,则对所述宽表中的所述第一数据进行相应更新;
其中,所述第一数据是所述主表中的任一个数据。
4.根据权利要求1或2所述的方法,其特征在于,所述至少一个从表中包括:至少一个一级从表和至少一个二级从表;
其中,所述一级从表是包括所述宽表中需要实时更新的数据的从表,且所述一级从表与所述主表直接或者间接关联,所述二级从表是不包括所述宽表中需要实时更新的数据的从表,且所述二级从表与一个所述一级从表直接或者间接关联。
5.根据权利要求4所述的方法,其特征在于,还包括:
实时获取所述一级从表的日志;
根据所述一级从表的日志判断所述一级从表是否存在数据更新;
若确定所述一级从表的第二数据发生更新,则对所述宽表中的所述第二数据进行相应更新;
其中,所述第二数据是所述一级从表中的任一个数据。
6.根据权利要求4所述的方法,其特征在于,还包括:
周期性扫描所述主表的所有记录;
在扫描所述主表的任一记录时,根据所述记录与所述至少一个二级从表的关联关系,判断所述至少一个二级从表中是否存在数据更新;
针对所述至少一个二级从表中的任一个二级从表,若所述二级从表的第三数据发生数据更新,则对所述宽表中的所述第三数据进行相应更新;
其中,所述第三数据是所述二级从表中的任一个数据。
7.根据权利要求1或2所述的方法,其特征在于,所述根据所述主表和所述至少一个从表生成宽表之后,还包括:
获取分页条件;
根据所述分页条件对所述宽表进行分页。
8.一种业务查询装置,其特征在于,包括:
第一获取模块,用于获取主表和至少一个从表,所述主表和所述至少一个从表与业务查询相关;
生成模块,用于根据所述主表和所述至少一个从表生成宽表;
第二获取模块,用于获取待查询业务;
查询模块,用于在所述宽表中查询所述待查询业务,并返回查询结果。
9.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859657.3A CN115687340A (zh) | 2021-07-28 | 2021-07-28 | 业务查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859657.3A CN115687340A (zh) | 2021-07-28 | 2021-07-28 | 业务查询方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115687340A true CN115687340A (zh) | 2023-02-03 |
Family
ID=85058392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859657.3A Pending CN115687340A (zh) | 2021-07-28 | 2021-07-28 | 业务查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687340A (zh) |
-
2021
- 2021-07-28 CN CN202110859657.3A patent/CN115687340A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102097881B1 (ko) | 단축 링크를 처리하는 방법 및 장치, 및 단축 링크 서버 | |
US20130191509A1 (en) | Techniques to provide proxies for web services | |
CN105701122A (zh) | 一种日志收集方法、装置及系统 | |
US20130318208A1 (en) | Dynamic package creation for predictive page load optimization | |
US9092499B2 (en) | Synchronizing endpoint data stores having disparate schemas | |
CN113839977A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
US20200142674A1 (en) | Extracting web api endpoint data from source code | |
US20170289243A1 (en) | Domain name resolution method and electronic device | |
CN109871354B (zh) | 一种文件处理的方法及装置 | |
CN113392158A (zh) | 业务数据处理方法、装置及数据中台 | |
US20170155712A1 (en) | Method and device for updating cache data | |
CN114090388A (zh) | 信息获取方法、服务器集群、服务器及设备 | |
CN107241446B (zh) | 应用程序的文件传输方法、装置和终端设备及存储介质 | |
CN113761016A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN115982133A (zh) | 数据处理方法及装置 | |
CN115687340A (zh) | 业务查询方法、装置、设备及存储介质 | |
CN111078736A (zh) | 一种数据聚合处理方法、装置、终端及存储介质 | |
CN113220760B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN114567621B (zh) | 一种客户端自适应的响应内容控制系统、方法及存储介质 | |
CN113761406B (zh) | 一种智能柜二维码短链生成方法、装置、介质及电子设备 | |
CN115017103B (zh) | 金融业务影像信息获取方法、装置、电子设备及存储介质 | |
CN116561203A (zh) | 一种数据访问方法及其数据访问系统 | |
US20230267099A1 (en) | Data Management Method and Apparatus | |
CN114678022A (zh) | 终端设备的语音控制方法和装置、存储介质及电子设备 | |
CN114064619A (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 |