基于Freeswitch的高可用通信调度系统研究与实现

阅读: 评论:0

2018年7月基于Freeswitch的高可用通信调度系统研究与实现谌介人(通号通信信息集团有限公司上海无线技术分公司,上海200000)
毛豆采摘机【摘要】针对机场、核电、港口码头对通信调度稳定性要求高的特点,本文设计并实现了一种基于Freeswitch的通信调度系统。该系统主要模块采用热备方式部署,具备较高的可靠性和可用性;模块化设计易于管理扩展,满足不同用户体的需求。
【关键词】Freeswitch;通信调度系统;热备
【中图分类号】TP311.52【文献标识码】A【文章编号】1006-4222(2018)07-0030-02
1引言
近年来国内机场、核电、港口码头业务量爆炸式增长,这类客户对通信调度的信息化程度和通信效率的要求在不断提高,传统电话交换系统越来越难满足其需求。随着VOIP技术的兴起和服务器处理能力的增强,越来越多的公司将原有的以传统电话交换系统为承载的业务迁移到以计算机软件为核心的软交换系统上。与传统的电话交换系统相比,基于软交换的通信调度系统具备成本低、业务种类多、实现简单、易于扩展等诸多特点,FreeSwitch是功能强大的开源软交换系统,以纯软件形式实现了完整的专用交换机功能。基于特定用户体的特点并结合Freeswitch的强大功能,本文设计并实现了一套高可用的通信调度系统,该系统在国内多个机场上线运行。2Freeswitch简介
2.1Freeswitch特点
Freeswitch是一个开源的、功能强大的软交换系统,在一台普通的电脑上部署Freeswitch,可将其变成一台功能强大的电话交换机,可实现拨号通信、会议电话、互动式语音应答、语音信箱、会话记录等业务功能。作为一个优秀的开源软件, Freeswitch可以实现的功能非常多,由于其开源性更可以根据自己的实际需要在源代码中集成相应的功能。在国外,很多ISP和运营商对它钟爱有加,把它作为运营商级的软交换设备;也有的利用它的平台建立呼叫中心,与各种企业级的应用集成;在国内,人们对它的利用同样广泛,有的企业把它作为内部的软交换中心,负责员工之间沟通,资源的调配以及管理等工作。另外,在各种互联网技术如火如荼发展的今天, Freeswitch在“云平台”中也是大有可为,许多盈利机构将其作为云平台建立各种应用,并以租赁的方式为企业提供多方面的服务。
2.2Freeswitch语音通信机制FreeSwitch是一个典型的背靠背用户代理(B2BUA),其内部的两个UA既可是Service,又可作为Client,UA以SIP协议作为信令交互通道与外界通信。与SIP客户端信令交互过程中,UA既可以充当Service接收和处理请求,也可以是Client 决定如何应答。通话建立后,两个UA分别与两个SIP终端维持2个RTP会话连接,而这两个UA之间也有专门的内部通信机制桥接这两个RTP会话,从而实现两个SIP终端之间的信息互通。
3高可靠性方案设计
机场、核电、港口码头日均通话业务量庞大,在某些关键岗位通话呼叫的可达性十分重要。针对客户的特点,系统采用服务器的双机热备方案,每台服务器都部署Freeswitch,两台服务器之间属于热备关系,当主用服务器宕机时,备用服务器在很短时间内接过所有业务。3.1Freeswitch的双机热备Freeswitch的双机热备选用了成熟的Pacemaker+ Corosync+Mysql方案,Pacemaker是一个集资源管理器。它实现了集资源级故障检测和恢复,它本身运行还需要依赖Corosync所提供的消息通信和成员关系的能力。它可以做几乎任何规模的集,管理员可以准确地实施集结点间资源的运行关系。Corosync主要负责不同节点之间的通信,它使用集协议(Totem),通过UDP完成节点间的通信。
系统除两台服务器自身的IP地址,还有一个对外用于话机注册,网关注册的虚拟IP,该虚拟IP作为集资源由Pace鄄maker来管理。为了避免Freeswitch和虚拟IP运行在不同的节点上,系统通过Pacemaker将Freeswitch和虚拟IP的定义为组资源,以保证该组资源运行在相同节点上。虽然两台服务器之间没有性能差异,但系统还是定义组资源优先工作在某台服务器上,这台服务器称为主用服务器,另一台称为备用服务器。当主用服务器宕机或者网络出现故障导致Freeswitch 或IP或两者皆不可用时,Pacemaker会把虚拟IP资源转移到备用服务器上,这就完成了主备切换过程,避免了由于单台服务器故障而出现整个系统不可用的局面,主备机切换过程如图1所示。
线棒涂布
3.2Mysql数据实时同步
Freeswitch默认使用Sqlite进行数据存储,Sqlite在并发效
率及功能全面性上无法与Mysql相比,因此双机热备时选用Mysql作为Freeswitch的数据库。系统发生主备机切换时,主
机Mysql中的业务数据必须同步到备机,确保当前业务不丢失。但引起主备机切换的原因较多,可能是Freeswitch自身崩溃,也可能是服务器硬件故障引起。如果在发生切换时才进行数据备份的动作,则无法满足所有的异常情况。因此系统实现了主备机Mysql的数据实时同步,所有对主设备Mysql进行的写入操作都会同步到备机Mysql,Mysql数据实时同步过程如图2所示。
系统运行时Mysql数据同步分三个步骤:
(1)主服务器的Mysql会把Freeswitch对数据库的每一
连续供墨
图1Freeswitch主备切换过程
通信设计与应用30
背缚2018年7月
改动都记录到二进制日志Binarylog 中。
(2)备服务器会利用主服务器Mysql 上预先设置好的账号登录到主Mysql ,读取主Mysql 的Binarylog ,并写入到自身的中继日志Relaylog 中。
(3)备服务器Mysql 的sql 线程负责读取中继日志Relay 鄄log ,并执行一遍。
完成上面三个步骤后,主服务器Freeswitch 对Mysql 的所有操作都会在备服务器的Mysql 中操作一遍,从而实现了主备机Mysql 数据的实时同步。当主备机发生切换动作时,主机Freeswitch 运行的数
据已经同步到备机中,从而保证系统整体服务不中断,提高系统可靠性。
3.3Freeswitch 时钟同步
Freeswitch 双机热备的正常运行,依赖于两台服务器之间的时钟同步,当服务器之间的时钟差值过大,会影响系统的高可用性。由于机场、核电、港口码头实际运行环境大多数是封闭的局域网,服务器无法通过互联网获取实时时钟信息,因此系统采用内部时钟同步的方案:以主服务器为NTP 服务器,备服务器周期性的同步主服务器时钟,以确保两台服务器时钟相同。
4结束语
针对机场、核电、港口码头,本文设计并实现了一套基于Freeswitch 的高可用通信调度系统。该系统采用了服务器双机热备模式,实现了Mysql 数据的实时同步和服务器之间的时钟同步,提高了系统整体可用性,系统模块化的设计为日后开发更强大的通信调度系统提供了基础。
参考文献
[1]杜金房,张令考.FreeSwitch 权威指南[M].机械工业出版社,2014.
收稿日期:2018-6-20作者简介:谌介人(1983-),男,工程师
图2Mysql 主从备份过程
基于XML 的数据交换在分布式WEB 系统中的应用研究
谢鸿韵(福州大学至诚学院,
福建福州350002)【摘要】近几年来,Web 应用程序非常流行,
应用起来也是相当快捷方便的,同时也可以给用户一个安全的网络环境。为了能够更好的发展Web 系统的研究,
本文就简单的介绍了基于XML 的数据交换在其系统中的应用研究,并结合实际例子进行了具体方法的研究。【关键词】XML ;分布式Web 系统;应用程序【中图分类号】TP393.09【文献标识码】A 【文章编号】1006-4222(2018)07-0031-02
随着Web 系统的广泛应用,虽然本身具有很多的优点,但同时也存在着许多不足的地方。Web 系统的本身就是相当复杂的,同时其系统应用起来没有那么的灵活,而且其系统是特别有针对性的一般都是对特定的客户端进行编程的,倘若需要其他的服务器的程序连接,那么就需要重新编写程序。在We
b 系统重新新应用时,通常会出现大量且重复的代码,这对一些并不是计算机专业的人来说是很难理解,也就造成了在操作上的困难。而且Web 系统在向自动化方向保存时以前应用的语言程序一般都是HTML ,却很难保存原有数据的含义。
1基于XML 的数据交换
XML 是标准通用语言的子集,它的全称就是扩展识别语言。这种语言程序通常非常适合程序之间的数据交换,例如本文所研究的分布式Web 系统。对于原来通常会的具有跨平台性的HTTP ,而XML 的数据交换同样也可以做到同样的效果,而且XML 还是非常适合分布式Web 系统,也因此XML 数据交换也就成为了在分布式Web 系统中相对来说较合适的标记语言。XML 与HTML 的区别就是,XML 只关注所传输数据的本身,而HTML 还是非常注重数据的表达方式,这也是XML 的优势所在。XML 就可以根据数据的本身,然后让用户
的数据传输的过程中只有语意的标记环绕,这就减少了数据在传输的过程中数据库的一些检索和修改的问题。运用这样的一个语言传输系统就可以简单的进行描述说需要传输的信息,这也使得XML 成为在因特网上信息共享功能的一个非常重要的路径。
这是由于它本身是又有一个开放性的语言程序交换,而且能够在不同的程序之间进行交换,它是没有平台的针对性的,应用起来对于客户而言也是非常方便的。他自我的描述企业对企业之间的网络内部
混合辅助肢体交换的关系,这是对于企业来说这样的一个方式也是非常合适的选择。因为这样的一个数据传输的工具的同时进行网络共享,也就变得更为方便简单,这根本是无须在共享之前相互协商的,就可以在程序之间进行共享。综上所述,也就使得它成Internet 上一个共享信息较强大的途径。与此同时,倘若通过DOMAPI 这样的编程就可以非常容易地编写出来XML 的程序,也就使得它在分布式Web 系统中可以得到灵活的应用。
骨刺灵2基于Web 的分布式三层体系结构
对于Web 得分不是来说大致可以分成三个层次,分别有客户端、应用程序服务器和数据服务器。
通信设计与应用31

本文发布于:2023-07-29 01:52:39,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/196582.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   服务器   实现   资源   调度   运行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图