物联 应用开发与传统软件开发的区别

2.通讯超时问题:这里主要指的时终端的数据已经送到服务端,服务端接收数据后通知终端时 络阻塞导致的, 这里的主要问题是终端与服务器状态不一致(终端以为数据没有发送成功,而服务器已经执行了该数据)。

物联 应用开发与传统软件开发的区别 解决办法是服务端要有重复数据处理机制,这里也分两种情况。 (1)不改变业务状态的过程数据:比如共享单车要定时向服务端发送自己所在的位置坐标,当服务器接收到的坐标发现跟之前已经接收过的数据是重复数据时只要丢弃这包数据并告诉终端“接收成功,继续发送下一包数据“即可。 (2)需要改变业务状态的数据:比如学员在学车时先要在教练车的终端设备上做签到,如果9:00分终端向服务器发起签到请求,服务端处理了签到请求并发还给终端设备告知允许签到,这时 络阻塞终端设备没有收到允许签到的回复。这一时刻设备终端学员是非签到状态而在服务端学员已经是签到状态(终端设备的学员状态与服务器端的学员状态产生了不一致)。等到9:01分学员再次尝试签到,这个时候服务端又接收到了签到请求,服务端就需要把学员的签到时间改成9:01分并返回给设备签到成功(这里的处理逻辑与传统程序的处理逻辑不一样了),如果第二次没有产生 路阻塞,终端设备接收到服务端发送过来的允许签到结果后把自己的状态改为学员9:01分签到。最终终端设备和服务器的状态是一致的。
3.终端产生的异常数据:主要原因是大部分物联 终端的应用场景(要求终端体积要小,在室外高温高热环境长期工作)采用的是低级操作系统及开发语言做应用开发,这就需要开发人员人工管理内存(目前的高级开发语言比如JAVA就是系统自动管理内存,不需要开发人员干预),很容易因为内存越界等问题导致数据错乱(例如转账金额变成字母)。这种问题是最麻烦的,因为发回设备重新交互也不会产生正确的结果,只能在服务端把异常数据另外保存起来并记录下终端编 及发生时间,供后续人员排查问题并手工处理异常记录。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年3月14日
下一篇 2018年3月14日

相关推荐