一种网络语音服务控制装置及方法

文档序号:7633527阅读:352来源:国知局
专利名称:一种网络语音服务控制装置及方法
技术领域
本发明涉及网络语音通信(voice over internet protocol,简称VOIP)领域,尤其涉及一种VIOP服务控制装置及方法。
背景技术
随着互联网技术的发展,普通的数据传输已经不能满足人们的需求,基于分组数据网络的语音通信也以其较低的成本及组网灵活性的优势而日益普及。目前新生产的电信终端设备都会逐渐支持VOIP功能,从而对终端设备上VOIP的服务控制也相应提出要求。由于VOIP是一个涉及底层DSP、应用层UA状态机、信令协议栈的复杂系统,是否启用该服务是一系列的进程组、模块的控制过程。而且各个芯片、各个供应商的具体实现又有较大差异,为了适应这些差异,现有技术中通常需要先深入了解具体方案的实现后通过特定的IPC技术嵌入到具体方案实现中来进行控制,繁琐而且不通用。另外,由于语音业务较多,在复杂的网络环境和用户操作情况下,有可能出现服务异常的情况,如果不能及时恢复,对用户体验的影响较大,而现有解决方案未考虑此问题。

发明内容
本发明的目的在于提供一种VIOP服务控制装置,具有简单高效地控制VIOP相关服务的启动和终止的功能。本发明的另一个目的在于提供一种VIOP服务控制方法,通用于各种语音解决方案,能够检测服务异常情况并及时恢复。本发明的目的是通过以下技术方案实现的。一种网络语音服务控制装置,包括
语音服务主控制模块,用于接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息,执行来自语音服务代理子模块的启动/停止命令,并在执行启动/停止后向语音服务代理子模块发送状态报告消息。N个包含状态控制块的语音服务代理子模块,分别对应于各个服务进程,用于提供通用的服务进程的接口,在接收到启动/停止请求消息时判断对应的服务进程的当前状态是否与请求状态一致,若不一致则向语音服务主控制模块发送启动/停止命令;根据所接收到的状态报告消息更新状态控制块记录显示的服务进程状态;根据服务进程的当前状态进行相应处理。优选地,上述网络语音服务控制装置还包括异步信号处理模块,用于捕获各个服务进程退出时触发的异步信号并进行退出状态解析,根据解析结果向对应的语音服务代理子模块发送状态报告消息。优选地,上述网络语音服务控制装置中,所述语音服务主控制模块,还用于轮询各服务进程的状态,在发现有服务进程异常时向对应的语音服务代理子模块发送启动请求消息并执行语音服务代理子模块返回的启动命令。
一种网络语音服务控制方法,包括步骤。语音服务主控制模块接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息。所述语音服务代理子模块读取其状态控制块的记录,判断对应服务进程的当前状态与请求状态是否不一致,若不一致,则向语音服务主控制模块发送启动/停止命令,由其启动/停止该服务进程;在启动/停止完成后,语音服务主控制模块向对应的语音服务代理子模块发送状态报告消息,由其控制状态控制块更新状态。优选地,上述方法还包括语音服务主控制模块轮询各个服务进程的状态,在发现有服务进程异常时向对应的语音服务代理子模块发送启动请求消息,在语音服务代理子模块确认该服务进程的当前状态与请求状态不一致后重启该服务进程。优选地,上述方法还包括在各服务进程退出时,异步信号处理模块捕获各服务进程退出时触发的异步信号并进行退出状态解析,若为异常退出,则对应的语音服务代理子模块向语音服务主控制模块发送启动请求消息,由其重启该服务进程。本发明实施例与现有技术相比,有益效果在于
本发明中,所有语音相关的服务进程均通过语音服务主控制模块来启动和终止并且保证各个控制操作的顺序执行;在启动和终止过程中可将服务进程划分为几个通用的状态进行控制,增强了其适配各种语音解决方案的兼容性,简单易于实现;另外,还可以监控异常退出的服务进程并及时重启该服务进程,异常后语音服务恢复的反应时间可控制在1分钟内,增强了容错性,优化了用户体验。


图1是本发明实施例中VIOP服务控制装置的结构示意图。图2是本发明实施例中启动VIOP服务的方法流程图。图3是本发明实施例中停止VIOP服务的方法流程图。图4是本发明实施例中监控VIOP服务异常并进行恢复的方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本实施例中VIOP服务控制装置包括语音服务主控制模块、N个包含状态控制块的语音服务代理子模块(其中,N=服务进程的个数)、异步信号处理模块,语音服务主控制模块,各功能模块的作用分别如下所述。( 1)语音服务代理子模块,对前端UI提供通用的服务进程的接口,对服务进程提供通用的状态控制逻辑,具体实现以下功能。①消息处理在收到启动/停止请求消息时判断对应的服务进程的当前状态是否与请求状态一致,若不一致则向语音服务主控制模块发送启动/停止命令。②报告处理处理语音服务主控制模块和异步信号处理模块发送来的关于服务进程启动的报告消息,从而控制其状态控制块更新服务进程的状态为已启动、已正常退出或者已异常退出,该状态信息作为服务进程状态管理的输入以做后续处理。③通用语音服务进程状态管理在不同的阶段执行相应的处理代码与服务进程进行交互,以满足服务运行需求——如果发现语音服务进程处于已正常退出状态,则运行清理代码,包括清除内核模块、设备节点、环境变量等;一旦发现服务进程处于已异常退出状态,则命令语音服务主控制模块重新启动该服务进程并持续监控,更新服务进程状态。(2)异步信号处理模块,用于捕获服务进程退出时触发的异步信号,具体实现以下功能。①退出状态解析一旦捕获到服务进程退出时触发的异步信号,则检测退出状态, 提取进程ID及退出码。②进程状态更新将退出码转换为reason,向匹配对应进程ID的语音服务代理子模块发送状态报告消息,由其更新到状态控制块中。( 3 )语音服务主控制模块。①接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息。②执行来自语音服务代理子模块的启动/停止命令,并在执行后向语音服务代理子模块发送状态报告消息。③轮询各服务进程的状态,在发现有服务进程异常时向对应的语音服务代理子模块发送启动请求消息,并执行启动命令;本实施例中将核心语音服务进程划分几个通用状态——待启动、启动中、启动完成、已正常退出、已异常退出等几个状态,轮询过程具体为。若发现到服务进程为“待启动”状态,则启动该服务进程,并设置服务进程为“启动中”状态。在“启动中”状态,在指定延时时间后设置服务进程为“运行中”状态,并将“启动” 状态报告消息发给对应语音服务代理子模块。若发现服务进程为“运行中”状态,则监控该服务进程状态,若已不存在,设置为 “已停止”状态。若发现服务进程为“已停止”状态,发送“停止”报告给对应语音服务代理子模块, 并指明具体原因(正常退出或者异常退出)。若发现服务进程为“停止”状态,发送特定信号终止服务进程,并设置状态控制块的状态为“已停止”。若发现服务进程为“终止”状态,发送终止信号终止服务进程,并设置状态控制块的状态为“已停止”。请参阅图2,该图所示为启动语音服务的方法流程,具体包括步骤 201、用户通过web或者其它UI发送启动命令。202、语音服务主控制模块接收到启动命令后,更新到对应的语音服务代理子模块的请求状态中。203、语音服务代理子模块比较请求状态和服务进程的当前状态,若不一致,发送启动命令给语音服务主控制模块。204、语音服务主控制模块启动对应服务进程,设置状态为starting。205、经过指定时间后,语音服务主控制模块设置服务进程状态为running。
206、语音服务主控制模块回复启动成功报告消息给语音服务代理子模块。207、语音服务代理子模块更新状态控制块并回复状态给用户UI端。请参阅图3,该图所示为停止语音服务的方法流程,具体包括步骤如下。301、用户通过web或者其它UI发送停止命令。302、语音服务主控制模块接收到停止命令后,更新到对应的语音服务代理子模块的请求状态中。303、语音服务代理子模块比较请求状态和服务进程的当前状态,若不一致,发送停止命令给语音服务主控制模块。304、语音服务主控制模块收到停止命令后,设置状态为TERMME,向对应的服务进程发送SIGTERM信号。305、经过指定时间后,语音服务主控制模块查询该服务进程的状态,若退出则设置状态为STOPPED,若未退出向服务进程发送SIGKILL信号。306、语音服务主控制模块回复停止成功报告消息给语音服务代理子模块。307、语音服务代理子模块更新状态至对应的状态控制块,并将回复状态给用户UI端。请参阅图4,该图所示为监控语音服务异常后进行恢复的方法流程,具体包括步骤如下。401、主控制线程轮询各个服务进程的状态。401'、异步信号处理模块检测到服务进程退出时,对退出状态进行解析后向对应于该服务进程的语音服务代理子模块发送状态报告消息。402、主控制线程若发现服务进程异常,则发送退出REASON给对应于该服务进程的语音服务代理子模块。403、语音服务代理子模块比较服务进程的配置状态和当前状态,若两者不一致, 则发送启动命令给语音服务主控制模块。404、语音服务主控制模块在接收到启动命令后,启动相应的服务进程,该过程同图2所示,不再赘述。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络语音服务控制装置,其特征在于,该装置包括语音服务主控制模块,用于接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息,执行来自语音服务代理子模块的启动/停止命令,并在执行启动/停止后向语音服务代理子模块发送状态报告消息;N个包含状态控制块的语音服务代理子模块,分别对应于各个服务进程,用于提供通用的服务进程的接口,在接收到启动/停止请求消息时判断对应的服务进程的当前状态是否与请求状态一致,若不一致则向语音服务主控制模块发送启动/停止命令;根据所接收到的状态报告消息更新状态控制块记录显示的服务进程状态;根据服务进程的当前状态进行相应处理。
2.如权利要求1所述的网络语音服务控制装置,其特征在于,还包括异步信号处理模块,用于捕获各个服务进程退出时触发的异步信号并进行退出状态解析,根据解析结果向对应的语音服务代理子模块发送状态报告消息。
3.如权利要求1或2所述的网络语音服务控制装置,其特征在于,所述语音服务主控制模块,还用于轮询各服务进程的状态,在发现有服务进程异常时向对应的语音服务代理子模块发送启动请求消息并执行语音服务代理子模块返回的启动命令。
4.一种网络语音服务控制方法,其特征在于,该方法包括步骤语音服务主控制模块接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息;所述语音服务代理子模块读取其状态控制块的记录,判断对应服务进程的当前状态与请求状态是否不一致,若不一致,则向语音服务主控制模块发送启动/停止命令,由其启动 /停止该服务进程;在启动/停止完成后,语音服务主控制模块向对应的语音服务代理子模块发送状态报告消息,由其控制状态控制块更新状态。
5.如权利要求4所述的网络语音服务控制方法,其特征在于,所述方法还包括语音服务主控制模块轮询各个服务进程的状态,在发现有服务进程异常时向对应的语音服务代理子模块发送启动请求消息,在语音服务代理子模块确认该服务进程的当前状态与请求状态不一致后重启该服务进程。
6.如权利要求4或5所述的网络语音服务控制方法,其特征在于,所述方法还包括在各服务进程退出时,异步信号处理模块捕获各服务进程退出时触发的异步信号并进行退出状态解析,若为异常退出,则对应的语音服务代理子模块向语音服务主控制模块发送启动请求消息,由其重启该服务进程。
全文摘要
本发明公开了一种网络语音服务控制装置及方法,所述装置包括语音服务主控制模块,用于接收并解析用户的控制命令,根据解析结果向对应的语音服务代理子模块发送启动/停止请求消息,执行启动/停止命令,并向语音服务代理子模块发送状态报告消息;N个包含状态控制块的语音服务代理子模块,对应于各个服务进程,用于提供通用的服务进程的接口,在接收到启动/停止请求消息时判断对应的服务进程的当前状态是否与请求状态一致,若不一致则向语音服务主控制模块发送启动/停止命令;根据状态报告消息更新状态控制块记录显示的服务进程状态;根据服务进程的当前状态进行相应处理。本发明通用于不同的语音解决方案,且具有异常检测及恢复功能。
文档编号H04M3/22GK102256020SQ20111008641
公开日2011年11月23日 申请日期2011年4月7日 优先权日2011年4月7日
发明者刘鹏, 朱炎高, 李康养 申请人:深圳市共进电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1