CN102986173B - 消息状态设置方法和cpm业务服务器 - Google Patents

消息状态设置方法和cpm业务服务器 Download PDF

Info

Publication number
CN102986173B
CN102986173B CN201180001340.0A CN201180001340A CN102986173B CN 102986173 B CN102986173 B CN 102986173B CN 201180001340 A CN201180001340 A CN 201180001340A CN 102986173 B CN102986173 B CN 102986173B
Authority
CN
China
Prior art keywords
message
cpm
storage server
user terminal
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180001340.0A
Other languages
English (en)
Other versions
CN102986173A (zh
Inventor
梁刚
牟伦建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102986173A publication Critical patent/CN102986173A/zh
Application granted granted Critical
Publication of CN102986173B publication Critical patent/CN102986173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种消息状态设置方法和业务服务器。一种消息状态设置方法包括:接收消息;确定所述消息需要提交存储服务器存储,向所述存储服务器发送包括所述消息的消息存储请求;确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;接收到所述用户终端返回的接收响应时,确定CPM存储服务器中存储有与所述接收响应对应的消息且根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。因此,存储服务器中保存的消息的阅读状态与用户终端对该消息的接收状态保持一致。

Description

消息状态设置方法和CPM业务服务器
技术领域
本发明实施例涉及通信技术,尤其涉及一种消息状态设置方法和CPM业务服务器。
背景技术
开放移动联盟(Open Mobile Alliance,简称OMA)致力于部署一键通(Push to talk Over Cellular,简称PoC)、即时消息(Instant Message,简称IM)、以及融合互联网协议(internet protocol,简称IP)消息(Converged InternetProtocol Message,简称CPM)等移动数据业务规范。为了在异构环境下为用户提供更好的业务体验,OMA CPM规范为用户提供各种媒体类型(文本、图片、语音、视频)消息递送、会话建立和网络存储等服务。
CPM标准定义有两个服务器:CPM业务服务器和CPM存储服务器,用户同样有两个客户端:基于初始会话协议(Session Initiated Protocol,简称SIP)的CPM客户端和互联网消息访问协议(Internet Message Access Protocol,简称IMAP)客户端,二者不一定同时在线。当有消息到达业务服务器后,CPM业务服务器会根据用户设置等,将消息发送给终端和/或CPM消息存储服务器。通常情况下IMAP客户端只在终端和CPM消息存储服务器同步和对CPM消息存储服务器存储消息情况下在线。根据CPM的需求,当有消息到达CPM业务服务器后,CPM业务服务器会根据用户设置等,将消息发送给终端和/或CPM消息存储服务器。由于用户终端性能、用户设置的不同,CPM业务服务器不是将所有消息都会发送到用户终端,也不是将所有的消息都存储到CPM存储服务器。在CPM业务服务器将接收到的消息同时发送给CPM存储服务器和用户终端情况下,若CPM存储服务器中存储有该消息的阅读状态,CPM存储服务器中存储的该消息的阅读状态有可能与用户终端关于该消息的状态不一致。
发明内容
本发明实施例提供一种消息状态设置方法和CPM业务服务器,用以解决CPM存储服务器中存储的消息的阅读状态,与用户终端关于该消息的阅读状态不一致的问题。
本发明一方面提供一种消息状态设置方法,包括:
接收消息;确定所述消息需要提交存储服务器存储,向所述存储服务器发送包括所述消息的消息存储请求;确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;
接收到所述用户终端返回的接收响应时,确定CPM存储服务器中存储有与所述接收响应对应的消息且根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。
本发明一方面提供一种CPM业务服务器,包括:
接收模块,用于接收消息;消息存储请求模块,用于确定所述消息需要提交CPM存储服务器存储,向所述CPM存储服务器发送包括所述消息的消息存储请求;
发送模块,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;
所述接收模块,还用于接收所述用户终端返回的接收响应;
状态修改请求模块,用于接收到所述用户终端返回的接收响应,确定CPM存储服务器中存储有与所述接收响应对应的消息,且根据所述接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。
本发明一方面提供的一种消息状态设置方法和CPM业务服务器,CPM业务服务器确定需要向CPM存储服务器提交接收到的新的消息时,将该消息发送给CPM存储服务器。CPM存储服务器接收到没有标识阅读状态的消息后,CPM存储服务器默认该消息的阅读状态为未读。如果CPM业务服务器需要向用户终端发送该消息,后续如果根据所述用户终端返回的接收响应确定的所述消息的阅读状态为已读时,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据用户终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的接收状态保持一致。可避免CPM存储服务器向用户终端发送用户终端已成功接收到的消息,节省了资源。同样还避免了用户终端重复接收已阅读的消息,提高了用户体验。
本发明另一方面还提供另一种消息状态设置方法,包括:
接收消息;确定需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端,将所述消息的阅读状态标识为已读;向所述CPM存储服务器发送消息存储请求,并向所述用户终端发送所述消息;所述消息存储请求中包括所述消息和所述消息的阅读状态;接收所述用户终端返回的接收响应,根据所述用户终端返回的接收响应确定的所述消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
本发明另一方面还提供另一种CPM业务服务器,包括:
接收模块,用于接收消息;确定模块,用于确定需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端,将所述消息的阅读状态标识为已读消息存储请求模块,用于向所述CPM存储服务器发送消息存储请求,所述消息存储请求中包括所述消息和所述消息的阅读状态;发送模块,用于向所述用户终端发送所述消息;所述接收模块进一步用于接收所述用户终端返回的接收响应;状态修改请求模块,用于根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
本发明另一方面提供的另一种消息状态设置方法和CPM业务服务器,CPM业务服务器需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端时,CPM业务服务器将所述消息的阅读状态标识为已读,在向CPM存储服务器消息存储请求时携带该消息的阅读状态即已读,使CPM存储服务器存储该消息的阅读状态。根据所述用户终端返回的接收响应确定的所述消息的阅读状态,如果与消息存储请求中所述消息的阅读状态不一致,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据用户终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的阅读状态保持一致。
本发明又一方面还提供又一种消息状态设置方法,包括:
接收消息;确定所述消息需要提交CPM存储服务器存储,缓存所述消息;确定所述消息需要发送到用户终端,向所述用户终端发送所述消息,并接收到所述用户终端返回的接收响应;确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态;向所述CPM存储服务器发送消息存储请求,所述消息存储请求包括缓存的各消息和各消息的阅读状态。
本发明又一方面还提供又一种CPM业务服务器,包括:
接收模块,用于接收消息;缓存模块,用于确定所述消息需要提交CPM存储服务器存储,并缓存所述消息;发送模块,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;接收模块,用于接收所述用户终端返回的接收响应;状态标识模块,用于确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态;消息存储请求模块,用于向所述CPM存储服务器发送消息存储请求,所述消息存储请求包括缓存的各消息和各消息的对应的阅读状态。
本发明又一方面提供的又一种消息状态设置方法和CPM业务服务器,CPM业务服务器接收到消息后,先缓存需要提交至CPM存储服务器的消息,对于缓存的需要发送至用户终端的消息,CPM业务服务器根据用户终端返回的接收响应标识缓存的各消息的阅读状态。CPM业务服务器将缓存的消息及其阅读状态批量发送给CPM存储服务器进行存储。因此,对于需要提交至CPM存储服务器存储且同时需要发送至用户终端的消息,CPM存储服务器中保存的该消息的阅读状态与用户终端关于该消息的阅读状态保持一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种消息状态设置方法实施例一流程图;
图2为本发明提供的一种消息状态设置方法实施例二流程图;
图3为本发明提供的另一种消息状态设置方法实施例一流程图;
图4为本发明提供的另一种消息状态设置方法实施例二流程图;
图5为本发明提供的又一种消息状态设置方法实施例一流程图;
图6为本发明提供的又一种消息状态设置方法实施例二流程图;
图7A为本发明提供的一种CPM业务服务器实施例一结构示意图;
图7B为本发明提供的一种CPM业务服务器实施例二结构示意图;
图8为本发明提供的另一种CPM业务服务器实施例结构示意图;
图9A为本发明提供的又一种CPM业务服务器实施例一结构示意图;
图9B为本发明提供的又一种CPM业务服务器实施例二结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中CPM业务服务器可为用户签约消息业务服务器,例如CPM PF(Participating Function)Server,CPM存储服务器可为CPM消息存储服务器(CPM Message Storage Server),用户终端可为用户消息客户端,例如CPM客户端(CPM Client)。CPM业务服务器和CPM存储服务器可为计算机等设备,用户终端可以是手机,笔记本电脑,数字机顶盒、个人数字助理等。如下实施例的各方法中,CPM业务服务器执行的各步骤以及CPM业务服务器各模块执行的功能均可由计算机等设备的处理器执行。与此相似,CPM存储服务器执行的各步骤以及CPM存储服务器各模块执行的功能也均可由计算机等设备的处理器执行。
图1为本发明提供的一种消息状态设置方法实施例一流程图。如图1所示,本实施例包括:
步骤11;CPM业务服务器接收消息。
一个用户向另一个用户发送新的消息时,作为发送方的用户通过CPM业务服务器向接收方用户发送新的消息。
步骤12:确定该消息需要提交CPM存储服务器存储,CPM业务服务器向所述CPM存储服务器发送包括该消息的消息存储请求。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否提交至CPM存储服务器”选择的意愿,判断该消息是否需要提交CPM存储服务器存储。通常情况下,用户在签约信息中选择“用户在线时向CPM存储服务器提交接收到的消息,用户离线时不向CPM存储服务器提交接收到的消息”。进一步,用户在签约信息中选择“用户在线但消息的内容长度超过预设值时,不向CPM存储服务器提交接收到的消息”。
CPM业务服务器确定该消息需要提交CPM存储服务器存储时,将该消息发送给CPM存储服务器。CPM存储服务器接收到消息存储请求后,如果消息存储请求中没有标识消息的阅读状态,CPM存储服务器默认该消息的阅读状态为未读。CPM存储服务器存储该消息和该消息的阅读状态后,向CPM业务服务器返回存储响应。
步骤13:确定所述消息需要发送到用户终端,CPM业务服务器向所述用户终端发送该消息。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否发送至用户终端”选择的意愿,判断该消息是否需要发送到接收方用户的用户终端。通常情况下,用户在签约信息中选择“用户在线时向用户终端发送接收到的消息,用户离线时不向用户终端发送接收到的消息”。进一步,用户在签约信息中选择“用户在线但用户状态为忙碌或免打扰时,不向用户终端发送接收到的消息”。
步骤14:CPM业务服务器接收到用户终端返回的接收响应,确定CPM存储服务器中存储有与接收响应对应的消息,且根据用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向CPM存储服务器发送消息状态修改请求,消息状态修改请求中消息的阅读状态为已读。
CPM业务服务器向用户终端发送该消息后,会接收到用户终端返回的接收响应。CPM业务服务器可通过自身缓存的CPM存储服务器返回的存储响应,判断用户终端返回的与接收响应对应的该消息是否已存储在CPM存储服务器。确定与接收响应对应的消息已存储在存储服务器时,CPM业务服务器确定接收响应对应消息的阅读状态。接收响应表示用户终端接收失败时,CPM业务服务器确定接收响应对应消息的阅读状态为未读;接收响应表示用户接收成功时。CPM业务服务器确定接收响应对应消息的阅读状态为已读。接收响应对应消息的阅读状态为已读时,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,请求将CPM存储服务器中该消息的阅读状态修改为已读,使CPM存储服务器中该消息的阅读状态与用户终端关于该消息的阅读状态保持一致。
CPM业务服务器可有多种方法判断与用户终端返回的接收响应对应的该消息是否已存储在CPM存储服务器,以下举例说明:
一种方法是:通过CPM业务服务器为消息分配唯一标识(MID)来判断。
CPM业务服务器确定消息需要提交至CPM存储服务器时,可为该消息分配唯一标识(MID),将包括MID的该消息携带在消息存储请求中发送给CPM存储服务器,CPM存储服务器返回存储响应时,将该消息的MID携带在存储响应中,在确定需要向用户终端发送该消息时,CPM业务服务器将包括有MID的该消息发送给用户终端。CPM业务服务器向用户终端发送该消息后,会接收到用户终端返回的携带MID的接收响应。CPM业务服务器根据接收响应中的MID,查找缓存的存储响应,如果查找到与包括接收响应中MID的存储响应,确定与接收响应对应的消息已存储在存储服务器。
另一种方法是:通过CPM存储服务器为消息分配唯一标识(UID)来判断。
CPM存储服务器返回存储响应中还可包括CPM存储服务器为该消息分配的唯一标识(UID)。在确定需要向用户终端发送该消息时,CPM业务服务器将包括有UID的该消息发送给用户终端。CPM业务服务器向用户终端发送该消息后,会接收到用户终端返回的携带UID的接收响应。CPM业务服务器根据接收响应中的UID,查找缓存的存储响应,如果查找到与包括接收响应中UID的存储响应,确定与接收响应对应的消息已存储在存储服务器。
在本发明实施例中,如果CPM业务服务器确定不需要向CPM存储服务器提交接收到的消息,无论该消息是否需要发送至用户终端,在接收消息阶段,CPM业务服务器不再对该消息的阅读状态进行维护。另外,如果CPM业务服务器确定需要向CPM存储服务器提交该消息而不需要向用户终端发送该消息,在CPM业务服务器向CPM存储服务器发送消息存储请求后,在CPM业务服务器接收消息阶段,CPM业务服务器不再对该消息的阅读状态进行维护。
本发明实施例的消息状态设置方法,CPM业务服务器确定需要向CPM存储服务器提交接收到的消息时,将该消息发送给CPM存储服务器。CPM存储服务器接收到消息存储请求后,如果消息存储请求中没有标识消息的阅读状态,CPM存储服务器默认该消息的阅读状态为未读。如果CPM业务服务器需要向用户终端发送该消息,后续如果根据所述终端返回的接收响应确定的所述消息的阅读状态为已读时,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的接收状态保持一致,可避免CPM存储服务器向用户终端发送用户终端已成功接收到的消息,节省了资源。同样还避免了用户终端重复接收已阅读的消息,提高了用户体验。
图2为本发明提供的一种消息状态设置方法实施例二流程图。本实施例为图1对应实施例的细化流程。如图2所示,本实施例包括:
步骤1a:CPM业务服务器接收消息。
例如,CPM业务服务器为CPM PF Server,CPM PF Server接收CPMMessage,该CPM Message可以是Page Mode消息,例如:SIP MESSAGE;或者,该CPM Message可以是Large Mode消息,例如:MSRP SENDMESSAGE。MSRP的英文全称为:Message Session Relay Protocol。其中,SIPMESSAGE为单次发送,且每次发送的字节数有限制,每次只能发送13022个字节。而MSRP SEND MESSAGE通过专用信道进行发送,且每次发送的字节数没有限制。
步骤2a:CPM业务服务器判断该消息是否需要提交CPM存储服务器存储。
CPM业务服务器可根据与该消息对应的接收方用户的签约信息,例如,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否提交至CPM存储服务器”选择的意愿,判断该消息是否需要提交CPM存储服务器存储。通常情况下,用户在签约信息中选择“用户在线时向CPM存储服务器提交接收到的消息,用户离线时不向CPM存储服务器提交接收到的消息”。进一步,用户在签约信息中选择“用户在线但消息的内容长度超过用户预设值时,不向CPM存储服务器提交接收到的消息”。
CPM业务服务器确定该消息不需要提交CPM存储服务器存储时,直接执行步骤5a,否则执行步骤3a。
步骤3a:CPM业务服务器确定该消息需要提交CPM存储服务器存储时,向CPM存储服务器发送包括该消息的消息存储请求。
步骤4a:CPM存储服务器根据消息存储请求存储该消息,并向CPM业务服务器返回存储响应。
CPM存储服务器接收没有标识阅读状态的消息后,CPM存储服务器默认该消息的阅读状态为未读。以基于IMAP协议的CPM消息存储服务器为例,消息存储请求可为IMAPAPPEND消息。基于IMAP协议的CPM消息存储服务器接收到消息存储请求,如果消息存储请求中携带的消息没有标识阅读状态,默认该消息的阅读状态为“/Recent”(表示该消息为消息)或“/Unseen”(表示该消息未读)。
进一步,在步骤4a中,CPM存储服务器返回的存储响应还可包括CPM存储服务器存储该消息时为该消息分配的唯一标识。
步骤5a:CPM业务服务器判断该消息是否需要发送至用户终端。CPM业务服务器确定该消息不需要发送至用户终端时,该消息的接收流程结束,否则执行步骤6a。
步骤6a:CPM业务服务器确定需要发送至用户终端时,向用户终端发送该消息。
CPM业务服务器确定需要发送至用户终端时,可为该消息分配标识(MID)。CPM业务服务器也可以在确定向CPM存储服务器提交接收到的消息时,就为该消息分配标识(MID),确定需要发送至用户终端时将携带有MID的该消息发送给用户终端。CPM业务服务器向用户终端发送该消息可以是,CPM PF Server向CPM Client发送SIP MESSAGE或者发送MSRP SEND消息。
进一步,如果在步骤4a中包括CPM存储服务器为该消息分配的唯一标识(UID)时,CPM业务服务器向用户终端发送该消息时还携带有UID。在CPM存储服务器将消息同步到用户终端时,除了将阅读状态为“未读”的消息同步到用户终端外,同时还检查存储服务器中阅读状态为“已读”的消息是否与用户终端保存的消息是否一致,即进行消息一致性检查。如果不一致,CPM存储服务器将与用户终端不一致的消息同步到用户终端。由于CPM存储服务器有可能不能识别MID,或CPM存储服务器保存的消息中不包括MID,因此通过MID检查消息的一致性时,还需要采用其它的辅助信息和方法,从而实现时复杂度较高。而用户终端中保存的消息包括有UID时,可通过消息的UID的一致性判断用户终端保存的消息是否与CPM存储服务器保存的消息一致。因此,通过检查UID可降低CPM存储服务器将消息同步到用户终端时,检查消息一致性时的复杂度。
通常情况下,CPM存储服务器可在预设时间到达时自动进将消息同步到用户终端;CPM存储服务器也可以在用户上线时,根据用户终端的主动请求将消息同步到用户终端;CPM存储服务器也可以按照其它预设规定将消息同步到用户终端。
步骤7a:用户终端向CPM业务服务器返回接收响应。
例如,接收响应为“OK”时,表示用户终端接收成功;接收响应为“Error”时,表示用户终端接收失败。
步骤8a:CPM业务服务器判断该消息是否已存储在CPM存储服务器。CPM业务服务器确定该消息已存储在CPM存储服务器时,执行步骤9a,否则本流程结束。
CPM业务服务器可通过自身缓存的CPM存储服务器返回的存储响应,判断与用户终端返回的接收响应对应的消息是否已存储在CPM存储服务器。例如,CPM业务服务器可根据接收响应中携带的CPM业务服务器为该消息分配的标识(MID),查找缓存的存储响应。如果查找到与该MID对应的存储响应,则确定该消息已存储在CPM存储服务器。进一步,如果存储响应中包括CPM存储服务器为该消息的唯一标识(UID),CPM业务服务器也可根据接收响应中携带的UID查找缓存的存储响应,如果查找到与该UID对应的存储响应,则确定该消息已存储在CPM存储服务器。另外,判断接收响应对应的该消息是否已存储在CPM存储服务器的方法有多种实现方式,不再一一列举。
步骤9a:在该消息已存储在CPM存储服务器时,CPM业务服务器根据接收响应确定该消息的阅读状态。
具体的,如果接收响应为“OK”时,表示用户终端接收成功,该消息的阅读状态为已读;如果接收响应为“Error”时,表示用户终端接收失败,该消息的阅读状态为未读。
步骤10a:CPM业务服务器判断根据接收响应确定的该消息的阅读状态是否为未读。
CPM业务服务器根据接收响应确定该消息的阅读状态为未读时,不需要修改存储服务器中该消息的阅读状态,本流程结束。CPM业务服务器根据接收响应确定该消息的阅读状态为已读时,执行步骤11a。
步骤11a:CPM业务服务器根据接收响应确定该消息的阅读状态为已读时,向CPM存储服务器发送消息修改请求,请求CPM存储服务器将该消息的阅读状态修改为已读。
步骤12a:CPM存储服务器根据消息修改请求,将该消息的阅读状态修改为已读,向CPM业务服务器返回修改响应。之后本流程结束。
以CPM PF Server和基于IMAP协议的CPM消息存储服务器为例,CPMPF Server向基于IMAP协议的CPM消息存储服务器发送IMAP STORE,CPM消息存储服务器将该消息的阅读状态修改Unseen(表示该消息已读)。在基于IMAP协议的消息领域中,用户上线时,基于IMAP协议的CPM消息存储服务器需通知用户未读邮件和未读邮件的数量。通过本实施例提供的方法,消息存储服务器向用户通知的未读邮件,均是CPM PF Server没有发送给用户终端(或没有成功发送给用户终端)的消息。因此基于IMAP协议的CPM消息存储服务器中邮件的阅读状态与用户终端上关于该邮件的阅读状态保持一致。而现有技术中,由于基于IMAP协议的CPM消息存储服务器接收到业务服务器转发的消息后,如果业务服务器没有标识阅读状态,则默认该消息的阅读状态为未读。因此,如果基于IMAP协议的CPM消息存储服务器中存储的该消息在会话过程中已成功发送给了用户终端,而基于IMAP协议的CPM消息存储服务器中存储的该消息的阅读状态仍为未读,从而导致基于IMAP协议的CPM消息存储服务器中邮件的阅读状态与用户终端上关于该邮件的阅读状态不一致,从而导致用户再次上线时,基于IMAP协议的CPM消息存储服务器仍要向用户终端发送述用户终端已成功接收到的消息或邮件,不但会导致的资源的浪费,更加使得用户重复接收,影响用户体验。
进一步,如果步骤4a中,CPM存储服务器的存储响应中包括存储服务器为该消息分配的唯一标识,则在步骤11a中CPM业务服务器向存储服务器发送的消息修改请求中还包括CPM存储服务器为该消息分配的唯一标识。CPM存储服务器可根据该消息的唯一标识查找到该消息后,修改该消息的阅读状态。
本实施例CPM业务服务器向用户终端发送接收到的消息后,在确定该消息已存储至CPM存储服务器时,根据用户终端返回的接收响应确定该消息的阅读状态为未读时,请求CPM存储服务器修改该消息的阅读状态。CPM业务服务器向用户终端发送接收到的消息后,确定该消息没有存储至CPM存储服务器时,在消息接收阶段,CPM业务服务器不必对该消息的阅读状态进行维护。同样,在CPM业务服务器向CPM存储服务器提交接收到的消息后,若不需要向用户终端发送该消息,在消息接收阶段,CPM业务服务器不必对该消息的阅读状态进行维护。
图3为本发明提供的另一种消息状态设置方法实施例一流程图。本实施例与图1或图2的区别在于,在图1或图2中,CPM业务服务器在向CPM存储服务器发送消息时,不考虑是否需要将该消息发送至用户终端,直接将该消息发送至CPM存储服务器,CPM存储服务器默认该消息的阅读状态为未读。而本实施例中,CPM业务服务器在向CPM存储服务器发送消息之前,还考虑到是否需要向用户终端发送至用户终端,并标识该消息的阅读状态,并将标识有阅读状态的消息发送给CPM存储服务器。如图3所示,本实施例包括:
步骤31;CPM业务服务器接收消息。
步骤32;确定需要提交消息至CPM存储服务器且需要发送消息至用户终端,CPM业务服务器将消息的阅读状态标识为已读,向CPM存储服务器发送消息存储请求,并向用户终端发送消息;消息存储请求中包括消息和消息的阅读状态。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否提交至CPM存储服务器”选择的意愿,判断该消息是否需要提交CPM存储服务器存储。通常情况下,用户在签约信息中选择“用户在线时向CPM存储服务器提交接收到的消息,用户离线时不向CPM存储服务器提交接收到的消息”。进一步,用户在签约信息中选择“用户在线但消息的内容长度超过用户预设值时,不向CPM存储服务器提交接收到的消息”。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否发送至用户终端”选择的意愿,判断该消息是否需要发送到接收方用户的用户终端。通常情况下,用户在签约信息中选择“用户在线时向用户终端发送接收到的消息,用户离线时不向用户终端发送接收到的消息”。进一步,用户在签约信息中选择“用户在线但用户状态为忙碌或免打扰时,不向用户终端发送接收到的消息”。
步骤33;CPM业务服务器接收用户终端返回的接收响应,根据终端返回的接收响应确定的消息的阅读状态为未读,向CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
具体的,如果接收响应为“OK”时,表示用户终端接收成功,确定该消息的阅读状态为已读;如果接收响应为“Error”时,表示用户终端接收失败,确定该消息的阅读状态为未读。
本发明实施例的消息状态设置方法,CPM业务服务器需要提交所述消息至存储服务器且需要发送所述消息至用户终端时,CPM业务服务器将所述消息的阅读状态标识为已读,在向CPM存储服务器消息存储请求时携带该消息的阅读状态,使CPM存储服务器存储该消息的阅读状态。根据所述终端返回的接收响应确定的所述消息的阅读状态如果与消息存储请求中所述消息的阅读状态不一致,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的阅读状态保持一致,可避免CPM存储服务器向用户终端发送用户终端已成功接收到的消息,节省了资源,提高了用户体验。
图4为本发明提供的另一种消息状态设置方法实施例二流程图。本实施例为图3对应实施例的细化流程。如图4所示,本实施例包括:
步骤1b:CPM业务服务器接收消息。
步骤2b:CPM业务服务器判断该消息是否需要提交CPM存储服务器存储,并判断该消息是否需要发送至用户终端。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否提交至CPM存储服务器”选择的意愿,判断该消息是否需要提交CPM存储服务器存储。通常情况下,用户在签约信息中选择“用户在线时向CPM存储服务器提交接收到的消息,用户离线时不向CPM存储服务器提交接收到的消息”。进一步,用户在签约信息中选择“用户在线但消息的内容长度超过用户预设值时,不向CPM存储服务器提交接收到的消息”。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否发送至用户终端”选择的意愿,判断该消息是否需要发送到接收方用户的用户终端。通常情况下,用户在签约信息中选择“用户在线时向用户终端发送接收到的消息,用户离线时不向用户终端发送接收到的消息”。进一步,用户在签约信息中选择“用户在线但用户状态为忙碌或免打扰时,不向用户终端发送接收到的消息”。
步骤3b:CPM业务服务器确定需要提交该消息至CPM存储服务器且需要发送该消息至用户终端时,CPM业务服务器将该消息的阅读状态标识为已读。
步骤4b:CPM业务服务器确定需要提交该消息至CPM存储服务器但不需要发送该消息至用户终端时,CPM业务服务器向CPM存储服务器发送该消息。CPM业务服务器接收CPM存储服务器的存储响应,之后本流程结束。
CPM存储服务器接收到该消息后,默认该消息的阅读状态为未读,对该消息和该消息的阅读状态进行存储,存储之后向CPM业务服务器返回存储响应。
CPM业务服务器确定不需要提交该消息至CPM存储服务器但需要发送该消息至用户终端时,直接执行步骤6b。
步骤5b:CPM业务服务器向所述CPM存储服务器发送包括该消息和该消息的阅读状态的消息存储请求,CPM存储服务器存储该消息后返回存储响应。
步骤6b:CPM业务服务器向用户终端发送该消息,接收用户终端返回的接收响应。
进一步,如果在步骤5b中存储响应包括CPM存储服务器为该消息分配的唯一标识(UID),步骤6b中CPM业务服务器向用户终端发送该消息时还携带有该消息的UID。在CPM存储服务器将消息同步到用户终端时,除了需要将阅读状态为“未读”的消息同步到用户终端外,同时还需要检查存储服务器中阅读状态为“已读”的消息是否与用户终端保存的消息是否一致,即进行消息一致性检查。如果不一致,CPM存储服务器将与用户终端不一致的消息同步到用户终端。由于CPM存储服务器有可能不能识别MID,或CPM存储服务器保存的消息中不包括MID,因此通过MID检查消息的一致性时,还需要采用其它的辅助信息和方法,从而实现时复杂度较高。而用户终端中保存的消息包括有UID时,可通过消息的UID的一致性判断用户终端保存的消息是否与CPM存储服务器保存的消息一致。因此,通过检查UID可降低CPM存储服务器将消息同步到用户终端时,检查消息一致性时的复杂度。
通常情况下,CPM存储服务器可在预设时间到达时自动进将消息同步到用户终端;CPM存储服务器也可以在用户上线时,根据用户终端的主动请求将消息同步到用户终端;CPM存储服务器也可以按照其它预设规定将消息同步到用户终端。
步骤7b:CPM业务服务器判断该消息是否已存储在CPM存储服务器。如果已存储在CPM存储服务器,执行步骤8b,否则结束。
CPM业务服务器可通过自身缓存的CPM存储服务器返回的存储响应,判断与用户终端返回的接收响应对应的该消息是否已存储在CPM存储服务器。例如,CPM业务服务器可根据接收响应中携带的CPM业务服务器为该消息分配的标识(MID),查找缓存的存储响应。如果查找到该MID对应的存储响应,则确定该消息已存储在CPM存储服务器。进一步,如果存储响应中包括CPM存储服务器为该消息的唯一标识(UID),CPM业务服务器也可根据接收响应中携带的UID查找缓存的存储响应,如果查找到该UID对应的存储响应,则确定该消息已存储在CPM存储服务器。另外,判断与接收响应对应的该消息是否已存储在CPM存储服务器的方法有多种实现方式,不再一一列举。
步骤8b:在该消息已存储在CPM存储服务器时,CPM业务服务器根据接收响应确定该消息的阅读状态。
步骤9b:CPM业务服务器判断根据接收响应确定的该消息的阅读状态是否为未读。如果是未读,执行步骤10b,否则本流程结束。
具体的,如果接收响应为“OK”时,表示用户终端接收成功,该消息的阅读状态为已读;如果接收响应为“Error”时,表示用户终端接收失败,该消息的阅读状态为未读。
CPM业务服务器根据接收响应确定该消息的阅读状态为已读时,由于在步骤3b已请求CPM存储服务器将该消息的阅读状态标识为已读,因此不需要修改CPM存储服务器中该消息的阅读状态,本流程结束。
步骤10b:CPM业务服务器根据接收响应确定该消息的阅读状态为未读时,向CPM存储服务器发送消息修改请求,请求CPM存储服务器将该消息的阅读状态修改为未读。之后,CPM业务服务器接收CPM存储服务器返回修改响应,本流程结束。
图5为本发明提供的又一种消息状态设置方法实施例一流程图。本实施例适应于CPM业务服务器批量处理接收到的消息。如图5所示,本实施例包括:
步骤51:CPM业务服务器接收消息。
步骤52:确定消息需要提交CPM存储服务器存储,CPM业务服务器缓存该消息。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,根据签约信息中用户针对“CPM业务服务器接收到的消息是否提交至CPM存储服务器”选择的意愿,判断该消息是否需要提交CPM存储服务器存储。通常情况下,用户在签约信息中选择“用户在线时向CPM存储服务器提交接收到的消息,用户离线时不向CPM存储服务器提交接收到的消息”。进一步,用户在签约信息中选择“用户在线但消息的内容长度超过用户预设值时,不向CPM存储服务器提交接收到的消息”。
步骤53:确定消息需要发送到用户终端,CPM业务服务器向用户终端发送该消息,并接收到用户终端返回的接收响应。
CPM业务服务器可根据该消息对应的接收方用户的签约信息,例如,,根据签约信息中用户针对“CPM业务服务器接收到的消息是否发送至用户终端”选择的意愿,判断该消息是否需要发送到接收方用户的用户终端。通常情况下,用户在签约信息中选择“用户在线时向用户终端发送接收到的消息,用户离线时不向用户终端发送接收到的消息”。进一步,用户在签约信息中选择“用户在线但用户状态为忙碌或免打扰时,不向用户终端发送接收到的消息”。
步骤54:确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与接收响应对应的消息的阅读状态。
步骤55:CPM业务服务器向CPM存储服务器发送消息存储请求,消息存储请求包括缓存的各消息和各消息的阅读状态。
可在接收到需处理的多个消息或缓存的消息有多个时,如缓存空间已满或达到预设的缓存量时,CPM业务服务器向CPM存储服务器发送消息存储请求。
本实施例CPM业务服务器接收到消息后,先缓存需要提交至CPM存储服务器的消息,对于缓存的需要发送至用户终端的消息,CPM业务服务器根据用户终端返回的接收响应标识缓存的消息的阅读状态。CPM业务服务器将缓存的消息及其阅读状态批量发送给CPM存储服务器进行存储。因此,对于需要提交至CPM存储服务器存储且同时需要发送至用户终端的消息,CPM存储服务器中保存的该消息的阅读状态与用户终端关于该消息的阅读状态保持一致,可避免CPM存储服务器向用户终端发送用户终端已成功接收到的消息,节省了资源,提高了用户资源。
图6为本发明提供的又一种消息状态设置方法实施例二流程图。本实施例为图6对应实施例的详细流程。如图6所示。本实施例包括:
步骤1c:CPM业务服务器接收消息。
步骤2c:CPM业务服务器判断该消息是否提交至CPM存储服务器存储。如果是执行步骤3c,否则执行步骤4c。
步骤3c:CPM业务服务器缓存待提交至CPM存储服务器的消息。之后,执行步骤5c。
步骤4c:在确定该消息需要发送至用户终端时,将该消息发送至用户终端。之后,本流程结束。
步骤5c:CPM业务服务器判断该消息是否发送至用户终端。如果是执行步骤6c,否则执行步骤11c:即CPM业务服务器将缓存的该消息的阅读状态标识为未读,并执行步骤12c。
步骤6c:CPM业务服务器将该消息发送至用户终端,并接收用户终端返回的接收响应。
步骤7c:CPM业务服务器判断是否缓存有与该接收响应对应的消息。如果是步骤8c,否则本流程结束。
CPM业务服务器可通过自身缓存的消息,判断是否缓存有与用户终端返回的接收响应对应的消息。例如,CPM业务服务器根据接收响应中携带的CPM业务服务器为消息分配的标识(MID),查找缓存的消息,如果查找到与MID对应缓存的该消息,则确定该消息已缓存。另外,判断接收响应对应的消息是否已存储在CPM存储服务器的方法有多种实现方式,不再一一列举。
步骤8c:CPM业务服务器判断接收响应是否表示接收成功。如果是执行步骤9c,否则执行步骤10c。
具体的,如果接收响应为“OK”时,表示用户终端接收成功,该消息的阅读状态为已读;如果接收响应为“Error”时,表示用户终端接收失败,该消息的阅读状态为未读。
步骤9c:CPM业务服务器将缓存中与接收响应对应的消息的阅读状态标识为已读。
步骤10c:CPM业务服务器将缓存中与接收响应对应的消息的阅读状态标识为未读。
重复以上步骤,直至CPM业务服务器的缓存已满或已接收到批量处理的一批消息后,执行步骤12c。
步骤12c:CPM业务服务器将缓存的各消息和各消息的阅读状态发送至CPM存储服务器后,接收CPM存储服务器返回的存储响应。之后本流程结束。
通过本实施例提供的方法,对于只需要发送至用户终端的消息,不需要在CPM业务服务器中缓存;对于只需要提交至CPM存储服务器的消息,CPM业务服务器将缓存这些消息的阅读状态标识为未读。对于需要同时提交至CPM存储服务器和发送至用户终端的消息,CPM业务服务器缓存该消息后,根据用户终端返回的接收响应标识该消息的阅读状态。
图7A为本发明提供的一种CPM业务服务器实施例一结构示意图。如图7A所示,本实施例提供的业务器包括:接收模块71、消息存储请求块72、发送模块73和状态修改请求模块74。
接收模块71,用于接收消息。
消息存储请求块72,用于确定所述消息需要提交CPM存储服务器存储,向所述CPM存储服务器发送包括所述消息的消息存储请求。
发送模块73,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息。
接收模块71,还用于接收所述用户终端返回的接收响应。
状态修改请求模块74,确定CPM存储服务器中存储有与所述接收响应对应的消息,且根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。
进一步,接收模块71,还用于接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应。发送模块73,具体用于向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
进一步,如图7B所示,状态修改请求模块74包括:存储确定单元741、状态确定单元742和状态修改请求单元743。
存储确定单元741,用于接收模块71接收到所述用户终端返回的接收响应,确定CPM存储服务器中存储有与所述接收响应对应的消息。
状态确定单元742,用于根据所述终端返回的接收响应确定的所述消息的阅读状态为已读。
状态修改请求单元743,用于状态确定单元742确定所述消息的阅读状态为已读后,向所述CPM存储服务器发送消息状态修改请求。
进一步,所述状态确定单元742,具体用于所述接收响应中包括所述CPM存储服务器为所述消息分配的标识时,确定CPM存储服务器中存储有与所述接收响应对应的消息后,根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为已读。
以上各模块实现的功能可参见图1和图2对应实施例中描述,在此不再赘述。
本发明实施提供的CPM业务服务器确定需要向CPM存储服务器提交接收到的消息时,将该消息发送给CPM存储服务器。CPM存储服务器接收到没有标识阅读状态的消息后,CPM存储服务器默认该消息的阅读状态为未读。如果CPM业务服务器需要向用户终端发送该消息,后续如果根据所述终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,即所述消息的阅读状态与CPM存储服务器中所述消息的阅读状态不一致。CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的接收状态保持一致。
图8为本发明提供的另一种CPM业务服务器实施例结构示意图。如图8所示,本实施例提供的业务器包括:接收模块81、消息存储请求块82、发送模块83和状态修改请求模块84以及确定模块85。
接收模块81,用于接收消息。
确定模块85,用于确定需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端,将所述消息的阅读状态标识为已读。
消息存储请求模块82,用于向所述CPM存储服务器发送消息存储请求;所述消息存储请求中包括所述消息和所述消息的阅读状态。
发送模块83,用于向所述用户终端发送所述消息。
接收模块81,进一步用于接收所述用户终端返回的接收响应。
状态修改请求模块84,用于根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
进一步,接收模块81进一步用于接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应。发送模块83,具体用于向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
状态修改请求模块84,具体用于所述接收响应中包括所述CPM存储服务器为所述消息分配的标识时,根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求。
以上各模块实现的功能可参见图3和图4对应实施例中描述,在此不再赘述。
本发明实施提供的CPM业务服务器需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端时,CPM业务服务器将所述消息的阅读状态标识为已读,在向CPM存储服务器消息存储请求时携带该消息的阅读状态,使CPM存储服务器存储该消息的阅读状态为已读。后所述CPM业务服务哭根据所述终端返回的接收响应确定所述消息的阅读状态,如果与消息存储请求中所述消息的阅读状态不一致即如果根据所述终端返回的接收响应确定所述消息的阅读状态为未读,CPM业务服务器向所述CPM存储服务器发送消息状态修改请求,根据终端返回的接收响应请求修改CPM存储服务器中该消息的阅读状态。从而,CPM存储服务器中保存的消息的阅读状态与用户终端对该消息的阅读状态保持一致。
图9A为本发明提供的又一种CPM业务服务器实施例一结构示意图。如图9A所示,本实施例提供的业务器包括:接收模块91、缓存模块92、发送模块93、状态标识模块94和消息存储请求模块95。
接收模块91,用于接收消息。
缓存模块92,用于确定所述消息需要提交CPM存储服务器存储,并缓存所述消息。
发送模块93,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息。
接收模块91进一步用于接收所述用户终端返回的接收响应。
状态标识模块94,用于确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态。
消息存储请求模块95,用于向所述CPM存储服务器发送消息存储请求,所述消息存储请求包括缓存的各消息和各消息对应的阅读状态。
进一步,状态标识模块95,还用于在缓存所述消息之后,确定所述消息不需要发送到所述用户终端,将所述缓存的与所述接收响应对应的消息的阅读状态标识为未读。
进一步,如图9B所示,状态标识模块94包括:第一标识单元941、第二标识单元942和第三标识单元943。
第一标识单元941,用于所述用户终端返回的接收响应表示接收成功时,将缓存的与所述接收响应对应的消息的阅读状态标识为已读。
第二标识单元942,用于所述用户终端返回的接收响应表示接收失败时,将缓存模块92缓存的与所述接收响应对应的消息的阅读状态标识为未读。
第三标识单元943,用于在缓存所述消息之后,确定所述消息不需要发送到用户终端时,将所述缓存的所述消息的阅读状态标识为未读。
以上各模块实现的功能可参见图5和图6对应实施例中描述,在此不再赘述。
本发明实施提供的CPM业务服务器接收到消息后,先缓存需要提交至CPM存储服务器的消息,对于缓存中需要发送至用户终端的消息,CPM业务服务器根据用户终端返回的接收响应标识缓存中消息的阅读状态。CPM业务服务器将缓存的消息及其阅读状态批量发送给CPM存储服务器进行存储。因此,对于需要提交至CPM存储服务器存储且同时需要发送至用户终端的消息,CPM存储服务器中保存的该消息的阅读状态与用户终端关于该消息的阅读状态保持一致。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (20)

1.一种消息状态设置方法,其特征在于,包括:
CPM业务服务器接收消息;
所述CPM业务服务器确定所述消息需要提交存储服务器存储,向所述存储服务器发送包括所述消息的消息存储请求;
所述CPM业务服务器确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;
所述CPM业务服务器接收到所述用户终端返回的接收响应时,确定CPM存储服务器中存储有与所述接收响应对应的消息且根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。
2.根据权利要求1所述方法,其特征在于,根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读包括:
确定所述用户终端返回的接收响应表示接收成功,确定所述消息的阅读状态为已读。
3.根据权利要求1或2所述方法,其特征在于,在向所述CPM存储服务器发送消息存储请求之后,还包括:所述CPM业务服务器接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应;
向所述用户终端发送所述消息具体为:向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
4.根据权利要求3所述方法,其特征在于,所述接收响应中包括所述CPM存储服务器为所述消息分配的标识;
根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,具体为:根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为已读。
5.一种消息状态设置方法,其特征在于,包括:
接收消息;
确定需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端,将所述消息的阅读状态标识为已读;
向所述CPM存储服务器发送消息存储请求,并向所述用户终端发送所述消息;所述消息存储请求中包括所述消息和所述消息的阅读状态;
接收所述用户终端返回的接收响应,并根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为未读;
向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
6.根据权利要求5所述方法,其特征在于,在向所述CPM存储服务器发送消息存储请求之后,还包括:接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应;
向所述用户终端发送所述消息具体为:向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
7.根据权利要求6所述方法,其特征在于,所述接收响应中包括所述CPM存储服务器为所述消息分配的标识;
所述根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为未读具体为:根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为未读。
8.一种消息状态设置方法,其特征在于,包括:
CPM业务服务器接收消息;
所述CPM业务服务器确定所述消息需要提交CPM存储服务器存储,缓存所述消息;
所述CPM业务服务器确定所述消息需要发送到用户终端,向所述用户终端发送所述消息并接收到所述用户终端返回的接收响应;
所述CPM业务服务器确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态;
所述CPM业务服务器向所述CPM存储服务器发送消息存储请求,所述消息存储请求包括缓存中的各消息和各消息的阅读状态。
9.根据权利要求8所述方法,其特征在于,所述根据所述用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态,包括:
所述用户终端返回的接收响应表示接收成功,将缓存的所述消息的阅读状态标识为已读;
所述用户终端返回的接收响应表示接收失败,将缓存的所述消息的阅读状态标识为未读。
10.根据权利要求8或9所述方法,其特征在于,在所述CPM业务服务器确定所述消息需要提交CPM存储服务器存储,缓存所述消息之后,还包括:
所述CPM业务服务器确定所述消息不需要发送到用户终端,将所述缓存的与所述消息的阅读状态标识为未读。
11.一种CPM业务服务器,其特征在于,包括:
接收模块,用于接收消息;
消息存储请求模块,用于确定所述消息需要提交CPM存储服务器存储,向所述CPM存储服务器发送包括所述消息的消息存储请求;
发送模块,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;
所述接收模块还用于接收所述用户终端返回的接收响应;
状态修改请求模块,用于确定CPM存储服务器中存储有与所述接收响应对应的消息,且根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为已读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为已读。
12.根据权利要求11所述的CPM业务服务器,其特征在于,所述状态修改请求模块包括:
存储确定单元,用于确定CPM存储服务器中存储有与所述接收响应对应的消息;
状态确定单元,用于根据所述用户终端返回的接收响应确定的所述消息的阅读状态为已读;
状态修改请求单元,用于向所述CPM存储服务器发送消息状态修改请求。
13.根据权利要求11或12所述的CPM业务服务器,其特征在于:
所述接收模块进一步用于接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应;
所述发送模块,具体用于向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
14.根据权利要求12所述的CPM业务服务器,其特征在于,所述状态确定单元,具体用于所述接收响应中包括所述CPM存储服务器为所述消息分配的标识时,根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为已读。
15.一种CPM业务服务器,其特征在于,包括:
接收模块,用于接收消息;
确定模块,用于确定需要提交所述消息至CPM存储服务器且需要发送所述消息至用户终端,将所述消息的阅读状态标识为已读;
消息存储请求模块,用于向所述CPM存储服务器发送消息存储请求,所述消息存储请求中包括所述消息和所述消息的阅读状态;
发送模块,用于向所述用户终端发送所述消息;
所述接收模块进一步用于接收所述用户终端返回的接收响应;
状态修改请求模块,用于根据所述用户终端返回的接收响应确定与所述接收响应对应的消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求,所述消息状态修改请求中所述消息的阅读状态为未读。
16.根据权利要求15所述的CPM业务服务器,其特征在于:
所述接收模块进一步用于接收所述CPM存储服务器返回的包括有所述CPM存储服务器为所述消息分配的标识的存储响应;
所述发送模块,具体用于向所述用户终端发送所述消息和所述CPM存储服务器为所述消息分配的标识。
17.根据权利要求16所述的CPM业务服务器,其特征在于:所述状态修改请求模块,具体用于所述接收响应中包括所述CPM存储服务器为所述消息分配的标识时,根据所述接收响应中的所述CPM存储服务器为所述消息分配的标识确定与所述接收响应对应的消息的阅读状态为未读,向所述CPM存储服务器发送消息状态修改请求。
18.一种CPM业务服务器,其特征在于,包括:
接收模块,用于接收消息;
缓存模块,用于确定所述消息需要提交CPM存储服务器存储,并缓存所述消息;
发送模块,用于确定所述消息需要发送到用户终端,向所述用户终端发送所述消息;
所述接收模块进一步用于接收所述用户终端返回的接收响应;
状态标识模块,用于确定已缓存有与所述接收响应对应的消息,根据用户终端返回的接收响应,标识缓存的与所述接收响应对应的消息的阅读状态;
消息存储请求模块,用于向所述CPM存储服务器发送消息存储请求,所述消息存储请求包括缓存中各消息和各消息对应的阅读状态。
19.根据权利要求18所述的CPM业务服务器,其特征在于,所述状态标识模块,还用于在缓存所述消息之后,确定所述消息不需要发送到所述用户终端,将所述缓存的与所述接收响应对应的消息的阅读状态标识为未读。
20.根据权利要求19所述的CPM业务服务器,其特征在于,所述状态标识模块包括:
第一标识单元,用于所述用户终端返回的接收响应表示接收成功时,将缓存的与所述接收响应对应的消息的阅读状态标识为已读;或
第二标识单元,用于所述用户终端返回的接收响应表示接收失败时,将缓存的与所述接收响应对应的消息的阅读状态标识为未读;或
第三标识单元,用于在缓存所述消息之后,确定所述消息不需要发送到用户终端时,将所述缓存的所述消息的阅读状态标识为未读。
CN201180001340.0A 2011-07-12 2011-07-12 消息状态设置方法和cpm业务服务器 Active CN102986173B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077068 WO2012167473A1 (zh) 2011-07-12 2011-07-12 消息状态设置方法和cpm业务服务器

Publications (2)

Publication Number Publication Date
CN102986173A CN102986173A (zh) 2013-03-20
CN102986173B true CN102986173B (zh) 2015-06-03

Family

ID=47295363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001340.0A Active CN102986173B (zh) 2011-07-12 2011-07-12 消息状态设置方法和cpm业务服务器

Country Status (2)

Country Link
CN (1) CN102986173B (zh)
WO (1) WO2012167473A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101437565B1 (ko) * 2013-06-07 2014-09-04 (주)오픈벡스 푸쉬 메시지의 신뢰성 판단을 위한 메시징 시스템
CN109617787A (zh) * 2018-12-17 2019-04-12 上海点融信息科技有限责任公司 用于区块链网络的消息发送和接收方法、存储介质、计算设备
CN111431952B (zh) * 2019-01-09 2022-06-03 阿里巴巴集团控股有限公司 消息推送方法、装置及系统,计算机存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072386A (zh) * 2007-06-22 2007-11-14 腾讯科技(深圳)有限公司 业务服务器、系统消息服务器和消息广播方法
CN101374248A (zh) * 2007-08-24 2009-02-25 上海华为技术有限公司 即时消息的处理方法及装置
CN102007783A (zh) * 2008-02-13 2011-04-06 三星电子株式会社 用于互配融合消息服务的方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143417A1 (en) * 2005-12-15 2007-06-21 Daigle Brian K Instant messaging confirmation and receipt
CN101374254A (zh) * 2007-08-24 2009-02-25 华为技术有限公司 通信系统中传送报告的方法及设备
EP2107755A1 (en) * 2008-04-04 2009-10-07 Nokia Corporation Method and apparatus for CPM session management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072386A (zh) * 2007-06-22 2007-11-14 腾讯科技(深圳)有限公司 业务服务器、系统消息服务器和消息广播方法
CN101374248A (zh) * 2007-08-24 2009-02-25 上海华为技术有限公司 即时消息的处理方法及装置
CN102007783A (zh) * 2008-02-13 2011-04-06 三星电子株式会社 用于互配融合消息服务的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CPM Conversation Functions Draft Version 1.0;OMA;《OMA-TS-CPM_Conv_Fnct-V1_0-20101025-D》;20101025;正文第31-32页 *

Also Published As

Publication number Publication date
CN102986173A (zh) 2013-03-20
WO2012167473A1 (zh) 2012-12-13

Similar Documents

Publication Publication Date Title
US20090241180A1 (en) System and Method for Data Transport
CN102307159B (zh) 有效管理“已发送消息”文件与重新发送消息的方法和装置
CN102821056B (zh) 一种即时通信消息的传输方法及设备
CN100421431C (zh) 一种实现即时消息通信的方法
US20140372330A1 (en) Social network user information association method and device
CN100556004C (zh) 一种即时通讯系统中对群组消息接收方式的设置方法
US20120297031A1 (en) Anonymous Signalling
CN103780679A (zh) 基于http协议的长延时远程调用方法
CN105516935A (zh) Rcs与传统信息业务平台化综合决策方法、装置及终端
CN105516086A (zh) 业务处理方法及装置
CN103685357A (zh) 一种账号多开消息处理方法及系统
CN103546437A (zh) 一种ims中实现离线消息收发的方法、ue及as
EP2974159B1 (en) Method, device and system for voice communication
CN111541555A (zh) 群聊优化方法及相关产品
CN104954977A (zh) 手机短信应用融合第三方通讯应用的通讯方法及装置
CN102858025A (zh) 点对点互动操作的方法及设备
CN102986173B (zh) 消息状态设置方法和cpm业务服务器
CN102843308A (zh) 一种基于移动终端本地通讯录的即时通信方法和系统
CN108810936A (zh) 一种LoRa终端的配置方法及装置
CN101247370B (zh) 消息呈现业务的实现方法和系统
CN106385516B (zh) 一种设置业务转移的方法、装置及终端
US20110040842A1 (en) System And Method For Implementing Interactive Operations Between Mobile Communication Terminal And Email Box
CN117336346A (zh) 一种ippbx与pms对接状态转换方法、终端设备及介质
CN109120578B (zh) 一种实现链路连接处理的方法及装置
CN109120502B (zh) 用于多业务融合平台的通信方法、设备、系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant