远程部署计算机程序的方法和系统的制作方法

文档序号:7707697阅读:121来源:国知局
专利名称:远程部署计算机程序的方法和系统的制作方法
技术领域
本发明涉及远程部署计算机程序的方法和系统,特别涉及优化远程部署计算机程 序的方法和系统。
背景技术
目前,一些大型企业或公司因为业务需要,成批购置了大量的计算机节点或集群 系统,并按需求在不同的节点上面运行几类应用。这些计算机节点或集群系统通过局域网 或广域网的连接来协同完成一项或几项应用。通常远程计算机上需要安装大量的应用程 序。多台计算机系统的逐一安装一方面需要花费高昂的开销,这包括专业的人力和时间的 开销,另一方面影响系统的可用性。针对以上需求,远程部署系统应运而生,它能在广域网环境下对系统内任意一个 计算机节点进行计算机程序的传输、安装,从而减少人力安装的开销,有效地提高系统维护 的效率,并为系统稳定地运行提供更多的保障。目前已知的一种远程部署方法是单线程远程部署方法,图1示出单线程远程部署 计算机程序的方法示意图。对于η个待安装的计算机程序,先将待安装的计算机程序一个 一个下载到本地,然后再一个一个顺序安装,因此远程部署的总时间是所有计算机程序的 下载时间与所有计算机程序的安装时间的总和。目前已知的另一种远程部署方法是双线程的远程部署方法对于η个待安装的计 算机程序,线程1将η个待安装的计算机程序顺序下载,线程2在等待第i (1 < i < η)个 计算机程序下载完成后,开始安装第i个计算机程序。因此远程部署的总时间为所有计算 机程序的下载时间与全部计算机程序下载完成时还未开始安装的计算机程序的安装时间 的总和,若下载全部完成时还有正在安装的计算机程序,还要在加上这部分计算机程序的 剩余安装时间。然而,随着具有多个组件的软件安装包越来越大,上述两种远程部署需要花费用 户大量的时间。尤其在对拥有大量计算机节点的企业进行远程部署时,大量远程部署的时 间大大影响企业的正常运营以及对外所提供的服务,极大地增加了企业支持用户的企业管
理费用。因此,需要一种优化的远程部署计算机程序的方法。

发明内容
基于上述问题,本发明提供一种优化的远程部署计算机程序的方法和系统。根据本发明的一个方面,提供一种远程部署计算机程序的方法,包括响应于为客 户机远程部署多个计算机程序的请求,获取所述客户机的可用资源信息和相关的网络资源 信息;根据所述客户机的可用资源信息和相关的网络资源信息确定部署策略;以及根据所 述部署策略远程部署所述多个计算机程序的传输和安装。根据本发明的另一方面,提供一种远程部署计算机程序的系统,包括信息获取装置,被配置为响应于为客户机远程部署多个计算机程序的请求,获取所述客户机的可用资 源信息和相关的网络资源信息;部署策略确定装置,被配置为根据所述客户机的可用资源 信息和网络资源信息确定部署策略;以及远程部署装置,被配置为根据所述部署策略远程 部署所述多个计算机程序的传输和安装。本发明的方法和装置,根据客户机的可用资源信息和网络资源信息优化远程部署 策略,极大地提高了远程部署的效率,为企业级用户节约了大量的时间和成本。


结合附图,通过参考下列详细的示例性实施例的描述,将会更好地理解本发明本 身、优选的实施方式以及本发明的目的和优点,其中图1示出已知的单线程远程部署方法的示意图;图2示出已知的双线程远程部署方法的示意图;图3示出根据本发明实施例的远程部署计算机程序的方法流程图;图4示出根据本发明实施例的确定部署策略的方法流程图;图5示出根据本发明实施例的计算远程部署时间的方法流程图;图6示出根据本发明实施例确定的两个组件的部署策略的示意图;图7示出根据本发明实施例确定的三个组件的部署策略的示意图;图8示出根据本发明一个实施例的动态调整部署策略的方法;图9示出根据本发明实施例的远程部署计算机程序的系统框图。
具体实施例方式参照附图描述根据本发明的实施例。图3示出根据本发明实施例的远程部署计算机程序的方法流程图。如图所示,在 步骤301,响应于为客户机远程部署多个计算机程序的请求,获取所述客户机的可用资源信 息和相关的网络资源信息;在步骤302,根据所述客户机的可用资源信息和网络资源信息 确定部署策略;以及在步骤303,根据所述部署策略远程部署所述多个计算机程序的传输 和安装。在步骤301,响应于为客户机远程部署多个计算机程序的请求,获取所述客户机的 可用资源信息和相关的网络资源信息。具体地,根据本发明的一个实施例,可以由客户机向 服务器查询安装列表,响应于服务器返回安装列表,客户机发出远程部署安装列表中的多 个计算机程序的请求。根据本发明的另一个实施例,服务器查询客户机的安装列表,响应于 查询到安装列表,发出为客户机远程部署多个计算机程序的请求。获取的客户机本地可用 资源信息至少可以包括操作系统的类型和版本、CPU的速度、CPU的平均使用率、可用内存、 硬盘可用大小以及IO速度的至少其中之一,客户机的本地可用资源信息可以通过安装在 客户机侧的代理程序来获取,也可以由服务器通过IT管理系统来获取,还可以通过第三方 软件来获取。在获取客户机的本地资源信息之后,利用软件提供商提供的统一接口的工具 来计算计算机程序的安装时间。接口的输入参数为客户机的本地可用资源信息数据,包括 操作系统的类型和版本、CPU的速度、CPU的平均使用率、可用内存、硬盘可用大小以及IO速 度的至少其中之一,输出为相应计算机程序的安装时间。
5
与客户机相关的网络资源信息至少包括网络传输带宽、网络传输方式的其中之 一。通过在客户机侧安装代理程序或者由进行远程部署的服务器向客户机发送测试数据包 来测试客户机与服务器之间的网络传输带宽信息,也可以通过IT管理系统来获取客户机 与服务器之间的网络传输带宽信息,还可以通过获取底层网络的配置信息来获得客户机与 服务器之间的网络传输带宽信息。对于网络带宽的波动的情况,从统计意义的角度,在一段 时间内网络传输速度不是随机剧烈波动的,而是能够稳定在一定数值的。因此从一个统计 学角度获得某一段时间内的平均传输速度,作为某一段时间的网络带宽是完全合理的。企 业内网络带宽更大,也更稳定。但由于维护企业内网稳定性的要求,从服务器下载软件的带 宽一般都是受限的。这个限制一般在服务器端设置。被设置的属性包括同时进行下载的客 户端的数量,每个客户端的最大下载带宽等。这样可以避免下载服务因为占用带宽过大,影 响服务器上其它程序,应用和服务。所以,企业内部网络的实际下载带宽比物理设备提供的 最大带宽要小。例如,网络共享带宽为lGbpS/S,下载连接数限制为50,每个连接的下载带 宽限制为lOMbps/s。这样可以保证在服务器在满负荷下载时,服务器上的其它程序,应用和 服务不会因为网络阻塞而受到影响。最终,这种居于高硬件配置的网络下载设置进一步保 证了企业内网的稳定性。可以根据不同的网络传输方式采用不同的网络传输带宽的计算方法,本发明的一 个实施例中,对于传统的CS(客户端服务器)方式,服务器吐出数据流,客户端接收数据, 服务器很容易到达流量的瓶颈上限。CS方式主要包括FTP、HTTPS和HTTP网络传输协议, 以FTP为例,客户端要想下载一个文件,必须连接到提供FTP服务的服务器上,然后用FTP 协议下载文件,这是传统的客户端_服务器模型。在CS方式下,需要获得客户机与服务 器之间的传输速度,作为计算计算机程序传输时间的依据。在本发明的另一实施例中,对 于P2P (peer-to-peer)方式,在个人电脑之间直接进行资源和服务的共享,而不象传统的 browser/server或者client/server结构那样需要经过服务器的介入和服务。在P2P结构 中,每台个人电脑同时充当服务器和客户端的角色,当需要其他电脑的文件或者服务时,两 台电脑直接建立联系,本机是客户端,而当响应其他电脑的资源要求时,本机又成为提供资 源与服务的服务器。BT(BitTorrent)传输方式是一 种典型的P2P方式,在这种方式下,需要 获得客户机与客户机之间的传输速度,作为计算网络传输带宽的依据。在步骤302,根据所述客户机的可用资源信息和相关的网络资源信息确定安装策 略。具体地,优化远程部署的时间,其中进一步包括根据客户机的可用资源信息计算多个计 算机程序的安装时间并根据所述相关的网络资源信息计算多个计算机程序的传输时间,基 于所述多个计算机程序的安装时间和传输时间确定部署策略。图4示出根据本发明实施例确定部署策略的方法流程图400。在步骤401,从待 处理计算机程序的任务池中随机取出一个计算机程序并放入一个临时任务队列的起始位 置;在步骤402,从待处理计算机程序的任务池中再随机取出一个计算机程序作为当前计 算机程序;在步骤403,将当前计算机程序插入临时任务队列的起始位置;在步骤404,按照 图5示出的算法流程图500根据当前临时任务队列的计算机程序排列顺序计算队列下载和 安装计算机程序的总时间;在步骤S405,判断是否按照当前计算机程序插在临时任务队列 队尾的排列顺序计算该队列下载和安装计算机程序的总时间,如果结果为否,那么在步骤 S406,将当前计算机程序的插入位置在临时任务队列中向后移位并重复步骤S404直至按照当前计算机程序遍历临时任务队列的所有位置的队列排列顺序完成计算相应队列下载 和安装计算机程序的总时间,即,步骤S405的判断结果为是,那么在步骤S407对按照当前 计算机程序位于临时任务队列各个位置时所对应的各个临时任务队列的排列顺序计算相 应队列下载和安装计算机程序的总时间进行比较并排序;在步骤S408,根据下载和安装计 算机程序总时间的最小值所对应的排列顺序将当前计算机程序插入队列的相应位置;在步 骤S409,判断待处理的计算机程序的任务池中是否还有计算机程序,若结果为是,继续步骤 402到步骤408直到待处理计算机程序池中没有多余的计算机程序;若结果为否,那么当前 临时队列是最优排列,流程结束。图5示出根据本发明实施例计算远程部署总时间的方法流程图500。图中的累计 延迟时间是指,对于第η个计算机程序,该计算机程序下载完成和开始安装之间延迟的时 间。造成这一延迟的原因是在第η个计算机程序下载完成时,之前下载完成的计算机程序 尚未完成安装。之前下载完成而尚未完成安装的计算机程序一般包括第η-1个软件,但也 可能包括第η-2个软件或者更早下载的软件。同时,第η-1个软件在安装时,也可能会有延 迟,这种延迟效应会产生累加效应,并影响后续的安装过程。在步骤S501,将初始化累计延迟时间设为0 ;在步骤S502,按照任务队列中计算 机程序的排列顺序取出第η个位置的计算机程序,η从1开始;在步骤S503,下载和安装 计算机程序的总时间被初始化为当前环境下第η个位置的计算机程序的下载时间;在步骤 S504,取出计算机程序队列中第η+1个位置的计算机程序;在步骤S505,在初始化的下载和 安装计算机程序的总时间上累加第η+1个位置的计算机程序的下载时间;在步骤S506,判 断第η个位置的计算机程序的安装时间与累计延迟时间的和是否小于或等于第η+1个位置 的计算机程序的下载时间;若结果为是,那么在步骤S507累计延迟时间为0 ;若结果为否, 那么在步骤S508计算累计延迟时间=第η个位置的计算机程序安装时间+当前累计延迟 时间-第η+1个位置的计算机程序的下载时间;接着,在步骤S509,判断当前任务队列还有 计算机程序吗,若结果为是,那么η = η+1,返回到步骤S504重复执行;若结果为否,那么前 进到步骤S510,计算按照当前任务队列的排列顺序下载和安装计算机程序的总时间=当前 下载和安装计算机程序的总时间+累计延迟时间+最后位置的计算机程序的安装时间。根据本发明实施例的远程部署方法得到的任务队列是对应于部署时间最短的部 署策略的计算机程序任务队列,对于计算机程序数目少的处理任务,也可以采用穷举法来 分别计算各种排列组合所需要的处理总时间,从而选出最优的方案,然而对于数目较多的 计算机程序处理任务,根据本发明实施例的方法效率更高,能够节省更多的时间成本。根据 本发明实施例提供的远程部署方法,在安装和下载同时进行时,由于不存在两个或两个以 上软件同时安装和同时下载的情况,因此同一时刻只运行一个下载线程和一个安装线程, 对于目前的CPU处理器,下载和安装两个线程不会消耗掉很多的CPU资源,因为对于下载, 数据的接收采用DMA的传输方式,这也就意味着会占用很少的CPU资源。在CPU平均使用 率、可用内存大小以及硬盘大小没有到100%的情况下,两个线程不会出现由于硬件资源被 消耗尽而产生互相影响性能的状况。本发明的计算机程序可以是独立安装的软件或软件 包,也可以是一个个独立安装的组件。以下示出根据本发明的实施例部署两个组件和三个 组件的实施例。远程部署两个组件的第一实施例
首先响应于客户机向服务器查询安装列表的请求,服务器返回安装列表,安装列 表显示客户机需要安装组件A和组件B。响应于客户机的组件安装请求,服务器获取客户 机的可以资源信息和相关的网络资源信息。由客户机或者服务器测试客户机与服务器之间 的网络资源信息,测试得到客户机与服务器之间的传输带宽是IM字节/每秒,采用ftp传 输协议进行传输。客户机查询本地可用资源信息,其中操作系统是Window 2000 sp4, CPU 速度是3GHz,CPU的平均使用率是50%,可用内存是1GB,可用硬盘是50GB,硬盘IO速度是 IOM字节/每秒。服务器根据客户机的可用资源信息,调用软件提供商提供的待处理组件的 API接口,计算出组件A的安装时间是5分钟,组件B的安装时间是10分钟。服务器根据网 络资源信息和软件大小计算软件传输时间,这里组件A为600M字节,组件B为900M字节, 根据网络带宽,计算得到组件A的下载时间是10分钟,组件B的下载时间是15分钟。利用 上述安装时间和传输时间根据本发明实施例的算法确定部署策略,按照图4的流程图,从 待处理组件的任务池里随机取出组件B并放入一个临时任务队列的起始位置,再取出组件 A并放在该临时任务队列的起始位置,按照组件队列AB的顺序计算待处理组件A和B传输 并安装完成的总时间Tab,根据图5的方法流程图,初始化累计延迟时间为0,由于组件B不 存在安装的延迟时间,累计延迟时间是0,接着取出组件A,将该队列下载和安装的总时间 初始化为组件A的下载时间10分钟,然后取出组件B,此时该队列下载和安装的总时间等于 当前队列下载和安装的总时间(10分钟)加上组件B的下载时间(15分钟),结果为25分 钟,接着判断组件A的安装时间(5分钟)与当前累计延迟时间(0)的和是否小于等于组件 B的下载时间(15分钟),结果为是,因此累计延迟时间为0,接着计算该队列下载并安装完 成的总时间Tab = Ta下载+Tb下载+Tbssi= 10+15+10 = 35分钟。再将组件A向后移位至队尾, 按照组件队列BA的顺序计算待安装处理组件A和B传输并安装完成的总时间Tba,初始化累 计延迟时间为0,接着取出组件B,将该队列下载和安装的总时间初始化为组件B的下载时 间15分钟,然后取出组件A,此时队列下载和安装的总时间等于当前队列下载和安装的总 时间(15)加上组件A的下载时间(10分钟),结果为25分钟,接着判断组件B的安装时间 (10分钟)与当前累计延迟时间(0)的和是否小于等于组件A的下载时间(10分钟),结果 为是,因此累计延迟时间为0,接着计算该队列下载并安装完成的总时间Tba = Tbts+Tats +Tass= 15+10+5 = 30分钟。通过比较确定按照队列BA的顺序进行下载和安装是最优部 署策略,图6示出根据本发明实施例确定两个组件的部署策略,即,先下载组件B,再下载组 件A,在下载组件A的同时安装组件B,最后安装组件A。将确定的部署策略进行存储,服务 器可以根据上述部署策略监控客户机安装组件,也可以将上述部署策略发送到客户机,由 客户机来执行组件安装。利用图1所示的单线程远程部署的方法部署组件A和组件B,S卩,先将组件A和组 件B分别下载到本地之后,再分别安装组件A和组件B,根据上述提供的组件A和组件B的 安装时间和传输时间,可以计算出远程部署所需的总时间=10+15+5+10 = 40分钟。相较 于单线程的远程部署方法,本发明部署策略的部署时间节省了 25%。相较于本发明实施例 中的另一个双线程部署策略的部署时间(Tab),根据本发明部署策略部署时间节省了 14%。远程部署三个组件的第二实施例首先响应于客户机向服务器查询安装列表的请求,服务器返回安装列表,安装列 表显示客户机需要安装组件A、组件B和组件C。响应于客户机的组件安装请求,服务器获
8取客户机的可以资源信息和相关的网络资源信息。由客户机或者服务器测试客户机与服务 器之间的网络资源信息,测试得到客户机与服务器之间的网络带宽是IM字节/每秒,采用 ftp传输协议进行传输。客户机查询本地可用资源信息,其中操作系统是AIX 5. 3. 0.4, CPU 速度是2. 5GHz, CPU的平均使用率是30 %,可用内存是2GB,可用硬盘是100GB,硬盘IO速 度是8M字节/每秒。服务器根据客户机的可用资源信息,调用软件提供商提供的待处理组 件的API接口,计算出组件A的安装时间是1分钟,组件B的安装时间是5分钟,组件C的 安装时间是10分钟。服务器根据网络资源信息和软件大小计算软件传输时间,这里组件A 为600M字节,组件B为300M字节,组件C为60M字节,根据网络带宽,计算得到组件A的下 载时间是10分钟,组件B的下载时间是5分钟,组件C的下载时间是1分钟。利用上述安 装时间和传输时间根据本发明实施例的方法确定安装策略,首先按照图4的流程图,从待 处理组件的任务池里随机取出组件A并放入一个临时任务队列的起始位置,再取出组件B 并放在该临时任务队列的起始位置,按照组件队列BA的顺序计算待处理组件A和B下载并 安装的总时间TBA,由于组件A不存在安装的延迟时间,累计延迟时间是0,因此组件A和B 下载并安装完成的总时间Tba = Tb下载+Ta下载+Ta安装=5+10+1 = 16分钟。再将组件B向后 移位至队尾,按照组件队列AB的顺序计算待处理组件A和B下载和安装完成的总时间Tab, 由于组件B不存在安装延时,累计延迟时间是0,因此组件A和B下载并安装完成的总时间 Tab = Ta下载+Tb下载+Tbss= 10+5+5 = 20分钟,通过比较时间的大小,确定保留顺序为BA的 队列。接着取出最后一个组件C并插入队列BA起始位置形成第一种组件队列CBA,按照组 件队列CBA的顺序根据图5的流程图计算待处理组件A、B和C下载和安装的总时间Tcba,首 先将当前累计延迟时间初始化为0,接着取出组件C,将该队列下载和安装的总时间初始化 为C组件的下载时间1分钟,然后取出组件B,此时队列下载和安装的总时间等于当前队列 下载和安装的总时间(1分钟)加上组件B的下载时间(5分钟),结果为6分钟,接着判断 组件C的安装时间(10分钟)与当前累计延迟时间(0)的和是否小于等于组件B的下载时 间(5分钟),判断结果为否,此时存在累计延迟时间,累计延迟时间=组件C的安装时间+ 当前累计延迟时间_组件B的下载时间=10-5 = 5分钟。接着取出队列中的组件A,在该 队列下载和安装的总时间(6分钟)上累加组件A的下载时间(10分钟)后为16分钟,判 断组件B的安装时间(5分钟)与当前累计延迟时间(5分钟)的和是否小于或等于组件A 的下载时间(10分钟),判断结果为是,那么累计延迟时间为0,最后计算该队列的下载和安 装的总时间Tcba = Tc下载+Tb下载+Ta下载+Tassi= 1+5+10+1 = 17分钟。接着返回到图4的方 法流程图,将组件C向后移位形成第二种组件队列BCA,按照组件队列BCA的顺序计算待处 理组件A、B和C下载和安装的总时间TBAC,根据图5的方法流程图,首先将当前累计延迟时 间初始化为0,接着取出组件B,将该队列下载和安装的总时间初始化为组件B的下载时间 5分钟,然后取出组件C,此时队列下载和安装的总时间等于当前队列下载和安装的总时间 (5分钟)加上组件C的下载时间(1分钟),结果为6分钟,接着判断组件B的安装时间(5 分钟)与当前累计延迟时间(0)的和是否小于等于组件C的下载时间(1分钟),判断结果 为否,因此存在累计延迟时间,累计延迟时间=组件B的安装时间+当前累计延迟时间-组 件C的下载时间=5-1 = 4分钟。接着取出组件队列中的A,在该队列下载和安装的总时间 上累加组件A的下载时间后为16分钟,并判断组件C的安装时间(10分钟)与当前累计延 迟时间(4分钟)的和是否小于或等于组件A的下载时间(10分钟),判断结果为否,那么累计延迟时间=组件C的安装时间+当前累计延迟时间-组件A的下载时间=10+4-10 = 4 分钟,最后计算该队列的下载和安装的总时间Tbca = Tb下载+Tc下载+Ta下载+Ta安装=5+10+1+4+1 =21分钟。将组件C向后移位至队尾,形成第三种组件队列BAC,按照组件队列BAC的顺序 计算待处理组件A、B和C下载和安装的总时间Tba。,根据图5的方法流程图,首先将当前累 计延迟时间初始化为0,接着取出组件B,将该队列下载和安装的总时间初始化为组件B的 下载时间5分钟,然后取出组件A,此时在该队列下载和安装的总时间上累加组件A的下载 时间(10分钟)后为15分钟,接着判断组件B的安装时间(5分钟)与当前累计延迟时间 (0)的和是否小于等于组件A的下载时间(10分钟),结果为是,因此累计延迟时间为0。接 着取出组件队列中的C,在该队列下载和安装的总时间(15分钟)上累加组件C的下载时间 (1分钟)后为16分钟,并判断组件A的安装时间(1分钟)与当前累计延迟时间(0)的和 是否小于或等于组件C的下载时间(1分钟),结果为是,那么累计延迟时间为0,最后计算 该队列的下载和安装的总时间Tbac = Tb下载+Ta下载+Tc下载+Tcssi= 1+5+10+10 = 26分钟。通 过比较确定按照队列BCA的顺序进行下载和安装是最优部署策略。图7示出根据本发明实 施例确定的三个组件的部署策略,即,先下载组件C,再分别下载组件B和组件A,在下载组 件B后人组件A的同时安装组件C和组件B,最后安装组件A。将该部署策略进行存储,服 务器可以根据上述部署策略监控客户机安装组件,也可以将上述安装策略发送到客户机, 由客户机来执行组件安装。利用图1所示的单线程远程部署的方法部署组件A、B和C,根据上述提供的组件 A、B和C的安装时间和传输时间,可以计算出远程部署所需的总时间=10+5+1+1+5+10 = 32分钟。相较于单线程的远程部署方法,本发明最优部署策略的部署时间节省了 47%。相 较于本发明实施例中的双线程部署策略的最长部署时间,即,按照队列ABC的顺序进行下 载和安装的总时间Tabc(30分钟),本发明部署策略的部署时间节省了 43%。本发明实施例的远程部署计算机程序的方法,以远程部署时间最短为目标,统筹 考虑客户机的本地可用资源信息和网络资源信息,向用户提供优化部署时间的远程部署策 略,提高了远程部署的效率,为需要远程部署大量计算节点的企业级用户节省了大量宝贵 的时间资源。在根据部署策略实施远程部署计算机程序的过程中,由于实际运行情况,客户机 的可用资源信息和相关的网络资源信息可能会发生变化,因此需要动态调整剩余计算机程 序的部署策略。例如,计算机程序的实际传输速度和计算所得的传输速度不符。在这种情 况下,需要监测计算机程序的实际传输速度。再例如,CPU的平均使用率发生变化,影响了 计算机程序的安装时间。根据本发明的一个实施例,可以设置获取可用资源信息和相关的网络资源信息的 时间间隔,在预定的时间重新获取客户机的可用资源信息和网络资源信息,并根据客户机 的当前可用资源信息和网络资源信息重新确定剩余计算机程序的部署策略,并根据重新确 定的部署策略远程部署剩余多个计算机程序。图8示出根据本发明一个实施例动态调整部署策略的方法,如图所示,在步骤 801,对客户机的可用资源信息和相关的网络资源信息进行监测,例如可以监测计算机程序 的实际传输速度,也可以监测CPU的平均使用率。根据本发明的一个实施例,可以根据预先 设定的阈值来触发重新调整剩余计算机程序的部署策略,首先根据可用资源信息和网络资源信息预先设置阈值,其中预先设定的阈值可以是计算机程序的实际传输速度超过/低 于计算的计算机程序的传输速度一定的百分比、CPU的平均使用率超过规定的百分比或者 可用内存的大小低于规定的百分比。接着判断当前可用资源信息和相关的网络资源信息是 否超过阈值。在步骤802,响应于当前可用资源信息或相关的网络资源信息超过阈值,根据所述 客户机的当前可用资源信息和相关的网络资源信息重新确定剩余计算机程序的部署策略。 具体地,可以根据本发明图4和图5所示的方法重新确定剩余计算机程序的部署策略。在步骤803,根据所述重新确定的部署策略远程部署所述剩余多个计算机程序。根据本发明实施例动态调整部署策略的方法根据客户机的可用资源信息和相关 的网络资源信息的实际情况动态地调整最优部署策略,进一步提高远程部署的性能和效 率。基于同一发明构思,本发明还提供了远程部署计算机程序的系统。图9示出根据 本发明实施例的远程部署计算机程序的系统框图。如图所示,远程部署计算机程序的系统 包括信息获取装置901,被配置为响应于为客户机远程部署多个计算机程序的请求,获取 所述客户机的可用资源信息和相关的网络资源信息;部署策略确定装置902,被配置为根 据所述客户机的可用资源信息和网络资源信息确定部署策略;以及远程部署装置903,被 配置为根据所述部署策略远程部署所述多个计算机程序的传输和安装。部署策略确定装置902进一步被配置为根据所述客户机的可用资源信息计算所 得的所述多个计算机程序的安装时间和根据所述网络资源信息计算所得的所述多个计算 机程序的传输时间计算远程部署时间,并根据远程部署时间确定多个计算机程序的部署策 略。所述远程部署计算机程序的系统进一步包括信息监测装置904,被配置为对客户 机的当前可用资源信息和相关的网络资源信息进行监测。所述信息监测装置进一步包括 阈值设置装置,被配置为对可用资源信息或相关的网络资源信息预先设置阈值;判断装置, 被配置为判断当前可用资源信息和相关的网络资源信息是否超过阈值。确定部署策略的装置进一步被配置为响应于当前可用资源信息或相关的网络资 源信息超过阈值,根据所述客户机的当前可用资源信息和相关的网络资源信息重新确定剩 余计算机程序的部署策略;以及部署装置进一步被配置为根据所述重新确定的部署策略远 程部署所述剩余多个计算机程序的传输和安装。本发明可以硬件、软件、固件或其组合的方式实现。本发明可以集中的方式在一个 计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的 计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。优 选地,本发明以计算机软件和通用计算机硬件的组合的方式在服务器端实现,在这种实现 方式中,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,或 构成本发明的系统。也可以以插件的形式在客户端实现。上面出于举例说明的目的,给出了本发明的优选实施例的说明。优选实施例的上 述说明不是穷尽的,也不打算把本发明局限于公开的明确形式,显然鉴于上述教导,许多修 改和变化是可能的。对本领域的技术人员来说显而易见的这种修改和变化包括在由附加的 权利要求限定的本发明的范围内。
权利要求
一种远程部署计算机程序的方法,包括以下步骤响应于为客户机远程部署多个计算机程序的请求,获取所述客户机的可用资源信息和相关的网络资源信息;根据所述客户机的可用资源信息和相关的网络资源信息确定部署策略;以及根据所述部署策略远程部署所述多个计算机程序的传输和安装。
2.根据权利要求1所述的方法,其中确定部署策略的步骤进一步包括根据所述客户机 的可用资源信息计算所得的所述多个计算机程序的安装时间和根据所述网络资源信息计 算所得的所述多个计算机程序的传输时间计算远程部署时间,并根据所述远程部署时间确 定部署策略。
3.根据权利要求1-2任一项所述的方法,进一步包括对客户机的可用资源信息和相关 的网络资源信息进行监测以获取当前可用资源信息和相关的网络资源信息。
4.根据权利要求3所述的方法,其中对客户机的可用资源信息和相关的网络资源信息 进行监测进一步包括对可用资源信息或相关的网络资源信息预先设置阈值;以及判断当前可用资源信息或相关的网络资源信息是否超过阈值。
5.根据权利要求4所述的方法,其中确定部署策略的步骤进一步包括响应于当前可用 资源信息或相关的网络资源信息超过阈值,根据所述客户机的当前可用资源信息和相关的 网络资源信息重新确定剩余计算机程序的部署策略,以及根据所述重新确定的部署策略远 程部署所述剩余多个计算机程序。
6.根据权利要求1所述的方法,其中所述客户机的可用资源信息至少包括操作系统的 类型和版本、CPU的速度、CPU的平均使用率、可用内存、硬盘可用大小以及IO速度的其中之O
7.根据权利要求1所述的方法,其中所述网络资源信息至少包括网络传输带宽,网络 传输协议的其中之一。
8.一种远程部署计算机程序的系统,包括信息获取装置,被配置为响应于为客户机远程部署多个计算机程序的请求,获取所述 客户机的可用资源信息和相关的网络资源信息;部署策略确定装置,被配置为根据所述客户机的可用资源信息和网络资源信息确定部 署策略;以及远程部署装置,被配置为根据所述部署策略远程部署所述多个计算机程序的传输和安装。
9.根据权利要求8所述的系统,其中部署策略确定装置进一步被配置为根据所述客户 机的可用资源信息计算所得的所述多个计算机程序的安装时间和根据所述网络资源信息 计算所得的所述多个计算机程序的传输时间计算远程部署时间,并根据远程部署时间确定 多个计算机程序的部署策略。
10.根据权利要求8-9任一项所述的系统,其中进一步包括信息监测装置,被配置为对客户机的可用资源信息和相关的网络资源信息进行监测以 获取当前可用资源信息和相关的网络资源信息。
11.根据权利要求10所述的系统,其中信息监测装置进一步包括阈值设置装置,被配置为对可用资源信息或相关的网络资源信息预先设置阈值;以及 判断装置,被配置为判断当前可用资源信息或相关的网络资源信息是否超过阈值。
12.根据权利要求11所述的系统,其中部署策略确定装置进一步被配置为响应于当前可用资源信息或相关的网络资源信息 超过阈值,根据所述客户机的当前可用资源信息和相关的网络资源信息重新确定剩余计算 机程序的部署策略;以及远程部署装置,被配置为根据所述重新确定的部署策略远程部署所述剩余多个计算机 程序。
13.根据权利要求9所述的系统,其中所述客户机的可用资源信息至少包括操作系统 的类型和版本、CPU的速度、CPU的平均使用率、可用内存、硬盘可用大小以及IO速度的其中之一。
14.根据权利要求9所述的系统,其中所述网络资源信息至少包括网络传输带宽,网络 传输协议的其中之一。
全文摘要
本发明公开一种远程部署计算机程序的方法和系统,该方法包括以下步骤响应于为客户机远程部署多个计算机程序的请求,获取所述客户机的可用资源信息和相关的网络资源信息;根据所述客户机的可用资源信息和相关的网络资源信息确定部署策略;以及根据所述部署策略远程部署所述多个计算机程序的传输和安装。
文档编号H04L12/26GK101902352SQ20091013827
公开日2010年12月1日 申请日期2009年5月31日 优先权日2009年5月31日
发明者刘城, 高鹏, 齐耀东 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1