CN108133007A - 一种数据同步方法和系统 - Google Patents
一种数据同步方法和系统 Download PDFInfo
- Publication number
- CN108133007A CN108133007A CN201711403716.6A CN201711403716A CN108133007A CN 108133007 A CN108133007 A CN 108133007A CN 201711403716 A CN201711403716 A CN 201711403716A CN 108133007 A CN108133007 A CN 108133007A
- Authority
- CN
- China
- Prior art keywords
- data
- input data
- field
- data structure
- source
- 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
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
- G06F16/275—Synchronous replication
Abstract
本发明实施例提供了一种数据同步方法和系统,涉及数据处理技术领域。该方法包括:加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;依据所述输入数据结构进行映射,确定输出数据结构;依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;对所述目标数据项进行存储。本发明实施例能够实现异构数据类型的任意转换,解决现有数据交互软件的兼容性低的问题。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据同步方法、一种数据同步系统、一种电子设备以及一种可读存储介质。
背景技术
随着数据处理量增长,目前已出现一些关系型数据库之间的数据交换软件,可以将一个数据库中的数据复制迁移到另一数据库,以满足不同信息系统之间数据资源的共享需求。
具体而言,为保证数据迁移的无差异化运行,目前数据交互软件可以采用同类型数据库的数据交互方式,来实现相同数据类型的两个数据库之间的数据迁移,避免了两个数据库之间诸如数据类型、编码、日期格式等方面的差异问题。为了弥补了同类型数据库的数据交换方式的不足,出现了不同类型数据库间的数据交互方式,使得数据交互软件可以实现异构数据库件的数据转换。
综上,现有数据交互软件不论采用同类型数据库的数据交互方式,还是采用不同类型数据库间的数据交互方式,来实现数据的转化,都不能摆脱依赖于数据库数据交换的限制,兼容性低。
发明内容
鉴于上述问题,本发明实施例提供一种数据同步方法,以解决现有数据交互软件的兼容性低的问题。
相应的,本发明实施例还提供了一种数据同步系统、一种设备以及一种可读存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种数据同步方法,包括:
加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
依据所述输入数据结构进行映射,确定输出数据结构;
依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
对所述目标数据项进行存储。
可选地,所述加载待同步的输入数据源并进行数据识别,确定输入数据信息,包括:
依据预设的接入配置项信息,确定待同步的输入数据源;
对所述输入数据源进行加载,得到输入数据项;
对所述输入数据源进行数据结构识别,确定输入数据结构。
可选地,所述依据所述输入数据结构进行映射,确定输出数据结构,包括:
基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
依据所述目标数据字段和目标数据类型,确定输出数据结构。
可选地,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
可选地,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
本发明实施例公开了一种数据同步系统,包括:
加载识别模块,用于加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
映射模块,用于依据所述输入数据结构进行映射,确定输出数据结构;
数据转换模块,用于依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
存储模块,用于对所述目标数据项进行存储。
可选地,所述加载识别模块包括:
确定子模块,用于依据预设的接入配置项信息,确定待同步的输入数据源;
加载子模块,用于对所述输入数据源进行加载,得到输入数据项;
识别子模块,用于对所述输入数据源进行数据结构识别,确定输入数据结构。
可选地,所述映射模块包括:
匹配映射子模块,用于基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
结构确定子模块,用于依据所述目标数据字段和目标数据类型,确定输出数据结构。
可选地,所述匹配映射子模块包括:
字段确定单元,用于基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
字段合并单元,用于依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
数据类型单元,用于基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
可选地,所述匹配映射子模块包括:
源数据字段单元,用于基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
字段映射单元,用于依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例中的数据同步方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中的数据同步方法的步骤。
本发明实施例包括以下优点:
综上,本发明实施例加载待同步的输入数据源并进行数据识别后,可以依据识别出的输入数据结构进行映射,确定出输出数据结构,以及依据输出数据结构进行数据转换,得到能够符合输出数据结构的数据格式的目标数据项,随后可按照输出数据结构对该目标数据项进行存储,从而完成从一数据终端到另一数据终端的数据转换,不受数据库数据交换的限制,即能够实现异构数据类型的任意转换,解决现有数据交互软件的兼容性低的问题。
附图说明
图1是本发明的一种数据同步方法实施例的步骤流程图;
图2是本发明一个示例中的一种单结构字段合并的示意图;
图3是本发明一个示例中的一种多结构字段合并的示意图;
图4是本发明一个示例的一种字段映射和数据转换的示意图;
图5是本发明一个示例的一种数据同步系统的执行流程图;
图6是本发明的一种数据同步系统实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
目前,不同类型数据库交互方式,不能摆脱依赖于数据库数据交换的限制,导致现有数据交互软件无法实现数据库与文件之间的数据转换,即无法实现从数据库到文件的数据转换,也无法实现从文件到数据库的数据转换。这影响了数据交互软件的使用和拓展,影响用户体验,以及降低了兼容性。
本发明实施例的核心构思之一在于,从现实场景应用的角度出发,提出了一种新的数据同步方法和系统,实现异构数据终端的数据交换,从而解决现有数据交互软件的兼容性低的问题。
需要说明的是,数据同步(DATASYNCHRONIZATION)可以是指:为满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程。具体的,在多个数据终端环境下,可以为任意两个数据终端建立数据通信临时互连通路,实现文件从一个位置到另一个位置的搬迁,或者,实现数据从一个终端到另一个终端的复制搬迁过程。
其中,数据终端(TERMINAL)可以一种或多种的数据存储方式和数据提供方式,可以包括:存储有各种数据的表格文件(简称表格)和能够进行海量数据存储的大型数据库系统,如关系型数据库、非关系型数据库、数据库管理系统(Database Management System,DBMS)中的分布式数据库、文件等。具体的,关系型数据库(Relational Database)可是指建立在关系模型基础上的数据库,可以借助于集合代数等数学概念和方法来处理数据库中的数据,如Oracle数据库(Oracle Database)、MySQL数据库、DB2数据库、SQL Server数据库等;非关系型数据库可以包括REDIS数据库、Hbase数据库、MongoDB数据库、Neo4j图形数据库等等;文件可以包括办公软件文件,如Word文件、Excel文件、便携式文档格式(PortableDocument Format,PDF)文件、文本文档(TXT)文件等等,本发明实施例对此不作限制。
参照图1,示出了本发明的一种数据同步方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项。
在实际应用中,可以利用本发明实施例提供的数据同步方法构建一个数据同步系统。该数据同步系统可以基于网络通讯技术,实现不同数据终端之间的数据搬迁,如实现数据库数据到文件的数据转换、文件到数据库数据的数据转换等等,即实现了异构数据类型的任意转换。
具体而言,数据同步系统在启动后,可以进行数据源加载,以及数据源配置项的验证。在验证成功后,可以根据数据源配置项,完成数据源的加载。随后可将加载的数据源确定为待同步的输入数据源,以及对该待同步的输入数据源进行数据识别,确定待同步的输入数据源对应的输入数据结构。该输入数据结构可以表征待同步的输入数据源的数据结构。当验证失败时,可以针对该数据源配置项的验证记录相应的错误日志信息,可选地,还可以接入日志存储数据库,以通过接入的日志存储数据库对错误日志信息进行存储。
在本发明的一个可选实施例中,加载待同步的输入数据源并进行数据识别,确定输入数据信息,具体可以包括如下子步骤:
子步骤1020依据预设的接入配置项信息,确定待同步的输入数据源。
本发明实施例中,预设的接入配置项信息可以包括预先在数据同步系统中设置的接入配置项信息,如依据用户操作确定的自定义配置项、数据同步系统中默认设置的配置项等。在数据同步系统启动后,可以获取预设的接入配置项信息,以基于该接入配置项信息进行数据定需要接入的数据源,从而基于需要接入的输入数据源确定待同步的输入数据源。其中,需要接入的数据源可以包括输入数据源、输出数据源等,本发明实施例对此不作限制。
子步骤1022,对所述输入数据源进行加载,得到输入数据项。
本发明实施例中,数据同步系统在确定待同步的输入数据源后,可以针对该输入数据源进行数据加载,以将该输入数据源接入到数据同步系统中。数据输入源可以包括一个或多个输入数据项,每一个输入数据项可以用于表征一种数据。例如,当输入数据源为关系型数据库中的某一个数据表A时,若数据表A中包括了4个数据表项,分别为:姓名、性别、学历和学号,则数据同步系统在加载该数据表A后,可以得到该数据表A中所包含的4个输入数据项。
子步骤1024,对所述输入数据源进行数据结构识别,确定输入数据结构。
在具体实现中,数据源系统在数据加载的过程中,可以同时对加载的输入数据源进行数据识别,以识别出输入数据源对应的输入数据结构。例如,数据同步系统可以通过数据识别,识别出输入数据源的数据类型以及数据类型对应的数据格式,随后可以基于识别出的数据类型以及对应的数据格式,确定输入数据结构。
步骤104,依据所述输入数据结构进行映射,确定输出数据结构。
本发明实施例中,在确定出输入数据结构后,可以依据该输入数据结构进行数据映射,以确定出输出数据结构。其中,输出数据结构可以用于表征所需要输出的目标数据项的数据结构。需要说明的是,数据映射可以指在两个数据模型之间,建立数据元素的对应关系的过程。
在本发明的一个可选实施例中,依据所述输入数据结构进行映射,确定输出数据结构,具体可以包括:基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;依据所述目标数据字段和目标数据类型,确定输出数据结构。
具体的,数据同步系统在识别输入数据结构后,可依据预设的映射配置信息进行匹配映射,以映射出该输入数据结构中的数据类型所对应的目标数据类型,以及输入数据结构中的数据类型所对应的目标数据类型,进而可以基于映射出的目标数据字段和/或目标数据类型,确定出输出数据结构。该输出数据结构可以用于确定所需要输出的目标数据项的数据结构,如确定目标数据项的数据格式、数据类型等等,本发明实施例对此不作限制。
为了满足更大化的需求,本发明实施例可以通过字段合并过程,实现数据项的合并映射,如可以将多个输入数据项字段映射到同一个目标数据项,即可以将输入数据源中的多个字段合并映射到同一个目标字段;又如可以通过输入数据源中的关联字段,完成输入数据源的多个数据表的字段的合成,即在转换过程中将具有合并关系的数据合并处理,等等,本发明实施例对此不作限制。
在一种可选实施方式中,:基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,可以包括:基于所述映射配置信息,确定所述输入数据结构中的待合并字段;依据所述待合并字段进行字段合并,得到合并后的目标数据字段;基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
例如,在采用单结构字段合并的情况下,如图2所示,图2中的合并字段前表10可以表征输入数据源的数据结构,可以包括四个字段,分别为表10中的A字段、B字段、C字段和D字段;根据预设的映射配置信息,将表10中的A字段和B字段确定为待合并字段,随后可基于A字段和B字段进行合并字段,得到合并后的AB字段,如图2中的A+B=AB,然后可以将AB字段作为合并后的目标数据字段,以及可以基于A字段和B字段的数据类型和数据格式,确定出目标数据字段的数据类型和数据格式,从而完成了数据类型和数据格式的对应,得到输出数据结构,如图2中的合并字段后表20所表征的数据结构,以便后续可以基于输入数据结构和输出数据之间的对应关系,完成数据的转换。
又如,在采用多结构字段合并的情况下,即在采用至少两个结构进行字段合并的情下,如图3所示,图3中的合并字段前表30可以表征输入数据源的一个数据结构,表40可以表征输入数据源的另一个数据结构;根据预设的映射配置信息,可以将表30中的A字段与B字段合并为AB字段,如图3中的A+B=AB,并且同时可以将表30中的B字段与C字段合并为BC字段,如图3中的B+C=BC,以及可以将表30和表40的“学号”字段作为唯一标识(ID),通过ID关联可以将表30和表40合并为一个合并字段后表50,如图3所示,合并字段后表50可以包括表40中的“姓名”字段和“学历”字段以及表30中A字段与B字段合并后的AB字段、B字段与C字段合并后的BC字段等等。可选的,合并字段后表50还可以包括其他字段,如表30和/或表40中的“学号”字段、表40中的“性别”字段等等,本发明实施例对此不作限制。
在实际处理中,数据同步系统所处理的数据可以为具有文件结构定义的数据,如数据库数据、文件数据等。本发明实施例可以通过字段映射,完成了结构化数据结构的转换,如完成诸如数据字段项对应、数据类型转换,以及特殊类型格式化等数据结构转换过程,即可以从一种数据结构转化为用户期望的另一种数据结构。可选地,基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,可以包括:基于所述映射配置信息,确定所述输入数据结构中的源数据字段;依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
例如,基于预设的映射配置信息,可以输入数据结构A1的源数据字段包括AB字段、C字段和D字段,然后可以基于映射配置信息中设置的映射关系,分别对AB字段、C字段和D字段进行字段映射,得到AB字段对应映射后的AA字段、C字段对应映射后的BB字段和字段D对应映射后的CC字段,以及映射后的各字段对应的目标数据类型,如图4所示,可以将CC字段对应的目标数据类型设置为日期数据类型,以及将其对应的目标数据格式设置为诸如“XXXX年XX月XX日”等日期数据格式等等;从而可以基于映射后的目标数据字段和对应的目标数据类型,确定输出数据结构,如确定出的输出数据结构A2可以包括映射后的AA字段、BB字段以及CC字段等等,本发明实施例对此不作限制。
步骤106,依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项。
本发明实施例中,数据同步系统可以按照确定的输出数据结构,对输入数据项进行数据转换,使得转换后生成的目标数据项能够符合输出数据结构的数据格式。例如,当输入数据结构A1中的A字段为输入数据项“张”,B字段为另一输入数据项“子X”时,通过将A字段和B字段进行字段映射以及格式合并,如图4所示,可以得到输出数据结构A2中的AB字段为目标数据项“张子X”。此外,还可以通过字段映射和数据转换,将输入数据结构A1中的C字段的数据转换为输出数据结构A2中的BB字段的数据;以及可以通过字段映射和日期格式转换,将输入数据结构A1中的D字段的数据转换为输出数据结构A2中的CC字段的日期数据,等等。
步骤108,对所述目标数据项进行存储。
本发明实施例在得到目标数据项后,可以按照输出数据结构对该目标数据项进行存储,如可按照输出数据结构,将目标数据项输出到目标数据终端中,以通过目标数据终端对输出的目标数据项进行存储,从而完成从一数据终端到另一数据终端的数据转换,即实现将一数据终端中的数据同步至另一数据终端。
综上,本发明实施例加载待同步的输入数据源并进行数据识别后,可以依据识别出的输入数据结构进行映射,确定出输出数据结构,以及依据输出数据结构进行数据转换,得到能够符合输出数据结构的数据格式的目标数据项,随后可按照输出数据结构对该目标数据项进行存储,从而完成从一数据终端到另一数据终端的数据转换,如能够实现文件和文件之间的数据搬迁、关系型数据库到关系型数据库之间的数据同步、非关系型数据库到非关系型数据库之间的数据同步、关系型数据库到非关系型数据库的数据转换、数据库到文件的数据转换或者文件到数据库的数据转换等,即能够实现异构数据类型的任意转换,不受数据库数据交换的限制,解决现有数据交互软件的兼容性低的问题。
作为本发明的一个示例,本发明实施例提供的数据同步系统的软件架构,可以从总体上划分为三个层次:数据输入层、数据处理层、数据输出层。该数据同步系统的软件架构中的数据的呈现形式可以包括多种形式,如可以分布在诸如关系型数据库、非关系型数据库、文件等多个数据终端,具体可以实现诸如关系型数据库的输入数据和非关系型数据库的输出数据之间的数据转换、关系型数据库的输入数据和关系型数据库的输出数据之间的数据转换、非关系型数据库的输入数据和非关系型数据库的输出数据之间的数据转换、非关系型数据库的输入数据和关系型数据库的输出数据之间的数据转换、数据库到文件的数据转换,以及文件到数据库的数据转换等等。在本示例的软件架构的引导下,能够实现多个数据终端中的数据任意转换和自主配置切换。
其中,数据输入层可以作为数据的提供方,通过诸如Java数据库连接(JavaDataBase Connectivity,JDBC)驱动程序(DRIVER)、本地数据库(Native DB)应用程序编程接口(Application Programming Interface,Api)、网络协议(Net protocal)、本地协议(Native protocol)等一种或多种方式,实现数据同步系统的程序与诸如关系型数据库、非关系型数据库、文件等中至少两个数据终端进行通讯互联和数据传输。由于数据终端的多样性和差异性,数据同步系统提供了数据统一访问接口,来实现数据访问和传输的标准化、规范化建设。数据输入层中的数据访问端可以通过数据访问接口,实现各种类型数据源的自主适配接入,增量标记加载和增量数据的提取过程。
需要说明的是,数据同步系统中的统一数据访问接口,可以定义了所有数据类型对应数据操作的综合接口,如定义文件、关系型数据、非关系型数据等数据类型对应数据操作的接口,从而可以满足所有的数据格式和文件格式,如可分别通过诸如JDBC DRIVER、Native DB Api、Net protocal等形式完成数据存取。
数据处理层可以实现数据格式和数据类型的自动加载、识别,并且可以针对数据项和数据类型进行映射,以及可以实现不同类型数据的数据格式转换、数据类型转换等。其中,数据项映射,实现了输入数据源中的源数据项到目标数据项的一对一匹配,可以按照映射类型分为:字段自主适配和自定义映射配置,从而能够最大化的适应转换需求。具体而言,为了满足更大化的需求,数据处理曾的数据处理环节可以包括字段合并过程,该过程能够实现数据项的合并映射,即多个输入字段可以映射到同一个目标字段,也可以通过关联字段在转换过程中完成多个表的字段的合并处理,即将多个表中具有合并关系的数据合并在一起。此外,字段映射可以作为数据处理环节的核心处理部分,可以完成数据字段项对应、数据类型转换,以及特殊类型格式化等过程。
数据输出层可以作为整个软件架构的结束,可以完成数据的写入和存储,即能够成多终端从一端到另一端的转换。具体的,数据输出层可以提供数据统一数据访问接口,从而实现多数据终端的数据写入的标准化和规范化。例如,在数据同步系统读取到诸如Excel表等文件的数据后,可以借助统一访问接口,通过JDBC对关系型数据库存取的定义,完成Oracle数据库数据的转化存储。
综上,本示例提供的数据同步系统的软件架构先进,可以通过数据输入层、数据处理层和输出输出层,实现异构数据类型的任意转换,如实现文件和文件之间的数据搬迁、关系型数据库到关系型数据库之间的数据同步、非关系型数据库到非关系型数据库之间的数据同步、关系型数据库到非关系型数据库的数据转换、数据库到文件的数据转换或者文件到数据库的数据转换等数据从,不受数据库数据交换的限制,通过统一数据访问接口实现数据源的接入和目标数据项的输出,提高数据同步系统的稳定性,兼容性高。
参照图5,示出了本发明一个示例的一种数据同步系统的执行流程图,具体可以包括如下步骤:
步骤502,接入输入数据源。
具体的,在数据同步系统的程序启动后,可以进行多个输入数据源的接入,然后可以针对接入的输入数据源执行步骤504。
步骤504,进行数据源配置项的验证,并确定是否验证成功。若验证成功,则转至步骤506执行;若验证失败,则可以转至步骤516执行。例如,依据预设的数据源配置项验证是否成功接入所有需要加载的待同步的输入数据源;若成功接入所有需要加载的待同步的输入数据源,则可以执行步骤506;否则,可针对接入失败的待同步的输入数据源,执行步骤516。
步骤506,对接入的输入数据源进行数据源识别,以及确定是否对输入数据源中的数据识别成功。
例如,数据同步系统的程序可以根据配置项和接入的输入数据源进行格式处理程序的识别和加载,同时可以对输入数据源的数据进行识别。在识别成功时,可以转至步骤508继续执行;在识别失败时,可以转至步骤516执行。其中,格式处理程序可以用于对输入数据源的数据格式进行处理,如可以识别出输入数据源中的各数据项对应的数据格式等等,本发明实施例对此不作限制。
步骤508,对输入数据源进行数据项和数据类型的匹配映射,并检测匹配映射是否成功。
具体的,在完成输出源和输出源的加载后,数据同步系统的程序可以根据自定义配置或者默认加载位置进行数据项和类型的匹配映射,并且可在映射成功时转至510步骤继续执行,以及在映射失败时转至步骤516执行。
步骤510,针对输入数据源进行数据转换,以及检测数据转换是否成功。
具体而言,在映射成功后,数据同步系统的程序可以从输入数据中读取数据项,如读取输入数据源中的各项数据,同时可对已读取数据的数据类型和数据格式进行转换。在转换成功后,可执行步骤512;在转换失败后,可转至步骤516执行。
步骤512,接入输出数据源,并判断是否成功接入输出数据源。
具体的,数据同步数据系统可以进行输出数据源的加载,以为下一步数据存储做好准备。在接入输出数据源成功时,可以执行步骤514;在接入输出数据库失败时。可转至步骤516执行。
步骤514,进行数据存储。
具体的,数据同步系统的程序在成功接入输出数据源后,可以将需要输出的目标数据项存储至输出数据源中,从而完成从输入数据源到输出数据源的数据同步。
步骤516,记录错误日志信息。
具体的,数据同步系统可以在数据同步过程中,记录诸如输入数据源接入失败、数据识别失败、数据映射失败、数据转换识别、数据储存识失败等数据处理失败对应的错误日志信息,以及可以接入日志存储数据,以通接入的日志存储数据对记录的错误日志信息进行存储。其中,错误日志信息可以包括记录的数据错误,如测试数据不符合字段项规定格式的数据错误、数据存储错误、数据转换错误等;又如,数据长度太长超过数据库定义的长度,日期格式不是时间格式等等,本发明实施例对此不作限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明的一种数据同步系统实施例的结构框图,具体可以包括如下模块:
加载识别模块602,用于加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
映射模块604,用于依据所述输入数据结构进行映射,确定输出数据结构;
数据转换模块606,用于依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
存储模块608,用于对所述目标数据项进行存储。
在本发明的一个可选实施例中,所述加载识别模块602可以包括如下子模块:
确定子模块,用于依据预设的接入配置项信息,确定待同步的输入数据源;
加载子模块,用于对所述输入数据源进行加载,得到输入数据项;
识别子模块,用于对所述输入数据源进行数据结构识别,确定输入数据结构。
在本发明的一个可选实施例中,所述映射模块604可以包括如下子模块:
匹配映射子模块,用于基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
结构确定子模块,用于依据所述目标数据字段和目标数据类型,确定输出数据结构。
在本发明实施例中,可选地,所述匹配映射子模块可以包括如下单元:
字段确定单元,用于基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
字段合并单元,用于依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
数据类型单元,用于基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
在本发明的一个可选实施例中,所述匹配映射子模块可以包括如下子模块:
源数据字段单元,用于基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
字段映射单元,用于依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时可以实现以下步骤:加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;依据所述输入数据结构进行映射,确定输出数据结构;依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;对所述目标数据项进行存储。
可选地,所述加载待同步的输入数据源并进行数据识别,确定输入数据信息,包括:
依据预设的接入配置项信息,确定待同步的输入数据源;
对所述输入数据源进行加载,得到输入数据项;
对所述输入数据源进行数据结构识别,确定输入数据结构。
可选地,所述依据所述输入数据结构进行映射,确定输出数据结构,包括:
基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
依据所述目标数据字段和目标数据类型,确定输出数据结构。
可选地,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
可选地,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现本发明实施例中的数据同步方法的步骤。
对于电子设备、计算机可读存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据同步方法、系统、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种数据同步方法,其特征在于,所述方法包括:
加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
依据所述输入数据结构进行映射,确定输出数据结构;
依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
对所述目标数据项进行存储。
2.根据权利要求1所述的方法,其特征在于,所述加载待同步的输入数据源并进行数据识别,确定输入数据信息,包括:
依据预设的接入配置项信息,确定待同步的输入数据源;
对所述输入数据源进行加载,得到输入数据项;
对所述输入数据源进行数据结构识别,确定输入数据结构。
3.根据权利要求1或2所述的方法,其特征在于,所述依据所述输入数据结构进行映射,确定输出数据结构,包括:
基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
依据所述目标数据字段和目标数据类型,确定输出数据结构。
4.根据权利要求3所述的方法,其特征在于,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
5.根据权利要求3所述的方法,其特征在于,所述基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型,包括:
基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
6.一种数据同步系统,其特征在于,包括:
加载识别模块,用于加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
映射模块,用于依据所述输入数据结构进行映射,确定输出数据结构;
数据转换模块,用于依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
存储模块,用于对所述目标数据项进行存储。
7.根据权利要求6所述的系统,其特征在于,所述加载识别模块包括:
确定子模块,用于依据预设的接入配置项信息,确定待同步的输入数据源;
加载子模块,用于对所述输入数据源进行加载,得到输入数据项;
识别子模块,用于对所述输入数据源进行数据结构识别,确定输入数据结构。
8.根据权利要求6或7所述的系统,其特征在于,所述映射模块包括:
匹配映射子模块,用于基于预设的映射配置信息,对所述输入数据结构进行匹配映射,得到映射后的目标数据字段和目标数据类型;
结构确定子模块,用于依据所述目标数据字段和目标数据类型,确定输出数据结构。
9.根据权利要求8所述的系统,其特征在于,所述匹配映射子模块包括:
字段确定单元,用于基于所述映射配置信息,确定所述输入数据结构中的待合并字段;
字段合并单元,用于依据所述待合并字段进行字段合并,得到合并后的目标数据字段;
数据类型单元,用于基于待合并字段中的数据类型,确定所述目标数据字段对应的目标数据类型。
10.根据权利要求8所述的系统,其特征在于,所述匹配映射子模块包括:
源数据字段单元,用于基于所述映射配置信息,确定所述输入数据结构中的源数据字段;
字段映射单元,用于依据所述源数据字段进行字段映射,得到目标数据字段以及所述目标数据字段对应的目标数据类型。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
加载待同步的输入数据源并进行数据识别,确定输入数据信息,所述输入数据信息包括输入数据结构和输入数据项;
依据所述输入数据结构进行映射,确定输出数据结构;
依据所述输出数据结构,对所述输入数据项进行数据转换,生成目标数据项;
对所述目标数据项进行存储。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711403716.6A CN108133007A (zh) | 2017-12-22 | 2017-12-22 | 一种数据同步方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711403716.6A CN108133007A (zh) | 2017-12-22 | 2017-12-22 | 一种数据同步方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108133007A true CN108133007A (zh) | 2018-06-08 |
Family
ID=62391534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711403716.6A Pending CN108133007A (zh) | 2017-12-22 | 2017-12-22 | 一种数据同步方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108133007A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241019A (zh) * | 2018-08-02 | 2019-01-18 | 中国建设银行股份有限公司 | 不同存储介质间的数据交换系统、方法、装置和存储介质 |
CN109543169A (zh) * | 2018-11-26 | 2019-03-29 | 成都四方伟业软件股份有限公司 | 报表处理方法及装置 |
CN109657004A (zh) * | 2018-12-10 | 2019-04-19 | 北京明朝万达科技股份有限公司 | 一种数据同步方法及装置 |
CN109710603A (zh) * | 2018-12-28 | 2019-05-03 | 江苏满运软件科技有限公司 | 数据清洗方法、系统、存储介质及电子设备 |
CN109978629A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山安全软件有限公司 | 一种广告投放方法、装置、电子设备及存储介质 |
CN110765166A (zh) * | 2019-10-23 | 2020-02-07 | 山东浪潮通软信息科技有限公司 | 一种管理数据的方法、设备及介质 |
CN110969000A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 数据合并的处理方法及装置 |
CN111611441A (zh) * | 2020-05-22 | 2020-09-01 | 阳光财产保险股份有限公司 | 异构数据的处理方法、装置以及计算机设备 |
CN111782690A (zh) * | 2019-04-04 | 2020-10-16 | 上海晶赞融宣科技有限公司 | 多源异构数据的汇聚方法及装置、存储介质、终端 |
CN112131312A (zh) * | 2020-09-16 | 2020-12-25 | 微医云(杭州)控股有限公司 | 数据同步系统、方法、装置、设备及存储介质 |
CN112231541A (zh) * | 2020-09-22 | 2021-01-15 | 苏州艾特律宝智能科技有限公司 | 数据检索方法、系统、计算机设备及存储介质 |
CN112434004A (zh) * | 2020-10-28 | 2021-03-02 | 金蝶云科技有限公司 | 异构系统的数据迁移方法、装置、计算机设备和存储介质 |
CN112612802A (zh) * | 2020-12-19 | 2021-04-06 | 前海飞算科技(深圳)有限公司 | 一种实时数据中台的处理方法、装置及平台 |
CN113238926A (zh) * | 2021-04-14 | 2021-08-10 | 北京信安世纪科技股份有限公司 | 一种数据库脚本检测方法、装置、电子设备及存储介质 |
WO2023221520A1 (zh) * | 2022-05-20 | 2023-11-23 | 中兴通讯股份有限公司 | 数据接入方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092980A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院自动化研究所 | 一种数据自动转换与存储的方法及系统 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
CN103927344A (zh) * | 2014-03-31 | 2014-07-16 | 国网山东省电力公司 | 一种数据集成方法 |
CN106484785A (zh) * | 2016-09-19 | 2017-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种高效的自动匹配数据字段映射的方法 |
-
2017
- 2017-12-22 CN CN201711403716.6A patent/CN108133007A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092980A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院自动化研究所 | 一种数据自动转换与存储的方法及系统 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
CN103927344A (zh) * | 2014-03-31 | 2014-07-16 | 国网山东省电力公司 | 一种数据集成方法 |
CN106484785A (zh) * | 2016-09-19 | 2017-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种高效的自动匹配数据字段映射的方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241019A (zh) * | 2018-08-02 | 2019-01-18 | 中国建设银行股份有限公司 | 不同存储介质间的数据交换系统、方法、装置和存储介质 |
CN110969000A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 数据合并的处理方法及装置 |
CN109543169A (zh) * | 2018-11-26 | 2019-03-29 | 成都四方伟业软件股份有限公司 | 报表处理方法及装置 |
CN109657004A (zh) * | 2018-12-10 | 2019-04-19 | 北京明朝万达科技股份有限公司 | 一种数据同步方法及装置 |
CN109710603A (zh) * | 2018-12-28 | 2019-05-03 | 江苏满运软件科技有限公司 | 数据清洗方法、系统、存储介质及电子设备 |
CN109710603B (zh) * | 2018-12-28 | 2020-11-24 | 江苏满运软件科技有限公司 | 数据清洗方法、系统、存储介质及电子设备 |
CN109978629A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山安全软件有限公司 | 一种广告投放方法、装置、电子设备及存储介质 |
CN109978629B (zh) * | 2019-03-29 | 2021-07-09 | 北京金山安全软件有限公司 | 一种广告投放方法、装置、电子设备及存储介质 |
CN111782690A (zh) * | 2019-04-04 | 2020-10-16 | 上海晶赞融宣科技有限公司 | 多源异构数据的汇聚方法及装置、存储介质、终端 |
CN110765166A (zh) * | 2019-10-23 | 2020-02-07 | 山东浪潮通软信息科技有限公司 | 一种管理数据的方法、设备及介质 |
CN111611441A (zh) * | 2020-05-22 | 2020-09-01 | 阳光财产保险股份有限公司 | 异构数据的处理方法、装置以及计算机设备 |
CN111611441B (zh) * | 2020-05-22 | 2024-04-09 | 阳光财产保险股份有限公司 | 异构数据的处理方法、装置以及计算机设备 |
CN112131312A (zh) * | 2020-09-16 | 2020-12-25 | 微医云(杭州)控股有限公司 | 数据同步系统、方法、装置、设备及存储介质 |
CN112231541A (zh) * | 2020-09-22 | 2021-01-15 | 苏州艾特律宝智能科技有限公司 | 数据检索方法、系统、计算机设备及存储介质 |
CN112434004A (zh) * | 2020-10-28 | 2021-03-02 | 金蝶云科技有限公司 | 异构系统的数据迁移方法、装置、计算机设备和存储介质 |
CN112612802A (zh) * | 2020-12-19 | 2021-04-06 | 前海飞算科技(深圳)有限公司 | 一种实时数据中台的处理方法、装置及平台 |
CN113238926A (zh) * | 2021-04-14 | 2021-08-10 | 北京信安世纪科技股份有限公司 | 一种数据库脚本检测方法、装置、电子设备及存储介质 |
CN113238926B (zh) * | 2021-04-14 | 2023-11-10 | 北京信安世纪科技股份有限公司 | 一种数据库脚本检测方法、装置、电子设备及存储介质 |
WO2023221520A1 (zh) * | 2022-05-20 | 2023-11-23 | 中兴通讯股份有限公司 | 数据接入方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133007A (zh) | 一种数据同步方法和系统 | |
CN109614823B (zh) | 一种数据的处理方法、装置及设备 | |
CN110032575A (zh) | 数据查询方法、装置、设备和存储介质 | |
US11172022B2 (en) | Migrating cloud resources | |
US9483386B2 (en) | Information interaction test device and method based on automatic generation of associated test cases | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN104881443B (zh) | 一种在数据库间迁移数据的方法和系统 | |
US9401957B2 (en) | System and method for synchronization between servers | |
WO2020192141A1 (zh) | 接口模拟方法、装置、计算机设备和存储介质 | |
CN110413595A (zh) | 一种应用于分布式数据库的数据迁移方法和相关装置 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN106990974B (zh) | 一种app应用更新方法、装置及电子设备 | |
CN106802865B (zh) | 用于软件测试的应答模拟装置及方法 | |
CN106371931B (zh) | 一种基于Web框架的高性能地学计算服务系统 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
US11055213B2 (en) | Facilitating localization of code defect | |
CN114422343A (zh) | 业务配置方法、设备、系统及计算机可读存储介质 | |
US11709763B2 (en) | Systems and method for testing computing environments | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN106330556B (zh) | 一种用于生成服务模块调用关联信息的方法与装置 | |
CN113704120A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN115017149A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US9542246B2 (en) | Sharing a partitioned data set across parallel applications | |
CN105574056A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180608 |
|
RJ01 | Rejection of invention patent application after publication |