CN111078735A - 一种查询请求处理方法及装置 - Google Patents

一种查询请求处理方法及装置 Download PDF

Info

Publication number
CN111078735A
CN111078735A CN201911064994.2A CN201911064994A CN111078735A CN 111078735 A CN111078735 A CN 111078735A CN 201911064994 A CN201911064994 A CN 201911064994A CN 111078735 A CN111078735 A CN 111078735A
Authority
CN
China
Prior art keywords
request
time
sub
query request
processed
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.)
Granted
Application number
CN201911064994.2A
Other languages
English (en)
Other versions
CN111078735B (zh
Inventor
李成露
赵云
孙迁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201911064994.2A priority Critical patent/CN111078735B/zh
Publication of CN111078735A publication Critical patent/CN111078735A/zh
Application granted granted Critical
Publication of CN111078735B publication Critical patent/CN111078735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种查询请求处理方法及装置,解决耗时长的查询请求占着有限资源不释放,导致优先级高的查询等待超时的技术问题。在本发明实施中,获取查询请求的第一耗时,所述查询请求至少为两个;根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;根据第二耗时,选择查询请求进行降级处理。相比于现有技术,本发明实施例通过计算查询请求的时间成本,结合查询请求的优先级,得到查询请求的权重时间成本,选择权重时间成本最大的查询请求进行降级,权重时间成本既考虑了时间成本,又考虑了优先级,耗时高或者优先级低的查询请求会被降级,耗时低或者优先级高的查询请求被处理。

Description

一种查询请求处理方法及装置
技术领域
本发明涉及大数据技术领域,具体涉及一种查询请求处理方法及装置。
背景技术
Druid是OLAP大数据分析常用的解决方案之一,在海量数据存储的前提下,通过Druid完成的大部分查询耗时都是亚秒级的,其查询处理逻辑如图1所示:客户端发送查询请求到broker节点;broker节点分而治之,将查询请求转化成若干个segment请求,分发到若干个historical节点;所有的historical节点处理完segment请求之后,再把处理结果返回给broker节点;最后broker节点再统一对这些segment结果进行汇总,返回给客户端。其中,segment为Druid的数据存储最小单元;broker为Druid的查询节点,接收所有客户端的查询请求;historical为Druid的历史节点,既负责segment的存储,也负责segment的查询。
由于historical节点处理segment请求的线程资源是有限的,当查询请求增加时,broker节点转化成的segment请求数增加,或者某些查询请求本身涉及到的segment的数量就很多,如果某些segment的处理时间过长,会导致其他segment的处理堆积等待,极端情况下会造成其他查询超时失败。
现有的Druid查询降级的解决方案,总体上都是通过监控线程的方式,计算线程运行的时间,如果运行时间超过设置的阈值,则将线程杀死。然而这种方式存在如下问题:一、对所有的查询请求都是“一刀切”,优先级高的查询请求只要处理的线程运行时间超过阈值,也会被杀死,无法得到处理;二、依据线程运行的时间来进行降级,这个监控粒度太大,容易出现误杀的情况。
发明内容
本发明的实施例提供一种查询请求处理方法及装置,解决耗时长的查询请求占着有限资源不释放,导致优先级高的查询等待超时的技术问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种查询请求处理方法,包括:
获取查询请求的第一耗时,所述查询请求至少为两个;
根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;
根据所述第二耗时,选择查询请求进行降级处理。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时,具体包括:
根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子;
将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
结合第一方面,在第一方面的第二种可能的实现方式中,所述查询请求包括已处理的子请求、正在处理的子请求和未处理的子请求,所述获取查询请求的第一耗时,具体包括:
获得所述已处理的子请求的耗时;
获得所述正在处理的子请求的耗时;
获得所述未处理的子请求的耗时;
根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时,具体为:
根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获得所述未处理的子请求的耗时,具体为:
根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
第二方面,本发明的实施例提供一种查询请求处理装置,包括:
第一耗时获取模块,用于获取查询请求的第一耗时,所述查询请求至少为两个;
第二耗时获取模块,用于根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;
降级模块,用于根据所述第二耗时,选择查询请求进行降级处理。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二耗时获取模块包括:
权重单元,用于根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子;
加权单元,用于将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第一耗时模块包括:
已处理单元,用于获得所述已处理的子请求的耗时;
正在处理单元,用于获得所述正在处理的子请求的耗时;
未处理单元,用于获得所述未处理的子请求的耗时;
加权求和单元,用于根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述加权求和单元具体用于:
根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述未处理单元具体用于:
根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
本发明实施例提供的一种查询请求处理方法及装置,解决耗时长的查询请求占着有限资源不释放,导致优先级高的查询等待超时的技术问题。在本发明实施中,获取查询请求的第一耗时,所述查询请求至少为两个;根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;根据所述第二耗时,选择查询请求进行降级处理。相比于现有技术,本发明实施例通过计算查询请求的耗时,结合查询请求的优先级,得到查询请求的权重耗时,根据权重耗时选择查询请求进行降级,权重耗时既考虑了耗时,又考虑了优先级,耗时高或者优先级低的查询请求会被降级,耗时低或者优先级高的查询请求被处理。优先级高的查询请求,即使耗时长也不会被轻易降级处理,在一定程度上保障优选级高的查询请求得到处理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一个实施例提供的查询请求处理方法的方法流程图;
图2为本发明一个实施例中步骤S10的流程图;
图3为本发明一个具体实施例涉及的一种实施环境的结构示意图;
图4为本发明一个实施例提供的查询请求降级装置的结构框图;
图5为本发明另一个实施例提供的查询请求降级装置的结构框图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的提前下所获得的实施例,都应属于本发明保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例提供一种查询请求处理方法,如图1所示,包括:
步骤S10、获取查询请求的第一耗时,所述查询请求至少为两个。
其中,查询请求为所有正在运行的查询请求,每个查询请求包括至少一个子请求。例如,正在运行的查询请求有四个,分别为查询请求A、查询请求B、查询请求C和查询请求D,查询请求A有子请求A1、A2和A3,查询请求B有子请求B1、B3、B4和B6,查询请求C有子请求C2、C3、C5、C6和C7,查询请求D有子请求D1。获取每个查询请求的第一耗时。
查询请求的子请求中有已经处理的、正在处理的和未处理的,根据本发明的一个实施例,查询请求包括已处理的子请求、正在处理的子请求和未处理的子请求,获取查询请求的第一耗时,如图2所示,具体包括:
步骤S101,获得所述已处理的子请求的耗时。系统会记录处理一个子请求的创建处理一个子请求的线程时间和该线程终止时间,已处理的子请求的耗时为处理该子请求的线程的运行时间。
步骤S102,获得所述正在处理的子请求的耗时。同样根据系统记录的处理该子请求的线程启动时间,得到线程已运行时间,为正在处理的子请求的耗时。
步骤S103,获得所述未处理的子请求的耗时。
根据本发明的一个实施例,步骤S103具体根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
本发明实施例根据已处理的子请求的时间和个数,求得每个子请求的平均处理时间,再由该平均时间乘以未处理的子请求的个数得到的时间,作为未处理的子请求的耗时,接近于真实的未处理的子请求的耗时,且计算简单。
步骤S104,根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
本发明实施例通过计算该查询请求的已处理的子请求的耗时,正在处理的子请求的耗时以及未处理的子请求的耗时,来得到该查询请求的第一耗时,即时间成本,作为选择降级处理的评价标准之一,细化了时间成本的粒度,提高了降级处理选择的准确性,保证了系统处理查询请求的稳定性。
根据本发明的一个实施例,步骤S104具体根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
例如,可以预设a1=0.7,a2=0.2,a3=0.1。
本发明实施例根据将已处理的子请求的耗时,正在处理的子请求的耗时和未处理的子请求的耗时对该查询请求的第一耗时的实际值的影响力度,将三者加权求和得到该查询请求的第一耗时,相比于直接将已处理的子请求的耗时,正在处理的子请求的耗时以及未处理的子请求的耗时相加得到该查询请求的第一耗时,更准确,进一步提高了降级处理选择的准确性,保证了系统处理查询请求的稳定性。
步骤S20,根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时。其中,优先级字段从查询请求中提取,优先级字段的表现形式可以但不局限为“VH”,“H”,“M”和“L”,分别对应“非常重要”,“重要”,“一般”和“低”。
根据本发明的一个实施例,所述步骤S20具体包括:
步骤S201,根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子。
其中,优先级字段与优先级权重因子的对应关系为优先级越高,对应的优先级权重因子的数值越小。优先级字段与优先级权重因子的对应关系可预先存储到服务器的系统中。可选地,优先级字段与优先级权重因子的对应关系以二进制的格式进行保存,减少对应关系文件的大小。
例如,预设的优先级字段与优先级权重因子的对应关系如下:
优先级字段为:“VH”,“H”,“M”和“L”,分别表示优先级“非常重要”,“重要”,“一般”和“低”,设置对应的优先级权重因子分别为:0.1,0.3,0.5,0.7。
步骤S202,将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
本发明实施例通过查找与该查询请求的优先级字段对应的优先级权重因子,将作为选择降级处理的评价标准之二的优先级数值化,与第一耗时相乘得到第二耗时,减弱第一耗时对选择降级处理的影响力度,综合考虑查询请求的时间成本和优先级,进一步保障优先级高的查询请求不被降级处理掉。通过预设优先级字段与优先级权重因子的对应关系,可以让复杂的查询请求由于优先级低而被进行降级处理,尽快释放出资源,给其他查询请求使用,不至于等待超时失败,保障大部分查询请求被处理。
步骤S30,根据所述第二耗时,选择查询请求进行降级处理。
具体的,将所有查询请求根据第二耗时从大到小进行排序,选择第二耗时最大的查询请求进行降级处理,具体是将处理该查询请求的子请求的所有线程杀死。
图3示出了Druid查询方法所涉及的一种实施环境的结构示意图,该实施环境包括客户端、查询节点服务器(broker节点)和至少一个历史节点服务器(historical节点)。本发明实施例提供的方法流程,具体可以运行在图2所示的历史节点服务器(historical节点)中。
历史节点服务器(historical节点)启动监控线程,监控其空闲http连接数,若空闲http连接数小于阈值,执行以下步骤:
步骤S620,计算所有正在运行的查询请求的第一耗时CostTime。
例如,正在运行的查询请求有四个,分别为查询请求A、查询请求B、查询请求C和查询请求D。
计算查询请求A的第一耗时CostTime的方法包括以下步骤:
步骤S6201,得到查询请求A的已处理的segment的耗时CompeteTime为20s。
步骤S6202,根据已处理的segment的耗时CompeteTime,已处理完成的segment的个数CompleteNum,以及未处理的segment的个数RemainingNum,计算得到查询请求A的未处理的segment的耗时RemainingTime。具体计算公式如下:
RemainingTime=CompeteTime/CompleteNum×RemainingNum
对于查询请求A,已处理10个segment,已处理的segment的耗时CompeteTime为20s,有5个segment未处理,求得查询请求A的未处理的segment的耗时RemainingTime为10s。
步骤S6203,得到查询请求A的正在处理的segment的耗时RunningTime为15s。具体的,根据线程启动时间得到RunningTime。
步骤S6204,根据下式计算得到查询请求A的第一耗时CostTime。
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime
例如,预设a1=0.7,a2=0.2,a3=0.1,计算得到查询请求A的第一耗时CostTime为0.7*20+0.2*15+0.1*10=18s。
按照步骤S6201至步骤S6204计算得到查询请求B、查询请求C和查询请求D的第一耗时分别为20s,25s和15s。
步骤S630,计算所有正在运行的查询请求的第二耗时TotalCostTime。
例如,预设的优先级字段与优先级权重因子的对应关系如下:
优先级字段为:“VH”,“H”,“M”和“L”,对应的优先级权重因子分别为:0.1,0.3,0.5,0.7。
仍以上述例子为例,查询请求A、B、C和D的优先级分别为“重要”,“一般”,“非常重要”和“低”,其优先级字段分别是“H”,“M”,“VH”和“L”,找到对应的优先级权重因子分别是0.3,0.5,0.1,0.7,将查询请求A、B、C和D的第一耗时分别乘以其优先级权重因子,得到查询请求A的第二耗时为5.4s,查询请求B的第二耗时为10s,查询请求C的第二耗时为2.5s,查询请求D的第二耗时为10.5s。
步骤S640,按照第二耗时TotalCostTime从大到小将所有正在运行的查询请求进行排序,选择第二耗时TotalCostTime最大的查询请求进行降级处理,具体是将处理该查询请求的segment的线程杀死。
以上述例子为例,按照权重总耗时从大到小排序为D,B,A,C,将处理查询请求D的segment的线程杀死。
本发明实施例提供的一种查询请求处理方法,解决耗时长的查询请求占着有限资源不释放,导致优先级高的查询等待超时的技术问题。在本发明实施中,获取查询请求的第一耗时,所述查询请求至少为两个;根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;选择第二耗时最大的查询请求进行降级处理。相比于现有技术,本发明实施例通过计算查询请求的时间成本,结合查询请求的优先级,得到查询请求的权重时间成本,选择权重时间成本最大的查询请求进行降级,权重时间成本既考虑了时间成本,又考虑了优先级,使得优先级高的查询请求,即使时间成本高也不会被轻易降级处理,在一定程度上保障优选级高的查询请求得到处理。
本发明实施例还提供一种查询请求处理装置,如图4所示,包括:
第一耗时获取模块,用于获取查询请求的第一耗时,所述查询请求至少为两个;
第二耗时获取模块,用于根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;
降级模块,用于选择第二耗时最大的查询请求进行降级处理。
作为优选,如图5所示,所述第二耗时获取模块包括:
权重单元,用于根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子;
加权单元,用于将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
作为优选,所述第一耗时模块包括:
已处理单元,用于获得所述已处理的子请求的耗时;
正在处理单元,用于获得所述正在处理的子请求的耗时;
未处理单元,用于获得所述未处理的子请求的耗时;
加权求和单元,用于根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
作为优选,所述加权求和单元具体用于:
根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
作为优选,所述未处理单元具体用于:
根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
本发明实施例提供的一种查询请求处理装置,解决耗时长的查询请求占着有限资源不释放,导致优先级高的查询等待超时的技术问题。在本发明实施中,第一耗时获取模块获取查询请求的第一耗时,所述查询请求至少为两个;第二耗时获取模块根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;降级模块选择第二耗时最大的查询请求进行降级处理。相比于现有技术,本发明实施例通过计算查询请求的时间成本,结合查询请求的优先级,得到查询请求的权重时间成本,选择权重时间成本最大的查询请求进行降级,权重时间成本既考虑了时间成本,又考虑了优先级,使得优先级高的查询请求,即使时间成本高也不会被轻易降级处理,在一定程度上保障优选级高的查询请求得到处理。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。本领域技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种查询请求处理方法,其特征在于,包括:
获取查询请求的第一耗时,所述查询请求至少为两个;
根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;
根据所述第二耗时,选择查询请求进行降级处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时,具体包括:
根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子;
将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
3.根据权利要求1所述的方法,其特征在于,所述查询请求包括已处理的子请求、正在处理的子请求和未处理的子请求,所述获取查询请求的第一耗时,具体包括:
获得所述已处理的子请求的耗时;
获得所述正在处理的子请求的耗时;
获得所述未处理的子请求的耗时;
根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
4.根据权利要求3所述的方法,其特征在于,所述根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时,具体为:
根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
5.根据权利要求3所述的方法,其特征在于,所述获得所述未处理的子请求的耗时,具体为:
根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
6.一种查询请求处理装置,其特征在于,包括:
第一耗时获取模块,用于获取查询请求的第一耗时,所述查询请求至少为两个;
第二耗时获取模块,用于根据所述查询请求的优先级字段和所述查询请求的第一耗时,得到所述查询请求的第二耗时;
降级模块,用于根据所述第二耗时,选择查询请求进行降级处理。
7.根据权利要求6所述的装置,其特征在于,所述第二耗时获取模块包括:
权重单元,用于根据优先级字段与优先级权重因子的对应关系,匹配得到所述查询请求的优先级字段对应的优先级权重因子;
加权单元,用于将所述查询请求的第一耗时乘以所述优先级权重因子,得到所述查询请求的第二耗时。
8.根据权利要求6所述的装置,其特征在于,所述第一耗时模块包括:
已处理单元,用于获得所述已处理的子请求的耗时;
正在处理单元,用于获得所述正在处理的子请求的耗时;
未处理单元,用于获得所述未处理的子请求的耗时;
加权求和单元,用于根据所述已处理的子请求的耗时、所述正在处理的子请求的耗时和未处理的子请求的耗时,得到所述查询请求的第一耗时。
9.根据权利要求8所述的装置,其特征在于,所述加权求和单元具体用于:
根据式(1)得到所述查询请求的第一耗时:
CostTime=a1×CompeteTime+a2×RunningTime+a3×RemainingTime 式(1)
其中,CostTime为所述查询请求的第一耗时,CompeteTime为所述已处理的子请求的耗时,RunningTime为正在处理的子请求的耗时,RemainingTime为所述未处理的子请求的耗时,a1为第一权重因子,a2为第二权重因子,a3为第三权重因子,a1+a2+a3=1且a1>a2>a3。
10.根据权利要求8所述的装置,其特征在于,所述未处理单元具体用于:
根据式(2)获得所述未处理的子请求的耗时:
RemainingTime=CompeteTime/CompleteNum×RemainingNum 式(2)
其中,RemainingTime为所述未处理的子请求的耗时,CompeteTime为所述已处理的子请求的耗时,CompleteNum为已处理的子请求的个数,RemainingNum为未处理的子请求的个数。
CN201911064994.2A 2019-11-04 2019-11-04 一种查询请求处理方法及装置 Active CN111078735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911064994.2A CN111078735B (zh) 2019-11-04 2019-11-04 一种查询请求处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911064994.2A CN111078735B (zh) 2019-11-04 2019-11-04 一种查询请求处理方法及装置

Publications (2)

Publication Number Publication Date
CN111078735A true CN111078735A (zh) 2020-04-28
CN111078735B CN111078735B (zh) 2023-06-30

Family

ID=70310756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911064994.2A Active CN111078735B (zh) 2019-11-04 2019-11-04 一种查询请求处理方法及装置

Country Status (1)

Country Link
CN (1) CN111078735B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742383A (zh) * 2021-09-03 2021-12-03 网银在线(北京)科技有限公司 数据存储方法、装置、设备及介质
CN113765979A (zh) * 2020-11-20 2021-12-07 北京沃东天骏信息技术有限公司 信息传输方法、系统和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294472A (zh) * 2015-06-03 2017-01-04 中国移动通信集团广东有限公司 一种Hadoop数据库HBase的查询方法及装置
CN110109953A (zh) * 2018-01-19 2019-08-09 阿里巴巴集团控股有限公司 一种数据查询方法、装置及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294472A (zh) * 2015-06-03 2017-01-04 中国移动通信集团广东有限公司 一种Hadoop数据库HBase的查询方法及装置
CN110109953A (zh) * 2018-01-19 2019-08-09 阿里巴巴集团控股有限公司 一种数据查询方法、装置及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765979A (zh) * 2020-11-20 2021-12-07 北京沃东天骏信息技术有限公司 信息传输方法、系统和装置
CN113765979B (zh) * 2020-11-20 2022-12-02 北京沃东天骏信息技术有限公司 信息传输方法、系统和装置
CN113742383A (zh) * 2021-09-03 2021-12-03 网银在线(北京)科技有限公司 数据存储方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111078735B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN109586952B (zh) 服务器扩容方法、装置
CN105955807B (zh) 一种任务处理系统及方法
CN111078735A (zh) 一种查询请求处理方法及装置
CN110933136A (zh) 一种服务节点选择方法、装置、设备及可读存储介质
CN102187327A (zh) 趋势确定和识别
EP3541048A1 (en) Method and apparatus for determining main scheduler from cloud computing system
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
CN112799923A (zh) 系统异常原因确定方法、装置、设备及存储介质
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN110875838A (zh) 一种资源部署方法、装置和存储介质
CN115269147A (zh) 一种批量任务处理方法、装置、设备及存储介质
CN111124791A (zh) 一种系统测试方法及装置
CN111858267B (zh) 预警方法、装置、电子设备及存储介质
CN109120424B (zh) 一种带宽调度方法及装置
CN110955548B (zh) 数据处理方法及装置
CN117499309A (zh) 流量控制的方法、装置、电子设备和计算机可读介质
CN114331446B (zh) 区块链的链外服务实现方法、装置、设备和介质
CN112800089B (zh) 一种中间数据存储级别调整方法、存储介质及计算机设备
CN113419863B (zh) 一种基于节点能力的数据分配处理方法及装置
CN115525392A (zh) 容器监控方法、装置、电子设备及存储介质
CN115774602A (zh) 一种容器资源的分配方法、装置、设备及存储介质
KR102464688B1 (ko) 모니터링 결과의 이벤트 등급 결정 방법 및 장치
CN110825493A (zh) 一种虚拟机调优的方法及装置
CN111860878A (zh) 共享单车的报修方法、服务器、电子设备及存储介质
CN115426202B (zh) 扫描任务下发方法、装置、计算机设备及可读存储介质

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
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210042

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210042

Patentee before: Suning Cloud Computing Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right

Effective date of registration: 20240507

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210042

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China