CN111930349B - 一种程序包生成方法、装置、电子设备及存储介质 - Google Patents

一种程序包生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111930349B
CN111930349B CN202010773579.0A CN202010773579A CN111930349B CN 111930349 B CN111930349 B CN 111930349B CN 202010773579 A CN202010773579 A CN 202010773579A CN 111930349 B CN111930349 B CN 111930349B
Authority
CN
China
Prior art keywords
program
document
section
segment
subroutine
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
CN202010773579.0A
Other languages
English (en)
Other versions
CN111930349A (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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202010773579.0A priority Critical patent/CN111930349B/zh
Publication of CN111930349A publication Critical patent/CN111930349A/zh
Application granted granted Critical
Publication of CN111930349B publication Critical patent/CN111930349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种程序包生成方法、装置、电子设备及存储介质。该方法包括:获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;解析所述包头定义段文档,以生成包头定义段程序;解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;根据所述包头定义段程序和所述子程序段程序,生成程序包。通过运行本发明实施例所提供的技术方案,可以解决通过设计文档编写程序包的阶段中,存在重复性工作的情况以及程序开发人员在手工录入时,容易出现手误的问题,实现提高程序包生成效率和准确率的效果。

Description

一种程序包生成方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种程序包生成方法、装置、电子设备及存储介质。
背景技术
IT项目实施通常有四个阶段:需求分析、系统设计、编码开发、测试和维护。数据类IT项目在系统设计阶段,需要产出数据映射设计文档;在编码开发阶段,程序开发人员需要根据数据映射设计文档手工编写出数据库程序包。
在通过设计文档编写程序包的阶段中,存在重复性工作的情况:数据映射和数据变换转换的信息在设计文档中已填写过,而在开发阶段,同样的信息又需要重新手工录入到程序包中。程序开发人员在手工录入时,也容易出现手误的情况。
发明内容
本发明实施例提供一种程序包生成方法、装置、电子设备及存储介质,以实现提高程序包生成效率和准确率的效果。
第一方面,本发明实施例提供了一种程序包生成方法,该方法包括:
获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
解析所述包头定义段文档,以生成包头定义段程序;
解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;
根据所述包头定义段程序和所述子程序段程序,生成程序包。
第二方面,本发明实施例还提供了一种程序包生成装置,该装置包括:
文档获取模块,用于获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
第一程序生成模块,用于解析所述包头定义段文档,以生成包头定义段程序;
第二程序生成模块,用于解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;
程序包生成模块,用于根据所述包头定义段程序和所述子程序段程序,生成程序包。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的程序包生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的程序包生成方法。
本发明实施例通过获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;解析所述包头定义段文档,以生成包头定义段程序;解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;根据所述包头定义段程序和所述子程序段程序,生成程序包。解决通过设计文档编写程序包的阶段中,存在重复性工作的情况以及程序开发人员在手工录入时,容易出现手误的问题,实现提高程序包生成效率和准确率的效果。
附图说明
图1为本发明实施例一提供的一种程序包生成方法的流程图;
图2为本发明实施例二提供的一种程序包生成方法的流程图;
图3为本发明实施例二提供的一种程序设计文档的示意图;
图4为本发明实施例三提供的一种程序包生成装置的结构示意图;
图5为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种程序包生成方法的流程图,本实施例可适用于通过解析程序设计文档,自动生成程序包的情况,该方法可以由本发明实施例所提供的程序包生成装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的程序包生成方法,包括:
步骤110、获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档。
其中,预设程序设计文档为在数据加工的设计阶段产出的文档,用于开发阶段的开发人员依据程序设计文档开发程序包。数据加工是将源数据通过一定的数据映射和数据变换转换为目标数据的设计开发过程。数据映射为一种数据处理逻辑的设计方法,用于将某项数据按某个变换逻辑加工成另一个字段。
程序设计文档可以基于多个数据类项目的实施经验,整合各项目的程序设计文档,对程序设计文档进行结构化定义而形成。
包头定义段文档用于生成程序包中的包头定义段程序。子程序段文档用于生成程序包中的子程序段程序。
步骤120、解析所述包头定义段文档,以生成包头定义段程序。
其中,包头定义段程序是应用程序的接口,声明包内变量、常量、游标、子程序、数据类型和异常处理等元素。
包头定义段文档可以包括:程序包名称、程序名称和参数名。程序包名称为唯一识别程序包的英文名称,程序名称为存储过程子程序的名称;参数名为存储过程传入传出参数列表名称。其中,存储过程为在数据库系统中,一组为了完成如数据加工等特定功能的SQL语句集,在编译通过后,可以被反复调用。
通过对包头定义段文档进行解析,生成程序包中包头定义段的程序。
本实施例中,可选的,当预设程序设计文档通过EXCEL生成时,可以通过EXCEL2SQL工具解析预设程序设计文档,将程序设计文档解析生成SQL程序包。
步骤130、解析所述子程序段文档,并根据子程序段类型,生成子程序段程序。
其中,子程序段程序是程序包中子程序的具体实现。子程序段类型为子程序所执行的功能,例如合并、查询等,本实施例对此不作限制。根据子程序段类型,生成与子程序段类型对应的范式的子程序段程序。
子程序段文档可以包括表名段,映射段,源表关联段。
表名段可以包括:
(1)逻辑表名:目标表的中文名称,其中,目标表为数据加工过程中的结果表。
(2)物理表名:目标表的英文全称
(3)物理表别名:目标表的英文简称
(4)加工周期:用户可以通过下拉选择框,选择存储过程的运行频率,可以包括:日、月、年
(5)加工类型:用户可以通过下拉选择框,选择子程序段类型。
本实施例中,可选的,所述子程序段类型包括查询(SELECT)、插入(INSERT)、更新(UPDATE)、合并(MERGE)中的至少一种。
本实施例中,可选的,若所述程序包应用于源表和/或目标表,则根据子程序段类型,生成子程序段程序,包括:
若所述子程序段类型为查询,则生成用于查询所述源表的子程序段程序;
若所述子程序段类型为插入,则生成用于将所述源表插入所述目标表的子程序段程序;
若所述子程序段类型为更新,则生成用于查询所述目标表的子程序段程序;
若所述子程序段类型为合并,则生成用于将所述源表与所述目标表合并的子程序段程序。
其中,源表为数据加工过程中的数据来源表。若所述子程序段类型为查询,则子程序段程序用于查询源表的指定内容,例如入库时间、客户编号等,本实施例对此不作限制;
若子程序段类型为插入,则子程序段程序用于将源表插入目标表,其中插入可以为将源表中的全部内容插入目标表中,也可以为源表中的部分内容插入目标表中,本实施例对此不作限制;
若子程序段类型为更新,则子程序段程序用于更新目标表,即将目标表中的已存在的内容根据要求更新为当前内容;
若所述子程序段类型为合并,则子程序段程序用于将源表与目标表合并,即将源表与目标表中所有内容进行合并,当内容匹配时,源表更新匹配的部分;当内容不匹配时,将源表中不匹配的部分插入目标表。
通过解析子程序段文档,根据子程序段类型,自动生成生成子程序段程序,以使子程序段程序执行不同的功能,提高了程序包生成效率以及程序包生成的通用性。
(6)设计人:编写该设计件的人名
(7)加工规则说明:文字描述,说明设计要实现的业务功能等
映射段可以包括:
(1)逻辑主键、物理主键:用户可以通过下拉选择框,选择是或否
逻辑主键为包含确切意义的唯一的键值,可根据逻辑主键的值了解到对应字段的一些具体信息,物理主键为由数据库自动生成的标号。
本实施例中,可选的,若所述子程序段类型为合并,所述方法还包括:
获取所述子程序段文档中字段的逻辑主键和/或物理主键的主键状态;其中,所述主键状态包括是或否;
根据所述主键状态判断所述字段是否为合并操作时的关联条件。
其中,当某一字段的逻辑主键和物理主键的主键状态均被选是(Y)时,代表该条字段作为合并操作时的关联条件,采用该条字段将目标表和源表进行匹配,以执行后续合并操作。逻辑主键和物理主键的主键状态均被选否(N)或者没有选择时,代表该条字段不作为合并操作时的关联条件。
当子程序段类型为合并时,即合并的对象中可能存在相同的字段,示例性的,子程序段文档中记载目标表字段中包括客户编号字段,源表中也包括客户编号字段,则通过对客户编号字段的逻辑主键和/或物理主键的主键状态选择,确定客户标号字段是否作为合并操作时的关联条件,若是,则合并时采用客户编号字段将目标表和源表进行匹配,以执行后续合并操作。从而提高合并操作的准确性和效率。
(2)目标表字段名:目标表字段的英文名称
(3)目标表字段描述:目标表字段的中文名称
(4)目标表字段数据类型:目标表字段的技术类型,可以包括字符类(CHAR)和数字类(NUMBER)等,本实施例对此不作限制
(5)源表别名:源表英文简称,对于长度较长的源表英文名称可以设置缩写
源表关联段可以包括:
(1)关联类型:用于可以通过下拉选择框,选择源表之间的连接关系,例如:左连接(LEFT JOIN),内连接(INNER JOIN)、右连接(RIGHT JOIN)、全外连接(FULL JOIN),交叉连接(CROSS JOIN)
(2)关联关系:源表间的关联关系
(3)源表所有者:填写源表所属的数据库模式(SCHEMA)
步骤140、根据所述包头定义段程序和所述子程序段程序,生成程序包。
每个程序包只有一个包头定义段程序,但有一个或多个子程序段程序,因此在生成包头定义段程序后,检测预设程序设计文档是否存在子程序段文档,解析所有子程序段文档,并根据子程序段类型,生成子程序段程序;将所有子程序段程序与包头定义段程序合并,从而获得程序包。
本发明实施例通过获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;解析所述包头定义段文档,以生成包头定义段程序;解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;根据所述包头定义段程序和所述子程序段程序,生成程序包。解决通过设计文档编写程序包的阶段中,存在重复性工作的情况以及程序开发人员在手工录入时,容易出现手误的问题,实现提高程序包生成效率和准确率的效果。
实施例二
图2为本发明实施例二提供的一种程序包生成方法的流程图,本技术方案是针对解析包头定义段文档之前的过程进行补充说明的。与上述方案相比,本方案具体优化为,在解析所述包头定义段文档之前,还包括:
根据预设校验规则校验所述预设程序设计文档;
若校验通过,则执行解析所述包头定义段文档操作。具体的,程序包生成方法的流程图如图2所示:
步骤210、获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档。
步骤220、根据预设校验规则校验所述预设程序设计文档;
若校验通过,则执行解析所述包头定义段文档操作。
其中,预设校验规则用于校验预设程序设计文档是否符合生成程序包的标准,示例性的,预设校验规则可以包括检查必填项,检查输入内容是否正确等,本实施例对此不作限制。当校验通过后执行解析包头定义段文档操作;若未通过,可以显示预设程序设计文档未通过校验部分,以便对预设程序设计文档进行更正。
步骤230、解析所述包头定义段文档,以生成包头定义段程序。
步骤240、解析所述子程序段文档,并根据子程序段类型,生成子程序段程序。
根据子程序段类型,生成子程序段程序,即按照对应类型的子程序段程序生成范式生成子程序段程序。示例性的:
(1)查询(SELECT)的子程序段程序生成范式如下:
SELECT源表英文名.源表字段名列表
[INTO物理表名]
FROM源表英文名
[WHERE数据过滤条件]
[GROUP BY聚合分组条件]
[ORDER BY排序条件];
(2)插入(INSERT)的SQL语句生成范式如下:
INSERT INTO
物理表名
VALUES(值1,值2,值3,…);
(3)更新(UPDATE)的SQL语句生成范式如下:
UPDATE
物理表名
SET目标字段名(列名)=列值
[WHERE数据过滤条件];
(4)合并(MERGE)的SQL语句生成范式如下:
Figure BDA0002617538510000101
本实施例中,可选的,所述子程序段文档包括条件段文档,所述条件段文档用于生成所述子程序段程序中的条件段程序;
所述条件段文档包括过滤、分类、排序中的至少一种。
其中,条件段文档可以包括:
(1)WHERE:进行数据过滤的条件,示例性的,在进行更新时,只更新性别为男的客户的数据。
(2)GROUP BY:进行聚合分组的条件,示例性的,分别获取性别为男的客户涉及的金额,和性别为女的客户涉及的金额。
(3)ORDER BY:进行排序的字段,以及排序是升级还是降序,示例性的,获取的数据按客户年龄大小降序排列。
通过设置条件段文档,满足程序包运行的特定要求。并且通过修改条件文档可以更改对应程序包中的条件段程序,提高了程序包生成的效率。
步骤250、根据所述包头定义段程序和所述子程序段程序,生成程序包。
图3为本发明实施例二提供的一种程序设计文档的示意图,如图3所示:
该程序设计文档用于实现将接口层的客户和参与人关系信息表合并(MERGE)到中间层的客户和参与人关系信息表中,即接口层的客户和参与人关系信息表为源表,中间层的客户和参与人关系信息表为目标表。程序设计文档分为:包头定义段和子程序段。子程序段又分为:表名段、映射段、源表关联段和条件段。通过将源表和目标表中的相同字段分别进行合并,以完成源表和目标表的合并。
校验程序设计文档,检验通过后,解析包头定义段文档,以生成包头定义段程序。解析子程序段文档,解析表名段、映射段、源表关联段和条件段,并按照合并子程序段程序的生成范式,生成子程序段程序。将子程序段程序与包头定义段程序合并,生成程序包。
本发明实施例通过根据预设校验规则校验预设程序设计文档,提升了设计阶段文档的质量,以提高程序包生成准确率。
实施例三
图4为本发明实施例三提供的一种程序包生成装置的结构示意图。该装置可以由硬件和/或软件的方式来实现,可执行本发明任意实施例所提供的一种程序包生成方法,具备执行方法相应的功能模块和有益效果。如图4所示,该装置包括:
文档获取模块410,用于获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
第一程序生成模块420,用于解析所述包头定义段文档,以生成包头定义段程序;
第二程序生成模块430,用于解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;
程序包生成模块440,用于根据所述包头定义段程序和所述子程序段程序,生成程序包。
本发明实施例通过获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;解析所述包头定义段文档,以生成包头定义段程序;解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;根据所述包头定义段程序和所述子程序段程序,生成程序包。解决通过设计文档编写程序包的阶段中,存在重复性工作的情况以及程序开发人员在手工录入时,容易出现手误的问题,实现提高程序包生成效率和准确率的效果。
在上述各技术方案的基础上,可选的,所述子程序段类型包括查询、插入、更新、合并中的至少一种。
在上述各技术方案的基础上,可选的,所述装置还包括:
文档校验模块,用于所述第一程序生成模块之前,根据预设校验规则校验所述预设程序设计文档;若校验通过,则执行解析所述包头定义段文档操作。
在上述各技术方案的基础上,可选的,所述子程序段文档包括条件段文档,所述条件段文档用于生成所述子程序段程序中的条件段程序;
所述条件段文档包括过滤、分类、排序中的至少一种。
在上述各技术方案的基础上,可选的,若所述子程序段类型为合并,所述装置还包括:
主键状态获取模块,用于获取所述子程序段文档中字段的逻辑主键和/或物理主键的主键状态;其中,所述主键状态包括是或否;
关联条件判断模块,用于根据所述主键状态判断所述字段是否为合并操作时的关联条件。
在上述各技术方案的基础上,可选的,若所述程序包应用于源表和/或目标表,则所述第二程序生成模块,包括:
第一程序生成单元,用于若所述子程序段类型为查询,则生成用于查询所述源表的子程序段程序;
第二程序生成单元,若所述子程序段类型为插入,则生成用于将所述源表插入所述目标表的子程序段程序;
第三程序生成单元,若所述子程序段类型为更新,则生成用于更新所述目标表的子程序段程序;
第四程序生成单元,若所述子程序段类型为合并,则生成用于将所述源表与所述目标表合并的子程序段程序。
实施例四
图5为本发明实施例四提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器50、存储器51、输入装置52和输出装置53;电子设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;电子设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的程序包生成方法对应的程序指令/模块。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的程序包生成方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种程序包生成方法,该方法包括:
获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
解析所述包头定义段文档,以生成包头定义段程序;
解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;
根据所述包头定义段程序和所述子程序段程序,生成程序包。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的程序包生成方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述程序包生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种程序包生成方法,其特征在于,包括:
获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
解析所述包头定义段文档,以生成包头定义段程序;其中,所述包头定义段程序用于声明程序包内元素;所述程序包内元素包括变量、常量、游标、子程序、数据类型和异常处理;
解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;所述子程序段类型包括合并;
获取所述子程序段文档中字段的逻辑主键和/或物理主键的主键状态;其中,所述主键状态包括是或否;
根据所述主键状态判断所述字段是否为合并操作时的关联条件;
根据所述包头定义段程序和所述子程序段程序,生成程序包。
2.根据权利要求1所述的方法,其特征在于,所述子程序段类型还包括查询、插入和更新中的至少一种。
3.根据权利要求1所述的方法,其特征在于,在解析所述包头定义段文档之前,还包括:
根据预设校验规则校验所述预设程序设计文档;
若校验通过,则执行解析所述包头定义段文档操作。
4.根据权利要求1所述的方法,其特征在于,所述子程序段文档包括条件段文档,所述条件段文档用于生成所述子程序段程序中的条件段程序;
所述条件段文档包括过滤、分类、排序中的至少一种。
5.根据权利要求2所述的方法,其特征在于,若所述程序包应用于源表和/或目标表,则根据子程序段类型,生成子程序段程序,包括:
若所述子程序段类型为查询,则生成用于查询所述源表的子程序段程序;
若所述子程序段类型为插入,则生成用于将所述源表插入所述目标表的子程序段程序;
若所述子程序段类型为更新,则生成用于更新所述目标表的子程序段程序;
若所述子程序段类型为合并,则生成用于将所述源表与所述目标表合并的子程序段程序。
6.一种程序包生成装置,其特征在于,包括:
文档获取模块,用于获取预设程序设计文档;其中,所述预设程序设计文档包括包头定义段文档和子程序段文档;
第一程序生成模块,用于解析所述包头定义段文档,以生成包头定义段程序;其中,所述包头定义段程序用于声明程序包内元素;所述程序包内元素包括变量、常量、游标、子程序、数据类型和异常处理;
第二程序生成模块,用于解析所述子程序段文档,并根据子程序段类型,生成子程序段程序;所述子程序段类型包括合并;
主键状态获取模块,用于获取所述子程序段文档中字段的逻辑主键和/或物理主键的主键状态;其中,所述主键状态包括是或否;
关联条件判断模块,用于根据所述主键状态判断所述字段是否为合并操作时的关联条件;
程序包生成模块,用于根据所述包头定义段程序和所述子程序段程序,生成程序包。
7.根据权利要求6所述的装置,其特征在于,所述子程序段类型还包括查询、插入和更新中的至少一种。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
文档校验模块,用于所述第一程序生成模块之前,根据预设校验规则校验所述预设程序设计文档;若校验通过,则执行解析所述包头定义段文档操作。
9.根据权利要求6所述的装置,其特征在于,所述子程序段文档包括条件段文档,所述条件段文档用于生成所述子程序段程序中的条件段程序;
所述条件段文档包括过滤、分类、排序中的至少一种。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的程序包生成方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的程序包生成方法。
CN202010773579.0A 2020-08-04 2020-08-04 一种程序包生成方法、装置、电子设备及存储介质 Active CN111930349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010773579.0A CN111930349B (zh) 2020-08-04 2020-08-04 一种程序包生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010773579.0A CN111930349B (zh) 2020-08-04 2020-08-04 一种程序包生成方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111930349A CN111930349A (zh) 2020-11-13
CN111930349B true CN111930349B (zh) 2023-06-06

Family

ID=73307731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010773579.0A Active CN111930349B (zh) 2020-08-04 2020-08-04 一种程序包生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111930349B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004054714A (ja) * 2002-07-22 2004-02-19 Nec Corp データベースアクセス用スクリプト作成システムおよび方法ならびにスクリプト生成プログラム
CA2456771A1 (en) * 2003-02-13 2004-08-13 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
CN105160012A (zh) * 2015-09-23 2015-12-16 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
CN110442329A (zh) * 2019-06-26 2019-11-12 平安科技(深圳)有限公司 代码段的生成方法、装置、存储介质及计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601438B2 (en) * 2008-11-17 2013-12-03 Accenture Global Services Limited Data transformation based on a technical design document
CN103488694A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 业务数据查询装置和业务数据查询方法
CN110209662A (zh) * 2018-02-13 2019-09-06 北京京东尚科信息技术有限公司 一种自动化加载数据的方法和装置
CN109375943A (zh) * 2018-10-18 2019-02-22 中国银行股份有限公司 一种程序文件生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004054714A (ja) * 2002-07-22 2004-02-19 Nec Corp データベースアクセス用スクリプト作成システムおよび方法ならびにスクリプト生成プログラム
CA2456771A1 (en) * 2003-02-13 2004-08-13 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
CN105160012A (zh) * 2015-09-23 2015-12-16 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
CN110442329A (zh) * 2019-06-26 2019-11-12 平安科技(深圳)有限公司 代码段的生成方法、装置、存储介质及计算机设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Efficiently publishing relational data as XML documents;Jayavel Shanmugasundaram 等;《The VLDB Journal 》;133-154 *
代码生成技术在管理信息系统开发中的研究与应用;董玉明;《中国优秀硕士学位论文全文数据库信息科技辑》;1-54 *
支持企业业务信息系统快速变更的代码生成方法改进;肖小岚;《中国优秀硕士学位论文全文数据库信息科技辑》;1-93 *

Also Published As

Publication number Publication date
CN111930349A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN107644323B (zh) 一种面向业务流的智能审核系统
US6684222B1 (en) Method and system for translating data associated with a relational database
CN112650766B (zh) 数据库数据操作的方法、系统及服务器
US10324929B2 (en) Provision of position data for query runtime errors
US20050144166A1 (en) Method for assisting in automated conversion of data and associated metadata
US20050183002A1 (en) Data and metadata linking form mechanism and method
US20020103835A1 (en) Methods and apparatus for constructing semantic models for document authoring
US20170228356A1 (en) System Generator Module for Electronic Document and Electronic File
CN111628975A (zh) 一种组装xml报文的方法及装置
Sneed et al. Testing big data (Assuring the quality of large databases)
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
US8290950B2 (en) Identifying locale-specific data based on a total ordering of supported locales
CN109344306B (zh) 一种领域多标准元数据定制化在线汇交与服务方法及系统
US20060242169A1 (en) Storing and indexing hierarchical data spatially
CN111930349B (zh) 一种程序包生成方法、装置、电子设备及存储介质
Agrawal et al. An enhanced extract-transform-load system for migrating data in Telecom billing
KR20130064160A (ko) Rdf 데이터에 대한 sparql 질의 결과의 개체 관계 변형 시스템 및 그 방법
CN110147396B (zh) 一种映射关系生成方法及装置
CN115905353A (zh) 关联数据导出、导入方法、装置、设备及存储介质
CN115544132A (zh) 数据导入方法、系统及电子设备
CN115579096A (zh) 一种针对药物警戒e2b r3标准报告的自动生成与解析验证方法、系统及存储介质
CN114296726A (zh) 一种代码生成方法、装置、计算机设备和存储介质
CN114118944A (zh) 一种取证实验室分级管理方法、终端设备及存储介质
CN109657010B (zh) 文档处理方法、装置和存储介质
Dhakal et al. Library Tweets Conversion

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
TA01 Transfer of patent application right

Effective date of registration: 20220923

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant