接入控制方法、系统、路由服务器及计算机可读存储介质与流程

文档序号:13617415阅读:215来源:国知局
本发明涉及通信
技术领域
:,更具体地说,涉及接入控制方法、系统、路由服务器及计算机可读存储介质。
背景技术
::在现在很多应用程序系统中,都存在使用消息推送这样的功能,消息推送功能需要应用程序客户端与接入服务器建立长连接。由于一般应用程序系统的客户端数量会达到几十上百万之多,很多应用程序系统都会通过路由服务器根据一定的业务逻辑给客户端发送路由列表信息,客户端根据路由列表信息,选择其中的一个接入服务器建立长连接。因为每台接入服务器都是有最大接入量的,当超过该接入服务器的最大接入量时,则不允许客户端接入,返回错误码,由客户端自行处理,或者重新请求路由地址,或者选择其他路由地址重新进行接入。如果重新选择的路由地址也存在接入量已满的情况,则再次重复以上动作。这样就导致了接入流程的繁琐和不确定性,客户端的接入效率低。技术实现要素:本发明的主要目的在于提出接入控制方法、系统、路由服务器及计算机可读存储介质,旨在解决现有技术中,应用程序客户端与接入服务器建立长连接的过程繁琐、接入效率低的问题。为解决上述技术问题,本发明提供一种接入控制方法,接入控制方法包括以下步骤:在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;缓存服务器中存储有各个接入服务器的当前剩余负荷;根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接。其中,在按照预设策略查询出路由列表信息之前,还包括:各个接入服务器在启动之后,每隔预设时长把自身的当前剩余负荷发送至缓存服务器中进行存储。其中,在从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接之后,还包括:对终端侧应用程序客户端进行消息推送。其中,当前剩余负荷包括当前可接入客户端数量或当前剩余资源大小。其中,待接入服务器的身份信息包括待接入服务器的互联网协议地址和端口、域名或者连接地址。其中,接入服务器隶属于独立应用程序接入服务器集群、或推送中控接入服务器集群。其中,缓存服务器包括redis缓存服务器、或者memcached缓存服务器。进一步地,本发明提供一种接入控制系统,包括:终端侧应用程序客户端、路由服务器、缓存服务器以及接入服务器;路由服务器,用于在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;并根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;并根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器,并发送给终端侧应用程序客户端;终端侧应用程序客户端,用于从目标接入服务器中选择一个与之建立长连接;接入服务器,用于与终端侧应用程序客户端建立长连接;缓存服务器,用于存储各个接入服务器的当前剩余负荷。进一步地,本发明提供一种路由服务器,路由服务器包括处理器、存储器及通信总线;通信总线用于实现处理器和存储器之间的连接通信;处理器用于执行存储器中存储的一个或者多个程序,以实现前述的接入控制方法的步骤。进一步地,本发明提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现前述的接入控制方法的步骤。有益效果本发明提供了接入控制方法、系统、路由服务器及计算机可读存储介质,该接入控制方法包括以下步骤:在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;缓存服务器中存储有各个接入服务器的当前剩余负荷;根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接;通过上述方案,缓存服务器中存储有各个接入服务器的当前剩余负荷,在查询出待接入服务器的身份信息之后,从缓存服务器中查询出每个待接入服务器的当前剩余负荷,并进一步确定出当前可接入的目标接入服务器,使得确定出的目标接入服务器允许客户端的接入,从源头进行了接入数量的控制,减少了客户端的重复接入流程,提高了客户端的接入效率。附图说明下面将结合附图及实施例对本发明作进一步说明,附图中:图1为实现本发明各个实施例一个可选的服务器的硬件结构示意图;图2为本发明第一实施例提供的一种接入控制方法的流程图;图3为本发明各个实施例提供的一种服务器集群的示意图;图4为本发明第二实施例提供的一种接入控制系统的示意图;图5为本发明第三实施例提供的一种路由服务器的示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。现在将参考附图描述实现本发明各个实施例的服务器。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。如图1所示,为实现本发明各个实施例一个可选的服务器的结构示意图,该服务器至少包括:输入输出(io)总线11、处理器12、存储器13、内存14和通信装置15。其中,输入输出(io)总线11分别与自身所属的服务器的其它部件(处理器12、存储器13、内存14和通信装置15)连接,并且为其它部件提供传送线路。处理器12通常控制自身所属的服务器的总体操作。例如,处理器12执行计算和确认等操作。其中,处理器12可以是中央处理器(cpu)。通信装置15,通常包括一个或多个组件,其允许自身所属的服务器与无线通信系统或网络之间的无线电通信。存储器13存储处理器可读、处理器可执行的软件代码,其包含用于控制处理器12执行本文描述的功能的指令(即软件执行功能)。基于上述服务器硬件结构,以下通过具体实施例对本发明进行详细说明。第一实施例为了解决现有技术中应用程序客户端与接入服务器建立长连接的过程繁琐、接入效率低的问题,本实施例将提供一种接入控制方法,该接入控制方法包括以下步骤:s201:在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;在终端侧应用程序客户端与接入服务器建立长连接之后,便可进行消息推送等。消息推送功能就是通过建立一条终端侧应用程序客户端与接入服务器的连接链路,当有消息需要发送到终端侧应用程序客户端时,通过此链路发送即可。其中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。应用程序例如可以为微信、腾讯qq、新浪微博、网易云音乐、阅读器、商城等。其中,待接入服务器的身份信息包括待接入服务器的ip(internetprotocol,互联网协议)地址和端口、域名或者连接地址;也即,通过ip地址和端口便可确定出是哪一台接入服务器,或者通过域名便可确定出是哪一台接入服务器,或者通过连接地址便可确定出是哪一台接入服务器。s201按照预设策略查询出路由列表信息可以是从数据库中进行查询,也即各个接入服务器的身份信息是保存在数据库中的,可以以一个表格的形式进行存储,例如参见下表1:接入服务器接入服务器的身份信息接入服务器1域名1接入服务器2域名2接入服务器3域名3……接入服务器n域名n表1表1中,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3…接入服务器n的身份信息为域名n。在s201之前,还包括:终端侧应用程序客户端发起长连接建立请求,然后反向代理服务器随机从路由服务器集群中选择一台路由服务器;路由服务器可以由tomcat等服务器来实现;路由服务器集群可以是由多个tomcat等服务器组成的集群。s201的步骤由选择的路由服务器的接口来执行。s201按照预设策略查询出路由列表信息可以包括:路由服务器的接口从数据库中随机抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;或者,路由服务器的接口从数据库中依次抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;例如,路由服务器的接口从上述表1中抽取编号1至3的接入服务器,并获取到接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;预设个数可以根据实际情况进行设置,例如可以为3、5、8、10、15等。s202:根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;缓存服务器中存储有各个接入服务器的当前剩余负荷;在路由服务器的接口选取到预设个数的待接入服务器、并获取待接入服务器的身份信息之后,便可根据待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;其中,缓存服务器包括redis缓存服务器、或者memcached缓存服务器等。其中,当前剩余负荷包括当前可接入客户端数量或当前剩余资源大小。缓存服务器中存储的各个接入服务器的当前剩余负荷可以以一个表格的形式进行存储,以当前剩余负荷为当前可接入客户端数量为例,参见下表2:表2表2中,接入服务器1的身份信息为域名1,接入服务器1的当前可接入客户端数量为0;接入服务器2的身份信息为域名2,,接入服务器2的当前可接入客户端数量为36;接入服务器3的身份信息为域名3,接入服务器3的当前可接入客户端数量为180…接入服务器n的身份信息为域名n,接入服务器n的当前可接入客户端数量为1000。s202的步骤中,路由列表信息中待接入服务器以表2中的接入服务器1、接入服务器2以及接入服务器3为例,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;从上述表2中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180。s203:根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;在根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷之后,便可根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;去除接入已满的,或者资源不足的等条件之外的接入服务器,剩余的则为接入未满的、或者资源充足的可以进行正常接入的目标接入服务器。例如,路由列表信息中待接入服务器包括表2中的接入服务器1、接入服务器2以及接入服务器3,从上述表2中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180,则可以确定出当前可接入的目标接入服务器包括表2中的接入服务器2以及接入服务器3;由于接入服务器1的当前可接入客户端数量为0,所以接入服务器1是不允许再接入客户端的。s204:从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接。例如,目标接入服务器包括表2中的接入服务器2以及接入服务器3,则建立接入服务器2与终端侧应用程序客户端的长连接,或者建立接入服务器3与终端侧应用程序客户端的长连接。可选的,在s201按照预设策略查询出路由列表信息之前,还包括:各个接入服务器在启动之后,每隔预设时长把自身的当前剩余负荷发送至缓存服务器中进行存储,使得后续在有客户端需要与接入服务器建立长连接时,能够从缓存服务器中获取接入服务器的当前剩余负荷,进而确定出可接入的目标接入服务器;预设时长可以根据实际情况进行设置,例如可以设置为2秒、3秒、5秒等。可选的,在s204从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接之后,还包括:对终端侧应用程序客户端进行消息推送。在建立好了终端侧应用程序客户端与接入服务器的长连接之后,终端侧应用程序客户端便可接收接入服务器的消息推送。其中,接入服务器隶属于独立应用程序接入服务器集群、或推送中控接入服务器集群。当应用程序为微信、腾讯qq、新浪微博、网易云音乐等时,由于这些应用程序都有自己的系统,所以其对应的接入服务器隶属于独立应用程序接入服务器集群;针对接入服务器隶属于推送中控接入服务器集群的情况,例如,某些手机厂商的手机中,预置有该手机厂商特定的阅读器、商城等应用程序,则与这类应用程序客户端建立长连接的接入服务器隶属于推送中控接入服务器集群。参见图3,图3为本实施例提供的一种服务器集群的示意图;图3中,客户端sdk(softwaredevelopmentkit,软件开发工具包)与路由服务器集群通过https(hypertexttransferprotocoloversecuresocketlayer,安全套接字层上的超文本传输协议)的方式通信,客户端sdk与推送中控接入服务器集群通过ssl(securesocketslayer,安全套接层)的方式通信,客户端sdk与独立应用程序接入服务器集群通过ssl的方式通信。推送中控接入服务器集群包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。独立应用程序接入服务器集群也包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。缓存服务器中存储各个接入服务器的当前剩余负荷。通过本实施例的实施,缓存服务器中存储有各个接入服务器的当前剩余负荷,在查询出待接入服务器的身份信息之后,从缓存服务器中查询出每个待接入服务器的当前剩余负荷,并进一步确定出当前可接入的目标接入服务器,使得确定出的目标接入服务器允许客户端的接入,从源头进行了接入数量的控制,减少了客户端的重复接入流程,提高了客户端的接入效率。第二实施例为了解决现有技术中应用程序客户端与接入服务器建立长连接的过程繁琐、接入效率低的问题,本实施例提供一种接入控制系统,参见图4,图4为本实施例提供的一种接入控制系统的示意图,该接入控制系统包括:终端侧应用程序客户端401、路由服务器402、缓存服务器403以及接入服务器404;路由服务器402,用于在终端侧应用程序客户端401需要与接入服务器404建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;并根据路由列表信息中待接入服务器的身份信息,从缓存服务器403中查询出路由列表信息中每个待接入服务器的当前剩余负荷;并根据查询出的路由列表信息中每个待接入服务器404的当前剩余负荷,确定出当前可接入的目标接入服务器404,并发送给终端侧应用程序客户端401;终端侧应用程序客户端401,用于从目标接入服务器404中选择一个与之建立长连接;接入服务器404,用于与终端侧应用程序客户端401建立长连接;缓存服务器403,用于存储各个接入服务器404的当前剩余负荷。在终端侧应用程序客户端401与接入服务器404建立长连接之后,便可进行消息推送等。消息推送功能就是通过建立一条终端侧应用程序客户端401与接入服务器404的连接链路,当有消息需要发送到终端侧应用程序客户端401时,通过此链路发送即可。其中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。应用程序例如可以为微信、腾讯qq、新浪微博、网易云音乐、阅读器、商城等。其中,待接入服务器404的身份信息包括待接入服务器404的ip地址和端口、域名或者连接地址;也即,通过ip地址和端口便可确定出是哪一台接入服务器404,或者通过域名便可确定出是哪一台接入服务器404,或者通过连接地址便可确定出是哪一台接入服务器404。按照预设策略查询出路由列表信息可以是从数据库中进行查询,也即各个接入服务器404的身份信息是保存在数据库中的,可以以一个表格的形式进行存储,例如参见下表3:接入服务器接入服务器的身份信息接入服务器1域名1接入服务器2域名2接入服务器3域名3……接入服务器n域名n表3表3中,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3…接入服务器n的身份信息为域名n。在按照预设策略查询出路由列表信息之前,还包括:终端侧应用程序客户端401发起长连接建立请求,然后反向代理服务器随机从路由服务器402集群中选择一台路由服务器402;路由服务器402可以由tomcat等服务器来实现;路由服务器402集群可以是由多个tomcat等服务器组成的集群。可以由选择的路由服务器402的接口按照预设策略查询出路由列表信息。按照预设策略查询出路由列表信息可以包括:路由服务器402的接口从数据库中随机抽取预设个数的待接入服务器404,并获取抽取的待接入服务器404的身份信息;或者,路由服务器402的接口从数据库中依次抽取预设个数的待接入服务器404,并获取抽取的待接入服务器404的身份信息;例如,路由服务器402的接口从上述表3中抽取编号1至3的接入服务器404,并获取到接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;预设个数可以根据实际情况进行设置,例如可以为3、5、8、10、15等。在路由服务器402的接口选取到预设个数的待接入服务器404、并获取待接入服务器404的身份信息之后,便可根据待接入服务器404的身份信息,从缓存服务器403中查询出路由列表信息中每个待接入服务器404的当前剩余负荷;其中,缓存服务器403包括redis缓存服务器、或者memcached缓存服务器等。其中,当前剩余负荷包括当前可接入客户端401数量或当前剩余资源大小。缓存服务器403中存储的各个接入服务器404的当前剩余负荷可以以一个表格的形式进行存储,以当前剩余负荷为当前可接入客户端401数量为例,参见下表4:表4表4中,接入服务器1的身份信息为域名1,接入服务器1的当前可接入客户端401数量为0;接入服务器2的身份信息为域名2,,接入服务器2的当前可接入客户端401数量为36;接入服务器3的身份信息为域名3,接入服务器3的当前可接入客户端401数量为180…接入服务器n的身份信息为域名n,接入服务器n的当前可接入客户端401数量为1000。路由列表信息中待接入服务器404以表4中的接入服务器1、接入服务器2以及接入服务器3为例,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;从上述表4中查询出接入服务器1的当前可接入客户端401数量为0,接入服务器2的当前可接入客户端401数量为36,接入服务器3的当前可接入客户端401数量为180。在根据路由列表信息中待接入服务器404的身份信息,从缓存服务器403中查询出路由列表信息中每个待接入服务器404的当前剩余负荷之后,便可根据查询出的路由列表信息中每个待接入服务器404的当前剩余负荷,确定出当前可接入的目标接入服务器404;去除接入已满的,或者资源不足的等条件之外的接入服务器404,剩余的则为接入未满的、或者资源充足的可以进行正常接入的目标接入服务器404。例如,路由列表信息中待接入服务器404包括表4中的接入服务器1、接入服务器2以及接入服务器3,从上述表4中查询出接入服务器1的当前可接入客户端401数量为0,接入服务器2的当前可接入客户端401数量为36,接入服务器3的当前可接入客户端401数量为180,则可以确定出当前可接入的目标接入服务器404包括表4中的接入服务器2以及接入服务器3;由于接入服务器1的当前可接入客户端401数量为0,所以接入服务器1是不允许再接入客户端401的。终端侧应用程序客户端401从目标接入服务器404中选择一个与之建立长连接;例如,目标接入服务器404包括表4中的接入服务器2以及接入服务器3,则建立接入服务器2与终端侧应用程序客户端401的长连接,或者建立接入服务器3与终端侧应用程序客户端401的长连接。可选的,在按照预设策略查询出路由列表信息之前,还包括:各个接入服务器404在启动之后,每隔预设时长把自身的当前剩余负荷发送至缓存服务器403中进行存储,使得后续在有客户端401需要与接入服务器404建立长连接时,能够从缓存服务器403中获取接入服务器404的当前剩余负荷,进而确定出可接入的目标接入服务器404;预设时长可以根据实际情况进行设置,例如可以设置为2秒、3秒、5秒等。可选的,在从目标接入服务器404中选择一个与终端侧应用程序客户端401建立长连接之后,还包括:对终端侧应用程序客户端401进行消息推送。在建立好了终端侧应用程序客户端401与接入服务器404的长连接之后,终端侧应用程序客户端401便可接收接入服务器404的消息推送。其中,接入服务器404隶属于独立应用程序接入服务器集群、或推送中控接入服务器集群。当应用程序为微信、腾讯qq、新浪微博、网易云音乐等时,由于这些应用程序都有自己的系统,所以其对应的接入服务器404隶属于独立应用程序接入服务器集群;针对接入服务器404隶属于推送中控接入服务器集群的情况,例如,某些手机厂商的手机中,预置有该手机厂商特定的阅读器、商城等应用程序,则与这类应用程序客户端401建立长连接的接入服务器404隶属于推送中控接入服务器集群。参见图3,图3为本实施例提供的一种服务器集群的示意图;图3中,客户端sdk与路由服务器集群通过https的方式通信,客户端sdk与推送中控接入服务器集群通过ssl的方式通信,客户端sdk与独立应用程序接入服务器集群通过ssl的方式通信。推送中控接入服务器集群包括多个接入服务器404,其中还设置有多个备用的接入服务器404,在已使用的接入服务器404的剩余负荷不够用时,启动备用的接入服务器404来承载接入客户端401。独立应用程序接入服务器集群也包括多个接入服务器404,其中还设置有多个备用的接入服务器404,在已使用的接入服务器404的剩余负荷不够用时,启动备用的接入服务器404来承载接入客户端401。缓存服务器403中存储各个接入服务器404的当前剩余负荷。通过本实施例的实施,缓存服务器403中存储有各个接入服务器404的当前剩余负荷,在查询出待接入服务器404的身份信息之后,从缓存服务器403中查询出每个待接入服务器404的当前剩余负荷,并进一步确定出当前可接入的目标接入服务器404,使得确定出的目标接入服务器404允许客户端401的接入,从源头进行了接入数量的控制,减少了客户端401的重复接入流程,提高了客户端401的接入效率。第三实施例本实施例提供一种路由服务器,参见图5,图5为本实施例提供的一种路由服务器的示意图,该路由服务器包括处理器501、存储器502及通信总线503,其中:通信总线503用于实现处理器501和存储器502之间的连接通信;处理器501用于执行存储器502中存储的一个或多个程序,以实现以下步骤:在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;在终端侧应用程序客户端与接入服务器建立长连接之后,便可进行消息推送等。消息推送功能就是通过建立一条终端侧应用程序客户端与接入服务器的连接链路,当有消息需要发送到终端侧应用程序客户端时,通过此链路发送即可。其中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。应用程序例如可以为微信、腾讯qq、新浪微博、网易云音乐、阅读器、商城等。其中,待接入服务器的身份信息包括待接入服务器的ip地址和端口、域名或者连接地址;也即,通过ip地址和端口便可确定出是哪一台接入服务器,或者通过域名便可确定出是哪一台接入服务器,或者通过连接地址便可确定出是哪一台接入服务器。按照预设策略查询出路由列表信息可以是从数据库中进行查询,也即各个接入服务器的身份信息是保存在数据库中的,可以以一个表格的形式进行存储,例如参见下表5:接入服务器接入服务器的身份信息接入服务器1域名1接入服务器2域名2接入服务器3域名3……接入服务器n域名n表5表5中,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3…接入服务器n的身份信息为域名n。在按照预设策略查询出路由列表信息之前,处理器501还用于执行存储器502中存储的一个或多个程序,以实现以下步骤:终端侧应用程序客户端发起长连接建立请求,然后反向代理服务器随机从路由服务器集群中选择一台路由服务器;路由服务器可以由tomcat等服务器来实现;路由服务器集群可以是由多个tomcat等服务器组成的集群。由选择的路由服务器的接口来执行按照预设策略查询出路由列表信息的步骤。按照预设策略查询出路由列表信息可以包括:路由服务器的接口从数据库中随机抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;或者,路由服务器的接口从数据库中依次抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;例如,路由服务器的接口从上述表5中抽取编号1至3的接入服务器,并获取到接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;预设个数可以根据实际情况进行设置,例如可以为3、5、8、10、15等。根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;缓存服务器中存储有各个接入服务器的当前剩余负荷;在路由服务器的接口选取到预设个数的待接入服务器、并获取待接入服务器的身份信息之后,便可根据待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;其中,缓存服务器包括redis缓存服务器、或者memcached缓存服务器等。其中,当前剩余负荷包括当前可接入客户端数量或当前剩余资源大小。缓存服务器中存储的各个接入服务器的当前剩余负荷可以以一个表格的形式进行存储,以当前剩余负荷为当前可接入客户端数量为例,参见下表6:接入服务器接入服务器的身份信息当前可接入客户端数量接入服务器1域名10接入服务器2域名236接入服务器3域名3180………接入服务器n域名n1000表6表6中,接入服务器1的身份信息为域名1,接入服务器1的当前可接入客户端数量为0;接入服务器2的身份信息为域名2,接入服务器2的当前可接入客户端数量为36;接入服务器3的身份信息为域名3,接入服务器3的当前可接入客户端数量为180…接入服务器n的身份信息为域名n,接入服务器n的当前可接入客户端数量为1000。路由列表信息中待接入服务器以表6中的接入服务器1、接入服务器2以及接入服务器3为例,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;从上述表6中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180。根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;在根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷之后,便可根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;去除接入已满的,或者资源不足的等条件之外的接入服务器,剩余的则为接入未满的、或者资源充足的可以进行正常接入的目标接入服务器。例如,路由列表信息中待接入服务器包括表6中的接入服务器1、接入服务器2以及接入服务器3,从上述表6中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180,则可以确定出当前可接入的目标接入服务器包括表6中的接入服务器2以及接入服务器3;由于接入服务器1的当前可接入客户端数量为0,所以接入服务器1是不允许再接入客户端的。从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接。例如,目标接入服务器包括表6中的接入服务器2以及接入服务器3,则建立接入服务器2与终端侧应用程序客户端的长连接,或者建立接入服务器3与终端侧应用程序客户端的长连接。可选的,在按照预设策略查询出路由列表信息之前,处理器501还用于执行存储器502中存储的一个或多个程序,以实现以下步骤:控制各个接入服务器在启动之后,每隔预设时长把自身的当前剩余负荷发送至缓存服务器中进行存储,使得后续在有客户端需要与接入服务器建立长连接时,能够从缓存服务器中获取接入服务器的当前剩余负荷,进而确定出可接入的目标接入服务器;预设时长可以根据实际情况进行设置,例如可以设置为2秒、3秒、5秒等。可选的,在从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接之后,处理器501还用于执行存储器502中存储的一个或多个程序,以实现以下步骤:对终端侧应用程序客户端进行消息推送。在建立好了终端侧应用程序客户端与接入服务器的长连接之后,终端侧应用程序客户端便可接收接入服务器的消息推送。其中,接入服务器隶属于独立应用程序接入服务器集群、或推送中控接入服务器集群。当应用程序为微信、腾讯qq、新浪微博、网易云音乐等时,由于这些应用程序都有自己的系统,所以其对应的接入服务器隶属于独立应用程序接入服务器集群;针对接入服务器隶属于推送中控接入服务器集群的情况,例如,某些手机厂商的手机中,预置有该手机厂商特定的阅读器、商城等应用程序,则与这类应用程序客户端建立长连接的接入服务器隶属于推送中控接入服务器集群。参见图3,图3为本实施例提供的一种服务器集群的示意图;图3中,客户端sdk与路由服务器集群通过https的方式通信,客户端sdk与推送中控接入服务器集群通过ssl的方式通信,客户端sdk与独立应用程序接入服务器集群通过ssl的方式通信。推送中控接入服务器集群包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。独立应用程序接入服务器集群也包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。缓存服务器中存储各个接入服务器的当前剩余负荷。通过本实施例的实施,缓存服务器中存储有各个接入服务器的当前剩余负荷,在查询出待接入服务器的身份信息之后,从缓存服务器中查询出每个待接入服务器的当前剩余负荷,并进一步确定出当前可接入的目标接入服务器,使得确定出的目标接入服务器允许客户端的接入,从源头进行了接入数量的控制,减少了客户端的重复接入流程,提高了客户端的接入效率。第四实施例本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:在终端侧应用程序客户端需要与接入服务器建立长连接的情况下,按照预设策略查询出路由列表信息,路由列表信息携带预设个数待接入服务器的身份信息;在终端侧应用程序客户端与接入服务器建立长连接之后,便可进行消息推送等。消息推送功能就是通过建立一条终端侧应用程序客户端与接入服务器的连接链路,当有消息需要发送到终端侧应用程序客户端时,通过此链路发送即可。其中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。应用程序例如可以为微信、腾讯qq、新浪微博、网易云音乐、阅读器、商城等。其中,待接入服务器的身份信息包括待接入服务器的ip地址和端口、域名或者连接地址;也即,通过ip地址和端口便可确定出是哪一台接入服务器,或者通过域名便可确定出是哪一台接入服务器,或者通过连接地址便可确定出是哪一台接入服务器。按照预设策略查询出路由列表信息可以是从数据库中进行查询,也即各个接入服务器的身份信息是保存在数据库中的,可以以一个表格的形式进行存储,例如参见下表7:接入服务器接入服务器的身份信息接入服务器1域名1接入服务器2域名2接入服务器3域名3……接入服务器n域名n表7表7中,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3…接入服务器n的身份信息为域名n。在按照预设策略查询出路由列表信息之前,一个或者多个程序还可被一个或者多个处理器执行,以实现以下步骤:控制终端侧应用程序客户端发起长连接建立请求,然后反向代理服务器随机从路由服务器集群中选择一台路由服务器;路由服务器可以由tomcat等服务器来实现;路由服务器集群可以是由多个tomcat等服务器组成的集群。由选择的路由服务器的接口来执行按照预设策略查询出路由列表信息的步骤。按照预设策略查询出路由列表信息可以包括:路由服务器的接口从数据库中随机抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;或者,路由服务器的接口从数据库中依次抽取预设个数的待接入服务器,并获取抽取的待接入服务器的身份信息;例如,路由服务器的接口从上述表7中抽取编号1至3的接入服务器,并获取到接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;预设个数可以根据实际情况进行设置,例如可以为3、5、8、10、15等。根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;缓存服务器中存储有各个接入服务器的当前剩余负荷;在路由服务器的接口选取到预设个数的待接入服务器、并获取待接入服务器的身份信息之后,便可根据待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷;其中,缓存服务器包括redis缓存服务器、或者memcached缓存服务器等。其中,当前剩余负荷包括当前可接入客户端数量或当前剩余资源大小。缓存服务器中存储的各个接入服务器的当前剩余负荷可以以一个表格的形式进行存储,以当前剩余负荷为当前可接入客户端数量为例,参见下表8:接入服务器接入服务器的身份信息当前可接入客户端数量接入服务器1域名10接入服务器2域名236接入服务器3域名3180………接入服务器n域名n1000表8表8中,接入服务器1的身份信息为域名1,接入服务器1的当前可接入客户端数量为0;接入服务器2的身份信息为域名2,接入服务器2的当前可接入客户端数量为36;接入服务器3的身份信息为域名3,接入服务器3的当前可接入客户端数量为180…接入服务器n的身份信息为域名n,接入服务器n的当前可接入客户端数量为1000。路由列表信息中待接入服务器以表8中的接入服务器1、接入服务器2以及接入服务器3为例,接入服务器1的身份信息为域名1,接入服务器2的身份信息为域名2,接入服务器3的身份信息为域名3;从上述表8中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180。根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;在根据路由列表信息中待接入服务器的身份信息,从缓存服务器中查询出路由列表信息中每个待接入服务器的当前剩余负荷之后,便可根据查询出的路由列表信息中每个待接入服务器的当前剩余负荷,确定出当前可接入的目标接入服务器;去除接入已满的,或者资源不足的等条件之外的接入服务器,剩余的则为接入未满的、或者资源充足的可以进行正常接入的目标接入服务器。例如,路由列表信息中待接入服务器包括表8中的接入服务器1、接入服务器2以及接入服务器3,从上述表8中查询出接入服务器1的当前可接入客户端数量为0,接入服务器2的当前可接入客户端数量为36,接入服务器3的当前可接入客户端数量为180,则可以确定出当前可接入的目标接入服务器包括表8中的接入服务器2以及接入服务器3;由于接入服务器1的当前可接入客户端数量为0,所以接入服务器1是不允许再接入客户端的。从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接。例如,目标接入服务器包括表8中的接入服务器2以及接入服务器3,则建立接入服务器2与终端侧应用程序客户端的长连接,或者建立接入服务器3与终端侧应用程序客户端的长连接。可选的,在按照预设策略查询出路由列表信息之前,一个或者多个程序还可被一个或者多个处理器执行,以实现以下步骤:控制各个接入服务器在启动之后,每隔预设时长把自身的当前剩余负荷发送至缓存服务器中进行存储,使得后续在有客户端需要与接入服务器建立长连接时,能够从缓存服务器中获取接入服务器的当前剩余负荷,进而确定出可接入的目标接入服务器;预设时长可以根据实际情况进行设置,例如可以设置为2秒、3秒、5秒等。可选的,在从目标接入服务器中选择一个与终端侧应用程序客户端建立长连接之后,一个或者多个程序还可被一个或者多个处理器执行,以实现以下步骤:对终端侧应用程序客户端进行消息推送。在建立好了终端侧应用程序客户端与接入服务器的长连接之后,终端侧应用程序客户端便可接收接入服务器的消息推送。其中,接入服务器隶属于独立应用程序接入服务器集群、或推送中控接入服务器集群。当应用程序为微信、腾讯qq、新浪微博、网易云音乐等时,由于这些应用程序都有自己的系统,所以其对应的接入服务器隶属于独立应用程序接入服务器集群;针对接入服务器隶属于推送中控接入服务器集群的情况,例如,某些手机厂商的手机中,预置有该手机厂商特定的阅读器、商城等应用程序,则与这类应用程序客户端建立长连接的接入服务器隶属于推送中控接入服务器集群。参见图3,图3为本实施例提供的一种服务器集群的示意图;图3中,客户端sdk与路由服务器集群通过https的方式通信,客户端sdk与推送中控接入服务器集群通过ssl的方式通信,客户端sdk与独立应用程序接入服务器集群通过ssl的方式通信。推送中控接入服务器集群包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。独立应用程序接入服务器集群也包括多个接入服务器,其中还设置有多个备用的接入服务器,在已使用的接入服务器的剩余负荷不够用时,启动备用的接入服务器来承载接入客户端。缓存服务器中存储各个接入服务器的当前剩余负荷。通过本实施例的实施,缓存服务器中存储有各个接入服务器的当前剩余负荷,在查询出待接入服务器的身份信息之后,从缓存服务器中查询出每个待接入服务器的当前剩余负荷,并进一步确定出当前可接入的目标接入服务器,使得确定出的目标接入服务器允许客户端的接入,从源头进行了接入数量的控制,减少了客户端的重复接入流程,提高了客户端的接入效率。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1