一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网关的API开发方法及装置与流程

2022-06-05 20:01:29 来源:中国专利 TAG:

网关的api开发方法及装置
技术领域
1.本技术属于通信设备技术领域,尤其涉及一种网关的api开发方法及装置。


背景技术:

2.在微服务架构下,api(application programming interface,应用程序编程接口)网关封装了系统内部架构,可以为每个客户端提供一个定制的api。api网关负责服务请求路由、组合及协议转换,客户端的所有请求都首先经过api网关,然后由它将请求路由到合适的微服务,以实现诸如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理等功能。
3.目前,越来越多的企业都在往微服务架构转型,微服务架构具有以下特征:1)应用划分得更细导致接口服务数量大增。2)大部分微服务应用间集成采用的都是rest风格的协议。3)集成是微服务应用相关技术中最重要的一个,合适的集成技术可以使微服务保持自治性,独立地修改和发布。4)微服务架构下api网关、api网关管理平台负责保障微服务应用之间集成的安全、高效、可追踪、可管理。
4.然而,微服务架构转型需要专业的api开发人员进行开发操作,导致开发门槛较高,并且代码编码的过程耗时严重,明显降低了api开发效率。
5.针对上述问题,目前业界仍无较佳的解决方案。


技术实现要素:

6.有鉴于此,本技术实施例提供了一种网关的api开发方法及装置,以至少解决现有技术中api网关的api开发效率较低的问题。
7.本技术实施例的第一方面提供了一种网关的api开发方法,包括:发送数据对象结构至客户端;从所述客户端接收响应于所述数据对象结构的数据库参数;基于所述数据库参数和所述数据对象结构所对应的第一代码模板,生成api网关的业务api。
8.本技术实施例的第二方面提供了一种网关的api开发装置,包括:对象结构发送单元,被配置为发送数据对象结构至客户端;参数接收单元,被配置为从所述客户端接收响应于所述数据对象结构的数据库参数;api生成单元,被配置为基于所述数据库参数和所述数据对象结构所对应的第一代码模板,生成api网关的业务api。
9.本技术实施例的第三方面提供了一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
10.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
11.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端实现如上述方法的步骤。
12.本技术实施例与现有技术相比存在的有益效果是:
13.通过本技术实施例,api网关控制器可以基于数据对象结构与客户端进行通信交互,从而得到相应的数据库参数,并可以依据数据对象结构相应的代码模板结合数据库参数生成业务api。由此,用户可以按照数据对象结构而设置相应的数据库参数,从而开发适用于api网关的业务api,无需用户进行编程操作,降低了开发门槛,api网关控制器可以根据数据库参数来结合相应的程序代码模板来自动生成api,可以提高网关的api的生成效率。
附图说明
14.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1示出了根据本技术实施例的网关的api开发方法的一示例的流程图;
16.图2示出了根据本技术实施例的网关的api开发方法的一示例的流程图;
17.图3示出了根据本技术实施例的网关的api开发方法的一示例的流程图;
18.图4示出了根据本技术实施例的网关的api开发方法的一示例的流程图;
19.图5示出了根据第一客户端界面的一示例的示意图;
20.图6示出了第二客户端界面的一示例的示意图;
21.图7示出了业务属性数据实体的一示例的示意图;
22.图8示出了具有部署后的api服务列表的用户界面的一示例的示意图;
23.图9示出了根据本技术实施例的网关的api开发装置的一示例的结构框图;
24.图10是本技术实施例的移动终端的一示例的示意图。
具体实施方式
25.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
26.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
27.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
28.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
29.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
30.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0031]
具体实现中,本技术实施例中描述的移动终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器)的计算机。
[0032]
在接下来的讨论中,描述了包括显示器和触摸敏感表面的移动终端。然而,应当理解的是,移动终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
[0033]
可以在移动终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
[0034]
图1示出了根据本技术实施例的网关的api开发方法的一示例的流程图。关于本技术实施例方法的执行主体,其可以是api网关(或kong)中具有控制、处理功能的api网关控制器,其可以使用各种类型的控制器或处理器,在此应不加限制。
[0035]
如图1所示,在步骤110中,api网关控制器发送数据对象结构至客户端。这里,数据对象结构中可以具有各种数据库参数格式,例如需要用户进行个性化设置或自定义的参数类型。
[0036]
在步骤120中,api网关控制器从客户端接收响应于数据对象结构的数据库参数。示例性地,api网关控制器可以与客户端进通信交互传输,从而得到有用户个性化设置或自定义的数据库参数。在一些实施方式中,数据库参数可以包括数据库类型和数据库地址。
[0037]
在步骤130中,api网关控制器基于数据库参数和数据对象结构所对应的第一代码模板,生成api网关的业务api。具体地,api网关中可能会存在多个不同类型的数据对象结构和相应的代码模板,通过数据对象结构可以调用相关联的代码模板。相应地,通过调用业务api,可以访问所对接的数据库中已存在的数据表信息(即,基础数据表信息)。
[0038]
结合应用场景来说,用户可以在客户端上进行操作,通过设定网址来与api网关控制器进行关联,以进行相应的api开发操作。具体地,客户端可以显示数据对象结构,并接收用户参数设置操作以确定相应的数据库参数。示例性地,api网关可以将数据对象结构发给客户端以进行显示,用户可以根据个性化的开发需求而对客户端进行操作以输入相应的数据库参数。由此,可以通过用户交互操作(例如,平台web界面操作)的方式将原生的api,快速发布到kong网关之上,无需复杂的shell操作或使用开源的管理平台多次登录和繁琐的信息重复录入工作。
[0039]
在本技术实施例中,基于程序模板、业务对象、表、sql、数据源配置自动生成并发布部署快速形成原生的api服务,零编码零门槛构建原生api服务目录。由此,可以基于数据模型自动生成api,能够快速构建多层次的业务对象模型,反向发布到关系型数据库中,并结合程序模板和模型自动部署生成大部分的api接口,达到基于模型快速开发生成api服务的目的,大大提升了api开发和发布的效率。
[0040]
在一些应用场景下,数据库中已存的基础数据表可能无法满足业务需求,开发用
户可能需要依据业务属性定制相应的数据库表格。
[0041]
鉴于此,图2示出了根据本技术实施例的网关的api开发方法的一示例的流程图。
[0042]
如图2所示,在步骤210中,api网关控制器发送数据对象结构和业务对象结构至客户端。
[0043]
在步骤220中,api网关控制器从客户端接收响应于数据对象结构的数据库参数,和响应于业务对象结构的业务属性参数。在一些实施方式中,业务属性参数包括业务名称、数据类型和数据长度。
[0044]
在步骤230中,api网关控制器将数据库参数填充至数据对象结构所对应的第一代码模板,并将业务属性参数填充至业务对象结构所对应的第二代码模板,以生成api网关的业务api。
[0045]
通过本技术实施例,用户可以通过客户端与api网关控制器通信交互,以定制业务api所对应的数据库表的业务属性,提高了定制化api的开发效率,用户通过客户端可以查看个性化的数据库表格。
[0046]
在本技术实施例的一些示例中,基于业务api和/或日志api配置api网关,并将业务api和/或日志api发送至与数据库参数相应的目标数据库,以对目标数据库进行配置。通过本技术实施例,基于数据库表和sql语句的快速发布api,也是通过代码模板、数据库链接、表结构、sql语句零编码快速生成部署api接口,可以在线完成针对api网关和服务端的数据库的api配置操作,能快速完成api服务的线上自动化部署操作。
[0047]
在一些实施方式中,通过程序模板、数据模型、数据表、sql、数据连接等配置信息,实现了api服务的快速、无编码开发及发布,形成原生的api服务目录。此外,通过针对kong网关设计的监控与管理模块,实现了kong网关对api服务的路由接入、认证、日志监控、流量控制、数据转换、插件管理。
[0048]
通过本技术实施例,可以通过配置业务实体、数据库表和sql语句,直接生成并部署发布形成原生api,从api源头着手配置api,然后可以直接将api通过系统快速地集成到kong网关。由此,所有步骤无需任何编程操作,降低了api开发门槛,可大大提升微服务的开发效率。
[0049]
图3示出了根据本技术实施例的网关的api开发方法的一示例的流程图。
[0050]
如图3所示,在步骤310中,api网关控制器发送数据对象结构至客户端。
[0051]
在步骤320中,api网关控制器从客户端接收响应于数据对象结构的结构化查询语句。
[0052]
在步骤330中,api网关控制器基于结构化查询语句和数据对象结构所对应的第三代码模板,生成api网关的日志记录api。由此,实现了针对kong网关的基于关系型数据库mysql的插件mysql-log,使得数据库在网关代理后的api服务的日志能够被异步记录并存储,方便前台实时查询查看数据库的日志信息。
[0053]
在本技术实施例中,基于mysql数据库的日志记录插件(mysql-log),可以直接将kong网关的消费日志异步记录到指定的mysql数据库表中,满足了it管理员的日志检索需求。
[0054]
通过本技术实施例,其可以被应用在企业微服务转型过程中,微服务组件之间的api接口开发、注册、接入及管控,以及能力开放平台中api服务能力的快速开发与发布。这
里,核心的能力是可以将业务对象、数据库表、sql无需编码直接发布到服务器上并能单点登录到kong网关上进行api的快速集成,之后通过kong网关对api进行安全管理、日志记录、流量控制、数据转换以及负载均衡,其中日志记录是通过开发kong网关的mysql-log插件实现了日志直接存储到服务器的mysql数据库中。
[0055]
图4示出了根据本技术实施例的网关的api开发方法的一示例的流程图。关于本技术实施例的执行主体,其可以是客户端。
[0056]
如图4所示,在步骤410中,客户端显示第一客户端界面,以接收用户输入操作,创建相应的数据源。这里,数据源可以支持mysql/sqlserver/oracle等类型的数据源或数据对象结构。
[0057]
图5示出了根据第一客户端界面的一示例的示意图。如图5所示,用户可以通过第一客户端界面输入数据库类型、数据库ip地址、连接名称或机房信息,等等,从而在后台创建相应的数据源。
[0058]
在步骤420中,客户端显示第二客户端界面,以接收用户输入操作,从而构建相应的业务实体。具体地,可以支持从元数据实体开始构建,生成业务数据实体。
[0059]
图6示出了第二客户端界面的一示例的示意图。如图6所示,用户可以通过第二客户端界面输入业务名称、业务数据类型和业务数据长度等等,从而在后台创建相应的业务属性数据实体。图7示出了业务属性数据实体的一示例的示意图。
[0060]
在步骤430中,客户端显示第三客户端界面,以接收用户输入操作,从而选择数据源,并配置业务实体生成api并部署,api生成后自动归集到原生api服务目录。
[0061]
图8示出了具有部署后的api服务列表的用户界面的一示例的示意图。如图8所示,可以通过api的属性信息在api服务列表中进行查询操作。
[0062]
通过本技术实施例,可以快速开发及发布api,显著提升api开发速度,使得api开发效率提升50%以上,并且不需要开发人员进行代码编程操作,可以有效降低api开发成本。此外,可以支持kong网关服务、插件、消费方、日志和证书的全web端管理,实现在分钟级完成api服务部署,并且全程可视化的web操作,简单易用。
[0063]
在一些实施方式中,可以采用基于springmvc、mybatis、freemaker组件的程序模板,通过业务实体、数据库表、sql注入配置的方式零编码自动部署并生成原生的api服务,将原生api服务一键部署到kong网关中,实现了对路由后的api服务进行整体生命周期的管控。由此,大大提高了api从数据源到最终发布的整体开发效率,改善了对api服务的整体规范和管理水平,解决了因为业务快速变化导致微服务能力交付速度的问题。
[0064]
在本技术实施例的一些示例中,用户还可以选择数据源,填写带参数的sql语句,生成api并部署,api生成后自动归集到原生api服务目录。
[0065]
在本技术实施例的一些示例中,针对归集后的原生api服务,可直接进入kong的管理模块进行kong网关的业务和路由服务的发布。由此,api开发模块和kong网关做到了无缝集成,服务开发与kong网关发布紧密进行,实现了api服务从开发到接入网关全流程线上无代码操作,简单易用。
[0066]
在本技术实施例的一些示例中,针对kong网关的管理,可使用平台提供的kong的管理模块对网关状态、业务/路由服务、消费方、插件、上游服务、证书、日志进行管理。这里,日志插件可以使用自定义的mysql-log插件,存储的日志可通过日志查询进行查看。由此,
可以通过设计实现自定义的mysql-log插件,支持通过通过配置将服务消费日志自动异步存储到关系型数据库mysql中,便于查询。
[0067]
通过本技术实施例,可以快速生成api,并且所生成的api服务支持通过一键部署到kong网关上,通过kong网关对部署的服务进行统一配置和管理。此外,实现了在客户端针对kong网关管理功能的全web操作,包括路由接入、认证管理、日志监控、插件管理等操作功能,使得it管理员可以基于api网关控制器对网关进行线上操作和管理,无需再通过shell命令的形式或者开源的平台进行管理。
[0068]
图9示出了根据本技术实施例的网关的api开发装置的一示例的结构框图。
[0069]
如图9所示,网关的api开发装置900包括对象结构发送单元910、参数接收单元920和api生成单元930。
[0070]
对象结构发送单元910被配置为发送数据对象结构至客户端。
[0071]
参数接收单元920被配置为从所述客户端接收响应于所述数据对象结构的数据库参数。
[0072]
api生成单元930被配置为基于所述数据库参数和所述数据对象结构所对应的第一代码模板,生成api网关的业务api。
[0073]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0074]
图10是本技术实施例的移动终端的一示例的示意图。如图10所示,该实施例的移动终端1000包括:处理器1010、存储器1020以及存储在所述存储器1020中并可在所述处理器1010上运行的计算机程序1030。所述处理器1010执行所述计算机程序1030时实现上述网关的api开发方法实施例中的步骤,例如图1所示的步骤110至130。或者,所述处理器1010执行所述计算机程序1030时实现上述各装置实施例中各模块/单元的功能,例如图9所示单元910至930的功能。
[0075]
示例性的,所述计算机程序1030可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1020中,并由所述处理器1010执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1030在所述移动终端1000中的执行过程。例如,所述计算机程序1030可以被分割成对象结构发送程序模块、参数接收程序模块和api生成程序模块,各程序模块具体功能如下:
[0076]
对象结构发送程序模块被配置为发送数据对象结构至客户端;
[0077]
参数接收程序模块被配置为从所述客户端接收响应于所述数据对象结构的数据库参数;
[0078]
api生成程序模块被配置为基于所述数据库参数和所述数据对象结构所对应的第一代码模板,生成api网关的业务api。
[0079]
所述移动终端1000可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述移动终端可包括,但不仅限于,处理器1010、存储器1020。本领域技术人员可以理解,图10仅是移动终端1000的示例,并不构成对移动终端1000的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述移动终端还可以包括输入输出设
备、网络接入设备、总线等。
[0080]
所称处理器1010可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0081]
所述存储器1020可以是所述移动终端1000的内部存储单元,例如移动终端1000的硬盘或内存。所述存储器1020也可以是所述移动终端1000的外部存储设备,例如所述移动终端1000上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器1020还可以既包括所述移动终端1000的内部存储单元也包括外部存储设备。所述存储器1020用于存储所述计算机程序以及所述移动终端所需的其他程序和数据。所述存储器1020还可以用于暂时地存储已经输出或者将要输出的数据。
[0082]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
[0083]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0084]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0085]
在本技术所提供的实施例中,应该理解到,所揭露的装置/移动终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/移动终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0086]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0087]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
[0088]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0089]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献