【技术实现步骤摘要】
对象关系数据库中分层垃圾收集的方法、存储模块和系统
本专利技术涉及数据库管理领域,尤其涉及对象关系数据库管理领域,具体是指一种对象关系数据库系统中的分层垃圾收集。
技术介绍
对象关系数据库可以是被编程、被扩展或者被定制为存储、查询和检索数据对象的关系数据库系统。在对象关系数据库中,对象、类以及对象之间或者类之间的关系可用定义表格和表格之间的关系的数据库模式表示。与其中数据之间的关系通常是平展的常规关系数据库相比,对象关系数据库中的对象之间的关系可以是分层的。因此,当处理对象的删除时,对象关系数据库可遇到将被删除的对象具有一个或多个子对象的情形。按照惯例,对象关系数据库系统可使用显式递归删除或引用计数来处理删除,以确保当对象被删除时,该对象的派生对象也被删除。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种能够实现比常规对象删除操作更简单、可以在后台执行的进程中实现且不需要应用级的或用户级的干预、为了删除对象,应用仅需将该对象标记为删除,而不必管理该对象的子对象的删除的对象关系数据库中分层垃圾收集的方法、存储模块和系统。为了实现上述目的,本专利技术的对象关系数据库系统中的分层垃圾收集具有如下构成:该对象关系数据库中分层垃圾收集的方法,其主要特点是,所述的方法包括以下步骤:由一个或多个计算机接收删除数据对象的请求,所述数据对象用数据表格中的记录表示,其中,所述记录的对象标识符数据字段存储所述数据对象的表示,并且所述记录的父标识符数据字段存储所述数据对象的父对象的表示;从所述数据表格将所述记录标记为删除;和在一次或多次迭代中清扫所述数据表格,包 ...
【技术保护点】
一种对象关系数据库中分层垃圾收集的方法,其特征在于,所述的方法包括以下步骤:由一个或多个计算机接收删除数据对象的请求,所述数据对象用数据表格中的记录表示,其中,所述记录的对象标识符数据字段存储所述数据对象的表示,并且所述记录的父标识符数据字段存储所述数据对象的父对象的表示;从所述数据表格将所述记录标记为删除;和在一次或多次迭代中清扫所述数据表格,包括在每次清扫迭代中:从所述数据表格删除被标记为删除的每个记录;删除被删记录的对象标识符字段中表示的每个数据对象;以及然后从所述数据表格将其父标识符数据字段存储所述被删数据对象的表示的每个记录标记为删除;其中,所述一个或多个计算机执行所述一次或多次迭代,直到满足退出条件为止。
【技术特征摘要】
2013.09.11 US 14/024,0281.一种对象关系数据库中分层垃圾收集的方法,其特征在于,所述的方法包括以下步骤:由一个或多个计算机接收删除数据对象的请求,所述数据对象用数据表格中的记录表示,其中,所述记录的对象标识符数据字段存储所述数据对象的表示,并且所述记录的父标识符数据字段存储所述数据对象的父对象的表示;从所述数据表格将所述记录标记为删除;和在一次或多次迭代中清扫所述数据表格,包括在每次清扫迭代中:从所述数据表格删除被标记为删除的每个记录;删除被删记录的对象标识符字段中表示的每个数据对象;以及然后从所述数据表格将其父标识符数据字段存储所述被删数据对象的表示的每个记录标记为删除;其中,所述一个或多个计算机执行所述一次或多次迭代,直到满足退出条件为止。2.根据权利要求1所述的对象关系数据库中分层垃圾收集的方法,其特征在于,所述的数据对象的父对象是引用所述数据对象的对象。3.根据权利要求1所述的对象关系数据库中分层垃圾收集的方法,其特征在于,从所述数据表格将所述记录标记为删除包括:将删除标记存储在所述记录的状态数据字段中并且将所述记录的对象标识符数据字段中表示的数据对象指定为根对象。4.根据权利要求3所述的对象关系数据库中分层垃圾收集的方法,其特征在于,将所述记录的对象标识符数据字段中表示的数据对象指定为根对象包括:清除所述记录的父标识符数据字段。5.根据权利要求3所述的对象关系数据库中分层垃圾收集的方法,其特征在于,当所述数据表格中的记录中表示的所有根对象都被删除时,或者当被检验为删除的记录的数量达到或超过定义的限制时,满足所述退出条件。6.根据权利要求1所述的对象关系数据库中分层垃圾收集的方法,其特征在于,所述的方法还包括以下步骤:在从所述数据表格将所述记录标记为删除之后并且在所述数据对象被删除之前,阻止查询访问所述数据对象。7.根据权利要求1所述的对象关系数据库中分层垃圾收集的方法,其特征在于,所述一个或多个计算机与接收所述请求无关地将所述一次或多次清扫迭代作为后台进程执行。8.一种对象关系数据库中分层垃圾收集的系统,其特征在于,所述的系统包括:一个或多个计算机,所述一个或多个计算机被编程为接收删除数据对象的请求,所述数据对象用数据表格中的记录表示,其中,所述记录的对象标识符数据字段存储所述数据对象的表示,并且所述记录的父标识符数据字段存储所述数据对象的父对象的表示;非暂时性存储模块,所述非暂时性存储模块用以使所述一个或多个计算机执行包括以下的操作的步骤:从所述数据表格将所述记...
【专利技术属性】
技术研发人员:道格拉斯·艾伦·沃尔特,
申请(专利权)人:云巅上海网络科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。