一种基于SDN的网内重复数据删除方法及系统技术方案

技术编号:14420984 阅读:148 留言:0更新日期:2017-01-12 23:19
本发明专利技术公开了一种基于SDN的网内重复数据删除方法及系统,属于计算机网络和存储技术领域。本发明专利技术充分利用SDN控制转发分离、可扩展性、可编程等优点,以及重复数据删除技术在减少存储成本、网络开销方面的优势,实现了在网络内部的冗余消除服务,不仅可以减少目的端的存储开销,同时可以极大的减轻网络链路负载,减小用户的响应时间,为实现流量工程目标提供了更大的灵活性,是源端去重和目的端去重的折衷。SDN控制器通过openflow协议和底层的openflow交换机进行通信,控制数据转发;保存网络中传输的文件指纹信息,从而控制数据的去重。为了充分利用局部性原理,减小SDN控制器和交换机之间的通信开销,利用交换机上缓存的文件信息进行初步的冗余消除。

【技术实现步骤摘要】

本专利技术属于计算机网络和存储
,更具体地,涉及一种基于SDN的网内重复数据删除方法及系统
技术介绍
随着信息化时代数据的爆炸式增长,大量重复数据会出现在信息的处理、通信和存储中,并可能通过互联网链路传输。特别是在使用云备份和云共享服务的过程中,会上传大量的重复数据,影响用户体验,增加网络负载,降低存储系统的存储效率等,所以就需要采用重复数据删除技术。数据去重技术是一种无损的数据压缩技术,作为一种有效的技术被广泛接受,用来降低数据的传输和存储开销。根据重复数据的删除地点可以分为源端去重(SourceDeduplication)和目的端去重(DestinationDeduplication)。源端去重是指数据在开始传送之前,在数据的发送端先查询服务器端判断数据是否重复,重复数据不参与传输和存储,这种方式适合于低带宽网络环境下的系统。而目的端去重则是在数据的接收端和存储端进行重复数据查找和删除的操作,因此需要把全部的数据传输到服务器端,数据去重所引入的开销也全部集中在目的端。软件定义网络(SoftwareDefinedNetwork,以下简称SDN)技术的出现,增加了对于整个网络控制和管理的灵活性。图1所示为现有技术的SDN基本架构图,其中Switch是支持openflow协议的交换机,通过openflow协议与SDN控制器进行通信,从而在交换机中安装流表,客户端和服务器端的通信数据包就是根据流表中的规则进行转发,SDN控制器上面构建的各种应用程序可以进行网络的管理。而且SDN控制器具有网络拓扑结构和内容感知的智能,这就使得其可以在网内进行重复数据的删除。现有的重复数据删除方法存在以下问题,虽然源端去重也是通过查询服务器来决定是否传输整个文件,但是这种方法的传输时延很大,要经过很多的广域网。而目的端去重却是将整个文件传输到服务器端,然后进行重复检测,显然这种方法大大的消耗了网络带宽资源。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供一种基于SDN的网内重复数据删除方法及系统,其目的在于消除网络传输中出现的大量重复文件,减轻网络链路负载,提高网络性能,提高用户响应时间,具有良好的可扩展性和灵活性。为实现上述目的,按照本专利技术的一个方面,提供一种基于SDN的网内重复数据删除方法,包括以下步骤:步骤1客户端构造第一个UDP数据包与服务器通信,所述UDP数据包中包含待上传文件的指纹、文件名、文件大小、目的IP以及是否重删标志,然后等待接收控制命令,决定是否继续上传整个待上传文件内容;步骤2openflow交换机在收到所述UDP数据包时进行流表匹配,如果匹配失败,则通过openflow协议的Packet-In消息上传至SDN控制器,然后执行步骤4,否则执行步骤3;步骤3在openflow交换机缓存中进行所述待上传文件的指纹信息匹配,查找文件是否存在,如果文件存在则执行步骤5,否则将所述UDP数据包通过Packet-In消息发送给所述SDN控制器中进行全局的文件去重,然后执行步骤4;步骤4所述SDN控制器根据所述openflow交换机发送来的Packet-In消息,判断其发送原因,如果是因为流表匹配失败,则通过流表更新消息将转发策略下发到所述openflow交换机;如果是因为流表匹配成功而文件缓存不命中,则查找所述SDN控制器中维护的全局文件信息,通过文件指纹查找文件是否存在,是则发送终止传输命令至所述客户端,否则发送继续传输命令至所述客户端;步骤5在所述openflow交换机文件缓存中命中或者在所述SDN控制器全局文件中查找到文件存在,则仅将该文件的第一个UDP数据包发送到服务器,并且响应所述客户端停止传输的控制命令,否则发送给所述客户端继续传输的控制命令;步骤6服务器对收到的UDP数据包进行解析,构建出完整的文件并存储。按照本专利技术的另一方面,还提供一种基于SDN的网内重复数据删除系统,包括:文件上传模块、SDN控制器、openflow交换机以及文件存储管理模块,其中:所述文件上传模块,用于客户端在进行文件上传时,计算文件的指纹,构造相应的UDP数据包进行发送,其中文件的第一个UDP数据包包含该文件的指纹、文件大小、文件名、块ID、目的IP、是否重复标志;所述SDN控制器包括:路由模块,用于根据网络的拓扑信息计算路由,将转发策略下发给底层的交换机;以及重复文件查找模块,用于在所述SDN控制器中进行全局的文件查找,对于文件传输服务,在openflow交换机的文件缓存不命中的情况下,会通过Packet-In消息通知所述SDN控制器做进一步的重复检测,如果存在,则通知客户端停止文件上传,只需要将第一个UDP数据包发送给目的端服务器,否则更新所述SDN控制器中维护的全局文件缩略信息;所述openflow交换机包括:流表匹配模块,用于控制软件定义网络中交换机数据的转发,到达交换机的数据包首先会经过openflow流表的匹配处理,根据流表中的动作执行相应的操作,如果流表匹配失败会通过openflowPacket-In消息通知所述SDN控制器;以及文件缓存模块,用于openflow交换机中对重复文件的删除,每次传输文件时,会先在openflow交换机文件缓存中进行重复文件的查找,如果存在,则无需传输后续的文件内容,否则就需要询问所述SDN控制器做进一步的判断;所述文件存储管理模块,用于接收并存储上传的文件,用文件的指纹作为所述文件的索引,存储文件,并保证文件的完整性。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:1、SDN的技术和理念使得可以通过编程,使网络成为应用感知的。本专利技术充分利用了SDN的集中控制、可编程性等优势,使网络感知冗余,在网络中判断文件是否重复,减少不必要的传输开销,易于调控和部署;2、在同一个局域网中,文件重复的可能性很大,交换机中的文件缓存利用局部性原理,能极大的加快文件是否重复的判断,减少和SDN控制器的通信开销;3、本专利技术相当于源端去重和目的端去重的折衷,与源端去重相比可以减小客户端的响应时间,而且更容易实现全局去重;与目的端去重相比,可以减少网络的开销。附图说明图1为现有技术的SDN基本架构图;图2为本专利技术基于SDN的网内重复数据删除方法的流程图;图3为本专利技术客户端文件上传流程图;图4为本专利技术交换机文件缓存匹配处理过程的细化流程图;图5为本专利技术SDN控制器处理流程图;图6为本专利技术服务器端文件接收流程图;图7为本专利技术基于SDN的网内重复数据删除系统的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术利用SDN的可编程、灵活、可扩展等优点,在网络中对重复的文件进行删除,改善网络性能,提高客户端的响应时间,减少服务器的存储开销。图2所示为本专利技术基于SDN的网内重复数据删除方法的流程图,包括以下步骤:步骤1客户端构造第一个用户数据报协议(UserDatagramProtocol,以下简称UDP)数据包与服务器通信,该本文档来自技高网
...
一种基于SDN的网内重复数据删除方法及系统

