数据隔离以及查询的方法和装置制造方法及图纸

技术编号:15746639 阅读:119 留言:0更新日期:2017-07-03 02:23
本发明专利技术公开了一种数据隔离以及查询的方法及装置,涉及数据库领域。存储数据时,根据二级键K2和一级键生成参数构建生成一级键K1,然后将(K2,V)存储到定制对象DO中,最后采用(K1,DO)的数据存储形式存储键值数据。相应的,查询数据时,根据二级键K2和一级键生成参数构建生成一级键K1,然后根据一级键K1查找到定制对象DO,最后根据二级键K2取出定制对象DO中的数据值V。其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。通过上述方案实现了数据库中数据的隔离功能。

Method and device for data isolation and inquiry

The invention discloses a method and a device for data isolation and inquiry, relating to the database field. When storing data, we generate parameters according to the two level key K2 and the first level key, build the first level key K1, then store (K2, V) to the custom object DO, and finally store the key data with the data storage form (K1, DO). Accordingly, the query data, according to the two key K2 and a key generation parameter construction to generate a key K1, then according to a key K1 to find the DO custom object, according to the two key K2 out of the DO custom object data value V. Among them, the first level key K1 is the logical key of the custom object DO, and the two level key K2 is the data key of the object DO, and the V is the data value of the object DO of the customization. Through the above scheme, the isolation function of data in the database is realized.

【技术实现步骤摘要】
数据隔离以及查询的方法和装置
本专利技术涉及数据库领域,尤其涉及一种数据隔离以及查询的方法和装置。
技术介绍
基于内存的键值模式数据库,通常应用于高并发、高吞吐、低时延要求的场景下,性能是其核心设计诉求。而在管理方面,常见的数据库往往只提供简单的安全口令认证,同时不提供用户空间、数据隔离等手段,同时在面向大覆盖范围的统计上存在缺陷。在大数据运营型企业的生产实践中,其面向多个客户同时提供服务的特点,以及共享硬件资源提升资源利用率的需求,必然要求对于传统的内存数据库提供区分可定制场景的数据隔离。
技术实现思路
本专利技术所要解决的一个技术问题是:如何实现数据库中数据的隔离功能。根据本专利技术实施例的一个方面,提供了一种数据隔离方法,包括:根据二级键K2和一级键生成参数构建生成一级键K1;将(K2,V)存储到定制对象DO中;采用(K1,DO)的数据存储形式存储键值数据;其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。根据本专利技术实施例的另一个方面,提供了一种数据查询方法,包括:根据二级键K2和一级键生成参数构建生成一级键K1;根据一级键K1查找到定制对象DO;根据二级键K2取出定制对象DO中的数据值V。根据本专利技术实施例的又一个方面,提供了一种数据隔离装置,包括:一级键K1生成模块,用于根据二级键K2和一级键生成参数构建生成一级键K1;键值数据存储模块,用于将(K2,V)存储到定制对象DO中,并用于采用(K1,DO)的数据存储形式存储键值数据;其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。根据本专利技术实施例的再一个方面,提供了一种数据查询装置,包括:一级键K1生成模块,用于根据二级键K2和一级键生成参数构建生成一级键K1;定制对象DO查找模块,用于根据一级键K1查找到定制对象DO;键值对取值模块,用于根据二级键K2取出定制对象DO中的数据值V。本专利技术在键值存储模式的基础上构建逻辑层,从而实现了数据库中数据的隔离功能。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1示出本专利技术数据隔离方法的一个实施例的流程示意图。图2示出本专利技术数据查询方法的一个实施例的流程示意图。图3示出本专利技术数据隔离装置的一个实施例的结构示意图。图4示出本专利技术数据查询装置的一个实施例的结构示意图。图5示出本专利技术一级键K1的数据库段、数据表段、表分区段组成部分之间的对应关系示意图。图6示出本专利技术采用K1-K2-V的形式进行数据存储的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合图1描述本专利技术一个实施例的数据隔离方法。图1示出本专利技术数据隔离方法的一个实施例的流程示意图。如图1所示,该实施例的数据隔离方法包括:步骤S102,根据二级键K2和一级键生成参数构建生成一级键K1。步骤S104,将(K2,V)存储到定制对象DO中。步骤S106,采用(K1,DO)的数据存储形式存储键值数据。其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。定制对象DO例如可以通过MAP的形式存储在内存集群数据库中。优选的,一级键K1可以由数据库段、数据表段、表分区段组成,从而在Redis集群上提供数据库、数据表、分区的数据组织方式。其中,数据库db是最大的数据隔离单位,是一个逻辑概念。用户可以创建多个数据库。一般来说,一类的数据应放在一个内存数据库中。数据表table是一类主题、业务、概念相同数据的集合,如用户表、明细表等,是一个逻辑概念。表分区partition是基于Redis集群特性,将大数据表进一步逻辑拆分的单位。不同分区中的数据是分开存储,使数据的分布更加均匀。此外,数据库、数据表、分区这些逻辑概念可以用元数据来描述。用于存储元数据的键名为STORE,值类型为Hash(哈希表)。所有元数据信息,都存放在以STORE为键的哈希表下。所有数据库的元数据描述信息都以Key-Value的形式保存在元数据库中(哈希表),数据库的键名可以为DB_[数据库名]。所有数据表的元数据描述信息都以Key-Value的形式保存在元数据库中(哈希表)。数据表的键名可以为TB_[数据库名]_[数据表名],从而在键名上体现数据表与数据库的关系。数据分区是数据表的进一步逻辑划分,数据分区以元数据的方式保存的数据表的元数据中。数据分区的键名可以为[数据库名]_[数据表名]_[分区名]。一级键K1的数据库段、数据表段、表分区段组成部分之间的对应关系如图5所示。采用K1-K2-V的形式进行数据存储的存储结构如图6所示。下面列举说明上述的数据隔离方法。数据库进行全国人口的姓名和民族存储,准备按“省”统计人口数量,以及按“省+性别”统计人口数量。传统的键值数据库只能按照全库扫描并分类判断的方式进行。针对按“省”统计人口数量的业务需求,本专利技术基于数据库中的定制对象“身份证-姓名”以及生成参数“省份”,可以将K1设计为“人口库-姓名表-省份”的形式,其中,省份可以通过身份证号K2在存储时获得。针对按“省+性别”统计人口数量的业务需求,本专利技术基于数据库中的定制对象“身份证-民族”以及生成参数“省份、性别”,可以将K1设计为“人口库-民族表-省份|性别”形式。其中省份和性别都可以通过身份证号K2在存储时获得。“人口库”、“姓名表”、“民族表”关键字可以在业务中预定义。这样,由于存在31个省份和2个性别,整体K1的数量为31×2=64个,比12亿的人口基数有本质性下降。在本实施例中,键值数据库采用两段式存储设计。用户数据不直接存储为Key-Value,而是以K1-K2-V的形式保存在以db_table_partition三个维度组成的K1的哈希表类型的value中。通过构建逻辑键K1并采用K1-K2-V的数据存储形式存储键值数据,实现了数据的隔离。同时,K1可以用作数据的组织和管理,不会被用户看到。此外,本实施例可以在传统的键值数据库基础上进行进一步的接口逻辑层设计,易于实现,不需要对传统的键值数据库做很大的改动。下面结合图2描述本专利技术一个实施例的数据查询方法。图2示出本专利技术数据查询方法的一个实施例的流程示意图。如图2所示,该实施例的数据查询方法包括:步骤S202,根据二级键K2和一级键生成参数构建生成一级键K1。K1的构建生成方法与数据存储隔离时采用的方法一致,并且具体构建过程可以参考前述实施例的描述。步骤S2本文档来自技高网...
数据隔离以及查询的方法和装置

【技术保护点】
一种数据隔离方法,包括:根据二级键K2和一级键生成参数构建生成一级键K1;将(K2,V)存储到定制对象DO中;采用(K1,DO)的数据存储形式存储键值数据;其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。

【技术特征摘要】
1.一种数据隔离方法,包括:根据二级键K2和一级键生成参数构建生成一级键K1;将(K2,V)存储到定制对象DO中;采用(K1,DO)的数据存储形式存储键值数据;其中,一级键K1为定制对象DO的逻辑键,二级键K2为定制对象DO的数据键,V为定制对象DO的数据值。2.根据权利要求1所述的方法,其特征在于,所述一级键K1由数据库段、数据表段、表分区段组成。3.根据权利要求1所述的方法,其特征在于,其中,所述定制对象DO以MAP的形式存储。4.一种数据查询方法,包括:根据二级键K2和一级键生成参数构建生成一级键K1;根据一级键K1查找到定制对象DO;根据二级键K2取出定制对象DO中的数据值V。5.根据权利要求4所述的方法,其特征在于,所述一级键K1由数据库段、数据表段、表分区段组成。6.根据权利要求4所述的方法,其特征在于,定制对象DO以MAP形式存储。7.一种数据隔离装置,包括:一级键K1生成...

【专利技术属性】
技术研发人员:杨维
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1