会话控制对象的同步方法、装置和服务器与流程

文档序号:21406722发布日期:2020-07-07 14:40阅读:208来源:国知局
会话控制对象的同步方法、装置和服务器与流程

本发明涉及互联网技术领域,特别涉及一种会话控制对象的同步方法、装置和服务器。



背景技术:

应用集群由多个网络应用构成,每个网络应用分别向用户提供对应的界面供用户访问。用户从一个网络应用的界面切换至另一个网络应用的界面时,新的网络应用往往需要用户访问原网络应用时的行为数据。例如,从商品选择界面切换到支付界面时,支付服务需要用户选购商品的商品信息,用户选购商品的商品信息就是一种访问商品选购服务时产生的行为数据。

现有解决办法是,在网络服务器中为用户创建对应的会话控制对象,用于存储该用户的行为数据。用户访问新的网络应用时,应用集群从网络服务器获取用户的会话控制对象并提取行为数据。

现有技术的问题在于,应用集群会连接多种网络服务器,不同的网络服务器的会话控制机制一般不同,对应的,应用集群需要实现多种会话控制机制才能从各个网络服务器的会话控制对象中提取出行为数据,导致应用集群消耗的系统资源较多。



技术实现要素:

基于上述现有技术的缺点,本申请提供一种会话控制对象的同步方法、装置和服务器,以减少应用集群的消耗的系统资源。

本申请第一方面提供一种会话控制对象的同步方法,应用于第一网络应用,所述第一网络应用指代应用集群中的任意一个网络应用,所述同步方法包括:

接收客户端发送的应用访问请求;

判断所述应用集群是否存储当前用户的会话控制对象;其中,所述当前用户指代当前使用所述客户端的用户;

若所述应用集群存储所述当前用户的会话控制对象,读取所述当前用户的会话控制对象中记录的用户行为数据;

若所述应用集群未存储所述当前用户的会话控制对象,则创建并通过所述应用集群的会话控制服务存储所述当前用户的会话控制对象。

可选的,所述判断所述应用集群中是否存储有当前用户的会话控制对象,包括:

判断所述应用集群是否开启会话控制服务;

若所述应用集群未开启会话控制服务,则确定所述应用集群中未存储当前用户的会话控制对象;

若所述应用集群已开启会话控制服务,在所述会话控制服务中查找所述当前用户的对象存储记录;

若查找出所述当前用户的对象存储记录,则确定所述应用集群存储所述当前用户的会话控制对象;

若未查找出所述当前用户的对象存储记录,则确定所述应用集群未存储所述当前用户的会话控制对象。

可选的,所述若所述应用集群未存储所述当前用户的会话控制对象,则创建并通过所述应用集群的会话控制服务存储所述当前用户的会话控制对象之前,还包括:

若所述应用集群未开启所述会话控制服务,所述第一网络应用开启所述会话控制服务。

可选的,所述判断所述应用集群是否开启会话控制服务,包括:

判断应用集群的配置端口是否开启;其中,所述配置端口是预先指定的由所述会话控制服务使用的通信端口;

若所述配置端口未开启,则确定所述应用集群未开启会话控制服务;

若所述配置端口开启,验证占用所述配置端口的服务是否为所述会话控制服务;

若占用所述配置端口的服务是所述会话控制服务,则确定所述应用集群已开启所述会话控制服务;

若占用所述配置端口的服务不是所述会话控制服务,则确定所述应用集群未开启所述会话控制服务。

可选的,所述应用访问请求携带有当前用户的用户标识;

其中,所述读取所述当前用户的会话控制对象中记录的用户行为数据,包括:

利用所述当前用户的用户标识从所述应用集群存储的多个会话控制对象中查找得到所述当前用户的会话控制对象的存储地址;

从所述当前用户的会话控制对象的存储地址读取所述当前用户的会话控制对象中记录的用户行为数据。

本发明第二方面提供一种会话控制对象的同步装置,应用于第一网络应用,所述第一网络应用指代应用集群中的任意一个网络应用,所述同步装置包括:

接收单元,用于接收客户端发送的应用访问请求;

判断单元,用于判断所述应用集群是否存储当前用户的会话控制对象;其中,所述当前用户指代当前使用所述客户端的用户;

读取单元,用于若所述应用集群存储所述当前用户的会话控制对象,读取所述当前用户的会话控制对象中记录的用户行为数据;

创建单元,用于若所述应用集群未存储所述当前用户的会话控制对象,则创建并通过所述应用集群的会话控制服务存储所述当前用户的会话控制对象。

可选的,所述判断单元判断所述应用集群中是否存储有当前用户的会话控制对象时,具体用于

判断所述应用集群是否开启会话控制服务;

若所述应用集群未开启会话控制服务,则确定所述应用集群中未存储当前用户的会话控制对象;

若所述应用集群已开启会话控制服务,在所述会话控制服务中查找所述当前用户的对象存储记录;

若查找出所述当前用户的对象存储记录,则确定所述应用集群存储所述当前用户的会话控制对象;

若未查找出所述当前用户的对象存储记录,则确定所述应用集群未存储所述当前用户的会话控制对象。

可选的,还包括:

服务开启单元,若所述应用集群未开启所述会话控制服务,用于开启所述会话控制服务,并通过所述会话控制服务存储从客户端获取的所述当前用户的会话控制对象。

可选的,所述判断单元判断所述应用集群是否开启会话控制服务时,具体用于:

判断所述应用集群的配置端口是否开启;其中,所述配置端口是预先指定的由所述会话控制服务使用的通信端口;

若所述配置端口未开启,则确定所述应用集群未开启会话控制服务;

若所述配置端口开启,验证占用所述配置端口的服务是否为所述会话控制服务;

若占用所述配置端口的服务是所述会话控制服务,则确定所述应用集群已开启所述会话控制服务;

若占用所述配置端口的服务不是所述会话控制服务,则确定所述应用集群未开启所述会话控制服务。

本发明第三方面提供一种服务器,其特征在于,所述服务器是应用集群中的任意一个网络应用,所述服务器包括:

存储器,用于存储程序;

处理器,用于执行所述程序,所述程序被执行时,具体用于实现本发明第一方面任意一项提供的会话控制对象的同步方法。

本申请提供一种会话控制对象的同步方法、装置和服务器,应用于第一网络应用,第一网络应用指代应用集群中的任意一个网络应用,同步方法包括:接收客户端发送的应用访问请求;判断应用集群是否存储当前用户的会话控制对象;若应用集群存储当前用户的会话控制对象,读取当前用户的会话控制对象中记录的用户行为数据,若未存储当前用户的会话控制对象,则创建并通过应用集群的会话控制服务存储当前用户的会话控制对象。本方案中,用户的会话控制对象存储在应用集群中,因此,应用集群只需要实现一种会话控制机制就可以提取会话控制对象存储行为数据,从而减少应用集群消耗的系统资源。

附图说明

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

图1为本申请实施例提供的一种会话控制对象的同步方法;

图2为本申请实施例提供的一种判断会话控制服务是否开启的方法;

图3为本申请实施例提供的一种会话控制对象的同步装置;

图4为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

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

首先,为了方便理解本申请提供的方法,下面对本申请所涉及的一些术语进行介绍。

会话控制对象,是计算机中的一种自定义的数据结构,也可以成为session对象。在本申请提供的方法中,应用集群会为每个用户的每一次会话创建一个会话控制对象,这个会话控制对象用于存储会话期间,该用户使用各个网络应用时产生的一些行为数据,在本次会话结束后则删除这个会话控制对象。

企业的电子办公系统就相当于一个应用集群,员工打开并登录电子办公系统后,就相当于在电子办公系统建立了一次该员工的会话,这次会话会持续到员工退出电子办公系统为止,在这期间员工对在电子办公系统所提供的各个网络应用中进行操作时,一部分行为数据将存储于与这一次会话对应的会话控制对象中。

会话控制对象存储的行为数据,主要是用于在用户在不同的网络应用之间切换时维持用户状态。仍以电子办公系统为例,员工输入账号和密码进行登录后,身份验证应用会确认该账号目前的登录状态为已登录,并将其作为一条行为数据记录在会话控制对象中,当员工开始访问电子办公系统的其他网络应用时,其他网络应用就可以通过查找对应的会话控制对象,从而确定该账号已登录。

