gpt4 book ai didi

algorithm - 具有响应时间限制的异步请求-响应算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:34:44 25 4
gpt4 key购买 nike

我正在为 ebXML 消息传递应用程序编写消息处理程序。消息遵循请求-响应模式。这个过程很简单:发送者发送消息,接收者接收消息并发回响应。到目前为止一切顺利。

接收消息后,接收者有一个设置的消息响应时间 (TTR)。这可能是几秒到几小时/几天。

我的问题是:Sender应该如何处理TTR?我需要这是一个异步过程,因为 TTR 可能会很长(几天)。我怎样才能以某种方式倒计时计时器,但又不会长时间占用系统资源。可能有大量消息。

我最初的想法是有一个“等待”集合,其中添加了消息 ID 及其 TTR 到期时间。然后我会定期对集合进行投票。当计时器到期时,消息 Id 将移至“已过期”集合,消息事务将终止。

当发送方收到响应时,它可以检查“Waiting”集合中是否有匹配的已发送消息,并确认响应是否及时收到。然后将从集合中删除该消息以进行下一阶段的处理。

这听起来像是一个可靠的解决方案吗?我确信这是一个已解决的问题,但关于此类算法的信息很少。我计划用 C# 实现它,但我认为实现语言在现阶段有点无关紧要。

感谢您的参与

最佳答案

根据客户端数量,您可以使用持久 JMS 队列。每个客户端 ID 一个队列。消息将保留在队列中,直到客户端连接到它以检索它。

我不明白 TTR 的用途。它是否更像是一种客户端措施,意味着如果无法在特定时间内返回响应,那么就不必费心发送它了?还是在服务器上使用它来安排工作并执行现在需要的操作,并将响应时间较晚的请求推送到以后完成?

这是一个广泛的问题...

关于algorithm - 具有响应时间限制的异步请求-响应算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com