CN110046041B - 一种基于celery调度框架的数据采集方法 - Google Patents

一种基于celery调度框架的数据采集方法 Download PDF

Info

Publication number
CN110046041B
CN110046041B CN201910299048.XA CN201910299048A CN110046041B CN 110046041 B CN110046041 B CN 110046041B CN 201910299048 A CN201910299048 A CN 201910299048A CN 110046041 B CN110046041 B CN 110046041B
Authority
CN
China
Prior art keywords
task
node
content
tasks
periodic
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.)
Active
Application number
CN201910299048.XA
Other languages
English (en)
Other versions
CN110046041A (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.)
Beijing Zhongan Zhida Technology Co ltd
Original Assignee
Beijing Zhongan Zhida 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 Beijing Zhongan Zhida Technology Co ltd filed Critical Beijing Zhongan Zhida Technology Co ltd
Priority to CN201910299048.XA priority Critical patent/CN110046041B/zh
Publication of CN110046041A publication Critical patent/CN110046041A/zh
Application granted granted Critical
Publication of CN110046041B publication Critical patent/CN110046041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于celery调度框架的数据采集方法,步骤:1)启动系统,Celery框架读取项目所在路径下各级目录中包含的celerytask.py文件,将文件中定义的任务进行注册;2)系统将任务添加到消息队列中,等待worker执行,任务包括前置任务和后置任务,前置任务分为周期性任务和即时性任务;后置任务是前置任务访问节点获取具体采集配置后产生的任务;3)worker对消息队列里的前置任务进行处理,通过访问zookeeper节点,根据节点信息获取具体任务,再将具体任务添加到消息队列中;4)前置任务处理成功,发送对应的后续任务,形成不需要访问zookeeper节点的后置任务,worker对消息队列里的后置任务进行处理,获取结果并输出。

Description

一种基于celery调度框架的数据采集方法
技术领域
本发明涉及大数据处理领域,为数据库指标采集、部分设备硬件特征采集或系统信息采集提供一种较为独立的基于celery调度框架的数据采集方法。
背景技术
随着互联网技术的发展,大数据处理和云计算技术的广泛应用,对于产品和系统的部署,集群和分布式架构的方式被众多企业采用,而产品的运营维护要求需要企业对集群设备及分布式存储的性能指标进行监控和管理,以便及时发现错误进行维护,保证产品正常运营,避免损失。
基于众多应用场景下用户采集的数据具有的不确定性和复杂性,希望采用一种任务调度的方式,统一管理调度用户需要进行的采集任务,灵活的对用户采集数据的任务进行处理。
Celery是一个基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,对大量消息进行处理,它是一个专注于实时处理的消息队列,同时也支持任务调度。
发明内容
本发明提供了一种基于celery调度框架的数据采集方法,解决了通过任务调度的方式,统一管理调度用户需要进行的采集任务,灵活的对用户采集数据的任务进行处理的问题。
其技术方案如下所述:
一种基于celery调度框架的数据采集方法,包括下列步骤:
1)启动系统,Celery框架读取所在项目下各级目录包含的celerytask.py文件,将celerytask.py文件中包含的所有任务在Celery中进行注册;
2)系统将任务添加到消息队列中,等待worker执行,任务包括前置任务和后置任务,前置任务分为周期性任务和即时性任务,周期性任务按照时间周期定时发送到消息队列中;后置任务是前置任务访问节点获取具体采集配置后产生的任务;
3)worker对消息队列里的前置任务进行处理,通过访问zookeeper节点,根据节点信息获取具体任务,再将具体任务添加到消息队列中;
4)前置任务处理成功,发送对应的后置任务,形成不需要访问zookeeper节点的后置任务,worker对消息队列里的后置任务进行处理,获取结果并输出。
进一步的,步骤3)中,用户通过对zookeeper节点的设置操作来标识具体任务的增加与删除操作,celery框架通过周期性任务或监控节点触发的即时性任务,不断对用户操作的zookeeper节点进行访问,通过判断节点和子节点是否存在,节点内容是否不为空等方式,确定具体的采集任务并执行。
对于周期性任务,zookeeper节点分为四层,每层的结构都由节点名称、节点内容和子节点组成,上一层的子节点是下一层,第四层不存在子节点;
第一层:节点名称以项目名称命名;节点内容为空;子节点为采集的数据类型;
第二层:节点名称以采集的数据类型命名;节点内容为列表形式,列表中元素为JSON类型的配置,内容包含后续采集数据所需要的基本配置信息;子节点根据配置文件内容进行划分,若配置内容为空,子节点也不存在,用来减少程序不必要的节点访问;
第三层:节点名称以采集任务的属性特征命名;节点内容为空;子节点为采集指标;
第四层:节点名称为自定义名称;节点内容为采集内容的具体指标;子节点不存在。
对于即时性任务,该类任务添加后执行,仅执行一次,适用于安装任务或采集即时信息,由zookeeper的监控事件原理实现,在celery项目启动后,将监控任务发送到消息队列中,监控任务对zookeeper的节点进行监控,当zookeeper中被监控的节点发生变化时,会触发回调函数。
进一步的,步骤4)中,后置任务由前置任务访问节点得到的配置和详细信息决定,其中的周期性任务为采集任务,包括常用数据库采集、snmp服务指标采集和远程ssh采集。
步骤4)中,后置任务中的即时性任务为安装任务或采集即时数据任务。
消息队列采用rabbitmq,通过rabbitmq的交换器将接收的消息路由给服务器中的队列,包括:
task_beat:接收任务为周期性任务;
task_db:接收由周期性任务处理返回的采集数据库类型的任务;
task_snmp:接收由周期性任务处理返回的采集snmp指标类型的任务;
task_ssh:接收有周期性任务处理返回的通过ssh服务类型的任务;
task_watch:接收监控节点的任务及监控节点触发后返回的事件任务。
进一步的,步骤3)中,前置任务中的周期性任务通过访问节点的内容获取配置文件,从配置文件中获取host信息,层层递进的访问下一层子节点,直到访问到目标叶节点,获取叶节点配置内容,传递给后续的采集任务,并将采集任务发送到队列中。
进一步的,步骤3)中,前置任务中的即时性任务通过对目标节点的监控,当目标节点的子节点发生变化,获取子节点内容,传递给具体任务,并将任务发送到队列中,删除处理完成的子节点。
前置任务传递的配置内容包含设备信息、节点信息、输出方式,后置任务接收前置任务传递的配置内容,对配置内容进行分析处理,得到结果并输出,输出方式包括数据库存储和文本存储。
本发明能够应用在有上述要求的多任务实时处理和任务调度的分布式系统,支持对常用数据库、服务器硬件信息进行采集,并支持脚本和系统命令进行自定义采集数据。
附图说明
图1是前置任务的处理流程示意图;
图2是后置任务的处理流程示意图;
图3是周期性任务中zookeeper节点结构的示意图;
图4是即时性任务中zookeeper节点结构的示意图;
图5是任务队列结构示意图;
图6是前置任务的周期性任务处理流程示意图;
图7是前置任务的即时性任务处理流程示意图。
具体实施方式
本设计主要包含zookeeper节点设计、任务模块、消息队列设计、任务处理及结果输出四个部分,主要处理流程如图和图2所示:
1)系统运行后,Celery框架读取所在项目下各级目录包含的celerytask.py文件,将celerytask.py文件中定义的任务进行注册。
2)根据消息队列的设计,系统将前置任务添加到对应的消息队列中,等待worker(Celery提供的处理任务的工人)执行。
3)worker对消息队里的任务进行处理,访问zookeeper节点(节点由用户添加,对应用户下发的具体事件),根据节点信息获取用户添加的具体事件的相关信息,触发对应的后置任务(具体事件中包含的信息作为参数传递给后置任务),再将后置任务添加到消息队列中。添加的前置任务有两种情况:
(1)周期性任务按照时间周期定时发送到消息队列中,worker对任务进行处理后,再将后置任务添加到队列。
(2)即时性任务由zookeeper的监控事件进行触发,Celery项目启动后会将前置任务(监控任务)添加到队列中,当节点发生变化时(变化:被监控节点的子节点增加),worker对前置任务的回调函数进行处理后,再将后置任务添加到队列中。
4)worker对消息队列中的后置任务进行处理,获取结果并输出。
一、zookeeper节点设计
配置文件的维护由zookeeper提供,对zookeeper节点结构进行设计来实现后续采集任务的触发和发布。用户通过对zookeeper节点的设置操作来标识具体任务的增加与删除操作,celery框架通过周期性任务或监控节点触发的回调任务,不断对用户操作的zookeeper节点进行访问,通过判断节点和子节点是否存在,节点内容是否不为空等方式,确定具体的采集任务并执行。
对于周期性任务来说,节点设计如图3所示:
节点分为四层:
1、第一层:
节点名称:以项目名称命名,如该项目以celery框架搭建,可直接以celery为项目名称来命名节点名称。
节点内容:空。
子节点:采集数据的类型。
2、第二层:
节点名称:以采集的数据类型命名,如对常用数据库性能指标进行采集可将节点命名为DB,对snmp(简单网络管理协议)协议指标进行采集可将节点命名为SNMP,或者用ssh(远程访问)来进行采集可将节点命名为SSH。
节点内容:列表形式,列表中元素为JSON类型的配置,内容包含后续采集数据所需要的基本配置信息,如服务器IP地址,访问的账号密码,采集类型等配置项。配置文件样式如下:
[
{″host″:″127.0.0.1″,″user″:″admin″,″password″:″123456″,″type″:″MYSQL″,...},
{″host″:″127.0.0.2″,″user″:″admin″,″password″:″123456″,″type″:″ORACLE″,...},
{″host″:″127.0.0.3″,″user″:″admin″,″password″:″123456″,″type″:″MYSQL″,...},
...
]
子节点:根据配置文件内容进行划分,若配置内容为空,子节点也不存在,用来减少程序不必要的节点访问。
3、第三层:
节点名称:以采集任务的属性特征来命名,第三层节点内容可能为多层,每一种属性为一层节点。如每5分钟对服务器127.0.0.1上的mysql数据库进行采集,第三册节点结构为./5min/127.0.0.1/MYSQL/。
节点内容:空。
子节点:采集指标。
4、第四层:
节点名称:自定义名称,由前端自定义,包含用户id信息和自定义模块名称.如24_mysqlCPU。
节点内容:采集内容的具体指标,为JSON类型,如下图所示:
{
″com_delete″:″show global status like′com_delete′″,
″max_errors_ccnnections″:″show global status like′connection_errors_max_connections′″,
″threads_connected″:″show global status like′threads_connected′″,
″slow_queries″:″show global status like′slow_queries′″
}
子节点:无。
对于即时性任务来说,节点设计如图4所示:
节点分为三层:
1、第一层:
节点名称:以项目名称命名,如该项目以celery框架搭建,可直接以celery为项目名称来命名节点名称。
节点内容:空。
子节点:执行任务的类型。
2、第二层:
节点名称:以执行任务的类型来命名,如任务为安装任务,节点名称为install,如任务为采集任务,节点名称为collect。
节点内容:空。
子节点:具体任务的配置。
3、第三层:
节点名称:包含用户id,下放任务时间戳,任务名称等信息。
节点内容:为JSON类型,key值为字符类型的1,2,3...,代表执行任务的步骤,value值为JSON类型,包含具体步骤和相关访问配置信息,如下图所示:
{
″1″:{″host″:″127.0.0.1″,″user″:″admin″,″password″:″123456″,″command″:[″cur1://...″,″...″],...},
″2″:{″host″:″127.0.0.1″,″user″:″admin″,″password″:″123456″,″command″:[″″,″″],...},
...
}
二、任务模块
Celery中任务模块的设计按照任务是否对zookeeper进行访问分为两大类。第一类任务定义为前置任务,该类任务在系统启动后就会执行,并且都会对zookeeper进行访问,从zookeeper节点中获取用户添加的具体事件的详细信息,然后将信息传递给后置任务并将后置任务发送到消息队列中。前置任务分周期性任务和即时性任务,用于控制对zookeeper节点的访问是周期访问还是触发后才即时访问,后置任务是前置任务访问节点获取具体采集配置后产生的任务,具体表现并不区分周期性和即时性,每当收到配置信息后就会执行一次,受限于前置任务。
前置任务有以下两种形式:
1、周期性任务,由celery框架提供的beat进行调用,该类任务周期性执行,适用于周期性采集指标数据的任务。
1)周期性任务配置:
周期性任务在celeryconfig.py文件中定义,定义如下图所示:
Figure GDA0002813881110000081
任务名称:add-every-1minute-collect-db(自定义名称,表示每一分钟采集一次数据库类信息;任务名称不具有任何含义,只用于区分其他任务)。
任务方法:task,任务调用的方法在目录celeryApp下的celerytask中定义的collectDatabase方法。
任务周期时间:schedule,任务周期为60秒。
任务参数:args,传递给任务collectDatabase的参数。
2)周期性任务执行过程:
add-every-1minute-collect-db任务在系统启动后,每隔一分钟将任务collectDatabase添加到消息队列中,worker获取任务并执行,直接访问zookeeper节点./db/1min,层层遍历到该节点的叶节点(如:./db/1min/127.0.0.1/MYSQL/1_task01)进行访问,将获取的采集指标和对应的配置传递给后置任务,并将后置任务发送到消息队列中。
2、即时性任务,该类任务添加后执行,仅执行一次,适用于安装任务或采集即时信息,实现原理由zookeeper的监控事件来实现。
1)即时性任务配置:
在启动程序celeryStart.py下定义:
app.send_task(′celeryApp.celerytask.watch′)
在zookeeper类方法中定义监控节点发生变化时的回调函数。
2)即时性任务有zookeeper的监控事件原理实现,在系统启动后,将监控事件发送到消息队列中,当监控节点的子节点发生变化时,会触发回调函数。如安装任务,watch函数中对节点./celery/install/节点进行监控,当下发安装任务task1时,会产生节点/celery/install/time_task1节点,触发回调函数对节点/celery/install/time_task1的内容进行获取,将获取的内容传递给后置任务,并将后置任务添加到消息队列中。
后置任务,由前置任务访问节点得到的配置和详细信息决定,后置任务与前置任务对应,周期性任务基本为采集任务,即时性任务为安装任务或采集即时数据的任务。采集任务大致有以下三类:
1、常用数据库采集,采集的具体内容依据叶节点的内容,内容形式为json类型,key为采集指标,value为采集的sql语句,具体配置如下所示:
{
″com_delete″:″show global status like′com_delete′″,
″max_errors_connections″:″show global status like′connection_errors_max_connections′″,
″threads_connected″:″show global status like′tnreaas_connected′″,
″slow_queries″:″show global status like′slow_queries′″
...
}
2、snmp服务指标采集,采集的具体内容依据叶节点的内容,内容形式为json类型,key为采集指标,value为采集的oid,具体配置如下所示:
{
″sysContent″:″.1.3.6.1.2.1.1.4.0″,
″sysUpTime″:″.1.3.6.1.2.1.1.3.0″,
″ssCpuIdle″:″.1.3.6.1.4.1.2021.11.11.0″,
″ssCpuRawIdle″:″.1.3.6.1.4.1.2021.11.53.0″,
...
}
3、远程ssh采集,采集的具体内容依据叶节点的内容,内容形式为json类型,key为步骤顺序,value为json格式,包含配置信息,具体配置如下所示:
{
″1″:{″host″:″127.0.0.1″,″password″:″123456″,″command″:[″curl:/ip/collect.shsh″,...],...},
″2″:{...},
...
}
即时性任务大致为以下两类:
1、安装任务,如远程对目标服务器安装agent,配置文件如下所示:
{
″1″:{″host″:″127.0.0.1″,″password″:″123456″,″command″:[″curl:/ip/install.shsh″,...],...},
″2″:{...},
...
}
2、采集即时数据任务,如实时获取当前时间数据库内存占用情况,配置文件如下所示:
{
″1″:{″host″:″127.0.0.1″,″password″:″123456″,″command″:[″curl:/ip/collect.sh sh″,...],...},
″2″:{...},
...
}
三、消息队列设计
消息队列的设计按照任务的执行方式和采集内容的种类划分并命名加以区分,消息队列的划分主要用于项目启动后,能够根据消息队列接收消息(项目添加的任务)的优先级、消息数量和处理消息的耗时程度合理分配进程资源,保证任务不被堵塞和丢失。
本发明使用的消息队列为rabbitmq,通过rabbitmq的交换器将接收的消息路由给服务器中的队列。
消息队列设计大致分为以下五种:
1)task_beat:接收任务为前置任务中的周期性任务。
2)task_db:接收由周期性任务处理后生成的采集数据库类型的后置任务。
3)task_snmp:接收由周期性任务处理后生成的采集snmp指标类型的后置任务。
4)task_ssh:接收有周期性任务处理后生成的通过ssh服务类型的后置任务。
5)task_watch:接收监控节点的前置任务及监控节点触发后生成的后置任务。
任务队列结构如图5所示。
四、任务处理及结果输出
任务模块的设计按照任务是否需要访问zookeeper节点分为两类:访问zookeeper节点的前置任务和不需要访问zookeeper的后置任务,前置任务又分为周期性任务和即时性任务。以下是前置任务处理流程:
周期性任务(数据库采集)如图6所示,周期性任务其他采集任务与数据库采集任务一致,通过访问节点/celery/db[snmp,ssh,...]的内容获取配置文件,从配置文件中获取host信息,层层递进的访问下一层子节点,直到访问到目标叶节点,获取叶节点配置内容,传递给后续的采集任务,并将采集任务发送到队列中。
即时性任务(安装任务)如图7所示,即时性任务其他任务与安装任务流程一致,通过对节点/celery/install[collect,…]等目标节点的监控,当目标节点的子节点发生变化(产生新的子节点,每个子节点代表一个新的任务),获取子节点内容,传递给具体任务,并将任务发送到队列中,删除处理完成的子节点。
前置任务传递的配置内容包含设备信息,节点信息,输出方式等,例如采集数据库前置任务传递的信息如下:
设备信息:
{″password″:″111111″,″database″:″test″,″port″:″3306″,″host″:″127.0.0.1″,″type″:″MYSQL″,″user″:″root″}
节点信息:
{
″com_delete″:″show global status like′com_delete′″,
″max_errors_connections″:″show global status like′connection_errors_max_ccnnections′″,
″threads_connected″:″show global status like′threads_connected′″,
″slow_queries″:″show global status like′sl。w_queries′″
...
}
后置任务接收前置任务传递的配置内容,对配置内容进行分析处理,得到结果并输出,输出方式有数据库存储和文本存储等方式。

Claims (10)

1.一种基于celery调度框架的数据采集方法,包括下列步骤:
1)启动系统,Celery框架读取所在项目下各级目录包含的celerytask.py文件,将celerytask.py文件中包含的所有任务在Celery中进行注册;
2)系统将任务添加到消息队列中,等待worker执行,任务包括前置任务和后置任务,前置任务分为周期性任务和即时性任务,周期性任务按照时间周期定时发送到消息队列中;后置任务是前置任务访问节点获取具体采集配置后产生的任务;
3)worker对消息队列里的前置任务进行处理,通过访问zookeeper节点,根据节点信息获取具体任务,再将具体任务添加到消息队列中;
4)前置任务处理成功,发送对应的后置任务,形成不需要访问zookeeper节点的后置任务,worker对消息队列里的后置任务进行处理,获取结果并输出。
2.根据权利要求1所述的基于celery调度框架的数据采集方法,其特征在于:步骤3)中,用户通过对zookeeper节点的设置操作来标识具体任务的增加与删除操作,celery框架通过周期性任务或监控节点触发的即时性任务,不断对用户操作的zookeeper节点进行访问,通过判断节点和子节点是否存在,节点内容是否不为空等方式,确定具体的采集任务并执行。
3.根据权利要求2所述的基于celery调度框架的数据采集方法,其特征在于:对于周期性任务,zookeeper节点分为四层,每层的结构都由节点名称、节点内容和子节点组成,上一层的子节点是下一层,第四层不存在子节点;
第一层:节点名称以项目名称命名;节点内容为空;子节点为采集的数据类型;
第二层:节点名称以采集的数据类型命名;节点内容为列表形式,列表中元素为JSON类型的配置,内容包含后续采集数据所需要的基本配置信息;子节点根据配置文件内容进行划分,若配置内容为空,子节点也不存在,用来减少程序不必要的节点访问;
第三层:节点名称以采集任务的属性特征命名;节点内容为空;子节点为采集指标;
第四层:节点名称为自定义名称;节点内容为采集内容的具体指标;子节点不存在。
4.根据权利要求2所述的基于celery调度框架的数据采集方法,其特征在于:对于即时性任务,该类任务添加后执行,仅执行一次,适用于安装任务或采集即时信息,由zookeeper的监控事件原理实现,在celery项目启动后,将监控任务发送到消息队列中,监控任务对zookeeper的节点进行监控,当zookeeper中被监控的节点发生变化时,会触发回调函数。
5.根据权利要求3所述的基于celery调度框架的数据采集方法,其特征在于:步骤4)中,后置任务由前置任务访问节点得到的配置和详细信息决定,其中的周期性任务为采集任务,包括常用数据库采集、snmp服务指标采集和远程ssh采集。
6.根据权利要求4所述的基于celery调度框架的数据采集方法,其特征在于:步骤4)中,后置任务中的即时性任务为安装任务或采集即时数据任务。
7.根据权利要求1所述的基于celery调度框架的数据采集方法,其特征在于:消息队列采用rabbitmq,通过rabbitmq的交换器将接收的消息路由给服务器中的队列,包括:
task_beat:接收任务为周期性任务;
task_db:接收由周期性任务处理返回的采集数据库类型的任务;
task_snmp:接收由周期性任务处理返回的采集snmp指标类型的任务;
task_ssh:接收有周期性任务处理返回的通过ssh服务类型的任务;
task_watch:接收监控节点的任务及监控节点触发后返回的事件任务。
8.根据权利要求2所述的基于celery调度框架的数据采集方法,其特征在于:步骤3)中,前置任务中的周期性任务通过访问节点的内容获取配置文件,从配置文件中获取host信息,层层递进的访问下一层子节点,直到访问到目标叶节点,获取叶节点配置内容,传递给后续的采集任务,并将采集任务发送到队列中。
9.根据权利要求2所述的基于celery调度框架的数据采集方法,其特征在于:步骤3)中,前置任务中的即时性任务通过对目标节点的监控,当目标节点的子节点发生变化,获取子节点内容,传递给具体任务,并将任务发送到队列中,删除处理完成的子节点。
10.根据权利要求1所述的基于celery调度框架的数据采集方法,其特征在于:前置任务传递的配置内容包含设备信息、节点信息、输出方式,后置任务接收前置任务传递的配置内容,对配置内容进行分析处理,得到结果并输出,输出方式包括数据库存储和文本存储。
CN201910299048.XA 2019-04-15 2019-04-15 一种基于celery调度框架的数据采集方法 Active CN110046041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910299048.XA CN110046041B (zh) 2019-04-15 2019-04-15 一种基于celery调度框架的数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910299048.XA CN110046041B (zh) 2019-04-15 2019-04-15 一种基于celery调度框架的数据采集方法

Publications (2)

Publication Number Publication Date
CN110046041A CN110046041A (zh) 2019-07-23
CN110046041B true CN110046041B (zh) 2021-04-09

Family

ID=67277051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910299048.XA Active CN110046041B (zh) 2019-04-15 2019-04-15 一种基于celery调度框架的数据采集方法

Country Status (1)

Country Link
CN (1) CN110046041B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783969B (zh) * 2019-11-07 2024-07-16 北京沃东天骏信息技术有限公司 请求处理方法及装置、计算机系统和可读存储介质
CN111324617A (zh) * 2020-02-09 2020-06-23 苏州浪潮智能科技有限公司 一种数据库在线热备份的方法和设备
CN111580939B (zh) * 2020-04-01 2023-09-01 微梦创科网络科技(中国)有限公司 一种分级异步处理事务的方法及装置
CN111597056B (zh) * 2020-05-18 2023-06-30 北京思特奇信息技术股份有限公司 一种分布式调度方法、系统、存储介质和设备
CN111913820B (zh) * 2020-08-11 2023-04-07 傲普(上海)新能源有限公司 一种处理http超时任务的方法
CN112202858B (zh) * 2020-09-22 2022-06-17 苏宁消费金融有限公司 基于celery分布式调度框架的jenkins集群管理方法和系统
CN114510326A (zh) * 2020-11-17 2022-05-17 湖南微步信息科技有限责任公司 任务调度的方法、装置、电子设备和存储介质
US11961198B2 (en) 2021-07-20 2024-04-16 Dhana Inc. System and method for improved generation of avatars for virtual try-on of garments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034554A (zh) * 2012-12-30 2013-04-10 焦点科技股份有限公司 一种纠错重启以及自动判断启动的etl调度系统及方法
CN103502943A (zh) * 2011-12-31 2014-01-08 华为技术有限公司 一种基于消息队列的分布式任务处理的方法、装置及系统
CN104199912A (zh) * 2014-08-28 2014-12-10 无锡天脉聚源传媒科技有限公司 一种任务处理的方法及装置
CN107329814A (zh) * 2017-06-16 2017-11-07 电子科技大学 一种基于rdma的分布式内存数据库查询引擎系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902646B (zh) * 2013-12-27 2017-04-19 北京天融信软件有限公司 一种分布式任务管理系统与方法
US20170161851A1 (en) * 2015-12-08 2017-06-08 Toast, Inc. Restaurant Notification System
US20180212838A1 (en) * 2017-01-17 2018-07-26 Lynk Lab, Inc. Intelligent Optical Network
CN108897610B (zh) * 2018-06-15 2024-04-12 北京兴盛公科技有限公司 任务调度方法、装置、计算机设备和存储介质
CN109298951A (zh) * 2018-08-21 2019-02-01 平安科技(深圳)有限公司 Celery任务的执行方法及终端设备
CN109343972B (zh) * 2018-08-21 2023-04-14 平安科技(深圳)有限公司 任务处理方法及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103502943A (zh) * 2011-12-31 2014-01-08 华为技术有限公司 一种基于消息队列的分布式任务处理的方法、装置及系统
CN103034554A (zh) * 2012-12-30 2013-04-10 焦点科技股份有限公司 一种纠错重启以及自动判断启动的etl调度系统及方法
CN104199912A (zh) * 2014-08-28 2014-12-10 无锡天脉聚源传媒科技有限公司 一种任务处理的方法及装置
CN107329814A (zh) * 2017-06-16 2017-11-07 电子科技大学 一种基于rdma的分布式内存数据库查询引擎系统

Also Published As

Publication number Publication date
CN110046041A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN110046041B (zh) 一种基于celery调度框架的数据采集方法
CN110781007B (zh) 任务处理方法、装置、服务器、客户端、系统和存储介质
CN106487596B (zh) 分布式服务跟踪实现方法
CN109857613B (zh) 一种基于采集集群的自动化运维系统
US11321139B2 (en) Streaming traffic pattern for public cloud auto scaling
KR101891506B1 (ko) 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들
US9323645B2 (en) Service modeling and virtualization
WO2023246347A1 (zh) 数字孪生处理方法及数字孪生系统
CN108874524A (zh) 大数据分布式任务调度系统
US20160197803A1 (en) Virtual service automation
KR20070084617A (ko) 네트워크 관리 장치
US20060294221A1 (en) System for programmatically controlling measurements in monitoring sources
CN112162821B (zh) 容器集群资源监视方法、装置及系统
CN110874272A (zh) 资源配置方法及装置、计算机可读存储介质、电子设备
WO2019200984A1 (zh) 分布式应用的生命周期管理方法、管理器、设备和介质
CN111124830B (zh) 一种微服务的监控方法及装置
WO2023185310A1 (zh) 数据同步方法和系统、计算机可读存储介质
US7509414B2 (en) System and method for collection, aggregation, and composition of metrics
US7707080B2 (en) Resource usage metering of network services
CN109324892B (zh) 分布式管理方法、分布式管理系统及装置
US11461290B2 (en) System and method for run-time adaptable policy engine for heterogeneous managed entities
CN111817865A (zh) 一种监控网管设备的方法及监控系统
CN113672452A (zh) 一种数据采集任务的运行监控方法、系统
CN114390093B (zh) 一种虚拟网关模拟系统
CN110798660A (zh) 基于云联邦音视频融合平台的一体化运维系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant