一种基于离散化张量填充的top-k大象流预测方法及系统与流程

文档序号:18471131发布日期:2019-08-20 20:18阅读:343来源:国知局
一种基于离散化张量填充的top-k大象流预测方法及系统与流程

本发明涉及数据交互技术领域,具体是一种基于离散化张量填充的top-k大象流预测方法及系统。



背景技术:

大象流在网络流量中占据非常重要的位置,对网络状况分析尤为重要。对前k个最大流预测,也称为top-k大象流预测,是一个基本的网络管理功能。很多管理应用能够从top-k大象流的有效标识中获益,包括通过拥塞控制来动态调度大象流、网络容量规划、异常检测和转发表条目的缓存等。

目前国内外有许多top-k大象流预测的研究,大致可以分为两类:

第一,一些文献研究试图使用少量的内存来测量每个数据流的基数,比如统计包的个数或字节数。以基于概要数据结构的算法为例,它依赖于概要数据结构(例如cm概要数据结构[5])来测量网络流的大小,同时使用最小堆来跟踪top-k网络流。对于每个传入的数据包,它在概要数据结构中记录并更新此包所属流fi的大小ni。如果ni大于最下堆中的流大小,而fi不在堆中,则用流fi替换堆中的最小流。如果fi在最小堆中,它将使用ni更新fi的流大小。

第二,还有一些研究尝试利用部分获得的网络流数据,首先恢复丢失的数据,然后在对恢复的数据并进行排序后,最后返回前k个最大的流。例如:基于一维属性信息(纯空间或纯时间属性)的数据恢复算法[1]-[3]、基于二维属性信息(时空属性)的矩阵填充算法[4]-[6]、基于三维或更多维属性信息的张量填充算法[7]、[8]尝试将流量数据建模为一个三维张量,然后通过张量填充算法填充缺失数据。

[1]a.lakhina,k.papagiannaki,m.crovella,c.diot,e.d.kolaczyk,andn.taft,“structuralanalysisofnetworktraffificflflows,”inacmsigmetrics,2003.

[2]y.vardi,“networktomography,”j.amer.statist.assoc.,vol.vol.91,no.433,,p.pp.365377,1996.

[3]p.barford,j.kline,d.plonka,anda.ron,“asignalanalysisofnetworktraffificanomalies,”acmimw,2002.

[4]m.roughan,y.zhang,w.willinger,andl.qiu,“spatio-temporalcompressivesensingandinternettraffificmatrices(extendedversion),”networkingieee/acmtransactionson,vol.20,no.3,pp.662–676,2012.

[5]g.gursunandm.crovella,“ontraffificmatrixcompletionintheinternet,”inacmimc2012.

[6]y.-c.chen,l.qiu,y.zhang,g.xue,andz.hu,“robustnetworkcompressivesensing,”inacmmobicom,2014.

[7]k.xie,l.wang,x.wang,g.xie,j.wen,andg.zhang,“accuraterecoveryofinternettraffificdata:atensorcompletionapproach,”inieeeinfocom,2016.

[8]k.xie,c.peng,x.wang,g.xie,andj.wen,“accuraterecoveryofinternettraffificdataunderdynamicmeasurements,”inieeeinfocom,2017.

现有的大象流预测技术,在真实网络环境中无法达到精确、高效的要求,比如在实际网络环境中,由于网络监控和通信成本高,基于概要数据结构技术从大量网络节点收集完整的流量信息是不现实的。此外,测量数据在极端的网络条件下可能丢失,包括网络拥塞、节点行为不当、监控故障、通过不可靠的传输协议传输测量信息等。而现有的通过恢复部分网络流数据,进而预测大象流的算法也都存在一些问题。比如基于纯空间或纯时间信息的数据恢复方法性能往往较低;同时利用时空信息的基于矩阵填充的算法恢复缺失的流量数据时,数据缺失率较低时性能较好,但数据缺失率较大时性能较差;基于三维或更多维属性信息的张量填充算法够对缺失的测量数据进行更准确的填充,可以利用部分测量数据找到top-k大象流。但当流量监测张量较大时,算法过于耗时成为阻碍高效查找top-k大象流的一大瓶颈。



技术实现要素:

本发明提供一种基于离散化张量填充的top-k大象流预测方法及系统,用于克服现有技术中由于空间复杂度较高导致耗时过长等缺陷,实现极大减少时间和降低空间复杂度。

为实现上述目的,本发明提供一种基于离散化张量填充的top-k大象流预测方法,包括以下步骤:

从已知流量数据中获取含有缺失流量数据的张量;

将所述张量分解为三个离散的二值因子矩阵形成实值因子矩阵;其中三个因子矩阵的构成元素分别为所述张量源节点、时间和目标节点三个维度方向的二值因子向量;用所有所述二值因子向量表示实值张量数据,所述实值张量数据包括所述已知流量数据和缺失流量数据;

用三个维度方向的二值因子向量的内积表示每个时刻缺失流量数据,通过基于位运算的高效数据预测方法计算汉明距离以代替内积;

基于二值码分割的top-k预测加速方法计算汉明距离,并根据汉明距离判断两二值因子向量是否相似以确定所述二值因子向量对应的实值张量数据是否top-k大象流;

检索所有实值张量数据,并返回前k个最大的实值张量数据,获得top-k大象流。

为实现上述目的,本发明还提供一种基于离散化张量填充的top-k大象流预测系统,包括存储器和处理器,所述存储器存储有大象流预测程序,在所述处理器运行所述大象流预测程序时执行所述权利要求1~8任一项所述基于离散化张量填充的top-k大象流预测方法的步骤。

本发明提供的基于离散化张量填充的top-k大象流预测方法及系统,通过对张量进行多维度离散分解,用二值因子矩阵表达实值因子矩阵,能够充分利用多维信息提高精度的同时,利用运算的特点提高效率,同时降低空间复杂度。与上述的其他发明相比,首先是在面向复杂的网络环境时,大象流的预测精度获得提升;其次,能够通过位运算的特性,有效提升时间效率;最后,离散化的编码转成二进制存储,可以极大降低空间复杂度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例提供的大象流预测方法中基于离散化张量分解的top-k大象流预测机制;

图2为图1中离散化张量分解示意图;

图3为图2中张量分解和张量按模式展开之间的关系;

图4为实施例提供的大象流预测方法中二值码分割示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

实施例一

如附图1-4所示,本发明实施例提供一种基于离散化张量填充的top-k大象流预测方法,包括以下步骤:

步骤s1,从已知流量数据中获取含有缺失流量数据的张量;

参见图1,在复杂的网络环境中,通常只能获得极其稀疏的部分流量数据。当获得这些部分数据时,首先通过离散化张量填充算法,将含有大量缺失数据的张量分解为三个二值因子矩阵,缺失数据获取对象是部分网络流量数据,来源于网络节点。然后通过基于位运算的高效数据预测算法,对数据进行恢复,达到填充张量的目的。最后再基于二值码分割的top-k预测的加速方法,检索所有元素,并返回前k个最大的元素,即为top-k大象流。

步骤s2,继续参见图1,将所述张量分解为三个离散的二值因子矩阵a、b、c形成实值因子矩阵;其中三个因子矩阵的构成元素分别为所述张量源节点维度方向的二值因子行向量ai、列向量a(i),时间维度方向的二值因子行向量bj、列向量b(j)和目标节点维度方向的二值因子行向量ck、列向量c(k);用所有所述二值因子向量表示实值张量数据,所述实值张量数据包括所述已知流量数据和缺失流量数据;

步骤s3,用三个维度方向的二值因子向量的内积表示每个时刻缺失流量数据,通过基于位运算的高效数据预测方法(该方法为已知算法,具体参见k.zhouandh.zha.learningbinarycodesforcollaborativefiltering.inkdd,2012.)计算汉明距离以代替内积;

步骤s4,基于二值码分割的top-k预测加速方法计算汉明距离,并根据汉明距离判断两二值因子向量是否相似以确定所述二值因子向量对应的实值张量数据是否top-k大象流;

步骤s5,检索所有实值张量数据,并返回前k个最大的实值张量数据,获得top-k大象流。

本发明在充分利用多线性结构的基础上,利用张量填充算法首先对缺失数据进行预测,然后求出top-k大象流。为了减少计算量,本发明提出了一种新的离散张量填充方法,该方法采用二值码(0或1)表示因子矩阵,因子矩阵的值为-1或1。在此基础上,我们进一步提出了三种新的加速top-k流推理的新技术:训练二值因子矩阵的离散化求解算法,基于比特位运算的低成本、高效率的缺失数据填充方法,快速top-k大象流预测的二值编码分割方法。在离散化张量填充算法中,只需要一个位来表示因子矩阵中的项,而传统张量补全模型中需要一个实值(32位),因此存储成本大大降低。

参见图1、图2,步骤s2中所述将所述张量分解为三个二值因子矩阵的步骤,包括:

步骤s21,根据秩为r的张量的部分已知数据及恢复数据构建以下目标函数:

其中a,b,c为张量分解后得到的三个二值因子矩阵,值为1或-1;ai,bj,ck分别为因子矩阵a,b,c的行向量,a(i),b(j),c(k)分别为因子矩阵a,b,c的列向量;xijk为张量的第i个源节点到第j个目标节点在第k个时刻的流量数据,在i,j,k∈ω时表示获取的已知数据;在时,表示待填充流量数据;

通过求解上述目标函数,我们将实值张量数据表示为源、目标和时刻的二值因子向量,进而可以用简单的位操作加快公式(8)中缺失的数据恢复过程。这将反过来帮助加快查找top-k大象流。i*j*k表示张量的大小,i个源,j个目标,k个时刻。这种分解方式可以将连续的实值张量分解成为二值的因子矩阵,进而利用快速的汉明距离计算代替内积的计算,实现加速效果。

步骤s22,通过迭代求解上述目标函数获得实值张量数据,以实现对缺失流量数据的填充。具体包括:

步骤s22a,分别固定其中两个二值因子矩阵,对另外一个二值因子矩阵中每个二值因子向量进行逐位更新;

固定b和c,根据对式(1)展开的式(2)更新a:

式(2)中的目标函数对ai求和,逐位更新每个ai来更新a:

每次位数迭代更新过程中均固定除更新位数之外的余位,只更新该位数;

aih表示ai的第h位,表示除aih外的其余位;bjh表示bj的第h位,表示除bjh外的其余位;ckh表示ck的第h位,表示除ckh外的其余位;每一次迭代,固定只更新aih,表示中间变量;

令:

式(3)重写为:

令:

式(4)可以重写为:

其中:

aih的更新规则如下:

其中:

sgn(m),当m>0时,sgn(m)=1;当m<0时,sgn(m)=-1;

步骤s22b,重复上述步骤s22a,交替获得三个二值因子矩阵的所有二值因子向量。求解的结果是分解后的三个二值因子矩阵,根据求解的结果获得实值张量数据,然后根据实值张量数据获得缺失数据,并在缺失数据的位置上进行填充,填充的元素不是二值,是一个在[-r,r]之间的一个整数。

步骤s3具体包括:

参见图3,首先我们研究了张量cp分解与张量按模式展开之间的关系,然后提出了一种基于简单位操作快速预测top-k大象流的算法,将因子矩阵的内积计算转化成更有效率的汉明距离计算。

所述用两个二值因子向量的内积表示每个时刻缺失流量数据,通过基于位运算的高效数据预测方法计算汉明距离以代替内积的步骤包括:

通过计算因子矩阵的行向量之间的外积来表示张量:

通过将张量按照一个方向展开,张量的第k个面表示为:

x::k=aσkbt

对于元素xijk=ai·bj·ck转换成xijk=dibj;

di和bj是binary(二值,元素为1或-1)向量,因此dibj的顺序和sim(di,bj)一致;

将矩阵c的第k个行向量ck对角成矩阵σk,令矩阵d=aσk,则x::k=dbt

将dibj表示为di和bj之间的汉明距离;即比较两者对应元素不相等的个数:dit和bjt

di和bj之间的汉明相似度(可理解为汉明距离)表示为:

其中ii(·)为指示函数,若为真则返回1,若为假,则返回0;

式(6)表示当di和bj为二值向量时,di·bj和sim(i,j)等价;二值向量di和bj之间的汉明距离是不同的比特数,通过位的异或操作(是公知技术,具体参见1.k.zhouandh.zha.learningbinarycodesforcollaborativefiltering.inkdd,2012;2.z.zhang,q.wang,l.ruan,andl.si.preferencepreservinghashingforeffiffifficientrecommendation.insigir,2014.)计算;di表示矩阵d的第i个行向量,dit表示di的第t个元素;

d∈{±1}i×r,b∈{±1}j×r;di为d的行向量,有i个;bj为b的行向量,有j个。

传统的算法是离散张量分解得到3个二值因子矩阵,然后3个因子矩阵相乘得到恢复后的完整张量。但是这种恢复方式过于耗时。本方案利用汉明距离进行快速重构,此方法只能计算两个向量之间的距离,不能处理三个。因此,我们根据张量cp分解与张量按照模式展开之间的关系,将三个因子矩阵(abc)转换成两个因子矩阵(bd),进而利用更高效的汉明距离。

步骤s4包括:

参见图4,将长度为r的二值因子向量按照计算能力处理的单位长度分割为多段子向量;

依次计算并累加每段子向量之间的汉明距离;

在累加的汉明距离大于阈值时,算法终止并比较;在两者之间的汉明距离不超过阈值时,认定两二值因子向量对应的元素相似,确定所述二值因子向量对应的实值张量数据是否top-k大象流。采用本方案能提前达到停止条件,从而加速计算过程。

为了预测top-k大象流,首先需要计算所有di和bj的汉明距离,共有i×j项。然后对这i×j项进行排序,返回top-k最大的项。对于较大的i和j,计算成本仍然很高。因此,我们将长度为r的二值向量分割成p份,每一份的长度刚好是cpu处理的单位长度。在计算汉明距离时,对1到p段,依次计算并累加每段汉明距离,当累加的汉明距离大于某个阈值时,我们认为该元素不可能是满足要求的大象流,算法停止。

这种基于分割的计算方法不仅有助于加快缺失数据预测的阶段,而且缩短了对top-k大象流检索阶段的时间。图4显示了一个示例,设置ε=2。把二值向量分成四部分。比较前两个部分之后,发现汉明距离达到3,大于阈值ε=2。因此,这两个二值向量不相似,对应的元素不应该被认为是候选的top-k大象流。

本方案提出了:

离散化张量填充方法:为了推断缺失的测量数据,提出了一种新的离散化张量填充方法,用相同大小的二值因子矩阵代替传统张量填充方法中的实值因子矩阵。与传统的张量填充方法相比,使用实值因子矩阵的一个元素需要32位实数表示,而在二值因子矩阵中一个元素仅需要一个比特位表示,这极大减小了空间复杂度。二值因子矩阵元素为-1和1,将所有的-1变为0,最后作为比特位存储的是0和1。

离散化求解方法:对于离散化张量填充,为了获得张量的二值因子矩阵,需要解决一个离散状态下的因子矩阵求解问题。由于离约束通常是非确定性多项式问题。针对这一问题,提出了一种混合整数(离散化张量分解的求解算法,包含3个子问题)规划子问题迭代求解的离散求解算法,并通过理论分析和实验证明了算法的收敛性。

基于位运算的高效数据预测方法:基于张量分解和张量按模式展开之间的关系(参见前面d=a∑k,x::k=db部分)分析,我们将每个时刻上缺失数据的恢复问题转换成两个二值向量的内积,进一步转化为更高效的异或位运算来计算两个向量的汉明距离。

基于二值码分割的top-k预测的加速方法:为了降低缺失数据恢复的计算代价以及top-k大象流的搜索空间,进一步将二值向量分割为一组子向量。每组的长度刚好是cpu读取单位长度。如果两个二值向量不相似,我们可以很快确定对应的元素肯定不是top-k流。通过划分,我们只需要比较因子矩阵中少量的子向量,而不需要对整个二值向量作比较。

具有以下技术效果:能够根据极度稀疏的部分数据,精确的预测top-k大象流。在处理大规模网络数据时,效率更高。在处理大规模网络数据时,占用的空间远远少于现有技术。

实施例二

在上述实施例一的基础上,本发明实施例提供一种基于离散化张量填充的top-k大象流预测系统,包括存储器和处理器,所述存储器存储有大象流预测程序,在所述处理器运行所述大象流预测程序时执行上述基于离散化张量填充的top-k大象流预测方法的步骤。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1