CN116132139A - 剧本执行方法、装置、设备、存储介质及程序产品 - Google Patents
剧本执行方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116132139A CN116132139A CN202211733600.XA CN202211733600A CN116132139A CN 116132139 A CN116132139 A CN 116132139A CN 202211733600 A CN202211733600 A CN 202211733600A CN 116132139 A CN116132139 A CN 116132139A
- Authority
- CN
- China
- Prior art keywords
- scenario
- compiling
- target
- program
- program package
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种剧本执行方法、装置、设备、存储介质及程序产品。该方法包括:针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述第一剧本为可以编译的剧本,所述程序包可以独立执行,将所述程序包分发至所述程序包对应的目标网络区域,所述目标网络区域可以是所述目标平台所在的网络区域,也可以是所述目标平台之外的网络区域。根据本申请实施例,能够解决现有的多个隔离网络环境下SOAR平台的部署成本过高的问题。
Description
技术领域
本申请属于计算机网络安全技术领域,尤其涉及一种剧本执行方法、装置、设备、存储介质及程序产品。
背景技术
随着安全编排、自动化和响应(SOAR)平台的兴起,越来越多的企业开始实践将SOAR平台作为安全基础架构的核心部分,应用自动化帮助解决企业安全运营中的“安全、成本和效率”三者难以平衡的问题。
然而,在SOAR平台的实际应用中发现,国内外现有商用的SOAR平台都不能很好地满足多物理隔离区域的网络环境或多分支结构的企业。相关技术中,已有的SOAR平台在遇到多物理隔离区域(或分支)的网络环境时,一般都会在每个物理隔离区域分别部署一套完整的SOAR平台,这样一来,会极大的提高在多物理隔离区域的网络环境下部署SOAR平台的成本。
发明内容
本申请实施例提供了一种剧本执行方法、装置、设备、存储介质及程序产品,能够解决现有的对增程器控制的灵活度低的问题。
第一方面,本申请实施例提供一种剧本执行方法,方法包括:
针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述程序包为能够独立执行的软件,所述第一剧本为所述剧本仓库中的任一剧本;
将所述程序包分发至所述程序包对应的目标网络区域。
在一些实施例中,所述目标网络区域为所述目标平台所在的网络区域,所述将所述程序包分发至所述程序包对应的目标网络区域之后,所述方法还包括:
解析接收到的事件;
在所述事件触发的剧本为所述第一剧本的情况下,确定所述程序包对应的调用接口;
通过所述调用接口触发所述程序包的执行操作。
在一些实施例中,所述编译指令中包括目标环境信息,所述目标环境为运行所述程序包的网络环境,所述编译所述第一剧本,得到所述第一剧本对应的程序包,包括:
编译所述第一剧本,得到所述第一剧本对应的目标程序;
根据所述编译指令生成目标执行器的配置文件,所述目标执行器为预编译好的可执行文件;
根据所述目标环境信息从至少一个预先编译好的执行器中确定所述目标执行器;
将所述目标程序、所述配置文件和所述目标执行器进行打包操作,得到所述程序包。
在一些实施例中,所述编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
根据所述第一剧本确定所述第一剧本的解析规则;
根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序。
在一些实施例中,所述第一剧本包括应用、执行剧本和可执行策略,所述根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
编码所述可执行策略和所述解析规则,得到第一中间代码;
编译所述应用,得到第二中间代码;
编译所述执行剧本,得到第三中间代码;
编译所述第一中间代码、所述第二中间代码和所述第三中间代码,得到所述目标程序。
在一些实施例中,所述将所述程序包分发至所述程序包对应的目标网络区域之后,所述方法还包括:
在接收到所述程序包发送的查询指令之后,查询所述程序包对应的第一剧本是否发生变更;
在所述第一剧本发生变更的情况下,返回执行所述编译所述第一剧本,得到所述第一剧本对应的程序包的步骤。
第二方面,本申请实施例提供一种剧本执行装置,装置包括:
编译模块,用于针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述第一剧本为可以编译的剧本,所述程序包可以独立执行;
分发模块,用于将所述程序包分发至所述程序包对应的目标网络区域,所述目标网络区域可以是所述目标平台所在的网络区域,也可以是所述目标平台之外的网络区域。
第三方面,本申请实施例提供了一种剧本执行设备,设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如上的剧本执行方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如上的剧本执行方法。
第五方面,本申请实施例提供了一种程序产品,所述程序产品包括计算机程序指令,所述计算机程序指令被处理器执行时实现如上的剧本执行方法。
在本申请中,通过提供了一个可编译可分发的SOAR系统,SOAR系统可以将剧本仓库中可编译的剧本编译为可以独立执行的程序包,并将程序包分发至任意的网络区域中。如此一来,无需像现有技术中一样在隔离的网络环境下均部署一套SOAR平台,仅需将剧本对应的程序包发送至隔离的网络环境中,同样可以在任何网络环境下执行SOAR系统中存储的剧本,极大的降低了SOAR平台的部署成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的剧本执行方法的装置示意图;
图2是本申请一实施例提供的剧本执行方法的流程示意图;
图3是本申请另一实施例提供的剧本执行方法的流程示意图;
图4是本申请又一实施例提供的剧本执行方法的流程示意图;
图5是本申请再一实施例提供的剧本执行方法的流程示意图;
图6是本申请还一实施例提供的剧本执行方法的流程示意图;
图7是本申请其他一实施例提供的剧本执行方法的流程示意图;
图8是本申请又一实施例提供的剧本执行方法的流程示意图;
图9是本申请另一实施例提供的剧本执行方法的流程示意图;
图10是本申请再一实施例提供的剧本执行方法的流程示意图;
图11是本申请一实施例提供的剧本执行设备的硬件结构示意图;
图12是本申请一实施例提供的剧本执行装置的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请的更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合附图对实施例进行详细描述。
随着安全编排、自动化和响应(SOAR)平台的兴起,越来越多的企业开始实践将SOAR平台作为安全基础架构的核心部分,应用自动化帮助解决企业安全运营中的“安全、成本和效率”三者难以平衡的问题。
然而,在SOAR平台的实际应用中发现,国内外现有商用的SOAR平台都不能很好地满足多物理隔离区域的网络环境或多分支结构的企业。相关技术中,已有的SOAR平台在遇到多物理隔离区域(或分支)的网络环境时,一般都会应用以下两种方案:
(1)在每个物理隔离区域分别部署一套完整的SOAR平台。然而这样一来,会极大的提高在多物理隔离区域的网络环境下部署SOAR平台的成本。
(2)如果SOAR平台支持分布式部署的话,将SOAR平台的组件部署到各个隔离区域的网络环境下。然而即使这样布置,分布式组件之间需要跨隔离区进行通信,如此一来就会破坏隔离的网络环境。
具体地,为了解决上述技术问题,本申请实施例提供了一种SOAR系统,如图1所示,该SOAR系统包括事件接收器、事件解析器、调度器、策略控制器、剧本仓库、编排器、应用目标执行器和分发套件。系统组件详细说明如下:
事件接收器:用于接收上游安全检查系统发来的原始日志/告警/事件。
事件解析器:将原始日志/告警/事件按照解析规则解析并映射到系统已知的字段合集,输出已解析格式如[{字段名:字段值},{字段名:字段值}]形式的字段合集,以供系统的其他组件使用。字段合集相当于与某条事件关联的系统内部常量合集。
调度器:调度器读取字段合集后,将调度剧本或应用的执行。
策略控制器:策略控制器获取字段合集后,会获取相应的执行策略和剧本。策略控制器将剧本解析为单步执行的控制策略发送给调度器。
剧本仓库:用于存储已发布的剧本,包含剧本可执行策略和应用执行剧本。
编排器:提供可视化编排前端,用于编排剧本。包含了一个用于存储剧本草稿的存储器。
应用目标执行器:调用分发套件的内部编译器,将编译后的应用动态导入到自身执行环境。可接收调度器执行应用。
源码仓库:用于存储应用的源代码。
分发套件:主要包括分发管理器、解析编码器、内/外部编译器和剧本编码器。用于剧本的编译和分发。
具体地,为了解决上述技术问题,本申请实施例还提供了一种基于上述SOAR平台的剧本执行方法、装置、设备、存储介质及程序产品。下面首先对本申请实施例所提供的剧本执行方法进行介绍。
图2示出了本申请一个实施例提供的剧本执行方法的流程示意图。该方法包括以下步骤:
S210,针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述程序包为能够独立执行的软件,所述第一剧本为所述剧本仓库中的任一剧本;
在本实施例中,剧本包括应用、执行剧本和可执行策略。其中,应用是包含一个入口函数的代码片段和一个配置文件。该配置文件可以用JSON/YAML等结构化的数据形式表示该代码片段所需要的输入参数、输入参数类型、输出参数、输出参数类型以及必要的描述信息等。执行剧本包含一系列应用和逻辑条件的组合。可执行策略则包含了剧本的可执行条件,如剧本执行所需要的字段合集的子集,剧本可执行的系统环境变量等。剧本需要在SOAR系统中才能够被执行。
作为一个可选的实施例,在剧本的生成过程中,首先由SOAR系统的开发人员通过编排器创建剧本草稿,然后将编排器中存储的剧本草稿或者外部导入的剧本草稿发布为剧本,并将剧本写入剧本仓库。
在一实施例中,剧本发布的过程如图3所示:首先对编排器中存储的剧本草稿或者外部导入的剧本草稿执行发布,然后由编排器提取剧本草稿中的可执行策略,并由策略控制器对可执行策略进行校验。只有当校验通过,策略控制器才加载可执行策略,并在加载完成后通知编排器,由编排器将剧本写入剧本仓库。
所有发布的剧本均存储于剧本仓库之中,剧本又分为可以编译的第一剧本和无法编译的第二剧本。剧本编译为将剧本通过编排、编译以及打包等操作生成可以独立执行的程序包。
S220,将所述程序包分发至所述程序包对应的目标网络区域。
由于程序包不需要在SOAR系统中也可以独立执行,因此可以将该程序分发至目标网络区域中,目标网络区域可以是目标平台所在的网络区域,也可以是目标平台之外的网络区域。
此外,在完成程序包的分发之后,可以将程序包的调用接口存储在SOAR平台的剧本仓库中,以便完成后续的对程序包的调用和更新。
如图4所示,实例1为SOAR系统,编译剧本1、编译剧本2、编译剧本3和编译剧本4均为实例1所分发的程序包。在目标网络区域为目标平台所在的网络区域1的情况下,编译剧本1可以在线响应实例1的调度来执行,编译剧本2也可以不借助任何触发事件,每间隔一段时间执行一次。
在目标网络区域为目标平台之外的网络区域2的情况下,编译剧本3可以不借助任何触发事件,每间隔一段时间执行一次;编译剧本4也可以由网络区域2中的日志系统直接触发执行。
本申请通过提供了一个可编译可分发的SOAR系统,SOAR系统可以将剧本仓库中可编译的剧本编译为可以独立执行的程序包,并将程序包分发至任意的网络区域中。如此一来,无需像现有技术中一样在隔离的网络环境下均部署一套SOAR平台,仅需将剧本对应的程序包发送至隔离的网络环境中,同样可以在任何网络环境下执行SOAR系统中存储的剧本,极大的降低了SOAR平台的部署成本。
作为一个可选实施例,目标网络区域为所述目标平台所在的网络区域,上述S220之后,还可以包括:
解析接收到的事件;
在所述事件触发的剧本为所述第一剧本的情况下,确定所述程序包对应的调用接口;
通过所述调用接口触发所述程序包的执行操作。
在本实施例中,在将可独立执行的程序包分发至目标网络区域之后,如果目标网络区域中为SOAR系统所在的网络区域,或者目标网络区域与SOAR系统可以进行通信传输,那么仍然可以利用SOAR系统来触发程序包的执行操作。
在一实施例中,如图5所示,在SOAR系统中接收到了一条事件之后,对该事件进行解析,根据事件的来源分配预先设定的解析规则ID,事件解析器可以根据规则ID来加载规则,并利用加载好的规则对事件进行解析。调度器可以获取到解析事件得到的字段合集,并根据字段合集匹配调度规则;调度器还可以根据事件的解析结果获取需要执行的剧本ID,并将剧本ID和字段合集发送给策略控制器。
策略控制器基于剧本ID判断该剧本是否满足执行策略,如果满足执行策略,则根据剧本ID在剧本仓库中查询需要执行的待执行剧本,并判断待执行剧本是否为已编译剧本。
如果待执行剧本为已编译剧本,那么策略控制器可以在剧本仓库中获取已编译剧本的调用接口,调用接口包括已编译剧本的触发入口和触发方式,并基于调用接口,利用调度目标执行器触发程序包的执行操作。本实施例中的第一剧本为任一已编译剧本。
如果待执行剧本为未编译剧本,则可以从剧本仓库中获取该未编译剧本,在策略控制器中进行解析,并利用应用目标执行器执行该未编译剧本中的应用。
此外,如图6所示,图6中的编译剧本即为编译好的程序包,该编译剧本不仅可以由SOAR系统触发执行操作,也可以由同一网络区域中的日志系统直接触发其执行操作。
作为一个可选实施例,所述编译指令中包括目标环境信息,所述目标环境为运行所述程序包的网络环境,上述S210,可以包括:
编译所述第一剧本,得到所述第一剧本对应的目标程序;
根据所述编译指令生成目标执行器的配置文件,所述目标执行器为预编译好的可执行文件;
根据所述目标环境信息从至少一个预先编译好的执行器中确定所述目标执行器;
将所述目标程序、所述配置文件和所述目标执行器进行打包操作,得到所述程序包。
在本实施例中,用户决定是否对剧本仓库中的第一剧本进行编译,在用户想要对第一剧本进行编译的情况下,会向SOAR系统下发编译指令。在接收到用户的编译指令之后,SOAR系统会根据编译指令完成。
在一实施例中,编译的过程如图7所示:图7中的打包指令即为编译指令。SOAR系统中的分发管理器获得打包指令之后,发起对第一剧本的编译工作流,获得目标程序。本实施例中目标程序为网页装配(WebAssembly,WASM)程序,其中,WASM程序是一种符合Webassembly规范的、wasm格式的文件,包含低级二进制指令,可由使用通用堆栈的虚拟机以“接近CPU原生速度”执行。
在获得目标程序之后,可以从打包指令中生成目标执行器的配置文件,并基于目标环境从多个预先编译好的执行器中确定目标执行器,然后将WASM程序、配置文件和目标执行器打包,即可以生成程序包。并可以将程序包的下载地址返回至SOAR系统中,以使SOAR系统能够下载该程序包并进行后续的分发工作。
作为一个可选实施例,所述编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
根据所述第一剧本确定所述第一剧本的解析规则;
根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序。
在本实施例中,不同的剧本存在不同的解析规则,剧本和剧本的解析规则是对剧本进行编译的必要条件,因此可以首先根据第一剧本确定第一剧本的解析规则,并根据解析规则来对第一剧本进行编译,得到第一剧本对应的目标程序。
作为一个可选实施例,所述第一剧本包括应用、执行剧本和可执行策略,所述根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
编码所述可执行策略和所述解析规则,得到第一中间代码;
编译所述应用,得到第二中间代码;
编译所述执行剧本,得到第三中间代码;
编译所述第一中间代码、所述第二中间代码和所述第三中间代码,得到所述目标程序。
在本实施例中,由于剧本中包括可执行策略、应用以及执行剧本。我们要对第一剧本进行编译,就需要借助解析规则对第一剧本中包含的可执行策略、应用以及执行剧本分别进行编译:
编码可执行策略和解析规则,以得到第一中间代码,编译应用得到第二中间代码,编译执行剧本得到第三中间代码,并将第一中间代码、第二中间代码和第三中间代码进行进一步编译,才能得到目标程序。
在一实施例中,如图8所示,分发管理器可以获取第一剧本的剧本ID和第一剧本对应的解析规则的规则ID,然后从剧本仓库获取第一剧本,从事件解析器当中获取解析规则。编码可执行策略和解析规则,以得到中间代码1,编译应用得到中间代码2,编译执行剧本得到中间代码3,并将中间代码1、中间代码2和中间代码3进行进一步编译,才能得到WASM程序,即目标程序。
作为一个可选实施例,上述S210之后,还可以包括:
在接收到所述程序包发送的查询指令之后,查询所述程序包对应的第一剧本是否发生变更;
在所述第一剧本发生变更的情况下,返回执行所述编译所述第一剧本,得到所述第一剧本对应的程序包的步骤。
在本实施例中,由于安全编排的自动化响应策略可能存在变动,因此第一剧本同样可能发生变更,而由于程序包是和第一剧本存在对应关系的,因此在第一剧本发生变更的同时,程序包同样需要同步更新。
具体地,程序包可以每间隔一段时间向SOAR平台发送查询指令,查询指令用于查询程序包对应的第一剧本是否发生了变更,如果第一剧本发生了变更,可以重新编译变更后的第一剧本,并且将重新编译得到的程序包替换原有的程序包。
在一实施例中,如图9所示,程序包中的执行器向SOAR平台中的分发管理器定时发送查询指令,以发起第一剧本是否发生变更的查询,分发管理器在接收到查询指令之后,查询剧本仓库中的第一剧本是否发生变更。
如果第一剧本发生变更,则分发管理器重新启动编译工作流,将变更后的第一剧本编译成新的WASM程序,即目标程序,并从下载地址下载该WASM程序,将WASM程序重新加载。如果第一剧本未发生变更,即通知执行器第一剧本无更新即可。
此外,在一实施例中,程序包的执行工作流可以如图10所示,确定启动程序包之后,加载程序包的配置,然后判断是否启动分发管理进程,如果需要启动分发管理进程,则启动该进程。之后加载程序包中的WASM程序,即目标程序,之后解析并执行该目标程序。
图10中,如果程序包是需要触发才能执行的,那么可以是主动获取的事件触发目标程序的执行,也可以是获取SOAR中调度器的调度指令来触发目标程序的执行。图中的接收监听进程用于被动接收特定类型的事件,图中的事件获取进程用于主动从外部系统获取特定类型的事件,调度监听进程则用于与调度器交互。
每当执行一次目标程序之后,进一步判断是否有阻塞目标程序执行的阻塞进程,如果没有阻塞进程,则继续执行目标程序,直至整个任务结束。
基于上述实施例提供的剧本执行方法,相应地,本申请还提供了剧本执行装置的具体实现方式。请参见以下实施例。
首先参见图11,本申请实施例提供的剧本执行装置110包括以下模块:
编译模块111,用于针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述程序包为能够独立执行的软件,所述第一剧本为所述剧本仓库中的任一剧本;
分发模块112,用于将所述程序包分发至所述程序包对应的目标网络区域。
设备可以通过提供了一个可编译可分发的SOAR系统,SOAR系统可以将剧本仓库中可编译的剧本编译为可以独立执行的程序包,并将程序包分发至任意的网络区域中。如此一来,无需像现有技术中一样在隔离的网络环境下均部署一套SOAR平台,仅需将剧本对应的程序包发送至隔离的网络环境中,同样可以在任何网络环境下执行SOAR系统中存储的剧本,极大的降低了SOAR平台的部署成本。
作为本申请的一种实现方式,上述剧本执行装置110还可以包括:
解析单元,用于解析接收到的事件;
确定单元,用于在所述事件触发的剧本为所述第一剧本的情况下,确定所述程序包对应的调用接口;
执行单元,用于通过所述调用接口触发所述程序包的执行操作。
作为本申请的一种实现方式,上述编译模块111还可以包括:
编译单元,用于编译所述第一剧本,得到所述第一剧本对应的目标程序;
配置单元,用于根据所述编译指令生成目标执行器的配置文件,所述目标执行器为预编译好的可执行文件;
筛选单元,用于根据所述目标环境信息从至少一个预先编译好的执行器中确定所述目标执行器;
打包单元,用于将所述目标程序、所述配置文件和所述目标执行器进行打包操作,得到所述程序包。
作为本申请的一种实现方式,上述编译单元还可以包括:
第一编译子单元,用于根据所述第一剧本确定所述第一剧本的解析规则;
第二编译子单元,用于根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序。
作为本申请的一种实现方式,上述第二编译子单元还可以用于:
编码所述可执行策略和所述解析规则,得到第一中间代码;
编译所述应用,得到第二中间代码;
编译所述执行剧本,得到第三中间代码;
编译所述第一中间代码、所述第二中间代码和所述第三中间代码,得到所述目标程序。
作为本申请的一种实现方式,上述剧本执行装置110还可以包括:
在接收到所述程序包发送的查询指令之后,查询所述程序包对应的第一剧本是否发生变更;
在所述第一剧本发生变更的情况下,返回执行所述编译所述第一剧本,得到所述第一剧本对应的程序包的步骤。
本发明实施例提供的剧本执行装置能够实现上述的方法实施例中的各个步骤,为避免重复,这里不再赘述。
图12示出了本申请实施例提供的剧本执行设备的硬件结构示意图。
在剧本执行设备可以包括处理器121以及存储有计算机程序指令的存储器122。
具体地,上述处理器121可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器122可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器122可包括硬盘驱动器(HardDiskDrive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器122可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器122可在综合网关容灾设备的内部或外部。在特定实施例中,存储器122是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计
算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存5储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其
可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器121通过读取并执行存储器122中存储的计算机程序指令,以实现上述实施例中的任意一种剧本执行方法。
0在一个示例中,剧本执行设备还可包括通信接口123和总线1210。其
中,如图12所示,处理器121、存储器122、通信接口123通过总线1210连接并完成相互间的通信。
通信接口123,主要用于实现本申请实施例中各模块、装置、单元和/
或设备之间的通信。
5总线1210包括硬件、软件或两者,将剧本执行设备的部件彼此耦接
在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连0(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1210可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
5该剧本执行设备可以基于上述实施例,从而实现结合上述的剧本执行
方法和装置。
另外,结合上述实施例中的剧本执行方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种剧本执行方法,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,上述计算机可读存储介质可包括非暂态计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等,在此并不限定。
另外,本申请实施例还提供了一种程序产品,包括计算机程序指令,计算机程序指令被处理器执行时可实现前述方法实施例的步骤及相应内容。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置和程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种剧本执行方法,其特征在于,所述方法包括:
针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述程序包为能够独立执行的软件,所述第一剧本为所述剧本仓库中的任一剧本;
将所述程序包分发至所述程序包对应的目标网络区域。
2.根据权利要求1所述的剧本执行方法,其特征在于,所述目标网络区域为所述目标平台所在的网络区域,所述将所述程序包分发至所述程序包对应的目标网络区域之后,所述方法还包括:
解析接收到的事件;
在所述事件触发的剧本为所述第一剧本的情况下,确定所述程序包对应的调用接口;
通过所述调用接口触发所述程序包的执行操作。
3.根据权利要求1所述的剧本执行方法,其特征在于,所述编译指令中包括目标环境信息,所述目标环境为运行所述程序包的网络环境,所述编译所述第一剧本,得到所述第一剧本对应的程序包,包括:
编译所述第一剧本,得到所述第一剧本对应的目标程序;
根据所述编译指令生成目标执行器的配置文件,所述目标执行器为预编译好的可执行文件;
根据所述目标环境信息从至少一个预先编译好的执行器中确定所述目标执行器;
将所述目标程序、所述配置文件和所述目标执行器进行打包操作,得到所述程序包。
4.根据权利要求3所述的剧本执行方法,其特征在于,所述编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
根据所述第一剧本确定所述第一剧本的解析规则;
根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序。
5.根据权利要求4所述的剧本执行方法,其特征在于,所述第一剧本包括应用、执行剧本和可执行策略,所述根据所述解析规则编译所述第一剧本,得到所述第一剧本对应的目标程序,包括:
编码所述可执行策略和所述解析规则,得到第一中间代码;
编译所述应用,得到第二中间代码;
编译所述执行剧本,得到第三中间代码;
编译所述第一中间代码、所述第二中间代码和所述第三中间代码,得到所述目标程序。
6.根据权利要求1所述的剧本执行方法,其特征在于,所述将所述程序包分发至所述程序包对应的目标网络区域之后,所述方法还包括:
在接收到所述程序包发送的查询指令之后,查询所述程序包对应的第一剧本是否发生变更;
在所述第一剧本发生变更的情况下,返回执行所述编译所述第一剧本,得到所述第一剧本对应的程序包的步骤。
7.一种剧本执行装置,其特征在于,所述装置包括:
编译模块,用于针对剧本仓库中的第一剧本,响应于用户的编译指令,编译所述第一剧本,得到所述第一剧本对应的程序包,其中,所述程序包为能够独立执行的软件,所述第一剧本为所述剧本仓库中的任一剧本;
分发模块,用于将所述程序包分发至所述程序包对应的目标网络区域。
8.一种剧本执行设备,其特征在于,所述剧本执行设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6中任一项所述的剧本执行方法。
9.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6中任一项所述的剧本执行方法。
10.一种程序产品,其特征在于,所述程序产品包括计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1-6中任一项所述的剧本执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733600.XA CN116132139A (zh) | 2022-12-30 | 2022-12-30 | 剧本执行方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733600.XA CN116132139A (zh) | 2022-12-30 | 2022-12-30 | 剧本执行方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132139A true CN116132139A (zh) | 2023-05-16 |
Family
ID=86307447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211733600.XA Pending CN116132139A (zh) | 2022-12-30 | 2022-12-30 | 剧本执行方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132139A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450305A (zh) * | 2023-06-16 | 2023-07-18 | 北京长亭科技有限公司 | 基于分布式任务调度的soar平台组件执行方法与装置 |
CN117085334A (zh) * | 2023-08-22 | 2023-11-21 | 北京久幺幺科技有限公司 | 线上剧本杀模板构建方法和线上剧本杀运行方法及装置 |
-
2022
- 2022-12-30 CN CN202211733600.XA patent/CN116132139A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450305A (zh) * | 2023-06-16 | 2023-07-18 | 北京长亭科技有限公司 | 基于分布式任务调度的soar平台组件执行方法与装置 |
CN116450305B (zh) * | 2023-06-16 | 2023-09-12 | 北京长亭科技有限公司 | 基于分布式任务调度的soar平台组件执行方法与装置 |
CN117085334A (zh) * | 2023-08-22 | 2023-11-21 | 北京久幺幺科技有限公司 | 线上剧本杀模板构建方法和线上剧本杀运行方法及装置 |
CN117085334B (zh) * | 2023-08-22 | 2024-05-28 | 北京久幺幺科技有限公司 | 线上剧本杀模板构建方法和线上剧本杀运行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116132139A (zh) | 剧本执行方法、装置、设备、存储介质及程序产品 | |
CN110874212B (zh) | 一种硬件加速方法、编译器以及设备 | |
KR102159640B1 (ko) | 데이터 컴파일 방법, 장치 및 전자 단말기, 컴퓨터 판독 가능 저장 매체 | |
CN111144839B (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
CN111736954A (zh) | 多智能合约虚拟机实现方法、多智能合约虚拟机及系统 | |
CN109445797A (zh) | 处理任务执行方法及装置 | |
CN111813635A (zh) | 一种区块链智能合约的监控方法、系统及装置 | |
CN109725906A (zh) | 一种代码编译方法及对应的持续集成系统 | |
US20230065259A1 (en) | Method and apparatus for protecting smart contracts against attacks | |
CN114610318A (zh) | 安卓应用程序的打包方法、装置、设备及存储介质 | |
CN115757100A (zh) | 面向用户界面的自动化测试框架以及方法、设备、介质 | |
CN116069341A (zh) | 一种应用程序的自动化部署方法、设备及存储介质 | |
CN108304164B (zh) | 一种业务逻辑的开发方法及开发系统 | |
CN111105289B (zh) | 一种基于aop方式的客户端订单取消判断方法及装置 | |
CN109343856A (zh) | 自定义算法组件的生成方法及装置 | |
CN117270864A (zh) | 代码编译方法、装置、设备及存储介质 | |
CN111258562A (zh) | Java代码质量检查方法、装置、设备和存储介质 | |
US9710360B2 (en) | Optimizing error parsing in an integrated development environment | |
US8819645B2 (en) | Application analysis device | |
CN113342600A (zh) | 一种程序依赖插件的监测方法及装置 | |
CN110297639B (zh) | 用于检测代码的方法和装置 | |
WO2022046198A1 (en) | Thread-local return structure for asynchronous state machine | |
CN109308256B (zh) | 一种java程序动态分析方法、设备和存储介质 | |
CN114115884B (zh) | 一种编程服务的管理方法以及相关装置 | |
CN104199774A (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 |