一种内容切片部署的系统及方法

文档序号:7702096阅读:264来源:国知局
专利名称:一种内容切片部署的系统及方法
技术领域
本发明涉及网络内容下载技术,特别是指一种点对点(P2P, Pointto Point) 网络中内容切片部署的系统及方法。
背景技术
P2P下载技术以其可扩展性好、带宽利用率高等优点在网络下载领域占有 重要的位置,现在流行的下载工具基本上都支持P2P下载,如迅雷、网际快车 等。应用P2P下载技术的P2P网络,是一种资源分布利用和共享的体系,致力 于通过系统之间的对等交换来共享计算机资源和服务。P2P网络主要有两种拓 朴结构 一种是完全去中心化,即在整个网络中没有控制中心,各个节点所处 的地位相互平等;另一种是利用超级节点、节点服务器和部署服务器,即在整 个网络中设置有超级节点、节点服务器和部署服务器,其中,超级节点、节点 服务器和部署服务器的数量,根据网络规模大小确定,但设置越多会使资源占 用和成本增加。终端在下载文件之前,部署服务器会将一个完整文件部署在每个超级节点 上,使得每个超级节点上都保存一份完整的文件内容;终端在下载文件时,向 节点服务器发起列表请求,节点服务器从部署服务器获取文件所在的超级节点 列表,并将获取的超级节点列表返给发请求的终端;或者当发起请求终端以外 的其他终端已经下载到该终端所需文件时,会主动通知节点服务器,由此,节 点服务器会得到该文件所在的终端列表,并将终端列表返给发请求的终端;节 点服务器将荻取的超级节点列表和终端列表返回给发请求的终端后,该终端通 过向上述超级节点或其他终端发起请求,就能从一个超级节点或从一个其他终5端那里获取一个完整的文件内容。第二种拓朴结构由于其可控性,目前得到业 界的普遍认可。现有技术中,对于采用第二种拓朴结构的P2P网络,部署服务器在每个超 级节点上部署的文件内容均是完整的,在多个超级节点上同时部署相同的文件 内容,将会重复占用超级节点的磁盘空间,增加磁盘空间的消耗;并且,终端 在下载文件内容时,是从某个超级节点即可获取一个完整的文件内容,如此, 会导致其他超级节点处于闲置状态,没有充分体现超级节点的负载均衡。发明内容有筌于此,本发明的主要目的在于提供一种内容切片部署的系统及方法, 能减少磁盘空间消耗,保证超级节点的负载均衡。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种内容切片部署的系统,该系统包括切片服务器、部署服 务器、节点服务器、超级节点和终端;其中,切片服务器,用于将每个完整的文件切分为一个以上段文件;部署服务器,用于管理所有超级节点,负责段文件在不同超级节点上的部 署及删除,保存设置部署笨略时所记录的配置文件,以及每个超级节点上段文 件的部署信息,并为节点服务器提供段文件的部署信息;节点服务器,用于接收终端发起的列表请求,从部署服务器获取段文件所 在的超级节点列表,并为需要下载段文件的终端提供所需下载段文件所在的超 级节点列表;超级节点,用于保存部署的段文件,接受部署服务器的管理,并为终端提 供相应的段文件;终端,用于向节点服务器发起列表请求,请求并获取段文件所在的超级节 点列表,并向段文件所在超级节点发起请求,获取超级节点中的段文件。上述方案中,所述切片服务器,还用于保存切片完毕后所记录的段描述文 件和整个文件描述文件。上述方案中,所述节点服务器,还用于接收来自段文件所在终端的通知, 得到段文件所在的终端列表,并为需要下载段文件的终端提供所需下载段文件所在的终端列表;所述终端,还用于向节点服务器发起列表请求,请求并获取段文件所在的 终端列表,并向段文件所在的其他终端发起请求,获取其他终端中的段文件;相应的,终端获取到段文件后通知节点服务器,并为需要下载相应段文件 的其他终端提供所需的段文件资源。本发明还提供了一种内容切片部署的方法,该方法包括切片服务器将完整文件切分为一个以上段文件;部署服务器将所切分的段文件分别部署在不同的超级节点上,并保存段文 件的部署信息;终端从不同超级节点获取不同的段文件。其中,该方法进一步包括在每段文件切分结束时,切片服务器自动记录 下切分的详细信息,生成段描述文件和整个文件描述文件保存在自身。 上述方案中,所述段文件包括段头和段体;所述段描述文件包括但不限于段长度、段内的块数、段内块的大小; 所述整个文件描述文件包括但不限于完整文件切分后的总段数、总文件 的大小。上述方案中,部署服务器部署段文件之前,该方法进一步包括部署服务 器根据完整文件的总段数、超级节点的总数制定部署策略,确定所要部署的超 级节点、以及在超级节点上要部署的段文件;并记录部署信息存储为部署策略 的配置文件。上述方案中,所述部署策略为将一个段文件部署在一个以上超级节点上。 上述方案中,所述终端从超级节点上获取段文件为 终端向节点服务器发起列表请求,请求所需段文件所在的超级节点列表; 节点服务器收到列表请求后,向部署服务器查询所需^:文件的部署信息, 并由部署服务器将该段文件所在的超级节点列表返回给节点服务器;节点服务器获取到该段文件所在的超级节点列表后,向终端返回该段文件所在的超级节点列表,并由终端向所收到的超级节点列表中的超级节点发起请求,获取来自所述超级节点的段文件。
上述方案中,该方法进一步包括终端在自身下载段文件后,通知节点服务器,节点服务器获知并存储每个已被下载的段文件所在的终端列表;
相应的,终端向节点服务器请求终端列表,节点服务器将自身存储的终端列表发送给请求终端,终端向所收到的终端列表中的其他终端发起请求,获取来自所述其他终端的段文件。
本发明所提供的内容切片部署的系统及方法,由所设置的切片服务器将完整文件切分为一个以上段文件,再由部署服务器将切分的段文件分别部署在不同的超级节点上,使得多个超级节点上共同保存一份完整文件的内容,从而使终端从多个超级节点上获取一份完整文件的内容。如此,不仅减少了内容部署时磁盘空间的占用,还保证了服务器能更好地实现负载均衡。
本发明在部署段文件时,还可以采用冗余策略,将一个段文件同时部署在一个以上超级节点上,这样即使有超级节点产生故障,仍可保证终端正常下载到完整文件,提高了文件下载的可靠性。


图1为本发明中内容切片部署系统结构示意图;图2为本发明中内容切片部署方法的流程图;图3为本发明中段文件组成结构示意图。
具体实施例方式
本发明的基本思想是设置切片服务器,由切片服务器将完整文件切分为 使多个超级节点共同保存一份完整文件,从而使终端从多个超级节点上获取一份完整文件的内容。部署服务器在部署文件时, 一个超级节点上可以部署一个段文件或者同时部署几个段文件,同一个段文件可以部署在一个超级节点上,也可以部署在多
个超级节点上。比如有超级节点l、 2、 3,段文件l、 2、 3,可以将段文件l部署在超级节点1上、段文件2部署在超级节点2上、段文件3部署在超级节点3上;也可以在超级节点1上部署段文件1和2、超级节点2上部署段文件2和3、超级节点3上部署段文件1和3,即将段文件1部署在超级节点1、 3上,段文件2部署在超级节点1、 2上,段文件3部署在超级节点2、 3上。
每个段文件的段长度确定后,就可以根据完整文件长度确定出段数,段长度可以任意设定,但要根据网络的规模、超级节点的个数和完整文件的长度合理设置,若段长度设置过长,会使后续部署不够灵活;段长度设置过短,段数增加,也会增加部署的复杂性。
本发明的内容切片部署系统如图1所示,包括切片服务器、部署服务器、节点服务器、超级节点和终端;其中,
切片服务器,用于对完整文件进行切分,将每个完整的文件切分为一个以上段文件,保存切片完毕后所记录的段描述文件和整个文件描述文件;这里,优选所划分的各个段文件大小相同;
部署服务器,用于管理所有超级节点,负责段文件在不同超级节点上的部署及删除,保存设置部署策略时所记录的配置文件,以及每个超级节点上段文件的部署信息,并为节点服务器提供段文件的部署信息;
节点服务器,用于接收终端发起的列表请求,从部署服务器获取段文件所在的超级节点列表,并为需要下载段文件的终端提供所需下载段文件所在的超级节点列表;
进一步的,节点服务器还用于接收来自段文件所在终端的通知,得到段文件所在的终端列表,并为需要下载段文件的终端提供所需下载段文件所在的终端列表;
超级节点,用于保存部署的段文件,接受部署服务器的管理,并为终端提供相应的段文件终端,用于向节点服务器发起列表请求,请求并获取段文件所在的超级节
点列表,并向段文件所在超级节点发起请求,获取超级节点中的段文件;
这里,终端分别向不同超级节点发起请求,获取不同的段文件,最终得到一份完整文件;
进一步的,终端还用于向节点服务器发起列表请求,请求并获取段文件所在的终端列表,并向段文件所在的其他终端发起请求,获取其他终端中的段文
件;相应的,任意终端获取到任意一个段文件后会通知节点服务器,并为需要
下载相应段文件的其他终端提供所需的段文件资源;
这里,所述其他终端是指当前所述终端自身以外的终端。
基于上述系统,本发明还提出一种内容切片部署的方法,如图2所示,包
括以下步骤
步骤201:切片服务器将完整文件切分为一个以上段文件;
本步骤中,为了便于后续部署段文件时方便,切片服务器根据完整文件的长度,按照预先设定的段长度,将完整文件切分为若干大小相同的段文件,最后一段的长度由切分后剩下的文件内容决定,不足的部分不填零,除最后一段外其他各段长度均相等;
例如,将段长度设置为25M—个段,将完整文件平均切分为25M—段的若千个段文件,最后一段的长度可与其他段不等;
对于段长度没有特别的规定,可以任意设定;段长度确定后,可根据完整文件的长度,得到切分后文件的总段数。 一般,根据网络的规4莫、超级节点的个数和完整文件的长度合理设置段长度,若段长度设置过长,会影响后续部署的灵活性;段长度设置过短,段数增加,也会增加部署的复杂性。
在每段文件切分结束时,切片服务器会自动记录下切分的详细信息,生成段描述文件和整个文件描述文件保存在自身;
其中,每个段文件均由段头和段体组成,如图3所示,段头,包括段号、段长度等信息;段体,是段文件的正文部分,用于存储实际的文件内容,发送给终端的文件内容即由此而来。每个段文件又由若干个块构成,块是组成段文件的最小单元。
段描述文件,用于对段文件的相关属性进行描述,包括段长度、段内的块
数、段内块的大小等信息;这里,段长度与段头中的段长度信息一致。
整个文件描述文件,用于对所有段文件的内容做整体描述,包括完整文件
切分后的总)殳it、总文件的大小等信息。
步骤202:部署服务器将段文件分别部署到不同的超级节点,并保存段文
件的部署信息;
本步骤中,部署服务器在部署段文件之前,会根据完整文件的总段数、以及超级节点总数制定部署策略,以确定要部署的超级节点和在超级节点上要部署的段文件。举例来说,假设完整文件被切分为四段,共有三个超级节点可以部署,则可以按照段文件的顺序将段文件依次部署到每个超级节点上,即段文件1部署在超级节点1上,段文件2部署在超级节点2上,段文件3部署到超级节点3上,段文件4再次部署到超级节点1上;或者将段文件随机地部署到超级节点上,即随才几取出段文件2部署到超级节点1,然后在剩余的段文件中随机取出 一个段文件部署到剩余的超级节点上,以此类推。
在部署策略定义完成后,部署服务器会自动将部署信息记录下来,并将所记录的信息存储为一个文件,可称为部署策略的配置文件,该配置文件保存在部署服务器中,该配置文件是在创建部署策略时自动生成的,保存有要部署的超级节点的信息和要在相应超级节点上部署的段文件的信息。
在部署段文件时,部署服务器会根据部署策略生成的配置文件,将要部署的段文件分别部署到不同的超级节点,并保存段文件的部署信息,如此,可减少内容部署时^兹盘空间的占用。
部署服务器在部署段文件时, 一个超级节点上可以部署一个段文件,也可以同时部署几个段文件,只要保证在部署成功后,多个超级节点上共同保存有一份完整文件的内容即可。当且仅当所有段文件部署成功,部署任务才算成功;如果有段文件部署失败,则此次部署任务即宣告失败。如果部署成功,部署服务器将保存并记录超级节点上段文件的部署信息,并为节点服务器提供段文件的部署信息。
本发明中,部署服务器还提供了一种可选的冗余策略,使同一个段文件部署在一个以上的超级节点上,如此,当部分超级节点失效时,可通过访问其他超级节点获取所需的段文件,从而保证有完整的文件内容供终端下载。
举例来说, 一个完整文件被切分为1、 2、 3、 4共四个段文件,欲部署在三个超级节点上,那么,在部署服务器部署段文件时,可以将段文件l、 2部署在超级节点1上,将段文件2、 3部署在超级节点2上,将段文件3、 4部署在超级节点3上,这样,当其中一个超级节点失效时,仍然可以保证终端从另外两个超级节点上获取一份完整文件的内容。
步骤203:终端从不同超级节点上荻取不同的段文件。
本步骤中,终端下载某一段文件之前,需要向节点服务器发起列表请求,请求所需段文件所在的超级节点列表;节点服务器收到该列表请求后,向部署服务器查询所需段文件的部署信息,即查询该段文件部署到哪个或哪几个超级节点上,并由部署服务器将该段文件所在的超级节点列表返回给节点服务器;
节点服务器获取到该段文件所在的超级节点列表后,向终端返回该段文件所在的超级节点列表,并由终端向所收到的超级节点列表中的超级节点发起请求,从而可获取来自相应超级节点的段文件。以此类推,终端可从不同超级节点获取不同的段文件,最终得到完整文件,保证了超级节点的负载均衡;
进一步的,终端还可以从自身以外的其他终端获取段文件,这种情况下,终端会向节点服务器请求终端列表,节点服务器将自身存储的终端列表发送给请求终端,终端会向所收到的终端列表中的其他终端发起请求,从而获取来自其他终端的段文件。
相应的,任意终端在自身下载某个段文件后,会主动通知节点服务器,使节点服务器获知哪个或哪几个终端已下载有哪个段文件,从而得到并存储每个已被下载的段文件所在的终端列表。
这里,终端可以同时向超级节点和自身以外的其他终端发起请求,在下载文件时根据资源提供的速度的快慢,决定最终从超级节点还是从自身以外的其他终端下载文件内容。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种内容切片部署的系统,其特征在于,该系统包括切片服务器、部署服务器、节点服务器、超级节点和终端;其中,切片服务器,用于将每个完整的文件切分为一个以上段文件;部署服务器,用于管理所有超级节点,负责段文件在不同超级节点上的部署及删除,保存设置部署策略时所记录的配置文件,以及每个超级节点上段文件的部署信息,并为节点服务器提供段文件的部署信息;节点服务器,用于接收终端发起的列表请求,从部署服务器获取段文件所在的超级节点列表,并为需要下载段文件的终端提供所需下载段文件所在的超级节点列表;超级节点,用于保存部署的段文件,接受部署服务器的管理,并为终端提供相应的段文件;终端,用于向节点服务器发起列表请求,请求并获取段文件所在的超级节点列表,并向段文件所在超级节点发起请求,获取超级节点中的段文件。
2、 根据权利要求1所述的系统,其特征在于,所述切片服务器,还用于保 存切片完毕后所记录的段描述文件和整个文件描述文件。
3、 根据权利要求1所述的系统,其特征在于,所述节点服务器,还用于接 收来自段文件所在终端的通知,得到段文件所在的终端列表,并为需要下载段 文件的终端提供所需下载段文件所在的终端列表;所述终端,还用于向节点服务器发起列表请求,请求并获取段文件所在的 终端列表,并向段文件所在的其他终端发起请求,获取其他终端中的段文件;相应的,终端获取到段文件后通知节点服务器,并为需要下载相应段文件 的其他终端提供所需的段文件资源。
4、 一种内容切片部署的方法,其特征在于,该方法包括 切片服务器将完整文件切分为一个以上段文件;部署服务器将所切分的段文件分别部署在不同的超级节点上,并保存段文件的部署信息;终端从不同超级节点获取不同的段文件。
5、 根据权利要求4所述的方法,其特征在于,该方法进一步包括在每#爻 文件切分结束时,切片服务器自动记录下切分的详细信息,生成段描述文件和 整个文件描述文件保存在自身。
6、 根据权利要求5所述的方法,其特征在于,所述段文件包括段头和段体; 所述段描述文件包括但不限于段长度、段内的块数、段内块的大小; 所述整个文件描述文件包括但不限于完整文件切分后的总段数、总文件的大小。
7、 根据权利要求4、 5或6所述的方法,其特征在于,部署服务器部署段 文件之前,该方法进一步包括部署服务器根据完整文件的总段数、超级节点 的总数制定部署策略,确定所要部署的超级节点、以及在超级节点上要部署的 段文件;并记录部署信息存储为部署策略的配置文件。
8、 根据权利要求7所述的方法,其特征在于,所述部署策略为将一个段 文件部署在一个以上超级节点上。
9、 根据权利要求4、 5或6所述的方法,其特征在于,所述终端从超级节 点上获取段文件为终端向节点服务器发起列表请求,请求所需段文件所在的超级节点列表; 节点服务器收到列表请求后,向部署服务器查询所需段文件的部署信息,并由部署服务器将该段文件所在的超级节点列表返回给节点服务器;节点服务器获取到该段文件所在的超级节点列表后,向终端返回该段文件所在的超级节点列表,并由终端向所收到的超级节点列表中的超级节点发起请求,获取来自所述超级节点的段文件。
10、 根据权利要求4、 5或6所述的方法,其特征在于,该方法进一步包括 终端在自身下栽段文件后,通知节点服务器,节点服务器获知并存储每个已被 下载的段文件所在的终端列表;相应的,终端向节点服务器请求终端列表,节点服务器将自身存储的终端列表发送给请求终端,终端向所收到的终端列表中的其他终端发起请求,获取 来自所述其他终端的段文件。
全文摘要
本发明公开了一种内容切片部署的系统及方法,设置切片服务器,由切片服务器将完整文件切分为一个以上段文件,并由部署服务器将切分好的段文件分别部署在不同的超级节点上,使多个超级节点共同保存一份完整文件,从而使终端从多个超级节点上获取一份完整文件的内容。采用本发明,能够减少内容部署时的磁盘占用,保证服务器的负载均衡。
文档编号H04L29/08GK101626401SQ20091009079
公开日2010年1月13日 申请日期2009年8月6日 优先权日2009年8月6日
发明者刘德海 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1