本发明涉及网络流量预测技术领域,具体为一种实时数据流均衡分流方法及装置。
背景技术:
伴随着互联网交易规模的不断扩大,网络交易的相关业务在不断增长。电子商务平台不仅有订单创建业务产生的数据,还会产生大量的相关业务数据,如用户使用的设备信息数据、用户浏览页面产生的行为数据、用户评论产生的相关数据、用户之间关系的相关数据、订单物流产生的相关数据等。为了支持这些网络交易相关业务的发展,需要在基础设施层预留大量的资源。虽然基础设施层的资源量足够大,但也存在日均资源利用率只有10%左右的情况。为了解决这一难题,阿里巴巴采用规模化的混合技术来管理其电商平台的基础设施资源。但是,当混流的流量发生变化时,可能仍然难以保证高等级服务的质量。
在大规模服务系统的主动弹性伸缩中,对混流分流的预测研究较少。在现有的预测方法中,研究者往往将网络流量作为一个整体来考虑。传统的网络流量预测方法有arima线性模型和线性回归模型等。同时,随着神经网络的发展,很多基于机器学习算法的预测方法,如支持向量机等预测模型。一些研究者利用神经网络模型来预测网络流量。虽然这些预测模型可以在一定程度上解释单一流量的随机性和周期性,但对混合流量的进一步研究仍然缺乏。
技术实现要素:
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种实时数据流均衡分流方法及装置,具备提高用户体验和运营商的竞争力的优点,解决了现有技术中由于pgw的位置都较高而造成的数据迂回和浪费骨干网络带宽资源的问题。
(二)技术方案
为实现上述提高用户体验和运营商的竞争力的目的,本发明提供如下技术方案:一种实时数据流均衡分流方法及装置,包括软件定义网络sdn控制器,获取数据流的数据流描述信息,sdn控制器根据所述数据流描述信息,决定所述数据流是否需要进行分流,如果需要,则向数据流网关发出数据流规则表;
数据流描述信息包括以下至少一项:数据流的应用类型、数据流的五组信息;
在sdn控制器获取数据流的数据流描述信息之前,该方法还包括:
sdn控制器向移动网络网关和/或分流网关发送数据流转表,其中:数据流流转表用于指示移动网络网关或分流网关将相应终端的数据流发送至深度包检测功能dpi进行检测。
优选的,所述sdn控制器获取数据流描述信息具体包括:
sdn控制器从所述dpi数据流模块的数据流描述信息。
优选的,所述移动网关模块包括以下之一:sgw、pgw、sgsn、ggsn或非3gpp网关的用户平面功能。
优选的,所述dpi位于数据中心或业务检测功能tdfo模块。
优选的,所述sdn控制器根据所述数据流描述信息,决定所述数据流是否需要分流,如果需要,向分流网关模块发出分流规则流表,包括:
sdn控制器从本地或从策略服务器获取分流策略,根据所述数据流描述信息和所述分流策略,决定所述数据流描述信息对应的数据流是否需要分流,如果需要分流,则为其生成分流规则流表,并下发到所述分流网关。
优选的,所述终端发起第一类应用的情况下:
所述sdn控制器接收应用类型和五线谱信息,该五组信息由所述dpi在接收并检测协商的第一消息后发送;
sdn控制器根据所述应用类型和五线谱信息以及分流策略做出是否分流的决定,如果确定需要分流,则生成分流规则流并下发至所述分流网关,其中,所述数据流包括:所述第一消息、用于后续协商信令的数据消息以及应用层协商完成后的纯数据消息。
优选的,所述第一类应用为通过检测第一报文,可以获取应用类型和五组信息的应用。
优选的,包括以下实现操作步骤:
s1、输入混合数据流,该混合数据流包括主分流模块和待预测的辅助分流模块;
s2、计算待预测混合数据流的主分流和其他辅助分流之间的延迟相关系数和延迟时间;
s3、根据计算出的最大延迟相关系数,选择与主子流x相关联的辅助子流y;
s4、对主子流进行预测,通过单流预测法得到主子流的初始预测结果x′,其中x′t代表x中的值xt在t时刻的初始预测结果;如果所有时刻都已遍历,则结束方法,如果所有时刻都未遍历,则计算当前时刻t主分流量δxt的变化;然后计算延迟时间t-e的辅助分流量变化δyt和主、辅分流量滑动时间窗口中最显著的差值的比率;其中,表示主歧管x中滑动距离为t-1的滑动窗口大小为ht的子序列,表示辅助歧管y中滑动距离为t的滑动窗口大小为ht的子序列;其中权重αt由基于动态时间窗口的模型计算,其中ht为当前时刻动态时间窗口的大小表示子序列与子序列之间的皮尔逊相关系数;根据流量分割预测公式计算当前时刻的最终预测值,其中ht为当前时刻的动态时间窗口大小代表子序列与子序列之间的皮尔逊相关系数;
s5、根据模型在下一时刻的权重计算动态时间窗口的大小。
优选的,所述动态时间窗大小的更新包括以下步骤:
s1、输入上一时刻使用的最优动态时间窗口大小,并将上一时刻的;
s2、遍历所有时间窗口大小,并计算当前时间窗口h的预测误差δ;判断是否遍历了所有可能的时间窗口大小,如果没有遍历所有可能的时间窗口大小,则判断当前时间窗口大小h是否在范围内,如果在范围内,则判断当前预测结果误差δx是否小于局部最小预测结果误差δx,若δx,则更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,如果不在范围内,则判断当前预测结果误差δx是否小于全局预测结果的最小误差;否则回到判断当前预测结果误差δx是否小于局部最小预测结果误差;
判断当前预测结果误差δx是否小于局部最小预测结果误差,更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,否则回到判断是否遍历了所有可能的时间窗口大小;
更新全局最优时间窗口大小,取当前时间窗口大小h的值,更新全局最小预测结果误差δx,取当前预测结果误差δx的值,返回判断是否遍历了所有可能的时间窗口大小;
如果遍历了所有可能的时间窗口大小,则判断当前全局最优时间窗口大小是否在前一全局最优动态时间窗口大小的20左右范围内,如果是,则取下一时刻的动态时间窗口大小为当前全局最佳时间窗口大小,否则将下一时刻的动态时间窗口大小取为局部最佳时间窗口大小,然后根据模型计算的权重,输出下一时刻的动态时间窗口大小。
(三)有益效果
与现有技术相比,本发明提供了一种实时数据流均衡分流方法及装置,具备以下有益效果:
1、该实时数据流均衡分流方法及装置,借助本实施例的技术方案,根据得到的数据流描述信息,可以对需要分流的数据流下发分流规则流表,解决了现有技术中pgw位置较高造成的数据迂回和骨干网带宽资源浪费的问题,实现了基于应用/业务的数据流的分流。基于连接和承载的流媒体更加细化,提高了用户体验和运营商竞争力。
2、该实时数据流均衡分流方法及装置,改进混合数据流分割预测方法的结果,为用户或系统提供更准确的系统流量信息和更准确的系统弹性伸缩指标。
附图说明
图1为本发明结构系统流程示意图;
图2为本发明结构接收控制脚本示意图。
图中:1、sdn控制器;2、dpi数据流模块;3、移动网关模块;4、业务检测功能tdf模具;5、分流网关模块;6、主分流模块;7、待预测的辅助分流模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,一种实时数据流均衡分流方法及装置,包括软件定义网络sdn控制器1,获取数据流的数据流描述信息,sdn控制器1根据所述数据流描述信息,决定所述数据流是否需要进行分流,如果需要,则向数据流网关发出数据流规则表;
数据流描述信息包括以下至少一项:数据流的应用类型、数据流的五组信息;
在sdn控制器1获取数据流的数据流描述信息之前,该方法还包括:
sdn控制器1向移动网络网关和/或分流网关发送数据流转表,其中:数据流流转表用于指示移动网络网关或分流网关将相应终端的数据流发送至深度包检测功能dpi进行检测。
其中:sdn控制器1获取数据流描述信息具体包括:
sdn控制器1从所述dpi数据流2模块的数据流描述信息。
其中:移动网关模块3包括以下之一:sgw、pgw、sgsn、ggsn或非3gpp网关的用户平面功能。
其中:dpi位于数据中心或业务检测功能tdfo模块4。
其中:sdn控制器1根据所述数据流描述信息,决定所述数据流是否需要分流,如果需要,向分流网关模块5发出分流规则流表,包括:
sdn控制器1从本地或从策略服务器获取分流策略,根据所述数据流描述信息和所述分流策略,决定所述数据流描述信息对应的数据流是否需要分流,如果需要分流,则为其生成分流规则流表,并下发到所述分流网关。
其中:终端发起第一类应用的情况下:
所述sdn控制器1接收应用类型和五线谱信息,该五组信息由所述dpi在接收并检测协商的第一消息后发送;
sdn控制器1根据所述应用类型和五线谱信息以及分流策略做出是否分流的决定,如果确定需要分流,则生成分流规则流并下发至所述分流网关,其中,所述数据流包括:所述第一消息、用于后续协商信令的数据消息以及应用层协商完成后的纯数据消息。
其中:第一类应用为通过检测第一报文,可以获取应用类型和五组信息的应用。
其中:包括以下具体实现操作步骤:
s1、输入混合数据流,该混合数据流包括主分流模块6和待预测的辅助分流模块7;
s2、计算待预测混合数据流的主分流和其他辅助分流之间的延迟相关系数和延迟时间;
s3、根据计算出的最大延迟相关系数,选择与主子流x相关联的辅助子流y;
s4、对主子流进行预测,通过单流预测法得到主子流的初始预测结果x′,其中x′t代表x中的值xt在t时刻的初始预测结果;如果所有时刻都已遍历,则结束方法,如果所有时刻都未遍历,则计算当前时刻t主分流量δxt的变化;然后计算延迟时间t-e的辅助分流量变化δyt和主、辅分流量滑动时间窗口中最显著的差值的比率;其中,表示主歧管x中滑动距离为t-1的滑动窗口大小为ht的子序列,表示辅助歧管y中滑动距离为t的滑动窗口大小为ht的子序列;其中权重αt由基于动态时间窗口的模型计算,其中ht为当前时刻动态时间窗口的大小表示子序列与子序列之间的皮尔逊相关系数;根据流量分割预测公式计算当前时刻的最终预测值,其中ht为当前时刻的动态时间窗口大小代表子序列与子序列之间的皮尔逊相关系数;
s5、根据模型在下一时刻的权重计算动态时间窗口的大小。
其中:动态时间窗大小的更新包括以下步骤:
s1、输入上一时刻使用的最优动态时间窗口大小,并将上一时刻的;
s2、遍历所有时间窗口大小,并计算当前时间窗口h的预测误差δ;判断是否遍历了所有可能的时间窗口大小,如果没有遍历所有可能的时间窗口大小,则判断当前时间窗口大小h是否在范围内,如果在范围内,则判断当前预测结果误差δx是否小于局部最小预测结果误差δx,若δx,则更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,如果不在范围内,则判断当前预测结果误差δx是否小于全局预测结果的最小误差;否则回到判断当前预测结果误差δx是否小于局部最小预测结果误差;
判断当前预测结果误差δx是否小于局部最小预测结果误差,更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,否则回到判断是否遍历了所有可能的时间窗口大小;
更新全局最优时间窗口大小,取当前时间窗口大小h的值,更新全局最小预测结果误差δx,取当前预测结果误差δx的值,返回判断是否遍历了所有可能的时间窗口大小;
如果遍历了所有可能的时间窗口大小,则判断当前全局最优时间窗口大小是否在前一全局最优动态时间窗口大小的20左右范围内,如果是,则取下一时刻的动态时间窗口大小为当前全局最佳时间窗口大小,否则将下一时刻的动态时间窗口大小取为局部最佳时间窗口大小,然后根据模型计算的权重,输出下一时刻的动态时间窗口大小。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
1.一种实时数据流均衡分流方法及装置,包括软件定义网络sdn控制器(1),获取数据流的数据流描述信息,其特征在于:sdn控制器(1)根据所述数据流描述信息,决定所述数据流是否需要进行分流,如果需要,则向数据流网关发出数据流规则表;
数据流描述信息包括以下至少一项:数据流的应用类型、数据流的五组信息;
在sdn控制器(1)获取数据流的数据流描述信息之前,该方法还包括:
sdn控制器(1)向移动网络网关和/或分流网关发送数据流转表,其中:数据流流转表用于指示移动网络网关或分流网关将相应终端的数据流发送至深度包检测功能dpi进行检测。
2.如权利要求1所述的一种实时数据流均衡分流方法及装置,其特征在于:所述sdn控制器(1)获取数据流描述信息具体包括:
sdn控制器(1)从所述dpi数据流(2)模块的数据流描述信息。
3.如权利要求1所述的一种实时数据流均衡分流方法及装置,其特征在于:所述移动网关模块(3)包括以下之一:sgw、pgw、sgsn、ggsn或非3gpp网关的用户平面功能。
4.如权利要求3所述的一种实时数据流均衡分流方法及装置,其特征在于:所述dpi位于数据中心或业务检测功能tdfo模块(4)。
5.如权利要求3所述的一种实时数据流均衡分流方法及装置,其特征在于:所述sdn控制器(1)根据所述数据流描述信息,决定所述数据流是否需要分流,如果需要,向分流网关模块(5)发出分流规则流表,包括:
sdn控制器(1)从本地或从策略服务器获取分流策略,根据所述数据流描述信息和所述分流策略,决定所述数据流描述信息对应的数据流是否需要分流,如果需要分流,则为其生成分流规则流表,并下发到所述分流网关。
6.如权利要求3所述的一种实时数据流均衡分流方法及装置,其特征在于:所述终端发起第一类应用的情况下:
所述sdn控制器(1)接收应用类型和五线谱信息,该五组信息由所述dpi在接收并检测协商的第一消息后发送;
sdn控制器(1)根据所述应用类型和五线谱信息以及分流策略做出是否分流的决定,如果确定需要分流,则生成分流规则流并下发至所述分流网关,其中,所述数据流包括:所述第一消息、用于后续协商信令的数据消息以及应用层协商完成后的纯数据消息。
7.如权利要求1所述的一种实时数据流均衡分流方法及装置,其特征在于:所述第一类应用为通过检测第一报文,可以获取应用类型和五组信息的应用。
8.如权利要求1所述的一种实时数据流均衡分流方法及装置,其特征在于:包括以下实现操作步骤:
s1、输入混合数据流,该混合数据流包括主分流模块(6)和待预测的辅助分流模块(7);
s2、计算待预测混合数据流的主分流和其他辅助分流之间的延迟相关系数和延迟时间;
s3、根据计算出的最大延迟相关系数,选择与主子流x相关联的辅助子流y;
s4、对主子流进行预测,通过单流预测法得到主子流的初始预测结果x′,其中x′t代表x中的值xt在t时刻的初始预测结果;如果所有时刻都已遍历,则结束方法,如果所有时刻都未遍历,则计算当前时刻t主分流量δxt的变化;然后计算延迟时间t-e的辅助分流量变化δyt和主、辅分流量滑动时间窗口中最显著的差值的比率;其中,表示主歧管x中滑动距离为t-1的滑动窗口大小为ht的子序列,表示辅助歧管y中滑动距离为t的滑动窗口大小为ht的子序列;其中权重αt由基于动态时间窗口的模型计算,其中ht为当前时刻动态时间窗口的大小表示子序列与子序列之间的皮尔逊相关系数;根据流量分割预测公式计算当前时刻的最终预测值,其中ht为当前时刻的动态时间窗口大小代表子序列与子序列之间的皮尔逊相关系数;
s5、根据模型在下一时刻的权重计算动态时间窗口的大小。
9.如权利要求1所述的一种实时数据流均衡分流方法及装置,其特征在于:所述动态时间窗大小的更新包括以下步骤:
s1、输入上一时刻使用的最优动态时间窗口大小,并将上一时刻的;
s2、遍历所有时间窗口大小,并计算当前时间窗口h的预测误差δ;判断是否遍历了所有可能的时间窗口大小,如果没有遍历所有可能的时间窗口大小,则判断当前时间窗口大小h是否在范围内,如果在范围内,则判断当前预测结果误差δx是否小于局部最小预测结果误差δx,若δx,则更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,如果不在范围内,则判断当前预测结果误差δx是否小于全局预测结果的最小误差;否则回到判断当前预测结果误差δx是否小于局部最小预测结果误差;
判断当前预测结果误差δx是否小于局部最小预测结果误差,更新本地最佳时间窗口大小取值为当前时间窗口大小h,更新本地最小预测结果误差δx取值为当前预测结果误差,否则回到判断是否遍历了所有可能的时间窗口大小;
更新全局最优时间窗口大小,取当前时间窗口大小h的值,更新全局最小预测结果误差δx,取当前预测结果误差δx的值,返回判断是否遍历了所有可能的时间窗口大小;
如果遍历了所有可能的时间窗口大小,则判断当前全局最优时间窗口大小是否在前一全局最优动态时间窗口大小的20左右范围内,如果是,则取下一时刻的动态时间窗口大小为当前全局最佳时间窗口大小,否则将下一时刻的动态时间窗口大小取为局部最佳时间窗口大小,然后根据模型计算的权重,输出下一时刻的动态时间窗口大小。
技术总结