CN105554122A - 信息更新方法、信息更新装置、终端和服务器 - Google Patents
信息更新方法、信息更新装置、终端和服务器 Download PDFInfo
- Publication number
- CN105554122A CN105554122A CN201510958826.3A CN201510958826A CN105554122A CN 105554122 A CN105554122 A CN 105554122A CN 201510958826 A CN201510958826 A CN 201510958826A CN 105554122 A CN105554122 A CN 105554122A
- Authority
- CN
- China
- Prior art keywords
- information
- detected
- bloom filter
- cryptographic hash
- date
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出了一种信息更新方法、信息更新装置、终端和服务器,其中,所述信息更新方法包括:构造空的布隆过滤器;将所述终端中待检测信息的特征值序列化成对应的字符串;根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。通过本发明的技术方案,可以实现移动网络流量的极小化,而且只需要对待检测信息的特征值进行序列化和哈希值计算就可实现本技术方案,算法简单高效。
Description
技术领域
本发明涉及信息技术领域,具体而言,涉及一种信息更新方法、一种信息更新装置、一种终端和一种服务器。
背景技术
目前,由于移动网络流量、带宽和可用性的限制,终端中的应用程序通常需要在终端上缓存部分数据,以节省移动网络流量,同时在移动网络质量不高或者不可用时依然能给用户提供服务。并且,由于服务器的数据可能会随时改变,所以需要检测并更新终端上的缓存数据,以保持终端上的缓存数据与服务器的数据同步。
传统的数据同步方式一般依靠对每一条数据记录最后更新的时间戳或者给出全局递增的版本号,但是,在分布式部署的服务环境下保持多台服务器时间戳和版本号的全局一致性的代价非常高,而且这种同步方式难以对处于变动的时间戳或版本号不连续的场景下的缓存数据进行处理。并且,这种数据同步方式需要将终端上的缓存数据全部发送至服务器,以检测缓存数据是否需要更新,这就需要大量的移动网络流量和复杂的计算量,对于终端而言,大量的移动网络流量和复杂的计算量都是终端难以承受的。
因此,如何在检测终端上的缓存数据是否需要更新时降低移动网络流量的消耗,同时减少计算量成为目前亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,通过对待检测信息的特征值进行序列化和哈希值计算就可检测终端上的缓存数据是否需要更新,不但可以实现移动网络流量的极小化,而且算法简单高效。
有鉴于此,本发明的第一方面提出了一种信息更新方法,用于终端,包括:构造空的布隆过滤器;将所述终端中待检测信息的特征值序列化成对应的字符串;根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
在该技术方案中,根据非加密型哈希函数计算终端中待检测信息的特征值对应的字符串的哈希值,并根据哈希值填充布隆过滤器,具体的,在计算出哈希值后可以将布隆过滤器中与哈希值对应的位置填充为1,进一步地,将填充后的布隆过滤器和检测参数信息发送至服务器,以供服务器根据填充后的布隆过滤器和检测参数检测是否对待检测信息进行更新,因此,通过上述技术方案,通过向服务器发送根据待检测信息的特征值对应的字符串的哈希值填充的布隆过滤器,避免了相关技术中通过将待检测信息发送至服务器以检测是否更新待检测信息而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息的特征值进行序列化和哈希值计算就可实现本技术方案,从而减少了终端的计算量。
在上述技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,以保证检测的准确性和可靠性,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
在上述任一技术方案中,优选地,所述构造空的布隆过滤器的步骤,还包括:根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
在该技术方案中,根据待检测信息的条数和每条待检测信息占用的位数来确定空的布隆过滤器的位数,由于无论待检测信息的内容大小,每条待检测信息占用的位数固定,这样,就可以通过向服务器发送布隆过滤器来判断待检测信息是否需要更新,避免向服务器直接发送待检测信息来判断待检测信息而消耗的较多的移动网络流量,从而实现了移动网络流量的极小化。
本发明的第二方面提出了一种信息更新装置,用于终端,包括:构造单元,用于构造空的布隆过滤器;序列化单元,用于将所述终端中待检测信息的特征值序列化成对应的字符串;填充单元,用于根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;发送单元,用于将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
在该技术方案中,根据非加密型哈希函数计算终端中待检测信息的特征值对应的字符串的哈希值,并根据哈希值填充布隆过滤器,具体的,在计算出哈希值后可以将布隆过滤器中与哈希值对应的位置填充为1,进一步地,将填充后的布隆过滤器和检测参数信息发送至服务器,以供服务器根据填充后的布隆过滤器和检测参数检测是否对待检测信息进行更新,因此,通过上述技术方案,通过向服务器发送根据待检测信息的特征值对应的字符串的哈希值填充的布隆过滤器,避免了相关技术中通过将待检测信息发送至服务器以检测是否更新待检测信息而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息的特征值进行序列化和哈希值计算就可实现本技术方案,从而减少了终端的计算量。
在上述技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
在上述任一技术方案中,优选地,所述构造单元包括:确定单元,用于根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
在该技术方案中,根据待检测信息的条数和每条待检测信息占用的位数来确定空的布隆过滤器的位数,由于无论待检测信息的内容大小,每条待检测信息占用的位数固定,这样,就使得通过向服务器发送布隆过滤器来判断待检测信息是否需要更新,避免向服务器直接发送待检测信息来判断待检测信息而消耗的较多的移动网络流量,从而实现了移动网络流量的极小化。
本发明的第三方面提出了一种终端,包括上述技术方案中任一项所述的信息更新装置,因此,该终端具有和上述技术方案中任一项所述的信息更新装置相同的技术效果,在此不再赘述。
本发明的第四方面提出了一种信息更新方法,用于服务器,包括:接收来自终端的待检测信息的布隆过滤器和检测参数信息;根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
在该技术方案中,通过接收来自终端的待检测信息的布隆过滤器和检测参数信息,并根据检测参数信息和非加密性哈希函数计算与待检测信息对应的最新信息的哈希值,进一步地,若根据最新信息的哈希值和布隆过滤判定待检测信息不是最新信息时,将最新信息发送至终端,以供终端根据最新信息对待检测信息进行更新,否则,即若判定待检测信息是最新信息时,则不需要对待检测信息进行更新,因此,通过上述技术方案,根据最新信息的哈希值和布隆过滤器判断是否对待检测信息进行更新,避免了相关技术中通过接收待检测信息以检测是否对待检测信息进行更新而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息对应的最新信息进行哈希值计算就可实现本技术方案,从而减少了服务器的计算量。
在上述技术方案中,优选地,所述根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值的步骤,具体包括:将所述最新信息的特征值序列化成对应的字符串;根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
在该技术方案中,通过将最新信息的特征值序列化成对应的字符串,然后根据非加密型哈希函数和检测参数信息计算最新信息的特征值对应的字符串的哈希值作为最新信息的哈希值,从而实现了根据非加密型哈希函数和检测参数信息计算得到最新信息的哈希值的目的。
在上述任一技术方案中,优选地,所述根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息的步骤,具体包括:根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充;若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
在该技术方案中,在计算得到最新信息的哈希值后,根据最新信息的哈希值确定布隆过滤器的目标位置,该目标位置即布隆过滤器中待检测信息的哈希值对应的位置(该位置有多个),并判断目标位置是否被填充(即是否被填充为1),并在目标位置均被填充时判定待检测信息为最新信息,否则,即只要有一个目标位置没有被填充,则判定待检测信息不是最新信息。
在上述任一技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
本发明的第五方面提出了一种信息更新装置,用于服务器,包括:接收单元,用于接收来自终端的待检测信息的布隆过滤器和检测参数信息;计算单元,用于根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;判断单元,用于根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;发送单元,用于在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
在该技术方案中,通过接收来自终端的待检测信息的布隆过滤器和检测参数信息,并根据检测参数信息和非加密性哈希函数计算与待检测信息对应的最新信息的哈希值,进一步地,若根据最新信息的哈希值和布隆过滤判定待检测信息不是最新信息时,将最新信息发送至终端,以供终端根据最新信息对待检测信息进行更新,否则,即若判定待检测信息是最新信息时,则不需要对待检测信息进行更新,因此,通过上述技术方案,根据最新信息的哈希值和布隆过滤器判断是否对待检测信息进行更新,避免了相关技术中通过接收待检测信息以检测是否对待检测信息进行更新而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息对应的最新信息进行哈希值计算就可实现本技术方案,从而减少了服务器的计算量。
在上述技术方案中,优选地,所述计算单元包括:序列化单元,用于将所述最新信息的特征值序列化成对应的字符串;所述计算单元具体用于,根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
在该技术方案中,通过将最新信息的特征值序列化成对应的字符串,然后根据非加密型哈希函数和检测参数信息计算最新信息的特征值对应的字符串的哈希值作为最新信息的哈希值,从而实现了根据非加密型哈希函数和检测参数信息计算得到最新信息的哈希值的目的。
在上述任一技术方案中,优选地,所述判断单元具体用于,根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充,若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
在该技术方案中,在计算得到最新信息的哈希值后,根据最新信息的哈希值确定布隆过滤器的目标位置,该目标位置即布隆过滤器中待检测信息的哈希值对应的位置(该位置有多个),并判断目标位置是否被填充(即是否被填充为1),并在目标位置均被填充时判定待检测信息为最新信息,否则,即只要有一个目标位置没有被填充,则判定待检测信息不是最新信息。
在上述任一技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
本发明的第三方面提出了一种服务器,包括上述技术方案中任一项所述的信息更新装置,因此,该服务器具有和上述技术方案中任一项所述的信息更新装置相同的技术效果,在此不再赘述。
通过本发明的技术方案,通过对待检测信息的特征值进行序列化和哈希值计算就可检测终端上的缓存数据是否需要更新,不但可以实现移动网络流量的极小化,而且算法简单高效。
附图说明
图1示出了根据本发明的一个实施例的信息更新方法的流程示意图;
图2示出了根据本发明的一个实施例的信息更新装置的结构示意图;
图3示出了根据本发明的一个实施例的终端的结构示意图;
图4示出了根据本发明的另一个实施例的信息更新方法的流程示意图;
图5示出了根据本发明的另一个实施例的信息更新装置的结构示意图;
图6示出了根据本发明的一个实施例的服务器的结构示意图;
图7示出了根据本发明的一个实施例的同步待检测信息的实现原理图。
具体实施方式
为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的信息更新方法的流程示意图。
如图1所示,根据本发明的一个实施例的信息更新方法,包括:
步骤102,构造空的布隆过滤器;
步骤104,将所述终端中待检测信息的特征值序列化成对应的字符串;
步骤106,根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;
步骤108,将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
在该技术方案中,根据非加密型哈希函数计算终端中待检测信息的特征值对应的字符串的哈希值,并根据哈希值填充布隆过滤器,具体的,在计算出哈希值后可以将布隆过滤器中与哈希值对应的位置填充为1,进一步地,将填充后的布隆过滤器和检测参数信息发送至服务器,以供服务器根据填充后的布隆过滤器和检测参数检测是否对待检测信息进行更新,因此,通过上述技术方案,通过向服务器发送根据待检测信息的特征值对应的字符串的哈希值填充的布隆过滤器,避免了相关技术中通过将待检测信息发送至服务器以检测是否更新待检测信息而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息的特征值进行序列化和哈希值计算就可实现本技术方案,从而减少了终端的计算量。
在上述技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
另外,在根据非加密型哈希函数计算待检测信息的特征值对应的字符串的哈希值时,需要进行k次计算(即有k个非加密型函数,则计算k次哈希)。
在上述任一技术方案中,优选地,步骤102还包括:根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
在该技术方案中,根据待检测信息的条数和每条待检测信息占用的位数来确定空的布隆过滤器的位数,由于无论待检测信息的内容大小,每条待检测信息占用的位数固定,这样,就可以通过向服务器发送布隆过滤器来判断待检测信息是否需要更新,避免向服务器直接发送待检测信息来判断待检测信息而消耗的较多的移动网络流量,从而实现了移动网络流量的极小化。
图2示出了根据本发明的一个实施例的信息更新装置的结构示意图。
如图2所示,根据本发明的一个实施例的信息更新装置200,包括:构造单元202,用于构造空的布隆过滤器;序列化单元204,用于将所述终端中待检测信息的特征值序列化成对应的字符串;填充单元206,用于根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;发送单元208,用于将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
在该技术方案中,根据非加密型哈希函数计算终端中待检测信息的特征值对应的字符串的哈希值,并根据哈希值填充布隆过滤器,具体的,在计算出哈希值后可以将布隆过滤器中与哈希值对应的位置填充为1,进一步地,将填充后的布隆过滤器和检测参数信息发送至服务器,以供服务器根据填充后的布隆过滤器和检测参数检测是否对待检测信息进行更新,因此,通过上述技术方案,通过向服务器发送根据待检测信息的特征值对应的字符串的哈希值填充的布隆过滤器,避免了相关技术中通过将待检测信息发送至服务器以检测是否更新待检测信息而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息的特征值进行序列化和哈希值计算就可实现本技术方案,从而减少了终端的计算量。
在上述技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
另外,在根据非加密型哈希函数计算待检测信息的特征值对应的字符串的哈希值时,需要进行k次计算(即有k个非加密型函数,则计算k次哈希)。
在上述任一技术方案中,优选地,所述构造单元202包括:确定单元2022,用于根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
在该技术方案中,根据待检测信息的条数和每条待检测信息占用的位数来确定空的布隆过滤器的位数,由于无论待检测信息的内容大小,每条待检测信息占用的位数固定,这样,就可以通过向服务器发送布隆过滤器来判断待检测信息是否需要更新,避免向服务器直接发送待检测信息来判断待检测信息而消耗的较多的移动网络流量,从而实现了移动网络流量的极小化。
图3示出了根据本发明的一个实施例的终端的结构示意图。
如图3所示,根据本发明的一个实施例的终端300,包括:包括上述技术方案中任一项所述的信息更新装置200,因此,该终端300具有和上述技术方案中任一项所述的信息更新装置200相同的技术效果,在此不再赘述。
图4示出了根据本发明的另一个实施例的信息更新方法的流程示意图.
如图4所示,根据本发明的另一个实施例的信息更新方法,包括:
步骤402,接收来自终端的待检测信息的布隆过滤器和检测参数信息;
步骤404,根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;
步骤406,根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;
步骤408,在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
在该技术方案中,通过接收来自终端的待检测信息的布隆过滤器和检测参数信息,并根据检测参数信息和非加密性哈希函数计算与待检测信息对应的最新信息的哈希值,进一步地,若根据最新信息的哈希值和布隆过滤判定待检测信息不是最新信息时,将最新信息发送至终端,以供终端根据最新信息对待检测信息进行更新,否则,即若判定待检测信息是最新信息时,则不需要对待检测信息进行更新,因此,通过上述技术方案,根据最新信息的哈希值和布隆过滤器判断是否对待检测信息进行更新,避免了相关技术中通过接收待检测信息以检测是否对待检测信息进行更新而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息对应的最新信息进行哈希值计算就可实现本技术方案,从而减少了服务器的计算量。
在上述技术方案中,优选地,步骤404具体包括:将所述最新信息的特征值序列化成对应的字符串;根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
在该技术方案中,通过将最新信息的特征值序列化成对应的字符串,然后根据非加密型哈希函数和检测参数信息计算最新信息的特征值对应的字符串的哈希值作为最新信息的哈希值,从而实现了根据非加密型哈希函数和检测参数信息计算得到最新信息的哈希值的目的。
在上述任一技术方案中,优选地,步骤406具体包括:根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充;若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
在该技术方案中,在计算得到最新信息的哈希值后,根据最新信息的哈希值确定布隆过滤器的目标位置,该目标位置即布隆过滤器中待检测信息的哈希值对应的位置(该位置有多个),并判断目标位置是否被填充(即是否为1),并在目标位置均被填充时判定待检测信息为最新信息,否则,即只要有一个目标位置没有被填充,则判定待检测信息不是最新信息。
在上述任一技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
另外,在根据非加密型哈希函数计算待检测信息的特征值对应的字符串的哈希值时,需要进行k次计算(即有k个非加密型函数,则计算k次哈希)。
图5示出了根据本发明的另一个实施例的信息更新装置的结构示意图。
如图5所示,根据本发明的另一个实施例的信息更新装置500,包括:接收单元502,用于接收来自终端的待检测信息的布隆过滤器和检测参数信息;计算单元504,用于根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;判断单元506,用于根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;发送单元508,用于在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
在该技术方案中,通过接收来自终端的待检测信息的布隆过滤器和检测参数信息,并根据检测参数信息和非加密性哈希函数计算与待检测信息对应的最新信息的哈希值,进一步地,若根据最新信息的哈希值和布隆过滤判定待检测信息不是最新信息时,将最新信息发送至终端,以供终端根据最新信息对待检测信息进行更新,否则,即若判定待检测信息是最新信息时,则不需要对待检测信息进行更新,因此,通过上述技术方案,根据最新信息的哈希值和布隆过滤器判断是否对待检测信息进行更新,避免了相关技术中通过接收待检测信息以检测是否对待检测信息进行更新而消耗较多的移动网络流量的情况,实现了移动网络流量的极小化,而且只需要对待检测信息对应的最新信息进行哈希值计算就可实现本技术方案,从而减少了服务器的计算量。
在上述技术方案中,优选地,所述计算单元504包括:序列化单元5042,用于将所述最新信息的特征值序列化成对应的字符串;所述计算单元504具体用于,根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
在该技术方案中,通过将最新信息的特征值序列化成对应的字符串,然后根据非加密型哈希函数和检测参数信息计算最新信息的特征值对应的字符串的哈希值作为最新信息的哈希值,从而实现了根据非加密型哈希函数和检测参数信息计算得到最新信息的哈希值的目的。
在上述任一技术方案中,优选地,所述判断单元506具体用于,根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充,若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
在该技术方案中,在计算得到最新信息的哈希值后,根据最新信息的哈希值确定布隆过滤器的目标位置,该目标位置即布隆过滤器中待检测信息的哈希值对应的位置(该位置有多个),并判断目标位置是否被填充(即是否被填充为1),并在目标位置均被填充时判定待检测信息为最新信息,否则,即只要有一个目标位置没有被填充,则判定待检测信息不是最新信息。
在上述任一技术方案中,优选地,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
在该技术方案中,检测参数信息包括但不限于:待检测信息的条数、布隆过滤器的位数、非加密型哈希函数的个数,通过待检测信息的条数和布隆过滤器的位数可以确定非加密型哈希函数的个数,具体的,通过以下公式来确定非加密型哈希函数的个数:
其中,k表示非加密型函数的个数,m表示布隆过滤器的位数,n表示待检测信息的条数。
另外,在根据非加密型哈希函数计算待检测信息的特征值对应的字符串的哈希值时,需要进行k次计算(即有k个非加密型函数,则计算k次哈希)。
图6示出了根据本发明的一个实施例的服务器的结构示意图。
如图6所示,根据本发明的一个实施例的服务器600,包括上述技术方案中任一项所述的信息更新装置500,因此,该服务器600具有和上述技术方案中任一项所述的信息更新装置500相同的技术效果,在此不再赘述。
图7示出了根据本发明的一个实施例的同步待检测信息的实现原理图。
如图7所示,在移动端(即终端)存储有缓存数据(即待检测信息),该缓存数据的特征值包括:ID(身份标识号码)、Timestamp(时间戳)、UserID(用户标识),对缓存数据使用MurmurHash3(即非加密型哈希函数)算法计算k次哈希,得到k个哈希值(即H1…Hk),并根据k个哈希值在m位布隆过滤器(BloomFilter)中对应的位置置为1,然后将布隆过滤器发送至服务端(即服务器),并对缓存数据对应的最新数据使用MurmurHash3算法计算k次哈希,得到k个哈希值,判断这k个哈希值在该布隆过滤器中对应的位置是否全为1,若全为1,则缓存数据和最新数据一致,不需要对缓存数据进行更新,否则,说明缓存数据和最新数据不一致,则将最新数据发送至移动端,对缓存数据进行更新。
另外,在通过MurmurHash3算法计算k次哈希来判断一条信息是否属于一个信息集合时,通常会存在误差,该误差的理论误判率可通过以下公式计算:检测参数不同,则误判率也不同,如表1所示:
表1
以上结合附图详细说明了本发明的技术方案,通过对待检测信息的特征值进行序列化和哈希值计算就可检测终端上的缓存数据是否需要更新,不但可以实现移动网络流量的极小化,而且算法简单高效。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种信息更新方法,用于终端,其特征在于,包括:
构造空的布隆过滤器;
将所述终端中待检测信息的特征值序列化成对应的字符串;
根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;
将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
2.根据权利要求1所述的信息更新方法,其特征在于,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
3.根据权利要求1或2所述的信息更新方法,其特征在于,所述构造空的布隆过滤器的步骤,还包括:
根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
4.一种信息更新装置,用于终端,其特征在于,包括:
构造单元,用于构造空的布隆过滤器;
序列化单元,用于将所述终端中待检测信息的特征值序列化成对应的字符串;
填充单元,用于根据非加密型哈希函数计算所述字符串的哈希值,并根据所述哈希值填充所述布隆过滤器;
发送单元,用于将填充后的所述布隆过滤器和检测参数信息发送至服务器,以供所述服务器根据填充后的所述布隆过滤器和所述检测参数信息检测是否更新所述待检测信息。
5.根据权利要求4所述的信息更新装置,其特征在于,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
6.根据权利要求4或5所述的信息更新装置,其特征在于,所述构造单元包括:
确定单元,用于根据所述待检测信息的条数和每条所述待检测信息占用的位数,确定空的所述布隆过滤器的位数。
7.一种终端,其特征在于,包括:如权利要求4至6中任一项所述的信息更新装置。
8.一种信息更新方法,用于服务器,其特征在于,包括:
接收来自终端的待检测信息的布隆过滤器和检测参数信息;
根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;
根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;
在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
9.根据权利要求8所述的信息更新方法,其特征在于,所述根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值的步骤,具体包括:
将所述最新信息的特征值序列化成对应的字符串;
根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
10.根据权利要求8所述的信息更新方法,其特征在于,所述根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息的步骤,具体包括:
根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充;
若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
11.根据权利要求8至10中任一项所述的信息更新方法,其特征在于,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
12.一种信息更新装置,用于服务器,其特征在于,包括:
接收单元,用于接收来自终端的待检测信息的布隆过滤器和检测参数信息;
计算单元,用于根据所述检测参数信息和非加密型哈希函数,计算与所述待检测信息对应的最新信息的哈希值;
判断单元,用于根据所述最新信息的哈希值和所述布隆过滤器,判断所述待检测信息是否为所述最新信息;
发送单元,用于在判断结果为否时,将所述最新信息发送至所述终端,以供所述终端根据所述最新信息对所述待检测信息进行更新。
13.根据权利要求12所述的信息更新装置,其特征在于,所述计算单元包括:
序列化单元,用于将所述最新信息的特征值序列化成对应的字符串;
所述计算单元具体用于,根据所述非加密型哈希函数和所述检测参数信息,计算所述最新信息的特征值对应的字符串的哈希值并作为所述最新信息的哈希值。
14.根据权利要求12所述的信息更新装置,其特征在于,
所述判断单元具体用于,根据所述最新信息的哈希值确定所述布隆过滤器的目标位置,判断所述目标位置是否被填充,若所述目标位置均被填充,则判定所述待检测信息为所述最新信息,否则,判定所述待检测信息不是所述最新信息。
15.根据权利要求12至14中任一项所述的信息更新装置,其特征在于,所述检测参数信息包括:所述待检测信息的条数、所述布隆过滤器的位数、所述非加密型哈希函数的个数。
16.一种服务器,其特征在于,包括:如权利要求12至15中任一项所述的信息更新装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958826.3A CN105554122A (zh) | 2015-12-18 | 2015-12-18 | 信息更新方法、信息更新装置、终端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958826.3A CN105554122A (zh) | 2015-12-18 | 2015-12-18 | 信息更新方法、信息更新装置、终端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105554122A true CN105554122A (zh) | 2016-05-04 |
Family
ID=55833054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510958826.3A Pending CN105554122A (zh) | 2015-12-18 | 2015-12-18 | 信息更新方法、信息更新装置、终端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105554122A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271408A (zh) * | 2018-08-31 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
CN110147296A (zh) * | 2018-02-11 | 2019-08-20 | 华为技术有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
CN111208978A (zh) * | 2019-12-31 | 2020-05-29 | 杭州安恒信息技术股份有限公司 | 以Python为接口C++实现的字符布隆过滤器 |
CN112487009A (zh) * | 2020-12-14 | 2021-03-12 | 北京字节跳动网络技术有限公司 | 数据更新方法、装置、设备、存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682037A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据获取方法、系统及装置 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN103327165A (zh) * | 2012-03-23 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 移动终端、服务器和导航地图数据更新方法 |
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
US8812651B1 (en) * | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
CN104007937A (zh) * | 2013-02-26 | 2014-08-27 | 希捷科技有限公司 | 云计算环境中的数据更新管理 |
-
2015
- 2015-12-18 CN CN201510958826.3A patent/CN105554122A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812651B1 (en) * | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
CN102682037A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据获取方法、系统及装置 |
CN103327165A (zh) * | 2012-03-23 | 2013-09-25 | 宇龙计算机通信科技(深圳)有限公司 | 移动终端、服务器和导航地图数据更新方法 |
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
CN104007937A (zh) * | 2013-02-26 | 2014-08-27 | 希捷科技有限公司 | 云计算环境中的数据更新管理 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
Non-Patent Citations (1)
Title |
---|
赵晓永: "面向云计算的数据存储关键技术研究", 《面向云计算的数据存储关键技术研究》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147296A (zh) * | 2018-02-11 | 2019-08-20 | 华为技术有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN110147296B (zh) * | 2018-02-11 | 2021-07-09 | 华为技术有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN109271408A (zh) * | 2018-08-31 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
TWI716016B (zh) * | 2018-08-31 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 分散式資料連接處理方法、裝置、設備及儲存媒體 |
US11188535B2 (en) | 2018-08-31 | 2021-11-30 | Beijing Oceanbase Technology Co., Ltd. | Distributed join operation processing method, apparatus, device, and storage medium |
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
CN110569311B (zh) * | 2019-10-30 | 2020-07-10 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
CN111208978A (zh) * | 2019-12-31 | 2020-05-29 | 杭州安恒信息技术股份有限公司 | 以Python为接口C++实现的字符布隆过滤器 |
CN111208978B (zh) * | 2019-12-31 | 2023-05-23 | 杭州安恒信息技术股份有限公司 | 以Python为接口C++实现的字符布隆过滤器 |
CN112487009A (zh) * | 2020-12-14 | 2021-03-12 | 北京字节跳动网络技术有限公司 | 数据更新方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105554122A (zh) | 信息更新方法、信息更新装置、终端和服务器 | |
CN106664592B (zh) | 用于内容分发的方法和系统及相应的计算机可读介质 | |
CN103209439B (zh) | 一种数据流量监控的方法、装置和设备 | |
US7328049B2 (en) | Pre-resource checking before file download | |
JP6274584B2 (ja) | 広告処理方法及び装置 | |
CN103117879B (zh) | 一种计算机硬件运行参数网络监测系统 | |
CN107491320A (zh) | 基于混合模式移动应用的载入方法和装置 | |
CN107122207A (zh) | 软件升级方法、客户端设备及服务器 | |
CN110209683A (zh) | 一种实时获取环境数据并将其写入区块链的系统 | |
KR20180069806A (ko) | 통신 단말기에서의 콘텐츠의 신선도 인식 프리젠테이션 | |
CN103457748A (zh) | 数据传输方法、系统和设备 | |
CN105490835B (zh) | 信息监控方法和装置 | |
CN102316507A (zh) | 一种移动终端网络信号检测的方法、系统及移动终端 | |
CN110489135A (zh) | 一种云手机的迁移方法、服务器、云手机及系统 | |
CN103079194B (zh) | 业务适配方法、装置及系统 | |
US20150277892A1 (en) | Multi-phase software delivery | |
CN110460487B (zh) | 服务节点的监控方法及系统、服务节点 | |
CN103546545A (zh) | 一种基于云计算的安全通信方法及系统 | |
CN112995280B (zh) | 面向多内容需求服务的数据分配方法和装置 | |
CN109561457B (zh) | 一种客户端网络优化的方法、装置及系统 | |
CN103546522A (zh) | 确定存储服务器的方法及分布式存储系统 | |
CN108234216B (zh) | 下载数据报文的方法及装置 | |
CN107948989A (zh) | 一种移动终端联网时长的计算方法及装置 | |
CN104967640A (zh) | 一种数据存储方法、装置和系统 | |
CN110267218A (zh) | 一种配电自动化终端远程重启方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160504 |