一种用于数据交互的数据适配方法、适配器及存储介质与流程

文档序号:28441314发布日期:2022-01-12 02:34阅读:150来源:国知局
1.本发明属于信息处理的
技术领域
:,特别是关于一种用于多源异构数据交互的数据适配方法、适配器及存储介质。
背景技术
::2.数据适配器是数据库和数据库管理系统之间的桥接器,用于检索和保存数据。3.随着数据资产价值重要性的不断提升,对于数据资产的采集和应用已是各行各业中关注的重点,当前行业中比较典型的数据采集方式有如下几种:4.(一)数据联邦模式5.数据联邦技术提供了一种为数据提供抽象的数据接口的能力,提供了一种数据消费者(应用)视角的统一数据集成视图,使数据逻辑看上去存在一个位置,但实际的物理位置却可能在多个数据源中。6.在大型现代企业中,组织中的各部门使用不同数据库管理系统来存储和搜索其重要数据,这几乎是不可避免的。竞争、不断发展的技术、合并、收购、地域分布以及扩展中不可避免的分散等因素都会造成这种多样性。但只有将这些系统中的信息组合起来,企业才会认识到这些系统所包含数据的整体价值。联邦数据库系统为组合来自多个数据源的信息提供了功能强大的工具,通过联邦多个异构数据源而创建的。用户可以随意查询存储在联邦系统中任意位置的数据,而不必担心数据的位置、实际数据源系统的sql语言种类或者存储的能力。7.这种数据采集模式中需要实时连接数据源系统,并且包含大量的计算,对数据源系统的负载压力会比较大。8.(二)内存反射机制9.内存反射机制就是利用利用运行环境(runtime)中的程序监控来获得程序运行的状态、调用和数据的接口,发现端和云之间的服务接口和输出结构,进而开展数据接口的模拟,快速实现数据的采集以及各个系统之间的互操作。10.内存反射机制的典型代表产品是燕云daas,燕云daas基于网构软件,实现了自动化的建模、自动化的组装和自适应演化。燕云daas可以将任意的一个系统,通过燕云daas平台,可将其通过学习分析构件化,将现有的系统构件化,再将它自动化的组装起来,在应用的过程中实现系统和系统之间的转化。这个产品的特点简单通俗而言,将公网,或者是局域网私有化部署后,把局域网内相应的系统在燕云daas上操作一遍,通过目标系统或给定系统的操作,能将原有系统的操作结构化,接着再重新封装生成新的接口,通过这个接口实现整个数据的流动或数据的开放,支撑整个应用的集成。这项工作的核心的点在于,我们将一个业务系统通常理解成两层,一个是后台的数据库,一个是我们看到的业务逻辑,我们通过客户端着手,不关心它的数据库结构,也不关心数据库系统是谁开发的,从系统使用者的视角重新构件,从一个系统的界面、一个客户端着手学习这套系统,然后再将这个接口部署到运行平台上实现整个原有系统的开放共享。11.这种模式需要在源系统上进行大量的模拟操作,更多的是了解每项系统功能对应的信息项,无法了解底层数据库的详细信息。12.(三)网络爬虫13.网络爬虫是一个自动提取网页的程序,通过制定的链接url地址进行网页爬取,并进行网页信息的抽取,在抓取网页的过程中,不断从当前页面上抽取新的url放入队列,直到满足系统的一定停止条件。14.这种模式仅仅适用于b/s系统,同时对于信息解析的难度比较高,需要了解各类网页的结构。15.公开于该
背景技术
:部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。技术实现要素:16.本发明的目的在于提供一种用于数据交互的数据适配方法、适配器及存储介质,其能够建立统一的接口和适配器模式,对标准统一的字节码进行识别,由底层的系统相关组件进行后续的工作,为上层数据消费者提供简洁、统一访问的访问入口。17.为实现上述目的,本发明提供了一种用于数据交互的数据适配方法,其应用于数据虚拟化服务器中的数据虚拟化层和底层数据源之间;所述方法包括以下步骤:18.s1:建立多源异构数据采集适配器,其中,多源异构数据采集适配器包括多个子适配器,用于根据数据虚拟化服务器的请求,调用对应的子适配器来读取底层数据源中的数据;19.s2:建立统一的适配器接口,其中,通过所述统一的适配器接口能够根据调用的底层数据源类型访问底层数据源中的数据。20.在本发明的一实施方式中,所述步骤s1中,所述多源异构数据采集适配器的子适配器包括关系型数据库适配器、nosql数据库适配器、word格式文档适配器、excel格式文档适配器、restapi服务的适配器和网页爬虫的适配器。21.在本发明的一实施方式中,所述多源异构数据采集适配器中设置有的封装层,所述封装层中记录有底层数据源的所有元数据信息,用来浏览和查询数据存储。22.在本发明的一实施方式中,所述步骤s2中,所述统一的适配器接口是能够与数据存储进行交互的单一接口。23.在本发明的一实施方式中,所述统一的适配器接口能够通过交互来搜索数据虚拟化服务器中的元数据,以及查询、写入或更改数据存储中保存的数据。24.本发明还提供一种用于数据交互的数据适配器,应用于数据虚拟化服务器中的数据虚拟化层和底层数据源之间;所述数据适配器包括:多源异构数据采集适配器和统一的适配器接口;25.所述多源异构数据采集适配器包括多个子适配器,用于根据数据虚拟化服务器的请求,调用对应的子适配器来读取底层数据源中的数据;26.所述统一的适配器接口,用于通过所述统一的适配器接口能够根据调用的底层数据源类型访问底层数据源中的数据。27.在本发明的一实施方式中,所述多源异构数据采集适配器的子适配器包括关系型数据库适配器、nosql数据库适配器、word格式文档适配器、excel格式文档适配器、restapi服务的适配器和网页爬虫的适配器。28.在本发明的一实施方式中,所述多源异构数据采集适配器中设置有的封装层,所述封装层中记录有底层数据源的所有元数据信息,用来浏览和查询数据存储。29.在本发明的一实施方式中,所述统一的适配器接口还用于通过交互来搜索数据虚拟化服务器中的元数据,以及查询、写入或更改数据存储中保存的数据。30.本发明还提供了一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的用于数据交互的数据适配方法的步骤。31.与现有技术相比,根据本发明的一种用于数据交互的数据适配方法、适配器及存储介质,应具有以下优点:32.(1)与数据联邦模式相比:数据联邦模式需要实时连接数据源系统,并且包含大量的计算,对数据源系统的负载压力会比较大。多源异构数据采集适配器连接到各个数据源系统并进行数据同步,支持将相关数据源的数据按1:1的方式,镜像到所属系统的数据存储库,基于该系统的数据存储库去做数据建模和统一管理,故对数据源系统的负载压力比数据联邦模式小很多;33.(2)与内存反射机制相比:内存反射机制更多的是了解每项系统功能对应的信息项,无法了解底层数据的详细信息。多源异构数据采集适配器可采集底层数据的详细信息;34.(3)与网络爬虫相比:网络爬虫仅仅适用于b/s系统,同时对于信息解析的难度比较高,需要了解各类网页的结构;多源异构数据采集适配器除了可采集各种关系数据库、nosql数据库之外,还可以采集webservice、word文档、电子表格、json格式文件,同时对不同类型的数据源采集封装为不同的采集适配器,由统一适配接口统一调用,故在使用层面比网络爬虫简便。附图说明35.图1是根据本发明一实施方式的用于数据交互的数据适配方法的流程图;36.图2是根据本发明一实施方式的用于数据交互的数据适配器的结构示意图。具体实施方式37.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。38.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。39.如图1所示,根据本发明优选实施方式的用于数据交互的数据适配方法,其基于现有的常规技能(比如标准sql)建立数据交互方式,能够从字符中进行解析。40.本发明的方法应用于数据虚拟化服务器中的数据虚拟化层和底层数据源之间,为底层数据源中数据的查询提供了一个数据交互接口。41.具体地,该方法包括以下步骤:42.s1:建立多源异构数据采集适配器,其中,多源异构数据采集适配器包括多个子适配器,用于根据数据虚拟化服务器的请求,调用对应的子适配器来读取底层数据源中的数据。43.多源异构数据采集适配器的子适配器包括关系型数据库适配器、nosql数据库适配器、word格式文档适配器、excel格式文档适配器、restapi服务的适配器和网页爬虫的适配器。44.具体的,关系型数据库与相应的多源异构数据采集适配器的子适配器相连接,nosql数据库与nosql数据库适配器相连接,word格式文档与word格式文档适配器相连接,excel格式文档与excel格式文档适配器相连接,restapi服务与restapi服务的适配器相连接,以及webservice与网页爬虫适配器相连接。通过上述数据库与子适配器之间的连接关系,能够通过相应的子适配器来读取不同类型的数据。45.由于不同的数据存储以不同的方式暴露或推理元数据,jdbc数据库通常会通过jdbc元数据api暴露元数据。文件格式(比如csv和excel表格)并没有很明确地定义,通常可以读取文件的首行内容获取文件的元数据。而nosql数据库甚至根本就没有元数据。本发明的步骤s2中,可以通过多源异构数据采集适配器选择暴露元数据的方式,即可以指定是以编程方式暴露,或通过检查数据存储的前n条记录的方式来推理出底层数据源中的元数据,进而实现数据映射层与底层数据的连接。46.其中,多源异构数据采集适配器中设置有封装层,封装层中记录有底层数据源的所有元数据信息,用来浏览和查询该数据存储,以及对该存储的其它操作。47.s2:建立统一的适配器接口,其中,通过该统一的适配器接口能够根据调用的底层数据源类型访问底层数据源中的数据。48.其中,统一的适配器接口是一个可以与底层数据源中的任何数据存储(不论是关系型数据库、nosql数据库,还是电子表格或者其他格式的文件)进行交互的单一接口。49.具体地,统一的适配器接口能够通过交互来搜索多源异构数据采集适配器的封装层中的元数据,查询、写入或更改数据存储中保存的数据。并且,统一的适配器接口能够实现不同的数据库与不同类型的适配器之间的连接关系。50.数据采集适配器是一个java类库,很显然,高层次抽象会丢失一些细节,会带来过度概括和丢失重要特性的风险。实际使用中,该步骤s2建立的统一的适配器接口没有将关系型sql数据库的功能减化到只有像(select*from[table])这样的全表扫描,并且,也没有暴露一些只能在特定品牌特定版本的sql服务器上才能使用的功能,因为这些功能无法在任何其他数据存储上使用。[0051]基于同样的发明构思,如图2所示,一实施方式中还提供了一种用于数据交互的数据适配器,其用于数据虚拟化服务器中的数据虚拟化层和底层数据源之间,为数据的查询提供了一个接口。[0052]该数据适配器包括统一的多源异构数据采集适配器1和适配器接口2。[0053]多源异构数据采集适配器1包括多个子适配器,用于根据数据虚拟化服务器的请求,调用对应的子适配器来读取底层数据源中的数据。[0054]具体地,源异构数据采集适配器2包括关系型数据库适配器、nosql数据库适配器、word格式文档适配器、excel格式文档适配器、restapi服务的适配器和网页爬虫的适配器。[0055]具体的,关系型数据库与相应的多源异构数据采集适配器的子适配器相连接,nosql数据库与nosql数据库适配器相连接,word格式文档与word格式文档适配器相连接,excel格式文档与excel格式文档适配器相连接,restapi服务与restapi服务的适配器相连接,以及webservice与网页爬虫适配器相连接。通过上述数据库与子适配器之间的连接关系,能够通过相应的子适配器来读取不同类型的数据。[0056]其中,多源异构数据采集适配器2中设置有的封装层,封装层中记录有底层数据源的所有元数据信息,用来浏览和查询该数据存储,以及对该存储的其它操作。[0057]统一的适配器接口2,用于通过所述统一的适配器接口能够根据调用的底层数据源类型访问底层数据源中的数据。[0058]其中,统一的适配器接口1是一个可以与底层数据源中的任何数据存储(不论是关系型数据库、nosql数据库,还是电子表格或者其他格式的文件)进行交互的单一接口。[0059]统一的适配器接口1能够通过交互来搜索多源异构数据采集适配器的封装层中的元数据,查询、写入或更改数据存储中保存的数据。并且,统一的适配器接口1能够实现不同的数据库与不同类型的适配器之间的连接关系。[0060]此外,统一的适配器接口1没有将关系型sql数据库的功能减化到只有像(select*from[table])这样的全表扫描,并且,也没有暴露一些只能在特定品牌特定版本的sql服务器上才能使用的功能,因为这些功能无法在任何其他数据存储上使用。[0061]基于同样的发明构思,一实施方式中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述一实施方式所述的用于数据交互的数据适配方法的步骤。[0062]本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0063]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0064]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0065]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0066]前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1