CN117312341A - 数据处理方法、装置、设备以及计算机存储介质 - Google Patents
数据处理方法、装置、设备以及计算机存储介质 Download PDFInfo
- Publication number
- CN117312341A CN117312341A CN202311263108.5A CN202311263108A CN117312341A CN 117312341 A CN117312341 A CN 117312341A CN 202311263108 A CN202311263108 A CN 202311263108A CN 117312341 A CN117312341 A CN 117312341A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- target
- node
- target database
- 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 22
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000004891 communication Methods 0.000 claims description 16
- 238000013468 resource allocation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及计算机数据处理技术领域,公开了一种数据处理方法,所述方法基于目标处理节点;目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;方法包括:从目标数据库的多条可选数据中获取未处理数据的信息;在目标数据库中将未处理数据对应的处理者信息以排他锁的方式更新为目标处理节点的目标节点标识;在目标数据库中查找处理者信息为目标节点标识的数据作为目标数据;对目标数据进行处理。通过上述方式,本发明实施例实现了集群环境下多节点并行高效处理数据。
Description
技术领域
本发明实施例涉及计算机数据处理技术领域,具体涉及一种数据处理方法、装置、设备以及计算机存储介质。
背景技术
目前在基于多节点集群进行并发数据处理时,一般采用的是分布式锁机制,即由集群中多个节点进行竞争,由获竞的某个节点对数据进行排他的处理。分布式锁的提出主要是为了避免多个节点并发处理同一条数据导致数据不一致。但分布式锁存在如下问题:集群中同时只运行一个节点进行数据处理,而单节点可能存在处理性能瓶颈。这样情况下,即使对集群进行横向动态扩展,也无法提升单节点的处理效率,由此导致数据的处理效率较低。
因此,需要一种在能保持数据一致性的同时,能够实现多个节点并行处理数据的更高效的数据处理方法。
发明内容
鉴于上述问题,本发明实施例提供了一种数据处理方法、装置、设备以及计算机存储介质,用于解决现有技术中存在的数据处理效率较低的问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,所述方法基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;所述方法包括:
从目标数据库的多条可选数据中获取未处理数据的信息;
在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
对所述目标数据进行处理。
在一种可选的方式中,所述目标数据库中还存储有各条所述可选数据分别对应的处理状态;
所述方法还包括:
在所述目标数据库中将所述未处理数据对应的所述处理状态以排他锁的方式更新为处理中。
在一种可选的方式中,所述方法还包括:
在所述目标数据库中查找所述处理者信息为所述目标节点标识并且所述处理状态为处理中的所述可选数据,得到所述目标数据。
在一种可选的方式中,所述目标数据库中还存储有各条所述可选数据对应的处理状态;所述方法还包括:
将所述目标数据库中所述处理状态表征未处理的可选数据确定为所述未处理数据。
在一种可选的方式中,所述方法还包括:
对所述目标数据进行多线程并行处理,得到所述处理结果。
在一种可选的方式中,所述方法还包括:
根据所述目标处理节点的资源配置情况建立线程池;
从所述线程池中调度多个线程,通过所述多个线程对所述目标数据进行并行处理。
在一种可选的方式中,所述目标数据库中还存储有各条所述可选数据对应的处理状态;
所述方法还包括:
根据所述目标数据的处理结果,在所述目标数据库中对所述目标数据对应的所述处理状态进行更新。
根据本发明实施例的另一方面,提供了一种数据处理装置,所述装置基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;所述装置包括:
获取模块,用于从目标数据库的多条可选数据中获取未处理数据的信息;
更新模块,用于在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
查找模块,用于在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
处理模块,用于对所述目标数据进行处理。
根据本发明实施例的另一方面,提供了一种数据处理设备,包括:
处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述任意一项所述的数据处理方法实施例的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使数据处理设备执行如前述任意一项所述的数据处理方法实施例的操作。
本发明实施例基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;本发明实施例通过从目标数据库的多条可选数据中获取未处理数据的信息;在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;对所述目标数据进行处理。从而区别于现有技术中只能通过单节点进行数据处理,无法实现多节点的并行式数据处理,本发明实施例通过在目标数据库中新增用于记录数据处理者信息的字段,在进行数据处理前,先由各个处理节点根据自身的节点标识选取一定数量的未处理数据进行排他式标记,并在更新后直接获取标记有自身的节点标识的数据进行处理即可,由此在多个节点并行处理数据时也不会存在互相干扰或对数据重复处理导致数据不一致的情况,由此实现了高效且准确的多节点并行式数据处理,并且,当集群数据处理有性能问题时,可以通过动态扩容集群节点的方式有效提高处理性能。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的数据处理方法的流程示意图;
图2示出了本发明再一实施例提供的数据处理方法的集群级的处理流程示意图;
图3示出了本发明再一实施例提供的数据处理方法的节点级的处理流程示意图;
图4示出了本发明实施例提供的数据处理方法的基于排他锁的处理流程示意图;
图5示出了本发明实施例提供的数据处理装置的结构示意图;
图6示出了本发明实施例提供的数据处理设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明实施例提供的数据处理方法的流程图,该方法由计算机处理设备执行。该计算机处理设备可以包括手机、笔记本电脑等。所述方法基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个。一个可选处理节点可以是具有计算能力的服务器等。
如图1所示,该方法包括以下步骤:
步骤10:从目标数据库的多条可选数据中获取未处理数据的信息。
其中,目标数据库中存储有多条可选数据,从多条可选数据中筛选出未处理数据,未处理数据的信息可以包括未处理数据的数据标识。
进一步地,为了提高数据处理的准确率,避免已经处理过的数据被重复处理,可以在目标数据库中新增关于数据处理状态的字段,具体地,所述目标数据库中还存储有各条所述可选数据对应的处理状态;步骤10还包括:
步骤101:将所述目标数据库中所述处理状态表征未处理的可选数据确定为所述未处理数据。
可以理解的是,处理状态可以取预设值,分别表征未处理、处理中、处理成功以及处理失败这四种状态类型中的一个。
步骤20:在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识。
具体地,目标节点标识用于特异性标识目标处理节点。针对排他锁,区别于共享锁等其他类型的上锁机制,当前线程在使用排他写锁锁定特定数据后,其他线程无法修改和读取这些数据,需要等待锁定数据被释放锁后才可以读写。
目标处理节点可以定时执行任务,具体可以执行如下目标sql语句:update(更新)表set(设置)nodeId=目标节点标识where status=未处理,来将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识。其中,目标sql语句中的“表”即为目标数据库中的目标数据表,“nodeId”为本发明实施例在目标数据库新增的用于存储数据的处理者信息的字段,“status”为本发明实施例在目标数据库中新增的用于记录数据的处理状态信息的字段。可选地,考虑到节点的当前数据处理能力,还可以对所标记的数据数量进行限定,如执行如下目标sql语句:update(更新)表set(设置)nodeId=目标节点标识where status=未处理limit(数量限制)N;其中,“limit N”用于限制对前N条查询到的处理状态为“未处理”的数据进行处理者信息的标记。
进一步地,为了提高数据处理的准确率,避免出现不同的处理节点重复处理相同数据的情况,如避免出现某一数据被第一节点标记后,被第二节点再次覆盖标记的情况,以及,第一节点在标记后已获取自己标记的数据进行处理的过程中,第二节点对该第一节点标记的数据覆盖标记并获取以及进行处理,由此导致在第一节点不知情的情况下,同一数据被标记两次和处理两次的情况,在本发明再一个实施例中,所述目标数据库中还存储有各条所述可选数据分别对应的处理状态,而在根据节点自身的节点标识对该节点选定的数据进行排他式标记的同时,还可以对该选定的数据在目标数据库中的处理状态进行排他式更新,更新为表征处理中的状态,从而后续该节点在获取自身标记过的数据进行处理时,所获取的是未处理的数据,并且其他节点在进行数据标记时,可以对数据的处理状态同时进行核对,仅对数据处理状态表征未处理的数据进行标记。
因此,在本发明再一实施例中,还可以包括步骤210:
在所述目标数据库中将所述未处理数据对应的所述处理状态以排他锁的方式更新为处理中。
具体地,可以执行如下目标sql语句:update(更新)表set(设置)status=处理中,nodeId=目标节点标识where status=未处理limit(数量限制)N,以对前N条查询到的处理状态为“未处理”的数据进行处理者信息的标记以及将其对应的处理状态更新为“处理中”,其中,“nodeId”为目标数据库新增的用于存储数据的处理者信息的字段,“status”为目标数据库中新增的用于记录数据的处理状态信息的字段。通过将已经被标记的数据的数据状态也修改为“处理中”,以便于后续根据处理状态以及处理者进行组合检索,提高数据处理的准确性。
步骤30:在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据。
具体地,所述处理者信息为所述目标节点标识的数据即为步骤20中以排他的方式进行标记的数据,因此,通过获取已经根据自身节点标识标记后的数据,能够在不影响其他节点的数据处理,从而实现多节点的并行数据处理。
对应地,如前所述,为了提高数据处理的准确率,可以根据处理状态以及处理者进行组合检索,得到目标数据,具体地,目标数据库中还存储有数据的处理状态,本发明实施例还包括:
步骤310:在所述目标数据库中查找所述处理者信息为所述目标节点标识并且所述处理状态为处理中的所述可选数据,得到所述目标数据。
具体地,可以执行如下的目标查询命令:select字段from表where status=处理中and nodeId=目标节点标识limit N,以查询处理状态(status)为“处理中”,处理者信息(nodeId)为目标节点标识的前N条数据。
步骤40:对所述目标数据进行处理。
通过目标处理节点对目标数据进行处理,具体地,为了进一步提高数据处理的效率,可以在目标处理节点上多线程对目标数据进行节点维度的并行处理。
在本发明的再一个实施例中,步骤40还包括:
步骤401:对所述目标数据进行多线程并行处理,得到所述处理结果。具体地,在目标处理节点中发起多个线程,通过多个线程对目标数据进行并行处理,从而提高数据处理的效率。进一步地,考虑到不同节点的资源配置情况不同,因此为了最高效地对数据进行并行处理,可以根据目标处理节点上的可用资源情况动态对处理线程的数量进行调整。因此,在本发明的再一个实施例中,步骤401还包括:
步骤4011:根据所述目标处理节点的资源配置情况建立线程池。
具体地,资源配置情况用于表征目标处理节点上的可用资源情况,线程池中包括数量动态调整的多个线程。
步骤4012:从所述线程池中调度多个线程,通过所述多个线程对所述目标数据进行并行处理。
从线程池中选取多个空闲的线程,通过该多个空闲线程对目标数据进行并行处理,进一步提高数据处理的效率。
对应地,为了进一步提高对目标数据库的管理准确率,在步骤40之后,还可以包括:
步骤402:根据所述目标数据的处理结果,在所述目标数据库中对所述目标数据对应的所述处理状态进行更新。
具体地,处理结果可以包括目标数据处理成功或处理失败,在目标数据库中将目标数据的处理状态根据处理结果更新为对应的状态类型。
在本发明的再一个实施例中,进行数据处理的过程可以参考图2以及图3,如图2所示,目标集群中的各个处理节点的操作过程可以如图3所示,各个节点1、执行update以更新前N条状态为初始状态的数据,设置status(处理状态)=处理中和nodeId(处理者)=节点ID(当前节点的标识),如为关系型数据库,可以执行sql如:update表set status=处理中,nodeId=节点ID where status=初始状态limitN。2、节点执行查询命令,查询status=处理中,nodeId=节点ID的前N条数据,如为关系型数据库,可以执行sql如:select字段from表where status=处理中and nodeId=节点ID limitN。3、对2中查询到的数据,创建线程池,多线程处理数据,数据处理完毕,根据ID更新status=处理成功/处理失败。
其中,在更新时利用了目标数据库的排他锁机制,如图4a以及图4b所示,当节点使用排他写锁锁定这些数据,其他线程无法修改和读取这些数据,需要等待锁定数据释放锁后才可以读写。图4a以及图4b中的id用于表征数据的标识。
本发明实施例基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;本发明实施例通过从目标数据库的多条可选数据中获取未处理数据的信息;在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;对所述目标数据进行处理。从而区别于现有技术中只能通过单节点进行数据处理,无法实现多节点的并行式数据处理,本发明实施例通过在目标数据库中新增用于记录数据处理者信息的字段,在进行数据处理前,先由各个处理节点根据自身的节点标识选取一定数量的未处理数据进行排他式标记,并在更新后直接获取标记有自身的节点标识的数据进行处理即可,由此在多个节点并行处理数据时也不会存在互相干扰或对数据重复处理导致数据不一致的情况,由此实现了高效且准确的多节点并行式数据处理,并且,当集群数据处理有性能问题时,可以通过动态扩容集群节点的方式有效提高处理性能。
图5示出了本发明实施例提供的数据处理装置的结构示意图。如图5所示,该装置50包括:获取模块501、更新模块502、查找模块503和处理模块504。
其中,获取模块501,用于从目标数据库的多条可选数据中获取未处理数据的信息;
更新模块502,用于在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
查找模块503,用于在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
处理模块504,用于对所述目标数据进行处理。
本发明实施例提供的数据处理装置的操作过程与前述方法实施例的操作过程大致相同,不再赘述。
本发明实施例提供的数据处理装置通过从目标数据库的多条可选数据中获取未处理数据的信息;在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;对所述目标数据进行处理。从而区别于现有技术中只能通过单节点进行数据处理,无法实现多节点的并行式数据处理,本发明实施例通过在目标数据库中新增用于记录数据处理者信息的字段,在进行数据处理前,先由各个处理节点根据自身的节点标识选取一定数量的未处理数据进行排他式标记,并在更新后直接获取标记有自身的节点标识的数据进行处理即可,由此在多个节点并行处理数据时也不会存在互相干扰或对数据重复处理导致数据不一致的情况,由此实现了高效且准确的多节点并行式数据处理,并且,当集群数据处理有性能问题时,可以通过动态扩容集群节点的方式有效提高处理性能。
图6示出了本发明实施例提供的数据处理设备的结构示意图,本发明具体实施例并不对数据处理设备的具体实现做限定。
如图6所示,该数据处理设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于数据处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。数据处理设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使数据处理设备执行以下操作:
从目标数据库的多条可选数据中获取未处理数据的信息;
在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
对所述目标数据进行处理。
本发明实施例提供的数据处理设备的操作过程与前述方法实施例的操作过程大致相同,不再赘述。
本发明实施例提供的数据处理设备通过从目标数据库的多条可选数据中获取未处理数据的信息;在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;对所述目标数据进行处理。从而区别于现有技术中只能通过单节点进行数据处理,无法实现多节点的并行式数据处理,本发明实施例通过在目标数据库中新增用于记录数据处理者信息的字段,在进行数据处理前,先由各个处理节点根据自身的节点标识选取一定数量的未处理数据进行排他式标记,并在更新后直接获取标记有自身的节点标识的数据进行处理即可,由此在多个节点并行处理数据时也不会存在互相干扰或对数据重复处理导致数据不一致的情况,由此实现了高效且准确的多节点并行式数据处理,并且,当集群数据处理有性能问题时,可以通过动态扩容集群节点的方式有效提高处理性能。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在数据处理设备上运行时,使得所述数据处理设备执行上述任意方法实施例中的数据处理方法。
可执行指令具体可以用于使得数据处理设备执行以下操作:
从目标数据库的多条可选数据中获取未处理数据的信息;
在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
对所述目标数据进行处理。
本发明实施例提供的计算机可读存储介质存储的可执行指令的执行过程与前述方法实施例的操作过程大致相同,不再赘述。
本发明实施例提供的计算机可读存储介质存储的可执行指令通过从目标数据库的多条可选数据中获取未处理数据的信息;在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;对所述目标数据进行处理。从而区别于现有技术中只能通过单节点进行数据处理,无法实现多节点的并行式数据处理,本发明实施例通过在目标数据库中新增用于记录数据处理者信息的字段,在进行数据处理前,先由各个处理节点根据自身的节点标识选取一定数量的未处理数据进行排他式标记,并在更新后直接获取标记有自身的节点标识的数据进行处理即可,由此在多个节点并行处理数据时也不会存在互相干扰或对数据重复处理导致数据不一致的情况,由此实现了高效且准确的多节点并行式数据处理,并且,当集群数据处理有性能问题时,可以通过动态扩容集群节点的方式有效提高处理性能。
本发明实施例提供一种数据处理装置,用于执行上述数据处理方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使数据处理设备执行上述任意方法实施例中的数据处理方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的数据处理方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;所述方法包括:
从目标数据库的多条可选数据中获取未处理数据的信息;
在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
对所述目标数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库中还存储有各条所述可选数据分别对应的处理状态;
所述方法还包括:
在所述目标数据库中将所述未处理数据对应的所述处理状态以排他锁的方式更新为处理中。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据,包括:
在所述目标数据库中查找所述处理者信息为所述目标节点标识并且所述处理状态为处理中的所述可选数据,得到所述目标数据。
4.根据权利要求1所述的方法,其特征在于,所述目标数据库中还存储有各条所述可选数据对应的处理状态;所述从目标数据库中的多条可选数据中获取未处理数据的信息,包括:
将所述目标数据库中所述处理状态表征未处理的可选数据确定为所述未处理数据。
5.根据权利要求1所述的方法,其特征在于,所述对所述目标数据进行处理,包括:
对所述目标数据进行多线程并行处理,得到所述处理结果。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标数据进行多线程并行处理,得到所述处理结果,包括:
根据所述目标处理节点的资源配置情况建立线程池;
从所述线程池中调度多个线程,通过所述多个线程对所述目标数据进行并行处理。
7.根据权利要求1所述的方法,其特征在于,所述目标数据库中还存储有各条所述可选数据对应的处理状态;
在所述对所述目标数据进行处理之后,包括:
根据所述目标数据的处理结果,在所述目标数据库中对所述目标数据对应的所述处理状态进行更新。
8.一种数据处理装置,其特征在于,所述装置基于目标处理节点;所述目标处理节点为预设的节点集群中包括的多个可选处理节点中的任意一个;所述装置包括:
获取模块,用于从目标数据库的多条可选数据中获取未处理数据的信息;
更新模块,用于在所述目标数据库中将所述未处理数据对应的处理者信息以排他锁的方式更新为所述目标处理节点的目标节点标识;
查找模块,用于在所述目标数据库中查找所述处理者信息为所述目标节点标识的数据作为目标数据;
处理模块,用于对所述目标数据进行处理。
9.一种数据处理设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的数据处理方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在数据处理设备上运行时,使得数据处理设备执行如权利要求1-7任意一项所述的数据处理方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263108.5A CN117312341A (zh) | 2023-09-27 | 2023-09-27 | 数据处理方法、装置、设备以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263108.5A CN117312341A (zh) | 2023-09-27 | 2023-09-27 | 数据处理方法、装置、设备以及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312341A true CN117312341A (zh) | 2023-12-29 |
Family
ID=89254860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311263108.5A Pending CN117312341A (zh) | 2023-09-27 | 2023-09-27 | 数据处理方法、装置、设备以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312341A (zh) |
-
2023
- 2023-09-27 CN CN202311263108.5A patent/CN117312341A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619430B2 (en) | Active non-volatile memory post-processing | |
US9740525B2 (en) | Scaling priority queue for task scheduling | |
US9852180B2 (en) | Systems and methods of accessing distributed data | |
CN108459913B (zh) | 数据并行处理方法、装置及服务器 | |
CN113312175B (zh) | 一种算子确定、运行方法及装置 | |
US8626799B2 (en) | Mapping data structures | |
US20240045787A1 (en) | Code inspection method under weak memory ordering architecture and corresponding device | |
CN113010286A (zh) | 并行任务调度方法、装置、计算机设备和存储介质 | |
CN110908968B (zh) | 一种文件锁解锁时避免惊群的方法、装置、设备及存储介质 | |
US8543722B2 (en) | Message passing with queues and channels | |
CN114237892A (zh) | 键值数据的处理方法、装置、电子设备及存储介质 | |
US8341368B2 (en) | Automatic reallocation of structured external storage structures | |
US10303687B2 (en) | Concurrent processing of data sources | |
CN115951845B (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
US20170344627A1 (en) | System for lightweight objects | |
US11281666B2 (en) | Interception of database queries for delegation to an in memory data grid | |
CN117312341A (zh) | 数据处理方法、装置、设备以及计算机存储介质 | |
CN109976881B (zh) | 事务识别方法和装置、存储介质以及电子装置 | |
US10310857B2 (en) | Systems and methods facilitating multi-word atomic operation support for system on chip environments | |
US9537941B2 (en) | Method and system for verifying quality of server | |
CN115712524A (zh) | 数据恢复方法及装置 | |
CN105912394B (zh) | 线程处理方法和系统 | |
CN113961586A (zh) | 一种sql语句的控制方法及装置 | |
CN114327828B (zh) | 一种共享数据的无锁并发访问方法、装置、设备及介质 | |
CN115292053B (zh) | 移动端cnn的cpu、gpu、npu统一调度方法 |
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 |