事关每个中国人的大项目,我们稳住了!
接近零点,北京中关村泰鹏大厦7楼的工作区忽然安静了下来。屏息凝视的人群,目光不约而同地看向了前方的倒计时钟。
11月1日00:00,时钟敲响的那一刻,第七次全国人口普查正式展开,现场100多名腾讯“七人普”项目组成员也将带着奋战百天的成果登上“战场”。
此时,已是项目组为第七次全国人口普查封闭“战斗”的第8个月,8个月通宵达旦的开发成果,即将接受来自全国14亿人口、700万名普查员的检验。
今年是全国人口普查首次实行电子登记,情况特殊且意义重大。鉴于没有任何经验可供参考,15天之内要将全国14亿人口的信息全部录入到位,不可不谓一场硬仗。
腾讯背负的使命与责任重大。大家知道,这场仗只能赢,不能输。
一个14亿用户的普查系统诞生
时间退回到去年8月,项目还未正式开始之前,腾讯用户研究与体验设计部高级交互设计师Yilin便和团队一起展开调研。
“七人普”试点城市——福建省漳州市长泰县是第一个目标。调研小组的任务有三个:了解人口普查的业务要求、考察用户的行为和使用场景、评估原有界面设计方案。
第一次调研过程中,Yilin和团队了解到边远地区网络信号差、棚户区的单元号和户号难以确认等问题,但最令人头疼的还是普查员的工具使用障碍。
团队成员Afina发现,和以往的互联网厂商比较典型的调研用户群体不同,人口普查的普查员年龄一般在50岁以上,有部分普查员甚至不太熟悉怎么让平板电脑开机,更别说企业微信怎么下载,普查功能怎么找到和使用。
不仅如此,即使是要求了用移动端录入,部分普查员担心自己无法熟练掌握机器的使用,导致录错信息,还是会带上纸笔,统一填写完之后再录入到系统中。
在后面的调研中,Yilin惊喜地发现,有些上了年纪的普查员,在用了几次数字化普查工具后,果断放弃了之前纸质的形式。
“以前用纸笔登记,手写耗费时间,字迹不清也会让信息准确性无法保证,并且每次还需要带上厚厚一叠纸表,十分麻烦。用数字化的普查工具,只需要带上一台平板电脑,手指点几下,只要操作熟练起来,当然会更加方便。”说到这,Yilin也露出了不自觉的骄傲表情。
于是调研结束后,腾讯最终敲定了这个方案——14亿公众使用微信,700万普查员使用企业微信。
普查过程中,公众不用额外下载任何APP,只需打开微信小程序。而700万普查员也像是在同一家“公司”一样,分别被归在各省的“分公司”,用企业微信进行沟通协作。这当中,不存在新工具会出现的适配问题,软件更新也十分方便。
“TOP级重点保障”
兵贵神速。确认好方案后,腾讯云联合企业微信团队,迅速集结起全国各地的合作伙伴,组建起了一支现场和远程共三百多人的队伍进行前期开发。
接力棒顺利地交到了他们手中,但责任感和压力也随之而来。
企业微信加上小程序,要承担700万人的B端内部组织支持(普查员),并连接14亿C端(全国人民),这是一个很罕见的规模,对于腾讯前端、后端的能力都是一次重大挑战。
腾讯企业微信项目成员谭旭提到了一个词:“TOP级重点保障”——这是企业微信团队在“七人普”项目中的一个内部沟通群。
项目投入研发初期,正处于疫情紧张期,没有一个酒店愿意接受成百人的密集入驻。于是他们的办公地点西国贸大酒店搬到南粤苑,最后又“辗转”到香山饭店,展开了封闭式集中开发工作。
时间紧、任务重,团队一边做应用开发,一边做压力测试、性能测试,忙到无法休息。在香山饭店期间,成员们基本上两三个星期回一次家,换一换衣服,平时的工作节奏接近“007”。
“我们把骨干技术人员当作‘大熊猫’。”
腾讯政务云副总裁王景田透露,由于普查往往在白天进行,为保证公众和普查员的体验,产品的调优迭代工作必须放在晚上。核心骨干技术人员每天只能睡三个小时。“大熊猫”们一定不能倒下。
而挑战也远不止如此。
“人手紧张,各个团队的磨合问题,首次的全国性人口普查模式也是有史以来第一次,我们没有任何的经验可以借鉴”,项目高级交付架构师王飞说道。
据项目研发工程师黄谦回忆,团队在最开始的试点测试中,去盘一些性能问题的接口,30个、60个、100个、150个......按照不同的标准深入,会不断发现各种问题。
于是,全国各地的小伙伴不断被调集飞往北京“支援”,针对问题不断的调优测试。集中的开发也培养了来自五湖四海的同事们战友情谊,团队的默契逐步提升。在一次又一次的试点后,问题一一得到了解决,项目也终于顺利进入冲刺阶段。
一场“极限”任务
项目上线的前夕,也吹响了这场“硬仗”的冲锋号角。
团队要克服的困难并不少,其一,如何保证数据质量,同时人口具有流动性,重复出现的数据需要排重;其二,700万普查员和17亿人次的高数据并发量导致系统压力大,需要分散;其三,电子化的填报需要依赖网络,偏远的山区该如何实现。
此外,安全问题更是一条“生死线”,为了保证普查全流程的数据不会被窃取,必须要做大量的保障工作。
针对数据质量的保证,团队根据人口普查的业务要求,整理了767条审核规则,再让小程序实现。王景田举例说:“如果普查时你的身份证号填写错误、或者个数不对,系统会实时提醒,可以极大地减轻了后期数据核验处理的工作。“
而为了缓解数据压力,团队采用了TDSQL+TBase双数据库引擎设计,分别进行数据处理和数据查询,系统压力得以分散。
针对网络不好的地区,企业微信也支持了小程序的离线能力,谭旭介绍道,“这样能够帮助用户在无网条件下或者网络条件很差的情况下,依旧能够做一些数据的采集录入,然后等到他们回到有网的地方能够进行上传。”
在数据安全方面,为了加固“安全墙”,腾讯按照国家等保2.0三级要求(全称网络安全等级保护2.0),采取了全链路加密等专业技术手段,保证个人隐私、信息和数据安全符合国家标准。
11月1日,第七次全国人口普查正式开始,这些奋战在幕后的项目组成员也成为了最期待被普查的那群人。
“现在,群里面每天都会有同事说普查员来到了自己家,看到自己做的事情真的有普查员在面前使用,给了大家莫大的喜悦和激励。”谭旭难掩兴奋。
“即便普查工作已经开始一段时间了,我们这个小程序仍然要做迭代工作,目的是让公众有更好的使用体验,普查工作顺利完成。”王景田表示。
11月15日,第七次全国人口普查短表登记结束。项目开展至今,被高频使用的人口普查采集小程序达到每秒11万并发请求量,每秒数据库查询量最高123万,一直处于平稳运行状态。
300多位技术人员、239天的不间断付出,让“大国点名”由纸到屏的设想成为了现实。