神通数据库三层缓存段搜索管理结构及页面查找方法

    公开(公告)号:CN115145961A

    公开(公告)日:2022-10-04

    申请号:CN202210778517.8

    申请日:2022-07-01

    Abstract: 本发明涉及一种神通数据库三层缓存段搜索管理结构及页面查找方法,其技术特点是:包括线程级缓存、段搜索全局缓存和物理空间;线程级缓存是一个线程的局部缓存;段搜索全局缓存包括全局缓存结点及全局缓存结点管理的一批空闲页面项,每个缓存结点管理的页面项按照空闲空间档位组织成多级链表;物理空间采用PFS页面进行管理,段内所有PFS页面均为多叉树状结构,一个PFS页面管理若干个数据页面,每个PFS页面记录一批数据页面以及它们的空间空闲值。本发明设计合理,提高了多线程并发查找页面的性能,有效地提高了并发性和吞吐率,解决了每次查找页面时都去访问段的PFS树造成大量I/O以及多个线程并发对PFS树进行搜索时产生的资源竞争的问题。

    基于页面更新序号的数据库集群多节点重做日志恢复方法

    公开(公告)号:CN112099996B

    公开(公告)日:2022-04-05

    申请号:CN202010993792.2

    申请日:2020-09-21

    Abstract: 本发明涉及一种基于页面更新序号的数据库集群多节点重做日志恢复方法,包括以下步骤:在页面头部分配空间作为页面更新序号;集群中所有的节点在更新数据页面时,更新页面更新序号和本节点的重做日志;重新启动数据库集群,最先启动的节点成为主节点,由主节点进行实例恢复;主节点从共享磁盘加载控制文件,从控制文件中读取每一个节点的重做日志信息作为扫描句柄,保存在扫描句柄数组中;遍历所有的扫描句柄,恢复重做日志;所有扫描句柄已经扫描完毕,重做日志恢复结束。本发明在新增重做日志和在实例恢复时,利用页面更新序号判断页面是否连续,将相同页面在不同节点之间的修改按序恢复,保证数据的一致性,提高了系统运行的可靠性。

    一种基于内存多级缓存的数据快速分页查询访问的方法

    公开(公告)号:CN110209701A

    公开(公告)日:2019-09-06

    申请号:CN201910495179.5

    申请日:2019-06-10

    Abstract: 本发明涉及一种基于内存多级缓存的数据快速分页查询访问的方法,包括以下步骤:在数据库启动时,创建一张哈希表作为全局缓存结构;在事务开始时,创建一张哈希表作为该事务的局部缓存结构;在事务进行的过程中,完成表更新操作;当一个事务发起表的总行数查询时,以OID为键在全局缓存结构中查找表的总行数,以OID为键在事务局部缓存结构中查找当前事务影响该表的变化行数,两个数值相加作为此次查询表的总行数;在事务提交时,数据库系统将更新过的当前事务局部缓存结构中各个表的变化行数累加到全局缓存结构中相应表的总行数上。本发明设计合理,大大减少并发冲突,同时最大限度减少了内存中表的总行数的维护对表的更新性能产生的影响。

    一种基于行存数据库引擎的列存方法

    公开(公告)号:CN102495905A

    公开(公告)日:2012-06-13

    申请号:CN201110436691.6

    申请日:2011-12-23

    Abstract: 本发明公开一种基于行存数据库引擎的列存方法,包括:行存储数据库,并基于所述行数据库进行如下操作:创建压缩表,并指定相应的压缩级别;将CSV格式的数据文件导入到所创建的压缩表中,其特征在于;压缩表对外表现为一个普通的数据表,可以支持通常的DML/DDL操作;对内实现为一个主HOT数据段及一个从LOB大对象段,其中主HOT段用于存储内部定义的属性行,从LOB段用于存储压缩方法控制结构及压缩后的数据内容;压缩表支持各种查询语句,查询时虽然需要将行中所有字段读入内存,但只解压与查询相关的列数据;所述压缩表支持更新操作,且更新时仅解压代更新的列;所述压缩表支持快速删除,仅做删除标记,当从行中没有记录时,主行会被自动删除;和删除压缩表。本发明通过行存数据库技术,在不改变存储引擎物理结果的前提下,实现了按列压缩存储的技术,并达到了列存数据库高压缩比的效果。

    一种数据库单表分组扫描方法

    公开(公告)号:CN117131069B

    公开(公告)日:2023-12-22

    申请号:CN202311398767.X

    申请日:2023-10-26

    Abstract: 本发明公开一种数据库单表分组扫描方法,包括:步骤S1:在SQL语句中提供分组数量和当前要获取的分组序号;步骤S2:启动分组扫描begin阶段,得到当前页面;步骤S3:启动分组扫描next阶段,从分组扫描获取PFS页面;步骤S4:分组扫描返回有效PFS页面则执行步骤S6,否则执行步骤S5;步骤S5:分组扫描已经结束,结束堆扫描;步骤S6:当前PFS页面是否存在下一个有效范围,是则继续,否则执行步骤S3;步骤S7获取有效范围,解析8个页面上的所有行,并将所有行放到待发送缓冲区;步骤S8将缓冲区中的数据发送给前端,并回到步骤S6。本发明对表中数据进行跳跃式分组访问为并行获取数据库单表数据提供支撑。

    一种基于数据库主节点转发的读写分离实现方法

    公开(公告)号:CN117149885A

    公开(公告)日:2023-12-01

    申请号:CN202311422024.1

    申请日:2023-10-31

    Abstract: 本发明公开了一种基于数据库主节点转发的读写分离实现方法,包括:步骤1:数据库主节点接收应用程序发送过来的SQL语句;步骤2:对SQL语句进行语法解析和语义分析,获得SQL语句类型以及操作的对象ID;步骤3:判断SQL语句是否为只读操作;步骤4:如果是,将SQL语句发送到从节点执行,等待接收到从节点执行结果后返回客户端;否则,直接在主节点执行SQL语句,将执行结果返回客户端;步骤5:如果不是,在主节点执行SQL语句;记录SQL语句更新的所有对象的ID;事务提交时,将本事务更新过的所有对象ID对应的LSN设置为本事务的提交LSN,供后续只读语句执行到步骤4时使用。因此主数据库可以专注于处理写操作,从而提高了写操作的性能和响应时间。

    一种数据库单表分组扫描方法

    公开(公告)号:CN117131069A

    公开(公告)日:2023-11-28

    申请号:CN202311398767.X

    申请日:2023-10-26

    Abstract: 本发明公开一种数据库单表分组扫描方法,包括:步骤S1:在SQL语句中提供分组数量和当前要获取的分组序号;步骤S2:启动分组扫描begin阶段,得到当前页面;步骤S3:启动分组扫描next阶段,从分组扫描获取PFS页面;步骤S4:分组扫描返回有效PFS页面则执行步骤S6,否则执行步骤S5;步骤S5:分组扫描已经结束,结束堆扫描;步骤S6:当前PFS页面是否存在下一个有效范围,是则继续,否则执行步骤S3;步骤S7获取有效范围,解析8个页面上的所有行,并将所有行放到待发送缓冲区;步骤S8将缓冲区中的数据发送给前端,并回到步骤S6。本发明对表中数据进行跳跃式分组访问为并行获取数据库单表数据提供支撑。

    一种大对象存储、查询方法、装置、设备及介质

    公开(公告)号:CN116756093A

    公开(公告)日:2023-09-15

    申请号:CN202311038429.5

    申请日:2023-08-17

    Abstract: 本申请公开了一种大对象存储、查询方法、装置、设备及介质,所述方法包括:获取待存储的大对象,确定大对象的类型;对大对象执行第一类存储操作,包括:根据大对象的类型,确定大对象的索引信息和索引信息存储方式;按照索引信息存储方式存储索引信息,以及,若索引信息不包括大对象的数据内容,则将大对象的数据内容存储到大对象段;或,对大对象执行第二类存储操作,包括:根据大对象的类型,判断是否需要生成大对象的索引信息;若是,则根据大对象的类型,确定大对象的索引信息和索引信息存储方式,按照索引信息存储方式存储索引信息,并将大对象的数据内容存储到大对象段;或,若否,则将大对象的数据内容存储到大对象属性列。

    一种基于更新序列的分布式锁状态同步方法

    公开(公告)号:CN112100190A

    公开(公告)日:2020-12-18

    申请号:CN202010993803.7

    申请日:2020-09-21

    Abstract: 本发明涉及一种基于更新序列的分布式锁状态同步方法,其主要技术特点是:在每个从节点锁对象上设置更新序列,主节点维护各个从节点持有锁状态的记录,并在每个记录上设置更新序列;从节点向主节点发送加锁请求;主节点根据请求节点锁状态进行加锁处理,返回加锁成功消息,或者向当前持有锁的冲突节点发送放锁请求;从节点收根据从节点锁状态进行放锁处理并返回放锁成功消息;主节点检查冲突节点锁状态当前的更新序列,再次尝试加锁处理;从节点检查锁状态当前的更新序列并再次尝试加锁。本发明设计合理,能够有效地维护各个节点之间锁状态的一致性,保证了数据库服务的正常运行,防止数据库服务的中断,提高了系统运行的安全性和可靠性。

    一种基于锁状态缓存的分布式锁管理器的实现方法

    公开(公告)号:CN112099961A

    公开(公告)日:2020-12-18

    申请号:CN202010993476.5

    申请日:2020-09-21

    Abstract: 本发明涉及一种基于锁状态缓存的分布式锁管理器的实现方法,包括步骤1、上层模块调用锁模块,进入锁模块并进行快速加锁;步骤2、检查是否有其他事务已经持有锁,处理锁冲突;步骤3、等待本节点事务放锁;步骤4、向主节点请求加锁,主节点处理加锁请求;步骤5、向持有锁的远程节点请求放锁,从节点处理放锁请求;步骤6、加锁成功,记录加锁信息并返回到上层模块。本发明设计合理,其通过主节点锁管理器和从节点锁状态缓存方式,即可以协调各个节点的加锁请求,保证数据库的一致性,又利用了数据库事务DML操作为主的特性,即节点上的锁状态缓存在大部分情况下都是有效的,有效减少了远程节点的访问开销,提高了加锁效率。

Patent Agency Ranking