CN110659296A - 存储方法、装置、设备以及计算机可读介质 - Google Patents

存储方法、装置、设备以及计算机可读介质 Download PDF

Info

Publication number
CN110659296A
CN110659296A CN201910916753.XA CN201910916753A CN110659296A CN 110659296 A CN110659296 A CN 110659296A CN 201910916753 A CN201910916753 A CN 201910916753A CN 110659296 A CN110659296 A CN 110659296A
Authority
CN
China
Prior art keywords
user
information
identification information
memory
memory database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910916753.XA
Other languages
English (en)
Other versions
CN110659296B (zh
Inventor
朱明涛
朱成宝
梁仕田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201910916753.XA priority Critical patent/CN110659296B/zh
Publication of CN110659296A publication Critical patent/CN110659296A/zh
Application granted granted Critical
Publication of CN110659296B publication Critical patent/CN110659296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种存储方法、装置、设备以及计算机可读介质,通过获取用户的标识信息以及用户的类别信息;根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息;其中,存储位置信息包括分片标识信息、以及内存块标识信息;分片中包括多个内存块;内存块用于存储与用户的类别信息对应的值;将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。由于本申请中将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置,而用户在内存数据库中对应的存储位置又与用户的标识信息相对应,因此不再需要将每一个用户的标识信息以及对应的类别信息均存储下来,减少了存储用户的类别信息时需要占用的内存。

Description

存储方法、装置、设备以及计算机可读介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种存储方法、装置、设备以及计算机可读介质。
背景技术
为了给用户提供更好的服务,许多平台通常会针对不同类别的用户提供对应的服务内容。例如,通过用户的标识信息确定该用户属于新用户还是老用户,若该用户为新用户,则为该用户提供一些奖励类的活动信息,若该用户为老用户,则会推送一些产品信息。
现有技术中,通常将用户信息存储于内存数据库中,以便用户登录平台时,可从内存数据库中查找到该用户所属的类别,进而为用户提供与所属类别对应的服务。然而,当用户数量较大时,要将每一个用户的标识信息以及对应的类别信息存储下来,需要占用非常大的内存空间。
发明内容
基于上述现有技术的不足,本申请提出了一种存储方法、装置、设备以及计算机可读介质,以实现减少存储用户的类别信息时需要占用的内存。
本发明第一方面公开了一种存储方法,其特征在于,包括:
获取用户信息;其中,所述用户信息包括所述用户的标识信息以及所述用户的类别信息;
根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息;其中,所述存储位置信息包括所述内存数据库中的分片标识信息、以及内存块标识信息;所述分片中包括多个内存块;所述内存块用于存储与所述用户的类别信息对应的值;
根据所述用户在内存数据库中对应的存储位置信息、以及所述用户的类别信息,将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置。
可选地,在上述存储方法中,所述根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息,包括:
根据所述用户的标识信息,判断所述内存数据库中是否存在与所述用户对应的分片;
若存在与所述用户对应的分片,则确定出所述用户在内存数据库中对应的存储位置信息;
若不存在与所述用户对应的分片,则生成与所述用户对应的分片,并确定出所述用户在生成的分片中所对应的存储位置信息。
可选地,在上述存储方法中,所述将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置之后,还包括:
接收客户端发送的请求信息;其中,所述请求信息用于请求获取所述用户的类别信息;所述请求信息中携带用户标识信息;
根据所述请求信息中携带的用户标识信息,确定出所述用户在内存数据库中对应的存储位置信息;
从所述用户在内存数据库中对应的存储位置中,读取与所述用户的类别信息对应的值,确定出所述用户的类别信息;
将所述用户的类别信息发送至所述客户端。
可选地,在上述存储方法中,所述根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息,包括:
将所述用户的标识信息代入第一公式中,计算出所述用户在所述内存数据库中对应的分片标识信息;其中,所述第一公式为:key=n/p;所述key为所述用户在所述内存数据库中对应的分片标识信息,所述key为整数;所述n为所述用户的标识信息;所述n为整数;所述p为所述内存数据库中每一个分片中包含的内存块的总数;
将所述用户的标识信息代入第二公式中,计算出内存块标识信息;其中,所述第二公式为:u=n%p;所述u为所述内存块的标识信息,u为整数;
根据所述用户在所述内存数据库中对应的分片标识信息以及所述内存块标识信息,确定出所述用户在内存数据库中对应的存储位置信息。
本发明第二方面公开了一种存储装置,包括:
获取单元,用于获取用户信息;其中,所述用户信息包括所述用户的标识信息以及所述用户的类别信息;
第一确定单元,用于根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息;其中,所述存储位置信息包括所述内存数据库中的分片标识信息、以及内存块标识信息;所述分片中包括多个内存块;所述内存块用于存储与所述用户的类别信息对应的值;
存储单元,用于根据所述用户在内存数据库中对应的存储位置信息、以及所述用户的类别信息,将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置。
可选地,在上述存储装置中,所述第一确定单元,包括:
判断单元,用于根据所述用户的标识信息,判断所述内存数据库中是否存在与所述用户对应的分片;
第一确定子单元,用于若存在与所述用户对应的分片,则确定出所述用户在内存数据库中对应的存储位置信息;
第二确定子单元,用于若不存在与所述用户对应的分片,则生成与所述用户对应的分片,并确定出所述用户在生成的分片中所对应的存储位置信息。
可选地,在上述存储装置中,还包括:
接收单元,用于接收客户端发送的请求信息;其中,所述请求信息用于请求获取所述用户的类别信息;所述请求信息中携带用户标识信息;
第二确定单元,用于根据所述请求信息中携带的用户标识信息,确定出所述用户在内存数据库中对应的存储位置信息;
读取单元,用于从所述用户在内存数据库中对应的存储位置中,读取与所述用户的类别信息对应的值,确定出所述用户的类别信息;
发送单元,用于将所述用户的类别信息发送至所述客户端。
可选地,在上述存储装置中,所述第一确定单元,包括:
第一计算单元,用于将所述用户的标识信息代入第一公式中,计算出所述用户在所述内存数据库中对应的分片标识信息;其中,所述第一公式为:key=n/p;所述key为所述用户在所述内存数据库中对应的分片标识信息,所述key为整数;所述n为所述用户的标识信息;所述n为整数;所述p为所述内存数据库中每一个分片中包含的内存块的总数;
第二计算单元,用于将所述用户的标识信息代入第二公式中,计算出内存块标识信息;其中,所述第二公式为:u=n%p;所述u为所述内存块的标识信息,u为整数;
第三确定子单元,用于根据所述用户在所述内存数据库中对应的分片标识信息以及所述内存块标识信息,确定出所述用户在内存数据库中对应的存储位置信息。
本发明第三方面公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面中任一项所述的存储方法。
本发明第四方面公开了一种设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一项所述的存储方法。
从上述技术方案可以看出,本申请提供的存储方法中,根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息。其中,存储位置信息包括内存数据库中的分片标识信息、以及内存块标识信息,分片中包括多个内存块,内存块用于存储用户的类别信息对应的值。又根据用户在内存数据库中对应的存储位置信息、以及用户的类别信息,将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。由于本申请中将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置,而用户在内存数据库中对应的存储位置又与用户的标识信息相对应,因此内存数据库中不再需要将每一个用户的标识信息以及对应的类别信息均存储下来,实现减少存储用户的类别信息时需要占用的内存。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种存储方法的流程示意图;
图2为本发明实施例公开的一种确定出存储位置信息的方法的流程示意图;
图3为本发明实施例公开的另一种确定出存储位置信息的方法的流程示意图;
图4为本发明实施例公开的一种内存数据库的结构示意图;
图5为本发明实施例公开的一种发送用户的类别信息的方法的流程示意图;
图6为本发明实施例公开的一种存储装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本申请实施例公开了一种存储方法,包括以下步骤:
S101、获取用户信息。
其中,用户信息包括用户的标识信息以及用户的类别信息。用户的标识信息具有唯一性,是每一个用户所特有的信息。具体地,用户的标识信息可以为用户账号(UserIdentification,UID)。用户在平台注册账号时,由平台为用户分配该用户特有的UID,用户可使用自身的UID登录平台。用户的类别信息是用于说明用户所属类别的信息。在具体实施例中,可根据应用平台的实际情况来选取划分用户类别的依据。例如,一些视频网站可根据用户所购买的权限,将用户划分为非会员、普通会员、高级会员以及超级会员。或者一些电商平台中,可根据用户是否购买过该平台的商品,将用户划分为新用户和老用户。对用户进行分类的方式有很多,包括但不限于本申请实施例提出的方案。
需要说明的是,本申请实施例公开的存储方法可应用于服务器中,在执行步骤S101时,服务器可以实时获取平台中的用户信息,也可以是平台将用户信息存储在一个数据库,并将该数据库提供给服务器,使服务器获取数据库中的信息。
S102、根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息。
其中,存储位置信息包括内存数据库中的分片标识信息、以及内存块标识信息。分片中包括多个内存块。内存块用于存储与用户的类别信息对应的值。分片是数据库分区的一种,它将大型数据库分成更小、更快、更容易管理的部分,这些部分叫做数据碎片。内存数据库中的分片可以看成是内存数据库中的一个大的内存块,每一个分片的内存空间大小可根据实际情况进行设置。例如有的内存数据库所采用的存储指令具有可处理的数据量的大小的限制,只能处理512兆字节的数据,那么每一个分片的大小就需要设置成小于512兆字节的大小。内存数据库中预先生成的分片数量也可人为进行设置。如果出现与用户的标识信息相对应的分片不存在的情况,内存数据库可生成新的分片。
分片中包括多个小内存块。每一个内存块的空间大小也可根据实际需要表示的类别的数量进行设置。例如,对于只将用户分成两个类别的情况,每一个用户的类别信息只需一位数据大小的内存块就可表示。可用1表示第一类别的用户,0表示第二类别的用户。而对于将用户分成了四个类别的情况,则至少需要两位数据才能表示四个类别,即使用00、01、10以及11来表示四个不同类别的用户。
而内存数据库中的每一个分片都具有特定的标识,每一个分片中的内存块也具有特定的标识。分片的标识信息用于说明该分片在内存数据库中的位置,而内存块的标识信息则用于说明内存块在某一个分片中的位置。根据用户的标识信息,为用户指定一个特定的内存块来存放该用户的类别信息。具体地,根据用户的标识信息,通过预设的分配规则,将内存数据库中第k个分片上的第n个内存块作为该用户在内存数据库中对应的存储位置。其中,k是分片的标识信息,n是内存块的标识信息,k和n组成了该用户在内存数据库中对应的存储位置信息。
现有技术中,存储用户的类别信息时,通常还需要对应存储用户的标识信息,来明确该类别信息属于哪一位用户。然而,这样的存储方式下,当用户的数量非常庞大时,需要占用的内存是非常大的,光是存储每一个用户的标识信息就需要消耗大量的内存。
而本申请中,将用户的标识信息映射成内存数据库中的存储位置信息,存储类别信息的位置与用户的标识信息一一对应,因此可不再需要去存储用户的标识信息,进而减少了占用的内存大小。例如,在现有技术中,对于将用户分为两类的情况,若需要存储75亿用户的标识信息和类别信息,则至少需要存储75×108×8个字节。而本申请中,仅需一位数据来表示该用户的类别信息,并结合该数据存储的位置来表示该用户的标识,因此总共只需占用75×108位数据,即894×106个字节。
可选地,内存数据库可以是一种键(key)-值(value)数据库,例如redis数据库等,可适用于本申请实施例的内存数据库有很多,包括但不限于本申请实施例提出的方案。
可选地,参阅图2,在本申请一具体实施例中,执行步骤S102的一种实施方式,包括:
S201、根据用户的标识信息,判断内存数据库中是否存在与用户对应的分片。
根据用户的标识信息,使用预设的分配规则来确定与用户对应的分片标识。并判断内存数据库中已存在的分片里是否有与用户对应的分片。若存在与用户对应的分片,则执行步骤S202,若不存在与用户对应的分片,则执行步骤S203。
需要说明的是,内存数据库中当前已有的分片的位置不一定是紧挨着的,也可以是零散分布的。例如,当前已有的分片可能是第一块分片、第二块分片以及第四块分片。若用户对应的分片是这三块分片中的其中一片,则直接执行步骤S202。若用户对应的分片应该是第三块分片,而当前已有的分片中没有第三块分片,则需要执行步骤S203。
S202、确定出用户在内存数据库中对应的存储位置信息。
由于执行步骤S201时,已确定出了用户对应的分片的标识信息,因此执行步骤S202时,只需根据用户的标识信息确定内存块的标识信息,即可确定出用户在内存数据库中对应的存储位置信息。
S203、生成与用户对应的分片,并确定出用户在生成的分片中所对应的存储位置信息。
若当前内存数据库中不存在与用户对应的分片,则控制内存数据库生成与用户对应的分片,再进一步根据用户的标识信息,确定出生成的分片中的内存块的标识信息,进而可确定出用户在生成的分片中所对应的存储位置信息。
参阅图3,可选地,在本申请一具体实施例中,执行步骤S102的一种实施方式,包括:
S301、将用户的标识信息代入第一公式中,计算出用户在内存数据库中对应的分片标识信息。
其中,第一公式为:key=n/p。
key为用户在内存数据库中对应的分片标识信息,key为整数。n为用户的标识信息。n为整数。p为内存数据库中每一个分片中包含的内存块的总数。P的数值可人为修改设置。例如,参阅图4,将内存数据库中的的每一个分片中包含的内存块的总数设置为100000000。每一个内存块中包含一位数据,即用于说明两个不同类别的信息。n为用户的标识信息,例如,可以是用户的uid。将用户的uid与100000000相除,即可得到用户在内存数据库总对应的分片标识信息key。若用户的uid为100000006,将100000006与100000000相除,结果为1,即该用户对应于图中的分片401。
需要说明的是,每一个用户对应的key并不一定都在内存数据库中存在。且内存数据库中当前存在的分片也不一定是按顺序分布的,也可能是零散分布的。例如当前内存库中可能存在有key=1、key=3以及key=5这三个分片。当用户计算出来的key在内存库中不存在时候,则需要控制内存数据库生成对应的分片。
S302、将用户的标识信息代入第二公式中,计算出内存块标识信息。
其中,第二公式为:u=n%p。
u为内存块的标识信息,u为整数。“%”是一个求余数的符号,n与步骤S301中的n是相同的,是用户的标识信息。P也与步骤S301中的P的含义相同,是内存数据库中每一个分片中包含的内存块的总数。
举例说明,参阅图4,用户的标识信息可以是用户的uid。将P设为100000000,对于一个uid为100000000的用户,使用第二公式计算后,得到的余数为0,即图中的内存块402。通过第一公式和第二公式,可以知道uid为100000000的用户在内存数据库中对应的存储位置为:key=1的分片中的第0个内存块。
需要说明的是,执行步骤S301和执行步骤S302的先后顺序不影响本申请实施例的实现,也可同时执行步骤S301以及步骤S302。
S303、根据用户在内存数据库中对应的分片标识信息以及内存块标识信息,确定出用户在内存数据库中对应的存储位置信息。
根据步骤S301计算得到的分片标识信息key,以及步骤S302中计算得到的内存块标识信息u,即可确定出用户在内存数据库中对应的存储位置信息。例如,参阅图4,对于uid为100000002的用户,在每一个分片中含有100000000个内存块,即P=100000000时,根据第一公式,可计算得到key=1。又根据第二公式,计算得到u=2。因此uid为100000002的用户在内存数据库中对应key=1的分片上的第2号内存块。
需要说明的是,除了图3示出的确定用户在内存数据库中对应的存储位置信息的方式,还有很多分配方式可根据用户的标识信息确定存储位置信息,包括但不限于本申请实施例提出的方案。
S103、根据用户在内存数据库中对应的存储位置信息、以及用户的类别信息,将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。
其中,用户的类别信息由步骤S101中得到。用户的类别信息和值之间的对应关系可预先进行设定。然后再根据预先设定好的对应关系,将与用户的类别信息对应的值存储到步骤S102中确定出的用户在内存数据库中对应的存储位置中。例如,若将用户分为新用户和老用户这两个类别,且设定新用户对应的值为1,老用户对应的值为0,当步骤S101读取到其中一位用户属于新用户,则将该用户对应的存储位置的数据写为1。
可选地,若本申请实施例中的内存数据库为redis数据库,那么即可使用redis数据库中的SETBIT指令实现存储用户类别信息对应的值的操作。需要说明的是,其他类型的数据库也存在其他的操作指令来实现存储用户类别信息对应的值,包括但不限于本申请实施例提出的内容。
由步骤S103可知,内存数据库中存储的数据仅为每一位用户的类别信息对应的值,相较于现有技术而言,本申请实施例中没有对每一位用户的标识信息进行存储,因此也减小了存储用户的类别信息时需要占用的内存。
可选地,参阅图5,在本申请一具体实施例中,执行完步骤S103之后,还包括:
S501、接收客户端发送的请求信息。
其中,请求信息用于请求获取用户的类别信息。请求信息中携带用户标识信息。执行完步骤S103之后,服务器将用户的类别信息均存储在了内存数据库中。因此,当客户端想要得知该客户端中的一名客户的类别信息时,就会像服务器发送请求,以获取该用户的类别信息。服务器根据请求信息中携带的标识信息,可得知客户端请求获取的是哪一位用户的类别信息。
S502、根据请求信息中携带的用户标识信息,确定出用户在内存数据库中对应的存储位置信息。
其中,步骤S502与图1示出的步骤S102的执行过程和原理是相同的,可参见,此处不再赘述。
S503、从用户在内存数据库中对应的存储位置中,读取与用户的类别信息对应的值,确定出用户的类别信息。
从步骤S502中确定出的存储位置,读取该位置的内存块的数据,又根据预先设定好的用户的类别信息以及值之间的对应关系,确定出用户的类别信息。其中,预先设定好的用户的类别信息和值之间的对应关系,与执行步骤S103时使用到的对应关系是一致的。步骤S103根据类别信息与值之间的对应关系进行存储,而步骤S503则也根据这一对应关系来确定出用户的类别信息。例如,预先设定好1对应为新用户类别,0对应为老用户类别。若用户对应的存储位置为第1块分片上的第20号内存块,该内存块中存储的数据为1,则可确定出该用户的类别为新用户。
可选地,若本申请实施例中的内存数据库为redis数据库,那么可采用redis数据库中的GETBIT指令来实现读取与用户的类别信息对应的值的操作。需要说明的是,其他类型的数据库也存在其他的操作指令来实现读取用户类别信息对应的值,包括但不限于本申请实施例提出的内容。
S504、将用户的类别信息发送至客户端。
其中,该用户的类别信息由步骤S503进行确定得到。而步骤S504中发送的用户的类别信息的具体形式有很多,可以是将用户的类别信息所对应的值发送给客户端,客户端再通过预先存储好的类别信息与值之间的对应关系,确定出该用户的类别信息。也可以是采用别的形式来表示用户的类别信息,表示用户的类别信息的方式有很多,包括但不限于本申请实施例提出的内容。可选地,用户的类别信息发送给客户端之后,客户端可针对该用户的类别信息,为用户提供对应的服务,也可根据用户的类别信息执行其他的操作,具体可根据客户端的实际应用情况进行设置。
本申请提供的存储方法中,根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息。其中,存储位置信息包括内存数据库中的分片标识信息、以及内存块标识信息,分片中包括多个内存块,内存块用于存储用户的类别信息对应的值。又根据用户在内存数据库中对应的存储位置信息、以及用户的类别信息,将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。由于本申请中将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置,而用户在内存数据库中对应的存储位置又与用户的标识信息相对应,因此内存数据库中不再需要将每一个用户的标识信息以及对应的类别信息均存储下来,实现减少存储用户的类别信息时需要占用的内存。
参阅图6,基于上述本申请实施例提出的存储方法,本申请实施例对应公开了一种存储装置600,包括:获取单元601、第一确定单元602和存储单元603。
获取单元601,用于获取用户信息。其中,用户信息包括用户的标识信息以及用户的类别信息。
第一确定单元602,用于根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息。其中,存储位置信息包括内存数据库中的分片标识信息、以及内存块标识信息。分片中包括多个内存块,内存块用于存储与用户的类别信息对应的值。
可选地,在本申请一具体实施例中,第一确定单元602,包括:判断单元、第一确定子单元以及第二确定子单元。
判断单元,用于根据用户的标识信息,判断内存数据库中是否存在与用户对应的分片。
第一确定子单元,用于若存在与用户对应的分片,则确定出用户在内存数据库中对应的存储位置信息。
第二确定子单元,用于若不存在与用户对应的分片,则生成与用户对应的分片,并确定出用户在生成的分片中所对应的存储位置信息。
可选地,在本申请一具体实施例中,第一确定单元602,包括:第一计算单元、第二计算单元、以及第三确定子单元。
第一计算单元,用于将用户的标识信息代入第一公式中,计算出用户在内存数据库中对应的分片标识信息。其中,第一公式为:key=n/p;key为用户在内存数据库中对应的分片标识信息,key为整数,n为用户的标识信息,n为整数,p为内存数据库中每一个分片中包含的内存块的总数。
第二计算单元,用于将用户的标识信息代入第二公式中,计算出内存块标识信息。其中,第二公式为:u=n%p;u为内存块的标识信息,u为整数。
第三确定子单元,用于根据用户在内存数据库中对应的分片标识信息以及内存块标识信息,确定出用户在内存数据库中对应的存储位置信息。
存储单元603,用于根据用户在内存数据库中对应的存储位置信息、以及用户的类别信息,将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。
可选地,在本申请一具体实施例中,存储装置600还包括:接收单元、第二确定单元、读取单元以及发送单元。
接收单元,用于接收客户端发送的请求信息。其中,请求信息用于请求获取用户的类别信息,请求信息中携带用户标识信息。
第二确定单元,用于根据请求信息中携带的用户标识信息,确定出用户在内存数据库中对应的存储位置信息。
读取单元,用于从用户在内存数据库中对应的存储位置中,读取与用户的类别信息对应的值,确定出用户的类别信息。
发送单元,用于将用户的类别信息发送至客户端。
上述示出的实施例公开的存储装置600中的各个单元具体的原理和执行过程,与图1示出的实施例公开的存储方法相同,可参见上述图1示出的实施例公开的存储方法中相应的部分,这里不再进行赘述。
本申请提供的存储装置600中,第一确定单元602根据用户的标识信息,确定出用户在内存数据库中对应的存储位置信息。其中,存储位置信息包括内存数据库中的分片标识信息、以及内存块标识信息,分片中包括多个内存块,内存块用于存储用户的类别信息对应的值。存储单元603又根据用户在内存数据库中对应的存储位置信息、以及用户的类别信息,将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置。由于本申请中将与用户的类别信息对应的值存储在用户在内存数据库中对应的存储位置,而用户在内存数据库中对应的存储位置又与用户的标识信息相对应,因此内存数据库中不再需要将每一个用户的标识信息以及对应的类别信息均存储下来,实现减少存储用户的类别信息时需要占用的内存。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例提供的存储方法。
本申请实施例提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以上各方法实施例提供的存储方法。
本申请实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例提供的存储方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种存储方法,其特征在于,包括:
获取用户信息;其中,所述用户信息包括所述用户的标识信息以及所述用户的类别信息;
根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息;其中,所述存储位置信息包括所述内存数据库中的分片标识信息、以及内存块标识信息;所述分片中包括多个内存块;所述内存块用于存储与所述用户的类别信息对应的值;
根据所述用户在内存数据库中对应的存储位置信息、以及所述用户的类别信息,将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息,包括:
根据所述用户的标识信息,判断所述内存数据库中是否存在与所述用户对应的分片;
若存在与所述用户对应的分片,则确定出所述用户在内存数据库中对应的存储位置信息;
若不存在与所述用户对应的分片,则生成与所述用户对应的分片,并确定出所述用户在生成的分片中所对应的存储位置信息。
3.根据权利要求1所述的方法,其特征在于,所述将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置之后,还包括:
接收客户端发送的请求信息;其中,所述请求信息用于请求获取所述用户的类别信息;所述请求信息中携带用户标识信息;
根据所述请求信息中携带的用户标识信息,确定出所述用户在内存数据库中对应的存储位置信息;
从所述用户在内存数据库中对应的存储位置中,读取与所述用户的类别信息对应的值,确定出所述用户的类别信息;
将所述用户的类别信息发送至所述客户端。
4.根据权利要求1所述的方法,其特征在于,所述根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息,包括:
将所述用户的标识信息代入第一公式中,计算出所述用户在所述内存数据库中对应的分片标识信息;其中,所述第一公式为:key=n/p;所述key为所述用户在所述内存数据库中对应的分片标识信息,所述key为整数;所述n为所述用户的标识信息;所述n为整数;所述p为所述内存数据库中每一个分片中包含的内存块的总数;
将所述用户的标识信息代入第二公式中,计算出内存块标识信息;其中,所述第二公式为:u=n%p;所述u为所述内存块的标识信息,u为整数;
根据所述用户在所述内存数据库中对应的分片标识信息以及所述内存块标识信息,确定出所述用户在内存数据库中对应的存储位置信息。
5.一种存储装置,其特征在于,包括:
获取单元,用于获取用户信息;其中,所述用户信息包括所述用户的标识信息以及所述用户的类别信息;
第一确定单元,用于根据所述用户的标识信息,确定出所述用户在内存数据库中对应的存储位置信息;其中,所述存储位置信息包括所述内存数据库中的分片标识信息、以及内存块标识信息;所述分片中包括多个内存块;所述内存块用于存储与所述用户的类别信息对应的值;
存储单元,用于根据所述用户在内存数据库中对应的存储位置信息、以及所述用户的类别信息,将与所述用户的类别信息对应的值存储在所述用户在内存数据库中对应的存储位置。
6.根据权利要求5所述的装置,其特征在于,所述第一确定单元,包括:
判断单元,用于根据所述用户的标识信息,判断所述内存数据库中是否存在与所述用户对应的分片;
第一确定子单元,用于若存在与所述用户对应的分片,则确定出所述用户在内存数据库中对应的存储位置信息;
第二确定子单元,用于若不存在与所述用户对应的分片,则生成与所述用户对应的分片,并确定出所述用户在生成的分片中所对应的存储位置信息。
7.根据权利要求5所述的装置,其特征在于,还包括:
接收单元,用于接收客户端发送的请求信息;其中,所述请求信息用于请求获取所述用户的类别信息;所述请求信息中携带用户标识信息;
第二确定单元,用于根据所述请求信息中携带的用户标识信息,确定出所述用户在内存数据库中对应的存储位置信息;
读取单元,用于从所述用户在内存数据库中对应的存储位置中,读取与所述用户的类别信息对应的值,确定出所述用户的类别信息;
发送单元,用于将所述用户的类别信息发送至所述客户端。
8.根据权利要求5所述的装置,其特征在于,所述第一确定单元,包括:
第一计算单元,用于将所述用户的标识信息代入第一公式中,计算出所述用户在所述内存数据库中对应的分片标识信息;其中,所述第一公式为:key=n/p;所述key为所述用户在所述内存数据库中对应的分片标识信息,所述key为整数;所述n为所述用户的标识信息;所述n为整数;所述p为所述内存数据库中每一个分片中包含的内存块的总数;
第二计算单元,用于将所述用户的标识信息代入第二公式中,计算出内存块标识信息;其中,所述第二公式为:u=n%p;所述u为所述内存块的标识信息,u为整数;
第三确定子单元,用于根据所述用户在所述内存数据库中对应的分片标识信息以及所述内存块标识信息,确定出所述用户在内存数据库中对应的存储位置信息。
9.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至4中任一项所述的存储方法。
10.一种设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的存储方法。
CN201910916753.XA 2019-09-26 2019-09-26 存储方法、装置、设备以及计算机可读介质 Active CN110659296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910916753.XA CN110659296B (zh) 2019-09-26 2019-09-26 存储方法、装置、设备以及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910916753.XA CN110659296B (zh) 2019-09-26 2019-09-26 存储方法、装置、设备以及计算机可读介质

Publications (2)

Publication Number Publication Date
CN110659296A true CN110659296A (zh) 2020-01-07
CN110659296B CN110659296B (zh) 2021-02-12

Family

ID=69039297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910916753.XA Active CN110659296B (zh) 2019-09-26 2019-09-26 存储方法、装置、设备以及计算机可读介质

Country Status (1)

Country Link
CN (1) CN110659296B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913966A (zh) * 2020-08-03 2020-11-10 深圳证券交易所 用户标签的保存方法、装置以及计算机可读存储介质
CN113347094A (zh) * 2021-06-22 2021-09-03 深圳壹账通智能科技有限公司 分片路由方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254182A1 (en) * 2010-12-09 2012-10-04 International Business Machines Corporation Partitioning management of system resources across multiple users
US20140181446A1 (en) * 2010-09-24 2014-06-26 Hitachi Data Systems Corporation System and method for optimizing protection levels when replicating data in an object storage system
CN107154945A (zh) * 2017-05-31 2017-09-12 中南大学 一种基于纠删码的多云碎片化安全存储方法及系统
CN107977570A (zh) * 2017-11-21 2018-05-01 福建中金在线信息科技有限公司 信息验证方法、装置、电子设备及存储介质
CN108319598A (zh) * 2017-01-16 2018-07-24 腾讯科技(北京)有限公司 数据缓存方法、装置和系统
CN108600859A (zh) * 2018-03-30 2018-09-28 深圳市网心科技有限公司 一种数据切片方法及系统
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110069219A (zh) * 2019-04-23 2019-07-30 深信服科技股份有限公司 一种数据存储方法、系统及电子设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181446A1 (en) * 2010-09-24 2014-06-26 Hitachi Data Systems Corporation System and method for optimizing protection levels when replicating data in an object storage system
US20120254182A1 (en) * 2010-12-09 2012-10-04 International Business Machines Corporation Partitioning management of system resources across multiple users
CN108319598A (zh) * 2017-01-16 2018-07-24 腾讯科技(北京)有限公司 数据缓存方法、装置和系统
CN107154945A (zh) * 2017-05-31 2017-09-12 中南大学 一种基于纠删码的多云碎片化安全存储方法及系统
CN107977570A (zh) * 2017-11-21 2018-05-01 福建中金在线信息科技有限公司 信息验证方法、装置、电子设备及存储介质
CN108600859A (zh) * 2018-03-30 2018-09-28 深圳市网心科技有限公司 一种数据切片方法及系统
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110069219A (zh) * 2019-04-23 2019-07-30 深信服科技股份有限公司 一种数据存储方法、系统及电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王伟: "用户创造内容存储模式的设计", 《中国优秀硕士学位论文全文数据库 经济与管理科学辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913966A (zh) * 2020-08-03 2020-11-10 深圳证券交易所 用户标签的保存方法、装置以及计算机可读存储介质
CN113347094A (zh) * 2021-06-22 2021-09-03 深圳壹账通智能科技有限公司 分片路由方法、装置、设备及存储介质
CN113347094B (zh) * 2021-06-22 2022-05-20 深圳壹账通智能科技有限公司 分片路由方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110659296B (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
US10223368B2 (en) Predictive object tiering based on object metadata
US8782635B2 (en) Reconfiguration of computer system to allow application installation
CN110287197B (zh) 一种数据存储方法、迁移方法及装置
CN106407207B (zh) 一种实时新增数据更新方法和装置
US10440132B2 (en) Tracking application usage in a computing environment
CN112346829A (zh) 一种用于任务调度的方法及设备
CN113179222A (zh) 热点数据的限流控制方法、装置、设备及存储介质
CN110968560B (zh) 日志采集器的配置方法、装置及系统
CN110659296B (zh) 存储方法、装置、设备以及计算机可读介质
US11750619B2 (en) Modify assigned privilege levels and limit access to resources
CN114091099A (zh) 一种针对业务系统的权限分级控制方法、设备及存储介质
CN111562884A (zh) 一种数据存储方法、装置及电子设备
US11960453B2 (en) Techniques for asynchronous snapshot invalidation
CN117763024A (zh) 一种数据分片抽取方法及装置
CN106888244B (zh) 一种业务处理方法及装置
CN115686746A (zh) 访问方法、任务处理方法、计算设备及计算机存储介质
US11481517B2 (en) System and method for determining permission profiles for computer executable functions
CN110321133B (zh) H5应用部署方法及装置
CN114513469A (zh) 分布式系统的流量整形方法、装置和存储介质
CN110874268B (zh) 数据处理方法、装置和设备
CN112434237A (zh) 页面加载方法、装置、电子设备及存储介质
JP6679445B2 (ja) 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
CN117806571B (zh) 一种云主机的i/o参数值确定方法、计算机设备及其云平台
CN113687973B (zh) 一种日志动态化输出的控制方法、设备及介质
CN110968888B (zh) 一种数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210111

Address after: 510000 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 28th floor, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200107

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000052

Denomination of invention: Storage method, apparatus, apparatus and computer readable medium

Granted publication date: 20210212

License type: Common License

Record date: 20210222