本公开涉及计算机,具体涉及一种版本号确定的方法、装置、计算机设备及存储介质。
背景技术:
1、gsdk(game software development kit,游戏软件开发工具包)本质上是由很多sdk(software development kit,软件开发工具包)组成的,经过组件化架构建设之后,gsdk内部包含了较多数量的一方库。这么多一方库,它们都需要独立的版本号,以避免版本号冲突。
2、同时,gsdk可以给游戏工作室提供高度定制化的开发,因此经常会出现多个基线分支处于同时开发的场景。这样的结果就是,同一个一方库,它同时在多个分支上活跃开发,这样一来,就给版本号管理带来了极大的困难和复杂度。
3、当前的版本号管理采用的是人工指定版本号的方式,比如客户发来版本号分配请求之后,管理人员会根据版本号的使用情况进行分配,由于人工分配版本号存在信息滞后性或者信息不对等性,这时极易出现分配的版本号之间相互冲突、互相混乱的情况。
技术实现思路
1、有鉴于此,本公开提供了一种版本号确定的方法、装置、计算机设备及存储介质,以解决人工分配版本号时出现的版本号之间相互冲突、互相混乱的问题。
2、第一方面,本公开提供了一种版本号确定的方法,该方法包括:
3、获取在目标分支上新建事件时执行的目标操作;
4、根据目标操作确定对应的目标兼容性;
5、根据目标兼容性确定待修改的目标节点,其中,目标节点包含于待修改节点中,待修改节点为目标分支的当前版本号中允许修改的节点;
6、根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号。
7、在本公开实施例中,根据目标分支上新建事件时执行的目标操作确定目标操作对应的目标兼容性,在确定了目标兼容性后即可确定对应待修改的目标节点,然后根据目标节点、执行的目标操作以及当前版本号得出执行目标操作后对应的目标版本号,这样实现完全自动化的、多线程并行操作的版本号管理服务,对于开发工程师、版本号管理人员可以不再关心版本号的更新即可实现正确的版本号的分配,全程无需人工参与,解决了相关技术中由于人工分配版本号存在信息滞后性或者信息不对等性,这时极易出现分配的版本号之间相互冲突、互相混乱问题。
8、在一种可选的实施方式中,根据目标兼容性确定待修改的目标节点,包括:
9、确定目标操作匹配到的兼容性的个数;
10、在个数大于第一预设数值的情况下,根据预设兼容性优先级,选取多个兼容性中优先级最高的兼容性作为目标兼容性;
11、根据兼容性与待修改节点之间的映射关系,确定与目标兼容性相对应的目标节点。
12、在本公开实施例中,在匹配到的兼容性结果的数量大于预设数值时,根据优先级选取最终的目标兼容性结果,保证目标兼容性结果的唯一性,进而确保对应的目标节点的唯一性。
13、在一种可选的实施方式中,根据兼容性与待修改节点之间的映射关系,确定与目标兼容性相对应的目标节点,包括:
14、根据待修改节点,生成版本号管理多叉树,其中,版本号管理多叉树用于表征兼容性与待修改节点之间的映射关系;
15、根据版本号管理多叉树和目标兼容性,得到目标节点。
16、在本公开实施例中,利用生成的版本号管理多叉树构建兼容性与待修改节点之间的映射关系,能够快速找到与目标兼容性相对应的目标节点,提高研发效率。
17、在一种可选的实施方式中,在根据目标兼容性确定待修改的目标节点之前,方法还包括:
18、按照预设排列方案对当前版本号进行排序,生成目标版本序列;
19、对目标版本序列进行拆分;
20、将拆分后的各个部分单独存储,得到多个待修改节点。
21、在本公开实施例中,通过对当前版本号进行排序,生成目标版本序列,然后再对目标版本序列进行拆分,得到多个待修改节点,便于后续基于这些待修改节点进行版本号的更改。
22、在一种可选的实施方式中,根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号,包括:
23、若目标操作为在目标分支上新增子节点版本号时,则根据版本号管理多叉树,获取目标节点下的各个子节点,其中,目标节点的兼容性等级为最低级;
24、对子节点的节点数值增加第二预设数值,得到第一节点数值;
25、根据第一节点数值和当前版本号,得到目标版本号。
26、在本公开实施例中,解决了目标操作为在目标分支节点下新增子节点版本号时的版本号更新问题,完全自动化,无需人工参与,提高版本号分配的准确率。
27、在一种可选的实施方式中,根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号,包括:
28、若目标操作为在目标分支上新增代码时,则根据版本号管理多叉树,获取第一参考节点,其中,第一参考节点的兼容性等级为最低级,且小于目标节点的兼容性等级,目标节点为第一参考节点的父节点;
29、获取第二参考节点,其中,第二参考节点的节点数值大于目标节点的节点数值;
30、对第一参考节点的节点数值增加第三预设数值,得到第三参考节点,并将第三参考节点作为第二参考节点的子节点;
31、更改第一参考节点的节点状态和第三参考节点的节点状态;
32、由节点状态、第二参考节点、第三参考节点以及当前版本号,得到目标版本号。
33、在本公开实施例中,解决了目标操作为在目标分支上新增代码时的版本号更新问题,完全自动化,无需人工参与,提高版本号分配的准确率。
34、在一种可选的实施方式中,根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号,包括:
35、若目标操作为在目标分支上新增分支时,则根据版本号管理多叉树,获取版本状态为第一状态且第四参考节点的节点数值大于目标分支的目标节点的节点数值的新增分支,其中,目标节点的兼容性等级为最低级;
36、更改持有第四参考节点的新增分支的分支名称,将新增分支的版本状态改为第二状态;
37、根据第四参考节点、分支名称、第二状态以及当前版本号,得到目标版本号。
38、在本公开实施例中,解决了目标操作为在目标分支上新增分支时的版本号更新问题,完全自动化,无需人工参与,提高版本号分配的准确率。
39、在一种可选的实施方式中,根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号,包括:
40、若目标操作为在目标分支上新增分支且设置目标节点的节点数值为第五预设数值时,则根据版本号管理多叉树,获取新增分支的版本状态,其中,目标节点的兼容性等级为最低级;
41、在新增分支的版本状态为第一状态后,更改持有目标节点的新增分支的分支名称,将新增分支的版本状态改为第二状态;
42、根据第五预设数值、分支名称、第二状态以及当前版本号,得到目标版本号。
43、在本公开实施例中,解决了目标操作为在目标分支上新增分支且设定了节点的具体数值时的版本号更新问题,完全自动化,无需人工参与,提高版本号分配的准确率。
44、第二方面,本公开提供了一种版本号确定的装置,该装置包括:
45、获取模块,用于获取在目标分支上新建事件时执行的目标操作;
46、第一确定模块,用于根据目标操作确定对应的目标兼容性;
47、第二确定模块,用于根据目标兼容性确定待修改的目标节点,其中,目标节点包含于待修改节点中,待修改节点为目标分支的当前版本号中允许修改的节点;
48、第三确定模块,用于根据目标节点、目标操作以及当前版本号,确定与目标操作相对应的目标版本号。
49、第三方面,本公开提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
50、第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。