CN106339176B - 中间文件处理方法、客户端、服务器和*** - Google Patents
中间文件处理方法、客户端、服务器和*** Download PDFInfo
- Publication number
- CN106339176B CN106339176B CN201510398346.6A CN201510398346A CN106339176B CN 106339176 B CN106339176 B CN 106339176B CN 201510398346 A CN201510398346 A CN 201510398346A CN 106339176 B CN106339176 B CN 106339176B
- Authority
- CN
- China
- Prior art keywords
- server
- intermediate file
- client
- cluster information
- cluster
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/144—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了中间文件处理方法、客户端、服务器和***,包括:接收到来自第一客户端的向第一服务器写入中间文件的消息;向第二服务器请求创建中间文件的簇信息;当簇信息创建成功之后,接收到第二服务器返回的簇信息;其中,簇信息包括簇名称和优先级;发送簇信息至第一客户端和第二客户端,由第一客户端向第一服务器上传中间文件,使第一服务器根据本地磁盘负载和优先级写入中间文件,由第二客户端根据簇信息从第一服务器读取中间文件。保证优先级较高的作业的任务得到及时处理,防止优先级较高的作业被拖慢,维持磁盘的负载均衡。
Description
技术领域
本发明属于互联网技术领域,具体地说,涉及一种中间文件处理方法、客户端、服务器和***。
背景技术
在分布式数据计算处理中(如MapReduce、Spark),对数据处理的每个作业(Job)包含多个任务(Task),每个任务对数据进行相应的转换操作,通常由多个任务执行(Taskworker)线程并行处理不同的数据分片来完成。任务执行线程之间通常需要交换大量的中间结果数据,这些中间结果数据以中间文件的形式提供访问。如何高效处理中间文件是分布式数据处理的一个关键技术。
现有的技术方案主要为:每个任务处理线程直接访问服务器本地文件***将输出的中间文件进行存储,并将文件位置信息汇报给作业管理节点(负责管理作业内的任务执行的节点),作业管理节点告知下一个要读取中间文件的任务相应的中间文件存储地址,下一个任务执行线程通过HTTP访问来远程读取所需要的中间文件数据。当该作业执行完毕后,作业管理节点通知每台机器上的代理(agent)部件删除该作业的中间文件。
直接访问每台服务器的本地文件***存取中间文件,有些中间文件可能很大或者某些服务器/磁盘承载的中间文件很多,通常会造成负载不均。无法根据每台服务器和磁盘的负载动态调整中间文件的读写调度。虽然可以通过备份实例(Backup Instance)来减弱某些任务执行线程运行时间长尾带来的影响,但无法做好更细粒度的优化。
发明内容
有鉴于此,本申请提供了一种中间文件处理方法、客户端、服务器和***,用以解决现有技术中无法动态调整针对中间文件的读写操作的问题。
为了解决上述技术问题,本申请公开了一种中间文件处理方法,适用于簇管理客户端,包括:接收到来自第一客户端的向第一服务器写入中间文件的消息;向第二服务器请求创建所述中间文件的簇信息;当所述簇信息创建成功之后,接收到所述第二服务器返回的所述簇信息;其中,所述簇信息包括簇名称和优先级;发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理方法,其特征在于,包括:接收到来自第一客户端的写入中间文件的请求,所述写入中间文件的请求包括所述中间文件的簇信息,其中,所述簇信息由第二服务器创建并发送至簇管理客户端,再由所述簇管理客户端发送至所述第一客户端和第二客户端;所述簇信息包括簇名称和优先级;验证所述接收到的簇信息;当所述接收到的簇信息验证成功时,发送验证成功的消息至所述第一客户端;接收所述第一客户端上传的所述中间文件,根据本地磁盘负载和所述优先级写入所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理方法,适用于第二服务器,包括:根据来自簇管理客户端的请求,创建簇信息,所述簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,所述簇信息包括簇名称和优先级;发送所述簇信息至所述簇管理客户端,由所述簇管理客户端发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理方法,适用于第一客户端,包括:发送向第一服务器写入中间文件的消息至簇管理客户端,由所述簇管理客户端向第二服务器请求创建所述中间文件的簇信息;接收到所述簇管理客户端返回的所述簇信息,其中,所述簇信息包括簇名称和优先级;发送写入所述中间文件的请求至所述第一服务器,所述写入中间文件的请求包括所述簇信息,由所述第一服务器验证所述簇信息;在所述簇信息由所述第一服务器验证成功之后,向所述第一服务器写入所述中间文件,由所述第一服务器根据本地磁盘负载和所述优先级将所述中间文件写入磁盘。
为了解决上述技术问题,本申请还公开了一种中间文件处理方法,适用于第二客户端,包括:接收到来自簇管理客户端的簇信息;其中,所述簇信息是向第一服务器写入的中间文件的簇信息,由所述簇管理客户端向第二服务器请求创建;所述簇信息包括簇名称和优先级;根据所述簇信息向所述第一服务器查询所述簇信息对应的中间文件在磁盘的写入位置信息,所述中间文件是由第一客户端上传至所述第一服务器,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;根据所述写入位置信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理方法客户端,包括:第一接收模块,用于接收到来自第一客户端的向第一服务器写入中间文件的消息;请求模块,用于向第二服务器请求创建所述中间文件的簇信息;第二接收模块,当所述簇信息创建成功之后,接收到所述第二服务器返回的所述簇信息;其中,所述簇信息包括簇名称和优先级;第一发送模块,发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理服务器,包括:第四接收模块,用于接收到来自第一客户端的写入中间文件的请求,所述写入中间文件的请求包括所述中间文件的簇信息,其中,所述簇信息由第二服务器创建并发送至簇管理客户端,再由所述簇管理客户端发送至所述第一客户端和第二客户端;所述簇信息包括簇名称和优先级;验证模块,用于验证所述接收到的簇信息;第三发送模块,用于当所述接收到的簇信息验证成功时,发送验证成功的消息至所述第一客户端;第一写入模块,用于接收所述第一客户端上传的所述中间文件,根据本地磁盘负载和所述优先级写入所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理服务器,包括:创建模块,用于根据来自簇管理客户端的请求,创建簇信息,所述簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,所述簇信息包括簇名称和优先级;第七发送模块,用于发送所述簇信息至所述簇管理客户端,由所述簇管理客户端发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理客户端,包括:第八发送模块,用于发送向第一服务器写入中间文件的消息至簇管理客户端,由所述簇管理客户端向第二服务器请求创建所述中间文件的簇信息;第七接收模块,用于接收到所述簇管理客户端返回的所述簇信息,其中,所述簇信息包括簇名称和优先级;第九发送模块,用于发送写入所述中间文件的请求至所述第一服务器,所述写入中间文件的请求包括所述簇信息,由所述第一服务器验证所述簇信息;第二写入模块,用于在所述簇信息由所述第一服务器验证成功之后,向所述第一服务器写入所述中间文件,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理客户端,包括:第八接收模块,用于接收到来自簇管理客户端的簇信息;其中,所述簇信息是向第一服务器写入的中间文件的簇信息,由所述簇管理客户端向第二服务器请求创建;所述簇信息包括簇名称和优先级;第二查询模块,用于根据所述簇信息向所述第一服务器查询所述簇信息对应的中间文件在磁盘的写入位置信息,所述中间文件是由第一客户端上传至所述第一服务器,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;读取模块,用于根据所述写入位置信息从所述第一服务器读取所述中间文件。
为了解决上述技术问题,本申请还公开了一种中间文件处理***,包括:第一客户端,第二客户端,第一服务器,第二服务器和簇管理客户端;第一客户端在向第一服务器写入中间文件之前,发送向第一服务器写入中间文件的消息至簇管理客户端;簇管理客户端向第二服务器请求创建所述中间文件的簇信息,在接收到第二服务器返回的簇信息之后,发送所述簇信息至第一客户端和第二客户端,其中,所述簇信息包括簇名称和优先级;第一客户端根据所述簇信息向第一服务器请求写入所述中间文件,在接收到第一服务器返回的已成功验证所述簇信息的消息之后,向第一服务器上传所述中间文件;第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;第二客户端根据所述簇信息从第一服务器读取所述中间文件。
与现有技术相比,本申请可以获得包括以下技术效果:保证优先级较高的作业的任务得到及时处理,防止优先级较高的作业被拖慢,维持磁盘的负载均衡。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种中间文件处理***的结构示意图;
图2是本申请实施例的一种中间文件处理方法的流程示意图;
图3是本申请实施例的一种中间文件处理方法的流程示意图;
图4是本申请实施例的一种中间文件处理方法的流程示意图;
图5是本申请实施例的一种中间文件处理方法的流程示意图;
图6是本申请实施例的一种中间文件处理方法的流程示意图;
图7是本申请实施例的一种中间文件处理客户端的结构示意图;
图8是本申请实施例的一种中间文件处理服务器的结构示意图;
图9是本申请实施例的一种中间文件处理服务器的结构示意图;
图10是本申请实施例的一种中间文件处理客户端的结构示意图;
图11是本申请实施例的一种中间文件处理客户端的结构示意图。
具体实施方式
以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
图1是本申请实施例提供的一种中间文件处理***的拓扑结构示意图,该***包括第一服务器10,第二服务器11,簇管理客户端12,第一客户端13和第二客户端14。
第一客户端13是用以向第一服务器10写入中间文件的客户端,第二客户端14是用以从第一服务器10读取该中间文件的客户端。在整体的作业(Job)执行方案中包括多个任务(Task),第一客户端13是上一级任务的执行者,第二客户端14是下一级任务的执行者,经第一客户端13数据处理后产生的中间文件,需要由第二客户端14读取来继续进行后续处理。
第一服务器10是用以存储中间文件的服务器,完成第一客户端13和第二客户端14针对中间文件的读写操作。第二服务器11用以创建并存储中间文件的簇信息,通过簇信息来管理第一服务器10存储的中间文件。每个簇信息都具有过期时间,在簇信息过期之后,第二服务器11会将过期的簇信息删除。第二服务器11通过后台心跳向第一服务器10同步簇信息,使第一服务器10将已删除的簇信息所对应的中间文件删除,从而完成中间文件的清理。
簇管理客户端12用以向第二服务器11请求创建簇信息,并定期向第二服务器11发送延长该簇信息的过期时间的请求,以延长簇信息的生命周期。第二客户端14已从第一服务器10读取中间文件之后,簇管理客户端12用以向第二服务器11更新该中间文件的簇信息的过期时间为当前时间,使第二服务器11删除该中间文件的簇信息。
在该中间文件处理***中,针对中间文件的写入和读取过程如下。
第一客户端13的任务处理完成后,需要将结果数据以中间文件的形式上传到第一服务器10,第一客户端13发送向第一服务器10写入中间文件的消息至簇管理客户端12,该消息中包括第一客户端13的标识、中间文件的数据量以及该第一客户端13所执行的作业方案的用户标识(User id)。其中第一客户端13的标识是第一客户端13所执行任务的任务标识(Task id),通常是唯一的数字,例如Task id=1673;该中间数据文件的数据量为预计占用的存储空间,例如1042Kb;该用户标识可以是数字或字母组成的字符串。
簇管理客户端12接收到来自第一客户端13的上述消息后,向第二服务器11请求创建该中间文件的簇信息,该请求包括第一客户端13的标识,中间文件的数据量以及该第一客户端13所执行的作业方案的用户标识。
第二服务器11接收到该请求后,创建相应的簇信息包括:根据其中的用户标识进行验证,确定该用户标识所代表的用户执行该任务的优先级;根据第一客户端13的标识(Task id)生成簇名称,在第一客户端13的标识的前面和/或后面添加随机字符串,生成全局唯一的簇名称,例如,第一客户端的标识为1673,生成全局唯一的簇名称bcd_1673;根据中间文件的数据量确定存储空间额度;生成默认的过期时间,例如:从当前时间起算30分钟。创建的簇信息包括:簇名称,过期时间,优先级和存储空间额度。例如,簇名称:bcd_1673;过期时间:6:35(当前时间6:05);优先级:1;存储空间额度:1042Kb。第二服务器11创建簇信息成功后,将该簇信息在本地磁盘备份存储,并发送该簇信息至簇管理客户端12。
簇管理客户端12接收到第二服务器11返回的簇信息之后,将该簇信息发送给第一客户端13,同时根据作业的执行方案将该簇信息发送给需要利用该中间文件进行后续处理的第二客户端14。
第一客户端13发送写入中间文件的请求至第一服务器10,该写入中间文件的请求包括簇信息,由第一服务器10验证该簇信息。第一服务器10向第二服务器11验证该簇信息是否存在,如果第二服务器11存在该簇信息,第一服务器10发送验证成功的消息至第一客户端13;如果验证失败,则阻止第一客户端13的本次中间文件的写入。例如,第一服务器10向第二服务器11验证上述簇信息“簇名称:bcd_1673;过期时间:6:35(当前时间6:05);优先级:1;存储空间额度:1042Kb”是否存在,验证成功后发送消息至第一客户端13,由第一客户端13则上传该簇信息对应的中间文件至第一服务器10。
第一服务器10接收到第一客户端13上传的中间文件后,根据本地磁盘负载将中间文件写入到负载较轻的磁盘,使本地各个磁盘的负载得到均衡。当需要写入的中间文件的第一客户端13有多个时,第一服务器11根据各第一客户端13发送的簇信息中的优先级调整写入顺序,优先级较高的中间文件优先写入,以保证优先级较高的作业的任务得到及时处理,防止优先级较高的作业被拖慢。
第二客户端14接收到簇信息之后,定期向第一服务器10查询该簇信息对应的中间文件在磁盘的写入位置。例如,每隔30秒向第一服务器10查询一次,发送的查询请求包括该簇信息。第一服务器10查询到该簇信息对应的中间文件的写入位置信息之后,发送该写入位置信息至第二客户端14。第二客户端14根据查询到的写入位置信息从第一服务器10读取由第一客户端13已写入的中间文件。当同时有多个第二客户端14需要读取中间文件时,簇信息中的优先级较高的中间文件会被对应的第二客户端14优先读取,从而使中间文件的读取顺序也会随着写入顺序的调整而调整,以保证优先级较高的作业的任务得到及时处理,防止优先级较高的作业被拖慢。
在第一客户端13上传的中间文件被第二客户端14全部读取完成之前,簇管理客户端12每隔第一预设时长向第二服务器11更新簇信息的过期时间,以延长簇信息的生命周期。例如,该第一预设时长为5分钟,每次更新过期时间时,将该簇信息的过期时间延长5分钟。该过期时间每次延长的时间长度在提交的作业执行方案中预先设置,通常设置为提交该作业执行方案的簇管理客户端12发生异常后,删除所产生的中间文件的最长时间,即如果在该时间内簇管理客户端12能够恢复正常,则不会删除已产生的中间文件,作业继续执行,中间文件的簇信息也恰好不会因已过期而被删除,如果在该时间内簇管理客户端12没有恢复正常,则不会向第二服务器11更新簇信息的过期时间,会导致第二服务器11删除已过期的簇信息,进而使第一服务器10删除对应的中间文件。因此,簇管理客户端12每隔第一预设时长向第二服务器11更新簇信息的过期时间,能够保证该中间文件不会因对应的簇信息已过期而被删除,从而能够被第二客户端14成功读取。
第二客户端14成功读取该中间文件的全部数据之后,发送已成功读取中间文件的消息至簇管理客户端12,该已成功读取中间文件的消息包括该中间文件的簇信息中的簇名称,例如上例中的簇名称:bcd_1673。簇管理客户端12向第二服务器11更新该簇名称所对应的簇信息过期时间为当前时间,使该簇信息在第二服务器11立刻处于过期状态,需要被清理。第二服务器11删除该簇信息,通过后台心跳将本地保存的簇信息同步至第一服务器10。第一服务器10确定该簇信息在第二服务器11已被删除后,删除该簇信息对应的中间文件。例如,第二服务器11删除上述簇信息“簇名称:bcd_1673;过期时间:6:35(当前时间6:05);优先级:1;存储空间额度:1042Kb”之后,第一服务器10也将该簇信息对应的中间文件删除,从而释放磁盘存储空间,降低磁盘负载。
本申请实施例的中间文件处理***,在上述处理过程中如果簇管理客户端12因出现故障而重启,重启后向第二服务器11查询该簇信息是否还存在,以确定是否继续执行当前业务。簇管理客户端12发送第一客户端13的标识至第二服务器11,第二服务器11根据该第一客户端13的标识在存储的簇信息中查询是否有簇名称包含该第一客户端13的标识,从而确定与该第一客户端13上传的中间文件对应的簇信息是否还存在。例如,簇管理客户端12上传第一客户端13的标识“1673”,第二服务器11在保存的簇信息中查询是否存在包含“1673”的簇名称;最终查询到簇名称:bcd_1673,代表在簇管理客户端12重启之后,该簇信息还没有过期;如果最终未查询到包含“1673”的簇名称,则在簇管理客户端12重启之后,该簇信息已经过期并被第二服务器11删除。
当查询到相应的簇信息还存在时,簇管理客户端12向第二服务器11更新该簇信息的过期时间,以使该簇信息不会过期,从而使该簇信息对应的中间文件也不会被第一服务器10删除,中间文件处理***能够继续执行当前作业。当查询不到相应的簇信息时,说明该簇信息对应的中间文件也已经被第一服务器10删除,簇管理客户端12则重新提交当前作业方案,从而重新执行当前作业。使该中间文件处理***在当前作业出现异常时,能够及时回收相应的中间文件,释放磁盘空间,如果异常在短时间内恢复,也能够继续执行当前作业。
第一服务器10每隔第二预设时长向第二服务器11发送簇信息对应的中间文件的使用信息。例如,每隔一分钟发送簇信息对应的中间文件的使用信息。该使用信息包括中间文件的文件数量、以占用的存储空间、存储空间额度的使用率等信息,使第二服务器11能够得知各个簇信息对应的中间文件的全局使用情况,并可以提供接口供簇管理客户端12查询。
在上述中间文件处理***中,对于其中的簇管理客户端,本申请实施例提供了一种中间文件处理方法,如图2所示,该方法包括以下步骤。
在步骤S201中,接收到来自第一客户端的向第一服务器写入中间文件的消息。
在步骤S202中,向第二服务器请求创建中间文件的簇信息。
在步骤S203中,当簇信息创建成功之后,接收到第二服务器返回的簇信息,其中,簇信息包括簇名称和优先级。
在步骤S204中,发送簇信息至第一客户端和第二客户端,由第一客户端向第一服务器上传中间文件,使第一服务器根据本地磁盘负载和优先级写入中间文件,由第二客户端根据簇信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,上述适用于簇管理客户端的中间文件处理方法还可以进一步包括以下步骤。
每隔第一预设时长向第二服务器更新簇信息的过期时间,以延长簇信息的生命周期。
接收到来自第二客户端的已从第一服务器成功读取中间文件的消息;向第二服务器更新过期时间为当前时间,由第二服务器删除簇信息,进而使第一服务器删除簇信息对应的中间文件。
在宕机重启之后,簇管理客户端发送第一客户端的标识至第二服务器,以查询中间文件的簇信息是否存在;当中间文件的簇信息存在时,继续执行当前作业;当中间文件的簇信息不存在时,重新执行当前作业。
在上述中间文件处理***中,对于其中的第一服务器,本申请实施例提供了一种中间文件处理方法,如图3所示,该方法包括以下步骤。
在步骤S301中,接收到来自第一客户端的写入中间文件的请求,写入中间文件的请求包括中间文件的簇信息,其中,簇信息由第二服务器创建并发送至簇管理客户端,再由簇管理客户端发送至第一客户端和第二客户端;簇信息包括簇名称和优先级。
在步骤S302中,验证接收到的簇信息。
在步骤S303中,当接收到的簇信息验证成功时,发送验证成功的消息至第一客户端。
在步骤S304中,接收第一客户端上传的中间文件,根据本地磁盘负载和优先级写入中间文件。
在一个实施例中,上述适用于第一服务器的中间文件处理方法还可以进一步包括以下步骤。
根据来自第二客户端的查询请求,发送簇信息对应的中间文件的写入位置至第二客户端,其中,查询请求包括簇信息;
根据来自第二客户端的读取请求,发送簇信息对应的中间文件至第二客户端,其中,读取请求包括写入位置。
每隔第二预设时长向第二服务器发送簇信息对应的中间文件的使用信息。
簇信息还包括过期时间,上述中间文件处理方法还包括:同步第二服务器保存的簇信息;当中间文件的簇信息已被第二服务器删除时,删除簇信息对应的中间文件。
在上述中间文件处理***中,对于其中的第二服务器,本申请实施例提供了一种中间文件处理方法,如图4所示,该方法包括以下步骤。
在步骤S401中,根据来自簇管理客户端的请求,创建簇信息,其中,该簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,簇信息包括簇名称和优先级。
在步骤S402中,发送簇信息至簇管理客户端,由簇管理客户端发送簇信息至第一客户端和第二客户端,再由第一客户端向第一服务器上传中间文件,使第一服务器根据本地磁盘负载和优先级写入中间文件,由第二客户端根据簇信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,上述适用于第二服务器的中间文件处理方法还可以进一步包括以下步骤。
每隔第一预设时间从簇管理客户端更新过期时间,延长簇信息的生命周期。
在第二客户端已从第一服务器成功读取中间文件之后,从簇管理客户端更新过期时间为当前时间;删除中间文件的簇信息。
同步本地保存的簇信息至第一服务器,使中间文件的簇信息已被删除时,由第一服务器删除簇信息对应的中间文件。
每隔第二预设时长接收到来自第一服务器的簇信息对应的中间文件的使用信息。
在簇管理客户端宕机重启之后,从簇管理客户端接收到第一客户端的标识;根据第一客户端的标识查询簇信息是否存在;向簇管理客户端返回查询结果,使簇管理客户端确定是否继续执行当前作业。
在上述中间文件处理***中,对于其中的第一客户端,本申请实施例提供了一种中间文件处理方法,如图5所示,该方法包括以下步骤。
在步骤S501中,发送向第一服务器写入中间文件的消息至簇管理客户端,由簇管理客户端向第二服务器请求创建中间文件的簇信息。
在步骤S502中,接收述簇管理客户端返回的簇信息,其中,簇信息包括簇名称和优先级。
在步骤S503中,发送写入中间文件的请求至第一服务器,写入中间文件的请求包括簇信息,由第一服务器验证簇信息。
在步骤S504中,在簇信息由第一服务器验证成功之后,向第一服务器写入中间文件,由第一服务器根据本地磁盘负载和优先级写入中间文件。
在上述中间文件处理***中,对于其中的第二客户端,本申请实施例提供了一种中间文件处理方法,如图6所示,该方法包括以下步骤。
在步骤S601中,接收到来自簇管理客户端的簇信息;其中,簇信息是向第一服务器写入的中间文件的簇信息,由簇管理客户端向第二服务器请求创建;簇信息包括簇名称和优先级。
在步骤S602中,根据簇信息向第一服务器查询簇信息对应的中间文件在磁盘的写入位置信息,中间文件是由第一客户端上传至第一服务器,由第一服务器根据本地磁盘负载和优先级写入中间文件。
在步骤S603中,根据写入位置信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,上述适用于第二客户端的中间文件处理方法还可以进一步包括以下步骤。
发送已成功读取中间文件的消息至簇管理客户端,由簇管理客户端向第二服务器更新过期时间为当前时间,使第二服务器删除簇信息,进而使第一服务器删除簇信息对应的中间文件。
上述分别适用于簇管理客户端、第一服务器、第二服务器、第一客户端和第二客户端的中间文件处理方法,其中各个步骤的实现方式已在由它们组成的中间文件处理***的实施例中进行了说明,在此不再进行重复。
图7是本申请实施例通过的一种中间文件处理客户端,包括:
第一接收模块70,用于接收到来自第一客户端的向第一服务器写入中间文件的消息;
请求模块71,用于向第二服务器请求创建中间文件的簇信息;
第二接收模块72,当簇信息创建成功之后,接收到第二服务器返回的簇信息;其中,簇信息包括簇名称和优先级。
第一发送模块73,发送簇信息至第一客户端和第二客户端,由第一客户端向第一服务器上传中间文件,使第一服务器根据本地磁盘负载和优先级写入中间文件,由第二客户端根据簇信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,该客户端还包括:
第一更新模块,用于每隔第一预设时长向第二服务器更新簇信息的过期时间,以延长簇信息的生命周期。
第三接收模块,用于接收到来自第二客户端的已从第一服务器成功读取中间文件的消息;第二更新模块,用于向所述第二服务器更新所述过期时间为当前时间,由所述第二服务器删除所述簇信息,进而使所述第一服务器删除所述簇信息对应的中间文件。
第二发送模块,用于在宕机重启之后,发送所述第一客户端的标识至所述第二服务器,以查询所述中间文件的簇信息是否存在;第一执行模块,用于当所述中间文件的簇信息存在时,继续执行当前作业;第二执行模块,用于当所述中间文件的簇信息不存在时,重新执行所述当前作业。
图8是本申请实施例通过的一种中间文件处理服务器,包括:
第四接收模块80,用于接收到来自第一客户端的写入中间文件的请求,写入中间文件的请求包括中间文件的簇信息,其中,簇信息由第二服务器创建并发送至簇管理客户端,再由簇管理客户端发送至第一客户端和第二客户端;簇信息包括簇名称和优先级;
验证模块81,用于验证接收到的簇信息;
第三发送模块82,用于当接收到的簇信息验证成功时,发送验证成功的消息至第一客户端;
第一写入模块83,用于接收第一客户端上传的中间文件,根据本地磁盘负载和优先级写入中间文件。
在一个实施例中,簇信息还包括过期时间,该服务器还包括:
第四发送模块,根据来自第二客户端的查询请求,发送簇信息对应的中间文件的写入位置至第二客户端,其中,查询请求包括簇信息;第五发送模块,用于根据来自第二客户端的读取请求,发送簇信息对应的中间文件至第二客户端,其中,读取请求包括写入位置。
第六发送模块,用于每隔第二预设时长向第二服务器发送簇信息对应的中间文件的使用信息。
第一同步模块,用于同步第二服务器保存的簇信息;第一删除模块,用于当中间文件的簇信息已被第二服务器删除时,删除簇信息对应的中间文件。
图9是本申请实施例通过的一种中间文件处理服务器,包括:
创建模块90,用于根据来自簇管理客户端的请求,创建簇信息,簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,簇信息包括簇名称和优先级;
第七发送模块91,用于发送簇信息至簇管理客户端,由簇管理客户端发送簇信息至第一客户端和第二客户端,由第一客户端向第一服务器上传中间文件,使第一服务器根据本地磁盘负载和优先级写入中间文件,由第二客户端根据簇信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,该服务器还包括:
第三更新模块,用于每隔第一预设时间从簇管理客户端更新过期时间,延长簇信息的生命周期。
第四更新模块,用于在第二客户端已从第一服务器成功读取中间文件之后,从簇管理客户端更新过期时间为当前时间;第二删除模块,用于删除中间文件的簇信息。
第二同步模块,用于同步本地保存的簇信息至第一服务器,使中间文件的簇信息已被删除时,由第一服务器删除簇信息对应的中间文件。
第五接收模块,用于每隔第二预设时长接收到来自第一服务器的簇信息对应的中间文件的使用信息。
第六接收模块,用于在簇管理客户端宕机重启之后,从簇管理客户端接收到第一客户端的标识;第一查询模块,用于根据第一客户端的标识查询簇信息是否存在;反馈模块,用于向簇管理客户端返回查询结果,使簇管理客户端确定是否继续执行当前作业。
图10是本申请实施例通过的一种中间文件处理客户端,包括:
第八发送模块100,用于发送向第一服务器写入中间文件的消息至簇管理客户端,由簇管理客户端向第二服务器请求创建中间文件的簇信息;
第七接收模块101,用于接收到簇管理客户端返回的簇信息,其中,簇信息包括簇名称和优先级;
第九发送模块102,用于发送写入中间文件的请求至第一服务器,写入中间文件的请求包括簇信息,由第一服务器验证簇信息;
第二写入模块103,用于在簇信息由第一服务器验证成功之后,向第一服务器写入中间文件,由第一服务器根据本地磁盘负载和优先级将中间文件写入磁盘。
图11是本申请实施例通过的一种中间文件处理客户端,包括:
第八接收模块110,用于接收到来自簇管理客户端的簇信息;其中,簇信息是向第一服务器写入的中间文件的簇信息,由簇管理客户端向第二服务器请求创建;簇信息包括簇名称和优先级;
第二查询模块111,用于根据簇信息向第一服务器查询簇信息对应的中间文件在磁盘的写入位置信息,中间文件是由第一客户端上传至第一服务器,由第一服务器根据本地磁盘负载和优先级写入中间文件;
读取模块112,用于根据写入位置信息从第一服务器读取中间文件。
在一个实施例中,簇信息还包括过期时间,该客户端还包括:
第十发送模块,发送已成功读取中间文件的消息至簇管理客户端,由簇管理客户端向第二服务器更新过期时间为当前时间,使第二服务器删除簇信息,进而使第一服务器删除簇信息对应的中间文件。
下面通过应用实例对本申请实施例提供的中间文件处理***做进一步说明。
在云计算平台中,会同时执行多个作业(Job)方案。每个作业方案包括多个任务(Task),对于各个任务之间的中间结果数据来说,上一个任务执行后,将中间结果数据以中间文件的形式写入第一服务器,由下一个任务从第一服务器读取中间结果数据。
簇管理客户端当前提交了三个作业方案,Job1、Job2和Job3。其中,Job1对应的用户标识为SamZhang,Job2对应的用户标识为SissiLi,Job3对应的用户标识为LeoZhao。对于每个作业方案,都具有已执行完当前任务的第一客户端和需要继续执行下一个任务的第二客户端,第一客户端需要向第一服务器写入中间文件,第二客户端需要从第一服务器读取中间文件。
当前,对于Job1,包括已执行完任务1147(Task id)的第一客户端和继续执行任务1148的第二客户端;对于Job2,包括已执行完任务1214的第一客户端和继续执行任务1215的第二客户端;对于Job3,包括已执行完任务1359的第一客户端和继续执行任务1360的第二客户端。
对于Job1,已执行完任务1147的第一客户端需要向第一服务器写入中间文件A。发送向第一服务器写入中间文件的消息至簇管理客户端,该消息包括该第一客户端的标识1147,中间文件A的数据量2264Kb,和用户标识SamZhang。对于Job2,已执行完任务1214的第一客户端需要向第一服务器写入中间文件B。发送向第一服务器写入中间文件的消息至簇管理客户端,该消息包括该第一客户端的标识1214,中间文件B的数据量3376Kb,和用户标识SissiLi。对于Job3,已执行完任务1359的第一客户端需要向第一服务器写入中间文件C。发送向第一服务器写入中间文件的消息至簇管理客户端,该消息包括该第一客户端的标识1359,中间文件C的数据量4043Kb,和用户标识LeoZhao。簇管理客户端向第二服务器请求创建中间文件A、中间文件B和中间文件C的簇信息,该请求中也同样包括上述信息。
第二服务器接收到簇管理客户端的请求后,开始创建对应的簇信息。第二服务器根据第一客户端的标识生成簇名称,分别生成簇名称abcd_1147,efgh_1214和ijkl_1359;根据用户标识分别确定优先级,用户标识SamZhang对应的优先级为2,用户标识SissiLi对应的优先级为3,用户标识LeoZhao对应的优先级为1;根据中间文件的数据量分别存储空间额度;生成默认的过期时间,例如过期时间=当前时间+30分钟,如果当前时间为5:06:50,则创建的三个簇信息的过期时间为5:36:50。第二服务器为中间文件A、中间文件B和中间文件C创建的簇信息分别为:
“abcd_1147,5:36:50,2,2264Kb”;
“efgh_1214,5:36:50,3,3376Kb”;
“ijkl_1359,5:36:50,1,4043Kb”。
第二服务器发送上述创建的簇信息至簇管理客户端。簇管理客户端将中间文件A的簇信息分别发送到已执行完任务1147的第一客户端和继续执行任务1148的第二客户端,将中间文件B的簇信息分别发送到已执行完任务1214的第一客户端和继续执行任务1215的第二客户端,将中间文件C的簇信息分别发送到已执行完任务1359的第一客户端和已执行完任务1360的第二客户端。
已执行完任务1147的第一客户端,已执行完任务1214的第一客户端和已执行完任务1359的第一客户端分别向第一服务器发送写入中间文件A、中间文件B和中间文件C的请求。上述写入中间文件的请求分别包括中间文件A的簇信息、中间文件B的簇信息和中间文件C的簇信息。第一服务器接收到上述簇信息后,会根据簇名称向第二服务器进行验证,在验证成功后返回验证成功的消息至以上三个第一客户端。以上三个第一客户端接收到验证成功的消息后,分别将中间文件A、中间文件B和中间文件C上传至第一服务器。
第一服务器在写入接收到中间文件时,根据当前磁盘负载情况将中间文件写入到负载较轻的磁盘,根据各个中间文件的簇信息中的优先级确定写入的优先顺序。中间文件C的簇信息中的优先级为1,中间文件A的簇信息中的优先级为2,中间文件B的簇信息中的优先级为3,因此,第一服务器会优先写入中间文件C,再写入中间文件A,最后写入中间文件B。从而保证优先级较高的作业的任务得到及时处理,防止优先级较高的作业被拖慢。
继续执行任务1148的第二客户端,继续执行任务1215的第二客户端和继续执行任务1360的第二客户端,接收到来自簇管理客户端的簇信息之后,根据该簇信息定期向第一服务器查询对应的中间文件的写入位置。由于簇信息中的优先级为1的中间文件C最先被写入,因此继续执行任务1360的第二客户端会先查询到中间文件C的写入位置,继续执行任务1360的第二客户端根据查询到的写入位置从第一服务器读取中间文件C。然后,继续执行任务1148的第二客户端会查询到中间文件A的写入位置,并从第一服务器读取中间文件A。然后,继续执行任务1215的第二客户端会查询到中间文件B的写入位置,并从第一服务器读取中间文件B。通过优先级调整各个中间文件被写入的顺序,使各个中间文件被读取的顺序也能够随之调整,使较高优先级的任务能够被优先处理。以上三个第二客户端分别成功读取对应的中间文件之后,分别发送已成功读取中间文件的消息至簇管理客户端,发送的消息分别包括各自读取的中间文件的簇信息中的簇名称abcd_1147,efgh_1214和ijkl_1359。
簇管理客户端根据接收到的以上三个簇名称,向第二服务器将对应的三个簇信息的过期时间更新为当前时间,使中间文件A、中间文件B和中间文件C的簇信息立刻过期,使第二服务器将对应的三条簇信息删除。第二服务器将对应的簇信息删除后,将本地保存的簇信息同步到第一服务器。第一服务器发现中间文件A、中间文件B和中间文件C对应的簇信息已被第二服务器删除后,删除本地磁盘保存的中间文件A、中间文件B和中间文件C。从而释放第一服务器和第二服务器的存储空间,使作业执行过程产生的中间文件能够及时被清理。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (35)
1.一种中间文件处理方法,适用于簇管理客户端,其特征在于,包括:
接收到来自第一客户端的向第一服务器写入中间文件的消息;
向第二服务器请求创建所述中间文件的簇信息;
当所述簇信息创建成功之后,接收到所述第二服务器返回的所述簇信息;其中,所述簇信息包括簇名称和优先级;
发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
2.如权利要求1所述的方法,其特征在于,所述簇信息还包括过期时间,所述方法还包括:
每隔第一预设时长向所述第二服务器更新所述簇信息的过期时间,以延长所述簇信息的生命周期。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收到来自所述第二客户端的已从所述第一服务器成功读取所述中间文件的消息;
向所述第二服务器更新所述过期时间为当前时间,由所述第二服务器删除所述簇信息,进而使所述第一服务器删除所述簇信息对应的中间文件。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
在宕机重启之后,发送所述第一客户端的标识至所述第二服务器,以查询所述中间文件的簇信息是否存在;
当所述中间文件的簇信息存在时,继续执行当前作业;
当所述中间文件的簇信息不存在时,重新执行所述当前作业。
5.一种中间文件处理方法,适用于第一服务器,其特征在于,包括:
接收到来自第一客户端的写入中间文件的请求,所述写入中间文件的请求包括所述中间文件的簇信息,其中,所述簇信息由第二服务器创建并发送至簇管理客户端,再由所述簇管理客户端发送至所述第一客户端和第二客户端;所述簇信息包括簇名称和优先级;
验证所述接收到的簇信息;
当所述接收到的簇信息验证成功时,发送验证成功的消息至所述第一客户端;
接收所述第一客户端上传的所述中间文件,根据本地磁盘负载和所述优先级写入所述中间文件。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
根据来自所述第二客户端的查询请求,发送所述簇信息对应的中间文件的写入位置至所述第二客户端,其中,所述查询请求包括所述簇信息;
根据来自所述第二客户端的读取请求,发送所述簇信息对应的中间文件至所述第二客户端,其中,所述读取请求包括所述写入位置。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
每隔第二预设时长向所述第二服务器发送所述簇信息对应的中间文件的使用信息。
8.如权利要求5所述的方法,其特征在于,所述簇信息还包括过期时间,所述方法还包括:
同步所述第二服务器保存的簇信息;
当所述中间文件的簇信息已被所述第二服务器删除时,删除所述簇信息对应的中间文件。
9.一种中间文件处理方法,适用于第二服务器,其特征在于,包括:
根据来自簇管理客户端的请求,创建簇信息,所述簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,所述簇信息包括簇名称和优先级;
发送所述簇信息至所述簇管理客户端,由所述簇管理客户端发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
10.如权利要求9所述的方法,其特征在于,所述簇信息还包括过期时间,所述方法还包括:
每隔第一预设时间从所述簇管理客户端更新所述过期时间,延长所述簇信息的生命周期。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在所述第二客户端已从所述第一服务器成功读取所述中间文件之后,从所述簇管理客户端更新所述过期时间为当前时间;
删除所述中间文件的簇信息。
12.如权利要求10所述的方法,其特征在于,所述方法还包括:
同步本地保存的簇信息至所述第一服务器,使所述中间文件的簇信息已被删除时,由所述第一服务器删除所述簇信息对应的中间文件。
13.如权利要求9所述的方法,其特征在于,所述方法还包括:
每隔第二预设时长接收到来自所述第一服务器的所述簇信息对应的中间文件的使用信息。
14.如权利要求10所述的方法,其特征在于,所述方法还包括:
在所述簇管理客户端宕机重启之后,从所述簇管理客户端接收到第一客户端的标识;
根据所述第一客户端的标识查询所述簇信息是否存在;
向所述簇管理客户端返回查询结果,使所述簇管理客户端确定是否继续执行当前作业。
15.一种中间文件处理方法,适用于第一客户端,其特征在于,包括:
发送向第一服务器写入中间文件的消息至簇管理客户端,由所述簇管理客户端向第二服务器请求创建所述中间文件的簇信息;
接收到所述簇管理客户端返回的所述簇信息,其中,所述簇信息包括簇名称和优先级;
发送写入所述中间文件的请求至所述第一服务器,所述写入中间文件的请求包括所述簇信息,由所述第一服务器验证所述簇信息;
在所述簇信息由所述第一服务器验证成功之后,向所述第一服务器写入所述中间文件,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件。
16.一种中间文件处理方法,适用于第二客户端,其特征在于,包括:
接收到来自簇管理客户端的簇信息;其中,所述簇信息是向第一服务器写入的中间文件的簇信息,由所述簇管理客户端向第二服务器请求创建;所述簇信息包括簇名称和优先级;
根据所述簇信息向所述第一服务器查询所述簇信息对应的中间文件在磁盘的写入位置信息,所述中间文件是由第一客户端上传至所述第一服务器,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;
根据所述写入位置信息从所述第一服务器读取所述中间文件。
17.如权利要求16所述的方法,其特征在于,所述簇信息还包括过期时间,所述方法还包括:
发送已成功读取所述中间文件的消息至所述簇管理客户端,由所述簇管理客户端向所述第二服务器更新所述过期时间为当前时间,使所述第二服务器删除所述簇信息,进而使所述第一服务器删除所述簇信息对应的中间文件。
18.一种中间文件处理客户端,其特征在于,包括:
第一接收模块,用于接收到来自第一客户端的向第一服务器写入中间文件的消息;
请求模块,用于向第二服务器请求创建所述中间文件的簇信息;
第二接收模块,当所述簇信息创建成功之后,接收到所述第二服务器返回的所述簇信息;其中,所述簇信息包括簇名称和优先级;
第一发送模块,发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
19.如权利要求18所述的客户端,其特征在于,所述簇信息还包括过期时间,所述客户端还包括:
第一更新模块,用于每隔第一预设时长向所述第二服务器更新所述簇信息的过期时间,以延长所述簇信息的生命周期。
20.如权利要求19所述的客户端,其特征在于,所述客户端还包括:
第三接收模块,用于接收到来自所述第二客户端的已从所述第一服务器成功读取所述中间文件的消息;
第二更新模块,用于向所述第二服务器更新所述过期时间为当前时间,由所述第二服务器删除所述簇信息,进而使所述第一服务器删除所述簇信息对应的中间文件。
21.如权利要求19所述的客户端,其特征在于,所述客户端还包括:
第二发送模块,用于在宕机重启之后,发送所述第一客户端的标识至所述第二服务器,以查询所述中间文件的簇信息是否存在;
第一执行模块,用于当所述中间文件的簇信息存在时,继续执行当前作业;
第二执行模块,用于当所述中间文件的簇信息不存在时,重新执行所述当前作业。
22.一种中间文件处理服务器,其特征在于,包括:
第四接收模块,用于接收到来自第一客户端的写入中间文件的请求,所述写入中间文件的请求包括所述中间文件的簇信息,其中,所述簇信息由第二服务器创建并发送至簇管理客户端,再由所述簇管理客户端发送至所述第一客户端和第二客户端;所述簇信息包括簇名称和优先级;
验证模块,用于验证所述接收到的簇信息;
第三发送模块,用于当所述接收到的簇信息验证成功时,发送验证成功的消息至所述第一客户端;
第一写入模块,用于接收所述第一客户端上传的所述中间文件,根据本地磁盘负载和所述优先级写入所述中间文件。
23.如权利要求22所述的服务器,其特征在于,所述服务器还包括:
第四发送模块,根据来自所述第二客户端的查询请求,发送所述簇信息对应的中间文件的写入位置至所述第二客户端,其中,所述查询请求包括所述簇信息;
第五发送模块,用于根据来自所述第二客户端的读取请求,发送所述簇信息对应的中间文件至所述第二客户端,其中,所述读取请求包括所述写入位置。
24.如权利要求22所述的服务器,其特征在于,所述服务器还包括:
第六发送模块,用于每隔第二预设时长向所述第二服务器发送所述簇信息对应的中间文件的使用信息。
25.如权利要求22所述的服务器,其特征在于,所述簇信息还包括过期时间,所述服务器还包括:
第一同步模块,用于同步所述第二服务器保存的簇信息;
第一删除模块,用于当所述中间文件的簇信息已被所述第二服务器删除时,删除所述簇信息对应的中间文件。
26.一种中间文件处理服务器,其特征在于,包括:
创建模块,用于根据来自簇管理客户端的请求,创建簇信息,所述簇信息是由第一客户端向第一服务器写入的中间文件的簇信息,所述簇信息包括簇名称和优先级;
第七发送模块,用于发送所述簇信息至所述簇管理客户端,由所述簇管理客户端发送所述簇信息至所述第一客户端和第二客户端,由所述第一客户端向所述第一服务器上传所述中间文件,使所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件,由所述第二客户端根据所述簇信息从所述第一服务器读取所述中间文件。
27.如权利要求26所述的服务器,其特征在于,所述簇信息还包括过期时间,所述服务器还包括:
第三更新模块,用于每隔第一预设时间从所述簇管理客户端更新所述过期时间,延长所述簇信息的生命周期。
28.如权利要求27所述的服务器,其特征在于,所述服务器还包括:
第四更新模块,用于在所述第二客户端已从所述第一服务器成功读取所述中间文件之后,从所述簇管理客户端更新所述过期时间为当前时间;
第二删除模块,用于删除所述中间文件的簇信息。
29.如权利要求27所述的服务器,其特征在于,所述服务器还包括:
第二同步模块,用于同步本地保存的簇信息至所述第一服务器,使所述中间文件的簇信息已被删除时,由所述第一服务器删除所述簇信息对应的中间文件。
30.如权利要求26所述的服务器,其特征在于,所述服务器还包括:
第五接收模块,用于每隔第二预设时长接收到来自所述第一服务器的所述簇信息对应的中间文件的使用信息。
31.如权利要求27所述的服务器,其特征在于,所述服务器还包括:
第六接收模块,用于在所述簇管理客户端宕机重启之后,从所述簇管理客户端接收到第一客户端的标识;
第一查询模块,用于根据所述第一客户端的标识查询所述簇信息是否存在;
反馈模块,用于向所述簇管理客户端返回查询结果,使所述簇管理客户端确定是否继续执行当前作业。
32.一种中间文件处理客户端,其特征在于,包括:
第八发送模块,用于发送向第一服务器写入中间文件的消息至簇管理客户端,由所述簇管理客户端向第二服务器请求创建所述中间文件的簇信息;
第七接收模块,用于接收到所述簇管理客户端返回的所述簇信息,其中,所述簇信息包括簇名称和优先级;
第九发送模块,用于发送写入所述中间文件的请求至所述第一服务器,所述写入中间文件的请求包括所述簇信息,由所述第一服务器验证所述簇信息;
第二写入模块,用于在所述簇信息由所述第一服务器验证成功之后,向所述第一服务器写入所述中间文件,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件。
33.一种中间文件处理客户端,其特征在于,包括:
第八接收模块,用于接收到来自簇管理客户端的簇信息;其中,所述簇信息是向第一服务器写入的中间文件的簇信息,由所述簇管理客户端向第二服务器请求创建;所述簇信息包括簇名称和优先级;
第二查询模块,用于根据所述簇信息向所述第一服务器查询所述簇信息对应的中间文件在磁盘的写入位置信息,所述中间文件是由第一客户端上传至所述第一服务器,由所述第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;
读取模块,用于根据所述写入位置信息从所述第一服务器读取所述中间文件。
34.如权利要求33所述的客户端,其特征在于,所述簇信息还包括过期时间,所述客户端还包括:
第十发送模块,用于发送已成功读取所述中间文件的消息至所述簇管理客户端,由所述簇管理客户端向所述第二服务器更新所述过期时间为当前时间,使所述第二服务器删除所述簇信息,进而使所述第一服务器删除所述簇信息对应的中间文件。
35.一种中间文件处理***,其特征在于,包括:第一客户端,第二客户端,第一服务器,第二服务器和簇管理客户端;
第一客户端在向第一服务器写入中间文件之前,发送向第一服务器写入中间文件的消息至簇管理客户端;簇管理客户端向第二服务器请求创建所述中间文件的簇信息,在接收到第二服务器返回的簇信息之后,发送所述簇信息至第一客户端和第二客户端,其中,所述簇信息包括簇名称和优先级;
第一客户端根据所述簇信息向第一服务器请求写入所述中间文件,在接收到第一服务器返回的已成功验证所述簇信息的消息之后,向第一服务器上传所述中间文件;第一服务器根据本地磁盘负载和所述优先级写入所述中间文件;第二客户端根据所述簇信息从第一服务器读取所述中间文件。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510398346.6A CN106339176B (zh) | 2015-07-08 | 2015-07-08 | 中间文件处理方法、客户端、服务器和*** |
PCT/CN2016/087462 WO2017005116A1 (zh) | 2015-07-08 | 2016-06-28 | 中间文件处理方法、客户端、服务器和*** |
US15/862,570 US11500812B2 (en) | 2015-07-08 | 2018-01-04 | Intermediate file processing method, client, server, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510398346.6A CN106339176B (zh) | 2015-07-08 | 2015-07-08 | 中间文件处理方法、客户端、服务器和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339176A CN106339176A (zh) | 2017-01-18 |
CN106339176B true CN106339176B (zh) | 2020-04-10 |
Family
ID=57684862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510398346.6A Active CN106339176B (zh) | 2015-07-08 | 2015-07-08 | 中间文件处理方法、客户端、服务器和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11500812B2 (zh) |
CN (1) | CN106339176B (zh) |
WO (1) | WO2017005116A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339176B (zh) | 2015-07-08 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 中间文件处理方法、客户端、服务器和*** |
US11381446B2 (en) * | 2020-11-23 | 2022-07-05 | Zscaler, Inc. | Automatic segment naming in microsegmentation |
CN108932236B (zh) * | 2017-05-22 | 2021-05-07 | 北京金山云网络技术有限公司 | 一种文件管理方法及装置 |
CN115277707A (zh) * | 2022-07-15 | 2022-11-01 | 京东科技信息技术有限公司 | 业务处理方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973657B1 (en) * | 2001-01-30 | 2005-12-06 | Sprint Communications Company L.P. | Method for middle-tier optimization in CORBA OTS |
CN101493844A (zh) * | 2009-03-06 | 2009-07-29 | 无锡紫芯集成电路***有限公司 | 实现嵌入式存储器多主接口的方法及装置 |
CN102694860A (zh) * | 2012-05-25 | 2012-09-26 | 北京邦诺存储科技有限公司 | 一种云存储的数据处理方法、设备及*** |
CN102937964A (zh) * | 2012-09-28 | 2013-02-20 | 无锡江南计算技术研究所 | 基于分布式***的智能数据服务方法 |
CN103401931A (zh) * | 2013-08-05 | 2013-11-20 | 天闻数媒科技(湖南)有限公司 | 一种下载文件的方法和*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682507A (en) * | 1995-06-07 | 1997-10-28 | Tandem Computers, Incorporated | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records |
US6895472B2 (en) * | 2002-06-21 | 2005-05-17 | Jp Morgan & Chase | System and method for caching results |
US8255373B2 (en) * | 2008-10-24 | 2012-08-28 | Microsoft Corporation | Atomic multiple modification of data in a distributed storage system |
CN102214184B (zh) * | 2010-04-07 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 分布式计算***的中间文件处理装置及方法 |
CN102541460B (zh) * | 2010-12-20 | 2014-10-08 | ***通信集团公司 | 一种多磁盘场景下的磁盘管理方法和设备 |
US9451025B2 (en) * | 2013-07-31 | 2016-09-20 | International Business Machines Corporation | Distributed storage network with alternative foster storage approaches and methods for use therewith |
US9389994B2 (en) * | 2013-11-26 | 2016-07-12 | International Business Machines Corporation | Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning |
CN106339176B (zh) | 2015-07-08 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 中间文件处理方法、客户端、服务器和*** |
-
2015
- 2015-07-08 CN CN201510398346.6A patent/CN106339176B/zh active Active
-
2016
- 2016-06-28 WO PCT/CN2016/087462 patent/WO2017005116A1/zh active Application Filing
-
2018
- 2018-01-04 US US15/862,570 patent/US11500812B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973657B1 (en) * | 2001-01-30 | 2005-12-06 | Sprint Communications Company L.P. | Method for middle-tier optimization in CORBA OTS |
CN101493844A (zh) * | 2009-03-06 | 2009-07-29 | 无锡紫芯集成电路***有限公司 | 实现嵌入式存储器多主接口的方法及装置 |
CN102694860A (zh) * | 2012-05-25 | 2012-09-26 | 北京邦诺存储科技有限公司 | 一种云存储的数据处理方法、设备及*** |
CN102937964A (zh) * | 2012-09-28 | 2013-02-20 | 无锡江南计算技术研究所 | 基于分布式***的智能数据服务方法 |
CN103401931A (zh) * | 2013-08-05 | 2013-11-20 | 天闻数媒科技(湖南)有限公司 | 一种下载文件的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2017005116A1 (zh) | 2017-01-12 |
US20180129668A1 (en) | 2018-05-10 |
CN106339176A (zh) | 2017-01-18 |
US11500812B2 (en) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956374B2 (en) | Data recovery method, apparatus, and system | |
US8090917B2 (en) | Managing storage and migration of backup data | |
US9031910B2 (en) | System and method for maintaining a cluster setup | |
US8990176B2 (en) | Managing a search index | |
TWI689181B (zh) | 資料處理方法和系統 | |
EP3039549B1 (en) | Distributed file system using consensus nodes | |
US10831741B2 (en) | Log-shipping data replication with early log record fetching | |
US9892183B2 (en) | Computer system, computer system management method, and program | |
US20110258488A1 (en) | Server Failure Recovery | |
US11281546B2 (en) | System and method for performing an incremental backup for a persistent storage system that stores data for a node cluster | |
US11500812B2 (en) | Intermediate file processing method, client, server, and system | |
US8494888B2 (en) | Offline modification of business data | |
JP5948933B2 (ja) | ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
WO2020134199A1 (zh) | 实现数据一致性的方法和装置、服务器和终端 | |
WO2017028375A1 (zh) | 一种版本升级方法及*** | |
US11042454B1 (en) | Restoration of a data source | |
US10387262B1 (en) | Federated restore of single instance databases and availability group database replicas | |
WO2016054886A1 (zh) | 一种软件升级方法、装置和电子设备、存储介质 | |
CN106354830B (zh) | 一种数据库集群节点间数据同步的方法及装置 | |
AU2019244116B2 (en) | Techniques for scheduled anti-entropy repair design | |
US11204890B2 (en) | System and method for archiving data in a decentralized data protection system | |
US8705537B1 (en) | Eventually-consistent data stream consolidation | |
US9912727B1 (en) | Multiple concurrent in-flight replies in a distributed state system | |
US10938919B1 (en) | Registering client devices with backup servers using domain name service records |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210728 Address after: No.12 Zhuantang science and technology economic block, Xihu District, Hangzhou City, Zhejiang Province Patentee after: ALIYUN COMPUTING Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Ltd. |
|
TR01 | Transfer of patent right |