CN104219540B - Distributing coding/decoding system and method - Google Patents
Distributing coding/decoding system and method Download PDFInfo
- Publication number
- CN104219540B CN104219540B CN201310207915.5A CN201310207915A CN104219540B CN 104219540 B CN104219540 B CN 104219540B CN 201310207915 A CN201310207915 A CN 201310207915A CN 104219540 B CN104219540 B CN 104219540B
- Authority
- CN
- China
- Prior art keywords
- encoding
- server
- file
- client
- servers
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000005540 biological transmission Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000010354 integration Effects 0.000 claims description 7
- 238000007616 round robin method Methods 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种分散式编解码系统,包括传送模块、选择模块、计算模块等多个功能模块。利用上述功能模块,可确定客户端所需的目标文件;选择存储该目标文件的源服务器;确定各个源服务器的优先级,并确定编码服务器;将该目标文件分割为多个文件区块,并依序分配各个编码服务器所需处理的文件区块;生成分配记录表并同步至所有的编码服务器及所述客户端中,所述编码服务器根据所述分配记录表对所分配的文件区块进行编码处理。本发明还提供一种分散式编解码方法。利用本发明可对多媒体文件进行分散式编解码。
A distributed encoding and decoding system includes multiple functional modules such as a transmission module, a selection module, and a calculation module. Using the above functional modules, the target file required by the client can be determined; the source server that stores the target file is selected; the priority of each source server is determined, and the encoding server is determined; the target file is divided into multiple file blocks, and Sequentially allocate the file blocks that each encoding server needs to process; generate an allocation record table and synchronize it to all encoding servers and the client, and the encoding server performs the allocation of the allocated file blocks according to the allocation record table Encoding processing. The invention also provides a distributed encoding and decoding method. By using the invention, the multimedia files can be distributedly encoded and decoded.
Description
技术领域technical field
本发明涉及编解码技术,尤其涉及一种分散式编解码系统及方法。The present invention relates to encoding and decoding technology, in particular to a distributed encoding and decoding system and method.
背景技术Background technique
通常,视频信号在传送前需要先进行压缩编码,即对视频源进行压缩编码,然后利用网络进行传送,从而节省传送带宽和存储空间等。随着视频编码标准的提高,分辨率越来越高,位元率减少,然而,计算复杂度也相应提升了。例如,高效率的视频编码(HEVC,HighEfficiency Video Coding),最多可节省40~50% 之位元率,然而计算复杂度可能会提升2~10倍,甚至更多。Usually, the video signal needs to be compressed and encoded before transmission, that is, the video source is compressed and encoded, and then transmitted through the network, thereby saving transmission bandwidth and storage space, etc. With the improvement of video coding standards, the resolution is higher and higher, and the bit rate is reduced. However, the computational complexity is also increased accordingly. For example, high-efficiency video coding (HEVC, High Efficiency Video Coding) can save up to 40-50% of the bit rate, but the computational complexity may increase by 2-10 times, or even more.
因此,计算复杂度的提示必然会造成对视频信号的编解码的计算时间出现提升,如此,必然影响对视频信号的编解码的效率。Therefore, the reminder of the computational complexity will inevitably lead to an increase in the computational time for encoding and decoding video signals, which will inevitably affect the efficiency of encoding and decoding video signals.
发明内容Contents of the invention
鉴于以上内容,有必要提供一种分散式编解码系统及方法,可对多媒体文件进行分割处理,并利用分布式的多服务器分别对分割后的不同的文件区块进行编码处理,从而提高编码效率。In view of the above, it is necessary to provide a distributed encoding and decoding system and method, which can segment multimedia files, and use distributed multi-servers to encode different segmented file blocks, thereby improving encoding efficiency .
进一步地,还有必要提供一种分散式编解码系统及方法,可在客户端接收从多个服务器传送的编码后的文件区块,依序进行解码,并对解码后的多个文件区块进行整合以生成完整的多媒体文件,从而实现数据传送的频宽(band width)消耗得以降低。Further, it is also necessary to provide a distributed encoding and decoding system and method, which can receive encoded file blocks transmitted from multiple servers on the client side, decode them sequentially, and decode the multiple decoded file blocks Consolidation is performed to generate complete multimedia files, thereby reducing bandwidth consumption for data transfer.
一种分散式编解码方法,应用于主服务器,所述主服务器与多个从服务器及客户端相连接,该方法包括:接收客户端需求,并确定客户端所需的多媒体文件为目标文件;选择多个存储了该目标文件的从服务器为源服务器;确定各个源服务器的优先级;根据优先级从所述源服务器中确定多个编码服务器;根据其中一个编码服务器中存储的目标文件的信息,将该目标文件分割为多个文件区块;根据预设的分配方法,依序分配各个编码服务器所需处理的文件区块,生成分配记录表并记录每个编码服务器所需处理的文件区块;及将所述分配记录表同步至所有的编码服务器及所述客户端中,所述编码服务器根据所述分配记录表对所分配的文件区块进行编码处理。A distributed encoding and decoding method, applied to a master server, the master server is connected to a plurality of slave servers and clients, the method includes: receiving client requirements, and determining the multimedia files required by the clients as target files; Select multiple slave servers that have stored the target file as the source server; determine the priority of each source server; determine multiple encoding servers from the source server according to the priority; according to the information of the target file stored in one of the encoding servers , divide the target file into multiple file blocks; according to the preset allocation method, sequentially allocate the file blocks that each encoding server needs to process, generate an allocation record table and record the file areas that each encoding server needs to process blocks; and synchronizing the allocation record table to all encoding servers and the clients, and the encoding server encodes the allocated file blocks according to the allocation record table.
一种分散式编解码方法,应用于客户端,所述客户端与主服务器及多个从服务器相连接,该方法包括:发送需求至所述主服务器,该需求包括所述客户端所需的多媒体文件的信息,该多媒体文件确定为目标文件;接收从所述主服务器同步传送的分配记录表,所述分配记录表记录了编码服务器的编号及顺序、及编码服务器所需处理的文件区块;接收从每个编码服务器传回的编码后的文件区块,并根据预设顺序对编码后的文件区块进行解码处理;及根据所述分配记录表确定在已经接收到所有的编码后的文件区块时,对解码后的文件区块进行重组并生成完整的目标文件。A distributed encoding and decoding method applied to a client, the client is connected to a master server and a plurality of slave servers, the method includes: sending a demand to the master server, the demand includes the client required The information of the multimedia file, the multimedia file is determined as the target file; receiving the allocation record table synchronously transmitted from the main server, the allocation record table records the number and sequence of the encoding server, and the file blocks that the encoding server needs to process ; Receive the encoded file blocks returned from each encoding server, and decode the encoded file blocks according to a preset order; and determine according to the allocation record table that after all the encoded file blocks have been received When a file block is generated, the decoded file block is reassembled and a complete target file is generated.
一种分散式编解码系统,应用于主服务器,所述主服务器与多个从服务器及客户端相连接,该系统包括:传送模块,用于接收客户端需求,并确定客户端所需的多媒体文件为目标文件;选择模块,用于选择多个存储了该目标文件的从服务器为源服务器;计算模块,用于确定各个源服务器的优先级;确定模块,用于根据优先级从所述源服务器中确定多个编码服务器;分割模块,用于根据其中一个编码服务器中存储的目标文件的信息,将该目标文件分割为多个文件区块;分配模块,用于根据预设的分配方法,依序分配各个编码服务器所需处理的文件区块,生成分配记录表并记录每个编码服务器所需处理的文件区块;及同步模块,用于将所述分配记录表同步至所有的编码服务器及所述客户端中,所述编码服务器根据所述分配记录表对所分配的文件区块进行编码处理。A distributed codec system, applied to a master server, the master server is connected to multiple slave servers and clients, the system includes: a transmission module, used to receive client requirements, and determine the multimedia required by the client The file is a target file; the selection module is used to select a plurality of slave servers storing the target file as source servers; the calculation module is used to determine the priority of each source server; the determination module is used to select from the source server according to the priority Multiple encoding servers are determined in the server; the segmentation module is used to divide the target file into multiple file blocks according to the information of the target file stored in one of the encoding servers; the allocation module is used to divide the target file into multiple file blocks according to a preset allocation method, Sequentially allocate the file blocks that each encoding server needs to process, generate an allocation record table and record the file blocks that each encoding server needs to process; and a synchronization module, used to synchronize the allocation record table to all encoding servers And in the client, the encoding server encodes the allocated file blocks according to the allocation record table.
一种分散式编解码系统,应用于客户端,所述客户端与主服务器及多个从服务器相连接,其特征在于,该系统包括:传送模块,用于发送需求至所述主服务器,该需求包括所述客户端所需的多媒体文件的信息,该多媒体文件确定为目标文件;所述的传送模块,还用于接收从所述主服务器同步传送的分配记录表,以及接收从每个编码服务器传回的编码后的文件区块,所述分配记录表记录了编码服务器的编号及顺序、及编码服务器所需处理的文件区块;解码模块,用于根据预设顺序对编码后的文件区块进行解码处理;及整合模块,用于根据所述分配记录表确定在已经接收到所有的编码后的文件区块时,对解码后的文件区块进行重组并生成完整的目标文件。A distributed codec system, applied to a client, the client is connected to a master server and a plurality of slave servers, characterized in that the system includes: a transmission module, used to send requirements to the master server, the The requirement includes the information of the multimedia file required by the client, and the multimedia file is determined as the target file; the transmission module is also used to receive the allocation record table synchronously transmitted from the main server, and receive the information from each encoded The coded file block returned by the server, the allocation record table records the number and order of the encoding server, and the file blocks that the encoding server needs to process; the decoding module is used to encode the encoded file according to the preset order The block is decoded; and the integration module is configured to reassemble the decoded file blocks and generate a complete target file when all encoded file blocks have been received according to the allocation record table.
相较于现有技术,所述的分散式编解码系统及方法,可对多媒体文件进行分割处理,并利用分布式的多服务器分别对分割后的不同的影像片段(或影像区块)进行编码处理,从而提高编码效率,并减少利用单一服务器进行编码而造成该服务器负载过重的问题。此外,所述的分散式编解码系统及方法,还可在客户端接收从多个服务器传送的编码后的文件区块,依序进行解码,并对解码后的多个文件区块进行整合以生成完整的多媒体文件,从而实现数据传送的频宽消耗得以降低。Compared with the prior art, the distributed encoding and decoding system and method can segment multimedia files, and use distributed multi-servers to encode different segmented video segments (or video blocks) respectively Processing, thereby improving the encoding efficiency, and reducing the problem of overloading the server caused by encoding with a single server. In addition, in the distributed encoding and decoding system and method, the client can also receive encoded file blocks transmitted from multiple servers, decode them sequentially, and integrate multiple decoded file blocks to Generate complete multimedia files, thereby reducing bandwidth consumption for data transfer.
附图说明Description of drawings
图1是本发明分散式编解码系统的较佳实施方式的运行环境图。Fig. 1 is an operating environment diagram of a preferred embodiment of the distributed codec system of the present invention.
图2是本发明分散式编解码系统的较佳实施方式的硬件架构图。Fig. 2 is a hardware architecture diagram of a preferred embodiment of the distributed encoding and decoding system of the present invention.
图3是本发明分散式编解码系统的较佳实施方式的功能模块图。Fig. 3 is a functional block diagram of a preferred embodiment of the distributed encoding and decoding system of the present invention.
图4是本发明分散式编解码系统的分配记录表的示意图。Fig. 4 is a schematic diagram of an allocation record table of the distributed codec system of the present invention.
图5是本发明分散式编解码方法的较佳实施方式的编码流程图。Fig. 5 is an encoding flowchart of a preferred embodiment of the distributed encoding and decoding method of the present invention.
图6是本发明分散式编解码方法的较佳实施方式的解码流程图。Fig. 6 is a decoding flowchart of a preferred embodiment of the distributed encoding and decoding method of the present invention.
主要元件符号说明Description of main component symbols
如下具体实施方式将结合上述附图进一步说明本发明。The following specific embodiments will further illustrate the present invention in conjunction with the above-mentioned drawings.
具体实施方式detailed description
如图1所示,是本发明分散式编解码系统的较佳实施方式的运行环境图。如图2所示,是本发明分散式编解码系统的较佳实施方式的硬件架构图。下文结合图1、图2进行说明。As shown in FIG. 1 , it is an operating environment diagram of a preferred embodiment of the distributed encoding and decoding system of the present invention. As shown in FIG. 2 , it is a hardware architecture diagram of a preferred embodiment of the distributed encoding and decoding system of the present invention. The following will be described in conjunction with Fig. 1 and Fig. 2 .
所述的分散式编解码系统3应用于多个服务器1及客户端2中,所述的服务器1可以是计算机、计算机主机等装置,所述的客户端2可以是计算机、手机、电视、平板电脑、笔记本电脑、个人数字助理等电子装置。在本较佳实施方式中,所述服务器1与客户端2、以及多个服务器1之间可通过互联网(Internet)、内部网(Intranet)或其它类型的通讯网络进行连接,以实现数据的传输。The distributed codec system 3 is applied to a plurality of servers 1 and clients 2, the server 1 can be a computer, a host computer and other devices, and the client 2 can be a computer, a mobile phone, a TV, a tablet Electronic devices such as computers, laptops, personal digital assistants, etc. In this preferred embodiment, the server 1 and the client 2, as well as multiple servers 1, can be connected through the Internet (Internet), intranet (Intranet) or other types of communication networks to realize data transmission .
在第一实施方式中,可预先指定多个服务器1中的一个服务器1为主服务器(例如图1中的服务器A),则其余服务器1(例如图1中的服务器B、C、D等)可被认为是从服务器。该主服务器的指定可以根据实际需求进行修改,例如,可将服务器B指定为主服务器。对所述主服务器和从服务器的确定可以利用所述的分散式编解码系统3进行。In the first embodiment, one of the multiple servers 1 can be pre-designated as the main server (such as server A in Figure 1), and the remaining servers 1 (such as servers B, C, D, etc. in Figure 1) Can be considered as a slave server. The designation of the master server can be modified according to actual needs, for example, server B can be designated as the master server. The determination of the master server and the slave server can be performed by using the distributed codec system 3 .
此外,在第二实施方式中,可以有一个特定的主服务器独立于其他所有的服务器。Furthermore, in the second embodiment, there may be a specific master server that is independent of all other servers.
在本较佳实施方式中,所述的分散式编解码系统3可应用于各个服务器1和所述客户端2中。所述的分散式编解码系统3用于确定所述客户端2所需的目标文件,确定多个编码服务器,对所述目标文件进行分割,生成多个文件区块,根据预设的分配方法将该多个文件区块分配至所述编码服务器进行分散式编码,然后根据预设的传送方式将编码后的文件区块传至所述客户端2。In this preferred embodiment, the distributed codec system 3 can be applied to each server 1 and the client 2 . The distributed codec system 3 is used to determine the target file required by the client 2, determine a plurality of encoding servers, divide the target file, generate a plurality of file blocks, and according to a preset distribution method The plurality of file blocks are distributed to the encoding server for distributed encoding, and then the encoded file blocks are transmitted to the client 2 according to a preset transmission method.
进一步地,所述的分散式编解码系统3还用于在所述客户端2接收从各个编码服务器传送的编码后的文件区块,并进行相应的解码处理,以及将解码后的文件区块进行整合以生成一个完整的多媒体文件。Further, the distributed codec system 3 is also used to receive the encoded file blocks transmitted from each encoding server at the client 2, and perform corresponding decoding processing, and convert the decoded file blocks to Integration is performed to generate a complete multimedia file.
所述的服务器1包括处理器11以及存储装置12,所述的客户端2包括处理器21以及存储装置22。所述处理器11、21用于执行所述分散式编解码系统3以及在所述服务器1或所述客户端2内安装的各类软件,例如操作系统等。所述存储装置12、22可以是硬盘,或者其他类型的存储卡或存储设备。所述的存储装置12、22用于存储各类数据,例如,视频、音频、影像、文件等信息,以及用于存储利用所述分散式编解码系统3所设置、接收的数据。The server 1 includes a processor 11 and a storage device 12 , and the client 2 includes a processor 21 and a storage device 22 . The processors 11 and 21 are used to execute the distributed codec system 3 and various software installed in the server 1 or the client 2, such as an operating system and the like. The storage devices 12, 22 may be hard disks, or other types of memory cards or storage devices. The storage devices 12 and 22 are used to store various types of data, such as information such as video, audio, video, and files, and to store data set and received by the distributed codec system 3 .
如图3所示,是本发明分散式编解码系统的较佳实施方式的功能模块图。在本实施方式中,所述分散式编解码系统3包括多个功能模块,分别是:传送模块30、选择模块31、计算模块32、确定模块33、分割模块34、分配模块35、同步模块36、编码模块37、解码模块38以及整合模块39。As shown in FIG. 3 , it is a functional block diagram of a preferred embodiment of the distributed encoding and decoding system of the present invention. In this embodiment, the distributed codec system 3 includes a plurality of functional modules, which are: a transmission module 30, a selection module 31, a calculation module 32, a determination module 33, a segmentation module 34, an allocation module 35, and a synchronization module 36 , an encoding module 37 , a decoding module 38 and an integrating module 39 .
本发明所称的模块是完成一特定功能的程序段,比程序更适合于描述软件在所述客户端2中的执行过程。以下将结合图5和图6说明各模块的具体功能。The module referred to in the present invention is a program segment that completes a specific function, and is more suitable than a program to describe the execution process of software in the client 2 . The specific functions of each module will be described below with reference to FIG. 5 and FIG. 6 .
如图5所示,是本发明分散式编解码方法的较佳实施方式的编码流程图。在本实施方式中,假设所述的服务器A为主服务器,除了下文中特别说明的不同实施例中的不同执行方式之外,本流程图中的步骤由安装在所述主服务器中的分散式编解码3中的各个功能模块所执行。As shown in FIG. 5 , it is an encoding flowchart of a preferred embodiment of the distributed encoding and decoding method of the present invention. In this embodiment, it is assumed that the server A is the main server. Except for the different execution modes in the different embodiments described below, the steps in this flow chart are composed of distributed Executed by each functional module in Codec 3.
首先,步骤S2,所述的传送模块30接收所述客户端需求,并根据该需求确定所述客户端2所需的多媒体文件为目标文件。例如,所述的目标文件可以是视频文件、音频文件、影像文件或文本文件。Firstly, in step S2, the transmitting module 30 receives the requirement of the client, and determines the multimedia file required by the client 2 as the target file according to the requirement. For example, the target file may be a video file, an audio file, an image file or a text file.
例如,所述的分散式编解码系统3可提供用户界面及相应的栏位或文件清单,供用户输入所需的多媒体文件的名称或其他信息进行检索,或接收用户所选择的视频文件。For example, the distributed codec system 3 may provide a user interface and corresponding fields or file lists for users to input the name or other information of the required multimedia files for retrieval, or to receive video files selected by the users.
步骤S4,所述的选择模块31从所述多个服务器1中选择多个存储了该目标文件的服务器1为源服务器。此外,在其它实施方式中,存储了该目标文件的片段的服务器1也可视为源服务器。Step S4, the selection module 31 selects a plurality of servers 1 storing the target file from the plurality of servers 1 as source servers. In addition, in other implementation manners, the server 1 storing the segment of the target file can also be regarded as the source server.
步骤S6,所述的计算模块32确定各个源服务器的优先级。Step S6, the calculation module 32 determines the priority of each source server.
所述的计算模块32可以根据公式“P=QoS ÷ Overhead”计算各个源服务器的优先级,其中,“P”代表每个源服务器的优先级,“QoS”表示每个源服务器与该客户端2所连接的网络的质量参数,及“Overhead”表示每个源服务器所消耗的资源。例如,所述“QoS”是指该每个源服务器与客户端2之间网络所传送的封包数(例如,每个源服务器相应于所述客户端2的已传送或已收到的封包数,或者所述客户端2与每个源服务器之间的已传送或已收到的封包数等)、流量或者速度,“Overhead”是每个源服务器中的处理器或内存的占用率(或称使用率)。The calculation module 32 can calculate the priority of each source server according to the formula "P=QoS ÷ Overhead", wherein "P" represents the priority of each source server, and "QoS" represents the relationship between each source server and the client. 2 The quality parameter of the connected network, and "Overhead" indicates the resources consumed by each source server. For example, the "QoS" refers to the number of packets transmitted by the network between each source server and client 2 (for example, each source server corresponds to the number of packets transmitted or received by the client 2 , or the number of packets transmitted or received between the client 2 and each source server, etc.), flow rate or speed, "Overhead" is the processor or memory occupancy rate (or called usage rate).
假设,源服务器A的与该客户端2所连接的网络的速度是1.0Gbps,源服务器A中的处理器的占用率为20%,则源服务器A的优先级为1.0÷20%=5。源服务器B的与该客户端2所连接的网络的速度是0.9Gbps,源服务器B中的处理器的占用率为30%,则源服务器B的优先级为0.9÷30%=3。Suppose, the speed of the network connected to the client 2 of the source server A is 1.0 Gbps, and the processor occupancy rate of the source server A is 20%, then the priority of the source server A is 1.0÷20%=5. The speed of the network connected to the client 2 of the source server B is 0.9Gbps, and the processor occupancy rate of the source server B is 30%, so the priority of the source server B is 0.9÷30%=3.
此外,在其它实施方式中,所述的计算模块32还可根据其他方式计算各个源服务器的优先级,例如,依据各个源服务器与该客户端2所连接的网络的质量参数、依据各个源服务器的当前的负载、依据各个源服务器的当前的工作排程等。所述计算模块32可根据实际需求对该计算源服务器的优先级的方式进行预先设置及修改。In addition, in other embodiments, the calculation module 32 can also calculate the priority of each source server according to other methods, for example, according to the quality parameters of each source server and the network connected to the client 2, according to the quality parameters of each source server The current load of the server, the current job schedule according to each source server, etc. The calculation module 32 can preset and modify the way of calculating the priority of the source server according to actual needs.
步骤S8,所述的确定模块33根据优先级从所述源服务器中确定多个编码服务器。Step S8, the determining module 33 determines a plurality of encoding servers from the source servers according to the priority.
所述的确定模块33可根据各个源服务器的优先级从高至低的顺序,依序选择预设数量为M个的编码服务器。例如,参考图1所示,假设多个源服务器A、B、C、D被选择为编码服务器,其中,服务器A为主服务器,服务器B、C、D为从服务器。每个编码服务器皆与所述客户端2相连接,并且每个从服务器与所述主服务器相连接。此外,各个从服务器之间也可进行连接。The determination module 33 may sequentially select a preset number of M encoding servers according to the descending order of the priority of each source server. For example, as shown in FIG. 1 , assume that multiple source servers A, B, C, and D are selected as encoding servers, wherein, server A is the master server, and servers B, C, and D are slave servers. Each encoding server is connected to the client 2, and each slave server is connected to the master server. In addition, connections between individual slave servers are also possible.
步骤S10,所述的分割模块34根据其中一个编码服务器中存储的目标文件的信息,将该目标文件分割为多个文件区块。所述对目标文件的分割方式包括:虚拟分割及实体分割。如果是虚拟分割,则所述的分割模块34仅是根据一个完整的目标文件的信息(例如,文件的大小,或者文件的播放时间的长度等信息)来确定多个文件区块的相关信息,此时,所述的分割模块34并非对该目标文件进行实体的分割,而仅仅是确定相应的多个文件区块的信息,例如,记录每个文件区块的大小,该文件区块对应的片段(例如,视频、音频等片段)所播放的起始时间、终止时间等。因此,后续涉及编码流程时,各个编码服务器根据被分配到的文件区块的相关信息来确定需要进行编码的文件区块,然后再对确定的文件区块进行编码。Step S10, the segmentation module 34 divides the target file into multiple file blocks according to the information of the target file stored in one of the encoding servers. The methods for dividing the target file include: virtual division and physical division. If it is virtual segmentation, then the segmentation module 34 only determines the relevant information of multiple file blocks according to the information of a complete target file (for example, the size of the file, or the length of the playing time of the file, etc.), At this time, the split module 34 does not physically split the target file, but only determines the information of a plurality of corresponding file blocks, for example, records the size of each file block, and the corresponding file block The start time, end time, etc. of the segment (for example, video, audio, etc.) to play. Therefore, when the encoding process is involved subsequently, each encoding server determines the file chunks to be encoded according to the related information of the allocated file chunks, and then encodes the determined file chunks.
如果是实体分割,则所述的分割模块34可直接对其中一个编码服务器(例如,所述的主服务器A)中存储的完整的目标文件进行分割,并得到多个分割后的文件区块,然后确定每个文件区块的如上所述的相应信息。If it is physical segmentation, the segmentation module 34 can directly segment the complete target file stored in one of the encoding servers (for example, the main server A), and obtain a plurality of segmented file blocks, Corresponding information as described above for each file block is then determined.
上述每个文件区块的相应信息需要写入下文进行详细介绍的分配记录表,以供各个编码服务器识别及确定各自所需进行编码的文件区块。The corresponding information of each above-mentioned file block needs to be written into the allocation record table described in detail below, so that each encoding server can identify and determine the file block that needs to be encoded.
所述的分割模块34可以根据预设的分割方式及分割数量对该目标文件进行分割,还可藉由提供多个分割数量供所述客户端2选择,然后根据客户端所选择的分割数量将该目标文件分割为N×N个文档区块。例如,该分割数量可以是1×1、2×2、4×4、16×16等。The segmentation module 34 can divide the target file according to the preset segmentation method and the segmentation quantity, and can also provide multiple segmentation quantities for the client 2 to choose, and then divide the target file according to the segmentation quantity selected by the client. The target file is divided into N×N document blocks. For example, the number of divisions may be 1×1, 2×2, 4×4, 16×16, and so on.
此外,所述的编码服务器的数量M可以是根据所述客户端2所选择的对目标文件的分割数量所确定,所述的编码服务器的数量M大于等于N×N。例如,当分割数量为2×2时,编码服务器的数量M≧4。In addition, the number M of encoding servers may be determined according to the number of divisions of the target file selected by the client 2, and the number M of encoding servers is greater than or equal to N×N. For example, when the number of divisions is 2×2, the number of encoding servers M≧4.
步骤S12,所述的分配模块35根据预设的分配方法,依序分配各个编码服务器所需处理(例如,编码)的文件区块,生成分配记录表并记录每个编码服务器所需处理的文件区块的相关信息。所述的分配记录表先存储在所述的主服务器中。Step S12, the allocation module 35 sequentially allocates the file blocks required to be processed (for example, encoded) by each encoding server according to a preset allocation method, generates an allocation record table and records the files required to be processed by each encoding server Information about the block. The allocation record table is first stored in the main server.
所述的预设的分配方法为根据优先级的高低顺序并采用轮叫(Round-Robin)方法,依序并逐个分配各个编码服务器所需处理的文件区块。The preset allocation method is to sequentially and one by one allocate the file blocks to be processed by each encoding server according to the priority order and adopt the Round-Robin method.
所述的分配记录表记录了所述目标文件的大小、分割后文件区块的大小、顺序及在所述目标文件中的位置、依据预设顺序排列的编码服务器的编号及顺序、各个编码服务器所分配到的需处理的文件区块的识别码以及各个编码服务器被分配到的文件区块的数量,其中,所述识别码在所述目标文件被分割时所赋予。The allocation record table records the size of the target file, the size and order of the divided file blocks, and the position in the target file, the number and sequence of the encoding servers arranged according to the preset order, and the number and order of each encoding server. The allocated identification codes of the file blocks to be processed and the number of file blocks allocated to each encoding server, wherein the identification codes are assigned when the target file is divided.
例如,参考如图4所示的分配记录表,所述的分配模块35依序将文件区块1分配给服务器A(主服务器),将文件区块2分配给服务器B,将文件区块3分配给服务器C,将文件区块4分配给服务器D,然后,继续将文件区块5分配给服务器A,将文件区块6分配给服务器B,以此类推。For example, referring to the allocation record table shown in FIG. 4, the allocation module 35 sequentially allocates file block 1 to server A (primary server), allocates file block 2 to server B, and assigns file block 3 Assign to server C, file block 4 to server D, then continue to assign file block 5 to server A, file block 6 to server B, and so on.
此外,在其它实施方式中,所述的源服务器还包括存储了该目标文件的片段的服务器1。在有一个或多个编码服务器中存储的是该目标文件的片段时,所述的分配模块35分配该一个或多个编码服务器对各自存储的目标文件的片段所对应的文件区块进行编码,并依据预设的分配方法将剩余的文件区块分配给其余的编码服务器进行处理。In addition, in other implementation manners, the source server further includes a server 1 that stores segments of the target file. When there are segments of the target file stored in one or more encoding servers, the distribution module 35 assigns the one or more encoding servers to encode the file blocks corresponding to the segments of the target files stored respectively, And according to the preset allocation method, the remaining file blocks are allocated to the remaining encoding servers for processing.
在有多个编码服务器中存储的该目标文件的片段所对应的文件区块为相同时,并且在该相同的文件区块为单个时,所述的分配模块35选择具备较高优先级的编码服务器对该相同的文件区块进行编码处理。或者,在该相同的文件区块为多个时,所述的分配模块35根据预设的分配方法将该多个相同的文件区块分配给该多个编码服务器进行编码处理。When the file blocks corresponding to the segments of the target file stored in multiple encoding servers are the same, and when the same file block is single, the allocation module 35 selects the encoding with higher priority The server encodes the same file block. Or, when there are multiple identical file blocks, the allocation module 35 allocates the multiple identical file blocks to the multiple encoding servers for encoding processing according to a preset allocation method.
步骤S14,所述的同步模块36将所述分配记录表同步至所有的编码服务器及所述客户端2中。例如,所述的同步模块36可根据预设的同步周期定期将所述主服务器中存储的分配记录表同步至其他的编码服务器及客户端2中。Step S14, the synchronization module 36 synchronizes the distribution record table to all encoding servers and the client 2. For example, the synchronization module 36 can periodically synchronize the distribution record table stored in the master server to other encoding servers and clients 2 according to a preset synchronization period.
如上述举例说明,在本实施方式中,主服务器也是编码服务器中的一个时,则本流程继续执行后续的步骤S16至S18,同时步骤S16至S18也执行于其它的编码服务器中。As illustrated above, in this embodiment, when the main server is also one of the encoding servers, the process continues to execute subsequent steps S16 to S18, and steps S16 to S18 are also executed in other encoding servers.
步骤S16,所述的编码模块37根据所述分配记录表对每个编码服务器被分配到的文件区块进行编码处理。所述的编码模块37可根据预设的格式或编码的方式对被分配到的文件区块进行编码处理。Step S16, the encoding module 37 performs encoding processing on the file blocks allocated to each encoding server according to the allocation record table. The encoding module 37 can encode the allocated file blocks according to a preset format or encoding method.
此步骤应用于所有的编码服务器中以实现对分割及分配后的文件区块进行分散式编码。This step is applied to all encoding servers to implement distributed encoding of the divided and allocated file blocks.
步骤S18,所述的传送模块30将编码后的文件区块依据预设的传送方式传送至所述客户端,然后,结束本流程。Step S18, the transmission module 30 transmits the encoded file block to the client according to the preset transmission mode, and then ends the process.
在本较佳实施方式中,所述的预设的传送方式可以包括,但不限于:每个编码服务器直接将编码后的文件区块分别传送给所述客户端2;或每个编码服务器依据预设的传送排程将编码后的文件区块传送给所述客户端2;或每个编码服务器将编码后的文件区块先传送至指定的编码服务器,并利用该指定的编码服务器将所述的文件区块传送至客户端2,该指定的编码服务器是主服务器或从服务器中的一个或多个。In this preferred embodiment, the preset transmission methods may include, but are not limited to: each encoding server directly transmits the encoded file blocks to the client 2; or each encoding server according to The preset transmission schedule transmits the encoded file blocks to the client 2; or each encoding server first transmits the encoded file blocks to a designated encoding server, and uses the designated encoding server to send all The above-mentioned file block is transmitted to the client 2, and the designated encoding server is one or more of the master server or the slave server.
在其他实施方式中,若主服务器并非编码服务器,则步骤S16将执行于各个编码服务器中,而步骤S18则视预设的传送方式的内容来确定是执行于各个编码服务器中(例如,预设的传送方式为“每个编码服务器直接将编码后的文件区块分别传送给所述客户端”等时),或是执行于主服务器及各个编码服务器中(例如,预设的传送方式为“每个编码服务器将编码后的文件区块先传送至指定的编码服务器,并利用该指定的编码服务器将所述的文件区块传送至客户端,并且该指定的编码服务器是主服务器”时)。In other implementations, if the main server is not an encoding server, step S16 will be executed in each encoding server, and step S18 will be determined to be executed in each encoding server depending on the content of the preset transmission method (for example, the preset The transmission method is "each encoding server directly transmits the encoded file block to the client", etc.), or it is executed in the main server and each encoding server (for example, the default transmission method is " Each encoding server first transmits the encoded file block to the designated encoding server, and uses the designated encoding server to transmit the described file block to the client, and the designated encoding server is the master server") .
如图6所示,是本发明分散式编解码方法的较佳实施方式的解码流程图,本流程应用于所述的客户端2。As shown in FIG. 6 , it is a decoding flow chart of a preferred embodiment of the distributed encoding and decoding method of the present invention, and this flow is applied to the client 2 described above.
步骤S20,所述的传送模块30发送所述客户端2的需求至所述主服务器。该需求包括所述客户端所需的多媒体文件的信息,该多媒体文件被确定为目标文件。Step S20, the transmission module 30 sends the request of the client 2 to the main server. The requirement includes information about a multimedia file required by the client, and the multimedia file is determined as a target file.
步骤S22,所述的传送模块30接收从所述的主服务器所同步传送的分配记录表,以及接收从每个编码服务器传回的编码后的文件区块。In step S22, the transmission module 30 receives the allocation record table synchronously transmitted from the main server, and receives the encoded file blocks transmitted back from each encoding server.
所述的分配记录表记录了所述目标文件的大小、分割后文件区块的大小、顺序及在所述目标文件中的位置、依据预设顺序排列的编码服务器的编号及顺序、各个编码服务器所分配到的需处理的文件区块的识别码以及各个编码服务器被分配到的文件区块的数量,其中,所述识别码在所述目标文件被分割时所赋予。The allocation record table records the size of the target file, the size and order of the divided file blocks, and the position in the target file, the number and sequence of the encoding servers arranged according to the preset order, and the number and order of each encoding server. The allocated identification codes of the file blocks to be processed and the number of file blocks allocated to each encoding server, wherein the identification codes are assigned when the target file is divided.
步骤S24,所述的解码模块38根据预设顺序对编码后的文件区块进行解码处理。Step S24, the decoding module 38 decodes the encoded file blocks according to a preset order.
所述的预设顺序可以是所述客户端2接收各个编码后的文件区块的接收顺序、或者是各个编码服务器的预设排列顺序、或者是所述编码后的文件区块的排列顺序(例如,依照文件区块的识别码所确定的排列顺序)。The preset order may be the receiving order in which the client 2 receives each encoded file block, or the preset arrangement order of each encoding server, or the arrangement order of the encoded file blocks ( For example, according to the order determined by the identification code of the file block).
步骤S26,所述的整合模块39根据所述分配记录表判断所述客户端2是否已经接收到所有的编码后的文件区块。若所述客户端2尚未接收到所有的编码后的文件区块,流程返回至步骤S24。若所述客户端2已经接收到所有的编码后的文件区块,执行步骤S28。Step S26, the integration module 39 judges whether the client 2 has received all the encoded file blocks according to the allocation record table. If the client 2 has not received all the encoded file blocks, the process returns to step S24. If the client 2 has received all encoded file blocks, step S28 is executed.
步骤S28,所述的整合模块39在所述客户端已经接收到所有的编码后的文件区块时,根据该分配记录表对解码后的文件区块进行重组并生成完整的目标文件,然后,结束本流程。Step S28, when the client has received all encoded file blocks, the integration module 39 reorganizes the decoded file blocks according to the allocation record table and generates a complete target file, and then, End this process.
此外,在其它实施方式中,所述的整合模块39还可进一步调用播放软件以播放所述完整的目标文件。In addition, in other implementation manners, the integration module 39 may further invoke playing software to play the complete target file.
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。The above embodiments are only used to illustrate the technical solutions of the present invention without limitation. Although the present invention has been described in detail with reference to the above preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention can be modified or equivalently replaced All should not deviate from the spirit and scope of the technical solution of the present invention.
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310207915.5A CN104219540B (en) | 2013-05-30 | 2013-05-30 | Distributing coding/decoding system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310207915.5A CN104219540B (en) | 2013-05-30 | 2013-05-30 | Distributing coding/decoding system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104219540A CN104219540A (en) | 2014-12-17 |
| CN104219540B true CN104219540B (en) | 2017-12-15 |
Family
ID=52100617
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310207915.5A Expired - Fee Related CN104219540B (en) | 2013-05-30 | 2013-05-30 | Distributing coding/decoding system and method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104219540B (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101800751A (en) * | 2010-03-09 | 2010-08-11 | 上海雅海网络科技有限公司 | Distributed real-time data-coding transmission method |
| CN102129394A (en) * | 2010-01-14 | 2011-07-20 | 优必达科技有限公司 | Distributed Computing Method and System |
| CN102510499A (en) * | 2011-10-19 | 2012-06-20 | 清华大学 | Video transcoding method based on image group in cloud environment |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120281748A1 (en) * | 2011-05-02 | 2012-11-08 | Futurewei Technologies, Inc. | Rate Control for Cloud Transcoding |
| US20130117418A1 (en) * | 2011-11-06 | 2013-05-09 | Akamai Technologies Inc. | Hybrid platform for content delivery and transcoding |
-
2013
- 2013-05-30 CN CN201310207915.5A patent/CN104219540B/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102129394A (en) * | 2010-01-14 | 2011-07-20 | 优必达科技有限公司 | Distributed Computing Method and System |
| CN101800751A (en) * | 2010-03-09 | 2010-08-11 | 上海雅海网络科技有限公司 | Distributed real-time data-coding transmission method |
| CN102510499A (en) * | 2011-10-19 | 2012-06-20 | 清华大学 | Video transcoding method based on image group in cloud environment |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104219540A (en) | 2014-12-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10757453B2 (en) | Distributed multi-datacenter video packaging system | |
| US9693080B2 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
| CN105451031B (en) | Video transcoding method and system | |
| JP6117193B2 (en) | Method and apparatus for transmitting and receiving media content in a multimedia system | |
| CN110769278A (en) | Distributed video transcoding method and system | |
| EP2552075B1 (en) | Systems and methods of distributed file storage | |
| CN103838779A (en) | Idle computing resource multiplexing type cloud transcoding method and system and distributed file device | |
| US20130223509A1 (en) | Content network optimization utilizing source media characteristics | |
| US20160044079A1 (en) | Distribution control system, distribution control method, and computer-readable storage medium | |
| CN103686206A (en) | Video transcoding method and system in cloud environment | |
| CN112035081A (en) | Screen projection method and device, computer equipment and storage medium | |
| US10116721B1 (en) | Redundancy control in streaming content encoder pools | |
| CN108965884A (en) | A kind of distribution method and controlling equipment, transcoding device of transcoding task | |
| US9723337B2 (en) | Distribution control system and distribution system | |
| JP2014529248A (en) | Dynamic switching technique between coded bitstreams | |
| TW201445989A (en) | System and method for encoding and decoding data | |
| CN105657450A (en) | Distributed video transcoding method | |
| CN112350979B (en) | Data transmission method and device | |
| US20160014193A1 (en) | Computer system, distribution control system, distribution control method, and computer-readable storage medium | |
| CN103152606B (en) | Video file processing method and device, system | |
| KR20130001169A (en) | Micro-server cluster type adaptive video streaming server | |
| CN104219540B (en) | Distributing coding/decoding system and method | |
| CN112087632A (en) | Video processing system, method, storage medium and computer device | |
| JP2023031248A (en) | Edge computing network, data transmission method, apparatus, device, and storage medium | |
| CN104954823B (en) | A kind of figure calculates the device of pretreatment, method and 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 | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20171114 Address after: 528437 Guangdong province Zhongshan Torch Development Zone, Cheung Hing Road 6 No. 222 north wing trade building room Applicant after: Zhongshan yunchuang Intellectual Property Service Co.,Ltd. Address before: 518109 Guangdong province Shenzhen city Longhua District Dragon Road No. 83 wing group building 11 floor Applicant before: SCIENBIZIP CONSULTING (SHEN ZHEN) Co.,Ltd. Effective date of registration: 20171114 Address after: 518109 Guangdong province Shenzhen city Longhua District Dragon Road No. 83 wing group building 11 floor Applicant after: SCIENBIZIP CONSULTING (SHEN ZHEN) Co.,Ltd. Address before: 518109 Guangdong city of Shenzhen province Baoan District Longhua Town Industrial Zone tabulaeformis tenth East Ring Road No. 2 two Applicant before: HONG FU JIN PRECISION INDUSTRY (SHENZHEN) Co.,Ltd. Applicant before: HON HAI PRECISION INDUSTRY Co.,Ltd. |
|
| TA01 | Transfer of patent application right | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171215 Termination date: 20180530 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |