CN115981817A - 一种面向htap的任务资源调度方法及其系统 - Google Patents

一种面向htap的任务资源调度方法及其系统 Download PDF

Info

Publication number
CN115981817A
CN115981817A CN202211727209.9A CN202211727209A CN115981817A CN 115981817 A CN115981817 A CN 115981817A CN 202211727209 A CN202211727209 A CN 202211727209A CN 115981817 A CN115981817 A CN 115981817A
Authority
CN
China
Prior art keywords
task
resource
priority
task 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
CN202211727209.9A
Other languages
English (en)
Other versions
CN115981817B (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.)
Shenzhen Institute of Computing Sciences
Original Assignee
Shenzhen Institute of Computing Sciences
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 Shenzhen Institute of Computing Sciences filed Critical Shenzhen Institute of Computing Sciences
Priority to CN202211727209.9A priority Critical patent/CN115981817B/zh
Priority to PCT/CN2023/070707 priority patent/WO2024138788A1/zh
Publication of CN115981817A publication Critical patent/CN115981817A/zh
Application granted granted Critical
Publication of CN115981817B publication Critical patent/CN115981817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

本申请提供了一种面向HTAP的任务资源调度方法及其系统,通过当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。通过细粒度资源共享机制,避免资源隔离影响整体效率和资源利用率,基于优先级的资源调度策略支持资源动态切换,避免资源不可共享的问题,确保配额之内的请求可以第一时间拿到执行资源。

Description

一种面向HTAP的任务资源调度方法及其系统
技术领域
本申请涉及资源调度领域,特别是一种面向HTAP的任务资源调度方法及其系统。
背景技术
现代数据库管理系统(Database Management System,简称DBMS)是为了高效管理数据存取和方便查询的大型软件,而DBMS为了更好地处理不同的任务请求,又分为在线交易处理(On-Line Transaction Processing,简称OLTP)和在线分析处理(On-LineAnalytical Processing,简称OLAP)两类产品。在OLTP中多是处理大量的并发短事务用于数据的记录与修改,而OLAP则是面向数据分析场景,如生产报表和即席查询,需要扫描大量数据运行复杂运算后得出结果。
用户在使用时不会严格区分TP和AP两类场景,且期望DBMS产品可以兼顾两类场景,因此混合交易和分析处理(HybridTransactional/Analytical Processing,简称HTAP)这一概念被越来越多的提起。对于HTAP产品在同时满足TP和AP任务诉求背景下,现有DBMS产品的资源管理和调度方法均存在局限性,无法平衡不同任务对于资源的诉求,整体利用率低。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种面向HTAP的任务资源调度方法及其系统,包括:
一种面向HTAP的任务资源调度方法,所述方法用于当计算资源被部分占用时,根据任务请求的优先级进行计算资源的调度,其中,所述任务请求的优先级包括高优先级和低优先级,所述方法包括:
当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
进一步地,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
进一步地,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求的优先级为低优先级,且所述在处理任务请求中仅包含有高优先级的任务请求时,则将所述待处理任务请求挂起,直至计算资源充足时才执行所述待处理任务请求的算子任务。
进一步地,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求和所有所述在处理任务请求的优先级相同时,则按照进入顺序调度计算资源和执行所述任务请求的算子任务。
进一步地,还包括:
依据所述任务请求的评估代价确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的hint信息确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的session属性确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级。
进一步地,所述依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级的步骤,包括:
当所述语句类型对应的所述当前计算资源配额不足时,则所述任务请求的优先级类型为低优先级;
当所述语句类型对应的所述当前计算资源配额充足时,则所述任务请求的优先级类型为高优先级。
为实现本申请还提供一种面向HTAP的任务资源调度系统,所述系统用于当计算资源被部分占用时,根据任务请求的优先级进行计算资源的调度,其中,所述任务请求的优先级包括高优先级和低优先级,所述系统包括:
资源确定模块,用于当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
资源调度模块,用于当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
进一步地,所述资源调度模块,包括:
第一类型资源调度子模块,用于当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
第一类型资源执行模块,用于依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
为实现本申请还提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种面向HTAP的任务资源调度方法的步骤。
为实现本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种面向HTAP的任务资源调度方法的步骤。
本申请具有以下优点:
在本申请的实施例中,相对于现有技术中的HTAP产品的调度存在局限性,无法平衡不同任务的资源诉求的问题,本申请提供了细粒度资源共享机制的解决方案,具体为:当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。通过细粒度资源共享机制,避免资源隔离影响整体效率和资源利用率,基于优先级的资源调度策略支持资源动态切换,避免资源不可共享的问题,且针对HTAP任务涉及一套请求执行流程,确保配额之内的请求可以第一时间拿到执行资源。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种面向HTAP的任务资源调度方法的步骤流程图;
图2是本申请一实施例提供的一种面向HTAP的任务资源调度方法的网络结构示意图;
图3是本申请一实施例提供的一种面向HTAP的任务资源调度系统的结构框图;
图4是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人通过分析现有技术发现:现有HTAP大多遵循以下两类隔离原则,5物理隔离和逻辑隔离。
基于多实例的资源物理隔离方案,利用不同进程实例分别执行TP和AP请求,虽然可以保证业务的QoS(Quality of Service,服务质量),但无法实现TP和AP之间的资源共享。当TP繁忙而AP空闲时,也不能利用AP的资源来满足TP请求。
0计算资源物理共享的逻辑隔离方案,可以由同一实例满足不同业务请求,
即实例的资源是可以基于策略共享的,但当AP业务长时间执行占用大量资源时可能导致后续TP请求都没有办法拿到对应的资源,请求超时报错。虽然也有通过优先级队列对业务进行分类,但在极端场景下让无法保证所有请求的QoS。
5资源管理问题是混合业务负载必要解决的关键技术点。目前主要技术方
案更多从隔离角度确保不同业务可以获取相应的资源,而隔离的手段又分为物理隔离和逻辑隔离两大类。下面将以TiDB和OceanBase为例说明技术实现思路。
现有技术一:TiDB的物理隔离
0TiDB选择的是物理隔离,针对OLTP工作负载提供一个行存引擎TiKV,
针对OLAP工作负载负载提供一个列存引擎TiFlash,两个引擎之间通过异步复制来实现数据同步。
一般来说,对于一个分布式存储系统,数据强一致性和资源相互隔离经
常是一个二选一的选择题,选择数据强一致性,一般是通过同步复制的方式5(比如同步双写等)将数据复制到多个相关的实例上,那么将导致所有的计算与存储资源都会紧耦合在一个系统中,一个局部的小问题可能会导致其他的部分受到影响,牵一发而动全身;而选择资源相互隔离,一般是通过异步复制的方式(比如主从同步等)将数据复制到其他的相关实例上来实现的,这样可以确保资源的相互隔离,但是数据强一致性得不到保证。
其主要缺点在于用户需要为不同实例预留计算资源,哪怕较长时间内没有相应的AP业务请求,其资源也不能分享给TP使用。另外两个实例提升了故障率和运维的复杂性。
现有技术二:Oceanbase的基于资源组的隔离和共享策略
Oceanbase在实施资源隔离前,要解决两个问题:第一是定义资源组,以及资源组的QoS,对数据库来说租户就是最常见的资源组,另外AP和TP也可以是两个不同的资源组;第二是按定义好的QoS制定实施资源隔离的策略。
针对第一个问题,OceanBase的目标是实现在不同租户间的资源隔离,以及租户内OLTP和OLAP业务的资源隔离。对此,OceanBase参考了Oracle的Resource Manager系统包提供的管理接口,预设了两套资源管理计划,白天激活DAYTIME计划,夜间激活NIGHT计划,就可以实现满足基本的隔离需求的同时实现资源利用率的最大化。
针对第二个问题,OceanBase从min,max,weight出发,满足QoS根本诉求的三重定义。我们假设这样一个场景:总带宽是100M,由租户A和租户B共同使用,基于资源的闲时共享和忙时隔离原则,我们尝试让租户A和租户B互不干扰地共同使用总带宽。
当这两个租户都需要CPU时,A将得到1份CPU时间,B将得到3份CPU时间。这一操作我们称为权重分配,或。有时候物理资源较为充裕,低权重租户可能会占用大量并不需要的资源,那么就可以在权重分配的基础上给不同的租户定义资源上限。如果租户数量增减会引发权重配比改变,此时可以给各租户设置保留资源,这样不仅可以保证所有租户基本功能的运行,也能直观清晰地描述QoS。
据了解,OceanBase目前实现了内存隔离、磁盘空间隔离、CPU隔离以及IOPS隔离,未来还将支持网络带宽隔离。相信在未来,OceanBase的资源隔离技术也会不断演进和完善,更好地满足用户对资源隔离的需求。
基于策略的资源组隔离是物理隔离的细化,能够较粗粒度实现资源的调配。但业务请求随时都在变化,单靠资源计划并不能覆盖所有场景。请求资源不足和资源利用率低问题仍然存在。
本发明提供了支持面向HTAP的资源调度机制来解决上述问题。
主要思路是计算资源(CPU,内存,IO等)是基于业务请求使用和释放,影响资源共享的主要矛盾在于持续占用导致部分请求申请不到资源。如能做到计算资源是基于时间片的细粒度控制,可以通过动态调度使得高优先级任务获得相应资源。
本发明提供一种面向HTAP混合负载的资源调度机制,即对于特定数据库访问请求,根据其业务优先级决定执行调度顺序。在数据库管理系统内部将计算(CPU和内存),磁盘访问(IO)和网络收发(IO)都按细粒度执行单元(如线程)进行管理和调度。对于特定请求来说,其所需要的资源与细粒度执行单元匹配,如果有更高优先级任务则将当前执行暂时挂起。对于任意执行单元都可以在执行完特定时间片后进行重新调度,避免长时间占用。这样可以从时间片粒度实现资源的共享使用,解决传统隔离机制导致的资源预留和利用率低问题。
需要说明的是,当有OLTP或OLAP请求时,判断语句属于TP还是AP,并以此来确定语句优先级,检查其对应类型的配额是否充足,当配额充足时,为高优先级,配额不足时为低优先级。获取外部输入的至少两种语句类型对应的计算资源配额,包括TP类型计算资源配额和AP计算类型资源配额,配额通过配置来设置,可以随时根据需要来修改,通过设置计算资源配额,实现多团队或多用户在共享集群资源的情况下限制团队或用户可以使用的资源总量,包括限制命名空间下创建某一类型对象的数量以及对象消耗计算资源(CPU、内存)的总量。
参照图1,示出了本申请一实施例提供的一种面向HTAP的任务资源调度方法;
所述方法包括:
S110、当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
S120、当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
在本申请的实施例中,相对于现有技术中的HTAP产品的调度存在局限性,无法平衡不同任务的资源诉求的问题,本申请提供了细粒度资源共享机制的解决方案,具体为:当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。通过细粒度资源共享机制,避免资源隔离影响整体效率和资源利用率,基于优先级的资源调度策略支持资源动态切换,避免资源不可共享的问题,且针对HTAP任务涉及一套请求执行流程,确保配额之内的请求可以第一时间拿到执行资源。
下面,将对本示例性实施例中一种面向HTAP的任务资源调度方法作进一步地说明。
参照图2,示出了本申请一实施例提供的一种面向HTAP的任务资源调度的网络结构示意图,图中:
EU(Execution Unit):表示所需要的内存,网络,IO,CPU等资源的一个单元。
SQL引擎:主要用于解析SQL语句,生成查询计划。并根据SQL语句判断是AP场景,还是TP场景。
计算引擎:主要用于查询计划中算子的执行,其有独立的work pool(工作池)。
存储引擎:用于存储和读取数据。其有独立的work pool。
网络架构:用于网络通信。其有独立的work pool。
在本申请一实施例中,所述方法用于当计算资源被部分占用时,根据任务请求的优先级进行计算资源的调度,其中,所述任务请求的优先级包括高优先级和低优先级。
在本申请一实施例中,所述面向HTAP的任务资源调度方法还包括:
依据所述任务请求的评估代价确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的hint信息确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的session属性确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级。
作为一种示例,在计算出逻辑计划并优化后,将派生出多个不同的物理执行计划。这些不同的物理计划会产生不同的执行代价,因此,一般在执行之前会进行代价估计,然后执行引擎将选择代价最小的物理计划。根据评估代价,可以判断语句的类型。
作为另一种示例,在执行一条SQL语句时,MySQL会生成一个执行计划,而hint就是告诉查询优化器需要按照我们告诉它的方式来生成执行计划,让用户的SQL语句更具灵活性。根据hint信息,可以判断语句的类型。
作为另一种示例,Session在计算机中,尤其是在网络应用中,称为“会话控制”,Session常用属性有:(1)SessionlD:获取Session编号,一般在会话开始的时候由服务器自动分配一个标识Sessionld,整个会话过程中的Sessionld保持不变。(2)TimeOut:设置Session对象的超期时间,默认为20分钟。(3)Keys根据索引号获取Session变量值。(4)Count获取Session变量的总数量。可以根据session属性信息判断语句的类型。
作为另一种示例,SQL语法可以解析为抽象语法解析树,通过观察者模型对语法解析数进行规则分析,提取出SQL语法的关键信息点可以进行简单的做甄别出SQL的类别。如TP类SQL会有事务级别的插入、修改、删除等操作,也会有指定条件的简单查询等操。AP类SQL通常会有大量的分类统计与语法嵌套,根据类似SQL的规则的甄别可以通常可以判断出70%左右的SQL的类别。对于无法做到甄别的可以再通过算法模型做进一步判别。
基于算法模型的对语句类型进行判别,需要从几个步骤入手:训练集、验证集数据准备与标注、特征变量处理、训练模型选择、模型参数优化、验证准确性、根据验证准确性做进一步优化。
训练集、验证集准备:开启数据库的日志记录功能,把SQL语句以及对应的资源消耗等记录记录下来,用做算法模型需要使用的数据,并把数据分成训练集合验证集。
特征变量处理:可以对数据的特征变量进行进一步加工处理,如对SQL可以进一步处理为语法树,根据语法树展开放入到特征变量中去。
训练模型选择:本次做的处理是分类模型,是对SQL语句或者SQL解析后的语法树进行分类,可以选择分类模型来处理这个事情,但由于数据库对于性能要求很高,所以在选择时也要从模型调用的性能做为考虑。
模型参数优化:通常指的就是模型调参,这个是一个算法模型的常规做法根据不同的参数进行优化。
验证准确性:把数据代入到验证集中对数据做进一步校验,验证算法的准确度。以上为SQL解析的AP/TP判别。
在本申请一实施例中,可以结合下列描述进一步说明所述“依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级”的具体过程。
如下列步骤所述,当所述语句类型对应的所述当前计算资源配额不足时,则所述任务请求的优先级类型为低优先级;
如下列步骤所述,当所述语句类型对应的所述当前计算资源配额充足时,则所述任务请求的优先级类型为高优先级。
作为一种示例,一般情况下,TP语句都是高优先级;当当前TP类型资源配额和当前AP类型资源配额都充足时,不存在调度的优先级,不管是AP任务请求,还是TP任务请求,只要其没有超过对应的计算资源配额,就是高优先级;只要所述任务请求超过其对应的计算资源配额的,所述任务请求就为低优先级;而当当前TP类型资源配额和当前AP类型资源配额都超过对应的配额上限时,则不允许所述待处理任务请求进入调度队列,需要等待配额充足之后才可以执行,避免资源过载。
如所述步骤S110所述,当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额。
作为一种示例,SQL引擎将SQL语句转为执行计划,查询计划可以看作一个算子树,其中的算子作为一个任务分配给计算引擎,资源充足时可以同时执行来自同一语句的多个算子任务。资源不足时,就要进入等待队列等待。
当执行已占用计算资源的任务请求的目标算子的一个步骤之后,观察是否有高优先级的任务等待。当收到所述待处理任务请求时,通过资源的分配和释放得到当前计算资源的使用情况,即可得到当前AP类型资源配额和当前TP类型资源配额。
如所述步骤S120所述,当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
通常情况下,单个TP的SQL语句对于资源的消耗是非常的少的,TP场景是简单请求、小数据量、高并发,关注重点在系统的吞吐量,而AP场景则是复杂查询居多,运行时间长,更多关注响应延迟,AP的SQL会消耗量的IO、内存和CPU等资源。
在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序”的具体过程。
如下列步骤所述,当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
如下列步骤所述,依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
作为一种示例,SQL语句的计划会按算子粒度由计算引擎进行调度执行,SQL语句的优先级决定了算子的优先级,计算引擎调度的依据是优先级和现有资源配额。资源充足时,所有算子都同时执行,资源不足时,优先执行高优先级算子,低优先级算子等待。
计算引擎、存储引擎和网络框架中均包含独立的worker池用于执行被调度的任务,但由于资源本身的差异各模块的EU配额可能存在差异。计算引擎会把数据存储和查询任务交给存储引擎,并把网络通信交给网络架构。存储引擎和网络架构的调度跟计算引擎一样。
每个算子在计算时也是分步完成的,不会因为涉及大量中间结果而长时间占据EU。当完成当前步骤后,Scheduler(调度器)会检查是否有更高优先级的任务等待执行,如果有,则会释放低优先级的任务请求的目标算子剩余步骤和剩余算子所申请的EU,等待重新调度。这样可以让后加入队列的高优先级任务尽早被执行。
根据当前计算资源配额执行所述待处理任务请求,因所述待处理任务请求为TP类型任务请求,其对于资源的消耗非常少,处理速度快,待资源充足后可继续执行挂起的前面加入队列中的低优先级任务请求的算子步骤。
在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序”的具体过程。
如下列步骤所述,当所述待处理任务请求的优先级为低优先级,且所述在处理任务请求中仅包含有高优先级的任务请求时,则将所述待处理任务请求挂起,直至计算资源充足时才执行所述待处理任务请求的算子任务。
作为一种示例,每个算子在计算时是分步完成的,不会因为涉及大量中间结果而长时间占据EU。已占用计算资源的任务请求中全部为高优先级的任务请求,当完成已占用计算资源的任务请求中目标算子步骤后,Scheduler(调度器)会检查是否有更高优先级的任务等待执行,如果没有,则会将后面加入的低优先级任务请求挂起,等待调度,待资源充足后可执行挂起的后面加入队列中的低优先级任务请求的算子步骤。
在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序”的具体过程。
如下列步骤所示,当所述待处理任务请求和所有所述在处理任务请求的优先级相同时,则按照进入顺序调度计算资源和执行所述任务请求的算子任务。
需要说明的是,相同类型的任务请求根据进入的顺序调度资源,其不会被之前的任务抢资源。
作为一种示例,当所述待处理任务请求和已占用计算资源的在处理任务请求的优先级均为高优先级时,则所述待处理任务请求相对于前面加入队列的任务请求而言为低优先级,根据进入队列的顺序对资源进行调度,优先处理先进入队列的任务请求,若剩余配额不足,则将所述待处理任务请求挂起,直至资源充足时才执行所述待处理任务请求的算子步骤。
作为一种示例,当所述待处理任务请求和已占用计算资源的在处理任务请求的优先级均为低优先级时,则前面加入队列的任务请求相对于而言所述待处理任务请求为高优先级,根据进入队列的顺序对资源进行调度,优先处理先进入队列的任务请求,若剩余配额不足,则将所述待处理任务请求挂起,直至资源充足时才执行所述待处理任务请求的算子步骤。
实施例1
当前系统中正在处理复杂查询SQL1,为了提升执行效率同时占用了多个EU实现并行执行,同时需要访问磁盘和网络资源,此时AP配额已经超配但是TP还有配额可用,所以SQL1为低优先级执行。
当有新请求SQL2时,SQL引擎首先确定语句类型和需要访问的表。待确定是TP型访问后,标识SQL2为高优先级。
由于SQL2优先级较高,因此在计算引擎中需要优先执行满足低时延要求。
Scheduler发现剩余EU不足,线程执行完SQL1的算子一个步骤之后,会检查到有更加高优先级的算子任务等待EU。其中SQL1优先级较SQL2低,可以延后处理。
因此SQL1部分算子任务被挂起,将EU释放分配给SQL2算子执行。
待SQL2执行完毕后,SQL1挂起的算子又可以分配到资源,继续之前的执行。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图3,示出了本申请一实施例提供的一种面向HTAP的任务资源调度系统;
具体包括:
资源确定模块310,用于当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
资源调度模块320,用于当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
在本发明一实施例中,所述资源调度模块320,包括:
第一类型资源调度子模块,用于当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
第一类型资源执行模块,用于依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
在本发明一实施例中,所述资源调度模块320,包括:
第二类型资源调度子模块,用于当所述待处理任务请求的优先级为低优先级,且所述在处理任务请求中仅包含有高优先级的任务请求时,则将所述待处理任务请求挂起,直至计算资源充足时才执行所述待处理任务请求的算子任务。
在本发明一实施例中,所述资源调度模块320,包括:
第三类型资源调度子模块,用于当所述待处理任务请求和所有所述在处理任务请求的优先级相同时,则按照进入顺序调度计算资源和执行所述任务请求的算子任务。
在本发明一实施例中,还包括:
优先级确定模块,用于依据所述任务请求的评估代价确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的hint信息确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的session属性确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级。
在本发明一实施例中,所述优先级确定模块,包括:
第一优先级确定子模块,用于当所述语句类型对应的所述当前计算资源配额不足时,则所述任务请求的优先级类型为低优先级;
第二优先级确定子模块,用于当所述语句类型对应的所述当前计算资源配额充足时,则所述任务请求的优先级类型为高优先级。
参照图4,示出了本发明的一种面向HTAP的任务资源调度方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种面向HTAP的任务资源调度方法。
也即,上述处理单元16执行上述程序时实现:当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的一种面向HTAP的任务资源调度方法:
也即,给程序被处理器执行时实现:当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一
个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终5端设备中还存在另外的相同要素。
以上对本申请所提供的一种面向HTAP的任务资源调度方法及其系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同
时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应0用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种面向HTAP的任务资源调度方法,所述方法用于当计算资源被部分占用时,根据任务请求的优先级进行计算资源的调度,其中,所述任务请求的优先级包括高优先级和低优先级,其特征在于,所述方法包括:
当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
2.根据权利要求1所述的面向HTAP的任务资源调度方法,其特征在于,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
3.根据权利要求1所述的面向HTAP的任务资源调度方法,其特征在于,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求的优先级为低优先级,且所述在处理任务请求中仅包含有高优先级的任务请求时,则将所述待处理任务请求挂起,直至计算资源充足时才执行所述待处理任务请求的算子任务。
4.根据权利要求1所述的面向HTAP的任务资源调度方法,其特征在于,所述依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序的步骤,包括:
当所述待处理任务请求和所有所述在处理任务请求的优先级相同时,则按照进入顺序调度计算资源和执行所述任务请求的算子任务。
5.根据权利要求1所述的面向HTAP的任务资源调度方法,其特征在于,还包括:
依据所述任务请求的评估代价确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的hint信息确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级;
或,
依据所述任务请求的session属性确定所述语句类型,并依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级。
6.根据权利要求5所述的面向HTAP的任务资源调度方法,其特征在于,所述依据所述语句类型和所述当前计算资源配额确定所述任务请求对应的优先级的步骤,包括:
当所述语句类型对应的所述当前计算资源配额不足时,则所述任务请求的优先级类型为低优先级;
当所述语句类型对应的所述当前计算资源配额充足时,则所述任务请求的优先级类型为高优先级。
7.一种面向HTAP的任务资源调度系统,所述系统用于当计算资源被部分占用时,根据任务请求的优先级进行计算资源的调度,其中,所述任务请求的优先级包括高优先级和低优先级,其特征在于,所述系统包括:
资源确定模块,用于当收到待处理任务请求时,确定当前计算资源情况;其中,所述当前计算资源情况包括至少两种语句类型对应的计算资源配额;
资源调度模块,用于当至少一种语句类型的计算资源配额不足时,则依据所述待处理任务请求的优先级和已占用计算资源的在处理任务请求的优先级确定资源分配情况和所述任务请求的算子执行顺序。
8.根据权利要求7所述的面向HTAP的任务资源调度系统,其特征在于,所述资源调度模块,包括:
第一类型资源调度子模块,用于当所述待处理任务请求的优先级为高优先级,且所述在处理任务请求中包含有低优先级的任务请求时,则释放低优先级的所述在处理任务请求占用的目标资源配额,得到当前计算资源配额;
第一类型资源执行模块,用于依据所述当前计算资源配额执行高优先级的所述待处理任务请求的目标算子步骤任务。
9.一种计算机设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
CN202211727209.9A 2022-12-30 2022-12-30 一种面向htap的任务资源调度方法及其系统 Active CN115981817B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211727209.9A CN115981817B (zh) 2022-12-30 2022-12-30 一种面向htap的任务资源调度方法及其系统
PCT/CN2023/070707 WO2024138788A1 (zh) 2022-12-30 2023-01-05 一种面向htap的任务资源调度方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211727209.9A CN115981817B (zh) 2022-12-30 2022-12-30 一种面向htap的任务资源调度方法及其系统

Publications (2)

Publication Number Publication Date
CN115981817A true CN115981817A (zh) 2023-04-18
CN115981817B CN115981817B (zh) 2023-09-05

Family

ID=85975737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211727209.9A Active CN115981817B (zh) 2022-12-30 2022-12-30 一种面向htap的任务资源调度方法及其系统

Country Status (2)

Country Link
CN (1) CN115981817B (zh)
WO (1) WO2024138788A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710388A (zh) * 2019-01-09 2019-05-03 腾讯科技(深圳)有限公司 数据读取方法、装置、电子设备以及存储介质
CN109995524A (zh) * 2019-03-22 2019-07-09 西安电子科技大学 一种基于加解密资源调度和密钥管理的加密数据库及方法
CN112181948A (zh) * 2020-09-30 2021-01-05 中国工商银行股份有限公司 数据库操作语句的处理方法、装置、电子设备和介质
US20210182097A1 (en) * 2019-12-12 2021-06-17 Sap Se Data structure execution framework using virtual computing domains
CN113886052A (zh) * 2021-10-26 2022-01-04 上海商汤科技开发有限公司 任务调度方法、装置、设备、存储介质
CN114579271A (zh) * 2022-02-28 2022-06-03 阿里巴巴(中国)有限公司 任务调度方法、分布式系统及存储介质
CN114911820A (zh) * 2022-06-13 2022-08-16 国网智能电网研究院有限公司 一种sql语句判别模型构建方法、sql语句判别方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552231B2 (en) * 2012-09-27 2017-01-24 Adobe Systems Incorporated Client classification-based dynamic allocation of computing infrastructure resources
CN105677812A (zh) * 2015-12-31 2016-06-15 华为技术有限公司 一种数据查询方法及数据查询装置
CN106911592B (zh) * 2016-06-01 2020-06-12 创新先进技术有限公司 一种自适应资源分配方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710388A (zh) * 2019-01-09 2019-05-03 腾讯科技(深圳)有限公司 数据读取方法、装置、电子设备以及存储介质
CN109995524A (zh) * 2019-03-22 2019-07-09 西安电子科技大学 一种基于加解密资源调度和密钥管理的加密数据库及方法
US20210182097A1 (en) * 2019-12-12 2021-06-17 Sap Se Data structure execution framework using virtual computing domains
CN112181948A (zh) * 2020-09-30 2021-01-05 中国工商银行股份有限公司 数据库操作语句的处理方法、装置、电子设备和介质
CN113886052A (zh) * 2021-10-26 2022-01-04 上海商汤科技开发有限公司 任务调度方法、装置、设备、存储介质
CN114579271A (zh) * 2022-02-28 2022-06-03 阿里巴巴(中国)有限公司 任务调度方法、分布式系统及存储介质
CN114911820A (zh) * 2022-06-13 2022-08-16 国网智能电网研究院有限公司 一种sql语句判别模型构建方法、sql语句判别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
涂南昌: "基于微服务与容器的负载均衡系统设计与实现", 中国优秀硕士论文全文库信息科技辑 *

Also Published As

Publication number Publication date
CN115981817B (zh) 2023-09-05
WO2024138788A1 (zh) 2024-07-04

Similar Documents

Publication Publication Date Title
WO2021208546A1 (zh) Kubernetes集群架构系统下多维资源调度方法
US20190324819A1 (en) Distributed-system task assignment method and apparatus
US20160371307A1 (en) Isolating Resources and Performance in a Database Management System
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US9262210B2 (en) Light weight workload management server integration
US8458714B2 (en) Method, system and program products for managing logical processors of a computing environment
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
US6587938B1 (en) Method, system and program products for managing central processing unit resources of a computing environment
CN112199194A (zh) 基于容器集群的资源调度方法、装置、设备和存储介质
US6651125B2 (en) Processing channel subsystem pending I/O work queues based on priorities
JP2516304B2 (ja) デ―タ処理システムにおける資源制御方法及び装置
US7805436B2 (en) Arrival rate throttles for workload management
US7007276B1 (en) Method, system and program products for managing groups of partitions of a computing environment
US20120173774A1 (en) Storage-side storage request management
US20140331235A1 (en) Resource allocation apparatus and method
CN108776934A (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US20130061018A1 (en) Memory access method for parallel computing
US8042119B2 (en) States matrix for workload management simplification
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
CN104298550A (zh) 一种面向Hadoop的动态调度方法
WO2024016596A1 (zh) 容器集群调度的方法、装置、设备及存储介质
CN112596904A (zh) 一种基于量子云平台量子服务资源调用优化的方法
US7568052B1 (en) Method, system and program products for managing I/O configurations of a computing environment
CN112764909A (zh) 一种基于云架构工作站的共享方法及系统
CN116414534A (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