多租户网约车系统及动态隔离方法技术方案

技术编号:26596776 阅读:14 留言:0更新日期:2020-12-04 21:18
公开了一种多租户网约车系统和动态隔离方法。该系统包括:公共租户机房,包括以独立表格部署或者混合表格部署多个第一租户的业务数据的公共数据存储设备;以及独立租户机房,包括以独立设备部署第二租户的业务数据的独立数据服务存储设备;所述公共租户机房和所述独立租户机房经由所述系统的外部调用路由为不同租户的客户端设备提供网约车服务,并且包括:为产生的不同租户的业务数据分配全局唯一标识;将产生的所述不同租户的业务数据条目存储在每个租户对应的存储目标中,所述条目包括所述全局唯一标识项和租户标识项。本发明专利技术通过对业务数据中全局唯一ID和租户ID的同时引入,并利用数据双向同步技术和积木式微服务架构,实现多租户动态隔离。

【技术实现步骤摘要】
多租户网约车系统及动态隔离方法
本公开涉及一种云技术,尤其涉及一种多租户网约车系统及动态隔离方法。
技术介绍
网约车作为新型的互联网服务,不同于普通的电商或者O2O(OnlineToOffline,即,线上到线下),更加依赖线上的调度与全局性信息,尤其是对于信息时效性要远远高于电商与O2O,一笔交易的产生往往要求秒级响应。网约车服务主体为车、司机、乘客,网约车服务可以在公共、混合和私有云环境中提供。由服务提供者提供的服务可以访问存储在数据库中的数据。在大型服务系统中,需要计算机化的信息存储和检索系统来管理多个数据库,每一个数据库可以由不同的实体拥有。服务可以由多个租户同时订购。在网约车服务中,多个租户可以分属不同的网约车公司,并且网约车服务需要同时处理不同租户的数据。出于业务量和成本等的原因的考虑,租户会要求不同程度的数据隔离,并且要求隔离程度在外部条件变化时能够无缝改变。因此,服务提供者需要实现允许数据和配置分开的针对服务的多租户架构,使得每个租户接收到适当水平的数据和业务隔离。当前存在用于管理多租户数据的三种部署选项。一是所有租户数据存储在同一物理存储,通过租户标识进行区分,业务访问数据时访问同一数据源,在所有业务逻辑都中需要对不同租户进行区分,以防止隔离失败。此种方法的存储利用率最高,但随着业务增长性能容易出现瓶颈。二是不同租户数据分别存储于不同的物理存储,业务根据租户直接访问不同数据源,逻辑相对简单,性能不随租户增加而降低,但随业务的增长和租户的增多,成本也线性递增。三是租户混合分布于多个物理存储中,根据不同策略不同数据源上的租户数量会有区别,兼顾了扩展性与成本,但策略复杂,租户业务变化后,仍然面临性能不平均的问题,需要重新对数据进行规划。业务隔离类似,存在两种不同的部署模型。一是集群集中部署,租户共享业务服务。当租户业务不平均时,业务量较大的租户往往会对整体集群产生较大压力,性能隔离性不好。二是租户独立部署,隔离性好,但硬件成本较高,而且版本迭代与升级维护需分别进行,维护成本也较高。上述两种隔离维度(即,数据隔离和业务隔离)通常会结合使用,比如租户共享业务服务,但数据独立存储等。现有的隔离方案在租户与数据量较小的情况下问题不大,如果租户数量较大且业务量差异较大,就面临数据倾斜与维护成本等问题,同时业务量的迅速变化也需要面临业务程序与数据的动态迁移。为此,需要一种能够灵活应对多租户需求的隔离方案。
技术实现思路
本公开要解决的一个技术问题是提供一种能够灵活应对多租户需求的隔离方案,该方案通过对业务数据中全局唯一ID和租户ID的同时引入,并利用数据双向同步技术和积木式微服务架构,实现多租户服务的动态隔离。根据本公开的第一个方面,提供了一种多租户网约车系统,包括:公共租户机房,包括以独立表格部署或者混合表格部署多个第一租户的业务数据的公共数据存储设备;以及独立租户机房,包括以独立设备部署第二租户的业务数据的独立数据服务存储设备;所述公共租户机房和所述独立租户机房经由所述系统的外部调用路由为不同租户的客户端设备提供网约车服务,并且包括:为产生的不同租户的业务数据分配全局唯一标识;将产生的所述不同租户的业务数据条目存储在每个租户对应的存储目标中,所述条目包括所述全局唯一标识项和租户标识项。可选地,所述公共租户机房还包括:公共基础数据存储设备,用于存储系统元数据和管理数据。可选地,所述独立租户机房还包括:独立基础数据存储设备,用于存储为所述第二租户提供服务所需的系统元数据和管理数据。可选地,所述公共租户机房也可以包括:公共应用服务器,用于将网约车服务拆分成微服务进行部署并提供服务。可选地,所述独立租户机房还包括:独立应用服务器,用于将所述第二租户所需的网约车服务的至少部分微服务进行部署并为所述第二租户的客户端设备提供网约车服务。可选地,该系统还包括:业务调用路由,用于根据当前流量和调用规则,进行跨应用服务器的服务调用。可选地,该系统还包括:数据调用路由,用于根据服务调用,跨机房调用所需的业务数据和/或基础数据。可选地,该系统还包括:动态配置模块,用于根据租户要求,动态选择和布置微服务。可选地,同一个微服务在相同或不同机房的多个应用服务器上运行,并且利用选举机制确定为当前请求提供微服务的应用服务器。可选地,不同的租户根据相应的流量访问规则使用所述公共应用服务器。可选地,该系统还包括:全局调度器,用于限定某一具体应用服务器来执行某个定时任务。可选地,动态分配特定的应用服务器来执行某一租户的司乘匹配计算。根据本公开的第二个方面,提供了一种多租户动态隔离方法,包括:为产生的不同租户的业务数据分配全局唯一标识;以及将产生的所述不同租户的业务数据条目存储在每个租户对应的存储目标中,所述条目包括所述全局唯一标识项和租户标识项。可选地,该方法还包括:接收转换某一租户数据部署类型的请求;以及基于全局位于的租户标识,将所述租户当前存储目标中存储的业务数据条目直接存储至变更后的存储目标中,其中,数据部署类型包括独立设备部署、独立表格部署和表格混合部署,并且各自的对应存储目标包括独立设备、独立表格、和混布表格。可选地,不同数据部署类型的不同租户的同类业务数据条目具有相同的数据结构。可选地,该方法还包括:外部调用路由接收来自客户端的服务请求;业务调用路由根据所述服务请求涉及的微服务,调用提供对应微服务的应用服务器;以及对应应用服务器基于全局唯一标识将结果返回给所述外部调用路由,其中所述客户端获取所述结合以生成对应显示页面。进一步地,对应应用服务器经由数据调用路由获取相应的数据,并基于所述数据生成用于返回的结果。可选地为产生的不同租户的业务数据分配全局唯一标识包括:为某一特定租户的当前用户的叫车操作分配全局唯一订单号,并且所述方法还包括:将叫车信息发送到动态分配给该特定租户的公共应用服务器来执行司乘匹配计算;以及根据所述司乘匹配计算的结果,为所述用户分配司机。由此,本专利技术的多租户网约车平台及其动态隔离方法利用全局唯一ID结合租户ID进行存储,并且采用积木式微服务架构和业务调用路由技术,能够方便地实现数据云化存储(不依赖物理存储)和动态数据迁移。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了用于实施本专利技术一个实施例的云计算环境的示意图。图2示出了根据本专利技术一个实施例的多租户网约车服务系统的组成示意图。图3示出了网约车APP的一个示例性页面。图4示出了根据本专利技术一个实施例的多租户网约车数据处理方法的示意性流程图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实本文档来自技高网
...

【技术保护点】
1.一种多租户网约车系统,包括:/n公共租户机房,包括以独立表格部署或者混合表格部署多个第一租户的业务数据的公共数据存储设备;以及/n独立租户机房,包括以独立设备部署第二租户的业务数据的独立数据服务存储设备;/n所述公共租户机房和所述独立租户机房经由所述系统的外部调用路由为不同租户的客户端设备提供网约车服务,并且包括:/n为产生的不同租户的业务数据分配全局唯一标识;/n将产生的所述不同租户的业务数据条目存储在每个租户对应的存储目标中,所述条目包括所述全局唯一标识项和租户标识项。/n

【技术特征摘要】
1.一种多租户网约车系统,包括:
公共租户机房,包括以独立表格部署或者混合表格部署多个第一租户的业务数据的公共数据存储设备;以及
独立租户机房,包括以独立设备部署第二租户的业务数据的独立数据服务存储设备;
所述公共租户机房和所述独立租户机房经由所述系统的外部调用路由为不同租户的客户端设备提供网约车服务,并且包括:
为产生的不同租户的业务数据分配全局唯一标识;
将产生的所述不同租户的业务数据条目存储在每个租户对应的存储目标中,所述条目包括所述全局唯一标识项和租户标识项。


2.如权利要求1所述的系统,其中,所述公共租户机房还包括:
公共基础数据存储设备,用于存储系统元数据和管理数据。


3.如权利要求1所述的系统,其中,所述独立租户机房还包括:
独立基础数据存储设备,用于存储为所述第二租户提供服务所需的系统元数据和管理数据。


4.如权利要求1所述的系统,其中,所述公共租户机房还包括:
公共应用服务器,用于将网约车服务拆分成微服务进行部署并提供服务。


5.如权利要求4所述的系统,其中,所述独立租户机房还包括:
独立应用服务器,用于将所述第二租户所需的网约车服务的至少部分微服务进行部署并为所述第二租户的客户端设备提供网约车服务。


6.如权利要求4所述的系统,还包括:
业务调用路由,用于根据当前流量和调用规则,进行跨应用服务器的服务调用。


7.如权利要求6所述的系统,还包括:
数据调用路由,用于根据服务调用,跨机房调用所需的业务数据和/或基础数据。


8.如权利要求4所述的系统,还包括:
动态配置模块,用于根据租户要求,动态选择和布置微服务。


9.如权利要求4所述的系统,其中,同一个微服务在相同或不同机房的多个应用服务器上运行,并且利用选举机制确定为当前请求提供微服务的应用服务器。


10.如权利要求4所述的系统,其中,不...

【专利技术属性】
技术研发人员:于志杰
申请(专利权)人:北京白龙马云行科技有限公司
类型:发明
国别省市:北京;11

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

1