CN117687608A - 一种编排流生成方法、装置、设备及存储介质 - Google Patents
一种编排流生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117687608A CN117687608A CN202311752169.8A CN202311752169A CN117687608A CN 117687608 A CN117687608 A CN 117687608A CN 202311752169 A CN202311752169 A CN 202311752169A CN 117687608 A CN117687608 A CN 117687608A
- Authority
- CN
- China
- Prior art keywords
- entity
- component
- entities
- data
- configuring
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000010561 standard procedure Methods 0.000 claims abstract description 60
- 238000013499 data model Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 20
- 238000013461 design Methods 0.000 claims description 16
- 238000007726 management method Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 12
- 238000012545 processing Methods 0.000 description 14
- 230000018109 developmental process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000033772 system development Effects 0.000 description 3
- 238000007429 general method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提出一种编排流生成方法、装置、设备及存储介质,编排流生成方法通过从数据库中获取数据,根据数据构建若干个实体,配置实体之间的实体关系,得到数据模型,根据若干个实体,构建业务对象,根据数据模型中的实体配置实体标准方法作为第一组件,以及根据业务对象配置业务对象标准方法作为第二组件,响应于业务需求,利用第一组件以及第二组件进行编排,生成编排流,相对现有技术,不需要手动编写代码等额外开发工作,降低了开发的复杂性和工作量。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种编排流生成方法、装置、设备及存储介质。
背景技术
在现代企业中,越来越多的企业开始采用分布式架构进行开发,使得数据的管理和处理变得越来越复杂,同时,微服务开发模式导致企业的接口数量急剧增加。现有技术中,通常需要手动编写和定义接口,增加了开发的复杂性和工作量;处理复杂编排流的业务逻辑也需要额外的手动编写代码等开发工作。因此,需要一种新的方法实现复杂编排流和接口。
发明内容
本申请实施例提供一种编排流生成方法、装置、设备及存储介质,以解决相关技术存在的至少一个问题,技术方案如下:
第一方面,本申请实施例提供了一种编排流生成的方法,包括:
从数据库中获取数据;
根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型;
根据若干个所述实体,构建业务对象;
根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件;
响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流。
在一种实施方式中,所述从数据库中获取数据包括:
通过数据库的数据库信息,将所述数据库与数据源建立连接;
通过所述数据源的管理功能进行数据库表的识别,获取所述数据。
在一种实施方式中,所述根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型包括:
根据指定的业务需求,确定需要建立的实体;
根据所述数据在设计画布中构建若干个所述实体,为每一所述实体生成唯一的标识符,并配置每一所述实体的属性,所述属性用于表征所述实体的特征;
响应于连线指令,在所述设计画布中配置所述实体之间的一对一或者一对多的实体关系,得到数据模型。
在一种实施方式中,所述根据若干个所述实体,构建业务对象包括:
根据指定的业务需求,确定需要构建的业务对象;
根据所述数据模型中的所述实体关系,依序在所述实体关系中确定主实体、次实体以及关联实体,所述主实体包括所述业务对象的基础信息,所述次实体为所述基础信息关联的详细信息,所述关联实体为与所述主实体以及所述次实体关联的实体;
根据所述主实体、所述次实体以及所述关联实体,构建所述业务对象。
在一种实施方式中,所述根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件包括:
基于不同实体的第一交互规则,生成对应的实体标准方法;
响应于第一配置指令,为所述数据模型中每一所述实体配置对应的实体标准方法,得到第一组件;
基于业务对象的第二交互规则,生成对应的业务对象标准方法;
响应于第二配置指令,为所述业务对象配置对应的业务对象标准方法,得到第二组件。
在一种实施方式中,所述响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流包括:
响应于业务需求,将所述第一组件以及所述第二组件拖动至编排设计器中;
通过所述编排设计器定义编排流的输入和输出,创建开始节点、基于所述第一组件中的所述实体的实体节点、分支节点、事件节点以及结束节点,并在分支节点下创建基于所述第二组件中的所述业务对象的业务对象节点,生成编排流。
在一种实施方式中,所述方法还包括:
对所述编排流进行测试;
当测试通过后,生成编排流接口;
其中,所述编排流接口用于供系统调用所述编排流。
第二方面,本申请实施例提供了一种编排流生成装置,包括:
获取模块,用于从数据库中获取数据;
配置模块,用于根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型;
构建模块,用于根据若干个所述实体,构建业务对象;
组件模块,用于根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件;
生成模块,用于响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流。
在一种实施方式中,生成模块还用于:
对所述编排流进行测试。
当测试通过后,生成编排流接口。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,该存储器中存储指令,该指令由该处理器加载并执行,以实现上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述各方面任一种实施方式中的方法。
上述技术方案中的有益效果至少包括:
通过从数据库中获取数据,根据数据构建若干个实体,配置实体之间的实体关系,得到数据模型,根据若干个实体,构建业务对象,根据数据模型中的实体配置实体标准方法作为第一组件,以及根据业务对象配置业务对象标准方法作为第二组件,响应于业务需求,利用第一组件以及第二组件进行编排,生成编排流,相对现有技术,不需要手动编写代码等额外开发工作,降低了开发的复杂性和工作量。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例编排流生成方法的步骤流程示意图;
图2为本申请一实施例的实体关系的示意图;
图3为本申请一实施例的编排流生成装置的结构框图;
图4为本申请一实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
参照图1,示出本申请一实施例的编排流生成方法的流程图,该编排流生成方法至少可以包括步骤S100-S500:
S100、从数据库中获取数据。
S200、根据数据构建若干个实体,配置实体之间的实体关系,得到数据模型。
S300、根据若干个实体,构建业务对象。
S400、根据数据模型中的实体配置实体标准方法作为第一组件,以及根据业务对象配置业务对象标准方法作为第二组件。
S500、响应于业务需求,利用第一组件以及第二组件进行编排,生成编排流。
本申请实施例的编排流生成方法可以通过计算机、手机、平板、车载终端等终端的电子控制单元、控制器、处理器等执行,也可以通过云服务器执行。
本申请实施例的技术方案,通过从数据库中获取数据,根据数据构建若干个实体,配置实体之间的实体关系,得到数据模型,根据若干个实体,构建业务对象,根据数据模型中的实体配置实体标准方法作为第一组件,以及根据业务对象配置业务对象标准方法作为第二组件,响应于业务需求,利用第一组件以及第二组件进行编排,生成编排流,相对现有技术,不需要手动编写代码等额外开发工作,降低了开发的复杂性和工作量。
在一种实施方式中,步骤S100包括步骤S110-S120:
S110、通过数据库的数据库信息,将数据库与数据源建立连接。
可选地,填写数据库的连接url后系统会进行连接测试,以验证数据源的可用性,一旦测试连接通过,系统将使用数据库信息来建立数据库与数据源的连接。可选地,数据库信息用于建立与数据源的连接,数据库信息可以包括参数和凭据,如数据库的主机名或IP地址、端口号、数据库名称、用户名和密码等。
S120、通过数据源的管理功能进行数据库表的识别,获取数据。
可选地,数据库与数据源连接成功后,系统可以继续执行其他操作,例如通过数据源的管理功能识别数据库表、导入数据模型等,连接数据源的成功与否对后续步骤的进行起着关键作用。
需要说明的是,数据源的管理功能是系统基础设施的重要组成部分,它实现了持久化机制,为系统提供了可靠的数据存储和访问能力,并且数据源的管理功能提供了丰富的数据库支持,包括mysql、oracle、postgresql以及部分国产数据库,如人大金仓、oceanbase等。通过数据库管理,系统可以轻松的与不同的数据库进行交互,通过对各个数据库语法的封装,可以在不同的数据库中创建表、编辑表、创建索引,对数据进行读取和写入等操作,为业务逻辑的实现提供了坚实的基础。
在一种实施方式中,步骤S200包括步骤S210-S230:
S210、根据指定的业务需求,确定需要建立的实体。
可选地,基于不同业务人员指定的不同业务需求,确定需要建立的实体。本申请实施例中,为了便于说明,以业务需求为电商系统下单进行举例说明,不对本申请的应用场景构成限制。例如,确定需要建立的实体可以为订单基础信息相关的实体,例如订单基础信息的实体,可以包括买家、商家、订单、地址等实体,订单商品信息相关的实体,例如商品、商品规格、价格、库存等实体等。
S220、根据数据在设计画布中构建若干个实体,为每一实体生成唯一的标识符,并配置每一实体的属性,属性用于表征实体的特征。
本申请实施例中,系统提供设计画布,供操作人员进行设计,例如操作人员可以在设计画布中点击创建实体,例如电商系统下单的业务需求,建立订单基础信息的实体以及建立订单商品信息的实体,在建立每一实体后,系统会为实体生成唯一的标识符,也称为主键,用于唯一标识该实体。其中,用户可以配置每一实体的属性,属性用于表征实体的特征,在关系型的数据模型中,使用表格和关系来表示数据,实体通常被表示为表格中的行,每一行代表一个具体的实体,而表格的列则表示实体的属性。以电商系统下单的业务需求为例,可以配置买家、商家、订单、地址等实体的属性,可以配置商品规格、价格、数量等实体的属性,另外也可以配置姓名、年龄、地址等属性,属性可以变化的,实体可能存在生命周期(比如订单对象,订单状态是连续变化的),它对应着数据库的物理表,可以用于实现操作数据库的通用动作,新增插入、批量保存、根据ID更新、批量根据ID更新、根据参数更新、根据ID删除、分页查询等等。其中,在生成实体和配置属性后,可以构造出完整的实体。
需要说明的是,本申请方法不局限于电商领域,可以事先将系统根据业务需求分成多个模块及领域,甚至每个领域还能拆分成多个子领域,再从每个领域中提取相关的实体、实体之间关系,配置实体包含的属性,此时就可以将设计得到的领域和实体录入到数据模型功能里面,在后续设计调整的时候,在重新维护模型实体后将同步到使用了该实体的其他地方,如此系统的迭代变化也能快速的被应用到其他地方。
S230、响应于连线指令,在设计画布中配置实体之间的一对一或者一对多的实体关系,得到数据模型。
可选地,系统的设计画布除提供建立、配置实体的功能外,还提供拖拽以及连线功能,用户可以通过连线操作生成连线指令,响应于连线指令,在设计画布中配置实体之间的一对一或者一对多的实体关系,得到完整的数据模型;其中,可以通过连线的右键编辑实体关系。例如,如图2所示,假设有订单实体、地址实体、商品实体,订单实体和地址实体的关系为1:1(一对一),表示一个订单只有一个收货的地址,订单和商品的关系为1:N(一对多),表示一个订单中可以有多个商品信息。
需要说明的是,数据模型提供模型管理,模型中实体关系的管理,还支持将数据模型对应的实体在数据库中构建对应的物理表,通过使用提供的实体通用动作,就能能够操作相关数据落地。
在一种实施方式中,步骤S300包括步骤S310-S330:
S310、根据指定的业务需求,确定需要构建的业务对象。
需要说明的是,业务对象是指在软件系统或应用程序中表示业务实体或业务概念的抽象对象。类似地,以电商系统下单的业务需求为例,此时确定需要构建的业务对象是订单。
S320、根据数据模型中的实体关系,依序在实体关系中确定主实体、次实体以及关联实体。
需要说明的是,由于单个实体往往表示不了主从表关系,因此需要构建出业务对象,用于表示多表及主从表逻辑关系。具体地,根据数据模型中的实体关系,依序在实体关系中确定主实体、次实体以及关联实体。需要说明的是,主实体包括业务对象的基础信息,例如业务对应为订单时,主实体包括订单基础信息相关的实体,次实体包括基础信息关联的详细信息,例如订单商品信息相关的实体,关联实体为与主实体以及次实体关联的实体,例如可以为买家、商家、商品、库存等,关联实体只能进行查看数据操作。
在一些实施例中,关联实体不属于本业务对急的一部分,只是在实体的某些属性需要关联外部的实体进行翻译呈现时需要关联实体,关联实体不会随着本业务对象的改变而改变。
S330、根据主实体、次实体以及关联实体,构建业务对象。
可选地,在确定主实体、次实体以及关联实体后,利用主实体、次实体以及关联实体构建业务对象,从而可以表示数据库中多表及主从表逻辑关系。
需要说明的是,一些实施例中,业务对象可以由实体、值对象和聚合根等组成,实体及模型中的对象,值对象和实体相似,当是它的属性值是不能改变的,一般就是用于展示用;聚和根是一组相关实体的中的主实体。系统中提供业务对象的功能,如业务对象管理,业务对象设计、业务对象规则,以及操作数据库的通用方法。其中,业务对象管理对业务对象基础信息进行管理,业务对象设计要从数据模型中先确认聚合根及主视实体,再选择关联的子实体或者值对象,还可以定义实体属性再该业务中是否展示等等;业务对象规则中可以指定属性按照给定的名称展示,同时可以定义业务对象数据的校验规则,在使用保存业务数据的时候进行校验。
在一种实施方式中,步骤S400包括步骤S410-S440:
S410、基于不同实体的第一交互规则,生成对应的实体标准方法。
可选地,可以通过定义一套规范和准则,定义和设计接口以与实体进行交互,即第一交互规则;系统可以通过包括但不限于生成工具或者规则引擎等工具,自动生成对应的实体标准方法,实体标准方法用于指导生成接口;实体标准方法可以表示实体可以执行的操作和行为。
S420、响应于第一配置指令,为数据模型中每一实体配置对应的实体标准方法,得到第一组件。
可选地,在得到不同实体的对应的实体标准方法后,可以通过配置操作生成第一配置指令,为数据模型中每一实体配置对应的实体标准方法,得到第一组件。
需要说明的是,实体标准方法的执行依赖底层的数据库管理功能实现对数据库数据的读取和写入,而为了提升执行效率和多种数据源的支持,引入了持久层框架mybatis,mybatis支持市面上大部分的数据库,同时它还提供了缓存功能,借助它的缓存功能,在系统启动或者实体发生变化的时候,执行实体标准方法,根据实体配置生成相关通用动作的sql,缓存在mybatis中,通过该预编译的方法,减少在执行过程中的数据处理以提升效率。
例如,用户在电商系统上下了一个订单(订单是一个业务对象),而订单业务对急中包含有订单基础信息相关的实体,这时候系统向该实体发出创建指令,在系统上创建一条订单基础信息记录,并且持久化数据,将已构造完成的实体缓存到内存介质是为了有更高的性能,在系统执行实体标准方法时,可以直接从缓存中获取,实现动态参数解析,根据入参动态执行,并返回执行结果,执行后省略前面的构造过程。
S430、基于业务对象的第二交互规则,生成对应的业务对象标准方法。
类似地,可以通过定义一组规范和约定,定义对业务对象进行常见操作的接口方法,例如创建、读取、更新和删除(CRUD)等,即第二交互规则;系统可以通过包括但不限于生成工具或者规则引擎等工具,自动生成对应的业务对象标准方法,用于指导生成接口,以便与业务对象进行交互;业务对象标准方法可以表示业务对象可以执行的操作和行为。
可选地,业务对象的业务对象标准方法包括暂存数据、保存数据、详情、分页查询、列表查询、逻辑删除、物理删除,比单个实体的通用方法要强大,可以根据实体关系同时操作多个实体,如保存数据可以根据业务数据保存主实体和子实体的数据,支持多层级保存。并且,在设计系统的时候,当开始对具体业务进行梳理和设计的时候,将根据数据模型来提取合适的业务对象来支撑当前的业务,业务对象可以复用,设计人员将相关业对象录入系统后,有助于开发团队可以更好地理解和表达业务需求。
类似地,系统设计时可以实现构造不同的业务对象并缓存在内存介质中,在执行业务对象标准方法时也可以直接从缓存中获取,而不需要重新构造。其中,在执行业务对象标准方法时,系统根据指令和入参执行对应的方法逻辑,创建一个完整的订单业务对象数据,并目持久化数据,同时返回执行结果。
S440、响应于第二配置指令,为业务对象配置对应的业务对象标准方法,得到第二组件。
可选地,在得到业务对象标准方法后,可以通过配置操作生成第二配置指令,为业务对象配置对应的业务对象标准方法,得到第二组件。
本申请实施例中,利用对应的标准方法规范实体和业务对象可对外提供的数据操作行为,提高业务操作的一致性和可维护性。例如,对于订单业务对象,系统业务对象中可以包括生成创建订单、更新订单、取消订单等业务对象标准方法,提高业务流程的一致性和可维护性。
在一种实施方式中,步骤S500包括步骤S510-S520:
S510、响应于业务需求,将第一组件以及第二组件拖动至编排设计器中。
可选地,例如业务需求为创建订单时,需要判断库存是否满足、无需考虑支付,只需要后续触发支付流程,用户可以进行拖拽操作,系统响应于业务需求具体为业务需求对应的拖拽操作,将第一组件以及第二组件拖动至编排设计器中。
S520、通过编排设计器定义编排流的输入和输出,创建开始节点、基于第一组件中的实体的实体节点、分支节点、事件节点以及结束节点,并在分支节点下创建基于第二组件中的业务对象的业务对象节点,生成编排流。
可选地,用户可以通过编排设计器定义编排流的输入和输出,创建开始节点、基于第一组件中的实体的实体节点(并且可以选择查询库存实体的方法,如库存实体的实体标准方法)、分支节点(用于判断库存是否满足,如果库存满足则往下流转,否则抛出库存不足错误信息,终止流程)、事件节点(送事件触发支付流程)以及结束节点,并在分支节点下创建基于第二组件中的业务对象的业务对象节点(即在库存满足的分支上创建该业务对象节点,并且可以选择创建订单的业务对象标准方法),从而基于各个节点,生成编排流。本申请实施例,可以利用编排设计器进行节点创建,拖拽、连线排序等功能配置编排流,通过定义和配置节点之间的依赖关系和数据传递规则,来实现任务的自动化编排和执行,即使是复杂的编排流也不用输入代码进行编程,降低开发难度以及对用户的专业知识的要求。
本发明实施例中,系统的编排设计器、解析器、执行器,编排设计器提供提供可视化界面拖拉拽实现业务流编排,提供了丰富的处理节点,可以让开发人员灵活的根据业务需求进行设计,编排流也充当了防腐层的效果,它可以同时操作多个数据模型中的实体或业务对象,实现了跨领域的交互,满足了复杂的业务交互逻辑。针对实体和业务对象的标准方法,提供了快速生成API编排流,无需再让开发人员手动设计,提升了系统的开发效率。其中,编排流的节点划分成控制节点和处理(processor)节点两大类,控制节点只负责业务编排流的程序流转控制,不处理具体业务,处理节点负责处理具体业务。整个业务编排流采用微内核的架构模式,控制节点属于内核部分,处理节点属于插件部分;控制节点包括开始节点、结束节点、分支节点、循环节点、集合遍历节点、捕获错误节点、抛出错误节点,主要是对编排流进行流转控制。其中,(条件)分支节点相当于支持java代码程序的if else语法;循环节点相当于支持java代码程序的while语法;集合遍历节点相当于支持java代码程序的forEach语法;捕获错误节点相当于支持java代码程序的try catch语法;抛出错误节点相当于支持java代码程序的throw Exception语法。而处理节点可以是实体节点、业务对象节点等,由于采用了微内核架构模式,处理节点也可以是按业务需求自定义的扩展节点,只要该节点对应的处理器程序实现了插件规范接口(IProcessor接口,该接口由业务编排流系统定义)。
而解析器在应用程序启动时对编排设计器输出的编排流的相关数据进行解析并构建动态内存编排流程序模型,执行器在接收到执行请求时,根据请求的编排流编码,从内存中查找出解析器预构建的编排流程序模型,按有向图算法执行编排流程序,并且返回执行结果。
在一种实施方式中,本申请实施例的方法还包括S610-S620:
S610、对编排流进行测试。
S620、当测试通过后,生成编排流接口。
可选地,在编排流生成后,可以对编排流保存并进行测试。当测试完成并通过后,生成编排流接口,编排流接口用于供内部系统或者外部的第三方系统调用,从而可以利用编排流,以此完成系统与系统间数据的传递和转换规则的数据处理。
本申请实施例中,编排流设计完成生成对应的编排流接口,可以自由组合接口出参对象,与前端展示层进行交互,完成系统开发闭环。
首先,通过本申请实施例的方法,连接数据源成功后,可以从数据库识别表并将其导入到数据模型中,发布后的数据模型实体可以规定一系列的增删查改等实体标准方法以及业务对象标准方法,可以依据这些标准方法编排生成编排流,然后系统直接生成原子接口,即编排流接口供第三方系统调用,以利用编排流。此外,可以依据数据模型构建业务对象,实现主从表多表关系,业务对象的规定了多表的增删查改等标准方法,即业务对象标准方法,根据业务领域对象的标准方法,可以生成处理多表关联的原子接口,这些原子接口可以作为复杂编排流接口的组件,即第二组件,通过编排组合形成复杂的编排流接口,实现基于数据模型快速生成编排流接口并实现复杂编排流的组合的功能。
其次,本申请实施例的方法,把系统开发的重心放在核心领域和领域逻辑上,例如系统中相对独立的功能模块可以认为是一个核心领域;把复杂的设计逻辑放在领域的模型上,通过持续迭代来完善模型,并使用可编排的流程来满足多变、复杂需求的系统开发。
参照图3,示出了本申请一实施例的编排流生成装置的结构框图,该装置可以包括:
获取模块,用于从数据库中获取数据;
配置模块,用于根据数据构建若干个实体,配置实体之间的实体关系,得到数据模型;
构建模块,用于根据若干个实体,构建业务对象;
组件模块,用于根据数据模型中的实体配置实体标准方法作为第一组件,以及根据业务对象配置业务对象标准方法作为第二组件;
生成模块,用于响应于业务需求,利用第一组件以及第二组件进行编排,生成编排流。
在一种实施方式中,生成模块还用于:
对编排流进行测试。
当测试通过后,生成编排流接口。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
参照图4,示出了本申请一实施例电子设备的结构框图,该电子设备包括:存储器310和处理器320,存储器310内存储有可在处理器320上运行的指令,处理器320加载并执行该指令实现上述实施例中的编排流生成方法。其中,存储器310和处理器320的数量可以为一个或多个。
在一种实施方式中,电子设备还包括通信接口330,用于与外界设备进行通信,进行数据交互传输。如果存储器310、处理器320和通信接口330独立实现,则存储器310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器310、处理器320及通信接口330集成在一块芯片上,则存储器310、处理器320及通信接口330可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的编排流生成方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”“一些实施例”“示例”“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机的可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围之内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种编排流生成方法,其特征在于,包括:
从数据库中获取数据;
根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型;
根据若干个所述实体,构建业务对象;
根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件;
响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流。
2.根据权利要求1所述编排流生成方法,其特征在于:所述从数据库中获取数据包括:
通过数据库的数据库信息,将所述数据库与数据源建立连接;
通过所述数据源的管理功能进行数据库表的识别,获取所述数据。
3.根据权利要求1所述编排流生成方法,其特征在于:所述根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型包括:
根据指定的业务需求,确定需要建立的实体;
根据所述数据在设计画布中构建若干个所述实体,为每一所述实体生成唯一的标识符,并配置每一所述实体的属性,所述属性用于表征所述实体的特征;
响应于连线指令,在所述设计画布中配置所述实体之间的一对一或者一对多的实体关系,得到数据模型。
4.根据权利要求3所述编排流生成方法,其特征在于:所述根据若干个所述实体,构建业务对象包括:
根据指定的业务需求,确定需要构建的业务对象;
根据所述数据模型中的所述实体关系,依序在所述实体关系中确定主实体、次实体以及关联实体,所述主实体包括所述业务对象的基础信息,所述次实体为所述基础信息关联的详细信息,所述关联实体为与所述主实体以及所述次实体关联的实体;
根据所述主实体、所述次实体以及所述关联实体,构建所述业务对象。
5.根据权利要求3或4所述编排流生成方法,其特征在于:所述根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件包括:
基于不同实体的第一交互规则,生成对应的实体标准方法;
响应于第一配置指令,为所述数据模型中每一所述实体配置对应的实体标准方法,得到第一组件;
基于业务对象的第二交互规则,生成对应的业务对象标准方法;
响应于第二配置指令,为所述业务对象配置对应的业务对象标准方法,得到第二组件。
6.根据权利要求5所述编排流生成方法,其特征在于:所述响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流包括:
响应于业务需求,将所述第一组件以及所述第二组件拖动至编排设计器中;
通过所述编排设计器定义编排流的输入和输出,创建开始节点、基于所述第一组件中的所述实体的实体节点、分支节点、事件节点以及结束节点,并在分支节点下创建基于所述第二组件中的所述业务对象的业务对象节点,生成编排流。
7.根据权利要求1所述编排流生成方法,其特征在于:所述方法还包括:
对所述编排流进行测试;
当测试通过后,生成编排流接口;
其中,所述编排流接口用于供系统调用所述编排流。
8.一种编排流生成装置,其特征在于,包括:
获取模块,用于从数据库中获取数据;
配置模块,用于根据所述数据构建若干个实体,配置所述实体之间的实体关系,得到数据模型;
构建模块,用于根据若干个所述实体,构建业务对象;
组件模块,用于根据所述数据模型中的实体配置实体标准方法作为第一组件,以及根据所述业务对象配置业务对象标准方法作为第二组件;
生成模块,用于响应于业务需求,利用所述第一组件以及所述第二组件进行编排,生成编排流。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由所述处理器加载并执行,以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311752169.8A CN117687608B (zh) | 2023-12-18 | 2023-12-18 | 一种编排流生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311752169.8A CN117687608B (zh) | 2023-12-18 | 2023-12-18 | 一种编排流生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117687608A true CN117687608A (zh) | 2024-03-12 |
CN117687608B CN117687608B (zh) | 2024-08-09 |
Family
ID=90136861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311752169.8A Active CN117687608B (zh) | 2023-12-18 | 2023-12-18 | 一种编排流生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687608B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513976A (zh) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | 业务流程建模方法及装置 |
US20200014604A1 (en) * | 2018-07-05 | 2020-01-09 | Open Text Sa Ulc | Systems and methods for communication flow modeling |
CN113435846A (zh) * | 2021-06-30 | 2021-09-24 | 深圳平安智汇企业信息管理有限公司 | 业务流程编排方法、装置、计算机设备及存储介质 |
US20220166851A1 (en) * | 2020-11-25 | 2022-05-26 | EMC IP Holding Company LLC | Home-smartmedia-mec with cloud marketplace |
CN115061674A (zh) * | 2022-06-16 | 2022-09-16 | 平安银行股份有限公司 | 一种业务流程在线编排方法、装置、系统及可读存储介质 |
US20220327006A1 (en) * | 2021-04-09 | 2022-10-13 | Nb Ventures, Inc. Dba Gep | Process orchestration in enterprise application of codeless platform |
CN116069310A (zh) * | 2023-01-10 | 2023-05-05 | 浪潮通用软件有限公司 | 一种可视化的业务逻辑无编码开发方法、设备及介质 |
CN116521178A (zh) * | 2023-05-17 | 2023-08-01 | 北京中电普华信息技术有限公司 | 一种业务流程服务生成方法及相关设备 |
CN116540980A (zh) * | 2023-04-14 | 2023-08-04 | 四川省农村信用社联合社 | 业务产品的流程实例生成方法、装置、及业务系统 |
CN116795378A (zh) * | 2023-08-18 | 2023-09-22 | 宁波数益工联科技有限公司 | 基于代码动态编译的流程编排执行方法及装置 |
CN117149146A (zh) * | 2023-08-08 | 2023-12-01 | 神州数码融信软件有限公司 | 一种业务模型构建方法、系统、装置及存储介质 |
-
2023
- 2023-12-18 CN CN202311752169.8A patent/CN117687608B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513976A (zh) * | 2012-06-29 | 2014-01-15 | 中兴通讯股份有限公司 | 业务流程建模方法及装置 |
US20200014604A1 (en) * | 2018-07-05 | 2020-01-09 | Open Text Sa Ulc | Systems and methods for communication flow modeling |
US20220166851A1 (en) * | 2020-11-25 | 2022-05-26 | EMC IP Holding Company LLC | Home-smartmedia-mec with cloud marketplace |
US20220327006A1 (en) * | 2021-04-09 | 2022-10-13 | Nb Ventures, Inc. Dba Gep | Process orchestration in enterprise application of codeless platform |
CN113435846A (zh) * | 2021-06-30 | 2021-09-24 | 深圳平安智汇企业信息管理有限公司 | 业务流程编排方法、装置、计算机设备及存储介质 |
CN115061674A (zh) * | 2022-06-16 | 2022-09-16 | 平安银行股份有限公司 | 一种业务流程在线编排方法、装置、系统及可读存储介质 |
CN116069310A (zh) * | 2023-01-10 | 2023-05-05 | 浪潮通用软件有限公司 | 一种可视化的业务逻辑无编码开发方法、设备及介质 |
CN116540980A (zh) * | 2023-04-14 | 2023-08-04 | 四川省农村信用社联合社 | 业务产品的流程实例生成方法、装置、及业务系统 |
CN116521178A (zh) * | 2023-05-17 | 2023-08-01 | 北京中电普华信息技术有限公司 | 一种业务流程服务生成方法及相关设备 |
CN117149146A (zh) * | 2023-08-08 | 2023-12-01 | 神州数码融信软件有限公司 | 一种业务模型构建方法、系统、装置及存储介质 |
CN116795378A (zh) * | 2023-08-18 | 2023-09-22 | 宁波数益工联科技有限公司 | 基于代码动态编译的流程编排执行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117687608B (zh) | 2024-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
US10565095B2 (en) | Hybrid testing automation engine | |
CN104866599B (zh) | 可视化报表的生产方法和系统 | |
US9021440B1 (en) | System and method for automated test script generation | |
US11645340B2 (en) | Data store interface including application configurable format constraints for use in accessing or visualization of values stored an in-memory cache | |
CN111722839B (zh) | 一种代码生成方法、装置、电子设备及存储介质 | |
US10360603B2 (en) | Creation and use of constraint templates | |
US7318215B1 (en) | Stored procedure interface language and tools | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
CN112860260B (zh) | 一种在高校场景下基于web的跨平台应用构建工具及方法 | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
CN107562459B (zh) | 管理系统、界面生成/显示/操作方法、介质、终端 | |
US9280361B2 (en) | Methods and systems for a real time transformation of declarative model and layout into interactive, digital, multi device forms | |
CN103678591A (zh) | 自动执行多业务单据统计处理的装置和方法 | |
CN117687608B (zh) | 一种编排流生成方法、装置、设备及存储介质 | |
CN114677114A (zh) | 基于图形拖拽的审批流程生成方法及装置 | |
CN114138797A (zh) | 基于移动端实现流程可视化配置及运行的系统、方法、装置、处理器及其计算机存储介质 | |
CN113742103A (zh) | 跨数据源的服务实现方法及装置、电子设备 | |
CN114185583A (zh) | 审批流程的生成、处理方法及装置 | |
CN110019177A (zh) | 规则存储的方法和装置 | |
US20120030189A1 (en) | Dynamically Joined Fast Search Views for Business Objects | |
CN109358855A (zh) | 一种用于编程的前端模拟数据敏捷开发方法及电子设备 | |
CN112181407A (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN117827191B (zh) | 一种基于可视化建模的执行方法、装置、设备及存储介质 | |
CN116028138B (zh) | 应用发布方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |