CN103092698A - 云计算应用自动部署系统及方法 - Google Patents
云计算应用自动部署系统及方法 Download PDFInfo
- Publication number
- CN103092698A CN103092698A CN2012105678271A CN201210567827A CN103092698A CN 103092698 A CN103092698 A CN 103092698A CN 2012105678271 A CN2012105678271 A CN 2012105678271A CN 201210567827 A CN201210567827 A CN 201210567827A CN 103092698 A CN103092698 A CN 103092698A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- information
- job
- description information
- 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.)
- Granted
Links
Images
Abstract
本发明属于云计算应用技术领域,特别涉及一种云计算应用自动部署系统及方法。本发明的云计算应用自动部署系统包括客户端、提交模块和集群处理系统,所述客户端用于提交作业需求,所述提交模块用于根据作业需求生成作业描述信息并提交作业描述信息;所述集群处理系统包括任务节点和主控节点,所述任务节点用于提交任务节点信息,所述主控节点用于接收作业描述信息和任务节点信息,根据作业需求将作业描述信息添加到对应的作业描述信息队列中,并根据作业需求及任务节点信息为任务节点部署任务。本发明实施例作业描述信息按照作业需求存放于不同队列当中进行自动部署,节省查找作业描述信息的时间,更利于任务的调度,提高云计算的调度性能。
Description
技术领域
本发明属于云计算应用技术领域,特别是涉及一种云计算应用自动部署系统及方法。
背景技术
云计算(Cloud Computing),是一种基于互联网的计算方式,通过这种计算方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备,整个运行方式很像电网。云计算可以认为包括以下几个层次的服务:基础设施即服务(Infrastructure as a Service,IaaS),平台即服务(Platform as aService,PaaS)和软件即服务(SaaS)。其中,基础设施即服务是使用者使用的处理、储存、网络以及各种基础运算资源,部署与执行操作系统或应用程式等的各种软件,在云端计算中,通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。平台即服务是一种云端运算服务,提供运算平台与解决方案堆栈即服务,在云端运算的典型层级中,平台即服务层介于软件即服务与基础设施即服务之间。通过平台即服务使用者能将云端基础设施部署与建立至用户端,或者借此获得使用编程语言、程式库与服务,使用者不需要管理与控制云端基础设施,包含网络、服务器、操作系统或储存,但需要控制上层的应用程式部署与应用代管的环境;平台即服务将软件研发的平台做为一种服务,以软件即服务的模式交付给用户,因此,PaaS也是SaaS模式的一种应用,但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
为了实现平台即服务,如何分配集群内的计算资源是云计算数据中心的重要问题,把任务静态分配到服务器上会导致低负载时浪费服务器,而高负载时无法实时扩容。随着云计算应用的数量急剧增长,如何高效地部署云计算应用并实时监控应用的运算状态并做出相应的处理成为急需解决的问题。
为了提高集群内服务器的利用率,实现动态资源共享,需要一个中间件进行集群内的任务调度,申请号为CN201010583597.9的中国专利提出了一种云计算环境中分布式计算模式下的任务动态调度方法,该方法因采用主节点接收子节点的心跳信息并加以分析,然后再为子节点部署应用;由于每个子节点有多个任务,如此需要依次分析并更新每个任务描述信息,显然分析和更新心跳信息的过程需要花费较多时间,不利于主节点即时处理子节点的心跳信息并为其部署应用,从而不能很好地实现云计算技术的效能,降低调度性能,并且不能够对云计算应用的运行状态进行实时监控。同时,因为没有根据应用运行需求进行相应调度的机制,降低了系统的性能,影响了云服务的质量。
发明内容
本发明的目的在于,提供一种云计算应用自动部署系统及方法,旨在解决现有的云计算部署系统不能够对云计算应用的运行状态进行实时监控,且不能根据应用运行需求进行相应调度的机制的技术问题。
本发明提供的技术方案为:一种云计算应用自动部署系统包括客户端、提交模块和集群处理系统,所述客户端用于提交作业需求,所述提交模块用于根据作业需求生成作业描述信息并提交作业描述信息;所述集群处理系统用于接收作业描述信息,根据作业需求将作业描述信息添加到不同的作业描述信息队列中,并接收任务节点信息,根据作业需求及任务节点信息为任务节点部署任务。
本发明的技术方案还包括:所述作业描述信息包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;所述任务节点信息包括该任务节点的机器名、IP、CPU个数、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列,所述运行任务描述信息队列用于保存部署到该任务节点的任务描述信息。
本发明的技术方案还包括:所述集群处理系统包括主控节点和任务节点,所述主控节点对外提供三个接口,分别是:为提交模块提供的作业提交接口、为任务节点提供的心跳信息接口和任务状态报告接口;所述主控节点还包括任务节点信息队列和任务部署队列,所述任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间;所述任务部署队列用于存放部署到任务节点的任务描述信息,并将任务部署队列返回到任务节点运行任务。
本发明的技术方案还包括:所述主控节点还包括:
作业提交处理子模块:用于根据作业描述信息生成唯一的作业ID并通过作业提交接口返回到提交模块;同时分析并处理作业描述信息,根据作业描述信息的作业需求将作业描述信息添加到对应的作业描述信息队列中;
任务部署模块:用于根据作业需求及任务节点信息为任务节点部署任务,将部署到任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点;
心跳信息处理子模块:用于分析并处理任务节点提供的任务节点信息,根据任务节点信息更新任务节点信息队列中相应的任务节点信息,并记录更新时间;
任务状态报告处理子模块:用于分析任务节点提供的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息;所述任务状态信息包括任务ID、任务动作及任务运行状态。
本发明的技术方案还包括:所述任务节点还包括:
初始化模块:用于收集任务节点信息,并调用主控节点提供的心跳信息端口发送给主控节点;
任务执行模块:用于接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务;
心跳收集模块:用于间隔一定时间重新调用系统环境的接口收集本机的任务节点信息以及本机运行的任务描述信息,将任务描述信息添加到任务节点信息中运行任务描述信息队列的尾端,并将任务节点信息和任务描述信息封装为心跳信息后通过心跳信息端口将发送给主控节点;
状态报告模块:用于监控本机每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告后调用任务状态报告接口发送给主控节点。
本发明的技术方案还包括:所述作业按需求分为Web应用、普通应用、系统应用及科学计算应用,并对四类作业依次采用从高到低的优先级进行调度。
本发明提供的另一技术方案,一种云计算应用自动部署方法,包括:
步骤a:提交作业描述信息,并提交任务节点信息;
步骤b:接收作业描述信息及任务节点信息,并根据作业需求将作业描述信息添加到不同的作业描述信息队列中;
步骤c:根据作业需求及任务节点信息为任务节点部署任务。
本发明的技术方案还包括:在所述步骤a中,所述作业描述信息包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;所述任务描述信息包括任务ID、任务类型、任务路径、任务动作、任务可执行文件、任务参数、所在机器IP、任务状态及任务需求;所述任务节点信息包括该任务节点的机器名、IP、CPU个数、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列,所述运行任务描述信息队列用于保存部署到该任务节点的任务描述信息。
本发明的技术方案还包括:所述步骤b还包括:根据作业描述信息生成唯一的作业ID并通过作业提交接口返回到提交模块;所述作业描述信息队列包括作业等待队列、作业分发队列、作业运行队列、作业删除队列、暂停队列及作业完成队列,用于存放不同作业需求的作业描述信息。
本发明的技术方案还包括:在所述步骤b还包括:分析任务节点信息,根据作业需求及任务节点信息为任务节点部署任务,将部署到该任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点。
本发明的技术方案还包括:所述步骤c还包括:接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务,间隔一定时间调用系统环境的接口重新收集本机的任务节点信息以及本机运行的任务描述信息,将任务节点信息和任务描述信息封装为心跳信息后提交给主控节点;并监控本机每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告提交给主控节点;所述任务状态信息包括任务ID、任务动作及任务运行状态。
本发明的技术方案还包括:所述步骤c还包括:接收任务节点返回的任务节点信息及任务描述信息,根据任务节点信息及任务描述信息更新任务节点信息队列,并记录更新时间;接收任务节点返回的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息;其中,所述任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间。
本发明的技术方案具有如下优点或有益效果:本发明实施例的云计算应用自动部署系统及方法通过将任务节点心跳信息及任务状态信息分开发送,从而实时采集任务运行状态,使得主控节点能够实时地更新作业信息,而不需要在心跳信息到来时再分析和更新作业信息,可以节省较多时间,能够及时地对心跳信息做出回应,为任务节点部署任务,提高云计算的调度性能;并将作业描述信息按照作业需求存放于不同队列当中进行自动部署,节省查找作业描述信息的时间,更利于任务的调度;同时,本发明实施例通过将应用按照需求进行分类,并对应用类别依次采用从高到低的优先级,根据应用需求及类别进行相应调度,提高云服务的性能和质量。
附图说明
附图1是本发明实施例的云计算应用自动部署系统的结构示意图;
附图2是本发明实施例的主控节点中作业描述信息状态变化的更新示意图;
附图3是本发明实施例的云计算应用自动部署方法的流程图;
附图4是本发明实施例的主控节点部署任务的方法的流程图;
附图5是本发明实施例的任务节点运行任务的方法的流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的用户原创内容的推荐方法及推荐装置其具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
请参阅图1,是本发明实施例的云计算应用自动部署系统的结构示意图。本发明实施例的云计算应用自动部署系统包括客户端(Submitter)、提交模块及集群处理系统。
其中,客户端用于用户提交作业需求,并查询集群处理系统资源或任务状态,对任务进行相应操作,例如暂停或终止等;客户端在集群处理系统外的用户机器上运行,例如开发机器或管理机器等,客户端可向权限范围内的所有集群处理系统提交作业;本发明实施例将应用视为一个作业,每个作业可以包含多个任务,在提交作业时,用户可通过以下方式部署软件:将可执行文件从客户端拷贝到共享文件系统,供任务节点(Task Engine)拉取,客户端有命令行界面(Command Line Interface,简写:CLI)及Web界面。
本发明实施例将应用分为四大类:Web应用、普通应用、系统应用及科学计算应用,对四类作业依次采用从高到低的优先级,从而使云计算所提供的服务更加合理,更加适应当前云计算应用的需求;按照计算环境的计算能力可以采用不同的调度策略,当任务数量较少并且单位时间提交的任务数量不多时,使用FIFO(First Input First Output,先入先出队列)方式即可实现较好的性能,也可以保证优先级较高的Web应用优先执行;当任务数量较多并且单位时间提交的任务数量较多时,则需要按照应用的优先级与应用的等待时间来对任务进行调度;可以按照优先级顺序分别赋予应用不同的权重值,对于Web应用则需要一个较大的权重,例如四种应用分别赋予的权重值依次为6、2、1、1;采用最显著的计算特征即(权重×等待时间)的方式来对任务进行调度,等待时间即是任务的提交时间与当前时间的差值。
提交模块用于根据作业需求生成作业描述信息并提交作业描述信息,并接收集群处理系统返回的作业ID,将作业的可执行文件及数据文件发送到网络文件系统中的以作业ID命名的文件夹中,通过该文件夹获取作业的计算结果及日志;其中,作业描述信息主要包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;任务描述信息主要包括任务ID、任务类型、任务路径(任务可执行文件及数据在网络文件系统中的存储位置)、任务动作、任务可执行文件、任务参数、所在机器IP、任务状态及任务需求,其中,任务动作是指用户指定任务将要实施的动作,包括运行、删除、挂起;任务状态包括任务等待、任务开始、任务完成及任务失败;运行任务描述信息队列中保存了分发到该任务节点的任务描述信息,任务节点会监控运行的任务并实时更新该队列中的信息。
在Web页面中,用户需要通过选择或是填写提供作业描述信息的各项数据,提交模块调用集群处理系统提供的作业提交接口将作业描述信息提交到集群处理系统的主控节点(Central Manager)进行任务部署。
集群处理系统包括一个主控节点和多个任务节点,主控节点是集群处理系统任务调度的中心,包括:
1、Master线程:负责启动/重启其他进程;
2、Scheduler线程:管理高/中/低三个优先度的任务队列,根据任务描述文件生成任务Class ad(分类广告),通过Negotiator匹配任务与资源,下发任务至任务节点;其中,在condor中的Class ad机制提供了匹配资源请求(如作业)和资源供应(如机器)的极为灵活和快速的基本框架。Class ad使得Lape适应几乎所有的资源利用策略,还可以适应整合网格资源的计划方法;每个任务都有任务描述文件以描述任务的属性及对资源的需求,用户编写任务描述文件XML,通过提交任务描述文件提交任务,一个任务对应一个可执行文件,可能以多个进程在多台机器上运行;任务对资源的需求分Requirement和Rank。Requirement为必须满足的条件;Rank为Requirement满足之后,优先考虑的条件;任务描述文件可包括以下要点:
可执行文件的路径,对于有Setup(格局)/TearDown(拆解)要求的任务,可用Linux脚本进行封装,如pre-script(前脚本)/post-script(页面描述语言);
任务的运行环境;
任务的运行参数;
任务需要独占机器,还是可以与其他应用复用机器;
任务需要多少台机器,或多少个核;
任务对硬件的要求Memory Size,等;
任务对软件的要求,OS版本,glibc版本,软件包,等
3、Negotiator线程:对任务与资源的Class Ad(分类广告)进行匹配(MatchMaking);
4、Collector线程:从任务节点收集机器及任务状态;机器的动态信息由任务节点上报,一些静态信息及机器无法上报的信息如机位等从CMDB(Configuration Management Database配置管理数据库)拉取;主控节点通过Collector监控任务执行及机器情况,如果机器宕机,Scheduler将寻找新的机器运行宕机机器上的任务,实现自动容错,主控节点将用户操作及任务匹配信息写入本地Log文件;
5、Query线程:Collector也运行HTTP Server(网页服务器),提供集群处理系统及任务信息给浏览器查询,例如集群处理系统有多少台机器,有多少任务,任务在哪些机器上运行等等。
具体地,主控节点对外提供三个接口:分别是为提交模块提供的作业提交接口、为任务节点提供的心跳信息接口和任务状态报告接口;主控节点包括作业描述信息队列、任务节点信息队列和任务部署队列,通过作业提交接口接受提交模块发送的作业描述信息,并分析作业描述信息,按照作业需求将作业描述信息分别存储于不同的作业描述信息队列当中,以便于查询作业运行状况或获取作业的运行结果及日志;并通过心跳信息接口和任务状态报告接口接收任务节点发送的心跳信息和任务状态报告,并更新作业描述信息队列和任务节点信息队列以控制任务部署队列向任务节点部署任务。
其中,作业描述信息队列包括作业等待队列、作业分发队列、作业运行队列、作业删除队列及作业完成队列,用于存放不同作业需求的作业描述信息;任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间;任务节点信息即是任务节点向主控节点发送的心跳信息,主要包括该任务节点的机器名、IP、CPU个数(任务节点的计算能力,当前计算机大部分为多核)、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列;运行任务描述信息队列中保存了分发到该任务节点的任务描述信息,任务节点会监控运行的任务并实时更新该队列中的信息;主控节点每隔一定时间会扫描任务节点信息队列,并查看记录的任务节点更新时间,当任务节点超过规定的时间没有发送心跳信息,即判断该任务节点宕机,主控节点会依据记录的任务节点信息回收分发到该任务节点的任务,并删除该任务节点在任务节点信息队列中的记录;任务部署队列用于存放部署到任务节点的任务描述信息,并将任务部署队列返回到任务节点运行任务。
具体地,主控节点包括作业提交处理子模块、任务部署模块、心跳信息处理子模块和任务状态报告处理子模块。
作业提交处理子模块用于以提交模块提交的作业描述信息作为输入参数,生成唯一的作业ID并通过作业提交接口返回到提交模块;同时分析并处理作业描述信息,根据作业描述信息的作业需求将作业描述信息添加到对应的作业描述信息队列中;其中,作业描述信息被提交到主控节点时,进入作业等待队列等候分发,如果是提交请求,则将作业描述信息添加到作业分发队列的尾端,此时任务处于等待状态;如果是删除请求,则需要在多个作业描述信息队列中寻找目标作业,直到找到该作业,然后根据目标作业的状态做出相应处理,未分配的作业则直接删除,已分配的则将目标作业信息移动到作业删除队列的尾端;如果已经作业完成队列匹配并被下发至任务节点运行时,则将该作业描述信息添加到执行队列,此时任务进入RUNNING状态;用户可重新发送暂停请求到主控节点的Scheduler(进度表),Scheduler发终止信号到运行任务的任务节点终止任务,并把任务添加到暂停队列,此时任务处于暂停状态;若是有用户请求删除某个作业或是作业中某个任务运行失败,则将该作业移入作业删除队列,以删除该作业中其它正在运行的任务;本发明实施例根据作业需求将作业描述信息分别存放在多个队列中,节省许多不必要的查找作业描述信息的时间,同时更利于任务的调度。
任务也可由等待状态进入暂停状态,当用户希望任务继续执行时,Scheduler将任务从暂停队列移到作业等待队列重新等候分发,任务状态也变成等待状态;任务完成或用户要求终止,则将该作业描述信息移动到作业完成队列,任务进入结束状态;具体请一并参阅图2,是本发明实施例的主控节点中作业描述信息状态变化的更新示意图。其中,作业分发队列及作业删除队列中的作业描述信息即是任务部署模块部署任务时的调度对象。
用户也可提交延迟类作业,定义作业在什么时间之后执行(类似Linux at命令),以利用夜间集群处理系统空闲时间。
任务部署模块用于根据作业需求及主控节点收到的心跳信息为任务节点部署任务,将部署到任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点;在部署任务时,按照作业需求及任务节点信息在作业分发队列中查找符合条件的任务进行部署,并添加到任务部署队列的尾端;如果作业分发队列没有可以分发的任务,则在作业等待队列中取出一部分作业描述信息添加到作业分发队列中,并按照作业需求及任务节点信息给当前的任务节点部署任务;部署任务的具体方式包括:根据任务节点信息判断该任务节点是否有任务正在运行,如果任务节点中没有任务正在运行,则为其部署任务;若任务节点的任务槽全部被占用,则查看是否需要删除其中的任务;其他情况则需要在部署任务的同时查看是否包含需要删除的任务;任务的删除仅需要查看作业删除队列,并与任务节点信息中的任务信息对照,如果有需要删除的任务,则将其添加到任务部署队列的尾端;部署任务一般是在一个作业中的所有任务全部部署完成后才会部署下一个作业。
心跳信息处理子模块用于分析并处理任务节点提供的任务节点信息,根据任务节点信息更新任务节点信息队列中相应的任务节点信息,并记录更新时间;具体更新方式为:查找任务节点信息队列,如果在任务节点信息队列中找到该任务节点信息,则更新该任务节点信息,同时记录该任务节点的更新时间;如果在任务节点信息队列中未找到该任务节点信息,则将该任务节点信息添加到任务节点信息队列的尾端,并调用任务部署模块为该任务节点部署任务;其中,部署任务分为两种,一种为需要运行的任务,在作业分发队列中获取,另一种为需要删除的任务,在作业删除队列中获取。
任务状态报告处理子模块用于分析任务节点提供的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息;具体为:接收到任务状态报告时,则在作业分发队列及作业运行队列中依次查找,如果是在作业分发队列中找到该任务,且对应的作业中的所有任务全部运行成功,则将该作业描述信息移动到作业运行队列中;若是在作业运行队列中找到该任务,且对应的作业中的所有任务全部运行完成,则将该作业描述信息移动到作业完成队列中;其中,任务状态信息是任务节点向主控节点发送的任务状态描述,包括任务ID、任务动作、任务运行状态等,任务运行状态是指对任务节点中的任务实施相应的任务动作后所产生的状态,即任务所实施的动作成功或是失败。
任务节点是集群处理系统内运行任务的机器,用于运行主控节点部署的任务,收集本机的任务节点信息及任务状态信息并通过主控节点提供的相关接口发送到主控节点;任务节点包括:
1、Master线程:负责启动/重启其他进程;
2、Starter线程:接受主控节点下发的任务,产生一个进程去运行任务;接受主控节点对任务暂停/终止/继续的命令,发相应Signal(信号)给任务进程;把任务Exit Status(退出状态)上报给主控节点;定期上报机器状态给主控节点的Collector(收集器);
3、Query线程:提供机器状态及任务情况(占用CPU,Heap/StackSize)给浏览器查询。
任务下发到任务节点后由OS Scheduler(操作系统调度器)调度。
任务节点具体包括初始化模块、任务执行模块、心跳收集模块、及状态报告模块,其中,
初始化模块用于收集节点的机器名、IP、CPU个数(任务节点的计算能力,当前计算机大部分为多核)、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量等任务节点信息,将其封装为心跳信息后调用主控节点提供的心跳信息端口发送给主控节点。
任务执行模块用于接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务;具体运行方式为:依次分析任务类型,如果需要运行任务,需要查看任务描述信息中的任务路径,并按照此路径将任务运行所需的数据从网络文件系统拷贝到本地,然后根据可执行文件及其参数运行任务;同时将任务描述信息添加到运行任务描述信息队列的尾端,并记录该任务的进程ID及开始运行时间;如果需要删除任务,则在运行任务描述信息队列中查找该任务运行的进程ID,并对该进程使用kill指令,同时调用系统指令将该任务在本地运行时所使用的数据以及生成的中间数据全部删除。
心跳收集模块用于间隔一定时间重新调用系统环境的接口收集本机的任务节点信息以及本机运行的任务描述信息,将任务描述信息添加到任务节点信息中运行任务描述信息队列的尾端,并将任务节点信息和任务描述信息封装为心跳信息后通过心跳信息端口将发送给主控节点。
状态报告模块用于监控本机每个运行的任务进程,当进程状态改变或是进程出现异常,例如任务运行成功或运行失败时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告后调用任务状态报告接口及时发送给主控节点;本发明实施例通过将任务节点心跳信息及任务状态信息分开发送,从而实时采集任务运行状态,使得主控节点能够实时地更新作业信息,而不需要在心跳信息到来时再分析和更新作业信息,可以节省较多时间,能够及时地对心跳信息做出回应,为任务节点部署任务,提高云计算的调度性能。
任务节点可以部署在实体机或是虚拟机中,主控节点和任务节点之间以及主控节点和提交模块之间通过远程过程调用方式实现信息的交互;客户端、主控节点和任务节点间的通信采用Thrift(一个软件框架,用来进行可扩展且跨语言的服务的开发)自动产生构建RPC(Remote Procedure CallProtocol——远程过程调用协议),实现跨语言,可靠通信。本发明实施例使用网络文件系统作为主要存储结构,用户提交的应用数据、经过运算得出的应用计算结果及日志均存放于网络文件系统中。ZooKeeper(Hadoop的正式子项目,是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等)提供了分布式系统常需要的协调同步服务,可用来实现分布式锁,分布式选举等机制;为避免数据在不同机器间迁移,Lape的应用应使用共享文件系统(Shared File System),如分布式文件系统GLUSTER或网络文件系统NFS,读写数据;任务运行的Log文件也可写到共享文件系统中,软件包也可预发布在共享文件系统,供TaskEngine拉取。
请参阅图3,是本发明实施例的云计算应用自动部署方法的流程图。本发明实施例的云计算应用自动部署方法包括以下步骤:
步骤300:通过客户端调用提交模块提交作业描述信息,并通过任务节点提交任务节点信息;
在步骤300中,客户端在集群处理系统外的用户机器上运行,例如开发机器或管理机器等,客户端可向权限范围内的所有集群处理系统提交作业;本发明实施例将应用视为一个作业,每个作业可以包含多个任务,并按照作业需求分为四大类:Web应用、普通应用、系统应用及科学计算应用,对四类作业依次采用从高到低的优先级,从而使云计算所提供的服务更加合理,更加适应当前云计算应用的需求;在提交作业时,用户可通过以下方式部署软件:将可执行文件从客户端拷贝到共享文件系统,供任务节点拉取,客户端有命令行界面及Web界面;任务节点信息即是任务节点向主控节点发送的心跳信息,主要包括该任务节点的机器名、IP、CPU个数(任务节点的计算能力,当前计算机大部分为多核)、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列;运行任务描述信息队列中保存了分发到该任务节点的任务描述信息,任务节点会监控运行的任务并实时更新该队列中的信息;作业描述信息主要包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;任务描述信息主要包括任务ID、任务类型、任务路径(任务可执行文件及数据在网络文件系统中的存储位置)、任务动作、任务可执行文件、任务参数、所在机器IP、任务状态、任务需求,其中,任务动作是指用户指定任务将要实施的动作,包括运行、删除、挂起;任务状态包括任务等待、任务开始、任务完成、任务失败;在Web页面中,用户需要通过选择或是填写提供作业描述信息的各项数据。
步骤310:通过主控节点根据作业描述信息的作业状态将作业描述信息添加到对应的作业描述信息队列中,并根据作业需求和任务节点信息向各个任务节点部署任务;
在步骤310中,作业描述信息队列包括作业等待队列、作业分发队列、作业运行队列、作业删除队列、暂停队列及作业完成队列,用于存放不同作业需求的作业描述信息;作业描述信息被提交到主控节点时,进入作业等待队列等候分发,如果是提交请求,则将作业描述信息添加到作业分发队列的尾端,此时任务处于等待状态;如果是删除请求,则需要在多个作业描述信息队列中寻找目标作业,直到找到该作业,然后根据目标作业的状态做出相应处理,未分配的作业则直接删除,已分配的则将目标作业信息移动到作业删除队列的尾端;如果已经作业完成队列匹配并被下发至任务节点执行时,则将该作业描述信息添加到执行队列,此时任务进入RUNNING状态;用户可重新发送暂停请求到主控节点的Scheduler,Scheduler发终止信号到运行任务的任务节点终止任务,并把任务添加到暂停队列,此时任务处于暂停状态;若是有用户请求删除某个作业或是作业中某个任务运行失败,则将该作业移入作业删除队列,以删除该作业中其它正在运行的任务;本发明实施例根据作业状态将作业描述信息分别存放在多个队列中,节省许多不必要的查找作业描述信息的时间,同时更利于任务的调度。
步骤320:通过任务节点根据部署的任务描述信息运行任务,间隔一定时间重新收集本机任务节点信息以及本机运行的任务描述信息,并将任务节点信息和任务描述信息封装为心跳信息发送到主控节点,主控节点通过心跳信息更新作业描述信息及任务节点信息;
在步骤320中,主控节点每隔一定时间会扫描任务节点信息队列,并查看记录的任务节点更新时间,当任务节点超过规定的时间没有发送心跳信息,即判断该任务节点宕机,主控节点会依据记录的任务节点信息回收分发到该任务节点的任务,并删除该任务节点在任务节点信息队列中的记录。
步骤330:监控任务节点每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告及时发送给主控节点,主控节点根据任务状态信息更新作业描述信息。
在步骤330中,接收到任务状态报告时,则在作业分发队列及作业运行队列中依次查找,如果是在作业分发队列中找到该任务,且对应的作业中的所有任务全部运行成功,则将该作业描述信息移动到作业运行队列中;若是在作业运行队列中找到该任务,且对应的作业中的所有任务全部运行完成,则将该作业描述信息移动到作业完成队列中;其中,任务状态信息是任务节点向主控节点发送的任务状态描述,包括任务ID、任务动作、任务运行状态等,任务运行状态是指对任务节点中的任务实施相应的任务动作后所产生的状态,即任务所实施的动作成功或是失败。
请一并参阅图4,是本发明实施例的主控节点部署任务的方法的流程图。本发明实施例的主控节点部署任务的方法包括以下步骤:
步骤400:根据作业描述信息生成唯一的作业ID并通过作业提交接口返回到提交模块,并分析作业描述信息,根据作业描述信息的作业需求将作业描述信息添加到对应的作业描述信息队列中;
在步骤400中,主控节点包括作业描述信息队列、任务节点信息队列和任务部署队列,作业描述信息队列用于存放不同作业需求的作业描述信息;任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间;任务节点信息即是任务节点向主控节点发送的心跳信息,主要包括该任务节点的机器名、IP、CPU个数(任务节点的计算能力,当前计算机大部分为多核)、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列;运行任务描述信息队列中保存了分发到该任务节点的任务描述信息,任务节点会监控运行的任务并实时更新该队列中的信息;主控节点每隔一定时间会扫描任务节点信息队列,并查看记录的任务节点更新时间,当任务节点超过规定的时间没有发送心跳信息,即判断该任务节点宕机,主控节点会依据记录的任务节点信息回收分发到该任务节点的任务,并删除该任务节点在任务节点信息队列中的记录;任务部署队列用于存放部署到任务节点的任务描述信息,并将任务部署队列返回到任务节点运行任务。
步骤410:分析任务节点信息,根据作业需求及任务节点信息为任务节点部署任务,将部署到该任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点;
在步骤410中,部署任务时,按照作业需求及任务节点信息在作业分发队列中查找符合条件的任务进行部署,并添加到任务部署队列的尾端;如果作业分发队列没有可以分发的任务,则在作业等待队列中取出一部分作业描述信息添加到作业分发队列中,并按照作业需求及任务节点信息给当前的任务节点部署任务;部署任务的具体方式包括:根据任务节点信息判断该任务节点是否有任务正在运行,如果任务节点中没有任务正在运行,则为其部署任务;若任务节点的任务槽全部被占用,则查看是否需要删除其中的任务;其他情况则需要在部署任务的同时查看是否包含需要删除的任务;任务的删除仅需要查看作业删除队列,并与任务节点信息中的任务信息对照,如果有需要删除的任务,则将其添加到任务部署队列的尾端;部署任务一般是在一个作业中的所有任务全部部署完成后才会部署下一个作业。
步骤420:接收任务节点返回的任务节点信息及任务描述信息,根据任务节点信息及任务描述信息更新任务节点信息队列,并记录更新时间;
在步骤420中,具体更新方式为:查找任务节点信息队列,如果在任务节点信息队列中找到该任务节点信息,则更新该任务节点信息,同时记录该任务节点的更新时间;如果在任务节点信息队列中未找到该任务节点信息,则将该任务节点信息添加到任务节点信息队列的尾端,并调用任务部署模块为该任务节点部署任务;其中,部署任务分为两种,一种为需要运行的任务,在作业分发队列中获取,另一种为需要删除的任务,在作业删除队列中获取。
步骤430:接收任务节点返回的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息。
在步骤430中,更新作业描述信息的方式具体包括:接收到任务状态报告时,则在作业分发队列、作业运行队列中依次查找,如果是在作业分发队列中找到该任务,且对应的作业中的所有任务全部运行成功,则将该作业描述信息移动到作业运行队列中;若是在作业运行队列中找到该任务,且对应的作业中的所有任务全部运行完成,则将该作业描述信息移动到作业完成队列中;其中,任务状态信息是任务节点向主控节点发送的任务状态描述,包括任务ID、任务动作、任务运行状态等,任务运行状态是指对任务节点中的任务实施相应的任务动作后所产生的状态,即任务所实施的动作成功或是失败。
请一并参阅图5,是本发明实施例的任务节点运行任务的方法的流程图。本发明实施例的任务节点运行任务的方法包括以下步骤:
步骤500:收集节点的机器名、IP、CPU个数、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量等任务节点信息,将其封装为心跳信息后发送给主控节点;
步骤510:接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务;
在步骤510中,具体运行方式为:依次分析任务类型,如果需要运行任务,需要查看任务描述信息中的任务路径,并按照此路径将任务运行所需的数据从网络文件系统拷贝到本地,然后根据可执行文件及其参数运行任务;同时将任务描述信息添加到运行任务描述信息队列的尾端,并记录该任务的进程ID及开始运行时间;如果需要删除任务,则在运行任务描述信息队列中查找该任务运行的进程ID,并对该进程使用kill指令,同时调用系统指令将该任务在本地运行时所使用的数据以及生成的中间数据全部删除。
步骤520:间隔一定时间调用系统环境的接口重新收集本机的任务节点信息以及本机运行的任务描述信息,并将任务节点信息和任务描述信息封装为心跳信息后发送给主控节点;
步骤530:监控本机每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告及时发送给主控节点。
本发明实施例的云计算应用自动部署系统及方法通过将任务节点心跳信息及任务状态信息分开发送,从而实时采集任务运行状态,使得主控节点能够实时地更新作业信息,而不需要在心跳信息到来时再分析和更新作业信息,可以节省较多时间,能够及时地对心跳信息做出回应,为任务节点部署任务,提高云计算的调度性能;并将作业描述信息按照作业需求存放于不同队列当中进行自动部署,节省查找作业描述信息的时间,更利于任务的调度;同时,本发明实施例通过将应用按照需求进行分类,并对应用类别依次采用从高到低的优先级,根据应用需求及类别进行相应调度,提高云服务的性能和质量。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (12)
1.一种云计算应用自动部署系统,包括客户端,所述客户端用于提交作业需求,其特征在于,还包括提交模块和集群处理系统,所述提交模块用于根据作业需求生成作业描述信息并提交作业描述信息;所述集群处理系统包括任务节点和主控节点,所述任务节点用于提交任务节点信息,所述主控节点用于接收作业描述信息和任务节点信息,根据作业需求将作业描述信息添加到对应的作业描述信息队列中,并根据作业需求及任务节点信息为任务节点部署任务。
2.根据权利要求1所述的云计算应用自动部署系统,其特征在于,所述作业描述信息包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;所述任务节点信息包括该任务节点的机器名、IP、CPU个数、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列,所述运行任务描述信息队列用于保存部署到该任务节点的任务描述信息。
3.根据权利要求1或2所述的云计算应用自动部署系统,其特征在于,所述主控节点对外提供三个接口,分别是:为提交模块提供的作业提交接口、为任务节点提供的心跳信息接口和任务状态报告接口;所述主控节点还包括任务节点信息队列和任务部署队列,所述任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间;所述任务部署队列用于存放部署到任务节点的任务描述信息,并将任务部署队列返回到任务节点运行任务。
4.根据权利要求3所述的云计算应用自动部署系统,其特征在于,所述主控节点还包括:
作业提交处理子模块:用于根据作业描述信息生成唯一的作业ID并通过作业提交接口返回到提交模块;同时分析并处理作业描述信息,根据作业描述信息的作业需求将作业描述信息添加到对应的作业描述信息队列中;
任务部署模块:用于根据作业需求及任务节点信息为任务节点部署任务,将部署到任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点;
心跳信息处理子模块:用于分析并处理任务节点提供的任务节点信息,根据任务节点信息更新任务节点信息队列中相应的任务节点信息,并记录更新时间;
任务状态报告处理子模块:用于分析任务节点提供的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息;所述任务状态信息包括任务ID、任务动作及任务运行状态。
5.根据权利要求4所述的云计算应用自动部署系统,其特征在于,所述任务节点还包括:
初始化模块:用于收集任务节点信息,并调用主控节点提供的心跳信息端口发送给主控节点;
任务执行模块:用于接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务;
心跳收集模块:用于间隔一定时间重新调用系统环境的接口收集本机的任务节点信息以及本机运行的任务描述信息,将任务描述信息添加到任务节点信息中运行任务描述信息队列的尾端,并将任务节点信息和任务描述信息封装为心跳信息后通过心跳信息端口将发送给主控节点;
状态报告模块:用于监控本机每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告后调用任务状态报告接口发送给主控节点。
6.根据权利要求1或2所述的云计算应用自动部署系统,其特征在于,所述作业按需求分为Web应用、普通应用、系统应用及科学计算应用,并对四类作业依次采用从高到低的优先级进行调度。
7.一种云计算应用自动部署方法,包括:
步骤a:提交作业描述信息,并提交任务节点信息;
步骤b:接收作业描述信息及任务节点信息,并根据作业需求将作业描述信息添加到对应的作业描述信息队列中;
步骤c:根据作业需求及任务节点信息为任务节点部署任务。
8.根据权利要求7所述的云计算应用自动部署方法,其特征在于,在所述步骤a中,所述作业描述信息包括作业ID、用户信息、作业类型、作业需求、作业提交时间、所含任务个数以及其中的任务描述信息队列;所述任务描述信息包括任务ID、任务类型、任务路径、任务动作、任务可执行文件、任务参数、所在机器IP、任务状态及任务需求;所述任务节点信息包括该任务节点的机器名、IP、CPU个数、CPU平均使用率、CPU负载、任务槽个数、内存总量、内存利用率、可用内存、硬盘总量、硬盘使用率、可用硬盘总量以及运行任务描述信息队列,所述运行任务描述信息队列用于保存部署到该任务节点的任务描述信息。
9.根据权利要求8或9所述的云计算应用自动部署方法,其特征在于,所述步骤b还包括:根据作业描述信息生成唯一的作业ID并通过作业提交接口返回到提交模块;所述作业描述信息队列包括作业等待队列、作业分发队列、作业运行队列、作业删除队列、暂停队列及作业完成队列,用于存放不同作业需求的作业描述信息。
10.根据权利要求9所述的云计算应用自动部署方法,其特征在于,在所述步骤b还包括:分析任务节点信息,根据作业需求及任务节点信息为任务节点部署任务,将部署到该任务节点的任务描述信息存放在任务部署队列,并将任务部署队列返回到该任务节点。
11.根据权利要求10所述的云计算应用自动部署方法,其特征在于,所述步骤c还包括:接收主控节点返回的任务部署队列,根据任务部署队列中的任务描述信息运行任务,间隔一定时间调用系统环境的接口重新收集本机的任务节点信息以及本机运行的任务描述信息,将任务节点信息和任务描述信息封装为心跳信息后提交给主控节点;并监控本机每个运行的任务进程,当进程状态改变或是进程出现异常时,收集该任务进程相关的任务状态信息数据并将其封装为任务状态报告提交给主控节点;所述任务状态信息包括任务ID、任务动作及任务运行状态。
12.根据权利要求11所述的云计算应用自动部署方法,其特征在于,所述步骤c还包括:接收任务节点返回的任务节点信息及任务描述信息,根据任务节点信息及任务描述信息更新任务节点信息队列,并记录更新时间;接收任务节点返回的任务状态信息,根据任务ID在作业描述信息队列中找到对应的任务,并根据运行动作及运行状态更新作业描述信息;其中,所述任务节点信息队列用于存储任务节点信息,并记录任务节点的更新时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210567827.1A CN103092698B (zh) | 2012-12-24 | 2012-12-24 | 云计算应用自动部署系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210567827.1A CN103092698B (zh) | 2012-12-24 | 2012-12-24 | 云计算应用自动部署系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092698A true CN103092698A (zh) | 2013-05-08 |
CN103092698B CN103092698B (zh) | 2017-06-13 |
Family
ID=48205306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210567827.1A Active CN103092698B (zh) | 2012-12-24 | 2012-12-24 | 云计算应用自动部署系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092698B (zh) |
Cited By (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336714A (zh) * | 2013-06-20 | 2013-10-02 | 北京奇虎科技有限公司 | 一种作业调度方法和装置 |
CN103744734A (zh) * | 2013-12-24 | 2014-04-23 | 中国科学院深圳先进技术研究院 | 一种任务作业处理方法、装置及系统 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
CN104092781A (zh) * | 2014-07-31 | 2014-10-08 | 武汉云雅科技有限公司 | 一种基于云计算的云集群快速部署系统 |
CN104166589A (zh) * | 2013-05-17 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种心跳包的处理方法和装置 |
CN104239148A (zh) * | 2013-06-06 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种分布式任务调度方法及装置 |
CN104243563A (zh) * | 2014-09-03 | 2014-12-24 | 河海大学 | 一种面向aws平台的并行系统快速部署方法 |
CN104461722A (zh) * | 2014-12-16 | 2015-03-25 | 广东石油化工学院 | 一种用于云计算系统的作业调度方法 |
CN104503845A (zh) * | 2015-01-14 | 2015-04-08 | 北京邮电大学 | 一种任务分发方法和系统 |
CN104537045A (zh) * | 2014-12-24 | 2015-04-22 | 华为技术有限公司 | 一种基于分布式系统的业务分配方法及装置 |
CN104572286A (zh) * | 2015-01-30 | 2015-04-29 | 湖南蚁坊软件有限公司 | 一种基于分布式内存集群的任务调度方法 |
CN104639374A (zh) * | 2015-03-03 | 2015-05-20 | 上海瀚银信息技术有限公司 | 一种应用程序部署管理系统 |
CN104748796A (zh) * | 2015-03-30 | 2015-07-01 | 浪潮集团有限公司 | 一种传感方法、传感器和传感集群 |
CN104917842A (zh) * | 2015-06-16 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种批量任务处理系统及方法 |
CN105022662A (zh) * | 2014-04-22 | 2015-11-04 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
CN105159769A (zh) * | 2015-09-11 | 2015-12-16 | 国电南瑞科技股份有限公司 | 一种适用于计算能力异构集群的分布式作业调度方法 |
CN105302638A (zh) * | 2015-11-04 | 2016-02-03 | 国家计算机网络与信息安全管理中心 | 基于系统负载的mpp集群任务调度方法 |
CN105447097A (zh) * | 2015-11-10 | 2016-03-30 | 北京北信源软件股份有限公司 | 数据采集方法及系统 |
CN105592126A (zh) * | 2014-11-14 | 2016-05-18 | 株式会社日立制作所 | 无代理自动化服务器系统 |
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN105760215A (zh) * | 2014-12-17 | 2016-07-13 | 南京绿云信息技术有限公司 | 基于映射规约模型分布式文件系统作业的运行方法 |
CN105868628A (zh) * | 2016-03-24 | 2016-08-17 | 中国科学院信息工程研究所 | 一种自动化样本行为采集方法及其装置、系统 |
CN106020977A (zh) * | 2016-05-16 | 2016-10-12 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106095586A (zh) * | 2016-06-23 | 2016-11-09 | 东软集团股份有限公司 | 一种任务分配方法、装置及系统 |
CN106294081A (zh) * | 2016-08-12 | 2017-01-04 | 北京百迈客云科技有限公司 | 生物信息分析任务运行监控系统 |
CN106371932A (zh) * | 2013-10-11 | 2017-02-01 | 北京奇虎科技有限公司 | 一种基于zookeeper的信息配置方法及装置 |
CN106385343A (zh) * | 2016-09-05 | 2017-02-08 | Tcl集团股份有限公司 | 一种分布式系统下监控客户端的方法及装置、分布式系统 |
CN106549796A (zh) * | 2016-09-27 | 2017-03-29 | 努比亚技术有限公司 | 一种固件空间下载的资源控制方法及主节点 |
CN106572051A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式系统中分布式锁服务实现方法以及装置 |
CN106713379A (zh) * | 2015-08-10 | 2017-05-24 | 广州西麦信息科技有限公司 | 一种云计算自动部署系统及其方法 |
CN106777164A (zh) * | 2016-12-20 | 2017-05-31 | 东软集团股份有限公司 | 一种数据迁移集群及数据迁移方法 |
CN106790529A (zh) * | 2016-12-20 | 2017-05-31 | 北京并行科技股份有限公司 | 计算资源的调度方法、调度中心及调度系统 |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
CN107220897A (zh) * | 2017-05-24 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 一种收益入账的处理方法和装置以及处理系统 |
CN107291545A (zh) * | 2017-08-07 | 2017-10-24 | 星环信息科技(上海)有限公司 | 计算集群中多用户的任务调度方法及设备 |
CN107294774A (zh) * | 2017-06-08 | 2017-10-24 | 深圳市迈岭信息技术有限公司 | 分布式系统物理节点的任务部署方法 |
CN107766207A (zh) * | 2017-10-20 | 2018-03-06 | 中国人民财产保险股份有限公司 | 分布式自动监控方法、系统、计算机可读存储介质及终端设备 |
CN107786358A (zh) * | 2016-08-29 | 2018-03-09 | 中兴通讯股份有限公司 | 分布式系统及该分布式系统的扩容方法 |
CN108369677A (zh) * | 2015-12-04 | 2018-08-03 | 微软技术许可有限责任公司 | 基于对任务完成的自动化监督的服务载入 |
CN108469988A (zh) * | 2018-02-28 | 2018-08-31 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN108681777A (zh) * | 2018-05-07 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种基于分布式系统的机器学习程序运行的方法和装置 |
CN108845867A (zh) * | 2018-07-16 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种分布式事务管理方法、装置、系统及存储介质 |
CN109298948A (zh) * | 2018-10-31 | 2019-02-01 | 北京国信宏数科技有限责任公司 | 分布式计算方法和系统 |
US10216503B2 (en) | 2013-03-13 | 2019-02-26 | Elasticbox Inc. | Deploying, monitoring, and controlling multiple components of an application |
CN109600709A (zh) * | 2018-11-27 | 2019-04-09 | 南方科技大学 | 空间众包任务分配方法及系统 |
CN109753300A (zh) * | 2017-11-03 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种算法升级方法、计算任务发送方法及相关产品 |
CN110389815A (zh) * | 2018-04-18 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及系统 |
CN110727508A (zh) * | 2019-10-24 | 2020-01-24 | 无锡京和信息技术有限公司 | 一种任务调度系统和调度方法 |
CN110941788A (zh) * | 2019-12-17 | 2020-03-31 | 山西云时代技术有限公司 | 边缘计算的云环境分布式Web页面提取分析系统和方法 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN111340613A (zh) * | 2020-02-26 | 2020-06-26 | 中国邮政储蓄银行股份有限公司 | 作业处理方法、系统以及存储介质 |
CN112559128A (zh) * | 2020-12-15 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 一种基于云计算的Apache Kylin托管系统及方法 |
CN112631711A (zh) * | 2019-09-24 | 2021-04-09 | 北京金山云网络技术有限公司 | 容器集群中Master节点的调整方法、装置及服务器 |
CN113535514A (zh) * | 2021-07-02 | 2021-10-22 | 中科曙光国际信息产业有限公司 | 作业跟踪方法、装置、计算机设备和存储介质 |
CN113590278A (zh) * | 2021-07-05 | 2021-11-02 | 杭州智家通科技有限公司 | 去除重复执行任务的方法、装置、设备及存储介质 |
CN113765958A (zh) * | 2020-06-11 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种作业任务处理方法和作业客户端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308468A (zh) * | 2008-06-13 | 2008-11-19 | 南京邮电大学 | 网格计算环境下的作业跨域控制方法 |
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
US20110314466A1 (en) * | 2010-06-17 | 2011-12-22 | International Business Machines Corporation | Creating instances of cloud computing environments |
US20120102572A1 (en) * | 2010-10-20 | 2012-04-26 | International Business Machines Corporation | Node controller for an endpoint in a cloud computing environment |
CN102761602A (zh) * | 2012-06-05 | 2012-10-31 | 北京永洪商智科技有限公司 | 一种基于Hadoop的海量数据实时分析处理方法 |
-
2012
- 2012-12-24 CN CN201210567827.1A patent/CN103092698B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308468A (zh) * | 2008-06-13 | 2008-11-19 | 南京邮电大学 | 网格计算环境下的作业跨域控制方法 |
US20110314466A1 (en) * | 2010-06-17 | 2011-12-22 | International Business Machines Corporation | Creating instances of cloud computing environments |
US20120102572A1 (en) * | 2010-10-20 | 2012-04-26 | International Business Machines Corporation | Node controller for an endpoint in a cloud computing environment |
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102761602A (zh) * | 2012-06-05 | 2012-10-31 | 北京永洪商智科技有限公司 | 一种基于Hadoop的海量数据实时分析处理方法 |
Non-Patent Citations (1)
Title |
---|
郭本俊 等: "基于MPI的云计算模型", 《计算机工程》 * |
Cited By (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216503B2 (en) | 2013-03-13 | 2019-02-26 | Elasticbox Inc. | Deploying, monitoring, and controlling multiple components of an application |
CN104166589A (zh) * | 2013-05-17 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种心跳包的处理方法和装置 |
CN104239148B (zh) * | 2013-06-06 | 2018-05-18 | 腾讯科技(深圳)有限公司 | 一种分布式任务调度方法及装置 |
CN104239148A (zh) * | 2013-06-06 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种分布式任务调度方法及装置 |
CN103336714A (zh) * | 2013-06-20 | 2013-10-02 | 北京奇虎科技有限公司 | 一种作业调度方法和装置 |
CN106371932B (zh) * | 2013-10-11 | 2020-02-28 | 北京奇虎科技有限公司 | 一种基于zookeeper的信息配置方法及装置 |
CN106371932A (zh) * | 2013-10-11 | 2017-02-01 | 北京奇虎科技有限公司 | 一种基于zookeeper的信息配置方法及装置 |
CN103744734B (zh) * | 2013-12-24 | 2017-09-26 | 中国科学院深圳先进技术研究院 | 一种任务作业处理方法、装置及系统 |
CN103744734A (zh) * | 2013-12-24 | 2014-04-23 | 中国科学院深圳先进技术研究院 | 一种任务作业处理方法、装置及系统 |
CN105022662A (zh) * | 2014-04-22 | 2015-11-04 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
CN105022662B (zh) * | 2014-04-22 | 2019-04-09 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
CN104065741B (zh) * | 2014-07-04 | 2018-06-19 | 用友网络科技股份有限公司 | 数据采集系统和数据采集方法 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
CN104092781A (zh) * | 2014-07-31 | 2014-10-08 | 武汉云雅科技有限公司 | 一种基于云计算的云集群快速部署系统 |
CN104092781B (zh) * | 2014-07-31 | 2018-10-19 | 武汉云雅科技有限公司 | 一种基于云计算的云集群快速部署系统 |
CN104243563A (zh) * | 2014-09-03 | 2014-12-24 | 河海大学 | 一种面向aws平台的并行系统快速部署方法 |
CN104243563B (zh) * | 2014-09-03 | 2017-11-24 | 河海大学 | 一种面向aws平台的并行系统快速部署方法 |
CN105656653B (zh) * | 2014-11-14 | 2019-07-19 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN105592126A (zh) * | 2014-11-14 | 2016-05-18 | 株式会社日立制作所 | 无代理自动化服务器系统 |
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN104461722A (zh) * | 2014-12-16 | 2015-03-25 | 广东石油化工学院 | 一种用于云计算系统的作业调度方法 |
CN104461722B (zh) * | 2014-12-16 | 2017-11-10 | 广东石油化工学院 | 一种用于云计算系统的作业调度方法 |
CN105760215A (zh) * | 2014-12-17 | 2016-07-13 | 南京绿云信息技术有限公司 | 基于映射规约模型分布式文件系统作业的运行方法 |
WO2016101799A1 (zh) * | 2014-12-24 | 2016-06-30 | 华为技术有限公司 | 一种基于分布式系统的业务分配方法及装置 |
CN104537045A (zh) * | 2014-12-24 | 2015-04-22 | 华为技术有限公司 | 一种基于分布式系统的业务分配方法及装置 |
CN104503845A (zh) * | 2015-01-14 | 2015-04-08 | 北京邮电大学 | 一种任务分发方法和系统 |
CN104503845B (zh) * | 2015-01-14 | 2017-07-14 | 北京邮电大学 | 一种任务分发方法和系统 |
CN104572286A (zh) * | 2015-01-30 | 2015-04-29 | 湖南蚁坊软件有限公司 | 一种基于分布式内存集群的任务调度方法 |
CN104639374A (zh) * | 2015-03-03 | 2015-05-20 | 上海瀚银信息技术有限公司 | 一种应用程序部署管理系统 |
CN104639374B (zh) * | 2015-03-03 | 2017-12-12 | 上海瀚银信息技术有限公司 | 一种应用程序部署管理系统 |
CN104748796A (zh) * | 2015-03-30 | 2015-07-01 | 浪潮集团有限公司 | 一种传感方法、传感器和传感集群 |
CN104917842A (zh) * | 2015-06-16 | 2015-09-16 | 上海斐讯数据通信技术有限公司 | 一种批量任务处理系统及方法 |
CN106713379A (zh) * | 2015-08-10 | 2017-05-24 | 广州西麦信息科技有限公司 | 一种云计算自动部署系统及其方法 |
CN105159769B (zh) * | 2015-09-11 | 2018-06-29 | 国电南瑞科技股份有限公司 | 一种适用于计算能力异构集群的分布式作业调度方法 |
CN105159769A (zh) * | 2015-09-11 | 2015-12-16 | 国电南瑞科技股份有限公司 | 一种适用于计算能力异构集群的分布式作业调度方法 |
CN106572051A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式系统中分布式锁服务实现方法以及装置 |
CN105302638A (zh) * | 2015-11-04 | 2016-02-03 | 国家计算机网络与信息安全管理中心 | 基于系统负载的mpp集群任务调度方法 |
CN105302638B (zh) * | 2015-11-04 | 2018-11-20 | 国家计算机网络与信息安全管理中心 | 基于系统负载的mpp集群任务调度方法 |
CN105447097A (zh) * | 2015-11-10 | 2016-03-30 | 北京北信源软件股份有限公司 | 数据采集方法及系统 |
US11256542B2 (en) | 2015-12-04 | 2022-02-22 | Microsoft Technology Licensing, Llc | Onboarding of a service based on automated supervision of task completion |
CN108369677A (zh) * | 2015-12-04 | 2018-08-03 | 微软技术许可有限责任公司 | 基于对任务完成的自动化监督的服务载入 |
CN108369677B (zh) * | 2015-12-04 | 2021-10-29 | 微软技术许可有限责任公司 | 用于基于对任务完成的自动化监督的服务载入的设备和方法 |
CN105868628A (zh) * | 2016-03-24 | 2016-08-17 | 中国科学院信息工程研究所 | 一种自动化样本行为采集方法及其装置、系统 |
CN106020977A (zh) * | 2016-05-16 | 2016-10-12 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106020977B (zh) * | 2016-05-16 | 2019-09-13 | 深圳市中业智能系统控制有限公司 | 用于监控系统的分布式任务调度方法及装置 |
CN106095586A (zh) * | 2016-06-23 | 2016-11-09 | 东软集团股份有限公司 | 一种任务分配方法、装置及系统 |
CN106294081A (zh) * | 2016-08-12 | 2017-01-04 | 北京百迈客云科技有限公司 | 生物信息分析任务运行监控系统 |
CN107786358A (zh) * | 2016-08-29 | 2018-03-09 | 中兴通讯股份有限公司 | 分布式系统及该分布式系统的扩容方法 |
CN106385343A (zh) * | 2016-09-05 | 2017-02-08 | Tcl集团股份有限公司 | 一种分布式系统下监控客户端的方法及装置、分布式系统 |
CN106385343B (zh) * | 2016-09-05 | 2020-12-11 | Tcl科技集团股份有限公司 | 一种分布式系统下监控客户端的方法及装置、分布式系统 |
CN106549796A (zh) * | 2016-09-27 | 2017-03-29 | 努比亚技术有限公司 | 一种固件空间下载的资源控制方法及主节点 |
CN106790529B (zh) * | 2016-12-20 | 2019-07-02 | 北京并行科技股份有限公司 | 计算资源的调度方法、调度中心及调度系统 |
CN106777164A (zh) * | 2016-12-20 | 2017-05-31 | 东软集团股份有限公司 | 一种数据迁移集群及数据迁移方法 |
CN106777164B (zh) * | 2016-12-20 | 2020-07-10 | 东软集团股份有限公司 | 一种数据迁移集群及数据迁移方法 |
CN106790529A (zh) * | 2016-12-20 | 2017-05-31 | 北京并行科技股份有限公司 | 计算资源的调度方法、调度中心及调度系统 |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
CN107220897A (zh) * | 2017-05-24 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 一种收益入账的处理方法和装置以及处理系统 |
CN107294774A (zh) * | 2017-06-08 | 2017-10-24 | 深圳市迈岭信息技术有限公司 | 分布式系统物理节点的任务部署方法 |
CN107294774B (zh) * | 2017-06-08 | 2020-07-10 | 深圳市迈岭信息技术有限公司 | 分布式系统物理节点的任务部署方法 |
CN107291545A (zh) * | 2017-08-07 | 2017-10-24 | 星环信息科技(上海)有限公司 | 计算集群中多用户的任务调度方法及设备 |
CN107291545B (zh) * | 2017-08-07 | 2019-12-10 | 星环信息科技(上海)有限公司 | 计算集群中多用户的任务调度方法及设备 |
CN107766207A (zh) * | 2017-10-20 | 2018-03-06 | 中国人民财产保险股份有限公司 | 分布式自动监控方法、系统、计算机可读存储介质及终端设备 |
CN109753300A (zh) * | 2017-11-03 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种算法升级方法、计算任务发送方法及相关产品 |
CN109753300B (zh) * | 2017-11-03 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 一种算法升级方法、计算任务发送方法及相关装置 |
CN108469988B (zh) * | 2018-02-28 | 2021-12-17 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN108469988A (zh) * | 2018-02-28 | 2018-08-31 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN110389815A (zh) * | 2018-04-18 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及系统 |
CN110389815B (zh) * | 2018-04-18 | 2023-09-12 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及系统 |
CN108681777B (zh) * | 2018-05-07 | 2021-07-20 | 北京京东尚科信息技术有限公司 | 一种基于分布式系统的机器学习程序运行的方法和装置 |
CN108681777A (zh) * | 2018-05-07 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种基于分布式系统的机器学习程序运行的方法和装置 |
CN108845867A (zh) * | 2018-07-16 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种分布式事务管理方法、装置、系统及存储介质 |
CN109298948A (zh) * | 2018-10-31 | 2019-02-01 | 北京国信宏数科技有限责任公司 | 分布式计算方法和系统 |
CN109600709A (zh) * | 2018-11-27 | 2019-04-09 | 南方科技大学 | 空间众包任务分配方法及系统 |
CN109600709B (zh) * | 2018-11-27 | 2021-01-26 | 南方科技大学 | 空间众包任务分配方法及系统 |
CN112631711A (zh) * | 2019-09-24 | 2021-04-09 | 北京金山云网络技术有限公司 | 容器集群中Master节点的调整方法、装置及服务器 |
CN110727508A (zh) * | 2019-10-24 | 2020-01-24 | 无锡京和信息技术有限公司 | 一种任务调度系统和调度方法 |
CN110955508B (zh) * | 2019-11-28 | 2021-04-13 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN110941788A (zh) * | 2019-12-17 | 2020-03-31 | 山西云时代技术有限公司 | 边缘计算的云环境分布式Web页面提取分析系统和方法 |
CN111340613A (zh) * | 2020-02-26 | 2020-06-26 | 中国邮政储蓄银行股份有限公司 | 作业处理方法、系统以及存储介质 |
CN111340613B (zh) * | 2020-02-26 | 2023-10-03 | 中国邮政储蓄银行股份有限公司 | 作业处理方法、系统以及存储介质 |
CN113765958A (zh) * | 2020-06-11 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种作业任务处理方法和作业客户端 |
CN112559128A (zh) * | 2020-12-15 | 2021-03-26 | 跬云(上海)信息科技有限公司 | 一种基于云计算的Apache Kylin托管系统及方法 |
CN113535514A (zh) * | 2021-07-02 | 2021-10-22 | 中科曙光国际信息产业有限公司 | 作业跟踪方法、装置、计算机设备和存储介质 |
CN113590278A (zh) * | 2021-07-05 | 2021-11-02 | 杭州智家通科技有限公司 | 去除重复执行任务的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103092698B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092698A (zh) | 云计算应用自动部署系统及方法 | |
US20230004434A1 (en) | Automated reconfiguration of real time data stream processing | |
CN105049268B (zh) | 分布式计算资源分配系统和任务处理方法 | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
CA3000422C (en) | Workflow service using state transfer | |
CN111108479B (zh) | 自主多租户数据库云服务框架 | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
CN102307133B (zh) | 一种公有云平台虚拟机调度方法 | |
CN101645022B (zh) | 用于多个集群的作业调度管理系统及方法 | |
CN111324445B (zh) | 一种任务调度模拟系统 | |
CN108845878A (zh) | 基于无服务器计算的大数据处理方法及装置 | |
CN111506412A (zh) | 基于Airflow的分布式异步任务构建、调度系统及方法 | |
CN104735095A (zh) | 一种云计算平台作业调度方法及装置 | |
US20180176070A1 (en) | System and method to handle events using historical data in serverless systems | |
CN107943559A (zh) | 一种大数据资源调度系统及其方法 | |
CN113301590B (zh) | 一种面向5g接入网的虚拟资源管控系统 | |
US11231967B2 (en) | Dynamically allocating and managing cloud workers | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN109213743B (zh) | 一种数据查询方法和装置 | |
CN116775420A (zh) | 基于Flink流计算的信创云平台资源展示和预警方法及系统 | |
CN101390056A (zh) | 应用系统智能优化器 | |
CN111597033A (zh) | 一种任务调度方法和装置 | |
US20220283924A1 (en) | Methods and systems for intelligent sampling of application traces | |
CN114237858A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |