本技术公开了一种机场开放数据交换平台,包括以下模块:登录服务模块,获取数据模块,回执服务模块,发布服务模块,登出服务模块;本发明可实施性,获取数据模块同时具有高度的稳定性和足够的精度,同时基于分层聚类的方法合并面片,可以很好地解决部分像素点鲁棒性差和边界不准确的问题,发布服务模块耗时少,具有更好的性能,使用体验满意指数函数和效用函数实提高了数据传输的效率。
背景技术
机场开放数据交换平台为适应机场应用系统数据交换增长迅速,以航班信息为主线的机场运营调度系统,以旅客信息为主线的离港控制系统,以货运信息为主线的货运信息管理系统;在大型机场的建设过程,延伸机坪调度系统、地服系统等扩展应用,提供机场各业务系统之间的开放数据交换。RabbitMQ消息中间件,是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。Message是当前模型中所操纵的基本单位,它由消息生产应用(Producer)产生,经过RabbitMQ服务(Broker)被消息消费应用(Consumer)所消费。它的基本结构有两部分:Header和Body。Header是由Producer添加上的各种属性的集合,这些属性有控制Message是否可被缓存,接收的queue是哪个,优先级是多少等。Body是真正需要传送的数据,它是对Broker不可见的二进制数据流,在传输过程中不应该受到影响。一个broker中会存在多个消息队列(Message queue),消息路由器(Exchange)通过路由键(RoutingKey)将Exchange和Message Queue绑定(Binding)在一起,实现把消息发送到匹配的Message queue中。在与多个Message Queue关联后,Exchange中就会存在一个路由表,这个表中存储着每个Message queue所需要消息的限制条件。Exchange就会检查它接受到的每个Message的Header及Body信息,来决定将Message路由到哪个queue中去。Message的Header中应该有个属性叫Routing Key,它由Message发送者产生,提供给Exchange路由这条Message的标准。Exchange根据不同路由算法有不同有ExchangeType。比如有Direct类似,需要Bindingkey等于Routing key;也有Bindingkey与Routing key符合一个模式关系;也有根据Message包含的某些属性来判断。一些基础的路由算法由AMQP所提供,clientapplication也可以自定义各种自己的扩展路由算法。主要特点如下:可靠性(Reliablity):使用了一些机制来保证可靠性,比如持久化、传输确认、发布确认。灵活的路由(Flexible Routing):在消息进入队列之前,通过Exchange来路由消息。对于典型的路由功能,Rabbit已经提供了一些内置的Exchange来实现。针对更复杂的路由功能,可以将多个Exchange绑定在一起,也通过插件机制实现自己的Exchange。消息集群(Clustering):多个RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker。高可用(Highly AvaliableQueues):队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。多种协议(Multi-protocol):支持多种消息队列协议,如STOMP、MQTT等。多种语言客户端(Many Clients):几乎支持所有常用语言,比如Java、.NET、Ruby等。管理界面(Management UI):提供了易用的用户界面,使得用户可以监控和管理消息Broker的许多方面。跟踪机制(Tracing):如果消息异常,RabbitMQ提供了消息的跟踪机制,使用者可以找出发生了什么。插件机制(Plugin System):提供了许多插件,来从多方面进行扩展,也可以编辑自己的插件。
但是现有的平台接入需通过RabbitMQ提供的语言客户端,未提供类似WebService、Thrift的远程调用服务,满足跨语言跨平台的应用接入。系统间数据查询调用,统一封装数据库访问,在该平台无法实现。
实现思路