生成索引信息的数据库的存档方法及装置、包含索引信息的存档的数据库的搜索方法及装置与流程

文档序号:15575448发布日期:2018-09-29 05:25阅读:115来源:国知局

本发明涉及数据库的存档方法及其装置和存档的数据库的搜索方法及其装置,更详细地,利用数据压缩技术及索引生成技术的数据库的存档方法及其装置和利用索引信息搜索被压缩并存档的数据库的方法及装置。



背景技术:

随着网络的普及、数据通信技术的发展等,如计算机、笔记本电脑及智能手机的数据生产及消费手段得到普及,如今生产且消费的数据的量成倍增加。

为了有效分类并使用这种数据,利用数据库来管理数据的方法在各种企业、团体及学校等中广泛应用。但是,随着数据量的倍增,数据库的容量也面临界线,持续扩大数据库的容量在费用及管理侧面受到了限制。

因此,需要有效存档数据库来节约容量的技术。尤其,需要利用数据压缩技术及索引生成技术的数据库的存档方法及其装置和利用索引信息来搜索被压缩并存档的数据库的方法及装置。



技术实现要素:

技术问题

本发明的目的在于,提供数据库存档方法及其装置,即,根据规定的基准对数据的记录进行分类,按分类的记录进行压缩并存档,由此,可节约数据库的容量。

并且,本发明的目的在于,提供当数据库存档时,还生成索引信息,由此,利用生成的索引信息来更加有效地搜索数据库的数据库搜索方法及其装置。

并且,本发明的目的在于,提供并列搜索通过上述方法存档的数据库的更加有效的数据库搜索方法及其装置。

技术方案

为了实现上述目的,本发明提供的生成索引信息的数据库存档方法包括:在需要进行存档的原始表中,以与字段(field)值有关的信息为基础来筛选包含多个记录(record)的至少一个记录组的步骤;对各个上述至少一个记录组,在压缩表存储按不同上述记录组进行压缩来生成的组压缩数据及按不同上述组压缩数据固有赋予的存储密钥(storedkey)值的步骤;在组索引表存储与各个上述至少一个记录组相对应的上述字段值及上述存储密钥值的步骤;以及在上述原始表中删除所筛选的上述至少一个记录组中所包含的多个记录。

优选地,在筛选上述至少一个记录组的步骤中,在上述原始表中,以与时间有关的信息为基础来筛选上述至少一个记录组时,还包括对各个上述至少一个记录组,在期间索引表存储与对应的上述时间有关的信息及上述存储密钥值的步骤。

优选地,本发明还包括:对上述原始表中所包含的各个记录,在密钥索引表存储与主关键字(primarykey)的值、作为上述组压缩表内的位置的的密钥索引信息及与上述组压缩表相对应的上述存储密钥值有关的信息的步骤。

优选地,当存在通过上述主关键字,与上述原始表相连接的至少一个连接表时,在上述至少一个连接表中,对压缩多个记录生成的第二压缩表,包括:在上述第二压缩表中所包含的多个记录中,搜索上述原始表中所包含的记录和上述主关键词的值相同的记录的步骤;以及对所搜索的上述记录,将作为上述第二组压缩表内的位置的子索引信息还存储于上述密钥索引表上的上述主关键字的值相同的记录的步骤。

并且,为了实现上述目的,本发明提供的生成索引信息的数据库的存档装置包括:数据库筛选部,在需要进行存档的原始表中,以与字段值有关的信息为基础来筛选包含多个记录的至少一个记录组;数据压缩部,对各个上述至少一个记录组,按不同上述记录组进行压缩来生成组压缩表;以及数据库管理部,在压缩表存储上述组压缩表及按不同上述组压缩表固有赋予的存储密钥值,在组索引表存储与各个上述至少一个记录组相对应的上述字段值及上述存储密钥值,在上述原始表删除所筛选的上述至少一个记录组中所包含的多个记录。

优选地,当上述数据筛选部在上述原始表中,以与时间有关的信息为基础来筛选上述至少一个记录组时,上述数据库管理部在期间索引表存储与上述至少一个记录组相对应的上述时间有关的信息及上述存储密钥值。

优选地,上述数据库管理部对上述原始表中所包含的各个记录,在密钥索引表存储与主关键字的值、作为上述组压缩表内的位置的密钥索引信息及与上述组压缩表相对应的上述存储密钥值有关的信息。

优选地,当存在通过上述主关键字与上述原始表相连接的至少一个连接表时,在各个上述至少一个连接表中对多个记录进行压缩来生成的第二组压缩表,上述数据库管理部在上述第二压缩表中所包含的多个记录中,搜索上述原始表中所包含的记录和上述主关键词的值相同的记录,对所搜索的上述记录,将作为上述第二组压缩表内的位置的子索引信息还存储于上述密钥索引表上的上述主关键字的值相同的记录的步骤。

并且,为了实现上述目的,本发明提供的利用索引信息的存档的数据库的搜索方法包括:接收搜索条件,上述搜索条件用于在包含对与字段值有关的信息相对应的多个记录进行压缩来生成的组压缩表及与上述组压缩表相对应的固有的存储密钥值的压缩表中,搜索与用户需要的上述字段值有关的规定条件的记录的步骤;在存储有与上述字段值有关的信息及与上述字段值有关的信息相对应的上述存储密钥值的组索引表中,搜索满足上述搜索条件的存储密钥值的步骤;以执行搜索的计算机的性能及与满足上述搜索条件的上述存储密钥值相对应的上述组压缩表的数量中的至少一个为基础,确定用于对上述记录的搜索并列处理的数据库搜索过程的数量的步骤;以及以所确定的上述数据库搜索过程的数量为基础,并列执行满足上述搜索条件的记录的搜索的步骤。

优选地,当以与时间有关的信息为基础来生成的上述组压缩表包含在上述压缩表且与上述时间有关的规定条件还包含在上述接收的搜索条件时,还包括:在存储有与上述时间有关的信息及与上述时间有关的信息相对应的上述存储密钥值的期间索引表中,搜索满足上述搜索条件的存储密钥值的步骤。

优选地,当上述搜索条件还包含与主关键字值有关的搜索条件时,还包括:在存储有以上述压缩表形式存档的原始表的各个记录的上述主关键字的值、作为上述组压缩表内的位置的密钥索引信息及与上述组压缩表相对应的上述存储密钥值有关的信息的密钥索引表中,搜索满足上述搜索条件的记录的上述存储密钥值及上述密钥索引信息的步骤,在并列执行上述记录的搜索的步骤中,还以上述存储密钥值及上述密钥索引信息为基础执行搜索。

优选地,当存在通过上述主关键词与上述原始表相连接的至少一个连接表时,在各个上述至少一个连接表中,对多个记录进行压缩来生成的第二组压缩表,在搜索上述存储密钥值及上述密钥索引信息的步骤中,在包含作为各个记录的上述第二组压缩表内的位置的子索引信息的上述密钥索引表中,还搜索满足上述搜索条件的记录的上述子索引信息,在并列执行上述记录的搜索的步骤中,还以上述子索引信息及上述第二组压缩表为基础来执行搜索。

优选地,确定用于并列处理的数据库搜索过程的数量的步骤包括:收集与上述计算机中所包含的中央处理器的数量、存储器的容量及存储装置的输入输出速度中的至少一个有关的计算机性能信息的步骤;在存储于上述压缩表的上述组压缩表中,确定与满足所收集的上述搜索条件的上述存储密钥值相对应的上述组压缩表的数量的步骤;以及以所收集的上述计算机性能信息及所确定的上述组压缩表的数量中的至少一个为基础,确定用于对上述记录的搜索并列处理的数据库搜索过程的数量的步骤。

并且,为了实现上述目的,本发明提供的利用索引信息的存档的数据库的搜索装置包括:接收部,用于接收搜索条件,上述搜索条件用于在包含对与字段值有关的信息相对应的多个记录进行压缩来生成的组压缩表及与上述组压缩表相对应的固有的存储密钥值的压缩表中,搜索与用户需要的上述字段值有关的规定条件的记录;索引搜索部,在存储有与上述字段值有关的信息及与上述字段值有关的信息相对应的上述存储密钥值的组索引表中,搜索满足上述搜索条件的存储密钥值;搜索准备部,以执行搜索的计算机的性能及与满足上述搜索条件的上述存储密钥值相对应的上述组压缩表的数量中的至少一个为基础,确定用于对上述记录的搜索并列处理的数据库搜索过程的数量;以及并列搜索部,以所确定的上述数据库搜索过程的数量为基础,并列执行满足上述搜索条件的记录的搜索的步骤。

优选地,当以与时间有关的信息为基础生成的上述组压缩表包含在上述压缩表且与上述时间有关的规定条件包含在上述接收的搜索条件时,上述索引搜索部在存储有与上述时间有关的信息及与上述时间有关的信息相对应的上述存储密钥值的期间索引表中,搜索满足上述搜索条件的存储密钥值。

优选地,当上述搜索条件还包含与主关键字值有关的搜索条件时,上述索引搜索部还用于在存储有以上述压缩表形式的原始表的各个记录的上述主关键字的值、作为上述组压缩表内的位置的密钥索引信息及与上述组压缩表相对应的上述存储密钥值有关的信息的密钥索引表中,搜索满足上述搜索条件的记录的上述存储密钥值及上述密钥索引信息,上述并列搜索部还以上述存储密钥值及上述密钥搜索信息为基础来执行搜索。

优选地,当存在通过上述主关键词,与上述原始表相连接的至少一个连接表时,在各个上述至少一个连接表中,对多个记录进行压缩来生成的第二组压缩表,上述索引搜索部还用于在包含作为各个记录的上述第二组压缩表内的位置的子索引信息的上述密钥索引表中,还搜索满足上述搜索条件的记录的上述子索引信息,上述并列搜索部还以上述子索引信息及上述第二组压缩表为基础来执行搜索。

优选地,上述搜索准备部还用于:收集与上述计算机中所包含的中央处理器的数量、存储器的容量及存储装置的输入输出速度中的至少一个有关的计算机性能信息;在存储于上述压缩表的上述组压缩表中,确定与满足所收集的上述搜索条件的上述存储密钥值相对应的上述组压缩表的数量;以所收集的上述计算机性能信息及所确定的上述组压缩表的数量中的至少一个为基础,确定用于对上述记录的搜索并列处理的数据库搜索过程的数量。

有益效果

本发明具有如下效果,即,根据搜索频率、重要程度等来对存储于数据库的数据进行分类,按分类结果进行压缩并存档,由此,很大程度减少数据库的使用容量。

并且,本发明具有如下效果,即,在存档过程中生成索引信息,由此,当搜索存档的数据库时,可以使有效性极大化。

附图说明

图1为用于说明生成本发明一实施例的索引信息的数据库存档方法的流程图。

图2为用于说明生成本发明一实施例的索引信息的数据库存档方法的流程图。

图3为用于说明利用本发明一实施例的索引信息的存档的数据库的搜索方法的流程图。

图4为用于说明确定本发明一实施例的数据库搜索过程的数量的方法的流程图。

图5为用于说明生成本发明一实施例的索引信息的数据库的存档装置的图。

图6为用于说明利用本发明一实施例的索引信息的存档的数据库的搜索装置的图。

图7为用于说明本发明一实施例的压缩表的结构的图。

图8为用于说明本发明一实施例的组索引表及期间索引表的结构的图。

图9为用于说明本发明一实施例的密钥索引表的结构的图。

具体实施方式

本发明可具有多种变更并可具有多种实施例,在图中例示特定实施例并进行详细说明。但是,这并非将本发明限定在特殊实施形态,而是包括本发明的思想及技术范围中的所有变更、等同技术方案或替代技术方案。在各个图中,对类似的结构要素赋予类似的附图标记。

第一、第二、a、b等的术语用于说明多种结构要素,上述结构要素并不局限于上述术语。上述术语用于区分两种结构要素。例如,在不超出本发明的发明要求保护范围的范围的情况下,第一结构要素可被命名为第二结构要素,第二结构要素可以被命名为第一结构要素。和/或术语包括多个相关记载的项目的组合或多个相关记载项目中的一个项目。

当一个结构要素与另一个结构要素“连接”或“链接”时,是指直接连接或者直接链接,也可以是在中间隔着其他结构要素。相反,当一个结构要素与其他结构要素“直接连接”或“直接链接”的时,在中间不存在其他结构要素。

在本申请中所使用的术语仅用于说明特定实施例,而并非用于限定本发明。只要并未明确表示,单数的表现包括复数的表现。在本申请中,“包括”或“具有”等的术语用于指定在说明书上记载的特征、数字、步骤、动作、结构要素、部件或这些组合的存在,而并非预先排除一个或一个以上的其他特征或数字、步骤、动作、结构要素、部件或这些组合的存在或附加可能性。

只要并未明确定义,包括技术或科学术语在内的在此使用的所有术语的含义与本发明所属技术领域的普通技术人员一般理解的含义相同。通常使用的预先定义的术语的含义与相同技术的文脉所具有的含义相同,只要在本申请中并未明确定义,不能被解释成异常或过度形式的含义。

以下,参照附图,详细说明本发明的优选实施例。

图1为用于说明生成本发明一实施例的索引信息的数据库存档方法的流程图。

在步骤s110中,数据库存档装置在需要进行存档的原始表中,以与字段值有关的信息为基础来筛选包含多个记录的至少一个记录组。

表为在数据库中形成存储数据的基本结构的单位,原始表可以为在数据库中的多个表中,为了节约容量而进行存档的表。

例如,当数据库存档装置以在原始表中的与字段值有关的信息为基础来筛选包含多个记录的至少一个记录组时,可通过字段值处于规定范围以内的多个记录筛选记录组。

另一方面,用于记录组的筛选的字段值可被确定为字段值在原始表最频繁发搜索的字段的值。当之后搜索上述存档的数据库时,利用生成的索引信息来使搜索的有效性极大化。

记录组为由在原始表中所包含的整体记录中筛选的多个记录的集合构成的组。记录组可生成至少一个以上,根据需要,以原始表的一部分记录为对象限定并生成记录组,而并非以全部记录为对象生成。例如,在原始表中,除2015年之后的记录,以仅对2015年之前的记录为对象来生成用于存档的记录组。

另一方面,在一个记录组中的记录的数量可通过综合性分析及检讨在原始表中的整个记录的数量、搜索数据库的计算机的性能及数据库的搜索条件模式等来确定。

在另一实施例中,若在筛选的至少一个记录组中存在记录的数量大于临界值的超出记录组,则数据库存档装置将上述超出记录组分为记录的数量为临界值以下的多个记录组。

例如,一个记录组可包含的记录的数量的临界值可被设定为10万个。但是,若在筛选的记录组中存在包含超出上述临界值的记录数量的超出记录组,则有可能导致计算机的过负荷及搜索过程的非效率,从而引发问题。

因此,在一个记录组具有大于10万个记录的情况下,将其分为10万个单位来生成多个记录组。例如,在一个记录组包括25万个记录的情况下,数据库存档装置可将超出记录组分为具有10万个记录数量的2个记录组和具有5万个记录数量的1个记录组的共3个记录组。

另一方面,上述分离的多个记录组通过相同筛选信息分类,因此,有可能无法区分上述多个记录组。因此,向上述分离的多个记录组赋予一系列号码(例如,1、2、3、4…),并存储于压缩表的一系列号码字段。在此情况下,当搜索存档的数据库时,区别记录组来执行搜索。

