CN105760552A - 数据管理方法和装置 - Google Patents

数据管理方法和装置 Download PDF

Info

Publication number
CN105760552A
CN105760552A CN201610179558.XA CN201610179558A CN105760552A CN 105760552 A CN105760552 A CN 105760552A CN 201610179558 A CN201610179558 A CN 201610179558A CN 105760552 A CN105760552 A CN 105760552A
Authority
CN
China
Prior art keywords
data
data base
base
database
managing method
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
CN201610179558.XA
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610179558.XA priority Critical patent/CN105760552A/zh
Publication of CN105760552A publication Critical patent/CN105760552A/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
    • 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
    • G06F16/275Synchronous replication
    • 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/21Design, administration or maintenance of databases

Abstract

本发明公开了一种数据管理方法和装置。该数据管理方法应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统,该数据管理方法包括:建立独立于第一主从数据存储系统的第三数据库;建立第三数据库和第二数据库的连接并形成主从数据库结构,其中第二数据库在主从数据库结构中处于主库角色,第三数据库在主从数据库结构中处于从库角色;将第二数据库中的数据同步到第三数据库;以及当第三数据库中的数据与第一数据库中的数据一致时,将第三数据库和第二数据库的连接断开并利用第三数据库提供服务。上述数据管理方法和装置可以在实现数据库容量扩展的同时提高数据管理效率,并且可以向用户提供良好的用户体验。

Description

数据管理方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种数据管理方法和装置。
背景技术
随着计算机技术的飞速发展,在许多应用领域,存在越来越多的需要管理的数据,诸如用户信息数据、系统日志数据等。通常采用数据库对这些数据进行管理。在数据库中,可以创建许多数据表用来存储数据。例如,假设某数据库中创建了10个数据表,每个数据表可以存储100条数据,数据表可以分别用user_0、user_1、user_2……user_9来表示。在达到存储容量上限前,这些数据通常平均分配存储在每个表中。当需要存储的数据量越来越多,增加到1000条以上时,需要对数据库进行扩容,创建新的数据表,并对数据进行重新分配。假设希望将数据表增加到100个来存储更多数据,这100个数据表可以表示为user_00、user_01、user_02……user_99。例如,对于原数据表user_0、user_1、user_2……user_9来说,其中已经存储了1000条数据。出于数据均衡考虑,需要将原来的10个表中的数据平均分配到100个表中。为了将存储在原数据表中的数据重新分配到新创建的数据表中,需要暂时停止数据库的对外服务,在这段时间内,用户将无法进行涉及数据库的操作,例如无法登陆网站、无法进行商业交易等等,这会严重影响用户体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种至少部分地解决上述问题的数据管理方法和装置。
依据本发明的一个方面,提供了一种数据管理方法,其应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统。该数据管理方法包括:建立独立于第一主从数据存储系统的第三数据库;建立第三数据库和第二数据库的连接并形成主从数据库结构,其中第二数据库在主从数据库结构中处于主库角色,第三数据库在主从数据库结构中处于从库角色;将第二数据库中的数据同步到第三数据库;以及当第三数据库中的数据与第一数据库中的数据一致时,将第三数据库和第二数据库的连接断开并利用第三数据库提供服务。
依据本发明的另一个方面,提供了一种数据管理装置,其应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统。该数据管理装置包括第一建立模块、第二建立模块、第一同步模块和数据库控制模块。第一建立模块用于建立独立于第一主从数据存储系统的第三数据库。第二建立模块用于建立第三数据库和第二数据库的连接并形成主从数据库结构,其中第二数据库在主从数据库结构中处于主库角色,第三数据库在主从数据库结构中处于从库角色。第一同步模块用于将第二数据库中的数据同步到第三数据库。数据库控制模块用于当第三数据库中的数据与第一数据库中的数据一致时,将第三数据库和第二数据库的连接断开并利用第三数据库提供服务。
根据本发明实施例的数据管理方法和装置,利用第一数据库的从库与第三数据库形成主从数据库结构来将第一数据库的数据同步到第三数据库,随后可以利用第三数据库作为新的数据库提供服务,在这个过程中无需停止数据库的对外服务,因此通过这种方法可以在实现数据库容量扩展的同时提高数据管理效率,并且可以向用户提供良好的用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出根据本发明一个实施例的数据管理方法的流程示意图;
图2示出根据本发明一个实施例的数据库架构示意图;
图3示出根据本发明另一个实施例的数据管理方法的流程示意图;
图4示出根据本发明另一个实施例的数据管理方法的流程示意图;
图5示出根据本发明另一个实施例的数据管理方法的流程示意图;以及
图6示出根据本发明一个实施例的数据管理装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
依据本发明的实施例,若在数据库中创建许多数据表用来存储数据,则在存储数据时,可以采用哈希算法对数据进行分配,将其分配到某一数据表。例如,假设某数据库中创建了10个数据表,每个数据表可以存储100条数据,数据表可以分别用user_0、user_1、user_2……user_9来表示。每条数据均具有自己的标识符,这些标识符可以是顺序编号的,例如1000条数据的标识符分别为1至1000。可以根据哈希算法将标识符为1、11、21……991的数据存储到数据表user_1,将标识符为2、12、22……992的数据存储到数据表user_2,以此类推。当需要存储的数据量越来越多,增加到1000条以上时,需要对数据库进行扩容,创建新的数据表,并对数据进行重新分配。假设希望将数据表增加到100个来存储更多数据,这100个数据表可以表示为user_00、user_01、user_02……user_99。例如,对于原数据表user_9来说,其中存储的是标识符为9、19、29……999的数据。在将原数据表user_9中的数据存储到新的数据库中时,由于哈希算法已经改变,因此原数据表user_9中存储的标识符为9的数据需要分配到新的数据表user_09中,标识符为19的数据需要分配到新的数据表user_19中,标识符为29的数据需要分配到新的数据表user_29中,等等。为了将存储在原数据表中的数据重新分配到新创建的数据表中,需要暂时停止数据库的对外服务,在这段时间内,用户将无法进行涉及数据库的操作,例如无法登陆网站、无法进行商业交易等等,这会严重影响用户体验。本发明通过下述实施例的方法和装置来解决上述问题。
根据本发明一个方面,提供一种数据管理方法,其应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统。图1示出根据本发明一个实施例的数据管理方法100的流程示意图。
如图1所示,数据管理方法100包括以下步骤。
在步骤S110,建立独立于第一主从数据存储系统的第三数据库。
第一主从数据存储系统中的第一数据库的数目可以是一个或多个,每个第一数据库可以具有从库,即第二数据库。可以理解,与每个第一数据库相关联的第二数据库的数目可以是一个或多个。
第一数据库主要负责数据的写入,第二数据库主要负责数据的读出(即查询)。写入第一数据库的数据可以同步到第二数据库中,即对数据进行备份。当第一数据库出现问题时,可以由第二数据库代替第一数据库提供服务。在一般的互联网应用中,经过一些数据调查得出结论,数据读和写的比例大概在10:1左右,也就是说大量的数据操作是集中在读的操作。例如,微博发布者编辑一条微博,写一次数据,可能会有很多人查看这条微博,因此对这条微博的相关数据的读取次数远远不止一次。因此,可以建立多个从库来缓解数据库的压力。另外,写操作涉及到锁的问题,这会降低数据存储系统的执行效率。将写操作集中在一个节点上,而读操作在其他的N个节点上进行,这可以有效提高数据读取的效率,保证数据存储系统的高可用性。
第三数据库可以与第一主从数据存储系统位于同一硬件设备上,也就是说,如果第一主从数据存储系统所位于的硬件设备的容量足够大,能够存储更多的数据,则可以在该硬件设备上建立第三数据库用于扩展数据存储容量。第三数据库也可以与第一主从数据存储系统位于不同的硬件设备上。当第一主从数据存储系统所位于的硬件设备的容量不够大时,可以添加新的硬件设备,在新的硬件设备上建立第三数据库。
较期望的是,第三数据库的存储容量大于第一数据库,以尽量使得在未来的一段时间之内无需进一步添加新的数据库。
示例性地,第一数据库、第二数据库和第三数据库可以采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。当然,可以理解的是,以上所述数据库类型仅是示例而非限制,第一数据库、第二数据库和第三数据库可以采用任何合适类型的数据库实现。
在步骤S120,建立第三数据库和第二数据库的连接并形成主从数据库结构,其中第二数据库在主从数据库结构中处于主库角色,第三数据库在主从数据库结构中处于从库角色。
在建立第三数据库之后,可以将第三数据库与第二数据库关联起来,形成主从关系。在第三数据库与第二数据库形成的主从数据库结构中第二数据库扮演主库,第三数据库扮演从库。通过这样的主从数据库结构,可以将第二数据库中的数据同步到第三数据库中。也就是说,第二数据库在不断地备份第一数据库中的数据,并将备份的数据存储到第三数据库中。这样,最终第三数据库中的数据将与第一数据库一致。应当理解,本文所描述的一致并非一定指第三数据库中的数据与第一数据库完全一样,其也可以包括第三数据库中的数据与第一数据库中的数据相差小于预定水平的情况。
图2示出根据本发明一个实施例的数据库架构示意图。参考图2,数据库A1、A2、A3和A4是第一数据库,数据库a1、a2、a3和a4是第二数据库,数据库B1、B2、B3和B4是第三数据库。如图2所示,第二数据库a1同步第一数据库A1中的数据,第三数据库B1同步第二数据库a1中的数据。第三数据库是新添加的数据库,其可以用于实现对现有数据库的扩容,因此第三数据库相当于一个新的主库,通过第二数据库作为中转可以实现两个主库之间的数据同步或迁移。同理,第二数据库a2同步第一数据库A2中的数据,第三数据库B2同步第二数据库a2中的数据,等等,不再赘述。
可以理解,图2所示的数据库结构仅为示例而非对本发明的限制,第一主从数据存储系统中的第一数据库、第二数据库以及独立于第一主从数据存储系统的第三数据库的数目和关联关系并不限于图2所示的数目和关联关系。
在步骤S130,将第二数据库中的数据同步到第三数据库。
如上文所述,在形成第三数据库与第二数据库之间的主从数据库结构之后,可以将第二数据库中的数据同步到第三数据库。示例性地,在这段时间内,第三数据库只能由第二数据库写入数据,而无法由外部用户写入数据,即无法提供服务。
在步骤S140,当第三数据库中的数据与第一数据库中的数据一致时,将第三数据库和第二数据库的连接断开并利用第三数据库提供服务。
如上文所述,由于第二数据库在不断备份第一数据库的数据并将备份的数据存储到第三数据库中,因此最终第三数据库中的数据将与第一数据库一致。当出现这种情况时,可以将第三数据库与第二数据库的连接断开,将第三数据库作为与第一数据库同等地位的数据库来提供服务,也就是说,可以开始将外部数据写入第三数据库。
根据本发明实施例的数据管理方法,利用第一数据库的从库与第三数据库形成主从数据库结构来将第一数据库的数据同步到第三数据库,随后可以利用第三数据库作为新的数据库提供服务,在这个过程中无需停止数据库的对外服务,因此通过这种方法可以在实现数据库容量扩展的同时提高数据管理效率,并且可以向用户提供良好的用户体验。
图3示出根据本发明另一个实施例的数据管理方法300的流程示意图。图3所示的数据管理方法300的步骤S310至S340分别与图1所示的数据管理方法100的步骤S110至S140相对应。本领域技术人员根据图1和上文的描述可以理解图3中的上述步骤,为了简洁,在此不再赘述。根据本实施例,数据管理方法300可以进一步包括步骤S350。
在步骤S350,当第三数据库中的数据与第一数据库中的数据一致时,中断第一数据库的数据写入操作。
当第一数据库中的数据已基本同步至第三数据库时,可以停止第一数据库的对外服务,即不再向第一数据库中写入数据,而仅由第三数据库提供对外服务。在这种情况下,相当于由第三数据库取代第一数据库提供服务。当第一数据库的存储容量已不能满足需求需要扩容时,可以采用新的大容量的第三数据库来取代第一数据库。在数据库更新换代时,新的数据库的容量可以远大于旧的数据库,使得在未来的一段时间内都无需更换数据库,这样可以将旧的数据库用于其他业务或直接抛弃旧的数据库。将第一数据库中的数据都转移到第三数据库并停止第一数据库的服务的方式方便对数据库进行管理。
可以理解,虽然图3中示出步骤S350在步骤S340之后,但是其仅是示例而非对本发明的限制,步骤S350可以在步骤S340之前实施或者二者可以同时实施。
图4示出根据本发明另一个实施例的数据管理方法400的流程示意图。图4所示的数据管理方法400的步骤S410至S450分别与图3所示的数据管理方法300的步骤S310至S350相对应。本领域技术人员根据图3和上文的描述可以理解图4中的上述步骤,为了简洁,在此不再赘述。根据本实施例,在步骤S450之后,数据管理方法400可以进一步包括步骤S460。
在步骤S460,将第一数据库在中断之后同步到第二数据库的遗留数据从第二数据库同步到第三数据库。
可以理解,虽然步骤S450是在当第三数据库中的数据与第一数据库中的数据一致时实施的,然而,由于在某些领域中数据库的数据流量非常大,例如,第一数据库可能会在每秒钟接收到成千上万条数据写入请求,因此,在中断第一数据库的数据写入操作的短暂时间内,仍然会向第一数据库中写入一些数据。这些数据可以称为遗留数据,其在中断第一数据库的数据写入操作之后从第一数据库同步到第二数据库。
如果在中断第一数据库的数据写入操作时尚未断开第三数据库和第二数据库的连接,则可以利用第三数据库与第二数据库的主从数据库结构将遗留数据的至少一部分同步到第三数据库。如果在中断第一数据库的数据写入操作的同时或在中断之后断开第三数据库和第二数据库的连接,则可以利用预先编写的脚本程序将遗留数据同步到第三数据库。由于遗留数据的数据量比较小,因此同步遗留数据所需的时间很短,例如一两秒钟,因此,对用户造成的影响也比较小。可以理解,同步遗留数据可以避免在数据库扩容的过程中丢失数据。
图5示出根据本发明另一个实施例的数据管理方法500的流程示意图。图5所示的数据管理方法500的步骤S510至S540分别与图1所示的数据管理方法100的步骤S110至S140相对应。本领域技术人员根据图1和上文的描述可以理解图5中的上述步骤,为了简洁,在此不再赘述。根据本实施例,数据管理方法500可以进一步包括步骤S550和S560。
在步骤S550,以第三数据库作为主库并以第四数据库作为从库建立第二主从数据存储系统。
返回参考图2,数据库b1、b2、b3和b4是第四数据库,第四数据库b1、b2、b3和b4分别是第三数据库B1、B2、B3和B4的从库。图2的第三数据库B1、B2、B3和B4以及第四数据库b1、b2、b3和b4可以形成第二主从数据存储系统。
第三数据库与第四数据库之间形成主从数据库结构,第四数据库作为第三数据库的从库,用于备份第三数据库中的数据。这与第一数据库和第二数据库的关系和工作方式类似。
示例性地,第四数据库可以采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。当然,可以理解的是,以上所述数据库类型仅是示例而非限制,第四数据库可以采用任何合适类型的数据库实现。
在步骤S560,将第三数据库中的数据同步到第四数据库。
当断开第三数据库与第二数据库的连接之后,可以将第三数据库从从库状态切换为主库状态,例如利用“切换主库(changemaster)”的命令来切换其状态。随后,可以将第四数据库作为第三数据库的从库建立第二主从数据存储系统。如图2所示,可以将数据库B1的数据同步到其从库b1,将数据库B2的数据同步到其从库b2,将数据库B3的数据同步到其从库b3,将数据库B4的数据同步到其从库b4。
与第一数据库和第二数据库类似地,第三数据库主要负责数据的写入,第四数据库主要负责数据的读出(即查询)。写入第三数据库的数据可以同步到第四数据库中,即对数据进行备份。当第三数据库出现问题时,可以由第四数据库代替第三数据库提供服务。建立第四数据库作为从库可以有效提高数据读取的效率,保证第二主从数据存储系统的高可用性。
根据本发明实施例,数据管理方法100(300、400或500)可以进一步包括:接收数据查询请求;基于数据查询请求从第二数据库和第四数据库中选择目标数据库;以及将数据查询请求路由到目标数据库以查询期望数据。
当希望对数据库中的期望数据进行查询时,可以向数据库发送数据查询请求。在一个实施例中,中断第一数据库的数据写入操作并仅利用第三数据库提供服务,在这种情况下,可以直接将数据查询请求路由到第四数据库来查询期望数据。在另一个实施例中,将第三数据库作为扩展数据库,利用第一数据库和第三数据库共同提供服务,在这种情况下,可以将数据查询请求路由到第二数据库和第四数据库之一以查询期望数据。例如,数据查询请求中可以包含期望数据的标识符,可以利用哈希算法对期望数据的标识符进行计算,得到的哈希结果可以指示存储期望数据的数据库的位置。因此,可以根据哈希结果将数据查询请求路由到存储该期望数据的数据库。同时利用第一数据库和第三数据库提供服务并且在第二数据库和第四数据库中查询数据的方式可以充分利用已有的第一主从数据存储系统,在已有的数据存储系统上扩展数据存储容量,这种扩容方式可以提高资源利用率。
根据本发明实施例,在步骤S140(S340、S440或S540)之后,上述数据管理方法100(300、400或500)可以进一步包括:利用负载均衡方法将数据写入请求分配给第一数据库和第三数据库。
如上文所述,可以不中断第一数据库的数据写入操作,将第三数据库作为扩展数据库,利用第一数据库和第三数据库共同提供服务。例如,返回参考图2,在存在四个第一数据库A1、A2、A3和A4以及四个第三数据库B1、B2、B3和B4的情况下,可以利用这八个数据库提供服务。在这种情况下,当接收到数据写入请求时,可以利用负载均衡方法将数据写入请求分配到这八个数据库之一。负载均衡方法可以通过哈希算法实现。例如,数据写入请求中可以包含需要写入的数据的标识符,可以利用哈希算法对需要写入的数据的标识符进行计算,得到的哈希结果可以指示需要写入的数据应当存储在哪个数据库中。因此,可以根据哈希结果将数据写入请求路由到所指示的数据库。如上文所述,利用旧的数据库和新的数据库同时提供服务,可以提高资源利用率。
根据本发明实施例,第二数据库中的数据可以存储在第一数目的数据表中,步骤S130(S330、S430或S530)可以包括:将第二数据库中的数据重新划分并存储到第三数据库中的、第二数目的数据表中。
假设在第二数据库中创建10个数据表,每个数据表存储10条数据,并且假设第三数据库的存储容量较大,可以容纳10000条数据,在第三数据库中创建100个数据表,每个数据表存储10条数据。这样,第二数据库中的原来存储在10个数据表中的100条数据被同步到第三数据库中时,可以进行重新划分,分配到第三数据库中的100个数据表中。也就是说,当在第二数据库中存储数据时,采用第一哈希算法将数据分配到第一数目的数据表中,而当在第三数据库中存储数据时,则需要采用第二哈希算法将数据分配到第二数目的数据表中。对数据进行重新划分并存储到对应的数据表中的方式可以实现数据在数据库之间的高效同步,方便对数据进行管理。
根据本发明实施例,数据管理方法100(300、400或500)可以进一步包括:监测与从第二数据库到第三数据库的数据同步操作相关的线程活动;以及如果发现在特定时段内所述线程活动停止,则确定第三数据库中的数据与第一数据库中的数据一致。
可以通过查看“进程列表(processlist)”来监测第二数据库与第三数据库之间的线程活动。可以理解,进程可以包括线程。由于需要调用进程或线程来将第二数据库中的数据同步到第三数据库中,因此当线程活动停止时,意味着第二数据库中的数据已基本同步到第三数据库中。因此,可以根据理论或经验设定特定时段,如果监测到在特定时段内线程活动停止,可以认为第二数据库中的数据已全部同步到第三数据库中,即认为在这种情况下,第三数据库中的数据、第二数据库中的数据和第一数据库中的数据这三者是一致的。通过监测第二数据库与第三数据库之间的线程活动,可以及时准确地确定适于将第三数据库切换为主库状态的时间。
根据本发明另一方面,提供一种数据管理装置,应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统。图6示出根据本发明一个实施例的数据管理装置600的示意性框图。如图6所示,数据管理装置600包括第一建立模块610、第二建立模块620、第一同步模块630和数据库控制模块640。
第一建立模块610用于建立独立于第一主从数据存储系统的第三数据库。第二建立模块620用于建立第三数据库和第二数据库的连接并形成主从数据库结构,其中第二数据库在主从数据库结构中处于主库角色,第三数据库在主从数据库结构中处于从库角色。第一同步模块630用于将第二数据库中的数据同步到第三数据库。数据库控制模块640用于当第三数据库中的数据与第一数据库中的数据一致时,将第三数据库和第二数据库的连接断开并利用第三数据库提供服务。
第一主从数据存储系统可以包括一个或多个作为主库的第一数据库,并且每个第一数据库可以具有一个或多个从库,即第二数据库。示例性地,第一数据库可以视为旧的数据库,第三数据库可以视为新的数据库,当第一数据库的存储容量不足时,可以利用第三数据库实现数据存储容量的扩展。为此,可以利用第二数据库作为中转将第一数据库中的数据同步到第三数据库。
第一建立模块610、第二建立模块620、第一同步模块630和数据库控制模块640的任何一者可以采用任何合适的硬件、软件和/或固件实现。
示例性地,第一数据库、第二数据库和第三数据库可以采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。当然,可以理解的是,以上所述数据库类型仅是示例而非限制,第一数据库、第二数据库和第三数据库可以采用任何合适类型的数据库实现。
根据本发明实施例的数据管理装置,利用第一数据库的从库与第三数据库形成主从数据库结构来将第一数据库的数据同步到第三数据库,随后可以利用第三数据库作为新的数据库提供服务,在这个过程中无需停止数据库的对外服务,因此通过这种方法可以在实现数据库容量扩展的同时提高数据管理效率,并且可以向用户提供良好的用户体验。
可选地,数据管理装置600可以进一步包括中断模块(未示出),用于当第三数据库中的数据与第一数据库中的数据一致时,中断第一数据库的数据写入操作。
当第一数据库中的数据已基本同步至第三数据库时,可以停止第一数据库的对外服务,即不再向第一数据库中写入数据,而仅由第三数据库提供对外服务。在这种情况下,相当于由第三数据库取代第一数据库提供服务。将第一数据库中的数据都转移到第三数据库并停止第一数据库的服务的方式方便对数据库进行管理。
可选地,数据管理装置600可以进一步包括第二同步模块(未示出),用于将第一数据库在所述中断之后同步到第二数据库的遗留数据从第二数据库同步到第三数据库。
在中断第一数据库的数据写入操作的短暂时间内,仍然会向第一数据库中写入一些数据,即遗留数据。同步遗留数据可以避免在数据库扩容的过程中丢失数据。
可选地,数据管理装置600可以进一步包括第三建立模块和第三同步模块(未示出)。第三建立模块用于以第三数据库作为主库并以第四数据库作为从库建立第二主从数据存储系统。第三同步模块用于将第三数据库中的数据同步到第四数据库。
第三数据库与第四数据库之间形成主从数据库结构,第四数据库作为第三数据库的从库,用于备份第三数据库中的数据。这与第一数据库和第二数据库的关系和工作方式类似。示例性地,第四数据库可以采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。当然,可以理解的是,以上所述数据库类型仅是示例而非限制,第四数据库可以采用任何合适类型的数据库实现。
可选地,数据管理装置600可以进一步包括接收模块、选择模块和路由模块(未示出)。接收模块用于接收数据查询请求。选择模块用于基于数据查询请求从第二数据库和第四数据库中选择目标数据库。路由模块用于将数据查询请求路由到目标数据库以查询期望数据。
当希望对数据库中的期望数据进行查询时,可以向数据库发送数据查询请求。示例性地,数据查询请求中可以包含期望数据的标识符,可以利用哈希算法对期望数据的标识符进行计算,根据哈希结果确定目标数据库,并进一步将数据查询请求路由到目标数据库以查询期望数据。
可选地,数据管理装置600可以进一步包括分配模块(未示出),用于利用负载均衡方法将数据写入请求分配给第一数据库和第三数据库。
可以不中断第一数据库的数据写入操作,将第三数据库作为扩展数据库,利用第一数据库和第三数据库共同提供服务。利用旧的数据库和新的数据库同时提供服务,可以提高资源利用率。
可选地,第二数据库中的数据存储在第一数目的数据表中,所述第一同步模块630可以包括存储子模块,用于将第二数据库中的数据重新划分并存储到第三数据库中的、第二数目的数据表中。
在第二数据库和第三数据库中可以分别创建不同数目的数据表,因此可以采用不同的哈希算法将数据分配到数据表,这样在将数据从第二数据库同步到第三数据库时,需要对数据进行重新划分。对数据进行重新划分并存储到对应的数据表中的方式可以实现数据在数据库之间的高效同步,方便对数据进行管理。
可选地,数据管理装置600可以进一步包括监测模块和确定模块。监测模块用于监测与从第二数据库到第三数据库的数据同步操作相关的线程活动。确定模块用于如果发现在特定时段内所述线程活动停止,则确定第三数据库中的数据与第一数据库中的数据一致。通过监测第二数据库与第三数据库之间的线程活动,可以及时准确地确定适于将第三数据库切换为主库状态的时间。
上文已经描述了数据管理方法的各步骤的实施方式和优点等,本领域技术人员结合图1至5以及上文关于数据管理方法的描述,可以理解数据管理装置600的具体结构、运行方式及其优点等,本文不对此进行赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的教示一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据管理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种数据管理方法,应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统,所述方法包括:
建立独立于所述第一主从数据存储系统的第三数据库;
建立所述第三数据库和所述第二数据库的连接并形成主从数据库结构,其中所述第二数据库在所述主从数据库结构中处于主库角色,所述第三数据库在所述主从数据库结构中处于从库角色;
将所述第二数据库中的数据同步到所述第三数据库;以及
当所述第三数据库中的数据与所述第一数据库中的数据一致时,将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务。
A2、如A1所述的数据管理方法,所述数据管理方法进一步包括:
当所述第三数据库中的数据与所述第一数据库中的数据一致时,中断所述第一数据库的数据写入操作。
A3、如A2所述的数据管理方法,在所述中断所述第一数据库的数据写入操作之后,所述数据管理方法进一步包括:
将所述第一数据库在所述中断之后同步到所述第二数据库的遗留数据从所述第二数据库同步到所述第三数据库。
A4、如A1至A3任一项所述的数据管理方法,所述数据管理方法进一步包括:
以所述第三数据库作为主库并以第四数据库作为从库建立第二主从数据存储系统;以及
将所述第三数据库中的数据同步到所述第四数据库。
A5、如A4所述的数据管理方法,所述数据管理方法进一步包括:
接收数据查询请求;
基于所述数据查询请求从所述第二数据库和所述第四数据库中选择目标数据库;以及
将所述数据查询请求路由到所述目标数据库以查询期望数据。
A6、如A1至A5任一项所述的数据管理方法,在所述将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务之后,所述数据管理方法进一步包括:
利用负载均衡方法将数据写入请求分配给所述第一数据库和所述第三数据库。
A7、如A1至A6任一项所述的数据管理方法,所述第二数据库中的数据存储在第一数目的数据表中,
所述将所述第二数据库中的数据同步到所述第三数据库包括:将所述第二数据库中的数据重新划分并存储到所述第三数据库中的、第二数目的数据表中。
A8、如A1至A7任一项所述的数据管理方法,所述数据管理方法进一步包括:
监测与从所述第二数据库到所述第三数据库的数据同步操作相关的线程活动;以及
如果发现在特定时段内所述线程活动停止,则确定所述第三数据库中的数据与所述第一数据库中的数据一致。
A9、如A1至A8任一项所述的数据管理方法,所述第一数据库、所述第二数据库和所述第三数据库采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。
本发明实施例还公开了B10、一种数据管理装置,应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统,所述数据管理装置包括:
第一建立模块,用于建立独立于所述第一主从数据存储系统的第三数据库;
第二建立模块,用于建立所述第三数据库和所述第二数据库的连接并形成主从数据库结构,其中所述第二数据库在所述主从数据库结构中处于主库角色,所述第三数据库在所述主从数据库结构中处于从库角色;
第一同步模块,用于将所述第二数据库中的数据同步到所述第三数据库;以及
数据库控制模块,用于当所述第三数据库中的数据与所述第一数据库中的数据一致时,将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务。
B11、如B10所述的数据管理装置,所述数据管理装置进一步包括:
中断模块,用于当所述第三数据库中的数据与所述第一数据库中的数据一致时,中断所述第一数据库的数据写入操作。
B12、如B11所述的数据管理装置,所述数据管理装置进一步包括:
第二同步模块,用于将所述第一数据库在所述中断之后同步到所述第二数据库的遗留数据从所述第二数据库同步到所述第三数据库。
B13、如B10至B12任一项所述的数据管理装置,所述数据管理装置进一步包括:
第三建立模块,用于以所述第三数据库作为主库并以第四数据库作为从库建立第二主从数据存储系统;以及
第三同步模块,用于将所述第三数据库中的数据同步到所述第四数据库。
B14、如B13所述的数据管理装置,所述数据管理装置进一步包括:
接收模块,用于接收数据查询请求;
选择模块,用于基于所述数据查询请求从所述第二数据库和所述第四数据库中选择目标数据库;以及
路由模块,用于将所述数据查询请求路由到所述目标数据库以查询期望数据。
B15、如B10至B14任一项所述的数据管理装置,所述数据管理装置进一步包括:
分配模块,用于利用负载均衡方法将数据写入请求分配给所述第一数据库和所述第三数据库。
B16、如B10至B15任一项所述的数据管理装置,所述第二数据库中的数据存储在第一数目的数据表中,
所述第一同步模块包括存储子模块,用于将所述第二数据库中的数据重新划分并存储到所述第三数据库中的、第二数目的数据表中。
B17、如B10至B16任一项所述的数据管理装置,所述数据管理装置进一步包括:
监测模块,用于监测与从所述第二数据库到所述第三数据库的数据同步操作相关的线程活动;以及
确定模块,用于如果发现在特定时段内所述线程活动停止,则确定所述第三数据库中的数据与所述第一数据库中的数据一致。
B18、如B10至B17任一项所述的数据管理装置,所述第一数据库、所述第二数据库和所述第三数据库采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。

