CN110865977A - 多程序操作hdfs目录的方法及装置 - Google Patents

多程序操作hdfs目录的方法及装置 Download PDF

Info

Publication number
CN110865977A
CN110865977A CN201911069188.4A CN201911069188A CN110865977A CN 110865977 A CN110865977 A CN 110865977A CN 201911069188 A CN201911069188 A CN 201911069188A CN 110865977 A CN110865977 A CN 110865977A
Authority
CN
China
Prior art keywords
program
hdfs directory
hdfs
directory
waiting
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.)
Pending
Application number
CN201911069188.4A
Other languages
English (en)
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.)
Unihub China Information Technology Co Ltd
Zhongying Youchuang Information Technology Co Ltd
Original Assignee
Unihub China Information 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 Unihub China Information Technology Co Ltd filed Critical Unihub China Information Technology Co Ltd
Priority to CN201911069188.4A priority Critical patent/CN110865977A/zh
Publication of CN110865977A publication Critical patent/CN110865977A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

本发明提供了一种多程序操作HDFS目录的方法及装置,该方法包括:在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;在HDFS目录被上锁时,将该程序挂起或终止;在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。本发明可以支持多个程序同时对HDFS目录的操作,准确率高。

Description

多程序操作HDFS目录的方法及装置
技术领域
本发明涉及互联网领域,尤其涉及一种多程序操作HDFS目录的方法及装置。
背景技术
目前Hadoop环境下,Hadoop分布式文件系统(HDFS)在数据写入时经常会遇到多个程序同时对一个目录进行操作的情况,例如多个程序同时做目录写入或删除操作,这时多个程序之间会互相覆盖对方的操作,使得目录操作的准确率不高。
发明内容
本发明实施例提出一种多程序操作HDFS目录的方法,用以支持多个程序同时对HDFS目录的操作,准确率高,该方法包括:
在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
在HDFS目录被上锁时,将该程序挂起或终止;
在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
本发明实施例提出一种多程序操作HDFS目录的装置,用以支持多个程序同时对HDFS目录的操作,准确率高,该装置包括:
判断模块,用于在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
第一处理模块,用于在HDFS目录被上锁时,将该程序挂起或终止;
第二处理模块,用于在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多程序操作HDFS目录的方法。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述多程序操作HDFS目录的方法的计算机程序。
在本发明实施例中,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;在HDFS目录被上锁时,将该程序挂起或终止;在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。在上述过程中,在每一个程序执行前都进行了程序操作的HDFS目录的上锁判断,在HDFS目录被上锁时,将该程序挂起或终止,从而不会影响对上锁的HDFS目录,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序,从而保证了该程序执行时不会被其他程序覆盖,提高了多程序操作HDFS目录的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中多程序操作HDFS目录的方法的流程图;
图2为本发明实施例提出的多程序操作HDFS目录的方法的详细流程图;
图3为本发明实施例提出的多程序操作HDFS目录的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
图1为本发明实施例中多程序操作HDFS目录的方法的流程图,如图1所示,该方法包括:
步骤101,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
步骤102,在HDFS目录被上锁时,将该程序挂起或终止;
步骤103,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
在本发明实施例中,在每一个程序执行前都进行了程序操作的HDFS目录的上锁判断,在HDFS目录被上锁时,将该程序挂起或终止,从而不会影响对上锁的HDFS目录,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序,从而保证了该程序执行时不会被其他程序覆盖,提高了多程序操作HDFS目录的准确率。
具体实施时,HDFS目录可能有多个平级的目录,每个目录下面可能包括多级子目录,操作HDFS目录的程序可能有多个,可以是分布式运行的程序,操作HDFS目录可以是目录删除、写入等操作,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;在HDFS目录被上锁时,将该程序挂起或终止,即停止了该程序对HDFS目录的操作,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。所述标记信息可以是对程序session进行标记,对程序session进行标记的方式可以自由指定。
在一实施例中,所述标记信息采用如下至少一种数据拼接成的字符串表示:
随机数,当前时间戳,当前进程号,当前CPU利用率,当前系统运行内存值。
在上述实施例中,即程序session标记是采用随机数与当前时间戳的方式生成的,确保每一个程序session标记都是唯一的。当然可以理解的是,标记信息还可以采用其他字符串表示,相关变化例均应落入本发明的保护范围。
具体实施时,利用标记信息对HDFS目录进行上锁的方式可以多种,例如可以在redis中登记锁,也可以在在HDFS目录里创建大小为0的lock文件等,相关变化例均应落入本发明的保护范围。在上锁的时候,需同时记录上锁的程序的标记信息(即session标记)和被上锁的HDFS目录,每一程序执行之前,判断HDFS目录是否被上锁,需要根据每一程序的标记信息和被上锁的HDFS目录,判断HDFS目录是否被上锁。
在一实施例中,HDFS目录包括至少一个层级的子目录;
利用标记信息对HDFS目录进行上锁,包括:
利用标记信息对HDFS目录下的至少一个层级的子目录进行上锁。
同理,解除对HDFS目录的上锁也包括对HDFS目录下的至少一个层级的子目录进行解除。
在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁,也包括判断HDFS目录下的至少一个层级的子目录是否被上锁,在HDFS目录下的至少一个层级的子目录被上锁时,将该程序挂起或终止;在HDFS目录下的至少一个层级的子目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录下的至少一个层级的子目录进行上锁,执行该程序。
具体实施时,将该程序挂起或终止的方式包括多种,下面给出其中一个实施例。
在一实施例中,将该程序挂起或终止,包括:
获取该程序的等待方式;
若等待方式为不等待,将该程序终止;
若等待方式为等待,将该程序挂起。
在上述实施例中,获取该程序的等待方式记程序里的wait方式,若等待方式为不等待,即程序指定以nowait方式执行,将该程序终止,之后,还可以发送程序终止报警信息,提示程序管理人员;若等待方式为等待,即程序指定以wait方式执行,则将该程序挂起,并记录程序的标记信息和挂起时间,所述程序的标记信息和挂起时间可用于后续判断程序挂起是否超时。
在一实施例中,在将该程序挂起之后,还包括:
将该程序加入至等待队列。
在上述实施例中,等待队列中为挂起的程序的集合,在每个程序对应的HDFS目录被解除上锁后,等待队列里的程序进行竞争HDFS目录。
在一实施例中,在将该程序加入至等待队列之后,还包括:
获取该程序的等待时长;
在该程序挂起的时长超过所述等待时长后,将该程序终止,将该程序从等待队列中删除。
在上述实施例中,在该程序挂起的时长超过所述等待时长后,将该程序终止,可避免程序挂起的时间太长,影响整体HDFS操作的效率,每个程序的等待时长可预先配置,提高了各个程序挂起时长控制的灵活性。
在一实施例中,在将该程序加入至等待队列之后,还包括:
按照预设竞争规则,对等待队列中的程序进行优先级排序。
在上述实施例中,所述预设竞争规则可以是预先配置的,支持定制,可修改,具体竞争规则可以是程序涉及子目录的数量越多,该程序的优先级越高,相关变化例均应落入本发明的保护范围。
在一实施例中,在执行该程序之后,还包括:
解除对HDFS目录的上锁;
重复执行以下步骤,直至等待队列中的程序全部执行完:
查询等待队列,从等待队列中取出优先级最高的程序;
生成所述优先级最高的程序的标记信息;
利用标记信息对HDFS目录进行上锁,执行所述优先级最高的程序;
在所述优先级最高的程序执行完后,从等待队列中删除所述优先级最高的程序。
在上述实施例中,在每一个程序执行完毕后,可解除对该程序对应的HDFS目录的上锁,然后查询等待队列中挂起的程序,并按照上述过程重复执行,直至待队列中的程序全部执行完,当然,在这过程中,有可能有的程序挂起的时长超过所述等待时长后,将该程序终止,将该程序从等待队列中删除。
基于上述实施例,本发明提出如下一个实施例来说明多程序操作HDFS目录的方法的详细流程,图2为本发明实施例提出的多程序操作HDFS目录的方法的详细流程图,如图2所示,在一实施例中,多程序操作HDFS目录的方法的详细流程包括:
步骤201,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁,在HDFS目录被上锁时,转入步骤211,否则转入步骤202;
步骤202,生成该程序的标记信息;
步骤203,利用标记信息对HDFS目录进行上锁,执行该程序;
步骤204,该程序执行完毕后,解除对HDFS目录的上锁;
步骤205,查询等待队列,从等待队列中取出优先级最高的程序;
步骤206,生成所述优先级最高的程序的标记信息;
步骤207,利用标记信息对HDFS目录进行上锁,执行所述优先级最高的程序;
步骤208,在所述优先级最高的程序执行完后,从等待队列中删除所述优先级最高的程序;
步骤209,判断等待队列里是否还有程序,有程序转入步骤205,否则结束流程;
步骤210,判断该程序的等待方式,在等待方式为不等待时,进入步骤215,否则进入步骤211;
步骤211,将该程序挂起;
步骤212,将该程序加入至等待队列,进入步骤213与步骤214;
步骤213,按照预设竞争规则,对等待队列中的程序进行优先级排序,进入步骤205;
步骤214,获取该程序的等待时长,进入步骤216;
步骤215,将该程序终止,结束流程;
步骤216,判断该程序挂起的时长是否超过所述等待时长,在超过时,转入步骤215,否则循环步骤216。
当然,可以理解的是,上述多程序操作HDFS目录的方法的详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
综上所述,在本发明实施例提出的方法中,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;在HDFS目录被上锁时,将该程序挂起或终止;在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。在上述过程中,在每一个程序执行前都进行了程序操作的HDFS目录的上锁判断,在HDFS目录被上锁时,将该程序挂起或终止,从而不会影响对上锁的HDFS目录,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序,从而保证了该程序执行时不会被其他程序覆盖,提高了多程序操作HDFS目录的准确率。
基于同样的发明构思,本发明实施例还提供了一种多程序操作HDFS目录的装置,如下面的实施例所述。由于这些解决问题的原理与多程序操作HDFS目录的方法相似,因此装置的实施可以参见方法的实施,重复之处不在赘述。
图3为本发明实施例提出的多程序操作HDFS目录的装置的示意图,如图3所述,该装置包括:
判断模块301,用于在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
第一处理模块302,用于在HDFS目录被上锁时,将该程序挂起或终止;
第二处理模块303,用于在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
在一实施例中,所述标记信息采用如下至少一种数据拼接成的字符串表示:
随机数,当前时间戳,当前进程号,当前CPU利用率,当前系统运行内存值。
在一实施例中,HDFS目录包括至少一个层级的子目录;
第二处理模块303具体用于:
利用标记信息对HDFS目录下的至少一个层级的子目录进行上锁。
在一实施例中,第一处理模块302具体用于:
获取该程序的等待方式;
若等待方式为不等待,将该程序终止;
若等待方式为等待,将该程序挂起。
在一实施例中,第一处理模块302还用于:
将该程序加入至等待队列。
在一实施例中,第一处理模块302还用于:
获取该程序的等待时长;
在该程序挂起的时长超过所述等待时长后,将该程序终止,将该程序从等待队列中删除。
在一实施例中,第一处理模块302还用于:
按照预设竞争规则,对等待队列中的程序进行优先级排序。
在一实施例中,所述装置还包括第三处理模块304,用于:
解除对HDFS目录的上锁;
重复执行以下步骤,直至等待队列中的程序全部执行完:
查询等待队列,从等待队列中取出优先级最高的程序;
生成所述优先级最高的程序的标记信息;
利用标记信息对HDFS目录进行上锁,执行所述优先级最高的程序;
在所述优先级最高的程序执行完后,从等待队列中删除所述优先级最高的程序。
综上所述,在本发明实施例提出的装置中,在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;在HDFS目录被上锁时,将该程序挂起或终止;在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。在上述过程中,在每一个程序执行前都进行了程序操作的HDFS目录的上锁判断,在HDFS目录被上锁时,将该程序挂起或终止,从而不会影响对上锁的HDFS目录,在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序,从而保证了该程序执行时不会被其他程序覆盖,提高了多程序操作HDFS目录的准确率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种多程序操作HDFS目录的方法,其特征在于,包括:
在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
在HDFS目录被上锁时,将该程序挂起或终止;
在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
2.如权利要求1所述的多程序操作HDFS目录的方法,其特征在于,所述标记信息采用如下至少一种数据拼接成的字符串表示:
随机数,当前时间戳,当前进程号,当前CPU利用率,当前系统运行内存值。
3.如权利要求1所述的多程序操作HDFS目录的方法,其特征在于,HDFS目录包括至少一个层级的子目录;
利用标记信息对HDFS目录进行上锁,包括:
利用标记信息对HDFS目录下的至少一个层级的子目录进行上锁。
4.如权利要求1所述的多程序操作HDFS目录的方法,其特征在于,将该程序挂起或终止,包括:
获取该程序的等待方式;
若等待方式为不等待,将该程序终止;
若等待方式为等待,将该程序挂起。
5.如权利要求4所述的多程序操作HDFS目录的方法,其特征在于,在将该程序挂起之后,还包括:
将该程序加入至等待队列。
6.如权利要求5所述的多程序操作HDFS目录的方法,其特征在于,在将该程序加入至等待队列之后,还包括:
获取该程序的等待时长;
在该程序挂起的时长超过所述等待时长后,将该程序终止,将该程序从等待队列中删除。
7.如权利要求5所述的多程序操作HDFS目录的方法,其特征在于,在将该程序加入至等待队列之后,还包括:
按照预设竞争规则,对等待队列中的程序进行优先级排序。
8.如权利要求7所述的多程序操作HDFS目录的方法,其特征在于,在执行该程序之后,还包括:
解除对HDFS目录的上锁;
重复执行以下步骤,直至等待队列中的程序全部执行完:
查询等待队列,从等待队列中取出优先级最高的程序;
生成所述优先级最高的程序的标记信息;
利用标记信息对HDFS目录进行上锁,执行所述优先级最高的程序;
在所述优先级最高的程序执行完后,从等待队列中删除所述优先级最高的程序。
9.一种多程序操作HDFS目录的装置,其特征在于,包括:
判断模块,用于在操作HDFS目录的多个程序的每一程序执行之前,判断HDFS目录是否被上锁;
第一处理模块,用于在HDFS目录被上锁时,将该程序挂起或终止;
第二处理模块,用于在HDFS目录未被上锁时,生成该程序的标记信息;利用标记信息对HDFS目录进行上锁,执行该程序。
10.如权利要求9所述的多程序操作HDFS目录的装置,其特征在于,所述标记信息采用如下至少一种数据拼接成的字符串表示:
随机数,当前时间戳,当前进程号,当前CPU利用率,当前系统运行内存值。
11.如权利要求9所述的多程序操作HDFS目录的装置,其特征在于,HDFS目录包括至少一个层级的子目录;
第二处理模块具体用于:
利用标记信息对HDFS目录下的至少一个层级的子目录进行上锁。
12.如权利要求10所述的多程序操作HDFS目录的装置,其特征在于,第一处理模块具体用于:
获取该程序的等待方式;
若等待方式为不等待,将该程序终止;
若等待方式为等待,将该程序挂起。
13.如权利要求12所述的多程序操作HDFS目录的装置,其特征在于,第一处理模块还用于:
将该程序加入至等待队列。
14.如权利要求13所述的多程序操作HDFS目录的装置,其特征在于,第一处理模块还用于:
获取该程序的等待时长;
在该程序挂起的时长超过所述等待时长后,将该程序终止,将该程序从等待队列中删除。
15.如权利要求13所述的多程序操作HDFS目录的装置,其特征在于,第一处理模块还用于:
按照预设竞争规则,对等待队列中的程序进行优先级排序。
16.如权利要求15所述的多程序操作HDFS目录的装置,其特征在于,还包括第三处理模块,用于:
解除对HDFS目录的上锁;
重复执行以下步骤,直至等待队列中的程序全部执行完:
查询等待队列,从等待队列中取出优先级最高的程序;
生成所述优先级最高的程序的标记信息;
利用标记信息对HDFS目录进行上锁,执行所述优先级最高的程序;
在所述优先级最高的程序执行完后,从等待队列中删除所述优先级最高的程序。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至8任一项所述方法的计算机程序。
CN201911069188.4A 2019-11-05 2019-11-05 多程序操作hdfs目录的方法及装置 Pending CN110865977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911069188.4A CN110865977A (zh) 2019-11-05 2019-11-05 多程序操作hdfs目录的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911069188.4A CN110865977A (zh) 2019-11-05 2019-11-05 多程序操作hdfs目录的方法及装置

Publications (1)

Publication Number Publication Date
CN110865977A true CN110865977A (zh) 2020-03-06

Family

ID=69653823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911069188.4A Pending CN110865977A (zh) 2019-11-05 2019-11-05 多程序操作hdfs目录的方法及装置

Country Status (1)

Country Link
CN (1) CN110865977A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215406A (ja) * 2001-01-17 2002-08-02 Mitsubishi Electric Corp サーバ計算機及びサーバプロセス制御方法
US7107237B2 (en) * 2001-01-24 2006-09-12 International Business Machines Corporation Method, apparatus, and article of manufacture for executing a statement to manipulate data
US20080195616A1 (en) * 2007-02-13 2008-08-14 Red Hat, Inc. Multi-master attribute uniqueness
CN101901237A (zh) * 2009-12-04 2010-12-01 四川川大智胜软件股份有限公司 一种基于SQlite构建的类型-索引-内容方式分布式数据库
CN102193987A (zh) * 2011-03-25 2011-09-21 北京世纪互联工程技术服务有限公司 基于oltp的增加节点数据关系的方法及系统
CN104750720A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 多线程并发访问环境下高性能数据处理的实现
CN105786628A (zh) * 2016-02-24 2016-07-20 浪潮通用软件有限公司 一种分布式系统线程同步的处理方法
CN105893120A (zh) * 2016-04-21 2016-08-24 北京京东尚科信息技术有限公司 一种线程同步资源的获取方法和装置
CN107608773A (zh) * 2017-08-24 2018-01-19 阿里巴巴集团控股有限公司 任务并发处理方法、装置及计算设备
CN108205464A (zh) * 2016-12-20 2018-06-26 阿里巴巴集团控股有限公司 一种数据库死锁的处理方法、装置和数据库系统
CN109558218A (zh) * 2018-12-04 2019-04-02 山东浪潮通软信息科技有限公司 一种基于Redis的分布式业务数据锁实现方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215406A (ja) * 2001-01-17 2002-08-02 Mitsubishi Electric Corp サーバ計算機及びサーバプロセス制御方法
US7107237B2 (en) * 2001-01-24 2006-09-12 International Business Machines Corporation Method, apparatus, and article of manufacture for executing a statement to manipulate data
US20080195616A1 (en) * 2007-02-13 2008-08-14 Red Hat, Inc. Multi-master attribute uniqueness
CN101901237A (zh) * 2009-12-04 2010-12-01 四川川大智胜软件股份有限公司 一种基于SQlite构建的类型-索引-内容方式分布式数据库
CN102193987A (zh) * 2011-03-25 2011-09-21 北京世纪互联工程技术服务有限公司 基于oltp的增加节点数据关系的方法及系统
CN104750720A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 多线程并发访问环境下高性能数据处理的实现
CN105786628A (zh) * 2016-02-24 2016-07-20 浪潮通用软件有限公司 一种分布式系统线程同步的处理方法
CN105893120A (zh) * 2016-04-21 2016-08-24 北京京东尚科信息技术有限公司 一种线程同步资源的获取方法和装置
CN108205464A (zh) * 2016-12-20 2018-06-26 阿里巴巴集团控股有限公司 一种数据库死锁的处理方法、装置和数据库系统
CN107608773A (zh) * 2017-08-24 2018-01-19 阿里巴巴集团控股有限公司 任务并发处理方法、装置及计算设备
CN109558218A (zh) * 2018-12-04 2019-04-02 山东浪潮通软信息科技有限公司 一种基于Redis的分布式业务数据锁实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙媛: "进程管理", 《操作系统原理及应用》 *

Similar Documents

Publication Publication Date Title
JP6968903B2 (ja) 分散コンピューティングシステムのための、バックアップおよび復元フレームワーク
US10171377B2 (en) Orchestrating computing resources between different computing environments
BR112013030353B1 (pt) método implementado por pelo menos um dispositivo de computação e dispositivo de computação.
US8365170B2 (en) Realizing jumps in an executing process instance
WO2019000630A1 (zh) 多任务调度方法、系统、应用服务器及计算机可读存储介质
CN105045663B (zh) 快速部署虚拟机的方法与系统
US20140372998A1 (en) App package deployment
JP2017062767A5 (zh)
CN105700939A (zh) 一种分布式系统中多线程同步的方法和系统
KR20140129042A (ko) 어플리케이션 설치
WO2016111673A1 (en) Multi-tenant upgrading
CN109814946A (zh) 一种在XenServer中实现分布式存储的方法和装置
CN108694049B (zh) 一种更新软件的方法和设备
WO2023050713A1 (zh) 一种容器集群和组件的管理方法、装置、系统及存储介质
US8117574B2 (en) Implementing a serialization construct within an environment of parallel data flow graphs
US9542236B2 (en) Efficiency sequencer for multiple concurrently-executing threads of execution
CN112000971B (zh) 一种文件权限记录方法、系统及相关装置
CN113485840A (zh) 基于Go语言的多任务并行处理装置及方法
CN110865977A (zh) 多程序操作hdfs目录的方法及装置
US20230289207A1 (en) Techniques for Concurrently Supporting Virtual NUMA and CPU/Memory Hot-Add in a Virtual Machine
CN113010280A (zh) 分布式任务的处理方法、系统、装置、设备和介质
CN109656825B (zh) 美术资源处理的方法及装置、电子设备、存储介质
CN111158889A (zh) 一种批量任务处理方法及系统
CN110968406B (zh) 处理任务的方法、装置、存储介质和处理器
US20120096017A1 (en) Method and system for robust futexes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200306

RJ01 Rejection of invention patent application after publication