一种在多个客户端间同步信息的方法、客户端和服务器的制造方法

文档序号:7979753阅读:145来源:国知局
一种在多个客户端间同步信息的方法、客户端和服务器的制造方法
【专利摘要】一种在多个客户端间同步信息的方法、客户端和服务器,所述方法包括:各客户端在用户登录时向服务器发送订阅请求,建立会话;与服务器已建立会话的第一客户端在检测到本地的需与其他使用相同账号登陆的客户端同步的列表中发生记录更新时,向服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;服务器在收到修改请求后,向与第一客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带上述更新操作指示信息;收到变更通知消息的客户端根据其中携带的更新操作指示信息对本地的指定列表进行更新。本发明通过增量的方式实现多终端间的数据同步,节省了宝贵的网络资源。而且适用范围较广。
【专利说明】一种在多个客户端间同步信息的方法、客户端和服务器
【技术领域】
[0001]本发明涉及通信领域相关技术,尤其涉及一种在多个客户端间同步信息的方法、客户端和服务器。
【背景技术】
[0002]在现有的同步技术中,在基于客户端/服务器(Client/Server,简称为C/S)的架构中,多客户端同步的方法一般采用多终端状态的同步方法,即在一个终端的状态发生改变时,服务器会通知与这个终端相关联的其他终端。由于状态的数据量比较大,当只修改状态的一个字段时也需要通过服务器下发整个数据包,这样消耗的带宽会比较大,增加了网络的负担。

【发明内容】

[0003]本发明所要解决的问题是提供在多个客户端间同步信息的方法、客户端和服务器,以克服现有同步方法占用带宽较多的缺陷。
[0004]为解决上述问题,本发明提供了一种在多个客户端间同步信息的方法,包括:
[0005]各客户端在用户登录时向服务器发送订阅请求,建立会话;
[0006]与所述服务器已建立会话的第一客户端在检测到本地的需与其他使用相同账号登陆的客户端同步的列表中发生记录更新时,向所述服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;
[0007]所述服务器在收到所述修改请求后,向与所述第一客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带上述更新操作指示信息;
[0008]收到所述变更通知消息的客户端根据其中携带的更新操作指示信息对本地的指定列表进行更新。
[0009]进一步地,
[0010]当更新操作为新增记录时,所述更新操作指示信息中包括:增加标识及新增的记录;
[0011]当更新操作为删除记录时,所述更新操作指示信息中包括删除标识及删除前的记录。
[0012]进一步地,
[0013]所述修改请求采用可扩展标记语言配置访问协议(XCAP)格式。
[0014]进一步地,
[0015]所述向与所述第一客户端使用相同账号登陆的其他客户端发送变更通知消息,具体包括:
[0016]所述服务器使用所述其他客户端在用户登录时与所述服务器间建立的会话发送所述变更通知消息。
[0017]进一步地,[0018]所述变更通知消息为差异的XCAP文档(XCAP Diff Document)格式的初始会话协议通知(SIP NOTIFY)消息。
[0019]相应地,本发明还提供了一种客户端,多个使用相同账号登陆服务器的客户端上需要同步指定的列表,该客户端包括:
[0020]请求发送模块,用于在用户登录时向所述服务器发送订阅请求,与所述服务器建立会话;还用于在检测到本客户端的所述列表中发生记录更新时,向所述服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;
[0021]更新模块,用于在收到服务器发来的变更通知消息后,根据其中携带的更新操作指示信息对本地的指定列表进行更新。
[0022]进一步地,
[0023]当更新操作为新增记录时,所述请求发送模块发送的更新操作指示信息中包括:增加标识及新增的记录;
[0024]当更新操作为删除记录时,所述请求发送模块发送的更新操作指示信息中包括删除标识及删除前的记录。
[0025]进一步地,
[0026]所述修改请求采用可扩展标记语言配置访问协议(XCAP)格式。
[0027]相应地,本发明还提供了一种服务器,应用于客户端/服务器架构系统中,包括:
[0028]接收模块,用于接收客户端发来的订阅请求,与所述客户端建立会话;还用于接收所述客户端发来的修改请求,其中所述修改请求中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;
[0029]发送模块,用于在所述接收模块接收到所述修改请求后,向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带所述更新操作指示信息。
[0030]进一步地,
[0031]所述发送模块用于向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,具体包括:
[0032]所述发送模块用于使用所述其他客户端在用户登录时与所述服务器间建立的会话发送所述变更通知消息。
[0033]进一步地,
[0034]所述变更通知消息为差异的XCAP文档(XCAP Diff Document)格式的初始会话协议通知(SIP NOTIFY)消息。
[0035]本发明通过增量的方式实现多终端间的数据同步,只需要通过增删标记下发增删的数据,数据量较小,节省了宝贵的网络资源。而且,可通过扩展支持各类数据的同步,适用范围较广。
【专利附图】

【附图说明】
[0036]图1为本发明实施例中一种在多个客户端间同步信息的方法流程图;
[0037]图2为本发明应用示例I中一种实现多客户端联系人列表同步的方法流程图;
[0038]图3为本发明应用示例2中利用SUBSCRIBE和NOTIFY进行多客户端联系人列表同步的方法流程图;
[0039]图4为本发明实施例中客户端的结构示意图;
[0040]图5为本发明实施例中服务器的结构示意图。
【具体实施方式】
[0041]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0042]在本实施例中,一种在多个客户端间同步信息的方法,应用于C/S架构系统中,在该系统中,多个使用相同账号登陆的客户端上需要同步指定的列表,如图1所示,该同步方法包括:
[0043]步骤10、各客户端在用户登录时向服务器发送订阅请求,建立会话;
[0044]步骤20、与上述服务器已建立会话的第一客户端在检测到本地的上述指定列表中发生记录更新时,向服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;
[0045]其中,当更新操作为新增记录时,该更新操作指示信息中包括:增加标识及新增的记录;当更新操作为删除记录时,该更新操作指示信息中包括删除标识及删除前的记录;
[0046]此外,该修改请求可米用XCAP (XML Configuration Access Protocol,可扩展标记语言配置访问协议)格式;
[0047]步骤30、服务器在收到上述修改请求后,向与该第一客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带上述更新操作指示信息;在具体实现时,该变更通知消息可使用客户端在用户登录时与服务器间建立的会话进行发送,其可采用XCAP DiffDocument (差异的 XCAP 文档)格式的 SIP (Session Initiation Protocol,初始会话协议)NOTIFY (通知)消息;
[0048]步骤40、其他客户端在收到上述变更通知消息后,根据其中携带的更新操作指示信息对本地的指定列表进行更新。
[0049]下面用本发明的几个应用示例对本发明进行进一步说明。
[0050]应用示例I
[0051]在本应用示例中,提供了一个同步多客户端联系人列表的方法,如图2所示,包括以下步骤:
[0052]步骤101, —用户关联的多个客户端登录,发送XCAP Diff Document格式的订阅请求到服务器;
[0053]步骤102,该用户的客户端BI检测到联系人列表发生修改后,向服务器发送修改请求;其中,该修改请求可以是XCAP消息,其中至少携带更新操作指示信息;
[0054]步骤103,服务器根据接收到的修改请求中的更新操作指示信息构造相应的变更通知消息,该消息体的格式按照XCAP Diff Document格式来构造;
[0055]步骤104,服务器在内存中查找当前在线的该用户的所有相关的客户端信息,根据客户端的SUBSCRIBE(订阅)消息来下发变更通知消息。
[0056]服务器在每个客户端注册时通过用户的Public User Identity (公共用户标识)来保存用户的注册信息,属于同一客户的多个客户端的注册信息通过一定的数据结构来保存。每个客户端在发起订阅请求时会在自身的内存中保存订阅标识。服务器根据修改请求中携带的Public User Identity查找到已注册的该用户的所有客户端的信息,通过相应地订阅标识下发变更通知消息。
[0057]应用示例2
[0058]在本应用示例中,用户B的所有客户端BI,B2,B3分别向服务器发送订阅联系人列表变更的通知。如图3所示,利用SIP SUBSCRIBE和SIP NOTIFY进行多客户端信息同步的方法,包括:
[0059]步骤201,当用户在客户端BI修改了联系人列表时,客户端BI以XCAP消息发送修改请求;其中,新增记录操作发送PUT请求,删除记录操作发送DELETE请求,修改联系人信息的XCAP消息体中包含联系人的昵称等;
[0060]步骤202,服务器SI向客户端BI返回200 OK响应;
[0061 ] 步骤203,服务器SI解析上述修改请求,根据修改请求构造对应的NOTIFY消息,消息体格式按照XCAP Diff Document构造;
[0062]步骤204,客户端B2在线,并且订阅了联系人列表改变的通知,因此,服务器SI将所构造的联系人列表改变的通知以NOTIFY方式发送给客户端B2 ;
[0063]步骤205,客户端B2更新自己的联系人列表,并向服务器SI返回200 OK响应。
[0064]步骤204’,客户端B3在线,并且订阅了联系人列表改变的通知,因此,服务器SI将所构造的联系人列表改变的通知以NOTIFY方式发送给客户端B3。
[0065]步骤205’,客户端B3更新自己的联系人列表,并向服务器SI返回2000K响应。
[0066]此外,在本实施例中,一种客户端,多个使用相同账号登陆服务器的客户端上需要同步指定的列表,如图4所示,该客户端包括:
[0067]请求发送模块,用于在用户登录时向所述服务器发送订阅请求,与所述服务器建立会话;还用于在检测到本客户端的所述列表中发生记录更新时,向所述服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;
[0068]更新模块,用于在收到服务器发来的变更通知消息后,根据其中携带的更新操作指示信息对本地的指定列表进行更新。
[0069]较佳地,
[0070]当更新操作为新增记录时,所述请求发送模块发送的更新操作指示信息中包括:增加标识及新增的记录;
[0071]当更新操作为删除记录时,所述请求发送模块发送的更新操作指示信息中包括删除标识及删除前的记录。
[0072]较佳地,
[0073]所述修改请求采用可扩展标记语言配置访问协议(XCAP)格式。
[0074]相应地,一种服务器,应用于客户端/服务器架构系统中,如图5所示,包括:
[0075]接收模块,用于接收客户端发来的订阅请求,与所述客户端建立会话;还用于接收所述客户端发来的修改请求,其中所述修改请求中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作;[0076]发送模块,用于在所述接收模块接收到所述修改请求后,向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带所述更新操作指示信息。
[0077]较佳地,
[0078]所述发送模块用于向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,具体包括:
[0079]所述发送模块用于使用所述其他客户端在用户登录时与所述服务器间建立的会话发送所述变更通知消息。
[0080]较佳地,
[0081]所述变更通知消息为差异的XCAP文档(XCAP Diff Document)格式的初始会话协议通知(SIP NOTIFY)消息。
[0082]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0083]以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的
【发明内容】
,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种在多个客户端间同步信息的方法,包括: 各客户端在用户登录时向服务器发送订阅请求,建立会话; 与所述服务器已建立会话的第一客户端在检测到本地的需与其他使用相同账号登陆的客户端同步的列表中发生记录更新时,向所述服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作; 所述服务器在收到所述修改请求后,向与所述第一客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带上述更新操作指示信息; 收到所述变更通知消息的客户端根据其中携带的更新操作指示信息对本地的指定列表进行更新。
2.如权利要求1所述的方法,其特征在于: 当更新操作为新增记录时,所述更新操作指示信息中包括:增加标识及新增的记录; 当更新操作为删除记录时,所述更新操作指示信息中包括删除标识及删除前的记录。
3.如权利要求1或2所述的方法,其特征在于: 所述修改请求采用可扩展标记语言配置访问协议(XCAP)格式。
4.如权利要求1所述的方法,其特征在于: 所述向与所述第一客户端使用相同账号登陆的其他客户端发送变更通知消息,具体包括: 所述服务器使用所述其他客户端在用户登录时与所述服务器间建立的会话发送所述变更通知消息。
5.如权利要求1或4所述的方法,其特征在于: 所述变更通知消息为差异的XCAP文档(XCAP Diff Document)格式的初始会话协议通知(SIP NOTIFY)消息。
6.一种客户端,多个使用相同账号登陆服务器的客户端上需要同步指定的列表,该客户端包括: 请求发送模块,用于在用户登录时向所述服务器发送订阅请求,与所述服务器建立会话;还用于在检测到本客户端的所述列表中发生记录更新时,向所述服务器发送修改请求,其中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作; 更新模块,用于在收到服务器发来的变更通知消息后,根据其中携带的更新操作指示信息对本地的指定列表进行更新。
7.如权利要求6所述的客户端,其特征在于: 当更新操作为新增记录时,所述请求发送模块发送的更新操作指示信息中包括:增加标识及新增的记录; 当更新操作为删除记录时,所述请求发送模块发送的更新操作指示信息中包括删除标识及删除前的记录。
8.如权利要求6所述的客户端,其特征在于: 所述修改请求采用可扩展标记语言配置访问协议(XCAP)格式。
9.一种服务器,应用于客户端/服务器架构系统中,包括: 接收模块,用于接收客户端发来的订阅请求,与所述客户端建立会话;还用于接收所述客户端发来的修改请求,其中所述修改请求中至少携带更新操作指示信息,用于指示其他客户端按照本信息进行相应的更新操作; 发送模块,用于在所述接收模块接收到所述修改请求后,向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,其中携带所述更新操作指示信息。
10.如权利要求9所述的服务器,其特征在于: 所述发送模块用于向与所述客户端使用相同账号登陆的其他客户端发送变更通知消息,具体包括: 所述发送模块用于使用所述其他客户端在用户登录时与所述服务器间建立的会话发送所述变更通知消息。
11.如权利要求9或10所述的服务器,其特征在于: 所述变更通知消息为差异的XCAP文档(XCAP Diff Document)格式的初始会话协议通知(SIP NOTIFY)消息。
【文档编号】H04L29/08GK103491055SQ201210191904
【公开日】2014年1月1日 申请日期:2012年6月12日 优先权日:2012年6月12日
【发明者】姜济军, 张少林, 杜立文, 符伟松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1