CN110232057B - 数据回滚方法、电子设备、存储介质 - Google Patents

数据回滚方法、电子设备、存储介质 Download PDF

Info

Publication number
CN110232057B
CN110232057B CN201910459069.3A CN201910459069A CN110232057B CN 110232057 B CN110232057 B CN 110232057B CN 201910459069 A CN201910459069 A CN 201910459069A CN 110232057 B CN110232057 B CN 110232057B
Authority
CN
China
Prior art keywords
node
database
data
history information
operation history
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
CN201910459069.3A
Other languages
English (en)
Other versions
CN110232057A (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.)
Ireader Technology Co Ltd
Original Assignee
Ireader Technology 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 Ireader Technology Co Ltd filed Critical Ireader Technology Co Ltd
Priority to CN201910459069.3A priority Critical patent/CN110232057B/zh
Publication of CN110232057A publication Critical patent/CN110232057A/zh
Application granted granted Critical
Publication of CN110232057B publication Critical patent/CN110232057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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
    • G06F16/219Managing data history or versioning
    • 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/2246Trees, e.g. B+trees
    • 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/23Updating
    • G06F16/235Update request 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/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本发明公开了一种数据回滚方法、电子设备、存储介质,其方法包括:获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。利用第二数据库保存节点的操作历史信息,方便用户可以快速查询到对节点的各种操作历史,了解节点数据信息的变更情况,还可以及时根据操作历史信息来修正节点的数据信息,及时修正误操作等产生的各种问题。

Description

数据回滚方法、电子设备、存储介质
技术领域
本发明涉及数据管理领域,具体涉及一种数据回滚方法、电子设备、存储介质。
背景技术
当数据存在上下级关系时,以树状结构存储数据,可以更直观的保存数据间的关联关系,方便对数据进行分析,使得数据存储的冗余度较小、直观性更强。但以树状结构存储数据也存在以下问题:
1、数据库中只能存储当前数据,对于数据发生的更新、删除等操作,无法保存。即其无法保存各个数据的历史数据。当需要对历史数据进行操作时,无法查询得到历史数据。
2、当数据存在多级关联关系时,数据存储会很庞大。尤其当数据结构的层次较深时,数据存储的增长量级较大,对于数据的查询也需要消耗较长时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据回滚方法、电子设备、存储介质。
根据本发明的一个方面,提供了一种数据回滚方法,数据以树形结构存储于第一数据库中,方法包括:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
根据本发明的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据与具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
根据本发明的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行以下操作:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据与具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
根据本发明提供的数据回滚方法、电子设备、存储介质,获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据与具有映射关系;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。根据本发明,利用与第一数据库中数据具有映射关系的第二数据库的数据,可以对以树形结构存储于第一数据库中的数据进行更快捷方便的回滚处理。利用第二数据库保存节点的操作历史信息,方便用户可以快速查询到对节点的各种操作历史,了解节点数据信息的变更情况,还可以及时根据操作历史信息来修正节点的数据信息,及时修正误操作等产生的各种问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的数据回滚方法的流程图;
图2示出了根据本发明实施例二的数据回滚方法的流程图;
图3示出了根据本发明实施例四的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一的数据回滚方法的流程图,如图1所示,数据回滚方法具体包括如下步骤:
步骤S101,获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点。
本实施例中各数据间存在上下级关联关系,数据以树形结构存储于第一数据库中。第一数据库为树形结构数据库,以zookeeper数据库为例进行说明,但不仅限于zookeeper数据库。
当用户需要查看数据时,先获取用户在前端页面中所选取的数据树的名称,根据数据树名称来查找其所包含的各个节点。数据树的名称可以采用数据的根节点作为数据树的名称,直接根据数据的根节点来向下查找,直至找到该数据树包含的所有节点。或者,数据树的名称也可以是仅记录该数据树的名称,通过数据树的名称查找到对应的数据树的根节点,直至找到该数据树包含的所有节点。
在查找数据树的各个节点时,可以在第一数据库中根据数据树的根节点依次向下查找,直至找到第一数据库中数据树的所有节点。或者,根据与第一数据库中数据具有映射关系的第二数据库的数据来查找数据树的所有节点。第二数据库为关系型数据库,其保存了数据树中所有节点,并存储了各节点的上下级关系。与第一数据库相比,第二数据库可以更快更方便的查找到任一节点,并找到节点的各上下级关系。具体的,根据数据树名称,可以从第二数据库中查找该数据树中各节点的上下级关系。根据各节点的上下级关系从第一数据库中可以直接定位到需要查找的各节点,可以更快更方便的得到各节点相关的数据。与从第一数据库按照节点关系依次向下查找相比,速度更快更便捷。
在查找到数据树的各个节点后,向用户展示包含各节点的上下级关系的树形结构的数据树。即以树形结构展示数据树,数据树包括了各个节点,各个节点按照节点的上下级关系排列。在展示数据树时,可以直接将数据树中各节点展开来进行展示,使用户可以一目了然的看到各个节点;也可以在展示时仅展示根节点或根节点及根节点下一级节点,当用户触发节点展开展示的操作时,再将数据树的各节点展开进行展示,使用户更清楚了解各节点间上下级关系。用户可以通过对数据树中各节点的展开操作、收起操作,来查看各节点间的上下级关系。
步骤S102,接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
在展示数据树后,用户可以选择任一节点来查看该节点的操作历史信息。节点的操作历史信息可以帮助用户了解在该节点所发生过的操作。用户还可以通过查询节点的操作历史信息分析是否由于对节点的操作不当引起处理异常等问题。
当接收到用户触发的对任一节点的操作历史信息的查询操作时,需要从数据库中获取该节点的操作历史信息。但由于第一数据库中一般仅保存树形结构的各节点当前的数据信息,而无法保存节点的操作历史信息。且第一数据库查询单个节点时往往需要从根节点一级一级向下查找,导致查找的效率较低。考虑以上问题,本实施例中采用了第二数据库,第二数据库中也保存了数据树的各个节点。第二数据库为关系型数据库,如MySQL数据库。第二数据库保存的数据与第一数据库中数据具有映射关系,且在第二数据库中保存了各个节点的所有操作历史信息。当需要查询任一节点的操作历史信息时,从第二数据库中查询到该节点,获取该节点的操作历史信息。
进一步,对节点的操作历史信息查询操作,可以接收用户触发的根据节点名称对节点的操作历史信息的查询操作,如用户先选中任一节点,点击对节点的操作历史信息的查询操作,获取该选中的节点的节点名称,根据节点名称从第二数据库中查询到该节点的操作历史信息;或者,接收用户触发的根据节点路径信息对节点的操作历史信息的查询操作,如用户输入某节点路径信息,根据节点路径信息直接从第二数据库中确定节点路径信息对应的节点,查找该节点的操作历史信息。操作历史信息包括如操作者信息(对节点进行操作的用户信息)、操作时间、数据历史信息(记录节点修改的节点值、修改的节点数据类型等)、操作类型(如更新操作、删除操作、回归操作等)。
将查询得到的节点的操作历史信息可以按照操作时间排序后展示给用户,使用户清楚的了解到哪些用户对该节点进行过操作,该节点在哪些时间点发生过改变等。
步骤S103,根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
当用户发现节点当前的节点值、节点数据类型等不正确时,如修改导致节点的数据信息不正确、误删除某节点等,为方便用户及时的对节点进行修正,提供给用户对节点的操作历史信息进行回滚操作。针对节点的具体情况用户可以选取节点操作历史信息中需要的操作历史信息进行回滚操作,将节点的数据信息更新至该操作历史信息对应的数据信息。
具体的,若节点在第一数据库中已被删除,根据接收用户触发的根据节点路径信息对节点的操作历史信息的查询操作,获取到该节点的操作历史信息后,用户可以选取一条操作历史信息,来恢复该节点。根据用户触发的对其选取的操作历史信息的回滚操作,利用选取的该操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息。重新生成的该节点的数据信息中的节点值、节点数据类型等与操作历史信息中的数据历史信息相同,生成的节点的节点路径信息也会该节点原节点路径信息相同,即利用选取的操作历史信息重建该节点。
若节点在第一数据库中未被删除,根据查询到的该节点的操作历史信息,用户从中选取一条操作历史信息来触发回滚操作,利用选取的操作历史信息中数据历史信息更新节点的数据信息,完成将该节点的数据信息修正为数据历史信息。更新时,同时更新第一数据库和第二数据库中该节点的数据信息,保障两个数据库中该节点的数据信息的一致性。
进一步,在利用操作历史信息更新节点的数据信息后,还需要将回滚操作所产生的新的操作历史信息保存在第二数据库中。回滚操作所产生的新的操作历史信息包括了如该用户的用户信息,回滚操作的时间信息、回滚操作的操作类型、数据历史信息为节点更新后的数据信息等。在第二数据库中保存新的操作历史信息,一方面方便用户了解在该节点所发生的各种操作引起的数据变更过程,另一方面也方便用户查询到操作历史信息,直接根据操作历史信息对节点进行回归操作。
根据本发明提供的数据回滚方法,获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据与具有映射关系;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。根据本发明,利用与第一数据库中数据具有映射关系的第二数据库的数据,可以对以树形结构存储于第一数据库中的数据进行更快捷方便的回滚处理。利用第二数据库保存节点的操作历史信息,方便用户可以快速查询到对节点的各种操作历史,了解节点数据信息的变更情况,还可以及时根据操作历史信息来修正节点的数据信息,及时修正误操作等产生的各种问题。
实施例二
图2示出了根据本发明实施例二的数据回滚方法的流程图,如图2所示,数据回滚方法包括如下步骤:
步骤S201,获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点。
该步骤参照图1实施例中步骤S101的描述,在此不再赘述。
步骤S202,接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息。
当用户需要查找任一节点的详细的数据信息时,在接收到用户触发的对任一节点的点击操作时,可以获取该节点的数据信息,并在前端页面中反馈该节点的数据信息。由于第一数据库中以树形结构存储各节点的数据信息,其在查询具体一节点的数据信息时,会从根节点依次向下查找,直至查找到该节点。若该节点处于较低级别时,需要花费较长的查找时间。考虑到上述问题,当接收到用户触发的对任一节点的点击操作时,从第二数据库中来查找该节点的数据信息,可以快速及时的获取到该节点的数据信息来进行展示。数据信息包括如节点名称、节点值、节点路径信息、节点数据类型。节点路径信息记录节点上下级关系,如节点a为节点b的下级节点,节点b为节点c的下级节点,则节点a的节点路径信息可以记录为c-b-a,方便根据节点路径信息清楚的了解与节点相关的上下级关系,对节点快速定位。
步骤S203,根据用户选取的对待删除节点的批量删除操作,删除待删除节点及下级节点。
当需要对数据树中的某个节点进行删除操作时,可以由用户选取该节点对其执行删除操作。当需要对数据树中的多个节点进行删除操作时,若由用户逐个选取节点一一执行删除操作,会需要执行多次删除操作,增加前端页面与服务器进行删除的交互、与数据库存储进行多次删除提交、前端页面也需要多次进行数据树刷新加载等处理,使得处理繁琐,用户操作也繁琐。基于上述问题,当需要对多个节点进行删除时,尤其是对具有上下级关系的多个节点进行删除操作时,可以由用户仅选取多个节点中最上级的节点,将该节点作为待删除节点,对其执行批量删除操作。在接收到用户触发的对待删除节点的批量删除操作后,先从第二数据库中查找到该待删除节点的所有下级节点。将待删除节点以及待删除节点的所有下级节点的数据信息从第一数据库和第二数据库中删除,从而完成删除待删除节点及下级节点的批量删除操作。
进一步,对于该批量删除操作,需要将其所产生的新的操作历史信息也保存在第二数据库中,以便误删除时,可以及时根据操作历史信息进行回滚操作,恢复被误删除的节点的数据信息。
步骤S204,根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
对于数据库,还可以建立数据库集群。如利用集群中多个数据库提供给不同用户使用各个数据库中存储的数据等。在本实施例中可以建立第一数据库集群,如zookeeper集群。
当需要将第一数据库集群中的第一数据库的数据同步至整个集群中时,可以对第一数据库中的数据进行同步操作。具体的,当用户选取任一节点进行同步操作时,由于节点本身具有上下级关系,不能简单的仅将节点的数据信息进行同步,还需要考虑节点的上下级关系的同步。同步操作需要先从第二数据库中获取该节点的上下级关系,根据上下级关系从该节点的第一数据库中获取节点的数据信息、上下级关系所对应的节点等,将该节点按照上下级关系同步至第一数据库集群中的其他第一数据库中,保持节点的数据信息和上下级关系的完全同步。即在第一数据库集群中的其他第一数据库中,根据该节点的上下级关系,对于的找到该节点所在位置来建立该节点,保存该节点的数据信息。
进一步,对于第二数据库也可以建立第二数据库集群,在对节点进行同步处理时,除同步至第一数据库集群外,还对应的同步至第二数据库集群。同步时也需要根据节点的上下级关系,将节点同步至第二数据库集群中,保存该节点的数据信息,且同步该节点的上下级关系。第一数据库集群和第二数据库集群中各集群的第一数据库的数据和第二数据库的数据具有映射关系。
步骤S205,监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理。
同步处理除步骤S204根据用户操作由用户手动触发的同步操作外,还可以对任一节点的更新或删除操作等引起节点数据信息变化的操作进行监控,判断该节点是否需要进行同步处理。具体的,当监控到任一节点的更新或删除操作时,判断该节点是否已开启同步处理,若是,则执行步骤S206,对该节点进行同步处理,若否,则仅执行该节点在当前数据库(第一数据库和第二数据库)的更新或删除操作,不需要对其进行同步至第一数据库集群的操作。
判断该节点是否已开启同步处理,可以通过判断标志位的方式,如节点的数据信息中还包括是否对更新操作同步、是否对删除操作同步等标志位。当监控到节点的更新操作,获取节点的数据信息中是否对更新操作同步的标志位,若节点的数据信息标志位为是,则判断该节点已开启同步处理;若节点的数据信息标志位为否,则判断该节点未开启同步处理。
进一步,对节点的更新、删除操作不限于仅监控用户触发的更新、删除操作,因其他因素引起的如监控到程序自动更新、删除等操作时,也对节点进行判断,判断其是否已开启同步处理。
进一步,监控任一节点的更新和/或删除操作时,监控的时间点可以是该节点执行过更新和/或删除操作;也可以是接收到对该节点进行更新和/或删除操作的请求。当判断需要执行步骤S206时,则在该节点正常更新或删除后,对该节点进行同步,将其同步至第一数据库集群,保证同步的第一数据库集群的数据一致性。
步骤S206,将该节点同步至第一数据库集群。
当节点已开启同步处理时,从第二数据库中查找节点的上下级关系,将该节点的数据信息以及上下级关系同步至第一数据库集群。对应的,将该节点的数据信息以及上下级关系也同步至第二数据库集群。
进一步,在将节点同步至第一数据库集群(以及第二数据库集群时),此处的同步包括了更新操作的同步、删除操作的同步。更新操作的同步即将该节点的数据信息和上下级关系同步至第一数据库集群(以及第二数据库集群),若第一数据库集群(以及第二数据库集群)中未保存该节点时,根据该节点的数据信息和上下级关系在第一数据库集群(以及第二数据库集群)建立该节点;若第一数据库集群(以及第二数据库集群)中已保存该节点时,根据该节点的数据信息和上下级关系在第一数据库集群(以及第二数据库集群)更新该节点。删除操作的同步即从第一数据库集群(以及第二数据库集群)中根据该节点的数据信息和上下级关系删除该节点。
对于步骤S202-S204,本实施例不限定其执行前后顺序,根据实施时步骤对应的操作,来执行该步骤。
根据本发明提供的数据回滚方法,利用第二数据库可以快速的查找定位节点,得到节点的上下级关系,方便根据节点的上下级关系对第一数据库中的节点进行批量删除、同步等操作。对第一数据库的各种处理进行扩展,改善其因受限于树形结构存储方式所导致的查询速度过慢、同步处理、批量删除等操作处理复杂等问题。
实施例三
本申请实施例三提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据回滚方法。
可执行指令具体可以用于使得处理器执行以下操作:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据具有映射关系;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:根据数据树名称,从第二数据库中查找该数据树中各节点的上下级关系;根据各节点的上下级关系从第一数据库中查找各节点;展示包含各节点的上下级关系的树形结构的数据树。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:接收用户触发的根据节点名称和/或节点路径信息对节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:若节点在第一数据库中已被删除,利用操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息;和/或,若节点在第一数据库中未被删除,利用操作历史信息中的数据历史信息更新第一数据库和第二数据库中该节点的数据信息;将回滚操作所产生的新的操作历史信息保存在第二数据库中。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息;数据信息包括节点名称、节点值、节点路径信息和/或节点数据类型;节点路径信息记录节点上下级关系。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:根据用户选取的对待删除节点的批量删除操作,从第二数据库中查找待删除节点的所有下级节点;删除第一数据库和第二数据库中待删除节点以及待删除节点的所有下级节点的数据信息;将批量删除操作所产生的新的操作历史信息保存在第二数据库中。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理;若是,将该节点同步至第一数据库集群。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:从第二数据库中获取该节点的上下级关系;将该节点的数据信息以及上下级关系同步至第一数据库集群。
在一种可选的实施方式中,第一数据库为zookeeper数据库。
实施例四
图3示出了根据本发明实施例四的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图3所示,该电子设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述数据回滚方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:
在一种可选的实施方式中,程序310用于使得处理器302获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据具有映射关系;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。
在一种可选的实施方式中,程序310用于使得处理器302根据数据树名称,从第二数据库中查找该数据树中各节点的上下级关系;根据各节点的上下级关系从第一数据库中查找各节点;展示包含各节点的上下级关系的树形结构的数据树。
在一种可选的实施方式中,程序310用于使得处理器302接收用户触发的根据节点名称和/或节点路径信息对节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
在一种可选的实施方式中,程序310用于使得处理器302若节点在第一数据库中已被删除,利用操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息;和/或,若节点在第一数据库中未被删除,利用操作历史信息中的数据历史信息更新第一数据库和第二数据库中该节点的数据信息;将回滚操作所产生的新的操作历史信息保存在第二数据库中。
在一种可选的实施方式中,程序310用于使得处理器302接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息;数据信息包括节点名称、节点值、节点路径信息和/或节点数据类型;节点路径信息记录节点上下级关系。
在一种可选的实施方式中,程序310用于使得处理器302根据用户选取的对待删除节点的批量删除操作,从第二数据库中查找待删除节点的所有下级节点;删除第一数据库和第二数据库中待删除节点以及待删除节点的所有下级节点的数据信息;将批量删除操作所产生的新的操作历史信息保存在第二数据库中。
在一种可选的实施方式中,程序310用于使得处理器302根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
在一种可选的实施方式中,程序310用于使得处理器302监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理;若是,将该节点同步至第一数据库集群。
在一种可选的实施方式中,程序310用于使得处理器302从第二数据库中获取该节点的上下级关系;将该节点的数据信息以及上下级关系同步至第一数据库集群。
在一种可选的实施方式中,第一数据库为zookeeper数据库。
程序310中各步骤的具体实现可以参见上述数据回滚实施例中的相应步骤中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,第二数据库为关系型数据库,第二数据库的数据与第一数据库的数据与具有映射关系;根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点。根据本发明,利用与第一数据库中数据具有映射关系的第二数据库的数据,可以对以树形结构存储于第一数据库中的数据进行更快捷方便的回滚处理。利用第二数据库保存节点的操作历史信息,方便用户可以快速查询到对节点的各种操作历史,了解节点数据信息的变更情况,还可以及时根据操作历史信息来修正节点的数据信息,及时修正误操作等产生的各种问题。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (30)

1.一种数据回滚方法,其中,所述数据以树形结构存储于第一数据库中,所述方法包括:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,所述第二数据库为关系型数据库,所述第二数据库的数据与所述第一数据库的数据具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点;
所述根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点进一步包括:若所述节点在所述第一数据库中已被删除,利用所述操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息;和/或,若所述节点在所述第一数据库中未被删除,利用所述操作历史信息中的数据历史信息更新第一数据库和第二数据库中该节点的数据信息;将回滚操作所产生的新的操作历史信息保存在第二数据库中。
2.根据权利要求1所述的方法,其中,所述获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点进一步包括:
根据所述数据树名称,从第二数据库中查找该数据树中各节点的上下级关系;
根据各节点的上下级关系从第一数据库中查找各节点;
展示包含各节点的上下级关系的树形结构的数据树。
3.根据权利要求1或2所述的方法,其中,所述接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息进一步包括:
接收用户触发的根据节点名称和/或节点路径信息对节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
4.根据权利要求1或2所述的方法,其中,所述操作历史信息包括操作者信息、操作时间、数据历史信息和/或操作类型。
5.根据权利要求1所述的方法,其中,所述方法还包括:
接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息;所述数据信息包括节点名称、节点值、节点路径信息和/或节点数据类型;所述节点路径信息记录节点上下级关系。
6.根据权利要求1或2所述的方法,其中,所述方法还包括:
根据用户选取的对待删除节点的批量删除操作,从第二数据库中查找所述待删除节点的所有下级节点;
删除第一数据库和第二数据库中所述待删除节点以及所述待删除节点的所有下级节点的数据信息;
将所述批量删除操作所产生的新的操作历史信息保存在第二数据库中。
7.根据权利要求1所述的方法,其中,所述方法还包括:
根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
8.根据权利要求1所述的方法,其中,所述方法还包括:
监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理;若是,将该节点同步至第一数据库集群。
9.根据权利要求7或8所述的方法,其中,将将该节点同步至第一数据库集群具体为:
从第二数据库中获取该节点的上下级关系;
将该节点的数据信息以及所述上下级关系同步至第一数据库集群。
10.根据权利要求1或2所述的方法,其中,所述第一数据库为zookeeper数据库。
11.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,所述第二数据库为关系型数据库,所述第二数据库的数据与第一数据库的数据具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点;
所述根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点进一步包括:若所述节点在所述第一数据库中已被删除,利用所述操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息;和/或,若所述节点在所述第一数据库中未被删除,利用所述操作历史信息中的数据历史信息更新第一数据库和第二数据库中该节点的数据信息;将回滚操作所产生的新的操作历史信息保存在第二数据库中。
12.根据权利要求11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
根据所述数据树名称,从第二数据库中查找该数据树中各节点的上下级关系;
根据各节点的上下级关系从第一数据库中查找各节点;
展示包含各节点的上下级关系的树形结构的数据树。
13.根据权利要求11或12所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
接收用户触发的根据节点名称和/或节点路径信息对节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
14.根据权利要求11或12所述的电子设备,所述操作历史信息包括操作者信息、操作时间、数据历史信息和/或操作类型。
15.根据权利要求11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息;所述数据信息包括节点名称、节点值、节点路径信息和/或节点数据类型;所述节点路径信息记录节点上下级关系。
16.根据权利要求11或12所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
根据用户选取的对待删除节点的批量删除操作,从第二数据库中查找所述待删除节点的所有下级节点;
删除第一数据库和第二数据库中所述待删除节点以及所述待删除节点的所有下级节点的数据信息;
将所述批量删除操作所产生的新的操作历史信息保存在第二数据库中。
17.根据权利要求11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
18.根据权利要求11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理;
若是,将该节点同步至第一数据库集群。
19.根据权利要求17或18所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
从第二数据库中获取该节点的上下级关系;
将该节点的数据信息以及所述上下级关系同步至第一数据库集群。
20.根据权利要求11或12所述的电子设备,所述第一数据库为zookeeper数据库。
21.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:
获取前端页面反馈的用户选取的数据树的名称,查找并展示该数据树所包含的各个节点;
接收用户触发的对任一节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息;其中,所述第二数据库为关系型数据库,所述第二数据库的数据与第一数据库的数据具有映射关系;
根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点;
所述根据用户触发的任一操作历史信息的回滚操作,利用该操作历史信息更新该节点进一步包括:若所述节点在所述第一数据库中已被删除,利用所述操作历史信息中的数据历史信息重新在第一数据库和第二数据库中生成该节点的数据信息;和/或,若所述节点在所述第一数据库中未被删除,利用所述操作历史信息中的数据历史信息更新第一数据库和第二数据库中该节点的数据信息;将回滚操作所产生的新的操作历史信息保存在第二数据库中。
22.根据权利要求21所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
根据所述数据树名称,从第二数据库中查找该数据树中各节点的上下级关系;
根据各节点的上下级关系从第一数据库中查找各节点;
展示包含各节点的上下级关系的树形结构的数据树。
23.根据权利要求21或22所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
接收用户触发的根据节点名称和/或节点路径信息对节点的操作历史信息的查询操作,从第二数据库中查询并展示该节点的操作历史信息。
24.根据权利要求21或22所述的计算机存储介质,所述操作历史信息包括操作者信息、操作时间、数据历史信息和/或操作类型。
25.根据权利要求21所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
接收用户触发的对任一节点的点击操作,从第二数据库中查找并展示该节点的数据信息;所述数据信息包括节点名称、节点值、节点路径信息和/或节点数据类型;所述节点路径信息记录节点上下级关系。
26.根据权利要求21或22所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
根据用户选取的对待删除节点的批量删除操作,从第二数据库中查找所述待删除节点的所有下级节点;
删除第一数据库和第二数据库中所述待删除节点以及所述待删除节点的所有下级节点的数据信息;
将所述批量删除操作所产生的新的操作历史信息保存在第二数据库中。
27.根据权利要求21所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
根据用户选取的对任一节点的同步操作,将该节点同步至第一数据库集群。
28.根据权利要求21所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
监控任一节点的更新和/或删除操作,判断该节点是否已开启同步处理;
若是,将该节点同步至第一数据库集群。
29.根据权利要求27或28所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
从第二数据库中获取该节点的上下级关系;
将该节点的数据信息以及所述上下级关系同步至第一数据库集群。
30.根据权利要求21或22所述的计算机存储介质,所述第一数据库为zookeeper数据库。
CN201910459069.3A 2019-05-29 2019-05-29 数据回滚方法、电子设备、存储介质 Active CN110232057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910459069.3A CN110232057B (zh) 2019-05-29 2019-05-29 数据回滚方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910459069.3A CN110232057B (zh) 2019-05-29 2019-05-29 数据回滚方法、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN110232057A CN110232057A (zh) 2019-09-13
CN110232057B true CN110232057B (zh) 2021-03-12

Family

ID=67858567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910459069.3A Active CN110232057B (zh) 2019-05-29 2019-05-29 数据回滚方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110232057B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190768B (zh) * 2019-12-25 2020-10-16 中科驭数(北京)科技有限公司 数据库执行错误恢复方法、数据库访问方法及装置
CN111552675A (zh) * 2020-04-24 2020-08-18 北京达佳互联信息技术有限公司 信息查询方法、装置、计算机设备及存储介质
CN112269677A (zh) * 2020-10-10 2021-01-26 北京浪潮数据技术有限公司 一种异构云平台下的回滚操作装置、方法、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127045A (zh) * 2007-09-25 2008-02-20 中兴通讯股份有限公司 数据库可重复读实现方法、装置及数据库管理系统
US7542983B1 (en) * 2006-11-16 2009-06-02 Bruso Kelsey L Delaying automated data page merging in a B+tree until after committing the transaction
CN102880678A (zh) * 2012-09-11 2013-01-16 哈尔滨工程大学 一种嵌入式实时内存数据库
CN104331478A (zh) * 2014-11-05 2015-02-04 浪潮电子信息产业股份有限公司 一种自精简存储系统数据一致性管理方法
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
CN106814972A (zh) * 2016-12-22 2017-06-09 北京华云网际科技有限公司 分布式块存储的快照节点的回滚方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226484A (zh) * 2013-04-15 2013-07-31 浙江大学 一种星载综合电子系统程序的在轨更新方法
CN109684541B (zh) * 2018-12-12 2021-03-30 口碑(上海)信息技术有限公司 应用页面的展示方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542983B1 (en) * 2006-11-16 2009-06-02 Bruso Kelsey L Delaying automated data page merging in a B+tree until after committing the transaction
CN101127045A (zh) * 2007-09-25 2008-02-20 中兴通讯股份有限公司 数据库可重复读实现方法、装置及数据库管理系统
CN102880678A (zh) * 2012-09-11 2013-01-16 哈尔滨工程大学 一种嵌入式实时内存数据库
CN104331478A (zh) * 2014-11-05 2015-02-04 浪潮电子信息产业股份有限公司 一种自精简存储系统数据一致性管理方法
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
CN106814972A (zh) * 2016-12-22 2017-06-09 北京华云网际科技有限公司 分布式块存储的快照节点的回滚方法和装置

