高可靠性的实时/历史数据库数据保护方法

文档序号:6438762阅读:344来源:国知局
专利名称:高可靠性的实时/历史数据库数据保护方法
技术领域
本发明涉及一种数据库数据的处理方法,具体来说涉及一种高可靠性的实时/历史数据库数据保护方法。
背景技术
实时/历史数据库系统在国内很多基础行业有着十分广泛的应用,比如电力、典型、化工、钢铁和高铁等对流程状态数据要求较高的行业内,实时/历史数据库都担负着十分重要的角色。受传统数据库管理系统的影响,目前大多数实时/历史数据库系统遵循传统的数据管理模式为大量的最终数据建立索引系统并将数据压缩存储到数据文件中;而数据查询和回取时都按照如下一系列过程客户端提交查询请求、服务软件从索引系统中找到对应数据的位置(数据文件、偏移、数据类型和数据大小)、从对应的位置中读取压缩数据、解压读取到的压缩数据、筛选并将满足请求的数据记录发送给提交请求的客户端。因此,目前大多数实时/历史数据库的数据写入和查询都是先修改或者查询索引信息系统,然后一次性访问目标数据。这其中就存在一个问题,如果一个存储了大量数据的索引系统由于某种原因被损坏,一种可能是存储了很久的在线数据变成了孤立的数据文件,无法访问;另外,即便现行的一些实时/历史数据库产品能够找回孤立的数据文件中的数据,但是操作的过程十分冗长缓慢,有的甚至需要原软件开发人员进行耗时的测试尝试。可以看到,在实时/历史数据库系统应用越来越广泛的今天,如何提升规模量庞大的实时/历史数据库的数据安全问题变得十分迫切。本实用新型的重点就是涉及和提供一种高可靠性的实时/历史数据库数据保护技术。

发明内容
本发明的目的在于提供一种高可靠性的实时/历史数据库数据保护方法,本方法能够保护实时/历史数据库系统中数据的安全,降低由于数据丢失或者索引系统损坏带来的损失,提升了实时/历史数据库系统中管理的常年在线数据的安全性、可靠性和完整性。本发明的目的可通过以下的技术措施来实现一种高可靠性的实时/历史数据库数据保护方法,包括如下内容A、写数据请求处理过程Al)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统、数据库受限访问子索引系统,为这两个子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;A2)、由数据提交客户端对数据库发起提交实时数据的请求;A3)、数据库接收到提交实时数据请求的请求包后,首先对请求包进行解析,分离出实时数据记录数组,然后对该记录数组进行数据压缩并得到压缩数据,另外同时从请求包中解析出数据关联的点标签ID,根据点标签ID获取该ID最新的记录在子索引系统中写入索引信息,所述索引信息的内容包括该点标签ID最新记录存储所在的目标压缩文件的文件ID ;A4)、在压缩文件中分别进行三个操作首先,第一个操作是在压缩文件内建立压缩文件内部索引信息;第二个操作是将步骤A3)得到的压缩数据写入到压缩数据段空间的最新写入位置;第三个操作是在元文件信息空间建立提供给数据库子索引系统进行反向构建的元文件信息,所述元文件信息的信息项包括写入点标签,写入压缩文件ID,写入文件偏移,写入文件数据大小;三个步骤全部被成功后进入下一步,否则宣告失败,退出本方法的处理过程;A5)、根据步骤A4)产生的内部元文件信息来构造数据库系统受限访问子索引系统中需要的索引项;如果数据库中配置了不需要数据库提供应用受限访问功能,则结束本方法处理过程;否则,进入下一步;A6)、判断当前写入的数据时间范围是否在受限访问的允许访问时间范围列表内, 如果是,则将当前写入数据的索引信息加入到受限访问子索引系统中,并结束本方法处理过程;否则,直接结束本方法处理过程;B、从一个或者多个实时/历史数据库在压缩文件中建立子索引系统的处理过程Bi)、备份现有数据库子索引系统相应的物理索引文件;B2)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统,为子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;B3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大,枚举出全部的压缩文件的列表,依次读取每个压缩文件的内部信息进行反向建立索引处理;B4)、对步骤B3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件中所有的压缩数据块;B5)、解压缩每个压缩块,得到压缩块中的时间范围信息,同时读取相应元文件信息,构造出相应的索引项,把索引项加入到子索引系统中进行重建索引;B6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕;B7)、以此类推,直到归档压缩文件列表中所有压缩文件被处理完毕;C、从一个或者多个实时/历史数据库在压缩文件中建立受限访问子索引系统的处理过程Cl)、备份现有数据库受限访问子索引系统相应的物理索引文件,所述备份的方式为重命名方式;C2)、根据数据库配置指定的点标签容量总数,初始化数据库受限访问子索引系统,为受限访问子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;C3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大枚举出现有的压缩归档文件列表,依次读取每个压缩文件的内部信息进行反向建立索引处理;C4)、对步骤C3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件中所有的压缩数据块;C5)、解压缩每个压缩块,得到压缩块的时间范围信息,根据时间范围信息,判断该时间范围是否在受限访问允许列表中,如果是,则根据元文件信息把详细数据块信息加入到子索引系统中进行重建索引,如果不是,则跳过该压缩数据块的处理;C6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕;C7)、以此类推,直到归档的压缩文件列表中所有压缩文件被处理完毕。所述步骤Bi)和Cl)的备份的方式为重命名方式。所述步骤A4)中,当遇到其中某些步骤执行成功而后续的步骤执行失败的情况下,实时/历史数据库系统的事务管理系统会进行必要的回滚操作,以确保实时/历史数据库系统事务的原子性。本发明对比现有技术,有如下优点1、本方法实现能够适用于任何对数据安全性要求较高的领域内,强化了目前实时 /历史数据库系统中海量数据的可靠性;2、本方法使的数据库的索引系统被损坏的情况下,依然可以提供对压缩数据的正常访问;3、本方法使的数据库的索引系统被损坏的情况下,可以通过存在的压缩数据文件反向建立索引系统,最终实现在线恢复;4、本方法可以将特殊时间段的生产数据信息更安全地保护起来,提供离线访问或者在线的局部数据访问;5、本方法可以将特殊压缩文件的生产数据信息更安全地保护起来,提供离线访问或者在线的局部数据访问。


图1是本方法的系统组成模块示意图;图2是本方法写数据请求处理过程的流程图;图3是本方法的数据库的压缩文件的内部逻辑结构组成示意图。
具体实施例方式下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够进行实施。一种高可靠性的实时/历史数据库数据保护方法,包括如下内容如图1所示,该实时/历史数据库系统逻辑组成模块为正常情况下的数据读写客户端(100);故障恢复情况下的读写客户端(200);受限访问条件下的读写客户端(300); 实时/历史数据库系统全局索引系统(400);实时/历史数据库系统压缩文件(500),其中包含该压缩文件的原始数据段(510)、该压缩文件的内部索引信息(520)和该压缩文件的介于内部索引和全局索引的元文件信息(530);局部或者特定数据段的子索引系统(600)。A、写数据请求处理过程,处理流程如图2所示Al)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统(600)、数据库受限访问子索引系统(610),为这两个子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;(610)与(600)都是索引系统,结构,功能相似,只是用用途不一样,(610)是专用于数据安全性比较高的数据,只能提供给一些具有高级权限的用户访问,这时候,这些高权限的用户,才通过(610)索引系统, 最终才能访问到安全性比较高的数据。A2)、由数据提交客户端(100)对数据库发起提交实时数据的请求;所述的实时数据可以是电力行业的实时数据。A3)、数据库接收到提交实时数据请求的请求包后,首先对请求包进行解析,分离出实时数据记录数组,然后对该记录数组进行数据压缩并得到压缩数据,另外同时从请求包中解析出数据关联的点标签ID,根据点标签ID获取该ID最新的记录在子索引系统 (600)中写入索引信息,所述索引信息的内容包括该点标签ID最新记录存储所在的目标压缩文件(500)的文件ID;根据文件ID和默认的文件名构造规则,可以得到最新目标压缩文件全名,如文件ID是18,则对应的目标压缩文件名为TSD00000018. tsd),和目标压缩文件 (500)中的目前文件大小,数据记录总数,具体最新写数位置;A4)、如图3所示,压缩文件(500)的结构分三部分,第一部分是最前面部分空间预留给压缩文件内部索引信息(520),根据单个压缩文件所能存储的总记录数(如400万条),计算出其索引所需要的最大空间,第二部分是压缩文件内部索引信息(520)提供给数据库子索引系统(600)进行反向构建的元文件信息空间(530),第三部分是压缩数据段空间(510)。在压缩文件(500)中分别进行三个操作首先,为了压缩文件(500)能够提供离线访问功能,第一个操作是在压缩文件内建立压缩文件内部索引信息(520),以后根据每次写压缩文件的记录数组进行构造相应的内部索引,这样可以确保在进行数据离线访问的时候也能得到比较高效的查询速度;第二个操作是将步骤3)得到的压缩数据写入到压缩数据段空间(510)的最新写入位置,这是一个常规的写文件操作;第三个操作是在元文件信息空间(530)建立提供给数据库子索引系统(600)进行反向构建的元文件信息,所述元文件信息的信息项包括写入点标签,写入压缩文件ID,写入文件偏移,写入文件数据大小; 元文件信息的作用是压缩文件内部索引和子索引系统(600)之间的桥梁,当子索引系统 (600)被损坏时,可以通过压缩文件的内部索引信息(520)和内部元文件信息(530)反向建立新的子索引系统(600)。当然内部元文件信息(530)还有一个作用就是在接下来的步骤中,如果实时/历史数据库系统在运行配置中有设置需要建立受限访问子索引系统(610), 则元文件信息是建立受限访问子索引系统(610)的必要数据;三个步骤全部被成功后进入下一步,否则宣告失败,退出本方法的处理过程。其中,当遇到其中某些步骤执行成功而后续的步骤执行失败的情况下,实时/历史数据库系统的事务管理系统会进行必要的回滚操作,以确保实时/历史数据库系统事务的原子性。A5)、根据步骤A4)产生的内部元文件信息来构造数据库系统受限访问子索引系统(610)中需要的索引项;如果数据库中配置了不需要数据库提供应用受限访问功能,则结束本方法处理过程;否则,进入下一步;A6)、判断当前写入的数据时间范围是否在受限访问的允许访问时间范围列表内, 如果是,则将当前写入数据的索引信息加入到受限访问子索引系统(610)中,并结束本方法处理过程;否则,直接结束本方法处理过程。B、从一个或者多个实时/历史数据库在压缩文件(500)中建立子索引系统(610)的处理过程Bi)、备份现有数据库子索引系统(600)相应的物理索引文件;所述备份的方式为重命名方式;一般情况下,需要反向建立索引时,都是因为索引受损坏了,可能是部分损坏, 所以反向建立索引前,需要备份旧的索引系统,因为建立的过程覆盖式的,反向建立索引后,就直接替换了先前的索引,使用数据库恢复正常。B2)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统(600),为子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;B3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大,枚举出全部的压缩文件的列表(例如TSD********. tsd),依次读取每个压缩文件的内部信息进行反向建立索引处理;B4)、对步骤B3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件(500)中所有的压缩数据块;枚举举例假设归档压缩文件夹为data/,里面有三个压缩文件,如 TSD00000001. tsd,TSD00000002. tsd, TSD00000003. tsd,枚举该三个压缩文件名后,分别处理这三个文件打开并装载到内存。B5)、解压缩每个压缩块,得到压缩块中的时间范围信息,同时读取相应元文件信息,构造出相应的索引项,把索引项加入到子索引系统(600)中进行重建索引;B6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕;B7)、以此类推,直到归档压缩文件列表中所有压缩文件被处理完毕;C、从一个或者多个实时/历史数据库在压缩文件(500)中建立受限访问子索引系统(610)的处理过程Cl)、备份现有数据库受限访问子索引系统(610)相应的物理索引文件,所述备份的方式为重命名方式;C2)、根据数据库配置指定的点标签容量总数,初始化数据库受限访问子索引系统 (610),为受限访问子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树, 为每个点标签的时间记录建立检索索引;C3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大枚举出现有的压缩归档文件列表(例如TSD********. tsd),依次读取每个压缩文件的内部信息进行反向建立索引处理;C4)、对步骤C3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件(500)中所有的压缩数据块;C5)、解压缩每个压缩块,得到压缩块的时间范围信息,根据时间范围信息,判断该时间范围是否在受限访问允许列表中,如果是,则根据元文件信息把详细数据块信息加入到子索引系统(600)中进行重建索引,如果不是,则跳过该压缩数据块的处理;C6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕。C7)、以此类推,直到归档的压缩文件列表中所有压缩文件被处理完毕。本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
权利要求
1. 一种高可靠性的实时/历史数据库数据保护方法,其特征在于包括如下内容A、写数据请求处理过程Al)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统、数据库受限访问子索引系统,为这两个子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;A2)、由数据提交客户端对数据库发起提交实时数据的请求;A3)、数据库接收到提交实时数据请求的请求包后,首先对请求包进行解析,分离出实时数据记录数组,然后对该记录数组进行数据压缩并得到压缩数据,另外同时从请求包中解析出数据关联的点标签ID,根据点标签ID获取该ID最新的记录在子索引系统中写入索引信息,所述索引信息的内容包括该点标签ID最新记录存储所在的目标压缩文件的文件 ID ;A4)、在压缩文件中分别进行三个操作首先,第一个操作是在压缩文件内建立压缩文件内部索引信息;第二个操作是将步骤A3)得到的压缩数据写入到压缩数据段空间的最新写入位置;第三个操作是在元文件信息空间建立提供给数据库子索引系统进行反向构建的元文件信息,所述元文件信息的信息项包括写入点标签,写入压缩文件ID,写入文件偏移,写入文件数据大小;三个步骤全部被成功后进入下一步,否则宣告失败,退出本方法的处理过程;A5)、根据步骤A4)产生的内部元文件信息来构造数据库系统受限访问子索引系统中需要的索引项;如果数据库中配置了不需要数据库提供应用受限访问功能,则结束本方法处理过程;否则,进入下一步;A6)、判断当前写入的数据时间范围是否在受限访问的允许访问时间范围列表内,如果是,则将当前写入数据的索引信息加入到受限访问子索引系统中,并结束本方法处理过程; 否则,直接结束本方法处理过程;B、从一个或者多个实时/历史数据库在压缩文件中建立子索引系统的处理过程 Bi)、备份现有数据库子索引系统相应的物理索引文件;B2)、根据数据库配置指定的点标签容量总数,初始化数据库子索引系统,为子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;B3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大,枚举出全部的压缩文件的列表,依次读取每个压缩文件的内部信息进行反向建立索引处理;B4)、对步骤B3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件中所有的压缩数据块;B5)、解压缩每个压缩块,得到压缩块中的时间范围信息,同时读取相应元文件信息,构造出相应的索引项,把索引项加入到子索引系统中进行重建索引;B6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕; B7)、以此类推,直到归档压缩文件列表中所有压缩文件被处理完毕;C、从一个或者多个实时/历史数据库在压缩文件中建立受限访问子索引系统的处理过程Cl)、备份现有数据库受限访问子索引系统相应的物理索引文件; C2)、根据数据库配置指定的点标签容量总数,初始化数据库受限访问子索引系统,为受限访问子索引系统申请相应的存储空间,根据点标签构造相应的哈希结构树,为每个点标签的时间记录建立检索索引;C3)、枚举检索归档的压缩文件所在的文件夹,按照压缩文件的序号从小到大枚举出现有的压缩归档文件列表,依次读取每个压缩文件的内部信息进行反向建立索引处理;C4)、对步骤C3)枚举出来的每个压缩文件,首先装载压缩文件的内部索引信息和元文件信息到内存,根据内部索引信息中的压缩数据块文件偏移和压缩数据块大小,遍历当前压缩文件中所有的压缩数据块;C5)、解压缩每个压缩块,得到压缩块的时间范围信息,根据时间范围信息,判断该时间范围是否在受限访问允许列表中,如果是,则根据元文件信息把详细数据块信息加入到子索引系统中进行重建索引,如果不是,则跳过该压缩数据块的处理;C6)、以此类推,直到所有压缩文件中所有的压缩数据块被处理完毕; C7)、以此类推,直到归档的压缩文件列表中所有压缩文件被处理完毕。
2.根据权利要求1所述的高可靠性的实时/历史数据库数据保护方法,其特征在于 所述步骤Bi)和Cl)的备份的方式为重命名方式。
3.根据权利要求1所述的高可靠性的实时/历史数据库数据保护方法,其特征在于 所述步骤A4)中,当遇到其中某些步骤执行成功而后续的步骤执行失败的情况下,实时/历史数据库系统的事务管理系统会进行必要的回滚操作,以确保实时/历史数据库系统事务的原子性。
全文摘要
本发明公开了一种高可靠性的实时/历史数据库数据保护方法,包括如下内容A、写数据请求处理过程;B、从一个或者多个实时/历史数据库在压缩文件中建立子索引系统的处理过程;C、从一个或者多个实时/历史数据库在压缩文件中建立受限访问子索引系统的处理过程。本方法能够保护实时/历史数据库系统中数据的安全,降低由于数据丢失或者所以系统损坏带来的损失,提升了实时/历史数据库系统中管理的常年在线数据的安全性、可靠性和完整性。
文档编号G06F17/30GK102521256SQ20111036721
公开日2012年6月27日 申请日期2011年11月17日 优先权日2011年11月17日
发明者周伊琳, 孙建伟, 简怀兵, 胡亚平, 陈扬, 陈炯聪, 黄缙华 申请人:广东电网公司电力科学研究院, 广州执舟软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1