CN114915662A - 数据请求的处理方法、系统、终端及可读存储介质 - Google Patents
数据请求的处理方法、系统、终端及可读存储介质 Download PDFInfo
- Publication number
- CN114915662A CN114915662A CN202210404901.1A CN202210404901A CN114915662A CN 114915662 A CN114915662 A CN 114915662A CN 202210404901 A CN202210404901 A CN 202210404901A CN 114915662 A CN114915662 A CN 114915662A
- Authority
- CN
- China
- Prior art keywords
- data request
- data
- request
- processing
- local queue
- 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
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000012805 post-processing Methods 0.000 claims description 7
- 238000011045 prefiltration Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 8
- 238000012216 screening Methods 0.000 abstract description 3
- 230000000670 limiting effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据请求的处理方法,包括:获取并解析预设滑动时间窗口内的数据请求;若数据请求满足批量处理条件,则将数据请求传输至本地队列;分发本地队列中的数据请求至后端服务器进行批量处理。本申请通过对数据请求进行批量处理筛选,能缩短对数据请求的响应时间,提高数据请求的处理效率。
Description
技术领域
本发明涉及数据请求的处理技术领域,尤其涉及一种数据请求的处理方法、系统、终端及可读存储介质。
背景技术
目前市面上流量/API网关基本都是使用基于滑动时间窗口的计数器、令牌桶、漏桶算法进行限流,这些算法都是限定一定时间内的请求量的,当请求超过这个限定的量,会有一部分请求被积压更或者被直接丢弃。然而,在一般的物流平台中网络请求都是短时间内批量的请求(如凌晨装车批量扫描货物录单、夜间到达场站批量到达、结算运费财务付款时批量支付到司机钱包)。使用目前市面上的流量/API网关要么无法有效达到限流效果、要么限流过于严重批量操作无法全部成功。解决在物流平台这个场景下,一般的流量/API网关限流器下的批量请求无法全部成功、或其他请求无法达到有效的限流效果这两个主体问题。
发明内容
有鉴于此,本发明提供了一种数据请求的处理方法、系统、终端及可读存储介质,能缩短对数据请求的响应时间,提高数据请求的处理效率。
本申请提供了一种数据请求的处理方法,包括:
获取并解析预设滑动时间窗口内的数据请求;
若所述数据请求满足批量处理条件,则将所述数据请求传输至本地队列;
分发所述本地队列中的数据请求至后端服务器进行批量处理。
可选地,所述批量处理条件包括所述数据请求的数据格式、请求来源、包体长度、字段数、字段重复率中的至少一项,所述数据请求满足批量处理条件,包括以下至少一项:
所述数据请求的数据格式为预设格式;
所述数据请求的请求来源相同;
所述数据请求的包体长度的方差小于或等于第一预设值;
所述数据请求的字段数的方差小于或等于第二预设值;
所述数据请求的字段重复率大于或等于第三预设值。
可选地,所述分发所述本地队列中的数据请求至后端服务器进行批量处理,包括:
通过容量评估插件确定或生成预设速率;
根据所述预设速率分发所述本地队列中的数据请求至后端服务器。
可选地,所述分发所述本地队列中的数据请求至后端服务器进行批量处理之后,还包括:
根据所述本地队列中的数据请求积压量调整所述后端服务器的数量。
可选地,所述根据所述本地队列中的数据请求积压量调整所述后端服务器的数量的算法为PID控制算法,表达式为:
其中,μ(t)为后端服务器的增减量;Kp为预设比例增益值;Tt为积分时间常数;TD为微分时间常数;e(t)为目标积压量与实测积压量的差值。
可选地,所述根据所述本地队列中的数据请求的积压量调整所述后端服务器的数量之后,还包括:
若目标积压请求量和实测积压量的差值无变化或增大,则触发异常警告。
可选地,所述方法,还包括:
若所述数据请求满足批量处理条件,则根据负载均衡算法分发所述数据请求至后端服务器;
若所述数据请求不满足批量处理条件,则根据令牌桶算法分发所述数据请求至后端服务器。
本申请还提供一种数据请求的处理系统,包括前置过滤器、容量评估插件、请求处理器、后置处理插件和后端服务器;
所述前置过滤器,用于获取并解析预设滑动时间窗口内的数据请求;
所述请求处理器,用于将满足批量处理条件的数据请求传输至本地队列,以及分发所述本地队列中的数据请求至后端服务器处理;
所述容量评估插件,用于确定或生成分发所述本地队列中的数据请求的预设速率;
所述后置处理插件,用于根据所述本地队列中的数据请求积压量调整所述后端服务器的数量;
所述后端服务器,用于处理所述数据请求。
本申请还提供一种终端,包括:存储器、处理器,其中,存储器上存储有数据请求的处理程序,数据请求的处理程序被处理器执行时实现如上所述的数据请求的处理方法的步骤。
本申请还提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令;计算机程序指令被处理器执行时实现如上所述的数据请求的处理方法。
综上所述,本发明提供的数据请求的处理方法,包括:获取并解析预设滑动时间窗口内的数据请求;若数据请求满足批量处理条件,则将数据请求传输至本地队列;分发本地队列中的数据请求至后端服务器进行批量处理。本申请通过对数据请求进行批量处理筛选,能缩短对数据请求的响应时间,提高数据请求的处理效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为根据本发明实施例示出的数据请求的处理方法的流程示意图;
图2为根据本发明实施例示出的数据请求的处理系统的工作流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明详细说明如下。
第一实施例
如图1所示,本发明实施例提供了一种数据请求的处理方法,包括:
步骤201,获取并解析预设滑动时间窗口内的数据请求。
需要说明的是,滑动时间窗口就是能够根据指定的单位长度来框住时间序列,从而计算框内的统计指标。比如,设置滑动时间窗口为10s,即获取10秒内的数据请求,然后对获取的数据请求进行解析。
步骤202,若数据请求满足批量处理条件,则将数据请求传输至本地队列。
本实施例中,批量处理条件包括数据请求的数据格式、请求来源、包体长度、字段数、字段重复率中的至少一项。
数据请求满足批量处理条件,包括以下至少一项:
数据请求的数据格式为预设格式;
数据请求的请求来源相同;
数据请求的包体长度的方差小于或等于第一预设值;
数据请求的字段数的方差小于或等于第二预设值;
数据请求的字段重复率大于或等于第三预设值。
需要说明的是,本实施例通过前置过滤器识别数据请求的类型。分析数据请求的来源、包体长度以及数据格式等。并解析数据请求的字段数、字段名等。可选地,筛选同一来源的数据请求进行批量处理。可选地,筛选具有同一类数据格式的数据请求进行批量处理,例如筛出格式为JSON或XML的请求。可选地,计算数据请求的包体长度总体方差其中,X1为每一个数据请求的包体长度,μ1为当前时间段内数据请求的包体长度的平均值,N为当前时间段内数据请求的数量。可选地,计算数据请求的字段数总体方差其中,X2为每一个数据请求的字段个数,μ2为当前时间段内数据请求的字段个数的平均值,N为当前时间段内数据请求的数量。可选地,计算数据请求的字段重复率n=字段名相同个数/总体平均字段个数。如果得到的s1和/或s2小于等于预设值,说明各个数据请求的包体长度、字段个数差不多,可确定该数据请求为批量请求。如果n大于等于预设值,可确定该数据请求为批量请求。
当数据请求满足批量处理条件,则在该请求的Header中插入标识字段BATCH_REQ=true,并将该数据请求传输至请求处理器继续处理。如此,实现了客户端常用数据请求的有效识别。
在一实施方式中,分发本地队列中的数据请求至后端服务器进行批量处理,包括:
通过容量评估插件确定或生成预设速率;
根据预设速率分发本地队列中的数据请求至后端服务器。
本实施例中,通过容量评估插件分析后端服务器的参数并实时评估并调整系统容量。具体地,后端服务器将OSHI采集的硬件信息、资源占用等数据通过心跳连接上报到流量网关。其中,OSHI是Java的免费的基于JNA的(本机)操作系统和硬件信息库。接着,实时分析各服务器的心跳数据,调整各负载均衡权重,以及各服务负载的RT(response time,响应时间)、TPS(TransactionsPerSecond,吞吐量)等运行数据。将上述数据结合预设的可接受最高请求响应时间,使用曲线拟合函数,预估系统最高吞吐量。将预估的最高吞吐量实时存储到分布式共享内存系统中。
在一实施方式中,数据请求的处理方法,还包括:
若数据请求满足批量处理条件,则根据负载均衡算法分发数据请求至后端服务器;
若数据请求不满足批量处理条件,则根据令牌桶算法分发数据请求至后端服务器。
本实施例中,数据请求被请求处理器传输至本地队列,请求处理器继续向后端服务器分发处理数据请求。请求处理器处理被标记为批量处理的数据请求时,读取分布式共享内存系统中的预估的最高吞吐量,然后读取到Header中BATCH_REQ=true的数据请求,即数据请求满足批量处理条件。将该数据请求推入本地队列。接着,以预估的最高吞吐量的速率实时读取本地队列数据,并通过预设的负载均衡算法将数据请求分发到各后端服务器。这样使得数据请求的响应时间保持在可控预设值之内,99%以上的请求响应时间小于1s。
请求处理器读取的数据请求Header中无BATCH_REQ=true,即数据请求不满足批量处理条件。对这部分数据请求使用令牌桶算法,以预设的桶大小做限流处理。
步骤203,分发本地队列中的数据请求至后端服务器进行批量处理。
在一实施方式中,分发本地队列中的数据请求至后端服务器进行批量处理之后,还包括:
根据本地队列中的数据请求积压量调整后端服务器的数量。
在一实施方式中,根据本地队列中的数据请求积压量调整后端服务器的数量的算法为PID控制算法,表达式为:
其中,μ(t)为后端服务器的增减量;Kp为预设比例增益值,即控制积压数据量与后端负载增减量的比例值;Tt为积分时间常数;TD为微分时间常数;e(t)为目标积压量与实测积压量的差值,即预设的目标积压量m与实际测量的积压值之差。其中,m为预设1s内队列目标积压量。
在一实施方式中,根据本地队列中的数据请求的积压量调整后端服务器的数量之后,还包括:
若目标积压请求量和实测积压量的差值无变化或增大,则触发异常警告。
本实施例中,后置处理插件使用PID控制算法调整后端服务器数量。监控批量请求处理队列中数据请求的积压量n,即每秒刷新的数据请求积压量。
结合u(t)值的增减变化,向公有云服务商api请求增加或减少后端服务器的数量,最小值是至少一台。当通过PID控制算法调整多次后,例如5次,e(t)差值的绝对值无变化或继续扩大,则触发预留的异常告警接口调用,以便及时通知人工介入,检查是否存在异常数据请求,或者后端服务器的调整不及时等问题。
本申请实施例能大幅提高客户端批量请求转发成功率,且显著降低了IT成本,结合PID控制算法在请求量少的时候,会自动通过API减少后端服务器的数量,从而有效降低IT成本。
本发明的数据请求的处理方法应用于物流平台时,平均服务器占用量较现有技术中的Apahce-ShenYu网关自带限流器减少30%以上。由于物流平台网络请求高度集中,一天中大部分时间请求量是较少的,相较于其他传统流量/API网关处理的数据请求,IT成本降低效果非常明显。
本发明实施例的数据请求的处理方法,包括:获取并解析预设滑动时间窗口内的数据请求;若数据请求满足批量处理条件,则将数据请求传输至本地队列;分发本地队列中的数据请求至后端服务器进行批量处理。本申请通过对数据请求进行批量处理筛选,能缩短对数据请求的响应时间,提高数据请求的处理效率。
第二实施例
如图2所示,本发明实施例提供了一种数据请求的处理系统,包括前置过滤器、容量评估插件、请求处理器、后置处理插件和后端服务器;
前置过滤器,用于获取并解析预设滑动时间窗口内的数据请求,如数据请求的包体长度、字段数等;
请求处理器,用于将满足批量处理条件的数据请求存入本地队列,并分发本地队列中的数据请求至后端服务器处理;
容量评估插件,用于确定或生成分发本地队列中的数据请求的预设速率,可通过后端服务器上报数据,以评估得到后端服务器的最高速率作为预设速率;
后置处理插件,用于根据本地队列中的数据请求积压量调整后端服务器的数量,分析本地队列中1s内积压数据请求量,使用PID控制算法动态计算需要调整的后端服务器的数量,并向公有云厂商API请求调整;
后端服务器,用于处理数据请求。
本实施例执行上述方法步骤的具体过程,详见上述实施例的相关描述,在此不再赘述。
本申请还提供一种终端,包括:存储器、处理器,其中,存储器上存储有数据请求的处理程序,数据请求的处理程序被处理器执行时实现如上所述的数据请求的处理方法的步骤。
本发明实施例还提供一种可读存储介质,可读存储介质上存储有计算机程序指令;计算机程序指令被处理器执行时实现如上所述的数据请求的处理方法。
本实施例执行上述方法步骤的具体过程,详见上述实施例的相关描述,在此不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,除了包含所列的那些要素,而且还可包含没有明确列出的其他要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据请求的处理方法,其特征在于,包括:
获取并解析预设滑动时间窗口内的数据请求;
若所述数据请求满足批量处理条件,则将所述数据请求传输至本地队列;
分发所述本地队列中的数据请求至后端服务器进行批量处理。
2.根据权利要求1所述的数据请求的处理方法,其特征在于,所述批量处理条件包括所述数据请求的数据格式、请求来源、包体长度、字段数、字段重复率中的至少一项,所述数据请求满足批量处理条件,包括以下至少一项:
所述数据请求的数据格式为预设格式;
所述数据请求的请求来源相同;
所述数据请求的包体长度的方差小于或等于第一预设值;
所述数据请求的字段数的方差小于或等于第二预设值;
所述数据请求的字段重复率大于或等于第三预设值。
3.根据权利要求1所述的数据请求的处理方法,其特征在于,所述分发所述本地队列中的数据请求至后端服务器进行批量处理,包括:
通过容量评估插件确定或生成预设速率;
根据所述预设速率分发所述本地队列中的数据请求至后端服务器。
4.根据权利要求1所述的数据请求的处理方法,其特征在于,所述分发所述本地队列中的数据请求至后端服务器进行批量处理之后,还包括:
根据所述本地队列中的数据请求积压量调整所述后端服务器的数量。
6.根据权利要求4所述的数据请求的处理方法,其特征在于,所述根据所述本地队列中的数据请求的积压量调整所述后端服务器的数量之后,还包括:
若目标积压请求量和实测积压量的差值无变化或增大,则触发异常警告。
7.根据权利要求1所述的数据请求的处理方法,其特征在于,所述方法,还包括:
若所述数据请求满足批量处理条件,则根据负载均衡算法分发所述数据请求至后端服务器;
若所述数据请求不满足批量处理条件,则根据令牌桶算法分发所述数据请求至后端服务器。
8.一种数据请求的处理系统,其特征在于,包括前置过滤器、容量评估插件、请求处理器、后置处理插件和后端服务器;
所述前置过滤器,用于获取并解析预设滑动时间窗口内的数据请求;
所述请求处理器,用于将满足批量处理条件的数据请求传输至本地队列,以及分发所述本地队列中的数据请求至后端服务器处理;
所述容量评估插件,用于确定或生成分发所述本地队列中的数据请求的预设速率;
所述后置处理插件,用于根据所述本地队列中的数据请求积压量调整所述后端服务器的数量;
所述后端服务器,用于处理所述数据请求。
9.一种终端,其特征在于,所述终端包括:存储器、处理器,其中,所述存储器上存储有数据请求的处理程序,所述数据请求的处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据请求的处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序指令;所述可读存储介质被处理器执行时实现如权利要求1-7中的任一项所述的数据请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404901.1A CN114915662A (zh) | 2022-04-18 | 2022-04-18 | 数据请求的处理方法、系统、终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404901.1A CN114915662A (zh) | 2022-04-18 | 2022-04-18 | 数据请求的处理方法、系统、终端及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114915662A true CN114915662A (zh) | 2022-08-16 |
Family
ID=82764170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210404901.1A Pending CN114915662A (zh) | 2022-04-18 | 2022-04-18 | 数据请求的处理方法、系统、终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114915662A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115392A (en) * | 1986-10-09 | 1992-05-19 | Hitachi, Ltd. | Method and apparatus for multi-transaction batch processing |
CN107070802A (zh) * | 2016-12-21 | 2017-08-18 | 吉林大学 | 基于pid控制器的无线传感器网络拥塞控制技术 |
CN107409149A (zh) * | 2016-03-17 | 2017-11-28 | 谷歌公司 | 混合的客户端‑服务器数据提供 |
CN113761433A (zh) * | 2020-11-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 业务处理方法和装置 |
-
2022
- 2022-04-18 CN CN202210404901.1A patent/CN114915662A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115392A (en) * | 1986-10-09 | 1992-05-19 | Hitachi, Ltd. | Method and apparatus for multi-transaction batch processing |
CN107409149A (zh) * | 2016-03-17 | 2017-11-28 | 谷歌公司 | 混合的客户端‑服务器数据提供 |
CN107070802A (zh) * | 2016-12-21 | 2017-08-18 | 吉林大学 | 基于pid控制器的无线传感器网络拥塞控制技术 |
CN113761433A (zh) * | 2020-11-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 业务处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
马琳: "基于PID算法的网络拥塞控制研究", 中国优秀硕士论文全文数据库, pages 2 - 5 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7548969B2 (en) | Computer system polling with adjustable intervals based on rules and server states | |
JP6457447B2 (ja) | データセンターのネットワークトラフィックスケジューリング方法及び装置 | |
KR102175656B1 (ko) | 컴퓨팅 부하를 적응시키는 필터 방법 | |
US9258197B2 (en) | Prioritizing service requests | |
US20100008377A1 (en) | Queue management based on message age | |
EP3057290A1 (en) | Method, system and device for managing congestion in network services | |
KR101938455B1 (ko) | 동적인 에지 컴퓨팅을 수행하는 방법 및 장치 | |
CN110716808B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
EP3952256B1 (en) | Improved admission policies for queued website visitors | |
US20110153828A1 (en) | Load balancing apparatus and method for regulating load using the same | |
CN103793455A (zh) | 用于减少服务器/数据库系统中锁定发生的方法和系统 | |
US20190057418A1 (en) | Mitigation of failures in an online advertising network | |
CN114915662A (zh) | 数据请求的处理方法、系统、终端及可读存储介质 | |
CN117785491A (zh) | 一种gpu云计算资源管理方法、系统及存储介质 | |
CN111447113B (zh) | 一种系统监控方法和装置 | |
CN116382892B (zh) | 一种基于多云融合以及云服务的负载均衡方法及装置 | |
CN117422539A (zh) | 风控决策方法、装置以及计算机可读存储介质 | |
CN114979726B (zh) | 码率调整方法、装置、服务器和存储介质 | |
CN112187870A (zh) | 一种带宽平滑方法及装置 | |
CN115665173B (zh) | 一种基于MQ的WebSocket通信方法、系统和存储介质 | |
US10535090B2 (en) | Modifying communication of orders to vendors within a venue | |
CN111984681B (zh) | 贷后征信查询方法及装置 | |
CN114884749A (zh) | 一种基于人工智能的网络安全态势感知方法 | |
CN112862495A (zh) | 交易数据风险控制方法、装置、计算机设备和存储介质 | |
FR3043515A1 (fr) | Procede de gestion du trafic reseau relatif a un mecanisme de signalisation de presence d'un terminal |
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 |