[发明专利]一种数据库空间几何对象存取方法有效
| 申请号: | 200910076928.7 | 申请日: | 2009-01-14 |
| 公开(公告)号: | CN101520801A | 公开(公告)日: | 2009-09-02 |
| 发明(设计)人: | 谢炯;陈荣国;周成虎;张明波;程昌秀;卢战伟;颜勋;陈振;林永恒;陈应东;赵彦庆;冯登国;徐震;张敏;陈驰;景宁;熊伟;陈宏盛 | 申请(专利权)人: | 中国科学院地理科学与资源研究所;中国科学院软件研究所;中国人民解放军国防科学技术大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京科迪生专利代理有限责任公司 | 代理人: | 李新华;徐开翟 |
| 地址: | 100101北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据库 空间 几何 对象 存取 方法 | ||
1.一种向数据库存入空间几何对象值的方法,其特征在于:该方法包含如下步骤:
(1)创建包含几何列的数据库空间表;其中几何列的字段类型为数据库所定义的几何数据类型;
(2)接收以消息方式发送的空间几何对象实例,提取空间几何特征值并初始化几何列的行内指示器;所述步骤(2)具体为:空间数据库管理系统接收以结构化查询语言或编程访问接口方式发送的空间几何对象实例,从消息格式转换为空间数据库管理系统内部逻辑表达结构待处理;从空间几何对象实例中提取出与常规空间查询与分析操作密切相关的几何特征值集合A;初始化定位指针P,并联合几何特征值集合A,构成几何列的行内物化存储项{A,P},即几何列行内指示器;
(3)计算并为每一个空间几何对象赋空间排序码;
(4)写入几何列的行内指示器及其他行内数据;所述步骤(4)具体为:将空间几何对象从逻辑表达结构进一步转换为序列化存储结构,形成物理存储的序列化值;判断当前空间几何对象的序列化值采用几何列的行内或行外存储;根据空间几何对象序列化值的长度,更新行内指示器中标识空间几何对象序列化值长度的OBLen,并根据行内或行外存储、是否压缩填写存储标志flags,最后当采用行内存储时,联合行内序列化值一并写入空间表页面;
(5)采用空间几何对象的分块聚集索引方法写入几何列的行外数据;
(6)创建或更新空间索引;所述步骤(6)具体为:根据空间几何对象行内特征值之一的最小外包矩形,创建或更新空间索引,无需额外访问行外值。
2.如权利要求1所述的一种向数据库存入空间几何对象值的方法,其特征在于:所述步骤(3)计算并为每一个空间几何对象赋空间排序码,包含如下步骤:
(2.1)获取当前空间表的空间区域范围和四分深度,选取一种空间填充曲线算法对本表所属空间区域范围进行网格编码,使每一网格具有唯一码值;
(2.2)根据空间几何对象的空间分布特征,将基于空间填充曲线计算获得的网格编码进一步转换为对象编码,从而使每一个待存入的空间几何对象实例对应一个空间排序码值,用于后续建立空间几何对象的分块聚集索引。
3.如权利要求2所述的一种向数据库存入空间几何对象值的方法,其特征在于:所述步骤(2.2)中将网格编码进一步转换为对象编码的方法是:对于点状对象,若其落入某一个网格内,则其空间排序码为此网格编码;若其落在网格的边线上,则任取一个以该边线为边的网格编码;对于线状和面状对象,通过对象的最小外包矩形特征值快速概算其与网格的相交关系,若最小外包矩形完全落入某一网格内,则对象的空间排序码为此网格编码,若其占据了n个网格,其中n>1,则取所占网格数最多、最临近树底层的网格编码,并在其后补0,形成与叶子节点位数相同编码后,将其作为此对象的空间排序码。
4.如权利要求1所述的一种向数据库存入空间几何对象值的方法,其特征在于:所述步骤(4)中,根据给定几何列的行内阈值及空间几何特征来判定空间几何对象的序列化值采用行内或行外存储,即如果当前序列化值小于或等于给定的行内阈值,或对应空间点类型,则进行行内存储;当序列化值大于给定的行内阈值时,则将序列化值移出空间表。
5.如权利要求1所述的一种向数据库存入空间几何对象值的方法,其特征在于:所述步骤(5)采用空间几何对象的分块聚集索引方法写入几何列的行外数据,包含如下步骤:
(5.1)如果当前空间表的行外值存储结构未创建,则创建用于组织和存储行外值的、与空间表关联的二级表;如已创建,则直接进入以下第(5.2)步;
(5.2)将当前空间几何对象实例的序列化值分解为m个小于数据库页面大小的数据子块,其中m≥1,每一子块标识有权利要求1步骤(3)中所给出的空间排序码属性;
(5.3)循环写入每一个子块记录到二级表,并基于子块的空间排序码属性作为二级表的聚集键进行组织和存储,从而形成分块聚集索引组织表,实现对象内部和对象之间分块结构的空间邻近到物理聚集的映射。
6.一种向数据库读取空间几何对象值的方法,其特征在于:该方法包含如下步骤:
(a)根据空间操作类型和空间几何对象序列化值的存储类型,确定空间几何对象值的读取类型:
仅行内访问:对于只需要获取几何特征值的空间操作,或所需几何对象值为行内存储时,读取几何列指定空间几何对象实例的行内值,不再访问行外值;
延迟行外访问:对于需要行内几何特征值作概算的空间操作,采用延迟行外访问,即先读取几何列行内几何特征值作概算,判断其是否满足逻辑计算需求:如满足,则规避访问行外值来提高读取效率;如不满足,则再根据行内定位指针P访问行外值并实例化整个对象;
行内并行外访问:对于需要直接获取整体几何对象的操作,且对象本身长度超过行内阈值的,先读取几何列的行内值,再根据定位指针P进一步访问行外值;
(b)读取几何列指定空间几何对象实例的行内值;步骤(b)具体为:无论哪种类型的读取操作,都必须访问几何列的行内值,但如果读取为仅行内访问或延迟行外访问类型,则直接返回行内指示器和阈值内的序列化值;
(c)对于延迟行外访问且几何特征值概算不能满足逻辑计算需求,或行内并行外访问时,再读取该空间几何对象实例的行外值;所述步骤(c)具体为:根据当前几何列行内指示器的定位指针P找到行外二级表中匹配的所有聚集子块,读取这些子块,并对子块进行有序合并,从而还原出对象的整体序列化值返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院地理科学与资源研究所;中国科学院软件研究所;中国人民解放军国防科学技术大学,未经中国科学院地理科学与资源研究所;中国科学院软件研究所;中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910076928.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:无线通信装置及其相关方法
- 下一篇:一种计算机温度的控制方法及计算机





