基于容器的多租户数据隔离实现系统及方法与流程

文档序号:35396698发布日期:2023-09-09 16:37阅读:13来源:国知局
本发明属于应用线上运行数据隔离领域,具体涉及基于容器的多租户数据隔离实现系统及方法。
背景技术
::1、在进行应用部署时一般在服务器上部署应用,相同的业务逻辑下,往往无法隔离数据,所有业务方的数据耦合在一起,如果一个业务方的数据出现问题,必然会影响到其它的业务数据。2、多租户技术的实现重点在于不同租户间应用程序环境的隔离(applicationcontext isolation)以及数据的隔离(data isolation),以维持不同租户间应用程序不会相互干扰,同时数据的保密性也够强。3、目前常用的多租户技术主要有两种:一是数据面(data approach):供应商可以利用切割数据库(database),切割存储区(storage),切割结构描述(schema)或是表格(table)来隔离租户的数据,必要时会需要进行对称或非对称加密以保护敏感数据,但不同的隔离算法有不同的实现复杂度与风险。另一种是系统面(system approach):供应商可以利用虚拟化技术,将实体运算单元切割成不同的虚拟机,各租户可以使用其中的一台至数台的虚拟机来做为应用程序与数据的保存环境,但对供应商的运算能力要求较高。技术实现思路1、本发明提出了基于容器的多租户数据隔离实现系统及方法,以隔离不同租户的业务数据,以免业务异常对不同业务数据造成不良影响,实现不同租户间的租户维度的数据隔离,达到分而治之的目的;本发明从应用程序层面结合服务器(容器)的启动参数实现多租户的数据隔离,并且可以随意切换流量到不同租户,能更好地应对生产上的异常。2、一方面,为实现上述目的,本发明提供了基于容器的多租户数据隔离实现系统,包括:订阅接入模块、订阅数据模块、分发模块、补全模块、调度模块和触达模块;3、所述订阅接入模块用于配置订阅数据;4、所述订阅数据模块用于消费内部数据,所述内部数据为基于容器的多租户数据隔离实现系统的事件源产生的数据,并匹配所述订阅数据和所述内部数据,得到匹配信息;5、所述分发模块用于根据业务场景向所述补全模块分发所述匹配信息,分发至与所述业务场景相匹配的补全模块租户的消息队列中;其中,不同的所述补全模块租户预先匹配有不同的容器,所述补全模块租户的消息队列存储在该补全模块租户的容器中;6、所述补全模块用于预先部署至少两个所述补全模块租户,不同的所述补全模块租户挂载不同的容器,所述补全模块租户通过配置的所述容器的启动参数确定与所述业务场景匹配的所述补全模块租户所对应的第一消费组,消费所述第一消费组对应的消息队列,根据客户需求信息进行数据补全得到补全数据,并将所述补全数据输入至与所述业务场景相匹配的调度模块租户对应的消息队列中;其中,不同的所述调度模块租户预先匹配有不同的容器,所述调度模块租户的消息队列存储在该调度模块租户的容器中;7、所述调度模块用于预先部署至少两个所述调度模块租户,不同的所述调度模块租户挂载不同的容器,所述调度模块租户通过配置的所述容器的启动参数确定与所述业务场景匹配的所述调度模块租户所对应的第二消费组,消费所述第二消费组对应的消息队列,然后根据所述业务场景配置的触达路由调用不同的端点,所述端点为所述应用程序的各个端口;8、所述触达模块用于基于不同业务场景及调用方式划分不同触达端做数据触达。9、可选地,所述订阅数据包括主动订阅数据、个性化订阅数据和被动订阅数据。10、可选地,所述补全模块和所述调度模块中的不同所述补全模块租户和所述调度模块租户对应不同的主题和消费者,对不同应用程序间的数据进行异步化处理,所述业务场景关联所述补全模块租户和所述调度模块租户,所述业务场景的数据运行在关联的所述补全模块租户和所述调度模块租户的所述主题和所述消费者中,实现数据隔离。11、另一方面,为实现上述目的,本发明提供了基于容器的多租户数据隔离实现方法,包括:12、利用订阅接入模块配置订阅数据;13、利用订阅数据模块消费内部数据,所述内部数据为基于容器的多租户数据隔离实现系统的事件源产生的数据,并匹配所述订阅数据和所述内部数据,得到匹配信息;14、利用分发模块根据业务场景向补全模块分发所述匹配信息,分发至与所述业务场景相匹配的补全模块租户对应的消息队列中;其中,不同的所述补全模块租户预先匹配有不同的容器,所述补全模块租户的消息队列存储在该补全模块租户的容器中;15、利用所述补全模块预先部署至少两个所述补全模块租户,不同的所述补全模块租户挂载不同的容器,所述补全模块租户通过配置的所述容器的启动参数确定与所述业务场景匹配的所述补全模块租户对应的第一消费组,消费所述第一消费组对应的消息队列,根据客户需求信息进行数据补全得到补全数据,并将所述补全数据输入至与所述业务场景相匹配的调度模块租户对应的消息队列中;其中,不同的所述调度模块租户预先匹配有不同的容器,所述调度模块租户的消息队列存储在该调度模块租户的容器中;16、利用调度模块预先部署至少两个所述调度模块租户,不同的所述调度模块租户挂载不同的容器,所述调度模块租户通过配置的所述容器的启动参数确定与所述业务场景匹配的所述调度模块租户所对应的第二消费组,消费所述第二消费组对应的消息队列,然后根据所述业务场景配置的触达路由调用不同的端点,所述端点为所述应用程序的各个端口;17、利用触达模块根据不同业务场景及调用方式划分不同触达端做数据触达。18、可选地,所述订阅数据包括主动订阅数据、个性化订阅数据和被动订阅数据。19、可选地,不同的所述补全模块租户和所述调度模块租户对应不同的主题和消费者,对不同应用程序间的数据进行异步化处理,所述业务场景关联所述补全模块租户和所述调度模块租户,所述业务场景的数据运行在关联的所述补全模块租户和所述调度模块租户的所述主题和所述消费者中,实现数据隔离。20、本发明的有益效果为:21、1.本发明从应用程序层面结合服务器(容器)的启动参数实现多租户的数据隔离,能够隔离不同的业务数据,以免业务异常对不同业务数据造成不良影响,达到数据隔离、分而治之的目的,降低了数据隔离算法的实现复杂度与风险,也就进一步降低了对供应商的运算能力要求;并且通过场景绑定租户来保障不同业务间的数据隔离,可以随意切换流量到不同租户,能更好地应对生产上的异常。技术特征:1.基于容器的多租户数据隔离实现系统,其特征在于,包括:订阅接入模块、订阅数据模块、分发模块、补全模块、调度模块和触达模块;2.根据权利要求1所述的基于容器的多租户数据隔离实现系统,其特征在于,所述订阅数据包括主动订阅数据、个性化订阅数据和被动订阅数据。3.根据权利要求1所述的基于容器的多租户数据隔离实现系统,其特征在于,4.基于容器的多租户数据隔离实现方法,其特征在于,包括以下步骤:5.根据权利要求4所述的基于容器的多租户数据隔离实现方法,其特征在于,6.根据权利要求4所述的基于容器的多租户数据隔离实现方法,其特征在于,技术总结本发明公开基于容器的多租户数据隔离实现系统及方法,属于应用线上运行数据隔离领域,包括订阅接入模块、订阅数据模块、分发模块、补全模块、调度模块和触达模块;订阅接入模块配置订阅数据;订阅数据模块消费内部数据,并匹配订阅数据和内部数据,得到匹配信息;分发模块根据业务场景向补全模块分发匹配信息;补全模块部署至少两个补全模块租户,完成匹配信息的数据补全得到补全数据,并将补全数据输入至调度模块租户对应的消息队列;调度模块部署至少两个调度模块租户,实现多租户数据隔离。能够隔离不同的业务数据,并根据业务场景配置的触达路由调用触达模块;触达模块基于不同业务场景及调用方式划分不同触达端做数据触达。技术研发人员:庞栋受保护的技术使用者:上海中通吉网络技术有限公司技术研发日:技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1