CN111367546A - 软件升级过程中实现xml配置文件升级处理的方法 - Google Patents

软件升级过程中实现xml配置文件升级处理的方法 Download PDF

Info

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
Application number
CN202010119059.8A
Other languages
English (en)
Inventor
曹晨光
刘金花
侯斐
朱鸣岐
段利泉
程杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongfeng Electronic Technology Co ltd
Original Assignee
Dongfeng Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongfeng Electronic Technology Co ltd filed Critical Dongfeng Electronic Technology Co ltd
Priority to CN202010119059.8A priority Critical patent/CN111367546A/zh
Publication of CN111367546A publication Critical patent/CN111367546A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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配置文件升级处理的方法如下:
该软件升级过程中实现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的结构如下:
Figure BDA0002392396590000031
其对应的数据模型canSlotModel如下:
Version<major>.<minor>
list slotList<mode,type,mask>
其中,slotList中的每个slot数据包含信息列表,每个信息以ID标识:msg<msgId>canMessages.xml的结构如下:
Figure BDA0002392396590000032
其对应的数据模型canMessageModel如下:
Version<major>.<minor>
list messageList<canMessage>
其中,messageList中的每条canMessage包含Id等其它信息。
引用关系为:对于每个canSlot中包含的messageId,一定能在canMessages中的messageList中找到Id相同的canMessage.
现在考虑工程需要增加多路CAN的支持。canSlot.xml的结构变更为:
Figure BDA0002392396590000041
其对应的数据模型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)。
CN202010119059.8A 2020-02-26 2020-02-26 软件升级过程中实现xml配置文件升级处理的方法 Withdrawn CN111367546A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658119A (zh) * 2022-12-26 2023-01-31 北京沃德博创信息科技有限公司 一种根据软件版本迁移配置数据的方法

Citations (10)

* Cited by examiner, † Cited by third party
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 中兴通讯股份有限公司 基站数据升级方法、基站和计算机可读介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张宇杰: "基于Android平台的智能手机多包连续升级技术改进与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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