一种实时数据库存储空间控制管理方法技术

技术编号:37104464 阅读:17 留言:0更新日期:2023-04-01 05:03
本发明专利技术涉及一种实时数据库存储空间控制管理方法,包括:建立有序表、增加记录操作、删除记录操作等步骤。本发明专利技术提供的实时数据库存储空间控制管理方法,可以有效实现实时数据库存储空间的控制,在记录数达到最大数量时,能快速删除早期数据,保持实时数据库存储空间维持在一个稳定值。持在一个稳定值。持在一个稳定值。

【技术实现步骤摘要】
一种实时数据库存储空间控制管理方法


[0001]本专利技术涉及一种实时数据库存储空间控制管理方法,属于计算机信息管理


技术介绍

[0002]过程控制系统一般是基于分布式计算的系统,尤其在生产企业过程控制领域,对系统的实时性要求较高,因此一般采用实时数据库作为进程间的数据交换平台。
[0003]现有的实时数据库能较快的实现根据键和值进行快速查找的功能,而且效率较高。但仍存在一些问题:实时数据库的数据采用的是无序存储,无法通过厂商提供的API接口实现自动删除早期数据;实时数据库具有快速根据键和值搜索记录的功能,但是遍历操作却非常耗时,通过遍历记录根据时间戳删除的方法亦不可行;实时数据库没有专用管理软件,无法对存储空间大小和数据量大小进行分配,随着时间的推移,实时数据库的容量会越来越大,最终导致硬盘空间不足引起系统停工;由于考虑到实时性的高要求,不允许通过关系型数据库来定位早期数据而进行操作。

技术实现思路

