CN108241624B - 一种查询脚本的生成方法及装置 - Google Patents

一种查询脚本的生成方法及装置 Download PDF

Info

Publication number
CN108241624B
CN108241624B CN201611205329.7A CN201611205329A CN108241624B CN 108241624 B CN108241624 B CN 108241624B CN 201611205329 A CN201611205329 A CN 201611205329A CN 108241624 B CN108241624 B CN 108241624B
Authority
CN
China
Prior art keywords
nodes
connection type
generating
connection
query
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
CN201611205329.7A
Other languages
English (en)
Other versions
CN108241624A (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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201611205329.7A priority Critical patent/CN108241624B/zh
Publication of CN108241624A publication Critical patent/CN108241624A/zh
Application granted granted Critical
Publication of CN108241624B publication Critical patent/CN108241624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2453Query optimisation

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

本发明公开了一种查询脚本的生成方法及装置,涉及计算机技术领域,主要目的是解决现有技术中查询脚本支持的表格连接方式过于单一的问题。所述方法包括:获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;根据选择的节点连接类型生成对应的分析树;根据所述分析树生成查询脚本。本发明主要用于查询脚本的生成。

Description

一种查询脚本的生成方法及装置
技术领域
本发明涉及计算机领域,尤其是一种查询脚本的生成方法及装置。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用,例如数据查询,当在软件系统中进行数据查询时需要生成数据库执行查询操作的脚本,进而通过生成的查询脚本来实现数据查询,
目前查询脚本生成方式主要通过生成对应功能的组件,进而在组件中输入查询参数生成数据库执行查询操作的脚本,然而在生成查询脚本过程中的组件仅支持内连接的表格连接方式,使得表格连接方式单一,导致组件的使用功能有局限性,从而使得查询脚本查询效率较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种查询脚本的生成方法及装置,用以解决现有技术中查询脚本支持的表格连接方式过于单一的问题。
一方面,本发明提供了一种查询脚本的生成方法,包括:
获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;
确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;
根据选择的节点连接类型生成对应的分析树;
根据所述分析树生成查询脚本。
进一步地,在获取元数据配置信息之前,所述方法还包括:
获取多种节点连接类型;
在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中。
进一步地,所述节点连接类型包括:
内连接、外连接和交叉连接中的至少两种。
进一步地,所述确定节点之间的连接类型,包括:
获取元数据描述信息;
根据所述元数据描述信息确定节点之间的连接类型。
进一步地,所述根据所述分析树生成查询脚本,包括:
接收查询参数;
读取所述分析树中每个节点对应的数据信息;
根据所述查询参数和所述数据信息,生成所述查询脚本。
另一方面,本发明提供一种查询脚本的生成装置,包括:
第一获取单元,用于获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;
确定单元,用于确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;
第一生成单元,用于根据选择的节点连接类型生成对应的分析树;
第二生成单元,用于根据所述分析树生成查询脚本。
进一步地,所述装置还包括:
第二获取单元,用于获取多种节点连接类型;
增加单元,用于在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中。
进一步地,所述节点连接类型包括:
内连接、外连接和交叉连接中的至少两种。
进一步地,所述确定单元包括:
获取模块,用于获取元数据描述信息;
确定模块,用于根据所述元数据描述信息确定节点之间的连接类型。
进一步地,所述第二生成单元包括:
接收模块,用于接收查询参数;
读取模块,用于读取所述分析树中每个节点对应的数据信息;
生成模块,用于根据所述查询参数和所述数据信息,生成所述查询脚本。
借由上述技术方案,本发明提供的一种查询脚本的生成方法及装置,首先获取元数据配置信息,这里的元数据配置信息中预先配置有多种节点连接类型选项,使得节点之间能够支持不同的连接类型,进一步确定节点之间的连接类型,从多种节点连接类型中选择相应的节点连接类型,从而根据选择的节点连接类型生成对应的分析树,使得生成的分析树能够支持多种节点连接方式,最后根据分析树生成查询脚本。与现有技术的查询脚本的生成方法相比,本发明实施例通过在构造分析树之前在元数据配置信息中预先配置不同的节点连接类型,使得生成的查询脚本能够支持更多节点连接方式,增强了节点之间的连接效果,从而提高查询脚本的查询效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种查询脚本的生成方法流程示意图;
图2示出了本发明实施例提供的另一种查询脚本的生成方法流程示意图;
图3示出了本发明实施例提供的一种查询脚本的生成装置的组成框图;
图4示出了本发明实施例提供的另一种查询脚本的生成装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种查询脚本的生成方法流程示意图,如图1所示,所述方法包括:
101、获取元数据配置信息。
其中,元数据配置信息中预先配置有多种节点连接类型选项,这里的节点连接类型可以包括但不局限于内连接、外连接和交叉连接中的至少两种,不同的节点连接类型生成不同连接类型的分析树,本发明实施例对连接类型的配置不做限定,具体根据实际需求进行配置。
102、确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型。
由于节点之间的连接类型连接的不同,所构造的分析树不同,对于上述的内连接使用运算符进行表间某列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。对于上述的外连接可以分为左外连接、右外连接和全外连接,与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表、右表或两个表中所有符合搜索条件的数据行。对于上述的交叉连接是两个表集合内符合条件的记录都匹配一次成为一条新记录,它的返回结果中数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。
对于不同的业务需求需要采用不同的节点连接类型,例如当需要进行数据查询业务时,需要采用外连接将节点中的数据信息进行汇总,进一步确定节点之间连接类型为外连接,通过从节点连接类型选项中选择外连接作为节点之间的连接类型。
103、根据选择的节点连接类型生成对应的分析树。
其中,分析树中包括多个节点,节点以数据表的形式记录数据信息,这里的数据表可以为一维表或二维表等表格形式,每个节点可以包括多个或1个子节点,也可以不存在子节点,本发明实施例不做具体限定,且节点中保存有节点之间的关联字段,这里的关联字段为两个节点之间有关联关系的字段,通过关联字段可以将两个数据表关联起来,例如在节点a中记录有学生的姓名和学号属性,节点b中记录有学生的学号和成绩属性,这里的学号属性即为节点a与节点b之间的关联字段。
需要说明的是,分析树为数据库根据数据结构建立的树结构的数据分析构造的图形,在关系数据库管理中,数据表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当数据检索时,通过连接操作查询出存放在多个表中的不同实体的信息。数据表之间的连接操作可以给用户带来很大的灵活性,可以在任何时候增加新的数据类型,有效的提高查询效率。
104、根据所述分析树生成查询脚本。
由于选择节点之间不同连接类型构造出的分析树生成的查询脚本所实现的功能有所不同,相比于现有技术中支持表格连接方式单一的查询脚本,本发明实施例通过为节点配置不同的连接类型,使得生成的查询脚本的连接方式多元化,具有更强的实际应用价值,能够满足更多的业务需求。
本发明实施例提供的一种查询脚本的生成方法,首先获取元数据配置信息,这里的元数据配置信息中预先配置有多种节点连接类型选项,使得节点之间能够支持不同的连接类型,进一步确定节点之间的连接类型,从多种节点连接类型中选择相应的节点连接类型,从而根据选择的节点连接类型生成对应的分析树,使得生成的分析树能够支持多种节点连接方式,最后根据分析树生成查询脚本。与现有技术的查询脚本的生成方法相比,本发明实施例通过在构造分析树之前在元数据配置信息中预先配置不同的节点连接类型,使得生成的查询脚本能够支持更多节点连接方式,增强了节点之间的连接效果,从而提高查询脚本的查询效率。
本发明实施例提供了另一种查询脚本的生成方法,如图2所示,所述方法包括:
201、获取多种节点连接类型。
其中,连接类型选项用于指示选择分析树的节点之间的连接方式,这里节点的连接目的在与从水平方向上合并两个数据集合,并产生一个新的结果集合,主要的方法是通过将一个数据源中的行与另一个数据源中和它匹配的行组合成一个新元组。
在计算机领域,结构化查询语言(Structured Query Language,Sql)提供了多种类型的连接方式,如外连接、内连接和交叉连接等,其中,外连接又包括左外连接和右外连接。它们之间的区别在于,不同的连接方式从相互交叠的不同数据集合中选择用于连接的数据时所采用的方法不同。
202、在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中。
对于本发明实施例,为节点配置连接类型选项具体可以采用下述方式实现,在描述数据表之间连接关系的元数据中添加配置连接类型选项的配置文件,这里的配置文件主要包括针对不同连接类型选项所实现表格连接的操作文件,由于在进行数据库查询过程中需要将某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存,同理,当需要从内存空间或者物理硬盘中读取某些对象时需要将对象进行反序列化,进一步根据配置文件分别在分析树中节点的序列化以及反序列化中配置连接类型选项,以保证在数据的传输和存储的过程中支持多种表格连接类型。
203、获取元数据配置信息。
其中,元数据主要是描述数据的属性信息,用来支持如只是存储位置、历史数据、资料查找、文件记录等功能,例如日常生活中的图例、图书馆目录卡和名片都可以看作是元数据。在关系型数据库管理系统中,元数据描述了数据的结构和意义,例如在管理、维护SQLServer或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息,如某个数据库中的表和视图个数以及名称、某个表上定义的索引、某个视图中的列的个数等等。
对于本发明实施例中的元数据配置信息中预先存储有多种节点连接类型选项,该节点连接类型选项能够满足节点之间连接类型的多样化,进一步保证了通过节点连接生成的分析树能够支持更复杂的业务场景。
204、确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型。
对于本发明实施例,确定节点之间的连接类型可以首先获取元数据描述信息,进而根据元数据描述信息确定节点之间的连接类型。
举例来说,当前的业务需求为按照日期的顺序进行数据查询,若当前两个表格的关联字段为日期,则根据元数据描述信息可以选取内连接的表格连接类型,若当前两个表格的关联字段并不是日期,而其中一个表格中字段有日期,而另一个表格中字段没有日期,则根据元数据描述信息可以选取外连接的表格连接类型。
需要说明的是,本发明实施例对上述确定节点之间的连接类型的确定方式不做限定,具体可以根据节点的元数据描述信息来确定不同节点之间的连接类型,还可以根据节点的数据类型来确定不同节点之间的连接类型。
205、根据选择的节点连接类型生成对应的分析树。
其中,分析树是源代码的抽象语法结构的树状表示,每个分析树可以包括多个数据节点,每个数据节点都表示源代码中的一种结构,另外,不同数据节点之间有不同的上下层次关系,如一个数据节点可以存在1个或多个子节点,也可以不存在子节点,本发明实施例不做具体限定。
对于本发明实施例,当根据数据库中的数据结构构造分析树时,可以将分析树中同层级节点之间存在的关联字段配置在与关联字段对应的节点中,进而提取关联字段对应的节点,这里的同层级节点为分析树中的兄弟节点,通过关联字段可以将两个有关联的二维表关联起来,由于在数据库查询过程中会涉及到多个有相同属性的二维表,为了方便业务查询,通过不同的表格连接方式能够以不同的方式将表格进行关联起来。
由于不同的节点之间的连接类型会得到不同连接类型的分析树,根据数据查询的实际需求以及节点之间的关联字段确定分析树中节点之间的连接类型。
示例性的,节点中表信息对应的字段名称为员工信息表,可以对应2个表信息,分别为表1:员工编号、员工姓名、员工的部门编号,表2:员工的部门编号、部门名称,节点的关联字段为员工的部门编号,当确定分析树中节点之间的连接类型为内连接,则将通过关联字段员工的部门编号将两个表进行匹配,这里得到的匹配结果中包含表1与表2中员工编号的交集,当确定分析树中节点之间的连接类型为外连接时,则将通过关联字段员工的部门编号将两个表进行匹配,这里得到的匹配结果中包含表1与表2中员工编号的并集。
需要说明的是,若连接的两个表中关联字段中存在无法检索出来的信息时,如表1中的员工部门编号有001、002、003,表2中的员工部门编号有001、002、003、004,由于表1中不存在员工部门编号004,也就是说表1中不存在其他信息与该员工部门编号相对应,内连接的表格连接结果中会将两个表格中共同存在的员工编号进行显示,而外连接的表格连接结果中会将两个表格中所有的员工部门编号进行显示。
206、根据所述分析树生成查询脚本。
对于本发明实施例,根据分析树生成查询脚本可以通过下述方法实现,首先接收查询参数,读取分析树中每个节点对应的数据信息,根据查询参数和每个节点对应的数据信息,生成查询脚本。
其中,查询参数为根据数据库中的业务信息构造出来的查询参数,参数查询是指某些情况下,需要创建可以使用多次,但每次使用不同值的查询,若要创建每次使用不同值的查询,可以在查询中使用参数,即参数是在运行查询时所提供值的占位符。通过获取查询参数,以便根据查询参数及分析树生成查询脚本。对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:首先获取节点连接类型,在元数据配置信息中增加节点连接类型选项,通过连接类型选项可以确定表格连接类型包括有三种:内连接、外连接和交叉连接,并且将多种节点连接类型配置在元数据配置信息中,获取元数据配置信息,即给出一个包含有学生编号、学生姓名、数学分数、语文分数属性的表1,一个包含有学生编号、平均分、总分属性的表2,在构造查询脚本的分析树时,根据查询参数确定的查询规则为汇总所有学生编号的信息,根据表格中属性的描述信息进一步确定分析树中节点之间的连接类型为外连接,从多种节点连接类型中选择相应的节点连接类型,然后提取分析树中二维表之间的关联字段为学生编号,根据外连接将包含有关联字段为学生编号的表1与表2进行拼接,得到包含有所有学生编号的二维表,从而得到不同节点连接类型的分析树,最后根据选择的节点连接类型的分析树,进一步根据分析树生成查询脚本,该查询脚本能够支持不同的表格连接方式。
现有技术在生成查询脚本的过程中仅支持内连接的表格连接方式,使得表格连接方式过于单一,导致查询脚本的查询效率较低,本发明实施例提供的另一种查询脚本的生成方法,通过为分析树中的节点配置连接类型选项,实现了节点之间得到多种连接方式,减少了数据的冗余,通过提取分析树中节点之间的关联字段,根据确定的不同表格连接类型将关联字段相匹配的节点进行连接,使得生成的查询脚本能够支持多种表格连接方式,保证了查询业务的多样化,提高了查询效率。
进一步地,作为图1所示方法的具体实现,本发明实施例提供一种查询脚本的生成装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置不在对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容,如图3所示,所述装置包括:第一获取单元31、确定单元32、第一生成单元33、第二生成单元34。
所述第一获取单元31,可以用于获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项,所述第一获取单元31为本装置获取元数据配置信息的主要功能模块,;
所述确定单元32,可以用于确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型,所述确定单元32为本装置中确定节点连接类型的主要功能模块,具体可以根据元数据描述信息确定节点之间的连接类型;
所述第一生成单元33,可以用于根据选择的节点连接类型生成对应的分析树,所述第一生成单元33为本装置中生成分析树的主要功能模块,具体根据确定的节点连接类型从子节点到父节点,从父节点到根节点进行连接,从而生成分析树;
所述第二生成单元34,可以用于根据所述分析树生成查询脚本,所述第二生成单元为本装置中生成查询脚本的主要功能模块,具体根据查询参数和节点对应的数据信息生成查询脚本。
本发明实施例提供的一种查询脚本的生成装置,首先获取元数据配置信息,这里的元数据配置信息中预先配置有多种节点连接类型选项,使得节点之间能够支持不同的连接类型,进一步确定节点之间的连接类型,从多种节点连接类型中选择相应的节点连接类型,从而根据选择的节点连接类型生成对应的分析树,使得生成的分析树能够支持多种节点连接方式,最后根据分析树生成查询脚本。与现有技术的查询脚本的生成方法相比,本发明实施例通过在构造分析树之前在元数据配置信息中预先配置不同的节点连接类型,使得生成的查询脚本能够支持更多节点连接方式,增强了节点之间的连接效果,从而提高查询脚本的查询效率。
进一步地,如图4所示,本发明实施例提供另一种查询脚本的生成装置,所述装置还包括:
第二获取单元35,可以用于获取多种节点连接类型,所述第二获取单元34为本装置中获取多种节点连接类型的主要功能模块,这里的连接类型选项用于指示选择分析树的节点之间的连接方式;
增加单元36,可以用于在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中,所述增加单元35为本装置中增加节点连接类型选项的主要功能模块,具体可以在描述数据表之间连接关系的元数据中添加配置连接类型选项的配置文件,进一步根据配置文件分别在分析树中节点的序列化以及反序列化中配置连接类型选项。
进一步地,所述节点连接类型可以包括:内连接、外连接和交叉连接中的至少两种。
所述确定单元32包括:
获取模块321,可以用于获取元数据描述信息;
确定模块322,可以用于根据所述元数据描述信息确定节点之间的连接类型。
进一步地,所述第二生成单元34包括:
接收模块341,可以用于接收查询参数;
读取模块342,可以用于读取所述分析树中每个节点对应的数据信息;
生成模块343,可以用于根据所述查询参数和所述数据信息,生成所述查询脚本。
本发明实施例提供的另一种查询脚本的生成装置,通过为分析树中的节点配置连接类型选项,实现了节点之间得到多种连接方式,减少了数据的冗余,通过提取分析树中节点之间的关联字段,根据确定的不同表格连接类型将关联字段相匹配的节点进行连接,使得生成的查询脚本能够支持多种表格连接方式,保证了查询业务的多样化,提高了查询效率。
上述的服务器包括处理器和存储器,上述第一获取单元31、确定单元32、第一生成单元33和第二生成单元34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来节省人力,使得生成的查询脚本能够支持更多节点连接方式,增强了节点之间的连接效果,从而提高查询脚本的查询效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;根据选择的节点连接类型生成对应的分析树;根据所述分析树生成查询脚本。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种查询脚本的生成方法,其特征在于,包括:
获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;
确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;
根据选择的节点连接类型生成对应的分析树,所述分析树中同层级节点之间存在的关联字段配置在与关联字段对应的节点中;所述根据选择的节点连接类型生成对应的分析树包括:根据节点之间的关联字段确定分析树中不同节点之间的连接类型,根据不同节点之间的连接类型得到不同连接类型的分析树;
根据所述分析树生成查询脚本。
2.根据权利要求1所述的方法,其特征在于,在获取元数据配置信息之前,所述方法还包括:
获取多种节点连接类型;
在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中。
3.根据权利要求1所述的方法,其特征在于,所述节点连接类型包括:
内连接、外连接和交叉连接中的至少两种。
4.根据权利要求1所述的方法,其特征在于,所述确定节点之间的连接类型,包括:
获取元数据描述信息;
根据所述元数据描述信息确定节点之间的连接类型。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述分析树生成查询脚本,包括:
接收查询参数;
读取所述分析树中每个节点对应的数据信息;
根据所述查询参数和所述数据信息,生成所述查询脚本。
6.一种查询脚本的生成装置,其特征在于,包括:
第一获取单元,用于获取元数据配置信息,所述元数据配置信息中预先配置有多种节点连接类型选项;
确定单元,用于确定节点之间的连接类型,从所述多种节点连接类型选项中选择相应的节点连接类型;
第一生成单元,用于根据选择的节点连接类型生成对应的分析树,所述分析树中同层级节点之间存在的关联字段配置在与关联字段对应的节点中;所述根据选择的节点连接类型生成对应的分析树包括:根据节点之间的关联字段确定分析树中不同节点之间的连接类型,根据不同节点之间的连接类型得到不同连接类型的分析树;
第二生成单元,用于根据所述分析树生成查询脚本。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取多种节点连接类型;
增加单元,用于在元数据配置信息中增加节点连接类型选项,将所述多种节点连接类型配置在所述元数据配置信息中。
8.根据权利要求6所述的装置,其特征在于,所述节点连接类型包括:
内连接、外连接和交叉连接中的至少两种。
9.根据权利要求6所述的装置,其特征在于,所述确定单元包括:
获取模块,用于获取元数据描述信息;
确定模块,用于根据所述元数据描述信息确定节点之间的连接类型。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述第二生成单元包括:
接收模块,用于接收查询参数;
读取模块,用于读取所述分析树中每个节点对应的数据信息;
生成模块,用于根据所述查询参数和所述数据信息,生成所述查询脚本。
CN201611205329.7A 2016-12-23 2016-12-23 一种查询脚本的生成方法及装置 Active CN108241624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611205329.7A CN108241624B (zh) 2016-12-23 2016-12-23 一种查询脚本的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611205329.7A CN108241624B (zh) 2016-12-23 2016-12-23 一种查询脚本的生成方法及装置

Publications (2)

Publication Number Publication Date
CN108241624A CN108241624A (zh) 2018-07-03
CN108241624B true CN108241624B (zh) 2022-03-18

Family

ID=62704274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611205329.7A Active CN108241624B (zh) 2016-12-23 2016-12-23 一种查询脚本的生成方法及装置

Country Status (1)

Country Link
CN (1) CN108241624B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046153B (zh) * 2018-11-19 2023-09-05 创新先进技术有限公司 一种账户资金核对的方法、装置及设备
CN109637602B (zh) * 2018-11-23 2021-06-18 金色熊猫有限公司 医疗数据存储和查询方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法
CN102521412A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 数据关联装置和数据关联方法
WO2016172339A1 (en) * 2015-04-21 2016-10-27 Wold Eric Cross-linking call metadata

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257193A1 (en) * 2004-05-13 2005-11-17 Alexander Falk Method and system for visual data mapping and code generation to support data integration
KR101368024B1 (ko) * 2012-03-29 2014-02-27 주식회사 엘지씨엔에스 스크립트 관리 방법, 이를 실행하는 스크립트 관리 서버 및 이를 저장한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法
CN102521412A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 数据关联装置和数据关联方法
WO2016172339A1 (en) * 2015-04-21 2016-10-27 Wold Eric Cross-linking call metadata

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向多类型数据源的数据仓库构建及ETL关键技术的研究;宋杰;《中国优秀博硕士学位论文全文数据库(博士)》;20110615;全文 *

Also Published As

Publication number Publication date
CN108241624A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN110674228B (zh) 数据仓库模型构建和数据查询方法、装置及设备
CN112036736B (zh) 一种工作流创建方法及装置
US10846273B2 (en) System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment
US11741091B2 (en) Generating, accessing, and displaying lineage metadata
US10579678B2 (en) Dynamic hierarchy generation based on graph data
CN102982075A (zh) 支持访问异构数据源的系统和方法
US10120886B2 (en) Database integration of originally decoupled components
US10296505B2 (en) Framework for joining datasets
CN102999537A (zh) 一种数据迁移系统和方法
US9176997B2 (en) Universe migration from one database to another
US10192330B2 (en) Rendering data visualizations in different analytical applications
US20140244690A1 (en) Generate in-memory views from universe schema
CN112163048A (zh) 基于ClickHouse实现OLAP分析的方法、装置
US20140130008A1 (en) Generating information models
Abdel Azez et al. Optimizing join in HIVE star schema using key/facts indexing
US10235100B2 (en) Optimizing column based database table compression
US20140143270A1 (en) Generating dynamic drilldown reports
CN108241624B (zh) 一种查询脚本的生成方法及装置
CN108241620B (zh) 查询脚本的生成方法及装置
CN111008198A (zh) 业务数据获取方法、装置、存储介质、电子设备
CN108241622B (zh) 一种查询脚本的生成方法及装置
McClean et al. A comparison of mapreduce and parallel database management systems
CN115617338A (zh) 一种业务页面快速生成方法、装置及可读存储介质
CN109753533A (zh) 一种多源关系型数据库客户端开发方法及装置
CN115658680A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant