【技术实现步骤摘要】
一种深度克隆实现内存一致性的方法及系统
[0001]本专利技术涉及网络通信
,尤其涉及一种深度克隆实现内存一致性的方法及系统。
技术介绍
[0002]随着智能手机的迅速普及,与网络的快速发展,移动互联网的相关业务已逐渐成为国内各厂商关注的焦点。从整体行业来看,中国手机游戏行业处于快速发展期。近年来,在电信运营商和手机游戏开发商的联合推动下,中国的手机游戏行业,取得了较快的发展。随着互动娱乐技术的发展,各种类型的互动游戏类应用得到了极大的发展,存在着多种游戏类型与游戏控制方式,游戏的形式也从电脑或游戏机向手机游戏方面过度。
[0003]传统的游戏服务器考虑性能的原因,数据都是即时操作内存的,而不是即时操作数据库。通常一个游戏客户端请求过来时,会引起多个模块的内存数据变化。而在处理游戏业务逻辑时,如果中间抛出异常,则会出现内存数据一致性的问题。
[0004]以一个玩家用钻石去商店购买道具的逻辑为例,通常游戏逻辑的伪代码有两种实现方式:
[0005]//第一种
[0006]costDiamon
【技术保护点】
【技术特征摘要】
1.一种深度克隆实现内存一致性的方法,其特征在于,所述方法包括:处理业务逻辑之前,对业务数据对象进行克隆得到克隆业务数据对象;若处理业务逻辑过程中业务数据对象相关数据变化发生异常,则用所述克隆业务数据对象重新恢复内存上下文数据,得到未变化的业务数据对象。2.如权利要求1所述的方法,其特征在于,所述对业务数据对象进行克隆得到克隆业务数据对象,包括:初始化一个新业务数据对象cloneA1,遍历原业务数据对象a1的所有属性,获取具体属性值并对cloneA1的具体属性设置所述属性值;递归克隆对象的属性值直到最底层的基础数据结构属性;实现基础数据结构对象的克隆。3.如权利要求2所述的方法,其特征在于,所述实现基础数据结构对象的克隆,包括:如果是基础的数值类型,直接返回原值;如果是基础的数据结构,则通过创建一个新的数据结构对象,将原数据结构对象的数据依次克隆到新数据结构对象;通过递归克隆,实现对业务数据对象的深度克隆。4.如权利要求1所述的方法,其特征在于,所述对业务数据对象进行克隆得到克隆业务数据对象,包括:确定所述克隆业务数据对象为复杂对象时,初始化一个新的克隆业务数据对象,遍历原业务数据对象的所有属性,获取具体的属性值,深度克隆所述具体属性值并将克隆得到的属性值设置到克隆业务数据对象上。5.如权利要求1或4所述的方法,其特征在于,所述对业务数据对象进行克隆得到克隆业务数据对象,包括:确定所述克隆业务数据对象不是复杂对象时,判断基础对象类型;若基础对象类型为基础数值则直接返回原值;若基础对象类型为基础数据结构,则创建新的数据结构对象,将原数据结构对象依次克隆到新的数据对象结构中。6.如权利要求1所述的方法,其特征在于,所述对业务数据对象进行克隆得到克隆业务数据对象,包括:将需要克隆的业务数据对象A通过工具生成出一个父类,父类的主要数据和逻辑...
【专利技术属性】
技术研发人员:吕文勇,
申请(专利权)人:北京趣玩天橙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。