盘点人大金仓的发明专利(2024.01公布)

在墨天轮中国数据库排行,目前 人大金仓 数据库排名第 6,在指数中有项重要指标是专利,本文一起来盘点 2024 一月公布的发明专利。

专利

2024年一月公布的专利共 9 项,具体参见下表。

NoPublicationDateTitle
1CN117331969A2024.01.02数据库操作语句的处理方法、存储介质与设备
2CN117370375A2024.01.09数据库中数据类型的处理方法、介质与计算机设备
3CN117390641A2024.01.12数据库敏感数据的处理方法、存储介质与计算机设备
4CN117421097A2024.01.19一种事务日志的处理方法、装置、设备和介质
5CN117421284A2024.01.19一种事务日志的处理方法、装置、设备和介质
6CN117421291A2024.01.19一种预写日志存储级别参数的修改方法、设备和介质
7CN117421741A2024.01.19一种开启事务日志的加密功能的方法、装置、设备和介质
8CN117421742A2024.01.19一种开启事务日志的加密功能的方法、装置、设备和介质
9CN117453458A2024.01.26数据库的数据备份处理方法、可读存储介质和计算机设备

1. 数据库操作语句的处理方法、存储介质与设备

本发明提供了一种数据库操作语句的处理方法、存储介质与设备。其中上述方法包括:获取数据库操作语句中的索引配置信息;根据索引配置信息对执行计划的生成路径进行处理;根据处理后的生成路径生成执行计划。通过本方法,对推荐索引关键词以及指定索引关键词的执行逻辑进行修改,进一步提高了索引配置语句对于路径选择的影响力,从而控制执行计划的生成,使得数据库操作语句按照预想的方式执行。

2. 数据库中数据类型的处理方法、介质与计算机设备

本发明提供了一种数据库操作语句的处理方法、存储介质与设备。其中上述方法包括:获取数据库操作语句中的索引配置信息;根据索引配置信息对执行计划的生成路径进行处理;根据处理后的生成路径生成执行计划。通过本方法,对推荐索引关键词以及指定索引关键词的执行逻辑进行修改,进一步提高了索引配置语句对于路径选择的影响力,从而控制执行计划的生成,使得数据库操作语句按照预想的方式执行。

3. 数据库敏感数据的处理方法、存储介质与计算机设备

本发明提供了一种数据库敏感数据的处理方法、存储介质与计算机设备。其中上述方法包括:接收访问请求;确定访问请求对应的目标数据,并识别目标数据是否包含敏感数据;若是,则在预设敏感数据表中获取目标敏感数据并进行解密,预设敏感数据表用于存储数据库中的敏感数据;将解密后的目标敏感数据与目标数据中的目标非敏感数据进行拼接作为结果数据返回。通过此方法,能够在数据库内部将普通数据和敏感数据分开进行存储,并且对敏感数据进行加密,从而提高敏感数据的安全性,在访问请求对应的目标数据涉及敏感数据时,分别将目标敏感数据与目标非敏感数据取出,并对目标敏感数据进行解密,随后进行拼接,保证敏感数据的正常使用。

4. 一种事务日志的处理方法、装置、设备和介质

本发明提供了一种数据库敏感数据的处理方法、存储介质与计算机设备。其中上述方法包括:接收访问请求;确定访问请求对应的目标数据,并识别目标数据是否包含敏感数据;若是,则在预设敏感数据表中获取目标敏感数据并进行解密,预设敏感数据表用于存储数据库中的敏感数据;将解密后的目标敏感数据与目标数据中的目标非敏感数据进行拼接作为结果数据返回。通过此方法,能够在数据库内部将普通数据和敏感数据分开进行存储,并且对敏感数据进行加密,从而提高敏感数据的安全性,在访问请求对应的目标数据涉及敏感数据时,分别将目标敏感数据与目标非敏感数据取出,并对目标敏感数据进行解密,随后进行拼接,保证敏感数据的正常使用。

5. 一种事务日志的处理方法、装置、设备和介质

本申请提供一种事务日志的处理方法、装置、设备和介质,将预写日志存储级别参数修改为逻辑值,而后创建逻辑复制槽并将逻辑复制槽创建完成的时间点作为事务日志级别均为逻辑级别的时间点。由于在创建逻辑复制槽完成之前,需要等待预写日志存储级别参数修改为逻辑值时正在运行的事务集内事务运行完成,即逻辑复制槽创建完成的时间点晚于事务集内事务运行完成的时间点。因此,逻辑复制槽创建完成的时间点或之后的任意时刻运行事务的事务日志级别均为逻辑级别,逻辑解码该时间点和/或该时间后运行事务的事务日志不会出现数据丢失的情况,有效减小数据丢失的风险。

6. 一种预写日志存储级别参数的修改方法、设备和介质

本申请提供一种预写日志存储级别参数的修改方法、设备和介质,将配置文件中的预写日志存储级别参数修改为逻辑值,控制Postmaster进程加载配置文件并根据配置文件中的预写日志存储级别参数将Postmaster进程本地和共享内存中预写日志存储级别参数修改为逻辑值,而后控制子进程仅从共享内存中获取预写日志存储级别参数,子进程获取逻辑值的预写日志存储级别参数并且不会对共享内存中的预写日志存储级别参数进行修改,从而使各个子进程中预写日志存储级别参数一致且均为逻辑值,使得同一时刻Postmaster进程和子进程中运行事务的事务日志级别均为逻辑级别,减小逻辑解码事务日志过程中数据丢失的风险。

7. 一种开启事务日志的加密功能的方法、装置、设备和介质

本申请提供一种开启事务日志的加密功能的方法、装置、设备和介质,将配置文件中的事务日志加密参数修改为开启加密对应的值,向postmaster进程发送第一重载信号,使得postmaster进程加载配置文件将共享内存中事务日志加密参数修改为开启加密对应的值,而后控制各个写事务日志的进程仅从共享内存中获取事务日志加密参数,由于只允许postmaster进程修改事务日志加密参数,其他进程只允许读取共享内存中的事务日志加密参数,从而使得各个写事务日志的进程在同一时刻读取到的事务日志加密参数相同,实现各个进程同步开启事务日志的加密功能,从而避免由于部分进程未开启事务日志的加密功能导致用户信息泄露的情况。

8. 一种开启事务日志的加密功能的方法、装置、设备和介质

本申请提供一种开启事务日志的加密功能的方法、装置、设备和介质,将配置文件中的事务日志加密参数修改为第一预设值或第二预设值。向postmaster进程发送第一重载信号,以控制postmaster进程加载配置文件,修改本地事务日志加密参数为第一预设值或第二预设值并向各个写事务日志的进程发送第一重载信号,以控制各个写事务日志的进程加载配置文件,修改本地事务日志加密参数为第一预设值或第二预设值。这样,在需要对事务日志整体进行加密时,将配置文件中的事务日志加密参数修改为第一预设值,在需要对事务日志中的数据页进行加密时,将配置文件中的事务日志加密参数修改为第二预设值,分级开启事务日志的加密功能。

9. 数据库的数据备份处理方法、可读存储介质和计算机设备

本申请提供一种开启事务日志的加密功能的方法、装置、设备和介质,将配置文件中的事务日志加密参数修改为第一预设值或第二预设值。向postmaster进程发送第一重载信号,以控制postmaster进程加载配置文件,修改本地事务日志加密参数为第一预设值或第二预设值并向各个写事务日志的进程发送第一重载信号,以控制各个写事务日志的进程加载配置文件,修改本地事务日志加密参数为第一预设值或第二预设值。这样,在需要对事务日志整体进行加密时,将配置文件中的事务日志加密参数修改为第一预设值,在需要对事务日志中的数据页进行加密时,将配置文件中的事务日志加密参数修改为第二预设值,分级开启事务日志的加密功能。

KingbaseES 小课堂

下面以 KingbaseES V9R1 为例,介绍几个小知识点。

透明存储加密

透明存储加密(Transparent Data Encryption, TDE) 是指数据在写到磁盘上时对其进行加密,当授权用户重新读取数据时再对其进行解密。无需对应用程序进行修改,授权用户甚至不会注意到数据已经在存储介质上加密,加密解密过程对用户都是透明的。

透明存储加密支持表空间级加密,对加密表空间中的所有数据进行加密。在加密表空间创建的各种数据库对象,例如表,索引等都会被默认直接加密,而不需要使用其他语法标识此对象需要被加密。

透明存储加密目前支持内置SM4 和RC4 算法对数据进行加密。

预写日志存储级别

预写日志存储级别 wal_level,支持设定为三个值 minimal < replica < logical

