[发明专利]一种对象克隆的方法、系统、设备及介质有效
申请号: | 202010378874.6 | 申请日: | 2020-05-07 |
公开(公告)号: | CN111581288B | 公开(公告)日: | 2023-01-06 |
发明(设计)人: | 张洪鑫;孟祥瑞 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F3/06 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 克隆 方法 系统 设备 介质 | ||
本发明公开了一种对象克隆的方法、系统、设备和存储介质,方法包括:基于被克隆对象创建父对象,并建立父对象与被克隆对象的键值对数据的关联;基于父对象创建多个子对象,并建立多个子对象与父对象的键值对数据的关联;响应于在子对象中增加键值对数据,将待增加的键值对数据保存在子对象;以及响应于在子对象中删除键值对数据,基于子对象与父对象的关联将待删除的键值对数据及排在待删除的键值对数据后面的连续预定数量的键值对数据从父对象拷贝到子对象,并删除待删除的键值对数据。本发明提出的方案通过建立父对象来避免数据的拷贝,节省存储空间,并在删除键值对数据时只拷贝部分数据,降低了拷贝过程中产生的数据量。
技术领域
本发明涉及数据处理领域,更具体地,特别是指一种对象克隆的方法、系统、计算机设备及可读介质。
背景技术
克隆操作要求创建一个kv(key-value,键值对)数据与被克隆对象完全相同的全新对象,当被克隆对象包含的kv数据很多时,克隆操作会存在相同的数据被保存两份甚至多份的问题造成存储空间的浪费,而且在拷贝过程中需要较长时间与本地数据库进行交互,并且需要进行大批量的数据读取与写入以处理全部kv数据,在这个过程中可能对程序性能造成影响。
一种优化的方法的是采用写时复制机制,在克隆操作时不进行真正的拷贝而是在克隆对象内部保存一份被克隆对象的引用,这样两个对象可以共享同一份数据以避免和数据库产生交互,待到需要对克隆对象kv数据进行修改时再把数据真正拷贝过来,这种方法能够一定程度上避免空间浪费,但是当只需要对克隆对象的少量kv数据进行修改时,依然会将全部数据从被克隆对象拷贝过来,这样还是无法避免上述的空间浪费和影响程序性能的问题。
发明内容
有鉴于此,本发明实施例的目的在于提出一种对象克隆的方法、系统、计算机设备及计算机可读存储介质,基于被克隆对象新创建一个父对象,从而避免数据的拷贝,节省存储空间,并在删除键值对数据时只拷贝部分数据而不是一次全部拷贝,避免了全部拷贝造成的空间浪费和大量数据拷贝造成的性能影响。
基于上述目的,本发明实施例的一方面提供了一种对象克隆的方法,包括如下步骤:基于被克隆对象创建父对象,并建立所述父对象与所述被克隆对象的键值对数据的关联;基于所述父对象创建多个子对象,并建立多个所述子对象与所述父对象的键值对数据的关联;响应于在所述子对象中增加键值对数据,将待增加的键值对数据保存在所述子对象;以及响应于在所述子对象中删除键值对数据,基于所述子对象与所述父对象的关联将待删除的键值对数据及排在所述待删除的键值对数据后面的连续预定数量的键值对数据从所述父对象拷贝到所述子对象,并删除所述待删除的键值对数据。
在一些实施方式中,所述基于所述子对象与所述父对象的关联将待删除的键值对数据及排在所述待删除的键值对数据后面的连续预定数量的键值对数据从所述父对象拷贝到所述子对象,并删除所述待删除的键值对数据包括:判断所述待删除的键值对数据是否已被拷贝到所述子对象;以及响应于所述待删除的键值对数据已被拷贝到所述子对象,将所述待删除的键值对数据删除,并继续上次拷贝的顺序将连续预定数量的键值对数据从所述父对象拷贝到所述子对象。
在一些实施方式中,还包括:判断所有的子对象是否将父对象的键值对数据拷贝或删除完成;以及响应于所有的子对象将父对象的键值对数据拷贝或删除完成,删除所述父对象。
在一些实施方式中,所述判断所有的子对象是否将父对象的键值对数据拷贝或删除完成包括:建立完成列表,将已完成拷贝或删除的键值对数据写入所述完成列表,并判断所述完成列表中的键值对数据与所述父对象的键值对数据是否存在差异。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010378874.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能水分入渗系统及水分入渗控制方法
- 下一篇:一种自密实大体积混凝土