CN111158873A - 系统状态机实现方法、装置、存储介质及处理器 - Google Patents
系统状态机实现方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN111158873A CN111158873A CN201911317837.8A CN201911317837A CN111158873A CN 111158873 A CN111158873 A CN 111158873A CN 201911317837 A CN201911317837 A CN 201911317837A CN 111158873 A CN111158873 A CN 111158873A
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- machine
- topological
- states
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种系统状态机实现方法,属于计算机技术领域。所述系统状态机实现方法,包括:配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。本发明实施例的方案实现了系统状态的可配置化,从而能够自动化批量分析或处理系统状态以得到相应的流程状态机,并使得最终显示出状态机也变得可配置,解决了大型复杂系统因状态机不易实现而造成的业务逻辑繁琐、维护困难的问题。
Description
技术领域
本发明涉及计算机技术领域,具体地涉及一种系统状态机实现方法、装置、存储介质及处理器。
背景技术
目前,对于大型复杂的项目,通常用状态机来分析系统的状态之间的流转逻辑。比如一个交易系统的订单有已创建、待支付、已支付、已取消等状态,而这些状态的流转又随着业务场景的不同而表现出不同的流转逻辑。
对于系统状态机的实现,现有技术通常是先枚举出系统的所有状态,然后从开始状态开始,分析当前状态完成后的下一个状态,依次进行分析,直到结束状态,从而得到整个系统的状态机。但是,这种方法仅适用于业务逻辑固定的系统,如果业务逻辑发生变更,则需要对系统的状态机重新进行分析,而这一重新分析主要是依赖于人工梳理每个状态的流转逻辑来实现。这样一来,对于一些业务逻辑复杂的系统,如房产交易系统,全国100多个城市有100多个交易系统,且每个城市的交易系统的逻辑可能会不同且经常会发生更新,现有技术的方案无疑会给房产交易业务的梳理和维护带来很大的麻烦。
发明内容
本发明实施例的目的是提供一种系统状态机实现方法、装置、存储介质及处理器,用于解决现有状态机实现方案不适用于业务逻辑复杂的系统的问题。
为了实现上述目的,本发明实施例提供一种系统状态机实现方法,包括:配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
可选的,所述系统状态机实现方法还包括:在所述系统的前端展示所述流程状态机。
可选的,所述在所述系统的前端展示所述流程状态机包括按照以下规则将所述流程状态机描述为流程图以展示在所述前端:将流程状态机中的每一状态描述为所述流程图中的一个节点;按各状态的拓扑深度从小到大的顺序将对应状态描述为所述流程图中的一行依次排列的节点;将具有相同拓扑深度的状态描述为所述流程图中处于同一列的不同节点;以及根据各状态和对应的关联状态之间的关联关系确定所述流程图中各节点的连线。
可选的,所述配置系统的流转状态还包括:标示所配置的流转状态中的开始状态和结束状态。
可选的,所述解析所配置的每一状态以获得对应状态的拓扑位置包括:确定所配置的流转状态中的开始状态和结束状态;对于所述开始状态至所述结束状态的每一路径,采用拓扑排序算法解析各路径上的各状态对应的拓扑深度;以及基于所解析的拓扑深度确定对应状态的拓扑位置。
可选的,所述系统状态机实现方法还包括响应于用户操作执行以下一者或多者:更改所配置的任意状态的所述状态标识、所述状态启动条件和/或所述关联状态;添加关于所述系统的新的状态;和/或删除所配置的流转状态中的任意一个或多个状态。
另一方面,本发明实施例提供一种系统状态机实现装置,包括:状态配置器,用于配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及状态机生成器,用于解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
可选的,所述系统状态机实现装置还包括:状态机显示器,用于在所述系统的前端展示所述流程状态机。
可选的,所述状态机显示器用于在所述系统的前端展示所述流程状态机包括按照以下规则将所述流程状态机描述为流程图以展示在所述前端:将流程状态机中的每一状态描述为所述流程图中的一个节点;按各状态的拓扑深度从小到大的顺序将对应状态描述为所述流程图中的一行依次排列的节点;将具有相同拓扑深度的状态描述为所述流程图中处于同一列的不同节点;以及根据各状态和对应的关联状态之间的关联关系确定所述流程图中各节点的连线。
可选的,所述状态配置器用于配置系统的所有状态还包括:标示所配置的流转状态中的开始状态和结束状态。
可选的,所述状态机生成器用于解析所配置的每一状态以获得对应状态的拓扑位置包括:确定所配置的流转状态中的开始状态和结束状态;对于所述开始状态至所述结束状态的每一路径,采用拓扑排序算法解析各路径上的各状态对应的拓扑深度;以及基于所解析的拓扑深度确定对应状态的拓扑位置。
可选的,所述状态配置器还用于响应于用户操作执行以下任意一者或多者:更改所配置的任意状态的所述状态标识、所述状态启动条件和/或所述关联状态;添加关于所述系统的新的状态;以及删除所配置的流转状态中的任意一个或多个状态。
另一方面,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的系统状态机实现方法。
另一方面,本发明实施例还提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行:如上述的系统状态机实现方法。
通过上述技术方案,本发明实施例的方案实现了系统状态的可配置化,从而能够自动化批量分析或处理系统状态以得到相应的流程状态机,并使得最终显示出状态机也变得可配置,解决了大型复杂系统因状态机不易实现而造成的业务逻辑繁琐、维护困难的问题解决了大型复杂系统因状态机不易实现而造成的业务逻辑繁琐、维护困难的问题。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例的系统状态机实现方法的流程示意图;
图2是本发明优选的实施例中配置系统的状态的流程示意图;
图3是本发明优选的实施例中计算示例状态的拓扑位置的流程示意图;
图4是本发明实施例的示例中在前端展示的流程图的示意图;以及
图5是本发明实施例的系统状态机实现装置的结构示意图。
附图标记说明
510、状态配置器;520、状态机生成器;530、状态机显示器;540、数据库。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
另外,需说明的是,计算机领域的状态机是指对系统信息状态建立一套特殊有向图形,其用于示出系统的状态流转,且包括一些状态(节点)和连接这些状态的有向边。
下面将参考附图并结合实施方式来详细说明本发明。
图1是本发明实施例的系统状态机实现方法的流程示意图,其中所述系统例如是房产交易系统、税务系统、政务系统等,在下文中以房产交易系统为例。如图1所示,所述系统状态机实现方法可以包括以下步骤:
步骤S110,配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态。
其中,优选为配置系统的状态流转中所涉及的所有状态。
图2是本发明优选的实施例中配置系统的状态的流程示意图,其中该配置过程例如在预设的系统状态配置器中进行的。如图2所示,关于状态标识、状态启动条件和关联状态,可按照以下步骤录入至所述系统状态配置器中以完成配置:
步骤S111,录入状态唯一标识。
其中,各个状态的唯一标识可以是预先设定的。
步骤S112,录入状态启动条件。
其中,所述状态启动条件是可配置及可修改的。
步骤S113,录入状态完成后的关联状态。
其中,所述关联状态是指当前状态完成后的直接关联状态,每一状态可能有一个或多个关联状态。
步骤S114,检测是否所有状态录入完成,若是则结束流程,否则返回至步骤S111继续录入下一个状态。
针对上述步骤S111-步骤S114,举例而言,针对某城市的房产交易系统,其包括报单审核、评估、面签、网签、批贷等多个状态,为其中的每一状态配置唯一的状态标识,并设定状态启动条件,然后在系统状态配置器中,对于当前待录入的状态,先录入该状态的唯一标识,再录入该状态的状态启动条件,然后录入该状态的关联状态,例如报单审查状态完成后的关联状态是评估状态和网签状态两者。
在更为优选的实施例中,该步骤S110中配置系统的流转状态还包括:标示所配置的流转状态中的开始状态和结束状态。对此,易于使后续进行状态解析时确定解析的开始和结束。
步骤S120,解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
在优选的实施例中,该步骤S120中解析所配置的每一状态以获得对应状态的拓扑位置可以包括:确定所配置的流转状态中的开始状态和结束状态;对于所述系统的开始状态至结束状态的每一路径,采用拓扑排序算法解析各路径上的各状态对应的拓扑深度;以及基于所解析的拓扑深度确定对应状态的拓扑位置。
在优选的实施例中,通过上述拓扑排序算法最终得到的流程状态机例如为有向无环图(Directed Acyclic Graph,DAG)形式,该DAG图通过节点和有向边来示出对应的状态及状态间的流转条件。以DAG图为例,本发明实施例的拓扑排序算法采用栈的方式遍历从开始状态至结束状态的每一路径,计算出路径上每一状态的拓扑深度,而这些拓扑深度可用于表示对应状态的拓扑位置。
图3是本发明优选的实施例中计算示例状态的拓扑位置的流程示意图。如图3所示,以job表示示例状态,deep表示解析出的job对应的拓扑深度,则对应的确定job的拓扑位置的过程可以包括以下方法:
步骤S121,设置当前拓扑深度deep=1。
其中,该当前拓扑深度deep=1对应系统的开始状态。
步骤S122,初始job入栈尾。
步骤S123,设置当前拓扑深度deep+=1。
步骤S124,取出栈顶job。
步骤S125,记录job的拓扑深度deep。
步骤S126,将job的关联jobs入栈。
步骤S127,判断栈是否为空,若是则执行步骤S128,否则返回步骤S123以继续解析下一个job。
步骤S128,记录所有job的拓扑深度和关联jobs。
其中,所记录的job拓扑深度和关联jobs都可以存入专门的数据库中备用。另外,易知所记录的job拓扑深度能够反映出该job对应的拓扑位置,例如拓扑深度为1的job的位置必然在拓扑深度为2的其他job的位置之前。还需说明的是,在步骤S128记录job的拓扑深度时,若检测出已经记录过该job的拓扑深度,则直接用当前deep覆盖。
在更为优选的实施例中,可以要求生成的DAG图满足以下限制:
1)要保证所有边为有向边,且图中不能有环。
2)开始状态为流程开始的状态,不允许有入边指向开始状态;结束状态为流程终结的状态,不允许有任何出边。
3)从开始状态出发不可达的状态视为无效状态,从某一状态自身出发无法到达结束状态的,也视为无效状态。
据此,通过步骤S110-步骤S120的方案,可以得到类似DAG图形式的流程状态机,而该流程状态机中示出的各状态的标识、启动条件及关联状态都是可配置的,因此在有重配置某一状态或者修改某一状态的需求的情况下,可以实时地进行重配置或修改,而不用重新梳理整个系统的状态。
在优选的实施例中,在步骤S110-步骤S120的基础上,所述系统状态机实现方法还可以包括:
步骤S130在所述系统的前端展示所述流程状态机。
优选地,可以按照以下规则将所述流程状态机描述为流程图以展示在所述前端:1)将流程状态机中的每一状态描述为所述流程图中的一个节点;2)按各状态的拓扑深度从小到大的顺序将对应状态描述为所述流程图中的一行依次排列的节点;3)将具有相同拓扑深度的状态描述为所述流程图中处于同一列的不同节点;以及4)根据各状态和对应的关联状态之间的关联关系确定所述流程图中各节点的连线。其中,拓扑深度的确定方案包括但不限于图3所示出的步骤S121-S128所示出的方案。
以上述的房产交易系统为例,图4是本发明实施例的示例中在前端展示的流程图的示意图,参考图4,房产交易系统的报单审核状态、评估状态、面签状态、网签状态、登记备件齐全状态及批贷状态各对应表示为流程图中的一个节点,而箭头示出各状态间的流转关系,同一行的状态的拓扑深度随箭头方向依次变大,而同一列的状态的拓扑深度相同,即,报单审核状态的拓扑深度为1,评估状态和网签状态的拓扑深度为2,面签状态、登记备件齐全状态及批贷状态的拓扑深度分别为3、4和5。据此,状态机例如以图4所示的流程图形式显示在系统前端。
优选地,在将流程状态机描述为图4所示的流程图的过程中,还可以为各节点配置动作属性,以在状态流转的同时示出对应的动作。举例而言,对评估状态节点,可添加“判断”动作属性,用于表示判断评估结果是否符合预设要求。
在此,需说明的是,传统房产交易系统中所展示的流程图中的各节点是固定的,若涉及修改,则需要重新梳理系统的流程并重新生成新的流程图,过程复杂且不易进行运营维护,而采用本发明实施例中,若系统流程发生变化,则需要重配置或修改发生了变化的状态,且通过针对状态的简单重配置或修改,就能直接在前端生成新的流程图。
通过上述步骤S110-S130,本发明实施例中使得系统后台实现了状态的可配置,而使得前端展示的流程图能够随状态变化而相对变化,即前端展示的流程图也变得可配置。例如图4中的登记备件齐全状态,部分城市需要有该状态,而另外部分城市则可不具有该状态,因此可根据城市的不同在系统状态配置器中添加或删除该状态以最终展示出匹配对应城市实际的流程图。
对此,在优选的实施例中,在上述步骤S110-S130的基础上,实现系统状态的可配置具体可表现为响应于用户操作执行以下一者或多者:
1)更改所配置的任意状态的所述状态标识、所述状态启动条件和/或所述关联状态。
举例而言,随着房产政策的变化,登记备件齐全状态的启动条件变得不同,则可例如响应于用户在系统状态配置器中的修改操作,而实现直接在步骤S110中相应修改登记备件齐全状态的启动条件。
2)添加关于所述系统的新的状态。
举例而言,A城市原来不需要登记备件齐全状态,而最新政策要求其必须具有该状态,则可例如响应于用户在系统状态配置器中的添加操作,在步骤S110中针对A城市添加该登记备件齐全状态。需注意的是,该添加包括添加状态标识、状态启动条件和关联状态等一系列操作。
3)删除所配置的流转状态中的任意一个或多个状态。
举例而言,A城市精简购房流程后,不再需要登记备件齐全状态,则可例如响应于用户在系统状态配置器中的删除操作,在步骤S110中针对A城市删除之前添加的登记备件齐全状态。
其中,对于修改、添加和删除状态,需要注意是否影响其他状态(例如关联状态),若影响,则需要对该其他状态进行适应性修改。另外,修改、添加和删除状态之后,需及时更新存储状态或状态机的数据库。
综上所述,本发明实施例实现了系统状态的可配置化,从而能够自动化批量分析或处理系统状态以得到相应的流程状态机,并使得最终显示出状态机也变得可配置,解决了大型复杂系统因状态机不易实现而造成的业务逻辑繁琐、维护困难的问题解决了大型复杂系统因状态机不易实现而造成的业务逻辑繁琐、维护困难的问题。
图5是本发明实施例的系统状态机实现装置的结构示意图,该系统状态机实现装置与上述关于系统状态机实现方法的实施例具有相同的发明思路。如图5所示,该系统状态机实现装置可以包括:状态配置器510,用于配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及状态机生成器520,用于解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
在优选的实施例中,所述系统状态机实现装置还可以包括:状态机显示器530,用于在所述系统的前端展示所述流程状态机。
并且,在更为优选的实施例中,所述系统状态机实现装置还可以包括:数据库540,其用于存储所述状态机生成器520所生成的流程状态机,并提供给所述状态机显示器530进行显示。
在优选的实施例中,所述状态配置器510用于配置系统的所有状态还包括:标示所配置的流转状态中的开始状态和结束状态。
基于此,在优选的实施例中,所述状态机生成器520用于解析所配置的每一状态以获得对应状态的拓扑位置可以包括:确定所配置的流转状态中的开始状态和结束状态;对于所述开始状态至结束状态的每一路径,采用拓扑排序算法解析各路径上的各状态对应的拓扑深度;以及基于所解析的拓扑深度确定对应状态的拓扑位置。
进一步地,所述状态机显示器530用于在所述系统的前端展示所述流程状态机可以包括按照以下规则将所述流程状态机描述为流程图以展示在所述前端:将流程状态机中的每一状态描述为所述流程图中的一个节点;按各状态的拓扑深度从小到大的顺序将对应状态描述为所述流程图中的一行依次排列的节点;将具有相同拓扑深度的状态描述为所述流程图中处于同一列的不同节点;以及根据各状态和对应的关联状态之间的关联关系确定所述流程图中各节点的连线。在按这些规则将所述流程状态机转化为流程图之后,所述状态机显示器530将所转化的流程图展示在所述前端。
更进一步地,所述状态配置器510还用于响应于用户操作执行以下任意一者或多者:更改所配置的任意状态的所述状态标识、所述状态启动条件和/或所述关联状态;添加关于所述系统的新的状态;以及删除所配置的流转状态中的任意一个或多个状态。
本发明实施例的系统状态机实现装置的其他实施细节及效果可参考关于系统状态机实现方法的实施例,在此不再进行赘述。
所述流程处理装置包括处理器和存储器,上述状态配置器510、状态机生成器520、状态机显示器等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现本发明实施例的系统状态机实现方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述实施例的系统状态机实现方法。
本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例的系统状态机实现方法。
本发明实施例还提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例的系统状态机实现方法。本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述实施例的系统状态机实现方法的步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种系统状态机实现方法,其特征在于,所述系统状态机实现方法包括:
配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及
解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
2.根据权利要求1所述的系统状态机实现方法,其特征在于,所述系统状态机实现方法还包括:
在所述系统的前端展示所述流程状态机。
3.根据权利要求2所述的系统状态机实现方法,其特征在于,所述在所述系统的前端展示所述流程状态机包括:
按照以下规则将所述流程状态机描述为流程图以展示在所述前端:
将流程状态机中的每一状态描述为所述流程图中的一个节点;
按各状态的拓扑深度从小到大的顺序将对应状态描述为所述流程图中的一行依次排列的节点;
将具有相同拓扑深度的状态描述为所述流程图中处于同一列的不同节点;以及
根据各状态和对应的关联状态之间的关联关系确定所述流程图中各节点的连线。
4.根据权利要求1所述的系统状态机实现方法,其特征在于,所述配置系统的流转状态还包括:
标示所配置的流转状态中的开始状态和结束状态。
5.根据权利要求1所述的系统状态机实现方法,其特征在于,所述解析所配置的每一状态以获得对应状态的拓扑位置包括:
确定所配置的流转状态中的开始状态和结束状态;
对于所述开始状态至所述结束状态的每一路径,采用拓扑排序算法解析各路径上的各状态对应的拓扑深度;以及
基于所解析的拓扑深度确定对应状态的拓扑位置。
6.根据权利要求1至5中任意一项所述的系统状态机实现方法,其特征在于,所述系统状态机实现方法还包括响应于用户操作执行以下一者或多者:
更改所配置的任意状态的所述状态标识、所述状态启动条件和/或所述关联状态;
添加关于所述系统的新的状态;和/或
删除所配置的流转状态中的任意一个或多个状态。
7.一种系统状态机实现装置,其特征在于,所述系统状态机实现装置包括:
状态配置器,用于配置系统的流转状态,包括针对每一状态配置状态标识、状态启动条件及所述状态完成后的关联状态;以及
状态机生成器,用于解析所配置的每一状态以获得对应状态的拓扑位置,并基于所述拓扑位置生成所述系统的流程状态机。
8.根据权利要求7所述的系统状态机实现装置,其特征在于,所述系统状态机实现装置还包括:
状态机显示器,用于在所述系统的前端展示所述流程状态机。
9.一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行权利要求1至6中任意一项所述的系统状态机实现方法。
10.一种处理器,其特征在于,用于运行程序,其中,所述程序被运行时用于执行:如权利要求1至6中任意一项所述的系统状态机实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317837.8A CN111158873A (zh) | 2019-12-19 | 2019-12-19 | 系统状态机实现方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317837.8A CN111158873A (zh) | 2019-12-19 | 2019-12-19 | 系统状态机实现方法、装置、存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158873A true CN111158873A (zh) | 2020-05-15 |
Family
ID=70557374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911317837.8A Pending CN111158873A (zh) | 2019-12-19 | 2019-12-19 | 系统状态机实现方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158873A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395207A (zh) * | 2020-12-08 | 2021-02-23 | 盛科网络(苏州)有限公司 | 复杂状态机的高效验证方法、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548261A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种业务流程控制方法、装置及电子设备 |
CN108256870A (zh) * | 2016-12-27 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 |
CN109858019A (zh) * | 2018-12-28 | 2019-06-07 | 北京百度网讯科技有限公司 | 对话状态跟踪方法及装置、存储介质及语义识别系统 |
CN110059233A (zh) * | 2019-03-01 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 业务流程的展示方法和装置 |
CN110348798A (zh) * | 2018-04-04 | 2019-10-18 | 慧与发展有限责任合伙企业 | 一组服务的状态转换 |
-
2019
- 2019-12-19 CN CN201911317837.8A patent/CN111158873A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548261A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种业务流程控制方法、装置及电子设备 |
CN108256870A (zh) * | 2016-12-27 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 |
CN110348798A (zh) * | 2018-04-04 | 2019-10-18 | 慧与发展有限责任合伙企业 | 一组服务的状态转换 |
CN109858019A (zh) * | 2018-12-28 | 2019-06-07 | 北京百度网讯科技有限公司 | 对话状态跟踪方法及装置、存储介质及语义识别系统 |
CN110059233A (zh) * | 2019-03-01 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 业务流程的展示方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395207A (zh) * | 2020-12-08 | 2021-02-23 | 盛科网络(苏州)有限公司 | 复杂状态机的高效验证方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929490B2 (en) | Network search query | |
CN107092491B (zh) | 一种配置加载方法和系统 | |
CN107844518B (zh) | 评估指定app下载量的方法、数据服务器、打包平台及系统 | |
US11816224B2 (en) | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system | |
US9680715B2 (en) | Assessing a service offering in a networked computing environment | |
US10382566B2 (en) | Business service discovery | |
CN112580914A (zh) | 汇集多源数据的企业级数据中台系统的实现方法及装置 | |
US20210157716A1 (en) | Pre-populating continuous delivery test cases | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
US11422917B2 (en) | Deriving software application dependency trees for white-box testing | |
US11017874B2 (en) | Data and memory reorganization | |
CN111382183A (zh) | 一种数据查询方法及装置 | |
US20200073797A1 (en) | Maintaining correctness of pointers from a managed heap to off-heap memory | |
CN110928941B (zh) | 一种数据分片抽取方法及装置 | |
CN104298589A (zh) | 一种性能测试方法和设备 | |
CN111158873A (zh) | 系统状态机实现方法、装置、存储介质及处理器 | |
CN113435948B (zh) | 一种电商平台数据监测方法及系统 | |
CN107193721B (zh) | 一种生成日志的方法和装置 | |
CN115809080A (zh) | 一种针对私有云架构的软件制品管理方法、设备及介质 | |
US11340952B2 (en) | Function performance trigger | |
CN112905449A (zh) | 目标测试方法、装置、设备和存储介质 | |
US20190243744A1 (en) | Debug session analysis for related work item discovery | |
CN112181407A (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN113687973B (zh) | 一种日志动态化输出的控制方法、设备及介质 | |
US20220075783A1 (en) | Dynamically detecting and correcting errors in queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |