CN106570060A - 一种信息流中数据的随机抽取方法及装置 - Google Patents

一种信息流中数据的随机抽取方法及装置 Download PDF

Info

Publication number
CN106570060A
CN106570060A CN201610873839.5A CN201610873839A CN106570060A CN 106570060 A CN106570060 A CN 106570060A CN 201610873839 A CN201610873839 A CN 201610873839A CN 106570060 A CN106570060 A CN 106570060A
Authority
CN
China
Prior art keywords
data
randomly
caching
page number
pages
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
CN201610873839.5A
Other languages
English (en)
Other versions
CN106570060B (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.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China 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 Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201610873839.5A priority Critical patent/CN106570060B/zh
Publication of CN106570060A publication Critical patent/CN106570060A/zh
Application granted granted Critical
Publication of CN106570060B publication Critical patent/CN106570060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种信息流中数据的随机抽取方法及装置,用以有效降低内存和数据库带宽消耗,提升数据读取性能。信息流中数据的随机抽取方法,包括:根据信息流中随机抽取数据的业务需求设置随机抽取参数,包括:最新动态数据总量和随机抽取数量;根据最新动态数据总量、以及随机抽取数量确定分页数量,并根据确定出的分页数量随机选取逻辑页码;根据所述逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;否则,按照所述逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,缓存键值包括业务唯一标识码和所述逻辑页码。

Description

一种信息流中数据的随机抽取方法及装置
技术领域
本发明属于计算机技术领域,尤其涉及一种信息流中数据的随机抽取方法及装置。
背景技术
随着互联网技术的进步,社交网络(Social Network Service,SNS)的发展引人注目。社交网络在人们的生活中扮演着重要的角色,已成为覆盖用户最广、传播影响最大、商业价值最高的网络业务。
目前社交网络中信息流(News Feed)的生产和传播速度非常快,以微博平台为例,在微博大屏幕(又称微博墙,是在展会、音乐会、行业峰会、电视直播、婚礼现场等场所展示特定主题微博的大屏幕)和其他互动产品中,通常需要从信息流的最新动态数据内随机抽取部分数据进行展示。例如,从信息流的最新1000条数据内随机抽取10条数据进行展示,或者从信息流的最新10000条数据内随机抽取50条数据进行展示,等等。
本发明实施例中,可以将从信息流的最新动态数据内随机抽取部分数据进行展示的实际需求简称为“信息流中随机抽取数据的业务需求”。假设信息流中随机抽取数据的业务需求为:从信息流的最新N条数据内随机抽取n条数据进行展示。现有技术中提供的解决方案为:
步骤1、按业务需求从数据库内信息流读取最新N条数据,得到读取总数N;为了提升性能,一般读取的最新N条数据会缓存起来。
步骤2、使用随机函数产生(0,N)范围内要求的n个随机数(n小于N),根据随机的n个序号从缓存的N条数据中查询需要抽取的n条数据进行展示。
现有技术提供的解决方案中,存在如下问题:
1、在从数据库内信息流读取最新N条数据的过程中,内存使用较大、数据库带宽传输成本消耗较高。
2、在随机产生n个随机数后,使用循环方式从最新N条数据中逐一获取n条数据的过程开销比较大。
3、由于从信息流中读取的最新N条数据会缓存起来,在缓存期间信息流的最新动态数据在流动速度较大的情况下,就无法得到曝光机会。
发明内容
有鉴于此,本发明提供一种信息流中数据的随机抽取方法及装置,用以有效降低内存和数据库带宽消耗,提升数据读取性能。
为了实现上述目的,本发明提供一种信息流中数据的随机抽取方法,包括:
根据信息流中随机抽取数据的业务需求设置随机抽取参数,所述随机抽取参数包括:最新动态数据总量和随机抽取数量;
根据最新动态数据总量、以及随机抽取数量确定分页数量,并根据确定出的分页数量随机选取逻辑页码;
根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;
否则,按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
进一步地,所述随机抽取参数还包括每页缓存时间;以及,缓存的分页数据对应的过期时间根据所述每页缓存时间设置。
进一步地,所述根据最新动态数据总量、以及随机抽取数量确定分页数量,具体通过如下公式实现:
P=int(N/n)+1
其中,P表示分页数量,N表示最新动态数据总量,n表示随机抽取数量,int()为取整函数。
进一步地,所述根据确定出的分页数量随机选取逻辑页码,具体通过如下公式实现:
p=rand(0,P)
其中,p表示随机选取的逻辑页码,P表示分页数量,rand()为用于产生随机数的随机函数。
进一步地,所述按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,具体包括:
按照随机选取的逻辑页码和随机抽取数量确定索引位置,具体通过如下公式实现:
S=(p-1)*n
其中,S表示索引位置,p表示随机选取的逻辑页码,n表示随机抽取数量;
确定读取长度与所述随机抽取数量一致;
根据确定出的索引位置、以及读取长度在数据库内读取分页数据进行展示。
基于同一技术构思,本发明还提供了一种信息流中数据的随机抽取装置,包括:
设置单元,用于根据信息流中随机抽取数据的业务需求设置随机抽取参数,所述随机抽取参数包括:最新动态数据总量和随机抽取数量;
分页数量确定单元,用于根据最新动态数据总量、以及随机抽取数量确定分页数量;
页码随机选取单元,用于根据确定出的分页数量随机选取逻辑页码;
缓存查询单元,用于根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;否则,触发数据库读取单元;
数据库读取单元,用于按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
进一步地,所述设置单元设置的随机抽取参数还包括每页缓存时间;以及,
所述数据库读取单元缓存的分页数据对应的过期时间根据所述每页缓存时间设置。
进一步地,所述分页数量确定单元具体通过如下公式实现:
P=int(N/n)+1
其中,P表示分页数量,N表示最新动态数据总量,n表示随机抽取数量,int()为取整函数。
进一步地,所述页码随机选取单元具体通过如下公式实现:
p=rand(0,P)
其中,p表示随机选取的逻辑页码,P表示分页数量,rand()为用于产生随机数的随机函数。
进一步地,所述数据库读取单元,具体包括:
索引位置确定子单元,用于按照随机选取的逻辑页码和随机抽取数量确定索引位置,具体通过公式S=(p-1)*n实现,其中S表示索引位置,p表示随机选取的逻辑页码,n表示随机抽取数量;
读取长度确定子单元,用于确定读取长度与所述随机抽取数量一致;
读取子单元,用于根据确定出的索引位置、以及读取长度在数据库内读取动态数据进行展示;
存储子单元,用于将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
本发明提供的信息流中数据的随机抽取方法及装置,针对信息流中随机抽取数据的业务需求,采用对信息流中的最新动态数据在逻辑层面进行分页划分方式实现。首先根据最新动态数据总量、以及随机抽取数量确定分页数量,并根据确定出的分页数量随机选取逻辑页码;按照逻辑页码和随机抽取数量在数据库内直接读取分页数据进行展示,并将读取出的分页数据存储到缓存中即可,从数据库内读取分页数据则无需遍历全部最新动态数据,并且仅缓存读取出的分页数据,从而降低了内存和服务器带宽消耗;并且,由于读取出的分页数据进行了缓存存储,如果根据逻辑页码查询到对应的缓存键值有缓存数据,还可以直接读取缓存数据进行展示,大大提高了读取性能。相比现有技术,本方案无需将数据库内信息流中的最新动态数据全部读取到缓存中;也无需在根据随机抽取数量产生相应的随机数后,使用循环方式从缓存的最新动态数据中逐一抽取各条数据,因此能够有效降低内存和数据库带宽消耗,提升数据读取性能。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明实施例中信息流中随机抽取数据的业务需求解决方案示意图;
图2是本发明实施例中信息流中数据的随机抽取方法流程图;
图3是本发明实施例中从信息流的最新N条数据内随机抽取n条数据的方法流程图;
图4是本发明实施例中信息流中数据的随机抽取装置框图;
图5是本发明实施例中数据库读取单元的一种可能结构示意图。
具体实施方式
本发明实施例提供一种信息流中数据的随机抽取方法及装置,用以有效降低内存和数据库带宽消耗,提升数据读取性能。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对从信息流的最新动态数据内随机抽取部分数据进行展示的实际需求即“信息流中随机抽取数据的业务需求”,为了有效降低内存和数据库带宽消耗,提升数据读取性能,本发明实施例提供了相应的解决方案,示意图如图1所示。本方案对信息流中的最新动态数据在逻辑层面进行分页划分,然后随机选取逻辑页码,最后按照随机选取的逻辑页码进行分页数据的读取,实现从信息流的最新动态数据内随机抽取部分数据的目的。
本发明实施例提供的信息流中数据的随机抽取方法,如图2所示,包括:
S201、根据信息流中随机抽取数据的业务需求设置随机抽取参数;所述的随机抽取参数包括:最新动态数据总量和随机抽取数量。
S202、根据最新动态数据总量、以及随机抽取数量确定分页数量。
S203、根据确定出的分页数量随机选取逻辑页码。
S204、根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则执行S205,否则,执行S206。
S205、直接在缓存中读取缓存键值对应的缓存数据进行展示。
S206、按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和逻辑页码;
较佳的,随机抽取参数还可以包括每页缓存时间,相应的,缓存的分页数据对应的过期时间根据每页缓存时间设置;如果随机抽取参数中未包括每页缓存时间,则,缓存的分页数据对应的过期时间可以设置为系统缺省值。
本领域普通技术人员可以理解,所述的“按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示”是指按照随机选取的逻辑页码和随机抽取数量在数据库内信息流的最新动态数据中读取分页数据进行展示。需要说明的是,在数据库内读取数据时,仅能指定索引位置和读取长度,具体实施中,需要首先将随机选取的逻辑页码和随机抽取数量转换为数据库能够识别的索引位置和读取长度,再进行分页数据的读取。具体的,按照随机选取的逻辑页码和随机抽取数量确定索引位置,以及确定读取长度与随机抽取数量一致。
假设信息流中随机抽取数据的业务需求为:从信息流的最新N条数据内随机抽取n条数据进行展示,详细说明本发明实施例提供的信息流中数据的随机抽取方法,如图3所示,具体包括:
S301、根据信息流中随机抽取数据的业务需求设置随机抽取参数;所述的随机抽取参数包括:最新动态数据总量N、随机抽取数量n、以及每页缓存时间t。
S302、根据最新动态数据总量N、以及随机抽取数量n确定分页数量P,具体通过如下公式[1]实现:
P=int(N/n)+1 [1]
其中,int()为取整函数,是将一个数值向下取整为最接近的整数的函数。
S303、根据确定出的分页数量P随机选取逻辑页码p,具体通过如下公式[2]实现:
p=rand(0,P) [2]
其中,rand()为用于产生随机数的随机函数。
S304、根据随机选取的逻辑页码p查询对应的缓存key(键)值是否有缓存数据,如果有,则执行S305,否则,执行S306;
由于缓存key值包括业务唯一标识码和逻辑页码p,由于业务唯一标识码是预先设定的,根据随机选取的逻辑页码p可以很容易地反推出对应的缓存key值,从而查询该缓存key值是否对应存储有缓存数据。
S305、直接在缓存中读取缓存key值对应的缓存数据进行展示。
S306、按照随机选取的逻辑页码p和随机抽取数量n在数据库内读取分页数据;具体包括如下步骤:
步骤1、按照随机选取的逻辑页码p和随机抽取数量n确定索引位置S,具体通过如下公式[3]实现:
S=(p-1)*n [3]
步骤2、确定读取长度L与随机抽取数量n一致,即L=n;
步骤3、根据确定出的索引位置S、以及读取长度L在数据库内信息流的最新动态数据中读取分页数据进行展示。
S307、将读取出的分页数据存储到缓存中;其中,缓存的分页数据对应的缓存key值包括业务唯一标识码和逻辑页码p,缓存的分页数据对应的过期时间根据所述每页缓存时间t设置;
过期时间是指缓存数据在cache(缓存)中保存的时长;所述的业务唯一标识码是指信息流中随机抽取数据业务唯一的标识码,可以预先灵活设定,只要能够与缓存中其他业务对应的缓存key值区分即可,例如将业务唯一标识码设定为“***”,则缓存的分页数据对应的缓存key值可以为“***-p”;
本领域普通技术人员可以理解,由于信息流中随机抽取数据的业务需求是不断重复执行的,S304、S305中所涉及的缓存key值对应的缓存数据实质上是之前从数据库内读取并缓存、且尚未达到过期时间的分页数据。
S308、将在数据库内读取的逻辑页码p对应的分页数据进行展示。
基于同一技术构思,本发明实施例提供了一种信息流中数据的随机抽取装置,由于该装置解决问题的原理与信息流中数据的随机抽取方法相一致,因此该装置的实施可以参见方法的实施,重复之处不在赘述。
如图4所示,本发明实施例提供的信息流中数据的随机抽取装置,包括:
设置单元401,用于根据信息流中随机抽取数据的业务需求设置随机抽取参数,所述随机抽取参数包括:最新动态数据总量和随机抽取数量;
分页数量确定单元402,用于根据最新动态数据总量、以及随机抽取数量确定分页数量;
页码随机选取单元403,用于根据确定出的分页数量随机选取逻辑页码;
缓存查询单元404,用于根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;否则,触发数据库读取单元405;
数据库读取单元405,用于按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
具体实施中,该信息流中数据的随机抽取装置通常设置在网络侧的业务服务器中。
具体实施中,所述设置单元401设置的随机抽取参数还包括每页缓存时间;以及,所述数据库读取单元405缓存的分页数据对应的过期时间根据所述每页缓存时间设置。
具体实施中,所述分页数量确定单元402具体通过如下公式实现:P=int(N/n)+1,其中,P表示分页数量,N表示最新动态数据总量,n表示随机抽取数量,int()为取整函数。
具体实施中,所述页码随机选取单元403具体通过如下公式实现:p=rand(0,P),其中,p表示随机选取的逻辑页码,P表示分页数量,rand()为用于产生随机数的随机函数。
具体实施中,所述数据库读取单元405的一种可能结构,如图5所示,具体包括:
索引位置确定子单元501,用于按照随机选取的逻辑页码和随机抽取数量确定索引位置,具体通过公式S=(p-1)*n实现,其中S表示索引位置,p表示随机选取的逻辑页码,n表示随机抽取数量;
读取长度确定子单元502,用于确定读取长度与所述随机抽取数量一致;
读取子单元503,用于根据确定出的索引位置、以及读取长度在数据库内读取分页数据进行展示;
存储子单元504,用于将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
本发明实施例提供的信息流中数据的随机抽取方法及装置,针对信息流中随机抽取数据的业务需求,采用对信息流中的最新动态数据在逻辑层面进行分页划分方式实现。首先根据最新动态数据总量、以及随机抽取数量确定分页数量,并根据确定出的分页数量随机选取逻辑页码;按照逻辑页码和随机抽取数量在数据库内直接读取分页数据进行展示,并将读取出的分页数据存储到缓存中即可,从数据库内读取分页数据则无需遍历全部最新动态数据,并且仅缓存读取出的分页数据,从而降低了内存和服务器带宽消耗;并且,由于读取出的分页数据进行了缓存存储,如果根据逻辑页码查询到对应的缓存键值有缓存数据,还可以直接读取缓存数据进行展示,大大提高了读取性能。相比现有技术,本方案无需将数据库内信息流中的最新动态数据全部读取到缓存中;也无需在根据随机抽取数量产生相应的随机数后,使用循环方式从缓存的最新动态数据中逐一抽取各条数据,因此能够有效降低内存和数据库带宽消耗,提升数据读取性能。
进一步地,由于设置了每页缓存时间,导致缓存中存储的各分页数据的过期时间不同,可以提高最新动态数据曝光的概率。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种信息流中数据的随机抽取方法,其特征在于,包括:
根据信息流中随机抽取数据的业务需求设置随机抽取参数,所述随机抽取参数包括:最新动态数据总量和随机抽取数量;
根据最新动态数据总量、以及随机抽取数量确定分页数量,并根据确定出的分页数量随机选取逻辑页码;
根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;
否则,按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
2.如权利要求1所述的方法,其特征在于,所述随机抽取参数还包括每页缓存时间;以及,缓存的分页数据对应的过期时间根据所述每页缓存时间设置。
3.如权利要求1或2所述的方法,其特征在于,所述根据最新动态数据总量、以及随机抽取数量确定分页数量,具体通过如下公式实现:
P=int(N/n)+1
其中,P表示分页数量,N表示最新动态数据总量,n表示随机抽取数量,int()为取整函数。
4.如权利要求1或2所述的方法,其特征在于,所述根据确定出的分页数量随机选取逻辑页码,具体通过如下公式实现:
p=rand(0,P)
其中,p表示随机选取的逻辑页码,P表示分页数量,rand()为用于产生随机数的随机函数。
5.如权利要求1或2所述的方法,其特征在于,所述按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,具体包括:
按照随机选取的逻辑页码和随机抽取数量确定索引位置,具体通过如下公式实现:
S=(p-1)*n
其中,S表示索引位置,p表示随机选取的逻辑页码,n表示随机抽取数量;
确定读取长度与所述随机抽取数量一致;
根据确定出的索引位置、以及读取长度在数据库内读取分页数据进行展示。
6.一种信息流中数据的随机抽取装置,其特征在于,包括:
设置单元,用于根据信息流中随机抽取数据的业务需求设置随机抽取参数,所述随机抽取参数包括:最新动态数据总量和随机抽取数量;
分页数量确定单元,用于根据最新动态数据总量、以及随机抽取数量确定分页数量;
页码随机选取单元,用于根据确定出的分页数量随机选取逻辑页码;
缓存查询单元,用于根据随机选取的逻辑页码查询对应的缓存键值是否有缓存数据,如果有,则直接在缓存中读取缓存键值对应的缓存数据进行展示;否则,触发数据库读取单元;
数据库读取单元,用于按照随机选取的逻辑页码和随机抽取数量在数据库内读取分页数据进行展示,并将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
7.如权利要求6所述的装置,其特征在于,所述设置单元设置的随机抽取参数还包括每页缓存时间;以及,
所述数据库读取单元缓存的分页数据对应的过期时间根据所述每页缓存时间设置。
8.如权利要求6或7所述的装置,其特征在于,所述分页数量确定单元具体通过如下公式实现:
P=int(N/n)+1
其中,P表示分页数量,N表示最新动态数据总量,n表示随机抽取数量,int()为取整函数。
9.如权利要求6或7所述的装置,其特征在于,所述页码随机选取单元具体通过如下公式实现:
p=rand(0,P)
其中,p表示随机选取的逻辑页码,P表示分页数量,rand()为用于产生随机数的随机函数。
10.如权利要求6或7所述的装置,其特征在于,所述数据库读取单元,具体包括:
索引位置确定子单元,用于按照随机选取的逻辑页码和随机抽取数量确定索引位置,具体通过公式S=(p-1)*n实现,其中S表示索引位置,p表示随机选取的逻辑页码,n表示随机抽取数量;
读取长度确定子单元,用于确定读取长度与所述随机抽取数量一致;
读取子单元,用于根据确定出的索引位置、以及读取长度在数据库内读取动态数据进行展示;
存储子单元,用于将读取出的分页数据存储到缓存中,其中,缓存的分页数据对应的缓存键值包括业务唯一标识码和所述逻辑页码。
CN201610873839.5A 2016-09-30 2016-09-30 一种信息流中数据的随机抽取方法及装置 Active CN106570060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610873839.5A CN106570060B (zh) 2016-09-30 2016-09-30 一种信息流中数据的随机抽取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610873839.5A CN106570060B (zh) 2016-09-30 2016-09-30 一种信息流中数据的随机抽取方法及装置

Publications (2)

Publication Number Publication Date
CN106570060A true CN106570060A (zh) 2017-04-19
CN106570060B CN106570060B (zh) 2020-03-10

Family

ID=58531585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610873839.5A Active CN106570060B (zh) 2016-09-30 2016-09-30 一种信息流中数据的随机抽取方法及装置

Country Status (1)

Country Link
CN (1) CN106570060B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766486A (zh) * 2017-10-16 2018-03-06 山东浪潮通软信息科技有限公司 随机抽取样本数据的方法、装置、可读介质及存储控制器
CN108595487A (zh) * 2018-03-14 2018-09-28 摇了购(武汉)电子商务有限公司 一种大数据高并发下访问数据的方法及系统
CN110515974A (zh) * 2019-07-15 2019-11-29 金蝶软件(中国)有限公司 数据抽取方法、装置、计算机设备和存储介质
CN111367952A (zh) * 2020-03-02 2020-07-03 中国邮政储蓄银行股份有限公司 缓存数据的分页查询方法、系统及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079326A1 (en) * 2005-09-30 2007-04-05 Sony Computer Entertainment America Inc. Display of user selected advertising content in a digital environment
CN103473227A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 微博动态显示方法和装置
CN105183764A (zh) * 2015-07-29 2015-12-23 广州神马移动信息科技有限公司 一种数据分页方法及装置
CN105468764A (zh) * 2015-12-02 2016-04-06 广州华多网络科技有限公司 一种数据处理方法、装置及集群服务系统
CN105916057A (zh) * 2016-04-18 2016-08-31 乐视控股(北京)有限公司 一种视频弹幕的显示方法及装置
CN105979285A (zh) * 2016-06-27 2016-09-28 乐视控股(北京)有限公司 广告弹幕显示方法、装置及终端
CN105976212A (zh) * 2016-05-30 2016-09-28 北京京东尚科信息技术有限公司 一种商品展示方法、装置与电子商务平台

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079326A1 (en) * 2005-09-30 2007-04-05 Sony Computer Entertainment America Inc. Display of user selected advertising content in a digital environment
CN103473227A (zh) * 2012-06-06 2013-12-25 腾讯科技(深圳)有限公司 微博动态显示方法和装置
CN105183764A (zh) * 2015-07-29 2015-12-23 广州神马移动信息科技有限公司 一种数据分页方法及装置
CN105468764A (zh) * 2015-12-02 2016-04-06 广州华多网络科技有限公司 一种数据处理方法、装置及集群服务系统
CN105916057A (zh) * 2016-04-18 2016-08-31 乐视控股(北京)有限公司 一种视频弹幕的显示方法及装置
CN105976212A (zh) * 2016-05-30 2016-09-28 北京京东尚科信息技术有限公司 一种商品展示方法、装置与电子商务平台
CN105979285A (zh) * 2016-06-27 2016-09-28 乐视控股(北京)有限公司 广告弹幕显示方法、装置及终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766486A (zh) * 2017-10-16 2018-03-06 山东浪潮通软信息科技有限公司 随机抽取样本数据的方法、装置、可读介质及存储控制器
CN107766486B (zh) * 2017-10-16 2021-04-20 浪潮通用软件有限公司 随机抽取样本数据的方法、装置、可读介质及存储控制器
CN108595487A (zh) * 2018-03-14 2018-09-28 摇了购(武汉)电子商务有限公司 一种大数据高并发下访问数据的方法及系统
CN108595487B (zh) * 2018-03-14 2022-04-29 武汉村助手科技有限公司 一种大数据高并发下访问数据的方法及系统
CN110515974A (zh) * 2019-07-15 2019-11-29 金蝶软件(中国)有限公司 数据抽取方法、装置、计算机设备和存储介质
CN111367952A (zh) * 2020-03-02 2020-07-03 中国邮政储蓄银行股份有限公司 缓存数据的分页查询方法、系统及计算机可读存储介质
CN111367952B (zh) * 2020-03-02 2023-08-25 中国邮政储蓄银行股份有限公司 缓存数据的分页查询方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN106570060B (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
CN105205014B (zh) 一种数据存储方法和装置
CN103577440B (zh) 一种非关系型数据库中的数据处理方法和装置
US20170364697A1 (en) Data interworking method and data interworking device
CN106570060A (zh) 一种信息流中数据的随机抽取方法及装置
CN104407879B (zh) 一种电网时序大数据并行加载方法
CN105205146B (zh) 一种计算微博用户影响力的方法
US20190151758A1 (en) Unique virtual entity creation based on real world data sources
CN106649349A (zh) 用于游戏应用的数据缓存方法、装置和系统
CN106897141A (zh) 信息的处理方法及装置
CN103500213B (zh) 基于预读取的页面热点资源更新方法和装置
CN107766454A (zh) 一种数据处理方法、服务器及计算机可读存储介质
CN108200070A (zh) 一种生成榜单的方法及装置
CN107707404A (zh) 网站在线人数统计方法、装置和网站服务器
CN108647079A (zh) 一种应用程序的图标在设备中的展示方法及设备
CN106487562A (zh) 一种微信用户数据分析的方法和系统
CN105653550B (zh) 网页过滤方法和装置
CN106775470A (zh) 一种数据存储的方法及系统
CN102880643A (zh) 一种动态信息的筛选显示方法和装置
CN107408239A (zh) 通过多个邮箱在通信应用中进行海量数据管理的架构
CN104933066B (zh) 一种数据处理的方法和系统
CN107193857A (zh) 一种用于数据库遍历的方法与设备
US9230022B1 (en) Customizable result sets for application program interfaces
CN105868345B (zh) 一种信息确定方法及装置
CN115016735A (zh) 一种分布式缓存系统的控制方法、装置及介质
CN107515816A (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