当前位置: 首页 > 专利查询>钟惠波专利>正文

一种基于P2SP的客户端软件在线升级的方法和系统技术方案

技术编号:5210947 阅读:381 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于P2SP的客户端软件在线升级的方法及系统。该方法包括如下步骤:制作升级包文件并部署到升级服务器上;将升级包文件的下载地址以及升级包文件的大小、文件摘要值提交给索引服务器,索引服务器对服务器下载地址进行索引;如果某个客户端需要软件升级,则搜索该升级包文件的服务器下载地址和拥有该升级包文件的其他客户端的连接方式,然后采用P2SP下载技术同时从升级服务器和其他客户端下载升级包文件;升级包文件下载完成后,客户端执行升级步骤。本发明专利技术采用P2SP网络下载模式,大大节省了服务器资源,不需要增加服务器即可支持大范围的升级,而且客户端越多,升级速度越快,具有很高的实用价值和经济价值。

【技术实现步骤摘要】

本专利技术涉及一种基于P2SP(Peer to Server&Peer,用户对服务器和用户)机制的客户端软件在线升级方法,同时也涉及用于支持该软件在线升级方法的网络系统,属于互联网应用

技术介绍
由于软件产品的特殊性,任何软件在使用过程中都有不断升级的需要。在互联网环境中,很多应用软件和游戏软件内部集成了在线升级功能,用户可以通过该功能进行在线升级操作,直接从旧版本升级到最新版本。目前,常规的软件在线升级方法是通过服务器/客户端的方式实现的。所谓服务器/客户端的方式是指软件的提供商将最新版本的软件升级数据存放在服务器上,客户端采用HTTP协议或FTP协议通过互联网从服务器上下载所需的升级数据。当软件的用户规模较小时,常规的软件在线升级方法只需要部署少量服务器就能满足所有客户端升级需求。但当软件的用户规模继续扩大,达到百万甚至更高的数量级时,上述软件在线升级方法必须部署更多的服务器以应对客户端数量的增长,同时还要购买更多的网络带宽。为此,还必须解决多台服务器的负载平衡问题,将大量升级请求平均分配到各台服务器。当服务器数量和带宽不足以支持升级服务时,会出现部分客户端升级失败或长时间无法升级的问题。另一方面,当软件不需要升级的时段,大量的服务器处在闲置状态,会浪费服务器和网络带宽。另一方面,将升级数据包部署到多台服务器的操作也需要一定的开销。服务器越多,软件升级所需要的准备时间越长。由此可见,上述的常规软件升级方法存在难以支持较大规模的用户群体、硬件投入较大和升级准备工作较为复杂的缺陷,不能适应软件产业蓬勃发展的需要。为了解决上述的问题,人们先后提出了多种技术解决方案。例如在申请号为200710048971.3的中国专利技术专利申请中,提出了一种网络游戏服务器端软件的版本更新方法。在该方法中,由服务器和客户端组成P2P下载网络;更新服务器将更新命令通过连接的客户端发送给各个网游服务器,启动更新流程;客户端接受更新命令,通过P2P下载网络下载内容资源和版本配置文件,下载完成后按照版本配置文件定义内容,进行版本比较并完成版本更新的操作,操作完成后向服务器返回结果。另外,在申请号为200510137028.0的中国专利技术专利申请中,提出了软件提供商利用P2P(对等网络)环境向若干不同的接收者分发软件更新的方法。该方法接收可用更新的列表,并确定是否需要列表上的任何更新。如果需要任何更新,则接收标识更新的片断以及可从其中获得这些片断的计算设备的计算设备列表。这些片断然后从计算设备下载,其中多个片断的至少两个从不同的计算设备下载。一旦下载了片断,使用下载的片断更新计算设备的软件。随着互联网技术的不断发展,出现了一种被称为P2SP的网络下载模式,其典型应用就是迅雷系列下载软件。该网络下载模式通过客户端及服务器搜索并收集网络上所有文件下载的链接,分类汇总成为数据库,从而把原本孤立的服务器和其镜像资源以及P2P资-->源整合到了一起。由于服务器的带宽远大于普通的计算机,使得P2SP下载的稳定性和下载的速度都比传统的P2P或P2S有了非常大的提高。但是,就申请人所知,目前尚没有将P2SP网络下载模式应用于软件在线升级的成熟解决方案。
技术实现思路
本专利技术所要解决的首要技术问题在于提供一种基于P2SP的客户端软件在线升级的方法。该软件在线升级方法能够实现客户端安装量越大,升级速度越快,并且不需要投入更多的服务器和带宽。本专利技术所要解决的另外一个技术问题在于提供一种用于支持上述软件在线升级方法的网络系统。该网络系统可以不必随着用户规模的增长而增加硬件投入。为实现上述的专利技术目的,本专利技术采用下述的技术方案:一种基于P2SP的客户端软件在线升级系统,其特征在于:所述客户端软件在线升级系统由至少一台升级服务器、至少一台索引服务器、包含多个客户端的P2P分布式网络组成;所述升级服务器用于存储版本信息,存储升级包文件,并提供版本信息和升级包文件的下载服务;所述索引服务器用于根据升级包文件的大小和文件摘要值对升级包文件所在的所述升级服务器的下载地址进行索引;同时根据升级包文件的大小和文件摘要值对拥有该升级包文件的客户端的连接方式进行索引;所述P2P分布式网络中的各所述客户端通过互联网与所述升级服务器和所述服务器进行连接。所述升级服务器为web服务器,所述P2P分布式网络为KAD网络或者DHT网络。一种基于P2SP的客户端软件在线升级方法,采用上述的客户端软件在线升级系统实现,其特征在于包括如下的步骤:(1)根据软件升级的需要制作升级包文件,并根据升级包文件的文件数据计算出升级包文件的文件摘要值;(2)将升级包文件部署到升级服务器上;(3)将升级包文件在升级服务器上的下载地址以及升级包文件的大小、文件摘要值提交给索引服务器,所述索引服务器根据文件大小和文件摘要值对服务器下载地址进行索引;(4)在升级服务器上部署最新的版本信息文件,以通知客户端进行软件升级;(5)如果P2P分布式网络中的某个客户端需要进行软件升级,则根据升级包文件的大小、文件摘要值搜索该升级包文件的服务器下载地址和拥有该升级包文件的其他客户端的连接方式;(6)客户端采用P2SP下载技术同时从升级服务器和其他客户端下载升级包文件;(7)升级包文件下载完成后,客户端执行升级步骤,完成升级操作。其中,所述步骤(1)中,所述文件摘要值为固定长度的整数或字符串。所述步骤(4)中,所述版本信息文件包含最新的软件版本号和升级包文件的文件-->名称、文件大小和文件摘要值。客户端还可以将最新的版本信息文件保存在本地持久存储中,并通过P2P分布式网络定时向其他客户端发布最新的版本信息文件,以实现软件升级的大规模快速通知。所述步骤(5)中,客户端一方面从索引服务器搜索升级包文件的服务器下载地址以及拥有该升级包文件的其他客户端的连接方式,另一方面从P2P分布式网络搜索升级包文件的服务器下载地址以及拥有该升级包文件的其他客户端的连接方式。所述步骤(6)中,对升级包文件进行分块,不同的文件块从不同下载点下载,其中对升级服务器采用http/ftp协议下载,对其他客户端采用P2P方式下载。所述步骤(7)中,客户端完成升级操作之后,一方面向索引服务器提交拥有升级包文件的信息,所述索引服务器对客户端的连接方式进行索引;另一方面向P2P分布式网络定时发布拥有升级包文件的信息,所述P2P分布式网络对客户端的连接方式进行分布式索引。在升级包文件下载完成以后,客户端如果收到其他客户端的下载请求时,向其他客户端上传升级包文件。本专利技术所提供的软件在线升级方法及系统采用P2SP网络下载模式,大大节省了服务器资源,不需要增加服务器即可支持大范围的升级,而且客户端越多,升级速度越快。该方法及系统通过P2P下载与服务器下载相结合的方式,保证了升级包文件传输的质量,能确保每一个客户端都升级成功。由于不需要增加服务器,升级准备所需的时间不会变长,从而使软件升级维护工作更加容易。另外,本方法中通过P2P分布式网络通知客户端进行软件升级,使得软件升级消息在所有客户端中能迅速扩散开,扩散速度比常规的客户端/服务器方式更迅速,并允许延长客户端对升级服务器获取版本信息的周期,使得升级服务器的负载降低。附图说明为了使本专利技术的目本文档来自技高网
...

【技术保护点】
一种基于P2SP的客户端软件在线升级系统,其特征在于:所述客户端软件在线升级系统由至少一台升级服务器、至少一台索引服务器、包含多个客户端的P2P分布式网络组成;所述升级服务器用于存储版本信息,存储升级包文件,并提供版本信息和升级包文件的下载服务;所述索引服务器用于根据升级包文件的大小和文件摘要值对升级包文件所在的所述升级服务器的下载地址进行索引;同时根据升级包文件的大小和文件摘要值对拥有该升级包文件的客户端的连接方式进行索引;所述P2P分布式网络中的各所述客户端通过互联网与所述升级服务器和所述服务器进行连接。

【技术特征摘要】
1.一种基于P2SP的客户端软件在线升级系统,其特征在于:所述客户端软件在线升级系统由至少一台升级服务器、至少一台索引服务器、包含多个客户端的P2P分布式网络组成;所述升级服务器用于存储版本信息,存储升级包文件,并提供版本信息和升级包文件的下载服务;所述索引服务器用于根据升级包文件的大小和文件摘要值对升级包文件所在的所述升级服务器的下载地址进行索引;同时根据升级包文件的大小和文件摘要值对拥有该升级包文件的客户端的连接方式进行索引;所述P2P分布式网络中的各所述客户端通过互联网与所述升级服务器和所述服务器进行连接。2.如权利要求1所述的基于P2SP的客户端软件在线升级系统,其特征在于:所述升级服务器为web服务器,所述P2P分布式网络为KAD网络或者DHT网络。3.一种基于P2SP的客户端软件在线升级方法,采用如权利要求1所述的客户端软件在线升级系统实现,其特征在于包括如下的步骤:(1)根据软件升级的需要制作升级包文件,并根据升级包文件的文件数据计算出升级包文件的文件摘要值;(2)将升级包文件部署到升级服务器上;(3)将升级包文件在升级服务器上的下载地址以及升级包文件的大小、文件摘要值提交给索引服务器,所述索引服务器根据文件大小和文件摘要值对服务器下载地址进行索引;(4)在升级服务器上部署最新的版本信息文件,以通知客户端进行软件升级;(5)如果P2P分布式网络中的某个客户端需要进行软件升级,则根据升级包文件的大小、文件摘要值搜索该升级包文件的服务器下载地址和拥有该升级包文件的其他客户端的连接方式;(6)客户端采用P2SP下载技术同时从升级服务器和其他客户端下载升级包文件;(7)升级包文件下载完成后,客户端执行升级步骤,完成升级操作。4.如权利要求3所述的基于...

【专利技术属性】
技术研发人员:钟惠波林溢泽李忠勇
申请(专利权)人:钟惠波林溢泽李忠勇
类型:发明
国别省市:11[中国|北京]

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

1