默认值是 replica ,它会写入足够的数据以支持 WAL 归档和复制,包括在后备服务器上运行只读查询。

minimal 会去掉除从崩溃或者立即关机中进行恢复所需的信息之外的所有记录。

logical 会增加支持逻辑解码所需的信息。使用级别 logical 将增加 WAL 容量,特别是如果为了 REPLICA IDENTITY FULL 配置了很多表并且执行了很多 UPDATE 和 DELETE 语句时。

要启用 WAL 归档(archive_mode) 和流复制,必须使用 replica 或更高级别。如果需要使用逻辑同步,则需设置成 logical 。

在 KingbaseES V8R2 之前的版本中,这个参数也允许值 archivehot_standby。现在仍然接受这些值,但是它们会被映射到 replica。

kingbase=# show wal_level;
 wal_level
-----------
 replica
(1 row)

kingbase=# ALTER SYSTEM SET wal_level = logical;
ALTER SYSTEM
kingbase=# select sys_reload_conf();
-[ RECORD 1 ]---+--
sys_reload_conf | t

kingbase=# select * from pg_settings where name = 'wal_level';
-[ RECORD 1 ]---+-------------------------------------------------
name            | wal_level
setting         | logical
unit            |
category        | Write-Ahead Log / Settings
short_desc      | Set the level of information written to the WAL.
extra_desc      |
context         | sighup
vartype         | enum
source          | configuration file
min_val         |
max_val         |
enumvals        | {minimal,replica,logical}
boot_val        | replica
reset_val       | logical
sourcefile      | /opt/Kingbase/ES/V9/data/kingbase.auto.conf
sourceline      | 4
pending_restart | f

kingbase=#

WAL 日志加密

通过修改 PGC_SIGHUP 级别的 GUC 参数(wal_encryption)控制 WAL 日志加密功能的在线开启/关闭,默认为关闭。

开启加密:

kingbase=# alter system set wal_encryption to on;
ALTER SYSTEM
kingbase=# select sys_reload_conf();
-[ RECORD 1 ]---+--
sys_reload_conf | t

kingbase=# select * from pg_settings where name like 'wal_encry%';
-[ RECORD 1 ]---+-----------------------------------------------
name            | wal_encryption
setting         | on
unit            |
category        | Write-Ahead Log / Settings
short_desc      | Enable or disable the wal encryption function.
extra_desc      |
context         | sighup
vartype         | bool
source          | configuration file
min_val         |
max_val         |
enumvals        |
boot_val        | off
reset_val       | on
sourcefile      | /opt/Kingbase/ES/V9/data/kingbase.auto.conf
sourceline      | 3
pending_restart | f

kingbase=#

创建 DBLINK

人大金仓数据库中的dblink是一个插件,它支持从数据库会话中连接到其他Kingbase数据库,并进行数据操作。dblink模块允许用户创建数据库连接,执行跨数据库查询和操作。

kingbase=# create extension dblink;
CREATE EXTENSION
kingbase=# \dx dblink
                               List of installed extensions
  Name  | Version | Schema |                         Description
--------+---------+--------+--------------------------------------------------------------
 dblink | 1.2     | public | connect to other KingbaseES databases from within a database
(1 row)

kingbase=# select dblink_connect('a', 'host=localhost port=54321 user=system password=1 dbname=kingbase');
 dblink_connect
----------------
 OK
(1 row)

kingbase=# select * from dblink('a', 'SELECT version()') as t(db_ver text);
                                                        db_ver
----------------------------------------------------------------------------------------------------------------------
 KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)

创建序列

人大金仓数据库中,序列是一种特殊的对象,用于生成唯一的递增或递减的数值,通常用于为表的主键字段提供唯一的标识值。

kingbase=# create sequence s1
kingbase-# start with 1
kingbase-# increment by 2
kingbase-# no maxvalue
kingbase-# no minvalue
kingbase-# cache 10
kingbase-# no cycle
kingbase-# order
kingbase-# ;
NOTICE:  the order only do grammar support.
CREATE SEQUENCE
kingbase=# \d s1
                             Sequence "public.s1"
  Type  | Start | Minimum |       Maximum       | Increment | Cycles? | Cache
--------+-------+---------+---------------------+-----------+---------+-------
 bigint |     1 |       1 | 9223372036854775807 |         2 | no      |    10

Have a nice day ~

本文由 mdnice 多平台发布

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值