当前位置: 首页 > 专利查询>微软公司专利>正文

条件延迟排队制造技术

技术编号:7555219 阅读:126 留言:0更新日期:2012-07-14 03:44
可提供条件延迟排队。在接收到消息之后,可标识与该消息相关联的一个或多个节流条件。可对消息创建与节流条件相关联的锁定,直至满足节流条件。然后,可去除对消息的锁定,并且可递送消息。

【技术实现步骤摘要】

本专利技术涉及条件延迟排队
技术介绍
条件延迟排队可提供一种根据所建立的规则和/或优先级集合延迟消息处理的能力。在常规系统中,消息可遍历一系列队列和处理阶段。每个处理框可从队列中取出一消息,执行对该消息的操作,并且使该消息重新排队以供进ー步处理和/或递送。在ー些情形下,诸如当超过并发限制和/或所需资源不可用吋,可能需要延迟处理。在常规系统的情况下,预测延迟对消息的处理的需求可能是困难的或不可能的,因此消息处理可延迟固定时间量。这可在固定延迟太长的情况下导致空闲的资源,而在固定延迟太短的情况下导致资源浪费。
技术实现思路
提供本
技术实现思路
以便以简化的形式介绍在以下具体实施方式中进ー步描述的ー 些概念。此
技术实现思路
既不旨在标识所要求保护的主题的关键特征或必要特征。本
技术实现思路
也不旨在用于限制所要求保护的主题的范围。可提供条件延迟排队。在接收到消息之后,可标识与该消息相关联的ー个或多个节流条件。可对消息创建与节流条件相关联的锁定,直至满足节流条件。随后,可去除对消息的锁定,并且可递送消息。以上概括描述和以下详细描述两者都提供了示例,并且只是说明性的。因此,以上概括描述和以下详细描述不应当被认为是限制性的。此外,除了本文中所阐述的那些特征或变体以外,还可以提供其他特征或变体。例如,实施例可涉及具体实施方式中所描述的各种特征組合和子組合。附图说明合并在本公开中并构成其一部分的附图示出本专利技术的实施例。在附图中图1是操作环境的框图;图2是条件队列的框图;图3是基于优先级的队列的框图;图4是用于提供条件延迟排队的方法的流程图;以及图5是包括计算设备的系统的框图。具体实施例方式以下详细描述參考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或相似的元件。尽管可能描述了本专利技术的实施例,但修改、改編、以及其他实现是可能的。例如,可对附图中所示的元件进行置換、添加、或修改,并且可通过对所公开的方法置換、重新排序、或添加阶段来修改本文中所描述的方法。因此,以下详细描述并不限制本专利技术。相反,本专利技术的正确范围由所附权利要求书定义。可提供条件延迟排队。根据本专利技术的实施例,可根据节流条件锁定消息,且使这些消息加入队列。数据结构可跟踪与队列中的每个锁定消息相关联的条件,并且在锁定时消息可不离开队列。基于节流条件锁定的消息可保持在锁定状态中,直至发送该条件的信号并且它是基于该条件的第一消息。一旦解锁消息,就将该消息例如通过下ー离队操作递送到消息处理组件或接收者。节流条件可用作将ー个条件与另一条件区分开的标志。当特定条件可接受更多消息吋,可向队列发送信号。例如,针对消息标识符条件,可向队列发送信号,从而在当前正在处理的同一消息的副本完成其递送时解锁队列上的第一消息。图1是包括邮件服务器110、第一用户120、包括多个用户135(A)_(B)的租赁者 130、以及第ニ用户140的操作环境100的框图。租赁者130可包括例如其邮件服务(例如, 消息的接收、递送、以及存储)由邮件服务器110主存的个人和/或组织用户。邮件服务器 110、第一用户120、租赁者130、和/或第二用户140可经由诸如局域网(LAN)和/或公共网络(诸如,因特网)之类的网络150通信地耦合。图2是条件队列200的框图。条件队列200可包括多个解锁消息210(A)-(E)、以及锁定消息列表220。锁定消息队列220可与多个条件相关联。例如,锁定消息队列220 可包括包括多个第一锁定消息235 (A)-(F)的第一条件队列230、包括多个第二锁定消息 245 (A)-(F)的第二条件队列M0、以及包括多个第三锁定消息255 (A)-(F)的第三条件队列 250。条件队列中的每ー个可与不同的节流条件相关联,这些节流条件诸如资源可用条件、消息标识符条件、并发限制条件、和/或租赁条件。例如,第一条件队列230可包括并发条件队列,其包括所有计划发往同一接收者的消息。并发条件队列可例如限制单个用户所发送的、可并发处理的消息的数量,从而允许来自其他用户的消息接收对邮件服务器110的资源的访问。随着来自该用户的每个消息完成处理,可解锁队列上的下一消息并将其移到解锁消息队列。第二条件队列240可例如包括等待递送到消息处理组件(诸如, 病毒扫描器)的消息的资源可用队列。根据本专利技术的实施例,可将消息210(A)-(E)、消息 235 (A)-(F)、消息245 (A)-(F)、和/或消息255 (A)-(F)按照邮件服务器110接收它们的次序排队。图3是基于优先级的队列300的框图。基于优先级的队列300可包括包括多个第一优先级活动消息322 (A)-(C)和第一条件队列324的第一优先级队列320、包括多个第 ニ优先级活动消息332 (A)-(C)和第二条件队列334的第二优先级队列330、以及包括多个第三优先级活动消息342 (A)-(C)和第三条件队列344的第三优先级队列340。活动消息可包括从未在相应条件队列中锁定的消息;活动消息和未锁定消息是当前可递送的,而锁定消息是当前不可递送的。离队请求可由邮件服务器110生成,该离队请求可包括特定优先级,从而使以那个优先级入队的第一活动和/或解锁项得以递送。没有优先级的离队请求可使第一活动和/或解锁消息被递送,和/或可依赖于关于基于先前离队和入队哪ー个优先级接着要离队的特定试探。例如,具有最大积压(backlog)的优先级队列、或具有最早离队的队列可离队。给定优先级的离队操作可首先使来自相关联条件队列的解锁消息离队,并且如果未找到消息,则可使该优先级的活动消息队列离队。解锁消息的优先级可确定为在同一优先级内从未锁定的消息(即,活动消息)之前、但在该消息之前解锁的消息之后。锁定消息的优先级可确定为在所有其他消息之后,因为锁定消息不符合离队条件。当与相应条件队列相关联的条件出现时,解锁请求可由邮件服务器110类似地生成。例如,第一条件队列324中的锁定消息各自可与同一接收者相关联。当递送该接收者的ー个消息吋,可生成解锁请求, 从而使该接收者的下ー锁定消息被解锁并且可用于未来离队请求。图4是阐述根据本专利技术的一个实施例的、用于提供条件延迟排队的方法400中所涉及的各一般步骤的流程图。方法400可使用计算设备500来实现,如以下參考图4更详细描述的。在下文中将更详细地描述实现方法400的各步骤的方式。方法400可在开始框 405开始,并且前进到其中计算设备500可接收消息的步骤410。例如,邮件服务器110可接收来自第一用户120的消息,以供递送到与租赁者130相关联的多个用户135(A)-(B)。 根据本专利技术的实施例,可在接收之后使消息加入到活动消息队列上。方法400可从步骤410前进到步骤415,其中计算设备500可确定消息是否是活动消息队列中的第一个。如果为否,则方法400可保持在步骤415中(例如,可处理活动队列中该消息之前的其他消息),直至该消息变成队列中的第一个。一旦该消息到达活动消息队列前面,方法400就可前进到步骤420,其中计算设备 500可确定节流条件是否应用于该消息。例如,与第二用户140的服务级协定可对第二用户 140所发送和/或接收的消息确定优先级。如果从第二用户140接收到的消息当前正在由消息处理组本文档来自技高网...
条件延迟排队

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:F·西加洛夫V·伯克特W·德格拉夫G·古尔维奇S·M·华莱士
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术