APP下载

海关大数据分析系统的研究与设计

2023-09-21王正刚

物联网技术 2023年9期
关键词:数据分析系统海关架构

王正刚,刘 忠,刘 伟,金 瑾

(1.中国科学院 成都计算机应用研究所,四川 成都 610041;2. 中华人民共和国成都海关,四川 成都 610041;3.中国科学院大学,北京 100049;4.成都信息工程大学,四川 成都 610103)

0 引 言

海关风险布控是海关入境检疫和安全的重要保障,海关监管人员综合各类风险信息数据,对照商品货物报关单、舱单信息,分析商品货物中可能存在的风险,依据经验对某些高风险商品进行布控,进入人工查验环节的过程。传统风险布控流程智能化程度较低,风险分析和布控的标准无法统一,准确率和布控查获率较低,无法满足海量商品单证风险分析的需要。因此,迫切需要实现该工作流程的智能化和系统化,这一流程的智能化要解决海关表格数据的分类。对于数据分类问题,本质上是要构造一个函数,将连续型变量映射成离散型变量。假设D(X)是实例空间X上的一个概率分布,S是从众多海关数据中抽取的训练集,训练集S中的每个实例都以概率分布D(X)从实例空间X中取得,x为S中的样本。训练集S被选中的概率P满足如下公式:

海关智能化风险布控的目标如式(1)所示,根据训练集S构造一个分类模型,预测实例空间X中实例的分类。假设c*是实例空间X的正确的分类函数,即对于任意的x∈X,c*(x)是它正确的分类。显然,c*可以完全由集合{x∈X:c*(x)=1}确定。为了描述方便,可以令c*={x∈X:c*(x)=1}。然后,令h为由训练集S构造的分类器,则分类器h的真正错误概率可以定义为:

式中,hΔc*={x∈X:h(x)≠c*(x)}是h和c*的异或集。同时,分类器h的实验错误概率可以定义为:

根据海关数据的特点选用适当的分类模型,并将分类模型系统化,实现智能化风险布控是海关入境检疫和安全的巨大进步。

1 应用系统结构

基于先进的B/S 架构即浏览器和服务器架构开发应用系统,由3 个模块组成:Web 应用程序模块、数据处理模块、数据存储与分类模块。各模块功能和数据流如图1所示。

图1 系统模块功能框图

将来自于H2010/H2018 系统、e-CIQ 下发库、舱单管理系统的海关数据汇集到数据汇聚服务器中,通过数据的抽取、转换、清洗、加载等处理过程,完成多种形式表格数据的转化,并存入应用数据库中。编写Python 函数包,实现Python 与SQL 之间的调用,通过数据存储和分类模块对数据进行分类,并对系统的架构进行研究,实现较好的交互功能。

1.1 Web 应用程序模块

Web 应用程序模块的主要任务包括构建Web 页面的上传数据、模型选择与分析、训练过程、结果输出等服务控件。从应用数据库中提取数据文件,通过数据处理模块的数据规则进行清洗,完成数据清洗以及语义替换后,根据文献[1]所述完成模拟图像转化,将表格数据的处理转化为计算机处理的形式。该模块采用Deamweaver 10和Visual Studio 2012作为开发平台[2],通过将Deamweaver与Visual Studio相结合,可以大大提高数据库与Web 应用程序的集成效率,实现实时查询和访问更新数据库的功能。

1.2 数据处理模块

数据处理模块需要完成不同来源、格式和特点的数据在逻辑上或物理上的集中,提供3 个主要业务数据库,包含H2010H2018 报关单管理数据库、e-CIQ 下发数据库以及舱单管理数据库的数据共享,运用ETL(Extract-Transform-Load)工具[3]实现不同数据库之间海关数据的抽取、转换和加载。ETL 的基本流程如图2 所示。

图2 ETL 数据抽取和加工过程

1.2.1 增量数据抽取

抽取是在数据库中抽取表中新增或修改的数据,抽取要求准确性和稳定性。准确性是能够将业务系统中的变化数据按一定的频率(系统设计抽取时间为12 h)准确地捕获到;稳定性是不能对现有业务系统造成太大的压力,影响现有业务开展。因此,从现实使用效率和整体虚拟机集群的稳定性考虑,海关大数据分析系统相关数据库抽取选用增量抽取方式。

1.2.2 数据转换

将从3 个源数据库抽取的数据按照海关数据分类需求,对不同数据库抽取的表头、表体数据进行关联,为每条单证构建一张包含全部数据字段的数据表格。对不满足目的库海关数据分类要求的数据进行数据转换、清洗和加工,并对表格数据进行二维化,为神经网络提供训练数据集。

1.2.3 数据加载

将转换和加工后的数据装载到目的库中是ETL 过程的最后步骤。由于目的库是关系数据库,因此采用批量装载方法,运用sqlldr 等命令实现,采用这种方法进行的日志记录是可恢复的,具备更好的可追溯性和可靠性。

1.3 数据存储与分类模块

数据存储与分类模块是海关大数据分析系统的核心组成部分。运用Python tensorflow 3.7 架构,通过“数据加载—模型加载—模型训练和保存”3 个步骤,完成Resnet50[4]、Xception[5]、Mobilenet-V2[6]、BF-Net[1]等4 种网络训练模型的保存。该模块包含4 种使用原始海关数据训练完成的模型文件,以及在系统使用过程中对新抽取的海关数据进行训练的模型文件,具备增量数据训练功能和实时数据分类功能。网络模型编译由Python tensorflow 3.7 完成,为了实现Python 与SQL 之间的高效调用,我们对模型与数据库连接的编程做了相应研究。

数据库驻留表上的应用程序在尽可能接近数据的地方执行计算,通过对这些表的查询来表示计算。由于这些计算内容是即时性的,并可能首先占用应用程序的堆栈空间,因此在编程时需要利用现代数据库内核最新设计的数据处理能力,并避免提取太多具有一定规模的表内容。在数据库编程的过程中,难以一直坚持这样的规则,如果计算很复杂,大部分的应用程序就会用命令式的常规程序来实现。程序执行是在数据库内核之外执行的,与数据存在一定的距离;然后,这些程序通过嵌入式SQL 查询与数据绑定,并查询、识别和提取与下一个计算步骤相关的数据部分。Python 解释器和SQL 引擎的相互作用如图3 所示。

图3 Python 解释器和SQL 引擎的相互作用

为了提升数据库与网络模型之间的交互效率,编写Python 函数包,函数包包含while 嵌套和for 迭代,包括早期退出(break)、条件执行(if/else)、语句排序和变量引用/更新等命令式编程范式的特征结构。该函数包嵌入通过SQL语句发出的SQL 查询等操作,实现Python 与数据库之间的调用。任何编程语言和数据库后端都存在连接和部署的问题。在本系统中,主要用到Python3 和Python3 的Psycopg2 和pymysql 库[7],针对PostgreSQL 后端运用库实现广泛的数据库部署。

如图4 所示,PostgreSQL 从用户输入查询到最后结果的输出可以分为两大部分:前台处理和后台执行。其中后台执行又包含4 个部分:Parser、Rewriter、Planner、Executor。

图4 PostgreSQL 查询

基于函数包的应用程序在运行时,其性能通常可以达到调用的效果[8]。每次调用函数包都会在Python 解释器和SQL 数据库引擎之间产生一个常量。执行由Python 端启动,它遵循函数体的控制流。当嵌入式查询SQL(Qi, [v1, ...,vn])时,数据库引擎计划查询Qi(或从缓存中检索以前构造的计划),实例化计划参数v1, ...,vn操作,评估计划,然后将结果返回给Python 之前拆卸临时计划的数据结构。

图3(a)描述系统反复地为Qi的任务触发拆卸,如果SQL 查询是迭代的,则代价比较大,一个函数调用往往会导致计划和评估两位数以上的SQL 查询。基于函数包的方式可以有效地避免这种冗余情况,如图3(b)所示。

由于数据分类任务的实时性要求,将复杂的计算驻留在数据库系统[9]之外,采用函数包的编程方式实现Python 与SQL 之间的调用是非常有效的解决方案。

2 系统体系架构

海关大数据分析系统体系架构包含系统部署、系统数据和系统安全架构。系统部署架构如图5 所示。

图5 海关大数据分析系统部署架构

2.1 系统部署架构

应用和数据库独立部署在海关管理网Vmware虚拟平台。数据库独立部署采用读写分离,同时采用独立的存储保障数据的安全,提高系统的稳定性和可靠性。

2.1.1 数据流

通过ETL(Extract-Transform-Load)工具对增量数据进行抽取,完成表格数据抽取、清洗、合并过程,再通过内网交换平台汇聚到数据汇聚服务器,实现数据转换,生成模拟图像,并传输到数据库服务器。应用服务器通过API 接口调用模拟图像,进行海关数据分类识别,最后由系统计算每一条单证数据的分类结果。

2.1.2 可靠性

对海关大数据分析系统的应用和数据接口实现统一,对数据实现集中存储。基于海关内网已有虚拟化平台和服务器操作系统运行要求,该系统需兼容Vmware、KVM、QEMU等多种虚拟化平台环境,同时适用于x86 和Linux 等不同架构的操作系统。

2.1.3 扩展性

针对海关风险管理部门对系统的扩展性需求,该系统预留水平或垂直扩展条件,以充分利用硬件系统的资源,满足海关大数据分析业务场景扩展要求,提升系统对新出现表格数据类型的兼容性和适用性。

2.2 系统数据架构

海关数据信息主要包括海关管理的贸易态势以及综合业务、打击走私、关税征收、卫生检疫、动植检疫、食品安全、商品检疫、口岸监管等业务信息。在数据架构设计时,以海关报关和舱单数据为主,充分考虑模拟图像数据的处理和存储,以及数据库的使用性能,合理规避数据库的瓶颈,以此对数据进行分类分库处理。

2.2.1 数据管理

为抽取的数据建立统一的数据仓库,数据仓库支持数据服务管理和元数据管理,同时集成BI(Business Intelligence)工具支撑服务和组件,为元数据管理提供完整数据字典。数据仓库根据数据的生命周期,考虑了数据访问、数据传输、数据存储到数据销毁各环节的数据安全。

2.2.2 数据访问

海关监管人员日常访问操作需通过身份鉴别。数据库管理员的运维操作均须双因素认证,操作权限须经安全审批并进行命令级规则固化。系统会对违规操作进行实时报警。

2.2.3 数据存储

所有数据均采用碎片化技术进行保存,将数据分割成众多数据片段,并遵循不一样的随机算法将数据存储在服务器上。

2.2.4 数据销毁

采用内存释放和数据清空手段在需要清除数据时对所有数据进行彻底删除,数据库管理员应对数据库服务器和存储情况进行实时监控。

2.3 系统安全架构

针对系统涉及的应用和数据资源开展定期备份,并定期巡检备份日志和状态。同时,为确保数据和网络安全,需要对系统进行3 个方面的安全设计和管理:安全审计、访问控制、数据加密[10]。对接入系统的设备进行统一管理,对登录系统的用户身份进行识别和管理;加强用户权限的管理,实现特权用户的权限分离;对所有系统运维人员的全部操作行为进行记录;对物理资源和虚拟资源进行统一调度和分配。涉及对相关数据进行操作和使用时需要向相关业务主管部门进行申请审批。

2.4 系统软硬件运行环境

系统运行的软硬件环境为:Vmware 虚拟化平台,版本号为VmwarevCenter6.7;承载虚拟机的物理机集群为联想ThinkSystem SR850 +IBM V5000+EMC 存储网关,分配3 台服务器虚拟机资源用于该系统的部署维护。3 台服务器配置见表1 所列。

表1 虚拟机服务器配置参数

3 海关大数据分析系统

在传统方式下,海关监管人员需要逐一对近期需要通关的每一单进出口商品特别是进口商品开展风险分析,下达风险布控指令,工作压力巨大,且风险分析的效率和准确度较低。而风险布控的商品越多,一线海关查验人员的查验压力也越大。依托海关大数据分析系统,海关监管人员只需要点击分类的数据项,再在右边“选择模型&分析”栏目中选择用于分类的神经网络模型,点击“训练模型”,即可实现海关表格数据的自动风险分类。

海关监管人员依托该系统过滤掉大量的可以直接放行的低风险商品单证(一般情况下,1 000 条报关数据可以直接过滤掉800 条左右的低风险商品信息),大大提高了海关风险布控的效率。同时,根据高风险商品的分类信息下达相应的风险布控指令,进入查验环节,由此基本实现了海关智能化风险布控。另外,海关监管人员还可以对不同模型的风险判别结果进行交叉验证,根据国家政策调整和海关总署令的要求以及对外贸易的形势变化,选择严格或宽松的风险布控尺度,更好地实现人机交互。海关大数据分析系统如图6所示。

图6 海关大数据分析系统

4 结 语

本文提出用Web 应用程序、数据处理、数据存储与分类等3 个模块构建海关大数据分析系统。研究了应用系统体系架构,包括部署、数据、安全运维架构体系;分析了系统承载的软硬件环境。海关监管人员应用海关大数据分析系统可以大大提高风险布控的精准度和效率,减轻一线查验人员的负担,实现海关智能化风险布控。

猜你喜欢

数据分析系统海关架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
清代海关银锭漫谈
关于未纳入海关统计的货物贸易收支统计研究
外贸企业海关合规重点提示
利用GSM-R接口数据分析系统偏移的方法研究
焊接设备实时监测与数据分析系统在核电建造行业的应用
LSN DCI EVPN VxLAN组网架构研究及实现
清代广东十三行与粤海关
一种基于FPGA+ARM架构的μPMU实现