高校视频会议统一门户的设计与实现

2019-12-06 06:33朱骏宁彭伟沈富可
中国教育信息化·高教职教 2019年11期
关键词:实现设计

朱骏宁 彭伟 沈富可

摘   要:随着互联网技术的发展,网络视频会议技术已逐渐取代了传统的电话会议,作为一种常见的远程会议手段被人们所熟知。文章针对高校师生用户的使用习惯及会议场景特点,利用一些主流视频会议系统的API接口进行二次开发,并结合学校的统一身份认证系统,设计并建设统一的视频会议服务管理门户,面向全校师生统一交付远程视频会议服务,使视频会议技术真正成为面向师生即需即用的服务,为教学、科研和办公场景提供有利支持。

关键词:网络视频会议技术;统一管理门户;设计;实现

中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2019)21-0091-03

一、引言

在日常的教学过程、行政办公和科研会议等不同场景中,参会者对远程视频会议有着不同的需求。如在教学过程中,视频会议常被用作支持远程教学的技术手段,所以对远端学员参会的便捷性、教师与讲义画面的灵活切换和音画传输质量上有着更高的要求;而在行政和科研会议中,往往对会议发起的即时性和便捷性,以及对会议过程中的文档展示、协同操作等互动性上有着更高的要求。

目前,国内高校视频会议系统的建设思路主要是以支持H.323协议的硬件视频会议终端为核心,建设符合网络视频会议需求的多媒体会议室。在这样的会议室建设中,需要考虑摄像头的安装位置、视频矩阵的选择、各种信号源的灵活切换、时序电源、网络设备和外围多媒体设备如显示器等[1]。这使得一间标准的网络视频会议室建设需要投入较高的人力、财力和时间成本,而目前预先建设的会议室,往往又很难满足不同性质和规模的会议,很难满足对场地的大小、布局、远端画面和文档讲义的展示方式等不同要求。另一方面,在会议连接的稳定性和音视频画面的流畅度上,私有化部署的视频会议系统又非常依赖基础网络的健壮性。国际电信联盟电信标准分局(ITU-T)在1998年制定了基于H.323的松耦合扩展协议H.332[2]以解决视频会系统的规模扩展问题[3]。此后国内外也开始了一些基于IP组播的纯软件视频会议系统相关研究[4]。

近年来,公有的视频会议服务逐渐流行起来。它们大多通过软件客户端、移动客户端甚至浏览器直接向用户交付视频会议服务,不但使视频会议的发起和使用更加便捷,同时也能保证较高的流畅度和清晰度。

本研究以华东师范大学视频会议系统建设为例,通过设计并建设统一的视频会议门户,将公有视频会议服务通过校内平台进行服务资源的统一交付、使用和管理。视频会议统一门户的建设增加了视频会议服务交付的即时性和便捷性,减小了视频会议场地的建设成本和周期,降低了视频会议服务对用户的技术门槛和学校相关部门的管理难度和工作压力。

二、系统设计

1.会议预约功能设计

华东师范大学虚拟视频会议门户使用了两种不同的公有视频会议服务。由于商业授权模式的区别,门户系统分别以“直接预约”和“会议室预约”两种方式实现虚拟视频会议服务的预约功能。

(1)直接预约模式

该服务的授权方式只对超过并发数的与会者进行限制收费。例如,服务授权为100人并发,即全校可以通过门户系统同时发起50场有2人同时参与的会议,或2场50人同时参与的会议,若并发人数超过100则在事后对超出的部分另行结算。所以,学校门户系统无需考虑虚拟会议室占用问题,即预约的冲突机制,选择该服务的用户可以直接预约发起会议。一旦会议预约创建成功,学校门户系统则会将信息保存在数据库中。meeting_key这个字段作为会议被创建后的唯一标识,门户系统将通过该字段对会议信息进行维护或查询会议录像文件。

if ($record->meeting_id) {$data['meeting_id']=$record->meeting_id;

$ret = $wbx->modifyMeeting($data,true);}

else {$ret = $wbx->createMeeting($data,true);}

if ($ret) {if (!$record->meeting_id) {$record->state = 1;

$record->meeting_id = $ret['meetingkey'];}//成功预约会议后生成会议标识

会议预约成功后,系统会自动将会议信息记录在门户系统本地的数据库中,包括会议的URL链接等,并根据用户在预约会议时的选择,决定是否向与会者发送包含会议信息的提醒邮件:

$record->icalendar_url_host = $ret['iCalendarURL']['host'];

$record->icalendar_url_attendee = $ret['iCalendarURL']['attendee'];//向与会者发送邮件提醒

if (!$quite) {$record->mailAttendees();}

$record->save();//获得会议的参会URL

$ret = $wbx->getMeetingJoinerUrl($record->meeting_id);

在会议预约的过程中,还可能因为公有服务的授权等问题,造成会议无法被正常创建,门户系统则会记录下公有系统返回的报错信息,并将会议无法创建的原因通过邮件方式发送给主持人,即會议的预约创建者:

if (!$ret) { return $wbx->error['reason'];}

$record->guest_url = $ret;

$record->makeHostToken();

$record->save();}

else {return $wbx->error['reason'];}//将报错原因通过邮件发送给主持人

$record->mailHost();

return 'OK';

(2)会议室预约模式

