用于处理和分配服务请求的系统和方法技术方案

技术编号:39436165 阅读:13 留言:0更新日期:2023-11-19 16:19
提供用于处理和分配服务请求的系统和方法。服务请求从客户端被接收到,并且数据的位置被识别。与位置相关联的计算存储装置的状态被确定。服务请求基于所述状态被发送到与计算存储装置相关联的存储服务。来自存储服务的对服务请求的响应被识别,并且响应被提供给客户端。端。端。

【技术实现步骤摘要】
用于处理和分配服务请求的系统和方法
[0001]本申请要求于2022年5月9日在美国专利商标局提交的第63/339,861号美国临时专利申请和于2022年8月4日在美国专利商标局提交的第17/881,378号美国专利申请的优先权和权益,所述专利申请的全部公开通过引用包含于此。


[0002]根据本公开的实施例的一个或多个方面涉及计算存储装置,并且更具体地,涉及处理服务请求并将服务请求分配到一个或多个计算存储装置。

技术介绍

[0003]可期望针对各种数据处理任务使用计算存储装置(例如,具有嵌入式处理器或现场可编程门阵列(FPGA)的固态驱动器(SSD)),因为这样的存储装置可帮助提供高效且成本有效的数据处理解决方案。例如,计算存储装置可用于执行数据库(DB)扫描操作,否则数据库扫描操作可由主机CPU处理器执行。针对DB扫描操作访问存储装置在I/O方面可能是昂贵的。
[0004]在该
技术介绍
部分中公开的以上信息仅用于增强对公开的
技术介绍
的理解,因此其可包含不构成现有技术的信息。

技术实现思路

[0005]本公开的实施例针对一种用于处理和分配服务请求的方法。服务请求从客户端被接收到,并且数据的位置被识别。与位置相关联的计算存储装置的状态被确定。服务请求基于所述状态被发送到与计算存储装置相关联的存储服务。来自存储服务的对服务请求的响应被识别,并且响应被提供给客户端。
[0006]根据一些实施例,服务请求包括计算请求。
[0007]根据一些实施例,服务请求包括存储输入或输出请求。
[0008]根据一些实施例,所述数据的位置包括与计算存储装置相关联的地址。
[0009]根据一些实施方式,计算存储装置的状态包括计算存储装置的计算资源的利用率。
[0010]根据一些实施例,所述方法还包括:将位置与所述数据的标识符相关联地存储在高速缓存中。
[0011]根据一些实施例,所述方法还包括:将响应与服务请求的标识符相关联地存储在高速缓存中。
[0012]根据一些实施例,对存储服务的服务请求是本地请求或远程请求中的一个。
[0013]根据一些实施例,存储服务被配置为:发送用于检索存储在计算存储装置中的所述数据的命令。
[0014]根据一些实施例,服务请求是用于执行所述数据的数据库扫描的请求。
[0015]本公开的实施例针对一种用于处理和分配服务请求的系统。所述系统包括处理器
和存储器。存储器存储指令,所述指令在由处理器执行时使得处理器:从客户端接收服务请求;识别数据的位置;确定与位置相关联的计算存储装置的状态;基于所述状态,将服务请求发送到与计算存储装置相关联的存储服务;识别来自存储服务的对服务请求的响应;并且将响应提供给客户端。
[0016]当考虑关于下面的具体实施方式、所附权利要求和附图时,将更全面地理解本公开的实施例的这些和其它特征、方面和优点。当然,专利技术的实际范围由所附权利要求限定。
附图说明
[0017]参照下面的附图描述本实施例的非限制性实施例和非详尽性实施例,其中,除非另有说明,否则贯穿各个示图,相同的附图标记表示相同的部分。
[0018]图1描绘根据一个实施例的用于处理数据库查询的系统的框图;
[0019]图2描绘根据一个实施例的主机装置和存储装置的架构的框图;
[0020]图3描绘根据一个实施例的用于处理DB查询的处理的流程图;
[0021]图4描绘根据一个实施例的用于将DB扫描卸载到存储装置的处理的流程图;
[0022]图5描绘根据一个实施例的用于处理服务请求/查询并将服务请求/查询分配到一个或多个计算存储装置的系统的框图;以及
[0023]图6描绘根据一个实施例的用于处理服务请求并将服务请求分配到一个或多个计算存储装置的处理的流程图。
具体实施方式
[0024]在下文中,将参照附图更详细地描述示例实施例,其中,相同的附图标记始终表示相同的元件。然而,本公开可以以各种不同的形式来实现,并且不应被解释为仅限于在此示出的实施例。相反地,提供这些实施例作为示例,使得本公开将是彻底的和完整的,并且将本公开的方面和特征充分传达给本领域技术人员。因此,可不描述对于本领域普通技术人员完全理解本公开的方面和特征不是必须的处理、元件和技术。除非另外说明,否则贯穿附图和书面描述,相同的附图标记表示相同的元件,因此,它们的描述可不被重复。此外,在附图中,为了清楚,元件、层和区域的相对尺寸可被夸大和/或简化。
[0025]存储在数据库(DB)中的数据可被索引或不被索引。如果数据不被索引,则数据库的全扫描(full scan)(也被称为全表/DB扫描)可被需要以响应DB查询。由于例如扫描数据库所需的大量的输入/输出(I/O)读取,因此全表扫描会较慢。因为在全扫描期间,数据库中的每一行可需要被检查以查看查询中的一个或多个列是否满足查询标准,所以全表扫描还会使用主机装置的大量的存储器和计算资源。
[0026]在数据存储和处理的领域中,索引通常可在处理DB查询时优化数据库的性能。当DB的内容不被索引时,全DB扫描可被需要。例如,当执行对包含不被索引的数据的DB的搜索时,主机装置可需要将DB加载到主机装置的存储器上,并且使用主机装置的计算资源来执行存储器中的DB的全扫描。因此,可期望具有一种用于在提供更好的(例如,更快的)扫描性能和可扩展性的同时以最小化主机资源的使用的方式执行DB扫描操作的系统和方法。
[0027]总体而言,本公开的实施例针对用于将DB扫描操作卸载到一个或多个计算存储装置的系统和方法。卸载扫描操作可帮助将扫描开销隔离到进行扫描操作的一个或多个装
置,帮助减少主机资源使用,并且提高扫描速度。
[0028]本公开的实施例提供命令集、通信机制和数据结构以支持跨主机装置和一个或多个计算存储装置的多个数据处理层的数据流。在一个实施例中,微服务网关和/或扫描处理引擎帮助克服利用数据库管理系统(DBMS)中的计算存储装置的典型挑战。这样的挑战可涉及许可(例如,DBMS通常不以根特权运行)、复杂性(例如,用于I/O请求和扫描操作的调度)和可扩展性(例如,以支持本地存储装置和/或远程存储装置)。
[0029]在一个实施例中,对存储装置的服务请求可经由微服务网关而被路由。微服务网关可用作客户端应用与存储装置的服务应用之间的接口层。由客户端应用请求的示例性服务可以是例如允许将扫描操作卸载到存储装置的自定义DB扫描请求。尽管扫描卸载被用作服务请求的示例,但是本公开的实施例不限于此,并且可包括包含I/O请求的其他服务请求。
[0030]在一个实施例中,微服务网关包括可由客户端应用访问以发送服务请求的应用编程接口(API)。例如,主机装置的DBMS可使用API来将自定义DB扫描请求发送到存储装置。微服务网关可选择适当的存储装置来处理服务请求。存储装置可基于例如存储装置的状态而被选择。
[0031]在一个实施例中,由微服务网关发送的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理和分配服务请求的方法,所述方法包括:从客户端接收服务请求;识别数据的位置;确定与位置相关联的计算存储装置的状态;基于所述状态,将服务请求发送到与计算存储装置相关联的存储服务;识别来自存储服务的对服务请求的响应;以及将响应提供给客户端。2.根据权利要求1所述的方法,其中,服务请求包括计算请求。3.根据权利要求1所述的方法,其中,服务请求包括存储输入或输出请求。4.根据权利要求1所述的方法,其中,所述数据的位置包括与计算存储装置相关联的地址。5.根据权利要求1所述的方法,其中,计算存储装置的状态包括计算存储装置的计算资源的利用率。6.根据权利要求1至5中任一项所述的方法,还包括:将位置与所述数据的标识符相关联地存储在高速缓存中。7.根据权利要求1至5中任一项所述的方法,还包括:将响应与服务请求的标识符相关联地存储在高速缓存中。8.根据权利要求1至5中任一项所述的方法,其中,对存储服务的服务请求是本地服务请求和远程服务请求中的一个。9.根据权利要求1至5中任一项所述的方法,其中,存储服务被配置为:发送用于检索存储在计算存储装置中的所述数据的命令。10.根据权利要求1所述的方法,其中,服务请求是用于执行所述数据的数据库扫描的请求。11.一种用于处理和分配服务请求的系统,所述系统包括:处理器;以及存储器,其中,存储器存储指令...

【专利技术属性】
技术研发人员:奇亮奭崔昌皓姜亮旭
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1