CN113868242B - 全局索引的分布策略调整方法、计算机设备及存储介质 - Google Patents

全局索引的分布策略调整方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN113868242B
CN113868242B CN202010622427.0A CN202010622427A CN113868242B CN 113868242 B CN113868242 B CN 113868242B CN 202010622427 A CN202010622427 A CN 202010622427A CN 113868242 B CN113868242 B CN 113868242B
Authority
CN
China
Prior art keywords
index
chromosome
distribution strategy
leaf
global
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
CN202010622427.0A
Other languages
English (en)
Other versions
CN113868242A (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.)
Jinzhuan Xinke Co Ltd
Original Assignee
Jinzhuan Xinke 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 Jinzhuan Xinke Co Ltd filed Critical Jinzhuan Xinke Co Ltd
Priority to CN202010622427.0A priority Critical patent/CN113868242B/zh
Priority to PCT/CN2021/101422 priority patent/WO2022001742A1/zh
Publication of CN113868242A publication Critical patent/CN113868242A/zh
Application granted granted Critical
Publication of CN113868242B publication Critical patent/CN113868242B/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/22Indexing; Data structures therefor; Storage structures
    • 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/2228Indexing structures
    • 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/2228Indexing structures
    • G06F16/2272Management 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/242Query formulation
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

本发明公开全局索引的分布策略调整方法、计算机设备及存储介质。该方法包括:获取索引访问操作采样集合;根据索引访问操作采样集合,获取全局索引的目标分布策略;根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。本发明能够动态调整全局索引的分布,提高分布式数据库全局索引的性能。

Description

全局索引的分布策略调整方法、计算机设备及存储介质
技术领域
本发明涉及数据库领域,尤其涉及一种全局索引的分布策略调整方法、计算机设备及存储介质。
背景技术
分布式数据库是利用计算机网络将物理上分散的多个数据库分片连接起来组成的一个逻辑上统一的数据库。分布式全局内存索引(又称为全局索引)能够以较小性能代价实现分布式数据库的唯一性约束,并提升执行计划优化器的数据节点选择效率。然而,现有的全局索引往往采用固定式部署策略(即将全局索引集中部署在个别主机的内存中,或者将全局索引散布在全部主机的内存中),无法满足实际的访问模式,影响分布式数据库全局索引的性能。
发明内容
本发明实施例的主要目的在于提出一种全局索引的分布策略调整方法、计算机设备及存储介质,能够动态调整全局索引的分布,提高分布式数据库全局索引的性能。
为实现上述目的,本发明实施例提供了一种全局索引的分布策略调整方法,包括:
获取索引访问操作采样集合;
根据索引访问操作采样集合,获取全局索引的目标分布策略;
根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
为实现上述目的,本发明实施例提出了一种全局索引的分布策略调整装置,包括:获取模块,计算模块和调整模块;
获取模块,设置为获取索引访问操作采样集合;
计算模块,设置为根据索引访问操作采样集合,获取全局索引的目标分布策略;
调整模块,设置为根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
为实现上述目的,本发明实施例还提出了一种计算机设备,包括:处理器,处理器用于在执行计算机程序时实现上述任一实施例的方法。
为实现上述目的,本发明提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的方法。
本发明提供的一种全局索引的分布策略调整方法、计算机设备及存储介质,其通过索引访问操作采样集合,利用遗传算法或者强化学习算法动态获取全局索引的目标分布策略,以调整叶子节点的分布。这样一来,实现了根据实际访问模式动态调整全局索引的分布,使得全局索引的分布更加合理,以提高分布式数据库全局索引的性能。
关于本发明的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1是传统的share nothing架构下分布式数据库的组织示意图;
图2是现有的分布式数据库的全局索引集中部署策略示意图;
图3是现有的分布式数据库的全局索引分散部署策略示意图;
图4是一实施例提供的分布式数据库的全局索引混合部署策略示意图;
图5是一实施例提供的一种全局索引的分布策略调整方法的流程示意图;
图6是一实施例提供的一种全局索引的分布策略示意图;
图7是一实施例提供的一种基于遗传算法的全局索引的分布策略调整方法的流程示意图;
图8是一实施例提供的一种基于强化学习算法的全局索引的分布策略调整方法的流程示意图;
图9是一实施例提供的一种全局索引的分布策略调整装置的结构示意图;
图10是一实施例提供的一种全局索引的分布策略调整装置的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
分布式数据库是利用计算机网络将物理上分散的多个数据库分片连接起来组成的一个逻辑上统一的数据库。传统的分布式数据库常采用share nothing架构,即各个数据库分片都有自己私有的中央处理器(Central Processing Unit,CPU)/内存/硬盘等,各个数据库分片之间不存在共享资源,各个数据库分片相互独立处理数据、独立维护各个数据库分片的局部索引。
图1示出了传统的share nothing架构下分布式数据库的组织示意图。如图1所示,每个虚线框表示一个数据库分片,每个数据库分片包括两个叶子节点(Leaf)和一个数据节点(Data)。然而share nothing架构下分布式数据库存在两个固有弱点:1.唯一性约束实现代价过大,唯一性约束检查需要遍历全部分区表或者分区索引,导致性能损失严重;2.当查询条件不包含分区键时,执行计划优化器不能识别真正命中的分区,导致执行计划需要在全部分区上执行,造成某些分区上的无效执行,浪费计算资源、降低效率。
随着新硬件的飞速发展,全局索引的出现解决了上述问题。将全局索引分布在一个到多个主机的内存中,以此充分发挥内存介质和远程直接数据存取(Remote DirectMemory Access,RDMA)网络的快速特性,实现以较小性能代价实现分布式数据库的唯一性约束,并提升执行计划优化器的数据节点选择效率。现有的全局索引往往采用固定式部署策略(即将全局索引集中部署在个别主机的内存中,或者将全局索引散布在全部主机的内存中)。
图2示出了现有的分布式数据库的全局索引集中部署策略示意图。如图2所示,四个叶子节点(Leaf1、Leaf2、Leaf3、Leaf4)位于一个主机的内存中,两个叶子节点(Leaf5、Leaf6)位于另一个主机的内存中。对于只需要范围扫描索引就可以得到访问结果的结构化查询语言(Structured Query Language,SQL)语句来说,可以在内存空间允许的范围内把全局索引集中在尽可能少的节点内,以减少索引范围扫描的网络访问消耗。
图3示出了现有的分布式数据库的全局索引分散部署策略示意图。如图3所示,六个叶子节点(Leaf1、Leaf2、Leaf3、Leaf4、Leaf5、Leaf6)分别位于六个主机的内存中。对于需要既扫描索引、又访问索引所在表(又称为回表查询)的SQL语句来说,可以在内存空间允许的范围内把全局索引分散到表的高频访问区域所在节点,以减少索引回表的网络访问消耗。
然而,全局索引可能存在多个局部访问模式,例如有些键值集合内以范围扫描为主、另外一些键值集合内则以回表查询为主。而上述两种固定式部署策略均忽视了实际访问模式与分布策略之间的动态关联关系,无法满足实际的访问模式,影响分布式数据库全局索引的性能。
为了解决上述问题,本发明实施例提供了一种全局索引的分布策略调整方法、计算机设备及存储介质,能够动态调整全局索引的分布,提高分布式数据库全局索引的性能。
本发明中术语“系统”和“网络”在本发明中常被可互换使用。本发明下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本发明实施例对此不作具体限制。
下面,对种全局索引的分布策略调整方法、计算机设备及其技术效果进行描述。
本发明实施例提供的方法适用于分布式数据库的全局索引混合部署策略。图4示出了一实施例提供的分布式数据库的全局索引混合部署策略示意图。如图4所示,四个叶子节点(Leaf1、Leaf2、Leaf3、Leaf4)位于一个主机的内存中,两个叶子节点(Leaf5、Leaf6)分别位于另外两个主机的内存中,叶子节点Leaf5和数据节点Data5位于同一个主机,叶子节点Leaf6和数据节点Data6位于同一个主机。如此,该分布式数据库既适用于以范围扫描为主的访问,也适用于以回表查询为主的访问。
具体的,参考图5,图5示出了一实施例提供的一种全局索引的分布策略调整方法的流程示意图,本实施例提供的方法适用于计算机设备,该方法包括如下步骤。
S110、获取索引访问操作采样集合。
索引访问操作采样集合定义为IxOP_tc_Set={{IdxOP_tc_item}+}。索引访问操作采样集合包括多条索引访问操作记录。索引访问操作记录是在数据库系统利用全局索引源源不断的查询过程中保存下来的,是进行全局索引的分布策略调整的基础。
在一实施例中,索引访问操作记录定义为IdxOP_tc_item{opid,{LeafID}+,{TabID}+},即一条索引访问操作记录包括一次索引访问操作的编号(也称为累计编号)opid、该次索引访问操作所访问的叶子节点编号序列{LeafID}+,以及该次索引访问操作请求执行后回表访问的数据节点编号序列{TabID}+。
LeafID是索引扫描过程中抵达的叶子节点,叶子节点编号序列{LeafID}+按照该次索引访问操作所访问的叶子节点的顺序依次排列;TabID表示本次索引访问请求执行后回表访问的分布式数据节点编号,每个LeafID都会对应一个TabID,数据节点编号序列{TabID}+按照叶子节点编号序列{LeafID}+中每个叶子节点对应的数据节点的顺序依次排列。需要说明的是,若本次索引访问操作没有后续回表访问则将叶子节点编号序列{LeafID}+置空。
在一实施例中,计算机设备可以通过索引访问操作采样算法获取索引访问操作采样集合。具体的,索引访问操作采样算法定义为OPSAMPLING(maxSetNum),其获取索引访问操作采样集合的过程可以包括如下两个步骤:
步骤1、初始化IxOP_tc_Set,设置其最大规模为maxSetNum;
步骤2、对于一个新的索引访问操作记录newIdxOP_tc_item{opid,{LeafID}+,{TabID}+},若IxOP_tc_Set内的成员规模小于最大规模maxSetNum,则直接将newIdxOP_tc_item{opid,{LeafID}+,{TabID}+}放入IxOP_tc_Set;若IxOP_tc_Set内的成员规模大于等于最大规模maxSetNum,则生成随机数randomnum=rand(1,opid),且在随机数randomnum小于等于最大规模maxSetNum时,设置IxOP_tc_Set[randomnum]=newIdxOP_tc_item{opid,{LeafID}+,{TabID}+}。
S120、根据索引访问操作采样集合,获取全局索引的目标分布策略。
具体的,可以利用遗传算法或者强化学习算法获取全局索引的目标分布策略。
遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。遗传算法已被广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
强化学习(Reinforcement Learning,RL)算法,又称再励学习算法、评价学习算法或增强学习算法,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
分布策略定义为一个向量v={{vitem}+},代表对全局索引全部叶子节点的一种独立分配方案。向量v中的每个成员vitem表示全局索引的叶子节点、成员vitem的值表示该叶子节点所处的主机编号。示例性的,图6示出了一实施例提供的一种全局索引的分布策略示意图。四个叶子节点(Leaf1、Leaf2、Leaf3、Leaf4)位于主机7的内存中,叶子节点(Leaf5)位于主机5的内存中,叶子节点(Leaf6)位于主机6的内存中,因此,图6所示的全局索引的分布策略v可以表示为:
Figure BDA0002563480400000041
本发明的目的即为在可能存在的所有分布策略中选择最优的分布策略作为目标分布策略。
S130、根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
通过上述两种算法均求得全局索引的目标分布策略后,根据目标分布策略,调整叶子节点的分布,从而实现对全局索引的分布的动态调整,提高分布式数据库全局索引的性能。
另外,上述步骤S110可以是实时执行的步骤,步骤S120-S130可以是定时(例如周期性)执行的步骤。如此,可以保证索引访问操作采样集合中数据的时效性,同时周期性获取全局索引的目标分布策略,调整叶子节点的分布,该流程贯穿分布式数据库运行的全过程,实现基于SQL访问模式的全局索引分布策略的动态调整。
下面,分别对利用遗传算法和强化学习算法实现全局索引的分布策略调整进行示例性说明。
图7示出了一实施例提供的一种基于遗传算法的全局索引的分布策略调整方法的流程示意图,本实施例提供的方法适用于计算机设备,该方法包括如下步骤。
S210、获取索引访问操作采样集合。
示例性的,计算机设备获取索引访问操作采样集合的方法可以包括如下两个步骤:
步骤1、由数据库执行引擎记录每次全局索引操作的行为历史(即索引访问操作记录),并进行编号,填充IdxOP_tc_item结构体。
例如,{10001,{leaf1,leaf2,leaf3},{}}表示编号10001的索引操作访问了叶子节点leaf1、leaf2、leaf3,没有回表操作;{30002,{leaf5,leaf6},{Data5,Data6}}表示编号30002的索引操作访问了叶子节点leaf5、leaf6,此外leaf5回表访问了数据节点Data5、leaf6回表访问了数据节点Data6。
步骤2、执行索引访问操作采样算法OPSAMPLING(maxSetNum),刷新IxOP_tc_Set。
其中IxOP_tc_Set的最大规模maxSetNum可以设置为10000,具体算法可以参见上述步骤S110中的描述,以上索引访问操作采样算法可以保证每个IdxOP_tc_item有同样的概率被采样到IxOP_tc_Set中,从而保证了最终结果的准确性。
S220、初始化遗传算法的N条染色体。
其中,一条染色体为一种全局索引的分布策略,代表全局索引全部叶子节点的一种独立分配方案。染色体由基因位组成,每个基因位代表该叶子节点的所在的主机编号。
随机初始化N条染色体v的每个基因位,length(v)=索引叶子节点数目,其中,N的取值可以根据实际需要进行设定,如20、30、50等。
S230、计算N条染色体的适应度取值,并确定目标染色体,其中,目标染色体为N条染色体中适应度取值最高的染色体。
具体的,计算N条染色体的适应度取值的方法可以包括如下三个步骤:
步骤1、判断每条染色体是否满足第一约束条件和第二约束条件,其中,第一约束条件为一台主机可容纳的叶子节点上限,第二约束条件为当前分布策略与该条染色体的编辑距离上限。
示例性的,一台主机可容纳的叶子节点上限=0.1*length(v);当前分布策略与该条染色体的编辑距离上限=0.05*length(v)。
步骤2、若染色体不满足第一约束条件或第二约束条件,则将该条染色体的适应度取值设为0。
步骤3、若染色体满足第一约束条件和第二约束条件,则利用适应度函数,计算该条染色体的适应度取值。
适应度函数为Fitness=exp(-score)=exp(-IdxSetCost(IxOP_tc_Set,vcur));
其中,vcur为该条染色体,IxOP_tc_Set为索引访问操作采样集合,score为索引访问操作采样集合基于该条染色体的性能损耗,性能损耗包括范围扫描损耗和回表通信损耗。
在分布策略v下索引操作op的范围扫描损耗IdxRangeCost(op,v)为IdxOP_tc_item中LeafID序列通过v映射后数据节点编号变化次数;在分布策略v下索引操作op的回表通信损耗IdxRetTabCost(op,v)为IdxOP_tc_item中LeafID序列通过v映射后数据节点编号序列与TabID序列的编辑距离。通常,在分布策略v下索引操作op的性能损耗IdxCost(op,v)可以采用如下公式计算:
IdxCost(op,v)=IdxRangeCost(op,v)+IdxRetTabCost(op,v)。
因此,在分布策略v下索引访问操作采样集合IxOP_tc_Set的性能损耗为:
IdxSetCost(IxOP_tc_Set,v)=∑IdxCost(op,v)
op=IxOP_tc_item
示例性的,如果IxOP_tc_Set={op10001,op30002}、
vcur={leaf1:data7,leaf2:data7,leaf3:data7,leaf4:data7,leaf5:data5,leaf6:data6}
则score=IdxCost(op10001,vcur)+IdxCost(op30002,vcur)
=IdxRangeCost(op10001,vcur)+IdxRetTabCost(op10001,vcur)+
IdxRangeCost(op30002,vcur)+IdxRetTabCost(op30002,vcur)
=0+0+1+0=1
即Fitness=exp(-1)
S240、判断遗传算法是否结束。
其中,遗传算法结束的条件可以为进行第一预设次数的迭代操作后确定的目标染色体保持不变。第一预设次数的取值可以根据实际需要进行设置,如5次,10次。
S250、若遗传算法未结束,则对N条染色体进行迭代操作,并返回执行步骤S230。
具体的,对N条染色体进行迭代操作的方法可以包括如下两个步骤:
步骤1、将N条染色体的适应度取值按照从大到小的顺序依次排列。
步骤2、选取前(0,i%]的染色体进入下一轮迭代,并对前(i%,j%]的染色体执行交叉操作和/或变异操作后进入下一轮迭代,其中,0<i<j<100。
其中,i表示对精英方案的容纳程度,j表示对可选方案的容纳程度。即前(0,i%]的染色体为遗传算法的精英方案,前(i%,j%]的染色体为遗传算法的可选方案,(j%,100%]的染色体被舍弃。
交叉操作为在两个染色体之间进行的操作,定义为将两个染色体在第K位后进行取值交换。其中,k=rand(0,length(v))。
示例性的,假设染色体共有6个基因位,K取3,染色体1的6个基因位分别为777756,染色体2的6个基因位分别为233111,那么,对染色体1和染色体2执行交叉操作为:将染色体1的后三个基因位756和染色体2的后三个基因位111互换,得到两个新的染色体,分别为777111和233756,新的染色体进入下一轮迭代。
变异操作为在一个染色体上进行的操作,定义为对该染色体的每一个基因位以概率p进行跳变,跳变范围是所有可选主机编号。例如,p=1%。
假设N=30,i=10,j=50,那么在一次迭代操作中,前10%的染色体(也就是适应度取值排在前3的染色体)可以直接进入下一轮迭代,前(10%,50%]的染色体(也就是适应度取值排在第4至第15的染色体)执行交叉操作和/或变异操作后进入下一轮迭代,第4至第15的染色体执行交叉操作和/或变异操作后一共得到27条染色体,以保证进入下一轮迭代的染色体的总数仍为30条。
S260、若遗传算法结束,则将目标染色体设为全局索引的目标分布策略。
S270、根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
具体的,调整叶子节点的分布的方法可以包括如下两个步骤:
步骤1、判断叶子节点在当前分布策略和目标分布策略中的位置是否相同。
步骤2、若叶子节点在当前分布策略和目标分布策略中的位置不同,则将叶子节点的数据迁移到目标分布策略对应的位置,并维护叶子节点之间的跨节点指针链接。
图8示出了一实施例提供的一种基于强化学习算法的全局索引的分布策略调整方法的流程示意图,本实施例提供的方法适用于计算机设备,该方法包括如下步骤。
S310、获取索引访问操作采样集合。
示例性的,计算机设备获取索引访问操作采样集合的方法可以包括如下两个步骤:
步骤1、由数据库执行引擎记录每次全局索引操作的行为历史(即索引访问操作记录),并进行编号,填充IdxOP_tc_item结构体。
例如,{10001,{leaf1,leaf2,leaf3},{}}表示编号10001的索引操作访问了叶子节点leaf1、leaf2、leaf3,没有回表操作;{30002,{leaf5,leaf6},{Data5,Data6}}表示编号30002的索引操作访问了叶子节点leaf5、leaf6,此外leaf5回表访问了数据节点Data5、leaf6回表访问了数据节点Data6。
步骤2、执行索引访问操作采样算法OPSAMPLING(maxSetNum),刷新IxOP_tc_Set。
其中IxOP_tc_Set的最大规模maxSetNum可以设置为10000,具体算法可以参见上述步骤S110中的描述,以上索引访问操作采样算法可以保证每个IdxOP_tc_item有同样的概率被采样到IxOP_tc_Set中,从而保证了最终结果的准确性。
S320、初始化行为价值表Q。
其中,行为价值表Q是一个二维数组,行为价值表Q中包括不同全局索引的分布策略下执行叶子节点重分配的评价得分,即Q[i,j]表示状态Si下行为Aj的评价得分,S定义为状态空间,S中的成员均为不同的全局索引的分布策略,A定义为行为控制,A中的成员都是对某个叶子节点进行重分配(范围是所有的可选主机)行为(每个行为只进行一次某个叶子节点的重分配动作)。
具体的,初始化行为价值表Q的方法可以包括如下三个步骤:
步骤1、将当前分布策略设置为初始化状态Sinit。
步骤2、初始化选择行为控制Ainit。
具体的,初始化选择行为控制Ainit的方法可以为:根据初始化状态Sinit,以eps概率选择行为价值表Q中状态Sinit下最高评价得分所在动作Ainit;或者,以1-eps概率随机选择动作Ainit。
eps概率是决定系统采用当前搜索策略“利用-开发”的平衡关系,eps概率的取值可以根据实际需要进行设计。例如,本发明中eps概率设为0.75。
步骤3、令Ac=Ainit;Sc=Sinit,执行Ac中的行为,完成Sc状态跳变。
S330、计算行为价值表Q的奖励值。
即上周期内执行Ac的奖励值。
S340、判断强化学习算法是否结束。
其中,强化学习算法结束的条件可以为行为价值表Q的奖励值在进行第二预设次数的更新后均无变化,或者执行第三预设次数的行为价值表Q的更新。第二预设次数的取值可以根据实际需要进行设置,如5次,10次。第三预设次数的取值可以根据实际需要进行设置,如10000次。
S350、若强化学习算法未结束,则对行为价值表Q进行更新,返回执行步骤330。
具体的,对行为价值表Q进行更新的步骤可以包括如下四个步骤:
步骤1、设置状态Snext为当前全局索引分布策略。
步骤2、选选择行为控制Anext。
具体的,选择行为控制Anext的方法可以为:根据状态Snext,以eps概率选择行为价值表Q中、状态Snext下最高评价得分所在动作Anext;或者,以1-eps概率随机选择Snext下动作Anext。
步骤3、行为价值学习:
Q[Sc,Ac]=Q[Sc,Ac]+LearningRate*(R+0.5*Q[Snext,Anext]-Q[Sc,Ac])
其中,LearningRate为学习率,决定对行为价值表Q的更新效率,本发明中LearningRate设为0.1。
步骤4、令Ac=Anext;Sc=Snext,继续进行Sc状态跳变。
S360、若强化学习算法结束,则从行为价值表Q中获取全局索引的目标分布策略。
目标分布策略vbest=argmax(avg(Q[vbest,])),即行为价值表Q中以行为单位进行平均值计算,该均值最大的行所在方案就是目标分布策略。
S370、根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
具体的,调整叶子节点的分布的方法可以包括如下两个步骤:
步骤1、判断叶子节点在当前分布策略和目标分布策略中的位置是否相同。
步骤2、若叶子节点在当前分布策略和目标分布策略中的位置不同,则将叶子节点的数据迁移到目标分布策略对应的位置,并维护叶子节点之间的跨节点指针链接。
本发明实施例提供一种全局索引的分布策略调整方法,包括:获取索引访问操作采样集合;根据索引访问操作采样集合,利用遗传算法或者强化学习算法获取全局索引的目标分布策略;根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。其通过索引访问操作采样集合,利用遗传算法或者强化学习算法动态获取全局索引的目标分布策略,以调整叶子节点的分布。这样一来,实现了根据实际访问模式动态调整全局索引的分布,使得全局索引的分布更加合理,以提高分布式数据库全局索引的性能。
图9示出了一实施例提供的一种全局索引的分布策略调整装置的结构示意图,如图9所示,包括:获取模块10,计算模块11和调整模块12;
获取模块10,设置为获取索引访问操作采样集合;
计算模块11,设置为根据索引访问操作采样集合,获取全局索引的目标分布策略;
调整模块12,设置为根据目标分布策略,调整叶子节点的分布,其中,叶子节点用于部署全局索引。
本实施例提供的全局索引的分布策略调整装置为实现上述实施例的全局索引的分布策略调整方法,本实施例提供的全局索引的分布策略调整装置实现原理和技术效果类似,此处不再赘述。
在一实施例中,索引访问操作采样集合包括多条索引访问操作记录;
一条索引访问操作记录包括一次索引访问操作的编号、该次索引访问操作所访问的叶子节点编号序列,以及该次索引访问操作请求执行后回表访问的数据节点编号序列;其中,
叶子节点编号序列按照该次索引访问操作所访问的叶子节点的顺序依次排列,数据节点编号序列按照叶子节点编号序列中每个叶子节点对应的数据节点的顺序依次排列。
在一实施例中,计算模块11,是设置为初始化遗传算法的N条染色体,其中,一条染色体为一种全局索引的分布策略;计算N条染色体的适应度取值,并确定目标染色体,其中,目标染色体为N条染色体中适应度取值最高的染色体;对N条染色体进行迭代操作,返回执行计算N条染色体的适应度取值,并确定目标染色体的步骤,直至进行第一预设次数的迭代操作后确定的目标染色体不变为止,将目标染色体设为全局索引的目标分布策略。
在一实施例中,计算模块11,是设置为判断每条染色体是否满足第一约束条件和第二约束条件,其中,第一约束条件为一台主机可容纳的叶子节点上限,第二约束条件为当前分布策略与该条染色体的编辑距离上限;若染色体不满足第一约束条件或第二约束条件,则将该条染色体的适应度取值设为0;若染色体满足第一约束条件和第二约束条件,则利用适应度函数,计算该条染色体的适应度取值。
在一实施例中,适应度函数为:
Fitness=exp(-score)=exp(-IdxSetCost(IxOP_tc_Set,vcur));
其中,vcur为该条染色体,IxOP_tc_Set为索引访问操作采样集合,score为索引访问操作采样集合基于该条染色体的性能损耗,性能损耗包括范围扫描损耗和回表通信损耗。
在一实施例中,计算模块11,是设置为将N条染色体的适应度取值按照从大到小的顺序依次排列;选取前(0,i%]的染色体进入下一轮迭代,并对前(i%,j%]的染色体执行交叉操作和/或变异操作后进入下一轮迭代,其中,0<i<j<100。
在一实施例中,计算模块11,是设置为初始化行为价值表Q,其中,行为价值表Q中包括不同全局索引的分布策略下执行叶子节点重分配的评价得分;计算行为价值表Q的奖励值;对行为价值表Q进行更新,返回执行计算行为价值表Q的奖励值的步骤,直至行为价值表Q的奖励值在进行第二预设次数的更新后均无变化为止,或者直至执行第三预设次数的行为价值表Q的更新为止,从行为价值表Q中获取全局索引的目标分布策略。
在一实施例中,调整模块12,是设置为判断叶子节点在当前分布策略和目标分布策略中的位置是否相同;若叶子节点在当前分布策略和目标分布策略中的位置不同,则将叶子节点的数据迁移到目标分布策略对应的位置,并维护叶子节点之间的跨节点指针链接。
本发明实施例还提供了一种计算机设备,包括:处理器,处理器用于在执行计算机程序时实现如本发明任意实施例所提供的方法。图10为一实施例提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括处理器60、存储器61和通信接口62;计算机设备中处理器60的数量可以是一个或多个,图10中以一个处理器60为例;计算机设备中的处理器60、存储器61、通信接口62可以通过总线或其他方式连接,图10中以通过总线连接为例。总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器61作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行计算机设备的至少一种功能应用以及数据处理,即实现上述的全局索引的分布策略调整方法。
存储器61可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信接口62可设置为数据的接收与发送。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本发明任意实施例所提供的方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质包括(非穷举的列表):具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(electrically erasable,programmable Read-Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,数据信号中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或多种程序设计语言组合来编写用于执行本公开操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Ruby、Go,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本发明的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本发明不限于此。
本发明的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本发明附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (7)

1.一种全局索引的分布策略调整方法,其特征在于,包括:
获取索引访问操作采样集合;
根据所述索引访问操作采样集合,获取全局索引的目标分布策略;
根据所述目标分布策略,调整叶子节点的分布,其中,所述叶子节点用于部署所述全局索引;
其中,所述获取全局索引的目标分布策略,包括:
初始化遗传算法的N条染色体,其中,一条染色体为一种全局索引的分布策略;
计算所述N条染色体的适应度取值,并确定目标染色体,其中,所述目标染色体为所述N条染色体中适应度取值最高的染色体;
对所述N条染色体进行迭代操作,返回执行计算所述N条染色体的适应度取值,并确定目标染色体的步骤,直至进行第一预设次数的迭代操作后确定的所述目标染色体不变为止,将所述目标染色体设为所述全局索引的目标分布策略;
其中,所述计算所述N条染色体的适应度取值,包括:
判断每条染色体是否满足第一约束条件和第二约束条件,其中,所述第一约束条件为一台主机可容纳的叶子节点上限,所述第二约束条件为当前分布策略与该条染色体的编辑距离上限;
若染色体不满足所述第一约束条件或所述第二约束条件,则将该条染色体的适应度取值设为0;
若染色体满足所述第一约束条件和所述第二约束条件,则利用适应度函数,计算该条染色体的适应度取值;
其中,所述适应度函数为Fitness=exp(-score)=exp(-IdxSetCost(IxOP_tc_Set,vcur));
其中,vcur为该条染色体,IxOP_tc_Set为所述索引访问操作采样集合,score为所述索引访问操作采样集合基于该条染色体的性能损耗,所述性能损耗包括范围扫描损耗和回表通信损耗;
其中,在分布策略v下索引操作op的范围扫描损耗IdxRangeCost(op,v)为IdxOP_tc_item中LeafID序列通过v映射后数据节点编号变化次数;
在分布策略v下索引操作op的回表通信损耗IdxRetTabCost(op,v)为IdxOP_tc_item中LeafID序列通过v映射后数据节点编号序列与TabID序列的编辑距离;
在分布策略v下索引操作op的性能损耗IdxCost(op,v)采用如下公式计算:IdxCost(op,v)=IdxRangeCost(op,v)+IdxRetTabCost(op,v);
在分布策略v下索引访问操作采样集合IxOP_tc_Set的性能损耗为:
Idx.SetCost(IxOP_tc_Set,v)=∑IdxCost(op,v)
op=IxOP_tc_item;
其中,IdxOP_tc_item是索引访问操作记录,LeafID是索引扫描过程中抵达的叶子节点编号,TabID是本次索引访问请求执行后回表访问的分布式数据节点编号。
2.根据权利要求1所述的全局索引的分布策略调整方法,其特征在于,所述索引访问操作采样集合包括多条索引访问操作记录;
一条所述索引访问操作记录包括一次索引访问操作的编号、该次索引访问操作所访问的叶子节点编号序列,以及该次索引访问操作请求执行后回表访问的数据节点编号序列;其中,
所述叶子节点编号序列按照该次索引访问操作所访问的叶子节点的顺序依次排列,所述数据节点编号序列按照所述叶子节点编号序列中每个叶子节点对应的数据节点的顺序依次排列。
3.根据权利要求1所述的全局索引的分布策略调整方法,其特征在于,对所述N条染色体进行迭代操作,包括:
将所述N条染色体的适应度取值按照从大到小的顺序依次排列;
选取前(0,i%]的染色体进入下一轮迭代,并对前(i%,j%]的染色体执行交叉操作和/或变异操作后进入下一轮迭代,其中,0<i<j<100。
4.根据权利要求1所述的全局索引的分布策略调整方法,其特征在于,所述获取全局索引的目标分布策略,包括:
初始化行为价值表Q,其中,所述行为价值表Q中包括不同全局索引的分布策略下执行叶子节点重分配的评价得分;
计算所述行为价值表Q的奖励值;
对所述行为价值表Q进行更新,返回执行计算所述行为价值表Q的奖励值的步骤,直至所述行为价值表Q的奖励值在进行第二预设次数的更新后均无变化为止,或者直至执行第三预设次数的所述行为价值表Q的更新为止,从所述行为价值表Q中获取全局索引的目标分布策略。
5.根据权利要求1所述的全局索引的分布策略调整方法,其特征在于,所述调整叶子节点的分布,包括:
判断所述叶子节点在当前分布策略和所述目标分布策略中的位置是否相同;
若所述叶子节点在当前分布策略和所述目标分布策略中的位置不同,则将所述叶子节点的数据迁移到所述目标分布策略对应的位置,并维护所述叶子节点之间的跨节点指针链接。
6.一种计算机设备,其特征在于,包括:处理器,所述处理器用于在执行计算机程序时实现如权利要求1-5中任一所述的全局索引的分布策略调整方法。
7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的全局索引的分布策略调整方法。
CN202010622427.0A 2020-06-30 2020-06-30 全局索引的分布策略调整方法、计算机设备及存储介质 Active CN113868242B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010622427.0A CN113868242B (zh) 2020-06-30 2020-06-30 全局索引的分布策略调整方法、计算机设备及存储介质
PCT/CN2021/101422 WO2022001742A1 (zh) 2020-06-30 2021-06-22 全局索引的分布策略调整方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010622427.0A CN113868242B (zh) 2020-06-30 2020-06-30 全局索引的分布策略调整方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113868242A CN113868242A (zh) 2021-12-31
CN113868242B true CN113868242B (zh) 2023-03-21

Family

ID=78980855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010622427.0A Active CN113868242B (zh) 2020-06-30 2020-06-30 全局索引的分布策略调整方法、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN113868242B (zh)
WO (1) WO2022001742A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1302870A2 (en) * 2001-10-12 2003-04-16 NCR International, Inc. Index selection in a database system
WO2018140657A1 (en) * 2017-01-25 2018-08-02 Whitehead Institute For Biomedical Research Methods for building genomic networks and uses thereof
CN111247537A (zh) * 2017-10-06 2020-06-05 深立方有限公司 紧凑且高效的稀疏神经网络的系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171618B2 (en) * 2003-07-30 2007-01-30 Xerox Corporation Multi-versioned documents and method for creation and use thereof
US20080154808A1 (en) * 2006-10-20 2008-06-26 Genalytics, Inc. Use and construction of time series interactions in a predictive model
TWI391839B (zh) * 2009-01-17 2013-04-01 Univ Nat Taiwan Science Tech 半導體產業之資源分派系統及方法
CN101645888B (zh) * 2009-06-02 2012-11-21 中国科学院声学研究所 一种基于访问频度变长逻辑分段的数据分发方法
US20130317755A1 (en) * 2012-05-04 2013-11-28 New York University Methods, computer-accessible medium, and systems for score-driven whole-genome shotgun sequence assembly
CN104133903B (zh) * 2014-08-04 2017-05-17 华中科技大学 一种基于隐私保护的数据索引方法
CN104849698B (zh) * 2015-05-21 2017-04-05 中国人民解放军海军工程大学 一种基于异构多核系统的雷达信号并行处理方法及系统
CN105117461B (zh) * 2015-08-24 2018-10-02 昆明理工大学 一种基于改进的遗传算法的查询优化方法
CN106886460B (zh) * 2017-02-22 2021-07-20 北京百度网讯科技有限公司 负载均衡方法和装置
CN107341203A (zh) * 2017-06-22 2017-11-10 北京北信源软件股份有限公司 一种分布式搜索引擎的访问控制和索引优化方法与装置
CN109977028A (zh) * 2019-04-08 2019-07-05 燕山大学 一种基于遗传算法和随机森林的软件缺陷预测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1302870A2 (en) * 2001-10-12 2003-04-16 NCR International, Inc. Index selection in a database system
WO2018140657A1 (en) * 2017-01-25 2018-08-02 Whitehead Institute For Biomedical Research Methods for building genomic networks and uses thereof
CN111247537A (zh) * 2017-10-06 2020-06-05 深立方有限公司 紧凑且高效的稀疏神经网络的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. A. Roberts.Evolutionary Multi-objective Optimization for landscape system design.2010,第13卷299-326. *
修俊侨.云计算资源调度策略的研究.2015,I140-92. *

Also Published As

Publication number Publication date
WO2022001742A1 (zh) 2022-01-06
CN113868242A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
Sevinç et al. An evolutionary genetic algorithm for optimization of distributed database queries
US10810179B2 (en) Distributed graph database
US20210271711A1 (en) Vectorized queues for shortest-path graph searches
US10956417B2 (en) Dynamic operation scheduling for distributed data processing
CN103970604A (zh) 基于MapReduce架构实现图处理的方法和装置
US9015440B2 (en) Autonomous memory subsystem architecture
Bai et al. Efficient data loader for fast sampling-based GNN training on large graphs
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
US20160378765A1 (en) Concept expansion using tables
US11456946B2 (en) Regular path queries (RPQS) for distributed graphs
US11966356B2 (en) Efficient usage of one-sided RDMA for linear probing
CN110837567A (zh) 实现知识图谱嵌入的方法和系统
Fan et al. Graph algorithms: parallelization and scalability
CN108320019A (zh) 用于深度卷积神经网络的卷积计算方法及装置
CN109189994B (zh) 一种面向图计算应用的cam结构存储系统
Zakian et al. Incrementalization of vertex-centric programs
US20150178328A1 (en) Client-Side Directed Commands to a Loosely Coupled Database
CN106250327B (zh) 一种在键-值存储中热点识别方法及装置
US9348766B2 (en) Balanced P-LRU tree for a “multiple of 3” number of ways cache
CN113868242B (zh) 全局索引的分布策略调整方法、计算机设备及存储介质
CN114064235A (zh) 多任务教与学优化方法、系统及设备
CN118012602A (zh) 一种基于平衡多叉树的分布式集群数据均衡方法
CN108228323A (zh) 基于数据本地性的Hadoop任务调度方法及装置
CN111832144B (zh) 一种全振幅量子计算模拟方法
CN112232401A (zh) 一种基于差分隐私及随机梯度下降的数据分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20220207

Address after: 100176 floor 18, building 8, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone)

Applicant after: Jinzhuan Xinke Co.,Ltd.

Address before: 518057 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen

Applicant before: ZTE Corp.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant