一种基于电子海图的高效数据缓存处理方法技术

技术编号:24168727 阅读:19 留言:0更新日期:2020-05-16 02:15
本发明专利技术属于航海导航领域,尤其是一种基于电子海图的高效数据缓存处理方法,包括如下步骤:1、基于电子海图数据内容建立数据访问缓存区;2、在读取或更新电子海图时,检索数据访问缓存区中是否已存在此幅海图数据;3、如果检索到此幅海图数据,可对数据访问缓存区数据进行更新或读取,并更新数据访问缓存区中此幅电子海图数据的访问状态信息;4、如果未检索到此幅海图数据,检查数据访问缓存区空间是否存在余量;5、如果数据访问缓存区空间存在余量,则将此幅海图数据及访问状态存入数据访问缓存区中;6、如果数据访问缓存区空间余量不足,则需要依据可变的缓存清理算法将数据缓存区中不再经常使用的数据清理。

An efficient data caching method based on ECDIS

【技术实现步骤摘要】
一种基于电子海图的高效数据缓存处理方法
本专利技术属于航海导航领域,尤其是一种基于电子海图的高效数据缓存处理方法。
技术介绍
整个显示区域由多幅海图组成的情况下,绘制显示区域涉及到多幅海图选取、拼接、平滑移图等问题,由于硬盘读取速度较慢,打开和关闭海图数据文件,限制整体性能的提高。采用高效的数据缓存处理机制,解决打开海图数据文件耗时较多问题,将使用到的部分数据从海图数据文件缓存到内存,根据缓存项的访问情况自动调整缓存数据,提高数据读取的效率。
技术实现思路
本专利技术的目的在于弥补现有技术的不足,提供一种通过现有的硬件设备并结合电子海图数据解决显示区域内多幅电子海图的快速读取、漫游等问题,提高应用系统电子海图数据读取和处理速度的基于电子海图的高效数据缓存处理方法。本专利技术采取的技术方案是:一种基于电子海图的高效数据缓存处理方法,其特征在于:包括如下步骤:步骤1:基于电子海图数据内容建立数据访问缓存区,数据访问缓存区包括存储缓存区编号ID、电子海图数据内容、数据访问或更新次数、首次访问时间、最新访问时间;步骤2:在读取或更新电子海图时,检索数据访问缓存区中是否已存在此幅海图数据;步骤2.1:如果检索到此幅海图数据,可对数据访问缓存区数据进行更新或读取,并更新数据访问缓存区中此幅电子海图数据的访问或更新次数、最新访问时间;步骤2.2:如果未检索到此幅海图数据,检查数据访问缓存区空间是否存在余量;步骤2.2.1:如果数据访问缓存区空间存在余量,则将此幅海图数据存入数据访问缓存区中,并记录首次访问时间,更新据访问或更新次数;步骤2.2.2:如果数据访问缓存区空间余量不足,则需要依据可变的缓存清理算法将数据缓存区中不再经常使用的数据清理;进一步的,所述步骤2.2.2中的可变的缓存清理算法是指判断数据缓存区数据不再经常使用,可暂时被移除的依据,可根据硬件系统配置进行设计。进一步的,所述可变的缓存清理算法的判断条件,包括但不限于a)访问次数:对数据缓存区中所有的缓存项按照访问或更新次数进行排序,清理所有访问或更新次数低于阈值的缓存项。b)最后访问时间:对数据缓存区中所有的缓存项按照最新访问时间进行排序,清理所有访问时间早于阈值的缓存项。c)平均访问周期:根据当前时间计算出缓存项的平均命中周期平均命中周期并排序,清理所有平均命中周期高于阈值的缓存项,计算公式为:平均命中周期=(当前时间-首次更新时间)/访问或更新次数。d)首次访问时间:如果前三种算法都未生效,则对数据缓存区中所有的缓存项按照首次访问时间进行排序,清理首次访问时间最早的那一项。本专利技术的优点和积极效果是:本专利技术中,基于本地数据建立访问缓存区,即可对已有的电子海图进行读取,还可写入新的海图对缓存区进行更新,如在更新过程中缓存区余量发生不足,则可通过可变的缓存清理算法对已有数据通过不同的判断条件设置优先等级进行清除,并更新新的缓存数据。进而解决显示区域内多幅电子海图的快速读取、漫游等问题,提高应用系统电子海图数据读取和处理速度。附图说明图1是本专利技术的数据缓存区读取及更新总体流程图。具体实施方式下面结合实施例,对本专利技术进一步说明,下述实施例是说明性的,不是限定性的,不能以下述实施例来限定本专利技术的保护范围。本专利技术采取的技术方案是:一种基于电子海图的高效数据缓存处理方法,本专利技术的创新在于,包括如下步骤:步骤1:基于电子海图数据内容建立数据访问缓存区,数据访问缓存区包括存储缓存区编号ID、电子海图数据内容、数据访问或更新次数、首次访问时间、最新访问时间;在本实施例中系统电子海图数据库(SENC)已包含中国海区500余幅电子海图数据,设置数据访问缓存区大小为20M。步骤2:在读取或更新电子海图时,检索数据访问缓存区中是否已存在此幅海图数据;步骤2.1:如果检索到此幅海图数据,可对数据访问缓存区数据进行更新或读取,并更新数据访问缓存区中此幅电子海图数据的访问或更新次数、最新访问时间;步骤2.2:如果未检索到此幅海图数据,检查数据访问缓存区空间是否存在余量;步骤2.2.1:如果数据访问缓存区空间存在余量,则将此幅海图数据存入数据访问缓存区中,并记录首次访问时间,更新据访问或更新次数;步骤2.2.2:如果数据访问缓存区空间余量不足,则需要依据可变的缓存清理算法将数据缓存区中不再经常使用的数据清理;所述步骤2.2.2中的可变的缓存清理算法是指判断数据缓存区数据不再经常使用,可暂时被移除的依据,可根据硬件系统配置进行设计。在本实施例中依次选择读取系统电子海图数据库中的电子海图,对于首次访问读取的电子海图,则加入数据访问缓存区中,并设置此幅电子海图数据的访问或更新次数为1,最新访问时间为当前时间;对于重复读取的电子海图,在数据访问缓存区检索得到此幅电子海图数据,递增并刷新此幅电子海图数据的访问或更新次数,更新最新访问时间为当前时间;当首次访问某电子海图数据时数据访问缓存区空间已接近20M且余量不足,依据可变的缓存清理算法清理数据缓存区中不再经常使用的数据。本实施例中,所述可变的缓存清理算法的判断条件,包括但不限于如下条件。a)访问次数:对数据缓存区中所有的缓存项按照访问或更新次数进行排序,清理所有访问或更新次数低于阈值的缓存项。在本实施例中访问次数阈值设置为30次。b)最后访问时间:对数据缓存区中所有的缓存项按照最新访问时间进行排序,清理所有访问时间早于阈值的缓存项。在本实施例中最后访问时间阈值设置为当前时间向前推算12小时。c)平均访问周期:根据当前时间计算出缓存项的平均访问周期周期并排序,清理所有平均访问周期高于阈值的缓存项,计算公式为:平均访问周期=(当前时间-首次访问时间)/访问或更新次数。在本实施例中平均访问周期阈值设置为12小时。d)首次访问时间:如果前三种算法都未生效,则对数据缓存区中所有的缓存项按照首次访问时间进行排序,清理首次访问时间最早的那一项。本文档来自技高网...

【技术保护点】
1.一种基于电子海图的高效数据缓存处理方法,其特征在于:包括如下步骤:/n步骤1:基于电子海图数据内容建立数据访问缓存区,数据访问缓存区包括存储缓存区编号ID、电子海图数据内容、数据访问或更新次数、首次访问时间、最新访问时间;/n步骤2:在读取或更新电子海图时,检索数据访问缓存区中是否已存在此幅海图数据;/n步骤2.1:如果检索到此幅海图数据,可对数据访问缓存区数据进行更新或读取,并更新数据访问缓存区中此幅电子海图数据的访问或更新次数、最新访问时间;/n步骤2.2:如果未检索到此幅海图数据,检查数据访问缓存区空间是否存在余量;/n步骤2.2.1:如果数据访问缓存区空间存在余量,则将此幅海图数据存入数据访问缓存区中,并记录首次访问时间,更新据访问或更新次数;/n步骤2.2.2:如果数据访问缓存区空间余量不足,则需要依据可变的缓存清理算法将数据缓存区中不再经常使用的数据清理;/n

【技术特征摘要】
1.一种基于电子海图的高效数据缓存处理方法,其特征在于:包括如下步骤:
步骤1:基于电子海图数据内容建立数据访问缓存区,数据访问缓存区包括存储缓存区编号ID、电子海图数据内容、数据访问或更新次数、首次访问时间、最新访问时间;
步骤2:在读取或更新电子海图时,检索数据访问缓存区中是否已存在此幅海图数据;
步骤2.1:如果检索到此幅海图数据,可对数据访问缓存区数据进行更新或读取,并更新数据访问缓存区中此幅电子海图数据的访问或更新次数、最新访问时间;
步骤2.2:如果未检索到此幅海图数据,检查数据访问缓存区空间是否存在余量;
步骤2.2.1:如果数据访问缓存区空间存在余量,则将此幅海图数据存入数据访问缓存区中,并记录首次访问时间,更新据访问或更新次数;
步骤2.2.2:如果数据访问缓存区空间余量不足,则需要依据可变的缓存清理算法将数据缓存区中不再经常使用的数据清理;


2.根据权利要求1所述的一种...

【专利技术属性】
技术研发人员:张晶晶宋晔赵燕董金发赵娜邓丽辉
申请(专利权)人:中国船舶重工集团公司第七零七研究所
类型:发明
国别省市:天津;12

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

1