CN111782404A - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN111782404A CN111782404A CN202010705793.2A CN202010705793A CN111782404A CN 111782404 A CN111782404 A CN 111782404A CN 202010705793 A CN202010705793 A CN 202010705793A CN 111782404 A CN111782404 A CN 111782404A
- Authority
- CN
- China
- Prior art keywords
- computing
- idle
- task
- target
- data
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000003860 storage Methods 0.000 claims description 44
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 208000025174 PANDAS Diseases 0.000 description 3
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 3
- 240000004718 Panda Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
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
- G06F9/5027—Allocation 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/505—Allocation 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 load
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
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
本申请提供了一种数据处理方法及相关设备,可以实现数据帧对应的计算任务的高并发处理,提高计算效率。该方法包括:步骤1、确定分布式集群中当前的N个空闲计算节点;步骤2、通过N个空闲计算节点从目标消息队列中获取N个任务消息;步骤3、通过N个空闲计算节点确定与N个任务消息对应的N个数据帧以及与N个任务消息对应的计算逻辑;步骤4、基于N个空闲计算节点,通过与N个任务消息对应的计算逻辑对N个数据帧中的数据进行计算;当N个空闲计算节点中存在计算完成的第一空闲计算节点,且目标消息队列中存在未计算的第一任务消息时,基于第一空闲计算节点重复执行步骤2至步骤4,直至目标消息队列中的任务消息计算完成为止。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法及相关设备。
背景技术
Hadoop是一个开源的大数据框架,是一个分布式计算的解决方案。Hadoop的两个核心解决了数据存储问题即分布式文件系统(Hadoop Distributed File System,HDFS)和分布式计算问题(MapReduce)。其工作大致流程有:向MapReduce框架提交一个计算任务时,它会首先把计算任务拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。
上述方法应对的是大数据的计算场景,其中Hadoop的mapreduce的中间结果是存储在HDFS中。在计算过程中,均需要向主节点发起任务,然后主节点把任务拆分分发到从节点进行计算,在此期间,其任务不能并发执行,需等待一个任务完毕,才能执行下一个任务。
发明内容
本申请提供了一种数据处理方法及相关设备,可以实现计算任务的高并发计算,提高计算效率。
本申请第一方面提供了一种数据处理方法,包括:
步骤1、确定分布式集群中当前的N个空闲计算节点,N为大于或等于1的正整数;
步骤2、通过所述N个空闲计算节点从目标消息队列中获取N个任务消息,所述N个空闲计算节点与所述N个任务消息相对应,所述目标消息队列中包含所述用户待处理的M个任务消息,且所述N个任务消息包含于所述M个任务消息;
步骤3、通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑;
步骤4、基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧中的数据进行计算;
当所述N个空闲计算节点中存在计算完成的第一空闲计算节点,且所述目标消息队列中存在未计算的第一任务消息时,基于所述第一空闲计算节点重复执行步骤2至步骤4,直至所述目标消息队列中的任务消息计算完成为止。
可选地,所述基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧的数据进行计算包括:
通过所述N个空闲计算节点将与所述N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于所述第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,所述第一计算逻辑为所述拆分后的计算逻辑中的任意一个计算逻辑,所述第一数据帧为所述N个数据帧中与所述第一计算逻辑对应的数据帧,所述第二空闲计算节点为所述N个空闲计算节点中与所述第一数据帧对应的空闲计算节点。
可选地,所述通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑包括:
通过目标空闲计算节点对目标任务消息进行解析,得到所述目标任务消息对应的目标数据帧的存放地址以及所述目标数据帧的计算逻辑,所述目标任务消息为所述N个任务消息中的任意一个任务消息,所述目标空闲计算节点为所述N个空闲计算节点中与所述目标任务消息对应的计算节点;
根据所述目标数据帧的存放地址获取所述目标数据帧。
可选地,所述方法还包括:
接收用户的目标操作指令;
根据所述目标操作指令生成目标消息队列。
可选地,所述方法还包括:
当所述N个空闲计算节点中存在计算完成的第一空闲计算节点时,将所述第一空闲计算节点对应的计算结果进行存储,并标记所述第一空闲计算节点对应的任务消息中的任务计算完成。
本申请第二方面提供了一种数据处理装置,包括:
第一确定单元,用于执行步骤1、确定分布式集群中当前的N个空闲计算节点,N为大于或等于1的正整数;
获取单元,用于执行步骤2、通过所述N个空闲计算节点从目标消息队列中获取N个任务消息,所述N个空闲计算节点与所述N个任务消息相对应,所述目标消息队列中包含所述用户待处理的M个任务消息,且所述N个任务消息包含于所述M个任务消息;
第二确定单元,用于执行步骤3、通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑;
计算单元,用于步骤4、基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧中的数据进行计算;
处理单元,用于当所述N个空闲计算节点中存在计算完成的第一空闲计算节点,且所述目标消息队列中存在未计算的第一任务消息时,基于所述第一空闲计算节点重复执行步骤2至步骤4,直至所述目标消息队列中的任务消息计算完成为止。
可选地,所述计算单元具体用于:
通过所述N个空闲计算节点将与所述N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于所述第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,所述第一计算逻辑为所述拆分后的计算逻辑中的任意一个计算逻辑,所述第一数据帧为所述N个数据帧中与所述第一计算逻辑对应的数据帧,所述第二空闲计算节点为所述N个空闲计算节点中与所述第一数据帧对应的空闲计算节点。
可选地,所述第二确定单元具体用于:
通过目标空闲计算节点对目标任务消息进行解析,得到所述目标任务消息对应的目标数据帧的存放地址以及所述目标数据帧的计算逻辑,所述目标任务消息为所述N个任务消息中的任意一个任务消息,所述目标空闲计算节点为所述N个空闲计算节点中与所述目标任务消息对应的计算节点;
根据所述目标数据帧的存放地址获取所述目标数据帧。
可选地,所述处理单元还用于:
接收用户的目标操作指令;
根据所述目标操作指令生成目标消息队列。
可选地,所述数据处理装置还包括:
存储单元,用于当所述N个空闲计算节点中存在计算完成的第一空闲计算节点时,将所述第一空闲计算节点对应的计算结果进行存储,并标记所述第一空闲计算节点对应的任务消息中的任务计算完成。
本申请第三方面提供了一种计算机装置,其包括至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述所述的数据处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述所述的数据处理方法的步骤。
综上所述,可以看出,本申请提供的实施例中,应对的计算数据是数据帧,其一个单位数据在一个计算节点即可完成,在一个分布式集群下,其计算任务可以实现高并发的计算,且在当计算节点中的任务计算完成时,可以重复的获取任务消息,并进行计算,并不是如现有的主节点把任务拆分分发到从节点进行计算期间,其任务不能并发执行,需等待一个任务完毕,才能执行下一个任务,提高了计算的效率。
附图说明
图1为本申请实施例提供的数据处理方法的计算架构示意图;
图2为本申请实施例提供的数据处理方法的流程示意图;
图3为本申请实施例提供的数据处理装置的虚拟结构示意图;
图4为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
对本申请涉及的一些名词进行说明:
数据帧:是指“帧头+数据信息”两部分组成一组数据,如数据库中的表结构描述及表数据的组成。
分布式:是指计算资源分布在不同的物理节点中。
高并发:是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问某一资源。
NumPy:是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Pandas:是一个强大的分析结构化数据的工具集;它的使用基础是NumPy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
本申请基于分布式任务架构思想和Pandas计算库实现,其计算任务处理的数据对象是拥有小批量数据的数据帧,实现的效果是一个针对数据帧高效并发计算的轻量级框架。请参阅图1,图1为本申请实施例提供的数据处理方法的计算框架图,包括任务101、消息队列102、计算节点103以及结果临时存放中心104,其中,任务101包括任务1至任务N,每个计算任务包含了一个需要处理的数据帧及其对应的计算逻辑(其中,该计算逻辑是该计算任务中的数据的操作集合,比如说,A类数据和B类数据做加法得到一个值,或者对数据中的某些列求方差,产生新的数据,当然也还有其他的操作,具体不做限定);消息队列102为存放任务消息的队列;计算节点103为分布式Pandas计算节点,包括计算节点1至计算节点N,其中,一个计算节点获取一个任务消息,并执行相应的计算,具体的:接收任务消息,解析任务消息中的数据帧存放地址,并从数据帧地址中获取数据帧,并解析任务消息中的计算逻辑,并从数据帧中提取数据执行计算得到计算结果;结果临时存放中心104用于临时存放计算节点对数据帧中的数据进行计算得到的计算结果,在实际使用过程汇总,可以通过任务ID从结果临时存放中心中获取任务计算后的结果。
下面从数据处理装置的角度对本申请提供的数据处理方法进行说明,该数据处理装置可以为终端设备,也可以为服务器,也可以为服务器中的服务单元,具体不做限定。
请参阅图2,图2为本申请实施例提供的数据处理方法的流程示意图,包括:
201、确定分布式集群中当前的N个空闲计算节点。
本实施例中,数据处理装置可以确定分布式集群中当前的N个空闲计算节点,其中,N为大于或等于1的正整数,该分布式集群中包括的计算节点数量大于或等于2,也就是说,此处数据处理装置可以确定分布式集群中当前的空闲计算节点。
202、通过N个空闲计算节点从目标消息队列中获取N个任务消息。
本实施例中,数据处理装置在确定分布式集群中当前的空闲计算节点之后,可以通过N个空闲计算节点从目标消息队列中获取N个任务消息,其中,目标消息队列中包含用户待处理的M个任务消息,且该N个任务消息包含于M个任务消息,N个空闲计算节点与N个任务消息相对应,也就是说,目标消息队列中存储有多个任务消息,各个任务消息均有相对应的标识,另外一个空闲计算节点分发一个任务消息(具体的,可以按照预设规则将N个任务消息分发至N个空闲计算节点,例如该预设规则可以为先到先得,哪个空闲计算节点先发请求先下发任务消息至该计算节点,或者是一次性的将N个任务消息下发至N个空闲计算节点,每个计算节点可以得到一个任务消息并执行相应的计算),为N个空闲计算节点中的每个空闲计算节点各分发一个任务消息。
一个实施例中,数据处理装置可以接收用户的目标操作指令,并根据目标操作指令生成目标消息队列。
本实施例中,数据处理装置可以根据用户的目标操作指令生成目标消息队列,也即用户通过可视化的操作界面,确定需要用到的数据、并确定该数据的存放地址以及需要用该份数据做什么样的计算,生成任务消息存放至目标消息队列中。
一个实施例中,生成该目标操作指令的操作至少包括手势操作、滑动操作、点击操作以及声控操作中的一种,例如当用户对可视化的操作界面进行点击操作时,数据处理装置可以接收到该点击操作,此时,该点击操作即生成目标操作指令,也就是说,可以提前定义操作指令,例如提前定义滑动操作为生成目标消息队列的操作(如左滑操作、右滑操作、上滑操作以及下滑操作等等),或者定义点击操作为生成目标消息队列的操作(如单击操作或双击操作等等),或者定义手势操作为生成目标消息队列的操作(如向左摆动手腕或手臂,向右摆动手腕或手臂,如四根手指收缩操作或者三根手指上滑操作等等),或者定义声控操作为生成目标消息队列的操作(如收到生成目标消息队列的声音以及目标消息队列中的具体任务消息的声音),上述仅为举例说明,并不代表对生成目标操作指令的操作进行限定。
203、通过N个空闲计算节点确定与N个任务消息对应的N个数据帧以及与N个任务消息对应的计算逻辑。
本实施例中,数据处理装置在将N个任务消息下发至N个空闲计算节点之后,可以通过N个空闲计算节点确定与N个任务消息对应的N个数据帧以及与N个任务消息对应的计算逻辑。
一个实施例中,数据处理装置通过N个空闲计算节点确定与N个任务消息对应的N个数据帧以及与N个任务消息对应的计算逻辑包括:
通过目标空闲计算节点对目标任务消息进行解析,得到目标任务消息对应的目标数据帧的存放地址以及目标数据帧的计算逻辑,目标任务消息为N个任务消息中的任意一个任务消息,目标空闲计算节点为N个空闲计算节点中与目标任务消息对应的计算节点;
根据目标数据帧的存放地址获取目标数据帧。
本实施例中,数据处理装置可以通过N个空闲计算节点分别对N个任务消息进行解析,得到任务消息中携带的数据帧的存放地址以及数据帧的计算逻辑,具体的,可以通过目标空闲计算节点对目标任务消息进行解析,得到目标任务消息对应的目标数据帧的存放地址以及目标数据帧的计算逻辑,其中,该目标任务消息为N个任务消息中的任意一个任务消息,目标空闲计算节点为N个空闲计算节点中与目标任务消息对应的计算节点,也就是说,此处,数据处理装置可以通过空闲计算节点对下发给该空闲计算节点的任务消息进行解析,得到该任务消息中携带的数据帧的存放地址(也即该数据帧是存放在什么地方的)以及该数据帧对应的计算逻辑,之后,可以根据数据帧的存放地址获取到该数据帧。可以理解的是,本申请中的数据帧可以为量级50万行以下的数据,当然也还可以是其他的量级的数据,例如60万行或者70万行以下的数据,具体不做限定。另外,该任务消息可以是下发至空闲计算节点,也可以是空闲计算节点发送请求之后下发,具体不做限定。
需要说明的是,该任务消息中还可以包括数据帧的读取方式,也即通过该读取方式可以知道该数据帧的存放的存储介质,进而调用相应的驱动去读取该数据帧。
204、基于N个空闲计算节点,通过与N个任务消息对应的计算逻辑对N个数据帧中的数据进行计算。
本实施例中,数据处理装置可以基于N个空闲计算节点通过与N个任务消息对应的计算逻辑对N个数据帧中的数据进行计算。也就是说,在获取到了任务对应的数据帧以及对应的计算逻辑之后,可以通过该计算逻辑对数据帧中的数据进行计算。
一个实施例中,数据处理装置基于N个空闲计算节点,通过与N个任务消息对应的计算逻辑对N个数据帧的数据进行计算包括:
通过N个空闲计算节点将与N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,第一计算逻辑为拆分后的计算逻辑中的任意一个计算逻辑,第一数据帧为N个数据帧中与第一计算逻辑对应的数据帧,第二空闲计算节点为N个空闲计算节点中与第一数据帧对应的空闲计算节点。
本实施例中,数据处理装置可以首选通过空闲计算节点对任务消息中的计算逻辑进行优化拆分,得到拆分后的计算逻辑,也即对该任务消息中的计算逻辑进行优化,方便空闲计算节点进行快速的计算;之后基于第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,也就是说,数据处理装置可以根据拆分后的计算逻辑,匹配数据分析库的计算功能,本发明实施例采用Pandas,然后利用Pandas执行快速的计算,其中,Pandas的计算数据和计算过程发生在计算机物理内存中,由于该Pandas的计算框架是部署在内存中的,Pandas会把任务的数据拉取到内存中进行计算,这样可以提高并行处理的效率。
205、当N个空闲计算节点中存在计算完成的第一空闲计算节点,且目标消息队列中存在未计算的第一任务消息时,基于第一空闲计算节点重复执行步骤202至步骤204,直至目标消息队列中的任务消息计算完成为止。
本实施例中,由于不同的任务消息中的数据帧的计算时长可能会存在差异,这也就导致了N个空闲计算节点中某些空闲计算节点对其对应的任务消息中的数据帧计算完毕之后,N个空闲计算节点中的其他空闲计算节点还没有计算完成,且在目标消息队列中还存在有未计算的任务消息时,此时,可以通过计算完成的空闲计算节点重复执行步骤202至步骤204,直至目标消息队列中的任务消息计算完成为止,也即有空闲计算节点计算完成,则从目标消息队列获取任务消息,之后通过该空闲计算节点对获取的任务消息进行解析,得到数据帧存放地址以及其对应的计算逻辑,并通过该空闲计算节点获取数据帧,并通过计算逻辑对数据帧进行计算,以此类推,直至目标消息队列中的任务消息全部计算完成为止。
一个实施例中,当N个空闲计算节点中存在计算完成的第一空闲计算节点时,将第一空闲计算节点对应的计算结果进行存储,并标记第一空闲计算节点对应的任务消息中的任务计算完成。
本实施例中,数据处理可以将计算完成的任务节点对应的计算结果与其对应的任务ID关联存储至结果临时存放中心,并标记该空闲计算节点对应的任务消息中的任务计算完成,这样可以方便即使在任务的计算过程中,用户也可以通过计算完成的任务ID查看该任务的计算结果。可以理解的是,在得到计算结果之后,还可以直接将计算结果展示给用户进行查看。
综上所述,可以看出,本申请提供的实施例中,应对的计算数据是数据帧,其一个单位数据在一个计算节点即可完成,在一个分布式集群下,其计算任务可以实现高并发的计算,且在当计算节点中的任务计算完成时,可以重复的获取任务消息,并进行计算,并不是如现有的主节点把任务拆分分发到从节点进行计算期间,其任务不能并发执行,需等待一个任务完毕,才能执行下一个任务,提高了计算的效率。
上面从的数据处理方法的角度对本申请进行说明,下面从数据处理装置的角度对本申请进行说明。
请参阅图3,图3为本申请实施例提供的一种数据处理装置的虚拟结构示意图,包括:
第一确定单元301,用于执行步骤1、确定分布式集群中当前的N个空闲计算节点,N为大于或等于1的正整数;
获取单元302,用于执行步骤2、通过所述N个空闲计算节点从目标消息队列中获取N个任务消息,所述N个空闲计算节点与所述N个任务消息相对应,所述目标消息队列中包含所述用户待处理的M个任务消息,且所述N个任务消息包含于所述M个任务消息;
第二确定单元303,用于执行步骤3、通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑;
计算单元304,用于步骤4、基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧中的数据进行计算;
处理单元305,用于当所述N个空闲计算节点中存在计算完成的第一空闲计算节点,且所述目标消息队列中存在未计算的第一任务消息时,基于所述第一空闲计算节点重复执行步骤2至步骤4,直至所述目标消息队列中的任务消息计算完成为止。
可选地,所述计算单元304具体用于:
通过所述N个空闲计算节点将与所述N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于所述第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,所述第一计算逻辑为所述拆分后的计算逻辑中的任意一个计算逻辑,所述第一数据帧为所述N个数据帧中与所述第一计算逻辑对应的数据帧,所述第二空闲计算节点为所述N个空闲计算节点中与所述第一数据帧对应的空闲计算节点。
可选地,所述第二确定单元303具体用于:
通过目标空闲计算节点对目标任务消息进行解析,得到所述目标任务消息对应的目标数据帧的存放地址以及所述目标数据帧的计算逻辑,所述目标任务消息为所述N个任务消息中的任意一个任务消息,所述目标空闲计算节点为所述N个空闲计算节点中与所述目标任务消息对应的计算节点;
根据所述目标数据帧的存放地址获取所述目标数据帧。
可选地,所述处理单元305还用于:
接收用户的目标操作指令;
根据所述目标操作指令生成目标消息队列。
可选地,所述数据处理装置还包括:
存储单元306,用于当所述N个空闲计算节点中存在计算完成的第一空闲计算节点时,将所述第一空闲计算节点对应的计算结果进行存储,并标记所述第一空闲计算节点对应的任务消息中的任务计算完成。
图4是本申请实施例提供的一种服务器结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由数据处理装置所执行的步骤可以基于该图4所示的服务器结构。
本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述所述数据处理方法的步骤。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述数据处理方法的步骤。
本申请实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述所述数据处理方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述数据处理方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
步骤1、确定分布式集群中当前的N个空闲计算节点,N为大于或等于1的正整数;
步骤2、通过所述N个空闲计算节点从目标消息队列中获取N个任务消息,所述N个空闲计算节点与所述N个任务消息相对应,所述目标消息队列中包含所述用户待处理的M个任务消息,且所述N个任务消息包含于所述M个任务消息;
步骤3、通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑;
步骤4、基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧中的数据进行计算;
当所述N个空闲计算节点中存在计算完成的第一空闲计算节点,且所述目标消息队列中存在未计算的第一任务消息时,基于所述第一空闲计算节点重复执行步骤2至步骤4,直至所述目标消息队列中的任务消息计算完成为止。
2.根据权利要求1所述的方法,其特征在于,所述基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧的数据进行计算包括:
通过所述N个空闲计算节点将与所述N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于所述第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,所述第一计算逻辑为所述拆分后的计算逻辑中的任意一个计算逻辑,所述第一数据帧为所述N个数据帧中与所述第一计算逻辑对应的数据帧,所述第二空闲计算节点为所述N个空闲计算节点中与所述第一数据帧对应的空闲计算节点。
3.根据权利要求1所述的方法,其特征在于,所述通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑包括:
通过目标空闲计算节点对目标任务消息进行解析,得到所述目标任务消息对应的目标数据帧的存放地址以及所述目标数据帧的计算逻辑,所述目标任务消息为所述N个任务消息中的任意一个任务消息,所述目标空闲计算节点为所述N个空闲计算节点中与所述目标任务消息对应的计算节点;
根据所述目标数据帧的存放地址获取所述目标数据帧。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收用户的目标操作指令;
根据所述目标操作指令生成目标消息队列。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
当所述N个空闲计算节点中存在计算完成的第一空闲计算节点时,将所述第一空闲计算节点对应的计算结果进行存储,并标记所述第一空闲计算节点对应的任务消息中的任务计算完成。
6.一种数据处理装置,其特征在于,包括:
第一确定单元,用于执行步骤1、确定分布式集群中当前的N个空闲计算节点,N为大于或等于1的正整数;
获取单元,用于执行步骤2、通过所述N个空闲计算节点从目标消息队列中获取N个任务消息,所述N个空闲计算节点与所述N个任务消息相对应,所述目标消息队列中包含所述用户待处理的M个任务消息,且所述N个任务消息包含于所述M个任务消息;
第二确定单元,用于执行步骤3、通过所述N个空闲计算节点确定与所述N个任务消息对应的N个数据帧以及与所述N个任务消息对应的计算逻辑;
计算单元,用于步骤4、基于所述N个空闲计算节点,通过与所述N个任务消息对应的计算逻辑对所述N个数据帧中的数据进行计算;
处理单元,用于当所述N个空闲计算节点中存在计算完成的第一空闲计算节点,且所述目标消息队列中存在未计算的第一任务消息时,基于所述第一空闲计算节点重复执行步骤2至步骤4,直至所述目标消息队列中的任务消息计算完成为止。
7.根据权利要求6所述的装置,其特征在于,所述计算单元具体用于:
通过所述N个空闲计算节点将与所述N个任务消息对应的计算逻辑进行优化拆分,得到拆分后的计算逻辑;
基于所述第二空闲计算节点,通过第一计算逻辑对第一数据帧中的数据进行计算,所述第一计算逻辑为所述拆分后的计算逻辑中的任意一个计算逻辑,所述第一数据帧为所述N个数据帧中与所述第一计算逻辑对应的数据帧,所述第二空闲计算节点为所述N个空闲计算节点中与所述第一数据帧对应的空闲计算节点。
8.根据权利要求6所述的装置,其特征在于,所述第二确定单元具体用于:
通过目标空闲计算节点对目标任务消息进行解析,得到所述目标任务消息对应的目标数据帧的存放地址以及所述目标数据帧的计算逻辑,所述目标任务消息为所述N个任务消息中的任意一个任务消息,所述目标空闲计算节点为所述N个空闲计算节点中与所述目标任务消息对应的计算节点;
根据所述目标数据帧的存放地址获取所述目标数据帧。
9.一种计算机设备,其特征在于,包括:
至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述权利要求1至5中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行上述权利要求1至5中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705793.2A CN111782404A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705793.2A CN111782404A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782404A true CN111782404A (zh) | 2020-10-16 |
Family
ID=72764728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705793.2A Pending CN111782404A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782404A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464263A (zh) * | 2020-12-04 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种数据加密方法、系统、设备及介质 |
CN113283976A (zh) * | 2021-06-16 | 2021-08-20 | 深圳市金蝶天燕云计算股份有限公司 | 报销单的处理方法、装置和可读存储介质 |
CN113672364A (zh) * | 2021-08-02 | 2021-11-19 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN117707793A (zh) * | 2024-02-05 | 2024-03-15 | 太平金融科技服务(上海)有限公司 | 一种计算任务处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241722A (zh) * | 2016-12-23 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种数据处理系统、方法及装置 |
US20180212857A1 (en) * | 2017-01-26 | 2018-07-26 | International Business Machines Corporation | Proactive channel agent |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
CN108874541A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式运算方法、装置、计算机设备及存储介质 |
-
2020
- 2020-07-21 CN CN202010705793.2A patent/CN111782404A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241722A (zh) * | 2016-12-23 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种数据处理系统、方法及装置 |
US20180212857A1 (en) * | 2017-01-26 | 2018-07-26 | International Business Machines Corporation | Proactive channel agent |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
CN108874541A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式运算方法、装置、计算机设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464263A (zh) * | 2020-12-04 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种数据加密方法、系统、设备及介质 |
CN113283976A (zh) * | 2021-06-16 | 2021-08-20 | 深圳市金蝶天燕云计算股份有限公司 | 报销单的处理方法、装置和可读存储介质 |
CN113672364A (zh) * | 2021-08-02 | 2021-11-19 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN113672364B (zh) * | 2021-08-02 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN117707793A (zh) * | 2024-02-05 | 2024-03-15 | 太平金融科技服务(上海)有限公司 | 一种计算任务处理方法、装置、设备及介质 |
CN117707793B (zh) * | 2024-02-05 | 2024-05-03 | 太平金融科技服务(上海)有限公司 | 一种计算任务处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782404A (zh) | 一种数据处理方法及相关设备 | |
CN109993299B (zh) | 数据训练方法及装置、存储介质、电子装置 | |
US10552161B2 (en) | Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation | |
US10310908B2 (en) | Dynamic usage balance of central processing units and accelerators | |
US20180032375A1 (en) | Data Processing Method and Apparatus | |
US20150032759A1 (en) | System and method for analyzing result of clustering massive data | |
JP2018190450A (ja) | 基数推定を介した結合パスの効率的な判定 | |
US8898422B2 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
CN110659278A (zh) | 基于cpu-gpu异构架构的图数据分布式处理系统 | |
WO2020211717A1 (zh) | 一种数据处理方法、装置及设备 | |
Yousif et al. | Clustering cloud workload traces to improve the performance of cloud data centers | |
US10326824B2 (en) | Method and system for iterative pipeline | |
CN113766047B (zh) | 一种任务分组方法、装置、计算机设备及存储介质 | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
US9384238B2 (en) | Block partitioning for efficient record processing in parallel computing environment | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN112905596A (zh) | 数据处理的方法、装置、计算机设备以及存储介质 | |
WO2020147601A1 (zh) | 用于对图进行学习的系统 | |
CN112506887A (zh) | 车辆终端can总线数据处理方法及装置 | |
CN112214978A (zh) | 一种数据处理方法及相关设备 | |
CN111966720A (zh) | 一种数据处理方法及相关设备 | |
CN110941658A (zh) | 一种数据导出方法、装置、服务器及存储介质 | |
CN112711588B (zh) | 多表连接的方法和装置 | |
JP2021508867A (ja) | データベースをクエリするためのシステム、方法および装置 | |
US10503731B2 (en) | Efficient analysis of distinct aggregations |
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 |