一种依赖对象的初始化操作方法及相关装置制造方法及图纸

技术编号:23084625 阅读:38 留言:0更新日期:2020-01-11 00:59
本申请公开了一种依赖对象的初始化操作方法,包括:对第一对象创建对应的代理对象,以便第二对象将对所述第一对象的对象操作发送至所述代理对象;其中,所述第一对象和所述第二对象之间存在依赖关系;当所述第一对象初始化完成时,将所述第一对象的指针发送至所述代理对象;控制所述代理对象根据所述指针将接收到的对象操作发送至所述第一对象。通过对第一对象创建代理对象,然后将代理对象替换该第一对象,避免出现空指针问题,使得相互依赖的对象初始化过程更加顺畅。本申请还公开了一种依赖对象的初始化操作装置、服务器以及计算机可读存储介质,具有以上有益效果。

An initialization operation method of dependent objects and related devices

【技术实现步骤摘要】
一种依赖对象的初始化操作方法及相关装置
本申请涉及计算机
,特别涉及一种依赖对象的初始化操作方法、初始化操作装置、服务器以及计算机可读存储介质。
技术介绍
随着计算机技术的不断发展,计算机系统内的对象操作越发的复杂,比如存在不同结构体之间的对象相互依赖的关系。举例来说,存储系统中的I/O栈都是多个层自上而下串联起来的:每一层都会对上层提交的I/O做一些本层的特殊处理,然后提交到下一层,直至写入磁盘当中。在存储系统启动后的初始化阶段,各层的上下文结构体依次初始化。由于各层之间或多或少都有相互交互的接口,所以不免出现以下情况:在Layern中的结构体A的初始化函数需要一个结构体B,而结构体B位于Layerm中,且Layerm的初始化顺序在Layern之后,这样就导致了一个依赖关系的问题:在结构体A初始化时,由于还不存在结构体B,在结构体A的初始化函数中所有用到结构体B的地方将会传入一个空指针。也就是,在调用initA()函数时,需要调用get_B_from_layer_m()函数来获得Layerm的B,但此时Layerm尚未初始化,所本文档来自技高网...

【技术保护点】
1.一种依赖对象的初始化操作方法,其特征在于,包括:/n对第一对象创建对应的代理对象,以便第二对象将对所述第一对象的对象操作发送至所述代理对象;其中,所述第一对象和所述第二对象之间存在依赖关系;/n当所述第一对象初始化完成时,将所述第一对象的指针发送至所述代理对象;/n控制所述代理对象根据所述指针将接收到的对象操作发送至所述第一对象。/n

【技术特征摘要】
1.一种依赖对象的初始化操作方法,其特征在于,包括:
对第一对象创建对应的代理对象,以便第二对象将对所述第一对象的对象操作发送至所述代理对象;其中,所述第一对象和所述第二对象之间存在依赖关系;
当所述第一对象初始化完成时,将所述第一对象的指针发送至所述代理对象;
控制所述代理对象根据所述指针将接收到的对象操作发送至所述第一对象。


2.根据权利要求1所述的初始化操作方法,其特征在于,还包括:
当所述代理对象接收到对象操作时,将所述对象操作保存至回调函数列表中。


3.根据权利要求1所述的初始化操作方法,其特征在于,控制所述代理对象根据所述指针将接收到的对象操作发送至所述第一对象,包括:
控制所述代理对象根据所述对象操作的类型确定代理操作,根据所述指针对所述第一对象执行代理操作。


4.根据权利要求3所述的初始化操作方法,其特征在于,控制所述代理对象根据所述对象操作的类型确定代理操作,根据所述指针对所述第一对象执行代理操作,包括:
当所述对象操作的类型为函数调用时,控制所述代理对象根据所述指针将所述函数调用发送至所述第一对象。


5.一种依赖对象的初始化操作装置,其特征在于,包括:
代理对象创建模块,用于对第一对象创建对应的代理对象,以便第二对象将对所述第一对象的对象操作...

【专利技术属性】
技术研发人员:程雨佳刘志魁
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1