多客户端数据同步方法和装置制造方法及图纸

技术编号:16720364 阅读:28 留言:0更新日期:2017-12-05 17:48
本申请公开了多客户端数据同步方法和装置。该方法的一具体实施方式包括:接收客户端以Ajax长轮询方式发送的数据同步请求,数据同步请求包括项目标识、与服务器预先建立连接的第三方数据库的管道标识;接收与客户端属于同一工作组的其他客户端发送的与项目标识对应的数据更新请求,并根据数据更新请求更新项目标识对应的项目数据;将已更新项目标识对应的项目数据及其对应的管道标识发送至第三方数据库;接收第三方数据库发送的与管道标识对应的已更新的项目数据标识对应的项目数据;将已更新项目数据推送至客户端,并断开与客户端的连接。在节省网络资源的同时,实现了与第三方数据库的相同管道对应的安装有不同版本浏览器的多客户端实时数据同步。

Multi client data synchronization method and device

The application discloses a multi client data synchronization method and device. One embodiment of the method includes: receiving the client sends synchronization request to Ajax long polling data, data synchronization request including project identification, to establish a connection with the server of the database of the third party in advance of pipeline identification; other client sending and receiving client and belong to the same group and item identification data corresponding to the update request according to the data update request identifier corresponding to the data update project project; project data updated project identifies and corresponding pipeline marking is sent to the third party project database; data receiving and sending third party database identifier corresponding to the corresponding pipeline project has been updated data identification; updated project data push to the client, and disconnect the connection with the client. While saving network resources, the real-time data synchronization of multiple clients installed with different versions of browsers is realized corresponding to the same pipeline of the third party database.

【技术实现步骤摘要】
多客户端数据同步方法和装置
本申请涉及计算机领域,具体涉及数据管理应用领域,尤其涉及多客户端数据同步方法和装置。
技术介绍
在团队协同工作系统中,如果一个项目成员所在的客户端对上述项目中的数据发起变更,例如对上述项目中的数据进行新增/移动/删除、内容变更、归档等,往往需要将变更的内容能够在其他项目成员的客户端(PC、移动设备)中能够实时展现出来以实现多客户端数据同步。当多个客户端是异地办公时,多客户端数据同步就显得更加重要。目前,多客户端数据同步,通常采用以下方式:1)客户端定时请求服务端方式,客户端定时询问是否有内容变更,服务端收到请求后采用一请求一线程方式提供服务,先根据客户端的标识查询缓存的变更信息,将查询结果分析并组装后返回给特定的客户端;2)WebSocket方式为客户端和服务端实现全双工通信,可实时双向通信;3)基于内嵌框架(InFrame,iFrame)嵌入隐藏帧方式是通过在超文本语言实现的网页中嵌入一个隐藏帧,然后将这个隐藏帧的属性设为个长连接,服务器端就能源源不断地往客户端输出变化内容。然而,当采用上述方式实现多客户端数据同步时,客户端定时请求服务端方式,客户端定时请求服务端,服务端立即返回,会导致带宽资源浪费且大多是无效请求,且定时请求方式客户端接收到变更的消息会有一定延迟。WebSocket为新标准,不能应用于老版本的浏览器中;基于iFrame嵌入隐藏帧方式部分客户端或浏览器会一直显示正在加载,存在很明显的用户体验问题。
技术实现思路
本申请提供了多客户端数据同步方法和装置,用于解决上述
技术介绍
部分存在的技术问题。第一方面,本申请提供了多客户端数据同步方法,该方法包括:服务器接收客户端以Ajax长轮询方式发送的数据同步请求,所述数据同步请求包括项目标识、与所述服务器预先建立连接的第三方数据库的管道标识;接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述述第三方数据库;接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。第二方面,本申请提供了多客户端数据同步装置,该装置包括:第一接收单元,配置用于接收客户端以Ajax长轮询方式发送的数据同步请求,所述数据同步请求包括项目数据标识、与所述服务器预先建立连接的第三方数据库的管道标识;第二接收单元,配置用于接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;发送单元,配置用于将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述第三方数据库;第三接收单元,配置用于接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;第一推送单元,配置用于将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。本申请提供的多客户端数据同步方法和装置,服务器通过接收客户端以Ajax长轮询方式发送的数据同步请求,其中,数据同步请求包括项目数据标识、与所述服务器预先建立连接的第三方数据库的管道标识;接着接收与客户端属于同一工作组的其他客户端发送的对上述项目标识对应的数据更新请求,并更新上述项目标识对应的项目数据;然后将已更新的上述项目标识对应的项目数据及其对应的管道标识发送至上述第三方数据库;然后接收上述第三方数据库发送的与上述管道标识对应的已更新的上述项目数据标识对应的项目数据;最后将已更新的上述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。在节省网络资源的情况下,实现了与上述第三方数据库的相同管道对应的安装有不同版本浏览器的多个客户端实时数据同步。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2示出了根据本申请的多客户端数据同步方法的一个实施例的流程图;图3示出了本申请中的多客户端数据同步的一个示例性原理图;图4示出了本申请多客户端数据同步的一个示例性应用场景;图5出了本申请中的多客户端数据同步装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的多客户端数据同步方法或装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104、106和服务器105和服务器107。网络104用以在终端设备101、102、103和服务器105之间提供传输链路的介质。网络106用以在服务器105和服务器107之间提供传输链路的介质。网络104和网络106可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如团队协同工作的项目应用、文字处理类应用等。终端设备101、102、103可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。服务器105可以对终端设备101、102、103上的团队协同工作组中的项目应用提供数据服务,可以接收终端设备101、102和103对团队协同处理的项目的更新请求,例如添加/删除项目数据等更新请求,并根据终端设备的操作更新项目数据。同时服务器105将项目的更新内容通过网络106发送到服务器107中。接收服务器107的发送的更新内容通知以及从服务器107中获取需要接收该更新内容通知的终端设备的标识,例如终端设备102和103。并将更新内容发送终端设备中。服务器107可以是各种类型的服务器,可以接收并缓存服务器105发送的与服务器器105建立长连接的终端设备的标识。并可以将服务器105发送的项目变更内容通知给服务器105。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。请参考图2,其示出本文档来自技高网...
多客户端数据同步方法和装置

【技术保护点】
一种多客户端数据同步方法,其特征在于,所述方法包括:服务器接收客户端以Ajax长轮询方式发送的数据同步请求,所述数据同步请求包括项目标识、与所述服务器预先建立连接的第三方数据库的管道标识;接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述述第三方数据库;接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。

【技术特征摘要】
1.一种多客户端数据同步方法,其特征在于,所述方法包括:服务器接收客户端以Ajax长轮询方式发送的数据同步请求,所述数据同步请求包括项目标识、与所述服务器预先建立连接的第三方数据库的管道标识;接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述述第三方数据库;接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。2.根据权利要求1所述的方法,其特征在于,所述第三方数据库包括Redis数据库。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括,在所述接收客户端以Ajax长轮询方式发送的数据同步请求之前,向所述第三方数据库发送订阅请求,所述订阅请求包括所述管道标识。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括,在所述接收客户端以Ajax长轮询方式发送的数据同步请求之前,接收所述客户端发送http长连接请求,以建立与所述客户端的连接。5.根据权利要求1或2所述的方法,其特征在于,所述其他客户端包括与其他服务器相对应的、与所述客户端属于同一工作组的客户端;所述接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,包括:接收与所述其他服务器相对应的、与所述客户端属于同一工作组的客户端发送的与所述项目标识对应的数据更新请求。6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述将所述已更新的所述项目标识对应的项目数据推送至所述客户端失败后,所述服务器将所述已更新的所述项目标识对应的项目数据发送至所述第三方数据库缓存;按预定时间间隔从所述第三方数据库获取所述项目数据并推送至所述客户端。7.一种多客户端数据同步装置,其...

【专利技术属性】
技术研发人员:谭龙
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1