《武汉工程大学学报》  2022年05期 572-577   出版日期:2022-10-31   ISSN:1674-2869   CN:42-1779/TQ
海关数据湖的构建与应用




中国海关是我国进出关境的监督管理机关,具有国际贸易统计职能,在履行监管职责的过程中,积累大量的外贸数据和行政执法数据,信息化数据量也随之日益增加,大数据管理面临着巨大的挑战与机遇。近30年海关信息化建设经历了H883工程、H2000工程、金关1期工程、H2010工程和金关二期工程、H2018工程,从金关二期工程开始引入了云计算、大数据以及物联网、互联网等技术,海关数据呈现出井喷式量级增长,相关数据被分隔在十二大应用系统、六类技术基础系统,这些海量数据蕴藏着丰富的利用价值,但是大数据应用层面仍面临着外部口岸联检单位数据开发共享以及部门内部信息壁垒的层层难题,如何灵活运用全新量级的数据和应对大数据服务,将海关各部门的海量数据充分集成,打破部门信息壁垒,使数据真正在海关部门内部流动和流转,从而更好地服务上层业务系统是海关目前重点关注和亟需解决的重点问题。
近年来数据处理技术得以广泛发展和应用,最基础的数据库是“按照数据结构来组织、存储和管理数据的仓库”,是长期存储在计算机中的有组织、共享和统一管理的数据集合。数据集市是企业级数据仓库的一个子集,主要满足特定的部门或者用户的需求,仅面向某个特定的主题,以多维方式进行存储。而数据仓库是一个面向主题的、集成的、相对稳定的数据集,可以反映历史变化,用于支持管理决策[1]。数据仓库是用于处理交易和业务型应用系统关系数据的优化数据库。数据湖的核心思想是一种系统的架构方案,它使用低成本技术实现原始数据采集、分析和探索大规模、长期的存储方法和技术,是一种解决大数据问题的思路、一种数据治理的方案、一种大规模数据集中存储并利用的架构思想。
如何以更少的投入发挥更大的作用,是海关在数据管理方面面临的重大挑战。在海关H883工程、H2000工程、金关1期工程阶段,海关数据主要来自业务系统和数据库的传统关系型数据,因此数据仓库可以满足海关数据管理和存储的要求。然而从H2010工程阶段,尤其是进入金关二期工程、H2018工程阶段,海关的信息化高速发展,来自于物联网、互联网等领域的非关系型数据分布在全国几十个署级系统以及数百个关级系统以及更高数量级的模块应用,传统数据仓库模式的成本高、响应慢、格式少等问题日益凸显,数据仓库已经难以满足海关大数据管理和应用的需求。数据湖技术可以同时满足关系型数据和非关系型数据的存储,可以存储来自业务型应用系统的关系数据,也能存储来自移动应用程序、物联网设备和社交网络的非关系数据,并且在性价比、数据质量、适用用户类型、数据分析领域、灵活性等方面也都优于数据仓库[2]。
1 数据湖的概念及其技术特点
数据湖的概念于2010 年由 Pentaho 公司的创始人兼首席技术官 James Dixon[3]首先提出,他把数据集市描述成一瓶清洗过的、包装过的和结构化易于使用的水。而数据湖更像是在自然状态下的水,数据流从源系统流向这个湖,用户可以在数据湖里校验,取样或完全的使用数据[4]。数据湖是指大规模可扩展的存储库,它以原本格式保存大量原始数据,而无需先对数据进行结构化处理,直到需要时再进行处理,该系统可以在不损害数据结构的情况下摄取数据,然后运用不同类型的引擎进行分析,包括大数据处理、可视化、实时分析、机器学习等,以指导作出更好的决策。构建数据湖通常是为了处理大量且快速到达的非结构化数据,并能够对其进行进一步的分析处理。因此,数据湖使用动态(不像数据仓库那样预制静态)分析应用程序,湖中的数据一旦创建即可以访问(与缓慢更改数据的数据仓库相反)[5]。
数据湖适用于存储所有格式的数据,包括结构化数据、半结构化数据、非结构化数据以及二进制数据[6]。用户可以根据业务需求在数据湖中进行数据分析和数据挖掘,充分利用数据的价值,并且在不同的业务部门、应用领域进行应用。数据湖技术作为大数据信息技术发展下产生的一种新思想、新技术、新架构,已被初步应用于社会公共管理和商业等领域,并取得了一定的成效[7]。数据湖技术的特点及优势如下:
(1)存储成本低。数据湖一般采用分布式文件系统(hadoop distributed file system,HDFS)存储数据,具备较强的扩展能力。数据湖本身应该内置多模态的存储引擎,以满足不同的应用对于数据访问需求(综合考虑响应时间/并发/访问频次/成本等因素)。但是,在实际的使用过程中,数据湖中的数据通常并不会被高频次的访问,而且相关的应用也多在进行探索式的数据应用,为了达到可接受的性价比,数据湖建设通常会选择相对便宜的存储引擎(如S3/OSS/HDFS/OBS),并且在需要时与外置存储引擎协同工作,满足多样化的应用需求。
(2)数据保真性。与数据仓库不同的地方在于,数据湖中必须要保存一份原始数据,无论是数据格式、数据模式、数据内容都不应该被修改,数据湖强调的是对于业务数据“原汁原味”的保存,有利于开展合规性检查和内部审计,如果数据存储经历了转换、聚合和修改,将很难在需要时及时找到原始数据,并且难以确定数据来源[8]。数据仓库只使用了数据的部分属性,而数据湖保留了数据的所有最原始、最细节的信息,所以可以回答更多的问题,允许组织中的各种角色通过自助分析工具(MR、Spark、SparkSQL等),对数据进行分析,以及利用AI、机器学习的技术,从数据中发掘更多的价值。
(3)数据灵活性。“写入型schema”是数据在写入之前,就需要根据业务的访问方式确定数据的schema,并完成数据导入,这意味着数据仓库的前期成本较高,特别是当业务模式不清晰、业务还处于探索阶段时,数据仓库的灵活性不够。而数据湖采用的“读取型schema”在准备使用数据时才对数据进行定义,数据模型的定义灵活性大大提高,更能满足不同业务的需求[8]。这可以让基础设施具备使数据“按需”贴合业务的能力,当业务需要时,即可以根据需求对数据进行加工处理。因此,数据湖更加适合业务高速变化发展的组织/企业。
(4)数据追溯性。数据湖实现对一个组织/企业中全量数据的存储,因此数据的生命周期管理至关重要,包括数据的定义、接入、存储、处理、分析、应用等全过程管理。一个强大的数据湖,能做到对其间的任意一条数据的接入、存储、处理、消费过程可追溯,能够清楚的重现数据完整的产生过程和流动过程。
2 海关数据湖处理架构方案
目前,海关在大力推动实施“智慧海关、智能边境、智享联通”建设,不断研究深化、丰富完善“三智”内涵,深入推进科技兴关和“单一窗口”建设,也对海关大数据发展提出新的要求。传统的海关信息化系统侧重于功能开发,以数据分析和应用为辅,已基本实现了业务工作的信息化。然而,如何实现以海关数据为中心的信息技术转型,将数据业务化,消除海关系统内部与外部之间的信息壁垒,提供高质量、高可用性和高实时性的数据,使数据真正在海关部门内部流动和流转起来,支撑系统创新带动业务工作高效开展,有效提高海关把关服务能力,是海关关注的重点问题。
通过构建海关数据湖,实现对海关各系统数据全量汇聚入湖存储,消除了“数据烟囱”和“信息孤岛”,并通过数据的复杂关联计算和深度分析与挖掘,结合先进的数据科学与机器学习技术,完成数据汇总、模型搭建及运行,以及将计算和汇总结果生成特定项目标签、指标库等,为上层系统提供海量数据的预测分析、即席查询、复杂计算、数据挖掘等功能,提升海关科技化管理水平。
海关数据湖采用原生数据入湖方式,将业务数据与应用系统脱钩,支撑海关信息化系统实时、准实时和离线数据应用创新需求,是海关实现从传统信息技术向大数据技术转型的有效途径。海关数据湖作为基础设施对所有应用系统共享,也是数据存储和访问的唯一出口,统一存储全系统数据,通过开放架构支撑智慧运行管理,能够作为信息化系统集约化演进的纽带[9]。海关数据湖处理构架如图1所示,主要包括数据存储(“建湖”)、数据汇聚(“引水”)、数据治理(“管理”)、数据计算(“利用”)、数据服务(“价值”)等5个部分。
2.1 数据存储(“建湖”)
海关数据湖存储利用分布式存储作为数据存储架构,分布式存储有多种技术方案,但是目前大多利用 Hadoop 这种低成本技术实现[10]。HDFS作为存储层,可以接受由Kafka、FLume、Sqoop或其他数据工具的任意格式的数据输入,HDFS的高拓展性、可靠性、安全性和高吞吐性满足大数据处理的要求。HBase作为 NoSQL 数据库典型代表,具备高可靠性、高性能、面向列、可伸缩的分布式存储系统特点,同时也是一个数据模型,通过Hadoop 提供的容错能力,实现快速随机访问海量结构化数据[11]。数据导入到数据湖后,可以选择标准存储(Standard)作为主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(infrequent access)、归档存储(archive)、冷归档存储(cold archive)作为不经常访问数据的存储方式,数据湖的数据资源支持按主题、组织、专题等维度编目数据,保障数据的可检索性。
针对海关信息化系统海量数据规模特点,采用逻辑统一、物理分散的集约数据湖架构,可以有效解决数据孤岛问题,实现海关数据的高效共享。例如:海关监管现场使用的X光机、CT机及各类传感器等物联网(internet of things,IOT)设备产生的文件,通过离线批量导入或者高速访问网络进入到存储集群后通过Hadoop(HDFS)进行分析处理,再进入高性能计算群(high performance computing,HPC)集群网络文件系统(network file system,NFS)进行仿真计算,也可以读取到图形处理器(graphics processing unit,GPU)集群进行训练(S3)。整个过程数据不需要复制和移动,实现了高效的数据共享。数据集中存储和共享实际上是将存储资源池化,将存储与计算分离(如采用Spark技术和亚马逊云计算(amazon web services,AWS)、华为云、阿里云等云服务产品),大大降低存储成本,有效提高计算资源的利用率,增强计算和存储集群的灵活性。例如:业务部门向数据平台部门单独申请计算或存储资源,采用分离架构可以更灵活的分配资源。应当注意的是,存储和计算分离往往伴随大数据的服务化,需要从云化、资源弹性调度的角度管理资源。
2.2 数据汇聚(“引水”)
数据只有汇聚引入海关数据湖,才能基于数据进行分析和挖掘数据价值,从而支撑业务部门决策,驱动海关业务发展。海关数据湖汇聚来自海关各业务系统数据、外部交换数据(如部委交换、国际交换等)、外部采购数据、互联网采集数据、以及系统内外部其他数据,涵盖了结构化、半结构化和非结构化数据。对于属于潜在挖掘需求的数据,采取原生生产数据方式导入数据湖;对于属于明确需求的统计分析型数据,采取统一模型转换后入湖[12]。数据入湖分为物理入湖和虚拟入湖,根据数据使用的场景和需求,一个逻辑实体可以有不同的入湖方式。两种入湖方式相互协同,共同满足数据联接和用户数据消费的需求。海关数据湖入湖的技术手段主要有批量集成、数据复制同步、消息集成、流集成、虚拟化集成等方式,以数据源拉(PulL)的方式导入数据湖,以采用数据源主动向数据湖推(PusH)的方式入湖。通过将海关原生数据汇聚入湖,进行统一存储、整合、关联和共享,能够减少数据的重复采集、存储和带宽消耗,从而形成一个集中式数据存储容纳海关所有数据形式的海关数据湖。
2.3 数据治理(“管理”)
数据不仅要存下来,更要治理好,否则数据湖将变成数据沼泽,浪费大量的IT资源[1]。数据治理是对数据的全生命周期进行管理,海关数据湖能否推动海关业务的发展,数据治理至关重要。海关系统内部收集的数据或从其他行业中采集数据种类多样,格式不一,多数以原始格式存储,需要不断对这些原始数据进行整合加工,根据各业务组织、场景、需求形成容易分析的干净数据,并让更多的人访问分析数据。数据湖的数据治理包括元数据管理、数据标准管理、数据质量管理、主数据管理、数据资产管理、数据安全管理和数据生命周期管理等方面。通过数据治理可以提高海关数据湖数据的质量,确保数据的安全,实现数据资源在海关各部门及外部相关单位的共享,进一步发挥海关数据的资产作用。
数据湖作为海关的核心数据资产,数据的安全管理是重中之重。隐私和安全性是海关数据湖治理的关键组成部分,包括通过对接H4A管理系统实现对用户的访问控制、身份验证、授权,以及静态和动态数据加密等。数据湖虽然旨在打造一个开放的数据源,但对于海关数据而言,安全性和访问控制措施必不可少,海关数据湖治理和信息安全管理人员应全程参与数据湖设计和建设过程,并具备较高的数据安全事件闭环管控水平,提高数据安全事件的应急处置能力。
2.4 数据计算(“利用”)
上述工作是为进行数据计算分析打基础,海关数据湖采用分布式计算框架,提供多种方式的数据分析引擎,如通过Spark、MR、SparkSQL、Flink等多模态高性能分析计算引擎,对海量的原始数据进行分析、抽取、计算、利用。直接访问海量存储中的数据,无需数据提取,减少数据转换,支持高并发读取和自助数据探索分析,提高实时分析效率[13]。
计算和数据分离后必然会带来一定的网络I/O开销,计算侧Cache可有效减少频繁的网络I/O次数[13]。同时万兆网络已经得以普及,甚至更高。计算侧Cache采用多种算法,将数据缓存在计算侧,可以使得很多场景下计算与数据分离方案的性能甚至高于一体化方式。
为促进海关数据共享和开放应用,应完善海关数据湖平台上的数据分析和建模工具,结合各种数据情况和应用需求,集成各种数据开发、独立分析、可视化和应用部署工具,提供一站式数据开发和应用服务,促进数据应用生态的良性循环。
2.5 数据服务(“价值”)
数据湖的价值需通过提供数据服务来体现,以及与业务的深度融合与集成。海关数据湖服务提供数据基础应用平台和数据开发平台,平台包括数据源管理、数据报表、数据报告以及数据运算和展示等多种数据分析组件,同时兼容第三方数据分析工具。通过提供自助分析、数据可视化等多种方式给数据需求部门(包括业务职能部门、执法部门等)进行数据消费,自由发掘数据的潜能和价值。另外,通过数据湖将业务数据脱敏后存储到数据湖,开放给系统内外科研机构进行研究性探索,研究成果可反馈应用于海关业务工作,从而有效促进基于海关数据的产学研合作与提升。依托数据湖提供的数据集成和开发能力,以及对数据模型的理解,能够定制数据处理流程,迭代处理原始数据,从数据中提取有价值的信息,最终获得超出原始数据分析服务的价值[14]。
3 海关数据湖建设流程及应用实践
海关数据湖的建设过程应与海关业务工作紧密结合,与海关数据仓库以及数据中台有所区别,海关数据湖建设采用“边建边用,边用边治理”更敏捷的方式来构建,基本流程如图2所示。
<G:\武汉工程大学\2022\第5期\缪佳辉-2.tif>[数据
摸底][技术选型][数据接入][技术选型][应用治理][业务支撑]
图2 海关数据湖建设基本流程
Fig. 2 Basic process of customs data lake construction
步骤1:数据摸底。构建海关数据湖初始工作是对系统内部的数据做一个全面和深入的摸底,包括数据来源、数据类型、数据形态、数据模式、数据总量、数据增量等。通过摸底工作,进一步梳理明确数据和组织结构之间关系,为后续明确数据湖的用户角色、权限设计、服务方式奠定基础。
步骤2:技术选型。根据数据摸底的情况,确定数据湖建设的技术选型,如采用分布式对象存储系统(S3/OSS/OBS等)。计算引擎主要考虑批处理需求和SQL处理能力,并在应用中逐步发展。如果需要独立的资源池,则考虑构建专用集群。
步骤3:数据接入。根据第一步的摸排结果,确定要接入的数据源。根据数据源,确定所必需的数据接入技术能力,完成数据接入技术选型,接入的数据至少包括:数据源元数据、原始数据元数据和原始数据。
步骤4:应用治理。借助数据湖提供的各类计算引擎对数据进行加工处理,形成各类中间数据/结果数据,并妥善管理保存。数据湖应该具备完善的数据开发、任务管理、任务调度的能力,详细记录数据的处理过程。在治理的过程中,会需要更多的数据模型和指标模型[15]。
步骤5:业务支撑。在通用模型基础上,各个业务部门定制自己的细化数据模型、数据使用流程、数据访问服务,以支撑海关业务发展需要。
以构建进出口食品风险监控数据湖为例(见图3),针对目前重要食品贸易国(地区)风险监控数据来源单一、格式多样化等问题,分析关键风险词库并梳理规律与特点,采用基于关键风险词库驱动的统计与规则相结合的无序非结构化数据溪流识别算法进行数据摸底,进而开展六源数据溪流的标准化采集技术研究,包括 H2018 海关业务监管数据库、实验室检测信息数据库(laboratory information management system,LIMS)、境外预检信息数据库、国际物流供应链组织/机构信息数据库、互联网风险信息监测数据库、贸易国(地区)政府通 报信息数据库等。技术上以 Gbase 原生数据架构格式存储,采用集成高性能应用软件(high-performance analytic appliance,HANA) 计算、MapReduce分布式数据溪流清洗、多维度关联规则挖掘、卷积神经网络(convolution neural network,CNN)等技术。六源数据标准化采集之后,及时汇聚并以 Gbase原生数据架构格式来存储食品风险监控数据。Gbase支持linux系列操作系统,如RedHat和SUSE,除了提供企业管理器、监控工具、加载工具、备份/恢复工具以及集群重分布工具等集群管理工具,GBase还提供 JDBC、ODBC、ADO.NET、CAP等4个对外的标准开发接口,以方便外部对 GBase集群的访问。进出口食品风险监控数据湖通过将原始进出口食品风险监控数据分类存储到不同数据池中,并对每个数据池中的数据转化成统一的GBase原生格式存储,以便于计算分析。借助GBase存储架构,可方便地对大量进出口食品风险监控数据和相关信息进行快速、多角度分析,及时发现安全隐患,为食品风险监控云服务平台提供数据支持。
海关数据湖与传统大数据平台相同的地方在于具备处理超大规模数据所需的存储和计算能力,能提供多模式的数据处理能力,同时海关数据湖的增强点在于数据湖提供了更为完善的数据管理能力,具体体现在:
(1)更强大的数据接入能力。数据接入能力体现在对于各类外部异构数据源的定义管理能力,以及对于外部数据源相关数据的抽取迁移能力,抽取迁移的数据包括外部数据源的元数据与实际存储的数据。
(2)更强大的数据管理能力。数据管理能力具体又可分为基本管理能力和扩展管理能力。基本管理能力是一个数据湖系统所必需的,包括元数据管理、数据访问控制、数据资产管理;而扩展管理能力包括任务管理、流程编排以及与数据质量、数据治理相关的能力。
(3)可共享的元数据。数据湖中的各类计算引擎会与数据湖中的数据深度融合,而融合的基础就是数据湖的元数据。优质的数据湖系统,计算引擎在处理数据时,能从元数据中直接获取数据存储位置、数据格式、数据模式、数据分布等信息,然后直接进行数据处理,而无需进行人工/编程干预。
4 结 论
以上阐述了基于数据湖技术特点提出的数据湖思想大数据应用架构方案,分析了数据存储、数据汇聚、数据治理、数据计算、数据服务等方案解决思路,并介绍了建设海关数据湖的基本流程及应用案例分析。构建海关数据湖有利于打破数据孤岛,有效解决和提高海关数据接入质量,提高海关未来信息化建设中大数据分析和数据共享能力,更好发挥海关数据的价值。
下一步将进行的工作是在海关积极推进“三智”建设与合作的背景下,利用数据湖技术和思想,找出现代海关治理中的数据分析和共享的解决方案,为构建高效协同的智能边境,推进海关信息化建设进程;为促进全球供应链的互联互通贡献海关的科技力量。