[发明专利]一种基于移动平台的三维虚拟地球的系统架构有效

专利信息
申请号: 201710747596.5 申请日: 2017-08-28
公开(公告)号: CN107479898B 公开(公告)日: 2020-10-27
发明(设计)人: 扆冰礼 申请(专利权)人: 荆门程远电子科技有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F8/38;G06F8/20
代理公司: 暂无信息 代理人: 暂无信息
地址: 448000 湖北省荆门市掇刀区*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 移动 平台 三维 虚拟 地球 系统 架构
【权利要求书】:

1.一种基于移动平台的三维虚拟地球的系统架构,其特征在于,基于移动终端多个操作系统的特性,包括移动设备跨平台设计、高内聚低耦合性设计、多线程的系统框架设计,实现地理数据获取、处理、加载调度、渲染过程,将数据下载、数据处理、调度更新、渲染模型并行进行;

移动设备跨平台设计采用C语言编程环境,并采用UI与底层核心分离的设计,UI使用系统特有语言进行与用户操作相关的开发,底层采用C语言封装Opengl ES的方式构建核心类库与接口;

UI与底层核心分离的情况下,UI将系统硬件设备、设备上下文、图像像素参数封装传入底层核心,借助EGL类实现UI与底层渲染API的统一,实现系统渲染的上下文自动适应感知;

高内聚低耦合性设计:依据UI与底层核心类分开设计,底层核心的各个模块分别响应UI的不同事件,核心类各模块之间相互独立;纵向上利用分层的架构将系统的应用层、核心层、底层区分开来,应用层包括GPS定位、驾车路线查询、POI标注、对象拾取,核心层包括数据集成模块、服务集成模块、数据调度引擎、三维渲染引擎,底层包括纹理管理模块、几何管理模块、Opengl ES,系统不同层级之间各自实现相应的逻辑功能,层级之间相互依赖,但是相同层级模块相互独立;横向上按照系统功能划分各个子系统来实现横向上的低耦合,系统模块的划分严格按照功能实现来构建,功能之间相互独立,单一模块只负责一项任务实现;

移动三维虚拟地球系统实现地理数据的获取、集成、展现功能,也满足用户信息查询、位置导航的特殊应用,高内聚低耦合性设计在纵向上,将移动三维虚拟地球划分成三个层次,应用层封装用户基于GIS系统的基本运用,在核心层的基础上构建应用逻辑业务,核心层是对GIS算法的封装,处理应用层的数据请求和信息加载操作,并将结果传递给应用层和底层,底层是对数据和Opengl ES的封装,核心层分析的结果将通过底层组织传递到渲染管线,实现数据的三维空间展示;在横向上,将三维虚拟地球系统按照需要实现的功能分为系统配置模块、下载缓存模块、集成调度模块、信息查询模块、导航定位模块,下载缓存模块负责多源异构地理数据的获取与存储,集成调度模块负责异构地理数据的集成和加载调度,信息查询模块负责地理信息的查询与反馈,导航定位模块负责移动设备实时定位与导航,各个功能模块之间相互独立;

多线程的系统框架设计:多线程设计在单一进程中开启多个线程,不同线程之间同时执行系统任务且互不干扰,系统整体由程序主线程派生,其中UI操作、窗体、界面基本功能在主线程中完成,用户触控交互地理数据按照需要的范围进行展示、更新,由主线程中派生出渲染线程和更新线程,其中更新线程负责数据的更新组织和内存加载,渲染线程负责地理数据的三维渲染,更新线程频繁的进行数据加载请求时从程序主线程中派生出多个下载线程来同步执行下载任务,系统多线程框架中更新线程和渲染线程各一个,下载线程按照用户加载异构数据的类型的数量需求开启相应的个数;

程序启动首先将加载全球视野范围内粗精度的地理数据,此时更新线程和渲染线程同步开启,更新线程将首先组建虚拟地球模型的几何坐标点并请求全球范围内粗精度的影像、地形、地名图层信息,按照异构数据集不同类型的个数,同步开启相应个数的下载线程,并构建下载任务和下载队列;

基于移动平台的三维虚拟地球的多线程系统框架具体流程分为五个主流程,五个主流程分别为系统主线程、渲染线程、下载线程、UI事件监听线程、更新线程;

流程一,基于移动平台的三维虚拟地球系统运行后,一是开启渲染线程和更新线程,二是读取服务配置文件,三是开启相应数量的下载线程,四是构建数据图层,五是组建逻辑四叉树调度瓦片,六是构建瓦片几何请求瓦片对应的影像数据,七是判断影像数据是否在缓存里,如果是,进入流程二,通过渲染线程进行数据渲染,如果否,通过下载线程将数据加入下载队列并运行下载队列;

流程二,渲染线程进行数据渲染;

流程三,下载线程运行下载队列,获取与存储多源异构地理数据;

流程四,UI事件监听,判断用户两次输入值是否超过阈值,如果是,改变当前视口,进入流程五的更新线程,如果否,不做响应;

流程五,更新线程首先创建当前视口上的子瓦片,然后子瓦片进行数据加载,再然后是子瓦片纹理几何数据组织和预编译,最后加入到流程二中进行数据渲染;

多线程系统架构中移动三维虚拟地球各模块同步并行,通过设定线程优先级来实现线程之间的片元时间分配,不同的线程同步机制实现线程之间资源共享;

同一进程中的不同线程在运行过程中CPU将自动为各线程分配时间片,线程在各自的时间片内独立运行,CPU将按照线程之间的关系按轮询或者抢占来自动分配各线程运行时间片的大小;移动三维虚拟地球系统主线程、更新线程、渲染线程、下载线程并行且始终运行,这几类线程属性设置为Linux线程调度策略中的循环线程,使得线程能够在程序进程过程中始终运行且线程的时间片元分配受线程优先级的控制;其中UI线程、渲染线程、更新线程、下载线程的优先级分别决定了用户的交互响应速度、渲染的帧率、数据更新的速度、数据获取的速度,UI主线程的优先级将高于渲染线程,渲染线程将高于更新线程,更新线程将高于下载线程,各下载线程优先级相同;

各线程通过设定优先级来使得CPU为其分配片元时间,多线程设计中系统在同一时刻只能有一个线程访问,移动三维虚拟地球系统中数据的获取、更新、渲染分属于不同的线程,系统按照不同功能的实现选定特定的互斥操作,移动终端操作系统的线程同步机制包括互斥锁、条件变量、信号量,多线程设计中,数据的获取与更新分别属于相同数据的读写操作,采用读写互斥锁进行线程同步实现写操作互斥读操作,读操作之间将共享某一区域数据并同时访问;数据的更新与绘制操作分别在不同线程中独立的组织和渲染,采用信号量或者条件互斥的方式能够使得数据更新完毕以后再进入渲染线程,需要加载的数据在两个线程之间实现线程同步。

2.根据权利要求1所述的一种基于移动平台的三维虚拟地球的系统架构,其特征在于,互斥锁机制将一部分程序代码锁定,使得同一时刻只允许一个线程执行一类关键代码;条件变量机制利用线程间的全局变量实现线程同步,按条件控制线程挂起、触发、等待;信号量机制通过控制原子变量的增减来智能的判断线程阻塞与开启。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于荆门程远电子科技有限公司,未经荆门程远电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710747596.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top