我将数据发布到远程php文件,在那里使用post方法将数据保存到远程mysql数据库。
但我担心的是,我每30秒到1分钟就要获取一次数据,并通过http从安卓手机发送到服务器,即从"N"个手机发送,所以数据会发生冲突吗?是否存在丢失数据的可能性?例如:来自100辆汽车
目前我使用000webhost.com免费主机,我计划转移到付费主机。
但是我需要缓冲所有传入的数据然后保存吗?这会避免数据丢失吗?还是继续我的方法,并拥有高速服务器?
我不太了解服务器处理传入数据的最大速度。如果多个数据同时来自多个手机怎么办?我需要手动缓冲还是服务器为我做。
如果手动缓冲区,请分享一些代码,以便我能更好地理解。(安卓手机的电池我已经照顾好了,正在使用gps和网络提供商)
<?php
$longitude = $_POST['lon'];
$latitude= $_POST['lat'];
$imei= $_POST['imei'];
$speed = $_POST['sp'];
$date = $_POST['date'];
if($longitude != "" && $latitude != "")
{
$mysql_host = "xxx";
$mysql_database = "xxx";
$mysql_user = "xxx";
$mysql_password = "xxx";
$con=mysql_connect($mysql_host,$mysql_user,$mysql_password ) OR DIE ("Unable to select db".mysql_error());
if($con)
{
mysql_select_db($mysql_database);
//check if imei number already exists
$sql="select emp_name from mob_reg where imei='$imei'";
$result=mysql_query($sql);
if((mysql_num_rows($result))== 0)
{
echo "invalid";
}
else
{
$sql="insert into details(imei,lon,lat,speed,date) values('$imei','$longitude','$latitude','$speed','$date');";
mysql_query($sql) or die("couldnt insert");
}
}
else{
echo 'invalid';
}
}
?>
我认为您不需要担心代码中的缓冲。您的代码应该尽可能高效地处理每个请求。
你的基础设施应该根据你期望的流量来设置。
如果您的服务将非常繁忙,那么您可以考虑负载平衡(根据瓶颈所在,让多个web服务器和/或数据库服务器处理传入请求)