CN107329854A - 操作撤销方法和装置、电子设备 - Google Patents

操作撤销方法和装置、电子设备 Download PDF

Info

Publication number
CN107329854A
CN107329854A CN201710470837.6A CN201710470837A CN107329854A CN 107329854 A CN107329854 A CN 107329854A CN 201710470837 A CN201710470837 A CN 201710470837A CN 107329854 A CN107329854 A CN 107329854A
Authority
CN
China
Prior art keywords
information
destruction
operation information
backout
data
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
CN201710470837.6A
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.)
Bit continent Technology Co., Ltd.
Original Assignee
Feng Feng Technology (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 Feng Feng Technology (beijing) Co Ltd filed Critical Feng Feng Technology (beijing) Co Ltd
Priority to CN201710470837.6A priority Critical patent/CN107329854A/zh
Publication of CN107329854A publication Critical patent/CN107329854A/zh
Pending legal-status Critical Current

Links

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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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

Landscapes

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

Abstract

本发明实施例公开了一种操作撤销方法和装置、电子设备,其中,方法包括:接收对更新数据已执行的待撤销操作的操作撤销请求;响应于对待撤销操作的操作撤销请求,获取待撤销操作对应的逆序操作信息;逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;根据所述逆序操作信息执行操作,获得原始数据。本发明实施例通过获取待撤销操作对应的逆序操作信息,按照逆序操作信息对更新数据执行操作,获得撤销了待撤销操作的原始数据,由于逆序操作信息的获取使撤销操作更易执行,适用于频繁撤销操作;提高了数据撤销操作的灵活性,支持任意时刻撤销任意数量的数据更新操作,并大大减少了数据撤销操作的代价。

Description

操作撤销方法和装置、电子设备
技术领域
本发明涉及数据操作技术,尤其是一种操作撤销方法和装置、电子设备。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。对于数据库中的数据操作是非常频繁的,但出现操作错误时,就需要进行操作撤销,目前已有的数据库产品大多是通过将数据库备份的方式来实现撤销,也即每过一段时间将数据库文件保存一次。当需要撤销的时候,就将当前数据舍弃,并读取出之前保存的数据。
在实现本发明的过程中,发明人发现,至少存在以下问题:现有技术中提供的数据撤销操作无法适应频繁撤销操作,会需要非常频繁的备份数据库,占用极大的存储空间。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种适用于执行频繁操作的操作撤销技术。
本发明实施例提供的一种操作撤销方法,包括:
接收对更新数据已执行的待撤销操作的操作撤销请求;所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
根据所述逆序操作信息执行操作,获得原始数据。
在基于本发明上述方法的另一个实施例中,所述逆序操作信息与所述正序操作信息一一对应,所述逆序操作信息包括至少一个逆操作信息;所述正序操作信息包括至少一个正操作信息;
每个所述逆操作信息与一个所述正序操作信息相对应,所述逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
所述逆序操作信息中逆操作信息的顺序与其对应的所述正序操作信息中正操作信息的顺序相反。
在基于本发明上述方法的另一个实施例中,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得所述待撤销操作对应的正序操作信息,直到关闭监控开关;所述监控开关用于控制对所述原始数据的监控,以获取对所述原始数据的正序操作信息。
在基于本发明上述方法的另一个实施例中,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
获取所述待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
基于每个所述正操作信息获取对应的逆操作信息,基于所述顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应所述待撤销操作对应的逆序操作信息。
在基于本发明上述方法的另一个实施例中,还包括:将获得的对应所述待撤销操作对应的逆序操作信息存入撤销补丁列表中;所述撤销补丁列表中保存至少一个撤销补丁,每个所述撤销补丁保存一个对所述原始数据的一个逆序操作信息。
在基于本发明上述方法的另一个实施例中,所述获取待撤销操作对应的逆序操作信息,包括:
从撤销补丁列表中获取对应所述待撤销操作的一个撤销补丁,基于所述撤销补丁获得对应待撤销操作的逆序操作信息。
在基于本发明上述方法的另一个实施例中,还包括:将获得的对应所述待撤销操作对应的逆序操作信息存入撤销补丁列表中;所述撤销补丁列表中保存至少一个撤销补丁,每个所述撤销补丁保存一个对所述原始数据的一个逆操作信息。
在基于本发明上述方法的另一个实施例中,所述获取待撤销操作对应的逆序操作信息,包括:
从撤销补丁列表中获取对应所述待撤销操作的至少一个撤销补丁,基于所有所述撤销补丁获得对应待撤销操作的逆序操作信息。
在基于本发明上述方法的另一个实施例中,所述撤销补丁列表中所有撤销补丁按照时间顺序排列。
在基于本发明上述方法的另一个实施例中,还包括:每达到设定时间间隔,清除所述撤销补丁列表中的所有撤销补丁。
根据本发明实施例的另一个方面,提供的一种操作撤销装置,包括:
请求接收单元,用于接收对更新数据已执行的待撤销操作的操作撤销请求,所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
信息获取单元,用于响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
操作单元,用于根据所述逆序操作信息执行操作,获得原始数据。
根据本发明实施例的另一个方面,提供的一种电子设备,包括如上所述的操作撤销装置。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上任意一项所述的操作撤销方法的操作。
基于本发明上述实施例提供的一种操作撤销方法和装置、电子设备,通过获取待撤销操作对应的逆序操作信息,按照逆序操作信息对更新数据执行操作,获得撤销了待撤销操作的原始数据,由于逆序操作信息的获取使撤销操作更易执行,适用于频繁撤销操作;提高了数据撤销操作的灵活性,支持任意时刻撤销任意数量的数据更新操作,并大大减少了数据撤销操作的代价。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明操作撤销方法一个实施例的流程图。
图2为本发明操作撤销方法又一个实施例的流程图。
图3为本发明操作撤销装置一个实施例的结构示意图。
图4为本发明操作撤销装置另一个实施例的结构示意图。
图5为本发明操作撤销装置又一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本发明操作撤销方法一个实施例的流程图。如图1所示,该实施例方法包括:
步骤103,接收对更新数据已执行的待撤销操作的操作撤销请求。
其中,待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据,待撤销操作可以是对原始数据的删除、添加或替换等操作,待撤销操作可以是一个或多个删除、添加或替换等操作,多个操作之间存在操作顺序,这些顺序操作对应正序操作信息。
步骤104,响应于对待撤销操作的操作撤销请求,获取待撤销操作对应的逆序操作信息。
其中,逆序操作信息用于表示对待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息,完全逆序可以包括两个含义,第一种是顺序是相反的,并且每个单独的操作信息也是逆向的;第二种是指仅是操作信息的顺序是相反的,通常本申请所指完全逆序操作是指第一种,但也存在第二种的情况。
步骤105,根据逆序操作信息执行操作,获得原始数据。
本实施例提供的操作撤销方法可以应用于数据库操作,在具体应用中,更适用于需要频繁撤销操作的区块链系统,现有的区块链系统大多基于工作量证明机制(POW)来达成共识,区块链系统中的各个节点通过完成一项非常困难的任务(通常是一个非常难解的数学问题)来获取在区块链中添加新的区块的权限,并获取相应奖励。POW能够防止节点任意的向区块链中添加新的区块,从而保证区块链的一致性。但由于多个节点可能同时完成任务,这些节点都拥有了在区块链中加入新区块的权限,此时区块链会发生分叉。分叉发生后各节点会在自己所在的分叉链上继续工作(求解难解的数学问题),并在该分叉上添加新的区块。直到最终有一条分叉的长度超过其他分叉,此时该分叉会重新成为新的主链,所有节点会抛弃其他分叉并在该主链上继续工作。
大多数基于区块链的互联网产品需要连接到区块链系统的一个或多个节点,并从该节点上获取数据,同时更新后端数据库。由于区块链可能分叉,此时如果我们连接的节点是处于分叉链上并最终被抛弃,那么此时需要撤销之前分叉链上的区块数据对应的后段数据库更新操作。
而目前已有的数据库产品大多是通过将数据库备份的方式来实现撤销,也即每过一段时间将数据库文件保存一次。当需要撤销的时候,就将当前数据舍弃,并读取出之前保存的数据。这种处理方式并不适用于区块链产品,因为区块链的分叉的时间不确定,而且比较频繁(例如,以太坊测试链中平均30分钟就发生一次分叉),如果采用备份恢复的方法,会需要非常频繁的备份数据库(例如,以太坊平均每15秒产生一个新的区块,也即每15秒就需要备份一次数据库),这样代价太大。因此,采用本实施例提供的操作撤销方法更适合区块链系统的操作。
基于本发明上述实施例提供的一种操作撤销方法,通过获取待撤销操作对应的逆序操作信息,按照逆序操作信息对更新数据执行操作,获得撤销了待撤销操作的原始数据,由于逆序操作信息的获取使撤销操作更易执行,适用于频繁撤销操作;提高了数据撤销操作的灵活性,支持任意时刻撤销任意数量的数据更新操作,并大大减少了数据撤销操作的代价。
在本发明操作撤销方法上述实施例的一个具体示例中,逆序操作信息与正序操作信息一一对应,逆序操作信息包括至少一个逆操作信息;正序操作信息包括至少一个正操作信息;
每个逆操作信息与一个正序操作信息相对应,逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
逆序操作信息中逆操作信息的顺序与其对应的正序操作信息中正操作信息的顺序相反。
在本发明操作撤销方法的另一个实施例中,基于上述实施例的基础上,在步骤103之前还可以包括:
开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得待撤销操作对应的正序操作信息,直到关闭监控开关;监控开关用于控制对原始数据的监控,以获取对原始数据的正序操作信息。
本实施例提供的方法通过监控开关控制对那些需要执行撤销的操作进行记录其操作信息,以获得正序操作信息,基于正序操作信息才能获得相应的逆序操作信息,进而完成对待撤销操作的撤销;因此,在本实施例中只有在监控开关开启的情况下执行的操作信息才进行记录,节省了存储空间。
图2为本发明操作撤销方法又一个实施例的流程图。在上述实施例的基础上,如图2所示,本实施例方法包括:
步骤201,获取待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序。
步骤202,基于每个正操作信息获取对应的逆操作信息,基于顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应待撤销操作对应的逆序操作信息。
步骤103,接收对更新数据已执行的待撤销操作的操作撤销请求。
其中,待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据。
步骤104,响应于对待撤销操作的操作撤销请求,获取待撤销操作对应的逆序操作信息。
其中,逆序操作信息用于表示对待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息。
步骤105,根据逆序操作信息执行操作,获得原始数据。
本实施例提供的方法,通过从待撤销操作获取正序操作信息,将正序操作信息分解为顺序和每个正操作,此时获取的是所有正操作信息和顺序信息,基于顺序信息将获得对应的逆序信息,将对应正操作信息的逆操作信息按照逆序信息进行排序就获得逆序操作信息,基于该获得的逆序操作信息执行就可撤销待撤销操作对数据的操作,获得执行待撤销操作之前的数据。
在本发明操作撤销方法上述实施例的一个具体示例中,步骤202与步骤103之间还可以包括:
将获得的对应待撤销操作对应的逆序操作信息存入撤销补丁列表中;撤销补丁列表中保存至少一个撤销补丁,每个撤销补丁保存一个对原始数据的一个逆序操作信息。
本实施例中将每个逆序操作信息作为一个撤销补丁存入撤销补丁列表中,在需要撤销待撤销操作时,只需读取撤销补丁列表中对应该待撤销操作的撤销补丁,即可获得逆序操作信息,进而完成撤销操作。
在本发明操作撤销方法上述各实施例的一个具体示例中,步骤104具体包括:
从撤销补丁列表中获取对应待撤销操作的一个撤销补丁,基于撤销补丁获得对应待撤销操作的逆序操作信息。
在本实施例中,由于将逆序操作信息存入了撤销补丁列表中,执行撤销操作时,只要读取撤销补丁列表中对应的撤销补丁即可获得对应的逆序操作信息。
在本发明操作撤销方法上述实施例的另一个具体示例中,步骤202与步骤103之间还可以包括:
将获得的对应待撤销操作对应的逆序操作信息存入撤销补丁列表中;撤销补丁列表中保存至少一个撤销补丁,每个撤销补丁保存一个对原始数据的一个逆操作信息。
此时,步骤104具体包括:从撤销补丁列表中获取对应待撤销操作的至少一个撤销补丁,基于所有撤销补丁获得对应待撤销操作的逆序操作信息。
在本示例中将每个逆操作存入一个撤销补丁中,并且其中撤销补丁的保存方式可以是正序排列、也可以是逆序排列,此时如过需要获得的逆序操作信息包括多个逆操作信息,那么此时需要获得多个撤销补丁即可获得撤销操作信息。
在上述各实施例操作撤销方法的一个具体示例中,撤销补丁列表中所有撤销补丁按照时间顺序排列。
对于按照时间顺序排列的撤销补丁,当撤销补丁中保存对于待撤销操作的完整逆序操作信息时,只需获得对应的一个撤销补丁即可;而当每个撤销补丁中只保存一个逆操作信息时,按照时间顺序排列撤销补丁时,在获取对应待撤销操作的多个撤销补丁时,从对应第一个正操作信息的逆操作信息顺序获得所需数量的撤销补丁,将获得的撤销补丁中的逆操作信息逆序读取获得逆序操作信息。
为了保证撤销补丁列表的时效性,每达到设定时间间隔,清除撤销补丁列表中的所有撤销补丁。
定期清理撤销补丁列表可以保证撤销补丁列表中有剩余空间,能够保存新的逆序操作信息或逆操作信息。
Key-Value分布式存储系统数据库更新操作基本分为两类:删除数据操作delete,更新数据操作put。
delete操作一般会带上需要删除的数据的key作为参数,当遇到delete操作时我们会先读取key对应的值value,并将put(key,value)操作放入撤销补丁列表中。这样撤销时我们只需执行put(key,value)就自然将数据库恢复到delete之前的状态。
put操作一般会带上两个参数key和value,如果原先数据库中不存在key和对应的value,那么就新建一条记录。如果原先存在key,就将该key对应的值更新为value。在构建put操作的逆操作时,我们先检查原先数据库中是否存在key,如果不存在,其逆操作为delete key;如果存在,逆操作为将value重置为原有的值。
将上述任一实施例的操作撤销方法应用到一个具体的Key-Value数据库中时,在具体实施中可以如下:
1)初始状态下的原始表格数据如表1所示:
表1原始数据列表
key value
Alice 123
Bob 456
Cindy 789
初始状态时撤销补丁列表为空。
对原始数据执行插入操作:insert(David,101112)
2)对原始数据执行插入操作后的更新数据如表2所示:
表2执行插入操作的更新数据列表
key value
Alice 123
Bob 456
Cindy 789
David 101112
此时,撤销补丁列表中包括一个撤销补丁,该撤销补丁为:
delete David。
3)对2)获得的更新数据数据执行替换操作后的更新数据如表3所示:
表3执行替换操作的更新数据列表
key value
Alice 123
Bob 456
Cindy 789
David 12
此时,撤销补丁列表中包括两个撤销补丁,如表4所示:
表4撤销补丁列表
deleteDavid
Update(David,101112)
4)对3)获得的更新数据执行删除操作后获得的更新数据如表5所示:
表5执行删除操作后的更新数据列表
key value
Bob 456
Cindy 789
David 12
此时,撤销补丁列表中包括三个撤销补丁,如表6所示:
表6撤销补丁列表
deleteDavid
Update(David,101112)
Insert(Alice,123)
每次数据库撤销操作就是获取撤销补丁列表中的撤销补丁最后一行来操作当前数据库,当执行4)的删除操作的撤销时,获取撤销补丁Insert(Alice,123)并执行,数据库恢复为表3所示的数据。
如果需要将上述三次操作都进行撤销,将倒序获得撤销补丁:Insert(Alice,123)、Update(David,101112)和delete David,并依次执行操作,基于表5所示的数据执行撤销补丁Insert(Alice,123)获得表3所示的数据,基于表3所示的数据执行撤销补丁Update(David,101112)将获得表2所示的数据,基于表2所示的数据执行撤销补丁deleteDavid将获得表1所示的数据,完成对三次操作的撤销。
而监控开关的作用在具体实施中,通过以下列子进行说明:
数据库中保存有多张表格:分别为表7、表8和表9,表格内容如下:
表7
key value
Alice 123
Bob 456
Cindy 789
表8
key value
China 123
USA 456
Japan 789
表9
但是只有表7中的操作有撤销的需求,那么对于下面一系列数据库操作:insert(David,101112)table 1;
update(David,12)table 1;
insert(India,222)table 2;
update(India,2222222)table 2;
delete NYtable 3。
只需要在操作表7的时候打开撤销开关,那么获取的撤销补丁列表就只包括对表1监控获得的操作补丁,如表10所示:
表10撤销补丁列表
deleteDavid
Update(David,101112)
这样就不会有很多无用的撤销补丁,可以节省大量资源。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明操作撤销装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图3所示,该实施例的装置包括:
请求接收单元34,用于接收对更新数据已执行的待撤销操作的操作撤销请求,其中,待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据。
信息获取单元35,用于响应于对待撤销操作的操作撤销请求,获取待撤销操作对应的逆序操作信息;其中,逆序操作信息用于表示对待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息。
操作单元36,用于根据逆序操作信息执行操作,获得原始数据。
基于本发明上述实施例提供的一种操作撤销装置,通过获取待撤销操作对应的逆序操作信息,按照逆序操作信息对更新数据执行操作,获得撤销了待撤销操作的原始数据,由于逆序操作信息的获取使撤销操作更易执行,适用于频繁撤销操作;提高了数据撤销操作的灵活性,支持任意时刻撤销任意数量的数据更新操作,并大大减少了数据撤销操作的代价。
在本发明操作撤销装置上述实施例的一个具体示例中,逆序操作信息与正序操作信息一一对应,逆序操作信息包括至少一个逆操作信息;正序操作信息包括至少一个正操作信息;
每个逆操作信息与一个正序操作信息相对应,逆操作信息执行的操作与其对应的正序操作信息执行的操作为逆操作;
逆序操作信息中逆操作信息的顺序与其对应的正序操作信息中正操作信息的顺序相反。
图4为本发明操作撤销装置另一个实施例的结构示意图。在上述实施例的基础上,如图4所示,本实施例装置中还包括:
监控单元41,用于开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得待撤销操作对应的正序操作信息,直到关闭监控开关;监控开关用于控制对所述原始数据的监控,以获取对原始数据的正序操作信息。
本实施例提供的装置通过监控开关控制对那些需要执行撤销的操作进行记录其操作信息,以获得正序操作信息,基于正序操作信息才能获得相应的逆序操作信息,进而完成对待撤销操作的撤销;因此,在本实施例中只有在监控开关开启的情况下执行的操作信息才进行记录,节省了存储空间。
图5为本发明操作撤销装置又一个实施例的结构示意图。在上述实施例的基础上,如图2所示,本实施例装置还包括:
顺序获取单元52,用于获取待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
逆操作单元53,用于基于每个正操作信息获取对应的逆操作信息,基于顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应待撤销操作对应的逆序操作信息。
本实施例提供的装置,通过从待撤销操作获取正序操作信息,将正序操作信息分解为顺序和每个正操作,此时获取的是所有正操作信息和顺序信息,基于顺序信息将获得对应的逆序信息,将对应正操作信息的逆操作信息按照逆序信息进行排序就获得逆序操作信息,基于该获得的逆序操作信息执行就可撤销待撤销操作对数据的操作,获得执行待撤销操作之前的数据。
在本发明操作撤销装置上述实施例的一个具体示例中,还包括:
撤销补丁列表,用于存储获得的对应待撤销操作对应的逆序操作信息;撤销补丁列表中保存至少一个撤销补丁,每个撤销补丁保存一个对原始数据的一个逆序操作信息或逆操作信息。
在本发明操作撤销装置上述实施例的一个具体示例中,信息获取单元35,具体用于从撤销补丁列表中获取对应待撤销操作的至少一个撤销补丁,基于撤销补丁获得对应待撤销操作的逆序操作信息。
在本发明操作撤销装置上述实施例的一个具体示例中,撤销补丁列表中所有撤销补丁按照时间顺序排列。
在本发明操作撤销装置上述实施例的一个具体示例中,还包括:列表更新单元,用于每达到设定时间间隔,清除撤销补丁列表中的所有撤销补丁。
根据本发明实施例的另一个方面,提供的一种电子设备,包括上述任意一项实施例操作撤销装置。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任意一项实施例操作撤销方法的操作。
1、一种操作撤销方法,包括:
接收对更新数据已执行的待撤销操作的操作撤销请求;所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
根据所述逆序操作信息执行操作,获得原始数据。
2、根据1所述的方法,所述逆序操作信息与所述正序操作信息一一对应,所述逆序操作信息包括至少一个逆操作信息;所述正序操作信息包括至少一个正操作信息;
每个所述逆操作信息与一个所述正序操作信息相对应,所述逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
所述逆序操作信息中逆操作信息的顺序与其对应的所述正序操作信息中正操作信息的顺序相反。
3、根据1或2所述的方法,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得所述待撤销操作对应的正序操作信息,直到关闭监控开关;所述监控开关用于控制对所述原始数据的监控,以获取对所述原始数据的正序操作信息。
4、根据1-3任一所述的方法,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
获取所述待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
基于每个所述正操作信息获取对应的逆操作信息,基于所述顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应所述待撤销操作对应的逆序操作信息。
5、根据4所述的方法,还包括:将获得的对应所述待撤销操作对应的逆序操作信息存入撤销补丁列表中;所述撤销补丁列表中保存至少一个撤销补丁,每个所述撤销补丁保存一个对所述原始数据的一个逆序操作信息。
6、根据5所述的方法,所述获取待撤销操作对应的逆序操作信息,包括:
从撤销补丁列表中获取对应所述待撤销操作的一个撤销补丁,基于所述撤销补丁获得对应待撤销操作的逆序操作信息。
7、根据4所述的方法,还包括:将获得的对应所述待撤销操作对应的逆序操作信息存入撤销补丁列表中;所述撤销补丁列表中保存至少一个撤销补丁,每个所述撤销补丁保存一个对所述原始数据的一个逆操作信息。
8、根据7所述的方法,所述获取待撤销操作对应的逆序操作信息,包括:
从撤销补丁列表中获取对应所述待撤销操作的至少一个撤销补丁,基于所有所述撤销补丁获得对应待撤销操作的逆序操作信息。
9、根据5-8任一所述的方法,所述撤销补丁列表中所有撤销补丁按照时间顺序排列。
10、根据9所述的方法,还包括:每达到设定时间间隔,清除所述撤销补丁列表中的所有撤销补丁。
11、一种操作撤销装置,包括:
请求接收单元,用于接收对更新数据已执行的待撤销操作的操作撤销请求,所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
信息获取单元,用于响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
操作单元,用于根据所述逆序操作信息执行操作,获得原始数据。
12、根据11所述的装置,所述逆序操作信息与所述正序操作信息一一对应,所述逆序操作信息包括至少一个逆操作信息;所述正序操作信息包括至少一个正操作信息;
每个所述逆操作信息与一个所述正序操作信息相对应,所述逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
所述逆序操作信息中逆操作信息的顺序与其对应的所述正序操作信息中正操作信息的顺序相反。
13、根据11或12所述的方法,还包括:监控单元,用于开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得所述待撤销操作对应的正序操作信息,直到关闭监控开关;所述监控开关用于控制对所述原始数据的监控,以获取对所述原始数据的正序操作信息。
14、根据11-13任一所述的装置,还包括:
顺序获取单元,用于获取所述待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
逆操作单元,用于基于每个所述正操作信息获取对应的逆操作信息,基于所述顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应所述待撤销操作对应的逆序操作信息。
15、根据14所述的装置,还包括:
撤销补丁列表,用于存储获得的对应所述待撤销操作对应的逆序操作信息;所述撤销补丁列表中保存至少一个撤销补丁,每个所述撤销补丁保存一个对所述原始数据的一个逆序操作信息或逆操作信息。
16、根据15所述的装置,所述信息获取单元,具体用于从撤销补丁列表中获取对应所述待撤销操作的至少一个撤销补丁,基于所述撤销补丁获得对应待撤销操作的逆序操作信息。
17、根据15-16任一所述的装置,所述撤销补丁列表中所有撤销补丁按照时间顺序排列。
18、根据17所述的装置,还包括:列表更新单元,用于每达到设定时间间隔,清除所述撤销补丁列表中的所有撤销补丁。
19、一种电子设备,包括11至18任意一项所述的操作撤销装置。
20、一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成1至10任意一项所述的操作撤销方法的操作。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种操作撤销方法,其特征在于,包括:
接收对更新数据已执行的待撤销操作的操作撤销请求;所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
根据所述逆序操作信息执行操作,获得原始数据。
2.根据权利要求1所述的方法,其特征在于,所述逆序操作信息与所述正序操作信息一一对应,所述逆序操作信息包括至少一个逆操作信息;所述正序操作信息包括至少一个正操作信息;
每个所述逆操作信息与一个所述正序操作信息相对应,所述逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
所述逆序操作信息中逆操作信息的顺序与其对应的所述正序操作信息中正操作信息的顺序相反。
3.根据权利要求1或2所述的方法,其特征在于,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得所述待撤销操作对应的正序操作信息,直到关闭监控开关;所述监控开关用于控制对所述原始数据的监控,以获取对所述原始数据的正序操作信息。
4.根据权利要求1-3任一所述的方法,其特征在于,所述接收对更新数据已执行的待撤销操作的操作撤销请求之前,还包括:
获取所述待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
基于每个所述正操作信息获取对应的逆操作信息,基于所述顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应所述待撤销操作对应的逆序操作信息。
5.一种操作撤销装置,其特征在于,包括:
请求接收单元,用于接收对更新数据已执行的待撤销操作的操作撤销请求,所述待撤销操作用于对原始数据按照正序操作信息执行操作以获取更新数据;
信息获取单元,用于响应于所述对待撤销操作的操作撤销请求,获取所述待撤销操作对应的逆序操作信息;所述逆序操作信息用于表示对所述待撤销操作对应的正序操作信息进行完全逆操作获得的操作信息;
操作单元,用于根据所述逆序操作信息执行操作,获得原始数据。
6.根据权利要求5所述的装置,其特征在于,所述逆序操作信息与所述正序操作信息一一对应,所述逆序操作信息包括至少一个逆操作信息;所述正序操作信息包括至少一个正操作信息;
每个所述逆操作信息与一个所述正序操作信息相对应,所述逆操作信息执行的操作与其对应的所述正序操作信息执行的操作为逆操作;
所述逆序操作信息中逆操作信息的顺序与其对应的所述正序操作信息中正操作信息的顺序相反。
7.根据权利要求5或6所述的方法,其特征在于,还包括:监控单元,用于开启监控开关,执行对原始数据的监控;在原始数据执行待撤销操作得到更新数据过程中,通过监控获得所述待撤销操作对应的正序操作信息,直到关闭监控开关;所述监控开关用于控制对所述原始数据的监控,以获取对所述原始数据的正序操作信息。
8.根据权利要求5-7任一所述的装置,其特征在于,还包括:
顺序获取单元,用于获取所述待撤销操作对应的所有正操作信息和构成正序操作信息的正操作信息的顺序;
逆操作单元,用于基于每个所述正操作信息获取对应的逆操作信息,基于所述顺序获得对应的逆序,将所有逆操作信息按照逆序排列后构成对应所述待撤销操作对应的逆序操作信息。
9.一种电子设备,其特征在于,包括权利要求5至8任意一项所述的操作撤销装置。
10.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成权利要求1至4任意一项所述的操作撤销方法的操作。
CN201710470837.6A 2017-06-20 2017-06-20 操作撤销方法和装置、电子设备 Pending CN107329854A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710470837.6A CN107329854A (zh) 2017-06-20 2017-06-20 操作撤销方法和装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710470837.6A CN107329854A (zh) 2017-06-20 2017-06-20 操作撤销方法和装置、电子设备

