CN102662731A - 服务提供方法以及使用该方法的装置 - Google Patents
服务提供方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN102662731A CN102662731A CN2011104190001A CN201110419000A CN102662731A CN 102662731 A CN102662731 A CN 102662731A CN 2011104190001 A CN2011104190001 A CN 2011104190001A CN 201110419000 A CN201110419000 A CN 201110419000A CN 102662731 A CN102662731 A CN 102662731A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- service
- scheduling
- relevant
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种服务提供方法和服务提供装置。该服务提供方法包括:收集有关配置至少一个服务并在多个节点中动态分布安排的多个任务的运行状态信息;和基于有关所述多个收集的任务的运行状态信息来运行调度,其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。本发明的示范实施例可有效地提供大容量流数据的接近实时分析和处理服务。
Description
相关申请的交叉引用
本申请要求2010年12月15日向韩国知识产权局提交的韩国专利申请第10-2010-0128579号的优先权和权益,通过引用在这里合并其全部内容。
技术领域
本发明涉及服务提供方法以及服务提供装置,并更具体地,涉及能够考虑到各种应用环境来有效提供大容量流数据的接近实时分析和处理服务的服务提供方法以及服务提供装置。
背景技术
由于无处不在(ubiquitous)的计算环境的引入以及以用户为中心的因特网服务市场的快速发展,所以要处理的数据量已迅速增加,并且也已使得数据的类型更多样化。所以,已进行各种分布(distributed)数据处理研究,以便提供用于大容量数据的接近实时分析和处理服务。
作为各种分布数据处理研究之一,图1是示出了根据现有技术的用于处理大容量数据的并行分布处理结构的一个示范实施例的示意图。
参考图1,服务100包括单一输入源(输入源1)100和单一输出源(输出源1)130,并由处理来自输入源的数据的多个节点(节点1到节点5)111到115来运行。
该服务可通过组合所提供的算子(operator)并定义数据流图来定义。在该情况下,该数据流图可由在多个节点(节点1到节点5)111到115的每一个中存在的多个数据处理操作(OP 1到OP 5)116到120、以及用于描述在所述多个数据处理操作(OP 1到OP 5)116到120之间的数据流的有向非循环图(DAG)的定义来表示。
这样,服务110被分布安排在簇内的所述多个节点(节点1到节点5)111到115中,并被并行运行,由此相对快速地支持用于大容量数据的服务。
基于上述并行分布处理结构的根据现有技术的用于大容量数据处理的并行分布处理系统将在下面描述。
首先,公知Borealis系统是适于并行分布处理流数据的系统,并且提供用于处理流数据的各种算子,例如Union、filter、Tumble、Join等。Borealis系统在分布节点中安排配置这些服务的算子,并并行执行这些算子,由此执行用于大容量流数据的并行分布处理。然而,由于仅可处理整形后的数据并且仅可通过所提供的算子的组合来运行用户的服务定义,所以Borealis系统难以应用到复杂服务技术并与根据服务特性用于数据处理操作的用户的优化技术组合。
其间,MapReduce(映射缩小)系统是为了支持用于在被配置为具有便宜大规模节点的簇上存储的大容量数据的并行分布操作而提出的并行分布处理系统,其可从Google公司得到。MapReduce系统支持用户定义映射和缩小操作,并将所述映射和缩小操作复制到多节点作为多任务,以并行地分布处理大容量数据。
Dryad系统是比MapReduce系统更扩展的基于数据流图的并行分布处理系统。在Dryad系统中,用户描述数据处理操作作为顶点(vertex),并且顶点之间的数据传递由信道表示,由此配置服务。一般来说,顶点可对应于节点,而信道可对应于边缘或线。Dryad系统基于有关簇中的节点的负载信息来动态地分布排列这些顶点,从而快速运行用户注册/定义的服务,由此并行处理大容量数据。
其间,Hadoop在线系统改善仅在其中MapReduce系统的大容量数据的映射和缩小操作完全结束的情况下才可获得处理结果的缺点,使得用户可甚至在处理过程中获得处理结果的数据。
然而,所有MapReduce、Dryad、Hadoop在线系统仅将除了流数据之外的在簇中的文件中存储的存储数据看作处理对象。另外,存在这样的问题,即,MapReduce和Hadoop在线系统仅提供固定的映射和缩小操作,而不支持能够在应用中获得处理结果的各种方法。
所以,现有技术不能考虑到各种应用环境而有效提供大容量流数据的接近实时分析和处理服务。
发明内容
已努力作出本发明,以提供能够考虑到各种应用环境、而有效提供大容量流数据的接近实时分析和处理服务的服务提供方法和服务提供装置。
此外,已努力作出本发明,以提供能够通过向多个节点动态地分布排列用户所定义的数据处理操作、而连续并行执行数据处理的服务提供方法和服务提供装置。
本发明的示范实施例提供一种服务提供方法,包括:收集有关配置至少一个服务并在多个节点中动态分布安排的多个任务的运行状态信息;和基于有关所述多个收集的任务的运行状态信息来运行调度,其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
可基于在所述多个任务的每一个中定义的数据划分数目和诸如数据划分方法的与数据划分相关的信息、或基于在所述多个任务的每一个中定义的删除数据量和诸如删除数据选择参考的与数据删除相关的信息,来执行该调度。
该调度步骤可进一步包括:基于有关所述多个收集的任务的运行状态信息,来确定是否存在不满足服务质量的服务;如果存在,则选择作为不满足的理由的任务;和对于所选择的任务运行该调度。
用于所选择的任务的调度可根据在所述多个任务中的资源使用状态信息来删除输入数据的至少一部分,或在所选择的任务的至少一个复制任务中处理。
本发明的另一示范实施例提供了一种服务提供装置,包括:服务运行器管理模块,用于收集有关配置至少一个服务并在多个节点中动态分布安排的多个任务的运行状态信息;和调度和排列模块,用于基于有关所述多个收集的任务的运行状态信息来运行调度,其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
可基于在所述多个任务的每一个中定义的数据划分数目和诸如数据划分方法的与数据划分相关的信息、或基于在所述多个任务的每一个中定义的删除数据量和诸如删除数据选择参考的与数据删除相关的信息,来执行该调度。
该调度和排列模块可基于有关所述多个收集的任务的运行状态信息,来确定是否存在不满足服务质量的服务,如果存在,则选择作为不满足的理由的任务,并对于所选择的任务运行该调度。
用于所选择的任务的调度可根据在所述多个任务中的资源使用状态信息来删除输入数据的至少一部分,或可在所选择的任务的至少一个复制任务中处理。
该服务提供装置可进一步包括:服务管理模块,用于控制一般数据分布处理;和任务恢复模块,用于在任务错误时恢复和重新运行任务。
所述多个节点中的每一个可包括一个任务运行器,并且该任务运行器可收集有关位于所述多个节点中的每一节点处的至少一个任务的运行状态信息和资源使用状态信息,以将收集的运行状态信息和资源使用状态信息传递到该数据分布处理装置,并可根据该服务提供装置的调度运行来控制所述至少一个任务的运行。
该任务运行器可运行与该服务提供装置的调度运行分离的调度,以控制该运行。
该任务运行器处的调度可改变任务运行顺序,以便满足对于每一任务设置的服务质量。
本发明的另一示范实施例提供了一种服务提供方法,包括:传送对于用户定义的服务的运行请求;和接收根据该运行请求运行的服务,其中该服务的运行步骤包括:收集有关配置该服务并在多个节点中动态分布安排的多个任务的运行状态信息;和基于有关所述多个收集的任务的运行状态信息来运行调度,其中所述多个任务中的每一个具有至少一个输入源和一个输出源,定义要对于每一输入源处理的数据单位和数据处理操作,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
本发明具有以下优点。
首先,本发明的示范实施例可支持用于具有从其生成的各种应用环境和各种格式的大容量流数据和存储数据的分布连续处理服务。
第二,本发明的示范实施例可使得由于网络环境的改变或输入数据的激增而导致的处理运行的缩小最小化。
第三,本发明的示范实施例可允许各种应用环境下的用户在接收确保用户所指定的服务质量的服务的同时处理非整形流数据。
以上发明内容仅是图示性的并不意欲按照任何方式进行限制。除了上述图示的方面、实施例和特征之外,进一步方面、实施例和特征通过参考图和以下详细描述将成为明显的。
附图说明
图1是示出了根据现有技术的用于处理大容量数据的并行分布处理结构的示范实施例的示意图。
图2是示出了根据本发明示范实施例的用于处理大容量数据的并行分布处理结构的示范实施例的示意图。
图3是示出了根据本发明另一示范实施例的用于处理大容量数据的并行分布处理结构的另一示范实施例的示意图。
图4A到4C中的每一个是根据本发明示范实施例的图3的服务管理器、任务运行器和任务的功能框图。
图5是示意性示出了根据本发明示范实施例的用于注册和运行用户所定义的服务的处理的流程图。
图6是示出了根据本发明示范实施例的在任务中执行的运行处理的流程图。
图7是示出了根据本发明示范实施例的在服务管理器中执行的全局调度的处理的流程图。
应理解,附图并非必须按照比例,其呈现本发明的基本原理的各特征图示的稍微简化的表示。这里公开的本发明的特定设计特征(包括例如特定维度、方位、地点和形状)将部分地通过特定预期应用和使用环境来确定。
在图中,附图标记在图的几个图形中始终表示本发明的相同或等效部分。
具体实施方式
其后,将参考附图来详细描述本发明的示范实施例。首先,我们应注意到,在向每一图中的元素给予附图标记的时候,即使在不同图中示出了相同的元素,相同附图标记也表示相同元素。在描述本发明时,将不详细描述公知功能或构造,因为它们可不必要地使得本发明的理解模糊。应理解的是,尽管后面描述本发明的示范实施例,但是本发明的精神不限于此,并可由本领域技术人员按照各种方式改变和修改。
本发明的示范实施例可通过各种手段实现。例如,本发明的示范实施例可通过固件、软件、或其组合等实现。
在通过硬件的实现中,根据本发明示范实施例的方法可通过特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等实现。
在使用固件或软件的实现中,根据本发明示范实施例的方法可通过执行上述功能或操作的模块、过程、功能等实现。软件代码被存储在存储单元中并可由处理器驱动。存储单元被安排在处理器中或处理器外,并可向和从各种公知单元传送和接收数据。
提供特定术语以帮助本发明的理解。特定术语的使用可以被改变为其他形式,而不脱离本发明的技术思想。
其后,将参考附图来详细描述本发明的示范实施例。
图2是示出了根据本发明示范实施例的用于处理大容量数据的并行分布处理结构的示范实施例的示意图。
参考图2,根据本发明示范实施例的数据处理系统210由多个节点(节点1到7)211到217配置,并允许数据处理操作并行地分布处理大容量流数据和/或存储数据,以便运行由用户定义的任务(任务1到任务6)221到224以及231到232的组合所配置的服务220和230。
与以上描述类似,服务220和230可通过定义数据流图来定义。这里,数据流图可由与所述多个节点(节点1到7)211到217中的每一个中存在的多个数据处理操作对应的多个任务(任务1到任务6)221到224、231以及232、以及描述所述多个任务之间的数据流的有向非循环图(DAG)的定义来表示。
数据处理系统210的至少一个服务输入源(输入源1和输入源2)200和201和/或至少一个服务输出源(输出源1和输出源2)240和241可以是文件或网络源和用户定义的输入和输出源,并且向至少一个服务输入源200和201和/或至少一个服务输出源240和241输入/输出的数据格式可以是基于标识符的记录、密钥值记录、基于行(CR)的文本、文件、和/或用户定义的输入和输出格式。
所述多个任务221到224、231以及232中的每一个可具有至少一个输入和一个输出源。这里,一般任务的输入源是在前任务,而输出源可以是在后任务。在一些情况下,服务输入和输出源可以是任务的输入和输出源。例如,服务输入和输出源的至少一个200和201和241和241可以是所述多个任务221、224、231和232中的至少一个输入源和/或一个输出源。另外,所述多个任务221到224、231以及232可以通过通用开发语言来定义。
在该情况下,该定义可包括作为每一输入源的处理对象的流数据的单位,即,数据窗口的定义。在该情况下,该数据窗口可被设置为时间单位和/或数据单位,并可以是预定时间间隔或数据数目或事件数目。此外,也可以一起设置用于随后数据处理的数据窗口配置的滑动单元。
其间,所述多个任务221到224、231以及232的定义可以包括例如对抗输入数据激增的与数据划分相关的信息。与数据划分相关的信息可以是例如数据划分方法、数据划分的次数、和/或有关数据划分方法的引导信息。在该情况下,数据划分方法可以是诸如随机、循环、散列等的划分方法之一。
作为选择,所述多个任务221到224、231以及232的定义可以包括例如与分级卸载(load shedding)相关的信息,即对抗输入数据激增的与数据删除相关的信息。与数据删除相关的信息可以是删除数据量和/或删除数据选择参考,并且可包括允许删除的输入数据的比率或数据删除方法。作为数据删除方法,可存在删除作为数据窗口的所有数据界限(bound)的方法以及删除数据窗口内的一些数据的方法。
其间,用户可定义包括在服务230的定义时正预先运行的服务220的特定任务221的任务之间的数据流。这是为了通过共享数据操作处理结果来优化数据处理系统210内的资源的使用。
与图1的描述类似地,用户定义的服务220和230通过由簇中的多个节点211到217动态地分布排列配置服务220和230的所述多个任务221到224、231以及232来运行。在该情况下,所述多个任务的动态分布排列通过参考有关配置该簇的多个节点的负载信息来运行。有关节点的负载信息可以是该节点上当前运行的任务的包括CPU的占空因数、存储器、网络带宽等的系统负载信息、和/或诸如数据输入速率、吞吐量、预测QoS信息的满足等的服务负载信息。
另外,根据是否共享任务,特定任务221通过向在后任务222和232两者相同地传递处理的结果,而支持对相同数据的操作,以免不必要的重复。
此外,当例如在运行服务之后发生流数据的激增时,通过任务复制223而在所述多个节点的一些节点213和214中并行处理流数据,由此使得服务处理运行的缩小最小化。在该情况下,最佳任务复制数目可以通过参考与服务定义内的对应任务关联的数据划分数目、以及诸如数据划分方法的与数据划分相关的信息而动态确定。
图3是示出了根据本发明另一示范实施例的用于处理大容量数据的并行分布处理结构的另一示范实施例的示意图。
然而,图2是在服务定义方面示出的图,而图3是在服务运行方面示出的图,这是它们之间的唯一区别。要注意的是,它们不彼此冲突或兼容。
参考图3,数据处理系统300被配置为包括单一服务管理器301和n个任务运行器1到n 302到304,它们中的每一个可以在分布节点(未示出)中运行。
服务管理器310监视或收集负载信息,该负载信息包括在每一分布节点中正运行的任务运行器302到304的操作状态、有关在每一任务运行器302到304中管理的任务的运行状态信息和/或有关对应分布节点的资源使用状态信息等。当服务管理器301接收对于用户定义的服务的运行请求时,服务管理器301通过基于收集的负载信息确定运行对应服务的任务的任务运行器302到304并安排这些任务,来运行服务。另外,服务管理器301基于收集的负载信息来调度所有任务的运行。
任务运行器302到304运行从服务管理器310分配的任务305到311,并监视任务305到311的运行状态,由此调度任务305到311的运行。
其间,通过任务运行器302到304运行的任务305到311通过从外部输入源(输入源1)320接收数据而执行任务,并将生成的结果传递到外部输出源(输出源1)330。例如,在任务2306的情况下,任务运行器302到304从外部输入源320接收数据以执行操作,并将结果传递到在后任务,即任务3307。任务3307对从任务2接收的结果数据执行操作,并然后将操作结果传递到任务M 310。其间,任务M 310将操作运行结果传递到外部输出源330。
图4A到4C中的每一个是根据本发明示范实施例的图3的服务管理器、任务运行器和任务的功能框图。
参考图4,服务管理器400可被配置为包括通信模块401、接口模块402、服务运行器管理模块403、服务管理模块404、服务质量管理模块405、全局调度和排列模块406、任务恢复模块407、和元数据管理模块408。
在该配置中,通信模块401服务以与数据处理系统和任务运行器410的用户通信,并且接口模块402提供接口,可允许用户在应用程序和控制台中执行诸如根据本发明示范实施例的数据处理系统的操作和停止的操作和管理,并执行根据本发明示范实施例的数据处理服务的定义和管理。
服务运行器管理模块403收集所操作的任务运行器的运行状态信息,以检测任务运行器是否处于错误状态,并向全局调度和排列模块406通知该检测结果以便操作全局调度。
服务管理模块404根据数据流将用户所定义的服务分离为几个任务,以控制在几个节点中分布执行的诸如服务验证、注册、运行、停止、改变、删除等的一般处理。另外,服务管理模块404收集有关正运行的任务的运行状态信息,以检测任务运行器是处于错误状态还是非平滑运行状态(连续QoS不满足状态),并向全局调度和排列模块406通知该检测结果以便操作全局调度。
服务质量管理模块405管理QoS信息,以便尽可能最大地确保每一服务的服务质量目标。在该情况下,QoS信息可以是例如服务的精度、服务的延迟度、以及容许服务满意度等。
全局调度和排列模块406运行该调度,使得任务420通过分布排列在几个任务运行器410中而运行,以便最大程度地满足用户基于QoS信息、服务器、和服务运行状态信息而设置的QoS。该调度可删除输入数据的至少一部分,或包括在其他任务中处理的数据,例如任务分布、移动和复制、任务的运行时间控制、以及通过输入数据删除引起的强制负载减小等。
任务恢复模块407服务以在任务运行器410的错误以及任务420的错误时恢复和重新运行任务。任务恢复模块407可包括选择性恢复和重新运行预先执行的任务数据的功能。其间,服务管理器的错误恢复利用通过仲裁器使得激活待令模式类型的服务管理器加倍或从多个候选服务管理器中选择单一主服务管理器的方法来执行,从而如本发明的示范实施例中那样没有停止地提供数据流分布连续处理系统的服务。将省略服务管理器的恢复模块的结构和功能的描述。
最后,元数据管理模块408存储和/或管理诸如服务信息、QoS信息、服务器信息等的元数据。
参考图4,任务运行器410被配置为包括通信模块411、任务管理模块412、和局部调度模块413。
使用通信模块411来从任务运行器410所管理的任务之中的至少正被运行的任务接收运行状态信息,并将所传递的运行状态信息和/或有关至少运行任务的节点的资源使用状态信息传递到服务管理器400。
任务管理模块412运行从服务管理器400分配的任务,并收集有关至少正运行的任务420的运行状态信息和有关任务运行器410的资源使用状态信息。
局部调度模块413基于从例如服务管理器400传递的局部QoS信息和/或任务运行状态控制命令,来控制要运行的任务的运行。在该情况下,局部QoS信息可以是作为与任务运行器410所仅仅管理的任务关联的服务质量信息的、与上述(全局)QoS信息类似的、数据吞吐量、处理延迟时间等,并且运行状态控制命令可以是新任务运行、正运行的任务的停止、向任务分配的系统资源(例如,存储器、CPU等)改变信息、和/或通过任务的输入数据删除的强制负载减小等。
局部调度模块413管理局部调度信息,并检查在任务级别是否满足QoS。即,局部调度模块413可监视或收集有关任务的运行状态信息,并允许任务运行器410单独执行除了服务管理器410的调度之外的对任务的至少一部分进行的调度,以便最大程度地满足局部QoS,由此控制运行,例如执行独立调度等,诸如确定正运行的任务的运行顺序。
参考图4C,任务420被配置为包括通信模块421、连续处理任务模块422、流输入和输出管理模块423、强制负载减小模块424、流划分和合并模块425、以及任务恢复信息管理模块426。
通信模块421执行通信功能,以向管理任务420的任务运行器410传递有关对应任务的运行状态信息,并从任务运行器410接收局部调度信息。
连续处理任务模块422基于通过流输入和输出管理模块423所输入的数据来运行用户定义的数据处理操作,并将运行结果通过流输入和输出管理模块423输出到下一任务或外部输出源。流输入和输出管理模块423管理包括文件、TCP等的用户定义的输入和输出源、以及用于任务之间的输入和输出通道的数据窗口、输入和输出数据格式、以及输入和输出数据。
强制负载减小模块424服务以通过例如根据管理对应任务的任务运行器410的局部调度模块413的控制来强制删除捆绑到任务的数据窗口的流数据的至少一部分,而减小负载。
流划分和合并模块425服务以按照数据窗口单位划分任务的输入数据流,从而当将单一任务复制为要在多个节点处并行执行的至少一个复制任务时,将划分的输入数据流传递到包括该任务的至少一个复制任务,并服务以执行该任务和所述至少一个复制任务中的操作,以集成输出数据流。在该情况下,所述至少一个复制任务可在相同节点中存在或其每一个可在不同节点中存在。
任务恢复信息管理模块426服务以存储和管理必要信息,以便在计算对于在当前正处理的任务上捆绑的流数据窗口的最终结果之前恢复数据,用于该任务的失败恢复。
图5是示意性示出了根据本发明示范实施例的用于注册和运行用户所定义的服务的处理的流程图。
当通过用户定义建立的新服务在根据本发明示范实施例的数据处理系统中注册时(501),基于有关配置单一簇的多个节点的资源使用状态信息和/或有关在所述多个节点的每一个处正运行的预先运行任务的运行状态信息等,选择分配配置新服务的任务的至少一个节点和/或至少一个任务运行器(502)。这些任务被分配到所选择的节点处的任务运行器和/或选择的任务运行器,并被分布排列并然后运行(503)。其后,服务管理器连续动态执行任务的调度,以便基于周期性输入的有关任务的运行状态信息,来更快速地运行通过用户定义建立的新服务(504)。
在该情况下,将参考图6来描述所述任务中的至少一个的操作。如图6中所示,任务检测是否从至少一个输入源配置所有数据窗口(601)。如果确定配置了所有数据窗口,则执行用户定义的任务(602)。如果确定没有配置所有数据窗口,则用户定义的任务处于待令状态(600)。当通过执行用户定义的任务而生成操作结果时,将操作结果传递到至少一个输出源(603)。在该情况下,存储有关对应任务的运行状态信息,以便恢复任务,并提供该运行状态信息(604)。
图7是示出了根据本发明示范实施例的在服务管理器中执行的全局调度的处理的流程图。
服务管理器周期性地收集有关至少一个任务的运行状态信息(701)。基于收集的信息来确定是否存在不满足用户定义的QoS的服务(702)。如果确定所有服务满足该QoS,则收集有关随后任务的运行状态信息(701),并且如果确定存在不满足该QoS的服务,则选择引起不满足该QoS的服务的那个任务(703),并然后执行用于所选择的任务的调度(704)。
在该情况下,可通过例如以下处理来执行作为不满足服务质量的理由的所选择的任务的调度。首先,执行调度,以进一步使用该系统资源达到运行所选择的任务所需的量。如果确定在正运行所选择的任务的对应节点中没有空闲资源,则搜索具有足以平滑运行任务的空闲资源的另一节点。当搜索具有空闲资源的另一节点时,将对应任务从预先运行的对应节点移动到具有空闲资源的另一节点。当没有搜索到具有空闲资源的另一节点时,执行调度,以通过划分输入数据流、将所选择的任务复制到多个其他分布节点、并在复制的其他分布节点中运行复制的所选择的任务,来划分和使用所述多个节点的资源。其间,当不能进行任务的移动和复制时,可将上述强制负载减小方法应用到所选择的任务。
在该情况下,作为提供用户定义的服务的设备的至少一部分,可使用被配置为包括服务管理器、至少一个任务运行器、至少一个任务、和至少一个节点的根据本发明的数据处理系统的每一组件和子组件的功能和结构的描述,如同它们在根据本发明示范实施例的服务提供方法中那样。
服务提供装置和服务提供方法可被应用到用于实时分析和处理大容量流数据所需的技术领域,诸如实时个人服务或推荐服务、基于CCTV的安全服务等,诸如在包括因特网服务的各种应用环境下。
如上所述,已在图中和说明书中描述和图示了这些示范实施例。选择和描述这些示范实施例,以便解释本发明的某些原理和它们的实际应用,以由此使得本领域技术人员能够制造和利用本发明的各示范实施例、以及其各种替换和修改。从以上描述可显而易见的是,本发明的某些方面不受到这里图示的示例的特定细节的限制,并所以预期本领域技术人员将进行其他修改和应用或其等效。然而,在考虑了说明书和附图之后,本构造的许多修改、变型以及其他使用和应用对于本领域技术人员来说将成为明显的。认为不脱离本发明的精神和范围的所有这样的改变、修改、变型以及其他使用和应用由仅通过下面的权利要求限定的本发明覆盖。
Claims (15)
1.一种服务提供方法,包括:
收集有关配置至少一个服务并在多个节点中动态分布安排的多个任务的运行状态信息;和
基于有关所述多个收集的任务的运行状态信息来运行调度,
其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
2.根据权利要求1的方法,其中基于在所述多个任务的每一个中定义的数据划分数目和诸如数据划分方法的与数据划分相关的信息,来执行该调度。
3.根据权利要求1的方法,其中基于在所述多个任务的每一个中定义的删除数据量和诸如删除数据选择参考的与数据删除相关的信息,来执行该调度。
4.根据权利要求1的方法,其中该调度步骤进一步包括:
基于有关所述多个收集的任务的运行状态信息,来确定是否存在不满足服务质量的服务;
如果存在,则选择作为不满足的理由的任务;和
对于所选择的任务运行该调度。
5.根据权利要求4的方法,其中用于所选择的任务的调度根据在所述多个任务中的资源使用状态信息来删除输入数据的至少一部分,或在所选择的任务或所选择的任务的至少一个复制任务中处理。
6.一种服务提供装置,包括:
服务运行器管理模块,用于收集有关配置至少一个服务并在多个节点中动态分布安排的多个任务的运行状态信息;和
调度和排列模块,用于基于有关所述多个收集的任务的运行状态信息来运行调度,
其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
7.根据权利要求6的服务提供装置,其中基于在所述多个任务的每一个中定义的数据划分数目和诸如数据划分方法的与数据划分相关的信息,来执行该调度。
8.根据权利要求6的服务提供装置,其中基于在所述多个任务的每一个中定义的删除数据量和诸如删除数据选择参考的与数据删除相关的信息,来执行该调度。
9.根据权利要求6的服务提供装置,其中该调度和排列模块基于有关所述多个收集的任务的运行状态信息,来确定是否存在不满足服务质量的服务,如果存在,则选择作为不满足的理由的任务,并对于所选择的任务执行调度。
10.根据权利要求9的服务提供装置,其中用于所选择的任务的调度根据在所述多个任务中的资源使用状态信息来删除输入数据的至少一部分,或在所选择的任务的至少一个复制任务中处理。
11.根据权利要求6的服务提供装置,进一步包括:
服务管理模块,用于控制一般数据分布处理;和
任务恢复模块,用于在任务错误时恢复和重新运行任务。
12.根据权利要求6的服务提供装置,其中所述多个节点中的每一个包括一个任务运行器,并且
该任务运行器收集有关位于所述多个节点中的每一节点处的至少一个任务的运行状态信息和资源使用状态信息,以将收集的运行状态信息和资源使用状态信息传递到该服务提供装置,并根据该服务提供装置的调度运行来控制所述至少一个任务的运行。
13.根据权利要求12的服务提供装置,其中该任务运行器运行与该服务提供装置的调度运行分离的调度,以控制该运行。
14.根据权利要求13的服务提供装置,其中该任务运行器处的调度改变任务运行顺序,以便满足对于每一任务设置的服务质量。
15.一种服务提供方法,包括:
传送对于用户定义的服务的运行请求;和
接收根据该运行请求运行的服务,
其中该服务的运行步骤包括:
收集有关配置该服务并在多个节点中动态分布安排的多个任务的运行状态信息;和
基于有关所述多个收集的任务的运行状态信息来运行调度,
其中所述多个任务中的每一个具有至少一个输入源和一个输出源,要对于每一输入源处理的数据单位和数据处理操作由用户定义,并且该调度通过参考所定义的数据单位而删除输入到至少一个任务的数据的至少一部分,或者该调度在至少一个复制任务中处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100128579A KR20120067133A (ko) | 2010-12-15 | 2010-12-15 | 서비스 제공 방법 및 장치 |
KR10-2010-0128579 | 2010-12-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102662731A true CN102662731A (zh) | 2012-09-12 |
Family
ID=46235824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104190001A Pending CN102662731A (zh) | 2010-12-15 | 2011-12-15 | 服务提供方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120158816A1 (zh) |
KR (1) | KR20120067133A (zh) |
CN (1) | CN102662731A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391678A (zh) * | 2014-05-20 | 2015-03-04 | 上海兆芯集成电路有限公司 | 服务器及其方法、系统及其方法 |
CN104486378A (zh) * | 2014-11-26 | 2015-04-01 | 中国建设银行股份有限公司 | 一种集群控制方法及装置 |
CN109213005A (zh) * | 2018-11-21 | 2019-01-15 | 成都四方伟业软件股份有限公司 | 一种仿真控制方法及装置 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949305B1 (en) * | 2011-07-15 | 2015-02-03 | Scale Computing, Inc. | Distributed dynamic system configuration |
US20150074666A1 (en) * | 2012-04-18 | 2015-03-12 | Hitachi, Ltd. | Support system for creating operation task process of computer system and first management computer for supporting creation of operation task process |
KR101961631B1 (ko) * | 2013-01-10 | 2019-03-25 | 삼성전자 주식회사 | 분산 컴퓨팅 환경에서의 서비스 실행 설정 방법 및 컴퓨팅 장치 |
US9336058B2 (en) | 2013-03-14 | 2016-05-10 | International Business Machines Corporation | Automated scheduling management of MapReduce flow-graph applications |
KR20150030332A (ko) * | 2013-09-12 | 2015-03-20 | 삼성전자주식회사 | 데이터 분산 처리 시스템 및 이의 동작 방법 |
KR102127116B1 (ko) * | 2014-03-12 | 2020-06-26 | 삼성전자 주식회사 | 분산 데이터 저장 장치 및 분산 데이터 저장 방법 |
CN103942034A (zh) * | 2014-03-21 | 2014-07-23 | 深圳华大基因科技服务有限公司 | 任务调度方法及实现该方法的电子装置 |
US9607073B2 (en) * | 2014-04-17 | 2017-03-28 | Ab Initio Technology Llc | Processing data from multiple sources |
US9582189B2 (en) | 2014-04-25 | 2017-02-28 | International Business Machines Corporation | Dynamic tuning of memory in MapReduce systems |
US20170201434A1 (en) * | 2014-05-30 | 2017-07-13 | Hewlett Packard Enterprise Development Lp | Resource usage data collection within a distributed processing framework |
CN104598320B (zh) * | 2015-01-30 | 2018-11-30 | 北京正奇联讯科技有限公司 | 基于分布式系统的任务执行方法及系统 |
US20180157535A1 (en) * | 2015-06-15 | 2018-06-07 | Datto, Inc. | Methods, systems and apparatuses for managing prioritization of time-based processes |
US9936042B2 (en) | 2015-08-28 | 2018-04-03 | Qualcomm Incorporated | Local retrieving and caching of content to small cells |
US10587721B2 (en) | 2015-08-28 | 2020-03-10 | Qualcomm Incorporated | Small cell edge computing platform |
US9781246B2 (en) | 2015-08-28 | 2017-10-03 | Qualcomm Incorporated | Augmenting reality using a small cell |
US10146592B2 (en) * | 2015-09-18 | 2018-12-04 | Salesforce.Com, Inc. | Managing resource allocation in a stream processing framework |
US20170091016A1 (en) * | 2015-09-30 | 2017-03-30 | Sap Portals Israel Ltd | Continual execution in a computing system |
US11327869B2 (en) * | 2017-07-10 | 2022-05-10 | Dell Products L.P. | Distributed architecture for determining performance parameters |
US10671436B2 (en) | 2018-05-02 | 2020-06-02 | International Business Machines Corporation | Lazy data loading for improving memory cache hit ratio in DAG-based computational system |
KR102140193B1 (ko) * | 2019-10-31 | 2020-07-31 | 숭실대학교산학협력단 | 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템 |
CN111026809B (zh) * | 2019-12-03 | 2024-04-19 | 浪潮软件股份有限公司 | 一种调度流程分布式执行系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615471A (zh) * | 2000-06-27 | 2005-05-11 | 皇家菲利浦电子有限公司 | 确定一个进度表的方法、调度器和系统 |
CN1665315A (zh) * | 2005-04-15 | 2005-09-07 | 北京邮电大学 | 在多业务环境下基于业务控制点的智能网过载的控制方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100617717B1 (ko) * | 2004-12-15 | 2006-08-28 | 삼성전자주식회사 | 무선망에서의 스케줄링 방법 |
US7698391B2 (en) * | 2005-05-16 | 2010-04-13 | Oracle International Corporation | Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate |
US8381220B2 (en) * | 2007-10-31 | 2013-02-19 | International Business Machines Corporation | Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization |
US20100186017A1 (en) * | 2009-01-21 | 2010-07-22 | Raghavendra Eeratta | System and method for medical image processing |
US20100333094A1 (en) * | 2009-06-24 | 2010-12-30 | Mark Restall | Job-processing nodes synchronizing job databases |
-
2010
- 2010-12-15 KR KR1020100128579A patent/KR20120067133A/ko not_active Application Discontinuation
-
2011
- 2011-12-14 US US13/325,301 patent/US20120158816A1/en not_active Abandoned
- 2011-12-15 CN CN2011104190001A patent/CN102662731A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615471A (zh) * | 2000-06-27 | 2005-05-11 | 皇家菲利浦电子有限公司 | 确定一个进度表的方法、调度器和系统 |
CN1665315A (zh) * | 2005-04-15 | 2005-09-07 | 北京邮电大学 | 在多业务环境下基于业务控制点的智能网过载的控制方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391678A (zh) * | 2014-05-20 | 2015-03-04 | 上海兆芯集成电路有限公司 | 服务器及其方法、系统及其方法 |
CN104486378A (zh) * | 2014-11-26 | 2015-04-01 | 中国建设银行股份有限公司 | 一种集群控制方法及装置 |
CN104486378B (zh) * | 2014-11-26 | 2019-08-13 | 中国建设银行股份有限公司 | 一种集群控制方法及装置 |
CN109213005A (zh) * | 2018-11-21 | 2019-01-15 | 成都四方伟业软件股份有限公司 | 一种仿真控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120158816A1 (en) | 2012-06-21 |
KR20120067133A (ko) | 2012-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662731A (zh) | 服务提供方法以及使用该方法的装置 | |
Barika et al. | Orchestrating big data analysis workflows in the cloud: research challenges, survey, and future directions | |
Jayalath et al. | From the cloud to the atmosphere: Running MapReduce across data centers | |
KR20220002070A (ko) | Dag 상호 작용을 기반으로 한 스트리밍 컴퓨팅 방법 및 장치 | |
CN104994177B (zh) | 网盘系统的同步方法、终端设备和网盘系统 | |
He et al. | Parallel implementation of classification algorithms based on MapReduce | |
US9910821B2 (en) | Data processing method, distributed processing system, and program | |
CN113067883B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
US20140108087A1 (en) | Log management system and log management method | |
US20210182747A1 (en) | Digital fingerprint analysis | |
Ounacer et al. | A new architecture for real time data stream processing | |
CN110308984A (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
Chowdhury | Coflow: A networking abstraction for distributed data-parallel applications | |
US9733997B2 (en) | Event management method and distributed system | |
Pääkkönen | Feasibility analysis of AsterixDB and Spark streaming with Cassandra for stream-based processing | |
Ji et al. | Wide area analytics for geographically distributed datacenters | |
JP6069503B2 (ja) | 系列データ並列分析基盤およびその並列分散処理方法 | |
US10901998B2 (en) | Managing a modification to a consistent region of a stream computing environment | |
KR101686919B1 (ko) | 빅데이터에 기반한 추론 엔진을 관리하는 방법 및 장치 | |
CN110011827A (zh) | 面向医联体的多用户大数据分析服务系统和方法 | |
Belkhiria et al. | A fully decentralized autoscaling algorithm for stream processing applications | |
CN116954944A (zh) | 基于内存网格的分布式数据流处理方法、装置及设备 | |
US20220374810A1 (en) | Accelerating outlier prediction of performance metrics in performance managers deployed in new computing environments | |
Knoell et al. | BISHOP-Big Data Driven Self-Learning Support for High-performance Ontology Population. | |
CN110769037B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120912 |