CN116881953B - 一种基于虚拟空间的数据隔离方法、设备及介质 - Google Patents
一种基于虚拟空间的数据隔离方法、设备及介质 Download PDFInfo
- Publication number
- CN116881953B CN116881953B CN202311148094.2A CN202311148094A CN116881953B CN 116881953 B CN116881953 B CN 116881953B CN 202311148094 A CN202311148094 A CN 202311148094A CN 116881953 B CN116881953 B CN 116881953B
- Authority
- CN
- China
- Prior art keywords
- data
- space
- virtual space
- entity
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000013499 data model Methods 0.000 claims abstract description 14
- 238000013475 authorization Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于虚拟空间的数据隔离方法、设备及介质,属于数据隔离技术领域,用于解决现有的数据隔离技术,难以让用户能够灵活地管理和操作数据,容易让不同环境下的数据产生干扰,不利于确保数据操作准确性和稳定性的技术问题。方法包括:根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于元数据的数据空间;对数据空间进行有关虚拟空间的数据写入判断,得到虚拟空间的数据写入类型;基于数据写入类型,对数据空间进行写入处理,生成虚拟空间数据;通过与数据写入类型对应的命名空间,对虚拟空间数据进行访问与查询处理,分别得到基于虚拟空间的访问数据以及查询数据,以实现基于虚拟空间的数据隔离处理。
Description
技术领域
本申请涉及数据隔离领域,尤其涉及一种基于虚拟空间的数据隔离方法、设备及介质。
背景技术
在一个复杂系统中,正式的业务数据和实验用的验证数据、演示数据、测试数据等,很难拆分。在一个复杂系统中,目前常见的数据隔离方式有两大类:
一、通过分库分表的方式进行数据隔离:有垂直分库分表、水平分库分表等不同方式。根据实际的业务场景,系统需要自行决定如何进行分库,整体实现方案比较复杂。
二、通过租户隔离的方式进行数据隔离:字段隔离、数据库隔离、数据库实例隔离。其中字段隔离是一种软隔离,其他两种都至少是数据库级别的隔离。并且,上述方式一般都是从租户这个维度进行隔离的,只有一个维度,不能解决一些公共数据多租户共享的问题。
现有的数据隔离可能会引入额外的性能开销,特别是在数据分散存储过程中。数据隔离方案可能增加系统的维护复杂性以及需要采取额外的措施来保证数据的一致性。并且,现有的数据隔离还可能引入权限配置等安全风险问题,不利于确保数据操作的准确性和稳定性,难以让用户能够灵活地管理和操作数据。
发明内容
本申请实施例提供了一种基于虚拟空间的数据隔离方法、设备及介质,用于解决如下技术问题:现有的数据隔离技术,难以让用户能够灵活地管理和操作数据,容易让不同环境下的数据产生干扰,不利于确保数据操作准确性和稳定性。
本申请实施例采用下述技术方案:
一方面,本申请实施例提供了一种基于虚拟空间的数据隔离方法,包括:根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于所述元数据的数据空间;对所述数据空间进行有关虚拟空间的数据写入判断,得到所述虚拟空间的数据写入类型;基于所述数据写入类型,对所述数据空间进行写入处理,生成虚拟空间数据;通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行访问与查询处理,分别得到基于所述虚拟空间的访问数据以及查询数据,以实现基于虚拟空间的数据隔离处理。
本申请实施例通过元数据赋予实体虚拟空间标识能力,将数据和虚拟环境紧密关联,从而实现数据隔离和灵活操作。还可以根据不同场景自动设置环境上下文,简化了用户的操作流程,提高了系统的易用性和效率。对于跨环境授权查询:还支持了特定授权权限,允许用户在特定情况下查询其他虚拟环境的数据,从而在必要时实现数据共享。
在一种可行的实施方式中,根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于所述元数据的数据空间,具体包括:基于所述元数据的实体虚拟空间标识技术,对所述数据结构进行标识配置,得到标识的数据结构;通过所述动态数据模型,对标识的数据结构进行数据实体的定义处理,确定出基于所述数据结构的命名空间属性;通过所述动态数据模型,对标识的数据结构进行有关数据实体的主子关系配置,得到基于所述数据结构的实体关联关系;其中,所述数据空间包括:所述命名空间属性以及所述实体关联关系。
在一种可行的实施方式中,对所述数据空间进行有关虚拟空间的数据写入判断,得到所述虚拟空间的数据写入类型,具体包括:对所述数据空间中的数据实体进行有关虚拟空间中上下文关联实体的数据定义判断;若所述虚拟空间能够对所述上下文关联实体自动定义,则将所述虚拟空间中的数据实体确定为上下文关联写入类型;若所述虚拟空间不能对所述上下文关联实体自动定义,则将所述虚拟空间中的数据实体确定为主子关系写入类型;其中,所述数据写入类型包括:所述上下文关联写入类型以及所述主子关系写入类型。
在一种可行的实施方式中,基于所述数据写入类型,对所述数据空间进行写入处理,生成虚拟空间数据,具体包括:若所述数据写入类型为所述上下文关联写入类型,则根据所述数据空间对应的预测空间,生成与所述上下文关联写入类型对应的第一命名空间数据;通过所述虚拟空间中的服务端,获取所述第一命名空间数据,并将所述第一命名空间信息发送到线程局部变量中;通过所述虚拟空间中的权限服务端,对所述第一命名空间数据进行权限信息的合法性判断,得到合法性结果信息;基于所述合法性结果信息,将所述第一命名空间数据自动配置到虚拟空间的数据实体上,得到基于所述上下文关联写入类型的上下文关联空间数据;其中,所述虚拟空间数据包括:所述上下文关联空间数据以及主实体空间数据。
在一种可行的实施方式中,基于所述数据写入类型,对所述数据空间进行写入处理,生成虚拟空间数据,所述方法还包括:若所述数据写入类型为所述主子关系写入类型,则对所述数据空间中的数据实体进行第一命名空间数据的启动判断;若所述第一命名空间数据为启动信息,则对所述数据实体进行第一命名空间数据是否存在判断;若所述主子关系写入类型下的数据实体不存在所述第一命名空间数据,则读取并生成与所述数据实体相关联的主实体数据;获取与所述主实体数据对应的第二命名空间数据;并将所述第二命名空间数据自动关联到所述虚拟空间的数据实体上,得到基于所述主子关系写入类型的主实体空间数据。
在一种可行的实施方式中,通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行访问处理,得到基于所述虚拟空间的访问数据,具体包括:基于访问请求信息,确定出待访问虚拟空间数据所属的数据空间;根据与所述数据空间对应的命名空间数据,将所述访问请求信息进行有关命名空间数据的相同定义,得到访问命名空间数据;通过所述虚拟空间中的线程局部变量,将所述访问命名空间数据配置到所述待访问虚拟空间数据中;对所述访问命名空间数据进行权限信息的合法性判断;基于合法性判断结果,对所述待访问虚拟空间数据进行数据访问,并生成所述访问数据。
在一种可行的实施方式中,在通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行查询处理,得到基于所述虚拟空间查询数据之前,所述方法还包括:基于跨空间的查询请求信息,确定出虚拟空间角色;其中,所述虚拟空间角色用于适配所述虚拟空间数据;将指定人员账号信息与所述虚拟空间角色进行关联处理,以实现对所述虚拟空间角色的跨空间查询授权;其中,所述指定人员账号信息为所述虚拟空间中已被授权查询的账号信息。
在一种可行的实施方式中,通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行查询处理,得到基于所述虚拟空间的查询数据,具体包括:获取所述虚拟空间角色中查询请求信息的授权空间数据;基于所述授权空间数据,确定出待查询虚拟空间数据所属的数据空间;根据与所述数据空间对应的命名空间数据,将所述查询请求信息进行有关命名空间数据的相同定义,得到查询命名空间数据;通过所述虚拟空间中的线程局部变量,将所述授权空间数据以及所述查询命名空间数据配置到所述待查询虚拟空间数据中;对所述授权空间数据以及所述查询命名空间数据进行权限信息的请求判断;根据请求判断结果、所述授权空间数据以及所述查询命名空间数据,对所述待查询虚拟空间数据进行数据查询处理,生成所述查询数据。
第二方面,本申请实施例还提供了一种基于虚拟空间的数据隔离设备,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行上述任一实施方式所述的一种基于虚拟空间的数据隔离方法。
第三方面,本申请实施例还提供了一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行上述任一实施方式所述的一种基于虚拟空间的数据隔离方法。
本申请提供了一种基于虚拟空间的数据隔离方法、设备及介质,与现有技术相比,本申请实施例具有以下有益的技术效果:
本申请实施例通过元数据赋予实体虚拟空间标识能力,将数据和虚拟环境紧密关联,从而实现数据隔离和灵活操作。还可以根据不同场景自动设置环境上下文,简化了用户的操作流程,提高了系统的易用性和效率。对于跨环境授权查询:还支持了特定授权权限,允许用户在特定情况下查询其他虚拟环境的数据,从而在必要时实现数据共享。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本申请实施例提供的一种基于虚拟空间的数据隔离方法流程图;
图2为本申请实施例提供的一种基于上下文关联的虚拟空间数据写入方法流程图;
图3为本申请实施例提供的一种基于主子关系的虚拟空间数据写入方法流程图;
图4为本申请实施例提供的一种虚拟空间数据的访问流程图;
图5为本申请实施例提供的一种虚拟空间数据的查询流程图;
图6为本申请实施例提供的一种基于虚拟空间的数据隔离设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种基于虚拟空间的数据隔离方法,如图1所示,基于虚拟空间的数据隔离方法具体包括步骤S101-S104:
需要说明的是,现有的数据隔离技术主要包括:1.表级别隔离:在数据库中,可以将不同业务数据存储在不同的数据表中,通过表级别的隔离来实现不同业务数据的分离。例如,将用户信息存储在一个表中,将订单信息存储在另一个表中。2.分库分表隔离:分库分表是一种数据隔离的方案,通过将数据分散存储在不同的数据库或表中,实现数据的物理隔离。每个数据库或表可以独立扩展和优化,从而提高系统的性能和可伸缩性。3.租户隔离:从租户这个业务属性的维度进行数据隔离,保障某一个租户的数据切片干净清晰。
这些方案都存在一些不足:1.性能影响:数据隔离方案可能会引入额外的性能开销,特别是在数据分散存储过程中。对于高并发和大数据量的应用,需要谨慎权衡性能和安全之间的平衡。2.维护复杂性:数据隔离方案可能增加系统的维护复杂性,特别是在分库分表的场景下,需要处理数据迁移、同步和分布式事务等问题。3.数据一致性:在数据隔离的情况下,可能会出现数据一致性的问题。特别是在分布式系统中,需要采取额外的措施来保证数据的一致性。4.安全风险:虽然数据隔离可以增加系统的安全性,但如果不正确地实现或配置,也可能引入安全风险。例如,权限配置不当可能导致未授权的访问。
S101、根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于元数据的数据空间。
具体地,先基于元数据的实体虚拟空间标识技术,对数据结构进行标识配置,得到标识的数据结构。之后通过动态数据模型,对标识的数据结构进行数据实体的定义处理,确定出基于数据结构的命名空间属性。通过动态数据模型,对标识的数据结构进行有关数据实体的主子关系配置,得到基于数据结构的实体关联关系。其中,数据空间包括:命名空间属性以及实体关联关系。
作为一种可行的实施方式,"虚拟空间"是一种基于元数据的技术,通过描述元数据实体的虚拟空间标识能力,在系统不同场景下自动设置相应的虚拟环境,以实现数据隔离和实体操作。具体而言,该技术具有以下核心原理:基于元数据的能力:我们的系统使用元数据来描述数据实体的属性和关系,并赋予元数据实体虚拟空间的标识能力。通过这种方式,我们可以将数据和实体关联到特定的虚拟环境中,实现数据的分隔和归类。
同时,元数据还提供了一种动态数据模型,数据结构是动态可配置的。通过元数据技术,系统可以动态生成数据库表和字段。通过元数据定义实体创建 namespace(命名空间)属性,标识实体开启了虚拟空间的标识能力。同时,元数据通过两个实体的关联关系,会描述实体之间的主子关系,比如保障方案实体的主实体位企业,关系描述为:plan.group_id为关联字段,关联主实体 group.id字段。通过这种主子关系的描述,可以获得一个清晰明确的实体关联关系。
S102、对数据空间进行有关虚拟空间的数据写入判断,得到虚拟空间的数据写入类型。
具体地,对数据空间中的数据实体进行有关虚拟空间中上下文关联实体的数据定义判断。若虚拟空间能够对上下文关联实体自动定义,则将虚拟空间中的数据实体确定为上下文关联写入类型。若虚拟空间不能对上下文关联实体自动定义,则将虚拟空间中的数据实体确定为主子关系写入类型。其中,数据写入类型包括:上下文关联写入类型以及主子关系写入类型。
在一个实施中,在对数据空间中的数据实体进行虚拟空间数据存储写入时,需要再虚拟空间中上下文关联实体进行数据定义判断,也就是判断出该数据实体是通过上下文自动写入(上下文关联写入类型)还是通过实体的主子关系写入(主子关系写入类型)。
S103、基于数据写入类型,对数据空间进行写入处理,生成虚拟空间数据;
具体地,若数据写入类型为上下文关联写入类型,则根据数据空间对应的预测空间,生成与上下文关联写入类型对应的第一命名空间数据。通过虚拟空间中的服务端,获取第一命名空间数据,并将第一命名空间信息发送到线程局部变量中。
进一步地,再通过虚拟空间中的权限服务端,对第一命名空间数据进行权限信息的合法性判断,得到合法性结果信息。基于合法性结果信息,将第一命名空间数据自动配置到虚拟空间的数据实体上,得到基于上下文关联写入类型的上下文关联空间数据。
在一个实施例中,图2为本申请实施例提供的一种基于上下文关联的虚拟空间数据写入方法流程图,如图2所示,当数据写入类型为上下文关联写入类型,通过上下文自动写入:首先,各个应用端会通过以下几种方式实现虚拟空间标识的能力:应用本身:设置应用的默认空间:p_app.default_namespace_entity =正式环境空间。然后发起请求的客户端,确定出希望使用的空间(预测空间),例如进入了一个预测环境场景,会在客户端设置后续所有的请求头中的namespace(命名空间)的值为“预测场景”,那么后续请求的请求头中,都会该namespace(命名空间)请求头信息。
在一个实施例中,如图2所示,服务端在收到请求后,会解析请求头信息,获取namespace(命名空间),并且写入 ThreadLocal(线程局部变量)中,保证后续微服务的请求链路可以从上下文中获取到该内容。并且保证每次请求都携带对应的上下文信息。之后权限服务获取namespace(命名空间),判断该请求的namespace(命名空间)的合法性(是否有权限、是否有效的空间等)。当数据中心写入数据时,将第一命名空间数据自动配置到数据实体的 namespace(命名空间)字段上,生成该空间的上下文关联空间数据。
同时,若数据写入类型为主子关系写入类型,则对数据空间中的数据实体进行第一命名空间数据的启动判断。若第一命名空间数据为启动信息,则对数据实体进行第一命名空间数据是否存在判断。若主子关系写入类型下的数据实体不存在第一命名空间数据,则读取并生成与数据实体相关联的主实体数据。
进一步地,再获取与主实体数据对应的第二命名空间数据。并将第二命名空间数据自动关联到虚拟空间的数据实体上,得到基于主子关系写入类型的主实体空间数据。
其中,虚拟空间数据包括:上下文关联空间数据以及主实体空间数据。
在一个实施例中,图3为本申请实施例提供的一种基于主子关系的虚拟空间数据写入方法流程图,如图3所示,当数据写入类型为主子关系写入类型时,
通过数据实体的主子关系写入:当上下文不能描述所属空间时(比如定时任务),在获取类似的请求,发现请求头没有namespace(命名空间)信息,这时尽管上下文中无法携带namespace(命名空间)信息,最终在数据中心调用数据生成时,会查询生成数据关联的主实体数据,获取主实体数据的namespace(命名空间),同自动写入该数据,以此保证一个业务的完整数据都属于相同的数据空间。步骤如下:
1.判断生成目标实体的数据是否启用了namespace,即第一命名空间数据。
2.如果启用了第一命名空间数据,判断数据实体中请求上下文是否存在第一命名空间数据。
3.若该数据实体不存在第一命名空间数据,则读取生成目标实体关联的主实体数据,并获取该主实体数据的namespace(命名空间)。
4.配置生成目标实体数据的namespace (第二命名空间数据)= 关联主实体数据的namespace(命名空间)。
S104、通过与数据写入类型对应的命名空间,对虚拟空间数据进行访问与查询处理,分别得到基于虚拟空间的访问数据以及查询数据,以实现基于虚拟空间的数据隔离处理。
具体地,基于访问请求信息,确定出待访问虚拟空间数据所属的数据空间。根据与数据空间对应的命名空间数据,将访问请求信息进行有关命名空间数据的相同定义,得到访问命名空间数据。通过虚拟空间中的线程局部变量,将访问命名空间数据配置到待访问虚拟空间数据中。对访问命名空间数据进行权限信息的合法性判断。基于合法性判断结果,对待访问虚拟空间数据进行数据访问,并生成访问数据。
在一个实施中,图4为本申请实施例提供的一种虚拟空间数据的访问流程图,如图4所示,在对应数据空间下,仅可以访问对应空间下的数据:首先基于访问请求信息,判断出待访问虚拟空间数据所属的数据空间。然后配置出访问请求信息的信息头中namespace(命名空间)的值为对应数据空间。服务端接受请求后,获取请求中的namespace(命名空间)。之后通过ThreadLocal(线程局部变量)将访问命名空间数据配置到待访问虚拟空间数据中,保证后续微服务的请求链路可以从上下文中获取到该内容。并且保证每次请求都携带对应的上下文信息。
在一个实施例中,权限服务获取 namespace(命名空间),判断该请求是否有对应namespace(命名空间)的请求权限。数据中心获取namespace(命名空间),根据namespace(命名空间)查询对应带访问空间下的数据,并生成访问数据。
优选地,本申请在跨空间的数据查询中需要被授权才能进行,具体为:基于跨空间的查询请求信息,确定出虚拟空间角色。其中,虚拟空间角色用于适配虚拟空间数据。
进一步地,将指定人员账号信息与虚拟空间角色进行关联处理,以实现对虚拟空间角色的跨空间查询授权。其中,指定人员账号信息为虚拟空间中已被授权查询的账号信息。
进一步地,再获取虚拟空间角色中查询请求信息的授权空间数据。然后基于授权空间数据,确定出待查询虚拟空间数据所属的数据空间。根据与数据空间对应的命名空间数据,将查询请求信息进行有关命名空间数据的相同定义,得到查询命名空间数据。
进一步地,通过虚拟空间中的线程局部变量,将授权空间数据以及查询命名空间数据配置到待查询虚拟空间数据中。之后对授权空间数据以及查询命名空间数据进行权限信息的请求判断。最后根据请求判断结果、授权空间数据以及查询命名空间数据,对待查询虚拟空间数据进行数据查询处理,生成查询数据。
在一个实施例中,图5为本申请实施例提供的一种虚拟空间数据的查询流程图,如图5所示,在跨空间的数据查询中,首先查询请求信息需要被授权,授权方式如下:i.确定出虚拟空间角色,配置角色可以用于请求适配的虚拟空间。ii.分配虚拟空间角色到指定人员/账号。
在一个实施例中,如图5所示,在对应虚拟空间下,发起跨空间的查询请求,配置查询请求信息中的参数:authorized space(授权空间)。将查询请求信息头中namespace(命名空间)的值作为当前查询请求信息对应的虚拟空间(待查询虚拟空间数据所属的数据空间),即得到查询命名空间数据。并查询请求信息头头中authorized space(授权空间)的值访问目标的虚拟空间。服务端接受请求后,获取请求中的namespace(命名空间)和authorized space(授权空间)。之后通过ThreadLocal(线程局部变量)设置namespace(命名空间)和authorized space(授权空间)到待查询虚拟空间数据的上下文中,保证后续微服务的请求链路可以从上下文中获取到该内容。并且保证每次请求都携带对应的上下文信息。接着权限服务获取namespace(命名空间)和authorized space(授权空间),判断该请求是否有对应namespace(命名空间)和authorized space(授权空间)的请求权限。最后数据中心获取namespace(命名空间)和authorized space(授权空间),根据namespace(命名空间)和authorized space(授权空间)查询对应虚拟空间下的数据,并生成查询数据。
另外,本申请实施例还提供了一种基于虚拟空间的数据隔离设备,如图6所示,基于虚拟空间的数据隔离设备600具体包括:
至少一个处理器601;以及,
与至少一个处理器601通信连接的存储器602;其中,
存储器602存储有能够被至少一个处理器601执行的指令,以使至少一个处理器601能够执行:
根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于元数据的数据空间;
对数据空间进行有关虚拟空间的数据写入判断,得到虚拟空间的数据写入类型;
基于数据写入类型,对数据空间进行写入处理,生成虚拟空间数据;
通过与数据写入类型对应的命名空间,对虚拟空间数据进行访问与查询处理,分别得到基于虚拟空间的访问数据以及查询数据,以实现基于虚拟空间的数据隔离处理。
本申请提供了一种基于虚拟空间的数据隔离方法、设备及介质,通过元数据赋予实体虚拟空间标识能力,将数据和虚拟环境紧密关联,从而实现数据隔离和灵活操作。还可以根据不同场景自动设置环境上下文,简化了用户的操作流程,提高了系统的易用性和效率。对于跨环境授权查询:还支持了特定授权权限,允许用户在特定情况下查询其他虚拟环境的数据,从而在必要时实现数据共享。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请的实施例可以有各种更改和变化。凡在本申请实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种基于虚拟空间的数据隔离方法,其特征在于,所述方法包括:
根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于所述元数据的数据空间;
对所述数据空间进行有关虚拟空间的数据写入判断,得到所述虚拟空间的数据写入类型,具体包括:
对所述数据空间中的数据实体进行有关虚拟空间中上下文关联实体的数据定义判断;
若所述虚拟空间能够对所述上下文关联实体自动定义,则将所述虚拟空间中的数据实体确定为上下文关联写入类型;
若所述虚拟空间不能对所述上下文关联实体自动定义,则将所述虚拟空间中的数据实体确定为主子关系写入类型;
其中,所述数据写入类型包括:所述上下文关联写入类型以及所述主子关系写入类型;
基于所述数据写入类型,对所述数据空间进行写入处理,生成虚拟空间数据,具体包括:
若所述数据写入类型为所述上下文关联写入类型,则根据所述数据空间对应的预测空间,生成与所述上下文关联写入类型对应的第一命名空间数据;
通过所述虚拟空间中的服务端,获取所述第一命名空间数据,并将所述第一命名空间信息发送到线程局部变量中;
通过所述虚拟空间中的权限服务端,对所述第一命名空间数据进行权限信息的合法性判断,得到合法性结果信息;
基于所述合法性结果信息,将所述第一命名空间数据自动配置到虚拟空间的数据实体上,得到基于所述上下文关联写入类型的上下文关联空间数据;
其中,所述虚拟空间数据包括:所述上下文关联空间数据以及主实体空间数据;
若所述数据写入类型为所述主子关系写入类型,则对所述数据空间中的数据实体进行第一命名空间数据的启动判断;
若所述第一命名空间数据为启动信息,则对所述数据实体进行第一命名空间数据是否存在判断;
若所述主子关系写入类型下的数据实体不存在所述第一命名空间数据,则读取并生成与所述数据实体相关联的主实体数据;
获取与所述主实体数据对应的第二命名空间数据;并将所述第二命名空间数据自动关联到所述虚拟空间的数据实体上,得到基于所述主子关系写入类型的主实体空间数据;
通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行访问与查询处理,分别得到基于所述虚拟空间的访问数据以及查询数据,以实现基于虚拟空间的数据隔离处理。
2.根据权利要求1所述的一种基于虚拟空间的数据隔离方法,其特征在于,根据元数据的动态数据模型,对标识的数据结构进行实体关联,得到基于所述元数据的数据空间,具体包括:
基于所述元数据的实体虚拟空间标识技术,对所述数据结构进行标识配置,得到标识的数据结构;
通过所述动态数据模型,对标识的数据结构进行数据实体的定义处理,确定出基于所述数据结构的命名空间属性;
通过所述动态数据模型,对标识的数据结构进行有关数据实体的主子关系配置,得到基于所述数据结构的实体关联关系;
其中,所述数据空间包括:所述命名空间属性以及所述实体关联关系。
3.根据权利要求1所述的一种基于虚拟空间的数据隔离方法,其特征在于,通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行访问处理,得到基于所述虚拟空间的访问数据,具体包括:
基于访问请求信息,确定出待访问虚拟空间数据所属的数据空间;
根据与所述数据空间对应的命名空间数据,将所述访问请求信息进行有关命名空间数据的相同定义,得到访问命名空间数据;
通过所述虚拟空间中的线程局部变量,将所述访问命名空间数据配置到所述待访问虚拟空间数据中;
对所述访问命名空间数据进行权限信息的合法性判断;
基于合法性判断结果,对所述待访问虚拟空间数据进行数据访问,并生成所述访问数据。
4.根据权利要求1所述的一种基于虚拟空间的数据隔离方法,其特征在于,在通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行查询处理,得到基于所述虚拟空间查询数据之前,所述方法还包括:
基于跨空间的查询请求信息,确定出虚拟空间角色;其中,所述虚拟空间角色用于适配所述虚拟空间数据;
将指定人员账号信息与所述虚拟空间角色进行关联处理,以实现对所述虚拟空间角色的跨空间查询授权;其中,所述指定人员账号信息为所述虚拟空间中已被授权查询的账号信息。
5.根据权利要求4所述的一种基于虚拟空间的数据隔离方法,其特征在于,通过与所述数据写入类型对应的命名空间,对所述虚拟空间数据进行查询处理,得到基于所述虚拟空间的查询数据,具体包括:
获取所述虚拟空间角色中查询请求信息的授权空间数据;
基于所述授权空间数据,确定出待查询虚拟空间数据所属的数据空间;
根据与所述数据空间对应的命名空间数据,将所述查询请求信息进行有关命名空间数据的相同定义,得到查询命名空间数据;
通过所述虚拟空间中的线程局部变量,将所述授权空间数据以及所述查询命名空间数据配置到所述待查询虚拟空间数据中;
对所述授权空间数据以及所述查询命名空间数据进行权限信息的请求判断;
根据请求判断结果、所述授权空间数据以及所述查询命名空间数据,对所述待查询虚拟空间数据进行数据查询处理,生成所述查询数据。
6.一种基于虚拟空间的数据隔离设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行根据权利要求1-5任一项所述的一种基于虚拟空间的数据隔离方法。
7.一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行根据权利要求1-5任一项所述的一种基于虚拟空间的数据隔离方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311148094.2A CN116881953B (zh) | 2023-09-07 | 2023-09-07 | 一种基于虚拟空间的数据隔离方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311148094.2A CN116881953B (zh) | 2023-09-07 | 2023-09-07 | 一种基于虚拟空间的数据隔离方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881953A CN116881953A (zh) | 2023-10-13 |
CN116881953B true CN116881953B (zh) | 2023-11-14 |
Family
ID=88255406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311148094.2A Active CN116881953B (zh) | 2023-09-07 | 2023-09-07 | 一种基于虚拟空间的数据隔离方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881953B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367983A (zh) * | 2020-03-10 | 2020-07-03 | 中国联合网络通信集团有限公司 | 数据库访问方法、系统、设备和存储介质 |
CN112905617A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 数据写入方法、服务器及计算机可读存储介质 |
CN113806373A (zh) * | 2021-09-29 | 2021-12-17 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113901073A (zh) * | 2021-09-24 | 2022-01-07 | 浙江莲荷科技有限公司 | 数据处理方法、装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880040B2 (en) * | 2002-06-27 | 2005-04-12 | International Business Machines Corporation | Virtual sequential data storage (VSDS) system with router conducting data between hosts and physical storage bypassing VSDS controller |
US20120066760A1 (en) * | 2010-09-10 | 2012-03-15 | International Business Machines Corporation | Access control in a virtual system |
-
2023
- 2023-09-07 CN CN202311148094.2A patent/CN116881953B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367983A (zh) * | 2020-03-10 | 2020-07-03 | 中国联合网络通信集团有限公司 | 数据库访问方法、系统、设备和存储介质 |
CN112905617A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 数据写入方法、服务器及计算机可读存储介质 |
CN113901073A (zh) * | 2021-09-24 | 2022-01-07 | 浙江莲荷科技有限公司 | 数据处理方法、装置及存储介质 |
CN113806373A (zh) * | 2021-09-29 | 2021-12-17 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
一种分布式空间数据互操作体系结构;赵伟华, 楼永坚, 张红娟;杭州电子工业学院学报(第06期);第46-50页 * |
空间数据访问集成与分布式空间数据源对象查询;高昂;陈荣国;赵彦庆;颜勋;;地球信息科学学报(第04期);第86-94页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116881953A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6535031B2 (ja) | データクエリ方法及び装置 | |
CN109906448B (zh) | 用于促进可插拔数据库上的操作的方法、设备和介质 | |
EP2863310B1 (en) | Data processing method and apparatus, and shared storage device | |
US20150180872A1 (en) | System and method for hierarchical resource permissions and role management in a multitenant environment | |
US8549046B2 (en) | Test data generation and scale up for database testing using unique common factor sequencing | |
CN112487083B (zh) | 一种数据校验方法和设备 | |
EP2406736A2 (en) | Composite hash and list partitioning of database tables | |
CN111324665B (zh) | 一种日志回放方法及装置 | |
CN106375360B (zh) | 一种图数据更新方法、装置及系统 | |
US20200050785A1 (en) | Database record access through use of a multi-value alternate primary key | |
CN114443770A (zh) | 数据同步方法、装置、介质及电子设备 | |
US10817507B2 (en) | Document store export/import | |
CN116881953B (zh) | 一种基于虚拟空间的数据隔离方法、设备及介质 | |
CN107220265B (zh) | 一种数据库语句编译和执行方法及装置 | |
CN111221814B (zh) | 二级索引的构建方法、装置及设备 | |
CN115964393A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
US11308048B2 (en) | Database migration method, apparatus, device, and computer-readable medium | |
CN115587141A (zh) | 一种数据库同步方法和装置 | |
CN115757526B (zh) | 一种元数据的管理方法、装置、设备和计算机存储介质 | |
CN106155837B (zh) | 一种主备库数据修复的方法以及装置 | |
CN111858516B (zh) | 数据处理方法及装置 | |
CN112632078B (zh) | 表单新增字段的方法、系统、设备及可读存储介质 | |
CN112148725B (zh) | 一种实现全局唯一索引的方法及装置 | |
CN116644400A (zh) | 数据访问系统和方法 | |
CN118245486A (zh) | 数据库物化视图的异步刷新方法、控制装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |