CN110597634B - 一种数据处理方法、装置及计算机可读存储介质 - Google Patents
一种数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110597634B CN110597634B CN201910865881.6A CN201910865881A CN110597634B CN 110597634 B CN110597634 B CN 110597634B CN 201910865881 A CN201910865881 A CN 201910865881A CN 110597634 B CN110597634 B CN 110597634B
- Authority
- CN
- China
- Prior art keywords
- resource
- scheduling
- manager
- computing
- application manager
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置及计算机可读存储介质,本发明实施例通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,极大的提升了数据处理处理效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
随着网络的发展和计算机的广泛应用,数据处理技术显得越来越重要,但是对于海量的用户数据,其管理难度和复杂度成倍增加,而开源集群计算框架(Spark)作为一个快速实用的开源集群计算框架,在海量的用户数据处理领域有着广泛的应用。
现有技术中,Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算,为了实现这样的要求,同时尽可能的获取较大的灵活性,Spark可以支持各种集群管理器(Cluster Manager)上运行,比如通用资源管理系统(Yet Another ResourceNegotiator,YARN)和开源分布式资源管理框架(Mesos)等等,可以构建大型的、低延迟的数据分析应用程序。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中,虽然Spark可以支持多种集群管理器,但是Spark与供应商自研发的资源调度系统无法兼容使用,导致自研发的资源调度系统的数据处理效率较差。
发明内容
本发明实施例提供一种数据处理方法、装置及计算机可读存储介质,可以提升数据处理效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种数据处理方法,包括:
接收作业数据,并将所述作业数据提交至资源调度系统中的调度全局资源管理器;
基于所述资源调度系统启动开源集群计算框架中的计算应用程序管理器;
将所述资源调度系统中的调度应用程序管理器与所述计算应用程序管理器进行协议关联;
控制所述计算应用程序管理器通过协议关联后的调度应用程序管理器与所述调度全局资源管理器进行资源调度通信;
根据所述资源调度通信的调度结果启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
相应的,本发明实施例还提供一种数据处理装置,包括:
接收单元,用于接收作业数据,并将所述作业数据提交至资源调度系统中的调度全局资源管理器;
启动单元,用于基于所述资源调度系统启动开源集群计算框架中的计算应用程序管理器;
关联单元,用于将所述资源调度系统中的调度应用程序管理器与所述计算应用程序管理器进行协议关联;
通信单元,用于控制所述计算应用程序管理器通过协议关联后的调度应用程序管理器与所述调度全局资源管理器进行资源调度通信;
处理单元,用于根据所述资源调度通信的调度结果启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
在一些实施例中,所述通信单元,包括:
发送子单元,用于将所述计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器;
转换子单元,用于控制所述协议关联后的调度应用程序管理器对所述资源请求指令进行协议转换,生成目标资源请求指令;
第一转发子单元,用于通过所述协议关联后的调度应用程序管理器将所述目标资源请求指令转发至调度全局资源管理器;
第二转发子单元,用于将所述调度全局资源管理器根据所述目标资源请求指令反馈的资源分配指令通过所述协议关联后的调度应用程序管理器转发至所述计算应用程序管理器,以确定相应的资源调度通信的调度结果。
在一些实施例中,所述第二转发子单元,具体用于:
将所述调度全局资源管理器根据所述目标资源请求指令反馈的资源分配指令发送至所述协议关联后的调度应用程序管理器;
控制所述协议关联后的调度应用程序管理器对所述资源分配指令进行协议转换,生成目标资源分配指令;
通过所述协议关联后的调度应用程序管理器将所述目标资源分配指令转发至所述计算应用程序管理器,以确定相应的资源调度通信的调度结果。
在一些实施例中,所述接收单元,具体用于:
通过资源调度系统中的前端组件接收作业数据;
触发所述资源调度系统中的服务组件,并通过所述服务组件将所述作业数据提交至所述资源调度系统中的调度全局资源管理器。
在一些实施例中,所述启动单元,包括:
调用子单元,用于基于所述服务组件调用开源集群计算框架中的计算客户端,使得所述计算客户端提交相应文件至分布式系统;
触发子单元,用于触发启动所述开源集群计算框架中的计算应用程序管理器。
在一些实施例中,所述触发子单元,具体用于:
通过所述调度全局资源管理器选择第一目标节点资源任务管理器;
基于所述第一目标节点资源任务管理器启动所述资源调度系统中的调度应用程序管理器;
在所述调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
在一些实施例中,所述处理单元,包括:
生成子单元,用于基于所述计算应用程序管理器根据所述资源调度通信的调度结果生成资源执行指令;
发送子单元,用于将所述资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成目标资源执行指令;
选择子单元,用于响应所述目标资源执行指令,并选择相应的第二目标节点资源任务管理器;
处理子单元,用于在所述第二目标节点资源任务管理器中启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
在一些实施例中,所述处理子单元,具体用于:
在所述第二目标节点资源任务管理器中启动所述资源调度系统中的资源池;
基于所述资源池启动所述开源集群计算框架中的计算执行器,并通过所述资源池监控所述计算执行器的资源使用状态;
当检测到所述计算执行器启动完成时,控制所述计算执行器向所述计算应用程序管理器注册并申请计算任务;
通过所述计算应用程序管理器对所述计算执行器的计算任务调度实现对作业数据的迭代处理。
相应的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述数据处理方法中的步骤。
本发明实施例通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,相对于目前Spark无法与自研发的资源调度系统兼容使用的方案,本发明实施例可以通过协议关联解决兼容问题进行配合使用,极大的提升了数据处理处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的开源集群计算框架的结构示意图;
图2a是本发明实施例提供的数据处理方法的流程示意图;
图2b为本发明实施例所提供的数据处理方法的框架示意图;
图3是本发明实施例提供的数据处理方法的另一流程示意图;
图4a为本发明实施例所提供的数据处理方法的另一框架示意图;
图4b是本发明实施例提供的分布式系统应用于区块链的一个可选的结构示意图;
图4c是本发明实施例提供的区块结构一个可选的示意图;
图5a是本发明实施例提供的数据处理装置的结构示意图;
图5b是本发明实施例提供的数据处理装置的另一结构示意图;
图5c是本发明实施例提供的数据处理装置的另一结构示意图;
图5d是本发明实施例提供的数据处理装置的另一结构示意图;
图6是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据处理方法、装置及计算机可读存储介质。
请参阅图1,图1为本发明实施例所提供的开源集群计算框架的结构示意图,包括:应用层A、核心数据计算层B、资源调度层C和数据资源层D。
该应用层A可以包括结构化数据的程序包(Spark SQL)、流式计算的组件(SparkStreaming)、机器学习的程序库(MLlib(machine learning))和图操作和计算的工具集合(Graph X),该结构化数据的程序包是Spark用来操作结构化数据的程序包,通过该SparkSQL,可以使用SQL方言来查询数据,该Spark SQL支持多种数据源,比如数据仓库工具(Hive)表等。该流式计算的组件是Spark提供的对实时数据进行流式计算的组件,提供了用来操作数据流的应用程序编程接口(Application Programming Interface,API)。该机器学习的程序库提供常见的机器学习功能的程序库,包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。该图操作和计算的工具集合为控制图、并行图操作和计算的一组算法和工具的集合。
该核心数据计算层B可以包括开源集群计算框架的代码功能层(Spark Core),实现了Spark的基本功能,包含任务调度、内存管理、错误恢复与存储系统交互等模块,该Spark Core中还包含了对弹性分布式数据集(Resilient Distributed Datasets,RDD)的API定义。
该资源调度层C可以包括本地运行模式、开源的通用资源管理系统(YARN)以及开源分布式资源管理框架(Mesos)等等,用于进行资源管理。
数据资源层D可以包括分布式文件系统(Hadoop Distributed File System,HDFS)或者分布式的、面向列的开源数据库(HBase)等等。
通过上述的Spark可以实现分布式的对内存进行迭代式计算,提供基于内存高效处理数据流的运算速度,且该Spark支持多种开发语言的API,可以快速构建不同的应用,但是,目前的Spark不能与服务商提供的自研发资源调度系统进行兼容使用,而本申请实施例可以通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,通过协议关联将Spark与自研发资源调度系统进行配合使用,提升数据处理效率。
需要说明的是,图1所示的开源集群计算框架的结构示意图仅仅是一个示例,本发明实施例描述的开源集群计算框架以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着开源集群计算框架的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的服务器中或者集成在具有存储单元并安装有微处理器的区块链系统中的一个节点中。
一种数据处理方法,包括:接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理。
请参阅图2a,图2a是本发明实施例提供的数据处理方法的流程示意图。该数据处理方法包括:
在步骤101中,接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器。
需要说明的是,在目前的实际应用中,仅支持将Spark运行在开源的资源调度平台上,没有一种合适的将Spark运行在服务商自研发的资源调度系统上的方案,如图2b所示,图2b为本发明实施例所提供的数据处理方法的框架示意图,包括开源集群计算框架的作业驱动器(Driver)11、集群管理器(ClusterManager)12、开源集群计算框架的工作节点(Worker Node)13以及开源集群计算框架的执行器(Executor)14。
该作业驱动器11用于把用户程序转化为作业数据(JOB),跟踪执行器14的运行状态,为执行器节点调度任务(Task)以及通过用户界面(User Interface,UI)展示应用运行状况。
该集群管理器12用于控制整个集群,监控工作节点。可以包括通用资源管理系统、开源分布式资源管理框架等开源资源调度平台。
该开源集群计算框架的工作节点13中包括执行器14,该执行器14是任务执行组件,任务为最小的执行单位,通过该工作节点13可以对该执行器14的使用状态进行监视。由此可见,目前的开源集群计算框架只能应用于开源的资源调度系统中,但是在实际的使用过程中,服务器商为了实现特定功能的实现,会自研发特定的资源调度系统(下简称资源调度系统),而该资源调度系统拥有独特的API和远程过程调用协议(Remote ProcedureCall,RPC),因此该资源调度系统与开源的资源调度系统具有不同的特点,无法与Spark兼容使用,而本发明实施例可以解决资源调度系统与开源集群计算框架无法兼容使用的问题,具体详细参照以下描述:
其中,本申请可以通过资源调度系统的前端组件接收用户输入的开源集群计算框架参数,根据该开源集群计算框架参数生成作业数据(JOB),将该作业数据通过资源调度平台的服务组件提交至资源调度系统的调度全局资源管理器(ResourceManager)中,该调度全局资源管理器负责所有应用程序的资源分配。
在一些实施方式中,该接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器,包括:
(1)通过资源调度系统中的前端组件接收作业数据;
(2)触发该资源调度系统中的服务组件,并通过该服务组件将该作业数据提交至该资源调度系统中的调度全局资源管理器。
其中,通过资源调度系统中前端组件,该前端组件如WebUI组件接收用户填写的Spark相关参数,并根据该Spark相关参数生成作业数据。
进一步的,触发调用该资源调度系统中的服务组件,通过该服务组件向资源调度系统中的全局资源管理器提交作业数据,使得该全局管理器可以根据该作业数据进入选择相应的从节点,即节点资源任务管理器(NodeManager,NM)的工作状态,后续该全局管理器可以根据作业数据的实际运算量进行合理的资源分配。
在步骤102中,基于资源调度系统启动开源集群计算框架中的计算应用程序管理器。
其中,在将作业数据提交至资源调度系统中的调度全局资源管理器之后,需要相应的将开源集群计算框架开启,而为了保证资源调度系统与开源集群计算框架在后续的兼容使用,可以将该开源集群计算框架中的计算应用程序管理器(SparkApplicationMaster)从原来的集群架构中解耦,该计算应用程序管理器为Spark的核心组件,然后将解耦后的计算应用程序管理器耦合在开源集群计算框架中。
在一实施方式中,可以将该解耦后的计算应用程序管理器与该资源调度系统中的调度应用程序管理器进行耦合,因此,后续可以基于资源调度系统来直接启动开源集群计算框架中的计算应用程序管理器。
在一些实施方式中,该基于资源调度系统启动开源集群计算框架中的计算应用程序管理器的步骤,可以包括:
(1)基于该服务组件调用开源集群计算框架中的计算客户端,使得该计算客户端提交相应文件至分布式系统;
(2)触发启动该开源集群计算框架中的计算应用程序管理器。
其中,可以基于资源调度系统中的服务组件调用开源集群计算框架中的计算客户端(Spark Client),使得该计算客户端提交相应文件至分布式系统,建立与存储有相应数据量的分布式系统的联系,该分布式系统可以为存储的分布式文件系统或者区块链技术建立的区块链系统中的一个节点等等。
进一步的,还可以通过该服务组件触发启动该开源集群计算框架中的计算应用程序管理器,使得资源调度系统和开源集群计算框架处于同时启动的状态。
在一些实施方式中,该触发启动该开源集群计算框架中的计算应用程序管理器的步骤,可以包括:
(1.1)通过该调度全局资源管理器选择第一目标节点资源任务管理器;
(1.2)基于该第一目标节点资源任务管理器启动该资源调度系统中的调度应用程序管理器;
(1.3)在该调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
其中,在该调度全局资源管理器接收到作业数据后,会在多个从节点集群中选择第一目标节点资源任务管理器,在该第一目标节点资源任务管理器中先启动该资源调度系统中相应的调度应用程序管理器。
在一实施方式中,为了方便资源调度系统与开源集群计算框架后续的协议交互,可以将开源集群计算框架中解耦的计算应用程序管理器与该资源调度系统中相应的调度应用程序管理器进行耦合,耦合的方式可以将该计算应用程序管理器与调度应用程序管理器直接耦合,或者将两者同时耦合在同一目标节点资源任务管理器中。
基于此,在该调度应用程序管理器开启时,会相应的在调度应用程序管理器中同时开启开源集群计算框架中的计算应用程序管理器,使得资源调度系统和开源集群计算框架处于同时启动的状态。
在步骤103中,将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联。
其中,虽然将该资源调度系统中的调度应用程序管理器与计算应用程序管理器进行耦合,但是由于该资源调度系统为服务商自研发的资源调度系统,其具有独特的API和远程过程调用协议,所以该资源调度系统中的调度应用程序管理器与计算应用程序管理器无法像目前的通用资源管理系统与开源集群计算框架中的计算应用程序管理器一样可以直接进行协议通信。
进一步的,需要根据调度应用程序管理器的API和远程过程调用协议的状态设置一套协议转换关联方法,通过该协议转换关联方法将该调度应用程序管理器与计算应用程序管理器进行协议关联,通过该调度应用程序可以对该计算应用程序管理器或者调度全局资源管理器无法直接识别的数据进行协议转换,使得协议转换后的数据可以被计算应用程序管理器或者调度全局资源管理器直接识别。
在步骤104中,控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信。
其中,该开源集群计算框架中的计算应用程序管理器为了实现对作业数据的迭代数据,需要申请多个相应的资源,用以运算计算执行器(Spark Executor),但是由于该开源集群计算框架仅仅负责计算,不能实现资源的调度,因此,需要控制计算应用程序管理器通过协议关联后的调度应用程度管理器进行中轴转换,通过该协议关联后的调度应用程序管理器向调度全局资源管理器申请资源,相应的,该协议关联后的调度应用程序管理器还负责将调度全局资源管理器对于申请资源的请求的反馈结果进行协议转换,转发到计算应用应用程序管理器中,以此,通过协议关联后的调度应用程序管理器实现计算应用程序管理器与调度全局资源管理器进行间接的资源调度通信,解决了两者之间不兼容的问题。
在一些实施方式中,该控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信的步骤,可以包括:
(1)将该计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器;
(2)控制该协议关联后的调度应用程序管理器对该资源请求指令进行协议转换,生成目标资源请求指令;
(3)通过该协议关联后的调度应用程序管理器将该目标资源请求指令转发至调度全局资源管理器;
(4)将该调度全局资源管理器根据该目标资源请求指令反馈的资源分配指令通过该协议关联后的调度应用程序管理器转发至该计算应用程序管理器,以确定相应的资源调度通信的调度结果。
其中,该计算应用程序管理器会根据作业数据生成一个资源请求指令,该资源请求指令用于申请相应的资源来运行计算执行器实现对作业数据的迭代处理,由于该调度全局资源管理器负责对所有应用程序的资源分配,所以该计算应用程序管理器需要向该调度全局资源管理器申请资源,但是该计算应用程序管理器无法直接与该调度全局资源管理器进行通信,因此,将计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器。
进一步的,控制协议关联后的调度应用程序管理器对计算应用程序管生成的资源请求指令进行协议转换,生成该调度全局资源管理器可以识别的目标资源请求指令,并通过该协议关联后的调度应用程序管理器将该目标资源请求指令转发至调度全局资源管理器。
相应的,该调度全局资源管理器会根据当前资源使用状态来处理该目标资源请求,在当前资源使用状态空闲时,响应该目标资源请求指令生成相应的资源分配指令,并通过协议关联后的应用程序管理器进行协议转换后转发至计算应用程序管理器,该计算应用程序管理器根据接收到的指令确定资源调度通信的调度结果。
在步骤105中,根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理。
其中,当调度全局资源管理器检测到当前资源使用状态空闲时,该资源调度通信的调度结果为成功,并返回相应的第二目标节点资源任务管理器的地址和资源调用量,该计算应用程序管理器可以根据调度结果启动相应的计算执行器。当调度全局资源管理器检测到当前资源使用状态非空闲时,该资源调用通讯的调度结果为失败,该计算应用程序管理器可以在预设时间后继续进行资源申请。
进一步的,由于该开源集群计算框架仅仅负责计算,因此,该计算应用程序管理器仍然需要通过协议关联后的调度应用程序进行协议转换,在返回的第二目标节点资源任务管理器中开启一定资源调用量的资源池,将该计算应用程序管理器的计算执行器运行在该资源池中,并通过计算执行器实现对作业数据的迭代处理,完成对作业数据的高效处理。
在一些实施方式中,该根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理的步骤,可以包括:
(1)基于该计算应用程序管理器根据该资源调度通信的调度结果生成资源执行指令;
(2)将该资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成目标资源执行指令;
(3)响应该目标资源执行指令,并选择相应的第二目标节点资源任务管理器;
(4)在该第二目标节点资源任务管理器中启动该计算应用程序管理器相应的计算执行器,并通过该计算执行器实现对作业数据的迭代处理。
其中,当该资源调度通信的调度结果为成功时,该计算应用程序管理器根据该调度结果生成相应的资源执行(Executor)指令,并将该资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成资源调度系统可以直接识别的目标资源执行指令。
进一步的,该资源调度系统可以直接响应该目标资源指令,并选择相应的多个第二目标节点资源任务管理器(即从节点),在该第二目标节点资源任务管理器中申请一定资源量的资源池,并将该计算应用程序管理器相应的计算执行器运行在该资源池中,该资源池用于监控该计算执行器的运行状态,当检测到计算执行器启动完毕时,控制该计算执行器向计算应用程序管理器注册并申请计算任务(Spark task),该计算任务通过计算应用程序管理器对计算执行器的调度中实现,完成对对作业数据的迭代处理。
由上述可知,本发明实施例通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,相对于目前Spark无法与自研发的资源调度系统兼容使用的方案,本发明实施例可以通过协议关联解决兼容问题进行配合使用,极大的提升了数据处理处理效率。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将该数据处理方法以执行主体为服务器为例进行说明,可选的,该执行主体还可以作为区块链系统中的一个节点。
请参阅图3,图3为本发明实施例提供的数据处理方法的另一流程示意图。
该方法流程可以包括:
在步骤201中,服务器通过资源调度系统中的前端组件接收作业数据。
需要说明的是,本申请实施例中的资源调度系统可以为即时通信应用内部自研发的资源调度系统(Yet Another Resource Dispatcher,YARD),该开源集群计算框架为Spark。
其中,为了更好的说明本发明实施例,请结合图4a一并参考,图4a为本发明实施例所提供的数据处理方法的另一框架示意图,服务器通过资源调度系统中的前端组件(YARDWebUI)31接收用户填写的Spark相关参数,根据Spark相关参数生成作业数据,并执行步骤1,将前端组件31中接收的作业数据提交至服务组件中。
在步骤202中,服务器触发资源调度系统中的服务组件,并通过服务组件将作业数据提交至资源调度系统中的调度全局资源管理器。
其中,服务器触发资源调度系统中的服务组件,该服务组件包括阀门服务组件(YARD Gate)32和集群接入服务组件(YARD Apisvr)33,该阀门服务组件32是资源调度系统对外部提供的超文本传输协议(HTTP)服务组件,该集群接入服务组件33是每个集群的接入服务组件,它会向集群的调度全局资源管理器(YARD ResourceManager)35提交作业数据,因此,服务器通过阀门服务组件32向集群接入服务组件33提交相关的作业数据,通过集群接入服务组件33向调度全局资源管理器35提交作业数据。
在步骤203中,服务器基于服务组件调用开源集群计算框架中的计算客户端,使得计算客户端提交相应文件至分布式系统。
其中,服务器基于集群接入服务组件33调用开源集群计算框架中的计算客户端(Spark Client)34提交相应文件至分布式系统,建立与存储有相应数据量的分布式系统的联系,该分布式系统可以为存储在服务器中的分布式文件系统或者区块链技术建立的区块链系统中的一个节点等等。
可选的,以分布式系统为区块链系统为例,请参照图4b,图4b是本发明实施例提供的分布式系统100应用于区块链的一个可选的结构示意图,其由多个节点(本发明实施例提及的服务器)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。节点包括硬件层、中间层、操作系统层和应用层。
参照图4b示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参照图4c,图4c是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本发明实施例中,需要进行迭代处理的作业数据可以存储至其所在的分布式系统中,以作记录。
在步骤204中,服务器通过调度全局资源管理器选择第一目标节点资源任务管理器,基于第一目标节点资源任务管理器启动资源调度系统中的调度应用程序管理器,在调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
其中,该服务器通过调度全局资源管理器35选择第一目标节点资源任务管理器(YARD NodeManager)36用于启动资源调度系统中的调度应用程序管理器(YARDApplicationMaster)37,可选的,可以将开源集群计算框架的计算应用程序管理器(SparkApplicationMaster)38从原来的集群框架中解耦,与资源调度系统的调度应用程序管理器37进行结合,使得可以通过调用应用程序管理器37直接启动开源集群计算框架中的计算应用程序管理器38,使得资源调度系统和开源集群计算框架处于同时启动的状态。
在步骤205中,服务器将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联,将计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器。
其中,由于该即时通信应用内部自研发的资源调度系统具有独特的API和远程过程调用协议,因此,需要根据调度应用程序管理器的API和远程过程调用协议的状态设置一套协议转换关联方法,通过该协议转换关联方法将该调度应用程序管理器37与计算应用程序管理器38进行协议关联。
进一步的,该计算应用程序管理器38会根据作业数据生成一个资源请求指令,该资源请求指令用于申请相应的资源来运行计算执行器实现对作业数据的迭代处理,控制计算应用程序管理器38将生成的资源请求指令发送至协议关联后的调度应用程序管理器37中。
在步骤206中,服务器控制协议关联后的调度应用程序管理器对资源请求指令进行协议转换,生成目标资源请求指令,通过协议关联后的调度应用程序管理器将目标资源请求指令转发至调度全局资源管理器。
其中,该服务器控制协议关联后的调度应用程序管理器37对计算应用程序管38生成的资源请求指令进行协议转换,生成该调度全局资源管理器35可以识别的目标资源请求指令,并通过协议关联后的调度应用程序管理器37将该目标资源请求指令转发至调度全局资源管理器35中。
在步骤207中,服务器将调度全局资源管理器根据目标资源请求指令反馈的资源分配指令发送至协议关联后的调度应用程序管理器,控制协议关联后的调度应用程序管理器对资源分配指令进行协议转换,生成目标资源分配指令,通过协议关联后的调度应用程序管理器将目标资源分配指令转发至计算应用程序管理器,以确定相应的资源调度通信的调度结果。
其中,该调度全局资源管理器35会根据目标资源请求指令获取当前资源使用状态,在当前资源使用状态空闲时,响应该目标资源请求指令生成相应的资源分配指令,并将该资源分配指令发送至协议关联后的调度应用程序管理器37,由于该资源分配指令该计算应用程序管理器38无法进行直接识别,因此,仍然需要协议关联后的调度应用程序管理器37对资源分配执行进行协议转换,生成该计算应用程序管理器38可以直接识别的目标资源分配指令,以此,通过协议关联后的调度应用程序管理器37将目标资源分配指令转发至计算应用程序管理器38,以确定相应的资源调度通信的调度结果为成功。
在步骤208中,服务器基于计算应用程序管理器根据资源调度通信的调度结果生成资源执行指令,将资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成目标资源执行指令,响应目标资源执行指令,并选择相应的第二目标节点资源任务管理器。
其中,当服务器检测到计算应用程序管理器38接收到的资源调度通信的调度结果为成功时,生成资源执行指令(Executor),由于该计算应用程序管理器38仅仅负责计算,因此,仍需将该资源执行指令发送至协议关联后的调度应用程序管理器37中进行协议转换,生成资源调度系统可以直接识别的目标资源执行指令。
进一步的,在生成目标资源执行指令时,直接通过该资源调度系统响应该目标资源执行指令,选择相应的多个第二目标节点资源任务管理器39(即从节点)。
在步骤209中,服务器在第二目标节点资源任务管理器中启动资源调度系统中的资源池,基于资源池启动开源集群计算框架中的计算执行器,并通过资源池监控计算执行器的资源使用状态。
其中,服务器在多个第二目标节点资源任务管理器39中启动资源调度系统中的资源池(Container),该资源池封装了节点中的多维度资源,如内存量、中央处理器量、网络带宽等等,该多维度资源由调度全局资源管理器35分配,可以在该资源池中启动开源集群计算框架中的计算执行器(Spark Executor),并通过该资源池监控该计算执行器的资源使用状态,一旦超过限度,该资源池开源杀掉该计算执行器。
在步骤210中,当服务器检测到计算执行器启动完成时,控制计算执行器向计算应用程序管理器注册并申请计算任务,通过计算应用程序管理器对计算执行器的计算任务调度实现对作业数据的迭代处理。
其中,当服务器检测到计算执行器启动完成时,会控制该计算执行器向计算应用程序管理器38注册并申请计算任务(Spark task),由该计算应用程序管理器对计算执行器的进行计算任务调度,实现对作业数据的迭代处理,以此,实现将Spark运行在YARD并通过协议转换实现两者的配合,极大的提升了自研发的资源调度系统的兼容性和数据处理效率。
由上述可知,本发明实施例通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,相对于目前Spark无法与自研发的资源调度系统兼容使用的方案,本发明实施例可以通过协议关联解决兼容问题进行配合使用,极大的提升了数据处理处理效率。
实施例三、
为便于更好的实施本发明实施例提供的数据处理方法,本发明实施例还提供一种基于上述数据处理方法的装置。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5a,图5a为本发明实施例提供的数据处理装置的结构示意图,其中该数据处理装置可以包括接收单元301、启动单元302、关联单元303、通信单元304及处理单元305等。
接收单元301,用于接收作业数据,并将该作业数据提交至资源调度系统中的调度全局资源管理器。
其中,接收单元301可以通过资源调度系统的前端组件接收用户输入的开源集群计算框架参数,根据该开源集群计算框架参数生成作业数据,将该作业数据通过资源调度平台的服务组件提交至资源调度系统的调度全局资源管理器中,该调度全局资源管理器负责所有应用程序的资源分配。
在一些实施方式中,该接收单元301,具体用于:通过资源调度系统中的前端组件接收作业数据;触发该资源调度系统中的服务组件,并通过该服务组件将该作业数据提交至该资源调度系统中的调度全局资源管理器。
启动单元302,用于基于该资源调度系统启动开源集群计算框架中的计算应用程序管理器。
其中,在将作业数据提交至资源调度系统中的调度全局资源管理器之后,需要相应的将开源集群计算框架开启,而为了保证资源调度系统与开源集群计算框架在后续的兼容使用,可以将该开源集群计算框架中的计算应用程序管理器从原来的集群架构中解耦。
在一实施方式中,启动单元302可以将该解耦后的计算应用程序管理器与该资源调度系统中的调度应用程序管理器进行耦合,因此,后续可以基于资源调度系统来直接启动开源集群计算框架中的计算应用程序管理器。
在一些实施方式中,如图5c所示,启动单元302可以包括调用子单元3021、以及触发子单元3022,如下:
调用子单元3021,用于基于该服务组件调用开源集群计算框架中的计算客户端,使得该计算客户端提交相应文件至分布式系统。
触发子单元3022,用于触发启动该开源集群计算框架中的计算应用程序管理器。
在一些实施方式中,该触发子单元3022,具体用于通过该调度全局资源管理器选择第一目标节点资源任务管理器;基于该第一目标节点资源任务管理器启动该资源调度系统中的调度应用程序管理器;在该调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
关联单元303,用于将该资源调度系统中的调度应用程序管理器与该计算应用程序管理器进行协议关联。
其中,虽然将该资源调度系统中的调度应用程序管理器与计算应用程序管理器进行耦合,但是由于该资源调度系统为服务商自研发的资源调度系统,其具有独特的API和远程过程调用协议,所以该资源调度系统中的调度应用程序管理器与计算应用程序管理器无法像目前的通用资源管理系统与开源集群计算框架中的计算应用程序管理器一样可以直接进行协议通信。
进一步的,关联单元303需要根据调度应用程序管理器的API和远程过程调用协议的状态设置一套协议转换关联方法,通过该协议转换关联方法将该调度应用程序管理器与计算应用程序管理器进行协议关联,通过该调度应用程序可以对该计算应用程序管理器或者调度全局资源管理器无法直接识别的数据进行协议转换,使得协议转换后的数据可以被计算应用程序管理器或者调度全局资源管理器直接识别。
通信单元304,用于控制该计算应用程序管理器通过协议关联后的调度应用程序管理器与该调度全局资源管理器进行资源调度通信。
其中,该开源集群计算框架中的计算应用程序管理器为了实现对作业数据的迭代数据,需要申请多个相应的资源,用以运算计算执行器,但是由于该开源集群计算框架仅仅负责计算,不能实现资源的调度,因此,通信单元304需要控制计算应用程序管理器通过协议关联后的调度应用程度管理器进行中轴转换,通过该协议关联后的调度应用程序管理器向调度全局资源管理器申请资源,相应的,该协议关联后的调度应用程序管理器还负责将调度全局资源管理器对于申请资源的请求的反馈结果进行协议转换,转发到计算应用应用程序管理器中,以此,通信单元304通过协议关联后的调度应用程序管理器实现计算应用程序管理器与调度全局资源管理器进行间接的资源调度通信,解决了两者之间不兼容的问题。
在一些实施方式中,如图5b所示,启通信单元304可以包括发送子单元3041、转换子单元3042、第一转发子单元3043以及第二转发子单元3044,如下:
发送子单元3041,用于将该计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器。
转换子单元3042,用于控制该协议关联后的调度应用程序管理器对该资源请求指令进行协议转换,生成目标资源请求指令。
第一转发子单元3043,用于通过该协议关联后的调度应用程序管理器将该目标资源请求指令转发至调度全局资源管理器。
第二转发子单元3044,用于将该调度全局资源管理器根据该目标资源请求指令反馈的资源分配指令通过该协议关联后的调度应用程序管理器转发至该计算应用程序管理器,以确定相应的资源调度通信的调度结果。
在一些实施方式中,该第二转发子单元3044,具体用于:将该调度全局资源管理器根据该目标资源请求指令反馈的资源分配指令发送至该协议关联后的调度应用程序管理器;控制该协议关联后的调度应用程序管理器对该资源分配指令进行协议转换,生成目标资源分配指令;通过该协议关联后的调度应用程序管理器将该目标资源分配指令转发至该计算应用程序管理器,以确定相应的资源调度通信的调度结果。
处理单元305,用于根据该资源调度通信的调度结果启动该计算应用程序管理器相应的计算执行器,并通过该计算执行器实现对作业数据的迭代处理。
其中,当调度全局资源管理器检测到当前资源使用状态空闲时,该资源调度通信的调度结果为成功,并返回相应的第二目标节点资源任务管理器的地址和资源调用量,该处理单元305可以根据调度结果启动相应的计算执行器。当调度全局资源管理器检测到当前资源使用状态非空闲时,该资源调用通讯的调度结果为失败,该计算应用程序管理器可以在预设时间后继续进行资源申请。
进一步的,由于该开源集群计算框架仅仅负责计算,因此,该处理单元305仍然需要通过协议关联后的调度应用程序进行协议转换,在返回的第二目标节点资源任务管理器中开启一定资源调用量的资源池,将该计算应用程序管理器的计算执行器运行在该资源池中,并通过计算执行器实现对作业数据的迭代处理,完成对作业数据的高效处理。
在一些实施方式中,如图5d所示,处理单元305可以包括生成子单元3051、发送子单元3052、选择子单元3053以及处理子单元3054,如下:
生成子单元3051,用于基于该计算应用程序管理器根据该资源调度通信的调度结果生成资源执行指令。
发送子单元3052,用于将该资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成目标资源执行指令。
选择子单元3053,用于响应该目标资源执行指令,并选择相应的第二目标节点资源任务管理器。
处理子单元3054,用于在该第二目标节点资源任务管理器中启动该计算应用程序管理器相应的计算执行器,并通过该计算执行器实现对作业数据的迭代处理。
在一些实施方式中,该处理子单元3054,具体用于:在该第二目标节点资源任务管理器中启动该资源调度系统中的资源池;基于该资源池启动该开源集群计算框架中的计算执行器,并通过该资源池监控该计算执行器的资源使用状态;当检测到该计算执行器启动完成时,控制该计算执行器向该计算应用程序管理器注册并申请计算任务;通过该计算应用程序管理器对该计算执行器的计算任务调度实现对作业数据的迭代处理。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上述可知,本发明实施例通过接收单元301接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;启动单元302基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;关联单元303将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;通信单元304控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;处理单元305根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,相对于目前Spark无法与自研发的资源调度系统兼容使用的方案,本发明实施例可以通过协议关联解决兼容问题进行配合使用,极大的提升了数据处理处理效率。
实施例四、
本发明实施例还提供一种服务器,如图6所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收作业数据,并将该作业数据提交至资源调度系统中的调度全局资源管理器;基于该资源调度系统启动开源集群计算框架中的计算应用程序管理器;将该资源调度系统中的调度应用程序管理器与该计算应用程序管理器进行协议关联;控制该计算应用程序管理器通过协议关联后的调度应用程序管理器与该调度全局资源管理器进行资源调度通信;根据该资源调度通信的调度结果启动该计算应用程序管理器相应的计算执行器,并通过该计算执行器实现对作业数据的迭代处理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据处理方法的详细描述,此处不再赘述。
由上述可知,本发明实施例的服务器可以通过接收作业数据,并将作业数据提交至资源调度系统中的调度全局资源管理器;基于资源调度系统启动开源集群计算框架中的计算应用程序管理器;将资源调度系统中的调度应用程序管理器与计算应用程序管理器进行协议关联;控制计算应用程序管理器通过协议关联后的调度应用程序管理器与调度全局资源管理器进行资源调度通信;根据资源调度通信的调度结果启动计算应用程序管理器相应的计算执行器,并通过计算执行器实现对作业数据的迭代处理,以此,将自研发的资源调度系统与开源集群计算框架通过协议关联进行配合使用,相对于目前Spark无法与自研发的资源调度系统兼容使用的方案,本发明实施例可以通过协议关联解决兼容问题进行配合使用,极大的提升了数据处理处理效率。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种数据处理方法中的步骤。例如,该指令可以执行如下步骤:
接收作业数据,并将该作业数据提交至资源调度系统中的调度全局资源管理器;基于该资源调度系统启动开源集群计算框架中的计算应用程序管理器;将该资源调度系统中的调度应用程序管理器与该计算应用程序管理器进行协议关联;控制该计算应用程序管理器通过协议关联后的调度应用程序管理器与该调度全局资源管理器进行资源调度通信;根据该资源调度通信的调度结果启动该计算应用程序管理器相应的计算执行器,并通过该计算执行器实现对作业数据的迭代处理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种数据处理方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
接收作业数据,并将所述作业数据提交至资源调度系统中的调度全局资源管理器;
基于所述资源调度系统启动开源集群计算框架中的计算应用程序管理器;
将所述资源调度系统中的调度应用程序管理器与所述计算应用程序管理器进行协议关联;
控制所述计算应用程序管理器通过协议关联后的调度应用程序管理器与所述调度全局资源管理器进行资源调度通信;
根据所述资源调度通信的调度结果启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述控制所述计算应用程序管理器通过协议关联后的调度应用程序管理器与所述调度全局资源管理器进行资源调度通信的步骤,包括:
将所述计算应用程序管理器生成的资源请求指令发送至协议关联后的调度应用程序管理器;
控制所述协议关联后的调度应用程序管理器对所述资源请求指令进行协议转换,生成目标资源请求指令;
通过所述协议关联后的调度应用程序管理器将所述目标资源请求指令转发至调度全局资源管理器;
将所述调度全局资源管理器根据所述目标资源请求指令反馈的资源分配指令通过所述协议关联后的调度应用程序管理器转发至所述计算应用程序管理器,以确定相应的资源调度通信的调度结果。
3.根据权利要求2所述的数据处理方法,其特征在于,所述将所述调度全局资源管理器根据所述目标资源请求指令反馈的资源分配指令通过所述协议关联后的调度应用程序管理器转发至所述计算应用程序管理器的步骤,包括:
将所述调度全局资源管理器根据所述目标资源请求指令反馈的资源分配指令发送至所述协议关联后的调度应用程序管理器;
控制所述协议关联后的调度应用程序管理器对所述资源分配指令进行协议转换,生成目标资源分配指令;
通过所述协议关联后的调度应用程序管理器将所述目标资源分配指令转发至所述计算应用程序管理器。
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,所述接收作业数据,并将所述作业数据提交至资源调度系统中的调度全局资源管理器的步骤,包括:
通过资源调度系统中的前端组件接收作业数据;
触发所述资源调度系统中的服务组件,并通过所述服务组件将所述作业数据提交至所述资源调度系统中的调度全局资源管理器。
5.根据权利要求4所述的数据处理方法,其特征在于,所述基于所述资源调度系统启动开源集群计算框架中的计算应用程序管理器的步骤,包括:
基于所述服务组件调用开源集群计算框架中的计算客户端,使得所述计算客户端提交相应文件至分布式系统;
触发启动所述开源集群计算框架中的计算应用程序管理器。
6.根据权利要求5所述的数据处理方法,其特征在于,所述触发启动所述开源集群计算框架中的计算应用程序管理器的步骤,包括:
通过所述调度全局资源管理器选择第一目标节点资源任务管理器;
基于所述第一目标节点资源任务管理器启动所述资源调度系统中的调度应用程序管理器;
在所述调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
7.根据权利要求1至3任一项所述的数据处理方法,其特征在于,所述根据所述资源调度通信的调度结果启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理的步骤,包括:
基于所述计算应用程序管理器根据所述资源调度通信的调度结果生成资源执行指令;
将所述资源执行指令发送至协议关联后的调度应用程序管理器中进行协议转换,生成目标资源执行指令;
响应所述目标资源执行指令,并选择相应的第二目标节点资源任务管理器;
在所述第二目标节点资源任务管理器中启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
8.根据权利要求7所述的数据处理方法,其特征在于,所述在所述第二目标节点资源任务管理器中启动所述计算应用程序管理器相应的计算执行器的步骤,包括:
在所述第二目标节点资源任务管理器中启动所述资源调度系统中的资源池;
基于所述资源池启动所述开源集群计算框架中的计算执行器,并通过所述资源池监控所述计算执行器的资源使用状态。
9.根据权利要求7所述的数据处理方法,其特征在于,根据通过所述计算执行器实现对作业数据的迭代处理的步骤,包括:
当检测到所述计算执行器启动完成时,控制所述计算执行器向所述计算应用程序管理器注册并申请计算任务;
通过所述计算应用程序管理器对所述计算执行器的计算任务调度实现对作业数据的迭代处理。
10.一种数据处理装置,其特征在于,包括:
接收单元,用于接收作业数据,并将所述作业数据提交至资源调度系统中的调度全局资源管理器;
启动单元,用于基于所述资源调度系统启动开源集群计算框架中的计算应用程序管理器;
关联单元,用于将所述资源调度系统中的调度应用程序管理器与所述计算应用程序管理器进行协议关联;
通信单元,用于控制所述计算应用程序管理器通过协议关联后的调度应用程序管理器与所述调度全局资源管理器进行资源调度通信;
处理单元,用于根据所述资源调度通信的调度结果启动所述计算应用程序管理器相应的计算执行器,并通过所述计算执行器实现对作业数据的迭代处理。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865881.6A CN110597634B (zh) | 2019-09-12 | 2019-09-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865881.6A CN110597634B (zh) | 2019-09-12 | 2019-09-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597634A CN110597634A (zh) | 2019-12-20 |
CN110597634B true CN110597634B (zh) | 2021-05-07 |
Family
ID=68859220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910865881.6A Active CN110597634B (zh) | 2019-09-12 | 2019-09-12 | 一种数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597634B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324453B (zh) * | 2020-01-23 | 2023-01-03 | 天津大学 | 用于区块链平台资源调度的方法 |
CN111414381B (zh) * | 2020-03-04 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112181653A (zh) * | 2020-09-28 | 2021-01-05 | 中国建设银行股份有限公司 | 一种作业调度和执行方法、装置、设备、系统和存储介质 |
CN112486501B (zh) * | 2020-11-17 | 2024-06-25 | 中国人寿保险股份有限公司 | 一种Spark应用部署管理方法及相关设备 |
CN113434591B (zh) * | 2021-08-27 | 2022-02-11 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866918B (zh) * | 2012-07-26 | 2016-02-24 | 中国科学院信息工程研究所 | 面向分布式编程框架的资源管理系统 |
CN104780146B (zh) * | 2014-01-13 | 2018-04-27 | 华为技术有限公司 | 资源管理方法及装置 |
CN104731595A (zh) * | 2015-03-26 | 2015-06-24 | 江苏物联网研究发展中心 | 面向大数据分析的混合计算系统 |
US20170286252A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Workload Behavior Modeling and Prediction for Data Center Adaptation |
CN107315636B (zh) * | 2016-04-26 | 2020-06-05 | 中国移动通信集团河北有限公司 | 一种资源可用度预警方法及装置 |
CN107483364A (zh) * | 2016-06-08 | 2017-12-15 | 国家计算机网络与信息安全管理中心 | 一种Hadoop Yarn网络带宽资源调度、隔离方法和装置 |
CN107665143B (zh) * | 2016-07-27 | 2020-10-16 | 华为技术有限公司 | 资源管理方法、装置及系统 |
CN107203424A (zh) * | 2017-04-17 | 2017-09-26 | 北京奇虎科技有限公司 | 一种在分布式集群中调度深度学习作业的方法和装置 |
CN108255619B (zh) * | 2017-12-28 | 2019-09-17 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN109063842A (zh) * | 2018-07-06 | 2018-12-21 | 无锡雪浪数制科技有限公司 | 一种兼容多种算法框架的机器学习平台 |
-
2019
- 2019-09-12 CN CN201910865881.6A patent/CN110597634B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110597634A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597634B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
TWI360323B (en) | Computer-executable method of remote execution of | |
EP3425849B1 (en) | State control method and device | |
CN104102949B (zh) | 一种分布式工作流装置及其处理工作流的方法 | |
JP2022008781A (ja) | 分散型トレーニング方法、システム、デバイス、記憶媒体、及びプログラム | |
CN103679401B (zh) | 一种流程控制方法、服务器、客户端及系统 | |
EP3737047A1 (en) | High performance data streaming | |
CN102012840A (zh) | 一种数据的批量调度方法和系统 | |
US20100036957A1 (en) | Method and System for Implementing Transfer of a Network Session | |
CN108881485A (zh) | 保障大数据包下的高并发系统响应时间的方法 | |
CN104199912B (zh) | 一种任务处理的方法及装置 | |
CN106874109A (zh) | 一种分布式作业分发处理方法及系统 | |
CN110490416A (zh) | 任务管理方法及终端设备 | |
Nguyen et al. | Koha: Building a kafka-based distributed queue system on the fly in a hadoop cluster | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
US20160371205A1 (en) | Pattern-based service bus architecture using activity-oriented services | |
US9503489B2 (en) | Streaming data on data processes | |
CN111353766A (zh) | 分布式业务系统的业务流程处理系统及方法 | |
CN109284935A (zh) | 一种基于微协助上下级办公群的任务处理系统 | |
Bezrucav et al. | An action interface manager for ROSPlan | |
CN103828326A (zh) | 基于交付点的实时资源供应流程控制系统和方法 | |
Ahmed-Zaki et al. | Peer-to-peer mapreduce platform | |
CN115545627A (zh) | 审批任务处理方法、装置、存储介质及电子设备 | |
Kamal et al. | A design framework of orchestrator for computing systems | |
Lytra et al. | A pattern language for service-based platform integration and adaptation |
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 |