Publications (1)

Publication Number Publication Date
CN107329854A true CN107329854A (zh) 2017-11-07

Family

ID=60194692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710470837.6A Pending CN107329854A (zh) 2017-06-20 2017-06-20 操作撤销方法和装置、电子设备

Country Status (1)

Country Link
CN (1) CN107329854A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522078A (zh) * 2018-11-15 2019-03-26 用友网络科技股份有限公司 操作撤销方法、计算机设备和计算机可读存储介质
CN110795447A (zh) * 2019-10-29 2020-02-14 中国工商银行股份有限公司 数据处理方法、数据处理系统、电子设备和介质
CN111857518A (zh) * 2020-07-30 2020-10-30 北京默契破冰科技有限公司 图像编辑操作的撤销方法、装置、电子设备及介质
CN112000321A (zh) * 2020-09-01 2020-11-27 杭州宏深科技有限公司 适用于三维检测软件的撤销和/或重做实现方法及装置
CN112151152A (zh) * 2020-09-27 2020-12-29 武汉联影智融医疗科技有限公司 误操作处理方法、装置、计算机设备和存储介质
CN114548901A (zh) * 2022-01-13 2022-05-27 北京思特奇信息技术股份有限公司 一种基于数据配置的业务隔笔撤销方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678532A (zh) * 2013-12-02 2014-03-26 中国移动(深圳)有限公司 变更语句逆向分析方法、数据库变更回退方法及系统
CN104715041A (zh) * 2015-03-24 2015-06-17 深圳市乾华数据科技有限公司 一种数据库恢复方法及系统
CN104765659A (zh) * 2015-04-30 2015-07-08 北京奇虎科技有限公司 应用于数据库的数据恢复方法及装置
CN105740131A (zh) * 2014-12-09 2016-07-06 深圳中兴力维技术有限公司 软件用户行为回退处理方法及装置
CN106547801A (zh) * 2015-09-23 2017-03-29 北京奇虎科技有限公司 数据库数据闪回方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678532A (zh) * 2013-12-02 2014-03-26 中国移动(深圳)有限公司 变更语句逆向分析方法、数据库变更回退方法及系统
CN105740131A (zh) * 2014-12-09 2016-07-06 深圳中兴力维技术有限公司 软件用户行为回退处理方法及装置
CN104715041A (zh) * 2015-03-24 2015-06-17 深圳市乾华数据科技有限公司 一种数据库恢复方法及系统
CN104765659A (zh) * 2015-04-30 2015-07-08 北京奇虎科技有限公司 应用于数据库的数据恢复方法及装置
CN106547801A (zh) * 2015-09-23 2017-03-29 北京奇虎科技有限公司 数据库数据闪回方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭萍 等: "《数据库应用技术》", 31 August 2016 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522078A (zh) * 2018-11-15 2019-03-26 用友网络科技股份有限公司 操作撤销方法、计算机设备和计算机可读存储介质
CN110795447A (zh) * 2019-10-29 2020-02-14 中国工商银行股份有限公司 数据处理方法、数据处理系统、电子设备和介质
CN111857518A (zh) * 2020-07-30 2020-10-30 北京默契破冰科技有限公司 图像编辑操作的撤销方法、装置、电子设备及介质
CN112000321A (zh) * 2020-09-01 2020-11-27 杭州宏深科技有限公司 适用于三维检测软件的撤销和/或重做实现方法及装置
CN112000321B (zh) * 2020-09-01 2024-06-07 杭州宏深科技有限公司 适用于三维检测软件的撤销和/或重做实现方法及装置
CN112151152A (zh) * 2020-09-27 2020-12-29 武汉联影智融医疗科技有限公司 误操作处理方法、装置、计算机设备和存储介质
CN112151152B (zh) * 2020-09-27 2023-07-21 武汉联影智融医疗科技有限公司 误操作处理方法、装置、计算机设备和存储介质
CN114548901A (zh) * 2022-01-13 2022-05-27 北京思特奇信息技术股份有限公司 一种基于数据配置的业务隔笔撤销方法及系统

