用于翻页浏览的乱序方法及系统的制作方法

文档序号:6429856阅读:195来源:国知局
专利名称:用于翻页浏览的乱序方法及系统的制作方法
用于翻页浏览的乱序方法及系统
技术领域
本发明涉及一种用于翻页浏览的乱序方法及系统,尤其是指可快速生成随机榜单的乱序方法及系统。
背景技术
各类网站的资讯种类繁多,浩如烟海,让人目不暇接。网站为了方便用户浏览查看,大多采用归类方式,将各种资讯分门别类地罗列显示,通过排行榜的方式向用户推荐产品、信息,如热点榜单、音乐榜单及小说榜单等,给用户提供了更多便利。然而各类排行榜的长度有限,并不一定能将整个榜单信息完全显示。 因此,为了使用户可以看到更多推荐信息,网站采用随机榜单的方式显示不同的数据信息,在每一次刷新网页或更换网站页面时,都会自动更新显示的榜单内容。这种随机榜单的方式,是在某个特定的范围内,将数据打乱顺序后,随机分页显示该范围内的数据信息。由于排名是随机的,不固定的更换的,因而随机榜单显示所述范围内的所有数据信息的概率是相同的。通过用户在刷新或更换页面的,以及不同用户浏览时,能够被看见的数据信息变多,因而可以提供更多资讯,更容易出现能够引起用户兴趣的信息,便于点击浏览。现有的乱序方法是先对整体数据信息序列进行乱序,再取分页的过程。然而用户在翻页浏览过程中,并不一定会对所有页面都进行点击浏览,大部分情况下,用于翻到前面几页时就会结束浏览了,这样,在后页数的随机榜单随即失效。这种通过先对数据信息乱序再进行分页的方式,容易产生不必要的乱序操作,无谓地浪费了先前的运算结果,必然加大服务器的处理压力,影响乱序的效率。

发明内容有鉴于此,本发明的目的在于提供一种用于翻页浏览的乱序方法及系统,所述的方法及系统无需对整体的数据信息序列进行乱序,可根据用户需求快速生成随机榜单。相应地,本发明的一种实施例用于翻页浏览的乱序方法,包括以下步骤SI、接收若干个数据信息,并生成数据信息序列,其中所述数据信息在所述数据信息序列中具有对应的序列位置;S2、将所述数据信息序列分为对应于M个页面的M段;S3、接收展示第Q页的信息,其中QSM;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页的信息,其中QSM;乱序模块,用于根据接收到的信息确定前Q页需要乱序的L个数据信息;以及将所述L个数据信息在所述数据信息序列中进行乱序。作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息中的每一个在所述数据序列中进行随机替换。作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息逐一地在所述数据信息序列中进行随机替换。作为本发明的进一步改进,所述乱序模块用于按照所述数据信息序列顺序从前至后依次随机替换各序列位置对应的数据信息。作为本发明的进一步改进,所述乱序模块用于将所述L个数据信息分成若干组;以及将每一组在所述数据信息序列中进行随机替换。作为本发明的进一步改进,所述乱序模块还用于根据给定的随机种子产生一随机数;以及采用替换函数算法,将在一序列位置下的数据信息与所述随机数进行替换,以更改所述数据信息的序列位置。作为本发明的进一步改进,所述随机种子在重新生成数据信息序列时更新。作为本发明的进一步改进,所述分段模块用于将所述的数据信息序列按照每一段具有N个数据信息分成对应于M个页面的M段,其中M是若干个数据信息除以N的进一取整数;
所述条件接收模块用于根据接收到的信息确定前Q页需要乱序的数据信息数量为 Q*N ;所述乱序模块用于将Q*N个数据信息在所述数据信息序列中进行乱序。相较于现有技术,本发明的有益效果是本发明的乱序方法及系统无需对整体的数据信息序列进行乱序,不仅可以减轻服务器的处理压力,而且还可节省服务器的处理时间,实现快速生成随机榜单,提高乱序效率。

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