您好, 访客   登录/注册

大数据分析在一卡通清算结算系统中应用的研究

来源:用户上传      作者:杨劲 龚洁华 黄鹏 黄磊 李延宏 莫龙

  摘   要:交通一卡通是城市交通服务的基础能力之一,大部分城市能在公交、地铁、轮渡、出租车等场景下使用一卡通。以广州为例,一卡通每日产生数千万频次的交易,加上运营活动数据、城市基础数据等,一卡通系统的数据存储量十分庞大。如何更好地管理和运用这些数据,是行业不断面临的挑战。为解决该问题,本文将大数据技术应用到交通支付行业中。近年来,大数据的分析工具在飞速地发展,处理海量数据越来越成熟,在企业的应用也日益广泛。一卡通清算结算需要处的理大量卡片相关数据,可以借助zookeeper、kafaka和storm等大数据应用技术搭建数据处理平台,对消费和充值的交易数据进行处理分析,判断卡片的实际交易情况,产生商户的结算报表,提高企业运营效率。
  关键词:大数据分析  zookeeper  kafaka  storm  一卡通  清算
  1  一卡通清算结算现状
  一卡通票卡能在城市公交、轮渡、地铁以及延伸的便利店、超市等场景使用[1],为人们日常支付提供了便利,是一种便捷、绿色的支付手段[2]。
  一卡通日均交易数据量以千万计算,历史数据达到数百亿条,其清算结算系统的建设需要使用到大数据工具[3],以达到功能完备、性能高效、扩展方便的效果,实现数据资源的规范统一管理,提高开发能力,高效处理联机消费和脱机消费数据,实现交易数据有效清分,并提供高效、安全、准确的数据统计、数据查询等功能[4]。系统作为核心的数据处理系统,与发行、充值、消费、客服等系统有良好对接,并支持其他支付方式的接入与发展。
  2  数据处理平台
  系统与外部的接口协议包括:FTP、SOCKET、HTTP。电脑浏览器可以通过HTTP HTML对系统进行交互访问。手机移动端可以通过socket接口查询卡片的交易记录。系统数據采集信息包括:消费数据、充值数据、客服信息、黑名单信息和渠道商户信息上传和下载可以通过FTP/SOCKET/HTTP等协议进行。
  业务逻辑层包含使用socket/ws接口、HTML/JSP/Servlet、FineReport、JDBC等J2ee Web应用,也包含数据接口FTP服务和SOCKET服务等服务组件。
  数据处理层是系统的核心组件层,负责对消费、充值、客服、黑名单和渠道商户等信息进行处理,处理包括:入库、校验数据有效性、上下笔数据核查和交易数据的统计分析。使用实时流处理storm计算框架为系统数据处理引擎。zookeeper作为资源配置管理服务器,为storm做资源负载均衡调节;消息队列采用的kafaka消息中间件,以处理高吞吐的海量数据。高速缓存redis作为缓存中间件,存储基本配置数据和处理过程的监控信息;另外核查数据也存储在redis中,为数据核查程序进行各种数据核查提供基础。系统采用oracle客户端程序sqlloader作为数据入库程序,以满足快速入库的要求[5]。
  3  关键设计
  3.1 文件检查拓扑设计
  文件检查是从数据包和包内文件的角度对所有上传到FTP的数据包进行有效性的判断。如出现无效的压缩包,需及时通知用户重新上传压缩包。对于通过文件处理的压缩包,其内部所有数据会交给数据预处理进行数据的有效性校验。对所有文件进行校验的节点有FTP文件完整性校验、文件包基础校验、文件包内完整性校验、包内文件基础校验、包内文件行格式校验。对于交易数据文件还需要文件内重复性校验以及文件内上下笔校验。
  3.2 数据预处理
  数据预处理阶段是对于经过文件处理的文件内的各行数据进行校验,主要分为交易数据和非交易数据。对于非交易数据,在文件处理的行格式校验阶段已对字段长度进行了校验,在数据预处理阶段会直接把数据保存到数据库中。而对于交易数据,则需要进一步校验以判断数据的有效性。根据校验类型的不同可以把数据预处理划分为字段基础校验、票卡有效性校验、TAC码校验、延迟上传检查、历史数据查重。对于所有校验都通过的记录判定为有效记录,将有效的记录根据来源文件进行文件保存和统计,最终生成清分结果文件返回给用户。判定有异常或者无效的数据,把数据分发到异常处理流程。
  3.3 数据核查
  数据核查是对通过预处理的数据做进一步的检查、分析过程。数据核查按照业务功能可以把核查分为SAM卡脱机交易流水号断号核查和交易数据核查这两个独立的子流程。核查分为:
  (1)交易设备流水号连续性核查;
  (2)票卡交易计数连续性核查;
  (3)票卡余额连续性核查;
  (4)票卡余额溢出核查。
  4  结语
  清算结算系统采用大数据处理的工具,降低了开发的难度。系统的各组件模块及标准函数保持很高的独立性与较低的耦合度。系统在设计上对各类组件模块的易维护性、复杂性等做了平衡,使得复杂度高的模块保持较高的可重用性与较低的维护频率,使得相对容易随业务变化而调整的模块容易开发和维护,进一步增强了系统的可维护性。
  参考文献
  [1] 杨磊.城市一卡通系统的设计和实施[D].华东师范大学,2010.
  [2] 黄卓.城市交通卡联机消费系统设计与实现[D].广东工业大学,2016.
  [3] 陈云龙.城市一卡通清结算系统的设计与实现[D].东南大学,2016.
  [4] 陈赣,陈喆.交通智能卡的结算体系[J].中国交通信息产业,2006(11):96-99.
  [5] 方秋水,陈卫国,何建兵,等.分布式计算技术在交通一卡通清分管理系统中的应用研究[J].计算机应用与软件,2018,35(3):102-105,113.
转载注明来源:https://www.xzbu.com/1/view-15273236.htm