Algorithm 如何创建高效的基于时间的触发服务?

Algorithm 如何创建高效的基于时间的触发服务?,algorithm,architecture,eventtrigger,system-design,Algorithm,Architecture,Eventtrigger,System Design,我们需要有一个有效的基于时间的触发器,这样我们就可以在服务中设置一些东西,当时间到来时,它可以给我们一个回调。为了详细说明,我们将在某个时间点使用一些数据(在创建触发器时设置)对主应用程序进行触发器服务回调。目前,其中一款产品是azure logic应用程序,它也有同样的功能 发展这种服务的有效途径是什么 我能想到的最基本的是,我们可以在ram中维护最小堆(由一些存储支持)。这将保留触发器(id)及其通知主应用程序的时间。通过id,我们可以将其他触发器信息存储在某些存储器中。通知其他服务的线程可

我们需要有一个有效的基于时间的触发器,这样我们就可以在服务中设置一些东西,当时间到来时,它可以给我们一个回调。为了详细说明,我们将在某个时间点使用一些数据(在创建触发器时设置)对主应用程序进行触发器服务回调。目前,其中一款产品是azure logic应用程序,它也有同样的功能

发展这种服务的有效途径是什么

我能想到的最基本的是,我们可以在ram中维护最小堆(由一些存储支持)。这将保留触发器(id)及其通知主应用程序的时间。通过id,我们可以将其他触发器信息存储在某些存储器中。通知其他服务的线程可以一直处于休眠状态,直到堆的下一分钟(因为这是最早通知某人的时间)。线程完成睡眠后,它会检查触发器并通知主应用程序。然后重新进入睡眠状态,直到堆的下一个最小值

如果监视线程已经休眠了X次,但是如果出现新的触发器以得到持久化 它将以Y作为其触发时间持久化在最小堆中。 现在,如果Y 这种服务的好算法和架构是什么