CN117032668A - 可视化规则引擎的处理方法、装置、系统及平台 - Google Patents
可视化规则引擎的处理方法、装置、系统及平台 Download PDFInfo
- Publication number
- CN117032668A CN117032668A CN202310996098.XA CN202310996098A CN117032668A CN 117032668 A CN117032668 A CN 117032668A CN 202310996098 A CN202310996098 A CN 202310996098A CN 117032668 A CN117032668 A CN 117032668A
- Authority
- CN
- China
- Prior art keywords
- file
- operator
- rule engine
- elements
- operated
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 35
- 238000003672 processing method Methods 0.000 title abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims abstract description 14
- 238000012800 visualization Methods 0.000 claims description 32
- 230000002776 aggregation Effects 0.000 claims description 30
- 238000004220 aggregation Methods 0.000 claims description 30
- 238000001914 filtration Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 11
- 238000005111 flow chemistry technique Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 108091030087 Initiator element Proteins 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical 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/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种可视化规则引擎的处理方法、装置、系统及平台。该方法包括:响应于用户的新建操作,生成一个空的规则引擎文件;响应于用户针对多个算子元素和多个关系元素的可视化编排操作,并生成流向图,其中多个算子元素和多个关系元素是用户根据业务逻辑选择的;将流向图转化为预设格式的数据,并校验预设格式的数据;若校验成功,则根据流向图生成待编译文件;对待编译文件进行编译处理,得到最终的规则引擎文件。通过响应用户根据业务逻辑对多个算子元素和关系元素进行的可视化编排操作,生成流向图并进行一系列分析,得到最终的规则引擎文件,实现了代码层面业务逻辑的可视化编排,提高了处理规则引擎的效率。
Description
技术领域
本申请涉及规则引擎领域,尤其涉及一种可视化规则引擎的处理方法、装置、系统及平台。
背景技术
随着工业互联网时代的到来,物联网技术被广泛推广和应用。在物联网环境中,业务逻辑和规则经常调整和更新,可以通过规则引擎将业务逻辑和底层数据逻辑相解耦,使业务人员灵活地配置和调整物联网系统的行为。
现有技术中,主要通过分析规则条件,根据规则条件调用相应的功能函数触发执行规则和处理操作。
然而,现有技术这种规则引擎的处理方法仍会降低效率。
发明内容
本申请提供一种可视化规则引擎的处理方法、装置、系统及平台,用以解决处理规则引擎效率低的技术问题。
第一方面,本申请提供一种可视化规则引擎的处理方法,应用于计算机系统,包括:
响应于用户的新建操作,生成一个空的规则引擎文件。
响应于用户对所述空的规则引擎文件的触发操作,显示可编辑作业详情,其中所述可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能。
基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中所述多个算子元素和多个关系元素是用户根据业务逻辑选择的。
将所述流向图转化为预设格式的数据,并校验所述预设格式的数据。
若校验成功,则根据所述流向图生成待编译文件。
对所述待编译文件进行编译处理,得到最终的规则引擎文件。
可选地,如上所述的方法,所述基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,包括:根据各算子元素和各关系元素,确定节点和关系边,生成原始流向图;根据所述用户针对多个算子元素和多个关系元素的可视化编排操作,对所述原始流向图进行更新,生成所述流向图。
可选地,如上所述的方法,所述对所述待编译文件进行编译处理,得到最终的规则引擎文件之后,还包括:将所述最终的规则引擎文件上传至文件系统;将所述文件系统中所述最终的规则引擎文件下载至待运行目录,确定为待运行的规则引擎文件;将所述待运行的规则引擎文件发送至开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
可选地,如上所述的方法,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;相应地,将所述待运行的规则引擎文件发送至开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件,包括:将所述待运行的规则引擎文件发送至所述开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,对所述各类型的算子元素执行如下步骤以运行所述待运行的规则引擎文件:根据所述输入算子获取指定数据源;根据所述过滤算子确定过滤条件;根据所述聚合算子确定聚合运算;根据所述输出算子获取指定输出源。
可选地,如上所述的方法,所述根据所述流向图生成待编译文件,包括:根据所述流向图生成对应的代码文件,将所述代码文件确定为所述待编译文件。
第二方面,本申请提供一种可视化规则引擎的处理方法,应用于开源流式处理框架平台,包括:
接收计算机系统发送的所述待运行的规则引擎文件,其中所述待运行的规则引擎文件是计算机系统将所述最终的规则引擎文件上传至所述文件系统,并将所述文件系统中所述最终的规则引擎文件下载至待运行目录得到的。
调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
可选地,如上所述的方法,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;相应地,所述调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件,包括:根据所述输入算子获取指定数据源;根据所述过滤算子确定过滤条件;根据所述聚合算子确定聚合运算;根据所述输出算子获取指定输出源。
第三方面,一种可视化规则引擎的处理装置,应用于计算机系统,包括:
第一响应模块,用于响应于用户的新建操作,生成一个空的规则引擎文件。
第二响应模块,用于响应于用户对所述空的规则引擎文件的触发操作,显示可编辑作业详情,其中所述可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能。
第一生成模块,用于基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中所述多个算子元素和多个关系元素是用户根据业务逻辑选择的。
校验模块,用于将所述流向图转化为预设格式的数据,并校验所述预设格式的数据。
第二生成模块,用于若校验成功,则根据所述流向图生成待编译文件。
编译模块,用于对所述待编译文件进行编译处理,得到最终的规则引擎文件。
第四方面,一种可视化规则引擎的处理装置,应用于开源流式处理框架平台,包括:
接收模块,用于接收计算机系统发送的所述待运行的规则引擎文件,其中所述待运行的规则引擎文件是计算机系统将所述最终的规则引擎文件上传至所述文件系统,并将所述文件系统中所述最终的规则引擎文件下载至待运行目录得到的。
运行模块,用于调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
第五方面,本申请提供一种计算机系统,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的可视化规则引擎的处理方法。
第六方面,本申请提供一种开源流式处理框架平台,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的可视化规则引擎的处理方法。
第七方面,本申请提供一种计算机存储介质,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的可视化规则引擎的处理方法。
第八方面,本申请提供一种计算机存储介质,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的可视化规则引擎的处理方法。
本申请提供的可视化规则引擎的处理方法、装置、系统及平台,通过响应用户根据业务逻辑对多个算子元素和关系元素进行的可视化编排操作,生成流向图并进行一系列分析,得到最终的规则引擎文件,实现了代码层面业务逻辑的可视化编排;通过将最终的规则引擎文件上传至文件系统,从文件系统中将最终的规则引擎文件下载至待运行的目录下,并将待运行的规则引擎文件发送至开源流式处理框架平台。在多微服务场景下,确保了在运行环境中有待运行的规则引擎文件,以使每次调用启用接口都是最新编译过的规则引擎文件,避免了频繁更新编译规则引擎文件,从而提高了处理规则引擎文件的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的可视化规则引擎的处理方法的应用场景示意图;
图2为本申请一个实施例提供的可视化规则引擎的处理方法流程示意图;
图3为本申请另一个实施例提供的可视化规则引擎的处理方法流程示意图;
图4为本申请一个实施例提供的可视化规则引擎的处理装置的结构示意图;
图5为本申请另一个实施例提供的可视化规则引擎的处理装置的结构示意图;
图6为本申请一个实施例提供的计算机系统的硬件结构示意图;
图7为本申请一个实施例提供的开源流式处理框架平台的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着工业互联网时代的到来,物联网技术被广泛推广和应用。在物联网环境中,业务逻辑和规则经常调整和更新,可以通过规则引擎将业务逻辑和底层数据逻辑相解耦,使业务人员灵活地配置和调整物联网系统的行为。现有技术中,主要通过分析规则条件,根据规则条件调用相应的功能函数触发执行规则和处理操作,需要根据执行操作和处理操作后的结果才能确定是否实现了相应的业务逻辑,降低了效率。
为了解决上述问题,本申请实施例提出以下技术思路:考虑到需要根据执行操作和处理操作后的结果才能确定是否实现了相应的业务逻辑,想到了由用户自定义规则和配置操作,通过响应用户的新建操作、可视化编排操作和触发操作,生成流向图,经过一系列分析得到可运行的规则引擎文件,实现了代码层面业务逻辑的可视化编排,提高了效率。
本申请提供的可视化规则引擎的处理方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的可视化规则引擎的处理方法的场景示意图。如图1所示,本实施例提供的系统包括,包括:计算机系统10、文件系统20和开源流式处理框架平台30。
其中,计算机系统10,包括:接收装置101、处理器102和输出装置103。
可以理解的是,本申请实施例示意的结构并不构成对物品识别方法的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
在具体实现过程中,接收装置101可以是输入/输出接口,也可以是通信接口,可以获取用户的新建操作、可视化编排操作和触发操作。
处理器102,可以对用户的新建操作、可视化编排操作和触发操作进行处理,以确定最终的规则引擎文件。
显示装置103可以用于对上述最终的规则引擎文件进行显示。
显示装置还可以是触摸显示屏,用于在显示的上述内容的同时接收用户的新建操作、可视化编排操作和触发操作,以实现与用户的交互。
应理解,上述处理器可以通过处理器读取存储器中的指令并执行指令的方式实现,也可以通过芯片电路实现。
另外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
其中,文件系统20,用于接收计算机系统上传的最终的规则引擎文件。
其中,开源流式处理框架平台30,用于接收计算机系统发送的待运行的规则引擎文件,待运行的规则引擎文件是计算机系统将文件系统中最终的规则引擎文件下载至待运行目录得到的。
实施例一
图2为本申请一个实施例提供的可视化规则引擎的处理方法流程示意图,本实施例的执行主体可以为图1所示实施例中的计算机系统10,本实施例此处不做特别限制。如图2所示,该方法包括:
S201:响应于用户的新建操作,生成一个空的规则引擎文件。
其中,规则引擎文件包括了用户自定义的规则和配置操作,用于描述和管理规则引擎的行为和规则,以便在运行时进行决策和运行。
具体地,接收装置接收到用户的新建操作后,处理器响应用户的新建操作,生成一个空的规则引擎文件。
具体地,还可以响应于用户对空的规则引擎文件的命名、描述、修改和删除等操作,对空的规则引擎文件进行命名、描述、修改和删除等处理。
S202:响应于用户对空的规则引擎文件的触发操作,显示可编辑作业详情,其中可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能。
其中,各类型的算子元素包括输入算子、过滤算子、聚合算子、输出算子。输入算子的参数包括产品key和设备key,用于对数据源的消息过滤。过滤算子的参数包括操作符、过滤器、属性域、过滤值类型和过滤值。聚合算子的参数包括时间窗口、滑动窗口步长和分组;其中分组为数组类型,单个分组对象包括名称、属性域、输出名、输出域和分组类型;其中分组类型包括各种聚合方法。输出算子的参数包括数据库名称、数据表名称和数据表;其中数据表是数组类型,单个数据表对象包括名称、属性域、输出名、输出域和属性数据类型。
各类型的算子元素都有唯一标识code、节点类型nodeType以及其他相应节点类型的属性;每个关系元素都包括一个起始算子元素的preNodeCode和一个结束算子元素的postNodeCode,表示起始算子元素和结束算子元素的连接关系;起始算子元素没有preNodeCode,或者preNodeCode的值为0。
各类型的算子元素提供可拓展的类型,节点类型nodeType包括前缀和后缀。前缀为算子父类型,示例性地,前缀“INPUT”表示输入父算子、前缀“OUTPUT”表示输出父算子、前缀“FILTER”表示过滤父算子和前缀“AGG”表示聚合父算子;后缀为四位数字,范围为0001-9999,标识子算子类型。
各类型的算子元素中还包括名称提示信息,输入域、输出域和归属于不同节点类型的参数集。其中,输入域用于标识需要对输入进行过滤的属性;输出域用于标识输出到的具体属性名。
示例性地,“INPUT-0001”可以表示输入源为kafka消息队列,“INPUT-0002”可以表示输入源为pulsar消息队列。
其中,各类型的关系元素为各类型的算子元素之间的连接关系;触发操作为用户点击空的规则引擎文件的操作。
S203:基于可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中多个算子元素和多个关系元素是用户根据业务逻辑选择的。
其中,流向图是一种图形化表示算法、流程或系统的工具,使用不同的符号和箭头来表示不同的步骤、决策和流程控制,能够清晰地展示出程序或流程中各个部分之间的关系和流动。
具体地,步骤S203包括S2031~S2032:
S2031:根据各算子元素和各关系元素,确定节点和关系边,生成原始流向图。
具体地,根据各算子元素的标识确定流向图中的各节点,根据各算子元素之间的连接关系确定流向图中各节点之间的关系边,根据各节点和各节点之间关系边确定原始流向图。
S2032:根据用户针对多个算子元素和多个关系元素的可视化编排操作,对原始流向图进行更新,生成流向图。
具体地,根据用户对各算子元素和各关系元素的拖、拉和拽,识别出原始流向图中发生位置变化的各算子元素和各关系元素对应的各节点和各关系边;根据各节点和各关系边的位置变化参数更新原始流向图,生成流向图。
S204:将流向图转化为预设格式的数据,并校验预设格式的数据。
可选地,预设格式的数据为JSON格式的数据。
具体地,使用org.json库进行处理,创建一个JSONObject表示整个图形信息,使用JSONArray分别存储各节点的信息和各关系边的信息。遍历流向图,提取各节点的属性和各关系边的属性,将提取到的信息添加到所创建的JSONObject中,以实现将流向图转化为JSON格式的数据。
具体地,使用编程语言中的JSON库对JSON格式的数据进行解析,根据解析得到的数据构建一个图数据结构,使用遍历算法校验是否存在环路,一个完整合法的流向图是一个有向无环图,且符合有向无环的所有约束;可选地,图数据结构可以为邻接表,也可以为邻接矩阵;遍历算法可以为深度优先搜索算法,也可以为广度优先搜索算法。
具体地,若校验失败,则需要用户对空的规则引擎文件进行编辑操作,重新响应于用户对多个算子元素和多个关系元素的一系列操作,生成流向图并转为JSON格式的数据,直至校验成功。
S205:若校验成功,则根据流向图生成待编译文件。
具体地,若校验成功,则将用户操作编辑后的规则引擎文件信息保存至数据库。定义一个数据结构用于表示流向图中的各节点和各关系边,解析流向图并构建各节点的集合和各关系边的集合,使用模板引擎生成代码文件,将代码文件作为待编译文件。
S206:对待编译文件进行编译处理,得到最终的规则引擎文件。
其中,编译处理为将待编译文件转换为可以在目标平台上执行的机器代码或字节码,以便平台可以理解和执行代码。
具体地,使用编译器对待编译文件进行编译,得到class文件,对class文件进行打包处理,得到规则引擎jar文件。
从上述实施例描述可知,通过响应用户根据业务逻辑对多个算子元素和关系元素进行的可视化编排操作,生成流向图并进行一系列分析,得到最终的规则引擎文件,实现了代码层面业务逻辑的可视化编排,提高了处理规则引擎的效率。
在本申请的一个实施例中,在图2实施例的基础上,在步骤S206之后,还包括对最终的规则引擎的处理过程,详述如下:
S207:将最终的规则引擎文件上传至文件系统。
其中,文件系统是一种组织和管理计算机存储设备上文件和目录的方式。
可选地,文件系统可以为Apache Hadoop生态系统中的分布式文件系统(HadoopDistributed File System,HDFS)。
S208:将文件系统中最终的规则引擎文件下载至待运行目录,确定为待运行的规则引擎文件。
其中,待运行目录为目标运行环境中的目录。
S209:将待运行的规则引擎文件发送至开源流式处理框架平台,以使开源流式处理框架平台调用启用接口,根据各类型的算子元素运行待运行的规则引擎文件。
其中,开源流式处理框架平台支持低延迟和高吞吐量的数据流处理。可选地,开源流式处理框架平台可以为Apache Flink。
具体地,将待运行的规则引擎文件发送至开源流式处理框架平台,以使开源流式处理框架平台调用启用接口,对各类型的算子元素执行如下步骤以运行待运行的规则引擎文件:根述输入算子获取指定数据源;根据过滤算子确定过滤条件;根据聚合算子确定聚合运算;根据输出算子获取指定输出源。
具体地,可以通过调用Apache Flink的应用程序编程接口,将待运行的规则引擎文件发送至Apache Flink;调用启用接口后,独立启用一个数据处理任务,并对待运行的规则引擎文件进行独立运行。可选地,可以使用Apache Flink的session模式。在运行过程中,用户不可以进行新建操作、可视化编排操作和触发操作,需要先取消运行状态,再响应用户编辑操作后的新建操作、可视化编排操作和触发操作,以使每次运行均为最新的规则引擎jar文件。
具体地,在调用启用接口后,也可以停止运行,停止运行后规则引擎文件会失效。可选地,可以通过命令取消运行。
从上述实施例描述可知,通过将最终的规则引擎文件上传至文件系统,从文件系统中将最终的规则引擎文件下载至待运行的目录下,并将待运行的规则引擎文件发送至开源流式处理框架平台。在多微服务场景下,确保了在运行环境中有待运行的规则引擎文件,以使每次调用启用接口都是最新编译过的规则引擎文件,避免了频繁更新编译规则引擎文件,从而提高了处理规则引擎文件的效率。
实施例二
图3为本申请另一个实施例提供的可视化规则引擎的处理方法流程示意图,本实施例的执行主体可以为图1所示实施例中的开源流式处理框架平台,也可以是其他开源流式处理框架平台,本实施例此处不做特别的限制。如图3所示,该方法包括:
S301:接收计算机系统发送的待运行的规则引擎文件,其中待运行的规则引擎文件是计算机系统将最终的规则引擎文件上传至文件系统,并将文件系统中最终的规则引擎文件下载至待运行目录得到的。
S302:调用启用接口,根据各类型的算子元素运行待运行的规则引擎文件。
其中,各类型的算子元素包括输入算子、过滤算子、聚合算子、输出算子。输入算子的参数包括产品key和设备key,用于对数据源的消息过滤。过滤算子的参数包括操作符、过滤器、属性域、过滤值类型和过滤值;聚合算子的参数包括时间窗口、滑动窗口步长和分组;其中分组为数组类型,单个分组对象包括名称、属性域、输出名、输出域和分组类型;其中分组类型包括各种聚合方法。输出算子的参数包括数据库名称、数据表名称和数据表;其中数据表是数组类型,单个数据表对象包括名称、属性域、输出名、输出域和属性数据类型。
具体地,根据各类型的算子元素运行待运行的规则引擎文件的具体过程为:
根据输入算子获取指定数据源;
根据过滤算子确定过滤条件;
根据聚合算子确定聚合运算;
根据输出算子获取指定输出源。
其中,根据输入算子的参数获取指定数据源,根据产品key和设备key对数据源的消息进行过滤,根据过滤算子的参数确定过滤条件,根据聚合算子的聚合函数类型和聚合属性确定需要进行的聚合运算,经过一系列处理后,根据输出算子的参数将数据输出至指定输出源;可选地,数据源可以为kafka;输出源可以为kafka。
具体地,在调用启用接口前,需要确保已经启动Flink集群。
示例性地,过滤算子可以增加温度>35&&湿度<60的筛选条件;聚合算子可以对指定属性进行SUM、AVG、MIN和MAX等聚合运算。
从上述实施例描述可知,通过开源流式处理框架平台运行规则引擎文件,根据不同类型的算子元素进行不同的处理,提高了针对用户动态编排场景下的规则引擎文件管理的高效性。
图4为本申请一个实施例提供的可视化规则引擎的处理装置的结构示意图。如图4所示,该可视化规则引擎的处理装置包括:第一响应模块401、第二响应模块402、第一生成模块403、校验模块404、第二生成模块405和编译模块406。
第一响应模块401,用于响应于用户的新建操作,生成一个空的规则引擎文件;
第二响应模块402,用于响应于用户对所述空的规则引擎文件的触发操作,显示可编辑作业详情,其中所述可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能;
第一生成模块403,用于基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中所述多个算子元素和多个关系元素是用户根据业务逻辑选择的;
校验模块404,用于将所述流向图转化为预设格式的数据,并校验所述预设格式的数据;
第二生成模块405,用于若校验成功,则根据所述流向图生成待编译文件;
编译模块406,用于对所述待编译文件进行编译处理,得到最终的规则引擎文件。
在一种可能的设计中,所述第一生成模块403,具体用于:根据各算子元素和各关系元素,确定节点和关系边,生成原始流向图;根据所述用户针对多个算子元素和多个关系元素的可视化编排操作,对所述原始流向图进行更新,生成所述流向图。
在一种可能的设计中,所述装置还包括:
上传模块407,用于将所述最终的规则引擎文件上传至文件系统;
下载模块408,用于将所述文件系统中所述最终的规则引擎文件下载至待运行目录,确定为待运行的规则引擎文件;
发送模块409,用于将所述待运行的规则引擎文件发送至开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
在一种可能的设计中,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;所述发送模块409,具体用于:将所述待运行的规则引擎文件发送至所述开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,对所述各类型的算子元素执行如下步骤以运行所述待运行的规则引擎文件:根据所述输入算子获取指定数据源;根据所述过滤算子确定过滤条件;根据所述聚合算子确定聚合运算;根据所述输出算子获取指定输出源。
在一种可能的设计中,所述第二生成模块405,具体用于:根据所述流向图生成对应的代码文件,将所述代码文件确定为所述待编译文件。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本申请另一个实施例提供的可视化规则引擎的处理装置的结构示意图。如图5所示,该可视化规则引擎的处理装置包括:接收模块501和运行模块502。
接收模块501,用于接收计算机系统发送的所述待运行的规则引擎文件,其中所述待运行的规则引擎文件是计算机系统将所述最终的规则引擎文件上传至所述文件系统,并将所述文件系统中所述最终的规则引擎文件下载至待运行目录得到的;
运行模块502,用于调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
在一种可能的设计中,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;所述运行模块502,具体用于:根据所述输入算子获取指定数据源;根据所述过滤算子确定过滤条件;根据所述聚合算子确定聚合运算;根据所述输出算子获取指定输出源。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本申请一个实施例提供的计算机系统的硬件结构示意图。如图6所示,本实施例的计算机系统包括:至少一个处理器601和存储器602;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上的可视化规则引擎的处理方法。
可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
当存储器602独立设置时,该计算机系统还包括总线603,用于连接所述存储器602和处理器601。
图7本申请一个实施例提供的开源流式处理框架平台的硬件结构示意图。如图7所示,本实施例的开源流式处理框架平台包括:至少一个处理器701和存储器702;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上的可视化规则引擎的处理方法。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
当存储器702独立设置时,该开源流式处理框架平台还包括总线703,用于连接所述存储器702和处理器701。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的可视化规则引擎的处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的可视化规则引擎的处理方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种可视化规则引擎的处理方法,其特征在于,应用于计算机系统,包括:
响应于用户的新建操作,生成一个空的规则引擎文件;
响应于用户对所述空的规则引擎文件的触发操作,显示可编辑作业详情,其中所述可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能;
基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中所述多个算子元素和多个关系元素是用户根据业务逻辑选择的;
将所述流向图转化为预设格式的数据,并校验所述预设格式的数据;
若校验成功,则根据所述流向图生成待编译文件;
对所述待编译文件进行编译处理,得到最终的规则引擎文件。
2.根据权利要求1所述的方法,其特征在于,所述基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,包括:
根据各算子元素和各关系元素,确定节点和关系边,生成原始流向图;
根据所述用户针对多个算子元素和多个关系元素的可视化编排操作,对所述原始流向图进行更新,生成所述流向图。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述对所述待编译文件进行编译处理,得到最终的规则引擎文件之后,还包括:
将所述最终的规则引擎文件上传至文件系统;
将所述文件系统中所述最终的规则引擎文件下载至待运行目录,确定为待运行的规则引擎文件;
将所述待运行的规则引擎文件发送至开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
4.根据权利要求3所述的方法,其特征在于,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;
相应地,将所述待运行的规则引擎文件发送至开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件,包括:
将所述待运行的规则引擎文件发送至所述开源流式处理框架平台,以使所述开源流式处理框架平台调用启用接口,对所述各类型的算子元素执行如下步骤以运行所述待运行的规则引擎文件:根据所述输入算子获取指定数据源;根据所述过滤算子确定过滤条件;根据所述聚合算子确定聚合运算;根据所述输出算子获取指定输出源。
5.根据权利要求1所述的方法,其特征在于,所述根据所述流向图生成待编译文件,包括:
根据所述流向图生成对应的代码文件,将所述代码文件确定为所述待编译文件。
6.一种可视化规则引擎的处理方法,其特征在于,应用于开源流式处理框架平台,包括:
接收计算机系统发送的所述待运行的规则引擎文件,其中所述待运行的规则引擎文件是计算机系统将所述最终的规则引擎文件上传至所述文件系统,并将所述文件系统中所述最终的规则引擎文件下载至待运行目录得到的;
调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
7.根据权利要求6所述的方法,其特征在于,所述各类型的算子元素包括输入算子、过滤算子、聚合算子和输出算子;
相应地,所述调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件,包括:
根据所述输入算子获取指定数据源;
根据所述过滤算子确定过滤条件;
根据所述聚合算子确定聚合运算;
根据所述输出算子获取指定输出源。
8.一种可视化规则引擎的处理装置,其特征在于,应用于计算机系统,包括:
第一响应模块,用于响应于用户的新建操作,生成一个空的规则引擎文件;
第二响应模块,用于响应于用户对所述空的规则引擎文件的触发操作,显示可编辑作业详情,其中所述可编辑作业详情中包括针对各类型的算子元素和各类型的关系元素提供的可视化编排操作功能;
第一生成模块,用于基于所述可编辑作业详情,响应于用户针对多个算子元素和多个关系元素的可视化编排操作,生成流向图,其中所述多个算子元素和多个关系元素是用户根据业务逻辑选择的;
校验模块,用于将所述流向图转化为预设格式的数据,并校验所述预设格式的数据;
第二生成模块,用于若校验成功,则根据所述流向图生成待编译文件;
编译模块,用于对所述待编译文件进行编译处理,得到最终的规则引擎文件。
9.一种可视化规则引擎的处理装置,其特征在于,应用于开源流式处理框架平台,包括:
接收模块,用于接收计算机系统发送的所述待运行的规则引擎文件,其中所述待运行的规则引擎文件是计算机系统将所述最终的规则引擎文件上传至所述文件系统,并将所述文件系统中所述最终的规则引擎文件下载至待运行目录得到的;
运行模块,用于调用启用接口,根据所述各类型的算子元素运行所述待运行的规则引擎文件。
10.一种计算机系统,其特征在于,包括:
至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的可视化规则引擎的处理方法。
11.一种开源流式处理框架平台,其特征在于,包括:
至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求6至7任一项所述的可视化规则引擎的处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的可视化规则引擎的处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求6至7任一项所述的可视化规则引擎的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996098.XA CN117032668A (zh) | 2023-08-08 | 2023-08-08 | 可视化规则引擎的处理方法、装置、系统及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310996098.XA CN117032668A (zh) | 2023-08-08 | 2023-08-08 | 可视化规则引擎的处理方法、装置、系统及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032668A true CN117032668A (zh) | 2023-11-10 |
Family
ID=88631108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310996098.XA Pending CN117032668A (zh) | 2023-08-08 | 2023-08-08 | 可视化规则引擎的处理方法、装置、系统及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032668A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389541A (zh) * | 2023-12-13 | 2024-01-12 | 中国人民解放军国防科技大学 | 基于对话检索生成模板的配置系统及设备 |
CN117743398A (zh) * | 2023-12-15 | 2024-03-22 | 智人开源(北京)科技有限公司 | 一种在流数据库中基于规则的实时决策及数据处理方法 |
-
2023
- 2023-08-08 CN CN202310996098.XA patent/CN117032668A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389541A (zh) * | 2023-12-13 | 2024-01-12 | 中国人民解放军国防科技大学 | 基于对话检索生成模板的配置系统及设备 |
CN117389541B (zh) * | 2023-12-13 | 2024-02-23 | 中国人民解放军国防科技大学 | 基于对话检索生成模板的配置系统及设备 |
CN117743398A (zh) * | 2023-12-15 | 2024-03-22 | 智人开源(北京)科技有限公司 | 一种在流数据库中基于规则的实时决策及数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
US20210173696A1 (en) | Design-time information based on run-time artifacts in a distributed computing cluster | |
CN117032668A (zh) | 可视化规则引擎的处理方法、装置、系统及平台 | |
US20190188308A1 (en) | Computing data lineage across a network of heterogeneous systems | |
WO2018126964A1 (zh) | 任务执行方法、装置和服务器 | |
CN104484216A (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN109669976B (zh) | 基于etl的数据服务方法及设备 | |
CN113986241B (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
CN115017182A (zh) | 一种可视化的数据分析方法及设备 | |
CN112287114A (zh) | 一种知识图谱服务处理方法和装置 | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN112861059A (zh) | 可视化组件生成方法、装置、计算机设备及可读存储介质 | |
Kim et al. | Comprehensive Knowledge Archive Network harvester improvement for efficient open‐data collection and management | |
CN115756433A (zh) | 代码平台的迁移方法、装置、电子设备及可读存储介质 | |
KR20150136734A (ko) | 데이터 병렬 추론 방법 및 장치 | |
Baldassari et al. | PROTOB a hierarchical object-oriented CASE tool for distributed systems | |
Cao et al. | Constraint-based multi-tenant SaaS deployment using feature modeling and XML filtering techniques | |
US10452592B1 (en) | Message bus-based streaming rules engine | |
CN112181409A (zh) | 一种应用构建方法、应用渲染方法及装置 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN116185357A (zh) | 基于多架构建模语言的元模型构建方法、装置及系统 | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
JP6802109B2 (ja) | ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法 | |
CN117032650A (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 |