著录项信息
专利名称 | 数据存储与检索装置和数据存储与检索方法 |
申请号 | CN201210282521.1 | 申请日期 | 2012-08-09 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-02-06 | 公开/公告号 | CN102915324A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 深圳中兴网信科技有限公司 | 申请人地址 | 广东省深圳市南山区科技南路中兴研发大楼26楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳中兴网信科技有限公司 | 当前权利人 | 深圳中兴网信科技有限公司 |
发明人 | 李永阳;吴浩;李俊敏 |
代理机构 | 北京友联知识产权代理事务所(普通合伙) | 代理人 | 尚志峰;汪海屏 |
摘要
本发明提供了一种数据存储与检索装置,包括:索引文件管理模块,为数据制定索引信息,并将所述数据的索引信息记录在索引文件中;定位文件管理模块,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;数据文件管理模块,按所述存储文件信息,将所述数据存储为数据文件以供检索。相应地,本发明还提供了一种数据存储与检索方法。通过本发明的技术方案,可以在数据应用,尤其是在使用海量数据的场合下,避免一次性加载过量数据,减轻系统压力,同时,提高数据存储、检索和恢复的效率。
1.一种数据存储与检索装置,其特征在于,包括:
索引文件管理模块,为需存储的数据制定索引信息,并将所述数据的索引信息记录在索引文件中;
定位文件管理模块,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;
数据文件管理模块,按所述存储位置信息,将所述数据存储为数据文件以供检索;
数据分块模块,获取需存储的原始数据,并在所述原始数据超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据,以分别进行存储;
所述索引文件管理模块还根据所述索引文件,判断所述数据文件中的数据是否满足检索需求;
所述定位文件管理模块还在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;
所述数据文件管理模块还按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。
2.根据权利要求1所述的数据存储与检索装置,其特征在于,所述索引文件管理模块还在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;
所述定位文件管理模块在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;
所述数据文件管理模块在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。
3.根据权利要求1或2所述的数据存储与检索装置,其特征在于,所述定位文件管理模块为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。
4.一种数据存储与检索方法,其特征在于,包括:
步骤202,为需存储的数据制定索引信息,并将所述数据的索引信息记录在索引文件中;
步骤204,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;
步骤206,按所述存储文件信息,将所述数据存储为数据文件以供检索;以及所述数据存储与检索方法还包括:
获取需存储的原始数据,并在所述原始数据文件超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据文件,以分别进行存储;
步骤208,根据所述索引文件,判断所述数据文件中的数据是否满足检索的需求;
步骤210,在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;
步骤212,按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。
5.根据权利要求4所述的数据存储与检索方法,其特征在于,所述步骤208还包括:在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;
所述步骤210还包括:在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;
所述步骤212还包括:在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。
6.根据权利要求4或5所述的数据存储与检索方法,其特征在于,所述步骤204还包括:
为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。
数据存储与检索装置和数据存储与检索方法\n技术领域\n[0001] 本发明涉及数据存储与检索技术领域,具体而言,涉及一种数据存储与检索装置和一种数据存储与检索方法。\n背景技术\n[0002] 在信息快速发展的今天,大量的数据信息给我们日常的生活带来很多方便,可以表达更多的内含或获取到更多丰富多彩的内容,如多媒体信息、地理信息等。\n[0003] 目前,对信息数据的存储,传统的做法是倾向于使用大型数据库。数据库在连接与快速访问中存在一定的效率问题,特别是在大型数据应用中,访问效率会呈现阶段性下降,无法满足即输即现的响应请求。因此,信息膨胀的同时带来数据存储及检索效率的降低,导致需求的信息不能被立刻呈现,特别是在一些要求高的行业应用中,比如,在地理信息系统中,位置的移动或地图的放大缩小,都需要快速查找所在区域的地理信息,如果不能做到即输即显,在本来就可能需要反复进行的地理信息查询的过程中增加大量无谓的等待数据检索、加载、呈现的时间,将会使得用户的体验大打折扣。\n[0004] 同时,目前对于数据丢失的处理方式往往是对整个数据重新下载更新。而在海量数据应用中,这种情况涉及到的数据容量小则几百MB,大则几十GB甚至上百GB或者更多的数据,如果将这些数据都重新下载,将是令人难以想象的。\n[0005] 在海量数据面前,任何硬件配置都不可能通过对所有数据全部加载来提高效率,特别是在硬件资源宝贵的应用场合,如嵌入式系统;而在需要即时即现的场合,如地图信息系统中,相对于大块数据完整下载呈现而言,在需要使用的时候适时加载,并快速呈现在用户面前则显得更加实用和有效。\n[0006] 因此,需要一种新的数据存储与检索技术,可以在数据应用,尤其是在使用海量数据的场合下,避免一次性加载过量数据,减轻系统压力,同时,提高数据存储、检索和恢复的效率。\n发明内容\n[0007] 本发明所要解决的技术问题在于,提供一种新的数据存储与检索技术,可以在数据应用,尤其是在使用海量数据的场合下,避免一次性加载过量数据,减轻系统压力,同时,提高数据存储、检索和恢复的效率。\n[0008] 有鉴于此,本发明提供了一种数据存储与检索装置,包括:索引文件管理模块,为需存储的数据制定索引信息,并将所述数据的索引信息记录在索引文件中;定位文件管理模块,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;数据文件管理模块,按所述存储位置信息,将所述数据存储为数据文件以供检索。\n[0009] 在本技术方案中,所述索引文件管理模块为所述数据制定的索引信息可以包括所述数据的名称、所述数据的类别、所述数据对应的索引信息所处的索引级别信息,等等。除了索引信息外,索引文件中还可以进一步包括数据的描述信息,例如大小以及其他属性。\n[0010] 在数据存储请求到来时,所述索引文件管理模块根据输入数据的内容进行分析,对其进行筛选归类:如果现有索引不能满足需求,则为其建立新的索引;如找到其所属索引,则在现有索引中找到下一级索引,再对其进行分配,直到分配到级别最小的索引为止。\n处理完毕后,所述索引文件管理模块将处理结果发至所述定位文件管理模块。\n[0011] 所述定位文件管理模块根据所述索引文件管理模块的处理结果为所述数据制定存储位置信息,并记录于所述定位文件中,所述存储位置信息主要包括数据的存储位置,进一步地,也可以包括数据的名称、大小以及其他信息。处理完毕后,所述定位文件管理模块将处理结果发至所述数据文件管理模块。\n[0012] 所述数据文件管理模块,根据所述定位文件管理模块的处理结果,在所述定位文件管理模块分配的文件地址空间存储所述数据以供检索。具体地,所述数据可以以二进制文件的形式进行存储,进而提高数据的存储效率。\n[0013] 通过所述索引文件管理模块、定位文件管理模块和数据文件管理模块的配合,即可将数据按照索引文件、定位文件、数据文件的层次,条理清楚地存储起来,进而为快速检索、读取和恢复数据提供了保障。\n[0014] 在上述技术方案中,优选地,所述索引文件管理模块还根据所述索引文件,判断所述数据文件中的数据是否满足检索需求;所述定位文件管理模块还在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;所述数据文件管理模块还按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。\n[0015] 在本技术方案中,当检索请求到来时,所述索引文件管理模块根据所述索引文件,判断所述数据文件中的数据是否满足检索需求,即通过所述索引文件寻找与所述检索请求要求匹配的数据。找到与所述检索请求要求匹配的数据的索引文件后,所述索引文件管理模块将该处理结果发至所述定位文件管理模块。\n[0016] 所述定位文件管理模块根据所述索引文件管理模块发来的处理结果确定与所述检索请求要求匹配的数据的定位文件,并将该处理结果发至所述数据文件管理模块。\n[0017] 所述数据文件管理模块根据所述定位文件管理模块发来的处理结果,分析所述定位文件,确定所述数据文件的存储位置,进而获取到所述数据文件,并将其中的数据作为检索结果。\n[0018] 由于所述数据存储与检索装置已经将所述数据按照层次清晰的结构,并以二进制文件形式存储,所以进行检索时,通过索引文件到定位文件,定位文件到数据文件的过程,能够准确、快速地获取到相应的检索结果。\n[0019] 在上述技术方案中,优选地,还包括:数据分块模块,获取需存储的原始数据,并在所述原始数据超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据,以分别进行存储。\n[0020] 在本技术方案中,所述数据分块模块将所述原始数据进行分块时,每一个因分块而生成的新的数据的大小可以是2M,也可以是其他能更快读写一个文件的临界值。通过引入所述数据分块模块,将所述原始数据处理为能够更快进行读写的多个占用存储空间较小的文件,这样,需要加载通过所述数据存储与检索装置存储的数据时,就可以避免一次加载过多数据,从而减轻整个数据系统的压力。\n[0021] 具体实现过程中,数据分块模块的功能可以集成到索引文件管理模块、定位文件管理模块和数据文件管理模块中的任一模块之中,可以在发现需存储的数据时,就判断数据是否超过所述规定的文件大小或其他策略,如果超出则确定需建立新文件存储,并进行后续的存储过程。\n[0022] 在上述技术方案中,优选地,所述索引文件管理模块还在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;所述定位文件管理模块在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;所述数据文件管理模块在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。\n[0023] 在本技术方案中,所述数据存储与检索装置,包括其中的各个模块,可以配置灵活的执行策略。在收到所述检索请求的服务器是分布式布置,或者是设置有备份服务器的集中式布置的情况下,所述数据存储与检索装置,包括其中的各个模块,在无法在当前的服务器中获取到需要的文件时,可以自动转向所述其他服务器查询并获取相关文件。这样,就增加了所述数据存储与检索装置的灵活性和适应性。\n[0024] 在上述技术方案中,优选地,所述定位文件管理模块为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。\n[0025] 在本技术方案中,通过将所述具有相同索引信息的不同数据分配于同一范围的存储位置之中,以及在所述索引文件中包含与其相关的定位文件的标识,进而使得所述数据的存储层次更加清晰,在有助于提高数据检索的同时,也便于对整个系统进行维护,提高所述数据存储与检索装置的可靠性。\n[0026] 本发明还提供了一种数据存储与检索方法,包括:步骤202,为需存储的数据制定索引信息,并将所述数据的索引信息记录在索引文件中;步骤204,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;步骤206,按所述存储文件信息,将所述数据存储为数据文件以供检索。\n[0027] 在本技术方案中,为所述数据制定的索引信息可以包括所述数据的名称、所述数据的类别、所述数据对应的索引信息所处的索引级别信息,等等。除了索引信息外,索引文件中还可以进一步包括数据的描述信息,例如大小以及其他属性。\n[0028] 在数据存储请求到来时,首先根据输入数据的内容进行分析,对其进行筛选归类:\n如果现有索引不能满足需求,则为其建立新的索引;如找到其所属索引,则在现有索引中找到下一级索引,再对其进行分配,直到分配到级别最小的索引为止。处理完毕后,形成第一处理结果。\n[0029] 其次,根据所述第一处理结果为所述数据文件制定存储位置信息,并记录于所述定位文件中,所述存储位置信息主要包括数据的存储位置,进一步地,也可以包括数据的名称、大小以及其他信息。处理完毕后,形成第二处理结果。\n[0030] 最后,根据所述第二处理结果,在所分配的文件地址空间存储所述数据以供检索。\n具体地,所述数据可以以二进制文件的形式进行存储,进而提高数据的存储效率。\n[0031] 通过上述步骤,即可将数据按照索引文件、定位文件、数据文件的层次,条理清楚地存储起来,进而为快速检索、读取和恢复数据提供了保障。\n[0032] 在上述技术方案中,优选地,还包括:步骤208,根据所述索引文件,判断所述数据文件中的数据是否满足检索的需求;步骤210,在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;步骤212,按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。\n[0033] 在本技术方案中,当检索请求到来时,首先根据所述索引文件,判断所述数据文件中的数据是否满足检索需求,即通过所述索引文件寻找与所述检索请求要求匹配的数据。\n找到与所述检索请求要求匹配的数据的索引文件后,形成第三处理结果。\n[0034] 其次,根据所述第三处理结果确定与所述检索请求要求匹配的数据文件的定位文件,并形成第四处理结果。\n[0035] 最后,根据所述第四处理结果,分析所述定位文件,确定所述数据的存储位置,进而获取到所述数据文件,并将其中的数据作为检索结果。检索具体方式不是固定的,比如字典可以通过拼音查,也可以通过部首查,可以根据索引信息灵活设置。\n[0036] 由于应用所述数据存储与检索方法已经将所述数据按照层次清晰的结构,并以二进制文件形式存储,所以进行检索时,通过索引文件到定位文件,定位文件到数据文件的过程,能够准确、快速地获取到相应的检索结果。\n[0037] 在上述技术方案中,优选地,还包括:获取需存储的原始数据,并在所述原始数据超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据,以分别进行存储。\n[0038] 在本技术方案中,将所述原始数据进行分块时,每一个因分块而生成的新的数据的大小可以是2M,也可以是其他能更快读写一个文件的临界值。通过将所述原始数据处理为能够更快进行读写的多个占用存储空间较小的文件,这样,需要加载通过所述数据存储与检索方法存储的数据时,就可以避免一次加载过多数据,从而减轻整个数据系统的压力。\n[0039] 具体实现过程中,可以在发现需存储的数据时,就判断数据是否超过所述规定的文件大小或其他策略,如果超出则确定需建立新文件存储,并进行后续的存储过程。\n[0040] 在上述技术方案中,优选地,所述步骤208还包括:在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;\n所述步骤210还包括:在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;所述步骤212还包括:在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。\n[0041] 在本技术方案中,所述数据存储与检索方法,包括其中的各个步骤,可以配置灵活的执行策略。在收到所述检索请求的服务器是分布式布置,或者是设置有备份服务器的集中式布置的情况下,所述数据存储与检索方法,包括其中的各个步骤,在无法在当前的服务器中获取到需要的文件时,可以自动转向所述其他服务器查询并获取相关文件。这样,就增加了所述数据存储与检索方法的灵活性和适应性。\n[0042] 在上述技术方案中,优选地,所述步骤204还包括:为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。\n[0043] 在本技术方案中,通过将所述具有相同索引信息的不同数据分配于同一范围的存储位置之中,以及在所述索引文件中包含与其相关的定位文件的标识,进而使得所述数据的存储层次更加清晰,在有助于提高数据检索的同时,也便于对整个系统进行维护,提高所述数据存储与检索方法的可靠性。\n[0044] 通过以上技术方案,可以在数据应用,尤其是在使用海量数据的场合下,避免一次性加载过量数据,减轻系统压力,同时,提高数据存储、检索和恢复的效率。\n附图说明\n[0045] 图1示出了根据本发明的实施例的数据存储与检索装置的框图;\n[0046] 图2示出了根据本发明的实施例的数据存储与检索方法的流程图;\n[0047] 图3示出了根据本发明的实施例的数据存储与检索装置的信息存储过程示意图;\n[0048] 图4示出了根据本发明的实施例的数据存储与检索装置的信息检索过程示意图。\n具体实施方式\n[0049] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。\n[0050] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。\n[0051] 图1示出了根据本发明的实施例的数据存储与检索装置的框图。\n[0052] 如图1所示,根据本发明的实施例的数据存储与检索装置100,包括:索引文件管理模块102,为需存储的数据制定索引信息,并将所述数据的索引信息记录在索引文件中;定位文件管理模块104,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;数据文件管理模块106,按所述存储位置信息,将所述数据存储为数据文件以供检索。\n[0053] 在本技术方案中,所述索引文件管理模块102为所述数据制定的索引信息可以包括所述数据的名称、所述数据的类别、所述数据对应的索引信息所处的索引级别信息,等等。除了索引信息外,索引文件中还可以进一步包括数据的描述信息,例如大小以及其他属性。\n[0054] 在数据存储请求到来时,所述索引文件管理模块102根据输入数据的内容进行分析,对其进行筛选归类:如果现有索引不能满足需求,则为其建立新的索引;如找到其所属索引,则在现有索引中找到下一级索引,再对其进行分配,直到分配到级别最小的索引为止。处理完毕后,所述索引文件管理模块102将处理结果发至所述定位文件管理模块104。\n[0055] 所述定位文件管理模块104根据所述索引文件管理模块102的处理结果为所述数据文件制定存储位置信息,并记录于所述定位文件中,所述存储位置信息主要包括数据的存储位置,进一步地,也可以包括数据的名称、大小以及其他信息。处理完毕后,所述定位文件管理模块104将处理结果发至所述数据文件管理模块106。\n[0056] 所述数据文件管理模块106,根据所述定位文件管理模块104的处理结果,在所述定位文件管理模块104分配的文件地址空间存储所述数据以供检索。具体地,所述数据可以以二进制文件的形式进行存储,进而提高数据的存储效率。\n[0057] 通过所述索引文件管理模块102、定位文件管理模块104和数据文件管理模块106的配合,即可将数据按照索引文件、定位文件、数据文件的层次,条理清楚地存储起来,进而为快速检索、读取和恢复数据提供了保障。\n[0058] 在上述技术方案中,优选地,所述索引文件管理模块102还根据所述索引文件,判断所述数据文件中的数据是否满足检索需求;所述定位文件管理模块104还在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;所述数据文件管理模块106还按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。\n[0059] 在本技术方案中,当检索请求到来时,所述索引文件管理模块102根据所述索引文件,判断所述数据文件中的数据是否满足检索需求,即通过所述索引文件寻找与所述检索请求要求匹配的数据。找到与所述检索请求要求匹配的数据的索引文件后,所述索引文件管理模块102将该处理结果发至所述定位文件管理模块104。\n[0060] 所述定位文件管理模块104根据所述索引文件管理模块102发来的处理结果确定与所述检索请求要求匹配的数据的定位文件,并将该处理结果发至所述数据文件管理模块\n106。\n[0061] 所述数据文件管理模块106根据所述定位文件管理模块104发来的处理结果,分析所述定位文件,确定所述数据文件的存储位置,进而获取到所述数据文件,并将其中的数据作为检索结果。\n[0062] 由于所述数据存储与检索装置100已经将所述数据按照层次清晰的结构,并以二进制文件形式存储,所以进行检索时,通过索引文件到定位文件,定位文件到数据文件的过程,能够准确、快速地获取到相应的检索结果。\n[0063] 在上述技术方案中,优选地,还包括:数据分块模块108,获取需存储的原始数据,并在所述原始数据超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据文件,以分别进行存储。\n[0064] 在本技术方案中,所述数据分块模块将所述原始数据进行分块时,每一个因分块而生成的新的数据的大小可以是2M,也可以是其他能更快读写一个文件的临界值。通过引入所述数据分块模块108,将所述原始数据处理为能够更快进行读写的多个占用存储空间较小的文件,这样,需要加载通过所述数据存储与检索装置100存储的数据时,就可以避免一次加载过多数据,从而减轻整个数据系统的压力。\n[0065] 具体实现过程中,数据分块模块的功能可以集成到索引文件管理模块、定位文件管理模块和数据文件管理模块中的任一模块之中,可以在发现需存储的数据时,就判断数据是否超过所述规定的文件大小或其他策略,如果超出则确定需建立新文件存储,并进行后续的存储过程。\n[0066] 在上述技术方案中,优选地,所述索引文件管理模块102还在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;所述定位文件管理模块104在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;所述数据文件管理模块106在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。\n[0067] 在本技术方案中,所述数据存储与检索装置100,包括其中的各个模块,可以配置灵活的执行策略。在收到所述检索请求的服务器是分布式布置,或者是设置有备份服务器的集中式布置的情况下,所述数据存储与检索装置100,包括其中的各个模块,在无法在当前的服务器中获取到需要的文件时,可以自动转向所述其他服务器查询并获取相关文件。\n这样,就增加了所述数据存储与检索装置100的灵活性和适应性。\n[0068] 在上述技术方案中,优选地,所述定位文件管理模块104为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。\n[0069] 在本技术方案中,通过将所述具有相同索引信息的不同数据文件分配于同一范围的存储位置之中,以及在所述索引文件中包含与其相关的定位文件的标识,进而使得所述数据的存储层次更加清晰,在有助于提高数据检索的同时,也便于对整个系统进行维护,提高所述数据存储与检索装置100的可靠性。\n[0070] 图2示出了根据本发明的实施例的数据存储与检索方法的流程图。\n[0071] 如图2所示,根据本发明的实施例的数据存储与检索方法,包括:步骤202,为需存储的数据制定索引信息,并将所述数据文件的索引信息记录在索引文件中;步骤204,为所述数据制定存储位置信息,并将所述数据的存储位置信息记录在定位文件中;步骤206,按所述存储文件信息,将所述数据存储为数据文件以供检索。\n[0072] 在本技术方案中,为所述数据制定的索引信息可以包括所述数据的名称、所述数据的类别、所述数据对应的索引信息所处的索引级别信息,等等。除了索引信息外,索引文件中还可以进一步包括数据的描述信息,例如大小以及其他属性。\n[0073] 在数据存储请求到来时,首先根据输入数据的内容进行分析,对其进行筛选归类:\n如果现有索引不能满足需求,则为其建立新的索引;如找到其所属索引,则在现有索引中找到下一级索引,再对其进行分配,直到分配到级别最小的索引为止。处理完毕后,形成第一处理结果。\n[0074] 其次,根据所述第一处理结果为所述数据文件制定存储位置信息,并记录于所述定位文件中,所述存储位置信息主要包括数据的存储位置,进一步地,也可以包括数据的名称、大小以及其他信息。处理完毕后,形成第二处理结果。\n[0075] 最后,根据所述第二处理结果,在所分配的文件地址空间存储所述数据以供检索。\n具体地,所述数据可以以二进制文件的形式进行存储,进而提高数据的存储效率。\n[0076] 通过上述步骤,即可将数据按照索引文件、定位文件、数据文件的层次,条理清楚地存储起来,进而为快速检索、读取和恢复数据提供了保障。\n[0077] 在上述技术方案中,优选地,还包括:步骤208,根据所述索引文件,判断所述数据文件中的数据是否满足检索的需求;步骤210,在判断结果为是时,根据所述定位文件,确定所述数据文件的存储位置信息;步骤212,按所述数据文件的存储位置信息,获取所述数据文件,以将所述数据文件中的数据作为检索结果。\n[0078] 在本技术方案中,当检索请求到来时,首先根据所述索引文件,判断所述数据文件中的数据是否满足检索需求,即通过所述索引文件寻找与所述检索请求要求匹配的数据。\n找到与所述检索请求要求匹配的数据的索引文件后,形成第三处理结果。\n[0079] 其次,根据所述第三处理结果确定与所述检索请求要求匹配的数据文件的定位文件,并形成第四处理结果。\n[0080] 最后,根据所述第四处理结果,分析所述定位文件,确定所述数据文件的存储位置,进而获取到所述数据文件,并将其中的数据作为检索结果。检索具体方式不是固定的,比如字典可以通过拼音查,也可以通过部首查,可以根据索引信息灵活设置。\n[0081] 由于应用所述数据存储与检索方法已经将所述数据按照层次清晰的结构,并以二进制文件形式存储,所以进行检索时,通过索引文件到定位文件,定位文件到数据文件的过程,能够准确、快速地获取到相应的检索结果。\n[0082] 在上述技术方案中,优选地,还包括:获取需存储的原始数据,并在所述原始数据超过预定大小时,按所述预定大小将所述原始数据分块为多个新的数据,以分别进行存储。\n[0083] 在本技术方案中,将所述原始数据进行分块时,每一个因分块而生成的新的数据的大小可以是2M,也可以是其他能更快读写一个文件的临界值。通过将所述原始数据处理为能够更快进行读写的多个占用存储空间较小的文件,这样,需要加载通过所述数据存储与检索方法存储的数据时,就可以避免一次加载过多数据,从而减轻整个数据系统的压力。\n[0084] 具体实现过程中,可以在发现需存储的数据时,就判断数据是否超过所述规定的文件大小或其他策略,如果超出则确定需建立新文件存储,并进行后续的存储过程。\n[0085] 在上述技术方案中,优选地,所述步骤208还包括:在接收到检索请求的当前服务器中未存储所述索引文件时,则从其他服务器中获取所述索引文件到所述当前服务器中;\n所述步骤210还包括:在所述当前服务器中未存储所述定位文件时,则从所述其他服务器中获取所述定位文件到所述当前服务器中;所述步骤212还包括:在所述当前服务器中未存储所述数据文件时,则从所述其他服务器中获取所述数据文件到所述当前服务器中。\n[0086] 在本技术方案中,所述数据存储与检索方法,包括其中的各个步骤,可以配置灵活的执行策略。在收到所述检索请求的服务器是分布式布置,或者是设置有备份服务器的集中式布置的情况下,所述数据存储与检索方法,包括其中的各个步骤,在无法在当前的服务器中获取到需要的文件时,可以自动转向所述其他服务器查询并获取相关文件。这样,就增加了所述数据存储与检索方法的灵活性和适应性。\n[0087] 在上述技术方案中,优选地,所述步骤204还包括:为具有相同索引信息的不同数据,分配位于同一范围的存储位置信息;所述索引文件包含与其相关的定位文件的标识,用于根据该标识检索出与所述索引文件相关的所述定位文件。\n[0088] 在本技术方案中,通过将所述具有相同索引信息的不同数据文件分配于同一范围的存储位置之中,以及在所述索引文件中包含与其相关的定位文件的标识,进而使得所述数据的存储层次更加清晰,在有助于提高数据检索的同时,也便于对整个系统进行维护,提高所述数据存储与检索方法的可靠性。\n[0089] 图3示出了根据本发明的实施例的数据存储与检索装置的信息存储过程流程示意图。\n[0090] 如图3所示,根据本发明的实施例的数据存储与检索装置的信息存储过程流程如下:\n[0091] 向所述数据存储与检索装置输入数据,具体而言,由索引文件管理器302(即所述索引文件管理模块)首先对输入数据进行处理:所述索引文件管理器302分析所述数据,判断该数据是否超出预定大小,以及可以判断本次存储的数据与之前存储的数据是否非同一区域(即归类到同一索引下),若是,则所述数据建立新的索引,并建立相应的新索引文件,若否,则在现有索引文件中找到与所述数据索引对应的索引文件,并将所述数据的相关索引信息写入该索引文件。\n[0092] 定位文件管理器(即所述定位文件管理模块)304分析所述数据,判断该数据是否超出预定大小,以及可以判断本次存储的数据与之前存储的数据是否非同一区域(即归类到同一索引下),若是,则所述数据分配新的位置,并建立相应的新定位文件,若否,则在现有定位文件中找到与所述数据位置对应的定位文件,并将所述数据的位置信息写入该定位文件。\n[0093] 数据文件管理器(即所述数据文件管理模块)306分析所述数据,判断该数据是否超出预定大小,若是,则为所述数据建立新的数据文件进行存储,若否,则在现有数据文件中找到与所述数据对应的数据文件,并将所述数据的具体内容写入该索引文件。\n[0094] 图4示出了根据本发明的实施例的数据存储与检索装置的信息检索过程示意图。\n[0095] 如图4所示,根据本发明的实施例的数据存储与检索装置的信息检索过程如下:\n[0096] 步骤402,向所述数据存储与检索装置发出检索请求。\n[0097] 步骤404,根据所述检索请求,判断索引文件管理器(即所述索引文件管理模块)中是否存在与所述检索请求匹配的数据的索引文件:若否,则进入步骤406;若是,则进入步骤\n408。\n[0098] 步骤406,向其他服务器中请求下载所述索引文件,并通过下载文件管理器将所述索引文件发至文件定位管理器(即所述定位文件管理模块),并进入步骤408[0099] 步骤408,根据与所述检索请求匹配的索引文件,判断所述文件定位管理器中是否存在与所述索引文件匹配的定位文件:若否,则进入步骤410;若是,则进入步骤412。\n[0100] 步骤410,向其他服务器中请求下载所述定位文件,并通过下载文件管理器将所述定位文件发至文件读写器(即所述数据文件管理模块),并进入步骤412。\n[0101] 步骤412,根据所述定位文件,判断所述文件读写器中是否存在与所述定位文件匹配的数据文件:若否,则进入步骤414;若是,则进入步骤416。\n[0102] 步骤414,向其他服务器中请求下载所述数据文件,并通过下载文件管理器下载所述数据文件,并进入步骤416。\n[0103] 步骤416,将所述数据文件作为检索结果返回给所述数据存储与检索装置。\n[0104] 以上结合附图详细说明了本发明的技术方案。通过本技术方案的应用,可以在数据应用,尤其是在使用海量数据的场合下,避免一次性加载过量数据,减轻系统压力,同时,提高数据存储、检索和恢复的效率。\n[0105] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-08-03
- 2013-03-20
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210282521.1
申请日: 2012.08.09
- 2013-02-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
1999-11-17
|
1998-05-12
| | |
2
| |
2008-03-19
|
2007-09-11
| | |
3
| |
2012-03-14
|
2010-08-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |