HDFS的目录操作的事务控制方法及装置制造方法及图纸

技术编号:23512529 阅读:13 留言:0更新日期:2020-03-17 23:56
本发明专利技术提供了一种HDFS的目录操作的事务控制方法及装置,该方法包括:获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;根据所述执行顺序,按照如下步骤执行事务:在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;在该操作对应的目录被其他事务占用时,将该事务挂起;在该操作对应的目录未被其他事务占用时,执行该操作。本发明专利技术可以实现对HDFS的目录操作的事务控制。

Transaction control method and device of HDFS directory operation

【技术实现步骤摘要】
HDFS的目录操作的事务控制方法及装置
本专利技术涉及互联网
,尤其涉及一种HDFS的目录操作的事务控制方法及装置。
技术介绍
目前Hadoop环境下,Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。但是,HDFS的目录操作是不支持事务控制的,在业务上如果有较为复杂的逻辑控制或出现异常时,经常出现回退到初始状态的问题,因此,目前缺乏一种对HDFS的目录操作进行事务控制的有效方法。
技术实现思路
本专利技术实施例提出一种HDFS的目录操作的事务控制方法,用以实现对HDFS的目录操作的事务控制,该方法包括:获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;根据所述执行顺序,按照如下步骤执行事务:在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;在该操作对应的目录被其他事务占用时,将该事务挂起;在该操作对应的目录未被其他事务占用时,执行该操作。本专利技术实施例提出一种HDFS的目录操作的事务控制装置,用以实现对HDFS的目录操作的事务控制,该装置包括:事务等待模块,用于获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;事务校验模块,用于检验该操作对应的目录是否被其他事务占用;<br>操作执行模块,用于执行对HDFS目录的操作;事务控制模块,用于根据事务等待模块中的执行顺序,按照如下步骤执行事务:在每个事务的每个操作执行之前,采用事务校验模块检验该操作对应的目录是否被其他事务占用;在该操作对应的目录被其他事务占用时,将该事务挂起;在该操作对应的目录未被其他事务占用时,采用操作执行模块执行该操作。本专利技术实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述HDFS的目录操作的事务控制方法。本专利技术实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述HDFS的目录操作的事务控制方法的计算机程序。在本专利技术实施例中,获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;根据所述执行顺序,按照如下步骤执行事务:在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;在该操作对应的目录被其他事务占用时,将该事务挂起;在该操作对应的目录未被其他事务占用时,执行该操作。在上述过程中,根据所述执行顺序执行事务实现了对多项事务执行同一HDFS目录时的排队控制,通过检验该操作对应的目录是否被其他事务占用,可实现对执行事务的控制,包括将该事务挂起或执行该操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术实施例中HDFS的目录操作的事务控制方法的流程图;图2为本专利技术实施例提出的HDFS的目录操作的事务控制方法的详细流程图;图3为本专利技术实施例中HDFS的目录操作的事务控制装置的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。图1为本专利技术实施例中HDFS的目录操作的事务控制方法的流程图,如图1所示,该方法包括:步骤101,获得多个事务的执行顺序,所述事务包括对至少一个HDFS目录的至少一个操作;步骤102,根据所述执行顺序,按照如下步骤执行事务:步骤1021,在每个事务的每个操作执行之前,检验该操作对应的目录是否被其他事务占用;步骤1022,在该操作对应的目录被其他事务占用时,将该事务挂起;步骤1023,在该操作对应的目录未被其他事务占用时,执行该操作。在本专利技术实施例中,根据所述执行顺序执行事务实现了对多项事务执行同一HDFS目录时的排队控制,通过检验该操作对应的目录是否被其他事务占用,可实现对执行事务的控制,包括将该事务挂起或执行该操作。具体实施时,多个事务的执行顺序即多个事务的等待关系,开始执行事务时,可以取出顺序为第一位的事务开始执行,也可以以显式的方式,指定一个事务开始,多个事务的执行顺序可以采用链表的方式进行管理,管理效率高,例如,针对某个目录,当前正在占用的事务为A,等待事务按顺序依次分别为A->B->C->D->E,如果此时C事务超时或其他原因退出,则等待事务的顺序调整为A->B->D->E,另外,有可能是多个事务同时执行的,例如事务F和事务G同时执行,等待事务按顺序依次分别为A->B->C->D->E->F,G,代表在事务E执行完后,事务F和事务G同时执行,那么事务F的某个操作对应的目录可能被事务G的某个操作占用,此时将事务F挂起,事务F等待目录释放后,执行操作。在一实施例中,所述方法还包括:在每个事务的每个操作执行之前,检查每个操作对应的目录是否锁定;在每个操作对应的目录未锁定时,锁定该目录。在上市实施例中,通过对目录进行锁定,可使得在每个操作执行时,该目录不会被其他操作修改,提高了目录操作的安全性。在一实施例中,在将该事务挂起之后,还包括:在该事务挂起的时长超过设定等待时限时,对已经执行的操作进行回滚操作;在该事务挂起的时长未超过等待时限且该操作对应的目录被释放后,执行该操作。在上述实施例中,所述设定等待时限可以预先配置,且每个事务的设定等待时限可以不一样,提高了事务控制的灵活性。在一实施例中,所述方法还包括:在每个事务的所有操作执行完毕时,对该事务执行提交操作,所述提交操作包括对已锁定目录解除锁定。在上述实施例中,通过已锁定目录解除锁定,即释放本文档来自技高网...

【技术保护点】
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

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

1