一种数据保存方法和装置的制作方法

文档序号:6290615阅读:201来源:国知局
专利名称:一种数据保存方法和装置的制作方法
技术领域
本发明涉及工业自动化领域,特别涉及一种数据保存方法和装置。
背景技术
工业现场的实时数据具有总量大,且数据流量突发性高等特点。这些实时 数据通常是以位号为单位基于时间的顺序数据,位号是工业现场中数据点的抽 象,例如智能设备上的电压或电流信号等,典型的位号数据包含数值、时间戳 和状态码三个字段,由于位号数据多是实时从设备或控制系统上采集的,因此 位号数据中的时间戳通常都是按照时间顺序递进的。 一个典型的控制系统包含 一千多个位号,如果每个位号在几秒钟内同时产生数据,那么产生的数据总量 非常巨大。因此,如何保存这些实时数据以及如何快速检索这些实时数据是急 待解决的问题,虽然内存的访问速度比磁盘快,但是由于内存的容量有限,因 此数据将不得不保存到磁盘,因此如果能够合理利用磁盘文件结构进行数据保 存,并相应建立快速索引文件就能实现对实时数据的读取。
现有技术中的对工业现场产生的实时数据的保存方法流程如图1所示 步骤101:接收来自工业现场的位号数据。
步骤102:判断对应的存储该位号数据的文件是否存在,若是,则执行步 骤103;否则,执行步骤106。
步骤103:将该位号数据写入在该文件中新建的数据记录内。
步骤104:将该位号数据对应的索引信息写入在该文件中新建的索引记录内。
步骤105:将该新建的索引记录与原索引记录进行连接,返回步骤101。 步骤106:新建数据文件,然后返回步骤103。
基于上述的数据保存方法,现有的数据检索流程如图2所示
步骤201:根据用户查询的位号定位到该位号对应的文件。
步骤202:打开文件头中的第一条索引记录并通过遍历所有索引记录查找
符合该位号的数据记录。
步骤203:判断是否检索到合适的数据记录,若是,则执行步骤204;否
则,执行步骤205。
步骤204:读取检索到的数据记录并将所有数据记录作为检索结果集返 回,结束当前流程。
步骤205:返回不包含数据记录的空结果集,结束当前流程。 由以上对现有技术的描述可知,由于位号众多导致文件数目庞大,相对于 处理单个文件,文件处理系统在处理大量文件时的效率将显著下降,而大量的 文件容易产生文件碎片,这些碎片导致检索速度的降低;由于文件长度的最小 单位为簇,因此即使位号文件的长度为零,由于该文件依然要占用一个簇,因 此大量的文件会严重浪费簇资源;由于将位号数据的所有字段未做任何处理就 直接保存在文件中,因此不仅浪费了磁盘空间,而且由于没有合理的索引结构, 使得在检索时必须通过遍历文件读取大量的数据;由于文件数目庞大,因此用 户在进行数据备份时,尤其是基于时间进行数据备份时十分不便,例如用于在 月初时需要备份上个月的所有数据,但是由于数据均以位号为单位,分别保存 在各个文件中,因此系统必须从每个文件中检索并读取数据后再备份到新的存 储介质上,该操作过程耗费了大量时间。

发明内容
本发明的目的在于提供一种数据保存方法,以解决现有技术中数据保存方 法占用磁盘空间大且数据保存结构不合理,导致不利于数据检索的问题。
本发明的另一目的在于提供一种数据检索方法,以解决现有技术中数据检 索方法速度不高,且耗费大量时间的问题。为解决上述技术问题,本发明提供如下技术方案 一种数据保存方法,包括
接收数据后,根据当前文件中该数据对应位号下的记录的情况分配数据块 和索引块;
将所述数据写入所述数据块,并将对应该数据的索引信息写入所述索引块。
所述当前文件中该数据对应位号下的记录的情况包括
所述位号下没有记录;或所述位号下有混合型记录;或所述位号下同时有 数据型记录和索引型记录;
所述混合型记录中同时保存数据和该数据对应的索引信息,所述数据型记 录仅保存数据,所述索引型记录仅保存所述索引信息;
所述混合型记录、数据型记录或索引型记录的大小均为文件系统簇大小的 整数倍。
所述位号下没有记录时,所述根据记录的情况分配数据块和索引块包括
新建一条混合型记录;
在所述混合型记录中分配数据块和索引块。
所述位号下有混合型记录时,所述根据记录的情况分配数据块和索引块包

