一种将单进程改造为多进程的方法及系统技术方案

技术编号:20424885 阅读:42 留言:0更新日期:2019-02-23 08:24
本发明专利技术提供了一种将单进程改造为多进程的方法和系统,该方法包括:计算实体程序改造步骤,改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数;批处理程序生成步骤,改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中;独立进程生成步骤,基于批处理程序,利用批处理命令调用单线程计算实体程序,以生成对应不同取值的命令行参数的多个独立进程;独立进程执行步骤,将多个独立进程交由操作系统来执行并自动调度处理。本发明专利技术可以充分利用操作系统性能,提高计算速度。

【技术实现步骤摘要】
一种将单进程改造为多进程的方法及系统
本专利技术属于并行计算
,具体地说,尤其涉及一种将单进程改造为多进程的方法和系统。
技术介绍
现今的计算机硬件具有比以前强大得多的计算能力。近年来,CPU无论在主频率上还是处理器核数上,都在飞速发展。在硬件技术不断发展的同时,软件技术也要求同时进步,以充分发挥硬件的性能。目前,并行计算技术已经有了长足的发展。针对计算机体系和开发语言,产生了多种并行编程模型。但是,现有并行编程技术往往比较复杂,学习这些技术和实际开发都有较大的成本,影响了在实际计算中的应用。特别是利用传统方法开发的单进程计算软件,要进行并行计算改造,其代价几乎等于重新开发。目前,主要的操作系统,如Windows是抢先式多任务、多线程操作系统,都支持多进程计算。操作系统可以自动调度管理多个进程的运行。计算机高级语言有着广泛的应用,积累了大量的程序模块。但是,这些程序模块往往是单线程的,对其进行多线程改造需要借助新的编程技术和依赖新的编译系统。要在运行这些程序时充分发挥硬件的能力,提高计算速度,还需要在计算软件的开发上应用与传统单进程不同的技术。
技术实现思路
为解决以上问题,本专利技术提供了一种将单进程改造为多进程的方法和系统,用以充分利用操作系统性能,提高计算速度。根据本专利技术的一个方面,提供了一种将单进程改造为多进程的方法,包括:计算实体程序改造步骤,改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数;批处理程序生成步骤,使所述改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中;独立进程生成步骤,基于所述批处理程序,利用批处理命令调用所述单线程计算实体程序,以生成对应不同取值的命令行参数的多个独立进程;独立进程执行步骤,将所述多个独立进程交由操作系统来执行并自动调度处理。根据本专利技术的一个实施例,在批处理程序生成步骤中,采用高级编程语言生成所述批处理程序。根据本专利技术的一个实施例,在独立进程执行步骤中,采用支持多进程计算的操作系统来并行执行所述多个独立进程。根据本专利技术的一个实施例,所述单线程计算实体程序的前后循环计算结果不相互依赖。根据本专利技术的一个实施例,所述单线程计算实体程序采用高级编程语言编写。根据本专利技术的另一个方面,还提供了一种将单进程改造为多进程的系统,包括:计算实体程序改造单元,其配置为改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数;批处理程序生成单元,其配置为使所述改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中;独立进程生成单元,其配置为基于所述批处理程序,利用批处理命令调用所述单线程计算实体程序,以生成对应不同取值的命令行参数的多个独立进程;独立进程执行单元,其配置为将所述多个独立进程交由操作系统来执行并自动调度处理。根据本专利技术的一个实施例,所述批处理文件生成单元具体用于采用高级编程语言生成所述批处理程序。根据本专利技术的一个实施例,所述独立进程执行单元具体用于采用支持多进程计算的操作系统来并行执行所述多个独立进程。根据本专利技术的一个实施例,所述单线程计算实体程序前后循环计算结果不相互依赖。根据本专利技术的一个实施例,所述单线程计算实体程序采用高级编程语言编写。本专利技术的有益效果:本专利技术通过一种简易的单进程改造为多进程的方法,不需要复杂的并行计算技术,不需要对原有单线程程序进行并行化改造,可以充分利用计算机性能,成倍提高计算速度。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:图1是根据本专利技术的一个实施例的一种将单进程改造为多进程的方法流程图;图2是根据本专利技术的一个实施例的多进程改造示意图;图3是根据本专利技术的一个实施例的一种将单进程改造为多进程的系统结构图。具体实施方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本专利技术中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。现有的并行计算技术可以充分发挥计算机的性能,但是在编程上采取的技术与传统单线程方法很不相同,虽然通过对原有高级语言程序进行改造可以达到要求,但其代价很大。因此,本专利技术针对现有传统高级语言编程的单进程单线程模块,利用现有Windows等操作系统可以支持多进程的特点,提供了一种将单进程改造为多进程的简单易行的方法,用以提高计算速度。如图1所示为根据本专利技术的一个实施例的一种将单进程改造为多进程的方法流程图,以下参考图1来对本专利技术进行详细说明。首先是步骤S110,计算实体程序改造步骤,即改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数。现有技术中的单进程模块通常采用传统高级语言编程,一个单进程模块中至少包括一个单线程实体计算程序。本专利技术改造的对象即为具有单线程的单进程模块,利用现有高级编程语言均具有接受命令行参数的功能,将原来不能接受命令行参数的单线程计算实体改造为可接受命令行参数。如图2所示为根据本专利技术的一个实施例的多进程改造示意图,其中,原单线程程序A表示某单进程模块中的一个单线程实体计算程序。该程序A为一循环实体计算程序,计算实体表示该程序A的实体计算程序中程序执行部分。对程序A进行改造,得到改造的单线程程序B。改造的单线程程序B能够接受命令行参数m,并将命令行参数m赋值给计算实体来进行计算。此处,原单线程程序A与改造的单线程程序B中的计算实体相同,不需要对原单线程程序A中的计算实体进行修改。以上将原单线程程序A改造为单线程程序B的方法,只需对单进程模块中的原有实体计算程序稍作改造,使之接受命令行参数,从而只计算原来循环计算中的一项或一部分任务,并产生所对应的输出。因为是简化改造,而且无需改动计算核心部分,所以这样的修改是容易实现的。接着是步骤S120,批处理程序生成步骤,即改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中。优选地,采用高级语言编程生成批处理程序,例如可以采用FORTRAN、VisualBasic等高级编程语言生成批处理程序。由于是由高级语言生成批处理程序,所以具有与高级编程语言编写的单进程模块完全一样的灵活性,不需要人工干预。批处理文件是扩展名为.bat的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本程序),可以简化日常或重复性任务。批处理的本质是一系列DOS命令按一定顺序排列而形成的集合。因此,根据不同取值的命令行参数,可以生成多个顺序执行的命令,并保存在批处理文件中。在执行时,批处理本文档来自技高网...

【技术保护点】
1.一种将单进程改造为多进程的方法,包括:计算实体程序改造步骤,改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数;批处理程序生成步骤,使所述改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中;独立进程生成步骤,基于所述批处理程序,利用批处理命令调用所述单线程计算实体程序,以生成对应不同取值的命令行参数的多个独立进程;独立进程执行步骤,将所述多个独立进程交由操作系统来执行并自动调度处理。

【技术特征摘要】
1.一种将单进程改造为多进程的方法,包括:计算实体程序改造步骤,改造单进程模块中的单线程计算实体程序,以使改造后的单线程计算实体程序可接受命令行参数;批处理程序生成步骤,使所述改造后的单线程计算实体程序接受不同取值的命令行参数,生成批处理程序并存储于批处理文件中;独立进程生成步骤,基于所述批处理程序,利用批处理命令调用所述单线程计算实体程序,以生成对应不同取值的命令行参数的多个独立进程;独立进程执行步骤,将所述多个独立进程交由操作系统来执行并自动调度处理。2.根据权利要求1所述的方法,其特征在于,在批处理程序生成步骤中,采用高级编程语言生成所述批处理程序。3.根据权利要求1所述的方法,其特征在于,在独立进程执行步骤中,采用支持多进程计算的操作系统来并行执行所述多个独立进程。4.根据权利要求1所述的方法,其特征在于,所述单线程计算实体程序的前后循环计算结果不相互依赖。5.根据权利要求1所述的方法,其特征在于,所述单线程计算实体程序采用高级编程语言编写。6.一种将单进程改造为...

【专利技术属性】
技术研发人员:江兴歌陈拥锋谈彩萍刘运黎赵利倪春华宋在超
申请(专利权)人:中国石油化工股份有限公司中国石油化工股份有限公司石油勘探开发研究院
类型:发明
国别省市:北京,11

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

1