一种低代码业务脚本运行方法及引擎装置与流程

文档序号:32005199发布日期:2022-11-02 12:52阅读:47来源:国知局
一种低代码业务脚本运行方法及引擎装置与流程

1.本发明涉及计算机软件技术领域,具体涉及一种低代码业务脚本运行方法及引擎装置。


背景技术:

2.企业级管理者在系统生产过程中调整生产策略、物料采购策略等,因此,对企业it系统的开发有着如下的要求:
3.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。市场要求业务规则经常变化,it系统必须依据业务规则的变化快速、低成本的更新。
4.为了快速、低成本的更新,业务人员应能直接管理it系统中的规则,不需要程序开发人员参与。
5.而项目开发人员则碰到了以下问题:
6.程序=算法+数据结构,有些复杂的商业规则很难推导出算法和抽象出数据模型。
7.软件工程要求从需求-》设计-》编码,然而业务规则常常在需求阶段可能还没有明确,在设计和编码后还在变化,业务规则往往嵌在系统各处代码中。
8.对程序员来说,系统已经维护、更新困难,更不可能让业务人员来管理。因此迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策。把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改从而提供软件系统的柔性和适应性。规则引擎正是应用于上述动态环境中的一种解决方法。
9.目前,基于计算机程序实现某种业务功能时,业务部门提出业务需求,开发人员基于业务需求进行程序开发,测试人员测试开发的程序,如果测试通过,再将程序发布上线。相关技术的业务功能开发难度比较大,涉及到的人员比较多,而且需要专业的程序开发和测试人员,业务功能开发周期也比较长。
10.鉴于这些问题,需要提出一种能够自动解析并且生成相应的功能以及表达式,根据业务逻辑组合各个表达式形成可执行的表达式对象,最终实现业务逻辑相应的业务功能,降低业务功能实现难度的实现方案。


技术实现要素:

11.为此,本发明实施例提供一种低代码业务脚本运行方法及引擎装置,以解决现有相关技术的业务功能开发难度比较大的技术问题。
12.为了实现上述目的,本发明提供如下技术方案:
13.本发明实施例提供的一种低代码业务脚本引擎装置,包括:
14.设置模块:用于针对业务场景,编写相应的业务规则,并将业务规则保存在规则库中;
15.触发模块:用于配置业务规则被触发的场景,包括基于数据行为的触发和定时调度触发;
16.存储模块:用于存储所述业务规则及配置信息;
17.执行模块:用于处理用户的计算请求,根据所所述业务规则进行业务数据的处理,包括业务规则编译器和业务规则执行器,
18.业务规则编译器:预先编译业务脚本编写的规则,针对终端用户请求需要短的响应时间的场景;
19.业务规则执行器:业务脚本编译后的执行模块,用于业务规则的计算。
20.其中,场景包括:前置条件检查、数据构建与保存、通知和业务逻辑处理。
21.数据行为触发源包括:按钮、数据变化、关系变化、流程步骤及其他业务脚本。
22.定时调度包括:单次执行计划和周期性执行计划。
23.本发明实施例还提供一种低代码业务脚本运行方法,包括:
24.针对业务场景,编写相应的业务规则,并存储所述业务规则及配置信息;
25.配置业务规则被触发的场景,触发源包括基于数据行为的触发和定时调度触发;
26.在当前业务场景,基于触发源触发调用业务脚本;
27.调用业务脚本:前置条件检查、数据入库前检查、数据构建与保存;
28.处理用户的计算请求,根据所述业务规则进行业务数据的处理:
29.预先编译业务脚本编写的规则,针对终端用户请求需要短的响应时间的场景,及业务脚本编译后进行业务规则的计算。
30.其中,调用业务脚本具体包括:
31.前置条件检查,用于检测后续脚本是否应该继续执行;或用于数据持久化时,阻止后续动作的触发;
32.数据入库前检查,数据入库前抛出异常,能保证数据不会入库;如果数据类有建立主键,阻止业务数据的重复录入;
33.数据构建与保存,业务脚本中新增数据和修改数据。
34.调用业务脚本还包括:发送通知信息,用于提醒事件的相关人员,其负责或关注的事件发生了变化。
35.其中,基于数据行为的触发包括:按钮、数据变化、关系变化、流程步骤及其他业务脚本;和/或,
36.定时调度触发为单次执行计划或周期性执行计划。
37.本发明提供了一种存储指令的计算机可读存储介质,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如前所述的低代码业务脚本执行方法。
38.本发明还提供了一种包括至少一个计算装置和存储指令的至少一个存储装置的系统,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如前所述的低代码业务脚本执行方法。
39.本发明实施例具有如下优点:
40.本发明提供的技术方案能够自动解析并且生成相应的功能以及表达式,根据业务逻辑组合各个表达式形成可执行的表达式对象,最终实现业务逻辑相应的业务功能,降低业务功能实现难度的实现方案。可明显缩短开发周期,并且,语法规则可配置为接近自然语言的高级语言,支持中文,熟悉语法规则的功能配置人员可以根据业务需求自行编写脚本,并支持在线调试。
附图说明
41.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其他的实施附图。
42.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
43.图1为本发明实施例提供的低代码业务脚本引擎装置架构示意图;
44.图2为本发明实施例提供的低代码业务脚本运行方法流程图;
45.图3为本发明实施例提供的低代码业务脚本执行方法及引擎装置处理步骤周期图;
46.图4为本发明实施例提供的低代码业务脚本执行方法及引擎装置监听ci类数据变化的界面;
47.图5为本发明实施例提供的低代码业务脚本编译器及在线调试的界面。
具体实施方式
48.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.参照图1,本发明实施例提供的一种低代码业务脚本引擎装置,包括:
50.设置模块10:用于针对业务场景,编写相应的业务规则,并将业务规则保存在规则库中;
51.触发模块20:用于配置业务规则被触发的场景,包括基于数据行为的触发和定时调度触发;
52.存储模块30:用于存储所述业务规则及配置信息;
53.执行模块40:用于处理用户的计算请求,根据所所述业务规则进行业务数据的处理,包括业务规则编译器和业务规则执行器,具体如下:
54.业务规则编译器40a:预先编译业务脚本编写的规则,针对终端用户请求需要短的响应时间的场景;
55.业务规则执行器40b:业务脚本编译后的执行模块,用于业务规则的计算。
56.通常的场景包括:前置条件检查、数据构建与保存、通知和业务逻辑处理。
57.数据行为触发源包括:按钮、数据变化、关系变化、流程步骤及其他业务脚本。
58.定时调度包括:单次执行计划和周期性执行计划。
59.参照图2,本发明提供的一种低代码业务脚本运行方法,包括:
60.s201,针对业务场景,编写相应的业务规则,并存储所述业务规则及配置信息;
61.s202,配置业务规则被触发的场景,触发源包括基于数据行为的触发和定时调度
触发;
62.s203,在当前业务场景,基于触发源触发调用业务脚本;
63.s204,调用业务脚本:前置条件检查、数据入库前检查、数据构建与保存;
64.s205,处理用户的计算请求,根据所述业务规则进行业务数据的处理:预先编译业务脚本编写的规则,针对终端用户请求需要短的响应时间的场景,及业务脚本编译后进行业务规则的计算。
65.其中,调用业务脚本具体包括:
66.前置条件检查,用于检测后续脚本是否应该继续执行;或用于数据持久化时,阻止后续动作的触发;
67.数据入库前检查,数据入库前抛出异常,能保证数据不会入库;如果数据类有建立主键,阻止业务数据的重复录入;
68.数据构建与保存,业务脚本中新增数据和修改数据。
69.调用业务脚本还包括:
70.发送通知信息,用于提醒事件的相关人员,其负责或关注的事件发生了变化。
71.其中,基于数据行为的触发包括:按钮、数据变化、关系变化、流程步骤及其他业务脚本;和/或,
72.定时调度触发为单次执行计划或周期性执行计划。
73.实施例
74.为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
75.图3所示为处理步骤周期图,触发源是调用低代码业务脚本的入口:用于配置业务逻辑规则被触发的场景,包括基于数据行为的触发和定时调度触发。数据行为触发源包括:按钮、数据变化、关系变化、流程步骤及其他业务脚本,
76.定时调度包括:单次执行计划和周期性执行计划;
77.在当前业务场景,基于触发源的触发调用业务脚本;
78.前置条件检查主要用于检测后续脚本是否应该继续执行。或用于数据持久化时,阻止后续动作的触发。比如:检查数据是否已存,在数据生成前,检查数据是否已经存在,避免多次生成数据。
79.数据入库前检查,数据入库前抛出异常,能保证数据不会入库。如果数据类有建立主键,也能阻止业务数据的重复录入。
80.数据构建与保存,业务脚本中做的多的事情项,就是新增数据和修改数据。比如:下发督查、督察状态反馈等。如会议记录数据初始化场景,这是在会议记录入库前(ci实例添加前),统一将“议定事项状态”字段改为“未下发”。这个状态的保存,由后台代码处理。
81.通知主要用于提醒事件的相关责任人,其负责或关注的事件有了变化。
82.图4示出了监听ci类数据变化界面,业务脚本在不同的使用场景下,有不同的内置变量。通过查看脚本内的变量,有时也能分辨脚本的使用场景。使用场景包含:ci数据变化、关系数据变化、调度计划、菜单-自定义按钮。
83.脚本内置变量包含:当前正在修改的ci对象、变化前的ci对象、当前正在修改的ci对象的class对象、当前触发的方法ci_add_pre、ci_add_post、ci_update_pre、ci_update_
post、ci_delete_pre、ci_delete_post、日志记录类,支持info、warn、error等日志级别、mongo数据库操作对象、系统的全局变量等。如图所示低代码业务脚本关联的位置,监听ci类的变化,在业务脚本编辑里面。
84.图5所示为业务脚本编辑器及在线调试的界面,业务脚本编辑器是低代码业务脚本编写的界面,支持21类2百多种函数并支持在线调试功能,业务脚本编辑器在线console功能。print和println打印日志,可以显示在编辑器右下方的显示框内。
85.业务脚本编辑器支持21类函数,包括:数学函数(mathutils)、日期时间函数(datetimeutils)、字符串函数(stringutils)、组织机构和用户函数(accountutils)、数据模型及操作函数(datamodelutils)、附件函数attachmentsutils、通知消息函数(notificationutils)、变量相关函数(variableutils)、工具函数(toolsutils)、缓存相关函数(cacheutils)、加密与解密相关函数(cryptionutils)、系统相关函数(sysutil)、脚本函数(scriptutils)、文档操作函数(documentutils)、jdbc函数jdbcutils、activemq函数(activemqutils)、json函数(jsonutils)、nlp函数(nlputils)、聊天组函数(chatgrouputils)、代码片段、代码片段jdbc等。
86.本发明实施例提供一种存储指令的计算机可读存储介质,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的低代码业务脚本执行方法。
87.本发明实施例还提供一种包括至少一个计算装置和存储指令的至少一个存储装置的系统,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的低代码业务脚本执行方法。
88.以上描述了本发明的示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1