首页> 中国专利> 一种分布式进程调度并行处理装置和方法

一种分布式进程调度并行处理装置和方法

摘要

本发明涉及一种分布式进程调度并行处理装置和方法,装置包括:任务管理服务模块,用于注册和定义数据加工的任务,将任务分解为具有独立功能的子任务;进行任务调度和发起;获取任务处理结果进行结果分析;控制管理服务器服务模块,用于进行任务名称的注册和消息队列的定义,将任务名称与消息队列相关联,然后通过消息队列将任务输出,并通过消息队列获取任务处理结果;任务处理模块,用于进行任务名称的注册,进行相关的数据加工和计算,得到任务处理结果。与现有技术相比,本发明各模块功能独立,不需要引入其他分布式支持软件,可以很方便解决非实时数据量大串行处理慢的问题、实时计算复杂实时性要求高的问题、多任务并发处理的问题。

著录项

  • 公开/公告号CN116126499A

    专利类型发明专利

  • 公开/公告日2023-05-16

    原文格式PDF

  • 申请/专利权人 中银金融科技有限公司;

    申请/专利号CN202310075129.8

  • 发明设计人 肖飞军;

    申请日2023-01-18

  • 分类号G06F9/48(2006.01);G06F9/50(2006.01);G06F9/54(2006.01);

  • 代理机构上海科盛知识产权代理有限公司 31225;

  • 代理人夏健君

  • 地址 200120 上海市浦东新区中国(上海)自由贸易试验区银城中路200号4层408室

  • 入库时间 2023-06-19 19:37:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-02

    实质审查的生效 IPC(主分类):G06F 9/48 专利申请号:2023100751298 申请日:20230118

    实质审查的生效

  • 2023-05-16

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及数据处理技术领域,尤其是涉及一种分布式进程调度并行处理装置和方法。

背景技术

CPU处理复杂任务时,计算量大且耗时长,尤其在处理大批量文本时,还需要运行复杂的加解密算法,需要几个小时或者几十个小时才能处理完成。

通过分布式进程调度并行处理装置能大大提高查询的速度,如果采用现有的很大部分软件产品分布式计算系统(现行流行的Hadoop、Spark、Strorm架构),搭建环境复杂、要求很大的软件产品,使用不方便。

大多数分布式系统,以Hadoop分布式文件系统为基础,采用各类大数据支持的软件,缺点是:

故障排除比较难,由于需要各类软件支持,有很多软件没有开源,掌握难点大。

依赖性工具软件的支持,由于采用分布式文件系统,对文件系统的管理存在,需要各类不同功能的软件做支持。

安全性问题:由于是分布式计算因此存在数据安全及共享问题。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种分布式进程调度并行处理装置和方法,解决非实时数据量大串行处理慢的问题、实时计算复杂实时性要求高的问题。

本发明的目的可以通过以下技术方案来实现:

一种分布式进程调度并行处理装置,包括:

任务管理服务模块,用于注册和定义数据加工的任务,根据数据处理需求,将所述任务分解为具有独立功能的子任务;根据获取的任务和子任务进行任务调度和发起;获取任务处理结果,进行结果分析;

控制管理服务器服务模块,连接所述任务管理服务模块,用于根据任务管理服务模块发起的任务进行任务名称的注册和消息队列的定义,将任务名称与消息队列相关联,然后通过消息队列将任务输出,并通过消息队列获取任务处理结果,将任务处理结果发送至所述任务管理服务模块;

任务处理模块,连接所述控制管理服务器服务模块,用于根据控制管理服务器服务模块输出的任务进行任务名称的注册,处理对应的任务,进行相关的数据加工和计算,并将任务处理结果返回给控制管理服务器服务模块;所述数据加工和计算过程中,将任务对应的数据进行分块处理,得到多个数据块,各个数据块分别由对应的处理器进行处理。

进一步地,所述控制管理服务器服务模块设置有authkey值,所述任务管理服务模块和任务处理模块与所述控制管理服务器服务模块连接时,均根据所述authkey值进行检查。

进一步地,所述分布式进程调度并行处理装置基于Queuemanager进行任务的分发和处理。

进一步地,所述任务管理服务模块采用manger分布式进程,将单节点的任务分解为多节点单独处理的相同任务。

进一步地,所述任务处理模块通过多个处理器并行进行任务处理。

一种如上所述的一种分布式进程调度并行处理装置的处理方法,包括以下步骤:

S1:所述控制管理服务器服务模块启动,加载任务列表,创建密钥,登记任务节点及工作处理节点信息;

S2:所述任务管理服务模块与控制管理服务器服务模块建立连接,并进行密钥验证,所述任务管理服务模块生成和注册任务或子任务;

S3:所述任务管理服务模块向所述控制管理服务器服务模块发起任务或子任务,所述控制管理服务器服务模块将任务管理服务模块发起的任务或子任务保持在相应的消息队列中;

S4:所述任务处理模块向任务管理服务模块与控制管理服务器服务模块建立连接,并进行密钥验证;

S5:所述任务处理模块获取需要处理的任务或子任务,进行相关处理;

S6:所述任务处理模块完成处理后,将任务处理结果发送给所述控制管理服务器服务模块,保持在相应的消息队列中;

S7:所述任务管理服务模块从所述控制管理服务器服务模块相应的消息队列中,读取任务处理结果,更新并记录处理结果及状态。

进一步地,所述密钥为authkey值,所述任务管理服务模块和任务处理模块均根据所述authkey值进行验证。

进一步地,所述任务节点及工作处理节点信息包括任务对应的处理地址和用户信息。

进一步地,所述任务处理模块获取的需要处理的任务或子任务包括任务标识和需要处理的数据。

进一步地,所述方法还包括:通过控制管理服务器服务模块、任务管理服务模块和任务处理模块,对各个任务进行处理,直至完成全部任务。

与现有技术相比,本发明具有以下优点:

(1)本发明基于Queuemanager原理实现,控制管理服务器服务模块、任务管理服务模块和任务处理模块的功能相互独立;任务的分发与结果返回处理只能够由任务管理服务模块完成,任务处理模块只能够完成分配任务的应用功能处理,没有直接信息交换;

由于各模块功能独立,不需要引入其他分布式支持软件,可以很方便解决非实时数据量大串行处理慢的问题、实时计算复杂实时性要求高的问题、多任务并发处理的问题。

(2)采用分布式进程处理技术,实现并行处理,大大提高复杂任务处理的速度。

附图说明

图1为本发明实施例中提供的一种分布式进程调度并行处理装置的示意图;

图2为本发明实施例中提供的一种分布式进程调度并行处理方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

术语解释:

1、Multiprocessing:多进程管理器模块

2、Manger:在python模块Multiprocessing下的子模块,支持把多个进程分布到多台机器上。

3、Queuemanager:python语言中multiprocessing中的分布式进程消息管理器。

4、Queue:Multiprocessing模块下的消息队列,主要用于分布式管理服务器及工作服务器的信息发送及接收。

实施例1

如图1所示,本实施例提供一种分布式进程调度并行处理装置,主要工作包括任务分解、数据分块、流程子任务与数据传输及关联。

任务分解主要包括:根据数据加工处理的需要,把一个完整的数据加工任务分解为具有独立功能的子任务;

数据分块主要包括:把大数据进行分块处理,如:1000w的数据拆分为10个100w的块,提供给10个器处理;

数据传输及关联主要包括:任务请求队列以及任务完成的回复队列定义,注册任务请求与请求队列的关系,为任务安全注册申请时校验设置authkey的值;

任务处理过程中,将串行处理改并行处理:采用manger分布式进程,把单节点的任务,变成多节点单独处理的相同任务,定义各类任务及对应的队列,编写完成子任务的各类处理代码,从而大大提高处理效率。

装置主要包括:

控制管理服务器服务模块(MonitorServer.py)任务管理服务模块(Task.py)、任务处理模块(work.py),其中,控制管理服务器服务模块是核心,包括安全检测、任务和消息的交换。任务管理服务任务发起注册,都需要通过控制管理服务器服务模块连接,任务处理的来源提供实际也是控制管理服务器服务模块。

具体地,

任务管理服务模块,用于注册和定义数据加工的任务,根据数据处理需求,将任务分解为具有独立功能的子任务;根据获取的任务和子任务进行任务调度和发起;获取任务处理结果,进行结果分析;

控制管理服务器服务模块,连接任务管理服务模块,用于根据任务管理服务模块发起的任务进行任务名称的注册和消息队列的定义,将任务名称与消息队列相关联,然后通过消息队列将任务输出,并通过消息队列获取任务处理结果,将任务处理结果发送至任务管理服务模块;

任务处理模块,连接控制管理服务器服务模块,用于根据控制管理服务器服务模块输出的任务进行任务名称的注册,处理对应的任务,进行相关的数据加工和计算,并将任务处理结果返回给控制管理服务器服务模块;数据加工和计算过程中,将任务对应的数据进行分块处理,得到多个数据块,各个数据块分别由对应的处理器进行处理。

分布式进程调度并行处理装置基于Queuemanager进行任务的分发和处理。

任务管理服务模块采用manger分布式进程,将单节点的任务分解为多节点单独处理的相同任务,任务处理模块通过多个处理器并行进行任务处理。

优选的,控制管理服务器服务模块设置有authkey值,任务管理服务模块和任务处理模块与控制管理服务器服务模块连接时,均根据authkey值进行检查。

本实施例中,提供的上述各个模块的一种可选的具体功能设置为:

控制管理服务器服务模块:是核心,包括安全检测、任务和消息的交换,包括各类任务名称注册与队列的定义,任务名称与队列的关联关系,任务消息与返回任务结果的存储管理。为任务安全注册申请时校验设置authkey的值。

任务管理服务模块:执行任务和子任务名称注册申请、任务及子任务的定义、数据的组织、任务和子任务的发起、处理完成的任务和子任务的结果分析,任务及子任务调度等。

任务处理模块:执行任务和子任务名称注册申请、申请任务和子任务的处理、完成任务和子任务的相关的数据加工和计算等功能、任务和子任务完成结果回复等。

如图2所示,本实施例还提供一种如上的一种分布式进程调度并行处理装置的处理方法,包括以下步骤:

S1:控制管理服务器服务模块启动,加载任务列表,创建密钥,登记任务节点及工作处理节点信息;

S2:任务管理服务模块与控制管理服务器服务模块建立连接,并进行密钥验证,任务管理服务模块生成和注册任务或子任务;

S3:任务管理服务模块向控制管理服务器服务模块发起任务或子任务,控制管理服务器服务模块将任务管理服务模块发起的任务或子任务保持在相应的消息队列中;

S4:任务处理模块向任务管理服务模块与控制管理服务器服务模块建立连接,并进行密钥验证;

S5:任务处理模块获取需要处理的任务或子任务,进行相关处理;

S6:任务处理模块完成处理后,将任务处理结果发送给控制管理服务器服务模块,保持在相应的消息队列中;

S7:任务管理服务模块从控制管理服务器服务模块相应的消息队列中,读取任务处理结果,更新并记录处理结果及状态。

可选地,密钥为authkey值,任务管理服务模块和任务处理模块均根据authkey值进行验证。

可选的,控制管理服务器服务模块,启动服务、加载任务列表、创建密钥、登记任务节点及工作处理节点信息(包括地址、及用户信息),在启动时进行一次准备;

任务管理服务模块、任务处理模块控制管理服务器服务模块建立连接,authkey检查一次完成。

任务节点及工作处理节点信息包括任务对应的处理地址和用户信息。

任务处理模块获取的需要处理的任务或子任务包括任务标识和需要处理的数据。

通过控制管理服务器服务模块、任务管理服务模块和任务处理模块,对各个任务进行处理,直至完成全部任务。

本实施例中,提供的上述处理方法的一种可选的具体方案为:

①控制管理服务器服务模块,启动服务、加载任务列表、创建密钥、登记任务节点及工作处理节点信息(包括地址、及用户信息)。

②任务管理服务模块与控制管理服务器服务模块建立连接,authkey检查。生成任务或子任务,申请注册任务。

③向控制管理服务器服务模块提交任务或子任务(包括任务标识、需要处理的关键计算加工数据),实际保持在相应的消息队列中。

④任务处理模块向任务管理服务模块与控制管理服务器服务模块建立连接,authkey检查申请注册需要处理的任务或子任务。

⑤任务处理模块获得需要处理的任务或子任务(包括任务标识、需要处理的关键计算加工数据)进行相关的功能处理。

⑥任务处理模块完成任务后,把任务结果(处理完成的关键数据及处理状态(成功/失败))发送到控制管理服务器服务模块中,实际保持在相应的消息队列中。

⑦任务管理服务模块从控制管理服务器服务模块相应的消息队列中,读取(处理完成的关键计算加工数据及处理状态),更新并记录处理结果及状态。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号