一种发送消息的方法、装置及消息收发系统与流程

文档序号:17481221发布日期:2019-04-20 06:28阅读:212来源:国知局
一种发送消息的方法、装置及消息收发系统与流程

本申请涉及信息处理技术领域,具体而言,涉及一种发送消息的方法、装置及消息收发系统。



背景技术:

消息是交互双方沟通的一种重要信息载体,其中,即时通信(im,instantmessaging)消息是消息的一种,是指能够即时发送和接收的互联网消息。随着im技术的迅速发展,其功能日益丰富,目前,im已不再是一个单纯的交互工具,已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。

消息收发的系统架构采用客户端/服务器的模式,以im消息为例,发送客户端向服务器发送im消息后,服务器为接收的im消息生成消息唯一标识,然后,服务器向发送客户端返回应答确认,并将携带消息唯一标识的im消息发送至接收客户端,以使接收客户端依据接收的消息唯一标识进行排重处理,以避免存储和展示重复的im消息。

但该消息发送方法,当发送客户端发出im消息,服务器接收到im消息并生成消息唯一标识后,若发送客户端与服务器的通信网络发生异常,服务器未来得及向发送客户端返回应答确认,由于发送客户端没有收到服务器的应答确认,因而,在通信网络恢复正常,发送客户端重新与服务器建立连接后,将重新发送该im消息,而服务器由于已生成上一im消息的消息唯一标识,因而,接收到该im消息,会认为是一条新消息,并生成新的消息唯一标识。这样,接收客户端会接收到两条或多条同样内容的im消息,但消息唯一标识各不相同,会被视为不同的im消息进行存储和展示,使得依据该消息发送方法进行的排除重复im消息的效率不高。



技术实现要素:

有鉴于此,本申请的目的在于提供一种发送消息的方法、装置及消息收发系统,提升发送至接收客户端的消息的排重效率。

第一方面,本申请实施例提供了一种发送消息的方法,该方法包括:

依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;

存储所述待发送消息和所述消息唯一标识;

向外部服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识。

可选地,利用数据库存储所述待发送消息和消息唯一标识。

可选地,所述方法还包括:

在利用数据库存储待发送消息和消息唯一标识后,在所述数据库中标记该待发送消息的发送状态为未发送;

在向外部服务器发送所述待发送消息和所述消息唯一标识后,更新数据库中标记的所述待发送消息的发送状态为发送中。

可选地,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为发送失败,更新数据库中标记的所述待发送消息的发送状态为发送失败,读取记录的重发送次数;

若所述重发送次数小于预设的重发送次数阈值,重发送存储的所述待发送消息和所述消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送失败,更新记录的重发送次数;

若所述重发送次数不小于所述重发送次数阈值,在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送中的消息的重发送次数进行清零,重发送所述发送状态为发送中的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

可选地,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为无响应,更新数据库中标记的所述待发送消息的发送状态为发送失败;

在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送中的消息的重发送次数进行清零,重发送所述发送状态为发送中的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

可选地,所述方法还包括:

在所述服务器的响应为应答确认时,更新数据库中标记的所述待发送消息的发送状态为发送完成。

可选地,所述向外部服务器发送所述待发送消息和所述消息唯一标识,包括:

根据预设的编码规则,对所述待发送消息和所述消息唯一标识进行字节码编码,得到编码信息;

通过与服务器建立的长连接通道,将所述编码信息发送到所述服务器。

第二方面,本申请实施例提供了一种发送消息的装置,该装置包括:

标识生成模块,用于依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;

存储模块,用于存储所述待发送消息和所述消息唯一标识;

消息发送处理模块,用于向外部服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识。

第三方面,本申请实施例提供了一种消息收发系统,该消息收发系统包括:

发送客户端,用于依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;存储所述待发送消息和所述消息唯一标识;向服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识;

服务器,用于将接收的所述待发送消息和所述消息唯一标识转发至接收客户端;

接收客户端,用于接收所述待发送消息和所述消息唯一标识,检测本地的数据库中是否存在所述消息唯一标识,若不存在,保存接收的所述待发送消息和消息唯一标识到数据库,若存在,丢弃接收的所述待发送消息和消息唯一标识。

可选地,所述接收客户端包括:

接收模块,用于接收所述服务器转发的所述待发送消息和所述消息唯一标识;

消息排重模块,用于检测本地的数据库中是否存在所述消息唯一标识,若不存在,保存接收的所述待发送消息和消息唯一标识到数据库,若存在,丢弃接收的所述待发送消息和消息唯一标识。

第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。

本申请实施例提供的一种发送消息的方法、装置及消息收发系统,通过依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;存储所述待发送消息和所述消息唯一标识;向外部服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识。这样,由发送客户端依据通用唯一识别码技术生成消息唯一标识,每条消息进行唯一标识,在需要重发送消息时,重发送该消息和对应的消息唯一标识,无需为该重发送的消息重新生成消息唯一标识,使得发送至接收客户端的多个相同内容的消息具有相同的消息唯一标识,接收客户端能够依据消息唯一标识进行排重,有效提升了发送至接收客户端的消息的排重效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的发送消息的方法流程示意图;

图2为本申请实施例提供的发送消息的方法另一流程示意图;

图3为本申请实施例提供的接收客户端对接收的消息进行排重的方法流程示意图;

图4为本申请实施例提供的发送消息的装置结构示意图;

图5为本申请实施例提供的消息收发系统结构示意图;

图6为本申请实施例提供的一种计算机设备600的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的发送消息的方法流程示意图。应用于发送客户端,如图1所示,该方法包括:

步骤101,依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;

本申请实施例中,发送客户端在接收到用户输入的需要发送至接收客户端的待发送消息后,依据通用唯一识别码(uuid,universallyuniqueidentifier)技术的生成规则,为该待发送消息生成消息唯一标识。其中,uuid技术利用当前日期和时间、时钟序列以及全局唯一的美国电气和电子工程师协会(ieee,instituteofelectricalandelectronicsengineers)机器识别号生成标识信息,从而可以实现分布式系统中的所有元素,例如,通信系统中的各客户端输出的每一信息,都能有唯一的标识信息,而不需要通过服务器集中控制各元素的标识信息,以对每一元素进行区分。这样,利用uuid技术,可以确保每一消息对应生成一消息唯一标识,实现消息的唯一标识。

本申请实施例中,通过发送客户端为待发送消息生成消息唯一标识并向服务器发送携带消息唯一标识的待发送消息,以使服务器进行相应转发。这样,消息唯一标识的生成不依赖于服务器,可以避免通信网络异常引起的对发送客户端重复发送的消息分别配置消息唯一标识,从而引起接收客户端接收多条相同内容的消息而无法排重的情形,能够提升接收客户端的排重效率;进一步地,服务器转发携带消息唯一标识的待发送消息,无需为消息配置消息唯一标识,可以有效减少服务器的资源开销,提高服务器的响应速度。

本申请实施例中,作为一可选实施例,消息包括但不限于:im消息、图片、文本、文件等。

步骤102,存储所述待发送消息和所述消息唯一标识;

本申请实施例中,待发送消息和消息唯一标识为一一对应关系。作为一可选实施例,利用数据库存储待发送消息和消息唯一标识。这样,利用数据库存储相应信息,可以使得存储的信息持久化。当然,实际应用中,也可以利用其他方式,例如,表格或文本的方式存储待发送消息和消息唯一标识,本申请实施例对此不作限定。

步骤103,向外部服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识。

本申请实施例中,由于通信网络的异常,需要涉及到消息的重发机制,可以对待发送消息的发送状态进行标记,以使后续应用中,可以依据标记的发送状态确定是否需要重发该待发送消息,因而,作为一可选实施例,该方法还包括:

a11,在利用数据库存储待发送消息和消息唯一标识后,在所述数据库中标记该待发送消息的发送状态为未发送;

本申请实施例中,在存储待发送消息和消息唯一标识的同时,对该待发送消息的发送状态进行标记。作为一可选实施例,发送状态包括:未发送、发送中、发送失败、发送完成。

本申请实施例中,待发送消息、消息唯一标识和发送状态形成对应关系。例如,消息a-1000-未发送。

a12,在向外部服务器发送所述待发送消息和所述消息唯一标识后,更新数据库中标记的所述待发送消息的发送状态为发送中。

本申请实施例中,在发送待发送消息和所述消息唯一标识后,对数据库中标记的该待发送消息的发送状态进行相应更新。

本申请实施例中,响应失败可能是由于消息传输过程中的丢包或接收不正确引起的发送失败,也可能是由于网络异常,例如,网络故障引起的无响应。因而,作为一可选实施例,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为发送失败,更新数据库中标记的所述待发送消息的发送状态为发送失败,读取记录的重发送次数;

若所述重发送次数小于预设的重发送次数阈值,重发送存储的所述待发送消息和所述消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送失败,更新记录的重发送次数;

若所述重发送次数不小于所述重发送次数阈值,在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送失败的消息的重发送次数进行清零,并重发送所述发送状态为发送失败的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

本申请实施例中,通过在数据库中标记待发送消息的发送状态,这样,可以在该待发送消息发送失败时,根据该待发送消息的发送状态,重新发送该待发送消息,而无需为该待发送消息再次生成消息唯一标识,可以有效避免接收客户端存储和展示相同内容的消息。

本申请实施例中,若重发送次数不小于重发送次数阈值,表明发送客户端与服务器之间的通信网络出现异常,终止发送存储的待发送消息和消息唯一标识,更新数据库中标记的终止发送的待发送消息的发送状态为发送失败,并在发送客户端与服务器之间的通信恢复正常后,重发送存储的待发送消息和消息唯一标识,更新记录的重发送次数,更新数据库中标记的重发送的待发送消息的发送状态为发送中。

本申请实施例中,作为另一可选实施例,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为无响应,更新数据库中标记的所述待发送消息的发送状态为发送失败;

在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送失败的消息的重发送次数进行清零,重发送所述发送状态为发送中的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

本申请实施例中,无响应是指发送客户端在预定的响应时间阈值内没有接收到服务器的任何消息,表明发送客户端与服务器之间的通信出现异常。

本申请实施例中,作为一可选实施例,该方法还包括:

在所述服务器的响应为应答确认时,更新数据库中标记的所述待发送消息的发送状态为发送完成。

本申请实施例中,作为一可选实施例,向外部服务器发送所述待发送消息和所述消息唯一标识,包括:

b11,根据预设的编码规则,对所述待发送消息和所述消息唯一标识进行字节码编码,得到编码信息;

本申请实施例中,作为一可选实施例,还可以将进行字节码编码得到的编码信息进行序列化,并输出至发送消息的数据结构upstreammessage中。

b12,通过与服务器建立的长连接通道,将所述编码信息发送到所述服务器。

本申请实施例中,将数据结构upstreammessage中的编码信息,通过与服务器建立的长连接通道,发送到服务器。

本申请实施例中,由于发送客户端在发送消息时,需要携带消息唯一标识,因而,需要对消息的数据结构进行修改,即对数据结构中的编码信息进行序列化。

本申请实施例中,发送客户端进行发送消息的序列化,接收客户端进行接收消息的反序列化。其中,作为一可选实施例,利用google协议缓冲区(googleprotocolbuffer)进行序列化和反序列化,google协议缓冲区的“向后”兼容性好,不用破坏原有的程序就可以对数据结构的升级。这样,不会因为数据结构的改变而造成大规模的代码重构或者迁移问题。

本申请实施例中,作为一可选实施例,发送消息和接收消息的数据结构定义如下:

本申请实施例中,通过在接收消息和发送消息的两个数据结构中都增加一个字段clientmsguid,用于携带消息唯一标识,例如,如上的optionalstringclientmsguid=14,不会引起已发布程序的任何改变,且新增的字段不会给程序带来明显的开销。

本申请实施例中,服务器将接收到的待发送消息和消息唯一标识转发到接收客户端,接收客户端检测本地的数据库中是否存在该消息唯一标识,不存在,则保存待发送消息和消息唯一标识到数据库,如果已经存在,则不保存待发送消息和消息唯一标识,丢弃接收的待发送消息和消息唯一标识,从而达到排除重复消息,即排重的目的。这样,由发送客户端依据uuid技术生成消息唯一标识,每条消息进行唯一标识,在需要重发送消息时,重发送该消息和对应的消息唯一标识,无需为该重发送的消息重新生成消息唯一标识,使得发送至接收客户端的多个相同内容的消息具有相同的消息唯一标识,接收客户端能够依据消息唯一标识,对消息排除重复可以做到准确、高效,有效提升了接收客户端的排重效率;进一步地,可以减少服务器生成消息唯一标识的操作,提高响应速度。

图2为本申请实施例提供的发送消息的方法另一流程示意图。如图2所示,以客户端a为发送客户端,客户端b为接收客户端为例,该流程包括:

步骤201,客户端a接收到用户发送消息给客户端b的消息发送请求,为所述消息发送请求中携带的消息生成消息唯一标识;

本申请实施例中,用户在客户端a中输入需要发送的消息,点击发送按钮,触发向客户端a输出携带消息的消息发送请求。

步骤202,将消息及消息唯一标识保存到本地数据库中,并将该消息的发送状态标记为未发送;

本申请实施例中,存储是为了便于后续重发。

步骤203,根据预设的编码规则,将消息及消息唯一标识进行字节码编码,得到编码信息;

步骤204,将编码信息序列化到发送消息的数据结构中;

本申请实施例中,将消息及消息唯一标识进行字节码编码并序列化到发送消息的数据结构upstreammessage中。

步骤205,通过与服务器建立的长连接通道,将数据结构中序列化的编码信息发送到服务器,更新本地数据库中该消息的发送状态为发送中;

本申请实施例中,客户端a在发出编码信息后,更新对应的消息的发送状态。

步骤206,客户端a判断在预定的响应时间阈值内是否收到服务器的响应,若接收到服务器回传的响应,执行步骤207,若未接收到服务器回传的响应,执行步骤211;

本申请实施例中,根据响应的不同类型,确定通信网络是正常还是异常,从而确定相应的处理策略。

步骤207,判断接收的响应是否为应答确认,若是,执行步骤208,若否,执行步骤209;

本申请实施例中,响应为应答确认,表示当前通信网络正常。

步骤208,将本地数据库中该消息的发送状态更新为发送成功;

本申请实施例中,在通信网络正常情况下,客户端a在预定时间阈值内能够收到服务器的应答确认。

本申请实施例中,作为一可选实施例,该方法还可以包括:

删除数据库中存储的超过预设存储时间阈值的消息和消息唯一标识。

步骤209,将该消息的重发送次数加1,更新数据库中标记的该消息的发送状态为发送失败,判断加1的重发送次数是否小于重发送次数阈值,若是,执行步骤210,若否,执行步骤211;

本申请实施例中,作为一可选实施例,在需要重发时,也可以不更新数据库中标记的该消息的发送状态为发送失败,即若客户端a未收到服务器回传的应答确认,将该消息的重发送次数加1,在重发送次数小于预定的重发次数阈值的情况下,重新发送消息和消息唯一标识。

步骤210,重发送存储的该消息和消息唯一标识,更新数据库中标记的该消息的发送状态为发送中,返回执行步骤206;

步骤211,等待客户端a与服务器的通信正常后,对数据库中记录的发送状态为发送失败的消息的重发送次数进行清零,重发送所述发送状态为发送失败的消息和消息唯一标识,更新数据库中标记的该重发送的消息的发送状态为发送中,返回执行步骤206。

本申请实施例中,若客户端a未收到服务器回传的应答确认,重新发送进行字节码编码的消息和消息唯一标识,若重发送次数超过预定的重发次数阈值,确认通信网络异常,则在后续客户端a与服务器重新建立通道后,再将本地数据库中未发送成功的消息逐条重新发送。

本申请实施例中,在通信网络异常情况下,如果在超过预定时间阈值,还没有接收到服务器回传的应答确认,则重新发送该进行字节码编码的消息和消息唯一标识。

图3为本申请实施例提供的接收客户端对接收的消息进行排重的方法流程示意图。如图3所示,以客户端b为接收客户端为例,该流程包括:

步骤301,客户端b接收到服务器推送的编码信息后,根据预设的解码规则进行解码并反序列化到downstreammessage中,获取消息和消息唯一标识;

步骤302,检索本地数据库中是否存在获取的所述消息唯一标识,若是,执行步骤303,若否,执行步骤304;

步骤303,丢弃接收到的编码信息;

步骤304,将所述消息和消息唯一标识保存到本地数据库中,并通知用户接收到了新消息。

本申请实施例中,如果本地数据库中不存在获取的消息唯一标识,将downstreammessage中的消息及消息唯一标识保存到本地数据库中,并在保存成功后,通知用户接收到了新消息,如果存在,则不保存。这样,接收客户端可以有效准确地对消息进行排重。

图4为本申请实施例提供的发送消息的装置结构示意图。如图4所示,该装置包括:

标识生成模块401,用于依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;

本申请实施例中,作为一可选实施例,消息包括但不限于:im消息、图片、文本、文件等。

存储模块402,用于存储所述待发送消息和所述消息唯一标识;

本申请实施例中,作为一可选实施例,存储模块402为数据库,利用数据库存储所述待发送消息和消息唯一标识。

本申请实施例中,作为一可选实施例,存储模块402还用于:

在利用数据库存储待发送消息和消息唯一标识后,在所述数据库中标记该待发送消息的发送状态为未发送;在向外部服务器发送所述待发送消息和所述消息唯一标识后,更新数据库中标记的所述待发送消息的发送状态为发送中。

消息发送处理模块403,用于向外部服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识。

本申请实施例中,作为一可选实施例,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为发送失败,更新数据库中标记的所述待发送消息的发送状态为发送失败,读取记录的重发送次数;

若所述重发送次数小于预设的重发送次数阈值,重发送存储的所述待发送消息和所述消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送失败,更新记录的重发送次数;

若所述重发送次数不小于所述重发送次数阈值,在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送中的消息的重发送次数进行清零,重发送所述发送状态为发送中的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

本申请实施例中,作为另一可选实施例,在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识,包括:

确认所述响应失败为无响应,更新数据库中标记的所述待发送消息的发送状态为发送失败;

在所述发送客户端与所述服务器之间的通信正常时,对数据库中记录的发送状态为发送中的消息的重发送次数进行清零,重发送所述发送状态为发送中的待发送消息和消息唯一标识,更新数据库中标记的所述待发送消息的发送状态为发送中,更新记录的重发送次数。

本申请实施例中,作为一可选实施例,所述向外部服务器发送所述待发送消息和所述消息唯一标识,包括:

根据预设的编码规则,对所述待发送消息和所述消息唯一标识进行字节码编码,得到编码信息;

通过与服务器建立的长连接通道,将所述编码信息发送到所述服务器。

本申请实施例中,作为一可选实施例,消息发送处理模块403还用于:

在所述服务器的响应为应答确认时,更新数据库中标记的所述待发送消息的发送状态为发送完成。

图5为本申请实施例提供的消息收发系统结构示意图。如图5所示,该消息收发系统包括:

发送客户端501,用于依据用户输入的待发送消息,利用通用唯一识别码技术,为所述待发送消息生成消息唯一标识;存储所述待发送消息和所述消息唯一标识;向服务器发送所述待发送消息和所述消息唯一标识,并在所述服务器的响应为响应失败时,重发送存储的所述待发送消息和所述消息唯一标识;

本申请实施例中,发送客户端的具体结构如图5所示,在此不再赘述。

服务器502,用于将接收的所述待发送消息和所述消息唯一标识转发至接收客户端;

接收客户端503,用于接收所述待发送消息和所述消息唯一标识,检测本地的数据库中是否存在所述消息唯一标识,若不存在,保存接收的所述待发送消息和消息唯一标识到数据库,若存在,丢弃接收的所述待发送消息和消息唯一标识。

本申请实施例中,作为一可选实施例,接收客户端501包括:接收模块以及消息排重模块(图中未示出),其中,

接收模块,用于接收所述服务器转发的所述待发送消息和所述消息唯一标识;

本申请实施例中,接收客户端接收到服务器推送的编码信息后,根据预设的解码规则进行解码并反序列化到downstreammessage中,获取待发送消息和消息唯一标识。

消息排重模块,用于检测本地的数据库中是否存在所述消息唯一标识,若不存在,保存接收的所述待发送消息和消息唯一标识到数据库,若存在,丢弃接收的所述待发送消息和消息唯一标识。

如图6所示,本申请一实施例提供了一种计算机设备600,用于执行图1至图3中的发送消息的方法,该设备包括存储器601、处理器602及存储在该存储器601上并可在该处理器602上运行的计算机程序,其中,上述处理器602执行上述计算机程序时实现上述发送消息的方法的步骤。

具体地,上述存储器601和处理器602能够为通用的存储器和处理器,这里不做具体限定,当处理器602运行存储器601存储的计算机程序时,能够执行上述发送消息的方法。

对应于图1至图3中的发送消息的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述发送消息的方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述解析便携式文档格式文档表格的方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1