一种基于XMPP通信处理服务器的负载均衡方法技术

技术编号:19829230 阅读:22 留言:0更新日期:2018-12-19 17:06
本发明专利技术提供了一种基于XMPP通信处理服务器的负载均衡方法,具体方法包括,终端代理,向控制中心发出请求获取自身的通信账号;向XMPP服务器openfire发出请求,获取网内可能存在的终端服务器列表;使用XMPP通信,向终端服务器列表中所有的终端服务器发出负载探询协议;从返回负载应答的终端服务器列表中挑选出负载最低的终端服务器;向负载最低的终端服务器发起业务登录协议,获取负载最低的终端服务器的地址/端口;其中,终端服务器的通信账号上携带所属网络信息及服务器设备信息,以区分终端服务器所在网络及同一局域网内的不同服务器设备。与现有技术相比,在简单推+拉结合模式的基础上,实现了支持多网络部署和自动负载均衡。

【技术实现步骤摘要】
一种基于XMPP通信处理服务器的负载均衡方法
本专利技术涉及一种基于XMPP通信处理服务器的负载均衡方法,涉及服务器负载均衡领域。
技术介绍
目前基于XMPP通信的系统(下文简称系统)的通信架构,采用推+拉结合的模式。即,上层向下层播发通知采用XMPP消息推送,下层向上层请求和报送数据采用webservice调用的形式。其基本通信原理如图1所示,系统中所有设备相对于XMPP通信服务器openfire而言,都是XMPP客户端。在此基础上,所有设备之间可以经由openfire中转完成点对点通信。设备利用XMPP协议,将自己以一个通信账户身份登录到XMPP通信服务器上,从而借助XMPP通信服务器获得与其他通信账户(代表了另一个通信设备)的能力。各设备完成通信登录后,以通信账号为设备标识,彼此间互相通信。看起来就像透明的点对点通信一样。(这里的各设备包含终端服务器、终端代理、扫描器、控制中心等类型,每种设备都有各自类型的通信账号。)设备登录XMPP服务器后,需要按照之前的系统层次划分,选择目标服务器进行业务级别的登录。例如,终端代理登录到终端服务器,终端服务器登录到控制中心,主要完成业务层面的设备管理。在此,XMPP通信,需要使用账号和密码,账号可通过设备类型,通过控制中心的webservice从数据库中自动创建,同时,webservice需要自动在XMPP服务器上自动注册账号;密码可采用随机密码。随着终端代理数量的增加,单台服务器受自身硬件条件的限制,很难承受太大的访问量,即常规的推+拉方式无法满足业务的需求。在这种情况下,有二种优化方案可以选择:1)对单台服务器的硬件进行更新,由双核的变成四核的,内存加大等。2)增加服务器的台数,来分担服务器的负担。以实现增加网络带宽,增加服务器的处理能力的目的。方案1使用了纵向扩展的方式,但是扩展空间有限,我们直接考虑方案2。方案2需要考虑负载均衡。而XMPP接入后,通信只认定通信账号,无视接入ip的网络归属;而webservice对于ip属于局域网内ip还是公网ip则比较敏感。这两个矛盾的特点,使得终端服务器整合了XMPP通信和webservice后,需要有个更优的解决方案同时支持多网络部署和自动负载均衡。
技术实现思路
本专利技术提供了一种基于XMPP通信处理服务器的负载均衡方法,具有支持多网络部署和自动负载均衡的特点。根据本专利技术提供的一种基于XMPP通信处理服务器的负载均衡方法,具体方法包括,通信账号获取,终端代理向控制中心发出请求获取自身的通信账号;终端服务器列表获取,终端代理向XMPP服务器openfire发出以terminal-server为前缀的search请求,获取网内可能存在的终端服务器列表;发出负载探寻协议,终端代理使用XMPP通信,向终端服务器列表中所有的终端服务器发出负载探询协议;查找负载最低的终端服务器,终端代理在预设的计时周期内,从返回负载应答的终端服务器列表中挑选出负载最低的终端服务器;发起业务登录协议,终端代理向负载最低的终端服务器发起业务登录协议;获取负载最低的终端服务器的地址/端口,负载最低的终端服务器向终端代理发回业务登录应答,并返回负载最低的终端服务器terminal-server.N的webservice地址/端口;其中,终端服务器的通信账号上携带所属网络信息及服务器设备信息,以区分终端服务器所在网络及同一局域网内的不同服务器设备;不同的局域网所属网络信息不同,同一局域网内的不同服务器设备,服务器设备信息不同。所述所属网络信息为网络编号。所述服务器设备信息为服务器设备编号。所述方法还包括,对总部、分部不同的局域网,分配不同的网络编号;分布设置网络编号后,在终端代理安装过程中,除了填写控制中心ip/port外,一并填入接入网络编号;终端代理从openfire服务器检索时,以所接入的网络编号为前缀获取所述子网络的位置。所述方法还包括,在网络编号的基础上,增加设置定义终端代理的接入模式;所述接入模式包括本地接入和互联网接入;在控制中心给系统每台终端服务器配置一个ip:port,且设置终端服务器将外网接入参数更新到终端服务器本地;终端代理向终端服务器发起负载探询时,同时表明其接入方式;如果是互联网接入,则判断是否配置了外网接入参数的终端服务器,如果是则向外网终端服务器发回负载应答,如果否,则不发回负载应答;如果是本地接入,则本地终端服务器发回负载应答;终端代理向终端服务器发起业务登录时,同时表明其接入方式;如果是互联网接入,则终端服务器返回互联网访问地址;如果是本地接入,则终端服务器返回本地局域网地址。与现有技术相比,在简单推+拉结合模式的基础上,实现了支持多网络部署和自动负载均衡;引入了服务器所属网络编号与接入方式,避免了负载误选,并能够甄别是本地接入还是互联网接入。附图说明图1为现有技术基于XMPP通信的基本通信原理示意图。图2为一种单网络情况下webservice地址获取过程示意图。图3为一种多网络情况下webservice地址获取过程示意图。图4为本专利技术其中一实施例的负载均衡网络编号分配示意图。图5为一种多网络情况下webservice地址获取过程示意图。图6为本专利技术其中一实施例的负载均衡中终端代理属性定义示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。如图2所示,在单局域网的情况下,可以采用的负载均衡方法为包括,通信账号获取,终端代理向控制中心webservice发出请求获取自身的通信账号;终端服务器列表获取,终端代理向XMPP服务器openfire发出以terminal-server为前缀的search请求,获取网内可能存在的终端服务器列表server-list;发出负载探寻协议,终端代理使用XMPP通信,向终端服务器列表terminal-server-list中所有的终端服务器发出负载探询协议;查找负载最低的终端服务器,终端代理在预设的计时周期内,从返回负载应答的终端服务器列表valid-terminal-server-list中挑选出负载最低的终端服务器terminal-server.N;发起业务登录协议,终端代理向负载最低的终端服务器terminal-server.N发起业务登录协议。获取负载最低的终端服务器的地址/端口,负载最低的终端服务器terminal-server.N向终端代理(TA)发回业务登录应答,并返回负载最低的终端服务器terminal-server.N的webservice地址/端口。采用上述方法,可以完成基本的终端代理接入负载均衡效果,但是仅限于一个局域网内。对于系统分散部署在多个独立局域网时,不能适用。主要问题存在于整个系统通信架构不但使用XMPP技术,还使用了webservice技术。通常在跨网络或使用外网时,webservice的地址/端口的自动获取将变得非常困难。如图3所示,继续本文档来自技高网
...

【技术保护点】
1.一种基于XMPP通信处理服务器的负载均衡方法,具体方法包括,通信账号获取,终端代理向控制中心发出请求获取自身的通信账号;终端服务器列表获取,终端代理向XMPP服务器openfire发出以terminal‑server为前缀的search请求,获取网内可能存在的终端服务器列表;发出负载探寻协议,终端代理使用XMPP通信,向终端服务器列表中所有的终端服务器发出负载探询协议;查找负载最低的终端服务器,终端代理在预设的计时周期内,从返回负载应答的终端服务器列表中挑选出负载最低的终端服务器;发起业务登录协议,终端代理向负载最低的终端服务器发起业务登录协议;获取负载最低的终端服务器的地址/端口,负载最低的终端服务器向终端代理发回业务登录应答,并返回负载最低的终端服务器terminal‑server.N的webservice地址/端口;其中,终端服务器的通信账号上携带所属网络信息及服务器设备信息,以区分终端服务器所在网络及同一局域网内的不同服务器设备;不同的局域网所属网络信息不同,同一局域网内的不同服务器设备,服务器设备信息不同。

【技术特征摘要】
1.一种基于XMPP通信处理服务器的负载均衡方法,具体方法包括,通信账号获取,终端代理向控制中心发出请求获取自身的通信账号;终端服务器列表获取,终端代理向XMPP服务器openfire发出以terminal-server为前缀的search请求,获取网内可能存在的终端服务器列表;发出负载探寻协议,终端代理使用XMPP通信,向终端服务器列表中所有的终端服务器发出负载探询协议;查找负载最低的终端服务器,终端代理在预设的计时周期内,从返回负载应答的终端服务器列表中挑选出负载最低的终端服务器;发起业务登录协议,终端代理向负载最低的终端服务器发起业务登录协议;获取负载最低的终端服务器的地址/端口,负载最低的终端服务器向终端代理发回业务登录应答,并返回负载最低的终端服务器terminal-server.N的webservice地址/端口;其中,终端服务器的通信账号上携带所属网络信息及服务器设备信息,以区分终端服务器所在网络及同一局域网内的不同服务器设备;不同的局域网所属网络信息不同,同一局域网内的不同服务器设备,服务器设备信息不同。2.根据权利要求1所述的负载均衡方法,所述所属网络信息为网络编...

【专利技术属性】
技术研发人员:邱志斌涂高元郭永兴陆云燕杨其栓时宜
申请(专利权)人:厦门天锐科技股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1