CN104954324B - 一种Session容灾方法及装置 - Google Patents

一种Session容灾方法及装置 Download PDF

Info

Publication number
CN104954324B
CN104954324B CN201410116909.3A CN201410116909A CN104954324B CN 104954324 B CN104954324 B CN 104954324B CN 201410116909 A CN201410116909 A CN 201410116909A CN 104954324 B CN104954324 B CN 104954324B
Authority
CN
China
Prior art keywords
session
storage mediums
intervention
determined
configuration
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
Application number
CN201410116909.3A
Other languages
English (en)
Other versions
CN104954324A (zh
Inventor
邓旻辉
罗坤莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Tmall Technology Co Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410116909.3A priority Critical patent/CN104954324B/zh
Priority to TW103118577A priority patent/TWI635387B/zh
Priority to US14/662,905 priority patent/US9477556B2/en
Priority to EP15716226.4A priority patent/EP3123332B1/en
Priority to PCT/US2015/021708 priority patent/WO2015148297A1/en
Priority to JP2016554412A priority patent/JP6182275B2/ja
Publication of CN104954324A publication Critical patent/CN104954324A/zh
Priority to US15/267,443 priority patent/US10055313B2/en
Application granted granted Critical
Publication of CN104954324B publication Critical patent/CN104954324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种Session容灾方法及装置,以实现当Session存储介质出现异常时,保证客户端应用对Session数据的访问成功的目的,例如,可以包括:预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;当检查出需要干预时,根据存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;将下一Session存储介质对应的配置信息加载到Session配置文件中,以使Session配置文件中的需要干预的Session存储介质对应的配置信息切换为下一Session存储介质对应的配置信息。

Description

一种Session容灾方法及装置
技术领域
本申请涉及Session领域,特别涉及一种Session容灾方法及装置。
背景技术
Session(会话)数据,通常指从进入系统到退出系统之间所经过的过程中相关的会话数据。
可以存储Session数据的存储介质类型可以包括:Cookie存储、内存存储、缓存存储、持久化存储。客户端应用通常会在自身的Session配置信息中指定Session存储介质类型,以及其对应的存储地址、加解密方式等。客户端应用根据自身的Session配置信息采用相应的访问策略进行Session数据的访问(如,读/写访问)。例如,在用户通过客户端应用(例如,网络浏览器)与服务器交互过程中,客户端应用对Session配置信息所决定的Session存储介质进行Session数据(例如登录信息、交易信息等)的访问,从而完成交互过程。然而,无论上述Cookie存储、内存存储、缓存存储、持久化存储中的哪一种存储介质都有可能出现异常。为了应对存储介质异常,通常由存储介质本身提供应对异常的容灾机制,以便保证客户端应用可以持续对Session配置信息所决定的Session存储介质稳定地进行Session数据的访问。
但是,当Session存储介质本身提供的容灾机制无法成功应对异常时,将导致客户端应用对Session数据的访问失败。
发明内容
有鉴于此,本申请的主要目的在于提供一种Session容灾方法及装置以实现当Session存储介质出现异常时,保证客户端应用对Session数据的访问成功的目的。
在本申请实施例的第一个方面,提供了一种Session容灾方法,例如,该方法可以包括:预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
在本申请实施例的第二个方面,提供了一种Session容灾装置,例如,该装置可以包括:预置单元,可以用于预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;干预单元,可以用于当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;介质确定单元,可以用于当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;加载单元,可以用于将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
可见本申请具有如下有益效果:
与现有技术中客户端应用自身配置固定不变的Session配置信息、仅依赖于Session存储介质自身的容灾机制应对异常不同的是,本申请实施例利用各种存储介质之间存在差异特性,预置了不同Session存储介质之间的切换顺序,并利用容灾干预规则对Session配置信息所决定的Session存储介质进行检查达到监控Session存储介质异常的目的,从而当配置信息所决定的Session存储介质出现异常时,可以根据预置的不同Session存储介质之间的切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质,将所述下一Session存储介质对应的配置信息加载到所述配置文件中,以使所述配置文件中所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息,相当于配置文件中的配置信息随对应的Session存储介质出现异常,自动切换为无异常的下一Session存储介质对应的配置信息,因此,当客户端应用对Session数据访问时,可以应用本申请实施例使Session配置信息随Session存储介质异常自动动态更新,从而持续对无异常的Session存储介质进行Session数据的访问,保证访问的成功,解决了现有技术由Session存储介质本身提供的容灾机制失败而导致客户端应用对Session数据的访问失败的问题;
并且,由于本申请实施例的容灾干预规则可以任意设置,存储介质切换顺序可以任意设置,在客户端侧动态更新Session配置文件中的Session配置信息,适用于对集群中任何Session存储介质的检查以及切换,因此,与现有技术中在每种存储介质本身制定各自的容灾机制相比较,是一种适用于多种存储介质集群,统一可用的容灾机制。
附图说明
图1是本申请实施例提供的一种Session容灾方法流程示意图;
图2是本申请实施例提供的方法的应用场景示意图;
图3是本申请实施例提供的一种Session容灾装置结构示意图之一;
图4是本申请实施例提供的一种Session容灾装置结构示意图之二。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
例如,在用户通过网页浏览器浏览网页时,从网页浏览器载入网页开始,直到退出网页过程中,可以应用本申请实施例对Session配置文件中的Session配置信息所决定的Session存储介质进行监控,当出现异常时,对Session配置信息进行动态加载,使异常Session存储介质对应的配置信息切换为正常Session存储介质对应的配置信息,从而保证网页浏览器持续稳定地访问该过程中相关的Session数据(如,登录信息、交易信息等)。
参见图1,为本申请实施例提供的Session容灾方法的流程示意图。如图1所示,该实施例可以包括:
S110、预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;
需要说明的是,Session配置文件的具体文件格式不限,例如,可以为.txt(文本)格式,XML(eXtensible Markup Language,可扩展标记语言)格式的文件,等等。
Session配置信息中可以包括Session存储介质类型(如,Cookie存储、内存存储、缓存存储、持久化存储中的任意一种或多种)、存储地址、加解密方式等配置信息。在某些可能的实现方式中,Session数据可以按照类型被存储在不同的Session存储介质中。例如,安全性要求更高的Session数据可以存储在持久化存储(如关系型数据库)中,读写速度要求更高的Session数据可以存储在Cookie存储中。因此,在Session配置文件中,不同类型Session数据可以对应各自的配置信息。例如,在Session配置文件中,Session配置信息可以与用于标识Session数据的Session ID(Session Identification,Session的唯一标识)或由Session ID确定的哈希值相对应(根据预置的哈希算法可以计算出Session ID对应的哈希值)。
可以理解的是,Session配置信息用于决定访问Session数据的访问策略。更具体地,访问策略由Session配置信息所包含的存储介质类型、存储地址、加解密方式等内容确定。例如,Session配置信息所决定的访问策略可以包括:由Session存储介质类型所决定的与该Session存储介质之间建立访问通道的方式、由存储地址所决定的访问地址、由加解密方式所决定的对Session数据进行加密或解密的算法等。
为了使本申请实施例更加容易理解,下面对本文所述的几种Session存储介质进行简单介绍。例如:
Cookie存储:Cookie是网页浏览时,服务器端和客户端的一种交互载体,一般由服务器端生成并发送给客户端(一般主要内容为用户身份),客户端将其保存在本地,并在请求服务器端的时候带上Cookie,从而标识请求的用户身份,方便服务器端查询。采用Cookie来进行Session数据的存储,称为Cookie存储。Cookie存储最大的优点是可用性高,可集群共享,但是由于Cookie存储在客户端,存在被伪造的风险,一般对重要数据需要进行加密存储。另外,采用Cookie进行Session数据的存储还需要占用一定带宽。
内存存储:由网络侧内存存储Session数据,可以与网络侧应用内存共用。内存存储最大的优点是访问速度快,但是在集群部署的网站中,单台机器的内存无法集群一起使用导致Session数据难以集群内共享,且单台机器的内存容量有限,存储规模受限。
缓存存储:由网络侧提供单独的缓存存储Session数据,例如,Memcache(分布式的内存对象缓存系统)。缓存存储的优点是容量易扩展,集群可共享,但不够稳定,一旦宕机数据会丢失。
持久化存储:在可永久保存的存储设备中存储Session数据,例如,关系型数据库。持久化存储的优点是安全,支持集群共享,但读写速度较慢。
通过对以上几种Session存储介质的介绍可以发现,不同的Session存储介质具有不同的优点与缺点,具有一定的特性差异。因此,可以按照存储介质可能出现的异常的不同特点,预置存储介质切换顺序以及预置容灾干预规则。
在本申请实施例中,预置的存储介质切换顺序不限,其含义可以为:按从前到后的顺序,当前一个存储介质被检查出需要干预后,自动切换到下一个存储介质。例如,从访问速度考虑,所述存储介质切换顺序按从前到后的顺序可以预置为:Cookie存储>内存存储>缓存存储>持久化存储;再例如,从稳定性考虑,所述存储介质切换顺序按从前到后的顺序可以预置为:Cookie存储>持久化存储>缓存存储>内存存储。又例如,所述存储介质切换顺序可以为:缓存存储>Cookie存储。
S120、当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;
需要说明的是,在本申请实施例中,预置的容灾干预规则不限。例如,可以预先设置每一个容灾干预规则对应的检查触发条件,当检查触发条件满足时,将自动触发利用其对应的容灾干预规则对Session存储介质进行检查的检查流程。例如:所述容灾干预规则库中的容灾干预规则可以包括以下任意一种或多种:
对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行心跳检查,如果判定心跳失败,则可能设备已经宕机,因此,确定需要对心跳失败的设备对应的Session存储介质进行干预,该容灾干预规则对应的检查触发条件可以但不限于每当达到一个心跳周期即触发检查;
对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行进程和/或线程过载检查,如果判定过载,则表示设备性能可能急剧下降或宕机,因此,确定需要对过载的设备对应的Session存储介质进行干预,该容灾干预规则对应的检查触发条件可以但不限于每当有进程和/或线程访问Session存储介质所在设备即触发检查;
对Session配置文件中已加载的Session配置信息所决定的Session存储介质中的Session数据是否发生访问错误进行检查,如果判定错误率超过阈值,则可能表示Session存储介质所在设备错误或性能急剧下降,因此,确定需要对错误率超过阈值的Session存储介质进行干预,该容灾干预规则对应的检查触发条件可以但不限于每当对Session存储介质中的Session数据的访问发生访问错误即触发检查。
S130、当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;
S140、将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
例如,在将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中时,可以将所述下一Session存储介质对应的配置信息加载到Session配置文件中,取代所述需要干预的Session存储介质对应的配置信息,与需要干预的Session存储介质对应的配置信息所对应的Session ID或由Session ID确定的哈希值相对应。更具体地,例如,假设需要干预的Session存储介质为Cookie存储,Cookie存储对应的下一Session存储介质为内存存储。假设Cookie存储对应的配置信息在XML格式的Session配置文件中的表现形式为“<配置信息哈希值=“4”><存储类型>Cookie存储</存储类型><存储地址>客户端侧C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files</存储地址><加密方式>DES加密</加密方式></配置信息>”。假设内存存储对应的配置信息中存储类型为内存存储、存储地址为网络侧指定机器001的内存,加密方式为无加密。则Session配置文件中的Cookie存储对应的配置信息切换为内存存储对应的配置信息后,配置文件中上述表现形式的配置信息将切换为“<配置信息哈希值=“4”><存储类型>内存存储</存储类型><存储地址>网络侧指定机器001</存储地址><加密方式>无</加密方式></配置信息>”。
需要说明的是,所述下一Session存储介质对应的配置信息可以在确定需要加载时根据需要实时生成,也可以预先生成并保存在某处以待需要时直接使用。
可见,应用本申请实施例提供的方法,由于预置了不同Session存储介质之间的切换顺序,并利用容灾干预规则在检查触发条件满足时,自动对Session配置信息所决定的Session存储介质进行检查,达到监控Session存储介质异常的目的,从而当配置信息所决定的Session存储介质出现异常时,可以根据预置的不同Session存储介质之间的切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质,将所述下一Session存储介质对应的配置信息加载到所述配置文件中,以使所述配置文件中所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息,相当于配置文件中的配置信息随对应的Session存储介质出现异常,自动切换为无异常的下一Session存储介质对应的配置信息,从而可以保证持续稳定地对Session配置信息所决定的Session存储介质进行Session数据的访问。
考虑到在某些特殊情况下,例如,管理员预见一段时间后某存储介质可能出现异常,或者,由其他原因确定需要调整存储介质时,可以直接进行人工干预。因此,在本申请实施例另一种可能的实现方式中,还可以接收用户输入的干预请求,根据干预请求生成对应的配置信息,将干预请求对应的配置信息加载到Session配置文件中。在这里,将干预请求对应的配置信息加载到Session配置文件可以包括,直接将干预请求对应的配置信息累加到Session配置文件,或者,将干预请求对应的配置信息加载到Session配置文件中以替代Session配置文件中某指定的Session配置信息。
需要说明的是,本申请实施例可以直接应用于客户端应用,如网页浏览器,也可以如图2所示,作为与发出Session访问请求的客户端应用202不同的、独立的Session访问应用201,接收其他一个或多个客户端应用202的Session访问请求,相应在Session配置文件中查找与Session访问请求对应的Session配置信息,对Session配置信息所决定的Session存储介质203进行Session数据的访问。具体地,例如,本申请实施例还可以包括:
接收一个或多个客户端应用的Session访问请求;
在Session配置文件中查找与所述Session访问请求对应的Session配置信息,例如,当接收客户端应用的Session访问请求后,可以从该访问请求中提取出Session ID(Session Identification,Session的唯一标识),根据预置的哈希算法计算出Session ID对应的哈希值,从Session配置文件中查找到与所计算出的哈希值对应的配置信息;
根据所述Session访问请求对应的Session配置信息所决定的访问策略,对所述Session访问请求对应的Session配置信息所决定的Session存储介质进行Session数据的访问。
可以理解的是,所述客户端应用的Session访问请求可以包括客户端应用对Session数据的读访问和/或写访问。当根据访问请求确定需要向客户端应用反馈相关Session数据时,本申请实施例还可以包括向所述客户端应用反馈读访问和/或写访问的相关Session数据的步骤。
可见,应用该实现方式,其他客户端应用无需关心发出Session访问请求之后的任何相关过程,当Session存储介质出现异常或即将出现异常时,本申请实施例方法可以自动检查出需要干预的Session存储介质,自动将Session配置文件中需要干预的Session存储介质对应的配置信息切换为正常的下一Session存储介质对应的配置信息,持续稳定地依赖于Session配置文件中的Session配置信息确定访问策略进行Session数据的访问。因此,Session数据的访问过程、Session存储介质异常所导致的切换,对于其他客户端应用来说完全无感,可提高其他客户端应用的效率。
另外,本申请实施例还可以设置冗余存储介质,将安全性要求较高的Session数据同步到冗余存储介质中,保证在某Session存储介质异常被切换后,其中的Session数据可以在冗余存储介质中找到,保证重要Session数据无丢失。其中,冗余存储介质的类型、存储地址、加解密方式等信息可以但不限于保存在Session配置文件中。当接收到客户端应用的Session数据的写访问时,同步对冗余存储介质进行Session数据的写访问。
与上述Session容灾方法相应地,本申请实施例还提供了一种Session容灾装置。例如,参见3,为本申请实施例提供的Session容灾装置的结构示意图之一。如图3所示,该装置可以包括:
预置单元310,可以用于预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;
干预单元320,可以用于当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;
介质确定单元330,可以用于当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;
加载单元340,可以用于将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
可见,应用本申请实施例提供的装置,由于预置单元310预置了不同Session存储介质之间的切换顺序,并由干预单元320利用容灾干预规则在检查触发条件满足时,自动对Session配置信息所决定的Session存储介质进行检查,达到监控Session存储介质异常的目的,从而当配置信息所决定的Session存储介质出现异常时,可以由介质确定单元330根据预置的不同Session存储介质之间的切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质,由加载单元340将所述下一Session存储介质对应的配置信息加载到所述配置文件中,以使所述配置文件中所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息,相当于配置文件中的配置信息随对应的Session存储介质出现异常,自动切换为无异常的下一Session存储介质对应的配置信息,从而可以保证持续稳定地对Session配置信息所决定的Session存储介质进行Session数据的访问。
在本申请实施例中,预置单元310预置的存储介质切换顺序不限。例如,所述预置单元310,可以用于预置存储介质切换顺序为Cookie存储、内存存储、缓存存储、持久化存储;或者,Cookie存储、持久化存储、缓存存储、内存存储。
在本申请实施例中,预置单元310预置的容灾干预规则不限。例如,所述预置单元310,可以用于预置容灾干预规则库中的容灾干预规则包括以下任意一种或多种:对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行心跳检查,如果判定心跳失败,确定需要对心跳失败的设备对应的Session存储介质进行干预;对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行进程和/或线程过载检查,如果判定过载,确定需要对过载的设备对应的Session存储介质进行干预;对Session配置文件中已加载的Session配置信息所决定的Session存储介质中的Session数据是否发生访问错误进行检查,如果判定错误率超过阈值,确定需要对错误率超过阈值的Session存储介质进行干预。
在结合本文任意装置实施例的一种可能的实现方式中,如图4所示的Session容灾装置结构示意图之二,该装置还可以包括:接收人工请求单元350,可以用于接收用户输入的干预请求;生成人工配置单元360,可以用于根据所述干预请求生成对应的配置信息。其中,所述加载单元340,还可以用于将所述干预请求对应的配置信息加载到所述Session配置文件中。
应用该实现方式,可以在管理员预见一段时间后某存储介质可能出现异常,或者,由其他原因确定需要调整存储介质时,直接进行人工干预。
在结合本文任意装置实施例的另一种可能的实现方式中,如图4所示,该装置还可以包括:接收访问单元370,可以用于接收一个或多个客户端应用的Session访问请求;查找单元380,可以用于从加载单元340得到Session配置文件,在Session配置文件中查找与所述Session访问请求对应的Session配置信息;执行访问单元390,可以用于根据所述Session访问请求对应的Session配置信息所决定的访问策略,对所述Session访问请求对应的Session配置信息所决定的Session存储介质进行Session数据的访问。
应用该实现方式,其他客户端应用无需关心发出Session访问请求之后的任何相关过程,例如,Session数据的访问过程、Session存储介质异常所导致的切换,对于其他客户端应用来说完全无感,可提高其他客户端应用的效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种Session容灾方法,其特征在于,包括:
预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;
当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;
当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;
将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
2.根据权利要求1所述的方法,其特征在于,所述存储介质切换顺序按从前到后的顺序为:
Cookie存储、内存存储、缓存存储、持久化存储;
或者,
Cookie存储、持久化存储、缓存存储、内存存储。
3.根据权利要求1所述的方法,其特征在于,所述容灾干预规则库中的容灾干预规则包括以下任意一种或多种:
对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行心跳检查,如果判定心跳失败,确定需要对心跳失败的设备对应的Session存储介质进行干预;
对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行进程和/或线程过载检查,如果判定过载,确定需要对过载的设备对应的Session存储介质进行干预;
对Session配置文件中已加载的Session配置信息所决定的Session存储介质中的Session数据是否发生访问错误进行检查,如果判定错误率超过阈值,确定需要对错误率超过阈值的Session存储介质进行干预。
4.根据权利要求1~3任一项所述的方法,其特征在于,还包括:
接收用户输入的干预请求;
根据所述干预请求生成对应的配置信息;
将所述干预请求对应的配置信息加载到所述Session配置文件中。
5.根据权利要求1~3任一项所述的方法,其特征在于,还包括:
接收一个或多个客户端应用的Session访问请求;
在Session配置文件中查找与所述Session访问请求对应的Session配置信息;
根据所述Session访问请求对应的Session配置信息所决定的访问策略,对所述Session访问请求对应的Session配置信息所决定的Session存储介质进行Session数据的访问。
6.一种Session容灾装置,其特征在于,包括:
预置单元,用于预先在Session配置文件中加载Session配置信息、预置包含容灾干预规则的容灾干预规则库、以及预置存储介质切换顺序;
干预单元,用于当容灾干预规则库中任意容灾干预规则的检查触发条件满足时,自动利用所述任意容灾干预规则,对Session配置文件中已加载的Session配置信息所决定的Session存储介质是否需要干预进行检查;
介质确定单元,用于当检查出需要干预时,根据所述存储介质切换顺序,确定需要干预的Session存储介质对应的下一Session存储介质;
加载单元,用于将所述下一Session存储介质对应的配置信息加载到所述Session配置文件中,以使所述Session配置文件中的所述需要干预的Session存储介质对应的配置信息切换为所述下一Session存储介质对应的配置信息。
7.根据权利要求6所述的装置,其特征在于,所述预置单元,用于预置存储介质切换顺序为Cookie存储、内存存储、缓存存储、持久化存储;或者,Cookie存储、持久化存储、缓存存储、内存存储。
8.根据权利要求6所述的装置,其特征在于,所述预置单元,用于预置容灾干预规则库中的容灾干预规则包括以下任意一种或多种:对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行心跳检查,如果判定心跳失败,确定需要对心跳失败的设备对应的Session存储介质进行干预;对Session配置文件中已加载的Session配置信息所决定的Session存储介质所在设备进行进程和/或线程过载检查,如果判定过载,确定需要对过载的设备对应的Session存储介质进行干预;对Session配置文件中已加载的Session配置信息所决定的Session存储介质中的Session数据是否发生访问错误进行检查,如果判定错误率超过阈值,确定需要对错误率超过阈值的Session存储介质进行干预。
9.根据权利要求6~8任一项所述的装置,其特征在于,还包括:接收人工请求单元,用于接收用户输入的干预请求;生成人工配置单元,用于根据所述干预请求生成对应的配置信息;
其中,所述加载单元,还用于将所述干预请求对应的配置信息加载到所述Session配置文件中。
10.根据权利要求6~8任一项所述的装置,其特征在于,还包括:
接收访问单元,用于接收一个或多个客户端应用的Session访问请求;
查找单元,用于从加载单元得到Session配置文件,在Session配置文件中查找与所述Session访问请求对应的Session配置信息;
执行访问单元,用于根据所述Session访问请求对应的Session配置信息所决定的访问策略,对所述Session访问请求对应的Session配置信息所决定的Session存储介质进行Session数据的访问。
CN201410116909.3A 2014-03-26 2014-03-26 一种Session容灾方法及装置 Active CN104954324B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201410116909.3A CN104954324B (zh) 2014-03-26 2014-03-26 一种Session容灾方法及装置
TW103118577A TWI635387B (zh) 2014-03-26 2014-05-28 Session disaster tolerance method and device
US14/662,905 US9477556B2 (en) 2014-03-26 2015-03-19 Method and system for session disaster recovery
PCT/US2015/021708 WO2015148297A1 (en) 2014-03-26 2015-03-20 Method and system for session disaster recovery
EP15716226.4A EP3123332B1 (en) 2014-03-26 2015-03-20 Method and system for session disaster recovery
JP2016554412A JP6182275B2 (ja) 2014-03-26 2015-03-20 セッションディザスタ・リカバリのための方法およびシステム
US15/267,443 US10055313B2 (en) 2014-03-26 2016-09-16 Method and system for session disaster recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410116909.3A CN104954324B (zh) 2014-03-26 2014-03-26 一种Session容灾方法及装置

Publications (2)

Publication Number Publication Date
CN104954324A CN104954324A (zh) 2015-09-30
CN104954324B true CN104954324B (zh) 2018-04-10

Family

ID=54168684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410116909.3A Active CN104954324B (zh) 2014-03-26 2014-03-26 一种Session容灾方法及装置

Country Status (6)

Country Link
US (2) US9477556B2 (zh)
EP (1) EP3123332B1 (zh)
JP (1) JP6182275B2 (zh)
CN (1) CN104954324B (zh)
TW (1) TWI635387B (zh)
WO (1) WO2015148297A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971664B2 (en) * 2015-08-27 2018-05-15 Vmware, Inc. Disaster recovery protection based on resource consumption patterns
CN105338095A (zh) * 2015-11-17 2016-02-17 中国建设银行股份有限公司 一种会话数据处理方法和装置
CN107634863A (zh) * 2017-10-25 2018-01-26 北京百悟科技有限公司 用于域名解析容灾服务的分布式监控装置及方法
CN113656215A (zh) * 2021-07-20 2021-11-16 新浪网技术(中国)有限公司 一种基于集中配置的自动化容灾方法、系统、介质和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202143095U (zh) * 2011-07-15 2012-02-08 苏州阔地网络科技有限公司 一种用户会话备份切换系统
CN102769626A (zh) * 2012-07-26 2012-11-07 北京神州绿盟信息安全科技股份有限公司 一种会话信息同步方法、装置以及系统
CN103327036A (zh) * 2012-03-19 2013-09-25 精硕世纪科技(北京)有限公司 互联网浏览设备的标识方法以及Cookie服务器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155120B1 (en) * 2001-07-30 2006-12-26 Atrica Israel Ltd. Link level network protection path calculation mechanism for use in optical networks
US7085958B2 (en) * 2003-01-17 2006-08-01 International Business Machines Corporation System and method for isolating a faulty switch, storage device or SFP in a daisy-chained configuration
US20060183469A1 (en) 2005-02-16 2006-08-17 Gadson Gregory P Mobile communication device backup, disaster recovery, and migration scheme
US7710865B2 (en) 2005-02-25 2010-05-04 Cisco Technology, Inc. Disaster recovery for active-standby data center using route health and BGP
US8589562B2 (en) * 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US7613747B1 (en) * 2005-06-08 2009-11-03 Sprint Communications Company L.P. Tiered database storage and replication
JP2007257180A (ja) * 2006-03-22 2007-10-04 Hitachi Ltd ネットワークノード、スイッチ及びネットワーク障害回復方法
CN101383725B (zh) 2007-09-28 2013-03-13 华为技术有限公司 Ip多媒体子系统及容灾恢复方法
KR101684753B1 (ko) * 2010-02-09 2016-12-08 인터디지탈 패튼 홀딩스, 인크 신뢰적인 연합 아이덴티티를 위한 방법 및 장치
WO2012060276A1 (ja) * 2010-11-01 2012-05-10 かもめエンジニアリング株式会社 アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
US8607225B2 (en) * 2010-12-28 2013-12-10 Oracle International Corporation Managed upgrades of components in an integrated software and hardware system
US8799602B2 (en) * 2012-08-22 2014-08-05 International Business Machines Corporation Automated migration to a new target volume via merged bitmaps to maintain consistency

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202143095U (zh) * 2011-07-15 2012-02-08 苏州阔地网络科技有限公司 一种用户会话备份切换系统
CN103327036A (zh) * 2012-03-19 2013-09-25 精硕世纪科技(北京)有限公司 互联网浏览设备的标识方法以及Cookie服务器
CN102769626A (zh) * 2012-07-26 2012-11-07 北京神州绿盟信息安全科技股份有限公司 一种会话信息同步方法、装置以及系统

Also Published As

Publication number Publication date
TWI635387B (zh) 2018-09-11
US20150278035A1 (en) 2015-10-01
JP2017509071A (ja) 2017-03-30
JP6182275B2 (ja) 2017-08-16
US10055313B2 (en) 2018-08-21
EP3123332B1 (en) 2018-03-14
TW201537344A (zh) 2015-10-01
EP3123332A1 (en) 2017-02-01
US9477556B2 (en) 2016-10-25
US20170004053A1 (en) 2017-01-05
CN104954324A (zh) 2015-09-30
WO2015148297A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
EP3317998B1 (en) Resilient secret sharing cloud based architecture for data vault
CN104008152B (zh) 支持海量数据访问的分布式文件系统的架构方法
CN104283933B (zh) 下载数据的方法、客户端及系统
US20180219683A1 (en) Possession and Alteration of Documents
US11411928B2 (en) Mobile device identification using second entity matching
US9509747B2 (en) Content item synchronization by block
CN104954324B (zh) 一种Session容灾方法及装置
CN102457555A (zh) 一种分布式存储的安全系统及方法
US11184389B2 (en) Security mechanisms for preventing retry or replay attacks
Rajabi et al. Analyzing broken links on the web of data: An experiment with DBpedia
US11163499B2 (en) Method, apparatus and system for controlling mounting of file system
CN104699559A (zh) 分布式数据备份方法和系统
US20200036812A1 (en) Resource Download Method, Electronic Device, and Apparatus
CN106453442A (zh) 一种基于云计算的海量大数据安全云存储系统
CN105812427B (zh) 文件上传和下载方法、装置、及文件服务器
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
CN106817388A (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的系统
CN103490978A (zh) 终端、服务器和消息监视方法
BR112018074497B1 (pt) Método para prevenir que um servidor seja atacado e dispositivo para prevenir que um servidor seja atacado
CN105763604A (zh) 轻量级分布式文件系统及恢复下载文件原名的方法
US9245048B1 (en) Parallel sort with a ranged, partitioned key-value store in a high perfomance computing environment
Chen et al. Archipelago: A medical distributed storage system for interconnected health
CN110362590A (zh) 数据管理方法、装置、系统、电子设备及计算机可读介质
CN106254092A (zh) 一种预警方法、装置及系统
Zhang et al. A study of the use of idas in cloud storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221123

Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: ZHEJIANG TMALL TECHNOLOGY Co.,Ltd.

Address before: Box four, 847, capital building, Grand Cayman Island capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right