当前位置: 首页 > 专利查询>南京大学专利>正文

基于冗余技术的数据中心短流加速方法及系统技术方案

技术编号:11675744 阅读:101 留言:0更新日期:2015-07-06 01:58
本发明专利技术公开了基于冗余技术的数据中心短流加速方法和系统,方法包括周期性运行冗余流数量分配模块的步骤,和为应用程序短流分配冗余流数量,并通过路径碰撞避免方法获得路径不重叠的源端口号集合来创建原始流和对应数量的冗余流的步骤;系统包括负责选择冗余流数量的冗余流数量分配模块、负责避免原始流和冗余流之间发生路径重叠的路径碰撞避免模块、数据库,和用于向应用程序提供建立TCP流的调用接口,并根据冗余流数目调用路径碰撞避免模块获得路径不重叠的源端口号集合来创建原始流和对应数量冗余流的主模块。避免了原始流及冗余流之间发生路径重叠;并对不同大小的短流分配不同数量的冗余流,等价路径利用合理,更为高效、易部署、负载低。

【技术实现步骤摘要】
基于冗余技术的数据中心短流加速方法及系统
本专利技术涉及一种数据中心的短流加速方法和系统,具体涉及一种基于冗余技术的数据中心短流加速方法和系统。
技术介绍
在数据中心中,实时应用的任务大多由短流构成,这些短流完成的快慢对用户的体验有重要的影响。使用冗余技术降低短流完成时间是一种很有潜力的方法,具体方法是为每一条短流(原始流)创建一条携带相同内容的流(冗余流),应用程序使用最先完成的流的结果。在理想的情况下,这种技术可以利用数据中心的等价路径加速短流的完成。然而,由于数据中心中等价多路径协议的使用,冗余流和原始流很有可能被路由到同一条路径,这导致冗余技术加速短流的作用十分有限。另外,为每一条短流之创建一条冗余流不能有效利用数据中心中的多条等价路径。现有技术中存在的冗余流与原始流的路径碰撞以及等价路径不能充分利用等问题,带来了较大的性能损失,这些问题亟待解决。
技术实现思路
专利技术目的:为了解决现有的数据中心短流加速方法的不足,提供一种基于冗余技术的数据中心短流加速方法,同时提供一种基于冗余技术的数据中心短流加速系统。技术方案:为解决上述技术问题,本专利技术提供的基于冗余技术的数据中心短流加速方法,包括如下步骤:周期性运行冗余流数量分配模块的步骤,包括:周期性地根据历史数据确定不同大小的短流创建冗余流的数量,并将结果存储在数据库的冗余流数量表中;为应用程序的短流分配冗余流数量,并通过路径碰撞避免方法获得路径不重叠的源端口号集合来创建原始流和对应数量的冗余流的步骤,包括:1)应用程序调用主模块提供的接口创建TCP连接时,主模块判断该TCP流的源IP地址和目的IP地址是否在同一Top-of-Rack交换机上,如是则结束,如否则进入步骤2);2)判断该TCP流的大小L是否大于短流长度阈值S,如是则结束,如否则进入步骤3);3)根据TCP流的大小L查询数据库中的冗余流数量表repNum确定要创建的冗余流的数目repNumL;4)调用路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号;5)将获得的1+repNumL个源端口号分别作为1条原始流和repNumL个冗余流的源端口号,调用TCP套接字创建1+repNumL条TCP连接。优选的,所述通过路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号的步骤包括:根据至少包括TCP流的源IP地址、目的IP地址、目的端口号和要创建的复制流的数目k=1+repNumL的输入参数来查询源端口号对应表,当源端口号对应表中存储有该输入参数对应的记录时,直接查表获得路径不重叠的1+repNumL个端口号作为原始流和冗余流的源端口号;以及当源端口号对应表中没有该输入参数对应的记录时,迭代式地通过路径侦测模块获得路径不重叠的1+repNumL个端口号作为原始流和冗余流的源端口号,并将这1+repNumL个端口号及其对应的输入参数作为一条记录存储在数据库的源端口号对应表中。具体为:41)输入参数包括TCP流的源IP地址、目的IP地址、目的端口号和要创建的复制流的数目k=1+repNumL,所述复制流包括1条原始流和repNumL条冗余流,初始化源端口号集合srcPorts及其对应的路径集合Addr为空集;42)以步骤41)输入参数中的源IP地址、目的IP地址和目的端口号为主键,判断是否能够在数据库中的表IP_srcPorts中查询到相应的记录,如是,则将查询到的结果存储在源端口号集合srcPorts中,进入步骤48),如否,则进入步骤43);43)选择最小的可用端口号port作为原始流的源端口号,同时使port自减1;44)判断k是否为0,如是则进入步骤47),如否则进入步骤45);45)port以步长为1递增,通过路径侦测模块获得递增后的端口号port对应的路径addr,判断该路径addr是否属于路径集合Addr,如是则重复步骤45),如否,则进入步骤46);46)将当前的port及其对应的addr分别加入源端口号集合srcPorts和路径集合Addr中去,k=k-1,进入步骤44);47)将输入参数及其对应的源端口号集合srcPorts作为一条记录存储到数据库中的源端口号对应表IP_srcPorts中;48)输出路径不重叠的包括原始流和冗余流在内的源端口号集合srcPorts,结束。优选的,所述通过路径侦测模块获得端口号对应的路径的步骤包括:根据至少包括源IP地址、目的IP地址、端口号port、目的端口号的输入参数,创建一个TTL为3的报文,并发送出去获得ICMP应答报文,根据应答报文的源IP地址获得输入参数中端口号port对应的路径。优选的,所述周期性运行的冗余流数量分配模块的步骤,包括:61)输入参数包括历史数据的总流量Θ、历史数据中不同大小的流的数目数组π={π1,π2,…,πi,…,πs}、用于约束负载的冗余流数目的约束系数∈和短流长度阈值S;62)初始化sum为0,T为从1到S的整数的集合,以及长度为S用来存储不同大小的短流创建冗余流的数量的冗余流数量表repNum={0,0,0,0,…,0},大小为i的所有流的流量和η={π1,2*π2,…,i*πi,…,S*πs};63)在集合T中选择使最大的i赋值给L,其中p为碰撞概率,进入步骤64);64)判断当大小为L的流增加一条冗余流时,新增加的流量会不会使总的流量大于限制流量,即sum+ηL>ε*Θ是否成立,若是,则进入步骤65),否则,进入步骤66);65)从集合T中删除L,进入步骤63);66)判断数组π的第L项πL不等于零及冗余流数量表repNum中表示大小为L的流的冗余流数目repNumL小于数据中心中等价路径数目ecpNum两个条件是否同时成立,当判断结果为否时,则进入步骤67),否则进入步骤68);67)从集合T中删除L,进入步骤69);68)更新冗余流数量表repNum中表示大小为L的流的冗余流数目repNumL=repNumL+1,同时更新sum=sum+ηL,进入步骤69);69)判断集合T是否为空,若是,则进入步骤610),否则进入步骤63);610)将用来存储不同大小的短流创建冗余流的数量的冗余流数量表repNum写入数据库,结束。本专利技术同时提供的一种基于冗余技术的数据中心短流加速系统,包括:主模块,用于向应用程序提供建立TCP流的调用接口;以及用于根据流的大小L查询数据库中的冗余流数量表确定要创建的冗余流的数目repNumL;以及用于调用路径碰撞避免模块得到原始流和repNumL个冗余流的源端口号集合,并调用TCP套接字创建1条原始流和repNumL条冗余流;冗余流数量分配模块,用于根据历史数据,确定不同大小的短流创建冗余流的数量,并将结果存储在数据库的冗余流数量表中;路径碰撞避免模块,用于根据至少包括TCP流的源IP地址、目的IP地址、目的端口号和要创建的复制流的数目k=1+repNumL的输入参数,获得路径不重叠的1+repNumL个端口号作为原始流和冗余流的源端口号集合;并将这1+repNumL个端口号集合及其对应的输入参数作为一条记录存储在数据库的源端口号对应表中;数据库,用于存储冗余流数量分配模块得到的冗余流数量表,和通过路径碰撞避免模块获得的对应不同输入参数的原始流和冗本文档来自技高网...
基于冗余技术的数据中心短流加速方法及系统

【技术保护点】
一种基于冗余技术的数据中心短流加速方法,其特征在于包括如下步骤:周期性运行冗余流数量分配模块的步骤,包括:周期性地根据历史数据确定不同大小的短流创建冗余流的数量,并将结果存储在数据库的冗余流数量表中;为应用程序的短流分配冗余流数量,并通过路径碰撞避免方法获得路径不重叠的源端口号集合来创建原始流和对应数量的冗余流的步骤,包括:1)应用程序调用主模块提供的接口创建TCP连接时,主模块判断该TCP流的源IP地址和目的IP地址是否在同一Top‑of‑Rack交换机上,如是则结束,如否则进入步骤2);2)判断该TCP流的大小L是否大于短流长度阈值S,如是则结束,如否则进入步骤3);3)根据TCP流的大小L查询数据库中的冗余流数量表repNum确定要创建的冗余流的数目repNumL;4)调用路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号;5)将获得的1+repNumL个源端口号分别作为1条原始流和repNumL个冗余流的源端口号,调用TCP套接字创建1+repNumL条TCP连接。

【技术特征摘要】
1.一种基于冗余技术的数据中心短流加速方法,其特征在于包括如下步骤:周期性运行冗余流数量分配模块的步骤,包括:周期性地根据历史数据确定不同大小的短流创建冗余流的数量,并将结果存储在数据库的冗余流数量表中;为应用程序的短流分配冗余流数量,并通过路径碰撞避免方法获得路径不重叠的源端口号集合来创建原始流和对应数量的冗余流的步骤,包括:1)应用程序调用主模块提供的接口创建TCP连接时,主模块判断该TCP流的源IP地址和目的IP地址是否在同一Top-of-Rack交换机上,如是则结束,如否则进入步骤2);2)判断该TCP流的大小L是否大于短流长度阈值S,如是则结束,如否则进入步骤3);3)根据TCP流的大小L查询数据库中的冗余流数量表repNum确定要创建的冗余流的数目repNumL;4)调用路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号;5)将获得的1+repNumL个源端口号分别作为1条原始流和repNumL个冗余流的源端口号,调用TCP套接字创建1+repNumL条TCP连接;其中步骤4)调用路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号的步骤包括:根据至少包括TCP流的源IP地址、目的IP地址、目的端口号和要创建的复制流的数目k=1+repNumL的输入参数来查询源端口号对应表,当源端口号对应表中存储有该输入参数对应的记录时,直接查表获得路径不重叠的1+repNumL个端口号作为原始流和冗余流的源端口号;以及当源端口号对应表中没有该输入参数对应的记录时,迭代式地通过路径侦测模块获得路径不重叠的1+repNumL个端口号作为原始流和冗余流的源端口号,并将这1+repNumL个端口号及其对应的输入参数作为一条记录存储在数据库的源端口号对应表中。2.根据权利要求1所述的基于冗余技术的数据中心短流加速方法,其特征在于:所述通过路径碰撞避免模块得到路径不重叠的1+repNumL个源端口号的步骤包括:41)输入参数包括TCP流的源IP地址、目的IP地址、目的端口号和要创建的复制流的数目k=1+repNumL,所述复制流包括1条原始流和repNumL条冗余流,初始化源端口号集合srcPorts及其对应的路径集合Addr为空集;42)以步骤41)输入参数中的源IP地址、目的IP地址和目的端口号为主键,判断是否能够在数据库中的表IP_srcPorts中查询到相应的记录,如是,则将查询到的结果存储在源端口号集合srcPorts中,进入步骤48),如否,则进入步骤43);43)选择最小的可用端口号port作为原始流的源端口号,同时使port自减1;44)判断k是否为0,如是则进入步骤47),如否则进入步骤45);45)port以步长为1递增,通过路径侦测模块获得递增后的端口号port对应的路径addr,判断该路径addr是否属于路径集合Addr,如是则重复步骤45),如否,则进入步骤46);46)将当前的port及其对应的addr分别加入源端口号集合srcPorts和路径集合Addr中去,k=k-1,进入步骤44);47)将输入参数及其对应的源端口号集合srcPorts作为一条记录存储到数据库中的源端口号对应表IP_srcPorts中;48)输出路径不重叠的包括原始流和冗余流在内的源端口号集合srcPorts,结束。3.根据权利要求2所述的基于冗余技术的数据中心短流加速方法,其特征在于:所述通过路径侦测模块获得端口号对应的路径的步骤包括:根据至少包括源IP地址、目的IP地址、端口号port、目的端口号的输入参数,创建一个TTL为3的报文,并发送出去获得ICMP应答报文,根据应答报文的源IP地址获得输入参数中端口号port对应的路径。4.根据权利要求1所述的基于冗余技术...

【专利技术属性】
技术研发人员:钱柱中王富广陆桑璐
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

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

1