用于高频交互环境的网络地图请求快速响应方法

文档序号:9349990阅读:369来源:国知局
用于高频交互环境的网络地图请求快速响应方法
【技术领域】
[0001]本发明涉及高性能空间计算技术,尤其涉及一种用于高频交互环境的网络地图请求快速响应方法。
【背景技术】
[0002]高频交互环境下网络地图请求的快速响应是WebGIS中需要解决的难题之一,尤其是在低宽带网络环境下,网络地图请求的响应速度直接影响在浏览器中进行地图浏览操作的用户体验。目前主流浏览器对同一域名下的地图图像并发请求数都有限制,为了提高地图图像并发请求数,减少网络地图请求响应时间,谷歌、百度、天地图等地图服务提供商均使用了 8个域名来增加浏览器的并发请求数,但在高频交互环境下,大量的网络地图图像请求仍然不能得到快速的响应,尤其是在低带宽网络环境中,页面响应时间会更长,难以满足用户的需求,大量无效的网络地图请求被发送给服务器端,浪费了宝贵的带宽资源;另一方面,增加域名不仅会增加网络地图客户端实现的复杂度,而且成本高、维护困难,访问多个域名还会额外增加域名解析的时间开销。

【发明内容】

[0003]本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种用于高频交互环境的网络地图请求快速响应方法。
[0004]本发明解决其技术问题所采用的技术方案是:一种用于高频交互环境的网络地图请求快速响应方法,包括以下步骤:
[0005]步骤I)初始化浏览器地图显示窗口,设置网络地图窗口的像素高度和像素宽度;
[0006]步骤2)获取浏览器的最大网络连接数c ;
[0007]步骤3)创建并启动c个网络地图请求队列处理线程;
[0008]步骤4)根据网络地图窗口的像素高度和像素宽度,计算网络地图窗口内需要渲染的地图图像个数t;
[0009]步骤5)创建网络地图请求队列;
[0010]步骤6)循环创建网络地图图像控件,使用空白图像进行渲染;
[0011]步骤7)设置网络地图图像的status属性为未加载状态;
[0012]步骤8)判断网络地图请求队列的长度是否小于t,如果是,则将网络地图请求加入到网络地图请求队列的末尾;如果否,删除网络地图请求队列中的第一项,再将网络地图请求加入到网络地图请求队列的末尾;
[0013]步骤9)网络地图请求队列处理线程循环计算网络地图请求队列中处于加载状态的网络地图请求数U,判断U是否小于C,如果是,则进入步骤10);如果否,则重复步骤9)重新计算u ;
[0014]步骤10)从网络地图请求队列中选择一个未加载的网络地图请求;
[0015]步骤11)设置选择的网络地图请求的状态为加载状态;
[0016]步骤12)发送网络地图图像请求;
[0017]步骤13)请求完成,设置网络地图图像状态为已加载状态,并显示地图图像。
[0018]按上述方案,所述网络地图窗口内需要清染的地图图像个数t,t = (w/pw+1).(h/ph+1);
[0019]其中,h为网络地图窗口的像素高度,w为网络地图窗口的像素宽度,ph为单个地图图像的像素高度,Pw为单个地图图像的像素宽度。
[0020]按上述方案,所述步骤10)中选择状态为未加载的网络地图请求为按顺序选择。
[0021]本发明产生的有益效果是:本发明方法能够控制网络地图请求的数量,自动的剔除无效的网络地图请求,实现高频交互环境下网络地图请求的快速响应,节约宝贵的带宽资源,为支持高并发的网络地图服务性能提升提供技术支持,尤其是有助于提升低带宽网络环境下网络地图服务的快速响应能力。
【附图说明】
[0022]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0023]图1是本发明实施例的方法流程图;
[0024]图2是本发明以Chrome浏览器中网络地图请求快速响应为例的方法流程图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0026]如图1所示,一种高频交互环境下网络地图请求快速响应方法,包括以下步骤:
[0027]步骤I)初始化浏览器地图显示窗口,设置网络地图可视化窗口的像素高度h和像素宽度w ;
[0028]步骤2)获取浏览器的最大网络连接数c ;
[0029]步骤3)调用javascript中的setlnterval函数创建并启动c个网络地图请求队列处理线程;
[0030]步骤4)根据w、h和单个地图图像的像素高度ph和像素宽度pw计算地图窗口内需要清染的地图图像个数⑴,其中t = (w/pw+1).(h/ph+1);
[0031]步骤5)利用Array类新建一个数组对象,创建网络地图请求队列;
[0032]步骤6)循环创建网络地图图像控件,使用空白图像对其进行渲染;
[0033]步骤7)设置网络地图图像的status属性为未加载(unload)状态;
[0034]步骤8)判断网络地图请求队列的长度是否小于t,如果是,则将网络地图请求加入到网络地图请求队列中;如果否,则进入步骤9);
[0035]步骤9)删除网络地图请求队列中的第一项,再将网络地图请求加入到网络地图请求队列中的末尾;
[0036]步骤10)网络地图请求队列处理线程循环计算网络地图请求队列中处于加载状态(即status属性为loading)的网络地图请求数(U),判断u是否小于C,如果是,则进入步骤11);如果否,则重复步骤10)重新计算u ;
[0037]步骤11)从网络地图请求队列中选择一个status属性为unload的网络地图请求;
[0038]步骤12)设置选择的网络地图请求的status属性为加载(loading)状态;
[0039]步骤13)发送网络地图图像请求;
[0040]步骤14)请求完成,设置网络地图图像的status属性为已加载(loaded)状态,并显示地图图像,当所有网络地图图像的status属性均为loaded时,网络地图请求处理结束。
[0041]本发明最明显的优点在于通过步骤8至步骤11,能够控制高频交互环境下网络地图请求的数量,在高频交互时自动剔除无效的网络地图请求,实现高频交互环境下网络地图请求的快速响应,且有助于在低带宽网络环境下节约宝贵的带宽资源。
[0042]实施例一:
[0043]为了更清晰地说明本发明的思想,下面结合附图2以Chrome浏览器中网络地图请求的快速响
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1