公共电话网短消息系统中快速下发短消息的方法 【技术领域】
本发明涉及公共电话网的短消息系统,具体地说,涉及一种提高从公共电话网短消息平台向终端下发短消息速度的方法。背景技术
公共电话网短消息是一项新的电信业务,其功能是向公共电话网(PSTN)的用户提供短消息服务。在公共电话网中实现短消息发送的方式是基于话路的,公共电话网的短消息平台在每一次向用户发送短消息时,需首先和用户终端建立连接,然后再将短消息发送到终端,发送完成后切断与用户终端的连接。但是,如果每发送一条短消息都要按上述建链、下发、断链三步骤来完成,则会存在下列问题:首先是效率低下,因为从下发单条短消息来讲,上述建链和断链步骤所需的时间大于下发的时间,如果发往一个用户的短消息很多,那么需要频繁地建链和断链,效率显然很低;其次从用户的角度来看,当他在接收多条短消息时,由于每条短消息都需要上述三个步骤,必然会造成下发时间的延长,对用户使用终端造成不便。因此在公共电话网短消息中规定了在线下发的概念,即一次建链可以下发多条短消息,其步骤是建链、下发短消息1、下发短消息2、……下发短消息n、断链。
图1是公共电话网短消息系统的示意图。终端作为短消息的收发装置,通过用户线接入公共电话网中;短消息平台主要包括存储转发模块和下发模块;下发模块用于下发短消息,通过基于TCP/IP协议的SMPP(Short Message Peer toPeer)协议与存储转发模块通信,通过中继接入公共电话网;存储转发模块用于完成短消息地存储转发,通过基于TCP/IP协议的SMPP协议与下发模块通信。
目前一种实现公共电话网中短消息下发的方法是,首先短消息平台与用户终端建立连接,短消息平台向终端下发第一条短消息,同时,平台中的存储转发模块通过标志告诉下发模块是否存在后续短消息等待发送,如果标志为存在,则下发模块在下发完第一条短消息后,等待存储转发模块发送下一条短消息;如果标志为不存在,则下发模块在下发完第一条短消息后,切断与用户终端的连接。
该方法虽然可以提高从短消息平台向终端下发短消息的速度,但是存在以下缺陷。首先,该方法无法实现在一次连接中将尽可能多的短消息下发到终端。因为短消息下发模块是在短消息下发完成后根据标志值来保持或切断与终端的连接的,而标志是随短消息下发时更新的,当标志为没有,并且下发模块在下发短消息时,存储转发模块收到一条目的地址相同的短消息时,标志无法更新,这样的话,当短消息下发完成后,下发模块根据已有标志(没有)切断和终端的连接,但事实上平台还有后续的短消息。其次,增大了平台设备的投入。由于平台需要频繁地与终端建立或切断连接,造成中继资源无法充分利用,所以必须增加平台的中继资源。同时,由于平台须暂存短消息,增加了平台的存储容量。发明内容
本发明所要解决的技术问题在于提供一种公共电话网短消息系统中快速下发短消息的方法,可以使得短消息平台在与终端一次建立连接后将尽可能多的短消息下发到终端,同时减少对短消息平台设备的投入。
本发明快速下发短消息的方法,包括以下步骤:
一、短消息平台中的存储转发模块向下发模块下发一条短消息;
二、下发模块根据短消息所带的目的地址与终端建立连接;
三、下发模块向终端下发一条短消息;
四、终端收到短消息后向下发模块发送下发结果消息,下发模块保持与终端的连接,同时向存储转发模块转发下发结果消息;
五、存储转发模块接收到下发结果消息后,检查存储区,查找是否有目的地址相同的短消息,如果有,转至步骤六,否则转至步骤七;
六、存储转发模块向下发模块发送目的地址相同的短消息,转入步骤三;
七、下发模块切断与终端的连接。
本发明所述下发短消息的方法,提高了短消息的发送效率,可以尽快将短消息发送给用户,避免造成短消息在平台上的积压;同时在一次连接期间,可以发送尽可能多的短消息,无需频繁占用中继资源,也减少了对平台的存储容量的要求。附图说明
图1是公共电话网中短消息系统的示意图。
图2是本发明下发短消息方法的流程图。
图3是下发模块的处理流程图。
图4是存储转发模块的和下发模块之间的交互处理流程图。具体实施方式
下面结合附图和实施例,进一步具体说明本发明的方法。
如图1所示,下发模块和存储转发模块是短消息平台中的两个功能实体,实现向终端发送短消息。其中,下发模块完成的功能是:与终端建立连接、向终端下发短消息、接收终端的下发结果消息、切断和终端的连接、接收存储转发模块下发的短消息、向存储转发模块转发下发结果消息等;存储转发模块则完成暂存短消息、向下发模块发送短消息、接收下发模块转发的下发结果消息等功能。一个短消息平台可以接有多个终端。
本发明所述方法的具体流程图如图2所示。当下发模块接收到存储转发模块下发的短消息后,根据目的地址查找相应的终端,如果短消息平台与该终端已经建立了连接,那么就直接向该终端下发短消息;如果短消息平台与该终端没有建立连接,则短消息平台先和该终端建立连接,然后下发短消息。在下发模块接收到终端的下发结果消息后,将该下发结果消息转发到存储转发模块,存储转发模块收到转发的下发结果消息后检查其存储区,如果存储区中暂存有目的地址相同的短消息,则立即向下发模块下发,下发模块继续向终端发送短消息,否则下发模块切断平台和终端的连接,结束本次下发短消息。
在一次下发短消息的过程中,下发模块收到存储转发模块下发的短消息后,检查短消息的目的地址。如果短消息平台已经和对应的终端建立连接,则直接下发短消息;如果平台还没有和终端建立连接,则先建立连接,然后下发短消息。当下发短消息结束后,下发模块等待终端应答的下发结果消息,收到后向存储转发模块进行转发。其具体过程如图3所示。
而对存储转发模块来说,在向下发模块下发了短消息后,就等待下发模块转发的下发结果消息,当收到该下发结果消息后,存储转发模块马上检查是否还有目的地址相同的短消息需要下发,如果有,则立即向下发模块下发该消息;如果没有则结束此次短消息下发。存储转发模块的具体处理流程如图4。