CN103973641B - 管理不同网站的会话的方法及装置 - Google Patents

管理不同网站的会话的方法及装置 Download PDF

Info

Publication number
CN103973641B
CN103973641B CN201310033883.1A CN201310033883A CN103973641B CN 103973641 B CN103973641 B CN 103973641B CN 201310033883 A CN201310033883 A CN 201310033883A CN 103973641 B CN103973641 B CN 103973641B
Authority
CN
China
Prior art keywords
session
website
page
websites
mapping table
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.)
Expired - Fee Related
Application number
CN201310033883.1A
Other languages
English (en)
Other versions
CN103973641A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310033883.1A priority Critical patent/CN103973641B/zh
Priority to US14/151,888 priority patent/US9591079B2/en
Publication of CN103973641A publication Critical patent/CN103973641A/zh
Application granted granted Critical
Publication of CN103973641B publication Critical patent/CN103973641B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种管理不同网站的会话的方法,其包括:相关联地记录多个网站的会话标识符,其中所述多个网站的会话标识符分别标识响应于多个网站的页面的打开操作而建立的会话,并且所述多个网站的页面被集成在同一个页面中;接收对于所述多个网站中第一网站的页面的操作请求,所述操作请求包括所述第一网站的会话标识符;通知对与所述第一网站的会话标识符相关联的会话标识符所标识的会话进行同步;以及响应于接收对所述第一网站的会话进行同步的通知,对所述第一网站的会话进行同步。本发明还公开了相应的装置及服务器。

Description

管理不同网站的会话的方法及装置
技术领域
本发明涉及会话管理技术,具体地,涉及管理不同网站的会话的方法及装置。
背景技术
在网站的页面设计中,能够将来自不同网站的页面集成在一个页面中。例如,在一个网站的页面中可以嵌入来自其它网站的页面。通常,可以使用iFrame技术来实现页面的嵌入。在这种情况下,用于容纳另一个页面的页面可被称为宿主页面(container page),而被嵌入在另一个页面内的页面可被称为内嵌页面(embedded page)。
当用户在客户端通过浏览器打开某个网站的页面时,在网站的服务器端将建立该客户端访问该网站的会话,并生成会话标识符以标识该会话。会话标识符可从存储在客户端的Cookie文件中获得。通常,对于网站的会话设置有会话超时信息。如果用户在会话超时信息所限定的时间内没有对网站的页面进行任何操作(例如点击等),则将出现会话超时而导致会话终止的情形。
对于页面嵌入有其它网站的页面的情况,也会出现类似的情形。当用户对宿主页面进行操作时,如果内嵌页面在相应的会话超时信息所限定的时间内没有被操作,则内嵌页面所对应的会话将会超时。相反,当用户对内嵌页面进行操作时,如果宿主页面或其它内嵌页面(如果有的话)在相应的会话超时信息所限定的时间内没有被操作,则宿主页面或其它内嵌页面所对应的会话也将会超时。为了避免出现这样的情形,用户可能需要在对宿主页面或内嵌页面操作时,每间隔一定时间就对内嵌页面或宿主页面进行操作,以重置内嵌页面或宿主页面所对应的会话的超时,从而防止会话超时。但这对于用户来说非常不方便操作。
在现有技术中提供了一种解决上述问题的方法。在该方法中,网站的服务器都提供保持连接(keep-alive)服务,例如用于同步会话的超时的应用程序(servlet)。当在客户端检测到用户对具有内嵌页面的宿主页面中的任一页面的操作时,客户端向该被操作的页面所属的网站的服务器发送操作请求,并且向其它页面所属的网站的服务器发送保持连接请求,从而避免其它网站的相关会话超时。然而,这种方法要求在网络应用的业务逻辑中增加用于在客户端的每个操作的操作代码,这需要耗费大量时间并且容易出错。
图4示出了上述方法的一个应用例的示意图。如图4所示,在网站A和网站B的服务器上都安装有用于同步会话的超时的同步servlet,并且在网站A的页面使用iFrame嵌入网站B的页面。在这种情况下,网站A的页面是宿主页面,而网站B的页面是内嵌页面。当用户对内嵌页面进行操作时,除了操作请求被发送给网站B的服务器之外,还向网站A的服务器发送了调用同步servlet的请求。网站A的服务器响应于该请求,对网站A的会话进行同步。
发明内容
根据本发明的一个方面,提供了一种管理不同网站的会话的方法,其包括:相关联地记录多个网站的会话标识符,其中所述多个网站的会话标识符分别标识响应于各自的网站的页面的打开操作而建立的会话,并且所述多个网站的页面被集成在同一个页面中;接收对于所述多个网站中第一网站的页面的操作请求,所述操作请求包括所述第一网站的会话标识符;通知对与所述第一网站的会话标识符相关联的会话标识符所标识的会话进行同步;以及响应于接收对所述第一网站的会话进行同步的通知,对所述第一网站的会话进行同步。
根据本发明的另一个方面,提供了一种管理不同网站的会话的装置,其包括:记录模块,其被配置为相关联地记录多个网站的会话标识符,其中所述多个网站的会话标识符分别标识响应于各自的网站的页面的打开操作而建立的会话,并且所述多个网站的页面被集成在同一个页面中;请求接收模块,其被配置为接收对于所述多个网站中第一网站的页面的操作请求,所述操作请求包括所述第一网站的会话标识符;通知模块,其被配置为通知对与所述第一网站的会话标识符相关联的会话标识符所标识的会话进行同步;以及同步模块,其被配置为响应于接收对所述第一网站的会话进行同步的通知,对所述第一网站的会话进行同步。
根据本发明的再一个方面,提供了一种服务器,其包括上述的管理不同网站的会话的装置。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4是现有技术的方法的应用例的示意图;
图5是根据本发明的一个实施例的管理不同网站的会话的方法的示意性流程图;
图6是图5的实施例中相关联地记录多个网站的会话标识符的步骤的示意性流程图;
图7是根据本发明的实施例的管理不同网站的会话的方法的一个应用例的示意图;
图8是根据本发明的实施例的管理不同网站的会话的方法的另一个应用例的示意图;
图9是根据本发明的一个实施例的管理不同网站的会话的装置的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM 应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及根据本发明的实施例的不同网站的会话的管理。
图5示出了根据本发明的一个实施例的管理不同网站的会话的方法的示意性流程图。下面结合附图,对本实施例进行详细描述。
本发明的各种实施例的主要思想在于针对多个网站的页面集成在同一个页面的情形,代替现有技术中由客户端发起会话的同步,而是由网站的服务器发起会话的同步。
本实施例的方法可以在网站的服务器处执行。为了方便说明,在以下的描述中,以在第一网站的服务器处执行的本实施例的方法为例进行说明。
如图5所示,在步骤S510,相关联地记录多个网站的会话标识符。如前所述,网站的会话是响应于打开该网站的页面而建立的,并且对于所建立的会话生成会话标识符以标识该会话。在本实施例中,包括第一网站的多个网站的页面可例如使用iFrame集成在同一个页面中。也就是说,在多个网站中的一个网站的页面中嵌入有其它网站的页面。
图6示出了步骤S610的示意性流程图。如图6所示,当第一网站的页面在客户端的浏览器被打开并生成相应的会话标识符后,在步骤S610,第一网站的服务器获取第一网站的会话标识符以及与所打开的第一网站的页面集成在一个页面内的其它页面所属的其它网站的会话标识符。其它网站的会话标识符也是在各网站的网页在浏览器中打开后生成的,并可存储在客户端的Cookie文件中。因此,当第一网站的页面被打开时,其它网站的会话标识符可从客户端的Cookie文件中获得,并可连同第一网站的会话标识符提供给第一网站。
然后,在步骤S620,生成第一网站的会话映射表,其包括第一会话标识符以及其它网站的会话标识符。会话映射表的格式可以是例如“某一网站的会话标识符,<相关联的其它网站的会话标识符>”。在本实施例中,对于第一网站,则所生成的会话映射表的格式为“第一网站的会话标识符,<其它网站的标识符>”。这样,通过会话映射表,可以清楚地表明哪些网站的会话标识符是彼此相关联的。应当注意,本领域的普通技术人员能够容易地想到会话映射表也可以采用其它格式。
在生成了会话映射表后,在步骤S630,向其它网站提供所生成的第一网站的会话映射表。其它网站在接收到第一网站的会话映射表后,可以生成或更新自己的会话映射表。
进一步地,在步骤S640,可以响应于接收从另一个网站发送的会话映射表,更新第一网站的会话映射表。在一个实施例中,可以将来自另一个网站的会话映射表中该网站的会话标识符添加到第一网站的会话映射表中,以获得更新后的第一网站的会话映射表。
进一步地,在步骤S650,可以响应于第一网站的会话的停止(例如超时或终止),删除第一网络的会话映射表。在采用上述格式的会话映射表的例子中,第一网站的会话映射表“第一网站的会话标识符,<其它网站的会话标识符>”被删除。然后,在步骤S660,向会话映射表中的其它网站通知删除第一网站的会话标识符。接收到该通知的其它网站各自从其会话映射表中删除第一网站的会话标识符。
另外,还可以在步骤S670,响应于接收删除其它网站中的至少一个网站的会话标识符的通知,在第一网站的会话映射表中删除在通知中指定的至少一个网站的会话标识符。
上述的步骤S640、S650-S660和S670之间并没有明确的先后顺序,本领域的普通技术人员能够理解,步骤S640、步骤S650-S660与步骤S670可以彼此独立地执行。
然后,返回到图5,在步骤S520,接收对于第一网站的页面的操作请求,该操作请求包括第一网站的会话标识符。如前所述,当用户对网站的页面进行操作时,相应的操作请求会被发送到该网站的服务器。接着,在步骤S530,通知对与第一网站的会话标识符相关联的会话标识符所标识的会话进行同步。
在步骤S530中,首先,从所接收的操作请求中提取第一网站的第一会话标识符,接着,根据所提取的第一网站的会话标识符,确定与第一网站的会话标识符相关联的会话标识符,从而确定将要被同步的网站的会话。可以通过查看前面所述的第一网站的会话映射表来确定相关联的会话标识符。在这种情况下,相关联的会话标识符是其它网站的会话标识符。然后,生成会话同步请求消息。在一个实施例中,会话同步请求消息可包括第一网站的会话标识符。可选地,会话同步请求消息可包括所确定的与第一网站的会话标识符相关联的会话标识符。然后,将所生成的会话同步请求消息发送给与所确定的相关联的会话标识符对应的网站,以便由接收网站响应于该会话同步请求消息而重置相关会话的超时。
然后,在步骤S540,响应于接收对第一网站的会话进行同步的通知,对第一网站的会话进行同步。在本实施例中,该通知可以是来自其它相关联的网站的会话同步请求消息。在接收到会话同步请求消息之后,重置第一网站的相关会话的超时。在所接收的会话同步请求消息包括其它网站的会话标识符的情况下,可根据所接收的会话标识符,查看第一网站的会话映射表以确定第一网站的会话标识符,从而确定将要被同步的会话,然后重置所确定的会话的超时。可选地,在所接收的会话同步请求消息包括第一网站的会话标识符的情况下,则重置由第一网站的会话标识符所标识的会话的超时。
通过以上描述可以看出,本实施例的方法能够解决由于长时间操作一个网站的页面而导致其它相关联的网站的会话超时的问题,并且本实施例的方法使得不同网站的会话的同步在网站的服务器端发起,从而能够减少对网络应用的代码改变。
虽然在以上的实施例的描述中,以第一网站为例进行了说明,但本领域的普通技术人员能够理解,根据本发明的实施例的方法可以应用于任意一个网站。
下面给出根据上述实施例的方法的两个应用例。根据这两个应用例,本领域的普通技术人员能够更加清楚地理解本发明的实施例。
图7示出了根据本发明的实施例的管理不同网站的会话的方法的一个应用例的示意图。在该应用例中,涉及两个网站:网站A和网站B。根据实施例的方法可在网站A和网站B的服务器上执行。
如图7所示,用户在客户端打开网站A的页面,则建立网站A的会话(701),并且会话标识符为“siteA#session#111”。
接着,用户在客户端通过iFrame打开网站B的页面,此时,网站B的页面嵌入在网站A的页面中。相应地,建立网站B的会话(702),其会话标识符为“siteB#session#222”。网站B获取网站B的会话标识符“siteB#session#222”和网站A的会话标识符“siteA#session#111”(703),然后在网站B,生成会话映射表以相关联地记录网站A和B的会话标识符(704),即“siteB#session#222,<siteA#session#111>”。然后,网站B可向网站A发送消息以提供网站B的会话映射表“siteB#session#222,<siteA#session#111>”(705),并在网站A,生成会话映射表以相关联地记录网站A和B的会话标识符(706),即“siteA#session#111,<siteB#session#222>”。由此,在网站A和B都建立了各自的会话映射表。
假定用户对网站B的页面进行操作,则网站B接收到操作请求(707),并从操作请求中提取网站B的会话标识符“siteB#session#222”。然后,网站B查看其会话映射表,获得相关联的网站A的会话标识符“siteA#session#111”(708)。在网站B生成会话同步请求消息(709),其可包括网站B的会话标识符“siteB#session#222”或者网站A的会话标识符“siteA#session#111”。然后,向网站A发送该会话同步请求消息(710)。如果网站A所接收的会话同步请求消息包括网站B的会话标识符“siteB#session#222”时,则网站A可根据网站B的会话标识符“siteB#session#222”,查看其会话映射表,获得相关联的会话标识符“siteA#session#111”,然后重置所标识的会话的超时(711)。如果所接收的会话同步请求消息包括网站A的会话标识符“siteA#session#111”,则网站A可直接重置会话标识符“siteA#session#111”所标识的会话。用户对网站A的页面进行操作的情形与用户对网站B的页面进行操作的情形类似,区别仅在于前一种情形中的网站A执行后一种情形中的网站B的操作,而前一种情形中的网站B执行后一种情形中的网站A的操作。
如果网站A的会话超时或者终止,则网站A删除会话映射表“siteA#session#111,<siteB#session#222>”(712),并通知网站B删除网站A的会话标识符(713)。网站B在接收到该通知后,从其会话映射表中删除网站A的会话标识符(714)。
图8示出了根据本发明的实施例的管理不同网站的会话的方法的另一个应用例的示意图。在该应用例中,涉及三个网站:网站A、网站B和网站C。根据实施例的方法可在网站A、网站B和网站C的服务器上执行。
如图8所示,用户在客户端打开网站A的页面,则建立网站A的会话(801),并且会话标识符为“siteA#session#111”。
接着,用户在客户端通过iFrame打开网站B的页面,此时,网站B的页面嵌入在网站A的页面中。相应地,建立网站B的会话(802),其会话标识符为“siteB#session#222”。网站B获取网站B的会话标识符“siteB#session#222”和网站A的会话标识符“siteA#session#111”(803),然后在网站B,生成会话映射表以相关联地记录网站A和B的会话标识符(804),即“siteB#session#222,<siteA#session#111>”。然后,网站B可向网站A发送消息以提供网站B的会话映射表“siteB#session#222,<siteA#session#111>”(805),并在网站A,生成会话映射表以相关联地记录网站A和B的会话标识符(806),即“siteA#session#111,<siteB#session#222>”。
然后,用户再次在客户端通过iFrame打开网站C的页面,此时,网站C的页面内嵌在网站A的页面中。建立网站C的会话(807),其会话标识符为“siteC#session#333”。网站C获取网站C的会话标识符以及网站A和网站B的会话标识符“siteC#session#333”、“siteA#session#111”和“siteB#session#222”(808),然后生成会话映射表以相关联地记录网站A、B、C的会话标识符(809),即“siteC#session#333,<siteA#session#111,siteB#session#222>”。然后,网站C分别向网站A和B发送消息以提供网站C的会话映射表“siteC#session#333,<siteA#session#111,siteB#session#222>”(810)。网站A和B在接收到网站C的会话标识符后,分别更新各自的会话映射表,即在各自的会话映射表中添加网站C的会话标识符“siteC#session#333”(811)。这样,网站A的会话映射表被更新为“siteA#session#111,<siteB#session#222,siteC#session#333>”,网站B的会话映射表被更新为“siteB#session#222,<siteA#session#111,siteC#session#333>”。
假定用户对网站C的页面进行操作,则网站C接收到操作请求(812),并从操作请求中提取网站C的会话标识符“siteC#session#333”。然后,网站C查看其会话映射表,获得相关联的网站A和网站B的会话标识符“siteA#session#111”和“siteB#session#222”(813)。在网站C生成会话同步请求消息(814),并分别向网站A和网站B发送该会话同步请求消息(815)。会话同步请求消息可包括网站C的会话标识符“siteC#session#333”。在这种情况下,网站A和B在接收到该会话同步请求消息后,根据所包括的会话标识符查看各自的会话映射表,确定相关联的会话标识符“siteA#session#111”和“siteB#session#222”,然后重置由所确定的相关联的会话标识符标识的会话的超时(816)。可选地,会话同步请求消息也可包括网站A和网站B的会话标识符“siteA#session#111”和“siteB#session#222”。在这种情况下,网站A和B在分别接收到该会话同步请求消息后,可直接重置由各自的会话标识符“siteA#session#111”和“siteB#session#222”所标识的会话的超时。
用户对网站A或网站B的页面进行操作的情形与用户对网站C的页面进行操作的情形类似,在此,省略其说明。
如果网站A的会话超时或者终止,则网站A删除会话映射表“siteA#session#111,<siteB#session#222,siteC#session#333>”(817),并通知网站B和网站C从各自的会话映射表中删除网站A的会话标识符(818)。网站B和C在接收到该通知后,在其会话映射表中删除网站A的会话标识符“siteA#session#111”(819)。此时,网站B的会话映射表变为“siteB#session#222,<siteC#session#333>”,网站C的会话映射表变为“siteC#session#333,<siteB#session#222>”。
在同一个发明构思下,图9示出了根据本发明的一个实施例的管理不同网站的会话的装置900的示意性方框图。以下结合附图,对本实施例进行详细描述,其中,对于与前面实施例相同的部分,适当省略其说明。
在本实施例中,包括第一网站的多个网站的会话响应于各自的网站的页面的打开操作而建立,并且多个网站的页面例如使用iFrame而集成在同一个页面中。本实施例的装置900可设置在网站的服务器处。以下为了便于说明,以设置在第一网站的服务器处的装置900为例进行描述。
如图9所示,本实施例的装置900包括:记录模块901,其相关联地记录多个网站的会话标识符;接收模块902,其接收对于多个网站中第一网站的页面的操作请求,所述操作请求包括第一网站的会话标识符;通知模块903,其通知对与第一会话标识符相关联的会话标识符所标识的会话进行同步;以及同步模块904,其响应于接收对第一网站的会话进行同步的通知,对第一网站的会话进行同步。
在本实施例的装置900中,记录模块901将多个网站的会话标识符相关联地记录。当第一网站的页面在客户端的浏览器被打开并生成相应的会话标识符后,在记录模块901中,获取单元9011获取第一网站的会话标识符以及与第一网站的页面集成在一个页面内的其它页面所属的其它网站的会话标识符。如前所述,当第一网站的页面被打开时,可从客户端的Cookie文件中获得其它网站的会话标识符,并连同第一网站的会话标识符提供给第一网站。然后,生成单元9012生成第一网站的会话映射表,其包括第一网站的会话标识符以及其它网站的会话标识符。在本实施例中,会话映射表可以采用前面所述的格式。在生成了第一网站的会话映射表后,提供单元9013可向其它网站提供该会话映射表。其它网站可基于所获得的会话映射表,生成或更新自己的会话映射表。
在另一个实施例中,记录模块901还可包括更新单元9014。当通过接收模块902接收到从另一个网站发送的会话映射表时,更新单元9014更新第一网站的会话映射表。在一个实施例中,更新单元9014通过在第一网站的会话映射表中添加另一个网站的会话标识符来更新第一网站的会话映射表。
在再一个实施例中,记录模块901还可包括删除单元9015。当第一网站的会话超时或终止时,删除单元9015将删除第一网站的会话映射表,然后通知模块903向所删除的会话映射表中的其它网站通知删除第一网站的会话标识符。可选地,删除单元9015还可在通过接收模块902接收到删除其它至少一个网站的会话标识符的通知时,从第一网站的会话映射表中删除该至少一个网站的会话标识符。
然后,接收模块902接收对第一网站的页面的操作请求,该操作请求包括第一网站的会话标识符。然后,通知模块903通知对与第一网站的会话标识符相关联的会话标识符所标识的会话进行同步。在通知模块903中,提取单元9031从所接收的操作请求中提取第一网站的会话标识符,然后,确定单元9032基于所提取的第一网站的会话标识符,例如通过查看会话映射表来确定与其相关联的会话标识符,从而确定将要被同步的网站的会话。接着,消息生成单元9033生成会话同步请求消息。在一个实施例中,会话同步请求消息可包括第一网站的会话标识符。可选地,会话同步请求消息可包括所确定的与第一网站的会话标识符相关联的会话标识符。然后,消息发送单元9034将该会话同步请求消息向与所确定的会话标识符对应的网站发送,以便由接收网站响应于该会话同步请求消息而重置相关会话的超时。
另外,接收模块902还可接收对第一网站的会话进行同步的通知。在本实施例中,该通知可以是来自其它网站的会话同步请求消息。然后,同步模块904响应于该通知而对第一网站的会话进行同步。在一个实施例中,该通知可包括其它网站的会话标识符。在这种情况下,同步模块904可根据所接收的会话标识符,查看第一网站的会话映射表以确定相关联的会话标识符,从而确定将要被同步的会话,然后重置所确定的会话的超时。在另一个实施例中,该通知可包括第一网站的会话标识符,在这种情况下,可重置第一网站的会话标识符所标识的会话的超时。
应当注意,本实施例的装置900能够在操作上实现图5和图6所示的管理不同网站的会话的方法。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种管理不同网站的会话的方法,包括:
相关联地记录多个网站的会话标识符,其中所述多个网站的会话标识符分别标识响应于各自的网站的页面的打开操作而建立的会话,并且所述多个网站的页面被集成在同一个页面中;
接收对于所述多个网站中第一网站的页面的操作请求,所述操作请求包括所述第一网站的会话标识符;
通知对与所述第一网站的会话标识符相关联的会话标识符所标识的会话进行同步,包括:
从所述操作请求中提取所述第一网站的会话标识符;
基于所述第一网站的会话标识符,确定相关联的会话标识符;
生成会话同步请求消息;以及
向与所确定的相关联的会话标识符对应的网站发送所述会话同步请求消息,以便由接收网站响应于所述会话同步请求消息而重置相关会话的超时;以及
响应于接收对所述第一网站的会话进行同步的通知,对所述第一网站的会话进行同步。
2.根据权利要求1所述的方法,其中,相关联地记录多个网站的会话标识符包括:
获取所述第一网站的会话标识符以及与所述第一网站的页面集成在一个页面内的其它页面所属的其它网站的会话标识符;
生成所述第一网站的会话映射表,所述会话映射表包括所述第一网站的会话标识符以及所述其它网站的会话标识符;以及
向所述其它网站提供所述会话映射表。
3.根据权利要求2所述的方法,其中,相关联地记录多个网站的会话标识符还包括:
响应于接收从另一个网站发送的会话映射表,更新所述第一网站的会话映射表。
4.根据权利要求2或3所述的方法,其中,相关联地记录多个网站的会话标识符还包括:
响应于所述第一网站的会话的停止,删除所述第一网站的会话映射表;以及
向所述其它网站通知删除所述第一网站的会话标识符。
5.根据权利要求4所述的方法,其中,相关联地记录多个网站的会话标识符还包括:
响应于接收删除所述其它网站中的至少一个网站的会话标识符的通知,从所述会话映射表中删除所述至少一个网站的会话标识符。
6.一种管理不同网站的会话的装置,包括:
记录模块,其被配置为相关联地记录多个网站的会话标识符,其中所述多个网站的会话标识符分别标识响应于各自的网站的页面的打开操作而建立的会话,并且所述多个网站的页面被集成在同一个页面中;
接收模块,其被配置为接收对于所述多个网站中第一网站的页面的操作请求,所述操作请求包括所述第一网站的会话标识符;
通知模块,其被配置为通知对与所述第一网站的会话标识符相关联的会话标识符所标识的会话进行同步,包括:
提取单元,其被配置为从所述操作请求中提取所述第一网站的会话标识符;
确定单元,其被配置为基于所述第一网站的会话标识符,确定相关联的会话标识符;
消息生成单元,其被配置为生成会话同步请求消息;以及
消息发送单元,其被配置为向与所确定的会话标识符对应的网站发送所述会话同步请求消息,以便由接收网站响应于所述会话同步请求消息而重置相关会话的超时;以及
同步模块,其被配置为响应于接收对所述第一网站的会话进行同步的通知,对所述第一网站的会话进行同步。
7.根据权利要求6所述的装置,其中,所述记录模块包括:
获取单元,其被配置为获取所述第一网站的会话标识符以及与所述第一网站的页面集成在一个页面内的其它页面所属的其它网站的会话标识符;
生成单元,其被配置为生成所述第一网站的会话映射表,所述会话映射表包括所述第一网站的会话标识符以及所述其它网站的会话标识符;以及
提供单元,其被配置为向所述其它网站提供所述会话映射表。
8.根据权利要求7所述的装置,其中,所述记录模块还包括:
更新单元,其被配置为响应于接收从另一个网站发送的会话映射表,更新所述第一网站的会话映射表。
9.根据权利要求7或8所述的装置,其中,所述记录模块还包括:
删除单元,其被配置为响应于所述第一网站的会话的停止,删除所述第一网站的会话映射表;
其中,所述通知模块还被配置为向所述其它网站通知删除所述第一网站的会话标识符。
10.根据权利要求9所述的装置,其中,所述删除单元还被配置为响应于接收删除所述其它网站中的至少一个网站的会话标识符的通知,从所述会话映射表中删除所述至少一个网站的会话标识符。
11.一种服务器,包括:如权利要求6至10任意一项所述的管理不同网站的会话的装置。
CN201310033883.1A 2013-01-29 2013-01-29 管理不同网站的会话的方法及装置 Expired - Fee Related CN103973641B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310033883.1A CN103973641B (zh) 2013-01-29 2013-01-29 管理不同网站的会话的方法及装置
US14/151,888 US9591079B2 (en) 2013-01-29 2014-01-10 Method and apparatus for managing sessions of different websites

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310033883.1A CN103973641B (zh) 2013-01-29 2013-01-29 管理不同网站的会话的方法及装置

