【概要】
2022年4月,我参与了某省民航管理局的“无人机运行服务平台”项目(以下简称运行平台),项目旨在简化无人机申请起飞流程,帮助各级执法人员远程高空监管,解决传统巡查灵活性差、存在死角等问题,以实现智能巡查的目的。我在项目中担任系统架构师角色,主要负责项目架构设计工作。本文以该系统为例,论述xxxx。实践证明采用xxx,降低了系统的耦合度,使软件具有了更好的扩展性和移植性满足了客户的要求,顺利完成了开发工作。运行平台于2022年11月交付,得到了各执法部门和领导的一致好评。
【正文】
随着无人机行业的蓬勃发展,国内相关政策法规逐步完善,有效指导传统行业进行转型升级。某省设立无人驾驶示范区较早,而且在无人机行业的探索和尝试中先后建设了多套系统,但是缺少运行平台。我所在的公司长期从事相关行业的软件设计,对服务平台开发有着丰富的经验,因此顺利中标承建了该项目,投入研发、测试、产品经理等20余人组成的项目组,委任我担任系统架构师,负责项目架构和设计工作。
通过对需求中描述的业务流程分析,初步将运行平台分为四个模块,分别是飞行模块、远程操控模块、预警模块、政务服务服务模块。其中飞行模块支持无人机、机场、驾驶员绑定,在无人机与驾驶员之间建立联系,另外也提供飞行要素、飞行任务添加的能力。远程操控模块提供用户远程操控的能力,并且支持在地图上实时展示无人机状态,例如:电量、负载相机捕捉画面、当前操控人、航线飞行进度等信息。预警模块则将空管提供的禁飞区、限飞区和交管部门提供的道路拥堵、事故多发地点等绘制到航线地图上,并且提供实时天气信息,防止恶劣天气影响任务执行。在飞行过程中会根据抓拍图片生成不同类型的事件,通过审批之后,对应事件的管理部门则可以通过政务服务模块处理事件。
(选择这项技术原因)
在架构设计阶段,我意识到选择合适的架构风格对架构设计的重要性。客户单位已投入使用的数套业务系统因建设年代不同、委托开发公司不同,导致这些系统的开发语言、架构设计、执行标准都各不相同,成为了各自为政的信息孤岛。为了适应新形势下的软件架构趋势,防止再次出现遗留系统中存在的信息孤岛问题,而且使运行平台具有更高的扩展性、可修改性、高松耦合等特性,我决定采用面向服务的架构来满足客户的要求。
回答问题2
论点1
论点2
论点3
在实践中证明,通过xxx达成了xxxx,帮助xxx。但是还存在一些不足之处,例如:请求服务时服务调用方的业务逻辑和调用逻辑混在了一起,不利于维护。为此我决定引入服务代理来定位服务、分离服务调用逻辑。同时在服务器中添加缓存功能以提高服务定位的效率,当移除服务时通知服务器更新缓存,保证了服务器中缓存的一致性和服务提供方的信息始终可用,服务代理的引入提高了系统的可维护性。
在全体项目组成员的共同努力下,运行平台于2022年11月完成了验收工作并顺利上线,截止到目前系统运行稳定而且运维工作量可控,得到了执法部门的一致好评。通过这个项目,本人更近一步了解到了架构设计的重要性,同时积累了宝贵经验。在今后的工作中,我将不断提升技术和总结问题,争取为我国信息化事业贡献一份力量。