CN112597198A - 一种用户数据查询方法和装置、服务器和存储介质 - Google Patents
一种用户数据查询方法和装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN112597198A CN112597198A CN202011511290.8A CN202011511290A CN112597198A CN 112597198 A CN112597198 A CN 112597198A CN 202011511290 A CN202011511290 A CN 202011511290A CN 112597198 A CN112597198 A CN 112597198A
- Authority
- CN
- China
- Prior art keywords
- user data
- cache
- query
- target
- user
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种用户数据查询方法和装置、服务器和存储介质,涉及数据处理领域,能够提高用户数据查询的效率。该方法包括:接收批量查询指令;批量查询指令携带有查询条件;依据第一预设规则从至少一个缓存中获取对应查询条件的第一用户数据;发送第一用户数据。该方法应用于用户数据查询。
Description
技术领域
本公开实施例涉及数据处理领域,尤其涉及一种用户数据查询方法和装置、服务器和存储介质。
背景技术
现有的各大应用针对用户的好友开发有各种排行榜,例如:好友积分排行榜、好友等级排行榜、好友关注度排行榜等。
目前,各类排行榜的生产方法都是将所有的用户数据都是存储在数据库中,然后在某个用户需要查看排行榜时,从数据库中查询该用户所有好友的数据,而后对获取到的数据排序后返回给客户端。但是这种方式中,一个用户有多少个好友,便需要从数据库中查询多少次,查询时间随着好友数量的增多而增多,一旦好友数量过大,查询过程会很慢,而且极大的占用了数据库的服务资源,影响数据库的正常服务。
发明内容
本公开关于一种用户数据查询方法和装置、服务器和存储介质,能够提高用户数据查询的效率。
为达到上述目的,本公开实施例采用如下技术方案:
第一方面,提供一种用户数据查询方法,包括:接收批量查询指令;批量查询指令携带有查询条件;依据第一预设规则从至少一个缓存中获取对应查询条件的第一用户数据;发送第一用户数据。
基于上述技术方案,在需要获取用户数据来设置排行榜等服务时,本公开会直接从缓存中获取相应的数据,而且缓存本身可以支持批量查询指令,进而可以快捷的从至少一个缓存中查询到所有需要的数据。而且因为缓存提取数据相比从数据库提取数据要快的多,所以相比于现有从数据库中查询用户数据的方式,本公开提供的技术方案,可以使得用户数据的查询过程更快捷。进一步的,因为将用户数据的查询过程从数据库转移到了缓存中,所以本公开提供的技术方案可以使得数据库服务资源的消耗降低,进而使得数据库可以更好的实现其他服务。
可选的,在接收批量查询指令之前,还包括:从预设数据库获取至少一个用户数据;将至少一个用户数据按照第二预设规则存储在至少一个缓存中。
可选的,将至少一个用户数据按照第二预设规则存储在至少一个缓存中,包括:根据用户数据对应的目标参数和目标个数,将至少一个用户数据分为目标个数个用户数据组;目标个数为至少一个缓存中缓存的数量;将目标个数个用户数据组存储在至少一个缓存中;每一个缓存中存储一个用户数据组。
可选的,在目标参数为用户身份标识码的情况下,根据用户数据对应的目标参数和目标个数,将至少一个用户数据分为目标个数个用户数据组,包括:计算用户数据对应的用户身份标识码对目标个数的模数;将对应的用户身份标识码对目标个数的模数相同的用户数据确定为同一组用户数据。
可选的,将目标个数个用户数据组存储在至少一个缓存中,包括:将用户数据组中每一个用户数据按照预设存储方式存储在用户数据组中对应的缓存中。
可选的,在查询条件包括至少一个目标参数的情况下,依据第一预设规则从至少一个缓存中获取对应查询条件的第一用户数据,包括:根据目标参数和目标个数,确定目标参数对应的缓存;在目标参数对应的缓存中获取与目标参数对应的第一用户数据。
可选的,在目标参数为用户身份标识码的情况下,根据至少一个目标参数和目标个数,定每一个目标参数对应的缓存,包括:计算用户身份标识码对目标个数的第一模数;将第一模数对应的缓存确定为对应用户身份标识码对应的缓存。
可选的,该方法还包括:在至少一个缓存中不存在与第一目标参数对应的第二用户数据的情况下,从预设数据库中获取包含第一目标参数的第二用户数据;第一目标参数为至少一个目标参数中的一个或多个;发送第二用户数据。
可选的,从预设数据库中获取对应第一目标参数的第二用户数据之后,还包括:计算第一目标参数对目标个数的第二模数;将第二用户数据按照预设存储方式存储于第二模数对应的缓存中。
可选的,预设存储方式包括:将需要存储的用户数据对应的目标参数作为关键字,将需要存储的用户数据作为值,以关键字取值key-value的存储方式存储。
可选的,该方法还包括:在需要更新第三用户数据的情况下,同步更新预设数据库中和缓存中的第三用户数据。
第二方面,提供一种用户数据查询装置,该装置包括接收模块、查询模块和发送模块。其中,接收模块,被配置为接收批量查询指令;批量查询指令携带有查询条件;查询模块,被配置为依据第一预设规则从至少一个缓存中获取对应接收模块接收的查询条件的第一用户数据;发送模块,被配置为发送查询模块获取的第一用户数据。
可选的,该装置还包括获取模块和存储模块。其中,获取模块,被配置为从预设数据库获取至少一个用户数据;存储模块,被配置为将获取模块获取的至少一个用户数据按照第二预设规则存储在至少一个缓存中。
可选的,存储模块具体被配置为:根据获取模块获取的用户数据对应的目标参数和目标个数,将至少一个用户数据分为目标个数个用户数据组;目标个数为至少一个缓存中缓存的数量;将目标个数个用户数据组存储在至少一个缓存中;每一个缓存中存储一个用户数据组。
可选的,在目标参数为用户身份标识码的情况下,存储模块具体被配置为:计算用户数据对应的用户身份标识码对目标个数的模数;将对应的用户身份标识码对目标个数的模数相同的用户数据确定为同一组用户数据。
可选的,存储模块具体被配置为:将用户数据组中每一个用户数据按照预设存储方式存储在用户数据组中对应的缓存中。
可选的,在查询条件包括至少一个目标参数的情况下,查询模块具体被配置为:根据接收模块接收的目标参数和目标个数,确定目标参数对应的缓存;在目标参数对应的缓存中获取与目标参数对应的第一用户数据。
可选的,在目标参数为用户身份标识码的情况下,查询模块具体被配置为:计算用户身份标识码对目标个数的第一模数;将第一模数对应的缓存确定为对应用户身份标识码对应的缓存。
可选的,查询模块还被配置为在至少一个缓存中不存在与第一目标参数对应的第二用户数据的情况下,从预设数据库中获取包含第一目标参数的第二用户数据;第一目标参数为接收模块接收的至少一个目标参数中的一个或多个;发送模块还被配置为发送查询模块获取的第二用户数据。
可选的,存储模块还被配置为:计算第一目标参数对目标个数的第二模数;将查询模块获取的第二用户数据按照预设存储方式存储于第二模数对应的缓存中。
可选的,预设存储方式包括:将需要存储的用户数据对应的目标参数作为关键字,将需要存储的用户数据作为值,以关键字取值key-value的存储方式存储。
可选的,该装置还包括更新模块;其中,更新模块,被配置为在需要更新第三用户数据的情况下,同步更新预设数据库中和缓存中的第三用户数据。
第三方面,提供一种服务器,该服务器包括处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面提供及其任一种可能的实施方式的用户数据查询方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器执行如第一方面提供及其任一种可能的实施方式的用户数据查询方法。
第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以在计算机上运行,使得计算机执行如第一方面及其任一种可能的实施方式的用户数据查询方法。
可以理解地,上述提供的第二方面至第五方面的方案,均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本公开实施例提供一种实施例环境示意图;
图2为本公开实施例提供一种用户数据查询方法的流程示意图一;
图3为本公开实施例提供一种用户数据查询方法的流程示意图二;
图4为本公开实施例提供一种用户数据查询方法的流程示意图三;
图5为本公开实施例提供一种用户数据查询方法的流程示意图四;
图6为本公开实施例提供的一种用户数据查询方法的流程示意图五;
图7为本公开实施例提供的一种用户数据查询方法的流程示意图六;
图8为本公开实施例提供的一种用户数据查询方法的流程示意图七;
图9为本公开实施例提供的一种用户数据查询装置的结构示意图;
图10为本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。
本公开所涉及的用户数据可以为经用户授权或者经过各方充分授权的用户数据。
首先,对本公开所提供的技术方案的应用场景进行介绍:
请参考图1,为本公开实施例提供的一种实施环境的示意图。该实施环境可以包括客户端01和服务器02,客户端01通过有线通讯方式或无线通讯方式与服务器02通信。
示例性的,本公开实施例中的客户端01可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用某些应用(如快手)的设备,本申请实施例对该客户端的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
示例性的,本公开中的服务器02可以是一台服务器,也可以是多台服务器组成的服务器集群,或者是一个云计算服务中心,本公开对此不做限定。本公开中,服务器02可以包括多个应用服务平台,每个应用服务平台唯一对应一个应用程序。该应用程序安装于客户端01上,并可以通过客户端01的内容显示界面上显示好友排行榜。服务器02主要用于存储客户端01上安装的应用的相关数据,可以在接收到客户端01发送的排行榜请求时,将相应的用户数据发送给客户端。服务器02可以与至少一个客户端01连接,本公开对客户端01的数量及类型均不做具体限制。
如背景技术中所述,客户端在接收到用户操作,需要显示好友排行榜时,客户端会去从存储有用户数据的数据库(设置在服务器中)中查找相应的数据,但是这种查询数据的方式,查询速度慢,而且会影响数据库的正常服务能力。
针对上述问题,本公开实施例提供一种用户数据查询方法,能够提高用户查询的效率,提高用户体验。该方法的具体执行主体可以为图1中所示的服务器或客户端。当执行主体为客户端时,客户端本身应当具备有服务器的性能或本身为服务器。
参照图2所示,为本公开实施例提供的一种用户数据查询方法的流程示意图。该方法由用户数据查询装置执行,用户数据查询装置可以为图1中所示的服务器或者其中的一部分,该用户数据查询方法可以包括201-203:
201、接收批量查询指令;批量查询指令携带有查询条件。
其中,批量查询指令可以是客户端发送给服务器的,具体可以是用户通过对客户端的显示界面上的排行榜控件进行操作(点击、长按等)后,由客户端生成发送给服务器的。查询条件中可以包括该排行榜控件对应的排行榜需要的用户数据的一些特征参数或者条件。
示例性的,批量查询指令可以为MGETAAAA(查询条件)。
202、依据第一预设规则从至少一个缓存中获取对应查询条件的第一用户数据。
其中,至少一个缓存为服务器本身的缓存,因为用户数据量会很大,所以一个缓存的存储空间可能不够,所以本公开中,会在服务器中设置至少一个缓存。至少一个缓存中可以包括对应查询条件的所有用户数据,也可以包括对应查询条件的一部分数据,202步骤中仅表明可以从至少一个缓存中获取对应查询条件的第一用户数据,第一用户数据可以是批量查询指令需要的所有用户数据,也可以是其中一部分。
203、发送第一用户数据。
具体的,因为在本公开中,批量查询指令可以是响应于用户在客户端上对排行榜控件操作后生成的,所以其中可以携带有排序请求下,在这种情况下,这里的第一用户数据可以是根据该排序要求排序后的用户数据。当然,在排序过程可以由客户端完成的情况下,批量查询指令也可以不携带该排序请求,这种情况下,服务器只需要向客户端发送查询到的所有用户数据即可。
示例性的,在本公开中,用户数据可以包括:用户身份标识码、用户图像、用户级别、用户资金、用户类别等。
基于上述技术方案,在需要获取用户数据来设置排行榜等服务时,本公开会直接从缓存中获取相应的数据,而且缓存本身可以支持批量查询指令,进而可以快捷的从至少一个缓存中查询到所有需要的数据。而且因为缓存提取数据相比从数据库提取数据要快的多,所以相比于现有从数据库中查询用户数据的方式,本公开提供的技术方案,可以使得用户数据的查询过程更快捷。进一步的,因为将用户数据的查询过程从数据库转移到了缓存中,所以本公开提供的技术方案可以使得数据库服务资源的消耗降低,进而使得数据库可以更好的实现其他服务。
可选的,为了保证上述201-203步骤的顺利实施,结合图2,参照图3所示,在201步骤前还包括S1和S2:
S1、从预设数据库获取至少一个用户数据。
其中,预设数据库为服务器中的特定应用的服务平台从各个安装有该特定应用的客户端中获取的和该特定应用相关的数据(包括用户数据)。
S2、将至少一个用户数据按照第二预设规则存储在至少一个缓存中。
这样一来,因为事先从预设数据库中获取到用户数据并存储在至少一个缓存中,所以后续需要获取用户数据时,便可以从缓存中获取,提高用户数据的查询效率。
在一种可实现的方式中,结合图3,参照图4所示,S2步骤具体可以包括S21和S22:
S21、根据用户数据对应的目标参数和目标个数,将至少一个用户数据分为目标个数个用户数据组。
其中,目标个数为至少一个缓存中缓存的数量。目标参数可以是对应用户数据的某个参数,也可以是用户数据中包含的一种参数(例如身份标识等)。
示例性的,例如存在10个用户数据,至少一个缓存的数量为5,则会将这10个用户数据根据其对应的目标参数和目标个数,依据一定的规则分成5组,后续则在每一个缓存中存储一组用户数据。
S22、将目标个数个用户数据组存储在至少一个缓存中;每一个缓存中存储一个用户数据组。
这样一来,便可以在每个缓存中存储一个用户数据组,使得至少一个缓存存储用户数据符合一定的规则,使得后续需要从至少一个缓存中查询数据时,可以更方便的根据这个规则查询相应的用户数据。
在一种可实现的方式中,在目标参数为用户身份标识码的情况下,结合图4,参照图5所示,S21具体可以包括S211和S212:
S211、计算用户数据对应的用户身份标识码对目标个数的模数。
其中,用户数据中可以包含用户身份标识码。
示例性的,以用户身份标识码为10,至少一个缓存的数量为3为例,用户身份标识码对目标个数的模数10%3=1。
S212、将对应的用户身份标识码对目标个数的模数相同的用户数据确定为同一组用户数据。
以至少一个缓存为缓存0、缓存1、缓存2,9个用户数据对应的用户身份标识码分别为1、2、3、4、5、6、7、8和9为例,9个用户数据对应的用户身份标识码对目标个数的模数分别为:1、2、0、1、2、0、1、2、0,则依据S212的规则,则可以将对应的用户身份标识码对目标个数的模数为1的用户数据确定为同一用户数据组,存入缓存0中;将对应的用户身份标识码对目标个数的模数为2的用户数据确定为同一用户数据组,存入缓存1中;将对应的用户身份标识码对目标个数的模数为0的用户数据确定为同一用户数据组,存入缓存2中。当然,实际中也可以是其他存入方式,只要每一个缓存对应一个用户数据组即可。
这样一来,便可以使用用户份份标识码对目标个数的模数为依据,将至少一个用户数据分为目标个数个用户数据组。使得后续需要从至少一个缓存中查询数据时,使用批量查询指令,便可以最多查询目标个数次便可以查询到所有符合条件的用户数据。
在一种可实现的方式中,结合图4,参照图5所示,S22步骤具体可以为:将用户数据组中每一个用户数据按照预设存储方式存储在用户数据组中对应的缓存中。
这样一来,因为在缓存中都使用了同一种存储方式存储用户数据,所以在后续查询时可以使用统一的查询方式,查询的效率也就更高。
示例性的,预设存储方式可以为:将需要存储的用户数据对应的目标参数作为关键字,将需要存储的用户数据作为值,以关键字取值key-value的存储方式存储。
这样一来,使用key-value的方式在缓存中存储用户数据,因为key-value本身就会使得查找更为快捷,所以可以进一步增加用户数据查询的效率。
可选的,结合图4,参照图6所示,在查询条件包括至少一个目标参数的情况下,202步骤具体可以包括2021和2022:
2021、根据目标参数和目标个数,确定目标参数对应的缓存。
其中,目标参数可以在用户触发客户端向服务器发送批量查询指令时,客户端自动获取并加载在批量查询指令中。
因为目标参数是对应一个用户数据的,而且每个用户数据所在的缓存,也可以其对应的目标参数和至少一个缓存的数量决定的,所以这里可以使用目标参数和目标个数,确定查询条件中包括的每一个目标参数对应的用户数据所在的缓存,方便后续查询获取。
2022、在目标参数对应的缓存中获取与目标参数对应的第一用户数据。
这样一来,因为在查询时,可以迅速根据目标参数和目标个数确定每个需要的用户数据所在的缓存,进而可以使得查询效率更高。
进一步可选的,结合图6,参照图7所示,在目标参数为用户身份标识码的情况下,2021步骤具体可以包括X1和X2:
X1、计算用户身份标识码对目标个数的第一模数。
其中,用户身份标识码可以在用户触发客户端向服务器发送批量查询指令时,客户端自动获取并加载在批量查询指令中。
具体的,如何计算用户身份标识码对目标个数的第一模数可参照前述S211步骤的相关表述,此处不再赘述。
X2、将第一模数对应的缓存确定为对应用户身份标识码对应的缓存。
这样一来,便可以使用用户身份标识码对目标个数的第一模数为依据,快速的确定每一个用户身份标识码对一个的用户数据所在的缓存,使得查询过程更为快捷。
在一种可实现的方式中,结合图6,参照图7所示,该方法还包括204和205:
204、在至少一个缓存中不存在与第一目标参数对应的第二用户数据的情况下,从预设数据库中获取包含第一目标参数的第二用户数据。
其中,第一目标参数为至少一个目标参数中的一个或多个。
具体的,因为在实际中,因为缓存存储量有限,会设置存储数据的时限的原因或者程序的bug等原因,导致至少一个缓存中仅存在客户端发送的批量查询指令对应的用户数据中的一部分,此时则需要服务器从预设数据库中查找相应的数据。
205、发送第二用户数据
这样一来,一旦缓存中存储的数据不能够包含批量查询指令对应的所有用户数据时,可以及时从预设数据库中获取相应的用户数据,保证了用户数据的查询可靠性。
进一步可选的,为了保证能够及时从缓存中获取批量查询指令对应的所有用户数据,结合图7,参照图8所示,在205步骤之后还包括206和207:
206、计算第一目标参数对目标个数的第二模数。
其中,第一目标参数为用户身份标识码。
具体的,如何计算用户身份标识码对目标个数的第二模数可参照前述S211步骤的相关表述,此处不再赘述。
207、将第二用户数据按照预设存储方式存储于第二模数对应的缓存中。
这样一来,便可以将用户需要单缓存中不存在的用户数据,以存储其他用户数据相同的存储规则存储在对应的缓存中,进而保证后续再次请求该第一目标参数对应的用户数据时,可以顺利从对应的缓存中查询到该第一目标参数对应的用户数据。
可选的,结合图2,参照图8所示,该方法还包括208:
208、在需要更新第三用户数据的情况下,同步更新预设数据库中和缓存中的第三用户数据。
其中,第三用户数据应为预设数据库中和缓存中均存储的用户数据。
这样一来,便可以使得预设数据库和缓存中均是最新的数据,保证客户端获取到的用户数据是最新的数据,进而保证排行榜也是最新的,提高用户体验。
上述明主要从服务器的角度对本公开实施例提供的方案进行了介绍。可以理解的是,服务器可以分别通过其中配置的用户数据查询装置实现上述功能。为了实现上述功能,用户数据查询装置包含了执行各个功能相应的硬件结构和/或软件模块,这些执行各个功能相应的硬件结构和/或软件模块可以构成一个服务器。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,服务器可以包括用户数据查询装置,用户数据查询装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出了应用在图1中所示服务器02中的用户数据查询装置03的一种可能的结构示意图,该用户数据查询装置03包括:接收模块31、查询模块32和发送模块33。
其中,接收模块31,被配置为接收批量查询指令;批量查询指令携带有查询条件;查询模块32,被配置为依据第一预设规则从至少一个缓存中获取对应接收模块31接收的查询条件的第一用户数据;发送模块33,被配置为发送查询模块32获取的第一用户数据。
可选的,该装置还包括获取模块34和存储模块35。其中,获取模块34,被配置为从预设数据库获取至少一个用户数据;存储模块35,被配置为将获取模块34获取的至少一个用户数据按照第二预设规则存储在至少一个缓存中。
可选的,存储模块35具体被配置为:根据获取模块34获取的用户数据对应的目标参数和目标个数,将至少一个用户数据分为目标个数个用户数据组;目标个数为至少一个缓存中缓存的数量;将目标个数个用户数据组存储在至少一个缓存中;每一个缓存中存储一个用户数据组。
可选的,在目标参数为用户身份标识码的情况下,存储模块35具体被配置为:计算用户数据对应的用户身份标识码对目标个数的模数;将对应的用户身份标识码对目标个数的模数相同的用户数据确定为同一组用户数据。
可选的,存储模块35具体被配置为:将用户数据组中每一个用户数据按照预设存储方式存储在用户数据组中对应的缓存中。
进一步可选的,预设存储方式包括:将需要存储的用户数据对应的目标参数作为关键字,将需要存储的用户数据作为值,以关键字取值key-value的存储方式存储。
可选的,在查询条件包括至少一个目标参数的情况下,查询模块32具体被配置为:根据接收模块31接收的目标参数和目标个数,确定目标参数对应的缓存;在目标参数对应的缓存中获取与目标参数对应的第一用户数据。
可选的,在目标参数为用户身份标识码的情况下,查询模块32具体被配置为:计算用户身份标识码对目标个数的第一模数;将第一模数对应的缓存确定为对应用户身份标识码对应的缓存。
可选的,查询模块32还被配置为在至少一个缓存中不存在与第一目标参数对应的第二用户数据的情况下,从预设数据库中获取包含第一目标参数的第二用户数据;第一目标参数为接收模块31接收的至少一个目标参数中的一个或多个;发送模块33还被配置为发送查询模块32获取的第二用户数据。
可选的,存储模块35还被配置为:计算第一目标参数对目标个数的第二模数;将查询模块32获取的第二用户数据按照预设存储方式存储于第二模数对应的缓存中。
可选的,该装置还包括更新模块36;其中,更新模块36,被配置为在需要更新第三用户数据的情况下,同步更新预设数据库中和缓存中的第三用户数据。
关于上述实施例中的用户数据查询装置,其中各个模块执行操作的具体方式已经在前述中的评论内容的显示方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在采用集成的单元的情况下,图10是根据一示例性实施例示出的如图1所示的服务器02的一种可能的结构示意图,该服务器02可以是上述的用户数据查询装置03。如图10所示,该服务器02包括处理器41和存储器42。其中,存储器42用于存储处理器41可执行的指令,处理器41则可以实现上述实施例中用户数据查询装置03中各个模块的功能。
其中,在具体的实现中,作为一种实施例,处理器41(41-1和41-2)可以包括一个或多个CPU,例如图10中所示的CPU0和CPU1。且作为一种实施例,空调的控制装置可以包括多个处理器41,例如图10中所示的处理器41-1和处理器41-2。这些处理器41中的每一个CPU可以是一个单核处理器(Single-CPU),也可以是一个多核处理器(Multi-CPU)。这里的处理器41可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。处理器501可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器42可以是只读存储器42(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘可读存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器42可以是独立存在,通过总线43与处理器41相连接。存储器42也可以和处理器41集成在一起。
总线43,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
另外,为了方便服务器02与其他设备(例如开发客户端)进行信息交互,该服务器02包括通信接口44。通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,RAN),无线局域网(wirelesslocal area networks,WLAN)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
本领域技术人员可以理解,图10中示出的结构并不构成对服务器的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有指令,当该可读存储介质上的指令由服务器的处理器执行时,使得服务器能够执行前述实施例中提供的应用在服务器上的用户数据查询方法。
本公开实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例提供的用户数据查询方法。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种用户数据查询方法,其特征在于,包括:
接收批量查询指令;所述批量查询指令携带有查询条件;
依据第一预设规则从至少一个缓存中获取对应所述查询条件的第一用户数据;
发送所述第一用户数据。
2.根据权利要求1所述的用户数据查询方法,其特征在于,在接收批量查询指令之前,还包括:
从预设数据库获取至少一个用户数据;
将所述至少一个用户数据按照第二预设规则存储在所述至少一个缓存中。
3.根据权利要求2所述的用户数据查询方法,其特征在于,所述将所述至少一个用户数据按照第二预设规则存储在所述至少一个缓存中,包括:
根据所述用户数据对应的目标参数和目标个数,将所述至少一个用户数据分为目标个数个用户数据组;所述目标个数为所述至少一个缓存中缓存的数量;
将所述目标个数个用户数据组存储在所述至少一个缓存中;每一个缓存中存储一个用户数据组。
4.根据权利要求3所述的用户数据查询方法,其特征在于,在所述目标参数为用户身份标识码的情况下,所述根据所述用户数据对应的目标参数和所述目标个数,将所述至少一个用户数据分为目标个数个用户数据组,包括:
计算所述用户数据对应的用户身份标识码对所述目标个数的模数;
将对应的用户身份标识码对所述目标个数的模数相同的用户数据确定为同一组用户数据。
5.根据权利要求3所述的用户数据查询方法,其特征在于,在所述查询条件包括至少一个目标参数的情况下,所述依据第一预设规则从至少一个缓存中获取对应所述查询条件的第一用户数据,包括:
根据所述目标参数和所述目标个数,确定所述目标参数对应的缓存;
在所述目标参数对应的缓存中获取与所述目标参数对应的第一用户数据。
6.根据权利要求5所述的用户数据查询方法,其特征在于,在所述目标参数为用户身份标识码的情况下,所述根据所述至少一个目标参数和所述目标个数,确定每一个目标参数对应的缓存,包括:
计算所述用户身份标识码对目标个数的第一模数;
将所述第一模数对应的缓存确定为对应所述用户身份标识码对应的缓存。
7.根据权利要求5所述的用户数据查询方法,其特征在于,还包括:
在所述至少一个缓存中不存在与第一目标参数对应的第二用户数据的情况下,从预设数据库中获取包含所述第一目标参数的第二用户数据;所述第一目标参数为所述至少一个目标参数中的一个或多个;
发送所述第二用户数据。
8.一种用户数据查询装置,其特征在于,包括:
接收模块,被配置为接收批量查询指令;所述批量查询指令携带有查询条件;
查询模块,被配置为依据第一预设规则从至少一个缓存中获取对应所述接收模块接收的所述查询条件的第一用户数据;
发送模块,被配置为发送所述查询模块获取的所述第一用户数据。
9.一种服务器,其特征在于,所述服务器包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的用户数据查询方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器执行如权利要求1-7中任一项所述的用户数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011511290.8A CN112597198A (zh) | 2020-12-18 | 2020-12-18 | 一种用户数据查询方法和装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011511290.8A CN112597198A (zh) | 2020-12-18 | 2020-12-18 | 一种用户数据查询方法和装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597198A true CN112597198A (zh) | 2021-04-02 |
Family
ID=75199677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011511290.8A Pending CN112597198A (zh) | 2020-12-18 | 2020-12-18 | 一种用户数据查询方法和装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597198A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867607A (zh) * | 2010-05-21 | 2010-10-20 | 北京无限立通通讯技术有限责任公司 | 一种分布式数据存取方法、装置及系统 |
WO2014000567A1 (zh) * | 2012-06-26 | 2014-01-03 | 腾讯科技(深圳)有限公司 | 指令获取及下发方法、系统和终端及服务器、存储介质 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN109033315A (zh) * | 2018-07-18 | 2018-12-18 | 张小剑 | 数据查询方法、客户端、服务器及计算机可读介质 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
CN110928904A (zh) * | 2019-10-31 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种数据查询方法、装置及相关组件 |
-
2020
- 2020-12-18 CN CN202011511290.8A patent/CN112597198A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867607A (zh) * | 2010-05-21 | 2010-10-20 | 北京无限立通通讯技术有限责任公司 | 一种分布式数据存取方法、装置及系统 |
WO2014000567A1 (zh) * | 2012-06-26 | 2014-01-03 | 腾讯科技(深圳)有限公司 | 指令获取及下发方法、系统和终端及服务器、存储介质 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN109033315A (zh) * | 2018-07-18 | 2018-12-18 | 张小剑 | 数据查询方法、客户端、服务器及计算机可读介质 |
CN110032567A (zh) * | 2019-04-24 | 2019-07-19 | 江苏满运软件科技有限公司 | 报表查询方法、装置、服务器和存储介质 |
CN110928904A (zh) * | 2019-10-31 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种数据查询方法、装置及相关组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150326644A1 (en) | Traveling map-reduce architecture | |
WO2018223772A1 (zh) | 内容推荐方法和系统 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
WO2014146441A1 (en) | Method, server and system for processing task data | |
CN113853599A (zh) | 有效的新鲜度爬行调度 | |
CN114006946B (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
CN104144170A (zh) | 网页地址的过滤方法、装置和系统 | |
CN111400301A (zh) | 一种数据查询方法、装置及设备 | |
CN110990714B (zh) | 一种用户行为意图预测方法和装置 | |
WO2013145004A1 (ja) | 情報処理装置、情報処理方法および情報処理システム | |
CN112597198A (zh) | 一种用户数据查询方法和装置、服务器和存储介质 | |
CN116151631A (zh) | 一种业务决策处理系统、一种业务决策处理方法和装置 | |
CN114637969A (zh) | 目标对象的鉴权方法及装置 | |
CN110995574B (zh) | 用户信息管理方法、获取方法和系统 | |
US9280384B2 (en) | Method, server and system for processing task data | |
CN109088913B (zh) | 请求数据的方法和负载均衡服务器 | |
CN114115796A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN107205034B (zh) | 一种数据共享设备及方法 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN113806595B (zh) | 一种代码搜索系统生成方法、代码搜索方法和搜索服务器 | |
CN113467823B (zh) | 一种配置信息的获取方法、装置、系统及存储介质 | |
CN114265997B (zh) | 页面信息的输出方法、装置、存储介质以及终端 | |
CN110209914B (zh) | 一种信息查询方法及相关装置 | |
CN110245146B (zh) | 一种用户识别的方法及相关装置 | |
CN115544148A (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 |