CN109863527A - 用于展现的本地内容的服务器侧渲染的方法和系统 - Google Patents
用于展现的本地内容的服务器侧渲染的方法和系统 Download PDFInfo
- Publication number
- CN109863527A CN109863527A CN201780050083.7A CN201780050083A CN109863527A CN 109863527 A CN109863527 A CN 109863527A CN 201780050083 A CN201780050083 A CN 201780050083A CN 109863527 A CN109863527 A CN 109863527A
- Authority
- CN
- China
- Prior art keywords
- content
- scheme
- rendered
- time slot
- show
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 99
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000013515 script Methods 0.000 claims description 40
- 230000003993 interaction Effects 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 11
- 239000002609 medium Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012797 qualification Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000012120 mounting media Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了一种用于在服务器侧渲染用于在应用环境内展现的本地内容的系统和方法。所述方法包括:通过数据处理系统从客户端设备接收对内容的请求,该对内容的请求包括标识由资源提供的特定内容时隙的内容时隙标识符;使用所述内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境内进行显示的特定配置来布置内容组件以生成所渲染的内容文件;响应于所述对内容的请求,标识包括多个内容组件的内容资产;基于与内容时隙对应的展现方案将所述多个内容组件渲染为所渲染的内容文件;以及将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。
Description
优先权申请的交叉引用
本申请要求2016年12月30日提交的美国临时申请号62/440,748和2017年1月25日提交的美国专利申请号15/415,322的权益和优先权。
背景技术
在诸如因特网的计算机网络环境中,响应于对内容的请求,可以将来自服务器的数据传送到客户端设备。客户端设备从服务器接收该数据。该数据可以包括用于渲染(render)与用于在客户端设备处进行显示的数据相对应的内容的指令。客户端设备可以包括内容渲染应用或功能,用于经由客户端设备的显示组件或耦合到客户端设备的显示组件来渲染内容并显示所渲染的内容。
发明内容
根据各种实施方式,提供了一种用于在服务器侧渲染本地内容以在应用环境内展现(presentation)的方法。该方法包括通过数据处理系统从客户端设备接收对内容的请求,该对内容的请求包括标识由资源(例如,正在由应用使用以生成用于用户的显示的资源)提供的特定内容时隙(slot)的内容时隙标识符。该方法还包括通过数据处理系统使用内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境(即,当应用使用资源为用户生成显示时的应用环境)内进行显示的特定配置来布置内容组件以生成所渲染的内容文件。该方法还包括通过数据处理系统响应于对内容的请求,标识包括多个内容组件的内容资产。该方法还包括通过数据处理系统的内容渲染器基于与内容时隙对应的展现方案将多个内容组件渲染为所渲染的内容文件。该方法还包括通过数据处理系统将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。术语“本地内容”在此用于表示不是资源的一部分或由资源生成的内容,并且其通常在执行方法之前不与资源相关联,但是通过该方法,其与作为资源的一部分的内容或由资源生成的内容一起显示。
在一些实施方式中,对内容的请求包括所请求内容的大小值。在一些实施方式中,标识展现方案包括通过数据处理系统标识多个展现方案,每个展现方案包括与内容时隙标识符对应的相应展现方案标识符;通过数据处理系统标识多个展现方案的子集,包括在所述子集中的每个展现方案包括与所请求内容的大小值匹配的大小属性;以及通过数据处理系统从所述多个展现方案的子集中选择所标识的展现方案。
在一些实施方式中,所渲染的内容文件包括脚本,该脚本被配置为响应于与所渲染的内容文件的交互,发送在客户端设备处与所渲染的内容文件的交互的指示。在一些实施方式中,该方法还包括通过数据处理系统插入从客户端设备向其发送所述交互的指示的服务器的地址。
在一些实施方式中,所渲染的内容文件包括超文本标记语言(HTML)脚本,其被配置为在客户端设备处显示所渲染的内容文件。在一些实施方式中,所渲染的内容文件包括层叠样式表(CSS)脚本,其被配置为在客户端设备处显示所渲染的内容文件。在一些实施方式中,展现方案包括多个样式参数,每个样式参数包括与实体的资源的值匹配的值。在一些实施方式中,样式参数包括要在内容时隙中显示的区段(section)类别、内容时隙的背景颜色、文本的字体大小、文本的位置或图像的位置。在一些实施方式中,所渲染的内容文件的视觉特性基本上与应用环境的视觉特性匹配。
根据各种实施方式,提供了一种用于在服务器侧渲染本地内容以在应用环境内展现的系统。该系统包括处理器。该系统还包括耦合到处理器的存储器,该存储器存储计算机可执行指令,当由处理器执行时,所述指令使得处理器:从客户端设备接收对内容的请求,该对内容的请求包括标识通过资源提供的特定内容时隙的内容时隙标识符;使用内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境内进行显示的特定配置来布置内容组件以生成所渲染的内容文件;响应于对内容的请求,标识包括多个内容组件的内容资产;基于与内容时隙对应的展现方案将多个内容组件渲染为所渲染的内容文件;以及将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。
在一些实施方式中,对内容的请求包括所请求内容的大小值。在一些实施方式中,在标识展现方案时,该存储器存储计算机可执行指令,当由处理器执行时,所述指令还使得处理器:标识多个展现方案,每个展现方案包括与内容时隙标识符对应的相应展现方案标识符;标识多个展现方案的子集,包括在所述子集中的每个展现方案包括与所请求内容的大小值匹配的大小属性;以及从所述多个展现方案的子集中选择所标识的展现方案。
在一些实施方式中,所渲染的内容文件包括脚本,该脚本被配置为响应于与所渲染的内容文件的交互,发送在客户端设备处与所渲染的内容文件的交互的指示。在一些实施方式中,该存储器存储计算机可执行指令,当由处理器执行时,所述指令还使得处理器插入从客户端设备向其发送所述交互的指示的服务器的地址。
在一些实施方式中,所渲染的内容文件包括超文本标记语言(HTML)脚本,其被配置为在客户端设备处显示所渲染的内容文件。在一些实施方式中,所渲染的内容文件包括层叠样式表(CSS)脚本,其被配置为在客户端设备处显示所渲染的内容文件。
在一些实施方式中,展现方案包括多个样式参数,每个样式参数包括与实体的资源的值匹配的值。在一些实施方式中,样式参数包括要在内容时隙中显示的区段类别、内容时隙的背景颜色、文本的字体大小、文本的位置或图像的位置。在一些实施方式中,所渲染的内容文件的视觉特性基本上匹配应用环境的视觉特性。
在每个方面中,可以选择内容用于显示。可以将所选内容发送到与用户相关联的计算机,以作为用户界面的一部分进行显示。内容可以采用任何方便的形式,并且可以例如是交互式图形用户界面的组件。应当理解,各方面可以以任何方便的形式实现。例如,各方面可以由适当的计算机程序实现,该计算机程序可以承载在适当的载体介质上,该载体介质可以是有形载体介质(例如磁盘)或无形载体介质(例如通信信号)。各方面也可以使用合适的装置来实现,该装置可以采用可编程计算机的形式,该可编程计算机运行布置为实现各方面的计算机程序。可以组合各方面,并且在一个方面的上下文中描述的特征可以与其它方面的特征组合。
下面详细讨论这些和其它方面和实施方式。前述信息和以下详细描述包括各个方面的说明性实施方式,并提供用于理解所要求保护的方面和实施方式的性质和特性的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入和构成本说明书的一部分。
附图说明
附图不旨在按比例绘制。各附图中相同的附图标记和名称表示相同的元件。为清楚起见,并非每个组件都在每个附图中标记。在附图中:
图1是描绘根据说明性实施方式的用于本地内容的服务器侧渲染的环境的框图;
图2是描绘根据说明性实施方式的内容渲染模块的框图;
图3是描绘根据说明性实施方式的内容渲染模块所使用的数据模型的框图;
图4A和图4B是分别根据比较示例和根据本公开的说明性实施方式的描绘渲染和发送内容的序列的框图;
图5是描绘根据说明性实施方式的用于本地内容的服务器侧渲染的方法的流程图;以及
图6是示出根据说明性实施方式的可用于实现本文描述和示出的系统和方法的元件的计算机系统的一般体系结构的框图。
具体实施方式
以下是与本地内容的服务器侧渲染有关的方法、装置和系统的相关各种构思以及实施方式的更详细描述。以上介绍并在下面更详细讨论的各种构思可以以多种方式中的任何一种来实现,因为所描述的构思不限于任何特定的实施方式。
具体地,本公开涉及用于在服务器处渲染本地内容并将渲染的本地内容发送到客户端设备以在网络(web)或移动应用上显示的系统和方法。在比较示例中,本地内容可以由在客户端设备上执行的应用(例如,移动应用或网络浏览器)来渲染,并被展现用于在应用的环境内显示。在这样的实施方式中,包括一个或多个内容组件的原始内容资产被从服务器发送到客户端设备,其中客户端设备处的应用利用专用渲染工具、脚本或指令来根据应用的预定参数组装原始内容资产的内容组件。一旦应用使用内容组件渲染本地内容,应用就展现所渲染的本地内容以在应用环境内显示,使得所渲染的内容看起来具有与发布者生成的内容相同的外观和感觉。
通过在客户端设备上执行的应用渲染本地内容存在若干技术挑战。首先,应用需要能够使客户端设备适当地渲染本地内容的一个或多个专用内容渲染脚本。作为在应用中包括专用内容渲染脚本的结果,应用的大小大于不需要内容渲染脚本来渲染本地内容的应用。应用的大小增加会增加下载或传输该应用所需的时间量,并且还会在客户端设备上使用更多的存储器资源。第二,当对渲染过程进行更新时,客户端设备上的应用需要接收对计算机可执行指令的更新。这些更新利用网络资源,并且通常可能使应用无法运行,直到执行更新。因此,客户端设备上的应用需要重复更新,需要消耗网络资源和客户端设备资源二者,包括计算资源和电池或电力资源。第三,使客户端设备执行计算机可执行指令以在客户端设备处渲染内容可导致电池消耗增加以及需要可能不利地影响客户端设备的性能的额外计算资源。第四,通过在客户端设备处执行渲染,会限制渲染操作以适应每个客户端设备上的计算资源的降低的可用性。第五,通过在客户端设备上执行渲染,内容发布者可能失去创建和管理A/B实验或优化渲染的能力(例如,内容发布者可能必须在客户端设备处手动建立A/B实验或在其应用中结合这样的机制)。
为了解决这些技术挑战和其它挑战,本公开涉及在服务器处渲染应用的本地内容并将所渲染的本地内容发送到在客户端设备上执行的应用以用于渲染。本地内容可以包括例如具有与其中插入本地内容的应用的主要内容类似的形式和功能的内容。例如,用于在服务器侧渲染本地内容以在应用环境内展现的方法包括通过数据处理系统从客户端设备接收对内容的请求,该对内容的请求包括用于标识由资源提供的特定内容时隙的内容时隙标识符。服务器可以使用内容时隙标识符来确定展现方案,根据该展现方案在由内容时隙标识符标识的内容时隙内组装、布置、设置样式和/或展现内容项。内容项的特征可以基本上匹配在应用中包括的其它内容的特征(例如,字体、文本大小、背景颜色或图案等)。
该方法还包括通过数据处理系统使用内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境内进行显示的特定配置来布置内容组件以生成所渲染的内容文件。该方法还包括通过数据处理系统响应于对内容的请求来标识包括多个内容组件的内容资产。该方法还包括通过数据处理系统的内容渲染器基于与内容时隙对应的展现方案渲染多个内容组件,作为所渲染的内容文件。该方法还包括通过数据处理系统将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。
图1示出了用于经由至少一个计算机网络(例如网络105)进行展现的内容的服务器侧渲染的系统100。网络105可以包括诸如因特网的计算机网络、本地网、广域网、城域网或其它区域网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其它计算机网络、以及它们的组合。系统100还可以包括至少一个数据处理系统110(例如,诸如计算设备或具有处理器的服务器的至少一个逻辑设备),以经由网络105与例如至少一个内容提供者计算设备115、至少一个内容发布者计算设备120、或至少一个终端用户计算设备或客户端设备125进行通信。
数据处理系统110可包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器群中的多个服务器。在一些实施方式中,数据处理系统110包括内容放置系统。数据处理系统110可包括至少一个内容请求模块130、至少一个内容渲染模块135、至少一个渲染内容传递模块140和至少一个数据库145。内容请求模块130、内容渲染模块135和渲染内容传递模块140均可包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、设备或诸如可编程逻辑阵列的其它逻辑设备,其被配置为经由网络105与数据库145以及与其它计算设备(例如,内容提供者计算设备115、内容发布者计算设备120或终端用户计算设备125)通信。
内容请求模块130、内容渲染模块135和渲染内容传递模块140可以包括或执行至少一个计算机程序或至少一个脚本。内容请求模块130、内容渲染模块135和渲染内容传递模块140可以是分离的组件、单个组件或数据处理系统110的一部分。内容请求模块130、内容渲染模块135和渲染内容传递模块140可以包括软件和硬件的组合,诸如一个或多个处理器,配置为执行一个或多个脚本以获得如下的请求:发起内容项放置、标识内容发布者计算设备120的信息资源、在内容提供者计算设备115处提供信息资源的渲染、标识信息资源的内容项时隙、提供用于在渲染信息资源时显示的内容项、或者接收授权以在终端用户计算设备125处提供用于与信息资源一起显示的内容项。
内容提供者计算设备115可以包括由内容提供者实体操作的服务器或其它计算设备,以提供诸如在终端用户计算设备125处的信息资源上显示的内容的内容项。由内容提供者计算设备115提供的内容可以包括用于在诸如包括主要内容(例如内容发布者计算设备120提供的内容)的网站或网页的信息资源上显示的第三方内容项。内容项也可以显示在搜索结果网页上。例如,内容提供者计算设备115可以提供或者是内容项的源,所述内容项用于显示在内容网页(诸如由公司提供网页的主要内容的公司网页)的内容时隙中、用于显示在搜索引擎提供的搜索结果登录页面上、或显示用于在移动设备的移动应用中。与内容提供者计算设备115相关联的内容项可以显示在除网页之外的信息资源上,诸如作为智能电话机或其它终端用户计算设备125上的应用的执行的一部分而显示的内容。
内容发布者计算设备120可以包括由内容发布实体操作的服务器或其它计算设备,以经由网络105提供用于显示的主要内容。例如,内容发布者计算设备120可以包括网页操作者,其提供用于在网页上显示的主要内容。主要内容可以包括除了由内容发布者计算设备120提供的内容之外的内容,并且网页可以包括被配置用于显示来自内容提供者计算设备115的第三方内容项的内容时隙。例如,内容发布者计算设备120可以操作公司的网站,并且可以提供关于该公司的内容以在网站的网页上显示。网页可以包括被配置用于显示诸如内容提供者计算设备115的内容的第三方内容项的内容时隙。在一些实施方式中,内容发布者计算设备120包括用于操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如,服务器)。搜索引擎网页的主要内容(例如,结果或登陆网页)可以包括搜索结果以及在内容时隙中显示的第三方内容项,诸如来自内容提供者计算设备115的内容项。
终端用户计算设备125是可以包括计算设备的客户端设备,被配置为经由网络105通信以显示诸如由内容发布者计算设备120提供的内容(例如,主要网页内容或其它信息资源)和由内容提供者计算设备115提供的内容(例如,被配置为在网页的内容时隙中显示的第三方内容项)的数据。终端用户计算设备125、内容提供者计算设备115和内容发布者计算设备120可以包括台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、终端用户计算设备、消费者计算设备、服务器、客户端和其它计算设备。终端用户计算设备125、内容提供者计算设备115和内容发布者计算设备120可以包括用户接口,诸如麦克风、扬声器、触摸屏、键盘、指示设备、计算机鼠标、触摸板或其它输入或输出接口。
内容请求模块130可以从终端用户计算设备125接收对内容的请求。对内容的请求可以包括对信息资源的请求、对一个或多个第三方内容项的请求、或其组合。在一些实施方式中,对内容的请求可以包括对第三方内容的请求。在一些实施方式中,对第三方内容的请求可以包括要在其上显示第三方内容的信息资源的地址或标识符。对第三方内容的请求还可以包括或标识一个或多个参数,该参数可以由数据处理系统110使用以确定响应于对内容的请求而提供的内容。例如,参数可以标识在其中插入所请求内容的内容时隙的大小。参数可以标识与信息资源相关联的内容的类型、所请求的第三方内容的类型(例如,文本、图像、视频等)、终端用户计算设备信息、所请求的第三方内容项的大小信息、与终端用户计算设备125相关联的网络类型(例如,蜂窝网络、WiFi等)、与终端用户计算设备125处的应用相关联的应用ID、与应用ID相关联的属性、终端用户计算设备125的当前或过去位置、或其组合。以下结合图2描述关于内容请求的进一步公开。
在一些实施方式中,对内容的请求可以包括对信息资源的请求。对信息资源的请求可以包括信息资源的地址或标识符。例如,对信息资源的请求可以包括诸如网页的特定资源的统一资源定位符(URL)(例如,“http://www.example.com”)。对信息资源的请求还可以包括客户端设备信息(诸如设备类型、设备标识符或其组合)。
数据处理系统110还可以包括一个或多个内容存储库或数据库145。数据库145可以在数据处理系统110本地。在一些实施方式中,数据库145可以对数据处理系统110来说是远程的,但是可以经由网络105与数据处理系统110通信。数据库145可以包括网页、部分网页、第三方内容项和预取脚本等,以提供给终端用户计算设备125。
内容渲染模块135可以被配置为选择用于渲染和传递到终端用户计算设备125的内容项。内容渲染模块135可以访问数据库145以选择内容项。内容渲染模块135还可以访问展现方案查找数据库,以选择指示应如何渲染所选内容项的展现方案。内容渲染模块135可以基于所选择的内容项和所选择的展现方案来渲染内容项。渲染的内容项可以包括要在信息资源的内容时隙内显示的本地内容项,使得渲染的内容项基本上匹配所述信息资源的环境的视觉特性。下面结合图2找到关于内容渲染模块135的进一步讨论。
渲染内容传递模块140可以被配置为接收由内容渲染模块135渲染的内容项。渲染内容递送模块140可以将渲染的内容递送到终端用户计算设备125。在一些实施方式中,所渲染的内容项包括允许渲染内容传递模块140确定特定目的地终端用户计算设备125以发送所渲染的内容项的标识符。标识符可以由内容请求模块130连同来自特定终端用户计算设备125的对内容的请求一起接收。
由渲染内容传递模块140传递的渲染的内容可以配置有交互脚本。在一些实施方式中,交互脚本包括计算机可执行指令,其使得终端用户计算设备125发送与从数据处理系统110发送到终端用户计算设备125的传递内容的交互的指示。例如,交互可以包括点击、轻扫、轻击、用光标悬停、或者与内容项的任何其它交互。计算机可执行指令可以包括脚本,诸如超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)、可扩展标记语言(XML)、层叠样式表(CSS)和Java脚本(JavaScript)等。计算机可执行指令可以在终端用户计算设备125的应用或网络浏览器(诸如使得终端用户计算设备125发送由内容请求模块130接收的内容请求的应用或网络浏览器)内执行。应用可以包括例如因特网浏览器、移动应用、游戏应用、GPS应用、虚拟现实应用或能够读取和执行计算机可执行指令的任何其它计算机程序。
图2是描绘根据说明性实施方式的内容渲染模块135的框图。所描绘的内容渲染模块135的组件可以包括内容渲染模块135的一部分,并且图2可以不描绘内容渲染模块135的所有组件。在一些实施方式中,内容渲染模块135包括转换模块205、内容管理器210、内容资产数据库215、展现方案数据库220和脚本数据库225。
在一些实施方式中,内容资产数据库215、展现方案数据库220和脚本数据库225都是数据库145的一部分。数据库145可以被分离或分区以包括由内容资产数据库215、展现方案数据库220和脚本数据库225存储的数据。在一些实施方式中,数据处理系统110可以从内容提供者115和内容发布者120接收数据,并将接收的数据存储到相应的数据库215、220、225中。例如,内容提供者115可以将内容资产数据发送到数据处理系统110,并且数据处理系统110可以将该信息加载并存储在内容资产数据库215中。同样地,内容发布者120可以将展现方案数据发送到数据处理系统110,展现方案数据可以被加载并存储在展现方案数据库220中。
在一些实施方式中,转换模块205被配置为例如从内容请求模块130接收内容请求。在一些实施方式中,转换模块205可以是内容请求模块130的一部分。转换模块205可以被配置为以超文本传输协议(HTTP)格式接收内容请求。可以从应用(例如,从移动终端用户计算设备125)或从网页接收内容请求。最初从终端用户计算设备125发送HTTP内容请求。
在一些实施方式中,HTTP内容请求包括所请求的内容项的大小信息和内容时隙标识符。内容时隙标识符可以包括标识符,该标识符标识要与所请求的内容项一起提供的信息资源的一部分,诸如,例如,标识信息资源的内容时隙的内容时隙标识符。大小信息可包括一组大小尺寸或多组大小尺寸。在一些实施方式中,大小信息是固定大小(例如,逐像素大小尺寸)。在一些实施方式中,大小信息指定所请求的大小是否是自适应的,使得返回的渲染内容项被配置为适合各种大小的内容时隙。在一些实施方式中,内容请求指示对本地内容项的请求。在一些实施方式中,内容请求指示对非本地内容项的请求。在一些实施方式中,内容请求不指定该请求是针对本地内容项还是非本地内容项。
在接收到HTTP内容请求时,转换模块205可以被配置为将HTTP请求转换为与内容管理器210兼容的格式。例如,转换模块205可以被配置为解析HTTP内容请求以包括供内容管理器210使用的附加上下文信息(例如,诸如发送内容请求的应用的应用标识符、应用的用户的用户标识符等的信息)。另外,转换模块205可以格式化HTTP内容请求,使得格式化的请求可以是内容管理器210可以解析并从中提取信息以用于内容选择的请求。例如,内容管理器210可以解析由转换模块205格式化或修改的内容请求,以能够从内容请求中提取标识符并检索与提取的标识符相关的内容。
在一些实现中,内容管理器210是被配置为选择与由内容时隙标识符标识的内容时隙和所提供的大小信息兼容的展现方案的模块。因此,在一些实施方式中,内容管理器210基于内容时隙标识符选择内容资产的列表,选择分配给内容时隙或以其它方式与内容时隙相关联的展现方案的列表,并过滤掉不包括与大小信息匹配的对应展现方案的内容资产和那些不是通过内容时隙标识符指向所标识的内容时隙的内容资产。内容管理器210可以包括内容选择模块211、展现查找模块212、展现过滤器213和排序模块214。
在一些实施方式中,内容选择模块211可以接收包括内容时隙标识符和大小信息的内容请求。内容选择模块211可以访问内容资产数据库215,以响应于内容请求选择本地内容资产的列表。在一些实施方式中,内容资产的内容提供者可以将特定内容资产分配或链接到一个或多个内容资产模板,并且(多个)内容资产模板可以包括规范,根据该规范可以布置内容资产的内容组件。内容组件可以包括但不限于标题、图像、正文、行动号召、徽标、属性、点击URL(click through URL)等。
在一些实施方式中,内容选择模块211可以使用查询来从内容资产数据库215中标识内容资产。查询可以包括来自内容请求的大小信息和内容时隙标识符。响应于该查询,内容选择模块211可以访问内容资产数据库215,以检索与内容时隙标识符和大小信息匹配的一个或多个内容资产。在一些实施方式中,内容资产数据库215存储多个内容资产和链接或以其它方式将每个内容资产与内容时隙标识符相关联。在一些实施方式中,内容资产数据库215可以匹配、映射或链接被分配给与分配给内容时隙的展现方案兼容的特定内容资产模板的内容资产。内容资产数据库215还可以接收(例如,从内容提供者115)内容资产的大小调整信息,并且利用大小调整信息来映射存储在内容资产数据库215中的每个内容资产。这样,内容选择模块211可以基于所请求的内容时隙标识符和大小信息在内容资产数据库215处执行查找,并检索相应的内容资产。
如下所述,每个返回的本地内容资产都可以包括可以用于标识展现方案的内容资产模板标识符。在一些实施方式中,所检索的本地内容资产中的每一个可以包括或排除用于指示是否将任何展现方案分配给本地内容资产或以其它方式与本地内容资产相关联的标记或其它指示符(例如,是否将展现方案分配给内容资产模板标识符或将展现方案以其它方式与内容资产模板标识符相关联)。例如,如果匹配的内容资产之一包括指示没有分配给内容资产的展现方案或指示没有展现方案以其它方式与内容资产相关联的标记,则内容资产数据库215可以排除将被标记的本地内容资产返回到内容选择模块211。因此,内容资产数据库215可以返回本地内容资产(例如,未标记的资产),并且可以排除被标记为未分配给任何展现方案或没有以其它方式与任何展现方案相关联的本地内容资产。在一些实施方式中,内容选择模块211将包括对应的内容资产模板标识符的所返回内容资产发送到展现过滤器模块213。
在一些实施方式中,展现查找模块212接收包括内容时隙标识符和大小调整信息的内容请求。展现查找模块212可以通过访问展现方案数据库220来标识分配给内容请求中包括的内容时隙标识符或以其它方式与之相关联的所有合格的展现方案。在一些实施方式中,展现方案数据库220存储多个展现方案并将每个展现方案与内容时隙标识符相关联。这样,展现查找模块212可以基于所请求的内容时隙标识符在展现方案数据库220处执行查找,并且可以检索对应的展现方案。展现查找模块212可以过滤掉从展现方案数据库220检索的不能与内容请求中包括的大小调整信息匹配的展现方案。在一些实施方式中,如果大小调整信息包括多个不同的大小,则展现查找模块212过滤掉那些未能匹配内容请求中包括的任何大小的展现方案。展现查找模块212还可以对具有相同大小的展现方案和属于相同内容资产模板的展现方案进行去重。因此,展现查找模块212可以返回将内容资产模板映射到分配给内容资产模板或以其它方式与内容资产模板相关联的合格展现方案的列表的展现方案映射。
例如,在创建展现方案映射时,展现查找模块212可以如下所示创建模板映射,用于标识与内容资产模板标识符相对应的展现方案:
内容资产模板id=>展现方案
以上映射示出了一个或多个展现方案被映射到内容资产模板标识符。在填写映射模板时,展现查找模块212可以检索包括在内容请求中的大小列表(例如,列表可以包括一个大小或多个大小)。展现查找模块212可以从内容请求中检索内容时隙标识符,并从展现数据库220中检索分配给内容时隙标识符或以其它方式与内容时隙标识符相关联的所有展现方案。在一些实施方式中,对于每个展现方案,如果在展现方案映射中已经存在分配给展现方案或以其它方式与展现方案相关联的内容资产模板标识符,则展现查找模块212可以忽略已经存在的展现方案。另外,如果展现方案不具有内容请求中包括的任何大小,则展现查找模块212可以忽略该展现方案。否则,展现查找模块212可以向所述映射添加新条目。一旦完成,展现查找模块212就可以将展现方案映射发送到展现过滤器213。
在一些实施方式中,展现过滤器213从展现查找模块212接收展现方案映射,并从内容选择模块211接收合格的内容资产,并过滤掉与展现方案映射不对应的那些内容资产。例如,展现过滤器213可以通过展现方案映射来标识对应于合格展现方案的合格内容资产模板。然后,展现过滤器213可以排除包括与所确定的合格内容资产模板不匹配的内容资产模板标识符的那些内容资产。换句话说,展现过滤器213可以过滤掉其内容资产模板不属于展现方案映射的那些内容资产(例如,那些不具有分配给所请求的内容时隙或以其它方式与所请求的内容时隙相关联的合格的展现方案的内容资产)。展现过滤器213可以将经过滤的内容资产列表发送到排序模块214。
在一些实施方式中,排序模块214执行从内容资产列表中选择一个内容资产。如果所选内容资产被分配给或以其它方式与多于一个展现方案相关联(如基于展现方案映射所确定的),则排序模块214可以随机选择分配给所选内容资产或以其它方式与所选内容资产相关联的展现方案之一。这样,在选择展现方案之后,排序模块214可以向转换模块205发送分配给所选内容资产或以其它方式与所选内容资产相关联的标识符和分配给所选内容资产的所选展现方案或以其它方式与所选内容资产的所选展现方案相关联的标识符,作为响应于转换模块205接收的初始内容请求的内容响应。
在一些实施方式中,转换模块205从排序模块214接收所选内容资产的标识符(例如,内容资产模板标识符)和所选内容资产的所选展现方案。转换模块205可以访问脚本数据库225以检索与所选展现方案标识符和所选内容资产相对应的展现方案和内容组件。展现方案可以包括HTML代码、CSS代码或可以修改或影响内容项的展现的其它计算机可执行指令中的一个或多个。在一些实施方式中,脚本数据库225存储各种展现方案,每个展现方案可以被分配或具有展现方案标识符。内容资产数据库215还可以将每个展现方案分配给一个或多个内容资产模板标识符。这样,转换模块205可以基于展现方案标识符和/或内容资产模板标识符在脚本数据库225中执行查找,并检索对应的展现方案。
在一些实施方式中,转换模块205可以基于所接收的展现方案和内容组件来渲染内容项。转换模块205可以将渲染的内容项发送到渲染内容传递模块140。对于使得内容渲染模块135返回自适应内容项的自适应大小的内容请求,客户端设备125可以被配置为通过用所渲染的内容项填充内容项时隙的100%宽度来调整自适应内容项,然后调整内容项的高度以包括所选内容资产的值。
图3是描绘根据说明性实施方式的示出内容渲染模块135使用的内容资产、内容资产模板、展现方案和内容时隙之间的链接的数据模型300的框图。数据模型300可以包括一个或多个内容资产305A、305B、305C和链接到内容资产305A、305B、305C中的每一个的内容资产模板310。另外,一个或多个展现方案315A、315B可以链接到内容资产模板310。此外,一个或多个内容时隙320A、320B、320C和320D可以链接到展现方案315A、315B中的每一个。在一些实施方式中,内容资产模板310可以定义一组内容组件,内容资产305A、305B、305C可以定义那些内容组件的值,并且展现方案315A、315B可以使用那些内容组件来定义渲染的内容的外观和感觉。
内容发布者可能希望提供从内容资产生成的内容项以在资源上显示。内容发布者可以向一个或多个内容资产分配用于使用内容资产的内容组件生成内容项以显示的内容资产模板,或将一个或多个内容资产以其它方式与该内容资产模板相关联。如上所述,内容资产可以包括布置在一起以生成内容项的多个内容组件。内容资产模板可用于确定内容资产的内容组件将形成或生成内容项的方式。在一些实施方式中,内容资产模板可以包括可以根据其布置内容组件的指令。从内容资产生成的内容项可以显示在一个或多个内容时隙中。这些内容时隙可以包括在内容发布者的信息资源中。内容发布者可以将一个或多个展现方案分配给每个内容时隙,或将一个或多个展现方案以其它方式与每个内容时隙相关联。当选择内容资产用于在特定内容时隙中显示内容项时,内容渲染模块135可以利用内容资产模板以特定方式布置内容资产的内容组件,并且还可以利用所分配或以其它方式链接到内容时隙和内容资产模板的展现方案之一,以使用来自展现方案的值更新一个或多个字段。例如,如果展现方案包括用于背景的蓝色的颜色值,则内容渲染模块135可以通过将颜色蓝色分配给对应于内容项的背景颜色的值来渲染内容项,并且以这种方式以蓝色背景显示内容项。
在一些实施方式中,内容资产305A、305B、305C每个可以包括例如由内容提供者115定义的多个值。另外,内容资产模板310可以包括多个字段,这些字段可以被分配给或以其它方式与内容资产305A、305B、305C中的每一个的内容提供者定义的值相关联。内容组件可以包括但不限于标题、图像、正文、行动号召、徽标、属性、点击URL等。例如,内容资产305A可以包括与内容资产305B和305C定义的内容组件的不同的、关于通过内容资产模板310定义的内容资产字段的内容组件(例如,内容资产305A的“标题”内容组件可以与内容资产305B和305C的“标题”内容组件不同)。在一些实施方式中,内容资产305A、305B、305C每个被分配给不同的内容提供者115或以其它方式与不同的内容提供者115相关联。
在一些实施方式中,内容资产305A、305B、305C被存储在内容资产数据库215中。存储在内容资产数据库215中的每个内容资产305A、305B、305C可以链接到内容资产模板310,使得可以基于内容资产305A、305B、305C容易地标识内容资产模板310。例如,内容资产模板可以被分配给唯一标识符或以其它方式与唯一标识符相关联,并且内容资产305A、305B、305C中的每一个可以包括或可以指向内容资产模板310的唯一标识符。
在一些实施方式中,展现方案315A、315B可以存储在展现方案数据库220中。存储在展现方案数据库220中的展现方案315A、315B可以通过内容资产模板310链接,使得可以基于内容资产模板310容易地标识展现方案315A、315B。例如,展现方案315A、315B可以各自被分配给唯一标识符或以其它方式与唯一标识符相关联,并且内容资产模板310可以包括或可以指向展现方案315A、315B的唯一标识符。
另外,每个展现方案315A、315B可以被分配给一个或多个内容时隙或以其它方式与一个或多个内容时隙相关联。例如,展现方案315A可以被分配给内容时隙320A和320B或以其它方式与内容时隙320A和320B相关联,并且展现方案315B可以被分配给内容时隙320C和320D或以其它方式与内容时隙320C和320D相关联。在一些实施方式中,内容时隙320A、320B、320C和320D中的每一个可以包括唯一标识符,并且存储在展现方案数据库220中的展现方案315A和315B中的每一个可以包括或以其它方式被分配给或以其它方式与内容时隙320A、320B、320C和320D的相应唯一标识符相关联。因此,展现方案315A、315B中的每一个可以被分配给信息资源的特定内容时隙(例如,信息资源的内容项时隙),或者以其它方式与信息资源的特定内容时隙(例如,信息资源的内容项时隙)相关联,或指向信息资源的特定内容时隙(例如,信息资源的内容项时隙)。
在一些实施方式中,展现方案315A、315B由一个或多个内容发布者120配置。例如,展现方案315A、315B可以各自被分配给单个内容发布者120或者以其它方式与单个内容发布者120关联和由单个内容发布者120配置,并且展现方案315A、315B中的每一个可以指向内容发布者的不同信息资源、内容发布者120的相同信息资源上的不同内容时隙、内容发布者的应用或网站的不同区域等。作为示例,展现方案315A可以指向内容发布者120的主页馈送内容时隙,并且展现方案315B可以指向内容发布者120的类别页面轨道内容时隙。
这样,展现方案315A、315B可以表示本地内容项的发布者配置的结构和样式。换句话说,展现方案315A、315B可以不依赖于特定内容资产(例如,内容资产305A、305B、305C)或内容提供者(例如,内容提供者115),并且不受其影响,因为展现方案315A、315B可以包括关于本地内容项应该如何出现在内容发布者120的应用或网站的给定部分中的规范。因此,内容发布者120可以利用属性配置特定展现方案,所述属性例如但不限于背景颜色、字体大小,字体类型、字体颜色、内容项时隙内的位置等。输入这些配置并将其作为展现方案存储在展现方案数据库220中。
如上所述,展现方案可以被配置为包括指定的大小。例如,展现方案315A可以包括第一大小,并且展现方案315B可以包括第二大小。第一大小可包括像素尺寸形式的固定大小(例如,300像素×500像素)。第二大小可包括自适应大小指示符。自适应大小指示符可以指示展现方案315B可以与不具有固定大小的自适应内容时隙(例如,自适应内容项时隙)兼容。对于自适应内容项时隙和对应的自适应展现方案,客户端设备125可以被配置为通过用所渲染的内容项填充内容项时隙的100%宽度来渲染自适应内容项,然后调整内容项的高度以包括所选内容资产的值。因此,展现方案315A和315B是可以将本地内容资产(例如,内容资产305A、305B和305C)转换为特定大小的渲染内容项的适配器。
图4A是描绘根据比较示例的渲染和发送内容的序列的框图400。图4B是描绘根据本公开的说明性实施方式的渲染和发送内容的序列的框图450。
参考图4A,框图400示出了数据处理系统410将内容组件(例如,由内容提供者115提供给数据处理系统410的内容资产值)发送到多个客户端设备420A、420B、420C。除了数据处理系统410不包括内容渲染模块135之外,数据处理系统410可以类似于如上所述的数据处理系统110。客户端设备420A、420B、420C可以类似于如上所述的终端用户计算设备125。因为数据处理系统410不包括内容渲染模块135,所以客户端设备420A、420B、420C中的每一个包括用于渲染本地内容项的内容渲染模块。
存储在数据处理系统410中的内容组件可以包括一个或多个字段的值,例如但不限于标题、正文、图像和徽标。数据处理系统410将内容组件发送到客户端设备420A、420B、420C中的每一个。作为响应,客户端设备420A、420B、420C接收内容组件,并且渲染每个客户端设备420A、420B、420C处的相应内容渲染模块以生成用于在客户端设备420A、420B、420C的每一个处渲染的内容项。客户端设备420A、420B、420C的每个内容渲染模块可以根据在内容渲染过程期间选择的展现方案以不同的布置渲染内容资产。
然而,因为在每个客户端设备420A、420B、420C处执行内容的渲染,所以通过在客户端设备420A、420B、420C上执行的应用或网页来渲染本地内容存在若干技术挑战。首先,应用需要能够使客户端设备适当地渲染本地内容的一个或多个专用内容渲染脚本。作为在应用中包括专用内容渲染脚本的结果,应用的大小大于不需要内容渲染脚本来渲染本地内容的应用。应用的大小增加会增加下载或传输该应用所需的时间量,并且还会在客户端设备上使用更多的存储器资源。第二,当对渲染过程进行更新时,客户端设备上的应用需要接收对计算机可执行指令的更新。这些更新利用网络资源,并且通常可能使应用无法运行,直到执行更新。因此,客户端设备上的应用需要重复更新,需要消耗网络资源和客户端设备资源,包括计算资源和电池或电力资源。第三,使客户端设备执行计算机可执行指令以在客户端设备处渲染内容可导致电池消耗增加以及需要可能不利地影响客户端设备的性能的额外计算资源。第四,通过在客户端设备处执行渲染,会限制渲染操作以适应每个客户端设备上的计算资源的降低的可用性。
参照图4B,框图450示出了数据处理系统110将渲染的本地内容(例如,由内容提供者115提供给数据处理系统110的内容组件)发送到多个客户端设备470A、470B、470C。数据处理系统110包括渲染如上所述的本地内容的内容渲染模块135。客户端设备470A、470B、470C可以类似于如上所述的终端用户计算设备125。客户端设备470A、470B、470C可以运行应用(例如,在移动客户端设备上的)或网络浏览器中的网站。因为数据处理系统110包括内容渲染模块135,所以客户端设备470A、470B、470C中的每一个不需要并且不包括用于渲染本地内容项的内容渲染模块。尽管未在图4B中示出,然而,内容渲染模块135可以根据在内容渲染过程期间选择的展现方案以不同的布置渲染内容资产,使得为客户端设备470A、470B、470C中的每一个选择渲染内容的不同展现。
相应地,因为在数据处理系统410处渲染本地内容,使得所渲染的内容项可以被发送到客户端设备470A、470B、470C中的每一个,而不在客户端设备470A、470B、470C处发生任何渲染,因此可以克服上面列举的技术挑战。首先,应用不需要能够使客户端设备适当地渲染本地内容的一个或多个专用内容渲染脚本,因为客户端设备不执行渲染,减小了应用的大小,减少了下载或传输应用所花费的时间量,并且还减少了客户端设备上的存储器资源的使用。第二,当对渲染过程进行更新时,客户端设备上的应用不需要接收对计算机可执行指令的更新,减少了对网络资源的利用,从而减少了可能导致应用直到执行更新为止都无法运行的实例。因此,不需要重复更新客户端设备处的应用,减少了网络资源和客户端设备资源的消耗,包括计算资源和电池或电力资源。第三,客户端设备从数据处理系统110接收所渲染的内容,使得其不需要其自身来渲染内容可以实现减少的电池消耗以及减少的计算资源。第四,通过在服务器处执行渲染,可以扩展渲染操作以适应服务器处的计算资源的增加的可用性。第五,通过在服务器处执行渲染,内容发布者可能能够创建和管理A/B实验或优化渲染(例如,内容发布者可以不需要在客户端设备处手动建立A/B实验或在其应用中结合这样的机制)。
图5是描绘根据说明性实施方式的用于本地内容的服务器侧渲染的方法500的流程图。简而言之,方法400可以包括接收对内容的请求(方框510)。该方法可以包括访问数据库以标识展现方案(方框520)。该方法可以包括响应于对内容的请求,标识包括多个内容组件的内容资产(方框530)。该方法可以包括基于展现方案将多个内容组件渲染为渲染的内容文件(方框540)。该方法可以包括将渲染的内容文件发送到客户端设备以供显示(方框550)。
更详细地,方法500可以包括数据处理系统110接收对内容的请求(方框510)。内容请求可以是超文本传输协议(HTTP)格式。在一些实施方式中,内容请求可以是HHTP/2格式、SPDY格式或用于传送内容的任何其它合适的网络协议。可以从应用(例如,从移动终端用户计算设备)或从网页接收内容请求。最初可以从终端用户计算设备发送内容请求。
在一些实施方式中,内容请求包括所请求的内容项的大小信息和内容时隙标识符。内容时隙标识符可以包括标识要与所请求的内容项一起提供的信息资源的一部分的标识符。大小信息可包括一组大小尺寸或多组大小尺寸。在一些实施方式中,大小信息是固定大小(例如,逐像素大小尺寸)。在一些实施方式中,大小信息指定所请求的大小是否是自适应的,使得返回的渲染内容项被配置为适合各种大小的内容时隙。在一些实施方式中,内容请求指示对本地内容项的请求。在一些实施方式中,内容请求指示对非本地内容项的请求。在一些实施方式中,内容请求不指定该请求是针对本地内容项还是非本地内容项。
在接收到内容请求时,方法500可以包括数据处理系统110将HTTP请求转换为与内容管理器兼容的格式。例如,方法500可以包括数据处理系统110解析HTTP内容请求以包括供内容管理器使用的附加上下文信息(例如,诸如发送内容请求的应用的应用标识符、应用的用户的用户标识符等的信息)。另外,方法500可以包括数据处理系统110格式化HTTP内容请求,使得格式化的请求可以是内容管理器可以解析并从中提取信息以用于内容选择的请求。例如,方法500可以包括数据处理系统110解析格式化或修改的内容请求,以能够从内容请求中提取标识符并检索与提取的标识符相关的内容。
该方法可以包括数据处理系统110访问数据库以标识展现方案(方框520)。方法500可以包括数据处理系统110通过访问展现方案数据库来标识分配给内容请求中包括的内容时隙标识符或以其它方式与之相关联的所有合格的展现方案。在一些实施方式中,展现方案数据库存储多个展现方案并将每个展现方案与内容时隙标识符相关联。这样,方法500可以包括数据处理系统110基于所请求的内容时隙标识符在展现方案数据库处执行查找,以及检索相应的展现方案。方法500可以包括数据处理系统110过滤掉从展现方案数据库检索的不能与内容请求中包括的大小调整信息匹配的展现方案。在一些实施方式中,如果大小调整信息包括多个不同的大小,则方法500可以包括数据处理系统110过滤掉那些未能匹配内容请求中包括的任何大小的展现方案。方法500还可以包括数据处理系统110对具有相同大小的展现方案和属于相同内容资产模板的展现方案进行去重。因此,方法500还可以包括数据处理系统110返回展现方案映射,该展现方案映射将内容资产模板映射到分配给内容资产模板或以其它方式与内容资产模板相关联的合格展现方案的列表。
例如,在创建展现方案映射时,方法500可以包括数据处理系统110创建用于标识与内容资产模板标识符相对应的展现方案的模板映射。映射可以说明一个或多个展现方案被映射到内容资产模板标识符。在填写映射模板时,方法500可以包括数据处理系统110检索包括在内容请求中的大小列表(例如,列表可以包括一个大小或多个大小)。方法500可以包括数据处理系统110从内容请求中检索内容时隙标识符,并从展现数据库中检索分配给内容时隙标识符或以其它方式与内容时隙标识符相关联的所有展现方案。在一些实施方式中,对于每个展现方案,如果在展现方案映射中已经存在分配给展现方案或以其它方式与展现方案相关联的内容资产模板标识符,则方法500可以包括数据处理系统110忽略已经存在的展现方案。另外,如果展现方案不具有内容请求中包括的任何大小,则方法500可以包括数据处理系统110忽略该展现方案。否则,方法500可以包括数据处理系统110向所述映射添加新条目。
该方法可以包括数据处理系统110响应于对内容的请求,标识包括多个内容组件的内容资产(方框530)。在一些实施方式中,方法500可以包括数据处理系统110接收包括内容时隙标识符和大小信息的内容请求。方法500可以包括数据处理系统110访问内容资产数据库,以响应于内容请求选择本地内容资产的列表。在一些实施方式中,内容资产的内容提供者可以将特定内容资产分配或链接到一个或多个内容资产模板,并且内容资产模板可以包括规范,根据该规范可以布置内容资产的内容组件。内容组件可以包括但不限于标题、图像、正文、行动号召、徽标、属性、点击URL等。
在一些实施方式中,方法500可以包括数据处理系统110使用查询来从内容资产数据库中标识内容资产。查询可以包括来自内容请求的大小信息和内容时隙标识符。响应于该查询,方法500可以包括访问内容资产数据库,以检索与内容时隙标识符和大小信息匹配的一个或多个内容资产。在一些实施方式中,内容资产数据库存储多个内容资产,并且链接或以其它方式将每个内容资产与内容时隙标识符相关联。在一些实施方式中,内容资产数据库可以匹配、映射或链接被分配给与分配给内容时隙的展现方案兼容的特定内容资产模板的内容资产。通过从内容发布者接收特定展现方案的兼容性信息,可以标签标记或以其它方式指示展现方案与内容资产模板兼容,并且可以存储兼容性信息并将其映射到内容资产数据库内的对应的兼容内容资产模板(例如,通过利用在兼容的展现方案和对应的内容资产模板之间的交叉引用标识符或标签)。内容资产数据库还可以(例如,从内容提供者115)接收内容资产的大小调整信息,并且利用大小调整信息来映射存储在内容资产数据库中的每个内容资产。这样,方法500可以包括数据处理系统110基于所请求的内容时隙标识符和大小信息在内容资产数据库处执行查找,并检索相应的内容资产。
每个返回的本地内容资产都可以包括可用于标识展现方案的内容资产模板标识符。在一些实施方式中,所检索的本地内容资产中的每一个可以包括或排除指示是否将任何展现方案分配给本地内容资产或以其它方式与本地内容资产相关联的标记或其它指示符(例如,是否将展现方案分配给内容资产模板标识符或将展现方案以其它方式与内容资产模板标识符相关联)。例如,如果匹配的内容资产之一包括指示没有分配给内容资产的展现方案或指示没有展现方案以其它方式与内容资产相关联的标记,则内容资产数据库可以排除返回被标记的本地内容资产。因此,内容资产数据库可以返回本地内容资产(例如,未标记的资产),并且可以排除被标记为未分配给任何展现方案的本地内容资产或没有以其它方式与任何展现方案相关联的本地内容资产。
方法500可以包括数据处理系统110基于展现方案将多个内容组件渲染为渲染的内容文件(方框540)。在一些实施方式中,方法500可以包括数据处理系统110接收所选内容资产的标识符(例如,内容资产模板标识符)和所选内容资产的所选展现方案。方法500可以包括数据处理系统110访问脚本数据库以检索与所选展现方案标识符和所选内容资产相对应的展现方案和内容组件。展现方案可以包括HTML代码、CSS代码或可以修改或影响内容项的展现的其它计算机可执行指令中的一个或多个。在一些实施方式中,脚本数据库存储各种展现方案,每个展现方案可以被分配或具有展现方案标识符。内容资产数据库还可以将每个展现方案分配给一个或多个内容资产模板标识符。这样,方法500可以包括数据处理系统110基于展现方案标识符和/或内容资产模板标识符在脚本数据库中执行查找,并检索对应的展现方案。
在一些实施方式中,方法500可以包括数据处理系统110基于所接收的展现方案和内容组件来渲染内容项。对于自适应大小的内容请求,客户端设备可以通过用所渲染的内容项填充内容项时隙的100%宽度来调整自适应内容项,并然后调整内容项的高度以包括所选内容资产的值。该方法可以包括数据处理系统110将渲染的内容文件发送到客户端设备以进行显示(方框550)。
图6是示出用于计算机系统600的一般体系结构的框图,该计算机系统600可用于实施这里根据一些实施方式描述和示出的系统和方法的元素(包括系统110及其组件,诸如内容请求模块130、内容渲染模块135、以及渲染内容传递模块140或终端用户计算设备125)。计算机系统600可用于经由网络105提供信息以供显示。图6的计算机系统600包括:通信地耦合到存储器625的一个或多个处理器620、一个或多个通信接口605、一个或多个输出设备610(例如,一个或多个显示单元)和一个或多个输入设备615。处理器620可以包括在数据处理系统110中或者系统110的诸如内容请求模块130、内容渲染模块135和渲染内容传递模块140的其它组件中。
在图6的计算机系统600中,存储器625可以包括任何计算机可读存储介质,并且可以存储计算机指令,诸如本文描述的用于实现各个系统的各种功能的处理器可执行指令,连同与其相关、由此生成或经由(多个)通信接口或(多个)输入设备(如果存在)接收的任何数据。再次参考图1的系统110,数据处理系统110可以包括存储器625,以存储与一个或多个内容单元的存储可用性、一个或多个内容单元的预留等有关的信息。存储器625可以包括数据库145。图6所示的(多个)处理器620可以用于执行存储在存储器625中的指令,并且在这样做时,也可以从存储器读取或向存储器写入根据指令的执行所处理和/或生成的各种信息。
图6所示的计算机系统600的处理器620还可以通信地耦合到或控制(多个)通信接口605,以根据指令的执行来发送或接收各种信息。例如,(多个)通信接口605可以耦合到有线或无线网络、总线或其它通信装置,并且因此可以允许计算机系统600向其它设备(例如,其它计算机系统)发送信息或从其接收信息。尽管未在图1的系统中明确示出,但是,一个或多个通信接口便于系统600的组件之间的信息流。在一些实施方式中,(多个)通信接口可以被配置为(例如,经由各种硬件组件或软件组件)提供网站作为到计算机系统600的至少一些方面的访问门户。通信接口605的示例包括用户界面(例如,网页),用户可以通过该用户界面与数据处理系统110通信。
图6中所示的计算机系统600的输出设备610可以被提供为,例如,允许结合指令的执行来查看或以其它方式感知各种信息。例如,可以提供(多个)输入设备615以允许用户在指令执行期间进行手动调整、进行选择、输入数据或以各种方式中的任何一种与处理器进行交互。本文还提供了与可用于本文讨论的各种系统的通用计算机系统架构有关的附加信息。
本文描述的主题和操作可以在数字电子电路中实施、或者在计算机软件、固件或硬件、包括本说明书中公开的结构及其结构等同物、或者它们中的一个或多个的组合中实施。本说明书中描述的主题可以实施为一个或多个计算机程序,例如计算机程序指令的一个或多个模块,其被编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。程序指令可以编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器装置以供数据处理设备执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其它存储设备)中。本说明书中描述的操作可以实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收的数据执行的操作。
对于本文讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供控制可以收集个人信息的程序或特征(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)的机会、或控制是否或如何从内容服务器或可能与用户更相关的其它数据处理系统接收内容的机会。另外,某些数据可以在被存储或使用之前以一种或多种方式匿名化,以便在生成参数时移除个人可标识信息。例如,用户的身份可以是匿名的,以便不能对用户确定个人可标识信息,或者可以在获得位置信息的地方(例如,城市、邮政编码或州级别)概括用户的地理位置,从而无法确定用户的具体位置。因此,用户可以控制如何收集关于他或她的信息以及控制如何由内容服务器使用信息。
术语“数据处理系统”或“计算设备”、“模块”、“引擎”、“组件”或“计算设备”包括用于处理数据的装置、设备和机器,它们包括可编程处理器、计算机、片上系统、或者前述的多个或组合等。这些装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码(例如,构成处理器固件的代码)、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其组合。装置和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算基础结构。内容请求模块130、内容渲染模块135或渲染内容传递模块140可包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也已知为程序、软件、软件应用、应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其它单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序署为在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以通过用于执行一个或多个计算机程序的一个或多个可编程处理器(例如,数据处理系统110的组件)执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
本文描述的主题可以在计算系统中实施,该计算系统包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如,具有用户可以通过其与本说明书中描述的主题的实施方式进行交互的图形用户界面或网络浏览器的客户端计算机),或者包括一个或多个这样的后端组件、中间件组件或前端组件的组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络可以包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,因特网)和对等网络(例如,ad hoc对等网络)等等。
诸如系统100或系统600的计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络(例如,网络105)进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从该用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统110从内容提供者计算设备115接收)。
虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序执行这些操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同的顺序执行。
分离的各个系统组件不需要在在所有实施方式中分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,内容请求模块130、脚本提供者模块135和内容管理模块134可以是单个模块、具有一个或多个处理电路的逻辑设备、或者在线内容项放置系统的一部分。
现在已经描述了一些说明性实施方式,显然前述内容是说明性的而非限制性的。特别地,尽管本文展现的许多实施方式涉及方法动作或系统元件的特定组合,但是那些动作和那些元件可以以其它方式组合以实现相同的目标。结合一个实施方式讨论的动作、元件和特征不旨在从其它实施方式的类似角色中或实施方式中排除。
本文使用的措辞和术语是出于描述的目的,不应被视为限制性的。“包括”、“包含”、“具有”、“含有”、“涉及”、“由……表征”、“特征在于”及其变形的使用,意在囊括其后列出的项、其等同物和附加项、以及由其后排他地列出的项组成替代实施方式。在一个实施方式中,本文描述的系统和方法包括所描述的元件、动作或组件中的一个、多于一个的每个组合或所有的组合。
本文以单数形式提及的对系统和方法的实施方式或元件或动作的任何引用也可以囊括包含多个这些元件的实施方式,并且本文中的任何实施方式或元件或动作的任何复数引用也可以囊括仅包括单个元件的实施方式。单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括其中动作或元件至少部分地基于任何信息、动作或元件的实施方式。
本文公开的任何实施方式可以与任何其它实施方式组合,并且对“实施方式”、“一些实施方式”、“替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是相互排斥的,并且是旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式中。本文使用的这些术语不一定都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含或排他地与任何其它实施方式组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述的术语中的单个、多于一个和所有术语中的任一者。
在附图、具体实施方式或任何权利要求中的技术特征后面附有附图标记的情况下,包括附图标记以增加附图、具体实施方式和权利要求的可理解度。因此,附图标记和它们的缺失都不会对任何权利要求要素的范围产生任何限制作用。
在不脱离其特征的情况下,本文描述的系统和方法可以以其它特定形式实现。前述实施方式是说明性的而非限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述表示,并且落入权利要求的等同物的含义和范围内的变化也包含在其中。
Claims (20)
1.一种用于在服务器侧渲染本地内容以在应用环境内展现的方法,包括:
通过数据处理系统从客户端设备接收对内容的请求,该对内容的请求包括标识通过资源提供的特定内容时隙的内容时隙标识符;
通过数据处理系统使用所述内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境内进行显示的特定配置来布置内容组件以生成所渲染的内容文件;
通过数据处理系统响应于所述对内容的请求来标识包括多个内容组件的内容资产;
通过数据处理系统的内容渲染器基于与内容时隙对应的展现方案将所述多个内容组件渲染为所渲染的内容文件;以及
通过数据处理系统将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。
2.根据权利要求1所述的方法,其中,所述对内容的请求包括所请求内容的大小值。
3.根据权利要求2所述的方法,其中,所述标识展现方案包括:
通过数据处理系统标识多个展现方案,所述展现方案中的每一个包括与所述内容时隙标识符对应的相应展现方案标识符;
通过数据处理系统标识所述多个展现方案的子集,包括在所述子集中的每个展现方案包括与所请求内容的大小值匹配的大小属性;以及
通过数据处理系统从所述多个展现方案的子集中选择所标识的展现方案。
4.根据前述权利要求中任一项所述的方法,其中,所渲染的内容文件包括脚本,该脚本被配置为响应于在客户端设备处与所渲染的内容文件的交互而发送与所渲染的内容文件的交互的指示。
5.根据权利要求4所述的方法,还包括通过数据处理系统向所渲染的内容文件插入从客户端设备向其发送所述交互的指示的服务器的地址。
6.根据前述权利要求中任一项所述的方法,其中,所渲染的内容文件包括被配置为在客户端设备处显示所渲染的内容文件的超文本标记语言(HTML)脚本。
7.根据权利要求6所述的方法,其中,所渲染的内容文件包括被配置为在客户端设备处显示所渲染的内容文件的层叠样式表(CSS)脚本。
8.根据前述权利要求中任一项所述的方法,其中,所述展现方案包括多个样式参数,每个样式参数包括与资源的值匹配的值。
9.根据权利要求8所述的方法,其中,所述样式参数包括要在内容时隙中显示的区段类别、内容时隙的背景颜色、文本的字体大小、文本的位置或图像的位置。
10.根据前述权利要求中任一项所述的方法,其中,所渲染的内容文件的视觉特性与应用环境的视觉特性匹配。
11.一种用于在服务器侧渲染本地内容以在应用环境内展现的的系统,该系统包括:
处理器;和
耦合到该处理器的存储器,该存储器存储计算机可执行指令,当由该处理器执行时,所述指令使得处理器:
从客户端设备接收对内容的请求,该对内容的请求包括标识通过资源提供的特定内容时隙的内容时隙标识符;
使用内容时隙标识符访问数据库以标识展现方案,该展现方案用于根据用于在资源环境内进行显示的特定配置来布置内容组件以生成所渲染的内容文件;
响应于对内容的请求,标识包括多个内容组件的内容资产;
基于与内容时隙对应的展现方案将多个内容组件渲染为所渲染的内容文件;以及
将所渲染的内容文件发送到客户端设备以在资源的内容时隙内显示。
12.根据权利要求11所述的系统,其中,所述对内容的请求包括所请求内容的大小值。
13.根据权利要求12所述的系统,其中,在标识展现方案时,所述存储器存储计算机可执行指令,当由所述处理器执行时,所述指令还使得处理器:
标识多个展现方案,所述展现方案中的每一个包括与内容时隙标识符对应的相应展现方案标识符;
标识所述多个展现方案的子集,包括在所述子集中的每个展现方案包括与所请求内容的大小值匹配的大小属性;以及
从所述多个展现方案的子集中选择所标识的展现方案。
14.根据权利要求11-13中任一项所述的系统,其中,所渲染的内容文件包括脚本,该脚本被配置为响应于在客户端设备处与所渲染的内容文件的交互,发送与所渲染的内容文件的交互的指示。
15.根据权利要求14所述的系统,其中,所述存储器存储计算机可执行指令,当由所述处理器执行时,所述指令还使得所述处理器插入从客户端设备向其发送所述交互的指示的服务器的地址。
16.根据权利要求11-15中任一项所述的系统,其中,所渲染的内容文件包括被配置为在客户端设备处显示所渲染的内容文件的超文本标记语言(HTML)脚本。
17.根据权利要求16所述的系统,其中,所渲染的内容文件包括被配置为在客户端设备处显示所渲染的内容文件的层叠样式表(CSS)脚本。
18.根据权利要求11-17中任一项所述的系统,其中,所述展现方案包括多个样式参数,每个样式参数包括与资源的值匹配的值。
19.根据权利要求18所述的系统,其中,所述样式参数包括要在内容时隙中显示的区段类别、内容时隙的背景颜色、文本的字体大小、文本的位置或图像的位置。
20.根据权利要求11-19中任一项所述的系统,其中,所渲染的内容文件的视觉特性与应用环境的视觉特性匹配。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662440748P | 2016-12-30 | 2016-12-30 | |
US62/440,748 | 2016-12-30 | ||
US15/415,322 US20180191798A1 (en) | 2016-12-30 | 2017-01-25 | Methods and systems for server-side rendering of native content for presentation |
US15/415,322 | 2017-01-25 | ||
PCT/US2017/068736 WO2018126023A1 (en) | 2016-12-30 | 2017-12-28 | Methods and systems for server-side rendering of native content for presentation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109863527A true CN109863527A (zh) | 2019-06-07 |
CN109863527B CN109863527B (zh) | 2023-04-04 |
Family
ID=62709121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780050083.7A Active CN109863527B (zh) | 2016-12-30 | 2017-12-28 | 用于展现的本地内容的服务器侧渲染的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180191798A1 (zh) |
EP (1) | EP3485400B1 (zh) |
JP (1) | JP6761112B2 (zh) |
KR (1) | KR102185864B1 (zh) |
CN (1) | CN109863527B (zh) |
WO (1) | WO2018126023A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763094A (zh) * | 2020-11-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务信息处理方法、装置、服务器、介质和系统 |
CN115039401A (zh) * | 2020-01-30 | 2022-09-09 | 斯纳普公司 | 用于按需渲染帧的视频生成系统 |
US11831937B2 (en) | 2020-01-30 | 2023-11-28 | Snap Inc. | Video generation system to render frames on demand using a fleet of GPUS |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10630751B2 (en) | 2016-12-30 | 2020-04-21 | Google Llc | Sequence dependent data message consolidation in a voice activated computer network environment |
US10956485B2 (en) | 2011-08-31 | 2021-03-23 | Google Llc | Retargeting in a search environment |
US10614153B2 (en) * | 2013-09-30 | 2020-04-07 | Google Llc | Resource size-based content item selection |
US9703757B2 (en) | 2013-09-30 | 2017-07-11 | Google Inc. | Automatically determining a size for a content item for a web page |
US10431209B2 (en) | 2016-12-30 | 2019-10-01 | Google Llc | Feedback controller for data transmissions |
DE212017000015U1 (de) * | 2017-03-03 | 2018-02-27 | Google Llc | Systeme zum Detektieren einer unzweckmässigen Implementierung einer Präsentation von Inhaltselementen durch Anwendungen, die auf Client-Geräten ablaufen |
US10956529B1 (en) * | 2018-03-20 | 2021-03-23 | Pinterest, Inc. | Content presentation |
CN113158100B (zh) * | 2020-01-22 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 页面显示方法和页面显示装置 |
EP4211572A1 (de) * | 2020-09-11 | 2023-07-19 | Jentis GmbH | Verfahren zur nachverfolgung von benutzerinteraktionen mit webseiten |
KR102455521B1 (ko) * | 2020-11-20 | 2022-10-14 | 경희대학교 산학협력단 | 의료 데이터에 대한 즉각 의미 조정 장치 및 그 방법과, 그 장치에서의 스키마 맵 생성 방법 |
US11223670B1 (en) * | 2020-12-10 | 2022-01-11 | Ebay Inc. | Multi request asynchronous delegation for enhanced performance |
CN112800370B (zh) * | 2021-01-28 | 2024-04-30 | 金蝶蝶金云计算有限公司 | 业务单据的处理方法、装置、计算机设备和存储介质 |
US11977927B2 (en) * | 2021-04-29 | 2024-05-07 | International Business Machines Corporation | Deploying dynamic applications and infrastructure according to metadata assigned by content |
CN116028697B (zh) * | 2023-03-20 | 2023-07-04 | 之江实验室 | 一种页面渲染方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090063619A1 (en) * | 2007-08-29 | 2009-03-05 | Yahoo! Inc. | Module Hosting and Content Generation Platform |
CN101523386A (zh) * | 2006-09-29 | 2009-09-02 | 雅虎公司 | 用于针对远程设备渲染内容的平台 |
CN104572822A (zh) * | 2014-12-04 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 文本展现方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5186047B2 (ja) * | 2009-11-30 | 2013-04-17 | 楽天株式会社 | オブジェクト表示装置、オブジェクト表示方法、オブジェクト表示制御プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US10289661B2 (en) * | 2012-09-12 | 2019-05-14 | Flipboard, Inc. | Generating a cover for a section of a digital magazine |
US9442912B1 (en) * | 2012-09-26 | 2016-09-13 | Google Inc. | Estimating the number of content items to fill an online space before distributing the content items to the online space |
US20160344831A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Proxy service for content requests |
-
2017
- 2017-01-25 US US15/415,322 patent/US20180191798A1/en not_active Abandoned
- 2017-12-28 JP JP2019508244A patent/JP6761112B2/ja active Active
- 2017-12-28 CN CN201780050083.7A patent/CN109863527B/zh active Active
- 2017-12-28 WO PCT/US2017/068736 patent/WO2018126023A1/en unknown
- 2017-12-28 KR KR1020197007045A patent/KR102185864B1/ko active IP Right Grant
- 2017-12-28 EP EP17835911.3A patent/EP3485400B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523386A (zh) * | 2006-09-29 | 2009-09-02 | 雅虎公司 | 用于针对远程设备渲染内容的平台 |
US20090063619A1 (en) * | 2007-08-29 | 2009-03-05 | Yahoo! Inc. | Module Hosting and Content Generation Platform |
CN104572822A (zh) * | 2014-12-04 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 文本展现方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115039401A (zh) * | 2020-01-30 | 2022-09-09 | 斯纳普公司 | 用于按需渲染帧的视频生成系统 |
US11831937B2 (en) | 2020-01-30 | 2023-11-28 | Snap Inc. | Video generation system to render frames on demand using a fleet of GPUS |
CN115039401B (zh) * | 2020-01-30 | 2024-01-26 | 斯纳普公司 | 用于按需渲染帧的视频生成系统 |
CN113763094A (zh) * | 2020-11-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务信息处理方法、装置、服务器、介质和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018126023A1 (en) | 2018-07-05 |
CN109863527B (zh) | 2023-04-04 |
KR20190039230A (ko) | 2019-04-10 |
EP3485400B1 (en) | 2021-12-01 |
JP6761112B2 (ja) | 2020-09-23 |
JP2019530921A (ja) | 2019-10-24 |
US20180191798A1 (en) | 2018-07-05 |
KR102185864B1 (ko) | 2020-12-02 |
EP3485400A1 (en) | 2019-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109863527A (zh) | 用于展现的本地内容的服务器侧渲染的方法和系统 | |
US9654586B2 (en) | Resource server providing a rapidly changing resource | |
US9495429B2 (en) | Automatic synthesis and presentation of OLAP cubes from semantically enriched data sources | |
US9456038B2 (en) | Session table framework | |
US8312170B2 (en) | Method and apparatus for managing a collection of portlets in a portal server | |
CN100492354C (zh) | 传递用户会话信息的门户服务器系统和方法 | |
US10083247B2 (en) | Generating state-driven role-based landing pages | |
JP2019505936A (ja) | 人工ニューラルネットワークを使用したウェブインタフェースの生成及びテスト | |
WO2018102764A1 (en) | Page information personalization method, apparatus and system | |
US20060235935A1 (en) | Method and apparatus for using business rules or user roles for selecting portlets in a web portal | |
CN104025084B (zh) | 历史浏览会话管理 | |
JP2009531793A (ja) | ウェブコミュニティおよびウェブアプリケーションのデータを変換するシステムおよび方法 | |
CN101802773A (zh) | 对搜索结果的定制 | |
CN103034690A (zh) | 一种基于web服务的移动客户端应用程序自定制方法 | |
US20200226615A1 (en) | Customer service representative dashboard application | |
CN110019835A (zh) | 资源编排方法、装置以及电子设备 | |
CN107924413A (zh) | 分叉搜索 | |
CN104956289A (zh) | 使用标签技术的用于基于服务的社交网络的系统和方法 | |
CN104769624A (zh) | 基于实体的广告定向 | |
CN109885780A (zh) | 数据处理方法及装置 | |
KR20010091448A (ko) | 홈페이지 작성시스템, 홈페이지 자동 변환방법, 프로그램기록매체 및 홈페이지 뷰잉 차별화방법 | |
EP2395468A1 (en) | Semantic user interface data assembling | |
Zhang | 2-Tier Cloud Architecture with maximized RIA and SimpleDB via minimized REST | |
US9886435B2 (en) | Pseudo internal numbering mechanism | |
CN113608737A (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 |