发明内容
本发明主要解决的技术问题是提供一种在会话界面中展示用户信息的方法及装置,能够在传递信息时即时向其它用户展示信息传递者的预定身份。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种在会话界面中展示用户信息的方法,所述方法包括:在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;当接收到群组聊天消息时,向所述服务端发送获取消息发送者的图标标识的请求;根据所述服务端所返回的消息发送者的图标标识,在所述配置信息数据包中查找并获取对应的图标信息;在会话界面中显示收到的聊天信息,并在所述用户信息展示区域中展示对应的用户图标,所述用户图标表示所述用户的预定身份。
其中,所述配置信息数据包包括:图标名称、图标类型、展示顺序、各等级图标的统一资源定位符URL、提示信息以及图标跳转链接提示信息。
其中,所述用户信息包括用户头像和用户昵称,在所述用户信息展示区域中展示对应的用户图标是在所述用户昵称之后展示所述对应的用户图标。
其中,当从所述服务端的后台服务器获取用户图标的配置信息数据包失败时,则加载前一次所存储的用户图标的配置信息数据包。
为解决上述技术问题,本发明另一方面提供一种在会话界面中展示用户信息的方法,所述方法包括:响应客户端的请求,向所述客户端发送用户图标的配置信息数据包;接收所述客户端发送的获取消息发送者的图标标识的请求,并根据所述消息发送者的用户信息查找并获取到对应的图标标识;返回所述消息发送者的对应的所述图标标识至所述客户端,以供所述客户端根据返回的所述对应的图标标识,在其所获取的所述配置信息数据库中查找并获取对应的图标信息,所述用户图标表示所述用户的预定身份。
其中,所述方法还包括:管理用户图标的相关信息,生成并更新用户图标的配置信息数据包;管理并更新图标标识与用户之间的关系,并将最新的图标标识与用户之间关系的数据包存储至所述服务端的即时通讯服务器。
其中,所述生成并更新用户图标的配置信息数据包是生成可扩展标记语言XML的配置信息数据包,并更新至内容分发网络CDN,以供所述客户端获取最新的XML的配置信息数据包。
其中,所述最新的图标标识与用户之间关系的数据包在存储至所述即时通讯服务器的同时,进一步存储至所述后台端的用户关系链数据存储服务器中。
为解决上述技术问题,本发明又一方面提供一种在会话界面中展示用户信息的客户端装置,所述装置包括:获取模块,用于在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;发送模块,用于当接收到群组聊天消息时,向所述服务端发送获取消息发送者的图标标识的请求;查找模块,用于根据所述服务器所返回的消息发送者的图标标识,在所述配置信息数据包中查找并获取对应的图标信息;展示模块,用于在会话界面中显示收到的聊天信息,并在所述用户信息展示区域中展示对应的用户图标,所述用户图标表示所述用户的预定身份。
其中,所述配置信息数据包包括:图标名称、图标类型、展示顺序、各等级图标的统一资源定位符URL、提示信息以及图标跳转链接提示信息。
其中,所述用户信息包括用户头像和用户昵称,所述展示模块具体用于在所述用户昵称之后展示所述对应的用户图标。
其中,所述装置还包括:加载模块,用于当从所述服务端的后台服务器获取用户图标的配置信息数据包失败时,加载前一次所存储的用户图标的配置信息数据包。
为解决上述技术问题,本发明又一方面提供一种在会话界面中展示用户信息的服务端装置,所述装置包括:第一发送模块,用于响应客户端的请求,向所述客户端发送用户图标的配置信息数据包;接收模块,用于接收所述客户端发送的获取消息发送者的图标标识的请求;查找模块,用于根据所述消息发送者的用户信息查找并获取到对应的图标标识;第二发送模块,用于返回所述消息发送者的对应的所述图标标识至所述客户端,以供所述客户端根据返回的所述对应的图标标识,在其所获取的所述配置信息数据库中查找并获取对应的图标信息,所述用户图标表示所述用户的预定身份。
其中,所述装置还包括:第一管理模块,用于管理用户图标的相关信息;生成模块,用于生成用户图标的配置信息数据包;第一更新模块,用于更新用户图标的配置信息数据包;第二管理模块,用于管理图标标识与用户之间的关系;第二更新模块,用于更新图标标识与用户之间的关系;存储模块,用于将最新的图标标识与用户之间关系的数据包存储至所述服务端的即时通讯服务器。
其中,所述生成模块具体用于生成可扩展标记语言XML的配置信息数据包;所述第一更新模块具体用于更新用户图标的XML配置信息数据包至内容分发网络CDN,以供所述客户端获取最新的XML的配置信息数据包。
其中,所述存储模块具体用于最新的图标标识与用户之间关系的数据包在存储至所述即时通讯服务器的同时,进一步存储至所述后台端的用户关系链数据存储服务器中。
本发明的有益效果是:区别于现有技术的情况,本发明在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求;根据服务端所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息;在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标,用户图标表示用户的预定身份。由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时地了解、认识自己。
具体实施方式
下面先介绍一下本发明的应用环境和实际需求。
在社交活动中,通过周围认识的朋友、或者参加某个活动所认识的朋友,慢慢了解而知道相互之间有某个共同的爱好、兴趣、或同一工作单位等,然后通过通信工具或者沟通工具建立一个群,在一起互相传递信息,例如:登山群、骑自行车群、文学爱好群、红楼梦研究群、股票群、旅游群、围棋群、民族音乐爱好群等等。
在一个群里,例如:登山群,这登山群中,或许还有人爱好骑自行陈,有人还爱好文学,有人还爱好围棋等等,可是在短时间内,通常不太可能知道这么多的信息。而互相深入地了解则需要花费比较多的时间。
又例如:招募志愿者,如果不通过通信工具或者沟通工具,而在现场招募,需要专门的人招待前来应聘的人,还需要很多的时间,并且需要布置多处招募地点,投入的人力和财力都比较大,还不一定能够招到满意的志愿者。
本发明提供一种在会话界面中展示用户信息的方法及装置,方案是:在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求;根据服务端所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息;在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标,用户图标表示用户的预定身份。
由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时快速地了解、认识自己。
在深入介绍本发明之前,先以即时通讯系统为例来说明现有技术中通信工具或者沟通工具的实现架构。
现有即时通讯软件,主要架构分客户端(分为:信息发送端和信息接收端)与服务端两部分。其中服务端负责接收来自信息发送端的信息、将接收的信息转发给信息接收端,以及将接收的信息记录到数据库。信息传输的流程图,请参见图1。
S1:客户A登录后,通过信息发送端向客户B(或群组)发送信息1,实际操作是:该信息1首先发送给服务端,服务端转发信息1给信息接收端的客户B(或群组)。
S2:服务端接收来自客户A的信息1,转发该信息1给信息接收端的客户B(或群组),并把信息1记录到数据库。
S3:服务端把信息1发送给客户B(或群组),客户B(或群组)通过信息接收端接收信息1,或客户B(或群组)向服务端询问是否有属于他的信息,若有,则服务端把信息1发送给客户B(或群组)。
本发明是在上述系统架构中实现的。
下面结合附图和实施方式对本发明进行详细说明。
参阅图2,图2是本发明在会话界面中展示用户信息的方法一实施方式的流程图,本实施方式是客户端的流程图。
在本发明实施方式中,用户图标表示用户的预定身份,也就是说,不同的用户图标,代表用户不同的身份,用户图标所代表的身份是预先确定的,一个用户可以有多个不同的用户图标,因此这些不同的用户图标可以代表此用户不同的身份。例如:爱好登山的用户使用第一用户图标,爱好文学的用户使用第二用户图标,招募志愿者(儿童福利院)的用户使用第三用户图标等等;如果一个用户的图像中有第一图标,说明该用户是个登山爱好者,如果一个用户的图像中有第二图标和第三图标,说明该用户是个文学爱好者,且在招募儿童福利院的志愿者。
其中,用户图标可以是静态的,例如可以是14*14的png格式,或者jpg格式。
该方法包括如下步骤:
步骤S101:在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端。
用户图标的配置信息数据包包含用户图标配置的参数,例如:图标名称、图标类型、展示顺序、图标的等级、各等级图标的统一资源定位符、提示信息、图标跳转链接提示说明等等。
在实际应用中,配置信息数据包可以是可扩展标记语言(Extensible MarkupLanguage,XML)的配置信息数据包。
从服务端的后台服务器获取用户图标的配置信息数据包,一般是从服务端的后台服务器中一次性获取该客户端上所有用户的用户图标的配置信息数据包,当然,在实际应用中,也可以分两次以上进行获取,例如,当客户端上用户数量过大时,可以分多次获取。
客户端统一从服务端的后台服务器获取用户图标的配置信息数据包,无须跟即时通讯软件的版本发生关系,也就是说,在本发明中,同一账号在不同PC机、或移动设备上登录、或在后续版本登录,均保持用户应拥有的图标效果。
步骤S102:当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求。
当收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求,以供客户端从服务端获得返回的信息。
服务端存储有用户与用户的图标标识之间的关系,向服务端发送获取消息发送者的图标标识的请求,可以获得消息发送者的图标标识。
步骤S103:根据服务端所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息。
当接收到服务端所返回的消息发送者的图标标识后,即可在配置信息数据包中查找到并获取对应的图标信息。
步骤S104:在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标。
在获取到对应的图标信息后,即可在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标。从而实现即时在聊天信息中展示用户的预定身份,使得用户之间互相了解相关信息。
本发明实施方式在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求;根据服务端所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息;在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标,用户图标表示用户的预定身份。由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时地了解、认识自己。
其中,用户图标是针对用户开通的业务或者参与的活动所获得的特权的展示。
用户开通的业务,例如:招聘职员、招募志愿者等,用户参与的活动,例如:参加登山群、参加文学爱好群等。
其中,用户信息包括用户头像和用户昵称,且在用户信息展示区域中展示对应的用户图标是在用户昵称之后展示对应的用户图标。
其中,当该方法应用在即时通讯软件的群聊模式时,客户端从服务端的后台服务器获取的用户图标的配置信息数据包可以设定为群的所有用户图标的配置信息数据包。
其中,参见图3,当客户端从服务端的后台服务器获取用户图标的配置信息数据包失败时,执行步骤S105:客户端加载前一次所存储的用户图标的配置信息数据包。
进一步地,该方法应用在气泡聊天模式下。在气泡聊天模式下,在屏幕上,用户信息展示区域之间的间距隔得远一些,展示用户图标,不至于使屏幕过于拥挤而影响聊天屏幕的美观。参见图4所示,图4的场景是气泡聊天模式,有3个用户的群聊公屏中,方框中箭头所指的图标即为用户图标。
进一步地,当鼠标移入用户图标区域时,可以出现提示说明,其中,用户图标还可以点击,执行跳转操作,提示说明可以设置为不可点击。提示说明、点击跳转等这些参数均在用户图标的配置信息数据包。参见图5所示,当鼠标移入用户图标区域时,出现方框中的提示说明。当然在实际应用中,可以根据需要来具体进行设置,此处不做限制。
参见图6,图6是本发明在会话界面中展示用户信息的方法一实施方式的流程图,本实施方式是和上述客户端的方法流程配合的服务端的流程图,相关的内容可以参见上述客户端的详细说明,在此不再赘叙。
在本实施方式中,用户图标表示用户的预定身份,该方法包括:
步骤S201:响应客户端的请求,向客户端发送用户图标的配置信息数据包。
步骤S202:接收客户端发送的获取消息发送者的图标标识的请求,并根据消息发送者的用户信息查找并获取到对应的图标标识。
步骤S203:返回消息发送者的对应的图标标识至客户端,以供客户端根据返回的对应的图标标识,在其所获取的配置信息数据库中查找并获取到对应的图标信息。
本发明实施方式响应客户端的请求,向客户端发送用户图标的配置信息数据包;接收客户端发送的获取消息发送者的图标标识的请求,并根据消息发送者的用户信息查找并获取到对应的图标标识;返回消息发送者的对应的图标标识至客户端,以供客户端根据返回的对应的图标标识,在其所获取的配置信息数据库中查找并获取对应的图标信息,用户图标表示用户的预定身份。在服务端的支持与配合下,由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时地了解、认识自己。
参见图7,该方法还包括:
步骤S301:管理用户图标的相关信息,生成并更新用户图标的配置信息数据包。
进一步地,生成并更新用户图标的配置信息数据包是生成可扩展标记语言XML的配置信息数据包,并更新至内容分发网络CDN,以供客户端获取最新的XML的配置信息数据包。
步骤S302:管理并更新图标标识与用户之间的关系,并将最新的图标标识与用户之间关系的数据包存储至服务端的即时通讯服务器。
即时通讯服务器反应比较快,当客户端收到群组聊天消息时,向服务端的即时通讯服务器发送消息发送者的图标标识的请求时,客户端可以很快获得即时通讯服务器返回的信息。
其中,最新的图标标识与用户之间关系的数据包在存储至即时通讯服务器的同时,进一步存储至后台端的用户关系链数据存储服务器中。
通过这种方式,以防止在即时通讯服务器出现问题,不能提供服务时,通过后台端的用户关系链数据存储服务器,仍然能够保证服务的正常运作。
其中,用户图标是针对用户开通的业务或者参与的活动所获得的特权的展示。
进一步地,服务端的服务器在存储数据时,可以采用如图8所示的三层设计的数据缓存模型,以便于为客户端提供数据访问服务:
一层缓存11:应用进程内内存缓存,用以提供最直接、高速的热度数据缓存访问S11;
二层缓存12:使用Memcached作为全量缓存,提供大规模、高速的数据缓存访问S12;
三层缓存13:使用MySQL作为持久化的数据存储层,存储全网用户数据;提供一层缓存、二层缓存的数据来源;以及一层、二层数据缓存访问失败的情况下的数据访问保障S13。
服务器在接受客户端的数据请求时,依次在各层缓存中查找需要的数据。
通过这种方式,可以保证不同数据请求的不同访问速度,同时保证数据访问的成功率。
进一步地,在服务器中存储的数据的数据模型可以是:使用C++数据结构map表达每个用户的群公屏用户图标数据;合理设计map,使群公屏用户图标数据系统能够灵活扩展。
在业务扩展方面,使用uint16_t作为map的索引,代表特定的群公屏用户图标业务。索引的唯一性,保证不同用户的用户图标之间的隔离性与安全性;uint16_t足以保证在可以预见的未来,能够满足所有的用户增长;同时因为索引是可以动态添加删除的,因此用户图标的上下架操作亦能得到灵活的支持。
在数据格式扩展方面,使用二进制字符串存储map索引的值,代表特定群公屏用户图标业务的对应业务数据。平台存储并不会对业务数据格式作限定,因此每项业务可以根据自身需求,设计合理的应用数据结构,应用业务保持对用户数据的灵活控制与扩展。
进一步地,在网络拓扑方面,参见图9。
宏观上采用对等的、多机房部署,使整套服务端系统可以灵活地水平扩展,以满足日益增长的业务访问需求。
在每个机房,可以分为几大模块:数据接入层、数据访问层、数据存储层、数据更新层,具体端口及数据接口方面,请参见图10。
数据接入层:数据接入层是用户请求的服务访问前端26,组织主要的数据逻辑、业务逻辑等,提供一定时间内的热度数据,并提供数据访问层的路由;
数据访问层:提供Memcached24及MySQL23的访问代理25,提供高并发的数据访问接口;
数据存储层:Memcached24提供全量的数据缓存,提高高速数据访问;MySQL23提供持久化的数据存储;
数据更新层:提供thrift及私有协议更新接口21,当用户数据更新时,通过同步队列22将更新数据同步到各级缓存。
通过上述方式,三层缓存模型提供大规模、高并发的数据访问的可能。使用良好设计的map数据结构,能够为系统及业务提供足够的灵活性与扩展性;业务可以灵活、自由扩展而无需涉及后端服务改动,这样非常有利于业务开展、推广及提高开发效率。基于机房部署的模块化的网络拓扑设计,无论在宏观(机房间)或微观(机房内)都能够做到灵活的水平扩展,因应访问量及业务的需求扩展部署。
参见图11,图11是本发明在会话界面中展示用户信息的客户端装置一实施方式的结构示意图,本实施方式的客户端装置可以执行上述客户端方法中的步骤,相关内容的详细说明请参见客户端方法部分,在此不再赘叙。
该装置包括:获取模块101、发送模块102、查找模块103以及展示模块104。
获取模块101用于在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端。
发送模块102用于当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求。
查找模块103用于根据服务器所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息。
展示模块104用于在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标,用户图标表示用户的预定身份。
本发明实施方式在用户登录客户端时,从服务端的后台服务器获取用户图标的配置信息数据包,并存储在客户端;当接收到群组聊天消息时,向服务端发送获取消息发送者的图标标识的请求;根据服务端所返回的消息发送者的图标标识,在配置信息数据包中查找并获取对应的图标信息;在会话界面中显示收到的聊天信息,并在用户信息展示区域中展示对应的用户图标,用户图标表示用户的预定身份。由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时地了解、认识自己。
其中,配置信息数据包包括:图标名称、图标类型、展示顺序、各等级图标的统一资源定位符URL、提示信息以及图标跳转链接提示信息。
其中,用户信息包括用户头像和用户昵称,展示模块具体用于在用户昵称之后展示对应的用户图标。
该装置还包括:加载模块。
加载模块用于当从服务端的后台服务器获取用户图标的配置信息数据包失败时,加载前一次所存储的用户图标的配置信息数据包。
参见图12,图12是本发明在会话界面中展示用户信息的服务端装置一实施方式的结构示意图,本实施方式服务端装置可以执行上述服务端方法中的步骤,相关内容的详细说明请参见服务端方法部分,在此不再赘叙。
该装置包括:第一发送模块201、接收模块202、查找模块203以及第二发送模块204。
第一发送模块201用于响应客户端的请求,向客户端发送用户图标的配置信息数据包。
接收模块202用于接收客户端发送的获取消息发送者的图标标识的请求。
查找模块203用于根据消息发送者的用户信息查找并获取到对应的图标标识。
第二发送模块204用于返回消息发送者的对应的图标标识至客户端,以供客户端根据返回的对应的图标标识,在其所获取的配置信息数据库中查找并获取对应的图标信息,用户图标表示用户的预定身份。
本发明实施方式响应客户端的请求,向客户端发送用户图标的配置信息数据包;接收客户端发送的获取消息发送者的图标标识的请求,并根据消息发送者的用户信息查找并获取到对应的图标标识;返回消息发送者的对应的图标标识至客户端,以供客户端根据返回的对应的图标标识,在其所获取的配置信息数据库中查找并获取对应的图标信息,用户图标表示用户的预定身份。在服务端的支持与配合下,由于用户图标表示用户的预定身份,在收到群组聊天消息时,即时在用户信息展示区域中展示对应的用户图标,通过这种方式,能够使得信息传递者在传递信息时即时向其它用户展示自己的预定身份,增加曝光机会,从而使其它用户即时地了解、认识自己。
其中,该装置还包括:第一管理模块、生成模块、第一更新模块、第二管理模块、第二更新模块以及存储模块。
第一管理模块用于管理用户图标的相关信息。
生成模块用于生成用户图标的配置信息数据包。
第一更新模块用于更新用户图标的配置信息数据包。
第二管理模块用于管理图标标识与用户之间的关系。
第二更新模块用于更新图标标识与用户之间的关系。
存储模块用于将最新的图标标识与用户之间关系的数据包存储至服务端的即时通讯服务器。
其中,生成模块具体用于生成可扩展标记语言XML的配置信息数据包;第一更新模块具体用于更新用户图标的XML配置信息数据包至内容分发网络CDN,以供客户端获取最新的XML的配置信息数据包。
其中,存储模块具体用于最新的图标标识与用户之间关系的数据包在存储至即时通讯服务器的同时,进一步存储至后台端的用户关系链数据存储服务器中。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。