在步骤s120中,对数据库存档装置筛选的至少一个记录组,在压缩表存储按记录组进行压缩来生成的组压缩表及按不同上述组压缩表固有赋予的存储密钥值。

压缩表为存储以记录组为单位进行压缩来存档的数据的表。并且,压缩表可包括用于存储按记录组进行压缩来生成的组压缩表的字段和用于存储以与上述组压缩表相对应的方式固有赋予的存储密钥的至少一个字段。

存储密钥值为按不同组压缩表固有赋予的密钥值,在与存储密钥相对应的字段,按各个组压缩表存储固有的存储密钥值。并且,与上述存储密钥相对应的字段可以为一个以上,当在上述一个以上的字段分散存储的存储密钥值相结合时,按各个存储密钥具有固有的存储密钥。

组压缩表为对分类的记录组进行压缩来生成的二进制数据,生成组压缩表并存储于压缩表的具体过程如下。

在步骤s122中,数据库存档装置将记录组中所包含的多个记录的数据存储于缓冲器。

存储多个记录的数据的缓冲器的大小以原始表的表结构(字段的数量、种类及大小)及在记录组中的记录的临界会来确定。

例如,原始表包含date(文字8字)、name(文字30字)及age(正数4字节)的总3个字段,若与记录组的就数量有关的临界值为10万个,则当将文字1以2字节计算时,缓冲器的大小为至少为10万×(8×2+30×2+4)=800万字节(约8mb)。

而且,数据存档装置依次读取在记录组中的记录及上述记录的字段值来依次存储于缓冲器。

在步骤s124中,数据库存档装置对存储于上述缓冲器的数据进行压缩来生成组压缩表。

组压缩数据为对存储于缓冲器的记录组的数据进行压缩来生成的二进制形式的产物。此时,为了防止因压缩而引起的损失的发生,可使用无损失的压缩算法zip、ctw、lz77或lzw等。

在步骤s216中,数据库存档装置生成按生成的不同上述组压缩表固有赋予的存储密钥值。

例如,数据库存档装置在时间内,以规定的字段值为基础来分类记录组,当生成与上述记录组相对应的组压缩表时,对上述生成的组压缩表,可赋予固有的存储密钥值。

最后,在步骤s128中,数据库存档装置与赋予生成的组压缩表的存储密钥值一同存储于压缩表上的相同记录。

压缩表可包含用于存储二进制形态的组压缩数据的字段和用于存储密钥值的至少一个字段。即,生成的组压缩表存储于用于存储压缩的二进制数据的字段,与上述组压缩表相对应的存储密钥值可分散存储于上述至少一个字段。

另一方面,图7为用于说明压缩表的结构的图,说明压缩表的结构如下。

原始表710包含与时间有关的date字段714及与特定属性有关的col1字段716。此时,数据库存档装置加工原始表710以与时间有关的信息的date字段714的字段值及与特定属性有关的col1字段716为基础进行分类之后,按各个分类的结果,在压缩表720存储组压缩表724及与上述组压缩表相对应的固有赋予的存储密钥值722。

例如,在原始表710中,将date字段714的字段值为2002.01,col1字段716的字段值为1000的记录组进行分类来赋予150001的存储密钥值722,将date字段714的字段值为2002.01,col1字段716的字段值为2000的记录组分类,来赋予150002的存储密钥值722。此时,可从与压缩表720的组压缩表724的记录的数量有关的信息得知date字段714的字段值为2002.01,col1字段716的字段值分别为1000及2000的记录的数量分别为5万个及4万个。

在步骤s130中,数据库存档装置在组索引表存储于至少一个记录组相对应的字段值及存储密钥值。

组索引表可包含用于存储与规定字段值有关的信息的字段和用于存储向与上述规定的字段值有关的信息相对应的组压缩表固有赋予的存储密钥的至少一个字段。

包含上述字段值及存储密钥值的组索引表从与规定的字段值有关的信息获取存储密钥值,压缩表可获取与上述存储密钥值相对应的组压缩表。

最后,在步骤s140中,数据库存档装置在原始表删除筛选的至少一个记录组中的多个记录。

对数据库进行压缩来存档的目的为节约数据库的存储空间,在原始表删除存档的记录组中所包含多个记录,由此,可节约数据库的存储空间。

在另一实施例中,数据库存档装置在原始表中,当以与时间有关的信息为基础来筛选至少一个记录组时,对各个至少一个记录组,在期间索引表存储与对应时间有关的信息及存储密钥值。

期间索引表可包含用于存储于规定字段值有关的信息的字段和用于存储向与上述规定的字段值有关的信息相对应的组压缩表固有赋予的存储密钥的至少一个字段。

与上述规定的时间有关的信息及存储密钥值的期间索引表用于从与规定的时间有关的信息获取对应的存储密钥值,压缩表可获取与上述存储密钥值相对应的组压缩表。另一方面,期间索引表以与时间或期间有关的搜索频率等为基础来选择性生成。

例如,数据库存档装置以与规定的字段值及时间有关的信息为基础,从原始表筛选记录组,在压缩表存储按所筛选的上述记录组生成的组压缩表和向上述生成的组压缩表固有赋予的存储密钥值。

而且,作为按所筛选的上述记录组包含的多个记录共同的字段值有关的信息(例如,col1字段值为1000)和在组索引表存储与组压缩表相对应的存储密钥值。并且,作为按所筛选的上述记录组中所包含的多个记录共同的时间有关的信息(例如,date字段值为2002.01)和在期间索引表壳存储与组压缩表相对应的存储密钥值。

另一方面,图8为用于说明组索引表及期间索引表的结构的图,说明组索引表及期间索引表的结构如下。

参照图7,压缩表720存储组压缩表724及与上述组压缩表相对应的固有赋予的存储密钥值722。数据库存档装置对存储于压缩表720的各个组压缩表724,以对应的存储密钥值722及原始表710的col1字段716为基础,在图8中包含的组索引表820存储于存储密钥值722及字段值有关的信息822。并且,数据库存档装置对存储于压缩表720的各个组压缩表724,以对应的存储密钥值722及原始表710的date字段714值为基础,在图8中包含的期间索引表810存储于存储密钥值722及时间有关的信息812。

如上所述,本发明一实施例的数据库存档方法具有如下效果,经过压缩步骤来对数据库进行存档,由此,很大程度节约数据库的容量。并且,从在数据库包含的原始表及连接表生成组索引表及期间索引表,由此,之后,在搜索上述存档的数据的过程中,可以使搜索的有效性极大化。

图2为用于说明生成本发明一实施例的索引信息的数据库存档方法的流程图。

在步骤s210中,数据库存档装置在需要进行数据存档的原始表中,以与字段值有关的信息为基础,筛选包含多个记录的至少一个记录组。

在步骤s220中,数据库存档装置对筛选的至少一个记录组,在压缩表存储按记录组进行压缩来生成的组压缩表及按不同上述组压缩表固有赋予的存储密钥值。

在步骤s230中,数据库存档装置在组索引表存储于至少一个记录组相对应的字段值及存储密钥值。

在步骤s240中,数据库存档装置对原始表中所包含的各个记录,在密钥索引表存储主关键字的值、作为位于组压缩表内的未知的密钥索引信息及与组压缩表相对应的存储密钥值有关的信息。

主关键字为在数据库中具有多个记录固有识别的值的字段,可被称为基本密钥、主密钥或唯一密钥。并且,在一个表可存在一个以上的主关键字。

并且,密钥索引信息为与具有特定主关键字值的记录在组压缩表内存储于哪个位置有关的信息。例如,在组压缩表所包含的10万个的记录有关的信息中,有关第1000个存储的记录的存储顺序的信息为密钥索引信息。

另一方面,在密钥索引表中,存储主关键字的值的原因如下,作为搜索对象的表可通过与字段值及时间有关的信息和上述主关键字值直接搜索。即,当用户输入特定主关键字值并在表中搜索具有上述主关键字值的记录时,可使用密钥索引表。

更具体地,数据库搜索装置可在密钥索引表中搜索具有上述特定的主关键字值的记录。而且,以所搜索的上述记录中的密钥索引信息及存储密钥值为基础,利用上述密钥索引信息,在上述组压缩表中,可搜索用户所需要的记录。图3中,具体说明对此的说明。

在另一实施例中,数据库存档装置在至少一个连接表中,对多个记录进行压缩而成的第二组压缩表,在上述第二组压缩表中包含的多个记录中,搜索原始表中所包含的主关键字的值相同的记录,对所搜索的上述记录,对所搜索的上述记录,将作为第二组压缩表内的位置的子索引信息存储于上述主关键字的值相同的记录。

连接表为通过主关键字与原始表相连接的表。即,上述主关键字均可存在于原始表和连接表。

当存在通过主关键字与原始表相连接的至少一个连接表时,第二组压缩表为在各个上述至少一个连接表中压缩多个记录来生成的数据。此时,第二组压缩表通过与图1的说明中记载的上述组压缩表相同的方式生成,与组压缩表相同地,与固有的存储密钥值一同存储于压缩表。

子索引信息为与具有特定主关键字的记录在第二组压缩表内存储于哪个位置有关的信息。例如,在与第二组压缩表中所包含的10万个的记录有关的信息中,有关第1000个存储的记录的存储顺序的信息为子索引信息。

例如,数据库可存储通过原始表和主关键字连接的1个连接表。对不存在于原始表,但存在于连接表的字段,若用户需要上述字段的字段值信息,则以使数据库存档装置之后能够搜索至上述连接表的方式在具有与上述密钥索引表上的相同主关键字的记录还存储子索引信息。

在另一实施例中,数据库存档装置获取与至少一个连接表有关的子索引信息来压缩之后,在密钥索引表存储新的子索引信息。

例如,数据库存档装置在至少一个连接表中,对具有相同主关键字值的记录,均获取与至少一个第二组压缩表内的位置有关的子索引信息。而且,对上述获取的值进行压缩,在包含密钥索引表上的相同主关键字的值的记录存储新的子索引信息。

另一方面,图9为用于说明密钥索引表的结构的图,说明密钥索引表的结构如下。

参照图7,对在原始表710中的各个记录,可在密钥索引表910存储作为主关键字的doc.no.字段712值、与上述记录存储的组压缩表724相对应的存储密钥值722及上述记录的密钥索引信息912。并且,对以通过原始表710和主关键字712连接的连接表(未图示)为基础生成的第二组压缩表,与原始表710的记录具有相同的主关键字值712的连接表的记录的子索引信息914还可存储于密钥索引表910。

在步骤s250中,在原始表中删除数据库存档装置筛选的至少一个记录组中的多个记录。

如上所述,本发明一实施例的数据库存档方法经过压缩步骤来存档数据库,由此,很大程度节约数据库的容量。并且,从在数据库中的原始表及连接表生成密钥索引表,由此,之后,利用主关键字值,在搜索上述存档的数据的过程中,可以使搜索的有效性极大化。

图3为用于说明利用本发明一实施例的索引信息的存档的数据库的搜索方法的流程图。

在步骤s310中,接收用于在数据库搜索装置在压缩表中,搜索与用户所需要的上述字段值有关的规定条件的记录的搜索条件。

压缩表为包含数据库搜索装置对于和字段值有关的信息相对应的多个记录进行压缩而生成的组压缩表及与上述组压缩表相对应的固有存储密钥值有关的信息的表。

接收的搜索条件可以为结构化查询语言(sql,structuredquerylanguage)形态的搜索条件。即,数据库搜索装置以结构化查询语言的形式接收用于在存储组压缩表和与上述组压缩表相对应的存储密钥值的压缩表中搜索用户所需要的记录的搜索条件。

在步骤s320中,数据库搜索装置在上述组索引表中搜索满足上述搜索条件的存储密钥值。

组索引表为包含与字段值有关的信息及与上述字段值有关的信息相对应的存储密钥值的信息的表。

数据库搜索装置在组索引表中搜索满足包含与用户的上述字段值有关的条件的搜索条件的记录。而且,可收集与搜索的记录中所包含的存储密钥值有关的信息。

在另一实施例中,当在压缩表包含以与时间有关的信息为基础来生成的组压缩表包含在压缩表且与时间有关的规定条件还包含在上述接收的搜索套条件时,数据库搜索装置在期间索引表中搜索满足上述搜索条件的存储密钥值。

期间索引表为包含与时间有关的信息及与上述时间有关的信息相对应的存储密钥值的信息的表。

当在压缩表中的组压缩表以与字段值有关的信息和与时间有关的信息为基础生成时,数据库搜索装置利用与时间有关的搜索条件来搜索压缩表的记录。

更具体地,数据库搜索装置可在期间索引表中搜索满足与时间有关的搜索条件的记录。而且,可收集与所搜索的上述记录中的存储密钥值有关的信息。

另一方面,当接收的搜索条件均包含与字段值及时间有关的信息时,数据库的搜索装置均在组索引表和期间索引表中收集与存储密钥值有关的信息。而且,在与所收集的上述存储密钥值有关的信息中,在组索引表和期间索引表中共同收集的与存储密钥值有关的信息最终为了搜索记录而变为需要的存储密钥值。

在步骤s330中,数据库搜索装置以与执行搜索的计算机的性能及满足搜索条件的与存储密钥值相对应的组压缩表的数量中的至少一个为基础,确定用于对记录的搜索并列处理的数据库搜索过程的数量。

数据库搜索过程为在存档的数据库中执行记录的搜索的单一过程。因此,在并列处理记录的搜索的情况下,存在多个数据库搜索过程,从而可被理解成同时进行。

另一方面,数据库搜索过程的数量以计算机的性能确定是因为各个数据库搜索过程从压缩的组压缩表搜索记录的过程会对计算机带来很多负荷。并且,数据库搜索过程的数量与满足搜索条件的存储密钥值相对应的组压缩表的数量为基础来确定是因为上述组压缩表的数量结果会与搜索的量或范围有关。

另一方面,在图4中具体说明确定用于对记录的搜索并列处理的数据库搜索过程的数量的具体过程。

在步骤s340中,数据库搜索装置以确定的数据库搜索过程的数量为基础来并列执行满足搜索条件的记录的搜索。

例如,数据库搜索装置准备上述确定数量的数据库搜索过程,按各个数据库搜索过程分担搜索范围来并列执行记录的搜索。

在另一实施例中,当与主关键字值有关的信息条件还包含搜索条件时,数据库搜索装置在密钥索引表中还搜索满足与上述主关键字值有关的搜索条件的记录的存储密钥值及密钥索引信息。而且,数据库搜索装置以所搜索的上述存储密钥值及密钥索引信息为基础来执行记录的并列搜索。

密钥索引表为包含以压缩表形式存档的原始表的各个记录的主关键字的值、作为组压缩表内的位置的密钥索引信息及与组压缩表相对应的存储密钥值的信息的表。

例如,从用户接收的搜索条件包含与字段值及时间有关的信息和与主关键字的值有关的信息。在此情况下,数据库搜索装置在密钥索引表中搜索具有上述主关键字的值的记录,利用所搜索的上述记录的存储密钥值及密钥索引信息来搜索满足用户搜索条件的记录。

在另一实施例中,数据库搜索装置在至少一个连接表中,对多个记录进行压缩来生成的第二组压缩表中,当搜索存储密钥值及密钥索引信息时,在密钥索引表中,还搜索满足用户的搜索条件的记录的子索引信息。而且,当数据库搜索装置并列执行记录的搜索时,以搜索的子索引信息及与上述子索引信息相对应的第二组压缩表为基础来执行搜索。

连接表为通过主关键字与原始表相连接的表,上述主关键字均可存在于原始表和连接表。另一方面,密钥索引表还可包括作为连接表的各个记录的第二组压缩表内的位置的子索引信息。

当存在通过主关键字与原始表相连接的至少一个连接表时,第二组压缩表为上述至少一个连接表中对多个记录进行压缩来生成的数据。此时,第二组压缩表通过与图1的说明中记载的上述组压缩表相同的方式生成,与组压缩表相同地,与固有的存储密钥值一同存储于压缩表。

例如,在还包含与从用户接收的搜索条件仅存在连接表的字段值有关的条件的情况下,数据库搜索装置在密钥索引表中还搜索与满足上述搜索条件的主关键字制作相对应的子索引信息,利用上述子索引信息来搜索上述第二压缩表中所包含的与上述字段值有关的信息。

在另一实施例中,数据库搜索装置对数据库搜索过程分配至少一个组压缩表,基于此,并列执行记录的搜索。

例如,若与满足搜索条件的存储密钥值相对应的组压缩表的数量为6个,确定的数据库搜索过程的数量为4个,则数据库搜索装置向数据库搜索过程4个中的2个分配2个组压缩表,在剩余数据库搜索过程2个分配1个组压缩表。而且,可并列执行与分配上述4个数据库搜索过程的1个或2个的组压缩表的记录的搜索。

此时,各个数据库搜索过程解除分配的组压缩表的压缩来存储于缓冲器,通过从存储于上述缓冲器的数据搜索满足搜索条件的记录的过程来执行搜索。

在另一实施例中,数据库搜索装置以压缩表形式存档的原始表中的字段的种类、大小、顺序及名称有关的信息的表结构信息为基础,来执行满足搜索条件的记录的搜索。

解除组压缩表的压缩来存储于缓冲器,在从存储于上述缓冲器的数据搜索满足搜索条件的记录的情况下,若数据库搜索装置知道与原始表中所包含的各个字段的种类、大小、顺序及名称有关的信息的数据结构信息,则以上述数据结构信息为基础来简单地执行搜索。

在另一实施例中,数据库搜索过程可利用按各个的数据库搜索过程分配的处理器或线程来执行。

各个数据库搜索过程需要并列执行记录的搜索,因此,为了满足这种并列特性,子处理器(childprocess)或线程向每个数据库搜索过程分配一个来执行搜索。此时,是否按各个数据库搜索过程分配子处理器或者线程通过执行搜索的计算的中央处理器的种类及操作系统的种类等的资源来确定。

例如,在数据库搜索过程的数量为6个的情况下,6个子处理器向每个数据库搜索过程分配,可并列执行与6个子处理器向数据库搜索过程分配的组压缩数据有关的记录的搜索。

如上所述,本发明一实施例的存档的数据库的搜索方法以根据计算机的性能及数据库的搜索范围确定的数据库搜索过程的数量为基础,并列执行记录的搜索。

图4为用于说明确定本发明一实施例的数据库搜索过程的数量的方法的流程图。

在步骤s410中,数据库搜索装置收集与在计算机中所包含的中央处理器的数量、存储器的容量及存储装置的输入输出速度中的至少一个有关的计算机性能信息。

计算机的性能可通过执行记录的搜索的计算机中的中央处理器、存储器及出处装置的性能来确定。尤其,在中央处理器的情况下,搭载于上述计算机的中央处理器的数量、点击频率、缓存大小及各个中央处理器的芯片数量等来确定。并且,存储器可通过容量及动作点击频率等来确定性能。并且,存储装置可通过输入输出速度确定性能。

因此,数据库的搜索装置可收集包含与执行记录的搜索的计算机的中央处理器、存储器及存储装置中的至少一个有关的信息的计算机性能信息。

在步骤s420中,数据库搜索装置确定满足从压缩表中所包含的组压缩表中接收的搜索条件的存储密钥值有关的组压缩表的数量。

例如,对存储于压缩表的存储密钥值及与上述存储密钥值相对应的组压缩表,在用户传送从2015年1月至2015年10的搜索条件的情况下,若在期间索引表中均找出满足上述搜索条件的存储密钥值,则可确定与上述存储密钥值相对应的组压缩表的数量。

最后,在步骤s430中,数据库搜索装置以所收集的上述计算机性能信息及所确定的上述组压缩表的数量中的至少一个为基础,确定用于对记录的搜索并列处理的数据库搜索过程的数量。

例如,数据库的搜索装置综合分析计算机性能信息和组压缩表的数量来确定用于对记录的搜索并列处理的数据库搜索过程的数量。

更具体地,即使收集的计算机性能信息并不优秀,在确定的组压缩数据的数量不多的情况下,数据库搜索过程的数量符合组压缩表的数量来被确定的少数量,相反,在收集的计算信息极为优秀的情况下,即使确定的组压缩表的数量不多,数据库搜索过程的数量符合计算机性能信息来被确定为少数量。

如山所述,确定本发明一实施例的数据库搜索过程的数量的方法中,通过与执行搜索的计算机的性能有关的信息及满足搜索条件的存储密钥值相对应的组压缩表的数量来确定数据库搜索过程的数量,由此,更加有效执行记录的并列搜索。

图5为用于说明生成本发明一实施例的索引信息的数据库的存档装置的图。

参照图5,生成索引信息的数据库存档装置500包括数据筛选部510、数据压缩部520及数据库管理部530。此时,生成索引信息的数据库存档装置500与搭载数据的计算机一同搭载,或者可搭载于与数据库网络连接的计算机。

数据筛选部510在需要进行数据存档的原始表中,以在字段值有关的筛选信息为基础来筛选包含多个记录的至少一个记录组。

数据压缩部520对所筛选的上述至少一个记录组,按记录组进行压缩来生成组压缩表。

数据库管理部530在压缩表存储组压缩表及按不同上述组压缩表固有赋予的存储密钥值,在组索引表存储至少一个记录组相对应的字段值及存储密钥值,在原始表删除至少一个记录组中所包含的多个记录。

在另一实施例中,数据筛选部510在原始表中,当以与时间有关的信息为基础,筛选至少一个记录组时,数据库管理部530可在期间索引表存储于上述至少一个记录组相对应的时间有关的信息及存储密钥值。

在另一实施例中,数据库管理部530对原始表中所包含的记录,在密钥索引表还存储主关键字的值、在组压缩表中的位置的密钥索引信息及与组压缩表相对应的存储密钥值有关的信息。

在另一实施例中,当存在通过主关键字,与原始表相连接的至少一个连接表时,在上述至少一个连接表中,对压缩多个记录生成的第二组压缩表,数据库管理部530在上述第二组压缩表中所包含的多个记录中,搜索包含在原始表的记录和主关键字的值相同的记录,对所搜索的上述记录,将作为第二组压缩表内的位置的子索引信息存储于密钥索引表上的主关键字的值相同的记录。

图6为用于说明利用本发明一实施例的索引信息的存档的数据库的搜索装置的图。

参照图6,存档的数据库的搜索装置600包括接收部610、索引搜索部620、搜索准备部630及并列搜索部640。此时,存档的数据库的搜索装置600与搭载数据的计算机一同搭载,或者可搭载于与数据库网络连接的计算机。

接收部610用于接收搜索条件,上述搜索条件用于在包含对与在字段值有关的信息相对应的多个记录进行压缩来生成的组压缩表及与上述组压缩表相对应的固有的存储密钥值的压缩表中,搜索用户所需要的与上述字段值有关的规定条件的记录。

索引搜索部620在存储于字段值有关的信息及与上述字段值有关的信息相对应的存储密钥值的组索引表中,搜索满足接收的搜索条件的存储密钥值。

搜索准备部630以执行搜索的计算机的性能及满足搜索条件的存储密钥值相对应的组压缩表的数量中的至少一个为基础,确定用于对记录的搜索并列处理的数据库搜索过程的数量。

并列搜索部640以所确定的上述数据库搜索过程的数量为基础来并列执行满足搜索条件的记录的搜索。

在另一实施例中,当以与时间有关的信息为基础生成的组压缩表包含在压缩表且与上述时间有关的规定条件包含在接收的搜索条件时,索引搜索部620在存储有与时间有关的信息及与上述时间有关的信息相对应的存储密钥值的期间索引表中,还搜索满足接收的搜索条件的存储密钥值。

在另一实施例中,当接收的搜索条件包含与主关键字值有关的搜索条件时,索引搜索部620在存储以压缩表形式存档的原始表的各个记录的主关键字的值、在组压缩表内的位置的密钥索引信息及与组压缩表相对应的存储密钥值有关的信息的密钥索引表中,搜索满足接收的搜索条件的记录的存储密钥值及密钥索引信息,并列搜索部640以存储密钥值及密钥索引信息为基础执行搜索。

在另一实施例中,当存在通过上述主关键词,与上述原始表相连接的至少一个连接表时,在上述至少一个连接表中,对多个记录进行压缩来生成的第二组压缩表,索引搜索部620在包含作为各个记录的上述第二组压缩表内的位置的子索引信息的上述密钥索引表中,还搜索满足上述搜索条件的记录的上述子索引信息,并列搜索部640以上述子索引信息及上述第二组压缩表为基础来执行搜索。

在另一实施例中,搜索准备部620收集与上述计算机中所包含的中央处理器的数量、存储器的容量及存储装置的输入输出速度中的至少一个有关的计算机性能信息,在存储于上述压缩表的上述组压缩表中,确定与满足所收集的上述搜索条件的上述存储密钥值相对应的上述组压缩表的数量以所收集的上述计算机性能信息及所确定的上述组压缩表的数量中的至少一个为基础,确定用于对上述记录的搜索并列处理的数据库搜索过程的数量。

另一方面,上述本发明的实施例体现为可通过能够在计算机执行的程序制定,利用计算机可读记录介质来使上述程序工作的通用数字计算机。

上述计算机可读记录介质包括磁存储介质(例如,rom、软盘、硬盘)、光学读数介质(例如,cd-rom、dvd等)。

如上所述,以上述优选实施例为中心,对本发明进行了说明。本发明所属技术领域的普通技术人员在不超出本发明的本质特性的范围内可进行多种变形时实施。因此,公开的实施例并非以限定的观点考虑,而是以说明的观点考虑。本发明的范围通过发明要求保护范围体现,而并非通过上述说明体现,与此等同范围内的所有差异点均属于本发明的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1