一种用户关系链共享的方法和系统技术领域
本发明涉及计算机技术领域,特别是指一种用户关系链共享的方法和系统。
背景技术
即时通信(IM,Instant Messaging)是一种可以让用户在网络上建立某种私
人聊天室的实时通讯服务,其核心价值是用户关系链。用户关系链,是用户关
系在即时通讯工具中的组织形式,从技术上讲是一种数据结构,包含了好友信
息、陌生人信息、黑名单等不同类别的用户关系,由于用户关系是一个环环相
扣的组织形式,所以称之为用户关系链,可以通过用户登录后的状态、即登录
态串联,也可以通过会话信息串联。当即时通信工具发展到一定阶段时,其作
为一个通信工具的意义就越来越弱化,而是一个有着很强关系粘性的平台。在
该平台上,第三方应用之间可以互联互通,如此,用户关系链就延伸到了服务
中。
目前,使用android系统的计算机上的即时通信工具就是一个很大的平台,
该即时通信平台中包含了一个强大的用户关系链,而第三方服务如何共享用户
关系链是个亟待解决的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种用户关系链共享的方法和系统,
在基于android系统的即时通信服务平台中,能够实现第三方服务共享用户关系
链。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种用户关系链共享的方法,该方法包括:
第三方服务根据获取的用户的登录态信息关联到即时通信服务;
第三方服务通过即时通信服务共享所述用户对应的用户关系链。
其中,所述第三方服务包括支持cookie机制的Web服务、不支持cookie
机制的Web服务和android服务。
所述第三方服务为所述支持cookie机制的Web服务时,所述获取用户的登
录态信息包括:
将用户的登录态信息存放到android进程空间的cookie管理器;
第三方服务被触发时,从所述cookie管理器中获取所述用户的登录态信息。
所述第三方服务为所述不支持cookie机制的Web服务时,所述获取用户的
登录态信息包括:
将用户的登录态信息以参数形式写入Web服务的统一资源定位符(URL);
第三方服务被触发时,访问所述URL获取所述用户的登录态信息。
所述第三方服务为所述android服务时,所述获取用户的登录态信息包括:
将用户的登录态信息以请求参数的形式保存到android服务的intent中;
第三方服务被触发时,第三方服务从所述intent中获取所述用户的登录态
信息。
所述第三方服务通过即时通信服务共享所述用户对应的用户关系链,包括:
所述第三方服务根据需要发送android的intent请求到即时通信服务提供的
接口,调用所述用户对应的用户关系链。
本发明还提供了一种用户关系链共享的系统,该系统包括:即时通信平台
和第三方服务模块;所述即时通信平台包括:即时通信模块、登录状态模块和
存储模块;其中:
所述登录状态模块,用于生成用户的登录态信息;
所述第三方服务模块在第三方服务被触发时,获取所述登录状态模块生成
的登录态信息;
所述第三方服务模块根据用户的登录态信息关联到所述即时通信模块;并
通过所述即时通信模块共享所述存储模块中的用户关系链。
其中,所述第三方服务包括支持cookie机制的Web服务、不支持cookie
机制的Web服务和android服务。
所述登录状态模块包括:信息生成子模块和信息获取子模块,其中:
所述信息生成子模块,用于在用户登录到所述即时通信模块时,生成用户
的登录态信息,并将用户的登录态通过登录广播信息进行发送;
所述信息获取子模块,用于接收所述登录广播信息,获取所述登录态信息。
所述登录状态模块还包括:信息处理子模块,用于当第三方服务为所述支
持cookie机制的Web服务时,将所述信息获取子模块获取的所述登录态信息存
放到android进程空间的cookie管理器;
相应的,所述第三方服务模块,还用于从cookie管理器中获取用户的登录
态信息。
所述登录状态模块还包括:信息处理子模块,用于当第三方服务为所述不
支持cookie机制的Web服务时,将所述信息获取子模块获取的所述登录态信息
以参数形式写入Web服务的url;
相应的,所述第三方服务模块,还用于访问所述url获取所述用户的登录
态信息。
所述登录状态模块还包括:信息处理子模块,用于当第三方服务为所述
android服务时,将所述信息获取子模块获取的所述登录态信息以请求参数的形
式保存到android服务的intent中;
相应的,所述第三方服务模块,还用于从所述intent中获取所述用户的登
录态信息。
所述即时通信模块通过自身的接口与所述存储模块相连;
所述第三方服务模块,还用于根据需要发送android的intent请求到所述即
时通信模块提供的接口,调用所述存储模块中所述用户对应的用户关系链。
本发明提供的用户关系链共享的方法和系统,通过用户登录态信息的共享,
使第三方服务和即时通信服务关联,如此,第三方服务便可通过即时通信服务
获取相关的用户关系链,实现了用户关系链的共享。
附图说明
图1为本发明用户关系链共享的方法流程示意图;
图2为本发明实施例一的用户关系链共享的流程示意图;
图3为本发明实施例二的用户关系链共享的流程示意图;
图4为本发明实施例三的用户关系链共享的流程示意图;
图5为本发明本发明用户关系链共享的系统结构示意图。
具体实施方式
在目前基于android系统的即时通信平台中,关联到即时通信服务的第三方
服务有很多,为了实现第三方服务之间的互联互通,需要实现第三方服务对即
时通信平台中用户关系链的共享,为此,本发明提供了一种用户关系链共享的
方法,如图1所示,包括:
步骤101,第三方服务根据获取的用户的登录态信息关联到即时通信服务。
第三方服务通过用户在即时通信服务的登录状态(即登录态信息)关联到
即时通信服务,第三方服务和即时通信服务实现了互通、即用户也登录到了第
三方服务。
登录态信息、即会话标识,该会话标识用以表示用户在即时通讯服务的合
法登录状态。
步骤102,第三方服务通过即时通信服务共享用户对应的用户关系链。
第三方服务和即时通信服务实现互通后,即可共享即时通信服务平台中保
存的该用户对应的用户关系链。
下面通过具体的实施例来说明本发明的方案。
本发明中,将关联到即时通信服务的第三方服务分为三类:支持cookie机
制(是http协议中定义的用于浏览器本地保存数据的一种机制)的Web服务、
不支持cookie机制的Web服务和android服务。
对于支持cookie机制的Web服务,用户关系链共享的流程图2所示,包括:
步骤201,生成用户的登录态信息,表示用户在即时通讯服务的合法登陆
状态。
步骤202,接收登录广播信息,获取用户的登录态信息。
生成用户的登录态信息后,通过登录广播信息将用户的登录态信息进行广
播。
步骤203,将用户的登录态信息存放到android进程空间的cookie管理器。
步骤204,第三方服务被触发时,第三方服务从cookie管理器中获取用户
的登录态信息,由此关联到即时通信服务、即用户也登录到了第三方服务。
步骤205,第三方服务关联到即时通信服务后,共享用户的用户关系链,
具体的:第三方服务可以通过访问即时通信服务提供的接口、即第三方服务发
送android的intent请求到对应接口,以调用用户对应的用户关系链。
当用户退出即时通信服务后,将用户的登录态从cookie管理器中删除,此
时第三方服务与即时通信服务的关联断开、即用户也从第三方服务退出。
对于不支持cookie机制的Web服务,用户关系链共享的流程图3所示,包
括:
步骤301,生成用户的登录态信息,表示用户在即时通讯服务的合法登陆
状态。
步骤302,接收登录广播信息,获取用户的登录态信息。
生成用户的登录态信息后,通过登录广播信息将用户的登录态信息进行广
播。
步骤303,将用户的登录态信息以参数形式写入Web服务的统一资源定位
符(URL,Uniform/Universal Resource Locator),这里,URL作为接口存储了
参数形式的登录态信息。
步骤304,第三方服务被触发时,第三方服务访问Web服务的URL即可获
取用户的登录态信息,由此关联到即时通信服务、即用户也登录到了第三方服
务。
步骤305,第三方服务关联到即时通信服务后,共享用户的用户关系链,
具体的:第三方服务可以通过访问即时通信服务提供的接口、即发送android
的intent请求到对应接口,以调用用户对应的用户关系链。
用户退出即时通信服务的同时也退出了第三方服务,此时第三方服务与即
时通信服务的关联断开。
对于android服务,其获取登录态信息需要依赖android软件开发工具包
(SDK,Software Development Kit)的支持,该实施例中,用户关系链共享的
流程图4所示,包括:
步骤401,生成用户的登录态信息,表示用户在即时通讯服务的合法登陆
状态。
步骤402,接收登录广播信息,获取用户的登录态信息。
生成用户的登录态信息后,通过登录广播信息将用户的登录态信息进行广
播。
步骤403,将用户的登录态信息以请求参数的形式保存到android服务的
intent中;这里,android服务的intent作为即时通信服务和第三方服务之间的
互通通道。
步骤404,第三方服务被触发时,第三方服务直接从intent中获取用户的登
录态信息,由此关联到即时通信服务、即用户也登录到了第三方服务。
步骤405,第三方服务关联到即时通信服务后,共享用户的用户关系链,
具体的:第三方服务可以通过访问即时通信服务提供的接口、即发送android
的intent请求到对应接口,以调用用户对应的用户关系链。
用户退出即时通信服务时,通过广播的方式通知到第三方服务,此时,用
户退出第三方服务。
为了实现上述共享方法,本发明提供了一种用户关系链共享的系统,如图
5所示,包括:即时通信平台10和第三方服务模块20;即时通信平台10包括:
即时通信模块11、登录状态模块12和存储模块13;其中:
登录状态模块12,用于生成用户的登录态信息;
第三方服务模块20在第三方服务被触发时,获取登录状态模块12生成的
登录态信息;
第三方服务模块20根据用户的登录态信息关联到即时通信模块11;并通
过即时通信模块11共享存储模块13中的用户关系链。
第三方服务包括支持cookie机制的Web服务、不支持cookie机制的Web
服务和android服务。
其中,登录状态模块12包括:信息生成子模块121和信息获取子模块122,
其中:
信息生成子模块121,用于在用户登录到即时通信模块11时,生成用户的
登录态信息,并将用户的登录态通过登录广播信息进行发送;
信息获取子模块122,用于接收登录广播信息,获取登录态信息。
登录状态模块12还包括:信息处理子模块123,用于当第三方服务为支持
cookie机制的Web服务时,将信息获取子模块122获取的登录态信息存放到
android进程空间的cookie管理器;
相应的,第三方服务模块20,还用于从cookie管理器中获取用户的登录态
信息。
信息处理子模块123,还用于当第三方服务为不支持cookie机制的Web服
务时,将信息获取子模块122获取的登录态信息以参数形式写入Web服务的url;
相应的,第三方服务模块20,还用于访问URL获取用户的登录态信息。
信息处理子模块123,还用于当第三方服务为android服务时,将信息获取
子模块122获取的登录态信息以请求参数的形式保存到android服务的intent中;
相应的,第三方服务模块20,还用于从intent中获取用户的登录态信息。
即时通信模块11通过自身的接口与存储模块13相连;
第三方服务模块20,还用于根据需要发送android的intent请求到即时通信
模块11提供的接口,调用存储模块13中用户对应的用户关系链。
基于该系统,以图2的实施例为例来说明各个模块在用户关系链共享中的
作用:
步骤201,当用户登录到即时通信模块11时,信息生成子模块121生成用
户的登录态信息,并通过登录广播信息发送。
步骤202,信息获取子模块122接收登录广播信息,获取用户的登录态信
息。
步骤203,该实施例中,第三方服务为信息获取子模块122,则信息处理子
模块123,将用户的登录态信息存放到android进程空间的cookie管理器。
步骤204,第三方服务被触发时,第三方服务模块20从cookie管理器中获
取用户的登录态信息,由此关联到即时通信模块11、即用户也登录到了第三方
服务。
步骤205,第三方服务模块20关联到即时通信模块11后,共享用户的用
户关系链,具体的:第三方服务模块20可以通过访问即时通信模块11提供的
接口、即发送android的intent请求到所述接口,以调用存储模块13中保存的
用户对应的用户关系链。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范
围。