CN112433748A - 软件***版本标定方法、装置、存储介质及处理器 - Google Patents
软件***版本标定方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN112433748A CN112433748A CN201910789656.9A CN201910789656A CN112433748A CN 112433748 A CN112433748 A CN 112433748A CN 201910789656 A CN201910789656 A CN 201910789656A CN 112433748 A CN112433748 A CN 112433748A
- Authority
- CN
- China
- Prior art keywords
- version
- dimension
- software system
- dimensions
- identification information
- 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 66
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000009434 installation Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 20
- 238000013499 data model Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013509 system migration Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种软件***版本标定方法、装置、存储介质及处理器,方法包括:获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。可见,本发明中基于软件***在安装后的状态下至少两个版本维度上的标识信息来进行版本号的生成,而不再仅依赖于软件***的发行版本号来标定软件***的版本,由此,本发明通过增加版本标定的维度来实现软件版本的标定,从而提高版本标定的准确性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种软件***版本标定方法、装置、存储介质及处理器。
背景技术
随着软件技术的发展,定制化的软件***通常会根据需求不断的更新换代。更新换代的软件***需要标定版本号,用以标识其版本之间的区别。
目前对软件***的版本进行标定时,通常以软件***的发行版本号为准。
但是,软件***在其发行后的生命周期内通常会由于需求、漏洞及迁移等原因发生各种各样的变化,导致一个发行版本号可能对应该发行版本号下的多个不同的软件***版本,由此,使得软件***以发行版本号来标定版本的准确性较低。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种软件***版本标定方法、装置、存储介质及处理器,通过获取安装后的软件***上的至少两个版本维度的标识信息,基于至少两个版本维度的标识信息,生成软件***版本号,实现了对软件***版本的准确标定。
本发明还提供了一种软件***版本标定装置,用以保证上述方法实际中的实现及应用。
为实现上述目的,本发明实施例提供如下技术方案:
一种软件***版本标定方法,包括:
获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
上述的方法,可选的,基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号,包括:
在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息;
基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
上述的方法,可选的,所述在所述至少两个版本维度上的标识信息,选取至少一个目标维度上的标识信息,包括:
对所述至少两个版本维度进行维度分类,得到至少两个维度类型,每个所述维度类型分别对应至少一个版本维度;
在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
获得所述目标维度上的标识信息。
上述的方法,可选的,在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度,包括:
在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
其中,所述第一维度类型为与所述软件***的过程相关的维度类型;所述第二维度类型为与所述软件***的代码相关的维度类型。
上述的方法,可选的,所述版本维度包括所述软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或任意多种的组合。
上述的方法,可选的,所述基于所述目标维度上的标识信息,生成所述软件***的版本号,包括:
对所述目标维度上的标识信息组成的标识序列进行编码,以生成所述软件***的版本号。
一种软件***版本标定装置,包括:
获取单元,用于获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
生成单元,用于基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的软件***版本标定方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的软件***版本标定方法。
借由上述技术方案,本发明提供的一种软件***版本标定方法、装置、存储介质及电子设备中,在软件***处于安装后的状态的情况下,通过获取软件***至少两个版本维度的标识信息,进而基于至少两个版本维度的标识信息来生成软件***版本号。由此,本发明中基于软件***在安装后的状态下至少两个版本维度上的标识信息来进行版本号的生成,而不再仅依赖于软件***的发行版本号来标定软件***的版本,由此,本发明通过增加版本标定的维度来实现软件版本的标定,从而提高版本标定的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例公开的一种软件***版本标定方法的流程示意图;
图2示出了本发明实施例公开的生成软件***版本号的流程示意图;
图3示出了本发明实施例公开的一种软件***版本标定装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
由于多种原因软件***在其发行后的生命周期内易发生变化,致使软件***以发行版本号标定版本的准确性较低,难以识别软件***版本。本发明实施例提供了一种软件***版本标定方法以解决上述问题,通过获取处于安装后状态的软件***在至少两个版本维度上的标识信息,基于至少两个版本维度上的标识信息,生成软件***版本号,实现准确对软件***版本标定的目的。
如图1所示,为本发明实施例公开的一种软件***版本标定方法的流程示意图。本发明实施例可以适用于对云平台环境下的定制化软件***的版本标定,例如,云平台环境下的定制化软件***可以是云原生类应用***,也可以是基于云平台部署与管理的应用,等等需要进行版本标定的软件***。本发明实施例提供的方法同样适用于对计算机、服务器或其他能够进行数据处理的电子设备中的软件***在开发过程中的版本标定,该电子设备上设置有软件***,软件***可以为电子设备上的操作***初始化时已经安装完成的软件***,也可以为电子设备初始化完成后额外下载准备安装或正在安装或已经安装完成的软件***,例如:画图软件、计算器、聊天工具、办公软件或理财工具等等,这些软件***可能会因为需求的变化、缺陷修复、升级管理、***迁移等多种原因发生软件生命周期内的变化而需要软件版本标定。本发明实施例提供的方法主要用于对软件***进行版本标定,以提高版本标定的准确性。
S101:获取软件***在至少两个版本维度上的标识信息,其中,软件***处于安装后的状态。
其中,版本维度可以理解为软件***上在不同方向上的软件特征维度,具体可以为软件***安装前的特征维度、软件***安装后的特征维度、软件***过程中的特征维度,等等。
而版本维度的标识信息可以理解为:软件***在不同软件特征维度上能够表征该维度属性的信息,如软件***安装前的特征维度中的安装包版本号、软件***安装后的配置变量信息,等等。
需要说明的是,本发明实施例中在对软件***版本标定前,需要首先初始化软件***。这里的初始化软件***可以理解为将安装包形式的软件***安装部署在电子设备上。
相应的,本实施例中软件***处于安装后的状态可以理解为:软件***可以处于完成安装但未启动运行的状态,也可以处于完成安装并处于被启动运行的状态。
另外,本实施例中在初始化软件***之后,在获得标识信息的过程中,可以通过数据清理等方式避免软件***在上线或升级之后的使用过程中的状态信息与数据信息干扰。例如,清除多余的测试数据、用户信息等,由此避免非版本特性因素对后续的版本标定带来的影响。
优选地,本实施例中在进行软件***的版本标定时,可以选择在软件***上线部署或升级部署的初期,此时获得至少两个版本维度上的标识信息,以减少其他因素对版本标定的影响。。
需要说明的是,使软件***处于刚完成部署的状态,不仅限于软件***初始化完成的状态,还可以为其他状态,如上线部署到云平台的状态,或者升级部署到云平台并下载更新到电子设备的状态,等等,只要是软件***处于刚完成部署的状态而没有被用户使用或者被用户进行额外配置的状态都可以。
S102:基于至少两个版本维度上的标识信息,生成软件***的版本号。
其中,本实施例中可以在至少两个版本维度的标识信息的基础上,进行进一步数据处理后,制定软件***版本标定表,生成软件***的版本号,或者,本实施例中也可以直接将标识信息组成一个字符串,制定软件***版本标定表,生成软件***的版本号。
在具体应用中,应用本发明实施例提供的方法,可以准确标定软件***的版本,例如,计算机中的Word软件因需求变化、缺陷修复、升级管理、***迁移等多种原因发生Word在生命周期内的变化导致难以准去识别版本,由此,采用本实施例中的技术方案在初始化Word软件后,通过获取Word的在安装前、安装后及运行中的各种软件特征维度上至少两种维度的标识信息,再基于这些标识信息,进行数据处理或组成一个字符串,制定软件***版本标定表,生成word软件的版本号,例如,基于word软件的安装包、源代码、环境变量信息等维度上的标识信息,进行数据处理或组成一个字符串,制定软件***版本标定表,生成word软件当前的版本号,实现准确的标定Word的版本,而不仅限于word软件在最开始发行时的发行版本号。
需要说明的是,本发明实施例提供的方法不仅限于应用到计算机中的Word,可以是设备中的任意软件***。
由上述方案可知,本实施例提供的一种软件***版本标定方法中,在软件***处于安装后的状态的情况下,通过获取软件***至少两个版本维度的标识信息,进而基于至少两个版本维度的标识信息来生成软件***版本号。由此,本实施例中基于软件***在安装后的状态下至少两个版本维度上的标识信息来进行版本号的生成,而不再仅依赖于软件***的发行版本号来标定软件***的版本,由此,本发明通过增加版本标定的维度来实现软件版本的标定,从而提高版本标定的准确性。
需要说明的是,上述的版本维度可以包括有软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或者任意多种的组合。相应的,本实施例中的S101在这些版本维度中获取至少两个版本维度上的标识信息,如获取安装包维度上的安装包版本号、中间件维度上的中间件版本号和外部接口维度上的外部接口清单和版本号等信息,并基于这些信息来生成软件***的版本号。
如图2所示,为本发明实施例中S101在生成版本号时的实现流程图,具体可以包括以下步骤:
S201:在至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息。
其中,目标维度可以理解为用于生成软件***版本号的从至少两个版本维度中选取出的特征维度。例如:至少两个版本维度包括安装包维度、源代码维度、环境变量维度时,选取安装包维度作为目标维度。
而目标维度的标识信息可以理解为软件***在不同软件特征维度上能够表征该维度属性的信息,例如,若目标维度是安装包维度,则目标维度的标识信息是安装包版本号。
本方明实施例提供的方法中,在至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息时,具体可以通过以下方式实现:
首先,对至少两个版本维度进行维度分类,得到至少两个维度类型,每个维度类型分别对应至少一个版本维度。之后,在至少一个维度类型对应的版本维度中选取出至少一个目标维度。最后,获取选取出的目标维度上的标识信息。
其中,本实施例中对至少两个版本维度进行维度分类可以理解为:对不同方向上的软件特征维度,可以按照特征维度的性质如在软件***中所对应的功能属性进行分类,其中,特征维度的性质可以表征特征维度的典型性。例如,本实施例中对安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度按照是否与软件***的过程相关还是与软件***的代码相关进行分类。相应的,本实施例中对版本维度可以分为至少两种,如第一维度类型和第二维度类型,甚至还可以有第三或其他维度类型,其中,第一维度类型为与软件***的过程相关的维度类型,如与软件***在安装过程、上线过程或运行过程相关的类型,第二维度类型为与软件***的代码相关的维度类型,如与软件***的源代码或接口代码相关的类型,等等。其中,第一维度类型下对应于至少一个版本维度,第二维度类型对应于至少一个版本维度,例如,第一维度类型可以对应于安装包维度、环境变量维度、配置变量维度、中间件维度以及数据模型维度,第二维度类型可以对应于源代码维度、外部接口维度等。
需要说明的是对软件***的特征维度进行分类,不仅限于按照特征维度的性质进行分类,也可以是按照特征维度在软件***中的所起作用的重要程度或特征维度的应用范围等进行分类,由此,可以丰富维度类型,在一定程度上能够提高后续版本号标定的准确性。
相应的,本实施例中在对版本维度进行分类得到第一维度类型和第二维度类型的版本维度之后,可以在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度。
需要说明的是,从至少一个维度类型对应的版本维度中选取目标维度,不仅限于从分类的每个维度类型对应的版本维度中分别选取至少一个版本维度作为目标维度,也可以只在某一个维度类型对应的版本维度中选取至少一个版本维度作为目标维度,也可以在所有维度类型中的任意多个维度类型对应的版本维度中分别选取至少一个版本维度作为目标维度。
例如,可以在只在第一维度类型对应的版本维度中选取至少一个版本维度为目标维度,即:在与软件***的过程相关的维度类型对应的版本维度如安装包维度、环境变量维度、中间件维度等中选择一个或多个版本维度作为目标维度;也可以只在第二维度类型对应的版本维度中选择至少一个版本维度为目标维度,即:在与软件***的代码相关的维度类型对应的版本维度如源代码维度、外部接口维度等中选择一个或多个版本维度作为目标维度;也可以分别在第一维度类型对应的版本维度中和第二维度类型对应的版本维度中选择一个或多个版本维度为目标维度,即:既在与软件***的过程相关的维度类型对应的版本维度如安装包维度、环境变量维度、中间件维度等中选择一个或多个版本维度作为目标维度,同时也在与软件***的代码相关的维度类型对应的版本维度如源代码维度、外部接口维度等中选择一个或多个版本维度作为目标维度。
S202:基于目标维度上的标识信息,生成软件***的版本号。
其中,版本号与目标维度上的标识信息相对应。
需要说明的是,本实施例中版本号可以直接由目标维度上的标识信息组成,例如,本实施例中将目标维度上的标识信息组成字符串,直接作为软件***的版本号。例如,本实施例中可以为将安装包维度上的安装包版本号和源代码维度上的源代码版本号组合在一起,形成字符串,将该字符串作为软件***版本号。
但此时的版本号可能存在一定的复杂度且不易被直观的识别的情况,因此,本实施例中也可以对目标维度上的标识信息进行进一步的处理,再基于处理结果,来生成软件***的版本号。
在一种实现方式中,本实施例中对目标维度上的标识信息进行处理,得到软件***的版本号,具体可以通过以下几种方式实现:
一种,本实施例中可以对目标维度上的标识信息进行数字加和后求平均值,将得到的结果作为软件***的版本号。例如,本实施例中将安装包版本号的V1.5与源代码版本号的V3.1求平均,得到软件***的版本号:V2.3,该版本号对应于安装包版本号V1.5和源代码版本号V3.1。
另一种,本实施例中可以对目标维度上的标识信息组成的标识序列进行编码,以生成软件***的版本号。也就是说,本实施例中首先将目标维度上的标识信息进行序列化,得到目标维度上的标识信息组成的标识序列,再对这些序列进行编码,得到软件***的版本号。例如,本实施例中将安装包版本号的V1.5与源代码版本号的V3.1组成序列:安装包V1.5、源代码V3.1,在对该序列按照版本号的标定顺序进行编码,如果软件***的前一个版本号为V4.8,那么此时软件***的版本号为V4.9,此时软件***的版本号与安装包版本号的V1.5与源代码版本号的V3.1相对应。
可见,对于任意维度上的标识信息发生变化,均会产生的新的版本号,这样版本号具有唯一指向性,由此提高版本号标定的准确性。
在具体应用中,在应用本发明实施例提供的方法对word软件进行版本标定时,可以对Word软件在第一维度类型的安装包维度、环境变量维度、配置变量维度、中间件维度以及数据模型维度中和第二维度类型的源代码维度、外部接口维度中选取一个或多个或者全部的维度类型作为作为目标维度,并获得目标维度上的标识信息,再对目标维度的标识信息组成的标识序列进行编码,进而生成软件***的版本号。
例如,本实施例中可以将以上不同维度类型的版本维度上的标识信息制定word软件的版本标定表,该表中包含不同维度类型下的各种版本维度的标识信息,在需要生成版本号时,可以选择其中的一个或多个或全部版本维度的标识信息,组成序列后进行编码,以生成Word的版本号,实现准确标定Word的版本号。
基于以上本发明实施例提供的技术方案,以下以云平台中的定制化软件***的版本标定为例,进行举例说明,如下:
首先,本实施例中通过定义一种合理识别定制化软件或非标软件的版本的方案,用以避免只通过供应商提供的发行版本号(如V1.0)作为标定其唯一性导致准确性较低的情况。本实施例的技术方案中利用在至少两个维度上的软件特征如标识信息来同时对一个软件进行分析识别,并根据特征的典型性分为第一维度类型和第二维度类型如主特征和辅特征两个层次,在不同层次中选择相应的维度的标识以满足对软件***的版本的不同管理精细要求。
其中,本实施例中的技术方案主要分为以下几个步骤:
1、初始化软件***,之后,再执行以下步骤2-步骤8,以获取各维度上的标识信息,如下:
2、采集安装包维度上的安装包版本号;
3、采集源代码维度上的源代码版本号;
4、采集环境变量维度上的环境变量并分配标识信息;
5、采集配置变量维度上的配置变量并分配标识信息;
6、采集中间件维度上的所有中间件版本号;
7、收集外部接口维度上的外部接口清单及相应版本号;
8、收集数据模型维度上的数据模型与初始数据并分配标识信息;
9、将以上各维度上的标识信息生成标定表,该标定表中将以上各维度划分为两个层次,每个层次对应相应的维度类型,如主辅特征版本的标定表;
10、在标定表中选取主辅特征的标识信息来编码版本号,得到软件的最终版本号。
具体如下:
1、初始化软件***
其中,本实施例中在标定版本时,软件***一般可以为定制化软件刚完成部署的状态,必须是一个实例***(即运行状态)而不是安装包未安装的状态;
需要说明的是,本实施例中可以首先对软件***排除使用过程中的状态信息与数据信息干扰,并且特别注意清楚多余的测试数据、用户信息等,由此避免非版本特性因素对版本标定带来的影响。因此,定制化软件版本标定的时间应尽可能选择上线(升级)初期。
2、采集安装包维度上的安装包版本号
其中,具体可以为采用软件安装包提供时的版本号,一般有多级数字表示,如V1.4.1,需要说明的是,安装包版本号并不是技术团队的内部版本号,而公开的版本号。
3、采集源代码维度上的源代码版本号
其中,源代码版本号以代码管理***内的唯一编号为准,一般为一个序号,如69(意味着该代码库的第69次提交内容)。本实施例中的源代码版本有标签(Tag),如由开发团队对该代码版本打标签,以方便未来该版本的内容获取。
4、采集环境变量维度上的环境变量并分配标识信息
其中,环境变量指软件运行所在的操作***环境或虚拟运行环境(如JRE)的变量信息。本实施例中,环境变量可以在开发或上线部署过程中尽可能被完整记录,如操作***类型、版本号、内存大小、文件***路径等,并分配一个唯一标识(可以是唯一序号)。
5、采集配置变量维度上的配置变量并分配标识信息
其中,配置变量是指为了软件正确运行,所需要指定的一些公共参数,一般情况下,配置变量会根据环境变量版本的变化而变化,如生产配置变量、开发配置变量等。
需要说明的是,配置变量一般存在于配置文件中,在软件***部署时进行正确设置参数值,具体的,将一组特定的配置变量参数键值对完整记录,并分配其唯一标识(可用唯一序号)。
6、采集中间件维度上的所有中间件版本号
其中,本实施例中获取软件***所依赖的所有中间件清单,如消息队列、数据库、缓存、负载均衡等,并记录每个中间件的版本号。
需要说明的是,中间件的配置变量可以在6中获取。
7、收集外部接口维度上的外部接口清单及相应版本号
其中,本实施例中获取软件***公开的接口清单,例如,标准的接口至少要有功能说明、调用地址、输入输出参数、接口版本号;之后,可以给接口清单分配一个版本号,可以与源代码的版本同步,注意不是每个接口的版本号。
8、收集数据模型维度上的数据模型与初始数据并分配标识信息
其中,本实施例中收集数据库(或其它中间件)与数据表的结构文件(即数据模型)信息,一般为导出的SQL文件或中间件特定格式的文件,可以被导入回数据库(中间件)。
而本实施例中收集初始数据信息时,将初始状态下的数据内容导出为独立文件,这两者需要相配套,并分配给相同的版本标识;
9、生成主辅特征版本标定表
如下表1中所示,将安装包版本号V1.0,源代码版本号V278、环境变量信息标识V2.0、配置变量信息标识V1.3、中间件版本号V1.4、外部接口清单版本号V278以及数据模型与初始数据信息标识V1.5填入标定表中,其中,安装包版本号V1.0、环境变量信息标识V2.0、配置变量信息标识V1.3、中间件版本号V1.4为主特征维度,而外部接口清单版本号V278、源代码版本号V278为辅特征维度。
表1标定表
10、在标定表中选取主辅特征的标识信息来编码版本号,得到软件的最终版本号。
例如,在每次进行软件版本号的标定时,可以采集以上各种维度上的标识信息如版本号等填入到标定表中,在标定表中选取主辅特征的标识信息来编码版本号;或者,在软件的开发或测试等升级过程中,随时更新以上标定表中的各维度的标识信息,在每次进行软件版本号标定时,在标定表中选取已经更新的主辅特征的标识信息来编码版本号,等等。
其中,对于非标准化制作的软件,通过上述版本标定表即可严格标定一个软件状态的版本。为了便于使用,为每次标定的版本分配一个“标定版本号”,一般第一级根据主特征变化,第二级根据辅特征变化。
可见,本实施例中能够实现规范有序的定制化开发管理,可以仅采用主特征来标定;而对于管理不佳的组织面言,可以考虑辅特征的因素,以提高版本标定的准确性。
如图3所示,为本发明实施例提供的一种软件***版本标定装置的结构示意图,本发明实施例中的装置可以适用于对云平台环境下的定制化软件***的版本标定。
具体的,本实施例中的装置可以包括以下结构:
获取单元301,用于获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
生成单元302,用于基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
可见,本实施例提供的一种软件***版本标定装置中,在软件***处于安装后的状态的情况下,通过获取软件***至少两个版本维度的标识信息,进而基于至少两个版本维度的标识信息来生成软件***版本号。由此,本实施例中基于软件***在安装后的状态下至少两个版本维度上的标识信息来进行版本号的生成,而不再仅依赖于软件***的发行版本号来标定软件***的版本,由此,本实施例通过增加版本标定的维度来实现软件版本的标定,从而提高版本标定的准确性。
其中,生成单元302具体用于:
首先,在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息,例如,对所述至少两个版本维度进行维度分类,得到至少两个维度类型,每个所述维度类型分别对应至少一个版本维度;在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度;获得所述目标维度上的标识信息。
之后,基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
具体的,生成单元302在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度时,可以通过以下方式实现:
在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
其中,所述第一维度类型为与所述软件***的过程相关的维度类型;所述第二维度类型为与所述软件***的代码相关的维度类型。
其中,所述版本维度包括所述软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或任意多种的组合。
相应的,生成单元302在基于所述目标维度上的标识信息,生成所述软件***的版本号时,可以通过以下方式实现:
对所述目标维度上的标识信息组成的标识序列进行编码,以生成所述软件***的版本号。
需要说明的是,本实施例中的装置中各单元的具体实现可以参考前文中相应描述此处不再详述。
其中,本实施例中的软件***版本标定装置可以包括处理器和存储器,上述获取单元和生成单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对软件***版本准确标定。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述软件***版本标定方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述软件***版本标定方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
可选的,所述基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号,包括:
在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息;
基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
可选的,所述在所述至少两个版本维度上的标识信息,选取至少一个目标维度上的标识信息,包括:
对所述至少两个版本维度进行维度分类,得到至少两个维度类型,每个所述维度类型分别对应至少一个版本维度;
在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
获得所述目标维度上的标识信息。
可选的,所述在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度,包括:
在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
其中,所述第一维度类型为与所述软件***的过程相关的维度类型;所述第二维度类型为与所述软件***的代码相关的维度类型。
可选的,所述版本维度包括所述软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或任意多种的组合。
可选的,所述基于所述目标维度上的标识信息,生成所述软件***的版本号,包括:
对所述目标维度上的标识信息组成的标识序列进行编码,制定软件***版本标定表,生成所述软件***的版本号。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
可选的,所述基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号,包括:
在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息;
基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
可选的,所述在所述至少两个版本维度上的标识信息,选取至少一个目标维度上的标识信息,包括:
对所述至少两个版本维度进行维度分类,得到至少两个维度类型,每个所述维度类型分别对应至少一个版本维度;
在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
获得所述目标维度上的标识信息。
可选的,所述在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度,包括:
在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
其中,所述第一维度类型为与所述软件***的过程相关的维度类型;所述第二维度类型为与所述软件***的代码相关的维度类型。
可选的,所述版本维度包括所述软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或任意多种的组合。
可选的,所述基于所述目标维度上的标识信息,生成所述软件***的版本号,包括:
对所述目标维度上的标识信息组成的标识序列进行编码,制定软件***版本标定表,生成所述软件***的版本号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种软件***版本标定方法,其特征在于,包括:
获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
2.根据权利要求1所述的方法,其特征在于,基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号,包括:
在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息;
基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
3.根据权利要求2所述的方法,其特征在于,所述在所述至少两个版本维度上的标识信息,选取至少一个目标维度上的标识信息,包括:
对所述至少两个版本维度进行维度分类,得到至少两个维度类型,每个所述维度类型分别对应至少一个版本维度;
在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
获得所述目标维度上的标识信息。
4.根据权利要求3所述的方法,其特征在于,在至少一个所述维度类型对应的版本维度中,选取至少一个版本维度为目标维度,包括:
在第一维度类型和/或第二维度类型对应的版本维度中,选取至少一个版本维度为目标维度;
其中,所述第一维度类型为与所述软件***的过程相关的维度类型;所述第二维度类型为与所述软件***的代码相关的维度类型。
5.根据权利要求1或2所述的方法,其特征在于,所述版本维度包括所述软件***的安装包维度、源代码维度、环境变量维度、配置变量维度、中间件维度、外部接口维度以及数据模型维度中的任意一种或任意多种的组合。
6.根据权利要求2所述的方法,其特征在于,所述基于所述目标维度上的标识信息,生成所述软件***的版本号,包括:
对所述目标维度上的标识信息组成的标识序列进行编码,以生成所述软件***的版本号。
7.一种软件***版本标定装置,其特征在于,包括:
获取单元,用于获取所述软件***在至少两个版本维度上的标识信息,其中,所述软件***处于安装后的状态;
生成单元,用于基于所述至少两个版本维度上的标识信息,生成所述软件***的版本号。
8.根据权利要求7所述的装置,其特征在于,所述生成单元具体用于:
在所述至少两个版本维度上的标识信息中,选取至少一个目标维度上的标识信息;基于所述目标维度上的标识信息,生成所述软件***的版本号,其中,所述版本号与所述目标维度上的标识信息相对应。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~6任意一项所述的软件***版本标定方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1~6任意一项所述的软件***版本标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789656.9A CN112433748A (zh) | 2019-08-26 | 2019-08-26 | 软件***版本标定方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789656.9A CN112433748A (zh) | 2019-08-26 | 2019-08-26 | 软件***版本标定方法、装置、存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433748A true CN112433748A (zh) | 2021-03-02 |
Family
ID=74690080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910789656.9A Pending CN112433748A (zh) | 2019-08-26 | 2019-08-26 | 软件***版本标定方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433748A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318968A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Catalog-based software component management |
CN109614137A (zh) * | 2018-11-30 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 软件版本控制方法、装置、设备和介质 |
CN109684414A (zh) * | 2018-12-26 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 区块数据的同步方法、装置、设备及存储介质 |
-
2019
- 2019-08-26 CN CN201910789656.9A patent/CN112433748A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318968A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Catalog-based software component management |
CN109614137A (zh) * | 2018-11-30 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 软件版本控制方法、装置、设备和介质 |
CN109684414A (zh) * | 2018-12-26 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 区块数据的同步方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
余颖, 董旭源, 高宏: "C/S模式管理信息***实现自动升级和维护的方法", 佳木斯大学学报(自然科学版), vol. 23, no. 02, pages 201 - 203 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
CN110019111B (zh) | 数据处理方法、装置、存储介质以及处理器 | |
CN115185550A (zh) | 服务部署方法、装置、计算机设备及存储介质 | |
CN107357721B (zh) | 测试***的方法及装置 | |
CN114237754B (zh) | 一种数据加载方法、装置、电子设备以及存储介质 | |
CN113885935A (zh) | 资源打包方法、装置、电子设备及计算机可读存储介质 | |
CN111722995B (zh) | 一种数据处理方法及装置 | |
CN112631763A (zh) | 一种主机程序的程序变更方法及装置 | |
CN110968333B (zh) | 配置信息替换方法和装置、机器可读存储介质及处理器 | |
CN109977317B (zh) | 数据查询方法及装置 | |
CN114816772B (zh) | 基于兼容层运行的应用的排错方法、排错***及计算设备 | |
CN110471828B (zh) | 一种操作***测试方法、装置及其设备 | |
CN112433748A (zh) | 软件***版本标定方法、装置、存储介质及处理器 | |
CN113626342B (zh) | 一种模型在线测试方法及装置 | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
CN113672349A (zh) | 一种镜像的更新方法、装置、设备及介质 | |
CN111881220B (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
CN113867778A (zh) | 一种镜像文件的生成方法、装置、电子设备及存储介质 | |
CN112559444A (zh) | Sql文件迁移方法、装置、存储介质及设备 | |
CN112783954A (zh) | 数据访问方法、装置及服务器 | |
CN107291494B (zh) | 应用程序安装包的生成方法及装置 | |
CN113741956B (zh) | 移植版本管理功能的方法及装置、版本管理方法及装置 | |
CN116700840B (zh) | 文件执行方法、装置、电子设备及可读存储介质 | |
CN117251234B (zh) | 基于补丁的函数调用方法及装置 | |
CN110471782B (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 |