【技术实现步骤摘要】
用户数据存储方法及装置
本专利技术涉及网络
,特别涉及一种用户数据存储方法及装置。
技术介绍
一个直播间对应的服务器用于存储加入该直播间的用户的用户数据。由于用户出入直播间的频率较高,为了确保服务器的快速响应,服务器将加入直播间的各个用户的用户数据存入内存中,即对用户数据的增删改查等操作均采用纯内存操作。数据结构是计算机存储、组织数据的方式。由于数据结构类型的存储集合与高效的检索算法和索引技术有关,因此采用数据结构对用户数据进行存储可以有效保证计算机的存储效率。由于不同类型的数据结构所具备的功能不一样,因此在选择用何种类型的数据结构存储用户数据之前,需要确定存储用户数据的结构数据所要具备的功能。对于存储直播间的用户数据的数据结构而言,需要具备的功能为保存的用户数据至少包括保存用户的用户标识以及该用户加入直播间的时刻,并能按照用户加入直播间的时间先后对存储的用户数据排序。由于数据结构ConcurrentHashMap可将用户标识和该用户加入直播间的时刻分别作为关键字key和值value同时存储。但ConcurrentHashMap添加用户标识和该用户加入直播间的时刻的过程是无序的,若额外在对已添加入ConcurrentHashMap的全部用户标识和该用户加入直播间的时刻按照用户加入时刻的先后顺序进行排序,会增加处理器的处理负担,因此还需利用数据结构Stack对用户数据进行存储,Stack以堆栈的形式进行数据的添加,也就是说,Stack在添加用户数据的同时会自动按用户加入直播间的时间先后顺序对该用户数据进行排序,但Stack只能存储一种类型的数据,即无法 ...
【技术保护点】
1.一种用户数据存储方法,其特征在于,所述方法包括:接收携带有第一用户标识和目标聊天室标识的聊天室加入请求;将所述第一用户标识与接收到所述加入请求的时刻作为第一对应关系,添加入所述目标聊天室标识对应的存储集合中;为所述第一对应关系添加向前before指针,为第二对应关系添加向后after指针,所述before指针用于指向所述第二对应关系,所述after指针用于指向所述第一对应关系,所述第二对应关系为所述存储集合中除所述第一对应关系外未被添加after指针的对应关系。
【技术特征摘要】
1.一种用户数据存储方法,其特征在于,所述方法包括:接收携带有第一用户标识和目标聊天室标识的聊天室加入请求;将所述第一用户标识与接收到所述加入请求的时刻作为第一对应关系,添加入所述目标聊天室标识对应的存储集合中;为所述第一对应关系添加向前before指针,为第二对应关系添加向后after指针,所述before指针用于指向所述第二对应关系,所述after指针用于指向所述第一对应关系,所述第二对应关系为所述存储集合中除所述第一对应关系外未被添加after指针的对应关系。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收正向获取第一预定数量的用户标识的正向获取请求时,从所述存储集合未被添加before指针的对应关系开始,根据after指针的指向正向遍历所述存储集合,依次获取所述第一预定数量的对应关系,在所述第一预定数量的对应关系中获取所述第一预定数量的用户标识;当接收逆向获取第二预定数量的用户标识的逆向获取请求时,从所述存储集合未被添加after指针的对应关系开始,根据before指针的指向逆向遍历所述存储集合,依次获取所述第二预定数量的对应关系,得到所述第二预定数量的用户标识。3.根据权利要求1所述的方法,其特征在于,所述存储集合对应有成员变量,所述成员变量用于记录所述存储集合中记录的对应关系的总数,所述成员变量的初始值为0,所述方法还包括:当向所述存储集合添加一组对应关系时,将所述成员变量加1;当从所述存储集合删除一组对应关系时,将所述成员变量减1。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到携带有第二用户标识和目标聊天室标识的用户查询请求时,利用哈希算法在所述存储集合中查询所述第二用户标识所在的对应关系,判定所述第二用户标识所在对应关系是否在所述存储集合中;当所述第二用户标识所在对应关系在所述存储集合中时,返回第一指示消息,所述第一指示消息用于指示所述第二用户标识对应的用户在所述目标聊天室标识对应的目标聊天室中;当所述第二用户标识所在对应关系不在存储集合中时,返回第二指示消息,所述第二指示消息用于指示所述第二用户标识对应的用户不在所述目标聊天室标识对应的目标聊天室中。5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:当接收到正向获取请求或者逆向获取请求时,为所述存储集合添加读锁,被添加读锁后的所述存储集合只能被执行正向遍历和逆向遍历的操作;当向所述存储集合添加一组对应关系时,或者当从所述存储集合删除一组对应关系时,为所述存储集合添加写锁,被添加写锁后的所述存储集合只能被执行对应关系的添加和删除操作。6.一种用户数据存储装置,其特征在于,所述装置包括:接收模块,用于接收携带有第一用户标识和目标聊天室...
【专利技术属性】
技术研发人员:石鹏,李淼,
申请(专利权)人:北京云中融信网络科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。