掌桥专利:专业的专利平台
掌桥专利
首页

数据同步方法、装置、设备及介质

文献发布时间:2023-06-19 12:22:51


数据同步方法、装置、设备及介质

技术领域

本发明涉及数据处理技术领域,特别是涉及一种数据同步方法、装置、设备及介质。

背景技术

在采用相关技术进行数据同步的过程中,数据同步平台往往需要对接多个数据供应商,以同步这些数据供应商发送的数据。以数据同步平台为神经网络模型开发平台为例,神经网络模型开发平台需要对多个数据供应商分别提供的相机数据、图片数据、底库数据等进行同步。

为了实现数据同步,数据同步平台会对接多个不同的数据供应商,数据同步平台需要与不同数据供应商一一对接资源,即针对每一个数据供应商,数据同步平台都需要更改自身数据设置以适配数据供应商提供的数据,因此,数据同步平台在每次数据同步时,都要人工与各数据供应商进行数据规范,导致人力物力成本较高,数据同步效率较低。

发明内容

鉴于上述问题,提出了本发明实施例的一种数据同步方法、装置、设备及介质,以便克服上述问题或者至少部分地解决上述问题。

为了解决上述问题,本发明的第一方面,提供一种数据同步方法,所述方法包括:

检测待同步数据的数据结构,所述数据结构至少包括描述所述待同步数据的多个字段;

确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系;

从所述待同步数据所属的数据源获取所述待同步数据;

按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件。

可选地,检测待同步数据的数据结构,包括:

根据所述待同步数据所在的数据源,调用对应的数据探针;其中,所述数据源包括以下数据源中的至少一种:接口数据源、文件数据源、数据库数据源,不同的数据源对应不同的数据探针;

采用所述数据探针检测所述待同步数据的数据结构。

可选地,采用所述数据探针检测所述待同步数据的数据结构,包括:

通过所述数据探针向所述待同步数据所在的数据源发送数据检测请求;

接收所述待同步数据所在的数据源针对所述数据检测请求返回的描述性数据;

根据所述描述性数据,确定所述待同步数据的数据结构。

可选地,所述方法还包括:

获取多个不同数据源发送的多种数据;

按照预设分类属性,对所述多种数据进行分类,得到多种待同步数据,其中,每种待同步数据包括来源不同数据源的子同步数据;

对所述每种待同步数据中的每个子同步数据,按照该子同步数据的多个字段与目标模板文件中多个字段之间的匹配关系,将该子同步数据写入目标模板文件;其中,目标模板文件为与该种待同步数据对应的模板文件。

可选地,确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系,包括:

根据所述待同步数据的多个字段各自的字段名所表征的语义与所述多个字段各自的字段名所表征的语义,将表征相同语义的字段与字段进行匹配;

对所述多个字段中未得到匹配的目标字段,将所述目标字段的字段值设置为默认值。

可选地,按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件之后,所述方法还包括:

根据所述待同步数据,对写入到所述模板文件中的数据进行一致性校验;

在校验通过时,导出写入数据后的模板文件。

本申请实施例的第二方面,提供一种数据同步装置,所述装置包括:

检测模块,用于检测待同步数据的数据结构,所述数据结构至少包括描述所述待同步数据的多个字段;

匹配模块,用于确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系;

获取模块,用于从所述待同步数据所属的数据源获取所述待同步数据;

同步模块,用于按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件。

本发明实施例的第三方面,还公开了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如第一方面所述的数据同步方法。

本发明实施例的第四方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明第一方面实施例所述的数据同步方法。

本发明实施例包括以下优点:

采用本发明实施的技术方案,由于在获取待同步数据之前,可以先检测待同步数据的数据结构,并确定待同步数据的多个字段与模板文件中的多个字段之间的匹配关系,这样,对于不同数据结构的待同步数据,均可以确定待同步数据的多个字段与模板文件中的多个字段之间的匹配关系。一旦建立好匹配关系后,便相当于将同步数据的字段与模板文件中的字段进行了对应,如此,对于获取的不同数据结构的待同步数据,便可以将按照匹配关系,待同步数据的字段的字段值写入模板文件中。

本申请实施例通过字段之间的匹配关系,使得一个模板文件可以匹配不同数据结构的待同步数据,即本申请的模板文件可以匹配不同的数据供应商,避免了数据同步平台更改自身数据设置以适配数据供应商提供的数据的问题,节约了人力物力成本,提高了数据同步效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中一种数据同步方法的步骤流程图;

图2是本发明实施例的一种数据同步方法的整体流程示意图;

图3是本发明实施例的另一种数据同步方法的步骤流程图;

图4是本发明实施例的一种数据分类同步的步骤流程图;

图5是本发明实施例的一种数据同步装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相关技术中,以同步学生数据为例,数据同步平台往往需要同步不同学校的学生数据,而不同学校往往会提供给数据同步平台不同的数据同步渠道,以同步学生信息。例如,A学校提供的是数据同步接口,而B学校提供的文件、C学校提供的是数据库。其中,上述不同的数据渠道可以理解为是数据所在的数据源。虽然数据同步接口、文件以及excel表中均存储有学生信息,但是其存储的学生信息的格式是不同的。例如,URL的接口,其学生信息一般是JSON数据,而文件一般是excel表,数据库中的数据可能是XML(eXtensible MarkupLanguage,可扩展标记语言)类型的,如此,不同学校便提供了不同数据结构的学生数据。

为了适应A、B、C三个学校各自提供的数据同步渠道,数据同步平台需要分别与三个学校进行对接,设置与数据同步接口的JSON((JavaScript Object Notation,JS对象简谱)数据适配的数据模板,与excel表适配的数据模板、与数据库适配的数据模板后,再分别同步,之后,数据同步平台再自己整合这些数据。

可见,采用相关技术中的上述数据同步方式进行同步数据时,浪费了大量的人力物力,且数据同步效率低下。

有鉴于此,本申请人提出了一种可以支持各种不同数据源所提供的不同数据接口的数据同步方法,具体而言,即是先定义一个模板文件,数据同步前,先检测待同步数据的数据结构,接着,建立待同步数据的多个字段与模板文件中的多个字段之间的匹配关系,之后,对待同步数据进行数据同步时,便可以按照匹配关系,将待同步数据写入模板文件。

参照图1所示,示出了本申请实施例的一种数据同步方法的步骤流程图,如图1所示,所述方法可以应用于终端设备中,在终端设备中可以配置数据同步平台,如数据同步软件,以通过数据同步平台将所需数据同步到自身的存储文件中,具体可以包括以下步骤:

步骤S101:检测待同步数据的数据结构,所述数据结构至少包括描述所述待同步数据的多个字段。

本申请实施例中,待同步数据可以是指数据同步平台所需要的数据,如上述示例所述,可以是底库数据、相机数据、图片数据、学生数据等。其中,数据结构可以用于描述待同步数据中包括的多个字段,在一种示例中,在检测待同步数据的数据结构时,可以是指检测待同步数据的多个字段各自的字段名。其中,字段名可以代表待同步数据中的一种属性,例如,以待同步数据为学生数据为例,假设学校A提供的学生数据的数据结构中包括的字段的字段名为“姓名”、“年龄”、“性别”,则表示学校A会提供各学生的姓名、年龄和性别信息三种属性的数据内容。如此,可以通过数据结构获知数据源提供的待同步数据具体包含哪些属性的数据内容。

步骤S102:确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系。

本申请实施例中,模板文件可以是预先设置的,在模板文件中可以包括多个字段,多个字段可以是多个预设字段,当然,在一种示例中,各个字段在模板文件中的位置也可以是预先设置好的。其中,模板文件可以是excel类型的,也可以是其他类型的,在此不做限制。

由于模板文件中包括的多个字段表征了数据同步平台需要同步的数据内容,待同步数据的数据结构表征了待同步数据中包括的数据内容,如此,可以将待同步数据中包括的数据内容与模板文件中包括的数据内容进行对应。具体地,可以是建立待同步数据的多个字段与模板文件中的多个字段之间的匹配关系,其中,待同步数据的一个字段与模板文件中的一个字段匹配,表征待同步数据的字段与相应的字段均对应同一种属性的数据内容。

示例地,假设学校A提供的学生数据的数据结构中包括的字段的字段名为“姓名”、“年龄”、“性别”,模板文件中包括的字段名为“name”、“age”、“sexuality”。则将“姓名”与“name”对应,均表征姓名属性的数据内容,同理,可以将“年龄”与“age”对应、“性别”与“sexuality”对应。

当然,在一些实例中,可能出现数据供应商提供的数据中未包含模板文件所需的字段的情况,或者,可能出现数据供应商提供的数据中包含模板文件不需要的字段的情况,无论哪种情况,在确定字段之间的匹配关系时,可以以模板文件的多个字段为基准,在待同步数据的多个字段中确定与字段匹配的字段。其中,待同步数据的一个字段一般与模板文件中的一个字段进行匹配,即,待同步数据的不同字段对应模板文件中的不同字段。

步骤S103:从所述待同步数据所属的数据源获取所述待同步数据。

本实施例中,在数据同步前,可以获得数据供应商分享的待同步数据所在的数据源的数据源信息,具体地,在数据同步前,可以向数据供应商分享请求同步数据,此时,数据供应商反馈的是待同步数据所在的数据源的数据源信息,如此,可以根据数据源信息确定待同步数据所在的数据源。进而从数据源中获取待同步数据。

其中,待同步数据所属的数据源可以是指包含待同步数据的设备、文件或数据库。例如,待同步数据位于excel文件,则excel文件可以称为数据源,若待同步数据位于某个网络地址对应的存储器中,则存储器是数据源,若待同步数据位于某个数据库中,则数据库是数据源。

具体实施时,可以基于数据源所匹配的数据获取路径,拉取待同步数据。例如,数据源是某个设备,则数据获取路径可以是URL(Uniform Resource Locator,统一资源定位符)地址,则根据URL地址获取待同步数据。若数据源是文件,则根据文件所在的存储地址,获取文件中的待同步数据。若数据源是数据库,则利用数据库查询语言,从数据库中查询出待同步数据。

步骤S104:按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件。

本实施例中,由于已经提前确定出待同步数据的多个字段与模板文件中的多个字段之间的匹配关系,则在获取到待同步数据后,便可以按照字段之间的匹配关系,将待同步数据中与字段匹配的字段的字段值作为该字段的字段值写入到模板文件中,如此,便可以将待同步数据中的字段的字段值写入到模板文件中,从而完成数据的同步。

示例地,假设获取到学校A的学生数据后,由于学校A的学生数据与模板文件的字段匹配关系为:“姓名”与“name”对应、“年龄”与“age”对应、“性别”与“sexuality”对应,则可以将学校A的学生数据中“姓名”的字段值“马某某”作为模板文件“name”的字段值,写入到“name”的相应位置。同理,可以将“年龄”、“性别”的字段值写入到模板文件中。

采用本申请实施例的技术方案,由于预先设置由本数据同步平台的模板文件,之后,在获取待同步数据之前,可以先检测待同步数据包括了哪些字段,如此,可以建立待同步数据的多个字段与模板文件中的多个字段之间的匹配关系。这样,对于不同数据结构的待同步数据,均可以得到其包括的多个字段与模板文件中的多个字段之间的匹配关系。一旦建立好匹配关系后,便相当于数据同步平台通过一个模板文件适配了多种不同数据结构的待同步数据,便可以将按照匹配关系,待同步数据的字段的字段值顺利写入模板文件中。

采用上述技术方案,避免了数据同步平台更改自身数据设置以适配不同数据供应商提供的数据的问题,例如,避免为每一个学校设置一套模板,然后分别同步后又进行数据整合导致的人力物力成本高、数据同步效率低下的问题。采用本申请的数据同步方法,可以利用一套模板文件适配多种数据结构的数据,数据同步可以一次到位,节约了人力物力成本,提高了数据同步效率。

参照图2所示,示出了本申请的一种数据同步方法所应用的系统的整体流程示意图,具体地,如图2所示,包括数据结构探测阶段、实例化配置阶段、数据分类及模板化阶段以及校验阶段。其中,数据结构探测阶段主要是探测待同步数据的数据结构,实例化配置阶段主要是根据待同步数据的数据结构和模板文件,配置待同步数据的多个字段与模板文件的字段之间的匹配关系;数据分类及模板化阶段主要是对多种待同步数据进行分类,并按照匹配关系,将待同步数据写入模板文件,校验阶段主要对写入模板文件的数据进行一致性校验。

结合图2所示,对本申请实施例的一种数据同步方法进行详细说明,参照图3所示,示出了本申请的一种数据同步方法的步骤流程示意图,具体可以包括以下步骤:

步骤S301:根据所述待同步数据所在的数据源,调用对应的数据探针。

其中,所述数据源包括以下数据源中的至少一种:接口数据源、文件数据源、数据库数据源,不同的数据源对应不同的数据探针。

本实施例中,为了检测待同步数据的数据结构,可以利用对应的数据探针进行探测。其中,数据探针可以理解为是一种用于检测数据所包含的字段的应用程序。由于不同的数据源所提供的待同步数据可能具有不同的数据类型以及需要不同的链接方式,因此,本实施例中,可以预先为不同的数据源设置不同的数据探针。

例如,如图2所示,对于接口数据源,该接口数据源可以是指待同步数据存储在网络中某个地址上,例如可以是URL地址,则其反馈的待同步数据的数据类型可以是JSON类型的。对于文件数据源,该文件数据源可以是指待同步数据存储在某个文件中,例如可以是excel文件,则其反馈的待同步数据的数据类型便是表格类型。对于数据库数据源,该数据库数据源可以是指待同步数据存储在某个数据库中,例如可以是关系型数据库,则其反馈的待同步数据的数据类型可以为XML类型。

具体实现时,在预先为不同的数据源设置不同的数据探针时,可以一并设置数据探针进行数据结构检测的配置信息,从而在调用数据探针时,便可以根据数据探针的配置信息实现数据结构的探测。这样,在调用与待同步数据所在的数据源对应的数据探针时,可以根据该数据源的数据源信息,调用对应的数据探针,被调用的数据探针便可以根据预先配置的配置信息探测待同步数据的数据结构。

示例地,以图2为例,包括三个数据探针,分别为数据库探针、接口探针和文件探针。则对于数据库探针,可以在可视化界面中配置SQL语句,从而探测数据库中的XML类型数据的属性名称。对于接口探针,可以可视化界面配置目标URL,进而探针探测JSON数据。对于文件(excel)探针,可以探测Excel文件中的表头。

步骤S302:采用所述数据探针检测所述待同步数据的数据结构。

本实施例中,在调用数据探针后,便可以采用该数据探针检测待同步数据的数据结构。

其中,在一种示例中,在采用所述数据探针检测所述待同步数据的数据结构时,可以通过所述数据探针向所述待同步数据所在的数据源发送数据检测请求;接收所述待同步数据所在的数据源针对所述数据检测请求返回的描述性数据;并根据所述描述性数据,确定所述待同步数据的数据结构。

本示例中,由于数据探针具有自身的配置信息,因此,在调用数据探针后,数据探针可以根据自身的配置信息,向待同步数据所在的数据源发送数据检测请求,进而获得待同步数据的描述性数据,该描述性数据可以描述待同步数据包含哪些字段的数据内容,进而便可以获得待同步数据的数据结构,其中,待同步数据的数据结构中便可以包括待同步数据的多个字段各自的字段名。

例如,对于数据库的数据源,数据库探针可以利用预先配置的SQL语句,向数据库发出数据检测请求,即利用预先配置的SQL语句去数据库中查询出XML数据中被标记包含的数据名称,这些被标记包含的数据名称便称为描述性数据。其中一个数据名称即为一个字段的字段名,如此查询到的多个数据名称即可以表征待同步数据的数据结构。本示例中,XML数据例如为“张三”,则被标记包含的数据名称为name。

又例如,对于接口数据源,接口探针可以通过预先配置的URL地址,向对应的设备发送数据检测请求,进而获得反馈的JSON数据中的各个属性名称,这些属性名称构成的集合便可以称为描述性数据。其中,一个属性名称即为一个字段的字段名,查询到的多个属性名称即可以表征待同步数据的数据结构。

再例如,对于文件数据源,文件探针可以通过预先配置的文件地址,读取excel数据中的表头,表头即为字段的字段名,如此,可以得到待同步数据的数据结构。

通过上述步骤S301至步骤S302便可以实现对待同步数据的数据结构的探测,即是图2中的数据结构探测阶段。

步骤S303:确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系。

具体地,在本实施例中,可以根据所述待同步数据的多个字段各自的字段名所表征的语义与所述多个字段各自的字段名所表征的语义,将表征相同语义的字段与字段进行匹配;接着,对所述多个字段中未得到匹配的目标字段,将所述目标字段的字段值设置为默认值。

本实施例中,由于待同步数据的一个字段与模板文件中的一个字段匹配,表征待同步数据的字段与相应的字段均对应同一种属性的数据内容,也即是相互匹配的字段和字段需要表征同种属性的数据内容。

具体实现时,由于数据探针探测到的是待同步数据的字段名,字段名可以表征一个字段,如此,在确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系时,可以是将数据结构中包括的多个字段名与模板文件中的多个字段的字段名之间进行匹配,从而建立待同步数据的多个字段与模板文件中的多个字段之间的匹配关系。

具体地,可以将表征相同语义的字段进行匹配,一个字段的字段名的语义可以理解为是该字段名所的名词含义,例如“姓名”和“学生姓名”实际都表示“姓名”,而“姓名”和“name”实际也都表示“姓名”,则可以将字段名“姓名”和字段名“name”匹配。

当然,如前述实施例所述,可能出现待同步数据中未包含模板文件所需的字段的情况,如此,在以模板文件的多个字段为基准,在待同步数据的多个字段中确定与字段匹配的字段后,若模板文件中存在未得到匹配的目标字段时,可以将目标字段的字段值设置为默认值,例如,设置为“0”或“空格”。

当然,在一些情况中,也可以人工设置模板文件中的字段与待同步数据中的字段的匹配关系,如此,可以做到人工和机器匹配相结合,以保证成功完成数据同步。

其中,上述步骤S303所述的过程,便为图2所示的实例化配置阶段。

步骤S304:从所述待同步数据所属的数据源获取所述待同步数据。

如图2所示,在配置好字段之间的匹配关系后,便可以从数据源拉取数据,该步骤S304便为图2中的数据分类及模板化阶段。

本实施例中,从所述待同步数据所属的数据源获取所述待同步数据的过程,可以参照上述步骤S103所述的过程,在此不再赘述。

步骤S305:按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件。

本实施例中,在获取到待同步数据后,便可以按照已经设置好的匹配关系,将待同步数据写入到模板文件,具体的写入过程,可以参照上述步骤S104所述的过程,在此不再赘述。

当然,如前述实施例所述,可能出现待同步数据中未包含模板文件所需的字段的情况,或者,可能出现待同步数据中包含模板文件不需要的字段的情况,则在向模板文件写入数据时,可以将待同步数据中与模板文件的多个字段匹配的字段的字段值写入到模板文件,而对于未得到匹配的字段的字段值,则不写入到模板文件。

步骤S306:根据所述待同步数据,对写入到所述模板文件中的数据进行一致性校验。

本实施例中,在将待同步数据写入到模板文件后,可以进一步校验待同步数据中与字段对应的数据内容是否成功写入模板文件,可以先根据待同步数据,校验与全部字段匹配的字段的字段值是否全部写入,以及校验写入到模板文件中的字段值是否与待同步数据中所匹配的字段的字段值一致,二者校验均通过时,则表示校验通过,任一校验不通过,则校验不通过。

其中,在校验不通过时,根据校验未通过的原因,可以对不一致的字段值进行重新写入,即将待同步数据中不一致的字段的字段值重新写入到模板文件,或者,可以将与字段匹配但是未写入字段值重新写入,或者对于缺失的字段值设置为默认值。

当然,在进行校验时,可以校验写入数据后的模板文件中各个字段的字段值是否合法,若合法时,校验通过,若不合法时,可以输出提示信息。

步骤S307:在校验通过时,导出写入数据后的模板文件。

本实施例中,当校验通过时,表示完成了数据同步,如此,模板文件中的多个字段便均具有了字段值,此时,便可以将模板文件进行导出,例如,将模板文件另存到指定的存储路径中,以实现后续的使用。

当然在一种实际情况中,数据同步平台可能希望一次同步多种类型的数据,例如,一次同步相机数据、底库数据和图片数据。具体实施时,可以预先设置对应每种类型的数据的模板文件,对于每种类型的数据,均可以根据该种数据所属的数据源,先确定该种数据与对应的模板文件之间的匹配关系,即对每种类型的数据按照其所属的数据源,进行模板化配置。这便是如图2所示的数据分类及模板化阶段。

示例地,需要同步相机数据、底库数据和图片数据,以底库数据为例,底库数据对应模板文件1,底库数据会被文件接口和数据库接口返回,则会针对文件接口进行模板文件1的模板化配置,针对数据库进行模板文件1的模板化配置,即同时建立模板文件1与文件接口进的匹配、以及模板文件1与数据库的匹配。

其中,参照图4所示,示出了同步多种数据的步骤流程图,具体地,如图4所示,具体可以包括以下步骤:

步骤S401:从多个不同数据源获取多种数据。

本实施例中,一个待同步的数据可以从一个或多个数据源中获取,同时,一个数据源可以返回多种类型的数据。例如,学生数据,可以从学校A提供的文件数据源中获取,以及从学校B提供的文件数据源中获取。而对于学校A,可以返回学生数据,也可以返回教师数据。因此,本申请实施例中,可以预先设置需要同步的多种类型的数据,比如,预设设置需要同步教师数据和学生数据。接着,对于每一类待同步的数据,均可以采用上述步骤S101-S102的过程,设置每一类待同步的数据中的字段与该类数据对应的模板文件中的字段之间的匹配关系。

步骤S402:按照预设分类属性,对所述多种数据进行分类,得到多种待同步数据。

其中,每种待同步数据包括来源于不同数据源的子同步数据。

本实施例中,由于一个待同步的数据可以从一个或多个数据源中获取,同时,一个数据源可以返回多种类型的数据,因此,可以按照预设分类属性,对汇总不同数据源返回的数据,得到以类别为聚合的多种待同步数据。其中,每种待同步数据包括来源不同数据源的子同步数据。由于一个待同步的数据可以从一个或多个数据源中获取,则对于每一种待同步数据,便可以来源于多个数据源,其中,每一个数据源发送的该类数据作为子同步数据。

示例地,以需要同步学生数据和教师数据为例,学校A、学校B、学校C均发送了各自的学生数据和教师数据,分类属性为学生数据和教师数据,则可以将学校A发送的学生数据A、学校B发送的学生数据B和学校C发送的学生数据C聚合为学生数据:“学生数据A学生数据B学生数据C”,其中,学生数据A便称为一个子同步数据,其来源于学校A。

其中,预设分类属性可以理解为是预先设置的用于对多种数据进行分类的属性标识,例如,“学生”、“教师”即为将数据分为“学生数据”和“教师数据”的标识,其可以是在同步数据之前预先设置的。可以理解的是,分类属性不同于数据源,通常可以是待同步数据对应的对象类型。

该步骤S401和步骤S402即为图2所示的数据分类并模板化阶段。

步骤S403:对所述每种待同步数据中的每个子同步数据,按照该子同步数据的多个字段与目标模板文件中多个字段之间的匹配关系,将该子同步数据写入目标模板文件。

其中,目标模板文件为与该种待同步数据对应的模板文件。

本实施例中,不同的待同步数据可以对应不同的模板文件,为方便区分,将其中一种待同步数据对应的模板文件称为目标模板文件。其中,对于同一个待同步数据,其所包括的不同的子同步数据均对应与同一个模板文件建立匹配关系。例如,对于学生数据“学生数据A学生数据B学生数据C”,学生数据A、学生数据B和学生数据C均与模板文件1中的字段建立匹配关系。

由于每种待同步数据包括的不同子同步数据来源不同的数据源,且已经按照上述步骤S101-S102的过程,建立好了子同步数据的字段与模板文件的字段之间的匹配关系,因此,对于每个子同步数据,均可以按照已经建立的匹配关系,将子同步数据中与字段匹配的字段的字段值作为该字段的字段值,写入到模板文件。

具体实现时,由于多个不同的子同步数据均需写入模板文件,在一种示例中,在写入时,可以是同步写入或异步写入。如此,模板文件中便可以囊括多个子同步数据,即模板文件的一个字段的字段值可以包括多个子同步数据各自的字段的字段值。例如,对于模板文件1,其“姓名”字段中便要包括学生数据A中“学生姓名”的字段值“马某某”、学生数据B中“name”的字段值“李某”以及学生数据C中“姓名”的字段值“王某”。

采用本申请实施例的技术方案,可以一次性同步多种类型的数据,且在同步每一种数据时,均可以通过一个模板文件适配多个数据源不同、数据结构不同的子同步数据,从而实现了多种类别的数据的快速同步。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图5所示,示出了本申请实施例的一种数据同步装置的结构框图,如图5所示,具体可以包括以下模块:

检测模块501,用于检测待同步数据的数据结构,所述数据结构至少包括描述所述待同步数据的多个字段;

匹配模块502,用于确定所述待同步数据的多个字段与模板文件中的多个字段之间的匹配关系;

获取模块503,用于从所述待同步数据所属的数据源获取所述待同步数据;

同步模块504,用于按照所述匹配关系,将获取到的所述待同步数据写入到所述模板文件。

可选地,所述检测模块501具体可以包括以下单元:

调用单元,用于根据所述待同步数据所在的数据源,调用对应的数据探针;其中,所述数据源包括以下数据源中的至少一种:接口数据源、文件数据源、数据库数据源,不同的数据源对应不同的数据探针;

探测单元,用于采用所述数据探针检测所述待同步数据的数据结构。

可选地,所述探测单元,具体可以包括以下子单元:

请求发送子单元,用于通过所述数据探针向所述待同步数据所在的数据源发送数据检测请求;

数据接收子单元,用于接收所述待同步数据所在的数据源针对所述数据检测请求返回的描述性数据;

结构确定子单元,用于根据所述描述性数据,确定所述待同步数据的数据结构。

可选地,所述装置还可以包括以下模块:

数据获取模块,用于获取多个不同数据源发送的多种数据;

分类模块,用于按照预设分类属性,对所述多种数据进行分类,得到多种待同步数据,其中,每种待同步数据包括来源不同数据源的子同步数据;

分类同步模块,用于对所述每种待同步数据中的每个子同步数据,按照该子同步数据的多个字段与目标模板文件中多个字段之间的匹配关系,将该子同步数据写入目标模板文件;其中,目标模板文件为与该种待同步数据对应的模板文件。

可选地,所述匹配模块502,具体可以包括以下单元:

第一匹配单元,用于根据所述待同步数据的多个字段各自的字段名所表征的语义与所述多个字段各自的字段名所表征的语义,将表征相同语义的字段与字段进行匹配;

第二匹配单元,用于对所述多个字段中未得到匹配的目标字段,将所述目标字段的字段值设置为默认值。

可选地,所述装置还可以包括以下模块:

校验模块,用于根据所述待同步数据,对写入到所述模板文件中的数据进行一致性校验;

导出模块,用于在校验通过时,导出写入数据后的模板文件。

需要说明的是,装置实施例与方法实施例相近,故描述的较为简单,相关之处参见方法实施例即可。

本发明实施例还提供了一种电子设备,该电子设备可以用于执行数据同步方法,可以包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器被配置为执行所述的数据同步方法。

本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的数据同步方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种数据同步方法、装置、设备和介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 时间同步方法、数据同步方法、装置、系统、设备和介质
  • 数据同步方法、数据同步装置、数据同步设备及存储介质
技术分类

06120113270175