和结算提供支持。)所有节点加入虚拟网络中以后,必须时刻以心跳包的方式保持与服务器的连接。发出流媒体数据的节点在服务器登记,由服务器为接收流媒体数据的节点确定流媒体转发的顺序。出现节点断开的情况也由服务器负责节点间握手,建立新的连接。以节点之间采用UDP联接为例,数据分发方案如下:每个节点都兼有发出数据和接收数据的功能,节点之间由调度服务器分配建立连接,以心跳包确定各自存在。每个节点随时保持大约三十个与其它节点的下载连接,并且持续更新连接,以新连接的最高速节点替换已连接的最低速节点。由服务器调度保证各连接之间相关性最小。数据由连接速度最高的节点持续发送至本地。上传连接的最大数量也保持在三十个,是否传递数据由下级节点决定。由于UDP的特性,网络中允许丢包。建立丢包重发机制,如果收到的数据包不连续,则要求上级节点重传。一旦本地缓冲区中数据达到警戒线,则不论上级节点是否保持心跳数据,都向候选的最高速节点请求数据。应当设立多极警戒线,以应对多个候选节点失效或服务能力不足的情况。服务器控制所有节点尽最大努力与接近数据源的节点连接并获取数据,只有当上级节点连接的下级节点数量达到上限时,才尝试与再下一级的节点连接。在心跳保持的情况下,上级节点接到一次数据请求,就保持数据包发送,不需下级节点返回除补包请求外的确认信息,直到节点断开或中止请求。所有节点以最高效将数据分发至下级节点为第一优先。每一个节点都了解所播放和转发的一组流媒体的唯一编号。在所播放的这一组流媒体中,每一个节点只了解数据由供应数据的节点传输,应该发送到目的节点。除原始数据源以外,其他节点都不了解数据源头,所有节点都不了解网络结构。所有节点通过流媒体的唯一编号由服务器控制组建虚拟网络并维护虚拟网络正常运转。所有相连的节点之间由心跳包确定相互存在。这种结构极大的简化并统一了数据处理,提高了整体效率。系统构成:调度服务器包括网络模块、控制模块、数据库模块。网络模块负责数据收发,维持与节点之间的心跳连接。控制模块负责处理和节点间交换的信息,并且控制整个网络的运行。数据库模块负责保存每一个节点的信息,并储存流媒体分发的
第6页共8页
f网络结构。媒体生成服务器包括媒体捕获模块、媒体编码模块、网络模块、文件读写模块。媒体捕获模块负责视频音频数据的获取,可由其它流媒体服务器、视频捕捉卡、媒体文件或其他途径获r