[go: up one dir, main page]

CN1258921C - Distributed video-on-demand system and its method for realizing data storage and access - Google Patents

Distributed video-on-demand system and its method for realizing data storage and access Download PDF

Info

Publication number
CN1258921C
CN1258921C CN 02136350 CN02136350A CN1258921C CN 1258921 C CN1258921 C CN 1258921C CN 02136350 CN02136350 CN 02136350 CN 02136350 A CN02136350 A CN 02136350A CN 1258921 C CN1258921 C CN 1258921C
Authority
CN
China
Prior art keywords
data
data block
server
storage
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 02136350
Other languages
Chinese (zh)
Other versions
CN1472963A (en
Inventor
夏建洲
刘湘宇
王�华
王怿忻
张建强
李加周
李喜欣
温央央
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 02136350 priority Critical patent/CN1258921C/en
Publication of CN1472963A publication Critical patent/CN1472963A/en
Application granted granted Critical
Publication of CN1258921C publication Critical patent/CN1258921C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式视频点播系统及其实现数据存储和访问的方法,所述的存储方法包括以下步骤:数据存储的方法包括以下步骤:对数据文件按设定的方式进行数据分块;对设定数目的数据块计算形成校验数据块;将所述数据块和校验数据块按设定的方式轮流存储到设定的多个缓冲服务器中;在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。采用本发明的技术方案,达到了提高存储效率的效果,节省了大量的存储空间;同时由于数据采用分布式存储,数据文件在多个缓冲服务器间分布,提高了数据的安全性;另一方面由于采用了优选的数据冗余校验的方法,提高数据分布的可靠性。

Figure 02136350

The invention discloses a distributed video-on-demand system and a method for realizing data storage and access thereof. The storage method includes the following steps: the data storage method includes the following steps: divide the data into blocks according to a set method ; Calculate the set number of data blocks to form a verification data block; store the data block and the verification data block in a set manner in turn in the set multiple buffer servers; in each of the buffer servers Generate index information stored in the corresponding data block. By adopting the technical scheme of the present invention, the effect of improving storage efficiency is achieved, and a large amount of storage space is saved; at the same time, because the data adopts distributed storage, the data files are distributed among multiple buffer servers, which improves the security of the data; on the other hand The reliability of data distribution is improved due to the adoption of an optimal data redundancy check method.

Figure 02136350

Description

分布式视频点播系统及其实现数据存储和访问的方法Distributed video-on-demand system and its method for realizing data storage and access

技术领域technical field

发明涉及分布式视频点播系统,尤其涉及数据的存储和访问。The invention relates to distributed video-on-demand systems, and more particularly to storage and access of data.

背景技术Background technique

数据存储是视频点播系统中涉及的一种关键技术。在分布式视频点播系统中,对数据进行存储有很特殊的要求。由于视频点播系统中对数据存储空间的需求非常大,因此,在分布式视频点播系统中,如何提高存储空间的利用率就成为一个很困难的问题。Data storage is a key technology involved in video on demand system. In the distributed video-on-demand system, there are very special requirements for data storage. Since the demand for data storage space in the video-on-demand system is very large, how to improve the utilization rate of the storage space in the distributed video-on-demand system becomes a very difficult problem.

在常规的分布式视频点播系统中,如采用美国专利56491%(Di由场时记。tora,mana沙ment sys扭.having a cache server a.d me比记伪e挂fer)中描述的方法,所述分布式方法是基于一种地理区域上的划分,为了让所有的视频服务器共享某个或某些需要缓冲的数据流,就必须将数据复制到所有的缓冲服务器,这意味着数据在整个分布式视频点播系统中存在多个拷贝,因此数据存储空间的占用很大,整个分布式视频点播系统的数据存储空间利用率很低。此外由于数据的完整拷贝在多个服务器上存在,大大地降低了数据的安全性,增加了数据被黑客等入侵者窃取的可能性。In the conventional distributed video-on-demand system, such as adopting the method described in U.S. Patent 56491% (Di is recorded by field time. tora, mana sand ment sys is twisted. having a cache server a.d me than the false e hanging fer), so The above distributed method is based on a geographical division. In order for all video servers to share one or some data streams that need to be buffered, the data must be copied to all buffer servers, which means that data is distributed throughout the There are multiple copies in the distributed video-on-demand system, so the data storage space is very large, and the data storage space utilization rate of the entire distributed video-on-demand system is very low. In addition, since complete copies of the data exist on multiple servers, the security of the data is greatly reduced, and the possibility of data being stolen by intruders such as hackers is increased.

发明内容Contents of the invention

本发明所要解决的技术问题是为了克服现有的分布式视频点播系统中数据流需要在分布的缓冲服务器多次拷贝而造成存储空间利用率低的缺点。实现本发明所要解决的技术问题而采取的技术方案概括如下:一方面,提出分布式视频点播系统中实现数据存储和访问的方法,其特征在于数据存储的方法包括以下步骤:The technical problem to be solved by the present invention is to overcome the disadvantage of low utilization rate of storage space caused by multiple copies of data streams in distributed buffer servers in the existing distributed video-on-demand system. The technical scheme that realizes the technical problem to be solved by the present invention and takes is summarized as follows: On the one hand, propose the method for realizing data storage and access in the distributed video-on-demand system, it is characterized in that the method for data storage comprises the following steps:

A.对数据文件按设定的方式进行数据分块;A. Divide the data file into blocks according to the set method;

B.对设定数目的数据块计算形成校验数据块;B. Calculate the set number of data blocks to form a check data block;

C.将所述数据块和校验数据块按设定的方式轮流存储到设定的多个缓冲服务器中;C. storing the data block and the verification data block in a set manner in turn in multiple set buffer servers;

D.在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。数据访问的方法包括以下步骤:D. Generate index information stored in corresponding data blocks in each buffer server. The method of data access includes the following steps:

a.客户端与服务器建立连接;a. The client establishes a connection with the server;

b.客户端从索引服务器中读取要访问的数据文件对应的索引信息:c.按照索引信息在相应的多个缓冲服务器中读取数据块;b. The client reads the index information corresponding to the data file to be accessed from the index server: c. reads the data blocks in corresponding multiple buffer servers according to the index information;

d.对已读取达到组密度的数据块组进行去校验;d. De-verify the data block group that has been read to reach the group density;

e.客户端对读取的数据块进行重组,恢复数据文件。e. The client reorganizes the read data blocks and restores the data files.

另一方面,提出一种分布式视频点播系统,包括若干个视频客户端,若干个存贮数据文件的缓冲服务器和索引服务器,所述客户端和服务器通过通信网络进行连接和通讯,其特征在于:On the other hand, a distributed video-on-demand system is proposed, including several video clients, several buffer servers and index servers storing data files, and the clients and servers are connected and communicated through a communication network, characterized in that :

客户端向索引服务器发出视频文件请求,对从缓冲服务器读取的数据块重组;The client sends a video file request to the index server, and reassembles the data blocks read from the buffer server;

索引服务器,控制数据文件按设定方式被划分成数据块,对设定数目的数据块计算形成校验数据块,控制所述数据块和校验数据块按设定的方式分别轮流存储到多个数据块存储服务器;The index server controls the data file to be divided into data blocks according to the set method, calculates the set number of data blocks to form a verification data block, and controls the data block and the verification data block to be stored in turns according to the set method. block storage servers;

缓冲服务器,记录数据块存储的索引信息,并存储数据块。The buffer server records the index information stored in the data block and stores the data block.

采用本发明技术方案,与现有技术相比,取得了系统数据存储和访问方法上的进步,达到了提高存储效率的效果,节省了大量的存储空间。同时由于数据采用分布式存储,数据文件在多个缓冲服务器间分布,因此非法入侵者(如黑客),即使攻破了某个或某几个服务器,也无法获取完整的文件数据,因此,采取本发明的技术方案提高了数据的安全性;另一方面由于采用了优选的数据冗余校验的方法,即使某一个缓冲服务器出现异常,通过其他的缓冲服务器中存储的文件数据块也可以将受损的数据块恢复出来,从而实现对数据文件的重组和恢复,提高数据分布的可靠性。By adopting the technical solution of the invention, compared with the prior art, the system data storage and access methods are improved, the effect of improving storage efficiency is achieved, and a large amount of storage space is saved. At the same time, because the data is stored in a distributed manner, and the data files are distributed among multiple buffer servers, illegal intruders (such as hackers) cannot obtain complete file data even if they break through one or several servers. The technical scheme of the invention improves the security of the data; on the other hand, due to the adoption of the preferred data redundancy check method, even if a certain buffer server is abnormal, the file data blocks stored in other buffer servers can also be saved. Damaged data blocks can be recovered, so as to realize the reorganization and recovery of data files and improve the reliability of data distribution.

附图说明Description of drawings

图1是本发明提供的分布式视频点播系统的一个实施例;图2是图1示出的系统的主索引信息表的数据结构:图3是图1示出的系统的二级索引信息的数据结构;图4是图1示出的系统的对数据文件的存储流程图;图5是图4中分块后校验数据的生成方法流程图;图6是图4中分布存储处理的流程图;Fig. 1 is an embodiment of the distributed video-on-demand system provided by the present invention; Fig. 2 is the data structure of the main index information table of the system shown in Fig. 1: Fig. 3 is the secondary index information of the system shown in Fig. 1 Data structure; Fig. 4 is the storage flowchart of the system shown in Fig. 1 to the data file; Fig. 5 is the generation method flow diagram of verification data after block in Fig. 4; Fig. 6 is the flow process of distributed storage processing in Fig. 4 picture;

图7是图1示出的系统中对数据进行访问的流程图。FIG. 7 is a flow chart of accessing data in the system shown in FIG. 1 .

具体实施方式Detailed ways

下面将结合附图,举例说明本发明的一个实施的方式.An embodiment of the present invention will be illustrated below in conjunction with the accompanying drawings.

图1是本发明提供的分布式视频点播系统的一个实施例。在下面的描述中,假设视频点播系统客户端10通过通信网络20从索引服务器50发出数据请求,数据文件均匀存储在N(N为自然数)个二级服务器60上(本实施例基于两级结构,故将缓冲服务器称为二级服务器)。用户的请求首先在索引服务器50处被处理,查找请求的数据在N个二级服务器60中的分布情况,然后由多个二级服务器60将请求的数据通过通信网络加发送到用户端10,用户端10完成数据的重新组合过程。Fig. 1 is an embodiment of the distributed video-on-demand system provided by the present invention. In the following description, assume that the video-on-demand system client 10 sends a data request from the index server 50 through the communication network 20, and the data files are evenly stored on N (N is a natural number) secondary servers 60 (the present embodiment is based on a two-level structure , so the cache server is called a secondary server). The user's request is first processed at the index server 50, and the distribution of the requested data in N secondary servers 60 is searched, and then the requested data is sent to the client terminal 10 through the communication network by multiple secondary servers 60, The client terminal 10 completes the data reassembly process.

索引服务器50保存有多个目录表格。对每个数据文件都生成一个记录。每当有数据文件被分布式存储一次,都生成一个对应的主索引信息30,主索引信息是一个由多行数据形成的表格,称为主索引数据表200,主索引数据表如图2所示。对于分布在各个服务器上的数据,在二级服务器上对应有二级索引数据表40。二级索引数据表如图3所示。The index server 50 holds a plurality of catalog tables. One record is generated for each data file. Whenever a data file is stored in a distributed manner, a corresponding main index information 30 is generated. The main index information is a table formed by multiple rows of data, called the main index data table 200. The main index data table is shown in FIG. 2 Show. For the data distributed on each server, there is a secondary index data table 40 on the secondary server. The secondary index data table is shown in Figure 3.

主索引数据表200包含的数据记录有:数据文件名,用来表示数据分布情况的分布度;分布存储的第一个二级服务器标识-初始服务器;用于标识一个块组中设定数据块数目的组密度;存储数据的二级服务器名序列。如果客户端10需要请求某个数据文件,则通过连接索引服务器50获取主索引30,读取属于该请求文件的主索引数据表200,从中获得文件的分布信息、初始二级服务器、组密度和服务器名序列。The data records contained in the main index data table 200 include: the data file name, which is used to indicate the distribution degree of the data distribution; the first secondary server identifier of the distributed storage-the initial server; used to identify the set data block in a block group Number of group densities; sequence of secondary server names where data is stored. If the client 10 needs to request a certain data file, it will obtain the main index 30 by connecting to the index server 50, read the main index data table 200 belonging to the requested file, and obtain the distribution information, the initial secondary server, the group density and the distribution information of the file therefrom. Sequence of server names.

获取了主索引信息后,客户端10将与在主索引数据表200中服务器名序列中的二级服务器一一建立连接,利用二级索引数据表210提供的检索信息请求数据,连接从第一个二级服务器一一初始服务器开始,直到最后一份数据块读完,整个过程结束。After obtaining the primary index information, the client 10 will establish connections one by one with the secondary servers in the server name sequence in the primary index data table 200, utilize the retrieval information request data provided by the secondary index data table 210, and connect from the primary Two secondary servers——the initial server, start until the last data block is read, and the whole process ends.

二级索引数据表210中包含第一个记录是数据文件名,数据文件名是和主索引数据表中的数据文件名字段相关联的,第二个记录是数据块的序号,用来标示数据块在源文件中的位置,第三个记录是前一个服务器,第四个记录是后一个服务器,这两个记录指示了相邻的数据块的存储位置,最后一个记录是数据块的存储地址,存储地址包含了数据块在外存储器70中的存储位置。The secondary index data table 210 contains the first record is the data file name, the data file name is associated with the data file name field in the main index data table, and the second record is the serial number of the data block, which is used to mark the data The position of the block in the source file, the third record is the previous server, the fourth record is the next server, these two records indicate the storage location of the adjacent data block, and the last record is the storage address of the data block , the storage address includes the storage location of the data block in the external memory 70 .

图4是图1示出的系统的对数据文件的存储流程图。在进行数据文件的存储时,首先执行由索引服务器读取文件进行分析的步骤300,然后执行根据文件分块的参数对文件进行分块的步骤310,在该步骤中,数据块的大小可以具体设定,各数据块之间可以是大小相等,也可以不等,在本实施例中,各数据块的大小是相等的,即采用均匀分块的方式;分块完成后将设定数量的数据块形成数据块组,执行对每个块组计算形成校验数据块的步骤320,然后FIG. 4 is a flow chart of storing data files in the system shown in FIG. 1 . When storing data files, first execute the step 300 of reading and analyzing the file by the index server, and then execute the step 310 of dividing the file according to the parameters of file segmentation. In this step, the size of the data block can be specified. It is set that the size of each data block can be equal or unequal. In this embodiment, the size of each data block is equal, that is, the method of uniform block is adopted; after the block is completed, the set number of The data block forms a data block group, and the step 320 of forming a verification data block is performed for each block group calculation, and then

将校验数据作为块组数据之一放入数据块组中,形成新的数据块组,最后执行将所有的数据块进行分布式轮流存储到指定的N个二级服务器的外存70中的步骤330。Put the verification data into the data block group as one of the block group data to form a new data block group, and finally perform the process of distributing and storing all the data blocks in the external memory 70 of the designated N secondary servers in turn. Step 330.

图5是图4中分块后校验数据的生成方法流程图,在已设定好数据块大小和块组中的块数目(即组密度)后,主要步骤如下:Fig. 5 is the flow chart of the generation method of verification data after block in Fig. 4, after having set the block number (i.e. group density) in data block size and block group, main steps are as follows:

1、读取指定数据块数据的步骤400;1. Step 400 of reading the specified data block data;

2、判断是否达到了最后一个数据块的步骤410,如果达到最后一块转到步骤426处理,否则,执行步骤420,即判断数据块组指定的块数目(组密度)是否达到,如果没有达到,则继续读取下一个数据块,执行步骤400,否则表示已经读取了一个数据块组,执行步骤425;2, judge whether to reach the step 410 of last data block, if reach last block, go to step 426 processing, otherwise, execute step 420, promptly judge whether the block number (group density) that data block group designation reaches, if not reach, Then continue to read the next data block, and execute step 400, otherwise it means that a data block group has been read, and execute step 425;

3、步骤425,对已读取得数据块组计算生成校验数据块,然后继续执行步骤400;3. Step 425, calculate and generate a verification data block for the read data block group, and then continue to execute step 400;

4、步骤426,判断数据块组指定的块数目(组密度)是否达到,若达到,执行步骤440,否则执行步骤430;4. Step 426, judge whether the block number (group density) specified by the data block group reaches, if reached, execute step 440, otherwise execute step 430;

5、步骤430,对数量不足的数据块部分填充数据,以补充不足的数据块,补充数据块形成块组后,生成最后一个数据块组;6、步骤440,对最后一个数据块组计算生成校验数据块;7、步骤450,将所有的数据块连同校验数据块进行分布存储处理,具体见图6。5. Step 430, partially fill the data blocks with insufficient quantity to supplement the insufficient data blocks, and after supplementing the data blocks to form a block group, generate the last data block group; 6. Step 440, calculate and generate the last data block group Verifying the data block; 7. Step 450, performing distributed storage processing on all the data blocks together with the verifying data block, see FIG. 6 for details.

在本实施例中,校验数据块的计算生成方法很多,这里举出几个具体的例子,假定组密度200d=M(M为自然数),相应地各个块组为D 1,Dz,...DM,待生成的校验数据为P,可以采取如下几种校验方法:In the present embodiment, there are many methods for calculating and generating check data blocks, here are a few specific examples, assuming group density 200d=M (M is a natural number), correspondingly each block group is D1, Dz, .. .DM, the verification data to be generated is P, and the following verification methods can be adopted:

(1)奇偶校验方法:又称为RAID方法,方法是,采用按位进行二进制加法的方法,按照这种方法,P=D1田DZ.....DM.或P=一(D10DZ,.....巩),其中“.”表示“异或”运算,“一”表示“非”运算。假设块组中的巩发生错误,那么相应地,对应该校验的数据恢复方法是:几=D1.几....环一P.Dk+1...田DM.或Dk二·(DI.DZ。...Dk-loP田Dk+1...。DM).(1) parity check method: also known as the RAID method, the method is to adopt the method of binary addition bit by bit, according to this method, P=D1 field DZ.....DM. or P=one (D10DZ, .....Gong), where "." represents "exclusive OR" operation, and "one" represents "not" operation. Assuming that an error occurs in the block group, then correspondingly, the data recovery method corresponding to the verification is: a few=D1. DI.DZ....Dk-loP Tian Dk+1....DM).

(2)模运算方法:方法是,将块组看成二进制数,假设每个块的数二进制位数为K,将所有块组数相加,并对ZAK取模,即:P==(D1+DZ+...+nM)mod ZAK。假设块组中的Dk发生错误,那么对应该校验的数据恢复方法是:Dk=P+2叹一(DI+DZ+...+Dk一1+D卜1...+DM)modZAK。(2) modulus operation method: method is, block group is regarded as binary number, suppose the number binary digit of each block is K, all block group numbers are added, and ZAK is taken modulus, namely: P==( D1+DZ+...+nM) mod ZAK. Assuming that an error occurs in Dk in the block group, the data recovery method corresponding to the verification is: Dk=P+2-(DI+DZ+...+Dk-1+D-1...+DM)modZAK.

(3)镜像方法:该方法是对每个块生成一个相同的数据拷贝块,相当于在系统中生成两个相同的分布式拷贝。(3) Mirroring method: This method is to generate an identical data copy block for each block, which is equivalent to generating two identical distributed copies in the system.

方法还有很多,这里不再逐一举例,所有的方法都必须满足以下条件:一般地,校验数据P的生成方法是:对数据D1,DZ,...,DM·对应校验生成函数f(·),满足P二f(D,,DZ,...,DM),相应地,对于任意数据认,对应一个校验数据恢复函数g(·),满足Dk=g(D,,DZ,一Dk-1,P,D卜卜一DM),函数f(·)和g(·)可以相同,也可以不同。There are many methods, and we will not give examples one by one here. All the methods must meet the following conditions: Generally, the generation method of the verification data P is: for the data D1, DZ, ..., DM, the corresponding verification generation function f (·), satisfying P=f(D,, DZ,..., DM), correspondingly, for any data recognition, corresponding to a verification data recovery function g(·), satisfying Dk=g(D,, DZ ,—Dk-1, P, D Bubu—DM), the functions f(·) and g(·) can be the same or different.

