一种基于移动社会网络文件分发方法与流程

文档序号:11479748阅读:197来源:国知局
一种基于移动社会网络文件分发方法与流程

本发明属于移动社会网络领域,特别涉及一种基于移动社会网络文件分发方法。



背景技术:

移动社会网络是一种源于机会网络的新兴的网络应用,由多个具有社会属性的社会实体通过移动智能设备实现互联的特殊的社交网络。在此网络中,社会实体通过移动等方式实现信息的存储和转发,完成信息在网络中传递。在近年来,大量的研究针对在移动社会网络中的如何提高数据投递效率和网络性能,在此过程也提供了众多的移动数据模型和路由策略,为后来研究者提供了丰富的宝贵经验。

文件作为信息在网络中传输的主要载体之一,一直深受广大人们的欢迎,根据近几年《中国互联网络发展状况统计报告》和gartner等调研报告显示,p2p网络产生的流量占据整个互联网流量相当大的比重,而文件共享作为p2p网络提供的主要服务之一,所产生的流量也占有相当大的比重。虽然目前p2p网络文件下载技术比较成熟,然而为了更好的满足们的文件下载需求,研究者们研究如何在p2p网络中继续发展和提高其性能的同时,并且融合其他网络特性,提供更好的内容分发服务,其中移动p2p网络就是一种。

近年来,随着无线通信技术的发展,以及类似手机、平板等更多移动智能设备的应用,为移动社会网络提供了更多的无线通信方式,提高了通信能力,同时因为因特网的巨大发展和交通工具进步加强了人们之间的联系,让人与人之间交流交互更加频繁,移动能力更加快速、范围更大,具有的社会属性更加明确。这些使得移动社会网络的应用场景更加广泛,同时移动设备的存储和计算能力提高,为移动社会网络中更多内容如文件传输提供条件。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种将文件分割成众多的文件块,方便节点间的存储携带转发,将节点根据节点属性信息和移动特征划分不同的活跃度和优先级,提高了文件内容的分发效率的基于移动社会网络文件分发方法。

本发明的目的是通过以下技术方案来实现的:一种基于移动社会网络文件分发方法,包括以下步骤:

s1、srcnode选择需要传输的文件,将其分割成m块,并对每个文件块进行标识fb1、fb2、...fbm;

s2、对于移动社会网络中任意一个节点nodei,当nodei与其他节点相遇时,记录与其相遇节点名称以及该节点所含文件块列表;

s3、在节点相遇时,根据节点的历史信息和节点属性,对所有节点的活跃度和优先级进行划分,确定每个优先级所要传输的文件块;

s4、对于每个优先级所要传输的文件块,计算每个文件块在网络中的分布情况,确定文件块的传输顺序并依次传输文件块;

s5、当某一文件块传输完成后,判断是否传输成功,如果成功则当前所有的会话节点进行文件块列表更新,然后继续按照传输顺序传输下一个文件块;否则重新传输,直至所有文件块都传输成功。

进一步地,所述步骤s2具体包括以下子步骤:

s21、当多个节点在某一时刻能够彼此通信时,计算每个节点所含的文件块列表fblisti,并将该列表传输给其他所有的会话节点;

s22、会话节点收到其他节点的fblisti信息,判断当前会话节点的节点集nset是否含有其他节点及其文件块列表信息,如果有,则直接更新当前节点的文件块列表信息,否则在nset中插入该节点及其文件块列表信息;

s23、计算当前会话节点所有可用于传输的文件块集合fbset,如下式所示:

s24、每个会话节点nodei根据其自身的节点集nset计算其相遇节点的数目numi和fbset中每个文件块fbj在其相遇节点中的存在个数fbnumi,j;如果nset中的节点中包含文件块fbj,则fbnumi,j数值加1,直到遍历完nset中所有的节点。

进一步地,所述步骤s3具体包括以下子步骤:

s31、根据s24中获取的numi,计算每个节点的活跃度adegreei:

s32、将活跃度划分为k个等级,每个等级处于一定的区间(0,k1,k2...kk-2,kk-1,1),其中0<k1<k2<…<kk-2<kk-1<1,任意节点的adegreei满足ki-1<adegreei<ki,确定每个会话节点的活跃度;

s33、判断当前会话节点中是否含有目的节点,如果含有目的节点,则目的节点的优先级为活跃度从低到高的顺序,即活跃度越高,优先级越低,且目的节点的优先级高于普通节点;普通节点的优先级为节点活跃度从高到低的顺序,即节点活跃度越高,节点的优先级越高;

s34、依次确定每个优先级中要传输的所有文件块集合pfblistk;即先计算该优先级每个节点需求的文件块集合needi,然后根据needi求出pfblistk;具体公式如下:

pfblistk=(∪needi)∩fbset。

进一步地,所述步骤s4具体包括以下子步骤:

s41、计算pfblistk中每个文件块fbj存在当前会话节点中的个数mj,即当前会话中有mj个节点含有fbj;设当前会话共有m个节点,则在会话过程中文件块fbj占会话节点的概率为:

s42、计算每个文件块在该节点相遇节点的分布概率:

s43、计算pfblistk中每个文件块fbj通过历史相遇信息而得出的在网络中的平均概率:

根据p会,j和pav,j对文件块fbj的分布概率进行均衡:

pj=p会,j×(1+pav,j-p会,j)

则确定文件块fbj的优先级prioj为:

prioj=1/pj;

s44、将pfblistk中的文件块按照优先级prioj由高到低排序,依次群发传输文件块fbj到不含该文件块的节点中去。

本发明的有益效果是:本发明在移动社会网络文件分发过程中,考虑了移动社会网络节点连接的间断性,将文件分割成众多的文件块,方便节点间的存储携带转发;同时利用节点的历史信息和节点属性以及当前会话信息,考虑文件块之间的相关性,采用均衡思想对文件块的概率进行有效估计;以及因为网络中节点的作用不同,对网络中的节点进行区分,对网络中的文件块分布进行计算,将节点根据节点属性信息和移动特征划分不同的活跃度和优先级,提供网络整体的信息转发能力,进而提高文件内容的分发效率。

附图说明

图1为本发明的基于移动社会网络文件分发方法的流程图;

图2为本发明的会话节点相遇,记录节点名称以及该节点所含文件块列表的流程图;

图3为本发明的对所有节点的活跃度和优先级进行划分的流程图;

图4为本发明的确定文件块的传输顺序的流程图。

具体实施方式

本发明中,通过节点移动特性,节点间在相互移动相遇过程中,结合无线通信技术,当节点间处于通信范围之后,结合节点的历史信息、节点属性和当前会话信息,对网络中的节点进行区分,对网络中的文件块分布进行计算,确定文件块的传输顺序,提高文件的分发效率。其主要有以下两点内容:

(1)提出一种节点活跃度和优先级的划分方法,结合节点的目的属性和移动特征区分网络中不同节点的作用。

(2)提出一种网络中文件块的分布计算方法,考虑文件块之间的相关性对网络中文件分发效率的影响对文件块进行合理分发传输。

本发明根据上述方法结合节点的移动特征和属性信息,同时考虑文件块的相关性对文件在移动社会网络分发的影响,确定文件块的传输顺序,从而保证了各个文件块在网络中均匀分布,各个文件块在网络中的作用均等,从而能够使文件内容快速分发到网络中,高效的到达各个目的节点,提高文件分发效率。

在对本发明的技术方案进行描述时,为了使本发明及背景技术更易于理解,首先做出如下定义:

1)noden:编号为n的移动社会网络节点名称。节点是一种可以通过人们携带而移动的电子设备,可以携带传输信息、存储历史信息,并且可以通过无线通信实现节点之间的通信和信息传输。

2)srcnode(sourcenode):源节点,是移动社会网络节点中之一。源节点可以选择要传输的文件,并对选中的文件进行分块,并可以确定要传输文件内容的目的节点。

3)fbn(fileblockn):编号为n的文件块。

4)fblistn(fileblocklistn):noden中的文件块列表,表示该节点所含的文件块。

5)nsetn(nodesetn):noden的节点集。表示该节点相遇过的所有节点和其对应的文件块列表。结构如表1所示。

表1nsetn组成结构

6)会话:移动社会网络中,节点之间正在通信和信息传输的阶段。

7)活跃度:是一种衡量节点在网络中传输信息内容能力的标准。节点的活跃度越高,则与其他节点相遇的频率越大,信息携带转发的能力也就越强。

下面结合附图进一步说明本发明的技术方案。

如图1所示,一种基于移动社会网络文件分发方法,包括以下步骤:

s1、srcnode选择需要传输的文件,将其分割成m块,并对每个文件块进行标识fb1、fb2、...fbm;

s2、对于移动社会网络中任意一个节点nodei,当nodei与其他节点相遇时,记录与其相遇节点名称以及该节点所含文件块列表;在不同的移动社会网络应用范围内,节点的移动速度、节点间通信时间间隔分布以及节点间通信带宽等因素会随不同的应用场景而不同,因而导致在不同的移动社会网络中文件的分块大小会不同,同一个文件在网络中分割的块数也会不同,因此在设定分块大小时应该结合具体的移动社会网络应用场景进行设置。本发明中,假设所有的节点都有能力能够存储所有的文件块,同时,都具有不同的移动能力,且都能和其他节点进行交换进行内容转发。本步骤具体流程如图2所示,包括以下子步骤:

s21、当多个节点在某一时刻能够彼此通信时,计算每个节点所含的文件块列表fblisti,并将该列表传输给其他所有的会话节点;

s22、会话节点收到其他节点的fblisti信息,判断当前会话节点的节点集nset是否含有其他节点及其文件块列表信息,如果有,则直接更新当前节点的文件块列表信息,否则在nset中插入该节点及其文件块列表信息;

s23、计算当前会话节点所有可用于传输的文件块集合fbset,如下式所示:

s24、每个会话节点nodei根据其自身的节点集nset计算其相遇节点的数目numi和fbset中每个文件块fbj在其相遇节点中的存在个数fbnumi,j;如果nset中的节点中包含文件块fbj,则fbnumi,j数值加1,直到遍历完nset中所有的节点。

s3、在节点相遇时,根据节点的历史信息和节点属性,对所有节点的活跃度和优先级进行划分,确定每个优先级所要传输的文件块;具体流程如图3所示,包括以下子步骤:

s31、根据s24中获取的numi,计算每个节点的活跃度adegreei:

s32、将活跃度划分为k个等级,每个等级处于一定的区间(0,k1,k2...kk-2,kk-1,1),其中0<k1<k2<…<kk-2<kk-1<1,任意节点的adegreei满足ki-1<adegreei<ki,确定每个会话节点的活跃度;

s33、判断当前会话节点中是否含有目的节点,如果含有目的节点,则目的节点的优先级为活跃度从低到高的顺序,即活跃度越高,优先级越低,且目的节点的优先级高于普通节点;普通节点的优先级为节点活跃度从高到低的顺序,即节点活跃度越高,节点的优先级越高;

s34、依次确定每个优先级中要传输的所有文件块集合pfblistk;即先计算该优先级每个节点需求的文件块集合needi,然后根据needi求出pfblistk;具体公式如下:

pfblistk=(∪needi)∩fbset。

s4、对于每个优先级所要传输的文件块,计算每个文件块在网络中的分布情况,确定文件块的传输顺序并依次传输文件块;具体流程如图4所示,包括以下子步骤:

s41、计算pfblistk中每个文件块fbj存在当前会话节点中的个数mj,即当前会话中有mj个节点含有fbj;设当前会话共有m个节点,则在会话过程中文件块fbj占会话节点的概率为:

s42、计算每个文件块在该节点相遇节点的分布概率:

s43、计算pfblistk中每个文件块fbj通过历史相遇信息而得出的在网络中的平均概率:

根据p会,j和pav,j对文件块fbj的分布概率进行均衡:

pj=p会,j×(1+pav,j-p会,j)

则确定文件块fbj的优先级prioj为:

prioj=1/pj;

s44、将pfblistk中的文件块按照优先级prioj由高到低排序,依次群发传输文件块fbj到不含该文件块的节点中去。

s5、当某一文件块传输完成后,判断是否传输成功,如果成功则当前所有的会话节点进行文件块列表更新,然后继续按照传输顺序传输下一个文件块;否则重新传输,直至所有文件块都传输成功。

上述过程,通过结合当前信息和会话情况估算每个文件块在网络中的分布概率,进而确定文件块的传输顺序,使得每个文件块的在网络中分布均匀。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

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