CN114371832A - 基于语义分析的业务代码生成方法、装置和存储介质 - Google Patents

基于语义分析的业务代码生成方法、装置和存储介质 Download PDF

Info

Publication number
CN114371832A
CN114371832A CN202111526418.2A CN202111526418A CN114371832A CN 114371832 A CN114371832 A CN 114371832A CN 202111526418 A CN202111526418 A CN 202111526418A CN 114371832 A CN114371832 A CN 114371832A
Authority
CN
China
Prior art keywords
business
service
semantic analysis
data
description
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
CN202111526418.2A
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.)
Digital Guangdong Network Construction Co Ltd
Original Assignee
Digital Guangdong Network Construction 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 Digital Guangdong Network Construction Co Ltd filed Critical Digital Guangdong Network Construction Co Ltd
Priority to CN202111526418.2A priority Critical patent/CN114371832A/zh
Publication of CN114371832A publication Critical patent/CN114371832A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking

Landscapes

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

Abstract

本发明公开了一种基于语义分析的业务代码生成方法、装置和存储介质,包括:通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动;通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;确定所述数据对象的对象属性;根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。上述技术方案,实现了业务描述所对应的中台程序和/或前台程序的业务代码的自动化生成,提高电子政务系统的可扩展性和灵活性,进一步提升电子政务系统的建设效率。

Description

基于语义分析的业务代码生成方法、装置和存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种基于语义分析的业务代码生 成方法、装置和存储介质。
背景技术
现有技术构建电子政务,往往需要将系统分为业务前台和业务中台,通常 基于领域驱动设计业务中台,但是并没有标准规范的设计方法,往往需要依赖 业务专家和系统架构师的协作,比较依赖于个人经验和能力。
因此,亟需一种基于语义分析的业务代码生成方法,实现根据电子政务中 的业务描述自动生成对应中台程序和前台程序的业务代码。
发明内容
本发明提供一种基于语义分析的业务代码生成方法、装置和存储介质,以 实现根据业务描述自动生成对应中台程序和/或前台程序的业务代码。
第一方面,本发明实施例提供了一种基于语义分析的业务代码生成方法, 包括:
通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业 务活动;
通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;
确定所述数据对象的对象属性;
根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所 述业务描述对应中台程序和/或前台程序的业务代码。
本发明实施例提供一种基于语义分析的业务代码生成方法,包括:通过对 业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动;通 过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;确定 所述数据对象的对象属性;根据所述业务对象、所述数据对象、所述对象属性 和所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。上 述技术方案,对业务描述进行第一语义分析得到业务描述对应的业务对象和业 务活动,对业务对象进行第二语义分析,得到业务对象对应的数据对象,在确 定数据对象的对象属性后,根据业务对象、数据对象、对象属性和业务活动可 以自动生成业务描述在电子政务系统中对应的中台程序和/或前台程序的业务 代码,实现了业务描述所对应的中台程序和/或前台程序的业务代码的自动化生 成,提高电子政务系统的可扩展性和灵活性,进一步提升电子政务系统的建设 效率。
进一步地,通过对业务描述进行第一语义分析,将所述业务描述拆分为业 务对象和业务活动,包括:
通过第一语义分析模型对所述业务描述进行第一语义分析,拆分所述业务 描述得到预设业务对象和预设业务活动;
如果所述预设业务对象与历史业务对象的相似度大于预设阈值,则将所述 历史业务对象确定为所述业务描述对应的业务对象;
如果所述预设业务活动与历史业务活动的相似度大于预设阈值,则将所述 历史业务活动确定为所述业务描述对应的业务活动。
进一步地,根据所述业务对象、所述数据对象、所述对象属性和所述业务 活动生成所述业务描述对应中台程序的业务代码,包括:
根据所述数据对象和所述业务对象创建代码工程,所述代码工程包含生成 所述中台程序的标准目录层级和文件,所述标准目录层级包括控制层、服务层、 数据访问层和数据实体层;
在所述控制层、所述服务层和所述数据访问层的目录下,分别为所述业务 对象生成对应的接口类、服务类、数据访问类和各类之间的调用方法;
在所述数据实体层的目录下,为所述数据对象生成对应的实体类;
根据所述对象属性为所述实体类生成相应的对象属性和对象方法,并生成 语句文件,以基于所述语句文件创建所述中台程序所需的数据库表和字段。
进一步地,根据所述业务对象、所述数据对象、所述对象属性和所述业务 活动生成所述业务描述对应前台程序的业务代码,包括:
根据所述业务活动生成前端页面,并根据所述对象属性为所述前端页面生 成页面内容,所述页面内容包括表格元素、标题元素、输入框元素、下拉框元 素和单选框元素至少之一;
根据所述接口类在所述前端页面上生成交互按钮,所述交互按钮用于在用 户的触发下基于所述接口类调用所述中台程序的业务代码。
进一步地,所述交互按钮还用于在用户的触发下关联所述前台程序和所述 中台程序之间的数据对象。
进一步地,通过对所述业务对象进行第二语义分析,将所述业务对象拆分 为数据对象,包括:
基于第二语义分析模型,对所述业务对象进行第二语义分析,将所述业务 对象拆分出至少一个初始数据对象;
根据所述业务活动确定相关的初始数据对象,并将所述相关的初始数据对 象确认为所述数据对象。
进一步地,确定所述数据对象的对象属性,包括:
基于所述数据对象,录入所述数据对象对应的属性参数,形成所述对象属 性;
或根据所述业务活动和所述数据对象,建立所述数据对象和所述业务活动 之间的数据关系,录入所述数据对象对应的属性参数,生成所述数据对象和关 系属性;
将所述对象属性和/或所述关系属性分别关联所述业务描述,并存储于数据 库中。
第二方面,本发明实施例还提供了一种基于语义分析的业务代码生成装置, 包括:
第一语义分析模块,用于通过对业务描述进行第一语义分析,将所述业务 描述拆分为业务对象和业务活动;
第二语义分析模块,用于通过对所述业务对象进行第二语义分析,将所述 业务对象拆分为数据对象;
确定模块,用于确定所述数据对象的对象属性;
生成模块,用于根据所述业务对象、所述数据对象、所述对象属性和所述 业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
第三方面,本发明实施例还提供了一种基于语义分析的业务代码生成装置, 所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当 所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理 器实现如第一方面中任一所述的基于语义分析的业务代码生成方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质, 所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面中任一所 述的基于语义分析的业务代码生成方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算 机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面提供的 基于语义分析的业务代码生成方法。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储 介质上。其中,计算机可读存储介质可以与基于语义分析的业务代码生成装置 的处理器封装在一起的,也可以与基于语义分析的业务代码生成装置的处理器 单独封装,本申请对此不做限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考 第一方面的详细描述;并且,第二方面、第三方面、第四方面、以及第五方面 的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述基于语义分析的业务代码生成装置的名字对设备或功能 模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出 现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其 等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本发明实施例一提供的一种基于语义分析的业务代码生成方法的流 程图;
图2为本发明实施例二提供的一种基于语义分析的业务代码生成方法的流 程图;
图3为本发明实施例三提供的一种基于语义分析的业务代码生成装置的结 构示意图;
图4为本发明实施例四提供的一种基于语义分析的业务代码生成装置的结 构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此 处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需 要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结 构。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存 在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单 独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同 的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺 序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何 变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方 法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其 他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备 固有的其它步骤或单元。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被 描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述 成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此 外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止, 但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、 规程、子例程、子程序等等。此外,在不冲突的情况下,本发明中的实施例及 实施例中的特征可以相互组合。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表 示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如” 的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具 优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相 关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
实施例一
图1为本发明实施例一提供的一种基于语义分析的业务代码生成方法的流 程图,本实施例可适用于需要根据业务描述自动生成对应的中台程序和/或前台 程序的业务代码的情况,该方法可以由基于语义分析的业务代码生成装置来执 行,如图1所示,具体包括如下步骤:
步骤110、通过对业务描述进行第一语义分析,将所述业务描述拆分为业务 对象和业务活动。
其中,业务描述可以为用户输入的对于具体的业务逻辑的描述信息,业务 对象可以为描述信息所包含的实体对象,业务活动可以为描述信息所包含的动 作信息。例如,业务描述可以为给电动汽车充电,相应地,业务对象可以为电 动车和充电桩,业务活动可以为充电。
具体地,首先可以对业务描述进行智能语义分析,具体可以基于智能语义 分析平台提供的自然语言处理、深度学习和文本挖掘等算法,对非结构化的业 务描述进行拆分,得到业务描述对应的业务对象和业务活动,将无序的非结构 化信息转换为满足需求的结构化数据。
在实际应用中,在得到业务对象之后,可以基于标识信息对业务对象进行 核心标记。
步骤120、通过对所述业务对象进行第二语义分析,将所述业务对象拆分 为数据对象。
其中,数据对象可以为业务对象所对应的数据信息,即可以为实体对象所 对应的数据信息。例如,数据对象可以为车体和充电记录。
具体地,在得到业务描述对应的业务对象之后,继续基于智能语义分析平 台对业务对象进行语义分析,得到业务对象对应的数据对象。
本发明实施例中,首先可以基于智能语义分析,对业务描述进行结构化处 理,得到业务对象和业务活动,再基于智能语义分析,对业务对象进行结构化 处理,得到数据对象,使得业务对象、业务活动和数据对象更加结构化。
步骤130、确定所述数据对象的对象属性。
其中,对象属性可以为数据对象的数据内容。示例性的,数据对象为车体 时,对象属性可以为车体数据;数据对象为充电记录时,对象数据可以为充电 数据。
具体地,可以将用户输入的数据对象的数据内容确定为数据对象的对象属 性。
前述步骤得到的业务对象、业务活动、数据对象和对象属性可以构成业务 描述的设计内容。
本发明实施例中,确定业务描述对应的设计内容,以为生成业务描述对应 的中台程序和/或前台程序的业务代码提供数据基础。
步骤140、根据所述业务对象、所述数据对象、所述对象属性和所述业务 活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
其中,中台程序的业务代码可以包括供运维者使用的前端程序的代码数据 和后端程序的代码数据;前台程序的业务代码可以包括供用户使用的前端程序 的代码数据以及后端程序的代码数据。
中台程序为电子政务系统的核心业务应用,中台程序可以为前台程序提供 应用程序编程接口(Application Programming Interface,API),以使得用户无需 访问源码,无需理解内部工作机制的细节,实现访问电子政务系统。前台程序 用于调用中台程序所提供的API,前台程序和中台程序相互配合可以实现对电 子政务系统的访问。
可选择的,本发明实施例中,通过第一语义分析拆分业务描述出对应业务 对象后,判断该业务对象是否具备核心标记以确认其中台程序是否为核心业务 应用。
具体地,根据数据对象和业务对象可以创建包含标准目录层级和文件的代 码工程,在代码工程的各标准目标层级中分别为业务对象生成对应的接口类、 服务类、数据访问类和各类之间的调用方法,为数据对象生成对应的实体类, 进而根据对象属性为实体类生成相应的对象属性和对象方法,并生成语句文件, 以基于语句文件创建中台程序所需的数据库表和字段,完成中台程序的业务代 码的创建。
根据业务活动的具体内容,可以生成前台程序的业务代码,进而根据该业 务代码可以生成用户使用的前端页面,以及为该前端页面提供增删改查的操作 界面。当然,可以根据数据对象的对象数据,即数据内容,为前端页面生成具 体的页面内容,例如,表格元素、标题元素、输入框元素、下拉框元素和单选 框元素等。
当然,在实际应用中,还可以根据中台程序所提供的API,在前台程序上 生成调用中台程序接口的代码和数据绑定的代码。
本发明实施例中,将生成业务描述对应的中台程序和前台程序的过程规范 化,根据业务描述以及业务描述对应的设计内容,即业务描述对应的业务活动、 业务对象、数据对象和对象属性,自动生成业务描述在电子政务系统中对应的 中台程序和/或前台程序的业务代码,提升了电子政务系统构建的效率。
本发明实施例一提供的一种基于语义分析的业务代码生成方法,包括:通 过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动; 通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;确 定所述数据对象的对象属性;根据所述业务对象、所述数据对象、所述对象属 性和所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。 上述技术方案,对业务描述进行第一语义分析得到业务描述对应的业务对象和 业务活动,对业务对象进行第二语义分析,得到业务对象对应的数据对象,在 确定数据对象的对象属性后,根据业务对象、数据对象、对象属性和业务活动 可以自动生成业务描述在电子政务系统中对应的中台程序和/或前台程序的业 务代码,实现了业务描述所对应的中台程序和/或前台程序的业务代码的自动化 生成,提高电子政务系统的可扩展性和灵活性,进一步提升电子政务系统的建 设效率。
实施例二
图2为本发明实施例二提供的一种基于语义分析的业务代码生成方法的流 程图,本实施例是在上述实施例的基础上进行具体化。如图2所示,在本实施 例中,该方法还可以包括:
步骤210、通过第一语义分析模型对所述业务描述进行第一语义分析,拆 分所述业务描述得到预设业务对象和预设业务活动。
具体地,在通过第一语义分析模型对业务描述进行第一语义分析之前,可 以基于历史业务描述以及历史业务描述对应的历史业务对象和历史业务活动对 预设语义分析模型进行训练,直至损失函数收敛。根据损失函数收敛时的参数 可以确定第一语义分析模型。进而可以将业务描述作为输入信息输入第一语义 分析模型,得到的输出信息可以为业务描述对应的预设业务对象和预设业务活 动。当然,在确定业务描述所对应的预设业务对象和预设业务活动的同时,也 可以继续基于该业务描述以及预设业务对象和预设业务活动对第一语义分析模 型进行训练,以使得第一语义分析模型可以根据业务描述得到更加精确的业务 对象和业务活动。
本发明实施例中,基于训练好的第一语义分析模型对业务描述进行第一语 义分析,得到的预设业务对象和预设业务活动更加精确。
步骤211、如果所述预设业务对象与历史业务对象的相似度大于预设阈值, 则将所述历史业务对象确定为所述业务描述对应的业务对象。
步骤212、如果所述预设业务活动与历史业务活动的相似度大于预设阈值, 则将所述历史业务活动确定为所述业务描述对应的业务活动。
由于在电子政务系统的构建过程中,需要多个工作人员的参与,各工作人 员对于相同业务对象或者相同业务活动的描述方式不完全相同,因此对于相同 业务逻辑的业务描述也存在差异。如果将相似的业务对象或者相似的业务活动 作为不同的对象进行存储,容易造成数据冗余,影响电子政务系统的构建效率。 因此,在确定业务描述对应的预设业务对象和预设业务活动之后,可以确定预 设业务对象与电子政务系统中已经构建的历史业务对象的相似度,如果预设业 务对象与历史业务对象的相似度大于预设阈值,则将历史业务对象确定为业务 描述对应的业务对象;否则,将预设业务对象确定为业务描述对应的业务对象。 还可以确定预设业务活动与电子政务系统中已经构建的历史业务活动的相似度, 如果预设业务活动与历史业务活动的相似度大于预设阈值,则将历史业务活动 确定为业务描述对应的业务活动;否则,将预设业务活动确定为业务描述对应 的业务活动。
在实际应用中,预设阈值可以根据实际需求进行设置,例如,可以设定为 80%,在此不做具体限定。
本发明实施例中,对于业务对象和业务活动进行精简,减少了电子政务系 统的冗余度,也减少了重复建设的问题,进一步提升电子政务系统的可扩展性。
步骤213、基于第二语义分析模型,对所述业务对象进行第二语义分析, 将所述业务对象拆分出至少一个初始数据对象。
步骤214、根据所述业务活动确定相关的初始数据对象,并将所述相关的 初始数据对象确认为所述数据对象。
具体地,在基于第二语义分析模型对业务对象进行第二语义分析之前,可 以基于历史业务对象以及历史业务对象对应的至少一个初始数据对象对预设语 义分析模型进行训练,直至损失函数收敛。根据损失函数收敛时的参数可以确 定第二语义分析模型。进而可以将业务对象作为输入信息输入第二语义分析模 型,得到的输出信息可以为业务对象对应的至少一个初始数据对象。当然,在 确定业务对象所对应的至少一个初始数据对象的同时,也可以继续基于该业务 对象和至少一个初始数据对象对第二语义分析模型进行训练,以使得第二语义 分析模型可以根据业务对象得到更加精确的初始数据对象。
当然,在确定业务对象对应的初始数据对象后,可以确定与业务活动相关 的初始数据对象,并将相关的初始数据对象确认为数据对象。
本发明实施例中,基于训练好的第二语义分析模型对业务对象进行第二语 义分析,得到的初始数据对象的数量和内容更加精确。
步骤215、确定所述数据对象的对象属性。
一种实施方式中,步骤215具体可以包括:
基于所述数据对象,录入所述数据对象对应的属性参数,形成所述对象属 性;或根据所述业务活动和所述数据对象,建立所述数据对象和所述业务活动 之间的数据关系,录入所述数据对象对应的属性参数,生成所述数据对象和关 系属性;将所述对象属性和/或所述关系属性分别关联所述业务描述,并存储于 数据库中。
在实际应用中,在确定数据对象的对象属性后,可以将业务描述所对应的 业务对象、业务活动、数据对象以及对象属性作为业务描述的设计内容与业务 描述进行关联,并将设计内容和业务描述存储至数据库。
步骤216、根据所述业务对象、所述数据对象、所述对象属性和所述业务 活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
一种实施方式中,步骤216具体可以包括:
根据所述数据对象和所述业务对象创建代码工程,所述代码工程包含生成 所述中台程序的标准目录层级和文件,所述标准目录层级包括控制层、服务层、 数据访问层和数据实体层;在所述控制层、所述服务层和所述数据访问层的目 录下,分别为所述业务对象生成对应的接口类、服务类、数据访问类和各类之 间的调用方法;在所述数据实体层的目录下,为所述数据对象生成对应的实体 类;根据所述对象属性为所述实体类生成相应的对象属性和对象方法,并生成 语句文件,以基于所述语句文件创建所述中台程序所需的数据库表和字段。
具体地,首先根据数据库中存储的业务描述对应的数据对象和业务对象创 建一个空的代码工程,该代码工程可以包含生成中台程序时开发语言所要求的 标准目录层级和文件。其中,标准目录层级包括控制层、服务层、数据访问层 和数据实体层。其次,在控制层的目录下,为业务对象生成对应的接口类和增 删改查方法,例如,在web/rest下,为业务对象生成对应的接口类和方法内调 用服务类的方法,例如:ChargingContorller.java;在服务层的目录下,为业务 对象生成对应的服务类和增删改查方法,例如,在service下,为业务对象生成 对应的服务类和方法内调用数据访问类的方法,例如:ChargingService.java;在 数据访问层的目录下,为业务对象生成对应的数据访问类和基本增删改查方法, 例如,在repository下,为业务对象生成对应的数据访问类和方法内调用默认 orm框架的数据库操作方法,示例性的,为电动汽车生成ElectricCarRepository.java,为充电桩生成ChargingPileRepository.java;在数据实体层的目录下,为数据对象生成对应的实体类,例如,在domain下,为数据对 象生成对应的实体类,示例性的,为车体生成CarBody.java,为充电记录生成 CharginRecord.java。
当然,还可以通过文件操作工具,根据对象属性的设计内容,为实体类生 成相应的对象属性和对象方法,例如,为实体类生成get和set;也可以通过文 件操作工具,根据对象属性的设计内容,生成相应的领域设计语言,例如,生 成sql或者ddl语句文件,并基于语句文件创建后端应用所需的数据库表和字段。
本发明实施例中,通过业务描述和业务描述的设计内容,可以自动在空的 代码工程中创建业务描述对应的中台程序。
一种实施方式中,步骤216还可以包括:
根据所述业务活动生成前端页面,并根据所述对象属性为所述前端页面生 成页面内容,所述页面内容包括表格元素、标题元素、输入框元素、下拉框元 素和单选框元素至少之一;根据所述接口类在所述前端页面上生成交互按钮, 所述交互按钮用于在用户的触发下基于所述接口类调用所述中台程序的业务代 码。
具体地,首先通过文件操作工具,为数据库中存储的业务描述对应的业务 活动生成四个前端页面,四个前端页面分别提供增删改查的操作界面;再根据 对象属性的设计内容,为前述四个前端页面分别生成具体地页面内容。
当然,还可以根据接口类在前端页面上生成交互按钮,交互按钮用于在用 户的触发下基于接口类调用中台程序的代码。
可选的,所述交互按钮还用于在用户的触发下关联所述前台程序和所述中 台程序之间的数据对象。
本发明实施例中,通过业务描述和业务描述的设计内容,可以自动生成业 务描述对应的前台程序。
本发明实施例二提供的一种基于语义分析的业务代码生成方法,包括:通 过第一语义分析模型对所述业务描述进行第一语义分析,拆分所述业务描述得 到预设业务对象和预设业务活动;如果所述预设业务对象与历史业务对象的相 似度大于预设阈值,则将所述历史业务对象确定为所述业务描述对应的业务对 象;如果所述预设业务活动与历史业务活动的相似度大于预设阈值,则将所述 历史业务活动确定为所述业务描述对应的业务活动;基于第二语义分析模型, 对所述业务对象进行第二语义分析,将所述业务对象拆分出至少一个初始数据 对象;根据所述业务活动确定相关的初始数据对象,并将所述相关的初始数据 对象确认为所述数据对象;确定所述数据对象的对象属性;根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应中台程序 和/或前台程序的业务代码。上述技术方案,通过第一语义分析模型对对业务描 述进行第一语义分析得到业务描述对应的精确的业务对象和业务活动,基于第 二语义分析模型,对业务对象进行第二语义分析,得到业务对象对应的至少一 个初始数据对象,并将与业务活动相关的初始数据对象确定为数据对象,在确 定数据对象的对象属性后,根据业务对象、数据对象、对象属性和业务活动可 以自动生成业务描述在电子政务系统中对应的中台程序和/或前台程序的业务 代码,实现了业务描述所对应的中台程序和/或前台程序的业务代码的自动化生 成,提高电子政务系统的可扩展性和灵活性,进一步提升电子政务系统的建设 效率。
实施例三
图3为本发明实施例三提供的一种基于语义分析的业务代码生成装置的结 构示意图,该装置可以适用于需要根据业务描述自动生成对应的中台程序和/或 前台程序的业务代码的情况。该装置可以通过软件和/或硬件实现,并一般集成 在计算机设备中。
如图3所示,该装置包括:
第一语义分析模块310,用于通过对业务描述进行第一语义分析,将所述 业务描述拆分为业务对象和业务活动;
第二语义分析模块320,用于通过对所述业务对象进行第二语义分析,将 所述业务对象拆分为数据对象;
确定模块330,用于确定所述数据对象的对象属性;
生成模块340,用于根据所述业务对象、所述数据对象、所述对象属性和 所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
本实施例三提供的一种基于语义分析的业务代码生成装置,通过对业务描 述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动;通过对所 述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;确定所述数 据对象的对象属性;根据所述业务对象、所述数据对象、所述对象属性和所述 业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。上述技术 方案,对业务描述进行第一语义分析得到业务描述对应的业务对象和业务活动, 对业务对象进行第二语义分析,得到业务对象对应的数据对象,在确定数据对 象的对象属性后,根据业务对象、数据对象、对象属性和业务活动可以自动生 成业务描述在电子政务系统中对应的中台程序和/或前台程序的业务代码,实现了业务描述所对应的中台程序和/或前台程序的业务代码的自动化生成,提高电 子政务系统的可扩展性和灵活性,进一步提升电子政务系统的建设效率。
在上述实施例的基础上,第一语义分析模块310,具体用于:
通过第一语义分析模型对所述业务描述进行第一语义分析,拆分所述业务 描述得到预设业务对象和预设业务活动;
如果所述预设业务对象与历史业务对象的相似度大于预设阈值,则将所述 历史业务对象确定为所述业务描述对应的业务对象;
如果所述预设业务活动与历史业务活动的相似度大于预设阈值,则将所述 历史业务活动确定为所述业务描述对应的业务活动。
在上述实施例的基础上,生成模块340,具体用于:
根据所述数据对象和所述业务对象创建代码工程,所述代码工程包含生成 所述中台程序的标准目录层级和文件,所述标准目录层级包括控制层、服务层、 数据访问层和数据实体层;
在所述控制层、所述服务层和所述数据访问层的目录下,分别为所述业务 对象生成对应的接口类、服务类、数据访问类和各类之间的调用方法;
在所述数据实体层的目录下,为所述数据对象生成对应的实体类;
根据所述对象属性为所述实体类生成相应的对象属性和对象方法,并生成 语句文件,以基于所述语句文件创建所述中台程序所需的数据库表和字段。
在上述实施例的基础上,生成模块340,还用于:
根据所述业务活动生成前端页面,并根据所述对象属性为所述前端页面生 成页面内容,所述页面内容包括表格元素、标题元素、输入框元素、下拉框元 素和单选框元素至少之一;
根据所述接口类在所述前端页面上生成交互按钮,所述交互按钮用于在用 户的触发下基于所述接口类调用所述中台程序的业务代码。
可选的,所述交互按钮还用于在用户的触发下关联所述前台程序和所述中 台程序之间的数据对象。
在上述实施例的基础上,第二语义分析模块320,具体用于:
基于第二语义分析模型,对所述业务对象进行第二语义分析,将所述业务 对象拆分出至少一个初始数据对象;
根据所述业务活动确定相关的初始数据对象,并将所述相关的初始数据对 象确认为所述数据对象。
在上述实施例的基础上,确定模块330,具体用于:
基于所述数据对象,录入所述数据对象对应的属性参数,形成所述对象属 性;
或根据所述业务活动和所述数据对象,建立所述数据对象和所述业务活动 之间的数据关系,录入所述数据对象对应的属性参数,生成所述数据对象和关 系属性;
将所述对象属性和/或所述关系属性分别关联所述业务描述,并存储于数据 库中。
本发明实施例所提供的基于语义分析的业务代码生成装置可执行本发明任 意实施例所提供的基于语义分析的业务代码生成方法,具备执行方法相应的功 能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种基于语义分析的业务代码生成装置的结 构示意图。图4示出了适于用来实现本发明实施方式的示例性基于语义分析的 业务代码生成装置4的框图。图4显示的基于语义分析的业务代码生成装置4 仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,基于语义分析的业务代码生成装置4以通用计算电子设备的 形式表现。基于语义分析的业务代码生成装置4的组件可以包括但不限于:一 个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括 系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控 制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线 结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA) 总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA) 局域总线以及外围组件互连(PCI)总线。
基于语义分析的业务代码生成装置4典型地包括多种计算机系统可读介质。 这些介质可以是任何能够被基于语义分析的业务代码生成装置4访问的可用介 质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随 机存取存储器(RAM)30和/或高速缓存存储器32。基于语义分析的业务代码 生成装置4可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系 统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁 介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用 于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非 易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。 在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一 个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如 系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个 应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可 能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能 和/或方法。
基于语义分析的业务代码生成装置4也可以与一个或多个外部设备14(例 如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该 基于语义分析的业务代码生成装置4交互的设备通信,和/或与使得该基于语义 分析的业务代码生成装置4能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,基于语义分析的业务代码生成装置4还可以通过网络适配器20 与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络, 例如因特网)通信。如图4所示,网络适配器20通过总线18与基于语义分析 的业务代码生成装置4的其它模块通信。应当明白,尽管图4中未示出,可以 结合基于语义分析的业务代码生成装置4使用其它硬件和/或软件模块,包括但 不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、 磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能 应用以及页面显示,例如实现本发实施例所提供的基于语义分析的业务代码生 成方法,该方法包括:
通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业 务活动;
通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;
确定所述数据对象的对象属性;
根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所 述业务描述对应中台程序和/或前台程序的业务代码。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所 提供的基于语义分析的业务代码生成的技术方案。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序, 该程序被处理器执行时实现例如本发实施例所提供的基于语义分析的业务代码 生成方法,该方法包括:
通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业 务活动;
通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;
确定所述数据对象的对象属性;
根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所 述业务描述对应中台程序和/或前台程序的业务代码。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质 的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储 介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的 更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式 计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可 编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、 光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机 可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行 系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据 信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种 形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读 的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算 机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用 或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不 限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计 算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程 序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机 上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机 上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中, 远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接 到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来 通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通 用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算 装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实 现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制 作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路 模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员 会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各 种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通 过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实 施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本 发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于语义分析的业务代码生成方法,其特征在于,包括:
通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动;
通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;
确定所述数据对象的对象属性;
根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
2.根据权利要求1所述的基于语义分析的业务代码生成方法,其特征在于,通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动,包括:
通过第一语义分析模型对所述业务描述进行第一语义分析,拆分所述业务描述得到预设业务对象和预设业务活动;
如果所述预设业务对象与历史业务对象的相似度大于预设阈值,则将所述历史业务对象确定为所述业务描述对应的业务对象;
如果所述预设业务活动与历史业务活动的相似度大于预设阈值,则将所述历史业务活动确定为所述业务描述对应的业务活动。
3.根据权利要求1所述的基于语义分析的业务代码生成方法,其特征在于,根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应中台程序的业务代码,包括:
根据所述数据对象和所述业务对象创建代码工程,所述代码工程包含生成所述中台程序的标准目录层级和文件,所述标准目录层级包括控制层、服务层、数据访问层和数据实体层;
在所述控制层、所述服务层和所述数据访问层的目录下,分别为所述业务对象生成对应的接口类、服务类、数据访问类和各类之间的调用方法;
在所述数据实体层的目录下,为所述数据对象生成对应的实体类;
根据所述对象属性为所述实体类生成相应的对象属性和对象方法,并生成语句文件,以基于所述语句文件创建所述中台程序所需的数据库表和字段。
4.根据权利要求3所述的基于语义分析的业务代码生成方法,其特征在于,根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应前台程序的业务代码,包括:
根据所述业务活动生成前端页面,并根据所述对象属性为所述前端页面生成页面内容,所述页面内容包括表格元素、标题元素、输入框元素、下拉框元素和单选框元素至少之一;
根据所述接口类在所述前端页面上生成交互按钮,所述交互按钮用于在用户的触发下基于所述接口类调用所述中台程序的业务代码。
5.根据权利要求4所述的基于语义分析的业务代码生成方法,其特征在于,所述交互按钮还用于在用户的触发下关联所述前台程序和所述中台程序之间的数据对象。
6.根据权利要求1所述的基于语义分析的业务代码生成方法,其特征在于,通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象,包括:
基于第二语义分析模型,对所述业务对象进行第二语义分析,将所述业务对象拆分出至少一个初始数据对象;
根据所述业务活动确定相关的初始数据对象,并将所述相关的初始数据对象确认为所述数据对象。
7.根据权利要求1所述的基于语义分析的业务代码生成方法,其特征在于,确定所述数据对象的对象属性,包括:
基于所述数据对象,录入所述数据对象对应的属性参数,形成所述对象属性;
或根据所述业务活动和所述数据对象,建立所述数据对象和所述业务活动之间的数据关系,录入所述数据对象对应的属性参数,生成所述数据对象和关系属性;
将所述对象属性和/或所述关系属性分别关联所述业务描述,并存储于数据库中。
8.一种基于语义分析的业务代码生成装置,其特征在于,包括:
第一语义分析模块,用于通过对业务描述进行第一语义分析,将所述业务描述拆分为业务对象和业务活动;
第二语义分析模块,用于通过对所述业务对象进行第二语义分析,将所述业务对象拆分为数据对象;
确定模块,用于确定所述数据对象的对象属性;
生成模块,用于根据所述业务对象、所述数据对象、所述对象属性和所述业务活动生成所述业务描述对应中台程序和/或前台程序的业务代码。
9.一种基于语义分析的业务代码生成装置,其特征在于,所述装置包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的基于语义分析的业务代码生成方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的基于语义分析的业务代码生成方法。
CN202111526418.2A 2021-12-14 2021-12-14 基于语义分析的业务代码生成方法、装置和存储介质 Pending CN114371832A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111526418.2A CN114371832A (zh) 2021-12-14 2021-12-14 基于语义分析的业务代码生成方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111526418.2A CN114371832A (zh) 2021-12-14 2021-12-14 基于语义分析的业务代码生成方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN114371832A true CN114371832A (zh) 2022-04-19

Family

ID=81139652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111526418.2A Pending CN114371832A (zh) 2021-12-14 2021-12-14 基于语义分析的业务代码生成方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN114371832A (zh)

Similar Documents

Publication Publication Date Title
US11238099B2 (en) Method and device for obtaining answer, and computer device
US20160117291A1 (en) Conversion of a presentation to darwin information typing architecture (dita)
CN102902763B (zh) 关联、检索信息处理数据和处理信息任务的方法及装置
US20120158742A1 (en) Managing documents using weighted prevalence data for statements
US11151323B2 (en) Embedding natural language context in structured documents using document anatomy
CN111078205B (zh) 一种模块化编程方法、装置、存储介质及电子设备
US10572597B2 (en) Resolution of acronyms in question answering systems
CN113111131B (zh) 基于Flink实现Neo4j数据同步的方法及系统、集成方法及装置
CN109284427A (zh) 一种文档生成方法、装置、服务器和存储介质
CN113971037A (zh) 应用处理方法、装置、电子设备及存储介质
US20150339310A1 (en) System for recommending related-content analysis in an authoring environment
US10216802B2 (en) Presenting answers from concept-based representation of a topic oriented pipeline
CN109033456B (zh) 一种条件查询方法、装置、电子设备和存储介质
CN112970011A (zh) 记录查询优化中的谱系
US20200110834A1 (en) Dynamic Linguistic Assessment and Measurement
CN107729347B (zh) 同义标签的获取方法、装置、设备及计算机可读存储介质
CN103809915A (zh) 一种磁盘文件的读写方法和装置
CN110688467A (zh) 命名实体识别方法、装置、计算机设备及存储介质
US9201936B2 (en) Rapid provisioning of information for business analytics
CN116010461A (zh) 数据血缘关系解析方法及装置、存储介质及电子设备
CN114371832A (zh) 基于语义分析的业务代码生成方法、装置和存储介质
CN106030572A (zh) 与外部内容项的经编码的关联
US20170024405A1 (en) Method for automatically generating dynamic index for content displayed on electronic device
US11119975B2 (en) Digital design application plugin for content updates and delivery
CN111506380A (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