【技术实现步骤摘要】
本专利技术属于计算机网络和存储
,更具体地,涉及一种基于SDN的网内重复数据删除方法及系统。
技术介绍
随着信息化时代数据的爆炸式增长,大量重复数据会出现在信息的处理、通信和存储中,并可能通过互联网链路传输。特别是在使用云备份和云共享服务的过程中,会上传大量的重复数据,影响用户体验,增加网络负载,降低存储系统的存储效率等,所以就需要采用重复数据删除技术。数据去重技术是一种无损的数据压缩技术,作为一种有效的技术被广泛接受,用来降低数据的传输和存储开销。根据重复数据的删除地点可以分为源端去重(SourceDeduplication)和目的端去重(DestinationDeduplication)。源端去重是指数据在开始传送之前,在数据的发送端先查询服务器端判断数据是否重复,重复数据不参与传输和存储,这种方式适合于低带宽网络环境下的系统。而目的端去重则是在数据的接收端和存储端进行重复数据查找和删除的操作,因此需要把全部的数据传输到服务器端,数据去重所引入的开销也全部集中在目的端。软件定义网络(SoftwareDefinedNetwork,以下简称SDN)技术的出现,增加了对于整个网络控制和管理的灵活性。图1所示为现有技术的SDN基本架构图,其中Switch是支持openflow协议的交换机,通过openflow协议与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控制器中维护的全局文件信息,通过文件指纹查找文件是否存在,是则发送终止传输命令至所述客户端,否则发送继 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。