CN111831749B - 数据处理方法、装置、存储介质及电子设备 - Google Patents
数据处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111831749B CN111831749B CN202010647134.8A CN202010647134A CN111831749B CN 111831749 B CN111831749 B CN 111831749B CN 202010647134 A CN202010647134 A CN 202010647134A CN 111831749 B CN111831749 B CN 111831749B
- Authority
- CN
- China
- Prior art keywords
- data
- time period
- station
- timestamp
- intersection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 238000001514 detection method Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 35
- 230000002457 bidirectional effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241001233242 Lontra Species 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/2358—Change logging, detection, and notification
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、存储介质及电子设备,所述方法包括:获取第一站点将第一数据发送至第二站点所需的第一时间段;获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。本申请在数据传输过程中对数据传输时间段进行检测,进而得到是否有数据冲突的检测结果,能够过滤未发生数据冲突情况下的冗余数据,从而降低数据库的负载压力。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据处理方法、装置、存储介质及电子设备。
背景技术
随着社会的发展和通信技术的进步,人们可以使用多种通信工具进行沟通、交流,如智能手机等。各通信工具之间通过信息交互实现数据同步、信息共享,可为用户带来许多便利。数据同步意为同时执行同样的操作,其将对象定位为数据,大多时候对其的理解为不同存储设备或电子设备与电子设备、电子设备与服务器之间的备份操作,是将一方数据发送给另一方并持久化的过程。相关技术中,在进行数据传输时,容易将冗余的数据进行回流,进而增加数据库的负载压力。
发明内容
本申请实施例提供一种数据处理方法、装置、存储介质及电子设备,能够降低数据库的负载压力。
第一方面,本申请实施例提供数据处理方法,其包括:
获取第一站点将第一数据发送至第二站点所需的第一时间段;
获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
第二方面,本申请实施例提供数据处理装置,其包括:
第一获取模块,用于获取第一站点将第一数据发送至第二站点所需的第一时间段;
第二获取模块,用于获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
第一接收模块,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
第二接收模块,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的数据处理方法中的流程。
第四方面,本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,以执行本申请实施例提供的数据处理方法中的流程。
本申请实施例中,在数据传输过程中检测第一时间段与第二时间段是否存在交集,通过判断是否存在交集进而判断出第一数据和第二数据是否发生数据冲突,若发生数据冲突,则在第一站点同时接收到第一数据和第二数据,若不发生数据冲突,则将第一数据进行过滤,第一站点只接收到第二数据。因此本申请能够过滤未发生数据冲突情况下的冗余数据,从而降低数据库的负载压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据处理方法的第一种流程示意图。
图2为本申请实施例提供的数据处理方法的第二种流程示意图。
图3为本申请实施例提供的数据处理方法的场景示意图。
图4为本申请实施例提供的数据处理装置的结构示意图。
图5为本申请实施例提供的电子设备的第一结构框图。
图6为本申请实施例提供的电子设备的第二结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本文所使用的术语「模块」可看作为在该运算系统上执行的软件对象。本文不同模块、引擎及服务可看作为在该运算系统上的实施对象。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
本申请实施例提供一种数据处理方法,该数据处理方法的执行主体可以是诸如智能手机、平板电脑、笔记本电脑、掌上电脑等电子设备。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图1,图1是本申请实施例提供的数据处理方法的第一种流程示意图。该数据处理方法的流程可以包括:
在101中,获取第一站点将第一数据发送至第二站点所需的第一时间段。
随着社会的发展和通信技术的进步,人们可以使用多种通信工具进行沟通、交流,如智能手机等。各通信工具之间通过信息交互实现数据同步、信息共享,可为用户带来许多便利。数据同步意为同时执行同样的操作,其将对象定位为数据,大多时候对其的理解为不同存储设备或电子设备与电子设备、电子设备与服务器之间的备份操作,是将一方数据发送给另一方并持久化的过程。
需要说明的是,数据同步的过程是基于两个或两个以上数据库之间进行的数据传输,是保证数据库之间数据一致的一种方式,通常采用双向同步,双向同步的原理是假设设置的源文件夹为A,目标文件夹为B,当修改了A、B中的任何一个时,另外一个也会同步作出同样的修改。
比如,多个数据库之间组成了一种数据库管理系统,可以采用MySQL数据库系统,MySQL是一种关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据存放在一个大的数据库中,增加了传输速度并提高了灵活性。在全球广域网的应用方面,MySQL数据库系统是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。MySQL数据库系统使用最常用的数据库管理语言--SQL(结构化查询语言)进行数据库管理,具有体积小、速度快、总体拥有成本低等优点。
比如,在将每一数据库所在位置设置站点,该站点可以是存储设备、电子设备或服务器等。站点的类型可以包括授信站点和非授信站点。站点作为数据库存储数据的基站,可以为数据传输、数据同步提供基站。
比如,双向同步是一种为MySQL提供数据同步的方式,可以保证数据异地备份和读写。而实现双向同步的过程可以采用诸如otter等软件,otter软件采用的是单向回环的方式。假设存在A、B两个站点,在对A站点和B站点进行双向同步的过程中,可以通过otter软件设置A站点为授信站点,B站点为非授信站点。则A站点产生的数据,只会从A站点传输至B站点,回环终止;而B站点产生的数据,会从B站点传输至A站点,再从A站点传输至B站点,形成一次单向回环。
比如,在MySQL系统中进行传输的数据可以采用binlog数据,binlog是二进制格式的位件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会录入binlog内,可以用来做数据同步、数据回放。binlog数据包括三种形式,分别为statement、row和mixed,在进行数据传输过程中binlog数据通常采用row数据方式,因其是对每行的实际数据进行修改或变更,具有准确性强、能准确复制数据的变更等优点。
还需要说明的是,在本申请实施例中,可以将第一站点设置为非授信站点,也就是在otter软件中执行单向回环的数据的基准站点;将第二站点设置为授信站点,也就是再otter软件中不执行回环的数据的基准站点。从第一站点获取第一站点数据库中的第一数据,记录获取到第一数据的时间,该数据可以是binlog数据中的row数据;再记录将该第一数据传输至第二站点的时间,则在此过程会形成第一时间段。
例如,从第一站点获取第一数据的时间为8:00,将第一数据传输至第二站点的时间为8:01,则第一时间段为8:00-8:01。
在102中,获取第一站点接收到第二站点发送的第二数据所需的第二时间段。
比如,可以将第一站点设置为非授信站点,将第二站点设置为授信站点。从第二站点获取第二站点数据库中的第二数据,记录获取到第二数据的时间,该数据可以是binlog数据中的row数据;再记录第一站点接收到该第二数据的时间,则在此过程会形成第二时间段。其中,第一数据和第二数据同行,也就是属于同一行的row数据。
例如,从第二站点获取第二数据的时间为8:02,第一站点接收到该第二数据的时间为8:03,则第二时间段为8:02-8:03。
在103中,若第一时间段与第二时间段存在交集,则第一站点会同时接收到第一数据和第二数据。
在本申请实施例中,判断上述第一时间段与第二时间段之间是否存在时间上的交集,若存在交集,则说明在第一站点将第一数据发送至第二站点的过程未完成之前,第二站点已经获取到第二数据,并将该第二数据发送至第一站点。也就是说,第一站点发送第一数据至第二站点的过程与第一站点接收到第二数据的过程存在数据冲突,而数据冲突是在多数据站点,对同一行数据重读执行写操作,导致数据不一致的场景。
可以理解的是,因第一数据和第二数据同行,在第一时间段和第二时间段存在交集时,会出现第一站点写入了第一数据,而在第一数据未同步至第二站点时,第二站点又写入了与第一数据同行的第二数据,因此造成了数据冲突。
需要说明的是,在造成了数据冲突之后,在对第一站点,也就是非授信站点执行单向回环操作时,需要将发送至第二站点的第一数据重新回环至第一站点。即第一站点会同时接收到第一数据和第二数据。
在104中,若第一时间段与第二时间段不存在交集,则第一站点会接收到第二数据。
比如,第一时间段与第二时间段不存在交集,则说明在第一站点将第一数据发送至第二站点的过程完成后,第二站点才获取到第二数据,并将该第二数据发送至第一站点。也就是说,第一站点发送第一数据至第二站点的过程与第一站点接收到第二数据的过程不存在数据冲突。
可以理解的是,在第一时间段与第二时间段不存在交集时,上述两个过程是按照时间顺序依次进行的,则不需要将发送至第二站点的第一数据再回环至第一站点,因为第一站点本身就存在该第一数据,再进行回环的话会产生冗余的第一数据,因此,可以将该第一数据在回环过程中过滤掉,只接收第二站点发送的第二数据。即第一站点会接收到第二数据。
由上可知,本申请实施例中,在数据传输过程中检测第一时间段与第二时间段是否存在交集,通过判断是否存在交集进而判断出第一数据和第二数据是否发生数据冲突,若发生数据冲突,则在第一站点同时接收到第一数据和第二数据,若不发生数据冲突,则将第一数据进行过滤,第一站点只接收到第二数据。因此本申请能够过滤未发生数据冲突情况下的冗余数据,从而降低数据库的负载压力。
请参阅图2,图2是本申请实施例提供的数据处理方法的第二种流程示意图。该数据处理方法的流程可以包括:
在201中,从第一站点获取第一数据。
在本实施例中,双向同步是一种为MySQL提供数据同步的方式,可以保证数据异地备份和读写。而实现双向同步的过程可以采用诸如otter等软件,otter软件采用的是单向回环的方式。假设存在A、B两个站点,在对A站点和B站点进行双向同步的过程中,可以通过otter软件设置A站点为授信站点,B站点为非授信站点。则A站点产生的数据,只会从A站点传输至B站点,回环终止;而B站点产生的数据,会从B站点传输至A站点,再从A站点传输至B站点,形成一次单向回环。
比如,从第一站点获取第一数据的过程可以是:从第一站点获取第一业务数据和第一系统数据,其中,第一业务数据和第一系统数据同行,通过第一预设模块将第一系统数据进行过滤,并将第一业务数据保存为第一数据。
其中,可以将第一站点设备为非授信站点,而在该非授信站点获取的数据包括用户执行写操作的数据,即第一业务数据,还包括系统本身的数据,即第一系统数据。需要说明的是,系统本身的数据在同步过程中是按照既定规则进行传输和同步的,不存在出现数据冲突的情况。因此,本申请实施例是对业务数据在传输过程中进行的优化。
其中,Canal模块是基于数据库增量日志解析,提供数据增量,主要实现数据库实时备份以及数据的过滤。因此,可以将第一预设模块设置为Canal_1模块,通过该Canal_1模块可以将第一站点获取到的第一系统数据进行过滤,而得到剩余的第一业务数据,并将该第一业务数据作为第一数据。
在202中,获取第一站点将第一数据发送至第二站点所需的第一时间段。
在本实施例中,可以将第一站点设置为非授信站点,也就是在otter软件中执行单向回环的数据的基准站点;将第二站点设置为授信站点,也就是再otter软件中不执行回环的数据的基准站点。从第一站点获取第一站点数据库中的第一数据,记录获取到第一数据的时间,该数据可以是binlog数据中的row数据;再记录将该第一数据传输至第二站点的时间,则在此过程会形成第一时间段。
其中,获取第一时间段的具体过程可以是:第一站点获取第一数据,具有对应的第一时间戳;第一数据发送至第二站点,具有对应的第二时间戳,其中,第二时间戳大于第一时间戳;第一时间戳与第二时间戳之间形成第一时间段。
比如,从第一站点获取第一数据,对应的第一时间戳为8:00;将第一数据传输至第二站点,对应的第二时间戳为8:01,则第一时间戳与第二时间戳之间形成的第一时间段为8:00-8:01。并且,将第一数据传输至第二站点的第二时间戳是在第一站点获取第一数据的第一时间戳之后进行的,因此,第二时间戳大于第一时间戳。
在203中,从第二站点获取第二数据。
比如,从第二站点获取第二数据的过程可以是:从第二站点获取第二业务数据和第二系统数据,其中,第二业务数据和第二系统数据同行;通过第二预设模块将第二系统数据进行过滤,并将第二业务数据保存为第二数据。
其中,可以将第二站点设备为授信站点,而在该授信站点获取的数据包括用户执行写操作的数据,即第二业务数据,还包括系统本身的数据,即第二系统数据。
其中,可以将第二预设模块设置为Canal_2模块,通过该Canal_2模块可以将第二站点获取到的第二系统数据进行过滤,而得到剩余的第二业务数据,并将该第二业务数据作为第二数据。
在204中,获取第一站点接收到第二站点发送的第二数据所需的第二时间段。
在本实施例中,可以将第一站点设置为非授信站点,也就是在otter软件中执行单向回环的数据的基准站点;将第二站点设置为授信站点,也就是再otter软件中不执行回环的数据的基准站点。从第二站点获取第二站点数据库中的第二数据,记录获取到第二数据的时间,该数据可以是binlog数据中的row数据;再记录第一站点接收到该第二数据的时间,则在此过程会形成第二时间段。
其中,获取第二时间段的具体过程可以是:第二站点获取第二数据,具有对应的第三时间戳;第一站点接收到第二数据,具有对应的第四时间戳,其中,第四时间戳大于第三时间戳;第三时间戳与第四时间戳之间形成第二时间段。
比如,从第二站点获取第二数据,对应的第三时间戳为8:02;第一站点接收该第二数据,对应的第四时间戳为8:03,则第三时间戳与第四时间戳之间形成的第二时间段为8:02-8:03。并且,第一站点接收到该第二数据是在第二站点获取第二数据之后进行的,因此,第四时间戳大于第三时间戳。
在205中,判断第一时间段与第二时间段是否存在交集。
在本实施例中,判断第一时间段与第二时间段之间是否存在时间上的交集。
若存在交集,则进入206的流程中。
若不存在交集,则进入207的流程中。
在206中,第一时间段与第二时间段存在交集,第一站点会同时接收到第一数据和第二数据。
比如,若第一时间段与第二时间段存在交集,则说明在第一站点将第一数据发送至第二站点的过程未完成之前,第二站点已经获取到第二数据,并将该第二数据发送至第一站点。也就是说,第一站点发送第一数据至第二站点的过程与第一站点接收到第二数据的过程存在数据冲突,而数据冲突是在多数据站点,对同一行数据重读执行写操作,导致数据不一致的场景。
可以理解的是,因第一数据和第二数据同行,在第一时间段和第二时间段存在交集时,会出现第一站点写入了第一数据,而在第一数据未同步至第二站点时,第二站点又写入了与第一数据同行的第二数据,因此造成了数据冲突。
其中,造成数据冲突的情况可以包括:当第二时间戳大于第三时间戳,且第三时间戳大于第一时间戳时,第一时间段与第二时间段存在交集;若第一时间段与第二时间段存在交集,则第一数据与第二数据发生数据冲突,第一站点会同时接收到所述第一数据和所述第二数据。
例如,第一时间戳为8:00,第二时间戳为8:02,第三时间戳为8:01,第四时间段为8:03,此时,第二时间戳大于第三时间戳,且第三时间戳大于第一时间戳,此时说明第一时间段8:00-8:02与第二时间段8:01-8:03之间存在交集,则第一数据与第二数据发生数据冲突。
其中,造成数据冲突的情况还可以包括:当第一时间戳大于第三时间戳,且第四时间戳大于第一时间戳时,第一时间段与第二时间段存在交集;若第一时间段与第二时间段存在交集,则第一数据与第二数据发生数据冲突,第一站点会同时接收到第一数据和第二数据。
例如,第一时间戳为8:01,第二时间戳为8:03,第三时间戳为8:00,第四时间段为8:02,此时,第一时间戳大于第三时间戳,且第四时间戳大于第一时间戳,此时说明第一时间段8:01-8:03与第二时间段8:00-8:02之间存在交集,则第一数据与第二数据发生数据冲突。
需要说明的是,在造成了数据冲突之后,在对第一站点,也就是非授信站点执行单向回环操作时,需要将发送至第二站点的第一数据重新回环至第一站点。即第一站点会同时接收到第一数据和第二数据。
在207中,第一时间段与第二时间段不存在交集,第一站点会接收到第二数据。
比如,第一时间段与第二时间段不存在交集,则说明在第一站点将第一数据发送至第二站点的过程完成后,第二站点才获取到第二数据,并将该第二数据发送至第一站点。也就是说,第一站点发送第一数据至第二站点的过程与第一站点接收到第二数据的过程不存在数据冲突。
其中,不存在数据冲突的情况可以包括:当第三时间戳大于第二时间戳时,第一时间段与第二时间段不存在交集;若第一时间段与第二时间段不存在交集,则第一数据与第二数据不发生数据冲突,第一站点会接收到第二数据。
例如,第一时间戳为8:00,第二时间戳为8:01,第三时间戳为8:02,第四时间段为8:03,此时,第三时间戳大于第二时间戳,此时说明第一时间段8:00-8:01与第二时间段8:02-8:03之间存在交集,则第一数据与第二数据不发生数据冲突。
其中,不存在数据冲突的情况还可以包括:当第一时间戳大于第四时间戳时,第一时间段与第二时间段不存在交集;若第一时间段与第二时间段不存在交集,则第一数据与第二数据不发生数据冲突,第一站点会接收到第二数据。
例如,第一时间戳为8:02,第二时间戳为8:03,第三时间戳为8:00,第四时间段为8:01,此时,第一时间戳大于第四时间戳,此时说明第一时间段8:02-8:03与第二时间段8:00-8:01之间存在交集,则第一数据与第二数据不发生数据冲突。
可以理解的是,在第一时间段与第二时间段不存在交集时,上述两个过程是按照时间顺序依次进行的,则不需要将发送至第二站点的第一数据再回环至第一站点,因为第一站点本身就存在该第一数据,再进行回环的话会产生冗余的第一数据,因此,可以将该第一数据在回环过程中过滤掉,只接收第二站点发送的第二数据。即第一站点会接收到第二数据。
由上可知,通过获取第一站点对应的第一系统数据与第二站点对应的第二系统数据,在数据传输过程中检测第一时间段与第二时间段是否存在交集,通过判断是否存在交集进而判断出第一数据和第二数据是否发生数据冲突,若发生数据冲突,则在第一站点同时接收到第一数据和第二数据,若不发生数据冲突,则将第一数据进行过滤,第一站点只接收到第二数据。因此本申请能够过滤未发生数据冲突情况下的冗余数据,从而降低数据库的负载压力。
请参阅图3,图3是本申请实施例提供的数据处理方法的场景示意图。
比如,在本实施例中,对于使用otter软件实现MySQL数据系统中数据双向同步,通常采用单向回环的方式。图3所示为执行单向回环的具体示意图,其中,该MySQL数据系统包括A站点和B站点,其中,A站点为授信站点,B站点为非授信站点。
比如,B站点获取第一业务数据和第一系统数据,通过Canal_B模块将第一系统数据进行过滤,得到过滤后的第一业务数据作为第一数据,此时,获取到第一数据具有对应的第一时间戳t1,第一数据通过第一中间键处理后,将处理后的第一数据写入回环标记和额外信息,额外信息可以是IP或端口等信息,将该第一数据传输至A站点,此时具有对应的第二时间戳t2,进而A站点会对该第一数据进行读取。
比如,A站点获取第二业务数据和第二系统数据,通过Canal_A模块将第二系统数据进行过滤,得到过滤后的第二业务数据作为第二数据,此时,获取到第二数据具有对应的第三时间戳t3,第二数据通过第二中间键处理后,将处理后的第二数据传输至B站点,此时,B站点接收到第二数据具有对应的第四时间戳t4。
比如,判断t1-t2之间形成的第一时间段与t3-t4之间形成的第二时间段之间是否存在交集。若存在交集,则说明第一数据与第二数据之间存在数据冲突,则B站点会同时接收到第一数据与第二数据;若不存在交集,则说明第一数据与第二数据之间不存在数据冲突,则第一数据会在接收第二数据的过程中被过滤掉,B站点只会接收到第二数据。
本申请实施例还提供一种数据处理装置。请参阅图4,图4为本申请实施例提供的数据处理装置的结构示意图。该数据处理装置300可以包括:第一获取模块301、第二获取模块302、第一接收模块303和第二接收模块304。
第一获取模块301,用于获取第一站点将第一数据发送至第二站点所需的第一时间段;
第二获取模块302,用于获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
第一接收模块303,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
第二接收模块304,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
在一些实施例中,所述第一获取模块301可以用于:
所述第一站点获取所述第一数据,具有对应的第一时间戳;
所述第一数据发送至所述第二站点,具有对应的第二时间戳,其中,所述第二时间戳大于所述第一时间戳;
所述第一时间戳与所述第二时间戳之间形成所述第一时间段。
在一些实施例中,所述第二获取模块302可以用于:
所述第二站点获取所述第二数据,具有对应的第三时间戳;
所述第一站点接收到所述第二数据,具有对应的第四时间戳,其中,所述第四时间戳大于所述第三时间戳;
所述第三时间戳与所述第四时间戳之间形成所述第二时间段。
在一些实施例中,所述第一接收模块303可以用于:
当所述第二时间戳大于所述第三时间戳,且所述第三时间戳大于所述第一时间戳时,所述第一时间段与所述第二时间段存在交集;
若所述第一时间段与所述第二时间段存在交集,则所述第一数据与所述第二数据发生数据冲突,所述第一站点会同时接收到所述第一数据和所述第二数据。
在一些实施例中,所述第一接收模块303还可以用于:
当所述第一时间戳大于所述第三时间戳,且所述第四时间戳大于所述第一时间戳时,所述第一时间段与所述第二时间段存在交集;
若所述第一时间段与所述第二时间段存在交集,则所述第一数据与所述第二数据发生数据冲突,所述第一站点会同时接收到所述第一数据和所述第二数据。
在一些实施例中,所述第二接收模块304可以用于:
当所述第三时间戳大于所述第二时间戳时,所述第一时间段与所述第二时间段不存在交集;
若所述第一时间段与所述第二时间段不存在交集,则所述第一数据与所述第二数据不发生数据冲突,所述第一站点会接收到所述第二数据。
在一些实施例中,所述第二接收模块304还可以用于:
当所述第一时间戳大于所述第四时间戳时,所述第一时间段与所述第二时间段不存在交集;
若所述第一时间段与所述第二时间段不存在交集,则所述第一数据与所述第二数据不发生数据冲突,所述第一站点会接收到所述第二数据。
在一些实施例中,该数据处理装置300还可以包括第一处理模块,该第一处理模块可以用于:
从所述第一站点获取第一业务数据和第一系统数据,其中,所述第一业务数据和所述第一系统数据同行;
通过第一预设模块将所述第一系统数据进行过滤,并将所述第一业务数据保存为第一数据。
在一些实施例中,该数据处理装置300还可以包括第二处理模块,该第二处理模块可以用于:
从所述第二站点获取第二业务数据和第二系统数据,其中,所述第二业务数据和所述第二系统数据同行;
通过第二预设模块将所述第二系统数据进行过滤,并将所述第二业务数据保存为第二数据。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
应当说明的是,本申请实施例提供的数据处理装置与上文实施例中的数据处理方法属于同一构思,在数据处理装置上可以运行数据处理方法实施例中提供的任一方法,其具体实现过程详见数据处理方法实施例,此处不再赘述。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的数据处理方法中的流程。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
相应的,本申请实施例还提供一种电子设备400。所述电子设备可以是智能手机、平板电脑等设备。请参阅图5,图5为本申请实施例提供的电子设备的第一种结构框图。该电子设备400包括处理器401和存储器402。其中,处理器401与存储器402电性连接。
处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或调用存储在存储器402内的计算机程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序等;存储数据区可存储根据电子设备的使用所创建的数据等。
此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
在本实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
获取第一站点将第一数据发送至第二站点所需的第一时间段;
获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
在一些实施例中,请参阅图6,图6为本申请实施例提供的电子设备的第二种结构框图。该电子设备400可以包括:处理器401、存储器402、显示屏403、摄像组件404、音频电路405、输入单元406、传感器407以及电源408。其中,处理器401分别与显示器403、摄像组件404、音频电路405、输入单元406、传感器407以及电源408电性连接。
显示屏403可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
摄像组件404可以包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义图像信号处理(Image Signal Processing)管线的各种处理单元。图像处理电路至少可以包括:多个摄像头、图像信号处理器(Image Signal Processor,ISP处理器)、控制逻辑器以及图像存储器等。其中每个摄像头至少可以包括一个或多个透镜和图像传感器。图像传感器可包括色彩滤镜阵列(如Bayer滤镜)。图像传感器可获取用图像传感器的每个成像像素捕捉的光强度和波长信息,并提供可由图像信号处理器处理的一组原始图像数据。
音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。其中,音频电路405包括麦克风。所述麦克风与所述处理器401电性连接。所述麦克风用于接收用户输入的语音信息。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。其中,输入单元406可以包括指纹识别模组。
传感器407用于采集电子设备自身的信息或者用户的信息或者外部环境信息。例如,传感器407可以包括震动传感器、温度传感器、距离传感器、磁场传感器、光线传感器、加速度传感器、指纹传感器、霍尔传感器、位置传感器、陀螺仪、惯性传感器、姿态感应器、气压计、心率传感器等传感器中的一种或多种。
电源408用于给电子设备400的各个部件供电。在一些实施例中,电源408可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在本实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
获取第一站点将第一数据发送至第二站点所需的第一时间段;
获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
由上可知,相对于现有技术而言,本申请实施例提供了一种电子设备,在数据传输过程中检测第一时间段与第二时间段是否存在交集,通过判断是否存在交集进而判断出第一数据和第二数据是否发生数据冲突,若发生数据冲突,则在第一站点同时接收到第一数据和第二数据,若不发生数据冲突,则将第一数据进行过滤,第一站点只接收到第二数据。因此本申请能够过滤未发生数据冲突情况下的冗余数据,从而降低数据库的负载压力。
需要说明的是,对本申请实施例的数据处理方法而言,本领域普通测试人员可以理解实现本申请实施例的数据处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如数据处理方法的实施例的流程。
对本申请实施例的数据处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
以上对本申请实施例所提供的数据处理方法、装置、存储介质及电子设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一站点将第一数据发送至第二站点所需的第一时间段;
获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取第一站点将第一数据发送至第二站点所需的第一时间段,包括:
所述第一站点获取所述第一数据,具有对应的第一时间戳;
所述第一数据发送至所述第二站点,具有对应的第二时间戳,其中,所述第二时间戳大于所述第一时间戳;
所述第一时间戳与所述第二时间戳之间形成所述第一时间段。
3.根据权利要求2所述的数据处理方法,其特征在于,所述获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,包括:
所述第二站点获取所述第二数据,具有对应的第三时间戳;
所述第一站点接收到所述第二数据,具有对应的第四时间戳,其中,所述第四时间戳大于所述第三时间戳;
所述第三时间戳与所述第四时间戳之间形成所述第二时间段。
4.根据权利要求3所述的数据处理方法,其特征在于,所述若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据,包括:
当所述第二时间戳大于所述第三时间戳,且所述第三时间戳大于所述第一时间戳时,所述第一时间段与所述第二时间段存在交集;
若所述第一时间段与所述第二时间段存在交集,则所述第一数据与所述第二数据发生数据冲突,所述第一站点会同时接收到所述第一数据和所述第二数据。
5.根据权利要求3所述的数据处理方法,其特征在于,所述若所述第一时间段与所述第二时间段存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据,包括:
当所述第一时间戳大于所述第三时间戳,且所述第四时间戳大于所述第一时间戳时,所述第一时间段与所述第二时间段存在交集;
若所述第一时间段与所述第二时间段存在交集,则所述第一数据与所述第二数据发生数据冲突,所述第一站点会同时接收到所述第一数据和所述第二数据。
6.根据权利要求3所述的数据处理方法,其特征在于,所述若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据,包括:
当所述第三时间戳大于所述第二时间戳时,所述第一时间段与所述第二时间段不存在交集;
若所述第一时间段与所述第二时间段不存在交集,则所述第一数据与所述第二数据不发生数据冲突,所述第一站点会接收到所述第二数据。
7.根据权利要求3所述的数据处理方法,其特征在于,所述若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据,包括:
当所述第一时间戳大于所述第四时间戳时,所述第一时间段与所述第二时间段不存在交集;
若所述第一时间段与所述第二时间段不存在交集,则所述第一数据与所述第二数据不发生数据冲突,所述第一站点会接收到所述第二数据。
8.根据权利要求1所述的数据处理方法,其特征在于,在所述获取第一站点将第一数据发送至第二站点所需的第一时间段之前,所述方法还包括:
从所述第一站点获取第一业务数据和第一系统数据,其中,所述第一业务数据和所述第一系统数据同行;
通过第一预设模块将所述第一系统数据进行过滤,并将所述第一业务数据保存为第一数据。
9.根据权利要求1所述的数据处理方法,其特征在于,在所述获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段之前,所述方法还包括:
从所述第二站点获取第二业务数据和第二系统数据,其中,所述第二业务数据和所述第二系统数据同行;
通过第二预设模块将所述第二系统数据进行过滤,并将所述第二业务数据保存为第二数据。
10.一种数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一站点将第一数据发送至第二站点所需的第一时间段;
第二获取模块,用于获取所述第一站点接收到所述第二站点发送的第二数据所需的第二时间段,其中,所述第一数据和所述第二数据同行;
第一接收模块,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会同时接收到所述第一数据和所述第二数据;
第二接收模块,用于若所述第一时间段与所述第二时间段不存在交集,则所述第一站点会接收到所述第二数据。
11.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至9中任一项所述的方法。
12.一种电子设备,包括存储器,处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,以执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010647134.8A CN111831749B (zh) | 2020-07-07 | 2020-07-07 | 数据处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010647134.8A CN111831749B (zh) | 2020-07-07 | 2020-07-07 | 数据处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831749A CN111831749A (zh) | 2020-10-27 |
CN111831749B true CN111831749B (zh) | 2024-03-12 |
Family
ID=72900284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010647134.8A Active CN111831749B (zh) | 2020-07-07 | 2020-07-07 | 数据处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831749B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573006A (zh) * | 2017-06-06 | 2018-09-25 | 北京金山云网络技术有限公司 | 跨机房数据同步系统、方法及装置、电子设备 |
CN110941665A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 节点间的数据同步方法、数据同步装置及数据同步设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10565226B2 (en) * | 2016-02-01 | 2020-02-18 | Successfactors, Inc. | Application program interface managing synchronized data replication |
US10346420B2 (en) * | 2016-05-30 | 2019-07-09 | Sap Se | Database integration system |
-
2020
- 2020-07-07 CN CN202010647134.8A patent/CN111831749B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573006A (zh) * | 2017-06-06 | 2018-09-25 | 北京金山云网络技术有限公司 | 跨机房数据同步系统、方法及装置、电子设备 |
CN110941665A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 节点间的数据同步方法、数据同步装置及数据同步设备 |
Non-Patent Citations (1)
Title |
---|
数据库同步技术的研究;梁凝;单晓强;孙叠;;工业控制计算机(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111831749A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9100630B2 (en) | Object detection metadata | |
US20100272364A1 (en) | Image editing system and method | |
US20140293069A1 (en) | Real-time image classification and automated image content curation | |
CN110059686B (zh) | 字符识别方法、装置、设备及可读存储介质 | |
WO2022100222A1 (zh) | 信息检索方法、装置、系统及存储介质 | |
CN113742366B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111897525A (zh) | 大数据处理方法及系统 | |
KR20210105938A (ko) | 이미지 분류 방법 및 전자 디바이스 | |
CN114741256A (zh) | 传感器监听方法、装置及终端设备 | |
CN111881740A (zh) | 人脸识别方法、装置、电子设备及介质 | |
CN113138771A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111401206A (zh) | 一种全景图共享方法、系统、设备和介质 | |
EP3617990B1 (en) | Picture processing method and apparatus, computer readable storage medium, and electronic device | |
US12050633B2 (en) | Data processing method and apparatus | |
CN111831749B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN117135341B (zh) | 图像处理的方法及电子设备 | |
CN111428080A (zh) | 录像文件的存储方法、搜索方法及装置 | |
CN115495169A (zh) | 数据获取、页面生成方法、装置、设备及可读存储介质 | |
CN115062340A (zh) | 设备访问方法、接口处理方法及设备 | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN107256151A (zh) | 页面渲染的处理方法、装置及终端 | |
CN113890753A (zh) | 数字身份管理方法、装置、系统、计算机设备和存储介质 | |
CN108197013B (zh) | 日志处理方法、装置、终端设备及存储介质 | |
WO2019096207A1 (zh) | 图像处理方法和计算机设备、计算机可读存储介质 | |
CN114546671A (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 |