CN102075576A - 嵌入式环境中的分布式协作传输方法 - Google Patents
嵌入式环境中的分布式协作传输方法 Download PDFInfo
- Publication number
- CN102075576A CN102075576A CN2011100037036A CN201110003703A CN102075576A CN 102075576 A CN102075576 A CN 102075576A CN 2011100037036 A CN2011100037036 A CN 2011100037036A CN 201110003703 A CN201110003703 A CN 201110003703A CN 102075576 A CN102075576 A CN 102075576A
- Authority
- CN
- China
- Prior art keywords
- node
- child node
- child
- connection
- participant
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种嵌入式环境中的分布式协作传输方法,主要应用于实时媒体数据传输。该方法基于树状分层拓扑,会话发起者作为根节点存在,会话参与者作为子节点。参与者加入会话时,首先向发起者发送连接请求,发起者基于自身连接阀值决定接受连接或者拒绝连接,同时发送其子节点列表。参与者根据获取的子节点列表以及双链表机制向子节点列表中的子节点发起连接请求,如果请求成功则子节点成为当前参与者父节点,否则参与者继续向子节点请求其子节点列表。参与者不断重复以上过程,直到连接建立成功,或者达到最大请求数退出。本发明充分利用了嵌入式环境有限计算资源、存储资源和网络带宽,能有效支持中大规模实时媒体数据分发。
Description
技术领域
本发明涉及嵌入式流媒体传输技术领域,具体涉及一种实时媒体数据的分布式协作传输方法。
背景技术
网络技术、多媒体技术以及微电子技术的迅猛发展,为嵌入式流媒体应用提供了越来越广阔的空间。基于嵌入式平台开展诸如视频会议、IP电话、在线课堂、在线音视频点播等流媒体应用越来越吸引用户以及商家的眼球,但同时也对流媒体技术提出了新的挑战。
基于嵌入式平台开展流媒体传输业务目前最主流的一种架构模式仍然是最传统的CS架构。CS架构具由于流量集中,其对服务端的网络带宽、计算和存储资源有很高要求,在并发度和规模度上都受到极大约束。虽然通过引进集群服务器中的CDN、缓存和负载均衡等技术手段对其进行一定改善,但是一方面缺乏相关集群硬件和软件,另一方面整个***的复杂度和成本将急剧增加。
因为CS架构模式有着流量集中的弊端,所以在传统PC领域提出了分布式的架构模式,也即所谓的P2P架构模式。P2P架构模式将流量分散到网络中各个节点,可以极大降低对单***整体性能的要求,P2P架构对于克服嵌入式资源受限的缺点不失为一种很好的选择。
基于分布式的架构模式目前还鲜有人尝试,还没有一套完整的解决思路和方法。
基于分布式的架构模式总的来说又可以分为三种结构:单组播树、多组播树和网状分布。多组播树和网状分布虽然在健壮性和并行性上有优势,但是因为有较为复杂的节点维护和更新算法,对平台的计算能力和存储能力要求较高。相比较而言,单组播树算法简单、实施方便,对平台计算能力存储能力要求较低,使其应用于嵌入式平台成为可能,但现有技术还未有将单组播树算法应用于嵌入式分布协作传输的技术方案公布过。
发明内容
本发明的目的在于提供一种嵌入式环境中的分布式协作传输方法,提高了各参与者的网络带宽利用率,并减小服务器的过载压力。
嵌入式环境中的分布式协作传输方法,具体为:
(1)将首先启动的节点作为根节点,其它陆续启动的节点作为参与节点向根节点发送“连接请求”;
(2)根节点收到参与节点的“连接请求”,依据双链表连接机制与参与节点尝试连接,若连接成功进入步骤(4),否则进入步骤(3);
所述双链表连接机制为:节点A收到节点B的“连接请求”,若节点A的子节点个数小于连接阀值,则节点B与A连接成功,将节点B加入节点A的子节点列表,将根节点作为节点B的父节点,否则,节点B与A连接失败,节点A将自身的子节点列表信息L0发送给节点B;
(3)连接失败的参与节点继续按照上述双链表连接机制与其收到的子节点列表信息L0中的子节点尝试连接,若没能与L0中的任一子节点连接成功,则会得到L0中的子节点返回的子节点列表L1,继续按照上述双链表连接机制与L1中的子节点尝试连接,依次类推,直到与某一节点连接成功,进入步骤(4);
(4)连接成功的参与节点从父节点接收数据。
作为进一步优化,各参与节点还向与其存在连接的父节点和子节点发送存活信息,父节点依据是否收到存活信息动态维护其子节点列表,子节点依据是否收到存活信息动态维护其父节点。
作为进一步优化,所述参与节点中途退出,则向其父节点和所有子节点广播退出消息,收到退出消息的父节点从自身的子节点列表中删除退出的子节点,收到退出消息的子节点再次作为参与节点向根节点发送“连接请求”。
双链表连接机制中所述的连接阀值与服务器处理能力及网络带宽相关。
本发明基于分布式树状分层架构,可以将发起者媒体数据高效实时的分发到各个参与者,在有效避免发起者服务过载的前提下,又可以充分利用各参与者网络带宽;该方法同时还允许参与者自由加入退出、自由选择其媒体数据提供者,具有良好的可靠性和稳定性。
附图说明
图1为参与者加入会话过程;
图2为双链表机制步骤;
图3为参与者离开处理过程。
具体实施方式
下面通过附图来详细介绍本发明中的参与者加入和离开的过程。参与者加入过程中通过双链表机制来选取父节点,该机制能有效地减小查询次数,并保证树高度的最小。而参与者离开又分为正常离开和异常离开过程,针对异常离开的情况,本发明采用心跳机制来动态维护自己的父节点列表和子节点列表,用来保证单播树的稳定性。下面通过附图来详细介绍加入和离开的过程。
A.参与者加入过程
这部分介绍参与者根据双链表机制加入的详细过程,其中定义了两个链表list_1和list_2,其具体的过程如附图2所示:
步骤(1)节点P13向根节点S发送连接请求。
步骤(2)根节点S的连接数(连接数等值于其子节点个数)已达到最大连接数目,S向节点P13返回其子节点列表。此时list_1变为{P1,P2,P3},list_2为空。
步骤(3)节点P13从list_1选取一个节点P3发送连接请求。
步骤(4)节点P3已达到最大连接数目,节点P3向节点P13返回其子节点列表。此时list_1还是{P1,P2,P3},list_2更新为{P10,P11,P12}。
步骤(5)节点P13从list_1选取一个节点P1发送连接请求。
步骤(6)节点P1已达到最大连接数目,节点P1向节点P13返回其子节点列表。此时list_1还是{P1,P2,P3},list_2变为{P10,P11,P12,P4,P5,P6}。
步骤(7)节点P13从list_1选取一个节点P2发送连接请求。
步骤(8)节点P2已达到最大连接数目,节点P2向节点P13返回其子节点列表。此时list_1还是{P1,P2,P3},list_2变为{P10,P11,P12,P4,P5,P6,P7,P8,P9}。
步骤(9)list_1中的节点已经全部查询完,故list_2升级为list_1,将list_2复制给list_1,然后list_2清空。从list_1中选取节点P8发送连接请求,又开始新一轮的查询。
步骤(10)节点P8发送连接OK消息给节点P13,节点P8将节点P13加入子节点列表中,节点P13将节点P8作为父节点。
B.参与者离开过程
下面介绍两种参与者离开的情况,参与者离开后,***中的处理过程如附图3所示。
1)参与者正常离开时,向其父节点和所有子节点广播退出消息,收到退出消息的父节点从自身的子节点列表中删除退出的子节点,收到退出消息的子节点,除了从父节点列表删除以外,该参与节点需要再次作为参与节点向根节点发送“连接请求”,通过节点加入过程,重新寻找父节点。
2)参与者异常离开时,并不做任何操作就离开,此时需要由心跳机制来检测该参与节点的离开,心跳机制的过程如下:
每个参与者都有clist和dlist,分别为其子节点列表和父节点列表。参与者每隔固定时间段T就会向与其有连接关系的父节点和子节点发送存活消息。
另一方面,每个参与者都会定时检查其连接节点是否有发送存活消息,如果达到一定时间阀值2T都没有接受到该节点的存活消息,当前节点就会认为该节点已经离开,从而将其从对应的链表中删除。如果该节点是子节点,则从子节点列表中删除;如果是父节点,除了从父节点列表删除以外,该参与节点需要再次作为参与节点向根节点发送“连接请求”,通过节点加入过程,重新寻找父节点。
Claims (3)
1.嵌入式环境中的分布式协作传输方法,具体为:
(1)将首先启动的节点作为根节点,其它陆续启动的节点作为参与节点向根节点发送“连接请求”;
(2)根节点收到参与节点的“连接请求”,依据双链表连接机制与参与节点尝试连接,若连接成功进入步骤(4),否则进入步骤(3);
所述双链表连接机制为:节点A收到节点B的“连接请求”,若节点A的子节点个数小于连接阀值,则节点B与A连接成功,将节点B加入节点A的子节点列表,将根节点作为节点B的父节点,否则,节点B与A连接失败,节点A将自身的子节点列表信息L0发送给节点B;
(3)连接失败的参与节点继续按照上述双链表连接机制与其收到的子节点列表信息L0中的子节点尝试连接,若没能与L0中的任一子节点连接成功,则会得到L0中的子节点返回的子节点列表L1,继续按照上述双链表连接机制与L1中的子节点尝试连接,依次类推,直到与某一节点连接成功,进入步骤(4);
(4)连接成功的参与节点从父节点接收数据。
2.根据权利要求1所述的嵌入式环境中的分布式协作传输方法,其特征在于,各参与节点还向与其存在连接的父节点和子节点发送存活信息,父节点依据是否收到存活信息动态维护其子节点列表,子节点依据是否收到存活信息动态维护其父节点。
3.根据权利要求1所述的嵌入式环境中的分布式协作传输方法,其特征在于,所述参与节点中途退出,则向其父节点和所有子节点广播退出消息,收到退出消息的父节点从自身的子节点列表中删除退出的子节点,收到退出消息的子节点再次作为参与节点向根节点发送“连接请求”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100037036A CN102075576A (zh) | 2011-01-10 | 2011-01-10 | 嵌入式环境中的分布式协作传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100037036A CN102075576A (zh) | 2011-01-10 | 2011-01-10 | 嵌入式环境中的分布式协作传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102075576A true CN102075576A (zh) | 2011-05-25 |
Family
ID=44033917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100037036A Pending CN102075576A (zh) | 2011-01-10 | 2011-01-10 | 嵌入式环境中的分布式协作传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102075576A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493327A (zh) * | 2019-08-05 | 2019-11-22 | 网宿科技股份有限公司 | 一种数据传输方法及装置 |
CN111757398A (zh) * | 2019-03-28 | 2020-10-09 | 华为技术有限公司 | 一种通信方法与装置 |
CN108710552B (zh) * | 2018-05-04 | 2022-04-12 | 北京航天控制仪器研究所 | 一种基于VxWorks的惯性器件图形化测试*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123526A (zh) * | 2007-08-29 | 2008-02-13 | 北京航空航天大学 | 一种大规模流媒体传输结构的实现方法 |
-
2011
- 2011-01-10 CN CN2011100037036A patent/CN102075576A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123526A (zh) * | 2007-08-29 | 2008-02-13 | 北京航空航天大学 | 一种大规模流媒体传输结构的实现方法 |
Non-Patent Citations (2)
Title |
---|
H.DESHPANDE等: "Streaming Live Media over a Peer-to-Peer Network", 《STANFORD DATABASE GROUP TECHNICAL REPORT》, 31 December 2001 (2001-12-31) * |
朱启昌等: "基于区域化的P2P流媒体直播***模型", 《计算机工程》, vol. 36, no. 1, 31 January 2010 (2010-01-31) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710552B (zh) * | 2018-05-04 | 2022-04-12 | 北京航天控制仪器研究所 | 一种基于VxWorks的惯性器件图形化测试*** |
CN111757398A (zh) * | 2019-03-28 | 2020-10-09 | 华为技术有限公司 | 一种通信方法与装置 |
CN111757398B (zh) * | 2019-03-28 | 2022-04-12 | 华为技术有限公司 | 一种通信方法与装置 |
US12047865B2 (en) | 2019-03-28 | 2024-07-23 | Huawei Technologies Co., Ltd. | Communications method and apparatus |
CN110493327A (zh) * | 2019-08-05 | 2019-11-22 | 网宿科技股份有限公司 | 一种数据传输方法及装置 |
CN110493327B (zh) * | 2019-08-05 | 2022-06-10 | 网宿科技股份有限公司 | 一种数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100752038B1 (ko) | 멀티미디어 회의를 위한 동적 멀티캐스트 트리의 알티피요소 선정 방법 | |
US20150188928A1 (en) | Private-public chat functionality | |
CN102185856B (zh) | 组队游戏中组队视频方法、装置及*** | |
US7987233B1 (en) | System and methods for facilitating a multiparty communications session with a dynamically designated session manager | |
CN102065150A (zh) | 一种基于p2p网络和cdn网络的数据传输***和方法 | |
CN105577605A (zh) | 网页实时通信中采用基于WebSocket协议的双向REST的方法与服务器 | |
CN102075576A (zh) | 嵌入式环境中的分布式协作传输方法 | |
CN105556980A (zh) | 用于在沉浸式社交中心会话中集成内容观看和通信的方法和*** | |
US9473316B2 (en) | Resource consumption reduction via meeting affinity | |
CN102065099B (zh) | 信令与承载分离的通信*** | |
CN100492978C (zh) | 一种多方通讯的连接建立方法及连接处理*** | |
US9350948B2 (en) | Method and system for providing video service | |
US20230396679A1 (en) | Mixed peer-to-peer mesh and forwarding system | |
CN1937553B (zh) | 基于流媒体数据帧的对等网络数据调度方法 | |
CN102694833A (zh) | 多播树建立方法及多播***中的服务器和节点 | |
CN104168176B (zh) | 一种即时通讯方法、客户端、服务器及*** | |
CN102185870B (zh) | 一种实现即时通讯与网络会议模式切换的方法及*** | |
Saveliev et al. | Architecture of data exchange with minimal client-server interaction at multipoint video conferencing | |
CN100558053C (zh) | 对协同通信***的性能进行测量的方法 | |
CN114827097B (zh) | 通信网络构建方法、装置及计算机设备 | |
Uma Maheswari et al. | Reliability Enhanced Overlay Structure for Peer-to-Peer Video Streaming | |
CN102427518A (zh) | 按需组网视频会议*** | |
Wu et al. | Maximizing universal streaming rate in peer-to-peer streaming networks | |
CN102396182B (zh) | 流媒体传输的容错方法、***、终端节点及网络边缘节点 | |
Nuño et al. | Using self-regulation to increase resilience in overlay networks for interactive multimedia communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110525 |