一种任务管理方法及云数据中心管理平台技术

技术编号:12514457 阅读:69 留言:0更新日期:2015-12-16 12:20
本发明专利技术提供一种任务管理方法及云数据中心管理平台,方法包括:云数据中心管理平台的业务层,分别针对云数据中心管理平台中的每一个功能模块,创建至少一个的线程池;S1:获取针对目标功能模块的目标任务;S2:判断是否存在对应该目标任务的线程池,若存在,将目标任务调度给对应该目标任务的线程池中执行;若不存在,执行S3;S3:进一步判断是否存在对应该目标任务所属类型的线程池,若存在,将该目标任务调度给对应该目标任务所属类型的线程池中执行;若不存在,执行S4;S4:将该目标任务调度给主线程池中执行。根据本方案,可以减少任务执行的等待时间,提高了用户体验。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种任务管理方法及云数据中心管理平 台。
技术介绍
随着计算机技术的飞速发展,云计算逐步成为业界的聚焦点,各大企业已经加入 了云计算的研究领域,并将云计算服务投入到科学、文化、教育、卫生、政府、电子商务、高性 能计算、物联网等多个领域进行使用。 目前,云数据中心管理平台通过创建线程池,以保证在接收到任务时,将该任务派 发到该线程池中执行。 然而,有一些任务在执行时对于实时性的要求并不高,但是执行时耗时较长,比 如,创建虚拟机、删除虚拟机、重启虚拟机、新建网络等,只有在这些任务执行结束后,即在 线程池空闲时才能够继续执行后续的其他任务,而后续所需执行的该其他任务可能对实时 性具有一定要求,从而导致要求实时性的任务被耽搁,影响用户体验。
技术实现思路
有鉴于此,本专利技术提供一种任务管理方法及云数据中心管理平台,以提高对实时 性有要求的任务的被执行效率,提高用户体验。 本专利技术提供了一种基于云数据中心管理平台的任务管理方法,应用于所述云数据 中心管理平台的业务层,所述业务层根据预先配置的线程池的创建策略和线程池的属性参 数,分别针对云数据中心管理平台中的每一个功能模块,创建至少一个的线程池,其中,针 对同一个功能模块创建的至少一个线程池中包括主线程池;还包括: Sl :获取针对目标功能模块的目标任务; S2 :判断是否存在对应该目标任务的线程池,若存在,将目标任务调度给对应该目 标任务的线程池中执行;若不存在,执行S3 ; S3:进一步判断是否存在对应该目标任务所属类型的线程池,若存在,将该目标任 务调度给对应该目标任务所属类型的线程池中执行;若不存在,执行S4 ; S4 :将该目标任务调度给主线程池中执行。 优选地,所述将目标任务调度给任意一个目标线程池中执行,包括: 判断该目标线程池中是否包括空闲线程,若包括空闲线程,利用该空闲线程执行 所述目标任务;若不包括空闲线程,继续执行下一步骤; 判断该目标线程池中的线程数与第一预设线程数值、第二预设线程数值的关系; 其中,所述第一预设线程数值小于所述第二预设线程数值; 在该目标线程池中的线程数小于所述第一预设线程数值时,在该目标线程池中新 建线程,并利用该新建线程执行所述目标任务; 在该目标线程池中的线程数不小于所述第一预设线程数值时,且小于所述第二预 设线程数值时,进一步判断缓冲队列是否包括排队空间,若包括,将所述目标任务放入所述 缓冲队列中,以使该目标线程池中在包括空闲线程时,利用空闲线程执行所述目标任务;若 不包括,则在该目标线程池中新建线程,并利用该新建线程执行所述目标任务; 在该目标线程池中的线程数等于所述第二预设线程数值时,拒绝对所述目标任务 的处理。 优选地,所述将所述目标任务放入所述缓冲队列中,包括: 确定所述目标任务的执行优先级,以及根据确定的所述目标任务的执行优先级, 将所述目标任务放入所述缓冲队列中,以使放入后所述缓冲队列从入栈到出栈方向上按照 执行优先级从小到大的顺序排列。 优选地,进一步包括: 在任意一个目标线程池中包括空闲线程时,且该空闲线程在设定时间段内未被分 配到所需执行的任务时,则销毁该空闲线程。 优选地, 进一步包括:在将目标任务调度给任意一个目标线程池中执行的过程中,记录所 述目标任务被执行的任务主体信息和任务事件信息,并将记录的任务主体信息和任务事件 信息存储到数据库中; 其中,所述任务主体信息包括:任务的唯一标识、任务名称、所属功能模块的名称、 执行状态、任务体、任务创建时间、任务结束时间、任务执行结果、执行进度中的至少一个; 所述任务事件信息包括:任务被执行过程中执行到的每一个关键点的标识、任务的唯一标 识和对任务被执行过程中执行到的每一个关键点的说明; 进一步包括:在云数据中心管理平台发生中断,且当云数据中心管理平台重启之 后,根据数据库中存储的各个任务的任务主体信息和任务事件信息,对执行未结束的任务 加载到相应线程池中继续执行。 本专利技术还提供了一种云数据中心管理平台,包括: 配置单元,用于配置的线程池的创建策略和线程池的属性参数; 线程池创建单元,用于分别针对云数据中心管理平台中的每一个功能模块,创建 至少一个的线程池,其中,针对同一个功能模块创建的至少一个线程池中包括主线程池; 获取单元,用于获取针对目标功能模块的目标任务; 第一判断单元,用于判断是否存在对应该目标任务的线程池,若存在,触发调度单 元将目标任务调度给对应该目标任务的线程池中执行;若不存在,触发第二判断单元执行 相应操作; 第二判断单元,用于判断是否存在对应该目标任务所属类型的线程池,若存在,触 发调度单元将该目标任务调度给对应该目标任务所属类型的线程池中执行;若不存在,触 发调度单元将该目标任务调度给主线程池中执行。 优选地,所述调度单元,用于判断该目标线程池中是否包括空闲线程,若包括空闲 线程,利用该空闲线程执行所述目标任务;若不包括空闲线程,继续判断该目标线程池中的 线程数与第一预设线程数值、第二预设线程数值的关系;其中,所述第一预设线程数值小于 所述第二预设线程数值; 在该目标线程池中的线程数小于所述第一预设线程数值时,在该目标线程池中新 建线程,并利用该新建线程执行所述目标任务; 在该目标线程池中的线程数不小于所述第一预设线程数值时,且小于所述第二预 设线程数值时,进一步判断缓冲队列是否包括排队空间,若包括,将所述目标任务放入所述 缓冲队列中,以使该目标线程池中在包括空闲线程时,利用空闲线程执行所述目标任务;若 不包括,则在该目标线程池中新建线程,并利用该新建线程执行所述目标任务; 在该目标线程池中的线程数等于所述第二预设线程数值时,拒绝对所述目标任务 的处理。 优选地,所述调度单元,用于确定所述目标任务的执行优先级,以及根据确定的所 述目标任务的执行优先级,将所述目标任务放入所述缓冲队列中,以使放入后所述缓冲队 列从入栈到出栈方向上按照执行优先级从小到大的顺序排列。 优选地,进一步包括:空闲线程销毁单元,用于在任意一个目标线程池中包括空闲 线程时,且该空闲线程在设定时间段内未被分配到所需执行的任务时,则销毁该空闲线程。 优选地, 进一步包括:记录单元,用于在将目标任务调度给任意一个目标线程池中执行的 过程中,记录所述目标任务被执行的任务主体信息和任务事件信息,并将记录的任务主体 信息和任务事件信息存储到数据库中; 其中,所述任务主体信息包括:任务的唯一标识、任务名称、所属功能模块的名称、 执行状态、任务体、任务创建时间、任务结束时间、任务执行结果、执行进度中的至少一个; 所述任务事件信息包括:任务被执行过程中执行到的每一个关键点的标识、任务的唯一标 识和对任务被执行过程中执行到的每一个关键点的说明; 进一步包括:恢复单元,用于在云数据中心管理平台发生中断,且当云数据中心管 理平台重启之后,根据数据库中存储的各个任务的任务主体信息和任务事件信息,恢复执 行未结束的任务,以触发调度单元将执行未结束的任务加载到相应线程池中继续执行。 本专利技术实施例提供了一种任务管理方法及云数据中心管理平台,通过分别针对云 数据中心管理平台中的每一个功能模块,创建至少一个线程池,以保证在获取到针对目标本文档来自技高网...

【技术保护点】
一种基于云数据中心管理平台的任务管理方法,其特征在于,应用于所述云数据中心管理平台的业务层,所述业务层根据预先配置的线程池的创建策略和线程池的属性参数,分别针对云数据中心管理平台中的每一个功能模块,创建至少一个的线程池,其中,针对同一个功能模块创建的至少一个线程池中包括主线程池;还包括:S1:获取针对目标功能模块的目标任务;S2:判断是否存在对应该目标任务的线程池,若存在,将目标任务调度给对应该目标任务的线程池中执行;若不存在,执行S3;S3:进一步判断是否存在对应该目标任务所属类型的线程池,若存在,将该目标任务调度给对应该目标任务所属类型的线程池中执行;若不存在,执行S4;S4:将该目标任务调度给主线程池中执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭涛吴栋朱波刘正伟
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

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

1