文件处理方法及装置制造方法及图纸

技术编号:8625886 阅读:177 留言:0更新日期:2013-04-25 22:55
本发明专利技术公开了一种文件处理方法及装置。所述文件处理方法包括:在预设执行环境中启动非并行化的二进制文件;确定所述二进制文件中符合分治语义的第一代码部分;将所述第一代码部分的代码进行格式转换,以形成并行化代码部分;将所述并行化代码部分按照并行化处理方式处理,并将第二代码部分按照串行化处理方式处理,其中,所述第二代码部分为所述二进制文件中第一代码部分以外的代码部分;得到所述并行化代码部分对应的至少两个处理结果以及所述第二代码部分对应的一处理结果;将所述并行化代码部分对应的至少两个处理结果进行合并。通过利用本方案,可以实现非并行化二进制文件的并行化处理,进而提高云处理节点的多核性能的利用率。

【技术实现步骤摘要】

本专利技术涉及云计算
,特别是涉及一种文件处理方法及装置
技术介绍
所谓云计算为基于互联网的相关服务的增加、使用和交付模式,其通常涉及通过互联网来提供动态易扩展且通常为虚拟化的环境。其中,云是网络或互联网的一种比喻说法;狭义云计算为IT基础设施的交互和使用模式,其指通过网络以按需、易扩展的方式来获得所需的资源;而广义云计算为服务的交付和使用模式,其指通过网络以按需、易扩展的方式获得所需的服务,其中,该服务为可以是与IT、软件或互联网相关的,也可以是其他服务。可见,云计算的出现意味着计算能力也可以作为一种商品通过互联网进行流通。在传统的云计算框架中,由于要处理海量的来自云端之外的数据请求,单纯依靠单一云处理节点,无法在短时间内高效完成,因此,需要依靠云系统内部的多个云处理节点,其中,在实际应用中该云处理节点可以为物理机或设置于物理机中的虚拟机。而更进一步的,为了具有较高的计算效率,现有云计算框架中的云处理节点的通常以多核CPU方式进行计算处理,因此,这就要求运行在多个核上的程序必须自身支持并行化,才可以更好的发挥云计算框架的计算性能。但是,对于利用c、c++和java等并不原生支持并行化的语言所编写的二进制文件而言,其将无法充分利用云处理节点的多核性能,这无疑是一种严重的资源浪费。
技术实现思路
为解决上述技术问题,本专利技术实施例提供了一种文件处理方法及装置,以实现非并行化二进制文件的并行化处理,进而提高云处理节点的多核性能的利用率,技术方案如下—方面,本专利技术实施例提供了一种文件处理方法,包括在预设执行环境中启动非并行化的二进制文件;确定所述二进制文件中符合分治语义的第一代码部分,其中,所述第一代码部分为所述二进制文件中代码段的至少一部分,符合分治语义的代码部分对应的任务支持并行化处理;将所述第一代码部分的代码进行格式转换,以形成并行化代码部分;将所述并行化代码部分按照并行化处理方式处理,并将第二代码部分按照串行化处理方式处理,其中,所述第二代码部分为所述二进制文件中第一代码部分以外的代码部分;得到所述并行化代码部分对应的至少两个处理结果以及所述第二代码部分对应的一处理结果;将所述并行化代码部分对应的至少两个处理结果进行合并。其中,将所述并行化代码部分按照并行化处理方式处理,包括调用运行时库,以获取所述并行化代码部分运行时所需的第一库文件;通过应用程序二进制接口 ABI加载关联有所述第一库文件的并行化代码部分,并将关联有所述第一库文件的并行化代码部分中的至少两个可并行子部分运行于CPU的至少两个核上。其中,将第二代码部分按照串行化处理方式处理,包括调用运行时库,以获取第二代码部分运行时所需的第二库文件;通过应用程序二进制接口 ABI加载关联有所述第二库文件的第二代码部分,并将关联有所述第二库文件的第二代码部分运行于CPU的一个核上。另一方面,本专利技术实施例还提供一种文件处理装置,包括启动模块,用于在预设执行环境中启动非并行化的二进制文件;分治代码确定模块,用于确定所述二进制文件中符合分治语义的第一代码部分,其中,所述第一代码部分为所述二进制文件中代码段的至少一部分,符合分治语义的代码部分对应的任务支持并行化处理;格式转换模块,用于将所述第一代码部分的代码进行格式转换,以形成并行化代码部分;并行代码处理模块,用于将所述并行化代码部分按照并行化处理方式处理;串行代码处理模块,用于将第二代码部分按照串行化处理方式处理,其中,所述第二代码部分为所述二进制文件中第一代码部分以外的代码部分;结果获取模块,用于得到所述并行化代码部分对应的至少两个处理结果以及所述第二代码部分对应的一处理结果;结果处理模块,用于将所述并行化代码部分对应的至少两个处理结果进行合并。其中,所述并行代码处理模块,具体用于调用运行时库,以获取所述并行化代码部分运行时所需的第一库文件;通过应用程序二进制接口 ABI加载关联有所述第一库文件的并行化代码部分,并将关联有所述第一库文件的并行化代码部分中的至少两个可并行子部分运行于CPU的至少两个核上。其中,所述串行代码处理模块,具体用于调用运行时库,以获取第二代码部分运行时所需的第二库文件;通过应用程序二进制接口 ABI加载关联有所述第二库文件的第二代码部分,并将关联有所述第二库文件的第二代码部分运行于CPU的一个核上。本专利技术实施例所提供的技术方案,在预设执行环境中启动非并行化的二进制文件;确定该二进制文件中符合分治语义的第一代码部分;将该第一代码部分的代码进行格式转换,以形成并行化代码部分;将该并行化代码部分按照并行化处理方式处理,并将第二代码部分按照串行化处理方式处理;得到该并行化代码部分对应的至少两个处理结果以及该第二代码部分对应的一处理结果;将该并行化代码部分对应的至少两个处理结果进行合并,以此实现了非并行化二进制文件的并行化处理,进而提高云处理节点的多核性能的利用率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例所提供的一种文件处理方法的流程图;图2为本专利技术实施例所提供的一种文件处理装置的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了实现非并行化二进制文件的并行化处理,进而提高云处理节点的多核性能的利用率,本专利技术实施例提供了 一种文件处理处理及装置。下面首先对本专利技术实施例所提供的一种文件处理方法进行介绍。需要说明的是,本专利技术实施例所提供的文件处理方法适用于云系统中,该云系统中包含至少一云处理节点,而每一云处理节点具有多核CPU,即具有多核计算性能。在实际应用中,该云处理节点可以为物理机或设置于物理机中的虚拟机,这都是合理的。如图1所示,一种文件处理方法,可以包括S101,在预设执行环境中启动非并行化的二进制文件;其中,所谓非并行化的二进制文件为利用c、c++和java等并不原生支持并行化的语言所编写的文件。对于运行一个非并行化的二进制文件而言,需要在预设的执行环境中启动该二进制文件,进而在启动后执行后续的处理步骤。其中,在预设执行环境中启动非并行化的二进制文件的具体实现方式可以为在命令行下启动该二进制文件对应的程序,例如一个二进制文件file默认的启动方式为是./file,其启动方式则是runtime, /file,该runtime为执行二进制文件的环境。可以理解的是,上述在预设执行环境中启动非并行化的二进制文件的具体实现方式仅仅作为一种示例,并不应该构成对本专利技术实施例的限定。S102,确定该二进制文件中符合分治语义的第一代码部分;其中,该第一代码部分为该二进制文件中代码段的至少一部分,符合分治语义的代码部分对应的任务支持并行化处理。其中,分治的原理为将一系列大的问题,分成小的子问题,把每个子问题解决之后,再本文档来自技高网...

