CN107689969B - 一种缓存策略的确定方法及装置 - Google Patents
一种缓存策略的确定方法及装置 Download PDFInfo
- Publication number
- CN107689969B CN107689969B CN201610628394.4A CN201610628394A CN107689969B CN 107689969 B CN107689969 B CN 107689969B CN 201610628394 A CN201610628394 A CN 201610628394A CN 107689969 B CN107689969 B CN 107689969B
- Authority
- CN
- China
- Prior art keywords
- api
- time period
- management cluster
- received
- caching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 106
- 238000007619 statistical method Methods 0.000 claims abstract description 36
- 238000012795 verification Methods 0.000 claims description 8
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000010365 information processing Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 4
- 239000010931 gold Substances 0.000 description 4
- 229910052737 gold Inorganic materials 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L41/5012—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
- H04L41/5016—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time based on statistics of service availability, e.g. in percentage or over a given time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种缓存策略的确定方法及装置,涉及通信技术领域,使得API管理集群能够自动生成缓存策略,该方法包括:API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析,并根据统计分析结果确定缓存时间段;以及该API管理集群确定缓存策略,其中,该缓存时间段为第一时间段所在周期之后的周期中与该第一时间段相对应的时间段,在该第一时间段内,该API管理集群接收到的所有携带第一API标识的API请求消息对应的API响应消息的内容均相同。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种缓存策略的确定方法及装置。
背景技术
随着应用(Application,App)的迅猛发展,越来越多的公司或者网站的服务商向App开发者提供开放应用程序编程接口(Application Programming Interface,API),使得App开发者能够基于开放API迅速开发App。
App在使用的过程中,通过调用相应的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开发者编写的。如果缓存策略编写有误,会直接导致APP收到错误的响应而影响业务。
发明内容
本发明的实施例提供一种缓存策略的确定方法及装置,使得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标识的API请求消息对应的API响应消息的内容均相同时,通过确定缓存时间以确定缓存策略,以实现确定缓存策略的自动化,无需人工编写,从而提高缓存策略的正确率。
可选的,该API管理集群在该第一时间段所在周期之后至少一个周期内的缓存时间段,对该缓存策略的正确率进行验证,该至少一个周期为与该第一时间段所在周期相邻的周期;在该正确率大于或者等于预设阈值的情况下,该API管理集群采用该缓存策略对携带第一API标识的API请求消息进行响应。
通过该可选的方式,API管理集群能够对确定的缓存策略进行自动验证,进一步确保缓存策略的正确率,并自动采用正确率达到预设阈值的缓存策对API请求消息进行响应,从而保证API管理集群对API请求消息进行响应的正确率。
可选的,该在该正确率大于或者等于预设阈值的情况下,该API管理集群采用该缓存策略对携带第一API标识的API请求消息进行响应之后,该方法还包括:该API管理集群采用第一周期,周期性地在该缓存时间段内验证该缓存策略是否有效;当该缓存策略无效时,该API管理集群对该缓存策略进行更新。
通过该可选方式,API管理集群能够自动对正在使用的缓存策略进行验证,并在缓存策略验证不通过时,及时对该缓存策略进行更新,以实现对正在使用的缓存策略的自动验证过程,保证缓存策略的正确性。
可选的,该API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析之前,该方法还包括:该API管理集群确定该多个API请求消息中携带的服务质量(Quality of Service,QoS)等级信息是否符合预设等级;该API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析,包括:若该多个API请求消息中携带的QoS等级信息符合该预设等级,该API管理集群则对接收到的该多个API请求消息和该多个API响应消息进行统计分析。
其中,等级信息可以包App的QoS等级,或者App用户的QoS等级,预设等级可以为金牌App等级,通过该可选方式,能够实现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请求消息中携带的服务质量QoS等级信息是否符合预设等级;该分析统计单元,具体用于若该确定单元确定该多个API请求消息中携带的QoS等级信息符合该预设等级,则对接收到的该多个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管理集群的技术效果可以参见上述第一方面或第一方面的各个可选方式的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的API应用网络场景示意图;
图2为本发明实施例提供的一种API管理集群的结构示意图;
图3为本发明实施例提供的一种缓存策略的确定方法的流程图;
图4为本发明实施例提供的一种API管理集群的结构示意图;
图5为本发明实施例提供的又一种API管理集群的结构示意图;
图6为本发明实施例提供的另一种API管理集群的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
图1为本发明实施例提供的一种API应用网络场景示意图,可以包括网站服务器、销货点(Point Of Sate,POS)、移动终端、API管理集群,后台服务器(backend server)和集成***,集成***可以包括企业服务总线(Enterprise Service Bus,ESB),面向服务的架构(Service-Oriented Architecture,SOA),数据库(database)以及App服务器(AppServer,AS)等。其中,API管理集群作为API网关,通过互联网与用户端(包括网站服务器、POS、移动终端)和服务端(包括后台服务器和集成***)相连。API管理集群将用户端发送的API请求消息转发至服务端,例如发送至AS,由AS对该API请求消息进行处理并响应,并将该API请求消息对应的响应消息发送至API管理集群,由该API管理集群将该API响应消息转发至用户端。
如图2所示,为本发明实施例提供的一种API管理集群,包括管理服务器(management server)、路由器、信息处理(message process)模块以及缓存分析模块。
其中,管理服务器负责创建API,创建App,订阅API以及定义API编排逻辑等。
路由器负责接收来自用户端的API请求消息,并交给信息处理模块处理,并负责接收信息处理模块的响应,并回给用户端。
信息处理模块,按照上述API编排逻辑,对API请求消息进行处理(例如格式转换,缓存等),并转发给指定的后台服务器或者AS,以及按照上述API编排逻辑,对API响应消息进行处理(例如格式转换,缓存等),并返回给路由器。
缓存分析模块为API管理集群中增加的模块,通过对信息处理模块或者路由器接收到的API请求消息及其对应的API响应消息进行统计分析确定缓存策略,并自动对确定的缓存策略进行验证,以及将验证后的缓存策略保存到API编排逻辑中,以供信息处理模块使用,实现确定API缓存策略的自动化流程,无需人工进行编写以及维护,从而提高缓存策略的正确率。
需要说明的是,在本发明实施例中,API管理集群中的管理服务器、路由器、信息处理模块以及缓存分析模块可以分别为独立的物理机,也可以分别独立的进程或者独立的线程,运行在同一物理机上。
具体的,基于图2,如图3所示,本发明实施例提供一种缓存策略的确定方法,该方法可以包括:
S101、API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析。
该多个API请求消息与该多个API响应消息一一对应,每个API请求消息与其对应的API响应消息中携带相同的AP标识。
在本发明实施例中,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请求消息对应的API响应消息的时刻。
例如,假设在xxxx年xx月01日,API管理集群接收到了10000个携带第一API标识的API请求消息以及每个API请求消息对应的API响应消息。若API管理集群通过统计分析,确定第100个携带第一API标识的API请求消息到第1000个携带第一API标识的API请求消息对应的API响应消息的内容都是相同的,API管理集群则可以确定携带第一API标识的API请求消息对应的API响应消息的内容是可以进行缓存的。
那么,API管理集群可以根据接收到第100个携带第一API标识的API请求消息的时刻,和接收到第1000个携带第一API标识的API请求消息对应的API响应消息的时刻,确定第一时间段。例如,API管理集群在在xxxx年xx月01日9:00时,接收到第100个携带第一API标识的API请求消息,在xxxx年xx月01日10:00时,接收到第1000个携带第一API标识的API请求消息对应的API响应消息,即第一时间段为xxxx年xx月01日9:00~10:00。从而,API管理集群得到的统计分析结果为在xxxx年xx月01日9:00~10:00,所有携带第一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标识和第一参数的API请求消息对应的API响应消息的时刻。
其中,API请求消息中的第一参数可以为该API请求消息的统一资源定位符(Uniform Resoure Locator,URL)中的参数(parameters),相应的,API响应消息中的第一参数为该API响应消息的URL中的参数;API请求消息中的第一参数也可以为该API请求消息的数据体(body)中的参数,相应的,该API响应消息中的第一参数也可以为该API响应消息的数据体中的参数。
在一个示例中,当一个周期内存在多个时间段,在该多个时间段中的每个时间段中,API管理集群接收到的所有携带第一API标识的请求消息对应的API响应消息的内容都相同时,该多个时间段可以分别为一个第一时间段,也可以组成一个第一时间段。
例如,在xxxx年xx月01日的9:00~10:00,11:00~12:00,以及15:00~16:00这三个时间段中的每个时间段内,API管理集群接收到的所有携带第一API标识的请求消息对应的API响应消息的内容都相同,或者,API管理集群接收到的所有携带第一API标识和第一参数的请求消息对应的API响应消息的内容都相同,则可以将9:00~10:00,11:00~12:00,以及15:00~16:00这三个时间段组成的一个时间段集合确定为第一时间段。也可以将9:00~10:00,11:00~12:00,以及15:00~16:00分别确定为一个第一时间段。
在一个示例中,API管理集群对接收到的携带第一API标识的多个API请求消息和每个API请求消息对应的API响应消息进行统计分析之前,API管理集群还可以对接收到的API请求消息中携带的QoS等级信息进行验证,确定接收到的QoS等级信息是否符合预设等级。
例如,API请求消息中携带的等级信息可以包括App的QoS等级,或者App用户的QoS等级,相应的,预设等级可以为金牌App等级,或者金牌用户等级等。
例如,API管理集群接收到的API请求消息中携带的App用户的QoS等级为金牌用户等级,则可以将该API请求消息及其对应的API响应消息输入到缓存分析模块中进行统计分析。
即在本发明实施例中,若API管理集群接收到的多个API请求消息中携带的等级信息符合预设等级,API管理集群则对该多个API请求消息和多个API响应消息进行统计分析。从而可以实现高等级App或者用户的API请求优先进行缓存分析。
S102、API管理集群根据统计分析结果确定缓存时间段。
其中,缓存时间段为第一时间段所在周期之后的周期中与该第一时间段相对应的时间段。
例如,假设1天为1个周期,第一时间段为xxxx年xx月01日9:00~10:00,那么在xxxx年xx月01日之后的每一天中的9:00~10:00即为与第一时间段相对应的时间段。在本发明实施例中,API管理集群可以根据实际需求确定xxxx年xx月01日之后的每一天中的9:00~10:00为缓存时间段,也可以确定xxxx年xx月01日之后的一个月内的每一天中的9:00~10:00为缓存时间段,对此,本发明实施例不作限制。
在一个示例中,当一个周期内存在多个时间段,在该多个时间段中的每个时间段中,API管理集群接收到的所有携带第一API标识的请求消息对应的API响应消息的内容都相同时,若多个时间段可以分别为一个第一时间段,API管理集群则可以针对每一个时间段确定一个缓存策略;若该多个时间段组成的一个时间集合为第一时间段,第一时间段可以由多个时间段组成的一个时间段集合,API管理集群则可以根据该多个时间段确定一个缓存策略。
S103、API管理集群确定缓存策略,该缓存策略用于指示API管理集群根据在缓存时间段内接收到的第一个携带第一API标识的API请求消息对应的API响应消息的内容,对该缓存时间段内接收到的所有携带第一API标识的API请求消息进行响应。
其中,缓存策略可以包括第一API标识和缓存时间段的对应关系,以及用于指示API管理集群执行相关操作的指令。
在一个示例中,当在第一时间段内,API管理集群接收到的所有携带第一API标识和第一参数的API请求消息对应的API响应消息均相同,则该缓存策略包括该缓存时间、该第一参数和第一API标识之间的对应关系,以及用于指示API管理集群执行相关操作的指令。那么,该缓存策略用于指示API管理集群根据在缓存时间段内接收到的第一个携带第一API标识和第一参数的API请求消息对应的API响应消息的内容,对该缓存时间段内接收到的所有携带第一API标识和第一参数的API请求消息进行响应。
值得说明的是,API管理集群可以通过上述本发明实施例提供的缓存策略的确定方法,确定缓存策略,而无需人工编写,从而提高了缓存策略的正确率。
进一步的,在上述S103之后,该方法还包括:
S104、API管理集群在第一时间段所在周期之后至少一个周期内的缓存时间段,对该缓存策略的正确率进行验证进行验证。
其中,该至少一个周期为与该第一时间段所在周期相邻的周期。API管理集群确定在至少一个周期中的每个周期内的缓存时间段,验证该缓存策略是否有效。
具体的,在一个缓存时间段内,API管理集群确定在该缓存时间段内接收到的所有携带第一API标识的API请求消息对应的API响应消息的内容的是否相同,若相同,则该缓存策略有效,若不相同,则该缓存策略无效。
API管理集群在该至少一个周期内的所有缓存时间段对该缓存策略进行验证,确定该缓存策略有效的比例,该缓存策略有效的比例即为该缓存策略的正确率。
需要说明的是,该至少一个周期个数可以根据实际需求进行设置,对此,本发明实施例不作限制。
S105、在该正确率大于或者等于预设阈值的情况下,API管理集群采用该缓存策略对携带第一API标识的API请求消息进行响应。
优选的,预设阈值可以为100%。当API管理集群确定该缓存策略的正确率为100%时,API管理集群即可将该缓存策略保存到策略库中,以采用该缓存策略对携带第一API标识的API请求消息进行响应。即API管理集群将该缓存策略保存到API编排逻辑中的策略库中后,该API管理集群的信息处理模块在每一个缓存时间段中,将接收到的第一个携带第一API标识的API请求消息对应的API响应消息的内容进行缓存,并在该缓存时间段内接收到其他携带第一API标识的API请求消息时,直接采用缓存的API响应消息的内容对其他携带第一API标识的API请求消息进行响应。而无需将其他携带第一API标识的API请求消息转发到AS,由AS对每一个携带第一API标识的API请求消息进行响应,从而降低AS的负载压力。
可选的,当该正确率小于预设阈值时,API管理集群即可删除该缓存策略,并采用上述S101-S103中的方法重新确定新的缓存策略,并进一步进行验证,直至获得正确率大于或者等于预设阈值的缓存策略。
需要说明的是,预设阈值可以根据实际要求进行设置,对此,本发明实施例不作限制。
进一步的,在本发明实施例中,API管理集群在采用该缓存策略对第一API请求消息进行响应的过程中,还可以采用第一周期,周期性在缓存时间段内验证该缓存策略是否有效,当该缓存策略验证有效时,则继续使用该缓存策略对携带第一API标识的API请求消息进行响应,当该缓存策略无效时,API管理集群即可对该缓存策略进行更新。
示例性的,以10个缓存时间段为一个第一周期,周期性的在缓存时间段内验证该缓存策略是否有效。具体的,API管理集群在第1到第9个缓存时间段,采用该缓存策略对携带第一API标识的API请求消息进行响应,在第10个缓存时间段内,将第10个缓存时间段内接收到的所有携带第一API标识的API请求消息按照通常处理方式,转发至AS,由AS进行处理,并接收AS发送的与每个第一API标识的API请求消息对应的A PI响应消息,然后验证第10个缓存时间段内接收到的所有携带第一API标识的API请求消息对应的响应消息的内容是否相同。若相同,则该缓存策略有效,API管理集群可以继续采用该缓存策略对携带第一API标识的API请求消息进行响应。若不相同,则该缓存策略无效,API管理集群即可对该缓存策略进行更新。
可以理解的是,当该缓存策略验证无效时,API管理集群可以删除该缓存策略,并采用上述S101-S105中的方法重新确定新的且正确率为预设阈值的缓存策略。
通过本发明实施例提供的方案,API管理集群能够自动对接收到的API请求消息及其对应的API响应消息进行统计分析,确定缓存策略,并自动对确定的缓存策略进行验证和使用,实现确定API缓存策略的自动化流程,无需人工进行编写以及维护,从而提高了缓存策略的正确率。
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如API管理集群等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对API管理集群等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中所涉及的API管理集群的一种可能的结构示意图,API管理集群包括:分析统计单元10、确定单元11、验证单元12、响应单元13、以及更新单元14。分析统计单元10用于支持API管理集群执行图3中的过程S101;确定单元11用于支持API管理集群执行图3过程中的S102-S103;验证单元12用于支持API管理集群执行图3过程中的S104;响应单元13用于支持API管理集群执行图3过程中的S105,更新单元14用于支持API管理集群执行更新操作。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,当API管理集群中的管理服务器、路由器、缓存分析模块以及信息处理模块以独立进程或者独立线程的方式,运行在同一物理机上时,图5示出了上述实施例中所涉及的API管理集群的另一种可能的结构示意图。API管理集群包括:处理模块100和通信模块101。处理模块100用于对API管理集群的动作进行控制管理,例如,处理模块100用于支持API管理集群执行图3过程中S101-S105;和/或用于本文所描述的技术的其它过程。通信模块101用于支持API管理集群与其他网络实体的通信,例如与图1中示出的功能模块或网络实体之间的通信。API管理集群还可以包括存储模块102,用于存储API管理集群的程序代码和数据。
其中,处理模块100可以是处理器或控制器,例如可以是CPU,通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-SpecificIntegrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块101可以是通信接口。存储模块102可以是存储器。
当处理模块100为处理器,通信模块101为通信接口,存储模块102为存储器时,本发明实施例所涉及的API管理集群可以为图6所示的API管理集群。
参阅图6所示,该API管理集群包括:处理器110、通信接口111、存储器112以及总线113。其中,通信接口111、处理器110以及存储器112通过总线113相互连接;总线113可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
当API管理集群中的管理服务器、路由器、缓存分析模块以及信息处理模块分别为独立的物理机时,本发明实施例所涉及的API管理集群可以为图2所示的API管理集群。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种缓存策略的确定方法,其特征在于,所述方法包括:
API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析,所述多个API请求消息与所述多个API响应消息一一对应;
所述API管理集群根据统计分析结果确定缓存时间段,所述缓存时间段为第一时间段所在周期之后的周期中与所述第一时间段相对应的时间段,在所述第一时间段内,所述API管理集群接收到的所有携带第一API标识的API请求消息对应的API响应消息的内容均相同,所述第一时间段为所述第一时间段内所述API管理集群接收到的第一个携带所述第一API标识的API请求消息的时刻,到所述第一时间段内所述API管理集群接收到最后一个携带所述第一API标识的API请求消息对应的API响应消息的时刻;
所述API管理集群确定缓存策略,所述缓存策略用于指示所述API管理集群根据在所述缓存时间段内接收到的第一个携带所述第一API标识的API请求消息对应的API响应消息的内容,对所述缓存时间段内接收到的所有携带所述第一API标识的API请求消息进行响应。
2.根据权利要求1所述的方法,其特征在于,
在所述第一时间段内,所述API管理集群接收到的所有携带第一API标识和第一参数的API请求消息对应的API响应消息的内容均相同,所述第一时间段为所述第一时间段内所述API管理集群接收到的第一个携带所述第一API标识和所述第一参数的API请求消息的时刻,到所述第一时间段内所述API管理集群接收到最后一个携带所述第一API标识和所述第一参数的API请求消息对应的API响应消息的时刻;
所述缓存策略用于指示所述API管理集群根据在所述缓存时间段内接收到的第一个携带所述第一API标识和所述第一参数的API请求消息对应的API响应消息的内容,对所述缓存时间段内接收到的所有携带所述第一API标识和所述第一参数的API请求消息进行响应。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述API管理集群在所述第一时间段所在周期之后至少一个周期内的缓存时间段,对所述缓存策略的正确率进行验证,所述至少一个周期为与所述第一时间段所在周期相邻的周期;
在所述正确率大于或者等于预设阈值的情况下,所述API管理集群采用所述缓存策略对携带第一API标识的API请求消息进行响应。
4.根据权利要求3所述的方法,其特征在于,所述在所述正确率大于或者等于预设阈值的情况下,所述API管理集群采用所述缓存策略对携带第一API标识的API请求消息进行响应之后,所述方法还包括:
所述API管理集群采用第一周期,周期性地在所述缓存时间段内验证所述缓存策略是否有效;
当所述缓存策略无效时,所述API管理集群对所述缓存策略进行更新。
5.根据权利要求1或2所述的方法,其特征在于,所述API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析之前,所述方法还包括:
所述API管理集群确定所述多个API请求消息中携带的服务质量QoS等级信息是否符合预设等级;
所述API管理集群对接收到的多个API请求消息和多个API响应消息进行统计分析,包括:
若所述多个API请求消息中携带的QoS等级信息符合所述预设等级,所述API管理集群则对接收到的所述多个API请求消息和所述多个API响应消息进行统计分析。
6.一种API管理集群,其特征在于,包括:
分析统计单元,用于对接收到的多个API请求消息和多个API响应消息进行统计分析,所述多个API请求消息与所述多个API响应消息一一对应;
确定单元,用于根据所述分析统计单元确定的统计分析结果确定缓存时间段,所述缓存时间段为第一时间段所在周期之后的周期中与所述第一时间段相对应的时间段,在所述第一时间段内,接收到的所有携带第一API标识的API请求消息对应的API响应消息的内容均相同,所述第一时间段为所述第一时间段内接收到的第一个携带所述第一API标识的API请求消息的时刻,到所述第一时间段内接收到最后一个携带所述第一API标识的API请求消息对应的API响应消息的时刻;
所述确定单元,还用于确定缓存策略,所述缓存策略用于指示所述API管理集群根据在所述缓存时间段内接收到的第一个携带所述第一API标识的API请求消息对应的API响应消息的内容,对所述缓存时间段内接收到的所有携带所述第一API标识的API请求消息进行响应。
7.根据权利要求6所述的API管理集群,其特征在于,
在所述第一时间段内,接收到的所有携带第一API标识和第一参数的API请求消息对应的API响应消息的内容均相同,所述第一时间段为所述第一时间段内接收到的第一个携带所述第一API标识和所述第一参数的API请求消息的时刻,到所述第一时间段内接收到最后一个携带所述第一API标识和所述第一参数的API请求消息对应的API响应消息的时刻;
所述缓存策略用于指示所述API管理集群根据在所述缓存时间段内接收到的第一个携带所述第一API标识和所述第一参数的API请求消息对应的API响应消息的内容,对所述缓存时间段内接收到的所有携带所述第一API标识和所述第一参数的API请求消息进行响应。
8.根据权利要求6或7所述的API管理集群,其特征在于,所述API管理集群还包括验证单元和响应单元,
所述验证单元,用于在所述第一时间段所在周期之后至少一个周期内的缓存时间段,对所述缓存策略的正确率进行验证,所述至少一个周期为与所述第一时间段所在周期相邻的周期;
所述响应单元,用于在所述正确率大于或者等于预设阈值的情况下,采用所述缓存策略对携带第一API标识的API请求消息进行响应。
9.根据权利要求8所述的API管理集群,其特征在于,所述API管理集群还包括更新单元,
所述验证单元,还用于在所述响应单元采用所述缓存策略对携带第一API标识的API请求消息进行响应之后,采用第一周期,周期性地在所述缓存时间段内验证所述缓存策略是否有效;
所述更新单元,还用于当所述验证单元确定所述缓存策略无效时,对所述缓存策略进行更新。
10.根据权利要求6或7所述的API管理集群,其特征在于,
所述确定单元,还用于在所述分析统计单元对接收到的多个API请求消息和多个API响应消息进行统计分析之前,确定所述多个API请求消息中携带的服务质量QoS等级信息是否符合预设等级;
所述分析统计单元,具体用于若所述确定单元确定所述多个API请求消息中携带的QoS等级信息符合所述预设等级,则对接收到的所述多个API请求消息和所述多个API响应消息进行统计分析。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610628394.4A CN107689969B (zh) | 2016-08-03 | 2016-08-03 | 一种缓存策略的确定方法及装置 |
PCT/CN2017/075295 WO2018023966A1 (zh) | 2016-08-03 | 2017-03-01 | 一种缓存策略的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610628394.4A CN107689969B (zh) | 2016-08-03 | 2016-08-03 | 一种缓存策略的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107689969A CN107689969A (zh) | 2018-02-13 |
CN107689969B true CN107689969B (zh) | 2020-01-17 |
Family
ID=61072446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610628394.4A Active CN107689969B (zh) | 2016-08-03 | 2016-08-03 | 一种缓存策略的确定方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107689969B (zh) |
WO (1) | WO2018023966A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138943B (zh) * | 2020-01-19 | 2023-11-03 | 北京京东振世信息技术有限公司 | 一种处理请求的方法和装置 |
CN112069386B (zh) * | 2020-09-07 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种请求处理方法、装置、***、终端及服务器 |
CN114785637B (zh) * | 2022-03-15 | 2024-08-09 | 浪潮云信息技术股份公司 | 一种api网关缓存响应数据的实现方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567840A (zh) * | 2008-04-22 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种流媒体数据缓存控制方法和装置 |
CN102426541A (zh) * | 2010-10-19 | 2012-04-25 | 微软公司 | 参考数据服务的可用性管理 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN104836800A (zh) * | 2015-04-17 | 2015-08-12 | 华为技术有限公司 | 一种服务质量控制的方法、设备及*** |
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495227B2 (en) * | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
CN102710776B (zh) * | 2012-06-05 | 2014-08-20 | 天津兆民云计算科技有限公司 | 一种防止短时间内重复请求api服务器的方法 |
CN105279034B (zh) * | 2015-10-26 | 2018-11-30 | 北京皮尔布莱尼软件有限公司 | 一致性缓存控制***和方法 |
-
2016
- 2016-08-03 CN CN201610628394.4A patent/CN107689969B/zh active Active
-
2017
- 2017-03-01 WO PCT/CN2017/075295 patent/WO2018023966A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567840A (zh) * | 2008-04-22 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种流媒体数据缓存控制方法和装置 |
CN102426541A (zh) * | 2010-10-19 | 2012-04-25 | 微软公司 | 参考数据服务的可用性管理 |
CN103455443A (zh) * | 2013-09-04 | 2013-12-18 | 华为技术有限公司 | 一种缓存管理方法和装置 |
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
CN104836800A (zh) * | 2015-04-17 | 2015-08-12 | 华为技术有限公司 | 一种服务质量控制的方法、设备及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107689969A (zh) | 2018-02-13 |
WO2018023966A1 (zh) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
CN109787908B (zh) | 服务器限流方法、***、计算机设备及存储介质 | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
CN111666497A (zh) | 应用程序的加载方法、装置、电子设备及可读存储介质 | |
CN110851159B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN107689969B (zh) | 一种缓存策略的确定方法及装置 | |
CN107870802B (zh) | 一种虚拟机迁移方法和装置 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
US20140289719A1 (en) | Automatic version management | |
US9116808B2 (en) | Method and system for determining device configuration settings | |
CN110708212A (zh) | 分布式***中调用链路的追踪方法及装置 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
CN110879773B (zh) | 一种基于CGroup的内存监控方法和装置 | |
CN110381150B (zh) | 区块链上的数据处理方法、装置、电子设备及存储介质 | |
CN110855529A (zh) | 网络信息安全监护方法、装置、服务器及可读存储介质 | |
CN113821307A (zh) | 一种虚拟机镜像的快速导入方法、装置及设备 | |
US20170149641A1 (en) | Providing dynamic latency in an integration flow | |
CN113495783A (zh) | 业务数据处理方法及装置 | |
CN111712795A (zh) | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 | |
CN117032573A (zh) | 微服务执行方法、电子设备及可读存储介质 | |
CN111078418A (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN115438020A (zh) | 一种数据库资源调度方法、装置、设备及介质 | |
US20140244719A1 (en) | Techniques To Manage Platform Migrations | |
CN106817383B (zh) | 一种基于数据统计上报的访问周期管理方法及装置 | |
US10911307B2 (en) | System and method for out of the box solution-level configuration and diagnostic logging and reporting |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210428 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |