具体实施方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
在网络系统中,业务提供商设备与用户设备之间可以通过网关设备相互发送数据包。例如:SP/CP与用户设备之间发送数据可以分为以下两种场景:一为SP/CP主动发送A2P消息给用户设备;二为用户设备主动发送P2A消息给SP/CP。其中,本发明实施例中的业务提供商设备可以表示服务提供商(Service Provider,简称为:SP),也可以表示内容提供商(Content Provider,简称为:CP),本发明实施例中将业务提供商设备表示为SP/CP;本发明实施例中的网关设备以ParlayX GW为例进行说明,但是并不限于ParlayX GW;本发明实施例中的第一业务消息以A2P消息为例进行说明,第二业务消息以P2A消息为例进行说明。
ParlayX GW向SP/CP发送数据包的模式,可以分为以下两种:一为ParlayX GW主动向SP/CP发送数据包的模式;另一为SP/CP主动向ParlayXGW获取数据包的模式。
ParlayX GW主动向SP/CP发送数据包的模式:
在SP/CP主动发送A2P消息给用户设备的场景中,用户设备接收到该A2P消息后,会将该A2P消息对应的消息递送报告(delivery report)返回给ParlayX GW,ParlayX GW主动将该消息递送报告发送给SP/CP;
在用户设备主动发送P2A消息给SP/CP的场景中,ParlayX GW将接收到的用户设备发送的P2A消息,主动发送给SP/CP。
SP/CP主动向ParlayX GW获取数据包的模式:
在SP/CP主动发送A2P消息给用户设备的场景中,用户设备接收到该A2P消息后,会将该A2P消息对应的消息递送报告返回给ParlayX GW,ParlayX GW等待SP/CP发出主动获取该消息递送报告的获取请求后,将该消息递送报告发送给SP/CP;
在用户设备主动发送P2A消息给SP/CP的场景中,ParlayX GW接收到用户设备发送的P2A消息后,等待SP/CP发出主动获取该P2A消息的获取请求后,将该P2A消息发送给SP/CP。
图1为本发明数据包发送方法实施例一的步骤流程图,本实施例描述的数据包发送方法是在ParlayX GW主动向SP/CP发送数据包的模式下,以ParlayX GW为主体,向SP/CP发送数据包的方法。如图1所示,该方法实施例包括:
步骤101、接收用户设备发送的数据包。
ParlayX GW接收到用户设备发送的数据包;其中,在SP/CP主动发送A2P消息给用户设备的场景中,该数据包可以为用户设备通过网元设备发送的消息递送报告,该消息递送报告与SP/CP向用户设备发送的A2P消息对应;在用户设备主动发送P2A消息给SP/CP的场景中,该数据包可以为用户设备通过网元设备发送给SP/CP的P2A消息。
步骤102、将数据包发送给对应的SP/CP。
ParlayX GW根据SP/CP注册的通知地址向SP/CP发送数据包。该SP/CP的通知地址,可以是在SP/CP发送的A2P消息中携带的,也可以是SP/CP在进行数据包传送之前,在ParlayX GW中注册的。
步骤103、在步骤102中的数据包发送失败后,根据重发指示标识将该数据包存储到重发队列中等待重发。
其中,ParlayX GW通过TCP服务器与SP/CP进行数据传送,当SP/CP接收到ParlayX GW发送的数据包后,SP/CP或TCP服务器会向ParlayX GW返回发送成功的响应;若SP/CP接收数据包发生失败时,SP/CP或TCP服务器会向ParlayX GW返回发送失败的响应,或者SP/CP或TCP服务器不向ParlayX GW返回响应。当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出该数据包发送失败,然后ParlayXGW根据重发指示标识将该数据包存储到重发队列中等待重发,当到达预设的重发时间间隔后,ParlayX GW将存储在重发队列中的数据包重新发送给SP/CP。
该重发指示标识可以由SP/CP预先设置在A2P消息中,通过向ParlayXGW发送A2P消息,将重发指示标识发送给ParlayX GW;该重发指示标识也可以由SP/CP预先设置在SP/CP的通知地址中,通过向ParlayX GW注册SP/CP的通知地址,将重发指示标识发送给ParlayX GW;该重发指示标识还可以是预先在ParlayX GW中设置的。该重发指示标识表示,当ParlayX GW向SP/CP发送数据包失败后,ParlayX GW需要将发送失败的数据包进行存储,并且重新发送该数据包,以保证ParlayX GW和SP/CP之间数据包传送的可靠性。当ParlayX GW接收到重发指示标识后,会根据重发指示标识对发送失败的数据包进行重发。
本发明实施例提供的数据包发送方法,网关设备在向业务提供商设备发送数据包发生失败后,可以根据预先设置的重发指示标识,将发送失败的数据包进行缓存,并进行重发以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图2为本发明数据包获取方法实施例一的步骤流程图,本实施例描述的数据包获取方法是在ParlayX GW主动向SP/CP发送数据包的模式下,以SP/CP为主体,向ParlayX GW获取数据包的方法。如图2所示,该方法实施例包括:
步骤201、向ParlayX GW发送重发指示标识,该重发指示标识用于指示ParlayX GW在向SP/CP发送数据包失败后、将该数据包存储到重发队列中等待重发。
其中,该重发指示标识可以由SP/CP预先设置在A2P消息中,SP/CP通过向ParlayX GW发送A2P消息,将重发指示标识发送给ParlayX GW;该重发指示标识也可以由SP/CP预先设置在SP/CP的通知地址中,SP/CP通过向ParlayX GW注册SP/CP的通知地址,将重发指示标识发送给ParlayX GW。
该重发指示标识表示,当SP/CP从ParlayX GW接收数据包失败后,ParlayX GW需要将发送失败的数据包进行存储,并且重新发送该数据包,以使SP/CP能重新接收数据包,保证ParlayX GW和SP/CP之间数据包传送的可靠性;当ParlayX GW接收到重发指示标识后,会根据重发指示标识对发送失败的数据包进行重发。
步骤202、接收ParlayX GW发送的数据包。
SP/CP接收ParlayX GW发送的数据包,该数据包是ParlayX GW从用户设备接收到后,主动发送给SP/CP的;其中,在SP/CP主动发送A2P消息给用户设备的场景中,该数据包可以为用户设备通过网元设备发送的消息递送报告,该消息递送报告与SP/CP向用户设备发送的A2P消息对应;在用户设备主动发送P2A消息给SP/CP的场景中,该数据包可以为用户设备通过网元设备发送给SP/CP的P2A消息。
步骤203、在步骤202中的数据包接收失败后,再接收ParlayX GW根据重发指示标识重新发送的数据包。
其中,当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出SP/CP接收该数据包发生失败,然后ParlayXGW根据重发指示标识向SP/CP重新发送该数据包,以使SP/CP在数据包接收失败后,可以重新接收到ParlayX GW根据重发指示标识重新发送的该数据包。
本发明实施例提供的数据包获取方法,业务提供商设备在接收网关设备发送的数据包发生失败后,可以重新接收网关设备根据预先设置的重发指示标识重新发送的数据包,以保证数据包接收的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
下面根据SP/CP与用户设备之间传送消息的不同场景,分别描述数据包在网关设备和业务提供商设备之间的传送过程。
图3为本发明消息递送报告传送方法实施例一的信令流程图,本实施例描述的消息递送报告传送方法是在ParlayX GW主动向SP/CP发送数据包的模式下,SP/CP主动发送A2P消息给用户设备的场景中,消息递送报告在ParlayX GW与SP/CP之间传送的过程。如图3所示,该方法包括:
步骤301、SP/CP调用ParlayX GW中的发送短信(“SendSms”)或彩信(“SendMessage”)等接口,主动将A2P消息发送到ParlayX GW。
该A2P消息中包括返回指示标识和重发指示标识。该返回指示标识用于指示ParlayX GW将接收的用户设备返回的消息递送报告主动返回给SP/CP;例如:本实施例中该返回指示标识可以为“receiptRequest”参数,其中,“receiptRequest”参数包括SP/CP的通知地址。“receiptRequest”参数表示,当用户设备通过网元设备返回A2P消息对应的消息递送报告时,ParlayX GW需要根据“receiptRequest”参数中的SP/CP的通知地址,主动将该消息递送报告发送给SP/CP。该重发指示标识用于指示ParlayX GW在向SP/CP返回该消息递送报告失败后,将该消息递送报告存储到重发队列中等待重发;重发指示标识可以包括以下参数中的任意一个或其组合:最大发送次数、重发间隔时间和最大缓存时间。该A2P消息可以为SP/CP发送给用户设备的A2P消息。
步骤302、ParlayX GW进行业务逻辑处理,然后通过网元设备(图中未示出)将SP/CP发送的A2P消息发送给用户设备。网元设备可以为SMSC、MMSC或WAPGW等,ParlayX GW可以通过网元设备向用户设备发送数据,用户设备也可以通过网元设备向ParlayX GW发送数据,本实施例中以SMSC/MMSC来表示网元设备。
步骤303、用户设备通过SMSC/MMSC,将A2P消息对应的消息递送报告发送给ParlayX GW。
步骤304、ParlayX GW根据A2P消息中的返回指示标识,判断出需要主动将消息递送报告发送给SP/CP,然后ParlayX GW根据SP/CP的通知地址,将消息递送报告发送给SP/CP。
步骤305、在ParlayX GW发送给SP/CP的消息递送报告发送失败时,ParlayX GW根据重发指示标识,把发送失败的消息递送报告存储到重发队列中等待重发。
其中,当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出该数据包发送失败。
步骤306、当到达了重发指示标识中设定的重发间隔时间后,ParlayX GW将存储在重发队列中的消息递送报告重新发送给SP/CP,直到该消息递送报告发送成功。例如:重发间隔时间设定为5秒,则在消息递送报告发送失败5秒后,ParlayX GW重新发送该消息递送报告。
在本实施例中,当ParlayX GW发送给SP/CP的消息递送报告发送成功后,该消息递送报告传送流程结束。
其中,在本发明实施例中,还可以包括以下操作步骤:
在重发消息递送报告成功后,或重发次数达到最大发送次数后,或重发时间达到最大缓存时间后,或者上述任意情况的组合同时满足后,ParlayX GW删除重发队列中存储的该消息递送报告。最大发送次数和最大缓存时间可以是在重发指示标识中包含的;例如:最大发送次数为10次,最大缓存时间为24小时;则在向SP/CP重发过10次后,或者该消息递送报告已经在重发队列中存储了24小时后,ParlayX GW将该消息递送报告删除。
若重发队列中存储的消息递送报告的数量达到阈值,则ParlayX GW将重发队列中的消息递送报告从重发队列持久化存储到存储设备中,或ParlayXGW删除重发队列中的部分或全部消息递送报告。在ParlayX GW删除重发队列中的部分消息递送报告时,可以根据消息递送报告存储到重发队列的时间顺序来删除,例如:将最先存储到重发队列中的一部分消息递送报告删除。
本发明实施例提供的消息递送报告传送方法,网关设备在向业务提供商设备发送消息递送报告发生失败后,可以根据预先设置的重发指示标识,将发送失败的消息递送报告进行缓存,并进行重发以保证消息递送报告发送的成功率,提高网关设备和业务提供商设备之间消息递送报告传送的可靠性,提高了业务服务质量。
图4为本发明第二业务消息传送方法实施例一的信令流程图,本实施例描述的第二业务消息传送方法是在ParlayX GW主动向SP/CP发送数据包的模式下,用户设备主动发送P2A消息给SP/CP的场景中,P2A消息在ParlayXGW与SP/CP之间传送的过程。如图4所示,该方法包括:
步骤401、SP/CP调用ParlayX GW的通知管理接口,注册SP/CP的通知地址(例如:短信的通知管理接口是:“SmsNotificationManager”,彩信的通知管理接口是:“MessageNotificationManager”),并且向ParlayX GW发送重发指示标识。SP/CP预先向ParlayX GW注册SP/CP的通知地址,就表示,当ParlayX GW收到用户设备通过SMSC/MMSC发送的P2A消息时,ParlayXGW需要主动将该P2A消息发送给SP/CP。
该重发指示标识用于指示ParlayX GW在向SP/CP发送P2A消息失败后,将P2A消息存储到重发队列中等待重发。重发指示标识可以包括以下参数中的任意一个或其组合:最大发送次数、重发间隔时间和最大缓存时间。
ParlayX GW接收到SP/CP的通知地址时获知,当接收到用户设备发送的P2A消息时,ParlayX GW要主动将该P2A消息发送给SP/CP。
步骤402、用户设备通过SMSC/MMSC(图中未示出),将P2A消息发送给ParlayX GW。
步骤403、ParlayX GW进行逻辑处理,即根据SP/CP预先注册的SP/CP的通知地址可知,需要主动将P2A消息发送给SP/CP,然后ParlayX GW根据SP/CP的通知地址,将P2A消息发送给SP/CP。
步骤404、在ParlayX GW发送给SP/CP的P2A消息发送失败时,ParlayXGW根据重发指示标识,把发送失败的P2A消息存储到重发队列中等待重发。
其中,当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出该数据包发送失败。
步骤405、当到达了重发指示标识中设定的重发间隔时间后,ParlayX GW将存储在重发队列中的P2A消息重新发送给SP/CP,直到该P2A消息发送成功。例如:重发间隔时间设定为5秒,则在ParlayX GW判断出P2A消息发送失败5秒后,ParlayX GW重新发送该P2A消息。
在本实施例中,当ParlayX GW发送给SP/CP的P2A消息发送成功后,该P2A消息传送流程结束。
其中,在本发明实施例中,还可以包括以下操作步骤:
在重发P2A消息成功后,或重发次数达到最大发送次数后,或重发时间达到最大缓存时间后,或者上述任意情况的组合同时满足后,ParlayX GW删除重发队列中存储的该P2A消息。最大发送次数和最大缓存时间可以是在重发指示标识中包含的;例如:最大发送次数为10次,最大缓存时间为24小时;则在向SP/CP重发过10次后,或者该P2A消息已经在重发队列中存储了24小时后,ParlayX GW将该P2A消息删除。
若重发队列中存储的P2A消息的数量达到阈值,则ParlayX GW将重发队列中的P2A消息从重发队列持久化存储到存储设备中,或ParlayX GW删除重发队列中的部分或全部P2A消息。在ParlayX GW删除重发队列中的部分P2A消息时,可以根据P2A消息存储到重发队列的时间顺序来删除,例如:将最先存储到重发队列中的一部分P2A消息删除。
本发明实施例提供的第二业务消息传送方法,网关设备在向业务提供商设备发送第二业务消息发生失败后,可以根据预先设置的重发指示标识,将发送失败的第二业务消息进行缓存,并进行重发以保证第二业务消息发送的成功率,提高网关设备和业务提供商设备之间第二业务消息传送的可靠性,提高了业务服务质量。
图5为本发明数据包发送方法实施例二的步骤流程图,本实施例描述的数据包发送方法是在SP/CP主动向ParlayX GW获取数据包的模式下,以ParlayX GW为主体,向SP/CP发送数据包的方法。如图5所示,该方法实施例包括:
步骤501、接收用户设备发送的数据包。
ParlayX GW接收到用户设备发送的数据包;其中,在SP/CP主动发送A2P消息给用户设备的场景中,该数据包可以为用户设备通过SMSC/MMSC发送的消息递送报告,该消息递送报告与SP/CP向用户设备发送的A2P消息对应;在用户设备主动发送P2A消息给SP/CP的场景中,该数据包可以为用户设备通过SMSC/MMSC发送给SP/CP的P2A消息。
步骤502、接收SP/CP发送的请求获取该数据包的获取请求。
ParlayX GW接收SP/CP发送获取请求,该获取请求用于请求获取ParlayXGW接收到的用户设备发送的数据包。该获取请求中可以包括缓存指示标识,该缓存指示标识可以由SP/CP预先设置在SP/CP向ParlayX GW发送的获取请求中,通过向ParlayX GW发送获取请求,将缓存指示标识发送给ParlayXGW;该缓存指示标识还可以是预先在ParlayX GW中设置的。该缓存指示标识表示,当ParlayX GW向SP/CP发送数据包失败后,ParlayX GW需要将发送失败的数据包存储到缓存队列中,以等待SP/CP的重新获取,用以保证ParlayX GW和SP/CP之间数据包传送的可靠性。
步骤503、根据获取请求向SP/CP发送数据包。
ParlayX GW根据SP/CP发送的获取请求向SP/CP发送数据包。
步骤504、在步骤503中的数据包发送失败后,根据缓存指示标识将该数据包存储到缓存队列中等待SP/CP的重新获取。
其中,判断数据包发送失败的流程参见本发明数据包发送方法实施例一中的描述,在此不再赘述。在步骤503中的数据包发送失败后,ParlayX GW根据缓存指示标识将该数据包存储到缓存队列中等待SP/CP的重新获取,当SP/CP重新发送获取请求时,ParlayX GW将存储在缓存队列中的数据包重新发送给SP/CP。
本发明实施例提供的数据包发送方法,网关设备在向业务提供商设备发送数据包发生失败后,可以根据预先设置的缓存指示标识,将发送失败的数据包存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图6为本发明数据包获取方法实施例二的步骤流程图,本实施例描述的数据包获取方法是在SP/CP主动向ParlayX GW获取数据包的模式下,以SP/CP为主体,主动向ParlayX GW获取数据包的方法。如图6所示,该方法实施例包括:
步骤601、在ParlayX GW接收到用户设备发送的数据包后,向ParlayXGW发送请求获取该数据包的获取请求。
其中,在SP/CP主动发送A2P消息给用户设备的场景中,该数据包可以为用户设备通过SMSC/MMSC发送的消息递送报告,该消息递送报告与SP/CP向用户设备发送的A2P消息对应;在用户设备主动发送P2A消息给SP/CP的场景中,该数据包可以为用户设备通过SMSC/MMSC发送给SP/CP的P2A消息。
SP/CP向ParlayX GW发送请求获取数据包的获取请求可以分为以下两种情况:一、在SP/CP主动发送A2P消息给用户设备的场景中,当SP/CP通过ParlayX GW向用户设备发送一个A2P消息时,ParlayX GW会返回一个消息ID给SP/CP,SP/CP可以用该消息ID来主动获取该A2P消息对应的消息递送报告;二、在用户设备主动发送P2A消息给SP/CP的场景中,SP/CP可以定期向ParlayX GW发送轮询消息,该消息中携带该SP/CP的接入码,以向ParlayX GW获取用户设备发送的P2A消息。
该获取请求中可以包括缓存指示标识,该缓存指示标识可以由SP/CP预先设置在SP/CP向ParlayX GW发送的获取请求中,通过向ParlayX GW发送获取请求,将缓存指示标识发送给ParlayX GW;该缓存指示标识还可以是预先在ParlayX GW中设置的。该缓存指示标识表示,当ParlayX GW向SP/CP发送数据包失败后,ParlayX GW需要将发送失败的数据包存储到缓存队列中,以等待SP/CP的重新获取,用以保证ParlayX GW和SP/CP之间数据包传送的可靠性。
步骤602、接收ParlayX GW发送的数据包。
SP/CP接收ParlayX GW根据获取请求发送的数据包。
步骤603、在步骤602中的数据包接收失败后,向ParlayX GW发送重新获取请求。
其中,判断数据包接收失败的流程参见本发明数据包获取方法实施例一中的描述,在此不再赘述。在步骤602中的数据包接收失败后,SP/CP向ParlayX GW发送重新获取请求。
步骤604、接收ParlayX GW根据缓存指示标识重新发送的数据包。
SP/CP重新接收ParlayX GW根据缓存指示标识和重新获取请求重新发送的数据包。
本发明实施例提供的数据包获取方法,业务提供商设备在接收网关设备发送的数据包发生失败后,可以重新请求获取网关设备根据预先设置的缓存指示标识存储的发送失败的数据包,以保证数据包接收的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
下面根据SP/CP与用户设备之间传送消息的不同场景,分别描述数据包在网关设备和业务提供商设备之间的传送过程。
图7为本发明消息递送报告传送方法实施例二的信令流程图,本实施例描述的消息递送报告传送方法是在SP/CP主动向ParlayX GW获取数据包的模式下,SP/CP主动发送A2P消息给用户设备的场景中,消息递送报告在ParlayX GW与SP/CP之间传送的过程。如图7所示,该方法包括:
步骤701、SP/CP调用ParlayX GW中的发送短信(“SendSms”)或彩信(“SendMessage”)等接口,将A2P消息发送到ParlayX GW。
A2P消息中没有携带返回指示标识(“receiptRequest”参数),即当ParlayXGW检测到A2P消息中没有携带“receiptRequest”参数时,就判断出SP/CP会主动获取该A2P消息对应的消息递送报告。
步骤702、ParlayX GW进行逻辑处理,然后通过SMSC/MMSC(图中未示出),将SP/CP发送的A2P消息发送给用户设备。
步骤703、用户设备通过SMSC/MMSC,将A2P消息对应的消息递送报告发送给ParlayX GW。
步骤704、ParlayX GW根据A2P消息中没有携带返回指示标识,判断出需要将该消息递送报告进行缓存,以等待SP/CP主动来获取;然后ParlayX GW将接收到的消息递送报告进行缓存,等待SP/CP的主动获取。
步骤705、SP/CP主动向ParlayX GW发送携带业务提供商的通知地址的获取请求,即SP/CP调用ParlayX GW的获取递送报告方法来获取业务提供商所发的A2P消息对应的递送报告,例如:ParlayX 2.1协议中所定义的短信递送获取方法是:“getSmsDeliveryStatus”,彩信递送报告获取方法是:“getMessageDeliveryStatus”。
该获取请求包括缓存指示标识,该缓存指示标识用于指示ParlayX GW在向SP/CP返回消息递送报告失败后,将该消息递送报告存储到缓存队列中、并等待根据SP/CP发送的重新获取请求返回该消息递送报告。
该缓存指示标识包括最大缓存时间和/或允许获取次数。
步骤706、ParlayX GW根据获取请求中的SP/CP的通知地址,将缓存的消息递送报告发送给SP/CP。
步骤707、在ParlayX GW发送给SP/CP的消息递送报告发送失败时,ParlayX GW根据缓存指示标识,把发送失败的消息递送报告存储到缓存队列中等待SP/CP的重新获取。
其中,当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出该数据包发送失败。
步骤708、SP/CP发送重新获取请求。
步骤709、ParlayX GW根据SP/CP发送的重新获取请求,从缓存队列中提取该消息递送报告,并根据SP/CP的通知地址,将该消息递送报告发送给SP/CP,直到该消息递送报告发送成功。
在本实施例中,当ParlayX GW发送给SP/CP的消息递送报告发送成功后,该消息递送报告传送流程结束。
其中,在本发明实施例中,还可以包括以下操作步骤:在重发消息递送报告成功后,或到达最大缓存时间后,或到达允许获取次数后,或者上述任意情况的组合同时满足后,ParlayX GW删除缓存队列中存储的该消息递送报告。最大缓存时间和允许获取次数可以是在缓存指示标识中包含的;例如:最大缓存时间为24小时,允许获取次数为10次;则在该消息递送报告已经在重发队列中存储了24小时后,或者SP/CP已经发送过10次获取请求后,ParlayX GW将该消息递送报告删除。
若缓存队列中存储的消息递送报告的数量达到阈值,则ParlayX GW将缓存队列中的消息递送报告从缓存队列持久化存储到存储设备中,或ParlayXGW删除缓存队列中的部分或全部消息递送报告。在ParlayX GW删除缓存队列中的部分消息递送报告时,可以根据消息递送报告存储到缓存队列的时间顺序来删除,例如:将最先存储到缓存队列中的一部分消息递送报告删除。
本发明实施例提供的消息递送报告传送方法,网关设备在向业务提供商设备发送消息递送报告发生失败后,可以根据预先设置的缓存指示标识,将发送失败的消息递送报告存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证消息递送报告发送的成功率,提高网关设备和业务提供商设备之间消息递送报告传送的可靠性。
图8为本发明第二业务消息传送方法实施例二的信令流程图,本实施例描述的第二业务消息传送方法是在SP/CP主动向ParlayX GW获取数据包的模式下,用户设备主动发送P2A消息给SP/CP的场景中,P2A消息在ParlayXGW与SP/CP之间传送的过程。如图8所示,该方法包括:
步骤801、用户设备通过SMSC/MMSC(图中未示出),将P2A消息发送给SP/CP。
步骤802、ParlayX GW将接收到的P2A消息进行缓存。
由于SP/CP预先没有在ParlayX GW注册SP/CP的通知地址,ParlayX GW可以判断出SP/CP会主动获取该P2A消息,于是在接收到P2A消息后,ParlayXGW将该P2A消息进行缓存,等待SP/CP的主动获取。
步骤803、SP/CP主动向ParlayX GW发送携带SP/CP的通知地址的获取请求,即SP/CP调用ParlayX GW对应的消息的获取方法获取用户所发的消息,如:ParlayX 2.1协议中定义的短信获取方法是:“getReceivedSms”,彩信获取方法是:“getReceivedMessages”。
该获取请求还包括缓存指示标识,该缓存指示标识用于指示ParlayX GW在向SP/CP返回P2A消息失败后,将该P2A消息存储到缓存队列中、并等待根据SP/CP发送的重新获取请求返回P2A消息。
该缓存指示标识包括最大缓存时间和/或允许获取次数。
步骤804、ParlayX GW根据获取请求中的SP/CP的通知地址,将缓存的P2A消息发送给SP/CP。
步骤805、在ParlayX GW发送给SP/CP的P2A消息发送失败时,ParlayXGW根据缓存指示标识,把发送失败的P2A消息存储到缓存队列中等待SP/CP的重新获取。
其中,当ParlayX GW接收到SP/CP或TCP服务器返回的发送失败的响应时,或者当ParlayX GW在一定的时间内没有收到SP/CP或TCP服务器返回的响应时,ParlayX GW判断出该数据包发送失败,
步骤806、SP/CP发送重新获取请求。
步骤807、ParlayX GW根据SP/CP发送的重新获取请求,从缓存队列中提取该P2A消息,并根据SP/CP的通知地址,将该P2A消息发送给SP/CP,直到该P2A消息发送成功。
在本实施例中,当ParlayX GW发送给SP/CP的P2A消息发送成功后,该P2A消息传送流程结束。
其中,在本发明实施例中,还可以包括以下操作步骤:
在重发P2A消息成功后,或到达最大缓存时间后,或到达允许获取次数后,或者上述任意情况的组合同时满足后,ParlayX GW删除缓存队列中存储的该P2A消息。最大缓存时间和允许获取次数可以是在缓存指示标识中包含的;例如:最大缓存时间为24小时,允许获取次数为10次;则在该P2A消息已经在重发队列中存储了24小时后,或者SP/CP已经发送过10次获取请求后,ParlayX GW将该P2A消息删除。
若缓存队列中存储的P2A消息的数量达到阈值,则ParlayX GW将缓存队列中的P2A消息从缓存队列持久化存储到存储设备中,或ParlayX GW删除缓存队列中的部分或全部P2A消息。在ParlayX GW删除缓存队列中的部分P2A消息时,可以根据P2A消息存储到缓存队列的时间顺序来删除,例如:将最先存储到缓存队列中的一部分P2A消息删除。
本发明实施例提供的第二业务消息传送方法,网关设备在向业务提供商设备发送第二业务消息发生失败后,可以根据预先设置的缓存指示标识,将发送失败的第二业务消息存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证第二业务消息发送的成功率,提高网关设备和业务提供商设备之间第二业务消息传送的可靠性。
需要说明的是:在本发明提供的各个实施例中,通过设置重发指示标识或缓存指示标识,可以在ParlayX GW和SP/CP之间数据包传送失败时进行重发或缓存,保证了数据包的可靠传送;由此用户可以根据需求,对不同重要性的数据包采取不同的措施,例如:对一些比较重要的数据包,通过重发指示标识或缓存指示标识设置传送过程中的重发或缓存功能,并且根据数据包的重要程度不同,设置不同的重发次数或最大缓存时间;而对一些不重要的数据包,则不设置传送过程中的重发或缓存功能,从而在提高ParlayX GW和SP/CP之间数据包传输可靠性的同时,也尽量减少重发或缓存对ParlayXGW性能的影响。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图9为本发明网关设备实施例一的结构示意图,如图9所示,该网关设备包括:第一接收模块91,第一发送模块93和第一处理模块95。
第一接收模块91用于接收用户设备发送的数据包。第一发送模块93用于将数据包发送给对应的业务提供商设备。第一处理模块95用于在第一发送模块93发送数据包失败后,根据重发指示标识将该数据包存储到重发队列中等待重发。
第一接收模块91接收到用户设备发送的数据包;第一发送模块93根据SP/CP注册的通知地址,将第一接收模块91接收到的用户设备发送的数据包,发送给对应的SP/CP;在第一发送模块93向SP/CP发送数据包发生失败时,第一处理模块95根据重发指示标识将发送失败的数据包存储在重发队列中,当到达预设的重发时间间隔后,第一处理模块95重新将该数据包发送给SP/CP。
本发明网关设备实施例中各个模块的工作原理和工作流程参见本发明图1到图4所示实施例中的描述,在此不再赘述。
本发明实施例提供的网关设备,在向业务提供商设备发送数据包发生失败后,可以根据预先设置的重发指示标识,将发送失败的数据包进行缓存,并进行重发以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图10为本发明网关设备实施例二的结构示意图,如图10所示,在本发明网关设备实施例一的基础上,该网关设备除了包括第一接收模块91、第一发送模块93和第一处理模块95以外,还包括第一删除模块97和第一持久化存储模块99。
具体的,第一处理模块95可以包括:消息重发队列951和重发控制子模块953。消息重发队列951用于在数据包发送失败后,缓存该数据包。重发控制子模块953用于根据重发指示标识对消息重发队列951中的数据包进行重发控制。其中重发指示标识可以包括以下参数中的任意一个或其组合:最大发送次数、重发间隔时间和最大缓存时间。
在第一发送模块93向SP/CP发送数据包发生失败后,消息重发队列951根据重发指示标识存储发送失败的数据包,当到达预设的重发时间间隔后,重发控制子模块953将消息重发队列951中的数据包重新发送给SP/CP。
第一删除模块97用于在重发数据包成功后,或重发次数达到最大发送次数后,或重发时间达到最大缓存时间后,删除消息重发队列951中的数据包。
第一持久化存储模块99用于若消息重发队列951中的数据包的数量达到阈值,则将消息重发队列951中的数据包从消息重发队列951持久化存储到存储设备中,或删除消息重发队列951的部分或全部数据包。
本发明网关设备实施例中各个模块的工作原理和工作流程参见本发明图1到图4所示实施例中的描述,在此不再赘述。
本发明实施例提供的网关设备,在向业务提供商设备发送数据包发生失败后,可以根据预先设置的重发指示标识,将发送失败的数据包进行缓存,并进行重发以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图11为本发明业务提供商设备实施例一的结构示意图,如图11所示,该业务提供商设备包括:标识发送模块1101和第三接收模块1103。
标识发送模块1101用于向网关设备发送重发指示标识,重发指示标识用于指示网关设备在向业务提供商设备发送数据包失败后、将数据包存储到重发队列中等待重发。
第三接收模块1103用于接收网关设备发送的数据包,并在该数据包接收失败后,再接收网关设备根据重发指示标识重新发送的该数据包。
通过向ParlayX GW发送A2P消息,或者通过向ParlayX GW注册SP/CP的通知地址,标识发送模块1101向ParlayX GW发送重发指示标识;第三接收模块1103接收ParlayX GW发送的数据包,该数据包是ParlayX GW从用户设备接收到后,主动发送给SP/CP的;在接收数据包发生失败时,第三接收模块1103再接收ParlayX GW根据重发指示标识重新发送的数据包。
本发明业务提供商设备实施例中各个模块的工作原理和工作流程参见本发明图1到图4所示实施例中的描述,在此不再赘述。
本发明实施例提供的业务提供商设备,在接收网关设备发送的数据包发生失败后,可以重新接收网关设备根据预先设置的重发指示标识重新发送的数据包,以保证数据包接收的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
本发明实施例提供了一种网络系统,该网络系统包括如图9或图1 0所示的网关设备和如图11所示的业务提供商设备。
本发明网络系统实施例中各个模块的工作原理和工作流程参见本发明图1到图4所示实施例中的描述,在此不再赘述。
本发明实施例提供的网络系统,网关设备在向业务提供商设备发送数据包发生失败后,可以根据预先设置的重发指示标识,将发送失败的数据包进行缓存,并进行重发以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图12为本发明网关设备实施例三的结构示意图,如图12所示,该网关设备包括:第二接收模块1201、第二发送模块1203和第二处理模块1205。
第二接收模块1201用于接收用户设备发送的数据包后,接收业务提供商设备发送的请求获取该数据包的获取请求;该获取请求种包括缓存指示标识,该缓存指示标识用于指示第二处理模块1205在第二发送模块1203向业务提供商设备返回数据包失败后,将该数据包存储到缓存队列中、并等待根据业务提供商设备发送的重新获取请求返回该数据包。第二发送模块1203用于根据第二接收模块1201接收到的获取请求向业务提供商设备发送数据包。第二处理模块1205用于在第二发送模块1203发送该数据包失败后,根据缓存指示标识将该数据包存储到缓存队列中等待业务提供商设备的重新获取。
第二接收模块1201接收用户设备发送的数据包后,接收SP/CP发送的请求获取该数据包的获取请求;第二发送模块1203根据第二接收模块1201接收的获取请求向SP/CP发送数据包;在第二发送模块1203发送数据包发生失败后,第二处理模块1205根据缓存指示标识将该数据包存储到缓存队列中等待SP/CP的重新获取,当SP/CP重新发送获取请求时,第二处理模块1205将存储在缓存队列中的数据包重新发送给SP/CP。
本发明网关实施例中各个模块的工作原理和工作流程参见本发明图5到图8所示实施例中的描述,在此不再赘述。
本发明实施例提供的网关设备,在向业务提供商设备发送数据包发生失败后,可以根据预先设置的缓存指示标识,将发送失败的数据包存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图13为本发明网关设备实施例四的结构示意图,如图13所示,在本发明网关设备实施例三的基础上,该网关设备除了包括第二接收模块1201、第二发送模块1203和第二处理模块1205以外,还包括第二删除模块1207和第二持久化存储模块1209。
第二删除模块1207用于在重发数据包成功后,或到达最大缓存时间或到达允许获取次数后,删除缓存队列中的数据包。
第二持久化存储模块1209用于若缓存队列中的数据包的数量达到阈值,则将缓存队列中的数据包从缓存队列持久化存储到存储设备中,或删除缓存队列中的部分或全部数据包。
本发明网关设备实施例中各个模块的工作原理和工作流程参见本发明图5到图8所示实施例中的描述,在此不再赘述。
本发明实施例提供的网关设备,在向业务提供商设备发送数据包发生失败后,可以根据预先设置的缓存指示标识,将发送失败的数据包存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
图14为本发明业务提供商设备实施例二的结构示意图,如图14所示,该业务提供商设备包括:第四接收模块1401和第一获取模块1403。
第四接收模块1401用于接收网关设备发送的数据包。
第一获取模块1403用于在网关设备接收到用户设备发送的数据包后,向网关设备发送请求获取该数据包的获取请求,并在第四接收模块1401接收数据包失败后,向网关设备发送重新获取请求;该获取请求包括缓存指示标识,该缓存指示标识用于指示网关设备在向第四接收模块1401返回该数据包失败后,将该数据包存储到缓存队列中、并等待根据第一获取模块1403发送的重新获取请求返回该数据包。
在ParlayX GW接收到用户设备发送的数据包后,第一获取模块1403向ParlayX GW发送请求获取该数据包的获取请求;ParlayX GW根据第一获取模块1403发送的获取请求向第四接收模块1401发送数据包;在第四接收模块1401接收ParlayX GW发送的数据包失败后,第一获取模块1403向ParlayXGW发送重新获取请求;第四接收模块1401重新接收ParlayX GW根据缓存指示标识和重新获取请求重新发送的数据包。
本发明业务提供商设备实施例中各个模块的工作原理和工作流程参见本发明图5到图8所示实施例中的描述,在此不再赘述。
本发明实施例提供的业务提供商设备,在接收网关设备发送的数据包发生失败后,可以重新请求获取网关设备根据预先设置的缓存指示标识存储的发送失败的数据包,以保证数据包接收的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
本发明实施例还提供了另一种网络系统,该网络系统包括如图12或图13所示的网关设备和如图14所示的业务提供商设备。
本发明网络系统实施例中各个模块的工作原理和工作流程参见本发明图5到图8所示实施例中的描述,在此不再赘述。
本发明实施例提供的网络系统,网关设备在向业务提供商设备发送数据包发生失败后,可以根据预先设置的缓存指示标识,将发送失败的数据包存储到缓存队列中,等待当业务提供商设备重新获取时进行重发,以保证数据包发送的成功率,提高网关设备和业务提供商设备之间数据包传送的可靠性,提高了业务服务质量。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。