CN108989074A - 程序升级方法和程序升级装置 - Google Patents
程序升级方法和程序升级装置 Download PDFInfo
- Publication number
- CN108989074A CN108989074A CN201710413344.9A CN201710413344A CN108989074A CN 108989074 A CN108989074 A CN 108989074A CN 201710413344 A CN201710413344 A CN 201710413344A CN 108989074 A CN108989074 A CN 108989074A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- version number
- program
- template file
- file
- 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 39
- 238000013515 script Methods 0.000 claims abstract description 75
- 238000005538 encapsulation Methods 0.000 claims abstract description 24
- 238000004806 packaging method and process Methods 0.000 claims description 15
- 230000008676 import Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
本发明提供了一种程序升级方法和程序升级系统,其中,程序升级方法包括:在获取升级指令后,获取服务器发送的升级模板文件;解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。通过本发明的技术方案,实现了程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。
Description
技术领域
本发明涉及程序升级技术领域,具体而言,涉及一种程序升级方法和一种程序升级装置。
背景技术
C/S又称Client/Server或客户/服务器模式,其中,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer,客户端需要安装专用的客户端软件。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,其优点就是客户端响应速度快,其缺点主要有以下几个:
(1)只适用于局域网,而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性,这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
(2)客户端需要安装专用的客户端软件,首先,涉及到安装的工作量,其次,任何一台电脑出问题,如病毒、硬件损坏,或客户端的软件升级时,每一台客户机需要重新安装,都需要技术人员在现场进行安装或维护,维护成本过高。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种程序升级方法。
本发明的另一个目的在于提出了一种程序升级装置。
为了实现上述目的,根据本发明的第一方面的技术方案,提出了一种程序升级方法,包括:在获取升级指令后,获取服务器发送的升级模板文件;解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。
根据本发明技术方案的程序升级方法,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。
其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml(ExtensiveMakeup Language,可扩展标示语言)格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。
另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装JAVA脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。
根据本发明上述技术方案的程序升级方法,还可以具有如下附加技术特征:
在上述技术方案中,优选地,在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,具体包括:在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的JAVA更新指令;在执行完JAVA更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。
在该技术方案中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的JAVA更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了C/S系统的客户端程序的维护成本和升级成本。
其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。
在上述任一技术方案中,优选地,还包括:在检测本地未存储有目录文件夹时,导入升级模板文件;采用DOM技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
在该技术方案中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用DOM解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
其中,DOM(Document Object Model,文档对象模型)的解析包括以下步骤:
(1)扫描xml文件并全部装载至内存;
(2)在内存中构建一树状数据结构;
(3)对树状结构进行遍历解析。
显而易见,由于版本号以xml格式编写,对于xml文件解析来说,DOM的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。
在上述任一技术方案中,优选地,还包括:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。
在该技术方案中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。
在上述任一技术方案中,优选地,还包括:在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。
在该技术方案中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。
根据本发明的第二方面的技术方案,提出了一种程序升级装置,包括:获取单元,用于在获取升级指令后,获取服务器发送的升级模板文件;解析单元,用于解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;更新单元,用于在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。
根据本发明技术方案的程序升级装置,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。
其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。
另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装JAVA脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。
在上述任一技术方案中,优选地,更新单元具体包括:检测子单元,用于在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;判断子单元,用于在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;加载子单元,用于在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的JAVA更新指令;更新单元还用于:在执行完JAVA更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。
在该技术方案中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的JAVA更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了C/S系统的客户端程序的维护成本和升级成本。
其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。
在上述任一技术方案中,优选地,还包括:导入单元,用于在检测本地未存储有目录文件夹时,导入升级模板文件;创建单元,用于采用DOM技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
在该技术方案中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用DOM解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
其中,DOM(Document Object Model,文档对象模型)的解析包括以下步骤:
(1)扫描xml文件并全部装载至内存;
(2)在内存中构建一树状数据结构;
(3)对树状结构进行遍历解析。
显而易见,由于版本号以xml格式编写,对于xml文件解析来说,DOM的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。
在上述任一技术方案中,优选地,还包括:更新单元还用于:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。
在该技术方案中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。
在上述任一技术方案中,优选地,还包括:写入单元,用于在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。
在该技术方案中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的程序升级方法的流程示意图;
图2示出了根据本发明的另一个实施例的程序升级方法的流程示意图;
图3示出了根据本发明的再一个实施例的程序升级方法的流程示意图;
图4示出了根据本发明的再一个实施例的程序升级方法的流程示意图;
图5示出了根据本发明的一个实施例的程序升级装置的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的程序升级方法的流程示意图。
如图1所示,根据本发明的一个实施例的程序升级方法,包括:步骤102,在获取升级指令后,获取服务器发送的升级模板文件;步骤104,解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;步骤106,在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。
根据本发明实施例的程序升级方法,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。
其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。
另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装JAVA脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。
以xml格式编写版本号的一个实施例如下所示,版本号为“1.0”,具体如下所示:
图2示出了根据本发明的另一个实施例的程序升级方法的流程示意图。
如图2所示,在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,具体包括:步骤1062,在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;步骤1064,在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;步骤1066,在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的JAVA更新指令;步骤1068,在执行完JAVA更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。
在该实施例中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的JAVA更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了C/S系统的客户端程序的维护成本和升级成本。
其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。
图3示出了根据本发明的再一个实施例的程序升级方法的流程示意图。
如图3所示,根据本发明的再一个实施例的程序升级方法,还包括:步骤302,在检测本地未存储有目录文件夹时,导入升级模板文件;步骤304,采用DOM技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
在该实施例中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用DOM解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
其中,DOM(Document Object Model,文档对象模型)的解析包括以下步骤:
(1)扫描xml文件并全部装载至内存;
(2)在内存中构建一树状数据结构;
(3)对树状结构进行遍历解析。
显而易见,由于版本号以xml格式编写,对于xml文件解析来说,DOM的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。
在上述任一实施例中,优选地,还包括:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。
在该实施例中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。
在上述任一技术方案中,优选地,还包括:在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。
在该实施例中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。
图4示出了根据本发明的再一个实施例的程序升级方法的流程示意图。
如图4所示,根据本发明的再一个实施例的程序升级方法,具体包括:步骤402,判断是否是第一次升级,若是,则执行步骤404,若否,则执行步骤406;步骤404,保存当前版本号;步骤406,比较当前版本与最新版本;步骤408,读取较高版本的配置文件;步骤410,执行脚本指令。
具体地,第一种情况:获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,检测本地是否存储匹配的目录文件夹,未发现存储有目录文件夹判断系统是第一次升级,保存新版本号,根据升级模板文件中的配置信息更新本地的配置文件,并解析封装脚本,以完成程序的远程自动升级。
第二种情况:检测本地存储有目录文件夹判断系统不是第一次升级,则比较当前版本号与新版本号,判定当前版本号低于新版本号时,根据升级模板文件中的配置信息更新本地的配置文件,再解析封装脚本,以完成程序的远程自动升级
图5示出了根据本发明的一个实施例的程序升级装置的示意框图。
如图5所示,根据本发明的一个实施例的程序升级装置500,包括:包括:获取单元502,用于在获取升级指令后,获取服务器发送的升级模板文件;解析单元504,用于解析升级模板文件中的版本号、封装脚本和配置信息;更新单元506,用于根据版本号确定是否解析封装脚本,并根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。
根据本发明的一个实施例的程序升级装置500,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。
其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。
另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装JAVA脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。
以xml格式编写版本号的一个实施例如下所示,版本号为“1.0”,具体如下所示:
在上述实施例中,优选地,更新单元506具体包括:检测子单元5062,用于在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;判断子单元5064,用于在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;加载子单元5066,用于在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的JAVA更新指令;更新单元506还用于:在执行完JAVA更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。
在该实施例中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的JAVA更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了C/S系统的客户端程序的维护成本和升级成本。
其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。
在上述实施例中,优选地,还包括:导入单元508,用于在检测本地未存储有目录文件夹时,导入升级模板文件;创建单元510,用于采用DOM技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
在该实施例中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用DOM解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的JAVA更新指令。
其中,DOM(Document Object Model,文档对象模型)的解析包括以下步骤:
(1)扫描xml文件并全部装载至内存;
(2)在内存中构建一树状数据结构;
(3)对树状结构进行遍历解析。
显而易见,由于版本号以xml格式编写,对于xml文件解析来说,DOM的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。
在上述实施例中,优选地,还包括:更新单元506还用于:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。
在该实施例中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。
在上述实施例中,优选地,还包括:写入单元512,用于在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。
在该实施例中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的JAVA更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了C/S系统的客户端程序的维护成本和升级成本。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种程序升级方法,其特征在于,包括:
在获取升级指令后,获取服务器发送的升级模板文件;
解析所述升级模板文件中的版本号、封装脚本和配置信息,以根据所述版本号确定是否解析所述封装脚本;
在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,
其中,所述版本号以xml格式编写。
2.根据权利要求1所述的程序升级方法,其特征在于,在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,具体包括:
在获取所述升级模板文件后,检测本地是否存储有与所述升级模板文件匹配的目录文件夹;
在检测本地存储有所述目录文件夹时,判断所述目录文件夹中的版本号是否低于所述升级模板文件中的版本号;
在判定所述本地的版本号低于所述升级模板文件中的版本号时,解析所述封装脚本,在所述目录文件夹中加载所述封装脚本中的JAVA更新指令;
在执行完所述JAVA更新指令后,根据所述配置信息更新本地的配置文件,以完成所述程序升级。
3.根据权利要求2所述的程序升级方法,其特征在于,还包括:
在检测本地未存储有所述目录文件夹时,导入所述升级模板文件;
采用DOM技术解析所述升级模板文件的版本号,并创建匹配的目录文件夹,在所述目录文件夹中加载所述封装脚本中的JAVA更新指令。
4.根据权利要求1至3中任一项所述的程序升级方法,其特征在于,还包括:
在完成所述程序升级后,更新所述目录文件夹的版本号为所述升级模板文件中的版本号。
5.根据权利要求1至3中任一项所述的程序升级方法,其特征在于,还包括:
在完成所述程序升级后,将所述程序的更新内容写入所述目录文件夹中的日志文档中。
6.一种程序升级装置,其特征在于,包括:
获取单元,用于在获取升级指令后,获取服务器发送的升级模板文件;
解析单元,用于解析所述升级模板文件中的版本号、封装脚本和配置信息,以根据所述版本号确定是否解析所述封装脚本;
更新单元,用于在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,
其中,所述版本号以xml格式编写。
7.根据权利要求6所述的程序升级装置,其特征在于,
所述更新单元具体包括:
检测子单元,用于在获取所述升级模板文件后,检测本地是否存储有与所述升级模板文件匹配的目录文件夹;
判断子单元,用于在检测本地存储有所述目录文件夹时,判断所述目录文件夹中的版本号是否低于所述升级模板文件中的版本号;
加载子单元,用于在判定所述本地的版本号低于所述升级模板文件中的版本号时,解析所述封装脚本,在所述目录文件夹中加载所述封装脚本中的JAVA更新指令;
所述更新单元还用于:在执行完所述JAVA更新指令后,根据所述配置信息更新本地的配置文件,以完成所述程序升级。
8.根据权利要求7所述的程序升级装置,其特征在于,还包括:
导入单元,用于在检测本地未存储有所述目录文件夹时,导入所述升级模板文件;
创建单元,用于采用DOM技术解析所述升级模板文件的版本号,并创建匹配的目录文件夹,在所述目录文件夹中加载所述封装脚本中的JAVA更新指令。
9.根据权利要求6至8中任一项所述的程序升级装置,其特征在于,
所述更新单元还用于:在完成所述程序升级后,更新所述目录文件夹的版本号为所述升级模板文件中的版本号。
10.根据权利要求6至8中任一项所述的程序升级装置,其特征在于,还包括:
写入单元,用于在完成所述程序升级后,将所述程序的更新内容写入所述目录文件夹中的日志文档中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710413344.9A CN108989074A (zh) | 2017-06-05 | 2017-06-05 | 程序升级方法和程序升级装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710413344.9A CN108989074A (zh) | 2017-06-05 | 2017-06-05 | 程序升级方法和程序升级装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108989074A true CN108989074A (zh) | 2018-12-11 |
Family
ID=64501683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710413344.9A Pending CN108989074A (zh) | 2017-06-05 | 2017-06-05 | 程序升级方法和程序升级装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989074A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258605A (zh) * | 2020-01-14 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 渠道客户端的通用升级方法、装置、计算机设备和存储介质 |
CN114090114A (zh) * | 2021-10-28 | 2022-02-25 | 中国航发控制系统研究所 | 机载设备的软件加载控制方法及系统 |
CN114115952A (zh) * | 2021-11-30 | 2022-03-01 | 苏州瀚码智能技术有限公司 | 一种低代码应用打包后自动升级的方法及装置 |
CN115145598A (zh) * | 2022-06-17 | 2022-10-04 | 云知声智能科技股份有限公司 | 一种更新服务的方法、装置、电子设备和存储介质 |
CN116009912A (zh) * | 2022-12-26 | 2023-04-25 | 郑州云智信安安全技术有限公司 | 针对私网环境的自动生成升级包的构建方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541596A (zh) * | 2011-12-22 | 2012-07-04 | 中标软件有限公司 | 一种操作系统升级方法及装置 |
CN105224344A (zh) * | 2014-05-28 | 2016-01-06 | 济南政和科技有限公司 | 一种基于xml实现的软件升级文件配置方法 |
-
2017
- 2017-06-05 CN CN201710413344.9A patent/CN108989074A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541596A (zh) * | 2011-12-22 | 2012-07-04 | 中标软件有限公司 | 一种操作系统升级方法及装置 |
CN105224344A (zh) * | 2014-05-28 | 2016-01-06 | 济南政和科技有限公司 | 一种基于xml实现的软件升级文件配置方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258605A (zh) * | 2020-01-14 | 2020-06-09 | 深圳壹账通智能科技有限公司 | 渠道客户端的通用升级方法、装置、计算机设备和存储介质 |
CN114090114A (zh) * | 2021-10-28 | 2022-02-25 | 中国航发控制系统研究所 | 机载设备的软件加载控制方法及系统 |
CN114090114B (zh) * | 2021-10-28 | 2023-05-23 | 中国航发控制系统研究所 | 机载设备的软件加载控制方法及系统 |
CN114115952A (zh) * | 2021-11-30 | 2022-03-01 | 苏州瀚码智能技术有限公司 | 一种低代码应用打包后自动升级的方法及装置 |
CN115145598A (zh) * | 2022-06-17 | 2022-10-04 | 云知声智能科技股份有限公司 | 一种更新服务的方法、装置、电子设备和存储介质 |
CN116009912A (zh) * | 2022-12-26 | 2023-04-25 | 郑州云智信安安全技术有限公司 | 针对私网环境的自动生成升级包的构建方法 |
CN116009912B (zh) * | 2022-12-26 | 2023-08-18 | 郑州云智信安安全技术有限公司 | 针对私网环境的自动生成升级包的构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069572B (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
US11032140B2 (en) | Using a template to update a stack of resources | |
US8667031B2 (en) | Reuse of shared metadata across applications via URL protocol | |
US8321450B2 (en) | Standardized database connectivity support for an event processing server in an embedded context | |
US8782604B2 (en) | Sandbox support for metadata in running applications | |
US8387076B2 (en) | Standardized database connectivity support for an event processing server | |
WO2019140828A1 (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN108989074A (zh) | 程序升级方法和程序升级装置 | |
WO2012034440A1 (zh) | 一种数据库升级脚本的生成方法和装置 | |
CN102662966B (zh) | 一种面向主题的获取动态页面内容的方法及系统 | |
CN112559354A (zh) | 前端代码规范检测方法、装置、计算机设备及存储介质 | |
CN104679527A (zh) | 虚拟机镜像离线升级方法 | |
CN104468189B (zh) | 一种针对不同客户版本自动升级bios的方法 | |
CN104598570B (zh) | 资源的抓取方法及装置 | |
WO2020010724A1 (zh) | 前端静态资源的管理方法、装置、计算机设备及存储介质 | |
CN105704177A (zh) | 一种ua识别方法、装置 | |
CN113051329B (zh) | 基于接口的数据采集方法、装置、设备及存储介质 | |
US10129328B2 (en) | Centralized management of webservice resources in an enterprise | |
WO2014055438A1 (en) | Reference data segmentation from single to multiple tables | |
CN119322802A (zh) | 一种业务系统与第三方数据库的交互方法、装置、介质及系统 | |
CN118467644A (zh) | SQL Server数据库事务日志分析DDL操作方法、装置、设备及介质 | |
CN106293862B (zh) | 一种可扩展标记语言xml数据的解析方法和装置 | |
US8615751B2 (en) | Seeding product information | |
CN111782244A (zh) | 配置文件的更新方法、装置、计算机设备及存储介质 | |
CN116737693A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181211 |