微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000　Vol.19　No.6　P.43-44




基于PC的多媒体协同编辑系统的研究与实现
倪强　朱光喜
摘要：对基于PC平台的多媒体协同编辑系统的模型及其具体实现方法进行了详细介绍。
关键词：CSCW协同工作模型 网络服务子层 传输子层 管理子层 白板设计
　　计算机支持的协同工作CSCW（Computer Supported Cooperative Work）作为一个新兴的研究方向，自1984年IrenGrief和Paul Cashman提出至今，随着计算机性能和网络通信技术的发展得到了迅速的发展。多媒体协同编辑系统是目前CSCW应用领域中最受欢迎的应用系统之一，因此受到人们的广泛重视。
　　本文主要介绍由华中理工大学电信系数字图象教研室开发的基于PC的鸿象多媒体协同编辑系统模型及其具体实现。
1  协同工作模型
　　鸿象多媒体协同编辑系统是在CERNET环境下开发并实现的计算机协同工作系统（CSCW），能为各种级别需求的园区网（包括企业网、校园网和利用Modem上网的用户）提供协同编辑的工具。
　　鸿象多媒体协同编辑系统的协同工作模型由如图1所示的3层结构组成。其中最下面的是网络层，最上面的是应用层，中间是协作层。其中协作层是关键，其功能模块详见图2。

图1  鸿象协同编辑系统结构模型

图2  鸿象协作层功能模块
1.1 网络服务子层
　　网络服务子层是协作层和网络层的接口，对网络层的功能进行封装，为传输子层提供合适的接口。由于是基于TCP／IP协议来开发，所以它的适应性好，既能适用于局域网内，也能适用于广域网和Internet，能够对服务质量进行控制，能够监视网络的性能和状态，能够对流量进行调整，并向上级报告服务的状况，这对于要求实时性的视频和音频服务尤为重要。另外，多点广播（Multicast）的控制亦在此层进行。由于TCP适合于可靠而慢速的连接，而UDP适合于快速和不太可靠的连接，故而对于对实时性要求高而数据量不太大的应用，采用TCP连接；而对于数据量大的视频，可以采用UDP连接。
1.2 传输子层
　　它利用网络服务子层封装的网络层的功能，为管理子层和应用层提供基本的传输服务。它包括同步消息传递、异步消息传递、多媒体数据传递等，分别适用于不同的场合。同步通知是指消息的发送者和接受者都在场，消息可以实时传送和接收，如Message、Talk、Chat等；异步是指消息接受者不在场，需要把消息存放在一个类似邮箱的地方，等他加入协作后会自动收到这个消息。而对于视频／音频数据，由于它们对实时性要求很高，传输服务质量可变，而且大部分数据不要求修改和保存，因而为了和别的数据区别开，我们使用多媒体数据传输模块来实现。它针对多媒体数据的特点，通过调整质量因子（QOS）和采用多点广播等方式来实现。
1.3 管理子层
　　管理子层是协作层和应用层的接口，利用传输子层的服务向应用层提供多种管理功能，其中包括：
　　(1)协作过程管理：协作过程的发起和结束，包括加入、退出、召集、申请、解散等操作，用户可以动态地加入和退出。
　　(2)应用信息管理：收集网络上各种应用的运行状态、参加者等信息，供用户查询；在每个站点上保存本地运行的各种应用的状态信息，便于应用之间信息的交换。
　　(3)共享资源管理：对数据文件的访问管理，主要是加锁的办法，使某一时刻只有1个用户可以修改数据，本模块中需要维护1个当前锁的列表。本系统对锁的种类和粒度进行了相应的规定。
　　(4)功能管理：包括版本控制、服务状态自适应调整、著作库管理等。
　　如果从代理的角度来看待客户端和服务器方的结构，整个鸿象多媒体协同编辑系统的网络结构如图3所示。

图3  鸿象多媒体协同编辑系统的层次结构
　　(1)网络接口控制：网络接口基于TCP／IP协议，提供了对INTERNET的支持。
　　(2)数据交换代理：控制信息传输并且不断调整相应的传输控制策略。
　　(3)协同代理：是分布式协作平台的核心，是项目组成员之间进行协作的接口。包括用户管理、共享资源的请求和释放等功能。
　　(4)编辑代理：是项目组成员与共享编辑窗口交互的接口。一方面从协同代理获得共享编辑信息并执行用户权限和优先级判决、并完成相应的操作；另一方面管理私有编辑窗口的结果向项目组的其他成员发布事宜。
　　(5)版本控制代理：是生成客户机本地版本和服务器全局版本，并且维护本地版本与全局版本一致性的接口。
　　(6)作品及素材数据库管理：控制对共享编辑数据库的读、写、增、删等操作，数据库用于存储共享编辑的素材和作品。
　　此外，客户机与服务器之间采用HTTP协议支持浏览。
2  实现方法
　　(1)白板设计。WhiteBoard采用对等传输方式，服务器和客户程序采用同一个程序，可自由地设置成SERVER或CLTENT。界面和功能仿效NetMeeting的WhiteBoard功能，但增加了1项OLE编辑。由于OLE支持的广泛性，它将大大地扩展WhiteBoard的编辑功能。它采用TCP／IP作为传输协议，利用Visual C＋＋ 4.2提供的CSocket编程技术和面向对象技术以及方便的界面设计工具，大大地提高了开发速度和效率。
　　(2)多媒体协同编辑器设计。在本系统中，服务器相当于排队系统的服务台，多个合著者的协作相当于1个单服务台的排队系统，来自合著者客户机的编辑信息和状态信息均视作服务请求，服务器收到消息后，按排队规则进行排队，并给出对客户机的回答，信息交换的处理过程在客户机端相对简单。我们采用Borland Delphi 3.0作为程序开发的主要工具，调用Winsock进行网络编程。
　　鸿象多媒体协同编辑系统完成了集多媒体交互技术、版本控制技术、访问控制与信息安全技术于一体，支持不同模式群体协同工作的集成化多媒体编辑器，共享资源的互斥与同步等关键技术。多媒体编辑器功能强、方便实用，在共享白板设计中支持OLE目标连接功能，使得该系统在多媒体对象参与协同方面具有特色，不足之处主要是调度算法还不够优化，需进一步改进。
倪强（武汉华中理工大学电子与信息工程系430074）
朱光喜（武汉华中理工大学电子与信息工程系430074）
收稿日期：1999－12－22
