一种基于网络节点分布式Pagerank的网络内容扩散方法与流程

文档序号:15394658发布日期:2018-09-08 01:53阅读:202来源:国知局

本发明涉及计算机网络技术领域,特别涉及一种基于网络节点分布式pagerank的网络内容扩散方法。



背景技术:

目前,视频和内容服务已成为互联网娱乐的主要方式之一,并占据了大部分的网络流量。服务提供商为了保障服务质量,通常会通过内容分发网络、云服务等技术将大规模的用户请求进行就近和分散处理,从而降低中心压力,提高处理效率。然而,这样的结构仍然存在一些问题,例如:数据中心的位置距离用户依然较远,难以真正的体现“就近”;网络中用户资源巨大,如pc,手机,机顶盒等设备中存在的资源,但这些资源仍然处于闲置状态,庞大的资源没有得到合理利用,而部署的资源总量有限,会不断的出现服务瓶颈的问题。现有方法更多的关注局部信息,而对全局信息的逼近并没有合适的方法。因此,我们希望可以对网络中的全体可用节点进行整体的内容分发处理,从而使得内容可以放在更靠近用户的地方,并利用用户间资源共享,降低服务商压力,提高服务性能。



技术实现要素:

本发明的目的在于,为了实现对网络中的全体可用节点进行整体的内容分发处理的功能,本发明提供了一种基于网络节点分布式pagerank的网络内容扩散方法。

为了实现上述目的,本发明提供的一种基于网络节点分布式pagerank的网络内容扩散方法,包括:

步骤1)以网络服务器中的每个节点作为中心节点,构建中心节点与网络中临近节点之间连接关系的子图;

步骤2)计算子图中任意两个节点之间的pagerank值;

步骤3)根据同一子图中两个节点之间的交互操作,计算并更新该子图中所有的pagerank值;

步骤4)通过设定的节点扩散规则,在每个更新的子图中选择符合规则的pagerank值对应的两个节点进行网络内容的扩散。

作为上述技术方案的进一步改进,所述的步骤1)包括:

步骤101)当有节点s加入网络中时,首先通过网络服务器获得一个初始节点列表,计算节点s与初始节点列表中的点,及该点的邻居节点的路由跳数;

步骤102)选择路由跳数小于等于t的m个节点加入节点s的邻居节点列表中,构成邻居节点列表sn={sn1,sn2…,snm},并将节点s与邻居节点列表中的所有节点构成子图,所述的t和m均为预设值;

步骤103)为子图额外增加一个全局节点g,表示网络服务器中除节点s及其邻居节点以外的其他所有节点的合集,最终形成的子图中节点数为m+1。

作为上述技术方案的进一步改进,所述的步骤2):

步骤201)计算子图中所有节点的节点间转移概率,并组成节点间转移概率矩阵,具体包括:对于以节点s作为中心节点的子图中,所有节点的节点间转移概率矩阵表示为:

其中:

i和j表示子图中的邻居节点,g表示全局节点,pij表示两个邻居节点之间的节点间转移概率,pig表示邻居节点与全局节点之间的节点间转移概率,wij表示节点i和j连接边的权重,wij=1/tij,tij表示节点i和j之间的路由跳数,g表示子图,r表示在子图g中所有i可到达的任意邻居节点,wir表示i连接到r的权重,out(i,j)表示i连接到j的权重占子图中所有i可连接的节点权重的比例;

步骤202)利用公式r=pα计算任意两个节点之间的pagerank值,具体包括:

步骤2021)将定义的节点间转移概率矩阵p的初始值pagerank初始值矩阵α=(1,...,1,1)t代入公式r=pα,其中pagerank值矩阵r中包含任意两个节点之间的pagerank值;

步骤2022)如果步骤2021)中计算获得的pagerank值矩阵r满足|r-α|<δ,则停止操作,返回该r作为最终结果,否则令α=r,同时利用公式对节点间转移概率矩阵p进行迭代计算后,执行步骤2023),其中,n表示迭代次数,ε表示系数,ε∈[0,1],m表示子图中所有点的个数,n表示整个网络所有点的个数;

步骤2023)将步骤2022)中更新的α和p重新代入公式r=pα后,继续执行步骤2022)。

作为上述技术方案的进一步改进,所述的步骤3)包括:

步骤301)当节点s与其邻居节点sn交互时,以节点s为中心所构成的子图gs和以节点sn为中心所构成的子图gsn也进行交互,如果子图gsn中的节点sg存在指向子图gs中节点j的连接,且在子图gs中不存在该连接,则在子图gs中增加从节点sg到节点j的连线,如果子图gsn中存在子图gs中节点j指向子图gs中节点g的连接,且在子图gs中不存在该连接,则在子图gs中增加从节点j到节点g的连线;

步骤302)根据步骤301)中更新的子图gs和gsn,判断如果存在连接关系的两个节点在子图gs和子图gsn中都出现,则将两个节点之间的权重值更新为两个节点在两个子图中对应的权重值的最高值或者平均值;

步骤303)根据步骤302)中更新权重后的子图,计算并更新该子图中所有的pagerank值。

作为上述技术方案的进一步改进,所述的节点扩散规则包括:

根据pagerank值从大到小排序后选择前k个邻居节点构成扩散节点列表;

或根据pagerank值从大到小排序后选择前x个邻居节点,x>k,并在x个邻居节点中随机选择k个邻居节点构成扩散节点列表;

或根据pagerank值从大到小排序后选择前x个邻居节点,以及根据pagerank值从小到大排序后选择前y个邻居节点,并以选定的概率在所选出x+y个邻居节点中选择k个节点构成扩散节点列表;

其中,x、y和k是根据应用需求而预设的参数。

本发明的一种基于网络节点分布式pagerank的网络内容扩散方法优点在于:

本发明涉及一种面向网络内容扩散的基于分布式pagerank的节点选择方法,提出基于网络局部信息的动态pagerank计算,根据节点和邻居间的连接关系,为每个节点分布式的计算pagerank来表征其重要性,并依据pagerank值和节点选择函数选择合适的扩散节点进行内容扩散。通过对每个节点邻居连接关系图中设置一个表征其余所有全局信息的节点,以不断迭代逐渐逼近全局信息,从而缓解局部模型与实际情况差异过大的问题,提高内容扩散的性能。

附图说明

图1为本发明提供的一种基于网络节点分布式pagerank的网络内容扩散方法操作流程图。

具体实施方式

下面结合附图和实施例对本发明所述的一种基于网络节点分布式pagerank的网络内容扩散方法进行详细说明。

本发明提出一种基于分布式pagerank的网络内容扩散方法,其步骤如下:

步骤1)以网络服务器中的每个节点作为中心节点,构建中心节点与网络中临近节点之间连接关系的子图:

每个节点根据节点和邻居间的连接关系,构成子图,计算子图中所有节点的pagerank来表征其重要性,所述分布式pagerank计算方法,其中,网络是由许多可提供一定资源的节点构成,当有新节点s在加入网络中时,首先通过网络服务器获得一个初始节点列表,计算节点s与初始节点列表中的点,以及这些点的邻居节点的路由跳数;初始节点是指定的,由服务器下发的信息;初始节点是邻居点的候选,初始节点的邻居,极其邻居的邻居,也可以通过服务器获取。从这些节点中

然后选择路由跳数小于等于t的m个节点加入节点s的邻居节点列表中,构成邻居节点列表sn={sn1,sn2…,snm},并将节点s与邻居节点列表中的所有节点构成子图,该列表中的点是进行内容扩散的候选节点,所述的t和m均为预设值。

通过服务器信息,可知全网所有节点数量为n,每个中心节点所负责的子图中节点数为m,则为每个子图额外增加一个全局节点g,表示网络服务器中除节点s及其邻居节点以外的所有其他节点的合集,则子图中节点数最终为m+1个。

节点间边的连接权重由节点间的路由跳数的倒数来定义,其中s为子图的中心点,其余点为邻居节点,边的方向都是由邻居节点指向各自的中心点。节点i和j间路由跳数为tij,则连接i和j的边的权重为wij=1/tij,则整个子图构成了一个加权有向图。

步骤2)计算子图中任意两个节点之间的pagerank值:

计算子图中所有节点的节点间转移概率和pagerank值。在节点间转移概率矩阵中,是有m+1*m+1个值构成的矩阵,每个值pij为节点i到节点j的转移概率。pagerank是网页中常用来表示每个网页在网络中重要性的一个值,在这里表示节点在整个网络中对其他节点的影响。则对于以节点s为中心的子图g中,其节点间转移概率矩阵表示为:

其中:

这里有:

由上述公式可知,节点的出度和与其他点连接边的权重有关。

上式中,i和j表示子图中的邻居节点,g表示全局节点,pij表示两个邻居节点之间的节点间转移概率,pig表示邻居节点与全局节点之间的节点间转移概率,wij表示节点i和j连接边的权重,wij=1/tij,tij表示节点i和j之间的路由跳数,g表示子图,r表示在子图g中所有i可到达的任意邻居节点,wir表示i连接到r的权重,out(i,j)表示i连接到j的权重占子图中所有i可连接的节点权重的比例。

对于子图,其节点间转移概率矩阵满足以下迭代公式:

其中,n表示迭代次数,ε表示系数,ε∈[0,1],m表示子图中所有点的个数,n表示整个网络所有点的个数。

将定义的节点间转移概率矩阵p的初始值pagerank初始值矩阵α=(1,...,1,1)t代入公式r=pα,计算获得目标值为r,即指计算得到的pagerank值矩阵,其中包含了任意两个节点之间的pagerank值;其具体的计算迭代过程如下:

第一步,如果计算获得的pagerank值矩阵r满足|r-α|<δ,则停止操作,返回该r作为最终结果,否则令α=r,同时利用公式对节点间转移概率矩阵p进行迭代计算后,执行第二步;

第二步,将第一步中更新的α和p重新代入公式r=pα后,继续执行第一步,直至达到停止条件。

通过上述操作,使得每个节点s不仅维护了邻居节点信息,而且维护了以自身为中心的所有邻居点的节点间转移概率矩阵关系,而对于网络中其他所有节点,则用一个全局节点g来表示,因此,每个节点维护了一个关系子图。

步骤3)根据同一子图中两个节点之间的交互操作,计算并更新该子图中所有的pagerank值:

步骤301)当节点s与其邻居节点sn交互时,以节点s为中心所构成的子图gs和以节点sn为中心所构成的子图gsn也进行交互,如果子图gsn中的节点sg存在指向子图gs中节点j的连接,且在子图gs中不存在该连接,则在子图gs中增加从节点sg到节点j的连线,如果子图gsn中存在子图gs中节点j指向子图gs中节点g的连接,且在子图gs中不存在该连接,则在子图gs中增加从节点j到节点g的连线;

步骤302)根据步骤301)中更新的子图gs和gsn,判断如果存在连接关系的两个节点在子图gs和子图gsn中都出现,则将两个节点之间的权重值更新为两个节点在两个子图中对应的权重值的最高值或者平均值;

步骤303)根据步骤302)中更新权重后的子图,计算子图中所有的转移概率,并重新计算pagerank值。

上述过程随着节点与邻居的交互不断进行,并不断更新。每个节点都负责以自身为中心的子图中的pagerank计算和更新的工作。

步骤4)通过设定的节点扩散规则,在每个更新的子图中选择符合规则的pagerank值对应的两个节点进行网络内容的扩散:

利用上述步骤3)使得所有节点都可计算得到以本节点为中心的子图中各节点之间的pagerank值,依据节点选择函数,选择合适的邻居节点进行内容转发扩散。其中,节点选择函数根据扩散目标进行定义,包括但不限于:

根据pagerank值从大到小排序后选择前k个邻居节点构成扩散节点列表;

或根据pagerank值从大到小排序后选择前x个邻居节点,x>k,并在x个邻居节点中随机选择k个邻居节点构成扩散节点列表;

或根据pagerank值从大到小排序后选择前x个邻居节点,以及根据pagerank值从小到大排序后选择前y个邻居节点,并以选定的概率在所选出x+y个邻居节点中选择k个节点构成扩散节点列表;

其中,x、y和k是根据应用需求而预设的参数。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

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