CN105635277A - 提供升级包的方法与装置以及升级客户端的方法与装置 - Google Patents
提供升级包的方法与装置以及升级客户端的方法与装置 Download PDFInfo
- Publication number
- CN105635277A CN105635277A CN201511018284.8A CN201511018284A CN105635277A CN 105635277 A CN105635277 A CN 105635277A CN 201511018284 A CN201511018284 A CN 201511018284A CN 105635277 A CN105635277 A CN 105635277A
- Authority
- CN
- China
- Prior art keywords
- aku
- file
- client terminal
- version
- client
- 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
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]
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种提供升级包的方法与装置以及升级客户端的方法与装置,客户端升级时可通过已升级的客户端下载升级包且升级完后不需要重启即可生效。本发明提供升级包的方法包括升级包制作客户端升级所需的升级包,然后将该升级包发送给升级服务器;升级服务器接收并保存升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息;升级服务器接收客户端升级装置在收到版本变更消息后所发出的升级请求,在确定有已完成升级的在线的客户端时,将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种提供升级包的方法与装置以及升级客户端的方法与装置。
背景技术
随着JAVA语言的流行,越来越多的客户端程序都采用JAVA语言来编写,例如,大量的安卓手机中的应用程序。
在对这些客户端程序进行升级时,通常的做法都是从服务端上下载最新的全量包,对客户端进行全量替换,如果客户端程序体积比较庞大,那么由此带来的带宽的消耗将相当可观。事实上每次客户端升级时,只需将有改动的部分下载到客户端并执行替换即可,下载其它的未发生变化的内容只是白白浪费了宝贵的带宽。另外,当同时有大量的客户端访问升级服务器请求升级时,也会造成对升级服务器的压力过大,影响升级服务器的性能。
从以上的描述中,传统的客户端升级方法有以下几方面缺点:
1.客户端升级时采用全量升级方式,浪费用户带宽。
2.当有新的版本时,用户不能及时获取版本变更消息。
3.当有新版本发布时,大量需要进行客户端升级的用户同时访问升级服务器,易造成网络拥堵,增大了升级服务器的压力,影响升级服务器性能,进而影响了用户体验。
4.客户端升级完成后,需要重启客户端才能使升级生效。
发明内容
有鉴于此,本发明提供一种提供升级包的方法与装置以及升级客户端的方法与装置,用户在对客户端进行升级时,当已经有完成升级的其他客户端时,可直接通过已升级完的客户端下载升级包,无需从升级服务器下载,从而减轻升级服务器的负载压力;另外,用户在对自己的客户端升级时,只需将改动的部分下载并执行替换即可,从而避免了对用户带宽的浪费;同时,当有新的客户端版本时,用户能够及时得到版本更新消息,从而及时对客户端进行升级,并且升级完的客户端不需要重启就能生效,在一定程度上提高了用户对客户端的使用体验。
为实现上述目的,根据本发明的第一方面,提供了一种提供升级包的方法。
本发明的提供升级包的方法包括:升级包制作装置制作客户端升级所需的升级包,然后将该升级包发送给升级服务器;升级服务器接收并保存所述升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息;升级服务器接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求,在确定有已完成升级的在线的客户端时,将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置。
可选地,升级服务器接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求的步骤之后还包括:在确定没有已完成升级的在线的客户端时,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置。
可选地,升级包制作装置制作客户端升级所需的升级包的步骤包括:升级包制作装置查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包。
可选地,升级包制作装置查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包的步骤包括:升级包制作装置递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的文件,并判断两个客户端版本中的文件是否为同名文件,如果是同名文件,则继续对比两个同名文件的信息摘要算法5的值,该值相等则确定两个文件相同,否则确定所述变更是对文件进行了修改;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,若属于最新客户端程序,则确定所述变更是新增了文件,否则确定所述变更是删除了文件;将所述修改的内容压缩成设定格式的文件包;将所述设定格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件;所述升级包说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息;所述操作类型包括合并操作、增加操作、以及删除操作。
根据本发明的第二方面,提供了一种提供升级包的装置。
本发明的提供升级包的装置包括:升级包制作装置和升级服务器;升级包制作装置用于制作客户端升级所需的升级包,然后将该升级包发送给升级服务器;升级服务器用于接收并保存所述升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息,然后接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求,在确定有已完成升级的在线的客户端时,将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置。
可选地,还包括确定模块,设置于升级服务器中,用于在确定没有已完成升级的在线的客户端时,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置。
可选地,所述升级包制作装置还用于查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包。
可选地,所述升级包制作装置还用于递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的文件,并判断两个客户端版本中的文件是否为同名文件,如果是同名文件,则继续对比两个同名文件的信息摘要算法5的值,值相等则确定两个文件相同,否则确定所述变更是对文件进行了修改;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,属于最新客户端程序,则所述变更是新增了文件,否则确定所述变更是删除了文件;将所述修改的内容压缩成设定格式的文件包;将所述设定格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件;所述升级包说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息;所述操作类型包括合并操作、增加操作、以及删除操作。
根据本发明的第三方面,提供了一种升级包客户端的方法。
本发明的升级客户端的方法包括:客户端升级装置接收升级服务器所推送的版本变更消息,并将该版本变更消息中的版本与客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器发送升级请求;否则,保持当前客户端版本;客户端升级装置在确定所述版本变更消息中的版本比客户端版本高时,接收升级服务器所提供的已完成升级的在线的客户端地址列表,然后根据所述客户端地址列表下载所述升级包,以及使用该升级包对客户端进行升级。
可选地,使用该升级包对客户端进行升级的步骤之后包括:当其他未升级的客户端需要升级时,客户端升级装置将该升级包提供给与该客户端连接的其他未升级的客户端。
可选地,客户端升级装置在确定所述版本变更消息中的版本比客户端版本高的步骤之后包括:接收升级服务器所提供的的升级服务器中的升级包的下载地址,然后根据该升级服务器中的升级包的下载地址下载所述升级包,以及使用该升级包对客户端进行升级。
可选地,所述使用该升级包对用户客户端进行升级的步骤包括:客户端升级装置判断升级包中的文件是否为设定格式的文件,如果是,则将该设定格式的文件解压,然后根据升级包说明文件中的描述,找到该设定格式的文件所对应的客户端原始文件,将升级包中的设定格式的文件合并到该原始文件中从而得到合并文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;否则,根据升级包说明文件中文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行该操作类型的操作以完成客户端升级。
可选地,按照设定的方式加载合并后的文件的步骤包括:调用自定义加载器以销毁原始文件的子加载器,重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;所述自定义加载器的加载模式为子代优先加载。
可选地,所述客户端升级装置根据所述客户端地址列表下载所述升级包的步骤包括:客户端升级装置判断所述客户端地址列表是否有值,如果该客户端地址列表有值,则通过预设协议从该客户端地址列表中选择其他已经完成升级的客户端下载升级包;否则,从升级服务器中的升级包的下载地址下载所述升级包。
根据本发明的第四方面,提供了一种升级客户端的装置。
本发明的升级客户端的装置包括:接收模块和升级模块;所述接收模块用于将接收到的版本变更消息中的版本与客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器发送升级请求;否则,保持当前客户端版本;所述升级模块用于在确定所述版本变更消息中的版本比客户端版本高后,接收升级服务器所提供的已完成升级的在线的客户端地址列表,然后根据所述客户端地址列表下载所述升级包,以及使用该升级包对客户端进行升级。
可选地,还包括提供模块,用于当其他未升级的客户端需要升级时,将该升级包提供给与该客户端连接的其他未升级的客户端。
可选地,还包括获取模块,用于接收升级服务器所提供的的升级服务器中的升级包的下载地址,然后根据该升级服务器中的升级包的下载地址下载所述升级包,以及使用该升级包对客户端进行升级。
可选地,还包括判断模块,用于判断升级包中的文件是否为设定格式的文件,如果是,则将该设定格式的文件解压,然后根据升级包说明文件中的描述,找到该设定格式的文件所对应的用户客户端原始文件,将升级包中的设定格式的文件合并到该原始文件中从而得到合并文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;否则,根据升级包说明文件中文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行该操作类型的操作以完成客户端升级。
可选地,判断模块还用于调用自定义加载器以销毁原始文件的子加载器,重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;所述自定义加载器的加载模式为子代优先加载。
可选地,所述升级模块还用于当收到升级包的下载方式是已完成升级的在线的客户端地址列表时,判断所述客户端地址列表是否有值,如果该客户端地址列表有值,则通过预设协议从该客户端地址列表中选择其他已经完成升级的客户端下载升级包;否则,从升级服务器中的升级包的下载地址下载所述升级包。
根据本发明的技术方案,用户在对客户端进行升级时,当已经有完成升级的其他客户端时,可直接通过已升级完的客户端下载升级包,无需从升级服务器下载,因而减轻升级服务器的负载压力;另外,由于升级客户端的系统能够根据前后版本的变更文件制作成升级包,因而,用户客户端升级时只需将改动的部分下载并执行替换即可,从而避免了对用户带宽的浪费;并且,当有新的客户端版本时,用户能够及时得到版本更新消息,从而及时对客户端进行升级;另外,本方案采用了自定义的加载器,实现了在不需要重启客户端的前提下变更文件就能生效,在一定程度上提高了用户对客户端的使用体验。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种升级客户端的系统的示意图;
图2是根据本发明实施例的一种升级客户端的方法的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种升级客户端的系统的示意图。如图1所示,本发明实施例的升级客户端的系统10主要包括升级包制作装置11、升级服务器12、以及客户端升级装置13;所述升级包制作装置11用于查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包,再将该升级包发送给升级服务器12;所述升级服务器12用于接收并保存所述升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息,并在接收到客户端升级装置13发送的升级请求后,将所述升级包的下载方式发送给客户端升级装置13;所述客户端升级装置13用于将接收到的版本变更消息中的版本与用户客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器12发送升级请求;否则,保持当前客户端版本;然后在版本变更消息中的版本比客户端版本高时,根据升级服务器12提供的升级包的下载方式下载所述升级包,从而使用该升级包对客户端进行升级。
本发明实施例的升级客户端的系统10的升级包制作装置11还可用于递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的文件,并判断两个客户端版本中是否为同名文件,如果是同名文件,则继续对比两个同名文件的信息摘要算法5的值,值相等则确定两个文件相同,否则确定所述变更是对文件进行了修改;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,属于最新客户端程序,则为确定所述变更是新增了文件,否则确定所述变更是删除了文件;将所述修改的内容压缩成设定格式的文件包;将所述设定格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件;所述升级包说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息;所述操作类型包括合并操作、增加操作、以及删除操作;操作类型包括合并操作、增加操作、以及删除操作;合并操作是指将修改的内容按照文件的存放路径与该路径下的文件进行合并;增加操作是指将增加的文件按照文件的路径补充相应内容;删除操作是指根据文件的路径将对应的文件删除。
本发明实施例的升级客户端的系统10中的客户端升级装置13还可用于判断升级包中的文件是否为设定格式的文件,如果是,则将该设定格式的文件解压,然后根据升级包说明文件中的描述,找到该设定格式的文件所对应的用户客户端原始文件,将升级包中的设定格式的文件合并到该原始文件中从而得到合并文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;否则,根据升级包说明文件中文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行对应操作以完成客户端升级。
本发明实施例的升级客户端的系统10的客户端升级装置13还可用于调用自定义加载器以销毁原始文件的子加载器,重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;所述自定义加载器的加载模式为子代优先加载(即:当由于升级造成文件变化时,首先使用子加载器加载文件)。
本发明实施例的升级客户端的系统10的升级服务器还可用于查看当前是否有已完成升级的在线的客户端,如存在,则将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置,否则,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置13;且客户端升级装置13还可用于在当客户端升级装置13收到已完成升级的在线的客户端地址列表时,判断所述客户端地址列表是否有值,如果该客户端地址列表有值,则通过预设协议从客户端地址列表中选择其他已经完成升级的客户端下载升级包;否则,从升级服务器12中的升级包的下载地址下载所述升级包。在当客户端升级装置13收到升级包下载地址时,则根据该下载地址从升级服务器12下载升级包。
图2是根据本发明实施例的一种升级客户端的方法的示意图。如图2所示,本发明实施例由升级客户端的系统作为执行主体,以JAVA客户端升级为例进行说明,其中,升级包制作工具11和升级服务器12设置于服务端,客户端升级装置13设置于客户端,该方法主要包括如下的步骤S20至S24。
步骤S20:升级包制作装置11查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包,再将该升级包发送给升级服务器12。在该步骤中,版本之间存在的变更包括对文件进行修改、删除文件、以及增加文件;升级包制作装置11递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的所有文件,然后判断两个客户端版本中的文件是否为同名文件,如果是同名文件,继续对比两个同名文件的信息摘要算法5的值,值相等则说明两个文件里的内容相同,否则确定该文件所做的变更为修改了文件;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,如果属于最新客户端程序,则确定该文件所做的变更为新增了文件,否则确定该文件所做的变更为删除了文件;然后升级包制作装置11继续比较两个版本中所述修改文件发生变化的内容,并将修改的内容压缩成设定格式的文件包;在该实施例中,设定格式的文件包指的是jar格式的文件包,最后将所jar格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件packInfo.xml,该说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息等。升级包制作完成后,升级包制作装置11将升级包通过http、ftp或sftp等协议上传到升级服务器12上。
步骤S21:升级服务器接收并保存所述升级包,并根据该升级包的版本信息向客户端升级装置推送版本变更消息。
步骤S22:客户端升级装置将接收到的版本变更消息中的版本与用户客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器发送升级请求;否则,保持当前客户端版本。
步骤S23:升级服务器接收所述升级请求,并将所述升级包的下载方式发送给客户端升级装置。当升级服务器接收到客户端升级装置发送来的升级请求时,升级服务器查看当前是否有经已完成升级的在线的客户端,如存在,则将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置,否则,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置。
步骤S24:客户端升级装置根据所述下载方式下载所述升级包,并根据该升级包对客户端进行升级。当客户端升级装置收到已完成升级的在线的客户端列表时,判断所述客户端地址列表是否有值,如果客户端地址列表有值,则客户端升级装置从客户端地址列表中选择一个已经完成升级的客户端地址,再根据预设协议(例如,P2P协议)与该完成升级的客户端建立连接,从该已经完成升级的客户端中下载升级包;否则,从升级服务器中的升级包下载地址下载所述升级包。
当客户端升级装置13获取到升级包后,对升级包中的文件按类型分别处理,首先判断升级包中的文件是否为jar格式的文件,如果是,则将该设定格式的文件解压到给定的路径下,然后根据升级包中说明文件中packInfo.xml的描述,找到jar格式的文件所对应的用户客户端原始文件,将升级包中的jar格式的文件合并到原始文件中得到合并后的文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;在本发明实施例的技术方案中,采用了自定义的加载器,当由于客户端升级对jar格式的文件造成改变时,在jar格式的文件合并后,客户端升级装置调用自定义加载器销毁原始文件的子加载器,并重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;由于自定义加载器的加载模式为子代优先加载(即:当由于升级造成文件变化时,首先使用子加载器加载文件),因此,可以在用户不重启客户端的前提下完成设定格式的文件的替换。而对于升级包中其他格式的文件,则根据升级包说明文件中具体的文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行对应操作以完成客户端升级,如果文件无法完成对应操作则说明正在被使用,先将这些文件存放到暂存目录,并提示用户重启客户端,完成升级。
当上述客户端完成升级后,如果还有其他未升级的客户端需要升级时,此已经完成升级的客户端将该升级包提供给与该客户端连接的其他未升级的客户端。
根据本发明实施例的技术方案,用户在对客户端进行升级时,当已经有完成升级的其他客户端时,可直接通过已升级完的客户端下载升级包,无需从升级服务器下载,因而减轻升级服务器的负载压力;另外,由于升级客户端的系统能够根据前后版本的变更文件制作成升级包,因而,用户客户端升级时只需将改动的部分下载并执行替换即可,从而避免了对用户带宽的浪费;并且,当有新的客户端版本时,用户能够及时得到版本更新消息,从而及时对客户端进行升级;另外,本方案采用了自定义的加载器,实现了在不需要重启客户端的前提下变更文件就能生效,在一定程度上提高了用户对客户端的使用体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (20)
1.一种提供升级包的方法,其特征在于,包括:
升级包制作装置制作客户端升级所需的升级包,然后将该升级包发送给升级服务器;
升级服务器接收并保存所述升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息;
升级服务器接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求,在确定有已完成升级的在线的客户端时,将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置。
2.根据权利要求1所述的方法,其特征在于,升级服务器接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求的步骤之后还包括:在确定没有已完成升级的在线的客户端时,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置。
3.根据权利要求1所述的方法,其特征在于,升级包制作装置制作客户端升级所需的升级包的步骤包括:
升级包制作装置查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包。
4.根据权利要求3所述的方法,其特征在于,升级包制作装置查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包的步骤包括:
升级包制作装置递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的文件,并判断两个客户端版本中的文件是否为同名文件,如果是同名文件,则继续对比两个同名文件的信息摘要算法5的值,该值相等则确定两个文件相同,否则确定所述变更是对文件进行了修改;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,若属于最新客户端程序,则确定所述变更是新增了文件,否则确定所述变更是删除了文件;
将所述修改的内容压缩成设定格式的文件包;
将所述设定格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件;所述升级包说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息;所述操作类型包括合并操作、增加操作、以及删除操作。
5.一种提供升级包的装置,其特征在于,包括升级包制作装置和升级服务器;
升级包制作装置用于制作客户端升级所需的升级包,然后将该升级包发送给升级服务器;
升级服务器用于接收并保存所述升级包,并根据该升级包的版本信息向当前客户端升级装置推送版本变更消息,然后接收所述客户端升级装置在收到所述版本变更消息后所发出的升级请求,在确定有已完成升级的在线的客户端时,将已完成升级的在线的客户端地址列表作为升级包的下载方式返回给客户端升级装置。
6.根据权利要求5所述的装置,其特征在于,还包括确定模块,设置于升级服务器中,用于在确定没有已完成升级的在线的客户端时,将升级服务器中的升级包的下载地址作为升级包的下载方式返回给客户端升级装置。
7.根据权利要求5所述的装置,其特征在于,所述升级包制作装置还用于查找服务器中最新客户端程序与上一个版本客户端程序相比之间存在的变更,并根据该变更制作升级包。
8.根据权利要求7所述的装置,其特征在于,所述升级包制作装置还用于递归查找最新客户端程序与上一个版本客户端程序的目录及子目录下的文件,并判断两个客户端版本中的文件是否为同名文件,如果是同名文件,则继续对比两个同名文件的信息摘要算法5的值,值相等则确定两个文件相同,否则确定所述变更是对文件进行了修改;如果不是同名文件,则继续判断该文件属于哪个版本的客户端程序,属于最新客户端程序,则所述变更是新增了文件,否则确定所述变更是删除了文件;
将所述修改的内容压缩成设定格式的文件包;
将所述设定格式的文件包、新增的文件以及删除的文件按文件的存放路径压缩成升级包,并在升级包中生成升级包说明文件;所述升级包说明文件用于记录升级包的版本、文件的操作类型、以及存放路径信息;所述操作类型包括合并操作、增加操作、以及删除操作。
9.一种升级客户端的方法,其特征在于,包括:
客户端升级装置接收升级服务器所推送的版本变更消息,并将该版本变更消息中的版本与客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器发送升级请求;否则,保持当前客户端版本;
客户端升级装置在确定所述版本变更消息中的版本比客户端版本高后,接收升级服务器所提供的已完成升级的在线的客户端地址列表,然后根据所述客户端地址列表下载所述升级包,以及使用该升级包对客户端进行升级。
10.根据权利要求9所述的方法,其特征在于,使用该升级包对客户端进行升级的步骤之后包括:当其他未升级的客户端需要升级时,客户端升级装置将该升级包提供给与该客户端连接的其他未升级的客户端。
11.根据权利要求9所述的方法,其特征在于,客户端升级装置在确定所述版本变更消息中的版本比客户端版本高的步骤之后包括:接收升级服务器所提供的的升级服务器中的升级包的下载地址,然后根据该升级服务器中的升级包的下载地址下载所述升级包,以及使用该升级包对客户端进行升级。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述使用该升级包对用户客户端进行升级的步骤包括:
客户端升级装置判断升级包中的文件是否为设定格式的文件,如果是,则将该设定格式的文件解压,然后根据升级包说明文件中的描述,找到该设定格式的文件所对应的客户端原始文件,将升级包中的设定格式的文件合并到该原始文件中从而得到合并文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;否则,根据升级包说明文件中文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行该操作类型的操作以完成客户端升级。
13.根据权利要求12所述的方法,其特征在于,按照设定的方式加载合并后的文件的步骤包括:
调用自定义加载器以销毁原始文件的子加载器,重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;所述自定义加载器的加载模式为子代优先加载。
14.根据权利要求9所述的方法,其特征在于,所述客户端升级装置根据所述客户端地址列表下载所述升级包的步骤包括:
客户端升级装置判断所述客户端地址列表是否有值,如果该客户端地址列表有值,则通过预设协议从该客户端地址列表中选择其他已经完成升级的客户端下载升级包;否则,从升级服务器中的升级包的下载地址下载所述升级包。
15.一种升级客户端的装置,其特征在于,包括接收模块和升级模块;
所述接收模块用于将接收到的版本变更消息中的版本与客户端本身的版本进行比对,如果版本变更消息中的版本比客户端版本高,则向升级服务器发送升级请求;否则,保持当前客户端版本;
所述升级模块用于在确定所述版本变更消息中的版本比客户端版本高后,接收升级服务器所提供的已完成升级的在线的客户端地址列表,然后根据所述客户端地址列表下载所述升级包,以及使用该升级包对客户端进行升级。
16.根据权利要求15所述的装置,其特征在于,还包括提供模块,用于当其他未升级的客户端需要升级时,将该升级包提供给与该客户端连接的其他未升级的客户端。
17.根据权利要求15所述的装置,其特征在于,还包括获取模块,用于接收升级服务器所提供的的升级服务器中的升级包的下载地址,然后根据该升级服务器中的升级包的下载地址下载所述升级包,以及使用该升级包对客户端进行升级。
18.根据权利要求15至17中任一项所述的装置,其特征在于,还包括判断模块,用于判断升级包中的文件是否为设定格式的文件,如果是,则将该设定格式的文件解压,然后根据升级包说明文件中的描述,找到该设定格式的文件所对应的用户客户端原始文件,将升级包中的设定格式的文件合并到该原始文件中从而得到合并文件,并按照设定的方式加载该合并文件,完成设定格式的文件的替换;否则,根据升级包说明文件中文件的操作类型以及存放路径信息的描述,对该存放路径下的文件执行该操作类型的操作以完成客户端升级。
19.根据权利要求18所述的装置,其特征在于,判断模块还用于调用自定义加载器以销毁原始文件的子加载器,重新创建一个对应于该合并文件的子加载器以完成对合并后的文件的加载;所述自定义加载器的加载模式为子代优先加载。
20.根据权利要求15所述的装置,其特征在于,所述升级模块还用于判断所述客户端地址列表是否有值,如果该客户端地址列表有值,则通过预设协议从该客户端地址列表中选择其他已经完成升级的客户端下载升级包;否则,从升级服务器中的升级包的下载地址下载所述升级包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511018284.8A CN105635277A (zh) | 2015-12-30 | 2015-12-30 | 提供升级包的方法与装置以及升级客户端的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511018284.8A CN105635277A (zh) | 2015-12-30 | 2015-12-30 | 提供升级包的方法与装置以及升级客户端的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105635277A true CN105635277A (zh) | 2016-06-01 |
Family
ID=56049749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511018284.8A Pending CN105635277A (zh) | 2015-12-30 | 2015-12-30 | 提供升级包的方法与装置以及升级客户端的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635277A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867988A (zh) * | 2016-06-24 | 2016-08-17 | 深圳云之家网络有限公司 | 一种基于Hook技术的Android App热更新的方法及系统 |
CN106371875A (zh) * | 2016-08-31 | 2017-02-01 | 南威软件股份有限公司 | 一种基于html5的手机应用更新机制 |
CN107566425A (zh) * | 2016-06-23 | 2018-01-09 | 中兴通讯股份有限公司 | 一种升级包下载方法及装置 |
CN108008970A (zh) * | 2016-10-27 | 2018-05-08 | 腾讯科技(深圳)有限公司 | 应用升级方法及装置 |
CN108173774A (zh) * | 2018-02-27 | 2018-06-15 | 北京明朝万达科技股份有限公司 | 一种客户端的升级方法及系统 |
CN109032646A (zh) * | 2018-08-28 | 2018-12-18 | 杭州迪普科技股份有限公司 | 一种更新应用的方法、装置和系统 |
CN109697080A (zh) * | 2018-12-24 | 2019-04-30 | 普华基础软件股份有限公司 | 一种物联网操作系统在线升级方法 |
CN109857419A (zh) * | 2018-12-04 | 2019-06-07 | 视联动力信息技术股份有限公司 | 一种调度系统自动升级的方法和装置 |
CN113050958A (zh) * | 2019-12-26 | 2021-06-29 | 海能达通信股份有限公司 | 一种终端的升级方法、终端及服务器 |
CN114928603A (zh) * | 2022-05-16 | 2022-08-19 | 中国工商银行股份有限公司 | 客户端软件的升级方法、装置、电子设备和介质 |
CN115794853A (zh) * | 2023-02-03 | 2023-03-14 | 天翼云科技有限公司 | 政务数据资源目录的更新方法、装置、电子设备及介质 |
CN115865662A (zh) * | 2022-11-17 | 2023-03-28 | 四川启睿克科技有限公司 | 基于轻应用构架的智慧工厂app更新方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925403A (zh) * | 2005-09-02 | 2007-03-07 | 腾讯科技(深圳)有限公司 | 实现文件下载的网络通信系统及方法 |
CN101795203A (zh) * | 2009-02-03 | 2010-08-04 | 华为软件技术有限公司 | 软件升级数据包的下载方法和装置 |
CN102065110A (zh) * | 2009-11-12 | 2011-05-18 | 钟惠波 | 一种基于p2sp的客户端软件在线升级的方法和系统 |
CN102761599A (zh) * | 2012-05-10 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种分布式系统中升级文件分发方法 |
CN102929597A (zh) * | 2012-09-24 | 2013-02-13 | 摩卡软件(天津)有限公司 | 一种基于Java平台的Web业务支持方法和装置 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN103955363A (zh) * | 2014-04-08 | 2014-07-30 | 国云科技股份有限公司 | 一种程序升级安装包的制作方法 |
-
2015
- 2015-12-30 CN CN201511018284.8A patent/CN105635277A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925403A (zh) * | 2005-09-02 | 2007-03-07 | 腾讯科技(深圳)有限公司 | 实现文件下载的网络通信系统及方法 |
CN101795203A (zh) * | 2009-02-03 | 2010-08-04 | 华为软件技术有限公司 | 软件升级数据包的下载方法和装置 |
CN102065110A (zh) * | 2009-11-12 | 2011-05-18 | 钟惠波 | 一种基于p2sp的客户端软件在线升级的方法和系统 |
CN102761599A (zh) * | 2012-05-10 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种分布式系统中升级文件分发方法 |
CN102929597A (zh) * | 2012-09-24 | 2013-02-13 | 摩卡软件(天津)有限公司 | 一种基于Java平台的Web业务支持方法和装置 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN103955363A (zh) * | 2014-04-08 | 2014-07-30 | 国云科技股份有限公司 | 一种程序升级安装包的制作方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566425A (zh) * | 2016-06-23 | 2018-01-09 | 中兴通讯股份有限公司 | 一种升级包下载方法及装置 |
CN105867988A (zh) * | 2016-06-24 | 2016-08-17 | 深圳云之家网络有限公司 | 一种基于Hook技术的Android App热更新的方法及系统 |
CN106371875A (zh) * | 2016-08-31 | 2017-02-01 | 南威软件股份有限公司 | 一种基于html5的手机应用更新机制 |
CN108008970A (zh) * | 2016-10-27 | 2018-05-08 | 腾讯科技(深圳)有限公司 | 应用升级方法及装置 |
CN108173774B (zh) * | 2018-02-27 | 2021-05-14 | 北京明朝万达科技股份有限公司 | 一种客户端的升级方法及系统 |
CN108173774A (zh) * | 2018-02-27 | 2018-06-15 | 北京明朝万达科技股份有限公司 | 一种客户端的升级方法及系统 |
CN109032646A (zh) * | 2018-08-28 | 2018-12-18 | 杭州迪普科技股份有限公司 | 一种更新应用的方法、装置和系统 |
CN109032646B (zh) * | 2018-08-28 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种更新应用的方法、装置和系统 |
CN109857419A (zh) * | 2018-12-04 | 2019-06-07 | 视联动力信息技术股份有限公司 | 一种调度系统自动升级的方法和装置 |
CN109857419B (zh) * | 2018-12-04 | 2022-06-17 | 视联动力信息技术股份有限公司 | 一种调度系统自动升级的方法和装置 |
CN109697080A (zh) * | 2018-12-24 | 2019-04-30 | 普华基础软件股份有限公司 | 一种物联网操作系统在线升级方法 |
CN109697080B (zh) * | 2018-12-24 | 2023-05-02 | 普华基础软件股份有限公司 | 一种物联网操作系统在线升级方法 |
CN113050958A (zh) * | 2019-12-26 | 2021-06-29 | 海能达通信股份有限公司 | 一种终端的升级方法、终端及服务器 |
CN114928603A (zh) * | 2022-05-16 | 2022-08-19 | 中国工商银行股份有限公司 | 客户端软件的升级方法、装置、电子设备和介质 |
CN114928603B (zh) * | 2022-05-16 | 2024-01-30 | 中国工商银行股份有限公司 | 客户端软件的升级方法、装置、电子设备和介质 |
CN115865662A (zh) * | 2022-11-17 | 2023-03-28 | 四川启睿克科技有限公司 | 基于轻应用构架的智慧工厂app更新方法 |
CN115794853A (zh) * | 2023-02-03 | 2023-03-14 | 天翼云科技有限公司 | 政务数据资源目录的更新方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635277A (zh) | 提供升级包的方法与装置以及升级客户端的方法与装置 | |
CN110913015B (zh) | 一种云手机app的分布式快捷安装方法、系统及介质 | |
CN105099988B (zh) | 用于支持灰度发布的方法、访问方法以及装置和系统 | |
CN105554736B (zh) | 用于动态地配置应用接入点设置的系统、设备和方法 | |
US20210400107A1 (en) | Method, device and system for downloading data block of resource file | |
CN106815370B (zh) | 更新资源文件的方法、装置和系统 | |
CN102571940B (zh) | 应用程序远程安装系统、方法、智能终端、应用服务器 | |
CN111385112B (zh) | 切片资源部署方法、装置、切片管理器和计算机存储介质 | |
CN109582684A (zh) | 一种本地缓存数据的更新方法、装置、服务器及存储介质 | |
CN105812435B (zh) | 应用升级数据包处理方法、装置、电子设备及系统 | |
KR20150135845A (ko) | 통신 네트워크에서 성능 개선을 위한 방법 및 장치 | |
CN105208127A (zh) | 一种网页缓存处理方法及系统以及智能终端 | |
CN107181804B (zh) | 资源的下载方法和装置 | |
CN106201577B (zh) | 一种更新Lua文件的方法及装置 | |
WO2012151993A1 (zh) | 业务推送方法和装置 | |
CN103701914B (zh) | 连载资源的离线下载方法和装置 | |
CN101656739B (zh) | 组件更新方法、系统及设备 | |
CN104935668A (zh) | 分布式文件系统及其数据同步的方法 | |
KR100663497B1 (ko) | 휴대단말기에 서비스정보 알림방법 | |
CN104838379A (zh) | 数据库同步 | |
CN104580506B (zh) | 离线地图数据的获取方法、云端服务器及客户端 | |
CN103227836A (zh) | 离线下载方法和离线下载服务器 | |
US20220326940A1 (en) | Service Upgrade Method, Apparatus, and System | |
CN105530630B (zh) | 一种ota升级方法和设备 | |
CN104902432A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |