CN102541593A - 一种远程文件的版本快速比对方法 - Google Patents
一种远程文件的版本快速比对方法 Download PDFInfo
- Publication number
- CN102541593A CN102541593A CN2011104291182A CN201110429118A CN102541593A CN 102541593 A CN102541593 A CN 102541593A CN 2011104291182 A CN2011104291182 A CN 2011104291182A CN 201110429118 A CN201110429118 A CN 201110429118A CN 102541593 A CN102541593 A CN 102541593A
- Authority
- CN
- China
- Prior art keywords
- program
- version information
- client
- information file
- service end
- 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
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种远程文件的版本快速比对方法,包括如下步骤:10、在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;20、所述客户端下载服务端的统一版本信息文件;30、客户端将下载的统一版本信息文件与本地的统一版本信息文件进行程序的一一对比,若对比一致,则继续对比下一程序,若对比不一致,则通知客户端下载更新该本地程序,然后再对比下一程序,直至所有程序对比完毕;40、客户端请求下载需要更新的程序,将下载的程序覆盖替换掉原本的程序,并根据下载更新的本地程序生成客户端的统一版本信息文件。本发明能够减轻服务端上的运算负担,实现客户端与服务端之间程序的快速对比。
Description
【技术领域】
本发明涉及一种计算机程序领域中关于远程文件的版本比对方法。
【背景技术】
目前,大部分企业应用计算机程序皆采用CS结构(服务器,客户端)进行部署。在CS(服务器,客户端)结构下,由于计算机程序本身的版本更新,很多应用程序都会采用新版本的程序首先部署到服务端,各客户端从服务端自动下载最新程序已达到更新本地程序至最新版本的方法。同时,为了保证客户端程序是否与服务端程序一致,均要让客户端程序与服务端程序进行对比,已确认版本是否一致,是否需要更新。
客户端的企业应用计算机程序一般包括若干个计算机程序和相关的程序依赖库。如图1,在进行程序对比时,往往是客户端的各程序和依赖库逐一与服务端的对应程序文件进行对比,判断程序版本是否一致,这就导致了各客户端首先要连接至服务端,上传客户端各程序的版本信息,在服务端上进行版本对比,如版本不一致通知客户端做好下载准备,客户端下载最新程序版本,已便对客户端本地程序进行版本更新。
由于部署时服务端可能只有一台或少量,可往往存在大量的对应客户端,数量好几倍于服务端,如果所有的客户端版本对比均在服务端进行,会极大的加重服务端的负担且服务端与客户端间要多次通讯连接才能达到版本更新的目的,为此现有的方法会加重服务端及相关通讯网络的负担,产生过多的运算。
因此,存在着以下两个主要缺点:
缺点1:客户端连接至服务器后,需将客户端上的程序逐一与服务器上程序进行版本对比,导致对此次数较多,加重服务器负担。
缺点2:所有客户端的程序版本对比均要在服务端上进行,如果有成千上万个客户端进行版本对比,所有的运算均在服务端上进行,加重服务端负担。
【发明内容】
本发明要解决的技术问题,在于提供一种远程文件的版本快速比对方法,它能够减轻服务端上的运算负担,实现客户端与服务端之间程序的快速对比。
本发明是这样实现的:一种远程文件的版本快速比对方法,具体包括如下步骤:
步骤10、在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;
步骤20、客户端连接到服务端,所述客户端下载服务端最新的统一版本信息文件;
步骤30、客户端将下载的最新的统一版本信息文件与客户端保留的原有的统一版本信息文件进行程序的一一校验对比,如果对比一致,则继续对比下一程序,如果对比不一致,则通知客户端下载更新该本地程序版本,然后再对比下一程序,直至所有程序对比完毕;
步骤40、客户端请求下载需要更新的程序,将下载的程序覆盖替换掉原本的程序,并将原有的统一版本信息文件替换为最新的统一版本信息文件。
进一步的,所述步骤30中,所述校验比对的步骤具体包括:根据下载的统一版本信息文件中记录的每一个程序名称,在客户端的统一版本信息文件中进行搜索,搜索是否有此相同程序名称的本地程序,客户端若无,则通知下载更新此程序;若有,再比较此程序的版本信息是否相同,若不同,则通知下载更新此程序;若相同,则不进行下载更新此程序,继续比对下一个程序。
进一步的,所述统一版本信息文件的结构包括程序的数目、名称、版本信息、文件大小。
进一步的,所述版本信息是利用MD5算法计算出的程序文件值。
本发明具有如下优点:
本发明采用在服务端生成服务端程序的统一版本信息文件,在客户端生成本地程序的统一版本信息文件,客户端下载服务端的统一版本信息文件后,与本地的统一版本信息文件进行程序的逐一对比,避免了客户端程序逐一与服务端程序进行版本对比的数量,极大的降低了对比次数;
本发明是采用下载服务端的统一版本信息文件至客户端,在客户端上进行版本对比的方法,通过将服务端上的运算分担至各客户端上,极大的减少服务端上的负担。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为现有方法的结构示意图。
图2为本发明的同一版本信息文件的示意图。
图3为本发明方法的结构示意图。
图4为本发明统一版本信息文件的比对流程示意图。
【具体实施方式】
请参阅图2至图4所示,对本发明的实施例进行详细的说明。
在CS结构(服务器,客户端)的自动升级程序中,服务端和客户端之间需要进行程序版本的比较,才能决定是否要进行程序的下载更新。要实现客户端程序的自动升级,需要在服务器提供有最新版本的程序,以使得客户端连接到服务器能够下载到最新版本的程序进行更新。
本发明在服务端保存着一个统一版本信息文件,该统一版本信息文件详细记录着服务端程序(包括DLL即动态链接库、数据文件等等)的最新版本信息。服务端的统一版本信息文件是由一个独立的版本生成工具生成的,将需要的程序(包括DLL、数据文件等)拉入到该版本生成工具,然后利用MD5算法(Message Digest Algorithm MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护)计算出的各程序文件值,然后按统一版本信息文件格式生成对应的统一版本信息文件,并将相关程序与版本信息文件覆盖到服务端的下载目录(供客户端下载程序使用)。
服务端的统一版本信息文件的结构包括程序的数目、名称、版本信息、文件大小。如图2所示,开始的节点Count下的字段FileCount记录服务端所有程序的数目,接下去的节点AllFile记录每个程序的名称FileName、版本信息FileVersion、文件大小FileSize,字段FileName后面连接的数字代表是第几个要更新的程序,从0开始计算。例如FileName0=CMSMain.exe,意思就是:第一个程序的程序名称为CMSMain.exe。FileVersion0=2.1,意思就是:第一个程序的版本信息为2.1版本。FileSize0=2271,意思就是第一个程序的大小为2271字节。所述版本信息(FileVersion)的内容是使用MD5算法计算出的程序文件值,以保证版本信息值的唯一性。
服务端的统一版本信息文件根据服务端程序的更新而不断的生成最新的统一版本信息文件。客户端也保存着一个统一版本信息文件,客户端的统一版本信息文件是下载自服务端的原有的统一版本信息文件,即客户端的原有的统一版本信息文件反映着客户端现有本地程序的版本情况。
客户端保留的原有的统一版本信息文件的结构也包括程序的数目、名称、版本信息、文件大小。如图2所示,开始的节点Count下的字段FileCount记录服务端所有程序的数目,接下去的节点AllFile记录每个程序的名称FileName、版本信息FileVersion、文件大小FileSize,字段FileName后面连接的数字代表是第几个要更新的程序,从0开始计算。例如FileName1=CMS.dll,意思就是:第二个程序的程序名称为CMS.dll。FileVersion1=1.1,意思就是:第二个程序的版本信息为1.1版本。FileSize1=232,意思就是第二个程序的大小为232字节。所述版本信息(FileVersion)的内容是使用MD5算法计算出的程序文件值,以保证版本信息值的唯一性。
当需要进行版本校验的时候,只要将服务端的最新的统一版本信息文件和客户端的原有的统一版本信息文件进行解析对比,如果一致,就不需要更新。如果不一致,就需要更新。
如图3,本发明工作的具体流程为:
在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;
将客户端连接至服务端,所述客户端下载服务端最新的统一版本信息文件,然后将下载的统一版本信息文件与客户端本地的统一版本信息文件进行校验比对。如图4,根据下载的统一版本信息文件中记录的每一个程序名称,在客户端的原有的统一版本信息文件中进行搜索,搜索是否有此相同程序名称的本地程序,客户端若无,则通知下载更新此程序;若有,再比较此程序的版本信息字段是否相同,若不同,则通知下载更新此程序;若相同,则不进行下载更新此程序,继续比对下一个程序。例如,先将服务端最新的统一版本信息文件中第一个程序CMSMain.exe在客户端的原有的统一版本信息文件中进行搜索比对,假设,客户端的统一版本信息文件中没有程序名称为CMSMain.exe的程序,则客户端需要从服务端下载此名称为CMSMain.exe程序。然后继续将服务端的第二个程序CMS.dll的名称在客户端的统一版本信息文件中进行搜索比对,若客户端的统一版本信息文件中存在程序名称为CMS.dll的程序,则,继续比对该程序的版本信息(FileVersion)的内容是否相同,如果两者的版本信息都一样即都是1.1,则说明客户端的程序与服务端的程序是一致的,不需要更新,如果两者的版本信息不一样,则说明客户端的程序与服务端的程序不一致,客户端需要下载服务端的程序进行更新。
当服务端的最新的统一版本信息文件中记录的信息与客户端的原有的统一版本信息文件全部比较完毕后,客户端开始请求下载需要更新的程序。下载完毕后,将下载的程序覆盖替换掉原本的程序。在最后,客户端将原有的统一版本信息文件替换为最新的统一版本信息文件。
以上所述,仅为本发明较佳实施例而已,故不能依此限定本发明实施的范围,即依本发明专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明涵盖的范围内。
Claims (4)
1.一种远程文件的版本快速比对方法,其特征在于:具体包括如下步骤:
步骤10、在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;
步骤20、客户端连接到服务端,所述客户端下载服务端最新的统一版本信息文件;
步骤30、客户端将下载的最新的统一版本信息文件与客户端保留的原有的统一版本信息文件进行程序的一一校验对比,如果对比一致,则继续对比下一程序,如果对比不一致,则通知客户端下载更新该本地程序版本,然后再对比下一程序,直至所有程序对比完毕;
步骤40、客户端请求下载需要更新的程序,将下载的程序覆盖替换掉原本的程序,并将原有的统一版本信息文件替换为最新的统一版本信息文件。
2.根据权利要求1所述的一种远程文件的版本快速比对方法,其特征在于:所述步骤30中,所述校验比对的步骤具体包括:根据下载的统一版本信息文件中记录的每一个程序名称,在客户端的统一版本信息文件中进行搜索,搜索是否有此相同程序名称的本地程序,客户端若无,则通知下载更新此程序;若有,再比较此程序的版本信息是否相同,若不同,则通知下载更新此程序;若相同,则不进行下载更新此程序,继续比对下一个程序。
3.根据权利要求1所述的一种远程文件的版本快速比对方法,其特征在于:所述统一版本信息文件的结构包括程序的数目、名称、版本信息、文件大小。
4.根据权利要求3所述的一种远程文件的版本快速比对方法,其特征在于:所述版本信息是利用MD5算法计算出的程序文件值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104291182A CN102541593A (zh) | 2011-12-20 | 2011-12-20 | 一种远程文件的版本快速比对方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104291182A CN102541593A (zh) | 2011-12-20 | 2011-12-20 | 一种远程文件的版本快速比对方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541593A true CN102541593A (zh) | 2012-07-04 |
Family
ID=46348562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104291182A Pending CN102541593A (zh) | 2011-12-20 | 2011-12-20 | 一种远程文件的版本快速比对方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541593A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681078A (zh) * | 2016-01-11 | 2016-06-15 | 努比亚技术有限公司 | 网络参数升级装置及方法 |
CN106502883A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 自动化测试时客户端与服务端的数据库同步方法及系统 |
CN106775847A (zh) * | 2016-12-01 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种板卡软件版本更新方法及装置 |
CN108089874A (zh) * | 2017-12-27 | 2018-05-29 | 北京海泰方圆科技股份有限公司 | 软件的升级方法、装置和系统 |
CN109117196A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种双bios启动及bios版本比对处理系统 |
CN111124612A (zh) * | 2019-12-20 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种容器镜像升级方法、装置及电子设备和存储介质 |
CN115314490A (zh) * | 2022-08-15 | 2022-11-08 | 成都止观互娱科技有限公司 | 一种资源更新方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477500A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种Client/Server架构下软件自动升级更新的方法 |
CN102025778A (zh) * | 2010-11-25 | 2011-04-20 | 成都勤智数码科技有限公司 | 一种基于Shell的软件版本升级工作方法 |
CN102223380A (zh) * | 2011-07-07 | 2011-10-19 | 昆明伯尔瑞科技开发有限公司 | 一种基于网络服务的客户端自动升级框架及其应用 |
-
2011
- 2011-12-20 CN CN2011104291182A patent/CN102541593A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477500A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种Client/Server架构下软件自动升级更新的方法 |
CN102025778A (zh) * | 2010-11-25 | 2011-04-20 | 成都勤智数码科技有限公司 | 一种基于Shell的软件版本升级工作方法 |
CN102223380A (zh) * | 2011-07-07 | 2011-10-19 | 昆明伯尔瑞科技开发有限公司 | 一种基于网络服务的客户端自动升级框架及其应用 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681078A (zh) * | 2016-01-11 | 2016-06-15 | 努比亚技术有限公司 | 网络参数升级装置及方法 |
CN106502883A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 自动化测试时客户端与服务端的数据库同步方法及系统 |
CN106502883B (zh) * | 2016-10-09 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 自动化测试时客户端与服务端的数据库同步方法及系统 |
CN106775847A (zh) * | 2016-12-01 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种板卡软件版本更新方法及装置 |
CN108089874A (zh) * | 2017-12-27 | 2018-05-29 | 北京海泰方圆科技股份有限公司 | 软件的升级方法、装置和系统 |
CN109117196A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种双bios启动及bios版本比对处理系统 |
CN109117196B (zh) * | 2018-08-16 | 2021-08-03 | 郑州云海信息技术有限公司 | 一种双bios启动及bios版本比对处理系统 |
CN111124612A (zh) * | 2019-12-20 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种容器镜像升级方法、装置及电子设备和存储介质 |
CN111124612B (zh) * | 2019-12-20 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种容器镜像升级方法、装置及电子设备和存储介质 |
CN115314490A (zh) * | 2022-08-15 | 2022-11-08 | 成都止观互娱科技有限公司 | 一种资源更新方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461365B2 (en) | Atomic moves with lamport clocks in a content management system | |
CN102541593A (zh) | 一种远程文件的版本快速比对方法 | |
CN101719073B (zh) | 一种基于智能客户端的按需下载实现方法 | |
US10452484B2 (en) | Systems and methods for time-based folder restore | |
US7797670B2 (en) | Mirrored file system | |
US6349311B1 (en) | Storage of reverse delta updates | |
JP2019532401A (ja) | ブロックチェーンのブロックデータのアーカイブ方法、装置及び照会方法、装置 | |
CN106302753A (zh) | 客户端程序增量更新的方法及系统 | |
US8996655B2 (en) | Method for horizontal scale delta encoding | |
US20060112152A1 (en) | Smart patching by targeting particular prior versions of a file | |
US11210269B2 (en) | System and method for deduplicating container image storage data | |
US10387271B2 (en) | File system storage in cloud using data and metadata merkle trees | |
US20080133922A1 (en) | File Update Availability Checking In a Hierarchal File Store | |
US9274783B2 (en) | Dynamic delivery and integration of static content into cloud | |
JP2013511766A (ja) | クラスタベースのjavaアプリケーションシステムのコードをロードおよび更新する装置および方法 | |
US10346256B1 (en) | Client side cache for deduplication backup systems | |
CN103188097A (zh) | 一种实现补丁管理的方法、装置及系统 | |
US8490078B2 (en) | System and method for application management | |
CN103473287A (zh) | 一种自动分发、运行和更新可执行程序的方法及系统 | |
CN107229649B (zh) | 数据更新系统及方法 | |
US20220382642A1 (en) | Reducing bandwidth during synthetic restores from a deduplication file system | |
CN110532016B (zh) | 版本管理方法、版本更新方法和版本管理系统 | |
CN105224344A (zh) | 一种基于xml实现的软件升级文件配置方法 | |
US10606805B2 (en) | Object-level image query and retrieval | |
US20130041868A1 (en) | Data synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120704 |