判断所述混合型记录中是否存在足够空间存储所述数据及该数据的索引 信息;
当所述混合型记录中没有足够空间时,将所述混合型记录转化为索引型记 录,并将该混合型记录中的数据块转移至新建的数据型记录中;
在所述新建的数据型记录中分配凄t据块,并在所述索引型记录中分配索引块。
所述方法进一步包括 当所述混合型记录中有足够空间时,在所述混合型记录中分配数据块和索 引块。
所述位号下同时有数据型记录和索引型记录时,所述根据记录的情况分配
数据块和索引块包括
定位所述数据对应的数据型记录和索引型记录;
判断所述数据型记录和索引型记录中是否有足够空间存储所述数据及该 数据的索引信息;
当所述数据型记录和索引型记录没有足够空间时,分配新的数据型记录作 为当前凄t据型记录,并分配新的索引型记录作为当前的索引型记录;
在所述当前数据型记录中分配数据块,并在所述当前索引型记录中分配索 引块。
进一步包括
当所述数据型记录和索引型记录中有足够空间时,在所述数据型记录中分 配数据块,并在所述索引型记录中分配索引块。
所述位号下仅能有混合型记录时,所述根据记录的情况分配数据块和索亏1 块包括
定位所有所述混合型记录中的最后一条记录;
判断所述记录中是否有足够空间存储所述数据及该数据的索引信息; 当所述记录中没有足够空间时新建一条记录; 在所述新建的记录中分配数据块和索引块。 进一步包括
当所述记录中有足够空间时,在所述最后一条记录中分配数据块和索引块。
所述在接收数据后进一步包括
根据所述接收数据的数据参数信息检查所述数据是否合法;
当所述数据合法时,执行分配数据块和索引块的步骤;当所述数据不合法 时,丟弃所述数据。 .
所述数据参数包括数据变化率、数据极限值、和时间戳中的至少一种;
所述数据包括位号标识、位号状态位、时间戳和位号数值。
一种数据保存装置,包括
接收单元,用于接收数据;
操作单元,用于接收数据后根据当前文件中该数据对应位号下的记录的情 况分配数据块和索引块;
写入单元,用于将所述数据写入所述数据块,并将对应该数据的索引信息 写入所述索引块中。
所述位号下没有记录时,所述操作单元包括
新建单元,用于新建一条混合型记录;
分配单元,用于在所述混合型记录中分配数据块和索引块。
所述位号下有混合型记录时,所述操作单元包括
判断单元,用于判断所述混合型记录中是否存在足够空间存储所述数据及 该数据的索引信息;
执行单元,用于当所述混合型记录中没有足够空间时,将所述混合型记录 转化为索引型记录,并将该混合型记录中的数据块转移至新建的数据型记录 中,并在所述新建的数据型记录中分配数据块,在所述索引型记录中分配索引 块;当所述混合型记录中有足够空间时,在所述混合型记录中分配数据块和索 引块。
所述位号下同时有li据型记录和索引型记录时,所述操作单元包括 定位单元,用于定位所述凄t据对应的数据型记录和索引型记录; 判断单元,用于判断所述数据型记录和索引型记录中是否有足够空间存储 所述数据及该数据的索引信息;
执行单元,用于当所述数据型记录和索引型记录没有足够空间时,分配新 的数据型记录作为当前数据型记录,并分配新的索引型记录作为当前的索引型 记录,在所述当前数据型记录中分配数据块,在所述当前索引型记录中分配索 引块;当所述数据型记录和索引型记录中有足够空间时,在所述数据型记录中 分配数据块,并在所述索引型记录中分配索引块。
所述位号下仅能有混合型记录时,所述执行单元包括 定位单元,用于定位所有所述混合型记录中的最后一条记录; 判断单元,用于判断所述记录中是否有足够空间存储所述数据及该数据的 索引信息;
执行单元,用于当所述记录中没有足够空间时新建一条记录,并在所述新 建的记录中分配数据块和索引块;当所述记录中有足够空间时,在所述最后一 条记录中分配数据块和索引块。
所述装置进一步包括
检查单元,用于根据所述接收单元接收数据的数据参数信息检查所述数据 是否合法;
执行单元,用于当所述数据合法时,执行所述操作单元的功能,当所述数 据不合法时,丢弃所述数据。
由以上本发明提供的技术方案可见,本发明在接收数据后根据当前文件中 的记录的情况分配数据块和索引块,将该数据写入所述数据块,并将对应该数 据的索引信息写入所述索引块中。本发明保存数据的方法通过釆用混合型记录 或数据型记录和索引型记录的双重结构模式,当某些位号的数据较少时,则通 过一个混合型记录保存所有数据和该数据的索引,当某些位号的数据较多时, 则通过数据型记录和索引型记录分别保存数据和索引,对保存结构进行优化, 因此无论对于混合型记录还是索引型记录,索引信息均能够高度集中,因此可 以通过索引快速查找数据所在的物理地址,使得在处理数据量悬殊的位号数据 时具有较强的灵活性,且极大提高了数据的检索效率;进一步,本发明基于文
件系统簇大小的记录分配机制,并且由于操作系统在读取和写入文件时采取预 读取机制,也就是说即使操作系统只读取一个字节,在缺省情况下也会将该字 节所在簇的全部内容都读入到内存中,因此本发明保存数据的结构结合操作系
统固有的读緩冲机制会提高磁盘的访问效率;采用记录和数据块的两层索引模 式,由于记录和数据块均有时间戳,因此在进行检索时,可以快速跳过大,更不 需要的数据而不必进行遍历,提高了检索大量历史数据时的效率。


