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.数据一致性

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

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

 

  

posted on 2018-12-07 17:54  ricoo  阅读(702)  评论(0编辑  收藏  举报