CN116540934A - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN116540934A CN116540934A CN202310472337.1A CN202310472337A CN116540934A CN 116540934 A CN116540934 A CN 116540934A CN 202310472337 A CN202310472337 A CN 202310472337A CN 116540934 A CN116540934 A CN 116540934A
- Authority
- CN
- China
- Prior art keywords
- metadata
- target
- storage
- data
- target metadata
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000013500 data storage Methods 0.000 title claims abstract description 66
- 238000007726 management method Methods 0.000 claims abstract description 189
- 238000002955 isolation Methods 0.000 claims description 57
- 230000015654 memory Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 17
- 238000005129 volume perturbation calorimetry Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000013499 data model Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013523 data management Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
一种数据存储方法及装置,用以提供一种对元数据进行管理的方案。元数据管理装置在获取第一用户的目标元数据之后,根据目标元数据的第一服务质量信息,可以从多个候选的存储实例中选择目标存储实例;其中目标元数据可以为第一用户的数据的元数据,目标元数据的第一服务质量信息表征对存储该目标元数据的存储实例的质量要求,从而基于目标元数据的第一服务质量信息,元数据管理装置可以从多个候选的存储实例中选择目标存储实例,并将目标元数据存储至目标存储实例中。从而根据目标元数据的第一服务质量信息,可以确定出合适的目标存储实例,提高元数据存储的可靠性和安全性。
Description
技术领域
本申请云技术领域,特别涉及一种数据存储方法及装置。
背景技术
数据湖当前已经是被广泛使用的方案,且一个数据湖系统未来将扩展到数百艾字节(exabyte,EB)的数据量。一方面,数据量的增长伴随着存储对象数量和管理的元数据量的增加;另一方面,元数据作为数据管理、数据内容、数据应用的基础,对其价值的挖掘也越来越多。
元数据要支持与多种不同类型数据集成工具对接的需求。例如,针对数据湖存储,需要对元数据进行完善的数据管理,针对分析引擎,需要提供可靠的元数据服务。元数据自身又分为不同的类型,不同类型的元数据对业务的性能影响、可靠性要求、访问频度等信息均不同。因此,随着元数据的数据量和种类不断增加,如何对元数据进行管理成为亟待解决的问题。
发明内容
本申请提供一种数据存储方法及装置,用以提供一种对元数据进行管理的方案。
第一方面,本申请实施例提供一种数据存储方法,该方法可以由元数据管理装置,该元数据管理装置可以部署一个计算设备中,也可以部署在多个计算设备组成的集群中。元数据管理装置在获取第一用户的目标元数据之后,根据目标元数据的第一服务质量信息,可以从多个候选的存储实例中选择目标存储实例;其中目标元数据可以为第一用户的数据的元数据,用于描述第一用户的数据,目标元数据的第一服务质量信息表征对存储该目标元数据的存储实例的质量要求,从而基于目标元数据的第一服务质量信息,元数据管理装置可以从多个候选的存储实例中选择目标存储实例,并将目标元数据存储至目标存储实例中。
通过上述方法,元数据管理装置可以基于目标元数据的第一服务质量信息,从多个候选的存储实例中选择满足目标存储实例对存储实例的质量要求的目标存储实例,从而根据目标元数据的第一服务质量信息,可以确定出合适的目标存储实例,提高元数据存储的可靠性和安全性。
在一种可能的实施方式中,元数据管理装置在获取到第一用户的目标元数据之后,根据目标元数据的数据类别和数据级别,确定目标元数据在存储实例中的数据存储方式;其中,目标元数据的数据类别是基于目标元数据的内容确定的,目标元数据的数据级别是预先定义的。元数据管理装置在对目标元数据进行存储时,按照确定出的数据存储方式,将目标元数据存储在目标存储实例中。
通过上述方法,元数据管理装置可以根据目标元数据的数据类别,以及预先定义的目标元数据的数据级别,将目标元数据按照对应的数据存储方式进行存储,提高元数据存储的安全性和准确性。
在一种可能的实施方式中,元数据管理装置在确定目标元数据的数据存储方式时,可以根据元数据的数据类别、数据级别、以及隔离等级信息之间的第一对应关系,以及确定出的目标元数据的数据类别和数据等级,确定目标元数据的隔离等级信息,其中隔离等级信息用于表征目标元数据的隔离粒度;然后元数据管理装置根据目标元数据的隔离等级信息,确定目标元数据在存储实例中的数据存储方式。
通过上述方法,元数据管理装置首先确定目标元数据的隔离等级信息,然后再根据目标元数据的隔离等级信息,确定目标元数据在存储实例中的数据存储方式,从而使得目标元数据按照隔离等级信息表征的隔离粒度进行存储,实现目标元数据与其他元数据之间的隔离,保障元数据存储的安全性。
在一种可能的实施方式中,元数据管理装置可以响应于第二用户在信息配置界面中的配置操作,获取第二用户通过信息配置界面配置的第一对应关系。
通过上述方法,第二用户可以通过信息配置界面配置元数据的数据类别、数据级别、以及隔离等级信息之间的第一对应关系,从而根据用户需求灵活配置第一对应关系。
在一种可能的实施方式中,元数据管理装置还可以接收元数据读取请求,其中该元数据读取请求用于请求读取第一用户的目标元数据;元数据管理装置确定存储目标元数据的目标存储实例,并从目标存储实例中读取目标元数据,将读取到的目标元数据传输至第一用户的终端设备。
通过上述方法,元数据管理装置在接收到元数据读取请求后,确定需要读取目标元数据;元数据管理装置确定存储该目标元数据的目标存储实例,并从目标存储实例中读取目标元数据,从而实现元数据的读取流程。
在一种可能的实施方式中,元数据管理装置在从多个候选的存储实例中选择用于存储目标元数据的目标存储实例之后,保存目标元数据与目标存储实例之间的第二对应关系。
在一种可能的实施方式中,元数据管理装置在确定目标存储实例时,根据保存的第二对应关系,以及元数据读取请求中包括的目标元数据的数据标识,确定存储目标元数据的目标存储实例。
通过上述方法,元数据管理装置在存储目标元数据时,在确定出存储目标元数据的目标存储实例之后,将目标存储实例与目标元数据之间的第二对应关系进行保存;这样,在读取元数据时,接收到元数据读取请求之后,根据元数据读取请求中包括的目标元数据的数据标识,以及保存的第二对应关系,可以快速确定出存储目标元数据的目标存储实例,提高元数据读取效率。
在一种可能的实施方式中,元数据管理装置在确定存储目标元数据的目标存储实例时,还可以根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
通过上述方法,元数据管理装置在读取目标元数据时,可以基于目标元数据的第一服务质量信息确定目标存储实例;由于目标元数据的第一服务质量信息表征对存储目标元数据的存储实例的质量要求,因此,目标元数据存储在满足对应的第一服务质量信息的存储实例中,从而在元数据读取过程中,基于目标元数据的第一服务质量信息,可以准确确定存储目标元数据的目标存储实例。
在一种可能的实施方式中,元数据管理装置在根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例时,首先根据目标元数据的数据类别,确定目标元数据的第一服务质量信息;然后根据各个候选的存储实例的第二服务质量信息,从多个候选的存储实例中选择与第一服务质量信息匹配的目标存储实例;第二服务质量信息用于表征存储实例能够为元数据提供的存储质量。
通过上述方法,元数据管理装置可以根据目标元数据的第一服务质量信息,以及各个候选存储实例的第二服务质量信息,选择出能够为目标元数据提供相应存储质量的目标存储实例,从而提高元数据存储的可靠性和安全性。
在一种可能的实施方式中,元数据管理装置可以根据预配置的数据类别与服务质量信息之间的第三对应关系,确定目标元数据的数据类别对应的第一服务质量信息;和/或,元数据管理装置获取第三用户配置的目标元数据的数据类别对应的第一服务质量信息。
通过上述方法,元数据管理装置可以通过多种不同方式,灵活确定目标元数据的数据类别对应的第一服务质量信息。
第二方面,本申请实施例还提供了一种数据存储装置,该数据存储装置具有实现上述第一方面的方法实例中元数据管理装置的行为功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,数据存储装置的结构中包括收发模块、存储实例管理模块、处理模块、元数据管理模块。这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种计算设备,该计算设备具有实现上述第一方面的方法实例中元数据管理装置的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。计算设备的结构中包括处理器和存储器,处理器被配置为支持元数据管理装置执行上述第一方面方法中相应的功能。存储器与处理器耦合,其保存元数据管理装置必要的计算机程序指令和数据。计算设备的结构中还包括通信接口,用于与其他设备进行通信。
第四方面,本申请实施例还提供了一种计算设备集群,该计算设备集群具有实现上述第一方面的方法实例中元数据管理装置的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。计算设备集群包括至少一个计算设备,任一计算设备的结构中包括处理器和存储器,任一计算设备中的处理器被配置为支持元数据管理装置执行上述第一方面以及第一方面的各个可能的实施方式中的部分或全部功能。存储器与处理器耦合,其保存元数据管理装置必要的计算机程序指令和数据。计算设备的结构中还包括通信接口,用于与其他设备进行通信。
第五方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中的方法。
第六方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中的方法。
第七方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实施方式中的方法。
附图说明
图1为本申请实施例提供的一种元数据管理系统架构图;
图2为本申请实施例提供的一种数据存储方法流程图;
图3为本申请实施例提供的一种信息配置界面示意图;
图4为本申请实施例提供的一种数据存储方式示意图;
图5为本申请实施例提供的一种信息配置界面示意图;
图6为本申请实施例提供的一种信息配置界面示意图;
图7为本申请实施例提供的一种信息配置界面示意图;
图8为本申请实施例提供的一种数据读取方法流程图;
图9为本申请实施例提供的一种数据存储装置的结构示意图;
图10为本申请实施例提供的一种计算设备的结构示意图;
图11为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例进行详细描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例中的“存储实例”,为云计算领域实现数据存储功能的实例;示例性的,存储实例可以用于存储元数据。本申请实施例的存储实例可以为数据库,或者可以为缓存;示例性的,存储实例可以为关系型数据库、键值(key-value,KV)数据库、分布式缓存。
本申请实施例中的“数据湖”,是一类存储数据自然或原始格式的系统,通常是对象块或者文件,包括原始系统所产生的原始数据拷贝、以及为了各类任务而产生的转换数据、来自于关系型数据库中的结构化数据(行和列)、半结构化数据(如逗号分隔值(commaseparated values,CSV)、日志、可扩展标记语言(extensible markup language,XML)、JS对象简谱(javascript object notation,JSON))、非结构化数据(如email、文档、可携带文件格式(portable document format,PDF)、图像、音频、视频)。
本申请实施例中的“元数据”,是关于数据的数据。元数据打通了源数据、数据湖、数据应用,记录了数据从产生到消费的全过程。元数据主要记录数据湖中模型的定义、各层级间的映射关系、监控数据状态及任务运行状态。在数据湖系统中,元数据可以帮助数据湖管理员和开发人员非常方便地查找需要的数据,可以用于指导数据管理和开发工作,提高工作效率。
本申请实施例中的“云服务”,为基于因特网(Internet)、以表现层状态转移应用程序接口(representational state transfer application programming interface,REST API)形式提供的、满足企业互联网技术(internet technology,IT)所需的弹性计算、虚拟网络、数据存储、数据库等服务。本申请实施例中,可以将云服务的提供商简称为云厂商。
本申请实施例中的“租户”,为云资源的属主,是对云资源拥有管理权限的主体。其中,租户可以按照业务需求,通过付费方式,向云厂商订购或租用云资源。租户对购买的云资源的管理权限可以包括但不限于安全管理权限、访问控制权限等。
本申请实施例中的“用户”,为用户终端、服务器或者云资源的操作人员;其中,服务器的操作人员需要被服务器管理平台授权后才能操作服务器资源,云资源的操作人员需要被云资源属主授权后才能操作云资源。本申请实施例中,用户对云资源或者服务器的操作可以通过用户的用户终端(包括实体设备和/或虚拟装置)实现。
下面结合附图及实施例详细介绍本申请。
图1示出了本申请实施例适用的元数据管理系统架构图。如图1所示,数据管理系统100可以包括第一用户操作的终端设备101、元数据管理装置102和至少一个存储实例103。
其中,终端设备101上可以运行多种不同类型的应用和/或引擎,在终端设备101上的应用和/或引擎运行过程中,会产生大量的元数据,且需要对产生的元数据进行存储。示例性的,终端设备101上运行的应用可以为人工智能(artificial intelligence,AI)应用、商务智能(business intelligence,BI)应用等,终端设备101上运行的引擎可以为计算引擎等;或者,终端设备上运行的其它数据源也可以产生大量的元数据。
终端设备101可以将来自于应用和/或引擎的目标元数据发送给元数据管理装置102,元数据管理装置102在接收到终端设备101发送的目标元数据之后,从至少一个存储实例103中选取目标存储实例,将接收到的目标元数据存储至选取出的目标存储实例中。
本申请实施例的至少一个存储实例103可以为云端的存储实例,元数据管理装置102可以为用于对存储实例进行数据管理的云服务。第一用户可以通过操作终端设备访问云管理平台,云管理平台对外可通过互联网与第一用户操作的终端设备连接。第一用户可以在云管理平台注册账号,该账号具有购买(包括订购或租用等不同付费形式)云资源的资格。示例性的,第一用户购买的云资源可以为计算资源或者存储资源;本申请实施例中的元数据管理装置102可以为创建的一种用于对存储实例进行数据管理的云服务,在购买该云资源成功后,在云服务器中创建云服务,并向租户提供合适的访问方式,以便租户远程管理或使用该云服务;本申请实施例中的至少一个存储实例103可以用于存储第一用户的元数据,第一用户可以购买存储实例103中的部分存储空间。
本申请实施例中的终端设备可以为手机、平板电脑、笔记本电脑、个人计算机、服务器等;存储实例可以为KV数据库、关系型数据库、分布式缓存等。
示例性的,接下来介绍元数据管理装置102的实现方式。
元数据管理装置102作为软件功能单元的一种举例,元数据管理装置102可以包括运行在计算实例上的代码。其中,计算实例可以是物理主机(计算设备)、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算设备可以是一台或者多台。例如,元数据管理装置102可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内。同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
元数据管理装置102作为硬件功能单元的一种举例,元数据管理装置102可以包括至少一个计算设备,如服务器等。或者,元数据管理装置102也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
元数据管理装置102包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。元数据管理装置102包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,元数据管理装置102包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
下面结合如图2对本申请实施例提供的一种数据存储方法进行说明,该方法包括如下步骤:
步骤201:元数据管理装置获取第一用户的目标元数据。
其中,元数据管理装置获取到的目标元数据为第一用户的数据的元数据,示例性的,目标元数据用于描述第一用户的数据;目标元数据可以为第一用户的待存储的元数据。
第一用户的终端设备上可以运行多种不同类型的应用或引擎,应用或引擎运行过程中会产生大量的目标元数据,终端设备可以将产生的目标元数据通过元数据管理装置存储至存储实例中。
示例性的,第一用户可以为租户,租户通过在云服务器购买云资源,可以通过云服务器中创建的元数据管理装置(云服务)将租户的终端设备产生的目标元数据存储在存储实例中。
一种可选的实施方式为,第一用户的终端设备可以向元数据管理装置发送元数据写入请求,元数据写入请求中包括需要存储至存储实例的目标元数据、第一用户的用户信息。
实施中,在终端设备生成需要存储的数据后,在将数据进行存储时,可以将用于描述数据的元数据也进行存储,则终端设备可以向元数据管理装置发送元数据写入请求。
可选的,元数据管理装置在接收到目标元数据之后,确定接收到的目标元数据对应的数据存储方式。
实施中,元数据管理装置在将目标元数据存储至存储实例时,需要按照目标元数据在存储实例中的数据存储方式,对目标元数据进行存储。
本申请实施例目标元数据在存储实例中可以以数据表的形式进行存储,在存储实例中存储目标元数据时,可以考虑目标元数据与其它元数据之间的隔离方式,比如,将目标元数据存储至哪张数据表,可以实现与其它元数据之间的隔离。本申请实施例针对目标元数据,确定目标元数据在存储实例中的数据存储方式,数据存储方式可以表征目标元数据与其它元数据在存储实例中的隔离方式。
一种可选的实施方式为,元数据管理装置根据下列方式确定目标元数据对应的数据存储方式:
元数据管理装置确定目标元数据的数据类别,以及目标元数据的数据级别,根据目标元数据的数据类别、数据级别,确定目标元数据的隔离等级信息;元数据管理装置根据目标元数据的隔离等级信息,确定目标元数据在存储实例中的数据存储方式。
其中,元数据的数据类别可以是基于目标元数据的内容确定的。示例性的,本申请实施例可以基于元数据所描述的内容,预先将元数据划分为不同的数据类别。
可选的,元数据的数据类别包括但不限于:逻辑元数据、物理元数据、运行元数据;
逻辑元数据可以为与产生元数据的数据模型的定义相关的元数据,与数据模型的数据内容无关。示例性的,逻辑元数据包括计算引擎数据模型的catalog、database、table、partition对象的属性和schema信息,分区、列级和行级ACL的定义和属性信息。
物理元数据可以为与数据内容相关的元数据。示例性的,物理元数据可以为与table数据内容相关的元数据;比如,物理元数据包括数据文件的位置、行计数、数据的血缘、多版本并发控制(multi-version concurrency control,MVCC)信息、每个数据文件中列值的统计信息。
运行元数据可以为与用户操作相关的元数据,用于记录应用或引擎运行过程中用户行为或者任务的状态。示例性的,运行元数据包括另外还有审计日志、任务监控、用户画像、数据质量统计等数据。
元数据的数据级别又可以称为数据归属级别,本申请实施例可以预先定义各个元数据的数据级别,是为了便于数据归档的逻辑划分;各个元数据的数据级别之间存在依赖和包含的关系,其中,较低级别的数据资源归属于较高级别的数据资源。
示例性的,元数据的数据级别可以划分为:“实例:租户:顶级资源:二级资源:三级资源:……”。
实施中,本申请实施例可以预先配置各个数据类别、数据级别与隔离等级信息之间的第一对应关系。元数据管理装置在接收到目标元数据,根据目标元数据的数据类别、数据级别,以及该第一对应关系,确定目标元数据的隔离等级信息。
其中,隔离等级信息用于表征元数据的隔离粒度,可以表征元数据需要采用的隔离方式;
可选的,隔离等级信息包括但不限于:
租户隔离等级、顶级资源隔离等级、二级资源隔离等级、三级资源隔离等级。
示例性的,将数据级别为顶级资源的元数据按照租户隔离等级进行隔离;由于数据级别为顶级资源的元数据数量较少,因此可以以租户隔离级别进行隔离,将用一租户的同一类型的顶级资源的元数据,存放在一张表中进行存储。将数据级别为四级资源(比如分区)的元数据按照三级资源隔离等级进行隔离;由于四级资源的元数据数量较多,按照所属三级资源隔离等级进行隔离,将同一租户的同一类型的四级资源的元数据,存放在一张表中进行存储,从而可以减少每张表中存储的元数据的数量。
一种可能的实现方式中,第二用户可以通过信息配置界面,配置各个数据类别、数据级别与隔离等级信息之间的第一对应关系。实施中,响应于第二用户在信息配置界面中的配置操作,获取第二用户通过信息配置界面配置的第一对应关系。
其中,第二用户可以为租户,或者可以为云服务的管理人员。
通过该信息配置界面第二用户可以配置多个数据类别、数据级别对应的隔离等级信息。第二用户可以在信息配置界面中设置多个第一对应关系,每个第一对应关系中包括一个数据类别、一个数据级别、以及对应的隔离等级信息。如图3所示的信息配置界面,信息配置界面中的一行表示一个第一对应关系,第二用户可以从数据类别对应的类型列表中选择一个数据类别(比如逻辑元数据),从数据级别对应的级别列表中选择一个数据级别(比如顶级资源),以及从隔离等级列表中选择一个隔离等级信息(比如租户隔离等级),从而生成一个数据类别、数据级别和隔离等级信息之间的第一对应关系。在第二用户配置一个第一对应关系之后,可以通过点击信息配置界面中的“添加一行”选项,配置下一个数据类别、数据级别和隔离等级信息之间的第一对应关系。
在元数据管理装置根据目标元数据的数据类别、数据级别,以及第一对应关系,确定目标元数据的隔离等级信息之后,元数据管理装置根据目标元数据的隔离等级信息,确定目标元数据在存储实例中的数据存储方式。
本申请实施例元数据在存储至存储实例时,是按照存储对象的形式进行存储。示例性的,一个存储对象可以为存储实例中的一张表。如图4所示的数据存储方式,图4中的每个实线框表示一个存储对象,同一租户的相同类型的元数据存储在一个存储对象(例如一个table)内,图4中的虚线表示隔离的含义,其中租户之间的所有元数据应该进行隔离,租户的table之间也应该进行隔离。
数据存储格式表征元数据在存储实例中的存储形态,比如存储对象为一张表时,针对同一类型的元数据,可以将该类型的元数据存储在一张表中,或者将该类型的元数据可以拆分为两张表分别存储。
需要说明的是,根据隔离等级信息确定目标元数据在存储实例中的数据存储方式,也可以称为确定目标元数据对应的数据模型。其中,以关系型数据库管理系统(relational database management system,RDBMS)存储实例为例,如图4所示的数据存储方式,租户对应的数据模型可以为RDBMS存储实例中的Database或是Schema,每个实线框对应的数据模型可以为RDBMS存储实例中的Table。例如目标元数据为catalog信息,租户内共用一张表存储租户的所有catalog信息,catalog信息存储在存储实例的表tenant.catalog中;目标元数据为partition信息,partition信息可以按照表级别进行隔离,则同一张表内的所有partition信息存放在一张表下。则partition信息的元数据模型就会按照所在表的粒度存放在表tenant.catalogname-databasename-tablename中。
其中,图4中所示的元数据仅仅是对本申请实施例涉及的元数据的举例,并不对本申请作出限定。
步骤202:元数据管理装置根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
需要说明的是,元数据管理装置确定目标元数据在存储实例中的数据存储方式的步骤,与步骤202之间执行的先后顺序可以不做限定。元数据管理装置可以先确定目标元数据在存储实例中的数据存储方式,再执行步骤202;或者元数据管理装置可以先执行步骤202,在确定目标元数据在存储实例中的数据存储方式;或者元数据管理装置可以同时执行步骤202和确定目标元数据在存储实例中的数据存储方式。
元数据管理装置接收到第一用户的终端设备发送的目标元数据之后,确定目标元数据的第一服务质量信息;其中,第一服务质量信息用于表征对存储目标元数据的存储实例的质量要求。
实施中,每个目标元数据对应一个第一服务质量信息,第一服务质量信息表征的是该目标元数据对于存储实例的质量要求;示例性的,在元数据管理装置存储目标元数据时,根据目标元数据的第一服务质量信息,将目标元数据存储至满足第一服务质量信息的存储实例中。
本申请实施例目标元数据的第一服务质量信息包括但不限于:查询性能参数、写入性能参数、可靠性参数、扩展性参数、可用性参数、查询特点参数。
其中:查询性能参数可以包括多个指标;示例性的,查询性能参数包括带宽指标和时延指标。
写入性能参数可以包括多个指标;示例性的,写入性能参数包括带宽指标和时延指标。
可靠性参数可以为数据副本数量。
可用性参数可以包括多个指标;示例性的,可用性参数包括存储容量指标、记录条数指标、节点数指标。
查询特点参数可以为点查询、范围查询、或者点查询及范围查询。
其中,目标元数据对应的第一服务质量信息中包括的查询特点参数可以用于指示元数据的数据模型属性的设置,分布式数据库支持table数据散列方式的设置。例如查询特点参数,可以决定元数据表数据的散列方式,查询特点参数为点查询时,可以采用hash打散的方式,查询特点参数为范围查询时,则可以使用范围或以表的粒度进行打散。
实施中,本申请实施例元数据管理装置在接收到目标元数据之后,可以根据目标元数据的数据类别,确定目标元数据的第一服务质量信息。
元数据管理装置可以根据下列多种方式,确定目标元数据的第一服务质量信息:
方式1:元数据管理装置根据预配置的数据类别与服务质量信息之间的第三对应关系,确定目标元数据的数据类别对应的第一服务质量信息。
在该种方式下,本申请实施例需要预先配置各个元数据的数据类别与服务质量信息之间的第三对应关系;示例性的,第三对应关系中各个元数据的数据类别对应的服务质量信息中的各个参数可以是默认值。
第三对应关系中各个元数据的数据类别对应的服务质量信息为一组数据,该一组数据可以为服务质量信息中各个参数的参数值。示例性的,数据类别对应的服务质量信息包括查询性能参数、写入性能参数、可靠性参数、可用性参数、扩展性参数和查询特点参数,假设查询性能参数包括的带宽为100Kqps、时延为20ms,写入性能参数包括的带宽为80Kqps、时延为15ms,可靠性参数包括的数据副本数量为2副本,扩展性参数包括的扩展节点数量为9个节点,可用性参数为AZ内多副本,查询特点参数为点查询;则该数据类别对应的服务质量信息的一组数据可以为{(100Kqps、20ms)、(80Kqps、15ms)、2副本、9个节点、AZ内多副本、点查询}。
或者该一组数据可以为服务质量信息中各个参数的量化值,在第三对应关系中用参数的量化值表示各个元数据的数据类别对应的服务质量信息。示例性的,数据类别对应的服务质量信息包括查询性能参数、写入性能参数、可靠性参数、可用性参数、扩展性参数和查询特点参数;服务质量信息中查询性能参数、写入性能参数、可靠性参数、可用性参数、扩展性参数的量化值可以为1、2、3(或者低、中、高)中的一个,查询特点参数的量化值可以为1、2、3(或者点查询、点查询和范围查询、范围查询)中的一个;则数据类别对应的服务质量信息的一组数据可以为{1,3,1,3,1,3}。
方式2:获取第三用户配置的目标元数据的数据类别对应的第一服务质量信息。
在该种方式下,第三用户可以配置各个元数据的数据类别对应的第一服务质量信息。实施中,第三用户可以通过信息配置界面配置各个元数据的数据类别对应的第一服务质量信息。其中,第三用户可以为租户,或者还可以为云服务的管理人员。
示例性的,信息配置界面中可以包括各个元数据的数据类别对应服务质量信息配置选项,如图5所示的信息配置界面,包括逻辑元数据对应服务质量信息配置选项、物理元数据对应服务质量信息配置选项和运行元数据对应服务质量信息配置选项。假设第三用户选择配置逻辑元数据对应服务质量信息,则第三用户可以点击如图5所示的信息配置界面中的“逻辑元数据”选项,显示界面跳转至如图6所示的信息配置界面。在如图6所示的信息配置界面中包括服务质量信息的各个参数,如查询性能参数、写入性能参数、可靠性参数、可用性参数、扩展性参数和查询特点参数。其中以配置查询性能参数为例,第三用户点击如图6所示的信息配置界面中的“查询性能参数”,显示界面跳转至如图7所示的信息配置界面。在如图7所示的信息配置界面中,第三用户可以配置带宽以及时延。其中带宽和时延可以为具体的参数值,比如带宽配置为100Kqps、时延配置为20ms;或者带宽和时延还可以为量化值,其中量化值可以为低、中、高等取值,或者量化值还可以为1、2、3的数值,比如带宽配置为低(或者配置为数字1),时延配置为中(或者配置为数字2)。
基于该种方式,元数据管理装置在接收到目标元数据之后,获取第三用户配置的目标元数据的数据类别对应的第一服务质量信息。
方式3:将预配置的数据类别与服务质量信息之间的第三对应关系,与第三用户配置的目标元数据的数据类别对应的第一服务质量信息相结合,确定目标元数据的数据类别对应的第一服务质量信息。
示例性的,第三对应关系中各个元数据的数据类别对应的服务质量信息中的各个参数可以是默认值。第三用户可以配置目标元数据的数据类别对应的第一服务质量信息中的部分或全部参数。
在元数据管理装置确定目标元数据的数据类别对应的第一服务质量信息时,根据该第二关系确定出目标元数据的第一服务质量信息,以及获取第三用户配置的目标元数据的数据类别对应的第一服务质量信息,将确定出的两个第一服务质量信息中的各个参数进行比较,从而确定最终的目标元数据的数据类别对应的第一服务质量信息。
示例性的,元数据管理装置根据该第二关系确定出目标元数据的第一服务质量信息为服务质量信息1,第三用户配置的目标元数据的数据类别对应的第一服务质量信息为服务质量信息2,则元数据管理装置将服务质量信息1中各个参数,与服务质量信息2中各个参数进行比较,针对同一个参数,将表征对存储实例质量要求更高的参数的取值,作为该参数的取值,从而确定出最终的第一服务质量信息。例如,服务质量信息1为{1,3,1,3,1,3},服务质量信息1为{1,2,2,3,1,2},则确定出最终的第一服务质量信息为{1,3,2,3,1,3}。
元数据管理装置在根据上述方式确定目标元数据的第一服务质量信息之后,根据各个候选的存储实例对应的第二服务质量信息,从多个候选的存储实例中选择目标存储实例。其中,元数据管理装置从多个候选的存储实例中选择的目标存储实例为能够用于存储目标元数据的存储实例。
候选存储实例对应的第二服务质量信息用于表征存储实例能够为元数据提供的存储质量。其中,第二服务质量信息包括但不限于查询性能参数、写入性能参数、可靠性参数、可用性参数、扩展性参数。
需要说明的是,候选存储实例对应的第二服务质量信息包含的信息内容与目标元数据的第一服务质量信息包含的信息内容可以相同,候选存储实例对应的第二服务质量信息包含的信息内容可以参见上文对第一服务质量信息包含信息内容的介绍,在此不再详细赘述。
元数据管理装置在从多个候选的存储实例中选择目标存储实例时,一种可选的实施方式为,根据各个候选的存储实例对应的第二服务质量信息,从多个候选的存储实例中选择与目标元数据的第一服务质量信息匹配的目标存储实例。
实施中,元数据管理装置从多个候选的存储实例中选择出的与第一服务质量信息匹配的目标存储实例,可以是从多个候选的存储实例中选择能够满足目标元数据的第一服务质量信息的目标存储实例。示例性的,元数据管理装置选择出的目标存储实例对应的第二服务质量信息中各个参数所表征的存储质量,不低于目标元数据的第一服务质量信息中各个参数所表征的对存储实例的质量要求。
例如,候选存储实例A对应的第二服务质量信息如表1所示:
表1
候选存储实例B对应的第二服务质量信息如表2所示:
表2
查询性能(带宽) | 200Kqps |
写入性能(带宽) | 150Kqps |
可靠性(数据副本数量) | 3副本 |
扩展性 | 最多扩展21个节点 |
可用性 | 跨AZ多活 |
候选存储实例C对应的第二服务质量信息如表3所示:
表3
查询性能(带宽) | 500Kqps |
写入性能(带宽) | 400Kqps |
可靠性(数据副本数量) | 大于等于5副本 |
扩展性 | 可扩展节点数大于50 |
可用性 | 跨Region多活 |
在目标元数据的第一服务质量信息为{查询性能参数:300Kqps,写入性能参数:200Kqps,可靠性参数:25副本,扩展性参数:扩展20个节点,可用性参数:跨AZ多活}时,则通过将第一服务质量信息中各个参数,与候选存储实例对应的第二服务质量信息中各个参数进行比较,可以确定候选存储实例C能够满足目标元数据对于存储实例的质量要求,则可以将候选存储实例C作为目标存储实例。
元数据管理装置在根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择出至少两个满足目标元数据对存储实例的质量要求的存储实例后,可以通过多种方式确定目标存储实例。
方式1、元数据管理装置从至少两个满足目标元数据对存储实例的质量要求的存储实例中,随机选择一个作为目标存储实例。
方式2、元数据管理装置基于预设规则,从至少两个满足目标元数据对存储实例的质量要求的存储实例中,选择一个作为目标存储实例;
示例性的,预设规则可以为成本较低;比如如上述表1、表2、表3所示的候选存储实例,在目标元数据的第一服务质量信息为{查询性能参数:120Kqps,写入性能参数:80Kqps,可靠性参数:2副本,扩展性参数:扩展15个节点,可用性参数:AZ内多副本}时,则通过将第一服务质量信息中各个参数,与候选存储实例对应的第二服务质量信息中各个参数进行比较,可以确定候选存储实例B和候选存储实例C能够满足目标元数据对于存储实例的质量要求,基于成本较低的预设规则,则可以将候选存储实例B作为目标存储实例。
方式3、元数据管理装置根据预设的映射算法,从至少两个满足目标元数据对存储实例的质量要求的存储实例中,选择一个作为目标存储实例;
在该种方式下,预设的映射算法可以为哈希运算和取模运算。实施中,元数据管理装置将目标元数据的数据标识做哈希运算,根据满足目标元数据对存储实例的质量要求的存储实例的个数,对哈希运算的结果进行取模运算,根据取模运算的结果从至少两个满足目标元数据对存储实例的质量要求的存储实例中,选择一个作为目标存储实例。
其中,目标元数据的数据标识可以为表名和/或分区名。
示例性的,若元数据管理装置确定候选存储实例B和候选存储实例C满足目标元数据对存储实例的质量要求,则可以按照一定规则对候选存储实例B和候选存储实例C排序,候选存储实例B的编号为0,候选存储实例C的编号为1。对目标元数据的数据表示做哈希运算,假设哈希运算的结果为103,则基于满足目标元数据对存储实例的质量要求的存储实例的个数2,对103做取模运算,得到取模运算的结果为1,则将候选存储实例C作为目标存储实例。
需要说明的是,本申请实施例元数据管理装置在确定出目标存储实例之后,可以建立目标元数据和目标存储实例之间的第二对应关系。可选的,第二对应关系中包括目标元数据的数据标识,以及为目标元数据确定出的目标存储实例的实例标识。
一种可选的实施方式为,在元数据管理装置接收到目标元数据之后,可以先判断第二对应关系中是否包含接收到的目标元数据对应的目标存储实例,若包含,则元数据管理装置直接可以根据第二对应关系确定目标元数据对应的目标存储实例,若不包含,则元数据管理装置可以基于上述流程确定目标元数据对应的目标存储实例。
步骤203:元数据管理装置将目标元数据存储至目标存储实例中。
元数据管理装置在确定出目标存储实例以及目标元数据对应的存储方式之后,根据目标元数据对应的存储方式,可以将目标元数据存储至目标存储实例中与第一用户对应的存储位置。
由于元数据管理装置可以对多个用户的元数据进行管理,且目标存储实例中也可以存储多个用户的元数据,为了保护用户元数据的安全,在目标存储实例中不同用户的元数据隔离存储,因此,元数据管理装置将目标元数据写入目标存储实例中第一用户对应的存储位置。
需要说明的是,元数据管理装置根据目标元数据的数据类别和数据级别,确定出目标元数据对应的数据存储方式之后,由于数据存储方式定义了目标元数据在存储实例中的隔离方式和/或数据存储格式,则可以基于目标元数据对应的数据存储方式,将目标元数据存储至目标存储实例中第一用户对应的存储位置。
基于如图1所示的元数据管理系统架构图。第一用户还可以操作终端设备101,通过元数据管理装置102,从至少一个存储实例103中读取元数据。
终端设备101上可以运行多种不同类型的应用和/或引擎,在终端设备101上的应用和/或引擎运行过程中,可能会触发元数据读取请求。终端设备101向元数据管理装置102发送元数据读取请求,元数据读取请求中可以包括第一用户的用户信息以及需要读取的目标元数据的数据标识。
实施中,终端设备101可以在需要读取第一用户的数据时,触发元数据读取请求;终端设备101在读取到第一用户的数据的目标元数据之后,可以基于目标元数据恢复第一用户的数据。
元数据管理装置102在接收到终端设备101发送的元数据读取请求之后,确定终端设备101需要读取的目标元数据所在的目标存储实例,则从目标存储实例中第一用户对应的存储位置上读取目标元数据,并将读取到的目标元数据返回给终端设备101。
下面结合如图8对本申请实施例提供的一种数据读取方法进行说明,该方法包括如下步骤:
步骤801:元数据管理装置接收元数据读取请求。
其中,元数据读取请求用于请求读取第一用户的目标元数据;元数据读取请求中可以包括第一用户的用户信息、请求读取的目标元数据的数据标识。第一用户可以为租户,则第一用户的用户信息为租户信息。
步骤802:元数据管理装置确定存储目标元数据的目标存储实例。
本申请实施例元数据管理装置可以通过多种不同的方式确定存储目标元数据的目标存储实例,下面分别进行介绍。
存储实例确定方式1:
元数据管理装置根据存储的元数据与存储实例之间的第二对应关系,确定存储目标元数据的目标存储实例。
基于该种存储实例确定方式,元数据管理装置在接收到终端设备发送的元数据,并确定出存储元数据的存储实例之后,保存元数据与存储实例之间的第二对应关系。这样,在元数据管理装置接收到终端设备发送的元数据读取请求之后,可以基于存储的第二对应关系,确定终端设备需要读取的目标元数据对应的目标存储实例。
实施中,第二对应关系中存储有各个元数据的数据标识和存储实例标识之间的第二对应关系,元数据管理装置在接收到终端设备发送的元数据读取请求之后,根据元数据读取请求中包含的目标元数据的数据标识以及该第二对应关系,确定目标元数据对应的目标存储实例。
存储实例确定方式2:
元数据管理装置根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
实施中,元数据管理装置接收到元数据读取请求之后,根据元数据读取请求中包含的目标元数据的数据标识,确定目标元数据的数据类别;元数据管理装置根据目标元数据的数据类别确定目标元数据的第一服务质量信息。
需要说明的是,元数据管理装置根据目标元数据的数据类别确定目标元数据的第一服务质量信息的具体方式,可以参见数据存储流程中,元数据管理装置根据目标元数据的数据类别确定目标元数据的第一服务质量信息的方式。
元数据管理装置根据各个候选的存储实例对应的第二服务质量信息,从多个候选的存储实例中选择与第一服务质量信息匹配的目标存储实例。
实施中,元数据管理装置从多个候选的存储实例中选择出的与第一服务质量信息匹配的目标存储实例,可以为能够满足目标元数据对存储实例的质量要求的存储实例。
需要说明的是,元数据管理装置从多个候选的存储实例中选择出的与第一服务质量信息匹配的目标存储实例的具体方式,可以参见数据存储流程中,元数据管理装置从多个候选的存储实例中选择出的与第一服务质量信息匹配的目标存储实例的方式。
另外,在该种存储实例确定方式中,若元数据管理装置确定出至少两个与第一服务质量信息匹配的存储实例,则元数据管理装置可以基于预设的映射算法,从至少两个与第一服务质量信息匹配的存储实例中确定存储目标元数据的目标存储实例。
值得注意的是,基于预设的映射算法,从至少两个与第一服务质量信息匹配的存储实例中确定存储目标元数据的目标存储实例的前提条件是,在元数据管理装置进行数据存储时,若确定出至少两个与第一服务质量信息匹配的目标存储实例,则基于相同的预设的映射算法,从至少两个与第一服务质量信息匹配的存储实例中确定目标存储实例。这样可以保证元数据管理装置进行元数据存储时确定出的存储实例,与元数据管理装置进行元数据读取时确定出的存储实例相同。
步骤803:元数据管理装置从目标存储实例中读取第二目标元数据,并将读取到的第二目标元数据传输至终端设备。
实施中,元数据管理装置可以从目标存储实例中与第一用户对应的存储位置,读取第二目标元数据。
本申请实施例的元数据管理装置包括元数据管理模块和存储实例管理模块;其中元数据模型管理模块用于执行上述确定目标元数据的第一服务质量信息以及数据存储方式的过程。存储实例管理模块用于执行上述确定存储目标元数据对应的目标存储实例的过程,以及确定存储目标元数据对应的目标存储实例的过程。
本申请还提供一种数据存储装置,如图9所示,包括:
收发模块901,用于获取第一用户的目标元数据,目标元数据为第一用户的数据的元数据;
存储实例管理模块902,用于根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例;第一服务质量信息用于表征对存储目标元数据的存储实例的质量要求;
处理模块903,用于将目标元数据存储至目标存储实例中。
在一种可能的实施方式中,数据存储装置还包括元数据管理模块904,用于根据目标元数据的数据类别,以及目标元数据的数据级别,确定目标元数据在存储实例中的数据存储方式;其中,目标元数据的数据类别是基于目标元数据的内容确定的;
处理模块903用于:按照目标元数据在存储实例中的数据存储方式,将目标元数据存储至目标存储实例中。
在一种可能的实施方式中,元数据管理模块904用于:
根据目标元数据的数据类别、数据级别、以及第一对应关系,确定目标元数据的隔离等级信息;第一对应关系表征元数据的数据类别、数据级别、以及隔离等级信息之间的对应关系,隔离等级信息用于表征目标元数据的隔离粒度;
根据目标元数据的隔离等级信息,确定目标元数据在存储实例中的数据存储方式。
在一种可能的实施方式中,元数据管理模块904,还用于响应于第二用户在信息配置界面中的配置操作,获取第二用户通过信息配置界面配置的第一对应关系。
在一种可能的实施方式中,收发模块901,还用于接收元数据读取请求,元数据读取请求用于请求读取第一用户的目标元数据;
存储实例管理模块902,还用于确定存储目标元数据的目标存储实例,并从目标存储实例中读取目标元数据,将读取到的目标元数据传输至第一用户的终端设备。
在一种可能的实施方式中,存储实例管理模块902在根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例之后,还用于保存目标元数据与目标存储实例之间的第三对应关系。
在一种可能的实施方式中,存储实例管理模块902用于:根据第三对应关系、以及元数据读取请求中包括的目标元数据的数据标识,确定存储目标元数据的目标存储实例。
在一种可能的实施方式中,存储实例管理模块902用于:根据目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
在一种可能的实施方式中,存储实例管理模块902用于:
根据目标元数据的数据类别,确定目标元数据的第一服务质量信息;其中,目标元数据的数据类别是基于目标元数据的内容确定的;
根据各个候选的存储实例的第二服务质量信息,从多个候选的存储实例中选择与第一服务质量信息匹配的目标存储实例;第二服务质量信息用于表征存储实例能够为元数据提供的存储质量。
在一种可能的实施方式中,存储实例管理模块902用于:根据预配置的数据类别与服务质量信息之间的第三对应关系,确定目标元数据的数据类别对应的第一服务质量信息;和/或,获取第三用户配置的目标元数据的数据类别对应的第一服务质量信息。
其中,收发模块901、存储实例管理模块902、处理模块903和元数据管理模块904均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以存储实例管理模块902为例,介绍存储实例管理模块902的实现方式。类似的,收发模块901、处理模块903和元数据管理模块904的实现方式可以参考存储实例管理模块902的实现方式。
模块作为软件功能单元的一种举例,存储实例管理模块902可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,存储实例管理模块902可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的region中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的AZ中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个VPC中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,存储实例管理模块902可以包括至少一个计算设备,如服务器等。或者,存储实例管理模块902也可以是利用ASIC实现、或PLD实现的设备等。其中,上述PLD可以是CPLD、FPGA、GAL或其任意组合实现。
存储实例管理模块902包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。A模块包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,A模块包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,存储实例管理模块902可以用于执行数据存储方法中的任意步骤,收发模块901、处理模块903或元数据管理模块904也可以用于执行数据存储方法中的任意步骤。收发模块901、存储实例管理模块902、处理模块903以及元数据管理模块904负责实现的步骤可根据需要指定,通过收发模块901、存储实例管理模块902、处理模块903以及元数据管理模块904分别实现数据存储方法中不同的步骤来实现元数据管理装置的全部功能。
本申请还提供一种计算设备1000。如图10所示,计算设备1000可以用于实现上述实施例中元数据管理装置的功能,包括:总线1001、处理器1002、存储器1003和通信接口1004。处理器1002、存储器1003和通信接口1004之间通过总线1001通信。计算设备1000可以是服务器或终端设备。应理解,本申请不限定计算设备1000中的处理器、存储器的个数。
总线1001可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线1001可包括在计算设备1000各个部件(例如,存储器1003、处理器1002、通信接口1004)之间传送信息的通路。
处理器1002可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器1003可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器1002还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器1003中存储有可执行的程序代码,处理器1002执行该可执行的程序代码以分别实现前述收发模块901、存储实例管理模块902、处理模块903以及元数据管理模块904的功能,从而实现数据存储方法。也即,存储器1003上存有用于执行数据存储方法的指令。
通信接口1004使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备1000与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。计算设备集群中的至少一个计算设备配合用于实现上述实施例中元数据管理装置的功能,该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图11所示,所述计算设备集群包括至少一个计算设备1000。计算设备集群中的一个或多个计算设备1000中的存储器1003中可以存有相同的用于执行数据存储方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备1000的存储器1003中也可以分别存有用于执行数据存储方法的部分指令。换言之,一个或多个计算设备1000的组合可以共同执行用于执行数据存储方法的指令。
需要说明的是,计算设备集群中的不同的计算设备1000中的存储器1003可以存储不同的指令,分别用于执行元数据管理装置的部分功能。也即,不同的计算设备1000中的存储器1003存储的指令可以实现收发模块901、存储实例管理模块902、处理模块903以及元数据管理模块904中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行应用部署方法,或应用部署方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行应用部署方法,或指示计算设备执行应用部署方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (23)
1.一种数据存储方法,其特征在于,所述方法包括:
获取第一用户的目标元数据,所述目标元数据为所述第一用户的数据的元数据;
根据所述目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例;所述第一服务质量信息用于表征对存储所述目标元数据的存储实例的质量要求;
将所述目标元数据存储至所述目标存储实例中。
2.如权利要求1所述的方法,其特征在于,在所述获取第一用户的目标元数据之后,所述方法还包括:
根据所述目标元数据的数据类别,以及所述目标元数据的数据级别,确定所述目标元数据在存储实例中的数据存储方式;其中,所述目标元数据的数据类别是基于所述目标元数据的内容确定的;
所述将所述目标元数据存储至所述目标存储实例中,包括:
按照所述目标元数据在存储实例中的数据存储方式,将所述目标元数据存储至所述目标存储实例中。
3.如权利要求2所述的方法,其特征在于,所述根据所述目标元数据的数据类别,以及所述目标元数据的数据级别,确定所述目标元数据在存储实例中的数据存储方式,包括:
根据所述目标元数据的数据类别、数据级别、以及第一对应关系,确定所述目标元数据的隔离等级信息;所述第一对应关系表征元数据的数据类别、数据级别、以及隔离等级信息之间的对应关系,所述隔离等级信息用于表征所述目标元数据的隔离粒度;
根据所述目标元数据的隔离等级信息,确定所述目标元数据在存储实例中的数据存储方式。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
响应于第二用户在信息配置界面中的配置操作,获取所述第二用户通过所述信息配置界面配置的所述第一对应关系。
5.如权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:
接收元数据读取请求,所述元数据读取请求用于请求读取所述第一用户的目标元数据;
确定存储所述目标元数据的目标存储实例,并从所述目标存储实例中读取所述目标元数据,将读取到的所述目标元数据传输至所述第一用户的终端设备。
6.如权利要求5所述的方法,其特征在于,在根据所述目标元数据的第一服务质量信息,所述从多个候选的存储实例中选择目标存储实例之后,所述方法还包括:
保存所述目标元数据与目标存储实例之间的第二对应关系。
7.如权利要求6所述的方法,其特征在于,所述确定存储所述目标元数据的目标存储实例,包括:
根据所述第二对应关系、以及所述元数据读取请求中包括的所述目标元数据的数据标识,确定存储所述目标元数据的目标存储实例。
8.如权利要求5所述的方法,其特征在于,所述确定存储所述目标元数据的目标存储实例,包括:
根据所述目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
9.如权利要求1或8所述的方法,其特征在于,所述根据所述目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例,包括:
根据所述目标元数据的数据类别,确定所述目标元数据的第一服务质量信息;其中,所述目标元数据的数据类别是基于所述目标元数据的内容确定的;
根据各个候选的存储实例的第二服务质量信息,从所述多个候选的存储实例中选择与所述第一服务质量信息匹配的目标存储实例;所述第二服务质量信息用于表征存储实例能够为元数据提供的存储质量。
10.如权利要求9所述的方法,其特征在于,所述根据所述目标元数据的数据类别,确定所述目标元数据的第一服务质量信息,包括:
根据预配置的数据类别与服务质量信息之间的第三对应关系,确定所述目标元数据的数据类别对应的第一服务质量信息;和/或,获取第三用户配置的所述目标元数据的数据类别对应的第一服务质量信息。
11.一种数据存储装置,其特征在于,所述装置包括:
收发模块,用于获取第一用户的目标元数据,所述目标元数据为所述第一用户的数据的元数据;
存储实例管理模块,用于根据所述目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例;所述第一服务质量信息用于表征对存储所述目标元数据的存储实例的质量要求;
处理模块,用于将所述目标元数据存储至所述目标存储实例中。
12.如权利要求11所述的装置,其特征在于,所述装置还包括元数据管理模块,用于根据所述目标元数据的数据类别,以及所述目标元数据的数据级别,确定所述目标元数据在存储实例中的数据存储方式;其中,所述目标元数据的数据类别是基于所述目标元数据的内容确定的;
所述处理模块用于:按照所述目标元数据在存储实例中的数据存储方式,将所述目标元数据存储至所述目标存储实例中。
13.如权利要求12所述的装置,其特征在于,所述元数据管理模块用于:
根据所述目标元数据的数据类别、数据级别、以及第一对应关系,确定所述目标元数据的隔离等级信息;所述第一对应关系表征元数据的数据类别、数据级别、以及隔离等级信息之间的对应关系,所述隔离等级信息用于表征所述目标元数据的隔离粒度;
根据所述目标元数据的隔离等级信息,确定所述目标元数据在存储实例中的数据存储方式。
14.如权利要求13所述的装置,其特征在于,所述元数据管理模块,还用于响应于第二用户在信息配置界面中的配置操作,获取所述第二用户通过所述信息配置界面配置的所述第一对应关系。
15.如权利要求11~14任一项所述的装置,其特征在于,所述方法还包括:
所述收发模块,还用于接收元数据读取请求,所述元数据读取请求用于请求读取所述第一用户的目标元数据;
所述存储实例管理模块,还用于确定存储所述目标元数据的目标存储实例,并从所述目标存储实例中读取所述目标元数据,将读取到的所述目标元数据传输至所述第一用户的终端设备。
16.如权利要求15所述的装置,其特征在于,所述存储实例管理模块在根据所述目标元数据的第一服务质量信息,所述从多个候选的存储实例中选择目标存储实例之后,还用于保存所述目标元数据与目标存储实例之间的第三对应关系。
17.如权利要求16所述的装置,其特征在于,所述存储实例管理模块用于:根据所述第三对应关系、以及所述元数据读取请求中包括的所述目标元数据的数据标识,确定存储所述目标元数据的目标存储实例。
18.如权利要求15所述的装置,其特征在于,所述存储实例管理模块用于:根据所述目标元数据的第一服务质量信息,从多个候选的存储实例中选择目标存储实例。
19.如权利要求11或18所述的装置,其特征在于,所述存储实例管理模块用于:
根据所述目标元数据的数据类别,确定所述目标元数据的第一服务质量信息;其中,所述目标元数据的数据类别是基于所述目标元数据的内容确定的;
根据各个候选的存储实例的第二服务质量信息,从所述多个候选的存储实例中选择与所述第一服务质量信息匹配的目标存储实例;所述第二服务质量信息用于表征存储实例能够为元数据提供的存储质量。
20.如权利要求19所述的装置,其特征在于,所述存储实例管理模块用于:根据预配置的数据类别与服务质量信息之间的第三对应关系,确定所述目标元数据的数据类别对应的第一服务质量信息;和/或,获取第三用户配置的所述目标元数据的数据类别对应的第一服务质量信息。
21.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1~10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,实现如权利要求1~10中任一项所述的方法。
23.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472337.1A CN116540934A (zh) | 2023-04-25 | 2023-04-25 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472337.1A CN116540934A (zh) | 2023-04-25 | 2023-04-25 | 一种数据存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116540934A true CN116540934A (zh) | 2023-08-04 |
Family
ID=87455399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310472337.1A Pending CN116540934A (zh) | 2023-04-25 | 2023-04-25 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116540934A (zh) |
-
2023
- 2023-04-25 CN CN202310472337.1A patent/CN116540934A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996565B2 (en) | Managing an index of a table of a database | |
US9253055B2 (en) | Transparently enforcing policies in hadoop-style processing infrastructures | |
KR100974149B1 (ko) | 네임스페이스에 대한 정보 유지 방법, 시스템 및 컴퓨터 판독가능 저장 매체 | |
US9996596B2 (en) | Managing a table of a database | |
US11237749B2 (en) | System and method for backup data discrimination | |
KR20170120489A (ko) | 통지와 함께 백그라운드 활동을 효율적으로 관리하는 ssd를 위한 메카니즘 | |
US11375015B2 (en) | Dynamic routing of file system objects | |
CN108959510B (zh) | 一种分布式数据库的分区级连接方法和装置 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
US11366821B2 (en) | Epsilon-closure for frequent pattern analysis | |
US11169977B2 (en) | System and method for removal of data and metadata using an enumerator | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
US20210382711A1 (en) | Data structures for managing configuration versions of cloud-based applications | |
US11436193B2 (en) | System and method for managing data using an enumerator | |
CN116233254A (zh) | 业务切流方法、装置、计算机设备和存储介质 | |
CN116540934A (zh) | 一种数据存储方法及装置 | |
JP2016184213A (ja) | 数値データを匿名化する方法及び数値データ匿名化サーバ | |
US11816088B2 (en) | Method and system for managing cross data source data access requests | |
CN112860694B (zh) | 业务数据的处理方法、装置及设备 | |
US11176108B2 (en) | Data resolution among disparate data sources | |
US20240070138A1 (en) | Efficient merge of tabular data with deletion indications | |
US20210279660A1 (en) | Information sharing assistance method and information sharing assistance system | |
US11687416B2 (en) | Data backup optimization | |
US11514097B2 (en) | System and method for update of data and meta data via an enumerator | |
US20240070153A1 (en) | Efficient merging of tabular data with post-processing compaction |
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 |