计算地理信息的数字摘要的方法和设备的制作方法

文档序号:6488608阅读:271来源:国知局
计算地理信息的数字摘要的方法和设备的制作方法
【专利摘要】本发明的实施方式涉及计算地理信息的数字摘要的方法和设备。具体地,公开了一种计算地理信息的数字摘要的方法,包括:获取用户的地理信息;基于所述地理信息,确定维度信息;将所确定的维度信息编码为代码;以及计算所述代码的数字摘要。
【专利说明】计算地理信息的数字摘要的方法和设备
【技术领域】
[0001]本发明的实施方式总体上涉及网络信息【技术领域】,更具体地,涉及用于计算地理信息的数字摘要的方法和设备。
【背景技术】
[0002]在网络信息【技术领域】中,地理信息的重要性不言而喻。然而,根据现有法律法规,互联网公司不能存储用户的诸如地理信息之类的行为信息。在现有技术中,互联网公司一般使用消息摘要算法计算用户的行为信息的数字摘要。然后存储这些数字摘要,而不会直接存储这些行为信息。因此,即使获得了这些存储的数字摘要,也不能根据这些数字摘要推得用户的行为信息,从而达到了保护用户隐私的目的。
[0003]消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值。它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。数字摘要采用单向哈希(Hash)函数将需加密的明文“摘要”成一串128比特的密文,这一串密文亦摘要密文又称为哈希函数、数字指纹、压缩函数、紧缩函数、数据认证码DAC、篡改校验码MDC等,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。这样这串摘要便可成为验证明文是否是“真身”的“指纹”了。
[0004]单向散列函数H(M)作用于一个任意长度的数据M,它返回一个固定长度的散列h,其中h的长度为m, h称为M的摘要。单向散列函数的特点有:给定M,很容易计算出h ;而给定h,无法推算出M。除了单向性的特定之外,单向散列函数具有防碰撞性的特定,即给定M,很难找到另一个数据N,满足H(M) =H(N)。消息中的任何一位或者多位的变化都将导致该散列值的变化。从散列值不可能推导出消息M,也很难通过伪造消息M’来生成相同的散列值。HASH函数的抗冲突性使得如果一段明文稍有变化,哪怕只更改该段落的一个字母,通过哈希算法作用后都将产生不同的值。而HASH算法的单向性使得要找到哈希值相同的两个不同的输入消息,在计算上是不可能的。由于HASH函数的上述特点,无法根据所存储的摘要信息推算出用户的位置关系。例如,即使两个用户都位于北京市朝阳区的某地,他们的地理信息(经纬度信息)的数字摘要也可能很不相同,从而无法利用数字摘要推算出这两个用户之间的位置关系。
[0005]因此,需要一种数字摘要算法,利用该算法,虽然无法根据所计算的数字摘要推出用户的具体位置,但是可以利用根据该算法计算的数字摘要来推算用户之间的位置关系,例如它们是否同处于某一地区,从而对该位置关系加以利用。

【发明内容】

[0006]为了计算上述地理信息的数字摘要,本发明的实施方式提供了用于计算地理信息的数字摘要的方法和设备。利用本发明的上述方法和设备,即能够根据数字摘要一定程度上获得用户的位置关系,而不能够确定用户的具体位置,从而达到既在一定程度上利用了数字摘要,而又保护用户隐私的目的。
[0007]在本发明的一个方面中,提供了一种用于计算地理信息的数字摘要的方法。该方法包括:获取用户的地理信息;基于所述地理信息,确定维度信息;将所确定的维度信息编码为代码;以及计算所述代码的数字摘要。
[0008]在本发明的可选实施方式中,其中获取用户的地理信息包括利用客户端获取所述用户的地理信息。 [0009]在本发明的可选实施方式中,其中:所述地理信息包括经度信息和维度信息。
[0010]在本发明的可选实施方式中,其中:所述维度信息包括国家、省、市、县、区等信息。
[0011]在本发明的可选实施方式中,其中计算所述代码的数字摘要包括利用哈希函数计算所述代码的数字摘要。
[0012]在本发明的可选实施方式中,其中所述哈希函数为MD5算法或者SHA安全散列算法。
[0013]在本发明的可选实施方式中,该方法还包括将所计算的数字摘要存储在存储设备中。
[0014]在本发明的另一方面,提供一种计算地理信息的数字摘要的设备。该设备包括:获取设备,用于获取用户的地理信息;确定装置,用于基于所述地理信息,确定维度信息?’编码装置,用于将所确定的维度信息编码为代码;以及计算装置,用于计算所述代码的数字摘要。
【专利附图】

