基于对象存储库的对象引用方法技术

技术编号:2851109 阅读:422 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于对象存储库的对象引用方法,包括步骤:引用对象根据被引用对象,获得所述被引用对象的代理地址;根据所述代理地址,访问被引用对象的代理;读取所述代理记录的对象地址;引用对象根据所述对象地址引用所述被引用对象。本发明专利技术建立了一种新型的对象引用机制,所有对象之间通过代理间接引用,变对象之间复杂的网状引用关系为一对一的引用关系。本发明专利技术同时建立了一种新型的对象地址调整机制,当对象地址发生变化时,处理程序不再需要去扫描所有对象,只需要扫描范围很小的代理存储区,同时也不需要逐一通知引用对象来调整引用地址,因此本发明专利技术能减小因地址调整带来的额外处理过程,提高程序运行速度和对象存储库处理性能。

【技术实现步骤摘要】

本专利技术涉及一种对象存储库中对象的处理方法,特别是一种。
技术介绍
对象存储库(DOORS)是一种集成多应用数据系统,包括用来产生、储存及获取数据文件的工具和程序,数据文件称为对象。办公软件通常包括多种应用,如电子表格、文字处理、演示文稿、电子邮件等,这些应用常规上都有各自的底层结构和文档格式,比较独立。对象存储库是通过二维表式结构作为每一个应用的结构,统一了各种应用的结构,在统一的基础上,做到了各应用间数据交换的无缝,所有应用采用相同的文档格式。所有应用的数据都放入对象存储库中,通过对象存储库处理程序(DOORS Services)进行访问,用户还可基于对象存储库进行二次开发等,如图10所示。对象存储库的对象之间通过对象地址进行引用,对象和对象之间通过引用又可以组成另一个对象。现有技术使用的对象是对象存储库中存放的基于Office应用定义好的标准对象,如文档(Document)、段落(Paragraph)、幻灯片(Slide)、文字(Text)等。定义标准对象的好处是一旦一个表达某种数据的对象定义后,它就成为表达这个数据的唯一形式,这种将对象标准化的行为可保证整个Office数据表达的简洁,而且多数对象定义可重复使用,降低了数据的冗余,大大提高office的运行性能。例如,任何表示文字的地方都使用Paragraph对象,如文字处理中的文字、电子表格单元格中的文字、幻灯片中的文字,这样Paragraph对象就成为表示段落文字的标准对象。这样的对象不仅Office本身可以直接使用,如果用户基于对象存储库进行开发,也可以直接使用这些已经定义的对象。对象在对象存储库中的位置不是一成不变的,随着内容的改变或增多,对象会根据需要调整其在对象存储库中的地址。在现有技术中,对象放置在对象存储库中后由对象存储库处理程序记录其存储地址。对象之间的引用是通过引用对象记录被引用对象的地址,进行直接引用。当被引用对象的地址改变时,需要通知对象存储库处理程序调整地址,对象存储库处理程序搜索对象存储库中所有对象,找出引用了该对象的所有对象,然后逐一通知这些对象改变地址引用。在实际应用中,现有技术对象存储库的对象存储、引用和地址调整方法存在下述不足(1)对象之间的引用如果过多的话,呈复杂的网状结构,要想理清引用与被引用的对象需要遍历所有对象,不仅算法复杂而且耗时。(2)对象存储库中的对象发生地址变动会频繁出现,如果要求对象存储库处理程序每次都进行全部搜索并逐一去调整会加重系统负荷,降低程序运行的速度,效率较低。(3)为了尽量避免这样的操作,对象存储库处理程序采用了一种临时记录的方法,在给新对象分配空间时尽可能不去影响已有对象的位置。这样虽然能避免一些频繁调整对象地址的行为,但是这样会使对象存储库中的空间出现很多“碎片”,增加程序使用内存,同样会降低程序运行效率。这个原理和硬盘的空间使用类似,当硬盘上的文件存储使用久后,就会出现许多碎片,影响文件读写的速度。
技术实现思路
本专利技术的目的是针对现有技术对象引用方面的不足,提供一种,将对象之间的直接引用转变为通过代理进行的间接引用,变对象之间复杂的网状引用关系为一对一的引用关系,使对象之间的引用更加清晰,便于理清。本专利技术进一步的目的是针对现有技术对象存储库对象地址调整机制中存在的技术缺陷,提供一种全新机制的对象地址调整方法,有效减小了对象存储库因地址调整产生的额外处理过程,大大提高程序运行的速度,提高了对象存储库处理程序的性能,并优化了对象存储库的使用空间。为了实现本专利技术目的,本专利技术提供了一种,包括步骤步骤210、引用对象根据被引用对象,获得所述被引用对象的代理地址;步骤220、根据所述代理地址,访问被引用对象的代理;步骤230、读取所述代理记录的对象地址;步骤240、引用对象根据所述对象地址引用所述被引用对象。其中,所述步骤210前还包括步骤引用对象判断被引用对象的代理地址是否存在,存在则执行步骤210,不存在则执行下述步骤步骤110、引用对象向处理程序询问被引用对象的代理地址;步骤120、处理程序通过搜索代理存储区获得所述代理的代理地址;步骤130、处理程序将所述代理地址发给引用对象,引用对象记录所述代理地址,执行步骤210。其中,所述步骤120具体为步骤121、处理程序在对象存储库的代理存储区搜索被引用对象的代理,搜索到时执行步骤122,没有搜索到时执行步骤123;步骤122、处理程序获得所述代理的代理地址,执行步骤130;步骤123、处理程序在对象存储库的对象存储区搜索被引用对象,获得被引用对象的对象地址;步骤124、处理程序在对象存储库的代理存储区生成一代理;步骤125、处理程序将所述对象地址写入所述代理;步骤126、所述代理向处理程序注册其代理地址,处理程序获得所述代理的代理地址,执行步骤130。其中,所述步骤123具体为步骤1231、处理程序在对象存储库的对象存储区搜索被引用对象,搜索到时执行步骤1232,没有搜索到时执行步骤1233; 步骤1232、获得被引用对象的对象地址,执行步骤124;步骤1233、处理程序将被引用对象存储到对象存储库的对象存储区;步骤1234、处理程序记录被引用对象的对象地址,执行步骤124。在上述技术方案中,还包括调整对象地址的步骤,当对象地址改变时,处理程序执行如下步骤步骤310、处理程序记录所述对象新地址;步骤320、处理程序在对象存储库的代理存储区搜索所述对象的代理,搜索到时执行步骤330,没有搜索到时执行步骤350;步骤330、处理程序访问所述对象的代理;步骤340、处理程序将所述对象新地址写入所述代理;步骤350、地址调整结束。在上述技术方案中,还包括引用对象的存储步骤,处理程序存储引用对象时执行如下步骤步骤410、处理程序将所述引用对象存储在对象存储库的对象存储区;步骤420、所述引用对象向处理程序注册其引用关系,向处理程序询问被引用对象的代理地址;步骤430、处理程序在对象存储库的代理存储区搜索被引用对象的代理,搜索到时执行步骤440,没有搜索到时执行步骤450;步骤440、处理程序获得所述代理的代理地址,处理程序将所述代理地址发给引用对象,引用对象记录所述代理地址,存储结束;步骤450、处理程序在对象存储库的对象存储区搜索被引用对象,获得被引用对象的对象地址;步骤460、处理程序在对象存储库的代理存储区生成一代理;步骤470、处理程序将所述对象地址写入所述代理;步骤480、所述代理向处理程序注册其代理地址,处理程序获得所述代理的代理地址;步骤490、处理程序将所述代理地址发给引用对象,引用对象记录所述代理地址,存储结束。本专利技术建立了一种新型的对象引用机制,即所有对象之间的引用都通过代理,将现有技术的对象之间记录对象地址的直接引用改变为本专利技术的通过记录代理地址的间接引用,变对象之间复杂的网状引用关系为一对一的引用关系,使对象之间的引用更加清晰,便于理清,简化了处理程序管理对象的算法和时间。本专利技术的技术方案全面考虑到了引用对象对被引用对象引用过程中可能存在的各种情况,包括(1)当引用对象已经记录了被引用对象的代理地址时,可以直接执行引用流程;(2)当引用对象没有记录被引用对象的代理地址,即引用对象第一次引用被引用对象时,本文档来自技高网
...

【技术保护点】
一种基于对象存储库的对象引用方法,包括:步骤210、引用对象根据被引用对象,获得所述被引用对象的代理地址;步骤220、根据所述代理地址,访问被引用对象的代理;步骤230、读取所述代理记录的对象地址;步骤240、引用对象根据所述对象地址引用所述被引用对象。

【技术特征摘要】
1.一种基于对象存储库的对象引用方法,包括步骤210、引用对象根据被引用对象,获得所述被引用对象的代理地址;步骤220、根据所述代理地址,访问被引用对象的代理;步骤230、读取所述代理记录的对象地址;步骤240、引用对象根据所述对象地址引用所述被引用对象。2.如权利要求1所述的基于对象存储库的对象引用方法,其中,所述步骤210前还包括步骤引用对象判断被引用对象的代理地址是否存在,存在则执行步骤210,不存在则执行下述步骤步骤110、引用对象向处理程序询问被引用对象的代理地址;步骤120、处理程序通过搜索代理存储区获得所述代理的代理地址;步骤130、处理程序将所述代理地址发给引用对象,引用对象记录所述代理地址,执行步骤210。3.如权利要求2所述的基于对象存储库的对象引用方法,其中,所述步骤120具体为步骤121、处理程序在对象存储库的代理存储区搜索被引用对象的代理,搜索到时执行步骤122,没有搜索到时执行步骤123;步骤122、处理程序获得所述代理的代理地址,执行步骤130;步骤123、处理程序在对象存储库的对象存储区搜索被引用对象,获得被引用对象的对象地址;步骤124、处理程序在对象存储库的代理存储区生成一代理;步骤125、处理程序将所述对象地址写入所述代理;步骤126、所述代理向处理程序注册其代理地址,处理程序获得所述代理的代理地址,执行步骤130。4.如权利要求3所述的基于对象存储库的对象引用方法,其中,所述步骤123具体为步骤1231、处理程序在对象存储库的对象存储区搜索被引用对象,搜索到时执行步骤1232,没有搜索到时执行步骤1233;步骤1232、获得被引用对象的对...

【专利技术属性】
技术研发人员:黄芳冷晔
申请(专利权)人:无锡永中科技有限公司
类型:发明
国别省市:32[中国|江苏]

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

1