图1为现有技术中的数据保存方法流程图2为基于现有数据保存方法的数据检索流程图3为本发明方法的第一实施例流程图4为本发明方法的第二实施例流程图5为本发明方法的第三实施例流程图6为本发明方法的第四实施例流程图7为本发明方法的第五实施例流程图8为本发明混合型记录的结构示意图9为本发明数据型记录和索引型记录的结构示意图10为对应用本发明数据保存方法存储的数据进行检索的流程图11为本发明装置的第一实施例框图12为本发明装置的第二实施例框图。
具体实施例方式
本发明的核心是提供一种数据保存方法,在接收数据后根据当前文件中的 记录的情况分配数据块和索引块,并将该数据写入所述数据块,将对应该数据 的索引信息写入所述索引块中。
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目 的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作
进一步详细的说明。
本发明方法的第一实施例流程图如图3所示
步骤301:接收数据后根据当前文件中该数据对应位号下的记录的情况分 配数据块和索引块。
其中,当前文件中该数据对应位号下的记录的情况包括该位号下没有记 录;或该位号下有混合型记录;或该位号下同时有数据型记录和索引型记录;
上述混合型记录中同时保存数据和该数据对应的索引信息,数据型记录仅 保存数据,索引型记录仅保存索引信息;
上述混合型记录、数据型记录或索引型记录的大小均为文件系统簇大小的 整数倍。
步骤302:将该数据写入数据块,并将对应该数据的索引信息写入索引块。
本发明方法的第二实施例流程如图4所示,该实施例示接收数据对应位号 下没有记录时的数据保存过程
步骤401:接收位号数据。
本发明中接收的位号数据通常采集自工业现场,工业现场的实时数据具有 总量大且数据突发性高的特点。
步骤402:根据该数据的数据参数信息检查该数据是否合法,若是,则执 行步骤403;否则,执行步骤406。
数据的合法性检查可以包含多重检查,主要根据数据变化率、数据上下限、 时间戳等参数信息对数据进行检查,以温度参数的变化为例,假设预先设置的 条件是在1秒钟内该温度的上下波动不能超过10度,因此当判断发现波动超 过10度时,则说明该数据为不合法数据。
步骤403:新建一条混合型记录。
接收到的位号数据为合法数据,则根据该位号数据中的时间戳可以定位到 用于保存该数据的合适的文件。此时,由于当前文件中没有对应该位号的混合 型记录,因此需要在该文件中建立对应该位号的混合型记录用于保存该数据及
其索引信息。
新建的这条混合型记录的长度可以正好为文件系统的簇大小,这样既可以 节约磁盘的存储空间,也可以最大限度地提高文件读写效率。原因在于,操作 系统中的文件子系统是以簇为最小单位保存和处理文件的,也就是说一个文件 在磁盘中所占的空间,无论其实际内容有多少,均为簇长度的整数倍,因此本 发明中以簇为基础分配混合型记录,可以使文件长度为簇长度的整数倍,避免 簇浪费。相应的,缺省情况下文件系统从文件中读取数据时也以簇为单位进行 读取,即使读取一个字节也要把整个簇都读取到系统緩存中。
步骤404:在该混合型记录中分配数据块和索引块。
步骤405:将位号数据写入数据块并将该数据的索引信息写入索引块,返 回步骤401。
将数据写入到数据块中时,同步更新该数据块对应的索引块中的时间记 录,新建索引的起始时间将是数据块中第一个数据的时间戳。同时将最后一个 数据的时间戳更新到该混合型记录本身的记录结束时间,以标明该混合型记录 所对应的最后 一个数据的时间。
步骤406:丟弃该位号数据。
本发明方法的第三实施例流程如图5所示,该实施例示出了接收数据对应 位号下有混合型记录时的数据保存过程 步骤501:接收位号数据。
步骤502:根据该数据的数据参数信息检查该数据是否合法,若是,则执 行步骤503;否则,执行步骤508。
步骤503:判断混合型记录中是否有足够空间存储该数据及其索引信息, 若是,则执行步骤507;否则执行步骤504。
本发明中每个位号对应的第 一条记录是特殊的,因为只有第 一条记录是混 合型记录,也就是说该位号下的数据和该数据的索引信息是混合在一个记录中 存储的。这是由于当某个位号下存储的数据较少时,如果分别设置存储数据的
数据型记录和存储该数据索引信息的索引型记录,则会由于数据型记录占用的 空间较大而实际利用率较小而浪费磁盘空间,因此在数据较少时,可以仅设置 一条混合型记录保存数据及其索引信息。
步骤504:将混合型记录转化为索引型记录并将混合型记录中的数据块转 移至新建的数据型记录。
由于该位号对应的混合型记录中没有足够空间存储该数据及其索引信息, 而每个位号只能对应一个混合型记录,因此需要将混合型记录转化为索引型记 录并将混合型记录中的数据块转移至新建的数据型记录中,此时由于混合型记 录的空间已经不能再存储更多的数据,因此通过数据型记录和索引型记录分开 存储数据及其索引信息。
步骤505:在新建的数据型记录中分配数据块并在索引型记录中分配索引块。
步骤506:将位号数据写入数据块并将该数据的索引信息写入索引块,返 回步骤501。
步骤507:在混合型记录中分配数据块和索引块,执行步骤506。
由于该位号对应的混合型记录中有足够空间存储该数据及其索引信息,因 此在该混合型记录中分配数据块和索引块即可。
通常在混合型记录中索引信息保证是在记录的最前面部分,因此每次需要 重新分配索引的时候将连续分配4个索引块作为预留,如果预留的索引块被用 完那么将把最前面的一个数据块移动到后面以便腾出空间用于设置索引块。
步骤508:丢弃该位号数据,结束当前流程。
本发明方法的第四实施例流程如图6所示,该实施例示出了接收数据对应 位号下同时有数据型记录和索引型记录时的数据保存过程 步骤60L接收位号数据。
步骤602:根据该数据的数据参数信息检查该数据是否合法,若是,则执 行步骤603;否则,执行步骤609。
步骤603:定位该位号数据对应的数据型记录和索引型记录。
-步骤604:判断数据型记录和索引型记录中是否有足够空间存储该数据及 其索引信息,若是,则执行步骤608;否则,执行步骤605。
步骤605:分配新的数据型记录作为当前数据型记录并分配新的索引型记 录作为当前的索引型记录。
由于当前数据型记录和索引型记录中是没有足够空间存储该数据,则新分 配一个数据型记录,由于当前索引型记录中也没有足够空间存储该数据的索引 信息,则新分配一个索引记录。数据型记录和索引型记录之间分别通过记录头 中的地址偏移相互链接构成一个链表。
步骤606:在当前凄丈据型记录中分配数据块并在当前索引型记录中分配索 引块。
步骤607:将位号数据写入数据块并将该数据的索引信息写入索引块,返 回步骤601。
将数据写入到数据块中时,同步更新该数据块对应的索引块中的时间记 录,新建索引的起始时间将是数据块中第一个数据的时间戳。同时将最后一个 数据的时间戳更新到相应的数据型记录和索引型记录的记录结束时间,标明该 记录所对应的最后一个凝:据的时间。
步骤608:判断数据块和索引块中是否有足够空间,若是,则执行步骤607; 否则,执行步骤606。
步骤609:丢弃该位号数据,结束当前流程。
本发明方法的第五实施例如图7所示,该实施例示出了接收凝:据对应位号 下仅能有混合型记录时的数据保存过程
步骤701:接收位号数据。
步骤702:根据该数据的数据参数信息;险查该数据是否合法,若是,则执 行步骤703;否则,执行步骤709。
步骤703:定位所有混合型记录中的最后一条记录。
步骤704:判断最后一条记录中是否有足够空间存储该数据及其索引信 息,若是,则执行步骤708;否则,执行步骤705。
步骤705:新建一条混合型记录。
根据位号数据查找所对应该位号的所有混合型记录,并定位到该位号的最 后一条记录,此时由于该位号记录中没有足够空间存储位号数据及其索引信 息,因此为该位号创建一个新的混合型记录,混合型记录的大小也都正好是文 件系统的簇大小,该实施例中的所有记录都是混合型记录,即数据及其索引信 息混合在一起,各条混合型记录之间分别通过记录头中的地址偏移相互链接构 成一个链表。
在混合型记录中的索引块保证是在记录的最前面部分,因此每次需要重新 分配索? 1块时候都将连续分配4个索引块作为预留,如果预留的索引块被用完 那么将4巴最前面的一个数据块移动到后面以便为索引块腾出空间。
步骤706:在该记录中分配数据块和索引块。
步骤707:将位号数据写入数据块并将该数据的索引信息写入索引块,返 回步骤701。
将数据写入到数据块中,然后同步更新该数据块对应的索引块中的时间记
录,新建索引块的起始时间将是数据块中第一个位号数据的时间戳。同时将最 后一个位号数据的时间戳更新到相应的索引记录结束时间,标明该记录所对应 的最后一个数据的时间。
步骤708:判断数据块和索引块中是否有足够空间,若是,则执行步骤707; 否则,执行步骤706。
步骤709:丢弃该位号数据,结束当前流程。
需要说明的是,在上述实施例中,为保证数据精度,所有位号数据中的数 值部分全部保留,对于时间戳的部分精度保存到毫秒,并采用相对时间来节约 磁盘空间。举例说明假设数据型记录中已有的一个数据块,在数据块的开头 有一个区域专门保存该数据块的基准时间,比如为2007-10-30 12:00:00:000,
如果后续接收到一个位号数据,其时间戳为2007-10-30 12:10:00:900,那么该 位号数据被写入到数据块时只需要保存一个相对基准时间的偏移值,这里是 10分钟加900毫秒,折算成毫秒就是600900毫秒,因此只需要不到3个字节 就可以保存该时间偏移值,而如果要保存绝对时间,即保存"12:00:00:000" 则需要至少8个字节。
本发明实施例中混合型记录的结构示意图如图8所示
该混合型记录由记录头、索引和数据组成。其中,记录头包括记录编号、 记录类型、前一记录的地址、下一记录的地址、记录的起始时间、记录的结束 时间以及本记录中的索引数量。该混合型记录通过前一记录地址和下一记录地 址和与其相邻的其它记录链接。其中,当某一位号下的数据量较小时,则可以
通过图9所示的混合型记录同时存储位号数据及其索引信息,即索引1对应数 据块l,索引2对应数据块2,以此类推。
本发明实施例中数据型记录和索引型记录的结构示意图如图9所示 索引型记录中包括记录编号、记录类型、前一记录地址、下一记录地址、 记录起始时间、记录结束时间、索引数量和填充内容,索引型记录通过前一记 录地址和下一记录地址和与其相邻的其它索引型记录链接;数据型记录中包括 记录编号、记录类型、前一记录地址、下一记录地址、记录起始时间、记录结 束时间以及填充内容,数据型记录通过前一记录地址和下一记录地址和与其 相邻的其它数据型记录链接。当文件中某一位号对应的混合型记录空间已经存 储满之后,则对应该位号的数据将通过数据型记录和索引型记录分别存储数据 及其索引信息,如图IO中所示,其中,索引型记录中的索引1与数据型记录 中的数据块l对应,索引2与数据块2对应,以此类推。
对应用本发明数据保存方法存储的数据进行检索的流程图如图10所示
步骤1001:才艮据用户查询的位号定位该位号对应的文件。
例如,用户查询名称为"Temperature.PV"的位号从2007-10-30 12:00:00:000 到2007-10-31 00:00:00:000的所有数据,那么系统首先才艮据每个文件的文件头 所标记的时间范围,定位到包含该数据的文件。
步骤1002:判断是否查找到该位号对应的第一条记录,若是,则执行步 骤1003;否则,执行步骤1009。
步骤1003:判断该记录是否为混合型记录,若是,则执行步骤1004;否 则,执行步骤1008。
步骤1004:打开混合型记录的索引部分。
步骤1005:遍历查找索引部分获得符合查询条件的索引集。
假设查找到了 12条符合要求的记录,分别是记录了从2007-10-30
12:00:00:000开始每隔一个小时的数据,那么将这些索引信息形成一个索引集
合并保存到緩冲中。
步骤1006:判断索引集是否为空,若是,则执行步骤1009;否则,执行
步骤訓7。
步骤1007:按照索引集中索引指向的地址读取数据并返回数据结果集, 结束当前流程。
由于查询到了 12条记录,按照索引集合中的这12记录的索引所指向的地 址读取数据块,即根据这12条记录中分别记录的数据块地址,将其中所指向 的数据块读取到内存,然后将数据进行拼装,即将数据打包使得其符合调用者 的要求,形成数据结果集,并将该数据结果集返回给调用者。
步骤1008:打开索引型记录,返回步骤1005。
步骤1009:返回空结果集,结束当前流程。
与本发明数据保存方法相对应,本发明还提供了数据保存装置,本发明数 据保存装置的第一实施例框图如图11所示
该装置包括接收单元1110、梯:作单元1120和写入单元1130。 其中,接收单元1110用于接收数据;操作单元1120用于接收数据后根据 当前文件中该数据对应位号下的记录的情况分配数据块和索引块;写入单元 1130用于将所述数据写入所述数据块,并将对应该数据的索引信息写入所述
索引块中。
本发明数据保存装置的第二实施例框图如图12所示 该装置包括接收单元1210、检查单元1220、执行单元1230、梯:作单元 1240和写入单元1250。
其中,接收单元1210用于接收数据;检查单元1220用于根据所述接收单 元接收数据的数据参数信息检查所述数据是否合法;执行单元1230用于当所 述数据合法时,执行所述操作单元1240的功能,当所述lt据不合法时,丟弃 所述数据;操作单元1240用于接收数据后根据当前文件中该数据对应位号下 的记录的情况分配数据块和索引块;写入单元1250用于将所述数据写入所述 数据块,并将对应该数据的索引信息写入所述索引块中。
具体的,当位号下没有记录时,才喿作单元1240可以包括新建单元,用 于新建一条混合型记录;分配单元,用于在所述混合型记录中分配数据块和索 引块。
具体的,当位号下有混合型记录时,所述操作单元1240包括判断单元, 用于判断所述混合型记录中是否存在足够空间存储所述数据及该数据的索引 信息;执行单元,用于当所述混合型记录中没有足够空间时,将所述混合型记 录转化为索引型记录,并将该混合型记录中的数据块写入新建的数据型记录 中,并在所述新建的数据型记录中分配数据块,在所述索引型记录中分配索引 块;当所述混合型记录中有足够空间时,在所述混合型记录中分配数据块和索 引块。
具体的,当位号下同时有数据型记录和索引型记录时,所述4喿作单元1240 包括定位单元,用于定位所述数据对应的数据型记录和索引型记录;判断单 元,用于判断所述数据型记录和索引型记录中是否有足够空间存储所述数据及 该数据的索引信息;执行单元,用于当所述数据型记录和索引型记录没有足够 空间时,分配新的数据型记录作为当前数据型记录,并分配新的索引型记录作 为当前的索引型记录,在所述当前数据型记录中分配数据块,在所述当前索引
型记录中分配索引块;当所述数据型记录和索引型记录中有足够空间时,在所 述数据型记录中分配数据块,并在所述索引型记录中分配索引块。
具体的,当位号下仅能有混合型记录时,所述操作单元1240包括定位 单元,用于定位所有所述混合型记录中的最后一条记录;判断单元,用于判断 所述记录中是否有足够空间存储所述数据及该数据的索引信息;执行单元,用 于当所述记录中没有足够空间时新建一条记录,并在所述新建的记录中分配数 据块和索引块;当所述记录中有足够空间时,在所述最后一条记录中分配数据 块和索引块。
由以上本发明实施例可见,本发明保存数据的方法通过釆用混合型记录或 数据型记录和索引型记录的双重结构模式,当某些位号的数据较少时,则通过 一个混合型记录保存所有数据和该数据的索引,当某些位号的数据较多时,则 通过数据型记录和索引型记录分别保存数据和索引,对保存结构进行优化,因 此无论对于混合型记录还是索引型记录,索引信息均能够高度集中,因此可以 通过索引快速查找数据所在的物理地址,使得在处理数据量悬殊的位号数据时 具有较强的灵活性,且极大提高了数据的检索效率。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化 而不脱离本发明的精神。
权利要求
1、一种数据保存方法,其特征在于,包括接收数据后,根据当前文件中该数据对应位号下的记录的情况分配数据块和索引块;将所述数据写入所述数据块,并将对应该数据的索引信息写入所述索引块。
2、 根据权利要求1所述的方法,其特征在于,所述当前文件中该数据对 应位号下的记录的情况包括所述位号下没有记录;或所述位号下有混合型记录;或所述位号下同时有 凄t据型记录和索引型记录;所述混合型记录中同时保存数据和该数据对应的索引信息,所述数据型记 录仅保存数据,所述索引型记录仅保存所述索引信息;所述混合型记录、凝:据型记录或索引型记录的大小均为文件系统簇大小的 整数倍。
3、 根据权利要求2所述的方法,其特征在于,所述位号下没有记录时, 所述根据记录的情况分配数据块和索引块包括新建一条混合型记录;在所述混合型记录中分配数据块和索引块。
4、 根据权利要求2所述的方法,其特征在于,所述位号下有混合型记录 时,所述根据记录的情况分配数据块和索引块包括判断所述混合型记录中是否存在足够空间存储所述数据及该数据的索引 4吕息5当所述混合型记录中没有足够空间时,将所述混合型记录转化为索引型记录,并将该混合型记录中的数据块转移至新建的数据型记录中;在所述新建的数据型记录中分配数据块,并在所述索引型记录中分配索引块。
5、 根据权利要求4所述的方法,其特征在于,所述方法进一步包括当所述混合型记录中有足够空间时,在所述混合型记录中分配数据块和索 引块。
6、 根据权利要求2所述的方法,其特征在于,所述位号下同时有数据型 记录和索引型记录时,所述根据记录的情况分配数据块和索引块包括定位所述数据对应的数据型记录和索引型记录;判断所述数据型记录和索引型记录中是否有足够空间存储所述数据及该 数据的索引信息;当所述数据型记录和索引型记录没有足够空间时,分配新的数据型记录作 为当前数据型记录,并分配新的索引型记录作为当前的索引型记录;在所述当前数据型记录中分配数据块,并在所述当前索引型记录中分配索 引块。
7、 根据权利要求6所述的方法,其特征在于,进一步包括当所述数据型记录和索引型记录中有足够空间时,在所述数据型记录中分 配数据块,并在所述索引型记录中分配索引块。
8、 根据权利要求2所述的方法,其特征在于,所述位号下仅能有混合型 记录时,所述根据记录的情况分配数据块和索引块包括定位所有所述混合型记录中的最后一条记录;判断所述记录中是否有足够空间存储所述数据及该数据的索引信息; 当所述记录中没有足够空间时新建一条记录; 在所述新建的记录中分配数据块和索引块。
9、 根据权利要求8所述的方法,其特征在于,进一步包括 当所述记录中有足够空间时,在所述最后一条记录中分配数据块和索引块。
10、 根据权利要求1至9任意一项所述的方法,其特征在于,所述在接收 数据后进一步包括根据所述接收数据的数据参数信息检查所述数据是否合法;当所述数据合法时,执行分配数据块和索引块的步骤;当所述数据不合法 时,丟弃所述数据。
11、 根据权利要求10所述的方法,其特征在于,所述数据参数包括数据 变化率、数据极限值、和时间戳中的至少一种;所述数据包括位号标识、位号状态位、时间戳和位号数值。
12、 一种数据保存装置,其特征在于,包括 接收单元,用于接收数据;操作单元,用于接收数据后根据当前文件中该数据对应位号下的记录的情 况分配数据块和索引块;写入单元,用于将所述数据写入所述数据块,并将对应该^:据的索引信息 写入所述索引块中。
13、 根据权利要求12所述的装置,其特征在于,所述位号下没有记录时, 所述操作单元包括新建单元,用于新建一条混合型记录;分配单元,用于在所述混合型记录中分配数据块和索引块。
14、 根据权利要求12所述的装置,其特征在于,所述位号下有混合型记 录时,所述操作单元包括判断单元,用于判断所述混合型记录中是否存在足够空间存储所述数据及 该数据的索引信息;执行单元,用于当所述混合型记录中没有足够空间时,将所述混合型记录 转化为索引型记录,并将该混合型记录中的数据块转移至新建的数据型记录 中,并在所述新建的数据型记录中分配数据块,在所述索引型记录中分配索引 块;当所述混合型记录中有足够空间时,在所述混合型记录中分配数据块和索 引块。
15、 根据权利要求12所述的装置,其特征在于,所述位号下同时有数据 型记录和索引型记录时,所述才喿作单元包括定位单元,用于定位所述数据对应的数据型记录和索引型记录; 判断单元,用于判断所述数据型记录和索引型记录中是否有足够空间存储 所述数据及该数据的索引信息;执行单元,用于当所述数据型记录和索引型记录没有足够空间时,分配新 的凄t据型记录作为当前数据型记录,并分配新的索引型记录作为当前的索引型 记录,在所述当前数据型记录中分配数据块,在所述当前索引型记录中分配索 引块;当所述数据型记录和索引型记录中有足够空间时,在所述数据型记录中 分配数据块,并在所述索引型记录中分配索引块。
16、 根据权利要求12所述的装置,其特征在于,所述位号下仅能有混合 型记录时,所述执行单元包括定位单元,用于定位所有所述混合型记录中的最后一条记录; 判断单元,用于判断所述记录中是否有足够空间存储所述数据及该数据的 索引信息;执行单元,用于当所述记录中没有足够空间时新建一条记录,并在所述新 建的记录中分配数据块和索引块;当所述记录中有足够空间时,在所述最后一 条记录中分配数据块和索引块。
17、 根据权利要求12所述的装置,其特征在于,所述装置进一步包括 检查单元,用于根据所述接收单元接收数据的数据参数信息检查所述数据是否合法;执行单元,用于当所述数据合法时,执行所述操作单元的功能,当所述数 据不合法时,丟弃所述数据。
全文摘要
本发明公开了一种数据保存方法,包括接收数据后,根据当前文件中该数据对应位号下的记录的情况分配数据块和索引块;将所述数据写入所述数据块,并将对应该数据的索引信息写入所述索引块。本发明还公开了一种数据保存装置。本发明通过采用混合型记录或数据型记录和索引型记录的双重结构模式,当某些位号的数据较少时,则通过一个混合型记录保存所有数据和该数据的索引,当某些位号的数据较多时,则通过数据型记录和索引型记录分别保存数据和索引,对保存结构进行优化,因此无论对于混合型记录还是索引型记录,索引信息均能够高度集中,使得在处理数据量悬殊的位号数据时具有较强的灵活性,且极大提高了数据的检索效率。
文档编号G05B19/04GK101169628SQ200710188199
公开日2008年4月30日 申请日期2007年11月14日 优先权日2007年11月14日
发明者勇 古, 叶建位, 苏宏业 申请人:中控科技集团有限公司;浙江大学;浙江中控软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1