Also Published As

Publication number Publication date
CN110232057A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110232057B (zh) 数据回滚方法、电子设备、存储介质
US7290222B2 (en) Methods, systems and computer program products for providing tree diagram graphical user interfaces having secondary expansion capabilities
US8533193B2 (en) Managing log entries
US8806379B2 (en) Method and system for displaying group relationships in a graphical user interface
US8863029B2 (en) Method and system for providing graphical user interface having filtering capability
EP2784665A1 (en) Program and version control method
CN107608860B (zh) 一种错误日志分类存储的方法、装置、设备
CN108228799B (zh) 对象索引信息的存储方法及装置
US20160299827A1 (en) Generating a visualization of a metric at a level of execution
CN112039725B (zh) It物理资产监测方法、装置、平台及可读存储介质
CN103533029B (zh) 甘特图数据加载方法及系统
CN107209707B (zh) 基于云的分级系统保存
CN110647459A (zh) 应用测试方法及装置
CN114238085A (zh) 接口测试方法、装置、计算机设备、存储介质
US20160217203A1 (en) Systems, Methods, and Apparatuses for Creating, Linking and Discovering Business Navigation Maps for Analyzing Data
CN107330031B (zh) 一种数据存储的方法、装置及电子设备
CN115687560B (zh) 一种基于有限确定自动机的海量关键词查找方法
CN109376073B (zh) 一种测试环境记忆及恢复方法
CN116745757A (zh) 替换表
CN113031835A (zh) 一种菜单数据处理方法及装置
JP5899587B2 (ja) ファイルの検索方法、ファイル検索装置及びプログラム
CN110780852A (zh) 一种确定数据源的方法、装置、设备和介质
CN113542127B (zh) 无角色vtep节点单vxlan拓扑查找方法及装置
CN113127549B (zh) 增量数据的同步方法、装置、计算机设备和存储介质
WO2016045397A1 (en) Method and query processing server for optimizing query execution

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