一种互联网课堂中基于动态二叉树子孙双路数据传输方法

文档序号:7701046阅读:165来源:国知局
专利名称:一种互联网课堂中基于动态二叉树子孙双路数据传输方法
技术领域
本发明涉及互联网课堂中数据传输技术领域,尤其涉及互联网课堂中基 于动态二叉树的数据传输方法。
背景技术
互联网课堂是应用于互联网环境下的多用户网络通信应用。数据传输技 术要解决多点间数据传输问题。同时由于应用性质要求传输中要实现高实时 性,高可靠性。
最常见的数据传输方法是星型广播的传输方法。星型广播方法中,由根 节点作为星型结构的中心,其它各个节点直接同根节点相互连接。数据的传 输由根节点广播到各个节点上。
该方法的优点是架构简单,单节点故障不会影响其它节点。缺点是所有 数据都由根节点传输,要求根节点能连接全部节点,对根节点在计算处理, 网络传输上要求很高。由于网络带宽的限制,在传输大数据量时容易造成网 络堵塞。

发明内容
本发明的目的是提供一种互联网课堂中基于动态二叉树子孙双路数据传 输方法,能够解决互联网课堂数据传输占有带宽和传输稳定性的问题。
本发明所述的一种互联网课堂中基于动态二叉树的数据传输方法,包括 以下步骤
将所述二叉树的节点根据节点所处级别划分成父子、爷孙逻辑关系,数 据同时并行的在父子、爷孙等逻辑关系的节点间进行传输;
A、 所述二叉树的规则动态组织的建立,所述二叉树的根节点编号为0, 其它节点根据加入时间顺序编号;所述二叉树规则根据节点编号组织,所述 二叉树的节点增加或者退出,该二叉树规则重新根据编号组织;
B、 所述数据分为数据包和通信指令包;
数据包根据发生的时间顺序编号;通信指令包是对数据包的编号集合; 所述数据根据网络参数控制,可独立封装成单个数据包或拆分成系列数据包;
C、 数据分时并行的在二叉树各节点间传输,数据全部由根节点向下传输; 如果二叉树节点收到数据包,传输数据包括步骤
根据二叉树规则获取该节点的子节点;
如果该节点拥有左子节点,则向左子节点直接发送数据包; 如果该节点拥有右子节点,则向右子节点发送通信指令包; 所述二叉树的节点在接收单数据包后或接收系列数据包的全部后,根据
二叉树的规则获取该节点的孙节点,如果该节点拥有孙节点,则向孙节点发
送通信指令包;所述二叉树的节点在接收通信指令包后,如果该节点尚未接收到该指令 包中指定的数据,则进行交互数据,交互数据包括步骤 所述节点向通信指令包的发送节点发送数据请求;
所述通信指令包的发送节点根据数据请求发送数据包到请求发送节点; 所述二叉树节点并行传输数据。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点发送通信指令包,向其右子节点直接发送数据包,向其孙节点发送通信指 令包。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点发送通信指令包,向其右子节点发送通信指令包,向其孙节点发送通信指 令包。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点直接发送数据包,向其右子节点直接发送数据包,向其孙节点发送通信指 令包。
在步骤C中,所述二叉树节点间传输数据的一种实现是向其左子节点直 接发送数据包,向其右子节点直接发送数据包,向其孙节点直接发送数据包。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点发送通信指令包,向其右子节点直接发送数据包,向其孙节点直接发送数 据包。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点直接发送数据包,向其右子节点发送通信指令包,向其孙节点直接发送数 据包。
在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节 点发送通信指令包,向其右子节点发送通信指令包,向其孙节点直接发送数据包。
本发明与传统的技术相比,具有如下优点和积极效果-基于动态二叉树的子孙双路传输方法是按照二叉树规则组织全部节点, 同时根据节点的变化,动态组织二叉树规则。所述二叉树中单节点的故障不 会影响全部二叉树。数据按照二叉树结构优先进行父子传输,同星型广播方 法相比,减少了对单独节点的计算和传输压力。在父子传输的同时,提供了 爷孙传输, 一方面改善了单节点对单节点传输压力,提高传输效率,同时也 提高了数据在节点间传输的可靠性。


图1是本发明的连续编号构成的二叉树规则图。
图2是本发明的非连续编号构成的二叉树规则图。
图3是本发明的数据在二叉树中的传输过程图。
图4是本发明的双路数据的传输过程图。
图5是本发明的节点处理数据流程图。
图6是本发明的通信方式数据传输流程图。
具体实施例方式
下面结合附图,通过具体实施方式
对本发明的技术方案作进一步说明。 本发明需要一个节点注册服务器,来维护和通知动态二叉树中节点状态。 动态二叉树的规则需要根据系统中节点的情况动态实时更新。节点的加
入和退出影响了动态二叉树的规则。同时节点状态的通知时间,决定了动态
二叉树规则变化的频率。
动态二叉树规则的组织方法是按照系统中节点编号,由小到大的顺序组
织成平衡二叉树。编号由o开始,作为根节点,或称为节点o (编号为o的
节点)。节点n (编号为n的节点)加入时,按照平衡二叉树规则添加节点处
理,优先加为左树。
如节点编号顺序是O、 1、 2、 3、 4、 5、 6、…、14,则二叉树规则如图1。 节点编号规则是根据加入二叉树的先后顺序采用递增的方式唯一编号。
系统中每加入一个节点相应编号增加1 。节点退出系统,该节点编号不重用。
对于节点退出后再重新加入时,编号按新加入规则处理。
如经过某些节点的加入和退出的变化后节点编号顺序是O、 1、 4、 5、 6、
8、 9、…、14、,则二叉树规则如图2。
系统中节点收到注册服务器发送的节点状态通知后,根据节点顺序,更
新动态二叉树规则。
节点状态通知主要包括节点加入和节点退出二种情况。 动态二叉树的平衡规则确认后,系统中节点确认相对应的逻辑关联。节
点逻辑关系包括父节点、子节点、孙节点,子节点又包括左子节点、右子节点。
如图l所示,其中
节点0是节点1 、节点2的父节点;节点1是节点3 、节点4的父节点;
节点2是节点5 、节点6的父节点。
节点1 、节点2是节点0的子节点,节点1是节点0的左子节点,节点2是 节点O的右子节点。
节点1是节点7、节点8、节点9、节点10的爷节点;节点2是节点11、 节点12、节点13、节点14的爷节点。
节点7、节点8、节点9、节点10是节点1的孙节点;节点11、节点12、 节点13、节点14是节点2的侄节点。
接收到数据后,从根节点(节点O)开始传输数据。
根节点直接向左子节点发送数据包,根节点向右子节点发送通信指令包。 节点n (编号为n的节点)接收到数据包后,如果该节点拥有左子节点,则 向左子节点发送数据包;如果该节点拥有右子节点,则向右节点发送通信指 令包;如果该节点拥有孙节点,则向孙节点发送通信指令包。
节点n (编号为n的节点)接收到通信指令包后,该节点向通信指令包 的发送方(父节点或爷节点),根据通信指令包交互数据,当数据获取完成后, 如果该节点拥有左子节点,则向左子节点发送数据包;如果该节点拥有右子
6节点,则向右节点发送通信指令包。
如图3所示,从根节点0开始传输数据。
节点0向节点1 (左子节点)直接推送数据包。如线型1所示。
节点0向节点2 (右子节点)发送通信指令包。如线型2所示。
节点2和节点0间进行交互数据传输。如线型3所示。节点2根据指令 包内容,向节点O (父节点)发送数据请求,节点O根据请求返回数据包。
同样节点1和节点3、节点2和节点5,都为父左子节点关系,采用与节 点O和节点1的处理方式。
同样节点1和节点4、节点2和节点6,都为父右子节点关系,采用与节 点0和节点2的处理方式。
如图4所示,节点l在优先处理完子节点的传输后,向其孙子节点(节 点7、节点8、节点9、节点IO)发送通信指令包。如线型2所示。 节点7、节点8、节点9、节点10和节点1间进行交互数据传输。如线型3 所示。节点7、节点8、节点9、节点10根据指令包内容,向节点1 (爷节点) 发送数据请求,节点1根据请求返回数据包。
同样节点2和节点11、节点12、节点13、节点14,都为爷孙关系,采 用与节点1和节点7、节点8、节点9、节点10的处理方式。
节点处理数据传输的流程图如图5所示。
节点n在接收到数据后,首先维护本地的数据队列。
本地队列处理完成后,节点n检査是否存在左子节点,如果存在,则向 左子节点推送数据包。
节点n检査是否存在右子节点,如果存在,则向右子节点发送通信指令包。
节点n检査数据是否处理完成。如果单数据包处理完成或系列数据包全
部处理完成则节点n检查是否存在孙子节点,如果存在,则向孙子节点发送 通信指令包。
A右子节点或孙子节点接收到通信指令包后,如果该节点尚未接收到该指
令包中指定的数据,则进行交互数据,交互数据传输过程,如图6所示。
节点m接收到通信指令包后,检査数据的接收情况。
如果数据没有接收完成,则节点m向L级节点n发送数据査询包,L级 节点n根据数据查询包返回节点m指定数据包。
节点m再次检查数据接收情况,重复上述的过程,直到全部数据接收完成。
上述二叉树的节点间不限定按上述方式传输数据包或通信指令包。传输 数据包或通信指令包仅是在窄带网络下较优的一种策略,本发明不排除传输 通信指令、传输数据包等几种组合应用的策略情况。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到变 化或替换,都应该涵盖在本发明的保护范围之内。
权利要求
1、一种互联网课堂中基于动态二叉树子孙双路数据传输方法,包括以下步骤将所述二叉树的节点根据节点所处级别划分成父子、爷孙逻辑关系,数据同时并行的在父子、爷孙等逻辑关系的节点间进行传输;A、所述二叉树的规则动态组织的建立,所述二叉树的根节点编号为0,其它节点根据加入时间顺序编号;所述二叉树规则根据节点编号组织,所述二叉树的节点增加或者退出,该二叉树规则重新根据编号组织;B、所述数据分为数据包和通信指令包;数据包根据发生的时间顺序编号;通信指令包是对数据包的编号集合;所述数据根据网络参数控制,可独立封装成单个数据包或拆分成系列数据包;C、数据分时并行的在二叉树各节点间传输,数据全部由根节点向下传输;如果二叉树节点收到数据包,传输数据包括步骤根据二叉树规则获取该节点的子节点;如果该节点拥有左子节点,则向左子节点直接发送数据包;如果该节点拥有右子节点,则向右子节点发送通信指令包;所述二叉树的节点在接收单数据包后或接收系列数据包的全部后,根据二叉树的规则获取该节点的孙节点,如果该节点拥有孙节点,则向孙节点发送通信指令包;所述二叉树的节点在接收通信指令包后,如果该节点尚未接收到该指令包中指定的数据,则进行交互数据,交互数据包括步骤所述节点向通信指令包的发送节点发送数据请求;所述通信指令包的发送节点根据数据请求发送数据包到请求发送节点;所述二叉树节点并行传输数据。
2、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节点发送通信指令包,向其右子节点直接发送数据包,向其孙节点发送通信指令包。
3、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节点发送通信指令包,向其右子节点发送通信指令包,向其孙节点发送通信指令包。
4、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其左子节点直接发送数据包,向其右子节点直接发送数据包,向其孙节点发送通信指令包。
5、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据 传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是向其左子 节点直接发送数据包,向其右子节点直接发送数据包,向其孙节点直接发送 数据包。
6、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据 传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其 左子节点发送通信指令包,向其右子节点直接发送数据包,向其孙节点直接 发送数据包。
7、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据 传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其 左子节点直接发送数据包,向其右子节点发送通信指令包,向其孙节点直接 发送数据包。
8、 如权利要求1所述的一种互联网课堂中基于动态二叉树子孙双路数据 传输方法,在步骤C中,所述二叉树节点间传输数据的一种实现是节点向其 左子节点发送通信指令包,向其右子节点发送通信指令包,向其孙节点直接 发送数据包。
全文摘要
本发明公开了一种基于动态二叉树的子孙双路数据传输方法。将所述二叉树的节点根据节点所处级别划分成父子、爷孙逻辑关系,数据同时并行的在父子、爷孙等逻辑关系的节点间进行传输。本发明中对进入和退出所述二叉树的节点顺序编号,动态组织二叉树结构,实现传输过程中动态二叉树规则更新。采用本发明的技术方案,将基于动态二叉树子孙双路进行数据传输,从而降低单节点的数据流量,能够解决互联网课堂数据传输占有带宽和传输稳定性的问题。
文档编号H04L12/56GK101582849SQ20091008745
公开日2009年11月18日 申请日期2009年6月25日 优先权日2009年6月25日
发明者周永军 申请人:北京洲洋伟业信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1