CN105278957B - 一种软件和驱动包的版本匹配识别方法 - Google Patents
一种软件和驱动包的版本匹配识别方法 Download PDFInfo
- Publication number
- CN105278957B CN105278957B CN201510644605.9A CN201510644605A CN105278957B CN 105278957 B CN105278957 B CN 105278957B CN 201510644605 A CN201510644605 A CN 201510644605A CN 105278957 B CN105278957 B CN 105278957B
- Authority
- CN
- China
- Prior art keywords
- version
- software
- driving bag
- driving
- bag
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开一种软件和驱动包的版本匹配识别方法:软件分研发版本和用户版本,驱动包由研发版软件编辑形成,并可由用户版软件打开后再次编辑修改。研发版本软件在形成驱动包时,通过提取文件中配置符号、脚本函数、文件格式所隶属的软件版本,计算得到处理该驱动包所需的最低软件版本,并记录到驱动包的文件头中。用户版软件打开驱动包时,提取驱动包工作版本和软件的当前版本作对比,如果驱动包工作版本小于等于软件当前版本,则认为是匹配的,否则给出提示用户版软件需升级到驱动包对应的工作版本。本发明可自动判断用户版本软件和驱动包的匹配适应关系,避免驱动包、软件不同步升级时导致的版本不匹配问题。
Description
技术领域
本发明属于软件开发领域的软件和待处理文件的版本匹配识别方法,具体涉及一种软件和驱动包的版本匹配识别方法。
背景技术
传统保护测控的功能设计主要由开发人员直接编写程序,开发工作量大,当终端用户的需求更改时,需要修改代码,进行二次开发和归档,这种模式维护周期长,需要提高开发效率和灵活适应性。而海外用户需要较强的可配置功能,例如根据现场应用增加减少开入开出插件、保护测控功能投入退出等,这都需要通过工具软件进行人机界面交互。随着新一代保护测控装置在国内外的变电站中广泛应用,要求装置的使用更加通用灵活,需要通过工具软件开发配置驱动包,可同时支撑装置研发、用户配置等环节。
装置驱动包是一个自定义格式的压缩文件,把硬盘目录下整个装置的编程、配置、建模相关文件打包压缩形成。它包括装置的可视化程序页面、事件录波、定值设置、装置选型、液晶主画面文件等装置配置的源素材文件。
研发人员通过工具软件创建装置驱动包,下载到装置运行。用户可从装置中上装驱动包、或者从驱动包安装库中选择驱动包创建工程,进行二次开发和配置,形成新的驱动包。
工具软件分研发版本和用户版本,对于终端用户,使用某个版本的用户版本软件时,需要知道该版本的软件能否支持处理该驱动包,两者版本是否匹配,否则可能导致由于驱动包新增的符号、脚本未能正确处理,带来隐患。需要一种简便的方法,在用户版软件选择驱动包创建工程时,能自动判断软件和驱动包的版本是否匹配,本文由此产生。
发明内容
本发明的目的是提供一种软件和驱动包的版本匹配识别方法,本发明解决因为版本不匹配带来的问题。
为实现上述技术目的,本发明采取的技术方案为:一种软件和驱动包的版本匹配识别方法,对比软件的当前版本和驱动包中记录的所需软件工作版本,根据版本号大小判断软件是否能处理驱动包;所述软件包括研发版本和用户版本,并且所述研发版本和用户版本向前兼容;新版本能兼容处理旧版本软件形成的驱动包,所述驱动包是由可视化页面、配置符号库以及各种配置界面所对应的数据文件所压缩组合形成的文件;驱动包由研发版软件编辑形成并可由用户版软件打开进行二次编辑修改;其特征在于包括如下步骤:
第一步:通过版本配置文件定义软件显示版本号对应的整形数值;新增1个软件版本时,须在软件版本配置文件增加配置项,递增累加版本值;版本配置文件跟随软件一起发布;
第二步:将驱动包中和版本相关的特征划分为3类:配置符号、脚本函数和文件格式,并在版本配置文件中定义每个版本所支持的新增配置符号名字、新增的脚本函数名、新增的属性名;
第三步:研发版软件在保存驱动包时,分析驱动包所需的工作版本;通过提取文件中使用到的配置符号、脚本函数、文件格式所隶属的软件版本,取最大值作为处理该驱动包所需的工作版本,并记录到驱动包的文件头中;
第四步:用户版软件打开驱动包时,提取驱动包文件头记录的工作版本和软件的当前版本作对比,如果驱动包工作版本小于等于软件当前版本,则认为是匹配的,否则给出提示用户版软件需升级到驱动包对应的工作版本。
本发明通过对比软件的当前版本和驱动包中记录的所需软件工作版本,根据版本号大小判断软件是否能处理驱动包。其中所述的软件分研发版本、用户版本,并且版本向前兼容,新版本能兼容处理旧版本软件形成的驱动包,所述的驱动包是由若干可视化页面、配置符号库、各种配置界面所对应的数据文件所压缩组合形成的文件,驱动包由研发版软件编辑形成,并可由用户版软件打开进行二次编辑修改。为了达成上述目的,本发明主要通过如下步骤实现:
1)通过版本配置文件定义软件显示版本号对应的整形数值。新增1个软件版本时,须在软件版本配置文件增加配置项,递增累加版本数值。版本配置文件跟随软件一起发布,在版本配置文件中设置当前版本,软件启动时读取该文件,获取当前版本号、版本值。
2)将驱动包中和版本相关的特征划分为3类:配置符号、脚本函数、文件格式,并在版本配置文件中定义每个版本所支持的新增配置符号名字、新增的脚本函数名、新增的属性名。软件启动时,读取相关内容,获取已发布的版本所支持的配置符号、脚本函数、文件格式。
3)研发版软件在保存驱动包时,分析并填写驱动包所需的工作版本。通过提取驱动包各子文件中所使用的配置符号、使用的脚本函数、文件格式所隶属的软件版本,取最大值作为处理该驱动包所需的工作版本,并记录到驱动包的文件头中。
4)用户版软件打开驱动包时,提取驱动包内记录的工作版本和软件的当前版本作对比,如果驱动包工作版本小于等于软件当前版本,则认为是匹配的,否则给出提示用户版软件需升级到驱动包对应的工作版本。点击升级选项,可连接升级服务器,下载合适版本的软件。
采用上述方案后,本发明具有如下有益效果:用户版软件通过提取驱动包中存储所需的工作版本,并和当前软件版本进行对比,可明确得知版本是否匹配。当版本不匹配时,可获取需要升级的软件。用户可以放心使用编辑驱动包,用户常规的需求变更可以通过修改配置实现,消除频繁地直接修改代码带来的风险,提高可扩展能力。本发明已经在新一代保护测控装置配套工具软件中使用,该软件已经在80多个国家使用,通过该方法,用户可及时获取需要升级的软件版本,为相关工程的高效率、高可靠实施创造了有利的条件。
附图说明
图1是本发明中驱动包所需的工作版本识别示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
实施例1
本一种软件和驱动包的版本匹配识别方法,具体实现步骤如下:
1)定义版本配置文件,软件研发人员设置软件版本号和对应的整形数值。其中软件版本号是显示用的字符串。优选地,版本配置文件version.xml格式如下:
上例version_list是版本列表,ver表示显示版本号,No表示对应的版本数值。版本列表也可录入将后续计划发布的版本序列。curVersion表示当前发布的软件版本值,值为1表示当前软件版本号为1.0.1。每发布1个版本,需更新version.xml中的当前版本值,version.xml跟随软件一起发布,作为ini文件,软件启动时读取当前版本值。
2)在版本配置文件中,软件研发人员填写各个版本所支持的配置符号、脚本函数、文件格式等内容。优选地,其配置示例为:
在上述XML定义片断中,表示1.0.1版本和1.0.0版本相比,增加了LED配置符号、AddLink和DelLink脚本函数、增加MOT类型文件。软件启动时,读取相关内容,获取已发布的版本所支持的配置符号、脚本函数、文件格式。
3)研发版软件在保存驱动包时,分析并填写驱动包所需的工作版本。通过提取各类文件中所使用的配置符号、使用的脚本函数、文件格式所隶属的软件版本,取最大值作为处理该驱动包所需的工作版本,并记录到驱动包的文件头中。如图1所示,当前软件为1.0.2版本,而驱动包中使用了1.0.0、1.0.1版本软件支持的配置符号、脚本、文件,则驱动包工作版本为1.0.1,对应版本值为1,存储到驱动包中。优选地,驱动包文件头定义如下:
在图1中,workNo填写工作版本号1.0.1对应的数值1。
4)用户版软件打开驱动包时,提取驱动包内记录的工作版本和软件的当前版本作对比,如果驱动包工作版本小于等于软件当前版本,则认为是匹配的,否则给出提示用户版软件需升级到驱动包对应的工作版本号。用户点击升级选项,可链接到升级服务器对应的升级网页,下载合适版本的软件。例如用户版软件当前版本为1.0.2,打开的驱动包工作版本为1(对应1.0.1),则版本是匹配的。如用户版软件当前版本为1.0.0,打开的驱动包工作版本为1(对应1.0.1),则版本是不匹配的,则提示用户版软件需至少升级到1.0.1版本。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (1)
1.一种软件和驱动包的版本匹配识别方法,对比软件的当前版本和驱动包中记录的所需软件工作版本,根据版本号大小判断软件是否能处理驱动包;所述软件包括研发版本和用户版本,并且所述研发版本和用户版本向前兼容;新版本能兼容处理旧版本软件形成的驱动包,所述驱动包是由可视化页面、配置符号库以及各种配置界面所对应的数据文件所压缩组合形成的文件;驱动包由研发版软件编辑形成并可由用户版软件打开进行二次编辑修改;其特征在于包括如下步骤:
第一步:通过版本配置文件定义软件显示版本号对应的整形数值;新增1个软件版本时,须在版本配置文件增加配置项,递增累加版本值;版本配置文件跟随软件一起发布;
第二步:将驱动包中和版本相关的特征划分为3类:配置符号、脚本函数和文件格式,并在版本配置文件中定义每个版本所支持的新增配置符号名字、新增的脚本函数名、新增的属性名;
第三步:研发版软件在保存驱动包时,分析驱动包所需的工作版本;通过提取文件中使用到的配置符号、脚本函数、文件格式所隶属的软件版本,取最大值作为处理该驱动包所需的工作版本,并记录到驱动包的文件头中;
第四步:用户版软件打开驱动包时,提取驱动包文件头记录的工作版本和软件的当前版本作对比,如果驱动包工作版本小于等于软件当前版本,则认为是匹配的,否则给出提示用户版软件需升级到驱动包对应的工作版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644605.9A CN105278957B (zh) | 2015-10-08 | 2015-10-08 | 一种软件和驱动包的版本匹配识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510644605.9A CN105278957B (zh) | 2015-10-08 | 2015-10-08 | 一种软件和驱动包的版本匹配识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105278957A CN105278957A (zh) | 2016-01-27 |
CN105278957B true CN105278957B (zh) | 2018-05-22 |
Family
ID=55148015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510644605.9A Expired - Fee Related CN105278957B (zh) | 2015-10-08 | 2015-10-08 | 一种软件和驱动包的版本匹配识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105278957B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829582A (zh) * | 2018-05-24 | 2018-11-16 | 广州酷狗计算机科技有限公司 | 程序兼容的方法和装置 |
CN110825406A (zh) * | 2019-10-25 | 2020-02-21 | 深圳市元征科技股份有限公司 | 一种软件升级的方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104094226A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 使用部署配置文件自动更新客户端设备上的应用或者驱动 |
CN104375866A (zh) * | 2014-11-24 | 2015-02-25 | 杭州华为数字技术有限公司 | 一种单板的驱动更新方法及装置 |
CN104603751A (zh) * | 2012-09-05 | 2015-05-06 | 卡特彼勒公司 | 具有自动部件版本管理的控制系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5665188B2 (ja) * | 2011-03-31 | 2015-02-04 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウエア更新を適用した情報処理装置を検査するシステム |
US9250892B2 (en) * | 2012-08-02 | 2016-02-02 | International Business Machines Corporation | Self-diagnosing systems using matrix barcodes |
-
2015
- 2015-10-08 CN CN201510644605.9A patent/CN105278957B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104094226A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 使用部署配置文件自动更新客户端设备上的应用或者驱动 |
CN104603751A (zh) * | 2012-09-05 | 2015-05-06 | 卡特彼勒公司 | 具有自动部件版本管理的控制系统 |
CN104375866A (zh) * | 2014-11-24 | 2015-02-25 | 杭州华为数字技术有限公司 | 一种单板的驱动更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105278957A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034731B (zh) | 一种生成Web前端交互页面的方法 | |
CN103532756B (zh) | 一种基于网管系统的命令行系统以及命令行操作方法 | |
CN105117233A (zh) | Api调用方法及装置 | |
CN105589725B (zh) | 一种电子设备的升级包制作方法和升级方法、升级包 | |
CN102760059B (zh) | 电力系统继保装置标准化检验脚本自动生成方法 | |
CN102081361B (zh) | 一种硬件设备控制方法及其系统 | |
WO2019140978A1 (zh) | 一种屏幕参数配置系统 | |
CN104516755A (zh) | 安装包生成方法和装置 | |
CN107273122A (zh) | 基于解耦机制的可迭代组建业务系统的方法及其终端 | |
CN107145482A (zh) | 基于人工智能的文章生成方法及装置、设备与可读介质 | |
CN106033388B (zh) | 测试用例库管理方法及系统 | |
CN105278957B (zh) | 一种软件和驱动包的版本匹配识别方法 | |
CN102289378A (zh) | 自动生成应用程序的方法 | |
CN101706725A (zh) | 一种可重定位程序的加载及调试方法及系统 | |
CN107864052A (zh) | 基于持续部署应用配置自动化升级的方法及其系统 | |
CN106502715A (zh) | 一种应用程序多渠道配置方法及装置 | |
CN107193544A (zh) | 一种应用程序组件化开发方法及装置 | |
CN106326194A (zh) | 一种应用于文件格式转换场景下的目录生成方法和装置 | |
CN104092659A (zh) | 一种通用协议数据解析方法 | |
CN110109701A (zh) | 应用部署时的文件配置方法、装置及应用发布方法、装置 | |
CN104572238A (zh) | 一种高效的生成可执行软件包的方法及系统 | |
CN106598615A (zh) | 一种食谱程序代码生成方法及食谱编译云平台系统 | |
CN104820604A (zh) | 一种应用于pos终端的浏览器 | |
CN103676911B (zh) | 一种设备控制系统及控制方法 | |
CN105550165A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180522 Termination date: 20211008 |