数据隔离存储方法和系统转让专利

申请号 : CN201510293714.0

文献号 : CN104966025B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李东海姚楠贺剑敏

申请人 : 明算科技(北京)股份有限公司

摘要 :

本发明实施例涉及一种数据隔离存储方法和系统,所述方法包括:第一应用将第一租户的用户输入的第一数据发送给数据交换引擎;所述数据交换引擎根据所述第一数据的数据属性确定所述第一数据的初级存储逻辑;所述数据交换引擎根据所述初级存储逻辑将所述第一数据发送给管理第一租户数据库的数据网关;所述数据网关将所述第一数据在所述第一租户数据库中进行存储。

权利要求 :

1.一种数据隔离存储方法,其特征在于,所述方法包括:第一应用将第一租户的用户输入的第一数据发送给数据交换引擎;

所述数据交换引擎根据所述第一数据的数据属性确定所述第一数据的初级存储逻辑;

其中,所述数据属性包括租户的信息;

所述数据交换引擎根据所述初级存储逻辑将所述第一数据发送给管理第一租户数据库的数据网关;

所述数据网关将所述第一数据在所述第一租户数据库中进行存储;

其中,所述数据网关包括多级网关,当所述多级为两级时,所述数据网关将所述第一数据在所述第一租户数据库中进行存储包括:所述数据网关中的一级网关根据所述第一数据的属性将所述第一数据发送给所述数据网关中的二级网关或将所述第一数据存储在一级网关管理的第一租户数据库的第一子数据库中;

当发送给所述二级网关时,通过所述二级网关将所述第一数据在所述二级网关管理的第一租户数据库的第二子数据库中进行存储。

2.根据权利要求1所述的数据隔离存储方法,其特征在于,所述方法还包括:所述数据网关对所述第一数据在所述第一租户数据库中的存储逻辑进行记录。

3.根据权利要求1所述的数据隔离存储方法,其特征在于,所述方法还包括:第一应用接收第一租户的用户输入的数据调用指令;所述数据调用指令用以请求调用第二数据;

所述第一应用根据所述数据调用指令产生第二数据调用请求,并发送给所述数据交换引擎;所述第二数据调用请求包括第一租户的信息和所述第二数据的属性信息;

所述数据交换引擎根据所述第二数据调用请求包括的所述第一租户的信息,向所述管理第一租户数据库的数据网关发送第二数据调用指令;所述第二数据调用指令包括所述第二数据的属性信息;

所述数据网关根据所述第二数据的属性信息确定所述第二数据在所述第一租户数据库中的存储逻辑,并根据所述存储逻辑获取所述第二数据;

所述数据网关将所述第二数据返回所述数据交换引擎;

所述数据交换引擎将所述第二数据发送给所述第一应用。

4.根据权利要求3所述的数据隔离存储方法,其特征在于,所述方法还包括:通过所述第一应用提供的用户界面,将第二数据向所述用户进行展示。

5.一种数据隔离存储系统,其特征在于,所述系统包括:多租户共享的应用平台,包括多个应用,用以向不同租户的不同用户提供对管理信息系统进行操作的交互界面;

数据交换引擎,用于所述多个应用与多个数据中心之间的数据交互;

所述多个数据中心,每个数据中心面向一个租户,包括数据网关和租户数据库;其中,所述数据网关用于所述数据交换引擎与所述租户数据库之间的数据交互;每个租户数据库归属于一个租户,用于对所述租户的数据进行存储;

其中,所述数据网关包括多级网关;

当所述数据网关包括一级网关和二级网关时,所述一级网关根据第一数据的属性将所述第一数据发送给所述数据网关中的二级网关,或将所述第一数据存储在一级网关管理的第一租户数据库的第一子数据库中;

当发送给所述二级网关时,通过所述二级网关将所述第一数据在所述二级网关管理的第一租户数据库的第二子数据库中进行存储。

6.根据权利要求5所述的数据隔离存储系统,其特征在于,当所述数据网关接收所述数据交换引擎发送的数据,并发送到所述租户数据库中进行存储时,所述数据网关还用于,生成所述数据在租户数据库中的存储逻辑,并进行存储。

7.根据权利要求5所述的数据隔离存储系统,其特征在于,所述数据交换引擎还用于,根据数据的数据属性确定与应用进行数据交互的数据中心;其中,所述数据属性包括租户的信息。

说明书 :

数据隔离存储方法和系统

技术领域

[0001] 本发明涉及计算机领域,尤其涉及一种数据隔离存储方法和系统。

背景技术

[0002] 对企业来说,人、物资、能源、资金、信息是5大重要资源。人、物资、能源、资金这些都是可见的有形资源,而信息是一种无形的资源。以前人们比较看重有形的资源,进入信息社会和知识经济时代以后,信息资源就显得日益重要。因为信息资源决定了如何更有效地利用物资资源。信息资源是人类与自然的斗争中得出的知识结晶,掌握了信息资源,就可以更好地利用有形资源,使有形资源发挥更好的效益。
[0003] 管理信息系统(Management Information System,MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新、拓展和维护的系统。细分下来可以认为是由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用六个方面组成。
[0004] 随着计算机软硬件技术和网络技术的飞速发展,为了信息的方便使用和信息共享的需要,人们将越来越多的信息存储在网络中存储设备上。然而信息存储的安全性却因此降低了许多,存储的信息一旦丢失或被窃取,会给企业带来灾难性的打击。因此如何更加安全的进行信息存储,越来越引起人们的关注。

发明内容

[0005] 本发明实施例提供了一种数据隔离存储方法和系统,针对不同租户设立相互独立的数据中心,通过数据交换引擎识别出进行数据交互的数据中心,再通过数据中心下的数据网关来进行数据在租户数据库中存储逻辑的管理,从而实现了租户的数据存储管理与系统网络的隔离,有效的保障了管理信息系统中租户数据存储的安全性。同时在系统进行租户扩展时,能够确保完全不会影响到现有租户的数据安全。
[0006] 第一方面,本发明实施例提供了一种数据隔离存储方法,所述方法包括:
[0007] 第一应用将第一租户的用户输入的第一数据发送给数据交换引擎;
[0008] 所述数据交换引擎根据所述第一数据的数据属性确定所述第一数据的初级存储逻辑;
[0009] 所述数据交换引擎根据所述初级存储逻辑将所述第一数据发送给管理第一租户数据库的数据网关;
[0010] 所述数据网关将所述第一数据在所述第一租户数据库中进行存储。
[0011] 优选的,所述方法还包括:
[0012] 所述数据网关对所述第一数据在所述第一租户数据库中的存储逻辑进行记录。
[0013] 优选的,所述数据网关包括多级网关,当所述多级为两级时,所述数据网关将所述第一数据在所述第一租户数据库中进行存储包括:
[0014] 所述数据网关中的一级网关根据所述第一数据的属性将所述第一数据发送给所述数据网关中的二级网关或将所述第一数据存储在一级网关管理的第一租户数据库的第一子数据库中;
[0015] 当发送给所述二级网关时,通过所述二级网关将所述第一数据在所述二级网关管理的第一租户数据库的第二子数据库中进行存储。
[0016] 优选的,所述方法还包括:
[0017] 第一应用接收第一租户的用户输入的数据调用指令;所述数据调用指令用以请求调用第二数据;
[0018] 所述第一应用根据所述数据调用指令产生第二数据调用请求,并发送给所述数据交换引擎;所述第二数据调用请求包括第一租户的信息和所述第二数据的属性信息;
[0019] 所述数据交换引擎根据所述第二数据调用请求包括的所述第一租户的信息,向所述管理第一租户数据库的数据网关发送第二数据调用指令;所述第二数据调用指令包括所述第二数据的属性信息;
[0020] 所述数据网关根据所述第二数据的属性信息确定所述第二数据在所述第一租户数据库中的存储逻辑,并根据所述存储逻辑获取所述第二数据;
[0021] 所述数据网关将所述第二数据返回所述数据交换引擎;
[0022] 所述数据交换引擎将所述第二数据发送给所述第一应用。
[0023] 进一步优选的,所述方法还包括:
[0024] 通过所述第一应用提供的用户界面,将第二数据向所述用户进行展示。
[0025] 第二方面,本发明实施例提供了一种面向多租户的数据存储系统,所述系统包括:
[0026] 多租户共享的应用平台,包括多个应用,用以向不同租户的不同用户提供对管理信息系统进行操作的交互界面;
[0027] 数据交换引擎,用于所述多个应用与多个数据中心之间的数据交互;
[0028] 所述多个数据中心,每个数据中心面向一个租户,包括数据网关和租户数据库;其中,所述数据网关用于所述数据交换引擎与所述租户数据库之间的数据交互;每个租户数据库归属于一个租户,用于对所述租户的数据进行存储。
[0029] 优选的,当所述数据网关接收所述数据交换引擎发送的数据,并发送到所述租户数据库中进行存储时,所述数据网关还用于,生成所述数据在租户数据库中的存储逻辑,并进行存储。
[0030] 优选的,所述数据交换引擎还用于,根据数据的数据属性确定与应用进行数据交互的数据中心。
[0031] 优选的,所述数据网关包括多级网关。
[0032] 进一步优选的,当所述数据网关包括一级网关和二级网关时,所述一级网关根据所述第一数据的属性将所述第一数据发送给所述数据网关中的二级网关,或将所述第一数据存储在一级网关管理的第一租户数据库的第一子数据库中;
[0033] 当发送给所述二级网关时,通过所述二级网关将所述第一数据在所述二级网关管理的第一租户数据库的第二子数据库中进行存储。
[0034] 本发明提出的数据隔离存储方法,针对不同租户设立相互独立的数据中心,通过数据交换引擎识别出进行数据交互的数据中心,再通过数据中心下的数据网关来进行数据在租户数据库中存储逻辑的管理,从而实现了租户的数据存储管理与系统网络的隔离,有效的保障了管理信息系统中租户数据存储的安全性,同时也保证了系统具有良好的可扩展性能。

附图说明

[0035] 图1为本发明实施例提供的一种数据隔离存储方法流程图;
[0036] 图2为本发明实施例提供的一种数据调用方法流程图;
[0037] 图3为本发明实施例提供的一种数据隔离存储系统的框图;
[0038] 图4为本发明实施例提供的另一种数据隔离存储系统的框图。

具体实施方式

[0039] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
[0040] 在管理信息系统中,其运营平台往往是针对多个租户开放的,加载在运营平台上的多个应用能够向租户提供用户界面,从而使每个租户下的各用户能够使用管理信息系统提供的各种服务。
[0041] 下面以图1为例详细说明本发明实施例提供的数据隔离存储方法,图1为本发明实施例提供的一种数据隔离存储方法流程图。本发明实施例方法的实施主体为管理信息系统的运营平台。图3显示了本发明实施例提出的数据隔离存储系统的框图。结合图1和图3所示,该方法包括如下步骤:
[0042] 步骤110,第一应用将第一租户的用户输入的第一数据发送给数据交换引擎;
[0043] 具体的,第一应用是指运营平台上加载的多个应用中的一个。运营平台对多租户同时开放,当某租户下的用户通过第一应用的用户界面进行数据输入时,第一应用能够根据接收到的数据和输入该数据的租户信息对收到的数据进行处理之后发送给数据交换引擎。其中,在发送数据的数据属性中记录有该租户信息。
[0044] 步骤120,所述数据交换引擎根据所述第一数据的数据属性确定所述第一数据的初级存储逻辑;
[0045] 具体的,数据交换引擎是面向所有应用的,是管理信息系统中数据在后台存储和前台应用之间的交换接口。
[0046] 在本发明实施例中,数据交换引擎主要的作用是根据数据的数据属性确定与应用进行数据交互的数据中心。
[0047] 在系统中包括有多个数据中心,每个数据中心面向一个租户,数据中心都包括数据网关和租户数据库。
[0048] 在数据交换引擎中,将数据所述的租户属性与数据中心面向的租户之间的对应关系记录为初级存储逻辑。
[0049] 步骤130,所述数据交换引擎根据所述初级存储逻辑将所述第一数据发送给管理第一租户数据库的数据网关;
[0050] 具体的,根据上述所述的初级存储逻辑,数据交换引擎就可以确定数据需要发送到哪个租户的数据中心的数据网关。比如,在第一数据的数据属性中记录有第一租户的信息,那么数据交换引擎就根据第一租户的信息,通过初级存储逻辑确定将第一数据传送到管理第一租户数据库的数据网关。
[0051] 步骤140,所述数据网关将所述第一数据在所述第一租户数据库中进行存储。
[0052] 具体的,数据网关用于确定并记录数据在租户数据库中的存储逻辑。
[0053] 进一步的,数据的存储可以采用传统的集中式存储,也可以采用分布式存储。
[0054] 数据在租户数据库中的存储可以以元数据形式进行存储,此时需要数据交换引擎对数据进行存储的时候,采用一些数据处理的方法,将不同应用的数据先进行数据结构转换和数据拆分,将数据拆分为数据字段并转换为符合数据中心下数据字典规定的元数据的数据结构,再发送到数据网关,通过数据网关在租户数据库进行存储。
[0055] 因为数据网关是可以由租户自行管理的,因此根据租户的需求,可以将数据网关设置为一级,也可以设置成多级。同样的,一个租户的租户数据库也可以包括有多个子数据库。
[0056] 以数据网关包括一级网关和二级网关的情况为例进行说明,此时系统架构可以如图4所示。
[0057] 当所述数据网关包括一级网关和二级网关时,所述一级网关根据所述第一数据的属性将所述第一数据发送给所述数据网关中的二级网关,或将所述第一数据存储在一级网关管理的第一租户数据库的第一子数据库中;
[0058] 当发送给所述二级网关时,通过所述二级网关将所述第一数据在所述二级网关管理的第一租户数据库的第二子数据库中进行存储。
[0059] 比如,某个企业的管理信息系统中,规定将生产数据存储在一级网关管理的第一子数据库中,将更为私密的财务数据存储在二级网关管理的第二子数据库中。在数据存储时,只需要根据一级网关数据属性确认该数据是财务数据还是生产数据,即可确定是在第一子数据库中进行存储,还是在第二子数据库中进行存储。
[0060] 相应的,还可以对企业的每个用户设定权限,在用户进行数据调用时,通过网关识别请求数据调用的用户的权限,比如生产数据的调用权限可以对所有用户开放,财务数据只对管理人员和财务部门人员开放。因此在财务数据被请求调用时,就可以通过二级网关先确认提出调用请求的用户是否是管理人员或财务部门人员,如果确认有权限,再进行数据调用。其中,用户权限信息可以被携带在数据调用请求中。
[0061] 对于在上述实施例提出的通过租户私有的数据网关访问租户数据库的方式我们称为非托管式存储,当然,在支持非托管式存储的管理信息系统中,也可以同时存在托管式存储,即租户数据库的存储逻辑管理直接通过数据交换引擎来执行,即数据在租户数据库和应用之间直接通过数据交换引擎进行交互。在图3和图4所示的系统中,均包括了托管式存储和非托管式存储两种方式。其中,本发明提出的非托管式存储能够更加有效的实现数据的存储隔离。
[0062] 当租户出于网络安全或其他方面考虑需要暂停对租户数据库的数据写入和读取时,只要关闭数据网关即可将租户数据库从整个系统中下线。
[0063] 当管理信息系统增加新的租户时,只需要相应的配置增加针对该租户的数据中心(数据网关+租户数据库)即可。完全不会影响到使用管理信息系统应用平台的其他租户。
[0064] 本发明提出的数据隔离存储方法,针对不同租户设立相互独立的数据中心,通过数据交换引擎识别出进行数据交互的数据中心,再通过数据中心下的数据网关来进行数据在租户数据库中存储逻辑的管理,从而实现了租户的数据存储管理与系统网络的隔离,有效的保障了管理信息系统中租户数据存储的安全性,同时也保证了系统具有良好的可扩展性能。
[0065] 上述过程中以图1为例说明了本发明实施例提供的数据隔离存储方法。下面,以图2并结合图3为例,说明本发明实施例提供的基于上述数据隔离存储方法的数据调用方法。
[0066] 结合图2和图3所示,该数据调用方法包括如下步骤:
[0067] 步骤210,第一应用接收第一租户的用户输入的数据调用指令;所述数据调用指令用以请求调用第二数据;
[0068] 具体的,当用户需要在管理信息系统的某个应用调用数据时,通过应用提供的用户界面会输入数据调用指令,该指令可能是通过点击应用提供的用户界面上的按钮,如“查询”按钮产生的,也可能是在用户操作启动应用时通过开启应用用户界面的动作产生的,还可能是以其他操作方式产生的。
[0069] 步骤220,所述第一应用根据所述数据调用指令产生第二数据调用请求,并发送给所述数据交换引擎;所述第二数据调用请求包括第一租户的信息和所述第二数据的属性信息;
[0070] 具体的,应用接收到用户的数据调用指令时,会对指令进行解析得到需要调用的数据的一些属性信息和发出调用指令的用户归属的租户的信息。其中,数据的属性信息可以包括用于描述这个数据的相关项信息,例如用户请求调用的数据时某部门的人员名单,则被请求调用数据的属性信息中就可以包括这个部门的名称,还可以包括描述被请求调用数据的含义信息,如“人名”,等等。
[0071] 应用根据数据调用指令生成数据调用请求时会将这些信息都加载到调用请求中,发送给数据交换引擎。
[0072] 步骤230,所述数据交换引擎根据所述第二数据调用请求包括的所述第一租户的信息,向所述管理第一租户数据库的数据网关发送第二数据调用指令;所述第二数据调用指令包括所述第二数据的属性信息;
[0073] 具体的,数据交换引擎收到数据调用请求之后,会解析出其中携带的租户信息。数据交换引擎根据数据的数据属性确定与应用进行数据交互的数据中心。因为,在数据交换引擎中包括管理租户和数据中心对应关系的存储管理模块,因此通过数据调用请求携带的租户信息,就可以确定出需要调用的数据是存储于哪个数据中心的。
[0074] 数据交换引擎在确认数据中心之后,会向该数据中心发送数据调用指令,在数据调用指令中包括所需调用数据的属性信息。
[0075] 步骤240,所述数据网关根据所述第二数据的属性信息确定所述第二数据在所述第一租户数据库中的存储逻辑,并根据所述存储逻辑获取所述第二数据;
[0076] 具体的,数据调用指令被发送到数据中心的数据网关,通过数据调用指令包括的所需调用数据的属性信息,确定所需数据的数据存储逻辑,随后数据存储逻辑在租户数据库中获取所需调用的数据。
[0077] 步骤250,所述数据网关将所述第二数据返回所述数据交换引擎;
[0078] 具体的,数据网关获取到数据之后,将数据首先返回到数据交换引擎。
[0079] 步骤260,所述数据交换引擎将所述第二数据发送给所述第一应用。
[0080] 具体的,数据交换引擎将调用到的数据发送给发出数据调用请求的应用。如果数据在租户数据库中是以元数据形式存储的,那么数据交换引擎会首先通过调用功能模块,将获取的元数据字段进行数据结构转换和数据拼接,将元数据字段转换为应用支持的数据结构并拼接成数据在发送给应用。
[0081] 最后,还可以通过第一应用提供的用户界面,将第二数据向用户进行展示或者进行其他所需的数据处理。
[0082] 相应的,本发明实施例还提供了一种能够用以实现上述数据隔离存储方法的数据隔离存储系统,在本实施例中,数据隔离存储系统的框图可以如图3所示,主要包括:多租户共享的应用平台1、数据交换引擎2和多个数据中心(包括数据中心31、数据中心32和数据中心33)。
[0083] 多租户共享的应用平台1包括多个应用,用以向不同租户的不同用户提供对管理信息系统进行操作的交互界面;管理信息系统中,可以支持针对不同租户多种用户权限的设置,提供给不同租户的不同用户的交互界面可以是根据权限而不完全相同的。
[0084] 数据交换引擎2,用于所述多个应用与多个数据中心之间的数据交互。数据交换引擎2具有根据数据的数据属性确定与应用进行数据交互的数据中心的功能。
[0085] 多个数据中心(图中所示包括数据中心31、数据中心32和数据中心33),每个数据中心面向一个租户,包括数据网关4和租户数据库(为区分不同租户,图中所示为5-1、5-2和5-3,以下除非针对某个租户进行特殊说明,都统称为租户数据库5);其中,所述数据网关4用于所述数据交换引擎2与所述租户数据库5之间的数据交互;每个租户数据库5归属于一个租户,用于对所述租户的数据进行存储。
[0086] 当租户的用户通过应用向数据中心存储数据时,所述应用将数据发送给所述数据交换引擎2。数据交换引擎2接收应用发送的数据,根据数据识别出租户的信息,并根据租户的信息确定对数据进行存储的在数据中心。最后通过数据中心的数据网关4对数据的存储逻辑进行管理,进一步确定对数据进行存储的租户数据库5,随后再进行数据存储。
[0087] 当租户的用户通过应用向数据中心请求数据时,应用生成数据调用请求,并发送给数据交换引擎2。数据交换引擎2接收应用发送的数据调用请求,根据数据调用请求识别出租户的信息,并根据租户的信息确定存储数据的数据中心,随后数据交换引擎2将向该数据中心的数据网关4发送数据调用指令,用以数据网关4基于数据调用指令携带的被请求调用数据的数据属性,根据数据网关4管理的存储逻辑,确定数据在租户数据库5中的存储区域,从而调用到该数据。
[0088] 图4还示出了另一种数据隔离存储系统的架构,其中数据网关包括多级网关。
[0089] 在这个系统中,其他各个部分的功能都与图3所示系统的相应部分功能相同,仅是数据网关的工作过程略有差别。下面只针对数据网关部分进行说明。
[0090] 如图4所示,数据网关4包括一级网关41和二级网关42,其数据存储过程为:
[0091] 一级网关41根据数据的属性将数据发送给数据网关4中的二级网关42或将数据存储在一级网关41管理的第一租户数据库的第一子数据库(图中未单独示出)中;
[0092] 当发送给二级网关42时,通过二级网关42将数据在二级网关42管理的第一租户数据库的第二子数据库(图中未单独示出)中进行存储。
[0093] 数据调用的过程与之类似,不再赘述。
[0094] 本发明提出的数据隔离存储系统,针对不同租户设立相互独立的数据中心,通过数据交换引擎识别出进行数据交互的数据中心,再通过数据中心下的数据网关来进行数据在租户数据库中存储逻辑的管理,从而实现了租户的数据存储管理与系统网络的隔离,有效的保障了管理信息系统中租户数据存储的安全性,同时也保证了系统具有良好的可扩展性能。
[0095] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
[0096] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0097] 以上所述的具体实施方式,对本发明实施例的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。