发明内容
本申请提供一种模型处理方法,以解决在数据模型的更新过程中,如何实现合理的版本管理的问题。本申请还提供一种代码获得方法,另外一种模型处理方法,一种电子设备以及一种计算机存储介质。
本申请提供一种模型处理方法,应用于模型平台,包括:
获取被执行变更操作的变更数据模型;
根据预设标准,为所述变更数据模型设置新版本号;
根据所述变更数据模型执行代码生成,将生成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台;
将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据,并入所述变更数据模型,形成修订后变更数据模型;
将所述修订后变更数据模型,作为所述被执行变更操作的变更数据模型,并返回所述根据变更数据模型执行代码生成的步骤。
可选的,将经过一轮或者多轮修订,达到稳定状态的所述变更数据模型,以所述新版本号发布。
可选的,在根据所述变更数据模型执行代码生成的步骤之前,还包括:基于所述变更数据模型,获得用于表示所述变更数据模型的结构的变更模型元数据。
可选的,所述根据所述变更数据模型执行代码生成,将生成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台,包括:
基于所述变更模型元数据与所述新版本号,生成对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分;
基于所述对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,生成对应所述变更数据模型的新版本代码或者新版本代码更新部分;
将所述对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台。
可选的,模型元数据与代码元数据之间具有映射对应关系,以用于所述模型元数据与所述代码元数据之间相互转换;
所述基于所述变更模型元数据与所述新版本号,生成对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,包括:
基于所述变更模型元数据与所述新版本号,生成对应所述变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分;
基于所述映射对应关系、所述变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分,生成对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分。
可选的,所述将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据,并入所述变更数据模型,形成修订后变更数据模型,包括:
基于所述映射对应关系,将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本代码元数据,进而转换成新版本模型元数据;
将所述新版本模型元数据并入所述变更数据模型元数据,并进而形成修订后变更数据模型。
可选的,所述基于所述变更数据模型,获得用于表示所述变更数据模型的结构的变更模型元数据,包括:
基于所述变更数据模型、数据模型与模型元数据之间的对应关系,获得用于表示所述变更数据模型的结构的变更模型元数据。
可选的,还包括:判断所述上报代码的修订操作是否符合针对所述变更数据模型进行修订的需求和/或条件;
如果是,则将所述新版本模型元数据,并入所述变更数据模型元数据,并进而形成所述修订后变更数据模型。
可选的,在将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据之前,还包括:响应于检测到所述代码平台发送的代码上报请求,获得所述代码平台提供的对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码。
可选的,在将生成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台之后,还包括:向所述代码平台发送请求获得上报代码的请求消息。
本申请还提供一种代码获得方法,应用于代码平台,包括:
获得根据变更数据模型执行代码生成形成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及对应所述变更数据模型的新版本号;
根据所述变更数据模型的新版本代码或者新版本代码更新部分,在所述新版本号作为版本建立的代码分支上,更新原代码,形成新版本代码;
接收对所述新版本代码的修订,并对修订后的新版本代码进行扫描上报,所述修订后的新版本代码以所述新版本号作为版本标识;
接收根据修订后变更数据模型执行代码生成形成的对应所述修订后变更数据模型的修订后新版本代码,并将所述修订后新版本代码并入所述新版本代码中。
可选的,将经过一轮或者多轮修订,达到稳定状态的所述修订后新版本代码,以所述新版本号发布。
可选的,还包括:获得模型平台发送的请求获得上报代码的请求消息;
所述对修订后的新版本代码进行扫描上报,包括:针对所述请求消息,将所述修订后的新版本代码提供给所述模型平台。
本申请提供一种模型处理方法,应用于模型平台,包括:
获得用于表示新版本的变更数据模型的新版本模型标识信息与用于表示初始版本的变更数据模型的初始版本模型标识信息;
在模型平台的页面上,展示所述新版本模型标识信息、所述初始版本模型标识信息以及新版本的变更数据模型与初始版本的变更数据模型之间的变更关系信息。
可选的,还包括:展示用于表示新版本代码的新版本代码标识信息、用于表示初始版本代码的初始版本代码标识信息以及新版本代码与初始版本代码之间的变更关系信息;所述新版本代码由所述新版本的变更数据模型转换获得,所述初始版本代码由所述初始版本的变更数据模型转换获得。
本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储计算机程序,该计算机程序被处理器运行,执行模型处理方法与代码获得方法。
本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行模型处理方法与代码获得方法。
与现有技术相比,本申请实施例具有以下优点:
本申请提供一种模型处理方法,应用于模型平台,包括:获取被执行变更操作的变更数据模型;根据预设标准,为变更数据模型设置新版本号;根据变更数据模型执行代码生成,将生成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台;将代码平台对新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据,并入变更数据模型,形成修订后变更数据模型;将修订后变更数据模型,作为被执行变更操作的变更数据模型,并返回根据变更数据模型执行代码生成的步骤。由于在该模型处理方法中,为变更数据模型设置了新版本号;根据变更数据模型执行代码生成,将生成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台;并获得了代码平台对新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,并将上报代码转换为新版本模型元数据,并入变更数据模型,形成修订后变更数据模型,进而使得形成的修订后变更数据模型是与预先设定的新版本号对应的,进而在数据模型的升级更新或者优化更新过程中,对数据模型的不同版本根据其对应的版本号进行合理的管理,避免数据模型不同版本之间造成混乱的问题。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
本申请提供模型处理方法、代码获得方法、装置、电子设备以及计算机存储介质。以下通过具体的实施例分别介绍模型处理方法、代码获得方法、装置、电子设备以及计算机存储介质。
本申请的模型处理方法,主要用于对在模型平台上建立的变更数据模型进行升级更新或者优化更新的过程中实现版本管理,由于在数据模型的升级更新或者优化更新过程中,涉及到对变更数据模型进行升级或者优化的情形,因此,在变更数据模型的升级更新或者优化更新过程中,一方面需要将变更数据模型更新的部分不断加入老版本,一方面,需要在对变更数据模型提供合理版本号更新,以实现良好的版本管理。
具体地,在模型平台上,企业用户可以进行创建或者更新变更数据模型,在创建变更数据模型之后,可能需要对变更数据模型进行不断升级或者优化,以获得变更数据模型的不同版本。例如,假设初始创建并发布的变更数据模型的版本为V1.0.0,对其升级更新,可以获取并发布变更数据模型的版本为V2.0.0。对变更数据模型的版本V1.0.0进行优化更新,可以获取并发布变更数据模型的版本为V1.0.1。需要说明的是,版本V2.0.0与版本V1.0.1可以是独立的数据模型分支。
在一种特殊的情形中,在获取并发布变更数据模型的版本V2.0.0的过程中,需要在V1.0.0版本基础上对其进行开发。但是在变更数据模型的版本V2.0.0的开发过程中,可能发现已经发布的变更数据模型的版本V1.0.0存在一些漏洞,可能同时对已发布的V1.0.0版本进行修复或者优化。假设V1.0.0版本被优化或者被修复的版本为V1.0.1,并且该修复包含重要的bug,由于必须在之后所有的版本都修复该bug,则需要在V2.0.0版本发布之前将V1.0.1版本并入,以使得发布的变更数据模型的版本V2.0.0也包含V1.0.1版本的修复成果,即:使得最终发布的V2.0.0版本不存在V1.0.0版本中的已发现的重要bug。
为了便于更清楚地理解上述版本的升级与优化,请参照图1,图1为本申请提供的模型处理方法与代码获得方法的场景示意图。具体请参见图1左侧,首先是建立变更数据模型的版本V1.0.0(即开发中的模型V1.0.0),然后对模型V1.0.0进行开发。具体地,在模型V1.0.0的开发过程中,涉及模型平台执行模型V1.0.0的代码生成,然后模型平台将模型V1.0.0的代码提供给代码平台。代码平台一侧,代码开发人员可以对模型V1.0.0的代码进行修订。当代码平台检测到代码开发人员对模型V1.0.0的代码进行了修订之后,将模型V1.0.0的修订后的代码进行扫描上报给模型平台,模型平台即可将模型V1.0.0的修订后的代码对应的代码元数据转换为模型V1.0.0的变更模型元数据,然后将模型V1.0.0的变更模型元数据并入模型V1.0.0中,进而获得修订后的V1.0.0版本模型,将经过一轮或者多轮修订,达到稳定状态的修订后的V1.0.0版本变更数据模型以V1.0.0版本号进行发布,即图1中的已发布的模型V1.0.0。
在发布模型V1.0.0版本之后,基于已发布的模型V1.0.0版本对模型进行升级更新,即可获得变更数据模型的版本V2.0.0(即开发中的模型V2.0.0),然后对模型V2.0.0进行开发。
具体地,在开发模型V2.0.0过程中,涉及模型平台执行模型V2.0.0的代码生成,然后模型平台将模型V2.0.0的代码提供给代码平台。代码平台一侧,代码开发人员可以对模型V2.0.0的代码进行修订。当代码平台检测到代码开发人员对模型V2.0.0的代码进行了修订之后,将模型V2.0.0的修订后的代码进行扫描上报给模型平台,模型平台即可将模型V2.0.0的修订后的代码对应的代码元数据转换为模型V2.0.0的变更模型元数据,然后将模型V2.0.0的变更模型元数据并入模型V2.0.0中,进而获得修订后的V2.0.0版本模型,将经过一轮或者多轮修订,达到稳定状态的修订后的V2.0.0版本变更数据模型以V2.0.0版本号进行发布,即图1中的已发布的模型V2.0.0。
对发布的模型V1.0.0版本进行优化的模型版本为V1.0.1,模型版本V1.0.1是基于已发布的模型版本V1.00生成的优化分支,在对模型版本V1.0.1开发过程中,涉及模型平台执行模型V1.0.1的代码生成,然后模型平台将模型V1.0.1的代码提供给代码平台。代码平台一侧,代码开发人员可以对模型V1.0.1的代码进行修订。当代码平台检测到代码开发人员对模型V1.0.1的代码进行了修订之后,将模型V1.0.1的修订后的代码进行扫描上报给模型平台,模型平台即可将模型V1.0.1的修订后的代码对应的代码元数据转换为模型V1.0.1的变更模型元数据,然后将模型V1.0.1的变更模型元数据并入模型V1.0.1中,进而获得修订后的V1.0.1版本模型,将经过一轮或者多轮修订,达到稳定状态的修订后的V1.0.1版本变更数据模型以V1.0.1版本号进行发布,即图1中的已发布的模型V1.0.1。
当然,在特殊情形中,如果发现已经发布的变更数据模型的版本V1.0.0存在一些漏洞,并且优化的数据模型版本V1.0.1对其进行了修复,即:该优化版本V1.0.1的修复中包含重要的bug,则在V2.0.0版本发布之前将V1.0.1版本并入,即图1中发布的变更数据模型的版本V2.0.0也包含V1.0.1版本的修复成果。即:在获得已发布的模型V1.0.1之后,将已发布的模型V1.0.1并入到修订后的V2.0.0版本模型,即可获得图1中的已发布的模型V2.0.0版本。
当然,上述在模型处理方法中介绍的涉及的版本版号,仅仅是为了便于理解该模型处理方法在数据模型的升级更新或者优化更新过程中,是如何对多版本的数据模型进行管理的。并非要求完全按照图1所示的步骤严格执行模型处理方法。例如,当发现已发布的模型V1.0.0版本存在多个漏洞需要修复时,修复分支可能不仅仅只有模型V1.0.1版本,还可能有模型V1.1.0版本。
图1左侧示意的是本申请的模型处理方法是如何在数据模型的升级更新或者优化更新过程中,是如何对多版本的数据模型进行管理的。图1右侧示意了如何在代码的升级更新或者优化更新过程中,是如何对多版本的代码进行管理的。
具体地,在代码平台侧,代码也需要有多个版本。一方面,可能是由于变更数据模型需要不断升级更新并进行优化更新,进而产生了多个模型的版本(也可以认为是多个模型的分支)。多个模型的版本对应着代码平台中的多个代码版本。另一方面,当代码开发人员面临的代码开发任务较重时,需要多个代码开发人员同时完成一个代码开发任务,此时也可以将代码划分为多个代码版本。无论是上述的哪种情形,需要将多个代码版本分别与其的版本号对应,进而在数据模型的升级更新或者优化更新过程中,对数据模型对应的代码的不同版本,根据其对应的版本号进行合理的管理,避免代码不同版本之间造成混乱的问题。
具体地,请参见图1,在图1的右侧,由于模型平台之前将模型版本V1.0.0的代码、模型版本V2.0.0的代码以及模型版本V1.0.1的代码分别提供给代码平台,代码平台获得的模型版本V1.0.0的代码、模型版本V2.0.0的代码以及模型版本V1.0.1的代码即分别对应存在于图1中的V1.0.0代码分支、V2.0.0代码分支以及V1.0.1代码分支中。同时,代码开发人员可能需要分别对版本V1.0.0的代码、版本V2.0.0的代码以及版本V1.0.1的代码进行修订,因此,代码平台即可分别获得版本V1.0.0的修订后的代码、版本V2.0.0的修订后的代码以及版本V1.0.1的修订后的代码。
在代码平台获得版本V1.0.0的修订后的代码、版本V2.0.0的修订后的代码以及版本V1.0.1的修订后的代码,直接可以将版本V1.0.0的修订后的代码、版本V2.0.0的修订后的代码以及版本V1.0.1的修订后的代码进行扫描并上报给模型平台。
在特殊情形中,即发现版本V1.0.0代码存在一些漏洞时,假设版本V1.0.1代码对其bug进行了修复,上述版本V2.0.0的修订后的代码是合并了版本V1.0.1的修订后的代码的合并代码。并且在该情形下,向模型平台提供的版本V2.0.0的修订后的代码,也是合并了版本V1.0.0的修订后的代码的合并代码。这是由于必须在之后所有的代码版本都修复该bug,将合并后的代码作为版本V2.0.0的修订后的代码提供给模型平台,使得模型平台后续获得的代码版本都对该发现的代码bug进行了修复。
上述介绍的图1即为针对本申请的模型处理方法与代码获得方法的一种应用场景的图示,本申请的实施例中不对模型处理方法与代码获得方法的应用场景做具体的限定,上述模型处理方法与代码获得方法的应用场景,仅仅是本申请提供的模型处理方法与代码获得方法的应用场景的一个实施例,提供该应用场景实施例的目的是便于理解本申请提供的模型处理方法与代码获得方法,而并非用于限定本申请提供的模型处理方法与代码获得方法。本申请实施例对模型处理方法与代码获得方法的其它应用场景,不再一一赘述。
第一实施例
本申请第一实施例提供一种模型处理方法,以下结合图2进行说明。需要说明的是,关于本实施例的一些详细内容在上述描述中已经说明,此处不再赘述。
请参照图2,其为本申请第一实施例提供的模型处理方法的流程图。
本申请实施例的模型处理方法,应用于模型平台,包括如下步骤:
步骤S201:获取被执行变更操作的变更数据模型。
在本实施例中,变更操作包括建立数据模型的操作,还可以包括对数据模型进行升级更新或者优化更新的操作。例如,在最初时,需要在模型平台上建立一个数据模型,这个数据模型需要进行升级更新或者优化更新。那么,建立数据模型的操作与后续更新数据模型的操作均可以作为变更操作。在本实施例中,变更数据模型可以是指模型平台中,被提出设计任务的使用者执行了变更操作的模型。
上述变更操作涉及的操作是多种多样的,例如,可以是对数据模型进行的升级更新,也可以是对数据模型进行优化或者修复的操作。例如,在发布一个数据模型的版本后,发现发布的数据模型的版本存在漏洞或者缺陷,需要对其进行修复。
步骤S202:根据预设标准,为变更数据模型设置新版本号。
在对变更数据模型进行变更操作时,可能涉及到变更数据模型的多个版本。为了便于区分每个版本,需要制定一个标准,为变更数据模型的多个版本中的每个版本设置一个版本号。例如,可以将初始在模型平台上建立的数据模型的版本号设置为V1.0.0,将对模型版本V1.0.0进行升级更新的模型版本号设置为V2.0.0。
为了便于清晰地了解对变更数据模型进行升级更新或者优化更新的模型的版本的版本号,为变更数据模型设置新版本号。例如,上述V2.0.0即为在模型版本V1.0.0的基础上设置的新版本号。
当然,在前文中提及,可能数据模型对应的V1.0.0版本发布之后,可能发现已发布的V1.0.0版本存在一些漏洞需要修复,修复的数据模型也需要设置新版本号,以便于清晰地了解哪个版本是修复的数据模型。例如,可以将修复的数据模型的版本号设置为V1.0.1。
步骤S203:根据变更数据模型执行代码生成,将生成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台。
在获得变更数据模型并且为变更数据模型设置新版本号之后,根据变更数据模型执行代码生成,生成对应变更数据模型的新版本代码或者新版本代码更新部分。
具体地,请参见图1,在获得变更数据模型对应的版本V1.0.0、版本V2.0.0以及版本V1.0.1后,即可生成版本V1.0.0、版本V2.0.0以及版本V1.0.1对应的代码。可以以版本V2.0.0对应的代码作为上述对应变更数据模型的新版本代码的示例,将版本V1.0.1对应的代码作为新版本代码更新部分的示例。
具体地,在根据变更数据模型执行代码生成步骤之前,还需要基于变更数据模型,获得用于表示变更数据模型的结构的变更模型元数据。
更具体地,基于变更数据模型,获得用于表示变更数据模型的结构的变更模型元数据,可以是指:基于变更数据模型、数据模型与模型元数据之间的对应关系,获得用于表示变更数据模型的结构的变更模型元数据。
在获得变更模型元数据之后,基于变更模型元数据即可获得代码元数据,代码元数据用于生成代码。在本实施例中,模型元数据与代码元数据之间具有映射对应关系,以用于模型元数据与代码元数据之间相互转换。
因此,在生成变更模型元数据之后,根据变更数据模型执行代码生成步骤之前,需要基于变更模型元数据与新版本号,生成对应变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,以进一步根据对应变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,生成对应变更数据模型的新版本代码或者新版本代码更新部分。
具体地,根据变更数据模型执行代码,可以是指如下过程。
首先,基于变更数据模型与新版本号,生成对应变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分。例如,可以基于变更数据模型对应的版本V1.0.0、版本V2.0.0以及版本V1.0.1,即可生成版本V1.0.0、版本V2.0.0以及版本V1.0.1对应的变更模型元数据。新版本的模型元数据即为版本V2.0.0对应的变更模型元数据,新版本的模型元数据更新部分即为版本V1.0.1对应的变更模型元数据。
之后,基于模型元数据与代码元数据之间映射对应关系、变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分,生成对应变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分。例如,在生成版本V1.0.0、版本V2.0.0以及版本V1.0.1对应的变更模型元数据之后,可以基于变更模型元数据与代码元数据之间的映射对应关系,分别获得版本V1.0.0、版本V2.0.0以及版本V1.0.1对应的代码元数据。新版本的代码元数据即为版本V2.0.0对应的代码元数据,新版本的代码元数据更新部分即为版本V1.0.1对应的代码元数据。
在生成对应变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分之后,根据变更数据模型执行代码生成,生成对应变更数据模型的新版本代码或者新版本代码更新部分,可以是指:基于对应变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,生成对应变更数据模型的新版本代码或者新版本代码更新部分。新版本的代码元数据可以是如版本V2.0.0对应的代码元数据,新版本的代码元数据更新部分是如版本V1.0.1对应的代码元数据。
在生成对应变更数据模型的新版本代码或者新版本代码更新部分之后,将对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台。
代码平台获得的代码可以包括:版本V2.0.0对应的代码或者版本V1.0.1对应的代码。当然,图1是以代码平台能够同时获得版本V1.0.0对应的代码、版本V2.0.0对应的代码以及版本V1.0.1对应的代码为例的图示。
需要说明的是,模型平台在将生成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台之后,还向代码平台发送请求获得上报代码的请求消息。代码平台基于该请求消息,即可将扫描上报的上报代码提供给模型平台。
步骤S204:将代码平台对新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据,并入变更数据模型,形成修订后变更数据模型。
代码平台在获得新版本代码或者新版本代码更新部分之后,代码开发人员可能对新版本代码或者新版本代码更新部分进行修订,如果代码开发人员对新版本代码或者新版本代码更新部分进行了修订,代码平台会对新版本代码或者新版本代码更新部分执行修订后的代码扫描上报,模型平台即可接收上报代码。在接收上报代码后,将其转换为新版本模型元数据。实际上,在新版本模型元数据中,包含了代码开发人员修订的部分。
上述上报代码是指修订后的代码,例如,版本V1.0.0的修订后的代码、版本V1.0.1的修订后的代码以及版本V2.0.0的修订后的代码。
在获得新版本模型元数据之后,将新版本模型元数据并入变更数据模型,形成修订后变更数据模型。
具体地,在接收上报代码后,将其转换为新版本模型元数据,可以是指:首先,模型平台在获得上报代码后,基于上报代码,可以将上报代码转换为新版本代码元数据;之后,基于模型元数据与代码元数据之间的映射对应关系,将新版本代码元数据进而转换成新版本模型元数据。
当然,之所以模型平台能够接收代码平台的上报代码,是由于模型平台能够响应于检测到代码平台发送的代码上报请求,进而获得代码平台提供的对新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码。
此外,模型平台在将新版本模型元数据并入变更数据模型元数据,形成修订后变更数据模型之前,还需要判断上报代码的修订操作是否符合针对变更数据模型进行修订的需求和/或条件;只有在上报代码的修订操作符合针对变更数据模型进行修订的需求和/或条件时,才将新版本模型元数据,并入变更数据模型元数据,并进而形成修订后变更数据模型。
例如,代码开发人员在对代码进行修订时,修订的具体过程可能不符合针对变更数据模型进行修订的需求或条件。此时,需要模型平台上的建模用户审核下修订后的代码,即审核下上报代码的修订操作是否符合针对变更数据模型进行修订的需求和/或条件。
步骤S205:将修订后变更数据模型,作为被执行变更操作的变更数据模型,并返回根据变更数据模型执行代码生成的步骤。
在本实施例中,获得的修订后变更数据模型可能需要进一步修复或者修订,即:可能当前修订后变更数据模型并未达到稳定状态,因此,需要将修订后变更数据模型作为被执行变更操作的变更数据模型并返回根据变更数据模型执行代码生成的步骤,并进一步对修订后变更数据模型进行修订或者修复。例如,发现修订后的模型V1.0.1版本或者修订后的模型V2.0.0版本的状态不是足够稳定,需要进一步优化。
在经过一轮或者多轮修订之后,将达到稳定状态的变更数据模型,以新版本号发布。例如,在对处于不稳定状态的修订后的模型V1.0.1版本或者修订后的模型V2.0.0版本进行一轮或者多轮修订之后,发现修订后的模型V1.0.1版本或者修订后的模型V2.0.0版本达到了稳定状态,则将达到稳定状态的模型V1.0.1版本以版本号V1.0.1进行发布,将达到稳定状态的模型V2.0.0版本以版本号V2.0.0进行发布。
由于在该模型处理方法中,为变更数据模型设置了新版本号;根据变更数据模型执行代码生成,将生成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及新版本号发送到代码平台;并获得了代码平台对新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,并将上报代码转换为新版本模型元数据,并入变更数据模型,形成修订后变更数据模型,进而使得形成的修订后变更数据模型是与预先设定的新版本号对应的,进而在数据模型的升级更新或者优化更新过程中,对数据模型的不同版本根据其对应的版本号进行合理的管理,避免数据模型不同版本之间造成混乱的问题。
第二实施例
与第一实施例对应地,本申请第二实施例提供一种代码获得方法。第二实施例中与第一实施例相同的部分不再介绍,具体请参见第一实施例的相关部分。
请参照图3,其为本申请第二实施例提供的代码获得方法的流程图。
本申请实施例的代码获得方法,应用于代码平台,包括如下步骤:
步骤S301:获得根据变更数据模型执行代码生成形成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及对应变更数据模型的新版本号。
本实施例中的代码获得方法,其执行主体为代码平台,代码平台可以获得如上第一实施例中的模型平台提供的新版本代码或者新版本代码更新部分,以及对应变更数据模型的新版本号。
步骤S302:根据变更数据模型的新版本代码或者新版本代码更新部分,在新版本号作为版本建立的代码分支上,更新原代码,形成新版本代码。
具体地,请参见图1,在获取变更数据模型的新版本代码或者新版本代码更新部分之后,在新版本号作为版本建立的代码分支上,更新原代码,形成新版本代码。新版本代码可以是指版本V2.0.0对应的代码,新版本代码更新部分可以是指版本V1.0.1对应的代码。通过图1右侧可以看出:在以V1.0.1或者V2.0.0作为版本建立的代码分支上,更新原代码(即更新V1.0.0对应的代码),进而形成V1.0.1对应的代码或者V2.0.0对应的代码。
步骤S303:接收对新版本代码的修订,并对修订后的新版本代码进行扫描上报,修订后的新版本代码以新版本号作为版本标识。
由于在代码平台侧,代码开发人员可能对形成的V2.0.0对应的代码或者V1.0.1对应的代码进行修订,为了使得模型平台获得代码开发人员修订部分的代码,将修订后的新版本代码进行扫描上报。在上报修订后的新版本代码进行扫描上报时,连同修订后的新版本代码对应的新版本号作为版本标识一同上报给模型平台。
步骤S304:接收根据修订后变更数据模型执行代码生成形成的对应修订后变更数据模型的修订后新版本代码,并将修订后新版本代码并入新版本代码中。
在代码平台将修订后的新版本代码提供给模型平台后,模型平台即可将修订后的新版本代码转换为新版本模型元数据,并入变更数据模型,形成修订后变更数据模型。
之后,修订后变更数据模型又作为变更数据模型被模型平台执行代码生成,即生成了对应修订后变更数据模型的修订后新版本代码。模型平台将修订后新版本代码提供给代码平台,以供代码平台将修订后新版本代码与新版本代码进行合并。这样,代码平台侧将多次修订或者升级的代码进行了合并。
例如,针对代码V2.0.0版本,在开发过程中,首先是获得V2.0.0最初的代码(如图1中模型平台提供的对应V2.0.0版本的代码生成对应生成的代码),在代码开发人员对其进行修订后,对应获得的是V2.0.0修订后的代码。V2.0.0修订后的代码(可能仅仅是V2.0.0被修订部分的代码)被提供给模型平台后,模型平台会生成V2.0.0修订后变更数据模型,进而生成V2.0.0修订后的代码。实际上,如果代码开发人员修订操作符合针对变更数据模型进行修订的需求和/或条件,则模型平台生成的V2.0.0修订后的代码可能就是,扫描上报过程中代码平台提供给模型平台的V2.0.0修订后的代码。之后,将V2.0.0修订后的代码与V2.0.0最初的代码合并,获得版本V2.0.0对应的修订后的完整代码。
与第一实施例对应地,在本实施例中,将经过一轮或者多轮修订,达到稳定状态的修订后新版本代码,以新版本号发布。第一实施例是将达到稳定状态的变更数据模型以新版本号发布。在本实施例中,是需要对代码进行不断升级更新或者优化更新,将达到稳定状态的修订后新版本代码以新版本号发布。最终稳定状态的修订后新版本代码即为发布的V2.0.0版本的代码或者发布的V1.0.1版本的代码。
由于在本实施例中,代码平台需要将上报代码提供给模型平台,代码平台还获得模型平台发送的请求获得上报代码的请求消息。
因此,作为对修订后的新版本代码进行扫描上报的一种实施方式,可以是指:针对请求消息,将修订后的新版本代码提供给模型平台。
由于在该代码获得方法中,获得根据变更数据模型执行代码生成形成的对应变更数据模型的新版本代码或者新版本代码更新部分,以及对应变更数据模型的新版本号;根据变更数据模型的新版本代码或者新版本代码更新部分,在新版本号作为版本建立的代码分支上,更新原代码,形成新版本代码;接收对新版本代码的修订,并对修订后的新版本代码进行扫描上报,修订后的新版本代码以新版本号作为版本标识;接收根据修订后变更数据模型执行代码生成形成的对应修订后变更数据模型的修订后新版本代码,并将修订后新版本代码并入新版本代码中。进而该方法使得最终获得的修订后新版本代码与新版本代码的合并代码,是与预先设定的新版本号对应的,进而在代码的升级更新或者优化更新过程中,对代码的不同版本根据其对应的版本号进行合理的管理,避免代码不同版本之间造成混乱的问题。
第三实施例
与本申请第一实施例提供的模型处理方法相对应的,本申请第三实施例还提供一种模型处理装置。由于装置实施例基本相似于第一实施例,所以描述得比较简单,相关之处参见第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图4,其为本申请第三实施例提供的模型处理装置的示意图。
该模型处理装置,应用于模型平台,包括:
变更数据模型获取单元401,用于获取被执行变更操作的变更数据模型;
设置单元402,用于根据预设标准,为所述变更数据模型设置新版本号;
代码生成与发送单元403,用于根据所述变更数据模型执行代码生成,将生成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台;
修订后变更数据模型形成单元404,用于将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据,并入所述变更数据模型,形成修订后变更数据模型;
返回单元405,用于将所述修订后变更数据模型,作为所述被执行变更操作的变更数据模型,并返回所述根据变更数据模型执行代码生成的步骤。
可选的,还包括:变更数据模型发布单元,用于将经过一轮或者多轮修订,达到稳定状态的所述变更数据模型,以所述新版本号发布。
可选的,还包括:变更模型元数据获得单元,用于在根据所述变更数据模型执行代码生成的步骤之前,基于所述变更数据模型,获得用于表示所述变更数据模型的结构的变更模型元数据。
可选的,所述代码生成与发送单元,具体用于:
基于所述变更模型元数据与所述新版本号,生成对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分;
基于所述对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分,生成对应所述变更数据模型的新版本代码或者新版本代码更新部分;
将所述对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台。
可选的,模型元数据与代码元数据之间具有映射对应关系,以用于所述模型元数据与所述代码元数据之间相互转换;
所述代码生成与发送单元,具体用于:
基于所述变更模型元数据与所述新版本号,生成对应所述变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分;
基于所述映射对应关系、所述变更数据模型的新版本的模型元数据或者新版本的模型元数据更新部分,生成对应所述变更数据模型的新版本的代码元数据或者新版本的代码元数据更新部分。
可选的,所述修订后变更数据模型形成单元,具体用于:
基于所述映射对应关系,将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本代码元数据,进而转换成新版本模型元数据;
将所述新版本模型元数据并入所述变更数据模型元数据,并进而形成修订后变更数据模型。
可选的,所述变更模型元数据获得单元,具体用于:
基于所述变更数据模型、数据模型与模型元数据之间的对应关系,获得用于表示所述变更数据模型的结构的变更模型元数据。
可选的,还包括:判断单元,用于判断所述上报代码的修订操作是否符合针对所述变更数据模型进行修订的需求和/或条件;
所述修订后变更数据模型形成单元,具体用于:如果是,则将所述新版本模型元数据,并入所述变更数据模型元数据,并进而形成所述修订后变更数据模型。
可选的,还包括:上报代码获得单元,用于在将代码平台对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码,转换为新版本模型元数据之前,响应于检测到所述代码平台发送的代码上报请求,获得所述代码平台提供的对所述新版本代码或者新版本代码更新部分执行修订并扫描上报的上报代码。
可选的,还包括:上报代码获得请求消息发送单元,用于在将生成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及所述新版本号发送到代码平台之后,向所述代码平台发送请求获得上报代码的请求消息。
第四实施例
与本申请第二实施例提供的代码获得方法相对应的,本申请第四实施例还提供一种代码获得装置。由于装置实施例基本相似于第二实施例,所以描述得比较简单,相关之处参见第二实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图5,其为本申请第四实施例提供的代码获得装置的示意图。
该代码获得装置,应用于代码平台,包括:
新版本代码相关信息获得单元501,用于获得根据变更数据模型执行代码生成形成的对应所述变更数据模型的新版本代码或者新版本代码更新部分,以及对应所述变更数据模型的新版本号;
新版本代码形成单元502,用于根据所述变更数据模型的新版本代码或者新版本代码更新部分,在所述新版本号作为版本建立的代码分支上,更新原代码,形成新版本代码;
扫描上报单元503,用于接收对所述新版本代码的修订,并对修订后的新版本代码进行扫描上报,所述修订后的新版本代码以所述新版本号作为版本标识;
并入单元504,用于接收根据修订后变更数据模型执行代码生成形成的对应所述修订后变更数据模型的修订后新版本代码,并将所述修订后新版本代码并入所述新版本代码中。
可选的,还包括:新版本代码发布单元,用于将经过一轮或者多轮修订,达到稳定状态的所述修订后新版本代码,以所述新版本号发布。
可选的,还包括:上报代码获得请求消息获得单元,用于获得模型平台发送的请求获得上报代码的请求消息;
所述扫描上报单元,具体用于:针对所述请求消息,将所述修订后的新版本代码提供给所述模型平台。
第五实施例
与第一实施例对应地,本申请第五实施例提供另外一种模型处理方法。第五实施例中与第一实施例相同的部分不再介绍,具体请参见第一实施例的相关部分。
请参照图6,其为本申请第五实施例提供的模型处理方法的流程图。
本申请实施例的模型处理方法,应用于模型平台,包括如下步骤:
步骤S601:获得用于表示新版本的变更数据模型的新版本模型标识信息与用于表示初始版本的变更数据模型的初始版本模型标识信息。
该实施例中的模型处理方法,实际上是在模型平台的页面上展示变更数据模型不同版本之间的关系,并展示多个版本的变更数据模型对应的代码之间的关系,同时还展示变更数据模型与其对应的代码之间的关系。即:通过该实施例是可以对第一实施例中的不同版本的变更数据模型以及第二实施例中的不同版本的代码进行展示。
结合图1对该实施例进行简要说明,在本实施例中,用于表示新版本的变更数据模型的新版本模型标识信息可以是如图1中的左侧的模型V1.0.1或者模型V2.0.0。实际上图1即可以为在模型平台的页面上展示的示例。用于表示初始版本的变更数据模型的初始版本模型标识信息可以是如图1中的左侧的模型V1.0.0。
步骤S602:在模型平台的页面上,展示新版本模型标识信息、初始版本模型标识信息以及新版本的变更数据模型与初始版本的变更数据模型之间的变更关系信息。
在获得新版本模型标识信息、初始版本模型标识信息之后,即可在模型平台的页面上,展示新版本模型标识信息、初始版本模型标识信息。同时,由于新版本的变更数据模型是基于对初始版本的变更数据模型进行升级更新或者优化更新获得的,即在图1中,展示新版本的变更数据模型与初始版本的变更数据模型之间的变更关系信息,即:如图1中的由模型V1.0.0可以衍生出模型V1.0.1或者模型V2.0.0。
除此之外,还在模型平台的页面上展示用于表示新版本代码的新版本代码标识信息、用于表示初始版本代码的初始版本代码标识信息以及新版本代码与初始版本代码之间的变更关系信息;新版本代码由新版本的变更数据模型转换获得,初始版本代码由初始版本的变更数据模型转换获得。
请继续参照图1,用于表示新版本代码的新版本代码标识信息可以是如图1中的右侧的V1.0.1代码分支或者V2.0.0代码分支。需要说明的是,标识信息中包括版本号,如:V1.0.0、V1.0.1、V2.0.0。同样地,由于新版本代码是基于对初始版本代码进行升级更新或者优化更新获得的,即在图1中,需要展示新版本代码与初始版本代码之间的变更关系信息,即:如图1中的由V1.0.0代码分支可以衍生出V1.0.1代码分支或者V2.0.0代码分支。
由于新版本代码由新版本的变更数据模型转换获得,初始版本代码由初始版本的变更数据模型转换获得,还可以在模型平台的页面上展示新版本代码与新版本的变更数据模型之间的转换关系信息以及初始版本代码与初始版本的变更数据模型之间的转换关系信息,如图1中的“代码生成”以及“扫描上报,模型元数据合并”。
具体地,由模型V1.0.0指向V1.0.0代码分支的“代码生成”是指基于模型V1.0.0执行代码生成,进而转换获得V1.0.0代码分支。类似地,由V1.0.0代码分支指向模型V1.0.0的“扫描上报,模型元数据合并”是指代码平台基于代码开发人员针对V1.0.0代码分支修订的代码扫描上报给模型平台,以供模型平台将上报的修订代码转换为修订后变更模型元数据并入模型V1.0.0,进而转换为修订的模型V1.0.0。
第六实施例
与本申请第一实施例至第二实施例以及第五实施例的方法相对应的,本申请第六实施例还提供一种电子设备。
如图7所示,图7为本申请第六实施例中提供的一种电子设备的示意图。该电子设备,包括:处理器701;存储器702,用于存储计算机程序,该计算机程序被处理器运行,执行第一实施例至第二实施例以及第五实施例的方法。
第七实施例
与本申请第一实施例至第二实施例以及第五实施例的方法相对应的,本申请第七实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行第一实施例至第二实施例以及第五实施例的方法。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读存储媒体(non-transitorycomputer readable storage media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。