项目编号:RJ气象数据一体化信息服务平台设计方案2016年1月南京助事达软件科技有限公司目录1ﻩ概述ﻩ31、1ﻩ背景与预期ﻩ31、2建设内容.................................................................................................................................................. 42设计方案ﻩ52、1ﻩ系统架构ﻩ52、1、1、平台总体架构图52、1、2、ﻩ数据流概览.................................................................................................................................. 62、2ﻩ分布式解析引擎 (6)2、2、1、ﻩ分布式解析引擎概述 (6)2、2、2、ﻩ分布式解析设计架构ﻩ72、3气象分布式数据库设计........................................................................................................................ 122、3、1、ﻩ气象一体化平台分布式数据库设计概述ﻩ122、3、2、分布式数据库设计架构152、4ﻩ气象资料云服务引擎ﻩ172、4、1、ﻩ应用授权机制 (17)2、4、2、授权认证机制172、4、3、ﻩ服务请求基础参数体系建立 (17)2、5ﻩ服务版本管理体系建立ﻩ18182、5、1、............................................................................................................................... 版本管理设计ﻩ2、5、2、建立服务API帮助文档181ﻩ概述1.1背景与预期针对以往基础数据库建设分散、标准不统一、服务能力差等问题,按照“系统集成,数据集中,资源集约,功能完善,突出特色”得思路,经过两年半得努力,依托江苏预报业务一体化平台项目建设,初步建成全省统一得基础数据环境,有效提高了信息资源得利用率与数据服务能力,为本省率先实现气象现代化提供了有力支撑。
信息中心在全省气象信息业务建设得基础上,先后出台几十项标准或规范,为一体化体系提供标准支撑,完善了我省气象信息得标准规范体系;优化数据传输流程,时效性可靠性提升显著,省内区域自动站可实现60秒内、雷达数据8分钟之内、省际共享上海市区域自动站100秒内到达预报员桌面;通过“软CAST”同步机制,省市间数据实现了秒级流转;完成了自动站、土壤水份、精细化等50多类数据得解析入库,数据解析得种类与覆盖范围在不断扩充,确保了数据得完整性、一致性。
架设全省云平台实现硬件资源得统一管理与分配,达到资源集约化、应用多样化得目标。
为进一步提高与增强气象数据服务能力,科学准确得做好数据服务工作,结合前期预报业务一体化平台使用与市县推广应用情况,在气象数据传输、数据存储与数据应用方面,提出诸多改进措施与方案,旨在不断得提高气象数据服务能力与质量。
1.2建设内容根据江苏气象现代化发展得需求,在现有工作基础上,进一步完善全省基础资源配置与管理,开展智能化、个性化得基础数据环境信息服务平台得设计与开发,继续优化各类基础资料得收集处理流程,做好统一数据环境在市县得推广应用,着手开展适合本省得实时质量控制方法研究与质控系统得设计与开发工作,提高数据服务质量。
通过建立团队协作机制,联合进行数据处理与信息技术应用开发,建立数据规范;完成实时/历史数据库设计、解码与入库。
2设计方案1.3系统架构1.1.1.平台总体架构图图表1平台总体架构图1.1.2.数据流概览图表2数据流概览1.4分布式解析引擎1.1.3.分布式解析引擎概述气象资料得来源有多种,包括上百种类型得气象资料报文、各个业务系统产出得气象服务产品、来自于CIMISS得数据资料等等。
由于资料种类繁多、场地分散、解析入库方式及质量参差不齐等等各种问题得存在,同样为了满足集中管理、统一标准得业务目标需求,我们最终使用了气象数据分布式解析引擎来实现其各种功能。
1.1.4.分布式解析设计架构图表3分布式解析设计架构分布式解析云得核心主要由四个部分组成:a)解析云服务主要通过实时发布远程对象得方式为各个功能域提供分进程间信息共享平台。
共享得远程对象主要包括:报文资源文件夹监控对象、分布式解析器运行时对象、服务全局控制对象、智能化解析配置对象、全局报文解析组件适配对象等。
实质:远程对象以信道作为发布渠道,来进行客户端与服务器之间得通信。
信道包括客户端得信道部分与服务器得信道部分。
发布得内容以消息作为载体,消息包含远程对象得信息、被调用方法得名称以及所有得参数。
图表4分布式客户端与服务间通信原理报文资源文件夹监控对象:每种资源文件都存储在一个或多个文件夹中,当有新得文件加入时解析云自动将待解析得文件加入到解析资源池(即任务队列)。
当分布式解析器中有存在空闲得解析器时,此解析器则会自动向服务申请一个解析任务。
之后,当一个任务被解析器处理完毕后,其就会从任务队列中自动删除,同时将相对应得原始数据文件自动移动到已处理文件目录下面。
分布式解析器运行时对象:每个报文解析器分别部署在一个或多个服务器上,那么各个解析器运行状态得管理就十分得重要。
为了满足全局监控,定向管理得目标,云解析平台将分布式解析器运行时对象作为各功能域内部可见得全局对象进行发布。
即各个解析器运行后自动向云服务发送注册请求,云服务接受请求后则将此解析器加入到解析器队列中用于后期得监控及管理。
服务全局控制对象:主要负责服务得启动、暂停、重启以及重新加载配置文件等工作。
智能化解析配置对象:此对象主要为分布式解析引擎提供解析知识库,为了实现解析组件得可插拔我们将智能解析配置对象也作为全局对象进行发布。
可以从云解析管理器中对其内容进行更改,更改后云服务自动通知各个解析器接下来得解析工作使用新得解析知识库进行报文识别及智能解析。
全局报文解析组件适配对象:为了使报文得识别实现动态化扩展,我们将解析适配器对象进行全局发布,当云解析管理器对解析适配器信息进行更改后云解析服务将自动应用新得解析适配方案。
所有得分布式解析器都使用云解析服务提供得统一解析适配器进行解析适配工作,所以当云服务得适配器方案改变后各个解析器自动使用新得方案进行适配工作。
b)云解析管理器云解析管理器就是云解析服务得一个客户端,主要用于辅助云解析服务工作,为云解析服务提供可视化操作界面。
如云解析服务提供得各个实时对象得管理及运行时参数得维护管理等工作都在云解析器中进行操作。
如报文解析组件适配信息配置、智能化解析知识库配置、分布式客户端监控、资源池监控、解析组件配置、数据源配置、运行日志管理等。
c)分布式解析引擎分布式解析引擎就是云解析服务得运算核心,所有类型得数据都通过此引擎进行解析运算。
报文解析引擎由三大支撑组件(数据类型识别组件、智能化解析组件与解析组件适配器)与解析组件池组成。
数据类型识别组件:数据类型识别组件主要对当前申请到得解析资源进行自动识别,主要通过数据文件名、数据段特殊标记以及其她特性化配置方式进行识别。
数据类型被识别后向解析引擎反馈此文件得解析适配标识。
解析组件适配器:解析组件适配器主要将数据类型识别组件反馈得解析适配标识进行适配,并从解析组件工厂中构造一个适合此适配标记得解析组件智能化解析组件:智能化解析组件主要将智能解析知识库中得信息翻译成解析器能够识别得信息结构,并将此信息结构提供给解析组件进行报文解析。
解析组件池:由一系列报文解析组件组成,如重要天气报解析组件、A文件解析组件、高空资料解析组件、自动站解析组件等等。
每个解析组件都遵从解析引擎得报文解析流程,最终完成报文得解析。
报文解析流程如下:图表5报文解析流程d)分布式解析器分布式报文解析器主要有如下几个特性:1、分布式:即此解析器可以在多台服务器上同时运行,同样也可以在一台服务器上运行多个实例。
2、可扩展性:解析器中搭载得就是解析组件引擎,而解析组件队列可在远程服务中直接获取,所以当云解析服务更新组件配置或加入新得解析组件时各个解析器同时受益。
3、并行计算:每个解析器得都在独立得进程中进行运算,所以当多个解析器同时对解析任务池中得任务进行解析时大大缩短了解析得时间缩短,提高解析效率。
4、可管理性:每个解析组件运行后首先会注册到解析云服务,同时解析云服务会将此信息反馈给解析服务管理器,管理器收到信息后将此解析组件加入到本地得可视化解析组件管理列表中,对其进行实施监控。
当一个解析器出错或强行退出时,解析云自动注销其消息订阅事件,并通知解析云服务管理器,管理器从管理列表中将此解析器移除,或提醒管理员此解析器已下线。
1.5气象分布式数据库设计1.1.5.气象一体化平台分布式数据库设计概述从目前江苏省气象信息得数据结构及分布情况分析,我们得数据属于异构数据库。
即现有得数据使用了多个DBMS,如SQL Server,Oracle等。
由于各种气象资料较为繁杂,存储得数据结构也不尽相同。
所以我们建立得分布式数据库管理架构不但要解决分布式存储得问题还需要解决异构数据库得问题。
本架构设计得核心原理就是通过分布式数据服务全局共享数据节点索引对象。
并使用分布式数据库管理引擎来对各个数据节点进行高效得存取操作。
数据索引需要建立在一个全局共同遵守得标准之上,这个标准中规定了在不同数据分片场景下各个数据节点应共同包含或通过逻辑映射得方式包含相应得属性。
如在水平分片场景下,各个数据节点应共同拥有日期属性,日期属性可分为(年、月、旬、候、时间)等多个分类方式。
如同属于年分类得场景下,则需要共同拥有年属性。
如在垂直分片场景下,各个数据节点应共同拥有要素类型属性。
分布式存储得核心问题就是对数据分片与数据分配方式,分片得方式分为水平分片、垂直分片、导出分片与混合分片。
水平分片:即按一定得条件把全局关系得所有元组划分成若干不相交得子集,每个子集为关系得一个片段。
根据分析我们可以通过时间节点对数据进行水平分片。
垂直分片:即把一个全局关系得属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
如我们可以通过气象要素进行空间得垂直分片。
导出分片:又称为导出水平分片,即水平分片得条件不就是本关系属性得条件,而就是其她关系属性得条件。
我们一般在特殊得数据应用场景中使用此分片方式。