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长轮询方式发送的数据同步请求,所述数据同步请求包括项目标识、与所述服务器预先建立连接的第三方数据库的管道标识;接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述述第三方数据库;接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。
【技术特征摘要】
1.一种多客户端数据同步方法,其特征在于,所述方法包括:服务器接收客户端以Ajax长轮询方式发送的数据同步请求,所述数据同步请求包括项目标识、与所述服务器预先建立连接的第三方数据库的管道标识;接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,并根据所述数据更新请求更新所述项目标识对应的项目数据,其中所述数据更新请求包括所述其他客户端标识、更新内容;将已更新所述项目标识对应的项目数据及其对应的管道标识发送至所述述第三方数据库;接收所述第三方数据库发送的与所述管道标识对应的已更新的所述项目数据标识对应的项目数据;将所述已更新的所述项目标识对应的项目数据推送至所述客户端,并断开与所述客户端的连接。2.根据权利要求1所述的方法,其特征在于,所述第三方数据库包括Redis数据库。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括,在所述接收客户端以Ajax长轮询方式发送的数据同步请求之前,向所述第三方数据库发送订阅请求,所述订阅请求包括所述管道标识。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括,在所述接收客户端以Ajax长轮询方式发送的数据同步请求之前,接收所述客户端发送http长连接请求,以建立与所述客户端的连接。5.根据权利要求1或2所述的方法,其特征在于,所述其他客户端包括与其他服务器相对应的、与所述客户端属于同一工作组的客户端;所述接收与所述客户端属于同一工作组的其他客户端发送的与所述项目标识对应的数据更新请求,包括:接收与所述其他服务器相对应的、与所述客户端属于同一工作组的客户端发送的与所述项目标识对应的数据更新请求。6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述将所述已更新的所述项目标识对应的项目数据推送至所述客户端失败后,所述服务器将所述已更新的所述项目标识对应的项目数据发送至所述第三方数据库缓存;按预定时间间隔从所述第三方数据库获取所述项目数据并推送至所述客户端。7.一种多客户端数据同步装置,其...
【专利技术属性】
技术研发人员:谭龙,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。