当前位置: 首页 > news >正文

华茂达建设集团网站wordpress site-name

华茂达建设集团网站,wordpress site-name,网络服务费,电子商务专业网站建设背景 随着公司业务的蓬勃发展#xff0c;交易履约清结算业务的复杂性也在不断的增高#xff0c;资金以及各种数据的一致性和准确性也变得越发重要。 以交易链路为例#xff0c;存在着如下一些潜在的不一致场景#xff1a; 订单支付成功了#xff0c;但是订单状态却还是“…背景 随着公司业务的蓬勃发展交易履约清结算业务的复杂性也在不断的增高资金以及各种数据的一致性和准确性也变得越发重要。 以交易链路为例存在着如下一些潜在的不一致场景 订单支付成功了但是订单状态却还是“待付款” 物流已经发货了但是订单上面还是“待发货” 订单用券成功了但是优惠券状态还是 “未使用” 订单参与活动下单成功了但是活动没有核销记录 … 上述每个业务场景都可能产生用户反馈给用户带来困扰。业务对账平台的核心目的就是及时发现类似问题并及时修复。使问题在反馈前即被提前处理。 需求分析 对账的概念随着金融、互联网行业的发展定义上也经历了几个阶段的变化如下 stage 1 对账最初来源于会计核算是为保证账簿记录正确可靠对账簿中的相关数据进行检查和核对的工作。stage 2 随着互联网金融或电商行业的发展对账也扩大了应用范围这一时期对账是指在固定周期内支付使用方和支付提供方银行和第三方支付相互确认交易、资金的正确性保证双方的交易、资金一致正确。stage 3 从广义来看所有的跨端系统之间的数据核对都应该叫对账主要是检查和发现数据在流转过程中的不一致问题。通常分为信息流的核对和资金流的核对。信息流核对主要是对业务数据之间的核对资金流是对资金交易数据进行核对。 想要构建一个通用的业务对账平台不可避免的要面临以下挑战 我们对于一个业务对账平台的核心诉求主要包括要方便业务系统快速接入要能处理业务方海量的数据并保证一定的实时性。这会深刻影响业务对账平台的系统设计。 系统分析 对账流程可以分解为 “数据加载”、“转换解析”、“数据对比”、“结果处理” 这 4 步。为了适应多样化的业务场景其中的每一步都需要做到可编排放置各种差异化的执行组件。在每一个流程节点需要通过规则可以自由选择嵌入哪个组件。其次需要把数据从原始格式转换到对账的标准格式基于标准格式就能做标准的通用对比器。总结起来我们认为对账引擎需要具备以下的能力 流程编排能力。 规则能力。 插件化接入能力。 对账数据标准格式 无论是信息流对账还是资金流对账我们都可以尝试把对账信息进一步归纳总结抽取出公共信息字段组成标椎数据格式便于对账引擎的设计。 基于此这里简单设计了一些标准对账字段如下 对账标准数据格式也可以再对账失败时进行落库操作便于对账告警自动修复人工查看等。 对账有一对一一对多 多对一 等关系比对数据主要分为 条目匹配状态匹配金额匹配等。raw_data 可以存放此数据便于对比。 对账方式 对账方式主要分为两种单向对账和双向对账。 单向对账以一方数据为基准进行对账。比如结算跟支付平台以结算数据为基准和支付平台核对用来发现结算数据为支付成功支付平台支付失败等问题。双向对账以双方的数据互为基准对账。既要保证结算数据为成功的支付平台也要成功又要保证支付平台数据为成功的结算数据也要成功。 显而易见双向对账更能够全面的发现问题。因此在条件允许的情况下我们会优先选择双向对账。 对账力度 对账粒度也分为两种分别是明细对账 和总数对账。 明细对账对双方的每条数据依次进行比对。它的优点是可以准确定位问题数据。缺点是对账口径的设计比较复杂。因为我们需要同时针对漏、重、错三种错误类别设计不同的对账口径同时还要考虑到业务的边缘场景。稍有不慎就会影响对账的准确性。总数对账选择一个维度进行总数级别的对账。总数级别的对账好处是对账口径的设计比较简单可以快速实现不易出错。缺点就是无法定位问题数据一旦对账发现问题。还需要进一步寻找问题数据。 推荐的做法应该是以明细对账为主定位具体问题。以总数对账为辅对明细对账的结果进行复核兜底。 对账时机 目前对账时机有2种 一种是离线对账一种是实时对账。两种模式再系统设计层面非常相似只有数据加载方式不同下面介绍两种对账模式的系统流程 离线对账 离线对账主要是通过固定的周期进行对账。最短周期为。它的好处是适用性较强基本可以覆盖所有的对账场景。一些离线定时对账场景单次对账的数据量可能达到百万级甚至千万级。这对对账平台的吞吐量造成了挑战。 离线对账有两种方法 常规方法是通过数据平台包含了所有要进行对账的原始主键数据如订单号将数据 push 到对账中心的 DB然后对账中心集群通过分片策略并按分页分批加载加载数据进行离线数据对比。 另一种则是当数据量超过千万时利用数据平台从 hive 表中获取数据然后投递到 MQkafka。每个对账服务实例都是一个 Consumer 负责从 MQ 拉取消息消费这样千万级的数据会变成消息被分散的对账服务器执行。 对账任务一般会选择在业务量较小的凌晨进行是因为在对账过程中可能会需要通过反查业务接口来获取实时数据。另一种方案是对账时不要对业务接口进行反查。但是会需要对业务数据进行准实时同步提前进入对账中心的 DB 集群。两者优缺点如下 结合我们自身业务我们这里采取的是第一种方式即由数据平台发送对账数据到 MQ对账平台通过 MQ 消息反查业务方接口进行数据对账。 实时对账 实时对账又可称为 在线对账或准实时对账往往基于业务消息进行触发指在事件被触发后的短时间内执行完对账任务。且事件消息触发可能会有高并发状态易改变等特点因此需要相应的架构来进行支持。 在线对账和准实时对账的区别主要是在线对账耦合在结算链路中可以在发现问题数据时对结算流程进行拦截而准实时对账是异步进行的不具备拦截能力。在线对账有一定的局限性一方面它依赖于对账数据是否能实时的准备好另一方面也比较占用系统资源。因此我们的做法应该是以周期对账为主在某些实时性要求比较高且条件满足的场景使用在线对账。 这里我们主要考虑准实时对账简单来说就是通过 监听 业务方 DB 的binlog 日志或者业务方本身的MQ投递到 MQ 并进行 binlog 解析由对账引擎消费 MQ 消息进行对账。 差错处理 差错处理主要是对数据核对过程中发现的问题数据进行处理。可以建立一个统一结构的差错记录将数据核对发现的问题进行统一存储。差错记录中的数据会进行二次核对避免由于日切 或者 状态时间差 等原因造成的问题错报。对于那些真实存在问题的数据可以提供两种解决模式如果是常见的问题且有一套标准的解决方案的话可以考虑把它系统化采取系统自动修复的方式如果系统无法自动修复那么我们会进行系统报警并进行人工处理。 日切在传统的银行业务中每日作业需要有一个结束的时间在该时间之后需要对当日尚未完成的业务进行集中处理并盘清当日的业务账目做好受理下一日业务的所有准备后即将记账日期更新为下一日。这一过程就叫日切。 系统设计 考虑到 离线对账和实时对账的特点对账引擎设计需要兼顾这两种类型的对账现设计对账引擎各个组件如下 其中 ResourceLoader 、Trigger Parser 、 Checker 、 ResultHandler 均为标准接口所有实现了对应接口的 spring bean都能被编排到对账流程之中包括业务方自己实现的 plugin。这样就实现了插件化和可编排。每个流程节点的功能如下 ResourceLoader 基于各种数据源DB、HIVE、RPC、REST 等提供加载器工厂加载各个数据源的原始数据。加载的方式支持驱动加载、并行加载、多方加载等方式。业务方也可以自己实现加载器利用流程编排能力嵌入到对账流程中。 Trigger对账触发器对账的触发主要依靠触发器针对不同类型的对账可以编写不同的触发器常用的触发器可由对账平台提供如 OrderTrigger订单触发器StockTrigger 库存触发器。 Parser 对已加载的原始数据进行建模转换为对账标准模型。 Checker 按照配置对指定字段、按指定规则进行比较利用规则引擎提供脚本化化对账方式或者自定义对账插件等。产生对账结果。 ResultHandler 使用指定的 handler 对结果进行处理常见的处理器包括持久化、发送报警、甚至直接修复数据等等。 其中 Config 作为对账平台的配置中心可以对 对账业务方进行配置编排也可提供对账的可视化功能。 实时对账设计要点 实时对账考虑基于业务MQ消息触发主要关注 实时性吞吐量等方面如消费速率消息堆积造成实时对账不准确问题。 设计中主要加入了 限流、取样、路由、等 pipeline 来处理高并发事件消息。同时在进入事件处理线程池之前需要进入阻塞队列避免大量的请求直接耗尽线程资源同时实现事件处理的异步化。处理线程批量定时从阻塞队列获取任务来执行。同时利用延迟阻塞队列还可以实现延迟对账的特性。出现不一致的情况时如果立即去进行对比往往还是不一致的。所以就需要根据情况在事件发生后的一段时间内再触发对比。 差错处理设计 在差错处理阶段可以建立一个统一的差错记录模型核心字段包括 对账场景、对账批次数据来源对账业务ID错误类型编码错误原因数据处理状态 等。通过定时任务定期轮询差错记录的方式发起差错处理流程首先对差错记录的数据进行二次核对如果二次核对确认这条数据并没有问题我们就会回更差错记录的处理状态。如果二次核对发现数据确实有问题。 可以提供两种处理模式。一种是通过系统的手段自动修复。另外一种是通过报警的方式人为介入。此外可以建立一个问题的人工处理模块。可以对一次结算流程的整个生命周期进行回放并针对特定场景提供一键修复的能力。 差错处理标准模型 差错处理流程 整体架构图 接入方式 我们提供了一个配置后台可以让用户编写脚本的方式实现对账。脚本使用了AviatorScripthttps://www.yuque.com/boyan-avfmj/aviatorscript 配置后台 失败明细
http://www.hkea.cn/news/14289024/

相关文章:

  • 网站设计过程介绍网站备案域名更改吗
  • 中国建设银行信用卡官网站南宁商城网站推广公司
  • 网站备案有什么坏处建立自己的网站用花钱吗
  • 快速做网站的软件php 公司网站
  • vue如何网站开发免费搭建企业网站
  • 广西网站建设原创咨询公司网站源码
  • 公司网站做优化注册域名之后如何建设网站
  • 酒店网站建设一般考虑哪些因素网站收录查询平台
  • 网页设计与制作建立站点实践报告良品铺子网站建设
  • cdr里做网站超级链接电子商务网站建设心得体会
  • 柳州做网站去哪家公司好做煤网站
  • 上海网站建设公司官网大连建设局网站
  • 印刷报价网站源码下载wordpress怎么分享到微信支付
  • 商城网站建设套餐报价360提交网站
  • 你第一个物流网站建设方案物流信息网站
  • 注册公司网站源码西安发布信息的平台
  • wordpress如何制作网站在线代理网页版proxy
  • 网站做微信公众号东莞网站建设乐云seo在线制作
  • 怎么自己设置网站模板一般给公司做网站怎么收费
  • 怎么寻找要建设网站的客户群互联网公司排名最新
  • 网站标题特效98证书兼职网
  • 广州铁路投资建设集团网站wordpress页面超链接
  • 网站优化推广是什么网站风格抄袭
  • 国外网页素材网站互联网推广销售好做吗
  • 1688域名网站现货市场交易平台
  • 怎么样用html做asp网站网站开发 数据库
  • 玉树商城网站建设网站开发设计大概多少费用
  • 如何做天猫网站免费网站模板
  • 建设培训网站建设个人注册网站怎么注册
  • 太仓网站优化wordpress官方空间