CN111367546A - 软件升级过程中实现xml配置文件升级处理的方法 - Google Patents
软件升级过程中实现xml配置文件升级处理的方法 Download PDFInfo
- Publication number
- CN111367546A CN111367546A CN202010119059.8A CN202010119059A CN111367546A CN 111367546 A CN111367546 A CN 111367546A CN 202010119059 A CN202010119059 A CN 202010119059A CN 111367546 A CN111367546 A CN 111367546A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- xml configuration
- software
- data model
- upgrading
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种软件升级过程中实现xml配置文件升级处理的方法,包括以下步骤:反序列化xml配置文件;将数据模型与其它数据模型进行一致性校验;将校验通过后的目标版本的数据模型写入目标板本的xml配置文件中。采用了本发明的软件升级过程中实现xml配置文件升级处理的方法,解决了工程配置文件升级时的兼容性问题。软件采用本方法后,该软件的用户可以最大限度地复用以前的工程,减少手工更改配置文件带来的错误,降低了软件升级的成本,具有广泛的应用范围。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及软件版本管理领域,具体是指一种软件升级过程中实现xml配置文件升级处理的方法。
背景技术
现在软件的配置文件尽管后缀不同,大多使用xml格式存储。随着软件发布版本的增多,在先前发布软件基础上开发的工程因版本问题不能在新软件上运行。有些软件提供了版本转换功能,有些则需要手工修改工程配置文件。
现有的版本转换功能仅针对特定的文件和格式,可扩展性较弱。手工修改则极易出错且很可能有版本不兼容问题。这些都给使用软件带来较大的不便。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足效率高、操作简便、适用范围较为广泛的软件升级过程中实现xml配置文件升级处理的方法。
为了实现上述目的,本发明的软件升级过程中实现xml配置文件升级处理的方法如下:
该软件升级过程中实现xml配置文件升级处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)反序列化xml配置文件;
(2)将数据模型与其它数据模型进行一致性校验;
(3)将校验通过后的目标版本的数据模型写入目标板本的xml配置文件中。
较佳地,所述的步骤(1)具体包括以下步骤:
(1.1)校验xml配置文件不同版本之间的兼容性,从前一版本的xml配置文件中读取可用的信息;
(1.2)判断目标版本的数据模型是否存在未赋值的属性,如果是,则取默认值;否则,将前一版本的信息赋值到目标板本号对应的数据模型中。
较佳地,所述的步骤(2)具体包括以下步骤:
(2.1)判断数据模型与其它数据模型是否与xml配置文件对应,如果是,则继续步骤(3);否则,随着数据模型列表的调整而调整。
较佳地,所述的步骤(1)还包括以下步骤:
判断xml配置文件之间的结点是否有引用关系,如果是,则对应应的数据模型间存在联系;否则,继续步骤(2)。
采用了本发明的软件升级过程中实现xml配置文件升级处理的方法,解决了工程配置文件升级时的兼容性问题。软件采用本方法后,该软件的用户可以最大限度地复用以前的工程,减少手工更改配置文件带来的错误,降低了软件升级的成本,具有广泛的应用范围。
附图说明
图1为本发明的软件升级过程中实现xml配置文件升级处理的方法的结构图。
图2为本发明的软件升级过程中实现xml配置文件升级处理的方法的具体实施例的类图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该软件升级过程中实现xml配置文件升级处理的方法,其中包括以下步骤:
(1)反序列化xml配置文件;
(1.1)校验xml配置文件不同版本之间的兼容性,从前一版本的xml配置文件中读取可用的信息;
(1.2)判断目标版本的数据模型是否存在未赋值的属性,如果是,则取默认值;否则,将前一版本的信息赋值到目标板本号对应的数据模型中;
判断xml配置文件之间的结点是否有引用关系,如果是,则对应应的数据模型间存在联系;否则,继续步骤(2);
(2)将数据模型与其它数据模型进行一致性校验;
(2.1)判断数据模型与其它数据模型是否与xml配置文件对应,如果是,则继续步骤(3);否则,随着数据模型列表的调整而调整;
(3)将校验通过后的目标版本的数据模型写入目标板本的xml配置文件中。
本发明的具体实施方式中,提出一种基于xml配置文件配置升级方法。使可以最大限度地复用以前的工程,减少手工更改配置文件带来的错误,降低了软件升级的成本。
一种基于xml配置文件配置升级的方法,包括如下步骤:
(1)反序列化xml配置文件。从上一版本的xml配置文件中读取可用的信息,并赋值到目标板本号对应的数据模型中。若目标版本的数据模尚有未赋值的属性则取默认值;
(2)数据模型与其它数据模型进行一致性校验;
(3)校验通过后将目标版本的数据模型写入目标板本的xml配置文件中。
每个xml配置文件都有一个数据模型与之对应。若xml配置文件之间的结点有引用关系,则相应的数据模型之间也有联系。
数据模型为一个类或类的组合。xml配置文件之间的结点引用关系即为类之间的关系。在xml配置文件反序列化后要对类之间的关系做一致性校验。
xml配置文件反序列化之后还需校验xml配置文件不同版本之间的兼容性。
本发明克服了上述现有技术的缺点,提出一种基于xml配置文件配置升级的方法。
为了实现上述目的,本发明的xml配置文件配置升级的方法包括:
反序列化xml配置文件。校验xml配置文件不同版本之间的兼容性通过后,从上一版本的xml配置文件中读取可用的信息,并赋值到目标板本号对应的数据模型中。其对应关系如图2所示。若目标版本的数据模尚有未赋值的属性则取默认值。
根据数据模型之间的关系判断一致性。如xml-A对应的数据模型A,xml-B对应了数据模型B的列表,若数据模型A包含了数据模型B在列表中的下标,则该下标应当是有效的,并且随着数据模型B列表的调整而调整。
一致性校验完毕后,通过序列化方法将数据模型写入到目标版本的xml配置文件中。
本发明结合具体实施例的实现过程如下:
该实例中,工程中包括配置文件canSlots.xml和canMessages.xml。
canSlot.xml的结构如下:
其对应的数据模型canSlotModel如下:
Version<major>.<minor>
list slotList<mode,type,mask>
其中,slotList中的每个slot数据包含信息列表,每个信息以ID标识:msg<msgId>canMessages.xml的结构如下:
其对应的数据模型canMessageModel如下:
Version<major>.<minor>
list messageList<canMessage>
其中,messageList中的每条canMessage包含Id等其它信息。
引用关系为:对于每个canSlot中包含的messageId,一定能在canMessages中的messageList中找到Id相同的canMessage.
现在考虑工程需要增加多路CAN的支持。canSlot.xml的结构变更为:
其对应的数据模型canSlotModel改为如下:
Version<major>.<minor>
list canNetworks[NETWORK_NUM];
其中NETWORK_NUM为CAN的通道数,每个canNetWork有如下属性:
string configFileName;
list slotListmode,type,mask>;
canMessages.xml的结构不变,但会有多个xml配置文件,文件名与configFileName相同。
当canSlot.xml从V1.1升级为V1.2时,将xml V1.1反序列化后,令NETWORK_NUM=1。
configFileName设为原xml配置文件的文件名。同时检查原canMessage.xml配置文件是否存在、每个messageId是否在canMessage.xml中配置。
采用了本发明的软件升级过程中实现xml配置文件升级处理的方法,解决了工程配置文件升级时的兼容性问题。软件采用本方法后,该软件的用户可以最大限度地复用以前的工程,减少手工更改配置文件带来的错误,降低了软件升级的成本,具有广泛的应用范围。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (4)
1.一种软件升级过程中实现xml配置文件升级处理的方法,其特征在于,所述的方法包括以下步骤:
(1)反序列化xml配置文件;
(2)将数据模型与其它数据模型进行一致性校验;
(3)将校验通过后的目标版本的数据模型写入目标板本的xml配置文件中。
2.根据权利要求1所述的软件升级过程中实现xml配置文件升级处理的方法,其特征在于,所述的步骤(1)具体包括以下步骤:
(1.1)校验xml配置文件不同版本之间的兼容性,从前一版本的xml配置文件中读取可用的信息;
(1.2)判断目标版本的数据模型是否存在未赋值的属性,如果是,则取默认值;否则,将前一版本的信息赋值到目标板本号对应的数据模型中。
3.根据权利要求1所述的软件升级过程中实现xml配置文件升级处理的方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(2.1)判断数据模型与其它数据模型是否与xml配置文件对应,如果是,则继续步骤(3);否则,随着数据模型列表的调整而调整。
4.根据权利要求1所述的软件升级过程中实现xml配置文件升级处理的方法,其特征在于,所述的步骤(1)还包括以下步骤:
判断xml配置文件之间的结点是否有引用关系,如果是,则对应应的数据模型间存在联系;否则,继续步骤(2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119059.8A CN111367546A (zh) | 2020-02-26 | 2020-02-26 | 软件升级过程中实现xml配置文件升级处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119059.8A CN111367546A (zh) | 2020-02-26 | 2020-02-26 | 软件升级过程中实现xml配置文件升级处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111367546A true CN111367546A (zh) | 2020-07-03 |
Family
ID=71210985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119059.8A Withdrawn CN111367546A (zh) | 2020-02-26 | 2020-02-26 | 软件升级过程中实现xml配置文件升级处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367546A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658119A (zh) * | 2022-12-26 | 2023-01-31 | 北京沃德博创信息科技有限公司 | 一种根据软件版本迁移配置数据的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004081758A2 (en) * | 2003-03-12 | 2004-09-23 | Digex, Inc. | System and method for maintaining installed software compliance with build standards |
CN101006424A (zh) * | 2004-08-19 | 2007-07-25 | 艾利森电话股份有限公司 | 通用升级体系结构 |
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
CN101286881A (zh) * | 2008-05-16 | 2008-10-15 | 中兴通讯股份有限公司 | 一种实现基站软件配置数据多版本兼容的装置及应用 |
CN102081537A (zh) * | 2010-12-31 | 2011-06-01 | 青岛海信宽带多媒体技术有限公司 | 一种软件升级方法 |
CN102523268A (zh) * | 2011-12-08 | 2012-06-27 | 北京新媒传信科技有限公司 | 一种客户端升级方法和系统 |
CN107301058A (zh) * | 2017-08-28 | 2017-10-27 | 四川长虹电器股份有限公司 | 基于版本号分段控制实施电视系统ota升级的方法 |
CN110007944A (zh) * | 2019-04-09 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种应用程序升级包和升级方法 |
CN113760312A (zh) * | 2020-05-21 | 2021-12-07 | 中兴通讯股份有限公司 | 基站数据升级方法、基站和计算机可读介质 |
-
2020
- 2020-02-26 CN CN202010119059.8A patent/CN111367546A/zh not_active Withdrawn
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004081758A2 (en) * | 2003-03-12 | 2004-09-23 | Digex, Inc. | System and method for maintaining installed software compliance with build standards |
CN101006424A (zh) * | 2004-08-19 | 2007-07-25 | 艾利森电话股份有限公司 | 通用升级体系结构 |
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
WO2007118419A1 (fr) * | 2006-04-14 | 2007-10-25 | Beijing Rising International Software Co., Ltd | Procédé et dispositif de mise à jour d'un logiciel |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
CN101286881A (zh) * | 2008-05-16 | 2008-10-15 | 中兴通讯股份有限公司 | 一种实现基站软件配置数据多版本兼容的装置及应用 |
CN102081537A (zh) * | 2010-12-31 | 2011-06-01 | 青岛海信宽带多媒体技术有限公司 | 一种软件升级方法 |
CN102523268A (zh) * | 2011-12-08 | 2012-06-27 | 北京新媒传信科技有限公司 | 一种客户端升级方法和系统 |
CN107301058A (zh) * | 2017-08-28 | 2017-10-27 | 四川长虹电器股份有限公司 | 基于版本号分段控制实施电视系统ota升级的方法 |
CN110007944A (zh) * | 2019-04-09 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种应用程序升级包和升级方法 |
CN113760312A (zh) * | 2020-05-21 | 2021-12-07 | 中兴通讯股份有限公司 | 基站数据升级方法、基站和计算机可读介质 |
Non-Patent Citations (1)
Title |
---|
张宇杰: "基于Android平台的智能手机多包连续升级技术改进与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658119A (zh) * | 2022-12-26 | 2023-01-31 | 北京沃德博创信息科技有限公司 | 一种根据软件版本迁移配置数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7216133B2 (en) | Synchronizing logical views independent of physical storage representations | |
US7188336B2 (en) | Multi-platform software interface and documentation generator | |
US11163553B2 (en) | Data configuration method and data configuration apparatus | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
EP2257886A2 (en) | Computing environment representation | |
JP2004013903A (ja) | ローカルソフトウェアアプリケーションが使用するためにソフトウェアコンポーネントを遠隔ソースからダウンロードするためのメカニズム | |
CN107122173A (zh) | 一种适配activiti、可拖拽的表单生成方法 | |
US9720686B2 (en) | Melding of mediation flow service component architecture (SCA) components | |
CN111399828B (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
US8914482B2 (en) | Translation of technology-agnostic management commands into multiple management protocols | |
CN115357252B (zh) | 源码文件生成方法、装置、电子设备和存储介质 | |
WO2024016850A1 (zh) | 处理数据冲突的方法、系统、电子设备及计算机可读存储介质 | |
CN111367546A (zh) | 软件升级过程中实现xml配置文件升级处理的方法 | |
CN116737117A (zh) | 基于Autosar架构的模型开发方法 | |
CN101136780A (zh) | 获取用户命令信息的方法、系统及用户命令注册的装置 | |
WO2016197953A1 (zh) | 一种部署多模基站的方法及装置 | |
WO2021031110A1 (zh) | 配置文件生成方法及装置、存储介质 | |
WO2021022702A1 (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
CN106354966B (zh) | 芯片ide工程文件转换及快速配置仿真调试环境的方法 | |
US20080175268A1 (en) | method and system for providing interoperability of different version protocols without access to protocol specific code | |
CN109614084A (zh) | web程序及其快速开发框架、开发方法与相关设备 | |
CN108255849A (zh) | 将JavaBean转换成XML文件的方法、装置及系统 | |
CN115576706A (zh) | 与第三方系统对接的方法、装置、电子设备和可读介质 | |
CN113794583B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200703 |