专利名称:多文本转语音服务器负荷分担的方法及装置的制作方法
技术领域:
本发明涉及通信领域,具体而言,涉及一种多TTS服务器负荷 分担的方法及装置。
背景技术:
文本转语音(Text To Speech,简称为TTS)几乎应用于所有行业, 例如,银行业,航空业,证券业,电信业等,支持TTS的厂商也很 多,由于TTS服务厂商很多,在客户方(例如,银行,航空公司, 电信运营商,证券公司)常常存在使用来自多个厂商的服务器的情 况,目前,各个TTS厂商之间的TTS资源不能够做到共享和分担, 因此,造成了客户的TTS资源浪费和闲置。
目前,各个TTS厂商的TTS服务支持能力不同。例如,有的 厂商的TTS服务在一定程度上能够支持负荷分担功能,有的厂商根 本不支持该功能。因此,TTS业务需要考虑每个服务器能够支持的 能力,使得TTS业务开发难度加大,业务需要考虑系统的负荷分担 等情况,需要对每个厂商的TTS分别进行集成。有的厂商的TTS 服务支持容灾能力,有的厂商不支持该能力,由于在电信级应用中, 一台设备宕机,TTS功能将部分或全部丧失, 一般情况下会造成很 大的影响,所以,TTS系统的容灾能力也是客户必须考虑的。
发明内容
针对相关4支术多厂商的TTS混用时, 一台i殳备宕才几TTS功能 将部分或全部丧失,以及不同厂商的TTS的能力不同4吏得开发难度 大的问题而提出本发明,为此,本发明的主要目的在于提供一种多 TTS服务器负荷分担方案,以解决上述问题至少之一。
为了实现上述目的,根据本发明的一个方面,提供了一种多TTS 服务器负荷分担的方法。
根据本发明的多TTS服务器负荷分担的方法包括从多个TTS 服务器中的每个TTS服务器分别获取TTS服务器的信息,其中, 信息包括TTS服务器的状态是否可用;在接收到来自用户的TTS 转换请求之后,才艮据预定策略,从状态为可用的TTS服务器中确定 用于处理TTS转换请求的第一 TTS月良务器。
优选地,从多个TTS服务器中的每个TTS服务器分别获取TTS 服务器的信息包括定时向多个TTS服务器中的每个TTS服务器 发起TTS请求;对于每个TTS服务器,如果在预定时间内正确返 回响应于TTS i青求的响应消息,则将TTS "l务器状态i殳置为可用; 否则,将TTS服务器状态设置为不可用。
优选地,响应消息中携带有TTS服务器的可用资源数。
优选第,预定策略至少包括以下之一每个TTS服务器的负荷、 顺序、轮询。
优选地,在预定策略为每个TTS服务器的负荷的情况下,其中, 负荷为每个TTS服务器已用资源数与总的可用资源数的比值,根据 预定策略从状态为可用的TTS服务器中确定第一 TTS服务器包括根据所有状态为可用的TTS服务器的已用资源数与总的可用资源数 的比值,选取比值最小的TTS服务器作为第一 TTS服务器。
为了实现的上述目的,4艮据本发明的另一方面,还提供了一种 多TTS服务器负荷分担的装置。
根据本发明的多TTS服务器负荷分担的装置包括获取模块, 用于从多个TTS服务器中的每个TTS服务器分别获取TTS服务器 的信息,其中,信息包括TTS服务器的状态是否可用;接收模块, 用于接收到来自用户的TTS转换请求;确定模块,用于接收来自获 取模块的信息和接收模块的转换请求,根据预定策略,从状态为可 用的TTS服务器中确定用于处理TTS转换请求的第一 TTS服务器。
优选地,获取才莫块包括定时子模块,用于定时向多个TTS服 务器中的每个TTS服务器发起TTS请求;判断子模块,用于在定 时子模块向每个TTS服务器发起TTS请求之后判断每个TTS服务 器的状态,如果在预定时间内正确返回响应于TTS "i青求的响应消息, 则将TTS服务器状态设置为可用;否则,将TTS服务器状态设置 为不可用。
优选地,上述装置还包括重置子才莫块,用于重置TTS服务器 的可用资源数,对于每个TTS服务器,响应消息中携带有TTS月良 务器的可用资源凄t。
优选地,上述装置还包括策略i殳定4莫块,用于^^妄收来自"^妄收 模块的转换请求,设定预定策略,并将策略发送给确定模块,其中, 预定策略至少包括以下之一每个TTS服务器的负荷、顺序、轮询。
优选地,在预定策略为每个TTS服务器的负荷的情况下,其中,
负荷为每个TTS服务器已用资源数与总的可用资源数的比值,确定
■¥、的可用资源数的比值,选取比值最小的TTS月良务器作为第一 TTS 服务器。
通过本发明,采用才企测可用TTS月良务器的信息并在可用TTS 服务器中选取用于转换的TTS服务器,解决了相关技术多厂商的 TTS混用时, 一台设备宕机TTS功能将部分或全部丧失,以及不同 厂商的TTS的能力不同使得开发难度大的问题,进而达到了整合客 户所有TTS资源、提高TTS系统的稳定性和可靠性以及可以进行 线性扩容的效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并
不构成对本发明的不当限定。在附图中
图l是根据本发明实施例的多TTS服务器负荷分担的方法的流 程图2是根据本发明实施例的多TTS服务器负荷分担的装置的结 构才匡图3是根据本发明实施例的多TTS服务器负荷分担的装置的具 体的结构框图4是才艮据本发明实施例实例一的多TTS月良务器负荷分4旦的装 置的结构^f匡图5是根据本发明实施例实例一的多TTS服务器负荷分担的装 置的具体的结构冲匡图;图6是4艮据本发明实施例实例二的检测处理的流程图; 图7是才艮据本发明实施例实例二的TTS请求处理的流程图。
具体实施方式
功能和克述
考虑到相关4支术多厂商的TTS混用时, 一台i殳备宕才几TTS功 能将部分或全部丧失,以及不同厂商的TTS的能力不同使得开发难 度大的问题,本发明实施例提供了一种负荷分担的方案,该方案的 处理原则如下从多个TTS服务器中的每个TTS服务器分别获取 TTS服务器的信息,其中,该信息包括TTS服务器的状态是否可用; 在接收到来自用户的TTS转换请求之后,才艮据预定策略,从状态为 可用的TTS服务器中确定用于处理TTS转换请求的第一 TTS服务 器。本发明实施例可以广泛应用于银行,航空,证券,电信等行业, 整合了客户的所有TTS资源、提高了 TTS系统的稳定性和可靠性, 同时,可以进行线性扩容,具有扩展性。
需要说明的是,在不沖突的情况下,本申请中的实施例及实施 例中的特征可以相互组合。下面将参考附图并结合实施例来详细i兌 明本发明。
在以下实施例中,在附图的流程图示出的步骤可以在诸如一组 计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示 出了逻辑顺序,4旦是在某些情况下,可以以不同于此处的顺序执行 所示出或描述的步骤。方法实施例
根据本发明的实施例,提供了一种多TTS服务器负荷分担的方 法,图l是根据本发明实施例的多TTS服务器负荷分担的方法的流 程图,如图1所示,该方法包4舌如下的步骤S102至步骤S104:
步骤S102,从多个TTS服务器中的每个TTS服务器分别获取 TTS服务器的信息,其中,该信息包括TTS服务器的状态是否可用;
步骤S104,在接收到来自用户的TTS转换请求之后,根据预 定策略,从状态为可用的TTS服务器中确定用于处理TTS转换请 求的第一TTS服务器。
在步骤S102中,从多个TTS服务器中的每个TTS服务器分别 获取TTS服务器的信息包括定时向多个TTS服务器中的每个TTS 服务器发起TTS请求,检测每个TTS服务器的存活状态并将结果 上报;根据每个TTS服务器的检测结果,设置相应的TTS服务器 的状态,并将状态结果进行上报;对于每个TTS服务器,如果在预 定时间内能够正确返回与该TTS i青求响应的响应消息,则i兌明该 TTS服务器的状态为可用,将设置该TTS服务器的状态为可用;否 则,设置将TTS服务器状态为不可用;获取状态为可用的TTS服 务器模块的信息,该信息包括可用的TTS服务器模块的端口信息和 因特网协i义(Internet Protocol ,简称为IP ) i也址。
步骤S102还包括根据记录的TTS服务器的状态变化调整相 应的TTS服务器的可用资源数,通过配置或向TTS服务器请求的 方式获得相应的TTS服务器的最大可用资源数,统计每个TTS服 务器模块的可用TTS资源数,为负荷分析提供数据;对于每个TTS 服务器,TTS服务器的信息中还包括TTS服务器的可用资源数,与 TTS请求响应的响应消息中携带有TTS服务器的可用资源数;如果TTS服务器的状态为不可用,将该TTS服务器的可用资源数置为0, 否则,不重置该服务器的可用资源数;如果TTS服务器的状态由不 可用状态变成可用状态,则该TTS服务器的可用资源数重置为TTS 服务器的最大可用资源数。
步艰《S104中,预定策略至少包才舌以下之一每个TTS月艮务器 的负荷、顺序、轮询。其中,顺序策略是指先占用一个TTS服务器 的所有TTS可用资源,在这个TTS月艮务器才莫块的所有TTS可用资 源占用完之后,再占用下一个TTS服务器模块的TTS资源;轮询 策略是指多个TTS服务器按先后顺序分配TTS资源。
步骤S104中,在用户发起TTS请求之后,发起分析请求,该 分析请求携带有相应的预定策略,并根据该预定策略在多个TTS服 务器之间进行策略分析,根据接收到的分析请求携带的策略信息和 所有服务器的资源统计信息,确定一个合适的TTS服务器模块,并 在服务器统计单元中占用一个可用TTS服务器资源。在预定策略为 每个TTS服务器的负荷的情况下,其中,负荷为每个TTS服务器 已用资源数与总的可用资源数的比值,根据预定策略从状态为可用 的TTS服务器中确定第一 TTS服务器包括根据所有状态为可用 的TTS服务器的已用资源数与总的可用资源数的比值,选取比值最 小的TTS服务器作为第一 TTS服务器。
装置实施例
根据本发明的实施例,提供了 一种多TTS服务器负荷分担的装置。
图2是根据本发明实施例的多TTS服务器负荷分担的装置的结 构框图,如图2所示,该装置包括获取冲莫块22、接收模块24和 确定模块26,下面对该结构进行详细说明。获取模块22,用于从多个TTS服务器中的每个TTS服务器分 别获取TTS服务器的信息,其中,信息包括TTS服务器的状态是 否可用;接收模块24,用于接收到来自用户的TTS转换请求;确定 模块26连接至获取模块22和接收模块24,用于接收来自获取模块 22的信息和接收模块的转换请求24,根据预定策略,从状态为可用 的TTS服务器中确定用于处理TTS转换请求的第一 TTS服务器。
图3是根据本发明实施例的多TTS服务器负荷分担的装置的具 体的结构框图,如图3所示,获取模块22具体包括定时子模块 32和判断子才莫块34,下面》t该结构进4于详细i兌明。
定时子才莫块32,用于定时向多个TTS月良务器中的每个TTS月艮 务器发起TTS请求;判断子模块34连接至定时子模块32,用于在 定时子模块向每个TTS服务器发起TTS请求之后判断每个TTS服 务器的习犬态,如果在予贞定时间内正确返回响应于TTS i青求的响应消 息,则设置TTS服务器的状态为可用;否则,设置TTS服务器的 状态为不可用。
在本发明实施例中,上述装置还包括重置子才莫块36,下面对 其进4亍详纟田^兌明。
重置子模块36位于获^^莫块22中,重置子模块36连接至判 断子模块34,用于在断子模块34判断每个TTS服务器的状态之后, 重置TTS服务器的可用资源数,对于每个TTS服务器,TTS月良务 器的信息还包括TTS月良务器的可用资源数,响应于TTS请求的响 应消息中携带有TTS服务器的可用资源数;如果TTS服务器的状 态为不可用,将TTS服务器的可用资源数置为0,否则,不重置TTS 服务器的可用资源数;如果TTS服务器的状态由不可用状态变成可 用状态,则TTS月良务器的可用资源数重置为TTS月良务器的最大可 用资源数。在本发明实施例中,上述装置还包括策略设定模块38连接至 接收模块24,用于接收来自接收模块24的转换请求,设定预定策 略,并将该策略发送给确定^t块26,其中,预定策略至少包括以下 之一每个TTS服务器的负荷、轮询。
在本发明实施例中,在预定策略为每个TTS服务器的负荷的情 况下,确定模块26具体用于根据所有状态为可用的TTS服务器的 已用资源数与总的可用资源数的比值,选取比值最小的TTS服务器 作为第一TTS服务器,其中,负荷为每个TTS服务器已用资源数 与总的可用资源lt的比值。
实例一
图4是根据本发明实施例实例一的多TTS服务器负荷分担的装 置的结构框图,如图4所示,根据本发明实施例的多TTS负荷分担 系统包括接入转换模块42、负荷分析模块44、服务器管理模块 46和TTS服务器才莫块48。下面对该结构进行详细说明。
接入转换模块42,用于接收用户的TTS请求,并通过负荷分 析模块44获得空闲的TTS服务器模块的IP地址和端口信息,并向 得到的空闲的TTS服务器模块发起TTS请求,在转换完成之后向 用户返回转换结果,接入转换模块42对应于接收模块24。
负荷分析模块44,通过进程间通讯方式与接入转换模块42间 相连接,用于根据用户TTS请求的策略(例如,可以采用多个TTS 服务器模块间负荷分担或轮询等多种策略之一 ),在多个服务器模块
间进行策略分析并向接入转换才莫块返回TTS服务器的IP地址和端
口信息,负荷分析才莫块44对应于确定才莫块26。月艮务器管理才莫块46与获取才莫块22对应,通过进程间通讯方式 与负荷分析模块44相连接,图5是#4居本发明实施例实例一的多 TTS服务器负荷分担的装置的具体的结构框图,如图5所示,服务 器管理模块46包括服务器检测单元462,服务器告警单元464和 月良务器统计单元466,下面对该结构进4于详细i兌明。
服务器检测单元462,用于对多个TTS服务器模块进行定时检 测,检测TTS服务器的状态(例如,正常或异常),并将检测结果 进行上报,服务器检测单元462对应于定时子模块32。服务器告警 单元464连接至服务器检测单元462,用于从服务器检测单元462 获取每个TTS服务器的检测结果,根据检测结果记录每个TTS月l 务器模块的状态,并将状态结果进行上报,服务器告警单元464对 应于判断子模块34。服务器统计单元464连接至服务器告警单元 462,用于收集每个TTS服务器的状态,统计每个TTS服务器的可 用TTS资源数,为负荷分析模块44提供分析数据,服务器统计单 元464对应与重置子才莫块36。
TTS服务器模块48,通过网络与接入转换模块42和服务器管 理模块46间相连接,TTS服务器模块可以线性增加,用于完成文本 到语音的转换并生成结果文件。
实例二
根据本发明实施例的多TTS服务器负荷分担的装置可以分为 两部分处理流程 一是服务器检测处理流程;二是TTS请求处理流 程。
图6是根据本发明实施例实例二的检测处理的流程图,如图6 所示,TTS服务器检测处理流程包括以下步骤第一步,服务器检测单元462启动定时器,定时向每个TTS服 务器模块48发起TTS请求,检测TTS服务器模块是否正常,如果 TTS月艮务器模块在规定的时间内能够正确返回TTS结果,说明该 TTS服务器模块正常,否则,说明该TTS服务器模块不正常。
第二步,服务器检测单元462将检测结果上报给服务器告警单 元464,服务器告警单元根据上报的检测结果记录对应的TTS服务 器模块的状态,如果检测结果是检测失败,则记录对应的TTS服务 器模块的状态为不可用状态,如果检测结果是检测成功,则记录对 应的TTS服务器^t块状态为可用状态。
第三步,服务器告警单元464才艮据记录的服务器的状态变化通 知服务器统计单元466重置相应服务器模块的可用资源数。服务器 统计单元在启动时通过配置文件方式获得对应的TTS力良务器的最大 可用资源数,如果TTS服务器模块状态为不可用,则将其可用资源 数置为0,否则,不重置可用资源数。当TTS服务器模块状态由不 可用状态变为可用状态的时候,服务器统计才莫块466将对应的TTS 取务器模块的可用资源数重置为最大可用资源数。
图7是根据本发明实施例的实例二的TTS请求处理的流程图, 如图4所示,TTS"i青求处理流程包括
第 一步,接入转换模块42接收到来自用户的TTS请求后,接 入转换模块42向负荷分析模块44发起分析请求,并携带相应的负 荷分担策略信息。
第二步,负荷分析模块44向服务器管理模块46的服务器统计 单元466请求得到所有TTS服务器模块的资源统计信息;负荷分析 模块44分析所有TTS服务器模块的负荷(即占用凄t/总的可用资源数)情况,选取一个负荷最小的TTS服务器模块,并占用该TTS 服务器模块的一个TTS资源。
第三步,负荷分析模块44将分析得到的TTS服务器模块的IP 地址和端口信息发送给接入转换模块42。
第四步,接入转换模块42向返回的TTS服务器模块发起转换 请求,并得到最后转换的结果。
第五步,接入转换模块42得到转换结果后通知负荷分析模块 44转换结果。
第六,负荷分析冲莫块44向服务器管理才莫块46的服务器统计单 元466发起转换结束通知消息,服务器统计单元466释放本次占用 的资源。
在本发明实施例中采用的负荷分担机制能够保证多个TTS服 务器模块间的负荷分担,并且,只要有一台TTS服务器模块是正常 的,如果一台或多台TTS服务器模块出现异常,仍然能够继续提供 TTS月l务,实现了系统的容灾。
综上所述,本发明实施例提供的TTS的方法及装置,充分整合 了客户所有TTS资源,提高了 TTS系统的稳定性和可靠性,同时, 还可以进行线性扩容,具有扩展性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储
在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种多文本转语音TTS服务器负荷分担的方法,其特征在于,包括从多个TTS服务器中的每个TTS服务器分别获取TTS服务器的信息,其中,所述信息包括所述TTS服务器的状态是否可用;在接收到来自用户的TTS转换请求之后,根据预定策略,从状态为可用的TTS服务器中确定用于处理所述TTS转换请求的第一TTS服务器。
2. 根据权利要求1所述的方法,其特征在于,从所述多个TTS 服务器中的每个TTS服务器分别获取所述TTS服务器的信息 包括定时向所述多个TTS服务器中的每个TTS服务器发起 TTS请求;对于每个TTS服务器,如果在预定时间内正确返回响应 于所述TTS请求的响应消息,则将所述TTS服务器状态设置 为可用;否则,将所述TTS服务器状态设置为不可用。
3. 根据权利要求2所述的方法,其特征在于,所述响应消息中携 带有所述TTS服务器的可用资源数。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述 预定策略至少包括以下之一每个TTS服务器的负荷、顺序、轮询。
5. 根据权利要求4所述的方法,其特征在于,在所述预定策略为 每个TTS服务器的负荷的情况下,其中,所述负荷为每个TTS 服务器已用资源数与总的可用资源数的比值,根据所述预定策 略^v状态为可用的TTS力艮务器中确定所述第一 TTS力良务器包 括根据所有状态为可用的TTS服务器的已用资源数与总的 可用资源数的比值,选取比值最小的TTS服务器作为所述第 一TTS月艮务器。
6. —种多TTS服务器负荷分担的装置,其特征在于,包括获取模块,用于从多个TTS服务器中的每个TTS服务器 分别获取TTS服务器的信息,其中,所述信息包括所述TTS 服务器的状态是否可用;接收模块,用于接收到来自用户的TTS转换请求;确定模块,用于接收来自所述获取模块的所述信息和所述 接收模块的所述转换请求,根据预定策略,从状态为可用的 TTS服务器中确定用于处理所述TTS转换请求的第一 TTS服 务器。
7. 根据权利要求6所述的装置,其特征在于,所述获取模块包括定时子模块,用于定时向所述多个TTS服务器中的每个 TTS月良务器发起TTS {青,,;判断子模块,用于在所述定时子模块向每个TTS服务器 发起TTS请求之后判断每个TTS服务器的状态,如果在预定 时间内正确返回响应于所述TTS i青求的响应消息,则将所述 TTS服务器状态设置为可用;否则,将所述TTS服务器状态 设置为不可用。
8. 根据权利要求7所述的装置,其特征在于,还包括重置子模块,用于重置所迷TTS服务器的可用资源数, 对于每个TTS服务器,所述响应消息中携带有所述TTS服务 器的可用资源数。
9. 根据权利要求6至8中任一项所述的装置,其特征在于,包括策略设定模块,用于接收来自所述接收模块的所述转换请 求,设定预定策略,并将所述策略发送给所述确定模块,其中, 所述预定策略至少包括以下之一每个TTS服务器的负荷、 顺序、轮询。
10. 根据权利要求9所述的装置,其特征在于,在所述预定策略为 每个TTS服务器的负荷的情况下,其中,所述负荷为每个TTS 服务器已用资源数与总的可用资源数的比值,所述确定模块具 体用于根据所有状态为可用的TTS月艮务器的已用资源数与总 的可用资源凄t的比值,选取比值最小的TTS月艮务器作为所述 第一TTS服务器。
全文摘要
本发明公开了一种多文本转语音服务器负荷分担的方法及装置,该方法包括从多个TTS服务器中的每个TTS服务器分别获取TTS服务器的信息,其中,信息包括TTS服务器的状态是否可用;在接收到来自用户的TTS转换请求之后,根据预定策略,从状态为可用的TTS服务器中确定用于处理TTS转换请求的第一TTS服务器。通过本发明达到了整合客户所有TTS资源、提高TTS系统的稳定性和可靠性以及可以进行线性扩容的效果。
文档编号H04L29/08GK101635745SQ20091016751
公开日2010年1月27日 申请日期2009年8月19日 优先权日2009年8月19日
发明者玲 景, 聃 王, 王景平 申请人:中兴通讯股份有限公司