基于bt技术的云平台自动升级系统的制作方法

文档序号:7986672阅读:182来源:国知局
专利名称:基于bt技术的云平台自动升级系统的制作方法
技术领域
本发明涉及云计算技术领域,特别涉及一种基于BT技术的云平台自动升级系统。
背景技术
云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算 (Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing) > N(Network Storage Technologies) ,MWAt (Virtualization) ,jji^ 均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统。云计算将所有的计算资源集中起来,并由软件实现自动管理,无需人为参与。企业只需定制相应的服务,由云服务商或云端提供需要的基础架构、服务、软硬件资源等,可以节约成本,不用投资购买昂贵的硬件设备,负担频繁地维护与升级,企业不需要建立自己的数据中心、大型机房、服务器中心等并相应减少硬软件的运行维护费用。对于云平台来说,为了维持平台的正常运转,我们经常需要对平台进行升级,目前在对平台升级方面的技术,通常采用的方案是基于C/S架构的升级方式,即将升级包放在 server (服务器),然后Clien(客户端)定期去查询server是否有新的升级包,如果有新的升级包,则从server下载升级包。这种升级方式对服务器的升级程序管理比较简单,但在性能上比较差,当云平台部署到一定规模时,由于在升级过程中并发访问的量太多,就可能会出现因为带宽和服务器性能造成升级瓶颈,例如当云平台部署到上万台甚至数十万台时,由于服务器的性能和带宽影响,就会造成服务器阻塞,甚至瘫痪。而且所有下载文件及所有的开销都集中在服务器上,云平台下载的节点越多,则下载速度越慢,升级的时间更长。综上所述,该升级方式虽然实现和维护相对简单,但在性能上比较差,升级的效率和性能会受服务器性能和带宽的瓶颈的影响,容易导致服务器端的阻塞,甚至整个升级服务器崩溃。

发明内容
本发明的目的在于提供一种基于BT技术的云平台自动升级系统,解决了基于C/S 架构的升级方式的升级效率和性能会受服务器性能和带宽的瓶颈的影响,容易导致服务器端的阻塞,甚至整个升级服务器崩溃的问题。—种基于BT技术的云平台自动升级系统,包括升级服务端和设置在云平台所有的计算机上的客户端;所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则
3从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级。与现有技术相比,本发明的技术采用基于BT(BitTorrent文件共享发布系统)技术,应用P2P技术来进行升级,结合利用了 BT技术在文件共享方面的优越性能以及云平台的节点数量庞大的特点,将所有的升级数据包都以一个描述文件形式发布,而实际的文件可以发散在云平台的任何节点上,云平台的节点越多,下载速度越快,有效解决了常规C/S 架构下,由于云平台的节点数量庞大可能带来的下载服务的系统瓶颈和带宽瓶颈问题,便于维护,缩短了升级所需的时间,避免了因为升级而给用户带来损失的情况发生,为云平台的升级带来了更大的方便和性能的改善。


