CN1920779A - 一种基于配置文件的程序流程控制方法 - Google Patents

一种基于配置文件的程序流程控制方法 Download PDF

Info

Publication number
CN1920779A
CN1920779A CN 200510093028 CN200510093028A CN1920779A CN 1920779 A CN1920779 A CN 1920779A CN 200510093028 CN200510093028 CN 200510093028 CN 200510093028 A CN200510093028 A CN 200510093028A CN 1920779 A CN1920779 A CN 1920779A
Authority
CN
China
Prior art keywords
configuration file
configuration
control method
scheduling
flow control
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
Application number
CN 200510093028
Other languages
English (en)
Other versions
CN100416505C (zh
Inventor
崔巍
郑继峰
陈彦彪
孙旭东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2005100930285A priority Critical patent/CN100416505C/zh
Publication of CN1920779A publication Critical patent/CN1920779A/zh
Application granted granted Critical
Publication of CN100416505C publication Critical patent/CN100416505C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及程序流程控制领域,公开了一种基于配置文件的程序流程控制方法,包括如下步骤:通过配置文件定义应用程序的执行流程,根据实际需要以顺序或分支形式把多步操作组合成所需的操作流程;通过流程调度模块,读取配置信息,对各步操作进行调度执行,包含操作调度、入参选择。本发明采用使用配置文件定制程序流程的控制方法,把各独立的小功能模块组合在一起完成一个完整的功能,相对于现有方法,具有很强的灵活性,对子功能模块进行积木式的组合,可适应不同的应用场景定制要求,大大提高代码的复用性,也使得不同应用场景的逻辑实现变得简单、快捷、灵活。

Description

一种基于配置文件的程序流程控制方法
技术领域
本发明涉及程序流程控制技术,具体是一种基于配置文件的程序流程控制方法,特别是一种通过使用配置文件控制程序执行流程的方法。
背景技术
通常,在C/S,B/S等模式的应用程序开发中,服务端程序要接受各类不同的输入请求命令,通过运算返回相应的结果。
由于要处理的逻辑是复杂多样的,并且随着系统的完善,可能不断的有新的功能需要加入到系统中。因此服务端程序的处理逻辑在设计时候,应尽量包括主要功能,并具有一定的扩展性,以满足将来功能扩充之需。
现有的C/S,B/S系统服务端程序一般都采用完整的代码逻辑方式,即把所有可能的客户端请求的处理都包括到代码逻辑中。通过请求标识(命令码或参数等)来进行逻辑分支选择处理。
这样做的好处是效率比较高,中间冗余过程少。但是,采用这种方式,服务端功能模块相对会比较庞大复杂。并且,如果系统开发完成后,需要加入新的功能,或有另外一个类似的但需求略有不同的应用系统,则代码要被修改才能满足新的应用系统需求。
发明内容
本发明针对应用系统复杂多变的情况,采取配置文件方式,来定义应用系统中的操作执行流程,本发明所提供的一种基于配置文件的程序流程控制方法,根据不同的组合形式,使得同一套代码能方便的满足各类不同的业务处理需求,达到快速构建系统和灵活扩展的目的。
本发明是这样具体实现的:
一种基于配置文件的程序流程控制方法,其特征在于,包括如下处理:
通过配置文件定义应用程序的执行流程,根据实际需要以顺序或分支形式把多步操作组合成所需的操作流程;
通过流程调度,读取配置信息,对各步操作进行调度执行,包含操作调度、入参选择。
所述流程调度进一步包括如下处理:
流程调度模块根据输入参数,找到配置文件中的对应配置项;
配置项定义一系列的操作步骤;
流程调度模块根据配置项的具体内容,选择特定的应用程序处理逻辑进行执行;
所述选择特定的应用程序处理逻辑执行的先后顺序与配置文件中定义的操作顺序一致。
所述配置项中可以有分支判断配置,在调度过程中,可以动态的对某步骤执行情况进行判断,根据当时的执行结果决定下一步骤调用哪一个处理进行执行。
所述配置项定义的一系列操作步骤包含:
本步操作标识ID、执行的入参来源、具体执行方法名、下一步操作标识ID操作基本信息。
所述操作调度:
根据每一步骤的配置信息,定位具体的应用处理逻辑,传入参数进行调用,返回结果存入临时结果集,作为后续步骤调用的基础,再根据配置信息中下一步操作的标识内容,决定当前步骤执行完成后,需要执行的下一步操作内容,进行调用。
所述入参选择:根据配置信息,决定执行所需参数类型和来源,从临时结果集中找到此步骤执行所需要的参数。
所述流程调度还可以包括:
分支逻辑控制,如果配置文件中配置了分支选择信息,流程调度模块可以根据当前步骤的执行结果,动态的决定下一步执行哪一操作。
本发明采用使用配置文件定制程序流程的控制方法,把各独立的小功能模块组合在一起完成一个完整的功能,则背景技术中所述的问题可以被很好解决。
通过不同的组合方式可以让同一套代码实现不同的程序流程,满足在功能上相近的同一类应用系统需求;
配置文件负责操作主流程控制,则服务端应用程序就相对简单,功能独立,无太多的分支处理逻辑;
如果原有系统升级,增加新的需求,则可以通过更新配置流程内容达到目的。系统也有可能会增加新的功能模块,但不必修改程序中流程控制部分的逻辑。只用修改配置文件就可以把新增功能加入到整个操作处理逻辑流程中。
从上述描述可以看出使用配置文件方式控制程序流程,使得应用系统开发工作变得便捷高效,系统具有比较好的复用性和扩展性。
相对于现有方法,本发明的方法采用配置文件管理程序流程,具有很强的灵活性。对子功能模块进行积木式的组合,可适应不同的应用场景定制要求,大大提高代码的复用性,也使得不同应用场景的逻辑实现变得简单、快捷、灵活。
附图说明
图1本发明基于配置文件的程序流程调度原理图;
图2CAF系统工具框架原理图;
图3流程控制子模块的流程调度原理图。
具体实施方式
为实现发明目的,本发明提出的方法主要包括以下步骤:
(1)以配置文件形式定义应用程序逻辑模块的执行流程。应用实现过程中可以根据实际需要以顺序或分支形式把多步操作组合成所需的操作流程;说明书附图1基于配置文件的程序流程调度原理图显示了这种调度方式的基本框架结构。
调度基本流程如下:
●流程调度模块根据输入参数,找到配置文件中的对应配置项;
●配置项定义了一系列的操作步骤,每一步操作包含了一些操作基本信息,如:“本步操作标识ID”、“执行的入参来源”、“具体执行方法名”,“下一步操作标识ID”等。
●流程调度模块根据配置项具体内容,选择特定的应用程序处理逻辑进行方法调用;
●所述选择特定的应用程序处理逻辑执行的先后顺序与配置文件中定义的操作顺序一致;
●如需要,配置项中还可以有分支判断配置。调度过程中,可以动态的对某步骤执行情况进行判断,根据当时的执行结果决定下一步骤调用哪一个处理进行执行。
(2)流程调度模块是本发明的重要部分,负责读取配置信息,对各步操作进行调度执行。可以包含操作调度、入参选择、分支逻辑控制等相关模块。
具体说明如下:
操作调度:根据每一步骤的配置信息,定位具体的应用处理逻辑,传入参数进行调用,返回结果存入临时结果集,作为后续步骤调用的基础。再根据配置信息中下一步操作的标识内容,决定当前步骤执行完成后,需要执行的下一步操作内容,进行调用。
入参选择:根据配置信息,决定执行所需参数类型和来源,从临时结果集中找到此步骤执行所需要的参数。
分支逻辑控制:如果配置文件中配置了分支选择信息,则执行该步骤方法时,流程调度模块可以根据当前步骤的执行结果,动态的决定下一步执行哪一操作。
下面结合附图2和图3对本发明的一个实际应用作详细的说明:
在CDMA网管系统服务端的CAF系统工具框架模块中使用了本发明,达到了灵活控制上行/下行消息处理流程的目的。
CAF系统工具框架模块根据基于配置文件的程序流程控制技术实现了一套灵活的应用自定义业务流程的机制,并控制流程的正确执行,将重用的粒度细化到方法。
图2为“CAF系统工具框架原理图”,图中展示了工具CAF中的基本消息处理流程。
上行消息处理流程:
●网管客户端发起上行请求消息;
●该消息被送达网管服务端程序,上行流程调度模块根据配置文件,调用相应的网管业务模块中的方法,执行对应的上行处理。不同的应用在网管服务端可根据需要配置自己的操作步骤,决定消息在服务端具体做什么处理。
●消息经过网管服务端程序处理后被发送到前台网元设备。
下行消息处理流程:
●前台网元向后台网管程序上报消息;
●数据被送到网管服务端程序,下行流程调度模块根据配置文件,调用相应的网管业务模块,执行对应的下行处理。不同的应用在网管服务端可根据需要配置自己的操作步骤,决定前台上报的消息在服务端具体做什么处理。
●消息经过网管服务端程序处理后被发送到网管的客户端。
以下给出一具体实施示例:
以具有对应配置信息的上行消息为例说明,根据配置信息将此消息按以下流程被处理:
1.首先执行FuncA方法;
2.如果执行正常,根据Next=”Maf2”标识,执行一下步;
3.执行步骤”Maf2”的FuncB方法,该步骤Next=”Fin”,流程执行到此结束;
4.如果在执行步骤1的FuncA方法出现分支异常,根据Exception=″Maf3,进行分支跳转,执行下一步;
5.执行步骤”Maf3”的Func3方法,该步骤Next=”Fin”,流程执行到此结束。
框架部分,主要包括框架初始化子模块、上/下行流程控制子模块。初始化子模块主要负责从配置文件中读取与处理流程相关的配置信息等工作。
上/下行流程控制模块则负责接收来自网管客户端或前台网元的消息,并从初始化子模块获取相关上/下行流程信息,再通过调度控制执行该流程。图3就是流程控制子模块的流程调度原理图:
●调度模块中流程控制器首先从操作选择器获得操作具体信息;
●流程控制器调用单步操作执行器进行操作指定方法的调用;
●单步操作执行器执行时使用入参选择器从临时结果集合中获得入参;
●单步执行完成后,处理结果存入临时结果集合。流程控制器取下一步操作进行执行。
从上述介绍可看出,本发明应用在了CAF系统工具框架模块中,配置信息由初始化子模块读取和管理,流程控制子模块负责解析执行这些信息,最终完成对上/下行消息的处理。
使用同一套CAF的代码,不同的应用程序只需要提供相应的配置文件和业务处理模块,就可以完成不同的业务流程处理功能。如遇新需求要求变更原有处理流程,无须修改代码,只通过修改配置文件内容就可以达到目的。可见使用这种基于配置文件的流程控制技术可以增加应用系统的复用性和扩展性。

Claims (7)

1、一种基于配置文件的程序流程控制方法,其特征在于,包括如下处理:
通过配置文件定义应用程序的执行流程,根据实际需要以顺序或分支形式把多步操作组合成所需的操作流程;
通过流程调度,读取配置信息,对各步操作进行调度执行,包含操作调度、入参选择。
2、如权利要求1所述基于配置文件的程序流程控制方法,其特征在于,所述流程调度进一步包括如下处理:
流程调度模块根据输入参数,找到配置文件中的对应配置项;
配置项定义一系列的操作步骤;
流程调度模块根据配置项的具体内容,选择特定的应用程序处理逻辑进行执行;
所述选择特定的应用程序处理逻辑执行的先后顺序与配置文件中定义的操作顺序一致。
3、如权利要求2所述基于配置文件的程序流程控制方法,其特征在于:
所述配置项中可以有分支判断配置,在调度过程中,可以动态的对某步骤执行情况进行判断,根据当时的执行结果决定下一步骤调用哪一个处理进行执行。
4、如权利要求2所述基于配置文件的程序流程控制方法,其特征在于,所述配置项定义的一系列操作步骤包含:
本步操作标识ID、执行的入参来源、具体执行方法名、下一步操作标识ID操作基本信息。
5、如权利要求1或2所述基于配置文件的程序流程控制方法,其特征在于,所述操作调度:
根据每一步骤的配置信息,定位具体的应用处理逻辑,传入参数进行调用,返回结果存入临时结果集,作为后续步骤调用的基础,再根据配置信息中下一步操作的标识内容,决定当前步骤执行完成后,需要执行的下一步操作内容,进行调用。
6、如权利要求1或2所述基于配置文件的程序流程控制方法,其特征在于:
所述入参选择:根据配置信息,决定执行所需参数类型和来源,从临时结果集中找到此步骤执行所需要的参数。
7、如权利要求1或2所述基于配置文件的程序流程控制方法,其特征在于,所述流程调度还可以包括:
分支逻辑控制,如果配置文件中配置了分支选择信息,流程调度模块可以根据当前步骤的执行结果,动态的决定下一步执行哪一操作。
CNB2005100930285A 2005-08-25 2005-08-25 一种基于配置文件的程序流程控制方法 Expired - Fee Related CN100416505C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100930285A CN100416505C (zh) 2005-08-25 2005-08-25 一种基于配置文件的程序流程控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100930285A CN100416505C (zh) 2005-08-25 2005-08-25 一种基于配置文件的程序流程控制方法

Publications (2)

Publication Number Publication Date
CN1920779A true CN1920779A (zh) 2007-02-28
CN100416505C CN100416505C (zh) 2008-09-03

Family

ID=37778509

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100930285A Expired - Fee Related CN100416505C (zh) 2005-08-25 2005-08-25 一种基于配置文件的程序流程控制方法

Country Status (1)

Country Link
CN (1) CN100416505C (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063304A (zh) * 2010-12-31 2011-05-18 惠州Tcl移动通信有限公司 驱动电子替代料组合的方法和具有电子替代料组合的装置
CN102129389A (zh) * 2011-03-09 2011-07-20 南京恩瑞特实业有限公司 基于linuxC语言的轻量级流程调度方法
CN102135987A (zh) * 2011-03-02 2011-07-27 山东中创软件工程股份有限公司 一种物流信息实时查询方法
CN102270127A (zh) * 2011-05-30 2011-12-07 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法
CN103186374A (zh) * 2011-12-30 2013-07-03 鼎捷软件股份有限公司 一种软件系统功能划分及组合的方法
CN103577170A (zh) * 2012-07-27 2014-02-12 中兴通讯股份有限公司 网络应用的构建方法及装置
CN104932875A (zh) * 2014-01-31 2015-09-23 欧姆龙株式会社 图像处理装置、管理系统及管理方法
CN105335132A (zh) * 2014-06-13 2016-02-17 阿里巴巴集团控股有限公司 一种自定义应用程序功能的方法、装置以及系统
WO2016061921A1 (zh) * 2014-10-21 2016-04-28 中兴通讯股份有限公司 组合多种应用操作的方法、装置、终端及计算机存储介质
CN106293809A (zh) * 2016-07-28 2017-01-04 东软集团股份有限公司 优化程序的方法及装置
CN106406907A (zh) * 2016-10-11 2017-02-15 传线网络科技(上海)有限公司 应用程序流程的执行控制方法及装置
CN106897076A (zh) * 2017-03-24 2017-06-27 长沙趣动文化科技有限公司 游戏服务提供及运行方法、装置
CN107015853A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 多阶段任务的实现方法和装置
CN107479940A (zh) * 2017-08-23 2017-12-15 绵阳美菱软件技术有限公司 一种实现物联网模块的方法及装置
CN107766230A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 一种基于配置文件进行测试的方法与设备
CN107957893A (zh) * 2017-12-20 2018-04-24 四川九洲电器集团有限责任公司 一种软件流程与功能动态实现方法
CN108965611A (zh) * 2018-10-19 2018-12-07 北京小米移动软件有限公司 拍摄界面的切换方法、装置、设备及存储介质
CN109960496A (zh) * 2017-12-25 2019-07-02 北京创昱科技有限公司 设备控制方法、装置、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1205786A (zh) * 1995-10-30 1999-01-20 根来文生 软件的生产方法、处理装置及记录媒体

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063304B (zh) * 2010-12-31 2014-06-18 惠州Tcl移动通信有限公司 驱动电子替代料组合的方法和具有电子替代料组合的装置
CN102063304A (zh) * 2010-12-31 2011-05-18 惠州Tcl移动通信有限公司 驱动电子替代料组合的方法和具有电子替代料组合的装置
CN102135987A (zh) * 2011-03-02 2011-07-27 山东中创软件工程股份有限公司 一种物流信息实时查询方法
CN102129389A (zh) * 2011-03-09 2011-07-20 南京恩瑞特实业有限公司 基于linuxC语言的轻量级流程调度方法
CN102270127B (zh) * 2011-05-30 2014-04-16 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法
CN102270127A (zh) * 2011-05-30 2011-12-07 桂林欧博仪器技术有限公司 分析仪器流程编程和控制的方法
CN103186374A (zh) * 2011-12-30 2013-07-03 鼎捷软件股份有限公司 一种软件系统功能划分及组合的方法
CN103186374B (zh) * 2011-12-30 2016-06-01 鼎捷软件股份有限公司 一种软件系统功能划分及组合的方法
CN103577170A (zh) * 2012-07-27 2014-02-12 中兴通讯股份有限公司 网络应用的构建方法及装置
CN104932875B (zh) * 2014-01-31 2018-07-17 欧姆龙株式会社 图像处理装置、管理系统及管理方法
CN104932875A (zh) * 2014-01-31 2015-09-23 欧姆龙株式会社 图像处理装置、管理系统及管理方法
CN105335132A (zh) * 2014-06-13 2016-02-17 阿里巴巴集团控股有限公司 一种自定义应用程序功能的方法、装置以及系统
CN105335132B (zh) * 2014-06-13 2020-03-24 阿里巴巴集团控股有限公司 一种自定义应用程序功能的方法、装置以及系统
WO2016061921A1 (zh) * 2014-10-21 2016-04-28 中兴通讯股份有限公司 组合多种应用操作的方法、装置、终端及计算机存储介质
CN106293809A (zh) * 2016-07-28 2017-01-04 东软集团股份有限公司 优化程序的方法及装置
CN107766230A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 一种基于配置文件进行测试的方法与设备
CN107015853A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 多阶段任务的实现方法和装置
CN107015853B (zh) * 2016-10-10 2021-03-23 创新先进技术有限公司 多阶段任务的实现方法和装置
CN106406907A (zh) * 2016-10-11 2017-02-15 传线网络科技(上海)有限公司 应用程序流程的执行控制方法及装置
CN106897076A (zh) * 2017-03-24 2017-06-27 长沙趣动文化科技有限公司 游戏服务提供及运行方法、装置
CN106897076B (zh) * 2017-03-24 2021-03-02 长沙趣动文化科技有限公司 游戏服务提供及运行方法、装置
CN107479940A (zh) * 2017-08-23 2017-12-15 绵阳美菱软件技术有限公司 一种实现物联网模块的方法及装置
CN107957893A (zh) * 2017-12-20 2018-04-24 四川九洲电器集团有限责任公司 一种软件流程与功能动态实现方法
CN109960496A (zh) * 2017-12-25 2019-07-02 北京创昱科技有限公司 设备控制方法、装置、电子设备和存储介质
CN108965611A (zh) * 2018-10-19 2018-12-07 北京小米移动软件有限公司 拍摄界面的切换方法、装置、设备及存储介质
CN108965611B (zh) * 2018-10-19 2021-06-25 北京小米移动软件有限公司 拍摄界面的切换方法、装置、设备及存储介质
US11159703B2 (en) 2018-10-19 2021-10-26 Beijing Xiaomi Mobile Software Co., Ltd. Shooting interface switching method and apparatus, and device and storage medium thereof

Also Published As

Publication number Publication date
CN100416505C (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
CN1920779A (zh) 一种基于配置文件的程序流程控制方法
US8069446B2 (en) Parallel programming and execution systems and techniques
CN105893126A (zh) 一种任务调度方法及装置
CN1081010A (zh) 用于计算机运行期间改变软件的系统
CN108710536B (zh) 一种多层次细粒度的虚拟化gpu调度优化方法
CN110769278A (zh) 一种分布式视频转码方法及系统
CN1342940A (zh) 到一个共享的协处理器资源的多个逻辑接口
CN1434380A (zh) 图像处理装置和方法以及用于该装置的编译程序
CN1252144A (zh) 一可编程组件中可构元件的自同步方法
CN109145423A (zh) 一种pcb合拼与排样集成优化方法及系统
CN1710966A (zh) 基于控制和应用分离、具有业务生成能力的智能外设系统
CN1500328A (zh) 使用业务脚本提供网络服务的方法和系统
CN107122232B (zh) 一种多媒体任务处理装置及方法
CN1967500A (zh) 自动测试过程中资源使用的方法
CN111124636A (zh) 一种流程编排引擎及其控制方法
CN110780985A (zh) 一种有限时间的并行任务调度方法与装置
CN1666174A (zh) 处理器的地址生成单元
CN100336346C (zh) 并行计算集群电源的能耗控制方法
CN1716229A (zh) 可重配置处理器和半导体器件
CN114816694A (zh) 一种多流程协作的rpa任务调度方法及装置
CN1946198A (zh) 核心开通平台系统
CN1588411A (zh) 一种流程定制管理平台
CN1897615A (zh) 一种实现用户定义统计功能的方法
Deniziak et al. Hardware/software co-synthesis of distributed embedded systems using genetic programming
CN1595351A (zh) 一种基于mips指令集的处理器的多线程方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080903

Termination date: 20150825

EXPY Termination of patent right or utility model