短信写卡处理流程
短信写卡
特别注明会出现的意外情况:
如果服务在业务处理时突然停止,会导致部分正在处理的数据脱离业务处理边界,无法被继续处理,针对此种情况,后续需要根据实际情况制定特殊处理方案。
sequenceDiagram
远程写卡平台前端-->>远程写卡平台后台:准备短信写卡
alt 调用失败
远程写卡平台前端-->>远程写卡平台前端:服务出错,请联系管理员处理
else 成功
远程写卡平台后台->>远程写卡平台后台:记录短信写卡请求
远程写卡平台后台->>短信服务:拼装短信内容
end
alt 调用短信服务失败
远程写卡平台后台-->>远程写卡平台后台:修改短信写卡请求状态为调用写卡服务失败,以备定时任务处理
远程写卡平台后台-->>短信服务:定时处理调用写卡服务失败的写卡请求
else 成功
远程写卡平台后台->>短信服务:拼装短信内容
短信服务->>短信服务:发送短信并记录发送的内容
end
alt 调用短信网关失败
短信服务-->>短信服务:未收到网关回复,处理结果为空
短信服务-->>网关中心:定时处理处理结果为空的写卡请求
else 成功
短信服务->>网关中心:拼装短信头下发短信
end
网关中心->>模组:收到短信解析短信
alt 模组支持短信功能
模组->>网关中心:回复短信内容
else 模组不支持短信功能
模组->>短信服务:BIP上行,建立TCP或者UDP连接
end
alt 短信回复
网关中心->>短信服务:拼装短信头回复短信
else BIP上行
模组->>短信服务:TCP或者UDP上报写卡结果
end
alt 调用远程写卡平台后台失败
短信服务-->>短信服务:修改短信回复或者BIP回复状态为处理失败
短信服务-->>远程写卡平台后台:定时处理短信回复或者BIP回复状态为处理失败的数据
else 成功
短信服务->>远程写卡平台后台:取出短信或者BIP内容
end
远程写卡平台后台->>远程写卡平台后台:解析短信或者BIP内容确定写卡结果
远程写卡平台前端->>远程写卡平台后台:查看写卡结果
BIP 数据传输步骤
模组发起的 TCP 连接并不需要服务端做出明确的相应,模组只会按照指定的操作步骤去处理。
sequenceDiagram
模组->>短信服务:建立TCP连接
alt 建立TCP连接成功
模组->>短信服务:发送数据
短信服务->>模组:关闭连接
else 建立TCP连接失败
模组-->>短信服务:关闭连接
end