著录项信息
专利名称 | 分布式视频点播系统及其实现数据存储和访问的方法 |
申请号 | CN02136350.1 | 申请日期 | 2002-07-30 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-02-04 | 公开/公告号 | CN1472963 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 深圳市中兴通讯股份有限公司 | 申请人地址 | 深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
发明人 | 夏建洲,刘湘宇,王华,王怿忻,张建强,李加周,李喜欣,温央央 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明公开了一种分布式视频点播系统及其实现数据存储和访问的方法,所述的存储方法包括以下步骤:数据存储的方法包括以下步骤:对数据文件按设定的方式进行数据分块,对设定数目的数据块计算形成校验数据块,将所述数据块和校验数据块按设定的方式轮流存储到设定的多个缓冲服务器中,在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。采用本发明的技术方案,达到了提高存储效率的效果,节省了大量的存储空间,同时由于数据采用分布式存储,数据文件在多个缓冲服务器间分布,提高了数据的安全性,另一方面由于采用了优选的数据冗余校验的方法,提高数据分布的可靠性。
1、一种分布式视频点播系统中实现数据存储的方法,其特征在 于数据存储的方法包括以下步骤:
A.对数据文件按设定的方式进行数据分块;
B.对设定数目的数据块计算形成校验数据块;
C.将所述数据块和校验数据块按设定的方式轮流存储到设定的多个 缓冲服务器中;
D.在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。
2、一种分布式视频点播系统中实现数据访问的方法,其特征在于数 据访问的方法包括以下步骤:
a.客户端与服务器建立连接;
b.客户端从索引服务器中读取要访问的数据文件对应的索引信息;
c.按照索引信息在相应的多个缓冲服务器中读取数据块;
d.对已读取达到组密度的数据块组进行去校验;
e.客户端对读取的数据块进行重组,恢复数据文件。
3、根据权利要求1所述的存储方法,其特征在于对数据文件进 行均匀的数据分块。
4、根据权利要求1所述的存储方法,其特征在于所述每个数据 块组中,任一数据块可以通过校验数据块和其他数据块恢复。
5、根据权利要求1所述的存储方法,其特征在于其中对设定数 目的数据块计算形成校验数据块的步骤中,还包括以下步骤:
B.1.判断包含文件最后一个数据块的数据组的数量,是否达到设 定的数目,若达到,计算形成校验数据块;
B.2.若没有达到,填充数量不足的数据块,然后计算形成校验数 据块。
6、根据权利要求1所述的存储方法,其特征在于其中将所述数 据块按设定的方式轮流存储到多个服务器中步骤中,还包括以下步 骤:
C.1.设定分布存储缓冲服务器的数量和名称;
C.2.确定初始存储缓冲服务器。
7、根据权利要求1所述的存储方法,其特征在于数据块组中的 校验数据块存储位置是动态的。
8、根据权利要求1所述的存储方法,其特征在于其中在所述每 一个缓冲服务器中生成相应的数据存储的索引信息的步骤中,索引信 息包括以下内容:所存储的数据块对应的文件名;
所存储的数据块序号;
所存储数据块的相邻数据块存储的服务器名称;
所存储的数据块在服务器中的存储地址。
9、根据权利要求2所述的数据访问方法,其特征在于其中按照索 引信息在相应的多个服务器中读取数据块的步骤中还包括以下步骤:
c.1.连接起始服务器;
c.2.按索引信息读取文件对应的数据块;
c.3.判断所读取的数据块数量是否等于组密度,若否,执行下一 步,若是,执行客户端对读取的数据块进行重组,还原数据文件的步 骤;
c.4.连接下一个服务器,继续读取数据块,执行步骤c.2。
10、分布式视频点播系统,包括若干个视频客户端,若干个存贮视频 数据文件的缓冲服务器和索引服务器,所述客户端和服务器通过通信 网络进行连接和通讯,其特征在于:
客户端向索引服务器发出文件请求,对从缓冲服务器读取的数据块重 组;索引服务器,控制数据文件按设定方式被划分成数据块,对设定 数目的数据块计算形成校验数据块,控制所述数据块和校验数据块按 设定的方式分别轮流存储到多个数据块存储服务器;
缓冲服务器,记录数据块存储的索引信息,并存储数据块。
技术领域\n发明涉及分布式视频点播系统,尤其涉及数据的存储和访问。\n背景技术\n数据存储是视频点播系统中涉及的一种关键技术。在分布式视频点播系 统中,对数据进行存储有很特殊的要求。由于视频点播系统中对数据存储空 间的需求非常大,因此,在分布式视频点播系统中,如何提高存储空间的利 用率就成为一个很困难的问题。\n在常规的分布式视频点播系统中,如采用美国专利56491%(Di由场 时记。tora,mana沙ment sys扭.having a cache server a.d me比 记伪e挂fer)中描述的方法,所述分布式方法是基于一种地理区域上的 划分,为了让所有的视频服务器共享某个或某些需要缓冲的数据流,就必须 将数据复制到所有的缓冲服务器,这意味着数据在整个分布式视频点播系统 中存在多个拷贝,因此数据存储空间的占用很大,整个分布式视频点播系统 的数据存储空间利用率很低。此外由于数据的完整拷贝在多个服务器上存 在,大大地降低了数据的安全性,增加了数据被黑客等入侵者窃取的可能性。\n发明内容\n本发明所要解决的技术问题是为了克服现有的分布式视频点播系统中数 据流需要在分布的缓冲服务器多次拷贝而造成存储空间利用率低的缺点。实 现本发明所要解决的技术问题而采取的技术方案概括如下:一方面,提出分 布式视频点播系统中实现数据存储和访问的方法,其特征在于数据存储的方 法包括以下步骤:\nA.对数据文件按设定的方式进行数据分块;\nB.对设定数目的数据块计算形成校验数据块;\nC.将所述数据块和校验数据块按设定的方式轮流存储到设定的多个缓冲服 务器中;\nD.在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。数据访 问的方法包括以下步骤:\na.客户端与服务器建立连接;\nb.客户端从索引服务器中读取要访问的数据文件对应的索引信息:c.按 照索引信息在相应的多个缓冲服务器中读取数据块;\nd.对已读取达到组密度的数据块组进行去校验;\ne.客户端对读取的数据块进行重组,恢复数据文件。\n另一方面,提出一种分布式视频点播系统,包括若干个视频客户端,若干个 存贮数据文件的缓冲服务器和索引服务器,所述客户端和服务器通过通信网 络进行连接和通讯,其特征在于:\n客户端向索引服务器发出视频文件请求,对从缓冲服务器读取的数据块重 组;\n索引服务器,控制数据文件按设定方式被划分成数据块,对设定数目的数据 块计算形成校验数据块,控制所述数据块和校验数据块按设定的方式分别轮 流存储到多个数据块存储服务器;\n缓冲服务器,记录数据块存储的索引信息,并存储数据块。\n采用本发明技术方案,与现有技术相比,取得了系统数据存储和访问方法上 的进步,达到了提高存储效率的效果,节省了大量的存储空间。同时由于数 据采用分布式存储,数据文件在多个缓冲服务器间分布,因此非法入侵者(如 黑客),即使攻破了某个或某几个服务器,也无法获取完整的文件数据,因 此,采取本发明的技术方案提高了数据的安全性;另一方面由于采用了优选 的数据冗余校验的方法,即使某一个缓冲服务器出现异常,通过其他的缓冲 服务器中存储的文件数据块也可以将受损的数据块恢复出来,从而实现对数 据文件的重组和恢复,提高数据分布的可靠性。\n附图说明\n图1是本发明提供的分布式视频点播系统的一个实施例;图2是图1示出 的系统的主索引信息表的数据结构:图3是图1示出的系统的二级索引信 息的数据结构;图4是图1示出的系统的对数据文件的存储流程图;图5是 图4中分块后校验数据的生成方法流程图;图6是图4中分布存储处理的 流程图;\n图7是图1示出的系统中对数据进行访问的流程图。\n具体实施方式\n下面将结合附图,举例说明本发明的一个实施的方式.\n图1是本发明提供的分布式视频点播系统的一个实施例。在下面的描述 中,假设视频点播系统客户端10通过通信网络20从索引服务器50发出 数据请求,数据文件均匀存储在N(N为自然数)个二级服务器60上(本 实施例基于两级结构,故将缓冲服务器称为二级服务器)。用户的请求首先 在索引服务器50处被处理,查找请求的数据在N个二级服务器60中的分 布情况,然后由多个二级服务器60将请求的数据通过通信网络加发送到用 户端10,用户端10完成数据的重新组合过程。\n索引服务器50保存有多个目录表格。对每个数据文件都生成一个记录。 每当有数据文件被分布式存储一次,都生成一个对应的主索引信息30,主 索引信息是一个由多行数据形成的表格,称为主索引数据表200,主索引 数据表如图2所示。对于分布在各个服务器上的数据,在二级服务器上对 应有二级索引数据表40。二级索引数据表如图3所示。\n主索引数据表200包含的数据记录有:数据文件名,用来表示数据分布 情况的分布度;分布存储的第一个二级服务器标识-初始服务器;用于标 识一个块组中设定数据块数目的组密度;存储数据的二级服务器名序列。如 果客户端10需要请求某个数据文件,则通过连接索引服务器50获取主索 引30,读取属于该请求文件的主索引数据表200,从中获得文件的分布信 息、初始二级服务器、组密度和服务器名序列。\n获取了主索引信息后,客户端10将与在主索引数据表200中服务器名 序列中的二级服务器一一建立连接,利用二级索引数据表210提供的检索 信息请求数据,连接从第一个二级服务器一一初始服务器开始,直到最后一 份数据块读完,整个过程结束。\n二级索引数据表210中包含第一个记录是数据文件名,数据文件名是和主 索引数据表中的数据文件名字段相关联的,第二个记录是数据块的序号,用 来标示数据块在源文件中的位置,第三个记录是前一个服务器,第四个记录 是后一个服务器,这两个记录指示了相邻的数据块的存储位置,最后一个记 录是数据块的存储地址,存储地址包含了数据块在外存储器70中的存储位 置。\n图4是图1示出的系统的对数据文件的存储流程图。在进行数据文件 的存储时,首先执行由索引服务器读取文件进行分析的步骤300,然后执 行根据文件分块的参数对文件进行分块的步骤310,在该步骤中,数据块 的大小可以具体设定,各数据块之间可以是大小相等,也可以不等,在本实 施例中,各数据块的大小是相等的,即采用均匀分块的方式;分块完成后将 设定数量的数据块形成数据块组,执行对每个块组计算形成校验数据块的步 骤320,然后\n将校验数据作为块组数据之一放入数据块组中,形成新的数据块组,最 后执行将所有的数据块进行分布式轮流存储到指定的N个二级服务器的外 存70中的步骤330。\n图5是图4中分块后校验数据的生成方法流程图,在已设定好数据块 大小和块组中的块数目(即组密度)后,主要步骤如下:\n1、读取指定数据块数据的步骤400;\n2、判断是否达到了最后一个数据块的步骤410,如果达到最后一块转到 步骤426处理,否则,执行步骤420,即判断数据块组指定的块数目(组 密度)是否达到,如果没有达到,则继续读取下一个数据块,执行步骤400, 否则表示已经读取了一个数据块组,执行步骤425;\n3、步骤425,对已读取得数据块组计算生成校验数据块,然后继续执行 步骤400;\n4、步骤426,判断数据块组指定的块数目(组密度)是否达到,若达到, 执行步骤440,否则执行步骤430;\n5、步骤430,对数量不足的数据块部分填充数据,以补充不足的数据块, 补充数据块形成块组后,生成最后一个数据块组;6、步骤440,对最后 一个数据块组计算生成校验数据块;7、步骤450,将所有的数据块连同 校验数据块进行分布存储处理,具体见图6。\n在本实施例中,校验数据块的计算生成方法很多,这里举出几个具体的例子, 假定组密度200d=M(M为自然数),相应地各个块组为D 1,Dz,...DM, 待生成的校验数据为P,可以采取如下几种校验方法:\n(1)奇偶校验方法:又称为RAID方法,方法是,采用按位进行二进制 加法的方法,按照这种方法,P=D1田DZ.....DM.或P=一(D10DZ,..... 巩),其中“.”表示“异或”运算,“一”表示“非”运算。假设块组中 的巩发生错误,那么相应地,对应该校验的数据恢复方法是:几=D1.几.... 环一P.Dk+1...田DM.或Dk二·(DI.DZ。...Dk-loP田Dk+ 1...。DM).\n(2)模运算方法:方法是,将块组看成二进制数,假设每个块的数二进 制位数为K,将所有块组数相加,并对ZAK取模,即:P==(D1+DZ+... +nM)mod ZAK。假设块组中的Dk发生错误,那么对应该校验的数据恢 复方法是:Dk=P+2叹一(DI+DZ+...+Dk一1+D卜1...+DM) modZAK。\n(3)镜像方法:该方法是对每个块生成一个相同的数据拷贝块,相当 于在系统中生成两个相同的分布式拷贝。\n方法还有很多,这里不再逐一举例,所有的方法都必须满足以下条件: 一般地,校验数据P的生成方法是:对数据D1,DZ,...,DM·对应校 验生成函数f(·),满足P二f(D,,DZ,...,DM),相应地, 对于任意数据认,对应一个校验数据恢复函数g(·),满足Dk=g(D,, DZ,一Dk-1,P,D卜卜一DM),函数f(·)和g(·)可以 相同,也可以不同。\n图6是图4中分布存储处理的流程图,包括以下步骤:\n1.步骤500,设定分布参数,即设定参与分布存储的服务器数目及所 有的服务器名称,生成主索引数据表200;\n2.步骤510,设定起始服务器,即确定第一个开始存储的服务器;\n3.步骤520,读取数据块组;\n4.步骤530,分布式存储数据块组及生成二级索引,即从起始服务器 开始,存储第一个数据块,在该服务器上生成该块的二级索引数据表信息 210;然后顺次连接下一个服务器,存储第二个数据块,在该服务器上生成 该块的二级索引数据表信息210,直到该块组的所有数据块分步存储到服 务器上为止(包括对应的校验数据块);\n5.步骤540,判断该块组是否是最后一个块组,如果不是,则重新设 定起始服务器,执行步骤510,如果是,那么表示所有的数据块组已经分 布存储完毕,分布式存储结束;\n6、结束步骤550。 为了进一步提高数据的可靠性和灵活性,校验数据可以在块组中按照一定的 规则指定位置,如在固定位置或动态位置,其中动态位置存储的可采用动态 循环方法,如将校验数据在第一数据块组中放在第一块,第二数据块组中放 在第二块,,......当校验数据块所在位置达到组密度时,又从第一块开始 循环,可在实施过程中进行选择。\n图7是图1示出的系统中对数据进行访问的流程图,主要包括如下步骤:\n1.步骤610,客户端10通过通信网络20与索引服务器50进行连接, 请求某个数据文件;\n2.步骤620,连接建立后,索引服务器通过请求查找主索引信息,获 取主索引30,获得标识该请求数据文件索引数据表200,从200中提取 该文件的分布信息,包含文件名,分布度,初始服务器,组密度,服务器名 序列等信息;\n3.步骤630,连接起始服务器;\n4.步骤640,调用读取二级索引信息过程,获取二级索引40,取得 属于该请求文件的二级索引数据表210,从210中获得该数据块在服务器 中的对应文件名、数据块号、上一个服务器、下一个服务器、存储位置等信 息;\n5.步骤650,在外存70中读取数据块;\n6.步骤660,判断读取的数据块数是否达到为该文件指定组密度值: (1)如果达到组密度值,那么执行步骤680,即去校验和数据块的重新 组合过程,去校验重组过程将原来进行数据可靠性保证的冗余校验数据去 掉。继续执行步骤690;\n(2)如果没有达到组密度值,执行步骤670,即连接下一个服务器,然 后继续执行步骤640;\n7.步骤690,判断数据块号,察看是否达到最后一个数据块:(1) 若没有达到,执行步骤670,即连接下一个服务器,继续执行步骤640;\n(2)若已经达到最后一个数据块,那么整个数据检索访问过程结束。\n尽管参照实施例对所公开的涉及分布式视频点播系统及其实现数据存 储和访问的方法进行了特别描述,本领域技术人员将能理解,在不偏离本发 明的范围和精神的情况下,可以对它进行形式和细节的种种显而易见的修 改,如可自选数据校验方法和数据分布密度,同时可以将实施例中的服务器 分布的二级方式改为3级或多级方式,也可改为单级,索引信息表也可自 行设计,增加新字段等。因此,以上描述的实施例是说明性的而不是限制性 的,在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明 的范围之内。
法律信息
- 2015-09-23
未缴年费专利权终止
IPC(主分类): H04N 7/173
专利号: ZL 02136350.1
申请日: 2002.07.30
授权公告日: 2006.06.07
- 2006-06-07
- 2005-06-08
- 2004-02-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2011-03-31 | 2011-03-31 | | |
2 | | 2013-02-27 | 2013-02-27 | | |