Kdb 如何通过插座推动桌子
考虑到的设置,桌子是如何通过插座推动的 在tick中,可以使用进程(比如)向Kdb 如何通过插座推动桌子,kdb,Kdb,考虑到的设置,桌子是如何通过插座推动的 在tick中,可以使用进程(比如)向tickerplant订阅a,然后在新数据到达时,该进程将继续将订阅的“tickers”数据推送到a 我也想这么做,但我想知道怎么做。据我所知,qprocess之间的进程间通信就是将命令从一个进程传输到另一个进程的能力,这样命令将在另一个进程上执行 那么,如何在进程之间传输完整的表呢 我知道在tick中实现这一点的方法是and,但我不清楚表是如何在进程之间传输的 所以我有两个问题: kdb+tick是如何做到这一点的
tickerplant
订阅a
,然后在新数据到达时,该进程将继续将订阅的“tickers”数据推送到a
我也想这么做,但我想知道怎么做。据我所知,q
process之间的进程间通信就是将命令从一个进程传输到另一个进程的能力,这样命令将在另一个进程上执行
那么,如何在进程之间传输完整的表呢
我知道在tick中实现这一点的方法是and,但我不清楚表是如何在进程之间传输的
所以我有两个问题:
是如何做到这一点的kdb+tick
- 通常,如何将表从一个进程推送到另一个进程
有关更多详细信息,您可以查看“u”命名空间中函数的定义。谢谢,这是一个非常可靠的解释。我只想了解一件事:
“然后它使用表中的主机和端口与它们中的每一个建立连接,并使用新数据调用它们的“upd”函数。”
。它是如何将这些新数据发送到客户端的?它可以在收到请求时第一次进行处理,并将其存储起来以备将来通信。要生成句柄:h:hopen`:host:port。在kx维基上查看“hopen”。使用handle:h(函数;func_参数)发送数据。这将调用客户端函数。例:h(upd;table_name;table_data)我知道(实际上我已经在使用类似的句柄),但我想知道如何发送数据。这是逐行完成的吗?所以发送意味着我只需在客户端进程上调用insert[table\u name;(DATA)]
?这是最好的方法吗?哦…您可以使用句柄一次发送完整数据,然后在客户端立即插入。大容量插入比多行单行插入快。客户端如您所述,它将是简单的插入。问题是服务器将如何发送它。若您在tcp缓冲区限制中有行(这是实时提要的情况),服务器可以像h一样立即发送(upd;trade;从trade中选择sym=
VOD.L)。如果它们超出了限制,你可以像{h(upd;trade;x)}一样打破它们,每1000次切割从sym=
VOD.L的交易中选择。1000仅用于ex,您可以根据应用程序对其进行调整。