具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的信息处理方法的流程示意图,如图1所示,本实施例的信息处理方法可以包括:
101、网络存储设备接收信息;
其中,上述信息可以包括但不限于短消息、彩信、邮件或即时消息。
102、上述网络存储设备对上述信息进行哈希运算,获得上述信息的至少两个哈希值;
例如:上述网络存储设备对信息(即信息的内容)进行MD5或CityHash等哈希运算,利用至少两个哈希函数,将信息的二进制值映射为至少两个固定长度的较小的二进制值即哈希值。为了进一步减小开销,可以进行非加密的哈希运算,例如:CityHash等哈希运算。
103、上述网络存储设备根据上述至少两个哈希值,存储上述信息或者不存储上述信息。
本实施例中,网络存储设备接收信息之后,通过对上述信息进行哈希运算,获得上述信息的至少两个哈希值,使得上述网络存储设备能够根据上述至少两个哈希值,存储上述信息或者不存储上述信息,能够避免现有技术中由于同样一个信息在网络存储设备中可能会备份多次而导致的网络存储设备中存在大量相同的信息的问题,从而提高了网络存储设备的利用率的降低,以及信息维护和管理的效率。
图2为本发明另一实施例提供的信息处理方法的流程示意图,本实施例为图1对应的实施例的一个具体实施例。如图2所示,本实施例的信息处理方法可以包括:
201、网络存储设备接收信息;
其中,上述信息可以包括但不限于短消息、彩信、邮件或即时消息。
202、上述网络存储设备对上述信息进行哈希运算,获得上述信息的至少两个哈希值;
例如:上述网络存储设备对信息(即信息的内容)进行MD5或CityHash等哈希运算,利用至少两个哈希函数,将信息的二进制值映射为至少两个固定长度的较小的二进制值即哈希值。为了进一步减小开销,可以进行非加密的哈希运算,例如:CityHash等哈希运算。
203、上述网络存储设备获得与上述至少两个哈希值对应的位图;
例如:如果202中,网络存储设备对上述信息进行哈希运算,获得上述信息的三个哈希值,分别为2、6和14,可以假设哈希值对应的位为1,则上述哈希值对应的位图可以为010001000000010000。
204、上述网络存储设备根据上述位图,存储上述信息或者不存储上述信息。
例如:上述网络存储设备对上述与上述至少两个哈希值对应的位图与上述网络存储设备之前接收的至少一个信息的位图进行比较,若上述与上述至少两个哈希值对应的位图对应的位置在上述存储的位图中,上述网络存储设备不存储上述信息;若上述与上述至少两个哈希值对应的位图对应的位置不在上述存储的位图中,上述网络存储设备存储上述信息。
进一步地,在网络存储设备存储上述信息之后,还可以进一步存储上述与上述至少两个哈希值对应的位图。在本发明实施例的一个应用场景中,网络存储设备可以在每次存储一个信息之后,都存储该信息的位图。在本发明实施例的另一个应用场景中,网络存储设备还可以在每次存储一个信息之后,将该信息的位图存储到之前存储的信息的位图中,例如:将该信息的位图与之前存储的信息的位图进行或操作,将得到的位图作为基准位图,并存储基准位图。
可选地,在上述网络存储设备对上述位图与上述网络存储设备之前接收的至少一个信息的位图进行比较之前,如果网络存储设备存储了一个信息,上述网络存储设备则可以进一步将上述一个信息的哈希值对应的位图作为基准位图,并进行存储;如果网络存储设备存储了至少两个信息,上述网络存储设备则可以进一步对上述至少两个信息的哈希值对应的位图进行或操作,将得到的位图作为基准位图,并进行存储。这样,使得上述网络存储设备能够对上述与上述至少两个哈希值对应的位图与上述基准位图进行比较,若上述与上述至少两个哈希值对应的位图对应的位置在上述存储的基准位图中,上述网络存储设备不存储上述信息;若上述与上述至少两个哈希值对应的位图对应的位置不在上述存储的基准位图中,上述网络存储设备存储上述信息。
可选地,本实施例中的网络存储设备还可以进一步即时清除过期的位图或者位图中的位。例如:网络存储设备可以对选定范围之内的信息的位图与上述基准位图进行异或操作,并与所述选定范围之外的信息的位图进行或操作,得到新的位图作为更新之后的基准位图,并进行存储,从而可以满足海量的信息备份、以及某些信息具有时间有效性(例如:某个品牌群发的关于商品促销的短消息,该短消息的有效时间截止为促销停止时,则说明该短消息具有时间有效性)的需求,节省了位图所占用的内存开销。
本实施例中,网络存储设备接收信息之后,通过对上述信息进行哈希运算,获得上述信息的至少两个哈希值,并获得与上述至少两个哈希值对应的位图,使得上述网络存储设备能够根据上述位图,存储上述信息或者不存储上述信息,能够避免现有技术中由于同样一个信息在网络存储设备中可能会备份多次而导致的网络存储设备中存在大量相同的信息的问题,从而提高了网络存储设备的利用率的降低,以及信息维护和管理的效率。
为使得本发明实施例提供的方法更加清楚,下面将以18比特的位图作为举例。假设网络存储设备当前没有存储任何信息。
第一个周期T1内
网络存储设备存储信息A,获得信息A对应的至少两个哈希值所对应的位图为A位图=010001000000010000,并存储到内存中;
网络存储设备接收信息B,获得信息B对应的至少两个哈希值所对应的位图为B位图=000010000001000010,经过比较,B位图与A位图不相同,网络存储设备则存储信息B;
此时,网络存储设备对B位图和A位图进行或操作,得到基准位图T1位图=010011000001010010,并存储到内存中;
当T1结束时,将T1位图作为T1内的网络存储设备存储信息的位图S1位 图,并存储到磁盘中。
第二个周期T2内
网络存储设备接收信息C,获得信息C对应的至少两个哈希值所对应的位图为C位图=000101000001000000,经过比较,C位图与T1位图不相同,网络存储设备则存储信息C;
此时,网络存储设备对C位图和T1位图进行或操作,得到基准位图T2位图=010111000001010010,并存储到内存中;
网络存储设备接收信息D,获得信息D对应的至少两个哈希值所对应的位图为D位图=000101000001000000,经过比较,D位图在T2位图之中,说明网络存储设备已经存储过一个与信息D相同的信息,信息D是一个重复信息,网络存储设备则不再存储信息D;
当T2结束时,将C位图作为T2内的网络存储设备存储信息的位图S2位图,并存储到磁盘中;
第三个周期T3内
网络存储设备接收信息E,获得信息E对应的至少两个哈希值所对应的位图为E位图=000011000001000000,经过比较,E位图在T2位图之中,说明网络存储设备已经存储过一个与信息E相同的信息,信息E是一个重复信息,网络存储设备则不再存储信息E;
网络存储设备接收信息F,获得信息F对应的至少两个哈希值所对应的位图为F位图=100000000000010001,经过比较,F位图与T2位图不相同,网络存储设备则存储信息F;
此时,网络存储设备对F位图和T2位图进行或操作,得到基准位图T3位图=110111000001010011,并存储到内存中;
当T3结束时,将F位图作为T3内的网络存储设备存储信息的位图S3位图,并存储到磁盘中。
如果需要清除T1内的信息的位图,网络存储设备则可以对T1内的信息的位图即S1位图与上述至少一个信息的位图即T3位图进行异或操作,并且与S2位图和S3位图进行或操作,得到新的位图作为上述至少一个信息的位图T更新=100101000001010001。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明另一实施例提供的信息处理设备的结构示意图,如图3所示,本实施例的信息处理设备可以包括接收单元31、获得单元32和处理单元33。其中,接收单元31用于接收信息;获得单元32用于对接收单元31接收的上述信息进行哈希运算,获得上述信息的至少两个哈希值;处理单元33用于根据获得单元32获得的上述至少两个哈希值,存储上述信息或者不存储上述信息。
上述图1和图2对应的实施例中网络存储设备的功能均可以由本实施例提供的信息处理设备实现。
可选地,本实施例中的处理单元33具体可以获得与上述至少两个哈希值对应的位图,以及根据上述位图,存储上述信息或者不存储上述信息。例如:处理单元33对上述位图与上述网络存储设备之前接收的至少一个信息的位图进行比较,若上述位图对应的位置在上述存储的位图中,不存储上述信息;若上述位图对应的位置不在上述存储的位图中,存储上述信息。
进一步地,如果网络存储设备存储了一个信息,本实施例中的处理单元33还可以进一步将所述一个信息的哈希值对应的位图作为基准位图,并进行存储;如果网络存储设备存储了至少两个信息,本实施例中的处理单元33还可以进一步对所述至少两个信息的哈希值对应的位图进行或操作,将得到的位图作为基准位图,并进行存储。
相应地,本实施例中的处理单元33具体可以对所述与所述至少两个哈希值对应的位图与所述基准位图进行比较。
可选地,本实施例中的信息处理设备还可以进一步即时清除过期的位图或者位图中的位。例如:处理单元33还可以进一步用于对选定范围之内的信息的位图与上述基准进行异或操作,并与上述选定范围之外的信息的位图进行或操作,得到新的位图作为更新之后的基准位图,并进行存储,从而可以满足海量的信息备份、以及某些信息具有时间有效性(例如:某个品牌群发的关于商品促销的短消息,该短消息的有效时间截止为促销停止时,则说明该短消息具有时间有效性)的需求,节省了位图所占用的内存开销。
本实施例中,信息处理设备由接收单元接收信息之后,通过获得单元对接收单元接收的上述信息进行哈希运算,获得上述信息的至少两个哈希值,使得处理单元能够根据获得单元获得的上述至少两个哈希值,存储上述信息或者不存储上述信息,能够避免现有技术中由于同样一个信息在网络存储设备中可能会备份多次而导致的网络存储设备中存在大量相同的信息的问题,从而提高了网络存储设备的利用率的降低,以及信息维护和管理的效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。