一种用于多进程的负载均衡的方法和设备的制造方法

文档序号:9910818阅读:508来源:国知局
一种用于多进程的负载均衡的方法和设备的制造方法
【技术领域】
[0001]本发明涉及网络技术领域,尤其涉及一种用于多进程的负载均衡的技术。
【背景技术】
[0002]在当前的服务器引擎中,进程的负载均衡是由服务器的操作系统来实现的。例如,在Linux环境下,服务器的操作系统依据进程的优先级来为请求分配进程,进程的优先级越高,分配给该进程的请求越多;在进程优先级一致的情况下,则由进程的负载高低而定,请求优先被分配给负载低的进程。
[0003]基于上述负载分配策略,当服务器引擎提供http服务时,由于http请求是短连接,且数量大,因此若发生大流量访问,进程负载基本可实现均衡。
[0004]而当服务器引擎提供如socket等长连接服务时,若基于上述负载分配策略,则难以实现进程的负载均衡。这是由于长连接数量少且刚开始提供服务时各个进程的负载并不高,因此多个长连接可能分配给同一个进程,导致服务器每个进程接受的连接数量不等,最终导致部分进程负载很高,部分进程负载很低,使得进程负载不均衡,影响系统效率。

【发明内容】

[0005]本发明的目的是提供一种用于多进程的负载均衡的方法、设备与系统。
[0006]根据本发明的一个方面,提供了一种在用户设备端用于多进程的负载均衡的方法,其中,该方法包括:
[0007]a发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
[0008]b根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
[0009]c确定与所述第一长连接相对应的重连时间;
[0010]d根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
[0011]e关闭所述第一长连接。
[0012]根据本发明的另一方面,还提供了一种用于多进程的负载均衡的用户设备,其中,该设备包括:
[0013]请求发送装置,用于发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
[0014]第一建立装置,用于根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
[0015]重连确定装置,用于确定与所述第一长连接相对应的重连时间;
[0016]第二建立装置,用于据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
[0017]关闭装置,用于关闭所述第一长连接。
[0018]根据本发明的又一方面,还提供了一种用于多进程的负载均衡的系统,其中包括如上述所述的用户设备,以及用于与所述用户设备进行长连接以提供长连接服务的服务设备。
[0019]与现有技术相比,本发明由用户设备端向与所述用户设备相对应的服务设备发送一个或多个长连接建立请求,并基于所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,然后,确定与所述第一长连接相对应的重连时间,根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,并关闭所述第一长连接;从而,本发明在用户设备端根据与长连接相对应的重连时间,对已建立的长连接进行重连,利用新的长连接替代旧的长连接,从而实现了多进程的负载均衡,提高了各个进程的处理效率。
[0020]而且,本发明还可以确定与所述第一长连接相对应的重连周期,并基于所述重连周期,确定与所述第一长连接相对应的重连时间;或基于所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间;优选地,所述重连周期为时间渐进周期;优选地,所述重连缓冲时间可根据与所述用户设备相对应的最大连接数目确定;从而使得重连时间的确定更为准确合理,并能够避免多条第一长连接同时重连的情况,错开重连高峰,减少系统负担,提高系统处理效率。
[0021]而且,本发明还可以根据所述第一进程所对应的负载信息和/或所述服务设备对所述第一长连接的响应信息,来确定与所述第一长连接相对应的重连时间;从而保证在所述第一进程所对应的负载出现异常或所述服务设备对所述第一长连接的响应信息出现异常时,能够及时重连,提高系统处理效率。
[0022]而且,本发明还可以根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接;从而使得新建立的第二长连接能够尽可能地实现负载均衡,提高了各个进程的处理效率。
[0023]而且,本发明还可以检测所述第一长连接所对应的连接信息,当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接;从而使得所述第一长连接能够在合适的请胯下关闭,不会对已经在该长连接上进行处理的应用产生影响,保证了用户体验。
【附图说明】
[0024]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0025]图1示出根据本发明一个方面的一种用于多进程的负载均衡的用户设备示意图;
[0026]图2示出根据本发明一个优选实施例的一种用于多进程的负载均衡的用户设备示意图;
[0027]图3示出根据本发明另一个方面的一种在用户设备端用于多进程的负载均衡的方法流程图;
[0028]图4示出根据本发明一个优选实施例的一种在用户设备端用于多进程的负载均衡的方法流程图。
[0029]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0030]下面结合附图对本发明作进一步详细描述。
[0031]图1示出根据本发明一个方面的一种用于多进程的负载均衡的用户设备示意图;其中,所述用户设备包括请求发送装置1、第一建立装置2、重连确定装置3、第二建立装置
4、关闭装置5。具体地,所述请求发送装置I发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;所述第一建立装置2根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;所述重连确定装置3确定与所述第一长连接相对应的重连时间;所述第二建立装置4根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;所述关闭装置5关闭所述第一长连接。
[0032]其中,所述用户设备包括但不限于任何一种客户端,如可与用户通过键盘、遥控器、触摸板、或声控设备进行人机交互的电子产品,例如计算机、智能手机、PDA、游戏机、或IPTV等;或其他任何能与服务设备相交互的客户端。所述服务设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述用户设备与所述服务设备相配合,以实现多进程的负载均衡。本领域技术人员应能理解,其他的用户设备或服务设备同样适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0033]上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行长连接建立请求的发送、第一长连接的建立、重连时间的确定、第二长连接的建立、第一长连接的关闭等,直至所述用户设备停止发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
[0034]所述请求发送装置I发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
[0035]具体地,所述请求发送装置I基于预定的通信协议,如SOCKET协议等,与所述用户设备相对应的服务设备相交互,向所述服务设备发送一个或多个长连接建立请求。其中,所述长连接建立请求可以是同时或错时向所述服务设备发送的,并且每个长连接建立请求对应于一个或多个应用。
[0036]所述第一建立装置2根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理。
[0037]具体地,当所述请求发送装置I向所述服务设备发送长连接建立请求后,所述服务设备对所述长连接请求进行响应,然后所述第一建立装置2根据所述长连接建立请求以及所述响应,建立与所述长连接建立请求相对应的第一长连接;或者,所述第一建立装置2根据所述长连接建立请求以及所述响应,选择一个已经预先建立好的候选长连接以作为与所述长连接建立请求相对应的第一长连接。
[0038]在此,当所述服务设备获取所述长连接建立请求后,所述服务设备可以直接建立所述第一长连接或选择一个已经预先建立好的候选长连接以作为所述第一长连接,则此时的第一建立装置2仅获得由所述服务设备所通知的建立或选择成功的消息,随即建立了双向通路的长连接;或者,当所述服务设备获取所述长连接建立请求后,所述服务设备可以向所述用户设备发送一次或多次的认证消息,然后所述第一建立装置2根据长连接建立请求以及认证消息来建立双向通路的长连接。
[0039]其中,所建立或选择的每一个长连接,都对应于所述服务设备的一个或多个第一进程,即每个长连接由相同或不同的第一进程来处理。在此,所述服务设备会随机选择一个进程来处理某个长连接,所有的进程都是平等的。
[0040]例如,所述用
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1