zoukankan      html  css  js  c++  java
  • 蚂蚁金服上链公共服务设计

    背景:

         重要事务上蚂蚁金服的链,能够出证。

         需求见:http://ax.homedo.com/YF-38996/  

         蚂蚁金服接口文档:https://tech.antfin.com/docs/2/130331

         为避免各个业务模块各自分别对接蚂蚁金服,避免上链代码对现系统的侵入性,充分解耦。

    概要设计:

         a.主要设计思路:

               1. 使用消息队列实现解耦,避免对现有系统性能造成影响。2. 各业务阶段,不需要关心具体存证相关业务信息,只提交信息。

         b.存证流程图:

               

         

          流程说明:

          c.接口实现:

              字段定义: 

    字段名称类型是否必填字段说明
    businessId string   业务ID。与证据事务ID绑定的业务ID,能标识此证据链的唯一值;如订单ID
    businessType string   存证事务类型。 见背景中的需求。可对应到创建事务接口中的sub_biz_id
    accountId integer   用户的ID。根据此ID从用户服务接口获取用户相关信息,填入到事务请求接口。
    evidenceId string  

    当前存证内容的凭据ID,查询阶段能够根据此ID查找本次接口调用的存证内容;各业务模块自定义。 如:订单的各阶段证据,可以使用“订单ID+状态码”

    notaryContent string   存证内容。Json格式字符串
    contentVersion string   存证内容版本号。自己定义,以便响应后期内容的格式变动
    clientData.
    version
    string   接口版本号。公共服务定义 v1.0.0

              实现方式:接口最好是封装成SDK,SDK内进行基本信息的校验和消息队列的对接             

    d. 数据库设计:

          a. 事务ID和业务ID的绑定关系,并保存有用户ID,存证事务类型,最好把返回的重要信息都保存

          b. 存证凭据(tx_hash)和 阶段ID的对应关系,并保存存证成功后返回的重要信息。

       详细:

           

  • 相关阅读:
    P2437 蜜蜂路线题解
    P1044 栈题解
    P1002 过河卒题解
    P1433 吃奶酪题解
    组合数公式
    P1036 选数题解
    十进制转二进制方法整理
    golang学习笔记 ---工作区与GOPATH
    golang学习笔记---闭包
    golang学习笔记---类型
  • 原文地址:https://www.cnblogs.com/cxxiao/p/12579404.html
Copyright © 2011-2022 走看看