一种API服务的管理方法及装置与流程

文档序号:11548461阅读:195来源:国知局
一种API服务的管理方法及装置与流程

本申请涉及数据处理技术领域,特别涉及一种api服务的管理方法及装置。



背景技术:

应用程序编程接口(applicationprogramminginterface,api)服务的自由定制具有轻便、快捷、个性化、复用率高等特点。而随着网络技术的发展,api服务的应用也越来越广泛,不仅仅只有大中型企业用户需要开发自己的api服务,中小型企业用户也有自由定制api服务的需求。



技术实现要素:

有鉴于此,本申请的目的在于提供一种api服务的管理方法及装置,用以解决现有技术中用户如何自由定制api服务的技术问题。

本申请提供了一种api服务的管理方法,包括:

获得至少一个api服务对象;

获得所述api服务对象的服务数据包和接口数据包;

将所述服务数据包进行部署,并向用户提供所述接口数据包;

接收用户服务调用请求,所述用户服务调用请求基于用户利用所需的目标接口数据包所进行的输入操作生成;

基于所述用户服务调用请求,运行与所述用户服务调用请求相对应的目标服务数据包,得到服务结果;

将所述服务结果进行输出。

上述方法,优选的,获得所述api服务对象的服务数据包和接口数据包,包括:

基于模型-视图-控制器(modelviewcontroller,mvc)模型,生成所述api服务对象的服务提供模块和服务接口模块;

利用项目对象模型maven,生成所述服务提供模块的服务数据包和所述服务接口模块的接口数据包。

上述方法,优选的,基于所述用户服务调用请求,运行与所述用户服务调用请求相对应的目标服务数据包,得到服务结果,包括:

确定所述用户服务调用请求对应的配置参数及请求参数;

基于所述请求参数,确定与所述用户服务调用请求对应的目标服务数据包;

基于所述配置参数,运行所述目标服务数据包,得到服务结果。

上述方法,优选的,在所述获得至少一个api服务对象之后,所述方法还包括:

对每个所述api服务对象设置对象标识,并设置每个所述api服务对象的对象参数。

上述方法,优选的,还包括:

基于所述服务结果进行计费操作。

本申请还提供了一种api服务的管理装置,包括:

对象获得单元,用于获得至少一个api服务对象;

数据包获得单元,用于获得所述api服务对象的服务数据包和接口数据包;

数据包部署单元,用于将所述服务数据包进行部署,并向用户提供所述接口数据包;

请求接收单元,用于接收用户服务调用请求,所述用户服务调用请求基于用户利用所学的目标接口数据包所进行的输入操作生成;

服务调用单元,用于基于所述用户服务调用请求,运行与所述用户服务调用请求相对应的目标服务数据包,得到服务结果;

结果输出单元,用于将所述服务结果进行输出。

上述装置,优选的,所述数据包获得单元包括:

模块生成子单元,用于基于mvc模型,生成所述api服务对象的服务提供模块和服务接口模块;

数据包生成子单元,用于利用maven,生成所述服务提供模块的服务数据包和所述服务接口模块的接口数据包。

上述装置,优选的,所述服务调用单元包括:

参数确定子单元,用于确定所述用户服务调用请求对应的配置参数及请求参数。

目标确定子单元,用于基于所述请求参数,确定与所述用户服务调用请求对应的目标服务数据包;

数据包运行子单元,用于基于所述配置参数,运行所述目标服务数据包,得到服务结果。

上述装置,优选的,还包括:

对象设置单元,用于在所述对象获得单元获得至少一个api服务对象之后,对每个所述api服务对象设置对象标识,并设置每个所述api服务对象的对象参数。

上述装置,优选的,还包括:

服务计费单元,用于基于所述服务结果进行计费操作。

由上述方案可知,本申请提供的一种api服务的管理方法及装置,通过在获得需要进行部署的api服务对象之后,生成api服务对象的服务数据包和接口数据包,进而用户可以根据提供的接口数据包进行输入操作,如编写自己的调用方法、配置各种参数等,进而生成用户服务调用请求,本申请在接收到这一请求之后运行对应的服务数据包,获得能够输出给用户的服务结果,由此根据用户自身的需求来为用户提供api服务,实现针对用户的api服务的自由定制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例一提供的一种api服务的管理方法的流程图;

