接口生成方法及装置与流程

阅读: 评论:0



1.本技术涉及互联网数据库技术领域,尤其涉及一种接口生成方法及装置。


背景技术:



2.相关技术中,对数据库中数据表进行增删查改等频繁操作时,通常需要重复写接口代码来进行处理,存在人员大量重复开发维护等问题;不能实现人员的有效利用和高效运行,对人力资源造成了极大的浪费,且降低了接口的生成效率。
3.因此,有必要提供一种接口生成方法及装置,避免重复编写接口代码,提高接口的生成效率。


技术实现要素:



4.本技术提供了一种接口生成方法及装置,可以避免重复编写接口代码,并提高了接口的生成效率。
5.一方面,本技术提供了一种接口生成方法,所述方法包括:
6.显示目标页面,所述目标页面包括目标区域以及接口创建标识信息;所述目标区域用于输入目标配置信息;所述目标配置信息由预设协议、预设语法的字段组成;
7.响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;
8.基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;
9.基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;
10.基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口。
11.另一方面提供了一种接口生成装置,所述装置包括:
12.目标页面显示模块,用于显示目标页面,所述目标页面包括目标区域以及接口创建标识信息;所述目标区域用于输入目标配置信息;所述目标配置信息由预设协议、预设语法的字段组成;
13.目标协议获取模块,用于响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;
14.第一转换模块,用于基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;
15.第二转换模块,用于基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;
16.接口生成模块,用于基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口。
17.另一方面提供了一种接口生成设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的接口生成方法。
18.另一方面提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的接口生成方法。
19.另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述接口生成方法。
20.本技术提供的接口生成方法及装置,具有如下技术效果:
21.本技术显示的目标页面中包括用于输入目标配置信息的目标区域以及接口创建标识信息;目标配置信息由预设协议、预设语法的字段组成;然后响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;从而实现通过用户的触发指令,获取预设的目标协议以及目标语法;基于第一映射信息,将所述目标配置信息转换成目标协议的信息;基于第二映射信息,将所述目标配置信息转换成目标语法的信息;基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口;从而对目标配置信息进行协议转换和语法转换,从而生成对应的应用程序编程接口。采用本技术的技术方案,只需在页面中输入配置信息,就可以根据目标协议和目标语法,自动生成api接口,本技术避免重复编写接口代码,提高了接口的生成效率,且生成的接口的qps(每秒查询数)性能较好。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
23.图1是本技术实施例提供的一种接口生成系统的示意图;
24.图2是本技术实施例提供的一种接口生成方法的流程示意图;
25.图3是本技术实施例提供的一种显示原始页面的方法的流程示意图;
26.图4是本技术实施例提供的一种创建目标数据表的方法的流程示意图;
27.图5是本技术实施例提供的一种展示上述应用程序编程接口的方法的流程示意图;
28.图6是本技术实施例提供的一种处理信息查询请求的方法的流程示意图;
29.图7是本技术实施例提供的一种基于插件协议构建目标插件的方法的流程示意图;
30.图8是本技术实施例提供的一种目标页面的界面示意图;
31.图9是本技术实施例提供的一种原始页面的界面示意图;
32.图10是本技术实施例提供的一种目标数据表的属性信息的界面示意图;
33.图11是本技术实施例提供的一种接口生成系统的架构图;
34.图12是本技术实施例提供的一种协议设计图;
35.图13是本技术实施例与现有技术在不同测试次数下应用程序编程接口对应的qps示意图;
36.图14是本技术实施例提供的一种接口生成装置的结构示意图;
37.图15是本技术实施例提供的另一种接口生成装置的结构示意图;
38.图16是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.请参阅图1,图1是本技术实施例提供的一种接口生成系统的示意图,如图1所示,该接口生成系统可以至少包括服务器01和客户端02。
42.具体的,本技术实施例中,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器01可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器01可以用于基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;以及基于目标协议的信息与目标语法的信息,生成应用程序编程接口;以及接收客户端02发送的信息查询请求,并确定该请求对应的目标应用程序编程接口;以及基于所述目标应用程序编程接口处理所述目标请求。
43.具体的,本技术实施例中,所述客户端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。具体的,所述客户端02可以用于向服务器发送信息查询请求。
44.以下介绍本技术的一种接口生成方法,图2是本技术实施例提供的一种接口生成方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规
或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
45.具体的如图2所示,该方法可以包括:
46.s201:显示目标页面,上述目标页面包括目标区域以及接口创建标识信息;上述目标区域用于输入目标配置信息;上述目标配置信息由预设协议、预设语法的字段组成。
47.在本技术实施例中,目标页面可以为可视化配置平台中页面,如图8所示,目标页面可以为新建表的配置页面,配置信息可以为一个或多个;其中配置信息可以包括表基础信息(baseinfo)、列信息(columns)、表间关联关系(relations)、接口的自定义操作名(actions),目标区域用于输入这些配置信息;其中表基础信息可以包括表名称、表描述信息,表名称可以用于输入一个或多个数据表的名称,表描述用于输入数据表的备注信息;列信息可以是字段信息,表间关联关系可以为多个数据表之间的关联关系,例如多个数据表可以为同一用户对应的多个订单;其中接口创建标识信息可以是目标页面中类似“保存”的按键,当触发该按键时,即可生成配置信息对应的接口。目标配置信息由预设协议、预设语法的一个或多个字段组成;目标配置信息用于生成应用程序编程接口;当目标配置信息为数据表的配置信息时,还可以用于生成数据表。
48.在一些实施例中,上述显示目标页面之前,如图3所示,上述方法还包括:
49.s2001:显示原始页面,上述原始页面包括数据库选择信息;
50.在本技术实施例中,原始页面可以为目标页面对应的上一页面,数据库选择信息用于确定目标数据库;可以通过触发原始页面的数据库选择信息,跳转至目标页面中;
51.在本技术实施例中,原始页面还可以包括环境信息配置区域,上述方法还可以包括:
52.响应于对环境信息配置区域的触发指令,确定目标环境信息。
53.在本技术实施例中,环境信息配置区域可以用于确定数据库的使用环境,例如可以包括开发环境、测试环境、预发布环境等;该区域可以预先设置选项供用户选择,也可以由用户手动输入进行信息配置;在实际应用中,可以根据需求为一个数据库设置多种环境,也可以为多个数据库设置一种环境。
54.在一个具体的实施例中,原始页面可以为图9所示的页面,该页面可以用于确定配置信息对应的数据库;其中包括环境信息配置区域,该区域包括环境信息选项开发环境、测试环境、预发布环境,供用户进行选择。
55.s2003:响应于基于上述数据库选择信息触发的数据库选择指令,显示上述数据库选择指令对应的目标数据库;上述目标数据库的显示页面包括数据表新建标识信息。
56.在本技术实施例中,数据库选择信息可以为预先配置的数据库选项,也可以为供用户输入的用于确定数据库的信息,例如,供用户输入的信息可以包括数据库的描述信息、类型、端口、字符集等信息。数据表新建标识信息可以为数据表的添加按键。
57.在本技术实施例中,可以通过原始页面配置的数据库选择信息,快速确定目标数据库,从而快速创建应用程序编程接口。
58.在本技术实施例中,上述目标数据库的显示页面还可以包括目标环境信息,通过
目标环境信息可以获知目标数据库对应的使用环境。
59.在一些实施例中,上述方法还包括:
60.获取上述目标数据库对应的协议以及语法;
61.将上述目标数据库对应的协议确定为上述目标配置信息对应的预设协议;
62.将上述目标数据库对应的语法确定为上述目标配置信息对应的预设语法。
63.在本技术实施例中,每个数据库对应一种协议、语法,数据库中配置信息对应的协议、语法均为数据库对应的协议、语法。
64.在一些实施例中,上述显示目标页面包括:
65.响应于对上述数据表新建标识信息的触发指令,显示上述目标数据库对应的目标页面。
66.在本技术实施例中,用户可以通过点击上述数据表新建标识信息,从而显示目标数据库对应的用于确定目标配置信息的目标页面。
67.在一些实施例中,上述显示目标页面之后,上述方法还包括:
68.响应于对上述目标区域的触发指令,确定目标配置信息。
69.在本技术实施例中,用户可以在目标区域输入目标配置信息,也可以通过目标区域预设的信息选择目标配置信息。
70.在一些实施例中,上述显示目标页面之后,上述方法还包括:
71.s2021:响应于对上述目标区域的触发指令,确定多个数据表的目标配置信息以及上述多个数据表之间的关联关系。
72.在本技术实施例中,用户可以在目标区域中确定多个数据表之间的关联关系;例如多个数据表可以为同一用户对应的多个订单,则多个数据表的关联关系为对应同一个用户标识信息。
73.s2023:基于对象关系映射数据库,将上述多个数据表之间的关联关系转换成结构化查询语言对应的目标语句。
74.在本技术实施例中,结构化查询语言(structured query language)简称sql,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
75.s203:响应于对上述接口创建标识信息的触发指令,获取上述目标配置信息对应的目标协议以及目标语法。
76.在本技术实施例中,目标协议基于领域特定语言(domain specific language,dsl)构建而成,dsl为专注于某个应用程序领域的计算机语言;用户可以点击上述接口创建标识信息触发指令,从而获取到目标配置信息对应的目标协议;该目标协议为预设的协议,例如可以为该方法对应的系统所适用的协议。其中,对上述接口创建标识信息的触发指令可以为用户对接口创建标识信息的点击操作。
77.s205:基于第一映射信息,将上述目标配置信息转换成目标协议的信息;上述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系。
78.在本技术实施例中,可以读取不同数据库(例如关系型数据库管理系统mysql)及各类协议的元数据后,将其转换为本目标协议的格式,从而抹平差异。其中,元数据可以包括表间关系、字段信息等。例如mysql自带的信息模式(information_schema)数据库会描述
所有数据库的元数据,包括表间关系、字段信息等,通过读取这些信息,就可以将其转换成目标协议。
79.在本技术实施例中,目标协议可以为图查询语言(graphql)或restful协议。graphql是描述请求数据的一种规范,是协议而非存储,graphql本身并不直接提供后端存储的能力,它不绑定任何的数据库或者存储引擎,它可以利用已有的代码和技术来进行数据源管理。restful是一种网络应用程序的设计风格和开发方式,基于http,可以使用xml格式定义或json格式定义。restful适用于移动互联网厂商作为业务接口的场景,实现第三方ott调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
80.s207:基于第二映射信息,将上述目标配置信息转换成目标语法的信息;上述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系。
81.在本技术实施例中,目标语法可以为orm,orm就是通过实例对象的语法,完成关系型数据库的操作的技术,是“对象-关系映射”(object/relational mapping)的缩写,orm将数据库映射成对象。目标语法也可以为type orm,type orm为开源框架,该框架的性能比较稳定,该框架对应的社区活跃度高,具有较好的普适性。
82.在本技术实施例中,应用程序编程接口有多种类型,在生成接口时,将不同的预设协议的字段转换成目标协议的字段,并将不同的预设语法的字段转换成目标语法的字段,从而能够提高生成接口类型的准确率。
83.s209:基于上述目标协议的信息与上述目标语法的信息,生成上述目标配置信息对应的应用程序编程接口。
84.在本技术实施例中,应用程序编程接口可以为通过网络调用的应用程序编程接口(web application programming interface,web api)。web api可以扩展浏览器的功能,大大简化复杂的功能,为复杂的代码提供简单的语法。目标配置信息可以为针对多个应用程序编程接口的配置信息,即通过一个目标配置信息可以生成多个web apis,实现一次性生成多个应用程序编程接口,从而提高了应用程序编程接口的生成效率。
85.在本技术实施例中,应用程序编程接口可以为多表关联的级联接口,对于复杂场景,例如,需要在一个接口同时针对同一数据库内的多张数据表进行增删改查操作时,可以基于多表关联关系生成级联接口,实现一个接口同时操作多张数据表的内容。
86.在本技术实施例中,上述基于上述目标协议的信息与上述目标语法的信息,生成上述目标配置信息对应的应用程序编程接口,包括:
87.基于上述目标协议的信息、上述目标语法的信息以及上述目标语句,生成上述多个数据表对应的级联接口。
88.在本技术实施例中,上述基于上述目标协议的信息、上述目标语法的信息以及上述目标语句,生成上述多个数据表对应的级联接口之后,上述方法还包括:
89.接收终端发送的上述多个数据表的信息操作请求;
90.基于上述级联接口处理上述多个数据表的信息操作请求。
91.在本技术实施例中,通过生成的级联接口,可以对多个关联的数据表进行操作,从而提高了对数据表的操作效率。
92.在本技术实施例中,生成的应用程序编程接口可以为多个,可以基于一份目标配置信息生成多个应用程序编程接口。
93.在一些施例中,如图4所示,上述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口之后,上述方法还包括:
94.s2011:基于上述应用程序编程接口,创建上述目标配置信息对应的目标数据表。
95.在本技术实施例中,配置信息可以为数据表的配置信息,可以基于目标配置信息生成应用程序编程接口,并创建对应的目标数据表。
96.在一些实施例中,上述基于上述应用程序编程接口,创建上述目标配置信息对应的目标数据表,可以包括:
97.基于上述多个应用程序编程接口,创建目标配置信息对应的多个目标数据表。
98.在本技术实施例中,一个应用程序编程接口可以对应一个或多个目标数据表,一个目标数据表可以对应一个或多个应用程序编程接口。
99.在一些实施例中,如图5所示,上述基于上述应用程序编程接口,创建上述目标配置信息对应的目标数据表之后,上述方法还包括:
100.s2013:展示上述目标数据表的属性信息,上述属性信息包括上述应用程序编程接口的标识信息;
101.在本技术实施例中,目标数据表的属性信息可以包括数据库连接信息、数据表概要信息、数据表详细信息(包括数据表id、名称、创建时间、更新时间等)、数据表生成的各种接口,如web apis;接口对应的wiki文档;接口调试的模拟(mock)数据等;wiki是一种在网络上开放且可供多人协同创作的超文本系统。对于不同的应用程序编程接口,可以设置不同的标识信息。
102.在本技术实施例中,展示的目标数据表可以包括一个或多个;如图10所示,图中展示了多个数据表的属性信息,包括数据表id、名称、创建时间、更新时间等信息,还可以包括应用程序编程接口的标识信息web apis、mock等。
103.s2015:响应于对上述应用程序编程接口的标识信息的触发指令,展示上述应用程序编程接口。
104.在本技术实施例中,可以基于程序员用户的触发指令,向程序员用户展示应用程序编程接口,从而便于程序员根据实际需求进行调用;对上述应用程序编程接口的标识信息的触发指令可以为用户对应用程序编程接口的标识信息的点击操作,跳转至对应的应用程序编程接口,如图10所示,当用户触发图中的“wiki”标识信息时,即可跳转至wiki文档对应的接口,所述接口包括获取列表接口、新增接口以及更新接口;采用本技术的方法可以快速生成多种接口,包括但不限于查询、批量查询、新增、批量新增、更新、批量更新、删除、批量删除等web apis。
105.在本技术实施例中,上述应用程序编程接口为多个,如图6所示,上述基于上述目标协议的信息与上述目标语法的信息,生成上述目标配置信息对应的应用程序编程接口之后,上述方法还包括:
106.s20101:接收多个终端发送的多个信息查询请求;
107.在本技术实施例中,本地服务器可以为多个终端的后台服务器,本地服务器可以接收多个终端发送的信息查询请求;信息查询请求可以携带用于确定接口的信息,从而便于后续确定请求处理接口。
108.s20103:当上述多个信息查询请求的请求内容相同时,将上述多个信息查询请求
合并为一个目标请求;
109.在本技术实施例中,当信息查询请求为订单查询请求时,多个信息查询请求的请求内容相同是指查询同一订单,合并后的目标请求可以携带订单的编号等信息。
110.s20105:确定上述目标请求对应的目标应用程序编程接口;
111.在本技术实施例中,可以通过目标请求携带的接口关联信息,从而确定对应的目标应用程序编程接口。
112.s20107:基于上述目标应用程序编程接口处理上述目标请求。
113.在本技术实施例中,也可以不对信息查询请求进行合并,而是基于目标应用程序编程接口分别对每个信息查询请求进行处理。
114.在本技术实施例中,可以通过对相同信息查询请求的合并,提高接口的处理效率,节约处理时间;相比于请求未合并的方案,请求合并后的方案进一步提高了处理系统的性能,减少了处理请求的时间。在真实环境中,常常会有高并发的请求出现。比如,当热点事件发生后,对一些关键词的搜索量会大幅度提高。本技术会对一定时间内进入的请求进行存储,这些请求一旦被检测到是相同的请求后会被合并,以此来提高性能,减少请求时间,提高该系统的性能.
115.在本技术实施例中,基于上述目标应用程序编程接口处理上述目标请求包括:
116.基于上述目标应用程序编程接口,查与所述目标请求对应的目标文件。
117.在本技术实施例中,上述方法还包括:
118.基于缓存数据库对文件进行存储。
119.相应的,基于上述目标应用程序编程接口,查与所述目标请求对应的目标文件,包括:
120.基于上述目标应用程序编程接口,在缓存数据库中查与所述目标请求对应的目标文件。
121.在本技术实施例中,通过构建缓存数据库,可以避免查询原始数据库,提高了查询目标文件的效率,提高了接口的处理效率。
122.在本技术实施例中,如图7所示,上述基于上述目标协议的信息与上述目标语法的信息,生成上述目标配置信息对应的应用程序编程接口之前,上述方法还包括:
123.s2081:构建插件协议;
124.在本技术实施例中,插件协议为一种预设格式的协议;可以基于第三方用户的需求构建插件(plugins)协议。
125.s2083:将至少一个功能参数按照上述插件协议的格式,构建目标插件。
126.在本技术实施例中,将一个或多个功能参数按照上述插件协议的格式,构建目标插件;目标插件可以基于不同的功能参数实现不同的功能,例如文件上传、自定义网关等功能;基于插件协议可以快速为应用程序编程接口扩展更多丰富的能力。
127.上述基于上述目标协议的信息与上述目标语法的信息,生成上述目标配置信息对应的应用程序编程接口,包括:
128.基于上述目标协议的信息、上述目标语法的信息以及上述目标插件,构建上述目标配置信息对应的应用程序编程接口。
129.在本技术实施例中,可以通过目标插件为应用程序编程接口扩展更多的功能;具
体的,可以根据用户的实际需求使构建的应用程序编程接口具有相应的功能,从而使应用程序编程接口适用于更多的应用场景。
130.在本技术实施例中,该方法对应的系统架构图如图11所示,其中包括:插件(plugins)系统、协议(protocol)层以及内核(kernel)层;其中,插件系统是在本系统核心能力以外,针对各种复杂场景设计的一套插件机制,通过系统开放部分接口、钩子(hooks)的方式,让第三方用户可以基于插件协议快速扩展更多丰富的能力,例如文件上传、自定义网关等;例如,插件可以包括代理(proxy)插件、上传(upload)插件、环境变量插件(environment variable)、存放工具类函数(utils)插件等;协议层是本系统为抹平各类后端协议差异设计的一套统一协议,外部接口通过适配该协议即可与本系统进行对接,本系统协议可以与graphql协议进行转换;graphql是一个api查询语言,是描述请求数据的一种规范,是协议而非存储,graphql本身并不直接提供后端存储的能力,它不绑定任何的数据库或者存储引擎,它可以利用已有的代码和技术来进行数据源管理。内核层包括自定义流程(flow)和数据库核心(core)两部分,其中core实现了与多种数据库的对接及web apis生成能力以及与任意对象关系映射(object relational mapping,orm)等第三方开源orm框架的对接,flow实现了针对符合有向无环图(dag)关系的自定义事件流的自动化处理能力;其中,web apis是通过网络调用的应用程序编程接口,它可以扩展浏览器的功能,大大简化复杂的功能,为复杂的代码提供简单的语法。orm是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的资料之间的转换。
131.如图11所示,本系统将目标语法的开源框架orm以及graphql等以插件的形式引入,独立实现了解析引擎,引擎可以解析规则自动生成特定协议的web apis,并且能转换成orm调用来实现对数据的管理。如图12所示,将数据库对应的预设协议经协议层经过数据映射表转换得到图查询语言协议模式,并经过表模式转换成目标语法实体;然后将图查询语言协议模式与目标语法实体结合得到图查询语言的应用程序编程接口。本系统支持关系型数据库管理系统(mysql)、远程字典服务协议(remote dictionary server,redis)、基于分布式文件存储的数据库(mongodb)、mariadb(mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可mariadb的目的是完全兼容mysql)、postgres(功能强大的、源代码开放的客户/服务器关系型数据库管理系统)、蟑螂数据库(cockroachdb)、轻型数据库(sqlite)、微软关系型数据库管理系统(microsoft sql server)、oracle(一款关系数据库管理系统)、sap hana(支持企业预置型部署和云部署模式的内存计算平台)、js专用的内存型数据库(sql.js)等多种类型的数据库,也支持各种后端服务协议(services),例如远程过程调用(remote procedure call,rpc)、消息队列(message queue)等。
132.各类数据库及不同协议通过转换成符合本系统规范的协议后,系统通过映射、转换生成数据库实体、graphql协议,最终生成web apis里的特定协议可以是graphql、restful等协议。
133.在本技术实施例中,对本技术生成的应用程序编程接口(api)进行了每秒查询数(qps)性能测试,每秒查询数(qps)是衡量信息检索系统(例如搜索引擎或数据库)在一秒钟内接收到的搜索流量的一种常用量度。该术语在任何请求-响应系统中都得到更广泛的使用。api进行了100次数的并发,500次请求;重复实现10次;并在同样的实验环境下对现有技
术的一种无头内容管理系统strapi生成的api进行同样的请求。strapi为一款开源的无头内容管理系统(headlesscontent management system,headless cms)高流量的系统必须注意其qps,才能知道何时扩展系统以处理更多负载。对于未进行合并请求处理的接口,本技术的每秒查询数为现有技术的2倍;对于进行合并请求处理的接口,如图13所示,其中,线条a为本技术中不同测试次数下应用程序编程接口对应的qps,线条b为本技术中不同测试次数下应用程序编程接口对应的qps均值;线条c为现有技术strapi中不同测试次数下应用程序编程接口对应的qps,线条d为现有技术strapi中不同测试次数下应用程序编程接口对应的qps均值。可见,本技术的每秒查询数提升到约为现有技术strapi的10倍。
134.由以上本技术实施例提供的技术方案可见,本技术实施例显示的目标页面中包括用于输入目标配置信息的目标区域以及接口创建标识信息;目标配置信息由预设协议、预设语法的字段组成;然后响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;从而实现通过用户的触发指令,获取预设的目标协议以及目标语法;基于第一映射信息,将所述目标配置信息转换成目标协议的信息;基于第二映射信息,将所述目标配置信息转换成目标语法的信息;基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口;从而对目标配置信息进行协议转换和语法转换,从而生成对应的应用程序编程接口。采用本技术的技术方案,只需在页面中输入配置信息,就可以根据目标协议和目标语法,自动生成api接口,本技术避免重复编写接口代码,提高了接口的生成效率,且生成的接口的qps(每秒查询数)性能较好。
135.本技术实施例还提供了一种接口生成装置,如图14所示,所述装置包括:
136.目标页面显示模块1410,用于显示目标页面,所述目标页面包括目标区域以及接口创建标识信息;所述目标区域用于输入目标配置信息;所述目标配置信息由预设协议、预设语法的字段组成;
137.目标协议获取模块1420,用于响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;
138.第一转换模块1430,用于基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;
139.第二转换模块1440,用于基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;
140.接口生成模块1450,用于基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口。
141.在一些实施例中,上述装置还可以包括:
142.原始页面显示模块,用于显示原始页面,上述原始页面包括数据库选择信息;
143.目标数据库显示模块,用于响应于基于上述数据库选择信息触发的数据库选择指令,显示上述数据库选择指令对应的目标数据库;上述目标数据库的显示页面包括数据表新建标识信息。
144.在一些实施例中,上述目标页面显示模块包括:
145.目标页面显示单元,用于响应于对上述数据表新建标识信息的触发指令,显示上述目标数据库对应的目标页面。
146.在一些实施例中,上述装置还可以包括:
147.信息获取模块,用于获取所述目标数据库对应的协议以及语法;
148.预设协议确定模块,用于将所述目标数据库对应的协议确定为所述目标配置信息对应的预设协议;
149.预设语法确定模块,用于将所述目标数据库对应的语法确定为所述目标配置信息对应的预设语法。
150.在一些实施例中,如图15所示,所述装置还可以包括:
151.插件协议构建模块1510,用于构建插件协议;
152.目标插件构建模块1520,用于将至少一个功能参数按照所述插件协议的格式,构建目标插件。
153.相应的,接口生成模块1450包括:
154.接口构建单元14510,用于基于所述目标协议的信息、所述目标语法的信息以及所述目标插件,构建所述目标配置信息对应的应用程序编程接口。
155.在一些实施例中,所述装置还可以包括:
156.目标数据表创建模块,用于基于上述应用程序编程接口,创建上述目标配置信息对应的目标数据表。
157.在一些实施例中,所述装置还可以包括:
158.属性信息展示模块,用于展示上述目标数据表的属性信息,上述属性信息包括上述应用程序编程接口的标识信息;
159.接口展示模块,用于响应于对上述应用程序编程接口的标识信息的触发指令,展示上述应用程序编程接口。
160.在一些实施例中,所述装置还可以包括:
161.关联关系确定模块,用于响应于对所述目标区域的触发指令,确定多个数据表的目标配置信息以及所述多个数据表之间的关联关系。
162.目标语句转换模块,用于基于对象关系映射数据库,将所述多个数据表之间的关联关系转换成结构化查询语言对应的目标语句。
163.在一些实施例中,接口生成模块包括:
164.级联接口生成单元,用于基于所述目标协议的信息、所述目标语法的信息以及所述目标语句,生成所述多个数据表对应的级联接口。
165.在一些实施例中,所述装置还可以包括:
166.信息操作请求接收模块,用于接收终端发送的所述多个数据表的信息操作请求;
167.信息操作请求处理模块,用于基于所述级联接口处理所述多个数据表的信息操作请求。
168.在一些实施例中,上述应用程序编程接口为多个,所述装置还可以包括:
169.请求接口模块,用于接收多个终端发送的多个信息查询请求;
170.请求合并模块,用于当上述多个信息查询请求的请求内容相同时,将上述多个信息查询请求合并为一个目标请求;
171.接口确定模块,用于确定上述目标请求对应的目标应用程序编程接口;
172.目标请求处理模块,用于基于上述目标应用程序编程接口处理上述目标请求。
173.所述的装置实施例中的装置与方法实施例基于同样地发明构思。
174.本技术实施例提供了一种接口生成设备,该设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的接口生成方法。
175.本技术的实施例还提供了一种计算机存储介质,所述存储介质可设置于终端之中以保存用于实现方法实施例中一种接口生成方法相关的至少一条指令或至少一段程序,该至少一条指令或至少一段程序由该处理器加载并执行以实现上述方法实施例提供的接口生成方法。
176.本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的接口生成方法。
177.可选地,在本技术实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
178.本技术实施例所述存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
179.本技术实施例所提供的接口生成方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图16是本技术实施例提供的一种接口生成方法的服务器的硬件结构框图。如图16所示,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1610(处理器1610可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1630,一个或一个以上存储应用程序1623或数据1622的存储介质1620(例如一个或一个以上海量存储设备)。其中,存储器1630和存储介质1620可以是短暂存储或持久存储。存储在存储介质1620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1610可以设置为与存储介质1620通信,在服务器1600上执行存储介质1620中的一系列指令操作。服务器1600还可以包括一个或一个以上电源1660,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1640,和/或,一个或一个以上操作系统1621,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
180.输入输出接口1640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1600的通信供应商提供的无线网络。在一个实例中,输入输出接口1640包括一个网络适配器(network interface controller,nic),其可通过与其他网络设备
相连从而可与互联网进行通讯。在一个实例中,输入输出接口1640可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
181.本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1600还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。
182.由上述本技术提供的接口生成方法、装置或存储介质的实施例可见,本技术显示的目标页面中包括用于输入目标配置信息的目标区域以及接口创建标识信息;目标配置信息由预设协议、预设语法的字段组成;然后响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;从而实现通过用户的触发指令,获取预设的目标协议以及目标语法;基于第一映射信息,将所述目标配置信息转换成目标协议的信息;基于第二映射信息,将所述目标配置信息转换成目标语法的信息;基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口;从而对目标配置信息进行协议转换和语法转换,从而生成对应的应用程序编程接口。采用本技术的技术方案,只需在页面中输入配置信息,就可以根据目标协议和目标语法,自动生成api接口,本技术避免重复编写接口代码,提高了接口的生成效率,且生成的接口的qps(每秒查询数)性能较好。
183.需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
184.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
185.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
186.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:


1.一种接口生成方法,其特征在于,所述方法包括:显示目标页面,所述目标页面包括目标区域以及接口创建标识信息;所述目标区域用于输入目标配置信息;所述目标配置信息由预设协议、预设语法的字段组成;响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口。2.根据权利要求1所述的方法,其特征在于,所述显示目标页面之前,所述方法还包括:显示原始页面,所述原始页面包括数据库选择信息;响应于基于所述数据库选择信息触发的数据库选择指令,显示所述数据库选择指令对应的目标数据库;所述目标数据库的显示页面包括数据表新建标识信息;相应的,所述显示目标页面包括:响应于对所述数据表新建标识信息的触发指令,显示所述目标数据库对应的目标页面。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述目标数据库对应的协议以及语法;将所述目标数据库对应的协议确定为所述目标配置信息对应的预设协议;将所述目标数据库对应的语法确定为所述目标配置信息对应的预设语法。4.根据权利要求1所述的方法,其特征在于,所述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口之前,所述方法还包括:构建插件协议;将至少一个功能参数按照所述插件协议的格式,构建目标插件;所述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口,包括:基于所述目标协议的信息、所述目标语法的信息以及所述目标插件,构建所述目标配置信息对应的应用程序编程接口。5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口之后,所述方法还包括:基于所述应用程序编程接口,创建所述目标配置信息对应的目标数据表。6.根据权利要求5所述的方法,其特征在于,所述基于所述应用程序编程接口,创建所述目标配置信息对应的目标数据表之后,所述方法还包括:展示所述目标数据表的属性信息,所述属性信息包括所述应用程序编程接口的标识信息;响应于对所述应用程序编程接口的标识信息的触发指令,展示所述应用程序编程接
口。7.根据权利要求1-4任一项所述的方法,其特征在于,所述显示目标页面之后,所述方法还包括:响应于对所述目标区域的触发指令,确定多个数据表的目标配置信息以及所述多个数据表之间的关联关系;基于对象关系映射数据库,将所述多个数据表之间的关联关系转换成结构化查询语言对应的目标语句;相应的,所述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口,包括:基于所述目标协议的信息、所述目标语法的信息以及所述目标语句,生成所述多个数据表对应的级联接口。8.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述目标协议的信息、所述目标语法的信息以及所述目标语句,生成所述多个数据表对应的级联接口之后,所述方法还包括:接收终端发送的所述多个数据表的信息操作请求;基于所述级联接口处理所述多个数据表的信息操作请求。9.根据权利要求1-4任一项所述的方法,其特征在于,所述应用程序编程接口为多个,所述基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口之后,所述方法还包括:接收多个终端发送的多个信息查询请求;当所述多个信息查询请求的请求内容相同时,将所述多个信息查询请求合并为一个目标请求;确定所述目标请求对应的目标应用程序编程接口;基于所述目标应用程序编程接口处理所述目标请求。10.一种接口生成装置,其特征在于,所述装置包括:目标页面显示模块,用于显示目标页面,所述目标页面包括目标区域以及接口创建标识信息;所述目标区域用于输入目标配置信息;所述目标配置信息由预设协议、预设语法的字段组成;目标协议获取模块,用于响应于对所述接口创建标识信息的触发指令,获取所述目标配置信息对应的目标协议以及目标语法;第一转换模块,用于基于第一映射信息,将所述目标配置信息转换成目标协议的信息;所述第一映射信息表征预设协议的字段与目标协议的字段之间的映射关系;第二转换模块,用于基于第二映射信息,将所述目标配置信息转换成目标语法的信息;所述第二映射信息表征预设语法的字段与目标语法的字段之间的映射关系;接口生成模块,用于基于所述目标协议的信息与所述目标语法的信息,生成所述目标配置信息对应的应用程序编程接口。

技术总结


本申请公开了一种接口生成方法及装置,涉及互联网数据库技术领域,该方法包括:显示目标页面,目标页面包括目标区域以及接口创建标识信息;响应于对目标区域的触发指令,确定目标配置信息;响应于对接口创建标识信息的触发指令,获取目标配置信息对应的目标协议以及目标语法;基于第一映射信息,将目标配置信息转换成目标协议的信息;基于第二映射信息,将目标配置信息转换成目标语法的信息;基于目标协议的信息与目标语法的信息,生成目标配置信息对应的应用程序编程接口。本申请避免重复编写接口代码,提高了接口的生成效率。提高了接口的生成效率。提高了接口的生成效率。


技术研发人员:

彭锦文 梁沁 李强 黄健楠

受保护的技术使用者:

腾讯科技(深圳)有限公司

技术研发日:

2021.06.24

技术公布日:

2022/12/26

本文发布于:2022-12-30 02:46:15,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/48313.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:目标   所述   信息   接口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图