CN104134109A - 集成版本管理的工程组态方法及系统 - Google Patents
集成版本管理的工程组态方法及系统 Download PDFInfo
- Publication number
- CN104134109A CN104134109A CN201410286871.4A CN201410286871A CN104134109A CN 104134109 A CN104134109 A CN 104134109A CN 201410286871 A CN201410286871 A CN 201410286871A CN 104134109 A CN104134109 A CN 104134109A
- Authority
- CN
- China
- Prior art keywords
- module
- edited
- client
- configuration project
- management server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004048 modification Effects 0.000 claims abstract description 9
- 238000012986 modification Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种集成版本管理的工程组态方法及系统,该方法包括:客户端下载组态工程后,发送携带有该组态工程中待编辑的模块的标识和客户端的标识的编辑请求;若版本管理服务器查找到的组态工程中对应待编辑的模块的标识所记录的编辑状态为待编辑,则返回编辑权限,将编辑状态修改为编辑中;客户端接收到编辑权限后,将编辑后得到的已编辑模块替换掉组态工程中的待编辑的模块,将向版本管理服务器提交修改后的组态工程提交、并发送携带有已编辑模块的标识和客户端的标识的释放请求;版本管理服务器将对应已编辑模块的标识所记录的编辑状态置为待编辑,为客户端提交的组态工程分配新的版本号进行存储。应用本发明,可以提高组态效率。
Description
技术领域
本发明涉及组态软件技术领域,尤其涉及一种集成版本管理的工程组态方法及系统。
背景技术
轨道交通综合监控系统是一个庞大的组态工程,其涉及20-50个车站、10多个子系统、近200台计算机、近万台自动化设备、近100万个测点;搭建这样的组态工程的工作量非常大,必须由多个工程组态人员共同开发完成。例如,在传统的组态方法中,多个工程组态人员可以通过组态软件平台来组态工程,具体地,可以根据工程规模将组态工程划分为小规模的模块,有些工艺独立的模块可以由不同的工程组态人员分别负责开发,有些公用的模块则需要多人进行开发;在各模块完成开发后,手动进行工程的合并和发布。
事实上,轨道交通综合监控系统从开始组态到最终发布,要经历很多个版本,因此,需要对组态工程中的各模块进行不断的修改。然而,由于传统的工程组态过程中,需要采用拷贝的方式获取不同的工程组态人员所修改的各模块,将修改的各模块与历史版本中未修改的模块进行合并,形成新的版本的组态工程,组态过程繁复、组态效率低;而且可能存在同时有多个工程组态人员对同一模块进行修改的情况,一旦出现上述情况,在合并过程中就会出现模块冲突的问题,需要人工才能解决,进一步降低了工程组态的效率。
为了提高工程组态的效率,现有提供了一种分布式控制系统的工程组态管理方法及系统,其可以为分布式控制系统的每个单元域设置对应的域服务器,并设置管理域;在各单元域内分别组态,获得各单元域的组态文件,将各单元域的组态文件存储到各自对应的域服务器上;共享各单元域的工程组态主目录;根据工程组态主目录,在管理域上添加各单元域工程,对各单元域统一进行组态。虽然,通过该管理系统可以实现各单元域分别组态(并行化),提高了工程组态的效率;但是,每个单元域修改工程内容后,提交到域服务器时,会将当前域服务器中对应的工程内容覆盖,并不能记录每个单元域每次修改的内容,不利于问题追溯,不能够实现工程版本的回退。
综上所述,现有的工程组态方法存在工程组态效率低,因此,有必要提供一种能够支持多个工程组态人员同时修改组态工程以提高组态效率。
发明内容
本发明实施例提供了一种集成版本管理的工程组态方法及系统,用以提高组态效率。
根据本发明的一个方面,提供了一种集成版本管理的工程组态方法,包括:
客户端从版本管理服务器下载组态工程后,向所述版本管理服务器发送携带有该组态工程中待编辑的模块的标识和所述客户端的标识的编辑请求;
所述版本管理服务器根据接收的编辑请求,查找所述组态工程中对应所述待编辑的模块的标识所记录的编辑状态;若查找到的编辑状态为待编辑,则返回所述待编辑的模块的编辑权限,将查找到的编辑状态修改为编辑中,并记录该模块的编辑者为所述客户端的标识;否则,返回拒绝信息;
所述客户端在接收到所述待编辑的模块的编辑权限后,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,将得到的修改后的组态工程向所述版本管理服务器提交;
所述客户端向版本管理服务器发送携带有所述已编辑模块的标识和所述客户端的标识的释放请求;
所述版本管理服务器从接收的释放请求中解析出客户端的标识与模块的标识后,确认对应解析出的模块的标识所记录的编辑者是否与解析出的客户端的标识相同;若是,则将所述组态工程中对应所述已编辑模块的标识所记录的编辑状态置为待编辑,为所述客户端提交的组态工程分配新的版本号后进行存储,并取消所述客户端的标识与所述已编辑模块的标识的对应关系。
较佳地,在所述客户端从版本管理服务器下载组态工程之前,还包括:
客户端将创建的组态工程提交至所述版本管理服务器;
所述版本管理服务器为接收的组态工程分配版本号后,将分配的版本号与接收的组态工程进行对应存储。
较佳地,所述将得到的修改后的组态工程向所述版本管理服务器提交之前,还包括:
所述客户端从所述版本管理服务器下载当前最新的组态工程,并将基于之前下载的组态工程进行修改后得到的组态工程与所述当前最新的组态工程进行版本比对,确定出两者的差异内容后,利用确定出的差异内容对所述修改后得到的组态工程进行更新;
所述将得到的修改后的组态工程向所述版本管理服务器提交,具体为: 将得到的更新后的组态工程向所述版本管理服务器提交。
较佳地,所述客户端在接收到所述待编辑的模块的编辑权限之后,还包括:
所述客户端向所述版本管理服务器发送携带有目的版本号的历史版本请求;
所述版本管理服务器根据接收的所述历史版本请求,查找出与所述目的版本号对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块针对所述历史版本请求向所述客户端返回;
所述将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,具体为:
所述客户端将接收的模块替换掉所述组态工程中的待编辑的模块。
较佳地,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块之后,还包括:
确定出所述已编辑模块与所述待编辑的模块之间的差异内容;以及
所述将得到的修改后的组态工程向所述版本管理服务器提交,具体为:
将得到的修改后的组态工程、已编辑模块的标识和确定出的差异内容向所述版本管理服务器提交;以及
所述为所述客户端提交的组态工程分配新的版本号后进行存储,具体为:
所述版本管理服务器为所述客户端提交的组态工程分配新的版本号,并将分配的新的版本号与接收的组态工程、所述已编辑模块的标识以及接收的差异内容对应存储。
较佳地,所述客户端在接收到所述待编辑的模块的编辑权限之后,还包括:
所述客户端向所述版本管理服务器发送携带有所述待编辑的模块的标识的历史版本请求;
所述版本管理服务器根据接收的所述历史版本请求,查找出所有与所述待编辑的模块的标识对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块向所述客户端返回;以及
所述将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,具体为:
所述客户端接收到所述版本管理服务器返回的所有与所述待编辑的模块的标识相同的模块,从中选择一个模块替换掉所述组态工程中的待编辑的模 块。
根据本发明的另一个方面,还提供了一种集成版本管理的工程组态系统,包括:
所述客户端用于从所述版本管理服务器下载组态工程后,向所述版本管理服务器发送携带有该组态工程中待编辑的模块的标识和所述客户端的标识的编辑请求;并在接收到所述待编辑的模块的编辑权限后,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,将得到的修改后的组态工程向所述版本管理服务器提交;之后,向版本管理服务器发送携带有所述已编辑模块的标识和所述客户端的标识的释放请求;
所述版本管理服务器用于根据接收的编辑请求,查找所述组态工程中对应所述待编辑的模块的标识所记录的编辑状态;若查找到的编辑状态为待编辑,则返回所述待编辑的模块的编辑权限,并将查找到的编辑状态修改为编辑中,并记录该模块的编辑者为所述客户端的标识;否则,返回拒绝信息;并从接收的释放请求中解析出客户端的标识与模块的标识后,确认对应解析出的模块的标识所记录的编辑者是否与解析出的客户端的标识相同;若是,则将所述组态工程中对应所述已编辑模块的标识所记录的编辑状态置为待编辑,为所述客户端提交的组态工程分配新的版本号后进行存储,并取消所述客户端的标识与所述已编辑模块的标识的对应关系。
较佳地,所述客户端还用于在从版本管理服务器下载组态工程之前,将创建的组态工程提交至所述版本管理服务器;以及
所述版本管理服务器还用于为接收的组态工程分配版本号后,将分配的版本号与接收的组态工程进行对应存储。
较佳地,所述客户端还用于在将得到的修改后的组态工程向所述版本管理服务器提交之前,从所述版本管理服务器下载当前最新的组态工程,将基于之前下载的组态工程与所述当前最新的组态工程进行版本比对,确定出两者的差异内容后,利用确定出的差异内容对所述修改后得到的组态工程进行更新,将得到的更新后的组态工程向所述版本管理服务器提交。
较佳地,所述客户端还用于在接收到所述待编辑的模块的编辑权限之后,向所述版本管理服务器发送携带有目的版本号的历史版本请求;将接收的针对所述历史版本请求返回的模块替换掉所述组态工程中的待编辑的模块;以及
所述版本管理服务器还用于根据接收的所述历史版本请求,查找出与所述目的版本号对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块针对所述历史版本请求向所述客户端返回。
本发明实施例的技术方案中,客户端可以从版本管理服务器下载最新或历史版本的组态工程,并在对下载的组态工程进行编辑后再提交至版本管理服务器,继而,版本管理服务器为提交的组态工程分配最新的版本号;这样,在后续可以根据版本号进行历史版本的追溯和回退。并且,多个客户端可以同时对同一版本的组态工程进行编辑修改,提高了组态效率。其中,不同的客户端对同一版本的组态工程修改的过程中,版本管理服务器可以针对各客户端待编辑修改的模块进行编辑权限的授予与拒绝,以此保证同一模块在同一时间只有一个客户端进行编辑修改,这样也就避免了现有因多人修改同一模块所造成的模块冲突问题,进一步提高了组态效率。
附图说明
图1为本发明实施例的集成版本管理的工程组态系统的结构示意图;
图2为本发明实施例的一种集成版本管理的工程组态方法的流程示意图;
图3为本发明实施例的第二种工程组态方法的流程示意图;
图4为本发明实施例的第三种工程组态方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的发明人考虑,可以通过版本管理服务器为客户端提交的组态工程分配的版本号;相应地,每个客户端可以从版本管理服务器下载最新或历史版本的组态工程并对下载的组态工程进行编辑后再提交至版本管理服务 器,继而,版本管理服务器为提交的组态工程分配最新的版本号;这样,在后续可以根据版本号进行历史版本的追溯和回退。并且,多个客户端可以同时对下载的同一组态工程进行编辑修改,提高了组态效率。
进一步地,不同的客户端对同一组态工程修改的过程中,版本管理服务器可以针对各客户端待编辑修改的模块进行编辑权限的授予与拒绝,以此保证同一模块在同一时间只有一个客户端进行编辑修改,这样也就避免了模块冲突的问题,进一步提高了组态效率。
下面结合附图详细说明本发明的技术方案。
本发明实施例提供了一种集成版本管理的工程组态系统,如图1所示,具体包括:版本管理服务器101和至少一个客户端102。
其中,版本管理服务器101可以预先构建一个用于存储组态工程的组态工程库;在该组态工程库中,每个组态工程都具有与之对应的版本号。而且,版本管理服务器101对于组态工程库中的每个组态工程,针对该组态工程所包含的每个模块,对应该模块的标识记录有编辑状态,例如,待编辑或编辑中。
对于集成版本管理的工程组态系统中的每个客户端102,该客户端102具体可以包括:本地工程库、HMI(Human Machine Interface,人机界面)组件和多人组态服务组件;且客户端102中预先设置有用于与版本管理服务器101相连的SVN客户端服务。这样,版本管理服务器101可以通过SVN客户端服务与客户端中的多人组态服务组件进行通信。
在上述集成版本管理的工程组态系统进行工程组态之前,版本管理服务器101可以接收客户端102提交的组态工程,并将接收的组态工程与为该组态工程分配的版本号对应存储在组态工程库中。
具体地,集成版本管理的工程组态系统中的任一客户端102可以通过多人组态服务组件调用SVN客户端服务将本地创建的(或本地工程库中存储的)组态工程提交至版本管理服务器101。继而,版本管理服务器101为接收的组态工程分配版本号后,可以将分配的版本号与接收的组态工程对应存储在组态工程库中。
在技术人员需要对组态工程库中的某个组态工程的某个模块进行编辑、修改时,如图2所示,可以通过如下步骤实现:
S201:客户端102从版本管理服务器101下载组态工程后,将下载的组态工程存放至本地工程库中。
具体地,客户端102中的多人组态服务组件可以调用SVN客户端服务向版 本管理服务器101发送最新下载请求;版本管理服务器101接收到最新下载请求后,从组态工程库中获取与当前最新的版本号对应的组态工程,并将组态工程向客户端102中的多人组态服务组件返回。实际应用中,客户端102也可以发送携带有版本号的下载请求,请求下载与版本号对应的组态工程。
S202:客户端102从版本管理服务器101获取与下载的组态工程中待编辑的模块对应的编辑权限后,将待编辑的模块从组态工程中签出并进行编辑,得到已编辑模块。
具体地,客户端102中的HMI组件从本地工程库中加载下载的组态工程,从该组态工程中确定出待编辑的模块,并确定出组态工程中的待编辑的模块的标识;继而,客户端102中的多人组态服务组件可以调用SVN客户端服务向本管理服务器101发送携带有待编辑的模块的标识和客户端102的标识的编辑请求。继而,版本管理服务器101根据接收的编辑请求,从中解析出待编辑的模块的标识和客户端102的标识后,查找组态工程中对应待编辑的模块的标识所记录的编辑状态;若查找到的编辑状态为待编辑,则向客户端102中的多人组态服务组件返回待编辑的模块的编辑权限,并将查找到的编辑状态修改为编辑中,并记录该模块的编辑者为客户端102的标识;否则,返回拒绝信息,即版本管理服务器101不向客户端102返回与该模块相对应的编辑权限,实际应用中,可以向客户端102返回提示该待编辑的模块目前处于编辑中的提示信息。这样,客户端102接收到编辑权限后,可以将待编辑的模块从组态工程中签出并对待编辑的模块进行编辑后得到已编辑模块。其中,组态工程中各模块的标识具体是根据该模块的具体功能所确定的,对于在不同版本的组态工程中在同一位置具有相同功能的模块具有相同的标识。
实际应用中,当组态工程中对应模块的标识所记录的编辑状态为待编辑时,表明目前没有客户端对该模块进行编辑,任一客户端可以获取该模块的编辑权限。而当组态工程中对应模块的标识所记录的编辑状态为编辑中时,表明目前有客户端在对该模块进行编辑,其他的客户端将无法获取该模块的编辑权限。这样,通过编辑权限来对模块进行互斥性检验,可以保证对于同一模块,在同一时间只有一个客户端可以对其进行编辑,避免了多个用户同时修改组态工程中的同一模块所带来的版本不一致问题,以及避免了多人组态的模块冲突问题。
S203:客户端102将得到的已编辑模块签入下载的组态工程,得到修改后的组态工程,将修改后的组态工程存储至本地工程库中。
具体地,客户端102中的HMI组件将对待编辑的模块进行编辑后得到的已编辑模块签入下载的组态工程,即将已编辑模块替换掉组态工程中的待编辑的模块,这样,可以得到已签入已编辑模块的组态工程(即修改后的组态工程)后,将得到的修改后的组态工程存储至本地工程库中。
S204:客户端102将得到的修改后的组态工程向版本管理服务器101提交,并向版本管理服务器101发送携带有已编辑模块的标识和客户端的标识的释放请求。
具体地,客户端102中的多人组态服务组件调用SVN客户端服务向版本管理服务器101提交修改后的组态工程,并向版本管理服务器101发送携带有已编辑模块的标识和客户端的标识的释放请求,以释放与已编辑模块的编辑权限。
进一步地,客户端将得到的修改后的组态工程向版本管理服务器10提交之前,还可以从版本管理服务器101下载当前最新的组态工程,并将基于之前下载的组态工程进行修改后得到的组态工程与当前最新的组态工程进行版本比对,确定出两者的差异内容后,利用确定出的差异内容对修改后得到的组态工程进行更新;并将得到的更新后的组态工程向版本管理服务器101提交。
实际应用中,客户端102向版本管理服务器101发送释放请求后,还可以直接对修改后的组态工程进行编译调试,将编译调试成功的组态工程作为新版本进行发布。当然,客户端102步骤S202从版本管理服务器101下载当前最新的组态工程后,也可以直接对下载的组态工程进行编译调试,将编译调试成功的组态工程作为新版本进行发布。
S205:版本管理服务器101接收到客户端102发送的释放请求后,为客户端102提交的组态工程分配新的版本号后进行存储。
具体地,版本管理服务器101接收到客户端102通过SVN客户端服务发送的释放请求后,从中解析出已编辑模块的标识和客户端的标识;确认对应解析出的模块的标识所记录的编辑者是否与解析出的客户端的标识相同;若是,则版本管理服务器101将组态工程中对应已编辑模块的标识所记录的编辑状态置为待编辑,并为客户端102提交的组态工程分配新的版本号后,将分配的新的版本号与客户端102提交的组态工程对应存储在组态工程库中,同时,可以取消客户端102的标识与已编辑模块的标识的对应关系。若对应解析出的模块的标识所记录的编辑者与解析出的客户端的标识不同,则表明客户端102在 没有获得编辑权限的情况下对模块进行了编辑,版本管理服务器101将不接受该客户端102本次提交的组态工程,并不对其进行版本号的分别和存储。
实际应用中,在本客户端102对版本管理服务器101中的组态工程库中之前存储的最新的版本号对应的组态工程进行下载编辑形成修改后的组态工程的过程中,其他客户端可能也对具有相同版本号的组态工程中的其他模块进行了修改,并在本客户端102提交修改后的组态工程之前,版本管理服务器101已为其他客户端102提交的组态工程分配了新的版本号,即在本客户端102提交修改后的组态工程时,版本管理服务器101中的组态工程库中存储的最新组态工程并不是本客户端102之前下载的组态工程。
因此,为了保持版本管理服务器101中的组态工程库中能够准确存储最新版本的组态工程,本客户端102将修改后的组态工程存储至本地工程库中之后,可以将修改后的组态工程与版本管理服务器101的组态工程库中当前存储的最新组态工程进行比对,确定出两者之间的差异内容,并将确定出的差异内容更新到客户端102的本地工程库中,实现客户端的本地组态工程的增量更新,例如,可以采用如图3所示的第二种工程组态方法,具体地,在客户端102在接收到待编辑的模块的编辑权限之后,如图3所示,还可以包括如下步骤:
S301:客户端102向版本管理服务器101发送最新下载请求。
具体地,客户端102中的多人组态服务组件调用SVN客户端服务向版本管理服务器101发送用于获取最新组态工程的最新下载请求。
S302:版本管理服务器101接收到最新下载请求后,将组态工程库中与当前最新的版本号对应的组态工程向客户端102返回。
具体地,版本管理服务器101可以在接收到客户端102发送的最新下载请求后,从组态工程库中查找与最新版本号对应的组态工程,并将查找出的组态工程通过SVN客户端服务向客户端102返回。
S303:客户端102将修改后的组态工程与接收的组态工程进行版本比对后,确定出修改后的组态工程与接收的组态工程之间的差异内容;并利用确定出的差异内容对修改后的组态工程进行更新,得到更新后的组态工程。
具体地,客户端102中的多人组态服务组件通过SVN客户端服务接收到版本管理服务器101发送的最新的组态工程后,将本地工程库中存储的修改后的组态工程与接收的组态工程进行版本比对,确定出修改后的组态工程与接收的组态工程之间的差异内容,并将确定出的工程变更对修改后的组态工程进行更新,得到更新后的组态工程。
S304:客户端102将更新后的组态工程存储至本地工程库后,将更新后的组态工程向版本管理服务器101提交,并向版本管理服务器发送携带有已编辑模块的标识和客户端102的标识的释放请求。
S305:版本管理服务器101接收到客户端102发送的释放请求后,为客户端102提交的组态工程分配新的版本号后进行存储。
具体地,版本管理服务器101可以参考步骤S205的实施方式,根据释放请求中携带的已编辑模块的标识和客户端102的标识,对客户端102提交的组态工程进行相关处理。
实际应用中,版本管理服务器101的组态工程库中的某一组态工程中某一模块的功能实现情况可能没有历史版本中的具有相同的标识的模块的功能实现情况好,在确定该历史版本的版本号的情况下,客户端102可以将该历史版本的版本号作为目的版本号,从版本管理服务器下载该历史版本中的目的模块对最新的组态工程中功能实现情况不良的模块进行替换,实现历史版本的追溯和回退。例如,可以采用如图4所示的第三种工程组态方法。具体地,在客户端102在接收到待编辑的模块的编辑权限之后,如图4所示,还可以包括如下步骤:
S401:客户端102向版本管理服务器101发送携带有目的版本号的历史版本请求。
S402:版本管理服务器101根据接收的历史版本请求,查找出与目的版本号对应的组态工程,并将查找出的组态工程中与待编辑的模块的标识相同的模块针对接收的历史版本请求向客户端102返回。
S403:客户端102将接收的模块替换掉之前下载的组态工程中的待编辑的模块,得到修改后的组态工程。
S404:客户端102将得到的修改后的组态工程向版本管理服务器101提交,并向版本管理服务器101发送携带有已编辑模块的标识和客户端的标识的释放请求。
S405:版本管理服务器101接收到客户端102发送的释放请求后,为客户端102提交的组态工程分配新的版本号后进行存储。
实际应用中,在不确定具有更好的功能实现效果的、具有与待编辑的模块相同的标识的模块(即目的模块)属于哪个历史版本的版本号的情况下,也可以获取目的模块。
具体地,在客户端102对从版本管理服务器101下载的组态工程进行修 改后,可以确定出已编辑模块与待编辑的模块之间的差异内容,并在将得到的修改后的组态工程向所述版本管理服务器提交的同时,可以将得到的修改后的组态工程与已编辑模块的标识和确定出的差异内容向版本管理服务器101一起提交。继而,版本管理服务器在为客户端102提交的组态工程分配新的版本号之后,可以将分配的新的版本号与接收的组态工程、已编辑模块的标识以及接收的差异内容对应存储在组态工程库中。
这样,客户端在不确定具有更好的功能实现效果的、具有与待编辑的模块相同的标识的模块(即目的模块)属于哪个历史版本的版本号的情况下,可以在接收到待编辑的模块的编辑权限之后,向版本管理服务器101发送携带有待编辑的模块的标识的历史版本请求。继而,版本管理服务器101可以根据接收的历史版本请求,查找出所有与待编辑的模块的标识对应的组态工程,并将查找出的组态工程中与待编辑的模块的标识相同的模块向客户端返回。这样,客户端可以接收到版本管理服务器101返回的所有与待编辑的模块的标识相同的模块,从中选择一个模块(即选择出目的模块)替换掉组态工程中的待编辑的模块。例如,可以根据目的模块的特点,根据该特点重接收的所有模块中选择出目的模块。
本发明的技术方案中,客户端可以从版本管理服务器下载最新或历史版本的组态工程,并在对下载的组态工程进行编辑后再提交至版本管理服务器,继而,版本管理服务器为提交的组态工程分配最新的版本号;这样,在后续可以根据版本号进行历史版本的追溯和回退。并且,多个客户端可以同时对同一版本的组态工程进行编辑修改,提高了组态效率。其中,不同的客户端对同一版本的组态工程修改的过程中,版本管理服务器可以针对各客户端待编辑修改的模块进行编辑权限的授予与拒绝,以此保证同一模块在同一时间只有一个客户端进行编辑修改,这样也就避免了现有因多人修改同一模块所造成的模块冲突问题,进一步提高了组态效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种集成版本管理的工程组态方法,其特征在于,包括:
客户端从版本管理服务器下载组态工程后,向所述版本管理服务器发送携带有该组态工程中待编辑的模块的标识和所述客户端的标识的编辑请求;
所述版本管理服务器根据接收的编辑请求,查找所述组态工程中对应所述待编辑的模块的标识所记录的编辑状态;若查找到的编辑状态为待编辑,则返回所述待编辑的模块的编辑权限,将查找到的编辑状态修改为编辑中,并记录该模块的编辑者为所述客户端的标识;否则,返回拒绝信息;
所述客户端在接收到所述待编辑的模块的编辑权限后,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,将得到的修改后的组态工程向所述版本管理服务器提交;
所述客户端向版本管理服务器发送携带有所述已编辑模块的标识和所述客户端的标识的释放请求;
所述版本管理服务器从接收的释放请求中解析出客户端的标识与模块的标识后,确认对应解析出的模块的标识所记录的编辑者是否与解析出的客户端的标识相同;若是,则将所述组态工程中对应所述已编辑模块的标识所记录的编辑状态置为待编辑,为所述客户端提交的组态工程分配新的版本号后进行存储,并取消所述客户端的标识与所述已编辑模块的标识的对应关系。
2.如权利要求1所述的方法,其特征在于,在所述客户端从版本管理服务器下载组态工程之前,还包括:
客户端将创建的组态工程提交至所述版本管理服务器;
所述版本管理服务器为接收的组态工程分配版本号后,将分配的版本号与接收的组态工程进行对应存储。
3.如权利要求1所述的方法,其特征在于,所述将得到的修改后的组态工程向所述版本管理服务器提交之前,还包括:
所述客户端从所述版本管理服务器下载当前最新的组态工程,并将基于之前下载的组态工程进行修改后得到的组态工程与所述当前最新的组态工程进行版本比对,确定出两者的差异内容后,利用确定出的差异内容对所述修改后得到的组态工程进行更新;
所述将得到的修改后的组态工程向所述版本管理服务器提交,具体为:将得到的更新后的组态工程向所述版本管理服务器提交。
4.如权利要求1所述的方法,其特征在于,所述客户端在接收到所述待编辑的模块的编辑权限之后,还包括:
所述客户端向所述版本管理服务器发送携带有目的版本号的历史版本请求;
所述版本管理服务器根据接收的所述历史版本请求,查找出与所述目的版本号对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块针对所述历史版本请求向所述客户端返回;
所述将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,具体为:
所述客户端将接收的模块替换掉所述组态工程中的待编辑的模块。
5.如权利要求1所述的方法,其特征在于,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块之后,还包括:
确定出所述已编辑模块与所述待编辑的模块之间的差异内容;以及
所述将得到的修改后的组态工程向所述版本管理服务器提交,具体为:
将得到的修改后的组态工程、已编辑模块的标识和确定出的差异内容向所述版本管理服务器提交;以及
所述为所述客户端提交的组态工程分配新的版本号后进行存储,具体为:
所述版本管理服务器为所述客户端提交的组态工程分配新的版本号,并将分配的新的版本号与接收的组态工程、所述已编辑模块的标识以及接收的差异内容对应存储。
6.如权利要求5所述的方法,其特征在于,所述客户端在接收到所述待编辑的模块的编辑权限之后,还包括:
所述客户端向所述版本管理服务器发送携带有所述待编辑的模块的标识的历史版本请求;
所述版本管理服务器根据接收的所述历史版本请求,查找出所有与所述待编辑的模块的标识对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块向所述客户端返回;以及
所述将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,具体为:
所述客户端接收到所述版本管理服务器返回的所有与所述待编辑的模块的标识相同的模块,从中选择一个模块替换掉所述组态工程中的待编辑的模块。
7.一种集成版本管理的工程组态系统,其特征在于,包括:版本管理服务器和至少一个客户端;其中,
所述客户端用于从所述版本管理服务器下载组态工程后,向所述版本管理服务器发送携带有该组态工程中待编辑的模块的标识和所述客户端的标识的编辑请求;并在接收到所述待编辑的模块的编辑权限后,将对所述待编辑的模块进行编辑后得到的已编辑模块替换掉所述组态工程中的待编辑的模块,将得到的修改后的组态工程向所述版本管理服务器提交;之后,向版本管理服务器发送携带有所述已编辑模块的标识和所述客户端的标识的释放请求;
所述版本管理服务器用于根据接收的编辑请求,查找所述组态工程中对应所述待编辑的模块的标识所记录的编辑状态;若查找到的编辑状态为待编辑,则返回所述待编辑的模块的编辑权限,并将查找到的编辑状态修改为编辑中,并记录该模块的编辑者为所述客户端的标识;否则,返回拒绝信息;并从接收的释放请求中解析出客户端的标识与模块的标识后,确认对应解析出的模块的标识所记录的编辑者是否与解析出的客户端的标识相同;若是,则将所述组态工程中对应所述已编辑模块的标识所记录的编辑状态置为待编辑,为所述客户端提交的组态工程分配新的版本号后进行存储,并取消所述客户端的标识与所述已编辑模块的标识的对应关系。
8.如权利要求7所述的系统,其特征在于,所述客户端还用于在从版本管理服务器下载组态工程之前,将创建的组态工程提交至所述版本管理服务器;以及
所述版本管理服务器还用于为接收的组态工程分配版本号后,将分配的版本号与接收的组态工程进行对应存储。
9.如权利要求7所述的系统,其特征在于,
所述客户端还用于在将得到的修改后的组态工程向所述版本管理服务器提交之前,从所述版本管理服务器下载当前最新的组态工程,将基于之前下载的组态工程与所述当前最新的组态工程进行版本比对,确定出两者的差异内容后,利用确定出的差异内容对所述修改后得到的组态工程进行更新,将得到的更新后的组态工程向所述版本管理服务器提交。
10.如权利要求7所述的系统,其特征在于,所述客户端还用于在接收到所述待编辑的模块的编辑权限之后,向所述版本管理服务器发送携带有目的版本号的历史版本请求;将接收的针对所述历史版本请求返回的模块替换掉所述组态工程中的待编辑的模块;以及
所述版本管理服务器还用于根据接收的所述历史版本请求,查找出与所述目的版本号对应的组态工程,并将查找出的组态工程中与所述待编辑的模块的标识相同的模块针对所述历史版本请求向所述客户端返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410286871.4A CN104134109A (zh) | 2014-06-24 | 2014-06-24 | 集成版本管理的工程组态方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410286871.4A CN104134109A (zh) | 2014-06-24 | 2014-06-24 | 集成版本管理的工程组态方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104134109A true CN104134109A (zh) | 2014-11-05 |
Family
ID=51806782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410286871.4A Pending CN104134109A (zh) | 2014-06-24 | 2014-06-24 | 集成版本管理的工程组态方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104134109A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750825A (zh) * | 2015-03-31 | 2015-07-01 | 国家电网公司 | 一种智能变电站scd文件快速解析方法 |
CN104809189A (zh) * | 2015-04-21 | 2015-07-29 | 国家电网公司 | 电力图纸版本管理系统及方法 |
CN107016047A (zh) * | 2017-02-20 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 文档查询、文档存储方法及装置 |
CN107291448A (zh) * | 2017-05-19 | 2017-10-24 | 上海瀚乾信息技术服务有限公司 | 一种软件开发项目管理系统 |
CN107341646A (zh) * | 2017-05-31 | 2017-11-10 | 北京广利核系统工程有限公司 | 组态软件协同管理系统和方法 |
CN107885781A (zh) * | 2017-10-16 | 2018-04-06 | 昆仑智汇数据科技(北京)有限公司 | 一种版本管理方法及系统 |
CN108038144A (zh) * | 2017-11-29 | 2018-05-15 | 爱普(福建)科技有限公司 | 一种复杂系统人机交互工程信息的快速修改方法及工具 |
CN108229198A (zh) * | 2016-12-21 | 2018-06-29 | 天脉聚源(北京)科技有限公司 | 一种管理编辑权限的方法和系统 |
CN109460232A (zh) * | 2018-09-27 | 2019-03-12 | 深圳新基点智能股份有限公司 | 一种组态页面的制作和监控方法 |
CN109871233A (zh) * | 2019-02-13 | 2019-06-11 | 南京南瑞继保电气有限公司 | 一种云编程文件管理方法及装置、设备、存储介质 |
CN110532021A (zh) * | 2018-05-25 | 2019-12-03 | 北京东土科技股份有限公司 | 分布式控制系统的组态文件的处理方法及装置 |
TWI682334B (zh) * | 2018-02-08 | 2020-01-11 | 亞智科技股份有限公司 | 製程配方監控方法及製程配方監控系統 |
CN110765150A (zh) * | 2019-11-01 | 2020-02-07 | 上海热像科技股份有限公司 | 一种管理方法、装置、服务器、介质和系统 |
CN110874676A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 资源分配方法、装置和系统 |
CN111176222A (zh) * | 2019-10-12 | 2020-05-19 | 浙江中控技术股份有限公司 | 一种基于组态差异识别的dcs控制器组态更新系统及方法 |
CN111581925A (zh) * | 2020-05-07 | 2020-08-25 | 广东电网有限责任公司电力调度控制中心 | 多用户统一版本编辑方法及计算机可读存储介质 |
TWI726512B (zh) * | 2018-02-08 | 2021-05-01 | 亞智科技股份有限公司 | 製程配方監控方法及製程配方監控系統 |
CN112822232A (zh) * | 2020-12-28 | 2021-05-18 | 浙江中控技术股份有限公司 | 批记录系统协同组态实现方法、装置、设备及存储介质 |
CN113067833A (zh) * | 2021-03-30 | 2021-07-02 | 杭州和利时自动化有限公司 | 一种协同组态服务方法及相关组件 |
CN114578774A (zh) * | 2022-03-07 | 2022-06-03 | 浙江中控技术股份有限公司 | 分散控制系统的组态控制方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179430A (zh) * | 2007-12-03 | 2008-05-14 | 中兴通讯股份有限公司 | 一种分布式系统软件版本更新控制装置及方法 |
CN101556593A (zh) * | 2008-04-11 | 2009-10-14 | 北京亿企通信息技术有限公司 | 一种多人协同工作文档管理的方法和系统 |
CN101699399A (zh) * | 2009-11-03 | 2010-04-28 | 中兴通讯股份有限公司 | 一种软件更新的系统和方法 |
CN102023903A (zh) * | 2009-09-10 | 2011-04-20 | 联想(北京)有限公司 | 一种数据备份的版本管理方法及装置 |
CN103812894A (zh) * | 2012-11-12 | 2014-05-21 | 中国石油天然气集团公司 | 一种实时监控系统中web发布文件版本的管理方法 |
-
2014
- 2014-06-24 CN CN201410286871.4A patent/CN104134109A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179430A (zh) * | 2007-12-03 | 2008-05-14 | 中兴通讯股份有限公司 | 一种分布式系统软件版本更新控制装置及方法 |
CN101556593A (zh) * | 2008-04-11 | 2009-10-14 | 北京亿企通信息技术有限公司 | 一种多人协同工作文档管理的方法和系统 |
CN102023903A (zh) * | 2009-09-10 | 2011-04-20 | 联想(北京)有限公司 | 一种数据备份的版本管理方法及装置 |
CN101699399A (zh) * | 2009-11-03 | 2010-04-28 | 中兴通讯股份有限公司 | 一种软件更新的系统和方法 |
CN103812894A (zh) * | 2012-11-12 | 2014-05-21 | 中国石油天然气集团公司 | 一种实时监控系统中web发布文件版本的管理方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750825A (zh) * | 2015-03-31 | 2015-07-01 | 国家电网公司 | 一种智能变电站scd文件快速解析方法 |
CN104750825B (zh) * | 2015-03-31 | 2017-11-21 | 国家电网公司 | 一种智能变电站scd文件快速解析方法 |
CN104809189A (zh) * | 2015-04-21 | 2015-07-29 | 国家电网公司 | 电力图纸版本管理系统及方法 |
CN108229198A (zh) * | 2016-12-21 | 2018-06-29 | 天脉聚源(北京)科技有限公司 | 一种管理编辑权限的方法和系统 |
CN107016047A (zh) * | 2017-02-20 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 文档查询、文档存储方法及装置 |
CN107291448A (zh) * | 2017-05-19 | 2017-10-24 | 上海瀚乾信息技术服务有限公司 | 一种软件开发项目管理系统 |
CN107341646A (zh) * | 2017-05-31 | 2017-11-10 | 北京广利核系统工程有限公司 | 组态软件协同管理系统和方法 |
CN107885781A (zh) * | 2017-10-16 | 2018-04-06 | 昆仑智汇数据科技(北京)有限公司 | 一种版本管理方法及系统 |
CN108038144A (zh) * | 2017-11-29 | 2018-05-15 | 爱普(福建)科技有限公司 | 一种复杂系统人机交互工程信息的快速修改方法及工具 |
TWI682334B (zh) * | 2018-02-08 | 2020-01-11 | 亞智科技股份有限公司 | 製程配方監控方法及製程配方監控系統 |
TWI726512B (zh) * | 2018-02-08 | 2021-05-01 | 亞智科技股份有限公司 | 製程配方監控方法及製程配方監控系統 |
CN110532021A (zh) * | 2018-05-25 | 2019-12-03 | 北京东土科技股份有限公司 | 分布式控制系统的组态文件的处理方法及装置 |
CN110532021B (zh) * | 2018-05-25 | 2024-02-13 | 北京东土科技股份有限公司 | 分布式控制系统的组态文件的处理方法、客户端及服务装置 |
CN110874676A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 资源分配方法、装置和系统 |
CN110874676B (zh) * | 2018-08-29 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 资源分配方法、装置和系统 |
CN109460232A (zh) * | 2018-09-27 | 2019-03-12 | 深圳新基点智能股份有限公司 | 一种组态页面的制作和监控方法 |
CN109460232B (zh) * | 2018-09-27 | 2022-09-16 | 深圳新基点智能股份有限公司 | 一种组态页面的制作和监控方法 |
CN109871233B (zh) * | 2019-02-13 | 2022-05-17 | 南京南瑞继保电气有限公司 | 一种云编程文件管理方法及装置、设备、存储介质 |
CN109871233A (zh) * | 2019-02-13 | 2019-06-11 | 南京南瑞继保电气有限公司 | 一种云编程文件管理方法及装置、设备、存储介质 |
CN111176222A (zh) * | 2019-10-12 | 2020-05-19 | 浙江中控技术股份有限公司 | 一种基于组态差异识别的dcs控制器组态更新系统及方法 |
CN110765150A (zh) * | 2019-11-01 | 2020-02-07 | 上海热像科技股份有限公司 | 一种管理方法、装置、服务器、介质和系统 |
CN111581925B (zh) * | 2020-05-07 | 2023-08-18 | 广东电网有限责任公司电力调度控制中心 | 多用户统一版本编辑方法及计算机可读存储介质 |
CN111581925A (zh) * | 2020-05-07 | 2020-08-25 | 广东电网有限责任公司电力调度控制中心 | 多用户统一版本编辑方法及计算机可读存储介质 |
CN112822232A (zh) * | 2020-12-28 | 2021-05-18 | 浙江中控技术股份有限公司 | 批记录系统协同组态实现方法、装置、设备及存储介质 |
WO2022142655A1 (zh) * | 2020-12-28 | 2022-07-07 | 浙江中控技术股份有限公司 | 批记录系统协同组态实现方法、装置、设备及存储介质 |
CN113067833A (zh) * | 2021-03-30 | 2021-07-02 | 杭州和利时自动化有限公司 | 一种协同组态服务方法及相关组件 |
CN114578774A (zh) * | 2022-03-07 | 2022-06-03 | 浙江中控技术股份有限公司 | 分散控制系统的组态控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104134109A (zh) | 集成版本管理的工程组态方法及系统 | |
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN106033436B (zh) | 一种数据库的合并方法 | |
US20130036400A1 (en) | Pre-merge conflict avoidance | |
CN103019718A (zh) | 在集中式源控制环境中使用分布式源控制 | |
US10380085B2 (en) | Method, apparatus and computer program for migrating records in a database from a source database schema to a target database schema | |
GB2513528A (en) | Method and system for backup management of software environments in a distributed network environment | |
Quinton et al. | Evolution in dynamic software product lines: challenges and perspectives | |
CN111143390A (zh) | 更新元数据的方法及装置 | |
CN111124480A (zh) | 应用程序包的生成方法、装置、电子设备及存储介质 | |
CN111984264B (zh) | 一种静态库的生成方法和装置 | |
CN111782235A (zh) | 一种数据升级、查询方法和装置 | |
US20130173229A1 (en) | Computer aided modeling | |
CN114780138B (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
US20160085544A1 (en) | Data management system | |
CN111506358A (zh) | 更新容器配置的方法及装置 | |
CN112395307A (zh) | 执行语句的方法、装置、服务器及存储介质 | |
CN113495723A (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN113448493B (zh) | 用于备份数据的方法、电子设备和计算机可读介质 | |
CN113902531A (zh) | 投标文件自动生成系统、方法、电子设备和存储介质 | |
CN113126998A (zh) | 一种增量源码获取方法、装置、电子设备及存储介质 | |
EP3404599A1 (en) | Information processing apparatus, method and program | |
CN112613894A (zh) | 一种关联源代码和制品的方法及装置 | |
CN117032844B (zh) | 一种协程链路追踪装置、方法及智能车辆 | |
CN116739397B (zh) | 一种新能源指标的动态管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141105 |