CN105930205A - 一种基于状态机模式的业务状态处理方法和装置 - Google Patents
一种基于状态机模式的业务状态处理方法和装置 Download PDFInfo
- Publication number
- CN105930205A CN105930205A CN201610232343.XA CN201610232343A CN105930205A CN 105930205 A CN105930205 A CN 105930205A CN 201610232343 A CN201610232343 A CN 201610232343A CN 105930205 A CN105930205 A CN 105930205A
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- encapsulation
- required parameter
- service logic
- 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
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/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及一种基于状态机模式的业务状态处理方法和装置,包括:状态管理器接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号;所述状态管理器根据所述流水号从状态库中查找所述流水号对应的当前状态标识;所述状态管理器执行所述当前状态标识中的业务逻辑;所述状态管理器向所述状态机发送响应数据。本发明中的状态管理器通过依次执行各状态值分别对应的业务逻辑,可以增强各个业务逻辑的复用度,以及提高用户体验。
Description
技术领域
本发明涉及数据通讯领域,特别是涉及一种基于状态机模式的业务状态处理方法和装置。
背景技术
在直通卡激活的过程中,由于订单状态较多,而且用户访问时根据状态的不同显示的内容也不同。通过嵌套语句来判断用户当前订单处于哪个状态,以及订单是否有效,从而导致逻辑复杂、嵌套较多,不能增强各个逻辑状态的复用度。
发明内容
本发明所要解决的技术问题是提供一种基于状态机模式的业务状态处理方法和装置。
本发明解决上述技术问题的技术方案如下:一种基于状态机模式的业务状态处理方法,包括:
状态管理器接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号;
所述状态管理器根据所述流水号从状态库中查找所述流水号对应的当前状态标识;
所述状态管理器执行所述当前状态标识中的业务逻辑;
所述状态管理器向所述状态机发送响应数据。
本发明的有益效果是:状态管理器通过依次执行各状态值分别对应的业务逻辑,可以增强各个业务逻辑的复用度,以及提高用户体验。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,在所述向所述状态机发送响应数据之后包括:所述状态机将所述响应数据进行封装。
进一步,在所述状态管理器接收状态机发送的封装的请求参数之前包括:所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
进一步,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述状态管理器执行所述当前状态标识中的业务逻辑包括:
所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
本发明解决上述技术问题的另一技术方案如下:一种基于状态机模式的业务状态处理装置,包括:
接收单元,用于接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号;
查找单元,用于根据所述流水号从状态库中查找所述流水号对应的当前状态标识;
执行单元,用于执行所述当前状态标识中的业务逻辑;
发送单元,用于向所述状态机发送响应数据。
本发明的有益效果是:状态管理器通过依次执行各状态值分别对应的业务逻辑,可以增强各个业务逻辑的复用度,以及提高用户体验。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,还包括:响应数据封装单元,用于在向所述状态机发送所述响应数据之后,所述状态机将所述响应数据进行封装。
进一步,还包括:请求参数封装单元,用于在所述状态管理器接收所述状态机发送的所述封装的请求参数之前,所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
进一步,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述执行单元包括:所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
附图说明
图1为本发明实施例提供的基于状态机模式的业务状态处理方法流程图;
图2为本发明实施例提供的基于状态机模式的业务状态处理装置示意图;
图3为本发明实施例提供的业务状态***示意图;
图4为本发明实施例提供的当前状态标识示意图。
附图中,各标号所代表的部件列表如下:
10、接收单元,20、查找单元,30、执行单元,40、发送单元。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的基于状态机模式的业务状态处理方法流程图。
参照图1,执行主体为状态管理器,在步骤S101,状态管理器接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号。
在步骤S102,根据所述流水号从状态库中查找所述流水号对应的当前状态标识。
在步骤S103,执行所述当前状态标识中的业务逻辑。
在步骤S104,向所述状态机发送响应数据。
在本实施例中,在所述向所述状态机发送响应数据之后包括:所述状态机将所述响应数据进行封装。
这里,状态机模式在实际使用中比较多,适合“状态的切换”。用户可以变更状态值即可轻松实现需求变更,体现出状态机模式的灵活性和可维护性。
具体地,在所述状态管理器接收状态机发送的封装的请求参数之前包括:所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
在本实施例中,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述状态管理器执行所述当前状态标识中的业务逻辑包括:
所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
具体地,可参照如图4所示的当前状态标识示意图,从状态值为0开始,执行状态值为0时所对应的卡校验完成;当状态值为0的业务逻辑执行完成之后,执行状态值为1的业务逻辑,即选号完成,提交选号信息;再执行状态值为2的业务逻辑,直到执行到状态值为5的业务逻辑,此时,执行结束。通过上述过程,可以明确在哪些状态下做哪些业务逻辑。
当执行到状态值为3对应的业务逻辑时,执行中断。那么,在下次进入时会继续执行状态值为3对应的业务逻辑。
图2为本发明实施例提供的基于状态机模式的业务状态处理装置示意图。
参照图2,该装置包括接收单元10、查找单元20、执行单元30和发送单元40。
接收单元10,用于接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号。
查找单元20,用于根据所述流水号从状态库中查找所述流水号对应的当前状态标识。
执行单元30,用于执行所述当前状态标识中的业务逻辑。
发送单元40,用于向所述状态机发送响应数据。
在本实施例中,还包括:响应数据封装单元,用于在向所述状态机发送所述响应数据之后,所述状态机将所述响应数据进行封装。
在本实施例中,还包括:请求参数封装单元,用于在所述状态管理器接收所述状态机发送的所述封装的请求参数之前,所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
具体地,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述执行单元包括:所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
图3为本发明实施例提供的业务状态***示意图。
参照图3,该***包括状态管理器、状态机和状态机统一处理实现。状态管理器用于状态群的创建和状态流转;状态机用于负载自身事件的变更、负载前、后置处理器的调用和负载自动节点的调用。状态机统一处理实现用于针对各个状态机统一端口的实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于状态机模式的业务状态处理方法,其特征在于,包括:
状态管理器接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号;
所述状态管理器根据所述流水号从状态库中查找所述流水号对应的当前状态标识;
所述状态管理器执行所述当前状态标识中的业务逻辑;
所述状态管理器向所述状态机发送响应数据。
2.根据权利要求1所述的一种基于状态机模式的业务状态处理方法,其特征在于,在所述向所述状态机发送响应数据之后包括:所述状态机将所述响应数据进行封装。
3.根据权利要求1所述的一种基于状态机模式的业务状态处理方法,其特征在于,在所述状态管理器接收状态机发送的封装的请求参数之前包括:所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
4.根据权利要求1所述的一种基于状态机模式的业务状态处理方法,其特征在于,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述状态管理器执行所述当前状态标识中的业务逻辑包括:
所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
5.一种基于状态机模式的业务状态处理装置,其特征在于,包括:
接收单元,用于接收状态机发送的封装的请求参数,所述封装的请求参数包括流水号;
查找单元,用于根据所述流水号从状态库中查找所述流水号对应的当前状态标识;
执行单元,用于执行所述当前状态标识中的业务逻辑;
发送单元,用于向所述状态机发送响应数据。
6.根据权利要求5所述的一种基于状态机模式的业务状态处理装置,其特征在于,还包括:
响应数据封装单元,用于在向所述状态机发送所述响应数据之后,所述状态机将所述响应数据进行封装。
7.根据权利要求5所述的一种基于状态机模式的业务状态处理装置,其特征在于,还包括:
请求参数封装单元,用于在所述状态管理器接收所述状态机发送的所述封装的请求参数之前,所述状态机接收浏览器发送的请求参数,并将所述请求参数进行封装得到所述封装的请求参数。
8.根据权利要求5所述的一种基于状态机模式的业务状态处理装置,其特征在于,所述当前状态标识包括多个状态值和所述多个状态值分别对应的业务逻辑,所述执行单元包括:所述状态管理器依次执行所述多个状态值分别对应的业务逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610232343.XA CN105930205A (zh) | 2016-04-14 | 2016-04-14 | 一种基于状态机模式的业务状态处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610232343.XA CN105930205A (zh) | 2016-04-14 | 2016-04-14 | 一种基于状态机模式的业务状态处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105930205A true CN105930205A (zh) | 2016-09-07 |
Family
ID=56838167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610232343.XA Pending CN105930205A (zh) | 2016-04-14 | 2016-04-14 | 一种基于状态机模式的业务状态处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930205A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074095A1 (en) * | 2010-12-16 | 2013-03-21 | International Business Machines Corporation | Handling and reporting of object state transitions on a multiprocess architecture |
CN103049264A (zh) * | 2012-12-17 | 2013-04-17 | 国电南京自动化股份有限公司 | 一种通过状态机动态建模实现对业务***控制的方法 |
US9003357B1 (en) * | 2013-08-14 | 2015-04-07 | The Mathworks, Inc. | Code generation for querying an active state of a model |
CN104715056A (zh) * | 2012-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种利用网页生命周期优化应用的方法和装置 |
CN105045603A (zh) * | 2015-08-24 | 2015-11-11 | 北京金山安全软件有限公司 | 一种构建有限状态机模型框架的方法、装置及电子装置 |
-
2016
- 2016-04-14 CN CN201610232343.XA patent/CN105930205A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074095A1 (en) * | 2010-12-16 | 2013-03-21 | International Business Machines Corporation | Handling and reporting of object state transitions on a multiprocess architecture |
CN104715056A (zh) * | 2012-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种利用网页生命周期优化应用的方法和装置 |
CN103049264A (zh) * | 2012-12-17 | 2013-04-17 | 国电南京自动化股份有限公司 | 一种通过状态机动态建模实现对业务***控制的方法 |
US9003357B1 (en) * | 2013-08-14 | 2015-04-07 | The Mathworks, Inc. | Code generation for querying an active state of a model |
CN105045603A (zh) * | 2015-08-24 | 2015-11-11 | 北京金山安全软件有限公司 | 一种构建有限状态机模型框架的方法、装置及电子装置 |
Non-Patent Citations (1)
Title |
---|
张晨曦: "《计算机体系结构》", 30 June 2000 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052398A (zh) | 一种订单处理状态的反馈方法及聚合支付平台 | |
CN104539713B (zh) | 业务请求处理方法和装置 | |
CN108255589A (zh) | 任务调度方法及服务器 | |
CN108876689A (zh) | 订单处理方法、装置、设备及计算机可读存储介质 | |
CN110447206A (zh) | 自动故障恢复***、控制设备、程序创建设备及计算机可读存储介质 | |
CN105224396A (zh) | 一种业务数据处理方法和装置 | |
CN109041064A (zh) | 一种伪基站的识别方法、装置及移动终端 | |
CN107704331A (zh) | 电力设备故障分析处理辅助方法及装置 | |
CN104750834B (zh) | 一种规则的存储方法、匹配方法及装置 | |
CN107231314A (zh) | Can通道自适应方法、装置、***及汽车 | |
CN113112126A (zh) | 基于人工智能的供水管漏损预警方法及*** | |
CN101980487A (zh) | 一种路由选择出口的方法和装置 | |
CN105930205A (zh) | 一种基于状态机模式的业务状态处理方法和装置 | |
CN105635497A (zh) | 终端呼叫转移的方法及终端 | |
CN108259441A (zh) | 一种防止url访问绕行的方法及装置 | |
CN104052638B (zh) | 模块间冲突检测方法、装置及服务器 | |
CN108733425B (zh) | 业务变更信息发送方法、装置、电子设备和存储介质 | |
CN109684401A (zh) | 数据处理方法、装置和*** | |
CN113240499B (zh) | 一种基于***切换的订单处理方法和装置 | |
CN105848137A (zh) | 一种写卡方法及装置 | |
CN112685613B (zh) | 一种资源包查询的方法、装置及信息处理*** | |
CN107203461B (zh) | 兼容性测试方法及装置 | |
CN1997008B (zh) | 一种解除激活pdp上下文的方法及其装置 | |
CN107944798A (zh) | 智能配货方法和*** | |
CN109996132B (zh) | 一种自动开通ftth终端的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160907 |
|
RJ01 | Rejection of invention patent application after publication |