图1是本发明的基于BT技术的云平台自动升级系统的结构示意图;图2是基于BT技术的云平台自动升级系统的一个实施例的结构示意图。
具体实施例方式下面结合附图和实施例对本发明的基于BT技术的云平台自动升级系统作详细描述。如图1所示,本发明的基于BT技术的云平台自动升级系统,包括升级服务端和设置在云平台所有的计算机上的客户端;其工作原理是所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,即根据升级服务端的URL并以升级数据包作为共享的文件来创建一个种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级。优选地,所述客户端通过断点续传的方式从所述升级服务端和/或从其它客户端下载升级数据包。通过断点续传的方式,在碰到网络故障时,可以从已经下发的部分开始继续下载, 而没有必要重头开始下载,节省时间,提高速度。优选地,所述客户端对所属计算机上的平台程序进行升级后,热启动所述升级后的平台程序。通过热启动所述升级后的平台程序,在升级完毕后,无需先关闭原系统再重启升级后的系统来完成更新,避免给云平台带来的灾难的可能性。由于云平台中所有的功能都是由JVM载入类文件来实现的,JAVA类加载的方式是只要用到该类时才加载,通过继承加载器动态实现类文件在运行中的更新,更新相应的升级文件清单,重新载入类就可以实现系统的热启动。优选地,所述升级服务端对所述升级数据包进行过加密压缩后进行存储,所述客户端下载所述升级数据包后,根据解密密钥对其进行解密,若不能解密,则向升级服务端发送申请解密密钥请求,并下载解密密钥进行更新。考虑云平台的特性,在必要的时候,可以通过对升级文件的加密压缩,以实现对升级文件的安全管理。优选地,所述客户端将升级状态信息上传至所述升级服务端,所述升级服务端还对升级状态信息进行访问管理。客户端将升级是否成功结果上传至升级服务端,升级服务端可以通过TOB服务器对升级状态信息进行访问管理,通过访问即可查看云平台各个计算机的升级状态。优选地,所述升级服务端和/或客户端的运行模式为开机自动运行模式。开机自动运行实现了系统的升级过程的全自动化,无需人工干预作为一种实施方式,所述升级服务端将所述升级数据包分成至少两个数据块后进行存储;所述客户端从所述升级服务端下载所述数据块和/或从其它客户端下载所述数据块,然后将所下载的数据块进行合并得到完整的升级数据包。假设所有的升级数据包都只放在一个或几个服务器上,当升级数据包出现异常时,可能会导致整个平台的升级都失败,所以通过将所有的升级数据包分成若干数据块后分别存储,可以存储在一个或多个升级服务端上,每个数据块只是包含了所有升级数据包的一部分,客户端可以随机下载其中的数据块,确保了升级的成功率。优选地,所述客户端在下载所述数据块后,计算所述数据块的Hash验证码与所述种子文件的Hash验证码是否一致,若是,说明下载的数据块为自己所需的数据块,若否,则重新下载所述数据块。通过采用安全性高的Hash算法,两个相同的文件只能得到相同的Hash结果,从而确保了一旦文件被修改就可以检测出来。为了更加清晰本发明的基于BT技术的云平台自动升级系统,下面阐述基于BT技术的云平台自动升级系统的一个应用实施例及其升级流程。如图2所示,对于云平台中每一个计算机来说,其都可以视为系统的一个升级节点,本实施例中,在每一个升级节点都部署一个客户端的程序,升级服务端的功能主要通过所设置的WEB服务器和Tracker服务器来实现,可以部署在系统的任何节点的计算机上。其中,TOB服务器主要是进行版本信息的更新,管理各个升级节点的状态信息和种子文件。Tracker服务器主要是收集下载者信息,并将此信息提供给下载升数据级包的客户端的程序,使客户端相互连接起来,相互交换传输数据。种子文件是文本文件,是被下载文件的“索引”,主要携带tracker服务器的信息和文件信息。Tracker信息主要包括Tracker 服务器的地址和针对Tracker服务器的设置信息,客户端的程序首先下载相应的种子文件,然后根据该种子文件从其它客户端下载升级数据包。具体的升级流程包括如下步骤SlOl 升级服务端将由经过加密压缩的升级数据包划分的多个数据块进行存储, 更新版本信息,根据升级数据包生成种子文件并发布到WEB服务器上。S102 客户端的程序检测所属计算机的平台程序的版本信息,同时定期检索升级服务端的升级数据的版本信息。S103:若升级服务端的升级数据的版本信息与所属计算机的平台程序的版本信息不同,说明升级数据包已经进行更新版本信息,客户端的程序从WEB服务器下载种子文件。S104 客户端的程序解析种子文件,得到Tracker服务器的地址,并根据该地址发送请求与Tracker服务器建立连接。S105 =Tracker服务器回应客户端的程序的请求,提供所有在下载中的客户端的程序(包括升级服务端)的IP地址。S106 客户端的程序连接升级服务端进行下载和/或连接其他在下载的客户端, 根据种子文件,彼此交互已下载的数据块信息,然后相互交换彼此之间还没有下载的数据块。具体地,例如,云平台的一个节点A的客户端的程序从升级服务端随机下载了升级文件的第N号数据块,另外一个节点B的客户端的程序从升级服务端上随机下载了升级文件的第M号数据块。则这样A的客户端的程序可以去下载B已经下载好的第M号数据块, 则这样B的客户端的程序可以去下载A已经下载好的第N号数据块。减轻了升级服务端的负担,而且加快了各个节点之间的下载速度,提高了效率。S107:客户端的程序下载数据块后,计算每个数据块的Hash验证码与种子文件中的Hash验证码是否一致,若否,则重新从升级服务端下载数据块。S108:根据解密密钥对数据块中的升级数据包进行解密,若不能解密,则向升级服务端发送申请解密密钥请求,并下载解密密钥进行更新。S109:客户端的程序下载完所有的升级数据包后,根据所述升级数据包对所属计算机上的平台程序进行升级,然后热启动节点的平台程序。SllO 客户端将升级成功结果上传至升级服务端,通过TOB服务器对升级状态信息进行访问管理。本发明的基于BT技术的云平台自动升级系统,采用BT技术,从云平台任何节点都能完成整体平台的升级,所有的资源信息都以一个描述文件形式发布,而实际的文件可以发散在平台的任何节点上,便于维护;有效解决了常规C/S架构下的下载服务的系统瓶颈和带宽瓶颈问题,同时,BT技术在文件共享方面的优越性能,云平台的节点越多,下载速度越快,大大缩短了整个系统升级所需的时间,减少因为升级给用户带来的损失。另外,系统的断点续传和多点备份功能,只要一个节点完成下载过一个文件拷贝, 即使原始资源提供者的节点失效,依然可以完成平台的升级,能比较好的适应在云平台下的各种网络环境。再次,系统支持对JAVA开发的升级节点的热启动,在升级完毕后,无需先关闭原系统再重启升级后的系统来完成更新,避免给云平台带来的灾难的可能性。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种基于BT技术的云平台自动升级系统,其特征在于,包括升级服务端和设置在云平台所有的计算机上的客户端;所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级。
2.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端通过断点续传的方式从所述升级服务端和/或从其它客户端下载升级数据包。
3.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端对所属计算机上的平台程序进行升级后,热启动所述升级后的平台程序。
4.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述升级服务端对所述升级数据包进行过加密压缩后进行存储;所述客户端下载所述升级数据包后,根据解密密钥对其进行解密,若不能解密,则向所述升级服务端发送申请解密密钥请求并下载解密密钥进行更新。
5.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端将升级状态信息上传至所述升级服务端;所述升级服务端还用于对所述升级状态信息进行访问管理。
6.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述升级服务端和/或客户端的运行模式为开机自动运行模式。
7.根据权利要求1至6任一项所述的基于BT技术的云平台自动升级系统,其特征在于,所述升级服务端将所述升级数据包分成至少两个数据块后进行存储;所述客户端从所述升级服务端下载所述数据块和/或从其它客户端下载所述数据块, 然后将所述数据块进行合并。
8.根据权利要求7所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端在下载所述数据块后,计算所述数据块的Hash验证码与所述种子文件的Hash验证码是否一致,若否,则重新从所述升级服务端下载所述数据块。
全文摘要
本发明提供一种基于BT技术的云平台自动升级系统,包括升级服务端和设置在云平台所有的计算机上的客户端;升级服务端用于存储升级数据包,并更新升级数据包的版本信息,根据升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至客户端;客户端用于检测所述升级服务端上的版本信息,若版本信息被更新,则从升级服务端下载种子文件,根据该种子文件从升级服务端和/或根据地址信息从其它客户端下载升级数据包,并根据升级数据包对所属计算机上的平台程序进行升级。通过本发明的技术,下载服务的系统瓶颈和带宽瓶颈问题,避免了因为升级而给用户带来损失的情况发生,为云平台的升级带来了更大的方便和性能的改善。
文档编号H04L29/08GK102413185SQ201110380379
公开日2012年4月11日 申请日期2011年11月25日 优先权日2011年11月25日
发明者吴文青, 吴海玲, 邓书芬 申请人:广州杰赛科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1