CN108763536B - 数据库访问方法及装置 - Google Patents

数据库访问方法及装置 Download PDF

Info

Publication number
CN108763536B
CN108763536B CN201810551049.4A CN201810551049A CN108763536B CN 108763536 B CN108763536 B CN 108763536B CN 201810551049 A CN201810551049 A CN 201810551049A CN 108763536 B CN108763536 B CN 108763536B
Authority
CN
China
Prior art keywords
execution plan
database access
group
statement
unit
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.)
Active
Application number
CN201810551049.4A
Other languages
English (en)
Other versions
CN108763536A (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.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810551049.4A priority Critical patent/CN108763536B/zh
Publication of CN108763536A publication Critical patent/CN108763536A/zh
Priority to TW108106470A priority patent/TWI686707B/zh
Priority to EP19812032.1A priority patent/EP3716098B8/en
Priority to EP21185187.8A priority patent/EP3929763B1/en
Priority to SG11202005963RA priority patent/SG11202005963RA/en
Priority to PCT/CN2019/076971 priority patent/WO2019228002A1/zh
Application granted granted Critical
Publication of CN108763536B publication Critical patent/CN108763536B/zh
Priority to US16/888,526 priority patent/US11080278B2/en
Priority to US17/391,882 priority patent/US11243950B2/en
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/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施例提供一种数据库访问方法及装置,在数据库访问方法中,接收数据库访问语句。解析数据库访问语句,以确定该数据库访问语句中包含的目标用户参数。确定该数据库访问语句所属的语句类型。获取预先存储的与该语句类型的数据库访问语句对应的执行计划分组。根据上述目标用户参数,从获取的执行计划分组中选取目标执行计划。执行目标执行计划。

Description

数据库访问方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种数据库访问方法及装置。
背景技术
为了响应用户的数据库访问请求,服务器在接收到用户的数据库访问请求后,通常会针对该访问请求,制定相应的访问策略和方案。此处的访问策略和方案可以被称为执行计划。之后,通过执行制定的执行计划来实现对数据库的访问,并向用户返回所希望的结果。
需要说明的是,对上述执行计划的制定,在理想的情况下,可以是为每个访问请求都制定对应的执行计划。然而在制定执行计划的过程中,通常需要对数据库中的数据执行统计、采样等繁琐的操作,也即制定过程比较耗时,这通常会使用户的访问时间变的过长。因此,为了优化用户的访问时间,目前的执行计划的制定方式主要包括两种:第一种,对同一类型的访问请求,执行一次制定执行计划的过程,也即同一类型的访问请求共享一个执行计划。第二种,根据访问请求对应的访问语句中包含的参数不同,制定不同的执行计划。总之,通过不同方式制定不同的执行计划,会对数据库的访问造成不同的影响。
发明内容
本说明书一个或多个实施例描述了一种数据库访问方法及装置,可以提高用户对数据库访问的效率和准确性。
第一方面,提供了一种数据库访问方法,包括:
接收数据库访问语句;
解析所述数据库访问语句,确定所述数据库访问语句中包含的目标用户参数;
确定所述数据库访问语句所属的语句类型;
获取预先存储的与所述语句类型的数据库访问语句对应的执行计划分组;所述执行计划分组中的各个执行计划通过不同的用户参数相区分;
根据所述目标用户参数,从所述执行计划分组中选取目标执行计划;
执行所述目标执行计划。
第二方面,提供了一种数据库访问装置,包括:
接收单元,用于接收数据库访问语句;
解析单元,用于解析所述接收单元接收的所述数据库访问语句,确定所述数据库访问语句中包含的目标用户参数;
确定单元,用于确定所述数据库访问语句所属的语句类型;
获取单元,用于获取预先存储的与所述确定单元确定的所述语句类型的数据库访问语句对应的执行计划分组;所述执行计划分组中的各个执行计划通过不同的用户参数相区分;
选取单元,用于根据所述目标用户参数,从所述获取单元获取的所述执行计划分组中选取目标执行计划;
执行单元,用于执行所述选取单元选取的所述目标执行计划。
本说明书一个或多个实施例提供的数据库访问方法及装置,接收数据库访问语句。解析数据库访问语句,以确定该数据库访问语句中包含的目标用户参数。确定该数据库访问语句所属的语句类型。获取预先存储的与该语句类型的数据库访问语句对应的执行计划分组。根据上述目标用户参数,从获取的执行计划分组中选取目标执行计划。执行目标执行计划。也即在本说明书实施例中,语句类型相同的数据库访问语句共享一组执行计划,而同一组执行计划中的各个执行计划又通过不同的用户参数相区分,由此,可以提高用户对数据库访问的准确性。此外,还可以大大减少制定的执行计划的数量。在执行计划减少的情况下,可以提高用户对数据库的访问效率,并且可以达到节约计算机资源的目的。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的数据库访问方法的应用场景示意图;
图2为本说明提供的对象类型分组的确定方法流程图;
图3为本说明书一个实施例提供的数据库访问方法流程图;
图4为本说明书提供的计划空间的探索过程示意图;
图5为本说明书另一个实施例提供的数据库访问方法流程图;
图6为本说明书一个实施例提供的数据库访问装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
本说明书提供的数据库访问方法可以应用于如图1所示的场景中,图1中,客户端可以向服务器发送数据库访问请求,该数据库访问请求可以通过数据库访问语句(如,结构化查询语言(Structured Query Language,SQL)来实现。图1中的服务器可以包括计划缓存,该计划缓存可以是指从服务器的内存划分得到的一块存储空间,用于存储服务器生成的执行计划。此处的执行计划可以是由服务器根据上述数据库访问语句生成的。此外,服务器还可以对数据库进行访问。具体地,服务器是通过对执行计划的执行来实现对数据库的访问。
图1中的数据库可以包括多个对象,该对象可以是指表、视图等可能存在于数据库访问语句中的访问实体。在本说明书中,以对象为表为例来说。
需要说明的是,在执行本说明书提供的数据库访问方法之前,可以先对数据库中的对象进行分组,从而确定多个对象类型分组。在一种实现方式中,该多个对象类型分组的确定方法可以如图2所示。图2中,该确定方法可以包括:
步骤210,从数据库中选取对象模式相同的多个对象。
以表为例来说,上述对象模式相同的多个对象可以是指列的数据类型相同且索引模式相同的多张表。其中,索引模式相同可以理解为各张表所建立的索引个数以及建立索引的列相同。
举例来说,对于通过如下的SQL语句建立的两张表:user_01和user_02,则认为该两张表的对象模式相同。
create table user_01(id integer primary key,gmt_create date,balance_01number(10,2)index user_01_gmt_blance on(gmt_create,blance_01));
create table user_02(id integer primary key,gmt_create date,balance_02number(10,2)index user_02_gmt_blance on(gmt_create,blance_02));
通过上述SQL语句可以得出,user_01总共包括3列,且该3列的数据类型分别为:“integer”、“date”以及“number(10,2)”。此外,user_01还建立了索引,且建立索引的列为第3列。同理,可以得出,user_02总共包括3列,且该3列的数据类型分别为:“integer”、“date”以及“number(10,2)”。此外,user_02还建立了索引,且建立索引的列为第3列。由此,可以认为user_01和user_02是对象模式相同的两张表。
步骤220,对该多个对象进行分组。
需要说明的是,在本说明书中,对象的分组是一个渐进的过程。如,对步骤210中选取的多个对象,可以先针对其中任意两个对象进行分组,即计算该两个对象之间的相似度。当计算的相似度小于预设阈值d时,将该两个对象划分为一个分组。当计算的相似度不小于预设阈值d时,将该两个对象分别划分为两个分组。之后,针对多个对象中的第三个对象进行分组,如,在前述两个对象划分为一个分组时,可以计算第三个对象与其中一个对象之间的相似度。若计算的相似度小于预设阈值d,则将第三个对象也划分到上述一个分组中。若计算的相似度不小于预设阈值d,则计算第三个对象与另一个对象之间的相似度。若计算的相似度小于预设阈值d,则将第三个对象也划分到上述一个分组中;否则,将第三个对象划分到另一个分组中。
在前述两个对象分别划分为两个分组时,可以计算第三个对象与其中一个对象之间的相似度。若计算的相似度小于预设阈值d,则将第三个对象划分到该一个对象所在分组中。若计算的相似度不小于预设阈值d,则计算第三个对象与另一个对象之间的相似度。若计算的相似度小于预设阈值d,则将第三个对象划分到该另一个对象所在分组中;否则,将第三个对象划分到其它分组中。以此类推,直至将上述多个对象均划分到对应的分组中。
总之,本说明书提供的对象分组方法是针对每个对象依次进行的。即对某个对象进行分组时,可以将该对象依次与已经存在的多个分组内的多个对象进行相似度比较(即计算相似度),当与任意一组内的某的对象之间的相似度满足要求的时候,即停止比较,并将该对象划分到该分组中;否则,继续比较。如果最终没有任何一个对象与该对象“相似”(即相似度小于预设阈值d),则将该对象单独划分为一组,之后对其它对象继续执行上述相似度比较过程。
在一种实现方式中,可以通过计算两个对象之间的欧几里得距离来确定上述相似度。以计算两张表的相似度为例来说,可以预先设定三个属性:行数r,唯一值个数ndv以及平均行长rl。之后,在计算任意两张表之间的相似度时,可以先确定该两张表的上述三个属性的属性值。最后,基于该两张表各自的三个属性的属性值,来计算两者之间的相似度。在一个例子中,任意两张表之间的相似度计算公式可以如下所示。
Figure GDA0002105081070000061
其中,similariry为两张表之间的相似度,r1、ndv1以及rl1分别为其中一张表的行数、唯一值个数以及平均行长,r2、ndv2以及rl2分别为另一张表的行数、唯一值个数以及平均行长。
当然,在实际应用中,也可以定义其它的属性,如,列数等,本说明书对此不作限定。
可以理解的是,上述步骤210-步骤220可以是重复执行的,直至数据库中的每个对象均被划分到对应的分组。在将数据库的每个对象均被划分到对应的分组之后,可以将划分得到的各个分组作为多个对象类型分组。
步骤230,建立数据库中的各个对象与多个对象类型分组之间的对应关系。
在一个例子中,上述对应关系可以如表1所示。
表1
对象 对象类型分组
user_01 group_01
user_02 group_01
dept_01 group_02
表1中,user_01和user_02属于同一对象类型分组(group_01),也即user_01与user_02的对象模式相同且两者之间的相似度小于预设阈值d。
本说明书通过将对象模式相同且相似度小于预设阈值d的对象划分到同一的对象类型分组,可以在分库分表的场景下,聚合同一逻辑表的多张物理分表,从而可以大大减少生成的执行计划的数量,这可以达到节约计算机资源的目的。
需要说明的是,对上述多个对象类型分组,可以周期性自动检测每个对象类型分组中各个对象的对象模式是否相同,并在对象模式相同时,针对每个对象,计算该对象与所属对象类型分组中其它对象之间的相似度。当该对象与其它对象之间的相似度均不小于预设阈值时,重新确定该对象所属的对象类型分组。由此,来确保数据库中各个对象分组的准确性,进而可以提供数据库访问的准确性。此外,上述自动检测对象分组准确性的过程,可以减少对用户的依赖和侵入,从而增加了数据库系统的稳定性。
还需要说明的是,本说明书基于对象模式和相似度确定对象类型分组的策略,可以避免由用户指定对象类型分组而使数据库的稳定性和易用性差的问题。
可以理解的是,在将数据库中的各个对象划分到对应的对象类型分组之后,就可以执行本说明书提供的数据库访问方法。
图3为本说明书一个实施例提供的数据库访问方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,图1中的服务器。如图3所示,所述方法具体可以包括:
步骤310,接收数据库访问语句。
此处,可以是由服务器接收客户端发送的数据库访问语句。该数据库访问语句可以是指SQL语句。如,可以为:select*from user_01a,dept_01b where a.id=b.id anda.id=1。
步骤320,解析数据库访问语句,确定数据库访问语句中包含的目标用户参数。
在数据库访问语句为SQL语句时,可以是根据SQL语句的语法,来解析该SQL语句。上述目标用户参数可以是指SQL语句中的固定值。其可以包括:整数、浮点数以及字符串等。
如前述例子,该SQL语句中包含的目标用户参数为:1。
步骤330,确定数据库访问语句所属的语句类型。
在一种实现方式中,可以是先对数据库访问语句进行参数化。之后根据参数化后的数据库访问语句,确定所属的语句类型。其中,对数据库访问语句进行参数化的步骤可以包括:
步骤a,从数据库访问语句中提取对应的对象集合。
其中,对象集合中的对象可以是指上述表、视图等可能存在于数据库访问语句中的访问实体。在数据库访问语句为SQL语句时,可以是通过SQL语句的语法对SQL语句进行解析,来提取上述对象集合。
以数据库访问语句为:select*from user_01a,dept_01b where a.id=b.id anda.id=1为例来说,提取的对象集合可以为:O={user_01,dept_01}。
步骤b,对对象集合中的对象,确定对象所属的对象类型分组,并获取对应的分组名称。
在预先确定多个对象类型分组,并建立数据库中的各个对象与多个对象类型分组之间的对应关系时,可以根据该对应关系,来确定对象集合中的对象所属的对象类型分组。如前述例子,可以根据表1所示的内容,确定user_01所属的对象类型分组为:group_01,dept_01所属的对象类型分组为:group_02。
步骤c,将数据库访问语句中的对象替换为对应的分组名称,并将目标用户参数替换为通配符。
此处的通配符可以是指任何与数据库访问语句中其它字符或者字符串不相同的一个或多个字符。该字符可以为“@”、“?”或者“%”等特殊字符。以通配符为:“?”为例来说,对前述例子,将user_01替换为group_01,将dept_01替换为group_02,将1替换为“?”之后,该SQL语句转化为字符串:select*from group_01,group_02where group_01.id=group_02.id and group_01.id=?。
可以理解的是,上述字符串即为该数据库访问语句所属的语句类型。
步骤340,获取预先存储的与该语句类型的数据库访问语句对应的执行计划分组。
在一种实现方式中,可以是从服务器的计划缓存中获取上述执行计划分组。该计划缓存中可以预先存储有多个与不同的语句类型对应的执行计划分组,其中,每个执行计划分组通过对应的哈希值进行标识,执行计划分组中的各个执行计划通过不同的用户参数相区分。
在一个例子中,计划缓存的内容可以如表2所示。
表2
Figure GDA0002105081070000091
当然,在实际应用中,上述计划缓存也可以不包括语句类型,或者还可以包括其它内容,本说明书对此不作限定。
具体地,在确定数据库访问语句所属的语句类型之后。可以根据预设的哈希函数,计算所属语句类型对应的哈希值。之后根据计算的哈希值,获取对应的执行计划分组。
需要说明的是,计划缓存中的执行计划分组可以是由服务器在响应用户的数据库访问请求的过程中不断生成并存储的。上述执行计划分组的生成过程也可以称为计划空间的探索过程。该计划空间的探索过程可以如图4所示。
图4中,p1和p2分别为参数空间中两个不同的点,用于表示两个不同的用户参数。当服务器接收到包含有:p1的某语句类型的数据库访问语句时,可以根据该p1生成相应的执行计划。该执行计划的生成过程可以示意为在图4所示的参数空间中划分出一块区域,该划分出的区域也可以称为计划空间。之后,当服务器接收到包含有p2的该语句类型的数据库访问语句时,可以计算p2与p1之间的距离Δp(如,可以为欧几里得距离)。假设Δp大于阈值距离D,可以根据p2生成相应的执行计划,即在图4所示的参数空间中划分出另一个计划空间。需要说明的是,当服务器某次接收到的该语句类型的数据库访问中包含的用户参数:pi与p1(或者p2)的距离Δp小于D时,不再生成新的执行计划。也即与p1(或者p2)共享执行计划。可以理解的是,随着用户参数的增加,整个参数空间将逐渐被划分出多个不同的计划空间。当部分计划空间出现重叠时,即将两个计划空间合并为一个。最终,整个参数空间会被完全划分,计划空间的探索过程即认为结束。可以理解的是,在计划空间的探索过程结束之后,生成的多个执行计划即构成了一个执行计划分组。
当然,在实际应用中,p1和p2也可以分别为参数空间中两个不同的数值范围,本说明书对此不复赘述。
需要说明的是,图4只是示出了在一维空间下,计划空间的探索过程。当数据库访问语句中同时包含多个不同的用户参数时,如,同时包含n个不同的用户参数时,该参数空间即构成了n维空间。在n维空间中,计划空间的探索过程类似。如,可以将n个不同的用户参数表示为数组:(a1,a2,a3,…,an)。之后在划分计划空间时,假设参数空间中已经为某个点(b1,b2,b3,…,bn)划分了相应的计划空间,则可以根据如下公式来计算上述数组与该点之间的距离Δp。
Figure GDA0002105081070000111
之后,可以根据公式2计算的距离Δp与阈值距离之间的大小关系,来确定是否划分新的计划空间。其确定方法同上所述,在此不复赘述。
还需要说明的是,图4只是给出了一组执行计划分组的生成过程,也即服务器接收到的数据库访问语句的语句类型相同。当服务器接收到多种不同语句类型的数据库访问语句时,可以为每种语句类型均生成对应的执行计划分组。从而可以得到多组执行计划分组,具体可以参见表2所示的内容。
本说明书通过上述计划空间的探索过程生成执行计划的方法,可以大大提高执行计划的质量,从而可以进一步提高用户对数据库的访问效率。此外,本说明书针对一类型的数据库访问语句生成执行计划分组的方式,可以避免大量的重复计算,从而可以加速执行计划的生成速度和效率。再者,通过该方式还可以大大减小生成的执行计划的数量,这可以降低对空间的占用,从而可以达到节约计算机资源的目的。
步骤350,根据目标用户参数,从执行计划分组中选取目标执行计划。
可选地,为了提高选取的执行计划的质量,在执行步骤350之前,可以再次判断对象集合中的各个对象所属的对象类型分组是否发生了变化。在未发生变化的情况下,才执行步骤350。
上述判断的过程可以为:对对象集合中的每个对象,判断该对象与所属对象类型分组中各个对象的对象模式是否相同。如果对象模式相同,则依次计算该对象与各个对象之间的相似度。举例来说,假设对象集合为:{user_01,dept_01},且预先确定的数据库中的对象与对象类型分组之间的对应关系如表1所示。则可以确定user_01与user_02的对象模式是否相同。如果对象模式相同,可以计算该两者之间的相似度。此外,还可以确定dept_01与group_02中其它对象的对象模式是否相同。如果对象模式相同,则可以依次计算dept_01与group_02中其它对象之间的相似度。此处,相似度的计算可以参见公式1,在此不复赘述。当各个对象与所属对象类型分组中任一对象之间的相似度小于预设阈值时,认为各个对象所属的对象类型分组未发生变化。需要说明的是,当对象模式不相同或者当对象模式相同但与所属对象类型分组中各个对象之间的相似度均不小于预设阈值时,可以重新确定所属的对象类型分组。如前述例子,假设user_01与user_02的对象模式不相同,或者假设对象模式相同,但两者之间的相似度不小于预设阈值,而dept_01与group_02中其它对象的对象模式相同且与组内某个对象之间的相似度小于预设阈值,则可以重新确定user_01所属的对象类型分组。
可以理解的是,在重新确定某个或者某几个对象所属的对象类型分组时,则可以重新执行上述步骤330-步骤340。
需要说明的是,对于步骤350中的执行计划分组,当如上所述的计划空间探索完成时,该执行计划分组中包括了所有的执行计划。从而根据目标用户参数,可以选取到对应的目标执行计划。即计算目标用户参数与执行计划分组中的各个执行计划对应的用户参数之间的欧几里得距离。当与任一执行计划对应的用户参数之间的欧几里得距离小于阈值距离时,将该任一执行计划作为目标执行计划。
当如上所述的计划空间探索还未完成时,目标执行计划的选取过程同上所述。不同的是,由于计划空间还未探索完成,因此可能存在选取不到目标执行计划的情况。也即可能会存在目标用户参数与执行计划分组中已生成的各个执行计划对应的用户参数之间的欧几里得距离均不小于阈值距离的情况。此时,可以继续上述计划空间的探索过程,即在图4所示的参数空间中划分出相应的计划空间,也即根据目标用户参数,生成新执行计划。从而执行计划分组中加入了新执行计划。
步骤360,执行目标执行计划。
此处,如果选取到目标执行计划,则执行该目标执行计划。如果未选取到目标执行计划,则执行新执行计划。
综上,通过本说明书实施例提供的方案,既可以提高用户对数据库访问的准确性,又可以提高访问效率。
图5为本说明书另一实施例提供的数据库访问方法流程图。如图5所示,该方法可以包括:
步骤510,接收数据库访问语句。
步骤520,解析数据库访问语句,确定数据库访问语句中包含的目标用户参数。
步骤530,从数据库访问语句中提取对应的对象集合。
步骤540,对对象集合中的对象,确定该对象所属的对象类型分组。
步骤550,根据确定的对象类型分组,对数据库访问语句进行参数化。
步骤560,根据参数化后的数据库访问语句,确定该数据库访问语句所属的语句类型。
步骤570,获取预先存储的与该语句类型的数据库访问语句对应的执行计划分组。
步骤580,对对象集合中的对象,确定该对象与所属对象类型分组中各个对象的对象模式是否相同;若否,则执行步骤590;若是,则执行步骤5100。
步骤590,重新确定该对象所属对象类型分组,并跳转至步骤550。
步骤5100,依次计算该对象与上述各个对象之间的相似度。
步骤5110,判断与任一对象之间的相似度是否小于预设阈值。若否,则执行步骤590;若是,则执行步骤5120。
步骤5120,根据目标用户参数,从执行计划分组中选取目标执行计划。
步骤5130,判断是否选取到目标执行计划;若是,则执行步骤5140;若否,则执行步骤5150。
步骤5140,执行目标执行计划。
步骤5150,根据目标用户参数,生成新执行计划。
步骤5160,执行新执行计划,并将新执行计划加入执行计划分组。
本说明书上述实施例首先确定数据库访问语句中对象所属的对象类型分组,之后再选取或者生成执行计划的方式,可以聚合对象类型相同的多个对象(如,聚合同一张逻辑表的多张物理分表),由此,可以达到执行计划共享的目的。
与上述用户意图识别方法对应地,本说明书一个实施例还提供的一种用户意图识别装置,如图6所示,该装置包括:
接收单元601,用于接收数据库访问语句。
解析单元602,用于解析接收单元601接收的数据库访问语句,确定数据库访问语句中包含的目标用户参数。
确定单元603,用于确定数据库访问语句所属的语句类型。
确定单元603具体可以用于:
对数据库访问语句进行参数化。
根据参数化后的数据库访问语句,确定所属的语句类型。
其中,对数据库访问语句进行参数化可以包括:
从数据库访问语句中提取对应的对象集合。
对对象集合中的对象,确定对象所属的对象类型分组,并获取对应的分组名称。
将数据库访问语句中的对象替换为对应的分组名称,并将目标用户参数替换为通配符。
获取单元604,用于获取预先存储的与确定单元603确定的语句类型的数据库访问语句对应的执行计划分组;该执行计划分组中的各个执行计划通过不同的用户参数相区分。
选取单元605,用于根据目标用户参数,从获取单元604获取的执行计划分组中选取目标执行计划。
执行单元606,用于执行选取单元605选取的目标执行计划。
可选地,该装置还可以包括:分组单元和建立单元。
选取单元605,还用于从数据库中选取对象模式相同的多个对象。
分组单元,用于对所述选取单元605选取的多个对象进行分组。
执行单元606,还用于重复执行上述选取以及分组的步骤,直至数据库中的对象均被划分到对应的分组。
建立单元,用于将分组单元得到的多个分组作为多个对象类型分组,并建立数据库中的各个对象与多个对象类型分组之间的对应关系。
确定单元603还具体可以用于:
根据对应关系,确定对象所属的对象类型分组。
可选地,选取单元605具体可以用于:
对对象集合中的对象,确定对象与所属对象类型分组中各个对象的对象模式是否相同。
如果对象模式相同,则依次计算对象与各个对象之间的相似度。
当与任一对象之间的相似度小于预设阈值时,根据目标用户参数,从执行计划分组中选取目标执行计划。
当与各个对象之间的相似度均不小于预设阈值时,重新确定对象所属的对象类型分组,并根据重新确定的对象类型分组,获取对应的目标执行计划。
可选地,该装置还可以包括:
计算单元,用于对各个对象类型分组中的每个对象,周期性依次计算该对象与所属对象类型分组中其它对象之间的相似度。
确定单元603,还用于当与其它对象之间的相似度均不小于预设阈值时,重新确定该对象所属的对象类型分组。
可选地,选取单元605还具体可以用于:
计算目标用户参数与执行计划分组中的各个执行计划对应的用户参数之间的欧几里得距离。
当与任一执行计划对应的用户参数之间的欧几里得距离小于阈值距离时,将任一执行计划作为目标执行计划。
可选地,该装置还可以包括:
生成单元,用于根据目标用户参数,生成新执行计划。
加入单元,用于将生成单元生成的新执行计划加入执行计划分组,并执行新执行计划。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的数据库访问装置,接收单元601接收数据库访问语句。解析单元602解析数据库访问语句,确定数据库访问语句中包含的目标用户参数。确定单元603确定数据库访问语句所属的语句类型。获取单元604获取预先存储的与确定的语句类型的数据库访问语句对应的执行计划分组。选取单元605根据目标用户参数,从执行计划分组中选取目标执行计划。执行单元606执行目标执行计划。由此,既可以提高用户对数据库访问的准确性,又可以提高访问效率。
需要说明是,本说明书实施例提供的数据库访问装置可以为图1中服务器的一个模块或者单元。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (12)

1.一种数据库访问方法,其特征在于,包括:
接收数据库访问语句;
解析所述数据库访问语句,确定所述数据库访问语句中包含的目标用户参数;
确定所述数据库访问语句所属的语句类型;
获取预先存储的与所述语句类型的数据库访问语句对应的执行计划分组;所述执行计划分组中的各个执行计划通过不同的用户参数相区分;
根据所述目标用户参数,从所述执行计划分组中选取目标执行计划;
执行所述目标执行计划;
所述确定所述数据库访问语句所属的语句类型,包括:
对所述数据库访问语句进行参数化;
根据参数化后的数据库访问语句,确定所属的语句类型;
其中,所述对所述数据库访问语句进行参数化,包括:
从所述数据库访问语句中提取对应的对象集合;
对所述对象集合中的对象,确定所述对象所属的对象类型分组,并获取对应的分组名称;所述对象包括表和视图;
将所述数据库访问语句中的对象替换为对应的分组名称,并将所述目标用户参数替换为通配符。
2.根据权利要求1所述的方法,其特征在于,还包括确定多个对象类型分组的步骤,包括:
从数据库中选取对象模式相同的多个对象;其中,所述对象模式相同的多个对象是指列的数据类型相同且索引模式相同的多张表或视图;索引模式相同是指所述多张表或视图所建立的索引个数以及建立索引的列相同;
对所述多个对象进行分组;
重复执行上述选取以及分组的步骤,直至所述数据库中的对象均被划分到对应的分组;
将划分得到的所述多个分组作为所述多个对象类型分组,并建立所述数据库中的各个对象与所述多个对象类型分组之间的对应关系;
所述确定所述对象所属的对象类型分组,包括:
根据所述对应关系,确定所述对象所属的对象类型分组。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标用户参数,从所述执行计划分组中选取目标执行计划,包括:
对所述对象集合中的对象,确定所述对象与所属对象类型分组中各个对象的对象模式是否相同;
如果对象模式相同,则依次计算所述对象与所述各个对象之间的相似度;
当与任一对象之间的相似度小于预设阈值时,根据所述目标用户参数,从所述执行计划分组中选取目标执行计划;
当与所述各个对象之间的相似度均不小于预设阈值时,重新确定所述对象所属的对象类型分组,并根据重新确定的对象类型分组,获取对应的目标执行计划。
4.根据权利要求2所述的方法,其特征在于,还包括:
对各个对象类型分组中的每个对象,周期性依次计算所述对象与所属对象类型分组中其它对象之间的相似度;
当与其它对象之间的相似度均不小于预设阈值时,重新确定所述对象所属的对象类型分组。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标用户参数,从所述执行计划分组中选取目标执行计划,包括:
计算所述目标用户参数与所述执行计划分组中的各个执行计划对应的用户参数之间的欧几里得距离;
当与任一执行计划对应的用户参数之间的欧几里得距离小于阈值距离时,将所述任一执行计划作为所述目标执行计划。
6.根据权利要求1所述的方法,其特征在于,当未选取到所述目标执行计划时,还包括:
根据所述目标用户参数,生成新执行计划;
将所述新执行计划加入所述执行计划分组,并执行所述新执行计划。
7.一种数据库访问装置,其特征在于,包括:
接收单元,用于接收数据库访问语句;
解析单元,用于解析所述接收单元接收的所述数据库访问语句,确定所述数据库访问语句中包含的目标用户参数;
确定单元,用于确定所述数据库访问语句所属的语句类型;
获取单元,用于获取预先存储的与所述确定单元确定的所述语句类型的数据库访问语句对应的执行计划分组;所述执行计划分组中的各个执行计划通过不同的用户参数相区分;
选取单元,用于根据所述目标用户参数,从所述获取单元获取的所述执行计划分组中选取目标执行计划;
执行单元,用于执行所述选取单元选取的所述目标执行计划;
所述确定单元具体用于:
对所述数据库访问语句进行参数化;
根据参数化后的数据库访问语句,确定所属的语句类型;
其中,所述对所述数据库访问语句进行参数化,包括:
从所述数据库访问语句中提取对应的对象集合;
对所述对象集合中的对象,确定所述对象所属的对象类型分组,并获取对应的分组名称;所述对象包括表和视图;
将所述数据库访问语句中的对象替换为对应的分组名称,并将所述目标用户参数替换为通配符。
8.根据权利要求7所述的装置,其特征在于,还包括:分组单元和建立单元;
所述选取单元,还用于从数据库中选取对象模式相同的多个对象;其中,所述对象模式相同的多个对象是指列的数据类型相同且索引模式相同的多张表或视图;索引模式相同是指所述多张表或视图所建立的索引个数以及建立索引的列相同;
所述分组单元,用于对所述选取单元选取的所述多个对象进行分组;
所述执行单元,还用于重复执行上述选取以及分组的步骤,直至所述数据库中的对象均被划分到对应的分组;
所述建立单元,用于将所述分组单元得到的所述多个分组作为所述多个对象类型分组,并建立所述数据库中的各个对象与所述多个对象类型分组之间的对应关系;
所述确定单元还具体用于:
根据所述对应关系,确定所述对象所属的对象类型分组。
9.根据权利要求7或8所述的装置,其特征在于,所述选取单元具体用于:
对所述对象集合中的对象,确定所述对象与所属对象类型分组中各个对象的对象模式是否相同;
如果对象模式相同,则依次计算所述对象与所述各个对象之间的相似度;
当与任一对象之间的相似度小于预设阈值时,根据所述目标用户参数,从所述执行计划分组中选取目标执行计划;
当与所述各个对象之间的相似度均不小于预设阈值时,重新确定所述对象所属的对象类型分组,并根据重新确定的对象类型分组,获取对应的目标执行计划。
10.根据权利要求8所述的装置,其特征在于,还包括:
计算单元,用于对各个对象类型分组中的每个对象,周期性依次计算所述对象与所属对象类型分组中其它对象之间的相似度;
所述确定单元,还用于当与其它对象之间的相似度均不小于预设阈值时,重新确定所述对象所属的对象类型分组。
11.根据权利要求7所述的装置,其特征在于,所述选取单元还具体用于:
计算所述目标用户参数与所述执行计划分组中的各个执行计划对应的用户参数之间的欧几里得距离;
当与任一执行计划对应的用户参数之间的欧几里得距离小于阈值距离时,将所述任一执行计划作为所述目标执行计划。
12.根据权利要求7所述的装置,其特征在于,还包括:
生成单元,用于根据所述目标用户参数,生成新执行计划;
加入单元,用于将所述生成单元生成的所述新执行计划加入所述执行计划分组,并执行所述新执行计划。
CN201810551049.4A 2018-05-31 2018-05-31 数据库访问方法及装置 Active CN108763536B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201810551049.4A CN108763536B (zh) 2018-05-31 2018-05-31 数据库访问方法及装置
TW108106470A TWI686707B (zh) 2018-05-31 2019-02-26 資料庫存取方法及裝置
SG11202005963RA SG11202005963RA (en) 2018-05-31 2019-03-05 Database access methods and apparatuses
EP21185187.8A EP3929763B1 (en) 2018-05-31 2019-03-05 Database access methods and apparatuses
EP19812032.1A EP3716098B8 (en) 2018-05-31 2019-03-05 Database access method and device
PCT/CN2019/076971 WO2019228002A1 (zh) 2018-05-31 2019-03-05 数据库访问方法及装置
US16/888,526 US11080278B2 (en) 2018-05-31 2020-05-29 Database query plan selection
US17/391,882 US11243950B2 (en) 2018-05-31 2021-08-02 Database query plan selection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810551049.4A CN108763536B (zh) 2018-05-31 2018-05-31 数据库访问方法及装置

Publications (2)

Publication Number Publication Date
CN108763536A CN108763536A (zh) 2018-11-06
CN108763536B true CN108763536B (zh) 2020-04-14

Family

ID=64001217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810551049.4A Active CN108763536B (zh) 2018-05-31 2018-05-31 数据库访问方法及装置

Country Status (6)

Country Link
US (2) US11080278B2 (zh)
EP (2) EP3716098B8 (zh)
CN (1) CN108763536B (zh)
SG (1) SG11202005963RA (zh)
TW (1) TWI686707B (zh)
WO (1) WO2019228002A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763536B (zh) 2018-05-31 2020-04-14 阿里巴巴集团控股有限公司 数据库访问方法及装置
CN111221840B (zh) * 2018-11-23 2023-05-30 阿里云计算有限公司 数据处理方法及装置、数据缓存方法、存储介质、系统
CN111506553B (zh) * 2019-01-31 2023-07-04 阿里巴巴集团控股有限公司 数据库的功能设定方法及装置
CN112866348B (zh) * 2020-12-31 2022-11-11 金蝶软件(中国)有限公司 数据库访问方法、装置、计算机设备和存储介质
US20230229660A1 (en) * 2022-01-18 2023-07-20 Sap Se Efficient database structured query language execution from application layer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224690A (zh) * 2015-10-30 2016-01-06 上海达梦数据库有限公司 生成并选择对应含参语句的执行计划的方法及系统
CN106407246A (zh) * 2016-07-22 2017-02-15 平安科技(深圳)有限公司 Sql执行计划管理的方法及装置
CN106897343A (zh) * 2016-07-20 2017-06-27 阿里巴巴集团控股有限公司 执行计划的查找方法、存储方法及装置
CN107451203A (zh) * 2017-07-07 2017-12-08 阿里巴巴集团控股有限公司 数据库访问方法及装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985904B1 (en) * 2002-02-28 2006-01-10 Oracle International Corporation Systems and methods for sharing of execution plans for similar database statements
US7689585B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Reinforced clustering of multi-type data objects for search term suggestion
US7353219B2 (en) * 2004-05-28 2008-04-01 International Business Machines Corporation Determining validity ranges of query plans based on suboptimality
EP1755006A1 (en) * 2005-08-18 2007-02-21 Ricoh Company, Ltd. Data transmission between sheet post-processing modules
US7383247B2 (en) * 2005-08-29 2008-06-03 International Business Machines Corporation Query routing of federated information systems for fast response time, load balance, availability, and reliability
US20080195577A1 (en) * 2007-02-09 2008-08-14 Wei Fan Automatically and adaptively determining execution plans for queries with parameter markers
US8700608B2 (en) * 2007-10-17 2014-04-15 Oracle International Corporation SQL execution plan verification
TW200919235A (en) * 2007-10-26 2009-05-01 Inventec Corp Method for generating data-sheets in the database
US20100082507A1 (en) * 2008-09-30 2010-04-01 Archana Sulochana Ganapathi Predicting Performance Of Executing A Query In Isolation In A Database
US8818991B2 (en) * 2009-12-23 2014-08-26 Pivotal Software, Inc. Apparatus and method for analyzing query optimizer performance
US8862563B2 (en) * 2010-05-12 2014-10-14 Microsoft Corporation Getting dependency metadata using statement execution plans
US8688689B2 (en) * 2010-06-30 2014-04-01 Oracle International Corporation Techniques for recommending alternative SQL execution plans
US8589382B2 (en) * 2011-12-29 2013-11-19 International Business Machines Corporation Multi-fact query processing in data processing system
CN103186623B (zh) * 2011-12-31 2016-04-20 鼎捷软件股份有限公司 数据库存取方法以及系统
US8996504B2 (en) * 2012-05-24 2015-03-31 Sybase, Inc. Plan caching using density-based clustering
US8924373B2 (en) * 2012-08-09 2014-12-30 International Business Machines Corporation Query plans with parameter markers in place of object identifiers
US9471631B2 (en) * 2012-09-28 2016-10-18 Oracle International Corporation Creating and using data that indicates misestimates of actual costs
US9110949B2 (en) * 2013-02-11 2015-08-18 Oracle International Corporation Generating estimates for query optimization
US9229968B2 (en) * 2013-03-11 2016-01-05 Intenational Business Machines Corporation Management of searches in a database system
JP5518266B1 (ja) * 2013-05-17 2014-06-11 三菱電機株式会社 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム
US10628417B2 (en) * 2013-12-01 2020-04-21 Paraccel Llc Physical planning of database queries using partial solutions
TWI539309B (zh) * 2014-12-15 2016-06-21 國立清華大學 資料庫轉換的同步系統及其方法
US10467228B2 (en) * 2015-08-11 2019-11-05 Sybase, Inc. Accelerating database queries using equivalence union enumeration
CN105718593B (zh) * 2016-01-28 2019-04-16 长春师范大学 一种数据库查询优化方法及系统
JP6669571B2 (ja) * 2016-04-19 2020-03-18 株式会社シスバンク リレーショナルデータベースのチューニング装置及び方法
CN107798017B (zh) * 2016-09-07 2023-06-09 金篆信科有限责任公司 分布式数据库中的执行计划信息生成方法和系统
US20180113904A1 (en) * 2016-10-20 2018-04-26 International Business Machines Corporation Extreme Value Estimation for Query Optimization in Analytical Databases
US10599649B2 (en) * 2016-12-20 2020-03-24 Microsoft Technology Licensing, Llc Real time query planner statistics with time based changing
CN108763536B (zh) * 2018-05-31 2020-04-14 阿里巴巴集团控股有限公司 数据库访问方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224690A (zh) * 2015-10-30 2016-01-06 上海达梦数据库有限公司 生成并选择对应含参语句的执行计划的方法及系统
CN106897343A (zh) * 2016-07-20 2017-06-27 阿里巴巴集团控股有限公司 执行计划的查找方法、存储方法及装置
CN106407246A (zh) * 2016-07-22 2017-02-15 平安科技(深圳)有限公司 Sql执行计划管理的方法及装置
CN107451203A (zh) * 2017-07-07 2017-12-08 阿里巴巴集团控股有限公司 数据库访问方法及装置

Also Published As

Publication number Publication date
SG11202005963RA (en) 2020-07-29
EP3929763B1 (en) 2024-01-17
WO2019228002A1 (zh) 2019-12-05
US11243950B2 (en) 2022-02-08
EP3716098A1 (en) 2020-09-30
US11080278B2 (en) 2021-08-03
EP3716098B1 (en) 2021-09-08
EP3716098B8 (en) 2021-10-13
TWI686707B (zh) 2020-03-01
EP3929763A1 (en) 2021-12-29
EP3716098A4 (en) 2020-11-11
CN108763536A (zh) 2018-11-06
TW202004527A (zh) 2020-01-16
US20210365454A1 (en) 2021-11-25
US20200293533A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
CN108763536B (zh) 数据库访问方法及装置
US11372851B2 (en) Systems and methods for rapid data analysis
CN110543517B (zh) 一种基于Elasticsearch实现海量数据复杂查询方法、装置及介质
US9922102B2 (en) Templates for defining fields in machine data
US20170147644A1 (en) Query optimization using join cardinality
CN101131706A (zh) 一种查询修正方法及系统
CN108710662B (zh) 语言转换方法和装置、存储介质、数据查询系统和方法
CN112579610A (zh) 多数据源结构分析方法、系统、终端设备及存储介质
CN104484392A (zh) 数据库查询语句生成方法及装置
CN110795526A (zh) 一种用于检索系统的数学公式索引创建方法与系统
US10866944B2 (en) Reconciled data storage system
CN116802626A (zh) 联接跨云资源的JavaScript对象表示法(JSON)查询
CN110069489B (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
US20220215021A1 (en) Data Query Method and Apparatus, Computing Device, and Storage Medium
US20170031909A1 (en) Locality-sensitive hashing for algebraic expressions
CN114254005A (zh) 分区表的分组聚集查询方法、装置、计算机设备和介质
CN114281842A (zh) 一种数据库分表查询的方法及设备
JP6666312B2 (ja) 多次元データ管理システム及び多次元データ管理方法
CN117390064B (zh) 一种基于可嵌入子图的数据库查询优化方法
US20170147707A1 (en) Apparatus and method for managing graph data
CN115204155A (zh) 一种配置异常检测方法、装置、计算机设备和存储介质
CN114996276A (zh) Olap预计算模型建模方法、数据查询方法、装置及存储介质
CN113946597A (zh) 多模态大数据系统下的数据存储方法、装置、设备和介质
CN117951155A (zh) 数据处理方法、装置、电子设备及存储介质
CN118113883A (zh) 一种rdf知识图谱数据划分和分布式查询方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201022

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201022

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210203

Address after: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Ant financial (Hangzhou) Network Technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210915

Address after: 100000 unit 02, floor 901, unit 1, building 1, No. 1, Middle East Third Ring Road, Chaoyang District, Beijing

Patentee after: Beijing Aoxing Beisi Technology Co.,Ltd.

Address before: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Patentee before: Ant financial (Hangzhou) Network Technology Co.,Ltd.