一种远程文件的版本快速比对方法技术

技术编号:7507499 阅读:202 留言:0更新日期:2012-07-11 06:31
本发明专利技术提供一种远程文件的版本快速比对方法,包括如下步骤:10、在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;20、所述客户端下载服务端的统一版本信息文件;30、客户端将下载的统一版本信息文件与本地的统一版本信息文件进行程序的一一对比,若对比一致,则继续对比下一程序,若对比不一致,则通知客户端下载更新该本地程序,然后再对比下一程序,直至所有程序对比完毕;40、客户端请求下载需要更新的程序,将下载的程序覆盖替换掉原本的程序,并根据下载更新的本地程序生成客户端的统一版本信息文件。本发明专利技术能够减轻服务端上的运算负担,实现客户端与服务端之间程序的快速对比。

【技术实现步骤摘要】

本专利技术涉及一种计算机程序领域中关于远程文件的版本比对方法。
技术介绍
目前,大部分企业应用计算机程序皆采用CS结构(服务器,客户端)进行部署。 在CS(服务器,客户端)结构下,由于计算机程序本身的版本更新,很多应用程序都会采用新版本的程序首先部署到服务端,各客户端从服务端自动下载最新程序已达到更新本地程序至最新版本的方法。同时,为了保证客户端程序是否与服务端程序一致,均要让客户端程序与服务端程序进行对比,已确认版本是否一致,是否需要更新。客户端的企业应用计算机程序一般包括若干个计算机程序和相关的程序依赖库。 如图1,在进行程序对比时,往往是客户端的各程序和依赖库逐一与服务端的对应程序文件进行对比,判断程序版本是否一致,这就导致了各客户端首先要连接至服务端,上传客户端各程序的版本信息,在服务端上进行版本对比,如版本不一致通知客户端做好下载准备,客户端下载最新程序版本,已便对客户端本地程序进行版本更新。由于部署时服务端可能只有一台或少量,可往往存在大量的对应客户端,数量好几倍于服务端,如果所有的客户端版本对比均在服务端进行,会极大的加重服务端的负担且服务端与客户端间要多次通讯连接才能达到版本更新的目的,为此现有的方法会加重服务端及相关通讯网络的负担,产生过多的运算。因此,存在着以下两个主要缺点缺点1 客户端连接至服务器后,需将客户端上的程序逐一与服务器上程序进行版本对比,导致对此次数较多,加重服务器负担。缺点2 所有客户端的程序版本对比均要在服务端上进行,如果有成千上万个客户端进行版本对比,所有的运算均在服务端上进行,加重服务端负担。
技术实现思路
本专利技术要解决的技术问题,在于提供,它能够减轻服务端上的运算负担,实现客户端与服务端之间程序的快速对比。本专利技术是这样实现的,具体包括如下步骤步骤10、在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;步骤20、客户端连接到服务端,所述客户端下载服务端最新的统一版本信息文件;步骤30、客户端将下载的最新的统一版本信息文件与客户端保留的原有的统一版本信息文件进行程序的一一校验对比,如果对比一致,则继续对比下一程序,如果对比不一致,则通知客户端下载更新该本地程序版本,然后再对比下一程序,直至所有程序对比完毕;3步骤40、客户端请求下载需要更新的程序,将下载的程序覆盖替换掉原本的程序, 并将原有的统一版本信息文件替换为最新的统一版本信息文件。进一步的,所述步骤30中,所述校验比对的步骤具体包括根据下载的统一版本信息文件中记录的每一个程序名称,在客户端的统一版本信息文件中进行搜索,搜索是否有此相同程序名称的本地程序,客户端若无,则通知下载更新此程序;若有,再比较此程序的版本信息是否相同,若不同,则通知下载更新此程序;若相同,则不进行下载更新此程序, 继续比对下一个程序。进一步的,所述统一版本信息文件的结构包括程序的数目、名称、版本信息、文件大小。进一步的,所述版本信息是利用MD5算法计算出的程序文件值。本专利技术具有如下优点本专利技术采用在服务端生成服务端程序的统一版本信息文件,在客户端生成本地程序的统一版本信息文件,客户端下载服务端的统一版本信息文件后,与本地的统一版本信息文件进行程序的逐一对比,避免了客户端程序逐一与服务端程序进行版本对比的数量, 极大的降低了对比次数;本专利技术是采用下载服务端的统一版本信息文件至客户端,在客户端上进行版本对比的方法,通过将服务端上的运算分担至各客户端上,极大的减少服务端上的负担。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为现有方法的结构示意图。图2为本专利技术的同一版本信息文件的示意图。图3为本专利技术方法的结构示意图。图4为本专利技术统一版本信息文件的比对流程示意图。具体实施方式请参阅图2至图4所示,对本专利技术的实施例进行详细的说明。在CS结构(服务器,客户端)的自动升级程序中,服务端和客户端之间需要进行程序版本的比较,才能决定是否要进行程序的下载更新。要实现客户端程序的自动升级,需要在服务器提供有最新版本的程序,以使得客户端连接到服务器能够下载到最新版本的程序进行更新。本专利技术在服务端保存着一个统一版本信息文件,该统一版本信息文件详细记录着服务端程序(包括DLL即动态链接库、数据文件等等)的最新版本信息。服务端的统一版本信息文件是由一个独立的版本生成工具生成的,将需要的程序(包括DLL、数据文件等) 拉入到该版本生成工具,然后利用MD5算法(Message Digest Algorithm MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护)计算出的各程序文件值, 然后按统一版本信息文件格式生成对应的统一版本信息文件,并将相关程序与版本信息文件覆盖到服务端的下载目录(供客户端下载程序使用)。服务端的统一版本信息文件的结构包括程序的数目、名称、版本信息、文件大小。如图2所示,开始的节点Count下的字段FileCoimt记录服务端所有程序的数目,接下去的节点AllFile记录每个程序的名称FileName、版本信息FileVersion、文件大小FileSize, 字段FileName后面连接的数字代表是第几个要更新的程序,从O开始计算。例如FileNameO =CMSMain. exe,意思就是第一个程序的程序名称为 CMSMain. exe。FileVersionO = 2. 1, 意思就是第一个程序的版本信息为2. 1版本。FileSizeO = 2271,意思就是第一个程序的大小为2271字节。所述版本信息(FileVersion)的内容是使用MD5算法计算出的程序文件值,以保证版本信息值的唯一性。服务端的统一版本信息文件根据服务端程序的更新而不断的生成最新的统一版本信息文件。客户端也保存着一个统一版本信息文件,客户端的统一版本信息文件是下载自服务端的原有的统一版本信息文件,即客户端的原有的统一版本信息文件反映着客户端现有本地程序的版本情况。客户端保留的原有的统一版本信息文件的结构也包括程序的数目、名称、版本信息、文件大小。如图2所示,开始的节点Count下的字段FileCoimt记录服务端所有程序的数目,接下去的节点AllFile记录每个程序的名称FileName、版本信息FileVersion、文件大小FileSize,字段FileName后面连接的数字代表是第几个要更新的程序,从O开始计算。 例如FileNamel = CMS. dll,意思就是第二个程序的程序名称为CMS. dll。FileVersionl =ι. 1,意思就是第二个程序的版本信息为1. 1版本。FileSizel = 232,意思就是第二个程序的大小为232字节。所述版本信息(FileVersion)的内容是使用MD5算法计算出的程序文件值,以保证版本信息值的唯一性。当需要进行版本校验的时候,只要将服务端的最新的统一版本信息文件和客户端的原有的统一版本信息文件进行解析对比,如果一致,就不需要更新。如果不一致,就需要更新。如图3,本专利技术工作的具体流程为在服务端根据最新程序生成最新的统一版本信息文件,在客户端保留有服务端原有的统一版本信息文件;将客户端连接至服务端,所述客户端下载服务端最新本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡炆炆王建设
申请(专利权)人:福建星网视易信息系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术