管理用户信息的方法及系统的制作方法

文档序号:7985205阅读:183来源:国知局
管理用户信息的方法及系统的制作方法
【专利摘要】本发明公开了一种管理用户信息的方法和系统,所述方法包括客户端缓存每个用户的不同版本用户信息,其中,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间;以及,发送某一版本的用户信息至用户信息处理服务器;所述用户信息处理服务器接收所述客户端发送的某一版本的用户信息时,从用户信息缓存器中获取该用户基本信息的修改时间,基于该修改时间与所述版本用户信息的创建时间的比较结果,利用从用户信息缓存器中缓存的用户基本信息对所述版本用户信息进行更新。采用本发明能够解决跨域跨浏览器的cookie信息同步。
【专利说明】管理用户信息的方法及系统
【技术领域】
[0001]本发明涉及网络安全领域,具体涉及管理用户信息的方法及系统。
【背景技术】
[0002]随着互联网的快速发展,已经出现了一些具有数百万乃至数亿用户的大型网络应用提供商,这些网络应用提供商提供多个网络应用,而且每个网络应用都受到大量用户的广泛使用。为了便于用户使用这些网络应用,通常网络应用提供商为每个用户提供了唯一的用户标识,这样用户在使用网络应用时,只需要使用一个网络用户名即可。一些共享用户信息的网络应用联盟也采用这样的用户机制。这样的网络应用可能会使用不同的域名。例如,专门管理用户的用户中心采用域名xxx-user.com,应用A则采用域名xxx_a.com,以此类推。
[0003]根据HTTP (Hyper Text Transport Protocol,超文本传输协议)的相关内容,为了保证cookie (HTTP标准中的一种缓存机制)的安全性,多个域名不能共用一个cookie信息。因此,在现有的方案中,为了方便用户使用网络应用,大型的网络应用提供商通常在用户在使用某个具体应用而登录系网络应用时,为该用户生成该网络应用提供商所具有的所有网络应用的cookie信息,从而方便用户登录该网络应用提供商的其他网络应用。
[0004]一般来说,与某个应用相对应的cookie中除了存储用户名信息之外,还存储有用户的其它基本信息。这就有可能导致这样的问题,即当用户在使用某个网络应用时更新了其基本信息,而与其他网络应用相对应的cookie并没有相应修改其基本信息,从而导致用户在使用其他应用时不能获得最新的基本用户信息,产生信息不一致的情况,这会导致用户的困惑,并降低网络应用对用户的吸引力。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的管理用户信息的方法及系统。
[0006]依据本发明的一个方面,提供了一种管理用户信息的系统,包括用户信息处理服务器和客户端,其中,
[0007]所述客户端,配置为对于每个用户,缓存该用户的不同版本用户信息,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间;以及发送某一版本的用户信息至所述用户信息处理服务器;
[0008]所述用户信息处理服务器,适于对缓存在客户端处的用户信息进行处理,其中对于每个用户,在客户端处缓存有该用户的不同版本用户信息,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间,该用户信息处理服务器包括:用户信息缓存器,配置为缓存用户的基本信息以及修改用户的基本信息的修改时间;以及用户交互处理器,配置为当接收到某一版本的用户信息时,从用户信息缓存器中获取该用户基本信息的修改时间,基于该修改时间与版本用户信息的创建时间的比较结果,利用从用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。
[0009]可选的,用户交互处理器还配置为当比较结果为修改时间早于创建时间时,保持版本用户信息不变;以及在修改时间晚于创建时间时,用所缓存的用户基本信息更新版本用户信息中的用户基本信息,并相应修改创建时间。
[0010]可选的,上述用户信息处理服务器还包括:用户信息存储器,配置为存储用户的基本信息;以及,信息修改处理器,分别耦接到用户信息存储器和用户信息缓存器,配置为接收来自客户端的用户信息修改请求,基于该请求对用户信息存储器中存储的用户基本信息进行修改,对用户信息缓存器中缓存的用户基本信息进行修改,并同时更新相应的修改时间,以及创建与该用户信息修改请求相对应版本的用户信息。
[0011]可选的,具有不同根域名的网络应用具有不同版本的用户信息,以及不同类型的浏览器具有不同版本的用户信息。
[0012]依据本发明的另一个方面,提供了一种利用上述管理用户信息的系统进行用户信息管理的方法,包括:客户端缓存每个用户的不同版本用户信息,其中,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间;以及,发送某一版本的用户信息至用户信息处理服务器;用户信息处理服务器接收客户端发送的某一版本的用户信息时,从用户信息缓存器中获取该用户基本信息的修改时间,基于该修改时间与版本用户信息的创建时间的比较结果,利用从用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。
[0013]根据本发明的技术方案,用户交互处理器比较两个时间,一个是版本用户信息的创建时间,另外一个是从用户信息缓存器中获取的该用户基本信息的修改时间。根据比较结果,用户交互处理器能够利用从用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。由此可见,当用户在使用某个网络应用时更新了其基本信息,而用户在登录其他网络应用时,用户交互处理器可以对cookie中的信息进行更新,即,用户在使用任何应用时均能够获得最新的基本用户信息,而不会获得客户端中存储的未被更新的基本用户信息,从而避免了用户产生困惑,提高网络应用对用户的吸引力。
[0014]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0015]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0016]图1示出了根据本发明一个实施例的管理用户信息的系统的结构示意图;
[0017]图2示出了根据本发明一个实施例的用户信息处理方法的处理流程图;以及
[0018]图3示出了根据本发明一个实施例的用户信息处理过程示意图。
【具体实施方式】
[0019]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0020]根据本发明的一个方面,在例如基于HTTP以及类似协议(HTTPS)的网络环境中,需要提供一种能够快速、准确地将用户信息更新到各种不同cookie中,以便用户即使获得更新信息的cookie同步方法以及相应的设备。
[0021]以一个具体实施例对本发明的目的进行描述。例如,在一个大型互联网应用系统中,具有不同域名的多个应用采用同一帐号系统,这可以通过在用户登录某个应用时同时给与多个应用相对应的多个域设置cookie来实现帐号在多个域的同步登录。cookie中存储了用户的基本信息。当用户与该系统中的其它应用交互时,通过从cookie反解得到获取当前登录用户的基本信息。该实施例需要达到如下目的:
[0022]1.用户在A域下修改了帐号的基本信息,重新设置了 cookie ;当用户B域时,要保证用户在该域看到的用户信息与A域下最新修改后的信息一致。
[0023]2.内核不同的浏览器(如IE浏览器和firefox浏览器)中cookie存储的方式也不一样,用户用A浏览器访问修改了帐号信息,重新设置了 cookie ;当用户改用B浏览器访问时,若用户之前在B浏览器登录过并选择了下次自动登录,也要保证用户看到的用户信息与在A浏览器下看到的信息一致。
[0024]此处的浏览器仅仅是列举了 IE浏览器和firefox浏览器两种实例,在实施过程中还可以存在其他多种浏览器,例如QQ浏览器、360浏览器、S0G0U浏览器等等。
[0025]基于该发明构思,本发明实施例提供了一种管理用户信息的系统,其结构示意图如图1所示,包括多个客户端Ili和用户信息处理服务器120。
[0026]其中,对于客户端lli,此处的i取自然数,表示不同的客户端,i的取值为任意正整数,例如1、2、3、5、8、20等。图中为了示意,仅画出了两个客户端,为方便描述,从左向右依次标识为客户端111、客户端112。后文的实施例描述会根据图1中的结构以及信息走向确定当前所使用的是哪个客户端,该客户端的选择仅用于区别不同的实体,但并不对客户端自身以及其功能造成限定。
[0027]需要说明的是,本发明实施例中的客户端缓存有用户信息,对于每个用户,在客户端处缓存有该用户的不同版本用户信息。每个版本用户信息可以包括用户的基本信息以及创建该版本用户信息的创建时间。
[0028]参见图1,客户端Ili经由例如网络连接到用户信息处理服务器120。客户端Ili将某一版本的用户信息发送至用户信息处理服务器。该版本由用户通过客户端Iii确定,时间不同或选择时机不同,选择的版本也不同。例如,当用户通过客户端Ili处的I E浏览器登录时,传输的是与I E浏览器相对应的用户信息(存储在I E浏览器所管理的cookie中)。更进一步,当用户通过客户端Ili处的IE浏览器与某个应用A交互时,传输的是IE浏览器所管理的、与应用A相对应的用户信息(B卩IE浏览器中存储的与应用A相对应的cookie)。用户信息处理服务器120对接收的该版本的用户信息进行验证,判断该版本的用户信息是否是最新的用户信息。
[0029]应当注意的是,在网络应用中,用户通过在和应用进行交互时,与其他信息一起将用户信息发送到信息处理服务器120进行处理。例如在上面基于cookie的传输方式中,浏览器会自动将cookie信息和用户的其他数据一起发送给信息处理服务器120而无需用户干涉。
[0030]参见图1,客户端112通过用户交互接口 1121将某一版本的用户信息发送至用户信息处理服务器120。参见图1,用户信息处理服务器120包括用户信息缓存器121和用户交互处理器122。
[0031]用户信息缓存器121能够缓存用户的基本信息以及修改用户的基本信息的修改时间。用户交互处理器122耦接到用户信息缓存器122。当接收到客户端Ili (例如客户端111)发送的某一版本的用户信息时,用户交互处理器122从该版本的用户信息中取出用户标识,并且从用户信息缓存器121中获取与该用户标识相对应的用户基本信息的修改时间,将该修改时间与该版本用户信息的创建时间进行比较。基于该修改时间与版本用户信息的创建时间的比较结果,用户交互处理器122利用从用户信息缓存器122中缓存的用户基本信息对版本用户信息进行更新。
[0032]用户交互处理器122会根据比较结果以及用户信息缓存器121中缓存的用户基本信息对版本用户信息进行更新。当比较结果不同时,选择的操作也不同。可选的,当用户信息缓存器121中缓存的用户基本信息的修改时间早于来自客户端的用户信息的创建时间时,这说明在创建客户端的用户信息以来,用户信息没有发生改变,因此用户交互处理器121可以保持版本用户信息不变。当用户基本信息的修改时间晚于创建时间时,这说明在创建客户端的用户信息之后,缓存的用户基本信息发生了改变,因此需要更新在客户端处缓存的用户信息,因此用户交互处理器121可以用所缓存的用户基本信息更新版本用户信息中的用户基本信息,并相应修改创建时间。
[0033]在用户交互处理器122对版本用户信息进行更新时,参见图1,用户交互处理器122耦将更新后的版本用户信息发送至客户端112,以便更新客户端处的C00kielll2中的内容,实现客户端112中的用户信息的更新。由此可见,本发明实施例能够对客户端的cookie中的用户信息同步进行更新,保证了客户端的cookie的可靠性。
[0034]如上文所述,用户交互处理器122比较两个时间,一个是版本用户信息的创建时间,另外一个是从用户信息缓存器中获取的该用户基本信息的修改时间。根据比较结果,用户交互处理器122能够利用从用户信息缓存器121中缓存的用户基本信息对版本用户信息进行更新。由此可见,当用户在使用某个网络应用时更新了其基本信息,而用户在登录其他网络应用时,用户交互处理器121可以对用户登录所使用的客户端的cookie中的信息进行更新,即,用户在使用任何应用时均能够获得最新的基本用户信息,而不会获得客户端中存储的未被更新的基本用户信息,从而避免产生信息不一致的情况,解决了用户的困惑,提高网络应用对用户的吸引力。
[0035]另外,除了不同网络应用会导致客户端中存储的信息不一致的情况,还有会存在其他情况。例如,在另外一种情况下,即,随着互联网的快速发展,也会出现了各种具有不同渲染内核的浏览器,甚至用户在一个客户终端上也可以采用不同的浏览器,每种浏览器具有其特定存储cookie的方式。因此,对一种浏览器cookie信息的更新,不会自动导致另一个cookie信息的更新,这同样会导致用户在采用不同浏览器来使用网络应用时,发现用户信息不一致的问题。而采用本发明实施例提供的用户信息处理服务器,在客户端访问网络应用时能够对cookie信息进行更新,因此,同样能够解决该技术问题。[0036]综上,采用本实施例提供的用户信息处理服务器能够实现跨域跨浏览器的cookie信息同步。
[0037]在本实施例中,为保证用户的唯一性、标识性,具有不同根域名的网络应用应该具有不同版本的用户信息,同理,不同类型的浏览器也应该具有不同版本的用户信息。即使用户信息的版本不同,则根据本发明实施例提供的处理方式也会实现用户信息的更新,从而保证了用户信息的一致性,提高了网络应用对用户的吸引力。参见图1,用户信息处理服务器还具有用户信息存储器123,能够存储用户的基本信息。用户的基本信息并不是一成不变的,例如,客户端会发出用户信息修改请求,根据该请求对用户的基本信息进行修改,再例如,客户端设备更新导致用户的基本信息做修改的,等等。若客户端发出用户信息修改请求时,参见图1,客户端111中设置有信息修改请求接口 1111,利用该接口向用户信息处理服务器120发送用户信息修改请求。此时,相对应的,用户信息处理服务器120需要根据接收的用户信息修改请求对用户的基本信息进行修改。
[0038]参见图1,本发明实施例提供的用户信息处理服务器中还具有信息修改处理器124,分别耦接到用户信息存储器123和用户信息缓存器125。信息修改处理器124接收来自客户端的用户信息修改请求,基于该请求对用户信息存储器123中存储的用户基本信息进行修改。考虑到用户基本信息修改可能导致的信息不一致,信息修改处理器124还能够对用户信息缓存器121中缓存的用户基本信息进行修改,并同时更新相应的修改时间。另夕卜,信息修改处理器124及还能够更新在客户端111处的cookie 1112中与该用户信息修改请求相对应版本的用户信息。
[0039]需要说明的是,用户信息存储器123和用户信息缓存器121两者虽然都是作为存储器件,但两者并不相同。用户信息存储器123中存储用户的基本信息,可以不在用户信息处理服务器120之内,其实现可以是单独的数据服务器,通过网络连接到用户信息处理服务器120。因此,用户信息处理服务器120直接从用户信息存储器123中获取用户基本信息的话,处理速度较慢,且传输需要依赖网络带宽,若网络带宽较低或出现网络阻塞的情况,会严重影响用户基本信息的获取,甚至会因为网络阻塞导致系统崩溃。而用户信息缓存器121 一般在用户信息处理服务器120的内存中构造,不需要网络连接,从内部获取用户信息的话,处理速度相对于依赖网络从外部获取会快很多。但是作为一个缓存部件,用户信息缓存器121的容量有限,仅仅能够保持部分用户基本信息。
[0040]进一步,整个实现方案仅在用户修改信息时才涉及数据库操作(即用户信息存储器),查询信息时只需查询缓存(cache,本例中相当于用户信息缓存器)和反解cookie信息,无需查询数据库,数据查询效率比较高。另外,由于在大多数情况下,应用仅仅需要用户的基本信息,因此无需将用户的全部信息都缓存至cache中,仅需保存一些应用所必需的用户信息,也很大程度节省了 cache内存的开销。
[0041]值得说明的是,图1中,用户信息缓存器121中存储的三个用户的信息,与用户信息存储器123中的用户数量以及相关信息一致。而实际应用中,各存储器中存储的用户数量以及相关信息可以根据实际情况而定,并不限于三个四个甚至数百万至上亿用户。
[0042]可选的,用户信息处理服务器120还可以包括用户验证器125,用户验证器125与信息修改处理器124和/或用户交互处理器122耦接。这样当用户交互处理器122或者信息修改处理器124接收到客户端Ili (例如客户端111)发送的某一版本的用户信息时,可以先由用户验证器125对该用户信息进行验证,避免信息出现错误,提高信息的可靠性。
[0043]根据本发明的一个实施例,通过cookie等方式发送到用户信息处理服务器120的客户端信息通常包括第一信息部分和第二信息部分,第一信息部分包括用户的基本信息,而第二信息部分包括利用预定加密规则对用户的基本信息进行加密之后生成的第一校验字符串。用户验证器125可以验证该客户端信息是否未被修改。具体地,用户验证器125首先利用与生成第二信息部分的加密规则相同的加密规则对第一信息部分进行加密,得到第二校验字符串。随后用户验证器125确定所生成的第二校验字符串与接收到的客户端信息的第二信息部分中的第一校验字符串是否匹配,如果匹配则验证成功,否则验证失败,并将验证结果返回给用户交互处理器122或者信息修改处理器124。
[0044]在本发明实施例中,客户端信息包括两部分内容,一部分(即第一信息部分)是用户自身的基本信息,另外一部分(即第二信息部分)是第一校验字符串。用户登录后,用户验证器125会根据用户的基本信息生成第二校验字符串,若两次生成的校验字符串不匹配,则验证不成功,用户无法登录到该网络应用中。即,在本发明实施例中,增加了对客户端信息进行验证的步骤,若恶意用户伪造cookie与用户信息处理服务器120进行交互,伪造的cookie与用户验证器125生成的第二校验字符串必然不匹配,从而能够保障系统的安全性。
[0045]另外,在本发明实施例中,利用用户验证器125就能够实现对用户信息的验证,不需要到数据库中获取相应的用户信息,减少了对数据库的数据调用操作,减少了数据库的负载,从而降低了系统的负载,提高系统的安全性。
[0046]当用户验证器125对客户端信息的验证失败时,说明来自客户端的用户信息已经被未经授权的修改,该用户信息的安全性值得质疑,此时用户交互处理器122或者信息修改处理器124可以不继续进行后续的处理。
[0047]在本发明的任意实施例中,为保证用户的唯一性、标识性,具有不同根域名的网络应用应该具有不同版本的用户信息,同理,不同类型的浏览器也应该具有不同版本的用户信息。用户信息的版本不同,则根据本发明实施例提供的处理方式必须会实现用户信息的更新,从而保证了用户信息的一致性,提高了网络应用对用户的吸引力。
[0048]由图1的系统架构图也可以看出,在应用过程中,客户端Ili以及用户信息处理服务器120与用户信息存储器123间的交互较少,不需要每次客户登录时均到用户信息存储器(即本地数据库)中读取数据,提高查询效率。
[0049]上述提供的客户端以及用户信息处理服务器的架构仅仅是优选实施例,并不对两者的实际架构造成限定。客户端以及用户信息处理服务器中还可以存在多个其他器件或模块或接口,根据具体情况而定。
[0050]图2示出了根据本发明一个实施例的用户信息处理的方法。该方法适于在图1所示的用户信息处理服务器120处执行,并适于对缓存在客户端处的用户信息进行处理,其中对于每个用户,在客户端处缓存有该用户的不同版本用户信息,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间。并且,该用户信息处理器具有用户信息缓存器,其中缓存有该用户的基本信息以及修改该用户的基本信息的修改时间,修改时间与用户的基本信息同步保存,对用户的基本信息能够起到标识或鉴别作用。图2所示方法起始于步骤S202。在步骤S202中,当接收到客户端发送的某一版本的用户信息时,从用户信息缓存器中获取该用户基本信息的修改时间。随后,在步骤S204中,从步骤S202获取的某一版本的用户基本信息的修改时间,将该修改时间与客户端中存储的版本用户信息的创建时间进行比较。然后,步骤S206会根据步骤S204中两者的比较结果,利用从用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。具体的更新方式例如,当从步骤S202获取的某一版本的用户信息的修改时间早于客户端中存储的该版本用户信息的创建时间时,证明客户端中存储的该版本用户信息是最新的,此时选择保持该版本用户信息不变。再例如,当从步骤S202获取的某一版本的用户信息的修改时间晚于客户端中存储的该版本用户信息的创建时间时,证明客户端中存储的该版本用户信息是过时的,需要被修改时,此时利用用户信息缓存器中所缓存的用户基本信息更新该版本用户信息中的用户基本信息,并相应修改创建时间。当步骤S206中的更新操作结束时,则该流程结束。
[0051]在本方法实施例中,比较两个时间,一个是版本用户信息的创建时间,另外一个是从用户信息缓存器中获取的该用户基本信息的修改时间。根据比较结果,利用从用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。由此可见,当用户在使用某个网络应用时更新了其基本信息,而用户在登录其他网络应用时,可以对客户端登录网络应用时所使用的cookie中的信息进行更新,即,用户在使用任何应用时均能够获得最新的基本用户信息,而不会获得客户端中存储的未被更新的基本用户信息,从而避免产生信息不一致的情况,解决了用户的困惑,提高网络应用对用户的吸引力。
[0052]另外,对于各种具有不同渲染内核的浏览器,以及用户在一个客户终端上也可以采用不同的浏览器,每种浏览器具有其特定存储cookie的方式的情况,采用本发明实施例提供的用户信息处理的方法,在访问时能够及时对cookie信息进行更新,因此,同样能够解决该技术问题。即,本实施例实现了跨域跨浏览器的cookie信息同步。
[0053]现以具体实施例对本发明提供的实现了跨域跨浏览器的用户信息片方法进行详细地阐述及说明。
[0054]参见图3,客户端用户首次使用A浏览器(假设为ie浏览器)访问a.com。由于a.com和b.com属于同一个互联网应用系统,而该系统实现了多域同步登录,此时该系统会同时设置a.com和b.com域下的cookie。
[0055]随后用户向服务器(即用户信息处理服务器,后简称为服务器)发出修改用户名的请求(即用户信息修改请求)。服务器接收请求,调用SDK来处理,SDK首先校验当前域a.com下用户的cookie是否存在且合法有效,若不存在或无效直接返回错误提示给客户端,若有效则执行数据库操作更新用户的用户名,若更新失败返回错误提示给客户端,若更新数据库成功则将当前操作时间和新用户名保存至高速缓冲存储器(cache)模块,同时重设 cookie。
[0056]客户端用户使用B浏览器(假设为f irefox浏览器,内核与IE不同)访问b.com,服务器调用SDK校验当前b.com域下的用户cookie是否存在且有效。若cookie不存在或无效,则返回用户信息为空,用户处于未登录状态。若cookie存在且有效,则从cookie中反解出当前用户的基本信息,SDK同时从cache中获取当前用户的最后修改的用户名和修改时间,并把修改时间与cookie的生成时间做比较,若前者大于后者,则返回当前用户的基本信息里的用户名取的是在cache中得到的用户名,同时用新用户名重设cookie ;否则当前用户的用户名取的是从cookie反解得到的用户名。[0057]需要说明的是,本例中的SDK主要用于确定cookie的合法性并对其进行更新,其功能相当于图1中的用户交互处理器122以及信息修改处理器124。而本例中的cache(或者称为cache模块)主要用于存储部分修改的用户信息和修改时间,其功能相当于图1中的用户信息缓存器121。另外,本例中的数据库DB存储所有用户的相关信息,相当于图1中的用户信息存储器123。
[0058]由上述实施例可以看出,本实施例能够实现跨域跨浏览器的cookie信息同步。实施时,各个域(或不同内核浏览器)获取当前登录的用户信息,均通过从cookie中反解得出。进一步,通过cache存储修改的时间和修改的最新内容后,只需将cache中的修改时间与cookie的生成时间相比较即能得知是否需要用cache最新修改的内容替换反解cookie得到的相应内容,同时重置cookie,就能够实现各域下(或不同内核浏览器)cookie信息的同
止/J/ O
[0059]另外,整个实现方案仅在用户修改信息时才涉及数据库操作,查询信息时只需查询cache和反解cookie信息,无需查询数据库,数据查询效率比较高。因无需将用户的全部信息都保存至cache,仅需保存用户有修改操作的部分信息,也很大程度节省了 cache服务器内存的开销。
[0060]在本实施例中,为保证用户的唯一性、标识性,具有不同根域名的网络应用应该具有不同版本的用户信息,同理,不同类型的浏览器也应该具有不同版本的用户信息。用户信息的版本不同,则根据本发明实施例提供的处理方式必须会实现用户信息的更新,从而保证了用户信息的一致性,提高了网络应用对用户的吸引力。
[0061]前文提及,本实施例能够根据比较结果以及用户信息缓存器中缓存的用户基本信息对版本用户信息进行更新。当比较结果不同时,选择的操作也不同。可选的,当比较结果为用户基本信息的修改时间早于创建时间时,保持版本用户信息不变。可选的另外一种操作,当用户基本信息的修改时间晚于创建时间时,用所缓存的用户基本信息更新版本用户信息中的用户基本信息,并相应修改创建时间。
[0062]用户基本信息的修改需要触发条件,本实施例中,该触发条件来自客户端,在接收来自客户端的用户信息修改请求之后,基于该请求对用户信息存储器中存储的用户基本信息进行修改,对用户信息缓存器中缓存的用户基本信息进行修改,并同时更新相应的修改时间。用户基本信息修改结束后,创建与该用户信息修改请求相对应版本的用户信息。
[0063]为本发明实施例提供的用户信息处理方法阐述地更清楚更明白,现以一个具体用户的信息处理过程进行说明。本实施例以用户jack在不同的网络应用中修改用户名为例,分不同状态对上述各实施例的方法进行具体说明。
[0064]一.初始状态
[0065]假设用户jack在a.com和b.com域下均已登录,cookie值是一样的,如下:
[0066](I) a.com 域下的 cookie 值:
[0067]userid = 90071306&username = jack
[0068]&imageid = 1030007&time = 1346316097
[0069](2) b.com 域下的 cookie 值:
[0070]userid = 90071306&username = jack
[0071]&imageid = 1030007&time = 1346316097[0072]备注:cookie内容说明
[0073]userid(用户ID在帐号系统内该值唯一)
[0074]username (用户名)
[0075]imageid(用户头像图片ID)
[0076]time (cookie 生成时间)
[0077]二.修改状态
[0078]假设用户jack在a.com将用户名由jack修改为andy,数据库更新成功后,将最新用户名andy和当前操作时间存储至cache缓存,同时重新生成a.com下的cookie。
[0079]此时a.com 下 cookie 值:
[0080]userid = 90071306&username = andy&imageid = 1030007&time = 1346317099(此时用户名username和cookie生成时间time值已改变)
[0081]此时cache缓存中以userid 90071306为key存储的内容为:
[0082]最新用户名值为:andy
[0083]最新修改时间值为:1346317199 (此时间与上述修改用户名后的cookie生成时间大致相等。因登录在前,修改用户名在后,所以最新修改时间肯定大于用户改名前a.com和b.com下cookie的生成时间。)
[0084]三.再次登录状态
[0085]假设用户jack此时再访问b.com
[0086]当前b.com的cookie值仍为:
[0087]userid = 90071306&username = jack&imageid = 1030007&time = 1346316097
[0088]根据userid 90071306从cache中查询得到最新用户名andy和最新修改时间1346317199,此时发现最新修改时间1346317199大于cookie生成时间1346316097 ;则将结合最新用户名andy重新种b.com下的cookie ;
[0089]此时b.com下的cookie值变为:
[0090]userid = 90071306&username = andy&loginemaiI = jackil63.com&imageid =1030007&time = 1346317299
[0091]至此b.com下cookie中得用户名已经和a.com下保持一致。
[0092]综上,采用本发明实施例提供的方法、设备以及系统能够保证用户在使用任何应用时或使用任何浏览器时均能够获得最新的基本用户信息,实现跨域跨浏览器的cookie信息同步,从而避免产生信息不一致的情况,解决了用户的困惑,提高网络应用对用户的吸引力。
[0093]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0094]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0095]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0096]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0097]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0098]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的各设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0099]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种管理用户信息的系统,包括:用户信息处理服务器和客户端, 所述客户端,配置为对于每个用户,缓存该用户的不同版本用户信息,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间;以及发送某一版本的用户信息至所述用户信息处理服务器; 所述用户信息处理服务器,适于对缓存在客户端处的用户信息进行处理,其中对于每个用户,在所述客户端处缓存有该用户的不同版本用户信息,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间,该用户信息处理服务器包括: 用户信息缓存器,配置为缓存用户的基本信息以及修改所述用户的基本信息的修改时间;以及 用户交互处理器,配置为当接收到某一版本的用户信息时,从所述用户信息缓存器中获取该用户基本信息的修改时间,基于该修改时间与所述版本用户信息的创建时间的比较结果,利用从所述用户信息缓存器中缓存的用户基本信息对所述版本用户信息进行更新。
2.根据权利要求1所述的管理用户信息的系统,其特征在于, 所述用户交互处理器还配置为当所述比较结果为所述修改时间早于所述创建时间时,保持所述版本用户信息不变;以及 在所述修改时间晚于所述创建时间时,用所缓存的用户基本信息更新所述版本用户信息中的用户基本信息,并相应修改创建时间。
3.根据权利要求1或2所述的管理用户信息的系统,其特征在于,所述用户信息处理服务器还包括: 用户信息存储器,配置为存储用户的基本信息;以及 信息修改处理器,分别耦接到所述用户信息存储器和用户信息缓存器,配置为接收来自客户端的用户信息修改请求,基于该请求对所述用户信息存储器中存储的用户基本信息进行修改,对所述用户信息缓存器中缓存的用户基本信息进行修改,并同时更新相应的修改时间,以及创建与该用户信息修改请求相对应版本的用户信息。
4.根据权利要求1至3任一项所述的管理用户信息的系统,其特征在于,具有不同根域名的网络应用具有不同版本的用户信息,以及不同类型的浏览器具有不同版本的用户信肩、O
5.根据权利要求1至4中任一项所述的管理用户信息的系统,其特征在于,所述客户端还配置为发送用户信息修改请求至所述用户信息处理服务器。
6.一种利用权利要求1至5中任一项所述的管理用户信息的系统进行用户信息管理的方法,包括: 客户端缓存每个用户的不同版本用户信息,其中,每个版本用户信息包括用户的基本信息以及创建该版本用户信息的创建时间;以及,发送某一版本的用户信息至用户信息处理服务器; 所述用户信息处理服务器接收所述客户端发送的某一版本的用户信息时,从用户信息缓存器中获取该用户基本信息的修改时间,基于该修改时间与所述版本用户信息的创建时间的比较结果,利用从用户信息缓存器中缓存的用户基本信息对所述版本用户信息进行更新。
7.根据权利要求6所述的方法,其特征在于,还包括:所述客户端发送用户信息修改请求至所述用户信息处理服务器; 所述用户信息处理服务器接收所述用户信息修改请求,基于该请求对用户信息存储器中存储的用户基本信息进行修改,对所述用户信息缓存器中缓存的用户基本信息进行修改,并同时更新相应的 修改时间,以及创建与该用户信息修改请求相对应版本的用户信息。
【文档编号】H04L29/08GK103701844SQ201210435978
【公开日】2014年4月2日 申请日期:2012年11月5日 优先权日:2012年11月5日
【发明者】黄来安, 于富龙 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1