主权项 |
一种串匹配算法的加速方法,其特征在于,包括构造基本转换规则与交叉转换规则,根据缓存策略函数确定状态缓存寄存器中的状态S<sub>c1</sub>与S<sub>c2</sub>,判断当前状态S<sub>i</sub>在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态S<sub>k</sub>,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态S<sub>c1</sub>与S<sub>c2</sub>;否则,将被缓存的状态S<sub>c2</sub>取出,并以状态S<sub>c2</sub>为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态S<sub>j</sub>,并应用2步交叉转换规则;否则,将被缓存的状态S<sub>c1</sub>取出,并以状态S<sub>c1</sub>为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态S<sub>j</sub>,并应用1步交叉转换规则;否则,判断初始状态S<sub>0</sub>是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S<sub>0</sub>,用于失败转换规则。 |