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

一种实现跨平台数据共享的方法

文献发布时间:2023-06-19 10:29:05


一种实现跨平台数据共享的方法

技术领域

本发明涉及数据共享技术领域,并且更具体地,涉及一种实现跨平台数据共享的方法及系统。

背景技术

随着共享概念的提出,税务共享也应运而生,为了实现税务共享,需要对不同的子系统进行集成,从而实现税务共享。但是在集成过程中会遇到子系统之间数据库不匹配的情况,通过java代码的方式来处理如果遇到数据库改动则需要改动代码,灵活性不高。

因此,需要一种能通过某种工具来实现数据处理,通过界面配置的形式来实现,这样灵活性更高,后期维护也相对轻松。

发明内容

本发明提出一种实现跨平台数据共享的方法及系统,以解决如何实现跨平台数据共享的问题。

为了解决上述问题,根据本发明的一个方面,提供了一种实现跨平台数据共享的方法,所述方法包括:

根据数据库信息和服务器参数信息配置转换文件的数据源;其中,所述数据源包括:来源库数据源和目标库数据源;

新建表输入脚本文件,并在所述表输入脚本文件中编写sql语句,以进行表信息的抽取,获取表信息;

新建插入更新脚本文件,配置字段信息和装载目标表信息,并根据配置的字段信息将所述表信息装载入对应的目标表中;

新建SQL脚本文件,编写删除语句,并按照预设的顺序依次连接所有的脚本文件;

新建作业任务,设定作业调度时间,并根据所述作业任务将所有的脚本文件按顺序进行转换,实现跨平台数据共享。

优选地,其中所述方法还包括:

在获取到表信息后,创建java脚本文件,并利用所述java脚本文件对抽取的表信息进行非空处理,获取经过非空处理的表信息。

优选地,其中所述根据配置的字段信息将所述表信息装载入对应的目标表中,包括:

将不同平台的表字段信息进行匹配,通过设置主键比较每条数据是更新还是删除,并根据更新或删除结果将所述经过非空处理的表信息装载入对应的目标表中。

优选地,其中所述数据库信息,包括:数据库名称和数据库类型;所述服务器参数信息包括:主机名称、端口号、用户名和密码。

优选地,其中所述方法还包括:

设置用户权限,根据用户权限确定用户是否具有待操作数据的操作权限,并当确定用户具有待操作数据的操作权限时,允许用户操作;反之,则拒绝用户的操作。

根据本发明的另一个方面,提供了一种实现跨平台数据共享的系统,所述系统包括:

配置单元,用于根据数据库信息和服务器参数信息配置转换文件的数据源;其中,所述数据源包括:来源库数据源和目标库数据源;

表信息获取单元,用于新建表输入脚本文件,并在所述表输入脚本文件中编写sql语句,以进行表信息的抽取,获取表信息;

表信息载入单元,用于新建插入更新脚本文件,配置字段信息和装载目标表信息,并根据配置的字段信息将所述表信息装载入对应的目标表中;

脚本文件连接单元,用于新建SQL脚本文件,编写删除语句,并按照预设的顺序依次连接所有的脚本文件;

作业任务执行单元,用于新建作业任务,设定作业调度时间,并根据所述作业任务将所有的脚本文件按顺序进行转换,实现跨平台数据共享。

优选地,其中所述系统还包括:

表信息处理单元,用于在获取到表信息后,创建java脚本文件,并利用所述java脚本文件对抽取的表信息进行非空处理,获取经过非空处理的表信息。

优选地,其中所述表信息载入单元,根据配置的字段信息将所述表信息装载入对应的目标表中,包括:

将不同平台的表字段信息进行匹配,通过设置主键比较每条数据是更新还是删除,并根据更新或删除结果将所述经过非空处理的表信息装载入对应的目标表中。

优选地,其中所述数据库信息,包括:数据库名称和数据库类型;所述服务器参数信息包括:主机名称、端口号、用户名和密码。

优选地,其中所述系统还包括:

权限判断单元,用于设置用户权限,根据用户权限确定用户是否具有待操作数据的操作权限,并当确定用户具有待操作数据的操作权限时,允许用户操作;反之,则拒绝用户的操作。

本发明提供了一种实现跨平台数据共享的方法及系统,系统操作员可根据操作实际情况,在权限集中管理的系统中实时地创建新的角色、用户等权限信息,或者录入新数据信息;然后,数据由ETL同步方法在不同系统下的不同数据库之间进行同步共享,此方法不占用各个系统的运行资源,大大降低了各个系统的运行压力,而且做到了实时同步共享,降低了因数据变更而未及时同步所带来的风险;只需要确定所需要共享的数据来源及目标,可快速实现共享,无需大量代码编写,使用图形界面来配置,提高了系统的后期可维护性。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的实现跨平台数据共享的方法100的流程图;

图2为根据本发明实施方式的配置数据源示例图;

图3为根据本发明实施方式的插入更新脚本配置界面的示例图;

图4为根据本发明实施方式的所有转换顺序摆放的示意图;

图5为根据本发明实施方式的实现跨平台数据共享的系统500的结构示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

数据仓库技术ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程,是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。kettle是一个ETL工具,ETL工具在数据仓库项目使用非常频繁,kettle也可以应用在以下一些场景:在不同应用或数据库之间整合数据、把数据库中的数据导出到文本文件、大批量数据装载入数据库、数据清洗、集成应用相关项目使用。kettle使用非常简单,通过图形界面设计实现做什么业务,无需写代码去实现,因此,kettle是以面向元数据来设计。kettle支持很多种输入和输出格式,包括文本文件,数据表,以及商业和免费的数据库引擎。另外,kettle强大的转换功能让您非常方便操纵数据。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。换:数据转换(Data transfer)是将数据从一种表示形式变为另一种表现形式的过程,数据从一种系统转移到另一种系统的时候,需要将数据转换到系统能够识别的格式。

本发明的方法应用的系统是在共享服务模式下应运而生的一套完整性系统,一些企业应用了单独税务管理系统平台,但是和财务共享服务平台没有实现对接与融合,系统间数据无法实现共享,导致一些数据在两个或多个系统中要进行分别录入,增加了重复性的低效率劳动,增加了税务管理成本。同时由于系统庞大功能繁多,需要同步的数据复杂繁多,常用的普通接口(如:webservice数据同步接口)同步数据会过多占用系统资源,导致系统响应时间过长,因此,合理地利用和优化现有的财务共享服务平台,减少信息化的重复投入,实现多平台共享数据,对税务、财务进行一体化的管理是目前财务共享服务中心转型的必然选择,因此,本发明体用了一种基于ETL技术实现跨平台数据共享的方法。

图1为根据本发明实施方式的实现跨平台数据共享的方法100的流程图。如图1所示,本发明实施方式提供的实现跨平台数据共享的方法,只需要确定所需要共享的数据来源及目标,可快速实现共享,无需大量代码编写,使用图形界面来配置,提高了系统的后期可维护性。本发明实施方式提供的实现跨平台数据共享的方法100,从步骤101处开始,在步骤101根据数据库信息和服务器参数信息配置转换文件的数据源;其中,所述数据源包括:来源库数据源和目标库数据源。

优选地,其中所述数据库信息,包括:数据库名称和数据库类型;所述服务器参数信息包括:主机名称、端口号、用户名和密码。

在步骤102,新建表输入脚本文件,并在所述表输入脚本文件中编写sql语句,以进行表信息的抽取,获取表信息。

优选地,其中所述方法还包括:

在获取到表信息后,创建java脚本文件,并利用所述java脚本文件对抽取的表信息进行非空处理,获取经过非空处理的表信息。

在本发明的实施方中,首先配置转换文件的数据源,包括:分别创建来源库和目标库数据源。如图2所示,包括:配置主机名称、端口号、用户名和密码等。

在进行数据抽取时,通过新建“表输入”脚本,在脚本中编写sql语句实现数据抽取,并创建java脚本对抽取的数据进行处理,实现数据清洗。相应地,在后台中,通过SQL抽取出表信息,通过java代码将抽取出的数据进行处理,将部分字段进行非空处理,排除空字段对系统造成影响。

在步骤103,新建插入更新脚本文件,配置字段信息和装载目标表信息,并根据配置的字段信息将所述表信息装载入对应的目标表中。

优选地,其中所述根据配置的字段信息将所述表信息装载入对应的目标表中,包括:

将不同平台的表字段信息进行匹配,通过设置主键比较每条数据是更新还是删除,并根据更新或删除结果将所述经过非空处理的表信息装载入对应的目标表中。

在步骤104,新建SQL脚本文件,编写删除语句,并按照预设的顺序依次连接所有的脚本文件。

在步骤105,新建作业任务,设定作业调度时间,并根据所述作业任务将所有的脚本文件按顺序进行转换,实现跨平台数据共享。

优选地,其中所述方法还包括:

设置用户权限,根据用户权限确定用户是否具有待操作数据的操作权限,并当确定用户具有待操作数据的操作权限时,允许用户操作;反之,则拒绝用户的操作。

在本发明中,为了实现数据共享还需进行数据转换和装载。首先,通过新建“插入更新”脚本,并配置字段和装载目标表信息,以将之前抽取并处理完的数据装载入对应的表中,具体过程如图3所示。其中,通过将不同平台的表字段对应,设置主键比较,根据主键判断该条数据是新增更新还是删除。然后,通过新建SQL脚本,编写删除语句,并且将所有脚本按SQL脚本、表输入、java脚本、插入更新脚本的顺序顺次连接。最后,新建作业,将所有转换按顺序摆放,如图4所示,并设定作业定时调度时间,根据设置的时间实现数据共享。

另外,为了保障数据共享的安全,本发明设置用户权限,根据用户权限确定用户是否具有待操作数据的操作权限,并当确定用户具有待操作数据的操作权限时,允许用户操作;反之,则拒绝用户的操作。

本发明基于ETL技术实现了数据跨平台共享,在多个系统不同平台之间实现数据共享统一管理,只需要确定所需要共享的数据来源及目标,其可快速实现共享,无需大量代码编写。系统操作员可根据操作实际情况,在权限集中管理的系统中实时地创建新的角色、用户等权限信息,或者录入新数据信息,然后数据由ETL同步方法在不同系统下的不同数据库之间进行同步共享,此方法不占用各个系统的运行资源,大大降低了各个系统的运行压力,而且做到了实时同步共享,降低了因数据变更而未及时同步所带来的风险。

图5为根据本发明实施方式的实现跨平台数据共享的系统500的结构示意图。如图5所示,本发明实施方式提供的实现跨平台数据共享的系统500,包括:配置单元501、表信息获取单元502、表信息载入单元503、脚本文件连接单元504和作业任务执行单元505。

优选地,所述配置单元501,用于根据数据库信息和服务器参数信息配置转换文件的数据源;其中,所述数据源包括:来源库数据源和目标库数据源。

优选地,其中所述数据库信息,包括:数据库名称和数据库类型;所述服务器参数信息包括:主机名称、端口号、用户名和密码。

优选地,所述表信息获取单元502,用于新建表输入脚本文件,并在所述表输入脚本文件中编写sql语句,以进行表信息的抽取,获取表信息。

优选地,其中所述系统还包括:

表信息处理单元,用于在获取到表信息后,创建java脚本文件,并利用所述java脚本文件对抽取的表信息进行非空处理,获取经过非空处理的表信息。

优选地,所述表信息载入单元503,用于新建插入更新脚本文件,配置字段信息和装载目标表信息,并根据配置的字段信息将所述表信息装载入对应的目标表中。

优选地,其中所述表信息载入单元503,根据配置的字段信息将所述表信息装载入对应的目标表中,包括:

将不同平台的表字段信息进行匹配,通过设置主键比较每条数据是更新还是删除,并根据更新或删除结果将所述经过非空处理的表信息装载入对应的目标表中。

优选地,所述脚本文件连接单元504,用于新建SQL脚本文件,编写删除语句,并按照预设的顺序依次连接所有的脚本文件。

优选地,所述作业任务执行单元505,用于新建作业任务,设定作业调度时间,并根据所述作业任务将所有的脚本文件按顺序进行转换,实现跨平台数据共享。

优选地,其中所述系统还包括:

权限判断单元,用于设置用户权限,根据用户权限确定用户是否具有待操作数据的操作权限,并当确定用户具有待操作数据的操作权限时,允许用户操作;反之,则拒绝用户的操作。

本发明的实施例的实现跨平台数据共享的系统500与本发明的另一个实施例的实现跨平台数据共享的方法100相对应,在此不再赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

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

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

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

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

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种实现跨平台数据共享的方法
  • 一种区域化跨平台数据共享的方法及系统
技术分类

06120112568522