CN102591708B - 用于提供按需处理和背景处理的体系结构 - Google Patents

用于提供按需处理和背景处理的体系结构 Download PDF

Info

Publication number
CN102591708B
CN102591708B CN201110434460.1A CN201110434460A CN102591708B CN 102591708 B CN102591708 B CN 102591708B CN 201110434460 A CN201110434460 A CN 201110434460A CN 102591708 B CN102591708 B CN 102591708B
Authority
CN
China
Prior art keywords
message
demand
action
background process
threads
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110434460.1A
Other languages
English (en)
Other versions
CN102591708A (zh
Inventor
Y·吴
J·E·加拉尔多
J·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102591708A publication Critical patent/CN102591708A/zh
Application granted granted Critical
Publication of CN102591708B publication Critical patent/CN102591708B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本发明涉及用于提供按需处理和背景处理的体系结构。实施例涉及使用web服务按需消息处理线程提供基于调度的处理,并且基于所估计的未来工作负载管理处理线程。在一个实施例中,web服务平台从客户端接收为基于调度的背景处理指定的消息。web服务平台包括具有被配置成执行按需消息处理的处理线程的按需消息处理服务。web服务平台加载包括按需消息处理线程的按需消息处理服务。web服务平台实现按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程。由此,为背景处理所指定的客户端消息作为服务发起的按需任务来处理。

Description

用于提供按需处理和背景处理的体系结构
技术领域
本发明涉及用于提供按需处理和背景处理的体系结构。
背景技术
计算机在劳动力、家、移动设备和许多其他地方中已变得高度集成。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等在内的各种各样的功能。软件应用通常被设计成执行特定任务,诸如用于草拟文档的文字处理器应用、或者用于发送、接收和组织电子邮件的电子邮件程序。
在许多情况下,软件应用被设计为与其他软件应用或其他计算机系统交互。例如,web浏览器可与web服务器交互,以请求并接收呈现给用户的数据。这些web服务器可被配置成提供web服务。这些web服务通常被设计为提供交互处理或按需处理。由此,web服务无法提供基于调度的背景处理。
发明内容
本文中所述的各个实施例涉及使用web服务按需消息处理线程提供基于调度的处理,并且基于所估计的未来工作负载管理处理线程。在一个实施例中,web服务平台从客户端接收为基于调度的背景处理指定的消息。web服务平台包括具有被配置成执行按需消息处理的处理线程的按需消息处理服务。web服务平台加载包括按需消息处理线程的按需消息处理服务。web服务平台实现按需消息处理服务的线程以对接收到的客户端消息执行背景处理。由此,为背景处理指定的客户端消息作为服务发起的按需任务来处理。
在另一实施例中,web服务平台从客户端接收为基于调度的背景处理指定的消息。web服务平台包括具有被配置成执行按需消息处理的无尽的处理线程的按需消息处理服务。无尽的按需消息处理线程实现单向消息以驱使轮询背景处理工作项的轮询循环。web服务平台加载包括按需消息处理线程的按需消息处理服务。web服务平台实现按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程。由此,为背景处理指定的客户端消息作为服务发起的按需任务来处理。web服务平台还基于当前和过去轮询循环动作中的至少一个来估计web服务平台的未来工作负载,并且基于所估计的未来工作负载延缓背景处理。
提供本发明内容以便以简化的形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附加特征和优点将在以下的描述中阐述,并且部分从该描述中将是显而易见的,或者可通过实践此处的教义来获知。本发明的特征和优点可通过在所附的权利要求书中特别指出的手段和组合来实现和获得。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下文中所阐述的实践本发明来获知。
附图说明
为了进一步阐明本发明的各实施例的以上及其他优点和特征,将参考附图来呈现对本发明的各实施例的更具体的描述。应当理解,这些附图只描绘本发明的典型实施例,并且因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,在附图中:
图1示出其中本发明的实施例可操作(包括使用web服务按需消息处理线程提供基于调度的处理)的计算机体系结构。
图2示出用于使用web服务按需消息处理线程提供基于调度的处理的示例方法的流程图。
图3示出用于基于所估计的未来工作负载管理处理线程的示例方法的流程图。
图4示出其中本发明的实施例可操作(包括基于所估计的未来工作负载管理处理线程)的计算机体系结构。
具体实施方式
本文中所述的实施例涉及使用web服务按需消息处理线程提供基于调度的处理,并且基于所估计的未来工作负载管理处理线程。在一个实施例中,web服务平台从客户端接收为基于调度的背景处理指定的消息。web服务平台包括具有被配置成执行按需消息处理的处理线程的按需消息处理服务。web服务平台加载包括按需消息处理线程的按需消息处理服务。web服务平台实现按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程。由此,为背景处理指定的客户端消息作为服务发起的按需任务来处理。
在另一实施例中,web服务平台从客户端接收为基于调度的背景处理指定的消息。web服务平台包括具有被配置成执行按需消息处理的无尽的处理线程的按需消息处理服务。无尽的按需消息处理线程实现单向消息以驱使轮询背景处理工作项的轮询循环。web服务平台加载包括按需消息处理线程的按需消息处理服务。web服务平台实现按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程。由此,为背景处理指定的客户端消息作为服务发起的按需任务来处理。web服务平台还基于当前和过去轮询循环动作中的至少一个来估计web服务平台的未来工作负载,并且基于所估计的未来工作负载延缓背景处理。
以下讨论现在涉及可执行的多种方法和方法动作。应当注意,虽然这些方法动作可按某一次序进行讨论、或在流程图中被示为按特定次序进行,但是除非特别声明、或因为一个动作依赖于在执行该动作之前完成的另一动作而需要特定次序,否则不一定需要特定次序。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理介质及其他计算机可读介质。这些计算机可读介质可以是通用或专用计算机系统可访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。携带计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同类型的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或者可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且通用或专用计算机可访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或者硬连线或无线的组合)传送到或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且通用或专用计算机可访问的网络和/或数据链路。上述的组合也应当被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动地传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,并且随后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。由此,应当理解,计算机存储介质可被包括在还(或甚至主要)利用传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。虽然用结构特征和/或方法动作专用的语言描述了本主题,但是应当理解,所附权利要求书中定义的主题不必限于所述特征或动作。相反,所述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等。本发明还可在其中通过网络链路(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境(例如,云计算、云服务等)中实践。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备两者中。
图1示出其中可采用本发明的原理的计算机体系结构100。计算机体系结构100包括web服务平台110。web服务平台110可以是被配置成提供web服务、数据处理或其他因特网相关功能的任何类型的分布式或本地计算系统。web服务平台可由分布在多个不同计算机系统上的云计算系统提供。web服务平台可包括被配置成处理按需消息的按需消息处理服务115。例如,按需消息106可从客户端105接收。客户端可发送指示客户端希望访问web服务平台所提供的web服务的消息106。
按需消息处理服务115还包括多个不同的处理线程116。这些处理线程可用于处理web服务、软件程序或其他软件功能、或者处理接收到的消息中的各个方面。web服务平台110还可包括背景服务120,背景服务120包括用于处理背景任务的处理线程121。在一些情况下,按需消息处理服务的线程可用于对客户端消息106执行背景处理。以此方式,为背景处理指定的客户端消息作为服务发起的按需任务来处理,其中来自处理的结果(例如,经处理的响应122)被发送回客户端。
服务120所作的背景处理可包括周期性动作和从队列集合轮询的工作项。队列可由外部调度器、按需客户端请求和工作项本身填充。可在连续的基础上通过从外部组件对远程消息接口进行周期性调用(在一些情况下,类似于针对按需请求的web服务)来执行这种轮询。可连续地执行每一个调用,直至下一调用。这将从外部组件对服务层的推送转换成服务层内的拉取和周期性动作。在接收到客户端消息之后,web服务平台可激活背景处理线程。使用这些客户端消息,客户端推送web服务平台110来执行背景处理。web服务平台随后将客户端的推送转换成其自己对工作项的拉取。
在一些情况下,web服务平台在下一工作项将要到达时进行计算,并且将该时间与当前时间作比较。如果差异足够大,则将延缓背景处理,因为保持运行大量时间的成本比重启背景处理的成本高。为了确保工作项将在其到达时进行处理,客户端105发送消息以在那之前开始背景处理。对于所调度的工作项,web服务平台和客户端可使用类似的方法来基于当前队列中的所有工作项的调度定义计算下一工作项的时间。
如以上所提及的,按需消息处理线程116可供背景处理使用。背景处理的按需消息线程可以是无尽的。背景处理可在失败之后通过客户端所生成的web服务请求循环来重新初始化。消息循环可将消息发送到web服务平台以将背景处理作为中断来执行。中断还可用于避免达到web服务平台所设置的超时阈值,从而控制web服务平台可对单个消息处理多长时间。换言之,其避免单个消息消耗资源太长时间。可实现用于跨多个消息(例如,106)继续的背景工作项轮询的单个逻辑循环。可基于对未来工作负载的确定来延缓消息循环和背景处理。可通过随机寻址、负载均衡和/或消息弹回将工作分发到主存背景处理的所有节点。可提供可通过消息分发来增加背景处理线程的可靠性的消息发起者域。处理线程可具有相同的特性,从而每个处理线程可处理工作项。还可提供用于交互/按需处理和背景/经调度处理的统一体系结构,该统一体系结构共享诸如激活、健康监控、资源回收、部署和主存之类的区域中的公共特征。
背景处理工作者主存在相同过程主存的交互web服务中。独立的操作计时器周期性地经由远程消息接口向该过程发送消息。到达工作者的消息导致初始化背景处理并执行工作项轮询的线程。线程将运行,直至另一消息到达。如果这种线程因失败而终止、或未及时地产生新消息,则新消息将重新初始化背景处理。由此,确保其可靠性。即使单个消息所允许的时间受到限制,背景处理也可无限地运行。
在一些情况下,单个无限循环用于轮询工作项。循环可跨越多个消息线程。循环在每次迭代中产生返回,同时每个线程逐一迭代循环的产生返回,从而检查更加新的消息所设置的信号。在一些情况下,单个线程可消耗循环所返回的数据。
消息可随机地或通过负载均衡器发送到不同的节点。消息发起者和对工作者的轮询可分开,从而允许单个线程的故障容错和可缩放性。为了确保消息到达线程,即使当直接穷举寻址不可能(例如,如果消息不得不经过负载均衡器)时,也可利用消息弹回。在一些情况下,可给予消息最低预期寿命。当新消息到达时,如果当前消息尚未超过其最低预期寿命,则其将另一消息发送到负载均衡器,该另一消息具有比当前消息的剩余寿命少的预期寿命。
在一些实施例中,尚未实现用于背景处理的单独过程,从而可在一个地方且通过同一用户接口来仅一次即部署并配置交互web服务和背景处理之间的共享组件。背景处理专用的组件可以与其他组件相同的方式部署和配置。通过web服务平台110可用于web服务按需线程116的特征也可用于背景处理线程121。这些概念将在以下参考图2的方法200更详细地解释。
鉴于以上所述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出并描述为一系列框。然而,应当理解和了解,所要求保护的主题不受框的次序限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下文中描述的方法所必需的。
图2示出用于使用web服务按需消息处理线程提供基于调度的处理的方法200的流程图。现在将分别频繁地参考图1和图4的环境100和400的组件和数据来描述方法200。
方法200包括在web服务平台从客户端接收为基于调度的背景处理指定的消息的动作,其中web服务平台包括具有被配置成执行按需消息处理的一个或多个线程的按需消息处理服务(动作210)。例如,web服务平台110可从客户端105接收消息106。可为基于调度的背景处理指定该消息。基于调度的处理可指对根据特定调度或队列的消息的处理,其中每个消息置于队列中以供在特定时间或按特定次序进行处理。web服务平台可包括执行按需消息处理的按需消息处理服务115。如名称暗示的,按需服务使用处理线程116在接收到消息时处理这些消息,而不是像背景服务所配置成那样的根据调度进行处理。
在一些情况下,按需处理和背景处理两者都出现在单个主机上。由此,在web服务平台110主存在单个计算机系统上的情况下,按需服务115以及背景服务120两者都可主存在同一计算机系统上。在web服务平台主存在多个计算机系统上(诸如主存在云上或另一分布式系统中)的情况下,按需服务和背景服务可主存在不同的计算系统上。
在一些实施例中,基于调度的背景处理包括用户调度的时序安排(scheduling)和系统调度的时序安排。由此,背景服务120可基于用户指定的调度或系统指定的调度来处理消息106。调度可由用户、或由不同软件程序定制或修改。可基于用户定义的或系统定义的调度来分配背景服务的处理线程121。
方法200包括web服务平台加载包括按需消息处理线程的按需消息处理服务的动作(动作220)。例如,web服务平台110可加载包括按需处理线程116的按需处理服务115。这些按需处理线程可被配置成在从各个不同的客户端和软件系统接收到消息时处理这些消息。在一些情况下,消息可包括各个工作项。这些工作项可被分发到多个消息处理线程。由此,每个工作项可由多个不同的处理线程处理。
方法200包括web服务平台实现按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程的动作,其中为背景处理指定的客户端消息作为服务发起的按需任务来处理(动作230)。例如,web服务平台110可实现按需处理线程116以对消息106执行背景处理。以此方式,为背景处理指定的客户端消息可作为服务发起的按需任务来处理。
在一些情况下,所实现的用于背景处理的按需消息处理线程116是无尽的。即,消息线程将继续运行,直至另一消息到达。由此,消息线程继续处理给定消息,直至接收到新消息。无尽的按需消息处理线程可分配至少一个线程来驱使轮询背景处理工作项的轮询循环。例如,如图4所示,按需消息处理服务415可使用处理线程416中的至少一个来驱使轮询循环425。驱使循环来查询工作项队列以从该队列拉取工作项426。所拉取的工作项426A随后被发送回处理线程416以供按需处理。可在失败发生之后自动地重新初始化对为背景处理所指定的消息的按需处理。由此,当失败的确发生时,自动的重新初始化可确保处理自动地返回到正常的操作状态。
客户端405可将单向消息406作为中断发送到按需处理线程。这些中断可用于重启跟踪工作项正在花多长时间进行处理的计时器。使用所跟踪的处理时间,可避免按需消息处理服务所通常施加的超时阈值。因此,所分配线程417可开始轮询循环、或将该轮询循环从正在以及时的方式执行循环的线程接管,以确保正确地处理工作项。线程417还可检查轮询循环的健康,并且在需要时重新初始化该轮询循环。如果轮询循环是健康的,则web服务平台可从前一消息的处理线程接管轮询循环,而无需重新初始化步骤。在一些情况下,轮询循环可包括跨多个不同的消息继续的逻辑循环。可通过下列项中的任一项在一个或多个计算机节点中开始背景处理:随机寻址,负载均衡和消息弹回。
如图4所示,工作负载估计模块430可基于当前和/或过去轮询循环动作估计或以其他方式确定web服务平台410的未来工作负载。由此,如果轮询动作已是重的,则模块130可指示它期望重的未来工作负载431。类似地,如果轮询动作已是轻的,则模块130可指示它期望轻的未来工作负载。可将此所估计的未来工作负载发送到过程延缓模块435,过程延缓模块435基于计划中的工作负载确定过程是否应当延缓。在一些情况下,模块435可在经延缓的过程确定436中指示,要基于所估计的未来工作负载延缓至少一部分背景处理。
图3示出用于基于所估计的未来工作负载管理处理线程的方法300的流程图。现在将分别频繁地参考图1和图4的环境100和400的组件和数据来描述方法300。
方法300包括在web服务平台从客户端接收为基于调度的背景处理指定的消息的动作,其中web服务平台包括具有被配置成执行按需消息处理的一个或多个无尽线程的按需消息处理服务,并且其中无尽的按需消息处理线程分配至少一个线程来驱使轮询背景处理工作项的轮询循环(动作310)。例如,web服务平台410可从客户端405接收为基于调度的背景处理指定的单向消息406。web服务平台包括具有执行按需消息处理的一个或多个无尽的处理线程416的按需消息处理服务415。
如以上所提及的,无尽的按需消息处理线程417可驱使轮询循环425向前。在从处理线程416接收到所分配线程之后,循环查询工作项队列以从该队列拉取工作项426。由此,系统以“推送”方式动作,其中按需处理线程驱动轮询循环来查询工作项426A并将其发送回处理线程。线程随后可处理从轮询循环接收的工作项。
方法300包括web服务平台加载包括按需消息处理线程的按需消息处理服务的动作(动作320)。例如,web服务平台410可加载包括按需消息处理线程416的按需消息处理服务415。可实现按需消息处理服务的用以执行对接收到的客户端消息的背景处理的线程。为背景处理指定的客户端消息作为服务发起的按需任务来处理(动作330)。例如,处理线程416虽然通常用于执行按需消息处理服务,但是其可被配置成处理为背景处理指定的消息。处理线程可将所分配线程发送到轮询循环425以访问这些背景工作项。可响应于接收到的单向消息406来访问工作项。
方法300还包括基于当前和过去轮询循环动作中的至少一个来估计web服务平台的未来工作负载的动作(动作340)。例如,工作负载估计模块430可基于当前轮询循环动作、过去轮询循环动作、或指定时间段内的包括过去和当前动作的动作来估计web服务平台415的未来工作负载431。可将所估计的工作负载发送到过程延缓模块435,过程延缓模块435确定各个过程是否应当延缓,并且如果过程要延缓,则应当延缓哪些过程。
方法300包括基于所估计的未来工作负载延缓至少一部分背景处理的动作(动作350)。例如,过程延缓模块435可基于所估计的未来工作负载431确定对一个或多个背景工作项的处理延缓一时间段。在一些情况下,web服务平台410在下一工作项将要到达时计算,并且将该时间与当前时间作比较。如果差异足够大,则将延缓背景处理,因为保持运行大量时间的成本比重启背景处理的成本高。为了确保工作项将在其到达时进行处理,客户端105发送消息以在那之前开始背景处理。对于所调度的工作项,客户端基于当前队列中的所有工作项的调度定义计算下一工作项的时间。
针对线程416处理的阈值水平以及延缓时间段可由用户定制。要处理的工作项(即,尚未延缓的那些工作项)可分发给通过下列项中的任一项来主存背景处理的各个节点:随机寻址,负载均衡和消息弹回。由此,可在web服务平台中可靠地实现对工作项的分发。
因此,提供了使用web服务按需消息处理线程来实现基于调度的工作项处理的系统、方法以及计算机程序产品。此外,提供了基于所估计的未来工作负载管理对线程的处理的系统、方法以及计算机程序产品。
本发明可以其他具体形式体现,而不背离其精神或本质特性。所述实施例在所有方面都应当被认为只是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而非上述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变都被权利要求书的范围所涵盖。

Claims (9)

1.在包括多个计算系统的计算机联网环境中包括至少一个处理器和存储器的计算机系统处,一种用于使用web服务按需消息处理线程提供基于调度的处理的计算机实现的方法,所述方法包括:
在web服务器平台处加载具有被配置成执行按需消息处理的一个或多个线程的按需消息处理服务以及具有被配置成根据调度执行消息的背景处理的一个或多个线程的背景消息处理服务的动作;
在所述web服务平台(401)从客户端接收为基于调度的背景处理指定的消息(406)的动作;
在所述web服务平台处确定所述按需消息处理服务的一个或多个线程可用于处理接收到的消息的动作;
实现所述按需消息处理服务的用以对接收到的客户端消息(406)执行背景处理的线程(416)的动作,其中为背景处理指定的客户端消息作为服务发起的按需任务来处理;
所述按需消息处理服务的线程中的至少一个被分配来驱使轮询背景处理工作项的轮询循环的动作;
基于当前和过去轮询循环动作中的至少一个来估计所述web服务平台的未来工作负载的动作;以及
基于所估计的未来工作负载延缓至少一部分背景处理的动作。
2.如权利要求1所述的方法,其特征在于,按需处理和背景处理两者都出现在单个主机上。
3.如权利要求1所述的方法,其特征在于,所实现的用于背景处理的按需消息处理线程是无尽的。
4.如权利要求3所述的方法,其特征在于,所述无尽的按需消息处理线程分配至少一个消息处理线程来驱使轮询背景处理工作项的轮询循环。
5.如权利要求4所述的方法,其特征在于,所述轮询循环查询一个或多个工作项队列以从所述队列拉取工作项。
6.如权利要求5所述的方法,其特征在于,所述轮询循环将所拉取的工作项提供给从线程池挑选的处理线程。
7.如权利要求4所述的方法,其特征在于,所述轮询循环包括跨多个消息继续的逻辑循环。
8.一种用于基于所估计的未来工作负载管理处理线程的方法,所述方法包括:
在web服务器平台处加载具有被配置成执行按需消息处理的一个或多个无尽的线程的按需消息处理服务以及具有被配置成根据调度执行消息的背景处理的一个或多个线程的背景消息处理服务的动作;
在所述web服务平台(410)从客户端(405)接收为基于调度的背景处理指定的单向消息(406)的动作,其中所述无尽的按需消息处理线程分配至少一个线程(417)来驱使轮询背景处理工作项(426)的轮询循环(425);
在所述web服务平台处确定所述按需消息处理服务的一个或多个线程可用于处理接收到的消息的动作;
实现所述按需消息处理服务的用以对接收到的客户端消息(406)执行背景处理的线程(416)的动作,其中为背景处理指定的客户端消息作为服务发起的按需任务来处理;
所述按需消息处理服务的线程中的至少一个被分配来驱使轮询背景处理工作项的轮询循环的动作;
基于当前和过去轮询循环动作中的至少一个来估计所述web服务平台的未来工作负载(431)的动作;以及
基于所估计的未来工作负载(431)延缓(435)至少一部分背景处理的动作。
9.一种用于使用web服务按需消息处理线程提供基于调度的处理的系统,所述系统包括:
用于在web服务器平台处加载具有被配置成执行按需消息处理的一个或多个线程的按需消息处理服务以及具有被配置成根据调度执行消息的背景处理的一个或多个线程的背景消息处理服务的装置;
用于在所述web服务平台从客户端接收为基于调度的背景处理指定的消息的装置;
用于在所述web服务平台处确定所述按需消息处理服务的一个或多个线程可用于处理接收到的消息的装置;
用于实现所述按需消息处理服务的用以对接收到的客户端消息执行背景处理的线程的装置,其中为背景处理指定的客户端消息作为服务发起的按需任务来处理;
用于所述按需消息处理服务的线程中的至少一个被分配来驱使轮询背景处理工作项的轮询循环的装置;
用于基于当前和过去轮询循环动作中的至少一个来估计所述web服务平台的未来工作负载的装置;以及
用于基于所估计的未来工作负载延缓至少一部分背景处理的装置。
CN201110434460.1A 2010-12-13 2011-12-12 用于提供按需处理和背景处理的体系结构 Expired - Fee Related CN102591708B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/966,862 US8473957B2 (en) 2010-12-13 2010-12-13 Architecture for providing on-demand and background processing
US12/966,862 2010-12-13

Publications (2)

Publication Number Publication Date
CN102591708A CN102591708A (zh) 2012-07-18
CN102591708B true CN102591708B (zh) 2015-05-06

Family

ID=46200820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110434460.1A Expired - Fee Related CN102591708B (zh) 2010-12-13 2011-12-12 用于提供按需处理和背景处理的体系结构

Country Status (3)

Country Link
US (1) US8473957B2 (zh)
CN (1) CN102591708B (zh)
HK (1) HK1172424A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019297B2 (en) * 2013-04-03 2018-07-10 Salesforce.Com, Inc. Systems and methods for implementing bulk handling in asynchronous processing
US9870266B2 (en) * 2015-07-30 2018-01-16 Nasdaq, Inc. Background job processing framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298502A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 远程进程的的挂起和继续的方法和设备
CN1770121A (zh) * 2004-09-30 2006-05-10 微软公司 在软件运行的同时更新软件
CN101292234A (zh) * 2005-10-20 2008-10-22 微软公司 负载平衡

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761533B2 (en) 2005-09-21 2010-07-20 Sap Ag Standard implementation container interface for runtime processing of web services messages
US8539097B2 (en) 2007-11-14 2013-09-17 Oracle International Corporation Intelligent message processing
US8769048B2 (en) * 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298502A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 远程进程的的挂起和继续的方法和设备
CN1770121A (zh) * 2004-09-30 2006-05-10 微软公司 在软件运行的同时更新软件
CN101292234A (zh) * 2005-10-20 2008-10-22 微软公司 负载平衡

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jim Wilson.Microsoft .NET Compact Framework Background Processing Techniques.《Microsoft .NET Compact Framework Background Processing Techniques》.2003,第1-7页. *

Also Published As

Publication number Publication date
CN102591708A (zh) 2012-07-18
US8473957B2 (en) 2013-06-25
HK1172424A1 (zh) 2013-04-19
US20120151489A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
US10303509B2 (en) Distributed task system based on internet of things and service processing method for distributed tasks based on the same
US9769110B2 (en) Message delivery in messaging networks
US11068307B2 (en) Computing node job assignment using multiple schedulers
CN103562868B (zh) 分布式计算框架
US8726280B2 (en) Method and system for autonomic application program spawning in a computing environment
EP2357559A1 (en) Performing a workflow having a set of dependancy-related predefined activities on a plurality of task servers
US10505791B2 (en) System and method to handle events using historical data in serverless systems
CN108449410A (zh) 一种云平台中消息管理方法、系统及相关装置
CN102591921A (zh) 个人数据中心内的调度和管理
CN102469033A (zh) 一种消息订阅系统以及消息发送方法
US9417909B2 (en) Scheduling work in a multi-node computer system based on checkpoint characteristics
CN102591708B (zh) 用于提供按需处理和背景处理的体系结构
CN115981871B (zh) 一种gpu资源调度方法、装置、设备及存储介质
CN116594784B (zh) 一种边边调度方法、装置、系统和可读存储介质
Kahlon et al. Managing QoS degradation of partner web services: A proactive and preventive approach
CN117076057B (zh) 一种ai服务请求调度的方法、装置、设备及介质
US20230076488A1 (en) Machine-learning-based replenishment of interruptible workloads in cloud environment
US20230315522A1 (en) Systems and methods for implementing distributed scheduling capabilities for computing clusters
Shih et al. Shadow phone: Context aware device replication for disaster management
Chang et al. RARS: a Resource-Aware Replica Selection and co-allocation scheme for mobile grid
CN116719632A (zh) 任务调度方法、装置、设备以及介质
CN117395248A (zh) 基于算力网络的应用编排调度方法、装置、设备及介质
CN115878274A (zh) 告警任务调度方法、装置、电子设备及计算机可读存储介质
Lan et al. A Service Failure Recovery Framework Supporting Context Persistence
CN110188884A (zh) 一种数据处理方法及推理平台

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1172424

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150805

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150805

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172424

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150506

Termination date: 20191212

CF01 Termination of patent right due to non-payment of annual fee