CN105608158A - 一种瀑布流式显示图片的方法和装置 - Google Patents
一种瀑布流式显示图片的方法和装置 Download PDFInfo
- Publication number
- CN105608158A CN105608158A CN201510959232.4A CN201510959232A CN105608158A CN 105608158 A CN105608158 A CN 105608158A CN 201510959232 A CN201510959232 A CN 201510959232A CN 105608158 A CN105608158 A CN 105608158A
- Authority
- CN
- China
- Prior art keywords
- data
- waterfall
- waterfall stream
- loading
- management system
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Abstract
本发明涉及一种以瀑布流方式显示图片的方法和装置,包括:通过瀑布流加载器选择瀑布流的加载方式并获取加载数据;数据管理器将瀑布流加载器获取的加载数据进行格式化;瀑布流渲染器对数据管理器格式化后的数据进行渲染。本发明的技术方案在现有技术中瀑布流的基础上,将一个瀑布流组件拆分为瀑布流加载器、数据管理器和瀑布流渲染器三个功能模块,1、降低了单个功能模块的代码数量和代码的耦合度,便于系统的开发与维护;2、将一个综合的功能组件拆分为三个功能相对单一的功能模块,从而大大增加了系统的灵活性,便于不同的加载规则、不同的渲染规则之间的组合。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种瀑布流式显示图片的方法和装置。
背景技术
随着互联网技术的发展,浏览器浏览网页的方式也呈现出多样性,丰富的网页浏览方式便捷了用户浏览网页的过程。浏览器浏览网页中的图片是用户浏览网页获取的主要信息资源之一,为提升浏览图片的效果及便捷浏览过程,现有技术中多数网站采用瀑布流式实现网页中图片的加载及呈现。在显示技术领域中,当一个页面需要同时显示大量的图片、文字和链接等对象时,尤其在用户触发滚动操作较多的情况下,通常采用瀑布流的显示方式。
瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。现在包括贴吧,百度图片,旅游等网站都采用此种方式进行图片呈现。瀑布流效果目前在大多数网站中可以见到,参差不齐的多栏布局格式,是瀑布流的特点。瀑布流可以通过jQuery插件结合css代码来实现。
对于图片的展现,瀑布流的效果是高效而且独具吸引力的。瀑布流里延迟加载模式又避免了用户鼠标点击的翻页操作,瀑布流的主要特性便是错落有致,定宽而不定高的设计让页面区别于传统的矩阵式图片布局模式,巧妙的利用视觉层级,视线的任意流动又缓解了视觉疲劳。
在瀑布流的场景下,相关技术中通常采用如下方式:终端获取瀑布流布局排布的至少一个待显示的对象,该对象可以包括图片、文字和链接等;通过滚动页面的方式,终端不断加载对象;在页面滚动的过程中,终端会保存被移除出显示区域的对象的浏览历史记录,通常还会同时保留这些被移除出显示区域的对象。
现有技术的缺陷是:通过一个瀑布流组件实现包括加载、渲染和数据管理在内的所有的功能,其代码的数量过大,不易迭代调用和维护;代码耦合度高,不利于不同的加载规则、不同的渲染规则之间的组合,从而导致大大增加了使用和维护的成本。
发明内容
鉴于上述问题,提出了本发明的技术方案以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题。
根据本发明的一个方面,提供了一种以瀑布流方式显示图片的方法,包括:
通过瀑布流加载器选择瀑布流的加载方式并获取加载数据;
数据管理器将瀑布流加载器获取的加载数据进行格式化;
瀑布流渲染器对数据管理器格式化后的数据进行渲染。
进一步的,通过频道瀑布流调用方式或搜索瀑布流调用方式来调用不同的瀑布流。
进一步的,所述瀑布流的加载方式包括:自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次。
进一步的,所述瀑布流加载器选择瀑布流的加载方式包括:
通过传递参数的方式来自动选择不同的加载方式。
进一步的,所述数据管理器负责将瀑布流加载器获取的加载数据进行格式化包括:
利用数据管理器将不同的数据类型格式转换成相同的预定格式。
进一步的,所述利用数据管理器将不同的数据类型格式转换成相同的预定格式包括:
数据管理器通过指定不可重复的字段的方式对数据进行自动去重。
进一步的,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染还包括:
对数据管理器格式化后的数据进行预渲染。
进一步的,所述对数据管理器格式化后的数据进行预渲染包括:
首先判断所述格式化后的数据是否满足预渲染条件;
如果所述格式化后的数据中有至少一个数据满足所述预渲染条件,则所述瀑布流渲染器对所述至少一个数据进行预渲染。
进一步的,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染包括:
将数据管理器格式化后的数据按照瀑布流进行排列、随着窗口大小缩放重排、对超过预定数量的瀑布流节点进行隐藏。
进一步的,所述瀑布流渲染器包括:多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器。
进一步的,所述瀑布流加载器和数据管理器为公有的功能组件,所述瀑布流渲染器为私有的功能组件。
根据本发明的另一方面,提供了一种以瀑布流方式显示图片的装置,包括:
瀑布流加载器,用于选择瀑布流的加载方式并获取加载数据;
数据管理器,用于将瀑布流加载器获取的加载数据进行格式化;
瀑布流渲染器,用于对数据管理器格式化后的数据进行渲染。
进一步的,所述装置还包括瀑布流调用单元,通过频道瀑布流调用方式或搜索瀑布流调用方式来调用不同的瀑布流。
进一步的,所述瀑布流的加载方式包括:自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次。
进一步的,所述瀑布流加载器选择瀑布流的加载方式包括:
通过传递参数的方式来自动选择不同的加载方式。
进一步的,所述数据管理器负责将瀑布流加载器获取的加载数据进行格式化包括:
利用数据管理器将不同的数据类型格式转换成相同的预定格式。
进一步的,所述利用数据管理器将不同的数据类型格式转换成相同的预定格式包括:
数据管理器通过指定不可重复的字段的方式对数据进行自动去重。
进一步的,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染还包括:
预渲染器,用于对数据管理器格式化后的数据进行预渲染。
进一步的,所述对数据管理器格式化后的数据进行预渲染包括:
首先判断所述格式化后的数据是否满足预渲染条件;
如果所述格式化后的数据中有至少一个数据满足所述预渲染条件,则所述瀑布流渲染器对所述至少一个数据进行预渲染。
进一步的,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染包括:
将数据管理器格式化后的数据按照瀑布流进行排列、随着窗口大小缩放重排、对超过预定数量的瀑布流节点进行隐藏。
进一步的,所述瀑布流渲染器包括:多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器。
进一步的,所述瀑布流加载器和数据管理器为公有的功能组件,所述瀑布流渲染器为私有的功能组件。
本发明的有益效果为:
本发明的技术方案在现有技术中瀑布流的基础上,将一个瀑布流组件拆分为瀑布流加载器、数据管理器和瀑布流渲染器三个功能模块,
1、降低了单个功能模块的代码数量和代码的耦合度,便于系统的开发与维护;
2、将一个综合的功能组件拆分为三个功能相对单一的功能模块,从而大大增加了系统的灵活性,便于不同的加载规则、不同的渲染规则之间的组合。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文具体实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出具体实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明的以瀑布流方式显示图片的方法流程图;
图2为本发明中判断搜索结果是否满足预渲染条件的方法流程图;
图3为现有技术的瀑布流调用方式下的瀑布流渲染示意图;
图4为本发明的瀑布流调用方式下的瀑布流渲染示意图;
图5为本发明的以瀑布流方式显示图片的装置示意图。
图6为本发明的以瀑布流方式显示图片的装置的优选实施例示意图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步详细的描述。
图1为本发明的以瀑布流方式显示图片的方法流程图。
本发明提供了一种以瀑布流方式显示图片的方法,包括:
步骤S101、通过瀑布流加载器选择瀑布流的加载方式并获取加载数据;
步骤S102、数据管理器将瀑布流加载器获取的加载数据进行格式化;
步骤S103、瀑布流渲染器对数据管理器格式化后的数据进行渲染。
下面对各个步骤进行详细说明。
步骤S101、通过瀑布流加载器选择瀑布流的加载方式并获取加载数据。
调用不同的瀑布流的方式包括但不限于:频道瀑布流调用方式或搜索瀑布流调用方式。
好搜探索的首页频道推荐采用的是频道瀑布流调用方式,其通过瀑布流向用户展示不同的推荐频道。而搜索瀑布流调用方式则对应于搜索词查询后的瀑布流结果的显示。频道瀑布流和搜索瀑布流分属于两个不同的瀑布流,两种调用方式是分别调用的,不会在一个场景下重叠调用。
所述瀑布流的加载方式包括:自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次。
所述瀑布流加载器选择瀑布流的加载方式包括:
通过传递参数的方式来自动选择不同的加载方式。所述参数对应于上述自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次的加载方式。其中,手动加载n次之后自动加载的方式说明用户希望一直浏览页面,因此转为自动加载的方式更加适合用户的需求。而n次自动加载之后需手动加载一次的加载方式则适合于用户仅需在前面若干页面中查询或浏览的需求。
步骤S102、数据管理器将瀑布流加载器获取的加载数据进行格式化。
所述数据管理器负责将瀑布流加载器获取的加载数据进行格式化包括:
利用数据管理器将不同的数据类型格式转换成相同的预定格式。
由于图搜的数据会有几种不同的类型,因此数据管理器将不同类型的数据转换成相同的预定格式更加便于管理和加载,并且进而将格式化后的数据存储到数据库中。
瀑布流的展现方式比起翻页用户体验性更好,只是会存在数据重复的问题:瀑布流加载下一页的时候,如果刚好数据有更新,那么下一页前面的数据就会和上一页后面的数据重复,降低了用户体验。
数据去重的办法具体包括如下几种:
1、服务端数据缓存
一次性读取N页的数据缓存起来,而后N页内的数据都从缓存里读取,N页外的数据按正常分页获取。
这里的N值,优选的设为10,可以根据自己站点的实际情况修改。
缺点:一次性读取N页的数据,第一次读取会比较慢,缓存起来也浪费些存储空间,不过这个问题比较小,毕竟现在的硬盘和内存都比较大,关键的还是N页以后的数据无法保证不重复。
2、客户端排除
客户端记录已经加载的数据,再次加载的时候过滤掉已有的数据。
优点:出现重复的时候最多少一些数据,用户感觉不出来,如果重复比较多,可以考虑再加载下一页的数据。
缺点:出现重复的数据时,加载的数据不足,比如原先要加载20条,结果有2条重复,就只剩下18条。
3、增加排序参数的传递
在获取数据时,客户端传入最后一条数据的排序字段的数值,在获取数据时根据该值进行筛选。
这个方式在3种办法中操作是最简单的,也是最容易实现的。不过缺点就是适用面比较窄:只适合排序的字段值不会重复,并且不会被修改。
4、指定不可重复的字段
在数据管理器中,通过指定不可重复的字段的方式对数据进行自动去重,从而有效避免了冗余的重复数据加载到瀑布流中造成的资源浪费和效率低下。
步骤S103、瀑布流渲染器对数据管理器格式化后的数据进行渲染。
所述瀑布流渲染器对数据管理器格式化后的数据进行渲染还包括:
对数据管理器格式化后的数据进行预渲染。
所述对数据管理器格式化后的数据进行预渲染包括:
首先判断所述格式化后的数据是否满足预渲染条件;
如果所述格式化后的数据中有至少一个数据满足所述预渲染条件,则所述瀑布流渲染器对所述至少一个数据进行预渲染。
浏览器在瀑布流的展现页面中展现多个搜索结果,并对多个搜索结果中的至少一个搜索结果进行预渲染。在本发明的实施例中,预渲染可理解为在用户看到页面的展现之前,就完成了页面的渲染。
本发明实施例的对搜索结果的处理方法,先获取搜索词对应的多个搜索结果,以及在展现页面中展现该多个搜索结果,并对该多个搜索结果中的至少一个搜索结果进行预渲染,即有选择地对搜索结果进行预渲染,提高对用户的响应速度,同时,增加资源利用效率,使得用户在每次寻找信息的过程中节省了等待时间,提升了用户体验。
图2为本发明中判断搜索结果是否满足预渲染条件的方法流程图。
在本发明的实施例中,在对多个搜索结果中的至少一个搜索结果进行预渲染之前,还需判断该多个搜索结果是否满足预渲染条件。具体地,如图2所示,该对搜索结果的处理方法包括:
S201,浏览器获取搜索词,并获取搜索词对应的多个搜索结果。
具体地,当用户在搜索引擎中输入搜索词时,浏览器可先获取用户输入的搜索词,并获取搜索引擎根据该搜索词生成的多个搜索结果。
S202,浏览器在瀑布流展现页面中展现多个搜索结果。
其中,在本发明的实施例中,展现页面可理解为浏览器前端的展示页面。
S203,判断多个搜索结果是否满足预渲染条件。
具体而言,搜索引擎可先获取搜索词对应的搜索词属性信息、多个搜索结果对应的站点信息和用户的历史搜索记录信息等中的一种或多种。之后,可根据搜索词属性信息、站点信息和历史搜索记录信息中的一种或多种判断该多个搜索结果是否满足预渲染条件。也就是说,搜索引擎可根据搜索词、搜索结果、搜索词的匹配程度、用户的历史搜索记录以及其他关键信息等,判断是否给浏览器相关的信息,比如,告知浏览器哪条或者哪几条搜索结果是用户最希望看到并最有可能点击的。
其中,在本发明的实施例中,搜索词属性信息可包括搜索词类型、搜索词对应的时效性信息等中的一种或多种,站点信息可包括站点类型、站点点击数量、站点权重等中的一种或多种,历史搜索记录可包括用户在搜索引擎上的历史点击行为记录、用户的搜索习惯信息、用户针对搜索结果的历史点击记录等中的一种或多种。
另外,每个用户都有各自的搜索词输入习惯、使用搜索引擎的习惯、网页浏览的习惯。本发明实施例的对搜索结果的处理方法所应用的推荐算法模型中,可综合考虑搜索词的类型、搜索词相关的时效性、搜索词搜索结果的历史点击率、用户的搜索词的输入习惯、用户在搜索引擎上的历史点击行为等,以判断展现的多个搜索结果是否满足预渲染条件。
举例而言,在本发明的实施例中,当搜索词对应的搜索词类型为寻址类型时,预渲染条件可为对官方站点、已认证站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词对应的搜索词类型为问答类型时,预渲染条件可对为知识问答类站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词具有时效性信息时,预渲染条件可对为新闻类聚合站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词对应的搜索词类型具有多个时,预渲染条件可为对用户在搜索引擎上的历史点击行为记录中的站点、用户针对搜索结果的历史点击记录中的站点等中的一个或多个进行预渲染。
S204,如果多个搜索结果中的至少一个搜索结果满足预渲染条件,则浏览器对至少一个搜索结果进行预渲染。
所述瀑布流渲染器对数据管理器格式化后的数据进行渲染包括:
将数据管理器格式化后的数据按照瀑布流进行排列、随着窗口大小缩放重排、对超过预定数量的瀑布流节点进行隐藏。
具体而言,将格式化后待显示数据根据主题进行分类,例如萌宠、摄影、美食等。对于相对热点的主题图片以大尺寸进行瀑布流显示,对非热点图片以较小尺寸进行瀑布流显示。对于相同主题但不同大小的图片,按照统一的尺寸进行显示。对例如5屏之外的瀑布流节点进行隐藏,设置“点击加载”按钮以便提供用户进一步的选择,这种方式可以一定程度上提升页面性能。
图3为现有技术的瀑布流调用方式下的瀑布流渲染示意图。
图4为本发明的瀑布流调用方式下的瀑布流渲染示意图。
所述瀑布流渲染器包括:多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器。
所述瀑布流加载器和数据管理器为公有的功能组件,所述瀑布流渲染器为私有的功能组件。
将所述瀑布流加载器和数据管理器设置为公有的功能组件,相比现有技术中的单一瀑布流组件而言,其优势是显而易见的。例如,当不同的频道瀑布流调用逻辑和搜索瀑布流调用逻辑调用瀑布流组件时,可以共用瀑布流加载器和数据管理器。而当进行渲染的时候,则分别调用多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器等私有的功能组件。上述设置使得每个功能模块的功能实现单一化,一方面减少了代码的数量,另一方面也方便调用和维护。当出现BUG的时候,可以实现快速排查和修复。此外,上述设置还大大增加了系统的灵活性,便于不同的加载规则、不同的渲染规则之间的组合。
图5为本发明的以瀑布流方式显示图片的装置示意图。
根据本发明的另一方面,提供了一种以瀑布流方式显示图片的装置,如图5所示,包括:
瀑布流加载器,用于选择瀑布流的加载方式并获取加载数据;
数据管理器,用于将瀑布流加载器获取的加载数据进行格式化;
瀑布流渲染器,用于对数据管理器格式化后的数据进行渲染。
下面对各个功能模块做进一步详细的描述和说明。
瀑布流加载器,用于选择瀑布流的加载方式并获取加载数据。
所述装置还包括瀑布流调用单元,通过频道瀑布流调用方式或搜索瀑布流调用方式来调用不同的瀑布流。
好搜探索的首页频道推荐采用的是频道瀑布流调用方式,其通过瀑布流向用户展示不同的推荐频道。而搜索瀑布流调用方式则对应于搜索词查询后的瀑布流结果的调用和显示。频道瀑布流和搜索瀑布流分属于两个不同的瀑布流,两个调用方式是分别调用的,不会出现在一个场景下重叠调用的情况。
所述瀑布流的加载方式包括:自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次。
所述瀑布流加载器选择瀑布流的加载方式包括:
通过传递参数的方式来自动选择不同的加载方式。其中,所述参数对应于上述自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次的加载方式。其中手动加载n次之后自动加载的方式说明用户希望一直浏览页面,因此转为自动加载的方式更加适合用户的需求。而n次自动加载之后需手动加载一次的加载方式则适合于用户仅需在前面若干页面中查询或浏览的需求。
数据管理器,用于将瀑布流加载器获取的加载数据进行格式化。
所述数据管理器负责将瀑布流加载器获取的加载数据进行格式化包括:
利用数据管理器将不同的数据类型格式转换成相同的预定格式。
由于图搜的数据会有几种不同的类型,因此数据管理器将不同类型的数据转换成相同的格式以便管理和加载,并且进而将格式化后的数据存储到数据库中。
瀑布流的展现方式比起翻页用户体验性更好,只是会存在数据重复的问题:瀑布流加载下一页的时候,如果刚好数据有更新,那么下一页前面的数据就会和上一页后面的数据重复,降低了用户体验。
数据去重的办法具体包括如下几种:
1、服务端数据缓存
一次性读取N页的数据缓存起来,而后N页内的数据都从缓存里读取,N页外的数据按正常分页获取。
这里的N值,建议设为10,可以根据自己站点的情况修改。
缺点:一次性读取N页的数据,第一次读取会比较慢,缓存起来也浪费些存储空间,不过这个问题比较小,毕竟现在的硬盘和内存都比较大,关键的还是N页以后的数据无法保证不重复。
2、客户端排除
客户端记录已经加载的数据,再次加载的时候过滤掉已有的数据。
优点:出现重复的时候最多少一些数据,用户感觉不出来,如果重复比较多,可以考虑再加载下一页的数据。
缺点:出现重复的数据时,加载的数据不足,比如原先要加载20条,结果有2条重复,就只剩下18条。
3、增加排序参数的传递
在获取数据时,客户端传入最后一条数据的排序字段的数值,在获取数据时根据该值进行筛选。例如按照编号降序排列,最终的查询语句形如:
select*fromtablewhereid<$idorderbyiddesc
这个方式在3种办法中操作是最简单的,也是最容易实现的。不过缺点就是适用面比较窄:只适合排序的字段值不会重复,并且不会被修改。
4、指定不可重复的字段
在数据管理器中,通过指定不可重复的字段的方式对数据进行自动去重,从而有效避免了冗余的重复数据加载到瀑布流中造成的资源浪费和效率低下。
瀑布流渲染器,用于对数据管理器格式化后的数据进行渲染。
图6为本发明的以瀑布流方式显示图片的装置的优选实施例示意图。
所述瀑布流渲染器对数据管理器格式化后的数据进行渲染还包括:
预渲染器,用于对数据管理器格式化后的数据进行预渲染。
所述对数据管理器格式化后的数据进行预渲染包括:
首先判断所述格式化后的数据是否满足预渲染条件;
如果所述格式化后的数据中有至少一个数据满足所述预渲染条件,则所述瀑布流渲染器对所述至少一个数据进行预渲染。
浏览器在瀑布流的展现页面中展现多个搜索结果,并对多个搜索结果中的至少一个搜索结果进行预渲染。在本发明的实施例中,预渲染可理解为在用户看到页面的展现之前,就完成了页面的渲染。
本发明实施例的对搜索结果的处理方法,可先获取搜索词,并获取搜索词对应的多个搜索结果,以及在展现页面中展现该多个搜索结果,并对该多个搜索结果中的至少一个搜索结果进行预渲染,即有选择地对搜索结果进行预渲染,提高对用户的响应速度,同时,增加资源利用效率,使得用户在每次寻找信息的过程中节省了等待时间,提升了用户体验。
图2为本发明中判断搜索结果是否满足预渲染条件的方法流程图。
在本发明的实施例中,在对多个搜索结果中的至少一个搜索结果进行预渲染之前,还需判断该多个搜索结果是否满足预渲染条件。具体地,如图2所示,该对搜索结果的处理方法可以包括:
S201,浏览器获取搜索词,并获取搜索词对应的多个搜索结果。
具体地,当用户在搜索引擎中输入搜索词时,浏览器可先获取用户输入的搜索词,并获取搜索引擎根据该搜索词生成的多个搜索结果。
S202,浏览器在瀑布流展现页面中展现多个搜索结果。
其中,在本发明的实施例中,展现页面可理解为浏览器前端的展示页面。
S203,搜索引擎判断多个搜索结果是否满足预渲染条件。
具体而言,搜索引擎可先获取搜索词对应的搜索词属性信息、多个搜索结果对应的站点信息和用户的历史搜索记录信息等中的一种或多种。之后,可根据搜索词属性信息、站点信息和历史搜索记录信息中的一种或多种判断该多个搜索结果是否满足预渲染条件。也就是说,搜索引擎可根据搜索词、搜索结果、搜索词的匹配程度、用户的历史搜索记录以及其他关键信息等,判断是否给浏览器相关的信息,比如,告知浏览器哪条或者哪几条搜索结果是用户最希望看到并最有可能点击的。
其中,在本发明的实施例中,搜索词属性信息可包括搜索词类型、搜索词对应的时效性信息等中的一种或多种,站点信息可包括站点类型、站点点击数量、站点权重等中的一种或多种,历史搜索记录可包括用户在搜索引擎上的历史点击行为记录、用户的搜索习惯信息、用户针对搜索结果的历史点击记录等中的一种或多种。
另外,每个用户都有各自的搜索词输入习惯、使用搜索引擎的习惯、网页浏览的习惯。本发明实施例的对搜索结果的处理方法所应用的推荐算法模型中,可综合考虑搜索词的类型、搜索词相关的时效性、搜索词搜索结果的历史点击率、用户的搜索词的输入习惯、用户在搜索引擎上的历史点击行为等,以判断展现的多个搜索结果是否满足预渲染条件。
举例而言,在本发明的实施例中,当搜索词对应的搜索词类型为寻址类型时,预渲染条件可为对官方站点、已认证站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词对应的搜索词类型为问答类型时,预渲染条件可对为知识问答类站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词具有时效性信息时,预渲染条件可对为新闻类聚合站点、点击数量最大的站点、权重最高的站点等中的一个或多个进行预渲染;或者,当搜索词对应的搜索词类型具有多个时,预渲染条件可为对用户在搜索引擎上的历史点击行为记录中的站点、用户针对搜索结果的历史点击记录中的站点等中的一个或多个进行预渲染。
S204,如果多个搜索结果中的至少一个搜索结果满足预渲染条件,则浏览器对至少一个搜索结果进行预渲染。
所述瀑布流渲染器对数据管理器格式化后的数据进行渲染包括:
将数据管理器格式化后的数据按照瀑布流进行排列、随着窗口大小缩放重排、对超过预定数量的瀑布流节点进行隐藏。
具体而言,将格式化后待显示数据根据主题进行分类,例如萌宠、摄影、美食等。对于相对热点的主题图片以较大的尺寸进行瀑布流显示,对非热点图片以较小尺寸进行瀑布流显示。对于相同主题但不同大小的图片,按照统一的尺寸进行显示。对例如5屏之外的瀑布流节点进行隐藏,设置“点击加载”按钮以便提供用户进一步的选择,这种方式可以一定程度上提升页面性能。
图3为现有技术的瀑布流调用方式下的瀑布流渲染示意图。
图4为本发明的瀑布流调用方式下的瀑布流渲染示意图。
所述瀑布流渲染器包括:多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器。
所述瀑布流加载器和数据管理器为公有的功能组件,所述瀑布流渲染器为私有的功能组件。
将所述瀑布流加载器和数据管理器设置为公有的功能组件,相比现有技术中的单一瀑布流组件而言,其优势是显而易见的。例如,当不同的频道瀑布流调用逻辑和搜索瀑布流调用逻辑调用瀑布流组件时,可以共用瀑布流加载器和数据管理器。而当进行渲染的时候,则分别调用多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器等私有的功能组件。上述设置使得每个功能模块的功能实现单一化,一方面减少了代码的数量,另一方面也方便调用和维护。当出现BUG的时候,可以实现快速排查和修复。此外,上述设置还大大增加了系统的灵活性,便于不同的加载规则、不同的渲染规则之间的组合。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置。这样的实现本发明的程序可以存储在计算机可读介质上。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种以瀑布流方式显示图片的方法,其特征在于,包括:
通过瀑布流加载器选择瀑布流的加载方式并获取加载数据;
数据管理器将瀑布流加载器获取的加载数据进行格式化;
瀑布流渲染器对数据管理器格式化后的数据进行渲染。
2.如权利要求1所述的方法,其特征在于,通过频道瀑布流调用方式或搜索瀑布流调用方式来调用不同的瀑布流。
3.如权利要求1-2中任一项所述的方法,其特征在于,所述瀑布流的加载方式包括:自动加载、手动加载、手动加载n次之后自动加载、n次自动加载之后需手动加载一次。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述瀑布流加载器选择瀑布流的加载方式包括:
通过传递参数的方式来自动选择不同的加载方式。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述数据管理器负责将瀑布流加载器获取的加载数据进行格式化包括:
利用数据管理器将不同的数据类型格式转换成相同的预定格式。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述利用数据管理器将不同的数据类型格式转换成相同的预定格式包括:
数据管理器通过指定不可重复的字段的方式对数据进行自动去重。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染还包括:
对数据管理器格式化后的数据进行预渲染。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述对数据管理器格式化后的数据进行预渲染包括:
首先判断所述格式化后的数据是否满足预渲染条件;
如果所述格式化后的数据中有至少一个数据满足所述预渲染条件,则所述瀑布流渲染器对所述至少一个数据进行预渲染。
9.如权利要求1-8中任一项所述的方法,其特征在于,所述瀑布流渲染器对数据管理器格式化后的数据进行渲染包括:
将数据管理器格式化后的数据按照瀑布流进行排列、随着窗口大小缩放重排、对超过预定数量的瀑布流节点进行隐藏。
10.如权利要求1-9中任一项所述的方法,其特征在于,所述瀑布流渲染器包括:多列瀑布流渲染器、规则形状的瀑布流渲染器和横向瀑布流渲染器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959232.4A CN105608158A (zh) | 2015-12-18 | 2015-12-18 | 一种瀑布流式显示图片的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959232.4A CN105608158A (zh) | 2015-12-18 | 2015-12-18 | 一种瀑布流式显示图片的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105608158A true CN105608158A (zh) | 2016-05-25 |
Family
ID=55988098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510959232.4A Pending CN105608158A (zh) | 2015-12-18 | 2015-12-18 | 一种瀑布流式显示图片的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105608158A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874485A (zh) * | 2017-02-20 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种图片呈现的方法以及图片呈现装置 |
CN108595457A (zh) * | 2017-12-29 | 2018-09-28 | 北京奇虎科技有限公司 | 一种瀑布流页面的渲染方法和装置 |
CN109683978A (zh) * | 2017-10-17 | 2019-04-26 | 阿里巴巴集团控股有限公司 | 一种流式布局界面渲染的方法、装置以及电子设备 |
CN109753333A (zh) * | 2019-01-11 | 2019-05-14 | 广州视源电子科技股份有限公司 | 一种界面布局方法、装置、设备及介质 |
CN114385295A (zh) * | 2022-01-06 | 2022-04-22 | 徐工汉云技术股份有限公司 | 一种以对比瀑布流方式显示图片的方法及系统 |
CN114385295B (zh) * | 2022-01-06 | 2024-05-17 | 徐工汉云技术股份有限公司 | 一种以对比瀑布流方式显示图片的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101176091A (zh) * | 2005-03-10 | 2008-05-07 | 新加坡国立大学 | 用来生成电子文档的制作工具和方法 |
CN103544253A (zh) * | 2013-10-15 | 2014-01-29 | Tcl集团股份有限公司 | 一种以瀑布流方式显示图片的实现方法及系统 |
CN103678622A (zh) * | 2013-12-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 瀑布流式图片动态呈现的方法及装置 |
CN103678497A (zh) * | 2013-11-18 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 提供调整检索页浏览显示的方法和系统 |
-
2015
- 2015-12-18 CN CN201510959232.4A patent/CN105608158A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101176091A (zh) * | 2005-03-10 | 2008-05-07 | 新加坡国立大学 | 用来生成电子文档的制作工具和方法 |
CN103544253A (zh) * | 2013-10-15 | 2014-01-29 | Tcl集团股份有限公司 | 一种以瀑布流方式显示图片的实现方法及系统 |
CN103678497A (zh) * | 2013-11-18 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 提供调整检索页浏览显示的方法和系统 |
CN103678622A (zh) * | 2013-12-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 瀑布流式图片动态呈现的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874485A (zh) * | 2017-02-20 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种图片呈现的方法以及图片呈现装置 |
CN109683978A (zh) * | 2017-10-17 | 2019-04-26 | 阿里巴巴集团控股有限公司 | 一种流式布局界面渲染的方法、装置以及电子设备 |
CN108595457A (zh) * | 2017-12-29 | 2018-09-28 | 北京奇虎科技有限公司 | 一种瀑布流页面的渲染方法和装置 |
CN109753333A (zh) * | 2019-01-11 | 2019-05-14 | 广州视源电子科技股份有限公司 | 一种界面布局方法、装置、设备及介质 |
CN114385295A (zh) * | 2022-01-06 | 2022-04-22 | 徐工汉云技术股份有限公司 | 一种以对比瀑布流方式显示图片的方法及系统 |
CN114385295B (zh) * | 2022-01-06 | 2024-05-17 | 徐工汉云技术股份有限公司 | 一种以对比瀑布流方式显示图片的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10671692B2 (en) | Uniquely identifying and tracking selectable web page objects | |
CN101345852B (zh) | 一种在线视频片段选播方法和系统 | |
CN103648031B (zh) | 一种智能电视的节目推荐方法及装置 | |
CN103634687B (zh) | 智能电视中提供视频搜索结果的方法及系统 | |
CN102298616B (zh) | 一种用于在搜索结果中提供相关子链接的方法和设备 | |
JP5323136B2 (ja) | コンテンツの視覚的フィルタリングを可能にするシステム及び方法 | |
US20200221185A1 (en) | Method for pushing video information, apparatus, device and storage medium | |
CN107295361B (zh) | 一种内容推送方法 | |
CN102831148B (zh) | 一种基于浏览器的推荐数据加载方法和装置 | |
CN106339398A (zh) | 一种网页页面的预读取方法、装置及智能终端设备 | |
US9990436B2 (en) | Personal trends module | |
CN105898520A (zh) | 视频帧截取方法和装置 | |
CN103686237A (zh) | 推荐视频资源的方法及系统 | |
CN104221006A (zh) | 包括视频的网页内容的优化 | |
CN104144181B (zh) | 一种网络视频终端聚合方法及系统 | |
US20120084657A1 (en) | Providing content to a user from multiple sources based on interest tag(s) that are included in an interest cloud | |
US20120078961A1 (en) | Representing and Processing Inter-Slot Constraints on Component Selection for Dynamic Ads | |
CN103294711A (zh) | 一种确定网页中的页面元素的方法以及装置 | |
CN104021140B (zh) | 一种网络视频的处理方法及装置 | |
CN105608158A (zh) | 一种瀑布流式显示图片的方法和装置 | |
CN107241657A (zh) | 视频播放方法、装置、计算设备以及存储介质 | |
CN102957949A (zh) | 为用户推荐视频的装置及方法 | |
CN104145265A (zh) | 涉及搜索和/或搜索整合的特征的系统和方法 | |
CN103514282A (zh) | 一种视频搜索结果展示方法及装置 | |
CN112559513A (zh) | 链路数据存取方法、装置、存储介质、处理器及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160525 |
|
RJ01 | Rejection of invention patent application after publication |