Similar Documents

Publication Publication Date Title
CN107329854A (zh) 操作撤销方法和装置、电子设备
Krishnamurthy et al. Semiparametric contextual bandits
US20170364434A1 (en) Splitting and merging microservices
DE112017007224T5 (de) Momentaufnahmen-Verwaltung in einer Blockchain
US20160026540A1 (en) Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation
CN106899648A (zh) 一种数据处理方法和设备
KR102441422B1 (ko) 개인 정보 보호가 가능한 개인화된 질의응답 시스템, 클라우드 서버 및 이의 공통 신경망 모델 제공 방법
CN108156030B (zh) 一种配置策略同步的方法及装置
DE112021002820T5 (de) Dynamische automatisierung einer auswahl von pipeline-artefakten
CN109144785A (zh) 用于备份数据的方法和装置
DE112017005398T5 (de) System und verfahren zur einrichtungsinteroperabilität und synchronisation
CN105607968B (zh) 一种增量备份方法及设备
CN107193687A (zh) 数据库备份方法及调度设备
US11604803B2 (en) Net change mirroring optimization across transactions in replication environment
CN105491117A (zh) 面向实时数据分析的流式图数据处理系统及方法
DE102016205013A1 (de) Fingerabdruckerstellung und Vergleichen von Protokolldatenströmen
US10031904B2 (en) Database management system based on a spreadsheet concept deployed in an object grid
US20190215363A1 (en) Dynamic pool-based tiering for synchronization storage
DE112021005437T5 (de) Aktualisierung und überwachung eines entfernt angeordneten systems
CN108920308A (zh) 一种数据恢复处理的方法、装置及计算机存储介质
CN106371849A (zh) 应用数据的处理方法及装置
CN107480309A (zh) 数据库访问策略更新方法、装置、服务器及计算设备
US20190278782A1 (en) Data replication in a database environment
Goodsell Public administration as its own steward in times of partisan deadlock and fiscal stress
CN112685218B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180504

Address after: 100029 Beijing Haidian District Austria north industrial base project 6 Building 2 level.

Applicant after: BEIJING BITMAIN TECHNOLOGY CO., LTD.

Address before: 100029 Beijing Haidian District Austria north industrial base project 6 Building 2 level.

Applicant before: Feng Feng Technology (Beijing) Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180928

Address after: 26 Ying Yun street, Singapore

Applicant after: Bit continent Technology Co., Ltd.

Address before: 100029 Beijing Haidian District Austria north industrial base project 6 Building 2 level.

Applicant before: BEIJING BITMAIN TECHNOLOGY CO., LTD.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171107