智慧粮食系统内部数据采集研究

2018-08-29 10:59乔旺龙刘学刚杜洪波何正帅姚飞虎
中国科技纵横 2018年15期
关键词:数据采集系统

乔旺龙 刘学刚 杜洪波 何正帅 姚飞虎

摘 要:“智慧粮食”是对未来粮食行业信息化的顶层设计,来自粮食系统内部数据源的数据以结构化数据为主,这些数据反映了大部分已经数量化的粮食系统信息,对这些内部数据的采集、存储和管理,也需要纳入智慧粮食大数据资源池,提前进行规划和研究。

关键词:智慧粮食;系统;数据采集

中图分类号:F326.11 文献标识码:A 文章编号:1671-2064(2018)15-0036-02

1 智慧粮食内部数据采集研究背景

智慧粮食:为贯彻落实新的国家粮食安全战略,提升粮情监测预警能力,国家粮食局抓紧推进“智慧粮食”信息化工作。所谓“智慧粮食”,就是创新应用大数据、云计算、物联网、移动平台等信息技术,形成粮食行业专有的大数据资源池,研发专用的数据分析预警决策模型,建立粮食信息成果发布体系,力争把中国的粮食情况说清、说准、说全,着力提高对粮食供求形势的分析预测能力、对国内外粮食市场的把控牵引能力、对粮食流通的监管服务能力,把饭碗端牢在自己手上。可以说,“智慧粮食”是对未来粮食行业信息化的顶层设计。

内部数据是“智慧粮食”最主要的数据源,以动态信息系统为代表的国家粮食局内部IT信息系统,就绪了国家粮食局内部涉粮信息的历史数据和上报数据,包括统计型的生产数据、市场价格监测数据、粮食消费需求统计数据等。此外,省级粮食信息系统、直属单位粮食信息系统中的数据也是重要的内部数据源。

目前,来自粮食系统内部数据源的数据以结构化数据为主,这些数据反映了大部分已经数量化的粮食系统信息,并且大都遵循国家标准或地方标准,通过完善的大数据采集、存储、ETL和管理体系,可以将全国的粮食系统结构化数据集中融合加工成标准统一的全国性粮食大数据资源池,为智慧粮食的数据分析和数据挖掘提供数据支撑;同时,粮食系统的视频、图像等非结构化数据也在逐步积累,将来也会成为一类重要的数据源,因此,对这些非结构化数据的采集、存储和管理,也需要纳入智慧粮食大数据资源池,提前进行规划和研究。

2 智慧粮食内部数据特点分析

从智慧粮食内部数据源中采集的数据,可以通过以下综合视图来分析和管理,如图1所示。

在这个视图中,基本的维度结构包括:

(1)自然时间维度,以年、月为单位,取得时间维度上的粮食信息。(2)行政区划维度,具体以省、市、县为分区分级维度,取得行政区划维度上的粮食信息。(3)品类维度,以国家粮食局发布的LS/T 1703—2004《粮食信息分类与编码-粮食分类及加工产品分类与代码》为分类分级维度,取得不同品类的粮食信息。(4)粮食生命周期阶段维度,具体以原粮种植、原粮收储、原粮交易、成品粮加工、成品粮交易、成品粮批发和成品粮销售为维度,取得各粮食生命周期阶段维度的粮食信息。在此基础上,可以增加储备粮、粮食进出口、粮食期货、工业用粮、饲料用粮等补充维度。

通过以上四组维度的组合,可以清晰地对粮食数据进行各种角度各种组合的统计分析,为智慧粮食的决策分析提供丰富的手段和支持,也可以抽取形成不同的建模数据集,满足产量预测、价格预测、供需平衡预测等不同目标的建模挖掘需要。

3 智慧粮食内部数据采集与存储

数据采集主要是采集各个数据源系统提供的数据,并将其加载到数据平台上。数据源包括关系型数据库、消息流格式文件、文本格式文件、结构化数据、电子文档格式文件、图片格式文件和视频格式文件等。数据采集流程,如图2所示。

数据源在JDBC/ODBC、FTP、Socket和二进制消息流等连接协议的基础上,通过Sqoop、Flume、Ftp等工具或命令脚本将数据推送至数据平台的分布式文件系统上;数据平台也可根据连接协议使用工具从数据源处抓取数据。

数据源的数据放到数据平台的分布式系统上以后,可根据具体需求将数據存储至数据平台的不同组件中,如Hive、Hbase、Spark等,在此基础之上后续进行数据的分析计算。

在整个数据的采集过程中,均采用作业方式进行,可即时调度也可定时调度。可通过监控平台集中管理和监控采集作业。

不同类型的源数据采集和初步处理方式说明如下:

(1)DBF格式、HTML、XML格式、JSON格式。对于结构化数据,可使用对象模型将格式文件解析成不同的对象存储到数据平台。DBF格式可使用javadbf组件解析;使用HTML Agility Pack 搭配 ScrapySharp解析html;根据具体情况使用DOM、SAX、DOM4J、或JDOM技术解析XML文件;使用json-lib或org.json解析JSON。(2)电子文档格式(WORD、XLS、PDF…)。可使用jacob解析word文档;使用POI解析xls文档;使用PDFBox解析PDF文档。电子文档原文件可存储到HDFS上,解析之后可把需要的信息存储到数据平台。原始电子文档存储到HDFS上。(3)图片或视频格式格式(JPG、JPEG、TIFF、BMP…)。将原始图片先存储到HDFS中,之后再利用图像识别技术解析图片将需要的信息存储到数据平台。

4 智慧粮食内部数据ETL

由于内部系统建设的历史原因,采集到的源数据主要会存在以下问题:

(1)由于部分业务系统未完成建设,或部分业务系统未按标准完成源数据填报,会导致数据缺漏,各个维度都可能存在缺漏,因此,只能用补报或插补的方式填补缺漏的数据。(2)由于系统之间的数据标准差异,当需要汇总多个维度的数据时,需要通过ETL工具来对源数据进行标准清洗。ETL操作主要包括数据类型检查、空值域约束(非空约束、值域检查、自定义约束)、主键约束、外键约束、缺值处理、断行清洗、空行过滤、去重。1)数据类型检查。根据元数据中各个字段的数据类型,对输入文件逐条记录地检查每个字段的数据是否与元数据中的类型相符合,对异常数据按照异常数据处理规则进行处理。2)空值域约束。空值域约束包括:非空约束,值域检查和自定义约束。空值域约束参数包括输入路径、输出路径、字段名称、是否非空约束、值域约束范围、替换值、自定义约束表达式、异常数据另存路径等。3)缺值处理。按照指定的替换值填补数据文件中的缺值或Null值等。4)断行清洗。针对原始数据或join后数据进行断行判断,并根据异常数据处理规则进行处理。5)空行过滤。针对数据中的空行进行发现并处理,一般直接过滤空行。6)去重。将完全重复的数据行丢弃,生成没有完全重复的数据行的新数据文件。7)字段类型转换。修改原来数据字段的格式。8)计数区间化。按指定字段对数据进行区间划分,针对各区间的数据,为该字段设置特定值。9)数值区间化。按指定字段对数据进行区间划分,按数值将字段值区间化为N个区间,每个区间数据取值范围相等,并为该字段按不同区间设置特定值。10)CaseWhen。根据用户输入的条件,将指定字段的值进行转换,类似SQL的case when。用户指定转换的字段与转换规则。支持对多字段进行转换,支持对某个字段多个转换规则,支持default规则。可以配置转换生成列的元数据信息。11)字符型数据处理。根据用户指定的表达式,进行对字符串的处理:如substring,字符串连接,trim等。12)日期型数据处理。对日期型的数据进行转换。13)属性交换。将属性的两列互换。

由于智慧粮食数据源众多且数据复杂,因此需要建立一个灵活而强大ETL体系来支撑,以便针对不同的数据业务系统,可以快速构建或复用ETL脚本或模板,并保证日常大量ETL任务的高效稳定运行。为此,可以采用Nifi工具。Nifi是将数据转换成一种流的形式在各种处理器之间进行处理转换的ETL工具,它具备的以下适合于智慧粮食数据ETL体系的特性:

(1)通过可视化可操作的用户界面来编辑ETL工作流,提高开发效率,便于管理,便于修改。(2)支持非常高的数据交换速率和导入速度,支持数据回压,扩展性高,支持优先级队列,支持数据跟踪。(3)支持流程模板,支持自定义处理器。(4)高安全性:NiFi可以通过双向SSL进行数据加密。并且可以允许在发送与接收端使用共享秘钥,及其他机制对数据流进行加密与解密。用户与系统间,NiFi允许双向SSL鉴定,并且提供可插入授权模式,因此可以控制用户的登录权限(例如:只读权限、数据流管理者、系统管理员)。

5 智慧粮食内部数据管理

内部数据采集融合并形成符合统一标准的智慧粮食大数据资源池中的基础数据层的过程中,需要建立相应的管理体系,包括:

(1)一数一源管理。目前粮食行业信息化系统中“一数多源”的现象比较普遍,如企业信息,直报系统中有企业的信息,市场交易中也有企業的信息。在业务系统还未达到一数一源管理标准时,需要在内部数据采集后做好一数一源的梳理工作。(2)元数据管理。由于内部数据采集得到的是最基础的源数据,因此元数据管理应该从这个阶段就要开始并打下严实的基础,主要工作包括:1)基础元数据定义:需要梳理出所有的基础元数据并给出清晰的业务定义和数据规范。2)技术元数据管理:需要制定清晰的技术元数据管理标准,并实现技术元数据管理功能。3)业务元数据管理:需要根据业务部门的实际情况定义与技术元数据对应的业务元数据,并通过元数据管理功能实现技术元数据和业务元数据的映射。(3)数据标签管理。按前文所述的四组维度,对达到交付标准的数据表、数据集建立粒度合适的标签,以便可以快速查找目标数据。(4)数据质量评价。制定尺度合适的数据质量评价标准,并实现自动数据质量检测及评价功能,以便对来自各业务系统或各地、各内部直属单位的源数据进行快速的数据质量评价,及时发现源数据存在严重质量问题的地方,及时采取纠正措施。(5)数据资产管理。按前文所述的四组维度,结合数据源和数据标签,建立数据资产索引,提供查询和可视化展示功能,以便清晰地了解智慧粮食大数据资源池中的数据资产分布情况。

猜你喜欢
数据采集系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
基于PowerPC+FPGA显示系统
基于UG的发射箱自动化虚拟装配系统开发
半沸制皂系统(下)
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
基于开源系统的综合业务数据采集系统的开发研究