地震了、洪水了、台风了……如果碰巧你生活在那里,又碰巧和身边的许多人一样,你手边还有一些多余的物资,你会怎么办?或者说可以怎么办?
在救灾物资抵达前,或者在重建家园的早期,这是一个严肃的问题。我们应该如何善用手边多余的物资,例如食品、药品、衣物或其他?
在灾害来临之前,不会有人怀疑考虑这些问题的必要性——但灾害来临之后,如果我们暂时把关注时间段从一些性命攸关的场景中剥离出来,我们就会进入这样一个持续时间更长,但同样重要时段—— 等待救援的时间段。它不仅事关生存,而且还关乎尊严。
科技有这样一种使命,如果能用工具解决的难题,就不应该将它交给道德或人性。毕竟那是一个柔软的社会基底,不应该被轻易拷问。
科技工作者用一个美好的词汇来描述这种使命——科技向善。就像流行歌曲中唱的那样,(它)在没风的地方找太阳,在你冷的地方做暖阳……
今年夏天,张静博士和她的临时团队用了近2个月的业余时间来思考和解决这个问题。
依她所表达,如果这个临时团队的成果能产生任何社会价值,那么都应归功于每一位利用业余时间开展工作的团队成员——他/她们同样都来自中国银行软件中心(西安),分别是软件工程师彭勃、林强、陈娟娟和童楚婕。
中国银行是全球化和多元化程度最高的银行之一,服务于全球五十多个国家和地区。
这支临时团队希望解决上文所涉特定场景中的物资买卖问题,预设条件是民众身边的现金不足,并处于灾后移动通信网络严重损毁后的无网络环境。
这里的一个背景是中国人民银行的报告。2018年中国移动支付业务金额达277.39万亿元,移动支付已经渗透到民众生活的方方面面,人们已经很少随身携带现金。
所以无钱可付已经是“无现金社会”中可以预见的一个真实场景。张静的团队希望人们在例如自然灾害等特定环境中,仍能用无网络的手机购买物品并完成支付。当移动通信服务重新建立连接后,银行可以确认交易行为并确保交易顺利完成,这“对满足灾民个性化需求显得尤为重要”。
他们用“Code Nova”命名了这个项目。Nova的字面意思充满了诗意与善意——一颗短时间内突然变亮的新星。
Code Nova团队合影
项目方案的中文名称则显示出团队的另一个期望,让它可以在更广泛的社会生活中体现出商业价值:弱网络下的物资支付。
项目开始于5月,缘起于IBM的2019年“代码集结号”(Call for Code)全球挑战赛。这个始于2018年的行动计划为期五年,预计累计投资3000万美元。创始机构为David Clark Cause,IBM是创始合作伙伴。
IBM的2019年“代码集结号”(Call for Code)全球挑战赛嘉宾评委包括了克林顿基金会创始人兼董事会主席、美国第42届总统比尔·克林顿等知名企业和机构负责人。
全球165个国家和地区共计18万开发者参与到了今年的赛事中,这些开发者包括了独立开发者、企业开发者、数据科学家和学生等。他/她们用The Weather Company数据和包括IBM Cloud、IBM Watson和IBM Blockchain在内的开源技术,创建了5000多个应用程序。
发起者和参与者们期望这些应用程序能解决一些紧迫的社会问题:自然灾害的防御、应对以及重建。
中国银行软件中心参与了该项目。中国银行软件中心全国各地团队提交的39个创意最终落地了5个,除Code Nova外,最终参赛的创意项目还有全球援助匹配撮合(The Global Aid Match System)、额度捐赠(Spark Program)、灾后心理健康、无感寻人及物资调度等。
这5个创意,按照参赛要求,需要使用IBM平台和产品,于是充分利用了IBM Blockchain Platform 、IBM Db2 on Cloud、IBM Watson Studio、IBM Visual Recognition人脸识别系统、KeyStore用户生物特征验证等多项IBM成熟服务与技术。
中国银行软件中心(西安) 的主要业务是手机银行,所以在考虑选题时,团队成员很容易想到了断网支付的问题。
“我们先看了支付宝和微信有没有实现这一点,”彭勃说,“它们的离线扫码支付是可用的,不过至少扫码设备仍需要联网。”Code Nova团队希望更进一步,实现付款、收款的手机双离线。
这就涉及了一系列需要解决的问题,包括离线前的授信问题、软件的协议化问题等——更重要的是,它需要成为一个API插件,让所有支付平台都能够支持它。
以中国银行手机银行为例。用户通过在手机上开启“应急交易”功能,建立移动设备间的点对点连接,便可以使用在有网络连接下缓存的信用额度进行支付。其间的支付过程会涉及生物识别认证,以确保交易是在双方清醒状态下进行。
在网络恢复以后,所有离线期间的交易记录会上传至服务器,审核系统会汇总并审核所有交易记录。最终,审核完成的记录会进入清算系统,并计入用户账户。整个方案的流程涉及了交易记录的流转和备份。
团队邀请IBM的技术人员远程为团队成员进行了培训,Code Nova解决方案后来大量采用的关键技术即来源于此,包括了IBM Db2 on Cloud、IBM Watson Studio、Watson Visual Recognition等。
在Code Nova完整的方案架构中,这些技术覆盖了四大系统,包括信用额度系统、离线信用支付系统、审核系统,以及清算系统等。
Code Nova方案技术架构
张静以灾难发生前的额度计算部分为例介绍说,方案会在IBM DB2 on Cloud上完成银行系统中用户基本信息、账户余额、历史交易记录的数据关联合并处理,并在IBM Watson Studio上完成t%数据清洗、均值空值填充、等深向量化、PCA特征约减、LR模型训练等工作,最终将训练好的模型部署在云端。
在此之后,系统会调用模型完成对用户违约概率的预测,将计算结果保存在数据库DB2 on Cloud中,并定期更新结果。用户手机则会在固定间隔的时间内在有网络条件下调用最新的额度结果,保存更新在本地,供离线条件下使用。
让童楚婕印象最深的就是这里所涉及的数据建模。“IBM Watson Studio提供了很多可选择的模型,只需要输入一些基本参数,就可以把模型建立起来,并能够很方便的保存和调用。”她说。
全球大奖在今年10月揭晓,中国银行软件中心最终获得了最佳团体奖(Best Organization Award)及大中华区方案Top1奖项。这个Top1方案就是Code Nova。
与此同时,中国银行软件中心的另两个项目也一起入围大中华区Top5应用,并共同荣登全球30强。
张静代表中国银行软件中心团队领奖
一如所愿。张静博士说,由于使用IBM的工具,Code Nova开发过程简单方便、模块化程度高,便于封装成可插拔性的API,嵌入到具有支付功能的APP上使用,因此它的应用场景还有许多可想象空间。
从目前情况看,它不仅可用在自然灾害后弱网络环境的灾区,还可拓展至应对面临网络攻击、人流量过大导致网络负载过重造成的网络堵塞,以及无人区等弱网络场景之下。
“还有比如在一次城市大型游园活动中,用它去拥挤的肯德基给儿子买包鸡米花。”张静博士开玩笑说,因为网络环境问题,那次游玩中孩子最终也没实现他的愿望。