CN110232095A - 一种数据同步方法、装置、存储介质和服务器 - Google Patents
一种数据同步方法、装置、存储介质和服务器 Download PDFInfo
- Publication number
- CN110232095A CN110232095A CN201910422626.4A CN201910422626A CN110232095A CN 110232095 A CN110232095 A CN 110232095A CN 201910422626 A CN201910422626 A CN 201910422626A CN 110232095 A CN110232095 A CN 110232095A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronous task
- source
- synchronous
- task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 claims abstract description 184
- 239000011159 matrix material Substances 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 239000000284 extract Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 239000004744 fabric Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process 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/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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
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
本发明涉及计算机技术领域,提出一种数据同步方法、装置、存储介质和服务器。该数据同步方法包括:从业务系统的源数据库中检测存在数据更新的源数据表;根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;根据所述元数据构建相应的数据同步任务;当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。通过这样设置,能够极大地减少系统的消耗,提高数据的同步效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据同步方法、装置、存储介质和服务器。
背景技术
目前,很多不同的业务系统都会接入同一个大数据平台,实现数据资源的共享。由于业务系统的数据是不断更新的,故各个业务系统需要将自身更新的数据同步存储到大数据平台。在进行数据同步时,通常会开发一套数据同步程序,利用该数据同步程序完成将业务系统更新的数据同步至大数据平台的过程。然而,数据是存储在数据表当中的,在执行数据同步操作时,需要将两个大数据量的数据表进行逐条数据比对,找出其中存在更新的数据,这会造成极大的系统消耗。
发明内容
有鉴于此,本发明实施例提供了一种数据同步方法、装置、存储介质和服务器,能够有效降低执行数据同步操作时的系统消耗。
本发明实施例的第一方面,提供了一种数据同步方法,包括:
从业务系统的源数据库中检测存在数据更新的源数据表;
根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
根据所述元数据构建相应的数据同步任务;
当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
本发明实施例的第二方面,提供了一种数据同步装置,包括:
源数据表检测模块,用于从业务系统的源数据库中检测存在数据更新的源数据表;
元数据查找模块,用于根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
数据同步任务构建模块,用于根据所述元数据构建相应的数据同步任务;
待同步数据查找模块,用于当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
数据同步模块,用于采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如本发明实施例的第一方面提出的数据同步方法的步骤。
本发明实施例的第四方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如本发明实施例的第一方面提出的数据同步方法的步骤。
本申请提出的数据同步方法包括:从业务系统的源数据库中检测存在数据更新的源数据表;根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;根据所述元数据构建相应的数据同步任务;当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。通过这样设置,在执行数据同步操作时,可以利用布隆过滤器快速找到大数据平台的数据表中需要同步的数据,避免采用数据逐条比对的方式,能够极大地减少系统的消耗。而且,在找出需要同步的数据之后,使用mapjoin工具将需要同步的数据的更新值加载到内存中,直接采用内存中的数据对大数据平台的数据表进行更新,能够显著提高数据的同步效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据同步方法的第一个实施例的流程图;
图2是本发明实施例提供的一种数据同步方法的第二个实施例的流程图;
图3是本发明实施例提供的一种数据同步装置的一个实施例的结构图;
图4是本发明实施例提供的一种服务器的示意图。
具体实施方式
本发明实施例提供了一种数据同步方法、装置、存储介质和服务器,能够有效降低执行数据同步操作时的系统消耗。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种数据同步方法的第一个实施例包括:
101、从业务系统的源数据库中检测存在数据更新的源数据表;
业务系统的源数据库存储着大量业务数据,这些数据存储于一个个不同的数据表中。系统会实时监测各个数据表的状态,若某个数据表的数据出现更新,则获取该数据表,作为数据同步的源数据表。
102、根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
在确定需要同步数据的源数据表之后,根据这些数据表的表名从业务系统的源数据库中查找这些数据表的元数据。元数据是用于描述数据属性的数据,通过一个表格的元数据可以获知该表格具有哪些字段,以及每个字段的属性等信息。
103、根据所述元数据构建相应的数据同步任务;
在获得源数据表的元数据之后,即可根据这些元数据构建对应的数据同步任务。具体的,由于根据元数据可以确定表格的结构,具有的各个字段以及属性,故可以有针对性地构建数据同步任务,比如提取表格中第几行第几列的数据作为需要更新的数据,表格中哪部分区域的数据无需变更等。该数据同步任务实质上为根据元数据配置好的一段程序脚本,用于提取数据表中需要更新的数据,同步存储至大数据平台。
进一步的,步骤103可以包括:
(1)获取当前的数据同步标识,所述数据同步标识用于指示当前的数据同步策略;
(2)结合所述源数据表的元数据,构建与所述数据同步标识对应的数据同步任务。
在发明实施例中,可以构建多个不同的数据同步场景,每个数据同步场景都具有一个对应的数据同步标识。对于同一个数据表来说,不同的数据同步标识对应于不同的数据同步策略,需要构建不同的数据同步任务。
更一步的,所述构建与所述数据同步标识对应的数据同步任务可以包括:
(2.1)若所述数据同步标识为第一标识,则构建用于同步所述源数据表的所有数据的数据同步任务;
(2.2)若所述数据同步标识为第二标识,则构建用于同步所述源数据表的部分数据的数据同步任务;
(2.3)若所述数据同步标识为第三标识,则构建用于对所述源数据表的数据进行加密,然后再执行同步操作的数据同步任务;
(2.4)若所述数据同步标识为第四标识,则构建用于对所述源数据表的数据进行格式转换,然后再执行同步操作的数据同步任务。
以上列出了四种数据同步场景,分别为数据全部同步、数据部分同步、数据加密后同步以及数据格式转换后同步。
104、当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
当执行所述数据同步任务,即在将业务系统源数据表的数据同步至大数据平台的目标数据表时,首先根据该源数据表构建一个布隆过滤器,然后将大数据平台待同步的目标数据表的数据输入该布隆过滤器,从而找出所述目标数据表中需要同步的数据。
假设大数据平台的目标数据表包含30亿Mb的数据,而业务系统的源数据表包含1000万Mb的数据,若不采用布隆过滤器,则需要逐条比对这30亿Mb的数据,看看哪些数据需要更新,这会导致极大的系统消耗。采用布隆过滤器可以用于检索元素是否存在于某个集合中,具体原理为:构建一个bit数组(该数组的长度可以根据数据量的大小合理设置,数据量越大,则需要设置得更长,以保证数据识别的准确率),当一条数据输入则进行多个hash的计算,如果该条数据是属于业务系统的数据表中的,则过滤器的bit数组相应的位置都是“1”,通过这种方式即可从30亿Mb的数据中筛选出需要同步更新的那一部分数据。
进一步的,所述执行所述数据同步任务可以包括:
(1)当准备执行当次的数据同步任务时,记录当前的系统时间作为所述当次的数据同步任务的起始时间;
(2)获取上一次的数据同步任务的结束时间;
(3)若所述起始时间和所述结束时间相同,则执行所述当次的数据同步任务;
(4)若所述起始时间晚于所述结束时间,则获取数据同步记录,根据所述数据同步记录确定当次的数据同步任务之前产生的同步失败的数据同步任务,并重新执行所述同步失败的数据同步任务。
数据同步任务一般是周期性地执行的,比如每天为一个周期,当上一次的数据同步任务执行结束的时刻,即开始执行下一次的数据同步任务,故正常情况下当次的数据同步任务的起始时间应该和上一次的数据同步任务的结束时间相同。若所述起始时间和所述结束时间相同,表明数据同步正常,此时正常执行当次的数据同步任务;若所述起始时间晚于所述结束时间,表明当次数据同步任务之前出现了同步失败的数据同步任务,此时获取数据同步记录,根据所述数据同步记录确定当次的数据同步任务之前产生的同步失败的数据同步任务,并重新执行所述同步失败的数据同步任务。通过这样设置,系统能够自动重新执行同步失败的数据同步任务,从而保证数据同步工作的正常、有序执行。
105、采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
在找出所述目标数据表中需要同步的数据之后,采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。在将较小的表(业务系统的源数据表)的数据同步到较大的表(大数据平台的目标数据表)中时,属于不等值的join操作,hive语法解析会报错,而且数据同步时数据会产生异常增大的现象,速度会很慢。而采用mapjoin工具,能够把需要同步更新的数据全部读入内存中,在map阶段直接拿较大的表的数据和内存中的表数据做匹配,操作过程中没有shuffle,不需要网络,所以效率相对来说较快。在数据同步操作时,采用布隆过滤器结合mapjoin工具的方式,能够极大地降低系统消耗,提高数据同步的效率和性能。
本发明实施例提出的数据同步方法包括:从业务系统的源数据库中检测存在数据更新的源数据表;根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;根据所述元数据构建相应的数据同步任务;当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。通过这样设置,在执行数据同步操作时,可以利用布隆过滤器快速找到大数据平台的数据表中需要同步的数据,避免采用数据逐条比对的方式,能够极大地减少系统的消耗。而且,在找出需要同步的数据之后,使用mapjoin工具将需要同步的数据的更新值加载到内存中,直接采用内存中的数据对大数据平台的数据表进行更新,能够显著提高数据的同步效率。
请参阅图2,本发明实施例中一种数据同步方法的第二个实施例包括:
201、从业务系统的源数据库中检测存在数据更新的源数据表;
202、根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
203、根据所述元数据构建相应的数据同步任务;
步骤201-203与步骤101-103相同,具体可参照步骤101-103的相关说明。
204、提取所述数据同步任务使用的参数;
在构建好数据同步任务之后,提取所述数据同步任务使用的各个参数。
205、将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数;
然后,将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数,全局参数即全局变量。具体的,若提取到的参数中包含该全局参数表中的参数,则说明提取到的参数中包含全局参数,否则说明提取到的参数中不含全局参数。
206、若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新;
若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新。通过设置全局参数的机制,若面对使用同一全局参数的多个不同数据同步任务,当该全局参数变更时不必逐一对各个数据同步任务进行参数修改,极大地减少了开发的工作量。
207、当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
208、采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
步骤207-208与步骤104-105相同,具体可参照步骤104-105的相关说明。
本发明实施例提出的数据同步方法包括:从业务系统的源数据库中检测存在数据更新的源数据表;根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;根据所述元数据构建相应的数据同步任务;提取所述数据同步任务使用的参数;将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数;若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新;当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。与本发明的第一个实施例相比,本实施例引入全局参数的机制,若面对使用同一全局参数的多个不同数据同步任务,当该全局参数变更时不必逐一对各个数据同步任务进行参数修改,极大地减少了开发的工作量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种数据同步方法,下面将对一种数据同步装置进行详细描述。
请参阅图3,本发明实施例中一种数据同步装置的一个实施例包括:
源数据表检测模块301,用于从业务系统的源数据库中检测存在数据更新的源数据表;
元数据查找模块302,用于根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
数据同步任务构建模块303,用于根据所述元数据构建相应的数据同步任务;
待同步数据查找模块304,用于当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
数据同步模块305,用于采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
进一步的,所述数据同步装置还可以包括:
起始时间记录模块,用于当准备执行当次的数据同步任务时,记录当前的系统时间作为所述当次的数据同步任务的起始时间;
结束时间获取模块,用于获取上一次的数据同步任务的结束时间;
任务执行模块,用于若所述起始时间和所述结束时间相同,则执行所述当次的数据同步任务;
任务重执行模块,用于若所述起始时间晚于所述结束时间,则获取数据同步记录,根据所述数据同步记录确定当次的数据同步任务之前产生的同步失败的数据同步任务,并重新执行所述同步失败的数据同步任务。
进一步的,所述数据同步任务构建模块可以包括:
同步标识获取单元,用于获取当前的数据同步标识,所述数据同步标识用于指示当前的数据同步策略;
数据同步任务构建单元,用于结合所述源数据表的元数据,构建与所述数据同步标识对应的数据同步任务。
更进一步的,所述数据同步任务构建单元可以包括:
第一任务构建子单元,用于若所述数据同步标识为第一标识,则构建用于同步所述源数据表的所有数据的数据同步任务;
第二任务构建子单元,用于若所述数据同步标识为第二标识,则构建用于同步所述源数据表的部分数据的数据同步任务;
第三任务构建子单元,用于若所述数据同步标识为第三标识,则构建用于对所述源数据表的数据进行加密,然后再执行同步操作的数据同步任务;
第四任务构建子单元,用于若所述数据同步标识为第四标识,则构建用于对所述源数据表的数据进行格式转换,然后再执行同步操作的数据同步任务。
进一步的,所述数据同步装置还可以包括:
参数提取模块,用于提取所述数据同步任务使用的参数;
全局参数判断模块,用于将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数;
全局参数更新模块,用于若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图1或图2表示的任意一种数据同步方法的步骤。
本发明实施例还提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如图1或图2表示的任意一种数据同步方法的步骤。
图4是本发明一实施例提供的服务器的示意图。如图4所示,该实施例的服务器4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个数据同步方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至305的功能。
示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述服务器4中的执行过程。
所述服务器4可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是服务器4的示例,并不构成对服务器4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器4还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(CentraL Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitaL SignaL Processor,DSP)、专用集成电路(AppLication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieLd-ProgrammabLe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述服务器4的内部存储单元,例如服务器4的硬盘或内存。所述存储器41也可以是所述服务器4的外部存储设备,例如所述服务器4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure DigitaL,SD)卡,闪存卡(FLash Card)等。进一步地,所述存储器41还可以既包括所述服务器4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnLyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
从业务系统的源数据库中检测存在数据更新的源数据表;
根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
根据所述元数据构建相应的数据同步任务;
当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
2.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述元数据构建相应的数据同步任务包括:
获取当前的数据同步标识,所述数据同步标识用于指示当前的数据同步策略;
结合所述源数据表的元数据,构建与所述数据同步标识对应的数据同步任务。
3.根据权利要求2所述的数据同步方法,其特征在于,所述构建与所述数据同步标识对应的数据同步任务包括:
若所述数据同步标识为第一标识,则构建用于同步所述源数据表的所有数据的数据同步任务;
若所述数据同步标识为第二标识,则构建用于同步所述源数据表的部分数据的数据同步任务;
若所述数据同步标识为第三标识,则构建用于对所述源数据表的数据进行加密,然后再执行同步操作的数据同步任务;
若所述数据同步标识为第四标识,则构建用于对所述源数据表的数据进行格式转换,然后再执行同步操作的数据同步任务。
4.根据权利要求1所述的数据同步方法,其特征在于,在构建数据同步任务之后,执行所述数据同步任务之前,还包括:
提取所述数据同步任务使用的参数;
将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数;
若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新。
5.根据权利要求1至4中任一项所述的数据同步方法,其特征在于,所述执行所述数据同步任务包括:
当准备执行当次的数据同步任务时,记录当前的系统时间作为所述当次的数据同步任务的起始时间;
获取上一次的数据同步任务的结束时间;
若所述起始时间和所述结束时间相同,则执行所述当次的数据同步任务;
若所述起始时间晚于所述结束时间,则获取数据同步记录,根据所述数据同步记录确定当次的数据同步任务之前产生的同步失败的数据同步任务,并重新执行所述同步失败的数据同步任务。
6.一种数据同步装置,其特征在于,包括:
源数据表检测模块,用于从业务系统的源数据库中检测存在数据更新的源数据表;
元数据查找模块,用于根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
数据同步任务构建模块,用于根据所述元数据构建相应的数据同步任务;
待同步数据查找模块,用于当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
数据同步模块,用于采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的数据同步方法的步骤。
8.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
从业务系统的源数据库中检测存在数据更新的源数据表;
根据所述源数据表的表名从所述源数据库中查找所述源数据表的元数据;
根据所述元数据构建相应的数据同步任务;
当执行所述数据同步任务时,结合所述源数据表构建布隆过滤器,将大数据平台待同步的目标数据表的数据输入所述布隆过滤器,从而找出所述目标数据表中需要同步的数据;
采用mapjoin工具,从所述源数据表中提取所述需要同步的数据的更新值并将所述更新值加载到内存中,然后再将内存中的所述更新值同步至所述目标数据表。
9.根据权利要求8所述的服务器,其特征在于,在构建数据同步任务之后,执行所述数据同步任务之前,还包括:
提取所述数据同步任务使用的参数;
将提取到的参数分别和预先构建的全局参数表中的各个全局参数进行比对,判断所述提取到的参数中是否包含全局参数;
若所述提取到的参数中包含全局参数,则从所述全局参数表中查找所述包含的全局参数的最新值,并使用所述最新值对所述包含的全局参数的数值进行更新。
10.根据权利要求8或9所述的服务器,其特征在于,所述执行所述数据同步任务包括:
当准备执行当次的数据同步任务时,记录当前的系统时间作为所述当次的数据同步任务的起始时间;
获取上一次的数据同步任务的结束时间;
若所述起始时间和所述结束时间相同,则执行所述当次的数据同步任务;
若所述起始时间晚于所述结束时间,则获取数据同步记录,并根据所述数据同步记录确定当次的数据同步任务之前产生的同步失败的数据同步任务,重新执行所述同步失败的数据同步任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910422626.4A CN110232095B (zh) | 2019-05-21 | 2019-05-21 | 一种数据同步方法、装置、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910422626.4A CN110232095B (zh) | 2019-05-21 | 2019-05-21 | 一种数据同步方法、装置、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110232095A true CN110232095A (zh) | 2019-09-13 |
CN110232095B CN110232095B (zh) | 2024-04-02 |
Family
ID=67860948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910422626.4A Active CN110232095B (zh) | 2019-05-21 | 2019-05-21 | 一种数据同步方法、装置、存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232095B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749227A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 数据同步方法及装置 |
CN115098484A (zh) * | 2022-07-05 | 2022-09-23 | 江苏省特种设备安全监督检验研究院 | 一种特种设备数据的同步交互方法 |
CN116701543A (zh) * | 2023-08-03 | 2023-09-05 | 深圳前海环融联易信息科技服务有限公司 | 数据管理方法、装置、计算机设备及存储介质 |
CN117743472A (zh) * | 2024-02-06 | 2024-03-22 | 之江实验室 | 一种存储任务断点同步方法、装置、介质及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150066646A1 (en) * | 2013-08-27 | 2015-03-05 | Yahoo! Inc. | Spark satellite clusters to hadoop data stores |
US20150293937A1 (en) * | 2013-07-01 | 2015-10-15 | Lei Zhang | System and method for data storage |
CN105718455A (zh) * | 2014-12-01 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN105930479A (zh) * | 2016-04-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种数据倾斜处理方法及装置 |
CN106649378A (zh) * | 2015-11-02 | 2017-05-10 | 北大方正集团有限公司 | 一种数据同步方法及装置 |
CN107491487A (zh) * | 2017-07-17 | 2017-12-19 | 中国科学院信息工程研究所 | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
CN109614446A (zh) * | 2018-11-23 | 2019-04-12 | 金色熊猫有限公司 | 数据同步方法、装置、电子设备及存储介质 |
-
2019
- 2019-05-21 CN CN201910422626.4A patent/CN110232095B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150293937A1 (en) * | 2013-07-01 | 2015-10-15 | Lei Zhang | System and method for data storage |
US20150066646A1 (en) * | 2013-08-27 | 2015-03-05 | Yahoo! Inc. | Spark satellite clusters to hadoop data stores |
CN105718455A (zh) * | 2014-12-01 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN106649378A (zh) * | 2015-11-02 | 2017-05-10 | 北大方正集团有限公司 | 一种数据同步方法及装置 |
CN105930479A (zh) * | 2016-04-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种数据倾斜处理方法及装置 |
CN107491487A (zh) * | 2017-07-17 | 2017-12-19 | 中国科学院信息工程研究所 | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
CN109614446A (zh) * | 2018-11-23 | 2019-04-12 | 金色熊猫有限公司 | 数据同步方法、装置、电子设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749227A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 数据同步方法及装置 |
CN115098484A (zh) * | 2022-07-05 | 2022-09-23 | 江苏省特种设备安全监督检验研究院 | 一种特种设备数据的同步交互方法 |
CN115098484B (zh) * | 2022-07-05 | 2023-07-14 | 江苏省特种设备安全监督检验研究院 | 一种特种设备数据的同步交互方法 |
CN116701543A (zh) * | 2023-08-03 | 2023-09-05 | 深圳前海环融联易信息科技服务有限公司 | 数据管理方法、装置、计算机设备及存储介质 |
CN116701543B (zh) * | 2023-08-03 | 2024-01-19 | 深圳前海环融联易信息科技服务有限公司 | 数据管理方法、装置、计算机设备及存储介质 |
CN117743472A (zh) * | 2024-02-06 | 2024-03-22 | 之江实验室 | 一种存储任务断点同步方法、装置、介质及设备 |
CN117743472B (zh) * | 2024-02-06 | 2024-05-07 | 之江实验室 | 一种存储任务断点同步方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110232095B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232095A (zh) | 一种数据同步方法、装置、存储介质和服务器 | |
US10180946B2 (en) | Consistent execution of partial queries in hybrid DBMS | |
EP3120261B1 (en) | Dependency-aware transaction batching for data replication | |
CN103365929B (zh) | 一种数据库连接的管理方法及系统 | |
CN111597015B (zh) | 事务处理方法、装置、计算机设备及存储介质 | |
US9870382B2 (en) | Data encoding and corresponding data structure | |
CN104182405B (zh) | 一种连接查询方法及装置 | |
US11269902B2 (en) | Time series data management method, device, and apparatus | |
JP7362190B2 (ja) | ストレージエンジンにおけるデータインデックス付け方法、データインデックス付け装置、コンピュータ装置、及びコンピュータプログラム | |
CN106339274A (zh) | 一种数据快照获取的方法及系统 | |
CN109145060B (zh) | 数据处理方法及装置 | |
CN105956068A (zh) | 基于分布式数据库的网页url去重方法 | |
US20140095549A1 (en) | Method and Apparatus for Generating Schema of Non-Relational Database | |
CN114911830A (zh) | 基于时序数据库的索引缓存方法、装置、设备及存储介质 | |
CN104601562A (zh) | 游戏服务器与数据库的交互方法和系统 | |
US9715525B2 (en) | Method and system for searching and storing data | |
CN104536785B (zh) | 实时系统更新方法及装置 | |
CN110134698A (zh) | 数据管理方法及相关产品 | |
CN114138894A (zh) | 一种分布式事务数据同步方法、装置、设备及可读存储介质 | |
WO2016169322A1 (zh) | 数据库的查询方法和装置、计算机存储介质 | |
CN111026736A (zh) | 数据血缘管理方法及装置、数据血缘解析方法及装置 | |
JP2016194826A (ja) | データベースの処理制御方法、処理制御プロラム及びデータベースサーバ | |
CN114710404B (zh) | 基于配置管理系统的虚拟服务器配置信息管理方法及装置 | |
CN111611245B (zh) | 处理数据表的方法和系统 | |
CN116974775A (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 |