一种二次开发程序执行的控制方法技术

技术编号:9738597 阅读:149 留言:0更新日期:2014-03-06 13:31
本发明专利技术公开了一种面向流体仿真二次开发程序执行的控制方法,包括:S1、根据流体仿真二次开发程序执行的中间过程作业的状态特点,将运行中的作业解析为10个作业状态;S2、根据流体仿真二次开发程序执行的标准流程,对所述10个作业状态配置其转换逻辑;S3、通过在数据库中添加1个state字段和4个step字段,对作业执行状态的全流程进行记录;S4、基于状态机模式和数据库记录,调度系统根据作用当前状态,按照预先定义的作业执行状态间转换逻辑执行作业,以对作业的流程控制。该方法使得开发人员只需要关注作业流程逻辑和脚本,无需开发服务层程序,从而大大缩短开发周期。

【技术实现步骤摘要】
一种二次开发程序执行的控制方法
本专利技术涉及程序管理
,尤其涉及一种二次开发程序执行的控制方法。
技术介绍
近年来,随着软件技术的发展与成熟,在工程计算领域,许多软件都为用户提供了二次开发的接口,以便于用户根据自己的行业需求进行个性化定制,并快速投入使用,从而降低软件开发周期,减少成本。二次开发的目的是使通用软件更加专业化,以提高应用效率,统一和简化使用方法,二次开发既可以满足用户自身的行业具体需求,也可以扩充原软件的功能,使之进一步发展完善。虽然对工程仿真软件(如:CAE软件)的二次开发技术能够为中小企业带来很多研发上的优势,但是二次开发技术本身仍然非常专业,需要计算机专业领域的知识,需要工程计算工程师在使用专业的计算机语言进行开发,进行工程计算分析。基于云模式的软件服务平台让更多的用户能够方便的使用现有的基于二次开发的软件和程序,同时开发人员也可以借助于这个平台方便的集成或者整合自己的程序,提高二次开发技术的普及率。但是将二次开发脚本集成到软件服务平台的过程非常复杂,涉及到参数解析、系统环境配置、前处理、求解、后处理、结果生成与展示等工作内容。目前二次开发脚本集成主要还是依靠开发人员人工手动实现,存在两个主要的缺陷:1.平台扩展性低,由于每一个二次开发应用的参数、运行方式各不相同,因此每一个新的程序都需要花费人力和时间去开发新的后台脚本程序来将其集成到平台中来,在面对大量第三方应用的场景时,开发团队压力极大,无法满足云平台对应用处理能力和效率的要求;2.维护成本高,每一种新软件的集成,都需要多种开发人员进行协调工作,例如流体仿真二次开发程序中,需要包括JAVA、PYTHON(一种面向对象、直译式计算机程序设计语言)、TCL(ToolCommandLanguage,工具命令语言)等各种工程师协调工作,时间周期长,成本非常高。因此现有技术对于工程软件的二次开发需要耗费的时间比较长,对人员的专业水平要求较高耗用人力资源,成本较高。
技术实现思路
(一)要解决的技术问题针对上述缺陷,本专利技术要解决的技术问题是如何采用自动化、流程化的处理方式,缩短软件二次开发的时间周期。(二)技术方案为解决上述问题,本专利技术提供了一种二次开发程序执行的控制方法,包括:S1、根据流体仿真二次开发程序执行的中间过程作业的状态特点,将运行中的作业解析为10个作业状态;S2、根据流体仿真二次开发程序执行的标准流程,对所述10个作业状态配置其转换逻辑;S3、通过在数据库中添加1个state字段和4个step字段,对作业执行状态的全流程进行记录;S4、基于状态机模式和数据库记录,调度系统根据作业当前状态,按照预先定义的作业执行状态间转换逻辑执行作业,以对作业的流程控制。其中,所述10个状态分别为:初始化状态、环境配置状态、失败状态、等待状态、前处理状态、运行状态、后处理状态、完成状态、异常退出状态和未知状态。其中,所述10种作业状态之间的转换逻辑如下:S21、用户提交作业请求,生成作业实例,进入初始化状态;S22、作业处于初始化状态,当参数解析出现异常时,进入失败状态;如果作业参数能够正常解析,则进入环境配置状态;S23、作业处于环境配置状态,根据参数配置系统环境变量,并生成BASH脚本,提交至后台作业调度系统;如果配置或者提交出现异常,则进入失败状态,如果环境配置成功且提交成功,进入等待状态;S24、作业处于等待状态,通过心跳程序监控后台调度系统,一旦开始执行二次开发应用程序,则判断程序中是否有前处理脚本,如果有,则进入前处理状态,如果没有,则进入运行状态,如果等待超时,则进入失败状态;S25、作业处于前处理状态,如果前处理脚本能够正常执行并得到结果,则进入运行状态,如果前处理无法正常执行,则进入异常退出状态;S26、作业处于运行状态,通过心跳监控后台调度系统,一旦二次开发应用程序执行完毕,切结果为正常返回,则进入后处理状态,如果程序非正常结束,进入异常退出状态,若出现其他状况,则进入未知状态;S27、作业处于后处理状态,如果后处理脚本能够正常执行完毕并得到有效结果报告,则作业完成,否则进入异常退出状态;S28、作业处于完成状态或者异常退出状态,后台服务抓取相关日志,并更新数据库。其中,所述步骤S3将1个state字段和4个step字段结合,对10种作业状态进行完整记录。其中,所述步骤S4利用状态机模式内在框架,按照数据库记录和预先定义的作业执行状态转换逻辑,对作业流程进行控制。(三)有益效果本专利技术提供了一种二次开发程序执行的控制方法,设计作业控制算法,使得云平台的后台服务程序能够根据脚本程序执行过程中的状态,以及预先提供的流程规则,智能调整作业顺序,不需要用户额外编写控制程序或者手动干预,该方法能够提高二次开发程序的可扩展性,采用自动化、流程化的方式处理用户请求,由于前处理脚本和后处理脚本等可以重用,提高二次开发程序的可重用性,减少编写新脚本的工作量,只需要关注用户请求的执行流程逻辑和脚本,不需要开发服务层程序,减少开发时间,大大缩短开发周期。附图说明图1为本专利技术实施例提供的一种二次开发程序执行的控制方法的步骤流程图;图2为本专利技术实施例提供的流体仿真二次开发执行过程中的各个状态转换关系图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本实施例中提供了一种二次开发程序执行的控制方法,步骤流程如图1所示,具体包括以下步骤:步骤S110、根据流体仿真二次开发程序执行的中间过程作业的状态特点,将运行中的作业解析为10个作业状态。本实施例中,主要包括以下10种作业状态:(1)初始化状态:用户请求提交的起始状态;(2)环境配置状态:根据作业参数配置系统环境参数;(3)失败状态:提交用户请求失败;(4)等待状态:提交用户请求成功后等待后台作业调度系统调度;(5)前处理状态:进入前处理执行阶段;(6)运行状态:执行用户请求,计入高性能计算阶段;(7)后处理状态:进入后处理执行阶段;(8)完成状态:用户请求执行成功结束;(9)异常退出状态:用户请求执行出现异常并退出;(10)未知状态:除了上述状态之外的其他可能状态。其中,作业中包括二次开发程序,执行作业即执行二次开发程序。步骤S120、根据流体仿真二次开发程序执行的标准流程,对所述10个作业状态配置其转换逻辑。本实施例中,这10种状态之间的状态转换关系如图2所示:用户通过浏览器向服务器提交用户请求,后台作业调度系统获取用户请求,并根据该作业请求生成作业实例,进入初始化状态;处于初始化状态,当根据作业请求提取作业参数进行解析的过程中出现异常时,进入失败状态;如果作业参数能够正常解析,则进入环境配置状态;作业处于环境配置状态,根据作业参数配置系统环境参数,并生成BASH脚本,提交至后台作业调度系统。如果配置或者提交出现异常,则进入失败状态,如果系统环境参数配置成功且提交成功,进入等待状态;处于等待状态,通过心跳程序监控后台作业调度系统,一旦开始执行二次开发应用程序,则判断程序中是否有前处理脚本,如果有,则进入前处理状态,如果没有,则进入运行状态,如果等待超时,则进入失败状态;处于前处理状态,如果前处理脚本能够正常本文档来自技高网
...
一种二次开发程序执行的控制方法

【技术保护点】
一种二次开发程序执行的控制方法,其特征在于,所述方法包括:S1、根据流体仿真二次开发程序执行的中间过程作业的状态特点,将运行中的作业解析为10个作业状态;S2、根据流体仿真二次开发程序执行的标准流程,对所述10个作业状态配置其转换逻辑;S3、通过在数据库中添加1个state字段和4个step字段,对作业执行状态的全流程进行记录;S4、基于状态机模式和数据库记录,调度系统根据作用当前状态,按照预先定义的作业执行状态间转换逻辑执行作业,以对作业的流程控制。

【技术特征摘要】
1.一种二次开发程序执行的控制方法,其特征在于,所述方法包括:S1、根据流体仿真二次开发程序执行的中间过程作业的状态特点,将运行中的作业解析为10个作业状态;S2、根据流体仿真二次开发程序执行的标准流程,对所述10个作业状态配置其转换逻辑;S3、通过在数据库中添加1个state字段和4个step字段,对作业执行状态的全流程进行记录;S4、基于状态机模式和数据库记录,调度系统根据作业当前状态,按照预先定义的作业执行状态间转换逻辑执行作业,以对作业的流程控制;其中,所述10个作业状态之间的转换逻辑如下:S21、用户提交作业请求,生成作业实例,进入初始化状态;S22、作业处于初始化状态,当参数解析出现异常时,进入失败状态;如果作业参数能够正常解析,则进入环境配置状态;S23、作业处于环境配置状态,根据参数配置系统环境变量,并生成BASH脚本,提交至后台作业调度系统;如果配置或者提交出现异常,则进入失败状态,如果环境配置成功且提交成功,进入等待状态;S24、作业处于等待状态,通过心跳程序监控后台调度系统,一旦开始执行二次开发应用程序,则判断程序中是否有前处理脚本,如果有,则进入前处理状态,如果没有,则...

【专利技术属性】
技术研发人员:吴一雷乔鸿欣王云天
申请(专利权)人:北京市计算中心
类型:发明
国别省市:

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

1