一种字符串的比较方法及装置制造方法及图纸

技术编号:9170973 阅读:155 留言:0更新日期:2013-09-19 19:29
本申请公开了一种字符串的比较方法及装置,针对至少两个待比较的字符串,判断每个字符串是否存在对应的摘要特征值;对于不存在对应的摘要特征值的字符串,计算并保存字符串的摘要特征值;比较至少两个字符串的摘要特征值是否相同;若是,确定至少两个字符串相同;若否,确定至少两个字符串不同。在互联网的业务开发和实施环境中存在重复执行海量数据处理运算的判同操作时,由于使用字符串对应的摘要特征值进行比对得到字符串的判同结果,相对于对两个字符串中的每个字符都要进行比对才能得到判同结果的方式,摘要特征值的数据量小于字符串,对摘要特征值进行比对能够大量的减少判同操作的计算量,节省了运算资源,提升了整体的字符串判同效率。

【技术实现步骤摘要】
一种字符串的比较方法及装置
本申请涉及计算机计算领域,尤其涉及一种字符串的比较方法及装置。
技术介绍
目前,在互联网的业务开发和实施环境中,海量数据处理运算的任务日益增多,这些海量数据处理运算有些是以字符串运算为中心的,其中,比较多个字符串诸如多个网页地址(URL)是否相同的运算又占据了极高的比例。传统的判断字符串是否相同的运算是通过诸如Strcmp函数实现的,对于两个需要进行判同操作(判断是否相同的操作)的字符串,从两个字符串的头部开始扫描比对每个字符是否相同,即字符串中有多少个字符就需要比对多少次,才能得到两个字符串判同的结果。在海量数据处理运算中重复执行判同操作的比率非常的高。例如,在字符串s1和s2进行判同之后,s1还可能和s3、s4、…sn进行判同操作,使用上述这种字符串的判同方式,每次字符串判同都需要比对多次才能得到判同结果,因此,整体的字符串判同效率较低,尤其是对于很长的字符串进行判同操作时上述问题特别突出。
技术实现思路
本申请实施例提供了一种字符串的比较方法及装置,用以实现在互联网的业务开发和实施环境中存在重复执行海量数据处理运算的判同操作时能够快速地得到字符串的判同结本文档来自技高网...
一种字符串的比较方法及装置

【技术保护点】
一种字符串的比较方法,其特征在于,包括:针对至少两个待比较的字符串,判断每个字符串是否存在对应的摘要特征值;对于不存在对应的摘要特征值的字符串,计算并保存所述字符串的摘要特征值;比较所述至少两个字符串的摘要特征值是否相同;若是,确定所述至少两个字符串相同;若否,确定所述至少两个字符串不同。

【技术特征摘要】
1.一种字符串的比较方法,其特征在于,包括:针对至少两个待比较的字符串,判断每个字符串是否存在对应的摘要特征值;对于不存在对应的摘要特征值的字符串,计算并保存所述字符串的摘要特征值,其中,计算所述字符串的摘要特征值时,具体包括:对所述字符串进行至少两次不同的哈希运算,得到至少两个不同的哈希值;将至少两个不同的哈希值进行拼接处理,得到所述字符串的摘要特征值;比较所述至少两个字符串的摘要特征值是否相同;若是,确定所述至少两个字符串相同;若否,确定所述至少两个字符串不同。2.如权利要求1所述的方法,其特征在于,使用下述指纹算法对字符串进行两次不同的哈希运算,得到两个不同的哈希值h1和h2:h1=s[0]×P1n-1+s[1]×P1n-2+s[2]×P1n-3+……+s[n-1],h2=s[0]×P2n-1+s[1]×P2n-2+s[2]×P2n-3+……+s[n-1];其中,P1和P2为质数,s[0]、s[1]、s[2]……s[n-1]分别为所述字符串第1位、第2位、第3位……第n位的字符;将所述两个不同的哈希值使用(((long)h1)<<32)|(long)h2公式进行拼接处理,得到所述字符串的摘要特征值。3.如权利要求1所述的方法,其特征在于,使用指纹算法和DJB算法分别对字符串进行哈希运算,得到两个不同的哈希值h1和h2;将所述两个不同的哈希值使用(((long)h1)<<32)|(long)h2公式进行拼接处理,得到所述字符串的摘要特征。4.如权利要求1-3任一项所述的方法,其特征在于,当对字符串的比较不区分大小写时,在计算所述字符串的摘要特征值之前,还包括:将所述字符串按照预...

【专利技术属性】
技术研发人员:韩军东
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1