基于聚类分块的只读兴趣点数据库压缩存储方法技术

技术编号:2824968 阅读:251 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于聚类分块的只读兴趣点数据库压缩存储方法,包括步骤:(1)将兴趣点记录按照省市区和类别进行聚类;(2)将同一类中的记录按照经度坐标-纬度坐标-电话进行升序排列;(3)通过一定的策略将多条记录组合成一个记录块;(4)在块内对记录中不同的属性采用不同的压缩技术进行压缩。(5)以块内最后一条记录的ID作为块ID,将记录块作为整体进行存储。本发明专利技术针对只读兴趣点数据库的特点,引入了多种压缩技术,提高了空间利用率,额外开销较小,特别适合于POI的检索。

【技术实现步骤摘要】

本专利技术涉及一种面向导航终端的基于聚类分块的只读兴趣点数据库压缩存储方法,属于智能交通领域的导航系统范畴。
技术介绍
在导航电子地图中,包含着大量的兴趣点(POI,Point Of Interest)信息,例如公共设施、风景区、娱乐场所等等,以帮助驾驶者轻松找到目的地,并在行进过程中给予直观、精确的提示。用户对导航产品的满意程度,有相当部分取决于导航电子地图中POI信息的丰富程度。在车载导航发展最早、技术最先进的日本.导航电子地图中POI为1200万条,目前我国电子地图中POI达到500万条,预测将来至少要达到2000万。POI信息一般包括以下几个属性:类别、所属省市区、名称、地址、电话、经度、纬度,前两者一般用来创建索引,其它属性均需作为数据保存到数据库中。早期的数据库压缩大多数是以属性列为压缩粒度,采用一些经典的无损压缩算法如字典压缩、哈夫曼编码等通用算法进行压缩。这种压缩方法的缺点是不考虑数据库中数据的结构性,将数据库以数据流的形式进行压缩,压缩率不高。直到近几年,对数据库压缩方法的研究才转向数据库专用压缩方法的研究,目前已出现的成果有:(1)面向块的增量压缩方法(Wee K.NG,Chinya V.Ravishankar.Relational databasecompression using augmented vector quantization[C].In Proc.Of ICDE,pages 540-549,1995)。该方法将数据库数据分块,每个块中序号居中的元组为代表元组,块内其他元组可以用代表元组加增量的方式表示。其压缩方法是对块内的元组用矢量量化的方法进行量化,压缩时用由矢量量化产生的编码和每个元组与其代表元组的增量共同组成的有序对来压缩元组,进而实现数据库的压缩。面向块的增量压缩方法的优点是能够有效压缩数据库并能够执行压缩数据库的查询操作,缺点是对于字符串也需要进行量化,因此只适用于元组包含小范围枚举型字符串和数值的情况。(2)保序压缩技术(Gennady Antoshenkov,David B.Lomet,James Murray.Order preservingstring compression[J].In Proc.OfICDE,pages 655-663,1996)。该方法最初是采用压缩字典编码对数据库的多个字符串属性值进行压缩。它将字符串拆分为多个小字符串,利用变长的字典-->编码法对这些小字符串压缩,其拆分的方法依赖于编码字典的编码顺序,而与编码字典具有相同顺序的序号编码表则保证了保序的实现。由于保序压缩简单易于实现,随后许多通用编码方式如哈夫曼编码、算术编码都被应用到保序压缩技术中。其优点在于易于实现,缺点是压缩率不高,且只适用于多个字符串的情况。(3)基于语义的压缩技术(Shivnath Babu,Minos N.Garofaiakis,Rajeev Rastogi.Spartan:Amodel-based semantic compression system for massive data tables([J].In SIGMOD,2001))。这是一种利用属性的语义和数据挖掘模型来实现压缩的方法。该方法利用可预见的数据关系和为个别属性指定的容错方式来为整个数据表的所有行构建分类衰退树模型,压缩时选择属性集的一个特定子集,该子集中没有已经压缩过的值,而衰退树则采用一定的学习方法和组合优化算法来对这些值进行预计,并产生预计结果,即压缩值。通过不断更新衰退树的属性集子集来实现整个数据库的压缩。其可预见的数据关系是基于属性语义的关系,而数据挖掘则应用在衰退树的预见运算中。基于语义的压缩技术是有损的数据库压缩方法,由于利用了属性的语义,在衰退树进行压缩前需要首先分析属性字段的语义信息,因而该压缩方法复杂而不易实现,且压缩率也不高。(4)海量关系拆分压缩技术(骆吉洲,李建中,一种有效的关系数据库压缩方法,软件学报,16(2),2005:205-214)。这种方法是针对目前不断出现的海量关系数据库提出的一种专用压缩方法。该方法从海量关系数据库中分离出小值域属性组,将海量关系拆分,然后对小值域属性组所在的新关系进行压缩。压缩时需要先估计拆分压缩的压缩比,如果压缩比合理则进行拆分压缩,否则放弃拆分压缩。海量关系拆分压缩技术对海量数据库的压缩及二次压缩有较好的效果,但是由于小值域属性组的识别问题的NP完全性,使得拆分压缩复杂,代价过大,并且只适用于小值域的属性。而对于面向导航的POI数据库,一般具有以下几个特点:同一省市区的经纬度和电话在一个有限的范围内离散分布。同一类别下不同POI的名称虽大多具有唯一性,但某些常用词重复比例较高,比如公司类别的POI名称里一般都含有公司这个词。同一省市区下不同POI的地址中含有重复前缀字符串的比例较高。由于POI信息具有较长时间的稳定性,所以一般专用于检索,不存在删除和修改的情况。并且POI一般需要按省市区和类别检索,以及按名称检索,对于中文名称还需要分词建立索引。考虑到以上因素,目前还没有一种现存的方法适合于面向导航的POI数据库的压缩。
技术实现思路
本专利技术所要解决的技术问题:克服现有技术的不足,提供一种基于聚类分块的只读兴趣-->点数据库压缩存储方法,该方法有效的提高了空间利用率,并且使得解压缩的范围仅限于块内,额外开销较小,特别适合于POI的检索。本专利技术的技术解决方案:基于聚类分块的只读兴趣点数据库压缩存储方法,由以下步骤实现:(1)将兴趣点POI记录按照省市区和类别进行聚类;(2)将同一类中的POI记录按照经度坐标-纬度坐标-电话进行升序排列;(3)将多条POI记录组合成一个记录块;(4)在所述的记录块内对POI记录中各个域采用不同的压缩方法进行压缩;(5)以所述的记录块内最后一条POI记录的ID作为块ID,将压缩后的记录块作为整体进行存储。所述的步骤(3)将多条记录组合成一个记录块的方法为:以一个磁盘块大小为限值,将同一类中所有的兴趣点记录按照所占的存储空间大小进行分块,使得每一块容量不大于该限值。所述步骤(4)在记录块内对POI记录中不同的域采用不同的压缩方法包括:对于数值型的属性-经纬度坐标和电话号码使用差值压缩,即除第一条记录外,后续记录的经度坐标,纬度坐标和电话号码存储的是与上一条记录的差值,所述的差值长度不固定,需通过标识位来识别,所述的电话号码可能没有,需通过标识位来识别。差值压缩具体实现方法如下:(1)首先将本文档来自技高网
...

【技术保护点】
基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于由以下步骤实现:(1)将兴趣点POI记录按照省市区和类别进行聚类;(2)将同一类中的POI记录按照经度坐标-纬度坐标-电话进行升序排列;(3)将多条POI记录组合成一个记录块;(4)在所述的记录块内对POI记录中各个域采用不同的压缩方法进行压缩;(5)以所述的记录块内最后一条POI记录的ID作为块ID,将压缩后的记录块作为整体进行存储。

【技术特征摘要】
1、基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于由以下步骤实现:
(1)将兴趣点POI记录按照省市区和类别进行聚类;
(2)将同一类中的POI记录按照经度坐标-纬度坐标-电话进行升序排列;
(3)将多条POI记录组合成一个记录块;
(4)在所述的记录块内对POI记录中各个域采用不同的压缩方法进行压缩;
(5)以所述的记录块内最后一条POI记录的ID作为块ID,将压缩后的记录块作为整体
进行存储。
2、根据权利要求1所述的基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于:
所述的步骤(3)将多条记录组合成一个记录块的方法为:
以一个磁盘块大小为限值,将同一类中所有的兴趣点记录按照所占的存储空间大小进行分块,
使得每一块容量不大于该限值。
3、根据权利要求1所述的基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于:
所述步骤(4)在记录块内对POI记录中不同的域采用不同的压缩方法包括:对于数值型的属
性-经纬度坐标和电话号码使用差值压缩,即除第一条记录外,后续记录的经度坐标,纬度
坐标和电话号码存储的是与上一条记录的差值。
4、根据权利要求3所述的基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于:
所述的差值长度不固定,需通过标识位来识别。
5、根据权利要求3所述的基于聚类分块的只读兴趣点数据库压缩存储方法,其特征在于:...

【专利技术属性】
技术研发人员:康建初刘鹏诸彤宇黄坚
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利