图6是图4中分布存储处理的流程图,包括以下步骤:Fig. 6 is a flowchart of distributed storage processing in Fig. 4, including the following steps:

1.步骤500,设定分布参数,即设定参与分布存储的服务器数目及所有的服务器名称,生成主索引数据表200;1. Step 500, setting distribution parameters, that is, setting the number of servers participating in distributed storage and all server names, and generating the main index data table 200;

2.步骤510,设定起始服务器,即确定第一个开始存储的服务器;2. Step 510, setting the starting server, that is, determining the first server to start storing;

3.步骤520,读取数据块组;3. Step 520, read the data block group;

4.步骤530,分布式存储数据块组及生成二级索引,即从起始服务器开始,存储第一个数据块,在该服务器上生成该块的二级索引数据表信息210;然后顺次连接下一个服务器,存储第二个数据块,在该服务器上生成该块的二级索引数据表信息210,直到该块组的所有数据块分步存储到服务器上为止(包括对应的校验数据块);4. Step 530, distributed storage of data block groups and generation of secondary indexes, that is, starting from the starting server, storing the first data block, and generating the secondary index data table information 210 of the block on the server; and then sequentially Connect to the next server, store the second data block, generate the secondary index data table information 210 of the block on the server, until all the data blocks of the block group are stored on the server step by step (including the corresponding verification data piece);

5.步骤540,判断该块组是否是最后一个块组,如果不是,则重新设定起始服务器,执行步骤510,如果是,那么表示所有的数据块组已经分布存储完毕,分布式存储结束;5. Step 540, judge whether the block group is the last block group, if not, reset the starting server, and execute step 510, if yes, it means that all data block groups have been distributed and stored, and the distributed storage is over ;

6、结束步骤550。为了进一步提高数据的可靠性和灵活性,校验数据可以在块组中按照一定的规则指定位置,如在固定位置或动态位置,其中动态位置存储的可采用动态循环方法,如将校验数据在第一数据块组中放在第一块,第二数据块组中放在第二块,,......当校验数据块所在位置达到组密度时,又从第一块开始循环,可在实施过程中进行选择。6. Step 550 ends. In order to further improve the reliability and flexibility of the data, the verification data can be specified in the block group according to certain rules, such as in a fixed position or a dynamic position, where the dynamic position can be stored in a dynamic loop method, such as the verification data Put the first block in the first data block group, put the second block in the second data block group, ... When the position of the check data block reaches the group density, start from the first block again Loop, selectable during implementation.

图7是图1示出的系统中对数据进行访问的流程图,主要包括如下步骤:Fig. 7 is a flow chart of accessing data in the system shown in Fig. 1, which mainly includes the following steps:

1.步骤610,客户端10通过通信网络20与索引服务器50进行连接,请求某个数据文件;1. Step 610, the client 10 connects with the index server 50 through the communication network 20, and requests a certain data file;

2.步骤620,连接建立后,索引服务器通过请求查找主索引信息,获取主索引30,获得标识该请求数据文件索引数据表200,从200中提取该文件的分布信息,包含文件名,分布度,初始服务器,组密度,服务器名序列等信息;2. Step 620, after the connection is established, the index server searches for the main index information through the request, obtains the main index 30, obtains the index data table 200 identifying the requested data file, and extracts the distribution information of the file from 200, including the file name and distribution degree , initial server, group density, server name sequence and other information;

3.步骤630,连接起始服务器;3. Step 630, connect to the initial server;

4.步骤640,调用读取二级索引信息过程,获取二级索引40,取得属于该请求文件的二级索引数据表210,从210中获得该数据块在服务器中的对应文件名、数据块号、上一个服务器、下一个服务器、存储位置等信息;4. Step 640, call the process of reading the secondary index information, obtain the secondary index 40, obtain the secondary index data table 210 belonging to the request file, and obtain the corresponding file name and data block of the data block in the server from 210 number, previous server, next server, storage location and other information;

5.步骤650,在外存70中读取数据块;5. Step 650, read the data block in the external memory 70;

6.步骤660,判断读取的数据块数是否达到为该文件指定组密度值:(1)如果达到组密度值,那么执行步骤680,即去校验和数据块的重新组合过程,去校验重组过程将原来进行数据可靠性保证的冗余校验数据去掉。继续执行步骤690;6. Step 660, judging whether the number of data blocks read has reached the specified group density value for the file: (1) if it reaches the group density value, then perform step 680, that is, go to the reassembly process of the checksum and data blocks, and go to the calibration The verification and reorganization process removes the redundant verification data that was originally used to ensure data reliability. Proceed to step 690;

(2)如果没有达到组密度值,执行步骤670,即连接下一个服务器,然后继续执行步骤640;(2) If the group density value is not reached, execute step 670, that is, connect to the next server, and then continue to execute step 640;

7.步骤690,判断数据块号,察看是否达到最后一个数据块:(1)若没有达到,执行步骤670,即连接下一个服务器,继续执行步骤640;7. Step 690, judge the data block number, and check whether the last data block is reached: (1) if not, execute step 670, that is, connect to the next server, and continue to execute step 640;

(2)若已经达到最后一个数据块,那么整个数据检索访问过程结束。(2) If the last data block has been reached, the entire data retrieval access process ends.

尽管参照实施例对所公开的涉及分布式视频点播系统及其实现数据存储和访问的方法进行了特别描述,本领域技术人员将能理解,在不偏离本发明的范围和精神的情况下,可以对它进行形式和细节的种种显而易见的修改,如可自选数据校验方法和数据分布密度,同时可以将实施例中的服务器分布的二级方式改为3级或多级方式,也可改为单级,索引信息表也可自行设计,增加新字段等。因此,以上描述的实施例是说明性的而不是限制性的,在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明的范围之内。Although the disclosed distributed video-on-demand system and the method for implementing data storage and access thereof have been specifically described with reference to the embodiments, those skilled in the art will understand that, without departing from the scope and spirit of the present invention, the Various obvious modifications are made to it in terms of form and details, such as optional data verification method and data distribution density, and at the same time, the two-level mode of server distribution in the embodiment can be changed to a three-level or multi-level mode, and can also be changed to Single-level, index information tables can also be designed by themselves, adding new fields, etc. Therefore, the embodiments described above are illustrative rather than restrictive, and all changes and modifications are within the scope of the invention without departing from the spirit and scope of the invention.

Claims (10)

1、一种分布式视频点播系统中实现数据存储的方法,其特征在于数据存储的方法包括以下步骤:1, a method for realizing data storage in a distributed video-on-demand system, is characterized in that the method for data storage comprises the following steps: A.对数据文件按设定的方式进行数据分块;A. Divide the data file into blocks according to the set method; B.对设定数目的数据块计算形成校验数据块;B. Calculate the set number of data blocks to form a check data block; C.将所述数据块和校验数据块按设定的方式轮流存储到设定的多个缓冲服务器中;C. storing the data block and the verification data block in a set manner in turn in multiple set buffer servers; D.在所述每一个缓冲服务器中生成相应的数据块存储的索引信息。D. Generate index information stored in corresponding data blocks in each buffer server. 2、一种分布式视频点播系统中实现数据访问的方法,其特征在于数据访问的方法包括以下步骤:2. A method for realizing data access in a distributed video-on-demand system, characterized in that the method for data access comprises the following steps: a.客户端与服务器建立连接;a. The client establishes a connection with the server; b.客户端从索引服务器中读取要访问的数据文件对应的索引信息;b. The client reads the index information corresponding to the data file to be accessed from the index server; c.按照索引信息在相应的多个缓冲服务器中读取数据块;c. Read data blocks in corresponding multiple buffer servers according to the index information; d.对已读取达到组密度的数据块组进行去校验;d. De-verify the data block group that has been read to reach the group density; e.客户端对读取的数据块进行重组,恢复数据文件。e. The client reorganizes the read data blocks and restores the data files. 3、根据权利要求1所述的存储方法,其特征在于对数据文件进行均匀的数据分块。3. The storage method according to claim 1, characterized in that uniform data blocks are performed on the data files. 4、根据权利要求1所述的存储方法,其特征在于所述每个数据块组中,任一数据块可以通过校验数据块和其他数据块恢复。4. The storage method according to claim 1, wherein in each data block group, any data block can be restored by verifying the data block and other data blocks. 5、根据权利要求1所述的存储方法,其特征在于其中对设定数目的数据块计算形成校验数据块的步骤中,还包括以下步骤:5. The storage method according to claim 1, wherein the step of calculating and forming a verification data block for a set number of data blocks further includes the following steps: B.1.判断包含文件最后一个数据块的数据组的数量,是否达到设定的数目,若达到,计算形成校验数据块;B.1. Determine whether the number of data groups containing the last data block of the file has reached the set number, and if so, calculate and form a check data block; B.2.若没有达到,填充数量不足的数据块,然后计算形成校验数据块。B.2. If it is not reached, fill the insufficient data blocks, and then calculate to form a check data block. 6、根据权利要求1所述的存储方法,其特征在于其中将所述数据块按设定的方式轮流存储到多个服务器中步骤中,还包括以下步骤:6. The storage method according to claim 1, wherein the step of storing the data blocks in turn in a plurality of servers in a set manner further includes the following steps: C.1.设定分布存储缓冲服务器的数量和名称;C.1. Set the number and name of distributed storage buffer servers; C.2.确定初始存储缓冲服务器。C.2. Determine the initial storage cache server. 7、根据权利要求1所述的存储方法,其特征在于数据块组中的校验数据块存储位置是动态的。7. The storage method according to claim 1, characterized in that the storage location of the verification data block in the data block group is dynamic. 8、根据权利要求1所述的存储方法,其特征在于其中在所述每一个缓冲服务器中生成相应的数据存储的索引信息的步骤中,索引信息包括以下内容:所存储的数据块对应的文件名;8. The storage method according to claim 1, wherein in the step of generating index information corresponding to data storage in each buffer server, the index information includes the following content: the file corresponding to the stored data block name; 所存储的数据块序号;The serial number of the stored data block; 所存储数据块的相邻数据块存储的服务器名称;The name of the server where the adjacent data block of the stored data block is stored; 所存储的数据块在服务器中的存储地址。The storage address of the stored data block in the server. 9、根据权利要求2所述的数据访问方法,其特征在于其中按照索引信息在相应的多个服务器中读取数据块的步骤中还包括以下步骤:9. The data access method according to claim 2, wherein the step of reading data blocks in corresponding multiple servers according to the index information further comprises the following steps: c.1.连接起始服务器;c.1. Connect to the origin server; c.2.按索引信息读取文件对应的数据块;c.2. Read the data block corresponding to the file according to the index information; c.3.判断所读取的数据块数量是否等于组密度,若否,执行下一步,若是,执行客户端对读取的数据块进行重组,还原数据文件的步骤;c.3. Judging whether the number of data blocks read is equal to the group density, if not, execute the next step, if so, perform the steps of the client reorganizing the read data blocks and restoring the data file; c.4.连接下一个服务器,继续读取数据块,执行步骤c.2。c.4. Connect to the next server, continue to read data blocks, and execute step c.2. 10、分布式视频点播系统,包括若干个视频客户端,若干个存贮视频数据文件的缓冲服务器和索引服务器,所述客户端和服务器通过通信网络进行连接和通讯,其特征在于:10, distributed video-on-demand system, comprises several video clients, buffer server and index server of several storage video data files, described client and server are connected and communicated by communication network, it is characterized in that: 客户端向索引服务器发出文件请求,对从缓冲服务器读取的数据块重组;索引服务器,控制数据文件按设定方式被划分成数据块,对设定数目的数据块计算形成校验数据块,控制所述数据块和校验数据块按设定的方式分别轮流存储到多个数据块存储服务器;The client sends a file request to the index server to reorganize the data blocks read from the buffer server; the index server controls the data file to be divided into data blocks according to the set method, and calculates the set number of data blocks to form a check data block, Controlling the data block and the verification data block to be stored in a plurality of data block storage servers in turn in a set manner; 缓冲服务器,记录数据块存储的索引信息,并存储数据块。The buffer server records the index information stored in the data block and stores the data block.
CN 02136350 2002-07-30 2002-07-30 Distributed video-on-demand system and its method for realizing data storage and access Expired - Fee Related CN1258921C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02136350 CN1258921C (en) 2002-07-30 2002-07-30 Distributed video-on-demand system and its method for realizing data storage and access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02136350 CN1258921C (en) 2002-07-30 2002-07-30 Distributed video-on-demand system and its method for realizing data storage and access

Publications (2)

Publication Number Publication Date
CN1472963A CN1472963A (en) 2004-02-04
CN1258921C true CN1258921C (en) 2006-06-07

Family

ID=34146420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02136350 Expired - Fee Related CN1258921C (en) 2002-07-30 2002-07-30 Distributed video-on-demand system and its method for realizing data storage and access

Country Status (1)

