宜兴市大数据平台介绍1系统总体概述1.1政务信息资源目录概念政务信息资源是指政务部门为履行管理国家行政事务和社会公共事务的职责而采集、加工、使用的信息资源;政务部门在业务过程中产生和生成的信息资源;由政务部门投资建设的信息资源以及由政务部门直接管理的信息资源。
政务信息资源目录是记录政务信息资源结构和政务信息资源属性的数据体系。
政务信息资源结构通过树状的目录结构,展现了政务信息资源之间的相互关系;政务信息资源属性则描述了资源的管理属性,包括来源、去向、版本等,用于控制和管理资源。
政务信息资源目录体系是用于采集、存储、使用和管理政务信息资源目录内容,通过元数据信息的定位和发现机制,实现政务信息资源的共享。
政务信息资源目录系统是基于政务信息资源目录体系开发的应用平台。
政务信息资源系统作为政务信息资源共享交换平台和电子政务信息资源的管理和服务中心,按照统一的标准规范实现对政务信息资源的采集、分类、描述、处理、展现、应用和管理,为分散异构(各委、办、局)的政务信息资源的共享和交换提供基础性支撑,实现对政府信息资源的识别、导航和定位服务,从而更加有效管理、利用和合理开发政务信息资源,为促进政府职能转变、提高工作效率、提升服务水平提供科学的工具。
1.2数据交换平台概念在电子政务系统建设过程中,政府不同部门的业务系统往往是采用不同技术标准、不同软硬件平台、并由不同软件提供商开发的,这些系统是无法直接实现互联的,然而完全替换并由同一软件提供商新建所有业务系统也是不可接受的。
如果采用根据特定连接需求,满足特定问题,进行特定开发的方式同样会带来接口开发难以承受的负担,并且接口开发也是相当复杂的,成本高昂的。
根据上面的情况,显然我们迫切需要一个中间件平台,能够用统一的方式,实现各系统间不同结构和格式的数据的相互转换,并由协调引擎(工作流引擎)根据服务流程的定义统一协调各个部门业务系统间的数据传输和消息通信。
数据交换中心产品就是这样一个企业级服务集成中间件平台,各应用系统与数据交换中心相连,通过数据交换中心来实现数据共享和路由。
这种连接方式实现了数据的无缝交换和共享访问,保证了各业务系统的有效协同,同时又能保证各应用系统的相互独立性和低耦合性,从整体上提高了系统运作效率和安全性。
传统意义上的数据中心实质上是一个数据存储中心 (DSC),或者是数据仓库(DW)。
应用系统所能够提供的数据服务先以某种形式转移到数据存储中心,其他应用系统再从数据存储中心获得数据。
数据存储中心存在着实时性差、应用系统与存储中心之间及应用系统之间的耦合程度比较严重、系统安全性较低等不足。
本数据交换中心遵循SOA的思想,采用Web Service 技术进行组件和应用系统的包装,将系统的数据展示和需求都看作一种服务,通过服务的请求和调用实现系统间的数据交换和共享。
2体系架构方案2.1系统架构政务资源交换平台应用架构主要分为三部分:资源目录体系、应用支撑平台和数据交换与共享系统。
数据交换与共享系统通过交换桥接子系统将部门需要交换的信息交换到前置交换信息库,在交换管理子系统的流程控制下,通过交换传输子系统、前置交换子系统,把需要交换的信息定向传输到接收部门,同时把共享信息实时交换到共享信息库,以API 的形式共享出来。
根据跨部门政务信息共享及业务协同的实际需要,技术支撑环境应支持多个交换域之间信息交换。
政务信息资源目录体系技术总体架构包括信息库系统和目录内容服务系统,信息库系统由政务部门的共享信息库、目录内容信息库和目录服务中心的目录内容管理信息库、服务信息库组成。
目录内容服务系统由共享信息服务系统、编目系统、目录传输系统、目录管理系统、目录服务系统组成。
应用支撑平台提供技术支撑,提供统一的集成安全体系,统一的公共服务。
数据运维管理数据标准规范业务协同数据开放公众监督可视化部门系统交换平台开放平台社会企业数据服务政务云平台人口数据法人数据空间数据主题数据数据清洗、转换、整合(ETL )数据存储机房清单软硬件清单应用系统清单数据清单数据采集物联网数据业务数据商务数据互联网数据资源目录体系目录服务统计分析数据清洗信息编目目录管理数据元管理元数据库目录服务信息库目录内容信息库加密解密统计分析格式转换交换信息库监控管理交换传输资源交换体系数据管理资源质量体系质量标准管理数据规则管理数据指标管理质量问题分析总体技术架构图应用支撑平台基于SOA架构实现。
2.1.1合理性SOA架构的系统设计合理性体现以下几个方面:2.1.1.1更易维护业务服务提供者和业务服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现。
建立在以 SOA基础上的信息系统,当需求发生变化的时候,不需要修改提供业务服务的接口,只需要调整业务服务流程或者修改操作即可,整个应用系统也更容易被维护。
2.1.1.2实用性该特点是在于服务提供者和服务使用者的松散耦合关系上得以发挥与体现。
使用者无须了解提供者的具休实现细节。
2.1.1.3更好的伸缩性依靠业务服务设计、开发和部署等所采用的架构模型实现伸缩性。
使得服务提供者可以互相彼此独立地进行调整,以满足新的服务需求。
2.1.1.3.1传输实时基于SOA架构的交换体系,在先天上比传统的ETL交换和MQ交换具有更高的实时性。
ETL交换是定时执行,MQ交换则是异步处理,中间存在时间差,服务调用则是即时的,从先天上就有传输的实时优势。
2.1.2SOA整个SOA服务化架构分为3大块,网关、服务注册和发现、提供的服务。
2.1.2.1网关:Kong是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。
Kong核心基于OpenResty构建,实现了请求/响应的Lua处理化;Kong插件拦截请求/响应,如果接触过Java Servlet,等价于拦截器,实现请求/响应的AOP处理;Kong Restful 管理API提供了API/API消费者/插件的管理;数据中心用于存储Kong集群节点信息、API、消费者、插件等信息,目前提供了PostgreSQL和Cassandra支持,如果需要高可用建议使用Cassandra;dnsmasq用于提供给Nginx DNS解析功能;Kong集群中的节点通过gossip 协议自动发现其他节点,当通过一个Kong节点的管理API进行一些变更时也会通知其他节点。
每个Kong节点的配置信息是会缓存的,如插件,那么当在某一个Kong节点修改了插件配置时,需要通知其他节点配置的变更。
2.1.2.2服务注册和发现:使用了zookeeper作为服务注册和发现中心,原理如下:首先,涉及到三个角色:服务提供者、服务消费者和服务注册中心(就是zk了)。
服务提供者:服务来源方,一个服务提供者只有注册到服务注册中心才可以被消费者使用。
而要注册到注册中心则需要提供如下的信息:服务提供者的应用名称服务地址服务端口请求URL服务消费者:服务的消费方,主要职责包括以下几个方面:服务消费者在启动时从注册中心获取需要的服务注册信息并将注册信息缓存在本地监听服务注册信息的变更,如果收到zk的变更通知,则修改本地缓存的服务注册信息,根据本地缓存的服务注册信息构建调用请求,并根据负载均衡策略转发请求对服务提供方的注册信息进行心跳检测,如果某个已缓存的注册信息已经下线,则将该负责注册信息从本地缓存中移除。
服务注册中心:存储服务提供者注册的信息,并将注册信息实时变更主动push给服务消费者。
提供的服务:服务来源方,一个服务提供者只有注册到服务注册中心才可以被消费者使用。
2.2技术路线2.2.1数据交换(ETL)ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。
在ETL架构中,数据的流向是从源数据流到ETL工具,ETL工具是一个单独的数据处理引擎,一般会在单独的硬件服务器上,实现所有数据转化的工作,然后将数据加载到目标数据仓库中,如果要增加整个ETL过程的效率,则只能增强ETL工具服务器的配置,优化系统处理流程(一般可调的东西非常少)。
IBM的datastage和Informatica的powercenter原来都是采用的这种架构。
•ETL架构的优势:•ETL可以分担数据库系统的负载(采用单独的硬件服务器)•ETL相对于EL-T架构可以实现更为复杂的数据转化逻辑•ETL采用单独的硬件服务器。
.•ETL与底层的数据库数据存储无关。
2.2.2SOA技术面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。
较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。
2.2.3微服务化微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API 进行沟通”。
关键在于该服务可以在自己的程序中运行。
通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。
在服务公开中,许多服务都可以被内部独立进程所限制。
如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。
在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。
使用微服务构建现代化应用程序是很有意义的,因为它让你既利用了扩展横向扩展架构,也利用纵向扩展架构;还额外得到API的组合,且在整个业务中可重复利用。
可能,每一分钟构都在交付新服务,这样你就必须拥有一个敏捷的且响应的应用程序平台,这一平台一直在不断改进中。
2.2.4分布式计算Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。
用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。
它主要有以下几个优点:•高可靠性。
Hadoop按位存储和处理数据的能力值得人们信赖。
•高扩展性。
Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
•高效性。
Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
•高容错性。
Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。