一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种VoIP服务器自适应切换方法、系统和存储介质与流程

2023-01-15 06:10:38 来源:中国专利 TAG:

一种voip服务器自适应切换方法、系统和存储介质
技术领域
1.本发明涉及网络通信技术领域,尤其涉及一种voip服务器自适应切换方法、系统和存储介质。


背景技术:

2.近年来,光通信等无线、有线宽带业务迅速发展,利用voip通话的业务也跟着增长,基于voip专网的会部署切换到不同的环境,以适应不断扩张升级的语音网络,在这种环境下,还需要用户迁移重新启动onu设备或者voip客户端才能顺利弹性地切换到新地服务器环境,还是要多个步骤才能完成配置电话设备连接上网,步骤繁琐、专业性强,需要维护时需要麻烦专业技术人员,影响用户体验。
3.由于这些携带voip(voice over internet protocol)功能的家庭网关产品的普及使用,voip技术在日常生活中得到了广泛应用,voip简而言之就是将模拟信号(voice)数字化,以数据封包(data packet)的形式在ip网络(ip network)上做实时传递。
4.带voip功能的家庭网关设备,最多配置主备服务器,一个服务器配置一个域名,只有极少数个ip可以使用,当网络架构升级时,不会一开始切换这两个都有可能出问题的前序服务器,但是如果服务器发生故障,无法响应家庭网关的信令时,会造成功能异常。目前现网环境中基本都是通过配置两组服务器来保证安全性,但其切换流程会造成很多的信令包,容易造成网络拥塞,并且当服务器恢复时,会有大量的信令包涌入,对服务器造成巨大压力。目前现网环境中基本都是采用注册刷新的方式来进行通路检测,如果发现失败则进行服务器切换。一来不够及时;二来当注册到备用服务器上之后,无法主动切换回主服务器;仅依赖客户端检测,会造成整个网络的拥堵。客户无法及时切换到正常的语音服务环境,保持语音服务的稳定。


技术实现要素:

5.为了解决上述至少一个技术问题,本发明提出了一种voip服务器自适应切换方法、系统和存储介质,通过voip客户端和sbc的双重检测,提升主动检测的质量,降低了并发流量带来网络拥堵的风险,维护网络质量的迭代升级,提升网络健壮性。
6.本发明第一方面提出了一种voip服务器自适应切换方法,所述方法包括:基于voip客户端配置第一套voip服务器环境中的第一主用voip服务器和第一备用voip服务器的域名,并配置第一dns服务器和第二dns服务器;执行第一探测步骤:基于第一主用voip服务器和第一备用voip服务器的域名分别轮询第一dns服务器和第二dns服务器,并探测是否返回第一主用voip服务器、第二备用voip服务器的对应ip,如果均不能返回对应ip,则进入第二探测步骤,如果返回对应ip,则按照注册周期算法进行注册,并探测注册状态,如果注册状态均异常,则进入第二探测步骤;执行第二探测步骤:由会话边界控制器sbc检测一个和/或多个voip客户端反馈的
dns响应状态,如果连续搜集到n个voip客户端轮询第一dns服务器和/或第二dns服务器响应失败时,则切换第一dns服务器和/或第二dns服务器的上行链路,并由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip;由voip客户端基于第二主用voip服务器、第二备用voip服务器对应的一个或多个ip并按照注册周期算法进行注册。
7.本方案中,执行第一探测步骤,具体包括:基于第一主用voip服务器的域名轮询第一dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册,如果第一轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第一轮注册状态异常,则基于第一备用voip服务器的域名轮询第一dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第二轮注册,如果第二轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第二轮注册状态异常,基于第一主用voip服务器的域名轮询第二dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第三轮注册,如果第三轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第三轮注册状态异常,则基于第一备用voip服务器的域名轮询第二dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第四轮注册,如果第四轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第四轮注册状态异常,则进入第二探测步骤。
8.本方案中,切换第一dns服务器和/或第二dns服务器的上行链路,具体包括:更新voip客户端的上行链路的路由以指向新的中转路由器的ip;更新第一dns服务器和/或第二dns服务器的上行解析链路的路由;更新相应的路由表到voip客户端对应的家庭网关上。
9.本方案中,基于第一备用ip向第一备用voip服务器按照注册周期算法进行第二轮注册,具体包括:向第一备用voip服务器发送语音信令探测;如果成功,向第一备用voip服务器发送注册请求,如果成功注册到第一备用voip服务器上,则进行会话,如果未成功注册到第一备用voip服务器上,且连续等待时间阈值达到m个检测周期,则进入第二探测步骤;如果失败,则基于先快后慢的信令探测方式,先等待一个t时间,如果发送语音信令和回应语音信令都成功,则将等待时间增加到k个t时间,且k个t时间不超过检测周期的一半;若发送语音信令和/或回应语音信令失败,等待2个t时间之后再次向第一备用voip服务器发送信令探测;如果成功,注册到第一备用voip服务器并进行会话,如果失败,进行下一次信令探测,且每次因失败进行下一次信令探测时,将下一次信令探测的等待时间相较于上一次信令探测的等待时间进行翻倍,直到总时间达到一个检测周期,则进行下一个检测周期的信令探测,当连续等待时间阈值达到m检测周期时,则进入第二探测步骤。
10.本方案中,在第一轮注册状态正常,则进行voip会话之后,所述方法还包括:间隔一个t时间,向第一主用voip服务器发送信令探测,如果信令探测成功,则将等待时间增加到k个t时间,且k个t时间不超过检测周期的一半;如果信令探测失败,等待2个t时间之后再次向第一主用voip服务器发送信令探测;如果再次信令探测成功,则注册到第一主用voip服务器并进行会话,如果再次信令探测成功,进行下一次信令探测,且每次因失败进行下一次信令探测时,将下一次信令探测的等待时间相较于上一次信令探测的等待时间进行翻倍,直到总时间达到一个检测周期,则进行下一个检测周期的信令探测,当连续等待时间阈值达到m检测周期时,则基于第一备用voip服务器的域名轮询第一dns服务器。
11.本方案中,在基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册之前,所述方法还包括:判断第一主用voip服务器的域名对应的ip是否有更新;如果否,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册;如果是,则基于更新后的ip向第二主用voip服务器按照注册周期算法进行注册。
12.本方案中,在由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip之前,所述方法还包括:由上行链路的dns服务器通过递归查询方法获取多套voip服务器环境,并分别检测获取每套voip服务器环境的参数信息,其中所述参数信息至少包括网络质量和用户并发数量;将每套voip服务器环境的网络质量与其他voip服务器环境的网络质量进行比对,如果前者的网络质量优于后者,则对前者voip服务器环境的网络质量项加1分,否者不加分;将每套voip服务器环境的用户并发数量与其他voip服务器环境的用户并发数量进行比对,如果前者的用户并发数量少于后者,则对前者voip服务器环境的用户并发数量项加1分,否者不加分;待多套voip服务器环境均完成两两参数信息比对后,统计每套voip服务器环境的网络质量得分和用户并发数量得分;预设网络质量、用户并发数量对voip服务器环境选择过程具有不同的影响权重;将每套voip服务器环境的网络质量得分、用户并发数量得分分别乘以对应的影响权重,并对两个乘积进行相加,得到每套voip服务器环境的综合得分;将综合得分最高的voip服务器环境作为第二套voip服务器环境。
13.本发明第二方面还提出一种voip服务器自适应切换系统,包括一种voip服务器自适应切换模块,包含第一探测子模块、第二探测子模块,所述voip服务器自适应切换模块执行任务包括如下步骤:基于voip客户端配置第一套voip服务器环境中的第一主用voip服务器和第一备用voip服务器的域名,并配置第一dns服务器和第二dns服务器;所述第一探测子模块,执行第一探测步骤:基于第一主用voip服务器和第一备用voip服务器的域名分别轮询第一dns服务器和第二dns服务器,并探测是否返回第一主用
voip服务器、第二备用voip服务器的对应ip,如果均不能返回对应ip,则进入第二探测步骤,如果返回对应ip,则按照注册周期算法进行注册,并探测注册状态,如果注册状态均异常,则进入第二探测步骤;所述第二探测子模块,执行第二探测步骤:由会话边界控制器sbc检测一个和/或多个voip客户端反馈的dns响应状态,如果连续搜集到n个voip客户端轮询第一dns服务器和/或第二dns服务器响应失败时,则切换第一dns服务器和/或第二dns服务器的上行链路,并由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip;由voip客户端基于第二主用voip服务器、第二备用voip服务器对应的一个或多个ip并按照注册周期算法进行注册。
14.本方案中,第一探测子模块执行第一探测步骤,具体包括:基于第一主用voip服务器的域名轮询第一dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册,如果第一轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第一轮注册状态异常,则基于第一备用voip服务器的域名轮询第一dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第二轮注册,如果第二轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第二轮注册状态异常,基于第一主用voip服务器的域名轮询第二dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第三轮注册,如果第三轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第三轮注册状态异常,则基于第一备用voip服务器的域名轮询第二dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第四轮注册,如果第四轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第四轮注册状态异常,则进入第二探测步骤;所述第二探测子模块,接受所述第一探测子模块的控制指令,进入所述第二探测步骤。
15.本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种voip服务器自适应切换方法程序,所述voip服务器自适应切换方法程序被处理器执行时,实现如上述的一种voip服务器自适应切换方法的步骤。
16.本发明提出的一种voip服务器自适应切换方法、系统和存储介质,通过voip客户端和sbc的双重检测,提升主动检测的质量,降低了并发流量带来网络拥堵的风险,维护网络质量的迭代升级,提升网络健壮性。
17.本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
18.图1示出了本发明基于会话边界控制器sbc的部署架构图;
图2示出了本发明一种voip服务器自适应切换方法的流程图;图3示出了本发明具体实施例的语音会话流程图;图4示出了本发明一种voip服务器自适应切换系统的框图。
具体实施方式
19.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
20.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
21.如图1所示,会话边界控制器(sbc,session border controler)是为保护基于sip的互联网协议语音(voip)网络而部署的网络单元。语音通话过程中,sbc插入到voip呼叫的主叫方和被叫方之间的信令和/或媒体路径中,使用会话发起协议(sip)、h.323和mgcp呼叫信令协议。
22.在许多情况下sbc会隐藏网络拓扑并保护服务提供商业分组的网络。sbc终止入站呼叫,并向目标方发起第二个呼叫支路;也就是当与si 协议一起使用时,它定义了一个背靠背用户代理(b2bua)。因此不仅信令流量,而且媒体流量(语音、视频)都由sbc控制。
23.早期sbc部署侧重于对等环境中两个服务提供商网络之间的边界。其角色现在已经扩展到包括服务提供商的接入网络和骨干网络之间的重要部署,以便为住宅和/或企业客户提供服务。
[0024]“会话”(session)是指两方或多方之间的通信——在电话的上下文中这将是一个呼叫。每个呼叫由一个或多个控制呼叫的呼叫信令消息交换和一个或多个呼叫媒体流组成;该媒体流承载呼叫的音频、视频或其他数据以及呼叫统计和质量信息。这些流一起构成一个会话。会话边界控制器的工作是对会话的数据流施加影响。
[0025]
语音边界,“边界”(border)是指网络的一部分与另一部分之间的分界点。举个简单例子,在公司网络的边缘,防火墙将本地网络(公司内部)与internet的其余部分(公司外部)分开。一个更复杂例子是一家大型公司,其中不同部门对每个位置以及可能对每种数据都有安全需求。在这种情况下过滤路由器或其他网络元素用于控制数据流的流动。会话边界控制器的工作是协助策略管理员管理跨这些边界的会话数据流。
[0026]
会话控制,“控制器”(controler)是指会话边界控制器对组成会话的数据流的影响,因为它们跨越网络的一部分和另一部分之间的边界。此外,会话边界控制器通常为它们控制的呼叫提供测量、访问控制和数据转换设施。安全性——保护网络和其他设备免受恶意攻击,例如拒绝服务攻击(dos)或分布式dos,通过媒体流进行收费欺诈,畸形数据包保护,信号加密(通过tls和ipsec)。在一个复杂的网络拓扑中,可以发挥更大的作用,以解决我们在应用voip业务进行部署专网时所遇到的各种不稳定和健壮性的问题。
[0027]
图2示出了本发明一种voip服务器自适应切换方法的流程图。
[0028]
如图2所示,本发明第一方面提出一种voip服务器自适应切换方法,其特征在于,所述方法包括:
基于voip客户端配置第一套voip服务器环境中的第一主用voip服务器和第一备用voip服务器的域名,并配置第一dns服务器和第二dns服务器;执行第一探测步骤:基于第一主用voip服务器和第一备用voip服务器的域名分别轮询第一dns服务器和第二dns服务器,并探测是否返回第一主用voip服务器、第二备用voip服务器的对应ip,如果均不能返回对应ip,则进入第二探测步骤,如果返回对应ip,则按照注册周期算法进行注册,并探测注册状态,如果注册状态均异常,则进入第二探测步骤;执行第二探测步骤:由会话边界控制器sbc检测一个和/或多个voip客户端反馈的dns响应状态,如果连续搜集到n个voip客户端轮询第一dns服务器和/或第二dns服务器响应失败时,则切换第一dns服务器和/或第二dns服务器的上行链路,并由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip;由voip客户端基于第二主用voip服务器、第二备用voip服务器对应的一个或多个ip并按照注册周期算法进行注册。
[0029]
本发明为了解决给运维人员减少大量的家庭网关的查询操作,由上一级的监控端收集线路情况,主动在原有的主备服务器都出现问题时,把原有的主备服务器的域名对应的ip注册过程检测失效后,主动切换到新的dns解析递归路径上,原有的直接指定wanip和dns服务器本身换成可配置的sbc的dns中继,可以选择多个dns解析路径。
[0030]
直接通过用户计算查询当前语音服务器的域名配置,根据回退算法检测dns响应,由sbc记录dns请求的成功率,当设备拿到的主服务器域名回复响应成功,则选择其中的一个回复的ip进行连接,如果主服务器的ip都不成功,则客户端部分切换到从(备用)语音服务器进行查询。
[0031]
可以理解,回退算法具体为:每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯算法。
[0032]
好处是动态部署,可以迅速扩容,不需要更改用户侧的配置,自动根据注册周期解析得到新的ip去注册。用两个客户端检测和sbc会话连接控制器的控制面代替原先的点对点的依赖于客户端有检测功能。
[0033]
可以理解,递归查询方法具体为:如果主机所询问的本地域名服务器不知道被查询的域名的 ip 地址,那么本地域名服务器就以 dns 客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的 ip 地址,或者是报错,表示无法查询到所需的 ip 地址。
[0034]
可以理解,第一主用voip服务器与第二主用voip服务器具有相同的域名,第一备用voip服务器与第二备用voip服务器具有相同的域名。
[0035]
根据本发明的实施例,执行第一探测步骤,具体包括:基于第一主用voip服务器的域名轮询第一dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册,如果第一轮注册状态正常,则进行voip会话,如
果未能成功获取第一主用ip或第一轮注册状态异常,则基于第一备用voip服务器的域名轮询第一dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第二轮注册,如果第二轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第二轮注册状态异常,基于第一主用voip服务器的域名轮询第二dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第三轮注册,如果第三轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第三轮注册状态异常,则基于第一备用voip服务器的域名轮询第二dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第四轮注册,如果第四轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第四轮注册状态异常,则进入第二探测步骤。
[0036]
如图3所示,第一探测步骤是主要依赖于voip客户端本身的检测机制,并且该步骤中dns请求会在上行的网络链路中被sbc所记录,sbc用于语音、等可明文检测的报文的网络协议的流量统计,统计一些报文故障,比如同一个域名的是否正常响应,或者tcp包的异常flag等应用,然后触发一些设置。本发明利用sbc的监控能力,与切换网络的方法联用。第二探测步骤中,sbc是没有下发控制指令到voip客户端的,主要检测dns请求从上行链路往返经过哪些机器,对数据包转发路径进行记录、评价通信质量,增加语音服务通信过程的健壮性。
[0037]
根据本发明的实施例,切换第一dns服务器和/或第二dns服务器的上行链路,具体包括:更新voip客户端的上行链路的路由以指向新的中转路由器的ip;更新第一dns服务器和/或第二dns服务器的上行解析链路的路由;更新相应的路由表到voip客户端对应的家庭网关上。
[0038]
需要说明的是,切换上行链路步骤,更新voip客户端的上行链路的路由以指向新的中转路由器的ip,更新dns上行解析链路的路由,以完成同一个域名的新的ip解析;更好的是,分配给voip客户端所在的家用网关的dns为sbc可以触发dns缓存清理等操作的自建型dns,可以用于指定某些特定域名的备用地址,只需调整dns请求的上行链路经过这个代理dns,对当前出故障的域名进行合理地再解析,而不必从知名的商业dns那里获取到域名。
[0039]
第二套voip服务器环境中的域名映射ip配置不一定都存放于根域名服务器上,而是存在内部,可以是当前第一套voip服务器环境中的备用线路上的一个dns部署的临时环境,该服务器可与外界其它运营商网络保持互通,将dns查询链路和语音wan的上行链路切换到新的路由和网关,更新相应的路由表到voip客户端对应的家庭网关上。
[0040]
依赖的现有配置背景为:1、具有voip功能的家庭网关通过dns查询获取主备服务器的ip地址2、向主服务器发送注册,如果成功,则注册在主服务器上,如果失败,进入主备切换3、主备切换和dns解析再注册。
[0041]
根据本发明的实施例,基于第一备用ip向第一备用voip服务器按照注册周期算法
进行第二轮注册,具体包括:向第一备用voip服务器发送语音信令探测;如果成功,向第一备用voip服务器发送注册请求,如果成功注册到第一备用voip服务器上,则进行会话,如果未成功注册到第一备用voip服务器上,且连续等待时间阈值达到m个检测周期,则进入第二探测步骤;如果失败,则基于先快后慢的信令探测方式,先等待一个t时间,如果发送语音信令和回应语音信令都成功,则将等待时间增加到k个t时间,且k个t时间不超过检测周期的一半;若发送语音信令和/或回应语音信令失败,等待2个t时间之后再次向第一备用voip服务器发送信令探测;如果成功,注册到第一备用voip服务器并进行会话,如果失败,进行下一次信令探测,且每次因失败进行下一次信令探测时,将下一次信令探测的等待时间相较于上一次信令探测的等待时间进行翻倍,直到总时间达到一个检测周期,则进行下一个检测周期的信令探测,当连续等待时间阈值达到m检测周期时,则进入第二探测步骤。
[0042]
需要说明的是,第一探测步骤包含两部分,dns探测步骤和voip信令探测步骤。
[0043]
探测当前的第一主用voip服务器,需要发送dns请求进行探测,其次根据获取到的ip去进行信令探测发出相应的选项。
[0044]
当注册状态正常主要通过dns轮询进行检测sbc控制的环境变化,同时对于voip服务器服务链路,发送信令检测遵循先快后慢的方式完成一个检测周期,新的周期继续先快后慢的信令检测;其它服务器类似,按第一主用voip服务器的多个ip检测到异常,则换到新的ip,若第一主用voip服务器都出现故障,则切换到第一备用voip服务器。
[0045]
对于第一探测步骤,向第一备用voip服务器发送语音信令探测,如果成功,则进入步骤a,如果失败,则进入步骤b。
[0046]
步骤a、向第一备用voip服务器发送注册,如果成功注册到第一备用voip服务器上,则进行会话,如果失败,且等待时间阈值的达到信令检测的多个检测周期,则进行第二探测步骤,由sbc检测第二套voip服务器环境是否可以工作,及时更换dns上行查询链路,向voip客户端查询dns时返回第二套voip服务器环境用于voip客户端的用户迁移,维持平滑的环境变动,降低用户感知拨打语音时的异常。
[0047]
步骤b、对于先快后慢的信令检测,比如先等待一个t时间,如果发送和回应都成功,则可以多等k个t时间,不超过注册刷新时间的一半为宜;若失败,等待2t时间之后再次向第一备用voip服务器发送信令探测,如果成功进入注册过程维持会话,如果失败进行下一次信令查询,每次因失败进行信令查询时,等待的时间都会翻倍,2t/4t/8t,直到总时间达到一个检测周期,当等待时间阈值的达到信令检测的多个检测周期时,则进行第二探测步骤。
[0048]
根据本发明的实施例,在第一轮注册状态正常,则进行voip会话之后,所述方法还包括:间隔一个t时间,向第一主用voip服务器发送信令探测,如果信令探测成功,则将等待时间增加到k个t时间,且k个t时间不超过检测周期的一半;如果信令探测失败,等待2个t时间之后再次向第一主用voip服务器发送信令探测;如果再次信令探测成功,则注册到第一主用voip服务器并进行会话,如果再次信令探测成功,进行下一次信令探测,且每次因失败进行下一次信令探测时,将下一次信令探测的等待时间相较于上一次信令探测的等待
时间进行翻倍,直到总时间达到一个检测周期,则进行下一个检测周期的信令探测,当连续等待时间阈值达到m检测周期时,则基于第一备用voip服务器的域名轮询第一dns服务器。
[0049]
当注册在第一主用voip服务器上之后,间隔t时间向第一主用voip服务器发送信令探测,如果信令探测无问题,则根据注册周期进行控制,如果信令探测失败,则经过多个信令探测的尝试,完成一个或多个检测周期后,触发切换链路机制。
[0050]
对于dns探测,也是遵循先快后慢原则,当注册状态正常时,间隔t时间向主服务器发送信令探测,如果成功则增加检测时间,并且在完成一轮dns后,没有问题,则可以通过注册周期的到来向主服务器发送注册刷新指令,并继续注册在主服务器上,如果失败,则转移到后续的voip服务器探测。
[0051]
根据本发明的实施例,在基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册之前,所述方法还包括:判断第一主用voip服务器的域名对应的ip是否有更新;如果否,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册;如果是,则基于更新后的ip向第二主用voip服务器按照注册周期算法进行注册。
[0052]
需要说明的是,对于一个切换场景,如果已经在注册第一主用voip服务器时发生了域名对应的ip变化,则发起向该新的ip的第二主用voip服务器的注册过程,这一优先级的提高有利于加速迁移生产环境,而不是等待彻底关闭第一主用voip服务器后才迁移,同时当出现拥堵时,还有机会回落到原来的链路。
[0053]
对于切换链路步骤,切换链路可以不关闭前一个链路,等到足够稳定时再关闭第一主用voip服务器和第一备用voip服务器的的链路。
[0054]
根据本发明的实施例,在由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip之前,所述方法还包括:由上行链路的dns服务器通过递归查询方法获取多套voip服务器环境,并分别检测获取每套voip服务器环境的参数信息,其中所述参数信息至少包括网络质量和用户并发数量;将每套voip服务器环境的网络质量与其他voip服务器环境的网络质量进行比对,如果前者的网络质量优于后者,则对前者voip服务器环境的网络质量项加1分,否者不加分;将每套voip服务器环境的用户并发数量与其他voip服务器环境的用户并发数量进行比对,如果前者的用户并发数量少于后者,则对前者voip服务器环境的用户并发数量项加1分,否者不加分;待多套voip服务器环境均完成两两参数信息比对后,统计每套voip服务器环境的网络质量得分和用户并发数量得分;预设网络质量、用户并发数量对voip服务器环境选择过程具有不同的影响权重;将每套voip服务器环境的网络质量得分、用户并发数量得分分别乘以对应的影响权重,并对两个乘积进行相加,得到每套voip服务器环境的综合得分;将综合得分最高的voip服务器环境作为第二套voip服务器环境。
[0055]
可以理解,通过递归查询方法可能获取多套voip服务器环境,则本发明基于不同的参数信息对多套voip服务器环境进行优劣排序,并选择最优的voip服务器环境进行切换链路,维护网络质量的迭代升级,提升网络健壮性。
[0056]
图4示出了本发明一种voip服务器自适应切换系统的框图。
[0057]
如图4所示,本发明第二方面还提出一种voip服务器自适应切换系统,包括一种voip服务器自适应切换模块,包含第一探测子模块、第二探测子模块,所述voip服务器自适应切换模块执行任务包括如下步骤:基于voip客户端配置第一套voip服务器环境中的第一主用voip服务器和第一备用voip服务器的域名,并配置第一dns服务器和第二dns服务器;所述第一探测子模块,执行第一探测步骤:基于第一主用voip服务器和第一备用voip服务器的域名分别轮询第一dns服务器和第二dns服务器,并探测是否返回第一主用voip服务器、第二备用voip服务器的对应ip,如果均不能返回对应ip,则进入第二探测步骤,如果返回对应ip,则按照注册周期算法进行注册,并探测注册状态,如果注册状态均异常,则进入第二探测步骤;所述第二探测子模块,执行第二探测步骤:由会话边界控制器sbc检测一个和/或多个voip客户端反馈的dns响应状态,如果连续搜集到n个voip客户端轮询第一dns服务器和/或第二dns服务器响应失败时,则切换第一dns服务器和/或第二dns服务器的上行链路,并由上行链路的dns服务器通过递归查询方法获取到第二套voip服务器环境中的第二主用voip服务器、第二备用voip服务器对应的一个或多个ip;由voip客户端基于第二主用voip服务器、第二备用voip服务器对应的一个或多个ip并按照注册周期算法进行注册。
[0058]
根据本发明的实施例,第一探测子模块执行第一探测步骤,具体包括:基于第一主用voip服务器的域名轮询第一dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第一轮注册,如果第一轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第一轮注册状态异常,则基于第一备用voip服务器的域名轮询第一dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第二轮注册,如果第二轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第二轮注册状态异常,基于第一主用voip服务器的域名轮询第二dns服务器,并探测获取第一主用voip服务器的对应第一主用ip,如果成功获取第一主用ip,则基于第一主用ip向第一主用voip服务器按照注册周期算法进行第三轮注册,如果第三轮注册状态正常,则进行voip会话,如果未能成功获取第一主用ip或第三轮注册状态异常,则基于第一备用voip服务器的域名轮询第二dns服务器,并探测获取第一备用voip服务器的对应第一备用ip,如果成功获取第一备用ip,则基于第一备用ip向第一备用voip服务器按照注册周期算法进行第四轮注册,如果第四轮注册状态正常,则进行voip会话,如果未能成功获取第一备用ip或第四轮注册状态异常,则进入第二探测步骤;所述第二探测子模块,接受所述第一探测子模块的控制指令,进入所述第二探测步骤。
[0059]
本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种voip服务器自适应切换方法程序,所述voip服务器自适应切换方法程序被处理器执行时,实现如上述的一种voip服务器自适应切换方法的步骤。
[0060]
本发明使用dns和信令检测的流程,引导客户端自主完成语音服务的自动切换,在原本的被动检查到语音服务注册到通话有问题时再切换,利用会话边界控制切换链路,可以使得网络中发生拓扑变化时可以主动迁移单个或多个voip客户端完成一些生产部署迁移策略,解决新设备使用和安装的问题,发生故障的少数voip客户端可以多途径切换备用服务器,如果前一套环境不够用,或者有部分线路和路由的故障,就可以进行更进一步的链路切换到临时的环境,以疏通上游的使用备用环境,为等待排查和修复争取时间;通过sbc的应用,增加了语音服务的质量检测手段和提升空间,丰富了信令检测之外的手段。
[0061]
特别的是,通过dns请求的逐级的缓存特性,可以使得新的生产环境,逐步被客户端注册,加上在迁移场景下,不会关闭老链路,不会一窝蜂地都迁移到新环境,降低了并发流量的风险降低用户调整和维护网络质量的迭代升级、提升健壮性,解决部署灵活性问题。
[0062]
通过客户端和sbc的双重检测,提升主动检测的质量,更利于voip的部署的稳定性、在控制层面上可以虚拟化、专网化充分借助基于ip管理的分层控制优势。
[0063]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0064]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0065]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0066]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0067]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0068]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献