首页 / 专利库 / 软件 / 软件 / 一种软件流程与功能动态实现方法

一种软件流程与功能动态实现方法

阅读:33发布:2021-06-04

专利汇可以提供一种软件流程与功能动态实现方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 软件 流程与功能动态实现方法,采用可扩展 标记语言 来定义‘软件流程及功能定义’配置信息,配置信息中定义了软件流程运行要经历的每一个运行状态以及每一个运行状态下软件要实现的功能,通过配置可以动态、灵活地增加或减少软件流程中的一个或多个运行状态以及改变软件在任一运行状态下要实现的功能,通过配置信息还可以任意地改变软件流程中运行状态的迁移路径。本发明使软件能灵活动态适应系统业务变更带来的软件运行流程调整或软件实现功能改变,能灵活适应、快速满足系统业务变更及发展带来的新需求。,下面是一种软件流程与功能动态实现方法专利的具体信息内容。

1.一种软件流程与功能动态实现方法,其特征在于,包括:
步骤一、采用可扩展标记语言定义‘软件流程及功能定义’配置信息;
步骤二、对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口;
步骤三、运行流程主框架解析所述‘软件流程及功能定义’配置信息,动态决定软件流程进入哪一个运行状态,并通过统一的访问接口加载运行对应该运行状态的功能插件,实现该运行状态下相应的功能。
2.根据权利要求1所述的方法,其特征在于,所述步骤一中的定义‘软件流程及功能定义’配置信息包括:在配置信息中定义一个或多个‘运行状态’子节点,每个‘运行状态’子节点对应软件流程中的一个运行状态;‘运行状态’子节点下定义‘实现功能’子节点,其对应软件流程中该运行状态时要实现的功能;‘实现功能’子节点下定义一个或多个‘迁移’子节点,每个‘迁移’子节点对应软件流程中可选择的下一运行状态。
3.根据权利要求2所述的方法,其特征在于,所述‘运行状态’子节点包含‘状态名称’和‘状态编码’节点属性,‘状态名称’节点属性的值定义为该运行状态的名称,‘状态编码’节点属性的值定义该运行状态的状态编码,状态编码用于唯一标识一个运行状态。
4.根据权利要求2所述的方法,其特征在于,所述‘实现功能’子节点包含‘功能插件’节点属性,该节点属性的值定义软件流程处于该运行状态时要加载运行的功能插件的名称。
5.根据权利要求2所述的方法,其特征在于,所述‘迁移’子节点包含‘返回码’和‘下一个状态编码’节点属性,软件加载运行功能插件接收后将得到功能插件返回的运行结束码,‘返回码’节点属性的值定义为功能插件返回的某个运行结束码,‘下一个状态编码’节点属性的值定义为软件流程中某一个运行状态的状态编码。
6.根据权利要求1所述的方法,其特征在于,步骤三具体包括:
步骤S01、读取‘运行状态’子节点中‘状态名称’属性值,使软件运行流程进入该属性值所指定的运行状态;
步骤S02、对该‘运行状态’子节点下的‘实现功能’子节点,根据其‘功能插件’属性值,加载该属性值所指定的功能插件,调用功能插件的统一访问接口,运行该功能插件实现特定的功能,并在该功能插件运行结束时通过统一访问接口得到该功能插件的运行结束码;
步骤S03、运行流程主框架遍历步骤S02中所述‘实现功能’子节点下的所有‘迁移’子节点,找到某个‘迁移’子节点,其‘返回码’属性值和步骤S02中所述的功能插件运行结束码相等;
步骤S04、读取步骤S03中所找到的‘迁移’子节点中的‘下一个状态编码’属性值,并判断该属性值是否为空,如果不为空,则遍历配置信息中的所有‘运行状态’子节点,找到某个‘运行状态’子节点,其‘状态编码’属性值和该‘下一个状态编码’属性值相等,对该‘运行状态’子节点重复执行S01到S04的步骤。
7.根据权利要求1所述的方法,其特征在于,还包括步骤四、在软件部署运行后,确定是否存在系统业务调整变化,如果存在要求更改软件流程和功能,则对‘软件流程及功能定义’配置信息进行重新配置并添加新的功能插件,并返回步骤三;反之则整个流程结束。
8.根据权利要求7所述的方法,其特征在于,所述重新配置具体为:当要求增加或减少软件流程所经历的运行状态时,在‘软件流程及功能定义’配置信息中增加或减少‘运行状态’子节点。
9.根据权利要求7所述的方法,其特征在于,所述重新配置具体为:当要求改变软件流程处于某一运行状态时所实现的功能时,在‘软件流程及功能定义’配置信息中找到该运行状态对应的‘运行状态’子节点,修改其‘实现功能’子节点的‘功能插件’属性值,使该属性值为新增功能插件的名称,使软件流程进入到该运行状态时能够加载运行新增的功能插件。
10.根据权利要求7所述的方法,其特征在于,所述重新配置具体为:当要求改变软件流程中运行状态的迁移路径时,在‘软件流程及功能定义’配置信息中找到该运行状态对应的‘运行状态’子节点,修改其‘迁移’子节点的‘下一个状态编码’属性值,使该属性值从原先设定的运行状态变为另一运行状态的状态编码。

说明书全文

一种软件流程与功能动态实现方法

技术领域

[0001] 本发明涉及计算机软件开发技术领域,具体涉及一种软件流程与功能动态实现方法。

背景技术

[0002] 计算机软件的运行流程一般会经历初始化、开始、中间运行状态1、中间运行状态2、…中间运行状态N、清理运行环境和结束等各个运行状态。这些软件流程中运行状态的迁移和每个状态下的软件功能执行,构成了一个完整的计算机软件运行流程,并实现了预定的软件业务功能。
[0003] 现有的计算软件在设计完成并交付部署后,其流程经历的各个运行状态一般是固定的,每种运行状态下软件实现的功能也是不变的,也即软件流程中运行状态的迁移和每种运行状态下实现的功能是在软件开发设计阶段就预先设置的,并以硬编码方式实现了软件程序。这种方式很难适应系统业务流程和功能的调整变化,如业务变化要求软件流程增加、减少某些中间运行状态、或从某一种运行状态迁移到其它的任意一种运行状态、或要求对某一种运行状态下软件实现的功能进行调整。面对这种需求,系统设计及运维人员往往只能对软件再次进行设计升级和部署。

发明内容

[0004] 本发明提出一种软件流程与功能动态实现方法,根据软件流程和功能定义配置信息,动态决定软件流程要经历哪些运行状态以及在每一个运行状态下软件要实现的功能,根据配置信息还可以灵活增加或减少软件流程中的一个或多个运行状态以及改变软件在任一运行状态下要实现的功能,根据配置信息还可以任意地改变软件流程中运行状态的迁移路径。解决了现有技术中存在业务变化时需要重新对软件进行设计升级和部署的技术问题。
[0005] 本发明的一种软件流程与功能动态实现方法,包括:
[0006] 步骤一、采用可扩展标记语言定义‘软件流程及功能定义’配置信息;
[0007] 步骤二、对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口;
[0008] 步骤三、运行流程主框架解析所述‘软件流程及功能定义’配置信息,动态决定软件流程进入哪一个运行状态,并通过统一的访问接口加载运行对应该运行状态的功能插件,实现该运行状态下相应的功能。
[0009] 进一步,所述步骤一中的定义‘软件流程及功能定义’配置信息包括:在配置信息中定义一个或多个‘运行状态’子节点,每个‘运行状态’子节点对应软件流程中的一个运行状态;‘运行状态’子节点下定义‘实现功能’子节点,其对应软件流程中该运行状态时要实现的功能;‘实现功能’子节点下定义一个或多个‘迁移’子节点,每个‘迁移’子节点对应软件流程中可选择的下一运行状态。
[0010] 进一步,所述‘运行状态’子节点包含‘状态名称’和‘状态编码’节点属性,‘状态名称’节点属性的值定义该运行状态的名称,‘状态编码’节点属性的值定义该运行状态的状态编码,状态编码用于唯一标识一个运行状态。
[0011] 进一步,所述‘实现功能’子节点包含‘功能插件’节点属性,该节点属性的值定义软件流程处于该运行状态时要加载运行的功能插件的名称。
[0012] 进一步,所述‘迁移’子节点包含‘返回码’和‘下一个状态编码’节点属性,软件加载运行功能插件接收后将得到功能插件返回的运行结束码,‘返回码’节点属性的值定义为功能插件返回的某个运行结束码,‘下一个状态编码’节点属性的值定义为软件流程中某一个运行状态的状态编码。
[0013] 进一步,所述步骤三具体包括:
[0014] 步骤S01、读取‘运行状态’子节点中‘状态名称’属性值,使软件运行流程进入该属性值所指定的运行状态;
[0015] 步骤S02、对该‘运行状态’子节点下的‘实现功能’子节点,根据其‘功能插件’属性值,加载该属性值所指定的功能插件,调用功能插件的统一访问接口,运行该功能插件实现特定的功能,并在该功能插件运行结束时通过统一访问接口得到该功能插件的运行结束码;
[0016] 步骤S03、运行流程主框架遍历步骤S02中所述‘实现功能’子节点下的所有‘迁移’子节点,找到某个‘迁移’子节点,其‘返回码’属性值和步骤S02中所述的功能插件运行结束码相等;
[0017] 步骤S04、读取步骤S03中所找到的‘迁移’子节点中的‘下一个状态编码’属性值,并判断该属性值是否为空,如果不为空,则遍历配置信息中的所有‘运行状态’子节点,找到某个‘运行状态’子节点,其‘状态编码’属性值和该‘下一个状态编码’属性值相等,对该‘运行状态’子节点重复执行S01到S04的步骤。
[0018] 进一步,该方法还包括步骤四、在软件部署运行后,确定是否存在系统业务调整变化,如果存在要求更改软件流程和功能,则对‘软件流程及功能定义’配置信息进行重新配置并添加新的功能插件,并返回步骤三;反之则整个流程结束。
[0019] 优先的,所述重新配置具体为:当要求增加或减少软件流程所经历的运行状态时,在‘软件流程及功能定义’配置信息中增加或减少‘运行状态’子节点。
[0020] 优先的,所述重新配置具体为:当要求改变软件流程处于某一运行状态时所实现的功能时,在‘软件流程及功能定义’配置信息中找到该运行状态对应的‘运行状态’子节点,修改其‘实现功能’子节点的‘功能插件’属性值,使该属性值为新增功能插件的名称,使软件流程进入到该运行状态时能够加载运行新增的功能插件。
[0021] 优先的,所述重新配置具体为:当要求改变软件流程中运行状态的迁移路径时,在‘软件流程及功能定义’配置信息中找到该运行状态对应的‘运行状态’子节点,修改其‘迁移’子节点的‘下一个状态编码’属性值,使该属性值从原先设定的运行状态变为另一运行状态的状态编码。
[0022] 本发明具有如下的优点和有益效果:
[0023] 1、本发明根据软件流程和功能定义配置信息,动态决定软件流程要经历哪些运行状态以及在每一个运行状态下软件要实现的功能,根据配置信息还可以灵活增加或减少软件流程中的一个或多个运行状态以及改变软件在任一运行状态下要实现的功能,根据配置信息还可以任意地改变软件流程中运行状态的迁移路径。以此使同一软件实现不同的运行流程和功能,以适应系统业务的调整变化,软件无需重新设计和部署;
[0024] 2、本发明的一种软件流程与功能动态实现方法,采用可扩展标记语言来定义‘软件流程及功能定义’配置信息,配置信息中定义了软件流程运行要经历的每一个运行状态以及每一个运行状态下软件要实现的功能,通过配置可以动态、灵活地增加或减少软件流程中的一个或多个运行状态以及改变软件在任一运行状态下要实现的功能,通过配置信息还可以任意地改变软件流程中运行状态的迁移路径。通过本发明的技术方案使软件能灵活动态适应系统业务变更带来的软件运行流程调整或软件实现功能改变,使采用本发明技术方案的软件系统能灵活适应、快速满足系统业务变更及发展带来的新需求。附图说明
[0025] 此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
[0026] 图1为本发明的软件流程与功能动态实现方法第一实施例的流程图
[0027] 图2为第一实施例的‘软件流程及功能定义’配置信息图。
[0028] 图3为第一实施例的运行流程主框架对配置信息解析运行流程图。
[0029] 图4为本发明的软件流程与功能动态实现方法第二实施例的流程图。

具体实施方式

[0030] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0031] 实施例1
[0032] 本发明第一实施例提供的软件流程与功能动态实现方法,根据软件流程和功能定义配置信息,动态决定软件流程要经历哪些运行状态以及在每一个运行状态下软件要实现的功能,如图1-3所述,包括以下步骤:
[0033] 一、采用可扩展标记语言定义‘软件流程及功能定义’配置信息。
[0034] 采用可扩展标记语言定义‘软件流程及功能定义’配置信息,在配置信息里定义一个或多个‘运行状态’子节点,每一个‘运行状态’子节点对应软件流程中的一个运行状态。对于‘运行状态’子节点:其包含‘状态名称’和‘状态编码’节点属性,‘状态名称’节点属性的值定义该运行状态的名称,‘状态编码’节点属性的值定义该运行状态的状态编码,状态编码用于唯一标识一个运行状态;‘运行状态’节点下定义‘实现功能’子节点,其包含‘功能插件’节点属性,该节点属性的值定义软件流程处于该运行状态时要加载运行的功能插件的名称;‘实现功能’子节点下定义一个或多个‘迁移’子节点,其包含‘返回码’和‘下一个状态编码’节点属性,软件加载运行功能插件结束后将得到功能插件返回的运行结束码,‘返回码’节点属性的值为功能插件可能返回的某个运行结束码,‘下一个状态编码’节点属性的值为软件流程中某一个运行状态的状态编码。
[0035] 二、对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口。
[0036] 对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,运行流程主框架能够解析1中所述的‘软件流程及功能定义’配置信息,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口。
[0037] 三、运行流程主框架解析所述‘软件流程及功能定义’配置信息,动态决定软件流程进入哪一个运行状态,并通过统一的访问接口加载运行对应该运行状态的功能插件,实现该运行状态下相应的功能。
[0038] 运行流程主框架选择并解析‘软件流程及功能定义’配置信息中的某个‘运行状态’子节点,使程序流程进入到该子节点所对应的运行状态,加载运行相应的功能插件,在执行完功能插件的功能后,根据功能插件返回的运行结束码决定软件流程的下一个运行状态,再在‘软件流程及功能定义’配置信息中选择并解析下一个运行状态对应的‘运行状态’子节点,如此循环,使软件流程一直不断地进行运行状态迁移并完成每个运行状态下的功能。运行流程主框架具体执行如下:
[0039] S01.读取该‘运行状态’子节点中‘状态名称’属性值,使软件运行流程进入该属性值所表示的运行状态;
[0040] S02.对该‘运行状态’子节点下的‘实现功能’子节点,根据其‘功能插件’属性值,加载该属性值所指定的功能插件,调用功能插件的统一访问接口,运行该功能插件实现特定的功能,并在该功能插件运行结束时通过统一访问接口得到该功能插件的运行结束码;
[0041] S03.运行流程主框架遍历步骤S02中所述‘实现功能’子节点下的所有‘迁移’子节点,找到某个‘迁移’子节点,其‘返回码’属性的值和步骤S02中所述的功能插件运行结束码的值相等;
[0042] S04.对步骤S03中所找到的‘迁移’子节点,读取该子节点中的‘下一个状态编码’属性的值,并对该属性值进行判断:
[0043] 若该属性值为空,则表示软件流程不再进入下一个运行状态,整个流程结束;
[0044] 若该属性值不为空,则遍历整个‘软件流程及功能定义’配置信息中的所有‘运行状态’子节点,找到某个‘运行状态’子节点,其‘状态编码’属性值和该属性值相等,对找到的‘运行状态’子节点重复执行步骤S01到步骤SO4。
[0045] 本发明通过采用可扩展标记语言来定义‘软件流程及功能定义’配置信息,配置信息中定义了软件流程运行要经历的每一个运行状态以及每一个运行状态下软件要实现的功能,本发明能够灵活动态实现软件流程要经历的运行状态与功能。
[0046] 实施例2
[0047] 本发明第二实施例提供的软件流程与功能动态实现方法,在上述实施例的基础上,进一步提供了根据系统业务变更带来的软件运行流程调整或软件实现功能改变的方法,相应的,该方法具体包括以下步骤:
[0048] 一、采用可扩展标记语言定义‘软件流程及功能定义’配置信息。
[0049] 采用可扩展标记语言定义‘软件流程及功能定义’配置信息,在配置信息里定义一个或多个‘运行状态’子节点,每一个‘运行状态’子节点对应软件流程中的一个运行状态。对于‘运行状态’子节点:其包含‘状态名称’和‘状态编码’节点属性,‘状态名称’节点属性的值定义该运行状态的名称,‘状态编码’节点属性的值定义该运行状态的状态编码,状态编码用于唯一标识一个运行状态;‘运行状态’节点下定义‘实现功能’子节点,其包含‘功能插件’节点属性,该节点属性的值定义软件流程处于该运行状态时要加载运行的功能插件的名称;‘实现功能’子节点下定义一个或多个‘迁移’子节点,其包含‘返回码’和‘下一个状态编码’节点属性,软件加载运行功能插件结束后将得到功能插件返回的运行结束码,‘返回码’节点属性的值为功能插件可能返回的某个运行结束码,‘下一个状态编码’节点属性的值为软件流程中某一个运行状态的状态编码。
[0050] 二、对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口。
[0051] 对软件设计统一的运行流程主框架,对软件要加载运行的功能插件定义统一的访问接口,运行流程主框架能够解析1中所述的‘软件流程及功能定义’配置信息,功能插件向运行流程主框架提供启动执行功能插件和得到功能插件运行结束码的访问接口。
[0052] 三、运行流程主框架解析所述‘软件流程及功能定义’配置信息,动态决定软件流程进入哪一个运行状态,并通过统一的访问接口加载运行对应该运行状态的功能插件,实现该运行状态下相应的功能。
[0053] 运行流程主框架选择并解析‘软件流程及功能定义’配置信息中的某个‘运行状态’子节点,使程序流程进入到该子节点所对应的运行状态,加载运行相应的功能插件,在执行完功能插件的功能后,根据功能插件返回的运行结束码决定软件流程的下一个运行状态,再在‘软件流程及功能定义’配置信息中选择并解析下一个运行状态对应的‘运行状态’子节点,如此循环,使软件流程一直不断地进行运行状态迁移并完成每个运行状态下的功能。运行流程主框架具体执行如下:
[0054] S01.读取该‘运行状态’子节点中‘状态名称’属性值,使软件运行流程进入该属性值所表示的运行状态;
[0055] S02.对该‘运行状态’子节点下的‘实现功能’子节点,根据其‘功能插件’属性值,加载该属性值所指定的功能插件,调用功能插件的统一访问接口,运行该功能插件实现特定的功能,并在该功能插件运行结束时通过统一访问接口得到该功能插件的运行结束码;
[0056] S03.运行流程主框架遍历步骤S02中所述‘实现功能’子节点下的所有‘迁移’子节点,找到某个‘迁移’子节点,其‘返回码’属性的值和步骤S02中所述的功能插件运行结束码的值相等;
[0057] S04.对步骤S03中所找到的‘迁移’子节点,读取该子节点中的‘下一个状态编码’属性的值,并对该属性值进行判断:
[0058] 若该属性值为空,则表示软件流程不再进入下一个运行状态,整个流程结束;
[0059] 若该属性值不为空,则遍历整个‘软件流程及功能定义’配置信息中的所有‘运行状态’子节点,找到某个‘运行状态’子节点,其‘状态编码’属性值和该属性值相等,对找到的‘运行状态’子节点重复执行步骤S01到步骤SO4。
[0060] 四、在软件部署运行后,确定是否存在系统业务调整变化,如果存在要求更改软件流程和功能,则对‘软件流程及功能定义’配置信息进行重新配置并添加新的功能插件,并返回步骤三;反之则整个流程结束。
[0061] 在软件部署运行后,当系统业务调整变化要求更改软件流程和功能时,系统设计及运维人员只需对‘软件流程及功能定义’配置信息重新进行配置并添加新的功能插件,无需对既有软件进行重新设计,也无需对既有已运行的软件进行重启,具体的:
[0062] 当要求增加或减少软件流程所经历的运行状态时,在‘软件流程及功能定义’配置信息中增加或减少‘运行状态’子节点:
[0063] 当要求改变软件流程处于某一运行状态时所实现的功能,可在软件运行机器上添加新的功能插件,并在‘软件流程及功能定义’配置信息中找到该运行状态对应的‘运行状态’子节点,修改其‘实现功能’子节点的‘处理插件’属性值,使该属性值为新增功能插件的名称,使软件流程进入到该运行状态时能够加载运行新增的功能插件;
[0064] 当要求软件改变原先设定的流程,也即改变软件流程中运行状态的迁移路径,比如原先设定软件流程在运行状态A加载执行完功能插件后进入到下一个运行状态B,现要求软件运行流程在运行状态A加载执行完功能插件后进入到下一个运行状态C,这时可在‘软件流程及功能定义’配置信息中找到运行状态A对应的‘运行状态’子节点,在该子节点下修改‘迁移’子节点,将‘迁移’子节点中‘下一个状态编码’属性的值从原先设定的运行状态B的状态编码修改为运行状态C的状态编码。
[0065] 本发明通过配置可以动态、灵活地增加或减少软件流程中的一个或多个运行状态以及改变软件在任一运行状态下要实现的功能,通过配置信息还可以任意地改变软件流程中运行状态的迁移路径。通过本发明的技术方案使软件能灵活动态适应系统业务变更带来的软件运行流程调整或软件实现功能改变,使采用本发明技术方案的软件系统能灵活适应、快速满足系统业务变更及发展带来的新需求。
[0066] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