CN103414771A - 一种云计算环境下节点间长任务操作的监测方法 - Google Patents

一种云计算环境下节点间长任务操作的监测方法 Download PDF

Info

Publication number
CN103414771A
CN103414771A CN2013103376055A CN201310337605A CN103414771A CN 103414771 A CN103414771 A CN 103414771A CN 2013103376055 A CN2013103376055 A CN 2013103376055A CN 201310337605 A CN201310337605 A CN 201310337605A CN 103414771 A CN103414771 A CN 103414771A
Authority
CN
China
Prior art keywords
task
long
node
management node
cloud computing
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
Application number
CN2013103376055A
Other languages
English (en)
Other versions
CN103414771B (zh
Inventor
熊梦
杨松
莫展鹏
季统凯
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201310337605.5A priority Critical patent/CN103414771B/zh
Publication of CN103414771A publication Critical patent/CN103414771A/zh
Application granted granted Critical
Publication of CN103414771B publication Critical patent/CN103414771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种云计算环境下节点间长任务操作的监测方法。本发明首先建立起管理节点与实现节点的通信连接;然后,管理节点产生一个具体操作对象并根据需要标识为长任务操作,管理节点将该长任务操作对象相关信息保存到数据库长任务表中;实现节点接收到任务消息后,根据任务对象来判断是否为长操作;管理节点在成功发送出任务到实现节点之后,定时的向实现节点发送长任务查询请求;实现节点收到查询请求后,将更新后的数据信息反馈给管理节点;如果该长任务在管理节点设置的超时时间内还没有完成,则放弃执行,并返回执行失败信息给管理节点。本发明解决了长任务操作的实时监测问题;可以用于云计算长任务操作监测中。

Description

一种云计算环境下节点间长任务操作的监测方法
技术领域
本发明涉及云计算任务操作监测技术领域,特别是一种云计算环境下节点间长任务操作的监测方法。
背景技术
在云计算解决方案中,管理节点对实现节点(计算节点、存储节点、网络节点等)存在着大量的任务控制工作;对于短任务,例如查询虚拟机远程VNC端口,管理节点可以使用同步通信的方式阻塞进程等待实现节点执行任务后返回结果;然而,对于创建虚拟机、虚拟机打包、创建存储卷、存储卷备份等这些耗时的长任务来说,管理节点同步阻塞等待的通信方式已经不可能采取了,而必须采用异步检测机制。而目前阶段,很多云计算解决方案中都仅仅是采用了设置长任务超时时间这一简单方式,这种方式简单易实现,但同时会带来以下问题:
一是可控性差,一个长任务操作可能耗时比较久,如果仅仅是采取现阶段大部分云计算解决方案采取的设置超时时间的方法,管理节点对长任务的处理仅仅是处于一直等待状态,这无疑是不好的选择;
二是无法真正实现对长任务操作的监测,长任务的监测需要时刻知道其完成的进度信息,仅仅设置超时时间无法获取长任务操作的完成进度相关信息;
三是用户体验差,由于无法获取长任务操作进度信息,对于用户,即操作长任务的人来说,无法得到或者准确得到好的用户体验;
四是无法预测长任务操作完成时间,由于无法实时获取长任务操作进度信息,也就不能根据已完成的百分比和所用时间来预测任务完成时间。
另外,对于比较耗时的长任务操作,仅仅是设置超时时间等待任务最终操作状态已经不可取了,我们有必要知道任务在某时以完成的进度信息,这样才能实现对任务的有效监控。
为了从真正意义上实现对云计算环境下各个长任务操作的实时监控,实时获取长任务操作执行的进度信息和结果信息,需要一种通过管理节点控制实现节点、实时准确的获取长任务操作进度信息的监测机制。
发明内容
本发明解决的技术问题在于提供一种云计算环境下节点间长任务操作的监测机制,解决了现阶段云计算环境下管理节点仅仅通过设置超时时间来控制实现节点进行长任务操作,而无法实时准确获取长任务操作的进度信息、实现对长任务操作真正意义上的监控问题。
本发明解决上述技术问题的技术方案是:
包括如下步骤:
步骤1:在云计算环境下建立管理节点与实现节点的通信连接;
步骤2:管理节点产生一个具体操作任务对象,根据需要标识该对象为长任务操作,同时为其生成一个唯一的任务ID,并以注解的方式设置超时时间;
步骤3:管理节点将该长任务操作对象相关信息保存到数据库长任务表中;
步骤4:管理节点将该长任务对象以HTTP消息体的格式发送至实现节点;
步骤5:实现节点接收到任务消息后,根据任务对象判断是否为长操作,如果是长操作,则创建实现节点的长操作实体,并将实体加入到实现节点长操作链表中;
步骤6:管理节点在成功发送出任务到实现节点之后,定时的向实现节点发送长任务查询请求;
步骤7:实现节点收到查询请求后,根据具体操作更新长操作链表中的操作进度、操作结果等数据;
步骤8:实现节点将更新后的数据反馈给管理节点;
步骤9:管理节点收到反馈的数据后将数据更新进数据库表中;
步骤10:如果该长任务在管理节点设置的超时时间内还没有完成,则放弃执行,并返回执行失败信息给管理节点。
所述的管理节点和实现节点分别是云计算解决方案中的管理模块和实现模块;
所述的管理模块是指云计算解决方案中负责产生任务、发送任务、接收任务反馈的业务控制管理模块,该模块只负责产生任务,不负责任务实现;
所述的实现模块是云计算解决方案中负责消费任务,任务实现的业务功能模块。
所述的长任务操作是指创建虚拟机、删除虚拟机、创建存储卷等耗时比较长的一些具体功能操作;
所述的保存到数据库中的长任务操作相关信息是指的任务ID、任务进度、任务结果、任务时间以及用户ID等数据项。
所述的实现节点长任务结构实体是指C语言结构体类型所定义的一个结构体变量;
所述的长任务链表是指在实现节点上定义的一个全局链表,里面存放着正在进行的每一个长任务结构实体。
本发明可以实时准确获取长任务操作的进度信息,实现对长任务操作的实时监控。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的具体实例示意图;
具体实施方式
如图1所示,本发明方法包括如下步骤:
步骤1:在云计算环境下先建立起管理节点与实现节点的通信连接;
步骤2:管理节点产生一个具体操作对象,根据需要标识该对象为长任务操作,同时为其生成一个唯一的任务ID,并以注解的方式设置超时时间;
步骤3:管理节点将该长任务操作对象相关信息保存到数据库长任务表中;
步骤4:管理节点将该长任务对象以HTTP消息体的格式发送至实现节点;
步骤5:实现节点接收到任务消息后,根据任务对象来判断是否为长操作,如果是长操作,则创建实现节点的长操作实体,并将实体加入到实现节点长操作链表中;
步骤6:管理节点在成功发送出任务到实现节点之后,定时得向实现节点发送长任务查询请求;
步骤7:实现节点收到查询请求后,根据具体操作更新长操作链表中的操作进度、操作结果等数据;
步骤8:实现节点将更新后的数据反馈给管理节点;
步骤9:管理节点收到反馈的数据后将数据更新进数据库表中;
步骤10:最后,如果该长任务在管理节点设置的超时时间内还没有完成,则放弃执行,并返回执行失败信息给管理节点。
前述的管理节点和实现节点分别代表云计算解决方案中管理模块和实现模块;管理模块是指云计算解决方案中负责产生任务、发送任务、接收任务反馈的业务控制管理模块,该模块只负责产生任务,不负责任务实现;实现模块是云计算解决方案中负责消费任务,任务实现的业务功能模块;注解方式是指Java语言特有的编程方式,可以完成自我设置与检测;超时时间是一个时间值,一个长任务操作必须在这个设定的最大时间间隔值内完成;保存到数据库中的相关信息是指长任务操作的任务ID、任务进度、任务结果、任务时间以及用户ID等数据项;HTTP消息体是指管理节点与实现节点的通信是建立在http协议基础之上的;实现节点长任务结构实体是指C语言结构体类型所定义的一个结构体变量;长任务链表是指在实现节点上定义的一个全局链表,里面存放着正在进行的每一个长任务结构实体;管理节点对长任务的实时监测是指,实现节点收到查询请求后,根据具体操作更新长操作链表中的操作进度、操作结果等数据,并将更新后的数据信息反馈给管理节点,管理节点收到反馈的数据后会将数据更新进数据库表的相应记录中。
如图2所示,是本发明的一个具体示例;管理节点先设置一个任务为长任务并产生一个任务ID,并注解的形式设置该长任务操作的超时时间,代码如下:
Figure BDA00003618896600051
Figure BDA00003618896600061
这里利用Java自带的jar包UUID的UUID.randomUUID().toString()为任务生成了一个任务ID。然后管理节点将包含有该任务ID的对象发送至实现节点。
实现节点接收到管理节点发来的长任务请求后,及时创建一个长任务实体并将其加入到内存长任务链表中,长任务结构体如下:
Figure BDA00003618896600062
Figure BDA00003618896600071
这里定义了实现节点上的一个长任务操作结构体,主要包括有taskId(任务ID),ratio(任务进度),is_done(任务结果)等,其他还有与操作时间相关的一些参数。
针对长任务,实现节点定义了一系列相关的操作,以满足管理节点对长任务操作的监测,如下是实现节点定义的一些主要操作:
Figure BDA00003618896600072
Figure BDA00003618896600081
另外还有一些相关的长任务操作如下,从函数名可以很容易的知道该操作是作用:
Figure BDA00003618896600082
管理节点成功发送长任务请求后,就可以每间隔一段时间调用实现节点的long_task_query方法来查询长任务信息。
Figure BDA00003618896600083
Figure BDA00003618896600091
Figure BDA00003618896600101
在long_task_query函数中,首先会调用long_task_find来查询内存长任务链表中是否有指定的taskId,如果没有就直接返回错误,如果有则调用long_task_refresh函数根据具体长任务执行情况更新长任务对象task;更新成功后即返回该对象里面包含的一些任务信息,主要包括有任务是否结束task->is_done,任务完成百分比task->ratio,任务执行时间等。最后,实现节点会将这些任务信息反馈该管理节点。

Claims (5)

1.一种云计算环境下节点间长任务操作的监测方法,其特征在于:包括如下步骤:
步骤1:在云计算环境下建立管理节点与实现节点的通信连接;
步骤2:管理节点产生一个具体操作任务对象,根据需要标识该对象为长任务操作,同时为其生成一个唯一的任务ID,并以注解的方式设置超时时间;
步骤3:管理节点将该长任务操作对象相关信息保存到数据库长任务表中;
步骤4:管理节点将该长任务对象以HTTP消息体的格式发送至实现节点;
步骤5:实现节点接收到任务消息后,根据任务对象判断是否为长操作,如果是长操作,则创建实现节点的长操作实体,并将实体加入到实现节点长操作链表中;
步骤6:管理节点在成功发送出任务到实现节点之后,定时的向实现节点发送长任务查询请求;
步骤7:实现节点收到查询请求后,根据具体操作更新长操作链表中的操作进度、操作结果等数据;
步骤8:实现节点将更新后的数据反馈给管理节点;
步骤9:管理节点收到反馈的数据后将数据更新进数据库表中;
步骤10:如果该长任务在管理节点设置的超时时间内还没有完成,则放弃执行,并返回执行失败信息给管理节点。
2.根据权利要求1所述的监测方法,其特征在于:所述的管理节点和实现节点分别是云计算解决方案中的管理模块和实现模块;
所述的管理模块是指云计算解决方案中负责产生任务、发送任务、接收任务反馈的业务控制管理模块,该模块只负责产生任务,不负责任务实现;
所述的实现模块是云计算解决方案中负责消费任务,任务实现的业务功能模块。
3.根据权利要求1所述的监测方法,其特征在于:所述的长任务操作是指创建虚拟机、删除虚拟机、创建存储卷等耗时比较长的一些具体功能操作;
所述的保存到数据库中的长任务操作相关信息是指的任务ID、任务进度、任务结果、任务时间以及用户ID等数据项。
4.根据权利要求2所述的监测方法,其特征在于:所述的长任务操作是指创建虚拟机、删除虚拟机、创建存储卷等耗时比较长的一些具体功能操作;
所述的保存到数据库中的长任务操作相关信息是指的任务ID、任务进度、任务结果、任务时间以及用户ID等数据项。
5.根据权利要求1至4任一项所述的监测方法,其特征在于:所述的实现节点长任务结构实体是指C语言结构体类型所定义的一个结构体变量;
所述的长任务链表是指在实现节点上定义的一个全局链表,里面存放着正在进行的每一个长任务结构实体。
CN201310337605.5A 2013-08-05 2013-08-05 一种云计算环境下节点间长任务操作的监测方法 Active CN103414771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310337605.5A CN103414771B (zh) 2013-08-05 2013-08-05 一种云计算环境下节点间长任务操作的监测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310337605.5A CN103414771B (zh) 2013-08-05 2013-08-05 一种云计算环境下节点间长任务操作的监测方法

Publications (2)

Publication Number Publication Date
CN103414771A true CN103414771A (zh) 2013-11-27
CN103414771B CN103414771B (zh) 2017-02-15

Family

ID=49607757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310337605.5A Active CN103414771B (zh) 2013-08-05 2013-08-05 一种云计算环境下节点间长任务操作的监测方法

Country Status (1)

Country Link
CN (1) CN103414771B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117281A (zh) * 2015-08-24 2015-12-02 哈尔滨工程大学 一种基于任务申请信号和处理器内核执行代价值的任务调度方法
CN106325992A (zh) * 2016-08-20 2017-01-11 国云科技股份有限公司 一种计算分布式环境长任务进度的方法
CN106503961A (zh) * 2016-10-19 2017-03-15 青岛海信电器股份有限公司 基线过程的实现方法和装置
CN107077490A (zh) * 2015-03-02 2017-08-18 微软技术许可有限责任公司 数据查询作业提交管理
CN109656740A (zh) * 2018-12-11 2019-04-19 国云科技股份有限公司 一种支持超时处理任务流的方法
CN109901917A (zh) * 2017-12-07 2019-06-18 龙芯中科技术有限公司 实时操作系统调度方法及装置、计算机可读存储介质
CN110574018A (zh) * 2017-04-26 2019-12-13 微软技术许可有限责任公司 基于通信交换来管理异步分析操作
CN110650172A (zh) * 2018-06-27 2020-01-03 广东神马搜索科技有限公司 流式任务处理方法、装置及服务器
CN115220131A (zh) * 2022-06-23 2022-10-21 阿里巴巴(中国)有限公司 气象数据质检方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652512A (zh) * 2004-02-04 2005-08-10 华为技术有限公司 设备升级方法
CN102073546A (zh) * 2010-12-13 2011-05-25 北京航空航天大学 一种云计算环境中分布式计算模式下的任务动态调度方法
CN102855236A (zh) * 2011-06-27 2013-01-02 北京东方通科技股份有限公司 文件传输系统及文件传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652512A (zh) * 2004-02-04 2005-08-10 华为技术有限公司 设备升级方法
CN102073546A (zh) * 2010-12-13 2011-05-25 北京航空航天大学 一种云计算环境中分布式计算模式下的任务动态调度方法
CN102855236A (zh) * 2011-06-27 2013-01-02 北京东方通科技股份有限公司 文件传输系统及文件传输方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077490A (zh) * 2015-03-02 2017-08-18 微软技术许可有限责任公司 数据查询作业提交管理
CN107077490B (zh) * 2015-03-02 2021-03-30 微软技术许可有限责任公司 数据查询作业提交管理
CN105117281A (zh) * 2015-08-24 2015-12-02 哈尔滨工程大学 一种基于任务申请信号和处理器内核执行代价值的任务调度方法
CN105117281B (zh) * 2015-08-24 2019-01-15 哈尔滨工程大学 一种基于任务申请信号和处理器内核执行代价值的任务调度方法
CN106325992A (zh) * 2016-08-20 2017-01-11 国云科技股份有限公司 一种计算分布式环境长任务进度的方法
CN106503961A (zh) * 2016-10-19 2017-03-15 青岛海信电器股份有限公司 基线过程的实现方法和装置
CN110574018A (zh) * 2017-04-26 2019-12-13 微软技术许可有限责任公司 基于通信交换来管理异步分析操作
CN109901917A (zh) * 2017-12-07 2019-06-18 龙芯中科技术有限公司 实时操作系统调度方法及装置、计算机可读存储介质
CN110650172A (zh) * 2018-06-27 2020-01-03 广东神马搜索科技有限公司 流式任务处理方法、装置及服务器
CN110650172B (zh) * 2018-06-27 2022-04-19 阿里巴巴(中国)有限公司 流式任务处理方法、装置及服务器
CN109656740A (zh) * 2018-12-11 2019-04-19 国云科技股份有限公司 一种支持超时处理任务流的方法
CN115220131A (zh) * 2022-06-23 2022-10-21 阿里巴巴(中国)有限公司 气象数据质检方法及系统

Also Published As

Publication number Publication date
CN103414771B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN103414771A (zh) 一种云计算环境下节点间长任务操作的监测方法
AU2017276254B2 (en) Edge computing platform
CN105376083B (zh) 节能控制方法、管理服务器和网络设备
CN108809972B (zh) 基于开源生态系统的物联网综合实验及应用开发平台
CN102760074B (zh) 用于高负荷业务流程可扩展性的方法及其系统
CN101188566B (zh) 一种集群环境下数据缓存同步的方法及系统
CN105099739B (zh) 一种基于插件式软件部署方法、装置及应用服务器
Haller et al. The real-time enterprise: Iot-enabled business processes
CN101799751A (zh) 一种构建主机监控代理软件的方法
WO2008157735A3 (en) Methods and apparatus for dataset synchronization in a wireless environment
CN103685568A (zh) 云计算环境下paas平台的平台服务应用部署方法和系统
Azzara et al. Middleware solutions in WSN: The IoT oriented approach in the ICSI project
CN104508625A (zh) 用于监视云资源的抽象模型
CN104102949A (zh) 一种分布式工作流装置及其处理工作流的方法
CN104995899A (zh) 服务器负载管理
CN103023857A (zh) 一种信息资源远程部署的方法及系统
CN110874272A (zh) 资源配置方法及装置、计算机可读存储介质、电子设备
CN102810184A (zh) 一种动态执行工作流的方法、装置及企业系统
CN105404530B (zh) 一种实现简易部署和使用私有云的系统及方法
CN102662773B (zh) 多进程间结构化文档通信系统
CN106201715A (zh) 一种任务调度方法和装置
KR20210038456A (ko) 증서 송신 방법, 증서 수신 방법, 클라우드 및 단말 기기
CN102148736A (zh) M2m业务平台及其与下一代业务网络融合的方法和系统
CN102026228A (zh) 通信网络性能数据的统计方法和设备
CN110661851A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: G-Cloud Technology Co., Ltd.

Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province

Patentee before: G-Cloud Technology Co., Ltd.

CP02 Change in the address of a patent holder