主题:【原创】最近为公司开发了一个小软件,挺好玩的 -- 温雅颂
1.你这个需求就没有写的很清楚,比如数据在什么设备上产生(PC?),与服务器的链接通道,需要在那个级别的仿真。
2。这个东西并不复杂,关键在于界面设计。不过楼下的没有任何方案谈及此事。
3.谁设计的好坏不能由个人评判。要不你把方案在河里找个第三方先放起来,然后由大家评论。
楼下太守说得对,我在一开始的需求介绍里说得不够详细,导致许多河友的注意力偏了。我在这里再重申一下:
这个模拟软件要做的事是自动产生海量无线广域网使用者在户外工作的位置信息和网络信息。之所以强调海量,就是想说明测试重点不在数据采集端,而在数据库端和应用端。因为采集端的测试,有多少种意外情况一般都可以列出来,那模拟这些情况其实很容易,比如v22列出的四种状况。而doom所说的GPS数据异常等情况,那其实是无线网卡的问题,不是我们的业务范围。
我在开始时提到要模拟几千人一年的户外工作路线数据,一个是要测试数据库的检索效率,一个是要测试分析应用端根据这样的数据产生的结果是否能给客户提供有用的信息。比如,某个雇员反应在某个时间段内联不上网,系统根据他的工作路线进行分析,发现他当时所处的地区信号太弱,联不上网并不奇怪。而如果那个地区平时信号都不错,只是他一个例外,那问题就可能出在他自己的什么地方。如果最近好几个人在那个地区都有联不上网的现象,而以前没有。那也有可能是发射塔本身出了问题,就要向服务商反映。
因此,所模拟的户外工作路线数据需要尽可能地接近实际。否则只能做数据库的测试,而无法做应用分析的测试。
最一开始,公司只是想到要有海量数据对数据库进行测试,而没想到测试应用的部分。当然了,应用部分也并不非要一整年的数据来测试,能有若干人、几天的路线数据也能凑合,只是效果要差一些,有些效果难以测试出来。
因为大部分人只想着测试数据库,所以有人出了个主意,在一定的经纬度范围内,随机产生一对经纬度,表示地面的一个点,再随机产生一个信号强度值,作为该点的无线网卡所收到的信号强度。服务商和网络技术类型也都按此方式随机产生。
这个想法提出来以后,我就表示了异议。我的理由有两条:第一,客户雇员的户外工作是线型的,所采集的地理位置是一串按时间顺序排列、相隔不会太远的点,而不是随机产生的离散点。从这样的离散点里,无法模拟出工作人员的路线,因此无法做联网故障分析。第二,因为每个点的信号强度都是随机产生的,那么地面任意一个小区域(比如一百平方米范围)内所有模拟点信号强度的平均值都将会很接近随机范围内的中值。如果用这样的数据做一张信号强度分布地图,用不同颜色表示不同的信号强度,那图面上只会有一种颜色,看不出信号强度在空间的变化趋势。
我把意见一提,同事们就沉默了,因为这不是他们的专长,因此都没想到这一层。不过他们也很聪明,既然是我提出的反对意见,那就干脆顺水推舟,把这活交给我了。
喝水。。。(这次喝的时间长点,下星期一再更新)
有些客户的业务所跨地理范围很大,某个运营商可能在这个地区的服务好,但在另外一个地区不好。而另一个运营商在这个地区不好,而在那个地区好。这种情况下,客户就可能同时和两个运营商签约,这个地区的雇员用这个运营商的服务,那个地区的雇员用那个运营商的服务。
因为我要模拟拥有几千雇员的企业,而这样的企业很可能同时和几个运营商签约。当然具体一个雇员(或者说一个网卡)只能是一个固定的运营商。
可惜,我们的客户都是地面上的。除非开着坦克,否则不可能那么自由,想往哪走往哪走。
数据就在PC上模拟,用局部网和数据库连接。网络不是测试的重点,重点就是用PC上的程序模拟产生尽可能真实的户外工作路线数据,数据以XML格式传给数据库。
需要模拟的数据就是网卡采集到的时间、经纬度、网络技术类型、还有信号强度。除此之外还要模拟的就是工作人员的工作路线和作息时间等。
但这很有点难度。
不过好在我们不是在测试设备在各种状态下对信号的接受能力,因此对不同速度下变化不是很敏感。而隧道实在是不好模拟,因为没有隧道的信息。
1.PC上有个地图,人工在上面画个路线图,经纬度数据就有了。如果有信号场强分布图,路径穿过区域的信号强度数据就有了。
2.将路线时间序列投影到时间一维坐标中,就可以设定起始时间,休息时间,行进速度等时间事件。
3.定义突发事件如场强突然变化,掉电,干扰,误码,等等。用拖入方法加入时间坐标,(有点像 $MS PROJECT的UI),去“扰动”正常的数据。
这个方案难吗?
好像出现-1的可能性不大,现在的gps芯片的输出都处理过了,这种明显的非法数据是会被过滤掉的
GPS给的数据是正确的,传到后台就出错了
另外也不能太相信GPS,芯片也是人做的
好像有个叫DataFactory还是什么别的名字的玩意专门模拟产生数据库海量数据的
数据都是至少有奇偶校验的,校验过不去的值直接就抛弃了啊,校验就是用来解决传输过程中数据异常的问题。
说这些没别的意思,数据肯定还要进行有效性检验的,只是说我接触到的gps芯片输出还没遇见你说的情况,负数是有可能的,南北半球不同(都是在wgs84坐标系下说的)
同理,可以用地理位置来计算Expected Signal Strength.
[修改]
将该数值与实际接收值进行比较,从而判断出异常地点
[修改完成]
有关GIS的应用,基础地理信息的应用会涉及国家安全,点到为止,不说了。
一旦由人以某些危险的pattern接近Final User定义的敏感地区+Security Margin,必须立即触发告警事件。