单个PHP线程响应两个异步ajax请求


Single PHP thread to respond to two asynchronous ajax requests

我正在实现两个设备之间的同步过程。网络和移动设备。我已经计划了一个算法,但不确定它实现的可能性。我的算法是

  1. Mobile将生成一个ajax请求到PHP脚本,以将其数据同步到数据库中
  2. PHP脚本启动一个事务,然后将数据插入到移动设备发送的数据库中,并收集必须发送到移动设备的数据,然后发送resposce,但不提交
  3. Mobile接收响应,启动事务,并向php脚本发送另一个ajax请求作为确认,并在移动端提交
  4. PHP脚本接收确认ajax请求并提交我在setp2中开发的数据

我的问题是,是否可以使用单个php线程来处理两个同步的ajax请求?

我将把php概念留给专家。

我们有一个类似的场景,我们将数据发送到服务器,并插入一个标志值(例如,不完整),然后我们将向设备确认xyz行已插入。它还将为每个设备包含一个唯一标识符,这样我们就可以跟踪哪个设备发送了什么数据,我们还将在单独的表中维护每个设备的唯一标识符、唯一事务id(uuid)和时间戳的详细信息(transaction_status)。确认将在客户端中更新,这将基本上从客户端上维护的同步队列中删除事务。

当来自同一客户端的下一组记录到达服务器时,服务器将查询transaction_status表中的匹配条目。如果条目已经可用,则意味着确认没有到达客户端,在这种情况下,服务器将使用必要的数据进行响应。

如果下一组记录不包含在上次同步期间发送的条目,则那些被视为成功同步的条目和不完整标志将被更新。

我知道这可能很模糊,但我会尝试在空闲时间创建一个图表来清楚地描述这种情况。

如果您需要更多澄清,请留下评论。

任何有更好方法的人,请随时分享。

我最终使用了websocket。为了在PHP中实现websocket,我使用了Ratchet。我能够得到我想要实现的东西。