字符串的存储方法、匹配方法、电子设备及可读存储介质组成比例

技术编号:21298697 阅读:21 留言:0更新日期:2019-06-12 07:42
本发明专利技术实施例公开了一种字符串的存储方法、匹配方法、电子设备及可读存储介质,通过将字符串的各字符的二进制数序列排列形成的位图按照预定的方式分为多个数据块,并将所述多个数据块分别存储至对应的存储单元,以存储所述字符串,由此,可以通过选择至少一个目标字符串对应的位图的数据块分别与对应的存储单元中的各待匹配字符串对应的数据块进行匹配,以获取字符串备选集,由此,可以通过较少的数据交换滤除大量与目标字符串不匹配的字符串,提高了数据的访问效率和字符串的匹配效率。

Storage methods, matching methods, electronic devices and readable storage media of strings

The embodiment of the present invention discloses a string storage method, a matching method, an electronic device and a readable storage medium. The bitmap formed by arranging the binary sequence of characters of a string is divided into several data blocks in a predetermined manner, and the multiple data blocks are stored in corresponding storage units to store the string, thereby, the string can be stored by selection. At least one bitmap block corresponding to the target string is matched with the corresponding data block corresponding to the matching string in the corresponding storage unit to obtain the alternative set of strings. Thus, a large number of strings that do not match the target string can be filtered through less data exchange, which improves the efficiency of data access and string matching.

【技术实现步骤摘要】
字符串的存储方法、匹配方法、电子设备及可读存储介质
本专利技术涉及计算机
,更具体地,涉及一种字符串的存储方法、匹配方法、电子设备及可读存储介质。
技术介绍
字符串的匹配是指在对应的数据库中获取与目标字符串完全匹配的字符串,是一种数据库的常见操作。随着现代数据量的急剧增长,字符串的数据规模也越来越大,现有技术对字符串的匹配效率已不能与越来越大的数据量相适配,因此,如何更加高效进行字符串的匹配成为了目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种字符串的存储方法、匹配方法、电子设备及可读存储介质,以通过较少的数据交换滤除大量与目标字符串不匹配的字符串,提高数据的访问效率和字符串的匹配效率。第一方面,本专利技术实施例提供一种字符串的存储方法,所述方法包括:获取待存储的字符串,其中,所述字符串的各字符为对应的二进制数序列;根据各字符的二进制数序列获取所述字符串对应的第一位图;将所述第一位图按照第一预定长度和第一预定宽度分为多个数据块,并将所述多个数据块分别存储至对应的存储单元中。进一步地,所述根据所述各字符的二进制数序列获取所述字符串对应的第一位图包括:将所述各字符的二进制数序列按照预定维度进行排列以获取所述字符串对应的第一位图,所述预定维度包括第一维度和第二维度。进一步地,所述第一预定宽度为1,所述第一预定长度为处理器的寄存器位数的整数倍,其中,所述第一预定宽度对应的维度与所述预定维度相同,所述第一预定长度对应的维度与所述预定维度相反。进一步地,所述第一维度为列,所述第二维度为行。进一步地,所述将所述各字符的二进制数序列按照预定维度进行排列以获取所述字符串对应的第一位图包括:响应于所述字符串的长度不满足所述第一预定长度的整数倍,在所述第一预定长度对应的维度上填充0,以使得所述第一预定长度对应的维度上的二进制数序列的长度满足所述第一预定长度的整数倍,从而获取所述字符串对应的第一位图。进一步地,所述存储单元存储有在已存储的字符串对应的第一位图的相同位置上的数据块。第二方面,本专利技术实施例提供一种字符串的匹配方法,所述方法包括:获取目标字符串,其中,所述目标字符串的各字符为对应的二进制数序列;根据所述目标字符串中的各字符的二进制数序列获取所述目标字符串对应的第一位图;将所述目标字符串对应的第一位图按照第一预定长度和第一预定宽度分为多个第一数据块;选择至少一个第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块进行匹配,以获取字符串备选集,所述存储单元中的各第二数据块为已存储的各待匹配字符串对应的第一位图在第一位置上的数据块;其中,所述第一数据块处于所述目标字符串对应的第一位图的第一位置上。进一步地,所述选择至少一个第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块进行匹配,以获取字符串备选集包括:采用不同的线程并行处理每个所述第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块的匹配过程。进一步地,所述选择至少一个第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块进行匹配,以获取字符串备选集包括:将各所述第一数据块按照第二预定长度分为多个第三数据块,其中,所述第一预定长度为所述第二预定长度的整数倍,所述第二预定长度为所述处理器的寄存器位数的整数倍;采用不同的线程并行处理每个所述第三数据块分别与所述对应的存储单元中的各待匹配字符串对应的第二数据块中对应数据的匹配过程。进一步地,所述处理器为CPU处理器或GPU处理器。进一步地,所述方法还包括:将所述目标字符串的各字符分别与所述字符串备选集中的字符串的各字符逐一匹配以获取匹配结果,所述匹配结果为与所述目标字符串完全匹配的字符串。进一步地,所述将所述目标字符串对应的第一位图按照第一预定长度和第一预定宽度分为多个第一数据块包括:将所述目标字符串的各字符的二进制数序列按照预定维度进行排列以获取所述目标字符串对应的第一位图,所述预定维度包括第一维度和第二维度。进一步地,所述第一预定宽度为1,所述第一预定长度为处理器的寄存器位数的整数倍,其中,所述第一预定宽度对应的维度与所述预定维度相同,所述第一预定长度对应的维度与所述预定维度相反。进一步地,所述第一维度为列,所述第二维度为行。进一步地,所述将所述目标字符串的各字符的二进制数序列按照预定维度进行排列以获取所述目标字符串对应的第一位图包括:响应于所述目标字符串的长度不满足所述第一预定长度的整数倍,在所述第一预定长度对应的维度上填充0,以使得所述第一预定长度对应的维度上的二进制数序列的长度满足所述第一预定长度的整数倍,从而获取所述目标字符串对应的第一位图。第三方面,本专利技术实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行用以实现如本专利技术实施例的第一方面所述的方法和/或如本专利技术实施例的第二方面所述的方法。进一步地,所述处理器为CPU处理器或GPU处理器。第四方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现如本专利技术实施例的第一方面所述的方法和/或如本专利技术实施例的第二方面所述的方法。本专利技术实施例的技术方案通过将字符串的各字符的二进制数序列排列形成的位图按照预定的方式分为多个数据块,并将所述多个数据块分别存储至对应的存储单元,以存储所述字符串,由此,可以通过选择至少一个目标字符串对应的位图的数据块分别与对应的存储单元中的各待匹配字符串对应的数据块进行匹配,以获取字符串备选集,由此,可以通过较少的数据交换滤除大量与目标字符串不匹配的字符串,提高了数据的访问效率和字符串的匹配效率。附图说明通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是本专利技术实施例的字符串的存储方法的流程图;图2是本专利技术实施例的字符串对应的第一位图的示意图;图3是本专利技术实施例的一种实施方式的存储列表的示意图;图4是本专利技术实施例的字符串的匹配方法的流程图;图5是本专利技术实施例的一种实施方式的目标字符串对应的第一位图的示意图;图6是本专利技术实施例的一种实施方法的字符串的匹配方法的流程图;图7是本专利技术实施例的另一种实施方式的目标字符串对应的第一位图的示意图;图8是本专利技术实施例的另一种实施方式的存储列表的示意图;图9和图10是本专利技术实施例的获取的字符串备选集中的字符串对应的第一位图;图11是本专利技术实施例的电子设备的示意图。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示本文档来自技高网...

【技术保护点】
1.一种字符串的存储方法,其特征在于,所述方法包括:获取待存储的字符串,其中,所述字符串的各字符为对应的二进制数序列;根据各字符的二进制数序列获取所述字符串对应的第一位图;将所述第一位图按照第一预定长度和第一预定宽度分为多个数据块,并将所述多个数据块分别存储至对应的存储单元中。

【技术特征摘要】
1.一种字符串的存储方法,其特征在于,所述方法包括:获取待存储的字符串,其中,所述字符串的各字符为对应的二进制数序列;根据各字符的二进制数序列获取所述字符串对应的第一位图;将所述第一位图按照第一预定长度和第一预定宽度分为多个数据块,并将所述多个数据块分别存储至对应的存储单元中。2.根据权利要求1所述的方法,其特征在于,所述根据所述各字符的二进制数序列获取所述字符串对应的第一位图包括:将所述各字符的二进制数序列按照预定维度进行排列以获取所述字符串对应的第一位图,所述预定维度包括第一维度和第二维度。3.根据权利要求2所述的方法,其特征在于,所述第一预定宽度为1,所述第一预定长度为处理器的寄存器位数的整数倍,其中,所述第一预定宽度对应的维度与所述预定维度相同,所述第一预定长度对应的维度与所述预定维度相反。4.根据权利要求2或3所述的方法,其特征在于,所述第一维度为列,所述第二维度为行。5.根据权利要求2所述的方法,其特征在于,所述将所述各字符的二进制数序列按照预定维度进行排列以获取所述字符串对应的第一位图包括:响应于所述字符串的长度不满足所述第一预定长度的整数倍,在所述第一预定长度对应的维度上填充0,以使得所述第一预定长度对应的维度上的二进制数序列的长度满足所述第一预定长度的整数倍,从而获取所述字符串对应的第一位图。6.根据权利要求1所述的方法,其特征在于,所述存储单元存储有在已存储的字符串对应的第一位图的相同位置上的数据块。7.一种字符串的匹配方法,其特征在于,所述方法包括:获取目标字符串,其中,所述目标字符串的各字符为对应的二进制数序列;根据所述目标字符串中的各字符的二进制数序列获取所述目标字符串对应的第一位图;将所述目标字符串对应的第一位图按照第一预定长度和第一预定宽度分为多个第一数据块;选择至少一个第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块进行匹配,以获取字符串备选集,所述存储单元中的各第二数据块为已存储的各待匹配字符串对应的第一位图在第一位置上的数据块;其中,所述第一数据块处于所述目标字符串对应的第一位图的第一位置上。8.根据权利要求7所述的方法,其特征在于,所述选择至少一个第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块进行匹配,以获取字符串备选集包括:采用不同的线程并行处理每个所述第一数据块分别与对应的存储单元中的各待匹配字符串对应的第二数据块的匹配过程。9.根据权利要求7所述的方法,其特征在于...

【专利技术属性】
技术研发人员:谢超郭人通易小萌陈婉琴
申请(专利权)人:上海赜睿信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1