CN102413185B - 基于bt技术的云平台自动升级系统 - Google Patents

基于bt技术的云平台自动升级系统 Download PDF

Info

Publication number
CN102413185B
CN102413185B CN201110380379.XA CN201110380379A CN102413185B CN 102413185 B CN102413185 B CN 102413185B CN 201110380379 A CN201110380379 A CN 201110380379A CN 102413185 B CN102413185 B CN 102413185B
Authority
CN
China
Prior art keywords
upgrading
service end
client
data packet
cloud platform
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.)
Active
Application number
CN201110380379.XA
Other languages
English (en)
Other versions
CN102413185A (zh
Inventor
吴文青
邓书芬
吴海玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201110380379.XA priority Critical patent/CN102413185B/zh
Publication of CN102413185A publication Critical patent/CN102413185A/zh
Application granted granted Critical
Publication of CN102413185B publication Critical patent/CN102413185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于BT技术的云平台自动升级系统,包括:升级服务端和设置在云平台所有的计算机上的客户端;升级服务端用于存储升级数据包,并更新升级数据包的版本信息,根据升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至客户端;客户端用于检测所述升级服务端上的版本信息,若版本信息被更新,则从升级服务端下载种子文件,根据该种子文件从升级服务端和/或根据地址信息从其它客户端下载升级数据包,并根据升级数据包对所属计算机上的平台程序进行升级。通过本发明的技术,下载服务的系统瓶颈和带宽瓶颈问题,避免了因为升级而给用户带来损失的情况发生,为云平台的升级带来了更大的方便和性能的改善。

Description

基于BT技术的云平台自动升级系统
技术领域
本发明涉及云计算技术领域,特别涉及一种基于BT技术的云平台自动升级系统。
背景技术
云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统。云计算将所有的计算资源集中起来,并由软件实现自动管理,无需人为参与。企业只需定制相应的服务,由云服务商或云端提供需要的基础架构、服务、软硬件资源等,可以节约成本,不用投资购买昂贵的硬件设备,负担频繁地维护与升级,企业不需要建立自己的数据中心、大型机房、服务器中心等并相应减少硬软件的运行维护费用。
对于云平台来说,为了维持平台的正常运转,我们经常需要对平台进行升级,目前在对平台升级方面的技术,通常采用的方案是基于C/S架构的升级方式,即将升级包放在server(服务器),然后clien(客户端)定期去查询server是否有新的升级包,如果有新的升级包,则从server下载升级包。
这种升级方式对服务器的升级程序管理比较简单,但在性能上比较差,当云平台部署到一定规模时,由于在升级过程中并发访问的量太多,就可能会出现因为带宽和服务器性能造成升级瓶颈,例如当云平台部署到上万台甚至数十万台时,由于服务器的性能和带宽影响,就会造成服务器阻塞,甚至瘫痪。而且所有下载文件及所有的开销都集中在服务器上,云平台下载的节点越多,则下载速度越慢,升级的时间更长。
综上所述,该升级方式虽然实现和维护相对简单,但在性能上比较差,升级的效率和性能会受服务器性能和带宽的瓶颈的影响,容易导致服务器端的阻塞,甚至整个升级服务器崩溃。
发明内容
本发明的目的在于提供一种基于BT技术的云平台自动升级系统,解决了基于C/S架构的升级方式的升级效率和性能会受服务器性能和带宽的瓶颈的影响,容易导致服务器端的阻塞,甚至整个升级服务器崩溃的问题。
一种基于BT技术的云平台自动升级系统,包括:升级服务端和设置在云平台所有的计算机上的客户端;
所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;
所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级。
与现有技术相比,本发明的技术采用基于BT(BitTorrent文件共享发布系统)技术,应用P2P技术来进行升级,结合利用了BT技术在文件共享方面的优越性能以及云平台的节点数量庞大的特点,将所有的升级数据包都以一个描述文件形式发布,而实际的文件可以发散在云平台的任何节点上,云平台的节点越多,下载速度越快,有效解决了常规C/S架构下,由于云平台的节点数量庞大可能带来的下载服务的系统瓶颈和带宽瓶颈问题,便于维护,缩短了升级所需的时间,避免了因为升级而给用户带来损失的情况发生,为云平台的升级带来了更大的方便和性能的改善。
附图说明
图1是本发明的基于BT技术的云平台自动升级系统的结构示意图;
图2是基于BT技术的云平台自动升级系统的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本发明的基于BT技术的云平台自动升级系统作详细描述。
如图1所示,本发明的基于BT技术的云平台自动升级系统,包括:升级服务端和设置在云平台所有的计算机上的客户端;其工作原理是:
所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,即根据升级服务端的URL并以升级数据包作为共享的文件来创建一个种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;
所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级。
优选地,所述客户端通过断点续传的方式从所述升级服务端和/或从其它客户端下载升级数据包。
通过断点续传的方式,在碰到网络故障时,可以从已经下发的部分开始继续下载,而没有必要重头开始下载,节省时间,提高速度。
优选地,所述客户端对所属计算机上的平台程序进行升级后,热启动所述升级后的平台程序。
通过热启动所述升级后的平台程序,在升级完毕后,无需先关闭原系统再重启升级后的系统来完成更新,避免给云平台带来的灾难的可能性。由于云平台中所有的功能都是由JVM载入类文件来实现的,JAVA类加载的方式是只要用到该类时才加载,通过继承加载器动态实现类文件在运行中的更新,更新相应的升级文件清单,重新载入类就可以实现系统的热启动。
优选地,所述升级服务端对所述升级数据包进行过加密压缩后进行存储,所述客户端下载所述升级数据包后,根据解密密钥对其进行解密,若不能解密,则向升级服务端发送申请解密密钥请求,并下载解密密钥进行更新。
考虑云平台的特性,在必要的时候,可以通过对升级文件的加密压缩,以实现对升级文件的安全管理。
优选地,所述客户端将升级状态信息上传至所述升级服务端,所述升级服务端还对升级状态信息进行访问管理。
客户端将升级是否成功结果上传至升级服务端,升级服务端可以通过WEB服务器对升级状态信息进行访问管理,通过访问即可查看云平台各个计算机的升级状态。
优选地,所述升级服务端和/或客户端的运行模式为开机自动运行模式。开机自动运行实现了系统的升级过程的全自动化,无需人工干预
作为一种实施方式,所述升级服务端将所述升级数据包分成至少两个数据块后进行存储;所述客户端从所述升级服务端下载所述数据块和/或从其它客户端下载所述数据块,然后将所下载的数据块进行合并得到完整的升级数据包。
假设所有的升级数据包都只放在一个或几个服务器上,当升级数据包出现异常时,可能会导致整个平台的升级都失败,所以通过将所有的升级数据包分成若干数据块后分别存储,可以存储在一个或多个升级服务端上,每个数据块只是包含了所有升级数据包的一部分,客户端可以随机下载其中的数据块,确保了升级的成功率。
优选地,所述客户端在下载所述数据块后,计算所述数据块的Hash验证码与所述种子文件的Hash验证码是否一致,若是,说明下载的数据块为自己所需的数据块,若否,则重新下载所述数据块。
通过采用安全性高的Hash算法,两个相同的文件只能得到相同的Hash结果,从而确保了一旦文件被修改就可以检测出来。
为了更加清晰本发明的基于BT技术的云平台自动升级系统,下面阐述基于BT技术的云平台自动升级系统的一个应用实施例及其升级流程。
如图2所示,对于云平台中每一个计算机来说,其都可以视为系统的一个升级节点,本实施例中,在每一个升级节点都部署一个客户端的程序,升级服务端的功能主要通过所设置的WEB服务器和Tracker服务器来实现,可以部署在系统的任何节点的计算机上。
其中,WEB服务器主要是进行版本信息的更新,管理各个升级节点的状态信息和种子文件。Tracker服务器主要是收集下载者信息,并将此信息提供给下载升数据级包的客户端的程序,使客户端相互连接起来,相互交换传输数据。种子文件是文本文件,是被下载文件的“索引”,主要携带tracker服务器的信息和文件信息。Tracker信息主要包括Tracker服务器的地址和针对Tracker服务器的设置信息,客户端的程序首先下载相应的种子文件,然后根据该种子文件从其它客户端下载升级数据包。
具体的升级流程包括如下步骤:
S101:升级服务端将由经过加密压缩的升级数据包划分的多个数据块进行存储,更新版本信息,根据升级数据包生成种子文件并发布到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:客户端的程序下载完所有的升级数据包后,根据所述升级数据包对所属计算机上的平台程序进行升级,然后热启动节点的平台程序。
S110:客户端将升级成功结果上传至升级服务端,通过WEB服务器对升级状态信息进行访问管理。
本发明的基于BT技术的云平台自动升级系统,采用BT技术,从云平台任何节点都能完成整体平台的升级,所有的资源信息都以一个描述文件形式发布,而实际的文件可以发散在平台的任何节点上,便于维护;有效解决了常规C/S架构下的下载服务的系统瓶颈和带宽瓶颈问题,同时,BT技术在文件共享方面的优越性能,云平台的节点越多,下载速度越快,大大缩短了整个系统升级所需的时间,减少因为升级给用户带来的损失。
另外,系统的断点续传和多点备份功能,只要一个节点完成下载过一个文件拷贝,即使原始资源提供者的节点失效,依然可以完成平台的升级,能比较好的适应在云平台下的各种网络环境。
再次,系统支持对JAVA开发的升级节点的热启动,在升级完毕后,无需先关闭原系统再重启升级后的系统来完成更新,避免给云平台带来的灾难的可能性。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (5)

1.一种基于BT技术的云平台自动升级系统,其特征在于,包括:升级服务端和设置在云平台所有的计算机上的客户端;
所述升级服务端,用于存储升级数据包,并更新升级数据包的版本信息,根据所述升级数据包生成种子文件,收集下载升级数据级包的客户端的地址信息并发送至所述客户端;
所述客户端,用于检测所述升级服务端上的版本信息,若所述版本信息被更新,则从所述升级服务端下载所述种子文件,根据该种子文件从所述升级服务端和/或根据所述地址信息从其它客户端下载所述升级数据包,并根据所述升级数据包对所属计算机上的平台程序进行升级;
所述升级服务端对所述升级数据包进行过加密压缩后进行存储;并将所述升级数据包分成至少两个数据块后进行存储;
所述客户端从所述升级服务端下载所述数据块和/或从其它客户端下载所述数据块,然后将所述数据块进行合并;并在下载所述数据块后,计算所述数据块的Hash验证码与所述种子文件的Hash验证码是否一致,若否,则重新从所述升级服务端下载所述数据块;
所述客户端下载所述升级数据包后,根据解密密钥对其进行解密,若不能解密,则向所述升级服务端发送申请解密密钥请求并下载解密密钥进行更新。
2.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端通过断点续传的方式从所述升级服务端和/或从其它客户端下载升级数据包。
3.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端对所属计算机上的平台程序进行升级后,热启动所述升级后的平台程序。
4.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述客户端将升级状态信息上传至所述升级服务端;
所述升级服务端还用于对所述升级状态信息进行访问管理。
5.根据权利要求1所述的基于BT技术的云平台自动升级系统,其特征在于,所述升级服务端和/或客户端的运行模式为开机自动运行模式。
CN201110380379.XA 2011-11-25 2011-11-25 基于bt技术的云平台自动升级系统 Active CN102413185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110380379.XA CN102413185B (zh) 2011-11-25 2011-11-25 基于bt技术的云平台自动升级系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110380379.XA CN102413185B (zh) 2011-11-25 2011-11-25 基于bt技术的云平台自动升级系统

Publications (2)

Publication Number Publication Date
CN102413185A CN102413185A (zh) 2012-04-11
CN102413185B true CN102413185B (zh) 2015-02-04

Family

ID=45915028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110380379.XA Active CN102413185B (zh) 2011-11-25 2011-11-25 基于bt技术的云平台自动升级系统

Country Status (1)

Country Link
CN (1) CN102413185B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710430B (zh) * 2012-04-19 2015-04-29 广州中国科学院先进技术研究所 一种基于云计算的异构资源衡量系统及调度方法
CN102721420B (zh) * 2012-06-28 2015-05-13 宇龙计算机通信科技(深圳)有限公司 一种基于云计算的导航纠错提示系统及方法
CN103108051A (zh) * 2013-02-27 2013-05-15 上海够快网络科技有限公司 一种从云端服务器同步共享文件的方法
CN103152206A (zh) * 2013-03-25 2013-06-12 安科智慧城市技术(中国)有限公司 一种多设备升级方法和系统
CN103685538A (zh) * 2013-12-20 2014-03-26 中电长城网际系统应用有限公司 一种分布式网络架构
CN105099774B (zh) * 2015-07-08 2018-07-24 上海斐讯数据通信技术有限公司 一种路由器软件升级方法及系统
CN106254440B (zh) * 2016-07-29 2019-12-06 杭州迪普科技股份有限公司 一种ap的升级方法和装置
CN108234173B (zh) * 2016-12-21 2021-05-04 中国电信股份有限公司 节点副本更新方法和装置
CN108322496A (zh) * 2017-01-17 2018-07-24 北京京东尚科信息技术有限公司 镜像文件分发方法及系统、计算机可读存储介质、电子设备
CN109218054B (zh) * 2017-07-03 2022-08-09 腾讯科技(深圳)有限公司 终端动态配置、相应服务器实现方法、装置和存储介质
CN108768783B (zh) * 2018-06-08 2021-10-22 郑州云海信息技术有限公司 一种循环测试网络连通性的方法及系统
CN110267107A (zh) * 2019-06-21 2019-09-20 深圳Tcl新技术有限公司 一种软件升级包下载方法、系统及存储介质
CN111147553A (zh) * 2019-12-11 2020-05-12 福建星网智慧科技股份有限公司 一种基于p2p的网关远程快速批量升级方法及系统
CN113741937B (zh) * 2021-09-02 2024-03-15 北京百度网讯科技有限公司 用于云终端的应用更新方法、装置及计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795203A (zh) * 2009-02-03 2010-08-04 华为软件技术有限公司 软件升级数据包的下载方法和装置
CN101795295A (zh) * 2010-03-11 2010-08-04 北京安天电子设备有限公司 一种基于点对点技术的局域网病毒库升级系统和方法
CN102065110A (zh) * 2009-11-12 2011-05-18 钟惠波 一种基于p2sp的客户端软件在线升级的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795203A (zh) * 2009-02-03 2010-08-04 华为软件技术有限公司 软件升级数据包的下载方法和装置
CN102065110A (zh) * 2009-11-12 2011-05-18 钟惠波 一种基于p2sp的客户端软件在线升级的方法和系统
CN101795295A (zh) * 2010-03-11 2010-08-04 北京安天电子设备有限公司 一种基于点对点技术的局域网病毒库升级系统和方法

Also Published As

Publication number Publication date
CN102413185A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
CN102413185B (zh) 基于bt技术的云平台自动升级系统
US11080144B2 (en) System and method for managing blockchain nodes
Blomer et al. Distributing LHC application software and conditions databases using the CernVM file system
US10084839B2 (en) Upload operation using multiple connections
US10803015B2 (en) Caching system and method
CN103841170B (zh) 一种云存储方法和服务器
CN102945175A (zh) 一种基于云计算环境的终端软件在线升级系统及其方法
CN103810061B (zh) 一种高可用云存储方法
US20200409584A1 (en) Load balancing for scalable storage system
CN103986748A (zh) 实现服务化的方法和装置
Simonet et al. Active Data: A programming model to manage data life cycle across heterogeneous systems and infrastructures
CN105183470A (zh) 一种自然语言处理系统化服务平台
CN107465709B (zh) 分布式镜像构建任务方法及装置、系统
KR101033813B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
CN112492022A (zh) 提高数据库可用性的集群、方法、系统及存储介质
De Salvo et al. Software installation and condition data distribution via CernVM File System in ATLAS
KR101600717B1 (ko) P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치
CN111914019A (zh) 一种基于区块链技术的稳控数据管理系统及方法
CN110493355A (zh) 一种系统日志的下载方法及装置
Johansen et al. Overlay cloud networking through meta-code
Wei et al. Towards efficient data distribution on computational desktop grids with BitTorrent
Chen et al. Adaptive data replicas management based on active data-centric framework in cloud environment
WO2021055546A1 (en) System and method for managing blockchain nodes
Paidiparthy EdgeFn: A Lightweight Customizable Data Store for Serverless Edge Computing
Bajaber et al. Different Techniques to Ensure High Availability in Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant