基于 JXTA 的网络课堂视频点播流媒体系统研究与设计
龚 威 易文泉 江西财经职业学院 江西九江 332000
项目:江西省教育厅科学技术研究项目《基于JXTA流媒体应用研究》GJJ11660
【文章摘要】
流媒体是人类渐进式信息获取的体现,它让用户更贴近自然的真实实现在线直播、视频通话、网络会议等。网络课堂称之为传统教室外的第二课堂,在互联网、移动通信兴起的今天也逐渐有做大做强之势。而P2P技术为日益庞大的信息网络带来了直通的捷径,JXTA平台应时而生。本文基于流媒体点播系统中经常碰到的瓶颈问题,结合网络课堂的实际特点,利用JXTA进行技术改进、系统设计。
【关键词】
流媒体 ;网络课堂 ;JXTA ;P2P
0 引言
网络课堂在教育行业的风生水起甚至引起了百度、阿里、腾讯三大互联网巨头的青睐,MOOC(慕课)就是一个例证。精品课堂、微课、慕课等越来越多的教学元素冲击着第一课堂,让教育技术手段有了更多的选择,各大高校也纷纷搭建起相应的网络平台,教与学不再是简单的黑板与书本,教师们自主录制视频和课件合成微课来代替不厌其烦的重复知识点讲解,学生们也喜欢用手机预复习功课,但是基于传统C/S或B/S架构的网络教学平台对视频点播的技术支撑有限,以至于部份老师和学生不得不向外寻求视频公众平台,优酷网、土豆网上就存在大量的教学视频。充分的利用流媒体技术和P2P对等网络技术是目前解决此类问题常用的技术手段,本文基于sun公司首席科学家Bill Joy 提出的 JXTA 标准 P2P 技术平台,针对网络课程中流媒体点播进行了一定的分析与研究。
1 相关技术特点
1.1 流媒体
顾名思义即流式媒体,指采用流式传输的方式在 Internet/Intranet 播放的媒体格式,该传输方式先将多媒体大文件以流式方式特殊压缩成一个个短小的压缩包,再由服务器实时分段向客户端发送,这样终端用户不用下载整个文件只需经过短基于 JXTA 的网络课堂视频点播流媒体系统研究与设计 龚 威 易文泉 江西财经职业学院 江西九江 332000时间的延时缓冲即边看边下载。与传统的“先下载再播放”的方式比较,流媒体方式节约了用户等待时间,降低了终端硬件容量需求,但也有其明显的缺点,集中访问时网络带宽的瓶颈容易造成网络堵塞,媒体质量、用户数量、缓冲时间的提升对流媒体服务器的软硬件要求是成指数增长。
1.2 JXTA 与 P2P
P2P是自2000年后最热门的分布式网络技术之一,它又叫点对点,P2P技术源于对等式网络的安全体现,有着长期的技术沉淀,类似于网上邻居的互联共享,它没有独立的目录服务器,每个节点都可以指向其他节点既是服务器又是客户机,它的兴起源自于音乐共享软件Napster,现在比较流行的P2P工具有BT下载、电驴等。
JXTA是基于P2P(对等式网络)的网络开发平台,它定义了一组P2P通用协议。JXTA的优势在于它是一个跨平台的网络编程工具,兼容各种不同文件类型及其工具之间的共享,它独立于任何操作系统平台、独立于开发语言、甚至独立于网络传输协议。JXTA被设计成与设备无关,可以在个人计算机、手机、平板电脑、路由器、播放器之间顺畅的实现 P2P通信。
1.3 网络课堂
网络课堂来源于互联网远程培训课堂,它利用网络互联技术及多媒体技术模拟真实课堂场景,便利快捷的为异地学生提供学习培训、考核认证环境,通过计算机人机交互实现师生远程互动,也被称为第二课堂。对比传统第一课堂,网络课堂的优势在于它可以集中优势教学资源,个人掌握学习主动权,远程学习效率高,各种资源整合度高,教与学个性化更强等。2 系统模型研究
JXTA的出现是为了解决P2P技术发展过程中所面临的各种问题,P2P技术的广泛应用存在语言、规范、协议上等不统一的局限,JXTA开源者从根本上研究一个统一规范的开发平台,突出的是它能在设备不断移动网络位置的情况下保持通信。
纯粹的P2P系统中是没有特定功能的集中式服务器的,即使是常用的目录服务器也是绝对分散在网络中的各个对等目录查询系统网络模型点,对等点的地位也是绝对的平等的。然而实际中的P2P往往会对其明显劣势进行不同程度的改进,因此严格意义上点对点分布式绝对随机模型过于理想化,即使引入JXTA技术,系统模型仍然还是得趋于现实。除了分布式随机模型,实际应用中的P2P系统模型有集中索引模型、结构化 P2P模型以及混合 P2P模型。
集中式模型有利于网络资源的快速检索,适用于信息资源结构相对单一的网络教学课堂,教学视频文件本身就容易以课程或教材目录建立索引并加以整理,形成适合于网络课堂的个性化目录,而针对视频流媒体传输也会非常受用,但集中化的平台缺点也很明显容易被攻击,网络保障要求高,容易出现瓶颈等,严格意义上说它不是完全的P2P。结构化P2P模型继承了P2P天然的设计优势,抗攻击能力较强,但是过于散漫的对等体网络分布不利于信息的快速搜索和扩展。混合P2P模型集中了前两种的优势,基于JXTA的混合P2P模型就是最好的选择。
此模型中既保留集中控制的需求,也实行流媒体数据分布式结构化管理,对用户引入安全认证机制,区别匿名用户,并对用户节点实行等级划分普通节点和超级节点,超级节点建立索引实行分布式结构化管理,并依据在线时间、网络质量、信息传输能力进行地域优先级划分,流媒体点播信息的查询主要依赖于网络教学平台集中式核心服务器对超级节点的信息检索及其QoS技术,而流媒体的传输则主要依赖于地域超级节点及普通节点。超级节点对对等点提供目录查询服务,并将稳定的索引信息提供给核心服务器,超级节点之间共享数据以保证用户最快速度找到传输节点,超级节点对用户的查询反馈数据流提供者地址并引导建立连接进行数据传输。
3 系统设计分析
3.1 建立 JXTA 流媒体对等组
JXTA技术本身只是建立流媒体数据传输和播放的中间平台,没有存储数据的核心服务器,因此数据的时效性是有局限的,与就是说实时在线用户量越大数据存储就越久越完整,在JXTA对等组NetPeerGroup 基础上实例出本系统流媒体对等组VodGroup,而每个节点用户必须要加入此对等组才能够享受基本的流媒体服务,而成功加入的节点也叫做对等体。而对等组内部对等体之间建立的虚拟通信通道在 JXTA 里称为管道。JXTA 网络通过通道发送接收用XML文档编写的消息实现信息传输。
3.2 建立基于网络课堂特点的点播索引
网络课堂不同不同的视频VOD点播网站,它的用户群体主要是面向教育行业,其网络节点集中化优势明显,基于JXTA技术的混合P2P模型能充分发挥其优点,为更快捷的服务用户,除了按用户点播记录来非准确建立网络课堂索引外,按实际用户需求情况建立基于教育特色的点播索引目录才是锦上添花。
a)按教育基本规律设置点播索引目录分类,教育层次可以划分为义务教育、高考、高等教育、成人教育等用户群体,高等教育里依据网络课程名称按学校网络位置建立超级节点并组成相应的课程对等组,在逻辑网络范围内形成虚拟教室对等组 ClassGroup。
b)基于学生群体的地域集中化特征,如学生在校期间上网基本处于同一个网络,并且学习的课程具有一定的相似性,并且时效性也类似,以移动终端位置在地图上建立附近热门课程组,该对等组临时建立及时更新,由超级节点完成索引。
c)同一课程老师的方法水平不尽相同,按地域按逻辑网络排列出受学生喜欢的教课老师既可以充分发挥P2P优势也利于学生自主选择教师。
d)基于网络课程特点的点播索引的建立既有利于减轻集中式核心服务器的软硬件压力,也更容易亲近用户让其选择符合个人需要的视频学习资料,同时也腾出空余能力让用户进行其他方面诸如网页、PPT、测验、师生互动等集中式服务。
3.3 系统功能模块设计
a)对等组管理模块:该模块基于网络教学平台在线用户动态管理,虚拟的建立相应的各类对等组,每个对等组都可以灵活的被创建、加入或退出,可以看成是一个虚拟的群,为特定流媒体的播放和下载提供 VIP资格服务。
b)流媒体处理模块:除了正在播放的流媒体外,用户节点可以自主选择是否开放本地存储的已播放下载视频文件或记录来加入相应的对等组并提供在线传输服务。
c)索引服务模块:主要是为用户在对等组内部寻找能最大负荷、最快效率、最稳定质量提供视频流的相应对等体,并在它们之间形成连接管道。
d)流媒体点播模块:结合流媒体实时传输相关协议(RTP、RSTP、RTCP)[4]面向桌面、移动及平板终端提供流媒体点播服务。
4 结束语
网络课堂视频流媒体点播只是P2P技术与流媒体技术结合的一个小缩影,Sun公司曾经豪情满满革新计算机网络的跨系统、跨语言网络设计平台JXTA却在渐渐淡出人们的视野,而基于JXTA的各项系统开发研究也蒙上了一层未知的阴影,其理想化的设计理念和分布式计算技术并不是它走向末路的技术原因,各平台厂商的利益保护主义、尚未提出解决方案的P2P安全问题、商业市场的举步维艰以至于它沦落为商标版权的牺牲品,Sun公司被收购后由于 Oracle 拒绝转让 JXTA,原开发人员投票了新的名字、新的技术、新的协议。
【参考文献】
[1] 许斌 .JXTA——Java P2P 网络编程技术[M].北京:清华大学出版社 .2003.
[2]黄敬磊,黄永忠,王磊.基于JXTA技术的网络计算模型,计算机工程与设计 ,2007.28(3):574-576.
[3]刘勇,陈志刚.P2P的新发展——JXTA及其部分功能的实现[J].计算 机 应 用 研 究 , 2003,(4):149-151.
[4]方群,王敏,吉逸.基于RTSP/RTP的媒体点播服务器的设计与实现[J].计算机工程与设计,2006,27(1):4-6.
【作者简介】
龚威(1981 年 6 月),男,湖北监利人,讲师,硕士,主要研究方向:计算机应用
易文泉(1968年9月),男,江西武宁人,副教授、主任,硕士,主要研究方向 :计算机应用