一种基于开放接口的多源异构数据源访问方法

文档序号:10697619阅读:568来源:国知局
一种基于开放接口的多源异构数据源访问方法
【专利摘要】本发明公开了一种基于开放接口的多源异构数据源访问方法,包括:查询并获取多种数据源连接的开放接口;适配各开放接口;集成封装各开放接口;选取数据源连接的开放接口;选取数据源并对各数据源设定连接参数与查询数据集;获取数据元信息;数据元信息标准化;数据访问。本发明通过集成封装各数据源访问接口来进行数据的获取,对这些访问接口进行统一管理避免了新数据源在加入时进行单独开发,实现对数据源统一透明的访问;通过数据元标准化,提供统一的数据元读取和处理规则,并对数据进行分类映射,保障后续流程处理;解决了多源异构数据源访问过程中面对的系统异构、数据模型异构和逻辑异构三个层面的问题,高效地将不同的数据源有机的结合起来。
【专利说明】
一种基于开放接口的多源异构数据源访问方法
技术领域
[0001 ]本发明涉及多源异构数据源整合技术领域,具体而言,涉及一种基于开放接口的多源异构数据源访问方法。
【背景技术】
[0002]随着信息化程度的提高,数据共享的内容与形式也越来越丰富,然而数据源以及数据之间的异构性使数据的共享产生了一定的困难,解决这一问题的关键手段是进行有效的数据整合。
[0003]数据整合的首要任务是提供对异构数据源透明、一致的访问能力。透明性需要屏蔽底层数据源的差异,当需要从多个数据源进行读取时,从使用者的角度来看,不是来自于若干个数据源,而是一个数据源,需要消除各数据源之间的存在的模型差异性来保证一致性。
[0004]然而由于数据模型差异导致数据源存储格式不同,导致了各类数据源有各自的访问方式。数据的读取是直接对数据源中数据进行读操作,不可能有一个统一的方法来读取所有数据源,同时,异构数据源数据,对于同一类数据的描述,会存在数据元表示不统一的情况,这样会干扰数据使用,导致数据冗余及数据错误问题。

【发明内容】

[0005]为解决上述问题,本发明的目的在于提供一种基于开放接口的多源异构数据源访问方法,解决了多源异构数据源访问过程中面对的系统异构、数据模型异构和逻辑异构三个层面的问题,高效地将不同的数据源有机的结合起来。
[0006]本发明提供了一种基于开放接口的多源异构数据源访问方法,该方法包括以下步骤:
[0007]步骤I,查询并获取多种数据源连接的开放接口,即查询关系型数据库、电子表格、结构化平面文件和其他数据源提供的访问接口 ;
[0008]步骤2,适配各开放接口,即将步骤I中得到的多种数据源的开放接口进行对应的特性适配;
[0009]步骤3,集成封装各开放接口,即将步骤2中适配的多种数据源的开放接口和访问方法进行集成封装,得到开放接口集;
[0010]步骤4,选取数据源连接的开放接口,即当需要进行数据源连接时,从步骤3中已封装好的开放接口集中选取合适的访问方法;
[0011]步骤5,选取数据源并对各数据源设定连接参数与查询数据集,即选取数据源并将步骤4中选取好的开放接口进行连接参数与查询数据集的设定;
[0012]步骤6,获取数据元信息,即利用步骤3中封装好的访问方法获取数据元信息或通过预览的数据获取数据元信息;
[0013]步骤7,数据元信息标准化,即在获取数据元信息后,归约数据元信息的数据类型并对归类的数据元进行统一的命名与最大化元数据处理;
[0014]步骤8,数据访问,即根据步骤5连接的数据源,从封装的开放接口集中选取访问方法来进行数据访问和应用。
[0015]作为本发明进一步的改进,步骤I中,关系型数据库的访问接口为JDBC接口或ODBC接口,电子表格的访问接口为Apache POI接口,结构化平面文件的访问接口为JDOM接口,其他数据源的访问接口为API接口。
[0016]作为本发明进一步的改进,步骤5对各数据源连接参数与查询数据集的设定通过常量和变量的组合来完成,同时通过正则表达式对数据源进行选取。
[0017]作为本发明进一步的改进,
[0018]对访问过程中长期不变的连接参数或查询数据集,通过硬编码录入的常量方式来设定;
[0019]对访问过程中短期内需要变动的连接参数或查询数据集,通过读取配置文件、在运行前进行加载、在运行过程中保持不变的静态变量方式来设定;
[0020]对访问过程中需要变动的连接参数或查询数据集,通过在访问过程中动态生成配置文件再加载的动态变量方式来设定。
[0021]作为本发明进一步的改进,当需要进行大规模的多数据源选择性连接时,通过正则表达式的匹配选取数据源,将满足条件的数据源连接,不满足条件的数据源忽略,具体包括以下步骤:
[0022]步骤Si,编辑需要选取的数据源特性的正则表达式;
[0023]步骤s2,读取数据源信息;
[0024]步骤S3,判定已读取的数据源信息的正则表达式;
[0025]步骤s4,连接符合正则表达式规则的数据源,并读取连接的数据源的数据;
[0026]步骤S5,忽略不符合正则表达式规则的数据源。
[0027]作为本发明进一步的改进,步骤6通过直接读取或自动模糊匹配生成数据元信息,具体包括以下步骤:
[0028]步骤601,根据步骤3中集成的访问方法,通过开放接口查询已存储的元数据;
[0029]步骤602,元数据查询后,直接读取元数据对应的数据元信息;
[0030]步骤603,如果通过开放接口无法查询已存储的元数据,则进行数据预览;
[0031 ]步骤604,对预览的数据值进行特性判断,并模糊匹配其数据元信息;
[0032]步骤605,将查询到的数据元信息和模糊匹配的数据元信息进行汇总。
[0033]作为本发明进一步的改进,步骤7具体包括以下步骤:
[0034]步骤701,将获取的数据元信息进行数据类型分类归约,归约后的数据类型分为字符型、数字型、日期型、日期时间型、布尔型和二进制型;
[0035]步骤702,将同一类的数据元的不同命名调整为统一的命名;
[0036]步骤703,将同一类数据元的值域按照所获取到的数据元值域中的最大值进行重新指定,其中值域的内容包括长度和精度;
[0037]步骤704,数据元信息标准统一,进行相应的数据应用。
[0038]本发明的有益效果为:
[0039]1、针对数据模型差异导致数据源存储格式不同,各类数据源有各自的访问方式的问题,通过集成封装各类数据源访问接口来进行数据的获取,对这些数据源访问接口进行统一的管理避免了新数据源在加入时进行单独开发,实现了对数据源统一透明的访问;
[0040]2、通过数据元标准转化,提供统一的数据元读取和处理规则,并对数据进行分类映射,保障了后续流程处理对于处理的数据单元有着共同、一致和无歧义的理解;
[0041]3、解决了多源异构数据源访问过程中面对的系统异构、数据模型异构和逻辑异构三个层面的问题,高效地将不同的数据源有机的结合起来。
【附图说明】
[0042]图1为本发明实施例所述的一种基于开放接口的多源异构数据源访问方法的流程示意图;
[0043]图2为图1中步骤I的适配各种存储模式的示意图;
[0044]图3为图1中步骤5的数据源连接参数与查询数据集的常量和变量设定的示意图;
[0045]图4为图1中步骤5的正则表达式数据源选取的流程示意图;
[0046]图5为图1中步骤6的数据元获取的流程示意图;
[0047]图6为图1中步骤7数据元标准处理的流程示意图。
【具体实施方式】
[0048]下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
[0049]如图1所示,本发明实施例所述的一种基于开放接口的多源异构数据源访问方法,该方法包括以下步骤:
[0050]步骤I,查询并获取多种数据源连接的开放接口,即获取关系型数据库、电子表格、结构化平面文件和其他数据源提供的访问接口 ;
[0051]步骤2,适配各开放接口,即将步骤I中查询到的多种数据源的开放接口进行对应的特性适配,得到各开放接口的访问方法;
[0052]步骤3,集成封装各开放接口,即将步骤2中适配的多种数据源的开放接口和访问方法进行集成封装,得到开放接口集;
[0053]步骤4,选取数据源连接的开放接口,即当需要进行数据源连接时,从步骤3中已封装好的开放接口集中选取合适的访问方法;
[0054]步骤5,选取数据源并对各数据源设定连接参数与查询数据集,即选取数据源并将步骤4中选取好的开放接口进行连接参数与查询数据集的设定;
[0055]步骤6,获取数据元信息,即利用步骤3中封装好的访问方法获取数据元信息或通过预览的数据获取数据元信息;
[0056]步骤7,数据元信息标准化,即在获取数据元信息后,归约数据元信息的数据类型并对归类的数据元进行统一的命名与最大化元数据处理;
[0057]步骤8,数据访问,即根据步骤5连接的数据源,从封装的开放接口集中选取访问方法来进行数据访问和应用。
[0058]本发明的数据源的访问覆盖了现有的存储模式,如图2所示,依据各类数据驱动方式,关系型数据库通过Java数据库连接(JDBC)或开放数据库互联(ODBC)接口读取访问,电子表格通过Apache POI接口读取访问,结构化平面文件通过Java文档对象模型(JDOM)接口读取访问,其他数据源通过提供的应用程序编程接口(API)接口进行读取访问。将上述各类异构数据源的访问接口进行封装,当需要进行数据读取时,在已封装好的接口适配集中选取合适的访问方法,再经过各参数认证、文件权限认证和API身份验证后,即可进行数据的访问。
[0059]其中,步骤5对各数据源连接参数与查询数据集的设定通过常量和变量的组合来完成,同时通过正则表达式对数据源进行选取。
[0060]如图3所示,各数据源的连接参数与查询数据集可通过常量与变量的组合方式,进行静态、动态地组合来对数据连接与访问。其中:对访问过程中长期不变的连接参数或查询数据集,通过硬编码录入的常量方式来设定;变量方式又分为静态变量和动态变量,对访问过程中短期内需要变动的连接参数或查询数据集,通过读取配置文件、在运行前进行加载、在运行过程中保持不变的静态变量方式来设定;对访问过程中需要变动的连接参数或查询数据集,通过在访问过程中动态生成配置文件再加载的动态变量方式来设定。
[0061]多数据源的选取通过正则表达式的过滤,当需要进行大规模的多数据源选择性连接访问时,此方式减少了人工的介入,减轻了工作量。当需要进行数据源选取时,通过正则表达式的匹配选取数据源,将满足条件的数据源连接,不满足条件的数据源忽略,如图4所示,具体包括以下步骤:
[0062]步骤Si,编辑需要选取的数据源特性的正则表达式;
[0063]步骤s2,读取数据源信息;
[0064]步骤S3,判定已读取的数据源信息的正则表达式;
[0065]步骤s4,连接符合正则表达式规则的数据源,并读取连接的数据源的数据;
[0066]步骤S5,忽略不符合正则表达式规则的数据源。
[0067]数据元信息可直接读取或自动模糊匹配生成,如果数据源已有相关元数据的信息,可通过开放接口直接进行数据元信息的获取,如果数据源没有元数据的信息,可通过预览部分数据,根据数据值内容进行模糊匹配。如图5所示,具体包括以下步骤:
[0068]步骤601,根据步骤3中集成的访问方法,通过开放接口查询已存储的元数据;
[0069]步骤602,元数据查询后,直接读取元数据对应的数据元信息;
[0070]步骤603,如果通过开放接口无法查询已存储的元数据,则进行数据预览;
[0071 ]步骤604,对预览的数据值进行特性判断,并模糊匹配其数据元信息;
[0072]步骤605,将查询到的数据元信息和模糊匹配的数据元信息进行汇总。
[0073]数据元的数据类型会进行分类归约,同时,为保证数据的可操作性,数据元的长度、精度,会通过已预览数据进行最大化的处理。对数据元进行分类可从众多的数据元中找出可归类的单一具体的数据元,方便对数据元进行数据处理分析;分类完成后对归类的数据元进行统一的命名与最大化元数据处理,以便明确后续数据处理过程中可采用的方式,进而明确数据元的应用,如图6所示,步骤7具体包括以下步骤:
[0074]步骤701,将获取的数据元信息进行数据类型分类归约,归约后的数据类型分为字符型、数字型、日期型、日期时间型、布尔型和二进制型;如:将char、varcha;r、st;ring、text等统一映射为字符型;将int、number、fl0at等统一映射为数字型;
[0075]步骤702,将同一类的数据元的不同命名调整为统一的命名;
[0076]步骤703,将同一类数据元的值域按照所获取到的数据元值域中的最大值进行重新指定,其中值域的内容包括长度和精度;
[0077]步骤704,数据元信息标准统一,进行相应的数据应用。
[0078]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于开放接口的多源异构数据源访问方法,其特征在于,该方法包括以下步骤: 步骤I,查询并获取多种数据源连接的开放接口,即获取关系型数据库、电子表格、结构化平面文件和其他数据源提供的访问接口 ; 步骤2,适配各开放接口,即将步骤I中得到的多种数据源的开放接口进行对应的特性适配; 步骤3,集成封装各开放接口,即将步骤2中适配的多种数据源的开放接口和访问方法进行集成封装,得到开放接口集; 步骤4,选取数据源连接的开放接口,即当需要进行数据源连接时,从步骤3中已封装好的开放接口集中选取合适的访问方法; 步骤5,选取数据源并对各数据源设定连接参数与查询数据集,即选取数据源并将步骤4中选取好的开放接口进行连接参数与查询数据集的设定; 步骤6,获取数据元信息,即利用步骤3中封装好的访问方法获取数据元信息或通过预览的数据获取数据元信息; 步骤7,数据元信息标准化,即在获取数据元信息后,归约数据元信息的数据类型并对归类的数据元进行统一的命名与最大化元数据处理; 步骤8,数据访问,即根据步骤5连接的数据源,从封装的开放接口集中选取访问方法来进行数据访问。2.根据权利要求1所述的多源异构数据源访问方法,其特征在于,步骤I中,关系型数据库的访问接口为JDBC接口或ODBC接口,电子表格的访问接口为Apache POI接口,结构化平面文件的访问接口为JDOM接口,其他数据源的访问接口为API接口。3.根据权利要求1所述的多源异构数据源访问方法,其特征在于,步骤5对各数据源连接参数与查询数据集的设定通过常量和变量的组合来完成,同时通过正则表达式对数据源进行选取。4.根据权利要求3所述的多源异构数据源访问方法,其特征在于, 对访问过程中长期不变的连接参数或查询数据集,通过硬编码录入的常量方式来设定; 对访问过程中短期内需要变动的连接参数或查询数据集,通过读取配置文件、在运行前进行加载、在运行过程中保持不变的静态变量方式来设定; 对访问过程中需要变动的连接参数或查询数据集,通过在访问过程中动态生成配置文件再加载的动态变量方式来设定。5.根据权利要求3所述的多源异构数据源访问方法,其特征在于,当需要进行大规模的多数据源选择性连接时,通过正则表达式的匹配选取数据源,将满足条件的数据源连接,不满足条件的数据源忽略,具体包括以下步骤: 步骤Si,编辑需要选取的数据源特性的正则表达式; 步骤s2,读取数据源信息; 步骤s3,判定已读取的数据源信息的正则表达式; 步骤s4,连接符合正则表达式规则的数据源,并读取连接的数据源的数据; 步骤s5,忽略不符合正则表达式规则的数据源。6.根据权利要求1所述的多源异构数据源访问方法,其特征在于,步骤6通过直接读取或自动模糊匹配生成数据元信息,具体包括以下步骤: 步骤601,根据步骤3中集成的访问方法,通过开放接口查询已存储的元数据; 步骤602,元数据查询后,直接读取元数据对应的数据元信息; 步骤603,如果通过开放接口无法查询已存储的元数据,则进行数据预览; 步骤604,对预览的数据值进行特性判断,并模糊匹配其数据元信息; 步骤605,将查询到的数据元信息和模糊匹配的数据元信息进行汇总。7.根据权利要求1所述的多源异构数据源访问方法,其特征在于,步骤7具体包括以下步骤: 步骤701,将获取的数据元信息进行数据类型分类归约,归约后的数据类型分为字符型、数字型、日期型、日期时间型、布尔型和二进制型; 步骤702,将同一类的数据元的不同命名调整为统一的命名; 步骤703,将同一类数据元的值域按照所获取到的数据元值域中的最大值进行重新指定,其中值域的内容包括长度和精度; 步骤704,数据元信息标准统一,进行相应的数据应用。
【文档编号】G06F17/30GK106066871SQ201610369710
【公开日】2016年11月2日
【申请日】2016年5月30日 公开号201610369710.0, CN 106066871 A, CN 106066871A, CN 201610369710, CN-A-106066871, CN106066871 A, CN106066871A, CN201610369710, CN201610369710.0
【发明人】曾德贤, 李睿, 王夏男
【申请人】中国人民解放军装备学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1