[发明专利]基于并发控制和双缓存技术的移动GIS切片地图展现方法有效
| 申请号: | 201310387034.6 | 申请日: | 2013-08-30 |
| 公开(公告)号: | CN103473732A | 公开(公告)日: | 2013-12-25 |
| 发明(设计)人: | 曹海涛 | 申请(专利权)人: | 国家电网公司;南京南瑞集团公司;国网电力科学研究院 |
| 主分类号: | G06T1/00 | 分类号: | G06T1/00;H04L29/08 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林;汪庆朋 |
| 地址: | 100031 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 并发 控制 缓存 技术 移动 gis 切片 地图 展现 方法 | ||
1. 基于并发控制和双缓存技术的移动GIS切片地图展现方法,其特征在于,包括:
(1)计算出当前地图界面所包含的信息;通过切片计算器根据地理范围和几何关系计算出当前地图界面所包含的切片信息,并保存在可复用的动态二维数组中;
(2)下载切片;通过切片下载控制器使用并发控制技术根据二维数组中获取的切片信息从地图服务器上下载切片,并保存至本地;
(3)显示地图界面;通过切片加载器使用双缓存技术从本地获取切片并将切片展现在地图界面上。
2. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(1)中,所述切片计算器根据切片尺寸、屏幕尺寸、屏幕地理范围等信息通过几何关系循环计算切片的编号、切片的左上角坐标。
3. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(1)中,将切片信息保存在可复用的动态二维数组中,并且数组中的对象是可复用的。
4. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(2)中,切片下载控制器下载切片的方法步骤如下:
(Ⅰ) 设置并发下载的最大切片个数maxConcurrentTileCount,获取当前界面上包含的切片总个数tileCount;
(Ⅱ) 通过切片下载控制器的download接口添加切片下载请求对象,用Hash表保存切片请求,判断当前添加的切片下载请求对象个数是否等于tileCount-1;
若相等,则表示当前界面上的切片都已经添加到下载队列时,执行步骤(Ⅲ),执行完成后继续执行步骤(Ⅱ);
若当前添加的切片下载请求对象个数大于等于tileCount表示是用户的下一次地图操作,则清空Hash表值,并将当前添加的切片下载请求的个数currentRequestCount赋值为0;最后,将切片下载请求对象添加到Hash表,并将当前添加的切片下载请求对象个数赋值为currentRequestCount+1;
(Ⅲ)、判断是否是第一次执行切片下载,如果是则开启maxConcurrentTileCount个切片下载线程线程,否则唤醒正在等待下载的所有切片下载线程继续执行;
(Ⅵ)设置一个切片下载线程,该线程内部包含一个无限循环,在循环内部判断Hash表中是否还有未处理的请求,如果没有则说明当前地图的绘制工作已经完成,此时让下载线程等待,否则从Hash表中取出一个未处理的请求,执行具体的切片下载工作。
5. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述切片下载控制器当无下载请求时让下载线程处于等待状态,当有下载请求时唤醒等待的线程。
6. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(3)中,所述切片加载器是将与用户最近操作相关的有限个切片存放在内存缓存中。
7. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(3)中,所述切片加载器是将下载的切片存放在文件缓存中。
8. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述步骤(3)中,切片加载器是先从内存缓存,再从文件缓存,最后从地图服务器中获取切片,避免切片的重复加载。
9. 根据权利要求1所述的移动GIS切片地图展现方法,其特征在于,所述切片加载器在每一次切片下载完成后就开始重绘地图,而不需要等到所有切片下载完成再重绘地图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;南京南瑞集团公司;国网电力科学研究院,未经国家电网公司;南京南瑞集团公司;国网电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310387034.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:图像增强方法
- 下一篇:一种推广主要慢性病教育与自我管理教育的方法





