一种制造技术

技术编号:39498353 阅读:8 留言:0更新日期:2023-11-24 11:27
本申请公开了一种

【技术实现步骤摘要】
一种SaaS多租户的元数据运行方法、系统、设备及介质


[0001]本申请涉及
SaaS
元数据管理的
,尤其涉及一种
SaaS
多租户的元数据运行方法

系统

设备及介质


技术介绍

[0002]软件运营服务(
Software as a Service
,简称
SaaS
)是让用户能够通过互联网连接和使用基于云的应用程序

常见示例有电子邮件

日历和办公工具

在现有技术中,数据库的隔离方式包括多数据库实例的隔离方式和同一数据库不同租户
id
的数据隔离方式两种方式

多数据库实例的隔离方式一般会将元数据信息存储在各自独立的数据库中,这种方式便于多租户数据的隔离管理以及不同租户进行二次开发产生的元数据保存,但是对于
SaaS
多租户服务的资源占用和元数据更新将会造成极大的困难

将会增加服务器的资源开销以及内存占用,在更新时,每次标准产品的迭代更新都需要对每个租户进行升级操作,从而更新每个租户数据库中的元数据信息,工作量很大,风险较高

同一数据库通过租户
id
的数据隔离方式,其优点在于多租户的数据存储在同一个数据库内,便于
SaaS
多租户服务的元数据更新和表结构更新,但是多租户数据没有实现数据库实例级别的隔离,存在数据隔离风险,并且
SaaS
不同租户定制化开发功能产生的元数据全部存在一个数据库里,对于数据库实例的备份还原无法做到真正的数据隔离,同时也不便于单个租户环境和数据的迁移

[0003]因此,如何减少多租户数据的存储空间,提高多租户数据的更新

加载和利用效率是一个亟待解决的问题


技术实现思路

[0004]本申请实施例提供了一种
SaaS
多租户的元数据运行方法

系统

设备及介质,用以解决如下技术问题:如何减少多租户数据的存储空间,提高多租户数据的更新

加载和利用效率

[0005]第一方面,本申请实施例提供了一种
SaaS
多租户的元数据运行方法,其特征在于,方法包括:连接租户数据库和
meta
标准元数据管理库;其中,租户数据库包括租户业务数据和租户私有元数据,
meta
标准元数据管理库包括租户信息表

公共标准元数据

元数据描述文件和对象注册表;根据租户信息表判断租户是否匹配最新的公共标准元数据;在租户没有匹配最新的公共标准元数据时,基于预设的
meta
数据库更新算法更新
meta
标准元数据管理库和租户数据库;在租户匹配最新的公共标准元数据时,基于预设的加载算法加载
meta
标准元数据管理库和租户数据库;在租户需要更新租户数据库时,基于预设的租户数据库更新算法更新租户数据库

[0006]在本申请的一种实现方式中,基于预设的
lua
脚本查询
meta
标准元数据管理库中的租户信息表,并基于租户信息表判断租户是否过期,具体包括:连接
nginx
代理服务器并获取连接
nginx
代理服务器的连接时间;基于
lua
脚本查询
meta
标准元数据管理库中的租户
信息表;其中,租户信息表包括租户名称

租户类型

租户访问域名

租户创建日期

租户过期日期

匹配的公共标准元数据版本;基于连接时间,匹配租户信息表中的租户过期日期,以判断租户是否过期;在租户过期时,拒绝租户访问,并提醒租户已过期

[0007]在本申请的一种实现方式中,在租户信息未过期时,根据租户信息表判断租户是否匹配最新的公共标准元数据,具体包括:基于
meta
标准元数据管理库的元数据描述文件,获取
meta
标准元数据管理库的公共标准元数据的版本;基于租户信息表中匹配的公共标准元数据的版本,匹配
meta
标准元数据管理库的公共标准元数据的版本,以判断租户是否匹配最新的公共标准元数据

[0008]在本申请的一种实现方式中,基于预设的
meta
数据库更新算法更新
meta
标准元数据管理库和租户数据库,具体包括:获取
meta
标准元数据管理库更新包和
meta
标准元数据管理库的
json
元数据信息更新包;将
json
元数据信息更新包解析为
meta
标准元数据管理库的数据存储格式,并将解析后的
json
元数据信息更新包存储于
meta
标准元数据管理库更新包,以获取官方更新包;添加官方更新包至
meta
标准元数据管理库,以更新
meta
标准元数据管理库;以预设的数据库存储数据的最小
key
为标准,通过预设的元数据对比工具,基于官方更新包匹配
meta
标准元数据管理库和租户数据库,以获取差异化更新包;获取租户数据库中匹配的公共标准元数据的版本号;插入匹配的公共标准元数据的版本号至差异化更新包,以获取差异更新数据包;整合差异更新数据包至租户数据库,以更新租户数据库

[0009]在本申请的一种实现方式中,在租户未过期且匹配最新的公共标准元数据时,基于预设的加载算法加载
meta
标准元数据管理库和租户数据库,具体包括:获取租户发送的加载请求,并构建多个进程;其中,进程包括公共通道和私有通道;基于预设的多进程参数控制算法处理加载请求,以判断加载请求是否满足预设的要求;在加载请求满足预设的要求时,添加
meta
标准元数据管理库的公共标准元数据至进程的公共通道中;基于加载请求获取租户名称,并基于租户名称获取租户私有元数据;添加租户私有元数据至私有通道中,以加载
meta
标准元数据管理库和租户数据库

[0010]在本申请的一种实现方式中,基于预设的多进程参数控制算法处理加载请求,具体包括:基于加载请求获取对象注册表;基于对象注册表计算租户需要的进程数量

进程次数和进程内存;在进程数量

进程次数和进程内存中任一数据超过预设的参数阈值时,重新构建加载请求的对象注册表并进行判断,直至进程数量

进程次数和进程内存均不超本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
SaaS
多租户的元数据运行方法,其特征在于,所述方法包括:连接租户数据库和
meta
标准元数据管理库;其中,所述租户数据库包括租户业务数据和租户私有元数据,所述
meta
标准元数据管理库包括租户信息表

公共标准元数据

元数据描述文件和对象注册表;根据所述租户信息表判断所述租户是否匹配最新的公共标准元数据;在所述租户没有匹配最新的公共标准元数据时,基于预设的
meta
数据库更新算法更新所述
meta
标准元数据管理库和租户数据库;在所述租户匹配最新的公共标准元数据时,基于预设的加载算法加载所述
meta
标准元数据管理库和租户数据库;在租户需要更新租户数据库时,基于预设的租户数据库更新算法更新所述租户数据库
。2.
根据权利要求1所述的一种
SaaS
多租户的元数据运行方法,其特征在于,在根据所述租户信息表判断所述租户是否匹配最新的公共标准元数据前,所述方法还包括基于预设的
lua
脚本查询
meta
标准元数据管理库中的租户信息表,并在所述租户信息表未过期时,允许所述租户访问,具体包括:连接
nginx
代理服务器并获取连接所述
nginx
代理服务器的连接时间;基于
lua
脚本查询所述
meta
标准元数据管理库中的租户信息表;其中,所述租户信息表包括租户名称

租户类型

租户访问域名

租户创建日期

租户过期日期

匹配的公共标准元数据版本;基于所述连接时间,匹配租户信息表中的租户过期日期,以判断所述租户是否过期;在所述租户过期时,拒绝所述租户访问,并提醒所述租户已过期;在所述租户未过期时,允许所述租户访问
。3.
根据权利要求1所述的一种
SaaS
多租户的元数据运行方法,其特征在于,根据所述租户信息表判断所述租户是否匹配最新的公共标准元数据,具体包括:基于所述
meta
标准元数据管理库的元数据描述文件,获取所述
meta
标准元数据管理库的公共标准元数据的版本;基于所述租户信息表中匹配的公共标准元数据的版本,匹配所述
meta
标准元数据管理库的公共标准元数据的版本,以判断所述租户是否匹配最新的公共标准元数据
。4.
根据权利要求1所述的一种
SaaS
多租户的元数据运行方法,其特征在于,在所述租户没有匹配最新的公共标准元数据时,基于预设的
meta
数据库更新算法更新所述
meta
标准元数据管理库和租户数据库,具体包括:获取所述
meta
标准元数据管理库更新包和
meta
标准元数据管理库的
json
元数据信息更新包;将所述
json
元数据信息更新包解析为所述
meta
标准元数据管理库的数据存储格式,并将解析后的所述
json
元数据信息更新包存储于所述
meta
标准元数据管理库更新包,以获取官方更新包;添加所述官方更新包至所述
meta
标准元数据管理库,以更新所述
meta
标准元数据管理库;以预设的数据库存储数据的最小
key
为标准,通过预设的元数据对比工具,基于所述官
方更新包匹配所述
meta
标准元数据管理库和租户数据库,以获取差异化更新包;获取所述租户数据库中匹配的公共标准元数据的版本号;插入所述匹配的公共标准元数据的版本号至所述差异化更新包,以获取差异更新数据包;整合所述差异更新数据包至所述租户数据库,以更新所述租户数据库
。5.
根据权利要求1所述的一种
SaaS
多租户的元数据运行方法,其特征在于,在所述租户匹配最新的公共标准元数据时,基于预设的加载算法加载所述
meta
标准元数据管理库和租户数据库,具体包括:获取租户发送的加载请求,并构建多个进程;其中,所述进程包括公共通道和私有通道;基于预设的多进程参数控制算法处理所述加载请求,以判断所述加载请求是否满足预设的要求;在所述加载请求满足预设的要求时,添加所述
meta
标准元数据管理库的公共标准元数据至所述进程的公共通道中;基于所述加载请求获取租户名称,并基于所述租户名称获取所述租户私有元数据;添加所述租户私有元数据至所述私有通道中,以加载所述
meta
标准元数据管理库和租户数据库
。6.
根据权利要求5所述的一种

【专利技术属性】
技术研发人员:郑伟波邬柏许世鹏孙鹏郭蕾
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:

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

1