[发明专利]以类为单位的远程构件生命周期的管理方法有效
申请号: | 200610029729.7 | 申请日: | 2006-08-03 |
公开(公告)号: | CN1889038A | 公开(公告)日: | 2007-01-03 |
发明(设计)人: | 苏翼鹏;刘亚东;梁宇洲;陈榕;王晨辉 | 申请(专利权)人: | 上海科泰世纪科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京同立钧成知识产权代理有限公司 | 代理人: | 刘芳 |
地址: | 201203上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种以类为单位的远程构件生命周期的管理方法,该方法包括:创建与远程构件对象相对应的存根对象、代理对象;通过调用AddRef和Release方法对存根对象、代理对象的引用计数器的值进行增减;在条件具备的情况下释放系统资源、注销相关注册信息。本发明通过引用计数来动态控制构件对象以及存根对象,代理对象的存活期,大大减少了接口之间的远程消耗,更符合构件对象模型;同时代理,存根的引用计数的优化使用户对构件生命周期管理操作最大限度的控制在本地进行处理,方便了用户使用,也节省了系统资源。 | ||
搜索关键词: | 单位 远程 构件 生命周期 管理 方法 | ||
【主权项】:
1、一种以类为单位的远程构件生命周期的管理方法,其包括以下步骤:步骤1、在服务端创建一个与构件对象一一对应的存根对象,通过调用AddRef方法,设置该存根对象引用计数器的初始值为1,同时通过AddRef方法一次,将构件对象的引用计数器在原有数值上加1;步骤2、判断客户端是否异常退出,如果是,则执行步骤9;如果不是,则执行步骤3;步骤3、判断服务端是否异常退出,如果是,则执行步骤11;如果不是,则执行步骤4;步骤4、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值为1,并远程调用所述存根对象的AddRef方法一次,使其引用计数器加1;步骤5、获得所述代理对象,通过调用AddRef方法一次,将所述代理对象引用计数器的初始值加1;步骤6、通过调用所述代理对象的Release方法,将所述代理对象引用计数器的数值减1;步骤7、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;步骤8、调用所述存根对象的Release方法,将所述存根对象引用计数变为0;释放掉构件对象指针,使所述构件对象计数器返回所述原有数值;释放掉所述存根对象以及与所述存根对象相关的资源,然后执行步骤12;步骤9、在客户端创建一个代理对象,通过调用AddRef方法,设置该代理对象引用计数器的初始值;在所述客户端的进程对象中记录所述存根对象的相关信息,并远程对所述存根对象引用计数器的AddRef方法一次,使其加1;步骤10、调用所述代理对象的Release方法,将所述代理对象引用计数器置为0;在所述客户端的进程对象中删除所述存根对象的相关信息,远程调用所述存根对象的Release方法,将所述存根对象引用计数变为1;释放掉所述代理对象以及与所述代理对象相关的资源;然后执行步骤12;步骤11、所述服务端释放所创建的存根对象以及与所述存根对象相关的资源,并删除由服务端进程向系统内核注册的信息;步骤12、结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海科泰世纪科技有限公司,未经上海科泰世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610029729.7/,转载请声明来源钻瓜专利网。