【技术实现步骤摘要】
可变长序列匹配方法、数据库访问方法及装置
本专利技术涉及一种数据库
,尤其涉及一种可变长序列匹配方法、数据库访问方法及装置。
技术介绍
在数据库中,数据涉及很多数据类型,例如,char、varchar、text、binary、tinyint、int、decimal等。数据库中一个数据表中可能包含多个属性的数据列,其中,不同属性的数据列的宽度可能不同,同一属性的数据列中的不同数据元素的长度也可能不同。简单而言,数据库中的数据表中不同数据列或一列中的不同数据元素可以是可变长的。而在访问数据库中的数据时,常常涉及匹配出数据元素或数据序列的操作,例如,在一个数据表中查询符合一定条件的数据列,或在数据表的一列中查询符合一定条件的数据元素。为数据库设计专用处理器(如,FPGA、ASIC等硬件)能够提升数据库访问的速度。然而,如何对可变长序列进行匹配成为影响专用处理器性能的关键因素。
技术实现思路
本专利技术提供了一种可变长序列匹配方法、数据库访问方法及装置,以提升数据库专用处理器的性能,进而提高数据库性能。根据本专利技术的一个方面,提供了一种可变长序列匹配方法,包括:按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,以及按序列流顺序以最小比较单元为粒度缓存模板序列的数据位;其中,所述待匹配序列流的最小比较单元和所述模板序列的最小比较单元包括相同位宽的数据位;按序列流顺序从缓存的所述待匹配序列流的数据位中读取一个最小比较单元的数据位,以及按序列流顺序从缓存的所述模板 ...
【技术保护点】
1.一种可变长序列匹配方法,其特征在于,包括:/n按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,以及按序列流顺序以最小比较单元为粒度缓存模板序列的数据位;其中,所述待匹配序列流的最小比较单元和所述模板序列的最小比较单元包括相同位宽的数据位;/n按序列流顺序从缓存的所述待匹配序列流的数据位中读取一个最小比较单元的数据位,以及按序列流顺序从缓存的所述模板序列的数据位中读取一个最小比较单元的数据位;/n将读取的所述待匹配序列流的一个最小比较单元的数据位和读取的所述模板序列的一个最小比较单元的数据位进行匹配比较;/n在匹配比较一致的情况下,若当前读取的所述待匹配序列流的数据位所属最小比较单元是其所属子序列的最后一个最小比较单元,且当前读取的所述模板序列的数据位所属最小比较单元是模板的最后一个最小比较单元,则获取当前读取的所述待匹配序列流的数据位所属子序列的索引值,并输出获取的索引值。/n
【技术特征摘要】
1.一种可变长序列匹配方法,其特征在于,包括:
按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,以及按序列流顺序以最小比较单元为粒度缓存模板序列的数据位;其中,所述待匹配序列流的最小比较单元和所述模板序列的最小比较单元包括相同位宽的数据位;
按序列流顺序从缓存的所述待匹配序列流的数据位中读取一个最小比较单元的数据位,以及按序列流顺序从缓存的所述模板序列的数据位中读取一个最小比较单元的数据位;
将读取的所述待匹配序列流的一个最小比较单元的数据位和读取的所述模板序列的一个最小比较单元的数据位进行匹配比较;
在匹配比较一致的情况下,若当前读取的所述待匹配序列流的数据位所属最小比较单元是其所属子序列的最后一个最小比较单元,且当前读取的所述模板序列的数据位所属最小比较单元是模板的最后一个最小比较单元,则获取当前读取的所述待匹配序列流的数据位所属子序列的索引值,并输出获取的索引值。
2.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,以及按序列流顺序以最小比较单元为粒度缓存模板序列的数据位之前,所述方法,还包括:
按序列流顺序将待匹配序列流的子序列以最小比较单元为粒度进行划分,以及按序列流顺序将模板序列以最小比较单元为粒度进行划分;其中,所述待匹配序列流的最小比较单元包括设定位宽的数据位和用于标识该最小比较单元所属子序列的标志位,所述模板序列的最小比较单元包括所述设定位宽的数据位。
3.如权利要求1所述的可变长序列匹配方法,其特征在于,还包括:
在匹配比较一致的情况下,若当前读取的所述待匹配序列流的数据位所属最小比较单元不是其所属子序列的最后一个最小比较单元,且当前读取的所述模板序列的数据位所属最小比较单元不是模板的最后一个最小比较单元,则获取当前读取的所述待匹配序列流的数据位所属最小比较单元的下一个最小比较单元的数据位,以及获取当前读取的所述模板序列的数据位所属最小比较单元的下一个最小比较单元的数据位,以进行下一次匹配比较。
4.如权利要求1所述的可变长序列匹配方法,其特征在于,还包括:
在匹配比较不一致的情况下,则将所述模板序列的读取位置重置至模板的初始位置,以及将所述待匹配序列流的读取位置跳至当前读取的数据位所属子序列的下一个子序列的初始最小比较单元。
5.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位时,所述方法,还包括:
对缓存的所述待匹配序列流的数据位所属的子序列进行计数,以得到相应子序列的索引值。
6.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序以最小比较单元为粒度缓存模板序列的数据位,包括:
按序列流顺序以最小比较单元为粒度依次缓存模板序列的所有最小比较单元的数据位。
7.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,包括:
按序列流顺序以最小比较单元为粒度依次缓存待匹配序列流的多个最小比较单元的数据位。
8.如权利要求2所述的可变长序列匹配方法,其特征在于,所述设定位宽为一个字节的位宽。
9.如权利要求2所述的可变长序列匹配方法,其特征在于,所述待匹配序列流的最小比较单元的标志位为第一数值,以表明该最小比较单元与其紧邻下一个最小比较单元属于同一子序列;所述待匹配序列流的最小比较单元的标志位为不同于所述第一数值的第二数值,以表明该最小比较单元与其紧邻下一个最小比较单元属于不同子序列。
10.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位,包括:
在接收到外部序列流输出装置的读取数据指令的情况下,按序列流顺序以最小比较单元为粒度缓存待匹配序列流的数据位。
11.如权利要求1所述的可变长序列匹配方法,其特征在于,按序列流顺序从缓存的所述待匹配序列流的数据位中读取一个最小比较单元的数据位,以及按序列流顺序从缓存的所述模板序列的数据位中读取一个最小比较单元的数据位,包括:
在接收到外部匹配结果接收装置的匹配指令的情况下,按序列流顺序从缓存的所述...
【专利技术属性】
技术研发人员:鄢贵海,孔浩,
申请(专利权)人:中科驭数北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。