彩信重试方法及装置制造方法

文档序号:7980311阅读:144来源:国知局
彩信重试方法及装置制造方法
【专利摘要】本发明公开了一种彩信重试方法及装置,该方法包括:从存储器中获取发送失败的彩信消息体,其中,彩信消息体是彩信首次发送失败后对彩信的附件进行编码而成的MM7协议码流;向MMSC发送上述彩信消息体。通过本发明,将编码后的消息码流存储在存储器,直接发送编码好的码流,无需再次编码,无时间消耗,避免了重试过程中多次到NAS存储器读取附件引起的IO瓶颈问题,节省了系统资源,同时减少了对彩信内容文件编码的次数,极大提高了彩信业务处理系统的处理能力,提高了用户体验。
【专利说明】彩信重试方法及装置
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种彩信重试方法及装置。
【背景技术】
[0002]多媒体业务(Multi Media Service,简称为MMS)是一种多媒体信息服务,支持丰富的媒体功能,能够在手机与手机之间或手机与互联网及其他应用之间传送。多媒体功能支持包括文字、图像、视频、声音等各种多媒体格式数据的传送。随着彩信业务的广泛应用(如手机报),彩信业务量越来越大,相应对彩信业务处理系统的处理性能要求也越来越高。
[0003]丽7协议是服务端SP与彩信中心之间互通的协议,该协议通过超文本传输协议(Hypertext Transfer Protocol,简称为HTTP)协议承载,采用简单对象访问协议(SimpleObject Access Protocol,简称为SOAP)协议封装传送,为多媒体信息提供多种增值服务。SP发送的多媒体增值业务请求消息要通过彩信业务处理系统转换成MM7接口后发送给多媒体业务中心(Multi Media Service Center,简称为MMSC),即彩信中心。
[0004]当网络拥塞、网络故障、参数设置不当时,彩信业务处理系统发送消息到彩信中心时经常会发送失败,或者发送消息后彩信中心响应错误码,导致移动终端收发失败。通常彩信业务处理系统会设置重试机制来保证彩信最终能够发送到移动终端。彩信重试与短信重试不同,彩信重试时要携带大容量彩信数据,大容量彩信数据的存储与处理是一个难题,现有的彩信重试技术有以下不足:
[0005]彩信重试过程中,重试次数未达到设定值之前会进行多次重试。一般采用网络附加存储(Network Attached Storage,简称为NAS)存储彩信附件,每次重试之前需要到NAS服务器读取彩信附件,再进行消息编码组装成彩信数据包发给彩信中心。对于带有多个附件的彩信业务(如手机报),重试需要对NAS进行非常频繁的10调用,还要对多个彩信附件重复的组包,极大地影响了彩信业务处理系统的处理效率,降低了彩信业务处理系统的能力。

【发明内容】

[0006]本发明提供了一种彩信重试方法及装置,以至少解决相关技术中,采用NAS存储器保存彩信附件,重试过程中多次到NAS存储器读取彩信附件引起10频繁调用,且每次重试都要对彩信附件进行编码,影响彩信业务处理系统处理效率的问题。
[0007]根据本发明的一个方面,提供了一种彩信重试方法,包括:从存储器中获取发送失败的彩信消息体,其中,彩信消息体是彩信首次发送失败后对彩信的附件进行编码而成的MM7协议码流;向MMSC发送上述彩信消息体。
[0008]优选地,从存储器中获取发送失败的彩信消息体包括:扫描存储器中存储有彩信消息头的信息;从信息中获取上述彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引;根据存储索弓I从存储器中获取彩信消息体。
[0009]优选地,彩信消息头还包括:彩信在存储器存储的有效时间、MMSC链路信息,在根据存储索引从存储器中获取彩信消息体之前,上述方法还包括:判断有效时间是否超期;如果超期,根据存储索引找到并删除彩信消息体;如果未超期,根据存储索引从存储器中获取彩信消息体。
[0010]优选地,扫描存储器中存储有彩信消息头的信息包括:按照预设的扫描时间扫描存储器中存储有彩信消息头的信息。
[0011]优选地,在向MMSC发送彩信消息体之后,上述方法还包括:接收到来自MMSC的响应;关联从存储器中存储有彩信消息头的信息中获取的彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引、彩信在存储器存储的有效时间、MMSC链路信息;在响应是失败响应的情况下,根据有效时间判断是否再次重试;在响应是成功响应的情况下,根据存储索引找到并删除彩信消息体。
[0012]优选地,根据有效时间判断是否再次重试包括:判断有效时间是否超期;如果超期,根据存储索引找到并删除彩信消息体;如果未超期,将有效时间调整为当前剩余的时间,并将携带有调整后的有效时间的彩信消息头存储到信息中,等待下一次重试。
[0013]优选地,在从存储器中获取发送失败的彩信消息体之前,上述方法还包括:确定彩信是首次发送失败,对彩信的附件进行编码得到彩信消息体,并将彩信消息体存储到存储器;根据存储器返回的彩信消息体在存储器中的存储索引,构造彩信的彩信消息头,并将彩信的彩信消息头存储到信息中。
[0014]优选地,在存储器中以重试消息队列的形式存储彩信消息头,重试消息队列与发送彩信的业务标识SPID——对应。
[0015]优选地,上述存储器采用分布式缓存。
[0016]根据本发明的另一方面,提供了一种彩信重试装置,包括:获取模块,用于从存储器中获取发送失败的彩信消息体,其中,彩信消息体是彩信首次发送失败后对彩信的附件进行编码而成的MM7协议码流;发送模块,用于向MMSC发送该彩信消息体。
[0017]通过本发明,将编码后的消息码流存储在存储器,直接发送编码好的码流,无需再次编码,无时间消耗,避免了重试过程中多次到NAS存储器读取附件引起的IO瓶颈问题,节省了系统资源,同时减少了对彩信内容文件编码的次数,极大提高了彩信业务处理系统的处理能力,提高了用户体验。
【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019]图1是根据本发明实施例的彩信重试方法的流程图;
[0020]图2是根据本发明实施例的彩信重试装置的结构框图;
[0021]图3是根据本发明优选实施例的彩信重试装置的结构框图一;
[0022]图4是根据本发明优选实施例的彩信重试装置的结构框图二 ;
[0023]图5是根据本发明优选实施例的彩信重试系统的结构框图;
[0024]图6是根据本发明优选实施例的彩信重试方法的流程图一;
[0025]图7是根据本发明优选实施例的彩信重试方法的流程图二。【具体实施方式】
[0026]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0027]本发明实施例提供了一种彩信重试方法,图1是根据本发明实施例的彩信重试方法的流程图,如图1所示,包括如下的步骤S102至步骤S104。
[0028]步骤S102,从存储器中获取发送失败的彩信消息体,其中,彩信消息体是彩信首次发送失败后对彩信的附件进行编码而成的MM7协议码流。
[0029]步骤S104,向丽SC发送该彩信消息体。
[0030]相关技术中,采用NAS存储器保存彩信附件,重试过程中多次到NAS存储器读取彩信附件引起IO频繁调用,且每次重试都要对彩信附件进行编码,影响彩信业务处理系统的处理效率。上述实施例中,将编码后的消息码流存储在存储器,直接发送编码好的码流,无需再次编码,无时间消耗,避免了重试过程中多次到NAS存储器读取附件引起的IO瓶颈问题,节省了系统资源,同时减少了对彩信内容文件编码的次数,极大提高了彩信业务处理系统的处理能力,提高了用户体验。
[0031]考虑到现有技术中,彩信消息头缓存在彩信业务处理系统本地,需要占用部分系统内存。在系统资源有限的情况下,只能设置短的有效时间缓存重试消息。一般有效时间设置为几个小时,这样,如果网络故障未及时恢复就会导致重试消息因超期而被丢弃。在本发明实施例的一个优选实施方式中,利用间接索引访问存储在存储器中的彩信消息体,从存储器中获取发送失败的彩信消息体包括:扫描存储器中存储有彩信消息头的信息;从信息中获取彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引;根据存储索引从存储器中获取彩信消息体。间接索引可以节省彩信业务处理系统的资源,将消息头存储在存储器中,可以将有效时间设置得长一些,对系统内存不会有影响。
[0032]优选地,上述彩信的彩信消息头还包括:彩信在存储器存储的有效时间、MMSC链路信息,在根据存储索引从存储器中获取彩信消息体之前,上述方法还包括:判断有效时间是否超期;如果超期,根据存储索引找到并删除彩信消息体;如果未超期,根据存储索引从存储器中获取彩信消息体。实际应用中,在获取消息体之前,先检测彩信的有效时间是否超期,如果超期就直接删除该消息体,以避免不必要的操作。
[0033]优选地,可以按照预设的扫描时间扫描存储器中存储有彩信消息头的信息。在实际应用中,在彩信业务处理系统中设置重试扫描定时器,该定时器到时,开始新一轮扫描。定时扫描可以实现每条彩信重试的最大次数,从而提高彩信的收发成功率。
[0034]在向MMSC重新发送彩信消息体之后,还需要根据MMSC返回的响应,判断发送是否成功,如果不成功,还要判断是否再进行重试,以保证彩信能够有足够大的机会发送成功,提高彩信收发成功率。如果MMSC返回的是成功响应,则删除存储器中的彩信消息体,及时释放空间,以存储其它内容。所以,在步骤S104之后,上述方法还包括:接收到来自MMSC的响应;关联从存储器中存储有彩信消息头的信息中获取的彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引、彩信在存储器存储的有效时间、MMSC链路信息;在响应是失败响应的情况下,根据有效时间判断是否再次重试;在响应是成功响应的情况下,根据存储索引找到并删除彩信消息体。
[0035]优选地,根据有效时间判断是否再次重试包括:判断有效时间是否超期;如果超期,根据存储索引找到并删除彩信消息体;如果未超期,将有效时间调整为当前剩余的时间,并将携带有调整后的有效时间的彩信消息头存储到信息中,等待下一次重试。本优选实施方式中,如果有效时间超期,删除彩信消息体;如果未超期,重新调整有效时间(例如,有效时间是10小时,如果未超期且剩余I小时,则将其改为I小时),再次存储彩信消息头,以备下次重试。利用有效时间可以保证重试消息队列和存储器不会因为垃圾数据而负载太重。
[0036]对于彩信是不是首次发送失败,存储到存储器中的内容是不一样的,如果是首次发送失败,则应该把彩信消息体和消息头都存入存储器,具体地,在从存储器中获取发送失败的彩信消息体之前,上述方法还包括:确定彩信是首次发送失败,对彩信的附件进行编码得到彩信消息体,并将彩信消息体存储到存储器;根据存储器返回的彩信消息体在存储器中的存储索引,构造彩信的彩信消息头,并将彩信的彩信消息头存储到信息中。本优选实施方式中,对于首次发送失败的彩信,向存储器中存储彩信消息体和消息头;而对于非首次失败的彩信,只需要判断其有效时间是否超期,超期则删除消息体,未超期则重新存储消息头。针对非首次失败的彩信,只需要在调整有效时间后,重新存储消息头,可以有效避免重复存储给系统带来的负担。
[0037]优选地,上述存储器可以采用分布式缓存。分布式缓存可以提供海量数据的分布式存储服务和高速读写访问的能力,利用分布式缓存能够提高系统的处理效率。
[0038]为了高效地获取消息头,可以在存储器中以重试消息队列的形式存储彩信消息头,重试消息队列与发送彩信的SPID 对应。本优选实施方式中,将彩信消息头存储到存储器中的重试消息队列中,根据队列的特点,依次从队首读取消息头,根据存储索引获取消息体,进行重试,若重试失败,则将调整后的消息头存储到重试消息队列的队尾,等待下一次对重试消息队列进行扫描。采用队列的形式,以SPID为关键字,一个SPID对应一个重试消息队列,可以更加高效有序地获取消息头,而不是随意抽取消息头进行重试,可以提高整个系统的处理效率。
[0039]本发明实施例还提供了 一种彩信重试装置,该彩信重试装置可以用于实现上述彩信重试方法。图2是根据本发明实施例的彩信重试装置的结构框图,如图2所示,包括获取模块202和发送模块204。下面对其结构进行详细描述。
[0040]获取模块202,用于从存储器中获取发送失败的彩信消息体,其中,彩信消息体是彩信首次发送失败后对彩信的附件进行编码而成的MM7协议码流;发送模块204,连接至获取模块202,用于向MMSC发送获取模块202获取的彩信消息体。
[0041]如图3所示,获取模块202包括:扫描单元2021,用于扫描存储器中存储有彩信消息头的信息;第一获取单元2022,连接至扫描单元2021,用于从信息中获取彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引;第二获取单元2023,连接至第一获取单元2022,用于根据存储索引从存储器中获取彩信消息体。
[0042]在一个优选实施方式中,彩信消息头还包括:彩信在存储器存储的有效时间、MMSC链路信息,如图4所示,获取模块202还包括:第一判断单元2024,连接至第一获取单元2022,用于判断第一获取单元2022获取的彩信消息头中的有效时间是否超期;第一处理单元2025,连接至第一判断单元2024,用于在有效时间超期的情况下,根据存储索引找到并删除彩信消息体;此时,第二获取单元2023,连接至第一判断单元2024,用于在有效时间未超期的情况下,根据存储索引从存储器中获取彩信消息体。
[0043]优选地,扫描单元2021包括:扫描子单元,用于按照预设的扫描时间扫描存储器中存储有彩信消息头的信息。
[0044]优选地,上述装置还包括:接收模块,连接至发送模块,用于接收来自丽SC的响应;关联模块,连接至接收模块,用于关联从存储器中存储有彩信消息头的信息中获取的彩信的彩信消息头,其中,彩信的彩信消息头包括:彩信消息体在存储器中的存储索引、彩信在存储器存储的有效时间、MMSC链路信息;判断模块,连接至关联模块,用于在接收模块接收的响应是失败响应的情况下,根据关联模块关联的彩信消息头中的有效时间判断是否再次重试;处理模块,连接至关联模块,用于在接收模块接收的响应是成功响应的情况下,根据关联模块获取的彩信消息头中的存储索引找到并删除彩信消息体。
[0045]优选地,判断模块包括:第二判断单元,用于判断有效时间是否超期;第二处理单元,连接至第二判断单元,用于在有效时间超期的情况下,根据存储索引找到并删除彩信消息体;第三处理单元,连接至第二判断单元,用于在有效时间未超期的情况下,将有效时间调整为当前剩余的时间,并将携带有调整后的有效时间的彩信消息头存储到信息中,等待下一次重试。
[0046]优选地,上述装置还包括:确定模块,用于确定彩信是首次发送失败;存储模块,连接至确定模块,用于对彩信的附件进行编码得到彩信消息体,并将彩信消息体存储到存储器;构造模块,连接至存储模块,用于根据存储器返回的彩信消息体在存储器中的存储索弓I,构造彩信的彩信消息头,此时,存储模块还用于将彩信的彩信消息头存储到信息中。
[0047]优选地,上述存储器采用分布式缓存。
[0048]优选地,在存储器中以重试消息队列的形式存储彩信消息头,重试消息队列与发送彩信的SPID——对应。
[0049]为了使本发明的目的、技术方案和实现方法更加清楚,下面结合优选的实施例进行详细说明。以下优选实施例中,以消息头存在存储器的重试消息队列中为例进行说明。
[0050]图5是根据本发明优选实施例的彩信重试系统的结构框图,如图5所示,该系统包括彩信业务处理系统52、存储器54和彩信中心56。需要说明的是,存储器54可以是高速缓存器,可以采用分布式存储。
[0051]其中,彩信业务处理系统52包括缓存控制模块522和重试模块524。
[0052]缓存控制模块522 (实现了上述接收模块、确定模块、构造模块、存储模块、判断模块、处理模块的功能)用于根据彩信中心56返回的结果判定彩信失败后是否需要重试,若需要重试且为首次失败,将彩信内容文件打包成MM7码流,再存储到存储器54,然后将存储器54返回的存储索引、消息有效时间等信息作为消息头存放至重试消息队列。
[0053]其中,彩信失败的情况包括:彩信中心响应超时或彩信中心响应错误码。若彩信中心响应超时可以直接进入重试流程;若彩信中心响应错误码,缓存控制模块522将该错误码与预先设置的可重试错误码比较,若该错误码属于可重试错误码,判定彩信需要重试。
[0054]重试消息队列以SPID为关键字分队列存储,同一个SP所发送的彩信消息头保存在同一个队列;队列索引信息存储在内存区便于检索,消息体存放在分布式缓存由索引间接访问。基于彩信失败经常由于某SP参数设置不当或SP其它问题引起,以SPID分队列存储便于根据SP情况设置不同队列的属性,如队列里消息有效时间、重发次数等。消息头包括消息体存储ID、消息有效时间和丽SC链路信息。
[0055]缓存控制模块522还用于根据消息序列号在本地查找相关信息,判断彩信消息是否首次失败。若属于非首次失败,需要调整消息头里的有效时间,将消息头存放至该SPID对应的重试消息队列的队尾,即只需要将消息头存至重试消息队列。若判定为首次失败,缓存控制模块522对彩信消息体与消息头进行缓存。
[0056]需要说明的是,需要重试彩信在进行缓存之前,判定该SPID对应的重试队列是否已满。若已满,流程结束;若未满,进行缓存。具体操作如下:若彩信首次收发失败,缓存控制模块522根据SP发送的submit请求消息里携带的附件索引到存储器54获取彩信附件(SP将彩信附件保存在存储器54),将彩信附件打包成MM7码流,将MM7码流缓存至存储器54,并删除彩信附件。存储器54保存接收到的消息体,并返回自身的内容索引给缓存控制模块522。缓存控制模块522将接收到的内容索引(存储ID)、有效时间、丽SC链路信息打包成消息头存入重试消息队列的队尾。
[0057]若判定彩信首次收发失败且需要重试后,将拼装好的彩信消息体MM7码流缓存至存储器54。此时,存储器54保存接收到的消息体后,返回内容存储索引(存储ID)给缓存控制模块522。缓存控制模块522再将彩信消息头以SPID为关键字保存至重试消息队列。其中,彩信消息头包括:消息体存储ID,重试彩信有效时间及MMSC链路信息。重试消息队列保存至存储器54以避免占用本地资源,彩信重试时直接从存储器54获取彩信消息体,直接发送编码好的码流,无需再次编码,无时间消耗。
[0058]需要说明的是,有效时间是在每个消息入队时设定的。若某条消息从重试消息队列取出重试时已然超期,则丢弃并依据消息头里的存储ID到存储器54清除MM7码流;若未超期,对消息进行重试,若所取出的消息重试再次失败,调整有效时间再次入队。缓存有效时间可以保证重试消息队列和消息缓存区不至于因垃圾数据而负载太重。
[0059]重试模块524 (实现了上述第一获取模块202和发送模块204的功能)用于定时扫描重试消息队列,取出排在队首的消息头。若消息未超期,根据消息头里的彩信存储索引到存储器54查找MM7码流,直接将MM7码流发送给彩信中心。若重试彩信再次失败,重试模块524将该消息头存放至重试消息队列的队尾,等待下一次定时扫描再进行重试。
[0060]重试的方法在于,系统空闲时,以SPID为关键字扫描重试消息队列。若该SPID对应的重试消息队列非空,将排在重试消息队列队首的消息取出进行重试,根据消息里的有效时间判定该消息是否过期,若已过期,则丢弃之并删除所述消息对应的MM7码流;若未超期,根据消息里的存储ID到存储器54查找该消息对应的丽7码流,直接将丽7码流发往MMSC,无需再次编码。需要说明的是,一次发送一个消息,待消息响应返回后,继续取出重试队列队首的消息重试,发送下一个消息,直到当前队列的消息扫描一遍,再换下一个重试消息队列扫描。具体地,若重试成功,根据消息的存储ID到存储器54查找消息体并删除消息体;若重试再次失败,判断该消息是否超期,若已超期,则丢弃并删除存储器54的消息体,否则调整有效时间,将消息头存放到该SPID对应的重试消息队列队尾,继续处理该重试消息队列的下一个消息。
[0061]存储器54用于存储SP服务器发送过来的原始彩信附件;还用于存储缓存控制模块522编码完成的丽7码流,并返回自身的存储索引以及重试消息队列对应的关键字SPID给缓存控制模块522 ;还用于存储重试消息队列;还用于在接收到存储索引或消息队列获取请求时,返回相应的消息体给彩信业务处理系统52。
[0062]图6是根据本发明优选实施例的彩信重试方法的流程图一,如图6所示,描述的是彩信业务处理系统52收到MMSC返回的错误响应,缓存控制模块522进行重试判定以及消息(即彩信)缓存的处理流程,包括如下步骤:
[0063]S602,接收彩信中心56返回的失败响应,包括响应超时的情况。
[0064]S604,根据返回的错误码,到预先设定的可重试错误码里查找,若能查找到(即判定该消息需要重试),则转入步骤S606 ;否则,本次消息处理流程结束。
[0065]S606,根据消息序列号判断消息是否首次失败,若是,转入步骤S608 ;否则该消息属于重试后再次失败消息,转入步骤S616。
[0066]S608,缓存控制模块522判断该消息的SPID对应的重试消息队列是否未满,若是,转入步骤S610 ;否则丢弃该消息,本次重试流程结束。
[0067]S610,根据SP发送消息时,submit消息里携带的彩信附件索引,到存储器54中查找附件。
[0068]S612,将彩信附件编码打包成MM7码流,再把MM7码流发送给存储器54。
[0069]S614,存储器54接收并存储丽7码流,返回自身的存储索引(存储ID)给缓存控制模块522,转入步骤S622。
[0070]S616,缓存控制模块522判定该消息属于重试后再次失败消息,根据消息头里的有效时间判断该消息是否超期,若已超期,转入步骤S618 ;否则转入步骤S620。
[0071]S618,根据消息头里的消息体存储ID,到存储器54查找MM7码流并进行删除,以清理垃圾数据,本次流程结束。
[0072]S620,调整消息头里剩余的有效时间。
[0073]S622,缓存控制模块522将消息体存储ID、有效时间、MMSC链路信息作为消息头存入该消息SPID对应的重试消息队列的队尾,本次消息缓存流程结束。
[0074]图7是根据本发明优选实施例的彩信重试方法的流程图二,如图7所示,描述的是重试模块524定时扫描重试消息队列以及进行消息(即彩信)重试的处理流程,包括如下步骤:
[0075]S702,系统空闲,重试扫描定时器时间到,开始执行任务。
[0076]S704,扫描SPID对应的重试消息队列。
[0077]S706,判断该SPID对应的重试消息队列是否非空,若是,则转入步骤S708 ;否则转入步骤S726。
[0078]S708,重试模块524取出重试消息队列的第一个彩信消息头,并根据该消息头中的有效时间判断消息是否超期,若是,则转入步骤S722 ;否则转入步骤S710。
[0079]S710,根据所获取消息头里的存储索引,到存储器54查找消息对应的MM7码流。
[0080]S712,存储器54返回存储的SPID对应的丽7码流给重试模块524。
[0081]S714,重试模块524直接将MM7码流发送至彩信中心56。
[0082]S716,判断彩信中心56返回的响应是否成功,若是,则转入步骤S722 ;否则转入步骤 S718。
[0083]S718,重试模块524判断该消息是否超期,若是,转入步骤S722 ;否则转入步骤S720。[0084]S720,重试模块调整消息头里的剩余有效时间,再将消息头存入该消息SPID对应的重试消息队列的队尾。
[0085]S722,根据消息头里的存储索引到存储器54查找MM7码流,删除垃圾数据。
[0086]S724,判断该SPID对应的重试消息队列中的消息头是否已经扫描一遍,若已经扫描一遍换下一个SPID扫描,即判断当前所有SPID的重试消息队列中的消息头是否都扫描了一遍,若是,转入步骤S726 ;否则转入步骤S706,继续扫描重试队列。
[0087]S726,本次重试扫描完成,等待扫描定时器下一次执行任务。
[0088]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0089]综上所述,根据本发明的上述实施例,提供了 一种彩信重试方法及装置。根据彩信数据庞大而重试消息内容一样的特点,将编码完整的消息码流存储在存储器,由索引间接访问,避免了重试过程中多次到NAS存储器读取附件引起的IO瓶颈问题,节省了系统资源,同时减少了对彩信内容文件编码的次数,极大提高了彩信业务处理系统的处理能力,提高了用户体验的目的。
[0090]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0091]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种彩信重试方法,其特征在于包括: 从存储器中获取发送失败的彩信消息体,其中,所述彩信消息体是彩信首次发送失败后对所述彩信的附件进行编码而成的MM7协议码流; 向彩信中心MMSC发送所述彩信消息体。
2.根据权利要求1所述的方法,其特征在于,从存储器中获取发送失败的彩信消息体包括: 扫描所述存储器中存储有彩信消息头的信息; 从所述信息中获取所述彩信的彩信消息头,其中,所述彩信的彩信消息头包括:所述彩信消息体在所述存储器中的存储索引; 根据所述存储索引从所述存储器中获取所述彩信消息体。
3.根据权利要求2所述的方法,其特征在于,所述彩信消息头还包括:所述彩信在所述存储器存储的有效时间、MMSC链路信息,在根据所述存储索引从所述存储器中获取所述彩信消息体之前,所述方法还包括: 判断所述有效时间是否超期; 如果超期,根据所述存储索引找到并删除所述彩信消息体; 如果未超期,根据所述存储索引从所述存储器中获取所述彩信消息体。
4.根据权利要求2所述的方法,其特征在于,扫描所述存储器中存储有彩信消息头的信息包括: 按照预设的扫描时间扫描所述存储器中存储有彩信消息头的信息。
5.根据权利要求1所述的方法,其特征在于,在向MMSC发送所述彩信消息体之后,所述方法还包括: 接收到来自所述丽SC的响应; 关联从所述存储器中存储有彩信消息头的信息中获取的所述彩信的彩信消息头,其中,所述彩信的彩信消息头包括:所述彩信消息体在所述存储器中的存储索引、所述彩信在所述存储器存储的有效时间、MMSC链路信息; 在所述响应是失败响应的情况下,根据所述有效时间判断是否再次重试; 在所述响应是成功响应的情况下,根据所述存储索引找到并删除所述彩信消息体。
6.根据权利要求5所述的方法,其特征在于,根据所述有效时间判断是否再次重试包括:判断所述有效时间是否超期; 如果超期,根据所述存储索引找到并删除所述彩信消息体; 如果未超期,将所述有效时间调整为当前剩余的时间,并将携带有调整后的有效时间的所述彩信消息头存储到所述信息中,等待下一次重试。
7.根据权利要求2至6中任一项所述的方法,其特征在于,在从存储器中获取发送失败的彩信消息体之前,所述方法还包括: 确定所述彩信是首次发送失败,对所述彩信的附件进行编码得到所述彩信消息体,并将所述彩信消息体存储到所述存储器; 根据所述存储器返回的所述彩信消息体在所述存储器中的存储索引,构造所述彩信的彩信消息头,并将所述彩信的彩信消息头存储到所述信息中。
8.根据权利要求2至6中任一项所述的方法,其特征在于,在所述存储器中以重试消息队列的形式存储所述彩信消息头,所述重试消息队列与发送所述彩信的业务标识SPID--对应。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述存储器采用分布式缓存。
10.一种彩信重试装置,其特征在于包括: 获取模块,用于从存储器中获取发送失败的彩信消息体,其中,所述彩信消息体是彩信首次发送失败后对所述彩信的附件进行编码而成的MM7协议码流; 发送模块,用于向彩信中心MMSC发送所述彩信消息体。
【文档编号】H04W4/12GK103517225SQ201210214938
【公开日】2014年1月15日 申请日期:2012年6月27日 优先权日:2012年6月27日
【发明者】胡丽蓉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1