APP下载

卫星导航软件开发架构研究与设计

2019-06-11郝志刚

电子技术与软件工程 2019年7期
关键词:浏览器分布式架构

文/郝志刚

1 引言

目前,社会已经进入到了“互联网+”时代,分布式管理系统已经在许多领域得到普及和应用,这些应用软件覆盖了电子商务、交通物流、电子政务、酒店旅游、金融证券、工业制造、科研教育等领域,取得了显著的应用成效,大幅度提高了社会信息化水平。我国研发的北斗卫星导航系统已经上线运用,因此卫星导航软件也成为分布式管理系统的重要应用领域之一,目前许多软件公司研发了卫星导航软件,比如高德地图、百度地图、滴滴打车、网格监控系统等,这些软件都使用了卫星导航功能,并且可以安装和部署于不同的设备,比如智能手机设备和PC电脑设备等。卫星导航软件功能多、数据处理流程复杂,并且要拥有较强的普适性,因此需要选择一个较好的软件架构,以便能够实现先进的数据处理功能。目前,卫星导航软件主流开发架构包括两个,分别是C/S体系架构、B/S体系架构,但是随着数据处理速度和并发接入的要求提高,又提出了云计算架构,以便能够整合软件业务信息流、数据流和业务流,实现软件的可扩展、可维护和可移植,具有重要的作用和意义。

2 卫星导航软件开发架构应用现状研究

卫星导航软件开发经过多年的实践和研究,已经诞生了很多种,从最原始的模块化结构发展到了当前的分布式管理架构,本文重点介绍C/S体系架构和B/S体系架构。

2.1 C/S体系架构应用现状

图1:C/S体系架构业务处理流程

图2:B/S体系架构业务处理流程

图3:新型卫星导航软件架构

卫星导航软件需要实现网络通信功能,因此最早引入的软件架构就是C/S体系架构,这个架构开发的卫星导航软件包括两个关键组成部分,分别是客户机(Client)和服务器(Service)。客户机位于客户端,比如可以安装在用户的笔记本电脑和PC机上,需要从服务器下载一个卫星导航软件安装包,然后安装在PC机上。安装完成之后就可以登录,为用户提供一个操作便捷的交互界面,用户输入逻辑业务请求,比如目标定位或搜索等,这些逻辑业务请求可以通过网络传输给服务器。服务器接收到客户机的逻辑业务请求之后,就可以将这些数据解析出来,将处理结果封装在一起发送给客户机。C/S体系架构业务处理流程如图1所示。

C/S体系架构在应用过程中,由于其需要安装一个客户端程序,一般的卫星导航软件功能比较复杂,因此安装过程需要专业的计算机人才,这样才可以通过调试运行形成一个精美化的运行界面。但是,由于许多用户没有经过专业的训练,因此不利于安装一个应用软件,亟需改进降低用户端的应用程序安装工作。经过软件工程师和计算机研究学者多年的努力,提出了B/S体系架构。

2.2 B/S体系架构

B/S体系架构改进了C/S体系架构的不足,其将卫星导航软件划分为三个层次,分别是浏览器层、Web服务层和数据层,这种架构的软件又被称为轻型浏览器。卫星导航软件利用B/S体系架构开发,不需要安装任何应用程序,只需要通过浏览器登录Web服务器即可,浏览器利用XML技术生成一个表单,表单可以让用户输入逻辑业务请求,然后通过超文本链接将其发送到Web服务器。Web服务器可以解析浏览器发送的逻辑业务请求,如果这个逻辑业务请求仅仅需要一些Web业务处理,就直接进行Web服务操作,然后将结果反馈给浏览器;如果逻辑业务请求存在数据请求,比如数据插入、数据查询、数据删除、数据修改等,此时就需要将这个请求解析出来发送给数据层。数据层由数据库管理系统和数据库组成,数据库管理系统可以识别和分析数据请求内容,按照用户的请求执行数据操作,同时将操作结果反馈给Web服务器。B/S体系架构每一层之间可以通过接口进行数据通信,传输各类型的通信数据,如果某一层发生改变,其余层也不需要改变,可以完成数据部署和软件升级。分布式管理系统可以为用户提供较强的交互服务。B/S体系架构经过多年的发展,已经得到了极大的改进和普及,目前已经引入了先进的HTML5技术、JSP技术、ASP .NET技术,基于XML技术实现数据信息交互操作,最大化利用Web服务器和数据库服务器资源。如图2所示。

3 新型卫星导航软件开发架构设计

随着人工智能、机器学习、移动通信、移动设备等新型软硬件技术的诞生,未来卫星导航软件架构需要向云端化、轻量级、高并发等方向发展,比如基于云计算构建一个高并发和云端化架构。云计算作为当前最为先进的计算机服务技术,其采用了矩阵技术将分布于网络的终端服务器集成在一起,形成了一个按需分配、并发接入、矩阵处理的系统架构模式,基于云的分布式管理架构拥有很多的优势,这些优势能够有效提升分布式管理系统的可移植性和可维护管理功能。轻量级也是架构发展的一个方向,轻量级是为了适应移动设备和移动通信的架构,实现线程化处理,为用户提供一个强大的接入服务。新型卫星导航软件采用先进的物联网技术,包括ZigBee协议、Wi-Fi协议等,将传感器采集到的数据发送给云平台中心,实现数据的分析和处理,进一步提高新型卫星导航软件的智慧性。新型卫星导航软件可以使用分层架构,包括交互层、业务层和物理层,每一次之间都可以使用接口进行通信传输,为卫星导航工作人员提供一个可视化、导航化的交互接口,实现信息交互处理,全面提升卫星导航信息传输和共享,进一步改进卫星导航工作的科技化、信息化和智能化。新型卫星导航软件交互界面可以为用户提供一个可视化、导航化的操作平台,该平台具有较强的向导性和友好性,进一步改进新型卫星导航软件的业务处理能力。业务层可以实现设备信息管理、导航系统、定位系统等功能处理效率,进一步提高卫星导航业务的管控水平,实现业务信息的解析和处理,传输各类型的消息,具有重要的作用。物理层可以部署和整合传感器、存储器和服务器等硬件设备,同时利用移动网络、光纤网络和ZigBee物联网实现万物互联,进一步提高卫星导航数据共享能力,如图3所示。

4 结束语

卫星导航软件利用北斗导航卫星或GPS进行位置通信,随着无线通信和智能移动设备的普及,卫星导航软件已经得到广泛应用,大大的提高了“互联网+”时代人们的信息化水平,具有重要的作用和意义。卫星导航软件部署的设备不同,因此也需要采用合适的应用软件架构,以便能够提高软件的普适性,比如电脑PC端的软件可以使用B/S体系架构,这个架构可以满足电脑用户使用;在移动设备上,卫星导航软件可以采用云端架构,这样就可以提高系统的独立性和可移植性,同时还可以扩展系统应用层次,提高系统应用效率。

猜你喜欢

浏览器分布式架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
反浏览器指纹追踪
LSN DCI EVPN VxLAN组网架构研究及实现
环球浏览器
基于DDS的分布式三维协同仿真研究
一种基于FPGA+ARM架构的μPMU实现
西门子 分布式I/O Simatic ET 200AL