CN101546311A - 回收站的数据处理方法及数据处理装置 - Google Patents

回收站的数据处理方法及数据处理装置 Download PDF

Info

Publication number
CN101546311A
CN101546311A CN200810084242A CN200810084242A CN101546311A CN 101546311 A CN101546311 A CN 101546311A CN 200810084242 A CN200810084242 A CN 200810084242A CN 200810084242 A CN200810084242 A CN 200810084242A CN 101546311 A CN101546311 A CN 101546311A
Authority
CN
China
Prior art keywords
data
recycle bin
tables
deleted
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810084242A
Other languages
English (en)
Other versions
CN101546311B (zh
Inventor
张元达
刘锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mingwan Interconnection Technology Co., Ltd.
Original Assignee
Tianjin Dezhi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Dezhi Technology Co Ltd filed Critical Tianjin Dezhi Technology Co Ltd
Priority to CN2008100842428A priority Critical patent/CN101546311B/zh
Publication of CN101546311A publication Critical patent/CN101546311A/zh
Application granted granted Critical
Publication of CN101546311B publication Critical patent/CN101546311B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种回收站的数据处理方法,包括:生成业务功能模块的配置信息;接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;判断所述待删除数据是否存在子级数据,若否,则针对所述待删除数据标记删除标识,并在回收站数据表中记录该数据的索引信息。本发明可以在减少系统开销、节约成本的基础上,简单、有效地提高应用系统中回收站功能的可维护性和可扩展性。

Description

回收站的数据处理方法及数据处理装置
技术领域
本发明涉及应用系统中回收站的数据处理领域,特别是涉及一种回收站的数据处理方法及一种回收站的数据处理装置。
背景技术
回收站,从原理上来说就是一个数据临时寄存区,用于放置用户临时删除的数据。在实际中,出于种种原因,用户可能需要删除数据,例如,用户觉得不再需要对象、要获得更大的可用空间,或者误操作删除等,只要用户所执行的删除操作不是手工彻底删除(Purge),或者,因为数据溢出存储空间而丢失,用户所删除的数据通常会进入回收站中。可以理解,回收站中的数据仍然会占用空间,回收站中的数据可以被还原,也可以被彻底删除。
目前,应用系统中通常需要应用这种回收站的功能。例如,邮件系统中的邮件删除、彻底删除、还原等功能。其中,执行邮件删除操作可以将删除的邮件移动至已删除文件夹,这个已删除文件夹即一个回收站,在这个已删除文件夹中,用户可以还原邮件、还可以彻底删除邮件。现有技术中,实现这种回收站功能的方法一般为,针对各个业务功能所对应的数据表,生成不同的方法代码来实现。例如,邮件系统的回收站功能的实现就是针对邮件的数据表,生成相应的删除操作代码来实现的。当业务功能扩展时,则需要继续添加代码或重新生成特定代码以适应业务功能扩展的需求。
如公开号为CN1791873A的中国专利所公开的一种允许在数据库管理系统中进行还原的方法,具体包括:接收丢弃数据库中的对象的命令;将所述对象移到回收站;如果存在从属于所述对象的从属对象,则将所述从属对象移到所述回收站;在接收到还原所述对象的命令后,将所述对象移出所述回收站;以及,如果需要更多的存储空间,则清除所述对象以提供更多的存储空间。该方法示出了在数据库管理系统中应用回收站功能的一种构思,然而,对于具体如何实现回收站的功能,以及,在维护和扩展数据库管理系统时,如何以较小的系统开销维护及改进相应的回收站功能均未给出有效的解决方案。
总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种回收站数据处理的机制,用以在减少系统开销、节约成本的基础上,简单、有效地提高应用系统中回收站功能的可维护性和可扩展性。
发明内容
本发明所要解决的技术问题是提供一种回收站的数据处理方法,用以减少系统开销、节约成本的基础上,简单、有效地提高应用系统中回收站功能的可维护性和可扩展性。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种回收站的数据处理装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了一种回收站的数据处理方法,包括:
生成业务功能模块的配置信息;
接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
判断所述待删除数据是否存在子级数据,若否,则针对所述待删除数据标记删除标识,并在回收站数据表中记录该数据的索引信息。
优选的,所述的方法,还包括:
构造配置文件,将所述配置信息注册至所述配置文件中。
优选的,所述配置信息包括:业务功能模块的数据表名及主键名、程序集名和类名;所述定位待删除数据的步骤包括:
依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
优选的,所述数据的索引信息包括:数据表名、主键名和主键值。
优选的,所述的方法,还包括:
在回收站数据表中针对所述数据的索引信息添加自增字段。
优选的,所述配置信息还包括:业务类更新方法接口,所述的方法还包括:
通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
优选的,所述配置信息还包括:数据详细信息查看地址,所述的方法还包括:
依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
优选的,所述的方法,还包括:
若所述待删除数据存在子级数据,则向用户提示不可删除的信息。
优选的,所述的方法,还包括:
依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
判断所述目标删除数据是否存在子级数据,如果否,则在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息。
优选的,所述的方法,还包括:
依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
判断所述目标还原数据是否存在父级数据,如果否,则在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息。
本发明实施例还公开了一种回收站的数据处理装置,包括:
生成单元,用于生成业务功能模块的配置信息;
定位单元,用于接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
判断单元,用于判断所述待删除数据是否存在子级数据;
标记单元,用于在所述待删除数据没有子级数据时,针对所述待删除数据标记删除标识;
回收站记录单元,用于在回收站数据表中记录该数据的索引信息。
优选的,所述的装置,还包括:
配置文件构造单元,用于构造配置文件;
注册单元,用于将所述配置信息注册至所述配置文件中。
优选的,所述配置信息包括:业务功能模块的数据表名及主键名、程序集名和类名;所述定位单元包括:
提取子单元,用于依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
反射子单元,用于通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
查找子单元,用于依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
优选的,所述的装置,还包括:
字段添加单元,用于在回收站数据表中针对所述数据的索引信息添加自增字段。
优选的,所述配置信息还包括:业务类更新方法接口,所述的装置还包括:
业务更新单元,用于通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
优选的,所述配置信息还包括:数据详细信息查看地址,所述的装置还包括:
索引查找单元,用于依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
详细信息查看单元,用于提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
优选的,所述的装置,还包括:
错误提示单元,用于在所述待删除数据存在子级数据时,向用户提示不可删除的信息。
优选的,所述的装置,还包括:
索引查找单元,用于依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
子级判断单元,用于判断所述目标删除数据是否存在子级数据;
级联删除单元,用于在所述目标删除数据存在子级数据时,获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息;
一级删除单元,用于在所述目标删除数据没有子级数据时,在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息。
优选的,所述的装置,还包括:
索引查找单元,用于依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
父级判断单元,用于判断所述目标还原数据是否存在父级数据;
级联还原单元,用于在所述目标还原数据存在父级数据时,获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息;
一级还原单元,用于在所述目标还原数据没有父级数据时,在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息。
与现有技术相比,本发明具有以下优点:
当某个业务功能模块需要应用回收站功能时,通过生成业务功能模块的配置信息,利用元数据的反射特性,在运行时读取配置信息,便可动态地调用方法,实现回收站的功能。并且,当回收站功能需要维护的时候,只需修改相关配置信息即可,而不用改动每一项业务的代码。而当业务功能模块扩展时,也只需要注册该业务功能模块的配置信息即可完成扩展,避免了大量而繁琐的代码操作,有效节约了开发成本。本发明还特别适用于数据表中相关数据的级联操作。
附图说明
图1是本发明的一种回收站的数据处理方法实施例的流程图;
图2、图3、图4、图5、图6和图7是具体实例中数据处理的示意图;
图8是本发明一种回收站的数据处理装置实施例的结构框图;
图9是应用图8所示的优选实施例进行回收站数据处理的方法流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本发明的一种回收站的数据处理方法实施例的流程图,可以包括以下步骤:
步骤101、生成业务功能模块的配置信息;
步骤102、接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
步骤103、判断所述待删除数据是否存在子级数据,若是,则执行步骤104;若否,则执行步骤105;
步骤104、向用户提示不可删除的信息。
步骤105、针对所述待删除数据标记删除标识,并在回收站数据表中记录该数据的索引信息。
对于包含多个业务功能模块的应用系统而言,本实施例还可以包括步骤:构造配置文件,将所述配置信息注册至所述配置文件中。在这种情况下,当某个业务模块需要应用回收站的功能时,只需要在配置文件中针对该业务功能模块添加一条记录(即配置信息),用于注册该业务功能模块的相关信息即可。
在实际中,可以针对业务功能模块的数据表设置标识数据记录状态是否可用的标识字段,一旦数据被放入回收站中,则将该数据的标识字段设置为“不可用”。优选的,还可以在所述业务功能模块的数据表中标识数据记录的级别信息,例如,将产品类别信息标记为第一级别信息,将产品子类别信息标记为第二级别信息,将产品标识为第三级别信息。在这种情况下,当一个产品类别中还存在产品子类别时,该产品类别不可删除;在该产品子类别中还存在产品时,该产品子类别不可删除。也就是说,在本实施例中,按照数据逻辑关系,当还存在子级数据时,当前级别的数据不可删除,即可向用户提示不可删除的信息。如图2、图3所示的产品分类管理和产品管理表中,存在观赏鱼——彩色——别光锦鲤三级的分类信息,由于在“彩色”的级别下还有“别光锦鲤”,所以不能删除“彩色”这一级别的数据,也不能删除“观赏鱼”[这一级别的数据。只有当“别光锦鲤”这一最下级的数据删除后,才能删除其父级“彩色”的数据;只有在“彩色”和“别光锦鲤”这两个级别的数据删除后,才能删除最上级“观赏鱼”的数据。可以理解的是,在所述待删除数据存在子级数据时,向用户提示不可删除的信息仅仅是本发明一种应用方式的举例,本领域技术人员根据实际需要或经验,针对这种存在子级数据的处理采用任一种方法都是可行的,例如,弹出提示对话框,要求用户确定是否删除该待删除数据及其子级数据,若用户选择是,则直接删除所述待删除数据主目录下的所有数据等。
在实际中,所述配置信息可以包括业务功能模块的数据表名及主键名、程序集名和类名;在这种情况下,所述步骤102中定位待删除数据的方法可以包括以下子步骤:
子步骤A1、依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
子步骤A2、通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
子步骤A3、依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
例如,一种业务功能模块所对应的数据表包括:
Goods产品数据表
 
字段 说明
ID 自增字段
Goods_Name 产品名称
Goods_TypeID 产品分类
Goods_Price 产品价格
DESC 产品描述
CreateDate 创建日期
ProID 所属企业ID
Goods_Type产品类别数据表
 
字段 说明
ID 自增字段
TypeName 类别名
ProID 所属企业ID
针对以上数据表,一种XML配置文件的示例可以参考如下代码:
<?xml version="1.0"encoding="utf-8"?>
<goods>
<add id="1"
className="ComManage.Software.BLL.Goods"
musterName="ComManage.Software.Component"
conKey="ComManageConString"
tableName="Goods"primaryKey="id"description="产品"
pathUrl="/Goods.aspx"delMerthod="true"updateMethod="true"/>
<add id="2"
className="ComManage.Software.BLL.GoodsType"
musterName="ComManage.Software.Component"
conKey="ComManageConString"
tableName="GoodsType"primaryKey="typeid"description="产品类别"
pathUrl="/GoodsType.aspx"delMerthod="false"
updateMethod="false">
<relation subid="1"
className="ComManage.Software.BLL.GoodsSubType"
musterName="ComManage.Software.Component"
conKey="ComManageConString"tableName="GoodssubType"
foreignkey="typeid"description="产品子类别"></relation>
</add>
</goods>
其中,节点goods为根节点,用于标识内容开始和结束;节点add用于标识每个元素即哪些业务表;ID用于表示唯一标识,以便于程序缓存不重复地查找;className表示应用程序具体类的名称,包括命名空间,通过这个属性可以找到程序类,即可以调用类中的方法;musterName表示指定类所在程序集的名称,即生成的DLL名称。由于反射机制中要求,除类名外,还要包括类所在的程序集名,否则无法通过反射机制调用类方法。ConKey表示指定数据库链接地址,由于某些业务所需的数据可能存放在不同的数据库中,该字段用于标识当前业务数据所在的数据库;tableName表示数据库中的表的名称;primaryKey表示指定数据表的主键名,通过主键名可以直接找到数据项;description表示描述字段;pathUrl表示对应业务功能的页面访问地址,用于在回收站中查看该业务功能的详细内容;delMerthod用于标记删除数据时是否删除关联数据内容,true为不删除关联数据内容,false为删除关联数据内容;updateMethod用于标记恢复数据时是否恢复关联数据内容,true为不恢复关联数据内容,false为恢复关联数据内容;子节点relation表示ADD的子节点,在关联删除或恢复数据时使用;subid用于标识子节点的唯一性,在子节点中不能重复;foreignkey表示指定数据表的主键名,通过主键名可以直接找到数据项。
反射是一种审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)可以理解为一大堆的表,当编译程序集或者模块时,编译器会创建类定义表、字段定义表和方法定义表等。System.reflection命名空间包含的几个类,允许反射(解析)这些元数据表的代码和反射相关的命名空间。程序集包含模块,而模块包含类型,类型又包含成员。反射提供了封装程序集、模块和类型的对象。利用通过检查收集到的信息动态地调用代码,创建已发现类型的新实例,或者可以轻松地动态重新结构化类型和对象。将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法,或访问其字段和属性。以.NET的开发环境为例,可以使用System.Reflection命名空间。其中,System.Reflection.Assembly和System.Reflection.Module主要用于定位新代码并将其加载到运行时。要检查和操作已加载代码,典型模式主要是System.Type。从获得一个所关注运行时类别的System.Type实例开始(通过Object.GetType)。接着可以使用System.Type的各种方法,在System.Reflection中探索类型的定义并获得其它类的实例。
例如,如果对某特定方法感兴趣,并希望获得此方法的一个System.Reflection.MethodInfo实例(可以通过Type.GetMethod)。同样,如果对某字段感兴趣,并希望获得此字段的一个System.Reflection.FieldInfo实例(可以通过Type.GetField)。一旦获得所有必要的反射实例对象,即可根据需要遵循检查或操作的步骤继续。检查时,在反射类中使用各种描述性属性,获得需要的信息。操作时,可以动态地调用并执行方法,通过调用构造函数创建新对象,等等。反射类型的成员就是反射层次模型中最下面的一层数据。通过type对象的GetMembers方法就可以取得一个类型的成员。如果使用的是不带参数的GetMembers,它只返回该类型的公共定义的静态变量和实例成员,也可以通过使用带参数的GetMembers通过参数设置来返回指定的类型成员。
以下以一个通过反射动态生成程序集的具体实例来进一步说明这种反射机制:
//下面的程序将动态生成一个名为Math.dll的程序集,并动态加载其中的IntOp类,调用其Add方法。
    using System;
    using System.Reflection;
    using System.Reflection.Emit;
    public class Test
    {
       public static Assembly CreateAssembly()
       {
         //定义程序集对象名
         AssemblyName assemblyName=new AssemblyName();
         assemblyName.Name="Math";
         //创建程序集
    AssemblyBuilder              createdAssembly=
AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName,
AssemblyBuilderAccess.RunAndSave);
         //定义程序集模块
    ModuleBuilder                assemblyModule=
createdAssembly.DefineDynamicModule("MathMoudle","Math.dll");
         //定义类型
     TypeBuilder mathType=assemblyModule.DefineType("IntOp",
TypeAttributes.Public|TypeAttributes.Class);
         //创建方法
    System.Type[]paramTypes=new Type[]{typeof(int),typeof(int)};
    MethodBuilderaddMethod=mathType.DefineMethod("Add",
MethodAttributes.Public,typeof(int),paramTypes);
          //创建方法的参数
           ParameterBuilderparam1=addMethod.DefineParameter(1,
ParameterAttributes.In,"num1");
           ParameterBuilderparam2=addMethod.DefineParameter(2,
ParameterAttributes.In,"num2");
          //生成方法的中间语言代码
          ILGenerator ilGenerator=addMethod.GetILGenerator();
          ilGenerator.Emit(OpCodes.Ldarg_1);
          ilGenerator.Emit(OpCodes.Ldarg_2);
          ilGenerator.Emit(OpCodes.Add);
          ilGenerator.Emit(OpCodes.Ret);
          //创建类型
          mathType.CreateType();
          //创建程序集
          createdAssembly.Save("Math.dll");
          return createdAssembly;
       }
       ///<summary>
       ///动态调用程序集中的类的方法
       ///</summary>
       ///<param name="assembly">应用程序构造块</param>
       ///<param name="className">类名</param>
       ///<param name="methodName">方法名</param>
       ///<param name="args">参数组</param>
       ///<returns></returns>
       static object CallAssembly(Assembly assembly,string className,
string methodName,object[]args)
   {
       //获取动态加载的类型
       Type t=assembly.GetType(className);
       //构造类型实例
       object obj=Activator.CreateInstance(t);
       //获取要调用的方法
       MethodInfo mi=t.GetMethod(methodName);
       //调用方法,返回结果
       return mi.Invoke(obj,args);
    }
    static void Main()
    {
       //动态创建程序集
       Assembly a=CreateAssembly();
       //动态调用程序集中类型的方法
       object[]args=new object[]{2,3};
       int i=(int)CallAssembly(a,"IntOp","Add",args);
       Console.WriteLine(i);
    }
}
利用这种反射机制,通过设置在实体属性上的Attribute来进行验证。然后通过XML文件的属性获取重写的方法接口,找到该方法。这种方式减少了代码量,改动比较方便、灵活。在功能扩展性方面,通过获得类,即可调用类中的重载方法,即使有非常特殊的应用也可以采用这种结构,也就是说,只需要在特殊修改的地方重载实现调用方法,自己写方法来实现即可。
需要说明的是,上述定位待删除数据的方法仅仅用于举例,本领域技术人员根据实际情况采用任一种方法都是可行的,例如:
(1)通过类的继承关系。让该类型从一个编译时可知的基础类型派生出来,在运行时生成该类型的一个实例,将对其的引用放到其基础类型的一个变量中,然后调用该基础类型的虚方法。
(2)通过接口实现。在运行时,构建该类型的一个实例,将对其的引用放到其接口类型的一个变量中,然后调用该接口定义的虚方法。
(3)通过委托实现。让该类型实现一个方法,其名称和原型都与一个在编译时就已知的委托相符。在运行时先构造该类型的实例,然后在用该方法的对象及名称构造出该委托的实例,接着通过委托调用想要的方法。
优选的,在回收站中记录的数据索引信息可以包括数据表名、主键名和主键值。为了标识该信息在回收站中的唯一性,还可以在回收站数据表中针对所述数据的索引信息添加自增字段。本发明对所述添加自增字段的方法不作限制。
为根据业务功能模块中数据删除的操作执行相应业务功能的更新,优选的,所述配置信息还可以包括业务类更新方法接口,在这种情况下,本实施例还可以包括以下步骤:
通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
以下对应前述XML文件代码示例,举一个具体例子来说明本发明的回收站中数据添加操作的过程。
步骤S1、用户在某个业务功能模块中执行删除数据的操作,即发出数据删除的请求;
步骤S2、依据用户提交的数据删除请求提取该条待删除数据当前的主键值和类对象;
步骤S3、通过xml文件中记录的“pathUrl(数据库链接地址)”属性,连接当前业务功能模块的数据库;
步骤S4、利用反射机制,通过“musterName(程序集名)”属性、及“className(类名)”属性,找到类对象所在的程序集对应xml文件中的“tableName(数据表名)”及“primaryKey(主键名)”;
步骤S5、根据待删除数据当前的主键值,通过xml配置项“primaryKey(主键名)”,从“tableName(数据表名)”对应的数据表中查找到该条数据;
步骤S6、在“tableName(数据表名)”对应的数据表中,将当前待删数据的标识字段的状态改为“不可用”;
步骤S7、在回收站表中添加一条数据,记录待删数据的数据表名(tableName)、表的主键名(primaryKey)、主键值、创建时间、以及标识该数据在回收站表中唯一性的一个自增字段;
步骤S8、调用xml配置项中数据更新方法的接口,利用反射机制,通过“musterName(程序集名)”属性、及“className(类名)”,得到业务功能模块对应类中的相关方法,执行业务功能模块的更新。
在实际中,用户可能需要查看数据的详细信息,或者,需要预先经过数据详细信息的查看才能决定是否在回收站中进行数据彻底删除或还原操作,针对这种情况下,所述配置信息还可以包括数据详细信息查看地址,本发明实施例还可以包括以下步骤:
依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
如图4和图5所示,用户在图4所示的回收站页面中查看“名称”(主键名)为“别光锦鲤”(主键值)的详细信息时,显示图5所示的别光锦鲤详细信息的页面。
作为另一实施例,本发明还可以包括在回收站中进行数据彻底删除操作的方法,具体地,针对在回收站中进行数据彻底删除的操作,本发明还可以包括以下步骤:
依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
判断所述目标删除数据是否存在子级数据,如果否,则在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息。
可以看出,本实施例包括在回收站中进行一级删除和级联删除两种不同的操作方式。
在进行一级删除时,前述xml配置文件中“delMethod(是否删除关联数据)”的属性值为“true”,表示不删除关联数据。在这种情况下,通过“musterName(程序集名)”属性、及“className(类名)”,利用反射机制,执行方法类中的一级删除方法即可。具体而言,可以根据回收站数据表中记录的目标删除数据的数据表名、主键名和主键值,找到xml配置文件中对应的配置项“pathUrl(数据库链接地址)”、“tableName(表名)”、“primaryKey(表的主键名)”,利用反射机制直接调用操作类中的删除方法,将目标删除数据从业务功能模块中对应的数据表中删除,并同时在回收站数据表中删除该数据的相关信息。
例如,可以通过如下代码表示所述一级删除的方法:
Deletefrom[业务数据表]where[主键名]=‘[主键值]’
Deletefrom[回收站数据表]where[自增字段名]=‘[自增字段值]’
在进行级联删除时,前述xml配置文件中“delMethod(是否删除关联数据)”的属性值为“false”,表示删除关联数据。在这种情况下,通过“程序集名(musterName)”属性、及“类名(className)”,利用反射机制,执行方法类中的级联删除方法即可。
具体地,所述级联删除的过程可以包括以下步骤:
步骤B1、通过回收站数据表中记录的目标删除数据对应的数据表名、主键名和主键值,找到该条数据在数据库中的记录,以及在xml配置文件中对应节点的“pathUrl(数据库链接地址)”、“tableName(数据表名)”、“primaryKey(表的主键名)”、“musterName(程序集名)”和“className(类名)”;
步骤B2、获取xml配置文件中当前节点的子节点(relation),通过子节点(relation)中记录的“tableName(数据表名)”、“primaryKey(表的主键名)”,利用反射机制,获得musterName的程序集对应className的类中的级联删除方法;
子步骤B3、判断B1步骤中找到的该条数据在数据库中的记录是否为外键,如果为外键,则根据foreignKey(外键名)及记录的外键值,查询该外键所对应的主表中(即当前子节点的上一级节点add中记录的表)是否有数据,如果有,继续执行本步骤,以找到最下级数据;如果没有,则执行下一步;
子步骤B4、如果主表中没有数据,则根据foreignKey(外键名)查询从表(relation节点中的表名),查看当前数据的删除状态字段是否被标识为“不可用”;如果是,则执行步骤b23;如果否,则执行步骤B6;
子步骤B5、如果已被标识为“不可用”,则先删除foreignKey(外键名)所在的业务功能模块的数据表(relation记录的表名)中的该条记录;然后删除primaryKey(主键名)所在的业务表(relation在xml配置文件中对应父节点的表名)中的相应记录。
子步骤B6、如果没有被标识为“不可用”,由于本发明回收站数据表中的数据,在其对应的业务数据表中,数据状态的标识为“不可用”,则系统需要对进程抛出一个错误提示。
以下通过一个具体例子对本发明进行回收站中数据删除的方法进一步说明。
假设回收站的数据表中存在别光锦鲤→彩色→观赏鱼由下及上三个级别的数据,如果用户当前对“别光锦鲤”的数据提交删除请求,由于该数据位于最下级,不存在对应的子级数据,所以不需要进行级联删除,只需要通过一级删除的方法删除相应业务表中的数据以及回收站中的相关信息即可。
如果用户当前对“观赏鱼”的数据提交删除请求,由于“观赏鱼”下还包括“彩色”和“别光锦鲤”的子级数据,所以需要进行级联删除,具体操作为:
1)判断“观赏鱼”下是否还有子级的分类,经查询,找到“彩色”的子级分类;
在实际中,具体分类的级别可以根据业务需要进行相应改变,还可以设置一个字段用来标识该类别的级别信息。
2)继续判断“彩色”下是否还有子级的分类,经查询,没有子级分类;
3)提取“彩色”所在的主表“产品分类表”和从表“产品表”,根据“彩色”在主表中的主键值查询从表,找到最下级数据“别光锦鲤”;
4)判断“别光锦鲤”的数据状态,是否为“不可用”,如果为“不可用”,则将该数据从从表(产品表)中删除,同时在回收站数据表中,找到该数据的相关信息一并删除;
5)在主表(产品分类表)中,删除“彩色”的类别记录,同时在回收站数据表中,找到该数据的相关信息一并删除;
6)在主表(产品分类表)中,删除“观赏鱼”的类别记录,同时在回收站数据表中,找到该数据的相关信息一并删除。
需要说明的是,级联删除要从最低级别的数据开始删除。
作为另一实施例,本发明还可以包括在回收站中进行数据还原操作的方法,具体地,针对在回收站中进行数据还原的操作,本发明还可以包括以下步骤:
依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
判断所述目标还原数据是否存在父级数据,如果否,则在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息。
可以看出,本实施例包括在回收站中进行一级还原和级联还原两种不同的操作方式。
在进行一级还原时,前述xml配置文件中“updateMethod(是否恢复关联数据)”的属性值为“true”,表示不恢复关联数据。在这种情况下,通过“musterName(程序集名)”属性、及“className(类名)”,利用反射机制,执行方法类中的一级还原方法即可。具体而言,可以根据回收站数据表中记录的目标还原数据的数据表名、主键名和主键值,找到xml配置文件中对应的配置项“pathUrl(数据库链接地址)”、“tableName(表名)”、“primaryKey(表的主键名)”,利用反射机制直接调用操作类中的还原方法,将目标还原数据在业务功能模块中对应的数据表中的数据状态更改为“可用”,并同时在回收站数据表中删除该数据的相关信息。
例如,可以通过如下代码表示所述一级还原的方法:
Deletefrom[回收站数据表]where[自增字段名]=‘[自增字段值]’
Update[业务数据表]set‘不可用’=‘可用’where‘[主键名]’=‘[主键值]’
在进行级联还原时,前述xml配置文件中“updateMethod(是否还原关联数据)”的属性值为“false”,表示还原关联数据。在这种情况下,通过“程序集名(musterName)”属性、及“类名(className)”,利用反射机制,执行方法类中的级联还原方法即可。
具体地,所述级联还原的过程可以包括以下步骤:
步骤C1、通过回收站数据表中记录的目标还原数据对应的数据表名、主键名和主键值,找到该条数据在数据库中的记录,以及在xml配置文件中对应的节点的“pathUrl(数据库链接地址)”、“tableName(数据表名)”、“primaryKey(表的主键名)”、“musterName(程序集名)”和“className(类名)”;
步骤C2、判断当前节点是否为子节点(relation);如果不是子节点,则执行步骤C3和C4;如果是子节点,则执行步骤C5;
步骤C3、如果不是子节点,则根据节点中记录的数据表名(add记录的数据表名称)、主键名(primaryKey)、主键值,通过反射机制,找到musterName的程序集对应className的类中的级联还原的方法;
步骤C4、根据主键名(primaryKey)及主键值,查询该条数据记录在数据表(add记录的表名称)中的状态是否为“不可用”,如果为“不可用”,则根据主键名称(primaryKey)及主键值,将数据表(add记录的表名称)中的对应记录的数据状态改为“可用”,同时将该数据记录从回收站数据表中删除;
步骤C5、如果是子节点,记录该节点中的表名(relation节点中的表名称)、外键名(foreignKey)、外键值。在xml配置文件中,查询该节点上一级节点记录的表名(add记录的表名称)、主键名(primaryKey)、主键值。通过反射机制,找到程序集(musterName)对应的类(className),查询当前记录在业务表中,是否存在子级类别的记录;如果不存在子级类别,则执行步骤C6;如果存在子级类别,则执行步骤C7;
步骤C6、如果不存在子级类别,对步骤C5中记录的数据表中的相关数据,执行数据还原操作;
步骤C7、如果存在子级类别,根据主键名(primaryKey)及主键值,查询该主键表(add记录的表名称)中数据的所有子类别,然后对这些子类别进一步判断;
步骤C8、对步骤C5和C7的数据表中的相关数据执行数据还原操作。
以下通过一个具体例子对本发明进行回收站中数据还原的方法进一步说明。
假设回收站的数据表中存在别光锦鲤→彩色→观赏鱼由下及上三个级别的数据,如果用户当前对“观赏鱼”的数据提交还原请求,由于该数据位于最上级,不存在对应的父级数据,所以不需要进行级联还原,只需要通过一级还原的方法去除数据在相应业务表中的删除标识,以及删除回收站中的相关信息即可。
如果用户当前对“别光锦鲤”的数据提交还原请求,由于“别光锦鲤”上还包括“观赏鱼”和“彩色”的父级数据,所以需要进行级联还原,具体操作为:
1)判断“别光锦鲤”所在的数据表“产品表”,是否为从表,如果是,则查询该从表“产品表”,找到“别光锦鲤”的类别;
2)根据“别光锦鲤”的类别,查询“产品表”的主表“产品分类表”;
3)在“产品分类表”中,查询“产品表”中对应主键的数据记录,经查询,可找到“彩色”;
4)判断“彩色”是否为子类别,并获取其上一级类别。经查询,“观赏鱼”为“彩色”的父类别,“观赏鱼”为根类别。
5)在“产品分类表”中,将“观赏鱼”及“彩色”的数据状态更改为“可用”,即去除删除标识;并在回收站数据表中,将“观赏鱼”及“彩色”的相关数据删除;
6)在“产品表”中,将“别光锦鲤”的数据状态更改为“可用”;并在回收站数据表中,将“别光锦鲤”的相关数据删除。
所述还原操作的示意图可以参考图6和图7。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。此外,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图8,示出了本发明一种回收站的数据处理装置实施例的结构框图,可以包括以下单元:
生成单元801,用于生成业务功能模块的配置信息;
定位单元802,用于接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
判断单元803,用于判断所述待删除数据是否存在子级数据;
标记单元804,用于在所述待删除数据没有子级数据时,针对所述待删除数据标记删除标识;
回收站记录单元805,用于在回收站数据表中记录该数据的索引信息。
优选的,在本实施例中,还可以包括:
错误提示单元806,用于在所述待删除数据存在子级数据时,向用户提示不可删除的信息。
优选的,在本实施例中,还可以包括:
配置文件构造单元,用于构造配置文件;
注册单元,用于将所述配置信息注册至所述配置文件中。
优选的,所述配置信息可以包括:业务功能模块的数据表名及主键名、程序集名和类名;在这种情况下,本实施例所述定位单元可以包括以下子单元:
提取子单元,用于依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
反射子单元,用于通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
查找子单元,用于依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
优选的,在本实施例中,还可以包括:
字段添加单元,用于在回收站数据表中针对所述数据的索引信息添加自增字段。
优选的,所述数据的索引信息可以包括数据表名、主键名和主键值。
参考图9,示出了应用图8所示的优选实施例进行回收站数据处理的方法流程图,可以包括以下步骤:
步骤901、配置单元构造配置文件;
步骤902、生成单元生成业务功能模块的配置信息,注册单元将所述配置信息注册至所述配置文件中;
步骤903、定位单元接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
在实际中,所述配置信息可以包括:业务功能模块的数据表名及主键名、程序集名和类名;在这种情况下,本步骤可以包括以下子步骤:
子步骤D1、提取子单元依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
子步骤D2、反射子单元通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
子步骤D3、查找子单元依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
步骤904、判断单元判断所述待删除数据是否存在子级数据,如果是,则执行步骤905;如果否,则执行步骤906;
步骤905、错误提示单元向用户提示不可删除的信息。
步骤906、标记单元针对所述待删除数据标记删除标识;并且,回收站记录单元在回收站数据表中记录该数据的索引信息,字段添加单元在回收站数据表中针对所述数据的索引信息添加自增字段。
作为另一实施例,为根据回收站数据的变化更新业务功能模块,所述配置信息还可以包括业务类更新方法接口,本发明还可以包括以下单元:
业务更新单元,用于通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
可以理解的是,基于图9的回收站数据,还可以包括以下步骤:
步骤907、业务更新单元通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
在实际中,用户往往需要在回收站中查看数据的详细信息,因此,作为另一实施例,所述配置信息还可以包括:数据详细信息查看地址,本发明还可以包括以下单元:
索引查找单元,用于依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
详细信息查看单元,用于提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
可以理解的是,基于图9的回收站数据,还可以包括以下步骤:
步骤908a、索引查找单元依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
步骤908b、详细信息查看单元提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
作为另一实施例,当用户在回收站中执行数据彻底删除操作时,本发明还可以包括以下单元:
索引查找单元,用于依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
子级判断单元,用于判断所述目标删除数据是否存在子级数据;
级联删除单元,用于在所述目标删除数据存在子级数据时,获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息;
一级删除单元,用于在所述目标删除数据没有子级数据时,在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息。
可以理解的是,基于图9的回收站数据,还可以包括以下步骤:
步骤909a、索引查找单元依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
步骤909b、子级判断单元判断所述目标删除数据是否存在子级数据,如果是,则执行步骤909c;如果否,则执行步骤909d;
步骤909c、级联删除单元获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息。
步骤909d、一级删除单元在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息。
作为另一实施例,当用户在回收站中执行数据还原操作时,本发明还可以包括以下单元:
索引查找单元,用于依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
父级判断单元,用于判断所述目标还原数据是否存在父级数据;
级联还原单元,用于在所述目标还原数据存在父级数据时,获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息;
一级还原单元,用于在所述目标还原数据没有父级数据时,在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息。
可以理解的是,基于图9的回收站数据,还可以包括以下步骤:
步骤910a、索引查找单元依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
步骤910b、父级判断单元判断所述目标还原数据是否存在父级数据;如果是,则执行步骤910c;如果否,则执行步骤910d;
步骤910c、级联还原单元获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息;
步骤910d、一级还原单元在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息。
在实际中,本发明数据处理装置及各个单元可由本领域技术人员根据实际需要任意设置于客户端或服务器端,本发明对此不需要进行限定。
对于装置实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种回收站的数据处理方法及一种回收站的数据处理装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (19)

1、一种回收站的数据处理方法,其特征在于,包括:
生成业务功能模块的配置信息;
接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
判断所述待删除数据是否存在子级数据,若否,则针对所述待删除数据标记删除标识,并在回收站数据表中记录该数据的索引信息。
2、如权利要求1所述的方法,其特征在于,还包括:
构造配置文件,将所述配置信息注册至所述配置文件中。
3、如权利要求1或2所述的方法,其特征在于,所述配置信息包括:业务功能模块的数据表名及主键名、程序集名和类名;所述定位待删除数据的步骤包括:
依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
4、如权利要求3所述的方法,其特征在于,所述数据的索引信息包括:数据表名、主键名和主键值。
5、如权利要求4所述的方法,其特征在于,还包括:
在回收站数据表中针对所述数据的索引信息添加自增字段。
6、如权利要求5所述的方法,其特征在于,所述配置信息还包括:业务类更新方法接口,所述的方法还包括:
通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
7、如权利要求3或5所述的方法,其特征在于,所述配置信息还包括:数据详细信息查看地址,所述的方法还包括:
依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
8、如权利要求1所述的方法,其特征在于,还包括:
若所述待删除数据存在子级数据,则向用户提示不可删除的信息。
9、如权利要求1所述的方法,其特征在于,还包括:
依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
判断所述目标删除数据是否存在子级数据,如果否,则在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息。
10、如权利要求1所述的方法,其特征在于,还包括:
依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
判断所述目标还原数据是否存在父级数据,如果否,则在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息;如果是,则获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息。
11、一种回收站的数据处理装置,其特征在于,包括:
生成单元,用于生成业务功能模块的配置信息;
定位单元,用于接收用户提交的数据删除请求,依据所述配置信息定位待删除数据;
判断单元,用于判断所述待删除数据是否存在子级数据;
标记单元,用于在所述待删除数据没有子级数据时,针对所述待删除数据标记删除标识;
回收站记录单元,用于在回收站数据表中记录该数据的索引信息。
12、如权利要求11所述的装置,其特征在于,还包括:
配置文件构造单元,用于构造配置文件;
注册单元,用于将所述配置信息注册至所述配置文件中。
13、如权利要求11或12所述的装置,其特征在于,所述配置信息包括:业务功能模块的数据表名及主键名、程序集名和类名;所述定位单元包括:
提取子单元,用于依据用户提交的数据删除请求提取待删除数据的主键值和类对象;
反射子单元,用于通过所述程序集名和类名的反射,获得所述类对象所在程序集对应的数据表名及主键名;
查找子单元,用于依据所述主键名和主键值在所述数据表名对应的数据表中定位待删除数据。
14、如权利要求13所述的装置,其特征在于,还包括:
字段添加单元,用于在回收站数据表中针对所述数据的索引信息添加自增字段。
15、如权利要求14所述的装置,其特征在于,所述配置信息还包括:业务类更新方法接口,所述的装置还包括:
业务更新单元,用于通过所述业务类更新方法接口调用对应业务类的更新方法,完成业务功能模块的更新。
16、如权利要求13或15所述的装置,其特征在于,所述配置信息还包括:数据详细信息查看地址,所述的装置还包括:
索引查找单元,用于依据用户提交的回收站数据查看请求,通过回收站数据表中记录的索引信息查找相应的目标查看数据;
详细信息查看单元,用于提取所述目标查看数据的数据详细信息查看地址,显示所述目标查看数据详细信息的页面。
17、如权利要求11所述的装置,其特征在于,还包括:
错误提示单元,用于在所述待删除数据存在子级数据时,向用户提示不可删除的信息。
18、如权利要求11所述的装置,其特征在于,还包括:
索引查找单元,用于依据用户提交的回收站数据彻底删除的请求,通过回收站数据表中记录的索引信息找到目标删除数据;
子级判断单元,用于判断所述目标删除数据是否存在子级数据;
级联删除单元,用于在所述目标删除数据存在子级数据时,获取所述目标删除数据的子级数据,并在最下级数据具有删除标识的条件下,在相应级别数据所对应的数据表中,从最下级数据开始逐级向上删除所述目标删除数据及其子级数据,并在回收站数据表中清除所述目标删除数据及其子级数据的相关信息;
一级删除单元,用于在所述目标删除数据没有子级数据时,在相应的数据表中删除该数据,并在回收站数据表中清除该数据的相关信息。
19、如权利要求11所述的装置,其特征在于,还包括:
索引查找单元,用于依据用户提交的回收站数据还原的请求,通过回收站数据表中记录的索引信息找到目标还原数据;
父级判断单元,用于判断所述目标还原数据是否存在父级数据;
级联还原单元,用于在所述目标还原数据存在父级数据时,获取所述目标还原数据的父级数据,并在相应级别数据所对应的数据表中,从最上级数据开始逐级向下去除所述目标还原数据及其父级数据的删除标识,并在回收站数据表中清除所述目标还原数据及其父级数据的相关信息;
一级还原单元,用于在所述目标还原数据没有父级数据时,在相应的数据表中去除该数据的删除标识,并在回收站数据表中清除该数据的相关信息。
CN2008100842428A 2008-03-27 2008-03-27 回收站的数据处理方法及数据处理装置 Expired - Fee Related CN101546311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100842428A CN101546311B (zh) 2008-03-27 2008-03-27 回收站的数据处理方法及数据处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100842428A CN101546311B (zh) 2008-03-27 2008-03-27 回收站的数据处理方法及数据处理装置

Publications (2)

Publication Number Publication Date
CN101546311A true CN101546311A (zh) 2009-09-30
CN101546311B CN101546311B (zh) 2012-05-02

Family

ID=41193452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100842428A Expired - Fee Related CN101546311B (zh) 2008-03-27 2008-03-27 回收站的数据处理方法及数据处理装置

Country Status (1)

Country Link
CN (1) CN101546311B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298735A (zh) * 2011-07-28 2011-12-28 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN102867000A (zh) * 2011-07-05 2013-01-09 阿里巴巴集团控股有限公司 一种在线应用程序中删除数据的方法和装置
CN103116634A (zh) * 2012-06-12 2013-05-22 上海雷腾软件有限公司 支持高并发缓存任务队列的系统及其异步批量操作方法
CN103473296A (zh) * 2013-09-04 2013-12-25 国云科技股份有限公司 一种适用于云计算的回收站机制及其系统
CN103973731A (zh) * 2013-01-29 2014-08-06 中兴通讯股份有限公司 一种云存储的回收站管理方法和装置
CN104781785A (zh) * 2012-09-05 2015-07-15 微软公司 为应用从中间语言代码生成本机代码
CN105391839A (zh) * 2014-08-29 2016-03-09 Lg电子株式会社 移动终端及其删除信息管理方法
CN104246716B (zh) * 2012-12-19 2018-02-09 华为技术有限公司 存储空间对象的处理方法及设备
WO2018227791A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种文件处理方法及移动终端
CN109271379A (zh) * 2018-10-11 2019-01-25 北京奇艺世纪科技有限公司 一种数据清理方法及装置
CN109800229A (zh) * 2018-12-29 2019-05-24 深圳云天励飞技术有限公司 数据访问方法及相关设备
CN110209359A (zh) * 2019-06-06 2019-09-06 北京金山云网络技术有限公司 系统存储空间的管理方法、装置及服务器
CN110413577A (zh) * 2019-06-27 2019-11-05 无锡华云数据技术服务有限公司 数据删除方法、装置、电子设备及计算机可读存储介质
CN110597781A (zh) * 2019-08-09 2019-12-20 北京人大金仓信息技术股份有限公司 一种数据库的闪回删除方法及系统
CN112100186A (zh) * 2020-08-26 2020-12-18 金蝶软件(中国)有限公司 基于分布式系统的数据处理方法、装置、计算机设备
CN110019212B (zh) * 2017-11-29 2021-06-18 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及数据库服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138127A (en) * 1998-05-19 2000-10-24 International Business Machines Corporation Apparatus and method for recycling an object
US8521789B2 (en) * 2003-05-27 2013-08-27 Oracle International Corporation Undrop objects and dependent objects in a database system

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867000A (zh) * 2011-07-05 2013-01-09 阿里巴巴集团控股有限公司 一种在线应用程序中删除数据的方法和装置
CN102298735A (zh) * 2011-07-28 2011-12-28 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN102298735B (zh) * 2011-07-28 2017-04-26 中兴通讯股份有限公司 一种业务管理系统级联操作的处理方法和装置
CN103116634A (zh) * 2012-06-12 2013-05-22 上海雷腾软件有限公司 支持高并发缓存任务队列的系统及其异步批量操作方法
CN103116634B (zh) * 2012-06-12 2017-02-08 上海雷腾软件股份有限公司 支持高并发缓存任务队列的系统及其异步批量操作方法
US10795652B2 (en) 2012-09-05 2020-10-06 Microsoft Technology Licensing, Llc Generating native code from intermediate language code for an application
CN104781785A (zh) * 2012-09-05 2015-07-15 微软公司 为应用从中间语言代码生成本机代码
CN104781785B (zh) * 2012-09-05 2018-05-15 微软技术许可有限责任公司 为应用从中间语言代码生成本机代码
CN104246716B (zh) * 2012-12-19 2018-02-09 华为技术有限公司 存储空间对象的处理方法及设备
CN103973731A (zh) * 2013-01-29 2014-08-06 中兴通讯股份有限公司 一种云存储的回收站管理方法和装置
CN103973731B (zh) * 2013-01-29 2017-12-29 中兴通讯股份有限公司 一种云存储的回收站管理方法和装置
CN103473296A (zh) * 2013-09-04 2013-12-25 国云科技股份有限公司 一种适用于云计算的回收站机制及其系统
CN105391839A (zh) * 2014-08-29 2016-03-09 Lg电子株式会社 移动终端及其删除信息管理方法
WO2018227791A1 (zh) * 2017-06-16 2018-12-20 华为技术有限公司 一种文件处理方法及移动终端
US11468008B2 (en) 2017-06-16 2022-10-11 Huawei Technologies Co., Ltd. File processing method and mobile terminal
US11868314B2 (en) 2017-06-16 2024-01-09 Huawei Technologies Co., Ltd. File processing method and mobile terminal
CN110019212B (zh) * 2017-11-29 2021-06-18 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及数据库服务器
CN109271379A (zh) * 2018-10-11 2019-01-25 北京奇艺世纪科技有限公司 一种数据清理方法及装置
CN109800229A (zh) * 2018-12-29 2019-05-24 深圳云天励飞技术有限公司 数据访问方法及相关设备
CN110209359A (zh) * 2019-06-06 2019-09-06 北京金山云网络技术有限公司 系统存储空间的管理方法、装置及服务器
CN110413577A (zh) * 2019-06-27 2019-11-05 无锡华云数据技术服务有限公司 数据删除方法、装置、电子设备及计算机可读存储介质
CN110597781A (zh) * 2019-08-09 2019-12-20 北京人大金仓信息技术股份有限公司 一种数据库的闪回删除方法及系统
CN110597781B (zh) * 2019-08-09 2023-05-05 北京人大金仓信息技术股份有限公司 一种数据库的闪回删除方法及系统
CN112100186A (zh) * 2020-08-26 2020-12-18 金蝶软件(中国)有限公司 基于分布式系统的数据处理方法、装置、计算机设备
CN112100186B (zh) * 2020-08-26 2024-04-05 金蝶软件(中国)有限公司 基于分布式系统的数据处理方法、装置、计算机设备

Also Published As

Publication number Publication date
CN101546311B (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
CN101546311B (zh) 回收站的数据处理方法及数据处理装置
JP4594306B2 (ja) 自己記述型ビジネスオブジェクト
US8234308B2 (en) Deliver application services through business object views
JP5600345B2 (ja) 自動分類ルールを含むデータ分類パイプライン
JP4571636B2 (ja) サービス指向ビジネスフレームワークのサービス管理
CN102810057B (zh) 一种记录日志的方法
Vassiliadis et al. Modeling ETL activities as graphs.
CN100578509C (zh) 一种数据持久化实现方法
US7672966B2 (en) Adding extrinsic data columns to an existing database schema using a temporary column pool
CN100565510C (zh) 数据访问层类生成器
US7908349B2 (en) Resource management with rule based consistency check
US7650346B2 (en) User-defined type consistency checker
US8108360B2 (en) Database object update order determination
CN101625738A (zh) 生成上下文感知的通用工作流应用的方法和装置
Turcu et al. Automated data partitioning for highly scalable and strongly consistent transactions
CN106126540A (zh) 数据库访问系统及其访问方法
US20100312592A1 (en) Confirming enforcement of business rules specified in a data access tier of a multi-tier application
CN103946794A (zh) 数据特征的滚动升级的系统和方法
US7305652B2 (en) Standard application development template
CN104679500A (zh) 实体类自动生成实现方法及装置
CN106204263B (zh) 交易运行控制方法和装置
US7305653B2 (en) Standard application development framework
Sung et al. A component-based product data management system
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
CN102436446A (zh) 一种更新摘要结构的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING MINGWAN INTERCONNECTION TECHNOLOGY CO., LT

Free format text: FORMER OWNER: TIANJIN DEZHI TECHNOLOGY CO., LTD.

Effective date: 20110707

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 300384 C-803, HAITAI INFORMATION SQUARE, NO. 8, HUATIAN ROAD, HUAYUAN INDUSTRIAL ZONE, NEW TECHNOLOGY INDUSTRIAL PARK, TIANJIN CITY TO: 100029 9/F, NO. 11, ANYUAN ROAD, CHAOYANG DISTRICT, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20110707

Address after: 100029, Beijing, Chaoyang District, 11 Court Road, No. nine

Applicant after: Beijing Mingwan Interconnection Technology Co., Ltd.

Address before: The New Technology Industrial Park Huayuan Industrial Zone No. 8 Alex Hua Tian road Tianjin Haitai Information Plaza c-803 300384

Applicant before: Tianjin Dezhi Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120502

Termination date: 20190327