提升消息推送效率的方法、装置及推送服务器的制造方法_2

文档序号:9870392阅读:来源:国知局
br>[0027]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0028]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0029]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0030]下面参考附图描述本发明实施例的在多机部署情况下的提升消息推送效率的方法、装置及推送服务器。
[0031]图2是本发明一个实施例的在多机部署情况下的提升消息推送效率的方法的流程图。其中,在多机部署情况下,消息推送服务器包括推送服务模块和多个推送接入引擎,推送服务模块分别与多个推送接入引擎相连,每个推送接入引擎分别与多个终端设备建立长连接(标识为Sess1n)。
[0032]如图2所示,提升消息推送效率的方法包括以下步骤:
[0033]S201,推送服务模块将消息和终端标识无差别的推送至每个推送接入引擎上。
[0034]S202,推送接入引擎接收推送服务模块推送的消息和终端标识。
[0035]具体地,推送服务模块在接收到用户的推送请求时,不再通过连接定位模块查找对应的目标终端所在的推送接入引擎,而是无差别的将推送消息推送给所有的推送接入引擎。其中推送接入引擎的个数为多个,每个推送接入引擎对应多个不同的终端设备,且每个终端设备均存在于该推送接入引擎对应的长连接,即标识为Sess1n的长连接。也就是说,每个推送接入引擎均接收到推送服务模块发送的推送消息和终端标识。其中,终端标识即devicetoken,对于推送接入引擎对应的多个终端设备,每个终端设备均通过一个唯一的devicetoken进行标识。
[0036]S203,推送接入引擎根据终端标识判断该推送接入引擎上是否存在与终端标识对应的长连接Sess 1n。
[0037]根据本发明的一个实施例,推送接入引擎具有对应关系列表,对应关系列表包括终端标识和长连接Sess1n的对应关系,推送接入引擎根据终端标识和长连接Sess1n的对应关系判断推送接入引擎上是否存在与终端标识对应的长连接Sess1n。具体地,将终端标识和长连接Sess1n的对应关系预存在推送接入引擎中,从而保证推送服务模块发送过来的推送消息可以正确的映射成实际的长连接Ses s i on。推送接入弓I擎在接收到推送服务模块发送的推送消息和终端标识后,将接收到的终端标识与预存的终端标识进行比较,以判断是否存在终端标识对应的长连接Ses s i on。
[0038]S204,如果推送接入引擎判断该推送接入引擎上存在与终端标识对应的长连接Ses s i on,则将消息通过长连接推送至对应的终端设备上。
[0039]具体地,如果推送接入引擎接收到的终端标识与预存的终端标识匹配,则根据预存的终端标识和长连接Se s s i on的对应关系获取对应的长连接,进而推送接入弓I擎直接通过该长连接将推送消息推送至对应的终端设备,从而避免了消息推送时需要先在连接定位模块中查找对应的长连接Sess1n,后将推送消息发送至对应的推送接入引擎进行推送所引起的效率低的问题。
[0040]在本发明的一个实施例中,对应关系列表还包括至少一个应用ID,推送接入引擎根据至少一个应用ID将消息推送至终端设备对应的应用程序上。具体而言,推送接入引擎中预存有应用ID,一个长连接Sess1n可以对应一个应用ID,也可以对应多个应用ID,例如,
推送接入引擎中保存的数据结构可以是{token,sess1n,{appidl,appid2,......}},其中,
appidl为第一个应用ID,appid2为第二个应用ID,因此,推送接入引擎在根据devicetoken确定对应的长连接Sess1n之后,根据长连接Sess1n获取对应的一个或者多个应用ID,进而推送接入引擎根据长连接和应用ID将推送消息推送到对应的终端设备的对应的应用程序上。
[0041]S205,如果推送接入引擎判断该推送接入引擎上不存在与终端标识对应的长连接S e s s i ο η,则将消息直接丢弃。
[0042]具体地,如果推送接入引擎判断预存的终端标识中不存在与接收到的终端标识匹配的终端标识,则推送接入引擎对推送消息不做任何处理,直接丢弃。
[0043]本发明实施例的提升消息推送效率的方法,推送服务模块将消息和终端标识无差别的发送至所有的推送接入引擎上,推送接入引擎通过判断是否存在与终端标识对应的长连接Sess1n,如果存在与终端标识对应的长连接Sess 1n,则立刻将消息通过长连接推送至对应的终端设备上,由此打破了消息推送过程中关于长连接Sess1n定位的思维模式,通过构架的调整将繁重的定位分发任务从效率相对低的推送服务模块转移到推送接入引擎,借助推送接入引擎的高性能特性实现推送效率的大幅度提高,经过测算显示实际推送效率能够提升300 %。
[0044]为了实现上述实施例,本发明还提出了一种在多机部署情况下的消息推送装置。
[0045]图3是本发明一个实施例的在多机部署情况下的提升消息推送效率的装置的结构示意图。
[0046]如图3所示,提升消息推送效率的装置包括:推送服务模块100和多个推送接入引擎200。
[0047]具体地,推送服务模块100用于将消息和终端标识无差别的推送至每个推送接入引擎200上。具体而言,推送服务模块100在接收到用户的推送请求时,不再通过连接定位模块查找对应的目标终端所在的推送接入引擎200,而是无差别的将推送消息推送给所有的推送接入引擎200。其中推送接入引擎200的个数为多个,每个推送接入引擎200对应多个不同的终端设备,且每个终端设备均存在于该推送接入引擎200对应的长连接,即标识为Sess1n的长连接。也就是说,每个推送接入引擎200均接收到推送服务模块100发送的推送消息和终端标识。其中,终端标识即devicetoken,对于推送接入引擎200对应的多个终端设备,每个终端设备均通过一个唯一的devicetoken进行标识。
[0048]推送接入引擎200与推送服务模块100相连,用于分别与多个终端设备建立长连接,并根据终端标识判断推送接入引擎200上是否存在与终端标识对应的长连接Sess1n,以及在推送接入引擎200判断该推送接入引擎200上存在与终端标识对应的长连接Sess1n时,将推送消息通过长连接推送至对应的终端设备上。
[0049]具体地,推送接入引擎200具有对应关系列表,对应关系列表包括终端标识和长连接Sess1n的对应关系,推送接入引擎200根据终端标识和长连接Sess1n的对应关系判断推送接入引擎200上是否存在与终端标识对应的长连接Sess1n。具体而言,将终端标识和长连接Se
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1