消息推送方法和装置与流程

文档序号:11138748阅读:377来源:国知局
消息推送方法和装置与制造工艺

本发明涉及网络通信技术领域,尤其涉及一种消息推送方法和装置。



背景技术:

随着网络通信技术的不断发展,即时消息作为常用的网络通信方式。相关技术中,即时消息主要有两类发送方式:推送方式和拉取方式,其中,推送方式是发送端发送待推送消息后,由服务器将待推送消息即时推送给群组内的所有终端用户;拉取方式是发送端发送待推送消息后,将待推送消息存储在服务器的消息存储装置中,由群组内的终端用户定时来拉取待推送消息。

这种方式下,推送方式支持的可同时在线人数受到限制,接收待推送消息的组群人数在万人以下;拉取方式发送的待推送消息的即时性较低,且当群组内无人发言时,会造成大量的无效访问,浪费用户的流量。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种消息推送方法,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

本发明的另一个目的在于提出一种消息推送装置。

为达到上述目的,本发明第一方面实施例提出的消息推送方法,包括:接收待推送消息,所述待推送消息包括:消息体和目标群组标识;从信息库中读取与每个目标群组标识对应的终端标识,并根据所述对应的终端标识读取每个终端标识的预设信息;根据所述预设信息将所述待推送消息并行推送至所述每个终端标识对应的终端。

本发明第一方面实施例提出的消息推送方法,通过从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息,根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

为达到上述目的,本发明第二方面实施例提出的装置,包括:第一接收模块,用于接收待推送消息,所述待推送消息包括:消息体和目标群组标识;读取模块,用于从信息库中读取与每个目标群组标识对应的终端标识,并根据所述对应的终端标识读取每个终端标识的预设信息;推送模块,用于根据所述预设信息将所述待推送消息并行推送至所述每个终端标识对应的终端。

本发明第二方面实施例提出的消息推送装置,通过从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息,根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一实施例提出的消息推送方法的流程示意图;

图2是本发明另一实施例提出的消息推送方法的流程示意图;

图3是本发明实施例中群组标识和终端标识的映射关系示意图;

图4是本发明另一实施例提出的消息推送方法的流程示意图;

图5是本发明另一实施例提出的消息推送方法的流程示意图;

图6是本发明一实施例提出的消息推送装置的结构示意图;

图7是本发明另一实施例提出的消息推送装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本发明一实施例提出的消息推送方法的流程示意图。以该消息推送方法被配置为消息推送装置中来举例说明。该消息推送方法可以应用于服务器。

参见图1,以该消息推送方法包括:

S11:接收待推送消息,待推送消息包括:消息体和目标群组标识。

在本发明的实施例中,目标群组标识为至少一个。

在本发明的实施例中,待推送消息可以为发送端需要对其进行推送的消息。

在本发明的实施例中,消息体包括但不限于发送端标识(例如,发送端ID)、消息内容,以及目标群组标识(例如,目标群组ID)等信息。

可选地,发送端发送待推送消息至服务器,服务器接收发送端发送的待推送消息,以根据待推送消息中的目标群组标识从信息库中读取与其对应的终端标识,从而根据终端标识的预设信息将待推送消息并行推送至每个终端标识对应的终端。

S12:从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息。

在本发明的实施例中,与每个目标群组标识对应的终端标识为至少一个。

在本发明的实施例中,信息库可以为预先建立的。

在本发明的实施例中,预设信息为长连接信息,信息库中包括:长连接信息库、群组标识和终端标识的映射关系。

在本发明的实施例中,可以根据群组标识和终端标识的映射关系获取每个目标群组标识对应的分区标识,其中,目标群组标识为至少一个,对应的分区标识为至少一个;根据群组标识和终端标识的映射关系获取每个分区标识对应的终端标识,其中,对应的终端标识为至少一个;以及根据对应的终端标识从长连接信息库中读取每个终端标识的预设信息。

可选地,一些实施例中,参见图2,通过以下步骤建立信息库:

S21:接收终端发送的请求消息,其中,请求消息包括:终端标识、目标群组标识,以及终端的预设信息。

可选地,接收终端发送的请求消息,其中,请求消息包括:终端标识(例如,终端ID)、目标群组标识(例如,目标群组ID),以及终端的预设信息(例如,终端的长连接信息),以根据请求消息中的终端标识判断终端的预设信息是否在长连接信息库中。

S22:根据终端标识判断终端的预设信息是否在长连接信息库中,若是,则执行S24,若否,则执行S23。

可选地,根据终端标识判断终端的预设信息是否在长连接信息库中,例如,根据终端ID判断终端的长连接信息是否已经存在于长连接信息库中,以触发后续步骤。

S23:将终端的预设信息添加至长连接信息库中。

可选地,在终端的预设信息未在长连接信息库中时,将终端的预设信息添加至长连接信息库中,即,将终端的长连接信息添加至长连接信息库中,且终端标识作为存储信息的唯一标识,即,可以根据终端标识来判断终端的预设信息是否在长连接信息库中。

S24:根据预设规则对终端标识进行分区,并获取分区标识。

在本发明的实施例中,预设规则根据以下任一方式确定:根据哈希算法分区的方式;根据终端内存分区的方式;根据终端所在的区域分区的方式。

可选地,在终端的预设信息在长连接信息库中,或者,已将终端的预设信息添加至长连接信息库中时,根据预设规则对终端标识进行分区,并获取分区标识(例如,分区ID),以根据终端标识、分区标识、目标群组标识,以及终端的预设信息生成群组标识和终端标识的映射关系。

S25:根据终端标识、分区标识、目标群组标识,以及终端的预设信息生成群组标识和终端标识的映射关系。

可选地,根据终端标识、分区标识、目标群组标识,以及终端的预设信息生成群组标识和终端标识的映射关系,便于读取与每个目标群组标识对应的终端标识,缩短对终端标识进行识别所用的时间。

作为一种示例,参见图3,图3为本发明实施例中群组标识和终端标识的映射关系示意图,根节点为群组标识,群组标识下一层包含分区标识,分区标识下一层是终端标识,每个终端标识对应唯一的终端的预设信息,即终端的长连接信息。

S26:将群组标识和终端标识的映射关系保存在信息库中。

可选地,将群组标识和终端标识的映射关系保存在信息库中,以便服务器从信息库中读取与每个目标群组标识对应的终端标识。

本实施例中,通过根据预设规则对终端标识进行分区,并获取分区标识,根据终端标识、分区标识、目标群组标识,以及终端的预设信息生成群组标识和终端标识的映射关系,将群组标识和终端标识的映射关系保存在信息库中,能够便于从信息库中读取与每个目标群组标识对应的终端标识,缩短对终端标识进行识别所用的时间,有效提升待推送消息推送的时效性。

可选地,一些实施例中,参见图4,步骤S12具体包括:

S41:根据群组标识和终端标识的映射关系获取每个目标群组标识对应的分区标识,其中,目标群组标识为至少一个,对应的分区标识为至少一个。

例如,参见图3,可以根据群组标识和终端标识的映射关系获取每个目标群组标识对应的分区标识,由图3可看出,每个目标群组标识对应的分区标识为至少一个。

S42:根据群组标识和终端标识的映射关系获取每个分区标识对应的终端标识,其中,对应的终端标识为至少一个。

例如,参见图3,可以根据群组标识和终端标识的映射关系获取每个分区标识对应的终端标识,由图3可看出,每个分区标识对应的终端标识为至少一个。

S43:根据对应的终端标识从长连接信息库中读取每个终端标识的预设信息。

例如,参见图3,每个终端标识对应唯一的预设信息,可以根据对应的终端标识从长连接信息库中读取每个终端标识的预设信息,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

本实施例中,通过根据群组标识和终端标识的映射关系获取每个分区标识对应的终端标识,根据对应的终端标识从长连接信息库中读取每个终端标识的预设信息,能够根据预设信息将待推送消息并行推送至每个终端标识对应的终端,有效提升待推送消息推送的时效性,且避免群组终端个数的限制。

S13:根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

可选地,参见图3,由图3可知,由于每个终端标识对应唯一的预设信息,服务器可以根据每个终端标识的预设信息将待推送消息并行推送至每个终端标识对应的终端。

可选地,一些实施例中,参见图5,步骤S13具体包括:

S51:对每个分区标识建立推送任务,其中,推送任务与对应的分区标识的数量相同,且,至少一个的推送任务之间并行执行。

可选地,服务器根据群组标识获取群组内所有的分区标识,参见图3,根据分区标识的数量建立并行推送任务,推送任务负责根据分区标识获取该分区下的所有终端的预设信息,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

S52:并行执行对应的分区标识中每个分区标识的推送任务,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

可选地,并行执行群组标识对应的分区标识中每个分区标识的推送任务,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制。

本实施例中,通过对每个分区标识建立推送任务,并行执行对应的分区标识中每个分区标识的推送任务,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

本实施例中,通过从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息,根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

图6是本发明一实施例提出的消息推送装置的结构示意图。该消息推送装置60可以通过软件、硬件或者两者的结合实现,该消息推送装置60可以包括:第一接收模块601、读取模块602,以及推送模块603。其中,

第一接收模块601,用于接收待推送消息,待推送消息包括:消息体和目标群组标识。

读取模块602,用于从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息。

可选地,预设信息为长连接信息,信息库中包括:长连接信息库、群组标识和终端标识的映射关系。

推送模块603,用于根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

一些实施例中,参见图7,该消息推送装置60还可以包括:

可选地,读取模块602包括:

第一获取子模块6021,用于根据群组标识和终端标识的映射关系获取每个目标群组标识对应的分区标识,其中,目标群组标识为至少一个,对应的分区标识为至少一个。

第二获取子模块6022,用于根据群组标识和终端标识的映射关系获取每个分区标识对应的终端标识,其中,对应的终端标识为至少一个。

读取子模块6023,用于根据对应的终端标识从长连接信息库中读取每个终端标识的预设信息。

可选地,推送模块603包括:

建立子模块6031,用于对每个分区标识建立推送任务,其中,推送任务与对应的分区标识的数量相同,且,至少一个的推送任务之间并行执行。

执行子模块6032,用于并行执行对应的分区标识中每个分区标识的推送任务,以根据预设信息将待推送消息并行推送至每个终端标识对应的终端。

可选地,通过以下模块建立信息库:

第二接收模块604,用于接收终端发送的请求消息,其中,请求消息包括:终端标识、目标群组标识,以及终端的预设信息。

判断模块605,用于根据终端标识判断终端的预设信息是否在长连接信息库中。

添加模块606,用于在终端的预设信息不在长连接信息库中时,将终端的预设信息添加至长连接信息库中。

分区模块607,用于在终端的预设信息在长连接信息库中,或者,已将终端的预设信息添加至长连接信息库中时,根据预设规则对终端标识进行分区,并获取分区标识。

可选地,预设规则根据以下任一方式确定:根据哈希算法分区的方式;根据终端内存分区的方式;根据终端所在的区域分区的方式。

生成模块608,用于根据终端标识、分区标识、目标群组标识,以及终端的预设信息生成群组标识和终端标识的映射关系。

保存模块609,用于将群组标识和终端标识的映射关系保存在信息库中。

需要说明的是,前述图1-图5实施例中对消息推送方法实施例的解释说明也适用于该实施例的消息推送装置60,其实现原理类似,此处不再赘述。

本实施例中,通过从信息库中读取与每个目标群组标识对应的终端标识,并根据对应的终端标识读取每个终端标识的预设信息,根据预设信息将待推送消息并行推送至每个终端标识对应的终端,能够有效提升待推送消息推送的时效性,且避免群组内终端个数的限制,提升用户体验。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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