CN105592135A - 数据冗余消除dre字典确认方法和设备 - Google Patents
数据冗余消除dre字典确认方法和设备 Download PDFInfo
- Publication number
- CN105592135A CN105592135A CN201510618721.3A CN201510618721A CN105592135A CN 105592135 A CN105592135 A CN 105592135A CN 201510618721 A CN201510618721 A CN 201510618721A CN 105592135 A CN105592135 A CN 105592135A
- Authority
- CN
- China
- Prior art keywords
- list item
- dictionary
- dictionary list
- sequence number
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了数据冗余消除DRE字典确认方法和设备。本发明中,发送端先将新生成的字典表项记录至待确认字典表项列表中,之后通过与接收端之间原有的用于数据传输的数据传输连接同步待确认字典表项列表中的字典表项,针对被接收端接收到的字典表项,发送端将该字典表项记录至本地数据字典,之后对该字典表项中的数据发送时通过该字典表项中的字典表项索引替代,这能够防止接收端无法还原数据的缺陷。
Description
技术领域
本申请涉及网络通信技术,特别涉及数据冗余消除(DRE:DataRedundancyElimination)字典确认方法和设备。
背景技术
目前,广域网中传输的数据有较高的冗余度,为加速广域网数据传输的目的,需要消除广域网中的数据冗余。
DRE通过将广域网中的长数据替换为短索引的方式,极大地压缩了广域网中的冗余数据,节省了带宽。DRE要求在一对对等边缘节点上建立实时同步的DRE字典(也称数据字典),具体是:
发送端(一边缘节点)向接收端(另一边缘节点,与发送端对等)传输数据(以数据a为例)时,从本地数据字典中查找包含数据a的字典表项;
如果发送端查找到包含数据a的字典表项,则发送端使用该查找到的字典表项中的字典表项索引替换数据a传输至接收端,由于数据字典在发送端和接收端同步,当接收端接收到字典表项索引,可以使用字典表项索引将数据a还原,恢复原始的数据a;
如果发送端未查找到包含数据a的字典表项,则发送端在字典表项中建立一条新字典表项,建立的新字典表项包含一个字典表项索引和数据a,发送端将建立的新字典表项同步到接收端。但是由于广域网的低带宽、高延时特性,接收端不能及时接收到发送端同步过来的新字典表项,如此,当后续发送端再发送数据a时,因为发送端本地的数据字典中已有包含数据a的字典表项,则发送端不再发送数据a,而是直接发送该包含数据a的字典表项中的字典表项索引,但由于接收端未及时接收到发送端之前同步过来的新字典表项,可能接收端在接收到发送端发送的字典表项索引后还未收到发送端同步的新字典表项,基于此,接收端就无法利用接收的字典表项索引还原数据,导致数据传输中断。
发明内容
本申请提供了数据冗余消除DRE字典确认方法和设备,以防止接收端无法利用接收的字典表项索引还原数据的缺陷。
本申请提供的技术方案包括:
一种数据冗余消除DRE字典确认方法,包括:
发送端将新生成的字典表项记录至待确认字典表项列表中;
发送端通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项;
发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
一种数据冗余消除DRE字典确认设备,该设备应用于作为发送端的设备,包括:
字典表项生成单元,用于将新生成的字典表项记录至待确认字典表项列表中;
字典表项同步单元,用于通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项;
字典表项确定单元,用于从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
由以上技术方案可以看出,本发明中,发送端先将新生成的字典表项记录至待确认字典表项列表中,之后通过与接收端之间原有的用于数据传输的数据传输连接同步待确认字典表项列表中的字典表项,针对被收端接收到的字典表项,发送端将该字典表项记录至本地数据字典,之后对该字典表项中的数据发送时通过该字典表项中的字典表项索引替代,这能防止接收端无法还原数据的缺陷。
附图说明
图1为本发明提供的方法流程图;
图2为本发明提供的实施例示意图;
图3a至图3d为本发明提供的实施例表项结构图;
图4为本发明提供的设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法包括图1所示的流程。
参见图1,图1为本发明提供的方法流程图。在该方法中,发送端和接收端是一对对等的边缘节点(这里的边缘节点可为路由设备或者其他设备,本发明并不限定)。在该方法中,发送端和接收端之间已经建立了用于传输数据的数据传输连接。传输控制协议(TCP:TransportControlProtocol)是一种面向连接的可靠传输协议,广域网环境中被广泛使用,因此,作为一个优选实施例,这里的数据传输连接可为TCP连接。
如图1所示,该流程可包括:
步骤101,发送端将新生成的字典表项记录至待确认字典表项列表中。
本发明中,发送端在向接收端发送数据时,会先检查本地数据字典中是否有包含该数据的字典表项,如果本地数据字典中有包含该数据的字典表项,则发送端直接传输该字典表项中的字典表项索引来代替传输的数据,以实现通过比较短的字典表项索引替代比较长的数据传输,达到加速网络中数据传输的目的;而如果本地数据字典中不存在包含该数据的字典表项,则新生成一个字典表项。该新生成的字典表项包括一个字典表项索引、以及该数据。之后,如步骤101的描述,将新生成的字典表项记录至待确认字典表项列表中。为区分待确认字典表项列表和数据字典,作为一个优选实施例,本发明中,待确认字典表项列表和数据字典可存放至发送端本地两个不同的存储介质内。
步骤102,发送端通过与接收端之间已有的数据传输连接发送待确认字典表项列表中的字典表项。
如上描述的数据传输连接,则可以看出,本发明中,发送端可直接复用与接收端之间原有的用于数据传输的数据传输连接进行字典表项的同步。
作为一个优选实施例,本步骤102中,发送端通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项包括:
步骤01,为所述待确认字典表项列表中的字典表项设置对应的序列号。
这里的序列号不同于上面描述的字典表项中的字典表项索引,字典表项索引是对字典表项的标识,一个字典表项具有唯一固定的字典表项索引,以便和其他字典表项区分;而字典表项设置的序列号,是表示字典表项的发送次序,其目的是用于排序、查错、答复的,一般为字典表项中第一个字节的流序列号,比如,字典表项的序列号为300,字典表项整体占用了100个字节,则下一个字典表项的序列号就为401。
步骤02,将待确认字典表项列表中的字典表项、以及对应的序列号通过与接收端之间已有的数据传输连接发送。
本发明中,在为待确认字典表项列表中各字典表项设置序列号后,发送端根据自身的协议会认为依次为各字典表项设置的序列号是一个连续的序列号。比如,依次为待确认字典表项列表中各字典表项(字典表项1至字典表项5)设置的序列号为0、100、200、300、400,则认为序列号0、100、200、300、400连续。
通常,在通过数据传输连接发送字典表项时,会根据数据传输连接的带宽设置一个数据传输规格最大长度,基于此,步骤02中,就可依据设置的数据传输规格最大长度并结合字典表项的长度确定应该将多少个字典表项组织在一起发送,以节省带宽资源。仍如上文举例,待确认字典表项列表中有字典表项1至字典表项10,序列号依次为0、100、200、300、400、500、600、700、800、900,假如字典表项的长度为100个字节,数据传输规格最大长度为500个字节,则步骤02中,发送端可先将字典表项1至字典表项5、以及对应的序列号0、100、200、300、400组织在一起通过与接收端之间已有的数据传输连接发送给接收端。
步骤103,发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
作为本发明的一个实施例,当确定出已被接收端接收的字典表项时,在发送端内部可以采用一个事件通知机制,根据该事件通知,将已同步的字典表项记录至发送端本地,并从待确认字典表项列表中删除。其中,通知的内容至少包括:将已同步的字典表项的起始位置和结束位置。其中,起始位置为对应的字典表项在待确认字典表项列表中占用的第一个字节,结束位置为对应的字典表项在待确认字典表项列表中占用的最后一个字节。例如,已同步的字典表项2占用的字节为256~511、字典表项3占用的字节为512~767,那么字典表项2和3的起始位置为第256个字节,结束位置为第767个字节。
作为本发明的一个实施例,发送端在将确定出的字典表项记录至本地数据字典中后,可进一步包括:将确定出的字典表项从所述待确认字典表项列表中删除;之后,发送端在发送数据时,检查所述待确认字典表项列表中存在包含所述数据的字典表项,则发送所述数据至接收端。
作为本发明的一个实施例,本步骤103中,发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项具体实现时可有多种实现方式,下面仅举例描述三种实现方式:
方式1:
如上限定的数据传输连接可为TCP连接,而TCP本身的确认(ACK)机制,能够让发送端感知到接收端成功接收字典表项的信号。本方式1就是基于TCP本身的ACK确认机制来实现发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项。
具体地,本方式1下,发送端从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
步骤a1,发送端接收接收端通过上述的数据传输连接发送的ACK报文。
如上描述,发送端在发送字典表项时会按照TCP的规定为发送的每一字典表项设置一个序列号。按照ACK机制,当接收端接收到字典表项时,就会将收到的序列号连续的多个字典表项中的最后一个字典表项的序列号通过ACK报文发送给发送端。比如,发送端发送了序列号依次为0、100、200、300、400一共五个字典表项,而接收端只收到了序列号为0、100、400的字典表项,则接收端发送的ACK报文中携带的序列号就为100,表示只收到了序列号为0、100的字典表项。
步骤a2,发送端解析出所述ACK报文携带的序列号,根据所述待确认字典表项列表确定出已发送的字典表项中序列号连续的字典表项,所述序列号连续的字典表项包括所述解析出的序列号对应的字典表项;将所述序列号连续的字典表项中从第一个序列号至所述解析出的序列号对应的字典表项确定为已被接收端接收的字典表项。
当发送端发送字典表项时,发送端会记录下来该发送的字典表项。仍如上举例:发送端发送了序列号依次为0、100、200、300、400一共五个字典表项,按照TCP,发送端会将这5个字典表项作为已发送的字典表项记录下来。之后,当发送端收到接收端返回的ACK报文后,如步骤a2所述,解析出ACK报文携带的序列号为100,依据上述记录确定出序列号连续的字典表项为:序列号依次为0、100、200、300、400的字典表项,将序列号连续的字典表项中从第一个序列号至解析出的序列号100的所有序列号即0、100对应的字典表项即字典表项1、字典表项2确定为已被接收端接收的字典表项。
应用于方式1下,当发送端发现其发送的所有字典表项并未完全被接收端接收,如上述举例,只有字典表项1、字典表项2被接收端接收,则按照上述步骤102的描述,在字典表项的长度为100个字节,数据传输规格最大长度为500个字节的前提下,发送端会再将字典表项3至字典表项7、以及对应的序列号200、300、400、500、600组织在一起通过与接收端之间已有的数据传输连接发送给接收端。
至此,完成方式1的描述。在方式1中,接收端是复用与发送端之间原有的用于数据传输的数据传输连接进行字典表项的确认,再结合上面步骤102描述的发送端发送字典表项的操作,则可以看出本发明中发送端和接收端通过复用两者之间原有的用于数据传输的数据传输连接进行字典表项的同步和确认,这能够提高字典表项同步的效率。
方式2:
如上限定的数据传输连接可为TCP连接,而TCP本身的选择性ACK(SACK:SelecriveACK)确认机制,较于ACK机制,能够让发送端更准确地感知到接收端成功接收字典表项的信号。本方式2就是基于TCP本身的SACK确认机制来实现发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项。
具体地,本方式2下,发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项可包括:
步骤b1,发送端接收接收端通过与发送端之间原有的用于数据传输的数据传输连接发送的SACK报文。
如上描述的,发送端在发送字典表项时会按照TCP的规定为发送的每一字典表项设置一个序列号,按照SACK机制,接收端接收到字典表项时,就会将收到的各个字典表项的序列号通过SACK报文发送给发送端。仍如上举例,发送端发送了序列号依次为0、100、200、300、400一共五个字典表项,而接收端只收到了序列号为0、100、400的字典表项,则接收端就发送SACK报文给发送端,发送的SACK报文携带序列号0、100、400,以确认接收端只收到了序列号为0、100、400的字典表项。
步骤b2,发送端解析出所述SACK报文携带的序列号,确定出所述待确认字典表项列表中与解析出的序列号对应的字典表项为已被接收端接收的字典表项。
仍如上举例:发送端发送了序列号依次为0、100、200、300、400一共五个字典表项,而接收端只收到了序列号为序列号0、100、400的字典表项,接收端发送的SACK报文携带序列号序列号0、100、400。则当发送端收到接收端发送的SACK报文时,解析出SACK报文携带的序列号为序列号0、100、400,则确认接收端只收到了序列号为0的字典表项1、序列号为100的字典表项2、序列号为400的字典表项5,将待确认字典表项列表中字典表项1、2、5确定为已被接收端接收的字典表项。
应用于方式2下,当发送端发现其发送的所有字典表项并未完全被接收端接收,如上述举例,只有字典表项1、字典表项2、字典表项5被接收端接收,则按照上述步骤102的描述,在字典表项的长度为100个字节,数据传输规格最大长度为500个字节的前提下,发送端会再将字典表项3、字典表项4、字典表项6至字典表项8、以及对应的序列号200、300、500、600、700组织在一起通过与接收端之间已有的数据传输连接发送给接收端。
至此,完成方式2的描述。类似方式1,在方式2中,接收端也是复用与发送端之间原有的用于数据传输的数据传输连接进行字典表项的确认。
方式3:
本方式3不依赖ACK机制或者SACK机制。在本方式3下,发送端在通过与接收端之间已有的数据传输连接发送待确认字典表项列表中的字典表项时可进一步包括:针对发送的每一字典表项设置一个对应的定时器。基于此,本方式3下,发送端从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
步骤c1,发送端针对所述待确认字典表项列表中已被发送给接收端的每一字典表项,检测该字典表项对应的定时器,在检测到定时器超时时,确认该字典表项已被接收端接收。
在本方式3下,定时器的超时时间可基于统计学方法设置,比如,先假设定时器的超时时间为s秒,之后,如果发送端在发送字典表项后检测(该检测类似现有的端到端检测,不再赘述)到接收端总是可以及时收到本发送端发送的字典表项,则缩短定时器的超时时间为m(m小于s)秒;如果发送端检测到丢包总是发生,则延长定时器的超时时时间为l(l大于s),最终发送端和接收端之间达到一种动态平衡。
至此,完成方式3的描述。
以上通过三种方式举例描述了步骤103中发送端如何从所述待确认字典表项列表中确定出已被接收端接收的字典表项。
步骤104,发送端在发送数据时,检查所述待确认字典表项列表中存在包含所述数据的字典表项,则发送所述数据至接收端。
通过本步骤104,就能避免背景技术描述的接收端先接收到发送端发送的字典表项索引后收到发送端同步的新字典表项的缺陷,进而避免接收端不能利用接收的字典表项索引无法还原数据的缺陷。
至此,完成图1所示的流程。
下面以上述方式2为例,通过一个具体实施例对图1所示流程进行描述:
如图2所示,发送端在时间点T1时新生成如下字典表项:表项1,占用的字节为0~255,记为表项1(0~255),表项2,占用的字节为256~511,记为表项2(256~511),发送端将表项1(0~255)、表项2(256~511)记录至待确认字典表项列表中。假设此时待确认字典表项列表只有表项1(0~255)、表项2(256~511),具体如图3a所示。
发送端为表项1设置序列号为0,为表项2设置序列号为256。
假如按照TCP设置数据传输规格最大长度不超过1800个字节,则发送端通过与接收端之间已有的数据传输连接发送表项1(0~255)、表项1的序列号0、表项2(256~511)、表项2的序列号256给接收端。
发送端在时间点T2时新生成如下字典表项:表项3,占用的字节为512~767,记为表项3(512~767),表项4,占用的字节为768~1023,记为表项4(768~1023),发送端将表项3(512~767),表项4(768~1023)记录至待确认字典表项列表中。发送端为表项3设置序列号为512,为表项4设置序列号为768。
截至到T2,发送端未接收到接收端针对表项1(0~255)、表项2(256~511)
返回的SACK报文,则确定表项1(0~255)、表项2(256~511)还未被接收端成功接收,则此时的待确认字典表项列表就会存在表项1(0~255)、表项2(256~511)、表项3(512~767),表项4(768~1023),具体如图3b所示。
发送端通过与接收端之间已有的数据传输连接发送表项1(0~255)、表项1的序列号0、表项2(256~511)、表项2的序列号256、表项3(512~767)、表项3的序列号512、表项4(768~1023)、表项4的序列号768;
假如表项1(0~255)、表项2(256~511)、表项3(512~767),表项4(768~1023)均被接收端成功接收,则接收端发送SACK报文,SACK报文携带的序列号为0、256、512、768。
发送端接收到SACK报文,确定表项1(0~255)、表项2(256~511)、表项3(512~767),表项4(768~1023)均被接收端成功接收,此时,在发送端内部可以采用一个事件通知机制,通知的内容为已同步的字典表项的起始位置和结束位置,例如表项1(0~255)、表项2(256~511)、表项3(512~767),表项4(768~1023)的起始位置为第0个字节,结束位置为第1023个字节,则,根据上述起始位置和结束位置,就可以从待确认字典表项列表中获取已同步的字典表项,将其记录至本地数据字典中,并从待确认字典表项列表中删除。也即,此时表项1(0~255)、表项2(256~511)、表项3(512~767),表项4(768~1023)不再记录至待确认字典表项列表,结合图3b,则此时待确认字典表项列表为空。
发送端在时间点T4时新生成如下字典表项:表项5,占用的字节为1024~1279,记为表项5(1024~1279),发送端将表项5(1024~1279)记录至待确认字典表项列表中。基于上段描述的,则此时待确认字典表项列表只有表项5(1024~1279),具体如图3c所示。
发送端为表项5设置序列号1024。发送端通过与接收端之间已有的数据传输连接发送表项5(1024~1279)、表项5的序列号1024。
发送端在时间点T5时新生成如下字典表项:表项6,占用的字节为1280~1535,记为表项6(1280~1535)、表项7,占用的字节为1536~1791,记为表项7(1536~1791)。发送端为表项6设置序列号1280,为表项7设置序列号1536。
截至到T5,发送端未接收到接收端针对表项5(1024~1279)返回的SACK报文,确定表项5(1024~1279)还未被接收端成功接收,则此时的待确认字典表项列表就会存在表项5(1024~1279)、表项6(1280~1535)、表项7(1536~1791)。具体如图3d所示。
发送端通过与接收端之间已有的数据传输连接发送表项5(1024~1279)、表项5的序列号1024、表项6(1280~1535)、表项6的序列号1280、表项7(1536~1791)、表项7的序列号1536。
假如表项6(1280~1535)、表项7(1536~1791)被接收端成功接收,则接收端发送SACK报文,SACK报文携带的序列号为1280、1536。
发送端接收到SACK报文,确定出表项6(1280~1535)、表项7(1536~1791)被接收端成功接收,则发送端将表项6(1280~1535)、表项7(1536~1791)记录至本地数据字典中,并从待确认字典表项列表中删除表项6(1280~1535)、表项7(1536~1791),也即,此时表项6(1280~1535)、表项7(1536~1791)不再记录至待确认字典表项列表,结合图3d,则此时待确认字典表项列表仅记录表项5(1024~1279)。
假如在此时,发送端发送需要向接收端发送数据,发现该数据在表项5中,则直接发送数据给接收端。而如果发现该数据在表项1至4、表项6至7任一表项中,则用该表项中的字典表项索引替换数据进行转发。
需要说明的是,在本发明中,为保证表项5(1024~1279)最终被被接收端接收,发送端还需要继续通过与接收端之间已有的数据传输连接发送表项5(1024~1279)、表项5的序列号1024给接收端。假如表项5(1024~1279)被接收端成功接收,则接收端发送SACK报文,SACK报文携带的序列号为1024;发送端接收到SACK报文,确定表项5(1024~1279)被接收端成功接收,将表项5(1024~1279)记录至本地数据字典中,并从待确认字典表项列表中删除表项5(1024~1279)。也即,此时表项5(1024~1279)不再记录至待确认字典表项列表,最终待确认字典表项列表为空。图2中对这一段未示出。
至此,完成实施例的描述。
以上对本发明提供的方法进行描述。
下面对本发明提供的设备进行描述:
参见图4,图4为本发明提供的设备结构图。该设备应用于作为发送端的设备,包括:
字典表项生成单元,用于将新生成的字典表项记录至待确认字典表项列表中;
字典表项同步单元,用于通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项;
字典表项确定单元,用于从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
优选地,所述字典表项确定单元将确定出的字典表项记录至本地数据字典中时,进一步将确定出的字典表项从所述待确认字典表项列表中删除;
优选地,如图4所示,该设备进一步包括:
数据处理单元,用于在发送数据时,检查所述待确认字典表项列表中存在包含所述数据的字典表项,则发送所述数据至接收端。
优选地,本发明中,所述字典表项确定单元通过以下模块从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中:
确定模块,用于从所述待确认字典表项列表中确定出已被接收端接收的字典表项;
通知模块,用于将确定模块确定出的已被接收端接收的字典表项的开始位置和结束位置通知给DRE模块;
DRE模块,用于接收到所述通知后,依据通知的字典表项的开始位置和结束位置从所述待确认字典表项列表中确定出对应的字典表项,并将确定出的字典表项记录至本地数据字典中。
优选地,所述字典表项同步单元通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项包括:
为所述待确认字典表项列表中的字典表项设置对应的序列号;
将所述待确认字典表项列表中的字典表项、以及对应的序列号通过与接收端之间已有的数据传输连接发送。
优选地,所述确定模块从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
接收接收端通过所述数据传输连接发送的确认ACK报文,所述ACK报文中携带序列号;解析出所述ACK报文携带的序列号;根据所述待确认字典表项列表确定出已发送的字典表项中序列号连续的字典表项,所述序列号连续的字典表项包括所述解析出的序列号对应的字典表项;将所述序列号连续的字典表项中从第一个序列号至所述解析出的序列号对应的字典表项确定为已被接收端接收的字典表项;或者,
接收接收端通过所述数据传输连接发送的选择性确认SACK报文,所述SACK报文携带了接收端收到的字典表项的序列号;解析出所述SACK报文携带的序列号,确定出所述待确认字典表项列表中与解析出的序列号对应的字典表项为已被接收端接收的字典表项;或者,
针对所述待确认字典表项列表中已被发送给接收端的每一字典表项,检测该字典表项对应的定时器,在检测到定时器超时时,确认该字典表项已被接收端接收,所述每一字典表项对应的定时器由所述字典表项同步单元在发送该字典表项时设置。
至此,完成图4所示的设备描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种数据冗余消除DRE字典确认方法,其特征在于,该方法包括:
发送端将新生成的字典表项记录至待确认字典表项列表中;
发送端通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项;
发送端从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
2.根据权利要求1所述的方法,其特征在于,所述将确定出的字典表项记录至本地数据字典中时,该方法还包括:
将确定出的字典表项从所述待确认字典表项列表中删除;
发送端在发送数据时,检查所述待确认字典表项列表中存在包含所述数据的字典表项,则发送所述数据至接收端。
3.根据权利要求1所述的方法,其特征在于,所述发送端通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项包括:
为所述待确认字典表项列表中的字典表项设置对应的序列号;
将所述待确认字典表项列表中的字典表项、以及对应的序列号通过与接收端之间已有的数据传输连接发送。
4.根据权利要求3所述的方法,其特征在于,发送端从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
接收接收端通过所述数据传输连接发送的确认ACK报文,所述ACK报文中携带序列号;
解析出所述ACK报文携带的序列号;
根据所述待确认字典表项列表确定出已发送的字典表项中序列号连续的字典表项,所述序列号连续的字典表项包括所述解析出的序列号对应的字典表项;
将所述序列号连续的字典表项中从第一个序列号至所述解析出的序列号对应的字典表项确定为已被接收端接收的字典表项。
5.根据权利要求3所述的方法,其特征在于,发送端从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
接收接收端通过所述数据传输连接发送的选择性确认SACK报文,所述SACK报文携带了接收端收到的字典表项的序列号;
解析出所述SACK报文携带的序列号,
确定出所述待确认字典表项列表中与解析出的序列号对应的字典表项为已被接收端接收的字典表项。
6.根据权利要求1或3所述的方法,其特征在于,所述发送端通过与接收端之间已有的数据传输连接发送待确认字典表项列表中的字典表项进一步包括:针对发送的每一字典表项设置一个对应的定时器;
所述发送端从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
针对所述待确认字典表项列表中已被发送给接收端的每一字典表项,检测该字典表项对应的定时器,在检测到定时器超时时,确认该字典表项已被接收端接收。
7.一种数据冗余消除DRE字典确认设备,其特征在于,该设备应用于作为发送端的设备,包括:
字典表项生成单元,用于将新生成的字典表项记录至待确认字典表项列表中;
字典表项同步单元,用于通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项;
字典表项确定单元,用于从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中。
8.根据权利要求7所述的设备,其特征在于,所述字典表项确定单元将确定出的字典表项记录至本地数据字典中时,进一步将确定出的字典表项从所述待确认字典表项列表中删除;
该设备进一步包括:
数据处理单元,用于在发送数据时,检查所述待确认字典表项列表中存在包含所述数据的字典表项,则发送所述数据至接收端。
9.根据权利要求7所述的设备,其特征在于,所述字典表项确定单元通过以下模块从所述待确认字典表项列表中确定出已被接收端接收的字典表项,并将确定出的字典表项记录至本地数据字典中:
确定模块,用于从所述待确认字典表项列表中确定出已被接收端接收的字典表项;
通知模块,用于将确定模块确定出的已被接收端接收的字典表项的开始位置和结束位置通知给DRE模块;
DRE模块,用于接收到所述通知后,依据通知的字典表项的开始位置和结束位置从所述待确认字典表项列表中确定出对应的字典表项,并将确定出的字典表项记录至本地数据字典中。
10.根据权利要求9所述的设备,其特征在于,所述字典表项同步单元通过与接收端之间已有的数据传输连接发送所述待确认字典表项列表中的字典表项包括:
为所述待确认字典表项列表中的字典表项设置对应的序列号;
将所述待确认字典表项列表中的字典表项、以及对应的序列号通过与接收端之间已有的数据传输连接发送;
所述确定模块从待确认字典表项列表中确定出已被接收端接收的字典表项包括:
接收接收端通过所述数据传输连接发送的确认ACK报文,所述ACK报文中携带序列号;解析出所述ACK报文携带的序列号;根据所述待确认字典表项列表确定出已发送的字典表项中序列号连续的字典表项,所述序列号连续的字典表项包括所述解析出的序列号对应的字典表项;将所述序列号连续的字典表项中从第一个序列号至所述解析出的序列号对应的字典表项确定为已被接收端接收的字典表项;或者,
接收接收端通过所述数据传输连接发送的选择性确认SACK报文,所述SACK报文携带了接收端收到的字典表项的序列号;解析出所述SACK报文携带的序列号,确定出所述待确认字典表项列表中与解析出的序列号对应的字典表项为已被接收端接收的字典表项;或者,
针对所述待确认字典表项列表中已被发送给接收端的每一字典表项,检测该字典表项对应的定时器,在检测到定时器超时时,确认该字典表项已被接收端接收,所述每一字典表项对应的定时器由所述字典表项同步单元在发送该字典表项时设置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618721.3A CN105592135B (zh) | 2015-09-25 | 2015-09-25 | 数据冗余消除dre字典确认方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618721.3A CN105592135B (zh) | 2015-09-25 | 2015-09-25 | 数据冗余消除dre字典确认方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105592135A true CN105592135A (zh) | 2016-05-18 |
CN105592135B CN105592135B (zh) | 2019-05-24 |
Family
ID=55931341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510618721.3A Active CN105592135B (zh) | 2015-09-25 | 2015-09-25 | 数据冗余消除dre字典确认方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105592135B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072075A1 (zh) * | 2017-10-10 | 2019-04-18 | 中国移动通信有限公司研究院 | 信息传输方法、通信设备及存储介质 |
CN111464635A (zh) * | 2020-03-31 | 2020-07-28 | 新华三信息安全技术有限公司 | 一种字典索引传输方法及装置 |
CN111478938A (zh) * | 2020-02-29 | 2020-07-31 | 新华三信息安全技术有限公司 | 一种数据冗余消除方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895457A (zh) * | 2009-05-20 | 2010-11-24 | 灰熊(北京)科技有限公司 | 一种确保tcp通信过程中数据传输完整性的方法 |
CN102194499A (zh) * | 2010-03-15 | 2011-09-21 | 华为技术有限公司 | 一种压缩字典同步的方法和装置 |
CN104104608A (zh) * | 2013-04-15 | 2014-10-15 | 华为技术有限公司 | 接收报文的方法及装置 |
-
2015
- 2015-09-25 CN CN201510618721.3A patent/CN105592135B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895457A (zh) * | 2009-05-20 | 2010-11-24 | 灰熊(北京)科技有限公司 | 一种确保tcp通信过程中数据传输完整性的方法 |
CN102194499A (zh) * | 2010-03-15 | 2011-09-21 | 华为技术有限公司 | 一种压缩字典同步的方法和装置 |
CN104104608A (zh) * | 2013-04-15 | 2014-10-15 | 华为技术有限公司 | 接收报文的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019072075A1 (zh) * | 2017-10-10 | 2019-04-18 | 中国移动通信有限公司研究院 | 信息传输方法、通信设备及存储介质 |
CN111478938A (zh) * | 2020-02-29 | 2020-07-31 | 新华三信息安全技术有限公司 | 一种数据冗余消除方法及装置 |
CN111478938B (zh) * | 2020-02-29 | 2022-02-22 | 新华三信息安全技术有限公司 | 一种数据冗余消除方法及装置 |
CN111464635A (zh) * | 2020-03-31 | 2020-07-28 | 新华三信息安全技术有限公司 | 一种字典索引传输方法及装置 |
CN111464635B (zh) * | 2020-03-31 | 2022-02-22 | 新华三信息安全技术有限公司 | 一种字典索引传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105592135B (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100454920C (zh) | 扩展标题压缩 | |
CN109905205B (zh) | 数据发送、接收的方法及设备、数据传输方法及系统 | |
CN106506124B (zh) | 重传报文确定方法及装置 | |
CN103369593B (zh) | 一种压缩和解压缩以太网报文的方法及网元设备 | |
CN101552652A (zh) | 一种文件传输方法及传输装置 | |
CN101836390B (zh) | 用于数据处理的方法和设备及包括这种设备的通信系统 | |
CN103731758B (zh) | 一种视频流传输方法和装置 | |
CN105592135A (zh) | 数据冗余消除dre字典确认方法和设备 | |
CN103634203A (zh) | 消息异步传输方法、装置和系统 | |
US8243736B2 (en) | Packet capturing device | |
CN111464635B (zh) | 一种字典索引传输方法及装置 | |
CN105933453A (zh) | 一种传输数据的方法和系统 | |
CN111770055A (zh) | 一种应用于电能表的多协议通讯帧快速判别方法 | |
CN103209213A (zh) | 用于数据订阅的数据传输方法和系统 | |
JPH05191454A (ja) | データ転送方式 | |
CN102055568A (zh) | 反馈报文处理方法及装置 | |
CN106714294A (zh) | 应用于智能电网的多通道tcp/ip头压缩的同步方法 | |
CN114189565B (zh) | 一种头域还原系统、方法及相关设备 | |
KR960027648A (ko) | 장애 허용 망 구조 | |
JPS58225756A (ja) | 直列デ−タ通信装置 | |
CN113542129B (zh) | 一种使用信号链表单发的传输方法 | |
CN111130720B (zh) | 一种基于内存优化的重传机制 | |
JP2006295667A (ja) | リング型二重化ネットワークにおける受信方法及び装置 | |
JP2973936B2 (ja) | データ伝送方法 | |
JPH0548672A (ja) | フアイル伝送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |