- 1 -
中国科技论文在线
多媒体会议系统文档共享子系统的设计与
实现
杨新星,刘传昌*
作者简介:杨新星,男,主要研究方向:网络服务与通信软件
(北京邮电大学网络与交换国家重点实验室,北京 100876)
摘要:为进一步提高多媒体会议系统的交流的真实性和效率,本文提出了一种运用于多媒体
会议系统中的文档共享系统,该系统能够对各种类型的文档包括 PDF 文档、Word 文档、幻
灯片文档以及各种格式的图像文件等提供一致的展示、标注和传输的功能,使得与会成员之
间的交流更加直接和方便。该系统采用服务器集中控制式方法,将所有客户端的各式各样文
档上传至服务器端并转化为 PDF 文档,然后将 PDF 文档划分为若干张图片,根据控制者的操
作指令将这些图片向所有参与会议的用户进行同步展示,使得所有用户能同步浏览共享文
档,打破了将文档用另外的应用程序打开、捕获并传输屏幕显示内容的传统方法,使得整个
文档共享系统更加简便、快捷。通过实际的检测表明,该方案是可行的、有效的。
关键词:文档共享;多媒体会议;java applet;集中式控制
中图分类号:TP37
Design and implementation of document sharing in
multimedia conference system
Yang Xinxing, Liu Chuanchang
(State Key Laboratory of Networking and Switching,Beijing University of Posts and
Telecommunications, Beijing 100876)
Abstract: In order to improve the efficiency and realism of the multimedia conferencing system, this
paper presents a document sharing system used in multimedia conferencing system. This system is able
to provide a consistent display, labeling and transmission functions for all kinds of documents
including PDF, Word documents, PowerPoint documents and image files. It make the participants in
conference have more convenient communication. This system uses the centralized-control to upload
the documents from the client to server, converted to PDF documents and then divide the PDF
document into a number of pictures. According to the controller's operating instructions to show the
picture to the participants, so that all participants can browse documents simultaneously. It breaks the
traditional method that open the document with another application, capture and transfer the contents of
display, makes the whole document sharing system easier and faster. The performance test shows that
this scheme is feasible and effective.
Keywords:Document sharing ; Multimedia Conference; Java applet; Centralized control
0 引言
随着 Internet 技术的发展和高速网络接入手段的普及,在 Internet 上传输高带宽要求的
多媒体流逐渐成为可能。因此 ,多媒体视频会议等包含实时音频和视频流的远程
CSCW(Computer Supported Cooperative Work) [1]应用得到了广泛的重视。这类系统除了,实现
了“见其人、闻其声”之外, 还提供了业务数据的共享从而能够进一步提高交流的效率。它
们的典型结构可由图 0-1 简要表示:
目前, 已有多种“多媒体会议系统”的方案被提出和付诸实施,也有一些公司推出了视频
会议软件产品,如 Microsoft NetMeeting、Click to Meet 等[2]。但我们注意到,有两个方面需
- 2 -
中国科技论文在线
视频、音频处理 视频、音频处理
文档共享
白板和即时消息
客户端
会议应用服务器
或 MCU
客户端
客户端
客户端
图 0-1 多媒体会议系统结构
要完善。一是会话场景的记录。例如对于远程教学,往往希望在线授课的内容能够录制
下来,并在教学网站上发布;对于视频会议,有时也希望事后供给未参加会议的相关人员浏览。
这就要求完整地保存会话中各种媒体类型的数据,再现整个会话场景,但是现有的系统还很
少提供这方面的支持。二是更方便的文档共享功能。由于目前电子文档的使用日益广泛, 使
用者常常希望在交流过程中能够不受限制地提交某篇文档来说明自己的观点, 并在线地进
行一些简单的标注, 在此基础上进行讨论。这就要求系统的客户端软件能够对各种类型的文
档,包括 PDF 文档、Word 文档、幻灯片文档以及各种格式的图像文件等,提供一致的展示、
标注和传输的功能。NetMeeting 对这个问题的解决方法是将文档用另外的应用程序打开后捕
获并传输屏幕显示内容, 这种方法的灵活性并不好。对此,需要一个更加灵活方便的文档共
享系统来支持所有与会者提交的文档的共享,更加真实地模拟会议场景。
针对上述问题,作者所在的北京邮电大学大学网络与交换国家重点实验室为中国联通北
京宽带商务中心开发了一套新的多媒体会议系统,成功地解决了上述这两个问题,并已投入
实际使用。本文将主要介绍多媒体会议系统文档共享子系统的主要设计思想和具体实现方
法。
1 文档共享系统的总体设计
系统结构
文档共享系统的总体系统模型图如图 1-1 所示:
文档共享子系统作为典型的 CSCW 系统,其主要功能包括:为各协作成员提供方便可靠
的信息收发、修改和删除等功能,提供对不同类型数据的访问和交换。支持多个用户参与同
一工作,它提供给各协作用户一个公共平台,各用户在它的协调下完成一项共同的工作。同
时在协调中采用一定的控制策略,如令牌控制方式、并发控制和协商控制等,以避免个体之
间的冲突[3]。
文档共享系统分为服务器端和客户端两部分。服务器端负责对整个会议的共享文档进行
管理和控制。主要负责创建和管理连接客户的线程,同时不断侦听、接收来自各个客户端的
信息,并将其转发给其他客户端。采用此技术实现的文档共享系统,其内容可以得到实时恢
复与更新以及具有辨别用户权限的功能。客户端负责创建客户端用户界面,并处理客户端用
户逻辑以及客户端和服务器之间的通信。客户端基于浏览器/服务器(B/S)结构。此结构实现
与多媒体会议系统网站的无缝集成,无须下载程序,只要具有能够上网的浏览器,即可实现
- 3 -
中国科技论文在线
文档的共享管理,使图形、文字能在与会成员之间进行实时的动态的传输与交流。这也是采
用 Java Applet 技术进行编程的优势[4]。
图1-1 文件系统共享模型图
系统结构
系统在传输层采用了 TCP 协议,以利用其面向连接的特性保证数据收发的可靠性。在
应用层,由于传输的数据类型多,包括用户信息、文档控制信息、图像等,因此用一种格式
的数据包格式不能有效地传输信息。大体上这些数据可以分为三类:
(1)用户列表信息和文件列表;
(2)发送的小数据量信息(文本控制信息等);
(3)发送的大数据量信息(图像)。
针对图像信息的传输,由于数据量较大,因此用普通的数据包方式传输效果不好,容易
造成丢失数据,图像质量下降。Java 提供的流机制使图像的传输变得方便快捷[5]。针对不同
的共享文档的文本格式,与 NetMeeting 将文档用另外的应用程序打开文档后捕获并传输屏
幕显示内容不同,文档共享客户端将所有的共享文档上传至服务器端进行统一处理,统一将
不同格式的共享文档转化为 PDF 格式文档,然后将 PDF 格式文档划分为若干张图片,根据
控制者的操作指令将这些图片向所有参与会议的用户进行同步展示,使得所有用户能同步浏
览共享文档。在服务器端处理文档既能方便共享文档的统一管理,降低了客户端的业务逻辑
复杂度,又能将所有的共享文档作为会议的基本资料保存下来,方便历史会议信息的查询,
实现会议数据持久化管理。
并发控制调度策略
由于文档共享系统是一种多用户协作系统,因此对任何一份文档,不同用户发出的操作
数据在其上的执行必然会带来互相冲突。针对各协作用户的并发操作,如何设计一种合理的
调度策略成为文档共享的协作功能能否实现的关键。传统的 CSCW 并发控制方法有如下几
种[6]:
1. 加锁法。加锁法是保证数据一致性的常用手段,它提供对共享资源的加锁(1ock)和
解锁(unlock),用于控制用户的并发操作。
2. 集中控制法。采用一个集中控制进程,管理用户对共享对象的操作。所有操作首先
- 4 -
中国科技论文在线
发送到集中控制进程,再由它向其他用户分发。但集中控制进程会成为系统的瓶颈,
而且操作必须经过集中控制进程的分发使响应速度变慢。
3. 可逆执行(UNDO/REDO)操作。该操作立即执行,但与操作有关的信息被保存起来。
在全局时序的作用下,当几个操作冲突时,其中的一个或几个操作被取消并按预定
的次序重做一次,有很好的响应性能,但全局时序难于实现。
由于在多媒体会议系统当中,与会成员对文档共享的控制频率较低,在大多数情况下,
一次会议中大概只需若干次控制权限的更迭。因此采用实现较为简便的加锁法控制时,申请
和释放的开销并不会显著地降低用户的快速反馈。所有与会成员均可以申请对文档的控制
权,但由系统根据当前会议状态决定是否授权。任何时刻,只有获得共享资源控制权限的与
会成员,才能对共享文档进行操作,这样保证了共享文件的一致性。
2 文档共享系统的实现
消息静态说明
文档共享客户端与文档共享服务器端之间涉及到的所有交互消息分为两种:一种为客户
端向服务器发送的请求消息,另一种为服务器向客户端回应的响应消息和会议控制消息。消
息格式全部由两部分组成,第一部分是消息类型,第二部分是消息体。当接收方接收到消息
之后会根据消息类型来对相应的消息体作出处理,提取其中封装在消息体里的信息。
客户端向服务器发送的消息定义如表一所示:
表一:客户端发向服务器端请求消息
消息 消息含义 主要参数
REGISTER_REQ 注册请求 会议 id,用户 id
CONTROL_REQ 控制请求 会议 id,用户 id,欲控制文档名称
UPLOAD_REQ 文档上传 会议 id,用户 id,上传文档名称和长度
CHANGE_PAGE_REQ 翻页请求 会议 id,请求者用户 id, 欲翻页文档名和欲翻到
的页码
DROP_CONTROL_REQ 放弃控制请求 会议 id,用户 id
BYE 退出请求 会议 id,用户 id
客户端向服务器发送的消息定义如表二和表三所示:
表二:服务器发向客户端消息响应
消息 消息含义 响应内容
REG_RESPONSE 注册响应 OK、REJECT
CTRL_RESPONSE 申请控制响应 OK、REJECT
UPLOAD_RESPONSE 文档上传响应 OK、REJECT
CHANGE_PAGE_RESPONSE 翻页请求响应 OK,NO_CONTROLE_REJECT,
NO_FILE_REJECT,
EXCEED_MAXPAGE_REJECT
DROP_CONTROL_ RESPONSE 放弃控制响应 OK、REJECT
表三:服务器发向客户端会议控制消息
消息 消息含义 主要参数
CTRL_CHANGE 控制者更迭消息 原控制者 id 和现控制者 id
FILE_LIST_UPDATE 文件列表更新 最新会议共享文档列表
PUSH_PAGE 传输图片消息 图片所属文件的文件名、上传者id、当前页码号、
图片大小等信息。
BYE 会议结束消息 会议 id
- 5 -
中国科技论文在线
消息动态流程
文档共享管理主要涉及与会成员注册、共享文档上传、共享文档翻页处理和共享文档控
制权更迭等几个方面的问题。
下面就这几方面说明该方案的消息交互流程,为简单起见,下面所示图中只标出主要的
消息请求和响应。其中共享文档服务器保存所有共享文档的状态信息和控制权限;数据库服
务器保存会议的基本信息,包括会议 id 和会议参与者列表;用户表示参与会议的用户使用
的共享文档客户端;控制者为已经获得对共享文档控制权的用户,其对共享文档具有操作和
控制的权利。
用户的注册和共享文档上传
用户注册是用户向服务器登记其参与会议的过程, 也是文档共享的基础。当用户需要共
享文档时,可以向服务器申请控制权限,在得到服务器的授权后,即可将共享文档上传至服
务器,服务器对共享文档进行处理,将文档划分成若干张图片后,将共享文档的首页图片传
输给所有与会成员,使得所有用户都能同步地浏览到共享文档。这两个过程如图 2-1 所示:
图 2-1 用户注册和共享文档上传消息交互过程
控制者翻页
控制者翻页过程是当控制者需要翻至另一张页面时,向共享文档服务器发出翻页指令,
共享文档服务器对其做出相应的响应,成功将共享文档翻至控制者所想要到的页码,并将将
新页面的图片推送至所有与会成员,使得所有与会成员同步至同一页面。控制者翻页过程消
息流程如图 2-2:
- 6 -
中国科技论文在线
图 2-2 控制者翻页消息交互过程
控制权更迭
当原控制者放弃对共享文档的控制后,服务器向所有与会成员通知共享文档的暂时没有
控制者,其他用户可以申请对文档的控制权。当新控制者向服务器发送控制请求时,服务器
对其进行响应,并将新控制者的信息通知给所有用户。控制权更迭消息交互过程如图 2-3 所
示:
图2-3 控制权更迭消息交互过程
3 结论
本文研究了文档共享的设计和实现问题,结合 Java 语言的多线程技术,改进了传统的
并发策略,编程实现了一个能在互联网协同工作的文档共享系统。在此基础上,该系统与视
频、音频传输模块整合,实现了多媒体协作,并已在北京联通宽带中心商务平台多媒体会议
系统中使用。其中系统工作界面如图 3-1 所示,整个系统的正确性和实用价值受到了联通公
司的高度评价。
- 7 -
中国科技论文在线
图 3-2 多媒体会议系统文档共享系统的实现
[参考文献] (References)
[1] Jonathan G.Computer—supported cooperative work:history and focus[J].IEEE computer,1994,27(5):
19~26.
[2] 张戈,张新荣. 远程多媒体交互系统中会话记录和文档共享的实现研究[J]. 微型电脑应用, 2003,
19(2):19~21.
[3] 方亮,金 晶.虚拟教室中电子白板系统的实现[J].计算机系统应用,2000,29(3):40~42.
[4] 王明福,齐治文. 多媒体网络教室监控系统的设计与实现[J]. 计算机工程,2010,36(4): 291~293.
[5] 邓学雄,曾月鹏,李瑞. 网络电子白板的设计与实现[J]. 工程图学学报,2005,:170~173.
[6] 胡晓容,明华. CSCW 环境下基于角色的并发控制策略[J]. Computer Era, 2004, : 20~22