#榜样的力量#中原银行一区一码疫情管理系统丨数据猿新冠战“疫”公益策划
大数据产业创新服务媒体
——聚焦数据 · 改变商业
2020年伊始,新冠疫情让人惶惶不安,疫情危机之下,各地市防控指挥中心及街道办事处面临无法全面排查、实时了解居民健康和出入的情况,同时各企业陆续复工,社区、学校、企业(公司/单位/写字楼)、商场、村镇、交通出行卡口等场景面临大量人员出入聚集,传统纸质登记无法避免交叉感染的风险。
危机当中一定蕴藏着机遇。很多时候,危机就像放大镜,可以让风口更加清晰。
为坚决贯彻河南省及各地市下达的关于社区防疫——聚焦卡口、聚焦小区、聚焦单位,严防外来输入,严防内部扩散感染的政策及响应民政部的呼吁和民众的呼声。中原智慧社区,着眼时势危机热点,直击疫情防控痛点,在死局中寻找破局,在变局中创造转机。充分运用自身服务社区多年的经验及金融开发技术的优势,在疫情初期,逆势而上,第一时间召集研发团队和运营组全员奋战,为全民抗疫免费提供“一区一码疫情登记及社区出入管理系统”解决方案。
这一战,成功搭建了行业竞争壁垒,打造了新零售数字化转型桥头堡。
项目开发起止时间:2020年2月9日-至今
应用场景
“一区一码”以客户为中心,充分满足客户需求,敏捷开发,快速迭代, 功能简单易操作,不需下载APP,不需要付费购买,有效提高防疫信息化,以快速扫码登记代替持笔填报,一码三防控,实现无遗漏健康摸排登记,准确收集数据信息,实时记录人员及车辆的出入信息,提高出入效率。
这款产品适用场景多,功能丰富可配置,除了登记功能,实时通知社区业主,单位员工,发布通知公告均可在后台一键导入,实时发布。后台自定义配置社区管理方式,权限划分灵活可配置后台权限有,省,市,区,物业(管理方),社区(使用方)五级权限设计。通行语音播报,方便快速识别重点人群。实现居民小区出入,企业复工,村民进出,商场登记,医院就诊,市内公共出行—公交车、出租车、网约车、客运车,车辆入市—高速道路卡口、人员入市—高铁站、客运站等多个使用场景信息化、数字化的有效管理。建立社区闭环管理,织密城市“安全网”。
面临挑战
受疫情影响,团队成员各自在家隔离远程办公,面临沟通交流不畅,很多问题无法及时高效解决,但是每一位成员都做到了24小时待命,随时开启语音视频会议,积极沟通,按时完成了每天一个迭代版本的开发上线。
因“一区一码”的实时性问题,开发工作及其紧急,团队面临人数不足的情况,临时抽调了一批员工进行支援,新进组员工对系统框架熟练程度不够。我们采用新老成员结合的方式,让原小组成员带动新进组成员进行突击培训和协作开发,使得新进组成员得以快速上手。
随着使用用户增长迅速,系统并发量较大,单节点无法满足如此之大的吞吐量,使用了负载均衡服务器部署多个节点,保证了系统的稳定运行。
在技术开发方面,我们使用到了微信公众平台获取用户基本信息的接口,该接口每天调用次数限制为50万次,因用户量较大,接口调用次数用完,造成系统短暂时间内无法使用的情况。在这种情况下,我们进行多方面的紧急处理,一方面使用微信刷新调用次数的接口,使系统能够暂时快速恢复正常,另一方面,向微信官方申请调高接口调用次数上限以避免再次出现问题,再次,我们对代码实现进行改进,争取尽可能少的调用有次数限制的接口。最终快速解决了问题。
实施过程
2月9日晚上,研发团队和运营组全员远程视频会议,开启“一区一码疫情登记及社区出入管理系统”的首次碰撞。首个版本从需求、设计、开发、部署到对客使用只用了2天时间。科技条线紧急组建一区一码专项技术团队,成立了18人的开发组、6人的性能测试与优化组、18人的系统运维组、12人的信息安全组,分成数个敏捷开发小组,一天一迭代,敏捷高效地实现了“一区一码”的需求落地。
随着疫情期间防控管理,“一区一码”陆续适配出多场景的防控扫码功能,扫码功能用户数量成倍飙升,对“一区一码”功能带来了性能方面的高压考验,为了应对当前的服务器压力,在评估过用户量之后,对服务器的承压情况做了相应的扩容和调整,同时对安全防护方面工作做了进一步提升,使用了云安全防护、云盾、WEB防火墙、安骑士等防护功能,开启了服务节点监控,服务异常监控,接着对数据做了ADG数据实时备库。运用以上措施,让服务器安全承受2400+笔/每分钟的交易量,确保“一区一码”功能平稳运行。
该系统的技术优势主要体现在:
微信的开放生态
微信作为拥有十亿用户的超级国民应用,基本可以覆盖到每个智能终端。我们可以根据每个微信账号精准定位到唯一的用户身份。
为了能够快速迭代上线,我们放弃APP、小程序等高体验但上线周期略长的开发方式。使用基于中原智慧社区的公众号开发,快速响应,做到每天一个迭代,日日都能上线。
前后端分离的开发方式
作为当下主流的开发方式,前后分离能够将职责更加清晰的划分。
前端使用三大主流框架之一VueJS,结合vant和iView两个优秀的UI方案,实现前端页面的快速迭代和十分流畅的用户交互体验。
后端基于springboot快速构建java服务项目,完成高性能高并发下的数据处理。
高效的服务端能力
能力方面,抛弃了传统开发的自建机房、购买服务器、安装部署上线等流程。
选择将代码部署在阿里云,可以实时根据用户量,动态的增加服务节点。才能在业务初期,应对指数级爆炸增长的用户请求。
多节点部署,不同节点对应不同服务器。保证了现有业务和疫情扫码业务共存。并且在部分节点故障的情况之下,依旧能对外提供服务。
过硬的安全管理
安全方面,使用https协议,作为在现行架构下,最安全的解决方案,https可以减少绝大部分的中间拦截。
在此基础之上,我们还在前后端通讯时,使用rsa+aes的加密算法。将请求体进行二次加密,基本上杜绝传输过程中存在的安全问题。
服务端,购买阿里云防火墙服务,对恶意请求进行屏蔽。
针对富文本内容使用xss过滤,防止xss攻击。
安全团队时刻监控服务器性能,做到异常登录告警、异常请求告警、异常状态告警。
优秀的权限管理模块
中原智慧社区平台,有着优秀的权限管理模块,可以适应各种场景下的权限管理。
在不推翻平台现有权限管理架构的基础上,我们将原有的省/市/物业/社区架构,快速迭代为省/市/区/疫情场所架构。实现了管理端根据用户的不同身份展示对应的菜单及数据权限。
标准化的开发流程
项目初期,前后端就分别指定的严格的代码编写和提交规范。使得不同的开发人员,具有相同代码风格和注释习惯。使得在业务高速发展期,其他团队的支援能够快速上手,无碍开发。
作为一次标准的敏捷开发案例。我们从需求分析、代码开发、产品测试、上线评审等,都严格执行开发制度。在保证快速迭代的同时确保上线的代码质量。
娴熟的业务团队配合
技术开发,也不仅仅局限在技术本身,优秀的业务团队,能够预见到后续可能出现的业务场景。并在可能出现的不同业务场景中,抽象出相同的特质。开发人员也在开发时,对后续可能出现的场景在软件设计上预留一些公共属性和接口。
多方面的努力下,“一区一码”在一周内快速实现了社区、村镇、公司单位、公共场所、高铁站、高速卡口、公共出行等多场景的个性化需求,并实现了每个场景机构白名单功能。同时针对外出务工人士,还推出了务工审核功能。“一区一码”从源头开始,做到在河南范围内的人员流动,进出可管理,全程可跟踪,行程可追溯。
应用效果
自2月初开发上线以来,“一区一码“已成功上线近十万个机构,登记使用用户数近500万人;累计使用5000万余次。覆盖全省18地市城市及乡镇,承接社区、单位、公共交通、医院、药店、商场等多场景的疫情防控工作,2020年开篇走笔,起跳”关键一跃”。
关于中原银行
中原银行是河南省唯一一家省级法人银行,成立于2014年12月26日,总部设在省会郑州市。当前,中原银行下辖18家分行和3家直属支行,共有营业网点460家,全行在岗员工1.3万余人;作为主发起人,在省内设有9家村镇银行和1家消费金融公司;2017年7月19日,在香港联交所主板挂牌上市。