法律状态公告日
法律状态信息
法律状态
2013-01-30
授权
授权
2008-12-24
实质审查的生效
实质审查的生效
2008-10-29
公开
公开
技术领域
本发明涉及移动通信领域,特别涉及一种用户签约数据异常后发送短信的方法和装置。
背景技术
网络升级、网络割接、手机用户掉网都会引发VLR(Vist Location Register,拜访位置寄存器)里面存储的用户签约数据丢失。如果VLR丢失用户签约数据,那么当用户进行短信被叫流程时,MSC(Mobile Switch Center,移动交换中心)在VLR中发现用户签约数据异常,即丢失或未证实,就会终止当前短信被叫流程。当VLR故障或其他原因导致用户签约数据丢失时,用户在短期内就无法做短信被叫,必须要等待下次作位置更新或主动发起业务才能做短信被叫,导致用户在丢失了用户签约数据后就无法正常收到短信。
发明人在实现本发明过程中,发现在GSM(Global System for Mobile Communication,全球移动通信系统)/WCDMA(Wide Band Code Division MultipleAccess,宽带码分多址)网络中,还没有能够实现在VLR丢失用户签约数据后,能够让丢失数据的用户正常收到短信的技术。
发明内容
为了解决现有技术中由于VLR保存的用户签约数据异常导致短信发送失败的问题,本发明实施例提供了一种用户签约数据异常后发送短信的方法和装置。所述技术方案如下:
一种用户签约数据异常后发送短信的方法,所述方法包括:
接收短信消息中心发送的终结短信消息,检查短信被叫用户的签约数据;
如果所述签约数据异常,则保存短信被叫流程的现场数据,向归属位置寄存器发送数据恢复请求;
接收所述归属位置寄存器发来的正确签约数据进行数据恢复;
如果恢复成功,则发送短信给所述短信被叫用户。
一种用户签约数据异常后发送短信的装置,所述装置包括:
接收模块,用于接收短信消息中心发送的终结短信消息;
检查模块,用于当所述接收模块收到终结短信消息后,检查短信被叫用户的签约数据;
恢复模块,用于当所述检查模块检查到所述签约数据异常时,保存短信被叫流程的现场数据,向归属位置寄存器发送数据恢复请求,并接收所述归属位置寄存器发来的正确签约数据进行数据恢复;
发送模块,用于当所述恢复模块恢复所述签约数据成功后,发送短信给所述短信被叫用户。
本发明实施例提供的技术方案通过在短信被叫流程中恢复用户签约数据,实现了在VLR中的用户签约数据异常后,用户仍能正常收到短信,提高了被叫短信的接通率,并改善了因用户签约数据异常引起短信用户缺席或用户不可及而产生的短信延迟问题。
附图说明
图1是本发明实施例1提供的用户签约数据异常后发送短信的方法流程图;
图2是本发明实施例1提供的用户签约数据异常后数据恢复流程的示意图;
图3是本发明实施例2提供的用户签约数据异常后发送短信的方法流程图;
图4是本发明实施例3提供的用户签约数据异常后发送短信的方法流程图;
图5是本发明实施例4提供的用户签约数据异常后发送短信的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种用户签约数据异常后发送短信的方法,在短信被叫流程中,当VLR发现用户签约数据丢失或未证实时,主动发起数据恢复流程,同时保留当前短信被叫流程现场,并在VLR数据恢复完成后将短信发送给用户。
实施例1
参见图1和图2,本发明实施例所述方法具体包括以下步骤:
步骤101:MSC/VLR即移动交换中心或拜访位置寄存器接收SMC(Short Message Center,短信消息中心)发送的终结短信消息(Mt-forwardSM-Req消息);
其中,Mt-forwardSM消息包含短信内容、短信被叫用户的基本信息、目的地址和状态对话号等;短信被叫用户的基本信息包括IMSI(International Mobile Subscriber Identity,国际移动用户标识)、TMSI(Temporary Mobile Subscriber Identity,临时移动用户标识)、主被叫号码、短信中心号码等。
步骤102:MSC/VLR检查短信被叫用户的签约数据。
步骤103:MSC/VLR判断短信被叫用户的签约数据是否异常,如果异常,则执行步骤104;否则执行步骤110。
步骤104:MSC/VLR保存短信被叫流程的现场数据;
其中,现场数据包括短信内容、用户的基本信息,MAP(Mobile Application Part,移动应用部分)层的Dialog Id(对话号)、TCAP(Transaction Capabilities Application Part,事务处理功能应用部分)层的Transaction Id(事务号)和软件内部的状态等等。
步骤105:MSC/VLR开始发起数据恢复流程,向HLR(Home Location Register,归属位置寄存器)发送数据恢复请求,即MAP_Restore_Data_Req消息。
步骤106:HLR收到MSC/VLR发来的数据恢复请求后,向MSC/VLR发送正确数据插入请求,即MAP_Insert_Subscribe_Data_Req消息。
步骤107:MSC/VLR收到HLR返回的正确数据插入请求后,向HLR发送正确数据插入响应,即MAP_Insert_Subscribe_Data_Rsp消息。
步骤108:HLR收到MSC/VLR发来的正确数据插入响应后,将HLR中保存的正确的用户签约数据发送给MSC/VLR,当用户签约数据插入完成后向MSC/VLR发送恢复数据响应,即MAP_Restore_Data_Rsp消息。
步骤109:MSC/VLR收到HLR发来的恢复数据响应后,表明此时数据恢复已完成,则MSC/VLR将短信发送给短信被叫用户,然后执行步骤111。
步骤110:MSC/VLR将短信发送给短信被叫用户。
步骤111:MSC/VLR发送终结短信响应消息(Mt-forwardSM-Rsp消息)给SMC。
实施例2
为了防止MSC/VLR发起数据恢复流程时出现故障,从而导致长时间不能恢复出数据以致影响短信发送,可以在实施例1中增加启动数据恢复等待定时器用于等待VLR恢复数据的步骤。
参见图3,本发明实施例所述方法还可以具体包括以下步骤:
步骤201:MSC/VLR接收SMC发送的Mt-forwardSM-Req消息。
步骤202:MSC/VLR检查短信被叫用户的签约数据。
步骤203:MSC/VLR判断短信被叫用户的签约数据是否异常,如果异常,则执行步骤204;否则执行步骤207。
步骤204:MSC/VLR保存短信被叫流程的现场数据。
步骤205:MSC/VLR开始发起数据恢复流程,并启动数据恢复等待定时器(WaitForDataRestoreTimer)开始计时;
MSC/VLR发起的数据恢复流程如下:
MSC/VLR向HLR发送数据恢复请求,即MAP_Restore_Data_Req消息;HLR收到MSC/VLR发来的数据恢复请求后,向MSC/VLR发送正确数据插入请求,即MAP_Insert_Subscribe_Data_Req消息;MSC/VLR收到HLR返回的正确数据插入请求后,向HLR发送正确数据插入响应,即MAP_Insert_Subscribe_Data_Rsp消息;HLR收到正确数据插入响应后,将HLR中保存的正确的用户签约数据发送给MSC/VLR,发送完成后向MSC/VLR发送恢复数据响应,即MAP_Restore_Data_Rsp消息;MSC/VLR收到HLR返回的恢复数据响应后,结束数据恢复流程。
步骤206:在MSC/VLR发起数据恢复流程的过程中,当定时器计时到达规定的时间时,判断签约数据是否恢复成功,如果是,则执行步骤207;否则执行步骤205。
规定的时间即数据恢复等待定时器的时长,可以设置为2秒、3秒或5秒等。
判断签约数据是否恢复的过程如下:
MSC/VLR重新检查用户签约数据,检查签约数据中的ConfirmInVLR(被VLR证实标识)和ConfirmByHLR(被HLR证实标识)两个标识,如果ConfirmInVLR标识的值为1,则说明MSC/VLR成功向HLR发送过MAP_Restore_Data_Req消息,如果ConfirmByHLR标识的值为1,则说明HLR成功向MSC/VLR发送过MAP_Insert_Subscribe_DataReq;只有当签约数据中上述两个标识的值都为1时,才认为数据恢复成功,即数据已恢复,否则都认为数据恢复失败。
步骤207:MSC/VLR将短信发送给短信被叫用户。
步骤208:MSC/VLR发送Mt-forwardSM-Rsp消息给SMC。
实施例3
为了防止MSC/VLR多次恢复数据未成功而无休止的发起数据恢复流程,还可以在实施例2中增加对恢复签约数据的次数进行记录并做相应判断的步骤。
参见图4,本发明实施例所述方法还可以具体包括以下步骤:
步骤301:MSC/VLR接收SMC发送的Mt-forwardSM-Req消息。
步骤302:MSC/VLR检查短信被叫用户的签约数据,设置一个计数器用于记录恢复次数,并初始化为0。
步骤303:MSC/VLR判断短信被叫用户的签约数据是否异常,如果异常,则执行步骤304;否则执行步骤308。
步骤304:MSC/VLR保存短信被叫流程的现场数据。
步骤305:MSC/VLR开始发起数据恢复流程,并启动数据恢复等待定时器(WaitForDataRestoreTimer)开始计时;
MSC/VLR发起的数据恢复流程如下:
MSC/VLR向HLR发送数据恢复请求,即MAP_Restore_Data_Req消息;HLR收到MSC/VLR发来的数据恢复请求后,向MSC/VLR发送正确数据插入请求,即MAP_Insert_Subscribe_Data_Req消息;MSC/VLR收到HLR返回的正确数据插入请求后,向HLR发送正确数据插入响应,即MAP_Insert_Subscribe_Data_Rsp消息;HLR收到正确数据插入响应后,将HLR中保存的正确的用户签约数据发送给MSC/VLR,发送完成后向MSC/VLR发送恢复数据响应,即MAP_Restore_Data_Rsp消息;MSC/VLR收到HLR返回的恢复数据响应后,结束数据恢复流程。
步骤306:在MSC/VLR发起数据恢复流程的过程中,当定时器计时到达规定的时间时,MSC/VLR判断签约数据是否恢复成功,如果是,则执行步骤308;否则执行步骤307。
规定的时间即数据恢复等待定时器的时长,可以设置为2秒、3秒或5秒等。
判断签约数据是否恢复的过程如下:
MSC/VLR重新检查用户签约数据,检查签约数据中的ConfirmInVLR和ConfirmByHLR两个标识,如果ConfirmInVLR标识的值为1,则说明MSC/VLR成功向HLR发送过MAP_Restore_Data_Req消息,如果ConfirmByHLR标识的值为1,则说明HLR成功向MSC/VLR发送过MAP_Insert_Subscribe_Data_Req;只有当签约数据中上述两个标识的值都为1时,才认为数据恢复成功,即数据已恢复,否则都认为数据恢复失败。
步骤307:MSC/VLR判断恢复次数是否达到规定的次数,如果是,则结束当前短信被叫流程;否则执行步骤305。
规定次数可以为2次或3次等等,例如,假设规定次数为3,则当计数器的值为2时,执行步骤305;当计数器的值为3且未恢复出签约数据时,结束当前短信呼叫流程。
步骤308:MSC/VLR将短信发送给短信被叫用户。
步骤309:MSC/VLR发送Mt-forwardSM-Rsp消息给SMC。
实施例4
参见图5,本发明实施例还提供了一种用户签约数据异常后发送短信的装置,具体包括:
接收模块,用于接收SMC发送的终结短信消息;
其中,终结短信消息包含短信内容、短信被叫用户的基本信息、目的地址和状态对话号等;短信被叫用户的基本信息包括IMSI、TMSI、主被叫号码、短信中心号码等;
检查模块,用于当接收模块收到终结短信消息后,检查短信被叫用户的签约数据;
恢复模块,用于当检查模块检查到签约数据异常时,保存短信被叫流程的现场数据,向HLR发送数据恢复请求,并接收HLR发来的正确签约数据进行数据恢复;
发送模块,用于当恢复模块恢复签约数据成功后,发送短信给短信被叫用户。
上述恢复模块发起的数据恢复流程如下:
向HLR发送数据恢复请求;在收到HLR回复的正确数据插入请求后,再向HLR发送正确数据插入响应;并接收HLR收到该响应后发来的已保存的正确签约数据以及恢复数据响应,然后结束数据恢复流程。
为了防止MSC/VLR发起数据恢复流程时出现故障,从而导致长时间不能恢复出数据以致影响短信发送,上述用户签约数据异常后发送短信的装置还可以包括:
计时模块,用于预先设置规定的时间,当恢复模块进行数据恢复时,开始计时,在规定的时间内,如果恢复签约数据成功,则触发发送模块工作;否则达到规定的时间时触发恢复模块工作。
计时可以采用定时器来实现,规定的时间即定时器的时长,可以根据需要设置为2秒、3秒或5秒等。
判断签约数据是否恢复通过检查签约数据中的ConfirmInVLR和ConfirmByHLR两个标识是否都为1来实现,当上述两个标识都为1时,认为数据恢复成功,否则认为数据恢复失败。
为了防止MSC/VLR多次恢复数据未成功而无休止的发起数据恢复流程,上述用户签约数据异常后发送短信的装置还包括:
计次模块,用于预先设置规定的次数,当恢复模块进行数据恢复时,记录恢复次数;还用于当计时模块计时达到规定的时间时,判断恢复签约数据的次数是否达到规定的次数,如果是,则结束;否则触发恢复模块工作。
规定次数可以根据需要设置为不同的值,如2次或3次等等。
本发明实施例通过在短信被叫流程中恢复用户签约数据,实现了VLR中的用户签约数据异常后,用户仍能够正常收到短信,提高了被叫短信的接通率,并改善了因用户签约数据异常引起短信用户缺席或用户不可及而产生的短信延迟问题;通过采用定时器计时等待数据恢复,可以防止MSC/VLR发起数据恢复流程时出现故障,从而导致恢复流程不能继续进行;通过对恢复数据的次数进行判断,可以防止MSC/VLR多次恢复数据未成功而无休止的发起数据恢复流程。
本发明实施例通过在短消息被叫流程中恢复用户签约数据,提高了数据恢复的及时性,相比用户做呼叫的被叫时才恢复签约数据的方式而言,极大地缩短了呼叫的接续时延,使用户状态更好的和网络保持一致。另外,通过数据恢复还可以减少用户做呼叫主叫时呼损的现象,防止用户因签约数据异常而被拒绝呼叫的情况发生。
本发明实施例可以利用软件编程实现,相应的软件可以存储在可读取的存储介质中,如MSC/VLR的单板模块的Flash闪存和内存中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 俄罗斯-签约用户的盲人-下行限制范围装置
机译: 时间序列数据异常监视装置及时间序列数据异常监视方法
机译: 时间序列数据异常监视装置及时间序列数据异常监视方法