CN115220731A - 指标数据获取方法、装置、计算机设备及存储介质 - Google Patents
指标数据获取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115220731A CN115220731A CN202210910356.3A CN202210910356A CN115220731A CN 115220731 A CN115220731 A CN 115220731A CN 202210910356 A CN202210910356 A CN 202210910356A CN 115220731 A CN115220731 A CN 115220731A
- Authority
- CN
- China
- Prior art keywords
- index
- target
- subject
- preset
- sql statement
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于动态SQL语句的指标数据获取方法、装置、计算机设备及存储介质,以提高指标数据获取效率。方法部分包括:获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息;对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;解析科目组合类型,以获取科目组合类型的配置特征;按照配置特征,确定预设指标对应的SQL分词;通过SQL分词,生成预设指标对应的SQL语句脚本并预存;当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种指标数据获取方法、装置、计算机设备及存储介质。
背景技术
一些指标数据,通常需要上报至上级系统,例如,以财务指标为例,财务指标的类型众多,存在数千多个,传统的方案中,需要针对每个指标数据定义一个取数方式并依据取数方式特点编写对应的SQL语句,可以看出,如果针对每个指标均定义一个取数方式和编写SQL语句,那么开发人员的工作量巨大,且系统可维护性极低,也导致指标数据的获取效率非常慢,效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种基于动态SQL语句的指标数据获取方法、装置、计算机设备及存储介质,以解决现有的指标数据的获取效率非常慢,效率低下的问题。
第一方面,提供了一种基于动态SQL语句的指标数据获取方法,包括:
获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射;
对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;
解析科目组合类型,以获取科目组合类型的配置特征;
按照配置特征,确定预设指标对应的SQL分词;
通过SQL分词,生成预设指标对应的SQL语句脚本;
对预设指标的指标标识,和对应的SQL语句脚本进行关联存储;
当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。
进一步地,获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,包括:
接收用户的指标配置请求,指标配置请求用于指示对预设指标类型的预设指标进行配置;
响应指标配置请求,以渲染出预设指标类型对应的指标配置界面;
响应配置人员针预设指标的配置,以配置出预设指标的科目映射关系和各科目的字段取值规则信息;
对各科目的字段取值规则信息进行合法性校验;
根据配置出的科目映射关系,和通过合法性校验的各科目的字段取值规则信息生成预设指标的配置。
进一步地,对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型,包括:
解析科目映射关系,得到预设指标的各个关联科目,并解析字段取值规则信息,得到各个关联科目对应的取值规则;
根据各个关联科目对应的取值规则,为各个关联科目配置对应的特征标识;
通过科目映射关系中各关联科目的所属关系,依次对各个关联科目配置对应的特征标识进行组合,得到预设指标的科目组合类型。
进一步地,按照配置特征,确定预设指标对应的SQL分词,包括:
按照配置特征,解读出SQL语句查询结构信息,SQL语句查询结构信息包括预设指标的SQL分词信息;
按照SQL分词信息,从SQL分词库中查询出预设指标的SQL分词。
进一步地,目标指标包括多个,执行目标SQL语句脚本,以获取目标指标对应的指标数据,包括:
并行执行多个目标指标对应的多个目标SQL语句脚本,以获取多个目标指标对应的指标数据。
进一步地,执行目标SQL语句脚本,以获取目标指标对应的指标数据之后,方法还包括:
记录目标SQL语句脚本的执行状态,执行状态包括目标SQL语句脚本的执行起始时间、执行截止时间和执行时长。
进一步地,对预设指标的指标标识,和对应的SQL语句脚本进行关联存储,包括:
根据预设指标的所属指标类型,为预设指标分配对应的执行微服务器;其中,不同指标类型分配有不同的执行微服务器;
将预设指标的指标标识,和预设指标对应的SQL语句脚本关联同步至预设指标对应的执行微服务器;
根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据,包括:
根据目标指标的指标类型,确定目标指标对应的目标执行微服务器;
调用目标微服务器,以使目标微服务器根据目标指标的指标标识,调用目标指标出对应的目标SQL语句脚本并执行;
接收目标微服务器反馈回的目标指标对应的指标数据。
第二方面,提供了一种基于动态SQL语句的指标数据获取装置,包括:
获取模块,用于获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射;
编译模块,用于对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;
解析模块,用于解析科目组合类型,以获取科目组合类型的配置特征;
确定模块,用于按照配置特征,确定预设指标对应的SQL分词;
生成模块,用于通过SQL分词,生成预设指标对应的SQL语句脚本;
存储模块,用于对预设指标的指标标识,和对应的SQL语句脚本进行关联存储;
查询模块,用于当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;
执行模块,用于执行目标SQL语句脚本,以获取目标指标对应的指标数据。
第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如前述任一项的指标数据获取方法的步骤。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如前述任一项的指标数据获取方法的步骤。
上述所实现的方案中,对于可以动态生成每个不同预设指标的SQL语句脚本并存储,这样,当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识,从预先存储的SQL语句脚本中查询目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。例如,获取到某个财务指标对应的SQL语句脚本之后,将该财务指标对应的SQL语句脚本和该财务指标的指标标识关联存储起来,当接收到针对该财务指标的数据查询指令时,根据该财务指标的指标标识,从预先存储的SQL语句脚本中查询出该财务指标对应的SQL语句脚本,然后执行该财务指标对应的SQL语句脚本,以获取该财务指标对应的指标数据,无需工作人员针对每个指标均定义一个取数方式和编写SQL语句,提高了指标数据的获取效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中指标数据获取方法的一流程示意图;
图2是图1中步骤10的一流程示意图;
图3是图1中步骤20的一流程示意图;
图4是图1中步骤40的一流程示意图;
图5是图1中步骤60的一流程示意图;
图6是本申请一实施例中指标数据获取装置的一结构示意图;
图7是本申请一实施例中计算机设备的一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一实施例中,如图1所示,提供一种基于动态SQL语句的指标数据获取方法,以该方法应用服务端为例进行说明,包括如下步骤:
S10:获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射。
该预设指标指的是其中的某一类指标,例如,该预设指标的指标类型可以是财务指标,该预设指标可以是保监会统计信息系统中所定义的财务指标,具体而言,示例性的,该预设指标可以是银行存款、可供出售金融资产等等指标。当然,在其他一些实施例中,该预设指标也可以是指非财务指标,比如销售公司的销售指标等,这里不做限定。
预设指标的科目映射关系,是用于表征改预设指标对应的指标数据的来源映射,例如,某个财务指标的科目映射关系可以为:机构D、成本中心T、科目1002、子目T、渠道T、产品T、往来T、现金流T、备用(1)T、备用(2)T。其中,上述的机构D、成本中心T、科目1002、子目T、渠道T、产品T、往来T、现金流T、备用(1)T、备用(2)T也即是预设指标所关联的各科目。值得说明的是,这里是备用(1)和备用(2)指的是预留的备用科目。
除配置上述科目映射关系,还会配置上述科目映射关系中各科目的字段取值规则信息,该字段取值规则信息,是用于指示具体的字段取值规范,包括段值范围等等。
该实施例中,会获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息。
S20:对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型。
S30:解析科目组合类型,以获取科目组合类型的配置特征。
S40:按照科目组合类型的配置特征,确定预设指标对应的SQL分词。
S50:通过预设指标对应的SQL分词,生成预设指标对应的SQL语句脚本。
具体而言,在获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息之后,会先对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型,需要说明的是,该科目组合类型是一种利用科目映射关系和字段取值规则信息编译得到的组合类型信息,该科目组合类型指示了获取该预设指标的数据来源关系和数据获取特性,因此,可通过该解析科目组合类型的配置特征,以获取科目组合类型的配置特征,然后按照科目组合类型的配置特征,确定预设指标对应的SQL分词。
例如,以上述例子为例,某个财务指标的科目映射关系可以为:机构D、成本中心T、科目1002、子目T、渠道T、产品T、往来T、现金流T、备用(1)T、备用(2)T。那么编译得到的该财务指标的科目组合类型可以是:DN9NNNNNNN,其中,该DN9NNNNNNN中的各个字符分别表征了上述各科目的字段取值规则信息,其中,D代表需对机构D所获取的指标数据进行分组汇总,N代表取全部指标数据的意思,例如,取成本中心T下所有的该预设指标的有关联的关联数据,9代表汇总值,1代表明细值。
这样,按照科目组合类型的配置特征,便可确定指标数据的获取特点,从而确定预设指标对应的SQL分词,和分词组合方式并组合得到对应的SQL语句脚本。
可以看出,通过该方式,只需要通过预先对预设指标进行配置,便可自动生成该预设指标对应的SQL语句脚本,与传统的方案相比,极大的减少了人为编写SQL语句脚本的过程,极大的提高了SQL语句脚本的生成效率。
S60:对预设指标的指标标识,和预设指标对应的SQL语句脚本进行关联存储。
S70:当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中查询目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。
在该方案中,对于可以动态生成每个不同预设指标的SQL语句脚本并存储,这样,当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识,从预先存储的SQL语句脚本中查询目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。例如,获取到某个财务指标对应的SQL语句脚本之后,将该财务指标对应的SQL语句脚本和该财务指标的指标标识关联存储起来,当接收到针对该财务指标的数据查询指令时,根据该财务指标的指标标识,从预先存储的SQL语句脚本中查询出该财务指标对应的SQL语句脚本,然后执行该财务指标对应的SQL语句脚本,以获取该财务指标对应的指标数据。
该方案中,在预先配置了预设指标的科目映射关系和各科目的字段取值规则信息后,会自动解析用户的配置信息自动生成所需的SQL语句脚本,当该SQL语句脚本被执行时,可以获取到该预设指标对应的指标数据。
由于SQL语句脚本是自动动态生成,可以极大的提高了SQL语句脚本的生成效率,从而在指标数据时,可以快速的获取到对应的SQL语句脚本并执行,从而获取到所需的数据,效率较高。
在一实施方式中,如图2所示,步骤S10中,也即获取预先预设指标的科目映射关系和预设指标的各科目的字段取值规则信息,具体包括如下步骤:
S11:接收用户的指标配置请求,指标配置请求用于指示对预设指标类型的预设指标进行配置。
S12:响应指标配置请求,以渲染出预设指标类型对应的指标配置界面。
S13:响应配置人员针对预设指标的配置,以配置出目标财务指标的科目映射关系和各科目的字段取值规则信息。
需要说明的是,预设指标类型包括是财务指标,当然也可以是其他指标类型,本申请实施例仅是以财务指标为例,那么不同的指标类型可以有不同的配置界面。该实施例中,可以接收并响应用户针对某项财务指标的指标配置请求,以渲染出该财务指标对应的指标配置界面,接收配置人员针对该财务指标的配置,以配置出财务指标的科目映射关系和各科目的字段取值规则信息。
例如,以上述例子为例,某个财务指标的科目映射关系可以为:机构D、成本中心T、科目1002、子目T、渠道T、产品T、往来T、现金流T、备用(1)T、备用(2)T,那么可在指标配置界面通过各个科目的标识信息进行关联映射,并解读出配置人员输入的关联映射,得到该财务指标的科目映射关系。并且,还配置各科目的字段取值规则信息,即各科目的字段取值规范,包括段值范围等等,比如,配置成本中心T的字段取值规则为分组汇总,用D表示。需要说明的是,本申请实施例中可以维护一个字段取值规则标识库,该标识库中包含不同的标识,不同的标识表示对应的取值规则,配置人员可以按照规则库中的字段对各科目的字段取值规则信息进行配置。
S14:对各科目的字段取值规则信息进行合法性校验。
S15:根据配置出的科目映射关系,和通过合法性校验的各科目的字段取值规则信息生成预设指标的配置。
为了提高校验有效性、合法性以及配置效率,本申请实施例中,会对配置人员配置的各科目的字段取值规则信息进行合法性校验,包括检验配置人员输入的当前科目的字段取值规则信息是否符合预设规定,比如是否符合标识库中的字段等等,以及是否为错误字符等。具体不做限定。最后,根据配置出的科目映射关系,和通过合法性校验的各科目的字段取值规则信息生成预设指标的配置得到预设指标的配置。
该实施例中,预设指标类型指的是财务指标,也可以是其他指标类型,不同的指标类型可以有不同的配置界面,通过配置界面,可快速、方便的得到不同的预设指标的科目映射关系和字段取值规则信息,便于后续方案的执行。
在一实施方式中,如图3所示,步骤S20中,也即对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型,具体包括如下步骤:
S21:解析科目映射关系,得到预设指标的各个关联科目,并解析字段取值规则信息,得到各个关联科目对应的取值规则。
S22:为各个关联科目对应的取值规则,为各个关联科目配置对应的特征标识。
S23:通过科目映射关系中各关联科目的所属关系,依次对各个关联科目配置对应的特征标识进行组合,得到预设指标的科目组合类型。
例如前述例子,某个财务指标的科目映射关系可以为:机构D-成本中心T-科目1002-子目T-渠道T-产品T-往来T-现金流T-备用(1)T-备用(2)T,该实施例中,可解析出上述科目映射关系,从而得到各个关联的科目,机构D→成本中心T→科目1002→子目T→渠道T→产品T→往来T→现金流T-备用(1)T→备用(2)T,以及映射关系中的各个科目。再解析获取到的字段取值规则信息,得到各个关联科目对应的取值规则,然后为各个关联科目对应的取值规则,为各个关联科目配置对应的特征标识,也就是说,上述每个关联科目对应的取值规则,用某个特征标识进行表示。比如,上述映射关系中的取值规则,按照关联关系分别用:D、N、9、N、N、N、N、N、N、N表示,最后通过科目映射关系中各关联科目的所属关系,依次对各个关联科目配置对应的特征标识进行组合,得到预设指标的科目组合类型,那么编译得到的财务指标的科目组合类型是:DN9NNNNNNN。
其中,该DN9NNNNNNN中的各个字符分别表征了上述各科目的字段取值规则信息,其中,D代表需对机构D所获取的指标数据进行分组汇总,N代表取全部指标数据的意思,例如,取成本中心T下所有的该预设指标的有关联的关联数据,9代表汇总值,1代表明细值。
该实施例中,特征标识用字母或数字表达,实际在其他实施例中,也可是其他字符或组合字符表达,具体不做限定。只要通过组合的关系和特征表示,能够识别出各关联科目的关联关系和取值规则,便于后续解析便行。另外值得说明的是,上述示例在此也仅为示例性说明,并不对本申请实施例造成限定。
在一实施方式中,步骤S40中,也即按照科目组合类型的配置特征,确定目标财务指标对应的SQL分词,具体包括如下步骤:
S41:按照科目组合类型的配置特征,解读出SQL语句查询结构信息,SQL语句查询结构信息包括预设指标的SQL分词信息;
S42:按照SQL分词信息,从SQL分词库中查询出预设指标的SQL分词。
如前述解释,预设指标的科目组合类型的配置特征,是表征了各个关联科目的取值规则的,通过解析科目组合类型的配置特征,就可以解读出对应的SQL语句查询结构信息,SQL语句查询结构信息包括了预设指标的SQL分词信息,然后,按照SQL分词信息,从SQL分词库中查询出预设指标的SQL分词,通过查询出的所有SQL分词,组合成预设指标对应的SQL语句脚本。
例如,SQL分词可包括SELECT、FROM、WHERE和GROUP BY等分词,那么预设指标对应的SQL语句的基本查询结构可如下:
SELECT字句中添加机构段作为查询结果
FROM字句中添加科目段的汇总关系表
WHERE字句中添加科目段的取值限制
在GROUP BY中添加机构段作为分组条件
最后生成的SQL语句可如下:
SELECT gcc.segment1,--机构段
--省略
......
FROM gl.gl_balances gb,
gl.gl_code_combinations gcc,
CUX.circ_p2c_account_map cpm,
fnd_flex_value_hierarchies ffvh3--科目段汇总层级表
WHERE gb.code_combination_id=gcc.code_combination_id
AND gb.ledger_id=2041
AND gb.currency_code='CNY'
AND gb.actual_flag='A'
AND gb.period_name='2018-02'
AND gcc.summary_flag='N'
and cpm.combination_type=‘DN9NNNNNNN’
--科目段取值范围限制
AND ffvh3.flex_value_set_id=1014869
AND ffvh3.parent_flex_value=cpm.segment3
AND gcc.segment3 BETWEEN ffvh3.child_flex_value_low AND
ffvh3.child_flex_value_high
GROUP BY gcc.segment1
该实施例中,通过利用特征标识的方式组合预设指标的科目组合类型,再通过解析科目组合类型配置特征,利用从SQL分词库中查询出的配置特征匹配的SQL分词自动生成最终的SQL语句,提供了一种具体生成SQL语句脚本的方式,便利快捷,无需用户自行构造SQL语句,无需用户针对每个指标数据定义一个取数方式并依据取数方式特点编写对应的SQL语句,降低了开发人员的工作量巨大,系统可维护性比较,仅需配置好字段取值规则信息和提供科目映射关系便行,相对于用户一个个针对不同的指标数据编写SQL语句而言,还是极大的提高了处理效率。
在一实施方式中,目标指标包括多个,也就是数据查询指令是用于查询多个目标指标的查询指令,对应的,会根据这多个不同的目标指标的指标表示从预先存储的SQL语句脚本中,对应查询出多个目标指标对应的多个目标SQL语句脚本,步骤S80中,也即执行目标SQL语句脚本,以获取目标指标对应的指标数据,包括如下步骤:并行执行多个目标指标对应的多个目标SQL语句脚本,以获取多个目标指标对应的指标数据。该实施例中,当同时有大量的指标需一起查询时,可以并行查询对应的多个目标SQL语句脚本且并行执行,可满足大量指标的查询需求,且能够比较块的响应,提高了查询效率。
在一实施方式中,步骤S80之后,也即执行目标SQL语句脚本,以获取目标指标对应的指标数据之后,还包括如下步骤:记录目标SQL语句脚本的执行状态,执行状态包括目标SQL语句脚本的执行起始时间、执行截止时间和执行时长。该实施例中,对于每一次目标指标的查询,都会记录其相应的目标SQL语句脚本的状态,一方面是可用于追溯每一次的查询情况,另外有利于验证该指标的SQL语句脚本的执行情况,便于后续对预存的SQL语句脚本的更改或维护,提高稳定性。
在一实施例中,如图5所示,步骤S60中,也即对预设指标的指标标识,和对应的SQL语句脚本进行关联存储,具体包括如下步骤:
S61:根据预设指标的所属指标类型,为预设指标分配对应的执行微服务器;其中,不同指标类型分配有不同的执行微服务器。
S62:将预设指标的指标标识,和预设指标对应的SQL语句脚本关联同步至预设指标对应的执行微服务器。
那么步骤S70中,也即根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据,包括如下步骤:
S71:根据目标指标的指标类型,确定目标指标对应的目标执行微服务器;调用目标微服务器,以使目标微服务器根据目标指标的指标标识,调用目标指标出对应的目标SQL语句脚本并执行;
S72:接收目标微服务器反馈回的目标指标对应的指标数据。
该实施例中,由于预设指标的指标类型众多,为了更合适的查询数据,加快查询速度,本申请实施例中会针对每种不同类型的指标类型设置对应的执行微服务器,比如财务指标对应一个执行微服务器,其他类型的指标对应一个执行微服务器,那么会根据预设指标的所属指标类型,为预设指标分配对应的执行微服务器;其中,不同指标类型分配有不同的执行微服务器,将预设指标的指标标识,和预设指标对应的SQL语句脚本关联同步至预设指标对应的执行微服务器,最后,在调用的时候,根据目标指标的指标类型,确定目标指标对应的目标执行微服务器;调用目标微服务器,以使目标微服务器根据目标指标的指标标识,调用目标指标出对应的目标SQL语句脚本并执行,使得该目标微服务器获取到目标指标对应的指标数据;再接收目标微服务器反馈回的目标指标对应的指标数据。
该实施例中,通过设定执行微服务器的方式,分散众多指标的查询压力,有利于提高查询数据的速度和响应效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种基于动态SQL语句的指标数据获取装置,该基于动态SQL语句的指标数据获取装置与上述实施例中基于动态SQL语句的指标数据获取方法一一对应。如图6所示,该基于动态SQL语句的指标数据获取装置包括获取模块101、编译模块102、解析模块103、确定模块104、生成模块105、存储模块106、查询模块107和执行模块108。各功能模块详细说明如下:
获取模块101,用于获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射;
编译模块102,用于对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;
解析模块103,用于解析科目组合类型,以获取科目组合类型的配置特征;
确定模块104,用于按照配置特征,确定预设指标对应的SQL分词;
生成模块105,用于通过SQL分词,生成预设指标对应的SQL语句脚本;
存储模块106,用于对预设指标的指标标识,和对应的SQL语句脚本进行关联存储;
查询模块107,用于当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;
执行模块108,用于执行目标SQL语句脚本,以获取目标指标对应的指标数据。
在一实施例中,获取模块101具体用于:
接收用户的指标配置请求,指标配置请求用于指示对预设指标类型的预设指标进行配置;
响应指标配置请求,以渲染出预设指标类型对应的指标配置界面;
响应配置人员针预设指标的配置,以配置出预设指标的科目映射关系和各科目的字段取值规则信息;
对各科目的字段取值规则信息进行合法性校验;
根据配置出的科目映射关系,和通过合法性校验的各科目的字段取值规则信息生成预设指标的配置。
在一实施例中,编译模块102具体用于:
解析科目映射关系,得到预设指标的各个关联科目,并解析字段取值规则信息,得到各个关联科目对应的取值规则;
根据各个关联科目对应的取值规则,为各个关联科目配置对应的特征标识;
通过科目映射关系中各关联科目的所属关系,依次对各个关联科目配置对应的特征标识进行组合,得到预设指标的科目组合类型。
在一实施例中,确定模块104具体用于:
按照配置特征,解读出SQL语句查询结构信息,SQL语句查询结构信息包括预设指标的SQL分词信息;
按照SQL分词信息,从SQL分词库中查询出预设指标的SQL分词。
在一实施例中,目标指标包括多个,执行模块108具体用于:
并行执行多个目标指标对应的多个目标SQL语句脚本,以获取多个目标指标对应的指标数据。
在一实施例中,指标数据获取装置还包括记录模块,该记录模块具体用于:记录目标SQL语句脚本的执行状态,执行状态包括目标SQL语句脚本的执行起始时间、执行截止时间和执行时长。
在一实施例中,存储模块106具体用于:
根据预设指标的所属指标类型,为预设指标分配对应的执行微服务器;其中,不同指标类型分配有不同的执行微服务器;
将预设指标的指标标识,和预设指标对应的SQL语句脚本关联同步至预设指标对应的执行微服务器;
根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据,包括:
根据目标指标的指标类型,确定目标指标对应的目标执行微服务器;
调用目标微服务器,以使目标微服务器根据目标指标的指标标识,调用目标指标出对应的目标SQL语句脚本并执行;
接收目标微服务器反馈回的目标指标对应的指标数据。
关于指标数据获取装置的具体限定可以参见上文中对于指标数据获取方法的限定,在此不再赘述。上述指标数据获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储指标数据获取方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种指标数据获取方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射;
对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;
解析科目组合类型,以获取科目组合类型的配置特征;
按照配置特征,确定预设指标对应的SQL分词;
通过SQL分词,生成预设指标对应的SQL语句脚本;
对预设指标的指标标识,和对应的SQL语句脚本进行关联存储;
当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
获取预设指标的科目映射关系,和预设指标的各科目的字段取值规则信息,科目映射关系用于表征预设指标对应的指标数据的来源映射;
对科目映射关系和字段取值规则信息的进行编译,生成预设指标对应的科目组合类型;
解析科目组合类型,以获取科目组合类型的配置特征;
按照配置特征,确定预设指标对应的SQL分词;
通过SQL分词,生成预设指标对应的SQL语句脚本;
对预设指标的指标标识,和对应的SQL语句脚本进行关联存储;
当接收到针对目标指标的数据查询指令时,根据目标指标的指标标识从预先存储的SQL语句脚本中,查询出目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取目标指标对应的指标数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于动态SQL语句的指标数据获取方法,其特征在于,包括:
获取预设指标的科目映射关系,和所述预设指标的各科目的字段取值规则信息,所述科目映射关系用于表征所述预设指标对应的指标数据的来源映射;
对所述科目映射关系和所述字段取值规则信息的进行编译,生成所述预设指标对应的科目组合类型;
解析所述科目组合类型,以获取所述科目组合类型的配置特征;
按照所述配置特征,确定所述预设指标对应的SQL分词;
通过所述SQL分词,生成所述预设指标对应的SQL语句脚本;
对所述预设指标的指标标识,和所述对应的SQL语句脚本进行关联存储;
当接收到针对目标指标的数据查询指令时,根据所述目标指标的指标标识从预先存储的SQL语句脚本中,查询出所述目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取所述目标指标对应的指标数据。
2.如权利要求1所述的指标数据获取方法,其特征在于,所述获取预设指标的科目映射关系,和所述预设指标的各科目的字段取值规则信息,包括:
接收用户的指标配置请求,所述指标配置请求用于指示对预设指标类型的预设指标进行配置;
响应指标配置请求,以渲染出所述预设指标类型对应的指标配置界面;
响应配置人员针所述预设指标的配置,以配置出所述预设指标的科目映射关系和各科目的字段取值规则信息;
对所述各科目的字段取值规则信息进行合法性校验;
根据配置出的科目映射关系,和通过合法性校验的所述各科目的字段取值规则信息生成所述预设指标的配置。
3.如权利要求1所述的指标数据获取方法,其特征在于,所述对所述科目映射关系和所述字段取值规则信息的进行编译,生成所述预设指标对应的科目组合类型,包括:
解析所述科目映射关系,得到所述预设指标的各个关联科目,并解析所述字段取值规则信息,得到所述各个关联科目对应的取值规则;
根据所述各个关联科目对应的取值规则,为所述各个关联科目配置对应的特征标识;
通过所述科目映射关系中各关联科目的所属关系,依次对所述各个关联科目配置对应的特征标识进行组合,得到所述预设指标的科目组合类型。
4.如权利要求1所述的指标数据获取方法,其特征在于,所述按照所述配置特征,确定所述预设指标对应的SQL分词,包括:
按照所述配置特征,解读出SQL语句查询结构信息,SQL语句查询结构信息包括预设指标的SQL分词信息;
按照SQL分词信息,从SQL分词库中查询出预设指标的SQL分词。
5.如权利要求1所述的指标数据获取方法,其特征在于,所述目标指标包括多个,所述执行目标SQL语句脚本,以获取所述目标指标对应的指标数据,包括:
并行执行多个目标指标对应的多个目标SQL语句脚本,以获取多个目标指标对应的指标数据。
6.如权利要求1所述的指标数据获取方法,其特征在于,所述执行目标SQL语句脚本,以获取所述目标指标对应的指标数据之后,所述方法还包括:
记录所述目标SQL语句脚本的执行状态,所述执行状态包括所述目标SQL语句脚本的执行起始时间、执行截止时间和执行时长。
7.如权利要求1-6任一项所述的指标数据获取方法,其特征在于,所述对所述预设指标的指标标识,和所述对应的SQL语句脚本进行关联存储,包括:
根据预设指标的所属指标类型,为预设指标分配对应的执行微服务器;其中,不同指标类型分配有不同的执行微服务器;
将预设指标的指标标识,和预设指标对应的SQL语句脚本关联同步至预设指标对应的执行微服务器;
所述根据所述目标指标的指标标识从预先存储的SQL语句脚本中,查询出所述目标指标出对应的目标SQL语句脚本;并执行目标SQL语句脚本,以获取所述目标指标对应的指标数据,包括:
根据所述目标指标的指标类型,确定所述目标指标对应的目标执行微服务器;
调用所述目标微服务器,以使所述目标微服务器根据所述目标指标的指标标识,调用所述目标指标出对应的目标SQL语句脚本并执行;
接收所述目标微服务器反馈回的所述目标指标对应的指标数据。
8.一种基于动态SQL语句的指标数据获取装置,其特征在于,包括:
获取模块,用于获取预设指标的科目映射关系,和所述预设指标的各科目的字段取值规则信息,所述科目映射关系用于表征所述预设指标对应的指标数据的来源映射;
编译模块,用于对所述科目映射关系和所述字段取值规则信息的进行编译,生成所述预设指标对应的科目组合类型;
解析模块,用于解析所述科目组合类型,以获取所述科目组合类型的配置特征;
确定模块,用于按照所述配置特征,确定所述预设指标对应的SQL分词;
生成模块,用于通过所述SQL分词,生成所述预设指标对应的SQL语句脚本;
存储模块,用于对所述预设指标的指标标识,和所述对应的SQL语句脚本进行关联存储;
查询模块,用于当接收到针对目标指标的数据查询指令时,根据所述目标指标的指标标识从预先存储的SQL语句脚本中,查询出所述目标指标出对应的目标SQL语句脚本;
执行模块,用于执行目标SQL语句脚本,以获取所述目标指标对应的指标数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的指标数据获取方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的指标数据获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910356.3A CN115220731A (zh) | 2022-07-29 | 2022-07-29 | 指标数据获取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910356.3A CN115220731A (zh) | 2022-07-29 | 2022-07-29 | 指标数据获取方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220731A true CN115220731A (zh) | 2022-10-21 |
Family
ID=83616335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210910356.3A Pending CN115220731A (zh) | 2022-07-29 | 2022-07-29 | 指标数据获取方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115220731A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115826928A (zh) * | 2022-12-20 | 2023-03-21 | 东方邦信金融科技(上海)有限公司 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
-
2022
- 2022-07-29 CN CN202210910356.3A patent/CN115220731A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115826928A (zh) * | 2022-12-20 | 2023-03-21 | 东方邦信金融科技(上海)有限公司 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
CN115826928B (zh) * | 2022-12-20 | 2024-03-22 | 东方邦信金融科技(上海)有限公司 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665171B (zh) | 自动回归测试方法及装置 | |
CN110704297B (zh) | 代码评审方法、装置、计算机设备及存储介质 | |
US9720806B1 (en) | Generating stable file location identifiers for reference to locations in a file | |
CN108345658B (zh) | 算法计算轨迹的分解处理方法、服务器及存储介质 | |
CN111159016A (zh) | 一种规范检测方法及装置 | |
CN108074033A (zh) | 指标数据的处理方法、系统、电子设备和存储介质 | |
CN113760891A (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN114493551B (zh) | 一种合同的生成方法及装置、电子设备、存储介质 | |
CN114168565B (zh) | 业务规则模型的回溯测试方法、装置、系统及决策引擎 | |
CN115220731A (zh) | 指标数据获取方法、装置、计算机设备及存储介质 | |
CN115357590A (zh) | 针对数据变更的记录方法、装置、电子设备及存储介质 | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN112559914A (zh) | 指标数据显示方法及装置 | |
CN114860305A (zh) | 数据处理方法和装置 | |
CN114968725A (zh) | 任务依赖关系校正方法、装置、计算机设备及存储介质 | |
CN114691768A (zh) | 一种数据处理方法、核算系统及相关设备 | |
CN112001792B (zh) | 配置信息一致性检测方法及装置 | |
CN114116268A (zh) | Flink SQL语句的校验方法、装置、计算机设备和存储介质 | |
CN112749541A (zh) | 数据校验系统、方法、装置、电子设备和计算机可读介质 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN117171816B (zh) | 基于工业标识的数据验证方法及相关设备 | |
CN114327377B (zh) | 需求跟踪矩阵生成方法、装置、计算机设备及存储介质 | |
CN117829121B (zh) | 数据处理方法、装置、电子设备和介质 | |
CN115826928B (zh) | 程序生成方法、系统、电子设备及计算机可读存储介质 | |
CN113760654B (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 |