【技术保护点】
一种文件处理方法,其特征在于,包括:在预设执行环境中启动非并行化的二进制文件;确定所述二进制文件中符合分治语义的第一代码部分,其中,所述第一代码部分为所述二进制文件中代码段的至少一部分,符合分治语义的代码部分对应的任务支持并行化处理;将所述第一代码部分的代码进行格式转换,以形成并行化代码部分;将所述并行化代码部分按照并行化处理方式处理,并将第二代码部分按照串行化处理方式处理,其中,所述第二代码部分为所述二进制文件中第一代码部分以外的代码部分;得到所述并行化代码部分对应的至少两个处理结果以及所述第二代码部分对应的一处理结果;将所述并行化代码部分对应的至少两个处理结果进行合并。

【技术特征摘要】
1.一种文件处理方法,其特征在于,包括 在预设执行环境中启动非并行化的二进制文件; 确定所述二进制文件中符合分治语义的第一代码部分,其中,所述第一代码部分为所述二进制文件中代码段的至少一部分,符合分治语义的代码部分对应的任务支持并行化处理; 将所述第一代码部分的代码进行格式转换,以形成并行化代码部分; 将所述并行化代码部分按照并行化处理方式处理,并将第二代码部分按照串行化处理方式处理,其中,所述第二代码部分为所述二进制文件中第一代码部分以外的代码部分;得到所述并行化代码部分对应的至少两个处理结果以及所述第二代码部分对应的一处理结果; 将所述并行化代码部分对应的至少两个处理结果进行合并。2.根据权利要求1所述的文件处理方法,其特征在于,将所述并行化代码部分按照并行化处理方式处理,包括 调用运行时库,以获取所述并行化代码部分运行时所需的第一库文件; 通过应用程序二进制接口 ABI加载关联有所述第一库文件的并行化代码部分,并将关联有所述第一库文件的并行化代码部分中的至少两个可并行子部分运行于CPU的至少两个核上。3.根据权利要求1或2所述的文件处理方法,其特征在于,将第二代码部分按照串行化处理方式处理,包括 调用运行时库,以获取第二代码部分运行时所需的第二库文件; 通过应用程序二进制接口 ABI加载关联有所述第二库文件的第二代码部分,并将关联有所述第二库文件的第二代码部分运行于CPU的一个核上。4.一种文件处理装置,其特征在于,包括 启动模块,用...

【专利技术属性】
技术研发人员:张权张涛刘鹏李峰张青陆国祥
申请(专利权)人:山东中创软件商用中间件股份有限公司
类型:发明
国别省市:

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

1