CN107133228A - 一种数据重分布的方法及装置 - Google Patents

一种数据重分布的方法及装置 Download PDF

Info

Publication number
CN107133228A
CN107133228A CN201610109478.7A CN201610109478A CN107133228A CN 107133228 A CN107133228 A CN 107133228A CN 201610109478 A CN201610109478 A CN 201610109478A CN 107133228 A CN107133228 A CN 107133228A
Authority
CN
China
Prior art keywords
data
node
unit
value
use temperature
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
CN201610109478.7A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610109478.7A priority Critical patent/CN107133228A/zh
Priority to PCT/CN2017/074121 priority patent/WO2017143957A1/zh
Publication of CN107133228A publication Critical patent/CN107133228A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及数据存储技术领域,公开了一种数据重分布的方法及装置,该方法为:在对外提供服务期间时,统计数据的使用热度,在确定需要进行数据重分布时,暂停数据库服务器的对外服务,使业务暂时中断,将数据库服务器上的热点数据先进行迁移,在热点数据迁移完毕后,恢复数据库服务器的对外服务,在后台继续迁移非热点数据。这样,大大缩小了数据重分布占用的时间,缩短了因数据重分布而业务中断的时间。

Description

一种数据重分布的方法及装置
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据重分布的方法及装置。
背景技术
随着大数据时代的到来,对于海量数据的存储处理越来越重要。目前,主要采用数据库集群来存储海量数据。所谓数据库集群,就是利用多台数据库服务器构成一个虚拟单一数据库逻辑映像,像单数据库服务器系统一样向客户端提供透明的数据服务。
数据库集群中的一台数据库服务器可以称为一个存储节点,数据库集群中有多个存储节点和一个数据管理节点,数据管理节点也可以和存储节点合设,通常按照一定的算法将数据块分散存储在各个存储节点上,常用的算法有哈希算法、轮转算法和随机算法等,在数据管理节点中存储所有存储节点中所有数据块的数据块标识及其对应的地址。
为应对业务弹性扩展的需求,数据库集群需要随时扩容。扩容时需要对原有的存储数据进行重分布,以充分利用新增的存储节点。数据重分布的过程需要按照最新的存储节点数量,采用一定的算法重新计算,部分数据会被迁移到新增的存储节点上。
目前的扩容技术大多是停机扩容,也就是在扩容时中断数据库集群的服务,使得业务中断。然而数据重分布的过程,大量数据的迁移需要花费很长时间,这样,造成了业务中断的时间较长。
发明内容
本申请实施例提供一种数据重分布的方法及装置,用以缩短数据重分布过程中业务中断的时间。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种数据重分布的方法,包括:在确定需要进行数据重分布时,将待迁移数据的当前存储节点和所述待迁移数据的目标存储节点的状态均由可对外提供服务设置为不可对外提供服务;在所述当前存储节点为不可对外提供服务的状态下,基于在所述当前存储节点对外提供服务期间时所记录的所述待迁移数据的使用热度,将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点;所述使用热度用于表征所述待迁移数据被使用的次数;将所述当前存储节点和所述目标存储节点的状态由所述不可对外提供服务切换回可对外提供服务。
所述第一组数据可以称为热点数据,所述预设阈值为根据经验值设置的区分所述待迁移数据中热点数据和非热点数据的临界值。这样通过在存储节点停止服务时先迁移热点数据,一旦迁移完热点数据就将存储节点恢复服务,大大缩小了因数据重分布而影响业务中断的时间,有效提升了数据库集群的系统性能。
结合第一方面,在第一方面的第一种可能的实现方式中,在进行所述数据重分布之前,还包括:在所述当前存储节点对外提供服务期间时,对所述当前存储节点的数据存储模型下的每一个单位分别记录一个使用热度;其中,在任意一个单位建立时,针对所述任意一个单位记录一个初始的使用热度,每当所述任意一个单位被使用一次时,更新所述任意一个单位对应的使用热度。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述数据存储模型包括数据表、数据页、数据记录中的任意一种;所述一个单位为一张数据表、一张数据页或一条数据记录。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:在所述当前存储节点对外提供服务期间时,针对所述当前存储节点的数据存储模型下的所有单位的使用热度设置N个等级,N≥2,N为正整数;将所述当前存储节点最后一次更新使用热度后所有所述单位的使用热度中的最高值,设置为所述N个等级中的最高等级的值;基于所述最高等级的值,按递减规则设置所述N个等级中除所述最高等级之外的(N-1)个等级的值;其中,每更新一个单位对应的使用热度,将更新的使用热度与所述最高等级的值相比较,在所述更新的使用热度大于所述最高等级的值时,将所述最高等级的值更新为所述更新的使用热度。
较佳的,进一步按照更新后的最高等级的值,将所述(N-1)个等级的值依次进行更新;或者,进一步判断本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值是否大于设置的差值阈值,在判定本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值大于设置的差值阈值时,将所述(N-1)个等级的值依次进行更新。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述预设阈值为所述N个等级中第n个等级的值,1≤n≤N,n为正整数;所述将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点,具体包括:遍历在所述数据存储模型下存储待迁移数据的每一个单位;其中,每选定一个单位,将当前选定的单位的使用热度与所述第n个等级的值进行比较;若所述当前选定的单位的使用热度大于所述第n个等级的值,则将所述当前选定的单位迁移到所述目标存储节点。
如第一方面所述,所述预设阈值为根据经验值设置的区分所述待迁移数据中热点数据和非热点数据的临界值,一般在数据库应用中,热点数据大概占所有数据的20%左右,因此,应用本申请中提供的方法,当选取的第n个等级的值可以实现使得上述第一组数据接近数据库应用中常规意义的热点数据时,就可以实现迁移热点数据占用的时间小于迁移所有数据占用的时间,从而节省了数据迁移所占用的时间。
结合第一方面和第一方面的第一种至第四种可能实现的方式,在第一方面的第五种可能的实现方式中,将所述当前存储节点和所述目标存储节点的状态由不可对外服务切换为可对外提供服务之后,还包括:在所述当前存储节点和所述目标存储节点的后台服务中,将所述待迁移数据中使用热度不大于预设阈值的第二组数据迁移到所述目标存储节点。
所述第二组数据也可以称为非热点数据,由于在存储节点恢复使用后的一段时间内接收到的数据访问请求大多数为热点数据的访问请求,因此,将存储节点设置为可对外提供服务之后,在后台继续迁移非热点数据,可以有效减小因迁移数据对数据库的正常服务带来的影响。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,还包括:在迁移所述第二组数据的过程中,在接收到数据访问请求时,按照第一路由方式定位到所述目标存储节点;所述第一路由方式为进行所述数据重分布之后的路由方式;若所述目标存储节点中存在所述数据访问请求涉及的访问数据,则对所述目标存储节点中存储的所述访问数据进行操作;若所述目标存储节点中不存在所述数据访问请求涉及的所述访问数据,则,按照第二路由方式定位到所述当前存储节点,对所述当前存储节点中存储的所述访问数据进行操作;所述第二路由方式为进行所述数据重分布之后的路由方式。
如上所述,由于在存储节点恢复使用后的一段时间内接收到的数据访问请求大多数为热点数据的访问请求,因此,采用上述方法,可以减小在接收到访问请求后访问失败的几率。
第二方面,提供一种数据重分布的装置,该数据重分布的装置具有实现上述第一方面和第一方面的第一种至第六种可能的实现方式中的任一种方法设计的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供一种数据重分布的装置,包括存储器和处理器,其中,所述存储器用于存储一组程序,所述处理器用于调用所述存储器存储的程序以执行如上述第一方面和第一方面的第一种至第六种可能的实现方式中的任一种所述的方法。
第四方面,提供了一种计算机存储介质,用于储存为上述第二方面或第三方面所述的数据重分布装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
本申请提供的方案,能够缩短在数据重分布过程中业务中断的时间,提高数据库服务器集群的系统性能。
附图说明
图1为本申请实施例中数据重分布的系统架构图;
图2为本申请实施例中数据重分布的方法流程图;
图3a和图3b为本申请实施例中一种应用场景下数据重分布的示意图;
图4为本申请实施例中数据重分布的装置结构图之一;
图5为本申请实施例中数据重分布的装置结构图之二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请实施例任意存储系统,较佳的可以应用于分布式存储系统,例如数据库集群。参阅图1所示,分布式存储系统中有多个存储节点和一个数据管理节点,数据管理节点也可以和存储节点合设,例如一个存储节点可以是一个数据库服务器。本申请实施例以应用于数据库集群为例进行介绍,以下叙述中,一个存储节点在概念上可以等同于一个数据库服务器。
为了缩短在数据重分布过程中业务中断的时间,提高数据库服务器集群的系统性能,本申请实施例提供了一种数据重分布的方法,在存储节点对外提供服务期间时,统计数据的使用热度,在确定需要进行数据重分布时,暂停对外提供服务,也就是使业务暂时中断,将数据库服务器上的热点数据先进行迁移,在热点数据迁移完毕后,恢复数据库服务器的对外服务,在后台继续迁移非热点数据。本申请中,用迁移部分数据替换迁移全部数据,在一定程度上减少了迁移数据的时间,缩短了业务中断的时间,又因为在数据重分布以后的一段时间内,热点数据的访问几率远远大于非热点数据的访问几率,因此,可以减小因迁移数据对数据库的正常服务带来的影响。
以下将结合附图对本申请优选的实施例进行详细介绍。
参阅图2所示,本申请实施例中,数据重分布的具体流程如下。执行以下数据重分步方法的执行主体可以是待迁移数据的当前存储节点,也可以是数据重分布系统中的数据管理节点。
在201部分,在确定需要进行数据重分布时,将待迁移数据的当前存储节点和所述待迁移数据的目标存储节点的状态均由可对外提供服务设置为不可对外提供服务,即设置为不可用。
其中,所述当前存储节点为所述待迁移数据所在的存储节点。存储节点有两种工作状态,可对外提供服务和不可对外提供服务,其中,可对外提供服务可以理解为存储节点上的数据可读且可写,不可对外提供服务可以理解为不可读且不可写,或者只读。
数据库集群在进行扩容时,会在原数据库集群中添加新的存储节点(即数据库服务器),在原数据库集群中的存储节点上存储的数据可能会有一部分被迁移到新的存储节点上,以充分利用新的存储节点的存储能力,这种数据迁移的过程也就是数据重分布的过程。另外,数据库集群在删除存储节点时,同样也会涉及数据重分布的过程。
确定需要进行数据重分布时,可以获得受影响的存储节点和受影响的数据,需要先将受影响的存储节点暂停对外提供服务(也就是设置为不可对外提供服务),以避免在数据迁移过程中出现数据访问错误等问题。
在202部分,在所述当前存储节点为不可对外提供服务的状态下,基于在所述当前存储节点可对外提供服务期间所记录的所述待迁移数据的使用热度,将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点。
其中,所述使用热度用于表征所述待迁移数据被使用的次数,被使用的情况包括:增加数据、删除数据、修改数据、查询数据等。
所述预设阈值为根据经验值设置的区分所述待迁移数据中热点数据和非热点数据的临界值。一般来说,热点数据占整个待迁移数据的20%左右,因此,所述预设阈值可根据经验值进行设定,并可在使用过程中不断更新优化。
在203部分,在迁移完所述第一组数据后,将所述当前存储节点和所述目标存储节点的状态由所述不可对外提供服务切换回可对外提供服务。并且,在后台继续将所述待迁移数据中使用热度不大于预设阈值的第二组数据迁移到所述目标存储节点。
实际应用中,为了方便对数据进行管理和操作,数据库中的数据可以以多层逻辑上的数据存储模型进行存储,例如,数据存储模型至少可以包括数据表、数据页和数据记录三个逻辑概念。一个存储节点中存储的数据可以分为多个数据表,每一张数据表中包含多个数据页,每一张数据页中包含多条数据记录。数据存储模型下的一个单位可以为一张数据表、一张数据页或者一条数据记录。
下面将结合上述201部分~203部分,具体介绍本申请实施例中的数据重分布的实现方式。
第一部分,在数据迁移之前,在上述当前存储节点的对外提供服务期间时,记录该存储节点的数据的使用热度,以及针对该存储节点的数据的使用热度设置等级。
其一,记录上述当前存储节点的数据的使用热度的具体方式如下所述。
在上述当前存储节点对外提供服务期间时,对该存储节点的数据存储模型下的每一个单位分别记录一个使用热度,其中,在任意一个单位建立时,针对所述任意一个单位记录一个初始的使用热度,每当所述任意一个单位被使用一次时,将所述任意一个单位对应的使用热度进行更新。
其中,本申请实施例中,数据库集群中包含多个存储节点,在任意一个存储节点对外提供服务期间的过程中,对任意一个存储节点数据存储模型下的每一个单位分别记录其对应的数据的使用热度情况。记录方式与上述当前存储节点中的记录方式相同,本申请仅以上述当前存储节点为例进行介绍。
以数据存储模型为数据表为例,上述当前存储节点中包含m张数据表,假设用T1、T2、……、Tm表示,在该存储节点对外提供服务期间时,为每一张数据表对应的记录一个使用热度。
其中,在m张数据表中的任意一张数据表(例如T1)初始创建时,记录使用热度的初始值为0或者1;
当每针对数据表T1执行一次操作(例如增加、删除、改动、查询等操作),在现有的使用热度的值的基础上增加1。
其中,使用热度的记录的实现过程,可以但不限于采用在每一个数据表的表头增加一个使用热度(即hits)字段,通过hits字段来实现热度值的记录。
例如,在第一时刻针对上述当前存储节点中数据表的使用热度的记录情况如表1所示,数据表T1的使用热度为10000,数据表T2的使用热度为9800,数据表T3的使用热度为3400,……,数据表Tm的使用热度为1600。
表1
数据表 使用热度
T1 10000
T2 9800
T3 3400
…… ……
Tm 1600
数据存储模型为数据页或数据记录的使用热度的记录原理与数据表相同,重复之处不再赘述。本申请实施例中,可以选择为每一种数据存储模型下的单位维护对应的数据使用热度,当前,也可以选择其中一个或多个。
其二,针对上述当前存储节点的数据的使用热度设置等级的具体方式如下所述。
在上述当前存储节点对外提供服务期间时,针对该存储节点的数据存储模型下的所有单位的使用热度设置N个等级,N≥2,N为正整数;例如,N=10。
将记录的该存储节点的数据存储模型下的所有单位的使用热度中的最高值,设置为所述N个等级中的最高等级的值;
基于所述最高等级的值,按递减规则设置所述N个等级中除所述最高等级之外的(N-1)个等级的值;
其中,每更新一个单位对应的使用热度,将更新的使用热度与所述最高等级的值相比较,在所述更新的使用热度大于所述最高等级的值时,将所述最高等级的值更新为所述更新的使用热度。
较佳的,进一步按照更新后的最高等级的值,将所述(N-1)个等级的值依次进行更新;或者,进一步判断本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值是否大于设置的差值阈值,在判定本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值大于设置的差值阈值时,将所述(N-1)个等级的值依次进行更新。
例如,仍以数据存储模型为数据表为例,在上述第一时刻,上述当前存储节点中数据表的使用热度的记录情况如表1所示,由表1可知,数据表T1的使用热度为上述当前存储节点中所有数据表的使用热度中的最高值,为10000,则如表2所示,将N=10个等级中的最高等级(例如L10)设置为10000,则按照递减规则依次设置等级Lh的值,使得L10~L1的值呈现规律的递减模式,或者呈现其他有规律的模式,其中h为1-9,h为正整数。
Lh的值的设置方式可以采用但不限于Lh=h*N/10+N%10,其中,%为取余运算。例如,采取这种设置方式,则L9=9*10000/10+10000%10=9000;依次地,L8=8000;L7=7000;……;L1=1000。
表2
L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
假设在第二时刻,数据表T1的使用热度更新为10001,则如表3所示,将10001与最高等级的值10000进行比较,显然,将最高等级L10的值更新为10001,依次将L9~L1的值更新为9001、8001、……、1001。
表3
L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
1001 2001 3001 4001 5001 6001 7001 8001 9001 10001
第二部分、确定需要迁移数据时,将当前存储节点和目标存储节点的状态由可对外提供服务切换回不可对外提供服务后,将当前存储节点上的待迁移数据中使用热度大于预设阈值的第一组数据迁移到目标存储节点,然后恢复当前存储节点和目标存储节点的正常使用,并后台继续迁移当前存储节点上的待迁移数据中除第一组数据之外的第二组数据。
其中,当前存储节点和目标存储节点为数据重分布受影响的存储节点,当然,受影响的存储节点可以是一个,也可以是多个,本申请实施例以在数据重分布时,受影响的存储节点为一个当前存储节点和一个目标存储节点为例介绍的,当然多个受影响存储节点的方法是相同的。
这部分是本申请实施例中的核心部分,主要思想是先迁移热点数据,再后台迁移非热点数据,由于一般情况下,一个存储节点中的热点数据与非热点数据的比例大概为2:8,因此,在存储节点不可用时,只迁移热点数据,会大大缩短存储节点的不可用时间,也就减少了业务中断的时间,提升了系统的性能。
所述热点数据和非热点数据的辨别方式可以利用本申请上述提供的在存储节点对外提供服务期间时统计的数据使用热度,以及对数据的使用热度设置的等级来判断,具体地判断方式如下所述。
在确定当前存储节点中有数据需要迁移到目标存储节点时,遍历待迁移数据在存储模型下的每一个单位;其中,
每选定一个单位,将当前选定的单位的使用热度与所述第n个等级的值进行比较;
若所述当前选定的单位的使用热度大于所述第n个等级的值,则将所述当前选定的单位迁移到所述目标存储节点;
其中,所述预设阈值为所述N个等级中第n个等级的值,1≤n≤N,n为正整数。
其中,可以选择先比较再迁移的策略,即先将每一个单位的使用热度与所述第n个等级的值进行比较,在执行完所有单位的比较之后,筛选出使用热度大于所述第n个等级的值的单位进行迁移;也可以选择逐个比较逐个迁移的策略,即每比较一个单位,在所比较的单位的使用热度大于所述第n个等级的值时,将这个单位迁移到所述目标存储节点。
具体地,仍以存储模型为数据表为例,首先确定迁移的预设阈值,例如,将上述第一时刻的10个等级中第8个等级的值设置为预设阈值,也就是预设阈值为8000。预设阈值的选择可以根据经验不断的更新优化。
遍历待迁移数据中的每一张数据表,每选定一张数据表,获取选定的这张数据表的使用热度,并将这张数据表的使用热度与预设阈值进行比较,若大于预设阈值,则将这张数据表迁移到目标存储节点,若小于,则继续遍历下一张数据表,直到遍历所有数据表,就可以将待迁移数据中使用热度大于预设阈值的所有数据表迁移完毕。然后,在后台继续迁移未迁移的第二组数据。
例如,遍历到数据表T2,获取数据表T2的使用热度为9800,判断数据表T2的使用热度大于预设阈值8000,则将数据表T2迁移到目标存储节点;
遍历到数据表T3,获取数据表T3的使用热度为3400,判断数据表T3的使用热度小于预设阈值8000,则略过数据表T3,继续遍历数据表T4。
其中,在迁移所述第二组数据的过程中,在接收到数据访问请求时,按照第一路由方式定位到目标存储节点;所述第一路由方式为进行数据重分布之后的路由方式;
若目标存储节点中存在该数据访问请求涉及的访问数据,则对目标存储节点中存储的该访问数据进行操作;
若目标存储节点中不存在该数据访问请求涉及的访问数据,则,
按照第二路由方式定位到上述当前存储节点,对上述当前存储节点中存储的该访问数据进行操作;所述第二路由方式为进行数据重分布之前的路由方式。
其中,上述路由方式为确定将数据访问请求对应的访问数据定位到存储节点的路径的方法,可以采取现有技术中的任意一种路由方式,本申请不作限制。
本申请之所以这样设计,是因为,在热点数据迁移完毕,将存储节点设置为可对外提供服务,在之后接收到的数据访问请求大部分是访问热点数据,因此,首先按照数据重分布之后的新路由方式路由到目标存储节点,能够访问到热点数据的几率非常大。若目标存储节点中不存在访问数据,则再按照数据重分布之前的旧路由方式路由到原来的存储节点。之后还会存在两种情况,若访问数据在原来的存储节点上,则对访问数据进行操作;若访问数据不在原来的存储节点上,则访问失败。如此以来,访问失败的几率将会非常小。
下面结合具体的应用场景,对本申请实施例作进一步详细的说明。
假设本申请实施例中,采用一致性哈希算法将数据分散在各个存储节点,一致性哈希算法与现有技术相同,本申请实施例中不再赘述。
如图3a所示,圆环上的小圆圈代表存储节点,按照现有的一致性哈希算法,存储节点B中存储的数据包括key值映射到存储节点A和存储节点B之间的弧形区域的数据。
具体地,第1步,需要对数据进行操作时,对数据采用哈希函数计算出key值;
第2步,将key值映射到顺时针方向的第一个存储节点上,也就是存储节点B上;
那么,在存储节点B上相应的数据存储模型的单位上,将使用热度的值加1。例如,将对应的数据表的使用热度的值加1。接着,将执行加1计算之后的对应的数据表的使用热度值与存储节点B上数据表的最高等级的值进行比较,在大于最高等级的值时,将最高等级的值按照执行加1计算之后的对应的数据表的使用热度值进行更新,并依次更新其他等级的值。
如图3b所示,第3步,在图3a中存储节点的分布基础上加入了存储节点H,具体加在了存储节点A和存储节点B之间,那么必定会进行数据重分布。按照现有的一致性哈希的算法,数据重分布受影响的存储节点为存储节点H和存储节点B,受影响的数据范围为待迁移数据,待迁移数据为存储节点A和存储节点H之间的弧形区域。
第4步,在存储节点H加入之后,将存储节点H和存储节点B的状态由可对外提供服务设置为不可对外提供服务。
第5步,将待迁移数据中的热点数据迁移至存储节点H。
具体迁移方法与上述实施例中叙述的一致,重复之处不再赘述。
第6步,将存储节点H和存储节点B的状态由不可对外提供服务设置为可对外提供服务。
第7步,后台继续迁移非热点数据至存储节点H。
基于同一发明构思,如图4所示,本申请实施例还提供了一种数据重分布的装置400,包括:第一管理单元401,记录单元402,迁移单元403和第二管理单元404。其中:
第一管理单元401,用于在确定需要进行数据重分布时,将待迁移数据的当前存储节点和所述待迁移数据的目标存储节点的状态均由可对外提供服务设置为不可对外提供服务;
记录单元402,用于在所述当前存储节点对外提供服务期间时记录所述待迁移数据的使用热度;
迁移单元403,用于基于记录单元402记录的所述待迁移数据的使用热度,将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点;所述使用热度用于表征所述待迁移数据被使用的次数;
第二管理单元404,用于在所述迁移单元403将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点之后,将所述当前存储节点和所述目标存储节点的状态由所述不可对外提供服务切换回可对外提供服务。
可选的,所述记录单元402具体用于:
在所述当前存储节点对外提供服务期间时,对所述当前存储节点的数据存储模型下的每一个单位分别记录一个使用热度;
其中,在任意一个单位建立时,针对所述任意一个单位记录一个初始的使用热度,每当所述任意一个单位被使用一次时,更新所述任意一个单位对应的使用热度。
可选的,所述数据存储模型包括数据表、数据页、数据记录中的任意一种;所述一个单位为一张数据表、一张数据页或一条数据记录。
可选的,数据重分布的装置400还包括:
设置单元405,用于在所述当前存储节点对外提供服务期间时,针对所述当前存储节点的数据模型下的所有单位的使用热度设置N个等级,N≥2,N为正整数;以及,
将所述当前存储节点最后一次更新使用热度后所有所述单位的使用热度中的最高值,设置为所述N个等级中的最高等级的值;以及,
基于所述最高等级的值,按递减规则设置所述N个等级中除所述最高等级之外的(N-1)个等级的值;
其中,每更新一个单位对应的使用热度,将更新的使用热度与所述最高等级的值相比较,在所述更新的使用热度大于所述最高等级的值时,将所述最高等级的值更新为所述更新的使用热度;
较佳的,进一步按照更新后的最高等级的值,将所述(N-1)个等级的值依次进行更新;或者,进一步判断本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值是否大于设置的差值阈值,在判定本次更新后的最高等级的值与本次更新前的最高等级的值之间的差值大于设置的差值阈值时,将所述(N-1)个等级的值依次进行更新。
可选的,所述迁移单元403具体用于:
遍历在所述数据存储模型下存储待迁移数据的每一个单位,每选定一个单位,将当前选定的单位的使用热度与所述第n个等级的值进行比较,若所述当前选定的单位的使用热度大于所述第n个等级的值,则将所述当前选定的单位迁移到所述目标存储节点;
其中,所述预设阈值为所述N个等级中第n个等级的值,1≤n≤N,n为正整数。
可选的,所述迁移单元403还用于:
在所述当前存储节点和所述目标存储节点的后台服务中,将所述待迁移数据中使用热度不大于预设阈值的第二组数据迁移到所述目标存储节点。
可选的,数据重分布的装置400还包括:
路由单元406,用于在所述迁移单元403迁移所述第二组数据的过程中,在接收到数据访问请求时,按照第一路由方式定位到所述目标存储节点;所述第一路由方式为进行所述数据重分布之后的路由方式;或者,
按照第二路由方式定位到所述当前存储节点,所述第二路由方式为进行所述数据重分布之前的路由方式。
数据处理单元407,用于在所述路由单元406按照所述第一路由方式定位到所述目标存储节点之后,若所述目标存储节点中存在所述数据访问请求涉及的访问数据,则对所述目标存储节点中存储的所述访问数据进行操作;
若所述目标存储节点中不存在所述数据访问请求涉及的所述访问数据,则,在所述路由单元按照所述第二路由方式定位到所述当前存储节点之后,对所述当前存储节点中存储的所述访问数据进行操作。
基于同一发明构思,如图5所示,本申请实施例还提供了一种终端数据重分布的装置500,用于执行本申请实施例上述提供的数据重分布的方法,所述数据重分布的装置500包括存储器501和处理器502。其中,存储器501,用于存储一组程序;所述处理器502用于调用存储器501存储的程序,使得所述数据重分布的装置500可以执行本申请实施例上述提供的数据重分布的方法。
较佳的,数据重分布的装置500还包括总线503,收发器504,存储器501、处理器502和收发器504均与总线503连接,
处理器502可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
处理器502还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。
存储器501可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器501也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flashmemory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD);存储器501还可以包括上述种类的存储器的组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种数据重分布的方法,其特征在于,包括:
在确定需要进行数据重分布时,将待迁移数据的当前存储节点和所述待迁移数据的目标存储节点的状态均由可对外提供服务设置为不可对外提供服务;
在所述当前存储节点为不可对外提供服务的状态下,基于在所述当前存储节点对外提供服务期间所记录的所述待迁移数据的使用热度,将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点,所述使用热度用于表征所述待迁移数据被使用的次数;
将所述当前存储节点和所述目标存储节点的状态由所述不可对外提供服务切换回可对外提供服务。
2.如权利要求1所述的方法,其特征在于,在进行所述数据重分布之前,还包括:
在所述当前存储节点对外提供服务期间,对所述当前存储节点的数据存储模型下的每一个单位分别记录一个使用热度;
其中,在任意一个单位建立时,针对所述任意一个单位记录一个初始的使用热度,每当所述任意一个单位被使用一次时,更新所述任意一个单位对应的使用热度。
3.如权利要求2所述的方法,其特征在于,所述数据存储模型包括数据表、数据页、数据记录中的任意一种;所述一个单位为一张数据表、一张数据页或一条数据记录。
4.如权利要求2所述的方法,其特征在于,还包括:
在所述当前存储节点对外提供服务期间,针对所述当前存储节点的数据存储模型下的所有单位的使用热度设置N个等级,N≥2,N为正整数;
将所述当前存储节点最后一次更新使用热度后所有所述单位的使用热度中的最高值,设置为所述N个等级中的最高等级的值;
基于所述最高等级的值,按递减规则设置所述N个等级中除所述最高等级之外的(N-1)个等级的值;
其中,每更新一个单位对应的使用热度,将更新的使用热度与所述最高等级的值相比较,在所述更新的使用热度大于所述最高等级的值时,将所述最高等级的值更新为所述更新的使用热度。
5.如权利要求4所述的方法,其特征在于,所述预设阈值为所述N个等级中第n个等级的值,1≤n≤N,n为正整数;
所述将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点,具体包括:
遍历在所述数据存储模型下存储待迁移数据的每一个单位;其中,
每选定一个单位,将当前选定的单位的使用热度与所述第n个等级的值进行比较;
若所述当前选定的单位的使用热度大于所述第n个等级的值,则将所述当前选定的单位迁移到所述目标存储节点。
6.如权利要求1-5任一项所述的方法,其特征在于,将所述当前存储节点和所述目标存储节点的状态由不可对外提供服务切换回可对外提供服务之后,还包括:
在所述当前存储节点和所述目标存储节点的后台服务中,将所述待迁移数据中使用热度不大于预设阈值的第二组数据迁移到所述目标存储节点。
7.如权利要求6所述的方法,其特征在于,还包括:
在迁移所述第二组数据的过程中,在接收到数据访问请求时,按照第一路由方式定位到所述目标存储节点;所述第一路由方式为进行所述数据重分布之后的路由方式;
若所述目标存储节点中存在所述数据访问请求涉及的访问数据,则对所述目标存储节点中存储的所述访问数据进行操作;
若所述目标存储节点中不存在所述数据访问请求涉及的所述访问数据,则,
按照第二路由方式定位到所述当前存储节点,对所述当前存储节点中存储的所述访问数据进行操作;所述第二路由方式为进行所述数据重分布之后的路由方式。
8.一种数据重分布的装置,其特征在于,包括:
第一管理单元,用于在确定需要进行数据重分布时,将待迁移数据的当前存储节点和所述待迁移数据的目标存储节点的状态均由可对外提供服务设置为不可对外提供服务;
记录单元,用于在所述当前存储节点对外提供服务期间记录所述待迁移数据的使用热度;
迁移单元,用于在所述当前存储节点为不可对外提供服务的状态下,基于记录单元记录的所述待迁移数据的使用热度,将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点;所述使用热度用于表征所述待迁移数据被使用的次数;
第二管理单元,用于在所述迁移单元将所述待迁移数据中使用热度大于预设阈值的第一组数据迁移到所述目标存储节点之后,将所述当前存储节点和所述目标存储节点的状态由所述不可对外提供服务切换回可对外提供服务。
9.如权利要求8所述的装置,其特征在于,所述记录单元具体用于:
在所述当前存储节点对外提供服务期间时,对所述当前存储节点的数据存储模型下的每一个单位分别记录一个使用热度;
其中,在任意一个单位建立时,针对所述任意一个单位记录一个初始的使用热度,每当所述任意一个单位被使用一次时,更新所述任意一个单位对应的使用热度。
10.如权利要求9所述的装置,其特征在于,还包括:
设置单元,用于在所述当前存储节点对外提供服务期间时,针对所述当前存储节点的数据模型下的所有单位的使用热度设置N个等级,N≥2,N为正整数;以及,
将所述当前存储节点最后一次更新使用热度后所有所述单位的使用热度中的最高值,设置为所述N个等级中的最高等级的值;以及,
基于所述最高等级的值,按递减规则设置所述N个等级中除所述最高等级之外的(N-1)个等级的值;
其中,每更新一个单位对应的使用热度,将更新的使用热度与所述最高等级的值相比较,在所述更新的使用热度大于所述最高等级的值时,将所述最高等级的值更新为所述更新的使用热度。
11.如权利要求10所述的装置,其特征在于,所述迁移单元具体用于:
遍历在所述数据存储模型下存储待迁移数据的每一个单位,每选定一个单位,将当前选定的单位的使用热度与所述第n个等级的值进行比较,若所述当前选定的单位的使用热度大于所述第n个等级的值,则将所述当前选定的单位迁移到所述目标存储节点;
其中,所述预设阈值为所述N个等级中第n个等级的值,1≤n≤N,n为正整数。
12.如权利要求8-11任一项所述的装置,其特征在于,所述迁移单元还用于:
在所述当前存储节点和所述目标存储节点的后台服务中,将所述待迁移数据中使用热度不大于预设阈值的第二组数据迁移到所述目标存储节点。
13.如权利要求12所述的装置,其特征在于,还包括:
路由单元,用于在所述迁移单元迁移所述第二组数据的过程中,在接收到数据访问请求时,按照第一路由方式定位到所述目标存储节点;所述第一路由方式为进行所述数据重分布之后的路由方式;或者,
按照第二路由方式定位到所述当前存储节点,所述第二路由方式为进行所述数据重分布之前的路由方式;
数据处理单元,用于在所述路由单元按照所述第一路由方式定位到所述目标存储节点之后,若所述目标存储节点中存在所述数据访问请求涉及的访问数据,则对所述目标存储节点中存储的所述访问数据进行操作;
若所述目标存储节点中不存在所述数据访问请求涉及的所述访问数据,则,在所述路由单元按照所述第二路由方式定位到所述当前存储节点之后,对所述当前存储节点中存储的所述访问数据进行操作。
14.一种数据重分布的装置,其特征在于,包括处理器和存储器,其中,所述存储器中存储一组程序,所述处理器用于调用所述存储器中存储的程序,使得所述数据重分布的装置执行如权利要求1-7任一项所述的方法。
CN201610109478.7A 2016-02-26 2016-02-26 一种数据重分布的方法及装置 Pending CN107133228A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610109478.7A CN107133228A (zh) 2016-02-26 2016-02-26 一种数据重分布的方法及装置
PCT/CN2017/074121 WO2017143957A1 (zh) 2016-02-26 2017-02-20 一种数据重分布的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610109478.7A CN107133228A (zh) 2016-02-26 2016-02-26 一种数据重分布的方法及装置

Publications (1)

Publication Number Publication Date
CN107133228A true CN107133228A (zh) 2017-09-05

Family

ID=59685809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610109478.7A Pending CN107133228A (zh) 2016-02-26 2016-02-26 一种数据重分布的方法及装置

Country Status (2)

Country Link
CN (1) CN107133228A (zh)
WO (1) WO2017143957A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704212A (zh) * 2017-10-31 2018-02-16 紫光华山信息技术有限公司 一种数据处理方法及装置
CN110275873A (zh) * 2019-06-28 2019-09-24 重庆紫光华山智安科技有限公司 文件存储方法、装置、存储管理设备及存储介质
CN112583864A (zh) * 2019-09-27 2021-03-30 中国移动通信集团广东有限公司 一种数据迁移方法及装置
CN113687798A (zh) * 2021-10-26 2021-11-23 苏州浪潮智能科技有限公司 一种控制数据重构的方法、装置、设备及可读介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835887A (zh) * 2019-11-25 2021-05-25 航天信息股份有限公司 数据库管理方法、装置、计算设备和存储介质
KR20210077329A (ko) * 2019-12-17 2021-06-25 에스케이하이닉스 주식회사 스토리지 시스템, 이를 위한 스토리지 장치 및 동작 방법
CN111881210B (zh) * 2020-06-29 2022-08-26 平安国际智慧城市科技股份有限公司 数据同步方法、装置、内网服务器及介质
CN112597231A (zh) * 2020-12-28 2021-04-02 中国农业银行股份有限公司 一种数据处理方法和装置
CN117149915B (zh) * 2023-10-31 2024-03-29 湖南三湘银行股份有限公司 用于云端数据库迁移到开源数据库的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033236A1 (en) * 2005-08-04 2007-02-08 Fujitsu Limited Database restructuring apparatus, and computer-readable recording medium recording database restructuring program
CN102055650A (zh) * 2009-10-29 2011-05-11 华为技术有限公司 负载均衡方法及系统和管理服务器
US20120272030A1 (en) * 2010-12-16 2012-10-25 International Business Machines Corporation Synchronous extent migration protocol for paired storage
CN102902628A (zh) * 2012-09-18 2013-01-30 记忆科技(深圳)有限公司 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
CN103164167A (zh) * 2011-12-15 2013-06-19 深圳市腾讯计算机系统有限公司 一种数据迁移方法及装置
CN103914458A (zh) * 2012-12-29 2014-07-09 中国移动通信集团河北有限公司 一种海量数据迁移的方法及装置
CN104881443A (zh) * 2015-05-14 2015-09-02 新浪网技术(中国)有限公司 一种在数据库间迁移数据的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123055A (ja) * 2008-11-21 2010-06-03 Fujitsu Ltd データ移行プログラム,データ移行方法及びデータ移行装置
CN102122303A (zh) * 2011-03-15 2011-07-13 浪潮(北京)电子信息产业有限公司 一种进行数据迁移的方法及服务系统及服务器设备
CN103530290B (zh) * 2012-07-03 2017-12-12 深圳市腾讯计算机系统有限公司 数据库间的数据迁移方法和系统
CN102855299A (zh) * 2012-08-16 2013-01-02 上海引跑信息科技有限公司 不中断服务条件下,分布式数据库迭代迁移的方法
CN104598495A (zh) * 2013-10-31 2015-05-06 南京中兴新软件有限责任公司 基于分布式文件系统的分级存储方法及系统
CN104573119B (zh) * 2015-02-05 2017-10-27 重庆大学 云计算中面向节能的Hadoop分布式文件系统存储方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033236A1 (en) * 2005-08-04 2007-02-08 Fujitsu Limited Database restructuring apparatus, and computer-readable recording medium recording database restructuring program
CN102055650A (zh) * 2009-10-29 2011-05-11 华为技术有限公司 负载均衡方法及系统和管理服务器
US20120272030A1 (en) * 2010-12-16 2012-10-25 International Business Machines Corporation Synchronous extent migration protocol for paired storage
CN103164167A (zh) * 2011-12-15 2013-06-19 深圳市腾讯计算机系统有限公司 一种数据迁移方法及装置
CN102902628A (zh) * 2012-09-18 2013-01-30 记忆科技(深圳)有限公司 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
CN103914458A (zh) * 2012-12-29 2014-07-09 中国移动通信集团河北有限公司 一种海量数据迁移的方法及装置
CN104881443A (zh) * 2015-05-14 2015-09-02 新浪网技术(中国)有限公司 一种在数据库间迁移数据的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704212A (zh) * 2017-10-31 2018-02-16 紫光华山信息技术有限公司 一种数据处理方法及装置
CN107704212B (zh) * 2017-10-31 2019-09-06 新华三信息技术有限公司 一种数据处理方法及装置
CN110275873A (zh) * 2019-06-28 2019-09-24 重庆紫光华山智安科技有限公司 文件存储方法、装置、存储管理设备及存储介质
CN112583864A (zh) * 2019-09-27 2021-03-30 中国移动通信集团广东有限公司 一种数据迁移方法及装置
CN113687798A (zh) * 2021-10-26 2021-11-23 苏州浪潮智能科技有限公司 一种控制数据重构的方法、装置、设备及可读介质

Also Published As

Publication number Publication date
WO2017143957A1 (zh) 2017-08-31

Similar Documents

Publication Publication Date Title
CN107133228A (zh) 一种数据重分布的方法及装置
KR101502896B1 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
CN103688248B (zh) 一种存储阵列的管理方法、装置和控制器
CN110287197A (zh) 一种数据存储方法、迁移方法及装置
CN106534308A (zh) 一种分布式存储系统中解决数据块访问热点的方法及装置
CN106610903A (zh) 层级化存储器系统、存储器控制器和去重及存储器层级化方法
CN102457571A (zh) 一种云存储中数据均衡分布方法
CN108595268A (zh) 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质
CN104869140B (zh) 多集群系统和控制多集群系统的数据存储的方法
CN104702691B (zh) 分布式负载均衡方法和装置
CN106445677A (zh) 负载均衡方法及设备
WO2022134471A1 (zh) 区块链节点的管理方法、装置、计算机设备和存储介质
CN107122126A (zh) 数据的迁移方法、装置和系统
CN106682215A (zh) 一种数据处理方法和管理节点
CN109408590A (zh) 分布式数据库的扩容方法、装置、设备及存储介质
CN108810115A (zh) 一种适用于分布式数据库的负载均衡方法、装置及服务器
CN106202092A (zh) 数据处理的方法及系统
CN109525410A (zh) 分布式存储系统升级管理的方法、装置及分布式存储系统
CN108282522A (zh) 基于动态路由的数据存储访问方法及系统
CN106973091B (zh) 分布式内存数据重分布方法及系统、主控服务器
CN113568586B (zh) 用于分布式图学习架构的数据存取方法及装置
CN107391039A (zh) 一种数据对象存储方法和装置
CN107426315A (zh) 一种基于BP神经网络的分布式缓存系统Memcached的改进方法
CN107257356B (zh) 一种基于超图分割的社交用户数据优化放置方法
CN107656980A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170905

RJ01 Rejection of invention patent application after publication