CN112445873B - 列表显示处理方法、相关装置、设备及介质 - Google Patents
列表显示处理方法、相关装置、设备及介质 Download PDFInfo
- Publication number
- CN112445873B CN112445873B CN202011390918.3A CN202011390918A CN112445873B CN 112445873 B CN112445873 B CN 112445873B CN 202011390918 A CN202011390918 A CN 202011390918A CN 112445873 B CN112445873 B CN 112445873B
- Authority
- CN
- China
- Prior art keywords
- sorting
- list
- values
- data
- value
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
-
- 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/26—Visual data mining; Browsing structured data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种列表显示处理方法,包括:接收列表显示指令;根据列表显示指令向服务器请求列表数据;其中,请求的列表数据的原始数据在多个不同数据库表的多个字段中;接收服务器返回的列表数据;返回的列表数据为服务器根据维护的排序值表选取的列表数据;排序值表为一个字段,包括多个排序值;排序值为服务器分别对多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;根据列表数据进行列表显示。可以很好地解决现有技术中数据库查询数据时容易卡死的技术问题。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种列表显示处理方法、列表显示处理装置、列表显示处理设备及计算机可读存储介质。
背景技术
随着计算机网络计算的快速发展,特别是移动互联网的发展,移动互联网正逐渐渗透到人们生活、工作的各个领域。用户只要按照自身的需求在电子设备上安装各种应用程序,便可以完成各种事务。
在移动终端比如智能手机,用户在使用各应用平台或软件的过程中,往往需要向服务器请求显示一些列表数据。例如,基于即时通信软件或平台,用户在刷新或显示用户列表时,服务器接收到列表数据请求,然后在数据库中查询发起请求的用户所对应的列表数据。
现有技术在JAVA实现MySql数据库多表排序、复杂排序逻辑查询时,往往单纯地依靠数据库本身结构化查询语言(Structured Query Language,SQL)进行查询,然而由于数据量非常大,会对数据库造成很大压力。特别涉及多条件排序规则,并且各规则均来自不动的数据库表的时候,当数据库用户量达到百万级以上时,通过现有技术的SQL查询容易造成数据库卡死。
发明内容
本申请实施例提供一种列表显示处理方法、列表显示处理装置、列表显示处理设备及计算机可读存储介质,可以很好地解决现有技术中数据库查询数据时容易卡死的技术问题。
第一方面,本申请实施例提供了一种列表显示处理方法,该方法包括:
接收列表显示指令;
根据所述列表显示指令向服务器请求列表数据;其中,请求的所述列表数据的原始数据在多个不同数据库表的多个字段中;
接收所述服务器返回的列表数据;返回的所述列表数据为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
根据所述列表数据进行列表显示。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
第二方面,本申请实施例提供了一种列表显示处理方法,包括:
生成并维护排序值表;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
接收终端发送的列表数据请求;
根据所述排序值表选取列表数据;
将选取的所述列表数据发送给所述终端。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
在一种可能的实现方式中,所述多个不同数据库表的N个字段生成对应的N个数值;所述排序值为所述N个数值拼接后的值;
所述生成并维护排序值表,包括:当存在目标排序值集合的情况下,将所述目标排序值集合中的每个排序值后面再拼接一个随机数;其中,所述目标排序值集合由数值相同的排序值组成。
在一种可能的实现方式中,所述随机数的位数x与所述目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数。
在一种可能的实现方式中,所述多个不同数据库表的多个字段包括:是否在应用内、在线类型、是否空闲、认证情况、完善资料情况、好评率、用户最近的一次视频或语音的结束时间点、是否是IOS用户。
第三方面,本申请实施例提供了一种列表显示处理装置,包括:
指令接收单元,用于接收列表显示指令;
请求单元,用于根据所述列表显示指令向服务器请求列表数据;其中,请求的所述列表数据的原始数据在多个不同数据库表的多个字段中;
数据接收单元,用于接收所述服务器返回的列表数据;返回的所述列表数据为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
显示单元,用于根据所述列表数据进行列表显示。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
第四方面,本申请实施例提供了一种列表显示处理装置,包括:
生成维护单元,用于生成并维护排序值表;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
请求接收单元,用于接收终端发送的列表数据请求;
数据选取单元,用于根据所述排序值表选取列表数据;
数据发送单元,用于将选取的所述列表数据发送给所述终端。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
在一种可能的实现方式中,所述多个不同数据库表的N个字段生成对应的N个数值;所述排序值为所述N个数值拼接后的值;
所述生成维护单元具体用于:当存在目标排序值集合的情况下,将所述目标排序值集合中的每个排序值后面再拼接一个随机数;其中,所述目标排序值集合由数值相同的排序值组成。
在一种可能的实现方式中,所述随机数的位数x与所述目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数。
在一种可能的实现方式中,所述多个不同数据库表的多个字段包括:是否在应用内、在线类型、是否空闲、认证情况、完善资料情况、好评率、用户最近的一次视频或语音的结束时间点、是否是苹果公司开发的移动操作***(IOS)用户。
第五方面,本申请实施例提供了一种列表显示处理设备,所述列表显示处理设备包括处理器和存储器,所述存储器用于程序,所述处理器执行所述存储器存储的程序,当存储器存储的程序被执行时,所述处理器用于执行如上述第一方面或第二方面中任意一种实现方式提供的列表显示处理方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面中任意一种实现方式提供的列表显示处理方法。
第七方面,本申请实施例还提供了一种计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面中任意一种实现方式提供的列表显示处理方法。
本申请实施例通过服务器根据维护的排序值表选取的列表数据;排序值表为一个字段,包括多个排序值;排序值为服务器分别对多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;也就是说服务器可以实现将各个排序规则统一维护成排序值,以将MySql数据库多表多字段统计为一个字段,从而可以大大优化了SQL的查询时间,解决了现有技术中由于数据量非常大,会对数据库造成很大压力,特别涉及多条件排序规则,并且各规则均来自不动的数据库表的时候,当数据库用户量达到百万级以上时容易造成数据库卡死的技术问题。数据库查询压力大幅度降低,查询速度大幅度提升,用户使用产品也更加流畅。
另外,当存在目标排序值集合的情况下,进一步将目标排序值集合中的每个排序值后面再拼接一个随机数;其中,目标排序值集合由数值相同的排序值组成。在保证可以高效地进行数据库查询的同时,避免在用户数据较少的情况下刷新列表数据时容易出现重复的问题,提高用户使用体验,增加用户对产品的使用粘性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请提供的一种列表显式处理方法的***架构示意图;
图2是本申请实施例提供的列表显示处理方法的流程示意图;
图3是本申请实施例提供的列表显示处理装置的结构示意图;
图4是本申请提供另一实施例的列表显示处理装置的结构示意图;
图5是本申请实施例提供的列表显示处理设备的结构示意图;
图6是本申请提供另一实施例的列表显示处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了更好的理解本申请,下面对本申请适用的网络架构进行描述。请参阅图1,图1是本申请提供的一种列表显式处理方法的***架构示意图。如图1所示,该***架构可以包括:
服务器101可以某应用程序的后台服务器。例如即时通信软件或平台的管理服务器。即时通信软件主要是指软件或平台运营商提供的一系列和即时通信服务相关的功能,例如在线聊天、在线直播等等。本申请实施例中应用程序包括但不限于即时通信软件。
终端103可以是指用户侧的终端。终端103可以安装并运行有客户端,例如即时通信客户端。用户可以通过该客户端在即时通信平台注册账户,并与其他用户进行即时通信。
本发明实例中的客户端是指与服务器相对应,为客户提供本地服务的程序。这里,该本地服务可包括但不限于:人机交互服务、本地数据采集和维护服务、本地与服务器之间的通信服务等等。
具体的,客户端可包括:本地运行的应用程序、运行于网络浏览器上的功能(又称为Web App)、嵌入于电子邮件中的小程序、嵌入于即时通讯的客户端软件(如微信(WeChat))中的小程序,以及嵌入在其他应用程序(如WeChat)中的功能(如微信公众号)等。对于客户端,服务器上需要运行有相应的服务器端程序来提供相应的服务,如数据库服务,数据计算、决策执行等等。
本申请实施例中涉及的终端,又可称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。一些终端的举例为:手机(mobilephone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、含有驾驶舱域控制器的车辆等。
本申请实施例以即时通信软件为例进行说明,终端上安装有该即时通信软件,用户使用该终端启动该即时通信软件,并进行注册后即可登录进入该即时通信软件的界面,当进入到该即时通信软件的目标页面,可以展示其他登录用户的用户列表信息。上述过程是终端侧客户端与服务器进行数据交互来实现的,其中该展示的列表是需要通过数据库查询而得到的列表。下面结合图2示出的本申请实施例提供的列表显示处理方法的流程示意图,来说明本申请提供的列表显示处理方法如何实现数据库的查询,可以包括如下步骤:
步骤S200:生成并维护排序值表;
具体地,本申请实施例中的排序值表为一个字段,可以包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的。
本申请实施例中服务器通过生成并维护排序值表的方式,将数据库多表多字段统计为一个数据库表中的一个字段,从而可以大大优化了SQL的查询时间,解决了现有技术中由于数据量非常大,会对数据库造成很大压力的技术问题。
举例来说:
如下表1所示,假如有8个维度:
表1
上述维度对应的数据即为后续客户端要请求的列表数据的原始数据。后续服务器在选取列表数据时,是根据该8个维度对应的数据来选取的。
不同维度对应的数据在不同的数据库表中,或者至少有两个维度对应的数据在不同的数据库表中。例如,维度1“是否在应用内”对应的数据(即指示是或否)在数据库表1中,维度2“在线类型”对应的数据(即指示时频在线、语音在线或私信在线)在数据库表2中,维度3“是否空闲”对应的数据在数据库表3中,维度4“认证情况”对应的数据在数据库表4中,维度5“完善资料”对应的数据在数据库表5中,维度6“好评率”对应的数据在数据库表6中,维度7“最近的一次视频或语音的结束时间点”对应的数据在数据库表7中,维度8“是否是IOS用户”对应的数据在数据库表8中;又如,上述维度1和维度2在数据库表1中,维度3至维度8分别在数据库表3至数据库表8中。等等。
那么,本申请实施例中的多个不同数据库表的多个字段可以包括:是否在应用内、在线类型、是否空闲、认证情况、完善资料情况、好评率、用户最近的一次视频或语音的结束时间点、是否是IOS用户。
本申请实施例的服务器先将上述多个不同数据库表中的多个字段生成对应的数值。例如,“是否在应用内”中“是”和“否”(即上线状态和下线状态)分别对应数值2和1;“在线类型”中“视频在线”、“语音在线”和“私信在线”分别对应数值11、10和01;“是否空闲”中“是”和“否”分别对应数据2和1;“认证情况”中根据头像认证,身份认证,学历认证,职业认证,认证最多的优先,分别设置不同认证情况对应不同的数值如100、090、080、070…等等;“完善资料”中“全部完善”、“完全基本资料80%以上”和“完善其他资料或未完善80%以下”分别对应数值100、080、060;“好评率”中“好评率100%-80%”、“好评率80%-70%”和“好评率70%以下”分别对应数值100、080、070;“最近的一次视频或语音的结束时间点”中根据刷新时间点30分钟内,结束视频和语音的用户优先推荐,分别设置不同的数值如30、10等;“是否是IOS用户”中“是”和“否”分别对应数值2和1。
针对不同对象,即不同登录账号(相当于不同用户),会生成各自对应的排序值。例如对象A(相当于登录账号A)当前在应用内,视频在线,当前空闲,完成了头像认证,身份认证,学历认证,职业认证;资料全部完善100%,好评率95%,最近的一次视频结束点在30分钟内,是IOS用户。并且,假如本申请实施例中每个排序值是按上述表1从左到右的维度(排序规则)将每个数值进行拼接后得到,那么对象A对应的排序值为2112100100100302。又如,对象B(相当于登录账号A)当前在应用内,视频在线,当前空闲,完成了头像认证,身份认证,学历认证,职业认证;资料全部完善100%,好评率77%,最近的一次视频结束点在30分钟以外,是IOS用户。那么对象B对应的排序值为2112100100080102。
那么本申请服务器生成并维护的排序值表,可以如下表2:
排序值 |
2112100100100302 |
2112100100080102 |
… |
表2
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。所述多个不同数据库表的N个字段生成对应的N个数值;所述排序值为所述N个数值拼接后的值。如上表1中有8个字段(即维度),那么生成对应8个字段对应的8个数值,如上面例子所示,其中有些数值的位数大于1位。
在其中一个实施方式中,服务器可以定期更新维护该排序值表,比如每5分钟刷新各个对象的状态,更新排序值表中其对应的排序值。
步骤S202:接收列表显示指令;
具体地,本申请实施例的列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序。例如,用户通过终端运行即时通信软件,账号登录成功并访问首页时,该首页可以为目标页面,首页会显示出用户列表,该用户列表即为其他用户或其他账号的列表。那么用户要访问首页的指令,就可以看做是列表显式指令,包括点击进入首页的指令,滑动进入首页的指令等等。终端在接收到该列表显式指令后,执行步骤S204。
步骤S204:根据所述列表显示指令向服务器请求列表数据;
具体地,终端上运行的即时通信软件基于该列表显式指令触发向服务器发送请求,该请求的列表数据的原始数据在多个不同数据库表的多个字段中,如上述表1中的数据。
步骤S206:接收终端发送的列表数据请求;
具体地,服务器接收到该终端发送的列表数据请求,根据该列表数据请求获知要从维护的排序值表中选取列表数据。
步骤S208:根据所述排序值表选取列表数据;
具体地,以上述表1中8个维度的列表数据为例,那么现有技术中服务器将会按照排序规则(或排序逻辑),假设是按上述表1从左到右的维度排序,从不同的服务器的字段中读取或查询原始数据,然后根据各维度对应的原始数据进行排序,得到列表数据。得到的列表数据对应的就是各个用户账号。假如得到90个排序好的列表数据,终端每次刷新加载30个,那么终端可以按照排序来每次加载(比如滑动刷新列表)展示30个。
现有技术的技术手段正是由于查询数据库时涉及多条件排序规则,并且各规则均来自不动的数据库表,每次查询选取列表数据时都要对不同数据库表查询一遍,查询效率不高;特别当数据量大时,会对数据库造成很大压力,容易造成数据库卡死。
而本申请服务器根据预先生成维护的排序值表来查询选取列表数据,实现将各个排序规则统一维护成排序值,以将MySql数据库多表多字段统计为一个字段,从而可以大大优化了SQL的查询时间。
可理解的是本申请实施例中的排序规则或排序逻辑也是可以调整。
步骤S210:将选取的所述列表数据发送给所述终端;
具体地,服务器将选取的列表数据发送给该终端,
步骤S212:接收所述服务器返回的列表数据;
具体地,本申请实施例终端接收到服务器返回的该列表数据即为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
步骤S214:根据所述列表数据进行列表显示。
具体地,终端在运行的即时通信软件的界面中显示该列表数据。
在其中一种实施方式中,若服务器维护的排序值表中出现多个排序值相同的情况时,也就是说存在目标排序值集合的情况时(该目标排序值集合由数值相同的排序值组成),可以对数值相同的排序值进行乱序排列。例如,有30个排序值相同,那么每次刷新查询时这30个排序位置随机占位,因而最后终端展示的用户显得不一样,给用户感觉人数较多。又如,有90个排序值相同,在这90个排序值随机占位后,每次加载30个的时候,下一批30个用户的展示不会出现上一批30个用户。
在其中一种实施方式中,在服务器维护的排序值表中出现多个排序值相同的情况时,也就是说存在目标排序值集合的情况时,可以将该目标排序值集合中的每个排序值后面再拼接一个随机数;
在其中一种实施方式中,本申请实施例中随机数的位数x与该目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数。也就是说,假如目标排序值集合中的排序值个数有15个,即15个相同,15为2位数,那么随机数的位数为3位数。若目标排序值集合中拼接随机数前的数值为2112100100080102,那么拼接后可以为2112100100080102rrr,r代表随机的一个数字,例如拼接后可以为2112100100080102010、或2112100100080102201、或2112100100080102120等等。
通过本申请实施例当存在目标排序值集合的情况下,进一步将目标排序值集合中的每个排序值后面再拼接一个随机数;其中,目标排序值集合由数值相同的排序值组成。在保证可以高效地进行数据库查询的同时,避免在用户数据较少的情况下刷新列表数据时容易出现重复的问题,提高用户使用体验,增加用户对产品的使用粘性。进一步地,随机数的位数x与该目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数,是经过具体研究分析得出的,可以很好兼顾随机数个数与查询效率之间的平衡,从而可以更好地在高效地进行数据库查询的同时,避免在用户数据较少的情况下刷新列表数据时容易出现重复的问题。
为了便于更好的实施本申请实施例的上述方法,本申请实施例还描述了与上述方法实施例属于同一申请构思下的列表显示处理装置以及列表显示处理设备的结构示意图。下面结合附图来进行详细说明:
如图3所示的本申请实施例提供的列表显示处理装置的结构示意图,列表显示处理装置30包括指令接收单元300、请求单元302、数据接收单元304和显示单元306,其中:
指令接收单元300用于接收列表显示指令;
请求单元302用于根据所述列表显示指令向服务器请求列表数据;其中,请求的所述列表数据的原始数据在多个不同数据库表的多个字段中;
数据接收单元304用于接收所述服务器返回的列表数据;返回的所述列表数据为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
显示单元306用于根据所述列表数据进行列表显示。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
可以理解的是,列表显示处理装置30中各个单元的描述还可以对应参考前述实现列表显示处理方法的图2实施例中涉及终端设备的描述,这里不再一一详述。
如图4所示的本申请提供另一实施例的列表显示处理装置的结构示意图,列表显示处理装置40包括生成维护单元400、请求接收单元402、数据选取单元404和数据发送单元406,其中:
生成维护单元400用于生成并维护排序值表;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
请求接收单元402用于接收终端发送的列表数据请求;
数据选取单元404用于根据所述排序值表选取列表数据;
数据发送单元406用于将选取的所述列表数据发送给所述终端。
在一种可能的实现方式中,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
在一种可能的实现方式中,所述多个不同数据库表的N个字段生成对应的N个数值;所述排序值为所述N个数值拼接后的值;
所述生成维护单元具体用于:当存在目标排序值集合的情况下,将所述目标排序值集合中的每个排序值后面再拼接一个随机数;其中,所述目标排序值集合由数值相同的排序值组成。
在一种可能的实现方式中,所述随机数的位数x与所述目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数。
在一种可能的实现方式中,所述多个不同数据库表的多个字段包括:是否在应用内、在线类型、是否空闲、认证情况、完善资料情况、好评率、用户最近的一次视频或语音的结束时间点、是否是苹果公司开发的移动操作***(IOS)用户。
可以理解的是,列表显示处理装置40中各个单元的描述还可以对应参考前述实现列表显示处理方法的图2实施例中涉及服务器的描述,这里不再一一详述。
下面结合图5和图6来说明本申请实施例提供了一种列表显示处理设备,如图5示出的本申请实施例提供的列表显示处理设备的结构示意图,列表显示处理设备50即为上述方法实施例中的终端设备,可以包括处理器500、存储器502、显示屏幕504以及通信模块506。
处理器500可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码或计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器502可以是独立存在,通过总线与处理器500相连接。存储器502也可以和处理器500集成在一起。
显示屏幕504与处理器500相连接。用于显示信息。
通信模块506用于接收和发送信息;
列表显示处理设备50还可以包括其他硬件模块,例如至少一个传感器等。本申请不再赘述。
其中,上述存储器502用于存储执行以上方案的计算机程序,并由处理器500来控制执行。上述处理器500用于执行上述存储器502中存储的计算机程序。
存储器502存储的程序被执行时,处理器500用于执行以上图2提供的列表显示处理方法中涉及终端设备的步骤:
处理器500可以通过触摸屏(比如显示屏幕504)接收列表显示指令;
处理器500根据所述列表显示指令,通过通信模块506向服务器请求列表数据;其中,请求的所述列表数据的原始数据在多个不同数据库表的多个字段中;
处理器500通过通信模块506接收所述服务器返回的列表数据;返回的所述列表数据为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
处理器500根据所述列表数据通过显示屏幕504进行列表显示。
上述具体实现方式可参考上述方法实施例的实现方式,这里不再赘述。
如图6示出的本申请提供另一实施例的列表显示处理设备的结构示意图,列表显示处理设备60即为上述方法实施例中的服务器,可以包括处理器600、存储器602以及通信模块604。
处理器500可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器602可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码或计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器602可以是独立存在,通过总线与处理器600相连接。存储器602也可以和处理器600集成在一起。
通信模块604用于接收和发送信息;
其中,上述存储器602用于存储执行以上方案的计算机程序,并由处理器600来控制执行。上述处理器600用于执行上述存储器602中存储的计算机程序。
存储器602存储的程序被执行时,处理器600用于执行以上图2提供的列表显示处理方法中涉及服务器的步骤:
处理器600生成并维护排序值表;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
处理器600通过通信模块604接收终端发送的列表数据请求;
处理器600根据所述排序值表选取列表数据;
处理器600通过通信模块604将选取的所述列表数据发送给所述终端。
上述具体实现方式可参考上述方法实施例的实现方式,这里不再赘述。
本申请实施例还提供了一种计算机存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个实施例所述方法中的一个或多个步骤。上述装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中,基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机产品存储在计算机可读存储介质中。
上述计算机可读存储介质可以是前述实施例所述的设备的内部存储单元,例如硬盘或内存。上述计算机可读存储介质也可以是上述设备的外部存储设备,例如配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述计算机可读存储介质还可以既包括上述设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可通过计算机程序来指令相关的硬件来完成,该计算机的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
可以理解,本领域普通技术人员可以意识到,结合本申请各个实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域技术人员能够领会,结合本申请各个实施例中公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种列表显示处理方法,其特征在于,包括:
接收列表显示指令;
根据所述列表显示指令向服务器请求列表数据;其中,请求的所述列表数据的原始数据在多个不同数据库表的多个字段中;
接收所述服务器返回的列表数据;返回的所述列表数据为所述服务器根据维护的排序值表选取的列表数据;所述排序值表为一个字段,包括多个排序值;所述排序值为所述服务器分别对所述多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
根据所述列表数据进行列表显示。
2.如权利要求1所述的方法,其特征在于,所述列表显示指令用于指示进入目标页面;所述目标页面包括列表,用于显示多个不同对象的排序;
所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
3.一种列表显示处理方法,其特征在于,包括:
生成并维护排序值表;所述排序值表为一个字段,包括多个排序值;所述排序值为服务器分别对多个不同数据库表的多个字段生成对应的数值后,依据排序规则将每个数值进行拼接后得到的;
接收终端发送的列表数据请求;
根据所述排序值表选取列表数据;
将选取的所述列表数据发送给所述终端。
4.如权利要求3所述的方法,其特征在于,所述排序值表中的一个排序值对应一个对象;不同的排序值对应不同的对象。
5.如权利要求4所述的方法,其特征在于,所述多个不同数据库表的N个字段生成对应的N个数值;所述排序值为所述N个数值拼接后的值;
所述生成并维护排序值表,包括:当存在目标排序值集合的情况下,将所述目标排序值集合中的每个排序值后面再拼接一个随机数;其中,所述目标排序值集合由数值相同的排序值组成。
6.如权利要求5所述的方法,其特征在于,所述随机数的位数x与所述目标排序值集合中的排序值个数y有关,其中x=z+1;所述z为所述y的位数。
7.如权利要求3-6任一项所述的方法,其特征在于,所述多个不同数据库表的多个字段包括:是否在应用内、在线类型、是否空闲、认证情况、完善资料情况、好评率、用户最近的一次视频或语音的结束时间点、是否是IOS用户。
8.一种列表显示处理装置,其特征在于,包括用于执行如权利要求1-7任一项所述的方法的功能单元。
9.一种列表显示处理设备,其特征在于,包括:存储器和处理器,所述存储器用于程序,所述处理器执行所述存储器存储的程序,当存储器存储的程序被执行时,所述处理器用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390918.3A CN112445873B (zh) | 2020-12-02 | 2020-12-02 | 列表显示处理方法、相关装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390918.3A CN112445873B (zh) | 2020-12-02 | 2020-12-02 | 列表显示处理方法、相关装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445873A CN112445873A (zh) | 2021-03-05 |
CN112445873B true CN112445873B (zh) | 2024-03-26 |
Family
ID=74738950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011390918.3A Active CN112445873B (zh) | 2020-12-02 | 2020-12-02 | 列表显示处理方法、相关装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445873B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282838A (zh) * | 2021-06-23 | 2021-08-20 | 歌尔科技有限公司 | 一种排名生成方法、装置、计算机介质及智能穿戴设备 |
CN115114491B (zh) * | 2022-07-08 | 2023-08-11 | 广东好太太科技集团股份有限公司 | 一种智能家电预约控制方法、装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631910A (zh) * | 2013-11-26 | 2014-03-12 | 烽火通信科技股份有限公司 | 一种分布式数据库多列复合查询的***及方法 |
WO2018107942A1 (en) * | 2016-12-15 | 2018-06-21 | Huawei Technologies Co., Ltd. | System and method of adaptively partitioning data to speed up join queries on distributed and parallel database systems |
CN108563736A (zh) * | 2018-04-10 | 2018-09-21 | 口碑(上海)信息技术有限公司 | 基于数据特征查询数据的方法及装置 |
WO2019150287A1 (en) * | 2018-01-30 | 2019-08-08 | Encapsa Technology Llc | Method and system for encapsulating and storing information from multiple disparate data sources |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110298023A (zh) * | 2019-07-04 | 2019-10-01 | 中原银行股份有限公司 | 一种报表的拼接方法及*** |
CN111459982A (zh) * | 2020-03-27 | 2020-07-28 | 中国平安人寿保险股份有限公司 | 一种数据查询方法、装置、终端设备及存储介质 |
-
2020
- 2020-12-02 CN CN202011390918.3A patent/CN112445873B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631910A (zh) * | 2013-11-26 | 2014-03-12 | 烽火通信科技股份有限公司 | 一种分布式数据库多列复合查询的***及方法 |
WO2018107942A1 (en) * | 2016-12-15 | 2018-06-21 | Huawei Technologies Co., Ltd. | System and method of adaptively partitioning data to speed up join queries on distributed and parallel database systems |
WO2019150287A1 (en) * | 2018-01-30 | 2019-08-08 | Encapsa Technology Llc | Method and system for encapsulating and storing information from multiple disparate data sources |
CN108563736A (zh) * | 2018-04-10 | 2018-09-21 | 口碑(上海)信息技术有限公司 | 基于数据特征查询数据的方法及装置 |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110298023A (zh) * | 2019-07-04 | 2019-10-01 | 中原银行股份有限公司 | 一种报表的拼接方法及*** |
CN111459982A (zh) * | 2020-03-27 | 2020-07-28 | 中国平安人寿保险股份有限公司 | 一种数据查询方法、装置、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
支持密文查询的云数据库加密技术研究;李东民;《中国优秀硕士学位论文全文数据库信息科技辑》(第02期);I138-235 * |
Also Published As
Publication number | Publication date |
---|---|
CN112445873A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11985037B2 (en) | Systems and methods for conducting more reliable assessments with connectivity statistics | |
US11968105B2 (en) | Systems and methods for social graph data analytics to determine connectivity within a community | |
US20230275817A1 (en) | Parallel computational framework and application server for determining path connectivity | |
CN108701309A (zh) | 一种用于电子商务交易安全的分布式用户简档身份验证*** | |
US11106767B2 (en) | Decentralized name verification using recursive attestation | |
CN109983456B (zh) | 存储器内密钥范围搜索方法和*** | |
CN111814179A (zh) | 用户权限管理和数据控制方法及其相关设备 | |
CN112445873B (zh) | 列表显示处理方法、相关装置、设备及介质 | |
EP3245569A1 (en) | Record level data security | |
US11244153B2 (en) | Method and apparatus for processing information | |
CN113761565B (zh) | 数据脱敏方法和装置 | |
CN112199374A (zh) | 针对数据缺失的数据特征挖掘方法及其相关设备 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN111311374A (zh) | 基于大学生的闲置物品交换方法、装置、设备及存储介质 | |
CN112182107B (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN114925275A (zh) | 产品推荐方法、装置、计算机设备及存储介质 | |
WO2017131617A1 (en) | Confirmation message determinations | |
CN112804134B (zh) | 基于即时通信的任务发起方法、相关装置、设备及介质 | |
CN114650252B (zh) | 基于企业服务总线的路由方法、装置及计算机设备 | |
CN115758300B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116401681A (zh) | 基于大数据的信息管理方法、可读存储介质及计算机设备 | |
CN116842541A (zh) | 数据加解密处理方法、装置、计算机设备及存储介质 | |
CN117056425A (zh) | 一种跨区域的图书馆信息共享方法及*** | |
CN118093727A (zh) | 一种基于多级分布下的订单库构建方法 | |
CN117827814A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |