数据交换方法、装置及存储介质与流程

文档序号:15847106发布日期:2018-11-07 09:14阅读:236来源:国知局
数据交换方法、装置及存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种基于多个供给方及消费方的数据交换方法、装置及存储介质。

背景技术

随着信息技术的发展和系统自动化的到来,各种各样的系统应运而生。每个系统的设计规则和应用场景不一样,加之各种各样的数据库的产生,也因此数据常常存储在不同的数据库中,而各个数据库的类型不同,各自有其自定义的格式,各个数据库的规则及数据存储格式存在着一定程度的差异,导致数据的多源化和数据的多样化越来越严重。

数据交换涉及到两个实体,一个是提供数据的供给方,另外一个就是使用数据的消费方,供给方与消费方在不同的情况下可以是同一个系统或数据库。例如现在有c系统同时与a系统和b系统交换数据,若c系统请求b系统交换的数据,也正好是a系统所需求的数据时,a系统仍需要单独向b系统请求数据并转换格式,a系统方可获得所需的数据。b系统作为供给方则需要针对同一数据重复提供两个消费方的请求,并且还要配合两个消费方请求的不同数据格式。也因此,多样化数据的进行数据交换,就会导致管理混乱、数据重复索取、灵活性差和资源浪费等问题。



技术实现要素:

本申请实施例提供一种数据交换方法、装置、计算机可读存储介质及服务器,以解决多源数据管理混乱、数据重复索取以及多样化数据之间重复转换的问题。

为了解决上述技术问题,本申请是这样实现的:

第一方面,提供了一种数据交换方法,基于多个供给方及消费方,该方法包括:获取多个供给方的原始数据;将多个供给方的原始数据转换为字符分隔值文件;将字符分隔值文件转换并产生结果数据,其中结果数据对应消费方的数据格式;以及推送结果数据至消费方。

本申请的一个实施例中,获取多个供给方的原始数据,包括通过安全文件传送协议(sftp)及/或结构化查询语言(sql)从多个供给方接入原始数据。

本申请的一个实施例中,获取多个供给方的原始数据之前,还包括监控多个供给方的原始数据,当多个供给方的原始数据发生变化,获取多个供给方的原始数据。

本申请的一个实施例中,推送所述结果数据至所述消费方,还包括获得消费方的查询请求,推送与所述查询请求匹配的所述结果数据至所述消费方。

本申请的一个实施例中,推送所述结果数据至所述消费方,还包括校验所述消费方提供的权威数据;比对所述权威数据与所述供给方的所述原始数据;推送与所述权威数据匹配的所述结果数据至所述消费方。

本申请的一个实施例中,所述推送所述结果数据至所述消费方,还包括:基于所述消费方提供的权威数据,比对所述消费方的查询请求与所述供给方的所述原始数据;推送与所述权威数据以及所述查询请求匹配的所述结果数据至所述消费方。

本申请的一个实施例中,推送结果数据至消费方,还包括将结果数据插入消费方的数据库。

第二方面,提供了一种数据交换装置,基于多个供给方及消费方,该装置包括接入模块、转换模块以及推送模块。接入模块用于获取多个供给方的原始数据;转换模块将多个供给方的原始数据转换为字符分隔值文件;推送模块推送结果数据至消费方。

本申请的一个实施例中,数据交换装置还包括应用程序接口模块,其提供通用的接口标准用于获得消费方的查询请求及/或将结果数据插入消费方的数据库。

本申请的一个实施例中,应用程序接口模块还包括:查询模块、校验模块以及比对模块。查询模块用于获得消费方的查询请求,比对所述消费方的所述查询请求与所述供给方的所述原始数据;校验模块用于校验消费方提供的权威数据,比对所述权威数据与所述供给方的所述原始数据;;比对模块用于基于所述消费方提供的所述权威数据比对消费方的查询请求与供给方的原始数据。

本申请的一个实施例中,应用程序接口模块还包括插入模块,其用于将结果数据插入消费方的数据库。

第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。

第四方面,提供了一种数据交换装置,基于多个供给方及消费方,包括处理器和用于存储能够在处理器上运行计算机程序的存储器,其中,处理器用于运行计算机程序时,执行上述方法的步骤。

在本申请的各个实施例中,通过数据交换方法、数据交换装置,能够提升多源多样化的数据交换效率,又可以解决数据重复索取以及多样化数据之间重复转换的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请第一实施例的数据交换方法的实现流程图;

图2是本申请第二实施例的数据交换方法的实现流程图;

图3是本申请第三实施例的数据交换装置的组成结构示意图;

图4是本申请第四实施例的应用程序接口模块的组成结构示意图;以及

图5是本申请第五实施例的数据交换装置的硬件结构示意图。

具体实施方式

以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

数据交换涉及的两个实体中,提供数据的为供给方,使用数据的则为消费方,供给方与消费方在不同的情况下可以是同一个系统或数据库。供给方或消费方的系统或数据库可以是oracle、sqlserver、postgresql、mysql、db2和phoenix等数据库,所使用或产生的数据文件格式可以是csv、txt、json、word、excel和一些自定义数据格式的文件。

图1是本申请第一实施例的数据交换方法的实现流程图,如图所示,本申请基于多个供给方及消费方的数据交换方法,包括以下步骤:

步骤s101,获取多个供给方的原始数据。

在步骤s101之前,首先需要确定供给方的数据提供形式,进而判断使用何种方式从供给方获取原始数据,并根据供给方的数据提供形式进行对应的设定。供给方提供的数据形式可以是数据库或文件。当供给方的数据形式为文件时,提供的原始数据可以是文件格式txt文件,则可以通过供给方ftp主机(filetransferprotocolserver,文件传输协议主机,简称ftp主机)获得。当供给方的数据形式为数据库时,例如mysql数据库,则通过接入数据库以查询的方式提取原始数据。

在步骤s101中,若供给方提供ftp主机接入,则可以根据预设的连线规则以sftp(securefiletransferprotocol,安全文件传输协议,简称sftp)方式接入供给方ftp主机的文件目录获取原始数据,并以文件流的方式进行读取原始数据。若供给方提供数据库对应表,则可以通过jdbc(javadatabaseconnectivity,java数据库连接,简称jdbc)链接自动查询供给方的数据库后获取原始数据。从供给方获取原始数据时,可以采用增量或全量的方式进行数据接入。

步骤s102,将多个供给方的原始数据转换为字符分隔值文件。

在步骤s102中,字符分隔值文件(comma-separatedvaluesfile,简称csv文件),有时也称为逗号分隔值文件,因为分隔字符可以是逗号,也可以不是逗号,字符分隔值文件一种以纯文本形式存储表格或数据的文件,字符分隔值文件存储的数据可以是数字或文本。若是以sftp方式接入供给方ftp主机并以文件流读取原始数据,则将文件流中的原始数据写入字符分隔值文件,以将原始数据转换为字符分隔值文件。若是以通过jdbc链接自动查询而获取原始数据,则将接入的原始数据进行字符集和数据类型的转换,以将原始数据转换为字符分隔值文件。

步骤s103,将字符分隔值文件转换并产生结果数据,其中结果数据对应消费方的数据格式。

在步骤s103中,若是消费方查询索取后,或是主动推送给消费方前,根据预设的路由规则,将字符分隔值文件以文件流的方式进行读取文件内容,并根据消费方的数据库形式或是索取需求,产生与消费方的目标文件格式一样的结果数据。结果数据的类型可以视消费方的需求而生成,例如配合ftp主机的文件,或是配合sql数据库的数据类型。

步骤s104,推送结果数据至消费方。

在步骤s104中,若消费方提供ftp主机接入,则以sftp方式将包括结果数据的文件推送到消费方。若消费方为sql数据库,则结果数据的类型将与消费方数据库的类型一致,再通过jdbc链接将结果数据推送到消费方的数据库相对应的表单。若有多个消费方,只需要配置多个路由规则,再根据已经配置好的路由规则将结果数据分别推送到相应的消费方的ftp主机对应的目录,或者将结果数据推送到相应的消费方的sql数据库中。

在本发明的第一实施例中,步骤s104还可以进一步包括:获得所述消费方的查询请求;比对所述消费方的所述查询请求与所述供给方的所述原始数据;推送与所述查询请求匹配的所述结果数据至所述消费方。

在第一实施例中,消费方传入查询请求,请求调用应用程序接口(applicationprogramminginterface,简称:api),查询请求中还包括了参数值。根据消费方传入的查询请求,对查询请求进行身份认证以确认消费方是否可以进一步获得数据,若消费方通过身份认证则要进一步确认消费方可以调用数据的权限。基于消费方传入的查询请求于数据库中进行查询,若再数据库中比对到与查询请求匹配的结果述据,则将结果述据推送至消费方。

在本发明的第一实施例中,步骤s104还可以进一步包括:校验所述消费方提供的权威数据;比对所述权威数据与所述供给方的所述原始数据;推送与所述权威数据匹配的结果数据至所述消费方。

在第一实施例中,消费方传入查询请求,请求调用应用程序接口(applicationprogramminginterface,简称:api),查询请求中还包括了参数值。对于消费方的查询请求,首先校验消费方提供的权威数据,权威数据能够是一种代表单一身份或识别信息的数据,例如身分证号码、国际移动用户识别码或通用唯一识别码。比对权威数据与数据库中供给方的原始数据是否有匹配的目标,若获得匹配结果则推送结果数据至消费方。结果数据仅仅会向消费方返回查询请求“是(yes)”或“否(no)”的匹配结果,但不会向消费方提供具体的权威数据内容,从而达到保护数据安全的目的。

在本发明的第一实施例中,步骤s104还可以进一步包括:基于所述消费方提供的权威数据,比对所述消费方的查询请求与所述供给方的所述原始数据;推送与所述权威数据以及所述查询请求匹配的所述结果数据至所述消费方。

在第一实施例中,消费方传入查询请求,请求调用应用程序接口(applicationprogramminginterface,简称:api),查询请求中还包括了参数值。对于消费方的查询请求,首先确认是否包含权威数据,若存在权威数据才进一步比对查询请求的参数值。基于权威数据比对消费方的查询请求与数据库中供给方的原始数据,也就是说,首先比对数据库中是否存在该权威数据。在存有该权威数据的状况下,进一步比对该权威数据之下的原始述据与消费方的查询请求是否匹配,若获得匹配结果则推送结果数据至消费方。结果数据仅仅会向消费方返回查询请求“是(yes)”或“否(no)”的匹配结果,但不会向消费方提供具体的原始数据内容,从而达到保护数据安全的目的。

在本申请的一实施例关于应用程序接口(api)的使用场景,应用程序接口(api)采用rest(representationalstatetransfer,表述性状态传递,简称rest)协议,并结合对称和非对称加密算法,保证数据传输的便捷性和安全性。消费方的身份认证采用非对称的rsa公钥加密算法实现,数据获取与推送的加密通过对称desede密钥算法实现。在本申请的一实施例中,也可以通过应用程序接口将结果数据插入消费方的数据库。本申请提供的一种数据交换方法,基于多供给方及消费方,能更好的管理和多个供给方和消费方的数据共享和交换;能通过先统一转换为字符分隔值文件,再配合消费方的需求进行数据多样化的自动化操作,使得数据交换灵活且方便;能支持供给方一次读取数据,多个消费方多次复用消费数据,合理有效的解决了资源浪费问题。

此外,本申请的数据交换方法中,应用程序接口可以通过密钥算法对交换的数据进行加密,以确保数据在传输过程的安全性。

此外,本申请的数据交换方法通过证书与密钥算法的加密配置,可以针对每个供给者和消费者分配不同的加密规则,使加密更加安全、灵活和方便。

图2是本申请第二实施例的数据交换方法的实现流程图,图2所示的第二实施例提供更进一步的数据交换方法。图2中的步骤s201、s202、s203、s204与图1的步骤s101、s102、s103、s104相同,与此不再重复叙述。图2的第二实施例相对于图1增加步骤s200,关于增加步骤相关的详细说明如下:

步骤s200,监控多个供给方的原始数据。

在步骤s200中,采用实时监控供给方的方式,若供给方的原始数据发生变化或异动,则接入供给方进行实时获取数据。若供给方提供ftp主机接入,则实时监控ftp主机下文件目录,若目录中的数据文件发生变更或增减,则进入步骤s201,以预设的规则定时自动以sftp方式获取原始数据。若供给方提供sql数据库,则实时监控供给方的数据库对应表,如果对应表发生变化,则进入步骤s201,以预设的规则通过jdbc链接自动查询供给方数据库已获得原始数据。

本申请提供的一种数据交换方法,基于多供给方及消费方,不仅支持供给方与消费方以文件的形式交换数据,同时还支持通过操作双方数据库的形式来进行数据共享交换,即实现了文件对文件的数据共享交换、文件对数据库的数据共享交换、数据库对文件的数据共享交换和数据库对数据库的数据共享交换,使得数据共享交换更加的灵活,实现了数据的多样化的数据共享交换。此外,本申请提供的一种数据交换方法,基于多供给方及消费方,藉由将原始数据统一汇集存放,还可以实现历史问题可查功能。更实现了供给方的一次供给,多个消费方多次复用的交叉式数据交换方法。

图3是本申请第三实施例的数据交换装置的组成结构示意图,如图所示,本申请基于多个供给方及消费方的数据交换装置,包括接入模块32、转换模块34、推送模块36以及应用程序接口模块38。

接入模块32用于获取多个供给方的原始数据,接入模块32以根据预设的连线规则以sftp(securefiletransferprotocol,安全文件传输协议,简称sftp)方式接入供给方ftp主机的文件目录获取原始数据,并以文件流的方式进行读取原始数据,或通过jdbc(javadatabaseconnectivity,java数据库连接,简称jdbc)链接自动查询供给方的数据库后获取原始数据。接入模块32自供给方获取原始数据时,可以采用增量或全量的方式进行数据接入。在本申请的一实施例中,接入模块32还可以采用实时监控供给方的方式,在供给方的ftp主机下文件目录中的数据文件发生变更或增减,以预设的规则定时自动以sftp方式获取原始数据。或是在供给方的数据库对应表发生变化时,以预设的规则通过jdbc链接自动查询供给方数据库。

转换模块34将多个供给方的原始数据转换为字符分隔值文件(csv文件)。若接入模块32是以sftp方式接入供给方ftp主机,则转换模块34可以文件流读取原始数据,并将原始数据写入字符分隔值文件。若是接入模块32是以jsbc链接自动查询而获取原始数据,则转换模块34可以将接入的原始数据进行字符集和数据类型的转换,以将原始数据转换为字符分隔值文件。转换模块34还可以视消费方的数据库类型或文件形式,将字符分隔值文件转换并产生与消费方的目标文件格式一样的结果数据,例如配合ftp主机的文件,或是配合sql数据库的数据类型。

推送模块36推送结果数据至消费方。推送模块36可以视消费方的数据库类型或文件形式决定采用何种方式推送结果数据,例如以sftp方式将包括结果数据的文件推送到消费方,或通过jdbc链接将结果数据推送并插入到消费方的数据库相对应的表单。若有多个消费方,只需要配置多个路由规则,推送模块36将再根据已经配置好的路由规则将结果数据分别推送至各个消费方。

应用程序接口模块38提供通用的接口标准用于获得消费方的查询请求及/或将结果数据插入消费方的数据库。

图4是本申请第四实施例的应用程序接口模块的组成结构示意图,如图所示,数据交换装置的应用程序接口模块38还进一步包括查询模块41、校验模块43、比对模块45以及采集模块47。查询模块41用于获得消费方的查询请求,比对所述消费方的所述查询请求与所述供给方的所述原始数据,并在消费方请求调用应用程序接口(api)时提供对应的接入与返回结果。

校验模块43用于校验消费方提供的权威数据,比对所述权威数据与所述供给方的所述原始数据。根据消费方传入的查询请求,效验模块43首先校验消费方提供的权威数据,权威数据能够是一种代表单一身份或识别信息的数据,例如身分证号码、国际移动用户识别码或通用唯一识别码。比对权威数据与数据库中供给方的原始数据是否有匹配的目标,若获得匹配结果则推送结果数据至消费方。结果数据仅仅会向消费方返回查询请求“是(yes)”或“否(no)”的匹配结果,但不会向消费方提供具体的权威数据内容,从而达到保护数据安全的目的。

比对模块45用于基于所述消费方提供的所述权威数据比对消费方的查询请求与供给方的原始数据。消费方传入的查询请求还包括参数值,对于消费方的查询请求,比对模块45首先确认是否包含权威数据,若存在权威数据才进一步比对查询请求的参数值。比对模块45基于权威数据比对消费方的查询请求与数据库中供给方的原始数据,也就是说,比对模块45首先比对数据库中是否存在该权威数据。在存有该权威数据的状况下,比对模块45进一步比对该权威数据之下的原始述据与消费方的查询请求是否匹配,若获得匹配结果则推送结果数据至消费方。比对模块45通过推送模块推送的结果数据仅仅会向消费方返回查询请求“是(yes)”或“否(no)”的匹配结果,但不会向消费方提供具体的原始数据内容,从而达到保护数据安全的目的。

采样模块47用于采集消费方提交的数据,通过调用应用程序接口(api)对存储有结果数据的数据库进行数据插入或更新。

本申请提供的一种数据交换装置,基于多个供给方及消费方,使得多个系统的多源多样化的数据交换管理变得高效和便捷,也提升数据交换的安全性和灵活性,数据资源可以得到更充分与合理的利用,节省了数据管理、多系统使用和人力运维的成本。

图5是本申请第五实施例的数据交换装置的硬件结构示意图,图5所示的数据交换装置500,基于多个供给方及消费方,包括至少一个处理器501、存储器502、用户接口503和至少一个网络接口504。所述数据交换装置500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。

其中,存储器502可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。用户接口503可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

本申请实施例中的存储器502用于存储各种类型的数据以支持数据交换装置500的操作。这些数据的示例包括:用于在数据交换装置500上操作的任何计算机程序,如可执行程序5021,实现本申请实施例方法的程序可以包含在可执行程序5021中。

上述本申请实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本深

实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,本申请实施例还提供了一种存储介质,其上存储有可执行程序5021,所述可执行程序5021被数据交换装置500的处理器501运行时,执行以下操作:

获取多个供给方的原始数据;将多个供给方的原始数据转换为字符分隔值文件;将字符分隔值文件转换并产生结果数据,其中结果数据对应消费方的数据格式;以及推送结果数据至消费方。

其中,通过安全文件传送协议(sftp)及/或结构化查询语言(sql)从多个供给方接入原始数据

所述可执行程序5021被数据交换装置500的处理器501运行时,还执行以下操作:获取多个供给方的原始数据之前,监控多个供给方的原始数据,当多个供给方的原始数据发生变化,获取多个供给方的原始数据。

所述可执行程序5021被数据交换装置500的处理器501运行时,还执行以下操作:获取多个供给方的原始数据之前,获得消费方的查询请求;以及比对消费方的查询请求与供给方的原始数据。

其中,推送结果数据至消费方还包括将结果数据插入消费方的数据库。

所述可执行程序5021被数据交换装置500的处理器501运行时,还执行以下操作:获得消费方的查询请求之后,对消费方进行身份认证与确认调用权限。

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

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

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

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

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1