用于翻页浏览的乱序方法及系统.pdf

上传人:Y0****01 文档编号:4750512 上传时间:2018-11-05 格式:PDF 页数:15 大小:459.59KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110218490.9

申请日:

2011.08.01

公开号:

CN102929868A

公开日:

2013.02.13

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 17/30申请公布日:20130213|||实质审查的生效IPC(主分类):G06F 17/30申请日:20110801|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北京百度网讯科技有限公司

发明人:

李岩

地址:

100085 北京市海淀区上地十街10号百度大厦2层

优先权:

专利代理机构:

北京鸿德海业知识产权代理事务所(普通合伙) 11412

代理人:

袁媛

PDF下载: PDF下载
内容摘要

本发明提供一种用于翻页浏览的乱序方法及系统,其乱序方法包括:S1.接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;S2.将所述数据信息序列分为对应于M个页面的M段;S3.接收展示第Q页的信息,其中Q≤M;S4.根据接收到的信息确定前Q页需要乱序的L个数据信息;S5.将所述L个数据信息在所述数据信息序列中进行乱序。相较于现有技术,本发明的有益效果是:本发明的乱序方法及系统无需对整体的数据信息序列进行乱序,不仅可以减轻服务器的处理压力,而且还可节省服务器的处理时间,实现快速生成随机榜单,提高乱序效率。

权利要求书

权利要求书一种用于翻页浏览的乱序方法,其特征在于,所述乱序方法包括以下步骤:
S1、接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;
S2、将所述数据信息序列分为对应于M个页面的M段;
S3、接收展示第Q页的信息,其中Q≤M;
S4、根据接收到的信息确定前Q页需要乱序的L个数据信息;
S5、将所述L个数据信息在所述数据信息序列中进行乱序。
根据权利要求1所述的乱序方法,其特征在于,所述乱序是将所述L个数据信息中的每一个在所述数据序列中进行随机替换。
根据权利要求2所述的乱序方法,其特征在于,所述乱序是将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
根据权利要求3所述的乱序方法,其特征在于,所述乱序是按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。
根据权利要求2所述的乱序方法,其特征在于,所述乱序是:
首先将所述L个数据信息分成若干组;
其次将每一组在所述数据信息序列中进行随机替换。
根据权利要求1所述的乱序方法,其特征在于,所述S5步骤具体包括:
给定一个随机种子,用以产生一随机数;
采用替换函数算法,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。
根据权利要求6所述的乱序方法,其特征在于,所述随机种子在重新生成数据信息序列时更新。
根据权利要求1至7中任意一项所述的乱序方法,其特征在于,
所述S2步骤具体为:
将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数;
所述S4步骤具体为:
根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N;
所述S5步骤具体为:
将Q*N个数据信息在所述数据信息序列中进行乱序。
一种用于翻页浏览的乱序系统,其特征在于,所述乱序系统包括:
序列生成模块,用于接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;
分段模块,用于将所述数据信息序列分为对应于M个页面的M段;
条件接收模块,用于接收展示第Q页的信息,其中Q≤M;
乱序模块,用于根据接收到的信息确定前Q页需要乱序的L个数据信息;以及将所述L个数据信息在所述数据信息序列中进行乱序。
根据权利要求9所述的乱序系统,其特征在于,所述乱序模块用于将所述L个数据信息中的每一个在所述数据序列中进行随机替换。
根据权利要求10所述的乱序系统,其特征在于,所述乱序模块用于将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
根据权利要求11所述的乱序系统,其特征在于,所述乱序模块用于按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。
根据权利要求12所述的乱序系统,其特征在于,所述乱序模块用于将所述L个数据信息分成若干组;以及将每一组在所述数据信息序列中进行随机替换。
根据权利要求9所述的乱序系统,其特征在于,所述乱序模块还用于根据给定的随机种子产生一随机数;以及采用替换函数算法,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。
根据权利要求14所述的乱序系统,其特征在于,所述随机种子在重新生成数据信息序列时更新。
根据权利要求9至15中任意一项所述的乱序系统,其特征在于,
所述分段模块用于将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数;
所述条件接收模块用于根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N;
所述乱序模块用于将Q*N个数据信息在所述数据信息序列中进行乱序。

说明书

说明书用于翻页浏览的乱序方法及系统
【技术领域】
本发明涉及一种用于翻页浏览的乱序方法及系统,尤其是指可快速生成随机榜单的乱序方法及系统。
【背景技术】
各类网站的资讯种类繁多,浩如烟海,让人目不暇接。网站为了方便用户浏览查看,大多采用归类方式,将各种资讯分门别类地罗列显示,通过排行榜的方式向用户推荐产品、信息,如热点榜单、音乐榜单及小说榜单等,给用户提供了更多便利。然而各类排行榜的长度有限,并不一定能将整个榜单信息完全显示。
因此,为了使用户可以看到更多推荐信息,网站采用随机榜单的方式显示不同的数据信息,在每一次刷新网页或更换网站页面时,都会自动更新显示的榜单内容。这种随机榜单的方式,是在某个特定的范围内,将数据打乱顺序后,随机分页显示该范围内的数据信息。由于排名是随机的,不固定的更换的,因而随机榜单显示所述范围内的所有数据信息的概率是相同的。通过用户在刷新或更换页面的,以及不同用户浏览时,能够被看见的数据信息变多,因而可以提供更多资讯,更容易出现能够引起用户兴趣的信息,便于点击浏览。
现有的乱序方法是先对整体数据信息序列进行乱序,再取分页的过程。然而用户在翻页浏览过程中,并不一定会对所有页面都进行点击浏览,大部分情况下,用于翻到前面几页时就会结束浏览了,这样,在后页数的随机榜单随即失效。这种通过先对数据信息乱序再进行分页的方式,容易产生不必要的乱序操作,无谓地浪费了先前的运算结果,必然加大服务器的处理压力,影响乱序的效率。
【发明内容】
有鉴于此,本发明的目的在于提供一种用于翻页浏览的乱序方法及系统,所述的方法及系统无需对整体的数据信息序列进行乱序,可根据用户需求快速生成随机榜单。
相应地,本发明的一种实施例用于翻页浏览的乱序方法,包括以下步骤
S1、接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;
S2、将所述数据信息序列分为对应于M个页面的M段;
S3、接收展示第Q页的信息,其中Q≤M;
S4、根据接收到的信息确定前Q页需要乱序的L个数据信息;
S5、将所述L个数据信息在所述数据信息序列中进行乱序。
作为本发明的进一步改进,所述乱序是将所述L个数据信息中的每一个在所述数据序列中进行随机替换。
作为本发明的进一步改进,所述乱序是将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
作为本发明的进一步改进,所述乱序是按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。
作为本发明的进一步改进,所述乱序是:
首先将所述L个数据信息分成若干组;
其次将每一组在所述数据信息序列中进行随机替换。
作为本发明的进一步改进,所述S5步骤具体包括:
给定一个随机种子,用以产生一随机数;
采用替换函数算法,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。
作为本发明的进一步改进,所述随机种子在重新生成数据信息序列时更新。
作为本发明的进一步改进,其特征在于,
所述S2步骤具体为:
将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数;
所述S4步骤具体为:
根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N;
所述S5步骤具体为:
将Q*N个数据信息在所述数据信息序列中进行乱序。
相应地,本发明的一种实施例用于翻页浏览的乱序系统,包括:
序列生成模块,用于接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;
分段模块,用于将所述数据信息序列分为对应于M个页面的M段;
条件接收模块,用于接收展示第Q页的信息,其中Q≤M;
乱序模块,用于根据接收到的信息确定前Q页需要乱序的L个数据信息;以及将所述L个数据信息在所述数据信息序列中进行乱序。
作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息中的每一个在所述数据序列中进行随机替换。
作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
作为本发明的进一步改进,所述乱序模块用于按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。
作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息分成若干组;以及将每一组在所述数据信息序列中进行随机替换。
作为本发明的进一步改进,所述乱序模块还用于根据给定的随机种子产生一随机数;以及采用替换函数算法,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。
作为本发明的进一步改进,所述随机种子在重新生成数据信息序列时更新。
作为本发明的进一步改进,所述分段模块用于将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数;
所述条件接收模块用于根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N;
所述乱序模块用于将Q*N个数据信息在所述数据信息序列中进行乱序。
相较于现有技术,本发明的有益效果是:本发明的乱序方法及系统无需对整体的数据信息序列进行乱序,不仅可以减轻服务器的处理压力,而且还可节省服务器的处理时间,实现快速生成随机榜单,提高乱序效率。
【附图说明】
图1是本发明提供的一种用于翻页浏览的乱序方法的流程图;
图2是本发明乱序的第一实施方式的示意图;
图3是本发明乱序的第二实施方式的示意图;
图4是本发明乱序的第三实施方式的示意图;
图5是本发明一种实施例的乱序算法的流程图;
图6是本发明提供的一种用于翻页浏览的乱序系统的架构图。
【具体实施例】
以下将结合附图所示的各实施例对本发明进行详细描述。但这些实施例并不限制本发明,本领域的普通技术人员根据这些实施例所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,为本发明一实施例中提供的一种用于翻页浏览的乱序方法的流程图,所述乱序方法包括以下步骤:
S1、接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;优选地,所述的数据信息包括数字信息ID,所述数字信息ID与数字信息文件一一对应,即是可通过所述数字信息ID调取到所述数字信息文件。在本实施例中,从数据库中接收到了T个数据信息,则生成的数据信息序列可为a[1],a[2],a[3],a[4]...,a[L]...,a[T],其中,a[1]为在所述数据信息序列中第1个数据信息的序列位置,a[2]为在所述数据信息序列中第2个数据信息的序列位置,a[3]为在所述数据信息序列中第3个数据信息的序列位置,a[4]为在所述数据信息序列中第4个数据信息的序列位置,以此类推a[L]为在所述数据信息序列中第L个数据信息的序列位置,a[T]为在所述数据信息序列中第T个数据信息的序列位置。
S2、将所述数据信息序列分为对应于M个页面的M段;优选地,在本实施例中,可预设每一段具有N个数据信息,并将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数,以避免N不为T个数据信息整除的情况。
S3、接收展示第Q页的信息,其中Q≤M;其中,该展示第Q页的信息可由系统自定,例如,在一般的情况下,系统会默认将第1页的内容进行展示,则该Q页即是第1页,当然,该展示第Q页的信息也可根据用户点击某页确定,例如,用户点击了第3页,则该第Q页即是第3页。在本发明优选的实施例中,可限定Q<M,即是只要系统默认展现的或用户点击的页面不是该页面的最后一页即可根据本实施例公开的算法进行乱续,当然,在本发明其他实施例中,也可为Q≤M。
S4、根据接收到的信息确定前Q页需要乱序的L个数据信息;在本实施例中,即是将所述第Q页作为当前展示页面,从而确定在该当前页之前和当前页中所包括的数据信息的数量,其中L小于T。优选地,如上述的例子,在本步骤中,可将根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N。
S5、将所述L个数据信息在所述数据信息序列中进行乱序。即是将所述L个数据信息中位于各序列位置下的每一个数据信息在所述数据序列中各序列位置下的数据信息进行随机替换。值得一提的是:各个序列位置并不替换,已保证该序列的顺序,只是替换位于各个序列位置下的数据信息。优选地,在本实施例中,可参上述例子,将Q*N个数据信息中位于各序列位置下的每一个数据信息在所述数据序列中位于各序列位置下的数据信息进行随机替换,以达到乱序的目的。下面将结合图2至图5对该乱序的过程进行详细论述。
值得一提的是:在本实施例中,所述的T、M、L、Q均为正整数。
如图2所示,为本发明乱序的第一实施方式的示意图,在本实施例中,所述S5步骤中的乱序是按照顺序的方式进行的,即是按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。在本实施例中,在进行序列位置位于所述数据信息序列最前(即是a[1]序列位置)的第1个数据信息替换时,将所述第1个数据信息与T个数据信息中的任一个进行随机替换,并在替换后,固定该位于a[1]序列位置的数据信息。在进行序列位置位于所述数据信息序列次前的第2个数据信息替换时,将所述第2个数据信息与T‑1个数据信息进行替换,即是将排除掉已固定于a[1]序列位置的数据信息的T‑1个数据信息中任意一个与第2个数据信息随机替换,并在替换后,固定序列位置位于所述数据信息序列次前的数据信息。依次类推,在进行序列位置位于所述数据信息序列第L位(即是a[L]序列位置)的数据信息替换时,将所述第L个数据信息与T‑L‑1个数据信息进行替换,即是将排除掉已固定于a[1]至a[L]序列位置的数据信息与T‑L‑1个数据信息中任意一个与第L个数据信息随机替换。由此可见,所述乱序是将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
如图3所示,为本发明乱序的第二实施方式的示意图,在本实施例中,所述S5步骤中的乱序是无序随机地在所述数据信息序列中进行替换。在该方式的乱序过程中,随机地选择前L个数据信息中某个数据信息,将其在整个数据信息序列中随机替换。例如,第1次替换时随机选取到初始位置位于所述数据信息序列第4个(即是a[4]序列位置)的数据信息,将序列位置a[4]下的数据信息,与T个数据信息中的任一个进行随机替换,并在替换后,固定序列位置a[4]的数据信息。在进行第2次替换时随机选取到初始位置位于所述数据信息序列第2个(即是a[2]序列位置)数据信息,将排除已固定于数据信息序列a[4]的数据信息的T‑1个数据信息中任意一个与序列位置a[2]下的数据信息随机替换,并在替换后,固定序列位置a[2]的数据信息。在进行第3次替换时随机选取到初始位置位于所述数据信息序列第1个(即是a[1]序列位置)数据信息,将排除已固定于数据信息序列a[2]、a[4]的数据信息的T‑2个数据信息中任意一个与序列位置a[1]下的数据信息随机替换,并在替换后,固定序列位置a[1]的数据信息。依次类推,当完成L个数据信息随机替换后,亦即完成乱序后的数据信息序列。
如图4所示,为本发明乱序的第三实施方式的示意图,所述乱序首先将所述L个数据信息分成若干组;其次将每一组在所述数据信息序列中进行随机替换。假定以W个数据信息为一组进行替换的整体,W为正整数且W≤L,这样,将L个数据信息分成L/W个分组。将L/W个分组在所述数据信息序列中乱序。优选地,将L/W个分组按照顺序从前至后依次随机替换各组位置对应的数据信息。例如,以2个数据信息为一组,需要替换数据信息的数量L为20,其过程为:进行第一次替换时,将序列位置位于所述数据信息序列第1、2个(即是a[1]、a[2]序列位置)的数据信息作为整体与序列位置位于所述数据信息序列第31、32个(即是a[31]、a[32]序列位置)数据信息进行替换,并在替换后,固定序列位置为第1、2个数据信息;进行第二次替换时,将序列位置位于所述数据信息序列第3、4个(即是a[3]、a[4]序列位置)数据信息作为整体与第二次替换时位于所述数据信息序列第32、33个(即是a[32]、a[33]序列位置)的数据信息进行替换,并在替换后,固定序列位置为第3、4个(即是a[3]、a[4]序列位置)数据信息的数据信息,即乱序后a[3]序列位置的数据信息为乱序前a[32]序列位置的数据信息,a[4]序列位置的数据信息为乱序前a[1]序列位置的数据信息;依次类推,进行第十次替换时,将序列位置位于所述数据信息序列第19、20个(即是a[19]、a[20]序列位置)的数据信息作为整体与位于所述数据信息序列第25、26个(即是a[25]、a[26]序列位置)的数据信息进行替换,完成本次乱序。
值得一提的是:通过上述三种实施例方式乱序后,即可按照所述数据信息序列顺序拼装为页面后显示给用户。
如图5所示,为本发明一实施例乱序算法的流程图,步骤S5中进行乱序处理的过程进一步地包括以下步骤:
S401:给定一个随机种子;其中,该随机种子是本领域普通技术人员通过现有技术已能熟练掌握的方式,在此不再赘述。
S402:判读随机种子是否变更,如果是,则进入步骤S403;若否,则不产生新的随机数,进入步骤S404。
S403:根据给定的随机种子,产生随机数P1,......,PT;
S404:采用替换函数进行乱序,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。所述替换函数为swap(m,n);temp=m;m=n;n=temp。其中,在步骤S404中,先将数据信息序列及随机数P1赋值给m,n,例如,进行第1条数据信息替换时,第1条数据信息序列对应的序列位置为a[1],将其赋值给m,将随机数P1赋值给n,其中P1=a[1]到a[T]中的某个数。再通过上述替换函数替换对应的序列位置,将第1条数据信息序列对应的序列位置为a[1]与随机数P1替换,从而实现第1条数据信息在T个数据信息中乱序。再将后续待替换的数据信息序列与对应的随机数进行替换,直到完成第Q*N条数据信息的替换,其过程与上述过程相同,故不于此赘述。
当然,在本实施例中,所述乱序方法还包括一输出显示的步骤,用于输出显示乱序后的第Q页的数据信息。
值得一提的是:在用户从第Q页往前页面的浏览后,又再回到第Q页时,因随机种子不变,可保证第Q页所展示的数据信息结果相同。直到重新生成数据信息序列时才更新随机种子,产生新的随机数,以便对该数据信息进行不同的随机乱序。
以网络音乐平台为例,在网页中采用在线音乐播放器,向广大用户提供方便流畅的在线音乐以及各类榜单资讯等音乐服务。在线音乐播放器通常都带有精彩音乐推荐功能,新歌金曲、随便听听等推荐列表向用户推荐更多好歌,让用户在娱乐的时候享受更多的便利。为了满足用户随机听歌的需求,需要将曲库中的歌曲打乱顺序后,随机载入播放器列表。现有的乱序方法是先对整体列表进行乱序后,再取分页显示的过程,当歌曲榜单中的音乐曲目过多时,乱序过程耗费时间长,加载过程慢。因而本发明所提供的乱序方法是通过只针对用户请求显示的歌曲页面中的歌曲,在整个列表中乱序,可节约大量的运算时间,快速生成随机榜单,使用更加流畅。
数据库中有100首歌曲,要按每页显示10首歌曲将其进行分页显示。用户点击查看榜单内容第2页,浏览第11‑20首歌曲时,乱序方法包括以下步骤:接收数据库中的100首歌曲ID信息,并生成歌曲序列a[1],...,a[100];根据用户的请求信息确定需要乱序的歌曲数量为20首;给定一个随机种子,产生一组随机数P1‑P100,并采用替换函数swap(m,n)依次进行a[1]‑a[20]乱序,所述替换函数的算法为swap(m,n);temp=m;m=n;n=temp。比如,a[1]=1,P1=100,是将第1首歌曲与第100首进行替换,替换后a[1]=100,a[100]=1,通过替换函数将第1‑20首的歌曲依次与后面位数的歌曲名称随机替换;获取相对应的歌曲,输出乱序后的第11‑20首歌曲,显示给用户。
当用户需要往前浏览第1页,则输出乱序第1‑10首歌曲,显示的歌曲与第2页内容不重复。若用户需要继续往后浏览页面,则保持随机种子不变,继续依次进行后续歌曲的替换,显示后续页面的歌曲内容。由于此过程采用同一组随机数P1‑P100,每一首歌曲都不会重复出现,因而每一页歌曲的内容也不会与其他页重复,可进行翻页浏览。当需要刷新榜单时,系统接收到重新生成数据信息序列的指令,则更换随机种子,由新的随机种子产生另一组新的随机数,进行下一次的随机乱序。因而,本发明的乱序方法及系统生成的随机榜单可支持翻页,每一页的榜单内容不与其他页重复。
如图6所示,为本发明一实施例种提供的一种用于翻页浏览的乱序系统的架构图,该乱序系统包括:
序列生成模块101,接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;优选地,所述的数据信息包括数字信息ID,所述数字信息ID与数字信息文件一一对应,即是可通过所述数字信息ID调取到所述数字信息文件。在本实施例中,从数据库中接收到了T个数据信息,则生成的数据信息序列可为a[1],a[2],a[3],a[4]...,a[L]...,a[T],其中,a[1]为在所述数据信息序列中第1个数据信息的序列位置,a[2]为在所述数据信息序列中第2个数据信息的序列位置,a[3]为在所述数据信息序列中第3个数据信息的序列位置,a[4]为在所述数据信息序列中第4个数据信息的序列位置,以此类推a[L]为在所述数据信息序列中第L个数据信息的序列位置,a[T]为在所述数据信息序列中第T个数据信息的序列位置。
分段模块104,用于将所述数据信息序列分为对应于M个页面的M段;优选地,在本实施例中,可预设每一段具有N个数据信息,并将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数,以避免N不为T个数据信息整除的情况。
条件接收模块102,用于接收展示第Q页的信息,其中Q≤M;其中,该展示第Q页的信息可由系统自定,例如,在一般的情况下,系统会默认将第1页的内容进行展示,则该Q页即是第1页,当然,该展示第Q页的信息也可根据用户点击某页确定,例如,用户点击了第3页,则该第Q页即是第3页。在本发明优选的实施例中,可限定Q<M,即是只要系统默认展现的或用户点击的页面不是该页面的最后一页即可根据本实施例公开的算法进行乱续,当然,在本发明其他实施例中,也可为Q≤M。
乱序模块103,用于根据接收到的信息确定前Q页需要乱序的L个数据信息;在本实施例中,即是将所述第Q页作为当前展示页面,从而确定在该当前页之前和当前页中所包括的数据信息的数量,其中L小于T。优选地,如上述的例子,在本步骤中,可将根据接收到的信息确定前Q页需要乱序的数据信息数量为Q*N。所述乱序模块103还用于将所述L个数据信息在所述数据信息序列中进行乱序。即是将所述L个数据信息中位于各序列位置下的每一个数据信息在所述数据序列中各序列位置下的数据信息进行随机替换。值得一提的是:各个序列位置并不替换,已保证该序列的顺序,只是替换位于各个序列位置下的数据信息。优选地,在本实施例中,可参上述例子,将Q*N个数据信息中位于各序列位置下的每一个数据信息在所述数据序列中位于各序列位置下的数据信息进行随机替换,以达到乱序的目的。下面将结合图2至图5对该乱序的过程进行详细论述。
值得一提的是:在本实施例中,所述的T、M、L、Q均为正整数。
在本发明第一实施例中,所述乱序模块用于按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。在本实施例中,在进行序列位置位于所述数据信息序列最前(即是a[1]序列位置)的第1个数据信息替换时,将所述第1个数据信息与T个数据信息中的任一个进行随机替换,并在替换后,固定该位于a[1]序列位置的数据信息。在进行序列位置位于所述数据信息序列次前的第2个数据信息替换时,将所述第2个数据信息与T‑1个数据信息进行替换,即是将排除掉已固定于a[1]序列位置的数据信息的T‑1个数据信息中任意一个与第2个数据信息随机替换,并在替换后,固定序列位置位于所述数据信息序列次前的数据信息。依次类推,在进行序列位置位于所述数据信息序列第L位(即是a[L]序列位置)的数据信息替换时,将所述第L个数据信息与T‑L‑1个数据信息进行替换,即是将排除掉已固定于a[1]至a[L]序列位置的数据信息与T‑L‑1个数据信息中任意一个与第L个数据信息随机替换。由此可见,所述乱序是将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。
在本发明第二实施例中,所述乱序模块用于无序随机地在所述数据信息序列中进行替换。在该方式的乱序过程中,随机地选择前L个数据信息中某个数据信息,将其在整个数据信息序列中随机替换。例如,第1次替换时随机选取到初始位置位于所述数据信息序列第4个(即是a[4]序列位置)的数据信息,将序列位置a[4]下的数据信息,与T个数据信息中的任一个进行随机替换,并在替换后,固定序列位置a[4]的数据信息。在进行第2次替换时随机选取到初始位置位于所述数据信息序列第2个(即是a[2]序列位置)数据信息,将排除已固定于数据信息序列a[4]的数据信息的T‑1个数据信息中任意一个与序列位置a[2]下的数据信息随机替换,并在替换后,固定序列位置a[2]的数据信息。在进行第3次替换时随机选取到初始位置位于所述数据信息序列第1个(即是a[1]序列位置)数据信息,将排除已固定于数据信息序列a[2]、a[4]的数据信息的T‑2个数据信息中任意一个与序列位置a[1]下的数据信息随机替换,并在替换后,固定序列位置a[1]的数据信息。依次类推,当完成L个数据信息随机替换后,亦即完成乱序后的数据信息序列。
在本发明第三实施例中,所述乱序模块用于将所述L个数据信息分成若干组;以及将每一组在所述数据信息序列中进行随机替换。假定以W个数据信息为一组进行替换的整体,W为正整数且W≤L,这样,将L个数据信息分成L/W个分组。将L/W个分组在所述数据信息序列中乱序。优选地,将L/W个分组按照顺序从前至后依次随机替换各组位置对应的数据信息。例如,以2个数据信息为一组,需要替换数据信息的数量L为20,其过程为:进行第一次替换时,将序列位置位于所述数据信息序列第1、2个(即是a[1]、a[2]序列位置)的数据信息作为整体与序列位置位于所述数据信息序列第31、32个(即是a[31]、a[32]序列位置)数据信息进行替换,并在替换后,固定序列位置为第1、2个数据信息;进行第二次替换时,将序列位置位于所述数据信息序列第3、4个(即是a[3]、a[4]序列位置)数据信息作为整体与第二次替换时位于所述数据信息序列第32、33个(即是a[32]、a[33]序列位置)的数据信息进行替换,并在替换后,固定序列位置为第3、4个(即是a[3]、a[4]序列位置)数据信息的数据信息,即乱序后a[3]序列位置的数据信息为乱序前a[32]序列位置的数据信息,a[4]序列位置的数据信息为乱序前a[1]序列位置的数据信息;依次类推,进行第十次替换时,将序列位置位于所述数据信息序列第19、20个(即是a[19]、a[20]序列位置)的数据信息作为整体与位于所述数据信息序列第25、26个(即是a[25]、a[26]序列位置)的数据信息进行替换,完成本次乱序。
值得一提的是:通过上述三种实施例方式乱序后,即可按照所述数据信息序列顺序拼装为页面后显示给用户。
优选地,在所述乱序模块还用于提供乱序算法,所述乱序算法为:
给定一个随机种子;其中,该随机种子是本领域普通技术人员通过现有技术已能熟练掌握的方式,在此不再赘述。
判读随机种子是否变更,如果是,则进入步骤S403;若否,则不产生新的随机数,进入步骤S404。
根据给定的随机种子,产生随机数P1,......,PT;
采用替换函数进行乱序,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。所述替换函数为swap(m,n);temp=m;m=n;n=temp。其中,在步骤S404中,先将数据信息序列及随机数P1赋值给m,n,例如,进行第1条数据信息替换时,第1条数据信息序列对应的序列位置为a[1],将其赋值给m,将随机数P1赋值给n,其中P1=a[1]到a[T]中的某个数。再通过上述替换函数替换对应的序列位置,将第1条数据信息序列对应的序列位置为a[1]与随机数P1替换,从而实现第1条数据信息在T个数据信息中乱序。再将后续待替换的数据信息序列与对应的随机数进行替换,直到完成第Q*N条数据信息的替换,其过程与上述过程相同,故不于此赘述。
当然,在本实施例中,所述乱序方法还包括一输出显示的步骤,用于输出显示乱序后的第Q页的数据信息。
值得一提的是:在用户从第Q页往前页面的浏览后,又再回到第Q页时,因随机种子不变,可保证第Q页所展示的数据信息结果相同。直到重新生成数据信息序列时才更新随机种子,产生新的随机数,以便对该数据信息进行不同的随机乱序。
以网络音乐平台为例,在网页中采用在线音乐播放器,向广大用户提供方便流畅的在线音乐以及各类榜单资讯等音乐服务。在线音乐播放器通常都带有精彩音乐推荐功能,新歌金曲、随便听听等推荐列表向用户推荐更多好歌,让用户在娱乐的时候享受更多的便利。为了满足用户随机听歌的需求,需要将曲库中的歌曲打乱顺序后,随机载入播放器列表。现有的乱序方法是先对整体列表进行乱序后,再取分页显示的过程,当歌曲榜单中的音乐曲目过多时,乱序过程耗费时间长,加载过程慢。因而本发明所提供的乱序方法是通过只针对用户请求显示的歌曲页面中的歌曲,在整个列表中乱序,可节约大量的运算时间,快速生成随机榜单,使用更加流畅。
数据库中有100首歌曲,要按每页显示10首歌曲将其进行分页显示。用户点击查看榜单内容第2页,浏览第11‑20首歌曲时,乱序方法包括以下步骤:接收数据库中的100首歌曲ID信息,并生成歌曲序列a[1],...,a[100];根据用户的请求信息确定需要乱序的歌曲数量为20首;给定一个随机种子,产生一组随机数P1‑P100,并采用替换函数swap(m,n)依次进行a[1]‑a[20]乱序,所述替换函数的算法为swap(m,n);temp=m;m=n;n=temp。比如,a[1]=1,P1=100,是将第1首歌曲与第100首进行替换,替换后a[1]=100,a[100]=1,通过替换函数将第1‑20首的歌曲依次与后面位数的歌曲名称随机替换;获取相对应的歌曲,输出乱序后的第11‑20首歌曲,显示给用户。
当用户需要往前浏览第1页,则输出乱序第1‑10首歌曲,显示的歌曲与第2页内容不重复。若用户需要继续往后浏览页面,则保持随机种子不变,继续依次进行后续歌曲的替换,显示后续页面的歌曲内容。由于此过程采用同一组随机数P1‑P100,每一首歌曲都不会重复出现,因而每一页歌曲的内容也不会与其他页重复,可进行翻页浏览。当需要刷新榜单时,系统接收到重新生成数据信息序列的指令,则更换随机种子,由新的随机种子产生另一组新的随机数,进行下一次的随机乱序。因而,本发明的乱序方法及系统生成的随机榜单可支持翻页,每一页的榜单内容不与其他页重复。
通过上述可知,采用本发明提供的用于翻页浏览的乱序方法和系统,无需对整体的数据信息序列进行乱序,不仅可以减轻服务器的处理压力,而且还可节省服务器的处理时间,实现快速生成随机榜单,提高乱序效率。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,信息推送服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、信息推送服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施例加以描述,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施例。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施例或变更均应包含在本发明的保护范围之内。

用于翻页浏览的乱序方法及系统.pdf_第1页
第1页 / 共15页
用于翻页浏览的乱序方法及系统.pdf_第2页
第2页 / 共15页
用于翻页浏览的乱序方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《用于翻页浏览的乱序方法及系统.pdf》由会员分享,可在线阅读,更多相关《用于翻页浏览的乱序方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102929868 A (43)申请公布日 2013.02.13 CN 102929868 A *CN102929868A* (21)申请号 201110218490.9 (22)申请日 2011.08.01 G06F 17/30(2006.01) (71)申请人 北京百度网讯科技有限公司 地址 100085 北京市海淀区上地十街 10 号 百度大厦 2 层 (72)发明人 李岩 (74)专利代理机构 北京鸿德海业知识产权代理 事务所 ( 普通合伙 ) 11412 代理人 袁媛 (54) 发明名称 用于翻页浏览的乱序方法及系统 (57) 摘要 本发明提供一种用于翻页浏。

2、览的乱序方法 及系统, 其乱序方法包括 : S1. 接收若干个数据信 息, 并生成数据信息序列, 其中所述数据信息在所 述数据信息序列中具有对应的序列位置 ; S2. 将 所述数据信息序列分为对应于 M 个页面的 M 段 ; S3. 接收展示第 Q 页的信息, 其中 Q M ; S4. 根据 接收到的信息确定前 Q 页需要乱序的 L 个数据信 息 ; S5.将所述L个数据信息在所述数据信息序列 中进行乱序。 相较于现有技术, 本发明的有益效果 是 : 本发明的乱序方法及系统无需对整体的数据 信息序列进行乱序, 不仅可以减轻服务器的处理 压力, 而且还可节省服务器的处理时间, 实现快速 生成随机。

3、榜单, 提高乱序效率。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 10 页 附图 2 页 1/2 页 2 1. 一种用于翻页浏览的乱序方法, 其特征在于, 所述乱序方法包括以下步骤 : S1、 接收若干个数据信息, 并生成数据信息序列, 其中所述数据信息在所述数据信息序 列中具有对应的序列位置 ; S2、 将所述数据信息序列分为对应于 M 个页面的 M 段 ; S3、 接收展示第 Q 页的信息, 其中 Q M ; S4、 根据接收到的信息确定前 Q 页需要乱序的 L 个数据。

4、信息 ; S5、 将所述 L 个数据信息在所述数据信息序列中进行乱序。 2.根据权利要求1所述的乱序方法, 其特征在于, 所述乱序是将所述L个数据信息中的 每一个在所述数据序列中进行随机替换。 3.根据权利要求2所述的乱序方法, 其特征在于, 所述乱序是将所述L个数据信息逐一 地在所述数据信息序列中进行随机替换。 4. 根据权利要求 3 所述的乱序方法, 其特征在于, 所述乱序是按照所述数据信息序列 顺序从前至后依次随机替换各序列位置对应的数据信息。 5. 根据权利要求 2 所述的乱序方法, 其特征在于, 所述乱序是 : 首先将所述 L 个数据信息分成若干组 ; 其次将每一组在所述数据信息序列。

5、中进行随机替换。 6. 根据权利要求 1 所述的乱序方法, 其特征在于, 所述 S5 步骤具体包括 : 给定一个随机种子, 用以产生一随机数 ; 采用替换函数算法, 将在一序列位置下的数据信息与所述随机数进行替换, 以更改所 述数据信息的序列位置。 7. 根据权利要求 6 所述的乱序方法, 其特征在于, 所述随机种子在重新生成数据信息 序列时更新。 8. 根据权利要求 1 至 7 中任意一项所述的乱序方法, 其特征在于, 所述 S2 步骤具体为 : 将所述的数据信息序列按照每一段具有 N 个数据信息分成对应于 M 个页面的 M 段, 其 中 M 是若干个数据信息除以 N 的进一取整数 ; 所述。

6、 S4 步骤具体为 : 根据接收到的信息确定前 Q 页需要乱序的数据信息数量为 Q*N ; 所述 S5 步骤具体为 : 将 Q*N 个数据信息在所述数据信息序列中进行乱序。 9. 一种用于翻页浏览的乱序系统, 其特征在于, 所述乱序系统包括 : 序列生成模块, 用于接收若干个数据信息, 并生成数据信息序列, 其中所述数据信息在 所述数据信息序列中具有对应的序列位置 ; 分段模块, 用于将所述数据信息序列分为对应于 M 个页面的 M 段 ; 条件接收模块, 用于接收展示第 Q 页的信息, 其中 Q M ; 乱序模块, 用于根据接收到的信息确定前 Q 页需要乱序的 L 个数据信息 ; 以及将所述 。

7、L 个数据信息在所述数据信息序列中进行乱序。 10. 根据权利要求 9 所述的乱序系统, 其特征在于, 所述乱序模块用于将所述 L 个数据 信息中的每一个在所述数据序列中进行随机替换。 权 利 要 求 书 CN 102929868 A 2 2/2 页 3 11.根据权利要求10所述的乱序系统, 其特征在于, 所述乱序模块用于将所述L个数据 信息逐一地在所述数据信息序列中进行随机替换。 12. 根据权利要求 11 所述的乱序系统, 其特征在于, 所述乱序模块用于按照所述数据 信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。 13.根据权利要求12所述的乱序系统, 其特征在于, 所述乱序。

8、模块用于将所述L个数据 信息分成若干组 ; 以及将每一组在所述数据信息序列中进行随机替换。 14. 根据权利要求 9 所述的乱序系统, 其特征在于, 所述乱序模块还用于根据给定的随 机种子产生一随机数 ; 以及采用替换函数算法, 将在一序列位置下的数据信息与所述随机 数进行替换, 以更改所述数据信息的序列位置。 15. 根据权利要求 14 所述的乱序系统, 其特征在于, 所述随机种子在重新生成数据信 息序列时更新。 16. 根据权利要求 9 至 15 中任意一项所述的乱序系统, 其特征在于, 所述分段模块用于将所述的数据信息序列按照每一段具有 N 个数据信息分成对应于 M 个页面的 M 段, 。

9、其中 M 是若干个数据信息除以 N 的进一取整数 ; 所述条件接收模块用于根据接收到的信息确定前 Q 页需要乱序的数据信息数量为 Q*N ; 所述乱序模块用于将 Q*N 个数据信息在所述数据信息序列中进行乱序。 权 利 要 求 书 CN 102929868 A 3 1/10 页 4 用于翻页浏览的乱序方法及系统 【技术领域】 0001 本发明涉及一种用于翻页浏览的乱序方法及系统, 尤其是指可快速生成随机榜单 的乱序方法及系统。 【背景技术】 0002 各类网站的资讯种类繁多, 浩如烟海, 让人目不暇接。网站为了方便用户浏览查 看, 大多采用归类方式, 将各种资讯分门别类地罗列显示, 通过排行榜。

10、的方式向用户推荐产 品、 信息, 如热点榜单、 音乐榜单及小说榜单等, 给用户提供了更多便利。 然而各类排行榜的 长度有限, 并不一定能将整个榜单信息完全显示。 0003 因此, 为了使用户可以看到更多推荐信息, 网站采用随机榜单的方式显示不同的 数据信息, 在每一次刷新网页或更换网站页面时, 都会自动更新显示的榜单内容。 这种随机 榜单的方式, 是在某个特定的范围内, 将数据打乱顺序后, 随机分页显示该范围内的数据信 息。 由于排名是随机的, 不固定的更换的, 因而随机榜单显示所述范围内的所有数据信息的 概率是相同的。 通过用户在刷新或更换页面的, 以及不同用户浏览时, 能够被看见的数据信 。

11、息变多, 因而可以提供更多资讯, 更容易出现能够引起用户兴趣的信息, 便于点击浏览。 0004 现有的乱序方法是先对整体数据信息序列进行乱序, 再取分页的过程。然而用户 在翻页浏览过程中, 并不一定会对所有页面都进行点击浏览, 大部分情况下, 用于翻到前面 几页时就会结束浏览了, 这样, 在后页数的随机榜单随即失效。 这种通过先对数据信息乱序 再进行分页的方式, 容易产生不必要的乱序操作, 无谓地浪费了先前的运算结果, 必然加大 服务器的处理压力, 影响乱序的效率。 【发明内容】 0005 有鉴于此, 本发明的目的在于提供一种用于翻页浏览的乱序方法及系统, 所述的 方法及系统无需对整体的数据信。

12、息序列进行乱序, 可根据用户需求快速生成随机榜单。 0006 相应地, 本发明的一种实施例用于翻页浏览的乱序方法, 包括以下步骤 0007 S1、 接收若干个数据信息, 并生成数据信息序列, 其中所述数据信息在所述数据信 息序列中具有对应的序列位置 ; 0008 S2、 将所述数据信息序列分为对应于 M 个页面的 M 段 ; 0009 S3、 接收展示第 Q 页的信息, 其中 Q M ; 0010 S4、 根据接收到的信息确定前 Q 页需要乱序的 L 个数据信息 ; 0011 S5、 将所述 L 个数据信息在所述数据信息序列中进行乱序。 0012 作为本发明的进一步改进, 所述乱序是将所述 L。

13、 个数据信息中的每一个在所述数 据序列中进行随机替换。 0013 作为本发明的进一步改进, 所述乱序是将所述 L 个数据信息逐一地在所述数据信 息序列中进行随机替换。 0014 作为本发明的进一步改进, 所述乱序是按照所述数据信息序列顺序从前至后依次 说 明 书 CN 102929868 A 4 2/10 页 5 随机替换各序列位置对应的数据信息。 0015 作为本发明的进一步改进, 所述乱序是 : 0016 首先将所述 L 个数据信息分成若干组 ; 0017 其次将每一组在所述数据信息序列中进行随机替换。 0018 作为本发明的进一步改进, 所述 S5 步骤具体包括 : 0019 给定一个随。

14、机种子, 用以产生一随机数 ; 0020 采用替换函数算法, 将在一序列位置下的数据信息与所述随机数进行替换, 以更 改所述数据信息的序列位置。 0021 作为本发明的进一步改进, 所述随机种子在重新生成数据信息序列时更新。 0022 作为本发明的进一步改进, 其特征在于, 0023 所述 S2 步骤具体为 : 0024 将所述的数据信息序列按照每一段具有 N 个数据信息分成对应于 M 个页面的 M 段, 其中 M 是若干个数据信息除以 N 的进一取整数 ; 0025 所述 S4 步骤具体为 : 0026 根据接收到的信息确定前 Q 页需要乱序的数据信息数量为 Q*N ; 0027 所述 S5。

15、 步骤具体为 : 0028 将 Q*N 个数据信息在所述数据信息序列中进行乱序。 0029 相应地, 本发明的一种实施例用于翻页浏览的乱序系统, 包括 : 0030 序列生成模块, 用于接收若干个数据信息, 并生成数据信息序列, 其中所述数据信 息在所述数据信息序列中具有对应的序列位置 ; 0031 分段模块, 用于将所述数据信息序列分为对应于 M 个页面的 M 段 ; 0032 条件接收模块, 用于接收展示第 Q 页的信息, 其中 Q M ; 0033 乱序模块, 用于根据接收到的信息确定前Q页需要乱序的L个数据信息 ; 以及将所 述 L 个数据信息在所述数据信息序列中进行乱序。 0034 。

16、作为本发明的进一步改进, 所述乱序模块用于将所述 L 个数据信息中的每一个在 所述数据序列中进行随机替换。 0035 作为本发明的进一步改进, 所述乱序模块用于将所述 L 个数据信息逐一地在所述 数据信息序列中进行随机替换。 0036 作为本发明的进一步改进, 所述乱序模块用于按照所述数据信息序列顺序从前至 后依次随机替换各序列位置对应的数据信息。 0037 作为本发明的进一步改进, 所述乱序模块用于将所述 L 个数据信息分成若干组 ; 以及将每一组在所述数据信息序列中进行随机替换。 0038 作为本发明的进一步改进, 所述乱序模块还用于根据给定的随机种子产生一随机 数 ; 以及采用替换函数算。

17、法, 将在一序列位置下的数据信息与所述随机数进行替换, 以更改 所述数据信息的序列位置。 0039 作为本发明的进一步改进, 所述随机种子在重新生成数据信息序列时更新。 0040 作为本发明的进一步改进, 所述分段模块用于将所述的数据信息序列按照每一段 具有 N 个数据信息分成对应于 M 个页面的 M 段, 其中 M 是若干个数据信息除以 N 的进一取 整数 ; 说 明 书 CN 102929868 A 5 3/10 页 6 0041 所述条件接收模块用于根据接收到的信息确定前 Q 页需要乱序的数据信息数量 为 Q*N ; 0042 所述乱序模块用于将 Q*N 个数据信息在所述数据信息序列中进。

18、行乱序。 0043 相较于现有技术, 本发明的有益效果是 : 本发明的乱序方法及系统无需对整体的 数据信息序列进行乱序, 不仅可以减轻服务器的处理压力, 而且还可节省服务器的处理时 间, 实现快速生成随机榜单, 提高乱序效率。 【附图说明】 0044 图 1 是本发明提供的一种用于翻页浏览的乱序方法的流程图 ; 0045 图 2 是本发明乱序的第一实施方式的示意图 ; 0046 图 3 是本发明乱序的第二实施方式的示意图 ; 0047 图 4 是本发明乱序的第三实施方式的示意图 ; 0048 图 5 是本发明一种实施例的乱序算法的流程图 ; 0049 图 6 是本发明提供的一种用于翻页浏览的乱。

19、序系统的架构图。 【具体实施例】 0050 以下将结合附图所示的各实施例对本发明进行详细描述。 但这些实施例并不限制 本发明, 本领域的普通技术人员根据这些实施例所做出的结构、 方法、 或功能上的变换均包 含在本发明的保护范围内。 0051 如图 1 所示, 为本发明一实施例中提供的一种用于翻页浏览的乱序方法的流程 图, 所述乱序方法包括以下步骤 : 0052 S1、 接收若干个数据信息, 并生成数据信息序列, 其中所述数据信息在所述数据信 息序列中具有对应的序列位置 ; 优选地, 所述的数据信息包括数字信息 ID, 所述数字信息 ID 与数字信息文件一一对应, 即是可通过所述数字信息 ID 。

20、调取到所述数字信息文件。在 本实施例中, 从数据库中接收到了 T 个数据信息, 则生成的数据信息序列可为 a1, a2, a3, a4., aL., aT, 其中, a1 为在所述数据信息序列中第 1 个数据信息的序列 位置, a2 为在所述数据信息序列中第 2 个数据信息的序列位置, a3 为在所述数据信息 序列中第 3 个数据信息的序列位置, a4 为在所述数据信息序列中第 4 个数据信息的序列 位置, 以此类推 aL 为在所述数据信息序列中第 L 个数据信息的序列位置, aT 为在所述 数据信息序列中第 T 个数据信息的序列位置。 0053 S2、 将所述数据信息序列分为对应于M个页面的。

21、M段 ; 优选地, 在本实施例中, 可预 设每一段具有 N 个数据信息, 并将所述的数据信息序列按照每一段具有 N 个数据信息分成 对应于 M 个页面的 M 段, 其中 M 是若干个数据信息除以 N 的进一取整数, 以避免 N 不为 T 个 数据信息整除的情况。 0054 S3、 接收展示第Q页的信息, 其中QM ; 其中, 该展示第Q页的信息可由系统自定, 例如, 在一般的情况下, 系统会默认将第 1 页的内容进行展示, 则该 Q 页即是第 1 页, 当然, 该展示第 Q 页的信息也可根据用户点击某页确定, 例如, 用户点击了第 3 页, 则该第 Q 页即 是第 3 页。在本发明优选的实施例。

22、中, 可限定 Q M, 即是只要系统默认展现的或用户点击 的页面不是该页面的最后一页即可根据本实施例公开的算法进行乱续, 当然, 在本发明其 说 明 书 CN 102929868 A 6 4/10 页 7 他实施例中, 也可为 Q M。 0055 S4、 根据接收到的信息确定前 Q 页需要乱序的 L 个数据信息 ; 在本实施例中, 即是 将所述第 Q 页作为当前展示页面, 从而确定在该当前页之前和当前页中所包括的数据信息 的数量, 其中 L 小于 T。优选地, 如上述的例子, 在本步骤中, 可将根据接收到的信息确定前 Q 页需要乱序的数据信息数量为 Q*N。 0056 S5、 将所述 L 个数。

23、据信息在所述数据信息序列中进行乱序。即是将所述 L 个数据 信息中位于各序列位置下的每一个数据信息在所述数据序列中各序列位置下的数据信息 进行随机替换。值得一提的是 : 各个序列位置并不替换, 已保证该序列的顺序, 只是替换位 于各个序列位置下的数据信息。优选地, 在本实施例中, 可参上述例子, 将 Q*N 个数据信息 中位于各序列位置下的每一个数据信息在所述数据序列中位于各序列位置下的数据信息 进行随机替换, 以达到乱序的目的。下面将结合图 2 至图 5 对该乱序的过程进行详细论述。 0057 值得一提的是 : 在本实施例中, 所述的 T、 M、 L、 Q 均为正整数。 0058 如图2所示。

24、, 为本发明乱序的第一实施方式的示意图, 在本实施例中, 所述S5步骤 中的乱序是按照顺序的方式进行的, 即是按照所述数据信息序列顺序从前至后依次随机替 换各序列位置对应的数据信息。在本实施例中, 在进行序列位置位于所述数据信息序列最 前 ( 即是 a1 序列位置 ) 的第 1 个数据信息替换时, 将所述第 1 个数据信息与 T 个数据信 息中的任一个进行随机替换, 并在替换后, 固定该位于 a1 序列位置的数据信息。在进行 序列位置位于所述数据信息序列次前的第 2 个数据信息替换时, 将所述第 2 个数据信息与 T-1 个数据信息进行替换, 即是将排除掉已固定于 a1 序列位置的数据信息的 。

25、T-1 个数据 信息中任意一个与第 2 个数据信息随机替换, 并在替换后, 固定序列位置位于所述数据信 息序列次前的数据信息。依次类推, 在进行序列位置位于所述数据信息序列第 L 位 ( 即是 aL序列位置)的数据信息替换时, 将所述第L个数据信息与T-L-1个数据信息进行替换, 即是将排除掉已固定于 a1 至 aL 序列位置的数据信息与 T-L-1 个数据信息中任意一个 与第 L 个数据信息随机替换。由此可见, 所述乱序是将所述 L 个数据信息逐一地在所述数 据信息序列中进行随机替换。 0059 如图3所示, 为本发明乱序的第二实施方式的示意图, 在本实施例中, 所述S5步骤 中的乱序是无序。

26、随机地在所述数据信息序列中进行替换。在该方式的乱序过程中, 随机地 选择前 L 个数据信息中某个数据信息, 将其在整个数据信息序列中随机替换。例如, 第 1 次 替换时随机选取到初始位置位于所述数据信息序列第 4 个 ( 即是 a4 序列位置 ) 的数据 信息, 将序列位置a4下的数据信息, 与T个数据信息中的任一个进行随机替换, 并在替换 后, 固定序列位置 a4 的数据信息。在进行第 2 次替换时随机选取到初始位置位于所述数 据信息序列第2个(即是a2序列位置)数据信息, 将排除已固定于数据信息序列a4的 数据信息的T-1个数据信息中任意一个与序列位置a2下的数据信息随机替换, 并在替换 。

27、后, 固定序列位置 a2 的数据信息。在进行第 3 次替换时随机选取到初始位置位于所述数 据信息序列第 1 个 ( 即是 a1 序列位置 ) 数据信息, 将排除已固定于数据信息序列 a2、 a4的数据信息的T-2个数据信息中任意一个与序列位置a1下的数据信息随机替换, 并 在替换后, 固定序列位置 a1 的数据信息。依次类推, 当完成 L 个数据信息随机替换后, 亦 即完成乱序后的数据信息序列。 0060 如图4所示, 为本发明乱序的第三实施方式的示意图, 所述乱序首先将所述L个数 说 明 书 CN 102929868 A 7 5/10 页 8 据信息分成若干组 ; 其次将每一组在所述数据信息。

28、序列中进行随机替换。假定以 W 个数据 信息为一组进行替换的整体, W 为正整数且 W L, 这样, 将 L 个数据信息分成 L/W 个分组。 将 L/W 个分组在所述数据信息序列中乱序。优选地, 将 L/W 个分组按照顺序从前至后依次 随机替换各组位置对应的数据信息。例如, 以 2 个数据信息为一组, 需要替换数据信息的数 量 L 为 20, 其过程为 : 进行第一次替换时, 将序列位置位于所述数据信息序列第 1、 2 个 ( 即 是 a1、 a2 序列位置 ) 的数据信息作为整体与序列位置位于所述数据信息序列第 31、 32 个 ( 即是 a31、 a32 序列位置 ) 数据信息进行替换,。

29、 并在替换后, 固定序列位置为第 1、 2 个数据信息 ; 进行第二次替换时, 将序列位置位于所述数据信息序列第 3、 4 个 ( 即是 a3、 a4序列位置)数据信息作为整体与第二次替换时位于所述数据信息序列第32、 33个(即 是 a32、 a33 序列位置 ) 的数据信息进行替换, 并在替换后, 固定序列位置为第 3、 4 个 ( 即是 a3、 a4 序列位置 ) 数据信息的数据信息, 即乱序后 a3 序列位置的数据信息为 乱序前a32序列位置的数据信息, a4序列位置的数据信息为乱序前a1序列位置的数 据信息 ; 依次类推, 进行第十次替换时, 将序列位置位于所述数据信息序列第 19、。

30、 20 个 ( 即 是 a19、 a20 序列位置 ) 的数据信息作为整体与位于所述数据信息序列第 25、 26 个 ( 即 是 a25、 a26 序列位置 ) 的数据信息进行替换, 完成本次乱序。 0061 值得一提的是 : 通过上述三种实施例方式乱序后, 即可按照所述数据信息序列顺 序拼装为页面后显示给用户。 0062 如图 5 所示, 为本发明一实施例乱序算法的流程图, 步骤 S5 中进行乱序处理的过 程进一步地包括以下步骤 : 0063 S401 : 给定一个随机种子 ; 其中, 该随机种子是本领域普通技术人员通过现有技 术已能熟练掌握的方式, 在此不再赘述。 0064 S402 : 。

31、判读随机种子是否变更, 如果是, 则进入步骤 S403 ; 若否, 则不产生新的随 机数, 进入步骤 S404。 0065 S403 : 根据给定的随机种子, 产生随机数 P1, , PT ; 0066 S404 : 采用替换函数进行乱序, 将在一序列位置下的数据信息与所述随机数进行 替换, 以更改所述数据信息的序列位置。所述替换函数为 swap(m, n) ; temp m ; m n ; n temp。其中, 在步骤 S404 中, 先将数据信息序列及随机数 P1 赋值给 m, n, 例如, 进行第 1 条数据信息替换时, 第 1 条数据信息序列对应的序列位置为 a1, 将其赋值给 m, 。

32、将随机数 P1 赋值给 n, 其中 P1 a1 到 aT 中的某个数。再通过上述替换函数替换对应的序列位 置, 将第 1 条数据信息序列对应的序列位置为 a1 与随机数 P1 替换, 从而实现第 1 条数据 信息在 T 个数据信息中乱序。再将后续待替换的数据信息序列与对应的随机数进行替换, 直到完成第 Q*N 条数据信息的替换, 其过程与上述过程相同, 故不于此赘述。 0067 当然, 在本实施例中, 所述乱序方法还包括一输出显示的步骤, 用于输出显示乱序 后的第 Q 页的数据信息。 0068 值得一提的是 : 在用户从第 Q 页往前页面的浏览后, 又再回到第 Q 页时, 因随机种 子不变, 。

33、可保证第 Q 页所展示的数据信息结果相同。直到重新生成数据信息序列时才更新 随机种子, 产生新的随机数, 以便对该数据信息进行不同的随机乱序。 0069 以网络音乐平台为例, 在网页中采用在线音乐播放器, 向广大用户提供方便流畅 的在线音乐以及各类榜单资讯等音乐服务。在线音乐播放器通常都带有精彩音乐推荐功 说 明 书 CN 102929868 A 8 6/10 页 9 能, 新歌金曲、 随便听听等推荐列表向用户推荐更多好歌, 让用户在娱乐的时候享受更多的 便利。 为了满足用户随机听歌的需求, 需要将曲库中的歌曲打乱顺序后, 随机载入播放器列 表。 现有的乱序方法是先对整体列表进行乱序后, 再取。

34、分页显示的过程, 当歌曲榜单中的音 乐曲目过多时, 乱序过程耗费时间长, 加载过程慢。 因而本发明所提供的乱序方法是通过只 针对用户请求显示的歌曲页面中的歌曲, 在整个列表中乱序, 可节约大量的运算时间, 快速 生成随机榜单, 使用更加流畅。 0070 数据库中有 100 首歌曲, 要按每页显示 10 首歌曲将其进行分页显示。用户点击查 看榜单内容第 2 页, 浏览第 11-20 首歌曲时, 乱序方法包括以下步骤 : 接收数据库中的 100 首歌曲 ID 信息, 并生成歌曲序列 a1, ., a100 ; 根据用户的请求信息确定需要乱序的 歌曲数量为 20 首 ; 给定一个随机种子, 产生一组。

35、随机数 P1-P100, 并采用替换函数 swap(m, n) 依次进行 a1-a20 乱序, 所述替换函数的算法为 swap(m, n) ; temp m ; m n ; n temp。比如, a1 1, P1 100, 是将第 1 首歌曲与第 100 首进行替换, 替换后 a1 100, a100 1, 通过替换函数将第 1-20 首的歌曲依次与后面位数的歌曲名称随机替换 ; 获取相对应的歌曲, 输出乱序后的第 11-20 首歌曲, 显示给用户。 0071 当用户需要往前浏览第 1 页, 则输出乱序第 1-10 首歌曲, 显示的歌曲与第 2 页内 容不重复。 若用户需要继续往后浏览页面, 。

36、则保持随机种子不变, 继续依次进行后续歌曲的 替换, 显示后续页面的歌曲内容。由于此过程采用同一组随机数 P1-P100, 每一首歌曲都不 会重复出现, 因而每一页歌曲的内容也不会与其他页重复, 可进行翻页浏览。 当需要刷新榜 单时, 系统接收到重新生成数据信息序列的指令, 则更换随机种子, 由新的随机种子产生另 一组新的随机数, 进行下一次的随机乱序。 因而, 本发明的乱序方法及系统生成的随机榜单 可支持翻页, 每一页的榜单内容不与其他页重复。 0072 如图 6 所示, 为本发明一实施例种提供的一种用于翻页浏览的乱序系统的架构 图, 该乱序系统包括 : 0073 序列生成模块 101, 接。

37、收若干个数据信息, 并生成数据信息序列, 其中所述数据 信息在所述数据信息序列中具有对应的序列位置 ; 优选地, 所述的数据信息包括数字信息 ID, 所述数字信息ID与数字信息文件一一对应, 即是可通过所述数字信息ID调取到所述数 字信息文件。在本实施例中, 从数据库中接收到了 T 个数据信息, 则生成的数据信息序列可 为 a1, a2, a3, a4., aL., aT, 其中, a1 为在所述数据信息序列中第 1 个 数据信息的序列位置, a2 为在所述数据信息序列中第 2 个数据信息的序列位置, a3 为 在所述数据信息序列中第 3 个数据信息的序列位置, a4 为在所述数据信息序列中第。

38、 4 个 数据信息的序列位置, 以此类推 aL 为在所述数据信息序列中第 L 个数据信息的序列位 置, aT 为在所述数据信息序列中第 T 个数据信息的序列位置。 0074 分段模块 104, 用于将所述数据信息序列分为对应于 M 个页面的 M 段 ; 优选地, 在 本实施例中, 可预设每一段具有 N 个数据信息, 并将所述的数据信息序列按照每一段具有 N 个数据信息分成对应于 M 个页面的 M 段, 其中 M 是若干个数据信息除以 N 的进一取整数, 以 避免 N 不为 T 个数据信息整除的情况。 0075 条件接收模块 102, 用于接收展示第 Q 页的信息, 其中 Q M ; 其中, 该。

39、展示第 Q 页 的信息可由系统自定, 例如, 在一般的情况下, 系统会默认将第 1 页的内容进行展示, 则该 Q 页即是第1页, 当然, 该展示第Q页的信息也可根据用户点击某页确定, 例如, 用户点击了第 说 明 书 CN 102929868 A 9 7/10 页 10 3 页, 则该第 Q 页即是第 3 页。在本发明优选的实施例中, 可限定 Q M, 即是只要系统默认 展现的或用户点击的页面不是该页面的最后一页即可根据本实施例公开的算法进行乱续, 当然, 在本发明其他实施例中, 也可为 Q M。 0076 乱序模块 103, 用于根据接收到的信息确定前 Q 页需要乱序的 L 个数据信息 ; 。

40、在本 实施例中, 即是将所述第 Q 页作为当前展示页面, 从而确定在该当前页之前和当前页中所 包括的数据信息的数量, 其中 L 小于 T。优选地, 如上述的例子, 在本步骤中, 可将根据接收 到的信息确定前 Q 页需要乱序的数据信息数量为 Q*N。所述乱序模块 103 还用于将所述 L 个数据信息在所述数据信息序列中进行乱序。即是将所述 L 个数据信息中位于各序列位置 下的每一个数据信息在所述数据序列中各序列位置下的数据信息进行随机替换。 值得一提 的是 : 各个序列位置并不替换, 已保证该序列的顺序, 只是替换位于各个序列位置下的数据 信息。优选地, 在本实施例中, 可参上述例子, 将 Q*。

41、N 个数据信息中位于各序列位置下的每 一个数据信息在所述数据序列中位于各序列位置下的数据信息进行随机替换, 以达到乱序 的目的。下面将结合图 2 至图 5 对该乱序的过程进行详细论述。 0077 值得一提的是 : 在本实施例中, 所述的 T、 M、 L、 Q 均为正整数。 0078 在本发明第一实施例中, 所述乱序模块用于按照所述数据信息序列顺序从前至后 依次随机替换各序列位置对应的数据信息。在本实施例中, 在进行序列位置位于所述数据 信息序列最前 ( 即是 a1 序列位置 ) 的第 1 个数据信息替换时, 将所述第 1 个数据信息与 T 个数据信息中的任一个进行随机替换, 并在替换后, 固定。

42、该位于 a1 序列位置的数据信 息。在进行序列位置位于所述数据信息序列次前的第 2 个数据信息替换时, 将所述第 2 个 数据信息与T-1个数据信息进行替换, 即是将排除掉已固定于a1序列位置的数据信息的 T-1 个数据信息中任意一个与第 2 个数据信息随机替换, 并在替换后, 固定序列位置位于所 述数据信息序列次前的数据信息。依次类推, 在进行序列位置位于所述数据信息序列第 L 位 ( 即是 aL 序列位置 ) 的数据信息替换时, 将所述第 L 个数据信息与 T-L-1 个数据信息 进行替换, 即是将排除掉已固定于 a1 至 aL 序列位置的数据信息与 T-L-1 个数据信息 中任意一个与第。

43、 L 个数据信息随机替换。由此可见, 所述乱序是将所述 L 个数据信息逐一 地在所述数据信息序列中进行随机替换。 0079 在本发明第二实施例中, 所述乱序模块用于无序随机地在所述数据信息序列中进 行替换。在该方式的乱序过程中, 随机地选择前 L 个数据信息中某个数据信息, 将其在整个 数据信息序列中随机替换。例如, 第 1 次替换时随机选取到初始位置位于所述数据信息序 列第 4 个 ( 即是 a4 序列位置 ) 的数据信息, 将序列位置 a4 下的数据信息, 与 T 个数据 信息中的任一个进行随机替换, 并在替换后, 固定序列位置a4的数据信息。 在进行第2次 替换时随机选取到初始位置位于所。

44、述数据信息序列第 2 个 ( 即是 a2 序列位置 ) 数据信 息, 将排除已固定于数据信息序列a4的数据信息的T-1个数据信息中任意一个与序列位 置 a2 下的数据信息随机替换, 并在替换后, 固定序列位置 a2 的数据信息。在进行第 3 次替换时随机选取到初始位置位于所述数据信息序列第 1 个 ( 即是 a1 序列位置 ) 数据 信息, 将排除已固定于数据信息序列 a2、 a4 的数据信息的 T-2 个数据信息中任意一个 与序列位置 a1 下的数据信息随机替换, 并在替换后, 固定序列位置 a1 的数据信息。依 次类推, 当完成 L 个数据信息随机替换后, 亦即完成乱序后的数据信息序列。 。

45、0080 在本发明第三实施例中, 所述乱序模块用于将所述 L 个数据信息分成若干组 ; 以 说 明 书 CN 102929868 A 10 8/10 页 11 及将每一组在所述数据信息序列中进行随机替换。假定以 W 个数据信息为一组进行替换的 整体, W 为正整数且 W L, 这样, 将 L 个数据信息分成 L/W 个分组。将 L/W 个分组在所述数 据信息序列中乱序。优选地, 将 L/W 个分组按照顺序从前至后依次随机替换各组位置对应 的数据信息。 例如, 以2个数据信息为一组, 需要替换数据信息的数量L为20, 其过程为 : 进 行第一次替换时, 将序列位置位于所述数据信息序列第1、 2个。

46、(即是a1、 a2序列位置) 的数据信息作为整体与序列位置位于所述数据信息序列第 31、 32 个 ( 即是 a31、 a32 序 列位置 ) 数据信息进行替换, 并在替换后, 固定序列位置为第 1、 2 个数据信息 ; 进行第二次 替换时, 将序列位置位于所述数据信息序列第 3、 4 个 ( 即是 a3、 a4 序列位置 ) 数据信 息作为整体与第二次替换时位于所述数据信息序列第 32、 33 个 ( 即是 a32、 a33 序列位 置 ) 的数据信息进行替换, 并在替换后, 固定序列位置为第 3、 4 个 ( 即是 a3、 a4 序列位 置 ) 数据信息的数据信息, 即乱序后 a3 序列位。

47、置的数据信息为乱序前 a32 序列位置的 数据信息, a4 序列位置的数据信息为乱序前 a1 序列位置的数据信息 ; 依次类推, 进行 第十次替换时, 将序列位置位于所述数据信息序列第 19、 20 个 ( 即是 a19、 a20 序列位 置 ) 的数据信息作为整体与位于所述数据信息序列第 25、 26 个 ( 即是 a25、 a26 序列位 置 ) 的数据信息进行替换, 完成本次乱序。 0081 值得一提的是 : 通过上述三种实施例方式乱序后, 即可按照所述数据信息序列顺 序拼装为页面后显示给用户。 0082 优选地, 在所述乱序模块还用于提供乱序算法, 所述乱序算法为 : 0083 给定一。

48、个随机种子 ; 其中, 该随机种子是本领域普通技术人员通过现有技术已能 熟练掌握的方式, 在此不再赘述。 0084 判读随机种子是否变更, 如果是, 则进入步骤 S403 ; 若否, 则不产生新的随机数, 进入步骤 S404。 0085 根据给定的随机种子, 产生随机数 P1, , PT ; 0086 采用替换函数进行乱序, 将在一序列位置下的数据信息与所述随机数进行替换, 以更改所述数据信息的序列位置。 所述替换函数为swap(m, n) ; tempm ; mn ; ntemp。 其中, 在步骤 S404 中, 先将数据信息序列及随机数 P1 赋值给 m, n, 例如, 进行第 1 条数据信 息替换时, 第 1 条数据信息序列对应的序列位置为 a1, 将其赋值给 m, 将随机数 P1 赋值给 n, 其中 P1 a1 到 aT 中的某个数。再通过上述替换函数替换对应的序列位置, 将第 1 条数据信息序列对应的序列位置为 a1 与随机数 P1 替换, 从而实现第 1 条数据信息在 T 个数据信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1