假设我们有很多Android设备试图向django应用程序提交实时数据(时间戳和一些数字)。Django:如何处理从Android设备上传的实时数据?
我们需要做的是获取每秒提交的数据的平均值,并不断更新Android设备。
我该如何实现这些目标?
假设我们有很多Android设备试图向django应用程序提交实时数据(时间戳和一些数字)。Django:如何处理从Android设备上传的实时数据?
我们需要做的是获取每秒提交的数据的平均值,并不断更新Android设备。
我该如何实现这些目标?
最好的办法就是memcache将数据存储到数据存储中。你提到的“每秒所有这些数据的平均值”对我来说没有多大意义;除非你有很多用户或正在产生耗尽电量的数据量,否则每秒的平均值可能只是第二次提交的数据。此外,“实时”可能欺骗了你;它将需要时间的数据传输到服务器,并返回到电话。特别是在EDGE和较慢的数据网络上,可能会导致数秒的延迟。
做每分钟平均计算可能是实际的;为此,我只是简单地创建一个memcache元组,其中包含当前接收的值的数量及其表示的均值。然后,当你得到一个新的值时,重新计算平均值(用平均值乘以值的数量[不包括增量]并加上新的值,然后除以新的值的数量)。将其存储在memcache中,然后继续。如果你明智地使用memcache,那么在那一分钟内你的数据就不会被驱逐,如果它被驱逐,你最多只会丢失一分钟的数据。如果这不可接受,请将其备份到数据存储区。