一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多租户数据的隔离方法、服务器及系统与流程

2022-11-30 08:18:55 来源:中国专利 TAG:
1.本发明涉及数据库处理
技术领域
:,尤其涉及一种多租户数据的隔离方法、服务器及系统。
背景技术
::2.数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。随着信息技术的不断发展,数据库也随之应用到各行各业。由于数据库的广泛应用以及不同的用户需求,数据库的利用率和管理效率也变的越发重要,尤其是针对多租户的数据隔离。但是,目前多租户的数据隔离方案在如下问题:3.多租户隔离配置效率低,隔离不彻底。技术实现要素:4.鉴于上述问题,提出了本发明以便提供一种多租户数据的隔离方法、服务器及系统,以解决或部分解决多租户隔离配置效率低,隔离不彻底的技术问题。5.第一方面,提供一种可待机系统,包括:6.一种多租户数据的隔离方法,包括:7.监听租户表中对目标租户的更新事件;所述租户表位于数据库的公共数据空间中,所述租户表存储有租户的租户标识;基于所述更新事件和所述目标租户的目标标识,在数据库中更新目标数据空间;所述目标数据空间为目标租户的私有数据空间。8.可选的,所述更新事件为插入所述目标标识;所述基于所述更新事件和所述目标租户的目标标识,在数据库中更新目标数据空间,包括:9.基于所述更新事件和所述目标标识,在所述数据库中创建所述目标数据空间;将预设的数据表结构复制至所述目标数据空间。10.可选的,所述目标数据空间的名称与所述目标标识相匹配。11.可选的,所述将预设的数据表结构复制至所述目标数据空间之后,还包括:12.在所述目标数据空间中创建目标用户;其中,所述目标用户的用户名包含名称标识,所述名称标识与所述目标标识相匹配。13.可选的,所述用户名包括:账户名、连接字符和所述名称标识。14.可选的,所述名称标识与所述目标标识均为所述目标租户的租户名。15.可选的,所述在所述目标数据空间中创建目标用户之后,还包括:16.拦截所述目标用户的操作信息,获得所述名称标识和原始操作指令;基于所述名称标识和原始操作指令,获得携带所述名称标识的数据库操作指令;所述数据库操作指令用于在所述目标数据空间中执行。17.可选的,所述更新事件为删除目标标识;所述基于所述更新事件和所述目标租户的目标标识,在数据库中更新目标数据空间,包括:18.基于所述更新事件和所述目标标识,在所述数据库中删除所述目标数据空间。19.第二方面,基于同一发明构思,本技术通过一实施例提供如下技术方案:20.一种数据库服务器,包括有存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述数据库服务器执行上述第一方面中任一项所述方法的步骤。21.第三方面,基于同一发明构思,本技术通过一实施例提供如下技术方案:22.一种多租户数据的操作方法,包括:23.拦截目标用户的操作信息,获得目标租户的名称标识和原始操作指令;所述目标租户为所述目标用户对应的租户;基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令;将所述数据库操作指令路由至数据库,以使所述数据库基于所述名称标识定位至所述目标租户的目标数据空间;所述数据库操作指令用于在所述目标数据空间中执行。24.可选的,所述拦截目标用户的操作信息,获得所述目标租户的名称标识,包括:25.拦截目标用户的操作信息,获得所述目标用户的用户名;基于所述用户名,获得所述名称标识。26.可选的,所述目标用户的用户名包括:账户名、连接字符和租户名,所述名称标识与所述租户名相匹配。27.可选的,所述基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令,包括:28.将所述名称标识添加到所述原始操作指令中的表结构名称之前。29.第四方面,基于同一发明构思,本技术通过一实施例提供如下技术方案:30.一种业务端服务器,包括有存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述业务端服务器执行上述第三方面中任一项所述方法的步骤。31.第五方面,基于同一发明构思,本技术通过一实施例提供如下技术方案:32.一种数据库系统,包括至少一个业务端应用程序和至少一个数据库,所述至少一个业务端应用程序和所述至少一个数据库进行数据交互;其中:33.所述业务端用于:拦截目标用户的操作信息,获得目标租户的名称标识和原始操作指令;所述目标租户为所述目标用户对应的租户;基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令;将所述数据库操作指令路由至数据库;所述数据库用于:接收所述数据库操作指令,并基于所述名称标识定位至所述目标租户的目标数据空间;在所述目标数据空间中执行所述数据库操作指令。34.本发明实施例中提供的一种多租户数据的隔离方法,通过监听租户表中对目标租户的更新事件;租户表位于数据库的公共数据空间中,租户表存储有租户的租户标识;然后,基于更新事件和目标租户的目标标识,在数据库中更新目标数据空间;目标数据空间为目标租户的私有数据空间。本发明实施例中通过监听公共数据空间中的租户表的更新事件,来为租户创建独立的私有数据空间,保证各个租户之间完全隔离;并且更新租户表就可对私有数据空间进行配置,配置更加灵活,提高了配置效率。35.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明36.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:37.图1为本发明实施例中一种多租户数据的隔离方法的流程图;38.图2为本发明实施例中实现多租户隔离后的数据空间的结构示意图;39.图3为本发明实施例中一种多租户数据的操作方法的流程图;40.图4为本发明实施例中一种数据库系统中业务端与数据库之间的工作流程图;41.图5为本发明实施例中一种多租户数据的隔离方法的应用场景示意图。具体实施方式42.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。43.第一实施例44.请参阅图1,本实施例中提供的一种多租户数据的隔离方法,该方法可应用于数据库或数据库系统中。该多租户数据的隔离方法包括:45.步骤s10:监听租户表中对目标租户的更新事件;所述租户表位于数据库的公共数据空间中,所述租户表存储有租户的租户标识。46.在步骤s10中,数据库或数据库系统中包含的数据库的类型不作限制,例如为:mysql、postgresql、mariadb、sqlite、oracle、db2、等等;数据空间指数据库中的schema(模式)。在数据库中,schema是数据库的组织和结构,模式中包含了schema对象,可以是表(table)、列(column)、数据类型(datatype)、视图(view)、存储过程(storedprocedures)、关系(relationships)、主键(primarykey)、外键(foreignkey)、等等。47.在步骤s10之前,可在数据库中预设的公共数据空间,并在该预设的公共数据空间中创建租户表,每个用户登录时均可对该公共数据空间的租户表进行访问。该租户表中的一条数据至少包括:租户的租户标识;此外,还可包括租户的描述信息。租户标识可为识别租户的字符串、编号、租户名、等等。描述信息用于对租户的特征、身份、权限等进行描述或介绍,以便于识别或了解租户的详细信息。可通过在数据库中预设一触发器,实现监听租户表中对目标租户的更新事件。可采用现有语法结构和对应的语句集合构成触发器,触发器实现的功能为:当监听到在租户表中新增数据,在租户表中修改数据,或在租户表中删除数据时,触发其执行对应的动作;该动作可以是后续的执行步骤,也可以是触发执行后续步骤的信号,不作限制。例如,当对租户表中进行insert(插入)语句、update(修改/更新)语句和delete(删除)语句时,该触发器可被激活以执行步骤s20。48.进一步的,在步骤s10之前还可在公共数据空间中创建数据表结构。创建好的数据表结构用于在新建数据空间时复制至新建的数据空间,提高了创建数据空间的效率。表结构包括字段、类型、主键、外键等等,此外,还可根据需要创建视图、存储过程等。49.步骤s20:基于所述更新事件和所述目标租户的目标标识,在数据库中更新目标数据空间;所述目标数据空间为目标租户的私有数据空间。50.在步骤s20中,每个私有数据空间与其他数据空间相互独立,使得不同租户之间完全隔离,不同租户的用户对其对应的私有数据空间的访问和管理互不影响。更新事件可包括三种情况如下:在租户表中新增目标租户的相关数据、在租户表中修改目标租户的相关数据以及在租户表中删除目标租户的相关数据,下面分别对每种情况的实现步骤进行详细阐述:51.一、在租户表中新增目标租户的相关数据。52.在租户表中新增目标租户的相关数据包括:新增目标租户的目标标识,目标标识即为目标租户的租户标识。新增目标标识后可说明在数据库中需要新建目标租户。此时,监听到更新事件,将触发执行目标数据空间的配置动作。还可通过函数配置使得在配置目标数据空间时,实现一个目标标识对应创建一个目标数据空间,或一个目标标识对应创建多个目标数据空间,或一个目标标识对应关联已有的数据空间,不作限制。53.1)当目标标识对应一个目标数据空间时,可由更新事件触发,并根据目标标识,在数据库中创建目标数据空间;然后,将数据表结构复制至目标数据空间,完成了目标数据空间的创建和配置。54.具体的,创建目标数据空间的动作可由数据库中对应的指令集合或预设的指令集合实现,如相应的函数或存储过程来处理触发器对公共数据空间中的租户表的更新事件,数据库中指令集合的设置与应用为现有技术手段,本例中不再赘述。55.在本实施例中,通过监控租户表实现目标租户的私有数据空间的新建,保证该目标租户创建后自动生成独立的目标数据空间,实现了对目标租户和数据空间的灵活配置和动态创建,配置效率高;并且使得不同租户的不同数据空间之间的数据能够达到完全隔离,互不影响。56.进一步的,在创建目标数据空间时,目标数据空间的名称可与目标标识相匹配。这样可通过目标标识将目标租户与目标数据空间进行关联,使得通过目标标识能够定位到目标数据空间。匹配的可包括如下几种方式:1、目标数据空间的名称设置为目标标识,创建目标数据空间时配置效率高,结构简单;2、目标数据空间名称包括目标标识,配置更加灵活,例如,目标数据空间的名称所包含的一部分字段为目标标识;3、目标数据空间名称与目标标识形成对应关系,使得根据目标标识能够定位到目标数据空间,具有较高的配置灵活性,可实现个性化。57.在完成目标数据空间的创建之后,可在目标数据空间中创建目标用户。该目标用户可为管理员用户,也可为其他普通用户。首先可创建目标租户的管理员用户,其他普通用户可通过该管理员用户进行添加。目标用户的用户名包含名称标识,名称标识与目标标识相匹配。58.完成目标用户创建后的私有数据空间与公共数据空间的关系如图2所示,其中,当插入租户标识1时,创建私有数据空间1,当插入租户标识2时,创建私有数据空间2,以此类推。通过名称标识与目标标识的匹配关系,可保证通过用户名就可定位到对应的目标租户以及目标数据空间,提高配置效率。同时,通过用户名对租户以及数据空间进行定位,可保证多租户之间的用户操作业务数据的时候完全隔离互不交叉影响。59.同样的,名称标识可为识别目标租户的字符串、编号、租户名、等等。名称标识和目标标识可相同,也可不同,不作限制。需要说明书的是,名称标识、目标标识以及目标数据空间的名称不相同时,名称标识、目标标识以及目标数据空间的名称之间的匹配关系的实现不作限制。例如,可通过构建匹配关系表实现,在该匹配关系表中存储每个目标标识的关联关系;也可通过固定的格式实现,相匹配的名称标识、目标标识以及目标数据空间的名称均具有相同的字段,可参照后述案例。60.用户名可包括:账户名、连接字符和名称标识。其中,账户名可用于区分识别不同的用户;连接字符可为任意的字符,字符数量可为一个或多个。具体的,连接字符可为特定的阿拉伯数字、希腊字母、英文字母、标点符号、空格符、其他特殊符号等等;其中,标点符号可为中文标点也可为英文标点,某些字符可为大写也可为小写,不作限制。通过用户名中的名称标识,可将不同租户的用户进行区分隔离,使得在实现用户之间互不影响。较优的,第二标识可为目标租户的租户名,这样可便于识别和高效率定位目标数据空间。61.例如,用户名可为“账户名@租户名”、“账户名@租户id”、“账户名1租户名”、“账户名%租户名”、“账户名a租户名”、账户名/租户名、“账户名&租户id”、“账户名@&租户名”、“账户名&&租户名”、“账户名租户名”等等。62.又例如,租户表中插入的目标标识为“0001”,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在数据库中新建一目标数据空间,该目标数据空间的名称为目标标识,为“0001”;同时,在目标数据空间中新建一目标用户作为管理员用户。若目标标识“0001”对应的租户名也为“0001”可采用“wq@0001”作为用户名。其中,“wq”为账户名,“@”为连接字符,“0001”为名称标识,此时,目标标识和名称标识相同,均为租户名,本例中的实现方式能具有名称结构简单的特点,具有较高的配置效率,也保证了数据库指令的操作效率。63.又例如,租户表中插入的目标标识为“0001”,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在数据库中新建一目标数据空间,该目标数据空间的名称与目标标识相匹配,可为“0001”;同时,在目标数据空间中新建一目标用户作为管理员用户。若目标标识“0001”对应的租户名为“vip”可采用“wq@vip”作为用户名。其中,“wq”为账户名,“@”为连接字符,“vip”为与目标租户对应的目标标识。本例中的实现方式,能够对租户中的用户实现灵活配置,以实现不同的区分需求。进一步的,本例中还可在租户“vip”中创建“wq@user”作为用户名,此时“user”与“vip”均为名称标识,通过“user”替代“vip”以避免用户暴露自己所属的租户信息,达到隐私保护的目的。64.又例如,租户表中插入的目标标识为“0001”,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在数据库中新建一目标数据空间,该目标数据空间的名称与目标标识相匹配,可为“0001a”;同时,在目标数据空间中新建一目标用户作为管理员用户。若目标标识“0001”对应的租户名也为“0001”可采用“wq@0001”作为用户名。其中,“wq”为账户名,“@”为连接字符,“0001”为租户名,名称标识和目标标识相同,也为租户名。本例中的实现方式,可为同一目标租户匹配多个数据空间提供配置条件。65.又例如,租户表中插入的目标标识为“0001”,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在数据库中新建一目标数据空间,该目标数据空间的名称与目标标识相匹配,可为“0001a”;同时,在目标数据空间中新建一目标用户作为管理员用户。若目标标识“0001”对应的租户名为“vip”可采用“wq@vip01”作为用户名。其中,“wq”为账户名,“@”为连接字符,“vip01”为与目标租户对应的目标标识。本例中的实现方式提高了配置的灵活性,对数据空间以及数据空间中的用户均可实现灵活配置,能够实现较好的租户内部管理。66.通过上述例子,可对其他实现方式进类推获取,本实施例中不再赘述。67.2)当目标标识对应多个目标数据空间时,与上述1)中不同的是,此时创建的目标数据空间为多个。每个目标数据空间的名称均与目标标识向匹配,这样可灵活的为目标租户配置不同的目标数据空间,且配置效率高。在每个目标数据空间中均可创建一用户作为管理员用户,还可创建其他普通用户。68.例如,租户表中插入的目标租户“vip”的目标标识为“0001”,并且该目标标识的映射关系为一对多,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在数据库中新建多个目标数据空间,该多个目标数据空间的名称与目标标识相匹配,可分别为“0001a”、“0001b”、“0001c”……。同时,在每个目标数据空间中分别新建一目标用户作为管理员用户,如在目标数据空间“0001a”中创建的目标用户的用户名“wq@vipa01”,在目标数据空间“0001b”中创建的目标用户的用户名“wq@vipb01”,以此类推。其中,“wq”为账户名,“@”为连接字符,“vipa01”为与目标租户和目标数据空间“0001a”对应的名称标识,“vipb01”为与目标租户和目标数据空间“0001b”对应的名称标识。69.3)当目标标识与其他识别标识对应一目标数据空间时,与上述1)中不同的是。其他识别标识新增到租户表中时,已经完成目标数据空间的创建;当新增目标标识时,可构建目标标识与目标数据空间的匹配关系,并在目标数据空间新建目标用户作为该租户的管理员用户。具体的,可通过对目标数据空间的名称进行更新,将目标数据空间的名称增加目标标识,以通过目标标识识别目标数据空间与目标租户的匹配关系,实现匹配关系的构建。70.例如,租户表中插入的目标租户“vip”的目标标识为“0001”,并且该目标标识“0001”的映射到已有的目标数据空间“0002a”,此时触发器触发并反馈,以使数据库执行目标数据空间的更新;在目标数据空间新建目标租户“vip”对应的管理员用户“wq@vip01”。其中,“wq”为账户名,“@”为连接字符,“vip01”为与目标租户对应的名称标识。还可将目标数据空间的名称添加目标标识“0001”,此时目标数据空间的名称可更新为“0002a&0001a”。71.二、在租户表中调整目标租户的相关数据。72.若调整的租户表中对目标租户的描述数据,可不做处理。若调整的数据为租户表中的目标标识,则触发更新处理。具体的,可更新目标数据空间的名称,以及目标用户的名称标识,保证通过名称标识能够定位到该租户对应的目标数据空间。73.三、在租户表中删除目标租户的相关数据。74.在租户表中删除目标租户的的目标标识时,可基于目标标识,在数据库中删除目标数据空间。同时,将目标数据空间的数据表结构也进行删除。75.在本实施例中,通过上述三种情况可覆盖对租户的新建、调整以及删除操作,并且上述配置动作均通过租户表完成,提高了租户与数据空间的配置效率。并且,通过租户表对租户和租户的私有数据空间进行更新配置,可保证各个私有数据空间相互独立处于完全隔离状态,租户对应的用户也实现了完全隔离。各租户的业务数据的访问、修改等操作互不影响,隔离程度高。76.进一步的,本实施例在目标数据空间中创建目标用户之后,还包括:对目标数据空间进行业务数据的操作步骤。该操作步骤在实现时,包括如下过程:77.当目标用户对目标数据空间中的相应业务数据进行操作时,会向数据库发送对应的操作信息。此时,可对该目标用户的操作信息进行拦截,可预先定义一拦截器实现对操作信息的拦截。获得该操作信息后,解析并获得目标用户对应的名称标识和原始操作指令。该原始操作指令可为操作业务数据的sql(structuredquerylanguage,结构化查询语言)语句。在该原始操作指令中包含对目标数据空间中特定的数据表结构名称。然后,基于名称标识和原始操作指令,获得携带有名称标识的数据库操作指令;具体的,可将名称标识添加到原始操作指令对应的数据表结构的名称前,从而定位到对应的目标数据空间,以在目标数据空间中执行该数据库操作指令。78.本实施例中,通过拦截操作信息的方式可获取到名称标识,该名称标识又与目标租户以及目标数据空间匹配,当将原始操作指令进行处理后,可通过名称标识快速确定出目标数据空间,从而执行的数据库原始操作指令。由于拦截处理后得到的数据库操作指令通过名称标识进行定位,只能在目标数据空间执行,从而对不同租户对应的业务数据操作形成彻底隔离。79.需要说明的是,本发明方法可应用于数据库、数据库系统以及客户端应用中。另外,也可将该方法独立应用于一功能模块或一独立的软件程序中,当功能模块或软件程序运行时执行本实施例的方法。该独立的功能模块或软件程序还可嵌入到其他的数据库、数据库系统、数据库管理软件中进行使用。80.综上所述,本实施例中提供的一种多租户数据的隔离方法,通过监听数据库的公共数据空间中预设的租户表,获取租户表中对目标租户的更新事件;租户表存储有租户的租户标识;然后,基于更新事件和目标租户的目标标识,在数据库中更新目标数据空间;目标数据空间为目标租户的私有数据空间。本实施例中通过监听公共数据空间中的租户表的更新事件,来为租户创建独立的私有数据空间,保证各个租户之间完全隔离;并且更新租户表就可对私有数据空间进行配置,配置更加灵活,提高了配置效率。81.第二实施例82.基于同一发明构思,本实施例中提供数据库服务器,包括有存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述数据库服务器执行上述第一实施例中任一项所述方法的步骤。83.需要说明的是,本发明实施例所提供的数据库中,上述每个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,本实施例未提及之处可参考前述第一实施例中相应内容。84.第三实施例85.请参阅图3,基于同一发明构思,本实施例中提供一种多租户数据的操作方法,与第一实施例不同的是,该方法同于对操作业务数据的指令进行调整。该方法可应用于业务端应用中,以对不同用户的操作信息进行拦截处理。该多租户数据的操作方法包括:86.步骤s100:拦截目标用户的操作信息,获得目标租户的名称标识和原始操作指令;所述目标租户为所述目标用户对应的租户。87.在步骤s100中,目标租户、目标用户、名称标识、原始操作指令、操作信息等特征的含义、作用与第一实施例中所述的对应特征相同,可参照第一实施例中的内容进行理解,本实施例中不再阐述。本实施例中,可预先定义拦截器实现对操作信息的拦截。对操作信息进行解析获得目标用户对应的名称标识和原始操作指令。在该原始操作指令中包含对目标数据空间中特定的数据表结构名称。88.名称标识可基于目标用户的用户名获取,也即用户名中包含名称标识。具体的,目标用户的用户名可包括:账户名、连接字符和名称标识,名称标识与租户名相匹配。匹配的方式可为:名称标识与租户名相同;也可为名称标识的部分字段包含租户名,等等。89.例如,当租户名、名称标识均相同时,若目标用户对应的租户名为“vip”,则用户名可为“wq@vip”,“wq”为账户名,租户名“vip”也为名称标识。进一步的,名称标识还可为目标用户对应的租户名,也即用户名包括:账户名、连接字符和租户名。此时,用户名可为“wq@vip”,租户名和识别标识均为“vip”。90.步骤s200:基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令。91.在步骤s200中,数据库操作指令携带有识别标识,通过识别标识可定位到对应的目标数据空间并执行数据库操作指令。具体的,可将识别标识添加到原始操作指令对应的数据表结构的名称前,从而并与数据库定位对应的目标数据空间执行该数据库操作指令。92.步骤s300:将所述数据库操作指令路由至数据库,以使所述数据库基于所述名称标识定位至所述目标租户的目标数据空间;所述数据库操作指令用于在所述目标数据空间中执行。93.在步骤s300中,可将路由功能和步骤s100中的拦截器功能可集成到一路由器模块中。94.通过步骤s100-s300将原始操作指令进行拦截和修改,使得数据库得到该携带名称标识的数据库操作指令后,只会定位到对应的目标数据空间执行,完全隔离目标用户对其数据空间的业务操作,不影响其他数据空间。95.需要说明书的是,本实施例中所涉及的未作进一步解释的名词和描述,可参照前述第一实施例中的阐述。同时,每个步骤的细节所带来的未提及的有益效果,也可参照前述第一实施例中的阐述,本实施例不再赘述。96.第四实施例97.基于同一发明构思,本实施例中还提供了一种业务端服务器,包括有存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述业务端服务器执行上述第三实施例中任一项所述方法的步骤。98.需要说明的是,本发明实施例所提供的数据库中,上述每个步骤的具体实现及产生的技术效果和前述第一、第二和第三实施例相同,为简要描述,本实施例未提及之处可参考前述第一、第二和第三实施例中相应内容。99.第五实施例100.基于同一发明构思,本实施例中提供一种数据库系统,包括至少一个业务端和至少一个数据库,所述至少一个业务端和所述至少一个数据库进行数据交互;其中:101.所述业务端用于:拦截目标用户的操作信息,获得目标租户的名称标识和原始操作指令;所述目标租户为所述目标用户对应的租户;基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令;将所述数据库操作指令路由至数据库。102.所述数据库用于:接收所述数据库操作指令,并基于所述名称标识定位至所述目标租户的目标数据空间;在所述目标数据空间中执行所述数据库操作指令。103.如图4所示,数据库系统100包括:业务端101和数据库102;数据库102执行步骤s10和步骤s20,保证目标租户以及目标用户在数据库102中被创建。然后,目标租户可通过url(uniformresourcelocator,统一资源定位器)地址进行连接、鉴权和登录。然后向业务端101发送对应的操作信息,业务端101对该操作信息进行拦截、修改并路由至数据库102,也即执行步骤s100-s300。最后,数据库102收到数据库操作指令后定位至目标数据库进行执行。104.本实施例中的系统以及前述实施例中的方法所应用的业务端或数据库可部署至本地物理机,也可部署至云端,不作限制。105.需要说明书的是,本实施例中所涉及的未作进一步解释的名词和描述,可参照前述第一、第二、第三和第四实施例中的阐述。同时,每个步骤的细节所带来的未提及的有益效果,也可参照前述第一、第二、第三和第四实施例中的阐述,本实施例不再赘述。106.第六实施例107.基于同一发明构思,在本实施例中提供一种多租户数据的隔离方法,该方法可应用于一功能模块或一独立的软件程序中组成多租户数据隔离装置,如图5所示,以实现对数据库多租户的数据完全隔离。并且可配置效率高和灵活性强,局限性小,部署更加方便快捷。当该多租户数据隔离装置运行时可执行如下任一步骤:108.步骤s10:监听租户表中对目标租户的更新事件;所述租户表位于数据库的公共数据空间中,所述租户表存储有租户的租户标识;109.步骤s20:基于所述更新事件和所述目标租户的目标标识,在数据库中更新目标数据空间;所述目标数据空间为目标租户的私有数据空间;110.步骤s100:拦截目标用户的操作信息,获得目标租户的名称标识和原始操作指令;所述目标租户为所述目标用户对应的租户;111.步骤s200:基于所述名称标识和所述原始操作指令,获得携带所述名称标识的数据库操作指令;112.步骤s300:将所述数据库操作指令路由至数据库,以使所述数据库基于所述名称标识定位至所述目标租户的目标数据空间;所述数据库操作指令用于在所述目标数据空间中执行。113.需要说明书的是,本实施例中所涉及的步骤,以及未作进一步解释的名词和描述,可参照前述第一、第二、第三、第四和第五实施例中的阐述。同时,每个步骤的细节所带来的未提及的有益效果,也可参照前述第一、第二、第三、第四和第五实施例中的阐述,本实施例不再赘述。114.本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。115.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。116.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。117.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。118.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。119.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。120.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献