《一种传输数据的方法及解码端、编码端.pdf》由会员分享,可在线阅读,更多相关《一种传输数据的方法及解码端、编码端.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104184545A43申请公布日20141203CN104184545A21申请号201310200424822申请日20130527H04L1/0020060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人张亮马克思瑞米丹尼尔74专利代理机构深圳中一专利商标事务所44237代理人张全文54发明名称一种传输数据的方法及解码端、编码端57摘要本发明实施例提供一种传输数据的方法、编码端、解码端,所述方法中编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;当所述FP不存在,请求解码端数据段CHUNK字典中所述数据段的空闲地址。
2、;存储所述数据段的FP和所述数据段的空闲地址到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端,从而实现编码端完全控制解码端FP字典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,同时,本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。51INTCL权利要求书2页说明书10页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图6页10申请公布号CN104184545ACN104184545A1/2页21一种传输数据的方法,其特征在于,。
3、所述方法包括编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;在FP字典中查找所述FP是否存在;如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端。2根据权利要求1所述的方法,其特征在于,在将所述数据段对应的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端之后,所述方法还包括接收解码端发送的解码成功的消息,释放存储在所述临时缓存区的数据段。。
4、3根据权利要求1或2所述的方法,其特征在于,还包括所述临时缓存区使用先入先出FIFO策略管理数据段。4根据权利要求13任意一项所述的方法,其特征在于,还包括当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地址;编码所述地址,将编码后的地址发送到所述解码端。5一种传输数据的方法,其特征在于,包括接收编码端发送的编码后的数据段的空闲地址和所述数据段;解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;向所述编码端发送解码成功的消息,使得所述编码端接收所述解码。
5、成功的消息后,释放存储在所述编码端临时缓存区的数据段。6根据权利要求5所述的方法,其特征在于,在向所述编码端发送解码成功的消息,包括接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;将所述数据段重构后,向所述编码端发送解码成功的消息。7一种编码端,其特征在于,所述编码端包括计算单元,用于将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;查找单元,用于在FP字典中查找所述FP是否存在;请求单元,用于如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;存储单元,用于当获取所述。
6、空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;第一发送单元,用于将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端。8根据权利要求7所述编码端,其特征在于,所述编码端还包括释放单元,所述释放单元具体用于权利要求书CN104184545A2/2页3接收解码端发送的解码成功的消息,释放存储在所述临时缓存区的数据段。9根据权利要求7或8所述的编码端,其特征在于,所述临时缓存区使用先入先出FIFO策略管理数据段。10根据权利要求79任意一项所述的编码端,其特征在于,所述编码端还包括第一获取单元,用于当所述FP字典中存在。
7、所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地;第一发送单元,用于编码所述地址,将编码后的地址发送到所述解码端。11一种解码端,其特征在于,所述解码端包括接收单元,用于接收编码端发送的编码后的数据段的空闲地址和所述数据段;解析单元,用于解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;第二发送单元,用于向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。12根据权利要求11所述的解码端,其特征在于,所述解码端。
8、还包括接收子单元,用于接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;第二获取单元,用于根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;第二发送单元,用于将所述数据段重构后,向所述编码端发送解码成功的消息。权利要求书CN104184545A1/10页4一种传输数据的方法及解码端、编码端技术领域0001本发明涉及通信领域,尤其涉及到一种传输数据的方法及解码端、编码端。背景技术0002数据冗余消除DATAREDUNDANCYELIMINATION,DRE的基本原理是从流量中找到重复的数据模式,用标签来代替重复数据,在接收端再把重复数据恢复出来。由于标签的长度远小于重复数。
9、据的长度,这样就可以节省流量。0003现有技术中,DRE用于广域网中,数据中心DC与分支机构BR通过广域网(WIDEAREANETWORK,WAN)连接,冗余消除设备REDUNDANCYELIMINATEAPPLIANCE,REA在DC、BR与WAN之间。从DC发出的数据在REA编码,用标签代替重复数据,经过WAN传输,数据在近BR的REA中解码,重建数据,最后发给BR。0004现有技术中,REA的编码端一般由四部分组成编码器、指纹FINGERPRINT,FP字典模块、数据段CHUNK字典模块和地址管理模块。编码器控制整个编码流程,并完成对数据的分段。FP字典模块存储之前出现过数据段的FP。C。
10、HUNK字典为数据段字典,存储之前出现过的数据段。地址管理模块用来管理CHUNK字典中的空闲地址,当出现新的数据段时,该地址管理模块要提供存放该数据段的地址。0005REA的解码端一般由三部分组成解码器、FP字典和CHUNK字典。解码器控制整个解码的流程,对接收的数据进行解析。FP字典存放FP对应的数据段的地址,利用该地址,从CHUNK字典中读出数据段。CHUNK字典存放数据段的内容。0006例如,编码端将数据分段,并计算出数据段的指纹FP,在FP字典中查找该指纹是否存在,如FP不存在,编码端需要存储该数据段和FP,编码端向地址管理模块请求编码端CHUNK字典中空闲地址,得到空闲地址后,编码端。
11、存储FP到FP字典,在CHUNK字典的空闲地址存储该CHUNK,编码端将FP和CHUNK一起编码,发送到解码端。解码器将收到的压缩数据解析,将FP存入FP字典,将CHUNK存入CHUNK字典,将数据重构后,向编码端发送解码成功消息。如FP存在,编码端用FP代替CHUNK,并发送到解码端,解码器将收到的压缩数据解析,查询FP字典,获得CHUNK所在的地址,将CHUNK从CHUNK字典中读出,将数据重构后,向编码端发送解码成功消息。0007为了使解码端能正确的解码,要保证编码端的FP字典与解码端的FP字典一致,解码端的CHUCK字典和FP。而实际中,由于解码端和编码端的字典大小不同、字典替换方法不。
12、同等原因,解码端字典往往与编码端字典不一致。当解码失败时,需要向编码端请求字典中的条目,这就造成了解码的延时增加和链路上报文数的增加。0008对于编码端来说,CHUNK字典只是在丢失CHUNK的重传时才使用,但占据了大量的空间。此外,CHUNK字典保存在存储设备上,造成了存储带宽的开销。对于解码端来说,FP字典只是用来获得CHUNK的地址,但也占据了大量空间和存储带宽。发明内容说明书CN104184545A2/10页50009本发明实施例提供了一种传输数据的方法,旨在解决如何节约编码端和解码端的存储空间和存储带宽的问题。0010第一方面,一种传输数据的方法,所述方法包括0011编码端将数据分段。
13、得到分段后的数据段,并计算所述数据段的指纹FP;0012在FP字典中查找所述FP是否存在;0013如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;0014当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;0015将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端。0016结合第一方面,在第一方面的第一种可能的实现方式中,在将所述数据段对应的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端之后,所述方法还包括0017接收解码端发送的解码成功的消息,释放。
14、存储在所述临时缓存区的数据段。0018结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括0019所述临时缓存区使用先入先出FIFO策略管理数据段。0020结合第一方面或者第一方面的第一种可能的实现方式或者第一方面第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括0021当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地址;0022编码所述地址,将编码后的地址发送到所述解码端。0023第二方面,一种传输数据的方法,所述方法包括0024接收编码端发送的编码后的数据段。
15、的空闲地址和所述数据段;0025解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;0026向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。0027结合第二方面,在第二方面的第一种可能的实现方式中,在向所述编码端发送解码成功的消息,包括0028接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;0029根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;0030将所述数据段重构后,向所述编码端发送解码成功的消息。0031第三方面,一种编码端,。
16、所述编码端包括0032计算单元,用于将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;0033查找单元,用于在FP字典中查找所述FP是否存在;0034请求单元,用于如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;0035存储单元,用于当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的说明书CN104184545A3/10页6空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;0036第一发送单元,用于将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端。0037结合第三方面,在第三方面的第一种可能的实现方。
17、式中,所述编码端还包括释放单元,所述释放单元具体用于0038接收解码端发送的解码成功的消息,释放存储在所述临时缓存区的数据段。0039结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述临时缓存区使用先入先出FIFO策略管理数据段。0040结合第三方面或者第三方面的第一种可能的实现方式或者第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述编码端还包括0041第一获取单元,用于当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地;0042第一发送单元,用于编码所述地址,。
18、将编码后的地址发送到所述解码端。0043第四方面,一种解码端,所述解码端包括0044接收单元,用于接收编码端发送的编码后的数据段的空闲地址和所述数据段;0045解析单元,用于解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;0046第二发送单元,用于向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。0047结合第四方面,在第四方面的第一种可能的实现方式中,所述解码端还包括0048接收子单元,用于接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;0049第。
19、二获取单元,用于根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;0050第二发送单元,用于将所述数据段重构后,向所述编码端发送解码成功的消息。0051本发明实施例提供的传输数据的方法中,编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;在FP字典中查找所述FP是否存在;如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端,从而实现编码。
20、端完全控制解码端FP字典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,CHUNK字典一般只需要TB量级的存储空间,对于吞吐量为40GBPS,压缩率为60的编码器,能节省16GBPS访问存储的带宽。本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。附图说明0052为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以说明书CN104184545A4/10页7根据这些。
21、附图获得其他的附图。0053图1是本发明实施例提供的一种传输数据的方法流程图;0054图2是本发明实施例提供的一种传输数据的方法示意图;0055图3是本发明实施例提供的一种传输数据的方法示意图;0056图4是本发明实施例提供的一种传输数据的方法流程图;0057图5是本发明实施例提供的一种传输数据的方法的应用场景图;0058图6是本发明实施例提供的另一种传输数据的方法的应用场景图;0059图7是本发明实施例提供的一种编码端的装置结构图;0060图8是本发明实施例提供的一种解码端的装置结构图;0061图9是本发明实施例提供的一种编码端的装置结构图;0062图10是本发明实施例提供的一种解码端的装置。
22、结构图。具体实施方式0063下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0064图1是本发明实施例提供的一种传输数据的方法流程图。如图1所示,所述方法包括0065S101,编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;0066具体的,参考图2,图2是本发明实施例提供的一种传输数据的方法示意图。如图2所示,在图2中的编码器将原始数据分段后,计算出分段后的数据段的指纹。
23、(FINGERPRINT,FP)。0067S102,在FP字典中查找所述FP是否存在;0068具体的,参考图2的S201,当编码器计算出所述数据段的FP后,在编码端的FP字典中查找所述数据段的FP是否在编码端的FP字典中存在。0069S103,如果所述FP在编码端的FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;0070具体的,参考图2的S202S203。0071S202,当编码端的FP字典中未存储所述FP时,所述FP字典向编码器返回未存储所述FP的消息;0072S203,编码器接收到所述未存储所述FP的消息后,向编码端的地址管理模块请求所述数据段在解码端存储的空闲。
24、地址。0073S104,编码端获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;0074具体的,参考图2的S204S206。0075S204,所述编码器接收所述地址管理模块返回的空闲地址;0076S205,编码器将所述数据段的FP存储到所述FP字典;0077S206,编码器将所述数据段存储到CHUNK暂存区。说明书CN104184545A5/10页80078S105,将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端,使得解码端解析所述编码后的结果得到所述数据段的空闲地址和所述数据段,根据所述数据段的空闲地。
25、址,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置,向编码端发送解码成功的消息。0079具体的,参考图2的S207S211。0080S207,编码器将所述数据段的空闲地址和所述数据段进行编码;0081S208,将编码后的数据进行压缩,将压缩后的数据发送到解码端的解码器中;0082S209,解码器解压缩所述压缩后的数据,解析解压缩后的数据获取所述数据段的空闲地址和所述数据段;0083S210,将所述数据段存储在该空闲地址对应的CHUNK字典的位置;0084S211,解码器发送解码成功的消息到编码器,通知所述编码器解码成功。0085可选地,在解码端向编码端发送解码成功的。
26、消息之后,还包括0086接收所述解码端发送的解码成功的消息,释放存储在所述临时缓存区的数据段。0087具体的,当编码器接收到解码器发送的解码成功的消息,释放存储在所述临时缓存区的数据段。0088可选地,所述方法还包括0089所述临时缓存区使用先入先出(FIRSTINFIRSTOUT,FIFO)策略管理数据段。0090具体的,在编码端的临时缓存区使用FIFO策略管理数据段,当前一个数据段编码成功后,将对下一个数据段进行编码。0091作为一种可选的实施例,所述方法还包括0092当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地。
27、址;0093编码所述地址,将编码后的地址发送到所述解码端。0094具体的,参考图3,图3是本发明实施例提供的一种传输数据的方法示意图。如图3所示,所述方法包括0095S301,编码器将原始数据分段,计算分段后的数据段的FP,在编码端的FP字典中查找所述FP;0096S302,若所述FP字典中预先存储所述FP和所述FP对应的空闲地址,则返回所述FP对应的空闲地址;0097S303,用所述空闲地址代替所述数据段;0098S304,将所述空闲地址进行压缩后发送到解码器;0099S305,所述解码器解压缩得到所述空闲地址,根据所述空闲地址从解码端的CHUNK字典中读取该数据段;0100S306,所述解。
28、码端的CHUNK字典返回所述数据段;0101S307,解码器进行数据重构,将每一个数据段拼接后形成原始数据;0102S308,解码器向所述编码器发送解码成功的消息。0103本发明实施例提供的传输数据的方法中,编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;在FP字典中查找所述FP是否存在;如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;当获取所说明书CN104184545A6/10页9述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编。
29、码,并将编码后的结果发送到解码端,从而实现编码端完全控制解码端FP字典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,CHUNK字典一般只需要TB量级的存储空间,对于吞吐量为40GBPS,压缩率为60的编码器,能节省16GBPS访问存储的带宽。本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。0104参考图4,图4是本发明实施例提供的一种传输数据的方法流程图。如图4所示,所述方法包括0105S401,接收编码端发送的编码后的数据段的空闲地址和所述数据段;0106具体的,参考图2的S208。0107S402,解析所述编码后的数据段的空闲地。
30、址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;0108具体的,参考图2的S209S210。0109S403,向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。0110具体的,参考图2的S211。0111作为一种可选的实施例,所述S403包括0112接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;0113根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;0114将所述数据段重构后,向所述编码端发送解码成功的消息。0115本发明实施例提供的传输数据的方法中,编码端将。
31、数据分段得到分段后的数据段,并计算所述数据段的指纹FP;在FP字典中查找所述FP是否存在;如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端,从而实现编码端完全控制解码端FP字典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,CHUNK字典一般只需要TB量级的存储空间,对于吞吐量为40GBPS,压缩率为60的编码器,能节。
32、省16GBPS访问存储的带宽。本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。0116参考图5,图5是本发明实施例提供的一种传输数据的方法的应用场景图。如图5所示,是一个编码器对应多个解码器的场景。在实际中,一个DC和多个BR的情况比较常见,在DC处做编码,在BR处做解码。由于不同解码端的字典不完全相同,就需要编码器在编码时,要按照具体的解码器的字典来编码。在图5中有一个编码器和三个解码器。每个解码器有其自己的CHUNK字典,而对应于每个解码器,编码器都有一个FP字典与之对应。编码过程中根据数据属于哪个解码器,选择相应的FP字典来编码。0117参考图6,图6是本发明实施例提供的。
33、另一种传输数据的方法的应用场景图。在同时做编码和解码时,在同一MIDDLEBOX中配置编码器和解码器模块。编码器控制对端的解码器,而同一个MIDDLEBOX中的解码器受对端的编码器控制。同一个MIDDLEBOX中的编码器不影响同一个MIDDLEBOX中的解码器的功能,同一个MIDDLEBOX中的解码器不影响同一说明书CN104184545A7/10页10个MIDDLEBOX中的编码器的功能。0118参考图7,图7是本发明实施例提供的一种编码端的装置结构图。如图7所示,所述装置包括计算单元701、查找单元702和请求单元703,其中0119计算单元701,用于将数据分段得到分段后的数据段,并计算。
34、所述数据段的指纹FP;0120具体的,参考图2,图2是本发明实施例提供的一种传输数据的方法示意图。如图2所示,在图2中的编码器将原始数据分段后,计算出分段后的数据段的指纹FP。0121查找单元702,用于在FP字典中查找所述FP是否存在;0122具体的,参考图2的S201,当编码器计算出所述数据段的FP后,在编码端的FP字典中查找所述数据段的FP是否在编码端的FP字典中存在。0123请求单元703,用于如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;0124具体的,参考图2的S202S203。0125S202,当编码端的FP字典中未存储所述FP时,。
35、向编码器返回未存储所述FP的消息;0126S203,当编码器接收到所述消息后,向编码端的地址管理模块请求所述数据段在解码端存储的空闲地址。0127存储单元704,用于当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;0128具体的,参考图2的S204S206。0129S204,所述编码器接收所述地址管理模块返回的空闲地址;0130S205,编码器将所述数据段的FP存储到所述FP字典;0131S206,编码器将所述数据段存储到CHUNK暂存区。0132第一发送单元705,用于将所述数据段的空闲地址和所述数据段进行编码,并将编码后。
36、的结果发送到解码端,使得解码端解析所述编码后的结果得到所述数据段的空闲地址和所述数据段,根据所述数据段的空闲地址,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置,向编码端发送解码成功的消息。0133具体的,参考图2的S207S211。0134S207,编码器将所述数据段的空闲地址和所述数据段进行编码;0135S208,将编码后的数据进行压缩,将压缩后的数据发送到解码端的解码器中;0136S209,解码器解压缩所述压缩后的数据,解析解压缩后的数据获取所述数据段的空闲地址和所述数据段;0137S210,将所述数据段存储在该空闲地址对应的CHUNK字典的位置;0138S2。
37、11,解码器发送解码成功的消息到编码器,通知所述编码器解码成功。0139可选地,所述编码端还包括释放单元,所述释放单元具体用于0140接收解码端发送的解码成功的消息,释放存储在所述临时缓存区的数据段。0141具体的,当编码器接收到解码器发送的解码成功的消息,释放存储在所述临时缓存区的数据段。0142可选地,所述临时缓存区使用先入先出FIFO策略管理数据段。说明书CN104184545A108/10页110143具体的,在编码端的临时缓存区使用先入先出(FIRSTINFIRSTOUT,FIFO)策略管理数据段,当前一个数据段编码成功后,将对下一个数据段进行编码。0144作为一种可选的实施例,所述。
38、编码端还包括0145第一获取单元,用于当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地;0146第一发送单元,用于编码所述地址,将编码后的地址发送到所述解码端。0147具体的,参考图3,图3是本发明实施例提供的一种传输数据的方法示意图。如图3所示,所述方法包括以下S0148S301,编码器将原始数据分段后,计算分段后的数据段的FP,在编码端的FP字典中查找所述FP;0149S302,若所述FP字典中预先存储所述FP和所述FP对应的空闲地址,则返回所述FP对应的空闲地址;0150S303,用所述空闲地址代替所述数据段CHU。
39、NK;0151S304,将所述空闲地址进行压缩后发送到解码器;0152S305,所述解码器解压缩得到所述空闲地址,根据所述空闲地址从解码端的CHUNK字典中读取该数据段;0153S306,所述解码端的CHUNK字典返回所述数据段;0154S307,解码器进行数据重构,将每一个端数据段拼接后形成原始数据;0155S308,解码器向所述编码器发送解码成功的消息。0156本发明实施例提供一种编码端,所述编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;在FP字典中查找所述FP是否存在;如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;当获取所。
40、述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端,从而实现编码端完全控制解码端FP字典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,CHUNK字典一般只需要TB量级的存储空间,对于吞吐量为40GBPS,压缩率为60的编码器,能节省16GBPS访问存储的带宽。本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。0157参考图8,图8是本发明实施例提供的一种解码端的装置结构图。如图8所示,所述解码端包括以下单。
41、元0158接收单元801,用于接收编码端发送的编码后的数据段的空闲地址和所述数据段;0159具体的,参考图2的S208。0160解析单元802,用于解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;0161具体的,参考图2的S209S210。0162第二发送单元803,用于向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。0163具体的,参考图2的S211。说明书CN104184545A119/10页120164作为一种可选的实施例,所述解码端还包括0165接收。
42、子单元,用于接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;0166第二获取单元,用于根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;0167第二发送单元,用于将所述数据段重构后,向所述编码端发送解码成功的消息。0168本发明实施例提供一种解码端,所述解码端接收编码端发送的编码后的数据段的空闲地址和所述数据段,解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置,向编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在编码端临时缓存区的数据段,从而实现编码端完全控制解码端FP字。
43、典,保证两端的FP字典完全同步,减少了字典不一致带来的解码错误;在编码端节省了CHUNK字典,CHUNK字典一般只需要TB量级的存储空间,对于吞吐量为40GBPS,压缩率为60的编码器,能节省16GBPS访问存储的带宽。同时,本发明实施例在解码端节省了FP字典,进一步节省了存储容量和带宽。0169参考图9,图9是本发明实施例提供的一种编码端的装置结构图。参考图9,图9是本发明实施例提供的一种编码端900,本发明具体实施例并不对所述编码端的具体实现做限定。所述编码端900包括0170处理器PROCESSOR901,通信接口COMMUNICATIONSINTERFACE902,存储器MEMORY9。
44、03,总线904。0171处理器901,通信接口902,存储器903通过总线904完成相互间的通信。0172通信接口902,用于与解码端进行通信;0173处理器901,用于执行程序。0174具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。0175处理器901可能是一个中央处理器CPU,或者是特定集成电路ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUIT),或者是被配置成实施本发明实施例的一个或多个集成电路。0176存储器903,用于存放程序。存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(NONVOLATILEMEMORY)。程序。
45、具体可以用于0177编码端将数据分段得到分段后的数据段,并计算所述数据段的指纹FP;0178在FP字典中查找所述FP是否存在;0179如果所述FP在所述FP字典中不存在,请求解码端数据段CHUNK字典中所述数据段对应的空闲地址;0180当获取所述空闲地址后,将所述数据段的FP和所述数据段对应的空闲地址存储到所述FP字典,并将所述数据段存储到临时缓存区;0181将所述数据段的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端。0182在将所述数据段对应的空闲地址和所述数据段进行编码,并将编码后的结果发送到解码端之后,所述方法还包括0183接收解码端发送的解码成功的消息,释放存储在所述临时。
46、缓存区的数据段。说明书CN104184545A1210/10页130184还包括0185所述临时缓存区使用先入先出FIFO策略管理数据段。0186还包括0187当所述FP字典中存在所述FP时,则在所述编码端的FP字典中获取所述FP对应的数据段在所述解码端CHUNCK字典存储的空闲地址;0188编码所述地址,将编码后的地址发送到所述解码端。0189参考图10,图10是本发明实施例提供的一种解码端的装置结构图。参考图10,图10是本发明实施例提供的一种解码端1000,本发明具体实施例并不对所述解码端的具体实现做限定。所述解码端1000包括0190处理器PROCESSOR1001,通信接口COMMU。
47、NICATIONSINTERFACE1002,存储器MEMORY1003,总线1004。0191处理器1001,通信接口1002,存储器1003通过总线1004完成相互间的通信。0192通信接口1002,用于与编码端进行通信;0193处理器1001,用于执行程序。0194具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。0195处理器1001可能是一个中央处理器CPU,或者是特定集成电路ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUIT),或者是被配置成实施本发明实施例的一个或多个集成电路。0196存储器1003,用于存放程序。存储器803可能包含高。
48、速RAM存储器,也可能还包括非易失性存储器(NONVOLATILEMEMORY)。程序具体可以用于0197接收编码端发送的编码后的数据段的空闲地址和所述数据段;0198解析所述编码后的数据段的空闲地址和所述数据段,将所述数据段存入所述解码端的CHUNK字典中对应所述数据段的空闲地址的位置;0199向所述编码端发送解码成功的消息,使得所述编码端接收所述解码成功的消息后,释放存储在所述编码端临时缓存区的数据段。0200所述方法在S向编码端发送解码成功的消息之后,还包括0201接收所述编码端发送的编码后的数据段的空闲地址和所述数据段;0202根据所述数据段的空闲地址从解码端的CHUCK字典中获取所述数据段;0203将所述数据段重构后,向所述编码端发送解码成功的消息。0204以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。说明书CN104184545A131/6页14图1说明书附图CN104184545A142/6页15图2说明书附图CN104184545A153/6页16图3图4说明书附图CN104184545A164/6页17图5图6图7说明书附图CN104184545A175/6页18图8图9说明书附图CN104184545A186/6页19图10说明书附图CN104184545A19。