用于压缩设备与解压缩设备探索及握手的系统和方法_4

文档序号:8945723阅读:来源:国知局
的数据片段,那么这样一个输入数据的一部分用原始令牌代表。在一些实施方式中,原始令牌包含输入数据的一部分的副本,原始令牌由原始令牌生成器模块436生成,并添加至代表输入数据的令牌流中。在一些实施方式中,压缩模块430进一步包含历史数据更新模块438,历史数据更新模块438将输入数据添加至压缩模块430可访问的历史数据中,并在存储器块表350和磁盘块表370至少之一中更新,存储器块表350和磁盘块表370中含有区块和/或为输入数据生成的磁盘签名。
[0047]第一阶段压缩模块432为令牌流生成至少一个令牌后,生成的令牌流可通过第二阶段压缩模块433进一步压缩令牌流。在一些实施方式中,第二阶段压缩模块433应用无损数据流压缩算法进行压缩,然后压缩的令牌流可用来代表压缩状态的输入数据。
[0048]图4B示出根据本发明的实施方式的示例解压缩模块450的框图。在一些实施方式中,解压缩模块450的功能类似于如图2所示的数据解压缩模块250的功能。解压缩模块450包含令牌流解压缩模块451、令牌处理模块452、签名生成器模块453以及历史数据更新模块454。令牌流解压缩模块451可从例如压缩模块430中接收压缩的令牌流,根据压缩模块430的第二阶段压缩模块433使用的压缩算法进行解压缩来恢复令牌流,恢复的令牌流进而由令牌处理模块452处理,令牌处理模块452可以从令牌流中识别一个或多个引用令牌和/或原始令牌,通过引用令牌,令牌处理模块452可从解压缩模块450可访问的历史数据中定位工作历史数据块(例如最近更新的块,或由作为引用令牌的一部分传输的块ID信息所识别的数据块),并基于位置信息以及引用令牌内包含的匹配数据大小信息,提取引用令牌所代表的历史数据的一部分。令牌处理模块452还可检索包含在原始令牌内的输入数据的一部分(提供给压缩模块430),基于令牌流,令牌处理模块452可重建与输入数据一致的数据流,然后重建的数据流通过签名生成器模块453,签名生成器模块453生成区块和/或重建数据流的磁盘签名。历史数据更新模块454可将重建的数据流添加至解压缩模块450可访问的历史数据中,这样,重建的数据流与解压缩模块450可访问的历史数据匹配并在存储器块表350和磁盘块表370至少之一中更新,存储器块表350和磁盘块表370中含有区块和/或为重建数据流生成的磁盘签名。
[0049]图5A示出根据本发明的【具体实施方式】,与用于传输和/或接收压缩数据的设备探索、确认及握手的示例方法500的流程图。压缩数据可包含由例如图4A中的压缩模块430生成的原始令牌和引用令牌。在一些实施方式中,方法500可通过例如在电子设备(例如图1中的计算机系统110)上运行的图2中的探索握手模块209实现。虽然流程图披露以下特定顺序的步骤,应当注意的是,为与本发明的公开一致,至少某些步骤可做适应性移动、修改或删除。并且,以下步骤通过电子设备实现,应当注意的是,这些步骤通过多个电子设备实现。
[0050]在步骤502中,电子设备(例如,数据压缩设备)探索到一个潜在接收设备(例如,数据解压缩设备),在启动原始令牌及引用令牌的传输之前,确认该潜在接收设备可接收并处理将由该电子设备传输的原始令牌及引用令牌。在启动传输之前先确认潜在接收设备的原因有很多,例如,原始令牌及引用令牌的生成可占据宝贵的计算资源(分配给用于存储未压缩原始数据的新数据块的存储器和磁盘空间),并且原始令牌及引用令牌的传输也占据宝贵的网络资源,因此在调配生成和传输令牌的资源之前,确认接收设备可接收并处理原始令牌及引用令牌(例如,如果该接收设备包含图4B中的解压缩模块450)是值得的。
[0051]步骤502可包含多个分步骤,参考图5B,图5B示出示例性方法503,示例性方法503可为图5A中的步骤502的一部分。首先,在步骤505中,压缩设备550 (例如,探索握手模块290在其上运行的一个电子设备)传输用于启动令牌(原始令牌和/或引用令牌)传输的第一消息至解压缩设备560 (例如,探索握手模块290在其上运行的另一电子设备)。在一些实施方式中,该第一消息包含第一指示符,该第一指示符设置成指示压缩设备将要传输令牌,该第一指示符还可能传递与令牌的传输和生成相关的其他信息。举例来说,压缩设备550可能不包括图4A中的第二阶段压缩模块433,当压缩设备传输引用令牌时,第一指示符则可能指示引用令牌是否已经被第二阶段压缩模块433通过例如无损数据流压缩算法进一步压缩,如果第一指示符指示压缩设备没有使用第二阶段压缩模块433来进一步压缩引用令牌,在处理接收到的引用令牌时,解压缩设备560则可决定绕过令牌流解压缩模块451,或至少通知模块451不必根据无损数据流压缩算法解压接收到的令牌。
[0052]响应于接收第一指示符,在步骤506中,解压缩设备560可判定其可接收并处理由压缩设备传输的令牌,这一判定可基于各种因素做出,举例来说,解压缩设备560的解压缩模块450的部分丧失能力而不能处理来自在压缩设备上运行的压缩模块430的令牌。解压缩设备还可能判定,例如,其是否具有足够的存储器和/或磁盘空间来分配新数据块以存储包含在原始令牌中的未压缩数据,和/或其是否具有足够的计算能力来处理令牌。在解压缩设备判定其可处理令牌,在步骤507中,解压缩设备则传输包含第二指示符的第二消息,该第二指示符设置成指示解压缩设备能处理由压缩设备传输的令牌。
[0053]在一些实施方式中,分别包含在第一及第二消息中的一个或多个数字可代表第一及第二指示符,不同的数字用以代表不同信息(例如,压缩设备表示其试图启动令牌传输,或解压缩设备表示其可处理令牌,等),信息接收者则可基于接收到的指示符的值判定它们的含义。在一些实施方式中,指示符之间的映射关系以及它们所体现的信息仅为一组设备(例如,具有图4A中的压缩模块430和/或图4B中的解压缩模块450的设备)所知,这样安排可幫助降低,例如,仿作解压缩设备的冒充设备拦截第一消息并回复第二消息来误导压缩设备传输令牌的可能性。虽然此处讨论了数字,应当理解为,第一及第二指示符可以为数字、符号和/或字母的任何组合。
[0054]压缩设备接收第二消息后,在步骤508中,确认解压缩设备可处理令牌,并判定压缩设备将传输令牌至解压缩设备。压缩设备可基于第二消息是否包含暗示解压缩设备可接收并处理令牌的第二识别码来做出确认,在传输作为原始令牌的数据之前,压缩设备还可判定是否具有足够的存储器和/或磁盘空间来分配给新数据块以存储作为新历史数据的一部分的未压缩数据的。然后,在步骤509中,压缩设备还可传输第三消息至解压缩设备以告知从解压缩设备中接收到了第二消息并表明最终选择的压缩方法(例如,是否使用第二阶段压缩模块433来进一步压缩令牌),接收到第三消息和/或令牌后,解压缩可分配资源来处理令牌(图5B中未示出)。
[0055]在一些实施方式中,令牌的传输和接收可在传输控制协议/互联网协议(TCP/IP)下进行,第一消息可为SYN包,第二消息可为SYN+ACK包,第三消息可为设置成确认探索及握手的第一数据包,在解压缩设备分配资源来处理令牌之前,进行三向TCP握手。在一些实施方式中,这些包中的每一个包含一个互联网协议版本4 (IPv4)或一个互联网协议版本6 (IPv6)报头以及一个TCP报头。IPv4报头的定义在例如1981年9月由互联网工程任务组(IETF)发行的请求注解(RFC)791中有描述,相关内容以引入方式并入于此。TCP报头的定义在例如1981年9月由互联网工程任务组(IETF)发行的请求注解(RFC) 793中有描述,相关内容以引入方式并入于此。
[0056]参考图6A以及图6B,图6A以及图6B示出根据本发明的【具体实施方式】,用于传输压缩数据的示例性IPv4报头600以及示例性TCP报头650的框图。如图6A所示,IPv4报头600包含版本域601、互联网报头长度(IHL)域602、服务类型(TOS)域603、包长度域604、识别域605、标志域606、片段偏差域607、存活时间(TTL)域608、协议域609、检查总和域610、源IP地址域611以及终点IP地址域612。进一步,如图6B所示,TCP报头650包含源端口域651、终点端口域652、序列号域653、确认号域654、数据偏差域655、标志域656、窗口域657、检查总和域658以及紧急指针域659。窗口域657可用来存储指示接收设备在TCP传输中可接收的数据量的数字,通常或设定在一个相对较大的数字以避免影响接收设备在接收数据中的处理量。在一些实施方式中,存储于窗口域657中的数字可以为质数或奇数。在一些实施方式中,存储于窗口域
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1