一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种领域特定语言的执行方法、系统及装置与流程

2021-12-04 01:22:00 来源:中国专利 TAG:


1.本发明涉及特殊语言操作执行领域,特别涉及一种领域特定语言的执行方法、系统及装置。


背景技术:

2.当前,在一些小众或安全性要求较高的产品领域,设备厂家研发生产的设备常存在个性化程度高、编程语言不通用、难以兼容其他设备的问题。通常在使用这类设备时,需要程序员以硬编码结合联调对接的方式去对接不同的设备和服务,这种方案复用度很低,且对接使用上没有标准,很难做到通用,需要耗费大量的人工成本和时间成本。
3.因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种高效快捷的领域特定语言的执行方法、系统及装置。其具体方案如下:
5.一种领域特定语言的执行方法,包括:
6.获取用户终端的执行指令;
7.利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
8.利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
9.优选的,所述利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的过程,包括:
10.利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令及每条所述操作命令的命令元素,以及所有所述操作命令之间的逻辑关系;
11.相应的,所述利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回的过程,包括:
12.利用语法执行器按照所述操作命令对应的命令元素及所述逻辑关系对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
13.优选的,所述操作命令包括:信息查询命令和/或动作命令;
14.所述信息查询命令,包括所述查询对象和/或查询参数;
15.所述动作命令,包括动作内容、和/或动作执行对象、和/或动作执行主体。
16.优选的,所述查询对象包括系统允许操作的设备和系统支持的服务;
17.所述设备的所述查询参数包括标识、和/或地址、和/或所述设备支持的操作;
18.所述服务的所述查询参数包括服务内容、和/或服务对象、和/或服务执行主体。
19.优选的,所述动作命令包括:
20.阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行。
21.优选的,所述动作命令对应的操作结果具体为操作完成或操作失败,当所述操作结果为操作失败,同时向所述用户终端返回操作失败原因。
22.优选的,所述语法解析器具体为以antlr架构构建的语法解析器。
23.优选的,所述领域特定语言具体为安全处置领域的领域特定语言。
24.相应的,本技术还公开了一种领域特定语言的执行系统,包括:
25.获取模块,用于获取用户终端的执行指令;
26.解析模块,用于利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
27.操作模块,用于利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
28.相应的,本技术还公开了一种领域特定语言的执行装置,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如上文任一项所述领域特定语言的执行方法的步骤。
31.本技术公开了一种领域特定语言的执行方法,包括:获取用户终端的执行指令;利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。本技术公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
33.图1为本发明实施例中一种领域特定语言的执行方法的步骤流程图;
34.图2为本发明实施例中一种领域特定语言的执行系统的结构分布图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.在一些小众或安全性要求较高的产品领域,设备厂家研发生产的设备常存在个性化程度高、编程语言不通用、难以兼容其他设备的问题。通常在使用这类设备时,需要程序员以硬编码结合联调对接的方式去对接不同的设备和服务,这种方案复用度很低,且对接使用上没有标准,很难做到通用,需要耗费大量的人工成本和时间成本。
37.本技术公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
38.本发明实施例公开了一种领域特定语言的执行方法,参见图1所示,包括:
39.s1:获取用户终端的执行指令;
40.s2:利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令的命令元素;
41.s3:利用语法执行器按照操作命令对操作对象对应的命令元素进行相应操作,得到操作结果并向用户终端返回。
42.具体的,步骤s2利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令的过程,包括:
43.利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令及每条操作命令的命令元素,以及所有操作命令之间的逻辑关系;
44.相应的,步骤s3利用语法执行器按照操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向用户终端返回的过程,包括:
45.利用语法执行器按照操作命令对应的命令元素及逻辑关系对操作对象进行相应操作,得到操作结果并向用户终端返回。
46.可以理解的是,用户终端的执行指令一般由用户写入,用户无需掌握具体的领域操作细节和具体设备,只需掌握基础规范的语法解析器输入语法即可,语法解析器需要将执行指令解析为语法执行器能够理解和直接用于操作的操作命令的命令元素,因此该语法解析器要求有语义分析、逻辑判断等能力,通常语法解析器可以antlr(another tool for language recognition,另一种语言识别工具)架构构建,具体采用antlr4构建规则实现语法解析。
47.具体的,本实施例中执行方法对应的领域特定语言,指特定领域中使用的语言,该特点领域一般为小众产品领域或安全领域,本实施例的执行方法尤其适用于安全处置领域的领域特定语言。
48.具体的,本实施例中语法执行器可采用分布式高并发方案实现,进而同时处理逻辑关系中可并行处理的操作,提高执行指令的处理速度。
49.本技术实施例公开了一种领域特定语言的执行方法,包括:获取用户终端的执行指令;利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。本技术实施例公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
50.本发明实施例公开了一种具体的领域特定语言的执行方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
51.具体的,语法解析器输出的操作命令包括:信息查询命令和/或动作命令;
52.信息查询命令,包括查询对象和/或查询参数;
53.动作命令,包括动作内容、和/或动作执行对象、和/或动作执行主体。
54.进一步的,查询对象包括系统允许操作的设备和系统支持的服务;
55.设备的查询参数包括标识、和/或地址、和/或设备支持的操作;
56.服务的查询参数包括服务内容、和/或服务对象、和/或服务执行主体。
57.进一步的,动作命令包括:
58.阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行。
59.进一步的,动作命令对应的操作结果具体为操作完成或操作失败,当操作结果为操作失败,同时向用户终端返回操作失败原因。
60.可以理解的是,以上操作命令中的命令元素有设备、服务、标识、地址、操作、服务内容、服务对象、服务执行主体、动作内容、动作执行对象、动作执行主体等。
61.以安全处置领域的领域特定语言(sd dsl,domain

specific language for safe disposal)为例,对语法解析器的操作命令进行说明:
62.当信息查询命令仅包括查询对象,即querydevices,也可缩写为qd,语法执行器执行该信息查询命令将返回当前系统允许操作的设备和系统支持的服务,具体的返回信息包括:设备类型devicetype,例如防火墙firewall、统一威胁管理utm(unified threat management)、网闸gatekeeper、web应用防火墙waf(web application firewall)、终端防护设备edr(endpoint detection&response)、防病毒系统antivirus等;设备唯一标识deviceid;设备地址deviceip,例如1.1.1.1;设备支持的操作,或理解为设备支持的可处置动作deviceactions,例如阻断block、扫描scan、获取扫描结果scanreport,切断进程kill,沙箱执行virtualexec等。
63.信息查询命令也可查询不同服务或设备的详细参数列表,即queryactionparams,例如查询阻断block,即可获取相应的参数列表,具体示例如下表1所示。
64.表1信息查询命令的具体示例
[0065][0066]
类似的,动作命令中的元素包括动作内容、和/或动作执行对象、和/或动作执行主体,具体动作命令对应的动作内容包括阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行,解释操作结果为操作完成或操作失败,如果失败,返回操作失败原因,该原因包括但不限于不支持的参数、网络原因、设备返回的错误等,具体示例如下表2所示。
[0067]
表2动作命令的具体示例
[0068][0069]
具体的,解析参数时,如果是信息查询命令query,后面括号内容为查询参数,如果是动作命令,后面括号内容为执行参数,两类参数书写方式一致,单个参数为明确的键值等式,形如field:value,value数值类型支持字符串、数值、布尔、数组等一种或多种形式,数组内元素支持字符串、数值、布尔等一种或多种形式,使用常规逻辑符and/or可关联单个参数,形如:field1:value1 and field2:value2 or field3:value3。
[0070]
进一步的,本实施例提供了一个具体的执行指令,执行者要将一个威胁的访问者(ip:115.10.10.10)添加到防火墙设备(ip:1.1.1.1)中,并用扫描器(ip:2.2.2.2)扫描其攻击的机器(ip:192.168.20.20)避免有其他问题,并将该情况通过短信服务(host:msg.dbapp.com)发送到用户手机上(18355555555)通知用户有这个威胁。
[0071]
语法解析器接收到的执行指令为:
[0072]
disposal to(block(blockips:["115.10.10.10"]and deviceips:["1.1.1.1"])
[0073]
and scan(scanips:["192.168.20.20"]and deviceips:["2.2.2.2"])
[0074]
and sendsms(phone:["18355555555"]and devicehosts:["msg.dbapp.com"]and message:"您好,已封禁攻击者115.10.10.10,并对被攻击资产192.168.20.20进行了威胁扫描,请关注。"))
[0075]
利用语法解析器解析该执行指令,将执行指令切分后得到三个操作命令,对应3个执行动作为block、scan、sendsms,利用多线程并行解析3个动作的对应参数,也即命令元素,具有较高的解析效率,解析后分发给基于并行架构的语法执行器。
[0076]
语法执行器获取解析后的命令元素,利用多线程并发执行对应的封禁、扫描、发短
信的操作,并返回最后的操作结果。
[0077]
相应的,本技术实施例还公开了一种领域特定语言的执行系统,参见图2所示,包括:
[0078]
获取模块1,用于获取用户终端的执行指令;
[0079]
解析模块2,用于利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
[0080]
操作模块3,用于利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
[0081]
相应的,本技术实施例还公开了一种领域特定语言的执行装置,包括:
[0082]
存储器,用于存储计算机程序;
[0083]
处理器,用于执行所述计算机程序时实现如上文任一项所述领域特定语言的执行方法的步骤。
[0084]
其中,具体有关领域特定语言的执行方法的相关内容,可以参照上文实施例中的细节描述,此处不再赘述。
[0085]
本技术实施例中的执行系统和执行装置,不论执行指令的形式语言,都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
[0086]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0087]
以上对本发明所提供的一种领域特定语言的执行方法、系统及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献