0

精华

我的数据库(SQL Server)中有一个表和一个与 DB 通信以影响它的 WCF 服务。我的服务器上还有一个 PHP 脚本。现在,每当我的表添加、修改或删除了一些数据时,我希望我的 PHP 脚本能够自动执行。

其应用

我正在开发一个几乎完成的移动应用程序。现在我需要实现一个推送通知功能。即,每当数据库发生更改时,我都必须运行配置为向用户推送通知的服务器端脚本。

4

3 回答 3

1

推送服务应该在将数据添加到数据库的层中实现。数据库仅用于存储信息而不用于执行代码。因此,为了创建推送通知,您需要一个接口来接收更新,将其发送到数据库并将其推送给用户。

看到您的问题,我当然不希望您允许您的应用程序直接将信息添加到数据库中,而无需验证传入信息的某些层。这是直接的安全风险。

模型的解决方案是:

应用程序 -> 发送信息 -> 网站 -> 分析 PHP/其他代码语言的请求 -> 插入数据库 -> 向客户端推送消息。

于 2013-03-26T13:04:46.663 回答
0

您没有说您使用的是什么 RDBMS,但无论它是什么,您都需要阅读有关“触发器”的文档。这应该给你所有你需要知道的。

于 2013-03-26T13:01:59.170 回答
0

大多数情况下,这是使用 cron(或其他调度程序)以特定时间间隔(例如每分钟)检查数据库以查找新工作然后处理它来完成的。

然而,这种设计只能让你到目前为止,下一阶段将是使用消息队列(如 gearman、ZeroMQ 等)。

您可能可以使用触发器使某些东西起作用,但通常不应将数据库视为队列。

于 2013-03-26T13:05:04.540 回答