CN108241620B - 查询脚本的生成方法及装置 - Google Patents

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

Info

Publication number
CN108241620B
CN108241620B CN201611204161.8A CN201611204161A CN108241620B CN 108241620 B CN108241620 B CN 108241620B CN 201611204161 A CN201611204161 A CN 201611204161A CN 108241620 B CN108241620 B CN 108241620B
Authority
CN
China
Prior art keywords
node
association
query
nodes
generating
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
CN201611204161.8A
Other languages
English (en)
Other versions
CN108241620A (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 CN201611204161.8A priority Critical patent/CN108241620B/zh
Publication of CN108241620A publication Critical patent/CN108241620A/zh
Application granted granted Critical
Publication of CN108241620B publication Critical patent/CN108241620B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

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

Abstract

本发明公开了一种查询脚本的生成方法及装置,涉及互计算机技术领域,主要目的在于解决当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系的问题。本发明的主要技术方案为:获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;分别获取与每个所述节点存在关联关系的所有子节点;将所述关联字段保存到每个所述子节点的节点信息中;根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;根据所述分析树生成查询脚本。主要用于查询脚本的生成。

Description

查询脚本的生成方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种查询脚本的生成方法及装置。
背景技术
在计算机软件系统中,可以通过构造数据库查询脚本进行数据查询,其中,常用的数据库查询脚本是结构化查询语言脚本(Structured Query Language Script,SqlScript),具体可以通过在已有组件中输入查询参数CommonQuery来构造查询脚本,其中,查询脚本中包含不同业务信息及不同业务信息对应的表关系。
现有技术中,通过已有组件构造的查询脚本进行数据查询过程中,生成的查询脚本中的业务信息的表关系只能支持查询雪花表形式表关系的一层雪花表,但是,当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系,无法满足实际业务的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种查询脚本的生成方法及装置,主要目的是解决当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系,无法满足实际业务的需求的问题。
借由上述技术方案,本发明提供的一种查询脚本的生成方法,包括:
获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;
分别获取与每个所述节点存在关联关系的所有子节点;
将所述关联字段保存到每个所述子节点的节点信息中;
根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;
根据所述分析树生成查询脚本。
进一步地,所述方法还包括:
确定所述子节点与所述节点之间是否存在关联关系。
进一步地,所述方法还包括:
获取元数据对应的数据信息;
根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;
获取所述子节点对应的关联表;
判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;
如果是,则确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系。
进一步地,所述方法还包括:
获取每个所述子节点的节点信息中的查询列表;
将所述关联字段保存在所述查询列表的查询列中。
进一步地,所述方法还包括:
获取待生成查询脚本的查询参数;
将所述查询参数与所述分析树进行配置,生成查询脚本。
借由上述技术方案,本发明提供的一种查询脚本的生成装置,包括:
第一获取单元,用于获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;
第二获取单元,用于分别获取与每个所述节点存在关联关系的所有子节点;
保存单元,用于将所述关联字段保存到每个所述子节点的节点信息中;
第一生成单元,用于根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;
第二生成单元,还用于根据所述分析树生成查询脚本。
进一步地,所述装置还包括:
确定单元,用于确定所述子节点与所述节点之间是否存在关联关系。
进一步地,所述装置还包括:
第一获取模块,用于获取元数据对应的数据信息;
第一确定模块,用于根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;
第二获取模块,用于获取所述子节点对应的关联表;
判断模块,用于判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;
第二确定模块,用于在判断模块判断所述子节点对应的关联表属于所述关联字段所在的数据表时,确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系。
进一步地,所述装置还包括:
第三获取模块,用于获取每个所述子节点的节点信息中的查询列表;
保存模块,用于将所述关联字段保存在所述查询列表的查询列中。
进一步地,所述装置还包括:
第四获取模块,用于获取待生成查询脚本的查询参数;
生成模块,用于将所述查询参数与所述分析树进行配置,生成查询脚本。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种查询脚本的生成方法及装置,首先获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;分别获取与每个所述节点存在关联关系的所有子节点;将所述关联字段保存到每个所述子节点的节点信息中;根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;根据所述分析树生成查询脚本。与现有的当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系相比,本发明实施例通过获取构成的分析树的节点,得到与节点存在关联关系的子节点,将存储在节点信息中的关联字段保存在与节点信息存在关联关系的子节点的节点信息中,生成分析树,最后根据分析树生成查询脚本,实现生成可以支持以多层雪花表形式进行查询表关系的查询脚本,避免利用现有组件生成的查询脚本无法支持复杂、正确表关系的查询脚本,从而提高查询脚本的查询效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了发明实施例提供的一种查询脚本的生成方法的流程图;
图2示出了发明实施例提供的另一种查询脚本的生成方法的流程图;
图3示出了发明实施例提供的一种分析树示意图;
图4示出了发明实施例提供的一种查询脚本的生成装置的方框图;
图5示出了发明实施例提供的另一种查询脚本的生成装置的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种查询脚本的生成方法,如图1所示,所述方法包括:
101、获取构成分析树的所有节点的节点信息。
其中,所述节点信息中存储有表征节点之间关系的关联字段,所述关联字段为每个节点信息中表信息之间存在关联的字段,即通过关联字段可以将两个表关联起来。
需要说明的是,所述关联字段为同一层之间节点信息中的关联字段,所述分析树的节点可以以二维表的形式记录数据信息,分析树为数据库根据数据结构建立的树结构的数据分析构造的图形,分析树中包括节点和节点的子节点。
例如,一个节点a的表信息包含的字段为:订单单号、客户姓名、客户地址,同层的另一个节点b的表信息包含的字段为:订单单号、订购产品、订购价格,节点a和节点b存在关联的,则关联字段为订单单号,并分别存储在节点a和节点b对应的表信息中。
102、分别获取与每个所述节点存在关联关系的所有子节点。
其中,所述节点可以包括多个或1个子节点,与节点存在关联关系的子节点可以为1个或多个,本发明实施例不做具体限定。
需要说明的是,获取与节点存在关联关系的子节点之前,节点需要先拥有子节点,另外,当前节点可以为父节点的子节点,也可以为下一层子节点的父节点,本发明实施例不做具体限定。
103、将所述关联字段保存到每个所述子节点的节点信息中。
其中,所述将所述关联字段保存在子节点的节点信息中为将关联字段存储在具有关联关系的子节点的查询列中。
104、根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树。
其中,所述分析树中包含了所有存在有关联字段的子节点及节点。
需要说明的是,在生成分析树之前,需要判断是否所有的节点均执行过查找是否存在关联关系的子节点的步骤,以确保成的分析树中的子节点中都添加了有关联关系的节点的关联字段。
105、根据所述分析树生成查询脚本。
其中,所述生成的查询脚本中,在查询列表中添加关联字段的节点的表信息均可以显示多层的表关系。
本发明实施例提供的一种查询脚本的生成方法,与现有的当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系相比,本发明实施例通过获取构成的分析树的节点,得到与节点存在关联关系的子节点,将存储在节点信息中的关联字段保存在与节点信息存在关联关系的子节点的节点信息中,生成分析树,最后根据分析树生成查询脚本,实现生成可以支持以多层雪花表形式进行查询表关系的查询脚本,避免利用现有组件生成的查询脚本无法支持复杂、正确表关系的查询脚本,从而提高查询脚本的查询效率。
本发明实施例提供另一种查询脚本的生成方法,如图2所示,所述方法包括:
201、获取构成分析树的所有节点的节点信息。
本步骤与图1所述步骤101所述的方法相同,这里不再赘述。
202、确定所述子节点与所述节点之间是否存在关联关系。
需要说明的是,在步骤202之前需要判断是否存在子节点,判断是否存在子节点的方法可以根据JavaScript一种直译式脚本语言进行程序编译,还可以根据其他编译脚本语言进行程序编译,具体编译方法根据技术人员需求进行设定,本发明实施例不做具体限定。
对于本发明实施例,步骤202具体可以为:获取元数据对应的数据信息;根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;获取所述子节点对应的关联表;判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;如果是,则确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系。
其中,所述元数据为节点的元数据,所述元数据为描述数据的数据,主要是描述数据属性的信息,如存储位置、历史数据、资源查找、文件记录等,所述元数据对应的数据信息即为数据的具体内容,或名称,所述数据表即为存储在节点中的表信息,所述子节点对应的关联表为子节点中所有字段的表信息。
例如,节点关联字段对应的表为表s:订单单号、订购产品、订购价格,与节点存在关联关系的子节点对应的表为表1:订单单号、客户姓名、客户地址,以及表2:订单单号、订购产品、订购价格,判断表1和表2是否属于表s,若属于,则确定子节点与节点存在关联关系。通过判断子节点对应的关联表是否属于关联字段所在的数据表,实现找到节点对应的子节点中与关联字段的表相同的表,得到关联关系的子节点,从而判断是否可以将子节点作为当前节点的下一层表关系。
203、分别获取与每个所述节点存在关联关系的所有子节点。
本步骤与图1所述步骤102所述的方法相同,这里不再赘述。
204、获取每个所述子节点的节点信息中的查询列表。
其中,所述查询列表可以根据查询参数进行查询,通过获取子节点的节点信息中的查询列表,以便将关联字段存储在查询列表中。
205、将所述关联字段保存在所述查询列表的查询列中。
其中,所述查询列为查询脚本中要查询的列,所述查询列中保存有查询字段。通过将关联字段保存在查询列表的查询列中,从而实现查询脚本中支持多层级的雪花表形式。
206、根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树。
本步骤与图1所述步骤104所述的方法相同,这里不在赘述。
207、获取待生成查询脚本的查询参数。
其中,所述查询参数为根据数据库中的业务信息构造出来的查询参数,所述参数查询是指某些情况下,需要创建可以使用多次,但每次使用不同值的查询,若要创建每次使用不同值的查询,可以在查询中使用参数,即参数是在运行查询时所提供值的占位符。通过获取查询参数,以便根据查询参数及分析树生成查询脚本。
208、将所述查询参数与所述分析树进行配置,生成查询脚本。
通过待生成查询脚本的查询参数及在节点的节点信息中添加关联关系而生成的分析树生成查询脚本,实现生成的查询脚本中每个表均可以显示多层的表关系。
对于本发明实施例,具体的应用场景可以如下所述,但不局限于此,包括:获取构造查询脚本的分析树的节点,节点a与节点b中存储有关联字段学校,如图3所示,判断节点a存在子节点c和子节点d,获取节点元数据信息学校排名提取关联字段对应的表为表s:学校、班级、班主任、成绩,子节点c对应的表为表1:学校、班级、班主任、成绩,表2:机构、班级、班主任、成绩,表3:地区、学科、人数、成绩,子节点d对应的表信息为表4:名单、分数、排名、学科,表5:学校、分数、排名、学科,表6:名单、分数、班主任、成绩,判断出子节点c属于表s,则将关联字段学校添加至子节点c的查询列{A,B,C,D}中,得到{A,B,C,D,学校},根据所有在查询列中添加关联字段的节点生成分析树,然后获取待生成查询脚本的查询参数,根据查询参数及分析树生成查询脚本。
本发明实施例提供的另一种查询脚本的生成方法,本发明实施例通过获取分析树的所有节点的节点信息,然后确定子节点与节点之间是否存在关联关系,并将关联字段存储在与节点存在关联关系的子节点的查询列表中,然后生成分析树,根据查询参数和分析树生成查询脚本。实现生成可以支持以多层雪花表形式进行查询表关系的查询脚本,避免利用现有组件生成的查询脚本无法支持复杂、正确表关系的查询脚本,从而提高查询脚本的查询效率。
进一步地,作为图1所示方法的具体实现,本发明实施例提供一种查询脚本的生成装置,如图4所示,所述装置可以包括:第一获取单元31、第二获取单元32、保存单元33、第一生成单元34、第二生成单元35。
第一获取单元31,用于获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;第一获取单元31为一种查询脚本的生成装置执行获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段的功能模块。
第二获取单元32,用于分别获取与每个所述节点存在关联关系的所有子节点;第二获取单元32为一种查询脚本的生成装置执行分别获取与每个所述节点存在关联关系的所有子节点的功能模块。
保存单元33,用于将所述关联字段保存到每个所述子节点的节点信息中;保存单元33为一种查询脚本的生成装置执行将所述关联字段保存到每个所述子节点的节点信息中的功能模块。
第一生成单元34,用于根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;第一生成单元34为一种查询脚本的生成装置执行根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树的功能模块。
第二生成单元35,用于根据所述分析树生成查询脚本。第二生成单元35为一种查询脚本的生成装置执行根据所述分析树生成查询脚本的功能模块。
该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的一种查询脚本的生成装置,与现有的当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系相比,本发明实施例通过获取构成的分析树的节点,得到与节点存在关联关系的子节点,将存储在节点信息中的关联字段保存在与节点信息存在关联关系的子节点的节点信息中,生成分析树,最后根据分析树生成查询脚本,实现生成可以支持以多层雪花表形式进行查询表关系的查询脚本,避免利用现有组件生成的查询脚本无法支持复杂、正确表关系的查询脚本,从而提高查询脚本的查询效率。
进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种查询脚本的生成装置,如图5所示,所述装置可以包括:第一获取单元41、第二获取单元42、保存单元43、第一生成单元44、第二生成单元45、确定单元46。
第一获取单元41,用于获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;第一获取单元41为另一种查询脚本的生成装置执行获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段的功能模块。
第二获取单元42,用于分别获取与每个所述节点存在关联关系的所有子节点;第二获取单元42为另一种查询脚本的生成装置执行分别获取与每个所述节点存在关联关系的所有子节点的功能模块。
所述保存单元43,用于将所述关联字段保存到每个所述子节点的节点信息中;保存单元43为另一种查询脚本的生成装置执行将所述关联字段保存到每个所述子节点的节点信息中的功能模块。
第一生成单元44,用于根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;第一生成单元44为另一种查询脚本的生成装置执行根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树的功能模块。
第二生成单元45,用于根据所述分析树生成查询脚本。第二生成单元45为另一种查询脚本的生成装置执行根据所述分析树生成查询脚本的功能模块。
进一步地,所述装置还包括:
确定单元46,用于确定所述子节点与所述节点之间是否存在关联关系。确定单元46,为另一种查询脚本的生成装置执行确定所述子节点与所述节点之间是否存在关联关系的功能模块。
进一步地,所述确定单元46包括:
第一获取模块4601,用于获取元数据对应的数据信息;第一获取模块4601为另一种查询脚本的生成装置执行获取元数据对应的数据信息的功能模块。
第一确定模块4602,用于根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;第一确定模块4602为另一种查询脚本的生成装置执行根据所述元数据对应的数据信息,确定所述关联字段所在的数据表的功能模块。
第二获取模块4603,用于获取所述子节点对应的关联表;第二获取模块4603为另一种查询脚本的生成装置执行获取所述子节点对应的关联表的功能模块。
判断模块4604,用于判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;判断模块4604为另一种查询脚本的生成装置执行判断所述子节点对应的关联表是否属于所述关联字段所在的数据表的功能模块。
第二确定模块4605,用于如果是,则确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系。第二确定模块4605为另一种查询脚本的生成装置执行如果是,则确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系的功能模块。
进一步地,所述保存单元43包括:
第三获取模块4301,用于获取每个所述子节点的节点信息中的查询列表;第三获取模块4301为另一种查询脚本的生成装置执行获取每个所述子节点的节点信息中的查询列表的功能模块。
保存模块4302,用于将所述关联字段保存在所述查询列表的查询列中。保存模块4302为另一种查询脚本的生成装置执行将所述关联字段保存在所述查询列表的查询列中的功能模块。
进一步地,所述第二生成单元45包括:
第四获取模块4501,用于获取待生成查询脚本的查询参数;第四获取模块4501为另一种查询脚本的生成装置执行获取待生成查询脚本的查询参数的功能模块。
生成模块4502,用于将所述查询参数与所述分析树进行配置,生成查询脚本。生成模块4502为另一种查询脚本的生成装置执行将所述查询参数与所述分析树进行配置的功能模块。
该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的另一种查询脚本的生成装置,本发明实施例通过获取分析树的所有节点的节点信息,然后确定子节点与节点之间是否存在关联关系,并将关联字段存储在与节点存在关联关系的子节点的查询列表中,然后生成分析树,根据查询参数和分析树生成查询脚本。实现生成可以支持以多层雪花表形式进行查询表关系的查询脚本,避免利用现有组件生成的查询脚本无法支持复杂、正确表关系的查询脚本,从而提高查询脚本的查询效率。
所述查询脚本的生成装置装置包括处理器和存储器,上述第一获取单元,第二获取单元、保存单元、第一生成单元和第二生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决当业务信息较为复杂时,生成的查询脚本中的表关系无法体现多层表关系的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段;分别获取与每个所述节点存在关联关系的所有子节点;将所述关联字段保存到每个所述子节点的节点信息中;根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;根据所述分析树生成查询脚本。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种查询脚本的生成方法,其特征在于,包括:
获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段,所述分析树的节点以二维表形式记录数据信息,所述分析树为数据库根据数据结构建立的树结构的数据分析构造的图形;
确定子节点与所述节点之间是否存在关联关系,包括:获取元数据对应的数据信息;根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;获取所述子节点对应的关联表;判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;如果是,则确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系;
分别获取与每个所述节点存在关联关系的所有子节点;
将所述关联字段保存到每个所述子节点的节点信息中;
根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;
根据所述分析树生成查询脚本。
2.根据权利要求1所述的方法,其特征在于,所述将所述关联字段保存到每个所述子节点的节点信息中包括:
获取每个所述子节点的节点信息中的查询列表;
将所述关联字段保存在所述查询列表的查询列中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述分析树生成查询脚本包括:
获取待生成查询脚本的查询参数;
将所述查询参数与所述分析树进行配置,生成查询脚本。
4.一种查询脚本的生成装置,其特征在于,包括:
第一获取单元,用于获取构成分析树的所有节点的节点信息,所述节点信息中存储有表征节点之间关系的关联字段,所述分析树的节点以二维表形式记录数据信息,所述分析树为数据库根据数据结构建立的树结构的数据分析构造的图形;
确定单元,用于确定子节点与所述节点之间是否存在关联关系;
所述确定单元包括:
第一获取模块,用于获取元数据对应的数据信息;
第一确定模块,用于根据所述元数据对应的数据信息,确定所述关联字段所在的数据表;
第二获取模块,用于获取所述子节点对应的关联表;
判断模块,用于判断所述子节点对应的关联表是否属于所述关联字段所在的数据表;
第二确定模块,用于在判断模块判断所述子节点对应的关联表属于所述关联字段所在的数据表时,确定所述子节点与所述节点存在关联关系;否则,确定所述子节点与所述节点之间不存在关联关系;
第二获取单元,用于分别获取与每个所述节点存在关联关系的所有子节点;
保存单元,用于将所述关联字段保存到每个所述子节点的节点信息中;
第一生成单元,用于根据保存有关联字段的子节点的节点信息及所述节点的节点信息,生成分析树;
第二生成单元,用于根据所述分析树生成查询脚本。
5.根据权利要求4所述的装置,其特征在于,所述保存单元包括:
第三获取模块,用于获取每个所述子节点的节点信息中的查询列表;
保存模块,用于将所述关联字段保存在所述查询列表的查询列中。
6.根据权利要求4或5所述的装置,其特征在于,所述第二生成单元包括:
第四获取模块,用于获取待生成查询脚本的查询参数;
生成模块,用于将所述查询参数与所述分析树进行配置,生成查询脚本。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求3中任意一项所述的查询脚本的生成方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求3中任意一项所述的查询脚本的生成方法。
CN201611204161.8A 2016-12-23 2016-12-23 查询脚本的生成方法及装置 Active CN108241620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611204161.8A CN108241620B (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611204161.8A CN108241620B (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Publications (2)

Publication Number Publication Date
CN108241620A CN108241620A (zh) 2018-07-03
CN108241620B true CN108241620B (zh) 2022-03-18

Family

ID=62703911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611204161.8A Active CN108241620B (zh) 2016-12-23 2016-12-23 查询脚本的生成方法及装置

Country Status (1)

Country Link
CN (1) CN108241620B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445768B (zh) * 2018-09-28 2022-02-11 平安科技(深圳)有限公司 数据库脚本生成方法、装置、计算机设备及存储介质
CN113468178B (zh) * 2021-07-07 2022-07-29 武汉达梦数据库股份有限公司 一种关联表的数据分区装载方法与装置
CN114064662B (zh) * 2022-01-13 2022-05-03 北京中交兴路信息科技有限公司 查询数据的方法、装置、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573753A (zh) * 2003-06-06 2005-02-02 微软公司 数据库对象脚本生成方法和系统
CN101246495A (zh) * 2008-03-21 2008-08-20 深圳国人通信有限公司 一种构造查询方案及使用其进行数据查询和统计的方法
CN101751457A (zh) * 2008-11-28 2010-06-23 国际商业机器公司 信息处理设备、数据库系统、信息处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163041A1 (en) * 2003-02-13 2004-08-19 Paterra, Inc. Relational database structures for structured documents
US20130218893A1 (en) * 2012-02-17 2013-08-22 Girish Kalasa Ganesh Pai Executing in-database data mining processes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573753A (zh) * 2003-06-06 2005-02-02 微软公司 数据库对象脚本生成方法和系统
CN101246495A (zh) * 2008-03-21 2008-08-20 深圳国人通信有限公司 一种构造查询方案及使用其进行数据查询和统计的方法
CN101751457A (zh) * 2008-11-28 2010-06-23 国际商业机器公司 信息处理设备、数据库系统、信息处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于XML的管理信息系统若干问题的研究;陈福荣;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20030915;全文 *

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3353672B1 (en) Method and apparatus for transferring data between databases
US9607063B1 (en) NoSQL relational database (RDB) data movement
CN106951231B (zh) 一种计算机软件开发方法及装置
CN108241620B (zh) 查询脚本的生成方法及装置
CN112182045B (zh) 元数据管理方法、装置、计算机设备及存储介质
CN111966760B (zh) 基于Hive数据仓库的测试数据生成方法及装置
CN106933842B (zh) 一种数据库查询方法和装置
CN111198772A (zh) 一种应用程序接口api生成的方法及系统
CN109426415B (zh) 一种生成级联选择器的方法及装置
CN113835692A (zh) 字典的数据处理方法、装置、电子设备及计算机存储介质
CN106648567B (zh) 数据获取方法及装置
CN111159192B (zh) 基于大数据的数据入库方法、装置、存储介质和处理器
CN108121712B (zh) 一种关键词存储方法及装置
CN106886510B (zh) 一种图表显示的方法及装置
CN108241624B (zh) 一种查询脚本的生成方法及装置
CN109977317B (zh) 数据查询方法及装置
CN110019357B (zh) 数据库查询脚本生成方法及装置
CN111125157B (zh) 查询数据的处理方法、装置、存储介质及处理器
CN108241622B (zh) 一种查询脚本的生成方法及装置
CN111125087B (zh) 数据的存储方法及装置
CN112579066A (zh) 图表展示方法、装置、存储介质及设备
US9230022B1 (en) Customizable result sets for application program interfaces
CN108121733B (zh) 一种数据的查询方法及装置
CN108228604B (zh) 基于内存对象的模型构建方法、信息查询方法及装置
CN114253845A (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