The invention belongs to the field of computer software, and discloses a multi-tenancy system for traditional BS application based on data routing, which includes thread wrapper: security for each application request thread; database routing: data isolation for RDMS runtime and persistence; file routing: data isolation for file runtime and persistence; cache routing: data isolation for cache runtime. Cached content data isolation. The invention realizes the technical upgrading and transformation of the existing Web application from single tenant mode to multi-tenant mode, and the multi-tenant transformation process can support the cloud process through the smallest modification in order to reduce the impact on the original application.
【技术实现步骤摘要】
一种基于数据路由的传统BS应用多租户化系统
本专利技术属于计算机软件领域,尤其涉及一种基于数据路由的传统BS应用多租户化系统。
技术介绍
目前,业内常用的现有技术是这样的:在云计算没提出之前,基于J2EE架构体系的Web应用产品就很多,都是卖许可的模式。云时代下,提倡产品由卖许可的模式转换为卖服务模式,即实现线上租用,需要产品具备多租户特性。多租户特性是云计算技术中核心的功能特性,存量系统需要云化,需要多租户化,就需要有好的技术来解决。传统B/S软件的多租户化要考虑到现有软件的技术多样性,同时又可以融合现有云计算技术。综上所述,现有技术存在的问题是:采用现有技术,一个Web软件产品由单租户模式升级为多租户模式需要很大的工作量。一种方式是调整数据结构、重构程序,一种方式是引入中间件技术和平台进行包装。程序调整,代码重构,除了大量的开发工作以外,还需要进行详尽的测试工作,整个软件工程周期下来会耗费大量的人力。而且还需要很好的规划和架构,会存在很大的风险。采用中间技术平台,主流的是采用Docker容器技术来实现多租户。Web应用开发技术团队需要熟悉Docker整个技术体系,要额外搭建Docker平台,还需要对容器复制接口进行包装。实现完整多租户特性需要付出很大的技术成本。Docker镜像模式实现多租户是资源独享模式,很耗费资源,为用户增加了额外的资源成本,同类产品价格上会失去优势,降低了可运营性。在升级方面,每个租户都是一套程序实例,租户越多版本管理越复杂。会增加很多运维成本。解决上述技术问题的意义:采用数据路由实现Web应用多租户化,是资源共享模式,是高资源利 ...
【技术保护点】
1.一种基于数据路由的传统BS应用多租户化系统,其特征在于,所述基于数据路由的传统BS应用多租户化系统包括:线程包装器:用于实现租户标识信息传递到后续应用程序中;数据库路由:采用Schema或独立DB instance模式,每个租户对应的数据库中的所有数据源建立一个资源池,根据路由映射表进行管理,实现RDMS运行时及持久化数据隔离;文件路由:提供文件读写接口,供应用程序调用,实现文件运行时及持久化数据隔离;缓存路由:提供缓存读写接口,供应用程序调用,实现缓存运行时,缓存内容数据隔离。
【技术特征摘要】
1.一种基于数据路由的传统BS应用多租户化系统,其特征在于,所述基于数据路由的传统BS应用多租户化系统包括:线程包装器:用于实现租户标识信息传递到后续应用程序中;数据库路由:采用Schema或独立DBinstance模式,每个租户对应的数据库中的所有数据源建立一个资源池,根据路由映射表进行管理,实现RDMS运行时及持久化数据隔离;文件路由:提供文件读写接口,供应用程序调用,实现文件运行时及持久化数据隔离;缓存路由:提供缓存读写接口,供应用程序调用,实现缓存运行时,缓存内容数据隔离。2.如权利要求是所述的基于数据路由的传统BS应用多租户化系统,其特征在于,数据库路由采用独立Schema方式定义租户数据库中,每一个租户定义一个DataSource,把租户标识ID和DataSource的实例信息存储到映射表中;在系统运行过程中,负责根据租户ID获取到对应的数据源连接实例,并执行租户数据SQL;数据库路由采用JDBC标准中,实现对多种RSDB的支持;为用户提供数据路由SDK包,并提供多租户数据源实现;同时提供数据源连接配置、数据源监控。3.如权利要求是所述的基于数据路由的传统BS应用多租户化系统,其特征在于,文件路由采用JavaIO接口实现文件的读写操作中,用于实现JavaIO接口的代理接口类,方法名称和参数保持一致;文件路由还通过线程的方式获取到租户标识ID;代理的接口用于实现类中重写文件读写操作,适配到特定的存储系统中;文件路由...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:西安中服软件有限公司,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。