CN113746646A - 一种应用程序接口api网关计费方法、装置、设备及介质 - Google Patents
一种应用程序接口api网关计费方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113746646A CN113746646A CN202111002341.9A CN202111002341A CN113746646A CN 113746646 A CN113746646 A CN 113746646A CN 202111002341 A CN202111002341 A CN 202111002341A CN 113746646 A CN113746646 A CN 113746646A
- Authority
- CN
- China
- Prior art keywords
- api
- target account
- identification information
- charging
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种应用程序接口API网关计费方法、装置、设备及介质,用于快捷准确的对API网关进行计费。由于本申请可以在接收到API接口调用请求时,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息;若目标账户费用信息中存在可用额度,则可以根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口;并基于目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内目标账户的费用进行计费,从而可以快捷准确的对API网关进行计费。
Description
技术领域
本申请涉及API网关计费技术领域,尤其涉及一种应用程序接口API网关计费方法、装置、设备及介质。
背景技术
应用程序接口(Application Program Interface,API)是一组定义、程序及协议的集合,通过API接口可以实现计算机软件之间的相互通信。
随着越来越多价值高、实用性强的API接口通过API网关对外开放调用,API服务的提供方有通过开放API接口创造收入、获取利润的强烈需求。这就使得用户需要支付一定的费用方能调用API接口。
因此,如何快捷准确的对API网关进行计费,是目前亟需解决的一个技术问题。
发明内容
本申请提供了一种应用程序接口API网关计费方法、装置、设备及介质,用于快捷准确的对API网关进行计费。
第一方面,本申请公开了一种应用程序接口API网关计费方法,所述方法包括:
若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费包括:
根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;
基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述统计当前费用统计周期内所述API接口的调用总次数包括:
根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
在一种可能的实施方式中,所述确定所述目标账户的标识信息对应的目标账户费用信息之后,所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口之前,所述方法还包括:
判断所述目标账户费用信息中是否包含计费规则,若是,则进行后续步骤。
在一种可能的实施方式中,所述方法还包括:
若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
在一种可能的实施方式中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,所述方法还包括:
若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
第二方面,本申请提供了一种应用程序接口API网关计费装置,所述装置包括:
确定模块,用于若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
第一计费模块,用于若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
第二计费模块,用于基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述第二计费模块,具体用于根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述第二计费模块,具体用于根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
在一种可能的实施方式中,所述第一计费模块,还用于判断所述目标账户费用信息中是否包含计费规则,若是,则进行所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口的步骤。
在一种可能的实施方式中,所述装置还包括:
提示模块,用于若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
在一种可能的实施方式中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,所述提示模块,还用于若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
第三方面,本申请提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述应用程序接口API网关计费方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述应用程序接口API网关计费方法的步骤。
由于本申请可以在接收到API接口调用请求时,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息;若目标账户费用信息中存在可用额度,则可以根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口;并基于目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内目标账户的费用进行计费,从而可以快捷准确的对API网关进行计费。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了一些实施例提供的第一种API网关计费过程示意图;
图2示出了一些实施例提供的第二种API网关计费过程示意图;
图3示出了一些实施例提供的第三种API网关计费过程示意图;
图4示出了一些实施例提供的第四种API网关计费过程示意图;
图5示出了一些实施例提供的第五种API网关计费过程示意图;
图6示出了一些实施例提供的第六种API网关计费过程示意图;
图7示出了一些实施例提供的第七种API网关计费过程示意图;
图8示出了一些实施例提供的第八种API网关计费过程示意图;
图9示出了一些实施例提供的一种API网关计费装置示意图;
图10示出了一些实施例提供的一种电子设备结构示意图。
具体实施方式
为了快捷准确的对API网关进行计费,本申请提供了一种应用程序接口API网关计费方法、装置、设备及介质。
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
实施例1:
图1示出了一些实施例提供的第一种API网关计费过程示意图,该过程包括以下步骤:
S101:若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息。
本申请实施例提供的API网关计费方法应用于电子设备,该电子设备可以是服务器,也可以是PC、移动终端等设备。
在一种可能的实施方式中,用户如果想要调用API接口,可以触发该API接口对应的API接口调用请求。在一种可能的实施方式中,API接口调用请求中可以携带用户预调用的API接口对应的API标识信息、调用该API接口产生的费用需要计费到哪个账户(目标账户)的标识信息等。其中,API接口调用请求的触发条件可以根据需求灵活设置,本申请对此不做具体限定。用户触发API接口调用请求后,电子设备可以接收到该API接口调用请求。
在一种可能的实施方式中,为了快捷准确的对API网关进行计费,管理员等用户可以预先设置账户的标识信息与账户费用信息的对应关系,并将该对应关系保存在电子设备中。示例性的,账户费用信息可以包括该账户的可用额度、费用统计周期、计费规则等。其中,账户费用信息以及账户的标识信息与账户费用信息的对应关系,可以根据需求灵活设置,本申请对此不做具体限定。
在一种可能的实施方式中,电子设备若接收到API接口调用请求,可以根据API接口调用请求中携带的账户(为方便描述,称为目标账户)的标识信息以及电子设备自身保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息。
S102:若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口。
在一种可能的实施方式中,在接收到API接口调用请求并确定了API接口调用请求中携带的目标账户的标识信息对应的目标账户费用信息之后,在调用API接口之前,可以先判断目标账户费用信息中是否还存在可用额度,若目标账户费用信息中存在可用额度,可以认为该目标账户可以(有权限)调用对应的API接口,电子设备可以根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
在一种可能的实施方式中,若目标账户费用信息中不存在可用额度,可以认为该目标账户当前不可以(没有权限)调用对应的API接口,则可以不进行根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口的步骤。
在一种可能的实施方式中,为了提高用户体验,若目标账户费用信息中不存在可用额度,可以将预设的提示信息发送给所述API接口调用请求对应的终端。示例性的,预设的提示信息可以是无可用额度等提示信息,其中,提示信息可以根据需求灵活设置,本申请对此不做具体限定。
S103:基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,费用统计周期可以是一分钟、一小时、一个月、半年、一年等,可以根据需求灵活设置。示例性的,当费用统计周期为一分钟时,可以每一分钟统计一次费用;当费用统计周期为一小时时,可以每一小时统计一次费用;当费用统计周期为一个月时,可以每一个月统计一次费用等,在此不再赘述。
在一种可能的实施方式中,计费规则可以包括计费方式、计费周期、计费单价等。其中,计费方式可以包括先付费再调用API接口的计费方式(为方便描述,称为预付费)、先调用API接口再付费的计费方式等(为方便描述,称为后付费)。
计费周期可以包括按调用API接口的次数计费(为方便描述,称为实时计费)、按时间计费(例如按年计费、按月计费等,与年度、月度等时间内调用API接口的次数无关,按年度、月度等时间收取固定的费用)等。
计费单价为按调用API接口的次数计费时,每次调用API接口产生的费用。在一种可能的实施方式中,计费单价可以是固定单价,也可以是阶梯单价等。其中,固定单价可以是每次调用API接口的费用均相同,例如无论调用多少次API接口,每次调用API接口的费用均是0.1元(0.1元/次)。阶梯单价可以是随着API接口调用总次数的变化,每次调用API接口产生的费用以阶梯形式计费,示例性的,例如在一年度内,第1次-第10000次调用API接口时,每次调用API接口的费用均是0.5元(0.5元/次);在第10001次-第100000次调用API接口时,每次调用API接口的费用均是0.3元(0.3元/次);第100001次-第1000000次调用API接口时,每次调用API接口的费用均是0.1元(0.1元/次)等。
在一种可能的实施方式中,调用API接口之后,电子设备可以基于目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内目标账户的费用进行计费。示例性的,当目标账户费用信息中的费用统计周期是一分钟,计费规则为实时计费,且计费单价为固定单价0.1元/次时,如果当前费用统计周期内目标账户共调用了10次该API接口,则当前费用统计周期内目标账户因调用该API接口产生的费用为1元。
由于本申请可以在接收到API接口调用请求时,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息;若目标账户费用信息中存在可用额度,则可以根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口;并基于目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内目标账户的费用进行计费,从而可以快捷准确的对API网关进行计费。
实施例2:
为了准确的对API网关进行计费,在上述实施例的基础上,在本申请实施例中,所述基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费包括:
根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;
基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,例如计费规则是按调用API接口的次数进行计费(实时计费)时,为了准确的对API网关进行计费,可以先根据目标账户费用信息中的费用统计周期,统计当前费用统计周期内API接口的调用总次数。由于是基于调用API接口的次数来进行计费,因此,对用户调用API接口的次数进行精准化计量(统计)是实现准确计费的关键。
在一种可能的实施方式中,为了精准化计量用户调用API接口的调用总次数,在上述各实施例的基础上,在本申请实施例中,所述统计当前费用统计周期内所述API接口的调用总次数包括:
根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
图2示出了一些实施例提供的第二种API网关计费过程示意图,如图2所示,该过程包括以下步骤:
S201:若接收到API接口调用请求,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息。
S202:若目标账户费用信息中存在可用额度,则根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
S203:根据键值Key-Value存储数据库中存储的当前费用统计周期内API接口的调用次数,确定当前费用统计周期内API接口的调用总次数。
S204:基于目标账户费用信息中的计费规则及当前费用统计周期内API接口的调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,可以基于重申(Redis)、Memcached等键值(Key-Value)存储数据库的原子化等特性,来精准统计当前费用统计周期内API接口的调用总次数。为方便理解,下面以Redis数据库为例,对本申请精准统计当前费用统计周期内API接口的调用总次数的过程进行解释说明。
在一种可能的实施方式中,电子设备在确定目标账户费用信息中存在可用额度之后,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口之前,可以将该次调用API接口的调用次数(如1等),预记录到Redis等Key-Value存储数据库的临时键值上。电子设备在成功调用API标识信息对应的API接口之后,可以将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上,并可以在当前费用统计周期结束后,将该费用统计周期(为方便描述,称为当前费用统计周期)内,Key-Value存储数据库中最终累加得到的调用总次数,作为当前费用统计周期内该API接口的调用总次数。
在一种可能的实施方式中,如果费用统计周期为一分钟,可以基于“user_api_call_count_yyyyMMddHHmm”标识查看Redis中以有序集合Zset结构记录的该当前费用统计周期内API接口的调用总次数;如果费用统计周期为一小时,可以基于“user_api_call_count_yyyyMMddHH”标识查看Redis中记录的该当前费用统计周期内API接口的调用总次数。
示例性的,以费用统计周期为一分钟为例,如果在当前费用统计周期的第1秒钟,接收到API接口调用请求,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息,并确定目标账户费用信息中存在可用额度时,可以将该次调用API接口的调用次数1,预记录到Redis等Key-Value存储数据库的临时键值上。然后,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口,即成功调用了1次API接口,则可以将临时键值上预记录的调用次数1累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上,此时累加后的调用次数为1。
如果在当前费用统计周期的第5秒钟,又通过上述方式成功调用了1次API接口,则又可以将临时键值上预记录的调用次数1累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上,此时累加后的调用次数为2。如果之后均没有调用该API接口,则可以在一分钟结束后,将当前费用统计周期(一分钟)内,Key-Value存储数据库中最终累加得到的调用总次数2,作为当前费用统计周期内该API接口的调用总次数。即当前费用统计周期内该API接口的调用总次数为2。
在一种可能的实施方式中,如果没有成功调用API标识信息对应的API接口,则可以将临时键值上预记录的调用次数进行取消(删除),不将临时键值上预记录的调用次数累加到Key-Value存储数据库当前存储的API接口的调用次数上。
在一种可能的实施方式中,确定(统计)了当前费用统计周期内API接口的调用总次数之后,可以基于目标账户费用信息中的计费规则及调用总次数,对当前费用统计周期内目标账户的费用进行计费。
示例性的,例如目标账户费用信息中的费用统计周期是一小时,计费规则为实时计费,且计费单价为阶梯单价,例如在一年度内,第1次-第10000次调用API接口时,每次调用API接口的费用均是0.5元(0.5元/次);在第10001次-第100000次调用API接口时,每次调用API接口的费用均是0.3元(0.3元/次),当前费用统计周期内用户(目标账户)共调用了20次该API接口,该年度内在该当前费用统计周期之前该API接口已经总共被调用超过了10000次,则该当前费用统计周期内这20次调用API接口时,每次调用API接口的单价均是0.3元,则当前费用统计周期内,用户因调用该API接口产生的费用为0.3元/次*20次=6元。
在一种可能的实施方式中,在对当前费用统计周期内目标账户的费用进行计费时,可以根据当前可用额度(费用)以及用户(目标账户)在当前费用统计周期内因调用API接口产生的费用的差值,对当前可用额度进行更新。示例性的,如果在调用API接口之前,当前可用额度为10元,当前费用统计周期内,用户因调用该API接口产生的费用为6元,则可以将目标账户的可用额度更新为4元。
而如果在调用API接口之前,当前可用额度为0.1元,当前费用统计周期内,用户因调用该API接口产生的费用为0.3元,则可以将目标账户的可用额度更新为-0.2元,并将预设的目标账户费用信息中不存在可用额度对应的提示信息发送给API接口调用请求对应的终端,使调用方(用户)可以通过终端,查看到该提示信息。
为方便理解,下面通过一个具体实施例对本申请提供的API网关计费过程进行说明。图3示出了一些实施例提供的第三种API网关计费过程示意图,如图3所示,该过程包括以下步骤:
S301:接收API接口调用请求。
S302:根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息。
S303:判断目标账户费用信息中是否存在可用额度,若是,则进行S304;若否,则进行S310。
S304:将该次调用API接口的调用次数(如1等),预记录到Redis等Key-Value存储数据库的临时键值上。
S305:根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
S306:将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上。
S307:向API接口调用请求对应的终端发送成功调用API接口的应答报文。
S308:根据Redis等Key-Value存储数据库中存储的当前费用统计周期内API接口的调用次数,确定当前费用统计周期内该API接口的调用总次数。
S309:基于目标账户费用信息中的计费规则以及当前费用统计周期内该API接口的调用总次数,对当前费用统计周期内目标账户的费用进行计费。
S310:将预设的提示信息发送给API接口调用请求对应的终端。
图4示出了一些实施例提供的第四种API网关计费过程示意图,如图4所示,在一种可能的实施方式中,API接口调用请求中以JavaScript对象表示法(JavaScript ObjectNotation,JSON)格式携带API标识信息、目标账户的标识信息以及API接口调用请求标识信息(请求标识,requestId)。其中,API标识信息可以包括API服务所属的API网关的标识信息(API网关系统标识,systemId)、API接口所属的API服务的标识信息(服务标识,productId)、API接口的标识信息(接口标识,apiId)。目标账户的标识信息可以包括目标账户所属的用户的标识信息(用户标识,appId),当目标账户是总账户时,目标账户的标识信息还可以包括总账户标识信息(accountId),当目标账户是子账户时,目标账户的标识信息还可以包括子账户标识信息(subAccountId)。
其中,为方便描述,将接收API接口调用请求之后,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口之前,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息(S302步骤)、判断目标账户费用信息中是否存在可用额度(S303步骤)、以及在目标账户费用信息中存在可用额度时,将该次调用API接口的调用次数(如1等),预记录到Redis等Key-Value存储数据库的临时键值上(S304步骤)称为计费预处理阶段(第一阶段),即将S302、S303、S304步骤称为计费预处理阶段。将根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口之后,将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上(S306步骤)称为计费后处理阶段(第二阶段),即将S306步骤称为计费后处理阶段。
本申请通过在调用API接口之前织入计费预处理阶段(第一阶段),在调用API接口之后织入计费后处理阶段(第二阶段),第一阶段和第二阶段结合的计费方式(为方便描述,称为两阶段计费方式),既可以在初步判断目标账户费用信息中存在可用额度时,才调用对应的API接口,方便计费管理;又可以在成功调用API接口之后,再对该次调用API接口产生的费用进行计费,实现准确计费,提高用户体验。
实施例3:
为了提高计费效率及计费准确性,在上述各实施例的基础上,在本申请实施例中,所述确定所述目标账户的标识信息对应的目标账户费用信息之后,所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口之前,所述方法还包括:
判断所述目标账户费用信息中是否包含计费规则,若是,则进行后续步骤。
图5示出了一些实施例提供的第五种API网关计费过程示意图,如图5所示,该过程包括以下步骤:
S501:接收API接口调用请求。
S502:根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息。
S503:判断目标账户费用信息中是否包含计费规则,若是,则进行S504;若否,则进行S506。
S504:若目标账户费用信息中存在可用额度,则根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
S505:基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
S506:将预设的提示信息发送给API接口调用请求对应的终端。
在一种可能的实施方式中,考虑到目标账户费用信息中包含计费规则时,可以基于该计费规则对该目标账户进行计费;而如果目标账户费用信息中不包含计费规则,则可能无法获知应该如何对该目标账户进行计费,无法准确的对该目标账户进行计费,在一种可能的实施方式中,为了提高计费效率及计费准确性,在确定目标账户的标识信息对应的目标账户费用信息之后,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口之前,可以先判断目标账户费用信息中是否包含计费规则,如果目标账户费用信息中包含计费规则,则可以进行后续根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口的步骤。
而如果目标账户费用信息中不包含计费规则,则可以不进行后续根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口的步骤。在一种可能的实施方式中,为了提高用户体验,若目标账户费用信息中不包含计费规则,则可以将预设的提示信息发送给API接口调用请求对应的终端,其中,当目标账户费用信息中不包含计费规则时发送的提示信息与上述实施例中当目标账户费用信息中不存在可用额度时发送的提示信息可以相同也可以不同,可以根据需求灵活设置,本申请对此不做具体限定。
由于本申请可以在确定目标账户的标识信息对应的目标账户费用信息之后,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口之前,先判断目标账户费用信息中是否包含计费规则,如果目标账户费用信息中包含计费规则,才进行后续根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口的步骤,从而可以提高计费效率及计费准确性。
为方便理解,下面再通过一个具体实施例对本申请提供的API网关计费过程进行说明。图6示出了一些实施例提供的第六种API网关计费过程示意图,如图6所示,该过程包括以下步骤:
S601:接收API接口调用请求(接收请求)。
S602:根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息。
在一种可能的实施方式中,图7示出了一些实施例提供的第七种API网关计费过程示意图,参阅图7,在执行计费预处理阶段(图中计费预处理逻辑)的步骤之前,还可以先对API接口调用请求中携带的API标识信息对应的API接口的调用总次数(流量)进行判断(流量控制),如果该API接口的调用总次数符合预设要求,且目标账户有权限调用该API接口(权限验证)时,可以对API接口调用请求报文进行处理后,开始执行计费预处理阶段(计费预处理逻辑)的步骤。其中,可以采用现有技术进行流量控制、权限验证、API接口调用请求报文处理,在此不再赘述。
S603:判断目标账户费用信息中是否包含计费规则,若是,则进行S604;若否,则进行S611。
其中,参阅图4及图7,在计费预处理阶段,可以通过计费接入模块,判断目标账户费用信息中是否包含计费规则。在一种可能的实施方式中,可以依次判断目标账户费用信息是否包含计费方式(预付费或后付费)、计费周期(实时计费或按时间计费),当计费周期为实时计费时,再进一步判断目标账户费用信息中是否包含计费单价(固定单价或阶梯单价),如果均包含,则可以认为目标账户费用信息中包含计费规则。在一种可能的实施方式中,在计费预处理阶段,还可以判断API接口调用请求中携带的目标账户的类型,判断该目标账户是总账户还是子账户,以可以将费用准确的计费到目标账户中。
其中,为方便描述,将计费预处理阶段中的确定计费规则中计费方式、计费周期、计费单价等参数以及判断目标账户的类型的过程称为多维度计费策略选择。
S604:判断目标账户费用信息中是否存在可用额度,若是,则进行S605;若否,则进行S611。
其中,为方便描述,将计费预处理阶段中的该步骤(S604)称为可用额度验证。
S605:将该次调用API接口的调用次数(如1等),预记录到Redis等Key-Value存储数据库的临时键值上。
其中,为方便描述,将计费预处理阶段中的该步骤(S605)称为计费准备。
S606:根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
参阅图7,其中,根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口时,可以是将API标识信息发送给API网关(API网关系统)的服务路由,服务路由确定API标识信息对应的API接口,并调用API标识信息对应的API接口,以提供对应的服务(后端服务)。
S607:将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上。
其中,参阅图4及图7,在调用API接口后,可以开始执行计费后处理阶段(计费后处理逻辑)的步骤。在计费后处理阶段,在将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上时,可以先基于计费接入模块、API接口调用请求中携带的API标识信息以及目标账户的标识信息等,先确定目标账户及用户调用的API接口(为方便描述,称为计费确认)。然后再将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的目标账户的当前费用统计周期内该API接口的调用次数上(为方便描述,称为执行计费)。
在一种可能的实施方式中,计费确认过程中还可以根据是否成功调用API接口确定是否需要计费的标识符。示例性的,当成功调用API接口时,计费的标识符可以是“确认计费”,则执行计费时可以将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上。当没有成功调用API接口时,计费确认过程中计费的标识符可以是“不计费”,则执行计费时可以将临时键值上预记录的调用次数进行取消(删除),而不将临时键值上预记录的调用次数累加到Key-Value存储数据库当前存储的API接口的调用次数上。
S608:向API接口调用请求对应的终端发送成功调用API接口的应答报文。
其中,参阅图7,可以采用现有技术对应答报文进行处理后,向API接口调用请求对应的终端发送成功调用API接口的应答报文(返回应答)。
S609:根据Redis等Key-Value存储数据库中存储的当前费用统计周期内API接口的调用次数,确定当前费用统计周期内该API接口的调用总次数。
S610:基于目标账户费用信息中的计费规则以及当前费用统计周期内该API接口的调用总次数,对当前费用统计周期内目标账户的费用进行计费。
其中,参阅图7,可以基于API网关计费系统中的计费批处理模块执行基于目标账户费用信息中的计费规则以及当前费用统计周期内该API接口的调用总次数,对当前费用统计周期内目标账户的费用进行计费的步骤(S610步骤)。在一种可能的实施方式中,对目标账户的计费信息,以及扣减当前费用统计周期该目标账户的可用额度等信息,可以持久化保存在持久化保存型数据库以及Redis等Key-Value存储数据库中。
S611:将预设的提示信息发送给API接口调用请求对应的终端。
实施例4:
在一种可能的实施方式中,为了可以同时对多个API网关进行计费,在上述各实施例的基础上,在本申请实施例中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,如果将上述实施例中的API网关计费方法所应用于的电子设备称为API网关计费系统,为了使同一API网关计费系统可以同时对多个API网关进行计费,API接口调用请求中携带的API标识信息可以包括API接口的标识信息、API接口所属的API服务的标识信息以及API服务所属的API网关的标识信息。API网关计费系统可以根据该API标识信息,确定用户预调用的API接口所属的API网关,从而可以在准确的对该API网关进行计费的同时,也可以实现可以同时对多个API网关进行计费。
考虑到API网关通常是以集群化架构部署的,一个集群中通常部署多个API网关,相比一个API网关计费系统只能耦合的对一个API网关进行计费而言,本申请实施例中同一API网关计费系统可以同时对多个API网关进行计费的方式,可以提高设备利用率,更节能。
为方便理解,下面再通过一个具体实施例对本申请提供的API网关计费过程进行说明。参阅图7,管理员等可以基于计费配置管理模块预先将账户的标识信息与账户费用信息的对应关系保存(配置)在Redis(内存型数据库,非持久化保存型数据库)以及持久化保存型数据库(图中数据库)中。其中,Redis数据库中保存的对应关系用于在对目标账户的费用进行计费时使用(被读取),考虑到Redis数据库中保存(缓存)的对应关系等可能会在电子设备突然断电关机等时而丢失,将账户的标识信息与账户费用信息的对应关系等保存在持久化保存型数据库中时,持久化保存型数据库可以将该对应关系持久化保存,不受电子设备突然断电关机等的影响。
在一种可能的实施方式中,管理员等将账户的标识信息与账户费用信息的对应关系保存(配置)在Redis以及持久化保存型数据库中时,可以通过API网关计费系统中的计费配置模块提供提示界面等完成配置。在一种可能的实施方式中,管理员等也可以录入API接口所述的API服务的标识信息(productCode,productId)、API接口标识信息(apiCode,apiId)以及用户的标识信息(appId)的对应关系(productCode_apiCode_appId),电子设备可以基于该对应关系,确定用户在通过目标账户调用API服务中的API接口时对应的账户费用信息。
在一种可能的实施方式中,在Redis中保存账户费用信息中的费用统计周期、计费规则等时,可以使用Redis的散列(Hash)类型存储任一账户针对任一API接口的计费规则等账户费用信息。
示例性的,可以通过设置费用开关(feeSwitch)的状态来设置是否需要对该目标账户(用户)进行计费,示例性的,feeSwitch设置为“on”状态时,可以认为需要对该目标账户进行计费;当feeSwitch设置为“off”状态时,可以认为无需对该目标账户进行计费。
再示例性的,可以通过设置计费规则中的计费方式(feeType)来设置该目标账户(用户)的计费方式是预付费还是后付费,示例性的,当feeType设置为01时,可以认为目标账户的计费方式是预付费;当feeType设置为02时,可以认为目标账户的计费方式是后付费。
再示例性的,可以通过设置计费规则中的计费周期(feePeriod)来设置该目标账户(用户)的计费周期是实时计费,还是按时间计费,例如按年计费、按月计费等。示例性的,当feePeriod设置为01时,可以认为目标账户的计费周期是实时计费;当feePeriod设置为02时,可以认为目标账户的计费周期是按年计费;当feePeriod设置为03时,可以认为目标账户的计费周期是按月计费。
再示例性的,可以通过设置计费规则中的计费单价(feePrice)来设置该目标账户(用户)的计费单价是固定单价,还是阶梯单价等。示例性的,当feePrice设置为01时,可以认为目标账户的计费单价是固定单价;当feePrice设置为02时,可以认为目标账户的计费单价是阶梯单价。
再示例性的,当计费单价是阶梯单价时,可以通过设置阶梯单价的单价规则(feePriceRule)来设置阶梯单价的计费规则,示例性的,当阶梯单价的计费规则为在一年度内,第1次-第10000次调用API接口时,每次调用API接口的费用均是0.5元(0.5元/次);在第10001次之后(第10001次到无穷次),每次调用API接口的费用均是0.3元(0.3元/次)时,可以将“feePriceRule”设置为“1:10000:0.50#10001:-1:0.30”。
在一种可能的实施方式中,当用户只对应一个账户,该账户下面没有子账户时,可以将该账户认为是总账户,该用户调用API接口产生的费用均计费到该总账户(目标账户)中。当用户的账户(总账户)对应有多个子账户时,API接口调用请求中可以携带该次调用API接口产生的费用计费到哪个子账户(目标账户)的标识信息(subAccountId)。也就是说,目标账户的类型可以是用户的总账户,也可以是用户的子账户。在一种可能的实施方式中,可以通过设置账户类型(feeAccountType)来设置目标账户的类型,示例性的,当feeAccountType设置为01时,可以认为目标账户的类型为总账户;当feeAccountType设置为02时,可以认为目标账户的类型为子账户。
在一种可能的实施方式中,参阅图7,API网关计费系统中可以包含计费接入模块,其中计费接入模块可以对外提供超文本传输协议(Hyper Text Transfer Protocol,HTTP)协议或其他远程过程调用(Remote Procedure Call,RPC)协议的接口,至少一个API网关可以通过该计费接入模块与API网关计费系统建立连接。在一种可能的实施方式中,API网关与API网关计费系统之间可以通过HTTP协议、Web Service协议或Dubbo等系统间通信协议进行通信。
在一种可能的实施方式中,API网关以及API网关计费系统可以均是使用了Spring框架实现的Web应用系统。根据技术选型的不同,API网关可以是基于Nginx及Lua脚本,以及基于Java或者其他开发语言实现的Web应用服务。API网关的实现方式虽然比较多样化,但是其核心功能均是通过封装后端各种API服务,以API接口的形式统一对外提供给用户使用。
为方便理解,下面通过一个具体实施例对本申请提供的API网关计费过程进行解释说明。图8示出了一些实施例提供的第八种API网关计费过程示意图,如图8所示,该过程包括以下步骤:
S801:接收用户触发的API接口调用请求。
S802:根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息。
S803:判断目标账户费用信息中是否包含计费规则,若是,则进行S804;若否,则进行S812。
S804:判断目标账户费用信息中是否存在可用额度,若是,则进行S805;若否,则进行S812。
S805:判断目标账户费用信息中的计费规则的计费周期是否是实时计费,若是,则进行S806。
在一种可能的实施方式中,若目标账户费用信息中的计费规则的计费周期为按时间计费(例如按年计费、按月计费等,与年度、月度等时间内调用API接口的次数无关,按年度、月度等时间收取固定的费用),则可以根据计费规则中按时间收取的固定的费用信息,对当前费用统计周期内目标账户的费用进行计费。
S806:将该次调用API接口的调用次数(如1等),预记录到Redis等Key-Value存储数据库的临时键值上。
S807:根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口。
S808:将临时键值上预记录的调用次数累加到Redis等Key-Value存储数据库当前存储的当前费用统计周期内该API接口的调用次数上。
S809:向API接口调用请求对应的终端发送成功调用API接口的应答报文。
S810:根据Redis等Key-Value存储数据库中存储的当前费用统计周期内API接口的调用次数,确定当前费用统计周期内该API接口的调用总次数。
S811:基于目标账户费用信息中的计费规则以及当前费用统计周期内该API接口的调用总次数,对当前费用统计周期内目标账户的费用进行计费。
S812:将预设的提示信息发送给API接口调用请求对应的终端。
实施例5:
基于相同的技术构思,本申请提供了一种应用程序接口API网关计费装置,图9示出了一些实施例提供的一种API网关计费装置示意图,如图9所示,该装置包括:
确定模块91,用于若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
第一计费模块92,用于若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
第二计费模块93,用于基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述第二计费模块93,具体用于根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述第二计费模块93,具体用于根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
在一种可能的实施方式中,所述第一计费模块92,还用于判断所述目标账户费用信息中是否包含计费规则,若是,则进行所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口的步骤。
在一种可能的实施方式中,所述装置还包括:
提示模块,用于若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
在一种可能的实施方式中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,所述提示模块,还用于若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
实施例6:
基于相同的技术构思,本申请还提供了一种电子设备,图10示出了一些实施例提供的一种电子设备结构示意图,如图10所示,包括:处理器101、通信接口102、存储器103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信;
所述存储器103中存储有计算机程序,当所述程序被所述处理器101执行时,使得所述处理器101执行如下步骤:
若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述处理器101,具体用于根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述处理器101,具体用于根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
在一种可能的实施方式中,所述处理器101,还用于判断所述目标账户费用信息中是否包含计费规则,若是,则进行所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口的步骤。
在一种可能的实施方式中,所述处理器101,还用于若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
在一种可能的实施方式中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,所述处理器101,还用于若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
由于上述电子设备解决问题的原理与API网关计费方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口102用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
由于本申请可以在接收到API接口调用请求时,根据API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定目标账户的标识信息对应的目标账户费用信息;若目标账户费用信息中存在可用额度,则可以根据API接口调用请求中携带的API标识信息,调用API标识信息对应的API接口;并基于目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内目标账户的费用进行计费,从而可以快捷准确的对API网关进行计费。
实施例7:
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费包括:
根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;
基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
在一种可能的实施方式中,所述统计当前费用统计周期内所述API接口的调用总次数包括:
根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
在一种可能的实施方式中,所述确定所述目标账户的标识信息对应的目标账户费用信息之后,所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口之前,所述方法还包括:
判断所述目标账户费用信息中是否包含计费规则,若是,则进行后续步骤。
在一种可能的实施方式中,所述方法还包括:
若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
在一种可能的实施方式中,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
在一种可能的实施方式中,所述方法还包括:
若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
由于上述计算机可读存储介质解决问题的原理与API网关计费方法相似,因此上述计算机可读存储介质的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种应用程序接口API网关计费方法,其特征在于,所述方法包括:
若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费包括:
根据所述目标账户费用信息中的费用统计周期,统计当前费用统计周期内所述API接口的调用总次数;
基于所述目标账户费用信息中的计费规则及所述调用总次数,对当前费用统计周期内所述目标账户的费用进行计费。
3.根据权利要求2所述的方法,其特征在于,所述统计当前费用统计周期内所述API接口的调用总次数包括:
根据键值Key-Value存储数据库中存储的当前费用统计周期内所述API接口的调用次数,确定所述调用总次数。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标账户的标识信息对应的目标账户费用信息之后,所述根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口之前,所述方法还包括:
判断所述目标账户费用信息中是否包含计费规则,若是,则进行后续步骤。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述目标账户费用信息中不包含计费规则,则将预设的提示信息发送给所述API接口调用请求对应的终端。
6.根据权利要求1所述的方法,其特征在于,所述API标识信息包括API接口的标识信息、API接口所属的API服务的标识信息、API服务所属的API网关的标识信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标账户费用信息中不存在可用额度,则将预设的提示信息发送给所述API接口调用请求对应的终端。
8.一种应用程序接口API网关计费装置,其特征在于,所述装置包括:
确定模块,用于若接收到API接口调用请求,根据所述API接口调用请求中携带的目标账户的标识信息以及保存的账户的标识信息与账户费用信息的对应关系,确定所述目标账户的标识信息对应的目标账户费用信息;
第一计费模块,用于若所述目标账户费用信息中存在可用额度,则根据所述API接口调用请求中携带的API标识信息,调用所述API标识信息对应的API接口;
第二计费模块,用于基于所述目标账户费用信息中的费用统计周期及计费规则,对当前费用统计周期内所述目标账户的费用进行计费。
9.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一所述一种个性化推荐保险产品的方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述一种个性化推荐保险产品的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002341.9A CN113746646A (zh) | 2021-08-30 | 2021-08-30 | 一种应用程序接口api网关计费方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002341.9A CN113746646A (zh) | 2021-08-30 | 2021-08-30 | 一种应用程序接口api网关计费方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113746646A true CN113746646A (zh) | 2021-12-03 |
Family
ID=78733709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111002341.9A Pending CN113746646A (zh) | 2021-08-30 | 2021-08-30 | 一种应用程序接口api网关计费方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746646A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679459A (zh) * | 2022-05-07 | 2022-06-28 | 阿里巴巴(中国)有限公司 | 云函数的调用方法和装置 |
CN115296942A (zh) * | 2022-07-22 | 2022-11-04 | 中电信数智科技有限公司 | 一种基于加权响应的组合api计次计费装置 |
CN115333876A (zh) * | 2022-07-22 | 2022-11-11 | 广州三晶电气股份有限公司 | 一种应用程序接口api网关计费方法、装置及存储介质 |
CN115883269A (zh) * | 2022-11-28 | 2023-03-31 | 北京智慧星光信息技术有限公司 | 一种流量控制管理方法、装置、设备及介质 |
CN117040949A (zh) * | 2023-08-15 | 2023-11-10 | 厦门中盾安信科技有限公司 | 基于http的接口调用计费方法、系统、介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090066149A (ko) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | 결제 방법 및 그 시스템 |
CN109787780A (zh) * | 2017-11-10 | 2019-05-21 | 华为技术有限公司 | 基于api内容的计费方法及能力开放功能实体 |
CN110135892A (zh) * | 2019-04-15 | 2019-08-16 | 深圳职业技术学院 | Api的调用计费方法、装置、电子设备以及存储介质 |
CN110298650A (zh) * | 2019-05-21 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 接口调用计费方法、装置、设备及存储介质 |
CN113037836A (zh) * | 2021-03-05 | 2021-06-25 | 北京金山云网络技术有限公司 | 云服务的试用方法、api网关、电子设备和存储介质 |
US20210240551A1 (en) * | 2020-01-31 | 2021-08-05 | EMC IP Holding Company LLC | Tracking application programming interface requests in a cloud computing system |
-
2021
- 2021-08-30 CN CN202111002341.9A patent/CN113746646A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090066149A (ko) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | 결제 방법 및 그 시스템 |
CN109787780A (zh) * | 2017-11-10 | 2019-05-21 | 华为技术有限公司 | 基于api内容的计费方法及能力开放功能实体 |
CN110135892A (zh) * | 2019-04-15 | 2019-08-16 | 深圳职业技术学院 | Api的调用计费方法、装置、电子设备以及存储介质 |
CN110298650A (zh) * | 2019-05-21 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 接口调用计费方法、装置、设备及存储介质 |
US20210240551A1 (en) * | 2020-01-31 | 2021-08-05 | EMC IP Holding Company LLC | Tracking application programming interface requests in a cloud computing system |
CN113037836A (zh) * | 2021-03-05 | 2021-06-25 | 北京金山云网络技术有限公司 | 云服务的试用方法、api网关、电子设备和存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679459A (zh) * | 2022-05-07 | 2022-06-28 | 阿里巴巴(中国)有限公司 | 云函数的调用方法和装置 |
CN114679459B (zh) * | 2022-05-07 | 2024-03-12 | 阿里巴巴(中国)有限公司 | 云函数的调用方法和装置 |
CN115296942A (zh) * | 2022-07-22 | 2022-11-04 | 中电信数智科技有限公司 | 一种基于加权响应的组合api计次计费装置 |
CN115333876A (zh) * | 2022-07-22 | 2022-11-11 | 广州三晶电气股份有限公司 | 一种应用程序接口api网关计费方法、装置及存储介质 |
CN115296942B (zh) * | 2022-07-22 | 2024-06-07 | 中国电信股份有限公司 | 一种基于加权响应的组合api计次计费装置 |
CN115883269A (zh) * | 2022-11-28 | 2023-03-31 | 北京智慧星光信息技术有限公司 | 一种流量控制管理方法、装置、设备及介质 |
CN117040949A (zh) * | 2023-08-15 | 2023-11-10 | 厦门中盾安信科技有限公司 | 基于http的接口调用计费方法、系统、介质及设备 |
CN117040949B (zh) * | 2023-08-15 | 2024-07-12 | 厦门中盾安信科技有限公司 | 基于http的接口调用计费方法、系统、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113746646A (zh) | 一种应用程序接口api网关计费方法、装置、设备及介质 | |
CN102884757B (zh) | 基于被请求的数据服务的服务数据流计费方法的选择 | |
CN101056182B (zh) | 汇聚预付费和后付费 | |
CN100370729C (zh) | 分组交换网络中的计费系统和其中的服务单元 | |
EP2083532B1 (en) | Convergent mediation system with improved data transfer | |
EP2107464A1 (en) | Convergent mediation system with dynamic resource allocation | |
CN110557729B (zh) | 一种漫游计费方法和装置 | |
CN102348185A (zh) | 用于电信计费的计算机实现的方法、系统以及计算机程序产品 | |
EP2604029B1 (en) | System, method and computer program for determining communication charging | |
CN103843374A (zh) | 基于sy的集成的策略和计费控制 | |
CN101277203A (zh) | 在预记帐单元中实现费率定时器控制以支持在线和离线收费 | |
US10944874B2 (en) | Telecommunication system for monitoring and controlling of a network providing resource to a user | |
WO2020008384A1 (en) | Provision and recovery of network usage advances | |
US10348910B2 (en) | Method and system for providing a personalized product catalog enabling rating of communication events within a user device | |
EP3104550B1 (en) | Mobile digital cellular telecommunication system with advanced functionality for rating correction | |
EP3331196B1 (en) | Telecommunication system for monitoring and controlling of a network providing resource to a user | |
US20140335842A1 (en) | Customizable task execution flow | |
KR101397916B1 (ko) | 통신 서비스를 후원하기 위한 방법, 원격통신 시스템 및 네트워크 노드 | |
EP2950514B1 (en) | Mobile digital cellular telecommunication system with advanced rating functionality | |
CN1681283B (zh) | 一种移动智能网计费方法 | |
EP3091764B1 (en) | Mobile digital cellular telecommunication system with advanced flexible rating functionality | |
CN108270580B (zh) | 在线计费的提醒方法、设备及系统 | |
CN100512125C (zh) | 基于parlay网关的资源计费方法 | |
CN105141432A (zh) | 云服务订单处理方法与装置 | |
WO2019229652A1 (en) | System and method for provision and recovery of a network usage advance |
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 |