本发明专利技术公开了一种用于P2P网络的弹性广播方法,当创建完需要广播的数据后,申请将所述数据放入广播队列中,所述广播队列是广播数据的汇总集,将所述数据根据时间先后进行顺序排列;在广播队列中检查数据状态根据数据状态的不同动态调整数据排列先后;当完成队列排序后,对处于广播队列中的所有的节点均发送任务并循环队列,通过连接器连接所述节点的目标地址,当目标地址接收数据后记录数据发送结果,本发明专利技术还延伸出一种用于P2P网络的弹性广播系统,包括节点管理器、广播管理器、数据管理器,解决了在超大型P2P网络中数据广播的最大面积覆盖问题、数据丢失问题以及网络风暴问题。
【技术实现步骤摘要】
一种用于P2P网络的弹性广播方法及系统
本专利技术涉及区块链
,特别是一种用于P2P网络的弹性广播方法及系统。
技术介绍
在P2P网络中,去中心化是其特征,去掉了中心后那么将没有统一的管理与协调者,那么P2P网络中的各节点将无法得知整个网络的整体面貌,那么就很难做出基于全网的有针对性的行为。比如在P2P网络中,当需要将一条数据快速的传遍整个网络时,由于不知道网络中有多少节点,以及哪些节点已经接收过这个数据,所以往往采用向网络中所有的已知节点发送一遍数据,但是由于接收到数据的节点也不知道其它哪些节点已经接收过数据,所接收到的节点又会向网络中它所已知的节点全部再发送一遍,如此往复,每个节点接收到时都不知道别人是否已经收到过,所以就会一直广播,虽然进行广播动作的节点可以进行过滤,不发送给那些自己已广播过的节点,但是依然会广播2的N次方次,随着节点的增加,广播次数呈指数增加,这会在网络增加到一定规模时在网络中形成一个广播风暴。尤其是当P2P网络应用于区块链时,区块链的数据处理有其时间限制,如果不能在有一个有效时间范围内让数据得到充分广播,那么可能影响正常业务的开展。那么如何在没有中心控制节点且不用知道全局节点的情况下,还能尽可能的将数据广播到全部节点,成为一个急需解决的问题。
技术实现思路
本专利技术旨在提出一种用于P2P网络的弹性广播方法及系统,解决了在超大型P2P网络中数据广播的最大面积覆盖问题,解决了数据在P2P网络中广播时的丢失问题,解决了数据在P2P网络中广播所产生的网络风暴问题。一种用于P2P网络的弹性广播方法,所述广播方法包括:S1、当创建完需要广播的数据后,申请将所述数据放入广播队列中,所述广播队列是广播数据的汇总集,将所述数据根据时间先后进行顺序排列;S2、在广播队列中检查数据状态,所述数据状态包括但不限于数据类型、数据所处的当前节点规模、数据广播时间、数据广播时间与节点广播可用时间的差值;根据数据状态的不同动态调整数据排列先后;S3、当完成队列排序后,对处于广播队列中的所有的节点均发送任务并循环队列,通过连接器连接所述节点的目标地址,当目标地址接收数据后记录数据发送结果。进一步的,S2中所述检查数据状态的过程包括:S21、根据数据广播的缓急分为紧急型数据和普通型数据,将所述紧急型数据放入广播队列的前面,将所述普通型数据按照接收顺序放入广播队列中;S22、检查当前节点规模,初步估算当前数据广播所需时间和数据广播时可用时间,当广播所需时间大于可用时间时申请更多广播时间,当广播所需时间等于可用时间时,广播队列匹配并将数据发送给下一个节点,当广播所需时间小于可用时间时,广播队列将数据广播至下一批广播覆盖时间最短的节点。进一步的,所述循环队列过程包括:S31、提取发送任务并获取发送任务的类型和发送目标地址;S32、开始循环目标地址并发送所需要广播的数据,所述循环目标地址的过程包括根据单向广播和多向广播的类型选择连接器;S33、通过连接器向目标地址建立连接并发送数据,确认目标地址已接收数据后,记录数据发送结果。一种用于P2P网络的弹性广播系统,所述系统包括:节点管理器:用于搜索P2P网络中的新节点,维持已知节点的有效性并记录各节点的历史活动情况;广播管理器:用于将数据广播到网络中,广播的方式包括但不限于定向广播、组合广播,所述广播的方式根据应用场景的实际情况选择适当的方式进行广播;数据管理器:用于管理需要广播的数据,记录接收到的数据并根据广播管理器反馈的结果,评估数据在P2P网络的分布,以及评估数据在P2P网络中的覆盖面,当后续确认数据存在缺失时,进行重新补发,其中,所述节点管理器、广播管理器和数据管理器互相交叉网状连接,所述广播管理器根据节点管理器收集的节点信息选择适当的方式进行广播,数据管理器根据广播管理器反馈的结果调整数据广播队列。进一步的,所述节点管理器包括:网络连接模块:用于为节点管理器提供网络支持,根据上层应用环境不同选择不同的网络连接方式;节点扫描模块:用于探测当前可触及网络范围内是否有可用节点,在扫描过程中获悉包括但不限于节点连接速度、节点响应时间、节点操作系统;节点列表模块:用于记录由节点扫描模块返回的信息,并记录后续与节点交互过程中产生的信息,为后续的操作提供数据支撑。进一步的,所述广播管理器包括:广播方式管理模块:用于通过初始时代码定义广播的方式,上层应用不能动态修改,在定义广播方式的过程中支持包括但不限于HTTP、HTTPS、Webscoket、WebRTC在内的传输协议;定向广播管理模块:针对指定的目标地址进行定向数据的发送,通过底层的通信协议完成数据发送,对发送状态进行跟踪;群组广播管理模块:用于向一组节点或者一群节点发送信息。进一步的,所述数据管理器包括:队列管理模块:用于管理即将进行广播的数据,并维护队列的有效性,广播时根据队列的排队规则从队列里顺序取出所需广播数据即可;接收数据模块:用于接收外部的数据,并将外部的数据存入本地,同时将影响队列管理模块的数据提交给所述队列管理模块进行处理;网络数据模块:用于保存和分析网络的连接情况,动态维护网络的效率及负担情况,并提供队列管理模块实时调整队列方案。本专利技术为了解决问题,从时间和范围两个角度出发,根据需要广播的数据量动态调整自己的广播时间,这里的广播时间小于或等于节点可用时间,并根据过往的数据广播情况动态调整首批广播节点范围,做到单位时间内广播覆盖率在全局范围内做到最优。附图说明图1为本专利技术所提及弹性广播方法的流程示意图;图2是本专利技术所提及弹性广播方法中检查数据的工作流程图;图3是本专利技术所提及弹性广播方法中循环队列的工作流程图;图4是本专利技术所提及弹性广播系统的组成示意图;图5是本专利技术所提及节点管理器的组成示意图;图6是本专利技术所提及广播管理器的组成示意图;图7是本专利技术所提及数据管理器的组成示意图,其中:1节点管理器;2广播管理器;3数据管理器;101网络连接模块;102节点扫描模块;103节点列表模块;201广播方式管理模块;202定向广播管理模块;203群组广播管理模块;301队列管理模块;302接收数据模块;303网络数据模块具体实施方式下面结合附图和具体实施例对本专利技术作进一步详述。在此需要说明的是,下面所描述的本专利技术各个实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。如图1-3所示,本专利技术为了解决在没有中心控制节点且不用知道全局节点的情况下,还能尽可能的将数据广播到全部节点,提出一种用于P2P网络的弹性广播方法,方法的具体过程包括如下内容:S1、当创建完需要广播的数据后,申请将所述数据放入广播队列中,所述广播队列是广播数据的汇总集,将所述数据根据时间先后进行顺序排列;S2、在广播队列中本文档来自技高网...
【技术保护点】
1.一种用于P2P网络的弹性广播方法,其特征在于,所述广播方法包括:/nS1、当创建完需要广播的数据后,申请将所述数据放入广播队列中,所述广播队列是广播数据的汇总集,将所述数据根据时间先后进行顺序排列;/nS2、在广播队列中检查数据状态,所述数据状态包括但不限于数据类型、数据所处的当前节点规模、数据广播时间、数据广播时间与节点广播可用时间的差值,根据数据状态的不同动态调整数据排列先后;/nS3、当完成队列排序后,对处于广播队列中的所有的节点均发送任务并循环队列,通过连接器连接所述节点的目标地址,当目标地址接收数据后记录数据发送结果。/n
【技术特征摘要】
1.一种用于P2P网络的弹性广播方法,其特征在于,所述广播方法包括:
S1、当创建完需要广播的数据后,申请将所述数据放入广播队列中,所述广播队列是广播数据的汇总集,将所述数据根据时间先后进行顺序排列;
S2、在广播队列中检查数据状态,所述数据状态包括但不限于数据类型、数据所处的当前节点规模、数据广播时间、数据广播时间与节点广播可用时间的差值,根据数据状态的不同动态调整数据排列先后;
S3、当完成队列排序后,对处于广播队列中的所有的节点均发送任务并循环队列,通过连接器连接所述节点的目标地址,当目标地址接收数据后记录数据发送结果。
2.根据权利要求1所述的一种用于P2P网络的弹性广播方法,其特征在于,S2中所述检查数据状态的过程包括:
S21、根据数据广播的缓急分为紧急型数据和普通型数据,将所述紧急型数据放入广播队列的前面,将所述普通型数据按照接收顺序放入广播队列中;
S22、检查当前节点规模,初步估算当前数据广播所需时间和数据广播时可用时间,当广播所需时间大于可用时间时申请更多广播时间,当广播所需时间等于可用时间时,广播队列匹配并将数据发送给下一个节点,当广播所需时间小于可用时间时,广播队列将数据广播至下一批广播覆盖时间最短的节点。
3.根据权利要求1所述的一种用于P2P网络的弹性广播方法,其特征在于,所述循环队列过程包括:
S31、提取发送任务并获取发送任务的类型和发送目标地址;
S32、开始循环目标地址并发送所需要广播的数据,所述循环目标地址的过程包括根据单向广播和多向广播的类型选择连接器;
S33、通过连接器向目标地址建立连接并发送数据,确认目标地址已接收数据后,记录数据发送结果。
4.一种用于P2P网络的弹性广播系统,其特征在于,所述系统包括:
节点管理器:用于搜索P2P网络中的新节点,维持已知节点的有效性并记录各节点的历史活动情况;
广播管理器:用于将数据广播到网络中,广播的方式包括但不限于定向广播、组合广播,所述广播的方式根据应用场景的实际情况选择适当的方式...
【专利技术属性】
技术研发人员:杨税令,
申请(专利权)人:厦门本能管家科技有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。