CN105915602A - 基于社区检测算法p2p网络的调度方法及其系统 - Google Patents
基于社区检测算法p2p网络的调度方法及其系统 Download PDFInfo
- Publication number
- CN105915602A CN105915602A CN201610232013.0A CN201610232013A CN105915602A CN 105915602 A CN105915602 A CN 105915602A CN 201610232013 A CN201610232013 A CN 201610232013A CN 105915602 A CN105915602 A CN 105915602A
- Authority
- CN
- China
- Prior art keywords
- node
- community
- resource
- client
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000001514 detection method Methods 0.000 claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 19
- 238000005520 cutting process Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 230000011664 signaling Effects 0.000 abstract 2
- 238000005516 engineering process Methods 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 235000013162 Cocos nucifera Nutrition 0.000 description 3
- 244000060011 Cocos nucifera Species 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于社区检测算法P2P网络的调度方法,所述的方法包括以下步骤:步骤1:客户端从web服务器获取资源信息;步骤2:客户端将日志信息存储到后台数据库,并且客户端向P2P信令服务器发送节点请求;步骤3:P2P信令服务器得到与客户端对应的社区,并将该社区包含的节点发送至客户端;步骤4:客户端根据步骤3中的节点信息连接节点,从节点获取资源。同时,本发明还公开了基于社区检测算法P2P网络的调度系统,上述的方法和系统通过收集P2P日志,研究社区检测方法,分析P2P日志并对其形成的P2P网络进行社区检测划分,找出P2P网络中的关键信息,形成更加合理的P2P网络。
Description
技术领域
本发明涉及P2P网络及社区检测算法领域,具体地说是一种基于社区检测算法P2P网络的调度方法和系统。
背景技术
随着互联网的高速发展,多媒体在互联网中也得到爆发性的增,人们渐渐的从电视、收音机等传统媒介中转到互联网中观看音视频。这种爆发性的增长不仅导致资源提供商的带宽流量成本剧增,而且还要求网络设备提供商不断的升级改造网络,提高网络传输速度。而P2P网络作为一种新的网络传输模式在提出不久便引起互联网的一次巨大震动,它不仅仅是作为一种软件架构形式,也是一种社会模式的体现。P2P网络打破传统的客户端-服务器模式,形成一种以客户端-客户端(客户端拥有服务器的能力),把客户端转换成服务器角色的形式,从而提高带宽资源利用率以及减轻资源服务提供商的压力。但是在实际应用中,P2P网络在稳定性、有效性中常常表现得不尽如人意,一是不稳定,经常会导致用户在请求资源的过程中中断。二是有效性,用户请求资源的等待时间大多数时候慢于服务器,这是客户端的带宽和处理器处理能力等硬件导致的。诸如此类的缺点导致P2P发展规模受限。
社区检测划分方法是近年来一个研究热点,学术界对复杂网络的研究掀起一股热潮,复杂网络是指由众多相互联系、相互作用的个体,依据一定的联系产生的网络结构,其中蕴含着与之相关的丰富信息。复杂网络网络没有特定的领域,它涉及到数学、物理、社会学、计算机等诸多领域,并且得到众多领域的科研工作者的关注。为了研究和获取复杂网络结构的有效信息,需要运用算法对其进行结构划分,例如基于模块度的划分方法、基于层次结构的划分方法等等,这些算法都致力于解决和发现复杂网络中的合理的社区结构,从而让我们更好的认识到复杂网络的特性。而P2P网络作为复杂网络之一,利用社区检测划分方法对其计算、划分,可以发现网络的有效关键信息,从而提高网络的稳定性和有效性。但是尽管社区检测划分方法得到大量的科研工作者的关注和研究,也取得相当大的成果,但是对于形式多样的网络结构,依旧存在一些尚未解决的基本问题。例如一些发现算法虽然可以得到令人比较满意的结果,但是往往需要以牺牲计算代价为结构;一些性能较为优越的算法,大多则牺牲精确性为代价。这些问题都需要进一步完善。
现有技术中,为了解决复杂的P2P网络中的重叠社区的问题,提出了copra算法来应对,在中国文献资料《基于标签传播的社区挖掘算法研究综述》中详细的记载了重叠copra算法及其改进算法研究,特别是在对copra算法的改进方法中提出了设定阈值来控制每个节点的标签数目,从而使新算法不需要初始。
此外,在中国专利申请CN201510076028.8公开了一种基于多标签传播的重叠社区检测方法,包括以下步骤:步骤A,构造社交网络图:读取网络数据,构造以用户为节点,用户关系为边的社交网络图;步骤B,分析网络粗糙核心:根据社交网络图,以及各节点的度,分析出社交网络的粗糙核心集合RoughCore;步骤C,初始化标签集合:计算社交网络中各边两节点的结构权值,结合步骤B所得RoughCore结果,初始化各节点的标签集合,并判断各节点核心状态CoreStatus;步骤D,执行标签传播:在整个社交网络中根据链接密度,计算各节点新标签集合,同时根据节点核心状态CoreStatus对较小隶属度标签进行过滤,得到初步重叠社区结果;步骤E,分解不连续社区:在初步重叠社区结果里将不连续社区分解为多个子社区,得到最终的社交网络重叠社区结构。
但是现有技术中的社区结构划分的合理性、有效性和稳定性有待改善。
发明内容
本发明的目的在于提供一种基于社区检测算法P2P网络的调度方法和系统,该方法和系统通过收集P2P日志,研究社区检测方法,分析P2P日志并对其形成的P2P网络进行社区检测划分,找出P2P网络中的关键信息,形成更加合理的P2P网络。
本发明的具体的技术方案为:一种基于社区检测算法P2P网络的调度方法,所述的方法涉及客户端、管理端、资源服务器、P2P信令服务器、web服务器;所述的资源服务器用于通过管理端获取和存储资源并将资源信息发送给web服务器;包括以下步骤
步骤1:客户端从web服务器获取资源信息;
步骤2:客户端将资源信息和客户端自身的信息以日志信息的方式存储到后台数据库,并且客户端向P2P信令服务器发送节点请求;所述的后台数据库用于存储多个节点的日志信息;
步骤3:P2P信令服务器根据后台数据库中存储的日志信息生成社区网络结构,并对社区网络结构进行社区结构划分,得到划分结构并进行合并处理去除无效节点,得到与客户端对 应的社区,并将该社区包含的节点发送至客户端;
步骤4:客户端根据步骤3中的节点信息连接节点,从节点获取资源。
在上述的基于社区检测算法P2P网络的调度方法中,步骤3具体为:
子步骤31:获取后台数据库中存储中节点的日志信息;
子步骤32:根据节点的日志信息,构造以用户为节点,用户之间的关系为边,通过节点带宽表示权重的社区网络结构;
子步骤33:根据LabelRank算法对社区网络结构进行社区结构划分,得到多个社区;其中,LabelRank算法包含一个操作算子:传递操作;
所述的传递操作具体为:在每个节点定义一个1×n的向量P保存标签分布,n为节点的数量;定义一个邻接矩阵A存储网络结构,则Pi(c)代表节点i属于标签c的概率,标签的集合用C表示,并且标签的个数初始化为节点的个数n,每次计算都需要更新每个节点的向量P,公式如下:
其中,Nb(i)是节点i的邻居节点的集合,ki=|Nb(i)|是邻居节点集合的节点数量,P’i(c)代表更新后节点i属于标签c的概率,然后接着计算可以由矩阵A和向量P如下表示:
A×P.............(2)
在传递操作算子中首先需要初始化向量P,初始化的具体方法为:每个节点的标签列表的概率Pij初始化为邻居节点的权重和的倒数;如下所示:
Pij=w/ki............(3)
w表示节点i到节点j的权重;
经过上述步骤后得到每个节点的向量P;
在传递操作算子的每次计算的更新过程中,设置一个阈值λ,当节点的所属标签的概率大于λ时,则保留,小于则舍弃;且当节点中所有的标签概率都小于λ时,则随机选取一个保留;
子步骤34:对子步骤33中的社区中的节点进行合并处理以除去社区中的无效节点,得 到客户端所对应的社区;
子步骤35:将客户端所对应的社区的节点信息发送至客户端。
在上述的基于社区检测算法P2P网络的调度方法中,所述的LabelRank算法还包括一个操作算子:膨胀因子;
所述的膨胀因子具体为:在向量P中使用膨胀因子Γin来影响标签传递,其中in是一个实数值,通过使用膨胀因子来解耦网络结构,每次计算ΓinP,Pic都会增加inth次幂,如下公式所示:
计算后,它会使节点中高概率的标签概率的数值增加,低概率的标签概率的数值减少。
在上述的基于社区检测算法P2P网络的调度方法中,所述的LabelRank算法还包括一个操作算子:裁剪系数;
所述的裁剪系数具体为:在向量P中引入了一个操作符Φr定义阈值r∈[0,1],在计算过程中如果向量P中的标签概率小于r则把向量中的标签删除掉。
在上述的基于社区检测算法P2P网络的调度方法中,所述的LabelRank算法还包括一个操作算子:条件更新;
所述的条件更新具体为:定义一个条件更新操作符Θq,其含义为当算法过程中只有节点与其邻居节点的标签向量不相等时才更新该节点,否则不进行更新操作;即在每次迭代中,当节点满足下列公式时,才进行更新操作;
是节点i在以往计算步骤中概率最大的标签集合,ki表示节点i的度,q是一个实数值,q的取值范围[0,1]。
在上述的基于社区检测算法P2P网络的调度方法中,所述的所述的日志信息为用户ID、视频URL、视频播放方式、连接服务器时同一组中的Peer数、用户IP、组内其他用户ID、用户带宽。
在上述的基于社区检测算法P2P网络的调度方法中,所述的步骤4还包括:如果没有节 点或者从节点获取资源失败,客户端则从资源服务器获取资源。
此外,本发明还公开了一种基于社区检测算法P2P网络的调度系统,包括:
管理端1,用于获取资源,并将资源发送至资源服务器2;
资源服务器2,用于接收和存储管理端1发送的资源,并将资源信息发送至web服务器3;根据客户端5的请求将资源发送至客户端5;
web服务器3,用于根据客户端5的请求将资源信息发送至客户端5;
后台数据库4,用于存储多个节点的日志信息;
客户端5,用于将资源信息和自身的日志信息发送到后台数据库4;接收P2P信令服务器6所发送的节点信息,并根据节点信息从节点获取资源,若没有节点或者从节点获取资源失败,则发送请求给资源服务器2从资源服务器2获取资源。
P2P信令服务器6,用于根据客户端5所发送的节点请求,从后台数据库4中获取当前时刻的多个节点的日志信息生成社区网络结构并对社区网络结构进行社区结构划分,并对社区结构划分结果进行合并处理,得到与与客户端5日志信息对应的社区,并将该社区所包含的节点信息发送至客户端5。
在上述的基于社区检测算法P2P网络的调度系统中,所述的客户端5包括:
资源信息模块51,用于接收web服务器3所发送的资源信息,将资源信息和自身的日志信息发送到后台数据库4,并将节点请求发送至P2P信令服务器6;
第一资源获取模块52,用于接收P2P信令服务器6所发送的与资源对应的社区中的节点信息,并根据节点信息从节点获取资源;
第二资源获取模块53,用于没有节点或者从节点获取资源失败的情况下,发送请求给资源服务器2从资源服务器2获取资源。
在上述的基于社区检测算法P2P网络的调度系统中,所述的P2P信令服务器6包括:
社区网络结构构造模块61,用于根据后台数据库4中用户的日志信息,构造以用户为节点,用户之间的关系权重为边的社区网络结构;
日志信息获取模块62,获取后台数据库4中存储中节点的日志信息;
社区结构划分模块63,用于根据LabelRank算法对社区网络结构进行社区结构划分,得 到多个社区;
合并模块64:用于对社区结构划分模块63得到的社区结构划分结果进行合并处理以去除无效节点,得到客户端5所对应的社区;
节点信息模块65,用于将客户端5对应的社区所包含的节点信息发送至客户端5。
与现有技术相比,本发明的有益效果在于:
本发明在加强P2P网络传输的设计中,本发明的方法和系统可以实时的产生日志信息文件,而社区检测划分算法也可以实时读取P2P点播系统产生的日志信息文件,并计算得到划分之后的结果,通过读取社区检测划分之后的结果,并对新登陆的用户的有效性进行判断,从而加强P2P的网络传输性能,提高P2P资源传输的有效性。通过把社区检测划分技术应用到日志信息文件的划分,系统可以从以往的运行情况,自动快速的辨别当前用户的网络性能,从而把用户节点都转化为有效的P2P节点,P2P网络的可靠性得以保证。
附图说明
图1为本发明实施例1的流程图;
图2为本发明实施例1的流程图;
图3和4为本发明实施例1和2的传递操作的原理图;
图5-7为本发明实施例1和2未经过合并处理的网络结构图;
图8为本发明实施例1经过合并处理的网络结构图;
图9为本发明实施例1的结构方框图。
具体实施方式
下面结合具体实施方式,对本发明的技术方案作进一步的详细说明,但不构成对本发明的任何限制。
实施例1
如图1和2所示,一种基于社区检测算法P2P网络的调度方法,所述的方法涉及客户端、管理端、资源服务器、P2P信令服务器、web服务器;所述的资源服务器用于通过管理端获取和存储资源并将资源信息发送给web服务器;P2P信令服务器是基于开源openRTMFP服 务器开发,主要管理当前观看视频的用户信息,包括用户观看资源、IP等信息;Web服务器主要为用户提供网页形式的展示界面。资源发布到资源服务器后,会把资源信息同步到Web服务器上。用户通过浏览器即可查看感兴趣的视频。Web服务器主要为用户提供网页形式的展示界面。资源发布到资源服务器后,会把资源信息同步到Web服务器上。用户通过浏览器即可查看感兴趣的视频。
本实施例的方法包括以下步骤
步骤1:客户端从web服务器获取资源信息;
资源首先通过管理端获取,管理端从其他FTP服务器或者用户上传获取;然后管理端将资源以及记录该资源的描述信息的资源信息发送到资源服务器;接着资源服务器将资源信息推送到web服务器。
此外,管理端为管理员用户提供内容发布、删除、查看等管理功能,它通过与资源服务器连接完成相应的操作。
步骤2:客户端将资源信息和客户端自身的信息以日志信息的方式存储到后台数据库,并且客户端向P2P信令服务器发送节点请求;所述的后台数据库用于存储多个节点的日志信息;
步骤3:P2P信令服务器根据后台数据库中存储的日志信息生成社区网络结构,并对社区网络结构进行社区结构划分,得到划分结构并进行合并处理去除无效节点,得到与客户端对应的社区,并将该社区包含的节点发送至客户端;
步骤3具体为:
子步骤31:P2P信令服务器一旦得到客户端发送的节点请求,就会获取后台数据库中存储中节点的日志信息;所述的日志信息为用户ID、视频URL、视频播放方式、连接服务器时同一组中的Peer数、用户IP、组内其他用户ID、用户带宽。
子步骤32:根据节点的日志信息,构造以用户为节点,用户之间的关系为边,通过节点带宽表示权重的社区网络结构;
节点之间的连接关系由如下算法流程计算:
1)用户ID为标识,可以统计到某一时刻播放相同视频URL的Peer数和Peer的ID,由此节点之间可以形成不具备权重的网络结构关系。
2)以用户的带宽关系设定权重系数,从而形成具备权重的网络结构。
上述是粗粒度的计算流程,在上述计算流程的基础上,实际计算情况下需要考虑到以下情况:
1)统计邻居Peer节点规则。
当某一节点与其他邻居节点组成网络时,我们需要设置一个阈值,当形成的网络的节点数量超过阈值时,我们才会把该网络统计到网络结构中,这样可以过滤掉一些小型网络,因为通常小型网络对形成P2P网络的概率较小。
2)计算Peer节点之间的联系。
当某一节点与其他节点形成联系时,往往需要用一个定量的值来衡量它们之间关系的紧密程度,而这一紧密程度则用权重来表示,本技术是从节点的网络带宽关系来衡量形成的网络权重。
获取节点带宽方法:
计算节点带宽的方法,因为P2P点播系统是基于Web形式的,因此我们是利用JavaScript进行测速并记录,从而达到记录用户的带宽信息,我们主要利用JavaScript对客户端的带宽进行测试。通过获取每一个节点的带宽信息,我们可以通过比例的形式生成节点之间的权重信息,例如节点A和节点B与视频C有联系,节点A、B的带宽分别为100KB、200KB,则节点A和节点B与视频C的联系分别为1/3和2/3,进行归一化。通过带宽我们可以算法一定的权重,但是有效权重还需要考虑节点具体的网速速率,如果网速速率小于某个设定的参数值时,则把权重降低成0。
子步骤33:根据LabelRank算法对社区网络结构进行社区结构划分,得到多个社区;其中,LabelRank算法包含四个操作算子:传递操作、膨胀因子、裁剪系数、条件更新;
1、传递操作
在每个节点定义一个1×n的向量P保存标签分布,n为节点的数量;定义一个邻接矩阵A存储网络结构,则Pi(c)代表节点i属于标签c的概率,标签的集合用C表示,并且标签的个数初始化为节点的个数n,每次计算都需要更新每个节点的向量P,公式如下:
其中,Nb(i)是节点i的邻居节点的集合,ki=|Nb(i)|是邻居节点集合的节点数量,P’i(c)代表更新后节点i属于标签c的概率,任一节点的标签在网络结构中都是唯一的,然后接着计算可以由矩阵A和向量P如下表示:
A×P.............(2)
在传递操作算子中首先需要初始化向量P,初始化的具体方法为:每个节点的标签列表的概率Pij初始化为邻居节点的权重和的倒数;如下所示:
Pij=w/ki............(3)
w表示节点i到节点j的权重;
经过上述步骤后得到每个节点的向量P;
在传递操作算子的每次计算的更新过程中,设置一个阈值λ,当节点的所属标签的概率大于λ时,则保留,小于则舍弃;且当节点中所有的标签概率都小于λ时,则随机选取一个保留;
传递操作如图3所示,对每个节点进行初始化,以节点a为例,(b,1/4)代表的是节点a属于标签b的概率为1/4,因为节点a有4个邻居节点,默认每条边的权重为1,因此得到1/4。同时设定阈值λ=1/2,当概率大于等于1/2时则保留;小于则舍弃;当节点所有都小于1/2时,则随机选取一个,并把概率设置为1。可得到如图4所示结果。
2、膨胀因子
在算法中,我们在向量P中使用膨胀因子Γin来影响标签传递,其中in是一个实数值。我们使用膨胀因子来解耦网络结构。每次计算ΓinP,Pic都会增加inth次幂,其中,th为一符号解释,其中,inth表示Pi(c)经过膨胀因子算子计算后的幂次增加。如下公式所示:
计算后,它会使节点中高概率的标签概率的数值增加,低概率的标签概率数值减少。例如,两个标签初始化为0.6和0.4。当in为2时,计算后的标签数值分别为0.6923和0.4。
3、裁剪系数
为了避免内存占用过大的问题,我们在向量P中引入了一个操作符Φr定义阈值r∈[0,1], 在计算过程中如果向量P中的标签概率小于r则把向量中的标签删除掉。操作符Φr可以与膨胀因子很好的结合使用,减少向量中标签的个数。实验证明,如果把r=0.1,则每个节点的标签的平均个数会低于3个。
在本发明中,传递操作算子中同样有一个阈值λ,其与本裁剪系数算子作用是不同的;具体来说,阈值λ是为了使传递操作算子进行优化,使每个节点具有一个或设置限制数量个数的标签,实现重叠社区的多标签输出。
但是本裁剪系数算子的作用主要是为了去除LabelRank算法中标签概率过分小的标签,降低内存占用,提高计算速度。
4、条件更新
通过以上三个操作因子对网络结构进行计算依旧不能很好的保证算法的性能,这是因为上述三个条件对社区检测的过程很难达到收敛,并且划分出来的社区质量低下。因此定义一个条件更新操作符Θq,用它来对算法进行改进,其含义为当算法过程中只有节点与其邻居节点的标签向量不相等时才更新该节点,否则不进行更新操作。这可以使算法只有满足一定条件时才进行更新并继续社区检测操作,在每次迭代中,当节点满足下列公式时,才进行更新操作。
是节点i在以往计算步骤中概率最大的标签集合,ki表示节点i的度,q是一个实数值(取值范围[0,1])。如果isSubset(s1,s2)返回值为1否则为0,满足上述公式时更新节点i的标签。公式可以看作成衡量两个节点的相似度。
算法流程如下:
子步骤34:对子步骤33中的社区中的节点进行合并处理以除去社区中的无效节点,得到客户端所对应的社区;
LabelRank算法针对不同的时刻的输入,对网络结构进行划分,从而产生不同时刻相应的结果,但是考虑到实际的P2P点播系统,主要是要抓取对于某一资源,该节点是否能够作为资源服务提供方,能够稳定有效的传输的资源。因此我们需要针对每一时刻的划分结果进行合并处理,合并处理主要对属于同一资源的有效节点进行合并,并且去除一些无效节点,所谓的无效节点指的是不能作为资源提供方的节点,而是否能够作为资源提供方的主要考量因素在于节点带宽,也就是本实施例中的权重,合并主要的步骤为:
S41:获取步骤3中的社区结构划分的结果;
S42:对社区结构划分的结果中的有效节点进行合并,并去除无效节点;
S43:以文件的形式存储合并后的数据。
对结果进行合并去除并以文件的形式对合并结果进行存储,可以有利于点播系统对结果进行读取,并且快速的定位当前节点的情况,从而判定该节点是否作为有效节点加入P2P网络。
如图5、6、7所示,数字1-4代表的是用户,数字10000以上代表的是视频id,图5、6、7是由LabelRank根据时刻1-3输出的3个结果,可以很清晰的看到,图中的结果并不能很清晰的看出网络结构结果。对上述3个时刻的结果进行合并后,结果如图8所示。
子步骤35:将客户端所对应的社区的节点信息发送至客户端。
步骤4:客户端根据步骤3中的节点信息连接节点,从节点下载资源到本地缓存,开始播放资源内容,如果没有节点或者从节点获取资源失败,客户端则从资源服务器获取资源;
具体来说,其可以分为以下几种情况:
客户端首先连接P2P服务器,若连接失败并且超时(时长由配置参数设定),则提示连接服务器失败并尝试重连,若重连失败,客户端则放弃连接服务器,从资源服务器直接获取播放数据。
客户端首先连接P2P服务器,若连接成功,则开始从其他客户端接收数据,若接收数据过慢(由参数为设定超时时间)不足以播放,则客户端则放弃从其他客户端获取资源,从资源服务器直接获取播放数据。
客户端首先连接P2P服务器,若连接成功,则开始从其他客户端接收数据,若播放过程中,接收不到数据,则从资源服务器直接获取播放数据。
客户端首先连接P2P服务器,若连接成功,则开始从其他客户端接收数据,若播放过程中,依旧正常数据,则继续采用P2P方式接收数据。
客户端以p2p方式接收资源过程中,若发送数据端人为关闭,则寻找另外一个发送端。
本发明的方法可以实时的产生日志信息文件,而社区检测划分算法也可以实时读取P2P点播系统产生的日志信息文件,并计算得到划分之后的结果,通过读取社区检测划分之后的结果,并对新登陆的用户的有效性进行判断,从而加强P2P的网络传输性能,提高P2P资源传输的有效性。通过把社区检测划分技术应用到日志信息文件的划分,系统可以从以往的运行情况,自动快速的辨别当前用户的网络性能,从而把用户节点都转化为有效的P2P节点,P2P网络的可靠性得以保证
实施例2
如图9所示,本实施例提供一种用于实现实施例1所述的基于社区检测算法P2P网络的调度方法的系统,包括以下结构:
管理端,用于获取资源,并将资源发送至资源服务器;
资源服务器,用于接收和存储管理端发送的资源,并将资源信息发送至web服务器;根据客户端的请求将资源发送至客户端;
web服务器,用于根据客户端的请求将资源信息发送至客户端;
后台数据库,用于存储多个节点的日志信息;
客户端,用于将资源信息和自身的日志信息发送到后台数据库;接收P2P信令服务器所 发送的节点信息,并根据节点信息从节点获取资源,若没有节点或者从节点获取资源失败,则发送请求给资源服务器从资源服务器获取资源。
具体来说,web服务器包括资源信息模块,用于接收web服务器所发送的资源信息,将资源信息和自身的日志信息发送到后台数据库,并将节点请求发送至P2P信令服务器;
第一资源获取模块,用于接收P2P信令服务器所发送的与资源对应的社区中的节点信息,并根据节点信息从节点获取资源;
第二资源获取模块,用于没有节点或者从节点获取资源失败的情况下,发送请求给资源服务器从资源服务器获取资源
P2P信令服务器,用于根据客户端所发送的节点请求,从后台数据库中获取当前时刻的多个节点的日志信息生成社区网络结构并对社区网络结构进行社区结构划分,并对社区结构划分结果进行合并处理,得到与与客户端日志信息对应的社区,并将该社区所包含的节点信息发送至客户端。
具体来说,P2P信令服务器包括社区网络结构构造模块,用于根据后台数据库中用户的日志信息,构造以用户为节点,用户之间的关系权重为边的社区网络结构;
日志信息获取模块,获取后台数据库中存储中节点的日志信息;
社区结构划分模块,用于根据LabelRank算法对社区网络结构进行社区结构划分,得到多个社区;
合并模块:用于对社区结构划分模块得到的社区结构划分结果进行合并处理以去除无效节点,得到客户端所对应的社区;
节点信息模块,用于将客户端对应的社区所包含的节点信息发送至客户端。
本发明的系统的优势在于:
第一,可伸缩性;随着用户的增加,P2P信令服务器的压力会越来越大,因此服务器支持集群的部署方案。
第二,良好的用户体验;支持播放拖动、较少的等待时间以及稳定性等等。
第三,降低成本;主要从减轻资源提供商的运营成本而言。
本发明的系统为基于Falsh支持P2P技术的视频点播系统。系统前端采用Flex+Action Script编写,主要功能有系统界面、播放控制等功能。系统P2P信令服务器采用的是openRTMFP开源服务器。客户端与服务器连接采用的是RTMFP协议。
系统主要提供一个便捷、高效、低成本的播放方式。用户通过网页即可打开播放器观看视频资源。观看视频资源的同时,也为其他用户提供资源,从而减轻资源服务器的负担。
在加强P2P网络传输的设计中,本系统可以实时的产生日志信息文件,而社区检测划分算法也可以实时读取P2P点播系统产生的日志信息文件,并计算得到划分之后的结果,本系统可以读取社区检测划分之后的结果,并对新登陆的用户的有效性进行判断,从而加强P2P的网络传输性能,提高P2P资源传输的有效性。通过把社区检测划分技术应用到日志信息文件的划分,系统可以从以往的运行情况,自动快速的辨别当前用户的网络性能,从而把用户节点都转化为有效的P2P节点,P2P网络的可靠性得以保证。
以上所述的仅为本发明的较佳实施例,凡在本发明的精神和原则范围内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于社区检测算法P2P网络的调度方法,其特征在于,所述的方法涉及客户端、管理端、资源服务器、P2P信令服务器、web服务器;所述的资源服务器用于通过管理端获取和存储资源并将资源信息发送给web服务器;包括以下步骤
步骤1:客户端从web服务器获取资源信息;
步骤2:客户端将资源信息和客户端自身的信息以日志信息的方式存储到后台数据库,并且客户端向P2P信令服务器发送节点请求;所述的后台数据库用于存储多个节点的日志信息;
步骤3:P2P信令服务器根据后台数据库中存储的日志信息生成社区网络结构,并对社区网络结构进行社区结构划分,得到划分结构并进行合并处理去除无效节点,得到与客户端对应的社区,并将该社区包含的节点发送至客户端;
步骤4:客户端根据步骤3中的节点信息连接节点,从节点获取资源。
2.根据权利要求1所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的步骤3具体为:
子步骤31:获取后台数据库中存储中节点的日志信息;
子步骤32:根据节点的日志信息,构造以用户为节点,用户之间的关系为边,通过节点带宽表示权重的社区网络结构;
子步骤33:根据LabelRank算法对社区网络结构进行社区结构划分,得到多个社区;其中,LabelRank算法包含一个操作算子:传递操作;
所述的传递操作具体为:在每个节点定义一个1×n的向量P保存标签分布,n为节点的数量;定义一个邻接矩阵A存储网络结构,则Pi(c)代表节点i属于标签c的概率,标签的集合用C表示,并且标签的个数初始化为节点的个数n,每次计算都需要更新每个节点的向量P,公式如下:
其中,Nb(i)是节点i的邻居节点的集合,ki=|Nb(i)|是邻居节点集合的节点数量,P’i(c)代表更新后节点i属于标签c的概率,然后接着计算可以由矩阵A和向量P如下表示:
A×P.............(2)
在传递操作算子中首先需要初始化向量P,初始化的具体方法为:每个节点的标签列表的概率Pij初始化为邻居节点的权重和的倒数;如下所示:
Pij=w/ki…………(3)
w表示节点i到节点j的权重;
经过上述步骤后得到每个节点的向量P;
在传递操作算子的每次计算的更新过程中,设置一个阈值λ,当节点的所属标签的概率大于λ时,则保留,小于则舍弃;且当节点中所有的标签概率都小于λ时,则随机选取一个保留;
子步骤34:对子步骤33中的社区中的节点进行合并处理以除去社区中的无效节点,得到客户端所对应的社区;
子步骤35:将客户端所对应的社区的节点信息发送至客户端。
3.根据权利要求2所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的LabelRank算法还包括一个操作算子:膨胀因子;
所述的膨胀因子具体为:在向量P中使用膨胀因子Γin来影响标签传递,其中in是一个实数值,通过使用膨胀因子来解耦网络结构,每次计算ΓinP,Pic都会增加inth次幂,如下公式所示:
计算后,它会使节点中高概率的标签概率的数值增加,低概率的标签概率的数值减少。
4.根据权利要求3所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的LabelRank算法还包括一个操作算子:裁剪系数;
所述的裁剪系数具体为:在向量P中引入了一个操作符Φr定义阈值r∈[0,1],在计算过程中如果向量P中的标签概率小于r则把向量中的标签删除掉。
5.根据权利要求4所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的LabelRank算法还包括一个操作算子:条件更新;
所述的条件更新具体为:定义一个条件更新操作符Θq,其含义为当算法过程中只有节点与其邻居节点的标签向量不相等时才更新该节点,否则不进行更新操作;即在每次迭代中,当节点满足下列公式时,才进行更新操作;
是节点i在以往计算步骤中概率最大的标签集合,ki表示节点i的度,q是一个实数值,q的取值范围[0,1]。
6.根据权利要求2所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的日志信息为用户ID、视频URL、视频播放方式、连接服务器时同一组中的Peer数、用户IP、组内其他用户ID、用户带宽。
7.根据权利要求1所述的基于社区检测算法P2P网络的调度方法,其特征在于,所述的步骤4还包括:如果没有节点或者从节点获取资源失败,客户端则从资源服务器获取资源。
8.一种基于社区检测算法P2P网络的调度系统,其特征在于,包括:
管理端,用于获取资源,并将资源发送至资源服务器;
资源服务器,用于接收和存储管理端发送的资源,并将资源信息发送至web服务器;根据客户端的请求将资源发送至客户端;
web服务器,用于根据客户端的请求将资源信息发送至客户端;
后台数据库,用于存储多个节点的日志信息;
客户端,用于将资源信息和自身的日志信息发送到后台数据库;接收P2P信令服务器所发送的节点信息,并根据节点信息从节点获取资源,若没有节点或者从节点获取资源失败,则发送请求给资源服务器从资源服务器获取资源。
P2P信令服务器,用于根据客户端所发送的节点请求,从后台数据库中获取当前时刻的多个节点的日志信息生成社区网络结构并对社区网络结构进行社区结构划分,并对社区结构划分结果进行合并处理,得到与与客户端日志信息对应的社区,并将该社区所包含的节点信息发送至客户端。
9.根据权利要求8所述的基于社区检测算法P2P网络的调度系统,其特征在于,所述的客户端包括:
资源信息模块,用于接收web服务器所发送的资源信息,将资源信息和自身的日志信息发送到后台数据库,并将节点请求发送至P2P信令服务器;
第一资源获取模块,用于接收P2P信令服务器所发送的与资源对应的社区中的节点信息,并根据节点信息从节点获取资源;
第二资源获取模块,用于没有节点或者从节点获取资源失败的情况下,发送请求给资源服务器从资源服务器获取资源。
10.根据权利要求8所述的基于社区检测算法P2P网络的调度系统,其特征在于,所述的P2P信令服务器包括:
日志信息获取模块,获取后台数据库中存储中节点的日志信息;
社区网络结构构造模块,用于根据后台数据库中用户的日志信息,构造以用户为节点,用户之间的关系权重为边的社区网络结构;
社区结构划分模块,用于根据LabelRank算法对社区网络结构进行社区结构划分,得到多个社区;
合并模块:用于对社区结构划分模块得到的社区结构划分结果进行合并处理以去除无效节点,得到客户端所对应的社区;
节点信息模块,用于将客户端对应的社区所包含的节点信息发送至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610232013.0A CN105915602B (zh) | 2016-04-13 | 2016-04-13 | 基于社区检测算法p2p网络的调度方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610232013.0A CN105915602B (zh) | 2016-04-13 | 2016-04-13 | 基于社区检测算法p2p网络的调度方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915602A true CN105915602A (zh) | 2016-08-31 |
CN105915602B CN105915602B (zh) | 2020-11-13 |
Family
ID=56746938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610232013.0A Active CN105915602B (zh) | 2016-04-13 | 2016-04-13 | 基于社区检测算法p2p网络的调度方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915602B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133782A (zh) * | 2017-05-03 | 2017-09-05 | 扬州大学 | 基于用户信息特征的电子邮件网络演化方法 |
CN109379282A (zh) * | 2018-10-25 | 2019-02-22 | 浙江工业大学 | 基于多标签传播的网络社区检测方法 |
CN109413081A (zh) * | 2018-11-12 | 2019-03-01 | 郑州昂视信息科技有限公司 | 一种Web服务调度方法及调度系统 |
CN110139126A (zh) * | 2019-06-18 | 2019-08-16 | 洛阳师范学院 | 基于用户交互行为感知的移动视频系统资源共享方法 |
CN110300034A (zh) * | 2019-05-07 | 2019-10-01 | 清华大学 | 基于Web的网速测量方法及装置 |
CN110310122A (zh) * | 2019-06-27 | 2019-10-08 | 上海麦克风文化传媒有限公司 | 一种基于图结构的iOS代充风险控制方法 |
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN112653765A (zh) * | 2020-12-24 | 2021-04-13 | 南京审计大学 | 一种基于社区重叠和内嵌分析的资源配置的方法和装置 |
CN116185379A (zh) * | 2022-11-17 | 2023-05-30 | 北京东方通科技股份有限公司 | 一种对代码托管平台进行优化的方法 |
CN110298669B (zh) * | 2019-06-27 | 2023-09-12 | 上海麦克风文化传媒有限公司 | 一种基于图形结构的iOS代充风险控制系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778005A (zh) * | 2010-03-05 | 2010-07-14 | 中兴通讯股份有限公司 | 复杂网络配置方法和系统 |
CN102932486A (zh) * | 2012-11-26 | 2013-02-13 | 南京大学 | 一种在非结构化分布式p2p网络中划分网络结构的方法 |
CN103051645A (zh) * | 2011-10-11 | 2013-04-17 | 电子科技大学 | P2p网络中基于分组的激励机制 |
CN103729475A (zh) * | 2014-01-24 | 2014-04-16 | 福州大学 | 一种社交网络中的多标签传播重叠社区发现方法 |
CN103929408A (zh) * | 2013-01-16 | 2014-07-16 | 李青钟 | 网络或真实社区调度系统及网络或真实社区中的调度方法 |
CN104199852A (zh) * | 2014-08-12 | 2014-12-10 | 上海交通大学 | 基于节点隶属度的标签传播社团结构挖掘方法 |
CN104391889A (zh) * | 2014-11-11 | 2015-03-04 | 西安交通大学 | 一种面向有向-加权网络的社区结构发现方法 |
WO2015135561A1 (en) * | 2014-03-10 | 2015-09-17 | Nokia Solutions And Networks Oy | Distribution of popular content between user nodes of a social network community via direct proximity-based communication |
CN104933141A (zh) * | 2015-06-19 | 2015-09-23 | 四川大学 | 一种基于Floyd-Warshall的互联网社区检测算法 |
CN105243593A (zh) * | 2015-08-04 | 2016-01-13 | 电子科技大学 | 基于混合测度的加权网络社区聚类方法 |
-
2016
- 2016-04-13 CN CN201610232013.0A patent/CN105915602B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778005A (zh) * | 2010-03-05 | 2010-07-14 | 中兴通讯股份有限公司 | 复杂网络配置方法和系统 |
CN103051645A (zh) * | 2011-10-11 | 2013-04-17 | 电子科技大学 | P2p网络中基于分组的激励机制 |
CN102932486A (zh) * | 2012-11-26 | 2013-02-13 | 南京大学 | 一种在非结构化分布式p2p网络中划分网络结构的方法 |
CN103929408A (zh) * | 2013-01-16 | 2014-07-16 | 李青钟 | 网络或真实社区调度系统及网络或真实社区中的调度方法 |
CN103729475A (zh) * | 2014-01-24 | 2014-04-16 | 福州大学 | 一种社交网络中的多标签传播重叠社区发现方法 |
WO2015135561A1 (en) * | 2014-03-10 | 2015-09-17 | Nokia Solutions And Networks Oy | Distribution of popular content between user nodes of a social network community via direct proximity-based communication |
CN104199852A (zh) * | 2014-08-12 | 2014-12-10 | 上海交通大学 | 基于节点隶属度的标签传播社团结构挖掘方法 |
CN104391889A (zh) * | 2014-11-11 | 2015-03-04 | 西安交通大学 | 一种面向有向-加权网络的社区结构发现方法 |
CN104933141A (zh) * | 2015-06-19 | 2015-09-23 | 四川大学 | 一种基于Floyd-Warshall的互联网社区检测算法 |
CN105243593A (zh) * | 2015-08-04 | 2016-01-13 | 电子科技大学 | 基于混合测度的加权网络社区聚类方法 |
Non-Patent Citations (2)
Title |
---|
张国鹏: "基于P2P日志文件的社区检测研究与应用", 《中国知网》 * |
龚光敏: "一种P2P视频点播系统的日志分析子系统设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133782A (zh) * | 2017-05-03 | 2017-09-05 | 扬州大学 | 基于用户信息特征的电子邮件网络演化方法 |
CN107133782B (zh) * | 2017-05-03 | 2020-06-09 | 扬州大学 | 基于用户信息特征的电子邮件网络演化方法 |
CN109379282B (zh) * | 2018-10-25 | 2020-11-13 | 浙江工业大学 | 基于多标签传播的网络社区检测方法 |
CN109379282A (zh) * | 2018-10-25 | 2019-02-22 | 浙江工业大学 | 基于多标签传播的网络社区检测方法 |
CN109413081A (zh) * | 2018-11-12 | 2019-03-01 | 郑州昂视信息科技有限公司 | 一种Web服务调度方法及调度系统 |
CN109413081B (zh) * | 2018-11-12 | 2021-09-07 | 郑州昂视信息科技有限公司 | 一种Web服务调度方法及调度系统 |
CN110300034A (zh) * | 2019-05-07 | 2019-10-01 | 清华大学 | 基于Web的网速测量方法及装置 |
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN112039822B (zh) * | 2019-06-03 | 2022-08-02 | 本无链科技(深圳)有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN110139126B (zh) * | 2019-06-18 | 2021-01-22 | 洛阳师范学院 | 基于用户交互行为感知的移动视频系统资源共享方法 |
CN110139126A (zh) * | 2019-06-18 | 2019-08-16 | 洛阳师范学院 | 基于用户交互行为感知的移动视频系统资源共享方法 |
CN110310122A (zh) * | 2019-06-27 | 2019-10-08 | 上海麦克风文化传媒有限公司 | 一种基于图结构的iOS代充风险控制方法 |
CN110310122B (zh) * | 2019-06-27 | 2023-09-01 | 上海麦克风文化传媒有限公司 | 一种基于图结构的iOS代充风险控制方法 |
CN110298669B (zh) * | 2019-06-27 | 2023-09-12 | 上海麦克风文化传媒有限公司 | 一种基于图形结构的iOS代充风险控制系统 |
CN112653765A (zh) * | 2020-12-24 | 2021-04-13 | 南京审计大学 | 一种基于社区重叠和内嵌分析的资源配置的方法和装置 |
CN116185379A (zh) * | 2022-11-17 | 2023-05-30 | 北京东方通科技股份有限公司 | 一种对代码托管平台进行优化的方法 |
CN116185379B (zh) * | 2022-11-17 | 2023-09-22 | 北京东方通科技股份有限公司 | 一种对代码托管平台进行优化的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105915602B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915602A (zh) | 基于社区检测算法p2p网络的调度方法及其系统 | |
US20220398280A1 (en) | Methods and systems for associating internet devices | |
CN100596135C (zh) | 一种确定内容提供商优先级的系统和方法 | |
US20220365996A1 (en) | Real-time event detection on social media streams | |
US20080097994A1 (en) | Method of extracting community and system for the same | |
US7945668B1 (en) | System and method for content-aware co-clustering algorithm based on hourglass model | |
US20070214207A1 (en) | Method and system for accurate issuance of data information | |
CN101266610A (zh) | 一种Web活跃用户网站访问模式的在线挖掘方法 | |
CN109271488B (zh) | 一种结合行为序列和文本信息的社交网络用户间因果关系发现方法及系统 | |
CN102868936B (zh) | 存储视频日志的方法和系统 | |
CN108124168A (zh) | 一种无线移动网络下基于用户兴趣感知的视频共享方法 | |
CN103354518A (zh) | 基于Web日志挖掘的智能家居网关及系统 | |
CN112632129A (zh) | 一种码流数据管理方法、装置及存储介质 | |
Sidiropoulos et al. | Prefetching in content distribution networks via web communities identification and outsourcing | |
CN101471825B (zh) | 利用声望模型的p2p流媒体系统节点有效性的检测方法 | |
Dohare et al. | Novel web usage mining for web mining techniques | |
Majó-Vázquez et al. | Media roles in the online news domain: Authorities and emergent audience brokers | |
CN101808104A (zh) | 一种以流式方式运行的互联网建立方法 | |
CN105915376A (zh) | 基于p2p点播系统的日志信息网络结构化方法及其系统 | |
CN101626336A (zh) | 一种利用信任机制提高p2p覆盖网络交互性能的方法 | |
Hong et al. | Improved short-video user impact assessment method based on PageRank algorithm | |
CN106210779B (zh) | 优化网络视频直播数据分层传输的方法及系统 | |
CN109960748A (zh) | 基于知识图谱的个人直播用户观看主播预测的方法及系统 | |
CN112256756B (zh) | 一种基于三元关联图和知识表示的影响力发现方法 | |
Zhuo et al. | F-measure: A forecasting-led time series distance measure in large-scale forecasting of video services performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |