CN108153595A - 一种基于python的大数据分布式任务处理装置 - Google Patents

一种基于python的大数据分布式任务处理装置 Download PDF

Info

Publication number
CN108153595A
CN108153595A CN201810048206.XA CN201810048206A CN108153595A CN 108153595 A CN108153595 A CN 108153595A CN 201810048206 A CN201810048206 A CN 201810048206A CN 108153595 A CN108153595 A CN 108153595A
Authority
CN
China
Prior art keywords
module
task
processing
processing unit
distributed treatment
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
Application number
CN201810048206.XA
Other languages
English (en)
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.)
Chengdu Sugar Free Information Technology Co Ltd
Original Assignee
Chengdu Sugar Free Information 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 Chengdu Sugar Free Information Technology Co Ltd filed Critical Chengdu Sugar Free Information Technology Co Ltd
Priority to CN201810048206.XA priority Critical patent/CN108153595A/zh
Publication of CN108153595A publication Critical patent/CN108153595A/zh
Pending legal-status Critical Current

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于python的大数据分布式任务处理装置,包括用户任务提交模块、任务信息格式化模块、分布式处理队列模块、任务处理引擎和子任务处理单元,所述用户任务提交模块连接任务信息格式化模块,任务信息格式化模块还连接分布式处理队列模块,分布式处理队列模块还连接任务处理引擎,任务处理引擎还连接子任务处理单元。本发明可以提供分布式处理python任务,任务类型包括爬虫及其他处理任务。在现有基础上,按照插件模板编写新的任务处理插件即可分布式处理大量相同类型的任务。并且可以有效的控制不同worker的处理时效,处理并发数。亦可实时监控每一项任务的处理状态、进度和结果。

Description

一种基于python的大数据分布式任务处理装置
技术领域
本发明涉及数据处理技术,具体是一种基于python的大数据分布式任务处理装置。
背景技术
本发明提供一种分布式队列任务处理方案和装置,该方法可以提供分布式处理python任务,任务类型包括爬虫及其他处理任务。在现有基础上,按照插件模板编写新的任务处理插件即可分布式处理大量相同类型的任务。并且可以有效的控制不同worker的处理时效,处理并发数。亦可实时监控每一项任务的处理状态、进度和结果。
发明内容
本发明的目的在于提供一种基于python的大数据分布式任务处理装置,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于python的大数据分布式任务处理装置,包括用户任务提交模块、任务信息格式化模块、分布式处理队列模块、任务处理引擎和子任务处理单元,所述用户任务提交模块连接任务信息格式化模块,任务信息格式化模块还连接分布式处理队列模块,分布式处理队列模块还连接任务处理引擎,任务处理引擎还连接子任务处理单元。
作为本发明的进一步技术方案:所述子任务处理单元包括判断模块、插件加载模块、处理模块和结果上传模块,判断模块连接插件加载模块,插件加载模块还连接处理模块,处理模块还连接结果上传模块。
与现有技术相比,本发明的有益效果是:本发明可以提供分布式处理python任务,任务类型包括爬虫及其他处理任务。在现有基础上,按照插件模板编写新的任务处理插件即可分布式处理大量相同类型的任务。并且可以有效的控制不同worker的处理时效,处理并发数。亦可实时监控每一项任务的处理状态、进度和结果。
附图说明
图1为本发明的整体方框图。
图2为本子任务处理单元的方框图。
图3为本发明的工作流程图。
图中:1-装饰边条、2-触摸屏、3-横向型材边框、4-桌子腿、5-纵向型材边框、6-万向轮、7-塑胶边角。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,一种基于python的大数据分布式任务处理装置,包括用户任务提交模块、任务信息格式化模块、分布式处理队列模块、任务处理引擎和子任务处理单元,所述用户任务提交模块连接任务信息格式化模块,任务信息格式化模块还连接分布式处理队列模块,分布式处理队列模块还连接任务处理引擎,任务处理引擎还连接子任务处理单元。
子任务处理单元包括判断模块、插件加载模块、处理模块和结果上传模块,判断模块连接插件加载模块,插件加载模块还连接处理模块,处理模块还连接结果上传模块。
本发明的工作原理是:本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请可用于众多通用或专用的计算装置环境或配置中。例如 :个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
参考图示,示出了本申请一种基于redis队列的大数据分布式处理实例流程与模块图。
首先任务提交模块响应用户输入的提交信息,按照信息及对应的插件名称生成相应的任务内容。
在上一步中,用户可以在交互式界面选择任务,并按照提示表单提交任务信息及文件等。假设用户选择新任务为:新建一个文本处理任务,则用户需要选择插件为TEXTPROCESSOR,然后根据表单信息选择上传的文件。
在实际中,任务信息格式化模块需要判断用户的提交的信息是否合规,例如是否为任务需要处理的内容、内容是否编码统一、 内容中是否含有恶意拼接的内容,是否为正常使用人员提交。
接着分布式任务队列模块会将用户提交的信息会转化为json的格式以键值对(KEY-VALUE)的形式保存进中央数据队列中。
此时分布式任务队列模块将任务状态标记为未分发。
当任务处理引擎启动之后,会开启一个子任务处理单元,处理单元启动以后会对中央任务队列进行任务轮询,过滤出未分发的任务。
当当前处理单元成功地将任务标记为已分发时,该处理单元选择接受此任务。
当当前处理单元接受此任务之后,再次判断该任务的合法性及任务数据的有效性。判断任务有效,即是否存在有效的处理插件、是否为有效时间内的非重复任务。
当任务有效时,处理单元选择启动一个新的线程根据任务插件名称寻找插件文件,接着加载插件。此时会新建一个Job对象,标记Job的处理插件、新建时间、任务来源等,然后标记Job对象状态为waiting,插入数据库中。此时将任务状态标记为waiting。
接着读取任务的json内容。实例化插件对象然后加载任务数据,此时将Job状态标记为running,任务状态标记为running并更新。接着使用插件对象处理任务数据。
当任务和Job标记为running以后,用户会在交互式界面看到任务的状态、当前正在运行的子任务名称。
当任务完成后,将任务状态和Job状态标记为success,并且根据起始任务信息选择是否将结果返回中央任务队列中再次分发处理。
当任务处理超时或者失败时,将Job状态标记为error,并且使用traceback模块记录详细的出错调用栈关系。
将任务及Job保存进数据库中,便于留存查询。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (2)

1.一种基于python的大数据分布式任务处理装置,包括用户任务提交模块、任务信息格式化模块、分布式处理队列模块、任务处理引擎和子任务处理单元,其特征在于,所述用户任务提交模块连接任务信息格式化模块,任务信息格式化模块还连接分布式处理队列模块,分布式处理队列模块还连接任务处理引擎,任务处理引擎还连接子任务处理单元。
2.根据权利要求1所述的一种基于python的大数据分布式任务处理装置,其特征在于,所述子任务处理单元包括判断模块、插件加载模块、处理模块和结果上传模块,判断模块连接插件加载模块,插件加载模块还连接处理模块,处理模块还连接结果上传模块。
CN201810048206.XA 2018-01-18 2018-01-18 一种基于python的大数据分布式任务处理装置 Pending CN108153595A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810048206.XA CN108153595A (zh) 2018-01-18 2018-01-18 一种基于python的大数据分布式任务处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810048206.XA CN108153595A (zh) 2018-01-18 2018-01-18 一种基于python的大数据分布式任务处理装置

Publications (1)

Publication Number Publication Date
CN108153595A true CN108153595A (zh) 2018-06-12

Family

ID=62461856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810048206.XA Pending CN108153595A (zh) 2018-01-18 2018-01-18 一种基于python的大数据分布式任务处理装置

Country Status (1)

Country Link
CN (1) CN108153595A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780980A (zh) * 2019-10-30 2020-02-11 成都无糖信息技术有限公司 对不同来源磁盘或操作系统镜像进行快速还原处理的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119280A1 (en) * 2007-11-02 2009-05-07 Christopher Waters Hosted searching of private local area network information with support for add-on applications
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
CN104346328A (zh) * 2013-07-23 2015-02-11 同程网络科技股份有限公司 基于网页数据抓取的垂直智能爬虫数据收集方法
CN104991904A (zh) * 2015-06-16 2015-10-21 浪潮软件集团有限公司 一种动态网页的页面数据采集方法
CN105183468A (zh) * 2015-08-31 2015-12-23 国家计算机网络与信息安全管理中心 一种开放式插件处理装置及分布式系统
CN105487977A (zh) * 2015-11-30 2016-04-13 北京锐安科技有限公司 一种面向敏捷的自动化测试管理系统和方法
CN107025296A (zh) * 2017-04-17 2017-08-08 山东辰华科技信息有限公司 基于科技服务信息智能抓取系统数据收集方法
CN107317724A (zh) * 2017-06-06 2017-11-03 中证信用增进股份有限公司 基于云计算技术的数据采集系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119280A1 (en) * 2007-11-02 2009-05-07 Christopher Waters Hosted searching of private local area network information with support for add-on applications
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
CN104346328A (zh) * 2013-07-23 2015-02-11 同程网络科技股份有限公司 基于网页数据抓取的垂直智能爬虫数据收集方法
CN104991904A (zh) * 2015-06-16 2015-10-21 浪潮软件集团有限公司 一种动态网页的页面数据采集方法
CN105183468A (zh) * 2015-08-31 2015-12-23 国家计算机网络与信息安全管理中心 一种开放式插件处理装置及分布式系统
CN105487977A (zh) * 2015-11-30 2016-04-13 北京锐安科技有限公司 一种面向敏捷的自动化测试管理系统和方法
CN107025296A (zh) * 2017-04-17 2017-08-08 山东辰华科技信息有限公司 基于科技服务信息智能抓取系统数据收集方法
CN107317724A (zh) * 2017-06-06 2017-11-03 中证信用增进股份有限公司 基于云计算技术的数据采集系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALAN NEIBAUER: "《中文版Microsoft OutlookTM 98使用大全》", 30 September 1998, 人民邮电出版社 *
张颖,赖勇浩: "《编写高质量代码 改善Python程序的91个建议》", 30 June 2014, 机械工业出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780980A (zh) * 2019-10-30 2020-02-11 成都无糖信息技术有限公司 对不同来源磁盘或操作系统镜像进行快速还原处理的方法

Similar Documents

Publication Publication Date Title
US7774742B2 (en) Facilitation of multi-project management using task hierarchy
US9262220B2 (en) Scheduling workloads and making provision decisions of computer resources in a computing environment
US20190392369A1 (en) Cognitive scheduling for cooperative tasks
RU2433463C2 (ru) Динамическое перепозиционирование потока работ конечными пользователями
US20240214428A1 (en) Platform for management and tracking of collaborative projects
CN108351805A (zh) 计算图的基于流的加速器处理
US20080147453A1 (en) System and method for end users to create a workflow from unstructured work
US20110295634A1 (en) System and Method for Dynamic Optimal Resource Constraint Mapping in Business Process Models
CN113170002B (zh) 用于为联络中心应用提供上下文协助的系统和方法
CN107943577A (zh) 用于调度任务的方法和装置
US20170178056A1 (en) Flexible business task flow
US20100281241A1 (en) Method and system for synchronizing inclusive decision branches
CN106407021A (zh) 一种基于队列的业务请求处理方法
Aydilek et al. Increasing the profitability and competitiveness in a production environment with random and bounded setup times
Savino et al. Agent-based flow-shop modelling in dynamic environment
US8417554B2 (en) Tool for manager assistance
US20120173752A1 (en) Methods for Managing Data Acquisition and Transfer
CN108153595A (zh) 一种基于python的大数据分布式任务处理装置
EP3783547B1 (en) System and methods for reply date response and due date management in manufacturing
CN111026945B (zh) 多平台爬虫调度方法、装置和存储介质
CN111353766A (zh) 分布式业务系统的业务流程处理系统及方法
CN108521524B (zh) 坐席协办任务管理方法、装置、计算机设备及存储介质
US20200184399A1 (en) Workflow management
US8386290B2 (en) Optimizing a shared service delivery system
Dhanaraj et al. Mastering Disruptive Technologies: Applications of Cloud Computing, IoT, Blockchain, Artificial Intelligence & Machine Learning Techniques

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180612

RJ01 Rejection of invention patent application after publication