CN115168389A - 请求处理方法以及装置 - Google Patents

请求处理方法以及装置 Download PDF

Info

Publication number
CN115168389A
CN115168389A CN202210647251.3A CN202210647251A CN115168389A CN 115168389 A CN115168389 A CN 115168389A CN 202210647251 A CN202210647251 A CN 202210647251A CN 115168389 A CN115168389 A CN 115168389A
Authority
CN
China
Prior art keywords
rule
target
query
query request
request
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
Application number
CN202210647251.3A
Other languages
English (en)
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210647251.3A priority Critical patent/CN115168389A/zh
Publication of CN115168389A publication Critical patent/CN115168389A/zh
Pending legal-status Critical Current

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/242Query formulation
    • G06F16/2433Query languages
    • 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/23Updating
    • 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
    • G06F16/24553Query execution of query operations

Landscapes

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

Abstract

本说明书实施例提供请求处理方法以及装置,其中所述请求处理方法包括:接收针对目标数据库提交的查询请求;根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。

Description

请求处理方法以及装置
技术领域
本说明书实施例涉及数据库技术领域,特别涉及请求处理方法以及装置。
背景技术
随着互联网技术的发展,越来越多的信息开始数据化;而服务方为了能够对数据进行更加便捷的维护,更趋向于将多种不同的数据库服务器整合到统一的数据库下。一方面,是出于服务全面性考虑,一个统一的数据库,易于维护和使用的同时,也可以提供便捷的多源头数据分析,从而有助于发现更多数据中的价值。另一方面,是从资源利用率角度考虑,一个共享的数据库系统比起多个数据库系统往往意味着更少的成本。在此趋势下,共享数据库中往往运行着多种不同类型的工作负载。而不同的工作负载应用于不同的场景,用于向用户提供相应的查询服务。但是,如果不对工作负载加以限制,数据库系统中并发运用的其他查询将不得不等待运行中的查询释放资源后,才能够执行;很大程度会影响整体数据库系统的性能表现;因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书实施例提供了一种请求处理方法。本说明书一个或者多个实施例同时涉及一种请求处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种请求处理方法,包括:
接收针对目标数据库提交的查询请求;
根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;
在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;
通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
根据本说明书实施例的第二方面,提供了一种请求处理装置,包括:
接收模块,被配置为接收针对目标数据库提交的查询请求;
确定模块,被配置为根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;
匹配模块,被配置为在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;
更新模块,被配置为通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现任上述请求处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述请求处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述请求处理方法的步骤。
本说明书提供的请求处理方法,为了能够提高资源利用率,以及降低查询开销,可以在接收到针对目标数据库提交的查询请求后,根据预设的资源组与规则集合的映射关系,确定查询请求的目标资源组,并确定关联目标资源组的目标规则集合,用于实现降低规则匹配的数量节省资源消耗。之后在目标规则集合中确定查询请求匹配的目标规则,并确定目标规则对应的查询控制策略,再通过执行查询控制策略对查询请求进行更新,以根据更新后的查询请求访问目标数据库。实现了通过匹配目标规则的方式确定查询匹配的规则,并按照该规则的控制对查询请求进行限制,有效的降低了匹配规则的计算量,同时提升规则匹配速度,以快速完成查询请求访问目标数据库的响应。
附图说明
图1是本说明书一个实施例提供的一种请求处理方法的流程图;
图2是本说明书一个实施例提供的一种请求处理方法中规则更新的示意图;
图3是本说明书一个实施例提供的一种请求处理方法的处理过程流程图;
图4是本说明书一个实施例提供的一种请求处理装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
Workload:工作负载,在数据库中具有一些共同特征的查询请求,这部分查询请求可以被抽象为一类Workload,例如,请求源查询请求、优先级查询请求、性能目标查询请求等,可以通过自定义特征将查询请求区分为不同类型的Workload。
Workload manger:工作负载管理器,数据库的核心组件之一,运用多种策略对数据库的查询负载进行管理和控制,从而能够尽可能的满足查询的性能指标,并充分利用系统资源。
Action:工作负载管理器提供的控制手段,包括kill log resubmit等,不同的Action表达对查询请求的不同控制操作。
OLTP:(On-Line Transaction Processing,联机事务处理)也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
OLAP:(Online Analytical Processing,联机分析处理)用于使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(FastAnalysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。
在本说明书中,提供了一种请求处理方法,本说明书同时涉及一种请求处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
实际应用中,共享数据库因为整合多种数据源,其需要运行多种不同类型的工作负载,才能够响应于前端的查询需求。比如OLTP型查询,该类型查询的特点是资源开销低,执行时间短,但是对整体系统性能要求高;再比如OLAP型查询,该类型查询往往非常复杂,消耗资源高,运行时间长,但是精度更高。不同类型的工作负载,用户往往有着不同的性能诉求,而在数据库内部,同时运行的查询之间往往共享数据库系统的CPU、内存、磁盘IO等资源。而部分类型的查询往往会消耗巨大的系统资源,如果对工作负载的运行不加以限制,数据库系统中并发运用的其他查询将不得不等待运行中的查询释放资源后,才能够执行,影响整体数据库系统的性能表现。
有鉴于此,本说明书提供的请求处理方法,为了能够提高资源利用率,以及降低查询开销,可以在接收到针对目标数据库提交的查询请求后,根据预设的资源组与规则集合的映射关系,确定查询请求的目标资源组,并确定关联目标资源组的目标规则集合,用于实现降低规则匹配的数量节省资源消耗。之后在目标规则集合中确定查询请求匹配的目标规则,并确定目标规则对应的查询控制策略,再通过执行查询控制策略对查询请求进行更新,以根据更新后的查询请求访问目标数据库。实现了通过匹配目标规则的方式确定查询匹配的规则,并按照该规则的控制对查询请求进行限制,有效的降低了匹配规则的计算量,同时提升规则匹配速度,以快速完成查询请求访问目标数据库的响应。
图1示出了根据本说明书一个实施例提供的一种请求处理方法的流程图,具体包括以下步骤。
步骤S102,接收针对目标数据库提交的查询请求。
本说明书提供的请求处理方法应用于工作负载管理器(Workload manger),用于实现在接收到查询请求后,工作负载管理器可以根据查询请求指向的资源组匹配规则集合,并从集合中筛选出目标规则对应的控制对查询请求进行限制,从而有效的提高资源利用率,以及提高查询效率。
基于此,目标数据库具体是指整合至少一种类型数据的共享数据库,且该数据库对应至少一个资源组,用于利用资源组的资源,完成响应于查询请求访问目标数据库。其中,目标数据库对应的至少一个资源组,具体是指提供查询资源的资源集合,其包括但不限于CPU资源、内存资源、磁盘资源等。相应的,查询请求具体是指当前时刻需要访问目标数据库的查询请求,该查询请求需要访问目标数据库中包含的数据,以根据访问结果进行下游的处理。比如目标数据库中存储有交易数据,查询请求可以是访问T1到T2时间之间的交易失败数据的请求;在比如目标数据库中存储有游戏数据,查询请求可以是访问未登录游戏的玩家数据的请求。
实际应用中,考虑到目标数据库中存储有多种服务场景下的数据,因此同一时刻针对目标数据库提交的查询请求可能是多种类型的,不同类型的查询请求将访问数据库中不同的数据。本实施例为方便描述,仅以一种查询请求访问目标数据库的过程为例,对本说明书提供的请求处理方法进行说明,其他场景下的描述均可参见本实施例相同或相应的描述内容,在此不作过多赘述。
进一步的,考虑到目标数据库涉及的服务维度较为复杂,致使其关联的规则数量也非常大,为了能够降低匹配规则时的计算量,降低资源消耗,可以根据查询请求所属的查询阶段信息,对匹配到的规则进行剪枝,以减少无用规则浪费的匹配时间,本实施例中,具体实现方式如下:
确定所述查询请求对应的查询阶段信息;相应的,所述根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合,包括:根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的初始规则集合;在所述初始规则集合中筛选与所述查询阶段信息关联的规则,构建所述目标规则集合。
具体的,查询阶段信息具体是指查询请求所处的生命周期对应的信息,查询请求所处不同的生命周期,将匹配不同的规则对查询请求进行更新,用于实现按照生命周期对规则进行更细粒度的划分,从而降低匹配规则时消耗的计算资源。其中,查询请求对应的查询阶段信息,即生命周期,可以在接收到查询请求后,通过从代码层面查询描述生命周期的代码,以根据查询结果确定当前时刻所处的生命周期,方便后续匹配规则时,可以减少匹配到的规则数量。其中,查询阶段信息包括下述至少一项:排队前、排队中、生成执行任务之前、任务发布之前、调度之前以及任务执行中;不同的查询阶段所能够执行的规则是预先设定好的,因此可以在接收到查询请求后,通过确定查询阶段信息对匹配到的规则进行剪枝。
相应的,资源组与规则集合的映射关系,具体是指记录每个资源组预先设定好的规则集合的关联关系,用于在规则匹配阶段,可以根据查询请求指向目标资源组,通过读取该映射关系,可以明确目标资源组对应的初始规则集合。其中,初始规则集合具体是指关联目标资源组的全部规则组成的集合;相应的,目标规则集合具体是指初始规则集合中,与当前查询阶段匹配的规则组成的集合。
基于此,当接收到关联目标数据库的查询请求后,可以通过查询关联查询请求的代码,明确查询请求当前所处的生命周期,之后先根据查询请求指向的目标资源组,以及资源组和规则集合的映射关系,确定关联查询请求的初始规则集合,再按照生成周期对初始资源集合进行剪枝处理,即在初始资源集合中筛选与查询请求当前所处的生命周期具有索引关系的规则,组成目标规则集合,以用于后续可以利用目标规则集合完成对查询请求的更新。
也就是说,为了提高规则匹配效率,可以通过减少匹配规则数量的方式,缩短规则匹配时间。即对规则进行剪枝。工作负载管理器对于存储在内存中的规则分为query(查询)和cluster(集群)两个存储空间,每个存储空间内部会预先针对生命周期和资源组建立索引,从而在规则匹配阶段,可以有效的剪掉大部分无效的规则。即确定查询请求指向的目标资源组对应的初始规则集合,之后再按照生命周期和资源组间的索引对初始规则集合进行筛选,以根据筛选结果构建目标规则集合。
综上,通过结合查询阶段信息对初始规则集合进行剪枝处理,可以有效的降低查询请求匹配规则的数量,从而可以提高查询效率,实现在较短的时间内完成对查询请求的响应,有效的提高了查询效率。
更进一步的,考虑到目标数据库存储的数据是实时更新的,而随着数据的增多,为了能够保证任意场景下的查询请求都可以通过访问目标数据库得到响应,目标数据库的规则会根据开发人员变更而进行更新,从而可以在应用阶段匹配相应查询请求访问目标数据库,本实施例中,具体实现方式如步骤S1022至步骤S1028:
步骤S1022,接收携带有规则描述信息的规则变更指令。
步骤S1024,确定所述目标数据库关联的元数据库,并将所述规则描述信息写入所述元数据库。
步骤S1026,在所述目标数据库的规则变更节点,在所述元数据库中读取所述规则描述信息。
步骤S1028,按照预设的规则结构对所述规则描述信息进行转换,根据转换结果更新所述资源组与规则集合的映射关系。
具体的,规则描述信息具体是指开发人员在对目标数据库关联的规则进行修改,向目标数据库增加新的规则,删除目标数据库中已有规则对应的描述信息,用于描述需要修改、增加、删除的规则,且规则描述信息为文本描述形式,更加方便开发人员进行规则变更。相应的,规则变更指令具体是指针对需要修改的规则、删除的规则、新增的规则提交的指令,其可以为规则新增指令、规则删除指令或者规则修改指令。相应的,元数据库具体记录关联目标数据库的元数据的关系数据库,其中,元数据为描述数据的数据,主要是描述数据属性的信息,用来支持指示存储位置、历史数据、资源查找、文件记录等功能。也就是说,元数据库是按照数据结构来组织、存储和管理数据的仓库。
相应的,规则变更节点具体是指在规则描述信息写入元数据库之后,可以对规则描述信息进行转换处理的节点,用于在该节点可以根据规则描述信息确定需要变更的规则,用于后续响应于规则变更指令对相应的规则进行处理。
基于此,在用户存在对规则具有变更需求的情况下,可以接收用户上传的携带有规则描述信息的规则变更指令,此时可以明确目标数据库关联的元数据库,之后将规则描述信息持久化到元数据库中,以在写入成功后,可以触发规则变更节点执行规则变更的处理。也就是说,在目标数据库的规则变更节点,可以在元数据库中读取成功持久化的规则描述信息,之后按照预设的规则结构对规则描述信息进行转换,从而根据转换结果实现将文本格式的规则转换为与规则结构匹配的格式,以得到需要进行变更的规则,由于目标数据库的规则发生变更,为了能够使得变更的规则可以及时更新,从而不会对应用阶段产生影响,可以根据转换结果对资源组和规则集合的映射关系进行更新,以实现后续可以根据更新后的映射关系完成请求处理操作。
具体实施时,用户在通过目标数据库的运维界面提交规则变更指令后,可以先明确用户的变更需求,之后将规则中携带的规则描述信息持久化到元数据库。同时会触发工作负载管理器从元数据库中导入需要变更的规则,在内存中会按照规则结构对规则描述信息进行转换,以根据转换结果得到规则对象,即需要进行变更处理的规则,最后再根据变更处理后的规则对资源组与规则集合的映射关系进行更新即可。
实际应用中,用户在前端将通过HTTP请求发送规则变更指令,目标数据库的工作负载管理器会通过restful接口接收到该指令,此时先持久化规则描述信息到元数据库中,成功后,调用工作负载管理器的规则变更方法,重新从元数据库中导入需要变更的规则,且导入过程中,会将其转换为满足当前使用场景格式的规则表述,之后对规则建立或者更新索引,以方便后续使用。
综上,在规则变更阶段,通过采用预设的规则结构对规则描述信息进行转换,可以使得需要变更的规则满足目标数据库的规则格式,从而规范化规则管理,更加方便对规则进行维护,使得目标数据库涉及到的规则更加规范。
在此基础上,考虑到需要变更的规则是关联查询请求访问目标数据库的规则,为了能够在转换阶段,可以将文本描述格式的规则转换为预设规则结构格式,可以通过创建规则模板的方式完成,本实施例中,具体实现方式如下:
根据预设的规则结构创建规则模板,并确定所述规则模板关联的规则结构维度;按照所述规则结构维度在所述规则描述信息中提取规则子描述信息,并将所述规则子描述信息添加至所述规则模板,获得待写入规则;根据所述待写入规则,更新所述资源组与规则集合的映射关系。
具体的,预设的规则结构具体是指针对目标数据库添加规则时,需要遵循的结构,即任意规则都需要按照预设的规则结构存在。相应的,规则结构维度具体是指规则结构中不同类型属性对应的维度;相应的,规则子描述信息具体是指规则描述信息中对应不同规则结构维度的描述信息,其表达形式为文本类型;相应的,待写入规则具体是指针对目标数据库需要变更的规则。
基于此,所述规则结构维度包括下述至少一项:规则属性维度、规则状态维度、规则控制维度、规则时间维度;相应的,所述规则描述信息包括下述至少一项:规则属性描述信息、规则状态描述信息、规则控制描述信息、规则时间描述信息。
其中,规则属性维度具体是指对应规则基本属性信息的维度,规则基本属性信息包括但不限于规则标识、名称、所属者、描述内容、类型等。相应的,规则状态维度具体是指对应规则状态属性信息的维度;规则状态属性信息包括但不限于规则优先级、版本、生效资源组、启动状态等。相应的,规则控制维度具体是指对应规则控制属性信息的维度;规则控制属性信息包括但不限于规则谓词逻辑、控制策略等。相应的,规则时间维度具体是指对应规则时间属性信息的维度;规则时间属性信息包括但不限于规则创建时间、修改时间等信息。
相应的,规则属性描述信息即为文本格式的规则基本属性信息;规则状态描述信息即为文本格式的规则状态属性信息;规则控制描述信息即为文本格式的规则控制属性信息;规则时间描述信息即为文本格式的规则时间属性信息。
基于此,在根据变更后的规则更新映射关系时,可以根据预设的规则创建规则模板,同时确定规则模板关联的规则结构维度,以实现可以按照规则结构维度在规则描述信息中提取规则子描述信息,再将规则子描述信息添加到规则模板中,即可得到待写入规则,最后按照待写入规则对资源组与规则集合的映射关系进行更新即可,实现在应用阶段,可以受待写入规则的影响,以更加准确的响应查询请求。
实际应用中,目标数据库定义的规则格式,可以使用json表示,包括多种属性,以单条规则为例,可以包括以下属性:规则唯一标识、规则名称、规则创建者、规则描述信息、规则类型、规则优先级、规则版本信息、规则生效的资源组、规则是否启用、规则是否为系统内容规则、规则创建时间、规则修改时间、规则生效时间、规则失效时间、规则最近一次的修改者、规则的谓词逻辑、规则的action、规则的action_atrrs等。
其中,规则名称可以易于开发用户区分规则;规则创建者可以方便在规则出问题后,确定规则的创建者进行沟通,以达到维护规则的目的;规则描述信息可以方便在规则变更阶段理解规则用途;规则类型可以用于区分针对集群或者查询的规则,用来剪枝;规则优先级可以在多个规则都满足执行条件时,只生效优先级最高的规则;规则版本信息可以跟随工作负载管理器的版本而定,预防兼容性问题。规则生效的资源组用于明确规则所属的资源组;规则的谓词逻辑,是代表规则的条件,用于明确规则在何种条件下可以执行。规则的action是在规则满足条件后的控制动作,如kill、log等,主要依赖数据库系统自身提供的控制手段。规则的action_atrrs,是对于action赋予的一些属性,比如对于调整优先级的action,可以配置目标优先级的级别。
具体实施时,工作负载管理器会根据规则定义的属性以及执行的action,自动计算出规则能够生效的生命周期,从而绑定关联的生命周期,实现规则只有在查询所处的生命周期匹配时,才能够生效。
需要说明的是,代表规则的条件的谓词逻辑,其条件的左右两侧既可以使用户输入的常量值,也可以是来自系统级别的性能指标或者查询自身的属性,为用户的使用给予了充足的灵活性。而为了降低学习成本和提高规则匹配性能,针对目标数据库可以预设限制,即设定谓词逻辑支持简化的CNF(conjunctive normal form,合析范式)表达式,各个条件之间是and关系,支持的计算机识别的关键字(operator)包括>、>=、<、<=、=、!=、equal、not_equal;其中,euqal/not_equal用于字符串的比较,其他operator用于数值型比较;而表达式的左值具有下述几种情况:(1)从metric中取值;类似${metric.XX},其中,XX为字符串,代表指标名,指标值的类型可能是long/double;(2)从session中取值;类似${session.XX},其中,XX为字符串,代表查询属性名,属性值的类型可以是字符串或long/double,计算时具体类型可以结合operator和右值进行推断;
而表达式的右值也有下述几种情况:(1)从metric中取值;(2)从session取值;(3)用户填写的常量,其中,常量可能是字符串或数字,具体类型需要结合operator和左值进行推断。
在此基础上,如果operator是字符串型(equal/not_equal):两边按string进行比较;此情况下左值需要从session中取值,而右值不能是metric。如果operator是数值型:一种情况是左值、右值都是metric:按数字进行比较,类型向上转换(long->double);第二种情况是只有一侧是metric,另一侧是session值或常量:按metric的类型将另一侧转换为long或double;第三种情况是两侧都不是metric(比如左侧是session值,右侧是常量):统一转换为double比较。此外,如果类型有误,说明匹配规则失败,则此时可以生成相关日志进行反馈。
需要说明的是,规则的左值右值类型、operator类型,在规则保存、更新时会进行校验。
举例说明,当开发人员需要向目标数据库新增规则时,可以通过前端操作界面发送对于规则的新增指令,此时可以根据接收到的新增指令,将规则持久化到元数据库中,之后通过触发规则引擎从元数据库中导入新增的规则,并针对规则建立索引。以方便在应用阶段,可以使用新增的规则对查询请求进行更新。
参见图2所示的示意图,当开发人员通过前端提交规则调整指令后,包括但不限于删除、新增、修改等,可以先将文本格式的规则写入元数据库,在触发规则引擎后,规则引擎可以将元数据库中的规则导入,并对规则建立索引,以方便在应用阶段使用。而在应用阶段,可以通过指标采集服务器收集系统运行的指标信息存在自身的内存中,从而根据指标信息对查询请求进行控制。在接收到关联集群的查询请求时,将获取匹配集群的规则对查询请求进行控制。在接收到关联查询的查询请求时,如果当前阶段为查询进入数据库执行引擎之前的阶段,可以单次获取匹配查询的规则进行控制;如果当前阶段为查询开始执行之后的阶段,可以周期性获取匹配查询的规则进行控制。
综上,在映射关系更新阶段,通过按照预设的规则结构对规则描述信息进行转换,可以使得变更的规则以设定的结构存在,以使得目标数据库涉及的规则更加规范化,且通过设定结构的规则可以明确场景所需求的信息,以更方便的对规则进行更新,从而使得规则管理更加规范化。
步骤S104,根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合。
具体的,在上述接收到关联目标数据库的查询请求后,进一步的,考虑到目标数据库是一种共享数据库,其涉及的规则数量较大,如果采用全量计算查询请求匹配规则的方式,将会消耗目标数据库的大量计算资源;因此为了能够降低资源消耗,以及提高计算匹配规则的效率,可以先确定目标数据库预设的资源组与规则集合的映射关系,之后根据查询请求指向的目标资源组,查询该映射关系,从而根据查询结果可以确定目标资源组对应的目标规则集合,以方便后续在目标规则集合中匹配目标规则,对查询请求进行更新。
实际应用中,在用户提交查询请求时,目标资源组将由用户指定,以通过用户指定的资源组执行查询请求,实现对目标数据库的访问。
进一步的,在确定目标规则集合时,为了能够保证目标规则集合与查询请求相关联,且是用户指定的目标资源组对应的规则集合,需要根据标识完成确定,本实施例中,具体实现方式如下:
确定所述查询请求的所述目标资源组,并读取所述目标资源组对应的资源组标识;根据所述资源组标识查询预设的资源组与规则集合的映射关系,获得规则集合标识;按照所述规则集合标识在规则存储空间中,确定所述目标规则集合。
具体的,资源组标识具体是指目标资源组具有的唯一标识,用于在资源组集群中明确用户选择的资源组。相应的,规则集合标识具体是指目标资源组对应的规则集合所具有的标识,用于从目标数据库的全局规则中,筛选关联目标资源组规则的标识,以根据筛选结果确定规则后,组成目标规则集合。
基于此,在接收到查询请求后,可以先对查询请求进行解析,获得目标资源组对应的资源组标识。之后按照资源组标识查询预设的资源组与规则集合的映射关系,以根据查询结果确定资源组标识对应的规则集合标识,之后按照规则集合标识在规则存储空间中,选择规则组成目标规则集合即可。
举例说明,目标数据库对应M个资源组,分别为M1,M2…Mn;当接收到用户针对目标数据库提交的查询请求后,确定用户选择了M3资源组,而为了能够通过M3资源组执行查询请求访问目标数据库,可以先确定M3资源组对应的资源组标识ID_M3;再根据资源组标识ID_M3查询资源组与规则集合的映射关系,确定规则集合标识为ID_Q3,此时即可按照规则集合标识ID_Q3在目标数据库对应的规则存储空间中读取匹配查询请求的规则,根据读取结果确定查询请求匹配的规则组成目标规则集合{Q31、Q32、…Q3n}。
综上,通过以资源组标识为基础确定规则集合标识,并按照规则集合标识在规则存储空间中读取关联查询请求的规则,组成目标规则集合,可以保证目标规则集合中包含的规则都与查询请求匹配,以达到降低匹配规则数量的同时,可以保证不丢失规则,从而实现后续可以精准的对查询请求进行更新。
步骤S106,在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略。
具体的,在上述确定查询请求关联的规则组成的目标规则集合后,进一步的,考虑到目标规则集合中包含多个与查询请求匹配的规则,如果各个规则都生效执行,将会多次响应查询请求,同时也无法明确访问目标数据库后如何针对查询请求进行反馈;因此在确定目标规则集合后,可以在目标规则集合中确定查询请求匹配的目标规则,之后再确定目标规则对应的查询控制策略,以实现后续通过执行查询控制策略对查询请求进行更新,以完成对目标数据库的访问。其中,目标规则具体是指目标规则集合中与查询请求关联度最高的规则,相应的,查询控制策略具体是指能够对查询请求进行限制的action,用于限制查询请求。
进一步的,在从目标数据库中筛选目标规则阶段,为了能够准确从集合中筛选与查询请求关联度最高的目标规则,可以通过遍历规则的方式确定与查询请求匹配的请求关联规则,之后再根据请求关联规则的优先级选择目标规则,本实施例中,具体实现方式如步骤S1062至步骤S1064:
步骤S1062,遍历所述目标规则集合中包含的规则,根据遍历结果确定与所述查询请求匹配的至少一条请求关联规则。
具体的,遍历目标规则集合中包含的规则,是指对规则的属性进行遍历,通过遍历的方式可以确定规则中用于明确是否与查询请求匹配的属性信息,之后按照属性信息表达与查询请求的关联性,从集合中选择规则作为至少一条请求关联规则;相应的,请求关联规则具体是指目标规则集合中,与查询请求匹配的规则,其匹配关系表征在规则与查询请求相适配。
基于此,在确定目标规则集合后,可以对目标规则集合中包含的规则进行遍历,也就是说,遍历组成每条规则的属性信息,以根据遍历结果确定每条规则中表征与查询请求关联性的属性信息,再根据该属性信息确定当前规则是否与查询请求匹配,以筛选出匹配的规则作为请求关联规则,以方便后续从多条请求关联规则中确定目标规则。
更进一步的,在筛选请求关联规则时,为了能够保证确定的规则都是与查询请求匹配的规则,以确保准确性,本实施例中,具体实现方式如下:
根据遍历结果确定所述目标规则集合中规则的执行信息;将所述目标规则集合中规则的执行信息与预设的执行条件进行比较;根据比较结果选择满足所述执行条件的规则,作为所述查询请求匹配的至少一条请求关联规则。
具体的,执行信息具体是指规则对应的谓词逻辑,用于明确各个规则与查询请求的关联性,相应的,执行条件具体是指检测执行信息中的谓词逻辑是否为真。基于此,通过对每条规则进行遍历,可以确定每条规则的执行信息,即每条规则对应的全部谓词逻辑,此时可以将执行信息与预设执行条件进行比较,以根据比较结果确定每条规则的所有谓词逻辑是否为真。选择规则的所有谓词逻辑都为真的规则作为请求关联规则,以方便后续按照规则优先级筛选目标规则。
综上,通过查看每条规则的全部谓词逻辑,用于明确当前规则是否与查询请求进行匹配,以根据查看结果从目标规则集合中筛选请求关联规则,实现对关联性较低的规则进行剔除,降低规则匹配数量,有效的提高了查询请求响应效率。
步骤S1064,在所述至少一条请求关联规则中选择优先级最高的请求关联规则,作为所述目标规则。
具体的,在上述确定与查询请求匹配的至少一条请求关联规则后,进一步的,为了能够准确的响应查询请求,可以在至少一条请求关联规则中选择优先级最高的请求关联规则,将其作为目标规则。
具体实施时,每条请求关联规则的优先级可以根据其结构中优先级关联的属性信息明确,也就是说,规则的属性信息中具有优先级属性信息,通过读取优先级属性信息的数值即可明确规则的优先级,数值越大表征优先级越高。通过将数值进行比较,即可明确优先级最高的请求关联规则,将其作为目标规则即可。
实际应用中,考虑到规则较多的情况下,如果逐一匹配选择符合条件的规则作为目标规则,会消耗更多的时间才能够完成,因此为了能够节省规则匹配时间,从而提高处理效率;可以在规则导入后,建立索引阶段,对规则按照优先级顺序进行排序。在此基础上,选择目标规则时,即可按照已经基于优先级排列的规则进行匹配,只需要顺序匹配到第一条符合条件的规则即可返回作为目标规则,以用于后续进行使用。也就是说,顺序匹配到的第一条符合条件的规则是与查询请求匹配且优先级最高的目标规则。例如,规则Q1、Q2和Q3的优先级为Q1>Q2>Q3,在接收到查询请求后,可以按照规则的优先级顺序进行匹配,确定规则Q2符合条件,则将其作为查询请求匹配的目标规则即可,且此过程中,因为规则Q3的优先级低于规则Q2,因此并不会对规则Q3进行匹配,从而达到节省规则匹配时间的目的。
沿用上例,在确定目标规则集合{Q31、Q32、…Q3n}后,可以遍历每条规则的属性信息,以根据遍历结果确定每条规则所有的谓词逻辑,此时可以判断每条规则的谓词逻辑是否均为真,根据判断结果选择谓词逻辑均为真的规则作为请求关联规则,即目标规则集合{Q31、Q32、…Q3n}中,规则Q33、Q34、Q35、Q36可以作为请求关联规则。进一步的,由于在规则导入并建立索引阶段,已设定规则按照优先级从高到低的进行排序,因此按照顺序直接匹配第一条符合条件的规则作为目标规则即可。即确定第一条符合条件的规则为Q35,则选择规则Q35作为匹配查询请求的目标规则,以用于后续进行使用。
综上,通过遍历各个规则的执行信息,可以从目标规则集合中筛选出请求关联规则,并且由于建立索引时,对应的规则已按照优先级进行排序,因此只需要按照顺序匹配,选择第一条符合条件的规则作为目标规则,可以有效的节省规则匹配时间,提高处理效率。同时,在规则变更阶段已经将文本格式的规则转换为预设规则结构格式的规则,包括operator以及左右的属性值,metrics和session数据,以提高规则匹配效率。需要说明的是,所有的metrics需要实时的最新数据,因此规则中的metrics只需要明确属性名称,而不是具体的值,具体的值可以在匹配时实时拉取,即通过函数式的方法确定具体的值,再用于后续处理。
此外,在从目标规则集合中确定查询请求匹配的目标规则时,还可以先对目标规则集合中的规则按照优先级顺序进行排序,之后遍历每个规则的执行信息,选择优先级最高且执行信息满足条件的规则作为目标规则,具体实施时,可以根据实际应用场景进行选择,本实施例在此不作任何限定。
步骤S108,通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
具体的,在上述确定查询请求匹配的目标规则后,进一步的,为了能够使得查询请求可以快速的访问目标数据库,并反馈响应查询请求的信息,可以按照目标规则的查询控制策略对查询请求进行更新,以使得查询请求可以受到查询控制策略的限制,以利用限制后的查询请求访问目标数据库,且在访问目标数据库时,是通过目标资源组运行更新后的查询请求完成,以提高资源利用率的同时,降低资源消耗。
实际应用中,不同的目标规则对应不同的查询控制策略,而不同的查询控制策略又会对查询请求产生不同的限制,因此在根据查询控制策略对查询请求进行更新时,将采用不同的方式完成,具体实现方式如下:
(1)在所述查询控制策略为查询更新策略的情况下,确定所述查询请求对应的属性信息;根据所述查询更新策略将所述属性信息更新为目标属性信息,并按照所述目标属性信息对所述查询请求进行更新,获得目标查询请求;基于所述目标查询请求访问所述目标数据库。
具体的,查询更新策略具体是指对查询请求进行更新的策略,比如更新查询请求的优先级、更新查询请求的属性参数等;相应的,属性信息具体是指组成查询请求的基本信息,其用于描述查询请求,以访问目标数据库。相应的,目标属性信息具体是指根据查询更新策略对属性信息进行更新后的属性信息,即受到查询更新策略限制的属性信息,以此更新查询请求再访问目标数据库,可以更加准确和高效。
基于此,在查询控制策略为查询更新策略的情况下,说明当前生命周期需要对查询请求的属性参数进行变更,以利用变更后的查询请求访问目标数据库,因此,可以先对查询请求进行解析,获得查询请求对应的属性信息,之后按照查询更新策略对属性信息进行更新,得到目标属性信息,再按照目标属性信息对查询请求进行更新,即可得到目标查新请求,最后按照目标查询请求访问目标数据库即可。
沿用上例,在确定查询请求匹配的规则Q35后,可以先确定规则Q35对应的action,确定规则Q35对应的action为更新查询请求的优先级,则此时可以按照规则Q35对应的action对查询请求的优先级进行调整,得到优先级为low的目标规则,或者优先级为high的目标规则;之后在访问数据库阶段,可以按照更新后的优先级执行查询请求,以在目标数据库中读取数据并反馈给提交查询请求的用户。
具体实施时,考虑到实际应用场景下不同的查询往往对应不同的重要度,如果针对任意重要度的查询都采用相同的策略进行控制,将会导致系统整体性能的下降,以及资源利用率较低的问题。因此在针对各类型查询进行控制时,可以限制大查询或者非重要查询,使其查询反馈速度降低,从而使得小查询和重要查询可以获得更多的系统资源,使其查询反馈速度更快,以使集群整体的性能更优。
综上,通过采用更新查询请求属性信息的方式,完成对查询请求的更新,使得在访问目标数据库阶段,可以利用更新后的查询请求完成,实现可以针对不同的查询应用不同的控制手段,从而使集群整体的性能更优,有效的提高了资源利用率。
(2)在所述查询控制策略为查询限制策略的情况下,根据所述查询限制策略对所述查询请求进行处理;根据处理结果生成查询反馈信息,作为所述查询请求访问所述目标数据库的响应。
具体的,查询限制策略具体是指限制查询请求的策略,该限制可以理解为停止查询请求访问数据库,并释放查询请求;相应的,查询反馈信息具体是指查询请求被释放后生成的信息,用于提醒提交查询请求的用户。
基于此,在查询控制策略为查询限制策略的情况下,说明当前阶段的查询请求无法正常访问目标数据库,则此时可以根据查询限制策略对查询请求进行处理,以根据处理结果释放查询请求,并生成查询反馈信息,将其作为查询请求访问目标数据库的响应即可。
沿用上例,在确定查询请求匹配的规则Q35后,可以先确定规则Q35对应的action,确定规则Q35对应的action为kill,即删除查询请求,则此时可以按照规则Q35对应的action对查询请求进行释放,并向提交查询请求的用户反馈信息即可。
综上,通过采用不同的查询控制策略对查询请求进行更新,可以使得对查询请求产生不同的限制,以使得集群整体更优。
此外,还可以定期从指标采集服务器采集指标信息,以在内存中利用指标信息对查询请求进行控制,本实施例中,具体试下方式如下:
响应于针对指标采集服务器提交的信息采集请求,接收指标信息;根据所述指标信息创建目标查询控制策略;通过执行所述目标查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
具体的,指标采集服务器具体是指收集系统运行的指标信息的服务器,相应的,指标信息具体是指对查询请求进行限制的信息,比如{$metric.PATTERN_RT_P50}是某个查询的pattern历史运行的RT的中位数;{$metric.CLUSTER_RC_CPU_USAGE_MAX}是过去5分钟内接入节点的最大CPU使用率等;都可以用来作为规则的判断条件。
基于此,在响应于针对指标采集服务器提交的信息采集请求,接收指标信息后,可以根据指标信息创建目标查询控制策略;此时再通过执行目标查询控制策略对查询请求进行更新,响应于更新后的查询请求访问所述目标数据库即可,其中,对查询请求进行更新的相关描述可以参见上述实施例中相同或相似的描述内容,本实施例在此不作任何限定。
比如,if{$metric.PATTERN_RT_P50}>30000then kill代表对于查询请求所属于的pattern历史RT中位数超过30s的查询,直接执行kill操作。
本说明书提供的请求处理方法,为了能够提高资源利用率,以及降低查询开销,可以在接收到针对目标数据库提交的查询请求后,根据预设的资源组与规则集合的映射关系,确定查询请求的目标资源组,并确定关联目标资源组的目标规则集合,用于实现降低规则匹配的数量节省资源消耗。之后在目标规则集合中确定查询请求匹配的目标规则,并确定目标规则对应的查询控制策略,再通过执行查询控制策略对查询请求进行更新,以根据更新后的查询请求访问目标数据库。实现了通过匹配目标规则的方式确定查询匹配的规则,并按照该规则的控制对查询请求进行限制,有效的降低了匹配规则的计算量,同时提升规则匹配速度,以快速完成查询请求访问目标数据库的响应。
下述结合附图3,以本说明书提供的请求处理方法在共享数据库场景中的应用为例,对所述请求处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种请求处理方法的处理过程流程图,具体包括以下步骤。
步骤S302,接收针对共享数据库提交的查询请求。
步骤S304,确定查询请求对应的查询阶段信息。
步骤S306,根据预设的资源组与规则集合的映射关系,确定查询请求的目标资源组对应的初始规则集合。
步骤S308,在初始规则集合中筛选与查询阶段信息关联的规则,构建目标规则集合。
步骤S310,遍历目标规则集合中包含的规则,根据遍历结果确定目标规则集合中规则的执行信息。
步骤S312,将目标规则集合中规则的执行信息与预设的执行条件进行比较。
步骤S314,根据比较结果选择满足执行条件的规则,作为查询请求匹配的至少一条请求关联规则。
步骤S316,在至少一条请求关联规则中选择优先级最高的请求关联规则,作为目标规则。
步骤S318,确定目标规则对应的查询控制策略。
步骤S320,在查询控制策略为查询更新策略的情况下,确定查询请求对应的属性信息。
步骤S322,根据查询更新策略将属性信息更新为目标属性信息,并按照目标属性信息对查询请求进行更新,获得目标查询请求。
步骤S324,基于目标查询请求访问共享数据库。
综上所述,实现了通过匹配目标规则的方式确定查询匹配的规则,并按照该规则的控制对查询请求进行限制,有效的降低了匹配规则的计算量,同时提升规则匹配速度,以快速完成查询请求访问目标数据库的响应。
与上述方法实施例相对应,本说明书还提供了请求处理装置实施例,图4示出了本说明书一个实施例提供的一种请求处理装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为接收针对目标数据库提交的查询请求;
确定模块404,被配置为根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;
匹配模块406,被配置为在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;
更新模块408,被配置为通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
一个可选的实施例中,所述请求处理装置,还包括:
确定信息模块,被配置为确定所述查询请求对应的查询阶段信息;
相应的,所述确定模块404进一步被配置为:
根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的初始规则集合;在所述初始规则集合中筛选与所述查询阶段信息关联的规则,构建所述目标规则集合。
一个可选的实施例中,所述确定模块404进一步被配置为:
确定所述查询请求的所述目标资源组,并读取所述目标资源组对应的资源组标识;根据所述资源组标识查询预设的资源组与规则集合的映射关系,获得规则集合标识;按照所述规则集合标识在规则存储空间中,确定所述目标规则集合。
一个可选的实施例中,所述匹配模块406进一步被配置为:
遍历所述目标规则集合中包含的规则,根据遍历结果确定与所述查询请求匹配的至少一条请求关联规则;在所述至少一条请求关联规则中选择优先级最高的请求关联规则,作为所述目标规则。
一个可选的实施例中,所述匹配模块406进一步被配置为:
根据遍历结果确定所述目标规则集合中规则的执行信息;将所述目标规则集合中规则的执行信息与预设的执行条件进行比较;根据比较结果选择满足所述执行条件的规则,作为所述查询请求匹配的至少一条请求关联规则。
一个可选的实施例中,所述更新模块408进一步被配置为:
在所述查询控制策略为查询更新策略的情况下,确定所述查询请求对应的属性信息;根据所述查询更新策略将所述属性信息更新为目标属性信息,并按照所述目标属性信息对所述查询请求进行更新,获得目标查询请求;基于所述目标查询请求访问所述目标数据库。
一个可选的实施例中,所述请求处理装置,还包括:
限制模块,被配置为在所述查询控制策略为查询限制策略的情况下,根据所述查询限制策略对所述查询请求进行处理;根据处理结果生成查询反馈信息,作为所述查询请求访问所述目标数据库的响应。
一个可选的实施例中,所述请求处理装置,还包括:
更新映射关系模块,被配置为接收携带有规则描述信息的规则变更指令;确定所述目标数据库关联的元数据库,并将所述规则描述信息写入所述元数据库;在所述目标数据库的规则变更节点,在所述元数据库中读取所述规则描述信息;按照预设的规则结构对所述规则描述信息进行转换,根据转换结果更新所述资源组与规则集合的映射关系。
一个可选的实施例中,更新映射关系模块进一步被配置为:
根据预设的规则结构创建规则模板,并确定所述规则模板关联的规则结构维度;按照所述规则结构维度在所述规则描述信息中提取规则子描述信息,并将所述规则子描述信息添加至所述规则模板,获得待写入规则;根据所述待写入规则,更新所述资源组与规则集合的映射关系。
一个可选的实施例中,所述请求处理装置,还包括:
访问模块,被配置为响应于针对指标采集服务器提交的信息采集请求,接收指标信息;根据所述指标信息创建目标查询控制策略;通过执行所述目标查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
一个可选的实施例中,所述规则结构维度包括下述至少一项:
规则属性维度、规则状态维度、规则控制维度、规则时间维度;
相应的,所述规则描述信息包括下述至少一项:
规则属性描述信息、规则状态描述信息、规则控制描述信息、规则时间描述信息。
本说明书提供的请求处理装置,为了能够提高资源利用率,以及降低查询开销,可以在接收到针对目标数据库提交的查询请求后,根据预设的资源组与规则集合的映射关系,确定查询请求的目标资源组,并确定关联目标资源组的目标规则集合,用于实现降低规则匹配的数量节省资源消耗。之后在目标规则集合中确定查询请求匹配的目标规则,并确定目标规则对应的查询控制策略,再通过执行查询控制策略对查询请求进行更新,以根据更新后的查询请求访问目标数据库。实现了通过匹配目标规则的方式确定查询匹配的规则,并按照该规则的控制对查询请求进行限制,有效的降低了匹配规则的计算量,同时提升规则匹配速度,以快速完成查询请求访问目标数据库的响应。
上述为本实施例的一种请求处理装置的示意性方案。需要说明的是,该请求处理装置的技术方案与上述的请求处理方法的技术方案属于同一构思,请求处理装置的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述请求处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的请求处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述请求处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的请求处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述请求处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的请求处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种请求处理方法,包括:
接收针对目标数据库提交的查询请求;
根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;
在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;
通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
2.根据权利要求1所述的方法,所述根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合步骤执行之前,还包括:
确定所述查询请求对应的查询阶段信息;
相应的,所述根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合,包括:
根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的初始规则集合;
在所述初始规则集合中筛选与所述查询阶段信息关联的规则,构建所述目标规则集合。
3.根据权利要求1所述的方法,所述根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合,包括:
确定所述查询请求的所述目标资源组,并读取所述目标资源组对应的资源组标识;
根据所述资源组标识查询预设的资源组与规则集合的映射关系,获得规则集合标识;
按照所述规则集合标识在规则存储空间中,确定所述目标规则集合。
4.根据权利要求1所述的方法,所述在所述目标规则集合中确定所述查询请求匹配的目标规则,包括:
遍历所述目标规则集合中包含的规则,根据遍历结果确定与所述查询请求匹配的至少一条请求关联规则;
在所述至少一条请求关联规则中选择优先级最高的请求关联规则,作为所述目标规则。
5.根据权利要求4所述的方法,所述根据遍历结果确定与所述查询请求匹配的至少一条请求关联规则,包括:
根据遍历结果确定所述目标规则集合中规则的执行信息;
将所述目标规则集合中规则的执行信息与预设的执行条件进行比较;
根据比较结果选择满足所述执行条件的规则,作为所述查询请求匹配的至少一条请求关联规则。
6.根据权利要求1所述的方法,所述通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库,包括:
在所述查询控制策略为查询更新策略的情况下,确定所述查询请求对应的属性信息;
根据所述查询更新策略将所述属性信息更新为目标属性信息,并按照所述目标属性信息对所述查询请求进行更新,获得目标查询请求;
基于所述目标查询请求访问所述目标数据库。
7.根据权利要求1所述的方法,所述确定所述目标规则对应的查询控制策略步骤执行之后,还包括:
在所述查询控制策略为查询限制策略的情况下,根据所述查询限制策略对所述查询请求进行处理;
根据处理结果生成查询反馈信息,作为所述查询请求访问所述目标数据库的响应。
8.根据权利要求1-7任一项所述的方法,所述接收针对目标数据库提交的查询请求步骤执行之前,还包括:
接收携带有规则描述信息的规则变更指令;
确定所述目标数据库关联的元数据库,并将所述规则描述信息写入所述元数据库;
在所述目标数据库的规则变更节点,在所述元数据库中读取所述规则描述信息;
按照预设的规则结构对所述规则描述信息进行转换,根据转换结果更新所述资源组与规则集合的映射关系。
9.根据权利要求8所述的方法,所述按照预设的规则结构对所述规则描述信息进行转换,根据转换结果更新所述资源组与规则集合的映射关系,包括:
根据预设的规则结构创建规则模板,并确定所述规则模板关联的规则结构维度;
按照所述规则结构维度在所述规则描述信息中提取规则子描述信息,并将所述规则子描述信息添加至所述规则模板,获得待写入规则;
根据所述待写入规则,更新所述资源组与规则集合的映射关系。
10.根据权利要求1-7任一项所述的方法,所述接收针对目标数据库提交的查询请求步骤执行之后,还包括:
响应于针对指标采集服务器提交的信息采集请求,接收指标信息;
根据所述指标信息创建目标查询控制策略;
通过执行所述目标查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
11.根据权利要求9所述的方法,所述规则结构维度包括下述至少一项:
规则属性维度、规则状态维度、规则控制维度、规则时间维度;
相应的,所述规则描述信息包括下述至少一项:
规则属性描述信息、规则状态描述信息、规则控制描述信息、规则时间描述信息。
12.一种请求处理装置,包括:
接收模块,被配置为接收针对目标数据库提交的查询请求;
确定模块,被配置为根据预设的资源组与规则集合的映射关系,确定所述查询请求的目标资源组对应的目标规则集合;
匹配模块,被配置为在所述目标规则集合中确定所述查询请求匹配的目标规则,并确定所述目标规则对应的查询控制策略;
更新模块,被配置为通过执行所述查询控制策略对所述查询请求进行更新,响应于更新后的查询请求访问所述目标数据库。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述方法的步骤。
CN202210647251.3A 2022-06-09 2022-06-09 请求处理方法以及装置 Pending CN115168389A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210647251.3A CN115168389A (zh) 2022-06-09 2022-06-09 请求处理方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210647251.3A CN115168389A (zh) 2022-06-09 2022-06-09 请求处理方法以及装置

Publications (1)

Publication Number Publication Date
CN115168389A true CN115168389A (zh) 2022-10-11

Family

ID=83484409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210647251.3A Pending CN115168389A (zh) 2022-06-09 2022-06-09 请求处理方法以及装置

Country Status (1)

Country Link
CN (1) CN115168389A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905185A (zh) * 2022-12-26 2023-04-04 阿里云计算有限公司 负载管理方法、装置、系统、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905185A (zh) * 2022-12-26 2023-04-04 阿里云计算有限公司 负载管理方法、装置、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11449506B2 (en) Recommendation model generation and use in a hybrid multi-cloud database environment
US11468103B2 (en) Relational modeler and renderer for non-relational data
US20170083573A1 (en) Multi-query optimization
US20230350894A1 (en) Distinct value estimation for query planning
WO2018177060A1 (zh) 查询优化方法及相关装置
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US20180113746A1 (en) Software service execution apparatus, system, &amp; method
US20070250517A1 (en) Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries
US11093496B1 (en) Performance-based query plan caching
WO2018196729A1 (zh) 一种查询处理方法、数据源注册方法及查询引擎
Lin et al. Adaptive code learning for spark configuration tuning
CN113312376A (zh) 一种用于Nginx日志实时处理分析的方法及终端
CN115168389A (zh) 请求处理方法以及装置
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN103365923A (zh) 用于评估数据库的分区方案的方法和装置
CN111984625B (zh) 数据库负载特征处理方法、装置、介质和电子设备
Liu et al. Using provenance to efficiently improve metadata searching performance in storage systems
CN116089414B (zh) 基于海量数据场景的时序数据库写入性能优化方法及装置
CN116048817B (zh) 数据处理控制方法、装置、计算机设备和存储介质
US20100332501A1 (en) System and method for on-demand indexing
Yuan et al. VDB-MR: MapReduce-based distributed data integration using virtual database
US20220360458A1 (en) Control method, information processing apparatus, and non-transitory computer-readable storage medium for storing control program
CN115982230A (zh) 数据库的跨数据源查询方法、系统、设备及存储介质
EP4030312A1 (en) Method and apparatus for querying data, computing device, and storage medium
US11327937B1 (en) Determining indexing progress for a table in a distributed data store

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