CN110442610A - 负载均衡的方法、装置、计算设备以及介质 - Google Patents
负载均衡的方法、装置、计算设备以及介质 Download PDFInfo
- Publication number
- CN110442610A CN110442610A CN201910719261.1A CN201910719261A CN110442610A CN 110442610 A CN110442610 A CN 110442610A CN 201910719261 A CN201910719261 A CN 201910719261A CN 110442610 A CN110442610 A CN 110442610A
- Authority
- CN
- China
- Prior art keywords
- server
- session
- session information
- terminal
- session connection
- 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 43
- 230000004044 response Effects 0.000 claims abstract description 17
- 239000008186 active pharmaceutical agent Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Abstract
本公开提供了一种负载均衡的方法。该方法包括:响应于来自终端的会话请求,从多个服务器中确定第一服务器;建立终端与第一服务器之间的第一会话连接;将第一会话连接产生的会话信息存储在分布式缓存中,以便多个服务器共享会话信息;响应于检测到第一服务器的第一事件,从多个服务器中确定第二服务器;以及建立终端与第二服务器之间的第二会话连接,并且指示第二服务器从分布式缓存中获得会话信息。本公开还提供了一种负载均衡的装置、一种计算设备以及一种介质。
Description
技术领域
本公开涉及计算机领域,具体地,涉及一种负载均衡的方法、装置、计算设备以及介质。
背景技术
在网站架构领域,常常使用负载均衡技术。图1示意性示出了负载均衡系统的架构图,如图1所示,终端设备1~N与负载均衡服务器相连,同时负载均衡服务器又与应用服务器1~N相连。当终端设备需要访问应用服务器时,负载均衡服务器会为终端设备分配相应的应用服务器,从而建立终端设备到应用服务器的会话连接。在会话连接的过程中,会产生相关的会话信息存储在应用服务器的内存中,这些会话信息与终端设备是息息相关的。例如用户在终端设备上成功进行登录操作后,应用服务器会将包含本次登录信息的会话信息存储在内存中,通过该会话信息应用服务器就能够知晓当前用户是否处于登录状态。
在实现本公开构思的过程中,发明人发现现有技术至少存在以下问题:
1.用户分别在两台终端设备上登录自己的账户后发起会话请求,现有技术会将两次会话请求分配到不同的应用服务器上,此时由于用户会话信息分处两个不同的应用服务器中,因此后一次会话分配的应用服务器无法获得前一次会话的信息,造成信息不同步。
2.如果正在处理会话请求的应用服务器出现了故障,但由于终端设备与应用服务器的会话信息存放在原应用服务器的内存中,会话信息会由于应用服务器的故障而丢失,影响用户体验。
3.将会话信息放在应用服务器上的架构不利于服务器数量的动态扩展。
发明内容
本公开的一个方面提供了一种负载均衡的方法、装置、计算设备以及介质,包括:响应于来自终端的会话请求,从多个服务器中确定第一服务器;建立所述终端与所述第一服务器之间的第一会话连接;将所述第一会话连接产生的会话信息存储在分布式缓存中,以便所述多个服务器共享所述会话信息;响应于检测到所述第一服务器的第一事件,从所述多个服务器中确定第二服务器;以及建立所述终端与所述第二服务器之间的第二会话连接,并且指示所述第二服务器从所述分布式缓存中获得所述会话信息。
可选地,所述第一事件包括以下中的至少一个:所述第一服务器发生故障;所述第一服务器达到高负载状态;所述第一服务器被移除;以及所述第一服务器被锁定。
可选地,所述分布式缓存包括多个数据仓库,所述方法还包括:将所述会话信息分布式存储至各数据仓库中。
可选地,所述会话信息包括键名和键值;所述方法还包括:与所述键名和所述键值相关联地存储所述会话信息;其中,所述键名包括所述第一会话连接的标识,所述键值包括所述第一会话连接的属性以及所述属性的值。
本公开的另一个方面提供了一种负载均衡的装置,包括:第一确定模块,用于响应于来自终端的会话请求,从多个服务器中确定第一服务器;第一建立模块,用于建立所述终端与所述第一服务器之间的第一会话连接;第一存储模块,用于将所述第一会话连接产生的会话信息存储在分布式缓存中,以便所述多个服务器共享所述会话信息;第二确定模块,用于响应于检测到所述第一服务器的第一事件,从所述多个服务器中确定第二服务器;以及第二建立模块,用于建立所述终端与所述第二服务器之间的第二会话连接,并且指示所述第二服务器从所述分布式缓存中获得所述会话信息。
可选地,所述第一事件包括以下中的至少一个:所述第一服务器发生故障;所述第一服务器达到高负载状态;所述第一服务器被移除;以及所述第一服务器被锁定。
可选地,所述分布式缓存包括多个数据仓库,所述装置还包括:第二存储模块,用于将所述会话信息分布式存储至各数据仓库中。
可选地,所述会话信息包括键名和键值;所述装置还包括:第三存储模块,用于与所述键名和所述键值相关联地存储所述会话信息;其中,所述键名包括所述第一会话连接的标识,所述键值包括所述第一会话连接的属性以及所述属性的值。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,由于第一会话连接存储在分布式缓存服务器中,因此通过从分布式缓存服务器中读取第一会话连接产生的会话信息,第二服务器能够接替第一服务器在第一会话的基础上继续与终端设备的会话,从而实现不同的应用服务器之间共享会话信息。另一方面,在应用服务器处于宕机等不可用的状态时,通过将会话连接转到其他应用服务器上,从而避免因为应用服务器不可用而丢失会话进度的情况。此外,通过将会话信息存储在分布式缓存服务器中,在增加服务器时,新增的服务器可以从分布式缓存服务器中获取会话信息,从而为实现服务器数量的动态扩展提供了可能。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据相关技术的负载均衡系统的示意图;
图2示意性示出了根据本公开实施例的负载均衡的方法及装置的应用场景示意图;
图3示意性示出了根据本公开实施例的分布式缓存服务器的框图;
图4示意性示出了根据本公开的实施例的负载均衡的方法的流程图;
图5示意性示出了根据本公开的实施例的负载均衡的装置的框图;
图6示意性示出了根据本公开另一实施例的负载均衡的装置的框图;
图7示意性示出了根据本公开另一实施例的负载均衡的装置的框图;以及
图8示意性示出了根据本公开另一实施例计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种用负载均衡的方法、装置、计算设备以及介质。该方法包括响应于来自终端的会话请求,从多个服务器中确定第一服务器;建立终端与第一服务器之间的第一会话连接,将第一会话连接产生的会话信息存储在分布式缓存中,以便多个服务器共享会话信息;然后,响应于检测到第一服务器的第一事件,从多个服务器中确定第二服务器;建立终端与所述第二服务器之间的第二会话连接,并且指示第二服务器从分布式缓存中获得会话信息。
图2示意性示出了根据本公开的实施例的负载均衡的方法及装置的应用场景。需要注意的是,图2所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图2所示,系统200包括终端设备211、212、213、214,负载均衡服务器220,应用服务器231、232、233、234,以及分布式缓存服务器240。
其中,用户可以使用终端设备211、212、213、214通过负载均衡服务器220与应用服务器231、232、233、234交互,以接收或发送消息等。终端设备211、212、213、214上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备211、212、213、214可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
应用服务器231、232、233、234可以对接收到的终端设备211、212、213、214的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
负载均衡服务器220用于针对终端设备211、212、213、214发起的访问请求,根据均衡策略从应用服务器231、232、233、234中为其分配相应的应用服务器,以使各应用服务器的负载较为均衡。
分布式缓存服务器240用于保存终端设备访问各应用服务器的过程中产生的会话信息。应用服务器231、232、233、234与分布式缓存服务器相连,各应用服务器可以通过分布式缓存服务器写入或读取数据。
进一步,分布式缓存服务器240可以采用如图3所示的集群结构,分为配置服务器(Configure Server,CS)与数据服务器(Data Server,DS),数据分别存放到各个DS中。CS例如可以是图3中的CS 241和CS 242,DS例如可以是图3中的DS 243、DS 244、DS 245、DS 246和DS 247。
其中,CS是分布式缓存系统240的“大脑”,负责维护系统内所有DS的连接可用性、数据在各个DS上的分布策略、当某台DS发生宕机时指导数据迁移以及为终端设备提供数据分布路由表等核心功能。
CS会根据各个DS的负载情况将会话信息存放到对应的DS中,如果某一台DS发生问题CS会控制启用DS的数据迁移流程。CS 241和CS 242之间采用主备模式,其中一台作为主机,另一台作为主机的备机。
DS是分布式缓存服务器的仓库。各DS之间平时无联系,在接受到CS发出的数据迁移的指令时,相关DS之间会建立连接,进行数据传输。
应该理解,图2中的终端设备、负载均衡服务器、应用服务器以及分布式缓存服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、负载均衡服务器、应用服务器以及分布式缓存服务器。同样的,图3中的配置服务器以及数据服务器的数目也是示意性的。根据实现需要,可以具有任意数目的配置服务器以及数据服务器。
图4示意性示出了根据本公开的实施例的负载均衡的方法的流程图。
如图4所示,该方法包括操作S410~S450。
在操作S410,响应于来自终端的会话请求,从多个服务器中确定第一服务器。
根据本公开的实施例,操作S410例如可以包括,负载均衡服务器220接收到来自终端设备的会话请求时,从应用服务器231、232、233、234中按照负载均衡策略分配一个应用服务器作为第一服务器。
根据本公开的实施例,上述负载均衡策略例如可以为,优先分配上次会话时分配的应用服务器作为第一服务器,如果终端设备之前没有与任何一台应用服务器建立过会话,则随机分配一台应用服务器作为第一服务器。
根据本公开另一些实施例,上述负载均衡策略还可以为,选择所有应用服务器中负载程度最小的应用服务器作为第一服务器。
在操作S420,建立终端与第一服务器之间的第一会话连接。
根据本公开的实施例,操作S420例如可以包括,终端设备发送包含会话请求的数据包到负载均衡服务器220,负载均衡服务器220将终端设备发送的数据包转发给操作S410中确定的第一服务器,第一服务器响应该数据包中的会话请求,发送应答包到负载均衡服务器,然后负载均衡服务器将该应答包转发至终端设备,从而建立与终端设备的会话链接。
在操作S430,将第一会话连接产生的会话信息存储在分布式缓存中,以便多个服务器共享会话信息。
根据本公开的实施例,会话信息为建立会话链接以及会话连接过程中产生的相关信息。
根据本公开的实施例,会话信息可以采用如图5所示的存储结构,其中,key是会话id,value中存放的是会话值。会话值包含各项会话链接的属性以及属性所对应的数值,属性例如包括当前用户D、会话超时时间、账户信息、登陆信息、权限等。
根据本公开另一实施例,可以在分布式缓存中设置多个数据仓库,将会话信息分布式存储至各数据仓库中。其中,分布式缓存例如可以为分布式缓存服务器,数据仓库例如可以设置在分布式缓存服务器中的数据服务器中。
根据本公开的实施例,当应用服务器需要存储会话信息时,应用服务器将存储请求以及会话信息发送给分布式缓存服务器中的配置服务器。配置服务器接收该存储请求以及会话信息,然后根据预定的分布策略将会话信息存储至各个数据服务器中。
当应用服务器需要读取会话信息时,应用服务器将读取请求发送给分布式缓存服务器中的配置服务器。配置服务器接收该读取请求,在各数据服务器中确定目标数据服务器,然后将目标数据服务器中存储的会话信息发送给应用服务器。
接下来,在操作S440,响应于检测到第一服务器的第一事件,从多个服务器中确定第二服务器。
根据本公开的实施例,检测到第一服务器的第一事件表示第一服务器当前不可访问。本实施例中,第一事件例如包括:1.第一服务器发生故障,即第一服务器因为软件或硬件上的故障无法被正常访问;2.第一服务器达到高负载状态,即当前第一服务器的负载高于负载阈值;3.第一服务器被移除,即因为某些原因第一服务器被从负载均衡的下挂中移除;4.第一服务器被锁定,即第一服务器被设定为不接受终端设备的访问。
根据本公开的实施例,操作S440例如可以包括,在检测到第一服务器当前不可访问的情况下,从可用的应用服务器列表中随机选择另一个可用的应用服务器作为第二服务器。
在操作S450,建立终端与第二服务器之间的第二会话连接,并且指示第二服务器从分布式缓存中获得会话信息。
根据本公开的实施例,由于终端设备无法获知第一服务器当前的状态,因此即使在第一服务器当前无法访问时,终端设备仍会继续之前与第一服务器的会话过程,向负载均衡服务器220发送数据包。因此在操作S450中,负载均衡服务器220可以将终端设备发送的后续数据包转发给第二服务器,以使第二服务器接替第一服务器接收后续数据包,并且指示第二服务器从分布式缓存服务器中读取第一会话连接产生的会话信息,以使第二服务器获知之前的会话进度,从而继续与终端设备的会话进程。
需要说明的是,第一会话连接与第二会话连接仅是用于区分终端设备与服务器会话的两个阶段所使用的连接。第一会话连接是指终端设备与第一服务器会话阶段所使用的连接,第二会话连接是指第二服务器接替第一服务器与终端设备会话阶段所使用的连接。而从终端设备的角度来说,与服务器的连接自始至终只有一个。
可以理解的是,对第二会话连接产生的会话信息同样存储于分布式缓存服务器中,具体存储方法可参考上文第一会话连接的会话信息的存储方法,在此不再赘述。
根据本公开的实施例,由于第一会话连接存储在分布式缓存服务器中,因此通过从分布式缓存服务器中读取第一会话连接产生的会话信息,第二服务器能够接替第一服务器在第一会话的基础上继续与终端设备的会话,从而实现不同的应用服务器之间共享会话信息。另一方面,在应用服务器处于宕机等不可用的状态时,通过将会话连接转到其他应用服务器上,从而避免因为应用服务器不可用而丢失会话进度的情况。此外,通过将会话信息存储在分布式缓存服务器中,在增加服务器时,新增的服务器可以从分布式缓存服务器中获取会话信息,从而为实现服务器数量的动态扩展提供了可能。
图5示意性示出了根据本公开的实施例的负载均衡的装置的框图。
如图5所示,负载均衡的装置500包括第一确定模块510、第一建立模块520、第一存储模块530、第二确定模块540以及第二建立模块550。该负载均衡的装置500可以执行上面参考图4描述的方法。
其中,第一确定模块510,用于响应于来自终端的会话请求,从多个服务器中确定第一服务器。
第一建立模块520,用于建立终端与第一服务器之间的第一会话连接。
第一存储模块530,用于将第一会话连接产生的会话信息存储在分布式缓存中,以便多个服务器共享会话信息。
第二确定模块540,用于响应于检测到第一服务器的第一事件,从多个服务器中确定第二服务器。
第二建立模块550,用于建立终端与第二服务器之间的第二会话连接,并且指示第二服务器从分布式缓存中获得会话信息。
图6示意性示出了根据本公开另一实施例的负载均衡的装置的框图。
如图6所示,所述分布式缓存包括多个数据仓库,装置600在装置500的基础上还包括:第二存储模块660,用于将会话信息分布式存储至各数据仓库中。
图7示意性示出了根据本公开另一实施例的负载均衡的装置的框图。
如图7所示,所述会话信息包括键名和键值,装置700在装置600的基础上还包括:第三存储模块770,用于与键名和键值相关联地存储会话信息;其中,所述键名包括第一会话连接的标识,所述键值包括第一会话连接的属性以及属性的值。
根据本公开的实施例,由于第一会话连接存储在分布式缓存服务器中,因此通过从分布式缓存服务器中读取第一会话连接产生的会话信息,第二服务器能够接替第一服务器在第一会话的基础上继续与终端设备的会话,从而实现不同的应用服务器之间共享会话信息。另一方面,在应用服务器处于宕机等不可用的状态时,通过将会话连接转到其他应用服务器上,从而避免因为应用服务器不可用而丢失会话进度的情况。此外,通过将会话信息存储在分布式缓存服务器中,在增加服务器时,新增的服务器可以从分布式缓存服务器中获取会话信息,从而为实现服务器数量的动态扩展提供了可能。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一确定模块510、第一建立模块520、第一存储模块530、第二确定模块540、第二建立模块550、第二存储模块660以及第三存储模块770中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一确定模块510、第一建立模块520、第一存储模块530、第二确定模块540、第二建立模块550、第二存储模块660以及第三存储模块770中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块510、第一建立模块520、第一存储模块530、第二确定模块540、第二建立模块550、第二存储模块660以及第三存储模块770中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括处理器810、计算机可读存储介质820、信号发送器830、以及信号接收器840。该计算机系统800可以执行根据本公开实施例的方法。
具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质820,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形。
计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,处理器810可以与信号发送器830和信号接收器840进行交互,来执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,第一确定模块510、第一建立模块520、第一存储模块530、第二确定模块540、第二建立模块550、第二存储模块660以及第三存储模块770中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种负载均衡的方法,包括:
响应于来自终端的会话请求,从多个服务器中确定第一服务器;
建立所述终端与所述第一服务器之间的第一会话连接;
将所述第一会话连接产生的会话信息存储在分布式缓存中,以便所述多个服务器共享所述会话信息;
响应于检测到所述第一服务器的第一事件,从所述多个服务器中确定第二服务器;以及
建立所述终端与所述第二服务器之间的第二会话连接,并且指示所述第二服务器从所述分布式缓存中获得所述会话信息。
2.根据权利要求1所述的方法,其中,所述第一事件包括以下中的至少一个:
所述第一服务器发生故障;
所述第一服务器达到高负载状态;
所述第一服务器被移除;以及
所述第一服务器被锁定。
3.根据权利要求1所述的方法,其中,所述分布式缓存包括多个数据仓库,所述方法还包括:
将所述会话信息分布式存储至各数据仓库中。
4.根据权利要求1或3所述的方法,其中,所述会话信息包括键名和键值;
所述方法还包括:
与所述键名和所述键值相关联地存储所述会话信息;
其中,所述键名包括所述第一会话连接的标识,所述键值包括所述第一会话连接的属性以及所述属性的值。
5.一种负载均衡的装置,包括:
第一确定模块,用于响应于来自终端的会话请求,从多个服务器中确定第一服务器;
第一建立模块,用于建立所述终端与所述第一服务器之间的第一会话连接;
第一存储模块,用于将所述第一会话连接产生的会话信息存储在分布式缓存中,以便所述多个服务器共享所述会话信息;
第二确定模块,用于响应于检测到所述第一服务器的第一事件,从所述多个服务器中确定第二服务器;以及
第二建立模块,用于建立所述终端与所述第二服务器之间的第二会话连接,并且指示所述第二服务器从所述分布式缓存中获得所述会话信息。
6.根据权利要求5所述的装置,其中,所述第一事件包括以下中的至少一个:
所述第一服务器发生故障;
所述第一服务器达到高负载状态;
所述第一服务器被移除;以及
所述第一服务器被锁定。
7.根据权利要求5所述的装置,其中,所述分布式缓存包括多个数据仓库,所述装置还包括:
第二存储模块,用于将所述会话信息分布式存储至各数据仓库中。
8.根据权利要求5或7所述的装置,其中,所述会话信息包括键名和键值;所述装置还包括:
第三存储模块,用于与所述键名和所述键值相关联地存储所述会话信息;
其中,所述键名包括所述第一会话连接的标识,所述键值包括所述第一会话连接的属性以及所述属性的值。
9.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至4中任一项的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至4中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719261.1A CN110442610A (zh) | 2019-08-05 | 2019-08-05 | 负载均衡的方法、装置、计算设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910719261.1A CN110442610A (zh) | 2019-08-05 | 2019-08-05 | 负载均衡的方法、装置、计算设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110442610A true CN110442610A (zh) | 2019-11-12 |
Family
ID=68433433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910719261.1A Pending CN110442610A (zh) | 2019-08-05 | 2019-08-05 | 负载均衡的方法、装置、计算设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442610A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908639A (zh) * | 2019-11-13 | 2020-03-24 | 北京城市网邻信息技术有限公司 | 一种专题页面生成方法和系统 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112118294A (zh) * | 2020-08-20 | 2020-12-22 | 山东浪潮通软信息科技有限公司 | 一种基于服务端集群的请求处理方法、设备及介质 |
CN112261013A (zh) * | 2020-09-30 | 2021-01-22 | 上海艾融软件股份有限公司 | 会话创建方法及装置、移动终端、计算机可读存储介质 |
CN112995312A (zh) * | 2021-02-20 | 2021-06-18 | 广东省安心加科技有限公司 | 基于物联网云服务器的通信管理方法及通信管理装置 |
CN113382044A (zh) * | 2021-05-24 | 2021-09-10 | 广东好太太智能家居有限公司 | 一种基于复制机制的会话信息共享方法、系统及存储介质 |
CN113761056A (zh) * | 2021-04-07 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 一种分布式业务的处理方法、装置及系统 |
CN114338689A (zh) * | 2021-12-30 | 2022-04-12 | 中国工商银行股份有限公司 | 会话保持方法、装置、设备、介质和程序产品 |
CN115022386A (zh) * | 2022-06-17 | 2022-09-06 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252788A (zh) * | 2008-04-11 | 2008-08-27 | 北京首信科技有限公司 | 支持RADIUS协议的Diameter-AAA服务器及其工作方法 |
JP2010079523A (ja) * | 2008-09-25 | 2010-04-08 | Oki Electric Ind Co Ltd | セッションデータ共有方法 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN109361778A (zh) * | 2018-12-18 | 2019-02-19 | 厦门商集网络科技有限责任公司 | 一种管理会话的方法及终端 |
-
2019
- 2019-08-05 CN CN201910719261.1A patent/CN110442610A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252788A (zh) * | 2008-04-11 | 2008-08-27 | 北京首信科技有限公司 | 支持RADIUS协议的Diameter-AAA服务器及其工作方法 |
JP2010079523A (ja) * | 2008-09-25 | 2010-04-08 | Oki Electric Ind Co Ltd | セッションデータ共有方法 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN109361778A (zh) * | 2018-12-18 | 2019-02-19 | 厦门商集网络科技有限责任公司 | 一种管理会话的方法及终端 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908639A (zh) * | 2019-11-13 | 2020-03-24 | 北京城市网邻信息技术有限公司 | 一种专题页面生成方法和系统 |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112118294A (zh) * | 2020-08-20 | 2020-12-22 | 山东浪潮通软信息科技有限公司 | 一种基于服务端集群的请求处理方法、设备及介质 |
CN112261013A (zh) * | 2020-09-30 | 2021-01-22 | 上海艾融软件股份有限公司 | 会话创建方法及装置、移动终端、计算机可读存储介质 |
CN112995312A (zh) * | 2021-02-20 | 2021-06-18 | 广东省安心加科技有限公司 | 基于物联网云服务器的通信管理方法及通信管理装置 |
CN113761056A (zh) * | 2021-04-07 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 一种分布式业务的处理方法、装置及系统 |
CN113382044A (zh) * | 2021-05-24 | 2021-09-10 | 广东好太太智能家居有限公司 | 一种基于复制机制的会话信息共享方法、系统及存储介质 |
CN113382044B (zh) * | 2021-05-24 | 2022-12-13 | 广东好太太智能家居有限公司 | 一种基于复制机制的会话信息共享方法、系统及存储介质 |
CN114338689A (zh) * | 2021-12-30 | 2022-04-12 | 中国工商银行股份有限公司 | 会话保持方法、装置、设备、介质和程序产品 |
CN115022386A (zh) * | 2022-06-17 | 2022-09-06 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
CN115022386B (zh) * | 2022-06-17 | 2024-03-12 | 阿里云计算有限公司 | 一种会话处理的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442610A (zh) | 负载均衡的方法、装置、计算设备以及介质 | |
US11115466B2 (en) | Distributed network services | |
US10516577B2 (en) | Graceful scaling in software driven networks | |
US10347542B2 (en) | Client-initiated leader election in distributed client-server systems | |
US9244817B2 (en) | Remote debugging in a cloud computing environment | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
US11005718B2 (en) | Determining capabilities of cognitive entities in a distributed network based on application of cognitive protocols | |
CN106034138A (zh) | 一种远程服务调用方法及装置 | |
US11102284B2 (en) | Service processing methods and systems based on a consortium blockchain network | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN111597024A (zh) | 跨域集群处理方法、装置、电子设备及存储介质 | |
US20200404047A1 (en) | Configurable connection reset for customized load balancing | |
CN113179295A (zh) | 报文处理方法及装置 | |
US10776172B1 (en) | Cost optimized services for dynamic service levels | |
US10481963B1 (en) | Load-balancing for achieving transaction fault tolerance | |
CN113687940B (zh) | 负载均衡方法、装置及物理机 | |
CN111435320B (zh) | 一种数据处理方法及其装置 | |
CN112188012A (zh) | 客服会话的建立方法、装置、电子设备及可读存储介质 | |
US20140164608A1 (en) | Content transmission system | |
KR101648568B1 (ko) | 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템 | |
CN109933432A (zh) | 用于发送数据的方法和装置 | |
CN114500546B (zh) | 基于负载均衡集群的通信消息发送方法、装置及设备 | |
US20180123999A1 (en) | Tracking client location using buckets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191112 |
|
RJ01 | Rejection of invention patent application after publication |