“北斗”怎么可能掉线?
最近的一条热点新闻是“‘北斗’导航掉线,大货车司机自杀身亡”。据报道,当地政府已经成立了专门调查组调查此事,并发布了初步的报告,许多媒体也在跟进,相信真相不久就会水落石出。
略去事件本身的是非曲直不谈,“‘北斗’掉线”也引起了许多讨论。毕竟,按照之前的报道,“北斗”作为我国拥有自主知识产权的导航系统,是国之重器,稳定可靠。如果竟然在大货车轨迹记录这么简单的场景中都会出问题“掉线”,实在不能不让人心生疑惑。
坦白说,我没接触过大货车上的“北斗”导航仪,也不了解技术细节。但是凭借我在IT行业工作的经验,还是可以做出一般性判断的:“北斗”不可能掉线,也不应该掉线。或者说,“掉线”与北斗无关。
据报道,从2013年开始,交通部开始强制要求大客车、旅行包车、危险品运输车辆安装北斗车载终端,以后逐渐扩展到更多车型,并要求对应车辆出场之前必须安装对应车载终端,否则不予核发、审验道路运输许可证。所以,今天在路上跑的绝大部分运输车辆,都已经安装了北斗车载终端。
那么这个车载终端主要功能是什么呢?是记录车辆的运行情况和行驶轨迹。这样就可以确保司机选择合适的路线,以及进行了足够的休息。
基于以上的信息,可以从技术层面展开一般性分析。
从技术上看,车载终端的主要功能就是两点:第一是定位,也就是“知道(某个时间点)自己在哪里”;第二是上报,也就是“让别人知道(某个时间点)自己在哪里”。有了这些数据,再基于一定的规则,就可以知道车辆的行驶轨迹,以及运行状况了。
对于第一点,也就是“定位”来说,可以采用的定位系统很多。目前最常用的是美国的GPS,但是出于对GPS的安全性的担心,世界各国也研制了自己的定位系统,比如欧洲的“伽利略”,中国的“北斗”,俄罗斯的“格洛纳斯”等等。
这些导航系统的具体方案可能各有特色,但基本原理是相通的。都是通过一系列卫星,不断向地面发出信号。地面的设备接收到不同卫星的信号之后,通过比较计算,就可以得到当前自己所处的位置信息(经纬度、海拔高度),还可以知道时间(GPS授时)。
请注意,这个模型里,信号传输是单向的,卫星只管向地面广播信息,至于地面有多少终端设备,能不能接收到,信号好不好,这些是卫星不关心也不需要关心的。依据这个通讯模型,只要能收到卫星的信号,那么理论上讲,地面的终端数量是可以无限多的——这就像广播,听同一个电台的收音机再多,也不会增加广播电台的负担。
通常,如果有足够多的导航卫星,保证足够好的信号覆盖,地面上任何地方都可以接收到信号,也就可以准确定位。不过如今为了保险起见,许多设备都同时支持多套定位系统,比如既可以用GPS,也可以用“北斗”,还可以用“伽利略”,这样就有效防止了“没信号”(请注意,不是“掉线”)的情况。如果遇到极端情况,设备上方被完全遮挡,收不到任何卫星的信号,也不要紧,一般还可以通过联系周围的移动基站进行定位,只是精度稍微差一点,但不至于偏差太大。
这样得到的数据,也可以称为“打点”,它的核心信息必须包括:时间、经度、纬度。我们假设每次定位的数据(也就是一个“点”)只包含这三项数据:(时间、经度、维度),每秒钟打一个点。那么一小时就产生了3600个点,也就是3600份(时间、经度、维度)的数据。把这些数据连起来,得到的就是这台设备在这一个小时里经过的轨迹。
再来看第二点,也就是“上报”。仅仅有打点数据还不行,这些数据保存在大货车上的终端里,不能产生任何价值,所以需要统一上报到公共平台,管理部门才能知道对应车辆的行驶状况——比如有没有偏航、绕路,有没有在规定时间之后保证足够的休息。
有些评论者认为,既然名为“北斗车载终端”,而且“北斗”又很先进,就一定通过“北斗”系统上报,这是犯了“想当然”的错误。
“北斗”系统确实提供了双向通讯的功能,地面终端也可以发送数据给卫星。但是,如果要从地面发送信号到卫星,对地面终端的发射功率有一定的要求。而且卫星能提供的通讯带宽、数据处理能力都相当有限,所以大部分目前卫星电话只能提供语音和文本的通讯,而且价格不菲,无法支持图片、视频等“司空见惯”的应用。以卫星系统如此宝贵稀缺的通讯能力,为几百万辆大货车提供价格低廉的定位通讯,实在是暴殄天物。
实际上,目前绝大多数应用的数据上报都是通过蜂窝网络(如今一般称为“移动数据网络”)完成的,也就是常说的2G、3G、4G、5G网络。通过蜂窝一般遍布地面的基站实现大范围的覆盖(这也是“蜂窝”的得名),保证终端不管在哪里,都可以联系到最近的基站,接入互联网。
车载终端的技术也是如此。先通过收取卫星信号,得到自身位置,然后把位置信息,通过移动数据网络上报到管理部门——如果你仔细看相关报道,会发现车载终端都要装一张SIM卡,为的就是通过地面的移动数据网络实现数据上报。虽然目前的移动数据网络建设已经颇有成就,但还是有一些地方信号覆盖不够好,手机无法联网。对应的,车载终端也无法完成数据上报。
看到这里你大概应该明白了,新闻中所说的“‘北斗’掉线”,其实是“‘北斗’车载终端掉线”,更具体来说,是“车载终端从北斗导航系统获取了位置信息之后,无法通过地面移动数据网络完成数据上报”。地面网络的锅,不能由天上的卫星来背。
“掉线”与“北斗”无关,但是又确实存存在,那么有什么办法解决吗?有人主张“掉线”必须惩罚,因为司机可能为了违规,把车载终端断电,谎称“掉线”,所以司机有责任随时关注终端机的状态,避免“掉线”。这种说法看起来有道理,但仔细分析就会发现,这都属于技术水平不到家的外行话。
如果你用过微信就知道,在信号不好或者没有信号的地方,你仍然可以录音、拍照、拍视频,只是发不出去,必须要等有信号了才能发出去。也就是说,数据的产生和数据的发送应当隔离开,互相不影响。
对于车载终端来讲,道理也是如此。
据报道,大部分“北斗车载终端”都同时支持GPS和北斗两套定位系统,再不济还可以通过移动基站定位,所以可以认为,定位功能在绝大多数时候都是可用的。车辆在行驶途中,每隔一定时间打一个点,记录下当时的时间、经纬度等信息,是不应该出问题的。
但是,车载终端并不需要每完成一个打点,就立刻通过移动数据网络上报这个点的信息,为节省通讯成本,完全可以相聚更长时间(相比打点间隔)上报一次,每次上报多个打点信息——打点记录可以每秒钟一次,但管理平台未必需要每秒钟都更新车辆的精确位置。既然如此,在没有移动数据网络信号的地区暂停上报,等信号恢复了再把之前没有上报的信息补充上报,也是很自然的选择。
这样,就很容易判断“司机故意给车载终端断电”,因为如此操作,终端里就没有任何打点数据,即便网络恢复了也无法上报。
那么,有没有可能伪造打点数据?当然有可能,但是车载终端也有办法防御这种情况。最简单的做法是,每次的打点信息还可以包括通过特殊算法取得的校验值。这样,只要其中的任何一项数据被篡改,校验值就会出错,整个打点数据就被认定为无效。
可是车载系统死机呢?如果死机,确实可能出现“无法上报数据,而且打点数据丢失”的情况。但是,车载系统的功能这么单一,几乎没有任何交互,系统应当相当简单才对,实在不太应该出现这种情况。网络上已经有人说了,淘宝上卖的几百元的山寨定位仪工作起来也很稳定。实在不行,提供一个状态正常指示灯,让司机经常留意指示灯是否正常,也可以解决问题。
更何况,真的出现这种情况,正确的名称应当是“死机”而不是“掉线”。“我手机死机了”和“我手机刚才掉线了”是两种完全不同的现象,大概不应该有人会搞混淆才对。
所以,最终的结论就是“‘北斗’不可能掉线”,“掉线的不可能是‘北斗’”。看起来,根本原因是“‘北斗’车载终端”的实现方案上还有一些技术问题没有解决好——当然这只是猜测,真实情况有赖更多的分析报道。
那么除此之外,面对“‘北斗’掉线”的新闻,除了澄清“‘北斗’不该背锅”,除了对逝者表示同情和惋惜,对千百万卡车司机的困境投以更多关注之外,还能获得别的什么启发吗?
我觉得是有的,那就是证明了所谓“工业党”的道路是走不通的。那种认为“没必要关心和讨论法制建设、社会治理等等问题,只要专心钻研先进技术,制造先进产品,最终所有问题都会解决”的思路,实在是太天真了。
From Life Sailor, post “北斗”怎么可能掉线?