著录项信息
专利名称 | 一种cookie信息存储方法和系统 |
申请号 | CN201210094095.9 | 申请日期 | 2012-03-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-08-15 | 公开/公告号 | CN102638581A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 刘鸿威;任寰 |
代理机构 | 北京润泽恒知识产权代理有限公司 | 代理人 | 苏培华 |
摘要
本申请提供了一种cookie信息存储方法和系统,涉及计算机技术领域。本申请的方法包括:第一客户端发送第一连接请求至云端服务器,获得云端服务器存储许可;所述第一连接请求中包括用户标识;对于第一客户端浏览页面生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;当第一客户端或者第二客户端发送连第二接请求至云端服务器时,所述第二连接请求包括所述用户标识,若云端服务器存在对应所述用户标识的cookie信息,则将所述cookie信息提供给所述第一客户端或者第二客户端下载。本申请使用户端在不同客户端浏览以前浏览过的网页,并且提高服务器的效率。
1.一种cookie信息存储方法,其特征在于,包括:
第一客户端发送第一连接请求至云端服务器,获得云端服务器存储许可;所述第一连接请求中包括用户标识;所述用户标识针对第一客户端和第二客户端,用于第一客户端和第二客户端登陆云端服务器;
对于第一客户端浏览页面并在客户端中生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;其中,将所述cookie信息上传时包括:
根据第一客户端对所打开的各网站的各页面的操作,将所述cookie信息上传至云端服务器;
当第一客户端或者第二客户端发送第二连接请求至云端服务器时,所述第二连接请求包括所述用户标识,若云端服务器存在对应所述用户标识的cookie信息,则将所述cookie信息提供给所述第一客户端或者第二客户端下载。
2.根据权利要求1所述的方法,其特征在于,将所述cookie信息上传时包括:
根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。
3.根据权利要求1所述的方法,其特征在于,将所述cookie信息上传时包括:
监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。
4.根据权利要求3所述的方法,其特征在于:
所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。
5.根据权利要求1所述的方法,其特征在于,将所述cookie信息上传时包括:
针对第一客户端打开的各页面,分析所述第一客户端对所述页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。
6.根据权利要求1所述的方法,其特征在于,将所述cookie信息上传时包括:
针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。
7.根据权利要求1所述的方法,其特征在于,在将所述cookie信息上传之前包括:
将所述cookie信息进行压缩。
8.根据权利要求1或7所述的方法,其特征在于,在将所述cookie信息上传之前包括:
通过密钥将所述cookie信息进行加密。
9.根据权利要求1所述的方法,其特征在于,在将所述cookie信息上传到云端服务器之后包括:
采用安全加密的方式对所述用户标识对应的cookie信息进行存储。
10.根据权利要求8所述的方法,其特征在于,在将所述cookie信息上传到云端服务器之后包括:
采用安全加密的方式对所述用户标识对应的cookie信息进行存储。
11.根据权利要求1所述的方法,其特征在于,将所述cookie信息上传至云端服务器时包括:
调用处理cookie信息的相关函数;
通过所述调用的相关函数获取写入cookie的信息;
根据所述cookie信息中的域名,构建进程内的cookie列表;
依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。
12.根据权利要求1所述的方法,其特征在于,还包括:
将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。
13.根据权利要求12所述的方法,其特征在于,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中时包括:
对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。
14.根据权利要求1所述的方法,其特征在于:
当通过至少两个客户端使用同一用户标识上传cookie信息至云端服务器时,对于域名和/或cookie名相同的cookie信息,保留其时间戳较新的cookie信息。
15.一种cookie信息存储系统,其特征在于,包括:
第一客户端和云端服务器,和/或第二客户端;
所述第一客户端包括:
第一连接请求发送模块,用于发送第一连接请求至云端服务器,获得云端服务器存储许可;所述第一连接请求中包括用户标识;所述用户标识针对第一客户端和第二客户端,用于第一客户端和第二客户端登陆云端服务器;
cookie信息上传模块,用于对于第一客户端浏览页面并在客户端中生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;其中,将所述cookie信息上传时包括:根据第一客户端对所打开的各网站的各页面的操作,将所述cookie信息上传至云端服务器;
第一下载请求发送模块,用于发送下载cookie信息第二连接请求;所述第二连接请求包括所述用户标识;
所述云端服务器包括:
用户标识存储模块,用于将第一客户端上传的cookie信息对应用户标识进行存储;
请求接收模块,用于接收第一客户端的第一连接请求,接收第一客户端和/或第二客户端的第二连接请求;
信息下载提供模块,用于将与所述用户标识对应的cookie信息提供给第一客户端或第二客户端下载;
所述第二客户端包括第二下载请求发送模块,用于发送下载cookie信息第二连接请求;所述第二连接请求包括所述用户标识。
16.根据权利要求15所述的系统,其特征在于:所述第一客户端进一步包括判断模块,所述判断模块,用于根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。
17.根据权利要求16所述的系统,其特征在于,所述判断模块包括:
第一时机判断模块,用于监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。
18.根据权利要求17所述的系统,其特征在于:
所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。
19.根据权利要求16所述的系统,其特征在于:所述判断模块进一步包括第二时机判断模块,所述第二时机判断模块,用于针对第一客户端打开的各页面,分析所述第一客户端对所述各页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。
20.根据权利要求16所述的系统,其特征在于:所述判断模块进一步包括第三时机判断模块,所述第三时机判断模块,用于针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。
21.根据权利要求15所述的系统,其特征在于,所述第一客户端中,在将所述cookie信息上传之前包括:
压缩模块,用于将所述cookie信息进行压缩。
22.根据权利要求15或21所述的系统,其特征在于,所述第一客户端中,在将所述cookie信息上传之前包括:
加密模块,用于通过密钥将所述cookie信息进行加密。
23.根据权利要求15所述的系统,其特征在于,所述云端服务器中,在将所述cookie信息上传到云端服务器之后包括:
安全存储模块,用于采用安全加密的方式对所述用户标识对应的cookie信息进行存储。
24.根据权利要求22所述的系统,其特征在于,所述云端服务器中,在将所述cookie信息上传到云端服务器之后包括:
安全存储模块,用于采用安全加密的方式对所述用户标识对应的cookie信息进行存储。
25.根据权利要求15所述的系统,其特征在于,在所述第一客户端中,包括:
函数调用模块,用于调用处理cookie信息的相关函数;
信息获取模块,用于通过所述调用的相关函数获取写入cookie的信息;
进程cookie列表构建模块,用于根据所述cookie信息中的域名,构建进程内的cookie列表;
第一cookie信息上传模块,用于依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。
26.根据权利要求15所述的系统,其特征在于,所述第一客户端或第二客户端还包括:
同步模块,用于将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。
27.根据权利要求26所述的系统,其特征在于,所述同步模块进一步用于:
对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。
28.根据权利要求15所述的系统,其特征在于:
当通过至少两个客户端使用同一用户标识上传cookie信息至云端服务器时,对于域名和/或cookie名相同的cookie信息,保留其时间戳较新的cookie信息。
一种cookie信息存储方法和系统\n技术领域\n[0001] 本申请涉及计算机技术领域,特别是涉及一种cookie信息存储方法和系统。\n背景技术\n[0002] Cookie(复数形态Cookies),中文名称为小型文字文件或小甜饼,指某些网站为了辨别用户身份而储存在用户本地客户端(Client Side)上的数据(通常经过加密)。\nCookie定义于RFC2109(W3C(万维网联盟,World Wide Web Consortium)组织第一次推出的官方Cookies标准)。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理:用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。\n[0003] 现有技术中,网站使用cookie记录信息到用户的第一客户端(比如计算机)的存储文件之中后,如果用户更换其他客户端,则相当于所有的数据都丢失了,那么用户在其他计算机上继续访问用户在第一客户端访问的很多网站时,或者用户删除在第一客户端中存在的cookie信息时,需要用户进行重新输入信息等操作,并且网站的服务器需要重新为该用户生成相应的cookie,影响服务器的效率,用户操作效率也低。\n发明内容\n[0004] 本申请所要解决的技术问题是提供一种cookie信息存储方法和系统,解决了因为同一用户更换客户端端,或者删除了同一客户端中的cookie信息时,无法继续使用之前对网页的操作结果。\n[0005] 为了解决上述问题,本申请公开了一种cookie信息存储方法,包括:\n[0006] 第一客户端发送第一连接请求至云端服务器,获得云端服务器存储许可;所述第一连接请求中包括用户标识;\n[0007] 对于第一客户端浏览页面生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;\n[0008] 当第一客户端或者第二客户端发送连第二接请求至云端服务器时,所述第二连接请求包括所述用户标识,若云端服务器存在对应所述用户标识的cookie信息,则将所述cookie信息提供给所述第一客户端或者第二客户端下载。\n[0009] 优选的,将所述cookie信息上传时包括:\n[0010] 根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。\n[0011] 优选的,将所述cookie信息上传时包括:\n[0012] 监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。\n[0013] 优选的,所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。\n[0014] 优选的,将所述cookie信息上传时包括:\n[0015] 针对第一客户端打开的各页面,分析所述第一客户端对所述页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0016] 优选的,将所述cookie信息上传时包括:\n[0017] 针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0018] 优选的,在将所述cookie信息上传之前包括:\n[0019] 将所述cookie信息进行压缩。\n[0020] 优选的,在将所述cookie信息上传之前包括:\n[0021] 通过密钥将所述cookie信息进行加密。\n[0022] 优选的,在将所述cookie信息上传到云端服务器之后包括:\n[0023] 采用安全加密的方式对所述用户标识对应的cookie信息进行存储。\n[0024] 优选的,所述cookie信息上传至云端服务器时包括:\n[0025] 调用处理cookie信息的相关函数;\n[0026] 通过所述调用的相关函数获取写入cookie的信息;\n[0027] 根据所述cookie信息中的域名,构建进程内的cookie列表;\n[0028] 依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。\n[0029] 优选的,还包括:\n[0030] 将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0031] 优选的,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中时包括:\n[0032] 对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0033] 优选的,当通过至少两个客户端使用同一用户标识上传cookie信息至云端时,对于域名和/或cookie名相同的cookie信息,保留其时间戳较新的cookie信息。\n[0034] 相应的,本申请还公开了一种cookie信息存储系统,包括:\n[0035] 第一客户端和云端服务器,和/或第二客户端;\n[0036] 所述第一客户端包括:\n[0037] 第一连接请求发送模块,用于发送第一连接请求至云端服务器,获得云端服务器存储许可;所述连接请求中包括用户标识;\n[0038] cookie信息上传模块,用于模块对于第一客户端浏览页面生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;\n[0039] 第一下载请求发送模块,用于发送下载cookie信息第二连接请求;\n[0040] 所述云端服务器包括:\n[0041] 用户标识存储模块,用于将第一客户端上传的cookie信息对应用户标识进行存储;\n[0042] 请求接收模块,用于接收第一客户端的第一连接请求,接收第一客户端和/或第二客户端的第二连接请求;\n[0043] 信息下载提供模块,用于将cookie信息提供给客户端下载;\n[0044] 所述第二客户端包括第二下载请求发送模块,用于发送下载cookie信息第二连接请求。\n[0045] 优选的,所述第一客户端进一步包括判断模块,所述判断模块,用于根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。\n[0046] 优选的,所述判断模块包括:\n[0047] 第一时机判断模块,用于监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。\n[0048] 优选的,所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。\n[0049] 优选的,所述断模块进一步包括第二时机判断模块,所述第二时机判断模块,用于针对第一客户端打开的各页面,分析所述第一客户端对所述各页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0050] 优选的,所述判断模块进一步包括第三时机判断模块,所述第三时机判断模块,用于针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0051] 优选的,所述第一客户端中,在将所述cookie信息上传之前包括:\n[0052] 压缩模块,用于将所述cookie信息进行压缩。\n[0053] 优选的,其特征在于,所述第一客户端中,在将所述cookie信息上传之前包括:\n[0054] 加密模块,用于通过密钥将所述cookie信息进行加密。\n[0055] 优选的,所述云端服务器中,在将所述cookie信息上传到云端服务器之后包括:\n[0056] 安全存储模块,用于采用安全加密的方式对所述用户标识对应的cookie信息进行存储。\n[0057] 优选的,在所述第一客户端中,包括:\n[0058] 函数调用模块,用于调用处理cookie信息的相关函数;\n[0059] 信息获取模块,用于通过所述调用的相关函数获取写入cookie的信息;\n[0060] 进程cookie列表构建模块,用于根据所述cookie信息中的域名,构建进程内的cookie列表;\n[0061] 第一cookie信息上传模块,用于依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。\n[0062] 优选的,所述第一客户端或第二客户端还包括:\n[0063] 同步模块,用于将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0064] 优选的,所述同步模块进一步用于:\n[0065] 对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0066] 优选的,当通过至少两个客户端使用同一用户标识上传cookie信息至云端时,对于域名和/或cookie名相同的cookie信息,保留其时间戳较新的cookie信息。\n[0067] 与现有技术相比,本申请包括以下优点:\n[0068] 本申请利用云端服务器对同一用户浏览的网页和对网页操作而获得的cookie信息以用户标识进行存储,当用户更换客户端,或者删除了原客户端中的cookie信息时,只需用户在当前客户端发送带有其用户标识的连接请求,即可从云端服务器中下载其历史cookie信息,从而使用户端可以方便的浏览以前浏览过的网页,并且提高服务器的效率。\n附图说明\n[0069] 图1是本申请一种cookie信息存储方法的流程示意图;\n[0070] 图2是本申请一种cookie信息存储系统的结构示意图。\n具体实施方式\n[0071] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。\n[0072] 本申请的核心思想之一在于:利用云端服务器,依据用户标识(比如用户账户和密码等账户系统)与云端服务器的存储区进行对应,然后将用户在客户端浏览网页等操作行为产生的cookie上传到云端服务器进行存储;当用户更在其他客户端,或者用户删除了使用过的客户端的cookie时,可依据用户标识从云端服务器下载历史的cookie信息。\n[0073] 参照图1,示出了本申请一种cookie信息存储方法的流程示意图,具体可以包括:\n[0074] 步骤110,第一客户端发送第一连接请求至云端服务器,获得云端服务器存储许可;所述第一连接请求中包括用户标识。\n[0075] 在本申请中,一般需要账号系统,即需要用户登录账号,然后客户端将包括用户账号和密码的第一连接请求发送至云端服务器,云端服务器根据接收到的用户账号和密码查询云端是否存在该账户,如果存在,则允许用户所在客户端将cookie上传至云端服务器进行存储。\n[0076] 步骤120,对于第一客户端浏览页面生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储。\n[0077] Cookie一般由变量名和值组成,其格式如下:\n[0078] Cookie:NAME=VALUE;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;\nSECURE\n[0079] 其中,NAME=VALUE:\n[0080] 这是每一个Cookie均必须有的部分。NAME是该Cookie的名称,VALUE是该Cookie的值。在字符串“NAME=VALUE”中,不含分号、逗号和空格等字符。\n[0081] Expires=DATE:Expires变量是一个只写变量,它确定了Cookie有效终止日期。\n该属性值DATE必须以特定的格式来书写:星期几,DD-MM-YY HH:MM:SS GMT,GMT表示这是格林尼治时间。反之,不以这样的格式来书写,系统将无法识别。该变量可省,如果缺省时,则Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存当中,Cookie文件将随着浏览器的关闭而自动消失。\n[0082] Domain=DOMAIN-NAME:Domain该变量是一个只写变量,它确定了哪些Internet域中的Web服务器可读取浏览器所存取的Cookie,即只有来自这个域的页面才可以使用Cookie中的信息。这项设置是可选的,如果缺省时,设置Cookie的属性值为该Web服务器的域名。\n[0083] Path=PATH:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie。一般如果用户输入的URL中的路径部分从第一个字符开始包含Path属性所定义的字符串,浏览器就认为通过检查。如果Path属性的值为“/”,则Web服务器上所有的WWW资源均可读取该Cookie。同样该项设置是可选的,如果缺省时,则Path的属性值为Web服务器传给浏览器的资源的路径名。\n[0084] 可以看出借助对Domain和Path两个变量的设置,即可有效地控制Cookie文件被访问的范围。\n[0085] Secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS。\n[0086] Cookies以键值的方式记录会话跟踪的内容.服务器利用响应报头Set-Cookie来发送COOKIE信息.在RFC2109中定义的SET-COOKIE响应报头的格式为:\n[0087] Cookie:Name=Value;Comment=value;Domain=value;Max-Age= value;\nPath=Value;Secure;Version=1*DIGIT;\n[0088] Name是Cookie的名字,Value是它的值.Name=Value属性值对必须首先出现,在此之后的属性-值对可以以任何顺序出现。在Servlet规范中,用于会话跟踪的cookie的名字必须是JSESSIONID,Comment属性是可选的,因为Cookie可能包含其它有关用户私有的信息。这个属性允许服务器说明这个Cookie的使用,用户可以检查这个消息,然话决定是否加入或继续会话.Domain属性也是可选的,它用来指定Cookie在哪一个域中有效.所指定的域必须以点号(.)来开始.Max-Age属性是可选的,用于定义Cookie的生存时间,以秒为单位。如果超过了这个时间,客户端就应该丢弃这个cookie。如果指定的秒数为0,表示这个cookie应立即被丢弃。Path属性是可选的,用于指定这个cookie在哪一个URL子集下有效。Secure属性是必需的,它的值是一个十进制数,标识cookie依照的状态管理规范的版本。例如:\n[0089] set-cookie:uid=zhangsan;Max-Age=3600;Domain=.sun.org;Path= /bbs;Version=1\n[0090] 它表示一个名为uid,值为zhangsan的cookie。生存时间为3600秒,在sunxin.org域的bbs路径下有效。在3600秒后,客户端将抛弃这个cookie。当IE收到上面这个响应报头后,可以选择接受或拒绝这个cookie.如果ID接受了这个cookie,当浏览器下一次发送请求到http://www.sunxin.org/bbs路径下的资源时,同时也会发送以下的请求报头:\n[0091] cookie:uid=zhangsan。\n[0092] 那么对于上述cookie来说,当通过步骤110获得云端的存储许可后,本申请可将用户在客户端浏览网页或者在网页中的购物车添加内容等情况下产生的cookie,根据用户标识(比如用户的账户名和密码)上传至云端服务器进行存储。\n[0093] 优选的,将所述cookie信息上传时包括:\n[0094] 步骤S120,根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。\n[0095] 在客户端浏览页面或者对浏览器的操作过程中,本申请可智能判断上传cookie信息的上传时机,将客户端的cookie信息上传至云端。在上传时,还会结合用户标识进行上传,保证云端可以依据所述用户标识进行存储。\n[0096] 在云端进行cookie信息存储时,可统一存储,然后以用户标识进行标记;也可以用户标识分存储区域进行存储。\n[0097] 优选的,将所述cookie信息上传时包括:\n[0098] 步骤S121,监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。\n[0099] 一般情况下,浏览器可以存在多个窗口,也可以是多种浏览器的窗口,当浏览器在使用时,一些cookie信息也在使用,而当浏览器关闭时,浏览器就停止使用cookie信息。那么此时即根据第一客户端cookie信息存储路径,将各cookie信息上传至云端服务器依据用户标识进行存储。\n[0100] 一般,本步骤的前提条件是浏览器不禁用cookie,即cookie的时间戳Expires=DATE中DATE不为0。\n[0101] 在本申请中,会添加一个鼠标侦听事件,和窗口个数判断事件。\n[0102] 当客户端打开一个浏览器窗口,则将窗口个数加1,;当侦听到鼠标在浏览器窗口的关闭区域出现按下动作,即出现关闭浏览器窗口动作,则将窗口个数减1;当窗口个数记录从非0变为0时,即判断所有浏览器窗口关闭。此时,即可将客户端的存储文件中的cookie信息上传至云端服务器,并依据所述用户标识进行存储。\n[0103] 或者,优选的,所述cookie信息上传时包括:\n[0104] 步骤S122,针对第一客户端打开的各页面,分析所述第一客户端对所述各页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0105] 当用户打开的页面,而长时间不对该页面进行操作时,也可将页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0106] 优选的,所述cookie信息上传时包括:\n[0107] 或者,步骤S123,针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0108] 当用户打开一页面后,如果对于该页面进行关闭或者跳转操作,那么表明该页面对应的cookie可能暂时不会在访问,此时即可将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0109] 进一步的,所述步骤S123包括:\n[0110] 步骤A1,当浏览器中出现新的统一资源定位符时,通过引用计数器对所述统一资源定位符进行计数;\n[0111] 本申请可设置引用计数器,当浏览器中出现新的URL(Uniform/Universal Resource Locator,统一资源定位符)时,即用户打开新网页时,则计数器+1,;对于同一URL,其在浏览器中出现几次则引用计数器记录几次,即用户可能同一网页打开多次。\n[0112] 在本申请中,对于浏览器同时出现的不同的URL,分别对应设置相应的引用计数器,分别对不同的URL进行计数。\n[0113] 比如当某页面跳转到www.taobao.com时,而浏览器当前不存在URL为www.taobao.com的页面,则对应www.taobao.com的引用计数器加1,当某页面跳转到其他页面或关闭时,所述引用计数减1。\n[0114] 步骤A2,当所述统一资源定位符的记录为0时,通过计时器对所述统一资源定位符的引用计数器为0进行计时;\n[0115] 当对于同一URL的网页,当用户关闭一个该URL的网页,该URL的引用计数器的记录减1。本申请还可设置计时器,当所述记录变为0时,则为该URL分配相应的计时器进行计时。\n[0116] 步骤A3,当所述统一资源定位符的计数器为0的时间超过阈值,则确定所述统一资源定位符对应的页面已经关闭或者跳转,根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0117] 对于上述URL对应的计时器的计时,当所述URL未再次出现的时间超过阈值,则则确定所述统一资源定位符对应的页面已经关闭或者跳转,根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。比如,如果30秒后www.taobao.com的引用计数器加还为0,即可以判断用户结束了对www.taobao.com的操作,即可对该URL对应的cookie信息上传至云端服务器,并依据用户标识进行存储。\n[0118] 优选的,将所述cookie信息上传至云端服务器时包括:\n[0119] 步骤B1,调用处理cookie信息的相关函数;\n[0120] 进一步的,通过钩子程序钩取系统API函数中处理cookie信息的函数。\n[0121] 实际中,可通过系统的钩子程序钩取(hook)系统API函数中处理cookie信息InternetSetCookie、InternetSetCookieEx、InternetSetCallback等函数。\n[0122] 步骤B2,通过所述调用的相关函数获取写入cookie的信息;\n[0123] 针对前述获取的各处理cookie信息的相关函数,通过所述被钩取的各函数获取写入各cookie的信息。\n[0124] 通过上述hook的函数可获取写入cookie的域名、内容及附加信息。\n[0125] 步骤B3,根据所述cookie信息中的域名,构建进程内的cookie列表;\n[0126] 进一步的,在本步骤中包括:\n[0127] 步骤C1,判断各cookie的信息中是否包括时间戳;如果不包括,则以所述cookie信息中的域名为关键词,构建进程内的cookie列表。\n[0128] 一般情况下,对于进程内的cookie,都不存在时间戳,即Expires=DATE缺省;在生成文件时,才会由系统函数将时间戳加入cookie信息的文件中。\n[0129] 那么对于通过所述被钩取的各函数获取写入各cookie的信息,分析其附加信息中是否包括时间戳,即可确认cookie是否属于进程内的cookie。\n[0130] 如果不包括,则以所述cookie信息中的域名为关键词,构建进程内的cookie列表。\n[0131] 步骤B4,依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。\n[0132] 实际中,可依据所述列表,针对每一个域名,逐一调用InternetGetCookie获取该列表下的cookie内容进行上传。\n[0133] 在需要保存并上传cookie时,使用步骤B3生成的列表,对每个域名,逐一调用InternetGetCookie来获取内容,并将这些内容上传至云端服务器依据用户标识进行存储。\n[0134] 优选的,在将所述cookie信息上传之前包括:\n[0135] 步骤C1,将所述cookie信息进行压缩。比如通过128为的zip进行压缩。\n[0136] 优选的,在将所述cookie信息上传之前包括:\n[0137] 步骤C2,通过密钥将所述cookie信息进行加密。\n[0138] 一般情况下,压缩与加密可同时进行,比如使用zip+128位密钥加密。然后数据的发送可使用标准http上传。\n[0139] 优选的,在将所述cookie信息上传到云端服务器之后包括:\n[0140] 步骤C3,采用安全加密的方式对所述用户标识对应的cookie信息进行存储。\n[0141] 步骤130,当第一客户端或者第二客户端发送连第二接请求至云端服务器时,所述第二连接请求包括所述用户标识,若云端服务器存在对应所述用户标识的cookie信息,则将所述cookie信息提供给所述第一客户端或者第二客户端下载。\n[0142] 当用户更换客户端,或者用户使用过的客户端删除了cookie信息等情况,当用户发送包括用户表示用于下载的第二连接请求至云端服务器时,云端则根据用户标识查询云端服务器中是否存在该用户标识对应的cookie信息,如果存在,则用户使用的客户端则可下载所述cookie信息。比如用户通过账户和密码的形式进行登录时,云端服务器根据账户和密码在云端服务器中查找该账户对应的cookie信息,如果存在,则提供给用户使用的客户端进行下载。\n[0143] 优选的,则将所述cookie信息提供给所述第一客户端或者第二客户端下载时包括:\n[0144] 步骤H1,将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0145] 进一步的,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中时包括:\n[0146] 步骤H11,对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0147] 优选的,步骤H1包括:步骤S130,针对从云端服务器下载的各cookie信息,根据cookie信息中的域名和/或cookie名,在第一客户端或者第二客户端自身存在的各cookie信息中查找是否存在与云端服务器下载的各cookie信息相同的cookie信息;\n[0148] 本步骤中,当用户使用的客户端中存在cookie信息时,若用户通过用户账户和密码等形式发送下载请求至云端服务器,从云端服务器下载存储的该用户的cookie信息后,将cookie信息中的域名和cookie名作为关键词,将从云端下载的各cookie信息与客户端本地存在的各cookie信息进行查询比较,确认从云端下载的各cookie信息中是否存在与客户端本地存在的各cookie信息相同的cookie信息。\n[0149] 步骤S131,如果存在,则判断所述域名和cookie名相同的各cookie的时间戳里当前时间的远近;\n[0150] 从云端下载的各cookie信息与客户端本地存在的各cookie信息进行查询比较,确认从云端下载的各cookie信息中存在与客户端本地存在的各cookie信息域名和cookie名相同的cookie信息,那么对于所述上述两方面相同的cookie信息,则根据其时间戳对应的记录时间点,与当前时间进行比较。比较所述相同的cookie信息中是从云端下载的离当前时间近,还是本地的离当前时间近。\n[0151] 步骤S132,当所述云端服务器的一cookie信息的时间戳比所述第一客户端或者第二客户端自身存在所述cookie信息的时间戳更新,则通过系统api函数InternetSetCookie覆盖所述第一客户端或者第二客户端自身存在所述cookie信息;\n[0152] 当所述域名和cookie名相同的cookie信息中,从云端下载的某cookie信息比客户端本地对应的cookie信息离当前时间更近,那么调用系统api函数InternetSetCookie,覆盖所述第一客户端或者第二客户端自身存在所述cookie信息。\n[0153] 步骤S133,步骤当所述云端服务器的一cookie信息的时间戳不比所述第一客户端或者第二客户端自身存在所述cookie信息的时间戳更新,则保留所述第一客户端或者第二客户端自身存在所述cookie信息。\n[0154] 当所述域名和cookie名相同的cookie信息中,从云端下载的某cookie信息比客户端本地对应的cookie信息离当前时间更远,那么保留所述第一客户端或者第二客户端自身存在所述cookie信息,删除从云端下载的相应cookie信息。\n[0155] 另外,当用户通过两个客户端或者更多客户端,同时使用同一用户标识(比如同一用户名和密码)发送请求至云端,将各客户端的cookie上传至云端后,对于同一域名和cookie名的cookie信息,在云端可保留其时间戳较新的cookie信息。在本申请中,如果同一用户在多个客户端使用同一标识(同一账户和密码登陆云端服务器时),比如用户同时在客户端A和客户端B使用同一账户123登陆云端服务器时,则对于123在客户端A上传的cookie信息,那么123在客户端B可实时更新123客户端A上传的cookie信息,其更新过程通过步骤步骤S130至步骤步骤S133。\n[0156] 参照图2,其示出了本申请一种cookie信息存储系统的结构示意图,包括:\n[0157] 第一客户端210和云端服务器220,和/或第二客户端;\n[0158] 所述第一客户端210包括:\n[0159] 第一连接请求发送模块211,用于发送第一连接请求至云端服务器,获得云端服务器存储许可;所述连接请求中包括用户标识;\n[0160] cookie信息上传模块212,用于模块对于第一客户端浏览页面生成的cookie信息,将所述cookie信息上传至云端服务器中,并依据所述用户标识进行存储;\n[0161] 第一下载请求发送模块213,用于发送下载cookie信息第二连接请求;\n[0162] 所述云端服务器220包括:\n[0163] 用户标识存储模块221,用于将第一客户端上传的cookie信息对应用户标识进行存储;\n[0164] 请求接收模块222,用于接收第一客户端的第一连接请求,接收第一客户端和/或第二客户端的第二连接请求;\n[0165] 信息下载提供模块223,用于将cookie信息提供给客户端下载;\n[0166] 所述第二客户端包括第二下载请求发送模块,用于发送下载cookie信息第二连接请求。\n[0167] 其中,所述许可模块具体可用于许可第一客户端上传cookie信息存储于云端服务器,也可许可当第一客户端或者第二客户端发送连第二接请求至云端服务器时,所述第二连接请求包括所述用户标识,若云端服务器存在对应所述用户标识的cookie信息,则将所述cookie信息提供给所述第一客户端或者第二客户端下载。\n[0168] 本申请中,第一客户端上传的cookie信息可供至少一个第二客户端依据用户标识进行下载cookie信息。\n[0169] 优选的,所述第一客户端进一步包括判断模块,所述判断模块,用于根据第一客户端对页面或者浏览器的操作,判断上传第一客户端中cookie信息的时机,当到达上传时机时,将所述cookie信息自动进行上传。\n[0170] 优选的,所述上传时机判断模块包括:\n[0171] 第一时机判断模块,用于监控第一客户端中对特定的浏览器窗口进行关闭的命令;当监控到所述关闭命令,将各cookie信息上传至云端服务器依据用户标识进行存储。\n[0172] 优选的,所述特定的浏览器窗口包括是当前浏览器仅存的一个窗口。\n[0173] 优选的,所述上传时机判断模块进一步包括第二时机判断模块,所述第二时机判断模块,用于针对第一客户端打开的各页面,分析所述第一客户端对所述各页面的未操作时间,当所述未操作时间大于或等于阈值时,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0174] 优选的,所述上传时机判断模块进一步包括第三时机判断模块,所述第三时机判断模块,用于针对第一客户端打开的一页面,判断所述页面是否关闭或者跳转,如果关闭或者跳转,则根据第一客户端cookie信息存储路径,将所述页面对应的cookie信息上传至云端服务器依据用户标识进行存储。\n[0175] 优选的,所述客户端中,在将所述cookie信息上传之前包括:\n[0176] 压缩模块,用于将所述cookie信息进行压缩。\n[0177] 优选的,所述客户端中,在将所述cookie信息上传之前包括:\n[0178] 加密模块,用于通过密钥将所述cookie信息进行加密。\n[0179] 优选的,所述云端服务器中,在将所述cookie信息上传到云端服务器之后包括:\n[0180] 安全存储模块,用于采用安全加密的方式对所述用户标识对应的cookie信息进行存储。\n[0181] 优选的,在所述第一客户端中,包括:\n[0182] 函数调用模块,用于调用处理cookie信息的相关函数;\n[0183] 信息获取模块,用于通过所述调用的相关函数获取写入cookie的信息;\n[0184] 进程cookie列表构建模块,用于根据所述cookie信息中的域名,构建进程内的cookie列表;\n[0185] 第一cookie信息上传模块,用于依据所述列表,针对各域名获取所述列表下的cookie内容进行上传。\n[0186] 优选的,还包括:\n[0187] 同步模块,用于将从云端服务器下载的各cookie信息,与第一客户端或第二客户端自身存储的各cookie信息相比较,将对应cookie信息中较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0188] 优选的,所述同步模块进一步用于:\n[0189] 对于比较得到对应的域名相同和/或cookie名相同的cookie信息,其中的时间戳较新的cookie信息作为较新的cookie信息保留在所述第一客户端或第二客户端中。\n[0190] 优选的,当通过至少两个客户端使用同一用户标识上传cookie信息至云端时,对于域名和/或cookie名相同的cookie信息,保留其时间戳较新的cookie信息。\n[0191] 对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。\n[0192] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。\n[0193] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。\n[0194] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0195] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0196] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0197] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0198] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。\n[0199] 以上对本申请所提供的一种cookie信息存储方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
法律信息
- 2022-07-29
专利权的转移
登记生效日: 2022.07.15
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
专利权人由奇智软件(北京)有限公司 变更为空
- 2015-11-25
- 2012-12-12
专利申请权的转移
登记生效日: 2012.11.07
申请人由奇智软件(北京)有限公司变更为北京奇虎科技有限公司
地址由100016 北京市朝阳区酒仙桥路14号兆维大厦4层东侧单元变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
申请人变更为奇智软件(北京)有限公司
- 2012-10-03
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201210094095.9
申请日: 2012.03.31
- 2012-08-15
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-09-19
|
2006-03-14
| | |
2
| |
2010-05-05
|
2009-11-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |