[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN119066062A - 一种数据表的生成方法和装置 - Google Patents

一种数据表的生成方法和装置 Download PDF

Info

Publication number
CN119066062A
CN119066062A CN202310631813.XA CN202310631813A CN119066062A CN 119066062 A CN119066062 A CN 119066062A CN 202310631813 A CN202310631813 A CN 202310631813A CN 119066062 A CN119066062 A CN 119066062A
Authority
CN
China
Prior art keywords
data
data table
storage
field information
information
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
Application number
CN202310631813.XA
Other languages
English (en)
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 Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202310631813.XA priority Critical patent/CN119066062A/zh
Publication of CN119066062A publication Critical patent/CN119066062A/zh
Pending legal-status Critical Current

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/22Indexing; Data structures therefor; Storage structures
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种数据表的生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;根据所述存储引擎类型获取对应的数据表对象模板;对所述输入信息进行解析以得到待生成数据表的数据字段信息;根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。该实施方式实现了模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。

Description

一种数据表的生成方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据表的生成方法和装置。
背景技术
在数据仓库开发工作中,模型指标的结果都是以“表”的形式存在。对于新模型指标的开发,为避免在开发过程中因中间过程的不确定性导致结果表字段结构多次更改或增删,所以实际开发过程中往往是先按业务需求完成指标字段加工逻辑的开发、调试通过后,再去创建最终的结果表。另外对于在数据仓库中的每个模型指标,使用该模型的业务系统往往需要将数据从数仓推送到业务系统可访问的存储(如Mysql、Elasticsearch、HBASE、Redis等)中,再进行访问。在将数据从数仓中推送到其他存储引引擎中,首先要在相应存储引擎中建立存储所需的“表”(不同的存储系统存储载体名称不同,本发明中统一用数据表指代)。
在实现本发明过程中发现,目前创建一个存储结果的数据表必须由开发人员硬编码的方式去完成,不同的业务场景需求下,则要编写不同的脚本以完成目的,不够便捷和高效。特别是当表中字段较多时,需要的工作量随之也会增加,花费较多的时间去完成较为机械的任务,使得工作效率低下。另外,还需要开发人员熟悉各种存储引擎的建表语法规范,学习成本高。
发明内容
有鉴于此,本发明实施例提供一种数据表的生成方法和装置,能够根据自定义模板来快速生成指定存储引擎类别的数据表,可以针对不同的存储引擎,根据输入信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建表语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据表的生成方法,包括:
响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;
根据所述存储引擎类型获取对应的数据表对象模板;
对所述输入信息进行解析以得到待生成数据表的数据字段信息;
根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
可选地,对所述输入信息进行解析以得到待生成数据表的数据字段信息,包括:根据所述输入信息对应的数据格式确定正则表达式,并使用所述正则表达式对所述输入信息进行逐行匹配,以得到待生成数据表的数据字段信息。
可选地,所述输入信息对应的数据格式是根据数据格式关键字的值来确定的,所述数据格式关键字包括:字段名称关键字、字段类型关键字和字段注释关键字。
可选地,对所述输入信息进行解析以得到待生成数据表的数据字段信息之后,还包括:通过页面将解析得到的数据字段信息以表格的方式展示,以供用户对所述数据字段信息进行局部校正。
可选地,所述数据表对象模板是通过以下方式生成的:分别获取每个存储引擎对应的数据表对象语法规范;对每个存储引擎,对所述数据表对象语法规范中需要根据实际使用场景填充内容的位置使用占位符进行预占位,得到所述存储引擎对应的数据表对象模板。
可选地,根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,包括:根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,以生成建表语句。
可选地,所述占位符包括存储载体要素占位符和数据字段占位符;根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,包括:根据所述存储载体要素对所述数据表对象模板中的存储载体要素占位符进行替换,根据所述数据字段信息对所述数据表对象模板中的数据字段占位符进行替换。
可选地,所述占位符包括关键字格式占位符和内容格式占位符;根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,包括:根据所述存储载体要素和所述数据字段信息,通过关键字匹配的方式对所述关键字格式占位符进行替换;根据所述存储载体要素和所述数据字段信息,生成所述内容格式占位符所对应的数据,并使用所述内容格式占位符所对应的数据替换所述内容格式占位符。
根据本发明实施例的另一方面,提供了一种数据表的生成装置,包括:
数据获取模块,用于响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;
模板获取模块,用于根据所述存储引擎类型获取对应的数据表对象模板;
字段解析模块,用于对所述输入信息进行解析以得到待生成数据表的数据字段信息;
数据表生成模块,用于根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
根据本发明实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的数据表的生成方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的数据表的生成方法。
上述发明中的一个实施例具有如下优点或有益效果:通过响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,存储载体要素包括存储引擎类型;根据存储引擎类型获取对应的数据表对象模板;对输入信息进行解析以得到待生成数据表的数据字段信息;根据存储载体要素、数据表对象模板和数据字段信息生成建表语句,并使用建表语句生成数据表的技术方案,实现了根据自定义模板来快速生成指定存储引擎类别的数据表,可以针对不同的存储引擎,根据输入信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建表语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据表的生成方法的主要步骤示意图;
图2是本发明一个实施例的数据表生成流程示意图;
图3是根据本发明实施例的数据表的生成装置的主要模块示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明公开的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
在本发明的实施例介绍中,所涉及的专业术语及其释义如下:
schema:最初是W3C与2001年5月发布的推荐标准,指出如何形式描述XML文档的元素,本发明中的schema是指描述数据表组织结构和字段信息等内容的统称,在实施例描述中被称作“数据表对象”;
Hive:是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制;
Elasticsearch:是一个分布式、高扩展、高实时的搜索与数据分析引擎。在进行数据搜索和分析之前首先的将数据提交到Elasticsearch数据库中;
范式:数据库术语,是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式;
JSON:JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式;
DDL:Data Definition Language,数据库模式定义语言,是用于描述数据库中要存储的现实世界实体的语言。
为了解决现有技术中所存在的问题,本发明提供了一种数据表的生成方法,可以针对不同的存储引擎,根据快速输入的字段列信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建“表”语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。本发明作为一个完整的独立功能,使开发者面对不同存储引擎时专注于模板范式和同类引擎数据表对象(schema)模板的定义,后台自动根据已指定的模板信息完成不同输入信息对应的schema结果的输出,同时schema模板对于同种引擎是高度复用的,实现了一次定义重复使用。
图1是根据本发明实施例的数据表的生成方法的主要步骤示意图。如图1所示,本发明实施例的数据表的生成方法主要包括如下的步骤S101至步骤S104。
步骤S101:响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型。
在本发明中通过模板范式来屏蔽不同存储引擎之间建表规范细节。无论执行何种存储引擎,存储载体的必不可缺要素为:名称空间、唯一的载体名称和数据类型,以Mysql数据库为例,名称空间表现为数据库、载体名表现为数据库下唯一的表名。本发明并不局限于具体的存储引擎,因此,存储引擎类型也是必不可少的要素之一,也就是说,本发明的存储载体要素包括:名称空间、载体名称、数据类型和存储引擎类型。另外,在实现时,根据不同的场景,存储载体要素还可以包括注释信息、scheme语句的表现形式等信息。
另外,当接收到数据表生成请求后,可以从中获取到存储载体要素,然后通过如下规则g来表示或定义存储载体要素:
Engine.NameSpace.Table[defaultDateType[DataType,……],DateFor mat,Comment]。
上述规则g中DataFormat表示schema语句的表现形式,将类SQL存储引擎的schema表现形式用关键字DDL定义,类Json存储引擎的schema的表现形式用关键字JSON定义,等等。Comment表示字段是否需要注释信息,使用TRUE和FALSE进行定义。
在使用时按照规则g进行模型范式定义,为了在多次使用时避免重复定义范式,将定义后范式保存在本系统的元数据库Mysql中,供在重复使用时进行快速选择。同时支持定义的模板范式提供共享发布的功能,进一步减低重复定义工作带来的资源浪费。
具体地,在本发明的一个实施例中,假设要将数据推送或保存到ElasticSearch存储引擎中,目标index为index_tmp,doc为doc_tmp,默认的数据类型为keyword,表中涉及的数据类型为keyword和integer,数据格式为json,则定义的模板范式为:
elasticsearch.index_tmp.doc_tmp[keyword[keyword,integer],json]。
通过该模板范式来表示存储载体要素,可以在后续生成建表语句时,很方便地获取到对应的存储载体要素。
步骤S102:根据所述存储引擎类型获取对应的数据表对象模板。
根据本发明的一个实施例,所述数据表对象模板是通过以下方式生成的:分别获取每个存储引擎对应的数据表对象语法规范;对每个存储引擎,对所述数据表对象语法规范中需要根据实际使用场景填充内容的位置使用占位符进行预占位,得到所述存储引擎对应的数据表对象模板。
由于不同的存储引擎中数据表的schema语法规范不尽相同,因此需要系统中预置相应的schema语法规范,通过支持添加自定义schema语法规范的方式实现对任意存储引擎的支持。得到相应的语法规范后,对语法规范中需要根据实际使用场景填充内容的位置使用占位符进行预占位。从而得到对应存储引擎的数据表对象schema模板。此处,占位符例如可以包括关键字格式占位符({{KEY}}格式占位符)和内容格式占位符([[content]]格式占位符)。
步骤S103:对所述输入信息进行解析以得到待生成数据表的数据字段信息。在本发明的实施例中,输入信息例如有以下两种情况:其一是数据加工的SQL脚本(通常是insert into select类型的SQL),其二是数据仓库中已有的数据表(例如,hive表)中的数据。
当输入信息是数据加工的SQL脚本时,SQL脚本中是完整包含结果表字段信息的,如下表1代码中所示的select到from部分的内容,此时直接将此部分文本作为输入信息进行解析以得到待生成数据表的数据字段信息。
表1
当输入信息是数据仓库中已有的数据表中的数据时,可以通过如查看已有数据表的表结构等方式来获取数据表中的字段信息,查看数据表结构的方式可能有多种,但是得到的字段信息大体如下表2,此时直接将此部分文本作为输入信息进行解析以得到待生成数据表的数据字段信息。
表2
根据本发明的一个实施例,对所述输入信息进行解析以得到待生成数据表的数据字段信息,具体可以包括:根据所述输入信息对应的数据格式确定正则表达式,并使用所述正则表达式对所述输入信息进行逐行匹配,以得到待生成数据表的数据字段信息。具体地,所述输入信息对应的数据格式是根据数据格式关键字的值来确定的,所述数据格式关键字包括:字段名称关键字、字段类型关键字和字段注释关键字。
在实际使用过程中输入信息的格式可能是多种多样的,但是无论何种存储引擎,字段的信息要素主要包含三种:字段名称、字段类型和字段注释comment,其中comment为选填项。通过模板范式关键字的方式解决不同输入格式的问题。故而,本发明的实施例中,定义数据格式关键字包括字段名称关键字、字段类型关键字和字段注释关键字。定义字段名称关键字为CN,字段类型关键字为CT,字段注释comment关键字为CC。因为存在字段的信息要素可能缺失的情况,通过在关键字后增加[0/1]的方式表示是否缺失的情况,如CC[0]表示字段注释关键字CC存在部分包含(部分缺失),CC[1]表示一定包含。在输入信息中会包括各个数据格式关键字对应的值(0或1)或者会提供数据样例,以供解析生成正则表达式,同时对输入信息的解析结果包含的三个要素(字段名、字段类型、字段注释)还可以进行封装。其中,数据样例无须关注数据格之间的空白字符,且输入数据长度不一致时按照长度最长的数据进行数据样例的定义。
借助正则解析的方式解析输入信息,具体步骤如下:
针对表1中所给出的输入信息,假设给定的数据样例格式为“as CN[1]--CC[0]”,解析给定数据样例的关键字得到输入信息包含字段名称和部分存在字段注释信息。从而生成正则表达式为:(.+)\s+as\s+--\s+(.*),然后按行依次处理输入信息,通过提取第一个括号和第二个括号中的值作为字段名称和字段注释。由于SQL中并不包含字段类型信息,将全部字段类型设置为模板范式定义中给出的模型数据类型,并将结果进行封装。
针对表2中所给出的输入信息,由于通过不同方式得到的表结构信息可能存在顺序和结果数量上的差异。因此需要在输入信息时额外定义输入顺序和数量信息。给定的数据样例格式为“CN[1]CT[1]CC[1]”,生成的正则表达式为:(.+)\s+([a-zA-Z]+)\s+(.+),逐行进行匹配,通过提取第一个括号、第二个括号和第三个括号中的文本作为字段名称、字段类型和字段注释,并将结果进行封装。
根据本发明的其中一个实施例,在对所述输入信息进行解析以得到待生成数据表的数据字段信息之后,还可以通过页面将解析得到的数据字段信息以表格的方式展示,以供用户对所述数据字段信息进行局部校正。输入信息全部解析完成后,为了使结果准确无误,通过web页面将结果以表格的方式列出供使用者对字段进行局部校正。其中字段类型信息使用模板范式中给定的类型值填充下拉框选项下拉选项,以下拉框方式进行展示,便于使用者进行修改从而提供用户友好型操作,此作为功能性增强。最后使用校正后的数据替换自动解析后的数据。
步骤S104:根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
根据本发明的一个实施例,根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,具体可以包括:根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,以生成建表语句。
在本发明的一个具体实施例中,从占位符所对应的内容来分类,所述占位符包括存储载体要素占位符和数据字段占位符。根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,包括:根据所述存储载体要素对所述数据表对象模板中的存储载体要素占位符进行替换,根据所述数据字段信息对所述数据表对象模板中的数据字段占位符进行替换。
在本发明的另一个具体实施例中,从占位符所对应的格式来分类,所述占位符包括关键字格式占位符和内容格式占位符。其中,关键字格式占位符为{{KEY}}格式占位符,即:以“{{}}”来表示的占位符,内容格式占位符为“[[content]]”格式占位符,即:以“[[]]”来表示的占位符。在内容格式占位符中还可以包括一些关键字格式占位符。根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,可以包括:根据所述存储载体要素和所述数据字段信息,通过关键字匹配的方式对所述关键字格式占位符进行替换;根据所述存储载体要素和所述数据字段信息,生成所述内容格式占位符所对应的数据,并使用所述内容格式占位符所对应的数据替换所述内容格式占位符。具体地,对于{{KEY}}格式占位符,通过关键字匹配的方式直接从存储载体要素和数据字段信息中匹配对应的值,并直接替换即可;对于[[content]]格式占位符,表示字段迭代部分,对于[[content]]内容中存在的{{KEY}}占位符也是直接匹配替换,对于[[content]]内容中非{{key}}之外的内容保持不变,根据实际字段内容迭代在末尾追加,不保留末尾[[content]]内容中的元素连接符(逗号),即可生成[[content]]内容,然后使用[[content]]内容来替换模板中的[[content]]格式占位符即可。
通过对数据表对象模板中的所有占位符进行替换之后,即可生成建表语句,从而使用建表语句来生成数据表。实现了根据自定义模板来快速生成指定存储引擎类别的数据表,可以针对不同的存储引擎,根据输入信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建“表”语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。
在本发明的实施例中,上述的步骤S102和步骤S103可以同时执行,也可以先后执行,且两个步骤之间的先后顺序不固定。
图2是本发明一个实施例的数据表生成流程示意图。如图2所示,在本发明的实施例中,在生成数据表时,首先获取用户输入的前端信息;对前端信息进行解析得到数据字段信息,并对前端信息进行模型范式处理得到存储载体要素,存储载体要素包括存储引擎类型;然后根据存储引擎类型获取对应的数据表对象模板;之后,再结合存储载体要素、数据表对象模板和数据字段信息生成数据表。
图3是根据本发明实施例的数据表的生成装置的主要模块示意图。如图3所示,本发明实施例的数据表的生成装置300主要包括:
数据获取模块301,用于响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;
模板获取模块302,用于根据所述存储引擎类型获取对应的数据表对象模板;
字段解析模块303,用于对所述输入信息进行解析以得到待生成数据表的数据字段信息;
数据表生成模块304,用于根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
根据本发明的一个实施例,字段解析模块303还可以用于:根据所述输入信息对应的数据格式确定正则表达式,并使用所述正则表达式对所述输入信息进行逐行匹配,以得到待生成数据表的数据字段信息。
根据本发明的另一个实施例,所述输入信息对应的数据格式是根据数据格式关键字的值来确定的,所述数据格式关键字包括:字段名称关键字、字段类型关键字和字段注释关键字。
根据本发明的又一个实施例,数据表的生成装置300还可以包括字段校正模块(图中未示出),用于:在对所述输入信息进行解析以得到待生成数据表的数据字段信息之后,通过页面将解析得到的数据字段信息以表格的方式展示,以供用户对所述数据字段信息进行局部校正。
根据本发明的又一个实施例,所述数据表对象模板是通过以下方式生成的:分别获取每个存储引擎对应的数据表对象语法规范;对每个存储引擎,对所述数据表对象语法规范中需要根据实际使用场景填充内容的位置使用占位符进行预占位,得到所述存储引擎对应的数据表对象模板。
根据本发明的又一个实施例,数据表生成模块304还可以用于:根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,以生成建表语句。
根据本发明的又一个实施例,所述占位符包括存储载体要素占位符和数据字段占位符;数据表生成模块304还可以用于:根据所述存储载体要素对所述数据表对象模板中的存储载体要素占位符进行替换,根据所述数据字段信息对所述数据表对象模板中的数据字段占位符进行替换。
根据本发明的又一个实施例,所述占位符包括关键字格式占位符和内容格式占位符;数据表生成模块304还可以用于:根据所述存储载体要素和所述数据字段信息,通过关键字匹配的方式对所述关键字格式占位符进行替换;根据所述存储载体要素和所述数据字段信息,生成所述内容格式占位符所对应的数据,并使用所述内容格式占位符所对应的数据替换所述内容格式占位符。
根据本发明实施例的技术方案,通过响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,存储载体要素包括存储引擎类型;根据存储引擎类型获取对应的数据表对象模板;对输入信息进行解析以得到待生成数据表的数据字段信息;根据存储载体要素、数据表对象模板和数据字段信息生成建表语句,并使用建表语句生成数据表的技术方案,实现了根据自定义模板来快速生成指定存储引擎类别的数据表,可以针对不同的存储引擎,根据输入信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建表语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。
图4示出了可以应用本发明实施例的数据表的生成方法或数据表的生成装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如数据库类应用、数据表应用、搜索类应用、数据管理软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据表生成请求等数据进行响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;根据所述存储引擎类型获取对应的数据表对象模板;对所述输入信息进行解析以得到待生成数据表的数据字段信息;根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表等处理,并将处理结果(例如生成的数据表--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据表的生成方法一般由服务器405执行,相应地,数据表的生成装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据获取模块、模板获取模块、字段解析模块和数据表生成模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,字段解析模块还可以被描述为“用于对所述输入信息进行解析以得到待生成数据表的数据字段信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;根据所述存储引擎类型获取对应的数据表对象模板;对所述输入信息进行解析以得到待生成数据表的数据字段信息;根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
根据本发明实施例的技术方案,通过响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,存储载体要素包括存储引擎类型;根据存储引擎类型获取对应的数据表对象模板;对输入信息进行解析以得到待生成数据表的数据字段信息;根据存储载体要素、数据表对象模板和数据字段信息生成建表语句,并使用建表语句生成数据表的技术方案,实现了根据自定义模板来快速生成指定存储引擎类别的数据表,可以针对不同的存储引擎,根据输入信息进行自动化的解析得到每个字段信息,然后结合预置的模板信息,一键生成对应存储引擎的建表语句。实现模板一次配置重复使用、快速的字段信息输入,简化开发过程提高工作效率,以及降低不同存储引擎建表语法规范的学习成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种数据表的生成方法,其特征在于,包括:
响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;
根据所述存储引擎类型获取对应的数据表对象模板;
对所述输入信息进行解析以得到待生成数据表的数据字段信息;
根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
2.根据权利要求1所述的方法,其特征在于,对所述输入信息进行解析以得到待生成数据表的数据字段信息,包括:
根据所述输入信息对应的数据格式确定正则表达式,并使用所述正则表达式对所述输入信息进行逐行匹配,以得到待生成数据表的数据字段信息。
3.根据权利要求2所述的方法,其特征在于,所述输入信息对应的数据格式是根据数据格式关键字的值来确定的,所述数据格式关键字包括:字段名称关键字、字段类型关键字和字段注释关键字。
4.根据权利要求1所述的方法,其特征在于,对所述输入信息进行解析以得到待生成数据表的数据字段信息之后,还包括:
通过页面将解析得到的数据字段信息以表格的方式展示,以供用户对所述数据字段信息进行局部校正。
5.根据权利要求1所述的方法,其特征在于,所述数据表对象模板是通过以下方式生成的:
分别获取每个存储引擎对应的数据表对象语法规范;
对每个存储引擎,对所述数据表对象语法规范中需要根据实际使用场景填充内容的位置使用占位符进行预占位,得到所述存储引擎对应的数据表对象模板。
6.根据权利要求1或5所述的方法,其特征在于,根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,包括:
根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,以生成建表语句。
7.根据权利要求6所述的方法,其特征在于,所述占位符包括存储载体要素占位符和数据字段占位符;
根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,包括:
根据所述存储载体要素对所述数据表对象模板中的存储载体要素占位符进行替换,根据所述数据字段信息对所述数据表对象模板中的数据字段占位符进行替换。
8.根据权利要求6所述的方法,其特征在于,所述占位符包括关键字格式占位符和内容格式占位符;
根据所述存储载体要素和所述数据字段信息,对所述数据表对象模板中的占位符进行替换,包括:
根据所述存储载体要素和所述数据字段信息,通过关键字匹配的方式对所述关键字格式占位符进行替换;
根据所述存储载体要素和所述数据字段信息,生成所述内容格式占位符所对应的数据,并使用所述内容格式占位符所对应的数据替换所述内容格式占位符。
9.一种数据表的生成装置,其特征在于,包括:
数据获取模块,用于响应于数据表生成请求,获取待生成的数据表对应的输入信息和存储载体要素,所述存储载体要素包括存储引擎类型;
模板获取模块,用于根据所述存储引擎类型获取对应的数据表对象模板;
字段解析模块,用于对所述输入信息进行解析以得到待生成数据表的数据字段信息;
数据表生成模块,用于根据所述存储载体要素、所述数据表对象模板和所述数据字段信息生成建表语句,并使用所述建表语句生成数据表。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202310631813.XA 2023-05-31 2023-05-31 一种数据表的生成方法和装置 Pending CN119066062A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310631813.XA CN119066062A (zh) 2023-05-31 2023-05-31 一种数据表的生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310631813.XA CN119066062A (zh) 2023-05-31 2023-05-31 一种数据表的生成方法和装置

Publications (1)

Publication Number Publication Date
CN119066062A true CN119066062A (zh) 2024-12-03

Family

ID=93643250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310631813.XA Pending CN119066062A (zh) 2023-05-31 2023-05-31 一种数据表的生成方法和装置

Country Status (1)

Country Link
CN (1) CN119066062A (zh)

Similar Documents

Publication Publication Date Title
CN109933752B (zh) 一种导出电子文档的方法和装置
US20140207826A1 (en) Generating xml schema from json data
CN110019350A (zh) 基于配置信息的数据查询方法和装置
CN110109979B (zh) 一种配置表单选项方法和装置
CN113536748B (zh) 一种生成图表数据的方法和装置
US20220284371A1 (en) Method, device and medium for a business function page
CN111125064B (zh) 一种生成数据库模式定义语句的方法和装置
EP2284737A1 (en) Data comparison system
CN116483850A (zh) 数据处理方法、装置、设备以及介质
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN113419740A (zh) 程序数据流的分析方法、装置、电子设备及可读存储介质
CN113495730B (zh) 资源包的生成及解析方法和装置
CN110555178B (zh) 数据代理方法及装置
CN113760961A (zh) 数据查询方法和装置
CN113760240B (zh) 一种生成数据模型的方法和装置
CN112287266B (zh) 一种网页配置的处理方法及其装置、设备及存储介质
CN113760949B (zh) 数据查询的方法和装置
CN113392623B (zh) 服务数据对象生成方法、生成装置、电子设备及存储介质
US11294649B1 (en) Techniques for translating between high level programming languages
CN119066062A (zh) 一种数据表的生成方法和装置
CN117194463A (zh) 一种查询报表数据的方法和装置
CN114816382A (zh) 一种处理页面的方法和装置
CN111523295B (zh) 数据渲染方法、装置、介质及电子设备
CN115994151B (zh) 数据请求变更方法、装置、电子设备和计算机可读介质
US20240303048A1 (en) Systems and methods for implementing homoiconic representations of client-specific datasets

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