CN105677451A - 一种用于多进程的负载均衡的方法和设备 - Google Patents
一种用于多进程的负载均衡的方法和设备 Download PDFInfo
- Publication number
- CN105677451A CN105677451A CN201410660465.XA CN201410660465A CN105677451A CN 105677451 A CN105677451 A CN 105677451A CN 201410660465 A CN201410660465 A CN 201410660465A CN 105677451 A CN105677451 A CN 105677451A
- Authority
- CN
- China
- Prior art keywords
- long
- long connection
- reconnection
- connection
- connections
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 193
- 230000008569 process Effects 0.000 title claims abstract description 136
- 230000004044 response Effects 0.000 claims description 34
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000003139 buffering effect Effects 0.000 description 16
- 238000004064 recycling Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明的目的是提供一种用于多进程的负载均衡的方法、设备与系统。用户设备端向与所述用户设备相对应的服务设备发送一个或多个长连接建立请求,并基于所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,然后,确定与所述第一长连接相对应的重连时间,根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,并关闭所述第一长连接。与现有技术相比,本发明在用户设备端根据与长连接相对应的重连时间,对已建立的长连接进行重连,利用新的长连接替代旧的长连接,从而实现了多进程的负载均衡,提高了各个进程的处理效率。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种用于多进程的负载均衡的技术。
背景技术
在当前的服务器引擎中,进程的负载均衡是由服务器的操作系统来实现的。例如,在Linux环境下,服务器的操作系统依据进程的优先级来为请求分配进程,进程的优先级越高,分配给该进程的请求越多;在进程优先级一致的情况下,则由进程的负载高低而定,请求优先被分配给负载低的进程。
基于上述负载分配策略,当服务器引擎提供http服务时,由于http请求是短连接,且数量大,因此若发生大流量访问,进程负载基本可实现均衡。
而当服务器引擎提供如socket等长连接服务时,若基于上述负载分配策略,则难以实现进程的负载均衡。这是由于长连接数量少且刚开始提供服务时各个进程的负载并不高,因此多个长连接可能分配给同一个进程,导致服务器每个进程接受的连接数量不等,最终导致部分进程负载很高,部分进程负载很低,使得进程负载不均衡,影响系统效率。
发明内容
本发明的目的是提供一种用于多进程的负载均衡的方法、设备与系统。
根据本发明的一个方面,提供了一种在用户设备端用于多进程的负载均衡的方法,其中,该方法包括:
a发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
b根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
c确定与所述第一长连接相对应的重连时间;
d根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
e关闭所述第一长连接。
根据本发明的另一方面,还提供了一种用于多进程的负载均衡的用户设备,其中,该设备包括:
请求发送装置,用于发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
第一建立装置,用于根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
重连确定装置,用于确定与所述第一长连接相对应的重连时间;
第二建立装置,用于据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
关闭装置,用于关闭所述第一长连接。
根据本发明的又一方面,还提供了一种用于多进程的负载均衡的系统,其中包括如上述所述的用户设备,以及用于与所述用户设备进行长连接以提供长连接服务的服务设备。
与现有技术相比,本发明由用户设备端向与所述用户设备相对应的服务设备发送一个或多个长连接建立请求,并基于所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,然后,确定与所述第一长连接相对应的重连时间,根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,并关闭所述第一长连接;从而,本发明在用户设备端根据与长连接相对应的重连时间,对已建立的长连接进行重连,利用新的长连接替代旧的长连接,从而实现了多进程的负载均衡,提高了各个进程的处理效率。
而且,本发明还可以确定与所述第一长连接相对应的重连周期,并基于所述重连周期,确定与所述第一长连接相对应的重连时间;或基于所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间;优选地,所述重连周期为时间渐进周期;优选地,所述重连缓冲时间可根据与所述用户设备相对应的最大连接数目确定;从而使得重连时间的确定更为准确合理,并能够避免多条第一长连接同时重连的情况,错开重连高峰,减少系统负担,提高系统处理效率。
而且,本发明还可以根据所述第一进程所对应的负载信息和/或所述服务设备对所述第一长连接的响应信息,来确定与所述第一长连接相对应的重连时间;从而保证在所述第一进程所对应的负载出现异常或所述服务设备对所述第一长连接的响应信息出现异常时,能够及时重连,提高系统处理效率。
而且,本发明还可以根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接;从而使得新建立的第二长连接能够尽可能地实现负载均衡,提高了各个进程的处理效率。
而且,本发明还可以检测所述第一长连接所对应的连接信息,当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接;从而使得所述第一长连接能够在合适的请胯下关闭,不会对已经在该长连接上进行处理的应用产生影响,保证了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的一种用于多进程的负载均衡的用户设备示意图;
图2示出根据本发明一个优选实施例的一种用于多进程的负载均衡的用户设备示意图;
图3示出根据本发明另一个方面的一种在用户设备端用于多进程的负载均衡的方法流程图;
图4示出根据本发明一个优选实施例的一种在用户设备端用于多进程的负载均衡的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的一种用于多进程的负载均衡的用户设备示意图;其中,所述用户设备包括请求发送装置1、第一建立装置2、重连确定装置3、第二建立装置4、关闭装置5。具体地,所述请求发送装置1发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;所述第一建立装置2根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;所述重连确定装置3确定与所述第一长连接相对应的重连时间;所述第二建立装置4根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;所述关闭装置5关闭所述第一长连接。
其中,所述用户设备包括但不限于任何一种客户端,如可与用户通过键盘、遥控器、触摸板、或声控设备进行人机交互的电子产品,例如计算机、智能手机、PDA、游戏机、或IPTV等;或其他任何能与服务设备相交互的客户端。所述服务设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述用户设备与所述服务设备相配合,以实现多进程的负载均衡。本领域技术人员应能理解,其他的用户设备或服务设备同样适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行长连接建立请求的发送、第一长连接的建立、重连时间的确定、第二长连接的建立、第一长连接的关闭等,直至所述用户设备停止发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
所述请求发送装置1发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
具体地,所述请求发送装置1基于预定的通信协议,如SOCKET协议等,与所述用户设备相对应的服务设备相交互,向所述服务设备发送一个或多个长连接建立请求。其中,所述长连接建立请求可以是同时或错时向所述服务设备发送的,并且每个长连接建立请求对应于一个或多个应用。
所述第一建立装置2根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理。
具体地,当所述请求发送装置1向所述服务设备发送长连接建立请求后,所述服务设备对所述长连接请求进行响应,然后所述第一建立装置2根据所述长连接建立请求以及所述响应,建立与所述长连接建立请求相对应的第一长连接;或者,所述第一建立装置2根据所述长连接建立请求以及所述响应,选择一个已经预先建立好的候选长连接以作为与所述长连接建立请求相对应的第一长连接。
在此,当所述服务设备获取所述长连接建立请求后,所述服务设备可以直接建立所述第一长连接或选择一个已经预先建立好的候选长连接以作为所述第一长连接,则此时的第一建立装置2仅获得由所述服务设备所通知的建立或选择成功的消息,随即建立了双向通路的长连接;或者,当所述服务设备获取所述长连接建立请求后,所述服务设备可以向所述用户设备发送一次或多次的认证消息,然后所述第一建立装置2根据长连接建立请求以及认证消息来建立双向通路的长连接。
其中,所建立或选择的每一个长连接,都对应于所述服务设备的一个或多个第一进程,即每个长连接由相同或不同的第一进程来处理。在此,所述服务设备会随机选择一个进程来处理某个长连接,所有的进程都是平等的。
例如,所述用户设备基于所述服务设备的处理能力等信息,预先建立多个候选长连接,由于通常情况下,进程数目与服务设备的CPU核数一致,因此,若所述用户设备设置候选长连接数为80,则表示所述用户设备向每个进程连接了10个候选长连接。当所述用户设备通过所述请求发送装置1发送长连接建立请求时,则所述服务设备随机选择一个候选长连接,以作为用于进行数据交换的第一长连接。
或者,例如,若所述服务设备的CPU为8核,同时若所述用户设备向所述服务设备发送了80个长连接建立请求,则所述用户设备向所述服务设备的每个进程连接了10个长连接;或者,所述用户设备向所述服务设备的前5个进程分别连接了16个长连接;或者,所述用户设备向所述服务设备的前4个进程分别连接了15个长连接,并向后四个进程分别连接5个长连接。在此,本领域技术人员应能理解,在此,所述进程与长连接的处理关系是随机的,服务设备本身并不能决定某个长连接在初始连接状态下由哪个进程所处理。
所述重连确定装置3确定与所述第一长连接相对应的重连时间。
具体地,所述重连确定装置3基于一种或多种预先设定的确定重连时间的方式,根据每个第一长连接所对应的负载、连接时间或其他信息,分别确定与所述多个第一长连接相对应的重连时间。其中,所述确定重连时间的方式包括以下至少任一项:
-根据所述用户设备统一设置的重连时间,确定与每个第一长连接相对应的重连时间,例如,所述用户设备统一设置在当前小时的15分(如13:15)、20分(如13:20)、25分(如13:25)重连;
-根据所述用户设备为每个第一长连接所设置的重连周期,定期对每个第一长连接进行重连,例如,设置从所述第一长连接建立起,每分钟为一个周期,则将每个所述第一长连接建立后的第一分钟、第二分钟、第三分钟等作为所述重连时间;
-根据处理所述第一长连接的第一进程的负载信息,若所述负载信息超过一定负载阈值,则立即对所述第一长连接进行重连;其中,所述负载信息可以由所述服务设备实时传输给所述用户设备,也可以由所述用户设备与其他能够获取到所述第一进程负载信息的第三方设备相交互,以获取所述负载信息;
-根据所述服务设备对所述第一长连接的响应信息,确定与所述第一长连接相对应的重连时间;例如,所述用户设备每次调用服务设备以进行数据传输后,都记录所述服务设备的响应时间,若所述响应时间超过一定阈值(如100毫秒),则立即对所述第一长连接进行重连;进一步地,除了利用所述响应时间外,还可以结合一定的响应次数,继上例,若所述响应时间连续N次超过一定阈值(如100毫秒),则立即对所述第一长连接进行重连;在此,所述响应次数或响应时间阈值可以根据系统预设的方式进行配置,也可以利用机器学习的方式,如按照对响应时间的统计分析,按照比例来确定响应时间阈值。
在此,根据重连时间或根据重连周期来确定所述重连时间的方式,是基于时间触发的;根据所述第一进程的负载信息和/或根据所述服务设备对所述第一长连接的响应信息来确定所述重连时间的方式,是基于事件触发的。
所述第二建立装置4根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
具体地,所述第二建立装置4根据所述重连确定装置3所确定的重连时间,当到了所述重连时间时,建立一个或多个用于替代所述第一长连接的第二长连接。在此,建立所述第二长连接的方法与建立所述第一长连接的方法相同或相似,即包括以下至少任意一种建立方法:所述第二建立装置4向所述服务设备发送第二长连接建立请求后,所述服务设备对所述第二长连接请求进行响应,然后所述用户设备根据所述第二长连接建立请求以及所述响应,建立与所述第二长连接建立请求相对应的第二长连接;或者,所述第二建立装置4根据所述第二长连接建立请求以及所述响应,选择一个已经预先建立好的候选长连接以作为与所述第二长连接建立请求相对应的第二长连接。在此,所建立的第二长连接与所述第一长连接相对应,即所述第二长连接可用于处理所述第一长连接所处理的任意数据或请求等。
其中,所述第二建立装置4所建立/选择的第二长连接,由所述服务设备的第二进程处理,所述第二进程可以是所述用户设备或服务设备随机选择的一个第二进程,也可以是基于一种或多种预定条件来选择的第二进程;所述第一进程与所述第二进程可以是同一个进程,也可以是不同的进程。
优选地,所述第二建立装置4可以根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
具体地,所述第二建立装置4根据所述重连确定装置3所确定的重连时间,当到了所述重连时间时,基于所述服务设备的进程选择策略,建立一个或多个用于替代所述第一长连接的第二长连接。其中,所述进程选择策略包括但不限于基于所述服务设备所对应的各个候选进程的负载情况,或者基于所述服务设备预先设置的候选进程的选择次序等,选择一个候选进程以作为处理所述第二长连接的第二进程;从而所述第二建立装置4与所述第二进程直接建立第二长连接,或者选择所述第二进程作为处理所述第二长连接的进程。一般情况下,所选择的候选进程是由所述服务设备的操作系统所决定的,例如,选择负载较低的候选进程作为所述第二进程等。
在此,建立所述第二长连接的方法与图1中所述第二建立装置4建立第二长连接的方法相同或相似,故在此不再赘述,并通过引用的方式包含于此。
所述关闭装置5关闭所述第一长连接。
具体地,当所述第二建立装置4建立所述第二长连接后,所述关闭装置5可直接关闭所述第一长连接;或在建立所述第二长连接后的预定时间阈值后,关闭所述第一长连接,如在建立所述第二长连接后的3分钟后,关闭所述第一长连接;或基于其他缺省设置或用户设置的关闭条件,关闭所述第一长连接。从而,所述第一长连接所处理的业务由所述第二长连接处理,通过重连的方式,平衡各个进程的负载。
优选地,所述关闭装置5可以检测所述第一长连接所对应的连接信息;当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接。
具体地,考虑到有些情况下(例如异步单线程模式下),当采用第二长连接替换第一长连接时,由于旧的长连接(即第一长连接)已经被引用,如果直接将所述第一长连接关闭,则已经引用所述第一长连接的请求则可能报错,因此,可采用该优选方案,即:
所述第二建立装置4建立所述第二长连接后,所述关闭装置5可以通过定时监测或基于事件触发的方式,对所述第一长连接所对应的连接信息进行检测;其中,所述连接信息包括但不限于当前数据传输信息、其他所设置的连接信息等。
所述关闭装置5将所检测到的连接信息与预先设置的关闭长连接的条件相对比,若所述连接信息满足预先设置的关闭长连接的条件,则关闭所述第一长连接,从而使得引用所述第一长连接的请求能够处理完毕,减少系统出错的概率。
其中,所述关闭长连接的条件包括以下至少任一项:
-所述第一长连接在一定时间阈值内没有数据传输,即经过一段时间的监测后,所述第一长连接上未发生任何数据传输,则认为引用所述第一长连接的请求已经处理完毕,满足关闭所述长连接的条件;
-引用所述第一长连接的引用数降为0:在此,引入了一种新的判断方式,即:
首先为所有的长连接设置唯一ID,当所述长连接被引用则该长连接的引用数加1,使用完毕后释放该长连接则该长连接的引用数减1;当所述长连接被替换的时候,将所述长连接放入回收队列中等待回收,当该长连接的引用数为0时,则表示可以关闭该连接。
从而,在所述用户设备的服务启动的时候,作为连接回收策略的一部分,系统会开启一个守护进程每隔一段时间(可配置)运行一次,用以判断回收队列中的长连接是否被引用,如果发现引用数为0则关闭所述长连接,否则等下一个回收周期进行关闭。
图2示出根据本发明一个优选实施例的一种用于多进程的负载均衡的用户设备示意图;其中,所述用户设备包括请求发送装置1’、第一建立装置2’、重连确定装置3’、第二建立装置4’、关闭装置5’、周期确定装置6’。具体地,所述请求发送装置1’发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;所述第一建立装置2’根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;所述周期确定装置6’确定与所述第一长连接相对应的重连周期;所述重连确定装置3’根据所述重连周期,确定与所述第一长连接相对应的重连时间;和/或所述重连确定装置3’根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间;所述第二建立装置4’根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;所述关闭装置5’关闭所述第一长连接。
其中,所述用户设备的请求发送装置1’、第一建立装置2’、第二建立装置4’、关闭装置5’与图1所示对应装置相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行长连接建立请求的发送、第一长连接的建立、重连周期的确定、重连时间的确定、第二长连接的建立、第一长连接的关闭等,直至所述用户设备停止发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
所述周期确定装置6’确定与所述第一长连接相对应的重连周期。
具体地,所述周期确定装置6’基于所述用户设备预设的时间周期,或基于由所述服务设备预设并发送给所述用户设备的时间周期,或基于所述服务设备的历史压力变化,通过机器学习所获取的时间周期等一种或多种形式,确定与所述第一长连接相对应的重连周期。
在此,所述重连周期是与所述第一长连接相对应的,即每个长连接对应于一个重连周期;同一个用户设备的多个长连接可对应于同一个重连周期,也可以对应于不同的重连周期;例如,同一个用户设备的多个长连接的重连周期均为5秒,或者同一个用户设备的多个长连接的重连周期分别为5秒、10秒、30秒等。在此,所述重连周期的计算以该重连周期所对应的长连接的建立时间为准。
优选地,所述重连周期为时间渐进周期。
其中,所述时间渐进周期如[30s,60s,300s,1800s],即所述第一长连接的第一次重连时间为连接建立后的30s,然后,与所述第一长连接所对应第二次长连接的重连时间为连接建立后的60s,依次地,第三次重连时间为连接建立后的300s,第四次重连时间为建立后的1800s。优选地,第五次以及以后的重连时间可采用预设值的时间,也可以采用所述1800s。这样,经过30秒、60秒、5分钟、30分钟的重建之后,服务设备端各个进程的负载应已达到相对均衡。
然后,所述重连确定装置3’可以执行以下任一项:根据所述重连周期,确定与所述第一长连接相对应的重连时间;或根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。
具体地,所述重连确定装置3’可以根据所述重连周期,以所述第一长连接建立的时间为基准,当所述第一长连接建立的时间满足所述重连周期时,将该时间作为与所述第一长连接相对应的重连时间。例如,所述用户设备预设重连周期为5秒,则所述用户设备与所述服务设备所建立的每个长连接,在建立连接后5秒,由所述用户设备的所述第二建立装置4’发起重连。
或者,所述重连确定装置3’根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。其中,所述重连缓冲时间可以是预设的一个或多个时间,每个第一长连接所对应的重连缓冲时间不同,例如,第一长连接1所对应的重连缓冲时间为100ms,第一长连接2所对应的重连缓冲时间为200ms;或者,所述重连缓冲时间为一个时间阈值范围,例如10s,每个第一长连接所确定的重连时间均在[重连周期-时间阈值]~[重连周期+时间阈值]之间,例如,若重连周期为30s,时间阈值为10s,则每个第一长连接在[20s~40s]内,随机选择一个时间作为与所述第一长连接相对应的重连时间。
利用所述重连缓冲时间,可以使得所有长连接先后有序地重建,避免了所有连接被同时替换的可能,以免增大设备压力,影响业务请求处理。
优选地,所述用户设备还包括连接数确定装置(未示出)与缓冲确定装置(未示出);其中,所述连接数确定装置确定与所述用户设备相对应的最大连接数目;所述缓冲确定装置根据所述最大连接数目,确定与所述第一长连接相对应的重连缓冲时间。
具体地,所述连接数确定装置可基于缺省设置,或所述用户设备的处理能力、网络性能、可用资源、剩余资源等一种或多种信息,确定与所述用户设备相对应的最大的长连接连接数目,例如,所述用户设备基于当前设备的处理能力,将最大的长连接连接数目设置为N。
然后,所述缓冲确定装置根据所述最大连接数目,通过基于预设的对应方式,或基于等比例计算等方式,确定与所述第一长连接相对应的重连缓冲时间。例如,若所述最大连接数目为N1,则每个第一长连接的重连缓冲时间为30秒+i毫秒,i∈N1。或者,例如,若所述最大连接数目为N1,预设的与N对应的重连缓冲阈值为X1,若所述最大连接数目为N2,则预设的与N对应的重连缓冲阈值为X2;或者,若所述最大连接数目越大,则所述重连缓冲时间也越大;从而所述缓冲确定装置可以在一个相对合理的重连缓冲阈值范围内,确定与每个长连接相对应的重连缓冲时间。
图3示出根据本发明另一个方面的一种在用户设备端用于多进程的负载均衡的方法流程图。具体地,在步骤S1中,所述用户设备发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;在步骤S2中,所述用户设备根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;在步骤S3中,所述用户设备确定与所述第一长连接相对应的重连时间;在步骤S4中,所述用户设备根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;在步骤S5中,所述用户设备关闭所述第一长连接。
上述各步骤之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各步骤分别实时地,或者按照设定的或实时调整的工作模式要求,进行长连接建立请求的发送、第一长连接的建立、重连时间的确定、第二长连接的建立、第一长连接的关闭等,直至所述用户设备停止发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
在步骤S1中,所述用户设备发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
具体地,在步骤S1中,所述用户设备基于预定的通信协议,如SOCKET协议等,与所述用户设备相对应的服务设备相交互,向所述服务设备发送一个或多个长连接建立请求。其中,所述长连接建立请求可以是同时或错时向所述服务设备发送的,并且每个长连接建立请求对应于一个或多个应用。
在步骤S2中,所述用户设备根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理。
具体地,当在步骤S1中,所述用户设备向所述服务设备发送长连接建立请求后,所述服务设备对所述长连接请求进行响应,然后在步骤S2中,所述用户设备根据所述长连接建立请求以及所述响应,建立与所述长连接建立请求相对应的第一长连接;或者,在步骤S2中,所述用户设备根据所述长连接建立请求以及所述响应,选择一个已经预先建立好的候选长连接以作为与所述长连接建立请求相对应的第一长连接。
在此,当所述服务设备获取所述长连接建立请求后,所述服务设备可以直接建立所述第一长连接或选择一个已经预先建立好的候选长连接以作为所述第一长连接,则此时的用户设备仅获得由所述服务设备所通知的建立或选择成功的消息,随即建立了双向通路的长连接;或者,当所述服务设备获取所述长连接建立请求后,所述服务设备可以向所述用户设备发送一次或多次的认证消息,然后在步骤S2中,所述用户设备根据长连接建立请求以及认证消息来建立双向通路的长连接。
其中,所建立或选择的每一个长连接,都对应于所述服务设备的一个或多个第一进程,即每个长连接由相同或不同的第一进程来处理。在此,所述服务设备会随机选择一个进程来处理某个长连接,所有的进程都是平等的。
例如,所述用户设备基于所述服务设备的处理能力等信息,预先建立多个候选长连接,由于通常情况下,进程数目与服务设备的CPU核数一致,因此,若所述用户设备设置候选长连接数为80,则表示所述用户设备向每个进程连接了10个候选长连接。当所述用户设备发送长连接建立请求时,则所述服务设备随机选择一个候选长连接,以作为用于进行数据交换的第一长连接。
或者,例如,若所述服务设备的CPU为8核,同时若所述用户设备向所述服务设备发送了80个长连接建立请求,则所述用户设备向所述服务设备的每个进程连接了10个长连接;或者,所述用户设备向所述服务设备的前5个进程分别连接了16个长连接;或者,所述用户设备向所述服务设备的前4个进程分别连接了15个长连接,并向后四个进程分别连接5个长连接。在此,本领域技术人员应能理解,在此,所述进程与长连接的处理关系是随机的,服务设备本身并不能决定某个长连接在初始连接状态下由哪个进程所处理。
在步骤S3中,所述用户设备确定与所述第一长连接相对应的重连时间。
具体地,在步骤S3中,所述用户设备基于一种或多种预先设定的确定重连时间的方式,根据每个第一长连接所对应的负载、连接时间或其他信息,分别确定与所述多个第一长连接相对应的重连时间。其中,所述确定重连时间的方式包括以下至少任一项:
-根据所述用户设备统一设置的重连时间,确定与每个第一长连接相对应的重连时间,例如,所述用户设备统一设置在当前小时的15分(如13:15)、20分(如13:20)、25分(如13:25)重连;
-根据所述用户设备为每个第一长连接所设置的重连周期,定期对每个第一长连接进行重连,例如,设置从所述第一长连接建立起,每分钟为一个周期,则将每个所述第一长连接建立后的第一分钟、第二分钟、第三分钟等作为所述重连时间;
-根据处理所述第一长连接的第一进程的负载信息,若所述负载信息超过一定负载阈值,则立即对所述第一长连接进行重连;其中,所述负载信息可以由所述服务设备实时传输给所述用户设备,也可以由所述用户设备与其他能够获取到所述第一进程负载信息的第三方设备相交互,以获取所述负载信息;
-根据所述服务设备对所述第一长连接的响应信息,确定与所述第一长连接相对应的重连时间;例如,所述用户设备每次调用服务设备以进行数据传输后,都记录所述服务设备的响应时间,若所述响应时间超过一定阈值(如100毫秒),则立即对所述第一长连接进行重连;进一步地,除了利用所述响应时间外,还可以结合一定的响应次数,继上例,若所述响应时间连续N次超过一定阈值(如100毫秒),则立即对所述第一长连接进行重连;在此,所述响应次数或响应时间阈值可以根据系统预设的方式进行配置,也可以利用机器学习的方式,如按照对响应时间的统计分析,按照比例来确定响应时间阈值。
在此,根据重连时间或根据重连周期来确定所述重连时间的方式,是基于时间触发的;根据所述第一进程的负载信息和/或根据所述服务设备对所述第一长连接的响应信息来确定所述重连时间的方式,是基于事件触发的。
在步骤S4中,所述用户设备根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
具体地,在步骤S4中,所述用户设备根据所述步骤S3所确定的重连时间,当到了所述重连时间时,建立一个或多个用于替代所述第一长连接的第二长连接。在此,建立所述第二长连接的方法与建立所述第一长连接的方法相同或相似,即包括以下至少任意一种建立方法:在步骤S4中,所述用户设备向所述服务设备发送第二长连接建立请求后,所述服务设备对所述第二长连接请求进行响应,然后所述用户设备根据所述第二长连接建立请求以及所述响应,建立与所述第二长连接建立请求相对应的第二长连接;或者,在步骤S4中,所述用户设备根据所述第二长连接建立请求以及所述响应,选择一个已经预先建立好的候选长连接以作为与所述第二长连接建立请求相对应的第二长连接。在此,所建立的第二长连接与所述第一长连接相对应,即所述第二长连接可用于处理所述第一长连接所处理的任意数据或请求等。
其中,在步骤S4中,所述用户设备所建立/选择的第二长连接,由所述服务设备的第二进程处理,所述第二进程可以是所述用户设备或服务设备随机选择的一个第二进程,也可以是基于一种或多种预定条件来选择的第二进程;所述第一进程与所述第二进程可以是同一个进程,也可以是不同的进程。
优选地,在步骤S4中,所述用户设备可以根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
具体地,在步骤S4中,所述用户设备根据所述步骤S3所确定的重连时间,当到了所述重连时间时,基于所述服务设备的进程选择策略,建立一个或多个用于替代所述第一长连接的第二长连接。其中,所述进程选择策略包括但不限于基于所述服务设备所对应的各个候选进程的负载情况,或者基于所述服务设备预先设置的候选进程的选择次序等,选择一个候选进程以作为处理所述第二长连接的第二进程;从而在步骤S4中,所述用户设备与所述第二进程直接建立第二长连接,或者选择所述第二进程作为处理所述第二长连接的进程。一般情况下,所选择的候选进程是由所述服务设备的操作系统所决定的,例如,选择负载较低的候选进程作为所述第二进程等。
在此,建立所述第二长连接的方法与图3中所述步骤S4建立第二长连接的方法相同或相似,故在此不再赘述,并通过引用的方式包含于此。
在步骤S5中,所述用户设备关闭所述第一长连接。
具体地,当所述用户设备建立所述第二长连接后,在步骤S5中,所述用户设备可直接关闭所述第一长连接;或在建立所述第二长连接后的预定时间阈值后,关闭所述第一长连接,如在建立所述第二长连接后的3分钟后,关闭所述第一长连接;或基于其他缺省设置或用户设置的关闭条件,关闭所述第一长连接。从而,所述第一长连接所处理的业务由所述第二长连接处理,通过重连的方式,平衡各个进程的负载。
优选地,在步骤S5中,所述用户设备可以检测所述第一长连接所对应的连接信息;当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接。
具体地,考虑到有些情况下(例如异步单线程模式下),当采用第二长连接替换第一长连接时,由于旧的长连接(即第一长连接)已经被引用,如果直接将所述第一长连接关闭,则已经引用所述第一长连接的请求则可能报错,因此,可采用该优选方案,即:
所述用户设备建立所述第二长连接后,在步骤S5中,所述用户设备可以通过定时监测或基于事件触发的方式,对所述第一长连接所对应的连接信息进行检测;其中,所述连接信息包括但不限于当前数据传输信息、其他所设置的连接信息等。
在步骤S5中,所述用户设备将所检测到的连接信息与预先设置的关闭长连接的条件相对比,若所述连接信息满足预先设置的关闭长连接的条件,则关闭所述第一长连接,从而使得引用所述第一长连接的请求能够处理完毕,减少系统出错的概率。
其中,所述关闭长连接的条件包括以下至少任一项:
-所述第一长连接在一定时间阈值内没有数据传输,即经过一段时间的监测后,所述第一长连接上未发生任何数据传输,则认为引用所述第一长连接的请求已经处理完毕,满足关闭所述长连接的条件;
-引用所述第一长连接的引用数降为0:在此,引入了一种新的判断方式,即:
首先为所有的长连接设置唯一ID,当所述长连接被引用则该长连接的引用数加1,使用完毕后释放该长连接则该长连接的引用数减1;当所述长连接被替换的时候,将所述长连接放入回收队列中等待回收,当该长连接的引用数为0时,则表示可以关闭该连接。
从而,在所述用户设备的服务启动的时候,作为连接回收策略的一部分,系统会开启一个守护进程每隔一段时间(可配置)运行一次,用以判断回收队列中的长连接是否被引用,如果发现引用数为0则关闭所述长连接,否则等下一个回收周期进行关闭。
图4示出根据本发明一个优选实施例的一种在用户设备端用于多进程的负载均衡的方法流程图。具体地,在步骤S1’中,所述用户设备发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;在步骤S2’中,所述用户设备根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;在步骤S6’中,所述用户设备确定与所述第一长连接相对应的重连周期;在步骤S3’中,所述用户设备根据所述重连周期,确定与所述第一长连接相对应的重连时间;和/或在步骤S3’中,所述用户设备根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间;在步骤S4’中,所述用户设备根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;在步骤S5’中,所述用户设备关闭所述第一长连接。
其中,所述方法的步骤S1’、步骤S2’、步骤S4’、步骤S5’与图3所示对应步骤相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
上述各步骤之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各步骤分别实时地,或者按照设定的或实时调整的工作模式要求,进行长连接建立请求的发送、第一长连接的建立、重连周期的确定、重连时间的确定、第二长连接的建立、第一长连接的关闭等,直至所述用户设备停止发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备。
在步骤S6’中,所述用户设备确定与所述第一长连接相对应的重连周期。
具体地,在步骤S6’中,所述用户设备基于所述用户设备预设的时间周期,或基于由所述服务设备预设并发送给所述用户设备的时间周期,或基于所述服务设备的历史压力变化,通过机器学习所获取的时间周期等一种或多种形式,确定与所述第一长连接相对应的重连周期。
在此,所述重连周期是与所述第一长连接相对应的,即每个长连接对应于一个重连周期;同一个用户设备的多个长连接可对应于同一个重连周期,也可以对应于不同的重连周期;例如,同一个用户设备的多个长连接的重连周期均为5秒,或者同一个用户设备的多个长连接的重连周期分别为5秒、10秒、30秒等。在此,所述重连周期的计算以该重连周期所对应的长连接的建立时间为准。
优选地,所述重连周期为时间渐进周期。
其中,所述时间渐进周期如[30s,60s,300s,1800s],即所述第一长连接的第一次重连时间为连接建立后的30s,然后,与所述第一长连接所对应第二次长连接的重连时间为连接建立后的60s,依次地,第三次重连时间为连接建立后的300s,第四次重连时间为建立后的1800s。优选地,第五次以及以后的重连时间可采用预设值的时间,也可以采用所述1800s。这样,经过30秒、60秒、5分钟、30分钟的重建之后,服务设备端各个进程的负载应已达到相对均衡。
然后,在步骤S3’中,所述用户设备可以执行以下任一项:根据所述重连周期,确定与所述第一长连接相对应的重连时间;或根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。
具体地,在步骤S3’中,所述用户设备可以根据所述重连周期,以所述第一长连接建立的时间为基准,当所述第一长连接建立的时间满足所述重连周期时,将该时间作为与所述第一长连接相对应的重连时间。例如,所述用户设备预设重连周期为5秒,则所述用户设备与所述服务设备所建立的每个长连接,在建立连接后5秒,由所述用户设备发起重连。
或者,在步骤S3’中,所述用户设备根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。其中,所述重连缓冲时间可以是预设的一个或多个时间,每个第一长连接所对应的重连缓冲时间不同,例如,第一长连接1所对应的重连缓冲时间为100ms,第一长连接2所对应的重连缓冲时间为200ms;或者,所述重连缓冲时间为一个时间阈值范围,例如10s,每个第一长连接所确定的重连时间均在[重连周期-时间阈值]~[重连周期+时间阈值]之间,例如,若重连周期为30s,时间阈值为10s,则每个第一长连接在[20s~40s]内,随机选择一个时间作为与所述第一长连接相对应的重连时间。
利用所述重连缓冲时间,可以使得所有长连接先后有序地重建,避免了所有连接被同时替换的可能,以免增大设备压力,影响业务请求处理。
优选地,所述方法还包括步骤S7’(未示出)与步骤S8’(未示出);其中,在步骤S7’中,所述用户设备确定与所述用户设备相对应的最大连接数目;在步骤S8’中,所述用户设备根据所述最大连接数目,确定与所述第一长连接相对应的重连缓冲时间。
具体地,在步骤S7’中,所述用户设备可基于缺省设置,或所述用户设备的处理能力、网络性能、可用资源、剩余资源等一种或多种信息,确定与所述用户设备相对应的最大的长连接连接数目,例如,所述用户设备基于当前设备的处理能力,将最大的长连接连接数目设置为N。
然后,在步骤S8’中,所述用户设备根据所述最大连接数目,通过基于预设的对应方式,或基于等比例计算等方式,确定与所述第一长连接相对应的重连缓冲时间。例如,若所述最大连接数目为N1,则每个第一长连接的重连缓冲时间为30秒+i毫秒,i∈N1。或者,例如,若所述最大连接数目为N1,预设的与N对应的重连缓冲阈值为X1,若所述最大连接数目为N2,则预设的与N对应的重连缓冲阈值为X2;或者,若所述最大连接数目越大,则所述重连缓冲时间也越大;从而所述用户设备可以在一个相对合理的重连缓冲阈值范围内,确定与每个长连接相对应的重连缓冲时间。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (15)
1.一种在用户设备端用于多进程的负载均衡的方法,其中,该方法包括:
a发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
b根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
c确定与所述第一长连接相对应的重连时间;
d根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
e关闭所述第一长连接。
2.根据权利要求1所述的方法,其中,该方法还包括:
-确定与所述第一长连接相对应的重连周期;
其中,所述步骤c包括以下任一项:
-根据所述重连周期,确定与所述第一长连接相对应的重连时间;
-根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。
3.根据权利要求2所述的方法,其中,所述重连周期为时间渐进周期。
4.根据权利要求2或3所述的方法,其中,该方法还包括:
-确定与所述用户设备相对应的最大连接数目;
-根据所述最大连接数目,确定与所述第一长连接相对应的重连缓冲时间。
5.根据权利要求1所述的方法,其中,所述步骤c包括以下任一项:
-根据所述第一进程所对应的负载信息,确定与所述第一长连接相对应的重连时间;
-根据所述服务设备对所述第一长连接的响应信息,确定与所述第一长连接相对应的重连时间。
6.根据权利要求1至5中任一项所述的方法,其中,所述步骤d包括:
-根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
7.根据权利要求1至6中任一项所述的方法,其中,所述步骤e包括:
-检测所述第一长连接所对应的连接信息;
-当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接。
8.一种用于多进程的负载均衡的用户设备,其中,该设备包括:
请求发送装置,用于发送一个或多个长连接建立请求至与所述用户设备相对应的服务设备;
第一建立装置,用于根据所述长连接建立请求,建立与所述长连接建立请求相对应的第一长连接,其中,每个第一长连接由所述服务设备的第一进程处理;
重连确定装置,用于确定与所述第一长连接相对应的重连时间;
第二建立装置,用于根据所述重连时间,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理;
关闭装置,用于关闭所述第一长连接。
9.根据权利要求8所述的用户设备,其中,该设备还包括:
周期确定装置,用于确定与所述第一长连接相对应的重连周期;
其中,所述重连确定装置用于以下至少任一项:
-根据所述重连周期,确定与所述第一长连接相对应的重连时间;
-根据所述重连周期,结合与所述第一长连接相对应的重连缓冲时间,分别确定与所述一个或多个第一长连接相对应的重连时间。
10.根据权利要求9所述的用户设备,其中,所述重连周期为时间渐进周期。
11.根据权利要求9或10所述的用户设备,其中,该设备还包括:
连接数确定装置,用于确定与所述用户设备相对应的最大连接数目;
缓冲确定装置,用于根据所述最大连接数目,确定与所述第一长连接相对应的重连缓冲时间。
12.根据权利要求8所述的用户设备,其中,所述重连确定装置用于以下至少任一项:
-根据所述第一进程所对应的负载信息,确定与所述第一长连接相对应的重连时间;
-根据所述服务设备对所述第一长连接的响应信息,确定与所述第一长连接相对应的重连时间。
13.根据权利要求8至12中任一项所述的用户设备,其中,所述第二建立装置用于:
-根据所述重连时间,基于所述服务设备的进程选择策略,建立与所述第一长连接相对应的一个或多个第二长连接,其中,所述第二长连接由所述服务设备的第二进程处理。
14.根据权利要求8至13中任一项所述的用户设备,其中,所述关闭装置用于:
-检测所述第一长连接所对应的连接信息;
-当所述连接信息满足关闭长连接的条件时,关闭所述第一长连接。
15.一种用于多进程的负载均衡的系统,其中包括如权利要求8或14中任一项所述的用户设备,以及用于与所述用户设备进行长连接以提供长连接服务的服务设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410660465.XA CN105677451A (zh) | 2014-11-18 | 2014-11-18 | 一种用于多进程的负载均衡的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410660465.XA CN105677451A (zh) | 2014-11-18 | 2014-11-18 | 一种用于多进程的负载均衡的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105677451A true CN105677451A (zh) | 2016-06-15 |
Family
ID=56945388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410660465.XA Pending CN105677451A (zh) | 2014-11-18 | 2014-11-18 | 一种用于多进程的负载均衡的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677451A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506701A (zh) * | 2016-12-28 | 2017-03-15 | 北京奇艺世纪科技有限公司 | 一种服务器负载均衡方法及负载均衡器 |
CN107800585A (zh) * | 2016-09-07 | 2018-03-13 | 腾讯科技(深圳)有限公司 | 网络通信的方法和装置、推送消息的方法和装置 |
CN107819858A (zh) * | 2017-11-14 | 2018-03-20 | 聚好看科技股份有限公司 | 一种在云服务动态伸缩时管理云服务的方法及装置 |
CN107979653A (zh) * | 2018-01-16 | 2018-05-01 | 北京小米移动软件有限公司 | 负载均衡方法及装置 |
CN108111431A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(北京)有限公司 | 业务数据发送方法及装置 |
CN110213320A (zh) * | 2019-01-02 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
CN111416849A (zh) * | 2020-03-13 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 断线重连方法、装置、系统和计算机设备 |
CN112350973A (zh) * | 2019-08-07 | 2021-02-09 | 广州虎牙科技有限公司 | 远程过程调用负载均衡方法、装置及数据处理系统 |
CN118488093A (zh) * | 2024-07-16 | 2024-08-13 | 浙江零跑科技股份有限公司 | 连接迁移方法、装置、系统、设备、存储介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932444A (zh) * | 2012-10-29 | 2013-02-13 | 上海银商资讯有限公司 | 金融实时交易系统中的负载均衡模块 |
CN103139818A (zh) * | 2011-12-02 | 2013-06-05 | 中兴通讯股份有限公司 | 一种aos中保持长连接的方法、系统、aoe、aog及终端 |
CN103746977A (zh) * | 2013-12-27 | 2014-04-23 | 东软熙康健康科技有限公司 | 一种Linux服务器的连接方法和装置 |
-
2014
- 2014-11-18 CN CN201410660465.XA patent/CN105677451A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139818A (zh) * | 2011-12-02 | 2013-06-05 | 中兴通讯股份有限公司 | 一种aos中保持长连接的方法、系统、aoe、aog及终端 |
CN102932444A (zh) * | 2012-10-29 | 2013-02-13 | 上海银商资讯有限公司 | 金融实时交易系统中的负载均衡模块 |
CN103746977A (zh) * | 2013-12-27 | 2014-04-23 | 东软熙康健康科技有限公司 | 一种Linux服务器的连接方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107800585A (zh) * | 2016-09-07 | 2018-03-13 | 腾讯科技(深圳)有限公司 | 网络通信的方法和装置、推送消息的方法和装置 |
CN107800585B (zh) * | 2016-09-07 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 网络通信的方法和装置、推送消息的方法和装置 |
CN108111431B (zh) * | 2016-11-24 | 2021-09-24 | 腾讯科技(北京)有限公司 | 业务数据发送方法、装置、计算设备及计算机可读存储介质 |
CN108111431A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(北京)有限公司 | 业务数据发送方法及装置 |
CN106506701A (zh) * | 2016-12-28 | 2017-03-15 | 北京奇艺世纪科技有限公司 | 一种服务器负载均衡方法及负载均衡器 |
CN107819858A (zh) * | 2017-11-14 | 2018-03-20 | 聚好看科技股份有限公司 | 一种在云服务动态伸缩时管理云服务的方法及装置 |
CN107819858B (zh) * | 2017-11-14 | 2020-11-03 | 青岛聚看云科技有限公司 | 一种在云服务动态伸缩时管理云服务的方法及装置 |
CN107979653A (zh) * | 2018-01-16 | 2018-05-01 | 北京小米移动软件有限公司 | 负载均衡方法及装置 |
CN110213320A (zh) * | 2019-01-02 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
CN110213320B (zh) * | 2019-01-02 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
CN112350973A (zh) * | 2019-08-07 | 2021-02-09 | 广州虎牙科技有限公司 | 远程过程调用负载均衡方法、装置及数据处理系统 |
CN111416849A (zh) * | 2020-03-13 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 断线重连方法、装置、系统和计算机设备 |
CN118488093A (zh) * | 2024-07-16 | 2024-08-13 | 浙江零跑科技股份有限公司 | 连接迁移方法、装置、系统、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677451A (zh) | 一种用于多进程的负载均衡的方法和设备 | |
CN109274707B (zh) | 一种负载调度方法及装置 | |
US10282246B2 (en) | Application error detection method for cloud streaming service, and apparatus and system therefor | |
CN108075934B (zh) | 一种网络质量监控方法、装置及系统 | |
US9384114B2 (en) | Group server performance correction via actions to server subset | |
CN105279027B (zh) | 一种虚拟机部署方法及装置 | |
CN112866394B (zh) | 一种负载均衡方法、装置、系统、计算机设备和存储介质 | |
US10452469B2 (en) | Server performance correction using remote server actions | |
WO2016126864A4 (en) | System and method for introducing functionality to an application for use with a network service | |
CN104714851A (zh) | 一种实现资源分配的方法及装置 | |
CN104092650A (zh) | 一种分配业务请求的方法和装置 | |
CN108243222A (zh) | 服务器网络架构方法及装置 | |
WO2014194704A1 (en) | A grouping processing method and system | |
CN113595926B (zh) | 基于数据中台的api数据传输方法、装置、设备和介质 | |
CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
US20110295953A1 (en) | Apparatus for Routing Requests | |
JP2013196695A (ja) | 仮想マシン割り当てシステム及びその方法 | |
JP2015537267A (ja) | 情報管理方法及びデバイス | |
US9501321B1 (en) | Weighted service requests throttling | |
CN108200185B (zh) | 一种实现负载均衡的方法及装置 | |
CN106375372B (zh) | 一种大数据资源分配方法和装置 | |
CN117149665B (zh) | 持续集成方法、控制设备、持续集成系统及存储介质 | |
JP2015087892A (ja) | 情報処理システム | |
US9537742B2 (en) | Automatic adjustment of application launch endpoints | |
CN112395070A (zh) | 数据处理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160615 |
|
WD01 | Invention patent application deemed withdrawn after publication |