软件安装系统及方法

文档序号:6555794阅读:301来源:国知局
专利名称:软件安装系统及方法
技术领域
本发明涉及一种软件安装系统及方法。
技术背景现代社会的竞争越来越激烈,为了保证能在竞争中立于不败之地,效率的提高已经成为一大关注焦点。
以往,基于客户端——服务器(Client-Server)架构的网络,在为多台客户端计算机(Client)安装软件时,往往需要专人使用安装光盘到Client逐一安装,这样显然比较浪费时间,效率也很低下,更不利于软件版本的及时更新;而且如果使用安装光盘逐一安装,势必需要为每台客户端计算机都配置光驱,这样不仅会造成硬件资源的浪费,还会带来安全隐患,不利于整个网络的管理和维护;大大降低了工作效率和资源利用率。

发明内容鉴于以上内容,有必要提供一种软件安装系统,其可正确有效地完成网域内软件的安装。
鉴于以上内容,还有必要提供一种软件安装方法,其可正确有效地完成网域内软件的安装。
一种软件安装系统,用于通过网络将软件从服务器安装至客户端计算机,该系统包括接收模块,用于接收欲在客户端计算机安装软件的信息,并将所述信息转化为工作任务;代理模块,用于根据所述工作任务载入配置档;通信模块,用于创建通道,并在该通道内进行广播和监听;主控制模块,用于调用通信模块对所述通道进行广播和监听以发送和获得信息,分配所述工作任务,将所述工作任务放入工作队列,及从工作队列中取出一个工作任务,并控制该工作任务的执行;从控制模块,用于调用通信模块对所述通道进行监听和广播以获得和发送信息,及控制上述工作任务的完成;执行模块,用于执行所述工作任务。
进一步地,所述软件安装系统还包括判断模块,用于判断执行模块是否执行成功及判断工作队列中是否存在工作任务。
其中,所述配置档包括主控制模块的配置信息和从控制模块的配置信息,所述执行模块与工作任务一一对应。
进一步地,所述主控制模块还用于从工作队列中删除已成功执行的工作任务。
一种软件安装方法,该方法包括如下步骤(a)接收客户端计算机欲安装软件的信息,并转化为工作任务;(b)根据所述工作任务载入配置档;(c)分配所述工作任务;(d)将所述工作任务放入工作队列;(e)从工作队列中取出一个工作任务;(f)执行该工作任务。
进一步地,所述软件安装方法还包括步骤创建通道。
进一步地,所述步骤(c)包括如下步骤在所述通道内广播通知回报服务器的性能值;监听所述通道,并回报服务器的性能值;监听所述通道,以获得上述回报的性能值;根据所述性能值,分配所述工作任务。
其中,所述性能值包括服务器的CPU(Central processing unit)使用率和内存使用率。
进一步地,所述软件安装方法还包括步骤判断工作任务是否执行成功;若执行失败,则返回步骤(d);若执行成功,则从工作队列中删除已成功执行的工作任务;判断工作队列中是否还存在工作任务;若工作队列中还存在工作任务,则返回步骤(e);若工作队列中不存在工作任务,则直接结束流程。
相较现有技术,所述软件安装系统及方法,可实现网域内软件大批量地安装,并能保证安装时网络的负载平衡,及减少客户端计算机光驱不必要的使用,因而可提高软件安装的工作效率和网络的资源利用率。

图1是本发明软件安装系统较佳实施例的运行环境示意图。
图2是本发明软件安装系统较佳实施例的系统架构图。
图3是本发明软件安装系统另一个较佳实施例的系统架构图。
图4是本发明软件安装方法较佳实施例的作业流程图。
图5是本发明步骤分配工作任务较佳实施例的具体流程图。
具体实施方式参阅图1所示,是本发明软件安装系统较佳实施例的运行环境示意图。在本发明的较佳实施例中,该软件安装系统安装于客户端——服务器(Client-Server)架构内,该客户端——服务器架构包括以分布式分布的多个客户端计算机1、网络2及至少一个服务器3,所述客户端计算机1通过网络2与服务器3相连。
客户端计算机1内安装有Windows操作系统,所述客户端计算机1可以是IBM架构的个人计算机(IBM Personal Computer,IBMPC),也可以是任意其它适用的计算机。
网络2是一种电子网络,其可以为企业内部网(Intranet)、国际互联网(Internet)或其它类型网络。
服务器3可以是单个服务器,也可以是多个服务器组成的工作组。所述服务器3用于通过网络2将软件安装到客户端计算机1中,所述服务器3还可为用户提供交互式使用界面,用户通过该界面可以查看客户端计算机1内软件的配置情况及软件的安装情况。
所述软件安装系统用于根据用户欲安装软件的信息形成工作任务并载入配置档;将所述工作任务放入工作队列;从所述工作队列中取出工作任务;及执行上述工作任务,将软件安装到客户端计算机1中。其中,所述工作任务为安装软件的最小单位。
参阅图2所示,是本发明软件安装系统较佳实施例的系统架构图。该软件安装系统10安装在服务器3中,其包括接收模块100、代理模块102、通信模块104、主控制模块106、从控制模块108、执行模块110及判断模块112。
接收模块100用于接收用户欲在客户端计算机1上安装软件的信息,并将该信息转化为工作任务。其中,所述信息包括客户端计算机1的IP(Internet Protocol)地址及欲安装软件的名称等。
代理模块102用于根据接收模块100接收的工作任务,载入配置档,并通知主控制模块106。所述配置档包括主控制模块106的配置信息和从控制模块108的配置信息;所述配置信息包括主控制模块106的个数、从控制模块108的个数等。在本较佳实施例中,所述代理模块102控制所有的主控制模块106、从控制模块108及执行模块110;所述代理模块102可以与主控制模块106、从控制模块108和执行模块110安装在同一台服务器3上,也可以安装在不同的服务器3上。
通信模块104用于创建通道并在该通道内进行广播和监听;主控制模块106和从控制模块108可以藉此进行通信。具体而言,主控制模块106收到代理模块102的通知后,调用通信模块104在该通道内进行广播和监听,以向从控制模块108发送信息及获得从控制模块108的信息;从控制模块108监听该通道获得主控制模块106的信息;及从控制模块108调用通信模块104广播以向主控制模块106回报信息。其中,所述信息包括性能值等。所述性能值包括从控制模块108所在服务器3的CPU(Central processing unit)使用率和内存使用率。
主控制模块106用于控制至少一个从控制模块108和工作队列。所述工作队列为工作任务的序列。具体而言,主控制模块106收到代理模块102的通知后,调用通信模块104通知从控制模块108回报其所在服务器3的性能值;再通过通信模块104进行监听,从而获得其下所有从控制模块108回报的性能值;根据所述性能值,分配工作任务,即选择一个从控制模块108完成工作任务;将所述工作任务放入工作队列;及从工作队列中取出一个工作任务,并调用该工作任务对应的从控制模块108。主控制模块106还用于将已成功执行的工作任务从工作队列中删除。
从控制模块108用于调用通信模块104对所述通道进行监听和广播以获得和发送信息,及调用执行模块110完成工作任务。具体而言,从控制模块108监听所述通道获得主控制模块106的回报性能值通知;及调用通信模块104向主控制模块106回报其所在服务器3的性能值。
执行模块110用于执行具体工作任务,即将软件通过网络2安装到客户端计算机1中。其中,不同的工作任务对应不同的执行模块110。
判断模块112用于判断执行模块110是否执行成功及判断主控制模块106所控制的工作队列中是否存在工作任务。
参阅图3所示,是本发明软件安装系统另一较佳实施例的系统架构图。在本较佳实施例中,所述软件安装系统10的接收模块100可以安装在客户端计算机1中,通过该客户端计算机1就可接收用户欲安装软件的信息。
参阅图4所示,是本发明软件安装方法较佳实施例的作业流程图。
首先,需要进行一些准备步骤,所述准备步骤包括创建通道,主控制模块106和从控制模块108可以通过该通道进行通信(步骤S300)。
接收模块100接收用户欲在客户端计算机1上安装软件的信息,并将所述信息转化为工作任务。其中,所述信息包括客户端计算机1的IP(Internet Protoco1)地址及欲安装软件的名称等(步骤S301)。
代理模块102根据接收模块100接收的工作任务,载入配置档,并通知主控制模块106。所述配置档包括主控制模块106的配置信息和从控制模块108的配置信息;所述配置信息包括主控制模块106的个数、从控制模块108的个数等(步骤S302)。
主控制模块106和从控制模块108均调用通信模块104在所述通道内进行广播和监听,主控制模块106根据监听获得的从控制模块108所回报的性能值,分配所述工作任务,即选择一个从控制模块108完成该工作任务。所述性能值包括从控制模块108所在服务器3的CPU(Central processing unit)使用率和内存使用率(步骤S303)。
主控制模块106将所述工作任务放入工作队列(步骤S304)。
主控制模块106从上述工作队列中取出一个工作任务,并调用该工作任务对应的从控制模块108,从控制模块108调用所述工作任务对应的执行模块110(步骤S305)。
执行模块110执行所述工作任务,将软件安装到客户端计算机1中(步骤S306)。
判断模块112判断执行模块110是否执行成功(步骤S307)。
若判断模块112判定执行模块110执行成功,则主控制模块106将该工作任务从工作队列中删除(步骤S308)。
判断模块112判断主控制模块106所控制的工作队列中是否还存在工作任务,若不存在工作任务,则结束流程(步骤S309)。
在步骤S307中,若判断模块112判定执行模块110执行失败,则返回步骤S304,主控制模块106将所述工作任务重新放入工作队列。
在步骤S309中,若判断模块112判定主控制模块106所控制的工作队列中还存在工作任务,则返回步骤S305,主控制模块106从工作队列中取出一个工作任务并调用该工作任务对应的从控制模块108。
参阅图5所示,是本发明步骤S303分配工作任务较佳实施例的具体流程图。
首先,主控制模块106收到代理模块102的通知后,调用通信模块104在所述通道内广播通知从控制模块108回报其所在服务器3的性能值。所述性能值包括从控制模块108所在服务器3的CPU(Central processing unit)使用率和内存使用率(步骤S403)。
从控制模块108通过通信模块104监听获得上述回报性能值的通知后,再调用通信模块104向主控制模块106回报其所在服务器3的性能值(步骤S404)。
主控制模块106通过通信模块104监听该通道,从而获得其下所有从控制模块108回报的性能值(步骤S405)。
主控制模块106根据所述性能值,分配所述工作任务,即选择一个从控制模块108完成该工作任务(步骤S406)。
权利要求
1.一种软件安装系统,用于通过网络将软件从服务器安装至客户端计算机,其特征在于,该系统包括接收模块,用于接收欲在客户端计算机安装软件的信息,并将所述信息转化为工作任务;代理模块,用于根据所述工作任务载入配置档;通信模块,用于创建通道,并在该通道内进行广播和监听;主控制模块,用于调用通信模块对所述通道进行广播和监听以发送和获得信息,分配所述工作任务,将所述工作任务放入工作队列,及从工作队列中取出一个工作任务,并控制该工作任务的执行;从控制模块,用于调用通信模块对所述通道进行监听和广播以获得和发送信息,及控制上述工作任务的完成;执行模块,用于执行所述工作任务。
2.如权利要求1所述的软件安装系统,其特征在于,该系统还包括判断模块,用于判断执行模块是否执行成功及判断工作队列中是否存在工作任务。
3.如权利要求1所述的软件安装系统,其特征在于,所述的配置档包括主控制模块的配置信息和从控制模块的配置信息。
4.如权利要求1所述的软件安装系统,其特征在于,所述的执行模块与工作任务一一对应。
5.如权利要求1所述的软件安装系统,其特征在于,所述的主控制模块还用于从工作队列中删除已成功执行的工作任务。
6.一种软件安装方法,用于通过网络将软件从服务器安装至客户端计算机,其特征在于,该方法包括如下步骤创建通道;接收客户端计算机欲安装软件的信息,并转化为工作任务;根据所述工作任务载入配置档;分配所述工作任务;将所述工作任务放入工作队列;从工作队列中取出一个工作任务;执行该工作任务。
7.如权利要求6所述的软件安装方法,其特征在于,所述步骤分配所述工作任务,包括如下步骤在所述通道内广播通知回报服务器的性能值;监听所述通道,并回报服务器的性能值;监听所述通道,以获得上述回报的性能值;根据所述性能值,分配所述工作任务。
8.如权利要求7所述的软件安装方法,其特征在于,所述的性能值包括服务器的中央处理器使用率和内存使用率。
9.如权利要求6所述的软件安装方法,其特征在于,该方法还包括步骤判断工作任务是否执行成功;若执行失败,则返回将所述工作任务放入工作队列的步骤;若执行成功,则从工作队列中删除已成功执行的工作任务;判断工作队列中是否还存在工作任务;若工作队列中还存在工作任务,则返回从工作队列中取出一个工作任务的步骤;若工作队列中不存在工作任务,则结束流程。
全文摘要
本发明提供一种软件安装方法,用于通过网络将软件从服务器安装至客户端计算机,该方法包括如下步骤接收客户端计算机欲安装软件的信息,并转化为工作任务;根据所述工作任务载入配置档;分配所述工作任务;将所述工作任务放入工作队列;从工作队列中取出一个工作任务;执行该工作任务。本发明还提供一种软件安装系统。使用该软件安装系统及方法,用户通过网络就能实现软件的自动安装,因而可降低工作强度,提高软件的安装效率。
文档编号G06F9/445GK101018152SQ20061003362
公开日2007年8月15日 申请日期2006年2月11日 优先权日2006年2月11日
发明者林柏全, 胡高鹏 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1