0

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

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

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

4

2 回答 2

2

我将把 php 概念留给专家。

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

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

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

我知道这可能含糊不清,但我会在空闲时间尝试创建一个图表来清楚地描述这个场景。

如果您需要更多说明,请发表评论。

谁有更好的方法,欢迎分享。

于 2015-10-29T10:07:34.007 回答
0

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

于 2015-11-14T12:37:09.267 回答