【技术实现步骤摘要】
HDFS的目录操作的事务控制方法及装置
本专利技术涉及互联网
,尤其涉及一种HDFS的目录操作的事务控制方法及装置。
技术介绍
目前Hadoop环境下,Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。但是,HDFS的目录操作是不支持事务控制的,在业务上如果有较为复杂的逻辑控制或出现异常时,经常出现回退到初始状态的问题,因此,目前缺乏一种对HDFS的目录操作进行事务控制的有效方法。
技术实现思路
本专利技术实施例提出一种HDFS的目录操作的事务控制方法,用以实现对HDFS的目录操作的事务控制,该方法包括:获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;根据所述执行顺序,按照如下步骤执行事务:在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;在该操作对应的目录被其他事务占用时,将该事务挂起;在该操作对应的目录未被其他事务占用时,执行该操作。本专利技术实施例提出一种HDFS的目录操作的事务控制装置,用以实现对HDFS的目录操作的事务控制,该装置包括:事务等待模块,用于获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;事务校验模块,用于检验该操作对应的目录是否被其他事务占用;< ...
【技术保护点】
1.一种HDFS的目录操作的事务控制方法,其特征在于,包括:/n获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;/n根据所述执行顺序,按照如下步骤执行事务:/n在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;/n在该操作对应的目录被其他事务占用时,将该事务挂起;/n在该操作对应的目录未被其他事务占用时,执行该操作。/n
【技术特征摘要】
1.一种HDFS的目录操作的事务控制方法,其特征在于,包括:
获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;
根据所述执行顺序,按照如下步骤执行事务:
在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;
在该操作对应的目录被其他事务占用时,将该事务挂起;
在该操作对应的目录未被其他事务占用时,执行该操作。
2.如权利要求1所述的HDFS的目录操作的事务控制方法,其特征在于,还包括:
在每个事务的每个操作执行之前,检查每个操作对应的目录是否锁定;
在每个操作对应的目录未锁定时,锁定该目录。
3.如权利要求1所述的HDFS的目录操作的事务控制方法,其特征在于,在将该事务挂起之后,还包括:
在该事务挂起的时长超过设定等待时限时,对已经执行的操作进行回滚操作;
在该事务挂起的时长未超过等待时限且该操作对应的目录被释放后,执行该操作。
4.如权利要求3所述的HDFS的目录操作的事务控制方法,其特征在于,还包括:
在每个事务的所有操作执行完毕时,对该事务执行提交操作,所述提交操作包括对已锁定目录解除锁定。
5.如权利要求4所述的HDFS的目录操作的事务控制方法,其特征在于,所述操作包括HDFS的目录创建操作、目录删除操作、数据追加操作和数据覆盖操作中的其中一种或任意组合。
6.如权利要求5所述的HDFS的目录操作的事务控制方法,其特征在于,还包括:
在执行数据追加操作时,建立第一临时目录,将待追加的数据写入该第一临时目录中,所述第一临时目录与数据追加操作对应的目录同级;
在执行数据覆盖操作时,建立第二临时目录,所述第二临时目录与数据覆盖操作对应的目录同级,将待覆盖的数据写入该第二临时目录中;
在执行目录删除操作时,修改该目录删除操作对应的目录的名称。
7.如权利要求5所述的HDFS的目录操作的事务控制方法,其特征在于,在每个事务的所有操作执行完毕时,对该事务执行提交操作,包括:
对已执行的数据追加操作,将第一临时目录下的所有文件移至数据追加操作对应的目录,删除第一临时目录;
对已执行的数据覆盖操作,删除数据覆盖操作对应的目录,将第二临时目录的名称修改为数据覆盖操作对应的目录的名称;
对已执行的目录删除操作,将目录删除操作对应的修改名称后的目录删除。
8.如权利要求5所述的HDFS的目录操作的事务控制方法,其特征在于,对已经执行的操作进行回滚操作,包括:
对已执行的数据追加操作,删除第一临时目录;
对已执行的数据覆盖操作,删除第二临时目录;
对已执行的目录删除操作,将目录删除操作对应的修改名称后的目录改回原目录名称。
9.一种HDFS的目录操作的事务控制装置,其特征在于,包括:
事务等待模块,用于获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;
事务校验模块,用于检验该操作对应的目录是否被其他事务占用;
操作执行模块,用于执行对HDFS目录的操作;
事务控制...
【专利技术属性】
技术研发人员:毛恒,
申请(专利权)人:中盈优创资讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。