作为我们大学项目的一部分,我们必须将船只的路径保存为一组坐标。有超过50,000艘船。每艘船上的小工具将每隔10分钟发送当前位置(纬度和经度)和其他数据。使用这些数据,我们需要显示每条船的路径,并保存每天的数据以查看另一天。
收到这些数据后,我们必须将其保存在mySQL数据库中。应将每个新传输保存到新行,而不是覆盖以前的位置。
我们尝试使用所有数据创建一个JSON数组:
boat_path =
[{"lat": -33.8919, "lng": 151.1360 ,"bateryState"=89 , "Help","no"},
{"lat": -33.897, "lng: 151.0996},"bateryState"=78 , "Help","no"}];
我们的想法是将此json数组保存在特定字段中,当收到新数据时,我们将覆盖前一个数据。但问题是mysql 5.6不支持JSON数组。还有另一种方法吗?
如果这不合适,那是什么?
另一种方法
答案 0 :(得分:1)
我认为这是使用数据库的错误方法。我要做的是创建一个包含以下字段的表:
每个传输都将作为一行添加INSERT SQL操作。绘制路径可以通过执行SQL SELECT * WHERE Boat_ID = x ORDERED BY Timestamp来实现。
JSON是将数据发送到数据库的一种好方法,但服务器端应解析它并将其组件分别加载到数据库。这样,您可以查询特定的船只并按时间戳排序结果,使绘图功能更容易。
注意:我不是每天都做SQL,所以请考虑上面的伪代码。
答案 1 :(得分:0)
然而,问题是mysql 5.6不支持JSON数组。
你的意思是什么MySQL不支持JSON数组?
JSON只是一个序列化媒介,仅此而已。如果您选择构建应用程序,以便UI与服务器交换JSON,那么就这样吧。它是正交的,并且与数据的存储方式大多无关。