CN101222295A - 将数据分为多段部分数据来分发的系统 - Google Patents
将数据分为多段部分数据来分发的系统 Download PDFInfo
- Publication number
- CN101222295A CN101222295A CNA200810003413XA CN200810003413A CN101222295A CN 101222295 A CN101222295 A CN 101222295A CN A200810003413X A CNA200810003413X A CN A200810003413XA CN 200810003413 A CN200810003413 A CN 200810003413A CN 101222295 A CN101222295 A CN 101222295A
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- selection
- coded data
- operation result
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0096—Channel splitting in point-to-point links
Abstract
本发明公开了将数据分为多段部分数据来分发的系统,该系统将原始数据分为N段部分数据并基于该N段部分数据产生L段编码数据,其中N是大于1的自然数,L是等于或大于N的自然数,该L段编码数据的每一个包括头部部分和运算结果部分,该头部部分包括识别对其执行预定运算的N段部分数据的子集的选择数据,该运算结果部分通过对由该选择数据识别的子集中包括的部分数据执行预定运算而产生,其中该L段编码数据被分为一个或更多个传输数据组,该一个或更多个传输数据组的每一个被传输到一个或更多个第一通信链路之一。
Description
技术领域
本发明涉及一种通过将数据分为多段部分数据(partial data)来进行分发的系统。
背景技术
在从传输装置到接收装置的数据传送过程中,由于接收条件的变化、通信拥挤等,可能丢失一部分数据。在此情况下,如果可以从接收装置发送一些消息到传输装置,那么可以通过重传该丢失的数据来恢复原始数据。但是,例如,在多播的情况下,如果不能从接收装置发送消息到传输装置,那么仅仅传输丢失的数据是困难的。鉴于上述情况,已经提出了几种数据传送方法。
例如,日本未审查专利申请公开第5-235979号公开了一种用于增加对连续丢失数据的容忍性的异步传送模式通信方法。此外,日本未审查专利申请公开第2005-223683号公开了一种使用异或(XOR)逻辑运算产生奇偶校验数据的传输/接收系统。
此外,针对其中接收装置不能发送消息到传输装置的配置,已经提出了几种数据传送方法。
例如,已经提供了一种称为数据转盘传送(data carousel)的数据传送方法。该数据传送方法被用于数字广播。在该方法中,传输装置将待传送的数据分为多个段,并如同转盘一样,重复地传送分出的数据。在数据转盘传送方法中,原始数据D被分为如下所示的多段(N段)部分数据阵列,这些部分数据被重复地传送多次。
原始数据D={D1,D2,...,Dn}
传输数据D′={D1,D2,...,Dn,D1,D2,...,Dn,D1,D2,...}
接收数据D″={D1,D3,...,Dn,D1,D2}
根据该方法,如上述实施例所示,即使丢失了接收数据D2,相同的数据也会在下一个周期再次传送。由此,可以恢复出该原始数据。但是,待传送的数据量增加。此外,即使下一个周期被传送,该相同的部分也可能被丢失。在此情况下,可能需要等待另一个周期。
此外,提供了一种数据传送方法,在该方法中,在待传送的数据中预先添加被称为奇偶校验的冗余数据,并传送该数据。在该数据传送方法中,如下面所示,如果原始数据D由n段部分数据阵列表示,那么对特定段(m段)部分数据中的各段执行异或(XOR)运算。XOR运算的结果作为奇偶校验数据与原始数据一起被传输。下面,“+”表示XOR运算符。
原始数据D={D1,D2,...,Dn}
传输数据D′={D1,D2,...,Dm,P1,Dm+1,...,Dn,Pk}
奇偶校验数据Pk=Dk+Dk+1+...+Dk+m-1
根据该方法,即使部分数据之一在传输过程中丢失,通过对剩余的部分数据和奇偶校验数据执行XOR运算也可以恢复该丢失的数据。恢复的实施例如下所示。
原始数据D={D1,D2,D3}
传输数据D′={D1,D2,D3,P1}
奇偶校验数据P1=D1+D2+D3
接收数据D″={D1,D2,P1}(D3丢失)
丢失数据的恢复:D3=D1+D2+P1
但是,在该恢复中,每一个奇偶校验数据仅仅可以恢复丢失的一个数据,如果多段数据丢失,则不能恢复出这些数据。根据日本未审查专利申请公开第5-235979号,通过不对连续的部分数据执行XOR运算而是每隔n-1段部分数据执行XOR运算,增加了对连续丢失的数据的容忍性。但是,如果该数据被随机地丢失,那么该容忍性被减小。
考虑到上述情况,已经提出了能产生多个奇偶校验并恢复丢失的一段或更多段数据的数据传送方法。在该方法中,使用诸如用于产生奇偶校验的里德-索罗蒙(Reed-Solomon)码的纠错码。根据Reed-Solomon码,如下面所示,原始数据D被分为多段(n段)部分数据,从被称为伽罗瓦域(Galois field)的有限域中选择k段线性独立矢量α11,α21,α31,...αn1,以产生奇偶校验数据。
原始数据D={D1,D2,D3,...,Dn}
传输数据D′={C1,C2,C3,...,Cm}
奇偶校验数据Ck=α11·D1+α21·D2+...+αn1·Dn
在数据的恢复中,如果已获得n段部分数据,那么通过根据相应的n段矢量形成n×n=(αij)(1≤i、j≤n)的矩阵A,并使获得的部分数据乘以A的逆矩阵(inverse matrix),可以获得原始数据。亦即,如下恢复原始数据。
在该公式中,将执行O(n3)的计算量,以获得n×n的逆矩阵。由此,如果n值增加,那么需要非常长的计算时间。
考虑到上述情况,如日本未审查专利申请公开第2005-223683号所述,提供了一种在一对一通信的情况下,仅仅使用XOR产生奇偶校验数据从而减小计算量的方法。
至此,已经描述了一个传输装置的情况。但是,如果传输装置的数目仅仅是一个,那么传输装置会被过载。此外,如果接收装置的通信速度比传输装置端的通信速度更快,那么传输装置的速度变为瓶颈,数据不能以接收装置处预期的速度传送。在此情况下,可以提供多个传输装置来分散传输装置的负载并允许接收装置接收来自任何传输装置的数据。
如果上述数据传送方法被延伸到提供多个传输装置的情况,那么可以应用以下两种方法。
·数据传送方法A:所有传输装置都存储原始数据并使用上述方法传送数据;
·数据传送方法B:原始数据被分为多段数据,以形成分开的数据,每个传输装置分别传送分开的数据。
图10是说明常规数据传送方法A中执行的操作实施例的框图。在数据传送方法A中,提供有分发装置111、两个传输装置112a和112b、以及接收装置113。分发装置111将由部分数据A、B、C、D和E构成的整个原始数据传送到传输装置112a和112b两者。然后,传输装置112a和112b分别向接收装置113传送全部部分数据A、B、C、D和E。接收装置113根据从传输装置112a和112b接收的部分数据恢复原始数据。
根据数据传送方法A,随着传输装置的数目增加,恢复出原始数据的可能性也增加。但是,由于每个传输装置具有相同的数据,传输装置中存储的浪费数据量和总的编码数据量增加。
图11是说明常规数据传送方法B中执行的操作实施例的框图。在数据传送方法B中,提供有分发装置121、两个传输装置122a和122b、以及接收装置123。分发装置121分开由待传输的部分数据A、B、C、D和E构成的原始数据,将部分数据A、B和C传送到传输装置122a,并将部分数据D和E传送到传输装置122b。接收装置123根据从传输装置122a和122b接收的部分数据恢复出原始数据。
根据数据传送方法B,可以减小传输装置中的存储装置的容量。但是,在从一个传输装置没有完全接收部分数据的情况下,原始数据不可能被修复。
例如,如图11所示,如果传输装置122b中发生故障,那么传输装置122b将不会发送部分数据D和E。结果,数据D和E将丢失,接收装置123不能恢复出包括数据序列A、B、C、D和E的原始数据。此外,在此情况下,不能应用如上所述的日本未审查专利申请公开第2005-223683号中公开的仅仅使用XOR产生奇偶校验数据的方法,因为该方法针对一对一通信设计,在其中没有公开用于通过多个传输装置传输数据的结构。
此外,对于硬盘驱动器(HDD)或数据通信,已经提出了使用低密度奇偶校验检查(LDPC)矩阵的纠错方法。但是,在该纠错方法中,因为要进行重复运算,需要巨大的计算量。
发明内容
鉴于上述情况作出了本发明,本发明的目的是提供一种能有效地分发数据、传送数据并恢复数据的设备、系统以及计算机可读介质。
根据本发明的一个方面,提供了一种系统,该系统用于将原始数据分为N段部分数据,并基于该N段部分数据产生L段编码数据,其中N是大于的自然数,以及L是等于或大于N的自然数,该L段编码数据的每一个都包括头部部分和运算结果部分,该头部部分包括选择数据,该选择数据用于识别对其执行了预定运算的N段部分数据的子集,该运算结果部分通过对头部数据识别的子集中包括的部分数据执行预定运算而产生,其中该L段编码数据被分为一个或更多个传输数据组,该一个或更多个传输数据组中的各传输数据组被传输到一个或更多个第一通信链路中的一个。
根据本发明的一个方面,提供了一种用于通过一个或更多个第二通信链路中的一个接收由传输装置传输的一个或更多个传输数据组的系统,从所接收的一个或更多个传输数据组获得多段编码数据,以通过使用该获得的多段编码数据,产生选择矩阵和运算结果矩阵,该选择矩阵包括该多段编码数据的每一个的头部部分中包括的选择数据段作为其行,该运算结果矩阵包括该多段编码数据的每一个的运算结果部分中包括的数据段作为其行;以及通过对该选择矩阵和运算结果矩阵的相同位置处的行上执行预定矩阵运算,分别将该选择矩阵和运算结果矩阵转变为最佳选择矩阵和最佳运算结果矩阵。
根据本发明,可以有效地分发、传送和恢复数据。
附图说明
图1是说明根据本发明实施方式的多播分发系统的结构实施例的框图;
图2是说明根据本发明实施方式的多播分发系统中的各装置的结构实施例的框图;
图3是说明根据本发明实施方式的编码矩阵产生过程的实施例的流程图;
图4是说明根据本发明实施方式的编码矩阵的实施例的图;
图5是说明根据本发明实施方式的分发过程的实施例的流程图;
图6是说明根据本发明实施方式的编码过程的实施例的流程图;
图7是说明根据本发明实施方式的编码过程的实施例的示意图;
图8是说明根据本发明实施方式的解码过程的实施例的流程图;
图9是说明根据本发明实施方式的解码过程的实施例的示意图;
图10是说明常规数据传送方法A中执行的运算实施例的框图;以及
图11是说明常规数据传送方法B中执行的运算实施例的框图。
具体实施方式
下面,将参照附图描述本发明的实施方式。
在本实施方式中,将针对应用了根据本发明的数据传送系统和数据传送方法的多播分发系统进行描述。
首先,描述多播分发系统的结构。
图1是说明根据本实施方式的多播分发系统的结构实施例的框图。该多播分发系统包括分发装置(编码装置)1、传输装置2a和2b、以及接收装置(解码装置)3a、3b和3c。分发装置1和传输装置2a、以及分发装置1和传输装置2b分别通过第一通信链路互相连接。传输装置2a和接收装置3a、3b和3c、以及传输装置2b和接收装置3a、3b和3c分别通过第二通信链路互相连接。
图2是说明根据本实施方式的多播分发系统中的各装置的结构实施例的框图。分发装置1包括通信部件11、存储部件12、编码部件13以及编码矩阵产生部件14。传输装置2a和2b的结构彼此类似,各传输装置包括通信部件21和存储部件22。接收装置3a、3b以及3c的结构彼此类似,各接收装置包括通信部件31、存储部件32和解码部件33。
现在,将描述多播分发系统的操作。
在该多播分发系统中,分发装置1将原始数据分为N(大于1的整数)段部分数据,使用编码矩阵将这些部分数据编码为L(大于1的整数)段编码数据,并通过第一通信链路将该编码数据传送到传输装置2a和2b。传输装置2a和2b分别通过第二通信链路的多播将接收的编码数据向接收装置3a、3b和3c传送。接收装置3a,3b和3c分别解码所接收的编码数据,并恢复出原始数据。
现在,描述分发装置1执行的编码矩阵产生过程。
图3是说明根据本实施方式的编码矩阵产生过程的实施例的流程图。编码矩阵产生部件14确定编码矩阵的列数(部分数据的数目)N和编码矩阵的行数(编码数据的最大数目)L(步骤S11)。假定原始数据D被分为N段部分数据{D1,D2,...,DN},那么该N段部分数据被转变为编码数据,该编码数据被分发给M个传输装置,并且该分发的数据被向接收装置传输。这里,N可以是任何自然数,当该数字变大时,效率增加。然后,编码矩阵产生部件14设置分发长度比率S1、S2、...、SM,这些比率是分发给各传输装置的部分数据的数目相对于部分数据的总数的比率,编码矩阵产生部件14还设置总量S,总量S是S1、S2、...、SM的总数。这里,基于传输装置信息确定S1、S2、...、SM,该传输装置信息是有关各传输装置的信息,包括该传输装置的存储容量、通信速度、负载等。例如,如果传输装置i具有大的存储容量,那么Si的值被设为大值。在S1、S2、...、SM可以被改变的情况下,S被设为大的值,例如大于或等于变化的S1、S2、...、SM的总和,由此增加了接收装置恢复出原始数据的可能性。例如,即使一个传输装置有故障,接收装置也可以使用从另一传输装置接收的数据来恢复出原始数据。
然后,编码矩阵产生部件14将数字L设为L=N×S。
编码矩阵产生部件14设置h=(S-1)×N+1,并使用自然的随机数产生由0和1构成的L行和N列的编码候选矩阵,以便编码候选矩阵A中的各列中的1的数目是h(步骤S12)。结果,编码行中的1的数目变得小于0的数目。
然后,编码矩阵产生部件14执行与该编码候选矩阵有关的候选评价过程(步骤S13至S18)。首先,编码矩阵产生部件14设置k=1(步骤S13),从编码候选矩阵的行当中取出k行的组合,并产生部分编码候选矩阵,该矩阵是通过从编码候选矩阵当中取出k行产生的(L-k)行的矩阵(步骤S14)。然后编码矩阵产生部件14针对该部分编码候选矩阵,执行解码确定过程(之后将描述),并记录解码确定过程的执行数目和解码确定过程确定可以使用该部分编码候选矩阵解码该编码数据的次数(步骤S15)。然后,编码矩阵产生部件14确定是否k行的所有组合都被取出。如果还没有取出k行的所有组合(在步骤S16中,否),那么该过程进行至步骤S14,编码矩阵产生部件14取出下一个组合。如果已取出了所有组合(在步骤S16中,是),则编码矩阵产生部件14确定是否满足条件k>L-N。如果该条件不被满足(在步骤S17中,否),那么编码矩阵产生部件14将k的数目增加1(步骤S20),然后过程进行至步骤S14。如果该条件被满足(在步骤S17中,是),那么编码矩阵产生部件14设置(解码效率)=(确定的可解码数目)/(解码确定过程的执行数目),并在存储部件12中存储产生的编码候选矩阵当中具有最高解码效率的编码候选矩阵(步骤S18)。
如果k增加,那么k行的组合数目变得巨大。由此,编码矩阵产生部件14在适当的条件下(例如,在k超过预定值的情况下)完成候选评价过程(步骤S13至S18)。
为此目的,编码矩阵产生部件14确定候选产生过程和候选评价过程是否被重复预定次数。例如,该确定可以通过确定k是否超过预定值来执行。如果确定出该过程没有被重复预定次数(在步骤S19中,否),那么该过程返回步骤S12。如果确定出该过程被重复了预定次数(在步骤S19中,是),那么该流程完成。编码矩阵产生部件14将存储部件12中存储的编码候选矩阵(亦即,具有最高解码效率的编码候选矩阵)设置为编码矩阵A。
图4是说明根据本发明实施方式的编码矩阵的实施例的图。假定部分数据的数目N=8并且传输装置的数目M=2。此外,由于例如传输装置2a的存储容量大于传输装置2b的存储容量的原因,所以分发长度比率被考虑为S1=4/4=1,S2=3/4=0.75。由此,S=1.75和L=N×S=8×1.75=14,从而编码矩阵A是14行8列。
根据该编码矩阵产生过程,可以产生具有高解码效率的编码矩阵A。
注意到,编码矩阵A可以在该装置外面预先产生,并存储在分发装置1中。在此情况下,分发装置1无需具有编码矩阵产生部件14。
现在,描述分发装置1中执行的分发过程。
图5是说明根据本发明实施方式的分发过程的实施例的流程图。与已经预先产生的编码矩阵A有关的S值被设为S0。首先,编码矩阵产生部件14收集将用于传输的传输装置2a和2b的传输装置信息(步骤S31)。然后,编码矩阵产生部件14基于该传输装置信息确定传输装置2a和2b的分发长度比率S1和S2,并将S1和S2的总和设为S(步骤S32)。编码矩阵产生部件14确定S的值是否大于S0(步骤S33)。如果确定S的值大于S0(在步骤S33中,是),那么编码矩阵产生部件14使用该S值执行用于产生新编码矩阵A的编码矩阵产生过程(步骤S34),然后该过程进行至步骤S35。如果确定S的值不大于S0(在步骤S33中,否),那么该过程进行至步骤S35。
然后,编码部件13通过对存储部件12中存储的原始数据D执行编码过程,产生L段编码数据(步骤S35)。该编码数据包括头部部分和数据部分。通信部件11将L段编码数据当中的L×S1/S段编码数据传送到传输装置2a,并将L×S2/S段编码数据传送(分发)到传输装置2b(步骤S36)。然后,该流程完成。
在N=2,M=2,S1=4/4=1以及S2=3/4=0.75的情况下,值被设为S=1.75和L=14。由此,通过该分发过程,由原始数据产生8段部分数据并产生14段编码数据。此外,L×S1/S=8段编码数据从分发装置1传输到传输装置2a,以及L×S2/S=6段编码数据从分发装置1传输到传输装置2b。
根据该分发过程,取决于传输装置的性能差异,可以自由地设置分发长度比率。由此,各传输装置可以有效地传送编码数据。
现在描述分发装置1执行的编码过程。
图6是说明根据本实施方式的编码过程的实施例的流程图。编码部件13将存储部件12中存储的原始数据D分为N段数据,给该数据编号,从而产生部分数据{D1,D2,...,DN}(步骤S41)。从数据最前头开始,依次分出这些数据,使N段数据具有相同长度。但是,最后的第N个部分数据DN的长度并不总是与其他数据相同。然后,编码部件13确定第N个部分数据的长度相对于其他数据是否是短的。如果确定该长度是短的(在步骤S42中,是),那么编码部件13用虚拟数据(例如,0)填充该短的第N个部分数据(步骤S43),然后该过程进行至步骤S44。如果确定出第n个数据的长度等于其他数据的长度(在步骤S42中,否),那么该过程进行至下一步过程。编码部件13从编码矩阵A一个接一个获得行,以形成选择数据,该选择数据形成为编码数据的头部部分(步骤S44)。
编码部件13获得选择数据中的位是1的位置号,并获得对应于该号码的部分数据。然后,编码部件13针对该获得的部分数据,对各位位置执行XOR运算,并基于该运算结果形成编码数据的运算结果部分(S45)。
图7是说明根据本实施方式的编码过程的实施例的示意图。在该实施方式中,描述了N=4的情况。在步骤S41中,编码部件13将原始数据D分为部分数据{D1,D2,D3,D4}。在步骤S44中,编码部件13一个接一个获得编码矩阵A中的行,并形成选择数据和头部部分。在该实施方式中,编码矩阵A的第一行{1,0,1,0}被用作选择数据。在步骤S45中,编码部件13根据所述选择数据中为1的位的位置,获得这些部分数据当中的部分数据D1和D3,对在各位的位置获得的部分数据D1和D3执行XOR运算,并基于该运算结果形成编码数据的运算结果部分。然后,编码部件13针对编码矩阵A的第二行{0,1,1,0}和第二行之后的行重复类似的处理。
编码部件13确定是否获得了L段选择数据(是否产生了L段数据部分)(步骤S46)。如果确定出还没有获得L段选择数据(在步骤S46中,否),那么该过程返回到步骤S44,编码部件13获得下一个选择数据。如果确定出已经获得了L段选择数据(在步骤S46中,是),那么该流程完成。
根据该编码过程,可以产生包括由选择数据形成的头部部分和由对部分数据的运算结果形成的运算结果部分的L段编码数据。此外,由于用于编码操作的运算是XOR运算,所以分发装置的负载是小的,可以高速执行该编码。
现在,描述由传输装置2a和2b执行的传输过程。
传输装置2a和2b的通信部件21在存储部件22中存储从分发装置1接收的多段编码数据(传输数据组)。然后,传输装置2a和2b的通信部件21向接收装置3a、3b和3c传送存储部件22中存储的编码数据。
下面描述由接收装置3a、3b和3c执行的解码过程。
在存储部件32的栈中,可以堆栈N段具有编码数据长度的栈数据。类似于该编码数据,该栈数据具有头部部分和运算结果部分。该N段栈数据的头部部分可以被认为是使用各栈数据的头部部分作为行的矩阵(称作选择矩阵),以及该n段栈数据的运算结果部分可以被认为是使用各栈数据的运算结果部分作为行的矩阵(称作运算结果矩阵)。
图8是说明根据本实施方式的解码过程的实施例的流程图。通信部件31从传输装置2a和2b接收一段编码数据(步骤S51)。然后,通信部件31设置i=1(步骤S52),并确定i是否小于或等于N(步骤S52-1)。如果确定出i不小于或等于N(在步骤S52-1中,否),那么该过程进行至步骤S57。如果确定出i小于或等于N(在步骤S52-1中,是),那么解码部件33确定该编码数据的头部部分的第i位是否是1(步骤S53)。如果确定出该第i位不是1(在步骤S53中,否),那么解码部件33将i增加1(步骤S55-1),然后该过程返回到步骤S53。如果确定出第i位是1(在步骤S53中,是),那么解码部件33确定在存储部件32的栈中是否存在第i个栈数据(步骤S54)。如果确定出存在第i个编码数据(在步骤S54中,是),那么解码部件33针对该编码数据和该栈中的第i个栈数据在各位的位置执行XOR运算,以及基于运算结果更新栈中的编码数据(步骤S55)。如果确定出不存在第i个栈数据(在步骤S54中,否),那么解码部件33将该栈上的编码数据推入,作为新的栈数据(步骤S56)。
然后,该解码部件33确定栈数据的段数目是否是N或更多(步骤S57)。如果确定出栈数据的段数目小于N(在步骤S57中,否),那么该过程返回到步骤S51,并且解码部件33接收下一个编码数据。如果确定出栈数据的段数目是N或更多(在步骤S57中,是),那么解码部件33确定由栈数据的头部部分构成的选择矩阵是否可以被转变为三角形矩阵(上三角形矩阵或下三角形矩阵)(步骤S58)。如果确定出该选择矩阵不能转变为三角形矩阵(在步骤S58中否),那么解码部件33确定不可以解码出该数据,该过程返回到步骤S51,接收下一个编码数据。如果确定出该选择矩阵可以被转变为三角形矩阵(在步骤S58中,是),那么解码部件33确定出可以解码该数据。然后,解码部件33对该选择矩阵执行矩阵运算,以形成最佳选择矩阵作为单位矩阵(步骤S59),并针对运算结果矩阵执行类似矩阵运算,该运算结果矩阵是由栈数据的运算结果部分构成的矩阵(步骤S60)。根据该矩阵运算,该数据矩阵被转变为最佳运算结果矩阵,以初始部分数据作为各行,然后该过程结束。
图9是说明根据本实施方式的解码过程的实施例的示意图。在该实施例中,描述了N=4的情况。根据直至步骤S56的过程,解码部件33在该栈上推入栈数据。然后,该栈数据的头部部分形成标题矩阵的行,该栈数据的运算结果部分形成运算结果矩阵的行。根据直至步骤S58的过程,解码部件33执行矩阵运算直到选择矩阵形成了三角形矩阵。此外,在步骤S59中,解码部件33执行矩阵运算,以从该选择矩阵形成单位矩阵(unit matrix)作为最佳选择矩阵。在步骤S60中,解码部件33对该运算结果矩阵执行类似于对选择矩阵执行的矩阵运算。然后,该运算结果矩阵被转变为最佳运算结果矩阵,其具有的各行分别包括原始数据中包括的部分数据{D1,D2,D3,D4}。
在解码过程中,解码部件33可以使用高斯消去法(Gauss eliminationmethod)来根据选择矩阵形成单位矩阵。由此,在该选择矩阵被转变为三角形矩阵之前,编码数据的接收和针对选择矩阵的矩阵运算继续进行,并且作为该运算的结果,如果选择矩阵被转变为三角形矩阵,那么确定出该数据可以被解码。此外,解码部件33执行矩阵运算,以根据该选择矩阵形成单位矩阵。应注意到,在该矩阵运算中,可以使用高斯消去法以外的任意方法,只要由选择矩阵形成单位矩阵即可。
在该解码过程中,可以根据N或更多段编码数据的运算结果部分解码该原始数据。为该解码所必需的编码数据的数目取决于所使用的编码矩阵A而变化。当编码矩阵A中的1的布置变得更加随机时,该解码效率增加。此外,由于该解码使用XOR运算,所以接收装置的负载被减小,并可以高速执行解码。
现在描述分发装置1执行的解码确定过程。
在上述解码过程中编码矩阵产生部件14执行步骤S51至58作为解码确定过程(在图3中步骤S15)。在该过程中,编码矩阵产生部件14执行编码矩阵的部分候选的每一行的输入,来代替编码数据的头部部分的接收。在部分候选矩阵被转变为包括三角形矩阵的矩阵的情况下,编码矩阵产生部件14确定出基于该选择候选矩阵(该选择候选矩阵是用于该编码矩阵的部分候选矩阵)产生的解码数据可以被解码,而在部分候选矩阵的所有行被输入但是部分候选矩阵不能转变为包括三角形矩阵的矩阵的情况下,编码矩阵产生部件14确定该解码数据不能被解码。
根据该解码过程和解码确定过程,如果接收装置完全地接收L段编码数据当中的N+α(1<α≤(L-N))或更多段编码数据,则接收装置3a、3b和3c可以解码原始数据。类似于上述解码效率,α值取决于编码矩阵A变化,并且具有最小α(接近1)的编码矩阵候选可以被选为编码矩阵A。
根据本实施方式,可以减小由传输装置传输的数据量,并且即使没有接收到全部编码数据,该接收装置也可以解码出该数据。结果,可以提高为数据传送所必需的时间效率。
根据本实施方式的分发装置和接收装置可以被容易地应用于信息处理装置,并可以进一步增加信息处理装置的性能。所述信息处理装置例如包括服务器、个人电脑(PC)等等。
此外,可以提供用于在构成分发装置和接收装置的计算机中实施上述各步骤的程序。通过在计算机可读记录介质上存储该程序,上述程序可以在构成分发装置和接收装置的计算机中执行。计算机可读记录介质包括在计算机中安装的内部存储器件如只读存储器(ROM)、随机存取存储器(RAM)、可移动的存储介质如光盘只读存储器(CD-ROM)、软磁盘、数字通用盘(DVD)、磁光盘、集成电路卡(IC卡);用于存储计算机程序的数据库;其他计算机;以及用于计算机的数据库。此外,可以包括在线的传输介质。
Claims (17)
1.一种系统,所述系统包括:
分发装置,与一个或更多个第一通信链路相连接,用于将原始数据分为N段部分数据,并基于所述N段部分数据产生L段编码数据,其中N是大于1的自然数,L是等于或大于N的自然数,所述L段编码数据中的各段编码数据都包括头部部分和运算结果部分,所述头部部分包括选择数据,所述选择数据用于识别所述N段部分数据的子集,所述子集被执行了预定运算,该运算结果部分通过对由所述选择数据识别出的子集中包括的部分数据执行预定运算而产生,其中所述L段编码数据被分为一个或更多个传输数据组,所述一个或更多个传输数据组中的各传输数据组被传输到所述一个或更多个第一通信链路中的一个;以及
传输装置,用于通过所述一个或更多个第一通信链路中的一个,接收所述一个或更多个传输数据组中的一个传输数据组,并将所述一个或更多个传输数据组中的所述一个传输数据组传送到一个或更多个第二通信链路。
2.根据权利要求1所述的系统,所述系统还包括:
接收装置,用于通过所述一个或更多个第二通信链路之一接收从所述传输装置传输的一个或更多个传输数据组,并从所接收的一个或更多个传输数据组获得多段编码数据,使用所获得的多段编码数据产生选择矩阵和运算结果矩阵,其中所述选择矩阵包括所述多段编码数据中的各编码数据的头部部分中包括的选择数据作为其行,所述运算结果矩阵包括所述多段编码数据中的各编码数据的运算结果部分中包括的数据段作为其行,以及通过分别对所述选择矩阵和所述运算结果矩阵的相同位置处的行执行预定矩阵运算,将所述选择矩阵和所述运算结果矩阵转变为最佳选择矩阵和最佳运算结果矩阵。
3.根据权利要求1所述的系统,其中所述L段编码数据的长度相同,并且所述预定运算是对由所述选择数据识别的子集中包括的部分数据的各位执行的异或运算,以产生所述L段编码数据中的各段编码数据的运算结果部分。
4.根据权利要求3所述的系统,其中所述选择数据包括N位序列,其中其各位按照位的位置的顺序一对一地对应于预定顺序的所述N段部分数据之一,并且各对应于该选择数据中具有1值的位的一段或更多段部分数据被确定为该N段部分数据的子集。
5.根据权利要求4所述的系统,其中所述预定顺序是将所述原始数据顺序地分为所述N段部分数据的顺序。
6.根据权利要求4所述的系统,其中,在各包括在所述L段编码数据中的一段编码数据中的L段选择数据中,所述具有1值的位的数目小于具有0值的位的数目。
7.根据权利要求4所述的系统,其中各包括在所述L段编码数据中的一段编码数据中的L段选择数据彼此不同,并且所述具有1值的位被随机地布置在所述L段选择数据的各段选择数据中包括的N位序列内。
8.根据权利要求2所述的系统,其中高斯消去法被用作所述预定矩阵运算。
9.根据权利要求4所述的系统,其中该选择矩阵具有多个行,每行按照位的位置的顺序将所述N位序列中包括的位包括进来,作为其元素,该运算结果矩阵具有多个行,每行包括所述多个编码数据中的各编码数据的运算结果部分中包括的位作为其元素,通过使用从所接收的一个或更多个传输数据组获得的N段编码数据,分别产生具有N行和N列的单位矩阵和具有N行的矩阵作为所述最佳选择矩阵和所述最佳运算结果矩阵,并且所述最佳运算结果矩阵中包括的行按其行号的升序被连接在一起,以恢复该原始数据。
10.根据权利要求9所述的系统,其中当确定出通过使用获得的所述N段编码数据不能将该选择矩阵转变为三角形矩阵时,从接收的所述一个或更多个传输数据组获得一段或更多段编码数据。
11.根据权利要求10所述的系统,其中该分发装置产生L个N位序列作为编码数据的选择数据的候选,产生具有L行的编码候选矩阵,每行包括选自该L个N位序列的N位序列中包括的位作为其元素,并按照所述N位序列的位的位置顺序定位在该行内,当产生的所述选择候选矩阵包括通过对该编码候选矩阵执行预定矩阵运算可以转变为三角形矩阵的N行和N列的矩阵时,选择所述L个N位序列中包括的N位序列作为所述编码数据的选择数据。
12.一种方法,所述方法包括:
将原始数据分为N段部分数据,基于该N段部分数据,产生L段编码数据,其中N是大于1的自然数,L是等于或大于N的自然数,所述L段编码数据中的各编码数据都包括头部部分和运算结果部分,所述头部部分包括选择数据,所述选择数据用于识别所述N段部分数据的子集,对所述子集执行预定运算,该运算结果部分通过对由该选择数据识别的子集中包括的部分数据执行预定运算而产生;
将所述L段编码数据分为一个或更多个传输数据组;以及
将所述一个或更多个传输数据组中的每一个传输数据组传送到一个或更多个第一通信链路之一。
13.根据权利要求12所述的方法,其中所述L段编码数据的长度相同,并且所述预定运算是对由所述选择数据识别出的子集中包括的部分数据的每个位执行的异或运算,以产生所述L段编码数据中的各段编码数据的运算结果部分。
14.根据权利要求13所述的方法,其中所述选择数据包括N位序列,其中其各位按照位的位置的顺序一对一地对应于预定顺序的所述N段部分数据之一,并且各对应于所述选择数据中具有1值的位的一段或更多段部分数据被确定为该N段部分数据的子集。
15.根据权利要求14所述的方法,其中各包括在所述L段编码数据中的一段编码数据中的L段选择数据彼此不同,并且所述具有1值的位被随机地布置在所述L段选择数据的各段选择数据中包括的N位序列内。
16.一种方法,所述方法包括:
通过一个或更多个第二通信链路接收从传输装置传输来的一个或更多个传输数据组;
从所接收的一个或更多个传输数据组获得多段编码数据,通过使用该获得的多段编码数据,产生选择矩阵和运算结果矩阵,该选择矩阵包括所述多段编码数据中的各段编码数据的头部部分中包括的选择数据作为其行,该运算结果矩阵包括所述多段编码数据中的各段编码数据的运算结果部分中包括的数据作为其行;以及
通过对所述选择矩阵和所述运算结果矩阵的相同位置处的行执行预定矩阵运算,分别将所述选择矩阵和所述运算结果矩阵转变为最佳选择矩阵和最佳运算结果矩阵。
17.根据权利要求16所述的方法,其中所述选择矩阵具有多个行,每行按照位的位置的顺序将所述N位序列中包括的位包括进来,作为其元素,该运算结果矩阵具有多个行,每行包括所述多个编码数据中的各编码数据的运算结果部分中包括的位作为其元素,通过使用从所接收的一个或更多个传输数据组获得的N段编码数据,分别产生具有N行和N列的单位矩阵和具有N行的矩阵作为所述最佳选择矩阵和所述最佳运算结果矩阵,并且所述最佳运算结果矩阵中包括的行按其行号的升序被连接在一起,以恢复该原始数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-004858 | 2007-01-12 | ||
JP2007004858 | 2007-01-12 | ||
JP2007004858A JP2008172617A (ja) | 2007-01-12 | 2007-01-12 | 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101222295A true CN101222295A (zh) | 2008-07-16 |
CN101222295B CN101222295B (zh) | 2011-10-26 |
Family
ID=39186103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810003413XA Expired - Fee Related CN101222295B (zh) | 2007-01-12 | 2008-01-11 | 将数据分为多段部分数据来分发的系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080170591A1 (zh) |
EP (1) | EP1944898A2 (zh) |
JP (1) | JP2008172617A (zh) |
KR (1) | KR100942211B1 (zh) |
CN (1) | CN101222295B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088331A (zh) * | 2009-12-03 | 2011-06-08 | 株式会社Ntt都科摩 | 一种数据传输方法及网络节点 |
CN107171769A (zh) * | 2017-05-25 | 2017-09-15 | 电子科技大学 | 一种分包发送数据同步头设定方法及排序方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL1033542C2 (nl) * | 2007-03-14 | 2008-09-16 | Livesafer B V | Werkwijze voor het opslaan van een bestand. |
EP2485420A4 (en) * | 2009-09-30 | 2014-10-08 | Fujitsu Ltd | DATA TRANSMISSION APPARATUS, DATA GENERATION PROGRAM, AND DATA TRANSMITTING / RECEIVING METHOD |
JP5397179B2 (ja) * | 2009-11-17 | 2014-01-22 | 富士通株式会社 | データ符号化プログラム、データ復号化プログラムおよび方法 |
US10795766B2 (en) | 2012-04-25 | 2020-10-06 | Pure Storage, Inc. | Mapping slice groupings in a dispersed storage network |
US10621044B2 (en) | 2012-04-25 | 2020-04-14 | Pure Storage, Inc. | Mapping slice groupings in a dispersed storage network |
US9380032B2 (en) * | 2012-04-25 | 2016-06-28 | International Business Machines Corporation | Encrypting data for storage in a dispersed storage network |
JPWO2014103078A1 (ja) * | 2012-12-28 | 2017-01-12 | 富士通株式会社 | 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム |
WO2015022910A1 (ja) * | 2013-08-16 | 2015-02-19 | 日本電信電話株式会社 | 通信路復号方法及び通信路復号装置 |
CN104602196B (zh) * | 2013-10-30 | 2018-02-09 | 株式会社理光 | 多播通信方法、多播发送设备、多播接收设备 |
KR102140301B1 (ko) * | 2014-03-07 | 2020-07-31 | 에스케이플래닛 주식회사 | 블루투스 기반 데이터 전송 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
JP7027788B2 (ja) * | 2017-10-16 | 2022-03-02 | 富士通株式会社 | 伝送装置、伝送方法および処理装置 |
US11601135B2 (en) * | 2020-02-27 | 2023-03-07 | BTS Software Solutions, LLC | Internet of things data compression system and method |
JP2023000031A (ja) * | 2021-06-17 | 2023-01-04 | 富士通株式会社 | データ配置プログラム、プロセッサ、及びデータ配置方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768389A (en) * | 1995-06-21 | 1998-06-16 | Nippon Telegraph And Telephone Corporation | Method and system for generation and management of secret key of public key cryptosystem |
KR0180164B1 (ko) * | 1995-07-27 | 1999-05-01 | 배순훈 | 가변길이 부호기 |
KR100250803B1 (ko) * | 1995-09-05 | 2000-04-01 | 다니구찌 이찌로오 | 데이타 변환장치 및 데이타 변환방법 |
JP2001320349A (ja) * | 2000-05-08 | 2001-11-16 | Mitsubishi Heavy Ind Ltd | 分散通信装置 |
JP3663151B2 (ja) * | 2001-06-07 | 2005-06-22 | 日本電信電話株式会社 | データ転送方法、データ転送システム、および受信装置 |
DE10148415C2 (de) * | 2001-09-29 | 2003-07-31 | Univ Braunschweig Tech | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten |
JP3723960B2 (ja) * | 2001-11-19 | 2005-12-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 外部記憶装置、外部記憶装置制御方法、プログラム及び記録媒体 |
WO2004030273A1 (ja) * | 2002-09-27 | 2004-04-08 | Fujitsu Limited | データ配信方法、システム、伝送方法及びプログラム |
CN101103630B (zh) | 2004-10-05 | 2010-11-17 | 维克多曼克斯公司 | 授权多媒体组播的方法和系统 |
JP4699099B2 (ja) * | 2005-06-14 | 2011-06-08 | 富士通株式会社 | 通信制御装置および通信制御方法 |
JP2007299088A (ja) | 2006-04-28 | 2007-11-15 | Fujitsu Ltd | データ保護システム、方法及びプログラム |
-
2007
- 2007-01-12 JP JP2007004858A patent/JP2008172617A/ja active Pending
-
2008
- 2008-01-03 EP EP20080100083 patent/EP1944898A2/en not_active Withdrawn
- 2008-01-07 US US12/007,168 patent/US20080170591A1/en not_active Abandoned
- 2008-01-08 KR KR20080002126A patent/KR100942211B1/ko not_active IP Right Cessation
- 2008-01-11 CN CN200810003413XA patent/CN101222295B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088331A (zh) * | 2009-12-03 | 2011-06-08 | 株式会社Ntt都科摩 | 一种数据传输方法及网络节点 |
CN102088331B (zh) * | 2009-12-03 | 2015-01-14 | 株式会社Ntt都科摩 | 一种数据传输方法及网络节点 |
CN107171769A (zh) * | 2017-05-25 | 2017-09-15 | 电子科技大学 | 一种分包发送数据同步头设定方法及排序方法 |
CN107171769B (zh) * | 2017-05-25 | 2020-01-07 | 电子科技大学 | 一种分包发送数据同步头设定方法及排序方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20080066571A (ko) | 2008-07-16 |
KR100942211B1 (ko) | 2010-02-11 |
JP2008172617A (ja) | 2008-07-24 |
EP1944898A2 (en) | 2008-07-16 |
CN101222295B (zh) | 2011-10-26 |
US20080170591A1 (en) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101222295B (zh) | 将数据分为多段部分数据来分发的系统 | |
CN101019326B (zh) | 文件下载和流系统 | |
CN1620760B (zh) | 用于通信系统的多级码发生器和解码器 | |
CN100539439C (zh) | 连锁反应码的系统编码和解码系统和方法 | |
CN101432969B (zh) | 前向纠错(fec)编码和流送 | |
CN101582698B (zh) | 使用基于子码元的代码来保护数据不被删除 | |
TWI566089B (zh) | 爲編碼和解碼過程採用使符號永久鈍化的fec碼的方法和裝置 | |
US10146618B2 (en) | Distributed data storage with reduced storage overhead using reduced-dependency erasure codes | |
EP1506621B1 (en) | Decoding of chain reaction codes through inactivation of recovered symbols | |
Shum et al. | Exact minimum-repair-bandwidth cooperative regenerating codes for distributed storage systems | |
Schulman | Deterministic coding for interactive communication | |
CN105335150A (zh) | 纠删码数据的快速编解码方法和系统 | |
US20140152476A1 (en) | Data encoding methods, data decoding methods, data reconstruction methods, data encoding devices, data decoding devices, and data reconstruction devices | |
CN111078460B (zh) | 一种快速纠删码计算方法 | |
EP2276177B1 (en) | Decoding method and device of low density generator matrix codes | |
CN108762978B (zh) | 一种局部部分重复循环码的分组构造方法 | |
CN108429553B (zh) | 极化码的编码方法、编码装置及设备 | |
CN104782101A (zh) | 用于分布式网络存储的自修复码的编码、重构和恢复方法 | |
CN100593911C (zh) | 一种对通信系统中接收到的层数据进行解码的方法和系统 | |
CN104881253A (zh) | 一种纠错参数无限制的阵列纠删码方法 | |
CN108683422B (zh) | 一种可容多错交叉循环卷积码的局部性修复编码方法 | |
CN107888334A (zh) | 基于lt码与ldpc码级联的随机编、译码器及方法 | |
US20190020359A1 (en) | Systematic coding technique for erasure correction |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111026 Termination date: 20120111 |