[发明专利]一种基于token+lua实现的业务系统路由方法有效
申请号: | 201911386816.1 | 申请日: | 2019-12-29 |
公开(公告)号: | CN111385347B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 高泉松;周兴怀 | 申请(专利权)人: | 云帐房网络科技有限公司 |
主分类号: | H04L67/1095 | 分类号: | H04L67/1095;H04L67/10;H04L9/40;H04L45/74 |
代理公司: | 南京科知维创知识产权代理有限责任公司 32270 | 代理人: | 杜依民 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 token lua 实现 业务 系统 路由 方法 | ||
1.一种基于token+lua实现的业务系统路由方法,其具体步骤如下:
步骤S1:准备数据与场景环境,建立主业务集群的数据镜像同步;
步骤S2:数据差异化迁移,对主体业务表进行按地区维度区分,将需要分拆的数据迁移到新的业务集群环境;
步骤S3:生成统一登录token,用户登录时,通过sso单点登录生成jwt加密格式的token串;
步骤S4:路由关系缓存,将公司编号、集群标识缓存在redis中,业务系统创建新的用户账号时,按客户端选择的地区,将新增公司编号与集群标识存入缓存;
步骤S5:实现lua路由,解析token,按缓存中公司编号与分地区服务器关系,通过返回自定义的nginx的upstream转发跳转到指定地区服务器;
步骤S6:业务集群数据汇总,数据分拆后,对数据的部分汇总的计算实时查询;
步骤S7:业务数据清理,在两套业务集群中,分别执行数据清理动作。
2.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,步骤S1的具体步骤如下:
步骤S11:增加用户区域的业务请求开关,可按用户账号的区域进行业务拦截,当开关关闭时,临时关闭分拆区域的所有流量,将指定区域的用户强制下线;
步骤S12:对现在业务集群的数据库做镜像;
步骤S13:镜像数据库启动后,将镜像的数据库制作成单独的主业务集群的mysql数据库从库;
步骤S14:完成新镜像库启动;
步骤S15:通过数据库日志binglog的完成增量数据同步后,关闭主从依赖关系。
3.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,步骤S2的具体步骤如下,设拆分地区编号为A:
步骤S21:建立新集群的数据镜像同步;
步骤S22:在主集群关闭A地区的业务访问;
步骤S23:删除主集群的A地区主表数据;
步骤S24:删除分集群的非A地区主表数据;
步骤S25:关闭主集群到分集群的数据库同步;
步骤S26:正式切换A地区流量到分集群。
4.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,其特征在于:其步骤S2的主体业务表,业务主表是指用于标识业务的不可拆分的最小的数据领模型,以代账业务场景为例,包括代账公司信息表、用户信息表、企业信息表、企业账套关联表、用户角色关联表,除主体业务表外,其他所有的业务表均通过用户id编号、企业id编号、代账公司id编号的主库id进行数据关联。
5.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,其特征在于:其步骤S3的token串包括:用户编号、企业编号、用户登录名、用户手机号。
6.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,其特征在于:生成的token通过请求链接带入业务系统,业务系统将token存入session,并且写入对应业务系统的cookie中,实现后续业务请求中自动附加token信息。
7.如权利要求1所述的一种基于token+lua实现的业务系统路由方法,其特征在于:其步骤S5的具体步骤如下:
步骤S51:编写lua脚本,获取当前请求url参数中的access_token字段,
若url中不存在access_token字段,则取cookie中的access_token字段,两种场景均取不到token时,路由到默认的集群提供服务,
若url中存在access_token字段,使用jwt算法与密钥解析,获取其中的公司编号;
步骤S52:lua执行缓存调用,按公司编号查询redis缓存,获取公司编号对应的集群标识,返回openresty配置的反向代理路由名称,跳转到同名的代理路由地址;
步骤S53:为新拆分的集群分配特定的二级域名,在二级域名下,完成分集群的业务处理,在sso登录时,检测当前用户的公司对应的集群标识,在前端跳转到对应的二级域名,不经验过lua判断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云帐房网络科技有限公司,未经云帐房网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911386816.1/1.html,转载请声明来源钻瓜专利网。