程序升级方法和程序升级装置与流程

文档序号:16245070发布日期:2018-12-11 23:29阅读:223来源:国知局
程序升级方法和程序升级装置与流程

本发明涉及程序升级技术领域,具体而言,涉及一种程序升级方法和一种程序升级装置。

背景技术

c/s又称client/server或客户/服务器模式,其中,服务器通常采用高性能的pc、工作站或小型机,并采用大型数据库系统,如oracle、sybase、informix或sqlserver,客户端需要安装专用的客户端软件。

c/s的优点是能充分发挥客户端pc的处理能力,很多工作可以在客户端处理后再提交给服务器,其优点就是客户端响应速度快,其缺点主要有以下几个:

(1)只适用于局域网,而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性,这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

(2)客户端需要安装专用的客户端软件,首先,涉及到安装的工作量,其次,任何一台电脑出问题,如病毒、硬件损坏,或客户端的软件升级时,每一台客户机需要重新安装,都需要技术人员在现场进行安装或维护,维护成本过高。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的一个目的在于提出了一种程序升级方法。

本发明的另一个目的在于提出了一种程序升级装置。

为了实现上述目的,根据本发明的第一方面的技术方案,提出了一种程序升级方法,包括:在获取升级指令后,获取服务器发送的升级模板文件;解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。

根据本发明技术方案的程序升级方法,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。

其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml(extensivemakeuplanguage,可扩展标示语言)格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。

另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装java脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。

根据本发明上述技术方案的程序升级方法,还可以具有如下附加技术特征:

在上述技术方案中,优选地,在根据所述版本号解析所述封装脚本时,根据所述升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,具体包括:在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的java更新指令;在执行完java更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。

在该技术方案中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的java更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了c/s系统的客户端程序的维护成本和升级成本。

其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。

在上述任一技术方案中,优选地,还包括:在检测本地未存储有目录文件夹时,导入升级模板文件;采用dom技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的java更新指令。

在该技术方案中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用dom解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的java更新指令。

其中,dom(documentobjectmodel,文档对象模型)的解析包括以下步骤:

(1)扫描xml文件并全部装载至内存;

(2)在内存中构建一树状数据结构;

(3)对树状结构进行遍历解析。

显而易见,由于版本号以xml格式编写,对于xml文件解析来说,dom的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。

在上述任一技术方案中,优选地,还包括:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。

在该技术方案中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。

在上述任一技术方案中,优选地,还包括:在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。

在该技术方案中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。

根据本发明的第二方面的技术方案,提出了一种程序升级装置,包括:获取单元,用于在获取升级指令后,获取服务器发送的升级模板文件;解析单元,用于解析升级模板文件中的版本号、封装脚本和配置信息,以根据版本号确定是否解析封装脚本;更新单元,用于在根据版本号解析封装脚本时,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级,其中,版本号以xml格式编写。

根据本发明技术方案的程序升级装置,待升级的低版本程序在获取版本升级指令后,通过获取服务器发送的升级模板文件,并解析升级模板文件得到版本号、封装脚本和配置信息,判断系统当前版本号低于最新版本号时,得知需要进行升级操作,再解析封装脚本,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,提高了程序升级的安全性和效率,降低了升级成本和繁琐度。

其中,升级指令的获取方式可以为启动程序时强制进行或客户端请求,升级模版文件的获取方式为从服务器端发送下载至本地,升级模版文件的获取速度与当时的网络状况有关,自动升级过程中本地程序的相关进程会停止运行,程序的版本号以xml格式编写,且可以编写多个版本元素的标签,以实现跨版本升级。

另外,值得特征指出的是,上述解析操作具体包括:程序会自动解析这个数据库文件中代表sql语句的自定义元素标签(用于封装java脚本),依次进行执行;直接读取需要导入的配置文件,根据语义指令更新数据库。

在上述任一技术方案中,优选地,更新单元具体包括:检测子单元,用于在获取升级模板文件后,检测本地是否存储有与升级模板文件匹配的目录文件夹;判断子单元,用于在检测本地存储有目录文件夹时,判断目录文件夹中的版本号是否低于升级模板文件中的版本号;加载子单元,用于在判定本地的版本号低于升级模板文件中的版本号时,解析封装脚本,在目录文件夹中加载封装脚本中的java更新指令;更新单元还用于:在执行完java更新指令后,根据升级模板文件中的配置信息更新本地的配置文件,以完成程序升级。

在该技术方案中,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的java更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了c/s系统的客户端程序的维护成本和升级成本。

其中,本地目录文件夹存在时,其包含低版本程序的版本号、已解析脚本文件和配置文件等。

在上述任一技术方案中,优选地,还包括:导入单元,用于在检测本地未存储有目录文件夹时,导入升级模板文件;创建单元,用于采用dom技术解析升级模板文件的版本号,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的java更新指令。

在该技术方案中,通过检测得知本地没有目录文件,即当前没有低版本程序的相关文件时(比如第一次升级时),采用dom解析技术直接解析升级模版文件获得版本号,特别地,此时程序升级不进行版本号的判定操作,新版本号备程序下次升级时判断使用,并创建匹配的目录文件夹,在目录文件夹中加载封装脚本中的java更新指令。

其中,dom(documentobjectmodel,文档对象模型)的解析包括以下步骤:

(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(documentobjectmodel,文档对象模型)的解析包括以下步骤:

(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(documentobjectmodel,文档对象模型)的解析包括以下步骤:

(1)扫描xml文件并全部装载至内存;

(2)在内存中构建一树状数据结构;

(3)对树状结构进行遍历解析。

显而易见,由于版本号以xml格式编写,对于xml文件解析来说,dom的优点在于解析简单,只需要找到相应节点然后获取节点数据即可完成解析操作,因此,升级模板文件中的版本号的解析非常便捷且高效。

在上述实施例中,优选地,还包括:更新单元506还用于:在完成程序升级后,更新目录文件夹的版本号为升级模板文件中的版本号。

在该实施例中,由于版本号的判定决定是否进行程序升级,为避免程序重复升级,在完成程序自动升级后,需要更新目录文件夹中的版本号以替换为新版本号。

在上述实施例中,优选地,还包括:写入单元512,用于在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档中。

在该实施例中,日志文档记录了程序的更新相关信息等,为便于程序的维护、问题定位以及在完成程序升级后向用户展示升级的状态信息,需要在完成程序升级后,将程序的更新内容写入目录文件夹中的日志文档。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,通过解析升级模板文件得到版本号、封装脚本和配置信息,在检测到本地存储有目录文件夹,且判定目录文件夹中的版本号低于升级模板文件中的版本号时,需要进行升级操作,再在目录文件夹中加载封装脚本中的java更新指令、根据升级模板文件中的配置信息更新本地的配置文件,以完成程序的远程自动升级,降低了c/s系统的客户端程序的维护成本和升级成本。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1