具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术方案的主要原理可包括:通过预先建立关键字与匹配字符的映射关系并通过关联列表保存,在需要删除内容包含目标匹配字符的关键字时,通过该目标匹配字符查找到用于标识关键字与匹配字符的映射关系的关联列表,该关联列表中保存的关键字为与该目标匹配字符存在映射关系的关键字,删除该关联列表中的关键字对应的键值对可完成对与该目标匹配字符存在关联关系的关键字对应的键值对。
本申请的技术方案可应用于配置有内存且通过在内存中保存键值对的方式进行快速读取的计算机设备,该计算机设备包括但不限于:分布式服务器、个人电脑、笔记本电脑。
参见图1,图1是本申请实施例提供的一种数据处理的方法的流程示意图,该方法可以执行在上述提到的配置有内存且通过在内存中保存键值对的方式进行快速读取的计算设备上,所述方法至少包括:
步骤S101,获取键值对删除指令,所述键值对删除指令包括目标匹配字符。
这里,目标匹配字符可以为关键字的部分或全部内容,例如,关键字为car:benz,则目标匹配字符为car:benz中的一个或多个字符,目标匹配字符可以为car,benz,ca,ar,等等。
这里,键值对删除指令是根据用户的操作获取得到的,其中,可通过获取用户在视图界面上的操作或者在命令输入窗口中的操作获取键值对删除指令。
具体的,在计算设备中存在内存提供给视图界面的删除键值对的接口的情况下,计算机可以以视图界面的方式向用户显示键值对的删除界面,例如可以如图2所示,当用户在图2所示的视图界面中输入目标匹配字符且点击删除按钮时,则可以获取到键值对删除指令;在计算设备不存在内存提供给视图界面的删除键值对的接口的情况下,用户可以在命令输入窗口中输入对目标匹配字符的键值对删除指令,计算机设备根据用户的输入获取到键值对删除指令。
步骤S102,根据所述目标匹配字符查找所述目标匹配字符对应的关联列表,所述关联列表为预设的用于标识关键字与匹配字符的映射关系的列表。
本申请实施例中,可以通过搜索引擎模块查找关联列表,这里,搜索引擎模块可以为elasticsearch、solr等可以建立数据索引且进行搜索的模块。具体的,在通过步骤S101获取到键值对删除指令时,调用搜索引擎的接口将该目标匹配字符送入搜索引擎中实现根据目标匹配字符查找目标匹配字符对应的关联列表。
这里,一个匹配字符对应一个关联列表,关联列表中保存有该匹配字符以及与该匹配字符对应的关键字,匹配字符对应的关键字可以有一个或多个。
具体的,例如用于标识关键字与匹配字符的映射关系的关联列表如表1所示:
c |
car:benz,car:bmw,car:porsche |
ca |
car:benz,car:bmw,car:porsche |
car |
car:benz,car:bmw,car:porsche |
v |
view:mountain,view:beach,view:lake |
vi |
view:mountain,view:beach,view:lake |
vie |
view:mountain,view:beach,view:lake |
表1
如果目标匹配字符为“vi”,则目标匹配字符对应的关联列表为vi所在的行的列表,即上述列表中的第五行列表。
S103,确定存在于所述关联列表中的关键字,并在内存中删除所述关键字对应的键值对。
由步骤S102可知,关联列表中保存有目标匹配字符以及与目标匹配字符对应的关键字,根据关联列表可确定关键字的完整名称,根据关键字的完整名称删除该关键字对应的键值对。
具体的,如果与目标匹配字符对应的关联列表为上述表1的ca所在的行的列表,则存在与关联列表中的关键字为car:benz,car:bmw以及car:porsche,则删除关键字为car:benz,car:bmw以及car:porsche的键值对。
本申请实施例中,首先通过键值对删除指令中的目标匹配字符查找到与该目标匹配字符对应的关联列表,然后通过关联列表确定了与目标字符对应的关键字,删除该关键字对应的键值对,由于事先通过关联列表建立了目标匹配字符与关键字的映射关系,可避免在要删除包含目标字匹配符的关键字时在内存中进行遍历,在需要删除多个具备相同内容的关键字的情况下可缩短查找关键字的时间,提高删除效率。
在一些可能的实施例中,可在创建键值对的时候建立键值对中的关键字与匹配字符的映射关系。
参见图3,图3是本申请实施例提供的另一种数据处理的方法的流程示意图,如图所示,所述方法包括:
步骤S201,在内存中创建键值对的同时,确定与所述键值对中的关键字对应的至少一个匹配字符,其中,所述匹配字符的字符长度小于或等于所述关键字的字符长度。
本申请实施例中,可通过以下几种可能的方式确定与键值对中的关键字对应的至少一个匹配字符:
第一种方式,可利用分词提取算法确定与键值对中的关键字对应的至少一个匹配字符。
具体的,可基于N元文法统计(N-gram)算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符,其中,该至少一个匹配字符的字符长度大于或等于分词提取的最小长度(min_gram),该至少一个匹配字符的字符长度同时还小于或等于分词提取的最大长度(max_gram)。
这里,可根据关键字的字符长度确定N-gram算法中分词提取的最小长度和最大长度。
这里,N-gram中的N指的是分词提取得到的分词的字符长度,N-gram算法提取分词的原理为:按照N的取值依次在关键字中依次提取长度为N的匹配字符,其中,N的取值从min_gram到max_gram。下面对通过N-gram算法对关键字进行分词提取得到关键字对应的至少一个匹配字符进行介绍。
假设分词提取的最小长度为1,最大长度为5,关键字为inform,分词提取过程如下:
1)N=1,提取的1元分词(unigram)为i,n,f,o,r,m;
2)N=2,提取的2元分词(bigram)为in,nf,fo,or,rm;
3)N=3,提取的3元分词(trigram)为inf,nfo,for,orm;
4)N=4,提取的4元分词(4-gram)为info,nfor,form;
5)N=5,提取的5元分词(5-gram)为infor,nform。
上述提取到的分词均为关键字对应的匹配字符,即inform对应的至少一个匹配字符为:i,n,f,o,r,m;in,nf,fo,or,rm;inf,nfo,for,orm;info,nfor,form;infor,nform。
在一些可能的实现方式中,为了减少通过N-gram算法提取得到的匹配字符的数量,还可以基于边缘N-gram算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符。
边缘N-gram算法是一种特殊的N-gram算法,其将分词提取的起始点放在单词的开头处,仍以分词提取的最小长度为1,最大长度为5,关键字为inform为例,基于边缘N-gram算法提取的分词为:i,in,inf,info,infor,即基于边缘N-gram算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符为:i,in,inf,info,infor。
可选的,还可以基于其他分词提取算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符,本申请实施例不做限制。
具体实现中,可通过基于分词提取算法的搜索引擎完成对关键词的分词提取,例如,该搜索引擎可以为基于N-gram算法的elasticsearch搜索引擎,可调用该搜索引擎的接口将该关键词送入搜索引擎中以对该关键词进行分词提取。
第二种方式,可通过自定义的方式确定与键值对中的关键字对应的至少一个匹配字符,其中,该自定义的方式所确定的匹配字符中所包含的第一字符均为关键字中的第一字符。
具体的,可根据字符提取规则从所述键值对中的关键字中提取至少一个第一字符,将所述提取得到的至少一个第一字符按序排列形成至少一个匹配字符,所述第一字符的字符长度为1。
这里,匹配字符中所包含的第一字符的个数可不等于第一字符的总个数,匹配字符中包含的第一字符的个数也可小于第一字符的总个数,例如,从关键字中提取的第一字符的个数为5个,则匹配字符中包含的第一字符的个数小于等于5,匹配字符中包含的第一字符的个数可以为1个,2个,3个,4个,5个。
这里,按序排列是指根据第一字符在关键字中的顺序排列该第一字符,例如,从关键字中提取的第一字符分别为a,b,c,其中,在关键字中,a排列在b之前,b排列在c之前,则在将a,b,c组成形成匹配字符时,若匹配字符中的第一字符为a,b,c中的至少两个,这两个字符的顺序与其在关键字中的顺序相同,即若将a与b排列形成匹配字符,则将a排列在b之前,若将b与c排列形成匹配字符,则将b排列在c之前,若将a与c排列形成匹配字符,则将a排列在c之前。
这里,字符提取规则可包括但不限于以下几种:
1)提取处于预设指示字符之前的第一字符。此种字符提取规则可适用于关键字的格式相同或者均包含同一个字符的情况。
例如,关键字均为“a+:+b”格式,即每一个关键字中均包含冒号“:”,则预设指示符可以为“:”,即在关键字中提取“:”之前的字符作为第一字符。
可选的,字符提取规则也可以为提取处于预设指示字符之后的第一字符。
2)提取处于关键字的第X至Y位的第一字符,X与Y均为大于或等于1的正整数,X≤Y。
例如,X为3,Y为5,关键字为business,则提取第3~5位的字符即s,i,n作为第一字符。
3)提取处于关键字的后L位的第一字符,L为正整数。此种字符提取规则可适用于关键字的格式相同,以不同的后缀来标识不同的分类的情况。
例如,L为4,关键字为business,则在关键字中提取后4位的字符即n,e,s,s作为第一字符。
可选的,还可以结合上述几种字符提取规则组成新的字符提取规则。
应当理解的是,上述对字符提取规则的描述以及举例仅作为本申请的示例,不应对本申请造成限制,在可选方式中,还可以有其他的字符提取规则或预设指示字符,例如,字符提取规则还可以为提取处于关键字的2n+1位的第一字符,提取处于关键字的2n位的第一字符,其中,n为大于等于0的正整数,预设指示字符还可以为“-”,“$”,“#”等字符。
这里,根据字符提取规则提到至少一个字符后,可以根据实际的需要设计形成匹配字符的规则。
在一种可能的方式中,可参考上述的N-gram算法,在提取到N个第一字符后,分别形成字符长度为1~N的匹配字符。
例如,提取到第一字符的排列顺序为a,b,c,d,则形成字符长度为1的匹配字符a,b,c,d,形成字符长度为2的匹配字符ab,bc,cd,形成字符长度为3的匹配字符abc,bcd,形成字符长度为4的匹配字符abcd。
可选的,为了减少匹配字符的数量,可参考边缘N-gram算法,在形成的长度为1~N的匹配字符中选择N个字符长度不同的匹配字符作为关键字对应的至少一个匹配字符。
在另一种可能的方式中,也可以在提取到N个第一字符后,分别形成字符长度等于W的匹配字符,其中,W小于等于N。
例如,提取到第一字符的排列顺序为a,b,c,d,W为3,则形成字符长度等于3的匹配字符,分别为abc,acd,bcd。
不限于这里的两种可能的方式,在可选实施例方式中,还可以有其他的形成匹配字符的方式,本申请不做限制,只要满足由第一字符按序排列形成的匹配字符均在本申请的保护范围之内。
步骤S202,将所述关键字保存在所述至少一个匹配字符对应的关联列表中。
这里,匹配字符在关联列表中的情况有以下两种:
一、关联列表中已经存在该匹配字符,在此种情况下,直接将该关键字保存在该已经存在于关联列表中的匹配字符对应的关联列表中。
二、关联列表中还不存在该匹配字符,在此种情况下,将该关键字以及该还不存在与该匹配字符对应保存在关联列表中。
下面举例来进行说明,例如,当前的关联列表如表1所示,关键字为viewer,匹配字符为vie,wer,由于vie已经存在于表1中,则直接将viewer保存在vie所在的行的列表中,wer不存在于表1中,则将wer与viewer对应保存在关联列表中,保存后的关联列表如表2所示:
表2
步骤S203,获取键值对删除指令,所述键值对删除指令包括目标匹配字符。
步骤S204,根据所述目标匹配字符查找所述目标匹配字符对应的关联列表。
步骤S205,确定存在于所述目标匹配字符对应的关联列表中的关键字,并在内存中删除所述关键字对应的键值对。
其中,步骤S203~S205的具体实现方式可参考上述图1对应的实施例中步骤S101~S103的描述,此处不再赘述。
本申请实施例中,通过预先定义关键字与匹配字符的对应关系并通过关联列表保存,在需要删除包好目标匹配字符的关键字的情况下,可根据目标匹配字符找到与该目标匹配字符对应的关联列表,然后通过关联列表确定了与目标字符对应的关键字,删除该关键字对应的键值对,可避免在要删除包含目标字匹配符的关键字时在内存中进行遍历,在需要删除多个具备相同内容的关键字且关键字较多的情况下可缩短查找关键字的时间,提高删除效率。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
参见图4,图4是本申请实施例提供的一种数据处理的装置,该装置可用于执行上述图1至图3对应的实施例中的方法,该装置包括但不限于:分布式服务器、个人电脑、笔记本电脑,如图所示,所述装置30包括:
删除指令获取单元310,用于获取键值对删除指令,所述键值对删除指令包括目标匹配字符;
列表查找单元320,用于根据所述目标匹配字符查找所述目标匹配字符对应的关联列表,所述关联列表为预设的用于标识关键字与匹配字符的映射关系的列表;
删除单元330,用于确定存在于所述关联列表中的关键字,并在内存中删除所述关键字对应的键值对。
这里,目标匹配字符可以为关键字的部分或全部内容,例如,关键字为car:benz,则目标匹配字符为car:benz中的一个或多个字符,目标匹配字符可以为car,benz,ca,ar,等等。
这里,键值对删除指令是根据用户的操作获取得到的,其中,删除指令获取单元310可通过获取用户在视图界面上的操作或者在命令输入窗口中的操作获取键值对删除指令。
具体的,在计算设备中存在内存提供给视图界面的删除键值对的接口的情况下,计算机可以以视图界面的方式向用户显示键值对的删除界面,例如可以如图2所示,当用户在图2所示的视图界面中输入目标匹配字符且点击删除按钮时,删除指令获取单元310则可以获取到键值对删除指令;在计算设备不存在内存提供给视图界面的删除键值对的接口的情况下,用户可以在命令输入窗口中输入对目标匹配字符的键值对删除指令,删除指令获取单元310根据用户的输入获取到键值对删除指令。
本申请实施例中,列表查找单元320可以通过搜索引擎模块查找关联列表,这里,搜索引擎模块可以为elasticsearch、solr等可以建立数据索引且进行搜索的模块。具体的,在删除指令获取单元310获取到键值对删除指令时,列表查找单元320调用搜索引擎的接口将该目标匹配字符送入搜索引擎中实现根据目标匹配字符查找目标匹配字符对应的关联列表。
可选的,所述装置30还可以包括:
匹配字符确定单元340,用于在内存中创建键值对的同时,确定与所述键值对中的关键字对应的至少一个匹配字符,其中,所述匹配字符的字符长度小于或等于所述关键字的字符长度;
保存单元350,用于将所述关键字保存在所述至少一个匹配字符对应的关联列表中。
本申请实施例中,匹配字符确定单元340可通过以下几种可能的方式确定与键值对中的关键字对应的至少一个匹配字符:
第一种方式,可利用分词提取算法确定与键值对中的关键字对应的至少一个匹配字符。
具体的,基于N-gram算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符,其中,该至少一个匹配字符的字符长度大于或等于分词提取的最小长度(min_gram),该至少一个匹配字符的字符长度同时还小于或等于分词提取的最大长度(max_gram)。
这里,可根据关键字的字符长度确定N-gram算法中分词提取的最小长度和最大长度。
这里,N-gram中的N指的是分词提取得到的分词的字符长度,N-gram算法提取分词的原理为:按照N的取值依次在关键字中依次提取长度为N的匹配字符,其中,N的取值从min_gram到max_gram。下面对通过N-gram算法对关键字进行分词提取得到关键字对应的至少一个匹配字符进行介绍。
假设分词提取的最小长度为1,最大长度为5,关键字为inform,分词提取过程如下:
1)N=1,提取的1元分词(unigram)为i,n,f,o,r,m;
2)N=2,提取的2元分词(bigram)为in,nf,fo,or,rm;
3)N=3,提取的3元分词(trigram)为inf,nfo,for,orm;
4)N=4,提取的4元分词(4-gram)为info,nfor,form;
5)N=5,提取的5元分词(5-gram)为infor,nform。
上述提取到的分词均为关键字对应的匹配字符,即inform对应的至少一个匹配字符为:i,n,f,o,r,m;in,nf,fo,or,rm;inf,nfo,for,orm;info,nfor,form;infor,nform。
在一些可能的实现方式中,为了减少通过N-gram算法提取得到的匹配字符的数量,还可以基于边缘N-gram算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符。
边缘N-gram算法是一种特殊的N-gram算法,其将分词提取的起始点放在单词的开头处,仍以分词提取的最小长度为1,最大长度为5,关键字为inform为例,基于边缘N-gram算法提取的分词为:i,in,inf,info,infor,即基于边缘N-gram算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符为:i,in,inf,info,infor。
可选的,还可以基于其他分词提取算法对该键值对中的关键字进行分词提取得到该关键字对应的至少一个匹配字符,本申请实施例不做限制。
具体实现中,可通过基于分词提取算法的搜索引擎完成对关键词的分词提取,例如,该搜索引擎可以为基于N-gram算法的elasticsearch搜索引擎,可调用该搜索引擎的接口将该关键词送入搜索引擎中以对该关键词进行分词提取。
第二种方式,可通过自定义的方式确定与键值对中的关键字对应的至少一个匹配字符,其中,该自定义的方式所确定的匹配字符中所包含的第一字符均为关键字中的第一字符。
具体的,可根据字符提取规则从所述键值对中的关键字中提取至少一个第一字符,将所述提取得到的至少一个第一字符按序排列形成至少一个匹配字符,所述第一字符的字符长度为1。
这里,匹配字符中所包含的第一字符的个数可不等于第一字符的总个数,匹配字符中包含的第一字符的个数也可小于第一字符的总个数,例如,从关键字中提取的第一字符的个数为5个,则匹配字符中包含的第一字符的个数小于等于5,匹配字符中包含的第一字符的个数可以为1个,2个,3个,4个,5个。
这里,按序排列是指根据第一字符在关键字中的顺序排列该第一字符,例如,从关键字中提取的第一字符分别为a,b,c,其中,在关键字中,a排列在b之前,b排列在c之前,则在将a,b,c组成形成匹配字符时,若匹配字符中的第一字符为a,b,c中的至少两个,这两个字符的顺序与其在关键字中的顺序相同,即若将a与b排列形成匹配字符,则将a排列在b之前,若将b与c排列形成匹配字符,则将b排列在c之前,若将a与c排列形成匹配字符,则将a排列在c之前。
这里,字符提取规则可包括但不限于以下几种:
1)提取处于预设指示字符之前的第一字符。此种字符提取规则可适用于关键字的格式相同或者均包含同一个字符的情况。
例如,关键字均为“a+:+b”格式,即每一个关键字中均包含冒号“:”,则预设指示符可以为“:”,即在关键字中提取“:”之前的字符作为第一字符。
可选的,字符提取规则也可以为提取处于预设指示字符之后的第一字符。
2)提取处于关键字的第X至Y位的第一字符,X与Y均为大于或等于1的正整数,X≤Y。
例如,X为3,Y为5,关键字为business,则提取第3~5位的字符即s,i,n作为第一字符。
3)提取处于关键字的后L位的第一字符,L为正整数。此种字符提取规则可适用于关键字的格式相同,以不同的后缀来标识不同的分类的情况。
例如,L为4,关键字为business,则在关键字中提取后4位的字符即n,e,s,s作为第一字符。
可选的,还可以结合上述几种字符提取规则组成新的字符提取规则。
应当理解的是,上述对字符提取规则的描述以及举例仅作为本申请的示例,不应对本申请造成限制,在可选方式中,还可以有其他的字符提取规则或预设指示字符,例如,字符提取规则还可以为提取处于关键字的2n+1位的第一字符,提取处于关键字的2n位的第一字符,其中,n为大于等于0的正整数,预设指示字符还可以为“-”,“$”,“#”等字符。
这里,根据字符提取规则提到至少一个字符后,可以根据实际的需要设计形成匹配字符的规则。
在一种可能的方式中,可参考上述的N-gram算法,在提取到N个第一字符后,分别形成字符长度为1~N的匹配字符。
例如,提取到第一字符的排列顺序为a,b,c,d,则形成字符长度为1的匹配字符a,b,c,d,形成字符长度为2的匹配字符ab,bc,cd,形成字符长度为3的匹配字符abc,bcd,形成字符长度为4的匹配字符abcd。
可选的,为了减少匹配字符的数量,可参考边缘N-gram算法,在形成的长度为1~N的匹配字符中选择N个字符长度不同的匹配字符作为关键字对应的至少一个匹配字符。
在另一种可能的方式中,也可以在提取到N个第一字符后,分别形成字符长度等于W的匹配字符,其中,W小于等于N。
例如,提提取到第一字符的排列顺序为a,b,c,d,W为3,则形成字符长度等于3的匹配字符,分别为abc,acd,bcd。
不限于这里的两种可能的方式,在可选实施例方式中,还可以有其他的形成匹配字符的方式,本申请不做限制,只要满足由第一字符按序排列形成的匹配字符均在本申请的保护范围之内。
这里,匹配字符在关联列表中的情况有以下两种:
一、关联列表中已经存在该匹配字符,在此种情况下,保存单元350直接将该关键字保存在该已经存在于关联列表中的匹配字符对应的关联列表中。
二、关联列表中还不存在该匹配字符,在此种情况下,保存单元350将该关键字以及该还不存在与该匹配字符对应保存在关联列表中。
下面举例来进行说明,例如,当前的关联列表如表1所示,关键字为viewer,匹配字符为vie,wer,由于vie已经存在于表1中,则保存单元350直接将viewer保存在vie所在的行的列表中,wer不存在于表1中,则保存单元350将wer与viewer对应保存在关联列表中,保存后的关联列表如表2所示。
本申请实施例中,匹配字符确定单元定义关键字与匹配字符的对应关系并通过保存单元350保存用于标识关键字与匹配字符的对应关系的关联列表,在删除单元需要删除包好目标匹配字符的关键字的情况下,列表查找单元根据目标匹配字符找到与该目标匹配字符对应的关联列表,删除单元通过关联列表确定了与目标字符对应的关键字,删除该关键字对应的键值对,可避免在要删除包含目标字匹配符的关键字时在内存中进行遍历,在需要删除多个具备相同内容的关键字且关键字较多的情况下可缩短查找关键字的时间,提高删除效率。
参见图5,图5是本申请实施例提供的一种电子设备的组成结构示意图,该设备可以为配置有内存且通过在内存中保存键值对的方式进行快速读取的计算机设备,该计算机设备包括但不限于:分布式服务器、个人电脑、笔记本电脑,如图所示,该设备40包括处理器401以及存储器402。处理器401连接到存储器402,例如处理器401可以通过总线连接到存储器402。
处理器401被配置为支持所述电子设备执行图1或图3所述的数据处理的方法中相应的功能。该处理器401可以是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(ProgrammableLogic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable GateArray,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
存储器402用于存储程序代码等。存储器402包括内部存储器,内部存储器可以包括以下至少一项:易失性存储器(例如动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)等)和非易失性存储器(例如一次性可编程只读存储器(OTPROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)。存储器402还可以包括外部存储器,外部存储器可以包括以下至少一项:硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)、闪驱,例如高密度闪存(CF)、安全数字(SD)、微型SD、迷你型SD、极限数字(xD)、存储棒等。
处理器401可以调用所述程序代码以执行以下操作:
获取键值对删除指令,所述键值对删除指令包括目标匹配字符;
根据所述目标匹配字符查找所述目标匹配字符对应的关联列表,所述关联列表为预设的用于标识关键字与匹配字符的映射关系的列表;
确定存在于所述关联列表中的关键字,并在内存中删除所述关键字对应的键值对。
需要说明的是,各个操作的实现还可以对应参照图1或图3所示的方法实施例的相应描述;所述处理器401还用于执行上述方法实施例中的其他操作。
本申请实施例中,电子设备通过键值对删除指令中的目标匹配字符查找到与该目标匹配字符对应的关联列表,然后通过关联列表确定了与目标字符对应的关键字,删除该关键字对应的键值对,由于事先通过关联列表建立了目标匹配字符与关键字的映射关系,可避免在要删除包含目标字匹配符的关键字时在内存中进行遍历,在需要删除多个具备相同内容的关键字的情况下可缩短查找关键字的时间,提高删除效率。
本申请实施例还提供一种计算机存储介质(非临时性计算机可读存储介质),所述计算机存储介质存储有计算机程序,所述计算机程序包括程序信令,所述程序信令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的数据处理的装置或电子设备的一部分。
上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例还提供一种计算机程序产品,当上述计算机程序产品中的指令由处理器执行时,可以实现本申请图1-图3所示实施例提供的数据处理的方法。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例中可能采用术语“第一”、“第二”、“第三”等来描述各种字符和匹配字符等,但这些字符和匹配字符等不应限于这些术语。这些术语仅用来将字符和匹配字符等彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一字符也可以被称为第二字符,类似地,第二字符也可以被称为第一字符。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。