CN115905740A - 一种多数据源服务引擎接口互联方法 - Google Patents
一种多数据源服务引擎接口互联方法 Download PDFInfo
- Publication number
- CN115905740A CN115905740A CN202211605562.XA CN202211605562A CN115905740A CN 115905740 A CN115905740 A CN 115905740A CN 202211605562 A CN202211605562 A CN 202211605562A CN 115905740 A CN115905740 A CN 115905740A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- data source
- user
- information
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,具体为一种多数据源服务引擎接口互联方法。数据接口提供方通过数据源管理添加该接口所需要的数据源配置信息,以备后续开发数据接口时使用,接口提供方在可视化接口开发界面定义数据接口,定义接口URL字段、接口请求参数字段和SQL实现逻辑等字段;提供多数据源服务引擎,引擎致力于实现统一的关系型数据库(MySQL、Oracle、SqlServer等)、Mongodb、HBase等各种异构数据源稳定高效的DML,DDL,DCL管理执行功能,使得用户不再关注于各种异构数据源之间繁琐的驱动配置,而只需要关注利用数据源的DML,DDL,DCL等来实现业务开发。同时服务引擎也提供了统一的功能接口,在不需要编写任何DML,DDL,DCL语句的情况下实现返回数据源表视图信息,返回数据源表列信息等功能。
Description
技术领域
本发明涉及数据处理技术领域,具体为一种多数据源服务引擎接口互联方法。
背景技术
目前用户在对外提供多类型数据源的数据服务的时候,往往需要通过代码层面实现,例如现在主流的Spring Boot构建Restful风格的API,用户需要在持久层编写与数据库的交互逻辑,在业务层编写接口业务逻辑,在控制层实现接口请求和响应控制,最后将程序编译打包部署供用户调用,在面对需要提供不同数据源的数据接口时,还需要对后端代码进行多类型数据源配置,开发周期较长。对代码进行多次二次开发,也增加了代码不稳定风险。
如果用户不具备接口开发能力,用户则需要寻找第三方公司合作,这样不但增加了额外的开支,也浪费了宝贵的时间。在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术只能满足对主流关系型数据源类型,例如mysql、oracle进行适配。本发明在满足适配主流关系型数据源的基础上,还支持对presto、neo4j、hive、elasticsearch、达梦等关系型或非关系型数据库的适配。
用户无法做到真正的零代码,用户在使用的过程中需要编写SQL语句,并且不可以对视图进行操作,本发明设计了接口配置化模式,用户无需编写SQL语句,仅需要在列表中选择字段、条件,填写阈值,***自动生成SQL语句,这样使用者可以将更多的精力集中在业务设计上。
发明内容
本发明的目的在于提供一种安全高效的零代码接口开发方法、多数据源服务引擎、零代码数据接口开发能力。解耦数据服务能力的复杂度,适配Mysql、Oracle、SQLserver、presto高斯、达梦等主流的关系型数据库,MongoDB、neo4j、elasticsearch等非关系型数据库。本发明设计了向导模式,无开发能力的人员可通过接口配置化模式快速发布服务接口,节约开发时间,提升效率。
一种多数据源服务引擎接口互联方法,包括如下步骤:
步骤一、数据接口提供方根据数据说对应的数据源类型,在数据源管理界面新建数据源,用户填写数据源主机名IP地址、端口号、数据库名称、用户名和密码,其中连接URL为自动生成;
步骤二、用户对接口开发设置,数据接口使用到数据库查询,接口开发依赖于数据源管理中的数据,数据源管理包括:搜索、重置、回收、生成、详情、修改、数据定义;
生成进入服务生成页面,用户填写接口的基本信息,包括接口名称、请求类型、接口访问地址;
步骤三、数据源选择,选择数据源类型和数据源后,手动输入SQL查询语句到"执行SQL"输入框或选择向导,向导为SQL查询语句生成需要查询的数据,选择需要查询的条件并输入值;
步骤四、参数定义,用户完成接口入参信息编写,步骤三已设定的入参信息,在该接口页面自动填充,用户无法对该数据进行删除;
步骤五、返回结果定义,用户设定接口返回结果的数据类型,数据类型支持application/json、text/html、text/plain、text/xml、application/xml响应类型,对于敏感信息,用户敏感信息对响应结果进行加密,使用调用服务接口的appId作为秘钥对响应数据进行AES加解密;
步骤六:上传接口说明文档,接口提供方可上传接口的说明文档,用户后续的接口使用及二次开发;用户创建完数据接口后,便可在接口测试界面对创建的接口进行测试,按用户期望响应数据后,用户将接口发布,以供调用方使用。
所述步骤一中接口提供方在可视化接口开发界面定义数据接口,定义接口URL字段、接口请求参数字段和SQL实现逻辑等字段;所述URL字段用于定义所述接口的URL;所述接口请求参数字段用于定义所述接口对应的请求参数;所述SQL实现逻辑字段用于定义所述接口的功能对应的sql代码,所述sql代码具有预设的占位符,所述占位符与所述接口请求参数字段定义的请求参数一一对应。
所述步骤一接口调用者通过接口URL调用接口时,根据所述URL信息从接口配置表中获得与所述URL信息对应的接口配置信息,根据所述URL信息,从零代码数据接口开发***连接的应用数据库存储的接口配置表中获得与所述URL信息对应的接口配置信息。
本发明的有益效果:本发明的技术方案主要面向数据开发领域的接口(服务)开发者,在涉及需要操作多种类型数据源的场景下尤其适用,可以向数据开发者提供安全高效的使用体验。本发明实施例提供了一种可视化表单创建数据接口,对开发者提供了一致的开发体验,并且可以实时测试发布预览接口。
数据接口提供方通过数据源管理添加该接口所需要的数据源配置信息,以备后续开发数据接口时使用,接口提供方在可视化接口开发界面定义数据接口,定义接口URL字段、接口请求参数字段和SQL实现逻辑等字段;提供多数据源服务引擎,引擎致力于实现统一的关系型数据库(MySQL、Oracle、SqlServer等)、Mongodb、HBase等各种异构数据源稳定高效的DML,DDL,DCL管理执行功能,使得用户不再关注于各种异构数据源之间繁琐的驱动配置,而只需要关注利用数据源的DML,DDL,DCL等来实现业务开发。同时服务引擎也提供了统一的功能接口,在不需要编写任何DML,DDL,DCL语句的情况下实现返回数据源表视图信息,返回数据源表列信息等功能。
附图说明
图1为本发明接口互联示意图;
图2为向导模式业务架构示意图;
图3为接口调用流程图;
图4为服务引擎功能示意图;
图5数据源返回表视图uml序列图;
图6为多数据源引擎UML示意图。
具体实施方式
一种多数据源服务引擎接口互联方法,包括如下步骤:
步骤一、数据接口提供方根据数据说对应的数据源类型,在数据源管理界面新建数据源,用户填写数据源主机名IP地址、端口号、数据库名称、用户名和密码,其中连接URL为自动生成;
步骤二、用户对接口开发设置,数据接口使用到数据库查询,接口开发依赖于数据源管理中的数据,数据源管理包括:搜索、重置、回收、生成、详情、修改、数据定义;
生成进入服务生成页面,用户填写接口的基本信息,包括接口名称、请求类型、接口访问地址;
步骤三、数据源选择,选择数据源类型和数据源后,手动输入SQL查询语句到"执行SQL"输入框或选择向导,向导为SQL查询语句生成需要查询的数据,选择需要查询的条件并输入值;
步骤四、参数定义,用户完成接口入参信息编写,步骤三已设定的入参信息,在该接口页面自动填充,用户无法对该数据进行删除;
步骤五、返回结果定义,用户设定接口返回结果的数据类型,数据类型支持application/json、text/html、text/plain、text/xml、application/xml响应类型,对于敏感信息,用户敏感信息对响应结果进行加密,使用调用服务接口的appId作为秘钥对响应数据进行AES加解密;
步骤六:上传接口说明文档,接口提供方可上传接口的说明文档,用户后续的接口使用及二次开发;用户创建完数据接口后,便可在接口测试界面对创建的接口进行测试,按用户期望响应数据后,用户将接口发布,以供调用方使用。
所述步骤一中接口提供方在可视化接口开发界面定义数据接口,定义接口URL字段、接口请求参数字段和SQL实现逻辑等字段;所述URL字段用于定义所述接口的URL;所述接口请求参数字段用于定义所述接口对应的请求参数;所述SQL实现逻辑字段用于定义所述接口的功能对应的sql代码,所述sql代码具有预设的占位符,所述占位符与所述接口请求参数字段定义的请求参数一一对应。
所述步骤一接口调用者通过接口URL调用接口时,根据所述URL信息从接口配置表中获得与所述URL信息对应的接口配置信息,根据所述URL信息,从零代码数据接口开发***连接的应用数据库存储的接口配置表中获得与所述URL信息对应的接口配置信息。
结合实例具体说明如下:
其中接口配置信息还包括如下多个字段:接口名称定义项,用于定义数据接口的名称;接口访问路径定义项,用于自定义创建接口的访问路径;服务协议定义项,用于定义接口对应的服务协议;数据源类型定义项,用于定义提供接口数据的数据源对象类型;数据源定义项,用于定义提供接口数据的数据源标识;针对拥有SQL语言开发能力的用户,提供执行SQL定义项,用于定义接口服务器接收到sql请求后SQL语句的处理逻辑。测试功能,用于对定义的执行SQL进行在线测试,测试通过后方可进行进行后续操作。分页功能,用于对定义的SQL语句进行分页操作,在SQL语句的最后填充分页语句,对分页的参数预设占位符。针对不具备SQL语句开发能力的用户,用户可以使用向导功能,向导功能包括如下定义项:
表或视图选择项,用户只需要在下拉列表选择对应的表或视图,不需要通过SQL语句进行选择。返回字段选择项,用户在列表中选择想要返回的数据字段。查询条件选择项,查询条件列表包括字段名、是否必填、操作符、取值类型、数值字段,用户可以根据需求定义查询条件以入参输入或定义为固定值。请求参数定义项,用于定于通过请求协议像接口服务器发送的业务数据,支持param、header和body类型。返回结果定义包括:返回类型选择,返回结果加密,返回结果示例等,用于用户定义结果的返回结果。接口文档上传,用户可以上传接口的服务文档,以便结果调用者对接口能够有更清晰的理解。
提供一种多数据源服务引擎,引擎致力于实现统一的关系型数据库(MySQL、Oracle、SqlServer等)、Mongodb、HBase等各种异构数据源稳定高效的DML,DDL,DCL管理执行功能,使得用户不再关注于各种异构数据源之间繁琐的驱动配置,而只需要关注利用数据源的DML,DDL,DCL等来实现业务开发。同时服务引擎也提供了统一的功能接口,在不需要编写任何DML,DDL,DCL语句的情况下实现返回数据源表视图信息,返回数据源表列信息等功能。
服务引擎提供了下述六个核心功能:
数据源管理:对于各种异构数据库信息实体提供增删查改等功能,实体信息包括数据库用户名,密码,数据库url,数据库类型等。
连接池管理:利用druid对于注册到***中的数据源在被使用时进行分配,管理和释放数据库连接。
DML,DDL,DCL执行:根据客户端写入的DML,DDL,DCL等语句和数据源自动匹配数据库驱动执行语句返回结果信息。
SQL解析功能:利用数据库解析器解释异构数据源如何处理SQL语句,表的加载顺序,表是如何连接,以及索引使用情况。提供SQL优化参考信息。
日志管理:记录注册到***中的数据源执行的SQL语句的相关信息,包括执行内容,消耗时间等。方便客户端进行查看。
数据源类型管理:对于各种异构数据库类型信息实体提供增删查改等功能,实体信息包括类型名称,驱动类等。
提供一种零代码数据接口开发能力,用于向用户呈现网页形式的接口开发表单,所述接口开发表单用于通过表单的形式定义数据接口,针对不具备SQL语言开发能力的用户,提供向导模式,用户通过表单选择需要的字段和条件,该能力会自定生成执行的SQL语句,最后所述定义数据接口以接口配置表的形式存储于应用数据库中。用户可对开发的接口进行在线测试,测试接口是否按照用户期望响应数据,测试通过的接口便可进行发布,方便调用者使用。该能力的业务逻辑单独隔离与其他业务互不影响,方便其他业务***花费较短的时间成本引入该能力。
步骤三中数据源-入参/固定值使用说明:
如果选择【固定值】时,直接在"值"输入框输入条件值;
如果选择【入参】,则可以不在此页输入值,当有需要时直接在 "执行SQL"输入框中手动输入查询值,格式如:SELECT api_id, expire_time, status FROM t_app_authWHERE id = 1 and app_id != '#param{appId}' 。
数据源-分页使用说明:
类似于数据库分页查询;点击【分页】,***会自动生成分页语句"limit #param{start}, #param{length}" ,如SELECT name, id, version, status, api_type FROMt_service_api WHERE id > '#param{id}' limit #param{start}, #param{length},如此即完成了一条入参形式的分页查询语句。生成接口后,需要传{}中的参数以查询。例子中的查询语句接口生成后,在入参定义页面会自动生成相关的入参信息。
注意:入参形式的SQL查询语句不能直接测试,需要替换。如上例子应该写成SELECT name, id, version, status, api_type FROM t_service_api WHERE id >'#param{1}' limit 0, 2 再进行测试;目前SQL语句仅支持查询语句。
Claims (3)
1.一种多数据源服务引擎接口互联方法,其特征在于包括如下步骤:
步骤一、数据接口提供方根据数据说对应的数据源类型,在数据源管理界面新建数据源,用户填写数据源主机名IP地址、端口号、数据库名称、用户名和密码,其中连接URL为自动生成;
步骤二、用户对接口开发设置,数据接口使用到数据库查询,接口开发依赖于数据源管理中的数据,数据源管理包括:搜索、重置、回收、生成、详情、修改、数据定义;
生成进入服务生成页面,用户填写接口的基本信息,包括接口名称、请求类型、接口访问地址;
步骤三、数据源选择,选择数据源类型和数据源后,手动输入SQL查询语句到"执行SQL"输入框或选择向导,向导为SQL查询语句生成需要查询的数据,选择需要查询的条件并输入值;
步骤四、参数定义,用户完成接口入参信息编写,步骤三已设定的入参信息,在该接口页面自动填充,用户无法对该数据进行删除;
步骤五、返回结果定义,用户设定接口返回结果的数据类型,数据类型支持application/json、text/html、text/plain、text/xml、application/xml响应类型,对于敏感信息,用户敏感信息对响应结果进行加密,使用调用服务接口的appId作为秘钥对响应数据进行AES加解密;
步骤六:上传接口说明文档,接口提供方可上传接口的说明文档,用户后续的接口使用及二次开发;用户创建完数据接口后,便可在接口测试界面对创建的接口进行测试,按用户期望响应数据后,用户将接口发布,以供调用方使用。
2.根据权利要求1所述的一种多数据源服务引擎接口互联方法,其特征在于所述步骤一中接口提供方在可视化接口开发界面定义数据接口,定义接口URL字段、接口请求参数字段和SQL实现逻辑等字段;所述URL字段用于定义所述接口的URL;所述接口请求参数字段用于定义所述接口对应的请求参数;所述SQL实现逻辑字段用于定义所述接口的功能对应的sql代码,所述sql代码具有预设的占位符,所述占位符与所述接口请求参数字段定义的请求参数一一对应。
3.根据权利要求2所述的一种多数据源服务引擎接口互联方法,其特征在于所述步骤一接口调用者通过接口URL调用接口时,根据所述URL信息从接口配置表中获得与所述URL信息对应的接口配置信息,根据所述URL信息,从零代码数据接口开发***连接的应用数据库存储的接口配置表中获得与所述URL信息对应的接口配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605562.XA CN115905740A (zh) | 2022-12-15 | 2022-12-15 | 一种多数据源服务引擎接口互联方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605562.XA CN115905740A (zh) | 2022-12-15 | 2022-12-15 | 一种多数据源服务引擎接口互联方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905740A true CN115905740A (zh) | 2023-04-04 |
Family
ID=86480521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211605562.XA Pending CN115905740A (zh) | 2022-12-15 | 2022-12-15 | 一种多数据源服务引擎接口互联方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905740A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521155A (zh) * | 2023-07-05 | 2023-08-01 | 中博信息技术研究院有限公司 | 基于JSON描述动态生成Restful接口的方法 |
CN116560641A (zh) * | 2023-04-19 | 2023-08-08 | 上海百秋智尚网络服务有限公司 | 接口自动生成方法、装置、设备及存储介质 |
CN116594611A (zh) * | 2023-07-18 | 2023-08-15 | 浩鲸云计算科技股份有限公司 | 一种基于领域模型语言的零代码通用服务实现方法 |
CN116883444A (zh) * | 2023-08-02 | 2023-10-13 | 武汉理工大学 | 基于机器视觉和图像扫描的汽车损伤检测方法 |
CN117908848A (zh) * | 2024-02-01 | 2024-04-19 | 中国电子投资控股有限公司 | 一种统一sql语法可视化数据服务方法和装置 |
-
2022
- 2022-12-15 CN CN202211605562.XA patent/CN115905740A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560641A (zh) * | 2023-04-19 | 2023-08-08 | 上海百秋智尚网络服务有限公司 | 接口自动生成方法、装置、设备及存储介质 |
CN116521155A (zh) * | 2023-07-05 | 2023-08-01 | 中博信息技术研究院有限公司 | 基于JSON描述动态生成Restful接口的方法 |
CN116521155B (zh) * | 2023-07-05 | 2023-09-19 | 中博信息技术研究院有限公司 | 基于JSON描述动态生成Restful接口的方法 |
CN116594611A (zh) * | 2023-07-18 | 2023-08-15 | 浩鲸云计算科技股份有限公司 | 一种基于领域模型语言的零代码通用服务实现方法 |
CN116594611B (zh) * | 2023-07-18 | 2023-10-27 | 浩鲸云计算科技股份有限公司 | 一种基于领域模型语言的零代码通用服务实现方法 |
CN116883444A (zh) * | 2023-08-02 | 2023-10-13 | 武汉理工大学 | 基于机器视觉和图像扫描的汽车损伤检测方法 |
CN117908848A (zh) * | 2024-02-01 | 2024-04-19 | 中国电子投资控股有限公司 | 一种统一sql语法可视化数据服务方法和装置 |
CN117908848B (zh) * | 2024-02-01 | 2024-06-28 | 中国电子投资控股有限公司 | 一种统一sql语法可视化数据服务方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115905740A (zh) | 一种多数据源服务引擎接口互联方法 | |
US11308161B2 (en) | Querying a data source on a network | |
US6941298B2 (en) | System and method for providing result sets using EJB query language | |
US7693900B2 (en) | Querying of distributed databases using neutral ontology model for query front end | |
US8387030B2 (en) | Service adaptation definition language | |
US8661154B2 (en) | Managing objects using a client-server bridge | |
WO2016123920A1 (zh) | 支持多类型数据库操作的集成接口的实现方法及*** | |
US8726229B2 (en) | Multi-language support for service adaptation | |
US7480898B2 (en) | System and method for building full batch test environments | |
CN106934062A (zh) | 一种查询elasticsearch的实现方法及*** | |
US20070168324A1 (en) | Relational database scalar subquery optimization | |
CA2518902C (en) | System and method for query planning and execution | |
JP5600736B2 (ja) | データベース管理方法およびシステム | |
CN107679071B (zh) | 一种面向关系数据库的通用数据服务定制化封装方法 | |
US20180307692A1 (en) | Software application interface for mediating access to services of a centralized data store | |
US7640238B2 (en) | Query planning for execution using conditional operators | |
US9305032B2 (en) | Framework for generating programs to process beacons | |
Daquino et al. | Creating RESTful APIs over SPARQL endpoints using RAMOSE | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
CN102567517A (zh) | 发布数据库数据的装置和方法 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
WO2023164294A1 (en) | Query splitter for an inverted index datastore | |
Brauner et al. | Adaptative Matching of Database Web Services Export Schemas. | |
CN116756727B (zh) | 一种数据权限控制方法、装置、电子设备和存储介质 | |
US20220147568A1 (en) | Mapping expression generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |