CN108173951B - 推送消息的方法和装置 - Google Patents
推送消息的方法和装置 Download PDFInfo
- Publication number
- CN108173951B CN108173951B CN201711484970.3A CN201711484970A CN108173951B CN 108173951 B CN108173951 B CN 108173951B CN 201711484970 A CN201711484970 A CN 201711484970A CN 108173951 B CN108173951 B CN 108173951B
- Authority
- CN
- China
- Prior art keywords
- message
- pushed
- client
- end unit
- pushing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种推送消息的方法和装置。该方法包括:新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态;若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长;以及若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端。本发明实施例能够保证用户的客户端能够及时、准确地接收到推送的消息。
Description
技术领域
本发明涉及互联网应用技术领域,特别是一种推送消息的方法和装置。
背景技术
消息推送是通过自动传送信息给用户,来减少用户用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。
在现有业务环境下,消息推送方向用户推送消息,会遇到用户的客户端上线或下线比较频繁,也会遇到网络故障等情况,因此,如何保证用户的客户端能够及时、准确地接收到推送的消息成为亟需解决的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的推送消息的方法和相应的装置。
根据本发明实施例的一方面,提供了一种推送消息的方法,应用于消息推送平台向客户端推送消息的情况,所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息,所述方法还包括:
新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
可选地,所述方法还包括:
若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
可选地,所述方法还包括:
客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
可选地,所述消息推送请求由推送端发起或者由客户端发起。
可选地,所述方法还包括:
所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
可选地,在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,所述方法还包括:
确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;以及
若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
可选地,所述方法还包括:
若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
可选地,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
可选地,所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则将所述前端单元中保存的待推送消息推送给客户端的步骤进一步包括:
由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
可选地,所述消息推送平台还包括路由单元,所述前端单元在接收到客户端的连接请求时,由所述连接请求对应的前端节点与客户端建立连接,并将连接信息注册到所述路由单元;所述路由单元记录前端节点与客户端间的连接信息。
可选地,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息的步骤进一步包括:
所述后端单元接收到消息推送请求时,解析所述消息推送请求得到待推送消息的标识,根据所述待推送消息的标识从所述数据库中查找相应的待推送消息,并提取。
可选地,所述后端单元将待推送消息发送给所述前端单元的步骤进一步包括:
所述后端单元根据所述消息推送请求确定待推送的客户端,从所述路由单元记录的连接信息中查找待推送的客户端连接的所述前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
可选地,所述后端单元根据所述消息推送请求确定待推送的客户端的步骤进一步包括:
所述后端单元从所述消息推送请求中解析得到待推送的客户端;或者
所述后端单元从所述消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与所述相关条件匹配的客户端。
可选地,所述相关条件包括下列至少之一:
区域信息、接入的网络类型、所在终端的当前状态。
可选地,所述后端单元将待推送消息发送给所述前端单元的步骤进一步包括:
所述后端单元从所述消息推送请求中解析得到待推送的所述前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点。
可选地,所述方法还包括:
所述后端单元从所述路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为所述消息推送请求对应的客户端。
根据本发明实施例的另一方面,还提供了一种推送消息的装置,应用于消息推送平台向客户端推送消息的情况,所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息,所述装置包括:
状态新增模块,适于新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
状态确定模块,适于在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
第一处理模块,适于若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
第二处理模块,适于若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
可选地,所述装置还包括:
第三处理模块,适于若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
可选地,所述第三处理模块还适于:
客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
可选地,所述消息推送请求由推送端发起或者由客户端发起。
可选地,所述装置还包括:
列表生成模块,适于所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
可选地,所述装置还包括:
去重模块,适于在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,则确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
可选地,所述去重模块还适于:
若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
可选地,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
可选地,所述第二处理模块还适于:
所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
可选地,所述消息推送平台还包括路由单元,所述前端单元在接收到客户端的连接请求时,由所述连接请求对应的前端节点与客户端建立连接,并将连接信息注册到所述路由单元;所述路由单元记录前端节点与客户端间的连接信息。
可选地,所述后端单元接收到消息推送请求时,解析所述消息推送请求得到待推送消息的标识,根据所述待推送消息的标识从所述数据库中查找相应的待推送消息,并提取。
可选地,所述后端单元根据所述消息推送请求确定待推送的客户端,从所述路由单元记录的连接信息中查找待推送的客户端连接的所述前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
可选地,所述后端单元从所述消息推送请求中解析得到待推送的客户端;或者
所述后端单元从所述消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与所述相关条件匹配的客户端。
可选地,所述相关条件包括下列至少之一:
区域信息、接入的网络类型、所在终端的当前状态。
可选地,所述后端单元从所述消息推送请求中解析得到待推送的所述前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点。
可选地,所述后端单元从所述路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为消息推送请求对应的客户端。
在本发明实施例中,新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态;若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长;以及若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端。由此可知,本发明实施例基于新增的消息推送过程中的多个状态,在客户端与前端单元断开连接时,若消息推送当前所处的状态为中间状态,并不是立即释放前端单元中保存的待推送消息,而是等待第一指定时长,如果在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端,这样能够保证用户的客户端能够及时、准确地接收到推送的消息。并且,本发明实施例直接将前端单元中保存的待推送消息推送给客户端,而不是重新从数据库中提取待推送消息,能够减轻数据库的访问压力,节省网络开销。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一实施例的推送消息的方法的流程图;
图2示出了根据本发明另一实施例的推送消息的方法的流程图;
图3示出了根据本发明一实施例的推送消息的装置的结构示意图;以及
图4示出了根据本发明另一实施例的推送消息的装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种推送消息的方法,应用于消息推送平台向客户端推送消息的情况,消息推送平台可以包括前端单元、数据库以及后端单元,后端单元接收到消息推送请求时,根据消息推送请求从数据库提取相应的待推送消息,并将待推送消息发送给前端单元,由前端单元向消息推送请求对应的客户端推送待推送消息。
图1示出了根据本发明一实施例的推送消息的方法的流程图。如图1所示,该推送消息的方法可以包括以下步骤S102、步骤S104、步骤S106以及步骤S108。
步骤S102,新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态。
步骤S104,在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态。
步骤S106,若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长。
步骤S108,若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端。
本发明实施例基于新增的消息推送过程中的多个状态,在客户端与前端单元断开连接时,若消息推送当前所处的状态为中间状态,并不是立即释放前端单元中保存的待推送消息,而是等待第一指定时长,如果在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端,这样能够保证用户的客户端能够及时、准确地接收到推送的消息。并且,本发明实施例直接将前端单元中保存的待推送消息推送给客户端,而不是重新从数据库中提取待推送消息,能够减轻数据库的访问压力,节省网络开销。
在本发明的可选实施例中,若在第一指定时长内,客户端与前端单元没有重新建立连接,则放行释放前端单元中保存的待推送消息的操作,并保存待推送消息至数据库,以使得客户端与前端单元重新建立连接后,从数据库提取待推送消息,并向客户端推送待推送消息。这里的第一指定时长可以根据实际需求进行设置,如10分钟等,本发明实施例对此不作限制。
在本发明的可选实施例中,客户端与前端单元断开连接,并在第一指定时长后重新建立连接,可能会因为时间短或网络的原因,待推送消息还没有及时保存至数据库,从而拉取不到离线消息。本发明实施例可以在用户登录上线一段时间后为该用户再拉一次消息,这就保证了消息的尽量及时发送。具体地,可以是客户端与前端单元重新建立连接后,等待第二指定时长,之后向后端单元发送消息推送请求,从而由后端单元根据消息推送请求从数据库提取相应的待推送消息。这里的第二指定时长可以根据实际需求进行设置,如5分钟等,本发明实施例对此不作限制。
在本发明的可选实施例中,消息推送请求可以由推送端发起或者由客户端发起。这里的推送端可以是业务、管理员等运营方。
在本发明的可选实施例中,前端单元接收到待推送消息时,生成消息推送列表,从而使得前端单元能够根据消息推送列表向消息推送请求对应的客户端推送待推送消息。
在本发明的可选实施例中,在推送端向后端单元发起消息推送请求后,若推送端再次向后端单元发起消息推送请求,则可以确定推送端再次向后端单元发起消息推送请求时,消息推送所处的当前状态;以及若当前状态为目标状态,则不将再次发起的消息推送请求对应的待推送消息加入到消息推送列表。这样可以实现推送消息的去重,尽量保证发送一次。
在本发明的可选实施例中,在推送端向后端单元发起消息推送请求后,若推送端再次向后端单元发起消息推送请求,则可以确定推送端再次向后端单元发起消息推送请求时,消息推送所处的当前状态;以及若当前状态为中间状态,则判断消息推送列表中是否已存在再次发起的消息推送请求对应的待推送消息;以及若是,则不将再次发起的消息推送请求对应的待推送消息加入到消息推送列表;若否,则将再次发起的消息推送请求对应的待推送消息加入到消息推送列表。可以看到,该实施例也实现了推送消息的去重,尽量保证发送一次。
在本发明的可选实施例中,上文步骤S102中提及的中间状态可以包括第一状态和第二状态,第一状态是指待推送消息已发送到前端单元,但是还未向客户端推送;第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
在本发明的可选实施例中,前端单元可以由多个前端节点构成,在第一指定时长内,客户端与前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则步骤S108中将前端单元中保存的待推送消息推送给客户端,具体可以是由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
在本发明的可选实施例中,消息推送平台除了包括前端单元、数据库以及后端单元之外,还可以包括路由单元,前端单元在接收到客户端的连接请求时,由连接请求对应的前端节点与客户端建立连接,并将连接信息注册到路由单元;路由单元记录前端节点与客户端间的连接信息。
本发明实施例提供的消息推送平台通过前端单元、路由单元、数据库以及后端单元之间的相互协作来推送消息,角色划分明确,易于实现和运维扩容,能够提高消息推送的效率和准确性。并且,本发明实施例将前端节点与客户端间动态的连接信息从前端单元、数据库和后端单元抽取出来,由路由单元来实时记录,能够有效减少数据库的访问压力以及前端单元、后端单元的负载。
在可选的实施例中,多个前端节点可以分布在一个或多个服务器集群。例如,前端单元中的多个前端节点按照不同的产品分为集群P1、P2、P3等等,P1包括前端节点A1、A2、A3、A4、A5等,P2包括前端节点B1、B2、B3、B4、B5等,以此类推,即:
P1(前端节点A1、A2、A3、A4、A5……)
P2(前端节点B1、B2、B3、B4、B5……)
P3(前端节点C1、C2、C3、C4、C5……)
……
假设客户端a连接了前端节点A1,则在前端节点A1上记录该连接信息,并将连接信息注册到消息推送平台上的路由单元;同样地,对于客户端b、c、d等等也可以是同样的操作。需要说明的是,此处列举仅是示意性的,并不对本发明实施例进行限制。
在本发明的可选实施例中,后端单元接收到消息推送请求时,根据消息推送请求从数据库提取相应的待推送消息的步骤进一步可以是后端单元接收到消息推送请求时,解析消息推送请求得到待推送消息的标识,根据待推送消息的标识从数据库中查找相应的待推送消息,并提取。
在本发明的可选实施例中,后端单元将待推送消息发送给前端单元的步骤进一步可以是后端单元根据消息推送请求确定待推送的客户端,从路由单元记录的连接信息中查找待推送的客户端连接的前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
在可选的实施例中,后端单元根据消息推送请求确定待推送的客户端时,可以是从消息推送请求中解析得到待推送的客户端,也可以是从消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与相关条件匹配的客户端。这里的相关条件可以是区域信息、接入的网络类型、所在终端的当前状态等等,本发明实施例对此不作限制。
例如,消息推送请求为“向北京朝阳区用户发送消息123”,这里的“北京朝阳区”即为区域信息,则后端单元可以在客户端列表中查找与“北京朝阳区”匹配的客户端。又例如,消息推送请求为“将视频推送给当前是wifi状态的用户”,这里的“wifi状态”即为接入的网络类型,则后端单元可以在客户端列表中查找与“wifi状态”匹配的客户端。
在本发明的可选实施例中,后端单元将待推送消息发送给前端单元的步骤进一步可以是后端单元从消息推送请求中解析得到待推送的前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点,进而从路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为消息推送请求对应的客户端。
以上介绍了图1所示的实施例中各个环节的多种实现方式,下面通过具体的实施例来对本发明实施例提供的推送消息的方法做进一步说明。该具体实施例应用于消息推送平台向客户端推送消息的情况,消息推送平台可以包括前端单元、路由单元、数据库以及后端单元,具体地:
前端单元由一个或多个前端节点构成,在接收到客户端的连接请求时,由连接请求对应的前端节点与客户端建立连接,并将连接信息注册到路由单元;
路由单元记录前端节点与客户端间的连接信息;前端单元在与客户端的连接满足断开条件时,将与客户端的连接信息从路由单元注销,从而路由单元删除前端节点与客户端间的连接信息;
数据库存储待推送消息与其标识之间的对应关系;
后端单元接收到消息推送请求时,根据消息推送请求从数据库提取相应的待推送消息,并将待推送消息发送给前端单元,由前端单元向消息推送请求对应的客户端推送待推送消息。
这里的消息推送请求可以由推送端发起或者由客户端发起,推送端可以是业务、管理员等运营方。
图2示出了根据本发明另一实施例的推送消息的方法的流程图。如图2所示,该推送消息的方法可以包括以下步骤S202、步骤S204、步骤S206以及步骤S208。
步骤S202,新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态。
在该步骤中,中间状态可以包括第一状态和第二状态,第一状态是指待推送消息已发送到前端单元,但是还未向客户端推送;第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
步骤S204,在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态。
步骤S206,若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长;若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端;若在第一指定时长内,客户端与前端单元没有重新建立连接,则放行释放前端单元中保存的待推送消息的操作,并保存待推送消息至数据库,以使得客户端与前端单元重新建立连接后,从数据库提取待推送消息,并向客户端推送待推送消息。
在该步骤中,第一指定时长可以根据实际需求进行设置,如10分钟等,本发明实施例对此不作限制。
在客户端与前端单元重新建立连接后,等待第二指定时长,之后向后端单元发送消息推送请求,从而由后端单元根据消息推送请求从数据库提取相应的待推送消息。这里的第二指定时长可以根据实际需求进行设置,如5分钟等,本发明实施例对此不作限制。
在可选的实施例中,前端单元接收到待推送消息时,生成消息推送列表,从而使得前端单元能够根据消息推送列表向消息推送请求对应的客户端推送待推送消息。
在可选的实施例中,在推送端向后端单元发起消息推送请求后,若推送端再次向后端单元发起消息推送请求,则可以确定推送端再次向后端单元发起消息推送请求时,消息推送所处的当前状态;以及若当前状态为目标状态,则不将再次发起的消息推送请求对应的待推送消息加入到消息推送列表。这样可以实现推送消息的去重,尽量保证发送一次。
在可选的实施例中,在推送端向后端单元发起消息推送请求后,若推送端再次向后端单元发起消息推送请求,则可以确定推送端再次向后端单元发起消息推送请求时,消息推送所处的当前状态;以及若当前状态为中间状态,则判断消息推送列表中是否已存在再次发起的消息推送请求对应的待推送消息;以及若是,则不将再次发起的消息推送请求对应的待推送消息加入到消息推送列表;若否,则将再次发起的消息推送请求对应的待推送消息加入到消息推送列表。可以看到,该实施例也实现了推送消息的去重,尽量保证发送一次。
步骤S208,若当前所处的状态为目标状态,则放行释放前端单元中保存的待推送消息的操作。
本发明实施例基于新增的消息推送过程中的多个状态,在客户端与前端单元断开连接时,若消息推送当前所处的状态为中间状态,并不是立即释放前端单元中保存的待推送消息,而是等待第一指定时长,如果在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端,这样能够保证用户的客户端能够及时、准确地接收到推送的消息。并且,本发明实施例直接将前端单元中保存的待推送消息推送给客户端,而不是重新从数据库中提取待推送消息,能够减轻数据库的访问压力,节省网络开销。若当前所处的状态为目标状态,则放行释放前端单元中保存的待推送消息的操作,这样能够保证消息发送一次,避免重复推送消息。
需要说明的是,实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。
基于上文各个实施例提供的推送消息的方法,基于同一发明构思,本发明实施例还提供了一种推送消息的装置。
图3示出了根据本发明一实施例的推送消息的装置的结构示意图,该推送消息的装置可以应用于消息推送平台向客户端推送消息的情况,所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息。如图3所示,该装置可以包括状态新增模块310、状态确定模块320、第一处理模块330以及第二处理模块340。
现介绍本发明实施例的推送消息的装置的各组成或器件的功能以及各部分间的连接关系:
状态新增模块310,适于新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
状态确定模块320,与状态新增模块310相耦合,适于在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
第一处理模块330,与状态确定模块320相耦合,适于若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
第二处理模块340,与第一处理模块330相耦合,适于若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
在本发明的可选实施例中,如图4所示,上文图3展示的装置还可以包括:
第三处理模块410,与第一处理模块330相耦合,适于若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
在本发明的可选实施例中,所述第三处理模块410还适于:
客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
在本发明的可选实施例中,所述消息推送请求由推送端发起或者由客户端发起。
在本发明的可选实施例中,如图4所示,上文图3展示的装置还可以包括:
列表生成模块420,适于所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
在本发明的可选实施例中,如图4所示,上文图3展示的装置还可以包括:
去重模块430,适于在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,则确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
在本发明的可选实施例中,所述去重模块430还适于:
若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
在本发明的可选实施例中,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
在本发明的可选实施例中,所述第二处理模块340还适于:
所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
在本发明的可选实施例中,所述消息推送平台还包括路由单元,所述前端单元在接收到客户端的连接请求时,由所述连接请求对应的前端节点与客户端建立连接,并将连接信息注册到所述路由单元;所述路由单元记录前端节点与客户端间的连接信息。
在本发明的可选实施例中,所述后端单元接收到消息推送请求时,解析所述消息推送请求得到待推送消息的标识,根据所述待推送消息的标识从所述数据库中查找相应的待推送消息,并提取。
在本发明的可选实施例中,所述后端单元根据所述消息推送请求确定待推送的客户端,从所述路由单元记录的连接信息中查找待推送的客户端连接的所述前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
在本发明的可选实施例中,所述后端单元从所述消息推送请求中解析得到待推送的客户端;或者
所述后端单元从所述消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与所述相关条件匹配的客户端。
在本发明的可选实施例中,所述相关条件包括下列至少之一:
区域信息、接入的网络类型、所在终端的当前状态。
在本发明的可选实施例中,所述后端单元从所述消息推送请求中解析得到待推送的所述前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点。
在本发明的可选实施例中,所述后端单元从所述路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为所述消息推送请求对应的客户端。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
在本发明实施例中,新增消息推送过程中的多个状态,其中,多个状态包括表示待推送消息位于数据库的初始状态,表示待推送消息位于前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;在消息推送平台向客户端推送消息的过程中,若客户端与前端单元断开连接,则确定消息推送当前所处的状态;若当前所处的状态为中间状态,则拦截释放前端单元中保存的待推送消息的操作,并等待第一指定时长;以及若在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端。由此可知,本发明实施例基于新增的消息推送过程中的多个状态,在客户端与前端单元断开连接时,若消息推送当前所处的状态为中间状态,并不是立即释放前端单元中保存的待推送消息,而是等待第一指定时长,如果在第一指定时长内,客户端与前端单元重新建立连接,则将前端单元中保存的待推送消息推送给客户端,这样能够保证用户的客户端能够及时、准确地接收到推送的消息。并且,本发明实施例直接将前端单元中保存的待推送消息推送给客户端,而不是重新从数据库中提取待推送消息,能够减轻数据库的访问压力,节省网络开销。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的推送消息的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (32)
1.一种推送消息的方法,应用于消息推送平台向客户端推送消息的情况,
所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息,所述方法还包括:
新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
2.根据权利要求1所述的方法,其中,还包括:
若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
3.根据权利要求2所述的方法,其中,还包括:
客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
4.根据权利要求3所述的方法,其中,所述消息推送请求由推送端发起或者由客户端发起。
5.根据权利要求4所述的方法,其中,还包括:
所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
6.根据权利要求5所述的方法,其中,在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,所述方法还包括:
确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;以及
若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
7.根据权利要求6所述的方法,其中,还包括:
若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
8.根据权利要求1-7中任一项所述的方法,其中,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
9.根据权利要求8所述的方法,其中,所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则将所述前端单元中保存的待推送消息推送给客户端的步骤进一步包括:
由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
10.根据权利要求9所述的方法,其中,所述消息推送平台还包括路由单元,所述前端单元在接收到客户端的连接请求时,由所述连接请求对应的前端节点与客户端建立连接,并将连接信息注册到所述路由单元;所述路由单元记录前端节点与客户端间的连接信息。
11.根据权利要求10所述的方法,其中,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息的步骤进一步包括:
所述后端单元接收到消息推送请求时,解析所述消息推送请求得到待推送消息的标识,根据所述待推送消息的标识从所述数据库中查找相应的待推送消息,并提取。
12.根据权利要求10或11所述的方法,其中,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元的步骤进一步包括:
所述后端单元根据所述消息推送请求确定待推送的客户端,从所述路由单元记录的连接信息中查找待推送的客户端连接的所述前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
13.根据权利要求12所述的方法,其中,所述后端单元根据所述消息推送请求确定待推送的客户端的步骤进一步包括:
所述后端单元从所述消息推送请求中解析得到待推送的客户端;或者
所述后端单元从所述消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与所述相关条件匹配的客户端。
14.根据权利要求13所述的方法,其中,所述相关条件包括下列至少之一:
区域信息、接入的网络类型、所在终端的当前状态。
15.根据权利要求10或11所述的方法,其中,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元的步骤进一步包括:
所述后端单元从所述消息推送请求中解析得到待推送的所述前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点。
16.根据权利要求15所述的方法,其中,还包括:
所述后端单元从所述路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为所述消息推送请求对应的客户端。
17.一种推送消息的装置,应用于消息推送平台向客户端推送消息的情况,所述消息推送平台包括前端单元、数据库以及后端单元,所述后端单元接收到消息推送请求时,根据所述消息推送请求从所述数据库提取相应的待推送消息,并将待推送消息发送给所述前端单元,由所述前端单元向所述消息推送请求对应的客户端推送待推送消息,所述装置包括:
状态新增模块,适于新增消息推送过程中的多个状态,其中,所述多个状态包括表示待推送消息位于所述数据库的初始状态,表示待推送消息位于所述前端单元的中间状态,以及表示待推送消息位于客户端的目标状态;
状态确定模块,适于在所述消息推送平台向客户端推送消息的过程中,若客户端与所述前端单元断开连接,则确定消息推送当前所处的状态;
第一处理模块,适于若当前所处的状态为所述中间状态,则拦截释放所述前端单元中保存的待推送消息的操作,并等待第一指定时长;以及
第二处理模块,适于若在所述第一指定时长内,客户端与所述前端单元重新建立连接,则将所述前端单元中保存的待推送消息推送给客户端。
18.根据权利要求17所述的装置,其中,还包括:
第三处理模块,适于若在所述第一指定时长内,客户端与所述前端单元没有重新建立连接,则放行释放所述前端单元中保存的待推送消息的操作,并保存待推送消息至所述数据库,以使得客户端与所述前端单元重新建立连接后,从所述数据库提取待推送消息,并向客户端推送待推送消息。
19.根据权利要求18所述的装置,其中,所述第三处理模块还适于:
客户端与所述前端单元重新建立连接后,等待第二指定时长,之后向所述后端单元发送消息推送请求,从而由所述后端单元根据所述消息推送请求从所述数据库提取相应的待推送消息。
20.根据权利要求19所述的装置,其中,所述消息推送请求由推送端发起或者由客户端发起。
21.根据权利要求20所述的装置,其中,还包括:
列表生成模块,适于所述前端单元接收到待推送消息时,生成消息推送列表,从而使得所述前端单元能够根据所述消息推送列表向所述消息推送请求对应的客户端推送待推送消息。
22.根据权利要求21所述的装置,其中,还包括:
去重模块,适于在所述推送端向所述后端单元发起所述消息推送请求后,若所述推送端再次向所述后端单元发起所述消息推送请求,则确定所述推送端再次向所述后端单元发起所述消息推送请求时,消息推送所处的当前状态;若所述当前状态为所述目标状态,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
23.根据权利要求22所述的装置,其中,所述去重模块还适于:
若所述当前状态为所述中间状态,则判断所述消息推送列表中是否已存在再次发起的所述消息推送请求对应的待推送消息;以及
若是,则不将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表;
若否,则将再次发起的所述消息推送请求对应的待推送消息加入到所述消息推送列表。
24.根据权利要求17-23中任一项所述的装置,其中,所述中间状态包括第一状态和第二状态,所述第一状态是指待推送消息已发送到所述前端单元,但是还未向客户端推送;所述第二状态是指待推送消息已向客户端推送,但是还未收到客户端返回的已收到消息的确认。
25.根据权利要求24所述的装置,其中,所述第二处理模块还适于:
所述前端单元由多个前端节点构成,在所述第一指定时长内,客户端与所述前端单元重新建立连接时,若重新建立连接的前端节点与上一次建立连接的前端节点不同,则由重新建立连接的前端节点从上一次建立连接的前端节点处获取保存的待推送消息,并将获取的待推送消息推送给客户端。
26.根据权利要求25所述的装置,其中,所述消息推送平台还包括路由单元,所述前端单元在接收到客户端的连接请求时,由所述连接请求对应的前端节点与客户端建立连接,并将连接信息注册到所述路由单元;所述路由单元记录前端节点与客户端间的连接信息。
27.根据权利要求26所述的装置,其中,所述后端单元接收到消息推送请求时,解析所述消息推送请求得到待推送消息的标识,根据所述待推送消息的标识从所述数据库中查找相应的待推送消息,并提取。
28.根据权利要求26或27所述的装置,其中,所述后端单元根据所述消息推送请求确定待推送的客户端,从所述路由单元记录的连接信息中查找待推送的客户端连接的所述前端单元中的前端节点,将待推送消息发送给查找到的前端节点。
29.根据权利要求28所述的装置,其中,所述后端单元从所述消息推送请求中解析得到待推送的客户端;或者
所述后端单元从所述消息推送请求中解析得到待推送客户端的相关条件,在预先构建的客户端列表中查找与所述相关条件匹配的客户端。
30.根据权利要求29所述的装置,其中,所述相关条件包括下列至少之一:
区域信息、接入的网络类型、所在终端的当前状态。
31.根据权利要求26或27所述的装置,其中,所述后端单元从所述消息推送请求中解析得到待推送的所述前端单元中的前端节点,并将待推送消息发送给解析得到的前端节点。
32.根据权利要求31所述的装置,其中,所述后端单元从所述路由单元记录的连接信息中查找解析得到的前端节点连接的客户端,作为所述消息推送请求对应的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711484970.3A CN108173951B (zh) | 2017-12-29 | 2017-12-29 | 推送消息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711484970.3A CN108173951B (zh) | 2017-12-29 | 2017-12-29 | 推送消息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108173951A CN108173951A (zh) | 2018-06-15 |
CN108173951B true CN108173951B (zh) | 2021-05-21 |
Family
ID=62516221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711484970.3A Active CN108173951B (zh) | 2017-12-29 | 2017-12-29 | 推送消息的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173951B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281673A (zh) * | 2013-06-09 | 2013-09-04 | 北京航空航天大学 | 一种商业信息推送服务系统及方法 |
CN103685570A (zh) * | 2013-12-27 | 2014-03-26 | 兴天通讯技术(天津)有限公司 | 服务器、终端和消息推送方法 |
CN104378436A (zh) * | 2014-11-20 | 2015-02-25 | 深圳市远行科技有限公司 | 一种基于服务器推送的信息推送系统及推送方法 |
CN105357286A (zh) * | 2015-10-20 | 2016-02-24 | 中国电子科技集团公司第二十八研究所 | 一种基于Web的实时消息定向推送方法 |
CN106713497A (zh) * | 2017-01-24 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种服务器端消息推送装置、方法及消息推送系统 |
CN107040902A (zh) * | 2015-07-29 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种消息推送的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101845086B1 (ko) * | 2011-03-30 | 2018-04-03 | 삼성전자주식회사 | 푸시 알림 메시지를 전송하기 위한 장치 및 방법 |
-
2017
- 2017-12-29 CN CN201711484970.3A patent/CN108173951B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281673A (zh) * | 2013-06-09 | 2013-09-04 | 北京航空航天大学 | 一种商业信息推送服务系统及方法 |
CN103685570A (zh) * | 2013-12-27 | 2014-03-26 | 兴天通讯技术(天津)有限公司 | 服务器、终端和消息推送方法 |
CN104378436A (zh) * | 2014-11-20 | 2015-02-25 | 深圳市远行科技有限公司 | 一种基于服务器推送的信息推送系统及推送方法 |
CN107040902A (zh) * | 2015-07-29 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种消息推送的方法和设备 |
CN105357286A (zh) * | 2015-10-20 | 2016-02-24 | 中国电子科技集团公司第二十八研究所 | 一种基于Web的实时消息定向推送方法 |
CN106713497A (zh) * | 2017-01-24 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种服务器端消息推送装置、方法及消息推送系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108173951A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897854B (zh) | 一种超时任务的监控方法和装置 | |
CN106933548B (zh) | 全局信息获取、处理及更新、方法、装置和系统 | |
CN106933550B (zh) | 全局信息获取、处理及更新方法、装置和系统 | |
EP3258653A1 (en) | Message pushing method and device | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
US20230017300A1 (en) | Query method and device suitable for olap query engine | |
CN105930502B (zh) | 一种收集数据的系统、客户端和方法 | |
CN111917687A (zh) | 一种循环推送提醒消息的方法和装置 | |
CN110995566A (zh) | 一种消息数据推送方法、系统及装置 | |
CN108063832B (zh) | 一种云存储系统及其存储方法 | |
CN102385536A (zh) | 一种实现并行计算的方法及系统 | |
CN111953551A (zh) | 日志数据的传输方法、装置、电子设备及存储介质 | |
CN113765774B (zh) | 消息实时同步方法、装置、电子设备及介质 | |
CN108234631B (zh) | 消息推送平台和消息推送方法 | |
CN103036746B (zh) | 基于网络中间点的网页响应时间被动测量方法及系统 | |
CN109302435B (zh) | 消息发布方法、装置、系统、服务器及计算机可读存储介质 | |
CN108173951B (zh) | 推送消息的方法和装置 | |
CN104852964A (zh) | 一种多功能服务器调度方法 | |
CN104731660A (zh) | 数据分配方法、装置和系统 | |
CN109189813B (zh) | 一种数据共享方法及装置 | |
CN109088907B (zh) | 文件传递方法及其设备 | |
US20130232269A1 (en) | Direct return to source (drs) routing of customer information control systems (cics) transactions | |
CN111131512B (zh) | 设备信息的处理方法、装置、存储介质及处理器 | |
CN114338794A (zh) | 一种服务消息的推送方法、装置、电子设备及存储介质 | |
CN103795810A (zh) | 数据分发系统及方法以及该数据分发系统中的中心服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |