CN109408546A - 一种流式数据处理方法及装置 - Google Patents
一种流式数据处理方法及装置 Download PDFInfo
- Publication number
- CN109408546A CN109408546A CN201811206809.4A CN201811206809A CN109408546A CN 109408546 A CN109408546 A CN 109408546A CN 201811206809 A CN201811206809 A CN 201811206809A CN 109408546 A CN109408546 A CN 109408546A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- task
- overall identification
- spark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种流式数据处理方法及装置,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;所述流式数据处理方法包括业务数据库、内存计算模块Spark和离线计算模块Hive,包括如下步骤:从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种基于大数据处理技术的流式数据处理方法及装置。
背景技术
现有的流式数据处理应用较为广泛,流式数据处理的特点是持续生成订单数据和消费数据。
信账宝账户系统是以信托法理为依据开发的集权益账户、财产账户和资金账户功能为一体的综合金融账户。信账宝系统以信托法理制度为基础,以账户系统为核心。账户系统功能延展性极强,具有极强的金融业务牌照属性。信托账户是权益账户和资金账户功能为一体的综合金融账户,能够全面对个人/法人“存款、投资、保险、消费、贷款”各类金融资产和负债进行管理的信托综合账户系统。
由于信托业务本身的特点,信账宝账户系统的账户类型较多,且账户之间关联关系复杂多样;系统内订单流转流程复杂,由于与外部系统的对接导致订单完成存在时延不确定的问题,即订单完成的时间不确定;系统内各子系统之间没有统一的订单编号;这些客观原因导致在系统内追踪订单较困难,且整个系统较难做到将某个业务流程的完整订单流程串联起来。如果通过对业务系统进行修改来解决上述问题,一方面业务逻辑流程需要较大改动,表结构及所有涉及的接口都需要修改;另一方面,对于大量历史数据的处理也需要慎重考虑。因此业务系统改动代价比较大。
spark是一个快速且通用的集群计算系统。它提供了Java、Scala、Python和R的高级api,以及支持一般执行图的优化引擎。它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL、用于机器学习的MLlib、用于图形处理的GraphX和Spark流。
oozie是一个管理Hadoop作业的工作流调度系统。
oozie与Hadoop堆栈的其他部分集成在一起,支持多种类型的Hadoop作业(如map-reduce、Pig、Hive、Sqoop)以及特定于系统的工作(如Java程序和shell脚本),也支持spark类型作业。
oozie是一个可扩展、可靠和可扩展的系统。
发明内容
本发明的目的在于提供一种对已有业务系统的数据在宏观层面进行改造,不需要现有业务系统进行任何改动,将各子系统间的订单数据增加全局标识,从而易于将数据进行关联融合。
本发明的技术方案为,一种流式数据处理方法,其特征在于,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理方法包括业务数据库、内存计算模块Spark和离线计算模块Hive,包括如下步骤:
从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务;
从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立原始订单数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段的任务;所述完成增加全局标识字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识字段的任务,并且完成增加全局标识字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识字段的spark任务与前面任务类似,后续流程以此类推。
进一步地,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
进一步地,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
进一步地,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立了hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
一种流式数据处理装置,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理装置包括业务数据库、内存计算模块Spark和离线计算模块Hive;
所述流式数据处理装置包括全局标识模块,用于从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务;
所述流式数据处理装置从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立原始订单数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段的任务;所述完成增加全局标识字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识字段的任务,并且完成增加全局标识字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识字段的spark任务与前面任务类似,后续流程以此类推。
进一步地,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
进一步地,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
进一步地,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立了hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
本发明的有益效果在于,本发明通过对已有业务数据实时添加全局订单标识,不需要现有业务系统做任何改动,将订单流转流程在各子系统间关联起来,实现了互联网信托业务对复杂的订单流程跟踪、回溯的需求。
附图说明
图1为本发明的架构示意图。
图2为本发明的数据处理流程示意图。
具体实施方式
以下结合附图和实施例对本发明的技术方案作详细说明。
如图1和图2所示,一种流式数据处理方法,其特征在于,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理方法包括业务数据库、内存计算模块Spark和离线计算模块Hive,包括如下步骤:
从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识(标示),通过所述spark完成对每个子系统相关表增加全局标识(标示)的任务;
从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立业务数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段(标示)的任务;所述完成增加全局标识(标示)字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识(标示)字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识(标示)字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识(标示)字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识(标示)字段的任务,并且完成增加全局标识(标示)字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识(标示)字段的spark任务与前面任务类似,后续流程以此类推。
进一步地,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
进一步地,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
进一步地,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立了hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
一种流式数据处理装置,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理装置包括业务数据库、内存计算模块Spark和离线计算模块Hive;
所述流式数据处理装置包括全局标识模块,用于从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务;
所述流式数据处理装置从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立原始订单数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段的任务;所述完成增加全局标识字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识字段的任务,并且完成增加全局标识字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识字段的spark任务与前面任务类似,后续流程以此类推。
进一步地,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
进一步地,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
进一步地,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立了hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
以上的描述仅仅涉及本发明的一些具体实施方式,任何本领域的技术人员基于本发明的精神所做的替换或改进均应为本发明的保护范围所涵盖,本发明的保护范围应以权利要求书为准。
Claims (8)
1.一种流式数据处理方法,其特征在于,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理方法包括业务数据库、内存计算模块Spark和离线计算模块Hive,包括如下步骤:
从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务;
从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立原始订单数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段的任务;所述完成增加全局标识字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识字段的任务,并且完成增加全局标识字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识字段的spark任务与前面任务类似,后续流程以此类推。
2.根据权利要求1所述的流式数据处理方法,其特征在于,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
3.根据权利要求1或2所述的流式数据处理方法,其特征在于,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
4.根据权利要求3所述的流式数据处理方法,其特征在于,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
5.一种流式数据处理装置,应用于大数据综合处理系统,所述大数据综合处理系统对接多个信托综合账户系统,所述多个信托综合账户系统包括订单系统和多个系统内部子系统;
所述流式数据处理装置包括业务数据库、内存计算模块Spark和离线计算模块Hive;
所述流式数据处理装置包括全局标识模块,用于从所述多个系统内部子系统中选定源头子系统的订单号为系统全局标识,通过所述spark完成对每个子系统相关表增加全局标识的任务;
所述流式数据处理装置从所述系统内部子系统的业务数据库采集业务数据并在所述离线计算模块hive仓库对应建表,建立原始订单数据表A、B、C,作为后续工作流任务的输入dataset;
完成所述数据表A的采集和hive建表后,对所述数据表A增加全局标识字段的spark任务将检测到数据表A已完成采集建表,自动启动对所述数据表A增加全局标识字段的任务;所述完成增加全局标识字段任务后的数据表A将作为下游订单数据表B处理的输入dataset;
进一步地,对所述数据表B增加全局标识字段的spark任务作为一个工作流,它依赖所述数据表B和增加全局标识字段后的所述数据表A作为输入dataset,即对所述数据表B增加全局标识字段的spark任务工作流会检测到所述数据表B采集建表完成、并且所述数据表A增加全局标识字段的spark任务也完成后,才会自动启动对所述数据表B增加全局标识字段的任务,并且完成增加全局标识字段任务后的所述数据表B将作为下游订单数据表C处理的输入dataset;
进一步地,对数据表C增加全局标识字段的spark任务与前面任务类似,后续流程以此类推。
6.根据权利要求5所述的流式数据处理装置,其特征在于,所述大数据综合处理系统从所述业务数据库采集业务数据的步骤中,采集的频率按实时性要求来进行调整。
7.根据权利要求5或6所述的流式数据处理装置,其特征在于,所述大数据综合处理系统包括资源管理与调度模块Yarn、分布式文件系统HDFS、全量/增量采集模块Sqoop,以及工作流调度模块oozie。
8.根据权利要求7所述的流式数据处理装置,其特征在于,所述全量/增量采集模块Sqoop从业务数据库采集到数据,存储在所述分布式文件系统HDFS,在此基础上建立hive仓库;对于采集过来的数据通过所述spark进行整合,统计、分析,数据挖掘;这些采集数据任务,及spark任务,通过所述oozie调度系统统一进行调度执行;由应用层向外提供全面的数据服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811206809.4A CN109408546A (zh) | 2018-10-17 | 2018-10-17 | 一种流式数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811206809.4A CN109408546A (zh) | 2018-10-17 | 2018-10-17 | 一种流式数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408546A true CN109408546A (zh) | 2019-03-01 |
Family
ID=65468302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811206809.4A Pending CN109408546A (zh) | 2018-10-17 | 2018-10-17 | 一种流式数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408546A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209646A (zh) * | 2019-05-14 | 2019-09-06 | 汇通达网络股份有限公司 | 一种基于实时流式计算的数据平台系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530395A (zh) * | 2013-10-22 | 2014-01-22 | 金蝶软件(中国)有限公司 | 数据追踪方法及装置 |
CN105574008A (zh) * | 2014-10-11 | 2016-05-11 | 华为技术有限公司 | 应用于分布式文件系统的任务调度方法和设备 |
CN106251198A (zh) * | 2016-07-27 | 2016-12-21 | 潘志焱 | 一种可追溯来源的供货单处理方法及系统 |
CN107295490A (zh) * | 2016-03-31 | 2017-10-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种来电转移的方法、装置及终端 |
-
2018
- 2018-10-17 CN CN201811206809.4A patent/CN109408546A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530395A (zh) * | 2013-10-22 | 2014-01-22 | 金蝶软件(中国)有限公司 | 数据追踪方法及装置 |
CN105574008A (zh) * | 2014-10-11 | 2016-05-11 | 华为技术有限公司 | 应用于分布式文件系统的任务调度方法和设备 |
CN107295490A (zh) * | 2016-03-31 | 2017-10-24 | 宇龙计算机通信科技(深圳)有限公司 | 一种来电转移的方法、装置及终端 |
CN106251198A (zh) * | 2016-07-27 | 2016-12-21 | 潘志焱 | 一种可追溯来源的供货单处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
李爽: ""基于Spark的数据处理分析系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
董妍妍: ""基于Hadoop的Teradata数据仓库日志分析系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209646A (zh) * | 2019-05-14 | 2019-09-06 | 汇通达网络股份有限公司 | 一种基于实时流式计算的数据平台系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238409B2 (en) | Techniques for extraction and valuation of proficiencies for gap detection and remediation | |
CN108829731A (zh) | 数据分析方法、系统、计算机可读存储介质、及电子终端 | |
CN108037919A (zh) | 一种基于web的可视化大数据工作流配置方法及系统 | |
CN110245023A (zh) | 分布式调度方法及装置、电子设备以及计算机存储介质 | |
US20210117889A1 (en) | Co-operative resource pooling system | |
Kun et al. | Application of big data technology in scientific research data management of military enterprises | |
US20220374814A1 (en) | Resource configuration and management system for digital workers | |
CN109408602A (zh) | 一种大数据综合处理方法及系统 | |
Mondal et al. | Role of machine learning in ETL automation | |
CN109408546A (zh) | 一种流式数据处理方法及装置 | |
Mirzaei et al. | Investigating challenges to SME deployment of operational business intelligence: a case study in the New Zealand retail sector | |
Gupta et al. | Impact of Big Data to Analyze Stock Exchange Data Using Apache PIG | |
US20230042458A1 (en) | Data processing for spend control and budget management | |
US11714813B2 (en) | System and method for proposing annotations | |
CN112395371B (zh) | 一种金融机构资产分类处理方法、装置及可读介质 | |
HewaNadungodage et al. | GStreamMiner: A GPU-accelerated data stream mining framework | |
US20210334729A1 (en) | Human resources performance evaluation using enhanced artificial neuron network and sigmoid logistics | |
CN112364071A (zh) | 货值数据分析方法及系统 | |
CN104933616A (zh) | 金融服务器的数据处理方法和装置及系统 | |
Kekre et al. | OM practice—balancing risk and efficiency at a major commercial bank | |
US11961418B2 (en) | Dynamically providing virtual reality (VR) coaching using real-time feedback loops | |
Kazim | Enhancement of Government Services through Implementation of Robotic Process Automation-A Case Study in Dubai | |
Williams | Outthink cognitive hype: Creating a business-driven cognitive strategy | |
US20210374026A1 (en) | System and method for automated desktop analytics triggers | |
Huttunen | Lean and automation in data-driven financial management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |