CN112862334A - 基于语法分析树的指标体系构建方法、装置及计算机设备 - Google Patents
基于语法分析树的指标体系构建方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112862334A CN112862334A CN202110193447.5A CN202110193447A CN112862334A CN 112862334 A CN112862334 A CN 112862334A CN 202110193447 A CN202110193447 A CN 202110193447A CN 112862334 A CN112862334 A CN 112862334A
- Authority
- CN
- China
- Prior art keywords
- index
- tree
- preset
- indexes
- request
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Abstract
本发明公开了一种基于语法分析树的指标体系构建方法、装置及计算机设备,该方法包括:接收用户发送的指标体系的构建请求并根据构建请求调用预置的指标生成工具;启动指标生成工具并接收所述用户发送生成指标的生成请求;根据预设的解析规则对所述生成请求进行解析并将解析得到语法分析树在指标生成工具中生成指标的SQL语句;根据指标的SQL语句在预置的大数据平台中进行数据查询并将得到的评分值以及指标的SQL语句存储至预设的指标库中以形成所述指标体系。本发明基于数据查询技术,该方法无需熟悉指标体系的业务逻辑便可实现指标体系的构建,提高了指标体系构建的效率,节省了业务分析的成本。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于语法分析树的指标体系构建方法、装置及计算机设备。
背景技术
指标体系是指由若干个反映社会经济现象总体数量特征的相对独立又相互联系的统计指标所组成的有机整体。指标体系的建立是进行预测或评价研究的前提和基础,它是将抽象的研究对象按照其本质属性和特征的某一方面的标识分解成为具有行为化、可操作化的结构,并对指标体系中每一构成元素(即指标)赋予相应权重的过程。现有技术构建指标体系的过程中,技术人员需要提前了解并熟悉指标体系所在领域的状况,例如在构建司法领域中的司法业务的指标体系时,需要耗费大量时间对司法领域的业务逻辑进行熟悉,导致耗时费力,效率低下。
发明内容
针对上述技术问题,本发明实施例提供了一种基于语法分析树的指标体系构建方法、装置及计算机设备,通过该方法在构建司法业务的指标体系时,无需熟悉指标体系所属领域的业务逻辑,提高了指标体系构建的效率。
第一方面,本发明实施例提供了一种基于语法分析树的指标体系构建方法,其包括:
接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;
启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;
根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;
根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;
根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;
将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
第二方面,本发明实施例提供了一种基于语法分析树的指标体系构建装置,其包括:
接收单元,用于接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;
启动单元,用于启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;
解析单元,用于根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;
第一生成单元,用于根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;
查询单元,用于根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;
存储单元,用于将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
第三方面,本发明实施例又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于语法分析树的指标体系构建方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于语法分析树的指标体系构建方法。
本发明实施例提供了一种基于语法分析树的指标体系构建方法、装置及计算机设备,该方法通过接收用户发送的指标体系的构建请求,调用预置的指标生成工具并在所述指标生成工具中根据用户发送生成指标的生成请求生成语法分析树,通过根据语法分析树生成指标的SQL语句并将指标的SQL语句在预置的大数据平台中进行数据查询,将查询得到的评分值以及SQL语句存储至预设的指标库中以便可形成指标体系。通过该方法在构建指标体系时,通过用户输入的生成请求生成语法分析树并根据语法分析树自动构建指标的SQL语句,无需技术人员熟悉该指标体系的业务逻辑,便可实现指标体系中的指标构建,提高了指标体系构建的效率,节省了指标体系所属领域的业务分析的成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于语法分析树的指标体系构建方法的流程示意图;
图2为本发明实施例提供的基于语法分析树的指标体系构建方法的子流程示意图;
图3为本发明实施例提供的基于语法分析树的指标体系构建方法的另一子流程示意图;
图4为本发明实施例提供的基于语法分析树的指标体系构建方法的另一子流程示意图;
图5为本发明实施例提供的基于语法分析树的指标体系构建方法的另一子流程示意图;
图6为本发明实施例提供的基于语法分析树的指标体系构建装置的示意性框图;
图7为本发明实施例提供的基于语法分析树的指标体系构建装置的子单元示意性框图;
图8为本发明实施例提供的基于语法分析树的指标体系构建装置的另一子单元示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于语法分析树的指标体系构建方法的流程示意图。该基于语法分析树的指标体系构建方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。下面对所述的基于语法分析树的指标体系构建方法进行详细说明。
如图1所示,该方法包括以下步骤S110~S160。
S110、接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建。
接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建。具体的,所述构建请求为用户向服务器发送构建所述指标体系的指令信息,Antlr框架为Java,C++,C#等语言提供一个通过语法描述来自动构造自定义语言的开源框架,所述指标生成工具包括语言识别器,词法分析器和语法分析器,服务器在接收到用户发送的所述构建请求后,便可启动构建所述指标生成工具,所述指标生成工具启动后,通过所述指标生成工具中的语言识别器对用户输入的指标生成请求进行语言识别,然后采用词法分析器以及语法分析器构建所述生成请求的语法分析树并通过所述生成请求的语法分析树自动构建所述指标的SQL语句,最后通过所述指标的SQL语句在预置的大数据平台中执行数据查询,进而得到所述指标的评分值,最后通过所述指标的SQL语句以及评分值构建所述指标体系。
S120、启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求。
启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求。具体的,所述生成请求为所述用户向服务器发送请求生成所述指标的SQL语句的指令信息,其中,所述生成请求包括请求生成所述指标的请求信息和所述指标的名称信息,例如,当所述生成请求为生成司法业务指标时,通过所述生成请求便可在所述指标生成工具中生成所述司法业务指标的SQL语句,进而构建所述司法业务的指标体系。
S130、根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树。
根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树。在本实施例中,所述解析规则为用于对所述生成请求中指标名称的源代码进行识别解析以生成指标名称的语法分析树的规则信息,所述语法分析树通过图形方式展现所述指标名称从文法的开始符号推导出相应语言中的符号串的过程,所述语法分析树通过源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,所述语法分析树的节点中包含两部分内容:叶子节点与非叶子节点,叶子节点对应于语法成分中的原子,非叶子节点对应语法成分中的语法类,原子在所述语法分析树中为不可再拆分的部分,没有子节点,对应的内容可以为关键字、表名、属性的名称、常量值、别名、运算符号(包括加、减、乘、除)等;语法类在所述语法分析树中为可以继续拆分成语法类或原子的部分,拥有子节点(为叶子节点或非叶子节点),其表示的内容为查询语句中有着相似作用的子查询的集合。
在另一实施例中,如图2所示,步骤S130包括子步骤S131和S132。
S131、根据预置的词法分析器对所述生成请求进行词法分析,得到所述生成请求的单词序列。
根据预置的词法分析器对所述生成请求进行词法分析,得到所述生成请求的单词序列。在本实施例中,所述词法分析器采用Anltr生成的词法分析器,通过所述词法分析器将所述生成请求中指标名称的字符序列转换为单词序列,所述词法分析器从左至右地对所述生成请求中指标名称的源代码进行扫描,按照语言的词法规则对指标名称中的每个字符进行识别,进而得到指标名称的单词序列,其中所述词法分析器以函数的形式存在并供语法分析器调用。
S132、根据预置的语法分析器对所述单词序列进行语法分析,得到所述语法分析树。
根据预置的语法分析器对所述单词序列进行语法分析,得到所述语法分析树。具体的,所述语法分析器为用于根据某种给定的形式文法对经词法分析器进行词法分析后的单词序列进行分析以确定生成请求语法结构,即语法分析是在词法分析的基础上,按照某种给定的形式文法规则将单词序列组合成程序、语句、表达式等各类语法短语以构造出语法分析树的过程。在本实施例中,若所述指标体系为司法业务的指标体系,所述语法分析器采用Anltr生成的语法分析器,所述语法分析器在对词法分析后的单词序列进行语法检查后,采用自上而下分析法对所述单词序列进行语法分析以形成所述语法分析树,即根据预设文法的开始符号进行推导,直至推导出的符号串与输入的单词序列相匹配并通过该符号串形成所述语法分析树,其中,所述预设文法为司法领域预先制定的用来描述语言的语法成分结构构造的形式规则。
S140、根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句。
根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句。具体的,服务器根据所述生成请求生成所述语法分析树后,通过遍历所述语法分析树,进而从所述语法分析树的叶子节点中识别出属性名称、表名,然后根据该表名从所述指标生成工具中获取预设的属性表,通过所述属性表便可获取识别出的属性名称的属性值,其中,所述属性表中的属性值为所述指标的SQL语句中语法类的属性,通过所述属性值便可生成所述指标的SQL语句。其中,SQL(结构化查询语言,Structured Query Language)是一种数据库查询和程序设计语言,SQL语句可用于存取数据以及查询、更新和管理关系数据库系统。
在另一实施例中,如图3所示,步骤S140包括子步骤S141和S142。
S141、根据所述语法分析树从所述指标生成工具中获取生成所述指标的SQL语句的多个属性值。
根据所述语法分析树从所述指标生成工具中获取生成所述指标的SQL语句的多个属性值。具体的,遍历所述语法分析树后,可从所述语法分析树的叶子节点中获取多个属性名称,然后从属性表中获取每个属性名称的属性值,便可得到所述指标的SQL语句的多个属性值,进而便可生成所述指标的SQL语句。其中,所述多个属性名称为在所述生成请求中指标名称的语法分析树时,通过将所述指标名称进行语法分析而形成所述语法分析树的叶子节点。
在另一实施例中,如图4所示,步骤S141包括子步骤S1411和S1412。
S1411、根据所述语法分析树的叶子节点中的表名从所述指标生成工具中获取生成所述指标的SQL语句的属性表。
根据所述语法分析树的叶子节点中的表名从所述指标生成工具中获取生成所述指标的SQL语句的属性表。具体的,由于所述语法分析树的节点中包含两部分内容:叶子节点与非叶子节点。其中,叶子节点对应于语法成分中的原子,原子在所述语法分析树中为不可再拆分的部分,没有子节点,对应的内容可以为关键字、表名、属性的名称、常量值、别名、运算符号(包括加、减、乘、除)等,通过定位所述语法分析树的叶子节点中的表名,例如,在涉及到司法业务指标的构建时,表名称为司法业务,便可从所述指标生成工具中获取名称为司法业务的属性表,其中,所述语法分析树的叶子节点中的表名为所述单词序列进行语法分析时,通过预设的文法进行推导得到。例如,若所述指标体系为司法领域的指标体系,所述指标体系既可以为司法业务指标体系,也可为司法运营指标体系,因此在生成所述指标名称的语法分析树的过程中,可根据预设文法对所述指标名称的单词序列进行推导,进而得出所述指标为司法业务指标体系中的指标,还是司法运营指标体系中的指标。若推导出所述指标为司法业务指标体系中的指标,则所述语法分析树的叶子节点中会存在与所述指标名称相匹配的表名,进而通过该表名便可从所述指标生成工具中获取所述指标的SQL语句的属性表。其中,司法业务指标体系中的指标的SQL语句的属性表如表1:
表1
S1412、根据所述语法分析树的叶子节点中的属性名称从所述属性表中获取所述多个属性值。
根据所述语法分析树的叶子节点中的属性名称从所述属性表中获取所述多个属性值。在本实施例中,通过对所述语法分析树进行遍历后,便可从所述语法分析树的叶子节点中获取多个属性名称,每一属性名称在所述属性表中存在一个属性值,因此在获取所述属性表后,通过所述语法分析树的叶子节点中的每一属性名称在所述属性表中进行查找,便可获取每一属性名称对应的属性值,进而获取所述多个属性值。例如,当用户输入的司法业务指标名称为法院本期系列案案件已结案宗数时,则所述语法分析树的叶子节点中的属性名称包括:法院、本期、系列案案件、案件、系列案案件宗数、已结,通过所述属性名称从所述属性表中进行查找,便可从所述属性表中获取法院的属性值、本期的属性值、系列案案件的属性值、案件的属性值、系列案案件宗数的属性值、已结的属性。
S142、根据所述指标的SQL语句的多个属性值生成所述指标的SQL语句。
根据所述指标的SQL语句的多个属性值生成所述指标的SQL语句。具体的,服务器在遍历所述语法分析树的过程中,获取所述语法分析树中每一属性名称所属的非叶子节点并通过该非叶子节点的语法将所述多个属性值转换成SQL语句结构的表达式,从而得到所述指标的SQL语句。
在另一实施例中,如图5所示,步骤S142包括子步骤S1421、S1422、S1423和S1424。
S1421、根据所述语法分析树的叶子节点确定所述指标的类型。
根据所述语法分析树的叶子节点确定所述指标的类型。具体的,通常所述指标包括基础指标和衍生指标两种类型,其中,基础指标为所述指标体系中底层的指标,衍生指标是所述指标体系中底层以上的指标,衍生指标是基于多个基础指标进行计算而得到,即衍生指标的SQL语句通过多个基础指标的SQL语句通过运算符号进行拼接得到。在本实施例中,遍历所述语法分析树的叶子节点中是否存在运算符号(包括加、减、乘、除)以判断出所述指标的类型。若不存在运算符号,则可得到所述指标为基础指标,即可直接通过所述语法分析树中每一属性名称所属的非叶子节点的语法将所述多个属性值转换成SQL语句结构的表达式以得到所述指标的SQL语句;若存在运算符号,则可得到所述指标为衍生指标,根据所述语法分析树中的非叶子节点的语法将所述多个属性值转化为指标的多个子SQL语句并根据所述叶子节点中的运算符号对所述多个子SQL语句进行拼接,便可得到所述指标的SQL语句。
S1422、若所述指标为基础指标,根据所述语法分析树中非叶子节点处的语法将所述多个属性值转化为所述指标的SQL语句。
若所述指标为基础指标,根据所述语法分析树中非叶子节点处的语法将所述多个属性值转化为所述指标的SQL语句。具体的,所述语法分析树中非叶子节点处的语法用于构成该非叶子节点的处表达式,即语法分析树中每一个非叶子节点均可通过该处的语法构成一个表达式。当确定所述指标为基础指标时,所述语法分析树的叶子节点中所有的属性名称处于同一非叶子节点中,故只需通过该非叶子节点处的语法便可将每一个属性名称对应属性值转换成所述指标的表达式,即所述指标的SQL语句。
S1423、若所述指标为衍生指标,根据所述语法分析树中非叶子节点处的语法将所述多个属性值转化为指标的多个子SQL语句。
若所述指标为衍生指标,根据所述语法分析树中非叶子节点处的语法将所述多个属性值转化为指标的多个子SQL语句。具体的,当确定所述指标为衍生指标时,所述语法分析树的多个非叶子节点中均存在属性名称,通过将每个非叶子节点中属性名称对应的属性值采用相应的语法进行转换,便可得到多个子SQL语句,其中每个子SQL语句为所述指标的基础指标的SQL语句,然后将所述多个子SQL语句进行拼接便可得到所述指标的SQL语句。
S1424、根据所述叶子节点中的运算符号对所述多个子SQL语句进行拼接,得到所述指标的SQL语句。
根据所述叶子节点中的运算符号对所述多个子SQL语句进行拼接,得到所述指标的SQL语句。具体的,所述叶子节点中的运算符号所属的非叶子节点高于所述语法分析树中属性名称所属的非叶子节点,将每个非叶子节点中属性名称对应的属性值采用相应的语法进行转换以得到多个子SQL语句后,将所述多个子SQL语句采用所述叶子节点中的运算符号进行拼接,便可得到所述指标的SQL语句。
S150、根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值。
根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值。具体的,将所述指标的SQL语句配置到所述大数据平台的Shell脚本中进行查询,便可得到所述指标的评分值,其中,Shell脚本(shell script)为一种命令语言的脚本程序,通过Shell脚本在所述大数据平台中进行数据采集,然后将采集到的数据使用所述指标的SQL语句进行查询,便可得到所述指标的评分值,其中所述评分值为所述指标的SQL语句在所述大数据平台中进行数据查询后以得到用于表征所述指标的数值。所述指标的SQL语句在进行查询过程中,若所述指标为基础指标,可直接通过所述指标的SQL语句进行数据查询;若所述指标为衍生指标,需通过所述指标的SQL语句的多个子SQL语句进行数据查询,查询得到多个数值后,通过所述指标的SQL语句中的运算符号对查询到的多个数据进行SQL计算,便可得到所述指标的评分值。
S160、将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。具体的,所述指标库为用于存储所述指标体系中指标的元数据库,通过将所述指标体系中所有的指标的SQL语句以及对应的指标计算结果以可视化的方式存储于所述指标库中后,便可形成所述指标体系。
在另一实施例中,步骤S160之后,还包括步骤:根据预设的调度规则调度配置有所述指标的SQL语句的Shell脚本以对所述指标体系进行更新。
根据预设的调度规则调度配置有所述指标的SQL语句的Shell脚本以对所述指标体系进行更新。具体的,所述调度规则为用于定时调度配置有所述指标的SQL语句的Shell脚本自动在所述大数据平台中进行数据采集以供所述指标的SQL语句进行查询计算的规则信息。在本实施例中,通过所述调度规则调度配置有司法业务指标的SQL语句的Shell脚本进行数据采集,以便于所述司法业务指标的SQL语句定时进行查询计算以更新所述司法业务指标,进而及时更新所述指标库中的司法业务的指标体系。
在本发明实施例所提供的基于语法分析树的指标体系构建方法中,通过接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。通过该方法在构建指标体系时,通过用户输入的生成请求生成语法分析树并根据语法分析树自动构建指标的SQL语句,无需技术人员熟悉该指标体系的业务逻辑,便可实现指标体系中的指标构建,提高了指标体系构建的效率,节省了指标体系所属领域的业务分析的成本。
本发明实施例还提供了一种基于语法分析树的指标体系构建装置100,该装置用于执行前述基于语法分析树的指标体系构建方法的任一实施例。
具体地,请参阅图6,图6是本发明实施例提供的基于语法分析树的指标体系构建装置100的示意性框图。
如图6所示,所述的基于语法分析树的指标体系构建装置100,该装置包括接收单元110、启动单元120、解析单元130、第一生成单元140、查询单元150、存储单元160和更新单元170。
接收单元110,用于接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建。
启动单元120,用于启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求。
解析单元130,用于根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树。
在其他发明实施例中,如图7所示,所述解析单元130包括:词法分析单元131和语法分析单元132。
词法分析单元131,用于根据预置的词法分析器对所述生成请求进行词法分析,得到所述生成请求的单词序列;语法分析单元132,用于根据预置的语法分析器对所述单词序列进行语法分析,得到所述语法分析树。
第一生成单元140,用于根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句。
在其他发明实施例中,如图8所示,所述第一生成单元140包括:第一获取单元141和第二生成单元142。
第一获取单元141,用于根据所述语法分析树从所述指标生成工具中获取生成所述指标的SQL语句的多个属性值。
在其他发明实施例中,所述第一获取单元141包括:第二获取单元1411和第三获取单元1412。
第二获取单元1411,用于根据所述语法分析树的叶子节点中的表名从所述指标生成工具中获取生成所述指标的SQL语句的属性表;第三获取单元1412,用于根据所述语法分析树的叶子节点中的属性名称从所述属性表中获取所述多个属性值。
第二生成单元142,用于根据所述指标的SQL语句的多个属性值生成所述指标的SQL语句。
在其他发明实施例中,所述第二生成单元142包括:确定单元1421、第一转化单元1422、第二转换单元1423和拼接单元1424。
确定单元1421,用于根据所述语法分析树的叶子节点确定所述指标的类型;第一转化单元1422,用于若所述指标为基础指标,根据所述语法分析树中的非叶子节点的语法将所述多个属性值转化为所述指标的SQL语句;第二转换单元1423,用于若所述指标为衍生指标,根据所述语法分析树中的非叶子节点的语法将所述多个属性值转化为指标的多个子SQL语句;拼接单元1424,用于根据所述叶子节点中的运算符号对所述多个子SQL语句进行拼接,得到所述指标的SQL语句。
查询单元150,用于根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值。
存储单元160,用于将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
更新单元170,用于根据预设的调度规则调度配置有所述指标的SQL语句的Shell脚本以对所述指标体系进行更新。
本发明实施例所提供的基于语法分析树的指标体系构建装置100用于执行上述接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。
参阅图9,该设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于语法分析树的指标体系构建方法。
该处理器502用于提供计算和控制能力,支撑整个设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于语法分析树的指标体系构建方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备500的限定,具体的设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
本领域技术人员可以理解,图9中示出的设备500的实施例并不构成对设备500具体构成的限定,在其他实施例中,设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,设备500可以仅包括存储器及处理器502,在这样的实施例中,存储器及处理器502的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器502、数字信号处理器502(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器502可以是微处理器502或者该处理器502也可以是任何常规的处理器502等。
在本发明的另一实施例中提供计算机存储介质。该存储介质可以为非易失性的计算机可读存储介质,也可以是易失性的存储介质。该存储介质存储有计算机程序5032,其中计算机程序5032被处理器502执行时实现以下步骤:接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备500(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于语法分析树的指标体系构建方法,其特征在于,包括以下步骤:
接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;
启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;
根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;
根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;
根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;
将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
2.根据权利要求1所述的基于语法分析树的指标体系构建方法,其特征在于,所述根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树,包括:
根据预置的词法分析器对所述生成请求进行词法分析,得到所述生成请求的单词序列;
根据预置的语法分析器对所述单词序列进行语法分析,得到所述语法分析树。
3.根据权利要求1所述的基于语法分析树的指标体系构建方法,其特征在于,所述根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句,包括:
根据所述语法分析树从所述指标生成工具中获取生成所述指标的SQL语句的多个属性值;
根据所述指标的SQL语句的多个属性值生成所述指标的SQL语句。
4.根据权利要求3所述的基于语法分析树的指标体系构建方法,其特征在于,所述根据所述语法分析树从所述指标生成工具中获取生成所述指标的SQL语句的多个属性值,包括:
根据所述语法分析树的叶子节点中的表名从所述指标生成工具中获取生成所述指标的SQL语句的属性表;
根据所述语法分析树的叶子节点中的属性名称从所述属性表中获取所述多个属性值。
5.根据权利要求3所述的基于语法分析树的指标体系构建方法,其特征在于,所述根据所述指标的多个属性值生成所述指标的SQL语句,包括:
根据所述语法分析树的叶子节点确定所述指标的类型;
若所述指标为基础指标,根据所述语法分析树中的非叶子节点的语法将所述多个属性值转化为所述指标的SQL语句;
若所述指标为衍生指标,根据所述语法分析树中的非叶子节点的语法将所述多个属性值转化为指标的多个子SQL语句;
根据所述叶子节点中的运算符号对所述多个子SQL语句进行拼接,得到所述指标的SQL语句。
6.根据权利要求1所述的基于语法分析树的指标体系构建方法,其特征在于,所述根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值,包括:
将所述指标的SQL语句配置到所述大数据平台的Shell脚本中进行查询,得到所述指标的评分值。
7.根据权利要求6所述的基于语法分析树的指标体系构建方法,其特征在于,所述将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系之后,还包括:
根据预设的调度规则调度配置有所述指标的SQL语句的Shell脚本以对所述指标体系进行更新。
8.一种基于语法分析树的指标体系构建装置,其特征在于,包括:
接收单元,用于接收用户发送的指标体系的构建请求并根据所述构建请求调用预置的指标生成工具;其中,所述指标生成工具根据Antlr框架构建;
启动单元,用于启动所述指标生成工具并在所述指标生成工具中接收所述用户发送生成指标的生成请求;
解析单元,用于根据预设的解析规则对所述生成请求进行解析,得到所述生成请求的语法分析树;
第一生成单元,用于根据所述语法分析树在所述指标生成工具中生成所述指标的SQL语句;
查询单元,用于根据所述指标的SQL语句在预置的大数据平台中进行数据查询,得到所述指标的评分值;
存储单元,用于将所述指标的SQL语句、所述指标的评分值存储至预设的指标库中以形成所述指标体系。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于语法分析树的指标体系构建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的基于语法分析树的指标体系构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110193447.5A CN112862334A (zh) | 2021-02-20 | 2021-02-20 | 基于语法分析树的指标体系构建方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110193447.5A CN112862334A (zh) | 2021-02-20 | 2021-02-20 | 基于语法分析树的指标体系构建方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112862334A true CN112862334A (zh) | 2021-05-28 |
Family
ID=75988379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110193447.5A Pending CN112862334A (zh) | 2021-02-20 | 2021-02-20 | 基于语法分析树的指标体系构建方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862334A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289373A (zh) * | 2011-07-28 | 2011-12-21 | 福建富士通信息软件有限公司 | 一种实现指标评价体系动态配置的方法 |
CN103455489A (zh) * | 2012-05-28 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 一种快速构建企业关键业绩指标的方法和系统 |
CN108664638A (zh) * | 2018-05-15 | 2018-10-16 | 口碑(上海)信息技术有限公司 | 基于指标体系的报表生成方法及装置 |
CN109740134A (zh) * | 2018-12-17 | 2019-05-10 | 泰康保险集团股份有限公司 | 报表生成方法及装置 |
CN110716953A (zh) * | 2019-10-10 | 2020-01-21 | 深圳前海微众银行股份有限公司 | Sql语句自动生成方法、装置、设备及可读存储介质 |
CN111241123A (zh) * | 2020-01-07 | 2020-06-05 | 深圳市华宇讯科技有限公司 | 视图数据查询方法、装置、服务器及存储介质 |
-
2021
- 2021-02-20 CN CN202110193447.5A patent/CN112862334A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289373A (zh) * | 2011-07-28 | 2011-12-21 | 福建富士通信息软件有限公司 | 一种实现指标评价体系动态配置的方法 |
CN103455489A (zh) * | 2012-05-28 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 一种快速构建企业关键业绩指标的方法和系统 |
CN108664638A (zh) * | 2018-05-15 | 2018-10-16 | 口碑(上海)信息技术有限公司 | 基于指标体系的报表生成方法及装置 |
CN109740134A (zh) * | 2018-12-17 | 2019-05-10 | 泰康保险集团股份有限公司 | 报表生成方法及装置 |
CN110716953A (zh) * | 2019-10-10 | 2020-01-21 | 深圳前海微众银行股份有限公司 | Sql语句自动生成方法、装置、设备及可读存储介质 |
CN111241123A (zh) * | 2020-01-07 | 2020-06-05 | 深圳市华宇讯科技有限公司 | 视图数据查询方法、装置、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
李爱武编著: "《基于LINUX的ORACLE数据库管理》", 北京邮电大学出版社, pages: 204 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN109582691B (zh) | 用于控制数据查询的方法和装置 | |
CN107515887B (zh) | 一种适用于多种大数据管理系统的交互式查询方法 | |
EP2562695A2 (en) | Self-learning semantic search engine | |
CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
CN109947791B (zh) | 一种数据库语句优化方法、装置、设备及存储介质 | |
WO2022052639A1 (zh) | 数据查询方法及装置 | |
CN111813798B (zh) | 基于r2rml标准的映射方法、装置、设备及存储介质 | |
KR20060093018A (ko) | 항목들 사이의 관계와의 상호작용을 위한 시스템 및 방법 | |
CN111078729B (zh) | 医疗数据溯源方法、装置、系统、存储介质以及电子设备 | |
CN114281968B (zh) | 一种模型训练及语料生成方法、装置、设备和存储介质 | |
CN113672628A (zh) | 数据血缘分析方法、终端设备及介质 | |
CN115016793A (zh) | 基于语法树的代码生成方法和装置、电子设备、存储介质 | |
CN112507089A (zh) | 一种基于知识图谱的智能问答引擎及其实现方法 | |
CN115221191A (zh) | 一种基于数据湖的虚拟列构建方法以及数据查询方法 | |
US10719663B2 (en) | Assisted free form decision definition using rules vocabulary | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
CN110716953B (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
CN116400910A (zh) | 一种基于api替换的代码性能优化方法 | |
CN113821496B (zh) | 数据库迁移方法、系统、设备及计算机可读存储介质 | |
CN112862334A (zh) | 基于语法分析树的指标体系构建方法、装置及计算机设备 | |
CN108008947B (zh) | 一种编程语句的智能提示方法、装置、服务器及存储介质 | |
CN113505143A (zh) | 语句类型的转换方法、装置、存储介质及电子装置 | |
CN111782781A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210528 |