图2及图3分别为本申请实施例一的部分流程图;

图4为本申请实施例二提供的一种api服务的管理方法的流程图;

图5为本申请实施例三提供的一种api服务的管理方法的流程图;

图6为本申请实施例四提供的一种api服务的管理装置的结构示意图;

图7及图8分别为本申请实施例四的部分结构示意图;

图9为本申请实施例五提供的一种api服务的管理装置的结构示意图;

图10为本申请实施例六提供的一种api服务的管理装置的结构示意图;

图11及图12分别为本申请实施例的应用示例图。

具体实施方式

随着全业务领域互联网+的发展,不仅只有大中型企业用户需要开发自己的api服务,中小型企业用户也有api服务自由定制的需求。api服务的自由定制,无需针对每个用户开发自己的api接口服务,只需把原本只面向大型企业的资源开放给中小企业用户,通过抽取共通的api需求就能满足大多数企业用户的需求。然而通常情况下,api服务模板并不能全部通用,现有的自由定制的api服务的管理方法效率较低,资源的复用率也比较低。

有鉴于此,本申请中通过提出一种api服务的管理方法,有效管理自由定制的api访问,提高资源复用率,面向用户提供同等的高质量的api服务,而只需要一套通用的api服务的模板,通过在整合这些模板,能够形成一个循环再利用的api公用服务生态链,促进资源可持续发展,具有环保“绿色”与科技“蓝色”相结合的独特新颖色彩,为“互联网+api服务”进程贡献一份力量。

本申请适用于管理全球广域网(worldwideweb,web)项目中为中小型企业用户开放通用api服务的自由定制的服务方式,使得之前面向大企业用户开发过的api服务的接口资源可以被复用于中小型企业用户,抽取共通的api服务提供给每一个企业用户调用,并将这些api服务整合成一套api服务的公用生态链,部署运行到web项目中。

参考图1,为本申请实施例一提供的一种api服务的管理方法的实现流程图,适用于web项目中api服务的自由定制。

本实施例中,该方法可以包括以下步骤:

步骤101:获得至少一个api服务对象。

其中,本实施例中可以通过调查哪些api服务具有改造成通用性较高、实用性较强的api通用服务的潜力,如手机实名认证服务、身份证实名认证服务等,进而抽取出通用api服务的需求,得到至少一个api服务对象。

需要说明的是,以上所提到的通用api服务可以包括有:已开发的面向大型企业用户的api服务以及抽取的面向中小型企业用户开发的api服务。

步骤102:获得所述api服务对象的服务数据包和接口数据包。

其中,本实施例中可以基于mvc模型来开发通用的api服务,具体可以参考图2,步骤102可以通过以下步骤实现:

步骤201:基于mvc模型,生成所述api服务对象的服务提供模块和服务接口模块。

步骤202:利用maven,生成所述服务提供模块的服务数据包和所述服务接口模块的接口数据包。

也就是说,本实施例中通过生成api服务对象的服务数据包及接口数据包,以服务数据包及接口数据包来表示对应的api服务,由此来将api服务改造成后续能够通用的api服务。

其中,所述服务数据包与所述接口数据包可以为jar包实现。例如,本实施例中基于mvc模型将api服务对象生成服务提供模块和服务接口模块之后,利用maven将两个模块分别打包成压缩文件,如jar包。

步骤103:将所述服务数据包进行部署,并向用户提供所述接口数据包。

具体的,本实施例中可以将服务数据包及接口数据包注册到服务平台上,这里的服务平台可以是第三方平台,也可以是通用api服务的提供者平台。

例如,本实施例在获得服务数据包之后,将服务数据包及接口数据包发布到服务平台的分布式框架上,服务平台提供通用api服务的提供者与通用api服务消费者之间的通信服务,例如,通用api服务消费者通过客户端如手机或电脑等终端与服务平台之间进行通信。

由此,服务平台向消费者即用户提供api服务的自由定制服务,并提供能够调用api服务的接口数据包及各类配置参数、相应的调用教程或者配置教程等。

步骤104:接收用户服务调用请求。

其中,所述用户服务调用请求基于用户利用所需的目标接口数据包所进行的输入操作生成。例如,通用api服务的消费者在向api服务的提供者购买api服务的自由定制服务之后,服务平台向用户提供各种api服务的接口数据包,还可以向用户提供调用教程或配置教程等示例,由此,用户可以根据教程等示例,通过客户端基于所需要的目标接口数据包编写自己的调用方法、配置连接信息及想要请求的服务数据包及其版本号等参数,进而生成用户服务调用请求,客户端与api服务的提供者的服务平台建立通信,成为api服务请求者开始进行服务调用。本实施例通过对用户服务调用请求进行接收,开始受理api服务请求者的服务调用需求。

其中,用户配置连接信息实例如下:

配置dubbo文件,注册成为消费者,主要配置以下dubbo信息:

<dubbo:applicationname="dubbo_consumer"owner="xxx"organization="xxx"></dubbo:application>

<dubbo:registryprotocol="zookeeper"address="xxx.xxx.xxx.xx:2181"check="false"></dubbo:registry>

<!--要引用的服务:身份证实名认证-->

<dubbo:referenceinterface="com.xxx.xxx.xxx.xxclientservice"id="xxclientservice"timeout="120000"retries="0"check="false"version="xxx"></dubbo:reference>

<!--要引用的服务:手机实名认证-->

<dubbo:referenceinterface="com.xxx.xxx.xxx.phonexxxclientservice"id="phonexxxclientservice"retries="0"timeout="120000"check="false"version="xxx"></dubbo:reference>

步骤105:基于所述用户服务调用请求,运行与所述用户服务调用请求相对应的目标服务数据包,得到服务结果。

其中,本实施例中可以根据用户服务调用请求中的各种参数来实现目标服务数据包的调用及运行,具体参考图3,步骤105可以通过以下步骤实现:

步骤301:确定所述用户服务调用请求对应的配置参数及请求参数。

其中,所述请求参数中包含用户所需要调用的目标数据包的参数。

步骤302:基于所述请求参数,确定与所述用户服务调用请求对应的目标服务数据包;

步骤303:基于所述配置参数,运行所述目标服务数据包,得到服务结果。

步骤106:将所述服务结果进行输出。

本实施例中可以通过数据传输接口等将服务结果传输到用户的客户端上,提供给用户。

由上述方案可知,本申请实施例一提供的一种api服务的管理方法,通过在获得需要进行部署的api服务对象之后,生成api服务对象的服务数据包和接口数据包,进而用户可以根据提供的接口数据包进行输入操作,如编写自己的调用方法、配置各种参数等,进而生成用户服务调用请求,本实施例在接收到这一请求之后运行对应的服务数据包,获得能够输出给用户的服务结果,由此根据用户自身的需求来为用户提供api服务,实现针对用户的api服务的自由定制。

参考图4,为本申请实施例二提供的一种api服务的管理方法的实现流程图,在步骤101之后,该方法还可以包括以下步骤:

步骤107:对每个所述api服务对象设置对象标识,并设置每个所述api服务对象的对象参数。

其中,对象标识能够唯一表示其对应的api服务对象,该对象标识可以用于后续的api服务的服务数据包和接口数据包的生成及调用中。

而所述对象参数可以为api服务对象的接口的各种输入输出参数等。输入参数由固定参数与每个特定api服务自己参数两部分组成,例如,固定参数:yw_id=65c55123-3a49-417e-8ae8-e103666ac7cb_ididentify;authz=55729cb9bf7da72db70c19186b27337c。服务自定义参数如身份实名认证服务:idcard=350xxxxxxxxxxxxxxx;name=陈xx。

输出参数如:{"result":0,"msg":"查询成功,姓名和身份证号一致","serialno":"5a69774425944bea93f5c768e4541123"}

需要说明的是,不同的api服务的自定义输入参数不一样,输入参数中的固定参数不变。而不同api服务的返回参数不一样。

参考图5,为本申请实施例三提供的一种api服务的管理方法的实现流程图,在步骤106之后,该方法还可以包括以下步骤:

步骤108:基于所述服务结果进行计费操作。

其中,本实施例中可以按服务次数进行扣费,每调用成功且满足扣费规则,就扣费一次。

例如,以身份实名认证服务的扣费规则为例,如下:

身份实名认证根据服务结果如返回码扣费:

以下返回码扣费:

查询成功,验证一致;

查询成功,不一致;

以下返回码不扣费:

101-查询失败,参数错误

102-查询失败,通道错误

也就是说,用户正式调用api服务一次,根据返回码对应扣费规则判断是否扣费,若需要扣费,当次调用成功在返回服务结果的参数给用户后马上扣费。若不需要扣费,则返回服务结果的参数给用户,并不扣费。

参考图6,为本申请实施例四提供的一种api服务的管理装置的结构示意图,该装置可以包括以下结构:

对象获得单元601,用于获得至少一个api服务对象。

其中,本实施例中可以通过调查哪些api服务具有改造成通用性较高、实用性较强的api通用服务的潜力,如手机实名认证服务、身份证实名认证服务等,进而抽取出通用api服务的需求,得到至少一个api服务对象。

需要说明的是,以上所提到的通用api服务可以包括有:已开发的面向大型企业用户的api服务以及抽取的面向中小型企业用户开发的api服务。

数据包获得单元602,用于获得所述api服务对象的服务数据包和接口数据包。

其中,本实施例中可以基于mvc模型来开发通用的api服务,具体可以参考图7,数据包获得单元602可以通过以下结构实现:

模块生成子单元701,用于基于mvc模型,生成所述api服务对象的服务提供模块和服务接口模块;

数据包生成子单元702,用于利用maven,生成所述服务提供模块的服务数据包和所述服务接口模块的接口数据包。

也就是说,本实施例中通过生成api服务对象的服务数据包及接口数据包,以服务数据包及接口数据包来表示对应的api服务,由此来将api服务改造成后续能够通用的api服务。

其中,所述服务数据包与所述接口数据包可以为jar包实现。例如,本实施例中基于mvc模型将api服务对象生成服务提供模块和服务接口模块之后,利用maven将两个模块分别打包成压缩文件,如jar包。

数据包部署单元603,用于将所述服务数据包进行部署,并向用户提供所述接口数据包。

具体的,本实施例中可以将服务数据包及接口数据包注册到服务平台上,这里的服务平台可以是第三方平台,也可以是通用api服务的提供者平台。

例如,本实施例在获得服务数据包之后,将服务数据包及接口数据包发布到服务平台的分布式框架上,服务平台提供通用api服务的提供者与通用api服务消费者之间的通信服务,例如,通用api服务消费者通过客户端如手机或电脑等终端与服务平台之间进行通信。

由此,服务平台向消费者即用户提供api服务的自由定制服务,并提供能够调用api服务的接口数据包及各类配置参数、相应的调用教程或者配置教程等。

请求接收单元604,用于接收用户服务调用请求。

其中,所述用户服务调用请求基于用户利用所需的目标接口数据包所进行的输入操作生成。例如,通用api服务的消费者在向api服务的提供者购买api服务的自由定制服务之后,服务平台向用户提供各种api服务的接口数据包,还可以向用户提供调用教程或配置教程等示例,由此,用户可以根据教程等示例,通过客户端基于所需要的目标接口数据包编写自己的调用方法、配置连接信息及想要请求的服务数据包及其版本号等参数,进而生成用户服务调用请求,客户端与api服务的提供者的服务平台建立通信,成为api服务请求者开始进行服务调用。本实施例通过对用户服务调用请求进行接收,开始受理api服务请求者的服务调用需求。

服务调用单元605,用于基于所述用户服务调用请求,运行与所述用户服务调用请求相对应的目标服务数据包,得到服务结果。

其中,本实施例中可以根据用户服务调用请求中的各种参数来实现目标服务数据包的调用及运行,具体参考图8,服务调用单元605可以通过以下结构实现:

参数确定子单元801,用于确定所述用户服务调用请求对应的配置参数及请求参数。

其中,所述请求参数中包含用户所需要调用的目标数据包的参数。

目标确定子单元802,用于基于所述请求参数,确定与所述用户服务调用请求对应的目标服务数据包。

数据包运行子单元803,用于基于所述配置参数,运行所述目标服务数据包,得到服务结果。

结果输出单元606,用于将所述服务结果进行输出。

由上述方案可知,本申请实施例四提供的一种api服务的管理装置,通过在获得需要进行部署的api服务对象之后,生成api服务对象的服务数据包和接口数据包,进而用户可以根据提供的接口数据包进行输入操作,如编写自己的调用方法、配置各种参数等,进而生成用户服务调用请求,本实施例在接收到这一请求之后运行对应的服务数据包,获得能够输出给用户的服务结果,由此根据用户自身的需求来为用户提供api服务,实现针对用户的api服务的自由定制。

参考图9,为本申请实施例五提供的一种api服务的管理装置的结构示意图,该装置还可以包括以下结构:

对象设置单元607,用于在所述对象获得单元601获得至少一个api服务对象之后,对每个所述api服务对象设置对象标识,并设置每个所述api服务对象的对象参数。

其中,对象标识能够唯一表示其对应的api服务对象,该对象标识可以用于后续的api服务的服务数据包和接口数据包的生成及调用中。

而所述对象参数可以为api服务对象的接口的各种输入输出参数等。

参考图10,为本申请实施例六提供的一种api服务的管理装置的结构示意图,该装置还可以包括以下结构:

服务计费单元608,用于基于所述服务结果进行计费操作。

其中,本实施例中可以按服务次数进行扣费,每调用成功且满足扣费规则,就扣费一次。

以上本申请的实施例可以适用于在能够提供api服务的提供者的服务平台上,如服务公司的web系统上,以下结合图11中的服务开发流程图对本实施例的具体示例进行说明:

首先,整理通用api服务需求,调查哪些服务具有改造成通用性较高、实用性较强的api通用服务的潜力(如:手机实名认证、身份证实名认证等),抽取出api通用服务的需求,然后赋予每一个api通用服务唯一标识,并制定每一个接口的输入输出参数等标准。

然后,基于mvc模型开发通用api服务,包括具体实现web项目(服务提供模块)和提供给用户调用的接口(服务接口模块)这两部分,将服务提供模块和服务接口模块打包成jar包,分别为:服务数据包及接口数据包。

其次,将具有唯一标识的api通用服务具体实现web项目部署到分布式框架如web系统上,或者称为:注册到服务平台,而作为api通用服务(即前文中的api服务)的服务提供者,与api通用服务消费者通信后,两边即可正常提供服务和消费服务。

再次,用户在web系统上开通购买api通用服务,web系统会向用户提供调用示例和调用服务提供者方法的jar(接口数据包),获取调用api通用服务jar包(接口数据包)后,用户只需要按照web项目提供的教程提示调用即可。

之后,用户根据web系统提供调用用例,编写自己的调用方法,配置连接信息及想要请求的服务方法及版本号等参数,与api通用服务提供者的服务器通信,成为服务请求者并开始调用。

再然后,服务平台根据服务请求者的配置信息及请求参数,将请求分配给已注册的服务提供者方法,即服务数据包,再运行服务提供者方法处理相关业务逻辑请求并返回结果。

最后,用户作为服务消费者获取服务平台返回的结果。调用结束,实施扣费成功,流程结束。

由此,上述方案中,用户进行服务调用的请求方法便捷、安全,通过jar包访问服务提供者的服务平台,并请求服务,jar仅包含调用接口,不包含实现代码,高效又安全。而且请求方式具有低耦合性、良好的安全性和稳定性。

同时,本方案中无需额外部署项目,无需冗余运营成本,使用一套模板用户即可轻松实现api服务请求。

由此,通过本申请用户能够自由选择通用api服务,如图12所示,如身份实名认证、手机实名认证及其他api等(api1~api6),在开放api服务的自由定制之后,形成全生态业务线api成果,为更多中小型企业提供自助服务,为自己量身打造服务方案,实现私有化,定制化效果,从大中型时长走向中小型市场。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

以上对本申请所提供的一种api服务的管理方法及装置进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1