系统软件获取方法和系统的制作方法

文档序号:7969155阅读:175来源:国知局
专利名称:系统软件获取方法和系统的制作方法
技术领域
本发明涉及一种系统软件获取方法和系统,其使用P2P(peer topeer,点对点)技术来获取系统软件。
背景技术
目前,各类终端需要提供的业务越来越丰富,因此对系统程序的占用空间提出了更高的要求。然而,如果采用传统的将系统程序全部存放在FLASH(闪存)中的方案,必然会提高产品的成本;而另一方面,由于终端设备面对的最终用户为大众消费群体,因此,成本优势成了产品是否能够成功占领市场的重要因素,因此如何降低成本成了终端设备设计与制造商尤其关注的问题。
针对FLASH空间占用,降低成本的一个有效措施就是终端本身只存储启动软件,而将系统程序存放在由系统统一部署的服务器上,系统启动时通过某种文件传输协议,诸如HTTP(HypertextTransfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、TFTP(Trivial File Transfer Protocol,简单文件传输协议)等,从服务器上获取相应的系统程序。终端设备只固化启动软件,开机时从指定的服务器上下载系统软件到终端的内存中运行的方案存在如下的不足a、系统必须部署处理能力足够强的服务器;b、当该服务器下的所有终端同时下载软件时,将会导致网络拥塞,服务器的处理能力会成为整个系统的瓶颈。
如上所述,系统程序固化在终端的FLASH上,终端设备启动时从本地FLASH上获取系统程序进行启动,但是随着系统软件的复杂和多样性,对FLASH占用空间的要求越来越大,因此会导致终端设备的成本增加。

发明内容
针对相关技术的对服务器的处理能力要求较高、成本较大的问题,本发明提供了一种使用P2P技术来获取系统软件的技术方案,根据本发明,一方面,终端设备只固化启动软件,开机时从网络上获取所需求的系统软件,减少终端对FLASH空间的需求,达到降低成本的目的;另一方面,使用P2P技术动态地发现可以获取到相应系统程序文件的其它网络对等设备,然后通过两个设备之间的等对等传输来获取相应的系统程序,从而达到降低服务器的处理能力的目的,进而实现了大量设备同时下载系统软件时网络负载的均衡。
本发明的主要发明思想是在终端设备中只固化启动软件,开机时通过P2P技术自动获取可以为自身提供系统程序的网络对等设备,通过点对点传输来完成系统程序的下载。
根据本发明的一个方面,提供了一种系统软件获取方法。
根据本发明的系统软件获取方法包括以下步骤第一步骤,终端向服务器发送查询请求;第二步骤,响应于查询请求,服务器在进行查询处理后向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的一个或多个节点;第三步骤,终端根据响应消息,分别通过一个或多个节点支持的传输协议从一个或多个节点获取系统软件或部分系统软件;以及第四步骤,终端在获取了系统软件之后,向服务器注册其目前能够为网络中的其他节点提供系统软件的下载服务。
根据本发明的另一方面,提供了一种系统软件获取系统。
根据本发明的系统软件获取系统包括查询请求发送模块,位于终端侧,用于向服务器发送查询请求;响应消息发送模块,位于服务器侧,响应于来自查询请求发送模块的查询请求,在服务器进行了查询处理之后,向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的一个或多个节点;系统软件获取模块,位于终端侧,用于根据来自响应消息发送模块的响应消息,分别通过一个或多个节点支持的传输协议从一个或多个节点获取系统软件或部分系统软件;以及注册模块,在系统软件获取模块获取了系统软件之后,用于向服务器注册终端目前能够为网络中的其他节点提供系统软件的下载服务。
其中,根据本发明的服务器本身即为对等点,当没有其他节点可以为终端提供下载服务时,服务器本身可以作为为服务器提供下载服务的节点。
通过以上技术方案,本发明实现了以下有益效果降低了对FLASH容量的要求,同时降低了对部署的服务器的处理能力的要求,从而降低了产品成本;另外,解决了服务器入口网络传输的瓶颈问题,使整个系统的网络负载达到均衡。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是示出用于实现本发明的技术方案的系统软件获取系统的组网图;图2是示出根据本发明第一实施例的系统软件获取方法的流程图;图3是示出根据本发明第一实施例的系统软件获取方法的一个实例的流程示意图;图4是示出根据本发明第二实施例的系统软件获取方法的流程图;图5是示出根据本发明第二实施例的系统软件获取方法的一个实例的流程示意图;以及图6是示出根据本发明的系统软件获取系统的结构框图。
具体实施例方式
以下将参照附图来具体描述本发明的优选实施例,其中,附图构成本申请的一部分,并与本发明的实施例一起用于阐释本发明的原理。
首先,本发明涉及到的P2P网络,选择的网络模型为动态配置模型(目录式),在目录式模型中,设计一台或多台有特殊用途的服务器为对等点提供目录服务,对等点向目录服务注册关于自身的信息(其名称、地址、资源和元数据),并通过根据目录服务器中信息的查询,使用目录服务来定位其它对等点。动态配置模型的优点网络的可管理性好,使得对资源的查找和更新相当方便,这恰恰满足了终端设备对启动时间都会有存在一定限制的要求,同时也为终端设备的动态加入和退出提供了一种非常灵活的管理机制。
同时,根据终端维管系统的特点,必须设计相应的服务器来发布系统软件,因此这些目录服务器同时也作为普通的对等点存在(减少需要另外部署单独的系统软件发布服务器的要求),在其上存放有系统程序,目录服务器在发现没有任何其它的对等点可以为请求的终端提供系统软件时,就选择自身为相应的终端提供服务,这样解决了第一台启动的设备获取系统程序的问题,此外,当网络上已有大量终端设备可以为对方提供服务时,目录服务器只需要提供相应的查询服务即可,从而大大地降低了对目录服务器的处理能力的要求。
图1是示出根据本发明的系统软件获取系统的相应的组网图,其中,实线表示终端与服务器之间的请求、响应、事件,虚线表示对等终端之间的文件传输。如图1所示,目录服务器本身可以用作终端0,为其他终端提供下载服务。
根据在下载系统软件的过程中,终端是从单一节点获取系统软件还是从多个节点获取系统软件,可以以两种不同方式来实现本发明的系统软件获取方法,下面分别通过第一实施例和第二实施例对此加以描述。
第一实施例在本实施例中,终端从单一节点获取系统软件,其中,该情况下的系统软件获取方法的流程如图2所示,包括以下步骤步骤S202,终端向服务器发送查询请求;步骤S204,响应于查询请求,服务器在进行查询处理后向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的节点;步骤S206,终端根据响应消息,并通过节点支持的传输协议从节点获取系统软件;以及步骤S208,终端在获取了系统软件之后,向服务器注册其目前能够为网络中的其他节点提供系统软件的下载服务。
其中,查询请求中至少包括需要的系统软件版本和支持的传输协议;响应消息包括节点的网络地址和节点能支持的传输协议;此外,注册的内容包括终端的网络地址、支持的文件传输协议、系统软件的版本信息、能够同时为其提供下载服务的对等点的数目。
特别地,服务器可以用作对等点,在没有其他节点可以为终端提供下载服务的情况下,服务器本身作为可以提供下载服务的节点,即,在步骤S204中,响应消息指示的节点为服务器本身。
如图3所示,假设发出查询请求的终端为终端1,服务器查询到的可以为终端1提供下载服务的节点为终端2,则上述的过程可以按照图3的流程进行。其中,终端1在通过通过BIOS(Basic InputOutput System基本输入输出系统)启动后,即可向指定的服务器(目录服务器)发送查询请求,然后服务器返回可以提供服务的设备地址(即,终端2的地址),之后,终端1与终端2根据协商的传输协议完成文件的传输,并且终端1向服务器上报终端的能力。
第二实施例在本实施例中,终端从多个节点获取系统软件,其中,该情况下的系统软件获取方法的流程如图4所示,包括以下步骤步骤S402,终端向服务器发送查询请求;步骤S404,响应于查询请求,服务器在进行查询处理后向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的多个节点;步骤S406,终端根据响应消息,分别通过多个节点支持的传输协议从各个节点获取部分系统软件;以及步骤S408,终端在获取了系统软件之后,向服务器注册其目前能够为网络中的其他节点提供系统软件的下载服务。
其中,查询请求中至少包括需要的系统软件版本和支持的传输协议;响应消息包括节点的网络地址(可以是网络地址的列表形式)和节点能支持的传输协议,还包括软件资源标识,其中,软件资源标识用于指示各个节点可以提供的相应的软件部分,例如,在有节点1、节点2、节点3的三个节点可以提供下载服务的情况下,假设整个系统软件可以分成五部分,则软件资源标识可以指示节点1提供系统软件的第一和第二部分,节点2提供文件的第三部分,而节点3提供文件的第四和第五部分。因此,在步骤S406中,终端从各个节点获取的特定的系统软件部分是通过软件资源标识来决定的。
此外,注册的内容包括终端的网络地址、支持的文件传输协议、系统软件的版本信息、能够同时为其提供下载服务的对等点的数目。
特别地,在终端还没有成功获取整个系统软件之前,当服务器查询到其他可以为终端提供下载服务的节点时,服务器将再次发送响应消息,其中更新了响应消息中所包括的上述内容,并且终端将再次执行步骤S406中的处理。
例如,假设发送查询消息的终端为终端1,服务器在接收到查询消息后查询到的能提供下载服务的节点为终端2和终端3,并且在终端1还没有成功下载整个系统软件之前,服务器又查询到了终端4,则上述过程可以具体按照如图5所示的流程进行。其中,特别地,如图5所示,终端1分别与终端2和终端3根据其协商的传输协议进行文件的传输,并且当服务器查询到终端4之后,服务器更新响应消息,更新后的响应消息中包括了终端4的地址、传输协议、软件资源标识(更新之前的响应消息包括的为终端2和终端3的对应信息)等。
另外,本发明还提供了一种系统软件获取系统,图6示出了该系统软件获取系统的框图,以下将参照图6来对此加以描述。
如图6所示,根据本发明的系统软件获取系统600包括查询请求发送模块602,位于终端侧,用于向服务器发送查询请求;响应消息发送模块604,位于服务器侧,响应于来自查询请求发送模块的查询请求,在服务器进行了查询处理之后,向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的一个或多个节点;系统软件获取模块606,位于终端侧,用于根据来自响应消息发送模块的响应消息,分别通过一个或多个节点支持的传输协议从一个或多个节点获取系统软件或部分系统软件;以及注册模块608,在系统软件获取模块获取了系统软件之后,用于向服务器注册终端目前能够为网络中的其他节点提供系统软件的下载服务。
服务器还可以作为对等点(如图1所示的终端0),当服务器没有查询到可以为终端提供下载服务的节点时,将其本身作为可以为终端提供下载服务的节点。
特别地,查询请求中至少包括需要的系统软件版本和支持的传输协议;响应消息包括节点的网络地址和节点能支持的传输协议,在存在多个可以为终端提供服务的节点的情况下,响应消息进一步包括软件资源标识,其中,软件资源标识用于指示各个节点可以提供的相应的软件部分。
另外,注册模块注册的内容包括终端的网络地址、支持的文件传输协议、系统软件的版本信息、能够同时为其提供下载服务的对等点的数目。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
权利要求
1.一种系统软件获取方法,其特征在于,包括以下步骤第一步骤,终端向服务器发送查询请求;第二步骤,响应于所述查询请求,所述服务器在进行查询处理后向所述终端返回响应消息,其中,所述响应消息用于指示可以为所述终端提供下载服务的一个或多个节点;以及第三步骤,所述终端根据所述响应消息,分别通过所述一个或多个节点支持的传输协议从所述一个或多个节点获取系统软件或部分系统软件。
2.根据权利要求1所述的系统软件获取方法,其特征在于,所述服务器还可以作为对等点,在所述第二步骤中,当所述服务器没有查询到可以为所述终端提供下载服务的节点时,将其本身作为可以为所述终端提供下载服务的节点。
3.根据权利要求1所述的系统软件获取方法,其特征在于,所述查询请求中包括需要的系统软件版本和支持的传输协议。
4.根据权利要求1所述的系统软件获取方法,其特征在于,所述响应消息包括所述节点的网络地址和所述节点能支持的传输协议。
5.根据权利要求4所述的系统软件获取方法,其特征在于,在存在多个可以为所述终端提供服务的节点的情况下,所述响应消息进一步包括软件资源标识,其中,所述软件资源标识用于指示各个节点可以提供的相应的软件部分。
6.根据权利要求1所述的系统软件获取方法,其特征在于,在所述终端未成功获取系统软件之前,当所述服务器查询到其他可以为所述终端提供下载服务的节点时,所述服务器再次发送所述响应消息,并且所述方法再次执行所述第三步骤。
7.根据权利要求1所述的系统软件获取方法,其特征在于,进一步包括以下步骤第四步骤,所述终端在获取了所述系统软件之后,向所述服务器注册其目前能够为网络中的其他节点提供系统软件的下载服务。
8.根据权利要求7所述的系统软件获取方法,其特征在于,所述注册的内容包括所述终端的网络地址、支持的文件传输协议、系统软件的版本信息、能够同时为其提供下载服务的对等点的数目。
9.一种系统软件获取系统,其特征在于,包括查询请求发送模块,位于终端侧,用于向服务器发送查询请求;响应消息发送模块,位于服务器侧,响应于来自所述查询请求发送模块的查询请求,在所述服务器进行了查询处理之后,向所述终端返回响应消息,其中,所述响应消息用于指示可以为所述终端提供下载服务的一个或多个节点;以及系统软件获取模块,位于终端侧,用于根据来自所述响应消息发送模块的所述响应消息,分别通过所述一个或多个节点支持的传输协议从所述一个或多个节点获取系统软件或部分系统软件。
10.根据权利要求9所述的系统软件获取系统,其特征在于,所述服务器还可以作为对等点,当所述服务器没有查询到可以为所述终端提供下载服务的节点时,将其本身作为可以为所述终端提供下载服务的节点。
11.根据权利要求9所述的系统软件获取系统,其特征在于,进一步包括注册模块,在所述系统软件获取模块获取了所述系统软件之后,用于向所述服务器注册所述终端目前能够为网络中的其他节点提供系统软件的下载服务。
全文摘要
本发明提供了一种系统软件获取方法,包括以下步骤终端向服务器发送查询请求;响应于查询请求,服务器在进行查询处理后向终端返回响应消息,其中,响应消息用于指示可以为终端提供下载服务的一个或多个节点;终端根据响应消息,分别通过一个或多个节点支持的传输协议从一个或多个节点获取系统软件或部分系统软件;终端在获取了系统软件之后,向服务器注册其目前能够为网络中的其他节点提供系统软件的下载服务。通过以上技术方案,本发明实现了以下有益效果降低了对FLASH容量的要求,同时降低了对部署的服务器的处理能力的要求,从而降低了产品成本;另外,解决了服务器入口网络传输的瓶颈问题,使整个系统的网络负载达到均衡。
文档编号H04L29/06GK1956380SQ20061013706
公开日2007年5月2日 申请日期2006年10月19日 优先权日2006年10月19日
发明者马剑飞, 欧阳月令 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1