[0004]本专利技术要解决技术问题是:克服上述技术的缺点,提供一种实时数据库存储空间的控制方法,从而实现对实时数据库存储空间的自主管理,保证存储空间自动维持在一个稳定可控的值。
[0005]为了解决上述技术问题,本专利技术提出的技术方案是:一种实时数据库存储空间控制管理方法,包括如下步骤:步骤1:建立有序表,有序表包含若干与实时数据库中的记录一一对应的记录,有序表的每条记录包含一一对应的键和值,实时数据库中的每条记录也包含一一对应的键和值;有序表的键的数据为序号,有序表的值的数据为实时数据库的键的数据,有序表的值与实时数据库的键一一对应;有序表中的记录按照键中的序号顺序排列;步骤2:当在实时数据库中的增加记录时,有序表也进行增加记录操作,其中有序表新增的键的数据为有序表中第一条记录的键加上有序表的记录的数量,有序表新增的值的数据为实时数据库的键的数据;步骤3:为实时数据库配置一个最大记录数量,当有序表的记录数量超过最大记录数量时,通过有序表的第一条记录定位到最早增加的实时数据库的记录的键,再根据这个键值在实时数据库里定位到对应记录,并删除这条记录、释放空间,同时从有序表中删除第一条记录;步骤4:当修改最大记录数量为更小值时,则在实时数据库重启时会从有序表按照先进先出的顺序删除超过当前最大记录数量的记录,直至有序表中的记录数量不再大于当前最大记录数量,实现动态修改实时数据库存储空间的功能。
[0006]上述方案进一步的改进在于:对有序表和实时数据库进行增加和删除记录时,在
同一时刻只有一个线程可以访问和编辑实时数据库,并且只有实时数据库和有序表同时增加或者删除成功才认为此次操作成功完成,否则撤销此次操作,将有序表和实时数据库还原到操作之前的状态。
[0007]上述方案进一步的改进在于:发生有序表和实时数据库不匹配的情况时,通过遍历实时数据库的方式清除不匹配的记录,保证有序表和实时数据库的记录匹配。
[0008]本专利技术提供的实时数据库存储空间控制管理方法,可以有效实现实时数据库存储空间的控制,在记录数达到最大数量时,能快速删除早期数据,保持实时数据库存储空间维持在一个稳定值。
附图说明
[0009]下面结合附图对本专利技术作进一步说明。
[0010]图1是应用本专利技术一个优选的实施例的中储存结构示意图。
[0011]图2是应用本专利技术一个优选的实施例的流程图。
具体实施方式实施例
[0012]本实施例的种实时数据库存储空间控制管理方法,如图2所示,包括如下步骤:步骤1:如图1所示;建立有序表,有序表包含若干与实时数据库中的记录一一对应的记录,有序表的每条记录包含一一对应的键和值,实时数据库中的每条记录也包含一一对应的键和值;有序表的键的数据为序号,有序表的值的数据为实时数据库的键的数据,有序表的值与实时数据库的键一一对应;有序表中的记录按照键中的序号顺序排列;步骤2:当在实时数据库中的增加记录时,有序表也进行增加记录操作,其中有序表新增的键的数据为有序表中第一条记录的键加上有序表的记录的数量,有序表新增的值的数据为实时数据库的键的数据;步骤3:为实时数据库配置一个最大记录数量,当有序表的记录数量超过最大记录数量时,通过有序表的第一条记录定位到最早增加的实时数据库的记录的键,再根据这个键值在实时数据库里定位到对应记录,并删除这条记录、释放空间,同时从有序表中删除第一条记录;步骤4:当修改最大记录数量为更小值时,则在实时数据库重启时会从有序表按照先进先出的顺序删除超过当前最大记录数量的记录,直至有序表中的记录数量不再大于当前最大记录数量,实现动态修改实时数据库存储空间的功能。
[0013]对有序表和实时数据库进行增加和删除记录时,在同一时刻只有一个线程可以访问和编辑实时数据库,并且只有实时数据库和有序表同时增加或者删除成功才认为此次操作成功完成,否则撤销此次操作,将有序表和实时数据库还原到操作之前的状态。有序表和实时数据库进行增加和删除操作时,考虑到并发的情况,在增加和删除操作过程中对有序表和实时数据库均加资源锁,资源锁确保在同一时刻只有一个线程可以访问和编辑实时数据库,避免多个线程同时操作实时数据库导致“脏数据”的产生。并且只有实时数据库和有序表同时添加/删除成功才认为此次操作成功完成,否则撤销此次操作影响的记录,将有序
表和实时数据库还原到操作之前的状态,确保该操作的原子性,防止有序表和实时数据库发生数据不匹配的情况,万一发生有序表和实时数据库不匹配的情况,可以通过遍历实时数据库的方式清除不匹配的记录,保证有序表和实时数据库的记录匹配。
[0014]发生有序表和实时数据库不匹配的情况时,通过遍历实时数据库的方式清除不匹配的记录,保证有序表和实时数据库的记录匹配。
[0015]具体的以梅钢1780热轧L2过程控制计算机系统中的层流冷却带钢实时数据库为例进行说明。该实时数据库采用的BerkeleyDB作为实时数据库,数据库的键的数据为热轧带钢钢卷号,由11位字符串组成,通过L3系统下发的合同生成,具有无序性。有序表通过Ice平台的Freeze技术建立一个基于Map的有序表,其中键/值分别为序号/热轧带钢钢卷,键/值的变量类型分别为longlong/string。该有序表能自动实现磁盘同步,从而保证在程序重启后与实时数据库记录的同步,实时数据库访问进程启动时会从配置文件读取该实时数据库的最大记录数。在进行实时数据库记录的增加操作时,通过实时数据库记录数与配置文件的最大记录数进行对比判断是否需要进行早期数据的清除。
[0016]其中:1、配置文件配置格式为:StripObjectDB.MaxStripCount=100000;表示最大容量为100000条记录;2、有序表的定义方式为:Slice2free

IC:\iPlature\Ice\Ice

3.4.1\bin

ID:\ABS08414\2SOURCE\slice

dictBDBIndex本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时数据库存储空间控制管理方法,其特征在于,包括如下步骤:步骤1:建立有序表,有序表包含若干与实时数据库中的记录一一对应的记录,有序表的每条记录包含一一对应的键和值,实时数据库中的每条记录也包含一一对应的键和值;有序表的键的数据为序号,有序表的值的数据为实时数据库的键的数据,有序表的值与实时数据库的键一一对应;有序表中的记录按照键中的序号顺序排列;步骤2:当在实时数据库中的增加记录时,有序表也进行增加记录操作,其中有序表新增的键的数据为有序表中第一条记录的键加上有序表的记录的数量,有序表新增的值的数据为实时数据库的键的数据;步骤3:为实时数据库配置一个最大记录数量,当有序表的记录数量超过最大记录数量时,通过有序表的第一条记录定位到最早增加的实时数据库的记录的键,再根据这个键值在实时数据库里定位到对应记录,并删除这条...

【专利技术属性】
技术研发人员:周心富葛晓谭耘宇
申请(专利权)人:上海梅山钢铁股份有限公司
类型:发明
国别省市:

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

1