CN109558127A - 一种代码生成方法、装置、设备及存储介质 - Google Patents

一种代码生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109558127A
CN109558127A CN201811469859.1A CN201811469859A CN109558127A CN 109558127 A CN109558127 A CN 109558127A CN 201811469859 A CN201811469859 A CN 201811469859A CN 109558127 A CN109558127 A CN 109558127A
Authority
CN
China
Prior art keywords
model
data
data service
meta
metadata
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
CN201811469859.1A
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.)
China National Offshore Oil Corp CNOOC
Original Assignee
China National Offshore Oil Corp CNOOC
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 National Offshore Oil Corp CNOOC filed Critical China National Offshore Oil Corp CNOOC
Priority to CN201811469859.1A priority Critical patent/CN109558127A/zh
Publication of CN109558127A publication Critical patent/CN109558127A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

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

Abstract

本发明公开了一种代码生成方法、装置、设备及存储介质。该方法包括:获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码,通过本发明的技术方案,能够实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。

Description

一种代码生成方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种代码生成方法、装置、设备及存储介质。
背景技术
企业数据中心涉及到的业务多、覆盖范围广、管理数据类型杂,同时考虑到企业业务的发展以及信息化技术的不断升级,需要考虑应用先进的技术与架构来实现企业数据中心数据服务体系的先进性、高效性与扩展性。
(1)随着企业业务的不断发展,数据中心作为信息化的基础工程,不仅要考虑对现有业务的支撑,对未来业务的扩展同样重要。
(2)通过数据服务平台提供数据服务,需要配套开展大量的实施工作,进行数据接口开发和文档的编制工作和测试的工作量,如何通过软件架构高效的完成实施工作是急需解决的问题。
(3)信息化技术的不断飞速发展,如何在引入新技术时,保障系统架构的稳定性,降低升级成本,实现平台的平滑过度,都需要有先进的架构提供支撑。
如何应对企业与技术的快速变化,一直是软件界的专家学者们伤脑筋的问题。为了实现软件系统的轻便性、互操作性和可重用性,软件业界一直在研究自动或半自动的软件开发技术,如基于软件界面的可视化编程、基于WSDL接口语言的WEBService编程、基于IDL接口语言的CORBA编程等,这些编程技术实现了部分程序编码的自动编制,降低了部分编码与测试的工作量,但只实现了接口的规范性与互操作性,与业务结合的部分仍然需要大量的手工编程、测试的工作量。
2002年由OMG(Object Management Group)提出的MDA(Model-DrivenArchitecture)技术,也是为了解决这个变化的问题。MDA(Model Driven Architecture)是模型驱动架构,它是一个基于UML以及其他工业标准软件开发框架,支持软件设计和模型的可视化、存储和交换。MDA源自于的把系统操作的规范从系统利用底层平台能力的方式细节中分离出来的思想,MDA提供了一种途径(通过相关的工具)来规范化一个平台独立的系统、规范化平台、为系统选择一个特定的实现平台,并且把系统规范转换到特定的实现平台。MDA的三个主要目标是:通过架构性的分离来实现轻便性、互操作性和可重用性。
目前企业数据中心数据服务体系的实现基本上都是采用标准数据接口与集成的方式实现,通过制定统一的数据接口规范,通过企业级数据服务总线(ESB)在主数据统一的基础上进行企业各业务数据服务接口的实现,从而实现企业数据的集成与服务。
基于标准数据接口方法实现的数据服务体系需要进行大量的数据服务接口标准制定与开发工作,接口文档编制与测试的工作量也非常大,而且在新的业务扩展或信息化技术升级以后,数据服务的平滑升级将是一个巨大的挑战,往往会导致整个数据服务体系的重构,这对企业将是一个非常沉重的负担。
发明内容
本发明实施例提供一种代码生成方法、装置、设备及存储介质,以实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。
第一方面,本发明实施例提供了一种代码生成方法,包括:
获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;
将所述模型元数据存储至元模型,其中,所述元模型为库结构;
通过集成开发环境,获取元模型中的目标数据;
根据所述目标数据自动生成代码。
进一步的,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
进一步的,还包括:
对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
进一步的,还包括:
定制基础数据服务和/或主题数据服务;
通过REST服务引擎自动生成数据服务接口;
经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
第二方面,本发明实施例还提供了一种代码生成装置,该装置包括:
第一获取模块,用于获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;
存储模块,用于将所述模型元数据存储至元模型,其中,所述元模型为库结构;
第二获取模块,用于通过集成开发环境,获取元模型中的目标数据;
第一生成模块,用于根据所述目标数据自动生成代码。
进一步的,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
进一步的,还包括:
第二生成模块,用于对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
进一步的,还包括:
定制模块,用于定制基础数据服务和/或主题数据服务;
第三生成模块,用于通过REST服务引擎自动生成数据服务接口;
第四生成模块,用于经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的代码生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的代码生成方法。
本发明实施例通过获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码,能够实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中的一种代码生成方法的流程图;
图2A是本发明实施例二中的类库生成引擎实现示意图;
图2B是本发明实施例二中的RESTful数据接口引擎实现示意图;
图3是本发明实施例三中的一种代码生成装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1为本发明实施例一提供的一种代码生成方法的流程图,本实施例可适用于代码生成的情况,该方法可以由本发明实施例中的代码生成装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,获取模型元数据,其中,模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系。
其中,所述数据类型可以为C数据类型、C++数据类型、C sharp数据类型和Java数据类型中的至少两种。
其中,所述专业模型是在业务调研与分析成果的基础上,以企业数据资源管理的视角,实现对业务域、业务、业务流程的划分,对业务活动名称、操作者、业务活动内涵、数据、相关代码、相关行业标准、相关重要资料的描述,达到以下指标:业务划分不交叉、业务活动不遗漏、不重复;业务、业务活动描述清晰无异议;数据项描述语义标准唯一;数据项属性、操作属性描述准确,例如可以是,所述专业模型可以为以油田企业数据资源关系的视觉建立的勘探开发专业模型。
其中,所述逻辑模型的设计采用关系模型建立对象间各种静态关系,建立静态关系模。
其中,所述物理模型可以为中心数据库,也可以为项目库,还可以为应用库。
其中,所述专业模型、逻辑模型和物理模型之间的关联关系为:所述专业模型通过模型的映射,转换成逻辑模型;所述逻辑模型通过投影得到物理模型。
具体的,获取至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系。
S120,将模型元数据存储至元模型,其中,元模型为库结构。
其中,元模型为库结构,制定了统一的标准和存储规则,实现对专业模型、逻辑模型、物理模型以及标准转换关系等实施有效地管理。
具体的,将模型元数据存储至元模型中,也可以从元模型中读取模型元数据。
S130,通过集成开发环境,获取元模型中的目标数据。
其中,所述集成开发环境可以为集成JDK、Microsoft Visual Studio等开发环境,本发明实施例对此不进行限制。
具体的,根据集成开发环境,获取与集成开发环境匹配的元模型中的目标数据,例如可以是,若根据集成开发环境,确定需要采用Java数据类型,则获取元模型中的Java数据类型,目标数据包括Java数据类型。
S140,根据目标数据自动生成代码。
具体的,基于数据中心模型框架实现了类库生成引擎,可以自动生成java与C#语言代码。根据集成开发环境,对自动生成的代码进行编译、打包与发布。
可选的,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
其中,Java是一门面向对象编程语言,Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
其中,C sharp(又被简称为“C#”)是微软公司在发布的一种新的编程语言。Csharp和C++与Java一样亦为对象导向程序语言,但是C sharp程序只能在Windows下运行。
可选的,还包括:
对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
具体的,基于数据中心模型框架实现了类库生成引擎,可以自动生成java与C#语言代码。通过集成JDK、Microsoft Visual Studio等开发环境,对自动生成的代码进行编译、打包与发布,实现了支持J2EE、.NET架构开发的数据服务二次开发类库。
可选的,还包括:
定制基础数据服务和/或主题数据服务;
通过REST服务引擎自动生成数据服务接口;
经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
具体的,按需要定制基础数据服务或主题数据服务,并把数据服务管理元数据保存到数据服务元数据库,再通过REST服务引擎自动生成数据服务接口,再经过安全控制层封装,形成基础数据服务接口和主题数据服务接口,发布给软件开发人员使用。
本实施例的技术方案,通过获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码,能够实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。
实施例二
在本实施例中,MDA将软件系统的模型分离为平台无关模型PIM和特定平台模型PSM,同时又能通过转换规则将它们统一起来,以这样的方式试图去摆脱需求变更所带来的困境。平台无关模型PIM是对系统高层次的抽象,其中不包括任何与实现技术相关的信息;特定平台模型PSM是特定平台相关的模型。在MDA框架中,首先使用平台无关的建模语言来搭建平台无关的模型PIM,然后根据特定平台和实现语言的映射规则,将PIM转换以生成平台相关的模型PSM,最终生成应用程序代码和测试框架。
为了实现企业数据中心数据服务体系,我们建立了与平台无关的模型OOBPM(业务模型),对企业业务进行描述和封装,并通过转换规则——业务单元抽象,形成了平台无关的面向对象的逻辑模型OODM,再通过向具体的数据库投影形成平台相关的模型PDM(物理模型),OOBPM到OODM的转换规则与转换关系、OODM到PDM的投影规则与投影关系都通过模型管理起来,为数据服务引擎的实现提供元数据支持。
1)类库生成引擎实现
通过专业模型、逻辑模型、物理模型及相互映射与投影关系、OODM中的数据类型与具体编程语言的映射关系以及转换规则(如表一OODM与Java语言的映射关系),可以实现模型到具体编程语言的自动编码。OODM与JAVA语言转换规则如下表一所示:
表一
基于数据中心模型框架实现了类库生成引擎,可以自动生成java与C#语言代码。通过集成JDK、Microsoft Visual Studio等开发环境,如图2A所示,对自动生成的代码进行编译、打包与发布,实现了支持J2EE、.NET架构开发的数据服务二次开发类库。
2)RESTful数据接口引擎实现
通过元数据驱动架构实现RESTful数据接口引擎。如图2B所示,基于数据模型(业务模型、逻辑模型、物理模型及转换关系)元数据开发了数据服务定制工具,可以按需定制基础数据服务或主题数据服务并把数据服务管理元数据保存到数据服务元数据库,再通过REST服务引擎自动生成数据服务接口,再经过安全控制层封装,形成基础数据服务接口和主题数据服务接口,发布给软件开发人员使用。
本发明实施例中设定了数据模型与编程语言(Java、C#)的转换规则;类库生成引擎,包括J2EE及.NET类库两种引擎;数据服务定制工具及相关数据服务管理元数据模型;REST数据接口引擎及REST接口安全封装技术。
本发明实施例得益于数据中心数据模型对各种数据类型的有效管理,引擎支持多种数据类型的数据服务;得益于逻辑模型的平台无关性,引擎支持对分布式数据库的支持;通过模型驱动架构和元数据驱动技术,能够实现零代码维护的数据服务,包括跨语言(JAVA与C#)类库及RESTful接口,能够适应业务的扩展需求实现数据模型及数据服务的平滑升级,接口编码、测试、接口文档编写自动完成,升级成本低,效率高;能够适时应用新的信息化技术对数据服务体系进行整体技术升级与扩展,软件复用度高,能够实现新技术的持续应用。
本实施例的技术方案,通过获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码,能够实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。
实施例三
图3为本发明实施例三提供的一种代码生成装置的结构示意图。本实施例可适用于代码生成的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供代码生成的功能的设备中,如图3所示,所述代码生成装置具体包括:第一获取模块310、存储模块320、第二获取模块330和第一生成模块340。
其中,第一获取模块310,用于获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;
存储模块320,用于将所述模型元数据存储至元模型,其中,所述元模型为库结构;
第二获取模块330,用于通过集成开发环境,获取元模型中的目标数据;
第一生成模块340,用于根据所述目标数据自动生成代码。
可选的,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
可选的,还包括:
第二生成模块,用于对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
可选的,还包括:
定制模块,用于定制基础数据服务和/或主题数据服务;
第三生成模块,用于通过REST服务引擎自动生成数据服务接口;
第四生成模块,用于经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本实施例的技术方案,通过获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码,能够实现数据服务零代码维护的自动生成、平滑升级,这种架构的应用也为信息化新技术的持续应用打好了基础,保障了企业数据服务体系的可持续发展。
实施例四
图4为本发明实施例四中的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的计算机设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的代码生成方法:获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的代码生成方法:获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;将所述模型元数据存储至元模型,其中,所述元模型为库结构;通过集成开发环境,获取元模型中的目标数据;根据所述目标数据自动生成代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种代码生成方法,其特征在于,包括:
获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;
将所述模型元数据存储至元模型,其中,所述元模型为库结构;
通过集成开发环境,获取元模型中的目标数据;
根据所述目标数据自动生成代码。
2.根据权利要求1所述的方法,其特征在于,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
3.根据权利要求1所述的方法,其特征在于,还包括:
对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
4.根据权利要求1所述的方法,其特征在于,还包括:
定制基础数据服务和/或主题数据服务;
通过REST服务引擎自动生成数据服务接口;
经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
5.一种代码生成装置,其特征在于,包括:
第一获取模块,用于获取模型元数据,其中,所述模型元数据包括至少两种数据类型、专业模型、逻辑模型、物理模型以及专业模型、逻辑模型和物理模型之间的关联关系;
存储模块,用于将所述模型元数据存储至元模型,其中,所述元模型为库结构;
第二获取模块,用于通过集成开发环境,获取元模型中的目标数据;
第一生成模块,用于根据所述目标数据自动生成代码。
6.根据权利要求5所述的装置,其特征在于,所述至少两种数据类型包括:
C sharp数据类型和Java数据类型。
7.根据权利要求5所述的装置,其特征在于,还包括:
第二生成模块,用于对自动生成的代码进行编译、打包与发布,生成支持J2EE和.NET架构开发的数据服务二次开发类库。
8.根据权利要求5所述的装置,其特征在于,还包括:
定制模块,用于定制基础数据服务和/或主题数据服务;
第三生成模块,用于通过REST服务引擎自动生成数据服务接口;
第四生成模块,用于经过安全控制层封装,生成基础数据服务接口和主题数据服务接口。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201811469859.1A 2018-11-28 2018-11-28 一种代码生成方法、装置、设备及存储介质 Pending CN109558127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811469859.1A CN109558127A (zh) 2018-11-28 2018-11-28 一种代码生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811469859.1A CN109558127A (zh) 2018-11-28 2018-11-28 一种代码生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN109558127A true CN109558127A (zh) 2019-04-02

Family

ID=65868822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811469859.1A Pending CN109558127A (zh) 2018-11-28 2018-11-28 一种代码生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109558127A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825430A (zh) * 2019-11-08 2020-02-21 政采云有限公司 一种api文档生成方法、装置、设备及存储介质
CN110879703A (zh) * 2019-11-13 2020-03-13 北京明略软件系统有限公司 应用程序编程接口的管理方法和装置
CN110941422A (zh) * 2019-11-21 2020-03-31 山东鲁能软件技术有限公司 代码自动生成方法、代码生成器及可读存储介质
CN112130849A (zh) * 2020-09-27 2020-12-25 建信金融科技有限责任公司 代码自动生成方法及装置
CN112463789A (zh) * 2020-10-28 2021-03-09 北京仿真中心 一种面向数据处理领域的数据接入集成方法和计算机设备
US10977059B1 (en) 2020-03-25 2021-04-13 Red Hat, Inc. Implementing object validation, web request handling, object relational mapping, or messaging via direct bytecode generation
CN113064581A (zh) * 2021-03-01 2021-07-02 煤炭科学技术研究院有限公司 自动化设备的管理方法、装置、电子设备以及存储介质
CN113220280A (zh) * 2020-01-21 2021-08-06 北京搜狗科技发展有限公司 一种应用生成方法、装置和用于生成应用的装置
CN113867713A (zh) * 2021-09-24 2021-12-31 安徽杰予信息科技有限公司 一种基于零代码开发的可视生产力工具平台
CN113918664A (zh) * 2021-12-14 2022-01-11 阿里云计算有限公司 一种数据处理方法以及装置
CN114741083A (zh) * 2021-01-07 2022-07-12 厦门海迈科技股份有限公司 一种工程量自动生成代码逻辑的方法和装置以及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2110741A1 (en) * 2008-04-14 2009-10-21 Siemens Aktiengesellschaft A method and a system for transforming an object model
CN102547776A (zh) * 2012-01-10 2012-07-04 南京邮电大学 基于模型驱动和进化算法的无线传感器网络模型转换方法
CN102609248A (zh) * 2011-12-28 2012-07-25 方伟 一种基于mda的综合航空电子系统建模仿真平台
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN108108470A (zh) * 2017-12-31 2018-06-01 浙江工业大学 一种基于rest的电梯数据服务自动抽取与封装方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2110741A1 (en) * 2008-04-14 2009-10-21 Siemens Aktiengesellschaft A method and a system for transforming an object model
CN102609248A (zh) * 2011-12-28 2012-07-25 方伟 一种基于mda的综合航空电子系统建模仿真平台
CN102547776A (zh) * 2012-01-10 2012-07-04 南京邮电大学 基于模型驱动和进化算法的无线传感器网络模型转换方法
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN108108470A (zh) * 2017-12-31 2018-06-01 浙江工业大学 一种基于rest的电梯数据服务自动抽取与封装方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MARCUS ALANEN等: ""Model Interchange Using OMG Standards"", 《31ST EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS》 *
孙旭东等: "《油气勘探数据管理与集成应用》", 30 April 2015, 电子科技大学出版社 *
李长英: ""基于模型驱动架构的Web服务开发与集成研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825430A (zh) * 2019-11-08 2020-02-21 政采云有限公司 一种api文档生成方法、装置、设备及存储介质
CN110879703B (zh) * 2019-11-13 2023-05-26 北京明略软件系统有限公司 应用程序编程接口的管理方法和装置
CN110879703A (zh) * 2019-11-13 2020-03-13 北京明略软件系统有限公司 应用程序编程接口的管理方法和装置
CN110941422A (zh) * 2019-11-21 2020-03-31 山东鲁能软件技术有限公司 代码自动生成方法、代码生成器及可读存储介质
CN110941422B (zh) * 2019-11-21 2023-08-15 山东鲁能软件技术有限公司 代码自动生成方法、代码生成器及可读存储介质
CN113220280A (zh) * 2020-01-21 2021-08-06 北京搜狗科技发展有限公司 一种应用生成方法、装置和用于生成应用的装置
US10977059B1 (en) 2020-03-25 2021-04-13 Red Hat, Inc. Implementing object validation, web request handling, object relational mapping, or messaging via direct bytecode generation
CN112130849A (zh) * 2020-09-27 2020-12-25 建信金融科技有限责任公司 代码自动生成方法及装置
CN112130849B (zh) * 2020-09-27 2023-08-22 建信金融科技有限责任公司 代码自动生成方法及装置
CN112463789A (zh) * 2020-10-28 2021-03-09 北京仿真中心 一种面向数据处理领域的数据接入集成方法和计算机设备
CN114741083A (zh) * 2021-01-07 2022-07-12 厦门海迈科技股份有限公司 一种工程量自动生成代码逻辑的方法和装置以及设备
CN113064581A (zh) * 2021-03-01 2021-07-02 煤炭科学技术研究院有限公司 自动化设备的管理方法、装置、电子设备以及存储介质
CN113867713A (zh) * 2021-09-24 2021-12-31 安徽杰予信息科技有限公司 一种基于零代码开发的可视生产力工具平台
CN113918664A (zh) * 2021-12-14 2022-01-11 阿里云计算有限公司 一种数据处理方法以及装置

Similar Documents

Publication Publication Date Title
CN109558127A (zh) 一种代码生成方法、装置、设备及存储介质
US11983641B2 (en) Asset tracking system and methods
US20200285788A1 (en) Systems and methods for providing digital twin-enabled applications
US8417798B2 (en) Deploying artifacts for packaged software application in cloud computing environment
US11922564B2 (en) Generative content system that supports location-based services and methods therefor
US9292592B2 (en) Object-based modeling using composite model object having independently updatable component objects
US8606827B2 (en) Systems and methods for extracting database dimensions as data modeling object
US9105006B2 (en) Generating floating desktop representation of extracted model object
US20100306272A1 (en) Systems and methods for object-based modeling using hierarchical model objects
US20200007556A1 (en) Server kit configured to marshal resource calls and methods therefor
US20110054854A1 (en) Systems and methods for generating dimensionally altered model objects
US20100306340A1 (en) Systems and methods for object-based modeling using model objects exportable to external modeling tools
US20100306255A1 (en) Systems and methods for extracting data cell transformable to model object
US20130144566A1 (en) Real-time collaborative design platform
US12020354B2 (en) Hub and spoke classification system
US20110055680A1 (en) Systems and methods for generating a set of linked rotational views of model objects
CN109523423B (zh) 一种应用系统生成方法、装置、设备及存储介质
Wind Open source cloud computing management platforms: Introduction, comparison, and recommendations for implementation
US12001917B2 (en) Hub-and-spoke classification system and methods
Alam et al. Cloud database management system architecture
US10748346B2 (en) Placing and solving constraints on a 3D environment
CN104102971B (zh) 管理具有对象循环的模型
US20120166983A1 (en) Integrated metadata and nested authorizations in a user interface framework
CN110889013A (zh) 一种基于xml的数据关联方法、装置、服务器及存储介质
Kress In situ visualization techniques for high performance computing

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190402

RJ01 Rejection of invention patent application after publication