CN110417876B - 会话方法、分布式系统中的节点服务器及主控设备 - Google Patents
会话方法、分布式系统中的节点服务器及主控设备 Download PDFInfo
- Publication number
- CN110417876B CN110417876B CN201910646911.4A CN201910646911A CN110417876B CN 110417876 B CN110417876 B CN 110417876B CN 201910646911 A CN201910646911 A CN 201910646911A CN 110417876 B CN110417876 B CN 110417876B
- Authority
- CN
- China
- Prior art keywords
- node server
- session
- client
- event request
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000002618 waking effect Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 46
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施方式涉及计算机网络技术领域,公开了一种会话方法、分布式系统中的节点服务器及主控服务器。会话方法包括:判断接收的客户端的事件请求是否属于尚未结束的业务会话的事件请求;若是,根据预存的客户端与节点服务器的会话对应关系,获取客户端对应的节点服务器作为目标节点服务器;判断目标节点服务器与节点服务器是否一致,若不一致,将事件请求发送至目标节点服务器,以供目标节点服务器处理事件请求。本发明实施方式使得在业务会话的生命周期大于基于消息分发策略的会话的生命周期且基于消息分发策略的会话失效时,客户端的该业务会话的事件请求仍然可以被持有该业务会话的节点服务器处理,以使得该业务会话可以顺利完成。
Description
技术领域
本发明实施方式涉及计算机网络技术领域,特别涉及会话方法、分布式系统中的节点服务器及主控服务器。
背景技术
目前,大型服务端为解决高并发,大多会采用分布式部属,通过负载均衡架构将请求分配到多台后端服务器处理;具体的,客户端的IP,映射到nginx代理,然后通过nginx的负载均衡,将请求转发到后端服务器。其中,为了保持同一个客户端的多次请求被同一后台服务器处理,现有设计中依赖Nginx、LVS这类中间件的消息分发策略,例如IPhash、SessionHash等。
发明人发现现有技术中至少存在如下问题:在客户端与后端服务器的业务会话还没结束,而此时HttpSession“会话”失效、或客户端重启后IP变更的情况发生时,客户端无法将请求继续发送到处理该业务会话的后端服务器上,导致无法继续完成本次会话。
发明内容
本发明实施方式的目的在于提供一种会话方法、分布式系统中的节点服务器及主控服务器,使得在业务会话的生命周期大于基于消息分发策略的会话的生命周期,且基于消息分发策略的会话失效的情况下,客户端的关于该业务会话的事件请求仍然可以被持有该业务会话的节点服务器处理,以使得该业务会话可以顺利完成。
为解决上述技术问题,本发明的实施方式提供了一种会话方法,应用于分布式系统中的节点服务器,所述会话方法包括:判断接收的客户端的事件请求是否属于尚未结束的业务会话的事件请求;若所述事件请求属于尚未结束的业务会话的事件请求,根据预存的客户端与节点服务器的会话对应关系,获取所述客户端对应的节点服务器,作为目标节点服务器;判断所述目标节点服务器与所述节点服务器是否一致,若不一致,将所述事件请求发送至所述目标节点服务器,以供所述目标节点服务器处理所述事件请求。
本发明的实施方式还提供了一种会话方法,应用于分布式系统中的主控服务器,所述会话方法包括:当接收到客户端的唤醒请求时,根据预存的客户端与节点服务器的会话对应关系,获取所述客户端对应的节点服务器,记作目标节点服务器;发送所述客户端的唤醒通知至所述目标节点服务器,以供所述目标节点服务器在接收到所述唤醒通知后唤醒所述客户端。
本发明的实施方式还提供了一种分布式系统中的节点服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述会话方法。
本发明的实施方式还提供了一种分布式系统中的主控服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述会话方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述会话方法。
本发明实施方式相对于现有技术而言,预先存储客户端与节点服务器的会话对应关系;当接收到客户端的属于尚未结束的业务会话的事件请求时,把该事件请求分配到该客户端对应的节点服务器上,即使得该事件请求可以由持有该业务会话的节点服务器来处理。因此,在业务会话的生命周期大于HttpSession“会话”的生命周期,而HttpSession“会话”失效的情况下,该客户端的关于该业务会话的事件请求仍然可以被持有该业务会话的节点服务器处理,从而使得该业务会话得以顺利完成。
另外,所述会话方法还包括:若所述事件请求不属于尚未结束的业务会话的事件请求,在判断出所述会话对应关系中记录有所述客户端时,将所述会话对应关系中记录的所述客户端对应的节点服务器更新为所述节点服务器;在判断出所述会话对应关系中未记录所述客户端时,将所述客户端与所述节点服务器添加到所述会话对应关系中。本实施方式中,在接收到不属于尚未结束的业务会话的事件请求时,会将该客户端与该节点服务器的对应关系更新到会话对应关系中;由于最近一次该客户端的事件请求被分配给该节点服务器,由于每个事件请求是基于相同的分配原则被分配至节点服务器的,因此后续该客户端的事件请求被分配到该节点服务器的概率可能会比较大,如果将最近一次该客户端的事件请求被分配至的节点服务器记录为该客户端对应的节点服务器,可以达到降低后续该客户端的事件请求需要由被分配的节点服务器转发至目标服务器的概率。
另外,在判断出所述会话对应关系中记录有所述客户端后,且在所述将所述会话对应关系中所述客户端对应的节点服务器更新为所述节点服务器步骤之前,还包括:判断出所述会话对应关系中记录的所述客户端对应的节点服务器与所述节点服务器不一致。即,如果记录的客户端对应的节点服务器与该节点服务器一致,那么不必更新所述客户端对应的节点服务器;从而可以在一定程度上减轻节点服务器的数据处理负担。
另外,所述事件请求绑定有属性标志;所述判断接收的事件请求是否属于尚未结束的业务会话的事件请求,具体为,根据所述属性标志判断所述事件请求是否属于尚未结束的业务会话的事件请求。本实施方式提供了判断接收的事件请求是否属于尚未结束的业务会话的事件请求的一种具体实现方式。
另外,所述会话方法包括:当接收到所述分布式系统中的主控服务器发送的客户端的唤醒通知时,唤醒所述客户端,以供所述客户端在被唤醒后发送绑定有表征属于尚未结束的业务会话的属性标志的事件请求。本实施方式提供了节点服务器反向唤醒客户端的一种实现方式。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的分布式系统的示意图;
图2是根据本发明第一实施方式的会话方法的一个例子的流程图;
图3是根据本发明第一实施方式的会话方法的另一个例子的流程图;
图4是根据本发明第二实施方式的会话方法的一个例子的流程图;
图5是根据本发明第二实施方式的会话方法的另一个例子的流程图;
图6是根据本发明第三实施方式的会话方法的流程图;
图7是根据本发明第四实施方式的会话方法的流程图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施方式的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种会话方法,应用于分布式系统中的节点服务器。如图1所示,分布式系统包括客户端、反向代理服务、节点服务器以及主控服务器;图中示意了两个客户端,标号分别为11-1、11-2;反向代理服务器,标号为12;三个节点服务器,标号分别为13-1、13-2、13-3;主控服务器,标号为14,主控服务器14例如为北向系统中的主服务器。图1中对客户端、节点服务器的数量并不限制,仅仅是示例说明。其中,客户端11发送事件请求至反向代理服务器12,反向代理服务器12根据预设的分配原则,将该客户端的事件请求分配给一个节点服务器。在一个例子中,反向代理服务器12为Nginx,节点服务器13为tomcat;Nginx可以基于负载均衡原则为客户端的事件请求分配节点服务器。本实施方式的会话方法应用于任意一个节点服务器。
如图2所示为第一实施方式的会话方法的具体流程图,具体如下。
步骤101,判断接收的客户端的事件请求是否属于尚未结束的业务会话的事件请求;若是,进入步骤102;若否,进入步骤105。
步骤102,根据预存的客户端与节点服务器的会话对应关系,获取客户端对应的节点服务器,作为目标节点服务器。
步骤103,判断目标节点服务器与节点服务器是否一致;若否,进入步骤104;若是,进入步骤105。
步骤104,将事件请求发送至目标节点服务器,以供目标节点服务器处理事件请求;
步骤105,处理事件请求。
在步骤101中,节点服务器接收到的客户端的事件请求,是由反向代理服务器12分配过来的;节点服务器会判断该事件请求是否属于尚未结束的业务会话的事件请求。在一个例子中,事件请求绑定有属性标志;节点服务器根据属性标志判断事件请求是否属于尚未结束的业务会话的事件请求。即,客户端可以在生成事件请求时确定该事件请求的属性并绑定相应的属性标志。其中,属性标志可以以不同的取值表示不同含义,例如,属性标志取值为1表征属于尚未结束的业务会话的事件请求,属性标志取值为0表征不属于尚未结束的业务会话的事件请求。
在一个例子中,客户端被节点服务器唤醒后生成的事件请求,被客户端确定为属于尚未结束的业务会话的事件请求。如图3所示,与图2中的例子相比,还包括步骤101-1,当接收到分布式系统中的主控服务器发送的客户端的唤醒通知时,唤醒该客户端,以供该客户端在被唤醒后发送绑定有表征属于尚未结束的业务会话的属性标志的事件请求。
具体的,主控服务器14可以在对客户端存在唤醒需求时,查询会话对应关系,以获得该客户端对应的节点服务器,即该客户端的目标节点服务器,并向目标节点服务器发送客户端的唤醒通知;该目标节点服务器在接收到该客户端的唤醒通知时,唤醒该客户端,即实现反向唤醒。该客户端接收到该客户端的唤醒通知时被唤醒,此时,该客户端认为与节点服务器之间存在一个业务会话尚未结束,从而生成属于尚未结束的业务会话的事件请求。其中,主控服务器14可以是接收到用户提出的客户端的唤醒需求,或者是基于业务需要主动提出客户端的唤醒需求时,查询会话对应关系并获得该客户端的目标节点服务器,以供目标节点服务器发起反向唤醒。
现有中,节点服务器通常是通过Session机制与客户端进行会话,为了保持在预设的Session时长内,同一个客户端的多次事件请求被同一台服务器处理,一般会配置iphash或其他策略作为转发规则;即,任何一次会话,如果客户端在Session时长内给出回复,那么该客户端与该节点服务器会保持正常会话;如果客户端在Session时长内没有给出回复,则本次HttpSession“会话”失效,即该客户端的事件请求无法再准确发送到该节点服务器以完成该业务会话,而该节点服务器仍然持有该业务会话(即对于该业务会话一直处于等待状态)。客户端在Session时长内没有给出回复的原因可能包括:由于网络或客户端自身原因导致客户端的回复超时,或者,客户端的IP发生变更。这种情况即可以理解为,业务会话的生病周期大于HttpSession“会话”的生命周期。
本实施方式中的尚未结束的业务会话的事件请求可以包括,该事件请求所属的业务会话尚未结束而HttpSession“会话”已失效;对于此类事件请求,本实施方式的会话方法依然可以将该客户端的事件请求准确发送给持有该业务会话的节点服务器。尚未结束的业务会话的事件请求还可以包括,客户端在预设的Session时长内发送的事件请求;对于此类事件,节点服务器在基于本实施方式所述的会话方法对该事件请求进行处理中,步骤103的判断结果是目标节点服务器与该节点服务器一致,从而进入步骤105,即由该节点处理器处理该事件请求。
在其他例子中,也可以将客户端在预设的Session时长内发送的事件请求认为是不属于尚未结束的业务会话的事件请求,该事件请求直接由该节点服务器处理该事件请求(步骤101判断结果为否时,进入步骤105);由于基于Session机制的会话中,客户端在预设的Session时长内发送的多个事件请求会被分配给同一个节点服务器,因此该节点服务器即是该事件请求所述的业务会话的持有者。
其中,仍然持有该业务会话的节点服务器在等待超时而未收到反馈时,可以向主控服务器14上报异常情况。主控服务器14可以将该异常情况通知用户,从而用户可以向主控服务器14提出对客户端的唤醒需求。
以下为举例说明。客户端11-1上报心跳事件,且该心跳事件被分配至节点服务器13-1;节点服务器13-1判断出该心跳事件触发软件升级业务,节点服务器13-1与客户端11-1进行业务会话;在软件升级业务中,客户端11-1需要重启,此时节点服务器13-1仍然持有该软件升级业务。当客户端11-1重启后,被节点服务器唤醒时,会再次发送心跳事件至节点服务器,且该再次发送的心跳事件属于尚未结束的业务会话的事件请求;基于本实施方式的会话方法,可以使得该客户端11-1再次上报的心跳事件被持有该软件升级业务的节点服务器13-1处理,从而顺利完成本次业务会话。
需要说明的是,上述例子为客户端确定何种事件请求属于尚未结束的业务请求的一种情况,本实施方式并不以此为限,设计人员可以根据应用场景的实际需要来设定。
客户端与节点服务器的会话对应关系可以被预先存储在预设的存储区域;如图1的例子中,该会话对应关系被存储在redis中;每个节点服务器都可以访问redis,以查询该会话对应关系。当步骤101中判断出该事件请求属于尚未结束的业务会话的事件请求时,进入步骤102,节点服务器查询该会话对应关系,以获取该客户端对应的节点服务器,并将获取的该节点服务器记作目标服务器。其中,会话对应关系中预存的客户端与节点服务器的对应关系,其在存储内容上应当理解为是客户端的身份识别标志和节点服务器的身份识别标志。该事件请求中携带有该客户端的身份识别标志,因此,节点服务器可以根据客户端的身份识别标志获取目标节点服务器的身份识别标志。
在步骤103中,节点服务器会判断目标节点服务器是否就是它自己。具体的,节点服务器将目标节点服务器的身份识别标志和它自己的身份识别标志进行比对,如果比对结果为一致,就表示该节点服务器就是该客户端的目标节点服务器,该节点服务器可以处理该事件情请求,即进入步骤105;如果比对结果为不一致,那么表示该节点服务器不是目标节点服务器,该节点服务器将该事件请求转发给该目标服务器,即进入步骤104。
以下为举例说明。客户端11-1发送的事件请求被反向代理服务器12分配至节点服务器13-1,且该事件请求携带的属性标志表征该事件请求属于尚未结束的业务会话的事件请求;节点服务器13-1根据属性标志判断出该事件请求属于尚未结束的业务会话的事件请求后,从该事件请求中得到该客户端11-1的身份识别标志,并根据该客户端11-1的身份识别标志查询会话对应关系,得到该客户端的目标节点服务器的身份识别标志;如果该目标节点服务器的身份识别标志和节点服务器13-1的身份识别标志不一致,如该目标节点服务器为节点服务器13-2,那么,节点服务器13-1要将客户端11-1的事件请求发送至节点服务器13-2。
其中,节点服务器13-2在从节点服务器13-1接收到客户端11-1的事件请求后,也可以执行该会话方法的各步骤,在这个例子中,节点服务器13-2在执行步骤103后的判断结果为一致,即节点服务器13-2确认它就是客户端11-1的事件请求的目标节点服务器,从而处理该事件请求。或者,节点服务器13-2也可以被设定为,可以识别出接收的事件请求的来源,即,如果是从另一个节点服务器接收的,那么可以直接处理该事件请求,如果是通过反向代理服务器12从客户端接收的,那么要执行上述会话方法。
其中,会话对应关系的预存方式可以根据需要设定,例如可以预先划分出多个区域,根据客户端所在区域,将属于同一区域的客户端对应至一个节点服务器;即,属于同一区域的所有客户端发送的事件请求都由预先设定的节点服务器处理。
本实施方式相对于现有技术而言,预先存储客户端与节点服务器的会话对应关系;当接收到客户端的属于尚未结束的业务会话的事件请求时,把该事件请求分配到该客户端对应的节点服务器上,即使得该事件请求可以由持有该业务会话的节点服务器来处理。因此,在业务会话的生命周期大于HttpSession“会话”的生命周期,而HttpSession“会话”失效的情况下,该客户端的关于该业务会话的事件请求仍然可以被持有该业务会话的节点服务器处理,从而使得该业务会话得以顺利完成。
本发明的第二实施方式涉及一种会话方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:本发明第二实施方式中,若所述事件请求不属于尚未结束的业务会话的事件请求,会将该客户端与将节点服务器更新到会话对应关系中。
如图4所示为本发明第二实施方式的一个例子的流程图;其中,步骤201~步骤204、步骤208与图1中的步骤101~步骤105大致相同,此处不再赘述,不同之处在于,还包括步骤205~步骤207,具体如下。
步骤205,判断会话对应关系中是否记录有该客户端;若是,进入步骤206;若否,进入步骤207。
步骤206,将会话对应关系中记录的客户端对应的节点服务器更新为节点服务器。
步骤207,将客户端与节点服务器添加到会话对应关系中。
需要强调的是,图3中对步骤205~步骤207与步骤208的先后执行顺序不作限定,仅是示例说明。
当节点服务器判断出该客户端的事件请求不属于尚未结束的业务会话的事件请求时,表示该业务会话的事件请求为一个新的业务的事件请求,此时有两种情况:情况一,该客户端没有发送过任何一个业务的事件请求,即没有与任何一个节点服务器进行过业务会话;情况二,该客户端之前与节点服务器进行过业务会话,只是本次发出的事件请求为新的业务的事件请求。因此,节点服务器首先会查询会话对应关系,确定会话对应关系中是否记录有该客户端,如果有,属于上述情况二,表示会话对应关系中已经记录有该客户端对应的节点服务器,此时,会将会话对应关系中记录的该客户端对应的节点服务器更新为该节点服务器;如果没有,属于上述情况一,表示会话对应关系中没有记录过该客户端对应的节点服务器,此时,将该客户端与该节点服务器建立对应关系并储存至该会话对应关系中。
以下为举例说明。节点服务器13-3接收到客户端11-2的事件请求,且判断出该事件请求不属于尚未结束的业务会话的事件请求,则会从事件请求中获取客户端11-2的身份识别标志;如果从会话对应关系中查询到存在客户端11-2的身份识别标志,表示之前记录过客户端11-2对应的节点服务器;此时,将会话对应关系中客户端11-2对应的节点服务器更新为节点服务器13-3,即,将会话对应关系中,客户端11-2的身份识别标志对应的节点服务器的身份识别标志更新为节点服务器13-3的身份识别标志。
因此,当一个客户端的事件请求属于尚未结束的业务会话的事件请求时,表示这个客户端在发送该事件请求之前,已经与至少其中一个节点服务器进行过业务会话,且会话对应关系中必定记录有最近一次与该客户端进行会话的节点服务器。
上述会话对应关系的预存方式的例子中,在接收到不属于尚未结束的业务会话的事件请求时,会将该客户端与该节点服务器的对应关系更新到会话对应关系中;由于最近一次该客户端的事件请求被分配给该节点服务器,由于反向代理服务器是基于相同的分配原则来分配事件请求的,例如负载均衡原则,因此后续该客户端的事件请求被分配到该节点服务器的概率可能会比较大,如果将最近一次该客户端的事件请求被分配至的节点服务器记录为该客户端对应的节点服务器,可以达到降低后续该客户端的事件请求需要由被分配的节点服务器转发至目标服务器的概率。
如图5所示为本发明第二实施方式的另一个例子的流程图;图5的例子是在图4的例子的基础上增加了一个步骤205-1,判断会话对应关系中记录的该客户端对应的节点服务器与该节点服务器是否一致;如果不一致,则进入步骤206,如果一致,则直接进入步骤208。即,,如果记录的客户端对应的节点服务器与该节点服务器一致,那么不必更新所述客户端对应的节点服务器;从而可以在一定程度上减轻节点服务器的数据处理负担。
本发明的第三实施方式涉及一种会话方法,应用于分布式系统中的主控服务器,分布式系统可以参考图1;如图6所示为本实施方式的会话方法的流程图。
步骤301,当接收到客户端的唤醒请求时,根据预存的客户端与节点服务器的会话对应关系,获取该客户端对应的节点服务器,记作目标节点服务器;
步骤302,发送该客户端的唤醒通知至目标节点服务器,以供目标节点服务器在接收到唤醒通知后唤醒该客户端。
本实施方式的会话方法的执行者即是第一或第二实施方式中所述的主控服务器14,因此本实施方式可与第一或第二实施方式互相配合实施。第一或第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第一或第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种分布式系统中的节点服务器,如图7所示,包括:
至少一个处理器701;以及,
与所述至少一个处理器701通信连接的存储器702;其中,
所述存储器702存储有可被所述至少一个处理器701执行的指令,所述指令被所述至少一个处理器701执行,以使所述至少一个处理器701能够执行上述第一或第二实施方式中所述的会话方法。
不难发现,本实施方式为与第一或第二实施方式相对应的系统实施方式,本实施方式可与第一或第二实施方式互相配合实施。第一或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。
本发明第五实施方式涉及一种分布式系统中的主控服务器,请参考图7,包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第三实施方式中所述的会话方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述第一或第二实施方式所述的会话方法,或者,计算机程序被处理器执行时实现上述第三实施方式所述的会话方法。
即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种会话方法,其特征在于,应用于分布式系统中的节点服务器,所述会话方法包括:
判断接收的客户端的事件请求是否属于尚未结束的业务会话的事件请求;
若所述事件请求属于尚未结束的业务会话的事件请求,根据预存的客户端与节点服务器的会话对应关系,获取所述客户端对应的节点服务器,作为目标节点服务器;
判断所述目标节点服务器与所述节点服务器是否一致,若不一致,将所述事件请求发送至所述目标节点服务器,以供所述目标节点服务器处理所述事件请求。
2.根据权利要求1所述的会话方法,其特征在于,所述会话方法还包括:若所述事件请求不属于尚未结束的业务会话的事件请求,在判断出所述会话对应关系中记录有所述客户端时,将所述会话对应关系中记录的所述客户端对应的节点服务器更新为所述节点服务器;在判断出所述会话对应关系中未记录所述客户端时,将所述客户端与所述节点服务器添加到所述会话对应关系中。
3.根据权利要求2所述的会话方法,其特征在于,在判断出所述会话对应关系中记录有所述客户端后,且在所述将所述会话对应关系中所述客户端对应的节点服务器更新为所述节点服务器步骤之前,还包括:判断出所述会话对应关系中记录的所述客户端对应的节点服务器与所述节点服务器不一致。
4.根据权利要求1所述的会话方法,其特征在于,所述事件请求绑定有属性标志;
所述判断接收的事件请求是否属于尚未结束的业务会话的事件请求,具体为,根据所述属性标志判断所述事件请求是否属于尚未结束的业务会话的事件请求。
5.根据权利要求4所述的会话方法,其特征在于,所述会话方法包括:
当接收到所述分布式系统中的主控服务器发送的客户端的唤醒通知时,唤醒所述客户端,以供所述客户端在被唤醒后发送绑定有表征属于尚未结束的业务会话的属性标志的事件请求。
6.根据权利要求1所述的会话方法,其特征在于,所述会话方法还包括:
当处于进行中的业务会话超过预设的等待时长未收到反馈时,向所述分布式系统中的主控服务器上报异常情况。
7.一种会话方法,其特征在于,应用于分布式系统中的主控服务器,所述会话方法包括:
当接收到客户端的唤醒请求时,根据预存的客户端与节点服务器的会话对应关系,获取所述客户端对应的节点服务器,记作目标节点服务器;
发送所述客户端的唤醒通知至所述目标节点服务器,以供所述目标节点服务器在接收到所述唤醒通知后唤醒所述客户端。
8.一种分布式系统中的节点服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的会话方法。
9.一种分布式系统中的主控服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求7所述的会话方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的会话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646911.4A CN110417876B (zh) | 2019-07-17 | 2019-07-17 | 会话方法、分布式系统中的节点服务器及主控设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646911.4A CN110417876B (zh) | 2019-07-17 | 2019-07-17 | 会话方法、分布式系统中的节点服务器及主控设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417876A CN110417876A (zh) | 2019-11-05 |
CN110417876B true CN110417876B (zh) | 2021-10-29 |
Family
ID=68361803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910646911.4A Active CN110417876B (zh) | 2019-07-17 | 2019-07-17 | 会话方法、分布式系统中的节点服务器及主控设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417876B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110839041A (zh) * | 2019-11-22 | 2020-02-25 | 苏州浪潮智能科技有限公司 | 支持多节点部署的单用户登录方法、装置、设备及介质 |
CN113452737A (zh) * | 2020-03-27 | 2021-09-28 | 华为技术有限公司 | 一种传输会话请求的方法、装置和电子设备 |
CN113098781B (zh) * | 2021-03-19 | 2023-01-20 | 北京达佳互联信息技术有限公司 | 会话列表处理方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984142A (zh) * | 2006-05-16 | 2007-06-20 | 华为技术有限公司 | 基于会话初始协议的负载均衡实现方法及系统 |
CN101072190A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种即时通信会话转接方法及系统 |
CN104811488A (zh) * | 2015-04-13 | 2015-07-29 | 深信服网络科技(深圳)有限公司 | 基于负载均衡设备的会话保持方法及系统和负载均衡设备 |
CN107360251A (zh) * | 2017-08-16 | 2017-11-17 | 中国工商银行股份有限公司 | 会话保持的方法、系统以及负载均衡装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080091814A1 (en) * | 2006-10-16 | 2008-04-17 | Tao Xie | Network Connection Fast Recovery |
-
2019
- 2019-07-17 CN CN201910646911.4A patent/CN110417876B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1984142A (zh) * | 2006-05-16 | 2007-06-20 | 华为技术有限公司 | 基于会话初始协议的负载均衡实现方法及系统 |
CN101072190A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种即时通信会话转接方法及系统 |
CN104811488A (zh) * | 2015-04-13 | 2015-07-29 | 深信服网络科技(深圳)有限公司 | 基于负载均衡设备的会话保持方法及系统和负载均衡设备 |
CN107360251A (zh) * | 2017-08-16 | 2017-11-17 | 中国工商银行股份有限公司 | 会话保持的方法、系统以及负载均衡装置 |
Non-Patent Citations (3)
Title |
---|
"A content-based load balancing algorithm with admission control for cluster web servers";Sharifian S,Motamendi SA,Akbari M K.A;《Future Generation Computer Systems》;20081231;775-787 * |
"基于混合策略的集群负载均衡算法研究";郑祺;《浙江科技学院学报》;20131031;361-365 * |
"负载均衡集群中的会话保持研究";王旭铭;《中国优秀硕士学位论文全文数据库信息科技辑》;20141231;I139-72 * |
Also Published As
Publication number | Publication date |
---|---|
CN110417876A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417876B (zh) | 会话方法、分布式系统中的节点服务器及主控设备 | |
WO2018157439A1 (zh) | 业务处理的方法和设备 | |
CN107343294B (zh) | 背景数据传输策略配置方法及装置 | |
CN110808948B (zh) | 远程过程调用方法、装置及系统 | |
CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
CN111083193A (zh) | 长连接消息发送方法、服务器及存储介质 | |
CN110022583B (zh) | 一种信息处理方法、装置、设备及计算机可读存储介质 | |
CN114364031B (zh) | 服务提供方法、装置及存储介质 | |
WO2020124930A1 (zh) | 一种资源的调度、处理方法及装置 | |
US10802896B2 (en) | Rest gateway for messaging | |
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN112134730B (zh) | 网络数据采集方法及装置 | |
CN110049031A (zh) | 一种接口安全认证方法及服务器、认证中心服务器 | |
CN113177179B (zh) | 数据请求连接管理方法、装置、设备及存储介质 | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN110798349B (zh) | 一种配置分发、接收方法、设备及计算机可读存储介质 | |
CN112491951A (zh) | 对等网络中的请求处理方法、服务器及存储介质 | |
CN112243003A (zh) | 访问控制方法、电子设备及存储介质 | |
US20230214207A1 (en) | Device upgrade control method and apparatus, and computer device and storage medium | |
WO2019119962A1 (zh) | 信息处理方法、系统、终端和计算机存储介质 | |
CN113727138A (zh) | 一种hls内网回源方法 | |
CN111711639B (zh) | 终端、数据传输方法、系统、和计算机可读存储介质 | |
CN112486699B (zh) | 一种基于国产数据库的session管理中间件、系统及运行方法 | |
US9742927B2 (en) | Online charging method for always on IP connectivity | |
US20190035012A1 (en) | Connector leasing for long-running software operations |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |