CN112416414A - 一种基于状态机的微服务架构容器化轻量级工作流系统 - Google Patents

一种基于状态机的微服务架构容器化轻量级工作流系统 Download PDF

Info

Publication number
CN112416414A
CN112416414A CN201910769357.9A CN201910769357A CN112416414A CN 112416414 A CN112416414 A CN 112416414A CN 201910769357 A CN201910769357 A CN 201910769357A CN 112416414 A CN112416414 A CN 112416414A
Authority
CN
China
Prior art keywords
service
state
state machine
workflow
request
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
Application number
CN201910769357.9A
Other languages
English (en)
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.)
Nari Information and Communication Technology Co
Original Assignee
Nari Information and Communication Technology Co
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 Nari Information and Communication Technology Co filed Critical Nari Information and Communication Technology Co
Priority to CN201910769357.9A priority Critical patent/CN112416414A/zh
Publication of CN112416414A publication Critical patent/CN112416414A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于状态机的微服务架构容器化轻量级工作流系统,包括用于提供流程的启动、流转和终止方法的工作流服务组件;用于提供服务注册地址的注册服务器组件;用于存储实例数据的非结构化数据库组件。工作流服务组件内部使用状态机技术,将传统流程中的活动抽象为状态,简化原有流程图中复杂的活动和迁移线;内部的分派器模块借助注册服务器组件,实现同一个流程实例的多个请求转发到同一个工作流服务内进行排队处理,避免关系数据库下锁机制引发的性能问题,配合非结构化的数据库组件可大幅提升系统性能。轻量级工作流服务以容器化方式启动,在负载高峰期启动多个工作流服务缓解压力,负载降低时可减少服务数量,释放资源,实现动态伸缩。

Description

一种基于状态机的微服务架构容器化轻量级工作流系统
技术领域
本发明涉及计算机软件技术领域,尤其涉及工作流技术和微服务架构领域,具体指一种基于有限状态机理论,采用微服务架构的容器化轻量级工作流系统。
背景技术
工作流技术从上世纪90年代开始发展,至今已成为业务系统应用中不可或缺的服务,它能够灵活的实现系统中数据的整合和统计,消除数据孤岛,实现效率、质量上的提升。然而,随着应用的深入,当工作流流程相对复杂时,例如:存在多达几十个活动且活动之间需要不断跳转交互的情况时,流程图中的活动和迁移线会错综复杂,需要在流程脚本中实现相当多的代码,成倍增加开发的复杂度,运行时性能也会持续降低。
近十年间,云技术飞速进步,传统服务逐渐被拆分为多个微服务,每个微服务独立部署运行,复杂业务系统在微服务的架构下能够实现系统的组件化和松耦合,并快速应对需求变化,微服务架构支撑着企业不断变革创新。而传统工作流服务基于复杂的工作流引擎,运行在容器中间件(例如Tomcat,Weblogic)中,在集群环境下需要同时启动多个服务实现负载均衡,如果某个服务出现问题,需要分析排查并重启该服务,那么不仅手工操作较为繁琐且易出错,而且无法合理利用服务器资源,很难达到服务的弹性伸缩。
发明内容
本发明的目的是针对现有技术存在的问题,提供一种基于状态机的微服务架构容器化轻量级工作流系统,可简化流程设计,提高系统运行性能,增加资源利用率。
为实现上述目的,本发明采用的技术方案是:
一种基于状态机的微服务架构容器化轻量级工作流系统,包括:
轻量级工作流服务组件,支持服务的注册与请求的转发,提供Restful服务接口,实现流程的启动、流转和终止方法,以及工作项的查询、签收和提交方法,支持流程状态的迁移及其中的业务处理,并将流程实例数据存储在非结构化数据库中;
Zookeeper注册服务器组件,注册每一个流程实例所运行的服务器节点地址,动态监测服务器节点的存活,提供服务查询;
非结构化数据库组件,是用于存储流程实例数据的数据库,采用Key-Value方式存储海量数据,支持大数据量情况下高效的增删改查数据。
进一步地,所述的轻量级工作流服务组件包括分派器模块、状态机模块和控制器模块;
所述的分派器模块在流程服务启动时向Zookeeper注册服务器注册,建立包含流程名称的持久化路径,任一流程实例启动时,向Zookeeper注册服务器注册包含流程实例ID的临时节点,流程服务收到请求后将同一个流程实例的请求转发到同一个流程服务中处理,将工作流服务在Docker容器中启动,加入统一的Swarm集群中,实现轻量级工作流之间的请求转发;
所述的状态机模块包含了流程状态机,将流程中的活动实现为状态,每个状态包含“进入”和“流转”方法,方法中实现书签和工作项的创建以及流程业务代码,流程状态机通过书签标记当前状态,使用非结构化数据库存取持久化信息;
所述的控制器模块是对并发请求处理的单线程处理器。
具体地,所述的控制器模块对于并发到来的请求采用单线程排队处理,提高效率。所述的轻量级工作流服务组件支持容器化的微服务,打包成Docker镜像,部署时启动多个容器组成集群,通过Zookeeper注册服务器协调,提供高性能的流程流转服务。
进一步地,所述的状态机模块包含了流程状态机,一个状态机由若干个状态组成,每个状态提供“进入(Enter)”和“流转(Resume)”方法。在所有的状态之中必须具有一个开始状态,用于状态机的启动。工作流进入某个状态后产生一个书签(Bookmark),将书签返回给调用者后就开始等待。直到外界再次通过书签触发流转方法后,该状态继续流转,根据输入值和流转的内部逻辑,决定下一个状态,并进入到下一个状态的进入方法,执行完毕会返回一个书签并开始等待。如此循环直到状态返回“结束”时,工作流不再进入新的状态,而是结束当前状态并结束工作流,实现流程的结束功能。在终止方法被调用时,系统自动设置书签的状态和轻量级工作流的状态为失效,用于标识流程的不可用状态。
进一步地,Swarm集群通过中心化配置实现所有容器中配置信息的统一更新,通过服务注册发现机制实现负载均衡:每一个轻量级工作流启动时进行Eureka服务注册,客户端发出请求,Eureka服务注册器会根据内部算法将请求自动转发到任意一个状态机容器中。
进一步地,所述的流程状态机基于有限状态机原理,有限状态机有三个特征:状态总数是有限的;任一时刻,只处在一种状态之中;某种条件下,会从一种状态转变到另一种状态。工作流状态机是一种有限状态机,是表示有限多个状态以及在这些状态之间转移和状态内动作的数学模型。
进一步地,流程流转使用书签查找流程状态机的当前状态,流程状态机、书签和工作项都具备持久化的数据结构,状态机信息包括:状态机类名、当前状态名称、状态创建更新时间、状态机变量、状态变量、是否活跃、结束原因。
进一步地,流程状态的返回结果来控制流程的流向,在流程正常流转到下一个状态的情况下,系统会将当前的书签置为失效,并创建一个基于新状态的书签;当状态返回“结束”标志时,流程终结,不再进入后续状态,系统自动结束当前的工作流程和书签;当状态返回为当前本身的状态时,即下一个状态与当前状态相同,那么在重新进入自身状态执行时,当前状态的书签不失效,且不重新生成新的书签,此种场景多用于活动的多实例会签。根据不同的后续状态进行跳转,实现流程的追回、回退以及自由流的功能。
进一步地,在流程流转过程中,流程实例数据发生变化,由内存中先保存流程相关数据,当操作结束时,由数据访问层统一将流程实例以及变量数据、标识数据和工作项等保存到非关系型数据库中,并将结果返回。
所述的控制器模块的工作原理是一个单线程池,所有与当前流程实例相关的操作排队进入到控制器中的单线程池中,一个操作处理完毕后再处理下一个操作,这样在处理两个同样的请求时,能够保证只处理一次,在第一次操作处理完毕后,数据的状态已经发生变化,就无法处理第二次请求。控制器中通过原子变量累计请求次数,当控制器中现有多个请求完成后,即请求次数与完成次数相等时,工作流服务卸载当前的控制器,完成此次操作,等待下一次请求。
所述的非结构化数据库组件中的数据库存储表结构简单,无复杂SQL查询,选用高性能的文档型数据库MongoDB存储,提高插入与查询的效率。三种存储结构如下:
流程状态机StateMachine的Json结构包括状态机类名、当前状态名称、状态创建时间、状态更新时间、状态机变量、状态变量、是否激活和结束原因:
Figure BDA0002173055640000041
一条流程状态机的记录表示一个流程实例,其中记录了流程流转的基本信息,包括流程实例变量(即状态机变量)和活动实例变量(即状态变量)等。
流程书签Bookmark的Json结构包括状态机ID、状态ID和生命周期:
Figure BDA0002173055640000042
书签记录流程所在当前状态的生命周期,包括两种状态:激活和失效。流程状态机表与书签表是一对多的关系。
流程工作项WorkItem的Json结构包括流程标识ID、流程类型、工作项用户ID、工作项角色ID、创建时间、更新时间、工作项状态和工作项变量:
Figure BDA0002173055640000051
工作项与具体处理流程的用户相关,包含了用户、角色以及所需变量等。书签表与工作项表是一对多的关系。
一种基于状态机的微服务架构容器化轻量级工作流系统的实现方法,包括以下步骤
1)一个流程包括状态机和状态两个基类;流程控制器中实现了流程状态的跳转,每一个状态都存在“进入”和“流转”两个方法,在“进入”方法中,通过进入上下文创建书签和工作项,在“流转”方法中,返回下一个状态的名称,并设置状态机和状态的变量;
2)工作流服务启动后向Zookeeper注册当前节点地址,对外暴露工作流服务的Restful接口,接口服务在处理请求时,通过分派器查找所请求的流程实例所在的服务节点,找到后将请求转发到目标服务所在节点,目标节点收到请求后创建控制器,由控制器实际处理;
3)每一个工作流产生的流程实例固定运行在某一个微服务节点上,当请求转发到此节点时,由该节点中的控制器处理,控制器中的工作原理是一个单线程池,所有与当前流程实例相关的操作排队进入到控制器中的单线程池中,一个操作处理完毕后再处理下一个操作,这样在处理两个同样的请求时,能够保证只处理一次,在第一次操作处理完毕后,数据的状态已经发生变化,就无法处理第二次请求;
4)在流程流转过程中,流程实例数据发生变化,由内存中先保存流程相关数据,当操作结束时,由数据访问层统一将流程实例以及变量数据、标识数据和工作项等保存到非关系型数据库中,并将结果返回;
5)控制器中通过原子变量累计请求次数,当控制器中现有多个请求完成后,即请求次数与完成次数相等时,工作流服务卸载当前的控制器,完成此次操作,等待下一次请求。
与现有技术相比,本发明的有益效果是:本发明提供了轻量级工作流系统实现的技术方案,应用有限状态机的理论,将传统流程中的活动抽象为状态,在状态的“进入”方法中,通过进入上下文创建标识和工作项,“流转”方法返回下一个状态的名称,并设置状态机和状态的变量,多个业务逻辑类似的活动可合并为一个状态,大幅简化建模的复杂度;流程发布时打包成Docker镜像,部署时启动多个容器组成集群,实现服务的弹性伸缩;流程服务启动时,工作流标识与当前节点信息自动注册到服务器中,任何与该流程相关的操作全部转发到此节点中执行,当并发多个请求时,使用单线程池的方式进行排队处理,流程数据持久化在非关系型数据库中,使用数据结构代替数据库的锁,大幅提高了服务处理性能。
附图说明
图1是本发明实施中的轻量级工作流系统的结构示意图;
图2是本发明实施中的流程请求处理方法的流程图;
图3是本发明实施中的工作流状态转移的流程图。
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施公开了一种基于状态机的微服务架构容器化轻量级工作流系统,其运行在容器中,对外提供流程流转服务;该系统包括用于提供流程的启动、流转和终止方法的工作流服务组件;用于提供服务注册地址的注册服务器组件;用于存储实例数据的非结构化数据库组件。工作流服务组件内部使用状态机技术,将传统流程中的活动抽象为状态,可简化原有流程图中复杂的活动和迁移线;内部的分派器模块借助注册服务器组件,实现同一个流程实例的多个请求转发到同一个工作流服务内进行排队处理,避免关系数据库下锁机制引发的性能问题,配合非结构化的数据库组件可大幅提升系统性能。轻量级工作流服务以容器化方式启动,在负载高峰期启动多个工作流服务缓解压力,负载降低时可减少服务数量,释放资源,实现动态伸缩。
实施例
图1是本发明轻量级工作流系统的结构示意图,整个系统架构中包含四个主体,即轻量级工作流服务集群、Zookeeper注册服务器、非结构化数据库和服务消费者。
所述的轻量级工作流服务集群,是指多个微服务工作流系统,提供Restful服务接口,支持流程的启动、流转和终止,实现流程状态的迁移,查询流程服务注册信息,同一流程实例的请求转发到同一个微服务工作流系统,系统中的流程控制器中采用单线程池排队处理请求,管理流程实例数据的生成、变更与存储。
所述的Zookeeper注册服务器,注册每一个流程实例所运行的服务器节点地址,动态监测服务器节点的存活,提供服务查询。
所述的非结构化数据库,是指用于存储流程实例数据的数据库,采用Key-Value方式存储海量数据,支持大数据量情况下高效的增删改查数据。
所述的服务消费者,是指调用流程服务的请求者,客户端将请求发送到负载均衡服务,该服务再通过负载均衡算法将请求发送到工作流微服务系统中,客户端获取响应数据并使用。
图2是本发明实施例中的流程请求处理方法的实现步骤:
步骤S101:工作流应用服务在启动过程中建立与Zookeeper注册服务器的长连接,如果连接不成功则短时间阻塞后重新连接,最大重试三次。连接成功后,根据流程名称在Zookeeper注册一个包含流程名称的持久化路径,在本节点实时监听该路径下临时路径的变化。
步骤S102:启动流程时,分配一个流程唯一ID,通过负载均衡随机分配一个服务节点处理请求,在注册服务器的持久化路径下建立一个当前流程实例ID的临时节点,将此节点的地址和端口号,序列化为Json格式,保存为临时节点的对应数据。
步骤S103:发送流程时,负载均衡随机分配一个服务节点处理请求,该节点根据流程实例ID向Zookeeper查找流程实例对应的微服务地址,将请求转发到对应节点上,如果与当前节点相同则直接在本节点上执行,如果地址不存在那么也会在本节点上执行,同时重新向Zookeeper注册流程实例ID和当前服务节点信息。
步骤S104:应用服务节点中可以同时处理多个流程实例请求,每一个流程实例使用一个控制器处理,实例ID和控制器一一对应存储在缓存Map中。控制器是一个单线程池,所有与当前流程实例相关的操作排队进入到控制器中的单线程池中,一个操作处理完毕后再处理下一个操作,当多个同样的请求并发到达时,第一次操作处理完毕后,数据的状态已经发生变化,无法处理后续请求,解决并发冲突。
步骤S105:控制器将一个流程所有并发请求处理完毕后,在内存中卸载控制器,后续新请求到来后再重新构建控制器处理请求。控制器中通过原子变量累计请求次数,当控制器中现有多个请求完成后,即请求次数与完成次数相等时,工作流服务卸载当前的控制器。
工作流服务对外提供“启动流程”、“发送流程”和“终止流程”接口,一个工作流由若干个状态组成,通过注解标识状态名称和启动状态:
以报销流程为例,FillInForm为填写报销单状态,属于启动状态,ExamineApprove为领导审批状态:
Figure BDA0002173055640000081
Figure BDA0002173055640000091
每个状态提供“进入”和“流转”方法,创建书签和工作项,执行业务逻辑,Enter方法内部调用ctx.CreateBookmark()方法返回bookmarkId,Resume方法获取下一个状态的名称:
Figure BDA0002173055640000092
图3是本发明实施例中的工作流状态转移的实现步骤:
步骤S201:启动流程时,传入用户ID和启动参数,工作流服务的反射解析模块根据流程名称解析出流程类,通过类的方法注解找到启动状态,构造流程实例数据,调用启动状态的“进入”方法,创建书签,根据用户ID创建工作项,执行业务逻辑,序列化流程和状态变量,持久化到数据库中。启动成功后返回书签,用于后续的流程查询和发送操作。
步骤S202:根据用户ID获取用户的当前待处理任务。一个工作项即为一条任务,工作项的状态在初始创建时会标识为“已分派”,用户执行签收动作后,工作项的状态变为“已签收”,当工作项完成后状态会变为“已完成”。从数据库的工作项表中查询出状态为“已分派”或者“已签收”的该用户工作项,即为用户当前待处理任务。
步骤S203:发送流程,将当前状态迁移到下一个状态。流程控制器中,根据传入的工作项ID参数,获取工作项对应的书签,再找到对应的流程状态机和状态,执行状态的“流转”操作,执行完毕后返回下一个状态的名称。
步骤S204:如果下一个状态名称与本状态名称相同,则表示要重新进入本状态,需重新执行本状态的“进入”方法。常见于流程的会签活动,需要多次重复进入当前状态。
步骤S205:正常情况下,流程继续向后续活动流转,下一个状态与本状态不同,执行后续状态的“进入”方法。
步骤S206:如果下一个状态是结束,那么表示流程已经走完,需结束流程状态机,将流程的状态机、所有书签和工作项的状态全部置为结束。
步骤S207:完成发送操作,序列化流程实例变量,更新当前流程实例数据,保存入库,发送成功后返回书签,用于后续的流程查询和发送操作。发送完成后可能会继续执行发送操作,重复S203步骤,或者终止流程,进入S208步骤。
步骤S208:终止流程,将当前流程状态机数据,状态数据和工作项数据的状态全部置为终止,表示流程已终止,后续不再进行操作。
以上是本发明实施例所提供的轻量级工作流的状态变化、服务注册与请求转发、以及流程控制器的内部处理逻辑进了详细的介绍,本实施例的说明只是用于帮助理解本发明的方法及其核心思想,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于状态机的微服务架构容器化轻量级工作流系统,其特征在于,包括:
轻量级工作流服务组件,支持服务的注册与请求的转发,提供Restful服务接口,实现流程的启动、流转和终止方法,以及工作项的查询、签收和提交方法,支持流程状态的迁移及其中的业务处理,并将流程实例数据存储在非结构化数据库中;
Zookeeper注册服务器组件,注册每一个流程实例所运行的服务器节点地址,动态监测服务器节点的存活,提供服务查询;
非结构化数据库组件,是用于存储流程实例数据的数据库,采用Key-Value方式存储海量数据,支持大数据量情况下高效的增删改查数据。
2.根据权利要求1所述的基于状态机的微服务架构容器化轻量级工作流系统,其特征在于,所述的轻量级工作流服务组件包括分派器模块、状态机模块和控制器模块;
所述的分派器模块在流程服务启动时向Zookeeper注册服务器注册,建立包含流程名称的持久化路径,任一流程实例启动时,向Zookeeper注册服务器注册包含流程实例ID的临时节点,流程服务收到请求后将同一个流程实例的请求转发到同一个流程服务中处理,将工作流服务在Docker容器中启动,加入统一的Swarm集群中,实现轻量级工作流之间的请求转发;
所述的状态机模块包含了流程状态机,将流程中的活动实现为状态,每个状态包含“进入”和“流转”方法,方法中实现书签和工作项的创建以及流程业务代码,流程状态机通过书签标记当前状态,使用非结构化数据库存取持久化信息;
所述的控制器模块是对并发请求处理的单线程处理器。
3.根据权利要求2所述的基于状态机的微服务架构容器化轻量级工作流系统,其特征在于,Swarm集群通过中心化配置实现所有容器中配置信息的统一更新,通过服务注册发现机制实现负载均衡:每一个轻量级工作流启动时进行Eureka服务注册,客户端发出请求,Eureka服务注册器会根据内部算法将请求自动转发到任意一个状态机容器中。
4.根据权利要求2所述的基于状态机的微服务架构容器化轻量级工作流系统,其特征在于,所述的流程状态机基于有限状态机原理,有限状态机有三个特征:状态总数是有限的;任一时刻,只处在一种状态之中;某种条件下,会从一种状态转变到另一种状态。
5.根据权利要求2所述的基于状态机的微服务架构容器化轻量级工作流系统,其特征在于,流程流转使用书签查找流程状态机的当前状态,流程状态机、书签和工作项都具备持久化的数据结构,状态机信息包括:状态机类名、当前状态名称、状态创建更新时间、状态机变量、状态变量、是否活跃、结束原因。
6.一种根据权利要求1所述的基于状态机的微服务架构容器化轻量级工作流系统的实现方法,其特征在于,包括以下步骤
1)一个流程包括状态机和状态两个基类;流程控制器中实现了流程状态的跳转,每一个状态都存在“进入”和“流转”两个方法,在“进入”方法中,通过进入上下文创建书签和工作项,在“流转”方法中,返回下一个状态的名称,并设置状态机和状态的变量;
2)工作流服务启动后向Zookeeper注册当前节点地址,对外暴露工作流服务的Restful接口,接口服务在处理请求时,通过分派器查找所请求的流程实例所在的服务节点,找到后将请求转发到目标服务所在节点,目标节点收到请求后创建控制器,由控制器实际处理;
3)每一个工作流产生的流程实例固定运行在某一个微服务节点上,当请求转发到此节点时,由该节点中的控制器处理,控制器中的工作原理是一个单线程池,所有与当前流程实例相关的操作排队进入到控制器中的单线程池中,一个操作处理完毕后再处理下一个操作,这样在处理两个同样的请求时,能够保证只处理一次,在第一次操作处理完毕后,数据的状态已经发生变化,就无法处理第二次请求;
4)在流程流转过程中,流程实例数据发生变化,由内存中先保存流程相关数据,当操作结束时,由数据访问层统一将流程实例以及变量数据、标识数据和工作项等保存到非关系型数据库中,并将结果返回;
5)控制器中通过原子变量累计请求次数,当控制器中现有多个请求完成后,即请求次数与完成次数相等时,工作流服务卸载当前的控制器,完成此次操作,等待下一次请求。
CN201910769357.9A 2019-08-20 2019-08-20 一种基于状态机的微服务架构容器化轻量级工作流系统 Pending CN112416414A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910769357.9A CN112416414A (zh) 2019-08-20 2019-08-20 一种基于状态机的微服务架构容器化轻量级工作流系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910769357.9A CN112416414A (zh) 2019-08-20 2019-08-20 一种基于状态机的微服务架构容器化轻量级工作流系统

Publications (1)

Publication Number Publication Date
CN112416414A true CN112416414A (zh) 2021-02-26

Family

ID=74779500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910769357.9A Pending CN112416414A (zh) 2019-08-20 2019-08-20 一种基于状态机的微服务架构容器化轻量级工作流系统

Country Status (1)

Country Link
CN (1) CN112416414A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470151A (zh) * 2021-04-06 2021-10-01 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN114510297A (zh) * 2022-03-31 2022-05-17 国家卫星海洋应用中心 卫星数据重处理方法、装置和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335161A (zh) * 2015-11-13 2016-02-17 华中师范大学 一种从tasm时间抽象状态机到扩展nta自动机的转换方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335161A (zh) * 2015-11-13 2016-02-17 华中师范大学 一种从tasm时间抽象状态机到扩展nta自动机的转换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
程旭 等: "高性能云工作流状态机的原理与实现", 《计算机系统应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470151A (zh) * 2021-04-06 2021-10-01 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN113470151B (zh) * 2021-04-06 2024-03-22 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN114510297A (zh) * 2022-03-31 2022-05-17 国家卫星海洋应用中心 卫星数据重处理方法、装置和电子设备

Similar Documents

Publication Publication Date Title
JP6223569B2 (ja) ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置
US10733019B2 (en) Apparatus and method for data processing
CN111949454B (zh) 一种基于微服务组件的数据库系统及相关方法
CN101694709B (zh) 一种面向服务的分布式工作流管理系统
CN105045607A (zh) 一种实现多种大数据计算框架统一接口的方法
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
CN105786603B (zh) 一种基于分布式的高并发业务处理系统及方法
CN107203560B (zh) 数据库、多数据库操作事务一致性保证方法及系统
JP2004531807A (ja) ステートフル・プログラム・エンティティの作業負荷管理
CN103023805A (zh) 一种MapReduce系统
CN102591726A (zh) 一种多进程通信方法
WO2023082992A1 (zh) 数据处理方法以及系统
CN112416414A (zh) 一种基于状态机的微服务架构容器化轻量级工作流系统
CN113468221A (zh) 一种基于kafka消息数据总线的系统集成方法
WO2021043124A1 (zh) 一种kbroker分布式操作系统、存储介质和电子设备
WO2024037629A1 (zh) 区块链的数据整合方法、装置、计算机设备及存储介质
CN113535362A (zh) 一种分布式调度系统架构和微服务工作流调度方法
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
CN107451211B (zh) 一种基于RabbitMQ和MongoDB的下载系统
WO2022257247A1 (zh) 数据处理方法、装置及计算机可读存储介质
CN104391876A (zh) 一种静态数据存储及查询方法及系统
CN114371935A (zh) 网关处理方法、网关、设备及介质
CN116204239A (zh) 业务处理方法、装置和计算机可读存储介质
WO2024037132A1 (zh) 工作流处理方法、装置、设备、存储介质和程序产品
US20230418681A1 (en) Intelligent layer derived deployment of containers

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210226

RJ01 Rejection of invention patent application after publication