本发明专利技术公开了一种多终端软件并行下载升级方法,该方法包括如下步骤:(1)新的客户端软件上传至管理服务器;(2)管理服务器判断是否启用终端作为“种子服务器”;(3)当上步的判断结果为需要启动“种子服务器”时,管理服务器在不同区域中选择已完成客户端软件下载的终端作为“种子服务器”;(4)各区域终端从其区域内的“种子服务器”上下载新的客户端软件。与传统的客户端软件升级方法相比,本方法显著降低了管理服务器的资源消耗,有效保证了业务的正常运行,同时极大提高了全网终端的整体升级速度,实现了全网终端客户端软件版本的一致性,降低了系统维护的复杂度及业务出现未知风险的可能性。
【技术实现步骤摘要】
本专利技术申请的技术属于计算机网络通讯方法领域,特别是涉及在由多终端构成的网络环境中实现软件并行下载升级的方法。
技术介绍
随着网络技术的不断发展,越来越多的用户开始通过移动网与互联网连接获取自己需要的信息。用户的客户端软件实现了与互联网之间多平台跨网络无缝沟通。现有技术中的交互式网络通信主要包括:(1)B/S(Browse/Server,浏览器/服务器)方式;(2)C/S(client/server,客户端/服务器)网络;(3)P2P(peer to peer,对等)网络三种。上述三种网络通讯的本质均为一方为相对的一方提供服务。对于B/S网络通讯是一种通过浏览器与服务器进行信息交互的网络,最为常见就是WEB服务;C/S网络是一种用户通过客户端侧安装的客户端软件与服务器进行交互信息沟通的网络传输方式;P2P同样也需要在用户端安装客户端软件与其他客户端/服务器进行信息交换。上述三种网络通讯方式中,C/S和P2P网络都需要在客户终端安装相应的客户端软件,通过客户端软件,终端用户能够在用户设备及服务器之间相互进行信息传送(包括文字信息、语音信息、图像信息)。这些客户端软件保证了用户设备、服务器之间数据传输的高速、稳定。但随着信息传送功能的增强及业务发展需求,客户端软件也相应需要进行版本升级。传统的客户端软件升级方式是在服务器上发布最新客户端软件版本,然后通知各个客户端开始从服务器下载并升级,但当全网络区域内的客户终端数目过大时,所有终端同时执行版本下载、升级操作,从服务器下载新版本软件会占用较大的服务器资源,严重时甚至影响服务器正常的业务运行,而且该方式还可能导致部分终端版本升级失败,从而导致全网络区域的终端软件版本不一致,带来难以预 知的业务风险。采用何种网络数据传输方式来保证客户终端进行客户端软件下载升级对服务器的影响最小,传送效率最高是网络通讯发展的重要技术问题。
技术实现思路
本申请的技术方案就是为了解决上述问题,提出一种多网络区域多终端下的软件并行下载升级方法,该方法结合传统文件下载与P2P文件分发技术,实现快速、稳定、安全的多终端文件下载升级,系统判断接入服务器的下载负荷过大时,及时在完成下载的终端中选择、启用“种子服务器”,充当本区域终端的文件下载服务器,从而支撑全网终端快速完成文件下载,进而完成全网终端的版本快速升级。实现上述专利技术目的的多终端软件并行下载升级方法采用如下技术方案:一种多终端软件并行下载升级方法,该方法包括如下步骤:(1)新的客户端软件上传至管理服务器;(2)管理服务器判断是否启用终端作为“种子服务器”;(3)当上步的判断结果为需要启动“种子服务器”时,管理服务器在不同区域中选择已完成客户端软件下载的终端作为“种子服务器”;(4)各区域终端从其区域内的“种子服务器”上下载新的客户端软件。上述方法中,核心是通过服务器对下载状态的监测判断、选择特定的终端作为“种子服务器”,从而使本区域内的其他终端再进行客户端软件下载升级时不再通过管理服务器进行数据传送,减少了管理服务器的数据交换负担,保证了服务器安全、稳定、高效的运行。上述步骤(3)中,管理服务器判断是否启用终端作为“种子服务器”的条件是:(a)全网络区域进行客户端软件升级的终端是否超过终端总数的30%;(b)所有客户端下载带宽之和是否超过了管理服务器的物理带宽的50%;(c)下载客户端软件的终端是否处于不同的区域中;上3个条件满足任何一种情况时,启用“种子服务器”终端。一旦选择确定了该区域的“种子服务器”,则其数据传输的对象就局限在本区域内的 终端,实现数据在区域内部的传输。实际上,服务器选择某个终端作为服务器是具备一定的标准和要求,这里服务器按照下述3个条件进行优先级排序选择:(i)各区域中网络下载速率最快的终端充当“种子服务器”;(ii)各区域中物理带宽负荷最轻的终端充当“种子服务器”;(iii)各区域中CPU负荷最轻的终端充当“种子服务器”。通过上述3个标准的“种子服务器”选择,可以保证作为“种子服务器”的终端在网络传输上具有最高的效率和稳定性,从而实现了其他各终端在客户端软件下载升级中的高效性能。由于“种子服务器”的选择和建立仅是在需要进行客户端软件下载升级中建立的区域服务器,因此,在各区域终端从其区域内的“种子服务器”上完成下载客户端软件后,管理平台关闭“种子服务器”的文件下载服务,原先作为“种子服务器”的终端将作为普通终端使用。由于各区域终端所下载和升级的软件是从“种子服务器”获取的,很有可能会产生新安装的软件不能正常运行的情况,为此,各区域终端完成客户端软件下载后与管理服务器建立心跳连接并进行客户端软件验证过程;如果验证不通过,终端卸载本次升级下载的软件,并从备份目录中恢复操作前的软件版本;同时进行客户端软件验证过程,其具体是在终端与管理服务器建立心跳连接后,从服务器下载测试策略并执行,将测试策略执行结果上报服务器,服务器判断终端上报的结果是否正常,若测试策略执行结果正常,则终端本次升级操作正常完成,流程结束。上述验证、测试过程,保证了各终端虽然从不同“种子服务器”中下载升级了软件,但其最终的效果是同管理服务器软件下载升级是一致的。采用多线程并行运行方式目前已经成为网络通讯的常用手段,这种方式可以大大提高数据传输的效率。为此,本技术方案中,终端从“种子服务器”下载客户端软件、终端验证客户端软件的正确性均采用平行方式,及各个区域中的终端与各自区域内的“种子服务器”是同时进行数据信息交换。具体实施方式为更清楚说明本专利技术技术方案,下面借助一种具体的实施方式进行介绍,首先是终端软件的下载和升级过程;其步骤是(1)管理员上传最新的客户端软件到管理服务器;(2)终端端在通过心跳链接从管理服务器中获取当前系统支持的最新客户端软件版本号;(3)终端进行版本号比对,发现系统存在新版本,发起客户端版本下载更新流程;(4)终端端将自己的系统类型、IP地址、准备下载的软件版本信息告知服务器;(5)服务器进行是否建立“种子服务器”的判断并确定各“种子服务器”的IP地址和下载口令告知各终端;(6)各终端向对应的“种子服务器”发起下载请求,并进行口令认证;(7)终端通过口令认证后,完成新版本下载;(8)下载完成后,终端校验软件是否有效;(9)完成校验后,终端安装新版本软件,完成版本升级操作。终端版本验证的过程如下:(1)终端在完成新版本软件下载安装后,建立到服务器的心跳连接;(2)若心跳连接建立失败,终端检查与服务器的连通性,若连通性不存在问题,则再次尝试建立心跳连接,若仍然失败,则判定客户端新版本存在问题,则转入版本回退流程;(3)终端建立心跳连接后,从服务器下载测试策略并执行,将测试策略执行结果上报服务器;(4)服务器判断终端上报的结果是否正常,并将结果返回;(5)若测试策略执行结果正常,则终端本次升级操作正常完成,流程结束;(6)若测试策略执行结果异常,则客户端本次升级操作失败,转入版本回退流程。终端版本回退流程如下:(1)终端卸载本次升级下载的新版本软件;(2)终端从备份目录中恢复升级操作前的软件版本;(3)软件版本恢复后,终端重新建立到服务器的心跳连接;(3)心跳建立后,终端上报当前系统版本号及版本回退记录本文档来自技高网...
【技术保护点】
一种多终端软件并行下载升级方法,其特征在于,该方法包括如下步骤:(1)新的客户端软件上传至管理服务器;(2)管理服务器判断是否启用终端作为“种子服务器”;(3)当上步的判断结果为需要启动“种子服务器”时,管理服务器在不同区域中选择已完成客户端软件下载的终端作为“种子服务器”;(4)各区域终端从其区域内的“种子服务器”上下载新的客户端软件。
【技术特征摘要】
1.一种多终端软件并行下载升级方法,其特征在于,该方法包括如下步骤:(1)新的客户端软件上传至管理服务器;(2)管理服务器判断是否启用终端作为“种子服务器”;(3)当上步的判断结果为需要启动“种子服务器”时,管理服务器在不同区域中选择已完成客户端软件下载的终端作为“种子服务器”;(4)各区域终端从其区域内的“种子服务器”上下载新的客户端软件。2.根据权利要求1所述的多终端软件并行下载升级方法,其特征在于,步骤(3)中,管理服务器判断是否启用终端作为“种子服务器”的条件是:(a)全网络区域进行客户端软件升级的终端是否超过终端总数的30%;(b)所有客户端下载带宽之和是否超过了管理服务器的物理带宽的50%;(c)下载客户端软件的终端是否处于不同的区域中;上述3个条件满足任何一种情况时,启用“种子服务器”终端。3.根据权利要求1所述的多终端软件并行下载升级方法,其特征在于,步骤(2)中选择作为“种子服务器的”的终端条件为:(i)各区域中网络下载速率最快的终端充当“种子服务器”;(i i)各区域中物理带宽负荷最轻的终端充当“种子服务器”;(i i i)各区域中CPU负荷最轻的终端充当“种子服务器”,上...
【专利技术属性】
技术研发人员:杨振江,党艳平,同理,
申请(专利权)人:北京北信源软件股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。