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

基于大数据平台的数据同步处理方法、装置、设备及介质

文献发布时间:2023-06-19 09:29:07


基于大数据平台的数据同步处理方法、装置、设备及介质

技术领域

本发明涉及数据处理领域,尤其涉及一种基于大数据平台的数据同步处理方法、装置、设备及介质。

背景技术

当前集团企业一般包括母公司、子公司和分公司等公司,不同公司采用独立的业务系统,用于管理本公司的业务数据。一般来说,需将不同业务系统形成的业务数据同步到母公司对应的系统数据库中,以便母公司对不同业务系统形成的业务数据进行统一管控。当前业务数据同步过程中,由于同步过程异常(如停电、断网或down机等)或者其他原因,无法保障业务数据同步的准确性,会影响企业的正常运营。例如,若业务数据为财务报表、财务季表或财务年表等财务数据时,若无法保障财务数据同步的准确性,会影响企业的正常运营。

对于数字医疗领域来说,医疗卫生平台的数据获取包括医院数据、患者上传数据、医药公司数据等,需要将不同来源的数据进行整合及统一管控,以保障医疗卫生平台数据的准确性。

发明内容

本发明实施例提供一种基于大数据平台的数据同步处理方法、装置、计算机设备及存储介质,以解决当前业务数据同步过程中无法保障同步准确性的问题。

一种基于大数据平台的数据同步处理方法,包括:

从业务系统中同步业务数据,将所述业务数据存储在目标数据库中,每一所述业务数据对应一种数据类型;

采用与所述数据类型相对应的数据校验逻辑,对所述业务数据进行数据校验,获取数据校验结果;

若所述数据校验结果为校验成功,则从所述业务数据中提取与所述数据类型相对应的制证数值,根据所述制证数值生成与所述业务数据相对应的目标凭证;

将所述目标凭证与所述目标数据库中的已有凭证进行重复验证,获取重复验证结果;

若所述重复验证结果为不存在重复凭证,则将所述目标凭证与所述业务数据关联存储到所述目标数据库中。

一种基于大数据平台的数据同步处理装置,包括:

数据同步模块,用于从业务系统中同步业务数据,将所述业务数据存储在目标数据库中,每一所述业务数据对应一种数据类型;

数据校验模块,用于采用与所述数据类型相对应的数据校验逻辑,对所述业务数据进行数据校验,获取数据校验结果;

凭证生成模块,用于若所述数据校验结果为校验成功,则从所述业务数据中提取与所述数据类型相对应的制证数值,根据所述制证数值生成与所述业务数据相对应的目标凭证;

重复校验模块,用于将所述目标凭证与所述目标数据库中的已有凭证进行重复验证,获取重复验证结果;

数据存储模块,用于若所述重复验证结果为不存在重复凭证,则将所述目标凭证与所述业务数据关联存储到所述目标数据库中。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于大数据平台的数据同步处理方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于大数据平台的数据同步处理方法。

上述基于大数据平台的数据同步处理方法、装置、计算机设备及存储介质,可以应用于数字医疗、集团业务公司管理等领域,采用与数据类型相对应的数据校验逻辑,对从业务数据同步到大数据平台的业务数据进行数据校验,以校验分析业务数据本身是否准确,有助于保障业务数据的准确性;在数据校验结果为校验成功时,需提取与数据类型相对应的制证数值并生成目标凭证,利用目标凭证与已有凭证进行重复验证,以验证目标凭证的唯一性,进一步保障业务数据同步的准确性。

附图说明

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

图1是本发明一实施例中基于大数据平台的数据同步处理方法的一应用环境示意图;

图2是本发明一实施例中基于大数据平台的数据同步处理方法的一流程图;

图3是本发明一实施例中基于大数据平台的数据同步处理方法的另一流程图;

图4是本发明一实施例中基于大数据平台的数据同步处理方法的另一流程图;

图5是本发明一实施例中基于大数据平台的数据同步处理方法的另一流程图;

图6是本发明一实施例中基于大数据平台的数据同步处理装置的一示意图;

图7是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

本发明实施例提供的基于大数据平台的数据同步处理方法,该基于大数据平台的数据同步处理方法可应用如图1所示的应用环境中。具体地,该基于大数据平台的数据同步处理方法应用在大数据平台中,该大数据平台与至少一个业务系统通过网络通信,用于从业务数据同步业务数据,并对同步到大数据平台的业务数据进行校验,以确保同步到大数据平台的业务数据的准确性。如图1所示,每一业务系统与一源数据库相连,该源数据库用于存储业务系统对应的业务数据;大数据平台与一目标数据库相连,该目标数据库用于存储所有业务系统同步的业务数据,以便大数据平台可基于目标数据库中存储的业务数据进行统一管理。

在一实施例中,如图2所示,提供一种基于大数据平台的数据同步处理方法,以该方法应用在图1中的大数据平台为例进行说明,包括如下步骤:

S201:从业务系统中同步业务数据,将业务数据存储在目标数据库中,每一业务数据对应一种数据类型。

其中,业务数据是业务系统中形成的需要同步到大数据平台进行统一管理的数据,该业务数据与业务系统相关联。例如,若业务系统为财务系统时,则其业务数据为财务数据;若业务数据为保险系统时,则其业务数据为保单数据,若业务数据为医疗平台系统时,则其业务数据为医疗数据。

其中,目标数据库是大数据平台中用于存储同步到大数据平台的业务数据的数据库,该目标数据库可以采用存储成本低的数据库,如Hadoop数据库。

其中,数据类型是指业务数据对应的类型。一般来说,每一种业务数据对应一种数据类型,例如,该业务数据可以为财务数据、医疗数据或者保单数据等数据类型。

作为一示例,大数据平台可以接收用户通过客户端实时触发的数据同步任务,以将业务数据从业务系统的源数据库同步到大数据平台的目标数据库中,以实现采用大数据平台对不同业务系统同步的业务数据进行统一管理。该数据同步任务是用于实现将业务数据从源数据库同步到目标数据库的任务。

作为另一示例,大数据平台可以定时触发的数据同步任务,即在系统当前时间为预设定时时间时,定时触发的数据同步任务,以将业务数据从业务系统的源数据库同步到大数据平台的目标数据库中,以实现采用大数据平台对业务系统形成的业务数据进行统一管理。

S202:采用与数据类型相对应的数据校验逻辑,对业务数据进行数据校验,获取数据校验结果。

其中,数据校验逻辑是预先配置的用于校验业务数据是否准确的处理逻辑。由于业务数据对应的数据类型不同,大数据平台需预先存储与不同数据类型相对应的数据校验逻辑。

作为一示例,大数据平台将业务数据从业务系统的源数据库同步到目标数据库之后,需调用与数据类型相对应的数据校验逻辑对业务数据进行数据校验,以校验同步到大数据平台的业务数据是否准确,获取数据校验结果。本示例中,采用与数据类型相对应的数据校验逻辑对业务数据进行数据校验,使得其处理过程具有针对性,实现对业务数据本身的准确性进行校验,有助于保障大数据平台统一管理的业务数据的准确性。

S203:若数据校验结果为校验成功,则从业务数据中提取与数据类型相对应的制证数值,根据制证数值生成与业务数据相对应的目标凭证。

其中,制证数值是用于生成目标凭证所需的数值。目标凭证是基于系统当前时间接收到的业务数据形成的用于唯一识别业务数据的凭证。例如,若业务数据为财务数据,则其生成的目标凭证为财务凭证,该财务凭证用于唯一识别对应的财务数据。又例如,若业务数据为保单数据,则其生成的目标凭证为保单凭证,该保单凭证可用于唯一识别某一保单数据。又例如,若业务数据为医疗数据,则其生成的目标凭证为医疗凭证,该医疗凭证可用于唯一识别某一医疗数据。

作为一示例,大数据平台在数据校验结果为校验成功时,说明业务数据本身符合其对应的数据校验逻辑,具有一定的准确性,为了方便后续对业务数据进行统一管理,此时,大数据平台需根据业务数据的数据类型,调用与数据类型相对应的凭证生成脚本,从业务数据中提取与数据类型相对应的制证数值;再对所有制证数值进行处理,生成具有唯一性的目标凭证,该目标凭证作为用于唯一识别业务数据的凭证,有助于利用目标凭证实现对业务数据进行统一管理。一般来说,不同业务数据的制证数值不完全相同,即所有制证数值中存在至少一个不相同,因此,其所生成的目标凭证不同,使得目标凭证具有唯一性。

S204:将目标凭证与目标数据库中的已有凭证进行重复验证,获取重复验证结果。

其中,已有凭证是基于系统当前时间之前接收到的业务数据形成的用于唯一识别业务数据的凭证。可以理解地,在系统当前时间之前,大数据平台执行上述步骤S201-S203,将所获取的目标凭证与业务数据关联存储到目标数据库,因此,在系统当前时间之前预先存储到目标数据库的目标凭证为已有凭证。

作为一示例,大数据平台将系统当前时间生成的目标凭证与目标数据库中的已有凭证进行重复验证,检验目标数据库中是否存在与目标凭证相同的已有凭证,获取重复验证结果,以便利用重复验证结果,校验同步过来的业务数据的准确性。

S205:若重复验证结果为不存在重复凭证,则将目标凭证与业务数据关联存储到目标数据库中。

本示例中,若重复验证结果为不存在重复凭证,则说明目标凭证具有唯一性,可唯一关联其对应的业务数据,反映系统当前时间获取的业务数据与系统当前时间之前保存在的目标数据库中的业务数据不相同,可进一步保障同步的业务数据的准确性,将目标凭证与业务数据关联存储到目标数据库中,以便后续将该目标凭证作为已有凭证进行重复校验,有助于实现对所有业务数据进行统一监控和管理。

作为一示例,在步骤S202所获取的数据校验结果为校验失败,或者步骤S204所获取的重复验证结果为存在重复凭证,则对业务数据对应的目标日志进行分析,获取目标异常类型,执行与目标异常类型相对应的纠错处理逻辑。

其中,纠错处理逻辑是用于对业务数据同步过程进行纠错处理的逻辑。本示例中,若数据校验结果为校验失败,则说明同步到目标数据表中的业务数据不符合与数据类型相对应的数据校验逻辑。若重复验证结果为不存在重复凭证,则说明目标凭证不具有唯一性,无法唯一关联其对应的业务数据。在数据校验结果为校验失败,和/或重复验证结果为存在重复凭证时,需分析业务数据从业务系统同步到大数据平台过程是否存在重复同步或者同步异常等问题,此时,大数据平台需获取业务数据对应的目标日志,该目标日志为业务数据从业务系统同步到大数据平台过程中形成的日志;接着,对业务数据对应的目标日志进行分析,以确定目标异常类型,该目标异常类型是用于反映导致业务数据对应的目标凭证存在重复凭证的异常类型;最后,执行与目标异常类型相对应的纠错处理逻辑,对同步到大数据平台的业务数据进行纠错处理,以将纠错处理后具有唯一性的业务数据及其目标凭证关联存储到目标数据库中,以便后续进行重复校验,有助于实现对所有业务数据进行统一监控和管理。

本示例中,目标异常类型包括校验逻辑异常、数据重复同步和同步程序中断。例如,执行与目标异常类型相对应的纠错处理逻辑,具体包括:若目标异常类型为校验逻辑异常,即用于进行数据校验的数据校验逻辑中存在重复配置,导致生成与已有凭证重复的目标凭证,此时,执行与校验逻辑异常相对应的纠错处理逻辑为删除或修改重复配置的数据校验逻辑。若目标异常类型为数据重复同步,即业务系统多次将同一业务数据同步到目标数据库中,此时,执行与数据重复同步相对应的纠错处理逻辑为监控重复同步数据,将重复同步数据发送给业务系统。若目标异常类型为同步程序中断,即用于实现业务数据同步功能的同步程序运行时异常中断,如停电,断网或down机重启等,此时,执行与同步程序中断相对应的纠错处理逻辑为清除所有重复同步数据,再重复执行步骤S201-S205。

作为一示例,若业务数据为财务数据时,对财务数据进行数据校验之后,需从同步的财务数据中选取用于制作财务凭证的制证数值,采用财务凭证对应的凭证生成脚本对所有制证数值进行处理,生成财务凭证这一目标凭证。一般来说,只有两个财务数据中所有制证数值完全相同时,才会生成相同的目标凭证;系统当前时间同步到大数据平台的财务数据与系统当前时间之前同步到大数据平台的财务数据一般不相同,其所生成的两个财务凭证也应当不相同,即不存在与目标凭证相同的已有凭证。利用系统当前时间同步的财务数据生成的目标凭证与目标数据库中存储的已有凭证进行重复验证;若重复验证结果为不存在重复凭证,则说明目标数据库中没有存储有相同的业务数据,可确定财务数据的唯一性,所生成的目标凭证的唯一性。若重复验证结果为存在重复凭证,则说明最新生成的财务凭证与目标数据库中预先存储的财务凭证相同,在财务数据同步到大数据平台过程中存在异常,因此,需对财务数据同步过程中形成的目标日志进行分析,确定其目标异常类型,执行与目标异常类型相对应的纠错处理逻辑,以保证最终同步到大数据平台的唯一性和准确性。

本实施例所提供的基于大数据平台的数据同步处理方法中,采用与数据类型相对应的数据校验逻辑,对从业务数据同步到大数据平台的业务数据进行数据校验,以校验分析业务数据本身是否准确,有助于保障业务数据的准确性;在数据校验结果为校验成功时,需提取与数据类型相对应的制证数值并生成目标凭证,利用目标凭证与已有凭证进行重复验证,以验证目标凭证的唯一性,进一步保障业务数据同步的准确性。在数据校验结果为校验失败或者重复验证结果为存在重复凭证时,对目标日志进行分析,获取目标异常类型,执行与目标异常类型相对应的纠错处理逻辑,以实现对同步异常的业务数据进行纠错处理,以保障业务数据同步的准确性。

在一实施例中,如图3所示,步骤S201,即从业务系统中同步业务数据,将业务数据存储在目标数据库中,包括如下步骤:

S301:执行数据同步任务,数据同步任务包括源数据库信息、目标数据库信息和源数据表信息。

其中,数据同步任务是用于实现将业务数据从源数据库同步到目标数据库的任务。源数据库信息是与源数据库相关的信息,包括源数据库名,源数据库IP地址和源数据库sid。目标数据库信息是与目标数据库相关的信息,包括目标数据库名,目标数据库IP地址和目标数据库sid。源数据表信息是用于反映源数据表的信息,该源数据表是用于存储需要从源数据库同步到目标数据库的业务数据的数据表。

本示例中,大数据平台可以执行用户实时触发的数据同步任务,也可以执行定时触发的数据同步任务,获取数据同步任务中的源数据库信息、目标数据库信息和源数据表信息等用于控制业务数据同步的关键信息。

S302:基于源数据库信息和目标数据库信息,构建业务系统的源数据库和大数据平台的目标数据库之间的OGG通信链路。

其中,OGG通信链路是采用OGG技术创建的通信链路,具体为业务系统的源数据库和大数据平台的目标数据库之间构建的用于传输数据的物理通道。Golden Gate(简称OGG)是一种基于日志的结构化数据复制软件,提供异构环境下交易数据的实时捕捉实时捕捉、变换和投递等功能。

本示例中,基于源数据库信息确定业务系统对应的源数据库,基于目标数据库信息确定大数据平台的目标数据库,在源数据库和目标数据库之间构建OGG通信链路,该OGG通信链路可捕获源数据库的在线重做日志(online redo log)或归档日志(archive log),获取变化数据,以形成队列文件(tail);再将队列文件(tail)通过网络协议传输给目标数据库。

S303:根据源数据库信息、目标数据库信息和源数据表信息,确定目标建表脚本和目标同步脚本。

其中,目标建表脚本是与源数据库信息、目标数据库信息和源数据表信息相对应的用于创建数据表的脚本。目标建表脚本是用于创建目标数据表的脚本。目标建表脚本可以预先创建并保存在大数据平台的后台数据库中。

其中,目标同步脚本是与源数据库信息、目标数据库信息和源数据表信息相对应的用于同步数据的脚本。目标同步脚本是用于将源数据表信息对应的源数据表中的业务数据同步到目标数据库的脚本。目标同步脚本可以预先创建并保存在大数据平台的后台数据库中。

本示例中,大数据平台执行数据同步任务时,需基于源数据库信息、目标数据库信息和源数据表信息查询后台数据库,判断后台数据库中是否已经存储与源数据库信息、目标数据库信息和源数据表信息相对应的目标建表脚本和目标同步脚本;若存在,则直接确定目标建表脚本和目标同步脚本;若不存在,则采用脚本创建工具对源数据库信息、目标数据库信息和源数据表信息进行处理(即执行步骤S401-S405),确定目标建表脚本和目标同步脚本,并将目标建表脚本和目标同步脚本关联存储到后台数据库中。其中,脚本创建工具包括建表脚本创建工具和同步脚本创建工具。

S304:执行目标建表脚本,在目标数据库中创建与目标数据表。

作为一示例,大数据平台执行目标建表脚本,识别源数据表信息对应的源数据表的全表字段信息,基于源数据表的全表字段信息,在目标数据库中创建用于存储业务数据的目标数据表,该目标数据表的全表字段信息可以与源数据表的全表字段信息相同,也可以是采用字段处理逻辑对源数据表的全表字段信息进行处理形成的全表字段信息,两者不完全相同。此处的字段处理逻辑是用于对源数据表的全表字段信息进行转换处理的逻辑。例如,可对“编号”字段进行复制操作;将“姓名”字段拆分为“姓别”字段和“名字”字段;将“姓别”字段和“名字”字段拼接为“姓名”字段等。其中,全表字段信息是指任一数据表中所有字段对应的字段信息,包括但不限于字段名、字段类型及宽度等信息。

S305:执行目标同步脚本,通过OGG通信链路,将源数据表信息对应的源数据表中的业务数据同步到目标数据表中。

作为一示例,大数据平台执行目标同步脚本,通过预先创建OGG通信链路,将源数据表信息对应的源数据表中的业务数据同步到目标数据表中,以完成业务数据同步操作。大数据平台执行目标同步脚本进行数据同步,具体为采用与源表字段对应的字段处理逻辑对相应的源表数值进行复制、拆分和拼接等操作,以将处理后的目标数值存储在目标数据表对应的目标字段中。本示例中,将源数据表中的字段定义为源表字段,与源表字段相对应的数值为源表数值;将目标数据表中的字段定义为目标字段,与目标字段相对应的数值为目标数值。

本实施例所提供的基于大数据平台的数据同步处理方法中,在执行数据同步任务时,先构建源数据库与目标数据库之间的OGG通信链路,为业务数据同步提供硬件基础。再根据数据同步任务中的源数据库信息、目标数据库信息和源数据表信息,可快速确定预先创建的目标建表脚本和目标同步脚本,或者实时创建目标建表脚本和目标同步脚本并存储在后台数据库中,以便后续快速确定预先创建的目标建表脚本和目标同步脚本,从而保证业务数据同步效率。接着,执行目标建表脚本创建目标数据表,并执行目标同步脚本将源数据表信息对应的源数据表中的业务数据同步到目标数据表中,完成业务数据的同步操作,采用预先创建的目标建表脚本和目标同步脚本进行同步处理,有助于保障业务数据同步效率。

在一实施例中,如图4所示,在步骤S201之前,即在从业务系统中同步业务数据,将业务数据存储在目标数据库中之前,基于大数据平台的数据同步处理方法还包括如下步骤:

S401:获取脚本创建请求,脚本创建请求包括源数据库信息、目标数据库信息和源数据表信息。

其中,脚本创建请求是用于触发大数据平台创建用于实现业务数据同步的脚本的请求。本示例中,脚本创建请求包括源数据库信息、目标数据库信息和源数据表信息,具体是用于创建与源数据库信息、目标数据库信息和源数据表信息相匹配的目标建表脚本和目标同步脚本的请求。

S402:基于源数据表信息,获取源数据表信息对应的源数据表的全表字段信息。

作为一示例,大数据平台扫描源数据库中的源数据表信息对应的源数据表,获取源数据表的全表字段信息,该全表字段信息包括所有源表字段对应的字段信息,包括但不限于源表字段对应的字段名、字段类型及宽度等信息。

作为另一示例,大数据平台可扫描源数据库中与源数据表信息相对应的源表创建脚本,从源表创建脚本中提取源数据表的全表字段信息和源表功能逻辑。其中,源表创建脚本是在源数据库中创建源数据表的脚本,该源表创建脚本不仅包括源数据表的全表字段信息,还包括用于实现特定功能的源表功能逻辑。该源表功能逻辑是用于实现对源数据表中的业务数据执行特定功能的处理语句,例如,对源数据表进行“分页”或者“排序”等功能的处理语句。

S403:采用建表脚本创建工具对源数据表的全表字段信息进行处理,获取目标建表脚本。

其中,建表脚本创建工具是预先基于字段处理逻辑配置的用于创建目标建表脚本的工具。此处的字段处理逻辑是用于对源数据表的字段进行转换处理的逻辑。

作为一示例,大数据平台执行建表脚本创建工具对源数据表对应的全表字段信息进行处理,具体是指先采用内置的字段处理逻辑对源数据表中的源表字段进行转换处理,以形成需要建表的目标字段;再采用与目标数据库相对应的建表语句模板对目标字段进行处理,形成目标建表脚本,可使得后续利用目标建表脚本创建的目标数据表具有统一的目标字段,保障后续基于统一的目标字段对应的目标数值进行统一处理的有效性和可行性。

作为另一示例,大数据平台执行建表脚本创建工具对源数据表相对应的全表字段信息和源表功能逻辑进行处理,获取目标建表脚本,具体包括如下步骤:采用字段处理逻辑对源数据表中的源表字段进行转换处理,以形成需要建表的目标字段;采用与源数据库和目标数据库相对应的功能语句适配接口,对源表功能逻辑进行处理,获取目标表功能逻辑;采用目标字段对源表字段进行替换,并采用目标表功能逻辑对源表功能逻辑进行替换,获取目标建表脚本。例如,“排序”和“分页”等功能语句在mysql和oracle这两个数据库的表述不同,因此,在mysql和oracle互为源数据库和目标数据库时,需对“排序”和“分页”对应的源表功能逻辑进行适配,以确定目标功能逻辑,采用目标功能逻辑替换源表功能逻辑。本示例,既可使得后续利用目标建表脚本创建的目标数据表具有统一的目标字段,保障后续基于统一的目标字段对应的目标数值进行统一处理的有效性和可行性;又可使目标数据表依据特定功能对业务数据进行处理,保证数据的一致性,以便后续进行数据校验。

S404:采用同步脚本创建工具,对源数据库信息、目标数据库信息和源数据表对应的全表字段信息进行处理,获取目标同步脚本。

本示例中,大数据平台执行同步脚本创建工具,同步脚本创建工具包括用于实现数据同步的同步处理逻辑,该同步处理逻辑包括特定内容对应的形式参数;将源数据库信息、目标数据库信息和源数据表对应的全表字段信息作为实际参数,利用实际参数对形式参数进行替换,以形成目标同步脚本,以实现快速生成对应的目标同步脚本。可以理解地,预先创建同步脚本创建工具,只需采用实际参数替换形式参数,即可快速生成目标同步脚本,提高目标同步脚本的获取效率。

S405:将源数据库信息、目标数据库信息、源数据表信息、目标建表脚本和目标同步脚本关联存储。

本示例中,大数据平台在创建目标建表脚本和目标同步脚本之后,将源数据库信息、目标数据库信息、源数据表信息、目标建表脚本和目标同步脚本关联存储在后台数据库中,以便后续在数据同步过程中,可基于源数据库信息、目标数据库信息和源数据表信息,快速确定其对应的目标建表脚本和目标同步脚本关联存储到后台数据库中,以便后续快速获取目标建表脚本和目标同步脚本进行数据同步处理。

本实施例所提供的基于大数据平台的数据同步处理方法中,采用建表脚本创建工具和同步脚本创建工具,对脚本创建请求中的源数据库信息、目标数据库信息和源数据表信息进行处理,可快速生成目标建表脚本和目标同步脚本,并将目标建表脚本和目标同步脚本关联存储到后台数据库,以便后续快速获取目标建表脚本和目标同步脚本进行数据同步处理。

在一实施例中,如图5所示,步骤S202,即采用与数据类型相对应的数据校验逻辑,对业务数据进行数据校验,获取数据校验结果,包括如下步骤:

S501:执行与数据类型相对应的取数逻辑,从业务数据中选取待处理数据。

其中,与数据类型相对应的取数逻辑具体是提取用于生成与数据类型相对应的目标凭证所需数据的处理逻辑。待处理数据是指与数据类型相对应的取数逻辑,从业务数据中选取需要进行后续数据校验的数据。

作为一示例,大数据平台将业务数据从业务系统同步到目标数据库中的目标数据表之后,执行与数据类型相对应的取数逻辑,从目标数据表中所有目标字段中确定待取数字段,基于待取数字段生成数据查询指令,执行该数据查询指令,即可获取与所有待取数字段相对应的待处理数据。

例如,执行与财务数据相对应的取数逻辑,将用于制作财务凭证所需采集的所有目标字段确定为待取数字段,再基于目标数据表和待取数字段生成数据查询指令,执行数据查询指令即可从目标数据表中选取待处理数据。

作为另一示例,大数据平台将业务数据从业务系统同步到目标数据库中的目标数据表之后,执行与数据类型相对应的取数逻辑,从目标数据表的所有目标字段中确定待取数字段;先判断待取数字段是否为默认字段;若待取数字段为默认字段,则将默认字段对应的默认数值确定为待处理数据,例如,在制作财务凭证过程中的成本中心字段为默认字段,该成本中心字段一般设置为0001或者其他默认数值。若待取数字段不为默认字段,则基于待取数字段生成数据查询指令,执行该数据查询指令,即可获取与所有待取数字段相对应的待处理数据,例如,在制作财务凭证过程中,其科目分录字段为待取数字段。

可以理解地,大数据平台执行与数据类型相对应的取数逻辑,从业务数据中选取待处理数据,以提取需要进行后续数据校验和生成目标凭证所需的待处理数据,避免后续对所有业务数据进行处理,保证后续数据处理过程的针对性,以提高其数据处理效率。

S502:对待处理数据进行形式校验,获取形式校验结果。

作为一示例,大数据平台执行形式校验逻辑,从待处理数据中获取形式校验字段对应的形式校验数值,判断形式校验数值是否符合形式校验字段对应的形式字段格式,获取形式校验结果。其中,形式校验逻辑是预先配置的用于进行形式校验的处理逻辑。形式校验字段是预先配置的需要进行形式校验的字段。形式字段格式是预先配置的形式校验字段应当具备的格式。

本示例中,在形式校验过程中,需针对特定形式校验字段进行非空检验、数据长度、数据类型或者其他形式校验。例如,对于金额这一形式校验字段,其对应的形式字段格式限定不能为字符串等,则大数据平台需对同步到目标数据表中与金额字段相对应的字段数值进行校验,判断其是否为字符串,以获取形式校验结果。

可以理解地,大数据平台和业务系统采用相同的形式校验逻辑对同步到目标数据表中的与数据类型相对应的待处理数据进行形式校验,获取形式校验结果,以便通过形式校验结果判断同步到目标数据表的业务数据的准确性。一般来说,业务系统在生成业务数据过程中,已经采用形式校验逻辑对业务数据进行形式校验;在将业务数据同步到目标数据表后,在大数据平台再采用相同的形式校验逻辑对待处理数据进行形式校验,若形式校验结果为校验不通过,则说明同步到目标数据表中的业务数据存在数据形式异常;若形式校验结果为校验通过,则说明同步到目标数据表中的业务数据不存在数据形式异常。

S503:若形式校验结果为校验通过,则对待处理数据进行内容校验,获取内容校验结果。

作为一示例,若形式校验结果为校验通过,大数据平台执行内容校验逻辑,根据内容校验逻辑预先配置的数据核算规则对待处理数据进行内容校验,以校验业务数据的实质内容是否满足数据核算规则,获取内容校验结果。

在一示例中,若业务数据为财务数据,其所需生成的目标凭证为财务凭证,则需要采用内容校验逻辑中预先配置的数据核算规则,对用于生成财务凭证所需的待处理数据进行内容校验,获取内容校验结果。例如,需采用核算检查规则、往来科目配置规则、科目分录配置规则、成本中心配置规则、弹性域配置规则和关联方交易等数据核算规则对待处理数据进行凭证校验,获取内容校验结果。

在另一示例中,若业务数据为保单数据,其所需生成的目标凭证为保单凭证,则需要采用内容校验逻辑中预先配置的数据核算规则,对用于生成保单凭证所需的待处理数据进行内容校验,获取内容校验结果。例如,需采用保费计算规则这一数据核算规则对涉及保费计算的多个待处理数据进行校验,获取内容校验结果,如保费计算规则为Y=(A-B)*C+D,可将A、B、C和D字段的待处理数据进行依据上述保费计算规则进行计算,判断计算出的结果是否与Y字段对应的数值是否匹配,以获取内容校验结果。

S504:若内容校验结果为校验通过,则对待处理数据进行数据一致性校验,获取一致性校验结果。

作为一示例,若内容校验结果为校验通过,大数据平台执行一致性校验逻辑,依据一致性校验逻辑中确定一致性校验字段,将业务数据和目标数据表中与一致性校验字段相对应的字段数值进行比较,判断两者是否一致,从而获取一致性校验结果。例如,若金额字段为一致性校验字段,则将业务数据中与金额字段相对应的字段数值,与目标数据表中与金额字段相对应的字段数值进行一致性判断,若两个字段数值相同,则一致性校验结果为校验通过;若两个字段数值不相同,则一致性校验结果为校验不通过。

S505:若一致性校验结果为校验通过,则获取校验成功的数据校验结果。

本示例中,若形式校验结果、内容校验结果和一致性校验结果均为校验通过,说明大数据平台采用与数据类型相对应的数据校验逻辑,对同步到目标数据表中的业务数据进行形式、内容和一致性校验,且所有校验结果均为校验通过,此时,获取校验成功的核算校验结果,反映同步到目标数据表的准确性。

S506:若形式校验结果、内容校验结果或者一致性校验结果为校验不通过,则获取校验失败的数据校验结果。

本示例中,若形式校验结果、内容校验结果和一致性校验结果中的任一个为校验不通过,说明大数据平台采用与数据类型相对应的数据校验逻辑,对同步到目标数据表中的业务数据进行形式、内容和一致性校验时,存在至少一个校验结果为校验不通过,此时,获取校验失败的数据校验结果,需对业务数据对应的目标日志进行分析,获取目标异常类型,执行与目标异常类型相对应的纠错处理逻辑。

一般来说,现有技术进行重复校验的技术手段,主要是在数据库层加唯一约束进行重复校验方式,即通过在目标数据表的主键上加唯一约束,以实现重复校验,这种重复校验方式存在的不灵活、不能扩展、无法在不同数据有不同唯一主键时无法支持等问题,且极容易影响数据量较大的数据表的性能。

在一实施例中,即从业务数据中提取与数据类型相对应的制证数值,根据制证数值生成与业务数据相对应的目标凭证,包括如下步骤:调用应用层封装的实体对象调用接口,选取与数据类型相对应的关键字段对应的制证数值,采用MD5算法对制证数值进行处理,生成与业务数据相对应的目标凭证。

MD5算法全称叫MessageDigestAlgorithm5(信息摘要算法5),是数字摘要算法的一种实现,摘要长度为128位。由于其算法的复杂性和不可逆性,主要用于确保信息传输完整性和一致性。与数据类型相对应的关键字段是指用于生成与数据类型相对应的目标凭证对应的字段。

作为一示例,大数据平台在应用层封装用于生成目标凭证的实体对象调用接口,先选取与数据类型相对应的关键字段对应的制证数值作为实体对象调用接口的接口入参;接着,采用MD5算法对制证数值进行处理,生成与业务数据相对应的目标凭证,该目标凭证为实体对象调用接口的接口出参。本示例中,关键字段可根据所需生成的目标凭证自主配置,保证后续利用目标凭证进行重复校验具有灵活性和可扩展性,可通过修改实体对象调用接口的关键字段即可实现修改;由于目标凭证生成过程需采用MD5算法所有制证数值进行处理,使得生成目标凭证具有加密性、且加密长度固定,方便存储和节约存储空间;这种方式生成的目标凭证在重复校验过程中,由于目标数据表的主键值在数据库自带唯一约束,无需进行唯一判断,对数据量较大的数据表性能影响较小。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种基于大数据平台的数据同步处理装置,该基于大数据平台的数据同步处理装置与上述实施例中基于大数据平台的数据同步处理方法一一对应。如图6所示,该基于大数据平台的数据同步处理装置包括数据同步模块601、数据校验模块602、凭证生成模块603、重复校验模块604、数据存储模块605和异常处理模块606。各功能模块详细说明如下:

数据同步模块601,用于从业务系统中同步业务数据,将业务数据存储在目标数据库中,每一业务数据对应一种数据类型。

数据校验模块602,用于采用与数据类型相对应的数据校验逻辑,对业务数据进行数据校验,获取数据校验结果。

凭证生成模块603,用于若数据校验结果为校验成功,则从业务数据中提取与数据类型相对应的制证数值,根据制证数值生成与业务数据相对应的目标凭证。

重复校验模块604,用于将目标凭证与目标数据库中的已有凭证进行重复验证,获取重复验证结果。

数据存储模块605,用于若重复验证结果为不存在重复凭证,则将目标凭证与业务数据关联存储到目标数据库中。

优选地,基于大数据平台的数据同步处理装置还包括:

异常处理模块,用于若数据校验结果为校验失败,或者重复验证结果为存在重复凭证,则对业务数据对应的目标日志进行分析,获取目标异常类型,执行与目标异常类型相对应的纠错处理逻辑。

优选地,数据同步模块601包括:

任务执行单元,用于执行数据同步任务,数据同步任务包括源数据库信息、目标数据库信息和源数据表信息。

链路构建单元,用于基于源数据库信息和目标数据库信息,构建业务系统的源数据库和大数据平台的目标数据库之间的OGG通信链路。

脚本确定单元,用于根据源数据库信息、目标数据库信息和源数据表信息,确定目标建表脚本和目标同步脚本。

数据表创建单元,用于执行目标建表脚本,在目标数据库中创建与目标数据表。

数据同步单元,用于执行目标同步脚本,通过OGG通信链路,将源数据表信息中的业务数据同步到目标数据表中。

优选地,基于大数据平台的数据同步处理装置还包括:

创建请求获取单元,用于获取脚本创建请求,脚本创建请求包括源数据库信息、目标数据库信息和源数据表信息。

字段信息获取单元,用于基于源数据表信息,获取源数据表信息对应的源数据表的全表字段信息。

建表脚本获取单元,用于采用建表脚本创建工具对源数据表对应的全表字段信息进行处理,获取目标建表脚本。

同步脚本获取单元,用于采用同步脚本创建工具,对源数据库信息、目标数据库信息和源数据表的全表字段信息进行处理,获取目标同步脚本。

脚本关联存储单元,用于将源数据库信息、目标数据库信息、源数据表信息、目标建表脚本和目标同步脚本关联存储。

优选地,数据校验模块602包括:

取数逻辑执行单元,用于执行与数据类型相对应的取数逻辑,从业务数据中选取待处理数据。

形式校验单元,用于对待处理数据进行形式校验,获取形式校验结果。

内容校验单元,用于若形式校验结果为校验通过,则对待处理数据进行内容校验,获取内容校验结果。

一致性校验单元,用于若内容校验结果为校验通过,则对待处理数据进行数据一致性校验,获取一致性校验结果。

成功结果获取单元,用于若一致性校验结果为校验通过,则获取校验成功的数据校验结果。

优选地,凭证生成模块603,用于调用应用层封装的实体对象调用接口,选取与数据类型相对应的关键字段对应的制证数值,采用MD5算法对制证数值进行处理,生成与业务数据相对应的目标凭证。

关于基于大数据平台的数据同步处理装置的具体限定可以参见上文中对于基于大数据平台的数据同步处理方法的限定,在此不再赘述。上述基于大数据平台的数据同步处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行基于大数据平台的数据同步处理方法过程采用或者生成的数据,如业务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于大数据平台的数据同步处理方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于大数据平台的数据同步处理方法,例如图2所示S201-S205,或者图3至图5中所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现基于大数据平台的数据同步处理装置这一实施例中的各模块/单元的功能,例如图6所示的数据同步模块601、数据校验模块602、凭证生成模块603、重复校验模块604和数据存储模块605,为避免重复,这里不再赘述。

在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于大数据平台的数据同步处理方法,例如图2所示S201-S205,或者图3至图5中所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于大数据平台的数据同步处理装置这一实施例中的各模块/单元的功能,例如图6所示的数据同步模块601、数据校验模块602、凭证生成模块603、重复校验模块604和数据存储模块605,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

技术分类

06120112187210