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

接口调用流量控制方法及装置与流程

2021-10-09 13:46:00 来源:中国专利 TAG:互联 调用 装置 接口 流量控制


1.本发明涉及移动互联技术领域,尤其是涉及一种接口调用流量控制方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.内部下游数据平台系统,在一定场景下需开放数据接口给多个上游业务系统。开放接口若不进行访问流量控制,会造成频繁和无效调用,甚至恶意攻击,引发系统性风险。


技术实现要素:

4.本发明提供了一种接口调用流量控制方法及装置,可以有效解决开放接口频繁或异常访问导致的系统性问题,减轻系统负荷,保障系统高可用。
5.第一方面,本发明实施例提供了一种接口调用流量控制方法,该方法包括:
6.获取目标接口的流量承载量参数、所述目标接口在多个调用系统的目标调用信息;
7.根据所述目标调用信息生成训练集,并利用所述训练集训练目标预测模型;
8.在所述目标接口被调用时,获取所述目标接口的流量实际值,并根据所述目标接口的调用参数和所述目标预测模型生成流量估计值;
9.根据所述流量实际值和所述流量估计值生成流量配比参数;
10.根据所述流量配比参数和所述流量承载量参数控制所述目标接口的调用流量
11.第二方面,本发明实施例还提供一种接口调用流量控制装置,该装置包括:
12.数据采集模块,用于获取目标接口的流量承载量参数、所述目标接口在多个调用系统的目标调用信息;
13.数据模型模块,用于根据所述目标调用信息生成训练集,并利用所述训练集训练目标预测模型;
14.流量模块,用于在所述目标接口被调用时,获取所述目标接口的流量实际值,并根据所述目标接口的调用参数和所述目标预测模型生成流量估计值;
15.配比参数模块,用于根据所述流量实际值和所述流量估计值生成流量配比参数;
16.调整模块,用于根据所述流量配比参数和所述流量承载量参数控制所述目标接口的调用流量。
17.第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述接口调用流量控制方法。
18.第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述接口调用流量控制方法的计算机程序。
19.本发明实施例带来了以下有益效果:本发明实施例提供了一种接口调用流量控制
方案,该方案包括:获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息;根据目标调用信息生成训练集,并利用训练集训练目标预测模型;在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值;根据流量实际值和流量估计值生成流量配比参数;根据流量配比参数和流量承载量参数控制目标接口的调用流量。本发明实施例可以实现接口调用流量的动态调整,最大限度保障各业务系统调用,减少调用异常事件的发生。
20.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
21.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
22.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的接口调用流量控制方法流程图;
24.图2为本发明实施例提供的根据目标调用信息生成训练集流程图;
25.图3为本发明实施例提供的接口调用流量控制装置结构框图;
26.图4为本发明实施例提供的数据模型模块结构框图;
27.图5为本发明实施例提供的电子设备结构框图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.现有的接口访问处理方法,获取业务接口的接口性能实际值,并根据数据库中存储的业务性能模型计算得到业务接口的接口性能评估值,业务性能模型是运用决策树算法进行建模得到;根据接口性能实际值和接口性能评估值,计算对业务接口的并发数的调整幅度取值;根据调整幅度取值,对业务接口的流量进行调整。
30.现有技术采用的决策树算法建立不同时间维度的业务性能模型。决策树算法简单易懂可解释性强,但易于陷入过拟合,造成预测数据不准确,应用场景有限。
31.基于此,本发明实施例提供的一种接口调用流量控制方法及装置,根据产品信息及历史请求统计数据预测接口请求频次,动态调整接口访问上限,以提高资源利用效率,减小系统性风险的发生。
32.为便于对本实施例进行理解,首先对本发明实施例所公开的一种接口调用流量控制方法进行详细介绍。
33.首先,对涉及的术语进行解释。
34.接口访问量,即对接口进行数据交互的访问请求数量,可通过计数器实现计数。
35.接口限流,即在高并发前提下,通过设置访问上限阈值加以控制,是对服务器承受能力过载的一种限制机制。
36.本发明实施例提供了一种接口调用流量控制方法,参见图1所示的一种接口调用流量控制方法流程图,该方法包括以下步骤:
37.s102,获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息。
38.在本发明实施例中,目标接口是下游数据平台系统开放给上游业务系统的,用于上游业务系统进行访问的接口。流量承载量参数用于描述目标接口的流量承载能力,例如,可以包括本系统各对外服务接口的承载上限阈值参数。可以利用压力测试工具获取接口吞吐量,并发量数据,进而得到流量承载量参数。
39.上游的多个调用系统,请求数据接口一般都具有一定的周期性规律,目标调用信息包括上游多个调用系统调用接口的历史信息,例如,具体可以包括历史请求统计数据。
40.需要说明的是,目标调用信息是目标接口的历史调用参数,例如,采集各业务系统调用本系统相关接口的历史调用日志及调用时系统资源(cpu、内存)占用情况,得到目标调用信息。
41.s104,根据目标调用信息生成训练集,并利用训练集训练目标预测模型。
42.在本发明实施例中,对目标调用信息进行清洗等处理,得到训练集,利用训练集对目标预测模型进行训练,目标预测模型可以用于根据目标接口的调用参数预测目标接口的流量使用情况。
43.需要说明的是,需将训练后的模型存储到数据库中。
44.s106,在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值。
45.在本发明实施例中,在目标接口被调用时,实时统计目标接口的流量使用情况,获取时间单元内的调用流量实际值。
46.在目标接口被调用时,也可实时获取目标接口的调用参数,将该调用参数作为目标预测模型的输入,利用目标预测模型进行预测,将预测结果作为流量估计值。
47.例如,业务系统调用接口时,根据传入的接口参数,使用存储的流控模型计算得到当前接口下,当前时间单元内,各业务系统的调用流量估计值。
48.s108,根据流量实际值和流量估计值生成流量配比参数。
49.在本发明实施例中,对流量实际值和流量估计值进行比较,根据接口最近一次的调用流量实际值和接口调用流量估计值,计算接口下一次被调用的流量分配,例如,若流量实际值大于流量估计值,则减少下一次调用流量;若流量实际值小于流量估计值,则增加调用流量。根据下一次调用流量增减情况,确定流量配比参数。
50.需要说明的是,在本发明实施例中,流量配比参数可以用于确定多个调用系统在目标接口的流量分配情况,以便实现接口限流。
51.s110,根据流量配比参数和流量承载量参数控制目标接口的调用流量。
52.在本发明实施例中,在得到流量配比参数后,基于流量配比参数和流量承载量参
数分配各调用系统在目标接口的流量,实现对接口调用流量控制。
53.本发明实施例提供了一种接口调用流量控制方案,该方案包括:获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息;根据目标调用信息生成训练集,并利用训练集训练目标预测模型;在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值;根据流量实际值和流量估计值生成流量配比参数;根据流量配比参数和流量承载量参数控制目标接口的调用流量。本发明实施例可以实现接口调用流量的动态调整,最大限度保障各业务系统调用,减少调用异常事件的发生。
54.在一个实施例中,参见图2所示的根据目标调用信息生成训练集流程图,根据目标调用信息生成训练集,可以按照如下步骤执行:
55.s202,对目标调用信息进行数据清洗处理,得到目标时间段内的调用数据。
56.在本发明实施例中,数据预处理可以包括数据清洗,去除噪声数据,进而获取历史同一时间区间的调用数据。
57.s204,按照多种预设时长对目标时间段进行划分,得到多组时间单元信息。
58.在本发明实施例中,预设时长可以根据实际需求进行设定,例如,按照一天,星期,月份三个维度划分,得到三组时间单元信息。
59.s206,按照多组时间单元信息生成训练集。
60.在本发明实施例中,根据接口和时间单元颗粒度划分不同的数据文件,一个接口对应一个训练数据文件。时间单元按照一天,星期,月份三个维度划分,得到多个时间单元的训练集。
61.例如:indicatordataimpl_daily_trainset.csv,indicatordataimpl_weekly_trainset.csv,indicatordataimpl_monthly_trainset.csv;tracechain_daily_trainset.csv,tracechain_weekly_trainset.csv,tracechain_monthly_trainset.csv。
62.在一个实施例中,根据流量配比参数和流量承载量参数控制目标接口的调用流量,可以按照如下步骤执行:
63.获取多个调用系统的优先级参数;根据优先级参数、流量配比参数和流量承载量参数控制目标接口的调用流量。
64.在本发明实施例中,获取各调用方业务系统可用性等级,并结合业务场景,系统重要性等确定调用系统的优先级参数。在确定了优先级参数后,控制目标接口的调用流量时,可以根据优先级参数为优先级较高的调用系统优先进行流量分配。
65.在一个实施例中,目标预测模型为xgboost模型。
66.在本发明实施例中,目标预测模型可以根据实际需求选择,本发明实施例对此不作具体限定。使用xgboost算法训练模型,根据预测准确率调参,得到最优的预测模型。
67.该方法可以基于xgboost算法进行数据预测,xgboost算法是基于决策树算法的一种集成学习方法,其在模型稳健性和运行速度上都有一定提升,可以减少过拟合情况的发生,提高预测准确性。
68.需要说明的是,以上是本发明实施例在有流量控制需求的场景下对接口调用的一种调控机制,对于一些接口调用流量很少的场景下,本发明还设置了流量控制的启停参数,可以通过参数修改完成流量控制方法的启停。
69.另外需要说明的是,在具体实施该方法时,需要分析现有接口流量控制方法的优缺点,同时结合自身业务需求,设计一种更优的流量控制方案,包括流量控制流程分析与设计,流量控制算法建模,流量控制装置设计,并将其实现。对本发明而言,最重要的是构建契合业务需求的流量控制模型,这需要大量数据支撑和模型参数调优。
70.本发明在具体实施时,可以通过数据采集模块,数据模型模块,数据存储模块和流量调整模块实现。
71.其中,数据采集模块:用来采集各业务系统调用本系统接口的日志数据及调用时的性能数据。数据模型模块:用来构建流量控制模型。根据数据采集模块获取的调用日志数据及性能数据,利用机器学习算法进行训练,并结合不同业务的调用特点,从而构建契合本系统的流量控制模型。数据存储模块:用来存储数据模型模块构建出的模型数据,供后续流量控制程序查询使用。流量调整模块:用来根据流量控制模型,调整业务调用方的接口访问流量及访问权限。
72.本发明实施例提供了一种接口调用流量控制方法及装置,该方法根据接口被调用方的实际性能及调用方的优先级,可以实现接口调用流量的动态调整,最大限度保障各业务系统调用,减少调用异常事件的发生。
73.本发明实施例中还提供了一种接口调用流量控制装置,如下面的实施例所述。由于该装置解决问题的原理与接口调用流量控制方法相似,因此该装置的实施可以参见接口调用流量控制方法的实施,重复之处不再赘述。参见图3所示的接口调用流量控制装置结构框图,该装置包括:
74.数据采集模块31,用于获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息;数据模型模块32,用于根据目标调用信息生成训练集,并利用训练集训练目标预测模型;流量模块33,用于在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值;配比参数模块34,用于根据流量实际值和流量估计值生成流量配比参数;调整模块35,用于根据流量配比参数和流量承载量参数控制目标接口的调用流量。
75.在一个实施例中,参见图4所示的数据模型模块结构框图,数据模型模块,包括:预处理单元321,用于对目标调用信息进行数据清洗处理,得到目标时间段内的调用数据;划分单元322,用于按照多种预设时长对目标时间段进行划分,得到多组时间单元信息;生成单元323,用于按照多组时间单元信息生成训练集。
76.在一个实施例中,调整模块,具体用于:获取多个调用系统的优先级参数;根据优先级参数、流量配比参数和流量承载量参数控制目标接口的调用流量。
77.在一个实施例中,目标预测模型为xgboost模型。
78.基于同一发明构思,本发明实施例中还提供了一种用于实现上述接口调用流量控制方法中的全部或部分内容的电子设备实施例。该电子设备具体包含有如下内容:
79.处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现上述接口调用流量控制方法的实施例及用于实现上述接口调用流量控制装置的实施例进行实施,其内容
被合并于此,重复之处不再赘述。
80.图5为本发明实施例中提供的一种电子设备的系统组成结构示意图。如图5所示,该电子设备70可以包括处理器701和存储器702;存储器702耦合到处理器701。值得注意的是,该图5是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
81.在一个实施例中,接口调用流量控制方法实现的功能可以被集成到处理器701中。其中,处理器701可以被配置为进行如下控制:
82.获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息;根据目标调用信息生成训练集,并利用训练集训练目标预测模型;在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值;根据流量实际值和流量估计值生成流量配比参数;根据流量配比参数和流量承载量参数控制目标接口的调用流量。
83.由上可知,本发明的实施例中提供的电子设备,本发明可以实现接口调用流量的动态调整,最大限度保障各业务系统调用,减少调用异常事件的发生。
84.在另一个实施例中,接口调用流量控制装置可以与处理器701分开配置,例如可以将接口调用流量控制装置配置为与处理器701连接的芯片,通过处理器的控制来实现接口调用流量控制方法的功能。
85.如图5所示,该电子设备70还可以包括:通信模块703、输入单元704、音频处理单元705、显示器706、电源707。值得注意的是,电子设备70也并不是必须要包括图5中所示的所有部件;此外,电子设备70还可以包括图5中没有示出的部件,可以参考现有技术。
86.如图5所示,处理器701有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器701接收输入并控制电子设备70的各个部件的操作。
87.其中,存储器702,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且处理器701可执行该存储器702存储的该程序,以实现信息存储或处理等。
88.输入单元704向处理器701提供输入。该输入单元704例如为按键或触摸输入装置。电源707用于向电子设备70提供电力。显示器706用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
89.该存储器702可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器702还可以是某种其它类型的装置。存储器702包括缓冲存储器7021(有时被称为缓冲器)。存储器702可以包括应用/功能存储部7022,该应用/功能存储部7022用于存储应用程序和功能程序或用于通过处理器701执行电子设备70的操作的流程。
90.存储器702还可以包括数据存储部7023,该数据存储部7023用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器702的驱动程序存储部7024可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
91.通信模块703即为经由天线708发送和接收信号的发送机/接收机。通信模块(发送机/接收机)703耦合到处理器701,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
92.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块703,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)703还经由音频处理单元705耦合到扬声器709和麦克风710,以经由扬声器709提供音频输出,并接收来自麦克风710的音频输入,从而实现通常的电信功能。音频处理单元705可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理单元705还耦合到处理器701,从而使得可以通过麦克风710能够在本机上录音,且使得可以通过扬声器709来播放本机上存储的声音。
93.本发明的实施例中还提供了一种用于实现上述实施例中接口调用流量控制方法中全部步骤的一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的接口调用流量控制方法的全部步骤,例如,该处理器执行该计算机程序时实现下述步骤:
94.获取目标接口的流量承载量参数、目标接口在多个调用系统的目标调用信息;根据目标调用信息生成训练集,并利用训练集训练目标预测模型;在目标接口被调用时,获取目标接口的流量实际值,并根据目标接口的调用参数和目标预测模型生成流量估计值;根据流量实际值和流量估计值生成流量配比参数;根据流量配比参数和流量承载量参数控制目标接口的调用流量。
95.由上可知,本发明的实施例中提供的计算机可读存储介质,本发明可以实现接口调用流量的动态调整,最大限度保障各业务系统调用,减少调用异常事件的发生。
96.虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
97.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
98.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
99.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
100.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
101.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
102.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
103.除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
104.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。可单独使用本发明的每个方面和/或实施例,或者与一个或更多其他方面和/或其他实施例结合使用。
105.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