CN104573115A - 支持多类型数据库操作的集成接口的实现方法及*** - Google Patents

支持多类型数据库操作的集成接口的实现方法及*** Download PDF

Info

Publication number
CN104573115A
CN104573115A CN201510058463.8A CN201510058463A CN104573115A CN 104573115 A CN104573115 A CN 104573115A CN 201510058463 A CN201510058463 A CN 201510058463A CN 104573115 A CN104573115 A CN 104573115A
Authority
CN
China
Prior art keywords
data
database
tables
data source
target database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510058463.8A
Other languages
English (en)
Other versions
CN104573115B (zh
Inventor
姚晓宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HCR BEIJING CO., LTD.
Original Assignee
Xinyu Makes Country Prosperous Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xinyu Makes Country Prosperous Information Industry Co Ltd filed Critical Xinyu Makes Country Prosperous Information Industry Co Ltd
Priority to CN201510058463.8A priority Critical patent/CN104573115B/zh
Publication of CN104573115A publication Critical patent/CN104573115A/zh
Priority to PCT/CN2015/084810 priority patent/WO2016123920A1/zh
Priority to US15/008,890 priority patent/US20160224667A1/en
Application granted granted Critical
Publication of CN104573115B publication Critical patent/CN104573115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了支持多类型数据库操作的集成接口的实现方法及***。该方法包括:接收应用项目单元传入的参数信息;根据存储的统一管理的已注册数据源信息,对于支持的数据源类型,从统一管理的多个分布式数据库集群中找到数据源实例的目标数据库;把参数信息提供给目标数据库的操作指令结构化引擎进行处理,得到目标数据库的处理结果集;将目标数据库的处理结果集转换成应用项目单元可识别的统一格式的数据集;创建支持多类型数据源操作的集成接口,为应用项目单元提供统一访问入口,实现所述集成接口的功能。发明可以弱化应用项目和数据库的耦合性,促使项目解耦,扩展更加灵活;同时避免了对于研发人员的数据库领域知识的严苛要求。

Description

支持多类型数据库操作的集成接口的实现方法及***
技术领域
本发明涉及数据集成和数据处理技术领域,特别涉及支持多类型数据库操作的集成接口的实现方法及***。
背景技术
在企业级的网络环境中,异种数据库同时并存的现象越来越普遍地存在。例如,对高并发要求的***采用低成本的集群数据库***,而对于安全级别高的***则采用高成本高安全性的大型数据库***。这种异种数据库同时使用的情况在许多***集成的方案与实施中屡见不鲜。于是在进行***中间件的开发时,如何连通各个异构数据库并进行开发,就成了令人关注的问题。目前各种中间件开发者都是采用预先定义多个数据源,然后根据应用需求切换到不同的数据源下进行数据操作。
然而这种技术主要存在两个问题:1、需要针对每个异构数据源的执行操作命令进行相应封装,大大增加了代码量和工作量;2、开发者需要对各种异构数据源同时具有相对程度的认知才能保证代码质量和***质量。
发明内容
本发明的目的在于,提供一个基于Java语言的支持MySQL和Oracle数据库的持久化操作工具,以解决上述技术问题的至少一个。
根据本发明的一个方面,提供了一种支持多类型数据库操作的集成接口的实现方法,包括:
A、接收应用单元传入的参数信息,包括数据源实例、数据表实体模型和操作指令;
B、根据存储的统一管理的已注册数据源信息,对于支持的数据源类型,从统一管理的多个分布式数据库集群中找到数据源实例的目标数据库;
C、把参数信息提供给目标数据库的操作指令结构化引擎进行处理,得到目标数据库的处理结果集;
D、将得到的目标数据库的处理结果集转换成应用项目单元可识别的统一格式的数据集,输出至应用项目单元;
E、创建支持多类型数据源操作的集成接口,为应用项目单元提供统一访问入口,通过步骤A至步骤D实现集成接口的功能。
在一些实施方式中,支持的数据源类型包括Oracle数据库和MySQL数据库。由此,通过集成接口,应用项目单元可实现对多种类型的数据库进行数据操作处理。
在一些实施方式中,其中步骤C包括:根据所提供的数据表实体模型找到目标数据库中对应的数据表;根据操作指令对对应的数据表进行操作,得到处理结果集。由此,可以目标数据库的操作指令结构化引擎可以对应用项目单元传入的实体类型参数信息进行解析,以生成相应的SQL,进行数据处理。
在一些实施方式中,其中参数信息还可以增加一个条件实体选项,步骤C包括:根据所提供的数据表实体模型找到目标数据库中对应的数据表;添加条件实体对对应的数据表的数据作进一步筛选;根据操作指令对筛选的对应的数据表进行操作,得到处理结果集。由此,应用层可以灵活控制目标数据筛选条件,从而实现根据应用需求进行更好的程序扩展。
在一些实施方式中,其中步骤D中的应用项目单元可识别的统一格式的数据集是“伪XSQL”格式的数据集。由此,可以使客户端的开发者即应用项目单元能够直接运用xstl和xml格式的数据编写前端页面,而无需对传统的结果集进行循环和遍历解释渲染网页数据。
另外,本发明还公开了一种支持多类型数据库操作的集成接口***,包括:应用项目单元、集成接口和集成***。
其中,应用项目单元,包括数据处理模块,数据处理模块用于对数据源实例、数据表实体模型及操作指令参数信息进行设定,并通过调用集成接口进行数据库操作;
集成接口,包括对多类型数据源进行操作的功能模块,为应用项目单元的数据库操作提供统一的入口;
集成***,设置为实现集成接口中的功能模块,包括:
信息拦截模块,用于接收应用项目单元传入的参数信息:数据源实例、数据表实体模型和操作指令;
数据库统一管理中心,包括数据源筛选模块、数据库处理模块、独立的存储介质及至少一个数据源,存储介质用于存储已注册的数据源信息;数据源筛选模块设置为根据存储的统一管理的已注册数据源信息,对于支持的数据源类型,从统一管理的多个分布式数据库集群中找到数据源实例的目标数据库;数据库处理模块设置为把参数信息提供给目标数据库的操作指令结构化引擎进行处理,得到目标数据库的处理结果集,输出至应用项目单元;
数据转换模块,设置为将得到的目标数据库的处理结果集转换成应用项目单元可识别的统一格式的数据集。
在一些实施方式中,支持的数据源类型包括Oracle数据库和MySQL数据库。由此,通过集成接口,应用项目单元可实现对多种类型的数据库进行数据操作处理。
在一些实施方式中,其中数据库处理模块包括:数据表映射单元,用于根据所提供的数据表实体模型找到目标数据库中对应的数据表;数据操作单元,用于根据操作指令对对应的数据表进行操作,得到处理结果集。由此,可以目标数据库的操作指令结构化引擎可以对应用项目单元传入的实体类型参数信息进行解析,以生成相应的SQL,进行数据处理。
在一些实施方式中,其中应用项目单元发送的参数信息可以增加一个条件实体选项,其中数据库处理模块包括:数据表映射单元,用于根据所提供的数据表实体模型找到目标数据库中对应的数据表;数据筛选单元,用于添加条件实体以对对应的数据表中的数据作进一步筛选;数据操作单元,用于根据操作指令对筛选的对应的数据表进行操作,得到处理结果集。由此,还可以具有方便应用层灵活控制目标数据筛选条件,方便根据应用需求进行程序扩展的效果。
在一些实施方式中,应用项目单元采用“伪XSQL”格式的数据集作为统一格式的数据集。应用项目通过本发明提供的工具可以对目标数据库直接执行操作而无需要预先知道数据库的类型,由此衍生出独有的数据库操作语言,在本发明中称为“伪XSQL”,其原型参照了目前流行的“XSQL”实现可扩展结构化查询。其中,对“伪XSQL”格式的数据集的解释如下:
XSQL是一门庞大而且灵活的Oracle数据库操作语言,开发者可以利用它来执行对数据库的操作,甚至可以执行PL/SQL块。正因为其灵活性,在Oracle数据库开发领域被广泛运用。但是,XSQL却只提供给单独的一个(Oracle)数据库领域。伪XSQL就是打破这个领域界限,使XSQL语言能够应用到更广泛的数据库领域中。伪XSQL运用DOM4j技术,将查询的结果集构造成一个个parameter,再放回parameters节点中,最后使用request作为根节点封装,形成符合XSQL(xsql:request)格式的数据集。由此可知,伪XSQL原型参照了XSQL,但其只支持通过服务端回传给客户端的单向输出,并未能完全符合XSQL的双向输入输出标准,因而本发明中将其称为“伪XSQL”。实现这一单向标准足以使客户端的开发者能够直接运用xstl和xml格式的数据编写前端页面,而无需对传统的结果集进行循环和遍历解释渲染网页数据。
通过本发明的方法和***,应用项目单元只需根据数据访问需求访问集成接口,即可得到需要的数据处理结果,而不需要在应用项目单元对各个数据源分别配置逐个访问,弱化了应用项目和数据库的耦合性,促使项目解耦,扩展更加灵活。同时,也避免了对研发人员的数据库领域知识的严苛要求,便于其更关注业务模型。
附图说明
图1为本发明一实施方式的支持多类型数据库操作的集成接口***示意图;
图2为本发明一实施方式的支持多类型数据库操作的集成接口的实现方法的流程示意图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
图1示意性的显示了根据本发明一种实施方式的支持多类型数据库操作的集成接口***。如图1所示,该***包括:应用项目单元101、集成接口102、及集成***103。
其中,集成接口102通过其内定义的数据库操作功能模块,对外提供统一的开放的对多类型数据源进行操作的入口。集成***103为集成接口102的数据库操作功能模块提供实际的处理方案;应用项目单元101通过调用集成接口102的数据库操作功能模块,利用集成***103的处理方案,实现对数据源的数据库操作。
如图1所示,集成***103中包括信息拦截模块1031、数据库统一管理中心1032以及数据转换模块1033。信息拦截模块1031使用spring事务管理对应用项目单元101传入的数据源实例、数据表实体模型、条件实体及操作指令参数信息进行拦截,并将参数信息提供给数据源统一管理中心1032。数据库统一管理中心1032包括数据源筛选模块10321、数据库处理模块10322、独立的存储介质10323及至少一个数据源10324。通过其独立的存储介质10323存储已经注册的数据源10324的信息,并对已经注册的多个相同或不同类型的数据源10324的信息进行统一管理,对外提供数据库服务。相对于传统的一个数据源一个配置文件,在本申请中,统一管理则是对多个不同类型的数据源信息,将所有的数据源信息都存储在管理中心的独立存储介质10323上,通过数据源统一管理中心1032进行相应数据源类型的匹配就可以进行数据库操作。
上述方式中,数据库统一管理中心1032采用独立的存储介质10323,即不使用已有的数据库作为存储介质,而是使用独立于数据库集群的缓存介质,由此能够使数据库统一管理中心对数据库的管理功能独立于数据库自身的存储功能,避免发生数据库功能的混淆,降低自我维护机制设计难度。
数据源筛选模块10321根据数据源实例的调用地址的信息判断数据源实例是否是统一管理中心1032的独立存储介质10323上存储的已经注册的数据源信息。如果是已经注册的数据源即是支持的类型,就从存储的已注册的数据源10324中找出数据源实例对应的目标数据库,启动数据库处理模块10322。数据库处理模块10322中包括数据表映射单元103221、数据筛选单元103222和数据操作单元103223。数据表映射单元103221根据数据表实体模型与数据表的映射关系,从目标数据库中找到相应的数据表。数据筛选单元103222根据条件实体对数据表中的数据设定筛选条件。数据操作单元103223则对目标数据库进行操作指令的处理。由此,目标数据库调用操作指令结构化引擎就可以把参数信息解析成SQL并执行以得到目标数据库的处理结果集。
应用项目单元101中包含数据处理模块1011。在需要进行数据库操作时,应用项目单元101只需在数据处理模块1011中对数据源实例、数据表实体模型、条件实体和操作指令信息的内容进行设定,以设置需要调用的集成接口102、需要进行数据操作的目标数据库及数据表和需要执行的数据库操作命令,然后直接调用集成接口102的数据库操作功能模块,就能根据所设定的数据源实例、数据表实体模型、条件实体和操作指令信息的内容进行数据操作,并得到数据处理结果。
例如,在本实施例中假设创建有名称为AladdinDataCenter的集成接口以为应用项目单元101提供数据库操作的统一入口服务,在应用项目单元101的数据源实例配置文件中定义以下实例,通过serviceInterface属性将数据源实例与集成接口102关联起来:
则在数据处理模块1011中,应用项目单元101通过以下方式注入数据源实例:
Resource(name="DBEnter")
public AladdinDataCenter dbEnter;
在通过数据源实例dbEnter进行数据库操作时,就默认使用其配置文件中关联的集成接口AladdinDataCenter进行数据库访问。
同时,假设在数据源实例对应的数据库中定义有表名为“ucenter_access”的数据表,在数据处理模块1011中,应用项目单元101通过以下方式定义该数据表的实体模型:
AladdinTable(name="ucenter_access")
public class Access{…}
Access ac=new Access();
在应用项目单元101中,就可以将对数据表的操作转化为对数据实体的操作,解放在应用开发中研发人员繁琐的数据处理压力。
之后,根据需要对数据库进行的操作指令,数据源实例通过serviceInterface这个属性的配置就可以调用本例中名为AladdinDataCenter的集成接口102,从而实现对数据源实例对应的目标数据库中的名为“ucenter_access”的数据表的数据处理操作。由此,应用项目单元101不需要知道数据源类型,也不需要进行数据库连接配置,只需在数据源实例配置文件中定义与集成接口102(例如AladdinDataCenter)相关联的数据源实例,即可通过在数据处理模块1011中注入数据源实例实现数据库操作。具体的操作处理由实现集成接口102的集成***103完成。应用项目单元101只调用集成接口102不需要关心具体的实现过程。例如当需要入库时,dbEnter通过操作指令insert:dbEnter.insert(ac);就可以调用集成接口AladdinDataCenter,实现***一个新的数据实体ac到数据源实例对应的目标数据库中的相应数据表ucenter_access中。
进一步的,可以根据应用项目单元101的数据需求,对数据表中的数据设置进行筛选的条件。具体方式如下:
创建条件实体:DataConditions condition=new DataConditions();
根据用户的数据需求,也就是应用项目单元的需求,添加筛选条件:
condition.setNamed(true);
condition.setPage(page);
condition.setSize(size);
condition.addSort("sort",DataOrder.ASC);
condition.getConditionKeys().add("userId=:userId");
condition.getConditionKeys().add("appId=:appId");
condition.getConditionKeys().add("roles=:roles");
condition.getConditionParams().put("userId",ac.getUserId());
condition.getConditionParams().put("appId",ac.getAppId());
condition.getConditionParams().put("roles",ac.getRoles());
对数据源实例进行条件实体的设定:dbEnter.setConditions=condition;
之后,数据源实例通过操作指令调用相应的集成接口102,应用项目单元101即可实现数据库操作。例如需要对数据库进行查询时,使用操作指令query调用集成接口102的查询功能:List<Account>ds=dbEnter.query(ac);应用项目单元101即可得到返回的满足所设定的数据源实例、数据表实体模型、条件实体和操作指令信息的内容的可识别格式的数据集ds,而对于具体处理过程,应用项目单元101并不知道也无需知道。可见,通过提供的集成接口102,应用项目单元101与数据库实现了解耦,开发人员无需具备很强的数据库领域知识,只要根据提供的接口进行调用即可满足数据处理需求。
当应用项目单元101通过dbEnter.query(ac)调用集成接口102时,集成接口102就自动找到实现其接口方法的集成***103,由集成***103的信息拦截模块1031通过spring事务管理拦截到应用项目单元101的数据处理模块1011中根据应用需求设定的数据源实例dbEnter、数据表实体模型ac、条件实体condition以及操作指令query信息,并将参数信息提供给数据库统一管理中心1032进行数据源类型匹配和具体的数据库处理。数据源筛选模块10321根据数据源实例dbEnter的serviceUrl值,查看其是否是数据库统一管理中心1032对外提供的数据库服务,即是否是存储介质10323上存储的已经注册的数据源10324。如果是,说明数据源实例dbEnter所对应的数据源类型已经注册,即是支持的数据源类型。然后需根据serviceUrl和统一管理中心1032已经注册的数据源信息中的数据库名,找到对应的目标数据库。接着,数据库处理模块10322把ac提交数据表映射单元103221,以根据数据表实体模型与数据表的映射关系,从目标数据库中找到相应的数据表。把condition提交给数据筛选单元103222,以根据条件实体对数据表中的数据设定筛选条件。把query指令提交给数据操作单元103223,以确定对目标数据库进行的操作处理。由此,目标数据库的操作指令结构化引擎把参数信息解析为相应的SQL语句并执行,从而得到数据表实体模型ac对应的表名为ucenter_access的数据表中满足condition条件的处理结果集。
之后,由数据转换模块1033运用DOM4j技术,将查询的处理结果集构造成一个个parameter,再放回parameters节点中,最后使用request作为根节点封装,形成符合XSQL(xsql:request)格式的数据集,返回给应用项目单元。例如在目标数据库中查到一个与ac匹配的结果有以下属性:lastname字段的值为dongwen、job字段的值为coder、firstname属性的值为chen,则通过运用DOM4j技术,将这个查询结果转换为以下格式返回给应用项目单元:
<request>
<parameters>
<lastname>dongwen</lastname>
<job>coder</job>
<firstname>chen</firstname>
</parameters>
</request>
由此,应用项目单元101能够直接运用xstl和xml编写前端页面,而无需对传统的结果集进行循环和遍历解释渲染网页数据。这种方式的数据集原型参照了XSQL,但其只支持通过服务端回传给客户端的单向输出,并未能完全符合XSQL的双向输入输出标准,因而本发明中将其称为“伪XSQL”。
集成***103通过以上方式就实现了集成接口102的数据库操作功能模块,而应用项目单元101不用关心集成***103是怎样实现数据库操作的,只需要利用集成接口102这个访问入口,就可以得到需要的数据处理结果。由此,弱化了应用项目和数据库的耦合性,开发人员也不用具备很强的数据库知识,只需要调用已定义好的接口即可。
图2为本发明一种实施方式的支持多类型数据库操作的集成接口的实现方法的流程图。如图2所示,该方法包括:
步骤S201:接收应用项目单元传来的数据源实例、数据表实体模型、
条件实体和操作指令这些参数信息。
需要注意的是,参数信息中的条件实体是可选项,如果应用项目单元不需要设定数据筛选的条件,传入的条件实体的值可以为空。这种情况下,就不会对数据表数据作进一步筛选,而是直接根据操作指令的内容对数据库进行相应操作得到处理结果。
步骤S202:进行数据源类型筛选。
根据在数据源统一管理中心已经注册的数据源信息,判断传入的数据源实例是否是***已经支持的数据源类型。如果统一管理中心存储的已经注册的数据源信息列表中不存在数据源实例对应的数据源类型,则直接返回异常信息,由集成接口将返回结果交给应用项目单元处理;如果统一管理中心存储的已经注册的数据源信息列表中存在数据源实例对应的数据源类型,则从该数据源类型对应的纳入统一管理的多个分布式数据库集群中找到数据源实例对应的目标数据库。
步骤S203:目标数据库的操作指令结构化引擎生成SQL语句。
找到目标数据库之后,数据源统一管理中心会将数据表实体模型、条件实体和操作指令信息分发给实例目标数据库,由目标数据库的数据库操作指令结构化引擎生成SQL语句。例如当数据源实例对应的数据源类型是Oracle,则由Oracle数据库的操作指令结构化引擎将参数信息解析为其可识别的SQL语句,如果是MySQL则由MySQL数据库的操作指令结构化引擎将参数信息解析为其可识别的SQL语句。
步骤S204:查询目标数据库得到处理结果集。
目标数据库执行生成的SQL语句得到处理结果集,并将处理结果集返回给集成***进行数据转换处理。其中,目标数据库在执行生成的SQL语句时,会根据数据表实体模型描述的表名及表关联关系进行数据表反射,找到目标数据库中对应的需要进行操作的数据表,然后根据条件实体的内容对数据表的数据作进一步筛选,最终根据操作指令的内容对数据表进行相应操作得到处理结果。
步骤S205:数据转换。
集成***接收到目标数据库返回的ResultSet对象的处理结果集,通过运用DOM4j技术对结果集进行XML格式的转换,将查询的结果集构造成一个个parameter,再放回parameters节点中最后使用request作为根节点封装,形成符合XSQL(xsql:request)格式的数据集返回给应用项目单元。由于XSQL是单独提供给Oracle数据库领域的符合双向输入输出标准的数据库操作语言,而本发明中形成的符合XSQL(xsql:request)格式的数据集是只支持通过服务端回传给客户端的单向输出的跨数据库领域的结果集,其参考了XSQL实现可扩展结构化查询,故在本发明中我们将其命名为“伪XSQL”。
通过以上方式即可将数据库处理结果集转换为“伪XSQL”的结果集。即如上文所述,运用DOM4j技术对结果集进行XML格式的转换,将查询的结果集构造成一个个parameter,再放回parameters节点中最后使用request作为根节点封装,形成符合XSQL(xsql:request)格式的数据集。由此,可以使客户端的开发者能够直接运用xstl和xml编写前端页面,而无需对传统的结果集进行循环和遍历解释渲染网页数据。
步骤S206:将转换后的数据集作为返回结果返回。
数据转换处理完成后,即得到应用项目单元可识别的“伪XSQL”语言格式的数据集,集成***会将该结果通过集成接口返回给应用单元进行回显或处理。
集成***通过上述步骤1至6实现集成接口的对多类型数据库操作的功能,通过集成接口为应用项目单元提供支持多类型数据库操作的服务。集成接口通过自动调用集成***的实现方案,为应用单元提供统一的访问入口,实现应用项目和数据库的解耦。
在实际操作中,应用单元只需要使用提供的接口,注入数据源实例,并根据已定义的数据实体与数据表名的映射关系创建数据表实体模型,根据应用需求设定条件实体,再由数据源实例直接调用所需的数据库操作指令,即可接入集成接口,将数据源实例、数据表实体模型、条件实体及操作指令信息传入。集成接口接收到参数信息,即调用其底层实现类集成***进行步骤1到6的处理得到返回结果交给应用项目单元回显或处理。
通过生成支持多类型数据库的操作的集成接口,可以实现对目标数据库直接执行操作而不需要预先知道数据库的类型。即,仅需要创建集成接口,并由集成***实现其功能,便可实现应用项目单元对不同类型数据库的统一访问。应用项目单元无需关心数据源和数据库类型,也不用对处理结果进行转换处理。数据源的安全改动、性能改动等一系列行为均不影响应用项目单元的正常运行,很好的弱化了应用项目和数据库的耦合性,便于项目解耦,且使项目扩展更加灵活,同时也免除了对研发人员在数据库领域知识方面的严苛要求。
上述实施方式的描述仅是出于说明本发明的构思的目的而给出的一些示例。对于本领域的普通技术人员来说,在在理解上述实施方式及其中包含的发明构思的基础上,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (10)

1.支持多类型数据库操作的集成接口的实现方法,包括:
A、接收应用项目单元传入的参数信息,包括数据源实例、数据表实体模型和操作指令;
B、根据存储的统一管理的已注册数据源信息,对于支持的数据源类型,从统一管理的多个分布式数据库集群中找到所述数据源实例的目标数据库;
C、把所述的参数信息提供给所述目标数据库的操作指令结构化引擎进行处理,得到所述目标数据库的处理结果集;
D、将得到的所述目标数据库的处理结果集转换成应用项目单元可识别的统一格式的数据集,输出至所述应用项目单元;
E、创建支持多类型数据源操作的集成接口,为应用项目单元提供统一访问入口,通过所述步骤A至步骤D实现所述集成接口的功能。
2.根据权利要求1所述的方法,其中所述支持的数据源类型包括MySQL和Oracle。
3.根据权利要求1所述的方法,其中所述步骤C包括:
根据所提供的数据表实体模型找到所述目标数据库中对应的数据表;
根据操作指令对所述对应的数据表进行操作,得到所述处理结果集。
4.根据权利要求1所述的方法,其中所述参数信息还包括条件实体,所述步骤C包括:
根据所提供的数据表实体模型找到所述目标数据库中对应的数据表;
添加条件实体对所述对应的数据表的数据作进一步筛选;
根据操作指令对所述筛选的对应的数据表进行操作,得到所述处理结果集。
5.根据权利要求1至4任一项所述的方法,其中所述步骤D中的所述应用项目单元可识别的统一格式的数据集是“伪XSQL”格式的数据集。
6.支持多类型数据库操作的集成接口***,包括:
应用项目单元,包括数据处理模块,所述数据处理模块用于对数据源实例、数据表实体模型及操作指令参数信息进行设定;
集成接口,包括对多类型数据源进行操作的功能模块,为应用项目单元的数据库操作提供统一的入口;
集成***,设置为实现集成接口的功能,包括:
信息拦截模块,用于接收应用项目单元传入的参数信息:数据源实例、数据表实体模型和操作指令;
数据库统一管理中心,包括数据源筛选模块、数据库处理模块、独立的存储介质及至少一个数据源,其中,
所述存储介质用于存储已注册的数据源信息,
所述数据源筛选模块设置为根据存储的统一管理的已注册数据源信息,对于支持的数据源类型,从统一管理的多个分布式数据库集群中找到所述数据源实例的目标数据库;所述数据库处理模块设置为把所述的参数信息提供给所述目标数据库的操作指令结构化引擎进行处理,得到所述目标数据库的处理结果集,输出至所述应用项目单元;和
数据转换模块,设置为将得到的所述目标数据库的处理结果集转换成应用项目单元可识别的统一格式的数据集。
7.根据权利要求6所述的***,其中所述支持的数据源类型包括MySQL和Oracle。
8.根据权利要求6所述的***,其中所述数据库处理模块包括:
数据表映射单元,用于根据所提供的数据表实体模型找到所述目标数据库中对应的数据表;
数据操作单元,用于根据操作指令对所述对应的数据表进行操作,得到所述处理结果集。
9.根据权利要求6所述的***,其中所述参数信息还包括条件实体,所述数据库处理模块包括:
数据表映射单元,用于根据所提供的数据表实体模型找到所述目标数据库中对应的数据表;
数据筛选单元,用于添加条件实体对所述对应的数据表中的数据作进一步筛选;
数据操作单元,用于根据操作指令对所述筛选的对应的数据表进行操作,得到所述处理结果集。
10.根据权利要求6至9任一项所述的***,其中所述应用项目单元采用“伪XSQL”格式的数据集作为统一格式的数据集。
CN201510058463.8A 2015-02-04 2015-02-04 支持多类型数据库操作的集成接口的实现方法及*** Active CN104573115B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510058463.8A CN104573115B (zh) 2015-02-04 2015-02-04 支持多类型数据库操作的集成接口的实现方法及***
PCT/CN2015/084810 WO2016123920A1 (zh) 2015-02-04 2015-07-22 支持多类型数据库操作的集成接口的实现方法及***
US15/008,890 US20160224667A1 (en) 2015-02-04 2016-01-28 Method and system of implementing an integrated interface supporting operation in multi-type databases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510058463.8A CN104573115B (zh) 2015-02-04 2015-02-04 支持多类型数据库操作的集成接口的实现方法及***

Publications (2)

Publication Number Publication Date
CN104573115A true CN104573115A (zh) 2015-04-29
CN104573115B CN104573115B (zh) 2019-03-22

Family

ID=53089177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510058463.8A Active CN104573115B (zh) 2015-02-04 2015-02-04 支持多类型数据库操作的集成接口的实现方法及***

Country Status (3)

Country Link
US (1) US20160224667A1 (zh)
CN (1) CN104573115B (zh)
WO (1) WO2016123920A1 (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理***
CN105808776A (zh) * 2016-03-29 2016-07-27 中国建设银行股份有限公司 一种分布式数据库的数据管理***及方法
WO2016123920A1 (zh) * 2015-02-04 2016-08-11 新余兴邦信息产业有限公司 支持多类型数据库操作的集成接口的实现方法及***
CN106469168A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据集成***中多类型数据处理的方法及装置
CN106991196A (zh) * 2017-05-02 2017-07-28 山东浪潮通软信息科技有限公司 一种通用的数据追溯方法及***
CN107169032A (zh) * 2017-04-17 2017-09-15 北京五八信息技术有限公司 数据库操作方法及数据库服务器
CN107463709A (zh) * 2017-08-21 2017-12-12 北京奇艺世纪科技有限公司 一种基于多数据源的etl处理方法及装置
CN107480202A (zh) * 2017-07-18 2017-12-15 湖南大学 一种用于多并行处理框架的数据处理方法及装置
CN108519987A (zh) * 2018-02-24 2018-09-11 国家计算机网络与信息安全管理中心 一种数据持久化方法和装置
CN108628887A (zh) * 2017-03-20 2018-10-09 福建天晴数码有限公司 一种获取表格数据的方法及***
CN108733720A (zh) * 2017-04-24 2018-11-02 北京京东尚科信息技术有限公司 多数据库类型的sql查询的在线校验方法和校验***
CN109446251A (zh) * 2018-09-04 2019-03-08 北京睿企信息科技有限公司 分布式人工智能应用开发的***及方法
CN110162544A (zh) * 2019-05-30 2019-08-23 口碑(上海)信息技术有限公司 异构数据源数据获取方法及装置
CN111008211A (zh) * 2019-12-06 2020-04-14 北京百分点信息科技有限公司 可视化接口的创建方法、装置、可读存储介质及电子设备
CN111078801A (zh) * 2019-12-28 2020-04-28 安徽微沃信息科技股份有限公司 一种双数据源之间的双向同步数据***
CN111125209A (zh) * 2019-11-25 2020-05-08 集奥聚合(北京)人工智能科技有限公司 一种支持多元异构类型数据的接入配置***
CN111488391A (zh) * 2020-04-09 2020-08-04 中国银行股份有限公司 数据处理方法及装置
CN111984657A (zh) * 2020-09-04 2020-11-24 河北幸福消费金融股份有限公司 数据归集方法、装置、存储介质及计算机设备
CN113190513A (zh) * 2021-05-14 2021-07-30 广联达科技股份有限公司 一种数据集成***及方法
CN113204592A (zh) * 2021-05-20 2021-08-03 远景智能国际私人投资有限公司 物联网场景下的数据处理方法、***、装置及存储介质
CN114764326A (zh) * 2022-03-30 2022-07-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和***

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558688B1 (en) * 2015-04-15 2020-02-11 Arimo, LLC Natural language interface for data analysis
CN106383914B (zh) * 2016-10-21 2020-03-17 广东亿迅科技有限公司 基于云呼叫平台实现多数据源配置的方法及其***
CN108279983A (zh) * 2016-12-30 2018-07-13 北京国双科技有限公司 一种接口返回结果的处理方法及装置
CN108268531A (zh) * 2016-12-30 2018-07-10 上海华讯网络***有限公司 动态定义配置管理数据库的配置***及方法
CN107168874B (zh) * 2017-05-12 2021-05-18 郑州云海信息技术有限公司 一种监测项的添加方法、装置及***
CN107357831A (zh) * 2017-06-21 2017-11-17 信雅达***工程股份有限公司 可配置的流程实例数据分布式存储方法及***
CN107609008A (zh) * 2017-07-26 2018-01-19 郑州云海信息技术有限公司 一种基于Apache Sqoop的从关系型数据库到Kafka的数据导入装置及方法
CN108345691B (zh) * 2018-03-15 2021-03-19 鼎富智能科技有限公司 数据源通用处理框架构建方法、数据源处理方法及装置
CN108664604B (zh) * 2018-05-09 2021-08-24 四川华创世纪科技有限公司 一种实现数据最小拆分储存和业务调用呈现的方法
CN108764674B (zh) * 2018-05-16 2021-02-09 普信恒业科技发展(北京)有限公司 一种基于规则引擎的风险控制方法和装置
CN109614423A (zh) * 2018-11-27 2019-04-12 苏州浪潮智能软件有限公司 一种基于Winform实现微信支付宝自动对账方法
CN111949650A (zh) * 2019-05-15 2020-11-17 华为技术有限公司 一种多语言融合查询方法及多模数据库***
CN110825795B (zh) * 2019-09-18 2023-10-13 平安科技(深圳)有限公司 访问数据库的方法、装置、设备及计算机可读存储介质
CN110930069A (zh) * 2019-12-10 2020-03-27 航天新长征大道科技有限公司 数据采集打包方法和***,可读存储介质和计算机
CN113010488B (zh) * 2019-12-19 2024-05-28 阿里巴巴集团控股有限公司 数据获取方法、装置、设备和存储介质
CN111046033B (zh) * 2019-12-24 2023-08-29 中国银行股份有限公司 一种数据处理方法及***
CN112947900B (zh) * 2020-01-17 2023-12-29 深圳市明源云链互联网科技有限公司 web应用开发方法、装置、服务器及开发终端
CN111475545A (zh) * 2020-04-02 2020-07-31 湖南赛吉智慧城市建设管理有限公司 用于智慧城市的城市基础数据库***
KR20210133588A (ko) * 2020-04-29 2021-11-08 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
CN115186016A (zh) * 2021-04-01 2022-10-14 中核武汉核电运行技术股份有限公司 一种基于核电工业互联网平台的数据集成方法
CN113239014A (zh) * 2021-05-18 2021-08-10 安翰科技(武汉)股份有限公司 维护用sql记录的管理装置及应用***
CN113076306A (zh) * 2021-06-07 2021-07-06 航天神舟智慧***技术有限公司 一种基于编目规则的数据资源自动归集方法与***
CN113489773B (zh) * 2021-06-30 2022-11-04 未鲲(上海)科技服务有限公司 数据接入方法、装置、设备及介质
CN114385733A (zh) * 2021-12-31 2022-04-22 上海柯林布瑞信息技术有限公司 Etl过程中数据模型统一创建方法和装置
CN115982211B (zh) * 2022-12-02 2023-09-26 北京凌云雀科技有限公司 基于云原生的MySQL数据查询分析方法及装置
CN116431718B (zh) * 2023-04-17 2024-06-14 珠海畅达网络技术有限公司 一种基于互联网的集成信息处理***及方法
CN116303475B (zh) * 2023-05-17 2023-08-08 吉奥时空信息技术股份有限公司 一种多源指标数据智能存储的管理方法及装置
CN117112538B (zh) * 2023-09-05 2024-07-23 中电金信软件有限公司 数据库操作方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080313A1 (en) * 2004-09-17 2006-04-13 Adriano Freire Midware system 10 and method
CN101196926A (zh) * 2007-12-29 2008-06-11 中国建设银行股份有限公司 一种数据库访问平台及其访问方法
CN101714157A (zh) * 2009-09-29 2010-05-26 金蝶软件(中国)有限公司 异构数据库报表生成方法、装置和异构数据库***
CN103761102A (zh) * 2014-01-26 2014-04-30 中国联合网络通信集团有限公司 一种统一数据服务平台及其实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573115B (zh) * 2015-02-04 2019-03-22 北京慧辰资道资讯股份有限公司 支持多类型数据库操作的集成接口的实现方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080313A1 (en) * 2004-09-17 2006-04-13 Adriano Freire Midware system 10 and method
CN101196926A (zh) * 2007-12-29 2008-06-11 中国建设银行股份有限公司 一种数据库访问平台及其访问方法
CN101714157A (zh) * 2009-09-29 2010-05-26 金蝶软件(中国)有限公司 异构数据库报表生成方法、装置和异构数据库***
CN103761102A (zh) * 2014-01-26 2014-04-30 中国联合网络通信集团有限公司 一种统一数据服务平台及其实现方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016123920A1 (zh) * 2015-02-04 2016-08-11 新余兴邦信息产业有限公司 支持多类型数据库操作的集成接口的实现方法及***
CN106469168A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据集成***中多类型数据处理的方法及装置
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理***
CN105404665B (zh) * 2015-11-12 2019-04-26 南威软件股份有限公司 一种json格式数据的查询管理***
CN105808776A (zh) * 2016-03-29 2016-07-27 中国建设银行股份有限公司 一种分布式数据库的数据管理***及方法
CN108628887A (zh) * 2017-03-20 2018-10-09 福建天晴数码有限公司 一种获取表格数据的方法及***
CN107169032A (zh) * 2017-04-17 2017-09-15 北京五八信息技术有限公司 数据库操作方法及数据库服务器
CN108733720A (zh) * 2017-04-24 2018-11-02 北京京东尚科信息技术有限公司 多数据库类型的sql查询的在线校验方法和校验***
CN106991196A (zh) * 2017-05-02 2017-07-28 山东浪潮通软信息科技有限公司 一种通用的数据追溯方法及***
CN106991196B (zh) * 2017-05-02 2020-05-05 浪潮通用软件有限公司 一种通用的数据追溯方法及***
CN107480202A (zh) * 2017-07-18 2017-12-15 湖南大学 一种用于多并行处理框架的数据处理方法及装置
CN107480202B (zh) * 2017-07-18 2020-06-02 湖南大学 一种用于多并行处理框架的数据处理方法及装置
CN107463709A (zh) * 2017-08-21 2017-12-12 北京奇艺世纪科技有限公司 一种基于多数据源的etl处理方法及装置
CN108519987A (zh) * 2018-02-24 2018-09-11 国家计算机网络与信息安全管理中心 一种数据持久化方法和装置
CN109446251A (zh) * 2018-09-04 2019-03-08 北京睿企信息科技有限公司 分布式人工智能应用开发的***及方法
CN110162544A (zh) * 2019-05-30 2019-08-23 口碑(上海)信息技术有限公司 异构数据源数据获取方法及装置
CN110162544B (zh) * 2019-05-30 2022-05-27 口碑(上海)信息技术有限公司 异构数据源数据获取方法及装置
CN111125209A (zh) * 2019-11-25 2020-05-08 集奥聚合(北京)人工智能科技有限公司 一种支持多元异构类型数据的接入配置***
CN111008211A (zh) * 2019-12-06 2020-04-14 北京百分点信息科技有限公司 可视化接口的创建方法、装置、可读存储介质及电子设备
CN111008211B (zh) * 2019-12-06 2023-04-11 北京百分点科技集团股份有限公司 可视化接口的创建方法、装置、可读存储介质及电子设备
CN111078801A (zh) * 2019-12-28 2020-04-28 安徽微沃信息科技股份有限公司 一种双数据源之间的双向同步数据***
CN111078801B (zh) * 2019-12-28 2022-11-25 安徽微沃信息科技股份有限公司 一种双数据源之间的双向同步数据***
CN111488391A (zh) * 2020-04-09 2020-08-04 中国银行股份有限公司 数据处理方法及装置
CN111984657A (zh) * 2020-09-04 2020-11-24 河北幸福消费金融股份有限公司 数据归集方法、装置、存储介质及计算机设备
CN111984657B (zh) * 2020-09-04 2023-07-25 河北幸福消费金融股份有限公司 数据归集方法、装置、存储介质及计算机设备
CN113190513A (zh) * 2021-05-14 2021-07-30 广联达科技股份有限公司 一种数据集成***及方法
CN113204592A (zh) * 2021-05-20 2021-08-03 远景智能国际私人投资有限公司 物联网场景下的数据处理方法、***、装置及存储介质
CN113204592B (zh) * 2021-05-20 2023-07-21 远景智能国际私人投资有限公司 物联网场景下的数据处理方法、***、装置及存储介质
CN114764326A (zh) * 2022-03-30 2022-07-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和***
CN114764326B (zh) * 2022-03-30 2023-09-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和***

Also Published As

Publication number Publication date
CN104573115B (zh) 2019-03-22
WO2016123920A1 (zh) 2016-08-11
US20160224667A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
CN104573115A (zh) 支持多类型数据库操作的集成接口的实现方法及***
US11354314B2 (en) Method for connecting a relational data store&#39;s meta data with hadoop
CN107451220B (zh) 一种分布式NewSQL数据库***
CN109087004B (zh) 一种基于领域模型的公共工作流引擎***
CN103546571B (zh) 一种平台即服务实现方法及装置
WO2016123921A1 (zh) 基于Http协议的多数据源的数据处理方法及***
US9146955B2 (en) In-memory, columnar database multidimensional analytical view integration
US8095570B2 (en) Decorated model architecture for efficient model-driven application development
US8904381B2 (en) User defined data partitioning (UDP)—grouping of data based on computation model
WO2017143844A1 (zh) 数据操作方法和数据管理服务器
CN105915588B (zh) 一种基于数据虚拟化的混合云计算管理***
CN105824957A (zh) 分布式内存列式数据库的查询引擎***及查询方法
CN102254021A (zh) 基于虚拟机管理***的数据库构建方法
CN105808776A (zh) 一种分布式数据库的数据管理***及方法
CN109241054A (zh) 一种多模型数据库***、实现方法以及服务器
EP4390717A1 (en) Metadata management method, related apparatus, device, and storage medium
CN111966692A (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
CN108345691B (zh) 数据源通用处理框架构建方法、数据源处理方法及装置
CN103838781A (zh) 数据库访问方法及***
CN111090803A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN110532058B (zh) 容器集群服务的管理方法、装置、设备及可读存储介质
CN102215264B (zh) 一种支持多租户数据与服务定制运行的方法和装置
CN110737425A (zh) 一种计费平台***的应用程序的建立方法及装置
US10938797B2 (en) Customized expand data services supporting delta querying
US7325003B2 (en) Method and system for mapping datasources in a metadata model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190227

Address after: Room 20B, 20th Floor, Building No. 48, Zhichun Road, Haidian District, Beijing

Applicant after: HCR BEIJING CO., LTD.

Address before: 338000 New and High Technology Industrial Development Zone of Xinyu City, Jiangxi Province

Applicant before: Xinyu makes the country prosperous information industry company limited

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant