网站大量收购独家精品文档,联系QQ:2885784924

分布式共享系统Maze中边下载边播放模块实现.pptVIP

分布式共享系统Maze中边下载边播放模块实现.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式共享系统Maze中边下载边播放模块实现 2004-12-21 任茂盛 李世亮 邱志欢 赵 阳 Maze:简介 为了解决FTP的可用性不佳、资源有限的问题 混合型P2P结构 支持即时通讯和BBS (类似QQ) 支持跨防火墙的文件共享与下载 支持在线资源搜索和文件目录视图 支持多点下载和断点续传(类似BitTorrent) 基于积点的资源交易体系 采用社交网络的网络链接关系 Maze最新版的界面 Maze的系统结构 Maze的下载模块 下载部分的改进需求 Solution 实现边下载边播放功能! 建立一个独立的播放模块 修改DownloadClient代码,调用播放模块,实现边下载边播放 记录用户下载播放日志,对日志进行分析,利用基于字节有用性的缓存策略,实现Cache 分工 修改DownloadClient Maze和播放器通讯 播放器插件 日志记录和缓存 修改DownloadClient 两个接口 定制数据包:请求服务器返回指定位置的指定长度的数据 IsReady:判断文件中某一个位置开始的指定长度的数据有没有下载完毕 修改DownloadClient(2) 定制数据包 用户在观看视频时,可能顺序看,也可能拖动着看 Maze在下载文件时,所用的顺序并不能满足播放器的要求 因此需要按需下载数据包 修改DownloadClient(3) IsReady Maze可以多点下载,因此文件中可用的数据分散在文件里不同位置,并非连续 播放器在向服务器发出数据请求之前,先判断数据是否已经下载 若未下载,发出请求并进入阻塞状态;否则,继续播放 从根据缓存策略选择优先要下载哪部分 Maze和播放器通讯—实现方案 Com的进程外组件 进程间通讯 动态数据交换(DDE) 命名管道(named pipe) 共享内存 本地过程调用和远程过程调用(LPC和RPC) com采用LPC和RPC Maze和播放器通讯—实现方案(2) Com的进程外组件 通讯原理 Maze和播放器通讯—具体实现 Maze模块 实现组建对象的定义,编译到maze.exe中 播放器模块 客户程序的访问代码,作为播放器插件中的一部分 中间服务模块 代理对象和存根代码的实现,编译为.dll文件 播放端 影音文件需要通过播放器向用户展示,由于即时播放的特殊需要,播放器大多不支持(我们还没有找到)即时播放,我们需要扩充播放器的功能来满足即时播放的需要 现在的两大阵营:Real公司的realmedia平台和Microsoft的windows media service 9平台 由于目前大部分的(75%)影音文件是rm或者rmvb的,我们选择了realmedia平台 播放端(2) realmedia平台简介 播放端(3) 我们需要的信息----用户拖动的时刻 Realmeida平台的File Format Plugin正好给我们提供了这样的信息,它有一个向client开放的接口:IRMAFileFormatObject IRMAFileFormatObject接口中的Seek(UINT32 seek_offset)函数给我们提供了用户拖动的时刻 播放端(4) 我们所做的是重写一个支持realmedia格式的File format插件,在用户拖动时,通知Maze用户拖动的时刻 当用户拖动的位置还没有下载到时,通知Maze下载这部分数据 在日志记录部分记录下拖动的行为 日志记录与缓存 日志内容:用户下载的文件标识(MD5值)、文件开始拖动的位置、文件拖动到的位置、文件关闭时间 定期收集客户端上的播放日志,汇总分析 目的:对于热门的视频文件,根据统计分析用户预览一个文件时关注的热点段落,对其进行优先下载 日志记录与缓存(2) 一个循环的过程—— 用户A下载—记录播放日志—修正拖放规律统计—用户B下载时根据规律优先下载热门段 两个接口 播放时的拖放消息接收 对DownloadClient部分返回文件的热门段落信息 日志记录与缓存(3) 内部实现: 以xml方式记录日志 log type=“VCR” MD5=“…” fromTime=“..” toTime=“..” / log type=“close” time=“…” / 集中的日志服务器 收集客户端的日志,xml文档方便整合 日志记录外的时间就是观看时间段 根据日志不断更新统计结果 日志记录和缓存(4) 缓存策略 Thanks! Any Question? * * 多点下载 社交网络 积分与星级 即时通讯 可穿越防火墙的排队下载 天网文件搜索 种子机制 目录浏览 DownloadServer负责文件服务器 DownloadClient负责文件下载 分块下载,写

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档