会话共享方法、装置、电子设备及可读存储介质与流程

文档序号:14880207发布日期:2018-07-07 09:34阅读:171来源:国知局

本发明涉及计算机技术领域,尤其是涉及会话共享方法、装置、电子设备及可读存储介质。



背景技术:

随着企业发展的长期积淀,企业会有不同语言开发的功能页面和功能应用,如何实现不同语言开发的应用会话共享成为亟待解决的问题。

目前常见的会话共享技术,大多都是针对单语言、同一应用服务器的会话共享,或者是用单点登录实现登录功能,没有共享会话功能,如果不能实现功能页面复用,不同语言开发不同应用,则需要统一语言重新研发,这就大大增加了研发成本。



技术实现要素:

有鉴于此,本发明的目的在于提供会话共享方法、装置、电子设备及可读存储介质,不同应用服务器和不同语言部署的web应用之间都可实现会话共享,极大程度地节约研发成本和时间。

第一方面,本发明实施例提供了会话共享方法,包括:

通过统一域名的总服务器,访问目标统一资源定位符url,从所述总服务器内部代理到与所述url相对应的应用服务器,其中,所述总服务器部署多个应用服务器;

所述应用服务器根据会话设置会话key,并根据所述会话key查找与所述会话key相关联的cookie;

所述应用服务器在没找到的情况下,将所述会话进行序列化,存入会话存储中,并根据所述会话key生成与所述会话key相关联的cookie;

所述应用服务器在找到的情况下,按照所述cookie在所述会话存储中获取序列化会话。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述应用服务器包括第一应用服务器,所述第一应用服务器在没找到与所述会话key相关联的cookie的情况下,将所述会话进行序列化,存入所述会话存储中,并根据所述会话key生成与所述会话key相关联的cookie,放置于浏览器端。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述应用服务器还包括第二应用服务器,所述第二应用服务器在找到与所述会话key相关联的cookie的情况下,按照所述cookie在会话存储中获取与所述会话key相匹配的序列化会话。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述第一应用服务器将所述会话进行序列格式为对象标记语言json格式,再将所述json格式的序列化会话存于所述会话存储中。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述第二应用服务器将所述序列化会话进行反序列化。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述序列化会话包括会话属性和会话超时时间。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述应用服务器包括java应用服务器、c#应用服务器和php应用服务器。

第二方面,本发明实施例还提供会话共享装置,包括:

通过统一域名的总服务器,访问目标统一资源定位符url,从所述总服务器内部代理到与所述url相对应的应用服务器,其中,所述总服务器部署多个应用服务器;

所述应用服务器根据会话设置会话key,并根据所述会话key查找与所述会话key相关联的cookie;

所述应用服务器在没找到的情况下,将所述会话进行序列化,存入会话存储中,并根据所述会话key生成与所述会话key相关联的cookie;

所述应用服务器在找到的情况下,按照所述cookie在所述会话存储中获取序列化会话。

结合第三方面,本发明实施例还提供电子设备,所述电子设备包括:

存储介质;

处理器;以及

会话共享装置,所述装置存储于所述存储介质中并包括由所述处理器执行的软件功能模块,所述装置包括:

通过统一域名的总服务器,访问目标统一资源定位符url,从所述总服务器内部代理到与所述url相对应的应用服务器,其中,所述总服务器部署多个应用服务器;

所述应用服务器根据会话设置会话key,并根据所述会话key查找与所述会话key相关联的cookie;

所述应用服务器在没找到的情况下,将所述会话进行序列化,存入会话存储中,并根据所述会话key生成与所述会话key相关联的cookie;

所述应用服务器在找到的情况下,按照所述cookie在所述会话存储中获取序列化会话。

结合第四方面,本发明实施例还提供可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如上所述的会话共享方法。

本发明实施例提供了会话共享方法、装置、电子设备及可读存储介质,包括通过统一域名的总服务器,访问目标统一资源定位符url,从总服务器内部代理到与url相对应的应用服务器,其中,总服务器部署多个应用服务器;应用服务器根据会话设置会话key,并根据会话key查找与会话key相关联的cookie;应用服务器在没找到的情况下,将会话进行序列化,存入会话存储中,并根据会话key生成与会话key相关联的cookie;应用服务器在找到的情况下,按照cookie在会话存储中获取序列化会话,通过本申请不同应用服务器和不同语言部署的web应用之间都可实现会话共享,极大程度地节约研发成本和时间。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的会话共享方法流程图之一;

图2为本发明实施例提供的会话共享方法流程图之二;

图3为本发明实施例提供的会话共享部署架构示意图;

图4为本发明实施例提供的用于实现上述图像数据读取方法的电子设备的方框示意图。

图标:100-电子设备;110-存储介质;120-处理器;200-会话共享装置。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前常见的会话共享技术,大多都是针对单语言、同一应用服务器的会话共享,或者是用单点登录实现登录功能,没有共享会话功能,如果不能实现功能页面复用,不同语言开发不同应用,则需要统一语言重新研发,这就大大增加了研发成本。

基于此,本发明实施例提供的会话共享方法、装置、电子设备及可读存储介质,不同应用服务器和不同语言部署的web应用之间都可实现会话共享,极大程度地节约研发成本和时间。

为便于对本实施例进行理解,首先对本发明实施例所公开的会话共享方法进行详细介绍。

图1为本发明实施例提供的会话共享方法流程图之一。

参照图1,会话共享方法包括以下步骤:

步骤s110,通过统一域名的总服务器,访问目标统一资源定位符url,从总服务器内部代理到与url相对应的应用服务器,其中,总服务器部署多个应用服务器;

这里,搭建总服务器(可用nginx,一个高性能的http和反向代理服务器,也是一个imap/pop3/smtp服务器),这里的总服务器指的是虚拟服务器,对外统一域名,例如,share.300.cn;

步骤s120,应用服务器根据会话设置会话key,并根据会话key查找与会话key相关联的cookie;

其中,会话有统一的会话key和cookie;

步骤s130,应用服务器在没找到的情况下,将会话进行序列化,存入会话存储中,并根据会话key生成与会话key相关联的cookie;

步骤s140,应用服务器在找到的情况下,按照cookie在会话存储中获取序列化会话。

这里,本发明实施例实现了一种不同语言,不同应用服务器会话共享的方法,通过把不同语言会话放到公共会话存储(内存数据库,硬盘,云服务)中,从而实现不同语言的会话共享功能。

进一步的,应用服务器包括java应用服务器、c#应用服务器和php应用服务器。

其中,通过访问不同的url,从总服务器内部代理到相应的应用服务器,具体如图3所示,分别反向代理到相应服务器;

这里,应用服务器不局限于单个应用服务器,还可指代应用服务器集群;

进一步的,应用服务器包括第一应用服务器,步骤s120还可用以下步骤实现,包括:

步骤s202,第一应用服务器在没找到与会话key相关联的cookie的情况下,将会话进行序列化,存入会话存储中,并根据会话key生成与会话key相关联的cookie,放置于浏览器端。

进一步的,应用服务器还包括第二应用服务器,步骤s130还可用以下步骤实现,包括:

步骤s204,第二应用服务器在找到与会话key相关联的cookie的情况下,按照cookie在会话存储中获取与会话key相匹配的序列化会话。

进一步的,第一应用服务器将会话进行序列格式为对象标记语言json格式,再将json格式的序列化会话存于会话存储中。

其中,json简称js,(javascriptobjectnotation,对象标记)是一种轻量级的数据交换格式。它基于ecmascript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言,易于用户阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

进一步的,第二应用服务器将序列化会话进行反序列化。

这里,将序列化会话进行反序列化操作,使得进行上述操作的会话转换成第二应用服务器应用的格式,能够被第二应用服务器所应用;

进一步的,序列化会话包括会话属性和会话超时时间。

图2为本发明实施例提供的会话共享方法流程图之二。

如图2所示,会话共享方法包括以下步骤:

步骤s301,根据第一目标统一资源定位符,从总服务器内部代理到与第一目标统一资源定位符相对应的第一应用服务器;

具体地,通过统一域名的总服务器,访问第一目标统一资源定位符,从总服务器内部代理到与第一目标统一资源定位符相对应的第一应用服务器;

步骤s302,第一应用服务器将会话进行序列化,存入会话存储中;

步骤s303,第一应用服务器根据会话key生成与会话key相关联的cookie,放置于浏览器端;

步骤s304,根据第二目标统一资源定位符,从总服务器内部代理到与第二目标统一资源定位符相对应的第二应用服务器;

步骤s305,第二应用服务器根据会话key查找cookie,按照cookie在会话存储中获取与会话key相匹配的序列化会话;

步骤s306,第二应用服务器将序列化会话进行反序列化;

步骤s307,第二应用服务器返回视图。

这里,反序列化的会话通过会话存储中的到期时间、最后访问时间和续期时间,控制会话的生命周期,保证不同应用服务器的会话生命周期一致。

进一步地,如图4所示,是本发明实施例提供的用于实现所述图像分析方法的电子设备100的示意图。本实施例中,所述电子设备100可以是,但不限于,个人电脑(personalcomputer,pc)、笔记本电脑、监控设备、服务器等具备会话共享及处理能力的计算机设备。

所述电子设备100还包括会话共享装置200、存储介质110以及处理器120。本发明较佳实施例中,会话共享200包括至少一个可以软件或固件(firmware)的形式存储于所述存储介质110中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器120用于执行所述存储介质110中存储的可执行软件模块,例如,所述会话共享装置200所包括的软件功能模块及计算机程序等。本实施例中,所述会话共享装置200也可以集成于所述操作系统中,作为所述操作系统的一部分。具体地,所述会话共享装置200包括:

通过统一域名的总服务器,访问目标统一资源定位符url,从总服务器内部代理到与url相对应的应用服务器,其中,总服务器部署多个应用服务器;

应用服务器根据会话设置会话key,并根据会话key查找与会话key相关联的cookie;

应用服务器在没找到的情况下,将会话进行序列化,存入会话存储中,并根据会话key生成与会话key相关联的cookie;

应用服务器在找到的情况下,按照cookie在会话存储中获取序列化会话。

可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。

综上所述,本发明实施例提供了会话共享方法、装置、电子设备及可读存储介质,包括通过统一域名的总服务器,访问目标统一资源定位符url,从总服务器内部代理到与url相对应的应用服务器,其中,总服务器部署多个应用服务器;应用服务器根据会话设置会话key,并根据会话key查找与会话key相关联的cookie;应用服务器在没找到的情况下,将会话进行序列化,存入会话存储中,并根据会话key生成与会话key相关联的cookie;应用服务器在找到的情况下,按照cookie在会话存储中获取序列化会话,通过本申请不同应用服务器和不同语言部署的web应用之间都可实现会话共享,极大程度地节约研发成本和时间。

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

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

需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

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