System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种基于现场可编程阵列器件的字符串的查询方法和装置。
技术介绍
1、正则表达式是一种强大的工具,可以帮助我们快速地查找和处理数据,可用于数据库中搜索数据,其中,正则表达式是由普通字符(字母/数字/符号)和特殊字符(元字符)组成的文字模式,用来匹配和处理文本的字符串。由于其匹配速度快、支持的文本形式多样被广泛应用于数据处理的各种领域。
2、当前,对海量数据的高效实时分析的需求越来越多,如何从数据库中检索用户需要的信息,快速响应各种查询需求,成为数据库研究的重要方向。现有技术中通常利用cpu(central processing unit,中央处理器)上的软件根据正则表达式从数据库中查询出对应的字符串,由于在数据库中正则表达式匹配是非常消耗cpu算力并且影响查询性能的关键因素,随着数据库中数据的不断增加,受到cpu计算限制,正则表达式匹配逐渐成为瓶颈,难以高效地查询出正则表达式对应的字符串。
3、针对相关技术中,字符串的查询的效率较低等问题,尚未提出有效的解决方案
技术实现思路
1、本申请实施例提供了一种基于现场可编程阵列器件的字符串的查询方法和装置,以至少解决相关技术中,字符串的查询的效率较低等问题。
2、根据本申请实施例的一个实施例,提供了一种基于现场可编程阵列器件的字符串的查询方法,所述现场可编程阵列器件中部署了应用接口,数据接口和m个计算单元,所述现场可编程阵列器件通过所述应用接口连接了查询应用,并通
3、所述现场可编程阵列器件通过所述应用接口接收所述查询应用下发的待匹配的目标字符串,其中,所述查询应用用于将用户发起的目标查询请求中携带的目标正则表达式解析为所述目标字符串;
4、所述m个计算单元并行匹配所述存储空间中的m个数据行与所述目标字符串,直至所述存储空间中的全部数据行均匹配完成,得到所述目标正则表达式的查询结果,其中,所述m个数据行与所述m个计算单元一一对应,所述m个计算单元中的每个计算单元将接收到的对应数据行上的每个字符串的字符同时与所述目标字符串中的全部字符进行匹配得到候选字符串,并从所述候选字符串中筛选字符的排列顺序与所述目标字符串中字符的排列顺序一致的参考字符串作为所述查询结果,所述候选字符串为包括所述目标字符串中的全部字符的字符串,m为大于1的整数。
5、可选的,所述m个计算单元并行匹配所述存储空间中的m个数据行与所述目标字符串,直至所述存储空间中的全部数据行均匹配完成,包括:
6、所述现场可编程阵列器件通过所述数据接口向所述m个计算单元中每个计算单元传输所述存储空间中的p个数据行,直至所述存储空间中的全部数据行均传输至所述m个计算单元,其中,所述m个计算单元并行运行,所述每个计算单元用于将所述p个数据行中的每个字符串中的字符同时与所述目标字符串中的全部字符进行匹配,p为大于1的整数。
7、可选的,所述现场可编程阵列器件通过所述数据接口向所述m个计算单元中每个计算单元传输所述存储空间中的p个数据行,包括:
8、所述现场可编程阵列器件对每个所述计算单元当前的运行状态进行检测;
9、在检测到所述m个计算单元中存在所述运行状态为空闲状态的目标计算单元的情况下,所述现场可编程阵列器件从所述存储空间中按照存储顺序为所述目标计算单元提取所述p个数据行;
10、所述现场可编程阵列器件将所述p个数据行传输至所述目标计算单元。
11、可选的,所述现场可编程阵列器件从所述存储空间中按照存储顺序为所述目标计算单元提取所述p个数据行,包括:所述现场可编程阵列器件从所述m个计算单元中提取所述运行状态为所述空闲状态的l个所述目标计算单元;从所述存储空间中按照存储顺序提取l×p个数据行;
12、所述现场可编程阵列器件将所述p个数据行传输至所述目标计算单元,包括:所述现场可编程阵列器件将每p个数据行传输至l个所述计算单元中的一个计算单元。
13、可选的,所述每个计算单元中分配了片上存储和第一运算资源,所述片上存储用于存储传输至所述每个计算单元上的数据行,所述第一运算资源用于将所述p个数据行中的每个字符串中的字符同时与所述目标字符串中的全部字符进行匹配,所述现场可编程阵列器件对每个所述计算单元当前的运行状态进行检测,包括以下之一:
14、所述现场可编程阵列器件对所述每个计算单元中的所述第一运算资源的运算状态进行检测;在所述运算状态用于指示对应的第一运算资源当前未执行运算的情况下,确定所述每个计算单元当前的运行状态为所述空闲状态;
15、所述现场可编程阵列器件对所述每个计算单元上的所述片上存储中存储的数据行的数据行数目进行检测;在检测到所述数据行数目小于或者等于预设数目的情况下,确定所述每个计算单元当前的运行状态为所述空闲状态。
16、可选的,每个所述计算单元中分配了片上存储,所述片上存储与所述存储空间连接,所述现场可编程阵列器件通过所述数据接口向所述m个计算单元中每个计算单元传输所述存储空间中的p个数据行,包括:
17、所述每个计算单元通过所述数据接口向所述存储空间发送握手信号,其中,所述握手信号用于指示所述每个计算单元的运行状态处于空闲状态;
18、所述每个计算单元通过所述数据接口接收所述存储空间响应所述握手信号返回的所述p个数据行;
19、所述每个计算单元将所述p个数据行存储至所述每个计算单元上的所述片上存储中。
20、可选的,所述m个计算单元并行匹配所述存储空间中的m个数据行与所述目标字符串,直至所述存储空间中的全部数据行均匹配完成,包括:
21、所述现场可编程阵列器件通过所述m个计算单元中每个计算单元将对应的一个数据行中的每个字符串中的字符同时与所述目标字符串中的全部字符进行匹配,直至所述存储空间中的全部数据行均匹配完成。
22、可选的,所述现场可编程阵列器件通过所述m个计算单元中每个计算单元将对应的一个数据行中的每个字符串中的字符同时与所述目标字符串中的全部字符进行匹配,包括:
23、所述每个计算单元从所述一个数据行中获取一个当前未被匹配的字符串作为待匹配字符串,并对所述待匹配字符串执行如下步骤,直至所述一个数据行中全部字符串均被匹配:
24、从所述待匹配字符串中提取出一个当前未被匹配的字符作为待匹配字符;
25、将所述待匹配字符同时与所述目标字符串中的各个字符进行比对,直至所述待匹配字符串中全部字符均被提取,得到所述待匹配字符串中每个字符对应的字符匹配结果;
26、根据所述待匹配字符串中每个字符对应的字符匹配结果确定所述待匹配字符串是否包括所述目标字符串中的全部字符;
27、在确定出所述待匹配字符串包括所述目标字符串中的全部字符的情况下,将所述待匹配字符串确定为一个候选字符串。
28本文档来自技高网...
【技术保护点】
1.一种基于现场可编程阵列器件的字符串的查询方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求2所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求9所述的方法,其特征在于,
11.根据权利要求7所述的方法,其特征在于,
12.根据权利要求11所述的方法,其特征在于,
13.根据权利要求12所述的方法,其特征在于,
14.根据权利要求1所述的方法,其特征在于,
15.根据权利要求14所述的方法,其特征在于,
16.根据权利要求14所述的方法,其特征在于,
17.根据权利要求16所述的方法,其特征在于,
< ...【技术特征摘要】
1.一种基于现场可编程阵列器件的字符串的查询方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求2所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求9所述的方法,其特征在于,
11.根据权利要求7所述的方法,其特征在于,
12.根据权利要求11所述的方法,其特征在于,
13.根据权利要求12所述的方法,其特征在于,
14.根据权利要求1所述的方法,其特征在于,
<...【专利技术属性】
技术研发人员:任智新,张闯,黄广奎,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。