跨域会话管理方法和装置与流程

文档序号:11254139
跨域会话管理方法和装置与流程

本发明涉及互联网技术领域,具体而言,涉及跨域会话管理方法和装置。



背景技术:

随着web技术的不断发展,网站之间资源实现跨域共享这一问题急需解决。目前,现有技术已经实现跨域访问资源,但由于http是无状态的协议,即每一次跨域请求后,当前session就会立即丢失,而后无法再获取此session;当处理的业务需要上次的session时,则需要重新进行会话请求操作,增加了系统的操作步骤。



技术实现要素:

本发明提供的跨域会话管理方法和装置,旨在改善上述问题。

第一方面,本发明实施例提供的一种跨域会话管理方法,用于实现浏览器第一网域到第二网域之间访问会话的管理。所述方法包括:获取从所述第一网域向所述第二网域发起的原始状态的会话访问请求,获取对应所述原始状态的会话访问请求的原始会话,生成对应所述原始会话的原始标记,存储所述原始会话,将所述原始会话及对应的原始标记返回至所述第一网域,在接收到所述第一网域发起的包含所述原始标记的二次访问请求时,根据所述原始标记,返回对应所述原始标记的所述原始会话至所述第一网域。

第二方面,本发明实施例提供的一种跨域会话管理装置,用于实现浏览器第一网域到第二网域之间访问会话的管理,所述跨域会话管理装置包括:请求获取模块、会话存储模块、会话发送模块和会话管理模块。请求获取模块,用于获取从所述第一网域向所述第二网域发起的原始状态的会话访问请求。会话存储模块,用于获取对应所述原始状态的会话访问请求的原始会话,生成对应所述原始会话的原始标记,存储所述原始会话。会话发送模块,用于将所述原始会话及对应的原始标记返回至所述第一网域。会话管理模块,用于在接收到所述第一网域发起的包含所述原始标记的二次访问请求时,根据所述原始标记,返回对应所述原始标记的所述原始会话至所述第一网域。

本发明实施例提供的跨域会话管理方法和装置,用于实现浏览器第一网域到第二网域之间访问会话的管理,主要是增加了会话存储和标记过程,便于二次访问时的会话查找。在所述第一网域向所述第二网域发起原始状态的会话访问请求时,根据系统的会话获取规则获取对应所述原始状态的会话访问请求的原始会话,以便将该原始会话返回给发起会话访问请求的第一网域。生成对应所述原始会话的原始标记,用于标记和查找该原始会话,将该原始标记同所述原始会话返回至所述第一网域进行存储和利用。所述第二网域存储所述原始会话和所述原始会话对应的所述原始标记。所述第一网域再次需要向所述第二网域发起对应所述原始会话的会话访问请求时,可以将包含所述原始标记的二次访问请求发送至所述第二网域,所述第二网域根据所述二次访问请求中包含的原始标记,直接查找该原始标记对应的原始会话,并将查找到的原始会话返回给所述第一网域。节约了程序执行会话生成的操作时间和程序,提高了程序效率,且能有效的维持不同网域间的访问会话,提高了访问便捷性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的跨域会话管理方法和装置所应用的浏览器的方框图;

图2是本发明第一实施例提供的跨域会话管理方法的步骤流程图;

图3是本发明第二实施例提供的跨域会话管理方法的跨域会话管理方法的线程示意图;

图4是本发明第二实施例提供的跨域会话管理方法的步骤流程图;

图5是本发明第三实施例提供的跨域会话管理装置的功能模块图。

具体实施方式

鉴于此,本发明的设计者通过长期的探索和尝试,以及多次的实验和努力,不断的改革创新,得出本方案所示的跨域会话管理方法和装置及应用响应方法和装置。

如图1所示,是本发明实施例提供的跨域会话管理方法和装置所应用的浏览器100的方框示意图。所述浏览器100包括跨域会话管理装置101、存储器102、存储控制器103、处理器104、外设接口105、输入输出单元106等

所述存储器102、存储控制器103、处理器104、外设接口105、输入输出单元106等元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述跨域会话管理装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述浏览器100的操作系统(operating system,OS)中的软件功能模块。所述处理器104用于执行存储器102中存储的可执行模块,例如所述跨域会话管理装置101包括的软件功能模块或计算机程序。

其中,存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器102用于存储程序,所述处理器104在接收到执行指令后,执行所述程序,后续本发明实施例任一实施例揭示的过程定义的浏览器100所执行的方法可以应用于处理器104中,或者由处理器104实现。

处理器104可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器104可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口105将各种输入输出单元106耦合至处理器104以及存储器102。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元106用于提供给用户输入数据实现用户与数据采集终端的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

显示单元101在所述浏览器与用户之间提供一个交互界面,例如用户操作界面,或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。

请参见图2,为本发明第一实施例提供的跨域会话管理方法的步骤流程图。下面将对图2所示的步骤进行具体解释。

步骤S201,获取从所述第一网域向所述第二网域发起的原始状态的会话访问请求。

其中,本发明实施例提供的跨域会话管理方法,应用于浏览器,尤其是低版本的浏览器,实现跨域访问时访问会话session维持的目的。设定本实施例提供的方法用于实现第一网域到第二网域之间访问的session会话维持方案。

在所述第一网域向所述第二网域发起第一次访问请求时,设定该第一次访问请求为原始状态的会话访问请求,所述会话访问请求可以包括请求访问的目的地址和访问内容。

步骤S202,获取对应所述原始状态的会话访问请求的原始会话,生成对应所述原始会话的原始标记,存储所述原始会话。

获取所述第一网域向所述第二网域发起的原始状态的会话访问请求后,根据所述原始状态的会话访问请求,生成对应所述会话访问请求的会话,作为对应原始状态的会话访问请求的原始会话。

为了标记此次对话,便于后续的会话管理中的查找、删除等操作,可以将该原始会话的标记设置为原始标记,存储所述原始会话和原始标记,后续操作中,可以根据该原始标记查找对应的原始会话。所述对应原始会话的原始标记可以包括该原始会话的id,会话主题等信息,其他能定向指向该会话信息内容和存储位置的信息均可作为所述原始标记,在此不做限定。

步骤S203,将所述原始会话及对应的原始标记返回至所述第一网域。

依据上述步骤,获取对应所述第一网域的原始状态的会话访问请求对应的原始会话后,将所述原始会话及其对应的原始标记返回至所述第一网域,以便于所述第一网域获取所述原始会话进行信息提取和显示。所述第一网域还可以存储所述原始会话对应的原始标记,便于在后续的访问请求操作中,通过该原始标记直接获取原始状态的原始会话。

步骤S204,在接收到所述第一网域发起的包含所述原始标记的二次访问请求时,根据所述原始标记,返回对应所述原始标记的所述原始会话至所述第一网域。

在本实施例中,当完成所述第一网域向所述第二网域的第一次跨域访问请求对应的会话管理操作后,监控用户作用于所述浏览器的后续访问操作是否包含对应该原始对话的访问请求。在监控到用户作用于所述浏览器的对应该原始会话的访问请求操作时,所述第一网域向所述第二网域发起二次访问请求,所述二次访问请求包括对应所述原始会话的原始标记。接收到所述第一网域向所述第二网域发送的包含所述原始标记的二次访问请求时,根据所述原始标记查找对应的原始会话,返回对应所述原始标记的所述原始会话至所述第一网域,以便所述第一网域根据所获取的原始会话进行信息提取和显示。所述第一网域向所述第二网域再次发起会话请求时,发送包含原始标记的二次访问请求,以使所述第二网域可以直接根据所包含的原始标记,从对应存储的原始会话和原始标记中,查找二次访问请求所包含的原始标记对应的原始会话,直接将查找的原始会话返回至所述第一网域,省去了会话重新生成的操作,节省了操作时间和线程,提高了访问效率。

所述第二网域根据所述原始标记获取对应的原始会话后,还可以根据该原始会话生成对应该二次请求的二次会话,生成对应该二次请求的二次标记。将所述二次会话及对应二次标记,发送至所述第一网域,以便所述第一网域根据所述二次会话及对应二次标记进行信息提取、显示及再次访问等后续操作。所述浏览器可以依据上述步骤进行第一网域与第二网域之间的跨域访问会话的管理,便于会话的快速获取和反馈,提高访问效率,实现跨域访问会话的维持功能。本实施例所述的二次请求及二次会话等,并非特指第一网域向所述第二网域发送的会话访问请求中的第二次访问请求,可以解释为除所述原始状态的会话访问请求外的全部会话访问请求,在此不做限定。

在本实施例中,存储所述原始会话的步骤可以包括:封装所述原始会话,获取所述原始会话对应的会话封装的状态信息,对应存储所述原始会话的会话封装的状态信息和原始标记。对应存储所述原始会话的会话封装的状态信息和原始标记的步骤可以包括:利用哈希表将所述会话封装的状态信息和原始标记对应存储。

作为一种实施方式,采用哈希表技术,如Map<seesionID,Object>,其中sessionID为会话对应的id;Object为会话封装的状态信息,也可以为哈希表,如Map<String,Object>。

请参见图3和图4,为本发明第二实施例提供的跨域会话管理方法的步骤流程图。在上述实施例设置会话存储管理功能的基础上,本发明实施例还包括会话销毁的管理功能,便于及时清除过期会话,提高会话管理效率。下面将结合图3和图4,对本发明实施例提供的跨域会话管理方法的过程进行具体解释。

步骤S401,设置所述访问会话的过期时限。

原始会话,获取所述原始会话对应的会话封装的状态信息,对应存储所述原始会话的会话封装的状态信息和原始标记。在封装所述原始会话时,还可以设置所述访问会话的过期时限,用于指示该会话的失效期限。设置所述访问会话的过期时限的原则可以根据用户的访问习惯设置,或者是由用户自定义设置,其他能实现访问会话的过期时限的设置方式均可适用于本实施例。

步骤S402,对应存储所述原始会话的会话封装的状态信息和原始标记。

利用哈希表将所述会话封装的状态信息和原始标记对应存储。

作为一种实施方式,采用哈希表技术,如Map<seesionID,Object>,其中sessionID为会话对应的id;Object为会话封装的状态信息,也可以为哈希表,如Map<String,Object>。

步骤S402的具体实施过程,可以参照第一实施例中所对应的步骤,在此,不再赘述。

步骤S403,判断所述访问会话是否达到对应的过期时限。

如否,则跳转至步骤S403,继续监控。

若是,则执行步骤S404,删除所述访问会话。

在进行会话封装时,设置访问会话的过期时限,并监控访问会话是否达到过期时限。优选地,可以通过会话监听器HttpSessionListener监控会话状态。若监听到会话未达到过期时限,则表示该访问会话未过期,还可以继续存储和利用。若监控到访问会话达到过期时限,则可以删除该访问会话,可以将会话存储中对应的会话状态清空。

在本实施例中,设置所述访问会话的过期时限的操作可以在进行访问会话封装的过程中执行,访问会话的过期时限的监控可以在会话封装操作完成后定时监控或者持续监控。一般仅在会话封装时设置一次过期时限,而在会话封装后的存储时期会进行多次的过期时限监控,以便达到较好的监控效果。其他能实现访问会话的过期时限的监控的操作均可适用于本实施例,在此不做限定。

上述本发明实施例提供的跨域会话管理方法,应用于浏览器不同网域之间的会话管理。使用跨域访问会话存储并返回会话标记的方式,在接收到对应的二次请求时直接根据预先存储的对应关系中获取上次会话状态信息进行访问会话反馈,实现跨域访问会话维持的目的。采用会话销毁机制,能够及时清理过期的会话信息,避免造成信息的泄露,还可以实现url身份信息迭代,进一步提高了浏览器的访问操作管理效率。

请参见图5,为本发明第三实施例提供的跨域会话管理装置的功能模块图,所述跨域会话管理装置500可以同上述实施例提供的跨域会话管理装置201,均可用于实现浏览器第一网域到第二网域之间访问会话的管理。所述跨域会话管理装置500包括:请求获取模块501、会话存储模块502、会话发送模块503和会话管理模块504。

请求获取模块501,用于获取从所述第一网域向所述第二网域发起的原始状态的会话访问请求;

会话存储模块502,用于获取对应所述原始状态的会话访问请求的原始会话,生成对应所述原始会话的原始标记,存储所述原始会话;

会话发送模块503,用于将所述原始会话及对应的原始标记返回至所述第一网域;

会话管理模块504,用于在接收到所述第一网域发起的包含所述原始标记的二次访问请求时,根据所述原始标记,返回对应所述原始标记的所述原始会话至所述第一网域。

在本实施例中,所述会话存储模块502用于:

封装所述原始会话,获取所述原始会话对应的会话封装的状态信息;

对应存储所述原始会话的会话封装的状态信息和原始标记。

在本实施例中,所述会话存储模块502用于:

利用哈希表将所述会话封装的状态信息和原始标记对应存储。

在本实施例中,还包括状态监控模块505,所述状态监控模块505用于:

设置所述访问会话的过期时限;

判断所述访问会话是否达到对应的过期时限;

当所述访问会话达到对应的过期时限,删除所述访问会话。

在本实施例中,所述状态监控模块505用于:通过HttpSessionListener监听器监控所述访问会话的会话状态是否达到过期时限。

上述本发明实施例提供的跨域会话管理装置,应用于浏览器不同网域之间的会话管理。使用跨域访问会话存储并返回会话标记的方式,在接收到对应的二次请求时直接根据预先存储的对应关系中获取上次会话状态信息进行访问会话反馈,实现跨域访问会话维持的目的。采用会话销毁机制,能够及时清理过期的会话信息,避免造成信息的泄露,还可以实现url身份信息迭代,进一步提高了浏览器的访问操作管理效率。本发明实施例提供的跨域会话管理装置的具体实施过程请参见上述跨域会话管理方法的实施例,在此不再一一赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅为本发明的优选实施例而已,不用于限制本发明,对于本领域的技术人员来说,可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1