CN114185896A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114185896A CN114185896A CN202111527547.3A CN202111527547A CN114185896A CN 114185896 A CN114185896 A CN 114185896A CN 202111527547 A CN202111527547 A CN 202111527547A CN 114185896 A CN114185896 A CN 114185896A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- target
- synchronized
- synchronization
- 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 abstract description 15
- 238000005192 partition Methods 0.000 claims abstract description 170
- 230000001360 synchronised effect Effects 0.000 claims abstract description 146
- 230000005540 biological transmission Effects 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000000638 solvent extraction Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000012986 modification Methods 0.000 claims description 125
- 230000004048 modification Effects 0.000 claims description 125
- 230000008569 process Effects 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000003066 decision tree Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008439 repair process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、电子设备及存储介质,应用于数据处理技术领域。其中方法包括:获取第一数据表,根据预设分区规则对第一数据表进行分区处理,得到多个分区以及每个分区关联的待同步数据,根据多个分区创建多个第二数据表,构建第一数据表与每个第二数据表的数据传输链路,根据每个第二数据表关联的待同步数据确定每个第二数据表的目标设备资源,根据该目标设备资源确定数据同步顺序,按照数据同步顺序,根据目标设备资源和数据传输链路,将第一数据表中的待同步数据同步至每个第二数据表,得到多个数据同步后的第二数据表。采用本申请,可以提高数据分区效率。本申请涉及区块链技术,如可从区块链获取第一数据表。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
当数据表中的数据量过大时,导致数据库在对该数据表进行查询或修改的时候耗时太长,数据库性能低下,如果涉及数据的联合查询时,数据库性能会更加糟糕。因此针对数据表的分区处理十分重要。现有的分区方式通常由相关业务人员基于待分区表创建分区表,然后按照待分区表的数据顺序对分区表进行数据同步。然而,发明人意识到该方式可能会导致数据分区的效率低。因此,如何在保证数据稳定分区下提高数据分区效率成为一个亟待解决的问题。
发明内容
本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,可以提高提高数据分区的效率,以及提高数据分区处理的稳定性。
一方面,本申请实施例提供了一种数据处理方法,该方法包括:
获取第一数据表;
根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
一方面,本申请实施例提供了一种数据处理装置,该装置包括:
获取模块,用于获取第一数据表;
处理模块,用于根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
所述处理模块,还用于根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
所述处理模块,还用于构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
确定模块,用于分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
所述确定模块,还用于根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
同步模块,用于按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
一方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,其中,存储器用于存储计算机程序,该计算机程序包括程序指令,处理器被配置用于调用该程序指令,以执行上述方法中的部分或全部步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时,用于执行上述方法中的部分或全部步骤。
本申请实施例中,获取第一数据表,根据预设分区规则对第一数据表进行分区处理,得到多个分区以及每个分区关联的待同步数据,根据多个分区创建多个第二数据表,构建第一数据表分别与每个第二数据表的数据传输链路,分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源,根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序,按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表。通过实施上述方法,可以确定在对第二数据表正常同步时所需的目标设备资源,并根据该目标设备资源确定最佳的同步顺序,基于该同步顺序依次进行数据同步时,占用对应的目标设备资源以保证数据表分区的正常运行,实现了设备资源的调度和分配,可以提高数据分区的效率和稳定性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用架构的示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种数据处理方法的流程示意图;
图4为本申请实施例提供的一种数据处理装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提出的数据处理方法实现于电子设备,该电子设备可以为终端设备或服务器。其中,终端设备可以为智能手机、平板电脑、笔记本电脑、台式计算机等。服务器可以是独立的服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。本申请涉及区块链技术,电子设备可将涉及的数据如多个数据同步后的第二数据表等写入区块链中,以便于电子设备可以在区块链上获取所需信息,如基于数据获取指令从多个数据同步后的第二数据表中获取目标数据等。
请参见图1,图1为本申请实施例提供的一种应用架构的示意图,可以通过该应用架构执行本申请所提出的数据处理方法。具体的,图1可以包括电子设备、目标数据库以及分区数据库。其中,电子设备可以通过执行本申请的技术方案,根据目标数据库中满足数据分区条件的目标数据表得到第一数据表,该第一数据表即为用于对目标数据表进行备份的数据表,并对第一数据表进行分区处理得到多个分区(分区1-4),以及在分区数据库中为每个分区创建一个第二数据表(第二数据表1-4),构建第一数据表分别与每个第二数据表的数据传输链路,并确定每个第二数据表的目标设备资源,基于数据传输链路和目标设备资源实现从第一数据表分别到每个第二数据表的数据同步,以实现针对目标数据表(也即第一数据表)的数据分区。
其中,该图1中仅示出4个分区以及对应的4个第二数据表,此时对分区和第二数据表的数量不做限制。以及,图1所示的目标数据库和分区数据库位于不同设备,且不位于电子设备,电子设备还可以接收操作指令以对目标数据库和/或分区数据库中的数据进行数据操作。可选的,目标数据库和分区数据库可以是相同数据库,也可以是不同数据库但位于相同设备,如可以均位于电子设备中或者其他设备中,以及第一数据表还可以位于目标数据库或者分区数据库,或者位于备份数据库中,该备份数据库可以和目标数据库(或分区数据库)可以是相同数据库,也可以是不同数据库但位于相同设备,如可以均位于电子设备中或者其他设备中。
可以理解的是,图1只是示例性地表征本申请技术方案所提出的应用架构,并不对本申请技术方案的具体架构进行限定,即本申请技术方案还可以提供其他形式的应用架构。
在一些实施例中,电子设备可以根据实际的业务需求,执行该数据处理方法,以提高数据分区效率。本申请技术方案可以应用于任意数据表的分区场景中。例如,电子设备可以获取待分区的第一数据表,并根据预设分区规则和第一数据表得到多个用于数据同步的第二数据表,构建每个第二数据表的数据传输链路,确定每个第二数据表的目标设备资源,根据数据传输链路和目标设备资源将第一数据表中的数据分别同步到多个第二数据表中,得到多个数据同步后的第二数据表,即实现了对第一数据表的数据分区,通过目标设备资源确定最佳的同步顺序,以及实现设备资源的分配和调度,提高了数据分区的稳定性。
可以理解的是,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的描述,本申请实施例提出了一种数据处理方法,该方法可以由上述提及的电子设备来执行。如图2所示,本申请实施例的数据处理方法的流程可以包括如下:
S201、获取第一数据表。
其中,第一数据表可以是根据目标数据库中的待分区数据表得到的,如将该待分区数据表直接作为第一数据表,或者将对该待分区数据表进行备份后得到的数据表作为第一数据表;或者,第一数据表还可以为其他设备传输的数据表,或者本地存储的数据表等等,本申请不做限定。可选的,第一数据表可以是任一指定的数据表,也可以是满足数据分区条件的数据表。例如,数据分区条件可以是指满足预设数据量(如百万级乃至千万级甚至更多条数据)的数据表,或者满足预设创建时间(如XX年所创建的)的数据表。
S202、根据预设分区规则对第一数据表进行分区处理,得到多个分区以及多个分区中每个分区在第一数据表中关联的待同步数据。
其中,该第一数据表即为待分区表,以及预设分区规则可以是根据第一数据表的内部属性或者固定字段设置的。例如,预设分区规则可以是按照数据存储时间进行分区,如按照1-6月、7-12月进行数据分区;或者,可以是按照固定容量进行分区,如按照每100条数据进行一次数据分区;或者,还可以有其他分区方式,此处对具体的分区规则不做限制。
在一些实施例中,电子设备可以根据预设分区规则对第一数据表进行分区处理,得到多个分区以及每个分区在第一数据表中关联的待同步数据,该在第一数据表中关联的待同步数据为,在数据分区时要同步到对应的分区中的数据。可以理解的是,每个分区所关联的待同步数据不相同,即不存在第一数据表中数据会存储在两个或两个以上的分区中。
例如,预设分区规则为按照数据存储时间(设按照1-6月、7-12月)进行分区,则对第一数据表进行分区处理,得到两个分区,因此两个分区中的分区1在第一数据表中关联的待同步数据为第一数据表中存储时间为1-6月的数据,即后续会将该存储时间为1-6月的数据同步至分区1,以及两个分区中的分区2在第一数据表中关联的待同步数据为第一数据表中存储时间为7-12月的数据,即后续会将该存储时间为7-12月的数据同步至分区2。
S203、根据多个分区创建多个第二数据表。
其中,一个分区对应一个第二数据表。
在一些实施例中,电子设备可以根据多个分区,在每个分区中创建一个第二数据表,该第二数据表用于存储分区关联的待同步数据,即该第二数据表为分区表,针对第一数据表的数据分区处理即为将第一数据表中的数据同步到对应的多个第二数据表中。此时的第二数据表为空白的分区表,且第二数据表的表结构与第一数据表相同。该多个分区以及多个第二数据表可以是位于电子设备中,也可以是位于目标数据库中的,还可以是位于其他设备集群中,如可以是每个分区(每个第二数据表)分别在设备集群中的不同设备中。
可以理解的是,在得到多个分区之后,为每个分区创建的第二数据表用于同步每个分区关联的待同步数据,后续在完成分区表的数据同步后,若存在新增数据,该新增数据也会按照与分区之间的对应关系来写入,如新增数据包含的地区字段为地区1,则该新增数据写入为地区1对应的分区所创建的分区表中,替换数据和删除数据时也同理,即找到该替换数据(或删除数据)对应的分区,并在为该分区创建的分区表中进行指定数据的替换(或指定数据的删除)。
S204、构建第一数据表分别与多个第二数据表中每个第二数据表的数据传输链路。
在一些实施例中,电子设备搭建第一数据表分别与每个第二数据表的数据传输链路,该数据传输链路用于将第一数据表中的待同步数据传输到对应的第二数据表中,以实现第一数据表分别到多个第二数据表的数据同步。该数据传输链路在用于数据同步时,还可以监测所同步的数据的变化情况,即每条数据传输链路可以在进行数据同步时,捕获到对应的待同步数据的变化情况(即数据修改记录),以根据该变化情况保证数据同步的一致性。
S205、分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源。
其中,目标设备资源可以包括电子设备在进行数据同步时所需要的占用的设备资源,如将位于电子设备的第一数据表中的待同步数据传输到对应的第二数据表中时,为保证数据正常传输而在电子设备中所需要的设备资源,可以在电子设备中占用该所需要的设备资源;或者将位于其他设备的第一数据表中的待同步数据传输到对应的第二数据表中时,为保证数据正常传输而在其他设备中所需要的设备资源,电子设备可以在其他设备中占用该所需要的设备资源。可选的,该目标设备资源可以是负载资源(如CPU(中央处理器,central processing unit)资源),或者,可以是内存资源等等。
在一些实施例中,每个第二数据表所需要占用的目标设备资源与每个第二数据表对应的分区所关联的待同步数据所指示的数据量相关,该数据量不同,第二数据表的目标设备资源也不同,可以理解的是,数据量越大,在保证数据传输速率的前提下所需要的目标设备资源也会越多。在一些实施例中,电子设备可以根据数据量与设备资源的映射关系,并基于每个第二数据表关联的待同步数据所指示的数据量确定每个第二数据表的目标设备资源。该映射关系可以是相关业务人员根据经验值设置的。或者,还可以是电子设备将每个第二数据表关联的待同步数据所指示的数据量分别输入预设的资源预测模型,由该资源预测模型基于数据量所预测得到的。该资源预测模型可以由样本集(样本数据量和样本设备资源)对待训练的资源预测模型进行训练后得到的。
S206、根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序。
在一些实施例中,若目标设备资源包括负载资源或内存资源时,电子设备根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序可以是,按照目标设备资源所指示的值从小到大(或者从大到小)的顺序,对多个第二数据表进行排序,得到针对多个第二数据表的数据同步顺序。
在一些实施例中,若目标设备资源包括负载资源和内存资源时,电子设备根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序可以是,根据每个第二数据表对应的负载资源的指示值和对应的内存资源的指示值确定每个第二数据表的资源综合指标,按照资源综合指标所指示的值从小到大(或者从大到小)的顺序,对多个第二数据表进行排序,得到针对多个第二数据表的数据同步顺序。
其中,以每个第二数据表中的任一第二数据表为目标第二数据表为例,根据每个第二数据表对应的负载资源的指示值和对应的内存资源的指示值确定每个第二数据表的资源综合指标具体可以是,对目标第二数据表对应的负载资源的指示值和对应的负载资源的指示值进行加权求和,将加权求和的结果作为目标第二数据表对应的资源综合指标。该用于加权求和的加权系数可以由相关业务人员根据经验值设置。
S207、按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表。
在一个可能的实施方式中,电子设备可以按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源进行资源占用,并在所占用的目标设备资源中,通过对应的数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表。通过数据同步顺序和占用目标设备资源可以实现对设备资源的调度和分配,通过占用目标设备资源可以保证每个第二数据表在数据同步时的稳定进行,进而提高数据分区的稳定性和效率。
可以理解的是,在电子设备占用目标设备资源以进行对第二数据表的数据同步时,当该第二数据表同步完成后,则释放该目标设备资源,以用于后续第二数据表的数据同步。以及可选的,在占用目标设备资源时,确定此时的剩余的可用设备资源,若可用设备资源大于或等于下一个第二数据表的目标设备资源时,则可以继续占用该下一个第二数据表的目标设备资源以进行下一个第二数据表的数据同步。可以有效地对设备资源进行分配,提高设备资源利用率。
例如,数据同步顺序为第二数据表A、第二数据表B和第三数据表C,占用第二数据表A对应的目标设备资源A并利用第二数据表A对应的数据传输链路对第二数据表A进行数据同步,并在同步完成后,释放该目标设备资源A,占用第二数据表B对应的目标设备资源B并利用第二数据表B对应的数据传输链路对第二数据表B进行数据同步,若在此时剩余的可用设备资源大于或等于第二数据表C对应的目标设备资源C时,占用目标设备资源C并利用第二数据表C对应的数据传输链路对第二数据表C进行数据同步,在数据同步完成后,释放所占用的目标设备资源。
在一些实施例中,电子设备通过对应的数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表可以是,通过对应的数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个过渡第二数据表,并基于对应的数据传输链路,获取在同步过程中,第一数据表上针对待同步数据的数据修改记录,并根据数据修改记录对相应的过渡第二数据表进行修正,得到多个数据同步后的第二数据表。通过获取在同步过程中的数据修改记录以进行第二数据表中的数据修正,可以保证数据同步(数据分区)的一致性。其中,数据修改记录表示对这部分待同步数据的修改操作,如数据删除(即在待同步数据中删除指定数据)、添加(即在待同步数据中指定数据)或者数据替换(即在待同步数据中将指定原数据替换为指定的新数据)等。
例如,在通过第二数据表A的数据传输链路,将第一数据表中第二数据表A所对应的待同步数据A同步至第二数据表A中,得到过渡第二数据表A,基于第二数据表A的数据传输链路,获取在同步过程中,第一数据表上针对待同步数据A的数据修改记录,根据该数据修改记录对过渡第二数据表A进行修正,得到数据同步后的第二数据表A,即完成第二数据表A的数据同步(对第二数据表A的数据分区处理)。
本申请实施例中,电子设备可以获取第一数据表,根据预设分区规则对第一数据表进行分区处理,得到多个分区以及多个分区中每个分区在第一数据表中关联的待同步数据,根据多个分区创建多个第二数据表,构建第一数据表分别与多个第二数据表中每个第二数据表的数据传输链路,分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源,根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序,按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表。通过实施上述方法,可以确定在对第二数据表正常同步时所需的目标设备资源,并根据该目标设备资源确定最佳的同步顺序,基于该同步顺序依次进行数据同步时,占用对应的目标设备资源以保证数据表分区的正常运行,实现了设备资源的调度和分配,可以提高数据分区的效率和稳定性。
请参见图3,图3为本申请实施例提供的一种数据处理方法的流程示意图,该方法可以由上述提及的电子设备执行。如图3所示,本申请实施例中数据处理方法的流程可以包括如下:
S301、获取第一数据表。
在一些实施例中,该第一数据表可以是根据目标数据库中的待分区数据表得到的,即可以是在电子设备检测到目标数据库中的目标数据表满足预设的数据分区条件时,在备份数据库中创建目标数据表对应的备份数据表,将目标数据表中的数据同步至备份数据表,得到第一数据表。
可选的,若在将数据同步过程中,目标数据表中的数据会发生变动,即可以按照强一致性的方式确保目标数据表与第一数据表中的数据相同。即可以是,将目标数据表中的数据同步至备份数据表,得到过渡备份数据表,若在同步过程中检测到针对目标数据表中的已同步数据的修改操作指令,基于修改操作指令的指示,在目标数据表中对已同步数据进行修改,并将修改的已同步数据的状态设备为禁止修改状态,基于修改操作指令的指示,对过渡备份数据表进行修改,得到修改后的过渡备份数据表,根据修改后的过渡备份数据表得到第一数据表。将修改的已同步数据的状态设置为禁止修改状态,是为了防止在对过渡备份数据表进行修改时,该目标数据表中的修改的已同步数据被再次修改,因此之后在对过渡备份数据表进行修改之后,才可以对目标数据表中的修改的已同步数据进行修改,以实现强一致性。
其中,对已同步数据的修改操作指令包括但不限于:新增数据、删除数据、替换数据等。在将目标数据表中的数据全部同步至备份数据表之后,将此时得到的修改后的过渡备份数据表作为第一数据表。后续,在得到第一数据表之后,若接收到针对目标数据表中数据的修改操作指令时,仍可以按照该方式保证第一数据表中的数据与目标数据表一致。
例如,电子设备将目标数据表中数据同步至备份数据表,在同步过程中,设已同步的数据包括数据A,若检测到针对数据A的修改操作指令(设指示将数据A替换为数据B),将目标数据表中的数据A替换为数据B,并将该数据B的状态设置为禁止修改状态,基于修改操作指令,将过渡备份数据表中的数据表A修改为数据表B,并在修改完成后将目标数据表中的数据B的状态更改为可修改状态。
S302、根据预设分区规则对第一数据表进行分区处理,得到多个分区以及多个分区中每个分区在第一数据表中关联的待同步数据。
S303、根据多个分区创建多个第二数据表。
S304、构建第一数据表分别与多个第二数据表中每个第二数据表的数据传输链路。其中,步骤S302-S304的具体实施方式可以参见上述实施例的相关描述,此处不再赘述。
S305、分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源。
其中,目标设备资源可以为设备的负载资源和/或内存资源。
在一个可能的实施方式中,每个第二数据表中的任一第二数据表表示为目标第二数据表,电子设备分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源可以是,获取目标第二数据表对应的目标分区所关联的目标待同步数据的历史数据修改记录,根据历史数据修改记录确定目标待同步数据的数据修改频率,根据目标待同步数据所指示的数据量和数据修改频率确定目标第二数据表的目标设备资源。
可以理解的是,目标待同步数据所指示的数据量越多,所需的目标设备资源也越多,以及在数据同步中,还会获取对目标待同步数据的数据修改记录,利用该数据修改记录进行数据修正,因此在获取数据修改记录时,也需要目标设备资源。电子设备可以获取历史数据修改记录,该历史数据修改记录为目标待同步数据在指定时间段内的数据修改记录,该数据修改记录为对目标待同步数据整体的修改行为,如删除数据、替换数据、新增数据等,然后可以根据该历史数据修改记录来确定目标待同步数据的数据修改频率,可以通过该数据修改频率预测出目标待同步数据在数据同步过程中,数据修改的频繁程度,即可以结合该数据修改频率来确定目标设备资源。
在一些实施例中,电子设备根据目标待同步数据所指示的数据量和数据修改频率确定目标第二数据表的目标设备资源可以是,根据数据量和数据修改频率与设备资源的映射关系,并基于目标待同步数据所指示的数据量和对应的数据修改频率确定目标第二数据表的目标设备资源。该映射关系可以是相关业务人员根据经验值设置的。
在一些实施例中,电子设备根据目标待同步数据所指示的数据量和数据修改频率确定目标第二数据表的目标设备资源还可以是,将目标待同步数据所指示的数据量和数据修改频率输入资源预测模型,由资源预测模型进行预测得到目标第二数据表的目标设备资源。其中,资源预测模型可以为预训练的梯度提升树模型,因此电子设备可以将该指示的数据量和数据修改频率输入该梯度提升树模型,由梯度提升树模型包括的各个决策树根据指示的数据量和数据修改频率进行特征划分,得到在各个决策树划分到的叶子节点,根据叶子节点对应的节点值确定目标第二数据表的目标设备资源。
在一些实施例中,梯度提升树模型可以包括K个决策树(K为正整数),该K个决策树中的每个决策树均包括多个叶子节点,在对预训练的梯度提升树模型进行模型训练后,该训练好的梯度提升树模型中的K个决策树均包括多个具有训练好的对应数值的叶子节点。电子设备根据划分的多个节点对应的数值确定目标第二数据表的目标设备资源(以内存资源为例)可以是,将划分的多个节点对应的数值进行均值计算,将均值计算结果确定为目标第二数据表的目标设备资源。例如,梯度提升树模型含有两个决策树1和决策树2,在决策树1中,根据特征划分,得到的划分节点为a节点,a节点对应的数值为A;在决策树2中,根据特征划分,得到的划分节点为b节点,b节点对应的数值为B,即目标第二数据表的目标内存资源y=(A+B)/2。
S306、根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序。其中,步骤S306的具体实施方式可以参见上述实施例的相关描述,此处不再赘述。
S307、按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个过渡第二数据表。
在一些实施例中,电子设备在确定了数据同步顺序之后,则按照数据同步顺序的指示,依次进行第二数据表的数据同步,以实现对第一数据表的数据分区。设每个第二数据表中的任一第二数据表表示为目标第二数据表,第一数据表与目标第二数据表的数据传输链路表示为目标数据传输链路,目标第二数据表对应的目标分区所关联的待同步数据为目标待同步数据,因此电子设备在依次为目标第二数据表占用了对应的目标设备资源之后,根据目标第二数据表的目标设备资源和目标数据传输链路,将第一数据表中的目标待同步数据同步至目标第二数据表中,得到过渡目标第二数据表,此时的过渡目标第二数据表为将目标待同步数据进行数据同步后的数据表。
可选的,在一些实施例中,除了根据目标设备资源所指示值先确定数据同步顺序,然后在根据数据同步顺序的指示依次进行数据分区。还可以根据每个第二数据表的目标设备资源以及剩余的可用设备资源确定数据同步顺序,即可以是在进行数据分区的过程中确定数据同步顺序,并根据该数据同步顺序依次确定要进行数据同步的第二数据表。其具体可以是,首先从每个第二数据表中选取一个第二数据表(可以是指定的,也可以是随机选取的)作为要进行数据同步的第二数据表(设为第二数据表①),为第二数据表①占用对应的目标设备资源,并根据所占用的目标设备资源以及第二数据表①的数据传输链路,对第二数据表①进行数据同步,此时判断其余第二数据表(除第二数据表①之外)的目标设备资源是否存在小于或等于剩余的可用设备资源的第二数据表,若不存在,则在检测到第二数据表①的目标设备资源释放之后,从其余第二数据表中(除第二数据表①之外)选取一个第二数据表按照上述第二数据表①的方式进行数据同步;若存在(设存在的第二数据表为第二数据表②),则为第二数据表②占用对应的目标设备资源,并根据所占用的目标设备资源以及第二数据表②的数据传输链路,对第二数据表②进行数据同步,以及还可以进一步判断其余第二数据表(除第二数据表①和第二数据表②之外)的目标设备资源是否存在小于或等于此时剩余的可用设备资源的第二数据表,若存在则按照上述第二数据表②的方式进行数据同步,若不存在则在检测到有目标设备资源释放之后,再进行判断。由此,实现针对多个第二数据表的数据同步。
例如,多个第二数据表包括第二数据表①、第二数据表②和第二数据表③,因此根据每个第二数据表的目标设备资源以及剩余的可用设备资源确定数据同步顺序,并进行数据分区的过程可以如下:
(1)为第二数据表①占用对应的目标设备资源,以对第二数据表①进行数据同步;
(2)确定第二数据表②对应的目标设备资源和第二数据表③对应的目标设备资源是否小于或等于剩余的可用设备资源:
a)若第二数据表②对应的目标设备资源和第二数据表③对应的目标设备资源均小于或等于时,则选取目标设备资源最大的第二数据表(设第二数据表②),为第二数据表②占用对应的目标设备资源,以对第二数据表②进行数据同步;
b)若只有第二数据表②对应的目标设备资源小于或等于时,则为第二数据表②占用对应的目标设备资源,以对第二数据表②进行数据同步;
c)若第二数据表②对应的目标设备资源和第二数据表③对应的目标设备资源均小于时,则不进行操作;
(3)当检测到为第二数据表①占用的目标设备资源释放时:
基于a)或b),确定当前第二数据表③对应的目标设备资源是否小于或等于此时剩余的可用设备资源,若小于或等于,则为第二数据表③占用对应的目标设备资源,以对第二数据表③进行数据同步;若大于,则不进行操作;
基于c),确定当前第二数据表②对应的目标设备资源和第二数据表③对应的目标设备资源是否小于或等于剩余的可用设备资源,并按照上述步骤(2)中的描述继续执行,直至将所有第二数据表同步完成,得到多个数据同步后的第二数据表。
S308、获取针对第一数据表的数据修改记录。
在一些实施例中,电子设备基于数据传输链路,获取在对第二数据表进行同步过程中,针对第一数据表中与正常同步的第二数据表关联的待同步数据的数据修改记录。即电子设备基于目标数据传输链路,获取在同步过程中,第一数据表上针对目标待同步数据的数据修改记录。
在一些实施例中,若第一数据表为目标数据库中的目标数据表的备份数据表时,基于目标数据传输链路,获取在同步过程中,针对目标待同步数据的数据修改记录具体可以是,在同步过程中,当检测到在目标数据表中针对目标待同步数据的修改操作指令时,采用强一致性对目标数据表以及第一数据表进行修改操作指令所指示的数据修改,以及在对第一数据表进行修改之后,通过目标数据传输链路捕获该修改操作指令,并根据该修改操作指令得到针对目标待同步数据的数据修改记录。
S309、根据数据修改记录对多个过渡第二数据表进行修正,得到多个数据同步后的第二数据表。
在一些实施例中,电子设备可以根据针对待同步数据的数据修改记录,对多个过渡第二数据表进行修正,得到多个数据同步后的第二数据表。即电子设备可以根据针对目标待同步数据的数据修改记录对过渡目标第二数据表进行修正,得到数据同步后的目标第二数据表,即完成对第一数据表的数据分区。可以理解的是,对第二数据表进行数据同步的过程则为,将关联的待同步数据同步到对应的第二数据表中,得到过渡第二数据表,并获取在同步过程中对该关联的待同步数据的数据修改记录,利用该数据修改记录对过渡第二数据表进行修正,得到对应的数据同步后的第二数据表,该修正过程可以保证数据的一致性。
例如,对目标第二数据表进行数据同步(数据分区)即为,为目标第二数据表占用对应的目标设备资源,利用该目标设备资源并通过目标数据传输链路,将在第一数据表中的目标待同步数据同步至目标第二数据表中,得到过渡目标第二数据表,并基于目标数据传输链路获取在该同步过程中,在第一数据表中针对目标待同步数据的数据修改记录,并利用该数据修改记录对过渡目标第二数据表进行修正,得到数据同步后的目标第二数据表,并将占用的目标设备资源释放。
在一些实施例中,在得到多个数据同步后的第二数据表后,可以将对目标数据表(或称第一数据表)的访问切换至多个数据同步后的第二数据表,即基于在目标数据表上索引,在多个数据同步后的第二数据表中创建对应的索引,即原先在目标数据表上访问数据,之后在多个数据同步后的第二数据表进行对应的访问,或可以对多个数据同步后的第二数据表进行重命名,该重命名与目标数据表的表名相同。
因此,电子设备若接收到针对第一数据表所存储数据的操作指令时,获取操作指令所指示的待操作数据,确定待操作数据的所属分区,对所属分区对应的数据同步后的第二数据表执行操作指令所指示的数据操作,得到数据操作结果。该操作指令所指示的数据操作可以是数据修改操作或数据查询操作等,即当接收到针对目标数据表所存储数据(目标数据表中所存储数据与第一数据表中所存储数据是相同的,因此对目标数据表中所存储数据的操作指令可以理解为是对第一数据表中所存储数据的操作指令)的操作指令时,从对应的多个数据同步后的第二数据表根据该操作指令的指示进行数据操作,得到数据操作结果。
在一些实施例中,每个分区对应的一个第二数据表,由一个数据表进行数据同步得到一个数据同步后的第二数据表,因此一个分区对应一个数据同步后的第二数据表,电子设备在获取操作指令所指示的待操作数据,可以确定待操作数据的所属分区,该待操作数据的所属分区可以理解为是可以在对应的数据同步后的第二数据表执行所指示的数据操作的分区。该待操作数据的所属分区可以为一个或多个。
例如,针对目标数据表所存储数据的操作指令为查询满足预设查询条件的数据,则待操作数据为满足预设查询条件的数据,由于可以从每个分区对应的数据同步后的第二数据表中执行该操作指令所指示的数据操作以得到满足预设查询条件的数据,因此该待操作数据的所属分区为该多个分区,以及从该多个分区对应的多个数据同步后的第二数据表中查询满足预设查询条件的数据。又如针对目标数据表所存储数据的操作指令为将数据A替换为数据B,则待操作数据为数据A,由于只能在数据A所在的数据同步后的第二数据表中执行所指示的数据操作以实现数据替换,因此该待操作数据的所属分区为数据A所在的数据同步后的第二数据表对应的分区,以及从该分区对应的数据同步后的第二数据表中将数据A替换为数据B。
可选的,在一些实施例中,在得到多个数据同步后的第二数据表之后,还可以对多个数据同步后的第二数据表进行验证,以确保该多个数据同步后的第二数据表无误。待监测数据表为多个数据同步后的第二数据表中的数据同步后的第二数据表,其具体可以是,获取在目标时间段内对待监测数据表执行数据操作所得到的操作日志,该操作日志包括基于执行数据操作后得到的数据操作记录,数据操作记录包括数据操作对应的数据操作结果,该数据操作结果可以包括该数据操作是否执行异常,以及执行异常的原因;基于待监测数据表的数据传输链路,获取待检测数据表在目标时间段内的目标数据修改记录,若在目标时间段内,待检测数据表的操作日志中不存在异常的数据操作记录,则断开待监测数据表的数据传输链路,并在所有数据同步后的第二数据表均不存在异常的数据操作记录时,删除该第一数据表;若在目标时间段内,待监测数据表的操作日志中存在异常的数据操作记录,则根据目标数据修改记录对目标数据表进行修正,并在接收到针对第一数据表所存储数据的操作指令时,对修正后的目标数据表执行操作指令所指示的数据操作,以及基于执行异常的原因对待监测数据表进行异常修复处理。可以理解的是,在得到多个数据同步后的第二数据表之后,接收到操作指令时,是对该多个数据同步后的第二数据表执行所指示的数据操作,若多个数据同步后的第二数据表中有数据同步后的第二数据表出现异常,则将对该异常的数据同步后的第二数据表的访问重新切换至目标数据表,即在需要对异常的数据同步后的第二数据表执行数据操作时,对该目标数据表执行操作。
在一些实施例中,得到多个数据同步后的第二数据表之后,电子设备在接收到操作指令时,会对数据同步后的第二数据表执行所述操作指令所指示的数据操作,因此在执行了数据操作之后,则生成对应的数据操作记录,以及目标时间段内,当该数据操作为数据修改操作时,则在执行了该数据修改操作之后,生成对应的目标数据修改记录,该目标数据修改记录用于在发生执行异常时,对目标数据表进行修正。例如,数据修改操作对将数据A替换为数据B,此时仅对数据同步后的第二数据表执行了该操作,当该数据同步后的第二数据表发生异常时,则将目标数据表中对应位置的数据A替换为数据B,并在访问该异常的数据同步后的第二数据表时,切换访问该目标数据表。其中,异常的数据操作记录即为数据操作结果指示该数据操作执行异常的数据操作记录。即在目标时间段内,确定多个数据同步后的第二数据表无问题,则删除第一数据表,并下线目标数据表,后续直接应用该多个数据同步后的第二数据表。
本申请实施例中,电子设备可以获取第一数据表,根据预设分区规则对第一数据表进行分区处理,得到多个分区以及多个分区中每个分区在第一数据表中关联的待同步数据,根据多个分区创建多个第二数据表,构建第一数据表分别与多个第二数据表中每个第二数据表的数据传输链路,分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源,根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序,按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个过渡第二数据表,获取针对第一数据表的数据修改记录,根据数据修改记录对多个过渡第二数据表进行修正,得到多个数据同步后的第二数据表。通过实施上述方法,可以确定在对第二数据表正常同步时所需的目标设备资源,并根据该目标设备资源确定最佳的同步顺序,基于该同步顺序依次进行数据同步时,占用对应的目标设备资源以保证数据表分区的正常运行,实现了设备资源的调度和分配,可以提高数据分区的效率和稳定性。
请参见图4,图4为本申请提供的一种数据处理装置的结构示意图。需要说明的是,图4所示的数据处理装置,用于执行本申请图2和图3所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示,请参照本申请图2和图3所示的实施例。该数据处理装置400可包括:获取模块401、处理模块402、确定模块403、同步模块404。其中:
获取模块401,用于获取第一数据表;
处理模块402,用于根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
所述处理模块402,还用于根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
所述处理模块402,还用于构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
确定模块403,用于分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
所述确定模块403,还用于根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
同步模块404,用于按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
在一个可能的实施方式中,所述同步模块404在用于得到多个数据同步后的第二数据表之后,还用于:
若接收到针对所述第一数据表所存储数据的操作指令,获取所述操作指令所指示的待操作数据;
确定所述待操作数据的所属分区;
对所述所属分区对应的数据同步后的第二数据表执行所述操作指令所指示的数据操作,得到数据操作结果。
在一个可能的实施方式中,所述确定模块403在用于分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源时,具体用于:
获取目标第二数据表对应的目标分区所关联的目标待同步数据的历史数据修改记录;所述目标第二数据表为所述每个第二数据表中的任一第二数据表;
根据所述历史数据修改记录确定所述目标待同步数据的数据修改频率;
根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源。
在一个可能的实施方式中,所述确定模块403在用于根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源时,具体用于:
将所述指示的数据量和所述数据修改频率输入预训练的梯度提升树模型,由所述梯度提升树模型包括的各个决策树根据所述指示的数据量和所述数据修改频率进行特征划分,得到在所述各个决策树划分到的叶子节点;
根据所述叶子节点对应的节点值确定所述目标第二数据表的目标设备资源。
在一个可能的实施方式中,所述每个第二数据表中的任一第二数据表表示为目标第二数据表,所述第一数据表与所述目标第二数据表的数据传输链路表示为目标数据传输链路,所述目标第二数据表对应的目标分区所关联的待同步数据为目标待同步数据;
所述同步模块404在用于根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表时,具体用于:
根据所述目标第二数据表的目标设备资源和所述目标数据传输链路,将在所述第一数据表中的目标待同步数据同步至所述目标第二数据表中,得到过渡目标第二数据表;
基于所述目标数据传输链路,获取在同步过程中,所述第一数据表上针对所述目标待同步数据的数据修改记录;
根据所述数据修改记录对所述过渡目标第二数据表进行修正,得到数据同步后的目标第二数据表。
在一个可能的实施方式中,所述获取模块401在用于获取第一数据表之前,还用于:
当检测到目标数据库中的目标数据表满足数据分区条件时,创建所述目标数据表对应的备份数据表,
将所述目标数据表中的数据同步至所述备份数据表,得到过渡备份数据表;
若在同步过程中检测到针对所述目标数据表中已同步数据的修改操作指令,基于所述修改操作指令的指示,在所述目标数据表中对所述已同步数据进行修改,并将修改的已同步数据的状态设置为禁止修改状态;
基于所述修改操作指令的指示,对所述过渡备份数据表进行修改,得到修改后的过渡备份数据表,并在修改完成后,将所述目标数据表中的修改的已同步数据的状态从所述禁止修改状态更改为可修改状态;
根据所述修改后的过渡备份数据表得到所述第一数据表。
在一个可能的实施方式中,所述同步模块404在用于得到多个数据同步后的第二数据表之后,还用于:
获取在目标时间段内对待监测数据表执行所述数据操作所得到的操作日志;所述待监测数据表为所述多个数据同步后的第二数据表中的数据同步后的第二数据表;所述操作日志包括基于执行所述数据操作后得到的数据操作记录,所述数据操作记录包括所述数据操作对应的数据操作结果;
基于所述待监测数据表的数据传输链路,获取所述待监测数据表在所述目标时间段内的目标数据修改记录;
若在所述目标时间段内,所述待监测数据表的操作日志中不存在异常的数据操作记录,则断开所述待监测数据表的数据传输链路,并删除所述第一数据表;
若在所述目标时间段内,所述待监测数据表的操作日志中存在异常的数据操作记录,则根据所述目标数据修改记录对所述目标数据表进行修正,并在接收到针对所述第一数据表所存储数据的操作指令时,对所述修正后的目标数据表执行所述操作指令所指示的数据操作,以及对所述待监测数据表进行异常修复处理。
本申请实施例中,获取模块获取第一数据表;处理模块根据预设分区规则对第一数据表进行分区处理,得到多个分区以及多个分区中每个分区在第一数据表中关联的待同步数据;处理模块根据多个分区创建多个第二数据表;处理模块构建第一数据表分别与多个第二数据表中每个第二数据表的数据传输链路;确定模块分别根据每个第二数据表对应的分区所关联的待同步数据确定每个第二数据表在数据同步过程中所占用的目标设备资源;确定模块根据每个第二数据表的目标设备资源确定针对多个第二数据表的数据同步顺序;同步模块按照数据同步顺序的指示,依次根据每个第二数据表的目标设备资源和数据传输链路,将第一数据表中的待同步数据分别对应同步至每个第二数据表中,得到多个数据同步后的第二数据表。通过上述方案,可以确定在对第二数据表正常同步时所需的目标设备资源,并根据该目标设备资源确定最佳的同步顺序,基于该同步顺序依次进行数据同步时,占用对应的目标设备资源以保证数据表分区的正常运行,实现了设备资源的调度和分配,可以提高数据分区的效率和稳定性。
在本申请各个实施例中的各功能模块可以集成在一个模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,本申请不做限定。
请参见图5,图5为本申请实施例提供的一种电子设备的结构示意图。如图5所示,该电子设备500包括:至少一个处理器501、存储器502。可选的,该电子设备还可包括网络接口。其中,所述处理器501、存储器502以及网络接口之间可以交互数据,网络接口受所述处理器501的控制用于收发消息,存储器502用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器502存储的程序指令。其中,处理器501被配置用于调用所述程序指令执行上述方法。
所述存储器502可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器502也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器502还可以包括上述种类的存储器的组合。
所述处理器501可以是中央处理器(central processing unit,CPU)。在一个实施例中,所述处理器501还可以是图形处理器(Graphics Processing Unit,GPU)。所述处理器501也可以是由CPU和GPU的组合。
在一个可能的实施方式中,所述存储器502用于存储程序指令,所述处理器501可以调用所述程序指令,执行以下步骤:
获取第一数据表;
根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
在一个可能的实施方式中,所述处理器501在用于得到多个数据同步后的第二数据表之后,还用于:
若接收到针对所述第一数据表所存储数据的操作指令,获取所述操作指令所指示的待操作数据;
确定所述待操作数据的所属分区;
对所述所属分区对应的数据同步后的第二数据表执行所述操作指令所指示的数据操作,得到数据操作结果。
在一个可能的实施方式中,所述处理器501在用于分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源时,具体用于:
获取目标第二数据表对应的目标分区所关联的目标待同步数据的历史数据修改记录;所述目标第二数据表为所述每个第二数据表中的任一第二数据表;
根据所述历史数据修改记录确定所述目标待同步数据的数据修改频率;
根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源。
在一个可能的实施方式中,所述处理器501在用于根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源时,具体用于:
将所述指示的数据量和所述数据修改频率输入预训练的梯度提升树模型,由所述梯度提升树模型包括的各个决策树根据所述指示的数据量和所述数据修改频率进行特征划分,得到在所述各个决策树划分到的叶子节点;
根据所述叶子节点对应的节点值确定所述目标第二数据表的目标设备资源。
在一个可能的实施方式中,所述每个第二数据表中的任一第二数据表表示为目标第二数据表,所述第一数据表与所述目标第二数据表的数据传输链路表示为目标数据传输链路,所述目标第二数据表对应的目标分区所关联的待同步数据为目标待同步数据;
所述处理器501在用于根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表时,具体用于:
根据所述目标第二数据表的目标设备资源和所述目标数据传输链路,将在所述第一数据表中的目标待同步数据同步至所述目标第二数据表中,得到过渡目标第二数据表;
基于所述目标数据传输链路,获取在同步过程中,所述第一数据表上针对所述目标待同步数据的数据修改记录;
根据所述数据修改记录对所述过渡目标第二数据表进行修正,得到数据同步后的目标第二数据表。
在一个可能的实施方式中,所述处理器501在用于获取第一数据表之前,还用于:
当检测到目标数据库中的目标数据表满足数据分区条件时,创建所述目标数据表对应的备份数据表,
将所述目标数据表中的数据同步至所述备份数据表,得到过渡备份数据表;
若在同步过程中检测到针对所述目标数据表中已同步数据的修改操作指令,基于所述修改操作指令的指示,在所述目标数据表中对所述已同步数据进行修改,并将修改的已同步数据的状态设置为禁止修改状态;
基于所述修改操作指令的指示,对所述过渡备份数据表进行修改,得到修改后的过渡备份数据表,并在修改完成后,将所述目标数据表中的修改的已同步数据的状态从所述禁止修改状态更改为可修改状态;
根据所述修改后的过渡备份数据表得到所述第一数据表。
在一个可能的实施方式中,所述处理器501在用于得到多个数据同步后的第二数据表之后,还用于:
获取在目标时间段内对待监测数据表执行所述数据操作所得到的操作日志;所述待监测数据表为所述多个数据同步后的第二数据表中的数据同步后的第二数据表;所述操作日志包括基于执行所述数据操作后得到的数据操作记录,所述数据操作记录包括所述数据操作对应的数据操作结果;
基于所述待监测数据表的数据传输链路,获取所述待监测数据表在所述目标时间段内的目标数据修改记录;
若在所述目标时间段内,所述待监测数据表的操作日志中不存在异常的数据操作记录,则断开所述待监测数据表的数据传输链路,并删除所述第一数据表;
若在所述目标时间段内,所述待监测数据表的操作日志中存在异常的数据操作记录,则根据所述目标数据修改记录对所述目标数据表进行修正,并在接收到针对所述第一数据表所存储数据的操作指令时,对所述修正后的目标数据表执行所述操作指令所指示的数据操作,以及对所述待监测数据表进行异常修复处理。
具体实现中,本申请实施例中所描述的装置、处理器501、存储器502等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
本申请实施例中还提供一种计算机(可读)存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使所述处理器可执行上述方法实施例中所执行的部分或全部步骤。可选的,该计算机存储介质可以是易失性的,也可以是非易失性的。所述的计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
其中,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例提供了一种计算机程序产品,该计算机程序产品可包括计算机程序,计算机程序被处理器执行时可实现上述方法中的部分或全部步骤,此处不赘述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一数据表;
根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
2.根据权利要求1所述的方法,其特征在于,所述得到多个数据同步后的第二数据表之后,所述方法还包括:
若接收到针对所述第一数据表所存储数据的操作指令,获取所述操作指令所指示的待操作数据;
确定所述待操作数据的所属分区;
对所述所属分区对应的数据同步后的第二数据表执行所述操作指令所指示的数据操作,得到数据操作结果。
3.根据权利要求1所述的方法,其特征在于,所述分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源,包括:
获取目标第二数据表对应的目标分区所关联的目标待同步数据的历史数据修改记录;所述目标第二数据表为所述每个第二数据表中的任一第二数据表;
根据所述历史数据修改记录确定所述目标待同步数据的数据修改频率;
根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标待同步数据所指示的数据量和所述数据修改频率确定所述目标第二数据表的目标设备资源,包括:
将所述指示的数据量和所述数据修改频率输入预训练的梯度提升树模型,由所述梯度提升树模型包括的各个决策树根据所述指示的数据量和所述数据修改频率进行特征划分,得到在所述各个决策树划分到的叶子节点;
根据所述叶子节点对应的节点值确定所述目标第二数据表的目标设备资源。
5.根据权利要求1所述的方法,其特征在于,所述每个第二数据表中的任一第二数据表表示为目标第二数据表,所述第一数据表与所述目标第二数据表的数据传输链路表示为目标数据传输链路,所述目标第二数据表对应的目标分区所关联的待同步数据为目标待同步数据;
所述根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表,包括:
根据所述目标第二数据表的目标设备资源和所述目标数据传输链路,将在所述第一数据表中的目标待同步数据同步至所述目标第二数据表中,得到过渡目标第二数据表;
基于所述目标数据传输链路,获取在同步过程中,所述第一数据表上针对所述目标待同步数据的数据修改记录;
根据所述数据修改记录对所述过渡目标第二数据表进行修正,得到数据同步后的目标第二数据表。
6.根据权利要求1所述的方法,其特征在于,所述获取第一数据表之前,所述方法还包括:
当检测到目标数据库中的目标数据表满足数据分区条件时,创建所述目标数据表对应的备份数据表,
将所述目标数据表中的数据同步至所述备份数据表,得到过渡备份数据表;
若在同步过程中检测到针对所述目标数据表中已同步数据的修改操作指令,基于所述修改操作指令的指示,在所述目标数据表中对所述已同步数据进行修改,并将修改的已同步数据的状态设置为禁止修改状态;
基于所述修改操作指令的指示,对所述过渡备份数据表进行修改,得到修改后的过渡备份数据表,并在修改完成后,将所述目标数据表中的修改的已同步数据的状态从所述禁止修改状态更改为可修改状态;
根据所述修改后的过渡备份数据表得到所述第一数据表。
7.根据权利要求6所述的方法,其特征在于,所述得到多个数据同步后的第二数据表之后,所述方法还包括:
获取在目标时间段内对待监测数据表执行所述数据操作所得到的操作日志;所述待监测数据表为所述多个数据同步后的第二数据表中的数据同步后的第二数据表;所述操作日志包括基于执行所述数据操作后得到的数据操作记录,所述数据操作记录包括所述数据操作对应的数据操作结果;
基于所述待监测数据表的数据传输链路,获取所述待监测数据表在所述目标时间段内的目标数据修改记录;
若在所述目标时间段内,所述待监测数据表的操作日志中不存在异常的数据操作记录,则断开所述待监测数据表的数据传输链路,并删除所述第一数据表;
若在所述目标时间段内,所述待监测数据表的操作日志中存在异常的数据操作记录,则根据所述目标数据修改记录对所述目标数据表进行修正,并在接收到针对所述第一数据表所存储数据的操作指令时,对所述修正后的目标数据表执行所述操作指令所指示的数据操作,以及对所述待监测数据表进行异常修复处理。
8.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取第一数据表;
处理模块,用于根据预设分区规则对所述第一数据表进行分区处理,得到多个分区以及所述多个分区中每个分区在所述第一数据表中关联的待同步数据;
所述处理模块,还用于根据所述多个分区创建多个第二数据表;一个分区对应一个第二数据表;
所述处理模块,还用于构建所述第一数据表分别与所述多个第二数据表中每个第二数据表的数据传输链路;
确定模块,用于分别根据所述每个第二数据表对应的分区所关联的待同步数据确定所述每个第二数据表在数据同步过程中所占用的目标设备资源;
所述确定模块,还用于根据所述每个第二数据表的目标设备资源确定针对所述多个第二数据表的数据同步顺序;
同步模块,用于按照所述数据同步顺序的指示,依次根据所述每个第二数据表的目标设备资源和所述数据传输链路,将所述第一数据表中的待同步数据分别对应同步至所述每个第二数据表中,得到多个数据同步后的第二数据表。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111527547.3A CN114185896A (zh) | 2021-12-14 | 2021-12-14 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111527547.3A CN114185896A (zh) | 2021-12-14 | 2021-12-14 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185896A true CN114185896A (zh) | 2022-03-15 |
Family
ID=80605012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111527547.3A Pending CN114185896A (zh) | 2021-12-14 | 2021-12-14 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185896A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704458A (zh) * | 2019-08-15 | 2020-01-17 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN111159179A (zh) * | 2019-12-12 | 2020-05-15 | 中国平安人寿保险股份有限公司 | 表分区方法及相关设备、计算机可读存储介质 |
CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
WO2020140661A1 (zh) * | 2019-01-04 | 2020-07-09 | 深圳壹账通智能科技有限公司 | 数据同步方法和系统 |
-
2021
- 2021-12-14 CN CN202111527547.3A patent/CN114185896A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020140661A1 (zh) * | 2019-01-04 | 2020-07-09 | 深圳壹账通智能科技有限公司 | 数据同步方法和系统 |
CN110704458A (zh) * | 2019-08-15 | 2020-01-17 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN111159179A (zh) * | 2019-12-12 | 2020-05-15 | 中国平安人寿保险股份有限公司 | 表分区方法及相关设备、计算机可读存储介质 |
CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061769B (zh) | 一种区块链系统的共识方法及相关设备 | |
CN107391628B (zh) | 数据同步方法及装置 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN107450855B (zh) | 一种用于分布式存储的模型可变的数据分布方法及系统 | |
CN112559637B (zh) | 基于分布式存储的数据处理方法、装置、设备以及介质 | |
CN103310460A (zh) | 图像特征提取的方法及系统 | |
CN108206839B (zh) | 一种基于多数派数据存储方法、装置及系统 | |
EP4122163A1 (en) | Causality determination of upgrade regressions via comparisons of telemetry data | |
CN113051102B (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN115988001A (zh) | 区块链系统的共识投票处理方法、装置、设备以及介质 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN116760661A (zh) | 数据存储方法、装置、计算机设备、存储介质和程序产品 | |
CN116303789A (zh) | 多分片多副本数据库并行同步方法、装置及可读介质 | |
CN114185896A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115129781A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN114969206A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN109151016B (zh) | 流量转发方法和装置、服务系统、计算设备及存储介质 | |
CN112035471A (zh) | 一种事务处理方法及计算机设备 | |
CN114116681B (zh) | 数据迁移方法及装置 | |
US11662937B2 (en) | Copying data based on overwritten probabilities | |
CN117478300B (zh) | 基于节点确定的跨链共识方法、装置和计算机设备 | |
CN110213314B (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 |