Publications (2)

Publication Number Publication Date
CN103973641A CN103973641A (zh) 2014-08-06
CN103973641B true CN103973641B (zh) 2017-08-25

Family

ID=51224217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310033883.1A Expired - Fee Related CN103973641B (zh) 2013-01-29 2013-01-29 管理不同网站的会话的方法及装置

Country Status (2)

Country Link
US (1) US9591079B2 (zh)
CN (1) CN103973641B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341347A1 (en) * 2014-05-23 2015-11-26 Google Inc. Methods and systems of issuing, transmitting and managing tokens using a low-latency session syndication framework
US10581989B2 (en) 2015-07-30 2020-03-03 Nasdaq, Inc. Application logging framework
US10110683B2 (en) * 2015-08-11 2018-10-23 Unisys Corporation Systems and methods for maintaining ownership of and avoiding orphaning of communication sessions
US10592689B2 (en) * 2016-10-20 2020-03-17 Microsoft Technology Licensing, Llc Selective container use for device usage sessions
US10380081B2 (en) 2017-03-31 2019-08-13 Microsoft Technology Licensing, Llc Pre-building containers
US11172003B1 (en) * 2020-09-17 2021-11-09 Accenture Global Solutions Limited System and method to control a media client using a message service
CN112422662A (zh) * 2020-11-09 2021-02-26 广州锦行网络科技有限公司 一种统筹网站全局轮询请求的方法
CN113810300A (zh) * 2021-09-23 2021-12-17 青岛海信宽带多媒体技术有限公司 一种路由器及多页面并行访问路由器的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981048B1 (en) * 2000-11-22 2005-12-27 Toshiba America Information Systems, Inc. Keep-alive messaging when two applications are running
CN101287013A (zh) * 2008-05-30 2008-10-15 杭州华三通信技术有限公司 一种更新Web页面的方法和Web代理设备
CN101588393A (zh) * 2009-07-02 2009-11-25 杭州华三通信技术有限公司 一种基于实时会话状态管理的方法、装置及系统
CN101636723A (zh) * 2007-01-19 2010-01-27 国际商业机器公司 管理会话的Web服务器及其方法
CN101635707A (zh) * 2008-07-25 2010-01-27 国际商业机器公司 在Web环境中为用户提供身份管理的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2406569C (en) * 2002-10-04 2011-03-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
US7302370B2 (en) 2003-11-17 2007-11-27 Oracle International Corporation System and method for managing browser sessions in single and multi-server workflow environments
US8266226B2 (en) 2009-06-26 2012-09-11 International Business Machines Corporation System and method to enhance user presence management to enable the federation of rich media sessions
US8892635B2 (en) 2011-01-06 2014-11-18 Oracle International Corporation Techniques for detecting inactive browser windows
EP2485457A1 (en) 2011-02-04 2012-08-08 Siemens Aktiengesellschaft A method for keeping a web session alive in a web application
US10061860B2 (en) * 2011-07-29 2018-08-28 Oath Inc. Method and system for personalizing web page layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981048B1 (en) * 2000-11-22 2005-12-27 Toshiba America Information Systems, Inc. Keep-alive messaging when two applications are running
CN101636723A (zh) * 2007-01-19 2010-01-27 国际商业机器公司 管理会话的Web服务器及其方法
CN101287013A (zh) * 2008-05-30 2008-10-15 杭州华三通信技术有限公司 一种更新Web页面的方法和Web代理设备
CN101635707A (zh) * 2008-07-25 2010-01-27 国际商业机器公司 在Web环境中为用户提供身份管理的方法和装置
CN101588393A (zh) * 2009-07-02 2009-11-25 杭州华三通信技术有限公司 一种基于实时会话状态管理的方法、装置及系统

Also Published As

Publication number Publication date
US20140214956A1 (en) 2014-07-31
CN103973641A (zh) 2014-08-06
US9591079B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
CN103973641B (zh) 管理不同网站的会话的方法及装置
CN103916455B (zh) 用于数据复制的方法和系统
CN104601622B (zh) 一种部署集群的方法和系统
CN104067265B (zh) 用于支持在云中的安全应用部署的系统和方法
CN104205056B (zh) 跨多个云的工作负荷的动态分配的方法和系统
CN104424013B (zh) 在计算环境中部署虚拟机的方法和设备
CN104660669B (zh) 针对应用模式组件从多个主机选择一个主机的方法和系统
CN104052789B (zh) 用于虚拟联网系统的负载平衡的方法和系统
CN103365725B (zh) 在多个云之间动态分配工作负荷部署单元的方法和系统
CN103973741B (zh) 用于在云系统中进行远程调试的方法和装置
CN104765620B (zh) 一种程序模块部署的方法和系统
CN104580349B (zh) 安全云管理代理
CN104731658B (zh) 供应和合并共享资源以最大化资源可用性的方法和系统
CN104516730B (zh) 一种数据处理方法和装置
CN103226518B (zh) 一种在存储管理系统中进行卷扩展的方法和装置
CN105493445B (zh) 用于联网计算环境中的区域防火墙集群的方法和系统
US8954602B2 (en) Facilitating communication between enterprise software applications
CN103729250B (zh) 用于选择被配置为满足一组要求的数据节点的方法和系统
CN104335189B (zh) 对共享存储资源的安全访问
CN109478161A (zh) 使用调试容器提供关于生产容器的调试信息
CN105359088B (zh) 使用动态生成的虚拟磁盘内容优化供应时间的方法
CN103369022B (zh) 与存储设备通信的方法和系统
CN103238138A (zh) 用于云环境中的分区部署/重部署的网络接口
CN103368767A (zh) 用于具有故障的云中的高效应用管理的方法和系统
GB2496027A (en) Event prediction and preemptive action for a networked computing environment

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170825

CF01 Termination of patent right due to non-payment of annual fee