基于间接时延的目标IP区域城市级定位算法
技术领域
本发明涉及目标IP区域城市级定位技术领域,尤其涉及基于间接时延的目标IP区域城市级定位算法。
背景技术
目前,目标IP区域城市级定位算法常用的算法有Spotter算法,Spotter算法在比较纯净的网络环境下测量了大量的时延数据,并分析在给定距离下时延的分布情况,发现当距离固定时,时延的分布近似符合正态分布,因此其采用正态分布模型来刻画时延和距离的关系。在实际的网络环境下,Spotter算法时延的分布为正态分布,为经典的密度函数,但是所有的经典的密度函数的参数形式都是单模的,即只有一个局部极大值,而实际的测量数据的分布往往并非如此。因此,Spotter算法在进行目标IP区域城市级定位时局限性较大,针对实际过程中不同的实际概率密度函数的分布形式,其收敛结果的准确度波动较大。
进一步的,在实际应用测量中往往会遇到如下问题:根据先验知识,可初步判断待定位目标位于若干个候选城市之一,通过基于Web挖掘等方法可以获得候选城市内的大量地标,然而由于探测源的数量有限,不足以应用类似于CBG和Octant等方法进行多点定位。因为对CBG和Octant方法而言,当探测源的数量较少,或探测源的分布不位于待定位目标的周围时,仅依靠距离约束取交集所得到的定位区域往往覆盖的范围过大,很难得到一个可靠的城市级定位结果。
发明内容
本发明的目的是提供基于间接时延的目标IP区域城市级定位算法,不需要了解分布的形式就能够对实际的测量数据中密度的分布形式进行估计,且能够保证只要有足够多的训练样本,则无论实际的概率密度函数的分布形式如何,总能得到一个可靠的收敛结果。
本发明采用的技术方案为:
基于间接时延的目标IP区域城市级定位算法,包括以下几个步骤:
A1:首先候选城市集和地标集构建:候选城市集是目标IP可能位于的城市的集合,记为C={c1,c2,...,cm}(m取正整数),地标集中包含每个候选城市内的多个地标;用于构建城市间间接时延分布模型;
A2:间接时延测量:同一时刻通过从同一个探测源分别多次测量位于不同城市内地标的时延,分别取其最小值,并将其最小值之和作为两个地标之间的间接时延;
A3:将该测量过程每隔一段时间重复一次,并记录该间接时延;
A4:将步骤A2和A3所述的测量方法在每两个候选城市之间重复,从而每两个候选城市之间可得到多组间接时延;
A5:通过核密度估计方法拟合得到任意两个城市地标间间接时延分布;
A6:对位于同一个候选城市内的地标间同样进行上述测量,从而得到每个候选城市与其它的候选城市地标之间及候选城市内部地标之间的间接时延分布;用于地标对目标形成距离约束;
A7:对目标进行在定位:首先通过间接时延测量获得每个城市地标和目标之间的间接时延,然后基于最大似然估计方法确定目标的最大可能位置。
在每个城市内部取n个地标,n个地标进行分时段多次测量,最后保留相同地标组合中最小的时延作为该组合的间接时延,在测量结束后,每两个城市之间可得到n*n组间接时延。
所述的步骤A5中所述的间接时延分布估计具体如下:
A51:记C={c1,c2,...,cm}为m个候选城市的集合,ρ(t|ci,j)为城市ci和cj内地标之间间接时延的分布,则ρ(t|ci,j)的估计形式如式(6)所示:
其中,tk为第k次测量的间接时延值,h为窗函数的窗宽,n为每个城市内地标个数;
对城市ci(其中,i=1,2,...,m),与m个城市(包括城市ci自身)之间均可得到其间接时延分布,即ρ(t|ci,j)(其中j=1,2,...,m)。
所述的步骤A7中所述的最大似然估计方法来确定目标的最大可能位置具体包括如下:
设目标所在城市cg的中心坐标x为待估计参数,记为x=[lat0,lon0],m个候选城市分别记ci(i=1,2,…,m),[lat0,lon0]的取值范围为m个候选城市的中心坐标,为x最大似然估计量;设时延测量相互独立,则似然函数可表示成式:
其中,ρ(t|ck,g)表示城市ck和cg之间的时延的概率密度分布,tk为候选城市ck与目标之间的间接时延;最大似然估计的目的是确定x的估计量使得上述似然函数取得最大值,如式:
通过在候选城市坐标中搜索可确定即目标的最大可能位置。
求解目标位置的最大似然估计,即是确定目标所在城市,使得目标与候选城市内地标间的间接时延的测量值在联合概率密度p(t|x)的条件下出现的概率最大,为了计算方便,通过最大化似然函数的对数来得到最大似然估计量,如式:
此时,对数似然函数变为式:
本发明针对时延和距离之间的转换关系刻画不精确,且需部署大量探测源的不足,给出了基于间接时延的IP定位算法。该算法首先从探测源同时向位于两个不同候选城市的地标发起时延测量,将测得的时延之和作为两个地标间的间接时延,并将该测量过程重复多次,得到每两个候选城市地标间大量的间接时延数据;其次,利用核密度估计方法估计该间接时延分布;然后,测量目标IP与每个候选城市内地标间的间接时延;最后,基于最大似然估计方法确定目标的最大可能位置。本发明不需要预先考虑时延分布的密度函数的参数形式,而是采用模式识别中重要的非参数估计方法—核密度估计方法,该方法的优点是具有通用性,即事先不需要了解分布的形式就能够对其做出估计,与现有典型算法Spotter相比,本发明算法具有较高的城市级定位准确率。
附图说明
图1为本发明的定位算法原理图;
图2为图1间接时延测量示意图;
图3洛阳市和开封市之间的间接时延通过统计得到的直方图;
图4用核密度估计方法估计得到间接时延分布图。
具体实施方式
如图1所示,本发明包括基于间接时延的IP定位算法跟现有的方法一样都可分为建模和定位两个阶段,但是具体方法步骤不同:在建模阶段,通过从同一个探测源同时测量位于两个不同城市地标的时延,将其时延之和作为两个城市地标间的间接时延,利用核密度估计方法拟合两个城市地标间间接时延的分布。对位于同一个候选城市内的地标间同样进行上述测量,从而,每个候选城市可获得与其他的候选城市地标之间及候选城市内部地标之间的间接时延的分布。在定位阶段,通过间接时延测量获得每个城市地标和目标之间的间接时延,然后基于最大似然估计方法确定目标的最大可能位置。详细的算法流程包括以下几个步骤:
A1:首先候选城市集和地标集构建:候选城市集是目标IP可能位于的城市的集合,记为C={c1,c2,...,cm}(m取正整数),地标集中包含每个候选城市内的多个地标;用于构建城市间间接时延分布模型;
本发明中将时延转换为合适的地理距离约束通常是基于时延的IP定位方法的关键。地标和目标之间的时延无法直接测量,为能够充分利用地标,尽可能降低部署大量探测源带来的成本,本发明将地标与目标之间的间接时延转换为地标对目标产生的距离约束。该过程包括间接时延测量和间接时延分布估计两部分。
本发明利用间接时延,依靠单探测源实现对目标的位置估计。间接时延测量是本发明定位方法的重要步骤之一,该步骤的主要目的是获得每两个候选城市之间的间接时延。具体包括地标之间、地标和目标之间的间接时延测量两个部分,地标间接时延测量之间用于构建城市间间接时延分布模型,地标和目标之间的间接时延测量用于地标对目标形成距离约束。算法的原理如下:
举例说明:如图2所示,图中给出了1个探测源、4个候选城市,每个候选城市内有1个地标的间接时延测量和计算实例。图中正方形代表探测源,圆形代表地标。
其中P为探测源,c1,c2,c3,c4是4个候选城市,设每个城市内仅含有一个地标,记为L1,L2,L3和L4。A2:间接时延的测量和计算方法如下:首先,在同一时刻,从探测源P多次测量到L1和L2的时延,分别取其最小值并记为t1和t2;其次,将t1+t2作为该时刻的L1和L2之间的间接时延,即城市c1和c2之间的间接时延;A3:然后,将该测量过程每隔一段时间重复一次,并记录该间接时延;
对同一个城市,其城市内部的网络往往比骨干网更为复杂,拥塞或路径往往变化较大,因此,为了能够较为全面的描述城市内部的网络特点,在每个城市内部取多个(假设取n个地标)地标进行分时段多次测量,最后保留相同地标组合中最小的时延作为该组合的间接时延。在测量结束后,每两个城市之间可得到n*n组间接时延。
最后,A4:将步骤A2和A3所述的测量方法在每两个候选城市之间重复,从而每两个候选城市之间可得到多组间接时延;而且本发明为了得到一条平滑且连续的概率密度曲线,采用高斯函数作为窗函数,对间接时延的分布做出估计,高斯核函数的形式见公式。
A5:通过核密度估计方法拟合得到任意两个城市地标间间接时延分布;所述的步骤A5中所述的间接时延分布估计具体如下:
记C={c1,c2,...,cm}为m个候选城市的集合,ρ(t|ci,j)为城市ci和cj内地标之间间接时延的分布。则ρ(t|ci,j)的估计形式如式(6)所示。
其中,tk为第k次测量的间接时延值,h为窗函数的窗宽,n为每个城市内地标个数。
对城市ci(其中,i=1,2,...,m),与m个城市(包括城市ci自身)之间均可得到其间接时延分布,即ρ(t|ci,j)(其中j=1,2,...,m)。如城市c1得到的m个间接时延分布如图4:
由图4可见,核密度估计得到的曲线可较精确的拟合样本值的分布,且具有光滑连续的特点。如洛阳市和开封市之间的间接时延通过统计得到的直方图分布如图所示,用核密度估计方法估计得到的分布如图所示。
如洛阳市和开封市之间的间接时延通过统计得到的直方图分布如图3所示,用核密度估计方法估计得到的分布如图4所示。
A6:对位于同一个候选城市内的地标间同样进行上述测量,从而得到每个候选城市与其它的候选城市地标之间及候选城市内部地标之间的间接时延分布;用于地标对目标形成距离约束;
A7:对目标进行在定位:首先通过间接时延测量获得每个城市地标和目标之间的间接时延,然后基于最大似然估计方法确定目标的最大可能位置。所述的步骤A7中所述的最大似然估计方法来确定目标的最大可能位置具体包括如下步骤:
A71:设目标所在城市cg的中心坐标x为待估计参数,记为x=[lat0,lon0],m个候选城市分别记ci(i=1,2,…,m),[lat0,lon0]的取值范围为m个候选城市的中心坐标,为x最大似然估计量;设时延测量相互独立,则似然函数可表示成式:
其中,ρ(t|ck,g)表示城市ck和cg之间的时延的概率密度分布,tk为候选城市ck与目标之间的间接时延;最大似然估计的目的是确定x的估计量使得上述似然函数取得最大值,如式:
A72:求解目标位置的最大似然估计,即是确定目标所在城市,使得目标与候选城市内地标间的间接时延的测量值在联合概率密度p(t|x)的条件下出现的概率最大。为了计算方便,通常通过最大化似然函数的对数来得到最大似然估计量,如式:
此时,对数似然函数变为式:
A73:通过在候选城市坐标中搜索可确定即目标的最大可能位置。