另一方面,用户访问各个网络应用时会进行一些偏好设置,例如,设置界面的字体,字号等,为了确保在一次会话期间用户的这些偏好设置对所有网络应用生效,可以将这些偏好设置作为行为数据记录在对应的会话控制对象中,用户在各个网络应用之间切换时,网络应用就可以从会话控制对象中获取这些偏好设置,并进行适应性的调整。

本申请实施例提供一种会话控制对象的同步方法,请参考图1,该方法包括以下步骤:

首先需要说明的是,本实施例提供的方法适用于应用集群中的任意一个网络应用,下面以应用集群中的某一个网络应用为例说明本实施例提供的方法的执行过程,为了方便说明,将执行下述方法的网络应用记为第一网络应用。

s101、接收客户端发送的应用访问请求。

应用访问请求由客户端根据用户的操作生成,并向请求访问的网络应用发送。例如,网络购物平台就可以认为是一个应用集群,其中包括支付和商品选择两个网络应用,用户在商品选择这一应用中选择商品并点击确认后,客户端就会生成访问支付应用的应用访问请求,并向支付应用发送,从而实现支付服务。

因此,步骤s101中的应用访问请求,是客户端根据当前用户的操作生成的,请求访问所述第一网络应用的应用访问请求。

可以理解的,为了向请求访问的应用表明请求访问的用户的身份,应用访问请求还会携带有当前用户的用户标识。

当前用户指代当前使用上述客户端的用户。

s102、判断应用集群是否存储当前用户的会话控制对象。

步骤s102的具体执行过程包括:

判断应用集群是否开启会话控制服务;

若应用集群未开启会话控制服务,则确定应用集群中未存储当前用户的会话控制对象;

若应用集群已开启会话控制服务,在所述会话控制服务中查找当前用户的对象存储记录;

若查找出当前用户的对象存储记录,则确定应用集群存储当前用户的会话控制对象;

若未查找出当前用户的对象存储记录,则确定应用集群未存储当前用户的会话控制对象。

会话控制服务,也可以称为sessionserver,是一种用于管理应用集群中的各个会话控制对象的虚拟服务。本实施例中,应用集群对会话控制对象的存储和读取均需要通过会话控制服务进行。

具体的,应用集群每建立一个新的会话控制对象,会将这个会话控制对象存储在用于运行应用集群的服务器组(可以记为应用服务器组)上,同时,在会话控制服务中添加对应的对象存储记录,对象存储记录用于指示新建的这个会话控制对象对应于哪个用户,以及这个会话控制对象在应用服务器组中的存储地址。对应的,应用集群中的任意网络应用需要对当前应用集群中的会话控制对象进行读写时,均需要通过会话控制服务查找会话控制对象。

需要说明的是,会话控制服务只有在应用集群启动后才会由应用集群的任意一个网络应用启动,每次应用集群关闭后,会话控制服务也会关闭,运行期间的所有会话控制对象也会清空,在应用集群再次启动后,才会由需要创建并存储会话控制对象的网络应用再次启动会话控制服务。

结合上述说明,可以理解的,若应用集群当前未开启会话控制服务,显然应用集群当前未存储任何一个会话控制对象,因此,判断出应用集群未开启会话控制服务后,可以直接确定应用集群中未存储当前用户的会话控制对象。

判断出应用集群已开启会话控制服务之后,有可能第一网络应用是当前用户和应用集群建立本次会话后访问的第一个网络应用,如前文所述,会话控制对象是用于记录用户与应用集群会话期间的行为数据的,在上述情况下用户尚未产生行为数据,对应的也不会有会话控制对象,因此,需要进一步在会话控制服务中查找是否有当前用户对应的会话控制对象的对象存储记录,若有对象存储记录,就说明该用户的会话控制对象已存在,反之,若没有对象存储记录,就说明没有应用集群中没有当前用户的会话控制对象。

若应用集群内未存储当前用户的会话控制对象,执行步骤s103。

若应用集群内存储当前用户的会话控制对象,执行步骤s104。

s103、创建并存储当前用户的会话控制对象。

具体的,若应用集群已经开启会话控制服务,那么创建当前用户的会话控制对象后,直接利用会话控制服务存储上述会话控制对象即可。

若应用集群此时未开启会话控制服务,则需要利用预设的会话控制服务的配置信息启动会话控制服务,然后再创建当前用户的会话控制对象,并利用会话控制服务存储当前用户的会话控制对象。

一种可选的会话控制服务的配置信息如下:

<sessioncache><desc="分布式缓存",ip="127.0.0.1",port="7777",ipdesc="……"></sessioncache>

其中,<sessioncache>和</sessioncache>是配置信息标记,用于说明上述信息是会话控制服务的配置信息,desc用于说明应用集群中存储会话控制对象的方式,上述例子中存储方式是分布式存储,ip是会话控制服务启动后为其分配的虚拟ip地址,port是分配给会话控制服务使用的通信端口的端口编号,会话控制服务启动后,网络应用通过上述127.0.0.1的ip以及7777的端口就可以访问会话控制服务,进而查找其中的对象存储记录。ipdesc包括分配用于存储会话控制对象的应用服务器的ip地址,可以有多个或者一个,此处不做限定。

s104、通过会话控制服务读取当前用户的会话控制对象中的行为数据。

读取的行为数据用于在当前用户访问第一网络应用期间控制第一网络应用对当前用户的响应。

步骤s104的具体执行过程包括:

利用当前用户的用户从应用集群存储的多个会话控制对象中查找得到当前用户的会话控制对象的存储地址;

从当前用户的会话控制对象的存储地址读取当前用户的会话控制对象中记录的用户行为数据。

可选的,本实施例还包括:

s105、记录当前用户访问第一网络应用时的行为数据,并将行为数据更新至当前用户的会话控制对象。

步骤s103和步骤s104执行之后,均可以执行步骤s105。

本实施例提供一种会话控制对象的同步方法,应用于第一网络应用,第一网络应用指代应用集群中的任意一个网络应用,同步方法包括:接收客户端发送的应用访问请求;判断应用集群是否存储当前用户的会话控制对象;若应用集群存储当前用户的会话控制对象,读取当前用户的会话控制对象中记录的用户行为数据,若应用集群中未存储当前用户的会话控制对象,则创建并通过会话控制服务存储当前用户的会话控制对象。本方案中,用户的会话控制对象存储在应用集群中,因此,应用集群只需要实现一种会话控制机制就可以提取会话控制对象存储行为数据,从而减少应用集群消耗的系统资源。

下面介绍一种判断应用集群是否开启会话控制服务的方法,请参考图2,该方法包括:

s201、判断预设的配置端口是否开启。

其中,配置端口是预先指定的用于与会话控制服务建立通信连接的端口,以前述实施例中的配置信息为例,编号为“7777”的端口就是上述配置端口。

若配置端口未开启,则执行步骤s202,若配置端口开启,则执行步骤s203。

s202、确定应用集群未开启会话控制服务。

s203、验证占用配置端口的服务是否为会话控制服务。

若占用配置端口的服务是会话控制服务,执行步骤s204,若占用配置端口的服务不是会话控制服务,执行步骤s202。

具体的,在确定配置端口开启后,可以向配置端口发送一个验证指令,并接收从配置端口反馈的响应信息,根据响应信息判断当前占用配置端口的服务是否为会话控制服务。

s204、确定应用集群已开启会话控制服务。

最后,结合一个具体的应用场景说明本申请提供的会话控制对象的同步方法的实现过程。

仍以电子办公系统为例。电子办公系统可以包括登录,待办业务提示,内部通信,线上考勤等多种网络应用,用户打开电子办公系统后将首先访问登录应用,由登录应用验证用户的账号和密码,验证通过后将用户的登录状态设置为已登录,在用户访问登录应用后,登录应用会首先在应用集群,也就是整个电子办公系统中查找是否有该用户的会话控制对象,假设此时会话控制服务已开启,由于该用户刚与电子办公系统建立会话,因此登录应用通过会话控制服务查找发现没有该用户的会话控制对象,于是登录应用创建该用户的会话控制对象并通过会话控制服务存储,并且在用户的身份校验通过后,在该用户的会话控制对象中记录该用户的登录状态为已登录。

用户登录后跳转至待办业务提示应用,待办业务提示应用通过会话控制服务查找到由登录应用创建的会话控制对象,通过读取其中记录的登录状态确定该用户已登录,于是向该用户的客户端推送该用户的待办业务,此时用户可以设置字体、字号和应用背景等属性的属性值,例如将字号设置为4号,用户完成设置后,待办业务提示应用会将这些设置通过会话控制服务更新至该用户的会话控制对象。

当用户从待办业务提示应用跳转至其他应用,如内部通信应用时,内部通信应用通过查找读取该用户的会话控制对象,可以确定该用户已登录,并且将自身的字体、字号和应用背景灯属性调整为该用户在访问待办业务提示应用时设置的属性值,例如,将默认的5号字设置为会话控制对象中记录的4号字。

结合上述实施例提供的方法,本申请实施例还提供一种会话控制对象的同步装置,请参考图3,该装置可以认为是应用集群中的第一网络应用,本实施例中,第一网络应用指代应用集群中的任意一个网络应用,本实施例提供的装置包括:

接收单元301,用于接收客户端发送的应用访问请求。

判断单元302,用于判断应用集群是否存储当前用户的会话控制对象。

其中,当前用户指代当前使用客户端的用户。

读取单元303,用于若应用集群存储当前用户的会话控制对象,读取当前用户的会话控制对象中记录的用户行为数据。

创建单元304,用于若应用集群未存储当前用户的会话控制对象,创建并通过应用集群的会话控制服务存储当前用户的会话控制对象。

读取单元303从会话控制对象读取当前用户的行为数据时,具体用于:

利用当前用户的用户从应用集群存储的多个会话控制对象中查找得到当前用户的会话控制对象的存储地址;

从当前用户的会话控制对象的存储地址读取当前用户的会话控制对象中记录的用户行为数据。

判断单元302判断应用集群中是否存储有当前用户的会话控制对象时,具体用于:

判断应用集群是否开启会话控制服务;

若应用集群未开启会话控制服务,则确定应用集群中未存储当前用户的会话控制对象;

若应用集群已开启会话控制服务,在会话控制服务中查找当前用户的对象存储记录;

若查找出当前用户的对象存储记录,则确定应用集群存储当前用户的会话控制对象;

若未查找出当前用户的对象存储记录,则确定应用集群未存储当前用户的会话控制对象。

可选的,本实施例提供的装置还包括:

服务开启单元305,若应用集群未开启会话控制服务,用于开启会话控制服务,并通过会话控制服务存储从客户端获取的当前用户的会话控制对象。

判断单元302判断应用集群是否开启会话控制服务时,具体用于:

判断应用集群的配置端口是否开启;其中,配置端口是预先指定的由会话控制服务使用的通信端口;

若配置端口未开启,则确定应用集群未开启会话控制服务;

若配置端口开启,验证占用配置端口的服务是否为会话控制服务;

若占用配置端口的服务是会话控制服务,则确定应用集群已开启会话控制服务;

若占用配置端口的服务不是会话控制服务,则确定应用集群未开启会话控制服务。

可选的,所述同步装置还包括:

更新单元306,用于将当前用户访问第一网络时的行为数据更新至当前用户的会话控制对象。

本申请实施例提供的会话控制对象的同步装置,其具体工作原理可以参考前述实施例提供的同步方法,此处不再赘述。

本申请提供一种会话控制对象的同步装置,应用于第一网络应用,第一网络应用指代应用集群中的任意一个网络应用,包括:接收单元301接收客户端发送的应用访问请求;判断单元302判断应用集群是否存储当前用户的会话控制对象;若应用集群存储当前用户的会话控制对象,读取单元303读取当前用户的会话控制对象中记录的用户行为数据,若应用集群未存储当前用户的会话对象,则创建单元304创建并通过会话控制服务存储当前用户的会话控制对象。本方案中,用户的会话控制对象存储在应用集群中,因此,应用集群只需要实现一种会话控制机制就可以提取会话控制对象存储行为数据,从而减少应用集群消耗的系统资源。

本申请实施例还提供一种服务器,请参考图4,包括存储器401和处理器402,该服务器可以认为是用于运行应用集群的应用服务器组中的任意一个服务器。

其中,存储器401用于存储程序,处理器402用于执行程序,该程序被执行时,具体用于实现本申请任一实施例提供的会话控制对象同步方法。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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