CN103024052B - 实现浏览器数据同步的系统和方法 - Google Patents
实现浏览器数据同步的系统和方法 Download PDFInfo
- Publication number
- CN103024052B CN103024052B CN201210549446.0A CN201210549446A CN103024052B CN 103024052 B CN103024052 B CN 103024052B CN 201210549446 A CN201210549446 A CN 201210549446A CN 103024052 B CN103024052 B CN 103024052B
- Authority
- CN
- China
- Prior art keywords
- information
- browser
- client
- server
- socket
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 40
- 206010010099 Combined immunodeficiency Diseases 0.000 description 33
- 230000008569 process Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000001360 collision-induced dissociation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 229940056582 human hair preparation Drugs 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了实现浏览器数据同步的系统和方法。该系统包括:云存储服务器端、推送服务器和多个浏览器客户端,其中:云存储服务器端,用于在有数据更新时向推送服务器下发条件信息和命令信息;推送服务器,用于根据该条件信息在多个浏览器客户端中确定目标客户端,并将命令信息发送给目标客户端;以及目标客户端,用于根据命令信息实现其与云存储服务器端的数据同步。本发明在云存储服务器端存储的数据内容发生更新的情况下,及时地将命令信息通过推送服务器发送至目标客户端,从而简单、高效地实现了云存储服务器端与浏览器客户端的数据的实时同步。
Description
技术领域
本发明涉及信息技术数据同步领域,尤其涉及一种实现浏览器数据同步的系统和方法。
背景技术
目前,随着网络技术的发展,互联网作为一个庞大的信息资源,成为人们获取信息的最方便、快捷的途径。目前,用户通常使用个人计算机接入英特网(Internet),并通过个人计算机中安装的浏览器(Browser)访问网页,获得需要的信息。随着移动通信技术的发展,用户还可以通过支持浏览器功能的移动终端接入英特网,例如手机、个人数字助理(PersonalDigital Assistant,简称PDA)。
然而,无论是个人计算机上的浏览器还是移动终端上的浏览器,一般不提供推送服务,服务器端与客户端的信息交互依赖于客户端发起的连接,服务器端无法主动地将信息发送给客户端,从而无法实现服务器端与浏览器客户端之间的信息的实时同步。
现有技术中,最常用的实现浏览器客户端与服务器端浏览器数据同步的方式是浏览器客户端以一定频率向服务器端发送请求,如每周一次或每月一次,如果服务端有相关信息的更新则获取这些信息。然而,申请人发现该种数据同步方式存在如下技术缺陷:效率比较低、占用资源多、不能做到内容的真正实时同步更新。
因此,目前急需解决如何实现浏览器客户端与云存储服务器端数据实时同步的问题。
发明内容
有鉴于此,本发明提供了一种克服上述问题或者至少部分地解决上述问题的实现浏览器数据同步的系统和方法。
根据本发明的一个方面,提供了一种实现浏览器数据同步的系统,该系统包括:云存储服务器端、推送服务器和多个浏览器客户端,其中:所述云存储服务器端,用于在有数据更新时向所述推送服务器下发条件信息和命令信息;所述推送服务器,用于根据该条件信息在所述多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及所述目标客户端,用于根据所述命令信息实现其与云存储服务器端的数据同步。
根据本发明的另一个方面,还提供了一种实现浏览器数据同步的方法,应用于所述的实现浏览器数据同步的系统,该方法包括:云存储服务器端在有数据更新时向推送服务器下发条件信息和命令信息;推送服务器根据该条件信息在所述多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及目标客户端根据该命令信息实现浏览器客户端与云存储服务器端的数据同步。
从上述技术方案可以看出,本发明具有以下有益效果:
(1)设置单独的推送服务器,在云存储服务器端存储的数据内容发生更新的情况下,及时地将命令信息通过推送服务器发送至目标客户端,从而简单、高效地实现了云存储服务器端与浏览器客户端的数据实时同步;
(2)云存储服务器端、目标客户端和发起客户端是现有浏览器系统中已有的,因此在此基础上添加推送服务器可以有效地利用原有的系统架构,降低实现实时同步系统的成本;
(3)通过增加套接字服务器、分发器和分发信息数据库,顺利实现了云存储服务器端、推送服务器和目标客户端的连接;
(4)由推送服务器推送至目标客户端的命令信息为通知消息,在接收到推送服务器推送的通知消息后,目标客户端从云存储服务器端下载发生更新的数据内容,依照下载内容进行本地数据内容的同步,从而可以进一步节约系统资源。
(5)由于分发信息数据库是集群形式,本发明可以实现多个套接字服务器同步查询数据库的特定部分,从而减少了每个部分的查询量,提高了查询速度。另一方面,由于查询由套接字服务器自身来执行,因而其能够在查询出每个结果之后立即触发命令信息发送,大大减少了时间延迟,加快了处理速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为根据本发明一个实施例的实现浏览器数据同步的系统的结构示意图;
图2为根据本发明另一个实施例的实现浏览器数据同步的系统的结构示意图;
图3为图2所示实现浏览器数据同步的系统中浏览器客户端与套接字服务器建立连接的过程的示意图;
图4为图2所示实现浏览器数据同步的系统中在第一类场景下向目标客户端进行信息推送的过程的示意图;
图5为图2所示实现浏览器数据同步的系统中在第二类场景下向目标客户端进行信息推送的过程的示意图;
图6为图2所示实现浏览器数据同步的系统中在第三类场景下向目标客户端进行信息推送的过程的示意图;
图7为根据本发明实施例的实现浏览器数据同步的方法的流程图;
图8为根据本发明实施例的实现浏览器数据同步的浏览器客户端的结构示意图;
图9为根据本发明实施例的采用集群形式分发信息数据库的实现浏览器数据同步的系统结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明的一个示例性实施例中,提供了一种实现浏览器数据同步的系统。如图1所示,该实现浏览器数据同步的系统包括:云存储服务器端1、推送服务器2和多个浏览器客户端3、4。其中,云存储服务器端1,用于在有数据更新时向推送服务器下发条件信息和命令信息;推送服务器2,用于根据条件信息在多个浏览器客户端中确定目标客户端,并将该命令信息推送至目标客户端3;目标客户端3,用于根据该命令信息实现目标客户端与云存储服务器端的数据同步。
在图1所示的实施例中,通过设置单独的推送服务器2,在云存储服务器端存储的数据内容发生更新的情况下,及时地将命令信息通过推送服务器发送至目标客户端,从而简单、高效地实现了服务端信息与客户端实时同步。
如图1所示,多个浏览器客户端中包含有发起客户端4和目标客户端3。其中,发起客户端4,用于对存储于云存储服务器端1中的数据进行更新。该发起客户端4和目标客户端3可以属于同一个用户,也可以属于不同的用户。该发起客户端4和目标客户端3属于同一个用户的情况主要的应用场景在于:同一用户使用不同的设备(例如手机和PC)登录浏览器,其中一个(例如PC)更改收藏夹,那么需要将该更新同步到同一用户的另一设备(手机)。该发起客户端4和目标客户端3不属于同一个用户的情况的应用场景例如是不同浏览器客户端之间的信息通信。
当然,本发明也可以由云存储服务器端自身发起对数据内容的更新,在这种情况下,图1中的发起浏览器客户端4则可以不存在。这种情况的场景例如是:系统向所有浏览器客户端推送新闻消息或天气预报;或系统向所有某版本的浏览器客户端发起更新指示。
由于图1中虚线框以内的云存储服务器端1、目标客户端3和发起客户端4是现有浏览器系统中已有的,因此在此基础上添加推送服务器可以有效地利用原有的系统架构,降低实现本发明的成本。
为了实现云存储服务器端1、推送服务器2和目标客户端3的连接,如图2所示,实现浏览器客户端与云存储服务器端数据同步的系统还可以包括多个套接字服务器、分发器。
分发器,用于在接收到客户端的连接请求后,为其分配相应的套接字服务器以及连接标识符,并将用户标识信息以及连接标识符存储至分发信息数据库。详细的连接建立过程如图3所示,包括:
步骤S301,浏览器客户端向分发器提交连接请求,该连接请求中至少包括用户标识信息,对于登录用户来讲,其用户标识信息可以包括用户名,而对于非登录用户来讲,其用户标识信息可以包括用户的机器硬件标识。
对于登录用户来讲,该用户标识信息可以为一字符串。其中,该字符串除了登录用户的用户名之外,还包括登录时间和验证字符等信息。用户名为用户唯一标识号,即一个数字,用于代表一个用户。验证字符根据用户名生成,即可通过验证字符判定用户标识信息是否被更改。
对于非登录用户来讲,该用户标识信息可以包括非登录用户的机器硬件标识,其中机器硬件标识为机器唯一标识,为客户端通过用户机器硬件、系统配置等哈希生成。
此外,为了后续的目标客户端筛选,该连接请求还可以包括用户特征信息,例如:IP地址信息、浏览器版本信息,或用户分类信息等用户特征信息。其中,浏览器版本号、用户分类信息,或IP地址信息等用户特征信息可以用于后续的客户端筛选使用。
步骤S302,分发器基于该用户标识信息使用预设算法进行计算得到一个数值,根据该数值为提交连接请求的浏览器客户端分配套接字服务器;该数值是全局唯一的,即连接标识符;分发器将该套接字服务器的IP地址、端口等连接信息及连接标识符发送至提交请求的浏览器客户端;
本步骤中,使用预设的算法根据登录用户的用户名计算上述数值。对于非登录用户来讲,直接采用非登录用户的机器标识计算上述数值,该算法可以为循环冗余校验(CRC)32算法。
步骤S303,浏览器客户端根据接收到的套接字服务器的IP地址和端口号与对应的套接字服务器建立连接,该连接可以是传输控制协议TCP(Transmission Control Protocol)连接。在浏览器客户端与套接字服务器建立连接时,该套接字服务器得到标识该套接字服务器和浏览器客户端连接关系的资源标识符。浏览器客户端利用已经建立的连接向该套接字服务器传送其接收到的连接标识符。
步骤S304,套接字服务器接收到连接标识符后,向分发器对该连接标识符进行验证,若验证成功,则保持与浏览器客户端之间建立的连接,若验证不成功,则断开已经建立的连接。
步骤S305,分发器将用户标识信息(登录用户的用户名或非登录用户的机器标识)、用户特征信息(如果有的话)以及连接标识符存储在分发信息数据库中,并且套接字服务器也将所得到的资源标识符存储在该分发信息数据库中。需要说明的是,为了防止服务器端变化引起的分配混乱,浏览器客户端需要在隔一段时间后重新执行步骤S301-步骤S304进行连接。此外,对于每一个套接字服务器,在分发信息数据库中均存在对应的单独数据表,以减小数据表的规模,加快在后续信息推送阶段,套接字服务器的查询速度。
通过增加分发器和套接字服务器,并且在分发器中设置分发信息数据库,使得能够在建立连接阶段将用户标识信息、连接标识符、资源标识符和用户特征信息等存储于分发信息数据库中,从而实现了推送服务器对预设目标客户端的数据内容的推送。
在信息推送阶段:推送服务器,用于将条件信息和命令信息发送至套接字服务器;套接字服务器,用于将推送服务器推送的信息转发至相应的目标客户端。详细的信息推送过程以下分三类场景进行详细说明。
(1)当该实时同步由发起客户端发起,且发起客户端和接收客户端属于同一用户时,条件信息中包括用户标识信息。举例来讲,如图4所示,该信息推送过程包括:
步骤S401,发起客户端发起对存储在云存储服务器端存储的数据进行更新;
本步骤中,云存储服务器端存储的数据包括以下之一:收藏夹信息、历史记录信息、浏览器配置信息、便签信息、登录管家信息、消息提醒信息、密钥信息等等其他可能的信息。
步骤S402,云存储服务器端向推送服务器发送条件信息和命令信息,该条件信息包括用户标识信息,例如登录用户的用户名或未登录用户的机器硬件标识,并且该条件信息中还包括标识该发起客户端与其对应的套接字服务器的连接的资源标识符;
步骤S403,推送服务器由与分发器中同样的算法根据用户标识信息计算得到一个数值,从而得到为目标客户端分配的套接字服务器,并将条件信息及命令信息发送给该为目标客户端分配的套接字服务器;
步骤S404,套接字服务器根据条件信息中的用户标识信息查询分发器中的分发信息数据库,确定与目标客户端对应的资源标识符,其中排除了标识发起客户端与其对应的套接字服务器的连接的资源标识符;
步骤S405,套接字服务器根据该资源标识符在与该目标客户端(一个或多个)的连接中向该客户端发送该命令信息。
(2)当该实时同步由发起客户端发起,且发起客户端和接收客户端属于不同登录用户时,即条件信息中包括用户标识信息,如图5所示,该信息推送过程包括:
步骤S501,发起客户端发起对存储在云存储服务器端存储的数据进行更新;
本步骤中,云存储服务器端存储的数据包括以下之一:收藏夹信息、历史记录信息、浏览器配置信息、便签信息、登录管家信息、消息提醒信息、密钥信息、新闻信息和/或用户生成的信息等等。
步骤S502,云存储服务器端向推送服务器发送条件信息和命令信息,其中该条件信息可以包括用户标识信息,例如登录用户的用户名或未登录用户的机器硬件标识;
步骤S503,推送服务器由与分发器中同样的算法根据用户标识信息计算得到一个数值,从而得到为目标客户端分配的套接字服务器,并将条件信息及命令信息发送给该为目标客户端分配的套接字服务器;
步骤S504,套接字服务器根据条件信息中的用户标识信息查询分发器中的分发信息数据库,确定目标客户端的资源标识符;
步骤S505,对应的套接字服务器依据该资源标识符,在与目标客户端(一个或多个)的连接中向该客户端发送该通知消息,至此,信息推送过程结束。
(3)当该实时同步由云存储服务器端主动发起,且条件信息中包括目标客户端的特征筛选信息,而不包括用户标识信息,其中特征筛选信息也可以为空,
这种情况下,在连接建立阶段,由浏览器客户端向分发器提交连接请求中还包含特征筛选信息,其与如前的在分发信息数据库中保存的用户特征信息相对应。
如图6所示,该信息推送过程包括:
步骤S601,云存储服务器端向推送服务器下发条件信息和命令信息中,条件信息中包含目标客户端的特征筛选信息(例如某浏览器的版本号),该命令信息例如是通知用户升级的指令。
步骤S602,推送服务器将条件信息和命令信息推送给所有的套接字服务器。
步骤S603,各个套接字服务器分别向分发器的分发信息数据库递交查询请求,该查询请求中包含特征筛选信息;分发信息数据库根据特征筛选条件查询分发信息数据库中各个浏览器客户端的用户特征信息,确定满足该特征筛选条件的目标客户端的资源标识符,并将该资源标识符返回至发起查询的各套接字服务器。
步骤S604,各套接字服务器根据接收到的资源标识符向相应的客户端发送命令信息,至此,信息推送过程结束。在步骤S603,套接字服务器通过查询分发信息数据库来确定目标客户端所采用的查询机制主要包括以下两种情况:
第一种情况:条件信息中包括目标客户端的登录用户的用户名或非登录用户的机器硬件标识,在该情况下,推送过程为:
云存储服务器触发对该目标客户端的相关信息的实时同步,具体来说,云存储服务器向推送服务器发送目标客户端用户标识信息或机器硬件标识、命令信息以及其他可能的参数信息。
在推送服务器中,由与分发器中同样的算法根据用户标识信息或机器硬件标识计算出该全局唯一的连接标识符,进而得出其被分配处于的套接字服务器,继而推送服务器将用户标识信息或机器硬件标识以及命令信息发送给所计算出的套接字服务器。
套接字服务器根据用户标识信息或机器硬件标识查询分发信息数据库,确定目标客户端。
对应的套接字服务器在与该用户标识信息或机器硬件标识对应的浏览器客户端(一个或多个)的连接中向该客户端发送该命令信息。
客户端收到命令信息,根据其中的通知消息内容,从对应的云存储服务器中下载更新内容,如配置、收藏夹等(如果直接发送内容消息则没有这一步骤)。
第二种情况:条件消息中不包括目标客户端的用户标识信息或机器硬件标识,在该情况下,推送过程为:
云存储服务器向推送服务器发送条件信息(例如某版本号)以及命令信息(包括通知消息或内容消息,其中的通知消息例如通知用户升级的指令);
推送服务器将条件信息和命令信息推送给所有的套接字服务器;套接字服务器根据条件信息查询分发信息数据库,确定目标客户端,然后向相应的目标客户端发送命令信息;
在对应目标客户端处收到命令信息,并触发对应的动作,例如,弹窗提示,下载更新等(如果直接发送内容消息则没有这一步骤)。
在上面的步骤中,也可以先执行推送服务器查询分发信息数据库,然后根据查询结果将信息发送给对应的套接字服务器。为了提高查询效率,分发信息数据库优选采取数据库集群的形式,分发信息数据库采取数据库集群的形式,每个套接字服务器在分发信息数据库中对应一表格,该表格中包含有套接字服务器中的所有连接的信息,该表格是以连接标识符为关键字(key)的信息列表,至少包括连接标识符、用户标识信息、用户特征信息、资源标识符等信息。
该分发信息数据库可以使用任何合适的数据库来实现,在本发明的一个优选实施例中,分发信息数据库可以选择文档类型数据库,优选地选择对数据列数没有限定的数据库来实现,以使得数据项目灵活可变,有利于对数据项目缺失和扩充的兼容。本发明的一个实施例使用MongoDB集群来实现该数据库,也可以使用CouchDB集群或其他类似物数据库集群实现。
分发信息数据库如果采取集群的形式,则在上述两种查询机制下,即可以根据套接字服务器的数目,在数据库集群中维护相同数的部分。在上述实施例中,例如如图4所示,系统中有3个套接字服务器的情况下,数据库集群也由三个部分组成,每个部分维护一个表格,其对应于每个套接字服务器中连接的信息。具体来说,这样的列表是以连接标识符为key的信息列表,其中包括连接标识符、用户标识信息、用户特征信息、资源标识符等信息,信息列表的一个示例如下表1所示:
表1
其中可以根据机器硬件标识条件、用户名条件、IP条件、版本条件及其他条件查询出对应的连接标识符以及资源标识符,进而对目标客户端进行寻址。依照图4可见,同一个用户名可能对应于不同的连接标识符,例如同一用户用不同设备(PC和手机)登录的情况;然而由于机器硬件标识的随机唯一性,一般来说一个机器硬件标识只对应于一个连接标识符。
在上述两种查询机制下,每个套接字服务器可以独立地查询分发信息数据库中与其连接对应的那部分的表格,然后每查出一个可以触发命令信息的发送。从而一方面由于分发信息数据库的集群形式,可以实现多个部分同步查询分发信息数据库的特定部分,从而减少了每个部分的查询量,提高了查询速度。另一方面,由于查询由套接字服务器自身来执行,因而其能够在查询出每个结果之后立即触发命令信息的发送,从而与在分发信息数据库中统一查询,查询结束后将结果传递给套接字服务器再由套接字服务器进行发送相比大大减少了时间延迟,加快了处理速度。
为了进一步节约系统资源,由推送服务器2推送至浏览器客户端3的命令信息为通知消息。在这种情况下,浏览器客户端,还用于在接收到推送服务器推送的通知消息后,与云存储服务器端建立连接,从云存储服务器端下载发生更新的数据内容,依照下载的数据内容进行本地数据内容的同步。通过传送通知消息可以减少传送数据量,减少系统资源占用。
当然,由推送服务器推送至目标客户端的命令信息也可以为内容消息,即该内容消息中包含发生更新的数据内容,在这种情况下,目标客户端在接收到推送服务器推送的内容消息后,从该内容消息中提取发生更新的数据内容,依照提取的数据内容进行本地数据内容的同步。通过传送内容消息可以直接将内容消息推送至客户端,信息传递快速,步骤简单。
为了实现对多语言的支持、方便地调用文本,推送服务器和云存储服务器端之间采用HTTP接口。
基于图1及图2所示的实现浏览器数据同步的系统,本发明又提供了一种实现浏览器数据同步的方法。如图7所示,该实现浏览器数据同步的方法包括:
步骤S710,云存储服务器端在有数据更新时向推送服务器下发条件信息和命令信息;
步骤S720,推送服务器根据该条件信息在多个浏览器客户端中确定目标客户端,并将该命令信息发送给目标客户端;
步骤S730,目标客户端根据命令信息实现其与云存储服务器端的数据同步。
进一步地,步骤S710之前还包括浏览器客户端与套接字服务器之间建立套接字连接,该连接的建立过程如图3所示,这里就不再赘述。
进一步地,在步骤S710的云存储服务器端在有数据更新时向推送服务器下发条件信息和命令信息的步骤中,如果条件信息中包含目标客户端的登录用户的用户名或未登录用户的机器硬件标识,包括以下两种情况:
情况一:发起客户端和接收客户端属于同一用户,该用户使用不同的设备(例如手机和PC)登录浏览器,其中一个(例如PC)更改收藏夹,那么需要将该更新同步到同一用户的另一设备(手机);
该情况下,发起客户端首先发起对存储在云存储服务器端中的有关配置、功能、或收藏的信息或其他的信息的修改。然后云存储服务器端向推送服务器发送条件信息和命令信息,该命令信息包括内容消息和通知消息,推送服务器通过套接字服务器将根据条件信息将该命令信息发送到目标客户端,其中该目标客户端排除了发起客户端。该种情况下的信息推送过程如图4所示,这里也不再赘述。
情况二:发起客户端和接收客户端不属于同一用户,从而实现不同用户之间通过客户端的信息交互。
具体来说,一个用户的客户端将条件信息和内容消息发送至云存储服务器端,云存储服务器端将条件信息和相关通知消息其发送至推送服务器,推送服务器根据条件信息将通知消息发送至目标客户端,进而目标客户端可以访问云存储服务器端以获取内容。在这种情况下的信息推送过程如图5所示,这里也不再赘述。
此外,如果条件信息中不包含目标客户端的用户标识信息,而包括特征筛选信息,则还包括以下情况:
情况三:云存储服务器端自身有数据更新,需要浏览器客户端与云存储服务器端进行数据同步,云存储服务器端主动向推送服务器下发条件信息和命令信息,例如:
1、云存储服务器端向某版本的所有浏览器客户端发起更新指示,以使该版本的所有浏览器客户端升级为新版本,其中,命令信息为升级为新版本的通知消息,条件信息为某版本浏览器的客户端,即其中的特征筛选信息为浏览器客户端的版本号。则推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器将升级为新版本的通知消息发送给某版本的所有浏览器客户端。
2、云存储服务器端向所有浏览器客户端推送新闻消息,其中条件信息为所有浏览器客户端,即特征筛选信息为空,命令信息为包含新闻消息的内容消息;则推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器将包含新闻消息的内容消息发送给所有浏览器客户端。应该理解,发送的也可以是通知消息。
3、云存储服务器端向不同地区的浏览器客户端推送天气预报,其中条件为某一地区的浏览器客户端,即特征筛选信息为该某一地区对应的IP段,命令信息为包含天气预报的内容消息;则推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器将包含天气预报的内容消息发送给某一地区的浏览器客户端。应该理解,发送的也可以是通知消息。
在这种情况下的信息推送过程如图6所示,这里也不再赘述。基于图1及图2所示的实现浏览器数据同步的系统,本发明又提供了一种实现浏览器数据同步的浏览器客户端。如图8所示,该浏览器客户端包括:连接模块,用于通过分发器与套接字服务器建立连接关系,并从相应的套接字服务器接收命令信息;应用模块,用于根据该命令信息,执行其对应的应用操作。其中,所述命令信息为通知消息或内容消息。
如图8所示,连接模块又包括:分发器连接子模块,用于向所述分发器提交连接请求,该连接请求中至少包括用户标识信息,并接收由分发器返回的被分配的套接字服务器的连接信息及连接标识符;套接字连接子模块,用于根据接收到的套接字服务器的连接信息及所述连接标识符与对应的套接字服务器建立套接字连接,并通过该套接字连接从相应的套接字服务器接收命令信息。其中,所述用户标识信息为登录用户的用户名或非登录用户的机器硬件标识。
如图8所示,上述浏览器客户端中还可以包括:云存储通信模块,用于响应应用模块的应用操作,与云存储服务器端进行通信。根据本发明的又一实施例,提供了一种分发信息数据库,图9为使用该分发信息数据库的实现浏览器数据同步的系统结构示意图。参照图9,该分发信息数据库是集群数据库形式,例如采用MongoDB集群或CouchDB集群。该分发信息数据库包括N个信息单元,其中每个信息单元与一个套接字服务器对应,并且每个信息单元中存储与该套接字服务器对应的连接相关的信息。N的取值为与该分发信息数据库进行连接的套接字服务器的数量。
分发信息数据库中的每个信息单元是一表格,每个表格是以连接标识符为关键字的信息列表,该列表至少包括用户标识信息、机器硬件标识、版本号。
另外,该分发信息数据库优选为文档类型数据库。
综上所述,本发明提供的这种实现浏览器数据同步的系统和方法,通过设置单独的推送服务器,在云存储服务器端存储的浏览器相关内容发生更新的情况下,能够及时地将命令信息通过该推送服务器发送至多个浏览器客户端中的目标客户端,解决了无法简单有效地将浏览器客户端与云存储服务器端数据实时同步的问题,从而简单、高效地实现了浏览器客户端与云存储服务器端的数据同步。由此,可以在原有架构的基础上使浏览器客户端可以高效地、主动地、资源节约地将信息与云存储服务器端实时同步。该系统及方法还能够在原有系统架构的基础上实现,有效利用原有架构,实现成本有效。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的相关设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本文公开了A1、一种实现浏览器数据同步的系统,该系统包括:云存储服务器端、推送服务器和多个浏览器客户端,其中:所述云存储服务器端,用于在有数据更新时向所述推送服务器下发条件信息和命令信息;所述推送服务器,用于根据该条件信息在所述多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及所述目标客户端,用于根据所述命令信息实现其与云存储服务器端的数据同步。A2、根据A1所述的实现浏览器数据同步的系统,其中,该系统在所述推送服务器与所述多个浏览器客户端之间还具有多个套接字服务器;在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端之前,所述多个浏览器客户端分别与相应的套接字服务器之间建立套接字连接;在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端时,所述推送服务器通过相应的套接字服务器将所述命令信息发送给所述多个浏览器客户端中的目标客户端。A3、根据A2所述的实现浏览器数据同步的系统,其中,该系统还包括:分发器,所述多个浏览器客户端与相应的套接字服务器之间通过该分发器建立连接。A4、根据A3所述的实现浏览器数据同步的系统,其中,浏览器客户端与套接字服务器之间通过分发器建立套接字连接包括:所述浏览器客户端向所述分发器提交连接请求,该连接请求中至少包括用户标识信息;所述分发器由用户标识信息使用预设算法进行计算得到全局唯一的连接标识符,根据该连接标识符为提交连接请求的浏览器客户端分配套接字服务器;所述分发器将该套接字服务器的连接信息及所述连接标识符发送至提交请求的浏览器客户端;提交请求的浏览器客户端根据接收到的套接字服务器的连接信息及所述连接标识符与对应的套接字服务器建立连接。A5、根据A4所述的实现浏览器数据同步的系统,其中,所述提交请求的浏览器客户端根据接收到的套接字服务器的连接信息与对应的套接字服务器建立连接,包括:提交请求的浏览器客户端向相应的套接字服务器传送其接收到的连接标识符;所述套接字服务器从所述提交请求的浏览器客户端接收到连接标识符后,向所述分发器对该连接标识符进行验证,在验证成功后,保持所述套接字服务器与所述浏览器客户端之间已经建立的连接,验证失败,则断开已经建立的连接;其中在所述套接字服务器与所述浏览器客户端之间的连接建立时,套接字服务器获得标识套接字服务器和浏览器客户端连接关系的资源标识符。A6、根据A5所述的实现浏览器数据同步的系统,其中,所述用户标识信息包括:登录用户的用户名、非登录用户的机器硬件标识。A7、根据A5所述的实现浏览器数据同步的系统,其中,该分发器包括:分发信息数据库,用于存储用户标识信息、连接标识符,以及资源标识符。A8、根据A7所述的实现浏览器数据同步的系统,其中,所述云存储服务器端向推送服务器发送条件信息及命令信息中,所述条件信息中包括目标客户端的用户标识信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器采用与分发器相同的预设算法对目标客户端的用户标识信息进行计算得到一个数值,从而得到为目标客户端分配的套接字服务器,推送服务器将所述条件信息及所述命令信息发送给该为目标客户端分配的套接字服务器;该套接字服务器根据所述条件信息中的用户标识信息查询分发器中的分发信息数据库,确定与目标客户端对应的资源标识符,并依照该资源标识符将该命令信息发送给该目标客户端。A9、根据A5所述的实现浏览器数据同步的系统,其中,该分发器还包括分发信息数据库;所述分发器还从浏览器客户端获取用户特征信息,该用户特征信息包括以下信息其中之一:IP地址信息、浏览器版本信息和用户分类信息;所述分发信息数据库,用于存储所述用户特征信息、连接标识符及资源标识符。A10、根据A9所述的实现浏览器数据同步的系统,其中,所述云存储服务器端向所述推送服务器下发条件信息和命令信息中,所述条件信息中包含目标客户端的特征筛选信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器将该条件信息和该命令信息发送给所有的套接字服务器;每一个套接字服务器根据该条件信息中的特征筛选信息查询分发信息数据库,确定满足该特征筛选信息的目标客户端的资源标识符,并依照该资源标识符向相应的目标客户端发送命令信息。A11、根据A7至A10中任一项所述的实现浏览器数据同步的系统,其中,所述分发信息数据库为文档类型数据库。A12、根据A7至A10中任一项所述的实现浏览器数据同步的系统,其中,所述分发信息数据库采取数据库集群的形式。A13、根据A12所述的实现浏览器数据同步的系统,其中,所述分发信息数据库分为多个部分,数据库的各部分保存与各套接字服务器相对应的信息。A14、根据A12所述的实现浏览器数据同步的系统,其中,所述数据库集群采用MongoDB集群或CouchDB集群。A15、根据A13所述的实现浏览器数据同步的系统,其中,套接字服务器根据所述条件信息查询分发器中的分发信息数据库包括:套接字服务器查询分发信息数据库中与其自身对应的部分以确定目标客户端。A16、根据A1至A10中任一项所述的实现浏览器数据同步的系统,其中,所述命令信息为通知消息或内容消息。
本文公开了B17、一种实现浏览器数据同步的方法,其中该方法包括:云存储服务器端在有数据更新时向推送服务器下发条件信息和命令信息;推送服务器根据该条件信息在所述多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及目标客户端根据该命令信息实现浏览器客户端与云存储服务器端的数据同步。B18、根据B17所述的实现浏览器数据同步的方法,其中,该方法进一步包括步骤:在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端之前,所述多个浏览器客户端分别与相应的套接字服务器之间建立连接;在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端时,所述推送服务器通过相应的套接字服务器将所述命令信息发送给所述多个浏览器客户端中的目标客户端。B19、根据B18所述的实现浏览器数据同步的方法,其中,该方法进一步包括步骤:所述多个浏览器客户端与相应的套接字服务器之间通过分发器建立连接。B20、根据B19所述的实现浏览器数据同步的方法,其中,浏览器客户端与套接字服务器之间通过分发器建立套接字连接进一步包括步骤:所述浏览器客户端向所述分发器提交连接请求,该连接请求中至少包括用户标识信息;所述分发器由用户标识信息使用预设算法进行计算得到全局唯一的连接标识符,根据该连接标识符为提交连接请求的浏览器客户端分配套接字服务器;所述分发器将该套接字服务器的连接信息及所述连接标识符发送至提交请求的浏览器客户端;提交请求的浏览器客户端根据接收到的套接字服务器的连接信息及所述连接标识符与对应的套接字服务器建立连接。B21、根据B20所述的实现浏览器数据同步的方法,其中,所述提交请求的浏览器客户端根据接收到的套接字服务器的连接信息与对应的套接字服务器建立连接,进一步包括步骤:提交请求的浏览器客户端向相应的套接字服务器传送其接收到的连接标识符;所述套接字服务器从所述提交请求的浏览器客户端接收到连接标识符后,向所述分发器对该连接标识符进行验证,在验证成功后,保持所述套接字服务器与所述浏览器客户端之间已经建立的连接,验证失败,则断开已经建立的连接;其中在所述套接字服务器与所述浏览器客户端之间的连接建立时,套接字服务器获得标识套接字服务器和浏览器客户端连接关系的资源标识符。B22、根据B21所述的实现浏览器数据同步的方法,其中,所述用户标识信息包括:登录用户的用户名、非登录用户的机器硬件标识。B23、根据B22所述的实现浏览器数据同步的方法,其中,该方法进一步包括将所述用户标识信息、连接标识符,以及资源标识符存储在该分发器的分发信息数据库中。B24、根据B23所述的实现浏览器数据同步的方法,其中,所述云存储服务器端向推送服务器发送条件信息及命令信息的步骤中,所述条件信息中包括目标客户端的用户标识信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端的步骤包括:推送服务器采用与分发器相同的预设算法对目标客户端的用户标识信息进行计算得到一个数值,从而得到为目标客户端分配的套接字服务器;推送服务器将所述条件信息及所述命令信息发送给该为目标客户端分配的套接字服务器;所述套接字服务器根据所述条件信息中的用户标识信息查询分发信息数据库,确定与目标客户端对应的资源标识符,并依照该资源标识符将该命令信息发送给该目标客户端。B25、根据B21所述的实现浏览器数据同步的方法,其中,该方法还包括:所述分发器还从浏览器客户端获取用户特征信息,该用户特征信息包括以下信息其中之一:IP地址信息、浏览器版本信息和用户分类信息;将所述用户特征信息、连接标识符及资源标识符存储于所述分发器包括的分发信息数据库中。B26、根据B25所述的实现浏览器数据同步的方法,其中,所述云存储服务器端向推送服务器下发条件信息和命令信息中,所述条件信息中包含目标客户端的特征筛选信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端的步骤包括:所述推送服务器将该条件信息和该命令信息发送给所有的套接字服务器;每一个套接字服务器根据该条件信息中的特征筛选信息查询分发信息数据库,确定满足该特征筛选信息的目标客户端的资源标识符,并依照该资源标识符向确定的目标客户端发送命令信息。B27、根据B23-B26任一项所述的实现浏览器数据同步的方法,其中,所述分发信息数据库为文档类型数据库。B28、根据B23-B26任一项所述的实现浏览器数据同步的方法,其中,所述分发信息数据库采取数据库集群的形式。B29、根据B28所述的实现浏览器数据同步的方法,其中,所述分发信息数据库分为多个部分,数据库的各部分保存与各套接字服务器相对应的信息。B30、根据B28所述的实现浏览器数据同步的方法,其中,所述数据库集群采用MongoDB集群或CouchDB集群。B31、根据B29所述的实现浏览器数据同步的方法,其中,套接字服务器根据所述条件信息查询分发器中的分发信息数据库包括:套接字服务器查询分发信息数据库中与其自身对应的部分以确定目标客户端。B32、根据B19所述的实现浏览器数据同步的方法,其中,所述命令信息为通知消息或内容消息。
Claims (28)
1.一种实现浏览器数据同步的系统,该系统包括:云存储服务器端、多个套接字服务器、分发器、推送服务器和多个浏览器客户端,其中:
所述云存储服务器端,用于在有数据更新时向所述推送服务器下发条件信息和命令信息;所述推送服务器,用于根据该条件信息在所述多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及所述目标客户端,用于根据所述命令信息实现其与云存储服务器端的数据同步;在所述推送服务器与所述多个浏览器客户端之间还具有多个套接字服务器;
其中,在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端之前,所述多个浏览器客户端分别与相应的套接字服务器之间建立套接字连接;所述多个浏览器客户端与相应的套接字服务器之间通过分发器建立连接;其中,分发器在接收到浏览器客户端的连接请求后,为其分配相应的套接字服务器以及连接标识符;提交请求的浏览器客户端向相应的套接字服务器传送其接收到的连接标识符;所述套接字服务器从所述提交请求的浏览器客户端接收到连接标识符后,通过所述分发器对该连接标识符进行验证,在验证成功后,保持所述套接字服务器与所述浏览器客户端之间已经建立的连接,验证失败,则断开已经建立的连接;
在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端时,所述推送服务器通过相应的套接字服务器将所述命令信息发送给所述多个浏览器客户端中的目标客户端。
2.根据权利要求1所述的实现浏览器数据同步的系统,其中,浏览器客户端与套接字服务器之间通过分发器建立套接字连接包括:所述浏览器客户端向所述分发器提交连接请求,该连接请求中至少包括用户标识信息;所述分发器由用户标识信息使用预设算法进行计算得到全局唯一的连接标识符,根据该连接标识符为提交连接请求的浏览器客户端分配套接字服务器;所述分发器将该套接字服务器的连接信息及所述连接标识符发送至提交请求的浏览器客户端;提交请求的浏览器客户端根据接收到的套接字服务器的连接信息及所述连接标识符与对应的套接字服务器建立连接。
3.根据权利要求2所述的实现浏览器数据同步的系统,其中,在所述套接字服务器与所述浏览器客户端之间的连接建立时,套接字服务器获得标识套接字服务器和浏览器客户端连接关系的资源标识符。
4.根据权利要求3所述的实现浏览器数据同步的系统,其中,所述用户标识信息包括:登录用户的用户名、非登录用户的机器硬件标识。
5.根据权利要求3所述的实现浏览器数据同步的系统,其中,该分发器包括:分发信息数据库,用于存储用户标识信息、连接标识符以及资源标识符。
6.根据权利要求5所述的实现浏览器数据同步的系统,其中,所述云存储服务器端向推送服务器发送条件信息及命令信息中,所述条件信息中包括目标客户端的用户标识信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器采用与分发器相同的预设算法对目标客户端的用户标识信息进行计算得到一个数值,从而得到为目标客户端分配的套接字服务器,推送服务器将所述条件信息及所述命令信息发送给该为目标客户端分配的套接字服务器;该套接字服务器根据所述条件信息中的用户标识信息查询分发器中的分发信息数据库,确定与目标客户端对应的资源标识符,并依照该资源标识符将该命令信息发送给该目标客户端。
7.根据权利要求3所述的实现浏览器数据同步的系统,其中,该分发器还包括分发信息数据库;所述分发器还从浏览器客户端获取用户特征信息,该用户特征信息包括以下信息其中之一:IP地址信息、浏览器版本信息和用户分类信息;所述分发信息数据库,用于存储所述用户特征信息、连接标识符及资源标识符。
8.根据权利要求7所述的实现浏览器数据同步的系统,其中,所述云存储服务器端向所述推送服务器下发条件信息和命令信息中,所述条件信息中包含目标客户端的特征筛选信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端包括:推送服务器将该条件信息和该命令信息发送给所有的套接字服务器;每一个套接字服务器根据该条件信息中的特征筛选信息查询分发信息数据库,确定满足该特征筛选信息的目标客户端的资源标识符,并依照该资源标识符向相应的目标客户端发送命令信息。
9.根据权利要求5至8中任一项所述的实现浏览器数据同步的系统,其中,所述分发信息数据库为文档类型数据库。
10.根据权利要求5至8中任一项所述的实现浏览器数据同步的系统,其中,所述分发信息数据库采取数据库集群的形式。
11.根据权利要求10所述的实现浏览器数据同步的系统,其中,所述分发信息数据库分为多个部分,数据库的各部分保存与各套接字服务器相对应的信息。
12.根据权利要求10所述的实现浏览器数据同步的系统,其中,所述数据库集群采用MongoDB集群或CouchDB集群。
13.根据权利要求11所述的实现浏览器数据同步的系统,其中,套接字服务器根据所述条件信息查询分发器中的分发信息数据库包括:套接字服务器查询分发信息数据库中与其自身对应的部分以确定目标客户端。
14.根据权利要求1至8中任一项所述的实现浏览器数据同步的系统,其中,所述命令信息为通知消息或内容消息。
15.一种实现浏览器数据同步的方法,其中该方法包括:
云存储服务器端在有数据更新时向推送服务器下发条件信息和命令信息;推送服务器根据该条件信息在多个浏览器客户端中确定目标客户端,并将所述命令信息发送给所述目标客户端;以及目标客户端根据该命令信息实现浏览器客户端与云存储服务器端的数据同步;
在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端之前,所述多个浏览器客户端分别与相应的套接字服务器之间建立连接;其中,所述多个浏览器客户端与相应的套接字服务器之间通过分发器建立连接;分发器在接收到浏览器客户端的连接请求后,为其分配相应的套接字服务器以及连接标识符;提交请求的浏览器客户端向相应的套接字服务器传送其接收到的连接标识符;所述套接字服务器从所述提交请求的浏览器客户端接收到连接标识符后,通过所述分发器对该连接标识符进行验证,在验证成功后,保持所述套接字服务器与所述浏览器客户端之间已经建立的连接,验证失败,则断开已经建立的连接;
在所述推送服务器根据条件信息将命令信息发送给多个浏览器客户端中的目标客户端时,所述推送服务器通过相应的套接字服务器将所述命令信息发送给所述多个浏览器客户端中的目标客户端。
16.根据权利要求15所述的实现浏览器数据同步的方法,其中,浏览器客户端与套接字服务器之间通过分发器建立套接字连接进一步包括步骤:所述浏览器客户端向所述分发器提交连接请求,该连接请求中至少包括用户标识信息;所述分发器由用户标识信息使用预设算法进行计算得到全局唯一的连接标识符,根据该连接标识符为提交连接请求的浏览器客户端分配套接字服务器;所述分发器将该套接字服务器的连接信息及所述连接标识符发送至提交请求的浏览器客户端;提交请求的浏览器客户端根据接收到的套接字务器的连接信息及所述连接标识符与对应的套接字服务器建立连接。
17.根据权利要求16所述的实现浏览器数据同步的方法,其中,在所述套接字服务器与所述浏览器客户端之间的连接建立时,套接字服务器获得标识套接字服务器和浏览器客户端连接关系的资源标识符。
18.根据权利要求17所述的实现浏览器数据同步的方法,其中,所述用户标识信息包括:登录用户的用户名、非登录用户的机器硬件标识。
19.根据权利要求18所述的实现浏览器数据同步的方法,其中,该方法进一步包括将所述用户标识信息、连接标识符以及资源标识符存储在该分发器的分发信息数据库中。
20.根据权利要求19所述的实现浏览器数据同步的方法,其中,所述云存储服务器端向推送服务器发送条件信息及命令信息的步骤中,所述条件信息中包括目标客户端的用户标识信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端的步骤包括:推送服务器采用与分发器相同的预设算法对目标客户端的用户标识信息进行计算得到一个数值,从而得到为目标客户端分配的套接字服务器;推送服务器将所述条件信息及所述命令信息发送给该为目标客户端分配的套接字服务器;所述套接字服务器根据所述条件信息中的用户标识信息查询分发信息数据库,确定与目标客户端对应的资源标识符,并依照该资源标识符将该命令信息发送给该目标客户端。
21.根据权利要求17所述的实现浏览器数据同步的方法,其中,该方法还包括:所述分发器还从浏览器客户端获取用户特征信息,该用户特征信息包括以下信息其中之一:IP地址信息、浏览器版本信息和用户分类信息;将所述用户特征信息、连接标识符及资源标识符存储于所述分发器包括的分发信息数据库中。
22.根据权利要求21所述的实现浏览器数据同步的方法,其中,所述云存储服务器端向推送服务器下发条件信息和命令信息中,所述条件信息中包含目标客户端的特征筛选信息;所述推送服务器根据该条件信息将该命令信息发送给多个浏览器客户端中的目标客户端的步骤包括:所述推送服务器将该条件信息和该命令信息发送给所有的套接字服务器;每一个套接字服务器根据该条件信息中的特征筛选信息查询分发信息数据库,确定满足该特征筛选信息的目标客户端的资源标识符,并依照该资源标识符向确定的目标客户端发送命令信息。
23.根据权利要求19-22任一项所述的实现浏览器数据同步的方法,其中,所述分发信息数据库为文档类型数据库。
24.根据权利要求19-22任一项所述的实现浏览器数据同步的方法,其中,所述分发信息数据库采取数据库集群的形式。
25.根据权利要求24所述的实现浏览器数据同步的方法,其中,所述分发信息数据库分为多个部分,数据库的各部分保存与各套接字服务器相对应的信息。
26.根据权利要求24所述的实现浏览器数据同步的方法,其中,所述数据库集群采用MongoDB集群或CouchDB集群。
27.根据权利要求25所述的实现浏览器数据同步的方法,其中,套接字服务器根据所述条件信息查询分发器中的分发信息数据库包括:套接字服务器查询分发信息数据库中与其自身对应的部分以确定目标客户端。
28.根据权利要求15所述的实现浏览器数据同步的方法,其中,所述命令信息为通知消息或内容消息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210549446.0A CN103024052B (zh) | 2012-12-17 | 2012-12-17 | 实现浏览器数据同步的系统和方法 |
US14/652,844 US10187445B2 (en) | 2012-12-17 | 2013-09-17 | System, method and browser client for enabling browser data synchronization |
PCT/CN2013/083624 WO2014094468A1 (zh) | 2012-12-17 | 2013-09-17 | 实现浏览器数据同步的系统、方法及浏览器客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210549446.0A CN103024052B (zh) | 2012-12-17 | 2012-12-17 | 实现浏览器数据同步的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103024052A CN103024052A (zh) | 2013-04-03 |
CN103024052B true CN103024052B (zh) | 2016-08-10 |
Family
ID=47972176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210549446.0A Expired - Fee Related CN103024052B (zh) | 2012-12-17 | 2012-12-17 | 实现浏览器数据同步的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103024052B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014094468A1 (zh) * | 2012-12-17 | 2014-06-26 | 北京奇虎科技有限公司 | 实现浏览器数据同步的系统、方法及浏览器客户端 |
CN103064899B (zh) * | 2012-12-17 | 2016-06-22 | 北京奇虎科技有限公司 | 一种分发信息数据库系统 |
CN103442063B (zh) * | 2013-08-29 | 2017-05-24 | 贝壳网际(北京)安全技术有限公司 | 信息处理方法、客户端设备及服务器 |
CN103501331B (zh) * | 2013-09-29 | 2017-05-10 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN103501334B (zh) * | 2013-09-29 | 2019-09-24 | 北京世界星辉科技有限责任公司 | 数据传输方法、设备及网络系统 |
CN103475753A (zh) * | 2013-09-29 | 2013-12-25 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN103647821B (zh) * | 2013-12-06 | 2018-09-18 | 北京奇虎科技有限公司 | 基于长连接的数据内容分享方法、系统及装置 |
CN103699616B (zh) * | 2013-12-17 | 2017-09-29 | 新浪网技术(中国)有限公司 | 数据结构创建方法、订阅消息数据发送方法及相关装置 |
CN105187560A (zh) * | 2015-09-29 | 2015-12-23 | 北京奇艺世纪科技有限公司 | 一种基于云服务器的数据推送方法和装置 |
CN106934706B (zh) * | 2015-12-29 | 2020-12-08 | 航天信息软件技术有限公司 | 一种同步销项发票的方法和系统 |
CN108173941A (zh) * | 2017-12-28 | 2018-06-15 | 努比亚技术有限公司 | 一种信息处理方法、终端、服务器及计算机可读存储介质 |
CN108900642A (zh) * | 2018-08-16 | 2018-11-27 | 安徽云才信息技术有限公司 | 一种完全由服务端控制的消息推送方法 |
CN110727936B (zh) * | 2019-08-26 | 2022-10-21 | 上海商米科技集团股份有限公司 | 为应用授权的方法和设备 |
CN112988162B (zh) * | 2021-03-30 | 2022-09-27 | 深圳软牛科技有限公司 | Chrome浏览器的数据提取方法、装置、设备及存储介质 |
CN113569147B (zh) * | 2021-07-27 | 2023-09-26 | 北京百度网讯科技有限公司 | 信息推送方法、装置、电子设备和存储介质 |
CN115473810B (zh) * | 2022-09-01 | 2024-04-26 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
CN101247349A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种网络流量快速分配方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1464414A (zh) * | 2002-06-28 | 2003-12-31 | 杨俊群 | 一种提高计算机网络系统容量的方法 |
US8689301B2 (en) * | 2008-09-30 | 2014-04-01 | Avaya Inc. | SIP signaling without constant re-authentication |
CN102006322A (zh) * | 2010-11-18 | 2011-04-06 | 广州广联数字家庭产业技术研究院 | 基于互联网实现远程抄表的方法及系统 |
-
2012
- 2012-12-17 CN CN201210549446.0A patent/CN103024052B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1620012A (zh) * | 2003-11-19 | 2005-05-25 | 国际商业机器公司 | 更新/重装在网络上浏览过的页面内容的方法和系统 |
CN101247349A (zh) * | 2008-03-13 | 2008-08-20 | 华耀环宇科技(北京)有限公司 | 一种网络流量快速分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103024052A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103024052B (zh) | 实现浏览器数据同步的系统和方法 | |
CN102984278B (zh) | 实现浏览器数据同步的系统和方法 | |
US11064053B2 (en) | Method, apparatus and system for processing data | |
CN105791344B (zh) | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 | |
CN102984277B (zh) | 防止恶意连接的系统和方法 | |
CN103024050B (zh) | 分发器和对多个服务器进行分发的方法 | |
CN102968428B (zh) | 用于通过远程应用的高效数据提取的方法和系统 | |
CN109168054B (zh) | 显示屏播放系统及控制方法 | |
CN105094868A (zh) | 一种软件升级方法、服务器及终端 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
CN113645304A (zh) | 数据服务处理方法及相关设备 | |
CN110110196A (zh) | 一种消息推送方法和装置 | |
CN104468399A (zh) | 数据传输方法、装置和服务器 | |
CN103024049B (zh) | 实现浏览器数据同步的系统 | |
CN108804121A (zh) | 分布式系统中的版本管理方法、装置、介质及电子设备 | |
CN110321252A (zh) | 一种技能服务资源调度的方法和装置 | |
CN103634410A (zh) | 基于内容分发网络cdn的数据同步方法,客户端及服务器 | |
CN103064899B (zh) | 一种分发信息数据库系统 | |
CN102984276B (zh) | 用于对多个套接字服务器进行分发的分发器和分发方法 | |
CN103024051B (zh) | 一种进行服务器分发的装置、方法和相应系统 | |
US9749426B2 (en) | Method, system, and apparatus for agent-based architecture for integrated mobile applications | |
CN103036989B (zh) | 套接字服务器及套接字服务方法 | |
CN109947768A (zh) | 用于数据库对象的局部标识符 | |
CN109783119A (zh) | 一种数据多版本兼容升级管理系统及其管理方法 | |
US8719708B2 (en) | Systems and methods for dynamic historical browsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 Termination date: 20211217 |