CN117112011A - 一种版本管理方法及装置 - Google Patents
一种版本管理方法及装置 Download PDFInfo
- Publication number
- CN117112011A CN117112011A CN202311028315.2A CN202311028315A CN117112011A CN 117112011 A CN117112011 A CN 117112011A CN 202311028315 A CN202311028315 A CN 202311028315A CN 117112011 A CN117112011 A CN 117112011A
- Authority
- CN
- China
- Prior art keywords
- vrc
- version
- identifier
- package
- file
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 57
- 238000013515 script Methods 0.000 claims abstract description 55
- 238000011161 development Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 238000013475 authorization Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000002688 persistence Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 18
- 238000012986 modification Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012827 research and development Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种版本管理方法及装置,属于电数字处理领域,该方法包括:将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;为每个包生成VRC标识,包括版本、发布和定制信息;当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。本申请按照功能或业务将软件逻辑分包,在进行开发时可以将不同的功能模块分配给不同的开发人员或开发团队。这样可以实现并行开发,不同的团队可以独立进行工作,提高开发效率。
Description
技术领域
本申请属于电数字数据处理领域,尤其涉及一种版本管理方法。本申请还涉及一种版本管理装置。
背景技术
DVCS和CVCS是软件开发中常见的版本控制系统类型。
DVCS (Distributed Version ControlSystem,分布式版本控制系统) 是一种版本控制系统,它允许开发人员在自己的本地计算机上完整地复制整个代码仓库,并在本地保存历史版本的所有信息。通过克隆和推送操作来实现代码的同步和分享。
CVCS (Centralized Version ControlSystem,集中式版本控制系统) 则是另一种版本控制系统类型。CVCS使用一个中央服务器来存储代码库的完整历史记录和版本信息。开发人员通过从中央服务器检出代码副本并在本地进行修改来进行工作。提交的更改需要与中央服务器同步,以便团队中的其他成员可以获取最新的代码。
但是,上述两种系统,其离线并行开发都需要多个开发者同时对代码进行修改和提交,并将这些修改合并到一个最终版本中。然而,如果多个开发者同时修改同一代码块或文件,会导致冲突和数据不一致的问题。还涉及到多个开发者同时使用同一资源,如共享文件、数据库、网络连接。如果多个开发者对同一资源进行并发操作,会发生资源冲突和竞争条件,导致数据损坏或系统崩溃。
发明内容
本申请的目的在于克服现有技术中软件离线并行开发困难的问题,提供一种版本管理方法。本申请还涉及一种版本管理装置。
本申请提供一种版本管理方法,包括:
将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;
为每个包生成VRC标识,包括版本、发布和定制信息;
当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
可选地,还包括:
根据项目或任务的需求,将所述文件、脚本、程序和配置文件划分为多个包,将每个包分配给相应的开发人员或开发团队;
为每个包生成初始的VRC标识,包括版本、发布和定制信息;
每个开发人员或开发团队根据分配的包,同时对文件、脚本、程序或配置文件进行修改,并生成一个新的VRC标识;
根据所述新生成的VRC标识和旧有的VRC标识建立继承关系,形成版本的继承链。
可选地,根据所述版本的继承链,确定要追踪的文件:
确定需要追踪继承关系的文件,包括文件、脚本、程序或配置文件;
获取文件的当前VRC标识,根据当前文件的VRC标识,查找与之相关的继承关系;
沿着继承链向上追溯,依次查找父版本或继承的前一版本。
可选地,所述将每个包分配给相应的开发人员或开发团队后,包括:
检查文件是否已经被锁定,如果已经被锁定,则需要待锁的释放;
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已被占用。
可选地,所述将每个包分配给相应的开发人员或开发团队包括:
超级管理员通过系统用户管理界面对用户进行授权处理,包括:
所述超级管理员为开发人员或开发团队分配权限,包括分配读取、修改或删除数据、访问功能的权限以及VRC版本;
保存所述权限到关系型数据库,将每个研发者的权限与其系统账户进行关联,并进行持久化保存。
本申请还提供一种版本管理装置,包括:
分配模块,用于将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;
VRC模块,用于为每个包生成VRC标识,包括版本、发布和定制信息;
继承模块,用于当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
可选地,还包括:
所述分配模块,还用于根据项目或任务的需求,将所述文件、脚本、程序和配置文件划分为多个包,将每个包分配给相应的开发人员或开发团队;
所述VRC模块,还用于为每个包生成初始的VRC标识,包括版本、发布和定制信息;
所述继承模块,还用于每个开发人员或开发团队根据分配的包,同时对文件、脚本、程序或配置文件进行修改,并生成一个新的VRC标识;根据所述新生成的VRC标识和旧有的VRC标识建立继承关系,形成版本的继承链。
可选地,还包括追踪模块,用于:
根据所述版本的继承链,确定要追踪的文件:
确定需要追踪继承关系的文件,包括文件、脚本、程序或配置文件;
获取文件的当前VRC标识,根据当前文件的VRC标识,查找与之相关的继承关系;
沿着继承链向上追溯,依次查找父版本或继承的前一版本。
可选地,所述分配模块将每个包分配给相应的开发人员或开发团队后,包括:
检查文件是否已经被锁定,如果已经被锁定,则需要待锁的释放;
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已被占用。
可选地,所述分配模块将每个包分配给相应的开发人员或开发团队包括:
超级管理员通过系统用户管理界面对用户进行授权处理,包括:
所述超级管理员为开发人员或开发团队分配权限,包括分配读取、修改或删除数据、访问功能的权限以及VRC版本;
保存所述权限到关系型数据库,将每个研发者的权限与其系统账户进行关联,并进行持久化保存。
本申请的优点和有益效果:
本申请提供一种版本管理方法,包括:将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;为每个包生成VRC标识,包括版本、发布和定制信息;当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。本申请按照功能或业务将软件逻辑分包,可以将不同的功能模块分配给不同的开发人员或开发团队。这样可以实现并行开发,不同的团队可以独立进行工作,提高开发效率。
并且由于存在版本的继承关系,无论经过了多长时间或者多少人员参与其中,软件包本身的延续不会收到干扰,软件包最原始的部分得到了保护,即使过程中有推翻和重构,也不影响原有的继承结构,这将大大增强软件的生命力,为长期、大规模的研发提供管理基础,而不至于在经历团队更迭后中断。
同时,针对研发任务,只需要调取每个包的文件、脚本、程序或配置文件进行修改,降低了研发的版本管理成本。
进一步的,对于修改的软件,只需要存储其修改的部分,因而减少了重复和冗余。
进一步的,基于所述的VRC标识管理方法,无论是对于单个软件,项目亦或是多个项目的管理,都可适用。
并且,基于所述开发环境的软件包修改,不会对生产环境产生影响。
附图说明
图1是本申请中版本管理流程示意图。
图2是本申请中继承文件追踪示意图。
图3是本申请中版本管理装置示意图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步说明,以使本领域的技术人员可以更好地理解本申请并能予以实施。
以下内容均是为了详细说明本申请要保护的技术方案所提供的具体实施过程的示例,但是本申请还可以采用不同于此的描述的其他方式实施,本领域技术人员可以在本申请构思的指引下,采用不同的技术手段实现本申请,因此本申请不受下面具体实施例的限制。
本申请实施例中各个名称的定义:
定义VRC:VRC是一个完整的版本信息标识,由version(版本)、release(发布)、customization(定制)构成。它用于对软件在整个体系中的位置和等级进行标识,可以实现版本控制和管理。
版本(version):用于标识具有重大变更和功能区别的不同软件内容,如1.0、2.0。
组件(Component):是构成软件的最小独立单位,如脚本、程序、配置文件、其他文件等,是构成和运行软件的基础。
本申请提供一种版本管理方法,包括:将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;为每个包生成VRC标识,包括版本、发布和定制信息;当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。本申请通过新的VRC标识和旧的VRC标识建立继承关系。
按照功能或业务将软件逻辑分包,可以将不同的功能模块分配给不同的开发人员或开发团队。这样可以实现并行开发,不同的团队可以独立进行工作,提高开发效率。
通过生成VRC标识和建立继承关系,可以追踪文件的版本历史和继承链。开发人员可以在不同版本的基础上进行修改,而不会影响其他团队的工作。同时,追踪继承关系也方便了问题定位和故障排查。
采用逻辑分包和版本继承的方法,不同的开发团队可以并行开发各自负责的模块,而不会相互影响。这使得并行开发和集成更加灵活和高效。每个模块开发完成后,可以根据版本继承关系进行集成测试,确保各模块之间的兼容性和一致性。
图1是本申请中版本管理流程示意图。
请参照图1所示,S101将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件。
将软件的包集合按照功能或业务进行逻辑分包是指将具有相近业务功能的程序、脚本、文件等组件进行逻辑分组。这样可以更好地组织和管理软件的各个部分,并方便进行版本控制和管理。
形成包后,需要确定每个包所包括的文件、脚本、程序和配置文件。需要明确每个包所包含的具体组件,以及它们之间的关联关系。文件、脚本和程序是构成软件的基础,而配置文件则用于定义软件的运行参数和行为。
通过将软件按功能或业务进行逻辑分包,并确定每个包的组成,可以使软件结构更加清晰和可维护。同时,所述包的方式也方便了对软件的扩展和定制。每个包可以独立进行开发、测试和部署,使软件开发过程更加模块化和灵活。
例如,正在开发一款电子商务平台系统,该系统包含以下功能模块:用户管理、商品管理、订单管理和支付管理。可以根据这些功能将软件进行逻辑分包。
具体的,创建一个名为"UserManagement"的包,用于处理用户管理相关的功能。这个包所包括以下组件:
用户注册程序(user-registration.py):负责用户注册的逻辑。
用户登录程序(user-login.py):负责用户登录的逻辑。
用户信息管理模块(user-profile.py):负责用户信息的查看、修改和删除。
接下来,创建一个名为"ProductManagement"的包,用于处理商品管理相关的功能。这个包所包括以下组件:
商品添加程序(product-add.py):负责添加新商品的逻辑。
商品编辑程序(product-edit.py):负责编辑已有商品的逻辑。
商品信息查询模块(product-search.py):负责根据条件查询商品信息的逻辑。
类似地,创建名为"OrderManagement"和"PaymentManagement"的包,分别用于处理订单管理和支付管理相关的功能。每个包都包括特定的程序和模块,用于实现对应功能的业务逻辑。
通过进行逻辑分包,并确定每个包的组成,可以更清晰地组织和管理系统的各个功能模块。每个包可以独立开发、测试和部署,使开发过程更加模块化和灵活。同时,也可以根据需求对每个包进行定制和扩展,以满足特定的业务需求。
请参照图1所示,S102为每个包生成VRC标识,包括版本、发布和定制信息;
为每个包生成VRC标识需要包括版本、发布和定制信息。
例如:名为"UserManagement"的包,可以为其生成相应的VRC标识。
版本(Version):版本用来标识具有重大变更和功能区别的不同软件内容。假设的"UserManagement"包当前的版本是1.0。
发布(Release):发布用来标识具有明显功能改进的不同软件内容。假设的"UserManagement"包是第一个发布版本,所以将其发布标识设置为0。
定制(Customization):定制用来标识软件的级别,分为基础产品级、本地化级、项目级、定制研发级。根据实际情况,将"UserManagement"包的定制级别设置为基础产品级。
综上所述,为"UserManagement"包生成VRC标识的完整标识为:1.0.a.BASE。
这样,通过VRC标识,可以清楚地知道该包的版本(1.0),发布(0)和定制级别(基础产品级)。这个VRC标识可以伴随着包,并用于版本控制、管理和标识软件在整个体系中的位置和等级。类似地,可以为其他包生成相应的VRC标识来实现版本控制和管理。
请参照图1所示,S103当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
当对所述文件、脚本、程序或配置文件进行修改时,可以生成一个新的VRC标识,并根据新的VRC标识和原始VRC标识建立继承关系。
例如,有一个名为"UserManagement"的包,并且它的当前VRC标识为1.0.a.BASE。现在需要对其中的某个文件进行修改,导致包的内容发生了变化。
生成新的VRC标识:针对修改后的包,可以生成一个新的VRC标识来表示该修改后的版本。假设修改后的版本为1.1,那么新的VRC标识为1.1.a.BASE。
在数据库中,可以将新的VRC标识和原始VRC标识进行关联,建立继承关系。这样,可以确定修改后的包继承自原始的包。继承关系表明新的版本基于原始版本,并且扩展或修改了一些内容。
通过建立继承关系,可以在数据库中管理和追踪每个包的版本和修改历史。这样,当需要查找某个特定版本或对比不同版本之间的差异时,可以方便地根据VRC标识和继承关系进行操作。
根据上述内容,当对文件、脚本、程序或配置文件进行修改时,可以生成新的VRC标识,并在数据库中建立新的VRC标识和原始VRC标识之间的继承关系。这样可以对软件的版本和修改进行有效的管理和跟踪。
具体的,所述继承关系表示可以包括:
首先要确定原始的VRC标识,这是基于的初始版本的标识。这个标识可以代表软件的一个特定版本或状态。
对于要修改的文件、脚本、程序或配置文件,进行相应的修改。然后生成一个新的VRC标识,以表示修改后的版本。将新生成的VRC标识与原始的VRC标识建立继承关系。这表示修改后的版本继承自原始版本,并对其进行了扩展或修改。
其中,在记录继承关系的数据库或管理系统中,将新的VRC标识和原始VRC标识的继承关系进行记录。这样可以在查找、管理和追踪不同版本之间的关联时使用。
如果在以后的时间里继续对文件、脚本、程序或配置文件进行修改,可以根据需要再次生成新的VRC标识,并建立新的继承关系。
例如,假设对原始版本进行了一些定制,并根据定制信息生成新的VRC标识1.0.a.CUSTOM1。然后,在新的版本1.0.a.CUSTOM1的基础上继续进行修改和定制,得到进一步定制的新版本1.0.a.CUSTOM2。基于VRC标识中的定制信息,可以确定继承关系。对于新版本1.0.a.CUSTOM2而言,它继承自版本1.0.a.CUSTOM1,而1.0.a.CUSTOM1又继承自原始版本1.0.a.BASE。
根据上述的版本管理方法,可以进行并行式开发的步骤如下:
根据项目或任务的需求,对文件、脚本、程序和配置文件进行合理的划分,将它们分为多个包,每个包所包含相关的功能模块或组件。
为每个包生成初始的VRC标识,包括版本、发布和定制信息。这些初始的VRC标识可以统一起始为1.0.a.BASE,并为每个包创建相应的初始VRC标识。
每个开发人员或开发团队根据分配的包,同时开始对文件、脚本、程序或配置文件进行修改。这些修改可以包括添加新的功能、修复错误、优化代码等。针对每个修改后的包,生成一个新的VRC标识来表示这些修改的版本。
根据修改后的VRC标识和原有的VRC标识,建立继承关系来形成版本的继承链。新生成的VRC标识应当基于原有的VRC标识进行修改,并在继承关系中表示这种衍生关系。每个新的VRC标识都继承自原始的VRC标识,并且在此基础上增加了开发人员或开发团队所做的修改。
将每个包的VRC标识及其继承关系记录到版本管理系统或数据库中,以便随时查阅和追溯版本的继承链关系。
在完成修改和更新后,进行测试和验证。确保软件的功能和性能符合预期,无任何错误或缺陷。在通过测试和验证后,将修改后的软件版本发布和部署到目标环境。根据需要,可以将软件发布到生产环境或其他目标环境。
如图2所示,根据所述继承关系进行文件追踪,包括:
步骤1,首先确定需要追踪继承关系的文件,包括文件、脚本、程序或配置文件。
步骤2,对于每个文件,获取其当前的VRC标识。VRC标识包括版本号、发布状态以及其他定制信息。
步骤3,根据当前文件的VRC标识,查找与之相关的继承关系。可以通过查找继承关系数据库或其他版本管理工具来实现。
步骤4,从当前文件开始,沿着继承链向上追溯。依次查找父版本或继承的前一版本。
步骤5,对于每个找到的父版本或继承的前一版本,进行版本比对和关联。可以比较文件内容、修改记录等,以确定它们之间的关联性。
步骤6,重复步骤4和5,依次向上追溯直到继承链的顶部,即找不到更高级的父版本为止。
进一步的,所述将每个包分配给相应的开发人员或开发团队后,包括:
检查文件是否已经被锁定,如果已经被锁定,则需要待锁的释放;
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已被占用。
将包分配给相应的开发人员或开发团队后,可以对文件进行锁定,防止多人同时修改同一个文件而导致冲突。这有助于并行开发团队协调工作,提高团队之间的沟通和协作效率。同时,通过权限管理,可以精确地控制开发人员对数据和功能的访问权限,保证开发过程的安全性和可控性。
进一步的,所述将每个包分配给相应的开发人员或开发团队包括:
超级管理员通过系统用户管理界面对用户进行授权处理,包括:
所述超级管理员为开发人员或开发团队分配权限,包括分配读取、修改或删除数据、访问功能的权限以及VRC版本;
保存所述权限到关系型数据库,将每个研发者的权限与其系统账户进行关联,并进行持久化保存。
本申请还提供一种版本管理装置,包括:分配模块、VRC模块和继承模块。
图3是本申请中版本管理装置示意图。
请参照图3所示,分配模块301,用于将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;
首先,对整个软件的功能或业务进行细致的分析和规划。理解软件的各个模块、子系统以及它们之间的关系。
根据软件的功能或业务,将软件逻辑上划分为不同的包。每个包应该具有相对独立的功能,且在逻辑上组织紧密。
对于每个包,确定它所包括的文件、脚本、程序和配置文件。这些文件可以包括但不限于以下内容:
文件:包括源代码文件、文档文件、配置文件、模板文件等。
脚本:包括各种脚本文件,如Shell脚本、Python脚本、批处理脚本等。
程序:包括编译后得到的可执行文件、库文件、插件文件等。
配置文件:包括软件的配置文件,用于设置各种参数、选项和环境变量等。
根据各个包的责任和功能,将它们分配给相应的开发人员或开发团队。确保每个包都有对应的负责人和开发资源。
通过分配模块301,可以将软件进行逻辑分包,并明确每个包所包括的文件、脚本、程序和配置文件。
请参照图3所示,VRC模块302,用于为每个包生成VRC标识,包括版本、发布和定制信息;
VRC模块302根据软件的版本规范和约定生成版本号。版本号可以采用数字、字母、汉字或组合的形式,用于标识软件的不同版本。常见的版本命名规范包括主版本号、次版本号和修订版本号。
VRC模块302为每个包生成发布状态信息。发布状态可以标识包的发布阶段,如开发版、测试版、稳定版等。发布状态信息可以帮助开发团队和用户了解软件包的可用性和稳定性。
VRC模块302支持根据需求为每个包添加定制信息。定制信息可以包括对软件包的定制设置、特定功能或模块的定制信息等。这些定制信息可以帮助团队和用户更好地了解软件包的特性和适用范围。
VRC模块302将生成的VRC标识与包及其相应的文件、脚本、程序和配置文件进行关联。这样,每个包都具有唯一的VRC标识,用于跟踪和管理软件的版本和发布状态。
VRC标识关联和存储可以通过数据库、文本文件或其他形式进行记录和管理。
通过VRC模块302,可以为每个包生成VRC标识,包括版本号、发布状态和定制信息。这些VRC标识可以帮助团队跟踪和管理软件的不同版本,了解软件包的发布状态,并提供定制信息以满足特定需求。
VRC模块302用于版本管理和追踪,可以记录每个包的版本历史。
每次更新或修改包时,VRC模块302可以生成新的版本,并记录相关的变更信息。这样可以方便地追踪每个包的演变和变更历史。
VRC模块302可以协助管理和控制包的发布过程。根据软件的发布流程和规定,VRC模块302可以更新包的发布状态,记录发布时间和相关信息。这有助于团队准确地跟踪和管理软件包的发布情况。
请参照图3所示,继承模块303,用于当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
继承模块303,用于在对文件、脚本、程序或配置文件进行修改时生成一个新的VRC标识,并建立新的VRC标识与旧VRC标识之间的继承关系。以下是继承模块303的详细信息:
继承模块303负责监测文件、脚本、程序或配置文件的修改。
当检测到对这些文件进行修改时,继承模块303触发后续的处理流程。
继承模块303根据所述修改,生成一个新的VRC标识。新的VRC标识可以包括更新的版本号、发布状态和定制信息等。这个新的VRC标识用于标识经过修改的文件集合。
继承模块303将新的VRC标识与旧的VRC标识进行关联,建立继承关系。这样可以追踪每个VRC标识的源头,清楚地知道修改是基于哪个版本的文件集合而进行的。
继承关系可以帮助团队追溯和了解文件集合的演化路径。
继承模块303将新的VRC标识与对应的修改后的文件集合进行版本控制。这包括记录修改信息、变更历史和发布状态等。版本控制方便团队管理和管理以及追踪文件集合的不同版本。
进一步的,分配模块301用于根据项目或任务需求,将文件、脚本、程序和配置文件划分为多个包,并将每个包分配给相应的开发人员或开发团队。
VRC模块302用于为每个包生成初始的VRC标识,包括版本、发布和定制信息。
继承模块303用于允许每个开发人员或开发团队对分配的包中的文件、脚本、程序或配置文件进行修改,并生成一个新的VRC标识。同时,它还会根据新生成的VRC标识和已有的VRC标识建立继承关系,形成版本的继承链。
进一步的,追踪模块,其功能还包括:
根据版本的继承链确定需要追踪的文件,包括文件、脚本、程序或配置文件。
获取文件的当前VRC标识,并查找与之相关的继承关系。
沿着继承链向上追溯,依次查找父版本或继承的前一版本,以确定版本之间的关系。
进一步的,分配模块在将每个包分配给开发人员或开发团队之后,会执行以下操作:
检查文件是否被锁定,如果已经被锁定,则需要等待锁的释放。
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已占用。
进一步的,分配模块将每个包分配给相应的开发人员或开发团队,包括以下步骤:
超级管理员通过系统用户管理界面对用户进行授权处理。
超级管理员为开发人员或开发团队分配权限,包括读取、修改或删除数据、访问功能以及VRC版本的权限。
所分配的权限被保存到关系型数据库,并与每个开发者的系统账户相关联,并进行持久化保存。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种版本管理方法,其特征在于,包括:
将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;
为每个包生成VRC标识,包括版本、发布和定制信息;
当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
2.根据权利要求1所述版本管理方法,其特征在于,所述管理版本包括:
根据项目或任务的需求,将所述文件、脚本、程序和配置文件划分为多个包,将每个包分配给相应的开发人员或开发团队;
为每个包生成初始的VRC标识,包括版本、发布和定制信息;
每个开发人员或开发团队根据分配的包,同时对文件、脚本、程序或配置文件进行修改,并生成一个新的VRC标识;
根据所述新生成的VRC标识和旧有的VRC标识建立继承关系,形成版本的继承链。
3.根据权利要求1所述版本管理方法,其特征在于,根据所述版本的继承链,确定要追踪的文件:
确定需要追踪继承关系的文件,包括文件、脚本、程序或配置文件;
获取文件的当前VRC标识,根据当前文件的VRC标识,查找与之相关的继承关系;
沿着继承链向上追溯,依次查找父版本或继承的前一版本。
4.根据权利要求1所述版本管理方法,其特征在于,所述将每个包分配给相应的开发人员或开发团队后,包括:
检查文件是否已经被锁定,如果已经被锁定,则需要待锁的释放;
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已被占用。
5.根据权利要求1所述版本管理方法,其特征在于,所述将每个包分配给相应的开发人员或开发团队包括:
超级管理员通过系统用户管理界面对用户进行授权处理,包括:
所述超级管理员为开发人员或开发团队分配权限,包括分配读取、修改或删除数据、访问功能的权限以及VRC版本;
保存所述权限到关系型数据库,将每个研发者的权限与其系统账户进行关联,并进行持久化保存。
6.一种版本管理装置,其特征在于,包括:
分配模块,用于将软件的包集合按照功能或业务进行逻辑分包,确定每个包所包括的文件、脚本、程序和配置文件;
VRC模块,用于为每个包生成VRC标识,包括版本、发布和定制信息;
继承模块,用于当对所述文件、脚本、程序或配置文件修改时,生成一个新的VRC标识,并根据所述新的VRC标识和所述VRC标识建立继承关系,根据所述继承关系管理版本。
7.根据权利要求6所述版本管理装置,其特征在于,还包括:
所述分配模块,还用于根据项目或任务的需求,将所述文件、脚本、程序和配置文件划分为多个包,将每个包分配给相应的开发人员或开发团队;
所述VRC模块,还用于为每个包生成初始的VRC标识,包括版本、发布和定制信息;
所述继承模块,还用于每个开发人员或开发团队根据分配的包,同时对文件、脚本、程序或配置文件进行修改,并生成一个新的VRC标识;根据所述新生成的VRC标识和旧有的VRC标识建立继承关系,形成版本的继承链。
8.根据权利要求6所述版本管理装置,其特征在于,还包括追踪模块,用于:
根据所述版本的继承链,确定要追踪的文件:
确定需要追踪继承关系的文件,包括文件、脚本、程序或配置文件;
获取文件的当前VRC标识,根据当前文件的VRC标识,查找与之相关的继承关系;
沿着继承链向上追溯,依次查找父版本或继承的前一版本。
9.根据权利要求6所述版本管理装置,其特征在于,所述分配模块将每个包分配给相应的开发人员或开发团队后,包括:
检查文件是否已经被锁定,如果已经被锁定,则需要待锁的释放;
如果文件没有被锁定,则开发人员可以申请锁,将文件锁定并标记为已被占用。
10.根据权利要求6所述版本管理方装置,其特征在于,所述分配模块将每个包分配给相应的开发人员或开发团队包括:
超级管理员通过系统用户管理界面对用户进行授权处理,包括:
所述超级管理员为开发人员或开发团队分配权限,包括分配读取、修改或删除数据、访问功能的权限以及VRC版本;
保存所述权限到关系型数据库,将每个研发者的权限与其系统账户进行关联,并进行持久化保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028315.2A CN117112011A (zh) | 2023-08-16 | 2023-08-16 | 一种版本管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028315.2A CN117112011A (zh) | 2023-08-16 | 2023-08-16 | 一种版本管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112011A true CN117112011A (zh) | 2023-11-24 |
Family
ID=88795835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311028315.2A Pending CN117112011A (zh) | 2023-08-16 | 2023-08-16 | 一种版本管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112011A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019014A1 (en) * | 2007-07-05 | 2009-01-15 | Watermark Applications Co., Ltd. | Multidimensional database structuring method, multidimensional database structuring system and information processing apparatus |
US20110197175A1 (en) * | 2010-02-05 | 2011-08-11 | International Business Machines Corporation | Automated application generation method and system |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN105930439A (zh) * | 2016-04-20 | 2016-09-07 | 国电南瑞科技股份有限公司 | 一种电网模型多版本管理系统和方法 |
CN107678776A (zh) * | 2017-08-09 | 2018-02-09 | 上海壹账通金融科技有限公司 | 多模块版本依赖关系构建方法、装置、服务器和存储介质 |
CN111506779A (zh) * | 2020-04-20 | 2020-08-07 | 东云睿连(武汉)计算技术有限公司 | 面向数据处理的对象版本与关联信息管理方法及系统 |
CN112698866A (zh) * | 2021-01-06 | 2021-04-23 | 中国科学院软件研究所 | 一种基于Git的代码行生命周期追溯方法及电子装置 |
CN114721710A (zh) * | 2022-04-29 | 2022-07-08 | 北京达佳互联信息技术有限公司 | 版本控制方法、装置及存储介质 |
CN114880020A (zh) * | 2022-06-01 | 2022-08-09 | 北京百度网讯科技有限公司 | 软件开发工具包管理方法、相关装置及计算机程序产品 |
US11526346B1 (en) * | 2021-11-15 | 2022-12-13 | Oracle International Corporation | Zero downtime application package deployment |
US20230004665A1 (en) * | 2019-12-20 | 2023-01-05 | Nippon Telegraph And Telephone Corporation | Control server, data sharing system, and control program |
CN116088926A (zh) * | 2023-01-10 | 2023-05-09 | 睿智合创(北京)科技有限公司 | 一种决策组件版本管理方法 |
CN116594669A (zh) * | 2023-04-18 | 2023-08-15 | 湖南大学 | 版本管理方法 |
-
2023
- 2023-08-16 CN CN202311028315.2A patent/CN117112011A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019014A1 (en) * | 2007-07-05 | 2009-01-15 | Watermark Applications Co., Ltd. | Multidimensional database structuring method, multidimensional database structuring system and information processing apparatus |
US20110197175A1 (en) * | 2010-02-05 | 2011-08-11 | International Business Machines Corporation | Automated application generation method and system |
CN105763369A (zh) * | 2016-02-04 | 2016-07-13 | 湖南长城信息金融设备有限责任公司 | 一种终端设备远程软件版本分发方法及系统 |
CN105930439A (zh) * | 2016-04-20 | 2016-09-07 | 国电南瑞科技股份有限公司 | 一种电网模型多版本管理系统和方法 |
CN107678776A (zh) * | 2017-08-09 | 2018-02-09 | 上海壹账通金融科技有限公司 | 多模块版本依赖关系构建方法、装置、服务器和存储介质 |
WO2019028992A1 (zh) * | 2017-08-09 | 2019-02-14 | 上海壹账通金融科技有限公司 | 多模块版本依赖关系构建方法、装置、服务器和存储介质 |
US20230004665A1 (en) * | 2019-12-20 | 2023-01-05 | Nippon Telegraph And Telephone Corporation | Control server, data sharing system, and control program |
CN111506779A (zh) * | 2020-04-20 | 2020-08-07 | 东云睿连(武汉)计算技术有限公司 | 面向数据处理的对象版本与关联信息管理方法及系统 |
CN112698866A (zh) * | 2021-01-06 | 2021-04-23 | 中国科学院软件研究所 | 一种基于Git的代码行生命周期追溯方法及电子装置 |
US11526346B1 (en) * | 2021-11-15 | 2022-12-13 | Oracle International Corporation | Zero downtime application package deployment |
CN114721710A (zh) * | 2022-04-29 | 2022-07-08 | 北京达佳互联信息技术有限公司 | 版本控制方法、装置及存储介质 |
CN114880020A (zh) * | 2022-06-01 | 2022-08-09 | 北京百度网讯科技有限公司 | 软件开发工具包管理方法、相关装置及计算机程序产品 |
CN116088926A (zh) * | 2023-01-10 | 2023-05-09 | 睿智合创(北京)科技有限公司 | 一种决策组件版本管理方法 |
CN116594669A (zh) * | 2023-04-18 | 2023-08-15 | 湖南大学 | 版本管理方法 |
Non-Patent Citations (1)
Title |
---|
陈矗: "工程数据库版本管理与并发控制研究", 信息科技, no. 1 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522025B (zh) | 一种基于git的代码发布系统 | |
US5832511A (en) | Workgroup network manager for controlling the operation of workstations within the computer network | |
US5586322A (en) | Workgroup organized network manager with workstation comparison system | |
US8677348B1 (en) | Method and apparatus for determining least risk install order of software patches | |
US6493594B1 (en) | System and method for improved software configuration and control management in multi-module systems | |
US20170372247A1 (en) | Methods, systems, and articles of manufacture for implementing software application development and releases | |
US9658846B2 (en) | Software configuration control wherein containers are associated with physical storage of software application versions in a software production landscape | |
US20120317050A1 (en) | Method, computer program product and computer-readable storage medium for the generic creation of a structure tree for describing an it process | |
CN103019718A (zh) | 在集中式源控制环境中使用分布式源控制 | |
CN112527349A (zh) | 动态部署策略优化及持续部署业务保障系统 | |
CN109901872B (zh) | 一种企业信息化系列产品版本管控方法 | |
US5440739A (en) | Method of maintaining updated set-up configurations in workgroups on a network | |
US11704114B2 (en) | Data structures for managing configuration versions of cloud-based applications | |
US11966732B2 (en) | Data structures for managing configuration versions of cloud-based applications | |
GB2518894A (en) | A method and a system for operating programs on a computer cluster | |
CN113220633A (zh) | 统一文件编码管理方法及系统 | |
US20080162620A1 (en) | Methods and systems for distributing software | |
CN114546563A (zh) | 一种多租户页面访问控制方法和系统 | |
CN112099803B (zh) | 一种erp系统的增量部署方法及系统 | |
CN117112011A (zh) | 一种版本管理方法及装置 | |
CN115037757B (zh) | 一种多集群服务管理系统 | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN116225617A (zh) | 容器实例的管理迁移方法、装置和电子设备及存储介质 | |
CN114282210A (zh) | 沙箱自动构建方法、系统、计算机设备及可读存储介质 | |
CN113448493B (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 |