APP下载

一种离线电子钱包交易的双向容错控制方法

2021-01-30杨平平

电子技术与软件工程 2020年22期
关键词:序列号离线钱包

杨平平

(南京通联信息科技有限公司 江苏省南京市 210032)

城市公共交通IC 卡的广泛应用,为方便百姓出行提供了安全、高效的支付方式,并以此作为城市公共服务的技术支持平台,提供多种信息和资源的共享,为加强政府公共服务职能起到了积极的推动作用。

城市公共交通的特点是交易频次高、单笔金额小,由于终端与卡片交易时双离线的特点,卡片消费扣款后,由于卡片、终端以及网络等多种因素,交易数据可能会滞后上传或交易丢失,从而导致系统交易清分清算差异,造成电子钱包实际金额与电子钱包账户余额不一致,并导致结算不准。所以在城市通卡领域,如何保证离线电子钱包交易的准确性和一致性,具有重要的现实意义。

基于电子钱包交易时双离线的特点,通过芯片技术、智能终端技术、网络技术、系统技术的应用,提供了一种离线电子钱包交易的双向容错控制方法,提高了电子钱包离线交易的可靠性和准确性。

1 容错控制方法总体设计

本方法的目的是基于离线电子钱包交易造成的电子钱包与系统账户之间的差异,设计一种对离线电子钱包的异常进行双向容错控制的方法,基于该方法可以识别判断当前电子钱包交易是否跳变,从而解决因交易数据滞后上传或丢失引起的结算差异等一系列问题,为实现离线电子钱包的交易准确性打下坚实基础。

本方法的具体技术方案包括以下几个步骤:

步骤一:如果卡片交易序列号跳变,说明电子钱包交易丢失,需要进行交易恢复控制。

步骤二:针对离线电子钱包交易,使用终端交易序列号跳变分析方法,判断离线电子钱包交易是否滞后上传或丢失。

本方法,是基于离线电子钱包交易进行设计,交易字段里面设计了卡交易序列号、终端交易序列号两个字段,通过卡片交易序列号与终端交易序列号进行双向容错控制,卡片交易序列号监测到卡片交易序列号跳变后,基于交易恢复金额进行电子钱包账户平账与电子钱包交易进行恢复处理;终端交易序列号跳变处理模块主动监测终端交易序列号的连续性,如发现终端交易序列号序号不连续,形成交易补采文件下发到指定的终端,终端根据补采文件生成交易补采文件上传,离线电子钱包交易系统获取到交易补采文件后,进行清分清算。

总体设计流程图,如图1所示。

图1:总体设计流程图

图2:卡片交易序列号跳变监测算法流程图

图3:卡片交易序列号容错控制算法流程图

2 卡片交易序列号容错控制

针对离线电子钱包交易,提供了一种容错控制方法,根据卡片交易序列号跳变监测,来判断电子钱包交易是未上传或交易数据丢失。卡片交易序列号跳变监测算法流程如图2所示。

其过程可用算法1 描述。

2.1 算法1:卡片交易序列号跳变监测算法

输入:电子钱包交易数据记录

输出:卡片交易序列号是否跳变

(1)输入离线电子钱包交易记录;

(2)提取当前离线电子钱包记录中的卡片交易序列号,将记录中的卡片交易序列号与卡片交易序列号监测模块中记录的最近一笔卡片交易序列号进行比较;

图4:终端交易序列号跳变监测算法流程图

图5:终端交易序列号容错控制算法流程图

(3)如当前电子钱包交易中的卡片交易序列号-1 ≠卡片交易序列号监测模块记录的最近一笔卡片交易序列号,说明卡片交易序列号跳变,输出卡片跳变

(4)将最近一笔终端交易序列号更新为当前记录中终端交易序列号;

(5)卡片交易序列号跳变监测结束。

根据卡片交易序列号跳变监测结果,来判断电子钱包交易是否丢失,如卡片交易序列号跳变,需对电子钱包交易进行容错控制。卡片交易序列号容错控制算法流程如图3所示。

其过程可用算法2 描述:

2.2 算法2:卡片交易序列号容错控制算法

输入:当前离线电子钱包交易记录,卡片交易序列号跳变

输出:电子钱包交易恢复

(1)输入当前离线电子钱包交易记录、卡片交易序列号跳变;

(2)检索电子钱包账户表(电子钱包账户表信息:卡面号、卡内号、卡种、卡余额、卡内余额、最近一次消费金额、最近一次消费日期、最近一次消费交易序列号、最近一次充值金额、最近一次充值日期、最近一次充值交易序列号、上一次充值认证号、最近一次充值认证号、总消费次数、总消费金额、总充值次数、总充值金额、创建时间、更新时间);

(3)将电子钱包账户表中的账户余额-离线电子钱包记录中的交易前余额=相差余额,再将相差余额-电子钱包消费记录中的交易金额=交易恢复金额;

(4)根据交易恢复金额,进行电子钱包账户平账,并将交易恢复金额对电子钱包账户记录表进行记扣(电子钱包账户余额-交易恢复金额、卡内余额用交易前金额-交易金额替换);

(5)基于卡号、交易恢复金额、交易恢复时间,形成交易明细表,并进行清分清算;

(6)卡片交易序列号容错控制结束。

3 终端交易序列号容错控制

针对离线电子钱包交易,本方法根据终端交易序列号跳变监测,来判断电子钱包交易是未上传或交易数据丢失。终端交易序列号跳变监测算法流程如图4所示。

其过程可用算法3 描述:

3.1 算法3:终端交易序列号跳变监测算法

输入:电子钱包交易数据记录

输出:终端交易序列号是否跳变

(1)输入离线电子钱包交易记录;

(2)提取当前离线电子钱包记录中的终端交易序列号,将记录中的终端交易序列号与终端交易序列号监测模块中记录的最近一笔终端交易序列号进行比较;

(3)如当前电子钱包交易中的终端交易序列号-1 ≠终端交易序列号监测模块终端记录的最近一笔终端交易序列号,说明终端交易序列号跳变,输出终端交易序列号跳变;

(4)将最近一笔终端交易序列号更新为当前记录中终端交易序列号;

(5)终端交易序列号跳变监测结束。

根据终端交易序列号跳变监测结果,来判断电子钱包交易未上传或交易数据丢失,如终端交易序列号跳变,需对电子钱包交易进行容错控制。终端交易序列号容错控制算法流程如图5所示。

其过程可用算法4 描述:

3.2 算法4:终端交易序列号容错控制算法

输入:电子钱包交易数据记录,终端交易序列号跳变

输出:电子钱包交易恢复

(1)输入离线电子钱包交易记录(电子钱包交易记录信息:卡内号、卡面号、消费卡型、卡种、交易类型、上/下车时间日期、终端交易序列号、卡交易序列号、PSAM 卡交易序列号、交易金额、交易前余额、错误代码、清算日期、发卡机构号、城市代码、公司代码、采集点代码、POS 机号、PSAM 终端机编号、文件类型、POS 机载体编号、采集日期、交易日期、终端机发送序号、补采时间、交易类型标识、手续费、换乘优惠类型、换乘优惠金额、保留数据、保留字段、充值认证号、SAM卡号、机具程序版本号、版本更新时间、入库时间);

(2)提取当前离线电子钱包记录中的终端交易序列号;

(3)根据终端交易序列号跳变结果,计算记录中的终端交易序列号与最近一笔终端记录的交易序列号间隔的序列号;

(4)终端交易序列号监控模块记录终端号、间隔的终端交易序列号数据集并形成终端交易补采数据记录,同时将最近一笔终端交易序列号更新为当前上来的终端交易序列号;

(5)批处理模块基于终端交易补采数据记录,形成终端交易补采文件,并将终端补采文件下发到对应的终端;

(6)终端收到补采文件后,根据补采的终端序列号,检索出终端中对应的电子钱包交易,并将检索的交易记录进行打包上传;

(7)离线电子钱包交易系统收到补采的电子钱包交易,进行清分清算(电子钱包账户记扣,形成交易明细记录);

(8)终端交易序列号容错控制结束。

4 结束语

通过电子钱包离线交易形成卡片电子钱包金额与系统电子钱包账户金额数据的差异性分析,建立了一种离线电子钱包交易容错控制的模型,通过卡片交易序列号、终端交易序列号监测分析与控制,提高了离线电子钱包交易的准确性。

猜你喜欢

序列号离线钱包
异步电机离线参数辨识方法
网上理财陷阱多 捂紧钱包别上当
呼吸阀离线检验工艺与评定探讨
浅谈ATC离线基础数据的准备
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
钱包
recALL
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
钱包
看好你的钱包