实时通讯系统设计与实现论文Word格式文档下载.docx
- 文档编号:20262814
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:40
- 大小:406.64KB
实时通讯系统设计与实现论文Word格式文档下载.docx
《实时通讯系统设计与实现论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实时通讯系统设计与实现论文Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
”。
为了回答这个问题,需要一个简捷,概括性的系统分析和设计的过程,也就是在较抽象的层次上进行的分析和设计。
可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决方法。
1.3技术可行性分析
实时通讯系统最难解决的部分是视频、音频开发,所以我们重点是介绍视频、音频的可行性研究。
视频会议系统的结构主要有视频会议终端,多点控制器,信道(网络)及控制管理软件组成。
视频会议系统终端的主要功能是完成视频信号的采集,编辑处理及显示输出、音频信号的采集、编辑处理及输出,视频音频数字信号的压缩编码和解码,最后将符合国际标准的压缩码流经线路接口送到信道,或从信道上将标准压缩码流经线路接口送到终端中。
此外,终端还要形成通信的各种控制信息:
同步控制和指示信号,远端摄像机的控制协议,定义帧结构,单个及多个终端的呼叫规程,加密标准,传送密钥,及密钥的管理标准等。
多点控制单元MCU是视频会议系统的关键设备,它的主要功能是对视频,语音及数据信号进行切换,例如它会把传送到MCU某会场发言者的图象信号切换到所有会场。
对于语音信号,若同时有几个发言,可以对他们进行混合处理,选出最高的音频信号,切换到其他会场。
MCU的主要组成部分是网络接口单元,呼叫控制单元,多路复用和解复用单元,音频处理器,数据处理器,控制处理器,密钥处理分发器及呼叫控制处理器。
本文所开发的实时视频会议系统具有广阔的市场前景和技术支持。
首先,从技术角度看,视频会议技术已进入一个相对比较成熟的阶段,国际电信联盟提出的H.320、H.323协议簇已经成为公认的主流技术标准。
本文采用的是H.323标准。
H.323系统采用的是一种图象和语音的编码技术,因此,在图象和声音的表现质量和还原上本质是相同的。
而且,H.323总线形网络结构不会因为某一个终端出现临时故障而影响整个会议和网络。
其次,视频会议的QoS策略可分为两个层面来实现:
网络层面和业务层面。
下面从这两个层面出发分析如何确保实时视频会议的质量(QoS)。
从业务层面确保实时视频系统QoS的方法如下:
1.超量工程法
即在网络规划时预留足够的带宽,使得任何时候都能获得可接受的QoS,这种方法十分简单,不需要资源预留协议和接纳控制功能,但是要求部署足够多的路由器和高速链路,保证即使在忙时网络资源也有足够的余量。
它可用于网络资源便宜,同时网络最大业务量有可以预测的情况。
2.综合服务Internet方法
由IETF综合服务工作组定义,它需定义具有呼叫接纳控制功能的资源预留协议,如RSVP。
利用RSVP消息,端点应用程序可以为传送数据申请预留的网络资源(如带宽,缓冲区大小等),同时也确定了沿途路由器的传输调度策略,进一步,可以对每个数据流的QoS依次进行控制。
从网络层面上对Qos的保证可有以下几种方法:
1.网络结构
城域IP网络通常有核心层,汇聚层和接入层组成,汇聚层的各节点通过高速链路连接到核心层。
在城域IP网中,路由器的连接主要考虑路由跳数,一般需保证网络任意两个节点间通讯路由跳数最多为4跳,根据经验值,在采用光传输的情况下,一个数据包经过一跳其延迟一般为10ms,该值不由线路的长度和路由器的性能所决定,所以数据包在骨干网中的正常延时大概在50ms左右。
从这个角度考虑,延时问题不是影响IP视频业务质量的主要问题。
2.路由振荡问题及其解决
路由振荡原因分为两个方面。
一个是由于链路状态的改变造成的路由改变,如果采用IS_IS或OSPF路由算法,由于该算法依赖于Hello包的检测,因此会产生一些延迟,一般情况下,从链路中断到新路由选定需要几秒到几十秒的时间,这样的情况发生在骨干网上将大大地影响实时多媒体业务的质量,通常可以使用MPLS的FRR能力加以解决。
另一个路由振荡问题主要是网络设计不严谨造成的,对于出现大量的同值选路或大量的RouteReLookup或路由状态更新振荡的情况,防止问题发生的主要方案是在设计网络时要求所有流量的方向和选路都需要监控者明确地加以检查。
3.网络拥塞及其解决方法
除了振荡,网络拥塞对实时视频会议业务也有着重大影响。
因此我们在设计网络时,要防止网络拥塞的产生,在部署拥塞管理时,使用以下几个步骤:
1)测定WAN是否发生拥塞现象。
2)根据所需要管理的通信种类、网络的拓扑结构及设计方案来决定拥塞管理的目标。
一般可分为以下几个方面考虑:
a)能够为所确定的服务类型建立一种公平的带宽分配机制;
b)对于从IP视频业务发送出来的数据包,都能够指定严格的优先级。
这样可能会对低优先级别的数据业务造成一些损害;
c)能够自定义分配带宽,以便系统所提供的服务能更加灵活地适应不同的网络环境。
满足每一个应用都具有特定的、预先分配好的带宽要求;
3)用所选定的拥塞管理策略配置接口,并且观察所得到的结果。
第二章需求分析
2.1需求分析简介
这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
2.2总体目标
当今世界,科学技术突飞猛进,知识经济初见端倪,世界范围内的经济、科技及综合国力的竞争日趋激烈,企业同样加入全球的竞争行列,步入国际化轨道。
进入“地球村”的二十一世纪,企业提高管理质量的需求日益增加。
实时通讯系统是利用计算机技术、网络技术、多媒体技术等现代信息技术手段开展起来的新型企业管理模式,将最大限度利用现有网络,是实现企业管理现代化、国际化的新型管理模式和必然途径。
运用实时通讯系统开展企业内部决策讨论,可以打破时空的限制,随时随地进行,能创造出一个信息化的交流环境,有利于提高管理质量和工作效率,让人人能给企业提意见和建议,能克服人多、地广等客观条件的限制。
为了企业内部交流的方便,我们的主要设计的目标是企业内部人员在异地也能够像平时一样面对面的进行交流,让他们可以通过网络进行视频,语音交流(包括文本交流),还可以进行重要文件的传输等。
实时通讯系统主要满足客户远距离的相互交流的需要,来达到以下几个目的:
1.节省大量的差旅费用,降低企业成本;
2.减少在旅途中的时间,提高工作效率;
3.缩短上层领导的决策周期;
4.随时可以召集和举行会议和培训;
5.可以远程交换数据,核对帐目、协同审批文件;
6.外地人员也可以通过互联网参与公司的会议;
为了实现以上几个目标,实时通讯系统就必须具备以下功能:
1.能够实现音、视频交互。
2.有良好的带宽分配机制、有灵活的网速适应能力。
3.支持多种网络环境,并且跨越各种不同的网络环境。
4.能实现无延迟的音、视频传输,保证音、视频的同步性。
5.能进行会议录制,把会议信息完全记录下来。
2.3面向对象方法学
为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径——面向对象方法学。
2.3.1面向对象分析方法简介
面向对象分析主要包括三项内容,这就是理解,表达和验证。
它是抽取和整理用户需求并建立问题域精确模型的过程。
面向对象分析的关键工作,是分析,确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。
大型复杂系统的对象模型通常包括由下面五个层次组成:
主题层、类—对象层、结构层、属性层和服务层。
它们对应着在建立对象模型的过程中所应完成的五项工作。
大多数分析模型都不是一次完成的,为了理解问题域的全部含义,必须反复多次地进行分析。
因此,分析工作不可能严格地按照预定顺序进行,分析工作也不是机械地把需求程序转变为分析模型的过程。
分析员必须与用户及领域专家反复交流,多次磋商,及时纠正错误认识并补充缺少的信息。
分析模型是同用户及领域专家交流时有效的通讯手段,最终的模型必须得到用户和领域专家的确认。
在交流和确认的过程中,原型往往能起很大的促进作用。
一个好的分析模型应该正确完整的反映问题的本质属性,且不包含与问题无关的内容。
分析的目标是全面深入地理解问题域,其中不应该涉及具体实现的考虑。
但是,在实际的分析过程中完全不受与实现有关的影响也是不现实的。
虽然分析的目的是用分析模型取代需求陈述的,并把分析模型作为设计的基础,但是,事实上,在分析与设计之间并不存在绝对的界线。
根据面向对象设计方法,设计出模型图如下:
第三章总体设计
3.1概述
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。
总体设计的基本目的就是回答“从总体上说,系统应该如何实现?
”这个问题,因此,总体设计又称为概要设计或初步设计。
通过这个阶段的工作将划分出组成系统的物理元素,如程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。
总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
通常,使用面向对象的设计方法来进行总体设计。
3.2面向对象设计方法简介
面向对象设计则是把分析阶段得到的需求转变成符合成本和质量要求、抽象的系统实现方案过程。
从而面向对象分析到面向对象设计是一个逐步扩充模型的过程。
或者说,面向对象设计就是用面向对象的观点建立求解域模型的过程。
优秀设计是使得目标系统在整个生命周期中总开销最小的设计,为获得优秀的设计结果,应该遵循一些准则,即:
模块化,抽象,信息隐藏,弱耦合,强内聚和可重用。
重用是提高软件生产率和目标系统质量的重要途径,它基本上始于设计。
用面向对象方法设计软件,原则上也是先进行总体设计,然后在进行详细设计,当然它们之间的界限非常模糊,事实上是一个多次反复迭代的过程。
面向对象使用对象和消息,则这种方法可以称为基于对象的(Object-based)方法,而不能称为面向对象的方法;
如果进一步要求把所有对象都划分为类,则这种方法可称为基于类的(Class-based)方法,但仍然不是面向对象的方法。
只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。
所谓对象就是具有相同状态的一组操作的集合。
类是对具有相同属性和行为的一个或多个对象的描述。
对于继承从广义上说是指能够直接获得已有的性质和特征,而不必重复定义它们。
在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。
消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。
3.3面向对象方法的主要优点
(l)与人类习惯的思维方法一致
面向对象的软件技术以对象(Object)为核心,用这种技术开发出的软件系统由对象组成。
对象是对现实世界实体的正确抽象,它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作(表示对象的动态行为),封装在一起所构成的统一体。
对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。
面向对象的设计方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。
它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。
在面向对象的设计方法中,计算机的观点是不重要的,现实世界的模型才是最重要的。
面向对象的软件开发过程从始至终都围绕着建立问题领域的对象模型来进行:
对问题领域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系,从而按照人们习惯的思维方式建立起问题领域的模型,模拟客观世界。
面向对象方法学的出发点和基本原则,就是分析、设计和实现一个软件系统的方法和过程,尽可能接近人们认识世界解决问题的方法和过程,也就是使描述问题的问题空间和描述解法的解空间在结构上尽可能一致。
也可以说,面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。
面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象,对象实际上是抽象数据类型的实例,提供了理想的数据抽象机制,同时又具有良好的过程抽象机制(通过发送消息使用公有成员函数)。
对象类是对一组相似对象的抽象,类等级中上层的类是对下层类的抽象。
因此,面向对象的环境提供了强有力的抽象机制,便于人在利用计算机软件系统解决复杂问题时使用习惯的抽象思维工具。
此外,面向对象方法学中普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;
面向对象方法学中通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。
面向对象的软件技术为开发者提供了随着对某个应用系统的认识逐步深入和具体化的过程,而逐步设计和实现该系统的可能性,因为可以先设计出由抽象类构成的系统框架,随着认识深入和具体化再逐步派生出更具体的派生类。
这样的开发过程符合人们认识客观世界解决复杂问题时逐步深化的渐进过程。
(2)稳定性好
面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。
它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。
因为面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应完成的功能的分解,所以,当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改。
例如,从已有类派生出一些新的子类以实现功能扩充或修改,增加或删除某些对象等等。
总之,由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的。
(3)可重用性好
面向对象的软件技术有希望比较好地解决软件重用问题。
对象所固有的封装性和信息隐藏等机理,使得对象内部的实现与外界隔离,具有较强的独立性。
因此,对象类提供了比较理想的模块化机制和比较理想的可重用的软件成分。
面向对象的软件技术在利用可重用的软件成分构造新的软件系统时,它有很大的灵活性。
有两种方法可以重复使用一个对象类:
一种方法是创建该类的实例,从而直接使用它;
另一种方法是从它派生出一个满足当前需要的新类。
继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。
由于可以像使用集成电路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统,因此,有人把此类称为“软件IC”。
面向对象的软件技术所实现的可重用性是自然的和准确的,在软件重用技术中它是最成功的一个。
(4)可维护性好
用传统方法和面向过程语言开发出来的软件很难维护,是长期困扰人们的一个严重问题,是软件危机的突出表现。
由于下述因素的存在,使得用面向对象方法所开发的软件可维护性好:
①面向对象的软件稳定性比较好。
如前所述,当对软件的功能或性能的要求发生变化时,通常不舍引起软件的整体变化,往往只需对局部作一些修改。
由干对软件所需做的改动较小且限于局部,自然比较容易实现。
②面向对象的软件比较容易修改。
面向对象软件技术特有的继承机制,使得对软件的修改和扩充比较容易实现,通常只须从已有类派生出一些新类,无须修改软件原有成分。
面向对象软件技术的多态性机制,使得当扩充软件功能时对原有代码所需作的修改进一步减少,需要增加的新代码也比较少。
③面向对象的软件比较容易理解。
在维护已有软件的时候,首先需要对原有软件与此次修改有关的部分有深入理解,才能正确地完成维护工作。
传统软件之所以难于维护,在很大程度上是因为修改所涉及的部分分散在软件各个地方,需要了解的面很广,内容很多,而且传统软件的解空间与问题空间的结构很不一致,更增加了理解原有软件的难度和工作量。
面向对象的软件技术符合人们习惯的思维方式,用这种方法所建立的软件系统的结构与问题空间的结构基本一致。
因此,面向对象的软件系统比较容易理解。
对面向对象软件系统所做的修改和扩充,通常通过在原有类的基础上派生出一些新类来实现。
由于对象类有很强的独立性,当派生新类的时候通常不需要详细了解基类中操作的实现算法。
因此,了解原有系统的工作量可以大幅度下降。
④易于测试和调试。
为了保证软件质量,对软件进行维护之后必须进行必要的测试,以确保要求修改或扩充的功能按照要求正确地实现了,而且没有影响到软件不该修改的部分。
如果测试过程中发现了错误,还必须通过调试改正过来。
显然,软件是否易于测试和调试,是影响软件可维护性的一个重要因素。
对面向对象的软件进行维护,主要通过从已有类派生出一些新类来实现。
因此,维护后的测试和调试工作也主要围绕这些新派生出来的类进行。
类是独立性很强的模块,向类的实例发消息即可运行它,观察它是否能正确地完成要求它作的工作,对类的测试通常比较容易实现,如果发现错误也往往集中在类的内部,比较容易调试。
3.4系统组成
实时通讯系统的基本功能是保证企业的信息能及时、方便、快速的传播,并为企业建立一个良好的信息交流和资源共享的平台,具体由三个部分组成:
服务器子系统、客户端子系统和数据库子系统。
3.4.1服务器端
服务器端在整个通讯系统中具有枢纽作用,控制着所有客户端之间的通信。
用户间的通讯首先都必须通过服务器,如果客户端A发一条信息给客户端B,那么客户端A首先把信息传给服务器,然后服务器把信息传给客户端B;
如果客户端B传信息给客户端A,以此类推,如图3.1所示。
服务器端主要用来管理用户,以及维护客户端与客户端之间的通讯,即通讯管理。
其中,用户管理主要是对用户信息的管理,通讯管理主要是用来建立用户之间的连接,维护用户之间的通讯。
在服务器和用户端各建立一个套接字,当用户间相互通讯,服务器首先获取用户的套接字,然后由服务器收发信息。
3.4.2数据库子系统
由于本系统数据量庞大,所以需要数据库的支持,在目前市面上主要常用的数据库有Access,Oracle等等,本文所选用的数据库是目前比较流行的MSSQLSERVER,它是一种关系数据库,使数据之间联系更加紧密,方便应用程序开发开发人员的使用。
本程序的数据库子系统主要划分为三个部分,即:
用户身份管理、用户好友管理、信息保存,如图3.2所示。
1.用户身份管理
当用户申请一个ID时,将他的ID和密码保存在服务器端的数据库中,以方便用户的下次登陆时,进行身份验证,具体流程如图3.3所示。
用户身份信息如表3.1所示。
说明
长度
属性
类型
主键
用户名
20
Name
char
是
密码
Psw
表3.1用户信息表
Table3.1userprofilechart
2.用户好友管理
在用户使用过程中,为了方便联系,将需要联系的人加入好友中,同样,在数据库中也要为他们建立数据表。
流程图如3.4所示。
用户好友信息表如表3.2所示:
用户好友名
Frd
3.用户交流信息的保存
在用户交流以后,希望把自己
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 通讯 系统 设计 实现 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)