CN109376137A - 一种文件处理方法及装置 - Google Patents
一种文件处理方法及装置 Download PDFInfo
- Publication number
- CN109376137A CN109376137A CN201811541562.1A CN201811541562A CN109376137A CN 109376137 A CN109376137 A CN 109376137A CN 201811541562 A CN201811541562 A CN 201811541562A CN 109376137 A CN109376137 A CN 109376137A
- Authority
- CN
- China
- Prior art keywords
- file
- source code
- node
- task
- dependence
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000000712 assembly Effects 0.000 claims abstract description 15
- 238000000429 assembly Methods 0.000 claims abstract description 15
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 230000002349 favourable effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供的文件处理方法及装置,按照任务的各个文件间的依赖关系对任务的各个文件进行类别划分,将任务中具备依赖关系的各个文件划分为同一类别,在此基础上进行文件分发,并具体将划分为同一类别的各个文件分发到分布式集群的同一节点上;从而,基于本申请方案,可确保任务中具有依赖关系的各个文件被分发至集群的同一节点上,相对应地,集群中不同节点的文件之间则不存在依赖关系,从而为节点对文件的处理带来了方便,无需跨节点引用,可有效避免分布式***中的节点出现错误结果,同时也更有利于分布式***计算资源的有效利用。
Description
技术领域
本发明属于分布式计算、网络通信及网络安全领域,尤其涉及一种文件处理方法及装置。
背景技术
随着“互联网+”时代的到来,网络不仅对人们的生活方式产生了深远的影响,而且还对服务器的计算能力带来了严峻的挑战。越来越多的企业将后台服务器部署到分布式***上,借助分布式计算的力量突破发展的瓶颈。
对于一些实时的大规模批处理计算任务,怎样进行快速高效的文件分发对于充分高效利用计算资源起到了至关重要的作用。鉴于此,目前致力于实现分布式环境下的高效文件分发,并具体通过将问题分解成一个个小问题,采用分治、流水线等思想在分布式环境下快速、高效的分发文件。
发明人经研究发现,如果仅仅按上述思想简单地将任务文件进行划分进而分发到各个分布式节点上,可能会带来一些处理上的不便,甚至是处理结果错误。
发明内容
有鉴于此,本发明的目的在于提供一种文件处理方法及装置,以通过按照任务的文件间的依赖关系对任务进行文件划分及分发,来避免分布式***错误结果的出现,同时也更有利于分布式***计算资源的有效利用。
为此,本发明公开如下技术方案:
一种文件处理方法,包括:
分析待处理任务所包括的各个文件间的依赖关系;
将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的具有依赖关系的多个文件;
基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点;
获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
上述方法,优选的,所述待处理任务为待处理的工程源码,则所述将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,包括:
根据所述工程源码的各个源代码文件之间的依赖关系对所述各个源代码文件进行类别划分,得到多个分类类别的源代码文件,其中,每个分类类别对应包括具有依赖关系的多个源代码文件。
上述方法,优选的,所述基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点,包括:
获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况;
基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发;其中,属于相同分类类别的各个源代码文件被分发到同一节点。
上述方法,优选的,所述获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构,包括:
基于多线程或多进程监听集群中各个节点的处理情况;
当监听到某一节点的对所分发的相应类别源代码文件的编译结果时,接收所述编译结果并获取该类别中每个源代码文件的路径结构;
基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的编译结果写入存储介质的相应位置,以使得还原所述工程源码的工程结构。
上述方法,优选的,将源代码文件的编译结果写入存储介质的相应位置,包括:
将源代码文件的编译结果存储到预定的共享目录下。
一种文件处理装置,包括:
分析单元,用于分析待处理任务所包括的各个文件间的依赖关系;
分类及信息记录单元,用于将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的至少一个文件;
分发单元,用于基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点;
结果处理单元,用于获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
上述装置,优选的,所述待处理任务为待处理的工程源码;
所述分类及信息记录单元将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,具体包括:
根据所述工程源码的各个源代码文件之间的依赖关系对所述各个源代码文件进行类别划分,得到多个分类类别的源代码文件,其中,每个分类类别对应包括至少一个源代码文件。
上述装置,优选的,所述分发单元,具体用于:
获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况;
基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发;其中,属于相同分类类别的各个源代码文件被分发到同一节点。
上述装置,优选的,所述结果处理单元,具体用于:
基于多线程或多进程监听集群中各个节点的处理情况;
当监听到某一节点的对所分发的相应类别源代码文件的编译结果时,接收所述编译结果并获取该类别中每个源代码文件的路径结构;
基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的编译结果写入存储介质的相应位置,以使得还原所述工程源码的工程结构。
上述装置,优选的,所述结果处理单元将源代码文件的编译结果写入存储介质的相应位置,具体包括:
将源代码文件的编译结果存储到预定的共享目录下。
由以上方案可知,本申请提供的文件处理方法及装置,按照任务的各个文件间的依赖关系对任务的各个文件进行类别划分,将任务中具备依赖关系的各个文件划分为同一类别,在此基础上进行文件分发,并具体将划分为同一类别的各个文件分发到分布式集群的同一节点上;从而,基于本申请方案,可确保任务中具有依赖关系的各个文件被分发至集群的同一节点上,相对应地,集群中不同节点的文件之间则不存在依赖关系,从而为节点对文件的处理带来了方便,无需跨节点引用,可有效避免分布式***中的节点出现错误结果,同时也更有利于分布式***计算资源的有效利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例一提供的文件处理方法的流程示意图;
图2是本申请实施例一提供的一分布式环境下的文件分发模型的结构示意图;
图3是本申请实施例一提供的分布式环境下的文件分发模型的各模块的工作流程示意图;
图4是本申请实施二提供的文件处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人发现,同一任务所包括的各个文件中的某些文件之间往往存在一定的依赖关系,在对任务进行处理时,如果仅仅简单地将任务的各个文件进行划分(如简单地按数据量大小将各个文件划分为大小均匀的多个文件组等)及文件分发,可能会带来一些处理上的不便,甚至是处理结果错误(如某一节点所分发的文件需引用另一节点的文件所定义的变量,则可能会由于无法成功地跨节点引用而导致处理结果错误)。针对该问题,本申请提供了一种文件处理方法及装置,适用于分布式环境下的文件分发,该文件处理方法及装置旨在通过按照任务的文件间的依赖关系对任务进行文件划分及分发,来避免分布式***错误结果的出现,同时使得更有利于分布式***计算资源的有效利用。以下将通过具体实施例对本申请的文件处理方法及装置进行详细说明。
实施例一
参考图1所示出的文件处理方法的流程示意图,该方法包括以下步骤:
步骤101、分析待处理任务所包括的各个文件间的依赖关系。
所述待处理任务可以是但不限于待处理(如待编译)的工程源码,本申请将主要以所述待处理任务为待处理的工程源码为例,对本申请的文件处理方法进行详述。
工程源码往往包括多个源代码文件,多个源代码文件通过一定的组织结构构成一具有相应功能的工程,鉴于此,本步骤中,针对待处理的工程源码,具体可分析其所包括的各个源代码文件间的依赖关系。
以下对该依赖关系进行举例,比如,假设在A文件中需引用到B文件中定义的变量,那么B文件就必须在A文件之前编译(所述“之前”是指时间上的先),那么A文件就是依赖B文件的,从而,A、B两个文件之间存在依赖关系。本申请中,所谓一个文件依赖于另一个文件,就是指该一个文件的使用(如编译或运行等)需要以另一个文件为前提,如果所述另一个文件缺失,则该一个文件无法使用。
步骤102、将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的至少一个文件。
在分析出工程源码的各个源代码之间的依赖关系后,可继续对工程源码的各个源代码文件按其之间的依赖关系进行类别划分,并具体将具备依赖关系的各个源代码文件划分为同一分类类别,也即,每个分类类别可包括多个具备依赖关系的源代码文件,相对应地,不具备依赖关系的源代码文件则被划分至不同的分类类别中。
本步骤中,在对工程源码的各源代码文件按其依赖关系进行分类后,还同时记录各个源代码文件在原始工程源码中的路径结构,以用于为后续在获得各节点对源代码文件的处理结果后恢复工程源码的工程结构提供依据。
步骤103、基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点。
在将工程源码的各个源代码文件划分为各个类别后,可继续按源代码所属的分类类别将工程源码的各个源代码文件分发至分布式集群的多个节点上,并具体将同一分类类别的各个源代码文件分发到集群的同一个节点上,以此保证同一节点上的各个源代码文件在节点内部具有完整的依赖关系,而不需要进行任何的跨节点引用,以此来避免节点出现处理结果错误的现象,同时更有利于分布式***计算资源的有效利用。
实际实施中,当需进行文件分发时,可实时获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,并可结合集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发,以使得各节点的资源使用、网络负载及拥堵情况相对均衡。
步骤104、获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
在按所属的分类类别并结合各节点的计算资源使用情况、网络负载情况及拥塞情况,将工程源码的各个源代码文件分发至分布式集群的各个节点后,分布式集群的各个节点会对各自所分发的相应类别的源代码文件进行所需的处理,如对源代码文件进行编译、或者进行加密、或者进行代码混淆等等。
与此同时,可开启多线程或者多进程来监听集群中各个节点的处理情况,其中,每当监听到某一节点的对所分发的相应类别源代码文件的处理结果(如编译结果、加密所得密文或者代码混淆所得的混淆代码等)时,则接收所述处理结果并从所记录的各个源代码文件的路径结构信息中获取当前所监听的类别中源代码文件的路径结构,进而可基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的处理结果按预定方式写入存储介质的相应位置(具体可将源代码文件的编译结果存储到预定的共享目录下),以此使得还原所述工程源码的工程结构,其中,直至在所述工程源码的所有源代码文件的处理结果接收完毕,并按源代码文件的路径结构将其处理结果写入存储介质的相应位置后,方可完成整个工程源码的处理结果的归并及结构还原。
以下提供一基于本申请的文件处理方法的具体应用实例。在该实例中,基于本申请的上述方法实现了一分布式环境下的文件分发模型,如图2所示,该模型包括文件拆分模块201、文件分发模块202、文件接收模块203、接收结果存储模块204,其中:
文件拆分模块201首先分析待处理任务所包括的各文件之间的依赖关系,如具体分析工程源码的各个源代码文件之间的依赖关系,然后根据依赖关系对各文件进行分类,最后将分类结果传递给文件分发模块202;
文件分发模块202接收到文件拆分模块201传递的结果后,记录下每一个文件的路径结构,然后按照一定的策略(如基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况进行文件分发)为每一个分类类别对应选择一个节点,并将每一个分类类别中的所有文件分发到相对应的一个节点上;
文件接收模块203启动多线/进程,一直监听处理结果的接收,当监听到处理结果的到来,就调用文件存储模块204;
文件存储模块204首先针对每一个文件的处理结果,向文件分发模块202请求所记录的该文件的路径结构信息,然后基于该文件的路径结构信息以预定方式将该文件的处理结果(如编译结果或加密结果等)写入存储介质的相应位置,以完成整个工程源码的结构还原。
该模型的各模块的工作流程具体可参考图3所示。
由以上方案可知,本申请提供的文件处理方法,按照任务的各个文件间的依赖关系对任务的各个文件进行类别划分,将任务中具备依赖关系的各个文件划分为同一类别,在此基础上进行文件分发,并具体将划分为同一类别的各个文件分发到分布式集群的同一节点上;从而,基于本申请方案,可确保任务中具有依赖关系的各个文件被分发至集群的同一节点上,相对应地,集群中不同节点的文件之间则不存在依赖关系,从而为节点对文件的处理带来了方便,无需跨节点引用,可有效避免分布式***中的节点出现错误结果,同时也更有利于分布式***计算资源的有效利用。
实施例二
对应于上述实施例一中的文件处理方法,本申请实施例二还提供一种文件处理装置,参考图4示出的文件处理装置的结构示意图,该装置包括分析单元401、分类及信息记录单元402、分发单元403及结果处理单元404,其中:
分析单元401,用于分析待处理任务所包括的各个文件间的依赖关系。
所述待处理任务可以是但不限于待处理(如待编译)的工程源码,本申请将主要以所述待处理任务为待处理的工程源码为例,对本申请的文件处理方法进行详述。
工程源码往往包括多个源代码文件,多个源代码文件通过一定的组织结构构成一具有相应功能的工程,鉴于此,该分析单元401针对待处理的工程源码,具体可分析其所包括的各个源代码文件间的依赖关系。
以下对该依赖关系进行举例,比如,假设在A文件中需引用到B文件中定义的变量,那么B文件就必须在A文件之前编译(所述“之前”是指时间上的先),那么A文件就是依赖B文件的,从而,A、B两个文件之间存在依赖关系。本申请中,所谓一个文件依赖于另一个文件,就是指该一个文件的使用(如编译或运行等)需要以另一个文件为前提,如果所述另一个文件缺失,则该一个文件无法使用。
分类及信息记录单元402,用于将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的至少一个文件。
其中,所述待处理任务为待处理的工程源码;则所述分类及信息记录单元402将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,包括:根据所述工程源码的各个源代码文件之间的依赖关系对所述各个源代码文件进行类别划分,得到多个分类类别的源代码文件,其中,每个分类类别对应包括至少一个源代码文件。
具体地,在分析出工程源码的各个源代码之间的依赖关系后,可继续对工程源码的各个源代码文件按其之间的依赖关系进行类别划分,并具体将具备依赖关系的各个源代码文件划分为同一分类类别,也即,每个分类类别可包括多个具备依赖关系的源代码文件,相对应地,不具备依赖关系的源代码文件则被划分至不同的分类类别中。
在对工程源码的各源代码文件按其依赖关系进行分类后,还同时记录各个源代码文件在原始工程源码中的路径结构,以用于为后续在获得各节点对源代码文件的处理结果后恢复工程源码的工程结构提供依据。
分发单元403,用于基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点。
进一步地,所述分发单元403,具体用于:获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况;基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发;其中,属于相同分类类别的各个源代码文件被分发到同一节点。
具体地,在将工程源码的各个源代码文件划分为各个类别后,可继续按源代码所属的分类类别将工程源码的各个源代码文件分发至分布式集群的多个节点上,并具体将同一分类类别的各个源代码文件分发到集群的同一个节点上,以此保证同一节点上的各个源代码文件在节点内部具有完整的依赖关系,而不需要进行任何的跨节点引用,以此来避免节点出现处理结果错误的现象,同时更有利于分布式***计算资源的有效利用。
实际实施中,当需进行文件分发时,可实时获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,并可结合集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发,以使得各节点的资源使用、网络负载及拥堵情况相对均衡。
结果处理单元404,用于获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
进一步地,所述结果处理单元404,具体用于:基于多线程或多进程监听集群中各个节点的处理情况;当监听到某一节点的对所分发的相应类别源代码文件的编译结果时,接收所述编译结果并获取该类别中每个源代码文件的路径结构;基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的编译结果写入存储介质的相应位置,以使得还原所述工程源码的工程结构。
具体地,在按所属的分类类别并结合各节点的计算资源使用情况、网络负载情况及拥塞情况,将工程源码的各个源代码文件分发至分布式集群的各个节点后,分布式集群的各个节点会对各自所分发的相应类别的源代码文件进行所需的处理,如对源代码文件进行编译、或者进行加密、或者进行代码混淆等等。
与此同时,可开启多线程或者多进程来监听集群中各个节点的处理情况,其中,每当监听到某一节点的对所分发的相应类别源代码文件的处理结果(如编译结果、加密所得密文或者代码混淆所得的混淆代码等)时,则接收所述处理结果并从所记录的各个源代码文件的路径结构信息中获取当前所监听的类别中源代码文件的路径结构,进而可基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的处理结果按预定方式写入存储介质的相应位置(具体可将源代码文件的编译结果存储到预定的共享目录下),以此使得还原所述工程源码的工程结构,其中,直至在所述工程源码的所有源代码文件的处理结果接收完毕,并按源代码文件的路径结构将其处理结果写入存储介质的相应位置后,方可完成整个工程源码的处理结果的归并及结构还原。
由以上方案可知,本申请提供的文件处理装置,按照任务的各个文件间的依赖关系对任务的各个文件进行类别划分,将任务中具备依赖关系的各个文件划分为同一类别,在此基础上进行文件分发,并具体将划分为同一类别的各个文件分发到分布式集群的同一节点上;从而,基于本申请方案,可确保任务中具有依赖关系的各个文件被分发至集群的同一节点上,相对应地,集群中不同节点的文件之间则不存在依赖关系,从而为节点对文件的处理带来了方便,无需跨节点引用,可有效避免分布式***中的节点出现错误结果,同时也更有利于分布式***计算资源的有效利用。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上***或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种文件处理方法,其特征在于,包括:
分析待处理任务所包括的各个文件间的依赖关系;
将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的具有依赖关系的多个文件;
基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点;
获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
2.根据权利要求1所述的方法,其特征在于,所述待处理任务为待处理的工程源码,则所述将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,包括:
根据所述工程源码的各个源代码文件之间的依赖关系对所述各个源代码文件进行类别划分,得到多个分类类别的源代码文件,其中,每个分类类别对应包括具有依赖关系的多个源代码文件。
3.根据权利要求2所述的方法,其特征在于,所述基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点,包括:
获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况;
基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发;其中,属于相同分类类别的各个源代码文件被分发到同一节点。
4.根据权利要求3所述的方法,其特征在于,所述获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构,包括:
基于多线程或多进程监听集群中各个节点的处理情况;
当监听到某一节点的对所分发的相应类别源代码文件的编译结果时,接收所述编译结果并获取该类别中每个源代码文件的路径结构;
基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的编译结果写入存储介质的相应位置,以使得还原所述工程源码的工程结构。
5.根据权利要求4所述的方法,其特征在于,将源代码文件的编译结果写入存储介质的相应位置,包括:
将源代码文件的编译结果存储到预定的共享目录下。
6.一种文件处理装置,其特征在于,包括:
分析单元,用于分析待处理任务所包括的各个文件间的依赖关系;
分类及信息记录单元,用于将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,并记录所述待处理任务的每个文件的路径结构;其中,每个分类类别对应包括所述待处理任务的至少一个文件;
分发单元,用于基于预定的文件分发策略将所述待处理任务的各个文件分发至分布式集群的多个节点;其中,属于相同分类类别的各个文件被分发到同一节点;
结果处理单元,用于获取各个节点对所分发的文件的处理结果,并基于各文件的路径结构对各文件的处理结果进行归并处理,以使得还原所述待处理任务的任务结构。
7.根据权利要求6所述的装置,其特征在于,所述待处理任务为待处理的工程源码;
所述分类及信息记录单元将所述待处理任务所包括的各个文件按照文件间的依赖关系进行分类,得到多个分类类别,具体包括:
根据所述工程源码的各个源代码文件之间的依赖关系对所述各个源代码文件进行类别划分,得到多个分类类别的源代码文件,其中,每个分类类别对应包括至少一个源代码文件。
8.根据权利要求7所述的装置,其特征在于,所述分发单元,具体用于:
获取集群中各节点的计算资源使用情况、网络负载情况及拥塞情况;
基于集群中各节点的计算资源使用情况、网络负载情况及拥塞情况,对工程源码的各个源代码文件进行任务分发;其中,属于相同分类类别的各个源代码文件被分发到同一节点。
9.根据权利要求8所述的装置,其特征在于,所述结果处理单元,具体用于:
基于多线程或多进程监听集群中各个节点的处理情况;
当监听到某一节点的对所分发的相应类别源代码文件的编译结果时,接收所述编译结果并获取该类别中每个源代码文件的路径结构;
基于该类别中每个源代码文件的路径结构,将该类别中每个源代码文件的编译结果写入存储介质的相应位置,以使得还原所述工程源码的工程结构。
10.根据权利要求8所述的装置,其特征在于,所述结果处理单元将源代码文件的编译结果写入存储介质的相应位置,具体包括:
将源代码文件的编译结果存储到预定的共享目录下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811541562.1A CN109376137B (zh) | 2018-12-17 | 2018-12-17 | 一种文件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811541562.1A CN109376137B (zh) | 2018-12-17 | 2018-12-17 | 一种文件处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376137A true CN109376137A (zh) | 2019-02-22 |
CN109376137B CN109376137B (zh) | 2021-03-23 |
Family
ID=65374290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811541562.1A Expired - Fee Related CN109376137B (zh) | 2018-12-17 | 2018-12-17 | 一种文件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376137B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008074A (zh) * | 2019-12-05 | 2020-04-14 | 中国建设银行股份有限公司 | 一种文件处理方法、装置、设备和介质 |
CN111224822A (zh) * | 2020-01-03 | 2020-06-02 | 深圳鲲云信息科技有限公司 | 数据流图的节点调度方法、***、服务器及存储介质 |
WO2022222346A1 (zh) * | 2021-04-19 | 2022-10-27 | 浙江中控技术股份有限公司 | 一种数据存储方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式***中的任务调度装置和任务调度方法 |
CN103377075A (zh) * | 2012-04-28 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 管理任务的方法、装置及*** |
US20140089346A1 (en) * | 2012-09-26 | 2014-03-27 | Oracle International Corporation | Methods and apparatus for implementing semi-distributed lock management |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发***及方法 |
CN106155791A (zh) * | 2016-06-30 | 2016-11-23 | 电子科技大学 | 一种分布式环境下的工作流任务调度方法 |
CN106874084A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 一种分布式工作流调度的方法和装置 |
CN108874520A (zh) * | 2018-06-06 | 2018-11-23 | 成都四方伟业软件股份有限公司 | 计算方法及装置 |
-
2018
- 2018-12-17 CN CN201811541562.1A patent/CN109376137B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式***中的任务调度装置和任务调度方法 |
CN103377075A (zh) * | 2012-04-28 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 管理任务的方法、装置及*** |
US20140089346A1 (en) * | 2012-09-26 | 2014-03-27 | Oracle International Corporation | Methods and apparatus for implementing semi-distributed lock management |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发***及方法 |
CN106155791A (zh) * | 2016-06-30 | 2016-11-23 | 电子科技大学 | 一种分布式环境下的工作流任务调度方法 |
CN106874084A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 一种分布式工作流调度的方法和装置 |
CN108874520A (zh) * | 2018-06-06 | 2018-11-23 | 成都四方伟业软件股份有限公司 | 计算方法及装置 |
Non-Patent Citations (1)
Title |
---|
汪润等: "服务发布与发现在面向服务的架构中的研究与应用", 《电脑知识与技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008074A (zh) * | 2019-12-05 | 2020-04-14 | 中国建设银行股份有限公司 | 一种文件处理方法、装置、设备和介质 |
CN111008074B (zh) * | 2019-12-05 | 2023-08-22 | 中国建设银行股份有限公司 | 一种文件处理方法、装置、设备和介质 |
CN111224822A (zh) * | 2020-01-03 | 2020-06-02 | 深圳鲲云信息科技有限公司 | 数据流图的节点调度方法、***、服务器及存储介质 |
WO2022222346A1 (zh) * | 2021-04-19 | 2022-10-27 | 浙江中控技术股份有限公司 | 一种数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109376137B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376137A (zh) | 一种文件处理方法及装置 | |
US10430420B2 (en) | Weighting sentiment information | |
Grolman et al. | Transfer learning for user action identication in mobile apps via encrypted trafc analysis | |
JP2006331425A (ja) | ニューラルネットワークを介してグリッドエグゼキュータを選択する方法およびプログラム | |
CN110557291A (zh) | 一种网络服务监控*** | |
CN108156225A (zh) | 基于容器云平台的微应用监控***和方法 | |
CN105491078A (zh) | Soa***中的数据处理方法及装置、soa*** | |
CN109951326A (zh) | 数据处理方法、装置、存储介质及处理器 | |
WO2022241118A1 (en) | Ensemble machine learning for anomaly detection | |
Solaimani et al. | Online anomaly detection for multi‐source VMware using a distributed streaming framework | |
CN108134746A (zh) | 轨道交通数据的处理方法及装置 | |
CN115705255A (zh) | 学习因果关系 | |
CN105373450A (zh) | 数据备份的方法及装置 | |
CN103518192A (zh) | 大规模服务的实时诊断流水线 | |
CN108876314B (zh) | 一种职业生涯专业能力可追溯方法及平台 | |
CN114092246A (zh) | 金融交易链路的问题定位方法及装置 | |
Vulpe et al. | IoT security approaches in social robots for ambient assisted living scenarios | |
CN104599092B (zh) | 用于监控订单业务的方法及设备 | |
CN106357466B (zh) | 一种互联网产品监控方法及监控*** | |
CN110740172B (zh) | 一种基于微服务架构的路由管理方法、装置和*** | |
CN109345249A (zh) | 一种支付失败处理方法及装置 | |
CN105468502A (zh) | 一种日志收集的方法、装置和*** | |
KR101288535B1 (ko) | 통신 시스템 모니터링 방법 및 이를 위한 장치 | |
CN109165145A (zh) | 一种应用程序的使用情况统计方法及装置 | |
CN115344633A (zh) | 数据处理方法、装置、设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210323 |