一种无状态系统的分布式运行的方法及装置制造方法及图纸

技术编号:23050480 阅读:73 留言:0更新日期:2020-01-07 14:50
本发明专利技术涉及了一种无状态系统的分布式运行的方法,其中该方法包括以下步骤:接收用户的登录信息,并进行登陆验证;响应于登录验证通过,将根据登录信息生成的用户状态字符串存入无状态系统的共享内存;响应于用户发起任务请求,在相应的进程中向共享内存查询用户状态字符串,并根据查询结果验证用户的请求合法性;响应于用户的请求合法性验证通过,在进程中根据相应的请求执行所述任务。利用本发明专利技术的方法,在用户发起任务的请求后,系统中的各分布式进程均可以对用户状态进行维护,在保留无状态系统支持分布式、多线程的优点的前提下兼顾了系统对用户状态的维护和管理。

A distributed operation method and device for stateless system

【技术实现步骤摘要】
一种无状态系统的分布式运行的方法及装置
本专利技术涉及操作系统安全
本专利技术进一步涉及一种无状态系统的分布式运行的方法及装置。
技术介绍
传统系统依靠会话session立上下文,维护用户状态,用户登陆后即建立本次登录的上下文,之后该用户的所有请求都通过session与用户登陆建立的上下文挂钩。但是session是本地存储的,无法支持分布式进程或并发程序。无状态系统中禁用session,用户登陆后不再建立上下文,程序本身不再存储用户的信息。对于登陆后的每次请求,程序本身并不知道用户的信息。由于系统对分布式、并发的支持已经成为一种普遍的诉求,所以越来越多的系统以无session的无状态系统的形式构建。然而,系统无状态,也就意味着系统放弃了用户状态的管理及维护。如果系统只是单纯的开放接口,放弃用户状态的维护是完全可行,例如现在主流的无状态系统多是应用在开放接口类型的场景。但是如果系统即要开放接口,又要支持必须维护用户状态的应用,例如Web页面等,那么在无状态系统中兼容对用户状态的维护也就是必要的了。因此,需要提出一种满足上述诉求的技术方案,在无状态系统下支持分布式、多线程的同时兼顾对用户状态的维护和管理。
技术实现思路
一方面,本专利技术基于上述目的提出了一种无状态系统的分布式运行的方法,其中该方法包括以下步骤:接收用户的登录信息,并进行登陆验证;响应于登录验证通过,将根据登录信息生成的用户状态字符串存入无状态系统的共享内存;响应于用户发起任务请求,在相应的进程中向共享内存查询用户状态字符串,并根据查询结果验证用户的请求合法性;响应于用户的请求合法性验证通过,在进程中根据相应的请求执行所述任务。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中接收用户的登录信息,并进行登陆验证进一步包括:接收用户的登录信息,并根据登录信息中的用户名、密码和数据库中存储的合法用户的用户名、密码进行登陆验证。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中响应于登录验证通过,将根据登录信息生成的用户状态字符串存入无状态系统的共享内存进一步包括:将登录信息中的用户名、用户角色、用户类型通过加密封装成用户状态字符串。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中响应于用户发起任务请求,在相应的进程中向所述共享内存查询用户状态字符串,并根据查询结果验证所述用户的请求合法性进一步包括:向共享内存请求获取用户状态字符串;响应于取得用户状态字符串,对用户状态字符串进行解密;响应于解密成功,确认用户的请求合法性验证通过。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中响应于用户发起任务请求,在相应的进程中向共享内存查询用户状态字符串,并根据查询结果验证所述用户的请求合法性进一步包括:响应于无法取得用户状态字符串,反馈用户不合法信息;响应于对用户状态字符串解密不成功,反馈用户不合法信息。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中响应于用户的请求合法性验证通过,在进程中根据相应的请求执行任务进一步包括:响应于用户的请求合法性验证通过,将用户状态字符串中的用户名、用户角色、用户类型封装为本次请求的上下文。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中响应于用户的请求合法性验证通过,在进程中根据相应的请求执行任务进一步包括:根据请求获取任务需要访问的URL地址;根据用户角色判断用户是否具备对URL地址的访问权限;响应于用户具备对URL地址的访问权限,执行任务。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中该方法进一步包括:定期发起获取用户登录状态的请求,检查共享内存中的所有用户状态字符串。根据本专利技术的无状态系统的分布式运行的方法的实施例,其中方法进一步包括:响应于用户发出登出请求,删除共享内存中的相应的用户状态字符串。另一方面,本专利技术还提出了一种无状态系统的分布式运行的装置,其特征在于,所述装置包括:至少一个处理器;和存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时执行前述任一项实施例的无状态系统的分布式运行的方法。采用上述技术方案,本专利技术至少具有如下有益效果:在无状态系统的分布式运行过程中,通过在用户的登录时根据登录成功的用户的登录信息生成用户状态字符串并存入系统的共享内存的方式将该用户的用户在线状态保留在系统中。以此为基础,在用户发起任务的请求后,系统中的各分布式进程均可以对用户状态进行维护,并响应合法用户的请求执行相应的任务。利用本专利技术的方法,在保留无状态系统支持分布式、多线程的优点的前提下兼顾了系统对用户状态的维护和管理,扩展了无状态系统的应用场景。本专利技术提供了实施例的各方面,不应当用于限制本专利技术的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。下面参考附图更详细地解释和描述了本专利技术的实施例,但它们不应理解为对于本专利技术的限制。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。图1示出了根据本专利技术的无状态系统的分布式运行的方法的实施例的示意性框图。具体实施方式虽然本专利技术可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本专利技术的示例并不意图将本专利技术限制于所说明的具体实施例。图1示出了根据本专利技术的无状态系统的分布式运行的方法的实施例的示意性框图。在图示实施例中,该方法至少包括以下步骤:S1:接收用户的登录信息,并进行登陆验证;S2:响应于登录验证通过,将根据登录信息生成的用户状态字符串存入无状态系统的共享内存;S3:响应于用户发起任务请求,在相应的进程中向共享内存查询用户状态字符串,并根据查询结果验证用户的请求合法性;S4:响应于用户的请求合法性验证通过,在进程中根据相应的请求执行任务。为了在支持分布式、多线程的无状态系统中兼顾系统对用户状态的维护和管理,根据本专利技术的构思,提出了以上方法,其中步骤S1首先在用户登录时接收用户的登录信息,并进行登陆验证。在此需要说明的是,在本专利技术的范围内,用户可以包括本地的内部Web用户、调用系统的对外开放接口的外部用户等。相应地,用户可以通过网页、APP客户端等用户界面进行登录以及后续的请求任务的操作。在用户合法、登陆验证通过的情况下,步骤S2将根据登录信息生成的用户状态字符串存入无状态系统的共享内存。将携带有用本文档来自技高网...

【技术保护点】
1.一种无状态系统的分布式运行的方法,其特征在于,所述方法包括以下步骤:/n接收用户的登录信息,并进行登陆验证;/n响应于登录验证通过,将根据所述登录信息生成的用户状态字符串存入无状态系统的共享内存;/n响应于用户发起任务请求,在相应的进程中向所述共享内存查询用户状态字符串,并根据查询结果验证所述用户的请求合法性;/n响应于所述用户的请求合法性验证通过,在所述进程中根据相应的请求执行所述任务。/n

【技术特征摘要】
1.一种无状态系统的分布式运行的方法,其特征在于,所述方法包括以下步骤:
接收用户的登录信息,并进行登陆验证;
响应于登录验证通过,将根据所述登录信息生成的用户状态字符串存入无状态系统的共享内存;
响应于用户发起任务请求,在相应的进程中向所述共享内存查询用户状态字符串,并根据查询结果验证所述用户的请求合法性;
响应于所述用户的请求合法性验证通过,在所述进程中根据相应的请求执行所述任务。


2.根据权利要求1所述的方法,其特征在于,所述接收用户的登录信息,并进行登陆验证进一步包括:
接收用户的登录信息,并根据所述登录信息中的用户名、密码和数据库中存储的合法用户的用户名、密码进行登陆验证。


3.根据权利要求2所述的方法,其特征在于,所述响应于登录验证通过,将根据所述登录信息生成的用户状态字符串存入无状态系统的共享内存进一步包括:
将所述登录信息中的用户名、用户角色、用户类型通过加密封装成所述用户状态字符串。


4.根据权利要求3所述的方法,其特征在于,所述响应于用户发起任务请求,在相应的进程中向所述共享内存查询用户状态字符串,并根据查询结果验证所述用户的请求合法性进一步包括:
向所述共享内存请求获取所述用户状态字符串;
响应于取得所述用户状态字符串,对所述用户状态字符串进行解密;
响应于解密成功,确认所述用户的请求合法性验证通过。


5.根据权利要求4所述的方法,其特征在于,所述响应于用户发起任务请求,在相应的进程中向所述共享...

【专利技术属性】
技术研发人员:张彬
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1