具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种业务分流的方法,如图1所示,该方法包括:
101、电子编码域名服务器(Enum DNS)检测其管辖的多媒体消息业务中心MMSC的性能参数是否超过预定阈值。
其中,所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
102、若在所述MMSC中的一个MMSC向用户代理(UA,User Agent)发送提取通知请求后,检测到所述一个MMSC的性能参数超过所述预定阈值,则将原归属于所述一个MMSC的UA所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,并向无线应用协议网关(WAP GW,Wireless ApplicationProtocol GateWay)发送通知消息,通知所述WAP GW将本地缓存的所述UA所在号段的归属地信息删除。所述UA所在号段的归属地信息,即为所述UA所在号段所归属的MMSC的信息,该MMSC的信息用于定位所述MMSC所在位置,其可以为但不局限于所述MMSC的地址。
其中,若所述一个MMSC之前与所述UA有过业务交互,则在所述业务交互过程中,通常会在所述WAP GW中缓存所述UA所在号段的归属的信息;当所述WAP GW中缓存有所述UA所在号段的归属地信息时,所述WAP GW通常根据本地的缓存确定所述UA所在号段的归属地信息,而不向Enum DNS查询获取所述UA所在号段的归属地信息,但是此处由于为所述UA服务的所述一个MMSC启动了分流,将原归属于所述一个MMSC的UA所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,因此需要所述WAP GW将之前本地缓存的所述UA所在号段的归属地信息删除,以便所述WAP GW重新向Enum DNS查询获取所述UA所在号段的归属地信息。
103、当所述Enum DNS接收到所述WAP GW发送的查询所述UA的归属地的归属地查询请求时,将所述另一个MMSC的信息发送给所述WAP GW。
104、所述WAP GW根据所述另一个MMSC的信息,将接收到的所述UA发送的提取通知响应转发给所述另一个MMSC,所述提取通知响应中包含业务标识。
其中,当所述WAP GW接收到所述UA发送的提取通知响应后,需要将所述提取通知响应转发给处理该业务的MMSC;但是,由于在步骤102中,将所述WAPGW本地缓存的所述UA所在号段的归属地信息删除,当所述WAP GW接收到所述提取通知响应后,需要重新从Enum DNS查询所述UA所在号段所归属的MMSC,因此在接收到所述WAP GW返回的所述UA所在号段的所归属的MMS的信息后,将接收到的所述UA发送的提取通知响应转发给所述另一个MMSC。
其中,所述业务标识用于标识处理业务的MMSC,每个MMSC在处理业务时,都生成一个业务标识,用于标识该业务为其处理的业务;所述业务标识可以为26位数的ID号,其中有固定的6位为该业务提供服务的MMSC的ID。
105、所述另一个MMSC接收提取通知响应,并根据所述提取通知响应中的业务标识,判断与所述业务标识对应的业务是否为所述另一个MMSC处理的业务。
106、若判定所述业务不是所述另一个MMSC处理的业务,则根据所述业务标识获取处理所述业务的MMSC的信息,并根据所述获取的MMSC的信息,将所述提取通知响应发送给所述获取的MMSC。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时,可以由分流的另一个MMSC来分担多媒体消息的实时下发;进一步地,当所述分流MMSC接收到不是自己本身处理的业务消息时,将该业务消息发送给处理所述业务的MMSC,由处理所述业务的MMSC完成对所述业务的处理,保证了在分流的过程中不影响业务的正常处理,较大程度的提高了用户的体验。
本发明实施例还提供一种业务分流的方法,如图2所示,该方法包括:
201、电子编码域名服务器(Enum DNS)检测其管辖的多媒体消息业务中心MMSC的性能参数是否超过预定阈值。
其中,所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
202、若检测到所述MMSC中的一个MMSC的性能参数超过预定阈值,则将原归属于所述一个MMSC的一定号段分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,并向WAP GW发送通知消息,通知所述WAP GW将本地缓存的所述一定号段的归属地信息删除。
其中,若所述一个MMSC之前与所述一定号段的UA有过业务交互,则在所述业务交互过程中,通常会在所述WAP GW中缓存所述一定号段的归属的信息;当所述WAP GW中缓存有所述一定号段的归属地信息时,所述WAP GW通常根据本地的缓存确定所述一定号段的归属地信息,而不向Enum DNS查询获取所述一定号段的归属地信息,但是此处由于为所述一定号段的UA服务的所述一个MMSC启动了分流,将原归属于所述一个MMSC的一定号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,因此需要所述WAP GW将之前本地缓存的所述一定号段的归属地信息删除,以便所述WAP GW重新向Enum DNS查询获取所述一定号段的归属地信息。
203、当所述Enum DNS接收到所述WAP GW发送的查询所述一定号段的归属地的归属地查询请求时,将所述另一个MMSC的信息发送给所述WAP GW。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时可以由分流地另一个MMSC来分担多媒体消息的实时下发。
实施例2
结合具体的应用场景,本发明实施例还提供一种业务分流的方法,本发明实施例以在MMSC向业务接收方发出提取通知后,发现该MMSC需要分流,并且以业务接收方接收到消息的提取通知后,立即向MMSC发送提取消息为例,具体阐述业务分流的方法,如图3所示,该方法包括:
301、在将一条彩信由一个用户发送给另一个用户的过程中,首先通过用户代理1(UA,User Agent)向WAP GW发送业务提交请求,所述业务提交请求中包含需要提交的业务内容,本发明实施例中,该业务内容为所述一条彩信的内容。
302、WAP GW向Enum DNS发送查询UA1的归属地的归属地查询请求,以查询UA1的归属地MMSC的信息,所述归属地查询请求中包括所述UA1所在号段。
其中,由于用户提交的彩信需要由该用户的号段所归属的MMSC处理,由于UA1是首次执行业务,因此WAP GW的本地缓存中没有缓存UA1所在号段的归属地MMSC的信息,因此在WAP GW接收到UA1发送的业务提交请求时,需要到EnumDNS中查询该UA1的归属地MMSC的信息,即向Enum DNS发送查询UA1所在号段的归属地的归属地查询请求。
303、Enum DNS向WAP GW返回归属地查询响应,所述归属地查询响应中包含UA1所在号段的归属地MMSC的信息。本发明实施例以所述UA1的归属地为MMSC1为例,即Enum DNS向WAP GW返回包含UA1所在号段的归属地MMSC1的信息的归属地查询响应。通常,在得到UA1所在号段的归属地MMSC的信息后,WAPGW会缓存该信息。
其中,所述Enum DNS中保存有UA所在号段的归属地对应关系表,所述归属地对应关系表中包括MMSC的信息、UA所在号段等信息,并且,在所述归属地对应关系表中,所述号段与所述MMSC的标识具有一一对应的关系;在所述EnumDNS接收到查询UA1所在号段的归属地MMSC的归属地查询请求后,根据所述UA1所在号段查询所述对应关系表,得到所述UA 1所在号段的归属地MMSC1的信息。
304、在接收到该归属地查询响应后,WAP GW根据所述MMSC1的信息将UA1发送的业务提交请求转发给所述MMSC1。
305、在MMSC1接收到WAP GW转发的业务提交请求后,向WAP GW返回业务提交响应,表示所述MMSC1已经成功接收到所述UA1提交的彩信业务,所述提交响应中携带UA1的标识。
306、WAP GW在接收到MMSC1发送的业务提交响应后,根据UA1的标识将所述业务提交响应转发给UA1,以便UA1得知彩信提交已成功。
307、MMSC1在接收到UA1发送的业务提交请求后,查询到该条彩信的目的用户为UA2,并且确定该目的用户UA2是本网用户,则直接向所述UA2发送提取通知请求,具体可以通过push消息下发,并执行步骤309;所述提取通知中含有MMSC1的信息和业务标识1。
其中,所述业务标识1用于标识处理业务的MMSC为MMSC1,该MMSC1针对该次业务处理产生一个业务标识1,用于标识该向所述UA2发送提取通知请求的业务为该MMSC1处理的业务。
308、在MMSC1向目的用户UA2发送提取通知请求后,Enum DNS检测到所述MMSC1的性能参数超过预定阈值,则将原归属于所述MMSC1的一定号段分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,并向WAP GW发送通知消息,通知WAP GW将本地缓存所述UA2所在号段的归属地信息删除。可以理解的是,UA2所在号段的归属地信息可以是在分流前UA2与MMSC1进行业务交互的过程中,WAP GW缓存的。
其中,在步骤301到307的执行过程中,MMSC1不断的向Enum DNS上报其自身的性能参数,比如,按照一定周期向Enum DNS上报其自身性能参数,其中,所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
Enum DNS在接收到所述MMSC1的性能参数后,检测所述性能参数是否超过预定阈值,若超过预定阈值,则表明所述MMSC1当前的负载比较重,需要其他MMSC为其分担一部分业务,避免所述MMSC1负载过重,导致故障,使业务不能实时的发送下去;因此,当检测到所述MMSC1的性能参数超过预定阈值,则启动业务分流,即将原归属于所述MMSC的UA2所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,具体地,可以根据MMSC1的分流需求、该Enum DNS管辖的各个MMSC的当前业务处理能力以及硬件处理能力,确定满足分流要求的另一个MMSC;进一步地,在确定满足分流要求的另一个MMSC时,若确定出多个满足分流要求的MMSC,则可以从所述多个满足分流要求的MMSC中任选一个MMSC作为所述另一个MMSC,也可以从所述多个满足分流要求的MMSC中选取一个当前业务处理能力以及硬件处理能力比较高的一个MMSC作为所述另一个MMSC,在具体实施时可以根据具体情况决定,本发明实施例对此不进行限制。
309、在UA2接收到所述MMSC1发送的提取通知请求后,向WAP GW发起提取请求,所述提取请求里面含有MMSC1的信息。
本发明实施例中,在业务分流之前为UA2服务的MMSC为MMSC1,因此该提取请求里面含有MMSC1的信息。其中,所述MMSC1的信息用于定位所述MMSC1所在位置,其可以为但不局限于所述MMSC1的地址。
310、WAP GW接收到UA2发送的提取请求后,根据所述提取请求中MMSC1的信息,将所述提取请求转发给所述MMSC1。
这里需要说明的是,在该步骤中,WAP GW根据该提取请求中的MMSC指示去执行相应的操作,并不对本地的缓存进行处理。
311、MMSC1接收到WAP GW发送的提取请求后,将UA1发送的彩信业务放在提取响应中,将所述提取响应返回给WAP GW,该提取响应中携带UA2的标识和业务标识2。
其中,MMSC1在把彩信业务放在提取响应后,该MMSC1针对该次业务产生一个业务标识2,用于标识该把彩信业务放在提取响应中的业务为该MMSC1处理的业务。
312、WAP GW接收到所述提取响应后,根据所述提取响应中的UA2的标识将所述提取响应转发给UA2。
313、在UA2接收到WAP GW发送的提取响应后,向WAP GW返回提取通知响应,所述提取通知响应中包含业务标识1,该业务标识1用于标识该所述UA2发送提取通知请求的业务为该MMSC1处理的业务。
314、WAP GW在接收到UA2发送的提取通知响应后,向Enum DNS查询UA2归属地的MMSC的信息的归属地查询请求。
其中,当所述WAP GW接收到所述UA2发送的提取通知响应后,需要将所述提取通知响应转发给为所述UA2服务的MMSC;但是,由于在步骤308中,将所述WAP GW本地缓存的所述UA2所在号段的归属地信息删除,当所述WAP GW接收到所述提取通知响应后,需要重新从Enum DNS查询所述UA2所在号段的所归属的MMSC,因此WAP GW在接收到UA2发送的提取通知响应后,向Enum DNS查询UA2归属地的MMSC的信息的归属地查询请求。
315、Enum DNS返回UA2归属地的MMSC2信息的归属地查询响应;所述归属地查询响应中包含MMSC2的信息。其中,所述MMSC2的信息用于定位所述MMSC1所在位置,其可以为但不局限于所述MMSC2的地址。
由于在步骤308中,Enum DNS检测到MMSC1的负载较重,启动了业务分流,将原归属于MMSC1的UA2所在号段分配给满足分流要求的MMSC2,因此,此处Enum DNS在接收到查询UA2所在号段的归属地时,将所述MMSC2的信息发送给WAP GW,以便WAP GW将相应的业务转发给所述MMSC2。
316、WAP GW在接收到所述归属地查询响应后,根据所述归属地查询响应中的MMSC2的信息,将所述UA2发送的提取通知响应转发给所述MMSC2,所述提取响应通知中包含MMSC2的信息。
进一步,需要说明的是,WAP GW通常在接收到所述归属地查询响应后,更新本地的缓存,即将所述UA2所在号段的归属地MMSC2的信息缓存在所述本地的缓存中。
317、MMSC2在接收到所述提取通知响应后,根据所述提取通知响应中所包含的业务标识1,确定与该业务标识1对应的业务是否为本MMSC2处理的业务;若判定与该业务标识1对应的所述业务不是本MMSC2处理的业务,则根据所述业务标识1获取处理所述业务的MMSC的信息,并执行步骤318。本发明实施例中获取的处理所述业务的MMSC为MMSC1,因此根据所述业务标识1获取的处理所述业务的MMSC的信息为MMSC1的信息。
318、MMSC2根据所述MMSC1的信息将所述提取通知响应发送给所述MMSC1。
319、MMSC1接收到所述提取通知响应后,得知此次从UA1向UA2发送一条彩信的业务已完成,则对此次彩信业务进行计费等处理,并删除此彩信。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时,可以由分流的另一个MMSC来分担多媒体消息的实时下发;进一步地,当所述分流MMSC接收到不是自己本身处理的业务消息时,将该业务消息发送给处理所述业务的MMSC,由处理所述业务的MMSC完成对所述业务的处理,保证了在分流的过程中不影响业务的正常处理,较大程度的提高了用户的体验。
实施例3
结合具体的应用场景,本发明实施例还提供一种业务分流的方法,本发明实施例以在MMSC向业务接收方发出提取通知后,发现该MMSC需要分流,并且业务接收方接收到提取通知请求后,先回发提取通知响应,再向MMSC发送提取消息为例,具体阐述业务分流的方法,如图4所示,该方法包括:
401、在将一条彩信由一个用户发送给另一个用户的过程中,首先通过UA1向WAP GW发送业务提交请求,所述业务提交请求中包含需要提交的业务内容,本发明实施例中,该业务内容为所述一条彩信的内容。
402、WAP GW向Enum DNS发送查询UA1的归属地的归属地查询请求,以查询UA1的归属地MMSC的信息,所述归属地查询请求中包括所述UA1所在号段。
其中,由于用户提交的彩信需要由该用户的号段所归属的MMSC处理,由于UA1是首次执行业务,因此WAP GW的本地缓存中没有缓存UA1所在号段的归属地MMSC的信息,因此在WAP GW接收到UA1发送的业务提交请求时,需要到EnumDNS中查询该UA1的归属地MMSC的信息,即向Enum DNS发送查询UA1所在号段的归属地的归属地查询请求。
403、Enum DNS向WAP GW返回归属地查询响应,所述归属地查询响应中包含UA1所在号段的归属地MMSC的信息。本发明实施例以所述UA1的归属地为MMSC1为例,即Enum DNS向WAP GW返回包含UA1所在号段的归属地MMSC1的信息的归属地查询响应。通常,在得到UA1所在号段的归属地MMSC的信息后,WAPGW会缓存该信息。
其中,所述Enum DNS中保存有UA所在号段的归属地对应关系表,所述归属地对应关系表中包括MMSC的信息、UA所在号段等信息,并且,在所述归属地对应关系表中,所述号段与所述MMSC的标识具有一一对应的关系;在所述EnumDNS接收到查询UA1所在号段的归属地MMSC的归属地查询请求后,根据所述UA1所在号段查询所述对应关系表,得到所述UA1所在号段的归属地MMSC1的信息。
404、在接收到该归属地查询响应后,WAP GW根据所述MMSC1的信息将UA1发送的业务提交请求转发给所述MMSC1。
405、在MMSC1接收到WAP GW转发的业务提交请求后,向WAP GW返回业务提交响应,表示所述MMSC1已经成功接收到所述UA1提交的彩信业务,所述提交响应中携带UA1的标识。
406、WAP GW在接收到MMSC1发送的业务提交响应后,根据UA1的标识将所述业务提交响应转发给UA1,以便UA1得知彩信提交已成功。
407、MMSC1在接收到UA1发送的业务提交请求后,查询到该条彩信的目的用户为UA2,并且确定该目的用户UA2是本网用户,则直接向所述UA2发送提取通知请求,具体可以通过push消息下发,并执行步骤409;所述提取通知中含有MMSC1的信息和业务标识1。
其中,所述业务标识用于标识处理业务的MMSC为MMSC1,该MMSC1针对该次业务处理产生一个业务标识1,用于标识该向所述UA2发送提取通知请求的业务为该MMSC1处理的业务。
408、在MMSC1向目的用户UA2发送提取通知请求后,Enum DNS检测到所述MMSC1的性能参数超过预定阈值,则将原归属于所述MMSC1的一定号段分配给满足分流要求的所述Enum DNS管辖另一个MMSC,并向WAP GW发送通知消息,通知所述WAP GW将本地缓存所述UA2所在号段的归属地信息删除。可以理解的是,UA2所在号段的归属地信息可以是在分流前UA2与MMSC1进行业务交互的过程中,WAP GW缓存的。
其中,在步骤401到407的执行过程中,MMSC1不断的向Enum DNS上报其自身的性能参数,比如,按照一定周期向Enum DNS上报其自身性能参数,其中,所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
Enum DNS在接收到所述MMSC1的性能参数后,检测所述性能参数是否超过预定阈值,若超过预定阈值,则表明所述MMSC1当前的负载比较重,需要其他MMSC为其分担一部分业务,避免所述MMSC1负载过重,导致故障,使业务不能实时的发送下去;因此,当检测到所述MMSC1的性能参数超过预定阈值,则启动业务分流,即将原归属于所述MMSC的UA2所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,具体地,可以根据MMSC1的分流的需求、该Enum DNS管辖的各个MMSC的当前业务处理能力以及硬件处理能力,确定满足分流要求的另一个MMSC。进一步地,在确定满足分流要求的另一个MMSC时,若确定出多个满足分流要求的MMSC,则可以从所述多个满足分流要求的MMSC中任选一个MMSC作为所述另一个MMSC,也可以从所述多个满足分流要求的MMSC中选取一个当前业务处理能力以及硬件处理能力比较高的一个MMSC作为所述另一个MMSC,在具体实施时可以根据具体情况决定,本发明实施例对此不进行限制。
409、UA2在接收到MMSC1发送的提取通知请求后,向所述WAP GW返回提取通知响应,表明UA2已经成功收到该MMSC1发送的提取通知请求,所述提取通知响应中包含业务标识1。
410、WAP GW在接收到UA2发送的提取通知响应后,向Enum DNS查询UA2归属地的MMSC归属地查询请求。
其中,当所述WAP GW接收到所述UA2发送的提取通知响应后,需要将所述提取通知响应转发给为所述U2服务的MMSC;但是,由于在步骤408中,将所述WAP GW本地缓存的所述UA2所在号段的归属地信息删除,当所述WAP GW接收到所述提取通知响应后,需要重新从Enum DNS查询所述UA2所在号段的所归属的MMSC,因此WAP GW在接收到UA2发送的提取通知响应后,向Enum DNS查询UA2归属地的MMSC的信息的归属地查询请求。
411、Enum DNS返回包含UA2归属地的MMSC信息的归属地查询响应;所述归属地查询响应中包含MMSC2的信息。
由于在步骤408中,Enum DNS检测到MMSC1的负载较重,启动了业务分流,将原归属于MMSC1的UA2所在号段重新分配给满足分流要求的MMSC2,因此,此处Enum DNS在接收到查询UA2所在号段的归属地的信息时,将所述MMSC2的信息发送给WAP GW,以便WAP GW将相应的业务转发给所述MMSC2。
412、WAP GW在接收到所述归属地查询响应后,根据所述归属地查询响应中的MMSC2的信息,将所述UA2发送的提取通知响应转发给所述MMSC2,所述提取响应通知中包含MMSC2的信息。
进一步,需要说明的是,WAP GW通常在接收到所述归属地查询响应后,更新本地的缓存,即将所述UA2所在号段的归属地MMSC2的信息缓存在所述本地的缓存中。
413、MMSC2在接收到所述提取通知响应后,根据提取通知响应中所包含的业务标识1,确定与该业务标识1对应的业务不是MMSC2处理的业务而是MMSC1处理的业务,则根据所述业务标识1获取处理所述业务的MMSC1的信息,并执行步骤414。
414、MMSC2根据所述MMSC1的信息将所述提取通知响应转发给MMSC1。
415、UA2向WAP GW发起提取请求,该提取请求中包含发起该业务的MMSC的信息;本发明实施例中,在业务分流之前为UA2服务的MMSC为MMSC1,因此该提取请求里面含有MMSC1的信息。其中,所述MMSC1的信息用于定位所述MMSC1所在位置,其可以为但不局限于所述MMSC1的地址。
416、WAP GW接收到UA2发送的提取请求后,根据所述提取请求中MMSC1的信息,将所述提取请求转发给所述MMSC1。
这里需要说明的是,在该步骤中,WAP GW根据该提取请求中的MMSC指示去执行相应的操作,并不对本地的缓存进行处理。
417、MMSC1接收到WAP GW发送的提取请求后,将UA1发送的彩信业务放在提取响应中,将所述提取响应返回给WAP GW,该提取响应中携带UA2的标识和业务标识2。
其中,MMSC1在把彩信业务放在提取响应后,该MMSC1针对该次业务产生一个业务标识2,用于标识该把彩信业务放在提取响应中的业务为该MMSC1处理的业务。
418、WAP GW接收到所述提取响应后,根据所述提取响应中的UA2的标识将所述提取响应转发给UA2。
419、在UA2接收到WAP GW发送的提取响应后,向WAP GW发提取成功(MM1_Acknowledge.ind)消息,表示已经成功提取U1发送的彩信;所述提取成功消息中包含业务标识2。
420、WAP GW接收到所述提取成功消息后,根据步骤412中的本地缓存的更新,确定UA2所在号段的归属地MMSC2的信息,根据所述MMSC2的信息将MM1_Acknowledge.ind消息转发给所述MMSC2。
由于在步骤410和步骤411中已经获取了UA2所在号段的归属地MMSC2的信息,并且在步骤412中更新了WAP GW的本地缓存,则在本步骤中,WAP GW不需要重新向Enum DNS获取UA2所在号段的归属地MMSC2的信息,根据本地缓存中缓存的UA2所在号段的归属地MMSC2的信息,直接将该成功提取消息发送给MMSC2。
421、MMSC2在接收到所述提取成功消息后,MMSC2根据成功提取消息中的业务标识2,确定该业务的不是MMSC2处理的业务,而是MMSC1处理的业务,则根据所述业务标识2获取处理所述业务的MMSC1的信息,并执行步骤422。
422、MMSC2根据所述MMSC1的信息将所述提取成功消息转发给MMSC1。
423、MMSC1接收到所述提取成功消息后,得知此次从UA1向UA2发送一条彩信的业务已完成,则对此次彩信业务进行计费等处理,并删除此彩信。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时,可以由分流的另一个MMSC来分担多媒体消息的实时下发;进一步地,当所述分流MMSC接收到不是自己本身处理的业务消息时,将该业务消息发送给处理所述业务的MMSC,由处理所述业务的MMSC完成对所述业务的处理,保证了在分流的过程中不影响业务的正常处理,较大程度的提高了用户的体验。
实施例4
结合具体的应用场景,本发明实施例还提供一种业务分流的方法,本发明实施例以在MMSC向业务接收方发出提取通知后,发现该MMSC需要分流,并且业务接收方接收到消息的提取通知后,立即向MMSC发送提取消息为例,具体阐述业务分流的方法,如图5所示,该方法包括:
501、SP(Service Provider服务供应商)向MMSC1发送业务提交请求,所述业务提交请求中包含需要提交的业务内容,本发明实施例中,以该业务内容为一条彩信的内容为例。
502、MMSC1接收到所述业务提交请求后,向SP返回业务提交响应。
503、MMSC1在收到所述业务提交响应后,查询到该业务的目的UA是本网用户,直接向所述UA发送提取通知请求,所述提取通知请求中含有MMSC1的信息和业务标识1。
其中,所述业务标识1用于标识处理业务的MMSC为MMSC1,该MMSC1针对该次业务处理产生一个业务标识1,用于标识该向所述UA发送提取通知请求的业务为该MMSC1处理的业务。
504、在MMSC1向所述UA发送提取通知请求给UA后,Enum DNS检测到所述MMSC1的性能参数超过预定阈值,则将原归属于所述MMSC1的一定号段分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,并向WAP GW发送通知消息,通知所述WAP GW将本地缓存的所述UA所在号段的归属地信息删除。可以理解的是,UA所在号段的归属地信息可以是在分流前UA与MMSC1进行业务交互的过程中,WAP GW缓存的。
其中,在步骤501到503的执行过程中,MMSC1不断的向Enum DNS上报其自身的性能参数,比如,按照一定周期向Enum DNS上报其自身性能参数,其中,所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
Enum DNS在接收到所述MMSC1的性能参数后,检测所述性能参数是否超过预定阈值,若超过预定阈值,则表明所述MMSC1当前的负载比较重,需要其他MMSC为其分担一部分业务,避免所述MMSC1负载过重,导致故障,使业务不能实时的发送下去;因此,当检测到所述MMSC1的性能参数超过预定阈值,则启动业务分流,即将原归属于所述MMSC1的UA号段分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,具体地,可以根据MMSC1的分流需求、该Enum DNS管辖的各个MMSC的当前业务处理能力以及硬件处理能力,确定满足分流要求的另一个MMSC。进一步地,在确定满足分流要求的另一个MMSC时,若确定出多个满足分流要求的MMSC,则可以从所述多个满足分流要求的MMSC中任选一个MMSC作为所述另一个MMSC,也可以从所述多个满足分流要求的MMSC中选取一个当前业务处理能力以及硬件处理能力比较高的一个MMSC作为所述另一个MMSC,在具体实施时可以根据具体情况决定,本发明实施例对此不进行限制。
505、UA向WAP GW发送提取请求;该提取请求中包含为该业务服务的MMSC的信息;本发明实施例中,为该业务服务的MMSC为MMSC1,因此该提取请求里面含有MMSC1的信息。其中,所述MMSC1的信息用于定位所述MMSC1所在位置,其可以为但不局限于所述MMSC1的地址。
506、WAP GW接收到UA发送的提取请求后,根据所述MMSC1的信息将所述提取请求转发给MMSC1。
这里需要说明的是,在该步骤中,WAP GW根据该提取请求中的MMSC指示去执行相应的操作,并不对本地的缓存进行处理。
507、MMSC1在接收到WAP GW发送的所述提取请求后,将SP提交的彩信业务放在提取响应中,将所述提取响应返回给WAP GW,该提取响应中包含UA的标识和业务标识2。
其中,MMSC1在把彩信业务放在提取响应后,该MMSC1针对该次业务产生一个业务标识2,用于标识该把彩信业务放在提取响应中的业务为该MMSC1处理的业务。
508、WAP GW接收到所述提取响应后,根据所述UA的标识将提取响应转发给UA。
509、在UA接收到WAP GW发送的提取响应后,向WAP GW返回提取通知响应,所述提取通知响应中包含业务标识1,该业务标识1用于标识该所述UA发送提取通知请求的业务为该MMSC1处理的业务。
510、WAP GW接收到该提取通知响应后,向Enum DNS查询UA归属地的MMSC的信息的归属地查询请求。
其中,当所述WAP GW接收到所述UA发送的提取通知响应后,需要将所述提取通知响应转发给为所述UA服务的MMSC;但是,由于在步骤504中,将所述WAP GW本地缓存的所述UA所在号段的归属地信息删除,当所述WAP GW接收到所述提取通知响应后,需要重新从Enum DNS查询所述UA所在号段的所归属的MMSC,因此WAP GW在接收到UA发送的提取通知响应后,向Enum DNS查询UA归属地的MMSC的信息的归属地查询请求。
511、Enum DNS返回UA归属地的MMSC2信息的归属地查询响应;所述归属地查询响应中包含MMSC2的信息。
由于在步骤504中,Enum DNS检测到MMSC1的负载较重,启动了业务分流,将原归属于MMSC1的UA所在号段分配给满足分流要求的MMSC2,因此,此处EnumDNS在接收到查询UA所在号段的归属地时,将所述分流MMSC2的信息发送给WAPGW,以便WAP GW将相应的业务转发给所述MMSC2。
512、WAP GW在接收到所述归属地查询响应后,根据所述归属地查询响应中的MMSC2的信息,将所述UA发送的提取通知响应转发给所述MMSC2,所述提取响应通知中包含MMSC2的信息。
进一步,需要说明的是,WAP GW通常在接收到所述归属地查询响应后,更新本地的缓存,即将所述UA所在号段的归属地MMSC2的信息缓存在所述本地的缓存中。
513、MMSC2在接收到所述提取通知响应后,MMSC2根据所述提取通知响应中的业务标识1,确定处理该业务的不是MMSC2而是MMSC1,则根据所述业务标识1获取的处理所述业务的MMSC1的信息,并执行步骤514。
514、MMSC2根据所述MMSC1的信息将所述提取通知响应转发给MMSC1。
515、MMSC1接收到所述成功提取消息后,得知此次从SP向UA发送一条彩信的业务已完成,则对此次彩信业务进行计费等处理,并删除此彩信,执行步骤516。
516、向SP发送递送报告请求消息,告知SP其对该业务的处理已经完成。
517、SP给MMSC1回递送报告响应消息。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时,可以由分流的另一个MMSC来分担多媒体消息的实时下发;进一步地,当所述分流MMSC接收到不是自己本身处理的业务消息时,将该业务消息发送给处理所述业务的MMSC,由处理所述业务的MMSC完成对所述业务的处理,保证了在分流的过程中不影响业务的正常处理,较大程度的提高了用户的体验。
实施例5
本发明实施例提供一种电子编码域名服务器Enum DNS,如图6所示,该服务器包括:检测单元61、分配单元62、第一发送单元63和第二发送单元64。
检测单元61,用于检测所述电子编码域名服务器Enum DNS管辖区内的多媒体消息业务中心MMSC的性能参数是否超过预定阈值;所述性能参数包括以下参数中的任意一项或者以下参数中的任意项的组合,所述参数包括:当前数据流量、处理业务的成功率、处理业务的延时;其中,所述预定阈值为一个门限值,可以根据MMSC的业务处理能力和硬件处理能力具体设置,本发明实施例对此不进行限制。
分配单元62,用于在所述检测单元61检测到所述一个MMSC的性能参数超过所述预定阈值时,将原归属于所述一个MMSC的一定号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC。
第一发送单元63,用于向无线应用协议网关WAP GW发送通知消息,通知所述WAP GW将本地缓存的所述一定号段的归属地信息删除。
第二发送单元64,用于当接收到所述WAP GW发送的查询所述一定号段的归属地的归属地查询请求时,将所述另一个MMSC的信息发送给所述WAP GW。
所述分配单元62,还用于在所述MMSC中的一个MMSC向用户代理UA发送提取通知请求后,在所述检测单元61检测到所述MMSC中的一个MMSC的性能参数超过预定阈值时,将原归属于所述一个MMSC的UA所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC。
进一步,如图7所述,该Enum DNS还包括确定单元65。
确定单元65,用于在所述分配单元62将原归属于所述一个MMSC的UA所在号段,分配给满足分流要求的另一个MMSC之前,或者将原归属于所述一个MMSC的一定号段分配给满足分流要求的另一个MMSC之前,根据所述一个MMSC的分流需求、所述Enum DNS管辖区内的各个MMSC的当前业务处理能力以及硬件处理能力,确定满足分流要求的所述另一个MMSC。
本发明实施例提供一种多媒体消息业务中心,如图8所示,该中心包括:接收单元71、确定单元72、获取单元73和发送单元74。
接收单元71,用于接收无线应用协议网关WAP GW发送的提取通知响应,所述提取通知响应中包含业务标识。
确定单元72,用于根据接收单元71接收到的所述业务标识,确定与所述业务标识对应的业务是否为所述多媒体消息业务中心MMSC处理的业务;
获取单元73,用于在所述确定单元72确定所述与所述业务标识对应的业务不是所述MMSC处理的业务时,根据所述业务标识获取处理所述业务的MMSC的信息;
发送单元74,用于根据所述获取单元73获取的MMSC的信息,将所述接收单元接收到的所述提取通知响应发送给所述获取单元73获取的MMSC。
进一步的,在所述确定单元72确定所述业务是所述MMSC处理的业务时,由所述MMSC完成未处理完的用户业务。
本发明实施例提供一种业务分流的系统,如图10所述,该系统包括:电子编码域名服务器81、无线应用协议网关82和多媒体消息业务中心83。
电子编码域名服务器(Enum DNS)81,用于检测其管辖的多媒体消息业务中心(MMSC)的性能参数是否超过预定阈值;若在所述MMSC中的一个MMSC向用户代理UA发送提取通知请求后,检测到所述一个MMSC的性能参数超过所述预定阈值,则将原归属于所述一个MMSC的UA所在号段,分配给满足分流要求的所述Enum DNS管辖的另一个MMSC,并向WAP GW82发送通知消息,通知所述WAPGW82将本地缓存的所述UA所在号段的归属地信息删除;当接收到所述WAP GW82发送的查询所述UA所在号段的归属地的归属地查询请求时,将所述另一个MMSC的信息发送给所述WAP GW82;
WAP GW82,用于接收所述UA发送的提取通知响应,根据所述响应向所述EnumDNS81发送查询所述UA的归属地的归属地查询请求;接收所述另外一个MMSC的信息,并根据所述另一个MMSC的信息将所述提取通知响应转发给所述另一个MMSC83,所述提取通知响应中包含业务标识;
MMSC83,用于接收所述WAP GW82发送的提取通知响应,并所述根据所述提取通知响应中的业务标识,判断与所述业务标识对应的业务是否为所述另一个MMSC处理的业务;若判定所述业务不是所述另一个MMSC处理的业务,则根据所述业务标识获取处理所述业务的MMSC的信息,并根据所述获取的MMSC的信息,将所述提取通知响应转发给所述获取的MMSC。
本发明实施例中,Enum DNS可以根据MMSC的性能参数,确定MMSC是否需要进行业务分流,使Enum DNS主动并及时的确定MMSC是否需要进行业务分流,从而使得一个MMSC繁忙时,可以由分流的另一个MMSC来分担多媒体消息的实时下发;进一步地,当所述分流MMSC接收到不是自己本身处理的业务消息时,将该业务消息发送给处理所述业务的MMSC,由处理所述业务的MMSC完成对所述业务的处理,保证了在分流的过程中不影响业务的正常处理,较大程度的提高了用户的体验。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。