我有一张表,可用于根据提供的条件确定操作。这就是现在的样子。
IPAddress, MACAddress, Hostname, ScriptName, Argument1, Argument2, Argument3
10.2.1.* , .* , .* , diagnostics.sh, -runAll, ,
在此表中,前三列是条件,后四列是操作。条件单元格的值是我在其上执行 REGEX_LIKE 的正则表达式值,因此当我查找要在设备上运行的正确脚本时,我会查看它的 IP(或 MAC,我得到一个或另一个,而不是两个)并且主机名,如果正则表达式匹配,那么我会得到需要运行的脚本名称和该脚本的参数。
有些脚本只有一个参数,有些有两个,还有一些有三个。
我该如何修改它以便我可以任意列出条件和操作。例如,我得到了条件的键、值映射(属性名称、属性值),一旦满足规则,我就会检索与该设备相关的操作键、值元素列表。
为简单起见,初始化后不会对该数据库进行任何更新。它在启动时通过从平面文件中读取规则进行初始化,并在运行时用于确定已满足所提供输入的规则。
这是我认为更适合这个的模式,但我不知道这是否正确,我也不知道如何获得匹配规则。
Table Name: Column List
Attributes: attributeId, name, value
Conditions: conditionId, ruleId, attributeId
Actions : actionId, ruleId, attributeId
Rules : ruleId