该服务的授权方式同时限制了会议的并发数及每场会议的与会者人数。所以,学校的门户系统需考虑会议预约的冲突机制,因此我们引入了“虚拟会议室”的概念。例如,授权中并发会议的数量为10个会议,其中5个会议限制了与会者人数最高为25人,其余会议限制了与会者最高人数为50人,则我们会在门户系统中设置10个虚拟会议室,包含5间可容纳25人的会议室和5间可容纳50人的会议室。在预约虚拟会议室时,用户需输入会议开始的时间及人数,学校门户系统则会自动查找这个时间段内空闲且符合人数要求的“虚拟会议室”,将该虚拟会议室标记占用并分配给申请用户。若冲突,则学校门户系统会提示当前时间段内没有空闲虚拟会议室,提醒用户更改时间重新申请,流程如图1所示。

具体实现中,系统主要使用了一段SQL 语句来解决查询冲突问题。该语句主要内容为where start_time between会议开始时间and会议结束时间,以这样的判断语句来检测是否存在会议室冲突。如图2所示,较宽横线代表已有预约,较细横线代表这次申请的时间,在预约过程中会有以下四种情况产生冲突:

①已有预约会议的开始时间“S”在本次申请“开始” 和“结束”之间。

②已有预约会议的结束时间“E”在本次申请“开始”和“结束”之间。

③申请的“开始”时间在已有预约会议的“S”和“E” 之间。

④申请的“结束”时间在已有预约会议的“S”之后。

按照以上四种冲突情况,编写了相应的SQL语句进行判定以规避预约过程中可能发生的冲突情况。针对正在进行的会议可能未按约定时间结束的问题,门户系统中还设置了可供管理员自由调节的窗口时间,即在图2中已预约会议的结束时间“E”和本次申请的“开始”之间设置一个区间(如20分钟),以在两场会议之间形成一个20分钟的封闭时间区间,管理员可以根据门户系统中会议室的实际占用情况,动态调整该时间区间以避免冲突或虚拟会议室资源的浪费。同时,系统中还会对其它可能造成冲突的情况进行判定,如是否有虚拟会议室处于关闭状态,是否有仅供管理员分配的预留会议室等。门户系统管理员则可以在系统后台,查看所有会议室的预约情况,如图3所示。

2.身份认证功能设计

华东师范大学的信息系统均通过学校“公共数据库”账号和密码进行统一身份认证。在本系统的设计中,我们没有简单地使用SSO方式,而是在用户首次登录时将密码临时记录在门户系统本地,同时通过LDAP接口去“公共数据库”进行验证。如果验证通过,再使用会议系统的相关接口,为用户在系统中同步创建账号,如图4所示。

由于“公共数据库”使用的LDAP无法获取所有用户准确的邮箱信息,而会议的邀请、通知等功能又依赖于邮件功能,所以我们通过校内API接口从其它系统获取用户邮箱信息。由于获取信息是通过SOAP方式获得的,因此单独编写了EcnuAPIClass,以调用校内API接口:

function searchUserInfoWithNetworkDev($user_id)

{

$url = 'https://network-dev.ecnu.edu.cn/api/v1/ldap/search/' . $user_id;

$ret = \curlFetch($url, null, null, ['X-API-KEY:

$r = json_decode($ret, true);

return $r['success']?$r['user']:false;

}

3.黄页功能设计

为了使学校用户能够更直观便捷地发起会议,我们在会议预约功能中增加了校内黄页的设计,使用户能够在黄页中直接查询并将与会者加入邀请列表,而无需手动输入与会者的姓名和邮箱等信息,从而使会议预约的过程更加人性化,如图5所示。

if ($oper == 'ecnu_faculties') { if ($q) {$a = explode(' ', $q);

if (count($a) == 2) { $sql = DB::table('ecnu_faculties')->where('email', '<>', null)

->where('BMMC', 'like', '%' . $a[0] . '%')

->where('XM', 'like', '%' . $a[1] . '%');} else {

$sql = DB::table('ecnu_faculties')->where('email', '<>', null)

->where(function ($query) use ($q) { $query->where('XH', 'like', $q . '%')->orWhere('XM', 'like', '%' . $q . '%')

->orWhere('BMMC', 'like', '%' . $q . '%'); });

}

} else

$sql = DB::table('ecnu_faculties')->where('email', '<>', null);

$data = $sql->selectRaw('XH user_id,XM name,BMMC department,EMAIL email')->paginate(50);

return response()->json($data);}

三、結束语

华东师范大学通过建设视频会议统一门户,引入了公有视频会议服务,彻底解决了传统硬件视频会议模式在高校应用时的部署复杂度高、易用性差、对基础网络健壮性依赖等问题。两种预约模式与校内黄页功能的结合,使视频会议的发起和预约过程更加便捷和人性化,使视频会议不再是重要会议及活动的专属保障工作,而使其能够真正服务于教职工的日常办公、教学和科研。

参考文献:

[1]刘伟.多媒体视频会议系统的设计与实现[J].信息记录材料,2018,19(3):56-58.

[2]ITU-T Recommendation H.332-H.323 Extended for Loosely Coupled Conference[R].1998.

[3]宋玲,胡凡良.纯软件视频会议系统视音频QoS的研究与控制[J].计算机工程,2006(16):221-223.

[4]刘强,朱文球,张阿敏.面向网络教学的小规模视频会议系统的设计与实现[J].计算机应用与软件,2013,30(10):142-146.

(编辑:王晓明)

猜你喜欢
实现设计
何为设计的守护之道?
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
信息系统安全评价系统设计及实现
高校声像档案数字化管理的实现路径
办公室人员尚需制定个人发展规划
浅析铁路通信传输的构成及实现方法
设计之味