【问题标题】:SQL Server & C# immediate notification to client when database updates with millisecond timingSQL Server & C# 在数据库以毫秒计时更新时立即通知客户端
【发布时间】:2011-09-30 23:48:50
【问题描述】:

我仍在编写我的财务软件:P 并且终于获得了一个可靠的真实数据实时数据馈送,我目前将其实时存储到我的 SQL Server 数据库中。

在股票市场中,时间就是一切,我想知道如何让我的客户端机器在数据库插入时收到通知?有时,数据库每秒可能有多达 200 次更新,而在其他情况下,每分钟不到 1 次。

我将如何实现一个系统,在该系统中,我的客户端应用程序(Windows Forms C#)会在我的数据库在同一位置的服务器上更新后立即无延迟(毫秒计时)收到新数据及其数据的通知?

我需要一个线程来不断地询问我的数据库吗?会不会负载太大?客户端和数据库的 TCP/IP 套接字?

我想我必须写一些类似数据馈送的东西???我将如何着手开发这样的东西????

谢谢

大卫

【问题讨论】:

    标签: sql-server sockets c#-4.0 financial datafeed


    【解决方案1】:

    如果客户端的更新必须是实时的,为什么还要将数据存储在数据库中? 您能否不将提要绑定到中间层/客户端上的数据对象,然后在该数据对象的更改事件(想想观察者模式)上重新绑定客户端。绑定完成后,您可以将数据存储在 SQL 中,仅用于审计目的。

    【讨论】:

    • 这是一个非常好的建议:DI 喜欢这种架构设计,因为存储或归档到数据库应该是次要的问题,将数据推送到客户端应该是第一个并且最重要的是保持延迟尽可能低。谢谢,我会研究套接字、服务器和客户端模型。
    【解决方案2】:

    一种机制是在您的数据库中使用用户触发器:C# / SQL Listener to tell me if a row has been inserted into a table 但是我不知道他们是否可以保证您的毫秒时间。

    【讨论】:

    • 嗨,谢谢你的建议,我想知道这会对数据库服务器产生什么样的资源影响?
    猜你喜欢
    • 2015-02-28
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    相关资源
    最近更新 更多