我爱LV游 发表于 2026-10-25 18:26:23

定位漂出去几百米,是设备的问题还是这边算错了

用户说自己明明在公司,系统显示在两条街外。这种反馈一个月能来好几条,得能分清是谁的问题,分不清就只能一遍遍解释,解释完下次还会有。

一、先看原始值

把设备报上来的原始坐标调出来看。原始值就偏,是设备或环境的问题;原始值准,是这边处理错了。这一步能砍掉一半的排查工作。原始值留下来还有个用处,做回溯的时候能重放,重放一遍就知道是当时的算法有问题,还是数据本身就有问题。排期上要给排查留时间,这类问题定位比改代码花时间,估时按两倍算,按一倍算的收尾都是延期,延期一次,后面几件事的排期全要跟着挪。

原始值要留。只存处理后的,出了问题没有对照,只能猜,猜出来的结论往往指向错误的方向,改一通还是没好。这类反馈要有个统一的收集口,散在群里,过两天就翻不到了,翻不到就没法看出规律,看不出规律就只能一条条试,试到后来靠的还是运气。

二、设备这边的原因

室内收不到信号,靠基站推算,误差能到几百米。地下室、电梯里尤其明显,这种场景不是系统的问题,是环境本身没有条件。基站推算的位置往往带一个范围,范围很大就说明这个点不可信,不可信的点宁可不用,也别拿去算距离。别急着改算法,先确认数据源,数据源不对,算法改十遍也没用,改到后来连原来对的部分也不敢动了,动一次要回归一轮,回归一轮就是两天。

还有一种是设备自己缓存了旧位置,网络不好时先报旧的,看着就是漂。这类问题在网络恢复之后自己就好了,很难复现。处理的时候先复现,复现不了就先记下来,攒够样本再看规律,样本少的时候下的结论,往往下一次就被推翻,推翻一次,前面做的工作全白搭。

三、这边可能错的地方

坐标系没转对,会整体偏;精度字段没看,把误差几百米的点也当成准的用了,用完之后算出来的距离全是错的。同一个用户短时间内报了两个相距很远的位置,中间又没有移动记录,这种多半是切换了网络,切换那一下的值不能当真。这类问题的处理要有个时限,超过时限就升级,不升级的话,一条反馈能挂一个月,挂着挂着就没人记得了。

精度字段要一起收,误差大的点直接丢掉或者降权,别跟准的点混在一起算,混在一起算出来的结果,看着正常其实没意义。对外回复要给一个明确的时间,说清什么时候给结论,别只说正在处理,正在处理这句话说三次,用户就不问了,直接去别处说,说出去就不好收。

四、怎么判

同一时刻多报几次,看值稳不稳。稳但偏,是系统性问题;不稳,是信号问题。两种改的地方完全不同,别一上来就改算法。这套东西的效果要定期抽样核,抽一百条人工看,看完算个比例,比凭感觉强,感觉这东西在数据上从来不靠谱,靠谱的只有抽出来的那一百条。

再跟别的信号对一下,比如连的是哪个网络、有没有连上车载设备,能缩小范围,范围缩小之后,剩下的那几种可能就好验了。每次处理完写一条记录,写清现象、原因、改法,攒起来就是一份排查手册,手册在手,新人上手能快一半,快一半意味着同样的人能接更多的事。

五、给用户的提示

位置不准的时候,页面上要能说一句当前位置可能不准,别硬给一个错的结果,错的结果比没有结果更让人恼火。

给一个手动改的入口。用户知道自己在哪儿,让他改一次,比反复自动纠正好,改过的结果还能用来反推问题。这块和硬件的配合多,硬件那边换型号要提前说,不说,这边的问题会突然变多,变多之后还以为是自己的代码改坏了,回头一查,代码一行没动。

六、统计要跟上

按区域统计偏差,哪个片区报错多,一看就知道是那片的信号问题,还是这边的数据问题,两类问题的处理人都不一样。

统计要带时间。某个时段集中出问题,多半跟当时的网络状况有关,对着时间去找,比一条条翻记录快得多。指标上看偏差分布,不只看平均值,平均值好看,尾部那一截才是用户真正遇到的,尾部不处理,投诉就一直有,而且会集中在同一批人身上。

位置不准不可怕,怕的是不知道为什么不准。能分清原因,就能改;分不清,就只能一遍遍重启和观察。
页: [1]
查看完整版本: 定位漂出去几百米,是设备的问题还是这边算错了