CN116450305B - 基于分布式任务调度的soar平台组件执行方法与装置 - Google Patents
基于分布式任务调度的soar平台组件执行方法与装置 Download PDFInfo
- Publication number
- CN116450305B CN116450305B CN202310714584.8A CN202310714584A CN116450305B CN 116450305 B CN116450305 B CN 116450305B CN 202310714584 A CN202310714584 A CN 202310714584A CN 116450305 B CN116450305 B CN 116450305B
- Authority
- CN
- China
- Prior art keywords
- execution
- component
- code
- sub
- executing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 238000013515 script Methods 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 6
- 238000005530 etching Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 9
- 230000036541 health Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/465—Distributed object oriented systems
-
- 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/461—Saving or restoring of program or task context
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例涉及安全自动化与响应技术领域,本申请提供一种基于分布式任务调度的SOAR平台组件执行方法与装置,所述方法包括:获取第一组件子代码,第一组件子代码为组件的组成部分;对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象。本申请实施例使得SOAR平台具备横向扩展能力,提升平台吞吐能力,避免平台单节点故障风险。
Description
技术领域
本申请各实施例属安全自动化与响应技术领域,尤其涉及一种基于分布式任务调度的SOAR平台组件执行方法与装置。
背景技术
SOAR(Security Orchestration Automation and Response:安全自动化与响应)平台是一种集成了安全工具、技术和流程的安全工具集,旨在通过自动化响应流程,提高安全团队的效率和响应速度。SOAR平台可以帮助安全团队快速发现、识别、调查和解决安全事件,同时还可以帮助企业实现持续的安全监控和风险管理。SOAR平台的核心是规则剧本引擎与组件执行系统。其中,规则剧本引擎是安全运营流程的图形化编程表述,构成规则剧本的基本元素是组件,具体的安全动作由组件完成。一个组件包含子程序代码、用户定义的输入规范以及内部环境变量等。另外,组件执行系统主要是预先将组件子程序导入内存,并与用户定义形参及其他固定输入值绑定,建立组件代码映射表,在运行时于主线程读取用户实参并执行组件子程序,执行完成后上报执行结果至规则剧本引擎。目前,多数SOAR平台组件执行系统采用单进程架构,即接收到剧本规则引擎的执行命令与用户实参后,在进程内以同步形式直接执行组件对应子程序代码。单进程架构的SOAR平台组件执行系统通常缺乏横向扩展能力,吞吐能力受限,且存在单节点故障风险,同时,也不具备对待执行组件子程序的动态停止和健康判断等实时交互能力。
综上所述,现有安全自动化与响应技术存在缺乏横向扩展能力,吞吐能力受限,具有单节点故障风险,不具备对待执行组件子程序的动态停止和健康判断等实时交互能力的技术问题。
申请内容
针对上述现有技术存在的不足,本申请提供一种基于分布式任务调度的SOAR平台组件执行方法与装置,以使得SOAR平台具备横向扩展能力,提升平台吞吐能力,避免平台单节点故障风险,让SOAR平台具备对待执行组件子程序进行动态停止和健康判断的实时交互能力。
第一方面,本申请提供一种基于分布式任务调度的SOAR平台组件执行方法,所述分布式任务调度平台包括多个执行工作单元,所述方法包括以下步骤:
获取第一组件子代码,第一组件子代码为组件的组成部分;
对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;
根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象。
作为本申请一优选实施例,所述获取第一组件子代码,包括:
通过规则剧本执行引擎同步第二组件子代码及第二组件子代码执行参数至通信器,通过所述通信器建立组件子代码映射表;
通过所述规则剧本执行引擎获取所述组件子代码映射表;
所述通信器获取规则剧本执行引擎下发的组件执行任务与组件执行任务的运行参数;所述通信器根据所述组件的名称及所述组件子代码映射表取出组件子代码。
作为本申请一优选实施例,所述通信器根据所述组件的名称及所述组件子代码映射表取出组件子代码,包括:
所述通信器根据所述组件的名称从所述组件子代码映射表获取第一组件子代码的存储位置,根据所述第一组件子代码的存储位置从存储器中取出组件子代码。
作为本申请一优选实施例,所述方法还包括:
如果所述通信器根据组件的名称从组件代码映射表中未取出第一组件子代码,则所述通信器发送未取出第一组件子代码的信息至所述规则剧本执行引擎。
作为本申请一优选实施例,将所述执行对象分布于执行工作单元的子程序以执行所述执行对象之前,包括:
所述执行工作单元的子程序从编排器中的Redis任务队列获取所述通信器下发的执行对象。
作为本申请一优选实施例,根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象,包括:
多个所述执行工作单元中包括主进程和通过所述主进程复刻的至少一个子进程;
多个所述执行工作单元的子进程运行情况包括:每个所述执行工作单元中的子程序均未完成执行所述执行对象;部分所述工作单元中的子程序已完成执行所述执行对象;
当所述每个所述执行工作单元中的子程序均未完成执行执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象时长较短的子程序;
当部分所述工作单元中的子程序已完成执行所述执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象数量较多的子程序。
作为本申请一优选实施例,所述通过所述主进程复刻至少一个子进程,包括:
所述执行工作器通过操作系统调用方式复刻子进程,通过复刻子进程复制执行工作单元中的主进程的全局变量后,获得至少一个子进程。
作为本申请一优选实施例,所述将所述执行对象分配至执行工作单元的子程序以执行所述执行对象之后,包括:
每个所述执行工作单元中存在一检查子程序;
每个所述执行工作单元通过所述检查子进程以预设周期循环检查所述执行工作单元的子程序是否正常运行,如果所述执行工作单元中存在的子进程未正常运行,则所述执行工作单元将子进程的异常状态日志上报至日志存储系统,并自动删除子进程。
作为本申请一优选实施例,所述将所述执行对象分布于执行工作单元的子程序以执行所述执行对象之后,包括:
所述执行工作单元判断所述执行工作单元的子进程是否执行所述执行对象失败;
如果所述执行工作单元的子进程执行所述执行对象失败,则根据设定的重复执行任务次数重复执行所执行对象;如果根据设定的重复执行次数重复执行所述执行对象后仍执行失败,则上报执行所述执行对象任务失败日志至日志存储系统。
作为本申请一优选实施例,所述方法包括:
在所述执行工作单元的子进程执行任务过程中,所述规则剧本执行引擎向所述执行工作单元下发的停止信号以停止所述执行工作单元中的子进程。
与现有技术相比,第一方面本申请提供一种基于分布式任务调度的SOAR平台组件执行方法与装置,所述方法包括获取第一组件子代码,第一组件子代码为组件的组成部分;对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象。本申请实施例使得SOAR平台具备横向扩展能力,提升平台吞吐能力,避免平台单节点故障风险。
第二方面,本申请实施例还提供了一种基于分布式任务调度的SOAR平台组件执行装置,包括:所述分布式任务调度平台包括多个执行工作单元,所述装置包括:
获取单元,用于获取第一组件子代码,第一组件子代码为组件的组成部分;
处理单元,用于对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;
执行单元,用于根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分布于执行工作单元的子程序以执行所述执行对象。
与现有技术相比,本申请实施例提供了一种基于分布式任务调度的SOAR平台组件执行装置的有益效果与本申请相同,在此不再赘述。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:
图1是本申请基于分布式任务调度的SOAR平台组件执行方法的流程示意图;
图2是本申请基于分布式任务调度的SOAR平台组件执行方法的通信过程示意图;
图3是本申请基于分布式任务调度的SOAR平台组件执行装置的一种架构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1和图2所示,本实施例提供一种基于分布式任务调度的SOAR平台组件执行方法,所述分布式任务调度平台包括多个执行工作单元,该基于分布式任务调度的SOAR平台组件执行方法包括以下步骤:
步骤S101,获取第一组件子代码,第一组件子代码为组件的组成部分;
步骤S101具体包括:
通过规则剧本执行引擎同步组件子代码及组件子代码执行参数至通信器,通过所述通信器建立组件子代码映射表;
通过所述规则剧本执行引擎获取所述组件子代码映射表;
所述通信器获取规则剧本执行引擎下发组件执行任务与组件执行任务运行参数;所述通信器根据所述组件的名称及所述组件子代码映射表取出组件子代码。
需要说明的是,本实施例提供的基于分布式任务调度的SOAR平台组件执行方法可以运行在基于分布式任务调度的SOAR系统,基于分布式任务调度的SOAR系统包括规则剧本引擎和组件执行平台。规则剧本引擎与组件执行平台进行通信。组件执行平台可以包括通信器、编排器、多个执行工作单元以及日志储存模块等。
具体的,通过通信器可以建立组件子代码映射表,也可以直接在规则剧本执行引擎上建立组件子代码映射表,建立组件子代码映射表主要是获取组件子代码和组件子代码执行参数并建立其之间的映射关系,通过建立组件子代码映射表主要是为了方便获取组件子代码。
由于组件子代码存在在特定的存储器中,所以通信器需要根据所述组件子代码的存储位置从存储器中取出组件子代码。
在一些实施例中,如果所述通信器根据组件的名称从组件代码映射表中未取出组件子代码,则所述通信器发送未取出组件子代码信息至所述规则剧本执行引擎,以便所述规则剧本执行引擎确定其发送待执行组件是否正确。
基于分布式任务调度的SOAR系统获取组件子代码,组件子代码为组件的组成部分,组件为规则剧本的组成部分,规则剧本通过规则剧本引擎进行解析。其中,在SOAR系统中,组件是指SOAR平台中的不同模块或工具,这些模块或工具可以协同工作来实现安全运营自动化和响应。SOAR系统中的组件有多种类型。例如,用于从各种来源(如互联网、社交媒体等)收集情报,以帮助安全团队了解可能的威胁的情报收集组件。又如,用于接收来自不同来源的安全事件,并根据其重要性对其进行分类和排序的事件管理组件等。另外,组件子代码是指用于描述SOAR模型中各个组件的计算机程序代码,这些组件通常包括生产规则、工作记忆、工作记忆元素、决策、子目标等。组件子代码通常由LISP语言编写,它们实现了SOAR模型中的各个组件所需的特定功能,例如产生新的工作记忆元素、匹配生产规则、执行动作等。
步骤S102,对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;
需要说明的是,规则剧本引擎初始化过程中,会将当前系统中的组件子代码、用户定义的输入规范、组件环境变量等发送至通信器,通信器会将组件子代码进行二进制处理,并在内存建立组件子代码映射表。
剧本规则引擎运作过程中,解释到某一组件时,会下发执行命令与组件子程序实参。通信器收到执行命令后,从组件代码映射表中取出组件子代码段进行二进制处理,连同组件子程序实参封装成执行对象,将组件执行对象发送到编排器。
多个执行工作单元可以通过通信器、编排器等与规则剧本引擎通信,并将执行日志和结果上传至日志储存模块储存。通信器连接上游的规则剧本执行引擎,主要负责预加载组件对应代码、建立组件子程序映射表、解析请求载荷、序列化组件单次任务的输入参数等。通信器通过HTTP协议与规则剧本引擎通信,传输数据格式为JSON,使用FastAPI作为后端框架。
还需要说明的是,编排器主要负责分发组件任务,将通信器输入的参数和组件对应代码下发到合适的执行工作单元实例中。编排器可以使用Redis存储组件执行对象,编排器接收到通信器下发的组件执行对象后,将组件执行对象放置到既定Redis任务队列头部。
步骤S103,根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象。
所述根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象,包括:
多个所述执行工作单元中包括主进程和通过所述主进程复刻的至少一个子进程;
多个所述执行工作单元的子进程运行情况包括:每个所述执行工作单元中的子程序均未完成执行所述执行对象;部分所述工作单元中的子程序已完成执行所述执行对象;
当所述每个所述执行工作单元中的子程序均未完成执行执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象时长较短的子程序;
当部分所述工作单元中的子程序已完成执行所述执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象数量较多的子程序。
需要说明的是,当执行工作单元从编程器上取执行对象后,需要根据每个执行工作单元中的子程序运行完成情况进行分配执行对象,一般情况下,每个执行工作单元中的至少含有一个子程序,通过子进程执行所述执行对象;
当所述每个所述执行工作单元中的子程序均未完成执行执行对象时,由于执行对象的大小不同,所以通过子程序执行完成正在执行的所述执行对象的时间长短来确定优先分配至哪个子程序来执行执行对象。
当部分所述执行工作单元中的子程序存在已完成执行所述执行对象时,首先需要比较哪个所述执行工作单元中处于空闲状态的子程序最多,根据比较结果,将所述执行对象分配至所述执行工作单元中处于空闲状态的子程序最多执行单元执行待执行对象。
所述通过所述主进程复刻至少一个子进程,包括:
所述执行工作器通过操作系统调用方式复刻子进程,通过复刻子进程复制执行工作单元中的主进程的全局变量后,获得至少一个子进程。
需要说明的是,每个执行工作单元中都有一个主程序和至少一个子程序,所述主程序主要保证子程序的正常运行,但是子程序是根据执行对象的分配情况临时建立,也就是说子程序是和执行对象是一一对应的关系,当通过此子程序完成执行所述执行对象后,子程序自动退出,且系统自动擦除子程序及子程序运行过程中产生的残留。
还需要说明的是,现有技术中,SOAR平台组件执行系统采用单进程架构,即接收到规则剧本执行引擎的执行命令与用户实参后,在进程内以同步形式直接执行组件对应子程序代码。单进程架构的SOAR平台组件执行系统通常缺乏横向扩展能力,吞吐能力受限,且存在单节点故障风险,同时,也不具备对待执行组件子程序的动态停止和健康判断等实时交互能力。
本实施例中,通过获取组件子代码,组件子代码为组件的组成部分,组件为规则剧本的组成部分,规则剧本通过规则剧本引擎进行解析,再根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象,对最后多个执行工作单元的执行日志和结果进行日志储存,从而使得SOAR平台具备横向扩展能力,提升平台吞吐能力,避免平台单节点故障风险。
具体到步骤S101中,基于分布式任务调度的SOAR系统获取组件子代码,组件子代码为组件的组成部分,组件为规则剧本的组成部分,规则剧本通过规则剧本引擎进行解析。其中,在SOAR系统中,组件是指SOAR平台中的不同模块或工具,这些模块或工具可以协同工作来实现安全运营自动化和响应。SOAR系统中的组件有多种类型。例如,用于从各种来源(如互联网、社交媒体等)收集情报,以帮助安全团队了解可能的威胁的情报收集组件。又如,用于接收来自不同来源的安全事件,并根据其重要性对其进行分类和排序的事件管理组件等。另外,组件子代码是指用于描述SOAR模型中各个组件的计算机程序代码,这些组件通常包括生产规则、工作记忆、工作记忆元素、决策、子目标等。组件子代码通常由LISP语言编写,它们实现了SOAR模型中的各个组件所需的特定功能,例如产生新的工作记忆元素、匹配生产规则、执行动作等。在一些实施例中,获取组件子代码,可以包括:通过通信器与规则剧本引擎进行通信;规则剧本引擎向通信器同步组件子代码、用户定义规范及固定值,通信器向规则剧本引擎上报组件代码映射表,规则剧本引擎向通信器下发组件执行任务及组件子程序运行参数;通过通信器获取组件子代码。进一步,通过通信器获取组件子代码,可以包括:通过编排器与通信器进行通信;通信器序列化组件子代码,组装执行对象;通过编排器从通信器获取组件子代码。
需要说明的是,执行工作单元可以部署在不同设备中,通过网络与Redis队列保持通信,使用抢占式调度方式,多个执行工作单元的子进程在未执行组件任务时会尝试从既定Redis队列尾部获取新的执行任务。执行工作单元可以主要通过系统调用复刻子进程,通过复刻子程序复制执行器主进程的上下文后,通过组件代码段执行组件对应子程序,保证任务执行进程的资源独立性,避免互相污染。
另外,再一些实施例中,在执行工作单元执行所述执行对象时,如果规则剧本执行引擎下发了动态停止组件的命令,则可以通过向执行工作单元的子进程发送特定操作系统信号停止子进程,以结束子进程的运行。
在一些实施例中,基于分布式任务调度的SOAR系统对多个执行工作单元的执行日志和结果进行日志储存。在一些实施例中,对多个执行工作单元的执行日志和结果进行日志储存,可以包括:持续收集执行组件子代码的日志输出;在组件任务执行完成后,将执行过程日志及任务执行结果上报至日志存储系统进行日志储存。另外,对多个执行工作单元的执行日志和结果进行日志储存,可以包括:在每个执行工作单元中运行检查子进程,检查子进程以设定时间为周期循环检查每个组件任务子进程;判断每个组件任务子进程是否正常运行,如果组件任务子进程意外退出,则判定意外退出的组件任务子进程处于健康异常状态;将组件任务子进程的健康异常状态日志上报至日志存储系统进行日志储存。
在本申请另一实施例中,所述执行工作单元判断所述执行工作单元的子进程是否执行任务失败;如果所述执行工作单元的子进程执行任务失败,则根据设定的重复执行任务次数重复执行所执行对象;如果根据设定的重复执行次数重复执行执行所组件任务后仍执行失败,则上报执行所述执行对象任务失败日志至日志存储系统。通过本实施例可以避免所述执行对象不能被执行。
如图3所示,第二方面,本申请实施例提供了一种种基于分布式任务调度的SOAR平台组件执行装置,包括:所述分布式任务调度平台包括多个执行工作单元,所述装置包括:
获取单元21,用于获取第一组件子代码,第一组件子代码为组件的组成部分;
处理单元22,用于对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;
执行单元23,用于根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分布于执行工作单元的子程序以执行所述执行对象。
与现有技术相比,本申请实施例提供了一种基于分布式任务调度的SOAR平台组件执行装置的有益效果与本申请相同,在此不再赘述。
后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (9)
1.一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述分布式任务调度平台包括多个执行工作单元,所述方法包括以下步骤:
获取第一组件子代码,第一组件子代码为组件的组成部分;
对第一组件子代码进行处理,将处理后的第一组件子代码与第一组件子代码的执行参数封装成执行对象;
根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象;
根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象,包括:
多个所述执行工作单元中包括主进程和通过所述主进程复刻的至少一个子进程;
多个所述执行工作单元的子进程运行情况包括:每个所述执行工作单元中的子程序均未完成执行所述执行对象;部分所述工作单元中的子程序已完成执行所述执行对象;
当所述每个所述执行工作单元中的子程序均未完成执行执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象时长较短的子程序;
当部分所述工作单元中的子程序已完成执行所述执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象数量较多的子程序。
2.如权利要求1所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述获取第一组件子代码,包括:
通过规则剧本执行引擎同步第二组件子代码及第二组件子代码执行参数至通信器,通过所述通信器建立组件子代码映射表;
通过所述规则剧本执行引擎获取所述组件子代码映射表;
所述通信器获取规则剧本执行引擎下发的组件执行任务与组件执行任务的运行参数,所述通信器根据所述组件的名称及所述组件子代码映射表取出组件子代码。
3.如权利要求2所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述通信器根据所述组件的名称及所述组件子代码映射表取出组件子代码,包括:
所述通信器根据所述组件的名称从所述组件子代码映射表获取第一组件子代码的存储位置,根据所述第一组件子代码的存储位置从存储器中取出组件子代码。
4.如权利要求3所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述方法还包括:
如果所述通信器根据组件的名称从组件代码映射表中未取出第一组件子代码,则所述通信器发送未取出第一组件子代码的信息至所述规则剧本执行引擎。
5.如权利要求2所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,将所述执行对象分布于执行工作单元的子程序以执行所述执行对象之前,包括:
所述执行工作单元的子程序从编排器中的Redis任务队列获取所述通信器下发的执行对象。
6.如权利要求1所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述通过所述主进程复刻至少一个子进程,包括:
所述执行工作单元通过操作系统调用方式复刻子进程,通过复刻子进程复制执行工作单元中的主进程的全局变量后,获得至少一个子进程。
7.如权利要求1所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述将所述执行对象分配至执行工作单元的子程序以执行所述执行对象之后,包括:
每个所述执行工作单元中存在一检查子程序;
每个所述执行工作单元通过检查子进程以预设周期循环检查所述执行工作单元的子程序是否正常运行,如果所述执行工作单元中存在的子进程未正常运行,则所述执行工作单元将子进程的异常状态日志上报至日志存储系统,并自动删除子进程。
8.如权利要求1所述的一种基于分布式任务调度的SOAR平台组件执行方法,其特征在于,所述将所述执行对象分布于执行工作单元的子程序以执行所述执行对象之后,包括:
所述执行工作单元判断所述执行工作单元的子进程是否执行所述执行对象失败;
如果所述执行工作单元的子进程执行所述执行对象失败,则根据设定的重复执行任务次数重复执行所执行对象;如果根据设定的重复执行次数重复执行所述执行对象后仍执行失败,则上报执行所述执行对象任务失败日志至日志存储系统。
9.一种基于分布式任务调度的SOAR平台组件执行装置,其特征在于,包括:所述分布式任务调度平台包括多个执行工作单元,所述装置包括:
获取单元,用于获取第一组件子代码,第一组件子代码为组件的组成部分;
处理单元,用于对第一组件子代码进行处理,将处理后的第一组件子代码与组件子代码的执行参数封装成执行对象;
执行单元,用于根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分布于执行工作单元的子程序以执行所述执行对象;
根据多个所述执行工作单元中的子进程运行情况,将所述执行对象分配至执行工作单元的子程序以执行所述执行对象,包括:
多个所述执行工作单元中包括主进程和通过所述主进程复刻的至少一个子进程;
多个所述执行工作单元的子进程运行情况包括:每个所述执行工作单元中的子程序均未完成执行所述执行对象;部分所述工作单元中的子程序已完成执行所述执行对象;
当所述每个所述执行工作单元中的子程序均未完成执行执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象时长较短的子程序;
当部分所述工作单元中的子程序已完成执行所述执行对象时,将所述执行对象分配至所述执行工作单元中的子程序完成执行执行对象数量较多的子程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714584.8A CN116450305B (zh) | 2023-06-16 | 2023-06-16 | 基于分布式任务调度的soar平台组件执行方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714584.8A CN116450305B (zh) | 2023-06-16 | 2023-06-16 | 基于分布式任务调度的soar平台组件执行方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450305A CN116450305A (zh) | 2023-07-18 |
CN116450305B true CN116450305B (zh) | 2023-09-12 |
Family
ID=87130585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310714584.8A Active CN116450305B (zh) | 2023-06-16 | 2023-06-16 | 基于分布式任务调度的soar平台组件执行方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450305B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228288A (zh) * | 2016-12-22 | 2018-06-29 | 航天信息股份有限公司 | 一种组件系统及其调用方法和装置 |
CN110377413A (zh) * | 2019-07-24 | 2019-10-25 | 上海金融期货信息技术有限公司 | 基于bpmn标准的分布式任务异步调度和监控的系统 |
CN111831275A (zh) * | 2020-07-14 | 2020-10-27 | 绿盟科技集团股份有限公司 | 一种编排微场景剧本的方法、服务器、介质及计算机设备 |
CN116132139A (zh) * | 2022-12-30 | 2023-05-16 | 中移动信息技术有限公司 | 剧本执行方法、装置、设备、存储介质及程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11563755B2 (en) * | 2020-03-24 | 2023-01-24 | Fortinet, Inc. | Machine-learning based approach for dynamically generating incident-specific playbooks for a security orchestration, automation and response (SOAR) platform |
-
2023
- 2023-06-16 CN CN202310714584.8A patent/CN116450305B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228288A (zh) * | 2016-12-22 | 2018-06-29 | 航天信息股份有限公司 | 一种组件系统及其调用方法和装置 |
CN110377413A (zh) * | 2019-07-24 | 2019-10-25 | 上海金融期货信息技术有限公司 | 基于bpmn标准的分布式任务异步调度和监控的系统 |
CN111831275A (zh) * | 2020-07-14 | 2020-10-27 | 绿盟科技集团股份有限公司 | 一种编排微场景剧本的方法、服务器、介质及计算机设备 |
CN116132139A (zh) * | 2022-12-30 | 2023-05-16 | 中移动信息技术有限公司 | 剧本执行方法、装置、设备、存储介质及程序产品 |
Non-Patent Citations (1)
Title |
---|
Shared Variable Management in SOAr-DSGrid;Xinjun Chen et al.;《 IEEE Xplore》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116450305A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684053B (zh) | 大数据的任务调度方法和系统 | |
CN107220892B (zh) | 一种应用于海量p2p网贷金融数据智能预处理工具及方法 | |
CN106777101B (zh) | 数据处理引擎 | |
CN111400011B (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
CN112000350B (zh) | 一种动态规则更新方法、装置及存储介质 | |
Theiss et al. | Software agents in industry: A customized framework in theory and praxis | |
CN112130812B (zh) | 一种基于数据流混合编排的分析模型构建方法及系统 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN114238077A (zh) | 一种自动化测试任务编排系统及方法 | |
CN112541746A (zh) | 一种全栈自动化编排方法及系统 | |
CN116450305B (zh) | 基于分布式任务调度的soar平台组件执行方法与装置 | |
CN116627609A (zh) | 基于Hive批处理的调度方法及装置 | |
CN115056234B (zh) | 基于事件驱动和无限状态机的rpa控制器调度方法及系统 | |
CN115185489B (zh) | 一种时序数据算法组态系统和方法 | |
CN116400950A (zh) | 一种基于版本控制的DevOps元流水线系统 | |
CN116467188A (zh) | 一种多环境场景下的通用本地复现系统和方法 | |
CN102306109A (zh) | 一种实现通讯管理机内部逻辑可编程方法 | |
CN115061746A (zh) | 基于Jenkins的车载网络控制器产品开发方法及系统 | |
CN111679899B (zh) | 任务调度方法、装置、平台设备及存储介质 | |
Rodrigues et al. | Multi-approach debugging of industrial IoT workflows | |
Berruet et al. | A component based approach for the design of FMS control and supervision | |
Velesaca et al. | Optimizing Smart Factory Operations: A Methodological Approach to Industrial System Implementation based on OPC-UA | |
CN114755990B (zh) | 一种工业自动化产线低代码控制系统及其控制方法 | |
CN115774608A (zh) | 一种风电大数据平台的计算任务调度方法、装置和设备 | |
CN113806222B (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 |