发明名称 一种范围型数据的存储及查询方法
摘要 本发明公开了一种范围型数据的存储及查询方法,包括以下步骤:一、数据存储:将多个数据均存储至存储设备内建立的数据表中,且范围型数据均以单字段的存储方式进行存储,并相应建立上下限式范围型数据标识符库、误差式范围型数据标识符库和区域式范围型数据标识符库;二、数据查询,其查询过程如下:查询关键字输入、查询关键字分析判断与范围型数据查询。本发明设计合理、数据存储及查询方便、数据处理工作量小且其数据存储与查询方法符合人们平时数据的存储及查询惯,同时直观体现出数据之间的联系,能有效解决现有范围型数据存储及查询方法存在的不符合人们日常的数据存储惯、数据处理工作量大、更改困难、查询不便等诸多弊端。
申请公布号 CN102004804A 申请公布日期 2011.04.06
申请号 CN201010617843.8 申请日期 2010.12.31
申请人 西北大学 发明人 赵宏安;关博通;王冰;王博;陈琳;耿国华;李康;牛晓霞;李玉芹;江静;雷元元;高红旭;徐司雨;赵凤起;王浩;张玉成;胡荣祖;赵晓梅;张江波;廉鹏;王伯周
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 西安创知专利事务所 61213 代理人 谭文琰
主权项 一种范围型数据的存储及查询方法,其特征在于该方法包括以下步骤:步骤一、数据存储:采用PC机且按照常规输入方法对需要存储的多个数据分别进行存储,且将所存储的多个数据均存储至存储设备内所建立的一个数据表中,或者根据字段名称信息的不同将所存储的多个数据分别存储至存储设备内所建立的多个数据表中;所述字段名称信息为各数据所表示的参数类型名称;多个所述数据包括数值型数据和范围型数据两种类型数据,所述数值型数据为数据的值确定且有确切值的数据,所述范围型数据系指仅有一个范围且无确切值的数据;进行存储时,对所有数据的存储方式均相同,且以字符串形式对各数据分别进行存储;所存储的每一个数据均包括字段名称信息、与字段名称信息相对应的具体数值和对数据进行唯一区分的主键编号三类信息,所述字段名称信息和所述具体数值的数量为一个或多个,且所述字段名称信息和所述具体数值一一对应;所述字段名称信息、具体数值和主键编号均以单字段的存储方式进行存储,且实际存储时同一数据的字段名称信息、具体数值和主键编号均分别存储于单一的一个字段内,其中范围型数据的具体数值以单字段范围数据的存储方式进行存储,数值型数据的具体数值以单字段数据的存储方式进行存储,同一数据中的具体数值分别与字段名称信息和主键编号之间通过关联单元进行关联且同一数据中的具体数值分别与该数据的字段名称信息和主键编号相对应;对多个所述数据进行存储的同时,将各数据的主键编号均存储至主键编号数据库中,并且对多个所述数据中所包含的不同类型范围型数据标识符进行同步记录;数据查询之前,对所记录的不同类型范围型数据标识符进行汇总和分类,并通过所述参数输入装置且根据各范围型数据标识符所对应的范围型数据类型,将所记录的范围型数据标识符分别添加至预先建立的上下限式范围型数据标识符库、误差式范围型数据标识符库和区域式范围型数据标识符库中,使得所述上下限式范围型数据标识符库、误差式范围型数据标识符库和区域式范围型数据标识符库包括多个所述数据的所有类型范围型数据标识符;步骤二、数据查询,其查询过程包括以下步骤:201、查询关键字输入:采用PC机的参数输入装置输入所要查询的查询关键字,所述查询关键字中包括需查询字段的字段名称信息;202、查询操作字段分析判断:所述PC机的中央处理器调用查询操作字段判断模块判断所输入查询关键字中包含的查询操作字段是否为存储有主键编号的主键字段:当判断得出所操作字段为主键字段时,则转入步骤204;否则,进入步骤203;203、非主键编号查询:所述中央处理器调用词法分析及符号识别模块对所输入的查询关键字进行分析,判断其内是否包含范围型数据标识符:若有则分离提取范围型数据标识符,并转入步骤2031;否则,转入步骤2032;2031、范围型数据类型查询,其查询过程如下:20311、查询关键字中范围型数据类型识别:所述中央处理器调用范围型数据分类识别模块将分离提取出的所述范围型数据标识符分别与所述上下限式范围型数据标识符库、误差式范围型数据标识符库和区域式范围型数据标识符库所存储的标识符进行对比,并根据对比结果判断出查询关键字中范围型数据的类型,且对同步记录判断结果;20312、范围型数据具体查询过程:所述中央处理器调用范围型数据查询模块对需查询的所有数据表分别进行查询,需查询数据表的数量为一个或多个,对多个数据表进行查询时按照各数据表在存储器内的存储位置的先后顺序进行查询;查询时,对所有数据表的查询方法均相同且对数据表中存储的所有字段的查询方法均相同,对于其中任一个需查询的数据表而言,其具体查询过程如下:203121、名称信息对比:所述中央处理器调用名称信息对比模块,按照存储位置的先后顺序对需查询数据表中存储的所有字段对应的字段名称信息进行调取,并将调取出的字段名称信息与查询关键字中包含的字段名称信息进行对比,且将字段名称信息与查询关键字中包含的字段名称信息一致的所有字段均添加待查询标记;203122、待查询字段调取:所述范围型数据查询模块按照存储位置的先后顺序,调取出需查询数据表中存储且添加待查询标记的一个待查询字段;203123、单字段范围数据分类识别、查询及主键编号保存:首先,所述中央处理器调用词法分析及符号识别模块对调取出的待查询字段进行分析,判断其内是否包含范围型数据标识符:若有则对待查询字段中存储的单字段范围数据进行查询;否则,返回步骤203122,调取出需查询数据表中存储且添加待查询标记的下一个待查询字段;对待查询字段中存储的单字段范围数据进行查询时,所述范围型数据查询模块对所调取待查询字段中存储的单字段范围数据进行查询,且对所有单字段范围数据的查询方法均相同;对单字段范围数据进行查询时:先调用范围型数据分类识别模块,判断需查询单字段范围数据与查询关键字的范围型数据类型是否相同;当判断得出需查询单字段范围数据与查询关键字的范围型数据类型相同时,对需查询单字段范围数据与查询关键字中包含的具体数值进行对比分析,并判断查询关键字的具体数值范围是否处于需查询单字段范围数据的具体数值范围之内;当判断得出查询关键字的数值范围处于需查询单字段范围数据的具体数值范围之内时,将该单字段范围数据对应的主键编号保存至查询结果集内;203124、所述中央处理器判断需查询数据表是否为空:若为空,查询完毕,转入步骤203125;否则,返回步骤203122,对需查询数据表中存储且添加待查询标记的下一个待查询字段进行查询;203125、将步骤203122中所述查询结果集内所保存的所有主键编号构造成一个枚举向量selstr;203126、采用步骤203124中所生成的枚举向量selstr且按照存储位置的先后顺序,对需查询数据表中所存储的所有字段进行查询,得到需查询数据表的查询结果记录集;203127、多次重复步骤203121至203126,且按照存储位置的先后顺序对需查询的其它数据表依次进行查询,直至对需查询的所有数据表均查询完毕;2032、数值型数据查询:所述中央处理器调用数值型数据查询模块,并按照常规数值型数据的查询方法对需查询的所有数据表分别进行查询,需查询数据表的数量为一个或多个,对多个数据表进行查询时按照各数据表在存储设备内的存储位置的先后顺序进行查询;且进行查询时,对所有数据表的查询方法均相同,均需按照存储位置的先后顺序对各数据表中所存储的所有字段进行查询且对所有字段的查询方法均相同,对于其中任一个需查询的数据表而言,其查询过程如下:20321、名称信息对比:所述中央处理器调用名称信息对比模块,按照存储位置的先后顺序对需查询数据表中存储的所有字段对应的字段名称信息进行调取,并将调取出的字段名称信息与查询关键字中包含的字段名称信息进行对比,且将字段名称信息与查询关键字中包含的字段名称信息一致的所有字段均添加待查询标记;20322、待查询字段调取:所述数值型数据查询模块按照存储位置的先后顺序,调取出需查询数据表中存储且添加待查询标记的一个待查询字段;20323、单字段数据查询及主键编号保存:首先,所述中央处理器调用词法分析及符号识别模块对调取出的待查询字段进行分析,判断其内是否包含范围型数据标识符:若有,返回步骤20322,调取出需查询数据表中存储且添加待查询标记的下一个待查询字段;否则,对待查询字段中存储的单字段数据进行查询;对待查询字段中存储的单字段数据进行查询时,所述数值型数据查询模块对所调取字段中存储的单字段数据进行查询,且对所有单字段数据的查询方法均相同,均采用将所输入的查询关键字与所查询的单字段数据进行差值比较的方法进行查询:当判断得出所查询的单字段数据与查询关键字相同时,则将该单字段数据所处字段的主键编号保存至查询结果集内;20324、返回步骤20322,并按照存储位置的先后顺序对需查询数据表中所存储且添加待查询标记的下一个字段进行调取与查询;且多次重复步骤20322至步骤20323,直至对需查询数据表中所存储且添加待查询标记的所有字段均查询完毕,并转入步骤20325;20325、将步骤20324中所述查询结果集内所保存的所有主键编号构造成一个枚举向量selstr;20326、采用步骤20325中所生成的枚举向量selstr且按照存储位置的先后顺序,对需查询数据表中所存储且添加待查询标记的所有字段进行查询,得到需查询数据表的结果记录集;20326、多次重复步骤20321至20325,且按照存储位置的先后顺序对需查询的其它数据表依次进行查询,直至对需查询的所有数据表均查询完毕;204、主键编号查询:所述中央处理器调用数值型数据查询模块,并按照常规数值型数据的查询方法对需查询的所有数据表分别进行查询,需查询数据表的数量为一个或多个,对多个数据表进行查询时按照各数据表在存储设备内的存储位置的先后顺序进行查询;且进行查询时,对所有数据表的查询方法均相同,均需按照存储位置的先后顺序对各数据表中所存储的所有字段进行查询且对所有字段的查询方法均相同,对于其中任一个需查询的数据表而言,其查询过程如下:2041、名称信息对比:所述中央处理器调用名称信息对比模块,按照存储位置的先后顺序对需查询数据表中存储的所有字段对应的主键编号进行调取,并将调取出的主键编号与查询关键字进行对比,且将主键编号与查询关键字相同的所有字段均添加待查询标记;2042、待查询字段调取:所述数值型数据查询模块按照存储位置的先后顺序,调取出需查询数据表中存储且添加待查询标记的一个待查询字段;2043、单字段数据查询及主键编号保存:首先,所述中央处理器调用词法分析及符号识别模块对调取出的待查询字段进行分析,判断其内是否包含主键编号:若有,对待查询字段中存储的主键编号进行查询;否则,返回步骤2042,调取出需查询数据表中存储且添加待查询标记的下一个待查询字段;所述数值型数据查询模块对所调取字段中存储的主键编号进行查询,且对所有主键编号的查询方法均相同,均采用将所输入的查询关键字与所查询的主键编号进行差值比较的方法进行查询:当判断得出所查询的主键编号与查询关键字相同时,则将该调取字段的主键编号保存至查询结果集内;2044、返回步骤2042,并按照存储位置的先后顺序对需查询数据表中所存储且添加待查询标记的下一个字段进行调取与查询;且多次重复步骤2042至步骤2043,直至对需查询数据表中所存储且添加待查询标记的所有字段均查询完毕,并转入步骤2045;2045、将步骤2044中所述查询结果集内所保存的所有主键编号构造成一个枚举向量selstr;2046、采用步骤2045中所生成的枚举向量selstr且按照存储位置的先后顺序,对需查询数据表中所存储且添加待查询标记的所有字段进行查询,得到需查询数据表的结果记录集;2046、多次重复步骤2041至2045,且按照存储位置的先后顺序对需查询的其它数据表依次进行查询,直至对需查询的所有数据表均查询完毕。
地址 710069 陕西省西安市长安区学府大道1号西北大学长安校区