【附图说明】
[0015]通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0016]图1是根据本发明的实施方式用于计算地理信息的数字摘要的方法的流程图;
[0017]图2是根据本发明的实施方式用于计算地理信息的数字摘要的设备的方框图;以及
[0018]图3示出了适合用来实践本发明实施方式的计算机系统300的框图。
[0019]在附图中,相同或对应的标号表不相同或对应的部分。
【具体实施方式】
[0020]下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
[0021]下面结合附图以示例的方式详细描述本发明的各种实施方式。首先参考图1,其示出了根据本发明实施方式的计算地理信息的数字摘要的方法100的流程图。应当理解,方法100中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。方法100还可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
[0022]方法100开始之后,在步骤S 102处,获取用户的地理信息。注意到,可以使用客户端获取用户的地理信息。该地理信息例如包括经度和维度。例如,如果用户在北京市朝阳区某餐馆,则用户的经度维度坐标可能为(116.43,39.92)。
[0023]该方法100接着行进到步骤S104。在步骤S104处,通过在步骤S102处获得的地理信息(即,包括经度和维度的信息),确定该地理信息对应的维度信息。例如,如果获得了用户的地理信息即经度维度坐标为(116.43,39.92),则可以确定用户在北京市朝阳区。
[0024]接着,在步骤S106处,将所确定的维度信息编码为代码。例如北京市朝阳区可以被编码为100022( S卩,北京市朝阳区的邮政编码)对应的二进制代码,即1000011010110110。虽然在此将维度信息编码为其对应的邮政编码,本领域技术人员可以理解,可以将维度信息编码为任何其他代码。
[0025]接下来,在步骤S108处,计算在步骤S106中得到的代码的数值摘要。例如,可以利用单向散列函数H(M)来计算上述代码的数字摘要。其中,M为代码。该计算返回一个固定长度的散列h,其中h的长度为m,h称为代码M的摘要。常见的数字摘要算法有MD(消息摘要标准)算法以及SHA(安全散列算法)等。对于MD5算法而言,输入为任意长度的消息,而输出为128比特的消息摘要。对于SHA安全散列算法而言,输入消息长度小于264,而输出为160比特的消息摘要。注意到,SHA安全散列算法的基础是MD4。
[0026]利用上述方法,如果用户A与用户B同处于北京市朝阳区,则通过在步骤S102中获得用户的地理信息,在步骤S104处将该地理信息转化为对应的维度信息即北京市朝阳区,在步骤S106将该地理信息转换为维度信息对应的编码,以及在步骤S108中将数字摘要算法用于在步骤S106中的代码,则计算所得的用户A和用户B的地理信息的数字摘要相同。从而使得可以通过数字摘要相同而确定用户A和用户B同处于一个区中,但是不能确定用户A和用户B具体在哪个区中,从而即获得了用户A和B之间位置关系,以用于其他进一步应用,也保护了用户的隐私。
[0027]备选地或附加地,该方法还可以将在步骤S108处所计算的数字摘要存储在存储设备中,以供后续使用。
[0028]注意到,虽然以上描述中以市和区作为维度信息,本领域技术人员可以根据具体应用和需要选择不同的维度信息。例如,还可以选择更高层级的维度信息,例如国家,或者更低层级的维度信息,例如街道等。
[0029]现在参考图2,其示出了根据本发明示例性实施方式的用于计算地理信息的数字摘要的设备200的框图。如图所示,根据本发明的实施方式,设备200包括获取装置202,用于获取用户的地理信息;确定装置204,用于基于所述地理信息,确定维度信息;编码装置206,用于将所确定的维度信息编码为代码;以及计算装置210,用于计算所述代码的数字摘要。
[0030]在本发明的可选实施方式中,其中获取装置202包括利用客户端获取所述用户的地理信息的装置。
[0031]在本发明的可选实施方式中,其中所述地理信息包括经度信息和维度信息。
[0032]在本发明的可选实施方式中,其中:所述维度信息包括国家、省、市、县、区等信息。
[0033]在本发明的可选实施方式中,其中所述计算装置208包括利用哈希函数计算所述代码的数字摘要的装置。
[0034]在本发明的可选实施方式中,其中所述哈希函数为MD5算法或者SHA安全散列算法。
[0035]在本发明的可选实施方式中,设备200还包括存储装置210,用于将所计算的数字摘要存储在存储设备中。
[0036]为清晰起见,在图2中并未示出各个装置所包含的子装置。然而,应当理解,设备200中记载的装置202-208及其子装置分别与参考图1描述的方法100中的步骤S102-S108相对应。由此,上文针对图1中的方法100描述的操作和特征同样适用于设备200及其中包含的装置和子装置,在此不再赘述。
[0037]还应当理解,设备200可以利用各种方式来实现。例如,在某些实施方式中,设备200可以利用软件和/或固件模块来实现。此外,设备200也可以利用硬件模块来实现。例如,设备200可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。设备200也可以实现为片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
[0038]图3示出了适于用来实践本发明实施方式的计算机系统的示意性框图。如图3所示,计算机系统可以包括:CPU(中央处理单元)301、RAM(随机存取存储器)302、ROM(只读存储器)303、系统总线304、硬盘控制器305、键盘控制器306、串行接口控制器307、并行接口控制器308、显示控制器309、硬盘310、键盘311、串行外部设备312、并行外部设备313和显示器314。在这些设备中,与系统总线304耦合的有CPU 301、RAM 302、ROM 303、硬盘控制器305、键盘控制器306、串行控制器307、并行控制器308和显示控制器309。硬盘310与硬盘控制器305耦合,键盘311与键盘控制器306耦合,串行外部设备312与串行接口控制器307耦合,并行外部设备313与并行接口控制器308耦合,以及显示器314与显示控制器309耦合。
[0039]应当理解,图3所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
[0040]特别地,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图1描述的方法100可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图3所示的RAM 302、ROM 303、硬盘310和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统300上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图3中示出的CPU 301)执行的程序指令。所述程序指令至少可以包括:用于获取用户的地理信息的指令;用于基于所述地理信息,确定维度信息的指令;用于将所确定的维度信息编码为代码的指令;以及用于计算所述代码的数字摘要的指令。
[0041]应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0042]说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),根据IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
[0043]应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
[0044]此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0045]虽然已经参考若干【具体实施方式】描述了本发明,但是应该理解,本发明并不限于所公开的【具体实施方式】。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
【权利要求】
1.一种计算地理信息的数字摘要的方法,包括: 获取用户的地理信息; 基于所述地理信息,确定维度信息; 将所确定的维度信息编码为代码;以及 计算所述代码的数字摘要。
2.根据权利要求1所述的方法,其中: 获取用户的地理信息包括利用客户端获取所述用户的地理信息。
3.根据权利要求1所述的方法,其中: 所述地理信息包括经度信息和维度信息。
4.根据权利要求1所述的方法,其中: 所述维度信息包括国家、省、市、县、区、街道等信息。
5.根据权利要求1所述的方法,其中计算所述代码的数字摘要包括利用哈希函数计算所述代码的数字摘要。
6.根据权利要求5所述的方法,其中所述哈希函数为MD5算法或者SHA安全散列算法。
7.根据权利要求1所述的方法,还包括将所计算的数字摘要存储在存储设备中。
8.一种计算地理信息的数字摘要的设备,包括: 获取设备,用于获取用户的地理信息; 确定装置,用于基于所述地理信息,确定维度信息; 编码装置,用于将所确定的维度信息编码为代码;以及 计算装置,用于计算所述代码的数字摘要。
9.根据权利要求8所述的设备,其中: 所述获取装置包括利用客户端获取所述用户的地理信息的装置。
10.根据权利要求8所述的设备,其中: 所述地理信息包括经度信息和维度信息。
11.根据权利要求8所述的设备,其中: 所述维度信息包括国家、省、市、县、区等信息。
12.根据权利要求8所述的设备,其中所述计算装置包括利用哈希函数计算所述代码的数字摘要的装置。
13.根据权利要求12所述的设备,其中所述哈希函数为MD5算法或者SHA安全散列算法。
14.根据权利要求8所述的设备,还包括存储装置,用于将所计算的数字摘要存储在存储设备中。
【文档编号】G06F17/30GK103678334SQ201210326022
【公开日】2014年3月26日 申请日期:2012年9月3日 优先权日:2012年9月3日
【发明者】于昕 申请人:人人游戏网络科技发展(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1