WO2019237594A1 - 会话保持方法、装置、计算机设备及存储介质 - Google Patents

会话保持方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2019237594A1
WO2019237594A1 PCT/CN2018/109453 CN2018109453W WO2019237594A1 WO 2019237594 A1 WO2019237594 A1 WO 2019237594A1 CN 2018109453 W CN2018109453 W CN 2018109453W WO 2019237594 A1 WO2019237594 A1 WO 2019237594A1
Authority
WO
WIPO (PCT)
Prior art keywords
flag information
address
cookie
access request
preset
Prior art date
Application number
PCT/CN2018/109453
Other languages
English (en)
French (fr)
Inventor
夏永燕
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2019237594A1 publication Critical patent/WO2019237594A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • the present application relates to the field of computer technology, and in particular, to a method, an apparatus, a computer device, and a computer-readable storage medium for maintaining a session.
  • Load balancing is a server cluster technology, which refers to a method of implementing load sharing through some algorithm.
  • the load balancing device is a device that uniformly allocates access requests.
  • the load balancing device will uniformly receive all requests and then distribute these requests to multiple server members connected to the load balancing device according to a set algorithm to implement access requests.
  • Session Persistence refers to the technology in the load balancing process that allows access requests issued by the same client to always be distributed (or scheduled) to the same server.
  • the embodiments of the present application provide a method and an apparatus for maintaining a session, a computer device, and a computer-readable storage medium, which can quickly read and locate a server that communicates with a client, and can also effectively improve the utilization rate of the server and the user experience.
  • an embodiment of the present application provides a method for maintaining a session.
  • the method includes:
  • an embodiment of the present application further provides a session maintaining device, where the device includes:
  • An identification judging unit configured to determine whether an access request sent by a client includes cookie flag information; a control unit, configured to control a load balancing device to start a balanced configuration if the access request sent by a client does not include cookie flag information The request is forwarded to one of the servers connected to the load balancing device; a generating unit is configured to generate corresponding cookie flag information according to a preset generation rule and an IP address of the server; a caching unit is configured to transfer the cookie flag The information is sent to the client for caching, so that when the client sends a newly generated access request, the cookie flag information is configured into the newly generated access request.
  • an embodiment of the present application further provides a computer device, including: a memory configured to store a program that implements session maintenance; and a processor configured to run the program that implements session maintenance stored in the memory to execute The method described above.
  • an embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors. To achieve the method described above.
  • the embodiments of the present application can achieve accurate and stable communication connection between the client and the server under the control of the load balancing device, and can effectively improve the utilization rate of the server and improve the user experience.
  • FIG. 1 is a schematic flowchart of a session maintaining method according to an embodiment of the present application
  • FIG. 1a is a schematic diagram of an application scenario of a session maintaining method according to an embodiment of the present application
  • FIG. 2 is another schematic flowchart of a session maintaining method according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a session maintaining method according to another embodiment of the present application.
  • FIG. 4 is another schematic flowchart of a session maintaining method according to another embodiment of the present application.
  • FIG. 5 is a schematic block diagram of a session maintaining device according to an embodiment of the present application.
  • FIG. 6 is another schematic block diagram of a session maintaining device according to an embodiment of the present application.
  • FIG. 7 is a schematic block diagram of a session maintaining device according to another embodiment of the present application.
  • FIG. 8 is another schematic block diagram of a session maintaining device according to another embodiment of the present application.
  • FIG. 9 is a schematic structural composition diagram of a computer device according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of a session maintaining method according to an embodiment of the present application.
  • FIG. 1a is a schematic diagram of an application scenario of a session maintaining method in an embodiment of the present application.
  • the terminal 20 can receive the access request sent by the client 10, and control the load balancing device 30 to allocate a corresponding server 40 to the access request according to the corresponding access request, so that the server 40 can process the access request accordingly, and
  • the access request does not include cookie identification information
  • a corresponding cookie identification information is generated according to a preset generation rule and the IP address of the server 40, so that when the client 10 initiates an access request again, the cookie identification information is inserted into the re-initiated
  • the access request ensures that the access request issued by the client 10 for the same event can always be forwarded to the same server 40.
  • the load balancing device 30 can adjust and regulate multiple servers 40, and forward access requests to related servers 40 according to the actual situation, so as to achieve the balanced regulation of multiple servers 40 under the control of the terminal 20, and also enable the terminal 20 Load balancing-based session maintenance based on cookie identification information.
  • steps of the method include S101 to S104.
  • the client is also referred to as a client, which refers to a program that provides a local service to a client corresponding to the server. Except for some applications that only run locally, the client is usually installed on an ordinary client and needs to cooperate with the server to run.
  • the client may be a browser.
  • a cookie is a small text file stored on a user's browser (client) by a web server. It can contain information about the back-end server. Generally, cookies can be read.
  • the cookie identification information is also a kind of cookie, which is used to confirm whether the client has initiated an access request, and the load balancing device performs a balanced configuration to determine the server for receiving the access request.
  • a load balancing device can be used to configure multiple servers.
  • the terminal When a client initiates an access request, the terminal needs to determine whether the access request sent by the client includes cookie flag information after receiving the access request, so as to control the load balancing device to perform corresponding processing operations. Specifically, the access request sent by the client can be obtained first. If the terminal detects the access request sent by the client, it can immediately obtain the access request sent by the client for corresponding analysis. Secondly, it can be determined whether the acquired access request includes cookie flag information. In order to determine that the client can maintain the session, the terminal needs to determine whether the acquired access request includes cookie identification information.
  • the access request sent by the client does not include the cookie flag information, control the load balancing device to start the balancing configuration to forward the access request to one of the servers connected to the load balancing device.
  • the access request sent by the client does not include cookie identification information, it means that the client sends the access request to the load balancing device for the first time at this time, that is, the client has not communicated with any server.
  • the load balancing device is connected to multiple servers, so it can make corresponding adjustments and adjustments according to the operating conditions of each server.
  • the terminal needs to control the load balancing device to start the balancing configuration and forward the access request to the One of the servers connected to the load balancing device, and the one server is selected by the load balancing device according to the running status of all the servers, so as to improve the processing efficiency of the entire system and reduce the waste of server resources.
  • the terminal may generate a corresponding cookie identification information with a certain identification function according to a preset preset rule and the IP address of one of the servers.
  • the cookie identification information can enable the load balancing device to directly send the re-initiated access request to one of the aforementioned servers when the client initiates the access request again.
  • the preset generation rule may be a rule for encrypting an IP address or a rule for converting an IP address, which is not limited in this embodiment.
  • the step S103 includes steps S201 to S204.
  • IP address of one of the servers, where the IP address includes four bytes.
  • the terminal may obtain the IP address of the one server through the load balancing device. Because the IP address of each server is determined, The IP address can directly find the server that communicates with the client. Generally, an IP address is divided into four bytes by dotted decimal, and each byte includes a decimal value.
  • each byte in the IP address includes a decimal value.
  • the terminal needs to convert each decimal value into a hexadecimal value in order to facilitate subsequent processing.
  • S203 Perform reverse ordering on all bytes of the converted IP address and remove dots, so as to obtain a dot-less hexadecimal first intermediate value.
  • the terminal may arrange all bytes of the converted IP address in a reverse order in byte units, and then perform dot removal, so as to obtain a hexadecimal first middle without dots.
  • Value For example, the converted IP address is (A, B, C, D), and it becomes (D, C, B, A) after reverse order. After de-scoring, you can get a first intermediate value.
  • An intermediate value is DCBA, and the first intermediate value is hexadecimal, wherein A, B, C, and D are all independent numbers.
  • the terminal may convert the first intermediate value in hexadecimal as a whole into a target value in decimal, and the target value is cookie identification information.
  • the IP address of one of the servers is 10.33.233.205
  • convert the decimal value of each byte of the IP address to a hexadecimal value: 0a.21.e9.cd
  • convert the converted IP address After sorting in reverse order to get a first hexadecimal first intermediate value cde9210a without dots
  • convert the first intermediate value cde9210a to a decimal target value 345460507626, at this time 3454607626 is the cookie identification information.
  • S104 Send the cookie flag information to the client for caching, so that when the client sends a newly generated access request, configure the cookie flag information into the newly generated access request.
  • the generated cookie flag information is one of cookies, and at the same time, it can be sent to the client for caching so as to be read when needed.
  • the terminal In order to maintain the session, after the cookie flag information is cached successfully, if the client sends an access request again, the terminal should insert the cookie flag information into the access request sent again in order to determine the client's last access based on the cookie flag information.
  • Communication server is one of cookies, and at the same time, it can be sent to the client for caching so as to be read when needed.
  • FIG. 3 is a schematic flowchart of a session maintaining method according to another embodiment of the present application.
  • the method can be run in terminals such as smart phones (such as Android phones, IOS phones, etc.), tablet computers, notebook computers, and smart devices.
  • terminals such as smart phones (such as Android phones, IOS phones, etc.), tablet computers, notebook computers, and smart devices.
  • the steps of the method include S301-S306.
  • S301 Determine whether the access request sent by the client includes cookie flag information.
  • S303 Generate corresponding cookie flag information according to a preset generation rule and an IP address of the server.
  • S304 Send the cookie flag information to the client for caching, so that the client configures the cookie flag information into the newly generated access request when sending the newly generated access request.
  • the access request sent by the client includes cookie flag information, parse the cookie flag information according to a preset reverse rule corresponding to the preset generation rule to obtain a corresponding IP address.
  • the obtained access request includes cookie flag information, it indicates that the client has connected and communicated with a server through a load balancing device.
  • the terminal needs to use the cookie flag information Identify the server that is communicating with the client connection.
  • the cookie flag information needs to be parsed according to the reverse rule of the preset generation rule, so as to obtain an IP address corresponding to the cookie flag information.
  • the step S305 includes steps S401 to S404.
  • S401 Convert the cookie identifier information in decimal to a second intermediate value in hexadecimal.
  • the terminal may convert the cookie identifier information in decimal to a second intermediate value in hexadecimal to facilitate subsequent processing.
  • step S402 the second intermediate value is sequentially divided by using two digits as a byte.
  • the terminal In order to obtain the corresponding IP address through parsing, the terminal also needs to divide the second intermediate value from right to left or left to right with two digits as a byte, thereby ensuring that the second intermediate value is To separate.
  • each byte in the second intermediate value after the point division is a hexadecimal value, and the value of each byte can be converted into a decimal value.
  • S404 Reverse sort all the bytes in the converted second intermediate value to obtain a corresponding IP address.
  • the terminal may perform a reverse ordering on all bytes in the converted second intermediate value in byte units, thereby obtaining a corresponding IP address.
  • the cookie identification information is a decimal value 3454607626
  • the terminal may determine a server corresponding to the IP address, and control the load balancing device to forward the access request to the determined server, thereby ensuring that the client and the server can communicate with each other during the communication process.
  • the load balancing device may be an F5 load balancing device.
  • the method provided by another embodiment of the present application is preceded by the step of parsing the cookie flag information to obtain a corresponding IP address according to a preset reverse rule corresponding to the preset generation rule.
  • the method further includes step S305a. If the access request sent by the client includes cookie flag information, determine whether the generation time of the cookie flag information is within a preset time range. In this embodiment, in order to ensure the validity of the cookie identification information, the terminal needs to obtain the generation time of the cookie identification information and determine whether the generation time is within a preset time range. If the generation time is within a preset time range, it indicates that the cookie identification information is valid and can be used normally. If the generation time is not within the preset time range, it indicates that the cookie identification information has expired and is invalid. At this time, the client is required to regenerate the access request and redistribute the server again. Therefore, if the generation time of the cookie flag information is within a preset time range, step S305 is performed.
  • step S307 if the generation time of the cookie flag information is not within a preset time range, an access request is regenerated, and the process returns to step S302.
  • the present application can achieve accurate and stable communication connection between the client and the server under the control of the load balancing device, and can also effectively improve the utilization rate of the server and improve the user experience.
  • an embodiment of the present application further provides a session maintaining device.
  • the device 100 includes: an identification determining unit 101, a first control unit 102, a generating unit 103, and a buffer unit 104.
  • the identification determining unit 101 is configured to determine whether the access request sent by the client includes cookie flag information.
  • the first control unit 102 is configured to control the load balancing device to start the balancing configuration if the access request sent by the client does not include Cookie flag information, so that the access request is forwarded to one of the servers connected to the load balancing device. .
  • the generating unit 103 is configured to generate corresponding cookie flag information according to a preset generating rule and an IP address of the server.
  • the generating unit 103 includes an address obtaining unit 201, a first conversion unit 202, a first sorting unit 203, and a second conversion unit 204.
  • the address obtaining unit 201 is configured to obtain an IP address of one of the servers, where the IP address includes four bytes.
  • the first conversion unit 202 is configured to convert a decimal value of each byte in the IP address into a hexadecimal value.
  • the first sorting unit 203 is configured to perform reverse ordering on all bytes of the converted IP address and remove dots, so as to obtain a dotless hexadecimal first intermediate value.
  • the second conversion unit 204 is configured to convert the first intermediate value in hexadecimal to a target value in decimal, where the target value is cookie identification information.
  • the cache unit 104 is configured to send the cookie flag information to the client for caching, so that the client configures the cookie flag information to the newly generated client when sending a newly generated access request. Access request.
  • the device 300 includes: an identification judging unit 301, a first control unit 302, a generating unit 303, and a cache unit 304. An analysis unit 305 and a second control unit 306.
  • the identification judging unit 301 is configured to determine whether the access request sent by the client includes cookie flag information.
  • the first control unit 302 is configured to control the load balancing device to start the balancing configuration if the access request sent by the client does not include Cookie flag information, so that the access request is forwarded to one of the servers connected to the load balancing device. .
  • the generating unit 303 is configured to generate corresponding cookie flag information according to a preset generating rule and an IP address of the server.
  • the cache unit 304 is configured to send the cookie flag information to the client for caching, so that the client configures the cookie flag information to the newly generated client when sending a newly generated access request. Access request.
  • the parsing unit 305 is configured to, if the access request sent by the client includes cookie flag information, parse the cookie flag information according to a preset reverse rule corresponding to the preset generation rule to obtain a corresponding IP address.
  • the parsing unit 305 includes a third conversion unit 401, a point division unit 402, a fourth conversion unit 403, and a second sorting unit 404.
  • the third conversion unit 401 is configured to convert the cookie identifier information in decimal to a second intermediate value in hexadecimal.
  • the scoring unit 402 is configured to scoring the second intermediate value in sequence with two digits as a byte.
  • the fourth conversion unit 403 is configured to convert a hexadecimal value of each byte in the second intermediate value after the point division into a decimal value.
  • the second sorting unit 404 is configured to reversely sort all bytes in the converted second intermediate value to obtain a corresponding IP address.
  • the second control unit 306 is configured to control the load balancing device to forward the access request to a server corresponding to the IP address.
  • the apparatus 300 provided in this embodiment of the present application further includes:
  • the time judging unit 305a is configured to determine whether the generation time of the cookie flag information is within a preset time range if the access request sent by the client includes cookie flag information.
  • the parsing unit 305 is executed.
  • the restarting unit 307 is configured to regenerate the access request if the generation time of the cookie flag information is not within a preset time range, and return to the first control unit 302.
  • the above identification judgment unit 101, the first control unit 102, the generation unit 103, and the cache unit 104 may be embedded in the hardware form or independent of the session holding device, or may be in the form of software. Stored in the memory of the session holding device, so that the processor calls to perform the operations corresponding to the above units.
  • the principle of the components of the session maintaining device described above is consistent with the principle of the session maintaining method, and details are not described herein again.
  • FIG. 9 is a schematic structural diagram of a computer device of the present application.
  • the device may be a terminal or a server, wherein the terminal may be an electronic device with a communication function, such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device.
  • the server can be an independent server or a server cluster consisting of multiple servers.
  • the computer device 500 includes a processor 502, a non-volatile storage medium 503, an internal memory 504, and a network interface 505 connected through a system bus 501.
  • the non-volatile storage medium 503 of the computer device 500 can store an operating system 5031 and a computer program 5032.
  • the processor 502 can execute a session retention method.
  • the processor 502 of the computer device 500 is used to provide computing and control capabilities to support the operation of the entire computer device 500.
  • the internal memory 504 provides an environment for running a computer program in a non-volatile storage medium. When the computer program is executed by a processor, the internal memory 504 can cause the processor 502 to execute the session maintaining method in the foregoing embodiment.
  • the network interface 505 of the computer device 500 is used for network communication, such as sending assigned tasks.
  • the embodiment of the computer device shown in FIG. 9 does not constitute a limitation on the specific configuration of the computer device.
  • the computer device may include more or fewer components than shown in the figure. Either some parts are combined or different parts are arranged.
  • the computer device may include only a memory and a processor. In such an embodiment, the structures and functions of the memory and the processor are consistent with the embodiment shown in FIG. 9, and details are not described herein again.
  • This application provides a computer-readable storage medium.
  • the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the session of the foregoing embodiment. Keep it up.
  • the foregoing storage medium of the present application includes: various media that can store program code, such as a magnetic disk, an optical disc, and a read-only memory (Read-Only Memory, ROM).
  • the steps in the method for maintaining a session in the embodiment of the present application can be adjusted, combined, and deleted according to actual needs.
  • the units in the session maintaining device in the embodiment of the present application may be combined, divided, and deleted according to actual needs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种会话保持方法、装置、计算机设备及存储介质,其中所述方法包括判断客户端发送的访问请求是否包括Cookie标志信息(S101);若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器(S102);根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息(S103);将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中(S104)。

Description

会话保持方法、装置、计算机设备及存储介质
本申请要求于2018年6月14日提交中国专利局、申请号为CN201810613960.3、申请名称为“会话保持方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种会话保持方法、装置、计算机设备及计算机可读存储介质。
背景技术
负载均衡(Load Balance,简称LB)是一种服务器集群技术,指通过某种算法实现负载分担的方法。而负载均衡设备就是统一分配访问请求的设备,负载均衡设备会统一接收全部请求,然后按照设定好的算法将这些请求分配给与负载均衡设备连接的多个服务器成员,以此来实现访问请求的均衡分配。而会话保持(Session Persistence)是指在负载均衡的过程中,使得同一客户端发出的访问请求,始终分发(或调度)到同一台服务器的技术。通过负载均衡设备对多台服务器进行负载均衡调整时,需将访问请求调度到最初创建该会话的服务器上,如果调度其他服务器上,则会导致会话无法持续,最终会话请求失败。而目前的基于负载均衡的会话保持方式不能有效精准地定位到客户端所需要的服务器,给用户的使用带来了不便。
发明内容
本申请实施例提供一种会话保持方法、装置、计算机设备及计算机可读存储介质,能够快读定位与客户端通信的服务器,还能有效地提高服务器的利用率和用户的使用体验度。
一方面,本申请实施例提供了一种会话保持方法,该方法包括:
判断客户端发送的访问请求是否包括Cookie标志信息;若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访 问请求转发给与所述负载均衡设备相连的其中一个服务器;根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
另一方面,本申请实施例还提供了一种会话保持装置,该装置包括:
标识判断单元,用于判断客户端发送的访问请求是否包括Cookie标志信息;控制单元,用于若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;生成单元,用于根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;缓存单元,用于将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
又一方面,本申请实施例还提供了一种计算机设备,包括:存储器,用于存储实现会话保持的程序;以及处理器,用于运行所述存储器中存储的实现会话保持的程序,以执行如上所述方法。
再一方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述方法。
本申请实施例能够在负载均衡设备的调控下,实现客户端与服务器之间的精确并稳定的通讯连接,还能有效地提高服务器的利用率,并提高了用户的使用体验度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种会话保持方法的示意流程图;
图1a是本申请实施例中会话保持方法的应用场景示意图;
图2是本申请实施例提供的一种会话保持方法的另一示意流程图;
图3是本申请另一实施例提供的一种会话保持方法的示意流程图;
图4是本申请另一实施例提供的一种会话保持方法的另一示意流程图;
图5是本申请实施例提供的一种会话保持装置的示意性框图;
图6是本申请实施例提供的一种会话保持装置的另一示意性框图;
图7是本申请另一实施例提供的一种会话保持装置的示意性框图;
图8是本申请另一实施例提供的一种会话保持装置的另一示意性框图;
图9是本申请实施例提供的一种计算机设备结构组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
请参阅图1,图1是本申请实施例提供的一种会话保持方法的示意流程图。图1a是本申请实施例中会话保持方法的应用场景示意图。其中,终端20能够接收客户端10发送的访问请求,并根据相应的访问请求控制负载均衡设备30为该访问请求分配一相应的服务器40,以便于该服务器40对访问请求进行相应的处理,同时在访问请求不包括Cookie标识信息时,根据预设生成规则和该服务器40的IP地址生成一相应的Cookie标识信息,以使客户端10再次发起访问请求时,将Cookie标识信息插入该再次发起的访问请求中,从而保证客户端10就同一事件发出的访问请求始终能够转发到同一服务器40中。
需要说明的是,图1a中仅示意出一个客户端10,实际应用中,该方法的应用过程中,还可以涉及多个客户端10。同理,负载均衡设备30能够调整调控多台服务器40,并根据实际情况将访问请求转发给相关的服务器40,从而在终端20的控制下实现对多台服务器40的均衡调控,还能够使得终端20基于Cookie标识信息实现基于负载均衡的会话保持。
如图1所示,在本实施例中,该方法的步骤包括S101~S104。
S101,判断客户端发送的访问请求是否包括Cookie标志信息。在本实施例中,所述客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,客户端一般安装在普通的客户机上,需要与服务器互相配合运行。一般情况下,所述客户端可以是指浏览器。Cookie是由Web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含相关的后端服务器的信息,一般情况下,Cookie可以被进行读取。而所 述Cookie标识信息也是Cookie中的一种,其用于确认该客户端是否有发起过访问请求,并由负载均衡设备进行均衡配置,以确定用于接收访问请求的服务器。一般情况下,负载均衡设备可用于配置多台服务器。
当客户端发起访问请求时,终端接收到访问请求后需要判断客户端发送的访问请求是否包括Cookie标志信息,从而控制负载均衡设备进行相应的处理操作。具体的,首先可以获取客户端发送的访问请求。若终端检测到客户端发送的访问请求,此时则可以即时获取该客户端发送的访问请求进行相应的分析。其次可以判断所获取的访问请求是否包括Cookie标志信息。为了确定客户端能够实现会话保持,此时终端需要判断所获取的访问请求是否包括Cookie标识信息。
S102,若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。在本实施例中,若客户端发送的访问请求不包括Cookie标识信息,则表示此时客户端为第一次向负载均衡设备发送访问请求,即该客户端没有与任一服务器进行连接通信过,而负载均衡设备连接有多台服务器,故其可以根据各个服务器的运行情况进行相应的调控调整,故在上述情况下,终端需要控制负载均衡设备启动均衡配置,并将该访问请求转发给与所述负载均衡设备相连的其中一个服务器,所述其中一个服务器为负载均衡设备根据所有服务器的运行现状所选择出来的,以便于提高整个系统的处理效率,减少服务器资源的浪费。
S103,根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息。在本实施例中,为了使得客户端与服务器之间实现会话保持,终端可以根据预先设定的预设规则以及所述其中一个服务器的IP地址,生成一个相应的具有一定标识功能的Cookie标识信息,该Cookie标识信息可以使得客户端再发起访问请求的时候,负载均衡设备能够直接将再次发起的访问请求发送给到上述的其中一个服务器。所述预设生成规则可以是一个对IP地址进行加密处理的规则,也可以是一个对IP地址进行转换的规则,在本实施例中并不做限定。
如图2所示,在一实施例中,所述步骤S103包括步骤S201~S204。
S201,获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个 字节。在本实施例中,负载均衡设备将访问请求转发给所述其中一个服务器后,终端可以通过负载均衡设备获取所述其中一个服务器的IP地址,因为每个服务器的IP地址是确定的,故通过IP地址可以直接找到与客户端进行通信的服务器。一般情况下,IP地址通常是通过点分十进制分为四个字节的,每个字节包括一个十进制的数值。
S202,将IP地址中的每个字节的十进制数值转换成十六进制数值。在本实施例中,IP地址中的每个字节都包括一个十进制的数值,此时终端需要将每个自己的十进制的数值全部转换成十六进制的数值,以便于后续处理。
S203,对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值。在本实施例中,终端可对转换后的IP地址的所有字节以字节为单位进行一个逆序排列后,再进行去除点分,从而得到一个没有点分的十六进制的第一中间数值。例如,转换后的IP地址为(A,B,C,D),进行逆序排列后则变为(D,C,B,A),而去点分之后可以得到一个第一中间数值,该第一中间数值为DCBA,同时该第一中间数值为十六进制,其中A、B、C、D均为一个独立的数。
S204,将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。在本实施例中,终端可以将所述十六进制的第一中间数值作为一个整体转换为十进制的目标数值,该目标数值即为Cookie标识信息。
例如,若所述其中一个服务器的IP地址为10.33.233.205,将该IP地址的每个字节的十进制数值转换为十六进制数值:0a.21.e9.cd;将转换后的IP地址进行逆序排列后去点分以得到一个无点分的十六进制的第一中间数值cde9210a;将该第一中间数值cde9210a转换为十进制的目标数值345460507626,此时3454607626即为Cookie标识信息。
S104,将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。在本实施例中,所述生成的Cookie标志信息为Cookie中的一种,同时其可被发送到客户端进行缓存,以便在需要时被读取。为了实现会话保持,当Cookie标志信息缓存成功后,若客户端再次发送访问请求,此时终端应将该Cookie标志信息插入再次发送的访问请求中,以便于根据Cookie标志信息确定 客户端上次访问通信的服务器。
请参阅图3,图3是本申请另一实施例提供的一种会话保持方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图3所示,该方法的步骤包括S301~S306。
S301,判断客户端发送的访问请求是否包括Cookie标志信息。
S302,若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。
S303,根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息。
S304,将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
S305,若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址。在本实施例中,当所获取的访问请求包括Cookie标志信息时,则表明该客户端已通过负载均衡设备与一个服务器进行连接通信了,为了保持整个系统操作的稳定性,终端需要根据Cookie标志信息确定已与客户端连接通信的服务器。此时需要对Cookie标志信息根据所述预设生成规则的反向规则进行解析,从而得到一个与Cookie标志信息相应的IP地址。
如图4所示,在一实施例中,所述步骤S305包括步骤S401~S404。
S401,将十进制的Cookie标志信息转换为十六进制的第二中间数值。其中,终端可以将十进制的Cookie标志信息转换为一个十六进制的第二中间数值,以便于进行后续处理。
S402,将所述第二中间数值按顺序依次以两位数字为一个字节进行点分。其中,为了解析得到相应的IP地址,终端还需要将所述第二中间数值从右至左或者从左至右依次以两位数字为一个字节进行点分,从而保证了将第二中间数值进行分开。
S403,将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值。其中,点分后的第二中间数值中的每个字节的均为一个十六进制的数 值,并且每个字节的数值均可以通过转换成为一个十进制的数值。
S404,将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。其中,终端可以将转换后的第二中间数值中的所有字节以字节为单位,进行一个逆向排序,从而得到一相应的IP地址。例如,若Cookie标识信息为十进制的数值3454607626,可以先将其转换为十六进制的第二中间数值cde9210a;然后将cde9210a从右至左以两位数值作为字节进行点分以得到cd.e9.21.0a;再将点分后的每个字节的数值转换为十进制的数值以得到205.233.33.10;最后将205.233.33.10进行逆序排列从而可以得到一个相应的IP地址:10.33.233.205。
S306,控制所述负载均衡设备将所述访问请求转发给与所述IP地址相对应的服务器。在本实施例中,终端可以根据所述IP地址确定与其对应的服务器,并控制所述负载均衡设备将所述访问请求转发给所确定的服务器,从而确保客户端与服务器在通信过程中能够一一对应,避免异常情况的发生。另外,所述负载均衡设备可以是F5负载均衡设备。
在一实施例中,本申请另一实施例提供的方法在所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址的步骤之前,还包括:步骤S305a,若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内。在本实施例中,为了确保Cookie标识信息的有效性,终端需要获取Cookie标识信息的生成时间,并判断其生成时间是否位于预设的时间范围内。若其生成时间在预设的时间范围内,则表明该Cookie标识信息是有效的,可以进行正常应用。若其生成时间不在预设的时间范围内,则表明该Cookie标识信息已经过期无效了,此时要客户端重新生成访问请求,再次重新分配服务器。故其中,若所述Cookie标志信息的生成时间在预设时间范围内,执行步骤S305。
步骤S307,若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述步骤S302。
综上,本申请能够在负载均衡设备的调控下,实现客户端与服务器之间的精确并稳定的通讯连接,还能有效地提高服务器的利用率,并提高了用户的使用体验度。
请参阅图5,对应上述一种会话保持方法,本申请实施例还提出一种会话保 持装置,该装置100包括:标识判断单元101、第一控制单元102、生成单元103以及缓存单元104。
标识判断单元101,用于判断客户端发送的访问请求是否包括Cookie标志信息。
所述第一控制单元102,用于若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。
所述生成单元103,用于根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息。
如图6所示,在一实施例中,所述生成单元103包括:地址获取单元201、第一转换单元202、第一排序单元203以及第二转换单元204。
所述地址获取单元201,用于获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个字节。所述第一转换单元202,用于将IP地址中的每个字节的十进制数值转换成十六进制数值。所述第一排序单元203,用于对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值。所述第二转换单元204,用于将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。
所述缓存单元104,用于将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
请参阅图7,对应上述一种会话保持方法,本申请另一实施例还提出一种会话保持装置,该装置300包括:标识判断单元301、第一控制单元302、生成单元303、缓存单元304、解析单元305以及第二控制单元306。
所述标识判断单元301,用于判断客户端发送的访问请求是否包括Cookie标志信息。所述第一控制单元302,用于若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。所述生成单元303,用于根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息。所述缓存单元304,用于将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求 中。所述解析单元305,用于若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址。
如图8所示,在一实施例中,所述解析单元305包括:第三转换单元401、点分单元402、第四转换单元403以及第二排序单元404。
所述第三转换单元401,用于将十进制的Cookie标志信息转换为十六进制的第二中间数值。所述点分单元402,用于将所述第二中间数值按顺序依次以两位数字为一个字节进行点分。所述第四转换单元403,用于将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值。所述第二排序单元404,用于将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。
所述第二控制单元306,用于控制所述负载均衡设备将所述访问请求转发给与所述IP地址相对应的服务器。
在一实施例中,本申请实施例提供的装置300还包括:
时间判断单元305a,用于若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内。
其中,若所述Cookie标志信息的生成时间在预设时间范围内,执行解析单元305。
重启单元307,用于若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述第一控制单元302。
由以上可见,在硬件实现上,以上标识判断单元101、第一控制单元102、生成单元103以及缓存单元104等可以以硬件形式内嵌于或独立于会话保持的装置中,也可以以软件形式存储于会话保持装置的存储器中,以便处理器调用执行以上各个单元对应的操作。另外,上述关于会话保持装置的部件的原理与会话保持方法的原理一致,在此不再赘述。
上述会话保持装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。图9为本申请一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器 集群。参照图9,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种会话保持方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行上述实施例的会话保持方法。
计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现上述实施例的会话保持方法。本申请前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。本申请实施例会话保持方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例会话保持装置中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (20)

  1. 一种会话保持方法,包括:
    判断客户端发送的访问请求是否包括Cookie标志信息;
    若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;
    根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;
    将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
  2. 如权利要求1所述的方法,其中,所述方法还包括:
    若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    控制所述负载均衡设备将所述访问请求转发给与所述IP地址相对应的服务器。
  3. 如权利要求2所述的方法,其中,所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址之前,还包括:
    若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内;
    其中,若所述Cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器的步骤。
  4. 如权利要求2所述的方法,其中,所述Cookie标志信息为一个十进制的数值,所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标 志信息以得到一相应的IP地址,包括:
    将十进制的Cookie标志信息转换为十六进制的第二中间数值;
    将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;
    将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;
    将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。
  5. 如权利要求1所述的方法,其中,所述根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息,包括:
    获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个字节;
    将IP地址中的每个字节的十进制数值转换成十六进制数值;
    对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值;
    将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。
  6. 一种会话保持装置,包括:
    标识判断单元,用于判断客户端发送的访问请求是否包括Cookie标志信息;
    控制单元,用于若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;
    生成单元,用于根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;
    缓存单元,用于将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
  7. 如权利要求6所述的装置,其中,所述装置还包括:
    解析单元,用于若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    第二控制单元,用于控制所述负载均衡设备将所述访问请求转发给与所述 IP地址相对应的服务器。
  8. 如权利要求7所述的装置,其中,所述装置还包括:
    时间判断单元,用于若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内;
    其中,所述解析单元还用于若所述Cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    重启单元,用于若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述第一控制单元。
  9. 如权利要求7所述的装置,其中,所述Cookie标志信息为一个十进制的数值,所述解析单元包括:
    第三转换单元,用于将十进制的Cookie标志信息转换为十六进制的第二中间数值;
    点分单元,用于将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;
    第四转换单元,用于将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;
    第二排序单元,用于将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。
  10. 如权利要求6所述的装置,其中,所述生成单元包括:
    地址获取单元,用于获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个字节;
    第一转换单元,用于将IP地址中的每个字节的十进制数值转换成十六进制数值;
    第一排序单元,用于对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值;
    第二转换单元,用于将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。
  11. 一种计算机设备,包括:
    存储器,用于存储实现会话保持的程序;以及
    处理器,用于运行所述存储器中存储的实现会话保持的程序,以执行如下步骤:
    判断客户端发送的访问请求是否包括Cookie标志信息;
    若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;
    根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;
    将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
  12. 如权利要求11所述的设备,其中,所述处理器还执行如下步骤:
    若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    控制所述负载均衡设备将所述访问请求转发给与所述IP地址相对应的服务器。
  13. 如权利要求12所述的设备,其中,所述处理器执行所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址的步骤之前,还执行如下步骤:
    若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内;
    其中,若所述Cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器的步骤。
  14. 如权利要求12所述的设备,其中,所述Cookie标志信息为一个十进制的数值,所述处理器执行所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址的步骤时,具体执行如下步 骤:
    将十进制的Cookie标志信息转换为十六进制的第二中间数值;
    将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;
    将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;
    将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。
  15. 如权利要求11所述的设备,其中,所述处理器执行所述根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息的步骤时,具体执行如下步骤:
    获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个字节;
    将IP地址中的每个字节的十进制数值转换成十六进制数值;
    对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值;
    将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。
  16. 一种计算机可读存储介质,其中,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如下步骤:
    判断客户端发送的访问请求是否包括Cookie标志信息;
    若客户端发送的访问请求不包括Cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;
    根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息;
    将所述Cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述Cookie标志信息配置到所述新生成的访问请求中。
  17. 如权利要求16所述的存储介质,其中,所述处理器还实现以下步骤:
    若客户端发送的访问请求包括Cookie标志信息,根据与所述预设生成规则 相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    控制所述负载均衡设备将所述访问请求转发给与所述IP地址相对应的服务器。
  18. 如权利要求17所述的存储介质,其中,所述处理器实现所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址的步骤之前,还实现以下步骤:
    若客户端发送的访问请求包括Cookie标志信息,判断所述Cookie标志信息的生成时间是否在预设时间范围内;
    其中,若所述Cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址;
    若所述Cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器的步骤。
  19. 如权利要求17所述的存储介质,其中,所述Cookie标志信息为一个十进制的数值,所述处理器实现所述根据与所述预设生成规则相对应的预设反向规则解析所述Cookie标志信息以得到一相应的IP地址的步骤时,具体实现以下步骤:
    将十进制的Cookie标志信息转换为十六进制的第二中间数值;
    将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;
    将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;
    将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的IP地址。
  20. 如权利要求16所述的存储介质,其中,所述处理器实现所述根据预设生成规则以及所述服务器的IP地址,生成相应的Cookie标志信息的步骤时,具体实现以下步骤:
    获取所述其中一个服务器的IP地址,其中,所述IP地址包括四个字节;
    将IP地址中的每个字节的十进制数值转换成十六进制数值;
    对转换后的IP地址的所有字节进行逆序排列后去除点分,以得到一个无点 分的十六进制的第一中间数值;
    将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为Cookie标识信息。
PCT/CN2018/109453 2018-06-14 2018-10-09 会话保持方法、装置、计算机设备及存储介质 WO2019237594A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810613960.3A CN108881430A (zh) 2018-06-14 2018-06-14 会话保持方法、装置、计算机设备及存储介质
CN201810613960.3 2018-06-14

Publications (1)

Publication Number Publication Date
WO2019237594A1 true WO2019237594A1 (zh) 2019-12-19

Family

ID=64338357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/109453 WO2019237594A1 (zh) 2018-06-14 2018-10-09 会话保持方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN108881430A (zh)
WO (1) WO2019237594A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769960A (zh) * 2021-03-09 2021-05-07 厦门市公安局 一种基于Nginx服务器的主动流量控制方法及系统
CN113810358A (zh) * 2021-02-05 2021-12-17 京东科技控股股份有限公司 访问限制方法、装置、计算机设备以及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451068B (zh) * 2018-12-28 2021-11-23 杭州迪普科技股份有限公司 Set-Cookie值的插入方法和装置
CN109688229A (zh) * 2019-01-24 2019-04-26 江苏中云科技有限公司 一种负载均衡集群下会话保持系统
CN109873701A (zh) * 2019-01-28 2019-06-11 北京融链科技有限公司 生成密钥的方法及装置
CN110442447B (zh) * 2019-07-05 2023-07-28 中国平安人寿保险股份有限公司 基于消息队列的负载均衡方法、装置和计算机设备
CN111131326A (zh) * 2020-01-06 2020-05-08 深圳维格智数科技有限公司 一种粘性实时数据协同通信系统及方法
CN111914150A (zh) * 2020-07-30 2020-11-10 平安科技(深圳)有限公司 访问请求分流方法及相关设备
CN114282133A (zh) * 2021-05-11 2022-04-05 鸬鹚科技(深圳)有限公司 数据访问请求的处理方法、装置、计算机设备及介质
CN113612851A (zh) * 2021-08-11 2021-11-05 山石网科通信技术股份有限公司 远程连接方法及装置、存储介质和处理器
CN115567536B (zh) * 2022-09-22 2024-04-16 中国联合网络通信集团有限公司 一种算力网络调度方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1372405A (zh) * 2001-02-26 2002-10-02 阿瓦雅通信以色列有限公司 接续持续连接
CN101340371A (zh) * 2008-08-12 2009-01-07 杭州华三通信技术有限公司 一种会话保持方法和负载均衡设备
CN101534321A (zh) * 2009-03-09 2009-09-16 浪潮电子信息产业股份有限公司 一种基于cookie的负载均衡会话保持算法
CN103795642A (zh) * 2014-01-24 2014-05-14 北京京东尚科信息技术有限公司 一种负载均衡的方法及装置
CN104811488A (zh) * 2015-04-13 2015-07-29 深信服网络科技(深圳)有限公司 基于负载均衡设备的会话保持方法及系统和负载均衡设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995304A (zh) * 2017-12-13 2018-05-04 杭州迪普科技股份有限公司 一种基于cookie的会话保持方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1372405A (zh) * 2001-02-26 2002-10-02 阿瓦雅通信以色列有限公司 接续持续连接
CN101340371A (zh) * 2008-08-12 2009-01-07 杭州华三通信技术有限公司 一种会话保持方法和负载均衡设备
CN101534321A (zh) * 2009-03-09 2009-09-16 浪潮电子信息产业股份有限公司 一种基于cookie的负载均衡会话保持算法
CN103795642A (zh) * 2014-01-24 2014-05-14 北京京东尚科信息技术有限公司 一种负载均衡的方法及装置
CN104811488A (zh) * 2015-04-13 2015-07-29 深信服网络科技(深圳)有限公司 基于负载均衡设备的会话保持方法及系统和负载均衡设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810358A (zh) * 2021-02-05 2021-12-17 京东科技控股股份有限公司 访问限制方法、装置、计算机设备以及存储介质
CN112769960A (zh) * 2021-03-09 2021-05-07 厦门市公安局 一种基于Nginx服务器的主动流量控制方法及系统

Also Published As

Publication number Publication date
CN108881430A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
WO2019237594A1 (zh) 会话保持方法、装置、计算机设备及存储介质
US9325785B2 (en) Device, system, and method for client-governed session persistency between one or more clients and servers of a data center
US10778603B2 (en) Systems and methods for controlling access to broker resources
WO2022111313A1 (zh) 一种请求处理方法及微服务系统
US20210243024A1 (en) User Security Token Invalidation
CN112788031B (zh) 基于Envoy架构的微服务接口认证系统、方法及装置
EP2824872B1 (en) Host providing system and communication control method
EP3576369B1 (en) Session transfer-based scheduling method and server
JPWO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
TWI716822B (zh) 事務因果序的校正方法及裝置、電子設備
US11102139B1 (en) Shared queue management utilizing shuffle sharding
US20070265976A1 (en) License distribution in a packet data network
JP2005521945A (ja) 共通作業キュー環境における最適格サーバ
CN106899564A (zh) 一种登录方法和装置
US11861386B1 (en) Application gateways in an on-demand network code execution system
KR20130130295A (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
CN112910796B (zh) 流量管理方法、装置、设备、存储介质以及程序产品
US10467143B1 (en) Event-driven cache
CN113452778A (zh) 会话保持方法、装置、设备、系统及存储介质
US20240015135A1 (en) Domain management and synchronization system
US11881996B2 (en) Input and output for target device communication
US10353733B1 (en) Systems and methods for performing virtual machine updates without rebuild of distributed databases thereon
CN105025042B (zh) 一种确定数据信息的方法及系统、代理服务器
US10481963B1 (en) Load-balancing for achieving transaction fault tolerance
US20210157769A1 (en) Distributed storage system for storing context data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18922795

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18922795

Country of ref document: EP

Kind code of ref document: A1