使用对等节点图的基于流的数据去重复制造技术

技术编号:12345104 阅读:110 留言:0更新日期:2015-11-18 18:01
基于流的数据去重复在多租户共享基础设施中被提供,但是不需要具有同步的数据字典的“配对”端点。由去重复功能处理的数据对象被看作可以按需取回的对象。因此,解码对等体无需保持源的对称库。而是,如果对等体在高速缓存中没有它需要的块,则它遵循传统的内容分发网络过程来取回它们。这样,如果多对发送对等体和接收对等体之间的字典失去同步,则相关部分随后被按需重新同步。该方法不需要在特定对的发送者和接收对等体处保持的库是相同的。而是,该技术使得对等体实际上能够在过程进行中“回填”其字典。提供线上压缩技术以减少在对等体之间传输的数据量。

【技术实现步骤摘要】
【国外来华专利技术】
本申请一般涉及在网络上的数据通信。
技术介绍
分布式计算机系统在本领域是众所周知的。一个这种分布式计算机系统是通常由服务提供者操作和管理的“内容分发网络”或者说“CDN”。服务提供者通常代表使用服务提供者的共享基础设施的第三方(用户)来提供内容分发服务。该类型的分布式系统有时被称作“覆盖网络”,并且通常指的是一群通过一个或多个网络链接的自治计算机,连同设计为便于诸如内容分发、应用加速或者对外包源站点基础设施的其他支持之类的各种服务的软件、系统、协议和技术。⑶N服务提供者通常通过设置在用户门户中并且随后被部署到网络的数字资产(诸如网站)来提供服务分发。数据区分是用来在服务器和客户端之间利用资源的共享先前实例(在压缩术语中也被称为共享字典内的数据版本)的已知技术和方法;该处理通过仅发送自那一个或多个先前实例起已经发生的差异或者变化来工作。数据区分与压缩有关,但却是略微不同的概念。具体而言,直观上,差异(“diff”)是一种形式的压缩。只要接收者具有与发送者相同的原始文件,那个发送者就可以给予接收者diff而非整个新文件。Diff实际上解释了如何从旧文件创建新文件。差异通常比整个新文件小得多,因而是一种形式的压缩。文档的第一版和该同一文档的第二版之间的diff是数据差异;数据差异是使用文档的第一版作为预设字典来压缩文档的第二版的结果。基于流的数据去重复(“dedupe”)系统在本领域也是已知的。一般而言,基于流的数据去重复系统通过检查流经连接的发送对等体的数据并且用指向每一个对等体已经围绕给定块进行了同步的共享字典的引用来替换该数据的块而工作。引用本身比数据小得多,并且经常是其散列或者指纹。当接收对等体接收到修改后的流时,其用原始数据来替换引用以使流重新变得完整。例如,考虑其中指纹是用单个字母变量表示的唯一散列的系统。发送对等体的字典然后可能看起来像图3中所示一样。接收对等体的字典可能看起来像图4中所示一样。然后,例如,如果发送对等体假设要发送诸如“Hello,how are you?Akamai is Awesome ! ”之类的字符串,则去重复系统将代替地处理该数据并且发送以下消息:“Here you ? ome !”。接收对等体使用其字典来解码该消息。注意到,在该示例中,发送对等体未用引用来替换“ome ! ”。这是因为,尽管发送对等体将指纹和块存储在其高速缓存中,但是那个发送对等体(通过一种机制)知道接收对等体没有将指纹和块存储在其高速缓存中。因此,发送对等体在发送消息之前未在消息中插入该引用。这种类型的系统通常以若干已知方法中的一种来填充对称的字典。在一种方法中,在数据流流经数据处理器时以固定长度块(例如,每一个块在长度上是15个字符)填充字典数据。数据首次通过发送对等体和接收对等体两者时,并且假定它们两者都以相同方式构造字典,则两个对等体最后具有包含相同条目的字典。然而该方法不是最佳的,因为其经受称为“移位”问题的问题,该问题会不利地影响所生成的指纹并且破坏整个方案。替代方法利用使用以滚动方式计算的散列的可变长度块。在基于称为Rabin指纹计算的技术的公知解决方案中,系统在指纹计算过程期间跨数据流滑动具有特定尺寸(例如,48字节)的窗口。该技术的一种实现方式在Muthitacharoen等人的题为“ALow-Bandwidth Network File System^(LBFS)的论文中进行了描述,并且该结果实现了可变尺寸的抗移位块。提供基于流的数据去重复产品和服务的当前供应商通过配对设备解决了字典发现(知道什么信息在对等体的字典中)的问题。因此,例如,设备/盒供应商依赖于一对设备或每一端上的进程来相互通信以保持让每一侧知道在配对的对等体中存在什么引用的表格。然而,这种类型的解决方案仅在处理代表“路径内”的对的个体盒和单元时起作用。然而,路径内配对解决方案在节点的分布更类似树的诸如CDN之类的覆盖网络的情况下是不实用的。因此,例如,在代表性实现方式中,并且关于特定源服务器(或者,更一般而言,位于“根”处的“租户”),该覆盖可以具有更接近根的父层服务器,以及更接近叶节点的客户端边缘服务器。换言之,代替需要知道一个或多个对等体盒的一个小集合的盒(诸如在已知的盒供应商解决方案中),父层服务器可能需要与各自潜在包含许多服务器的数十、数百乃至数千个边缘区域接触。在这种情况下,每个机器的表格无法进行扩展。因此,在覆盖网络的情况下仍然需要提供用于数据去重复的增强技术。
技术实现思路
因特网基础设施分发平台(例如,由服务提供者运营的)提供覆盖网络(“多租户共享基础设施”)。特定租户具有相关联的源。靠近租户源的一个或多个覆盖网络服务器配备有提供数据去重复的去重复引擎。这些服务器是该源的去重复父高速缓存,因为它们接收来自通常是位于最终用户接入网附近的边缘服务器的覆盖网络子高速缓存的请求。边缘服务器也包括去重复引擎。当对源内容的请求从覆盖网络边缘服务器到达时,该请求被路由通过该源的去重复父高速缓存。父高速缓存(可能从源)取回内容,并随后执行传统的去重复操作。具体而言,父高速缓存首先在其“库”(或者说“字典”)中查找该源,并且看看其能否通过用已经被指派用于父高速缓存已经见到的字节块的名称替换那些块来压缩对象。该操作以已知方式“压缩”对象。父高速缓存然后将经压缩的对象发送到覆盖网络边缘服务器,在那里经压缩的对象被边缘服务器去重复引擎处理。然而,在该分发环外面,去重复父高速缓存也处理对象以存储新见到的字节块,并且将新块输入到其保持的库(或者“字典”)中。当在覆盖网络边缘服务器处接收到压缩流时,边缘服务器通过寻找曾被名称(或者“指纹”)替换的块并且随后使用指纹作为其自己的字典的键取回原始块来处理压缩流。如果边缘服务器在高速缓存中没有其需要的块,则其遵循传统的CDN方法来取回它们(例如,通过高速缓存层次等),最终在必要时从去重复父高速缓存取回它们。因此,如果多对发送对等体和接收对等体之间的字典失去同步,则相关部分随后被按需重新同步。该方法不需要(或者需要保证)在特定对的发送者和接收对等体处保持的库是相同的(即,同步的)。而是,该技术使得对等体实际上能够与实际业务相关联地在进行过程中“回填”其字典。该方法是高度可扩展的,并且其对于任何类型的内容并且在任何类型的网络上起作用。通过在连接的每一侧上保持唯一形式的数据结构来提供一对去重复引擎之间的附加线上(on-the-wire)压缩。优选地,数据结构是“有向有环图”(DCG),其中给定DCG表示对等体在数据流中已经见到的数据块之间(和之中)的时间和有序关系。具体而言,DCG包括一个或多个节点(其中的每一个表示数据块)、表示指纹或者作为指纹的标签,以及表示对等体在数据流中已经见到的关于该块的转变的边缘(例如,箭头)。节点具有一组允许的状态转变。例如,有且只有一个(I) “出”(离开节点的箭头)的节点是中间节点,并且各自具有度数I的“出”并且连通在一起的一段节点被称作串。串记录定义了构成串的具体节点(及其指纹)。当穿过对等体的内容具有不改变的大字符串的数据(例如,在文件报头中)时,在由此得到的包括串的DCG中很可能将有大量节点。因此,协作的去重复引擎之间的串记录本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105074688.html" title="使用对等节点图的基于流的数据去重复原文来自X技术">使用对等节点图的基于流的数据去重复</a>

【技术保护点】
一种在包括发送对等体和接收对等体的覆盖网络中操作的方法,其中所述发送对等体和接收对等体通过检查流经所述发送对等体和接收对等体的数据并且用指向与所述对等体中的每一个相关联的数据字典的引用替换所述数据的块来提供基于流的数据去重复,该方法包括:保持与所述发送对等体相关联的有向有环图;保持与所述接收对等体相关联的有向有环图;其中,每一个有向有环图表示相应对等体在数据流中已经见到的数据块之间的时间和有序关系,所述有向有环图被用信息注释,相应对等体可以根据该信息生成关于经受所述基于流的数据去重复的数据块的预测;响应于在所述接收对等体处接收到对页面的请求,所述接收对等体在所述页面的基于流的数据去重复期间生成提示请求,该提示请求预测预计所述发送对等体将利用什么数据块;当在所述发送对等体处接收到所述提示请求时,所述发送对等体生成提示响应,该提示响应预测什么数据块预计将构成所述页面;以及将所述提示响应返回所述接收对等体以帮助实现在所述页面的基于流的数据去重复期间在所述接收对等体处的预热操作;其中,所述提示请求和所述提示响应是在硬件元件中运行的软件中生成的。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:F·T·雷顿A·F·坎佩恩C·E·盖罗G·坡佳尼
申请(专利权)人:阿卡麦科技公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1