CN113535782B - 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质 - Google Patents

一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113535782B
CN113535782B CN202110831193.5A CN202110831193A CN113535782B CN 113535782 B CN113535782 B CN 113535782B CN 202110831193 A CN202110831193 A CN 202110831193A CN 113535782 B CN113535782 B CN 113535782B
Authority
CN
China
Prior art keywords
query
asynchronous
strategy
condition
rule
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
CN202110831193.5A
Other languages
English (en)
Other versions
CN113535782A (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.)
Chengdu Shuzhilian Technology Co Ltd
Original Assignee
Chengdu Shuzhilian 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 Chengdu Shuzhilian Technology Co Ltd filed Critical Chengdu Shuzhilian Technology Co Ltd
Priority to CN202110831193.5A priority Critical patent/CN113535782B/zh
Publication of CN113535782A publication Critical patent/CN113535782A/zh
Application granted granted Critical
Publication of CN113535782B publication Critical patent/CN113535782B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种BI报表查询响应方法、系统、电子设备及计算机可读存储介质,属于数据处理技术的领域,方法包括:获得查询请求,查询请求包括查询条件,并判断查询条件是否与存储的任一异步规则匹配,若匹配,则根据匹配度,选择异步策略或同步策略进行查询,若不匹配,则采用同步策略进行查询,根据确定的策略执行相应的查询业务逻辑来进行查询,采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则。与现有技术相比,本申请能够根据查询请求的查询条件动态调整策略,从而自适应不同的业务场景和数据体量,提高用户体验,减少系统资源开销。

Description

一种BI报表查询响应方法、系统、电子设备及计算机可读存储 介质
技术领域
本申请涉及数据处理技术,尤其是涉及一种BI报表查询响应方法、系统、电子设备及计算机可读存储介质。
背景技术
商业智能(Business intelligence,BI)系统,又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。报表是BI系统的一种重要应用场景,BI报表区别于传统报表主要体现在:报表更加灵活,可根据业务需求动态配置;报表数据来源多样,数据可能从多个数据库或多种类型的数据库获取。
BI系统一般采用同步策略或异步策略进行查询。同步策略指用户发起报表查询请求时,实时等待系统的返回,其响应时间存在不确定性。由于响应时间的不确定性,采用同步策略容易因响应时间超时而使客户无法获取结果,在此情况下,用户再次发起查询请求时,极易出现相同的超时情况。异步策略指用户发起报表查询请求时,系统返回正在查询提示,同时,根据查询条件,进行异步查询,并生成报表。当用户再次发起请求时,系统根据是否已生成查询结果,返回正在查询提示或已生成的结果。一般的,在进行系统设计之初就已确定采用哪种策略,因而存在不能兼容两种策略优点的问题。
发明内容
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
本申请的目的包括,提供一种BI报表查询响应方法、系统、电子设备及计算机可读存储介质,以至少部分地解决目前BI报表系统不能兼容同步策略和异步策略的优点的问题。
第一方面,本申请提供一种BI报表查询响应方法,采用如下的技术方案:
一种BI报表查询响应方法,所述方法包括:
获得查询请求,所述查询请求包括查询条件;
判断所述查询条件是否与存储的任一异步规则匹配;
若匹配,则根据匹配度,选择异步策略或同步策略进行查询;
若不匹配,则采用同步策略进行查询;
采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则。
通过采用上述技术方案,获得查询请求之后,先判断查询条件是否与任一异步规则匹配,若不匹配,则采用同步策略进行查询,若匹配,则进一步根据匹配度来选择异步策略或同步策略进行查询,即在查询发起时,先判断采用同步策略还是异步策略。最后,根据确定的策略执行相应的查询业务逻辑来进行查询,同时,在采用同步策略进行查询后,根据查询执行结果,构建异步规则,从而能够将查询请求在采用异步策略和异步策略之间进行转换,进而能够根据查询请求的查询条件动态调整策略,进而自适应不同的业务场景和数据体量,提高用户体验,减少系统资源开销。
在一种可行的实施方式中,所述异步规则包括异步条件数据,所述判断所述查询条件是否与存储的任一异步规则匹配的步骤,包括:
解析所述查询条件,获得多项条件数据;
将所述多项条件数据与存储的各异步规则的异步条件数据进行比较,得出各异步规则的异步条件数据与所述多项条件数据的相同项数;
若至少有一个异步规则的异步条件数据与所述多项条件数据的相同项数达到匹配值,则判定所述查询条件与存储的任一异步规则匹配,否则判定不匹配。
通过采用上述技术方案,将查询请求的查询条件的条件数据与各个异步规则的异步条件数据进行对比,并根据是否与至少一个异步规则的相同项数达到匹配值,来判定是否匹配,以相同项数的值来衡量查询请求的查询条件与异步规则的相似度,从而能够判定查询请求是否达到采用异步策略的条件。
在一种可行的实施方式中,所述根据匹配度,选择异步策略或同步策略进行查询的步骤,包括:
根据所述相同项数得到匹配度,若所述匹配度达到匹配度阈值,则采用异步策略进行查询,否则采用同步策略进行查询。
通过采用上述技术方案,将由相同项数得到匹配度与匹配度阈值进行对比,以将根据匹配度是否达到匹配度阈值作为条件,来选择采用同步策略还是异步策略,便于快速确定查询请求采用的查询策略。
在一种可行的实施方式中,所述采用异步策略进行查询的步骤之后,所述方法还包括:
判断是否已有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询;
若未有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询,则判断所述查询请求的查询结果是否已经生成;
若所述查询请求的查询结果未生成,则采用同步策略进行查询,否则返回生成的查询结果。
通过采用上述技术方案,匹配的历史查询请求与查询请求所对应的查询结果是相同的,因此,当匹配的历史查询请求的查询结果已经生成时,查询请求无需进行查询,直接返回匹配的历史查询请求的查询结果即可,从而能够减少系统执行查询请求的资源开销。
在一种可行的实施方式中,所述方法还包括:
若已有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询,则返回正在执行提示,所述正在执行提示用于提醒用户等待反应时间后重新输入所述查询请求。
通过采用上述技术方案,根据正在执行提示,用户可知查询正在进行,也提醒用户等待反应时间后再重新发起查询请求,以在一定程度上避免用户不断输入查询请求而使系统资源开销过大。
在一种可行的实施方式中,所述采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则的步骤,包括:
获取查询执行结果,所述查询执行结果包括执行时间;
判断所述执行时间是否达到响应阈值;
若达到所述响应阈值,则判定所述查询请求超时,获取并记录该已超时的查询请求的查询结果;
根据所述已超时的查询请求的查询结果和所述条件数据,构建对应的异步规则,并将该异步规则进行存储。
通过采用上述技术方案,采用同步策略的查询请求的响应时间一旦超过响应阈值,则构建与其对应的异步规则,以能够在该查询请求重新发起时,会采用异步策略而不是同步策略,从而在一定程度上能够减少响应超时的情况。
在一种可行的实施方式中,所述已超时的查询请求的查询结果包括执行业务查询逻辑的结构化查询语言,所述结构化查询语言所用到的数据库表,以及所述结构化查询语言所用到的查询条件字段名称和字段取值,所述条件数据包括业务功能标识/接口标识;
所述根据所述已超时的查询请求的查询结果和所述条件数据,构建对应的异步规则,并将该异步规则进行存储的步骤,包括:
构建以所述业务功能标识/接口标识为关键字的异步规则钥匙,根据所述结构化查询语言构建抽象语法树;
建立所述抽象语法树与异步规则钥匙的映射关系,构建所述查询条件字段名称和字段取值与所述抽象语法树的映射关系,并构建所述数据库表与异步规则钥匙的映射关系;
将所述异步规则钥匙及其映射关系组合成异步规则,并将所述异步规进行存储。
通过采用上述技术方案,所构建的异步规则为超时的查询请求的查询结果和条件数据之间的映射关系,从而与新输入的查询请求进行匹配时,根据异步规则就能够将已超时的查询请求与输入的查询请求进行对比,以能够快速识别新输入的查询请求是否为采用同步策略进行查询时响应超时的查询请求。
第二方面,本申请提供一种BI报表查询响应系统,采用如下的技术方案:
一种BI报表查询响应系统,包括:
异步规则集,存储有异步规则;
获取模块,用于获得查询请求,所述查询请求包括查询条件;
判断模块,用于判断所述查询条件是否与存储的任一异步规则匹配;
查询模块,用于若匹配,则根据匹配度,选择异步策略或同步策略进行查询,若不匹配,则采用同步策略进行查询;
异步规则构建模块,用于采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则。
通过采用上述技术方案,获取模块获得查询请求之后,判断模块先判断查询条件是否与异步规则集中的任一异步规则匹配,查询模块在不匹配时采用同步策略进行查询,在匹配时,则进一步根据匹配度来选择异步策略或同步策略进行查询,即在查询发起时,先判断采用同步策略还是异步策略,最后根据确定的策略执行相应的查询业务逻辑来进行查询;同时,异步规则构建模块在采用同步策略进行查询后,根据查询执行结果,构建异步规则,从而能够将查询请求在采用异步策略和异步策略之间进行转换,进而能够根据查询请求的查询条件动态调整策略,进而自适应不同的业务场景和数据体量,提高用户体验,减少系统资源开销。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在的电子设备执行第一方面所述的方法。
本申请实施方式的有益效果包括,例如:
本申请实施方式提供一种BI报表查询响应方法、系统、电子设备及计算机可读存储介质,获得查询请求之后,先判断该查询请求的查询条件是否与任一异步规则匹配,若不匹配,则采用同步策略进行查询,若匹配,则进一步根据匹配度来选择异步策略或同步策略进行查询,即在查询发起时,先判断采用同步策略还是异步策略,并根据确定的策略执行相应的查询业务逻辑来进行查询,同时,在采用同步策略进行查询后,根据查询执行结果,构建异步规则,从而能够将查询请求在采用异步策略和异步策略之间进行转换,进而能够根据查询请求的查询条件动态调整策略,自适应不同的业务场景和数据体量,提高用户体验,减少系统资源开销。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施方式,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施方式提供的电子设备的方框结构示意图。
图2为本申请实施方式提供的BI报表查询响应方法的第一流程示意图。
图3为图2中步骤S102的一种可能的子步骤的流程示意图。
图4为图2中步骤S103的一种可能的子步骤的流程示意图。
图5为本申请实施方式提供的BI报表查询响应方法的第二流程示意图。
图6为本申请实施方式提供的BI报表查询响应方法的第三流程示意图。
图7为图2中步骤S105的一种可能的子步骤的流程示意图。
图8为图7中步骤S503的一种可能的子步骤的流程示意图。
图9为本申请实施方式提供的BI报表查询响应系统的方框结构示意图。
附图标记说明:01-电子设备;02-处理器;03-存储器;04-异步规则集;05-获取模块;06-判断模块;07-查询模块;08-异步规则构建模块。
具体实施方式
为使本申请实施方式的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整的描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本申请实施方式的组件可以以各自不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施方式的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下获得的所有其他实施方式,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
商业智能(Business intelligence,BI)系统,又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。采用BI系统的BI报表与传统报表的区别在于:更为灵活,可根据业务需求动态配置;数据来源多样,数据可能从多个数据库或多种类型的数据库获取。在现有的BI报表中,一般采用同步策略或异步策略执行查询请求的查询业务逻辑。同步策略是指用户发起报表查询请求时,实时等待系统的返回。异步策略指用户发起报表查询请求时,系统返回正在查询提示,同时,根据查询条件,进行异步查询并生成报表,当用户再次发起请求时,系统根据是否已生成查询结果,返回正在查询提示或已生成的结果。由于上述特点,BI报表的查询、生成、响应时间具有不确定性。
同步策略更适宜涉及的业务场景小且数据体量小的查询请求,而异步策略更适宜设计的业务场景大或数据体量大的查询请求。然而,通常的,在进行BI报表的系统设计之初,就已确定采用哪种策略,因而存在不能兼容两种策略优点,动态调整策略的问题。
基于上述考虑,本申请实施方式提供了一种BI报表查询响应方法、系统、电子设备及计算机可读存储介质。
参照图1,为本申请实施方式提供的一种电子设备的方框结构示意图,该电子设备01可以包括但不限于存储器03和处理器02。
其中,处理器02和存储器03均位于电子设备01中却二者分离设置。然而,应当理解的是,存储器03可以替换成计算机可读存储介质,且存储器03和计算机可读存储介质都可以是独立于电子设备01之外,且可以由处理器02通过总线接口来访问。此外,存储器03可以集成到处理器02中,例如,可以是高速缓存和/或通用寄存器。
在本实施方式中,计算机可读存储介质和存储器03均可用于存储计算机程序,处理器02执行计算机程序时,能够实现本申请实施方式给出的BI报表查询响应方法。
需要说明的是,图1所示的电子设备01的结构示意图,电子设备01还可以包括比图1中所示更多或更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。电子设备01可以是,但不限于计算机、手机、IPad、服务器、笔记本电脑、移动上网设备等。
参照图2,为一种BI报表查询响应方法的第一流程示意图,可以由图1所述电子设备01执行,例如可以有电子设备01中的处理器02执行。该BI报表查询响应方法包括以下步骤:
步骤S101,获得查询请求。查询请求包括查询条件。
步骤S102,判断查询条件是否与存储的任一异步规则匹配。
若匹配,则执行步骤S103。
若不匹配,则执行步骤S104。
步骤S103,根据匹配度,选择异步策略或同步策略进行查询。
步骤S104,采用同步策略进行查询。
采用同步策略进行查询后,执行步骤S105。
步骤S105,根据查询执行结果,构建并存储异步规则。
通过上述步骤,获得查询请求之后,先判断查询条件是否与任一异步规则匹配,若不匹配,则采用同步策略进行查询,若匹配,则进一步根据匹配度来选择异步策略或同步策略进行查询,即在查询发起时,先判断采用同步策略还是异步策略。最后,根据确定的策略执行相应的查询业务逻辑来进行查询,同时,在采用同步策略进行查询后,根据查询执行结果,构建异步规则,从而能够将查询请求在采用异步策略和异步策略之间进行转换,进而能够根据查询请求的查询条件动态调整策略,进而自适应不同的业务场景和数据体量,提高用户体验,减少系统资源开销。
步骤S101中的查询请求,可以为根据用户通过客户端输入的查询条件,生成并发起的查询请求。
在一种可能的实施方式中,异步规则包括异步条件数据。
参照图3,为上述步骤S102的一种可能的子步骤的流程示意图,包括以下步骤:
步骤S201,解析查询条件,获得多项条件数据。
步骤S201,将多项条件数据与存储的各异步规则的异步条件数据进行比较,得出各异步规则的异步条件数据与多项条件数据的相同项数。
步骤S203,若至少有一个异步规则的异步条件数据与多项条件数据的相同项数达到匹配值,则判定查询条件与存储的任一异步规则匹配,否则判定不匹配。
通过将查询请求的查询条件的条件数据与各个异步规则的异步条件数据进行对比,并根据是否与至少一个异步规则的相同项数达到匹配值,来判定是否匹配,以相同项数的值来衡量查询请求的查询条件与异步规则的相似度,从而能够判定查询请求是否达到采用异步策略的条件。
需要说明的是,异步规则是根据响应超时的历史查询请求的查询结果构建的,因此若查询条件与异步规则匹配,则意味着该查询请求在之前可能已经采用同步策略来执行,且该执行结果是响应超时。
在一种可能的实施方式中,步骤S201中的条件数据包括业务功能标识/接口标识,用户信息及发起请求的时间,查询条件字段名称及字段取值,结构化查询语言的抽象语法树,以及所用到的数据库表等。异步条件数据可以包括以业务功能标识/接口标识为关键字的异步规则钥匙,与异步规则钥匙具有映射关系的抽象语法树,与抽象语法树具有映射关系的查询条件字段名称及字段取值,以及与异步规则钥匙具有映射关系的数据库表。此外,还可以包括查询条件对应的查询请求的发起时间,和输入查询条件的用户信息等。
在步骤S202中,可以将条件数据与各个异步规则的异步条件数据一一进行对比,以得到相同项数。
在又一种可能的实施方式中,步骤S203中的匹配值为预设的值,可以为20%,30%,50%等等,也可以是另一种表达形式的数值,具体数值可根据实际需求进行设置。
应当理解的是,若查询条件与多个异步规则匹配,则计算匹配值,以及步骤S103中的匹配度时,均选择相同项数最多的异步规则。
基于上述步骤,参照图4,为步骤S103的一种可能的子步骤的流程示意图,包括如下步骤:
步骤S301,根据相同项数得到匹配度。
步骤S302,判断匹配度是否达到匹配度阈值。
若达到匹配度阈值,则执行步骤S303。
若未达到匹配度阈值,则执行步骤S104。
步骤S303,采用异步策略进行查询。
步骤S104,采用同步策略进行查询。
查询条件与异步规则达到匹配的查询请求,会进一步根据条件数据与匹配的异步规则的异步条件数据的相同项数得到匹配度,例如,若条件项数为5项,异步条件数据也为5项,相同项数为3项,则匹配度为0.6或60%。得到匹配度后,将匹配度与预设的匹配度阈值进行比较,若达到匹配度阈值,则表明查询请求满足采用异步策略的条件,否则,不满足采用异步策略的条件。
满足采用异步策略的条件意味着,该查询请求在这之前已经采用同步策略进行查询,且响应结果为响应超时,此时若继续采用同步策略进行查询,则可能再次响应超时,从而调整为使用异步策略进行查询。不满足采用异步策略的条件意味着,该查询请求为全新的查询请求,或该查询请求之前采用同步策略进行查询时,未出现响应超时的情况。
查询请求采用同步策略出现响应超时,可能是由于查询请求所涉及的业务场景和数据体量较大,而使得响应时间较长。此时,查询请求不适宜采用同步策略,更适宜采用异步策略。
因此,通过匹配度是否达到匹配度阈值,来选择使用异步策略还是同步策略,可减少采用同步策略时响应超时的查询请求重复采用同步策略而不断响应超时的情况,从而能够根据查询请求自身涉及的业务场景和数据体量,采用适宜的查询策略,以提高用户体验,减少系统资源开销。
参照图5,在一种可能的实施方式中,采用异步策略进行查询的步骤之后,即步骤S303之后还包括如下步骤:
步骤S401,判断是否已有与查询条件匹配的历史查询请求正在采用异步策略进行查询。
若未有与查询条件匹配的历史查询请求正在采用异步策略进行查询,则执行步骤S402。
若查询请求的查询结果未生成,则执行步骤S104。
若查询请求的查询结果已生成,则执行步骤S403。
步骤S402,则判断查询请求的查询结果是否已经生成。
步骤S104,采用同步策略进行查询。
步骤S403,返回生成的查询结果。
应当理解的是,与查询条件匹配的历史查询请求,即为条件数据与查询请求的条件数据达到匹配度的历史查询请求。
通过上述步骤,由于匹配时,历史查询请求的条件数据与查询请求的条件数据相似,所以二者进行查询得到的查询结果是相同的。因此,当匹配的历史查询请求的查询结果已经生成时,查询请求无需进行查询,直接返回匹配的历史查询请求的查询结果即可,从而能够减少系统执行查询请求的资源开销。
参照图6,在一种可能的实施方式中,上述步骤S401之后,还包括:
若已有与查询条件匹配的历史查询请求正在采用异步策略进行查询,则执行步骤S404。
步骤S404,返回正在执行提示。
正在执行提示,用于提醒用户等待反应时间后重新输入查询请求。该反应时间可以为预设的值。
根据正在执行提示,用户可知查询正在进行,也提醒用户等待反应时间后再重新发起查询请求,以在一定程度上避免用户不断输入查询请求而使系统资源开销过大。
参照图7,为本申请实施方式提供的步骤S105的一种可能的子步骤的流程示意图,包括如下步骤:
步骤S501,获取查询执行结果。其中,查询执行结果包括执行时间。
步骤S502,判断执行时间是否达到响应阈值。
若达到响应阈值,则执行步骤S503。
若未达到响应阈值,则执行步骤S504。
步骤S503之后执行步骤S505。
步骤S503,判定查询请求超时,获取并记录该已超时的查询请求的查询结果。
步骤S504,返回查询的结果。
步骤S505,根据已超时的查询请求的查询结果和条件数据,构建对应的异步规则,并将该异步规则进行存储。
采用同步策略的查询请求的响应时间一旦超过响应阈值,则构建与其对应的异步规则,以能够在该查询请求重新发起时,会采用异步策略而不是同步策略,从而在一定程度上能够减少响应超时的情况。
参照图8,为步骤S505的一种可能的子步骤的流程示意图,包括如下步骤:
步骤S601,构建以业务功能标识/接口标识为关键字的异步规则钥匙,根据结构化查询语言构建抽象语法树。
步骤S602,建立抽象语法树与异步规则钥匙的映射关系,构建查询条件字段名称和字段取值与抽象语法树的映射关系,并构建数据库表与异步规则钥匙的映射关系。
步骤S603,将异步规则钥匙及其映射关系组合成异步规则,并将异步规则进行存储。
上述步骤S601-S603中的结构化查询语言、抽象语法树、数据库表,以及查询条件字段名称和字段取值均为已超时的查询请求的查询结果,业务功能标识/接口标识为该查询请求的查询条件之一。
参照图9,为本申请实施方式提供的一种BI报表查询响应系统的方框结构示意图,包括异步规则集04、获取模块05,判断模块06、查询模块07和异步规则构建模块08。
异步规则集04,存储有异步规则。
获取模块05,用于获得查询请求。查询请求包括查询条件。
判断模块06,用于判断查询条件是否与存储的任一异步规则匹配。
查询模块07,用于若匹配,则根据匹配度,选择异步策略或同步策略进行查询,若不匹配,则采用同步策略进行查询。
异步规则构建模块08,采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则。
需要说明的是,BI报表查询响应系统能够执行上述BI报表查询响应方法中的任一步骤。
在本公开所提供的几个实施方式中,应该理解到,所揭露的装置、系统图和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备01,或者网络设备等)执行本公开各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器03(ROM,Read-Only Memory)、随机存取存储器03(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的可选实施方式而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (8)

1.一种BI报表查询响应方法,其特征在于,所述方法包括:
获得查询请求,所述查询请求包括查询条件;
判断所述查询条件是否与存储的任一异步规则匹配;
若匹配,则根据匹配度,选择异步策略或同步策略进行查询;
若不匹配,则采用同步策略进行查询;
采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则;
所述采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则的步骤,包括:
获取查询执行结果,所述查询执行结果包括执行时间;
判断所述执行时间是否达到响应阈值;
若达到所述响应阈值,则判定所述查询请求超时,获取并记录该已超时的查询请求的查询结果;
根据所述已超时的查询请求的查询结果和所述查询请求中的条件数据,构建对应的异步规则,并将该异步规则进行存储;
所述已超时的查询请求的查询结果包括执行业务查询逻辑的结构化查询语言,所述结构化查询语言所用到的数据库表,以及所述结构化查询语言所用到的查询条件字段名称和字段取值,所述条件数据包括业务功能标识/接口标识;
所述根据所述已超时的查询请求的查询结果和所述条件数据,构建对应的异步规则,并将该异步规则进行存储的步骤,包括:
构建以所述业务功能标识/接口标识为关键字的异步规则钥匙,根据所述结构化查询语言构建抽象语法树;
建立所述抽象语法树与异步规则钥匙的映射关系,构建所述查询条件字段名称和字段取值与所述抽象语法树的映射关系,并构建所述数据库表与异步规则钥匙的映射关系;
将所述异步规则钥匙及其映射关系组合成异步规则,并将所述异步规进行存储。
2.根据权利要求1所述的方法,其特征在于,所述异步规则包括异步条件数据,所述判断所述查询条件是否与存储的任一异步规则匹配的步骤,包括:
解析所述查询条件,获得多项条件数据;
将所述多项条件数据与存储的各异步规则的异步条件数据进行比较,得出各异步规则的异步条件数据与所述多项条件数据的相同项数;
若至少有一个异步规则的异步条件数据与所述多项条件数据的相同项数达到匹配值,则判定所述查询条件与存储的任一异步规则匹配,否则判定不匹配。
3.根据权利要求2所述的方法,其特征在于,所述根据匹配度,选择异步策略或同步策略进行查询的步骤,包括:
根据所述相同项数得到匹配度,若所述匹配度达到匹配度阈值,则采用异步策略进行查询,否则采用同步策略进行查询。
4.根据权利要求3所述的方法,其特征在于,所述采用异步策略进行查询的步骤之后,所述方法还包括:
判断是否已有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询;
若未有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询,则判断所述查询请求的查询结果是否已经生成;
若所述查询请求的查询结果未生成,则采用同步策略进行查询,否则返回生成的查询结果。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若已有与所述查询条件匹配的历史查询请求正在采用异步策略进行查询,则返回正在执行提示,所述正在执行提示用于提醒用户等待反应时间后重新输入所述查询请求。
6.一种BI报表查询响应系统,其特征在于,包括:
异步规则集,存储有异步规则;
获取模块,用于获得查询请求,所述查询请求包括查询条件;
判断模块,用于判断所述查询条件是否与存储的任一异步规则匹配;
查询模块,用于若匹配,则根据匹配度,选择异步策略或同步策略进行查询,若不匹配,则采用同步策略进行查询;
异步规则构建模块,用于采用同步策略进行查询后,根据查询执行结果,构建并存储异步规则;
所述异步规则构建模块,还用于:
获取查询执行结果,所述查询执行结果包括执行时间;
判断所述执行时间是否达到响应阈值;
若达到所述响应阈值,则判定所述查询请求超时,获取并记录该已超时的查询请求的查询结果;
根据所述已超时的查询请求的查询结果和所述查询请求中的条件数据,构建对应的异步规则,并将该异步规则进行存储;
所述已超时的查询请求的查询结果包括执行业务查询逻辑的结构化查询语言,所述结构化查询语言所用到的数据库表,以及所述结构化查询语言所用到的查询条件字段名称和字段取值,所述条件数据包括业务功能标识/接口标识;
所述异步规则构建模块,还用于:
构建以所述业务功能标识/接口标识为关键字的异步规则钥匙,根据所述结构化查询语言构建抽象语法树;
建立所述抽象语法树与异步规则钥匙的映射关系,构建所述查询条件字段名称和字段取值与所述抽象语法树的映射关系,并构建所述数据库表与异步规则钥匙的映射关系;
将所述异步规则钥匙及其映射关系组合成异步规则,并将所述异步规进行存储。
7.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在的电子设备执行权利要求1至5任一项所述的方法。
CN202110831193.5A 2021-07-22 2021-07-22 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质 Active CN113535782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110831193.5A CN113535782B (zh) 2021-07-22 2021-07-22 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110831193.5A CN113535782B (zh) 2021-07-22 2021-07-22 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113535782A CN113535782A (zh) 2021-10-22
CN113535782B true CN113535782B (zh) 2024-05-07

Family

ID=78088662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110831193.5A Active CN113535782B (zh) 2021-07-22 2021-07-22 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113535782B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534519A (zh) * 2003-03-28 2004-10-06 请求和接收数据库改变通知的系统和方法
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置
CN109086397A (zh) * 2018-07-28 2018-12-25 重庆柚瓣家科技有限公司 基于查询维度的动态报表生成方法
CN109684358A (zh) * 2017-10-18 2019-04-26 北京京东尚科信息技术有限公司 数据查询的方法和装置
CN109710614A (zh) * 2018-12-28 2019-05-03 深圳市同行者科技有限公司 一种实时数据存储与查询的方法及装置
CN111290866A (zh) * 2020-02-11 2020-06-16 支付宝(杭州)信息技术有限公司 业务处理方法及装置
CN111782409A (zh) * 2020-08-17 2020-10-16 支付宝(杭州)信息技术有限公司 任务处理、风险识别任务处理方法、装置及电子设备
CN112130936A (zh) * 2020-09-23 2020-12-25 平安科技(深圳)有限公司 基于轮询的数据调用方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078663B2 (en) * 2014-10-29 2018-09-18 Red Hat, Inc. Dual overlay query processing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534519A (zh) * 2003-03-28 2004-10-06 请求和接收数据库改变通知的系统和方法
CN103533002A (zh) * 2012-07-05 2014-01-22 阿里巴巴集团控股有限公司 一种数据处理方法和系统
CN104408065A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种联机查询交易信息的方法及装置
CN109684358A (zh) * 2017-10-18 2019-04-26 北京京东尚科信息技术有限公司 数据查询的方法和装置
CN109086397A (zh) * 2018-07-28 2018-12-25 重庆柚瓣家科技有限公司 基于查询维度的动态报表生成方法
CN109710614A (zh) * 2018-12-28 2019-05-03 深圳市同行者科技有限公司 一种实时数据存储与查询的方法及装置
CN111290866A (zh) * 2020-02-11 2020-06-16 支付宝(杭州)信息技术有限公司 业务处理方法及装置
CN111782409A (zh) * 2020-08-17 2020-10-16 支付宝(杭州)信息技术有限公司 任务处理、风险识别任务处理方法、装置及电子设备
CN112130936A (zh) * 2020-09-23 2020-12-25 平安科技(深圳)有限公司 基于轮询的数据调用方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Distributed data parallel techniques for content-matching intrusion detectin systems;Christopher V.Kopek et al.;《MILCOM 2007 - IEEE Military Communications Conference》;20080222;1-7 *
基于全文检索引擎的信息检索技术的应用研究;励子闰 等;《计算机与数字工程》;20080920(第09期);86-90 *
船舶监控专用组态软件SQL查询实时数据库的实现;徐向文 等;《上海船舶运输科学研究所学报》;20120930(第02期);58-63 *

Also Published As

Publication number Publication date
CN113535782A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN109299110B (zh) 数据查询方法、装置、存储介质和电子设备
EP3399434B1 (en) Short link processing method, device and server
US9817858B2 (en) Generating hash values
CN109873745B (zh) 通信控制方法、装置及存储介质
US20150234927A1 (en) Application search method, apparatus, and terminal
US20150213042A1 (en) Search term obtaining method and server, and search term recommendation system
CN107451208B (zh) 一种数据搜索方法与装置
CN112800287B (zh) 基于图数据库的全文索引方法和系统
WO2020206910A1 (zh) 产品信息推送方法、装置、计算机设备和存储介质
EP3929763B1 (en) Database access methods and apparatuses
US20150234883A1 (en) Method and system for retrieving real-time information
US8386489B2 (en) Applying formal concept analysis to validate expanded concept types
US10033737B2 (en) System and method for cross-cloud identity matching
CN113297269A (zh) 数据查询方法及装置
CN111400301B (zh) 一种数据查询方法、装置及设备
CN106202440B (zh) 数据处理方法、装置及设备
CN111159131A (zh) 性能优化方法、装置、设备及计算机可读存储介质
CN113535782B (zh) 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质
CN109828984B (zh) 一种分析处理的方法、装置、计算机存储介质及终端
CN116401271A (zh) 数据库表查询方法、计算机设备及计算机存储介质
CN111339170A (zh) 数据处理方法、装置、计算机设备及存储介质
KR20190129474A (ko) 데이터 검색 장치 및 방법
CN108287853B (zh) 一种数据关系分析方法及其系统
CN113986828A (zh) 存储海量文件的方法、装置、电子设备及存储介质
CN111859191A (zh) Gis服务聚合方法、装置、计算机设备和存储介质

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
CB02 Change of applicant information

Address after: 610000 No. 270, floor 2, No. 8, Jinxiu street, Wuhou District, Chengdu, Sichuan

Applicant after: Chengdu shuzhilian Technology Co.,Ltd.

Address before: 610000 No.2, 4th floor, building 1, Jule Road intersection, West 1st section of 1st ring road, Wuhou District, Chengdu City, Sichuan Province

Applicant before: CHENGDU SHUZHILIAN TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant