zoukankan      html  css  js  c++  java
  • Others-接口集成方式

    1. 异步通信方式可分为不互锁、半互锁和全互锁三种类型:

     a.不互锁方式

      主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间。确认从模块已收到请求信号后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认主设备已收到回答信号后,自动撤消回答信号。可见通信双方并无互锁关系。

        b.半互锁方式

      主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。

        c.全互锁方式

      主模块发出请求信号,待从模块回答后再撤其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。 

     

    2.接口业务逻辑处理步骤:

     接口集成过程中需注意以下几点:

     2.1每条记录需有三个字段:关键值/下发标识/结果标识及消息

     2.2接口数据与业务处理尽量分离(需判断接口数据量)

     2.3必须遵循握手机制

     2.4错误记录的及时反馈及处理

     a.若为发送方

      1.获取未下发的记录(排除已下发成功或是失败的记录,若是记录下发后返回错误则需业务人员处理后标记为未下发状态)

      2.调用下游系统提供的接口

      3.若下游系统无反馈,则下发标识为空,若下游系统有反馈值,则当前记录下发标识为X。

       同步则立即获取返回结果,并在数据表中标识当前记录的结果及消息文本。

       异步则后续根据下游系统的反馈值来判断当前记录的执行结果。

     b.若为接收方

      1.将初始传入参数进行存储(历史记录)

      2.传入值校验,是否数据有误

      3.编写业务处理逻辑

      4.执行结果输出并返回给上游系统

      5.日志记录并消息推送相关责任人(错误记录需业务人员及时处理)

    3.接口集成过程中出现的各类问题:

     a.通讯异常

      接口通信过程中出现超时或是其他异常,而导致下游无返回值,则当前记录需要重新下发。

     b.接口数据量大

      多线程处理

      数据分批轻量化

      接口数据与业务分离,接口中尽量不做业务逻辑处理(接口数据先存储后处理--需数据准确前提)。

     c.接口数据类型

      上下游接口数据类型及字段长度不一致  

     d.业务处理逻辑

      严谨:业务前后逻辑需严谨,不要出现边改订单边入库现象。

      先后:业务逻辑处理先后顺序需谨慎,不要出现物料操作出库而该物料还未入库的情况。

      逻辑:上下游系统对业务的理解不一致而导致业务处理逻辑不同。  

     e.业务异常处理

      通知:接口出现异常需要及时告知用户(特别是异步作业后台处理模式)

      处理:接口问题需要及时反馈并处理,特别是财务集成度较高的业务,前端业务错误容易对后续业务造成连锁反应。

      日清:异常问题必须日清处理。

     f.数据一致性

      上下游系统数据在任意某个时间点数据需保持一致,若出现差异,急及时检查接口握手机制是否符合要求。

      上下游系统数据出现差异都是灾难级的,需消耗很大资源去核对数据。

     

      

  • 相关阅读:
    关于CSS网页布局id与class命名的问题
    JavaScript弹出层技术探讨文章收藏
    Jquery实现弹窗
    Asp.net中时间格式化的几种方法
    新建商品时,导入商品,随机文件名称的形成
    Linux问题:Crontab 执行shell脚本时相对路径的问题,不能识别。
    linux环境php扩展pdo_mysq安装l错误
    测试php代码的运行时间
    Apache的工作方式
    PHP时间处理
  • 原文地址:https://www.cnblogs.com/ricoo/p/10064686.html
Copyright © 2011-2022 走看看