【技术保护点】
一种基于软件定义网络的网内重复数据删除方法,其特征在于,包括:步骤1客户端构造第一个UDP数据包与服务器通信,所述UDP数据包中包含待上传文件的指纹、文件名、文件大小、目的IP以及是否重删标志,然后等待接收控制命令,决定是否继续上传整个待上传文件内容;步骤2openflow交换机在收到所述UDP数据包时进行流表匹配,如果匹配失败,则通过openflow协议的Packet‑In消息上传至SDN控制器,然后执行步骤4,否则执行步骤3;步骤3在openflow交换机缓存中进行所述待上传文件的指纹信息匹配,查找文件是否存在,如果文件存在则执行步骤5,否则将所述UDP数据包通过Packet‑In消息发送给所述SDN控制器中进行全局的文件去重,然后执行步骤4;步骤4所述SDN控制器根据所述openflow交换机发送来的Packet‑In消息,判断其发送原因,如果是因为流表匹配失败,则通过流表更新消息将转发策略下发到所述openflow交换机;如果是因为流表匹配成功而文件缓存不命中,则查找所述SDN控制器中维护的全局文件信息,通过文件指纹查找文件是否存在,是则发送终止传输命令至所述客户端,否则发送继续传输命令至所述客户端;步骤5在所述openflow交换机文件缓存中命中或者在所述SDN控制器全局文件中查找到文件存在,则仅将该文件的第一个UDP数据包发送到服务器,并且响应所述客户端停止传输的控制命令,否则发送给所述客户端继续传输的控制命令;步骤6服务器对收到的UDP数据包进行解析,构建出完整的文件并存储。...

【技术特征摘要】
1.一种基于软件定义网络的网内重复数据删除方法,其特征在于,包括:步骤1客户端构造第一个UDP数据包与服务器通信,所述UDP数据包中包含待上传文件的指纹、文件名、文件大小、目的IP以及是否重删标志,然后等待接收控制命令,决定是否继续上传整个待上传文件内容;步骤2openflow交换机在收到所述UDP数据包时进行流表匹配,如果匹配失败,则通过openflow协议的Packet-In消息上传至SDN控制器,然后执行步骤4,否则执行步骤3;步骤3在openflow交换机缓存中进行所述待上传文件的指纹信息匹配,查找文件是否存在,如果文件存在则执行步骤5,否则将所述UDP数据包通过Packet-In消息发送给所述SDN控制器中进行全局的文件去重,然后执行步骤4;步骤4所述SDN控制器根据所述openflow交换机发送来的Packet-In消息,判断其发送原因,如果是因为流表匹配失败,则通过流表更新消息将转发策略下发到所述openflow交换机;如果是因为流表匹配成功而文件缓存不命中,则查找所述SDN控制器中维护的全局文件信息,通过文件指纹查找文件是否存在,是则发送终止传输命令至所述客户端,否则发送继续传输命令至所述客户端;步骤5在所述openflow交换机文件缓存中命中或者在所述SDN控制器全局文件中查找到文件存在,则仅将该文件的第一个UDP数据包发送到服务器,并且响应所述客户端停止传输的控制命令,否则发送给所述客户端继续传输的控制命令;步骤6服务器对收到的UDP数据包进行解析,构建出完整的文件并存储。2.如权利要求1所述的方法,其特征在于,所述步骤1包括以下子步骤:(1-1)所述客户端在进行文件上传时,利用消息摘要算法计算待上传文件的指纹;(1-2)所述客户端构造并发送所述第一个UDP数据包,然后等待接收来自所述openflow交换机或者所述SDN控制器发来的控制命令,根据所述控制命令可以得知所述待上传文件是否重复,是则执行步骤(1-3),否则执行步骤(1-4);(1-3)所述待上传文件的元数据已经通过所述第一个UDP数据包传送给服务器,后续文件数据块无需传输,文件传输完成;(1-4)所述客户端传输整个所述待上传文件内容到目的服务器,文件传输完成。3.如权利要求1所述的方法,其特征在于,所述步骤2包括以下子步骤:(2-1)所述openflow交换机在收到所述UDP数据包后,从中解析出源端口、目的端口、源IP地址、目的IP地址、协议类型,交换机进出端口信息;(2-2)进行openflow流表的匹配,如果流表匹配成功,则执行所述步骤3,否则发送Packet-In消息到所述SDN控制器,设置发生所述Packet-In消息的原因是流表匹配失败,执行所述步骤4;(2-3)所述openflow交换机在收到来自所述SDN控制的流表更新消息后,更新流表。4.如权利要求1-3中任一项所述的方法,其特征在于,所述步骤3包括以下子步骤:(3-1)从UDP数据包中解析出源端口、目的端口、源IP地址、目的IP地址、协议类型,判断是否是文件传输服务,是则执行步骤(3-2),否
\t则执行步骤(3-8);(3-2)判断该UDP数据包是否是文件传输的第一个UDP数据包,如果是则执行步骤(3-3),否则执行步骤(3-8);(3-3)从该文件传输的第一个UDP数据包中解析出文件指纹和目的IP,在所述openflow交换机的本地文件缓存中查找该文件是否已经存在,如果存在则执行步骤(3-5),否则执行步骤(3-4);(3-4)将该文件传输的第一个UDP数据包构造成一个openflowPacket-In消息告知所述SDN控制器,并且设置发生Packet-In消息的原因是文件缓存未命中,同时所述openflow交换机将该文件信息更新到本地文件缓存中;(3-5)判断该文件是否重复,在所述openflow交换机缓存中命中或者在所述SDN控制器中查找成功表示文件重复,则执行步骤(3-6),否则文件需要传输到目的服务器,执行步骤(3-7);(3-6)发送停止传输的控制命令到所述客户端,将该文件传输的第一个UDP数据包的输入端口作为输出端口,只将该文件传输的第一个UDP数据包发给目的主机,执行步骤(3-10);(3-7)发送继续传输的控制命令到所述客户端,将该文件传输的第一个UDP数据包的输入端口作为输出端口,执行步骤(3-10);(3-8)判断所述openflow交换机流表匹配是否成功,则执行步骤(3-9),否则发送packet-in消息到所述SDN控制器,等待流表更新消息;(3-9)根据所述openflow交换机流表项的动作字段,解析出数据包的输出端口号;(3-10)根据所述输出端口号,将UDP数据包从该端口转发。5.如权利要求4所述的方法,其特征在于,所述步骤(3-4)包括以下子步骤:(3-4-1)如果正在传输的文件在所述openflow交换机的本地文件缓
\t存中没有命中,则会把该文件传输的第一个UDP数据包的前128字节包装在openflowPacket-In消息中,设置其中的reason字段为文件缓存未命中;(3-4-2)从该文件传输的第一...

【专利技术属性】
技术研发人员:华宇冯周冯丹吴林谦彭斌刘进军左鹏飞孙园园
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1