数据清除方法、装置及系统制造方法及图纸

技术编号:9865789 阅读:119 留言:0更新日期:2014-04-03 00:48
本发明专利技术提供一种数据清除方法、装置及系统,该方法包括向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为应用服务器对文件进行写操作时写入所述文件对应的数据对象中的;接收所述元数据服务器返回的查询结果;若所述查询结果表明所述数据对象对应的文件标识不存在于所述元数据服务器中,则将所述不存在于所述元数据服务器中的文件标识对应的数据对象清除,从而对无效数据所占用的空间进行释放,提高了对无效数据进行清除的性能,有效地提高了系统资源的利用率。

【技术实现步骤摘要】
数据清除方法、装置及系统
本专利技术涉及计算机技术,尤其涉及一种数据清除方法、装置及系统。
技术介绍
分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。在分布式文件系统中,文件的存储方式与本地文件系统相比存在较大差别。首先,在本地文件系统中,文件直接存储在本地节点的物理存储资源上;而在分布式文件系统中,文件的元数据和各数据分片分离,元数据和各数据分片可能存储在不同的网络节点上,相应地,对各数据分片进行读写及删除等操作是需要经过网络远程完成的。其次,在本地文件系统中,可以在本地直接对文件进行写或者修改等操作;而在分布式文件系统中,为了保证对文件进行修改写之后文件内容的正确性,需要将对各数据分片进行的修改写操作转换为写操作,使得各数据分片在被修改后存储为新的数据分片。基于上述分布式文件系统的特点,在需要对分布在不同网络节点上的各数据分片进行删除时,需要严格控制删除顺序。由应用程序所在的应用服务器向元数据所在的元数据服务器发送删除文件的指令;元数据服务器读取该待删除文件的元数据信息,并根据元数据信息向各数据分片所在的数据服务器发送删除指令,删除该文件的各数据分片;元数据服务器在控制各数据服务器完成删除操作之后,再将该文件的元数据删除,从而完成对文件的删除。但是,若该分布式文件系统在删除操作过程中出现网络或节点故障等问题时,元数据服务器虽然向数据服务器发送了删除文件的指令,但数据服务器由于网络故障等原因没有接收到该指令,而元数据服务器在发送删除文件的指令后将存储的元数据信息进行了删除,这就会导致部分数据分片未被成功删除,使得未被删除的数据分片成为无效文件或者垃圾文件,该部分无效文件所占用的空间无法得到释放,将会对系统资源造成浪费。
技术实现思路
本专利技术提供了一种数据清除方法、装置及系统,用于解决在分布式文件系统发生故障时,未被删除的数据分片成为文件,对系统资源造成浪费的问题。本专利技术的第一方面是提供一种数据清除方法,包括:向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的;接收所述元数据服务器返回的查询结果;若所述查询结果表明所述数据对象对应的文件标识不存在于所述元数据服务器中,则将所述不存在于所述元数据服务器中的文件标识对应的数据对象清除。本专利技术的第一方面的第一种实施方式,提供一种数据清除方法,在所述向元数据服务器发送查询请求之前,所述方法还包括:周期性地对存储的所述数据对象进行扫描,以获得所述数据对象的属性信息;读取所述数据对象的属性信息,所述属性信息中包括所述数据对象对应的文件标识。结合本专利技术的第一方面的第一种实施方式,本专利技术的第一方面的第二种实施方式,提供一种数据清除方法,所述属性信息中还包括所述数据对象对应的时间戳;所述接收所述元数据服务器返回的查询结果之后,所述方法还包括:若所述查询结果表明所述数据对象对应的文件标识存在于所述元数据服务器中,则判断所述存在于所述元数据服务器中的文件标识是否为两个或多个数据对象对应的同一个文件标识;若是,则对所述两个或多个数据对象的时间戳进行比较,获得所述两个或多个数据对象中时间戳的最大值;将所述两个或多个数据对象中时间戳小于所述最大值的数据对象清除。本专利技术的第二方面是提供一种数据清除方法,包括:接收数据服务器发送的查询请求,所述查询请求中携带有一个或多个数据对象分别对应的文件标识,所述文件标识为所述数据服务器在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的;根据所述查询请求,判断是否存在与各所述文件标识分别对应的文件的元数据,若是,则查询结果表明文件标识存在于元数据服务器中,若否,则所述查询结果表明文件标识不存在于所述元数据服务器中;向所述数据服务器返回查询结果,以供所述数据服务器根据所述查询结果,将不存在于所述元数据服务器中的文件标识所对应的数据对象清除。本专利技术第三方面是提供一种数据服务器,包括:发送模块,用于向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的;接收模块,用于接收所述元数据服务器返回的查询结果;第一处理模块,用于在所述接收模块接收到的所述查询结果表明所述数据对象对应的文件标识不存在于所述元数据服务器中时,将所述不存在于所述元数据服务器中的文件标识对应的数据对象清除。本专利技术第三方面的第一种实施方式,提供了一种数据服务器,所述数据服务器还包括:扫描模块,用于在所述发送模块向所述元数据服务器发送所述查询请求之前,周期性地对存储的所述数据对象进行扫描,在获得所述数据对象的属性信息之后,读取所述数据对象的属性信息,所述属性信息中包括所述数据对象对应的文件标识。结合本专利技术第三方面的第一种实施方式,本专利技术第三方面的第二种实施方式,提供了一种数据服务器,所述属性信息中还包括所述数据对象对应的时间戳;所述数据服务器还包括:第二处理模块,用于在所述接收模块接收到的所述查询结果表明所述数据对象对应的文件标识存在于所述元数据服务器中时,判断所述存在于所述元数据服务器中的文件标识是否为两个或多个数据对象对应的同一个文件标识;第三处理模块,用于在所述第二处理模块判断出所述存在于所述元数据服务器中的文件标识为两个或多个数据对象对应的同一个文件标识时,对所述两个或多个数据对象的时间戳进行比较,获得所述两个或多个数据对象中时间戳的最大值,并所述两个或多个数据对象中时间戳小于所述最大值的数据对象清除。本专利技术的第四方面是提供一种元数据服务器,包括:接收模块,用于接收数据服务器发送的查询请求,所述查询请求中携带有一个或多个数据对象分别对应的文件标识,所述文件标识为所述数据服务器在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的;判断模块,用于根据所述接收模块接收到的所述查询请求,判断是否存在与各所述文件标识分别对应的文件的元数据,若是,则查询结果表明文件标识存在于元数据服务器中,若否,则所述查询结果表明文件标识不存在于所述元数据服务器中;发送模块,用于向所述数据服务器返回查询结果,以供所述数据服务器根据所述查询结果,将不存在于所述元数据服务器中的文件标识所对应的数据对象清除。本专利技术的又一个方面是提供一种分布式文件系统,包括应用服务器、元数据服务器以及至少一个数据服务器。本专利技术提供的数据清除方法、装置及系统,将文件标识分别写入存储在元数据服务器中的元数据,以及存储在数据服务器中的数据对象,利用数据对象对应的文件标识,在元数据服务器中进行查询,若元数据服务器中与该文件标识对应的元数据已被删除,则该数据服务器中与该文件标识对应的数据对象即为无效数据,进而将成为无效数据的数据对象清除,从而对无效数据所占用的空间进行释放,提高了对无效数据进行清除的性能,有效地提高了系统资源的利用率。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅本文档来自技高网
...
数据清除方法、装置及系统

【技术保护点】
一种数据清除方法,其特征在于,包括:向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的;接收所述元数据服务器返回的查询结果;若所述查询结果表明所述数据对象对应的文件标识不存在于所述元数据服务器中,则将所述不存在于所述元数据服务器中的文件标识对应的数据对象清除。

【技术特征摘要】
1.一种数据清除方法,其特征在于,包括: 向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的; 接收所述元数据服务器返回的查询结果; 若所述查询结果表明所述数据对象对应的文件标识不存在于所述元数据服务器中,则将所述不存在于所述元数据服务器中的文件标识对应的数据对象清除。2.根据权利要求1所述的数据清除方法,其特征在于,在所述向元数据服务器发送查询请求之前,所述方法还包括: 周期性地对存储的所述数据对象进行扫描,以获得所述数据对象的属性信息; 读取所述数据对象的属性信息,所述属性信息中包括所述数据对象对应的文件标识。3.根据权利要求2所述的数据清除方法,其特征在于,所述属性信息中还包括所述数据对象对应的时间戳; 所述接收所述元数据服务器返回的查询结果之后,所述方法还包括: 若所述查询结果表明所述数据对象对应的文件标识存在于所述元数据服务器中,则判断所述存在于所述元数据服务器中的文件标识是否为两个或多个数据对象对应的同一个文件标识; 若是,则对所述两个或多个数据对象的时间戳进行比较,获得所述两个或多个数据对象中时间戳的最大值;` 将所述两个或多个数据对象中时间戳小于所述最大值的数据对象清除。4.根据权利要求3所述的数据清除方法,其特征在于,所述时间戳为在接收到所述应用服务器发送的写操作指令后,对所述文件进行写操作时,写入所述文件对应的数据对象中的。5.一种数据清除方法,其特征在于,包括: 接收数据服务器发送的查询请求,所述查询请求中携带有一个或多个数据对象分别对应的文件标识,所述文件标识为所述数据服务器在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的; 根据所述查询请求,判断是否存在与各所述文件标识分别对应的文件的元数据,若是,则查询结果表明文件标识存在于元数据服务器中,若否,则所述查询结果表明文件标识不存在于所述元数据服务器中; 向所述数据服务器返回查询结果,以供所述数据服务器根据所述查询结果,将不存在于所述元数据服务器中的文件标识所对应的数据对象清除。6.一种数据服务器,其特征在于,包括: 发送模块,用于向元数据服务器发送查询请求,所述查询请求中携带有数据对象对应的文件标识,所述文件标识为在接收到应用服务器发送的写操作指令后,对文件进行写操作时,写入所述文件对应的数据对象中的; ...

【专利技术属性】
技术研发人员:陈宝罗
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1