CN115190159A - 会话控制方法、装置、电子设备及介质 - Google Patents
会话控制方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115190159A CN115190159A CN202210807472.2A CN202210807472A CN115190159A CN 115190159 A CN115190159 A CN 115190159A CN 202210807472 A CN202210807472 A CN 202210807472A CN 115190159 A CN115190159 A CN 115190159A
- Authority
- CN
- China
- Prior art keywords
- session
- user
- login
- control method
- present disclosure
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 238000013507 mapping Methods 0.000 claims description 55
- 230000015654 memory Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000026676 system process Effects 0.000 description 4
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供一种会话控制方法,涉及分布式会话管理技术领域,可应用金融科技领域,方法包括:接收用户发送的会话请求;提取所述会话请求中所述用户对应的第一会话ID;响应于所述第一会话ID与第二会话ID相同,对所述会话请求进行处理,响应于所述第一会话ID与第二会话ID不同,关闭所述第一会话ID对应的会话,其中,所述第二会话ID为所述用户最近一次登录创建的会话ID。本公开还提供一种会话控制装置、电子设备、计算机可读存储介质及计算机程序产品。
Description
技术领域
本公开涉及分布式会话管理技术领域,可应用金融科技领域,具体涉及一种会话控制方法、装置、电子设备及介质。
背景技术
现有技术的分布式会话管理中,用于登录时需要从缓存中获得当前用户与上次创建的会话的映射关系,若存在映射关系,则更新新的用户与会话的映射关系并查询分布式会话管理列表获得上次的会话对象,将上次创建的会话对象进行关闭,同时,在退出登录时,也清除用户与本次登录会话的映射关系缓存。然而,该会话管理方式在关闭其他地方创建的会话时需要依赖分布式会话管理框架是否可提供获取和处理非当前会话的方法,若使用的分布式会话管理框架不提供此方法,则无法关闭在其他地方创建的会话。并且,该会话管理方式登录与退出登录时会进行额外的会话查询与关闭的逻辑处理,导致会话管理的效率较低。
公开内容
有鉴于此,本公开一方面提供一种会话控制方法,包括:接收用户发送的会话请求;提取所述会话请求中所述用户对应的第一会话ID;响应于所述第一会话ID与第二会话ID相同,对所述会话请求进行处理,其中,所述第二会话ID为所述用户最近一次登录创建的会话ID。
根据本公开实施例,所述会话控制方法还包括:响应于所述用户登录,创建与当前登录对应的第三会话ID并存储所述用户对应的用户ID与所述第三会话ID之间的映射关系;响应于所述用户再次登录,创建与所述再次登录对应的第四会话ID并采用所述第四会话ID更新所述第三会话ID以更新所述映射关系。
根据本公开实施例,所述会话控制方法还包括:响应于所述第一会话ID与第二会话ID不同,关闭所述第一会话ID对应的会话。
根据本公开实施例,其中,所述存储所述用户对应的用户ID与所述第三会话ID之间的映射关系包括:采用键值对的形式存储所述用户ID与所述第三会话ID之间的映射关系。
根据本公开实施例,其中,所述采用键值对的形式存储所述用户ID与所述第三会话ID之间的映射关系包括:以所述用户ID为键,所述第三会话ID为值的键值对存储所述映射关系。
根据本公开实施例,其中,采用分布式缓存存储所述映射关系。
根据本公开实施例,其中,所述会话控制方法还包括:响应于所述第一会话ID与第二会话ID不同,拦截所述会话请求并向所述用户发送会话请求响应失败的消息。
本公开另一方面提供一种会话控制装置,包括:接收模块,用于接收用户发送的会话请求;提取模块,用于提取所述会话请求中所述用户对应的第一会话ID;第一响应模块,用于响应于所述第一会话ID与第二会话ID相同,对所述会话请求进行处理,其中,所述第二会话ID为所述用户最近一次登录创建的会话ID。
根据本公开实施例,所述会话控制装置还包括:创建模块,用于响应于所述用户登录,创建与当前登录对应的第三会话ID并存储所述用户对应的用户ID与所述第三会话ID之间的映射关系;更新模块,用于响应于所述用户再次登录,创建与所述再次登录对应的第四会话ID并采用所述第四会话ID更新所述第三会话ID以更新所述映射关系。
根据本公开实施例,所述会话控制装置还包括:第二响应模块,用于响应于所述第一会话ID与第二会话ID不同,关闭所述第一会话ID对应的会话。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
图1示意性示出了根据本公开实施例的会话控制方法及***的***架构100;
图2示意性示出了根据本公开一实施例的会话控制方法的流程图;
图3示意性示出了根据本公开另一实施例的会话控制方法的流程图;
图4示意性示出了根据本公开又一实施例的会话控制方法的流程图;
图5示意性示出了根据本公开实施例的会话控制方法的一应用场景图;
图6示意性示出了根据本公开实施例的会话控制装置的框图;
图7示意性示出了根据本公开另一实施例的会话控制装置的框图;
图8示意性示出了根据本公开又一实施例的会话控制装置的框图;
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
针对相关技术中存在的技术问题,本公开实施例提供了会话控制方法,包括:接收用户发送的会话请求。提取会话请求中所述用户对应的第一会话ID。响应于第一会话ID与第二会话ID相同,对会话请求进行处理,其中,第二会话ID为用户最近一次登录创建的会话ID。
图1示意性示出了根据本公开实施例的会话控制方法及***的***架构100。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括客户端101,网络102和服务器103。网络102用于客户端101与服务器103之间提供通信链路。
客户端101例如可以包括但不限于智能手机、平板电脑、台式PC、膝上型PC、上网本计算机、工作站、服务器、游戏机等,客户端101可用于访问用户登录身份信息及发送会话请求。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。其中有线方式例如可以是采用线缆及以下多种接口中的任一种连接:光纤通道、红外线接口、D型数据接口、串行接口、USB接口、USB Type-C接口或Dock接口,无线方式例如可以是采用无线通信方式连接的,其中的无线通信例如可采用蓝牙、Wi-Fi、Infrared、ZigBee等多个无线技术标准中的任一个。服务器103用于通过网络102获取访问用户通过客户端101登录后发送的会话请求,提取会话请求中用户对应的会话ID,并在该会话ID与用户最近一次登录的会话ID相同情况下,将该会话确定为有效会话,并对会话请求进行响应。
需要说明的是,本公开实施例所提供的会话控制方法可以由服务器103执行。相应地,本公开实施例所提供的会话控制装置可以设置于服务器103中。或者,本公开实施例所提供的会话控制方法也可以由不同于服务器103且能够与客户端101和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的会话控制装置也可以设置于不同于服务器103且能够与客户端101和/或服务器103通信的服务器或服务器集群中。或者,本公开实施例所提供的会话控制方法也可以部分由服务器103执行,部分由客户端101执行。相应的,本公开实施例所提供的会话控制装置也可以部分设置于服务器103中,部分设置于客户端101中。
应该理解,图1中的客户端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和服务器。
本公开实施例提供的会话控制方法,可以应用于金融科技领域。例如,对于银行而言,业务人员在进行业务办理的过程中,通过登录渠道1登录建立会话1,通过登录渠道2登录建立会话2,此时该业务人员对应两个会话,业务人员既可以通过登录渠道1进行业务操作,也可以通过登录渠道2进行业务操作,而为了保证业务安全,可能只允许通过最近一次登录的会话进行业务操作,也即会话2。此时,采用本公开实施例提供的会话控制方法便能够很好地实现该业务人员同时仅能拥有一个会话可正常处理业务请求。
应当理解是,本公开实施例提供的会话控制方法不仅限于应用于金融科技领域,上述描述只是示例性的,对于例如电子商务领域、物流领域等涉及会话控制的技术领域,都可以应用本公开实施例的会话控制方法。
图2示意性示出了根据本公开一实施例的会话控制方法的流程图。
如图2所示,该会话控制方法例如可以包括操作S201~S203。
在操作S201,接收用户发送的会话请求。
在操作S202,提取会话请求中用户对应的第一会话ID。
在操作S203,响应于第一会话ID与第二会话ID相同,对会话请求进行处理,其中,第二会话ID为用户最近一次登录创建的会话ID。
在本公开实施例中,用户在t1时刻通过登录渠道1进行登录,登录后创建会话1并生成会话1对应的会话ID。间隔一段时间后,用户在其他地方进行了重复登录,例如,用户在t1时刻之后的t2时刻通过登录渠道2进行登录,登录后创建会话2并生成会话2对应的会话ID。此时,用户既可以通过登录渠道1的会话1发送会话请求到***,也可以通过登录渠道2的会话2发送会话请求到***。
为了实现了对于同一用户同时仅有一个会话可正常处理请求的单一登录方案,需要对当前用户发送会话请求对应会话进行校验,以验证当前发送会话请求的会话为有效会话还是无效会话,只有当前发送会话请求的会话为有效会话时***才会处理当前会话发送的会话请求,对于同一个用户,确定有效会话有且只有一个,即用户最近一次登录创建的会话。示例性的,t2时刻通过登录渠道2进行登录创建的会话2为用户最近一次创建的会话,若用户在登录渠道1使用登录渠道1对应的会话1发送会话请求到***,在***进行真正的程序处理之前,会对会话1进行校验。由于当前最近一次登录创建的会话为会话2,而不是会话1,则判断会话1是失效会话,不会对会话1发送的会话请求的进行处理。若用户在登录渠道2使用登录渠道2对应的会话2发送会话请求到***,则判断会话2是有效会话,***处理通过会话2发送的会话请求。
在本公开实施例中,会话校验的具体方式可以为:将用户发送会话请求对应的会话ID与最近一次登录创建的会话对应的会话ID进行匹配,若两者相同,表明当前会话为有效会话,若两者不同,表明当前会话为无效会话。
由此,根据本公开实施例提供的会话控制方法,在***对用户发送的会话请求进行处理之前,预先判断发送该会话请求的会话是否是用户最近一次登录创建的会话,若是则***正常处理会话请求,若否,则***拒绝会话请求,进而实现了对于同一用户同时仅有一个会话可正常处理请求的单一登录方案,解决了分布式***的单一会话控制问题以及更有效保证了剔除上一个登录会话的实时性。
图3示意性示出了根据本公开另一实施例的会话控制方法的流程图。
如图3所示,该会话控制方法除了包括操作S201~S203,例如还可以包括操作S301~操作S302。
在操作S301,响应于用户登录,创建与当前登录对应的第三会话ID并存储用户对应的用户ID与第三会话ID之间的映射关系。
在操作S302,响应于用户再次登录,创建与再次登录对应的第四会话ID并采用第四会话ID更新第三会话ID以更新映射关系。
在实际应用中,一般情况下分布式***对应的会话的用户为多个,并不是只会管理一个用户的会话。为了便于在会话校验过程中快速从存储***中获取不同用户分别对应的会话ID,考虑到每一个用户的用户ID是唯一的,因此在用户登录时生成用于标识当前会话的会话ID,再采用存储用户对应的用户ID与对应会话ID之间的映射关系的方式,在用户通过用户ID登录后,便可以基于该映射关系快速获取与该用户ID对应的会话ID。例如,用户A、B、C、D在某一时刻分别通过各自登录渠道对应的会话发送会话请求至***,此时***需要同时对用户A、B、C、D实现单一登录控制,***便可以根据用户A、B、C、D各自对应的用户ID查询各自最近一次登录创建的会话ID,由于用户ID是唯一的,这样查找会话ID不会出错,如将用户A的会话ID与用户B的会话ID混淆。
在某些应用场景下,由于用户可以通过不同的渠道进行重复登录,为了区分不同渠道或不同时刻的登录,用户每次登录都会生成一个与当前登录对应的唯一会话ID。用户每次重新登录后都会采用当前登录对应的唯一会话ID(第四会话ID)去更新历史存储的该用户上次登录对应的会话ID(第三会话ID),存储***中只存储最近一次登录的会话ID。并且,在用户在此登录后,也只进行用户ID与会话ID映射关系的变更,对当前正在保持会话逻辑不做额外处理。而现有技术中,用户登录时从缓存中获得当前用户与上次创建的会话的映射关系,若存在映射关系,则更新新的用户与会话的映射关系并查询分布式会话管理列表获得上次的会话对象,将上次创建的会话对象进行关闭,也即现有技术存储的映射关系不仅包括上次创建会话对应的映射关系,还包括当前会话对应的映射关系,并且会关闭上次创建的会话。
例如,用户通过渠道1对应的会话1发送了会话请求,而会话1是用户最近一次登录的会话,则此时会话1为有效会话,***会对会话1发送的会话请求进行正常处理,而会话请求处理有时需要时间,不是瞬时完成,假如用户由于某些原因在该时间段内又通过其他渠道进行的登录而又并未发送会话请求时(会话2),当采用本公开实施例提供的会话控制方法,只会采用会话2的会话ID更新用户ID与会话ID的会话关系以更新用户ID与会话ID之间的关系,不会查询会话1的会话ID并依据该会话1的会话ID关闭会话1,而是继续保持对会话1发送的会话请求进行正常请求处理。若采用现有技术,不仅会采用会话2的会话ID更新用户ID与会话ID的映射关系,而且还会查询会话1的会话ID并依据该会话1的会话ID关闭会话1,使得不能对会话1发送的会话请求进行正常请求处理,进而导致相关业务不能正常进行,确保分布式***的性能。
由此,根据本公开实施例提供的会话控制方法,在用户再次登录时,只进行用户id和会话id映射关系变更,不做额外的当前正在保持的会话校验逻辑,确保性能的同时,不影响用户的登录体验,且无需在退出登录时再次剔除缓存中的映射关系,进而提高了分布式会话管理的效率。
在本公开实施例中,可以采用键值对的形式存储用户ID与第三会话ID之间的映射关系。采用键值对的形式存储用户ID与会话ID时间的映射关系是由本公开单一登录控制方法所决定的,具体原因在于:存储***中只存储用户最近一次登录创建的会话对应的会话ID与该用户的用户ID之间的映射关系,即存储***中每一个用户ID与会话ID时一一对应的关系,而键值对正好满足该种对应关系的存储。
其中,采用键值对的形式存储用户ID与所述第三会话ID之间的映射关系可以包括:以用户ID为键,第三会话ID为值的键值对存储映射关系。其原因在于:对于每一的用户而言,其用户ID是不变的,而每次登录创建的会话对应的会话ID在变化,因此,将用户ID可以作为匹配过程中查找会话ID的索引,可以快速基于映射关系查找对应的会话ID。而键值对中键(key)用作元素的索引,值(value)则表示所存储和读取的元素,基于键值对的这种特性,因而选择以用户ID为键,会话ID为值的键值对存储映射关系,而不是以会话ID为键,用户ID为值的键值对存储映射关系。
也就是说,本公开实施例采用以用户ID为键,会话ID为值的键值对存储映射关系有助于更好地实现对于同一用户同时仅有一个会话能够正常处理请求的单一登录方案。
在本公开实施例中,为了更好地解决分布式***的单一会话控制问题,可以采用分布式缓存***缓存用户ID与会话ID之间的映射关系。分布式缓存更加适合分布式***。
图4示意性示出了根据本公开又一实施例的会话控制方法的流程图。
如图4所示,该会话控制方法除了包括操作S201~S203,例如还可以包括操作S401。
在操作S201,接收用户发送的会话请求。
在操作S202,提取会话请求中用户对应的第一会话ID。
在操作S203,响应于第一会话ID与第二会话ID相同,对会话请求进行处理,其中,第二会话ID为用户最近一次登录创建的会话ID。
在操作S401,响应于第一会话ID与第二会话ID不同,关闭第一会话ID对应的会话。
在本公开实施例中,在校验当前会话是否为有效会话过程中,若当前会话的第一会话ID与存储的最近一次的第二会话ID不一样,表明当前会话已失效,此时会直接关闭当前会话。
例如,t2时刻通过登录渠道2进行登录创建的会话2为用户最近一次创建的会话,若用户在登录渠道1使用登录渠道1对应的会话1发送会话请求到***,由于当前最近一次登录创建的会话为会话2,而不是会话1,则判断会话1是失效会话,此时会直接关闭会话1,也即是在会话1中对会话1进行关闭。而现有技术中,当用户t2时刻通过登录渠道2进行登录创建的会话2时,在更新上次会话1对应的映射关系时,会查询分布式会话管理列表获得上次的会话1,将上次创建的会话1进行关闭,也即是在会话2中对会话1进行关闭,而不是在会话1中对会话1进行关闭。也就是说,现有技术在关闭会话的过程中涉及跨会话处理。
由此,根据本公开实施例提供的会话控制方法,由于是在当前会话中进行会话关闭,不涉及跨会话处理,因此不会出现依赖分布式会话管理框架提供的跨会话处理方法,避免了对***所用框架本身的分布式会话管理方式的依赖。
在本公开实施例中,响应于第一会话ID与第二会话ID不同,将当前会话确定为失效会话时,会同时拦截会话请求并向用户发送会话请求响应失败的消息,及时反馈会话处理结果给用户,以便用户能够快速做出应对措施,以保证相关业务的正常进行,提升用户的体验。
例如,假设某一用户A通过多个渠道登录分别创建多个会话,但是其也并不清楚或没有注意最近一次登录采用的是哪一个渠道,随机选择了一个渠道对应的会话发送会话请求进行相关业务的处理,若恰好选择的登录渠道是最近一次登录的渠道,则相关业务处理能够及时正常进行。若选择的登录渠道不是最近一次登录的渠道,此时***不会处理正常的会话请求,如果不给予用户响应失败的反馈信息,可能会导致用户会认为是其他原因(例如网速等)导致会话请求未完成,会继续等待,这无疑会降低业务处理的效率,如果此时及时给予用户响应失败的反馈信息,用户在收到响应失败的反馈信息后可以即使切换至其他渠道进行业务处理,提高业务处理效率的同时提升了用户的登录体验。
为了帮助更清楚的理解上述会话控制方法,下面提供一个具体的应用场景图
图5示意性示出了根据本公开实施例的会话控制方法的一应用场景图。
如图5所示,该应用场景的整体流程为:
用户ID为A的用户在渠道1登录时,创建会话ID为1,并将以A为键,1为值的键值对的映射关系(A->1)存储在分布式缓存。用户ID为A的用户在渠道2登录时,创建会话ID为2,并利用以A为键,2为值的键值对的映射关系(A->2)更新以A为键,1为值的键值的映射关系。
用户ID为A的用户发起会话请求,从分布式缓存中获取用户ID为A的用户当前存储的映射关系为A->2,检测当前的会话ID是否为2。若用户ID为A的用户是通过渠道1的发起会话请求,则当前会话ID为1,与缓存的会话ID(2)不一样,则关闭会话ID为1的会话,并返回响应失败的消息至渠道1。若用户ID为A的用户是通过渠道2的发起会话请求,则当前会话ID为2,与缓存的会话ID(2)一样,则将会话请求发送至业务服务处理层正常进行请求处理,并返回响应正常的消息至渠道2。
综上所述,本公开实施例提供的会话控制方法,实现了同一用户同时仅有一个会话可以正常处理请求的单一登录方案,解决了分布式***的单一会话控制问题以及更有效的保证了剔除上一个登录会话的实时性。用户登录时只进行用户ID和会话ID映射关系的变更,不做额外的当前保持的会话校验逻辑,确保性能的同时,对用户登录的体验无影响,且无需再推出登录时再次提出缓存中的映射关系。此外。由于是在当前会话中进行会话关闭,避免了对***所用框架本身的分布式会话管理方式的依赖。
图6示意性示出了根据本公开实施例的会话控制装置的框图。
如图6所示,会话控制装置600可以包括接收模块610、提取模块620、及响应模块630。
接收模块610,用于接收用户发送的会话请求。
提取模块620,用于提取会话请求中用户对应的第一会话ID。
第一响应模块630,用于响应于第一会话ID与第二会话ID相同,对会话请求进行处理,其中,第二会话ID为用户最近一次登录创建的会话ID。
图7示意性示出了根据本公开另一实施例的会话控制装置的框图。
如图7所示,该会话控制装置600例如还可以包括创建模块640以及更新模块650。
创建模块640,用于响应于用户登录,创建与当前登录对应的第三会话ID并存储用户对应的用户ID与第三会话ID之间的映射关系。
更新模块650,用于响应于用户再次登录,创建与再次登录对应的第四会话ID并采用第四会话ID更新所述第三会话ID以更新映射关系。
其中,采用键值对的形式存储用户ID与所述第三会话ID之间的映射关系。具体的,可以以用户ID为键,第三会话ID为值的键值对存储映射关系。
图8示意性示出了根据本公开又一实施例的会话控制装置的框图。
如图8所示,该会话控制装置600例如还可以包括第二响应模块660。
第二响应模块660,用于响应于第一会话ID与第二会话ID不同,关闭第一会话ID对应的会话。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接收模块610、提取模块620、第一响应模块630创建模块640、更新模块650以及第二响应模块660中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,接收模块610、提取模块620、第一响应模块630创建模块640、更新模块650以及第二响应模块660中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块610、提取模块620、第一响应模块630创建模块640、更新模块650以及第二响应模块660中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中会话控制装置部分与本公开的实施例中会话控制方法部分是相对应的,其具体实施细节及带来的技术效果也是相同的,在此不再赘述。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
Claims (12)
1.一种会话控制方法,包括:
接收用户发送的会话请求;
提取所述会话请求中所述用户对应的第一会话ID;
响应于所述第一会话ID与第二会话ID相同,对所述会话请求进行处理,其中,所述第二会话ID为所述用户最近一次登录创建的会话ID。
2.根据权利要求1所述的会话控制方法,所述会话控制方法还包括:
响应于所述用户登录,创建与当前登录对应的第三会话ID并存储所述用户对应的用户ID与所述第三会话ID之间的映射关系;
响应于所述用户再次登录,创建与所述再次登录对应的第四会话ID并采用所述第四会话ID更新所述第三会话ID以更新所述映射关系。
3.根据权利要求1所述的会话控制方法,所述会话控制方法还包括:
响应于所述第一会话ID与第二会话ID不同,关闭所述第一会话ID对应的会话。
4.根据权利要求2所述的会话控制方法,其中,所述存储所述用户对应的用户ID与所述第三会话ID之间的映射关系包括:
采用键值对的形式存储所述用户ID与所述第三会话ID之间的映射关系。
5.根据权利要求4所述的会话控制方法,其中,所述采用键值对的形式存储所述用户ID与所述第三会话ID之间的映射关系包括:
以所述用户ID为键,所述第三会话ID为值的键值对存储所述映射关系。
6.根据权利要求2或4-5任一项所述的会话控制方法,其中,采用分布式缓存存储所述映射关系。
7.根据权利要求3所述的会话控制方法,其中,所述会话控制方法还包括:
响应于所述第一会话ID与第二会话ID不同,拦截所述会话请求并向所述用户发送会话请求响应失败的消息。
8.一种会话控制装置,包括:
接收模块,用于接收用户发送的会话请求;
提取模块,用于提取所述会话请求中所述用户对应的第一会话ID;
第一响应模块,用于响应于所述第一会话ID与第二会话ID相同,对所述会话请求进行处理,其中,所述第二会话ID为所述用户最近一次登录创建的会话ID。
9.根据权利要求8所述的会话控制装置,所述会话控制装置还包括:
创建模块,用于响应于所述用户登录,创建与当前登录对应的第三会话ID并存储所述用户对应的用户ID与所述第三会话ID之间的映射关系;
更新模块,用于响应于所述用户再次登录,创建与所述再次登录对应的第四会话ID并采用所述第四会话ID更新所述第三会话ID以更新所述映射关系。
10.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210807472.2A CN115190159A (zh) | 2022-07-08 | 2022-07-08 | 会话控制方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210807472.2A CN115190159A (zh) | 2022-07-08 | 2022-07-08 | 会话控制方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115190159A true CN115190159A (zh) | 2022-10-14 |
Family
ID=83516524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210807472.2A Pending CN115190159A (zh) | 2022-07-08 | 2022-07-08 | 会话控制方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190159A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106973062A (zh) * | 2017-04-27 | 2017-07-21 | 努比亚技术有限公司 | 一种会话管理方法以及服务器 |
CN111464534A (zh) * | 2020-03-31 | 2020-07-28 | 深圳市思迪信息技术股份有限公司 | 分布式***中会话保持方法及装置 |
CN111818179A (zh) * | 2020-08-07 | 2020-10-23 | 中国工商银行股份有限公司 | 用户请求的处理方法、装置、计算设备和介质 |
CN111901403A (zh) * | 2020-07-15 | 2020-11-06 | 中国工商银行股份有限公司 | 会话管理方法和装置、电子设备、及介质 |
-
2022
- 2022-07-08 CN CN202210807472.2A patent/CN115190159A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106973062A (zh) * | 2017-04-27 | 2017-07-21 | 努比亚技术有限公司 | 一种会话管理方法以及服务器 |
CN111464534A (zh) * | 2020-03-31 | 2020-07-28 | 深圳市思迪信息技术股份有限公司 | 分布式***中会话保持方法及装置 |
CN111901403A (zh) * | 2020-07-15 | 2020-11-06 | 中国工商银行股份有限公司 | 会话管理方法和装置、电子设备、及介质 |
CN111818179A (zh) * | 2020-08-07 | 2020-10-23 | 中国工商银行股份有限公司 | 用户请求的处理方法、装置、计算设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019493B (zh) | 身份认证方法、身份认证装置、计算机设备和介质 | |
US9805202B2 (en) | Automated SDK ingestion | |
CN111936974A (zh) | 将现有虚拟计算资源采纳到用于管理操作的逻辑容器中 | |
EP3610623B1 (en) | Protocol-level identity mapping | |
US11762979B2 (en) | Management of login information affected by a data breach | |
US11063923B2 (en) | Authenticator plugin interface | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
US11632247B2 (en) | User security token invalidation | |
IL228003A (en) | Application system and method | |
US11310034B2 (en) | Systems and methods for securing offline data | |
CN112651011A (zh) | 运维***登录验证方法、装置、设备以及计算机存储介质 | |
US11343357B2 (en) | Systems and methods for autonomous program detection | |
CN113132400B (zh) | 业务处理方法、装置、计算机***及存储介质 | |
CN113572763A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111597537A (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN113709136B (zh) | 一种访问请求验证方法和装置 | |
CN115190159A (zh) | 会话控制方法、装置、电子设备及介质 | |
CN113190812A (zh) | 一种登录方法、***、电子设备及存储介质 | |
CN114513465A (zh) | 负载均衡方法、负载均衡装置、电子设备和存储介质 | |
US11838328B1 (en) | Preventing data exfiltration to unsanctioned cloud computing services (CCS) accounts using CCS application programming interfaces | |
US11445003B1 (en) | Systems and methods for autonomous program detection | |
CN114584556B (zh) | 文件传输方法和装置 | |
CN111885006B (zh) | 页面访问、授权访问方法和装置 | |
US20230214825A1 (en) | Systems and methods for perfoming secure transactions | |
US20230088489A1 (en) | Secure remote support of systems deployed in a private network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |