数据对象的复制方法和复制装置制造方法

文档序号:6508102阅读:250来源:国知局
数据对象的复制方法和复制装置制造方法
【专利摘要】本发明公开了一种数据对象的复制方法和复制装置,该复制方法包括以下步骤:将源对象的数据结构与目标复制对象的数据结构进行对比;在对比结果为目标复制对象的数据结构包含源对象的数据结构的情况下,通过反射技术将源对象的数据结构所对应的属性和方法复制到目标复制对象对应的数据结构中。本发明通过反射技术及其语言相关特性实现了数据对象的复制,在复制过程中,不要求源对象的数据结构和目标复制对象的数据结构一致,只要目标复制对象的数据结构包含源对象的数据结构,即可实现快速复制,极大的方便了数据对象的复制。
【专利说明】数据对象的复制方法和复制装置
【技术领域】
[0001]本发明涉及云计算领域,具体来说,涉及一种简易高效的数据对象的复制方法和
复制装置。
【背景技术】
[0002]在云计算系统的研发中经常面临多重要管理的业务对象。包括:物理分区、Hypervisor、虚拟机、共享存储等。按照面向对象的开发原则,每个系统只对自身的业务对象进行管理,每个业务对象都具有自身的属性和接口,那么现在就会出现这么一个问题,系统底层的对象如何与系统上层业务对象进行数据复制呢? 一般处理这样的问题都会采用如下两种常见的方法:
[0003]一、利用开源组件Beanutils进行对象复制。
[0004]二、利用开源组件Dozer进行深层次的对象复制。
[0005]以上两种方法都可以满足此类问题的解决方法。但针对这两个开源组件的使用,还需要投入学习成本,以及这些组件过于庞大,对于系统设计来说,尤其是云计算应用,讲究高效、快速处理的实时性,我们大可不必遇到问题就不论复杂度,就拿来使用。
[0006]针对相关技术中无法简易、高效的进行数据对象复制的问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]针对相关技术中无法简易、高效的进行数据对象复制的问题,本发明提出一种数据对象的复制方法和复制装置,能够简易的、高效的进行底层资源对象和上层业务对象之间的数据复制。
[0008]本发明的技术方案是这样实现的:
[0009]根据本发明的一个方面,提供了一种数据对象的复制方法。
[0010]该复制方法包括:
[0011]将源对象的数据结构与目标复制对象的数据结构进行对比;
[0012]在对比结果为目标复制对象的数据结构包含源对象的数据结构的情况下,通过反射技术将源对象的数据结构所对应的属性和方法复制到目标复制对象对应的数据结构中。
[0013]此外,该复制方法还包括:预先将要复制的数据对象设为源对象;并且,对源对象进行分析,确认源对象的数据结构、以及该数据结构所对应的属性和方法。
[0014]另外,该复制方法还包括:预先对目标复制对象进行分析,确认目标复制对象的数据结构。
[0015]根据本发明的另一方面,提供了一种数据对象的复制装置。
[0016]该复制装置包括:
[0017]对比模块,用于将源对象的数据结构与目标复制对象的数据结构进行对比;
[0018]复制模块,用于在对比结果为目标复制对象的数据结构包含源对象的数据结构的情况下,通过反射技术将源对象的数据结构所对应的属性和方法复制到目标复制对象对应的数据结构中。
[0019]此外,该复制装置还包括:配置模块和第一分析模块,其中,配置模块用于预先将要复制的数据对象设为源对象;第一分析模块,用于对源对象进行分析,确认源对象的数据结构、以及该数据结构所对应的属性和方法。
[0020]另外,该复制装置还包括:第二分析模块,用于预先对目标复制对象进行分析,确认目标复制对象的数据结构。
[0021]本发明通过反射技术及其语言相关特性实现了数据对象的复制,在复制过程中,不要求源对象的数据结构和目标复制对象的数据结构一致,只要目标复制对象的数据结构包含源对象的数据结构,即可实现快速复制,极大的方便了数据对象的复制。
【专利附图】

【附图说明】
[0022]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是根据本发明实施例的数据对象的复制方法的流程示意图;
[0024]图2是根据本发明实施例的数据对象的复制装置的结构示意图;
[0025]图3是根据本发明实施例的数据对象的复制方法的实例的流程示意图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0027]根据本发明的实施例,提供了 一种数据对象的复制方法。
[0028]如图1所示,根据本发明实施例的数据对象的复制方法包括:
[0029]步骤S101,将源对象的数据结构与目标复制对象的数据结构进行对比;
[0030]步骤S103,在对比结果为目标复制对象的数据结构包含源对象的数据结构的情况下,通过反射技术将源对象的数据结构所对应的属性和方法复制到目标复制对象对应的数据结构中。
[0031]此外,该复制方法还包括:预先将要复制的数据对象设为源对象;并且,对源对象进行分析,确认源对象的数据结构、以及该数据结构所对应的属性和方法。
[0032]另外,该复制方法还包括:预先对目标复制对象进行分析,确认目标复制对象的数据结构。
[0033]以下通过二个实例对本发明的上述技术进行说明。
[0034]本发明的上述技术方案在实际运用时,可以分为两个方面来操作。一种是单一复制,一种是批量复制。所谓单一复制就是一对一的数据对象复制,批量复制就是在单一复制的基础上加上递归的方式来实现,这样就可以将一组或源对象的集合一次性复制到目标复制对象上,整体流程均如图3所示。
[0035]单一复制对应接口如下:
[0036]I) public Object singleCopy(Object src, Class desc)throws Exception ;
[0037]其中,src参数是指源对象,即被复制的对象;desc参数是目标复制对象。
[0038]此方法实现复制的原理就是先通过反射取得src所有属性的数据,并再取目标复制对象的结构,作出二者匹配比较,然后再将数据复制给匹配满足的目标复制对象的数据结构上,如此重复操作,直至数据结构复制完成。
[0039]批量复制对应接口如下:
[0040]2)public<T>List<T>BatchCopy(List src, Class descclass)throws Exception;
[0041]其中,src参数就是指源对象的列表,即一组被复制的对象集合;descclass参数是指目标复制对象。
[0042]此方法实现复制的原理同上,只是在单一复制的基础上添加了迭代的算法,这样就可以实现批量的复制。如果在批量操作过程中出现了复制异常,那么就停止复制,并记录异常关键信息抛给程序调用者,让他由此异常做相应的逻辑处理。
[0043]根据本发明的实施例,还提供了 一种数据对象的复制装置。
[0044]如图2所示,根据本发明实施例的数据对象的复制装置包括:
[0045]对比模块21,用于将源对象的数据结构与目标复制对象的数据结构进行对比;
[0046]复制模块22,用于在对比结果为目标复制对象的数据结构包含源对象的数据结构的情况下,通过反射技术将源对象的数据结构所对应的属性和方法复制到目标复制对象对应的数据结构中。
[0047]此外,该复制装置还包括:配置模块(未示出)和第一分析模块(未示出),其中,配置模块用于预先将要复制的数据对象设为源对象;第一分析模块,用于对源对象进行分析,确认源对象的数据结构,以及该数据结构所对应的属性和方法。
[0048]另外,该复制装置还包括:第二分析模块(未示出),用于预先对目标复制对象进行分析,确认目标复制对象的数据结构。
[0049]综上所述,借助于本发明的上述技术方案,能够简易的、高效的进行底层资源对象和上层业务对象之间的数据复制,充分利用了反射技术及其语言相关特性实现了数据对象的复制。在复制过程中,将要复制的对象设为源对象,只要目标复制对象的数据结构包含源对象的数据结构,即可实现快速复制,极大的方便了数据对象的复制。
[0050]另外,本发明还可以简单的实现深层次的数据对象复制,当然这个特性是针对于拥有复杂数据结构的对象,实现这类的对象的复制就是利用反射递归方法来实现,通过反射机制获取对象的属性与修饰符的定义,再递归复制对象数据至目标复制对象结构上,并最终生成复制后的实体对象。
[0051]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据对象的复制方法,其特征在于,包括: 将源对象的数据结构与目标复制对象的数据结构进行对比; 在对比结果为所述目标复制对象的数据结构包含所述源对象的数据结构的情况下,通过反射技术将所述源对象的数据结构所对应的属性和方法复制到所述目标复制对象对应的数据结构中。
2.根据权利要求1所述的复制方法,其特征在于,进一步包括: 预先将要复制的数据对象设为源对象; 对所述源对象进行分析,确认所述源对象的数据结构、以及该数据结构所对应的属性和方法。
3.根据权利要求1所述的复制方法,其特征在于,进一步包括: 预先对目标复制对象进行分析,确认所述目标复制对象的数据结构。
4.一种数据对象的复制装置,其特征在于,包括: 对比模块,用于将源对象的数据结构与目标复制对象的数据结构进行对比; 复制模块,用于在对比结果为所述目标复制对象的数据结构包含所述源对象的数据结构的情况下,通过反射技术将所述源对象的数据结构所对应的属性和方法复制到所述目标复制对象对应的数据结构中。
5.根据权利要求4所述的复制装置,其特征在于,进一步包括: 配置模块,用于预先将要复制的数据对象设为源对象; 第一分析模块,用于对所述源对象进行分析,确认所述源对象的数据结构、以及该数据结构所对应的属性和方法。
6.根据权利要求4所述的复制装置,其特征在于,进一步包括: 第二分析模块,用于预先对目标复制对象进行分析,确认所述目标复制对象的数据结构。
【文档编号】G06F9/44GK103440293SQ201310362401
【公开日】2013年12月11日 申请日期:2013年8月19日 优先权日:2013年8月19日
【发明者】晏伟, 孙国忠, 樊兴军, 孙征 申请人:曙光云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1