访问用户数据的方法和装置制造方法及图纸

技术编号:15500100 阅读:78 留言:0更新日期:2017-06-03 22:06
本公开是关于一种访问用户数据的方法和装置,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续。所述方法包括:接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点;确定所述第一节点中所存储的用户的身份标识号码的最大值X;根据X来访问身份标识号码为从N到M的用户的用户数据。这样,减少了需要查找其用户数据所存储的节点的用户的数量,从而加快了用户数据的访问速度。

Method and device for accessing user data

This disclosure is a method and apparatus for accessing user data, application in the distributed system, the distributed system includes multiple nodes, identification number corresponding to the user data stored in each node of the user continuously. The method comprises: receiving access instructions, the access instructions for indicating access ID number for user data from N to M users; in response to the access instruction, determining a first node user data storage identity number for users of the N; the maximum value of X to determine the identity numbers stored the first node in the user's access to the X; according to the identification number for the user data from N to M users. This reduces the number of users who need to find the nodes stored in their user data, thereby speeding up access to user data.

【技术实现步骤摘要】
访问用户数据的方法和装置
本公开涉及分布式系统领域,尤其涉及一种访问用户数据的方法和装置。
技术介绍
分布式系统(distributedsystem)是建立在网络之上的软件系统,是将系统的应用层、数据层或其它部分构架成分布(物理和逻辑上的都可以)状(通常是网状)。构建分布式系统通常是为了增强系统的可扩展性、稳定性和执行效率。比如在线游戏通常就是分布式系统。分布式数据库也可以称作分布式系统。随着移动互联网的高速发展,电子商务的需求日益增加,越来越多的人选择使用电商平台购买商品和服务。随着业务的复杂度日益提高,很多电商平台提供的商品日益增多。电商系统需要引入分布式数据存储系统来应对日益增加的数据处理需求。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种访问用户数据的方法和装置。根据本公开实施例的第一方面,提供一种访问用户数据的方法,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续。所述方法包括:接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点;确定所述第一节点中所存储的用户的身份标识号码的最大值X;根据X来访问身份标识号码为从N到M的用户的用户数据。可选地,所述响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点的步骤包括:响应于所述访问指令,确定身份标识号码为N的用户的用户数据所在的二级索引;根据身份标识号码为N的用户的用户数据所在的二级索引,确定存储有身份标识号码为N的用户的用户数据的第一节点。可选地,所述响应于所述访问指令,确定身份标识号码为N的用户的用户数据所在的二级索引的步骤包括:响应于所述访问指令,根据哈希散列函数确定身份标识号码为N的用户的用户数据所在的二级索引。可选地,所述根据X来访问身份标识号码为从N到M的用户的用户数据的步骤包括:当X大于或等于M时,在所述第一节点中顺序访问身份标识号码为从N到M的用户的用户数据。可选地,所述根据X来访问身份标识号码为从N到M的用户的用户数据的步骤包括:当X小于M时,在所述第一节点中顺序访问身份标识号码为从N到X的用户的用户数据;确定存储有身份标识号码为X+1的用户的用户数据的第二节点;确定所述第二节点中所存储的用户的身份标识号码的最大值Y;当Y大于或等于M时,在所述第二节点中顺序访问身份标识号码从X+1到M的用户的用户数据;当Y小于M时,在所述第二节点中顺序访问身份标识号码为从X+1到Y的用户的用户数据,并确定存储有身份标识号码为Y+1的用户的用户数据的第三节点,直至身份标识号码为从N到M的用户的用户数据全部访问完毕为止。根据本公开实施例的第二方面,提供一种访问用户数据的装置,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续。所述装置包括:接收模块,用于接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;节点确定模块,用于响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点;最大值确定模块,用于确定所述第一节点中所存储的用户的身份标识号码的最大值X;访问模块,用于根据X来访问身份标识号码为从N到M的用户的用户数据。本公开的实施例提供的技术方案可以包括以下有益效果:在分布式系统的每个节点中存储的用户数据,其对应的用户的身份标识号码都连续,并且需要顺序访问身份标识号码为从N到M的用户的用户数据的情况下,先查找到身份标识号码为N的用户的用户数据所在的节点。这样,根据所查找到的节点其存储的用户的身份标识号码的最大值X,能够确定一部分用户数据(因为其身份标识号码连续)存储在所查找到的节点中。因此,减少了需要查找其用户数据所存储的节点的用户的数量,从而加快了用户数据的访问速度。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种访问用户数据的方法的流程图;图2是根据另一示例性实施例示出的一种访问用户数据的方法的流程图;图3是根据又一示例性实施例示出的一种访问用户数据的方法的流程图;图4是根据又一示例性实施例示出的一种访问用户数据的方法的流程图;图5是根据又一示例性实施例示出的一种访问用户数据的方法的流程图;图6是根据一示例性实施例示出的一种访问用户数据的装置的框图;图7是根据另一示例性实施例示出的一种访问用户数据的装置的框图;图8是根据又一示例性实施例示出的一种访问用户数据的装置的框图;图9是根据又一示例性实施例示出的一种访问用户数据的装置的框图;图10是根据又一示例性实施例示出的一种访问用户数据的装置的框图;图11是根据一示例性实施例示出的一种访问用户数据的装置的框图;图12是根据一示例性实施例示出的一种访问用户数据的装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。分布式系统通常包括多个节点。以电商类分布式存储系统为例,每个节点可以为一个存储服务器。不论实际存储服务器有多少,单个用户的数据通常存储在同一台服务器上。数据分配方法通常基于哈希散列,不同的电商可以采用不同的哈希散列函数。例如用户的身份标识(Identification,ID)号码为123的用户,通过对ID的散列计算,获得键值为2,那么此用户的用户数据就存在2号服务器上。数据哈希散列破坏了数据的有序性,基于哈希散列的数据,对顺序扫描并不能有效地支持,而对随机访问操作的支持较好。例如需要扫描ID为1至1000的所有用户的某个域的值,那么对于每个用户,都需要计算确定出其用户数据所存储的节点,然后根据计算结果,在所确定的节点中访问数据。因此,在顺序扫描数据的场景中,根据相关技术,并不会因为数据的有序性而有更高的访问效率。鉴于此,专利技术人想到,如果系统对于顺序访问数据的需求比较大,那么访问处理的速度还存在一定的改进空间。本公开的方法适用于每个节点中存储的用户数据所对应的用户的身份标识号码连续的情况。例如,分布式系统包括多个节点,1号节点存储有ID号码为从1到1000的用户的用户数据,2号节点存储有ID号码为从1001到2000的用户的用户数据,以此类推。图1是根据一示例性实施例示出的一种访问用户数据的方法的流程图。所述方法应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续。如图1所示,所述方法可以包括以下步骤。在步骤S11中,接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据。如上所述,本公开的方法适用于需要按照用户的ID号码顺序访问的情况。其中,N和M都是正整数,且M大于N。例如,N=1,M=4000,表示本文档来自技高网...
访问用户数据的方法和装置

【技术保护点】
一种访问用户数据的方法,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续,其特征在于,所述方法包括:接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点;确定所述第一节点中所存储的用户的身份标识号码的最大值X;根据X来访问身份标识号码为从N到M的用户的用户数据。

【技术特征摘要】
1.一种访问用户数据的方法,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续,其特征在于,所述方法包括:接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点;确定所述第一节点中所存储的用户的身份标识号码的最大值X;根据X来访问身份标识号码为从N到M的用户的用户数据。2.根据权利要求1所述的方法,其特征在于,所述响应于所述访问指令,确定存储有身份标识号码为N的用户的用户数据的第一节点的步骤包括:响应于所述访问指令,确定身份标识号码为N的用户的用户数据所在的二级索引;根据身份标识号码为N的用户的用户数据所在的二级索引,确定存储有身份标识号码为N的用户的用户数据的第一节点。3.根据权利要求2所述的方法,其特征在于,所述响应于所述访问指令,确定身份标识号码为N的用户的用户数据所在的二级索引的步骤包括:响应于所述访问指令,根据哈希散列函数确定身份标识号码为N的用户的用户数据所在的二级索引。4.根据权利要求1所述的方法,其特征在于,所述根据X来访问身份标识号码为从N到M的用户的用户数据的步骤包括:当X大于或等于M时,在所述第一节点中顺序访问身份标识号码为从N到M的用户的用户数据。5.根据权利要求1所述的方法,其特征在于,所述根据X来访问身份标识号码为从N到M的用户的用户数据的步骤包括:当X小于M时,在所述第一节点中顺序访问身份标识号码为从N到X的用户的用户数据;确定存储有身份标识号码为X+1的用户的用户数据的第二节点;确定所述第二节点中所存储的用户的身份标识号码的最大值Y;当Y大于或等于M时,在所述第二节点中顺序访问身份标识号码从X+1到M的用户的用户数据;当Y小于M时,在所述第二节点中顺序访问身份标识号码为从X+1到Y的用户的用户数据,并确定存储有身份标识号码为Y+1的用户的用户数据的第三节点,直至身份标识号码为从N到M的用户的用户数据全部访问完毕为止。6.一种访问用户数据的装置,应用于分布式系统,所述分布式系统包括多个节点,每个节点中存储的用户数据所对应的用户的身份标识号码连续,其特征在于,所述装置包括:接收模块,用于接收访问指令,所述访问指令用于指示访问身份标识号码为从N到M的用户的用户数据;节点确定模块,用于响...

【专利技术属性】
技术研发人员:金帅
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1