CN102882762A - 一种在多页面间同步聊天状态信息的方法及系统 - Google Patents
一种在多页面间同步聊天状态信息的方法及系统 Download PDFInfo
- Publication number
- CN102882762A CN102882762A CN 201110192533 CN201110192533A CN102882762A CN 102882762 A CN102882762 A CN 102882762A CN 201110192533 CN201110192533 CN 201110192533 CN 201110192533 A CN201110192533 A CN 201110192533A CN 102882762 A CN102882762 A CN 102882762A
- Authority
- CN
- China
- Prior art keywords
- chat
- state information
- page
- chat state
- source
- 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.)
- Granted
Links
Images
Abstract
本发明公开了在多页面间同步聊天状态信息的方法。当聊天状态数据改变,更新对应的来源ID的Cookie中存储的聊天状态信息;根据更新的聊天状态信息更新该来源ID中除第一页面外的页面展示并输出;根据接收的用户身份信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向该来源ID所在的客户端发送,将更新的聊天状态信息向来源ID列表中除该来源ID外的来源ID所在的各客户端发送;接收更新的聊天状态信息版本号,更新Cookie存储的聊天状态信息版本号;接收更新的聊天状态信息,更新各页面展示的聊天状态信息以及Cookie存储区存储的聊天状态信息。本发明可以提升用户即时通信操作平滑度。
Description
技术领域
本发明涉及即时通讯(IM,Instant Messaging)技术,特别涉及一种在多页面间同步聊天状态信息的方法及系统。
背景技术
随着计算机网络技术的发展,通过点对点的技术来实现互联网上的即时沟通的IM工具软件应用越来越普遍,IM工具软件已经被大多数的用户所接受并成为用户日常生活、工作的交流与沟通中必不可少的一部分。
随着用户越来越多的利用IM工具软件进行日常的交流与沟通,用户对IM工具软件的易用性以及个性化服务等方面提出了越来越高的要求。例如,在IM工具软件的网页聊天中,用户经常会在嵌有网页聊天的多个页面上进行切换浏览,举例来说,用户在页面A(第一页面)中打开了与好友X的聊天窗口,并通过该聊天窗口向好友X进行聊天操作(如发送了一条聊天信息)后,可能会跳转切换到页面B(第二页面)继续浏览其他内容,在接收到来自好友X的聊天信息时,页面A及页面B均会显示用户收到该聊天信息,接着,用户在页面B中重新建立与好友X的聊天窗口,基于接收的该聊天信息在页面B中的聊天窗口回复好友X,然后可以进行跳转切换到其他页面的操作。
由上述可见,现有的在多页面间进行即时通信的方法,在切换后的页面B继续进行与切换前的页面(页面A)的好友的即时通信时,需要在页面B重新建立与好友的聊天窗口,且用户在页面A中和多个好友聊天后聊天窗口打开的状态及切换至页面B前的聊天信息的状态,也没有同步在页面B新建的聊天窗口中并显示,即在旧页面的操作在新页面中因为无法展现而被打断,在新页面需要重做相关操作,例如,用户需要重新建立与好友X的聊天窗口,并默记切换至页面A与好友的聊天信息,才能继续聊天,如果忘记切换至页面A前的聊天信息,还需进行切换以获知,使得切换前的页面中的网页聊天状态信息并没有同步到切换后的页面中,导致用户的即时通信操作不平滑、且用户操作较为繁琐,降低了用户即时通信的业务体验,增加了用户网页聊天的门槛。
发明内容
有鉴于此,本发明的主要目的在于提出一种在多页面间同步聊天状态信息的方法,降低用户操作复杂度、提升用户即时通信操作平滑度、提高用户体验。
本发明的另一目的在于提出一种在多页面间同步聊天状态信息的系统,降低用户操作复杂度、提升用户即时通信操作平滑度、提高用户体验。
为达到上述目的,本发明提供了一种在多页面间同步聊天状态信息的方法,该方法包括:
确定第一页面展示的聊天状态数据发生改变,更新第一页面对应的来源标识ID的信息记录程序存储区中存储的聊天状态信息;
根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据,并携带用户身份信息,将更新的聊天状态信息上传至聊天状态服务器;
根据接收的用户身份信息及更新的聊天状态信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送;
接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息。
在所述确定第一页面展示的聊天状态数据发生改变之前,进一步包括:
接收到跳转页面指令,客户端判断该跳转页面所在的来源ID对应的信息记录程序存储区中是否包含聊天状态信息;
如果包含,根据存储在信息记录程序存储区的聊天状态数据信息,更新跳转页面展示;
如果不包含,则携带当前用户身份信息,向聊天状态服务器请求获取聊天状态信息;聊天状态服务器添加该用户身份的当前来源ID信息,下发来源ID、聊天状态信息版本号和聊天状态数据信息;客户端获取来源ID、聊天状态信息版本号和聊天状态数据信息,更新信息记录程序存储区及跳转页面展示。
确定第一页面展示的聊天状态数据发生改变具体包括:
如果监测到用户在第一页面聊天窗口向好友发送聊天信息或接收到好友发送来的聊天信息,或者,监测到用户从第一页面聊天窗口切换至第二页面聊天窗口,则确定第一页面展示的聊天状态数据发生了改变。
对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新具体包括:
聊天状态服务器根据接收的聊天状态更新数据更新存储的聊天状态数据,并将当前存储的聊天状态信息版本号进行累加作为更新的聊天状态信息版本号;
如果确定上传更新的聊天状态信息的来源ID不在存储的来源ID列表中,进行相应添加。
所述更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息具体包括:
来源ID列表中对应的页面收到来自来源ID的更新的聊天状态信息;
判断接收的原聊天状态信息版本号是否和第一页面的聊天状态信息版本号一致;
如果是,更新信息记录程序存储区的聊天状态信息版本号及聊天状态数据,更新第一页面展现;
如果不是,向聊天状态服务器请求聊天状态数据,页面获得来源ID、聊天状态信息版本号和聊天状态数据信息,更新信息记录程序存储区及页面展示。
所述来源ID为服务端下发,所述聊天状态数据包括好友聊天窗口的排列顺序、好友聊天窗口的当前状态及预定时间内联系的好友聊天信息。
所述客户端上传的更新的聊天状态信息包括来源ID、原聊天状态信息版本号以及聊天状态更新数据。
所述聊天状态更新数据包含从原聊天状态到新聊天状态过程所经历的操作、或者,从原聊天状态到新聊天状态过程所经历的操作以及原聊天状态前所经历的操作。
一种在多页面间同步聊天状态信息的系统,该系统包括:客户端以及聊天状态服务器,其中,
客户端,用于在第一页面展示的聊天状态数据发生改变后,更新第一页面对应的来源标识ID的信息记录程序存储区中存储的聊天状态信息,并根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据;将携带用户身份信息的更新的聊天状态信息输出至聊天状态服务器;接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息;
聊天状态服务器,用于在接收到客户端上传的更新的聊天状态信息后,根据上传客户端的用户身份信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送。
由上述的技术方案可见,本发明提供的一种在多页面间同步聊天状态信息的方法及系统,确定第一页面展示的聊天状态数据发生改变,更新第一页面对应的来源ID的Cookie存储区中存储的聊天状态信息;根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据,并携带用户身份信息,将更新的聊天状态信息输出至聊天状态服务器;根据接收的用户身份信息及更新的聊天状态信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送;接收下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及Cookie存储区存储的聊天状态信息。这样,用户进行网页聊天并在多个页面切换浏览时,不需要在第一页面重新建立与好友的聊天窗口,且用户在前一页面中和多个好友聊天后聊天窗口打开的状态及聊天信息,可以实时同步在第一页面中并显示,使得每个页面的状态都能实时同步到其他页面,从而实现网页聊天用户在不同页面上的聊天状态的同步,使用户在不同嵌有聊天页面间浏览及进行聊天,获得一致的聊天体验,降低了用户操作复杂度、提升了用户即时通信操作平滑度。
附图说明
图1为本发明实施例在多页面间同步聊天状态信息的系统结构示意图。
图2为本发明实施例在多页面间同步聊天状态信息的方法流程示意图。
图3为跳转新页面时同步聊天状态信息的方法流程示意图。
图4为客户端与聊天状态服务器进行交互执行同步的方法流程示意图。
图5为来源ID列表中对应的页面更新聊天状态信息的方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图1为本发明实施例在多页面间同步聊天状态信息的系统结构示意图。参见图1,该系统包括:客户端以及聊天状态服务器,其中,
客户端,用于在第一页面展示的聊天状态数据发生改变后,更新第一页面对应的来源标识(ID,Identifier)的信息记录程序(Cookie)存储区中存储的聊天状态信息,并根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据;将携带用户身份信息的更新的聊天状态信息输出至聊天状态服务器,接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及该来源ID列表分别对应的Cookie存储区存储的聊天状态信息;
本发明实施例中,由于用户可能更倾向于在客户端的同一个浏览器上访问多个页面,因而,可以使用浏览器信息记录程序(Cookie)存储区来存储聊天状态信息,采用同一浏览器打开的各页面(第一页面、第二页面、...)中,各页面展示的对应聊天状态信息都存储在同一Cookie存储区,这样,由于在同一个浏览器中多个页面间的Cookie是可以互相访问的,则在同一个浏览器不同页面中展示的聊天状态数据的改变,可以无需通过聊天状态服务器进行同步处理并下发,直接通过Cookie存储区间访问即可实现聊天窗口聊天状态信息的同步。
Cookie存储区存储的聊天状态信息可以以列表的方式存储,包括来源ID、聊天状态信息版本号以及聊天状态数据,其结构如表1所示。
表1
来源ID | 聊天状态信息版本号 | 聊天状态数据 |
表1中,对于每个网页聊天的登录用户,聊天状态服务器均会预先下发一个唯一标识的来源ID,其组成一般为登录IP、浏览器信息等的加密串,同一浏览器包含的不同页面的来源ID相同,即对同一个浏览器的不同页面设置为相同的来源方(来源ID),不同的浏览器,分别对应不同的Cookie存储区;聊天状态信息版本号由聊天状态服务器分配并下发;聊天状态数据包括但不限于好友聊天窗口的排列顺序、好友聊天窗口的当前状态及预定时间内联系的好友聊天信息等,好友聊天窗口的当前状态可以包括好友聊天窗口是否展开、好友聊天窗口大小等信息。
客户端上传的更新的聊天状态信息中,包含来源ID、原聊天状态信息版本号以及聊天状态更新数据,即当用户操作聊天窗口后,需要向聊天状态服务器上传数据,用以表示已进行数据更新以便聊天状态服务器进行同步处理,其结构如表2所示。
表2
来源ID | 原聊天状态信息版本号 | 聊天状态更新数据 |
表2中,为了节省上传的数据流量开销,聊天状态更新数据可以只包含从原聊天状态到新聊天状态过程所经历的操作,即非全量聊天状态数据。当然,实际应用中,也可以包含从原聊天状态到新聊天状态过程所经历的操作以及原聊天状态前所经历的操作,即全量聊天状态数据。
聊天状态服务器,用于在接收到客户端上传的更新的聊天状态信息后,根据上传客户端的用户身份信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送。
本发明实施例中,聊天状态服务器用于存储所有用户身份的聊天状态信息,其结构如表3所示。
表3
表3中,聊天状态服务器存储的聊天状态信息以用户身份进行区分,包括聊天状态信息版本号、聊天状态数据及来源ID列表,其中,聊天状态数据与客户端Cookie存储区存储的聊天状态数据不同的是,聊天状态服务器中存储的聊天状态数据包括不同来源ID(来源ID列表)对应的Cookie存储区上传的聊天状态数据,来源ID列表中存储了该用户分别在多个页面上使用网页聊天的页面来源ID信息,这样,通过查询来源ID列表,可以将用户从某个来源ID(浏览器)上进行的聊天状态信息更新同步到其他所有不同的来源ID上。
对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新具体包括:
聊天状态服务器根据接收的聊天状态更新数据更新存储的聊天状态数据,并将当前存储的聊天状态信息版本号进行累加作为更新的聊天状态信息版本号;
如果确定上传更新的聊天状态信息的来源ID不在存储的来源ID列表中,进行相应添加。
图2为本发明实施例在多页面间同步聊天状态信息的方法流程示意图。参见图2,该流程包括:
步骤201,确定第一页面展示的聊天状态数据发生改变,更新第一页面对应的来源ID的Cookie存储区中存储的聊天状态信息;
本步骤中,客户端监测用户打开的第一页面聊天窗口中的聊天状态数据是否发生改变,或者,监测用户是否从第一页面聊天窗口切换至第二页面聊天窗口,例如,如果监测到用户在第一页面聊天窗口向好友发送聊天信息或接收到好友发送来的聊天信息,或者,监测到用户从第一页面聊天窗口切换至第二页面聊天窗口,则确定第一页面展示的聊天状态数据发生了改变,根据第一页面所在的来源ID信息,将向好友发送的聊天信息或接收到的好友发送来的聊天信息依照时间戳信息,依序存入该来源ID对应的Cookie存储区,即对Cookie存储区中存储的聊天状态信息进行更新,向好友发送的聊天信息或接收到好友发送来的聊天信息即为更新的聊天状态信息。
实际应用中,当用户从新的来源ID登陆时,可以请求聊天状态服务器进行聊天状态数据同步,下发来源ID、版本号及聊天状态信息。
当用户跳转新页面登入网页聊天时,此时,第一页面的聊天窗口还未创建、且第一页面的聊天状态数据未发生改变,为了避免重新建立与好友的聊天窗口以及获取切换至第一页面前的页面的聊天信息,在步骤201之前,可以执行跳转新页面时的同步网页聊天状态信息的流程。
图3为跳转新页面时同步聊天状态信息的方法流程示意图。参见图3,该流程包括:
步骤301,接收到跳转页面指令,客户端判断该跳转页面所在的来源ID对应的Cookie存储区中是否包含聊天状态信息,如果包含,执行步骤302,如果不包含,执行步骤303;
本步骤中,跳转页面指令可以是用户执行页面切换时自动触发客户端生成,如果Cookie存储区中未包含有聊天状态信息,表明该跳转页面对应的来源ID为新的来源ID,需要从聊天状态服务器获取相关信息。如果Cookie存储区中包含有聊天状态信息且未包含该跳转页面对应的聊天状态信息,表明该跳转页面为在同一来源ID中新打开的页面,可以从Cookie存储区进行同步,获取更新数据。
步骤302,根据存储在Cookie存储区的聊天状态数据信息,更新跳转页面展示,并结束流程;
本步骤中,将Cookie存储区存储的聊天状态数据信息读入到跳转页面的聊天窗口中进行展示,这样,实现了对跳转页面的聊天状态信息同步。
步骤303,携带当前用户身份信息向聊天状态服务器请求获取聊天状态信息;
步骤304,聊天状态服务器添加该用户身份的当前来源ID信息,下发来源ID、聊天状态信息版本号和聊天状态数据信息;
步骤305,客户端获取来源ID、聊天状态信息版本号和聊天状态数据信息,更新Cookie存储区及跳转页面展示。
步骤202,根据更新的聊天状态信息更新该来源ID中除第一页面外的其他页面展示的聊天状态数据,并输出至聊天状态服务器;
本步骤中,根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据,并将携带用户身份信息的更新的聊天状态信息输出至聊天状态服务器。
利用同一个浏览器中多个页面间的Cookie是可以互相访问的特性,使用浏览器Cookie存储区来存储在同一浏览器中打开的各页面展示的聊天状态信息,这样,在进行同一浏览器的不同页面的数据同步时,可以无需与聊天状态服务器交互,从而降低数据同步时延,减少用户数据同步流量开销,提高页面数据同步效率。对于在不同浏览器中打开的页面,由于不同浏览器对应的Cookie存储区之间不能交互,因而,本发明实施例中,通过将更新的聊天状态信息输出至聊天状态服务器,由聊天状态服务器进行不同浏览器间页面数据的同步。
步骤203,对存储的聊天状态信息进行更新,并将更新的聊天状态信息向相应的客户端发送;
本步骤中,根据接收的用户身份信息及更新的聊天状态信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送。
对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新具体包括:
聊天状态服务器根据接收的聊天状态更新数据更新存储的聊天状态数据,并将当前存储的聊天状态信息版本号进行累加作为更新的聊天状态信息版本号;
如果确定上传更新的聊天状态信息的来源ID不在存储的来源ID列表中,进行相应添加。
实际应用中,用户可能在不同的客户端使用同一用户身份登录,这样,前述的聊天状态服务器存储的聊天状态信息中,还进一步包括用户身份对应的不同客户端ID,聊天状态服务器在对存储的聊天状态信息进行更新后,将更新的聊天状态信息向用户身份对应的不同客户端发送。
步骤202和步骤203中,客户端与聊天状态服务器进行交互的流程如图4所示。
图4为客户端与聊天状态服务器进行交互执行同步的方法流程示意图。该流程包括:
步骤401,客户端上传包含聊天状态更新数据、用户身份以及来源ID的更新的聊天状态信息至聊天状态服务器;
步骤402,聊天状态服务器更新聊天状态信息版本号及聊天状态数据信息;
本步骤中,聊天状态服务器根据接收的用户身份,查询获取存储的该用户身份对应的聊天状态信息,根据接收的原聊天状态信息版本号,更新存储的聊天状态信息版本号;根据接收的来源ID更新存储的来源ID以及来源ID列表;并根据接收的聊天状态更新数据更新存储的聊天状态数据。
对于用户聊天状态信息版本号,聊天状态服务器是按收到更新的聊天状态信息的时间顺序自增版本号ID。举例来说,假设有三个来源浏览器,来源ID分别为0、1、2,此时对应的页面处于同步状态(都为版本20),用户先后在三个来源ID对应的页面进行聊天窗口操作,则聊天状态服务器按时间顺序接收到的同步数据如表4所示。
表4
来源ID | 原聊天状态信息版本号 | 聊天状态更新数据 |
0 | 20 | 数据0 |
1 | 20 | 数据1 |
2 | 20 | 数据2 |
此时,聊天状态服务器根据接收的信息依序更改聊天状态信息版本号如表5所示。
表5
来源ID | 原聊天状态信息版本号 | 服务器返回版本号 | 聊天状态更新数据 |
0 | 20 | 21 | 数据0 |
1 | 21 | 22 | 数据1 |
2 | 22 | 23 | 数据2 |
表5中,对于来源ID为1的页面,原聊天状态信息版本号为20,在上传聊天状态更新数据后,聊天状态服务器根据已为来源ID为0的页面更新的聊天状态信息版本号21,返回最新版本号为22。由于聊天状态服务器的异步性和当前网络状态的差异,此时来源ID为1的页面可能仍未收到来自来源ID为0的页面和来源ID为2的页面的更新信息,则此时来源ID为1的页面在更新Coolie存储区的聊天状态信息后,收到来源ID为0的页面和来源ID为2的页面的状态更新数据如表6所示。
表6
来源ID | 原聊天状态信息版本号 | 新聊天状态信息版本号 | 聊天状态更新数据 |
0 | 20 | 21 | 数据0 |
2 | 22 | 23 | 数据2 |
表6中,ID为1的页面根据Coolie存储区的聊天状态信息版本号(22),通过比较接收的信息中包含的新聊天状态信息版本号获知,低于当前来源版本号(版本22)的来源ID为0的页面(版本21)的数据是在当前状态之前更新的数据,而高于当前来源版本号的来源ID为2的页面(版本23)的数据为此窗口状态之后更新的数据,则依聊天状态信息版本号对应的时间顺序即可同步ID为1的页面窗口状态的展示。
由于聊天状态服务器只下发了状态更新数据,用户不需要从聊天状态服务器请求全量状态数据,即可完成状态同步更新。而当出现异常情况(如网络连接中断)导致第一页面版本号低于状态更新数据的原版本号,页面也可主动上传请求获取全量状态数据信息,以保持页面信息的同步。
步骤403,聊天状态服务器下发聊天状态更新数据给该用户身份的所有其他来源ID。
步骤204,接收下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;
本步骤中,上传更新的聊天状态信息的来源ID所在的客户端接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号。
如前所述,在确定第一页面的聊天状态数据发生改变后,已对第一页面所在来源ID的Cookie存储区中存储的聊天状态信息的聊天状态数据进行了更新,而聊天状态信息中的聊天状态信息版本号需要由聊天状态服务器进行分配、更新,因而,本步骤中,在聊天状态服务器更新聊天状态信息版本号后,只需要更新该来源ID对应的Cookie存储区存储的聊天状态信息中包含的聊天状态信息版本号即可。
步骤205,接收下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息。
本步骤中,除上传更新的聊天状态信息的来源ID外的其它来源ID所在的各客户端接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息。
当前用户身份的来源ID列表中对应的页面更新聊天状态信息的方法流程如图5所示。
图5为来源ID列表中对应的页面更新聊天状态信息的方法流程示意图。该流程包括:
步骤501,来源ID列表中对应的页面收到来自来源ID的更新的聊天状态信息;
本步骤中,更新的聊天状态信息包含原聊天状态信息版本号、新聊天状态信息版本号及聊天状态更新数据。
步骤502,判断接收的原聊天状态信息版本号是否和第一页面的聊天状态信息版本号一致?如果是,执行步骤503,否则,执行步骤504;
步骤503,更新Cookie存储区的聊天状态信息版本号及聊天状态数据,更新第一页面展现,结束该流程;
本步骤中,采用接收的新聊天状态信息版本号替换Cookie存储区的聊天状态信息版本号,将聊天状态更新数据按照时间戳置于Cookie存储区的聊天状态数据中。
步骤504,页面向聊天状态服务器请求全量聊天状态数据;
本步骤中,全量聊天状态数据即聊天状态服务器存储的该用户身份的聊天状态数据。
步骤505,页面获得来源ID、聊天状态信息版本号和聊天状态数据信息,更新Cookie存储区及页面展示。
由上述可见,本发明实施例的在多页面间同步聊天状态信息的方法及系统,确定第一页面展示的聊天状态数据发生改变,更新第一页面对应的来源ID的Cookie存储区中存储的聊天状态信息;根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据,并将携带用户身份信息的更新的聊天状态信息输出至聊天状态服务器;根据接收的用户身份信息及更新的聊天状态信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送;接收下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及Cookie存储区存储的聊天状态信息。这样,用户进行网页聊天并在多个页面切换浏览时,不需要在第一页面重新建立与好友的聊天窗口,且用户在前一页面中和多个好友聊天后聊天窗口打开的状态及聊天信息,可以实时同步在第一页面中并显示,使得每个页面的状态都能实时同步到其他页面,即在页面A中的聊天窗口及好友收发消息等状态可以实时同步到页面B中显示,可以让用户在多个页面切换聊天乃至多点登陆聊天的过程中,可以实现网页聊天用户在不同页面上的聊天状态的同步,实现聊天窗口的状态同步,使用户在不同嵌有聊天页面间浏览及进行聊天,获得一致的聊天体验,降低了用户操作复杂度、提升了用户即时通信操作平滑度;进一步地,用户还可以设置在下一次登录时,恢复上一次登录关闭前的聊天窗口状态,完善用户在每次登录时的聊天体验。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种在多页面间同步聊天状态信息的方法,其特征在于,该方法包括:
确定第一页面展示的聊天状态数据发生改变,更新第一页面对应的来源标识ID的信息记录程序存储区中存储的聊天状态信息;
根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据,并将携带用户身份信息的更新的聊天状态信息上传至聊天状态服务器;
根据接收的更新的聊天状态信息,对存储的该用户身份信息对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的其它来源ID所在的各客户端发送;
接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息。
2.如权利要求1所述的方法,其特征在于,在所述确定第一页面展示的聊天状态数据发生改变之前,进一步包括:
接收到跳转页面指令,客户端判断该跳转页面所在的来源ID对应的信息记录程序存储区中是否包含聊天状态信息;
如果包含,根据存储在信息记录程序存储区的聊天状态数据信息,更新跳转页面展示;
如果不包含,则携带当前用户身份信息,向聊天状态服务器请求获取聊天状态信息;聊天状态服务器添加该用户身份的当前来源ID信息,下发来源ID、聊天状态信息版本号和聊天状态数据信息;客户端获取来源ID、聊天状态信息版本号和聊天状态数据信息,更新信息记录程序存储区及跳转页面展示。
3.如权利要求2所述的方法,其特征在于,确定第一页面展示的聊天状态数据发生改变具体包括:
如果监测到用户在第一页面聊天窗口向好友发送聊天信息或接收到好友发送来的聊天信息,或者,监测到用户从第一页面聊天窗口切换至第二页面聊天窗口,则确定第一页面展示的聊天状态数据发生了改变。
4.如权利要求3所述的方法,其特征在于,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新具体包括:
聊天状态服务器根据接收的聊天状态更新数据更新存储的聊天状态数据,并将当前存储的聊天状态信息版本号进行累加作为更新的聊天状态信息版本号;
如果确定上传更新的聊天状态信息的来源ID不在存储的来源ID列表中,进行相应添加。
5.如权利要求1所述的方法,其特征在于,所述更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息具体包括:
来源ID列表中对应的页面收到来自来源ID的更新的聊天状态信息;
判断接收的原聊天状态信息版本号是否和第一页面的聊天状态信息版本号一致;
如果是,更新信息记录程序存储区的聊天状态信息版本号及聊天状态数据,更新第一页面展现;
如果不是,向聊天状态服务器请求聊天状态数据,页面获得来源ID、聊天状态信息版本号和聊天状态数据信息,更新信息记录程序存储区及页面展示。
6.如权利要求1所述的方法,其特征在于,所述来源ID为服务端下发,所述聊天状态数据包括好友聊天窗口的排列顺序、好友聊天窗口的当前状态及预定时间内联系的好友聊天信息。
7.如权利要求1所述的方法,其特征在于,所述客户端上传的更新的聊天状态信息包括来源ID、原聊天状态信息版本号以及聊天状态更新数据。
8.如权利要求7所述的方法,其特征在于,所述聊天状态更新数据包含从原聊天状态到新聊天状态过程所经历的操作;
或者,从原聊天状态到新聊天状态过程所经历的操作以及原聊天状态前所经历的操作。
9.一种在多页面间同步聊天状态信息的系统,其特征在于,该系统包括:客户端以及聊天状态服务器,其中,
客户端,用于在第一页面展示的聊天状态数据发生改变后,更新第一页面对应的来源标识ID的信息记录程序存储区中存储的聊天状态信息,并根据更新的聊天状态信息更新该来源ID中包含的除第一页面外的其他页面展示的聊天状态数据;将携带用户身份信息的更新的聊天状态信息输出至聊天状态服务器;接收聊天状态服务器下发的更新的聊天状态信息版本号,更新信息记录程序存储区存储的聊天状态信息版本号;接收聊天状态服务器下发的更新的聊天状态信息,更新各页面展示的聊天状态信息以及信息记录程序存储区存储的聊天状态信息;
聊天状态服务器,用于在接收到客户端上传的更新的聊天状态信息后,根据上传客户端的用户身份信息,对存储的该用户身份对应的聊天状态信息中包含的聊天状态数据以及聊天状态信息版本号进行更新,并将更新的聊天状态信息版本号向上传更新的聊天状态信息的来源ID所在的客户端发送,将更新的聊天状态信息向预先存储的来源ID列表中除上传更新的聊天状态信息的来源ID外的来源ID所在的各客户端发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110192533.0A CN102882762B (zh) | 2011-07-11 | 2011-07-11 | 一种在多页面间同步聊天状态信息的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110192533.0A CN102882762B (zh) | 2011-07-11 | 2011-07-11 | 一种在多页面间同步聊天状态信息的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102882762A true CN102882762A (zh) | 2013-01-16 |
CN102882762B CN102882762B (zh) | 2016-09-07 |
Family
ID=47483914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110192533.0A Active CN102882762B (zh) | 2011-07-11 | 2011-07-11 | 一种在多页面间同步聊天状态信息的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102882762B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401925A (zh) * | 2013-07-31 | 2013-11-20 | 五八同城信息技术有限公司 | 一种以单连接方式同步网站的多个网页的方法 |
CN103558836A (zh) * | 2013-11-19 | 2014-02-05 | 海信集团有限公司 | 设备状态同步控制方法和家电设备 |
CN103595618A (zh) * | 2013-11-08 | 2014-02-19 | 北京奇虎科技有限公司 | 一种用于保持即时通信会话连续性的方法、服务器及系统 |
CN104038552A (zh) * | 2014-06-20 | 2014-09-10 | 北京金山安全软件有限公司 | 一种信息更新方法及装置 |
CN104320328A (zh) * | 2014-10-28 | 2015-01-28 | 中国联合网络通信集团有限公司 | 一种消息同步方法、终端和服务器 |
WO2016008337A1 (en) * | 2014-07-16 | 2016-01-21 | Tencent Technology (Shenzhen) Company Limited | Method and system for synchronizing instant messages between multiple clients |
CN105337926A (zh) * | 2014-06-18 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种多端联动方法及相关设备与系统 |
CN105468235A (zh) * | 2015-11-20 | 2016-04-06 | 华为技术有限公司 | 用户对话窗口的管理方法、装置及终端 |
CN107733781A (zh) * | 2017-09-19 | 2018-02-23 | 上海掌门科技有限公司 | 一种即时通信的处理方法、设备和计算机存储介质 |
CN107943441A (zh) * | 2017-11-17 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种多窗口数据同步方法和装置 |
CN108632130A (zh) * | 2017-03-16 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 多终端聊天输入转移的方法、装置、电子设备和存储介质 |
CN109086116A (zh) * | 2018-08-20 | 2018-12-25 | 杭州安恒信息技术股份有限公司 | 基于辅助功能服务的通讯工具言论实时监测方法及装置 |
CN109450777A (zh) * | 2018-12-28 | 2019-03-08 | 苏州开心盒子软件有限公司 | 会话信息提取方法、装置、设备和介质 |
CN109543122A (zh) * | 2018-11-28 | 2019-03-29 | 网易(杭州)网络有限公司 | 内容同步方法、装置、存储介质及电子装置 |
CN110233744A (zh) * | 2019-06-12 | 2019-09-13 | 广东佳米科技有限公司 | 一种会议状态显示方法、会议状态更新方法及装置 |
WO2019228034A1 (zh) * | 2018-05-30 | 2019-12-05 | 杭州海康威视数字技术股份有限公司 | 一种数据同步方法及装置 |
CN111478782A (zh) * | 2020-04-09 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 一种聊天室控制方法、服务器、电子设备和存储介质 |
CN112015409A (zh) * | 2020-07-16 | 2020-12-01 | 深圳市大富网络技术有限公司 | 网页编辑数据同步方法、装置、系统及计算机存储介质 |
CN112148744A (zh) * | 2020-09-22 | 2020-12-29 | 北京字节跳动网络技术有限公司 | 页面展示方法、装置、电子设备和计算机可读介质 |
CN113595871A (zh) * | 2021-06-30 | 2021-11-02 | 深圳市广和通无线股份有限公司 | 账号登录方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785708B1 (en) * | 1996-10-30 | 2004-08-31 | Avaya Inc. | Method and apparatus for synchronizing browse and chat functions on a computer network |
CN101188577B (zh) * | 2007-12-29 | 2010-12-15 | 腾讯科技(深圳)有限公司 | 多页面即时通讯方法和系统 |
CN101902411A (zh) * | 2009-06-01 | 2010-12-01 | 高维海 | 即时网站系统以及网站与即时通讯平台结合的方法 |
-
2011
- 2011-07-11 CN CN201110192533.0A patent/CN102882762B/zh active Active
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401925A (zh) * | 2013-07-31 | 2013-11-20 | 五八同城信息技术有限公司 | 一种以单连接方式同步网站的多个网页的方法 |
CN103595618A (zh) * | 2013-11-08 | 2014-02-19 | 北京奇虎科技有限公司 | 一种用于保持即时通信会话连续性的方法、服务器及系统 |
CN103595618B (zh) * | 2013-11-08 | 2016-12-14 | 北京奇立软件技术有限公司 | 一种用于保持即时通信会话连续性的方法、服务器及系统 |
CN103558836A (zh) * | 2013-11-19 | 2014-02-05 | 海信集团有限公司 | 设备状态同步控制方法和家电设备 |
CN103558836B (zh) * | 2013-11-19 | 2016-03-30 | 海信集团有限公司 | 设备状态同步控制方法和家电设备 |
CN105337926A (zh) * | 2014-06-18 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种多端联动方法及相关设备与系统 |
CN104038552A (zh) * | 2014-06-20 | 2014-09-10 | 北京金山安全软件有限公司 | 一种信息更新方法及装置 |
WO2016008337A1 (en) * | 2014-07-16 | 2016-01-21 | Tencent Technology (Shenzhen) Company Limited | Method and system for synchronizing instant messages between multiple clients |
US10911385B2 (en) | 2014-07-16 | 2021-02-02 | Tencent Technology (Shenzhen) Company Limited | Method and system for synchronizing instant messages between multiple clients |
US11848903B2 (en) | 2014-07-16 | 2023-12-19 | Tencent Technology (Shenzhen) Company Limited | Method and system for synchronizing instant messages between multiple clients |
CN104320328A (zh) * | 2014-10-28 | 2015-01-28 | 中国联合网络通信集团有限公司 | 一种消息同步方法、终端和服务器 |
CN105468235A (zh) * | 2015-11-20 | 2016-04-06 | 华为技术有限公司 | 用户对话窗口的管理方法、装置及终端 |
CN108632130B (zh) * | 2017-03-16 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 多终端聊天输入转移的方法、装置、电子设备和存储介质 |
CN108632130A (zh) * | 2017-03-16 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 多终端聊天输入转移的方法、装置、电子设备和存储介质 |
CN107733781A (zh) * | 2017-09-19 | 2018-02-23 | 上海掌门科技有限公司 | 一种即时通信的处理方法、设备和计算机存储介质 |
CN107943441A (zh) * | 2017-11-17 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种多窗口数据同步方法和装置 |
WO2019228034A1 (zh) * | 2018-05-30 | 2019-12-05 | 杭州海康威视数字技术股份有限公司 | 一种数据同步方法及装置 |
CN110557412A (zh) * | 2018-05-30 | 2019-12-10 | 杭州海康威视数字技术股份有限公司 | 一种数据同步方法及装置 |
CN109086116A (zh) * | 2018-08-20 | 2018-12-25 | 杭州安恒信息技术股份有限公司 | 基于辅助功能服务的通讯工具言论实时监测方法及装置 |
CN109086116B (zh) * | 2018-08-20 | 2021-07-30 | 杭州安恒信息技术股份有限公司 | 基于辅助功能服务的通讯工具言论实时监测方法及装置 |
CN109543122A (zh) * | 2018-11-28 | 2019-03-29 | 网易(杭州)网络有限公司 | 内容同步方法、装置、存储介质及电子装置 |
CN109543122B (zh) * | 2018-11-28 | 2021-11-23 | 网易(杭州)网络有限公司 | 内容同步方法、装置、存储介质及电子装置 |
CN109450777A (zh) * | 2018-12-28 | 2019-03-08 | 苏州开心盒子软件有限公司 | 会话信息提取方法、装置、设备和介质 |
CN109450777B (zh) * | 2018-12-28 | 2021-09-17 | 苏州开心盒子软件有限公司 | 会话信息提取方法、装置、设备和介质 |
CN110233744B (zh) * | 2019-06-12 | 2021-06-01 | 广东佳米科技有限公司 | 一种会议状态显示方法、会议状态更新方法及装置 |
CN110233744A (zh) * | 2019-06-12 | 2019-09-13 | 广东佳米科技有限公司 | 一种会议状态显示方法、会议状态更新方法及装置 |
CN111478782A (zh) * | 2020-04-09 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 一种聊天室控制方法、服务器、电子设备和存储介质 |
CN112015409A (zh) * | 2020-07-16 | 2020-12-01 | 深圳市大富网络技术有限公司 | 网页编辑数据同步方法、装置、系统及计算机存储介质 |
CN112148744A (zh) * | 2020-09-22 | 2020-12-29 | 北京字节跳动网络技术有限公司 | 页面展示方法、装置、电子设备和计算机可读介质 |
CN113595871A (zh) * | 2021-06-30 | 2021-11-02 | 深圳市广和通无线股份有限公司 | 账号登录方法、装置、计算机设备和存储介质 |
CN113595871B (zh) * | 2021-06-30 | 2022-10-14 | 深圳市广和通无线股份有限公司 | 账号登录方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102882762B (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102882762A (zh) | 一种在多页面间同步聊天状态信息的方法及系统 | |
CN103875200B (zh) | 用于在广播网络中向接收机设备功率高效地递送社交网络更新的系统和装置 | |
US9369520B2 (en) | Enhancement of upload and/or download performance based on client and/or server feedback information | |
CN103491055A (zh) | 一种在多个客户端间同步信息的方法、客户端和服务器 | |
CN102638358A (zh) | 一种针对群组消息进行有限屏蔽的方法、客户端及系统 | |
CN105471716A (zh) | 实现跨客户端消息同步的方法、用户设备及服务器 | |
CN102891873A (zh) | 一种存储日志数据的方法及日志数据存储系统 | |
CN104363247A (zh) | 一种具有免节省应用的节省流量方法及装置 | |
CN101232467A (zh) | 一种实时传讯业务中应用时间戳获取信息的方法 | |
CN106713497A (zh) | 一种服务器端消息推送装置、方法及消息推送系统 | |
CN105100832A (zh) | 一种多媒体资源的推送方法及装置 | |
CN107528767B (zh) | 会话的处理方法和装置 | |
CN103916424B (zh) | 一种管控应用程序心跳包的方法、通信终端和通信网络 | |
CN111277483B (zh) | 一种多端消息的同步方法、服务器及可存储介质 | |
CN103763149A (zh) | 网络用户数的实时统计方法 | |
CN103095748B (zh) | 一种发送好友更新微博消息的方法、服务器和系统 | |
CN104506330B (zh) | 一种消息同步方法和系统 | |
EP3229413A1 (en) | Cross-domain cooperative method, cooperative device and control device for network as a service business | |
CN103685357A (zh) | 一种账号多开消息处理方法及系统 | |
CN105187554A (zh) | 服务器性能监控方法及系统 | |
CN107634975A (zh) | 一种数据同步方法、设备和系统 | |
CN108055199A (zh) | 支持离线消息保存的移动推送方法及系统 | |
CN100499637C (zh) | 一种通讯系统中获取信息的方法 | |
CN109600423A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN114222086A (zh) | 音视频码流的调度方法、系统、介质及电子装置 |
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 |