简介:本文通过对水利系统计算机网络和语音通信现状的调查研究,分析了当今防汛抗旱工作对通信网络的需求,着重研究了计算机网络语音集成技术,提出以先进的数据、语音、视频同网传输的多业务网络为支撑,利用稳定、可靠的VOFR和灵活、方便的VOIP通信技术相融合,实现水利系统防汛应急通讯。关键词计算机网络;VOFR;VOIP;多业务通信中图分类号TP393文献标识码A文章编号1007-9599(2010)04-0000-03ComputerNetworkSpeechTechnologyApplicationinFloodEmergencyCommunicationSystemWuChaoying1,ZhangMeng2(1.GuangdongConstructionTechnologyCollege,ModernEducationTechnologyCenter,Guangzhou510440,China;2.ZhengzhouWaterConservancySecondarySchool,Zhengzhou450008,China)AbstractThispaperanalysesthecurrentrequirementofcommunicationnetworkintheprocessoffloodcontrolanddroughtpreventiononthebaseoftheon-siteinvestigationofcomputernetworkandspeechcommunicationinwaterconservancysystem.Thepapermainlyfocusesonspeechintegratedtechnologyofcomputernetwork.Withthesupportoftheadvanceddata,voiceandthemulti-servicenetworkofvideotransmissionontheidenticalnetwork,theemergencycommunicationoffloodcontralisrealizedbytakingadvantageoftheintegrationtechnologyVOFRandVOIPwhicharereliable,flexibleandconvenient.KeywordsComputernetwork;VOFR;VOIP;Multi-servicecommunication水利系统单位众多,分布面广。由于所处的地理位置特殊,防汛任务十分繁重,每年汛期,防汛会商、紧急会议和雨水情、工情、灾情等资料报送相当频繁,语音报汛是主要的防汛方式之一。另外,办公及其它水利工作的大量业务信息需要通过语音通讯手段解决。而目前主要使用的微波专用防汛电话维护成本高,容易受到外界干扰,通话质量差。公网电话的长途费用过高,保密安全性差,不能适应抗洪抢险的要求。近年来,随着计算机技术和通信技术的发展,存在着传统的基于电路交换的语音传输系统逐渐被基于分组交换或信元交换的运行于IP协议或者帧中继(FrameRelay,FR)协议上的语音业务(VoiceOverInternetProtocol、VoiceOverFrameRelay)所取代的趋势。同时集语音、视频、数据为一体的多业务信息传输技术的实现,使越来越多的人开始通过网络进行网上会议、远程医疗、远程通信,缩短了时区和地域的距离。一、组网模式传统的构建语音网络的方法是采用基于时分复用设备(TDM)的电路交换技术,其特点是为语音业务静态分配网络带宽;每路话音需占用64Kbps信道;语音呼叫路由功能由PBX来完成。而数据网络是基于分组交换技术的,每个分组动态占用网络带宽,多种业务可以共享同一物理传输信道。利用水利数据网络构架建立水利的语音网络有以下好处1.通过将语音网络构建在数据网络平台上,节省了网络建设投资和网络管理成本;2.利用分组技术传输语音业务可以节省更多的网络带宽;3.可以节省本地接入和长话费用;4.为语音,数据,视频的集成应用奠定基础。目前,分组语音传输技术可按照它涉及的广域网的服务类型和对语音分组进行协议封装类型分为帧中继语音传输技术(VOFR)、ATM语音传输技术(VOATM)和IP语音传输技术(VOIP)。究竟那种分组技术更好,须视用户的业务需求和条件而定。由于水利网不是ATM网络,但支持帧中继和IP,因此可以选择VOFR和VOIP。当在数据网络上构建一个语音网络时,我们可以从不同的网络实现层次来选择VOFR(数据链路层)或VOIP(网络层),并且重点考虑下面几个问题。(一)分组语音优先传输对于分组语音在企业数据网络中的传输,其端到端单向传输时延不能大于200ms,否则通话质量无法接受,因此需要对分组语音赋于较高的传输优先级别。对于IP网络,有两种优先传输机制;一种是区分服务,即让路由器能够识别出来自VOIP网关的使用“众所周知的UDP端口号”分组语音包,并将其优先传输;另一种是由VOIP网关采用RSVP协议向路由器预先申请网络带宽资源,从而为分组语音预留一条具有带宽保证的优先路经。对于帧中继网络,在支持分组语音业务服务的帧中继接入设备上(FRAD)分组语音包会被自动地赋于较高的传输优先级,而无需用户预先配置;此外,由于帧中继网络是面向连接的交换网络,分组语音包沿着一条事先建立好的虚电路(VC)到达目的地,所以能保持较低的传输时延并且对时延抖动的影响较小。(二)网络结构的考虑帧中继网络是面向连接的交换网络,而IP网络则是面向无连接的,这意味着分组语音包在帧中继网络中是沿着同一条路经(PVC)传输的,不会出现分组语音包到达顺序与发送顺序不一致的现象并且不会因其他业务争用网络带宽而影响语音的传输时延和时延的抖动;而IP网络可能将同一路话音的分组语音包经由不同的路经传输到目的地,这样可能导致包失序情况的发生,并且由于IP网络无法避免长数据分组和短语音分组争用网络信道的现象而导致分组语音包传输时延的增加和时延抖动。帧中继网络是采用基于面向连接的交换方式转发分组语音包的,因此每个中继节点的传输时延可以预测;而IP网络是采用面向无连接的路由方式转发分组语音包,端到端的传输时延与中继路由节点的数量有较大关系,因此路由的“下一跳”的个数越少越好。(三)组网灵活性和设备开销IP方式组网更灵活,可以方便的将网络从内部网延伸到Internet,IP无处不在而VOFR需要专门的帧中继网络设备支持。VOIP实现方式灵活,还可以支持桌面软电话,设备开销比VOFR要低很多。基于以上原因综合考虑,水利系统网络电话可以采用VOFR和VOIP相结合的办法,充分利用VOFR和VOIP各自的特点,发挥它们的长处。二、网络语音通信的实现(一)识别码的编制我们在设计网络电话时,为了区分各单位,需要统一编制区位识别码。编码方法是在各单位的内部电话号码前加拨3位区位识别码,即区位识别码(3位)+各单位内部电话码(4位),由7位号码组成水利系统内部IP电话号码。单位之间通话需要拨7位号码,有程控交换机的单位内部通话仍拨原来的4位内线号码。(二)VOFR的实现我们在VOFR设计中主要采用了Passport6400和Passport4400系列多业务交换机。Passport6400和Passport4400均提供强大的话音交换功能,支持用户电话,用户集团电话,和数字程控交换机的话音交换功能,可以和北电网络,郎讯,NEC,福士通,三星、西门子、哈里斯等以及国内外各品牌PBX相连。水利系统广域网是多业务网络,可以以帧中继方式传送数据。只要在省中心节点和每个远程节点之间建立一条帧中继的永久虚连接(PVC)线路,就可以组成多业务集成的广域传输平台。Passport6400和Passport4400利用其先进的流量管理和TRUNK/PANL帧协议,可以将话音、数据、视频等不同的应用加载在不同的交换式虚连接(SVC)电路上,并封装到PVC线路上。在广域网上进行语音交换的具体过程是用户拨号后,Passport6400和Passport4400内部的网络地址客户立即从网络地址服务器中获得用户电话号码对应的Passport节点的网络地址并建立一个交换式虚连接SVC,将话音沿最佳的网络路径直接路由到目的的话机或程控交换机,通话完毕即释放网络资源。Passport地址服务器支持动态更新,并且网络地址客户能够智能地从本地获得目的Passport网络地址,提高了话音交换网的可靠性和灵活性,话音压缩和解压缩的过程被限制到最少,由此提高了话音的质量并减低了网络传送的开销,实现高效的话音交换。(三)VOIP的实现水利网的VOIP中心设备采用了多业务服务路由器(BusinessCommunicationManager,BCM),它是一个综合IP功能、集团电话、交换机(PBX)、路由器以及语音应用服务器等功能为一体的整合式系统,其硬件构成可以提供稳定、完整的电话功能、语音应用、IP电话以及数据功能。该服务平台控制所有诸如话务处理、话音应用、数据功能等,同时提供各种所需的数据和语音电路接口。BCM是语音处理的心脏,它负责处理全部的电路交换语音以及提供DSP资源完成电路交换到分组交换之间的编解码转换,可以实现VOFR和VOIP的融合,它直接和主机柜中的电路交换模块插槽相连,可独立于整个服务平台之外单独工作,以确保当服务平台或数据网络出现故障时,基于电路交换的语音传输仍旧保持其稳定性且不至中断。三、语音接口的连接方式在本设计中,我们在省厅通过数字程控交换机和公用电话网进行连接,省厅的数字程控交换机再和VOIP核心交换机BCM进行连接,通过设置后,实现了所有的广域网用户都可以通过网络方便的拨打长途IP电话。在具体实施中我们不仅在IP网络上实现了高质量的语音服务,而且将大部分的程控交换机功能融入到IP网络平台上,把IP电话应用技术来和数据网络集成在一起,能够实现包括主叫用户识别、呼叫转移、呼叫中心、统一消息、CTI、自动总机和客户呼叫路由等全套综合语音应用。水利厅使用的是Passport6400,Passport6400和Passport4400支持模拟语音接口(FXO,FXS,E&M)和数字语音接口(T1,E1)。根据各地网络设备及PBX的不同采用不同的连接方式。将Passport6400语音板上的E1端口用50Ω同轴电缆连入数字程控交换机的数字E1中继板上,然后调整路由规则和拨号方式即可。在目前建成的网络中采用Passport4400上连的结点,语音接入涉及E&M,FXO,FXS多种方式。Passport话音集成功能包括将程控交换机、集团电话、模拟电话连接到Passport多业务广域网平台上。(一)E1接口连接Passport提供高度模块化的T1/E1数字话音模块支持连接企业的数字程控交换机。Passport同时支持数字化的T1和E1话音接口,在中国地区大部分数字程控交换机采用E1数据话音接口。Passport通过E1接口连接企业程控交换机的E1数字话音模块。E1数字话音模块按支持话音通道数量不同,分为支持6通道的基本模块和支持12通道的扩展模块。根据PBX支持话音通道的数量配置E1数字话音模块。每个话音通道需要安装数字话音模块完成数字话音的压缩/解压缩处理。(二)4线E&M接口连接Passport的模拟话音模块的E&M接口可以连接有E&M的企业集团交换机。Passport支持E&M类型I,II,IV和V。(三)FXS接口连接Passport的模拟话音模块的FXS接口可以连接用户模拟电话机和用户的传真机。并且可以将传真机和电话机连接在一个FXS接口上。其他联网单位采用Passport系列多业务交换机作为与程控交换机相连的专用语音设备。由于各联网单位的程控交换机普遍陈旧且用户量有限,我们采用的是Passport模拟语音接口。每个单位使用4块语音板,每块支持两路FX0/FXS/E&M,根据用户不同的情况,设置不同的跳线。四、结论本文在设计上虽然实现了基于多业务网络的语音通信,但在实际应用中由于VOIP和VOFR的QOS服务质量有差异,造成了用户在语音通话时产生了不便的感觉,妨碍了系统的推广。VOFR语音通话质量非常好,没有明显的抖动和延时,已达到专业通信公司提供的语音服务质量,在网络臃塞时,话音质量不发生变化,尤其在数据信息因网络电路出现中断时,VOFR语音仍能保持畅通,这点特性在实际防汛工作中的关键时刻,具有应急通信的巨大优势。在VOIP语音应用时发现其在网络正常下通话质量已与市话相当,有轻微语音延迟。但当网络出现臃塞时,语音质量明显下降,甚至出现了通话中断现象,而且语音延迟增大,阻碍了交谈的流畅性。分析此问题的形成,是因VOFR的QOS是依赖二层的链路作保证,其优先级较高,语音质量不受带宽、病毒、网络使用率等因素的影响。而VOIP受H.323协议的QOS机制的制约,H.323协议目前在QOS上还不完善,正在走过从无到有再到完善的发展过程。VOFR是一种技术成熟的通信方式,它稳定、可靠,但缺乏灵活的组网方式,技术标准也不统一,建造成本过高,已经走向了迟暮。VOIP是一种语音通信的发展方向,它灵活、方便,虽然近年来技术有了长足的进步,但仍有很大的改进空间。将VOFR和VOIP两种技术融合在同一网络下,充分利用它们的优势,对于象水利这样的特殊行业来说不失是一个很好的解决方案。参考文献1谢希仁.计算机网络J.北京电子工业出版社,19962汤子瀛.计算机网络技术及其应用J.西安电子科技大学出版社,19963刘锦德.计算机网络技术大全J.北京电子工业出版社,19974胡道元.信息网络系统集成技术J.北京清华大学出版社,19965孙亚民.计算机通信网络J.上海交通大学出版社,19976杨明福.计算机网络J.北京电子工业出版社,19957赵庆轩.PBX追逐IP潮J.中国普天信息产业集团公司研究开发中心8张宏科等.ATM网络互连原理与工程J.北京清华大学出版社,19979苏金树等.高性能计算机网络技术J.北京电子工业出版社,199610Naugle,Matthew.NetworkProtocolHandbook.NewYorkMcGraw-Hill1994
简介:在大伙房水库监测预警平台的开发过程中,为了节约开发时间并优化程序结构、提高运行效率,综合利用C#这种现代语言高效开发的特点和FORTRAN这种古老计算机语言描述工程算法准确、严谨的优势。本文讨论了FORTRAN和C#混合编程的特点,研究了C#与FORTRAN混合编程的实现方法。关键词FORTRAN;混合编程;工程计算;DLL中图分类号TP314文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofFORTRAN&C#MixingProgrammingagainstLargekitchenWarningPlatformDevelopmentShangTao,FuJinxiang,MaXingyuan,TangYulan(ShenyangArchitectureUniversity,Shenyang110168,China)AbstractDuringthedevelopmentoflargekitchenResMonitoringandWarningPlatform,inordertosavedevelopmenttimeandimproveoperationefficiency,usingC#LanguagewhichisthemoderncomputerlanguagealsohasthecharacteristicsofefficientdevelopmentandFORTRANLanguagewhichcanrigorousandaccuratedescriptionofengineeringalgorithmtogetherisnecessary.ThispaperhasdiscussedthecharacteristicsofmixingprogrammingwithC#andFORTRANlanguage.KeywordsFORTRAN;Mixingprogramming;Engineeringcalculation;DLL一、FORTRAN与C#语言的发展及优势以大伙房水库监测预警平台的开发为例。平台需要采用大量先进的计算机编程技术,应用大规模数据库,提供可靠的安全保障,优秀的网络访问能力。这就需要构建平台的编程语言能完整简洁地支持当今最新的编程技术。C#语言就是这样一种语言,作为微软首推的编程语言,C#几乎支持所有最新的编程技术提供了极高的开发效率5。但是该平台又有着显著的工程计算软件的特点,需要严谨的科学计算语言对算法进行描述,同时有许多经过多年工程实践积累的工程计算代码可以被重用。FORTRAN语言最早被应用在工程开发之中,同时在FORTRAN语言50多年的发展中,积累了大量的优秀正确的代码。所以研究C#语言与FORTRAN的混合编程在该项目中的开发中有着重要的意义。(一)FORTRAN语言的发展及优势FORTRAN在数值计算领域有其独有的优势,首先它是最早的高级语言,有大量优秀正确可靠的源代码可以使用,如果能充分利用FORTRAN源代码可以大量节约工程软件设计开发的时间。FORTRAN语言有更为严格的语法,支持直接对数组和复数进行计算,非常适合严谨的科学计算领域1-3。(二)C#语言的发展及优势微软在推出.NETFramework第一版时推出的新语言C#,派生于C的简洁语法,继承了C++语言的灵活性,并且支持快速开发,随着C#3.0版本的发布,C#作为微软公司建议的开发语言,已经受到越来越多的程序开发人员的青睐5。二、FORTRAN与C#混合编程的方法(一)命名约定的一致由于C#语言是严格区分大小写的,而FORTRAN在默认情况下不区分大小写,如果不解决命名一致问题就会导致链接失败。FORTRAN的缺省方式是使符号名在OBJ文件中变成大写,在C#中调用一个缺省的子例程时用一个纯大写的名称生成调用就可以成功publicstaticexternvoidDLLTEST;(二)参数传递一致因为C#默认是值传递,而FORTRAN默认是引用传递。我们在参数传递中必须保持传递的一致性。简单的方法是使用C#的关键字ref,将C#的参数传递类型定义为引用类型publicstaticexternvoidDLLTEST(refinta,refintb);(三)数组参数传递在传递数组参数时,需要周全地考虑行和列的储存位置对调的问题5。还应注意,C#的数组下标从0开始,而FORTRAN的数组下标默认从1开始。如在C#中定义数组A34,共20个元素;同样的定义A(3,4)在FORTRAN中共12个元素1-3。并且进行数组传递还要注意,只需要传递数组的首地址即可,DLL需要的是数组的起始位置。三、FORTRAN与C#混合编程的实现下面试写水库监测预警平台中一个模型计算程序来说明FORTRAN和C#在混合编程的实际应用。启动VisualStudio,选择IntelVisualFortranLibrary中的Dynamic-linkLibrary,并给项目命名。新建“FortranFile”项,并给文件命名。然后在该文件中书写算法代码。编译完成后,在该项目的debug子目录下找到生成的dll文件。新建VisualC#Windows窗体应用程序。并给项目命名,将生成的dll文件拷贝到新项目的debug目录下。在进行连接之前需要在C#中增加对动态链接库操作的类的引用usingSystem.Windows.Forms;usingSystem.Windows.InteropServices;声明外部函数的部分代码publicpartialclassForm1Form{DllImport("dlltest.dll")publicstaticexternvoidFORDLL(reffloatV,reffloatQIN,reffloatBOD,...);...之后就可以对FORTRAN编写的外部函数进行调用,得到正确的结果。四、结论经过本文的讨论,可以看到运用FORTRAN与C#混合编程可以容易地实现。平台的代码极大的缩短,并且可以方便地重用FORTRAN语言的优秀代码,大大缩短开发时间,并且提高程序的执行效率。参考文献1司岩,周福才.FORTRAN程序设计基础J.大连理工大学出版社,1996,52刘卫国,蔡旭辉.FORTRAN90程序设计教程J.人民邮电大学出版社,2003,23张晓霞,田秀萍.Fortran90程序设计教程J.兵器工业出版社,2005,104Nagel.C等著.黄静译.C#高级编程J.清华大学出版社,2008,105周涛,郭占元,郭向荣.Fortran与C#混合编程在土木工程计算中的应用J.中南大学,2009,3