Claims (10)

1.一种数据管理方法,应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统,所述方法包括:
建立独立于所述第一主从数据存储系统的第三数据库;
建立所述第三数据库和所述第二数据库的连接并形成主从数据库结构,其中所述第二数据库在所述主从数据库结构中处于主库角色,所述第三数据库在所述主从数据库结构中处于从库角色;
将所述第二数据库中的数据同步到所述第三数据库;以及
当所述第三数据库中的数据与所述第一数据库中的数据一致时,将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务。
2.如权利要求1所述的数据管理方法,其特征在于,所述数据管理方法进一步包括:
当所述第三数据库中的数据与所述第一数据库中的数据一致时,中断所述第一数据库的数据写入操作。
3.如权利要求2所述的数据管理方法,其特征在于,在所述中断所述第一数据库的数据写入操作之后,所述数据管理方法进一步包括:
将所述第一数据库在所述中断之后同步到所述第二数据库的遗留数据从所述第二数据库同步到所述第三数据库。
4.如权利要求1至3任一项所述的数据管理方法,其特征在于,所述数据管理方法进一步包括:
以所述第三数据库作为主库并以第四数据库作为从库建立第二主从数据存储系统;以及
将所述第三数据库中的数据同步到所述第四数据库。
5.如权利要求4所述的数据管理方法,其特征在于,所述数据管理方法进一步包括:
接收数据查询请求;
基于所述数据查询请求从所述第二数据库和所述第四数据库中选择目标数据库;以及
将所述数据查询请求路由到所述目标数据库以查询期望数据。
6.如权利要求1至5任一项所述的数据管理方法,其特征在于,在所述将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务之后,所述数据管理方法进一步包括:
利用负载均衡方法将数据写入请求分配给所述第一数据库和所述第三数据库。
7.如权利要求1至6任一项所述的数据管理方法,其特征在于,所述第二数据库中的数据存储在第一数目的数据表中,
所述将所述第二数据库中的数据同步到所述第三数据库包括:将所述第二数据库中的数据重新划分并存储到所述第三数据库中的、第二数目的数据表中。
8.如权利要求1至7任一项所述的数据管理方法,其特征在于,所述数据管理方法进一步包括:
监测与从所述第二数据库到所述第三数据库的数据同步操作相关的线程活动;以及
如果发现在特定时段内所述线程活动停止,则确定所述第三数据库中的数据与所述第一数据库中的数据一致。
9.如权利要求1至8任一项所述的数据管理方法,其特征在于,所述第一数据库、所述第二数据库和所述第三数据库采用MySQL数据库、Oracle数据库、PostgreSQL数据库和Redis数据库中的一种实现。
10.一种数据管理装置,应用于包括第一数据库作为主库和第二数据库作为从库的第一主从数据存储系统,所述数据管理装置包括:
第一建立模块,用于建立独立于所述第一主从数据存储系统的第三数据库;
第二建立模块,用于建立所述第三数据库和所述第二数据库的连接并形成主从数据库结构,其中所述第二数据库在所述主从数据库结构中处于主库角色,所述第三数据库在所述主从数据库结构中处于从库角色;
第一同步模块,用于将所述第二数据库中的数据同步到所述第三数据库;以及
数据库控制模块,用于当所述第三数据库中的数据与所述第一数据库中的数据一致时,将所述第三数据库和所述第二数据库的连接断开并利用所述第三数据库提供服务。
CN201610179558.XA 2016-03-25 2016-03-25 数据管理方法和装置 Pending CN105760552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610179558.XA CN105760552A (zh) 2016-03-25 2016-03-25 数据管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610179558.XA CN105760552A (zh) 2016-03-25 2016-03-25 数据管理方法和装置

Publications (1)

Publication Number Publication Date
CN105760552A true CN105760552A (zh) 2016-07-13

Family

ID=56346500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610179558.XA Pending CN105760552A (zh) 2016-03-25 2016-03-25 数据管理方法和装置

Country Status (1)

Country Link
CN (1) CN105760552A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526838A (zh) * 2017-09-08 2017-12-29 北京京东尚科信息技术有限公司 数据库集群扩容的方法和装置
CN107943589A (zh) * 2017-11-29 2018-04-20 苏宁云商集团股份有限公司 一种数据缓存的管理方法及装置
CN108319596A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种数据库的扩容方法和装置
CN109062727A (zh) * 2018-06-20 2018-12-21 平安科技(深圳)有限公司 一种数据同步系统及方法
CN109656709A (zh) * 2017-10-12 2019-04-19 北京京东尚科信息技术有限公司 一种Codis集群扩容的方法和装置
CN109976944A (zh) * 2019-02-18 2019-07-05 北京三快在线科技有限公司 数据处理方法和系统,存储介质和电子设备
CN110362553A (zh) * 2019-06-17 2019-10-22 平安普惠企业管理有限公司 大批量征信数据处理方法、电子装置及计算机设备
CN110750410A (zh) * 2018-07-24 2020-02-04 北京京东尚科信息技术有限公司 一种监听数据库日志的方法和装置
WO2020173381A1 (zh) * 2019-02-27 2020-09-03 北京字节跳动网络技术有限公司 数据互通方法、装置、终端及存储介质
CN112463884A (zh) * 2020-11-20 2021-03-09 国网天津市电力公司营销服务中心 一种用于电力采集设备的电量数据管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107876A1 (en) * 2000-09-08 2002-08-08 Masashi Tsuchida Method and system for managing multiple database storage units
CN103020243A (zh) * 2012-12-18 2013-04-03 新浪网技术(中国)有限公司 一种数据库主从复制结构更换方法及装置
CN103605809A (zh) * 2013-12-10 2014-02-26 厦门诚创网络有限公司 一种数据同步的方法
CN104252505A (zh) * 2013-06-29 2014-12-31 北京新媒传信科技有限公司 数据库管理平台中数据库实例的同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107876A1 (en) * 2000-09-08 2002-08-08 Masashi Tsuchida Method and system for managing multiple database storage units
CN103020243A (zh) * 2012-12-18 2013-04-03 新浪网技术(中国)有限公司 一种数据库主从复制结构更换方法及装置
CN104252505A (zh) * 2013-06-29 2014-12-31 北京新媒传信科技有限公司 数据库管理平台中数据库实例的同步方法和装置
CN103605809A (zh) * 2013-12-10 2014-02-26 厦门诚创网络有限公司 一种数据同步的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108319596A (zh) * 2017-01-16 2018-07-24 阿里巴巴集团控股有限公司 一种数据库的扩容方法和装置
CN107526838A (zh) * 2017-09-08 2017-12-29 北京京东尚科信息技术有限公司 数据库集群扩容的方法和装置
CN107526838B (zh) * 2017-09-08 2020-05-01 北京京东尚科信息技术有限公司 数据库集群扩容的方法和装置
CN109656709A (zh) * 2017-10-12 2019-04-19 北京京东尚科信息技术有限公司 一种Codis集群扩容的方法和装置
CN107943589A (zh) * 2017-11-29 2018-04-20 苏宁云商集团股份有限公司 一种数据缓存的管理方法及装置
CN109062727A (zh) * 2018-06-20 2018-12-21 平安科技(深圳)有限公司 一种数据同步系统及方法
CN109062727B (zh) * 2018-06-20 2023-04-14 平安科技(深圳)有限公司 一种数据同步系统及方法
WO2019242115A1 (zh) * 2018-06-20 2019-12-26 平安科技(深圳)有限公司 一种数据同步系统及方法
CN110750410A (zh) * 2018-07-24 2020-02-04 北京京东尚科信息技术有限公司 一种监听数据库日志的方法和装置
CN110750410B (zh) * 2018-07-24 2024-04-12 北京京东尚科信息技术有限公司 一种监听数据库日志的方法和装置
CN109976944B (zh) * 2019-02-18 2021-05-07 北京三快在线科技有限公司 数据处理方法和系统,存储介质和电子设备
CN109976944A (zh) * 2019-02-18 2019-07-05 北京三快在线科技有限公司 数据处理方法和系统,存储介质和电子设备
WO2020173381A1 (zh) * 2019-02-27 2020-09-03 北京字节跳动网络技术有限公司 数据互通方法、装置、终端及存储介质
CN110362553A (zh) * 2019-06-17 2019-10-22 平安普惠企业管理有限公司 大批量征信数据处理方法、电子装置及计算机设备
CN110362553B (zh) * 2019-06-17 2023-09-15 爱云保(上海)科技有限公司 大批量征信数据处理方法、电子装置及计算机设备
CN112463884A (zh) * 2020-11-20 2021-03-09 国网天津市电力公司营销服务中心 一种用于电力采集设备的电量数据管理方法

Similar Documents

Publication Publication Date Title
CN105760552A (zh) 数据管理方法和装置
CN107005596B (zh) 用于在集群重新配置后的工作负载平衡的复制型数据库分配
CN106844510B (zh) 一种分布式数据库集群的数据迁移方法和装置
CN107231399B (zh) 高可用服务器集群的扩容方法以及装置
CN105100259B (zh) 一种分布式定时任务执行方法和系统
CN105095317B (zh) 分布式数据库服务管理系统
EP2643771B1 (en) Real time database system
US20120166611A1 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
CN110362381A (zh) Hdfs集群高可用部署方法、系统、设备及存储介质
KR101670343B1 (ko) 피어투피어 데이터 복제를 위한 방법, 장치, 및 시스템 및 마스터 노드 전환을 위한 방법, 장치, 및 시스템
CN108964948A (zh) 主从服务系统、主节点故障恢复方法及装置
JP2013041569A (ja) 仮想マシン環境のためのクラスタシステム提供の方法及び装置
CN111125065B (zh) 可视化数据同步方法、系统、终端和计算机可读存储介质
CN105045832A (zh) 一种数据采集方法及装置
CN105701099A (zh) 用于在分布式环境中执行任务的方法、装置及系统
CN115086330B (zh) 跨集群负载均衡系统
CN110569302A (zh) 一种基于lucene的分布式集群的物理隔离的方法及装置
CN102999571A (zh) 一种集群中单机多节点的实现方法
US20140214765A1 (en) Selective data synchronization and transfer to remote distributed database servers
CN105760553A (zh) 数据管理方法和装置
CN105610971A (zh) 一种负载均衡方法及装置
CN109407975A (zh) 写数据方法与计算节点以及分布式存储系统
CN105404565A (zh) 一种双活数据保护方法和装置
KR101511098B1 (ko) 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
JP2013182575A (ja) サーバおよびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160713