更新时间:2024-02-15 08:45:16来源:搜狐
核酸让我们与健康云的二维码、随申办的核酸码基本上天天打交道,但是什么原因导致健康云数据会出现异常、核酸码为什么会服务异常等等令人费解的现象。让我们从现实的各种细节中去探究为什么。
由于本人没有参与过政府的项目,仅从技术以及架构的角度结合不同的平台的数据情况进行推理。
(一) 二维码
如果你曾经仔细观察一个二维码,会发现任何一个二维码主要由两部分构成: 1. 主要由黑白(也有彩色的)正方形的小方块构成 2. 矩形的4个角有三个较大的"回"形的黑白方块。详细如下所示:
其中黑白正方形小方块代表着二进制的0/1,任何字符串被按照一定算法编码成0/1然后转换成黑白色小方块进行存储;三个回形方块是进行二维码的定位使用,让二维码无论任角度都可以正确识别。
所以按住任何一个二维码角的“回”,二维码都无法识别;并且二维码存在冗余校验算法,部分黑白小块被遮住,不影响正常识别,这也是二维码二维码中间可以放logo的原因哦。所以既然黑白小方块代表字符信息,那么字符较少的二维码黑白小方块较少,如下所示(微信可以直接识别):
字多的,黑白二维码黑白小块就更加密集,如下图(微信可以直接识别):
(二)微信(其他APP)扫二维码
既然二维码是保存信息的,那么不同APP扫描二维码本质上就是识别二维码上的信息,然后进行处理,但是总的来看,二维码存储的信息主要分为两类:
普通的文本超链接(即平常我们说的网址,以HTTP、HTTPS开头的链接)。那么对于APP扫描的过程主要分为两步
解析二维码的内容根据二维码的类型决定下一步操作:如果是普通文本则直接展示,如果是超链接则跳转(但是这个时候APP往往会封装一层路由,保证跳转链接的正常以及实现一些其他业务,例如微信里面的获取用户OPEN_ID,UNION_ID等)例如,扫描或者识别下面二维码会跳转到百度:
这也是为啥微信有时候访问一些网站会提示被删除的原因,因为微信内部做了一层路由(拦截),然后再跳转。
说到这里,你是不是已经知道我们接下来要说什么了么?是的,健康云以及核酸码!
(三)健康云 VS. 核酸码
先说结论:健康云的登记码存储的是字符串,核酸码是链接。
这是我的把我自己健康云上的登记码解析之后,修改最后两位字符串,然后重新制作的登记码,你识别之后可以发现最后是名称缩写LeeYond:
但是如果你用微信直接识别核酸码会提示错误,让你使用其他工具识别:
为什么会出现这种提示呢?因为核酸码背后是由一个链接构成,微信识别之后会进行页面跳转,如下核酸码是我将我自己有效的核酸码反向识别后,修改原始链接之后,重新制作的核酸码:
如果你用二维码解析工具去识别这个二维码内容是:https://qrcode.sh.gov.cn/enterprise/scene?f=2&m=LeeYond_Demo_Token
说完这2个二维码,我们逐步进入正题。
(四)核酸检测
如果你仔细观察最近频繁使用的几个APP(小程序)的话,你会发现有如下几个现象:
健康云上的检测机构各不相同健康云有所有的检测记录(如果使用健康云的话)如果使用健康云检测核酸,随申办上只有阴性的记录(不知道是不是所有人都是这样)健康云的核酸展示结果优先于随身办的结果健康云会存在【等待机构上传】的状态被疾控中心通知隔离的人群,异常核酸结果一直显示【等待机构上传】部分人群连续三次检测结果(核酸码->健康云->健康云 )全部都是【等待机构上传】,但是同批其他人群结果已经出现。电话检测机构,可能出现漏(错)上传可能性。基于上述现象,我们大概可以画一个不同机构之间的数据流转图,帮助我们进行后续的讲解:
为什么大概率健康云以及随申办只给疾控中心异常数据呢?原因有3个:
【职责】:疾控只管负责异常人员的转移以及隔离安排【价值】正常数据对其用处不大,且数据量较大(这部分后面分析)【流程】被隔离人员接触隔离条件,是连续2次间隔24小时的核酸阴,且有隔离所在工作人员上报申请,而非疾控直接电话通知取消隔离,这代表: 疾控中心没有这部分数据疾控中心有这部分数据,但是无法及时得筛选出来,即导致这部分数据无法利用疾控中心人力紧张,无法进行这部分通知工作从上述结果来看,疾控可利用的数据只有异常数据,故大概率认为其只需要异常数据。
后续就进入各种数据错误、未检测人群出现多个结果、服务器异常情况的解析环节,敬请期待下文解析。