Country Link
CN (1) CN1258921C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011131080A1 (en) * 2010-04-20 2011-10-27 杭州和利时自动化有限公司 Historical data processing method and device for distributed control system
CN104969192A (en) * 2013-02-27 2015-10-07 惠普发展公司,有限责任合伙企业 Selecting a backup type based on changed data

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006126894A (en) * 2004-10-26 2006-05-18 Sony Corp Content distribution method, program, and information processing apparatus
CN100459701C (en) * 2004-11-16 2009-02-04 南京大学 Measurement-Based Adaptive Admission Control Method for Video-on-Demand System
CN1328879C (en) * 2005-01-26 2007-07-25 北京大学 Online backup method based on data block redundancy and virtualized storage
CN101000610B (en) * 2006-01-11 2010-09-29 鸿富锦精密工业(深圳)有限公司 File distributed storage system and method
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN100477622C (en) * 2006-06-28 2009-04-08 华中科技大学 Circular node organizing method in reciprocal network request broadcast system
CN100438625C (en) * 2006-07-19 2008-11-26 杭州华三通信技术有限公司 Video monitoring data storage managing method and system
CN101155296B (en) * 2006-09-29 2011-05-25 中国科学技术大学 method of data transfer
CN101193273B (en) * 2006-11-20 2010-07-14 中兴通讯股份有限公司 A method for storing and playing real-time multimedia image information
CN101146110B (en) 2007-09-25 2011-06-29 深圳市迅雷网络技术有限公司 A way to play streaming media
CN101141627A (en) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 System and method for storing streaming media files
CN101472166B (en) * 2007-12-26 2011-11-16 华为技术有限公司 Method for caching and enquiring content as well as point-to-point medium transmission system
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN102387179B (en) * 2010-09-02 2016-08-10 联想(北京)有限公司 Distributed file system and node, storage method and storage controlling method
CN102385606B (en) * 2010-09-03 2016-08-03 腾讯科技(深圳)有限公司 The access method of a kind of Distributed Data Warehouse and device
CN102055797A (en) * 2010-11-29 2011-05-11 北京卓微天成科技咨询有限公司 Method, device and system for accessing cloud storage data
CN101997929A (en) * 2010-11-29 2011-03-30 北京卓微天成科技咨询有限公司 Data access method, device and system for cloud storage
CN102595085B (en) * 2011-12-31 2015-05-20 杭州华三通信技术有限公司 Data storage management method and equipment thereof
CN103200204A (en) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 Distributed transcoding system and method based on cloud storage
US8862847B2 (en) 2013-02-08 2014-10-14 Huawei Technologies Co., Ltd. Distributed storage method, apparatus, and system for reducing a data loss that may result from a single-point failure
CN103237063B (en) * 2013-04-11 2016-12-28 安科智慧城市技术(中国)有限公司 Cloud storage method, cloud control server, cloud storage server and system
CN103535014B (en) * 2013-04-23 2016-09-28 华为技术有限公司 A kind of network store system, data processing method and client
CN104216664B (en) * 2013-06-26 2017-06-09 华为技术有限公司 Network volume creation method, date storage method, storage device and storage system
CN103425785A (en) * 2013-08-22 2013-12-04 新浪网技术(中国)有限公司 Data storage system and user data storage and reading method thereof
US10241689B1 (en) 2015-06-23 2019-03-26 Amazon Technologies, Inc. Surface-based logical storage units in multi-platter disks
CN104980680B (en) * 2015-06-30 2017-11-03 银江股份有限公司 A kind of method of video data access
CN104954388B (en) * 2015-07-14 2018-03-20 电子科技大学 Towards the distributed more internal memory copy storage systems and method of video stream data
US10177907B2 (en) * 2015-07-20 2019-01-08 Sony Corporation Distributed object routing
CN105760112B (en) * 2016-02-01 2017-03-15 惠州市蓝微新源技术有限公司 Extend date storage method, read method and the system of memory use time
CN110177309A (en) * 2019-05-31 2019-08-27 北京大米科技有限公司 Method, apparatus, electronic equipment and the medium of video data storage
CN117195300B (en) * 2023-09-20 2024-03-29 全拓科技(杭州)股份有限公司 Big data safety protection method, device and system
CN118568331B (en) * 2024-08-01 2024-12-17 浙江大华技术股份有限公司 Data communication method and related device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011131080A1 (en) * 2010-04-20 2011-10-27 杭州和利时自动化有限公司 Historical data processing method and device for distributed control system
CN104969192A (en) * 2013-02-27 2015-10-07 惠普发展公司,有限责任合伙企业 Selecting a backup type based on changed data

Also Published As

Publication number Publication date
CN1472963A (en) 2004-02-04

Similar Documents

Publication Publication Date Title
CN1258921C (en) Distributed video-on-demand system and its method for realizing data storage and access
CN1201336C (en) Coding method for storing data signals
US9274890B2 (en) Distributed storage network memory access based on memory state
US9170884B2 (en) Utilizing cached encoded data slices in a dispersed storage network
US9110819B2 (en) Adjusting data dispersal in a dispersed storage network
US7373520B1 (en) Method for computing data signatures
CN112889034A (en) Erase coding of content driven distribution of data blocks
US20120060072A1 (en) Erasure coding immutable data
US20130325820A1 (en) Verifying data integrity utilizing dispersed storage
US20140247516A1 (en) Localized dispersed storage memory system
CN101488104A (en) System and method for implementing high-efficiency security memory
JP2009532812A (en) Storage Allocation and Erasure Coding Techniques for Scalable and Fault Tolerant Storage Systems
US9836352B2 (en) Detecting a utilization imbalance between dispersed storage network storage units
CN112230861A (en) Data storage method and terminal based on consistent hash algorithm
US20140325266A1 (en) Likelihood based rebuilding of missing encoded data slices
GB2482112A (en) Distributed data storage and recovery
US9489264B2 (en) Storing an encoded data slice as a set of sub-slices
US20230179423A1 (en) Method and apparatus for storing blockchain transaction data and distributed storage system using the same
US9229824B2 (en) Caching rebuilt encoded data slices in a dispersed storage network
US7685377B1 (en) Piecewise logical data management
CN117370067B (en) A data layout and encoding method for a large-scale object storage system
CN109960588B (en) A read request scheduling method and system for heterogeneous memory clusters
CN119248797B (en) Block or transaction presence proving method, device and storage medium
US11586595B1 (en) Space-efficient techniques for generating unique instances of data objects
CN101055509A (en) Highly efficient stream media data read-write system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060607

Termination date: 20140730

EXPY Termination of patent right or utility model