Skip to content

企业集成平台

概要

    去年,我司为某无人机行业公司开发了企业集成平台。主要目标是集成公司中的无人机运行管理中心、无人机政务服务平台、空管预警中心系统、媒体中心等多个系统,使之形成一个整体。公司委任我担任系统架构师,主要负责系统规划和架构相关的工作。在集成平台开发中主要围绕着通信服务、信息集成服务、二次开发工具、集成平台运行管理平台等基础功能展开工作。顺利完成了集成平台的交付,在使用了该集成平台后,员工的执行效率和公司的经营效率都获得了极大的提升,这获得了员工和领导层的一致好评。

正文

    去年,我司为某无人机行业公司开发了企业集成平台。该公司中存在无人机运行管理中心、无人机政务服务平台、空管预警中心系统、媒体中心等多个系统,而各个系统之间相互独立,这在公司内部形成了一个个信息孤岛,已经严重影响了公司日常业务的正常开展,导致工作人员执行效率低下。为此,公司成立项目组,由于我具备多年的无人机行业应用架构经验和领域知识,有幸作为架构师参与项目的开发,我在项目中主要承担架构和规划相关的任务。

    多年来,随着我国无人机相关政策法规的逐步完善,无人机行业相关公司逐渐从野蛮生长的年代过渡到有法可依的年代,相应的无人机管理行业竞争逐渐白热化,而市场也必然会选择效率高、成本低的公司。而该无人机行业公司内部系统自成体系,例如无人机运行管理中心中的无人机实时飞行产生的KML文件无法及时自动提交到媒体中心,而且空管预警中心系统需要根据KML分析飞行过程中在不同地点遇到的事件及时向后续飞行预警,但是由于系统之间并没有效的通信服务,只能用户手动将无人机运行管理中心中的KML文件下载之后,再手动上传到媒体中心、空管预警中心等。而在无人机运行管理中心标注的雷阵雨天气、渣土车倾倒、无证驾驶等危险事件,需要及时通过无人机政务服务平台向相关管理部门上报,但是由于缺少信息集成服务,用户只能根据事件相关信息在无人机政务平台填报后手动提交。预警平台需要将飞行数据可视化展示,及时反馈给用户,帮助驾驶员完成当天的飞行任务,但是由于无人机各个行为产生的数据格式不同,而每日展示的图表又不尽相同,每天输出可视化图表时都需要重复进行二次开发。

    运行在企业集成平台中应用可以更好的完成协同工作,主要原因是企业集成平台提供了通信服务、信息集成服务、应用集成服务、二次开发工具、集成平台运行管理等基础功能。其中通信服务指用户和应用程序无需显式知道操作系统和应用程序的物理位置,可以透明的通过函数调用或者对象服务的方式完成要求的通信服务。信息集成服务指通过各个应用程序异构数据库中提供转换、共享信息模型、建立公共数据库等方式,使运行在集成平台上的服务、应用程序和用户可以以一致性的接口访问和控制数据,提供透明的数据访问能力。应用集成服务指应在高层提供抽象接口,并且各个应用程序应该在数据适配器或者代理中包含高层接口。二次开发工具指平台应提供一系列辅助开发工具,帮助用户简化后续应用集成和二次开发的任务以及降低开发门槛。集成平台运行管理指平台应提供日常维护和管理集成平台的能力,维护平台的静态配置和动态配置,并且平台运行中产生的错误日志,以便用户可以更好的维护平台的配置和稳定运行。

    第一,通信服务。无人机驾驶员每天需要进行多趟飞行,在无人机运行管理平台中通过操控大屏远程遥控无人机,抓拍无人驾驶、渣土倾倒等违法问题时会在数据库中生成一条对应事件类型的记录。而且为了对每趟无人机飞行监控,会将航线数据生成KML文件方便后续排查问题,例如:无人机碰撞、无法正常通信等。为了使无人机运行平台和其他平台更好的协同办公,我们采用WebService,首先将各个应用程序可以提供的服务通过WSDL注册到服务中心上,服务消费方通过服务模块查询服务在服务中心上查询需要的服务,并且根据WSDL描述中要求的请求方式调用,从而打通各个应用程序之间的信息孤岛,提供更高的通信能力。

    第二,信息集成服务。媒体管理平台中是通过FastDFS存储的二进制文件,而且其他平台的数据也存储在不同的异构的数据库中,例如预警中心采用将数据存储在MongoDB中。其中无人机运行管理平台与其他应用程序提供的接口存在诸多差异,例如每个接口要求的数据格式、响应结果等。为了屏蔽接口之间的差异,方便各个项目之间的信息更好的流转,在企业集成平台的上层接口中提供了数据转换的抽象接口,并且在无人机运行平台、预警中心等应用中的添加的数据转换器中包含高层接口以适配系统内部的数据格式要求。

    第三,二次平台开发工具。在空管预警中心中,如果有当前无人机在飞行,则需要根据飞行数据实时展示飞行轨迹,而且汇总前一天、上月等时间范围的数据通过图表的方式进行可视化展示。而且随着公司的业务增长,办公系统也逐渐产生了可视化相关的需求。针对目前的痛点,通过在集成平台提供图表可视化编辑应用程序解决。当其他应用程序具有可视化需求时,用户可以在可视化编辑应用程序中将图表拖拽到画布上,选中要编辑的图表,在配置模块细粒度的对样式、数据进行修改,编辑平台也提供了数据转化能力,通过自定义过滤器将输入数据转换为需要的数据格式,方便页面绘制。

    第四,集成平台运行管理。提供了通信服务、信息集成能力、二次开发工具后,日常管理工作仍要求各运行维护员工每日密切关注平台运行情况,这提高了公司的用人成本。为了通过为应用集成平台提供集成运行管理应用程序,帮助维护人员可以实时关注平台的运行指标。

    通过研发、产品经理、测试等30余人,10余月的共同努力下,我们顺利完成了应用集成平台的交付。在交付后的两个月内,驾驶员每日飞行次数从10次提升至20次,而且通过空管预警平台与其他应用程序的协同工作,飞行过程中遭遇危险事件的概率从18%降低至11%,企业集成平台上各应用程序稳定运行,并且获得了用户和领导层的一致好评。

    虽然集成平台为公司解决了诸多痛点,但是仍存在一些问题。例如:在集成平台运行管理中,配置文件格式仅支持XML,这对于非技术人员而言具有一定的学习门槛,而且没有支持配置文件的热加载。我们深知企业集成是一个持续演化的过程,还有很长的路要求。但是相信在我们持续不断的努力下,企业集成平台一定会变得更好,公司也会更具备市场竞争力。