一种数据处理方法及服务器的制造方法_2

文档序号:9276899阅读:来源:国知局
端不需要重新拉取用户好友数据,减少了交互,避免了用户不必要的流量消耗。
[0045]本实施例中,好友数据可以包括所述用户的好友关系链表和好友分组信息,此时,第一哈希值是根据客户端本地缓存的所述用户的好友关系链表和好友分组信息计算得到,对应的,第二哈希值是根据服务器从数据中心获取的所述用户的好友关系链表和好友分组信息计算得到,当然,在本发明一些实施例中,好友数据也可以是仅仅只包括好友关系链表,此时,第一哈希值是根据客户端本地缓存的所述用户的好友关系链表计算得到,对应的,第二哈希值是根据服务器从数据中心获取的所述用户的好友关系链表计算得到,此处不作限定。
[0046]由于LOL的用户数据,是存在于第三方的游戏部门,只给中间服务商提供了备份数据库来进行查询,存储用户数据的数据中心中,数据是通过时间戳来感知变化,然而,当数据中心对数据进行删除时,中间服务商的服务器是无法知道用户的好友数据发生了变化的,所以,每次用户来查询好友数据时,都必须把好友数据返回给用户,其次,由于服务器是中间服务商的,进行好友数据更新时,需要与数据中心和客户端交互,交互步骤太复杂,且当用户好友数据没更新时,好友数据的拉取会导致用户不必要的流量损耗,因此,本发明实施例应用在LOL中间服务商的服务器中时,由于服务器无法知道数据中心的用户好友数据发生了变化,通过本发明实施例确定用户好友数据是否发生变化,在好友数据发生了变化的情况下,才更新好友数据,避免了用户不必要的流量损耗和无效的交互造成的资源损耗,此时就更显得其必要性。
[0047]下面以好友数据包括好友关系链表的一个实施例具体作出说明,请参阅图2,本发明实施例中数据处理方法的一个实施例包括:
[0048]201、服务器接收客户端发送的用户好友关系链表获取请求;
[0049]本实施例中,所述请求中携带所述客户端本地缓存的所述用户的好友关系链表对应的第一哈希值和所述用户的标识信息,所述第一哈希值为根据哈希算法计算本地缓存的所述用户的好友关系链表得到的哈希值;
[0050]所述用户标识信息可以是UUID,如账户名,用户注册邮箱,用户绑定手机号,用户帐号的二维码信息等。
[0051]202、服务器根据所述用户的标识信息,从数据中心获取所述用户的好友关系链表;
[0052]数据中心用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息,本实施例中,数据中心中存储着用户的好友数据,包括好友关系链表和好友分组信息等,服务器根据所述用户的标识信息,从数据中心获取所述用户的好友关系链表。
[0053]203、服务器根据获取的所述好友关系链表,计算得到第二哈希值;
[0054]由于哈希算法可以将任意长度的输入经过变化以后得到固定长度的输出,因此,根据确定的好友关系链表,可以得到第二哈希值,本实施例中,所述第一哈希值和所述第二哈希值为同一种类型的哈希值,即第一哈希值和第二哈希值按照相同的哈希算法得到,例如第一哈希值、第二哈希值都是采用MD5算法得到,或第一哈希值、第二哈希值都是采用SHA-1算法等,当然,第一哈希值、第二哈希值还可以是其他哈希算法相对应的哈希值,如RIPEMD算法等,此处不作限定。
[0055]204、服务器判断所述第一哈希值和所述第二哈希值是否相同,若否,执行步骤205,若是,执行步骤208 ;
[0056]由于当确定采用相同哈希算法得到的两个哈希值相同时,即可确定,该哈希值对应的数据相同,因此此处可以根据判断好友关系链表对应的第一哈希值和第二哈希值是否相同,去判断所述用户的好友关系链表是否发生变化。
[0057]205、服务器将从所述数据中心获取的所述用户的好友关系链表返回给所述客户端;
[0058]服务器在所述第一哈希值和所述第二哈希值不相同时,即确定所述用户的好友关系链表发生了变化,将上述步骤中,从所述数据中心获取的所述用户的好友关系链表返回给客户端。
[0059]206、服务器从所述数据中心获取所述用户的好友分组信息;
[0060]由于确定所述用户的好友关系链表发生了变化,服务器在获取所述用户的好友关系链表后,还可以进一步获取所述用户的好友分组信息,用于更新客户端用户的好友数据。[0061 ] 207、服务器将所述好友分组信息返回给所述客户端。
[0062]服务器将获得的所述用户的好友分组信息返回给所述客户端,以更新所述客户端上的所述用户的好友数据。
[0063]需要说明的是,本实施例中,步骤206、步骤207可以和步骤205同时进行,此处不作限定。
[0064]208、服务器返回好友关系链表未更新的提示信息给所述客户端。
[0065]服务器在所述第一哈希值和所述第二哈希值相同时,即确定所述用户的好友关系链表没发生变化,返回好友关系链表未更新的提示信息给所述客户端,通知客户端用户好友数据未更新,则客户端不需要重新拉取用户好友数据,减少了交互,避免了用户不必要的流量消耗。
[0066]本实施例中,以上述好友数据只包括好友关系链表为例进行描述的,可以理解的是,好友数据还可以同时包括所述用户的好友关系链表和好友分组信息,此时,第一哈希值是根据客户端本地缓存的所述用户的好友关系链表和好友分组信息计算得到,对应的,第二哈希值是根据服务器从数据中心获取的所述用户的好友关系链表和好友分组信息计算得到,此处不作限定。
[0067]为了便于更好的理解技术,下面实施例以一具体应用场景对上述实施例中描述的数据处理方法进行详细描述。
[0068]请参阅图3,本发明实施例中数据处理方法的一个实施例包括:
[0069]301、服务器接收客户端发送的用户好友关系链表获取请求;
[0070]本实施例中,所述请求中携带所述客户端本地缓存的所述用户的好友关系链表对应的MD5值A和所述用户的UUID,所述MD5值A为根据MD5算法计算本地缓存的所述用户的好友关系链表得到的哈希值;
[0071]所述用户标识信息可以是账户名,用户注册邮箱,用户绑定手机号,用户帐号的二维码信息等。
[0072]302、服务器根据所述用户的UUID,从数据中心获取所述用户的好友关系链表;
[0073]数据中心用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息,本实施例中,数据中心中存储着用户的好友数据,包括好友关系链表和好友分组信息等,服务器根据所述用户的UUID,从数据中心获取所述用户的好友关系链表。
[0074]303、服务器根据获取的所述好友关系链表,计算得到MD5值B ;
[0075]由于哈希算法可以将任意长度的输入经过变化以后得到固定长度的输出,因此,根据确定的好友关系链表,可以得到MD5值B,本实施例中,A和B为同一种类型的哈希值,即第一哈希值和第二哈希值按照相同的MD5算法得到,可以理解的是,第一哈希值、第二哈希值还可以其他哈希算法得到,例如,第一哈希值、第二哈希值都是采用SHA-1算法、RIPEMD算法等得到,此处不作限定。
[0076]304、服务器判断MD5值A和MD5值B是否相同,若否,执行步骤305,若是,执行步骤 308 ;
[0077]由于当确定采用相同哈希算法得到的两个哈希值相同时,即可确定,该哈希值对应的数据相同,因此此处可以根据判断好友关系链表对应的MD5值A和MD5值B是否相同,去判断所述用户的好友关系链表是否发生变化。
[0078]305、服务器将从所述数据中心获取的所述用户的好友关系链表返回给所述客户端;
[0079]在MD5值A和MD5值B不相同时,即确定所述用户的好友关系链表发生了变化,将上述步骤中,从所述数据中心获取的所述用户的好友关系链表返回给客户端。
[0080]306、服务器从所述数据中心获取所述用户的好友分组信息;
[0081]由于确定所述用户的好友关系链表发生了变化,服务器在获取所述用户的好友关系链表后,还可以进一步获取所述用户的好友分组信息,用于更新客户端用户的好友数据。
[0082]307、服务器将所述好友分组信息返回给所述客户端。
[0083]服务器将获得的所述用户的好友分组信息返回给所述客户端,以更新所述客户端上的所述用户的好友数据。
[0084]308、服务器返回好友关系链表未更新的提示信息给所述客户端。
[0085]在MD5值A和MD5值B相同时,即确定所述用户的好友关系链表没发生变化,返回好友关系链表未更新的提示信息给所述客户端,通知客户端用户好友数据未更新,则客户端不需要重新拉取用户好友数据,减少了交互,避免了用户不必要的流量消耗。
[0086]下面介绍本发明实施例中的服务器实施例,请参阅图4,本发明实施例中的服务器的一个实施例包括:
[0087]接收单元401,用于接收客户端发送的用户好友数据获取请求,所述请求中携带所述客户端本地缓存的所述用户的好友数据对应的第一哈希值和所述用户的标识信息;
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1