实现可扩展的数据存储方法

文档序号:6399449阅读:147来源:国知局
专利名称:实现可扩展的数据存储方法
技术领域
本发明涉及数据信息存取领域,尤其是涉及一种实现可扩展的数据存储方法。
背景技术
资源管理系统是利用计算机技术和网络技术对资源信息进行采集、共享和管理。在各种资源管理系统中,通常需要将数据进行存储。
以实验室的实验数据管理系统为例,说明现有技术中是如何对实际检测的数据进行存储的。
F=A1A2A3B1B2B3···]]>F是实验数据管理系统中数据集合,假设该实现室有设备1、设备2和设备3。其中,A1,A2,A3分别是设备1、设备2、设备3对检测对象A的检测数据,B1,B2,B3分别是设备1、设备2、设备3对检测对象B的检测数据。具有相同检测对象的数据集合被称为数据记录,将数据记录中每个数据记录进行编号,如设备1的检测数据,这个编号称为域。
请参阅图1,图1为现有的数据存储示意图。A、B分别为检测对象的编号,现有的数据存储方法是将F中的每条数据记录的各个数据按照顺序保存在存储单元中,这种数据存储方法能够保存相对固定的数据。但是,它存在以下缺点随着用户对资源管理系统的要求不断扩宽,很有可能使得原有的数据不能满足新的需求。比如,用户要求增加设备4,则需要在F中增加各个检测对象在设备4上检测到的数据,由于原有的数据是静态依次保存,所以每个数据之间不存在空余空间,由于其存在扩展性差的缺点,因此在增加域时如何对新增的域数据进行存储,则直接影响系统的正常运行。
现有技术中采用的第一种方法是擦除原有的历史数据,将增加新的域数据的实验数据管理系统重新写入存储单元中。由于存储新增数据需要擦除原有的历史数据,所以导致存储效率低的问题。并且,这种方法需改动历史记录的存储,从而影响系统的稳定性。尤其是当通过记录数据的存储地址信息来读写相应数据时,由于数据的重新存储导致存储地址发生变化,如果不及时修改系统中对应的存储地址信息,就会影响整个系统的正常运行。同时,花费大量人力查找和修改该存储地址信息,增加了系统开发成本。
现有技术中采用的第二种方法是对部分历史数据搬运(请参阅图2)。这种通过搬运方式进行数据存储首先确定哪些历史数据需搬运,并计算各个要搬运的历史数据搬运的距离,然后进行历史数据的搬运,最后将新增的域数据存储到对应的存储空间。该方法数据存储效率慢,并且,容易破坏原有存储的数据,造成系统无法正常工作。

发明内容
本发明的目的在于提供一种实现可扩展的数据存储方法,从而解决由于扩展性差而引起存储效率慢、系统不稳定和开发系统成本高的问题。
为解决上述问题,本发明提供了一种实现可扩展的数据存储方法,用于存储由相同域组成的若干数据记录,包括(1)在所述域中选择一个作为关键域;(2)建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表;(3)当增加数据记录的数据时,判断是否是关键域的域数据,若是,则保存所述域数据,否则,在所述第一映射关系表中保存所述数据记录的关键域数据及所述数据的对应关系。
其中,所述第一映射关系表包括关键域的域数据与各个非关键域的域名的映射关系及所述域名与所述非关键域的域数据的映射关系。
其中,步骤(2)还包括设置第一标识,建立并保存关键域中各个域数据和第一标识数据对应的第二映射关系表。
其中,步骤(2)还包括设置第二标识,建立并保存各个非关键域的域名和第二标识数据对应的第三映射关系表。
其中,步骤(2)中所述第一映射关系表包括所述第一标识数据与第二标识数据的映射关系及所述第二标识数据与所述数据记录中的域数据的映射关系。
其中,还包括当增加非关键域时,在所述第三映射关系表中保存所述非关键域的域名及第二标识数据的对应关系。
其中,还包括当数据记录中增加关键域的域数据时,在第二映射关系表中保存所述域数据和第一标识数据的对应关系。
其中,还包括当数据记录中增加非关键域的域数据时,在第一映射关系表中保存所述数据记录的关键域对应的第一标识数据和所述非关键域的域数据的对应关系。
其中,还包括当增加非关键域时,在第二映射关系表中保存所述非关键域的域名和第二标识数据的对应关系。
其中,还包括当更改数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中更改对应的域数据,否则在所述第一映射关系表中更改对应域数据。
其中,还包括当删除数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中删除对应的域数据,否则在所述第一映射关系表中删除对应域数据。
与现有技术相比,本发明具有以下优点第一本发明建立并保存各个数据记录中的关键域数据与其它各个非关键域数据的第一映射关系表。当每次新增数据时,在第一映射关系表中保存新增数据和关键域数据的对应关系,从而避免更改历史数据的存储位置,即历史数据的存储位置是固定且独立的,增加新数据不影响系统中历史数据的存储,因此本发明提高了系统的稳定性,而且在存储数据时,无须计算搬运的距离等步骤,提高了存储效率。还有,由于每一数据记录的各个数据的存储位置是固定的,在通过数据的存储地址进行读写数据时,避免修改系统中的历史数据的存储地址,降低了系统开发成本。
第二本发明中建立并保存关键域中各个域数据和第一标识数据的第二映射关系表和建立并保存各个非关键域的域名和第二标识数据的第三映射关系表,当更改关键域中的域数据时,只要修改第二映射关系表中对应的域数据即可。当增加/修改非关键域时,只要修改第三映射关系表中对应的非关键域的域名即,提高存储效率,同时也提高数据检索的速率。


图1是现有技术中数据的存储结构示意图。
图2是现有技术中增加新数据后的数据进行存储的示意图。
图3是本发明中数据存储的第一实施例的流程图。
图4是第一实施例的第一映射关系表的结构示意图。
图5是新增数据时数据进行存储的流程图。
图6是新增域数据的第一映射关系表的结构示意图。
图7是新增数据记录的第一映射关系表的结构示意图。
图8是本发明的数据存储的第二实施例的流程图。
图9是本发明的第二实施例的第二映射关系表的结构示意图。
图10是本发明的第二实施例的第三映射关系表的结构示意图。
图11是本发明的第二实施例的第一映射关系表的结构示意图。
图12是本发明中新增数据时数据进行存储的流程图。
图13为新增数据时第二映射关系表的结构示意图。
图14为新增数据时第一映射关系表的结构示意图。
具体实施例方式
以下结合附图,具体说明本发明的实施方式。
本发明公开一种实现可扩展的数据存储方法,用于存储由域组成相同的若干数据记录,首先在所述域中选择一个作为关键域(步骤S110);然后,建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表(步骤S120);当增加数据记录的数据时,判断是否是关键域的域数据,若是,则保存所述域数据,否则,在所述第一映射关系表中保存所述数据记录的关键域数据及所述数据的对应关系(步骤S130)。
还是以实验室的实验数据管理系统为例,说明本发明是如何对实际检测的数据进行存储的。
F1=AA1A2A3BB1B2B3]]>该实验数据管理系统F1中包括两条数据记录数据记录1是设备1、设备2、设备3对检测对象A的检测数据集合,数据记录2是设备1、设备2、设备3对检测对象B的检测数据集合。所述数据记录包括四个域检测对象、设备1、设备2、设备3。
首先建立输入界面,以接收用户输入数据和对F1中数据的操作命令。该输入界面包括域增加模块、域数据增加模块、关键域设置模块、数据更改模块和数据删除模块。域增加模块用于接受用户输入新域及对应的域信息,域数据增加模块用于接受用户输入数据记录中的域数据,关键域设置模块用于接受用户选择所述域中的其中一个域为关键域,数据更改模块用于接受用户更改域数据或域信息,数据删除模块用于接受用户删除域数据或域信息。用户通过域增加模块输入上述四个域的域信息,所述域信息包括唯一标识该域的域名,并通过域数据增加模块输入每条数据记录中四个域的域数据。
其次,在所述四个域中选择一个域作为关键域,而其它域作为非关键域。该关键域可以是用户通过关键域设置模块输入,也可以通过系统指定其中一个域为关键域,比如指定第一个域为关键域。系统保存选中的关键域的域信息。以F1为例,通过上述两种方式中的一种选择检测对象为关键域,则设备1、设备2、设备3为非关键域。
最后建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表。如图4所示,所述第一映射关系表包括所述关键域在各个数据记录中的域数据、所述各个非关键域的域名及在所述数据记录中对应的域数据,第一映射关系表包括关键域的域数据与各个非关键域的域名的映射关系及所述域名与所述非关键域的域数据的映射关系。
请参阅图5,为本发明中扩展数据时数据存储的流程图。
首先,接受用户输入新增数据请求(进行步骤S210),当新增域时,通过域增加模块接受用户输入包括域名的域信息,保存域信息。本实施中增加数据主要为增加数据记录中的域数据。
然后进行步骤S220判断数据是否为关键域的域数据(步骤S220),若是,则新增数据记录,保存所述域数据及所述域数据所在的域名,否则,在所述第一映射关系表中保存所述数据记录中的关键域数据及所述数据的对应关系。
比如,为了满足新需要,在系统中增加新域(设备4)及各个数据记录对应的域数据,则在第一映射关系表中保存各个数据记录的关键域的域数据与设备4的对应关系。见图6,记录关键域A和设备4检测对象A的检测数据A4,并记录关键域B和设备4检测对象B的检测数据B4。
比如,在系统中增加新记录,增加各个检测设备对检测对象C的检测数据,C1为设备1对检测对象C的检测数据,C2为设备2对检测对象C的检测数据,C3为设备3对检测对象C的检测数据,则系统通过域数据增加模块接受用户输入的数据,在第一映射关系表中保存该数据记录的关键域的域数据与其它非关键域的数据的对应关系(见图7)。
从上述步骤可知,当F1中新扩展数据时,不影响历史数据存储,当系统通过直接存址访问数据时,无须更改原数据存储的地址,保证系统的稳定性。当历史数据没有空闲空间时,系统查找空闲的存储块用于存储新扩展的数据并记录空闲的存储块的地址。系统通过预先记录的存储地址即可读出或写入数据,提高存取效率并且方便用户操作。
当用户发出删除数据或更改数据请求时,通过预先记录的存储地址删除或更改第一映射关系表中对应的数据。
本申请人在第一实施例的数据存储方法的基础上进行改进,提出了较优的第二实施方式。
请参阅图7,为本发明数据存储的第二实施例的流程图。
步骤S310建立用户输入界面,以方便用户输入数据及对数据的命令操作。该输入界面包括域增加模块、域数据增加模块、关键域设置模块、数据更改模块和数据删除模块。域增加模块用于接受用户输入新域及对应的域信息,域数据增加模块用于接受用户输入数据记录中的域数据,关键域设置模块用于接受用户选择所述域中的其中一个域为关键域,数据更改模块用于接受用户更改域数据或域信息,数据删除模块用于接受用户删除域数据或域信息。用户通过域增加模块输入上述四个域的域信息,所述域信息包括唯一标识该域的域名,并通过域数据增加模块输入每条数据记录中四个域的域数据。
步骤S320在所述域中选择一个域作为关键域,而其它域作为非关键域。该关键域可以是用户通过关键域设置模块输入,也可以通过系统指定其中一个域为关键域,比如指定第一个域为关键域。系统保存选中的关键域的域信息。以F1为例,通过上述两种方式中的一种选择检测对象为关键域,则设备1、设备2、设备3为非关键域。
步骤S330设置第一标识,建立并保存关键域中各个域数据和第一标识数据的第二映射关系表(见图9),该第二映射关系表中保存所述域数据与所述第一标识数据的映射关系。为了便于检索,第一标识采用连续编号的数字。
步骤S340设置第二标识,建立并保存各个非关键域的域名和第二标识数据的第三映射关系表(见图10),该第三映射关系表中保存所述域名与第二标识数据的映射关系。为了便于检索,第二标识也采用连续编号的数字。
步骤S350建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表。第一映射关系表包括所述第一关键域的域数据对应的第一标识数据、所述各个非关键域的域名对应的第二标识数据及该域名在所述数据记录中的域数据(见图11),所述第一映射关系表包括所述第一标识数据与第二标识数据的映射关系及所述第二标识数据与所述数据记录中的域数据的映射关系。
通过建立第二映射关系表和第三映射关系表进行数据存储,第一方便修改数据。比如,将检测对象A更改成D时,无须更改第一关系映射表中的所有的检测对象A,仅修改第二关系映射表中的检测对象A更改成D即可,提高修改数据的效率,并降低修改历史数据的概率,提高系统稳定性。第二增加读写数据的速度,特别是当关键域为字节型数据时,查询该关键域数据对应的第一标识数据比直接查询该字节型数据要快。
请参阅图12,为增加新数据时的数据存储流程图。
还是以实验室的实验数据管理系统为例,要在F1中增加新域(域名为设备4)及增加各个检测对象在新域中的检测数据。
首先进行步骤S410,通过域增加模块接受并保存用户输入的域信息,该域信息包括域名;其次进行步骤S420在所述第三映射关系表中保存所述非关键域的域名及第二标识数据的对应关系(见图13)。
其次进行步骤S430,通过域数据增加模块接受并保存各个数据记录中增加的域数据;最后进行步骤S440在第一映射关系表中保存所述数据记录的关键域所对应的第一标识数据和所述非关键域的域数据的对应关系(见图14)。
当增加关键域的域数据时,在第二映射关系表中保存所述域数据和第一标识数据的对应关系。
当更改数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中更改对应的域数据,否则在所述第一映射关系表中更改对应域数据。
当删除数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中删除对应的域数据,否则在所述第一映射关系表中删除对应域数据。
以上公开的仅为本发明的几个具体实施方式
,并非局限于此,任何本技术领域的技术人员能思之的技术变化,都应落入本发明的保护范围。
权利要求
1.一种实现可扩展的数据存储方法,用于存储由相同域组成的若干数据记录,其特征在于,包括(1)在所述域中选择一个作为关键域;(2)建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表;(3)当增加数据记录的数据时,判断是否是关键域的域数据,若是,则保存所述域数据,否则,在所述第一映射关系表中保存所述数据记录的关键域数据及所述数据的对应关系。
2.如权利要求1所述的实现可扩展的数据存储方法,其特征在于所述第一映射关系表包括关键域的域数据与各个非关键域的域名的映射关系及所述域名与所述非关键域的域数据的映射关系。
3.如权利要求1所述的实现可扩展的数据存储方法,其特征在于步骤(2)还包括设置第一标识,建立并保存关键域中各个域数据和第一标识数据对应的第二映射关系表。
4.如权利要求1或3所述的实现可扩展的数据存储方法,其特征在于步骤(2)还包括设置第二标识,建立并保存各个非关键域的域名和第二标识数据对应的第三映射关系表。
5.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,步骤(2)中所述第一映射关系表包括所述第一标识数据与第二标识数据的映射关系及所述第二标识数据与所述数据记录中的域数据的映射关系。
6.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,还包括当增加非关键域时,在所述第三映射关系表中保存所述非关键域的域名及第二标识数据的对应关系。
7.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,还包括当数据记录中增加关键域的域数据时,在第二映射关系表中保存所述域数据和第一标识数据的对应关系。
8.如权利要求7所述的实现可扩展的数据存储方法,其特征在于,还包括当数据记录中增加非关键域的域数据时,在第一映射关系表中保存所述数据记录的关键域对应的第一标识数据和所述非关键域的域数据的对应关系。
9.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,还包括当增加非关键域时,在第二映射关系表中保存所述非关键域的域名和第二标识数据的对应关系。
10.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,还包括当更改数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中更改对应的域数据,否则在所述第一映射关系表中更改对应域数据。
11.如权利要求4所述的实现可扩展的数据存储方法,其特征在于,还包括当删除数据时,判断所述数据是否关键域的域数据时,若是,在所述第二映射关系表中删除对应的域数据,否则在所述第一映射关系表中删除对应域数据。
全文摘要
本发明公开了一种实现可扩展的数据存储方法,用于存储由域组成相同的若干数据记录,包括(1)在所述域中选择一个作为关键域;(2)建立并保存各个数据记录中的所述关键域数据与其它各个非关键域数据的第一映射关系表;(3)当增加数据记录的数据时,判断是否是关键域的域数据,若是,则保存所述域数据,否则,在所述第一映射关系表中保存所述数据记录的关键域数据及所述数据的对应关系。利用该方法进行数据存储,当新增数据时,无须修改历史数据,提高系统的稳定性和存储数据的效率,并且,无须通过人工方式更改系统中历史数据的存储地址,降低了系统开发的成本。
文档编号G06F17/30GK1700207SQ20041003479
公开日2005年11月23日 申请日期2004年5月17日 优先权日2004年5月17日
发明者陈颂雷 申请人:大唐软件技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1