CN111338787A - 一种数据处理方法及装置、存储介质、电子装置 - Google Patents
一种数据处理方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN111338787A CN111338787A CN202010079996.5A CN202010079996A CN111338787A CN 111338787 A CN111338787 A CN 111338787A CN 202010079996 A CN202010079996 A CN 202010079996A CN 111338787 A CN111338787 A CN 111338787A
- Authority
- CN
- China
- Prior art keywords
- thread
- target data
- data
- processing
- node
- 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.)
- Granted
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
- 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
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法及装置、存储介质、电子装置,该方法包括:接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。通过本发明,解决了数据处理效率低的问题,达到提高数据处理效率的效果。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法及装置、存储介质、电子装置。
背景技术
目前对数据并发处理的技术方案采用多线程处理数据的方法。将待处理数据进行分组,创建多个线程读取分组后的数据,数据存储在公共队列,从公共队列中取数据进行数据处理。
现有技术中,通过公共数据发送队列缓存待发送数据,数据处理能力有限,同时对公共队列的频繁竞争访问造成资源浪费。
发明内容
本发明实施例提供了一种数据处理方法及装置、存储介质、电子装置,以至少解决相关技术中数据处理效率低的问题。
根据本发明的一个实施例,提供了一种数据处理方法,包括:接收第N个线程节点发送的第一目标数据,其中,上述第N个线程节点用于从第一预设队列中获取上述第一目标数据,上述N是大于或等于1的自然数;利用线程池中的第一线程对上述第一目标数据进行处理,得到第二目标数据;将上述第二目标数据发送至第二预设队列中,其中,上述第二预设队列用于存储上述第二目标数据;接收上述第N+1个线程节点发送的上述第二目标数据,其中,上述第N+1个线程节点用于从上述第二预设队列中获取上述第二目标数据;基于上述第一线程的状态对上述第二目标数据进行处理,得到第三目标数据。
根据本发明的另一个实施例,提供了一种数据处理装置,包括:第一接收模块,用于接收第N个线程节点发送的第一目标数据,其中,上述第N个线程节点用于从第一预设队列中获取上述第一目标数据,上述N是大于或等于1的自然数;第一确定模块,用于利用线程池中的第一线程对上述第一目标数据进行处理,得到第二目标数据;第一发送模块,用于将上述第二目标数据发送至第二预设队列中,其中,上述第二预设队列用于存储上述第二目标数据;第二接收模块,用于接收上述第N+1个线程节点发送的上述第二目标数据,其中,上述第N+1个线程节点用于从上述第二预设队列中获取上述第二目标数据;第二确定模块,用于基于上述第一线程的状态对上述第二目标数据进行处理,得到第三目标数据。
可选地,上述装置还包括:第三确定模块,用于接收第N个线程节点发送的第一目标数据之前,对获取的待处理数据进行分片,得到M个数据,其中,上述M是大于或等于1的自然数;第一保存模块,用于通过第N-1个线程节点将上述M个数据依次保存至上述第一预设队列中;第四确定模块,用于将上述M个数据中第K个数据确定为上述第一目标数据,其中,上述K是小于或等于上述M的自然数。
可选地,上述第一确定模块,包括:第一创建单元,用于在上述线程池中的任务队列中创建用于对上述第一目标数据进行处理的第一待执行任务;第二创建单元,用于在上述线程池中创建上述第一线程;第一确定单元,用于通过上述第一线程执行上述第一待执行任务,以得到上述第二目标数据。
可选地,第二确定模块,包括:第二确定单元,用于在上述第一线程处于空闲状态的情况下,利用上述第一线程对上述第二目标数据进行处理,得到上述第三目标数据。
可选地,第二确定模块,包括:第三创建单元,用于在上述第一线程处于空闲状态的情况下,在上述线程池中的任务队列中创建用于对上述第二目标数据进行处理的第二待执行任务;第三确定单元,用于通过上述第一线程执行上述第二待执行任务,以得到上述第三目标数据。
可选地,第二确定模块,包括:第四确定单元,用于在上述第一线程处于非空闲状态的情况下,利用线程池中的第二线程对上述第二目标数据进行处理,得到上述第三目标数据。
可选地,第四确定单元,包括:
第一创建子单元,用于在上述第一线程处于非空闲状态的情况下,在上述线程池中的任务队列中创建用于对上述第二目标数据进行处理的第三待执行任务;第二确定子单元,用于在上述线程池中创建上述第二线程;第三确定子单元,用于通过上述第二线程执行上述第三待执行任务,以得到上述第三目标数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。采用基于线程池的多并发处理,提升了数据处理效率。因此,可以解决数据处理效率低的问题,达到提高数据处理效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的数据处理方法的流程图;
图3是根据本发明实施例的多个线程分块处理数据的示意图;
图4是根据本发明实施例的N帧视频数据的处理流程示意图;
图5是根据本发明可选实施例的算法A的具体数据处理流程图;
图6是根据本发明实施例的数据处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据处理方法,图2是根据本发明实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;
可选地,在本实施例中,第N个线程节点包括但不限于是自定义的线程节点。例如,第N个线程节点是第1个线程节点,读取获取的数据,将数据存储在第一预设队列中,第一预设队列包括但不限于是数据队列,用于存储读取的数据。第一目标数据可以是从第一预设队列中读取的一个数据。
步骤S204,利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;
可选地,在本实施例中,第一线程是在线程池中创建的线程,用于对第一目标数据进行处理。
步骤S206,将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;
可选地,在本实施例中,第二预设队列包括但不限于是结果队列,用于对第二目标数据进行存储。
步骤S208,接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;
步骤S210,基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。
可选地,在本实施例中,在第一线程处于空闲状态的情况下,利用第一线程对第二目标数据进行处理;在第一线程处于非空闲状态的情况下,利用新建的线程对第二目标数据进行处理。
可选地,例如,如图3所示,利用多个线程节点对数据进行分块处理的方式包括以下步骤:
S1,采用“流水线”方式处理数据,将数据处理流程划分成N个节点,每个节点分别对数据进行处理;节点处理完当前数据后立即进行下一个数据的处理直至处理完所有数据;本步骤中的节点对应于上述中的线程;
S2,创建N+1个线程节点1~n+1、1个数据队列和N个结果队列1~n;线程1读取数据将数据保存在数据队列中;本步骤中的数据队列对应于上述中的第一预设队列,结果队列对应于上述中的第二预设队列;
S3,线程节点2~n-1分别从数据队列和结果队列中获取数据,在线程池的任务队列中添加数据处理的任务;线程池创建线程节点在对应节点中处理数据,将处理结果保存在对应的结果队列中;
S4,线程节点k为任意一个线程;线程节点k读取结果队列k-2中的数据并在线程池的任务队列中添加处理该数据的任务k;线程池创建线程执行任务k,将数据送入节点k-1进行数据处理,该线程将处理后的数据保存在结果队列k-1中;
S5,节点n处理完当前数据输出处理结果后开始处理下一个数据直至所有数据处理完成。
本实施例可以解决处理大量数据,数据处理效率低的问题,采用基于线程池的多并发处理,尽可能的利用计算机系统资源,提升数据处理效率。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
通过上述步骤,由于接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。采用基于线程池的多并发处理,提升了数据处理效率。因此,可以解决数据处理效率低的问题,达到提高数据处理效率的效果。
在一个可选的实施例中,接收第N个线程节点发送的第一目标数据之前,方法还包括:
S1,对获取的待处理数据进行分片,得到M个数据,其中,M是大于或等于1的自然数;
S2,通过第N-1个线程节点将M个数据依次保存至第一预设队列中;
S3,将M个数据中第K个数据确定为第一目标数据,其中,K是小于或等于M的自然数。
可选地,在本实施例中,可以将待处理数据分成M个数据分别存储在第一预设队列中,以方便逐一对分片的数据进行处理,提高数据处理效率。
在一个可选的实施例中,利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据,包括:
S1,在线程池中的任务队列中创建用于对第一目标数据进行处理的第一待执行任务;
S2,在线程池中创建第一线程;
S3,通过第一线程执行第一待执行任务,以得到第二目标数据。
可选地,在本实施例中,第一待执行任务存储在线程池中的任务队列中。不同的待执行任务对不同的数据进行处理。
在一个可选的实施例中,基于第一线程的状态对第二目标数据进行处理,得到第三目标数据,包括:
S1,在第一线程处于空闲状态的情况下,利用第一线程对第二目标数据进行处理,得到第三目标数据。
可选地,在本实施例中,利用处于空闲状态的第一线程对第二目标数据进行处理,并不需要建立新的线程,从而可以节省资源,提高数据处理效率。
在一个可选的实施例中,在第一线程处于空闲状态的情况下,利用第一线程对第二目标数据进行处理,得到第三目标数据,包括:
S1,在第一线程处于空闲状态的情况下,在线程池中的任务队列中创建用于对第二目标数据进行处理的第二待执行任务;
S2,通过第一线程执行第二待执行任务,以得到第三目标数据。
可选地,在本实施例中,第一线程处于空闲状态的情况下,可以利用与第一线程对应的待执行任务对第二目标数据进行处理。
在一个可选的实施例中,基于第一线程的状态对第二目标数据进行处理,得到第三目标数据,包括:
S1,在第一线程处于非空闲状态的情况下,利用线程池中的第二线程对第二目标数据进行处理,得到第三目标数据。
可选地,在本实施例中,第二线程包括但不限于是在线程池中新建立的线程。
在一个可选的实施例中,在第一线程处于非空闲状态的情况下,利用线程池中的第二线程对第二目标数据进行处理,得到第三目标数据,包括:
S1,在第一线程处于非空闲状态的情况下,在线程池中的任务队列中创建用于对第二目标数据进行处理的第三待执行任务;
S2,在线程池中创建第二线程;
S3,通过第二线程执行第三待执行任务,以得到第三目标数据。
可选地,在本实施例中,可以利用与第二线程对应的待执行任务对第二目标数据进行处理。
可选地,下面结合具体实施例对本发明进行详细说明。在本实施例中,以处理视频数据为例进行说明:
视频数据中包含N帧视频数据,N帧视频数据的处理流程示意图如图4所示,每一帧视频数据需要依次经过算法A、B、C处理,创建线程1~4,1个数据队列和3个与算法对应的结果队列。线程1不断读取数据,将数据保存在数据队列中;线程2读取数据队列中的数据并在线程池的任务队列中创建任务1;线程池创建线程执行任务1,将线程2读取的数据送入算法A进行数据处理;该线程将算法A的处理结果保存在算法A结果队列中,算法A的具体数据处理流程如图5所示,包括以下步骤:
S501:线程1接收n帧数据,将数据保存在数据队列中;
S502:线程2读取数据队列中的数据,在线程池的任务队列中添加任务1;
S503:线程池创建线程执行任务1,算法A处理线程2读取的数据;
S504:算法A处理完成后该线程,将算法处理结果保存在算法A结果队列中。
可选地,算法B、C的处理流程与A的区别在于若线程池存在空闲线程则分配空闲线程执行任务队列中的任务,而不是创建新的线程执行任务减少系统的资源消耗。最终,通过上述流程完成N帧数据的处理。
综上所述,本实施例采用“流水线”的方式对数据进行多并发的流水处理;将数据处理流程划分成多个节点,单个节点只对数据进行部分处理,处理完当前数据后立即进行下一个数据处理;创建固定数量的线程负责数据传输;采用线程池动态管理与数据处理相关的线程,创建队列缓存前一个节点的数据处理结果。每个节点只处理当前节点接收的数据,可以最大限度的利用系统资源提升数据处理效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的数据处理装置的结构框图,如图6所示,该装置包括:第一接收模块62、第一确定模块64、第一发送模块66、第二接收模块68以及第二确定模块610:
第一接收模块62,用于接收第N个线程节点发送的第一目标数据,其中,上述第N个线程节点用于从第一预设队列中获取上述第一目标数据,上述N是大于或等于1的自然数;
第一确定模块64,用于利用线程池中的第一线程对上述第一目标数据进行处理,得到第二目标数据;
第一发送模块66,用于将上述第二目标数据发送至第二预设队列中,其中,上述第二预设队列用于存储上述第二目标数据;
第二接收模块68,用于接收上述第N+1个线程节点发送的上述第二目标数据,其中,上述第N+1个线程节点用于从上述第二预设队列中获取上述第二目标数据;
第二确定模块610,用于基于上述第一线程的状态对上述第二目标数据进行处理,得到第三目标数据。
可选地,上述装置还包括:
第三确定模块,用于接收第N个线程节点发送的第一目标数据之前,对获取的待处理数据进行分片,得到M个数据,其中,上述M是大于或等于1的自然数;
第一保存模块,用于通过第N-1个线程节点将上述M个数据依次保存至上述第一预设队列中;
第四确定模块,用于将上述M个数据中第K个数据确定为上述第一目标数据,其中,上述K是小于或等于上述M的自然数。
可选地,上述第一确定模块,包括:
第一创建单元,用于在上述线程池中的任务队列中创建用于对上述第一目标数据进行处理的第一待执行任务;
第二创建单元,用于在上述线程池中创建上述第一线程;
第一确定单元,用于通过上述第一线程执行上述第一待执行任务,以得到上述第二目标数据。
可选地,第二确定模块,包括:
第二确定单元,用于在上述第一线程处于空闲状态的情况下,利用上述第一线程对上述第二目标数据进行处理,得到上述第三目标数据。
可选地,第二确定模块,包括:
第三创建单元,用于在上述第一线程处于空闲状态的情况下,在上述线程池中的任务队列中创建用于对上述第二目标数据进行处理的第二待执行任务;
第三确定单元,用于通过上述第一线程执行上述第二待执行任务,以得到上述第三目标数据。
可选地,第二确定模块,包括:
第四确定单元,用于在上述第一线程处于非空闲状态的情况下,利用线程池中的第二线程对上述第二目标数据进行处理,得到上述第三目标数据。
可选地,第四确定单元,包括:
第一创建子单元,用于在上述第一线程处于非空闲状态的情况下,在上述线程池中的任务队列中创建用于对上述第二目标数据进行处理的第三待执行任务;
第二确定子单元,用于在上述线程池中创建上述第二线程;
第三确定子单元,用于通过上述第二线程执行上述第三待执行任务,以得到上述第三目标数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;
S2,利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;
S3,将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;
S4,接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;
S5,基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收第N个线程节点发送的第一目标数据,其中,第N个线程节点用于从第一预设队列中获取第一目标数据,N是大于或等于1的自然数;
S2,利用线程池中的第一线程对第一目标数据进行处理,得到第二目标数据;
S3,将第二目标数据发送至第二预设队列中,其中,第二预设队列用于存储第二目标数据;
S4,接收第N+1个线程节点发送的第二目标数据,其中,第N+1个线程节点用于从第二预设队列中获取第二目标数据;
S5,基于第一线程的状态对第二目标数据进行处理,得到第三目标数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收第N个线程节点发送的第一目标数据,其中,所述第N个线程节点用于从第一预设队列中获取所述第一目标数据,所述N是大于或等于1的自然数;
利用线程池中的第一线程对所述第一目标数据进行处理,得到第二目标数据;
将所述第二目标数据发送至第二预设队列中,其中,所述第二预设队列用于存储所述第二目标数据;
接收所述第N+1个线程节点发送的所述第二目标数据,其中,所述第N+1个线程节点用于从所述第二预设队列中获取所述第二目标数据;
基于所述第一线程的状态对所述第二目标数据进行处理,得到第三目标数据。
2.根据权利要求1所述的方法,其特征在于,接收第N个线程节点发送的第一目标数据之前,所述方法还包括:
对获取的待处理数据进行分片,得到M个数据,其中,所述M是大于或等于1的自然数;
通过第N-1个线程节点将所述M个数据依次保存至所述第一预设队列中;
将所述M个数据中第K个数据确定为所述第一目标数据,其中,所述K是小于或等于所述M的自然数。
3.根据权利要求1所述的方法,其特征在于,利用线程池中的第一线程对所述第一目标数据进行处理,得到第二目标数据,包括:
在所述线程池中的任务队列中创建用于对所述第一目标数据进行处理的第一待执行任务;
在所述线程池中创建所述第一线程;
通过所述第一线程执行所述第一待执行任务,以得到所述第二目标数据。
4.根据权利要求1所述的方法,其特征在于,基于所述第一线程的状态对所述第二目标数据进行处理,得到第三目标数据,包括:
在所述第一线程处于空闲状态的情况下,利用所述第一线程对所述第二目标数据进行处理,得到所述第三目标数据。
5.根据权利要求4所述的方法,其特征在于,在所述第一线程处于空闲状态的情况下,利用所述第一线程对所述第二目标数据进行处理,得到所述第三目标数据,包括:
在所述第一线程处于空闲状态的情况下,在所述线程池中的任务队列中创建用于对所述第二目标数据进行处理的第二待执行任务;
通过所述第一线程执行所述第二待执行任务,以得到所述第三目标数据。
6.根据权利要求1所述的方法,其特征在于,基于所述第一线程的状态对所述第二目标数据进行处理,得到第三目标数据,包括:
在所述第一线程处于非空闲状态的情况下,利用线程池中的第二线程对所述第二目标数据进行处理,得到所述第三目标数据。
7.根据权利要求6所述的方法,其特征在于,在所述第一线程处于非空闲状态的情况下,利用线程池中的第二线程对所述第二目标数据进行处理,得到所述第三目标数据,包括:
在所述第一线程处于非空闲状态的情况下,在所述线程池中的任务队列中创建用于对所述第二目标数据进行处理的第三待执行任务;
在所述线程池中创建所述第二线程;
通过所述第二线程执行所述第三待执行任务,以得到所述第三目标数据。
8.一种数据处理装置,其特征在于,包括:
第一接收模块,用于接收第N个线程节点发送的第一目标数据,其中,所述第N个线程节点用于从第一预设队列中获取所述第一目标数据,所述N是大于或等于1的自然数;
第一确定模块,用于利用线程池中的第一线程对所述第一目标数据进行处理,得到第二目标数据;
第一发送模块,用于将所述第二目标数据发送至第二预设队列中,其中,所述第二预设队列用于存储所述第二目标数据;
第二接收模块,用于接收所述第N+1个线程节点发送的所述第二目标数据,其中,所述第N+1个线程节点用于从所述第二预设队列中获取所述第二目标数据;
第二确定模块,用于基于所述第一线程的状态对所述第二目标数据进行处理,得到第三目标数据。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010079996.5A CN111338787B (zh) | 2020-02-04 | 2020-02-04 | 一种数据处理方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010079996.5A CN111338787B (zh) | 2020-02-04 | 2020-02-04 | 一种数据处理方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338787A true CN111338787A (zh) | 2020-06-26 |
CN111338787B CN111338787B (zh) | 2023-09-01 |
Family
ID=71185174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010079996.5A Active CN111338787B (zh) | 2020-02-04 | 2020-02-04 | 一种数据处理方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338787B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036503A (zh) * | 2020-09-11 | 2020-12-04 | 浙江大华技术股份有限公司 | 基于分步线程的图像处理方法和装置及存储介质 |
CN113064705A (zh) * | 2021-03-18 | 2021-07-02 | 北京达佳互联信息技术有限公司 | 线程池扩容方法、装置、服务器、介质及产品 |
CN115114247A (zh) * | 2022-05-30 | 2022-09-27 | 中银金融科技有限公司 | 文件数据处理方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488734A (zh) * | 2013-09-17 | 2014-01-01 | 华为技术有限公司 | 一种数据处理方法及重删引擎 |
CN105959161A (zh) * | 2016-07-08 | 2016-09-21 | 中国人民解放军国防科学技术大学 | 一种高速数据包构造和分发控制方法及设备 |
US20160306680A1 (en) * | 2013-12-26 | 2016-10-20 | Huawei Technologies Co., Ltd. | Thread creation method, service request processing method, and related device |
CN107256180A (zh) * | 2017-05-19 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及终端 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
CN108509248A (zh) * | 2018-04-13 | 2018-09-07 | 网易(杭州)网络有限公司 | 数据处理方法和装置、存储介质、处理器及终端 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN110413428A (zh) * | 2019-08-06 | 2019-11-05 | 中国联合网络通信集团有限公司 | 对账数据的处理方法、电子设备及存储介质 |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN110737534A (zh) * | 2019-10-29 | 2020-01-31 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
CN110750339A (zh) * | 2018-07-23 | 2020-02-04 | 杭州海康威视系统技术有限公司 | 一种线程调度方法、装置及电子设备 |
-
2020
- 2020-02-04 CN CN202010079996.5A patent/CN111338787B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488734A (zh) * | 2013-09-17 | 2014-01-01 | 华为技术有限公司 | 一种数据处理方法及重删引擎 |
US20160306680A1 (en) * | 2013-12-26 | 2016-10-20 | Huawei Technologies Co., Ltd. | Thread creation method, service request processing method, and related device |
CN105959161A (zh) * | 2016-07-08 | 2016-09-21 | 中国人民解放军国防科学技术大学 | 一种高速数据包构造和分发控制方法及设备 |
CN107256180A (zh) * | 2017-05-19 | 2017-10-17 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及终端 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
CN108509248A (zh) * | 2018-04-13 | 2018-09-07 | 网易(杭州)网络有限公司 | 数据处理方法和装置、存储介质、处理器及终端 |
CN110633133A (zh) * | 2018-06-21 | 2019-12-31 | 中兴通讯股份有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN110750339A (zh) * | 2018-07-23 | 2020-02-04 | 杭州海康威视系统技术有限公司 | 一种线程调度方法、装置及电子设备 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN110535787A (zh) * | 2019-07-25 | 2019-12-03 | 北京奇艺世纪科技有限公司 | 消息消费方法、装置及可读存储介质 |
CN110413428A (zh) * | 2019-08-06 | 2019-11-05 | 中国联合网络通信集团有限公司 | 对账数据的处理方法、电子设备及存储介质 |
CN110737534A (zh) * | 2019-10-29 | 2020-01-31 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036503A (zh) * | 2020-09-11 | 2020-12-04 | 浙江大华技术股份有限公司 | 基于分步线程的图像处理方法和装置及存储介质 |
CN113064705A (zh) * | 2021-03-18 | 2021-07-02 | 北京达佳互联信息技术有限公司 | 线程池扩容方法、装置、服务器、介质及产品 |
CN113064705B (zh) * | 2021-03-18 | 2024-04-09 | 北京达佳互联信息技术有限公司 | 线程池扩容方法、装置、服务器、介质及产品 |
CN115114247A (zh) * | 2022-05-30 | 2022-09-27 | 中银金融科技有限公司 | 文件数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111338787B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338787B (zh) | 一种数据处理方法及装置、存储介质、电子装置 | |
CN110896404B (zh) | 数据处理的方法、装置和计算节点 | |
CN110046137B (zh) | 将数据流分组并存储至云端存储文件中的系统和方法 | |
CN110427494B (zh) | 知识图谱的展示方法、装置、存储介质及电子装置 | |
CN112988362B (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN104461710A (zh) | 任务处理方法及装置 | |
CN112148504A (zh) | 目标消息的处理方法及装置、存储介质及电子装置 | |
CN113722055A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN111930516B (zh) | 一种负载均衡方法及相关装置 | |
CN117579611A (zh) | 数据传输方法、装置、存储介质及电子装置 | |
CN113434271A (zh) | 任务执行方法及装置、存储介质、电子装置 | |
CN115712572A (zh) | 任务的测试方法、装置、存储介质及电子装置 | |
CN115835333A (zh) | 一种信号扫描方法、装置、电子设备及存储介质 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN113392131A (zh) | 数据处理方法、装置及计算机设备 | |
CN112685156A (zh) | 任务执行方法、装置、电子设备和计算机可读介质 | |
CN112118012A (zh) | 译码器迭代次数确定方法及装置 | |
CN112527454A (zh) | 容器组调度方法、装置、电子设备和计算机可读介质 | |
CN106992007B (zh) | 基于语音识别打分系统的数据处理方法和装置 | |
CN110209645A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
US9747131B1 (en) | System and method for variable aggregation in order for workers in a data processing to share information | |
CN110276212B (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN110442612B (zh) | 一种数据查询方法、电子设备及计算机可读存储介质 | |
CN114661563B (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 |