资源上单个样式定义标识符的条件解释的制作方法

文档序号:23678153发布日期:2021-01-23 09:05阅读:105来源:国知局
资源上单个样式定义标识符的条件解释的制作方法
资源上单个样式定义标识符的条件解释


背景技术:

[0001]
本说明书涉及数据处理和有条件地解释同一页面内的单个样式定义。
[0002]
用户可以访问由发布方(例如,搜索引擎、社交媒体平台、新闻平台、数据聚合器平台等)提供的内容页面上的内容(例如,新闻、音乐、社交媒体)。内容页面上的内容可以由发布方提供,或者由存储第三方内容的一个或多个内容源提供。该第三方内容被提供以用于在发布方的内容页面上的第三方内容块中呈现。发布方可以控制在内容页面上呈现的其自己的内容的类型和性质,但是它通常不能控制被提供以用于在第三方内容块中呈现的第三方内容的类型和性质。例如,访问限制可以阻止发布方修改第三方内容块中呈现的第三方内容。


技术实现要素:

[0003]
一般地,本说明书中描述的主题的一个创新方面可以体现在包括以下操作的方法中:接收对在由发布方提供的内容页面上的第三方内容块中呈现第三方内容的请求,其中第三方内容由不同于发布方的实体提供;从内容页面获得单个样式标识符和一个或多个属性;在接收到该请求之后,从存储第三方内容的内容源中选择第三方内容项;使用单个样式标识符和所述一个或多个属性,从为内容页面上的相应的多个第三方内容块指定不同样式的多个规则中,识别第一规则,该第一规则指定为选择用于在第三方内容块中呈现的内容选择的样式参数集;根据第一规则中指定的样式参数集来格式化第三方内容项;以及提供第三方内容项以在内容页面的第三方内容块内呈现。该方面的其他实施例包括被配置为执行该方法的动作的对应系统、设备、装置和计算机程序。计算机程序(例如,指令)可以在计算机存储设备上被编码。这些和其他实施例可以各自可选地包括一个或多个以下特征。
[0004]
在一些实施方式中,所述一个或多个属性可以包括用户代理、浏览器屏幕大小、第三方内容块名称或设备类型。
[0005]
这些方法可以包括以下操作:修改第一规则中指定的样式参数集;并且其中根据第一规则中指定的样式参数集来格式化第三方内容项包括响应于接收到单个样式标识符,使用修改的、第一规则中指定的样式参数集来格式化第三方内容项。
[0006]
该方法可以包括以下操作:确定在第三方内容块内呈现的第三方内容项的用户活动量;响应于用户活动量,修改第一规则中指定的样式参数集;响应于接收到单个样式标识符,使用修改的、第一规则中指定的样式参数集来格式化第三方内容项;以及在使用修改的样式参数集格式化第三方内容项之后,提供第三方内容项以在内容页面的第三方内容块内呈现。
[0007]
该方法可以包括以下操作:从内容页面获得一个或多个样式参数集,其中每个样式参数集指定内容要被格式化以用于在一个或多个第三方内容块中呈现的方式;对于一个或多个样式参数的每个样式参数集,生成包括该样式参数集的规则;以及将每个生成的规则作为单个样式标识符的规则与所述多个规则一起存储。
[0008]
在一些实施方式中,第一规则中指定的样式参数集可以由发布方选择。
[0009]
在一些实施方式中,样式参数至少包括适用于第三方内容的最大字符数、字体颜色、字体类型、字体大小、方向或边框。
[0010]
在一些实施方式中,第三方内容块包括嵌入在内容页面中的可嵌入显示元素。
[0011]
本说明书中描述的主题的特定实施例可以被实施以实现一个或多个以下优点。例如,本说明书中描述的创新为发布方提供在不修改内容页面的情况下为发布方的内容页面上的不同第三方内容块指定和/或修改样式(例如,格式化信息)的便利和灵活方式。传统地,发布方必须编写代码(例如,或层叠样式表)来指定由发布方提供的内容页面的第三方内容块中的内容样式(即,内容被呈现的方式)。如果发布方想要改变第三方内容块的样式,发布方必须重写或修改该块的对应代码。使用本说明书中描述的创新,发布方可以向内容管理系统指定不同第三方内容块和/或设备的样式,而不用修改页面上的代码。该内容管理系统使用由发布方选择的这些样式来自动格式化第三方内容,然后在内容页面上的适当的第三方内容块中内呈现该格式化的内容。如果发布方想要随后修改一个或多个第三方内容块的样式,则其不必像传统解决方案那样重写或修改内容页面上的代码。相反,本说明书中描述的创新使得发布方能够修改由内容管理系统维护的样式信息。这又使得内容管理系统随后使用修改的样式信息格式化内容并在适当的第三方内容块内呈现该内容。
[0012]
本说明书中描述的创新还使得发布方的内容页面的操作者几乎不需要或根本没有编码知识,就能够修改内容页面上的第三方内容块的样式信息。如本说明书中所述,内容管理系统存储不同类型的样式参数(例如,字体大小、颜色、边框、方向等)并提供具有用户输入栏(例如,文本框、下拉菜单、复选框等)的前端界面,在前端界面中,操作员可以为这些不同的样式参数指定或选择所需的值。使用操作者的选择,内容管理系统可以生成适当的代码来格式化第三方内容项,并且在内容页面上的适当的第三方内容块内呈现该格式化的内容项。
[0013]
本说明书中描述的创新进一步使得能够使用单个样式标识符来为不同的内容块和/或设备指定多个不同的样式规则。在内容页面内包括单个样式标识符的现有技术解决方案仅将该样式标识符与单个样式参数集相关联。作为结果,这些现有技术解决方案使用相同的样式参数集生成内容以用于在所有内容块和设备中呈现。本说明书中描述的创新利用单个样式标识符,但是与现有技术解决方案不同,该样式标识符对应于不同第三方内容块和设备的不同样式参数。这使得发布方可以灵活地为不同的第三方内容块和不同的设备提供不同的样式/格式。例如,单个样式标识符可以被嵌入到内容页面中,并且该单个样式标识符可以在内容页面的每次呈现时被动态地解释,以便根据内容页面的特定呈现的上下文来确定和/或修改在页面上呈现的第三方内容的视觉外观。更具体地,单个样式标识符启动一个过程,其中通过该过程确定内容页面的呈现的上下文,并用于有条件地选择将用于在内容页面中定义的每个不同的第三方内容块中呈现的内容的特定样式。这提供了相对于传统系统更灵活的样式解决方案,并允许内容页面的发布方修改第三方内容在内容页面上的显示方式,而不用访问将要呈现的第三方内容。
[0014]
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得明显。
附图说明
[0015]
图1是其中内容被分发用于呈现的示例环境的框图。
[0016]
图2是示出由内容管理系统在格式化第三方内容项并提供这些项以用于在发布方的内容页面上的第三方内容块中呈现时所执行的操作的框图。
[0017]
图3是示出内容管理系统基于内容被呈现的上下文和由发布方指定的规则不同地格式化第三方内容项的框图。
[0018]
图4是用于格式化第三方内容项并呈现这些项以用于在发布方的内容页面上的第三方内容块中呈现的示例过程的流程图。
[0019]
图5是示例计算机系统的框图。
[0020]
不同附图中相同的附图标号和名称表示相同的元件。
具体实施方式
[0021]
本说明书涉及增强支持第三方内容样式的系统。如下面更详细讨论的,不同的样式(或格式化(formatting))可以由内容页面的发布方指定,并将其应用于被选择用于在内容页面内的不同第三方内容块中呈现的第三方内容。
[0022]
发布方的内容页面可以包括第三方内容被呈现的一个或多个第三方内容块。这些第三方内容块通常在内容页面被呈现给用户时被填充,使得内容页面的每个呈现可能包括第三方内容的不同组合。如下面进一步描述的,并且在整个说明书中详细描述的,发布方可以选择不同的样式规则来用于呈现不同的第三方内容块中的内容。作为结果,当用户访问发布方的内容页面时,在这些第三方内容块中呈现的第三方内容根据由发布方指定的规则和内容被呈现的上下文而被不同地格式化。如整个本文档所使用的,使用各种属性来定义内容被呈现的上下文,这些属性包括正在呈现内容的设备的类型、哪个第三方内容块将呈现内容、内容正被呈现的一天中的时间、正在呈现内容的设备的地理位置、正被呈现内容的用户的属性、正被用于呈现内容的浏览器的类型或其他适当的属性中的一个或多个。
[0023]
内容被呈现的上下文可以基于从对第三方内容的请求中收集的信息来确定。如下面更详细描述的,当用户在用户设备上访问发布方的内容页面时,内容页面上的脚本执行并生成对第三方内容块的第三方内容的请求。该脚本还可以收集被包括在内容页面中的样式标识符以及一个或多个属性(例如,设备类型、用户代理类型、屏幕大小等)。样式标识符和所述一个或多个属性通常包括在请求中。用户设备将该请求发送到内容管理系统。
[0024]
在接收到请求时,内容管理系统从存储第三方内容的一个或多个内容源中选择一个或多个第三方内容项。
[0025]
内容管理系统还使用存储特定内容页面的样式规则的数据结构来识别适当的样式规则以格式化第三内容项。特别地,该数据结构可以包括与不同内容页面相关联的样式标识符,并且对于每个样式标识符,该数据结构可以包括由发布方选择的(或者由内容管理系统默认提供的)一个或多个样式规则以及对应的样式参数集(例如,字体颜色、字体大小、方向、边框等)。根据该数据结构,内容管理系统识别与包括在用户请求中的样式标识符相对应的样式规则。从与样式标识符相关联的这些样式规则当中,内容管理系统基于从用户设备接收的请求中包括的一个或多个属性来识别一个或多个样式规则。例如,用户请求中的属性可以包括在内容页面中定义的第三方内容块(例如,顶部块(top block)和底部块
(bottom block))的名称,并且内容管理系统可以使用该信息来找到应用于具有相同或相似名称的内容块的样式规则(如下面进一步描述的)。
[0026]
内容管理系统使用与识别到的样式规则相关联的样式参数来格式化所选择的第三方内容项,然后提供这些格式化的第三方内容项以用于在发布方的内容页面上呈现。在上述示例中,内容管理系统可以为顶部块提供使用一个样式参数集格式化的可嵌入显示元素(如下文进一步描述的),并为底部块提供使用单独的样式参数集的单独的嵌入显示元素。如此以来,嵌入在页面中的单个样式标识符可以被用于根据将呈现被选择用于呈现的内容的第三方内容块来应用不同类型的样式/格式,而不要求不同的样式定义被嵌入到每个不同的第三方内容块的内容页面中。
[0027]
下面参考图1-图4更详细地描述这些特征和附加特征。为简洁起见,第三方内容块也称为内容块。
[0028]
图1是内容被分发用于呈现的示例环境100的框图。示例环境100包括网络108,诸如局域网(local area network,lan)、广域网(wide area network,wan)、互联网或其组合。网络108连接用户设备102、内容源104、发布方106和内容管理系统110。示例环境100可以包括许多不同的用户设备102、内容源104、发布方106和内容管理系统110。
[0029]
用户设备102是能够通过网络108请求和接收内容的电子设备。示例用户设备102包括个人计算机、移动通信设备、数字助理设备以及能够通过网络108发送和接收数据的其他设备。用户设备102通常包括诸如网络浏览器的用户应用,以便于通过网络108发送和接收数据,但是由用户设备102运行的本机应用也可以便于通过网络108发送和接收内容。如本说明书中所使用的,内容是指各种类型的基于网络的和/或以其他方式呈现的信息,诸如文章、讨论线索、报告、分析、财务报表、音乐、视频、图形、搜索结果、网页列表、信息源(例如,rss源)、电视广播、无线电广播、印刷出版物等。
[0030]
发布方106是通过提供例如用户设备102可以通过网络108访问的一个或多个内容页面来分发内容的计算平台。示例发布方106包括新闻网站、内容网站、社交媒体平台、数据聚合平台或其他内容共享平台。每个发布方106可以由内容发布服务提供商操作。
[0031]
发布方106可以在其(多个)内容页面上发布其自己的内容。例如,发布方106可以是发布其自己的新闻文章的新闻平台。发布方106还可以在其内容页面上呈现由内容管理系统(content management system,cms)110提供的第三方内容,内容管理系统110进而从一个或多个内容源104获得该内容。如本说明书中所使用的,第三方内容是指由第三方(即除了发布方106之外的实体)提供的内容。
[0032]
cms 110是可以包括一个或多个后端服务器的计算平台,该后端服务器向发布方106和内容源104提供各种服务。cms 110存储、管理和/或提供存储在服务器上并以编程方式检索的内容和其他类型的材料。cms 110可以通过一个或多个前端界面使这些服务对发布方106和内容源104可用。在一些示例中,前端界面可以被配置为向用户提供对由cms 110提供的特征的访问的网络应用。
[0033]
cms 110响应于从用户设备102接收的内容请求来选择第三方内容。在一些实施方式中,当用户设备102的用户访问由发布方106提供的内容页面时,内容页面上的脚本可以执行以向cms 110请求第三方内容。在一些实施方式中,用户设备102的用户可以例如使用发布方106的内容页面上由搜索引擎提供的搜索框来请求第三方内容。
[0034]
在从用户设备102接收到对第三方内容的请求时,cms 110响应于该请求选择内容。在一些实施方式中,cms 110基于发布方106的内容页面上的内容来识别相关的第三方内容。例如,cms 110可以例如从用户设备102接收内容页面的url(uniform resource locator,统一资源定位符),并且识别与url相关联的被索引的内容关键词。cms 110可以对照包括存储在内容源104中的内容的列表和与列表上的每个内容项相关联的关键词来交叉引用被索引的内容关键词。作为另一示例,cms 110可以使用内容页面中的内容关键词和/或其他内容来识别由一个或多个内容源104存储的第三方内容。cms 110通过将发布方106的内容页面中的内容关键词与由cms 110维护的与存储在列表中的第三方内容相关联的关键词/索引进行匹配来识别内容。作为又一示例,从用户设备102接收的第三方内容请求可以例如通过提供某些关键词具体地识别第三方内容的类型,cms 110可以对照上述引用列表来交叉引用这些关键词,以识别由一个或多个内容源104存储的适当内容。
[0035]
一旦cms 110识别出适当的第三方内容项,它就从存储这些内容项的适当内容源104请求该内容。作为响应,内容源104提供一个或多个第三方内容项。如图1所示,cms 110与内容源104是分开的。
[0036]
在从内容源104接收到这些第三方内容项时,cms 110可以使用一个或多个样式参数集来格式化这些内容项中的每一个,如参考图2进一步描述的。
[0037]
如图1所示,内容源104可以是与cms 110分开的数据处理装置,并且各自可以由不同的实体管理/维护。在其他实施方式中,cms 110可以包括一个或多个内容源104,所有这些内容源可以由同一实体管理/维护。在这样的实施方式中,当cms 110选择适当的第三方内容项时,它从它自己的内容源104中检索这些第三方内容项(而不是必须通过网络108从单独的内容源104请求内容)。
[0038]
在一些实施方式中,cms 110可以识别第三方内容和要应用于第三方内容的样式参数,然后简单地向用户设备102发送将该信息传达给用户设备102的响应。例如,cms 110可以生成对内容请求的回复,该回复包括可以在其处获得识别到的第三方内容的一个或多个url以及识别要应用于每个第三方内容的样式参数的信息。当用户设备102接收到回复时,用户设备102可以发起对从一个或多个url获得识别到的第三方内容的请求,并且按照指示将样式参数应用于内容块。以下描述涉及cms 110根据样式参数执行格式化,但是应当理解,这种格式化可以在用户设备102处执行。
[0039]
图2是示出了由内容管理系统110在格式化第三方内容项并提供这些项以用于在发布方的内容页面上的第三方内容块中呈现时所执行的操作的框图。
[0040]
如图2所示,用户设备102的用户通过网络108访问由发布方106提供的内容页面220。内容页面220包括由发布方106提供的内容(其在发布方内容块222-a和222-b中呈现)、以及第三方内容(其在第三方内容块224-a和224-b中呈现)。
[0041]
在一些实施方式中,第三方内容块224-a和224-b中的内容可以使用可嵌入显示元素来提供,诸如html(hypertext markup language,超文本标记语言)i框架(内联框架)。如本说明书中所使用的,可嵌入显示元素是指例如可以嵌入某一位置(例如,发布方106的内容页面220)的任何元素,该位置允许来自外部源(例如,内容源104)的第三方内容在该位置显示。如下所述,cms 110可以使用可嵌入显示元素来提供第三方内容,以用于与发布方的内容一起显示在内容页面220上。
[0042]
第三方内容块224-a和224-b内呈现的第三方内容可以包括任何类型的媒体,包括新闻、视频、音频、广告等。在这些第三方内容块224-a和224-b中呈现的内容由第三方(即除了发布方106之外的实体)提供,并且发布方106不控制在这些块中呈现的内容的类型。然而,如下所述,发布方106可以控制这些块内的第三方内容的样式/格式。
[0043]
在一些实施方式中,当用户在用户设备102上访问内容页面220时,内容页面220上的脚本生成对第三方内容块224-a和224-b的第三方内容的请求202。用户设备102发送请求202,并且cms 110接收请求202。
[0044]
在一些实施方式中,脚本识别内容页面220和/或用户设备102的样式标识符226和一个或多个属性,并且将该信息包括在请求202中。在一些实施方式中,脚本收集包括在内容页面220内(例如,包括在内容页面220的元数据中)的样式标识符226。在一些实施方式中,脚本还从内容页面、呈现内容页面的应用(例如,浏览器)或从环境的其他方面(例如,从请求的网络连接收集的数据,诸如ip地址)识别一个或多个属性(在本说明书中也称为信号)。如在本说明书中所使用的,属性或信号提供关于用户环境和/或应用上的用户活动的信息。例如,脚本可以收集属性,诸如用户代理或应用(例如,浏览器、本机应用)、屏幕大小、第三方内容容器或块(例如,在页面结构中已经被识别用于呈现第三方内容的页面部分)、设备类型(例如,移动设备或台式机)和地理位置信息(例如,ip地址、语言设置等)。
[0045]
该脚本在请求202内包括样式标识符和识别到的属性,样式标识符和识别到的属性中的每一个都可以作为单独的标签被包括在请求中。例如,样式标识符可以被包括在请求中包括的“样式id”标签内,并且第三方名称可以被包括在请求中包括的“第三方块(third party block)”标签中。
[0046]
在一些实施方式中,在接收到请求202时,cms 110获得包括在请求202内的样式标识符和一个或多个属性。cms 110通过在请求内搜索与该信息相对应的标签,并从请求中提取该信息来获得该信息。例如,如果使用“样式id”标签将样式标识符包括在请求202内,则cms 110在请求202内搜索“样式id”标签以获得对应的样式标识符。类似地,如果请求202在“第三方块”标签内包括第三方名称,则cms 110可以在请求202内搜索该标签以识别对应的第三方块名称。
[0047]
可替换地,在一些实施方式中,脚本不收集样式标识符和一个或多个属性,或者不将样式标识符和一个或多个属性包括在请求202中。在这样的实施方式中,在接收到请求202时,cms 110可以向用户设备102发送另一请求,以提供样式标识符和一个或多个属性。作为响应,相同的脚本或另一脚本收集该信息(以上述相同的方式),并在单独的消息中将其提供给cms 110。
[0048]
在接收到请求202(以及在一些情况下,该请求202包括样式标识符和一个或多个属性的附加消息)时,cms 110选择适当的第三方内容项来响应于该请求而提供,如上文参考图1所述。因此,如上参考图1所述,cms 110可以识别适当的第三方内容,并通过向存储该内容的一个或多个内容源104发送一个或多个内容请求204来请求该内容。作为响应,这些内容源104向cms 110提供所请求的第三方内容项。可替换地,如上参考图1所述,cms 110从包括在cms 110内的一个或多个内容源104中检索该内容。
[0049]
除了从内容源104检索适当的第三方内容项之外,cms 110还识别样式参数集,该样式参数集指定对每个内容项的格式化,如下面进一步描述的。
[0050]
cms 110包括数据结构208,该数据结构208存储样式标识符和对应的规则,这些规则包括对于不同条件的样式参数集。如数据结构208所示,样式id 10包括三个规则:移动设备、顶部块和底部块。如在本说明书中所使用的,样式标识符或样式id是内容页面中存在的用于标识指定如何格式化内容的规则集合的标识符。样式标识符可以使用例如数字、字母和/或标点符号来表示。特定样式标识符的每个规则包括(例如,一个或多个)样式参数集。如在本说明书中所使用的,样式参数是一种格式化特征,它描述了内容页面上的内容的特定格式化类型。样式参数的示例包括大小(例如,最大字符数)、形状、颜色、字体、边框和呈现样式(例如,音频、视频、图形、文本等)。如数据结构208所示,与样式id 10相关联的每个规则包括样式参数集,诸如字体颜色、字体类型、字体大小、方向和边框。
[0051]
对于每个样式标识符,发布方106可以使用cms 110的特定于发布方的前端界面来选择规则和对应的样式参数。内容管理系统存储不同类型的样式参数(例如,字体大小、字体类型、字体颜色、边框、方向等)并提供具有用户输入栏(例如,文本框、下拉菜单、复选框等)的前端界面,其中发布方服务提供商或另一操作者可以为这些不同的样式参数指定或选择所需的值。使用操作者的选择,内容管理系统可以生成适当的代码,例如,html、json、css或其他等效的网络或应用技术,以格式化第三方内容项,并在内容页面上的适当的第三方内容块内呈现该格式化的内容项。类似地,内容管理系统110还可以生成适当的代码来格式化第三方内容,以便在不同于网络技术的不同台式设备和移动设备上运行的应用内呈现。
[0052]
在一些实施方式中,由发布方指定的规则操作为应用一个或多个样式参数集的条件。例如,发布方106的操作者可以使用前端界面来生成指定用于在移动设备上格式化内容的样式参数的规则。在该示例中,仅当(例如,在从用户设备接收的请求中指定的)内容呈现的上下文指示内容将在移动设备上呈现时,才应用在该规则内指定的任何样式参数。
[0053]
如果不满足规则的条件,则将不应用该规则的样式参数。继续上面的示例,如果请求指定将呈现内容的设备类型是台式机,而不是移动设备,则不应用为移动设备规则指定的样式参数。然而,如果样式标识符也具有以设备类型为“台式机”为条件的不同的样式参数集,则该不同的样式参数集将有资格格式化所选择的第三方内容。
[0054]
在每个设备类型(或其他上下文条件)样式定义内,发布方106还可以使用前端界面来为内容页面的每个第三方内容块生成单独的格式化规则。例如,如果内容页面包括在页面结构中被标识为“底部块”和“顶部块”的两个内容块,则发布方可以为每个块创建单独的规则。这些生成的规则然后可以被存储在由cms 110维护的数据结构208中。以这种方式,发布方106可以为这些内容块中的每一个指定不同的格式。
[0055]
在一些实施方式中,每个内容块可以具有为每个设备类型定义的不同的样式参数集或者第三方内容的样式所依据的任何其他条件属性。例如,上面讨论的“底部块”可以具有为在设备类型为“移动设备”时使用而定义的一个样式参数集,以及为在设备类型为“台式机”时使用而定义的完全不同(或部分修改)的样式参数集。类似地,样式参数可以基于每个地理区域、一天中的每个时间、每个用户类型或任何其他上下文来不同地定义。事实上,多个不同的条件(诸如设备类型和地理区域)可以被用于决定(condition)特定的样式参数集的应用,使得发布方106可以创建许多不同的条件(conditional)样式参数集,这些条件参数集可以根据内容呈现的上下文来应用。此外,所有这些不同的条件样式参数可以使用
包括在页面中的单个样式标识符来应用,并且条件样式参数可以在任何时间被改变以调整第三方内容的格式,而不用改变内容页面的代码。
[0056]
在一些实施方式中,cms 110可以包括其自己的默认规则和对应的样式参数的集合。发布方106可以使用cms 110的前端界面来使用、修改、添加和/或删除这些规则。
[0057]
如上所述,cms 110接收样式标识符和一个或多个属性以及请求202。cms 110使用样式标识符和所述一个或多个属性来从数据结构208中识别适当的规则和对应的样式参数。cms 110首先使用样式标识符来识别由发布方106提供的特定内容页面的规则集合。例如,如果请求202包括样式id 10,则cms 110在数据结构208中搜索该样式标识符。在数据结构208中发现对样式id 10的匹配时,cms 110识别数据结构208中所示的该样式标识符的三个规则(移动设备、顶部块、底部块)。
[0058]
根据这些规则,cms 110使用包括在请求202中的一个或多个属性来识别一个或多个规则。在一些实施方式中,cms 110通过寻找规则名称和一个或多个属性之间的匹配来识别规则。例如,从页面结构中提取的属性之一可以是第三方内容块的名称,在该示例中是顶部块。cms 110在识别到的规则中搜索并识别“顶部块”。在一些实施方式中,cms 110可以使用单个属性或属性的组合来进行推断,然后可以将其与识别到的规则进行比较。cms 110可以包括基于规则的引擎,该引擎可以使用一个或多个属性来得出这些类型的推断。可替换地,cms 110可以使用人工智能技术(诸如例如使用一个或多个属性的多个集合的一组推断来训练的有监督或无监督的机器学习模型)进行这样的推断。例如,使用基于规则的技术或机器学习技术,cms 110可以确定使用特定浏览器的5英寸屏幕暗示用户设备102是移动设备。cms 110在数据结构208中的样式id 10的规则中搜索并识别“移动设备”。
[0059]
cms 110获得与每个识别到的规则相关联的样式参数集,并使用这些样式参数来格式化接收到的第三方内容项。例如,如果识别到的规则是底部块,则cms 110使用与(在数据结构208中的)该规则相对应的样式参数集来格式化该数据。因此,在该示例中,cms 110将第三方内容项格式化为横向,内容块的字体大小为12,红色边框。如上所述,cms 110还可以向用户设备102发送指令,该指令使得用户设备102根据适当的样式参数来格式化第三方内容。
[0060]
然后,cms 110提供该格式化内容,以用于在内容页面220的适当的第三方内容块224-a和224-b中呈现。在一些实施方式中,cms 110将格式化的内容作为可嵌入的显示元素提供给用户设备102。例如,如果cms 110使用与(在数据结构208中的)底部块规则相对应的样式参数来格式化接收到的第三方内容,则它然后提供格式化的第三方内容项210,以用于在内容页面220上与底部块相对应的位置处作为可嵌入显示元素来呈现。
[0061]
在一些实施方式中,发布方106可以改变与现有规则相对应的样式参数集。例如,对于数据结构208中的顶部块规则,发布方106可以使用cms 110的前端界面将字体大小从8修改为12。作为结果,当用户随后访问内容页面220时,cms 110为第三方内容块224-b提供与顶部块规则相对应的可嵌入显示元素,其中内容根据更新的规则被格式化。
[0062]
在一些实施方式中,cms 110提供前端界面,该前端界面允许发布方106监视关于内容页面220上的特定第三方内容块的用户活动。如在该说明书中使用的,用户活动是指用户和第三方内容块之间的任何交互。用户活动的示例包括用户在第三方内容块上的点击或手指触摸以及第三方内容块的观看时间。响应于用户活动,发布方106可以修改与特定第三
方内容块相对应的规则的样式参数集(如上所述)。例如,如果用户活动没有发布方106期望的高,则发布方106可以更改样式参数以评估这是否影响用户活动。因此,当用户随后访问内容页面220时,cms 110根据更新的样式参数来格式化第三方内容,然后在提供给用户设备102的与特定第三方内容块相对应的可嵌入显示元素中呈现该格式化的内容。以这种方式,发布方106可以快速修改特定内容块的样式,并基于这种修改来辨别用户活动的影响。这允许发布方定制内容块的样式,以最大化该块的用户活动。
[0063]
在一些实施方式中,如本说明书中所述,cms 110可以便于将旧有(legacy)内容页面内指定的样式参数迁移到由cms 110存储的规则和对应的样式参数。通常,内容页面包括在这些页面的代码内包括的一个或多个样式,例如,作为反映各种样式参数(例如,大小、字体、颜色、广告数量、显示格式等)的参数。对于这样的页面,cms 110请求该页面内的嵌入代码,该嵌入代码从在该内容页面上执行的脚本中被收集并提供给cms 110。cms 110解析该代码以识别代码中每个样式参数集所涉及的样式参数和对应的第三方内容块。例如,cms 110可以通过搜索可以与请求202一起提供的这些块的名称来识别与特定第三方内容块相对应的代码部分。对于与特定内容块相对应的每一段代码,cms 110在代码中搜索与不同已知样式参数(例如,字体、颜色、大小、表格等)相对应的标签。cms 110为与特定内容块相关联的每个样式参数集生成单独的规则。cms 110存储这些单独规则中的每一个和对应的样式参数集以及内容页面220的样式标识符。
[0064]
内容页面的样式标识符可能已经存在于内容页面上,在这种情况下,它可以与代码一起被提供给cms 110(如上所述)。在某些情况下,旧有内容页面可能不包括样式标识符。在这种情况下,cms 110生成内容页面的样式标识符,然后将该样式标识符提供给内容页面的发布方106以包括在内容页面中。
[0065]
图3是示出cms 110基于内容被呈现的上下文和由发布方指定的规则不同地格式化第三方内容项的框图。
[0066]
如图3所示,cms 110可以从不同类型的用户设备102(诸如台式机302和移动设备304)接收对第三方内容的请求(类似于上面参考图2描述的请求202)。当这些相应设备的用户访问内容页面306(例如,相同的内容页面)时,生成每个内容请求。
[0067]
每个请求还包括设备的用户正在访问的内容页面的样式标识符、以及定义将在其中呈现所请求的第三方内容的上下文的属性(如上参考图2所述)。在图3的示例框图中,来自台式机302的请求包括样式标识符10。来自台式机302的请求还包括属性,诸如例如,指定用户正在使用台式机设备的设备类型属性和指定页面上的内容块的名称的第三方内容块名称(cb1、cb2、cb3)。类似地,来自移动设备304的请求包括样式标识符10,即在来自台式机302的请求中接收到的相同样式标识符。来自移动设备304的请求还包括属性,诸如例如,指定用户正在使用移动设备的设备类型属性和指定页面上的内容块的名称的第三方内容块名称(cb1、cb2、cb3)。
[0068]
如上参考图2所述,响应于这些请求,cms从内容源104中选择第三方内容。
[0069]
cms 110接下来确定对要在内容页面上的第三方内容块中呈现的所选择的第三方内容的适当格式化。参考图2详细描述了选择适当的样式规则及其对应的样式参数的方式。为简洁起见,下面仅描述这些操作的简要版本。
[0070]
在图3的示例框图中,cms 110使用包括在每个请求中的样式标识符10来从数据结
构308中识别两个规则——移动设备和台式机,这两个规则已经由发布方106为内容页面306指定。然后,使用请求中包括的指定第三方内容块名称的属性,cms 110使用数据结构308识别适当的规则和对应的样式参数。
[0071]
关于来自台式机302的请求,设备类型属性是台式机,因此,cms 110选择数据结构308中所示的台式机样式规则。更具体地,cms 110可以将请求中的设备类型属性与每个规则条件进行比较,以确定哪个规则适用于该请求。在该示例中,来自台式机302的请求指定设备类型是“台式机”,使得该请求中的设备类型将满足台式机规则的条件(其要求设备类型=台式机),但是将不满足移动设备规则的条件(其要求设备类型=移动设备)。
[0072]
cms 110还使用指定第三方内容块的名称的属性来识别与这些块相对应的规则,以确定将被应用的特定样式参数。使用请求中包括的第三方内容块的名称,cms 110识别cb1和cb2的特定样式规则,其分别指定第三方内容块cb1和cb2的样式参数。cms 110使用规则cb1的样式参数(param1、param2和param3)来格式化要在第三方内容块cb1中呈现的第三方内容。类似地,cms 110使用规则cb2的样式参数(param3、param4和param5)来格式化要在第三方内容块cb2中呈现的第三方内容。因为没有一个用于台式机的规则包括第三方内容块cb3的任何样式规则,所以cms 110可以使用可以由发布方106指定的默认样式参数来格式化该块内的内容。在一些实施方式中,默认样式参数可以是空参数,在这种情况下,cms 110不呈现cb3块(如图3所示)。可替换地,默认样式参数可以包括标准样式参数集,在这种情况下,cms 110可以使用这些样式参数来格式化第三方内容块cb3中的第三方内容,然后在内容页面306上呈现具有格式化的第三方内容的该块。
[0073]
关于来自移动设备304的请求,设备类型属性是移动设备,因此,cms 110基于请求中指定的“移动设备”的设备类型与要求设备类型=移动设备的移动设备样式规则的条件之间的匹配,选择数据结构308中所示的移动设备样式规则。cms 110还使用指定第三方内容块的名称的属性来识别与这些块相对应的规则。使用请求中包括的第三方内容块的名称,cms 110识别指定第三方内容块cb3的样式参数的规则cb3。cms 110使用规则cb3的样式参数(param6、param7)来格式化要在第三方内容块cb3中呈现的第三方内容。因为没有一个移动设备的规则包括第三方内容块cb1和cb2的任何样式规则,所以cms 110可以使用可以由发布方106指定的默认样式参数来格式化这些第三方内容块内的内容。在一些实施方式中,默认样式参数可以是空参数,在这种情况下,cms 110不呈现第三方内容块cb1和cb2(如图3所示)。可替换地,默认样式参数可以包括标准样式参数集,在这种情况下,cms 110可以使用这些样式参数来格式化第三方内容块cb1和cb2中的第三方内容,然后在内容页面306上呈现具有格式化的第三方内容的这些块。
[0074]
如上参考图2所述,cms 110然后提供这些格式化的第三方内容项,以用于在发起请求的相应设备(台式机302和移动设备304)上的适当的第三方内容块内呈现。
[0075]
图4是用于格式化第三方内容项并呈现这些项以用于在发布方的内容页面上的第三方内容块中呈现的示例过程400的流程图。过程400的操作在下面被描述为由图1-图3中描述和描绘的系统的组件执行。过程400的操作仅出于说明的目的在下面描述。过程400的操作可以由任何适当的设备或系统(例如,任何适当的数据处理装置)来执行。过程400的操作也可以被实施为存储在非暂时性计算机可读介质上的指令。指令的执行使得一个或多个数据处理装置执行过程400的操作。
[0076]
cms 110接收对在由发布方106提供的内容页面上的第三方内容块中呈现第三方内容的请求(在402)。如上参考图2和图3所述,cms 110接收对用户在用户设备102上访问的、发布方的内容页面上的一个或多个第三方内容块的第三方内容的请求202。
[0077]
cms 110从内容页面获得单个样式标识符和一个或多个属性(在404)。单个样式标识符既可以显式声明(字母数字字符串),也可以隐式声明。如上参考图2和图3所述,请求包括嵌入在内容页面中(即显式声明的)的单个样式标识符、以及来自内容页面的一个或多个属性,所述一个或多个属性定义要在其中呈现内容的上下文(例如,设备类型、用户代理类型、屏幕大小等)。在一些实施方式中,内容页面可以不包括单个样式标识符,而是,发布方可以使用不需要包括在页面中(即隐式声明的)的另一种类型的标识符来定义不同的样式规则和参数。在这样的实施方式中,cms 110可以使用可以与请求一起提供的另一个标识符(例如,统一资源定位符(url)),并且使用该url来识别与该url相对应的样式规则和参数,该url用作单个样式标识符。
[0078]
cms 110从存储第三方内容的内容源104中选择第三方内容项(在406),如上参考图2所述。
[0079]
cms 110使用单个样式标识符和一个或多个属性来识别第一规则,该第一规则为被选择用于在第三方内容块中呈现的内容指定样式参数集(在408)。如上参考图2和图3所述,cms 110使用单个样式标识符来识别与内容页面相对应的样式规则集合。然后,使用一个或多个属性,cms 110识别第一规则,该第一规则包括被选择用于在第三方内容块中呈现的内容的样式参数集(如上参考图2和图3所述)。
[0080]
cms 110根据第一规则中指定的样式参数集来格式化第三方内容项(在410),如上参考图2和图3所述。可替换地,如上参考图2所述,用户设备102而不是cms 110,根据第一规则中指定的样式参数集来格式化第三方内容项。
[0081]
cms 110提供第三方内容项以用于在内容页面的第三方内容块内呈现(在412)。如上参考图2所述,cms 110提供以在内容页面上的适当的第三方内容块内呈现包括格式化的第三方内容项的可嵌入显示元素。可替换地,如上参考图2所述,用户设备102而不是cms 110,格式化并提供第三方内容项,以用于在内容页面的第三方内容块内呈现。
[0082]
内容管理系统110确定在第三方内容块内呈现的第三方内容项的用户活动量(在414)。如上文参考图2所述,cms 110维护关于在第三方内容块内呈现的格式化的第三方内容项的所有用户活动的计数。cms 110汇总(即求和)用户活动的计数,以确定用户活动量。
[0083]
内容管理系统110响应于用户活动量来修改第一规则中指定的样式参数集(在416)。如上参考图2所述,如果用户活动量小于用户活动的阈值量,则发布方106可以使用cms 110的前端界面来选择修改的样式参数集。cms 110基于由发布方106选择的样式参数来修改与第一规则相对应的样式参数。
[0084]
cms 110根据修改的、在第一规则中指定的样式参数集,以与上面参考操作410描述(以及参考图2和图3进一步描述)的相同方式,格式化第三方内容项。cms 110然后提供该格式化的第三方内容项,以用于在内容页面的第三方内容块内呈现(以与上面参考操作412以及图2和图3描述的相同方式)。
[0085]
如上参考图2所述,cms 110提供预格式化的可嵌入显示元素,以在内容页面220上呈现。可替换地,在一些实施方式中,cms 110可以向用户设备102提供包括第三方内容项
206的未格式化的可嵌入显示元素。cms 110还可以使用与该内容页面相对应的样式标识符来识别对于用户设备102的适当的规则和对应的样式参数(以与上述相同的方式)。cms 110可以向用户设备102提供该信息。因此,代替cms 110,用户设备102使用在所识别的规则内指定的一个或多个规则来格式化接收到的可嵌入显示元素,然后呈现该元素以用于在内容页面上显示(以与上面参考cms 110描述的相同方式)。可替换地,代替cms 110提供规则和对应的样式参数的集合,用户设备102可以存储数据结构,其中该数据结构类似于由cms 110存储的数据结构208。在这样的实施方式中,用户设备102从cms 110接收第三方内容项,然后执行上面参考cms 110描述的所有后续的基于样式的操作。
[0086]
图5是可以用于执行上述操作的示例计算机系统500的框图。系统500包括处理器510、存储器520、存储设备530和输入/输出设备540。组件510、520、530和540中的每一个可以例如使用系统总线550互连。处理器510能够处理用于在系统500内执行的指令。在一些实施方式中,处理器510是单线程处理器。在另一实施方式中,处理器510是多线程处理器。处理器510能够处理存储在存储器520或存储设备530上的指令。
[0087]
存储器520存储系统500内的信息。在一个实施方式中,存储器520是计算机可读介质。在一些实施方式中,存储器520是易失性存储器单元。在另一实施方式中,存储器520是非易失性存储器单元。
[0088]
存储设备530能够为系统500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)在网络上共享的存储设备、或者一些其他大容量存储设备。
[0089]
输入/输出设备540为系统500提供输入/输出操作。在一些实施方式中,输入/输出设备540可以包括网络接口设备(例如,以太网卡、串行通信设备和rs-232端口)、和/或无线接口设备(例如,802.11卡)中的一个或多个。在另一实施方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备的驱动设备,例如,键盘、打印机和显示设备560。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
[0090]
尽管在图5中已经描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中实施,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。
[0091]
本说明书中描述的主题和操作的实施例可以在数字电子电路中实施,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为编码在计算机存储介质(媒质)上的一个或多个计算机程序,即计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替换地或另外地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,该信号被生成以编码信息,用于传输到合适的接收器装置用以被数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介
质可以是人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的物理组件或介质(例如,多个光盘、磁盘或其他存储设备)中。
[0092]
本说明书中描述的操作可以实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他来源接收的数据执行的操作。
[0093]
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如,包括可编程处理器、计算机、片上系统或多个处理器或计算机或片上系统、或它们的组合。该装置还包括专用逻辑电路,例如,fpga(field programmable gate array,现场可编程门阵列)或asic(application-specific integrated circuit,专用集成电路)。除了硬件之外,该装置也可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
[0094]
计算机程序(也可以被称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解析语言、或者声明性或程序性语言)编写;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序、对象或其他适合在计算环境中使用的单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过数据通信网络互连的一个或多个计算机上执行。
[0095]
本说明书中描述的过程和逻辑流可以由运行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))实施,并且过程和逻辑流也可以被实施为该专用逻辑电路。
[0096]
适于运行计算机程序的处理器可以是例如基于通用和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备、或者从其接收数据并向其传输数据。然而,计算机不必须具有这种设备。此外,计算机可以被嵌入到另一设备(例如,移动电话、个人数字助理(personal digital assistant,pda)、移动音频或视频播放器、游戏控制台、全球定位系统(global positioning system,gps)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,usb)闪存驱动器),仅举几例)中。适于存储计算机程序指令和数据的设备可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0097]
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,
该计算机具有用于向用户显示信息的显示设备(例如,crt(cathode ray tube,阴极射线管)或lcd(liquid crystal display,液晶显示器)监视器)、以及键盘和定点设备(例如,鼠标或轨迹球),用户可以通过该定点设备向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式从用户接收输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收到的请求而向用户客户端设备上的网络浏览器发送网页。
[0098]
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过其与本说明书中描述的主题的实施方式交互),或者一个或多个这种后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)相连。通信网络的示例包括局域网(local area network,lan)和广域网(wide area network,wan)、内联网(例如,互联网)、和对等网络(例如,自组织对等网络)。
[0099]
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在相应的计算机上运行并且彼此之间具有客户端-服务器的关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,html页面)传输到客户端设备(例如,以用于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
[0100]
虽然本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而是对特定于特定发明的特定实施例的特征的描述。本说明书中在各个实施例的上下文中描述的某些特征也可以在单个实施例中组合地实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,并且甚至最初被要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变型。
[0101]
类似地,虽然在附图中以特定顺序描绘了操作,但这不应该被理解为需要以所示的特定顺序或先后顺序来执行这种操作或者需要执行所有示出的操作来取得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者打包到多个软件产品中。
[0102]
因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同顺序来执行,并且仍然取得期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或先后顺序来取得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1