CN115982096B - 一种基于热点文件的实时数据库快照存储方法及系统 - Google Patents
一种基于热点文件的实时数据库快照存储方法及系统 Download PDFInfo
- Publication number
- CN115982096B CN115982096B CN202211576358.XA CN202211576358A CN115982096B CN 115982096 B CN115982096 B CN 115982096B CN 202211576358 A CN202211576358 A CN 202211576358A CN 115982096 B CN115982096 B CN 115982096B
- Authority
- CN
- China
- Prior art keywords
- snapshot
- data block
- snapshot data
- file
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的一种基于热点文件的实时数据库快照存储方法及系统,所述存储方法包括:写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;筛选出需要归档的所述快照数据,获得待归档快照数据;读取快照数据,根据测点标识查找对应快照归档文件;在所述快照归档文件中读取最后归档的快照数据。保证数据按采集时间顺序存储,提高数据存储速度,通过设定热点文件的方式,提高数据访问速度,通过写入过程中动态计算文件剩余大小,实现数据的补录。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种基于热点文件的实时数据库快照存储方法及系统。
背景技术
数据库技术产生于20世纪年代后期,其理论与技术发展极为迅速,早期的关系型数据库因其描述简单,容易实现等特点得到广泛应用。随着工业信息化的发展,采用自动控制,自动调整装置的工业自动化代替人工操作机器成为工业生产发展的必然趋势,与此同时,将自动化过程中产生的数据记录下来,用于后期查看与分析,也成为必然需求。
现有技术中由于工业系统中需要监视的测点多、存储的数据量大、时效性强的特点,原有的关系型数据库不能满足此类应用的需求,为了解决此类问题,实时数据库应运而生。实时数据库中存储数据最小单位是快照,包含测点数据的时间,值,品质,数据类型的信息。使用实时数据库的系统通常都包含大量测点,采集测点的时间间隔较短,需要存储的数据量大的特点。找到一种合适的存储方式,既能保证实时数据的正确存储,又能在不影响数据时间连续性和数据检索速度的情况下实现数据补录,还能节省存储空间的方法是非常有必要的。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于热点文件的实时数据库快照存储方法及系统。
根据本发明的一个方面,提供了一种基于热点文件的实时数据库快照存储方法,所述存储方法包括:
写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;
筛选出需要归档的所述快照数据,获得待归档快照数据;
读取快照数据,根据测点标识查找对应快照归档文件;
在所述快照归档文件中读取最后归档的快照数据。
可选的,所述快照归档文件能够存储10000个测点的快照数据,所述快照归档文件是以记录的起始测点标识加时间的方式命名。
可选的,所述快照归档文件中包括快照归档线程;
所述快照归档线程根据系统支持数据量,创建指定个数的归档对象,每个所述归档对象根据文件创建时间为索引创建文件索引列表,最近写入的5个文件设置为热点文件;
写入时,直接向最新的所述热点文件中写入,补录或查找时,优先查找所述热点文件,当所述热点文件不满足后再查找其他归档文件。
可选的,所述快照归档文件包括文件信息头、测点索引表和快照数据块;
所述文件信息头包括快照数据的起止时间、起止测点标识和测点个数、文件占用空间和使用空间;
所述测点索引表包括10000个测点索引块,每个所述测点索引块包括测点标识,测点首个快照数据块在文件中的位置,测点最后一个快照数据块在文件中的位置;
所述快照数据块包括:数据块索引和数据块,所述数据块索引包括对应数据块记录数据的起始时间和相对结束时间,记录快照数据个数,当前数据块使用空间大小,对应测点的上一个快照数据块地址和下一个快照数据块地址;
所述数据块用于详细记录快照的时间、品质和值。
可选的,所述快照归档文件中的快照归档过程包括:
步骤S1:从测点对应的文件列表中找到最新的归档文件;如果不存在,新建归档文件,执行步骤S6,如果文件存在,继续执行;
步骤S2:根据测点记录号从文件中读取对应的测点索引表;
步骤S3:读取测点索引表中第一个快照值的位置,如果所述位置为空,说明第一次写入测点快照值,新建快照数据块,在新建数据块索引中记录快照起止时间,写入快照数据,更新数据块索引中使用空间为写入快照数据的占用内存,更新测点对应的测点索引块中中首个快照数据块位置和最后一个快照数据块位置为新建快照数据块的位置,更新文件信息头中文件使用空间;
步骤S4:如果步骤S3读取到的测点的第一个快照数据块的位置和最后一个快照数据块位置不为空,根据最后一个快照数据块的位置定位到文件中的位置,读取快照数据块中的数据块索引,判断当前快照数据块剩余空间是否足够写入新的快照数据,如果空间足够,将新的快照数据写入到快照数据块中,并更新数据块索引中的结束时间,记录快照个数和快照数据块使用空间;
步骤S5:如果步骤S4中获取的快照数据块剩余空间不足以写入新的快照数据,则判断当前文件是否有足够空间新建一个快照数据块,如果不足,新建一个归档文件,继续向下执行,如果文件剩余空间足够写入,新建一个快照数据块,在数据块索引中记录快照起止时间,使用空间为写入快照数据的占用内存,在数据块中写入快照数据;
修改测点最后一个快照数据块索引中下一区块地址为当前新建快照数据块地址,更新文件测点索引表中该测点对应索引块中的最后一个快照数据块地址为当前新建快照数据块地址;更新文件信息头中的使用大小;
步骤S6:写入文件信息头,顺序写入10000个测点的测点索引块,且索引块中起始快照数据块位置和最后一个快照数据块位置为空;
新建一个快照数据块,在新建数据块索引中记录快照起止时间,使用空间为写入快照数据的内存,在数据块中写入快照数据,更新测点索引表中该测点对应索引块中的起始快照数据块位置和最后一个快照数据块的地址为当前新建快照数据块的地址,更新文件信息头中的使用空间。
可选的,所述快照补录具体包括:
步骤A1:在测点对应最新的热点文件中查找,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点快照时间小于首个快照时间,说明补录的测点信息不能写入文件,继续执行步骤A2;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,说明补录的信息需要写入到文件中,继续执行步骤A3;
步骤A2:依次读取测点对应的文件索引列表中的文件,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点时间小于首个快照数据时间,则说明补录快照时间介于两个快照文件之间,则新建一个快照归档文件,文件名为起始快照标识加补录快照时间,并将补录快照数据写入该归档文件,同步修改文件索引列表;
如果补录快照时间大于最后一个快照时间,则继续查找下一个归档文件;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,说明补录的信息需要写入到该文件中,继续执行步骤A3;
步骤A3:根据查找算法,从归档文件中找到补录数据的插入位置。
可选的,所述步骤A3:根据查找算法,从归档文件中找到补录数据的插入位置具体包括:
插入位置介于所述快照数据块中,判断快照数据块是否有足够的空间写入新的快照数据;
如果当前快照数据块有足够的空间写入补录的快照数据,依次判断数据块中各个快照数据的时间,如果插入位置在所述快照数据块中快照数据之间,将插入位置后面的快照数据后移,并插入补录的数据,更新该快照数据块的数据块索引中的快照数据个数和使用空间大小;如果插入位置在数据块的末尾位置,直接将补录数据写入数据块末尾,更新快照数据块索引中的时间范围,快照数据个数和使用空间;
如果当前数据块没有足够空间插入补录的快照数据,取出最后一个快照数据信息,找到插入位置,将插入位置后面的快照数据后移,并插入补录的数据,更新当前快照数据块的数据块索引中的相对结束时间;
新建一个快照数据块,将取出的最后一个快照数据信息写入新建快照数据块中;
新增快照数据块的上一区块地址为当前快照数据块的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块地址;
更新当前快照数据块的数据块索引中的下一区块地址为新增快照数据块的地址;如果新增快照数据块为最后一个数据块,更新测点索引块中最后一个快照数据块的地址;更新文件信息头中的文件占用空间和使用空间;文件占用空间默认为是1G,超过1G就归为新的文档。
补录位置介于两个快照数据块之间;
新增一个快照数据块,将补录的快照数据写入新建快照数据块中;
新增快照数据块的上一区块地址为第一个快照数据块的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块地址;
更新第一个快照数据块的数据块索引中的下一区块地址为新增快照数据块的地址;如果新增快照数据块为最后一个数据块,更新测点索引块中最后一个快照数据块的地址;更新文件信息头中的文件占用空间和使用空间。
本发明还提供了一种基于热点文件的实时数据库快照存储系统,其特征在于,所述存储系统包括:
快照写模块,用于写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;
快照数据归档模块,用于筛选出需要归档的所述快照数据,获得待归档快照数据;
快照读模块,用于读取快照数据,根据测点标识查找对应快照归档文件;在所述快照归档文件中读取最后归档的快照数据。
本发明提供了一种基于热点文件的实时数据库快照存储方法及系统,所述存储方法包括:写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;筛选出需要归档的所述快照数据,获得待归档快照数据;读取快照数据,根据测点标识查找对应快照归档文件;在所述快照归档文件中读取最后归档的快照数据。保证数据按采集时间顺序存储,提高数据存储速度,通过设定热点文件的方式,提高数据访问速度,通过写入过程中动态计算文件剩余大小,实现数据的补录。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种基于热点文件的实时数据库快照存储方法的流程图;
图2为本发明实施例提供的文件存储结构示意图;
图3为本发明实施例提供的快照补录示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,一种基于热点文件的实时数据库快照存储方法及系统,所述存储方法包括:写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;筛选出需要归档的所述快照数据,获得待归档快照数据;读取快照数据,根据测点标识查找对应快照归档文件;在所述快照归档文件中读取最后归档的快照数据。
如图2所示,快照读写模块,提供快照读写接口,快照写入时,首先根据快照的时间,品质调用内部例外算法和压缩算法,筛选出需要的归档的快照数据,然后调用快照归档模块进行归档;快照读取,根据测点标识查找对应归档文件,从中读取最后归档的快照数据;
快照归档模块,每个快照归档文件存储10000个测点的快照数据,文件是以对应文件记录的起始测点标识加时间的方式命名,方便后续查找。快照归档线程内根据系统支持数据量,创建指定个数的归档对象,每个对象根据文件创建时间为索引创建文件索引列表,最近写入的5个文件设置为热点文件。写入时,直接向最新的热点文件中写入,补录或查找时,优先查找热点文件,当热点文件不满足后再查找其他归档文件。
每个归档文件结构包括文件信息头、测点索引表、快照数据块,快照数据块包括多个数据块索引和数据块:
文件信息头包括:记录文件包括快照数据的起止时间,起止测点标识和测点个数,文件大小和使用空间大小。
测点索引表包括:10000个测点索引块,每个测点索引块包含测点标识,测点首个快照数据块在文件中的位置,测点最后一个快照数据块在文件中的位置。
快照数据块包括:数据块索引和数据块两部分,数据块索引包括数据块记录数据的起始时间和相对结束时间,记录快照数据个数,当前数据块使用空间大小,测点的上一个快照数据块地址和下一个快照数据块地址;数据块部分详细记录快照的时间,品质和值。
快照归档过程包括:
步骤S1:从测点对应的文件列表中找到最新的归档文件;如果不存在,则新建归档文件,执行步骤S6,如果文件存在,继续向下执行;
步骤S2:根据测点记录号从文件中读取对应的测点索引表;
步骤S3:读取测点索引表中第一个快照值的位置,如果该值为空,说明第一次写入该测点快照值,新建快照数据块(1KB),在新建数据块索引中记录快照起止时间,写入快照数据,更新数据块索引中使用空间大小为写入快照数据的大小,更新该测点对应的测点索引块中中首个快照数据块位置和最后一个快照数据块位置为刚新建快照数据块的位置,更新文件信息头中文件使用大小。
步骤S4:如果上一步读取到的测点的第一个快照数据块的位置和最后一个快照数据块位置不为空,则根据最后一个快照数据块的位置定位到文件中的位置,读取该快照数据块中的数据块索引,判断当前快照数据块剩余空间是否足够写入新的快照数据,如果空间足够,将新的快照数据写入到该快照数据块中,并更新该数据块索引中的结束时间,记录快照个数和快照数据块使用空间大小;
步骤S5:如果上一步中获取的快照数据块剩余空间不足以写入新的快照数据,则判断当前文件是否有足够空间新建一个快照数据块,如果不足,则新建一个归档文件,继续向下执行,如果文件剩余空间足够写入,则新建一个快照数据块,在其数据块索引中记录快照起止时间,使用空间大小为写入快照数据的大小,在数据块中写入快照数据。修改该测点最后一个快照数据块索引中下一区块地址为当前新建快照数据块地址,更新文件测点索引表中该测点对应索引块中的最后一个快照数据块地址为当前新建快照数据块地址。更新文件信息头中的使用大小。
步骤S6:写入文件信息头,顺序写入10000个测点的测点索引块,且索引块中起始快照数据块位置和最后一个快照数据块位置为空。新建一个快照数据块,在新建数据块索引中记录快照起止时间,使用空间大小为写入快照数据的大小,在数据块中写入快照数据,更新测点索引表中该测点对应索引块中的起始快照数据块位置和最后一个快照数据块的地址为当前新建快照数据块的地址,更新文件信息头中的使用大小;
现有的实时数据库都是实时记录系统中需要记录的快照数据,对于历史快照数据的补录,写入比较困难,本发明中采用的文件系统结构很好的解决了这一问题,既能实现快照数据的快速补录,又能保证快照数据的时间连续性。
快照补录的过程具体包括:
步骤A1:在测点对应最新的热点文件中查找,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点快照时间小于首个快照时间,则说明补录的测点信息不能写入该文件,继续执行步骤A2;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,则说明补录的信息需要写入到该文件中,继续执行步骤A3;
步骤A2:依次读取测点对应的文件索引列表中的文件,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点时间小于首个快照数据时间,则说明补录快照时间介于两个快照文件之间,新建一个快照归档文件,文件名为起始快照标识加补录快照时间,并将补录快照数据写入该归档文件,同步修改文件索引列表;
如果补录快照时间大于最后一个快照时间,则继续执行此步骤,查找下一个归档文件;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,则说明补录的信息需要写入到该文件中,继续执行步骤A3;
步骤A3:根据查找算法,从归档文件中找到补录数据的插入位置。
插入位置介于某个快照数据块中,判断该快照数据块是否有足够的空间写入新的快照数据。
当前数据块有足够的空间写入补录的快照数据,依次判断该数据块中各个快照数据的时间,如果插入位置在数据块中快照数据之间(如图3位置①),将插入位置后面的快照数据后移,并插入此次补录的数据,更新该快照数据块的数据块索引中的快照数据个数和使用空间大小;如果插入位置在数据块的末尾位置(如图3位置②),直接将补录数据写入数据块末尾,更新该快照数据块索引中的时间范围,快照数据个数和使用空间大小。
当前数据块没有足够空间插入补录的快照数据,取出最后一个快照数据信息,找到合适的插入位置,将插入位置后面的快照数据后移,并插入补录的数据,更新当前快照数据块的数据块索引中的相对结束时间。新建一个快照数据块,将取出的最后一个快照数据信息写入新建快照数据块中。新增快照数据块的上一区块地址为当前快照数据块的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块地址。更新当前快照数据块的数据块索引中的下一区块地址为新增快照数据块的地址。如果新增快照数据块为最后一个数据块,更新该测点索引块中最后一个快照数据块的地址。更新文件信息头中的文件大小和使用大小。
补录位置介于某两个快照数据块之间(假如为1号和2号数据块之间,如图3位置③)。新增一个快照数据块,将补录的快照数据写入新建快照数据块中。新增快照数据块的上一区块地址为第一个快照数据块(1号)的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块(2号)地址。更新第一个快照数据块(1号)的数据块索引中的下一区块地址为新增快照数据块的地址。如果新增快照数据块为最后一个数据块,还需要更新该测点索引块中最后一个快照数据块的地址。更新文件信息头中的文件大小和使用大小。
有益效果:支持多种类型快照数据的录入;保证快照数据录入的时间连续性;提高快照数据的读写速度。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于热点文件的实时数据库快照存储方法,其特征在于,所述存储方法包括:
写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;
筛选出需要归档的所述快照数据,获得待归档快照数据;
读取快照数据,根据测点标识查找对应快照归档文件;
在所述快照归档文件中读取最后归档的快照数据;
所述快照归档文件中包括快照归档线程;
所述快照归档线程根据系统支持数据量,创建指定个数的归档对象,每个所述归档对象根据文件创建时间为索引创建文件索引列表,最近写入的5个文件设置为热点文件;
写入时,直接向最新的所述热点文件中写入,补录或查找时,优先查找所述热点文件,当所述热点文件不满足后再查找其他归档文件;
所述快照补录具体包括:
步骤A1:在测点对应最新的热点文件中查找,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点快照时间小于首个快照时间,说明补录的测点信息不能写入文件,继续执行步骤A2;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,说明补录的信息需要写入到文件中,继续执行步骤A3;
步骤A2:依次读取测点对应的文件索引列表中的文件,读取测点对应的测点索引块,读取首个快照数据块和最后一个快照数据块,对补录快照时间和现有快照的时间进行比较:
如果补录测点时间小于首个快照数据时间,则说明补录快照时间介于两个快照文件之间,则新建一个快照归档文件,文件名为起始快照标识加补录快照时间,并将补录快照数据写入该归档文件,同步修改文件索引列表;
如果补录快照时间大于最后一个快照时间,则继续查找下一个归档文件;
如果补录快照时间在首个快照数据块的开始时间和最后一个快照数据块的结束时间范围内,说明补录的信息需要写入到该文件中,继续执行步骤A3;
步骤A3:根据查找算法,从归档文件中找到补录数据的插入位置。
2.根据权利要求1所述的一种基于热点文件的实时数据库快照存储方法,其特征在于,所述快照归档文件能够存储10000个测点的快照数据,所述快照归档文件是以记录的起始测点标识加时间的方式命名。
3.根据权利要求1所述的一种基于热点文件的实时数据库快照存储方法,其特征在于,所述快照归档文件包括文件信息头、测点索引表和快照数据块;
所述文件信息头包括快照数据的起止时间、起止测点标识和测点个数、文件占用空间和使用空间;
所述测点索引表包括10000个测点索引块,每个所述测点索引块包括测点标识,测点首个快照数据块在文件中的位置,测点最后一个快照数据块在文件中的位置;
所述快照数据块包括:数据块索引和数据块,所述数据块索引包括对应数据块记录数据的起始时间和相对结束时间,记录快照数据个数,当前数据块使用空间大小,对应测点的上一个快照数据块地址和下一个快照数据块地址;
所述数据块用于详细记录快照的时间、品质和值。
4.根据权利要求1所述的一种基于热点文件的实时数据库快照存储方法,其特征在于,所述快照归档文件中的快照归档过程包括:
步骤S1:从测点对应的文件列表中找到最新的归档文件;如果不存在,新建归档文件,执行步骤S6,如果文件存在,继续执行;
步骤S2:根据测点记录号从文件中读取对应的测点索引表;
步骤S3:读取测点索引表中第一个快照值的位置,如果所述位置为空,说明第一次写入测点快照值,新建快照数据块,在新建数据块索引中记录快照起止时间,写入快照数据,更新数据块索引中使用空间为写入快照数据的占用内存,更新测点对应的测点索引块中中首个快照数据块位置和最后一个快照数据块位置为新建快照数据块的位置,更新文件信息头中文件使用空间;
步骤S4:如果步骤S3读取到的测点的第一个快照数据块的位置和最后一个快照数据块位置不为空,根据最后一个快照数据块的位置定位到文件中的位置,读取快照数据块中的数据块索引,判断当前快照数据块剩余空间是否足够写入新的快照数据,如果空间足够,将新的快照数据写入到快照数据块中,并更新数据块索引中的结束时间,记录快照个数和快照数据块使用空间;
步骤S5:如果步骤S4中获取的快照数据块剩余空间不足以写入新的快照数据,则判断当前文件是否有足够空间新建一个快照数据块,如果不足,新建一个归档文件,继续向下执行,如果文件剩余空间足够写入,新建一个快照数据块,在数据块索引中记录快照起止时间,使用空间为写入快照数据的占用内存,在数据块中写入快照数据;
修改测点最后一个快照数据块索引中下一区块地址为当前新建快照数据块地址,更新文件测点索引表中该测点对应索引块中的最后一个快照数据块地址为当前新建快照数据块地址;更新文件信息头中的使用大小;
步骤S6:写入文件信息头,顺序写入10000个测点的测点索引块,且索引块中起始快照数据块位置和最后一个快照数据块位置为空;
新建一个快照数据块,在新建数据块索引中记录快照起止时间,使用空间为写入快照数据的内存,在数据块中写入快照数据,更新测点索引表中该测点对应索引块中的起始快照数据块位置和最后一个快照数据块的地址为当前新建快照数据块的地址,更新文件信息头中的使用空间。
5.根据权利要求1所述的一种基于热点文件的实时数据库快照存储方法,其特征在于,所述步骤A3:根据查找算法,从归档文件中找到补录数据的插入位置具体包括:
插入位置介于所述快照数据块中,判断快照数据块是否有足够的空间写入新的快照数据;
如果当前快照数据块有足够的空间写入补录的快照数据,依次判断数据块中各个快照数据的时间,如果插入位置在所述快照数据块中快照数据之间,将插入位置后面的快照数据后移,并插入补录的数据,更新该快照数据块的数据块索引中的快照数据个数和使用空间大小;如果插入位置在数据块的末尾位置,直接将补录数据写入数据块末尾,更新快照数据块索引中的时间范围,快照数据个数和使用空间;
如果当前数据块没有足够空间插入补录的快照数据,取出最后一个快照数据信息,找到插入位置,将插入位置后面的快照数据后移,并插入补录的数据,更新当前快照数据块的数据块索引中的相对结束时间;
新建一个快照数据块,将取出的最后一个快照数据信息写入新建快照数据块中;
新增快照数据块的上一区块地址为当前快照数据块的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块地址;
更新当前快照数据块的数据块索引中的下一区块地址为新增快照数据块的地址;如果新增快照数据块为最后一个数据块,更新测点索引块中最后一个快照数据块的地址;更新文件信息头中的文件占用空间和使用空间;
补录位置介于两个快照数据块之间;
新增一个快照数据块,将补录的快照数据写入新建快照数据块中;
新增快照数据块的上一区块地址为第一个快照数据块的地址,新增快照数据块的下一区块地址为当前快照数据索引中的下一区块地址;
更新第一个快照数据块的数据块索引中的下一区块地址为新增快照数据块的地址;如果新增快照数据块为最后一个数据块,更新测点索引块中最后一个快照数据块的地址;更新文件信息头中的文件占用空间和使用空间。
6.一种基于热点文件的实时数据库快照存储系统,应用上述权利要求1-5任意一项所述的一种基于热点文件的实时数据库快照存储方法,其特征在于,所述存储系统包括:
快照写模块,用于写入快照数据,根据快照数据的时间、品质调用内部例外算法和压缩算法;
快照数据归档模块,用于筛选出需要归档的所述快照数据,获得待归档快照数据;
快照读模块,用于读取快照数据,根据测点标识查找对应快照归档文件;在所述快照归档文件中读取最后归档的快照数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576358.XA CN115982096B (zh) | 2022-12-09 | 2022-12-09 | 一种基于热点文件的实时数据库快照存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576358.XA CN115982096B (zh) | 2022-12-09 | 2022-12-09 | 一种基于热点文件的实时数据库快照存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115982096A CN115982096A (zh) | 2023-04-18 |
CN115982096B true CN115982096B (zh) | 2023-09-08 |
Family
ID=85962000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211576358.XA Active CN115982096B (zh) | 2022-12-09 | 2022-12-09 | 一种基于热点文件的实时数据库快照存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982096B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008144018A1 (en) * | 2007-05-18 | 2008-11-27 | Brandeis University | A device and method for an efficient storage manager for copy-on-write snapshots |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN103823902A (zh) * | 2014-03-18 | 2014-05-28 | 南京新模式软件集成有限公司 | 一种电子文件安全检索的方法 |
US9959194B1 (en) * | 2017-03-08 | 2018-05-01 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of memory snapshots for replay responsiveness |
US10701153B1 (en) * | 2017-04-30 | 2020-06-30 | EMC IP Holding Company LLC | Cloud data archiving using latest snapshot metadata |
CN113986824A (zh) * | 2021-10-27 | 2022-01-28 | 西安热工研究院有限公司 | 一种高效存储和检索时序数据的方法 |
CN114020688A (zh) * | 2021-11-10 | 2022-02-08 | 西安热工研究院有限公司 | 一种时序数据库快照数据归档方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321192B2 (en) * | 2017-09-07 | 2022-05-03 | Cohesity, Inc. | Restoration of specified content from an archive |
-
2022
- 2022-12-09 CN CN202211576358.XA patent/CN115982096B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008144018A1 (en) * | 2007-05-18 | 2008-11-27 | Brandeis University | A device and method for an efficient storage manager for copy-on-write snapshots |
CN102043795A (zh) * | 2009-10-13 | 2011-05-04 | 上海新华控制技术(集团)有限公司 | 过程控制历史数据文件结构的建立方法和数据读写方法 |
CN103823902A (zh) * | 2014-03-18 | 2014-05-28 | 南京新模式软件集成有限公司 | 一种电子文件安全检索的方法 |
US9959194B1 (en) * | 2017-03-08 | 2018-05-01 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of memory snapshots for replay responsiveness |
US10701153B1 (en) * | 2017-04-30 | 2020-06-30 | EMC IP Holding Company LLC | Cloud data archiving using latest snapshot metadata |
CN113986824A (zh) * | 2021-10-27 | 2022-01-28 | 西安热工研究院有限公司 | 一种高效存储和检索时序数据的方法 |
CN114020688A (zh) * | 2021-11-10 | 2022-02-08 | 西安热工研究院有限公司 | 一种时序数据库快照数据归档方法及系统 |
Non-Patent Citations (1)
Title |
---|
数据缓存按需同步的设计与应用;周京晖;软件;第34卷(第5期);第6-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115982096A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541757B (zh) | 写缓存方法、缓存同步方法和装置 | |
JP4101410B2 (ja) | タイムバージョンデータ記憶装置 | |
CN109189759B (zh) | Kv存储系统中的数据读取方法、数据查询方法、装置及设备 | |
CN112597345B (zh) | 一种实验室数据自动采集与匹配方法 | |
CN102880718B (zh) | 一种灵活日志的存贮和获取方法 | |
CN114116795B (zh) | 一种数据存储和查询方法、装置、存储介质及电子设备 | |
WO2006095356A1 (en) | A method of logging transactions and a method of reversing a transaction | |
CN113253932B (zh) | 一种分布式存储系统的读写控制方法和系统 | |
CN111125171A (zh) | 一种监测数据存取方法、装置、设备及可读存储介质 | |
CN115982096B (zh) | 一种基于热点文件的实时数据库快照存储方法及系统 | |
JP4314126B2 (ja) | 同時実行制御方法及び装置 | |
CN115373608A (zh) | 数据存储方法及装置 | |
CN110471623B (zh) | 硬盘文件写入方法、装置、计算机设备和存储介质 | |
CN114281621A (zh) | 一种smr硬盘的性能测试方法和系统 | |
JPS62245348A (ja) | データベース更新方法 | |
CN109446022B (zh) | 一种数据库溢出页异常的检测方法、装置及存储介质 | |
CN114356232B (zh) | 数据读写方法和装置 | |
CN112035554B (zh) | 一种结构化数据版本管理方法与系统 | |
CN113742307B (zh) | 一种基于值日志系统的二级索引的存储和查询方法及系统 | |
CN114238241B (zh) | 财务数据的元数据处理方法和计算机系统 | |
CN117033388A (zh) | 一种oracle数据库实时复制环境下的rowid映射数据的存储方法 | |
CN117785924A (zh) | 基于实时数据库的三段式名检索方法、系统、设备及介质 | |
CN118069590A (zh) | 搜索数据库的正排索引处理方法、装置、介质和设备 | |
US20210011881A1 (en) | System and method for insertable and removable file system | |
CN115840664A (zh) | 一种Elasticsearch索引库增量备份的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |