CN105378726B - 利用更新层的数据库分区 - Google Patents

利用更新层的数据库分区 Download PDF

Info

Publication number
CN105378726B
CN105378726B CN201480038223.5A CN201480038223A CN105378726B CN 105378726 B CN105378726 B CN 105378726B CN 201480038223 A CN201480038223 A CN 201480038223A CN 105378726 B CN105378726 B CN 105378726B
Authority
CN
China
Prior art keywords
content object
server
index
update
content
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.)
Active
Application number
CN201480038223.5A
Other languages
English (en)
Other versions
CN105378726A (zh
Inventor
桑迪亚·库纳特
索伦·博格哈·拉森
迈克尔·柯蒂斯
皮利普·普罗宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of CN105378726A publication Critical patent/CN105378726A/zh
Application granted granted Critical
Publication of CN105378726B publication Critical patent/CN105378726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)

Abstract

在一个实施方式中,一种方法包括接收与一个或多个内容对象相关联的活动的更新,所述内容对象与搜索项相关联。所述搜索项与超过预定的阈值数的多个内容对象相关联。在一个或多个索引服务器的列表上索引与所述搜索项相关联的内容对象。所述列表包括对应于所述内容对象的标识符信息。所述方法还包括响应于所述更新,修改所述一个或多个索引服务器的列表。

Description

利用更新层的数据库分区
技术领域
本公开总体上涉及搜索算法。
背景技术
可以包括社交网络网站的社交网络系统能够使其用户(例如,个人或组织)与该系统并且通过该系统彼此互动。通过用户的输入,社交网络可以在社交网络系统内创建和储存与用户相关联的用户配置文件。用户配置文件可以包括联系信息、人口统计信息、通信信道信息以及关于用户的个人兴趣的信息。通过用户的输入,社交网络系统还可以创建和储存用户与社交网络系统的其他用户的关系的记录,并且提供服务(例如,涂鸦墙、照片共享、活动组织、消息传送、游戏或广告),以在用户之间或之中促进社会互动。
社交网络系统可以通过一个或多个网络将与其服务相关的内容或消息传输给用户的移动或其他计算装置。用户还可以在用户的移动或其他计算装置上安装软件应用程序,用于评估用户的用户配置文件以及在社交网络系统内的其他数据。社交网络系统可以生成一组个性化的内容对象,以向用户显示,例如,与该用户联系的其他用户的聚合故事的新闻馈送。
发明内容
在具体实施方式中,可以提供用于减少数据库负荷的索引服务器的双叉架构,用于对数据库查询。该架构的第一叉状物(“项目分区”(TS)索引)可以包括具有N个或更少的搜索结果(即,短倒排列表(posing list))的搜索项,其中,服务器可以包括所有类型(通过类型组织的)文档的标识符。该架构的第二叉状物可以包括多个“文档分区”(DS)索引,用于具有大于N个搜索结果(即,长倒排列表)的那些搜索项,其中,每个DS索引仅仅包含用于一个或多个特定类型的文档的标识符(例如,照片、用户、评论、喜欢、登记)。在接收复杂查询时,顶部聚合器可以在查询中查找每个搜索项,以确定每个项目具有长倒排列表或者短倒排列表。然后,顶部聚合器访问用于具有短倒排列表的项目的TS索引以及用于具有长倒排列表的项目的DS索引。例如,“Gangnam Style”的搜索可以包括两个搜索项(“Gangnam”和“Style”),其中,“Gangnam”具有短倒排列表以及“Style”具有非常长的倒排列表。在这种情况下,可以从TS索引中拉出用于“Gangnam”的第一倒排列表,并且可以从DS索引中拉出用于“Style”的第二倒排列表(在所有相关文档类型之上),然后,可以计算这两组文档标识符的交集,以确定实际的一组搜索结果。
在与新项目相关联的文档第一次开始出现在社交网络上时,只要倒排列表的长度小于N,就可在TS索引中为新项目生成倒排列表。在倒排列表内的条目可以标有文档类型。一旦倒排列表的长度超过N,根据在倒排列表内的项目的文档类型,倒排列表的组块分布到DS索引内。如果在提升(promotion)过程发生故障转移,那么最近实时服务器可以查询TS索引,用于提升的项目。一旦所有块体经证实在相关DS索引中创建,就可以从TS索引中删除该项目及其倒排列表。
每个索引可以保持不可变层并且将实时更新加入可变层中。每当从不可变层中检索索引数据,就也可以从相应的可变层中检索索引数据。在可变层内的数据可以定期包含在不可变层内,在这个任务期间,也可以处理提升。
附图说明
图1示出了与社交网络系统相关联的一个实例网络环境;
图2示出了社交网络系统的实例搜索索引的实例划分;
图3示出了具有更新层的实例搜索的一个实例方法;
图4示出了具有包含的更新的实例搜索的一个实例方法;
图5示出了一个实例社交图谱;
图6示出了一个实例计算机系统。
具体实施方式
图1示出了与社交网络系统相关联的一个实例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、社交网络系统160以及第三方系统170。虽然图1示出了客户端系统130、社交网络系统160、第三方系统170以及网络110的特定设置,但是本公开预计客户端系统130、社交网络系统160、第三方系统170以及网络110具有任何合适的设置。作为一个实例,并非通过限制的方式,客户端系统130、社交网络系统160以及第三方系统170中的两个或多个彼此直接连接,旁通网络110。作为另一个实例,客户端系统130、社交网络系统160以及第三方系统170中的两个或多个在物理上或逻辑上彼此完全或部分共同定位。而且,虽然图1示出了特定数量的客户端系统130、社交网络系统160、第三方系统170以及网络110,但是本公开预计客户端系统130、社交网络系统160、第三方系统170以及网络110具有任何合适的数量。作为一个实例,并非通过限制的方式,网络环境100可以包括多个客户端系统130、社交网络系统160、第三方系统170以及网络110。
本公开预计任何合适的网络110。作为一个实例,并非通过限制的方式,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN0、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、一部分互联网、一部分公共交换电话网(PSTN)、蜂窝电话网络、或其中的两个或多个的组合。网络110可以包括一个或多个网络110。
链路150可以使客户端系统130、社交网络系统160以及第三方系统170与通信网络110或者彼此连接。本公开预计任何合适的链路150。在具体实施方式中,一个或多个链路150包括一个或多个有线(例如,数字用户线路(DSL)或电缆数据服务接口规范(DOCSIS))、无线(例如,Wi-Fi或全球微波接入互操作性(WiMAX))、或光学(例如,同步光纤网络(SONET)或同步数字系列(SDH))链路。在具体实施方式中,一个或多个链路150均包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、一部分互联网、一部分PSTN、基于蜂窝技术的网络、基于卫星通信技术的网络、另一个链路150或两个或多个这种链路150的组合。在整个网络设备100中,链路150不必相同。一个或多个第一链路150可以在一个或多个方面与一个或多个第二链路150不同。
在具体实施方式中,客户端系统130可以是电子装置,其包括硬件、软件或嵌入式逻辑元件或两个或多个这种元件的组合,并且能够执行由客户端系统130实现或支持的合适功能。作为一个实例,并非通过限制的方式,客户端系统130可以包括计算机系统,例如,台式电脑、笔记本或膝上型电脑、笔记本、平板电脑、电子阅读器、GPS装置、照相机、个人数字助理(PDA)、手持式电子装置、蜂窝电话、智能电话、其他合适的电子装置、或其任何合适的组合。本公开预计任何合适的客户端系统130。客户端系统130可以使在客户端系统130上的网络用户访问网络110。客户端系统130可以使其用户与在其他客户端系统130上的其他用户通信。
在具体实施方式中,客户端系统130可以包括网页浏览器132,例如,MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或多个附加组件、插件或其他延伸部分,例如,TOOLBAR或YAHOO TOOLBAR。在客户端系统130上的用户可以输入统一资源定位符(URL)或其他地址,将网页浏览器132引向特定用户(例如,服务器162或与第三方系统170相关联的服务器),并且网页浏览器132可以生成超文本传输协议(HTTP)请求,并且将HTTP请求传送给服务器。服务器可以接受HTTP请求并且将响应于HTTP请求的一个或多个超文本标记语言(HTML)文件传送给客户端系统130。客户端系统130可以基于来自服务器的HTML文件渲染网页,用于呈现给用户。本公开预计任何合适的网页文件。作为一个实例,并非通过限制的方式,网页可以根据特定的需要从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件中渲染。这种页面还可以执行脚本,例如,例如并且没有限制地,通过JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT、标记语言和脚本(例如,AJAX(异步JAVASCRIPT和XML)的组合等编写的脚本。在本文中,在适当的情况下,网页的引用包括一个或多个相应的网页文件(浏览器可以用于渲染网页的文件),反之亦然。
在具体实施方式中,社交网络系统160可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统160可以生成、储存、接收并且发送社交网络数据,例如,用户配置文件数据、概念配置文件数据、社交图谱信息、或与在线社交网络相关的其他合适数据。社交网络系统160可以由网络环境100的其他元件直接或者通过网络110访问。在具体实施方式中,社交网络系统160可以包括一个或多个服务器162。每个服务器162可以是单一式服务器或分布式服务器,其跨过多个计算机或多个数据中心。服务器162可以是各种类型,例如,例如并且没有限制地,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用程序服务器、交换服务器、数据库服务器、代理服务器、适合于执行在本文中描述的功能或过程的另一个服务器、或其任何组合。在具体实施方式中,每个服务器162可以包括硬件、软件或嵌入式逻辑元件或两个或多个这种元件的组合,用于执行由服务器162实现或支持的合适功能。在具体实施方式中,社交网络系统160可以包括一个或多个数据储存164。数据储存164可以用于储存各种类型的信息。在具体实施方式中,可以根据特定的数据结构,组织储存在数据储存164内的信息。在具体实施方式中,每个数据储存164可以关联式、柱状、相关性或其他合适的数据库。虽然本公开描述或显示了特定类型的数据库,但是本公开预计任何合适类型的数据库。具体实施方式可以提供接口,所述接口使客户端系统130、社交网络系统160或者第三方系统170能够管理、检索、增加或删除储存在数据储存164内的信息。
在具体实施方式中,社交网络系统160可以在一个或多个数据储存164内储存一个或多个社交图谱。在具体实施方式中,社交图谱可以包括多个节点-其可以包括多个用户节点(每个节点与特定的用户对应)或多个概念节点(每个节点与特定的概念对应)-以及连接所述节点的多个矢线。社交网络系统160可以给在线社交网络的用户提供与其他用户通信和互动的能力。在具体实施方式中,用户可以通过社交网络系统160加入在线社交网络,然后,增加与用户希望联系的社交网络系统160的多个其他用户的联系(例如,关系)。在本文中,术语“朋友”可以表示用户通过社交网络系统160与其形成联系、关联性或关系的社交网络系统160的任何其他用户。
在具体实施方式中,社交网络系统160可以给用户提供对由社交网络系统160支持的各种类型的物品或对象采取行动的能力。作为一个实例,并非通过限制的方式,物品和对象可以包括社交网络系统160的用户所属的群组或社交网络、用户可能感兴趣的活动或日历项、用户可以使用的基于计算机的应用程序、允许用户通过服务购买或销售的物品的交易、与用户可以执行的广告的互动、或其他合适的物品或对象。用户可以与能够在社交网络系统160内或者由第三方系统170的外部系统表示的任何物体互动,该外部系统与社交网络系统160分开并且通过网络110耦接至社交网络系统160。在具体实施方式中,社交网络系统160能够连接各种实体。作为一个实例,并非通过限制的方式,社交网络系统160可以使用户能够彼此互动并且接收来自第三方系统170或其他实体的内容,或者允许用户通过应用程序编程接口(API)或其他通信信道与这些实体互动。
在具体实施方式中,第三方系统170可以包括一种或多种类型的服务器、一个或多个数据储存、一个或多个接口(包括但不限于API)、一个或多个网络服务、一个或多个内容源、一个或多个网络、或(例如)可以与服务器通信的任何其他合适的元件。第三方系统170可以由与操作社交网络系统160的实体不同的实体操作。在具体实施方式中,然而,社交网络系统160和第三方系统170可以彼此相结合地操作,以给社交网络系统160或第三方系统170的用户提供社交网络服务。在这个意义上,社交网络系统160可以提供平台或主干,其他系统(例如,第三方系统170)可以使用该平台或主干来通过互联网给用户提供社交网络服务和功能。
在具体实施方式中,第三方系统170可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以传送给客户端系统130的内容对象的一个或多个来源。作为一个实例,并非通过限制的方式,内容对象可以包括关于用户感兴趣的东西或活动的信息,例如,电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其他合适的信息。作为一个实例,并非通过限制的方式,内容对象可以包括激励内容对象,例如,优惠券、折扣票、礼品券或其他合适的激励对象。
在具体实施方式中,社交网络系统160可以包括各种服务器、子系统、程序、模块、记录以及数据储存。在具体实施方式中,社交网络系统160可以包括以下中的一个或多个:网络服务器、活动记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、活动记录、第三方内容对象曝光记录、推理模块、授权/隐私服务器、搜索模块、广告目标模块、用户接口模块、用户配置文件储存、连接储存、第三方内容储存或位置储存。社交网络系统160还可以包括合适的元件,例如,网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的元件、或其任何合适的组合。在具体实施方式中,社交网络系统160可以包括一个或多个用户配置文件储存,用于储存用户配置文件。用户配置文件可以包括(例如)传记信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息,例如,工作经验、学历、爱好或偏好、兴趣、亲和力或位置。兴趣信息可以包括与一个或多个类别相关联的兴趣。类别可以是一般或特定类别。作为一个实例,并非通过限制的方式,如果用户“喜欢”关于某个品牌的鞋的物品,那么类别可以是该品牌或者一般类别的“鞋子”或“衣服”。连接储存可以用于储存关于用户的连接信息。连接信息可以表示具有相似或共同工作经历、群组关系、爱好、学历的或者通过任何方式相关的或者共享共同属性的用户。连接信息还可以包括在不同用户与内容(内部和外部)之间的用户定义的连接。网络服务器可以用于通过网络110连接社交网络系统160和一个或多个客户端系统130或者一个或多个第三方系统170。网络服务器可以包括邮件服务器或其他消息传递功能,用于在社交网络系统160与一个或多个客户端系统130之间接收和理由消息。API请求服务器可以允许第三方系统170通过调用一个或多个API来访问来自社交网络系统160的信息。活动记录器可以用于从网络服务器中接收关于用户在社交网络系统160上或者远离社交网络系统160的活动的通信。与活动记录相结合,第三方内容对象记录可以保持用户曝光到第三方内容对象中。通知控制器可以给客户端系统130提供关于内容对象的信息。可以将信息作为通知推向客户端系统130,或者可以响应于从客户端系统130中接收的请求,从客户端系统130中拉动(pull)信息。第三方内容对象储存可以用于储存从第三方接收的内容对象,例如,第三方系统170。位置储存可以用于储存从与用户相关联的客户端系统130中接收的位置信息。广告定价模块可以合并社会信息、当前时间、位置信息或其他合适的信息,以通过通知的形式向用户提供相关广告。
社交网络系统160可以生成、储存、接收并且发送社交网络数据,例如,用户配置文件数据、概念配置文件数据、社交图谱信息、或与在线社交网络相关的其他合适数据。在具体实施方式中,社交网络系统160还包括用户生成的内容对象,所述内容对象可以增强用户与社交网络系统160的互动。用户生成的内容可以包括用户可以增加、上传、发送或“张贴”到社交网络系统160中的任何物体。作为一个实例,并非通过限制的方式,用户将帖子从客户端系统130中传送给社交网络系统160。帖子可以包括状态更新或其他文本数据等数据、位置信息、照片、视频、链接、音乐或其他相似的数据或介质。还可以由第三方系统170通过“通信通道”(例如,新闻馈送或流)增加到社交网络系统160中。很多数据(例如,内容对象)可以作为分成多个划分的数据库储存。每个划分(partition)可以储存在单独服务器162上或者单独物理位置上。划分可以分布在多个服务器162之上(同时可以在地理上不同的位置复制每个划分),该划分也可以在访问数据库时提高性能和可靠性。通过单独储存几行(或几列)数据库,可以划分数据库(即,“分区”)。还可以使用散列算法,划分数据库。由数据库保持的数据的某种现实世界分割也可以划分数据库(例如,在美国的每个时区的用户)。在具体实施方式中,数据或者内容对象可以储存在多个划分内,每个划分保持单个内容对象类型的内容对象。
在具体实施方式中,上传到社交网络系统160中的内容对象可以储存在数据储存164内。与上传的或共享的内容对象相关联的数据储存信息(例如,喜欢接收的内容对象的用户)可以由社交网络系统160的搜索索引储存。如下所述,社交网络系统160的服务器过程可以响应于在社交网络系统160上的活动,更新一个或多个数据储存164的搜索索引。在具体实施方式中,用户生成的内容对象(例如,上传的图像)可对应于社交网络系统160的下述社交图谱的特定节点。连接特定节点和另一个节点的矢线可以表示在所接收的对象与对应于另一个节点的用户(或概念)之间的关系。作为一个实例,并非通过限制的方式,与内容对象相关联的信息或者连接至对应于在社交图谱中的内容对象的节点的一个或多个矢线的信息可以储存在一个或多个数据储存164内。
在具体实施方式中,社交网络系统160可以包括授权服务器,该服务器允许用户决定加入或退出由社交网络系统160记录的或者与其他系统(例如,第三方系统170)共享的活动,例如,通过设置合适的隐私设置。社交网络系统160的授权服务器可以用于实施社交网络系统160的用户的一个或多个隐私设置。用户的隐私设置确定可以共享与用户相关联的特定信息或内容对象的方式。在具体实施方式中,由用户生成或共享的以及由社交网络系统160提供的用于作为下述搜索结果呈现的内容对象可以受到社交网络系统160的用户的隐私设置的限制。
图2示出了社交网络系统的实例搜索索引的实例划分。虽然本公开示出并且描述了通过储存在特定类型的计算系统上的特定类型的内容对象在搜索索引上执行搜索查询,但是本公开预计通过储存在任何合适类型的计算系统上的任何合适类型的内容搜索一个搜索索引。在具体实施方式中,用户可以通过将文本输入到社交网络系统的用户界面(UI)的查询字段内,来将查询提交给社交网络系统。作为一个实例,并非通过限制的方式,用户可以通过提供描述特定的主题(例如,用户、概念、外部内容或资源)的短语,来搜索与该主题相关的信息,通常称为“搜索查询”。然后,社交网络系统可以搜索一个或多个划分42,以识别与搜索查询匹配的内容。可以使用各种搜索算法,基于查询短语,进行搜索,并且该搜索可以生成识别最可能与搜索查询相关的资源或内容(例如,用户配置文件页面、内容配置文件页面、或外部资源)的搜索结果。作为回应,搜索可以识别可能与搜索查询相关的内容或内容对象,每个内容或内容对象可以单独称为“搜索结果”或者统称为对应于搜索查询的“搜索结果”。例如,确定的内容或内容对象可以包括社交图谱元素(即,用户节点、概念节点或矢线)、配置文件页面、外部网页或其任何组合。本公开预计任何合适的对象类型的社交网络系统。
在图2的实例中,一个或多个划分42可以索引社交网络系统的内容对象。作为一个实例,并非通过限制的方式,社交网络系统的每个内容对象或用户可以至少部分在标识符信息上索引,例如,唯一识别号。在具体实施方式中,每个划分42可以被配置为访问储存在相应数据储存装置内的内容对象的标识符信息。由社交网络系统的搜索索引可以索引储存在每个划分42内的内容对象。在具体实施方式中,与每个划分42相关联的搜索索引的部分可以由一个或多个索引服务器48或一个或多个项目服务器46访问。在适当的情况下,在本文中描述的项目服务器46可以表示项目数据库服务器,并且索引服务器48可以表示索引数据库服务器。数据库服务器可以提供数据库服务,用于客户端系统访问社交网络系统。而且,每个索引服务器48或项目服务器46可以包括在一个或多个计算装置(例如,上述服务器装置162)上执行的过程并且可以在相同的计算装置上执行。
在具体实施方式中,项目服务器46和索引服务器48可以包括与上述一个或多个内容对象类型相关联的标识符信息。在具体实施方式中,项目服务器46可以将搜索索引的各个部分组织成与内容对象的标识符信息相关联的倒排列表,内容对象包括与特定的搜索项或“项目分区”相关联的在社交网络系统上“张贴”的几乎所有内容对象类型(例如,图像、视频、状态更新、或“喜欢”)。而且,项目服务器46的倒排列表包含的搜索项可以限于具有低于预定的阈值数的与每个搜索项相关联的内容对象的数量或“点击数(hits)”的搜索项。在具体实施方式中,索引服务器48可以将搜索索引的各个部分组织成具有标识符信息的倒排列表,所述标识符信息对应于与特定的搜索项或“文档分区”相关联的在社交网络系统上“张贴”的特定内容对象类型的内容对象(例如,图像)。而且,每个索引服务器48的倒排列表可以包括标识符信息,标识符信息对应于高于预定的点击阈值数(hit-threshold number)的与特定的搜索项相关联的内容对象的数量。
在具体实施方式中,预定的点击阈值数可以至少部分根据内容对象类型(例如,人、照片、或活动、或特定的搜索项)改变。作为一个实例,并非通过限制的方式,预定的点击阈值数可以由包含在每个搜索项的预定百分比(例如,99%)内的“点击”的数量确定。在具体实施方式中,预定的点击阈值数可以至少部分根据计算装置(例如,服务器)的索引到项目服务器分配比、改变预定的点击阈值数延迟或吞吐量分析、用于给分区聚合器44或者从该划分聚合器中发送项目服务器46倒排列表的聚合网络率、包含特定搜索项的搜索查询的频率、特定搜索项的实时更新的频率、特定一族搜索项的特有的约束条件或其任何组合确定。作为一个实例,并非通过限制的方式,特定一族搜索项的特有的约束条件可以是,如果允许用户具有多达5000个朋友,那么搜索项“朋友”的预定的点击阈值数可以设置为5000,以便所有“朋友”倒排列表包含在项目服务器46内。
在具体实施方式中,顶部聚合器40可以被配置为接收分布给每个划分42的划分聚合器44的搜索查询。作为一个实例,并非通过限制的方式,搜索查询可以作为由社交网络系统的一个或多个计算装置(例如,上述服务器162)托管的服务器过程实现。作为一个实例,并非通过限制的方式,顶部聚合器40可以将搜索查询“Gangnam Style”解析成搜索项,例如,(<Gangnam><style>),这可以返回可以与搜索查询匹配的任何内容对象类型的搜索结果。
在具体实施方式中,顶部聚合器40可以基于搜索项的列表(例如,散列集)将每个搜索项分类,该列表的内容对象的数量高于预定的点击阈值数。在适当的情况下,在本文中描述的“短”搜索项可以表示不包含在散列集内的搜索项,并且“长”搜索项可以表示包含在散列集内的搜索项。在具体实施方式中,每个划分42的划分聚合器44可以从顶部聚合器40中解析搜索查询,并且从搜索查询中提取与划分42相关的特定“短”搜索项。在具体实施方式中,每个划分42的划分聚合器44可以执行对应于与划分42相关的搜索项的包含在散列集内的一个或多个“长”搜索项的提取。作为一个实例,并非通过限制的方式,搜索查询“Gangnam style”可以由顶部聚合器40解析成搜索项<Gangnam>和<Style>。而且,搜索项<Gangnam>可以不包含在散列集内,并且可以被视为“短”搜索项,而<Style>可以包含在散列集内,并且可以被视为“长”搜索项。在具体实施方式中,从顶部聚合器40中接收搜索项的划分聚合器44可以执行特定功能,以将发送给查询的特定的“短”搜索项(例如,<Gangnam>)映射到一个或多个项目服务器46中。在具体实施方式中,划分聚合器44可以从一个或多个项目服务器46中检索一个或多个倒排列表,所述倒排列表包括识别在对应于特定的“短”搜索项的社交网络系统上“张贴”的特定内容对象的信息。
在具体实施方式中,每个划分42的划分聚合器44可以执行对应于与划分42相关的搜索项的包含在散列集内的一个或多个“长”搜索项的提取。作为一个实例,并非通过限制的方式,搜索查询“Gangnam style”可以由顶部聚合器40解析成搜索项<Gangnam>和<Style>。从顶部聚合器40中接收搜索项的划分聚合器44可以执行特定功能,以将发送给查询的特定的“短”搜索项映射到一个或多个项目服务器46中。在具体实施方式中,划分聚合器44可以从一个或多个项目服务器46中检索一个或多个倒排列表,所述倒排列表包括识别在对应于特定的“短”搜索项的社交网络系统上“张贴”的特定内容对象的信息。项目服务器46可以将对应于特定的“短”搜索项的检索的倒排列表发送给划分聚合器44。
在具体实施方式中,顶部聚合器40的搜索查询可以由每个划分聚合器44修改,以使用对应于“短”搜索项的项目服务器46的一个或多个倒排列表代替一个或多个“短”搜索项。作为一个实例,并非通过限制的方式,可以根据项目服务器46的倒排列表生成修改的搜索查询,例如,<style>:<5,7,10>。在具体实施方式中,划分聚合器44可以将修改的搜索项发送给相应的索引服务器48。划分聚合器44可以接收包括识别在对应于特定的“长”搜索项的社交网络系统上“张贴”的特定内容对象的信息的一个或多个索引服务器48的一个或多个倒排列表以及项目服务器46的搜索结果。作为一个实例,并非通过限制的方式,在对应于搜索项<style>的索引服务器48上的倒排列表可以包括对应于内容项<3,4,7,10>的标识符信息,并且修改的搜索查询的结果可以是<7,10>。
在另一个实施方式中,每个划分42的划分聚合器44可以不储存与“长”或“短”搜索项相关联的信息。相反,划分聚合器44可以将所有解析的搜索项发送给相关联的项目服务器46。在具体实施方式中,项目服务器46可以包括“短”和“长”搜索项的列表。作为一个实例,并非通过限制的方式,发送给项目服务器46的每个搜索项可以返回包括识别在对应于特定的“短”搜索项的社交网络系统上“张贴”的特定内容对象的信息的一个或多个倒排列表。而且,项目服务器46可以返回表示一个或多个解析的搜索项是“长”搜索项并且用于“长”搜索项的查询应路由给索引服务器48的标志。在具体实施方式中,用于“长”搜索项的查询应通过划分聚合器44路由给索引服务器48。在具体实施方式中,用于“长”搜索项的查询应由项目服务器46直接路由给索引服务器48。如上所述,索引服务器48可以从一个或多个项目服务器46中检索一个或多个倒排列表,所述倒排列表包括识别在对应于特定的“长”搜索项的社交网络系统上“张贴”的特定内容对象的信息。
在具体实施方式中,顶部聚合器40可以在从顶部聚合器40中接收的搜索结果上执行一个或多个操作。作为一个实例,并非通过限制的方式,顶部聚合器40可以将搜索结果返回给用户,即,项目服务器46和索引服务器48的所有搜索项的搜索结果的交集。例如,对应于搜索项<Gangnam>的搜索结果的项目服务器46的查询可以产生对应于社交网络系统上张贴的特定内容对象的标识符信息<5,7,10>。作为另一个实例,索引服务器48可以产生对应于用于搜索项<style>的内容项<3,4,7,10>的标识符信息。根据从划分42的项目服务器46和索引服务器48中发送给划分聚合器44的搜索结果的交集,返回给用户的搜索结果可以是<7,10>。
在具体实施方式中,社交网络系统可以至少部分根据用户在社交网络系统上的活动(例如,内容对象(例如,图像)上传或者生成)或者与内容对象相关联的活动(例如,“喜欢”或评论)更新搜索索引的一个或多个划分42。而且,搜索索引的一个或多个划分42可以通过预定的间隔更新,例如,每周一次。在具体实施方式中,每个索引服务器48的倒排列表可以包括具有可以通过预定的间隔更新的标识符信息的基础层以及具有可以响应于在社交网络系统上的活动(例如,新内容对象上传给社交网络系统)更新的具有标识符信息的更新层。作为一个实例,并非通过限制的方式,具有发送给索引服务器48的“长”搜索项的查询可以访问倒排列表,其包括基础层的标识符信息以及对应于在社交网络系统上的最近活动的更新层的标识符信息。在具体实施方式中,在预定的间隔期间,基础层的标识符信息可以更新,以包括更新层的标识符信息。而且,在通过更新层的标识符信息更新基础层的标识符信息之后,更新层可以返回初始状态。在具体实施方式中,划分聚合器44的倒排列表的标识符信息可以定期更新,以包括在预定间隔期间发生的最近活动。
在具体实施方式中,更新层的标识符信息可以表示响应于相应内容对象的状态变化,删除内容对象,作为与特定搜索项相关联的搜索结果,例如,删除或“不喜欢”内容对象。在具体实施方式中,索引服务器48可以在从基础层中提供的标识符信息与由更新层提供的标识符信息之间提供信息区分。在具体实施方式中,划分聚合器42可以确定由用于“短”项目查询的项目服务器46和用于“长”搜索项查询的索引服务器48提供的标识符信息的交集。而且,划分聚合器42可以整合项目服务器46的更新层的标识符信息和由项目服务器46以及索引服务器48提供的标识符信息的交集。作为一个实例,并非通过限制的方式,对相应项目服务器46的搜索项<Gangnam>的查询可以产生标识符信息<5,7,10>,对相应索引服务器48的搜索项<style>的查询可以产生标识符信息<3,4,7,10>,并且查询的交集是<7,10>。而且,如果与标识符信息<20>相关联的内容对象加入与搜索项<style>相关联的索引服务器48的更新层中,那么搜索项<style>的查询也可以产生<20>,作为搜索结果。作为另一个实例,在更新索引服务器48的基础层之后在社交网络系统上的活动(例如,删除内容对象)可以去除与标识符信息<10>相关联的内容对象,并且在更新层上表示去除标识符信息<10>。在从搜索结果中去除删除的内容对象<10>之后,搜索项<Gangham><style>的查询的搜索结果可以产生<7>。
在具体实施方式中,每个项目服务器46和索引服务器48的倒排列表可以包括具有可以通过预定的间隔更新的标识符信息的基础层以及具有可以响应于在社交网络系统上的活动更新的标识符信息(例如,上传给社交网络系统的新内容对象)的更新层。在具体实施方式中,可以比较与最近上传的内容对象相关联的一个或多个搜索项和上述散列列表,以确定标识符信息是否与项目服务器46、索引服务器48和这两者的倒排列表相关。作为一个实例,并非通过限制的方式,确定最近活动与“短”搜索项相关,可以使用对应于最近上传的内容对象的标识符信息,更新相应项目服务器46的更新层。作为另一个实例,确定最近活动与“长”搜索项相关,可以使用对应于最近上传的内容对象的标识符信息,更新相应索引服务器48的更新层。在具体实施方式中,可以将对应于删除的内容对象的标识符信息广播给所有划分42,并且从包含特定的标识符信息的项目服务器46和索引服务器48的所有倒排列表中去除相应的标识符信息。
在具体实施方式中,与特定的搜索项相关联的特定项目服务器46的标识符信息可以“提升”为一个或多个索引服务器48的倒排列表,并且响应于超过预定的点击阈值数的特定搜索项的点击数量,从特定项目服务器46的倒排列表中去除标识符信息。作为一个实例,并非通过限制的方式,可以生成在一个或多个项目服务器46内的一个或多个倒排列表,以使一个或多个搜索项首先加入社交网络系统。可以至少部分根据预定的点击阈值数,可以将搜索项从项目服务器46“提升”到索引服务器48。作为一个实例,并非通过限制的方式,只要倒排列表的内容对象的数量小于预定的点击阈值数,就可以给在项目服务器46倒排列表内的新项目生成倒排列表。对应于与最近增加的搜索项相关联的倒排列表的内容对象的标识符信息可以标有上述内容对象类型(例如,图像或状态更新)。确定倒排列表的内容对象的数量超过预定的点击阈值数,根据在与搜索项相关联的项目服务器46的倒排列表中的内容对象的内容对象类型,将与搜索项相关联的倒排列表的部分分布给与搜索项相关联的一个或多个索引服务器48的倒排列表。
如果在搜索项的“提升”过程发生故障转移,那么最近活动的服务器可以查询一个或多个项目服务器46,用于“提升”的搜索项。一旦与“提升”的搜索项相关联的所有标识符信息经证实在索引服务器48的相关倒排列表中创建,就可以从相应项目服务器46中删除该搜索项及其相关联的倒排列表。作为一个实例,并非通过限制的方式,标识符信息可以从项目服务器46中推动到索引服务器48中,以填充与搜索项相关联的索引服务器48的倒排列表。
在具体实施方式中,可以通过旋转空转的计算装置(例如,服务器),执行项目服务器46和索引服务器48的新基础层。在主要架构的计算装置失灵时,发送给特定计算装置的任何请求可以重新引导到在备用架构中的相应计算装置。替换地,任何请求可以重新引导到在备用架构内的顶部聚合器40,该聚合器可以将所述请求引入合适的计算装置。具体实施方式可以促进在单个计算装置上托管不止一个项目服务器46、不止一个索引服务器48或其组合。计算装置可以重新分布在备用架构上,以便在主要架构上的单个计算装置失效时,对特定计算装置的请求分布在备用架构的多个计算装置之中。计算装置可以组织到计算装置(例如,全齿条、半齿条、四分之一齿条)的逻辑组内,包括计算装置的一个备用逻辑组,用于复制。在复制或更新期间,逻辑组可以通过循环的方式更新,其中,实时逻辑组的新数据可以复制到备用逻辑组中。对实时逻辑组的请求可以重新引入备用逻辑组中,然后,实时逻辑组变成备用逻辑组。
在具体实施方式中,顶部聚合器40可以将对应于特定内容对象的标识符信息聚合到由每个划分聚合器44提供的一个或多个搜索结果内,用于向用户呈现。在具体实施方式中,顶部聚合器40可以聚合发送给每个划分42的相应搜索项的搜索结果。作为一个实例,并非通过限制的方式,顶部聚合器40可以在搜索查询结果上执行或运算,以产生一组最终搜索结果。社交网络系统可以(例如)通过连接至对应于在社交图谱中的特定对象的节点的多个矢线(即,多个已知的关系),排列形成搜索结果的内容对象。作为一个实例,并非通过限制的方式,社交网络系统可以通过与图像相关联的多个“喜欢”,排列图像。作为另一个实例,社交网络系统还可以通过在图像上标记的多个用户,排列图像。
图3示出了具有更新层的实例搜索的一个实例方法。该方法可以在步骤300中开始,其中,一个或多个计算装置接收与一个或多个内容对象相关联的活动的更新,所述内容对象与搜索项相关联。在具体实施方式中,所述搜索项与超过预定的阈值数的多个内容对象相关联。在一个或多个索引服务器的列表上索引与所述搜索项相关联的内容对象。所述列表包括对应于所述内容对象的标识符信息。在步骤302中,一个或多个计算装置响应于所述更新,修改所述一个或多个索引服务器的列表,在这个时间点,该方法可以结束。虽然本公开描述和显示了按照特定的顺序发生的图3的方法的特定步骤,但是本公开预计按照任何合适的顺序发生的图3的方法的任何合适的步骤。而且,虽然本公开描述和显示了执行图3的方法的特定步骤的特定元件,但是本公开预计执行图3的方法的任何合适的步骤的任何合适的元件的任何合适的组合。
图4示出了具有包含的更新的实例搜索的一个实例方法。该方法可以在步骤350中开始,其中,一个或多个计算装置接收与一个或多个内容对象相关联的活动的更新,所述内容对象与搜索项相关联。在具体实施方式中,所述内容对象与在一个或多个索引服务器或项目服务器的列表上索引的搜索项相关联。在具体实施方式中,项目服务器的列表可以包括一个或多个内容对象类型的标识符信息。索引服务器的列表可以包括单个内容对象类型的标识符信息。在步骤352中,一个或多个计算装置可以确定搜索项是否具有超过预定的阈值数的多个相关联的内容对象。在步骤354中,一个或多个计算装置至少部分根据所述确定并且响应于所述更新,修改与项目服务器或者一个或多个索引服务器的搜索项相关联的列表,在这个时间点,该方法可以结束。虽然本公开描述和显示了按照特定的顺序发生的图4的方法的特定步骤,但是本公开预计按照任何合适的顺序发生的图4的方法的任何合适的步骤。而且,虽然本公开描述和显示了执行图4的方法的特定步骤的特定元件,但是本公开预计执行图4的方法的任何合适的步骤的任何合适的元件的任何合适的组合。
图5示出了实例社交图谱。在具体实施方式中,社交网络系统160可以在一个或多个数据储存中储存一个或多个社交图谱200。在具体实施方式中,社交图谱200可以包括多个节点-其可以包括多个用户节点202或多个概念节点204-以及连接所述节点的多个矢线206。为了教育的目的,在二维视觉图表示中显示了在图5中示出的实例社交图谱200。在具体实施方式中,社交网络系统160、客户端系统130或第三方系统170可以访问用于合适的应用程序的社交图谱200和相关的社交图谱信息。社交图谱200的节点和矢线可以作为数据对象(例如)储存在数据储存(例如,社交图谱数据库)内。这种数据储存可以包括社交图谱200的节点和矢线的一个或多个可搜索或可查询的索引。
在具体实施方式中,用户节点202可以与社交网络系统160的用户对应。作为一个实例,并非通过限制的方式,用户可以是个人(个人用户)、实体(例如,企业、商业或第三方应用程序)、或与或者通过社交网络系统160互动或通信的群组(例如,个人或实体)。在具体实施方式中,在用户通过社交网络系统160注册账号时,社交网络系统160可以创建与用户对应的用户节点202,并且在一个或多个数据储存内储存用户节点202。在适当的情况下,在本文中描述的用户和用户节点202表示注册的用户以及与注册的用户相关联的用户节点202。此外或者作为替换物,在适当的情况下,在本文中描述的用户和用户节点202表示没有通过社交网络系统160注册的用户。在具体实施方式中,用户节点202可以与由用户提供的信息或者由各种系统聚集的信息相关联,包括社交网络系统160。作为一个实例,并非通过限制的方式,用户可以提供其名称、大头贴、联系信息、生日、性别、婚姻状况、家庭状况、职业、教育背景、爱好、兴趣或其他人口统计信息。在具体实施方式中,用户节点202可以与一个或多个数据对象相关联,所述数据对象与和用户相关联的信息对应。在具体实施方式中,用户节点202可以与一个或多个网页对应。
在具体实施方式中,概念节点204可以与概念对应。作为一个实例,并非通过限制的方式,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统160相关联的网站或者与网络应用程序服务器相关联的第三方网站);实体(例如,个人、企业、群组、体育队或名流);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用程序),其可以位于社交网络系统160内或外部服务器上,例如,网络应用程序服务器;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、理念、照片、或书面工作);游戏;活动;理念或理论;另一种合适的概念;或两个或多个这种概念。概念节点204可以与由用户提供的概念的信息或者由各种系统聚集的信息相关联,包括社交网络系统160。作为一个实例,并非通过限制的方式,概念的信息可以包括名字或称号;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系方式(例如,电话号码或电子邮件地址);其他合适的概念信息;或这种信息的任何合适的组合。在具体实施方式中,概念节点204可以与一个或多个数据对象相关联,所述数据对象与和概念节点204相关联的信息对应。在具体实施方式中,概念节点204可以与一个或多个网页对应。
在具体实施方式中,在社交图谱200内的节点可以表示网页(可以称为“配置文件页面”)或者由该网页表示。配置文件页面可以由社交网络系统160托管或者可存取。配置文件页面还可以在与第三方系统170相关联的第三方网站上托管。作为一个实例,并非通过限制的方式,与特定的外部网页对应的配置文件页面可以是特定的外部网页,并且配置文件页面可以与特定的概念节点204对应。配置文件页面可以由所有或者所选择的子集的其他用户可查看。作为一个实例,并非通过限制的方式,用户节点202可以具有对应的用户配置文件页面,在该配置文件页面中,相应的用户可以添加内容,发表声明,或者另外表达自己的意见。作为另一个实例,并非通过限制的方式,概念节点204可以具有相应概念的配置文件页面,在该配置文件页面中,一个或多个用户可以添加内容,发表声明,或者表达自己的意见,尤其关于与概念节点204对应的概念。
在具体实施方式中,概念节点204可以表示由第三方系统170托管的第三方网页或资源。在其他部件之中,第三方网页或资源可以包括内容、可选择的或其他图标、或者表示活动或行动的其他可互动的对象(例如,可以在JavaScript、AJAX或PHP代码内实现)。作为一个实例,并非通过限制的方式,第三方网页可以包括可选择的图标,例如,“喜欢”、“登记”、“吃”、“推荐”、或另一个合适的活动或行动。通过选择一个图标(例如,“吃”),查看第三方网页的用户可以执行活动,促使客户端系统130给社交网络系统160传输表示用户的活动消息。响应于该消息,社交网络系统160可以在与用户对应的用户节点202与和第三方网页或资源对应的概念节点204之间创建矢线(例如,“吃”矢线),并且在一个或多个数据储存内储存矢线206。
在具体实施方式中,在社交图谱200内的一对节点可以通过一个或多个矢线206彼此连接。连接一对节点的矢线206可以表示在这对节点之间的关系。在具体实施方式中,矢线206可以包括或表示与在一对节点之间的关系对应的一个或多个数据对象或属性。作为一个实例,并非通过限制的方式,第一用户可以表示第二用户是第一用户的“朋友”。响应于这个指示,社交网络系统160可以给第二用户传输“朋友请求”。如果第二用户确认“朋友请求”,那么社交网络系统160可以在社交图谱200内创建连接第一用户的用户节点202和第二用户的用户节点202的矢线206,并且在一个或多个数据储存24内储存矢线206,作为社交图谱信息。在图5的实例中,社交图谱200包括表示在用户“A”和用户“B”的用户节点202之间的朋友关系的矢线206以及表示在用户“C”和用户“B”的用户节点202之间的朋友关系的矢线。虽然本公开描述或显示了连接特定的用户节点202的具有特定属性的特定矢线206,但是本公开预计连接用户节点202的具有任何合适的属性的任何合适的矢线206。作为一个实例,并非通过限制的方式,矢线206可以表示友谊、家庭关系、业务或雇佣关系、粉丝关系、追随者关系、访客关系、用户关系、上级/下级关系、互惠关系、非互惠的关系、另一种合适类型的关系、或两个或更多这种关系。而且,虽然本公开总体上描述正在连接的节点,但是本公开还描述了正在连接的用户或概念。在本文中,在合适的地方,正在连接的用户或概念的引用可以表示与由一个或多个矢线206在社交图谱200内连接的那些用户或概念对应的节点。
在具体实施方式中,在用户节点202与概念节点204之间的矢线206可以表示由与用户节点202相关联的用户朝着与概念节点204相关联的概念执行的特定活动或行动。作为一个实例,并非通过限制的方式,如图5中所示,用户可以“喜欢”、“参加”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中的每个均与矢线类型或子类型对应。与概念节点204对应的概念配置文件页面可以包括(例如)可选择的“登记”图标(例如,可点击的“登记”图标)或可选择的“喜欢”图标。作为另一个实例,客户端系统的社会化破折号可以包括可选择的“登记”图标(例如,可点击的“登记”图标)或者可选择的“喜欢”图标。同样,在用户点击这些图标之后,社交网络系统160可以响应于与相应的活动对应的用户活动创建“喜欢”矢线或“登记”矢线。作为一个实例,并非通过限制的方式,用户(用户“C”)可以使用特定的应用程序(例如,SPOTIFY,这是在线音乐应用程序)收听特定的歌曲(“Ramble On”)。在这种情况下,社交网络系统160可以在与用户对应的用户节点202与和歌曲和应用程序对应的概念节点204之间创建“收听”的矢线206和“使用”的矢线(如图5中所示),以表示用户收听歌曲和使用应用程序。而且,社交网络系统160可以在与歌曲和应用程序对应的概念节点204之间创建“收听”的矢线206(如图2中所示),以表示由特定的应用程序播放特定的歌曲。在这种情况下,“收听”的矢线206与由外部应用程序(SPOTIFY)在外部音频文件(歌曲“Imagine”)上执行的活动对应。虽然本公开描述了连接用户节点202和概念节点204的具有特定属性的特定矢线206,但是本公开预计连接用户节点202和概念节点204的具有任何合适的属性的任何合适的矢线206。而且,虽然本公开描述了表示单个关系的在用户节点202和概念节点204之间的矢线,但是本公开预计表示一个或多个关系的在用户节点202和概念节点204之间的矢线。作为一个实例,并非通过限制的方式,矢线206可以表示用户喜欢并且使用的特定概念。替换地,另一个矢线206可以表示在用户节点202和概念节点204之间(如图5中所示,在用户“E”的用户节点202和“SPOTIFY”的概念节点204之间)的每种类型的关系(或单个关系的倍数)。
在具体实施方式中,社交网络系统160可以在用户节点202和概念节点204之间创建矢线206。作为一个实例,并非通过限制的方式,查看概念配置文件页面的用户(例如,通过使用由用户的客户端系统130托管的网络浏览器或专用应用程序)可以通过点击或选择“喜欢”图标来指示该用户喜欢由概念节点204表示的概念,这可以促使用户的客户端系统130给社交网络系统160传输表示用户喜欢与概念配置文件页面相关联的概念的消息。响应于该消息,社交网络系统160可以在与用户相关联的用户节点202和概念节点204之间创建矢线206,如“喜欢”在用户和概念节点204之间的矢线206所示。在具体实施方式中,社交网络系统160可以在一个或多个数据储存内储存矢线206。在具体实施方式中,可以由社交网络系统160响应于特定的用户活动自动形成矢线206。作为一个实例,并非通过限制的方式,如果第一用户上传图片,看电影,或者收听歌曲,那么可以在与第一用户对应的用户节点202和与那些概念对应的概念节点204之间形成矢线206。虽然本公开描述了通过特定的方式形成特定的矢线206,但是本公开预计通过任何合适的方式形成任何合适的矢线206。
图6示出了实例计算系统。在具体实施方式中,一个或多个计算机系统60执行在本文中描述或显示的一个或多个方法的一个或多个步骤。在具体实施方式中,一个或多个计算机系统60提供在本文中描述或显示的功能。在具体实施方式中,在一个或多个计算机系统60上运行的软件执行在本文中描述或显示的一个或多个方法的一个或多个步骤,或者提供在本文中描述或显示的功能。具体实施方式包括一个或多个计算机系统60的一个或多个部分。在本文中,在适当的情况下,计算机系统的引用可以包括计算装置。而且,在适当的情况下,计算机系统的引用可以包括一个或多个计算机系统。
本公开预计具有任何适当数量的计算机系统60。本公开预计具有采用任何合适的物理形式的计算机系统60。作为实例,并非通过限制的方式,计算机系统60可为嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,计算机模块(COM)或系统模块(SOM))、台式电脑系统、膝上型或笔记本式电脑系统、交互式自助服务机、主机、计算机系统的网格、移动电话、个人数字助理(PDA)、服务器、平板电脑系统、或其中的两个或多个的组合。在适当的情况下,计算机系统60可包括一个或多个计算机系统60;可为单一式或分布式;跨过多个位置;跨过多台机器;或者位于云中,其在一个或多个网络中可包括一个或多个云元件。在适当的情况下,一个或多个计算机系统60可执行在本文中描述或显示的一个或多个方法的一个或多个步骤,无需大量空间或时间限制。作为实例,并非通过限制的方式,一个或多个计算机系统60可实时或以成批的方式执行在本文中描述或显示的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统60可在不同的时间或者在不同的位置执行在本文中描述或显示的一个或多个方法的一个或多个步骤。
在具体实施方式中,计算机系统60包括处理器62、存储器64、存储介质66、输入/输出(I/O)接口68、通信接口70以及总线72。虽然本公开描述和显示了在特定的设置中具有特定数量的特定元件的特定计算机系统,但是本公开预计在任何合适的设置中具有任何合适的数量的任何合适的元件的任何合适的计算机系统。
在具体实施方式中,处理器62包括用于执行指令的硬件,例如,构成计算机程序的那些指令。作为实例,并非通过限制的方式,为了执行指令,处理器62可从内部寄存器、内部高速缓存、存储器64或存储介质66中检索(或提取)指令;将这些指令解码并且执行这些指令;然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器64或存储介质66中。在具体实施方式中,处理器62可以包括用于数据、指令或地址的一个或多个内部高速缓存。本公开预计处理器62在适当的情况下包括任何合适数量的任何合适的内部高速缓存。作为实例,并非通过限制的方式,处理器62可以包括一个或多个指令高速缓存、一个或多个数据高速缓存、以及一个或多个转译后备缓冲器(TLB)。在指令高速缓存内的指令可以是在存储器64或存储介质66内的指令的副本,并且指令高速缓存可以加速由处理器62检索那些指令。在数据高速缓存内的数据可以是在存储器64或存储介质66内的数据的副本,用于要起作用的的在处理器62上执行的指令;在处理器62上执行的先前指令的结果由在处理器62上执行的后续指令访问或者写入存储器64或存储介质66内;或者其他合适的数据。数据高速缓存可以加速处理器62的读取或写入操作。TLB可以加速处理器62的虚拟地址转译。在具体实施方式中,处理器62可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开预计处理器62包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器62可以包括一个或多个算术逻辑单元(ALU);是多核处理器;或者包括一个或多个处理器62。虽然本公开描述和显示了特定的处理器,但是本公开预计任何合适的处理器。
在具体实施方式中,存储器64包括主存储器,用于储存要执行的处理器62的指令或者要起作用的处理器62的数据。作为实例,并非通过限制的方式,计算机系统60可将指令从存储介质66或另一个源(例如,另一个计算机系统60)中装载到存储器64中。然后,处理器62可将指令从存储器64中装载到内部寄存器或内部高速缓存中。为了执行这些指令,处理器62可从内部寄存器或内部高速缓存中检索指令,并且将这些指令解码。在执行指令期间或之后,处理器62可将一个或多个结果(这些结果可为中间或最终结果)写入内部寄存器或内部高速缓存中。然后,处理器62可将这些结果中的一个或多个写入存储器64中。在具体实施方式中,存储器64仅仅执行在一个或多个内部寄存器或内部高速缓存内或者在存储器64内(与存储介质66相反或者在别处)的指令,并且仅仅操作在一个或多个内部寄存器或内部高速缓存内或者在存储器64内(与存储介质66相反或者在别处)的数据。一个或多个内存总线(这些总线均可包括地址总线和数据总线)可使处理器62与存储器64耦接。如下所述,总线72可包括一个或多个内存总线。在具体实施方式中,一个或多个内存管理单元(MMU)位于处理器62与存储器64之间,并且有助于访问由处理器62请求的存储器64。在具体实施方式中,存储器64包括随机存取存储器(RAM)。在适当的情况下,该RAM可为易失性存储器。在适当的情况下,该RAM可为动态RAM(DRAM)或静态RAM(SRAM)。而且,在适当的情况下,该RAM可为单端口或多端口RAM。本公开预计任何合适的RAM。在适当的情况下,存储器64可以包括一个或多个存储器64。虽然本公开描述和显示了特定的存储器,但是本公开预计任何合适的存储器。
在具体实施方式中,存储介质66包括用于数据或指令的大容量存储器。作为实例,并非通过限制的方式,存储介质66可包括HDD、软盘驱动器、闪速存储器、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或其中的两个或多个的组合。在适当的情况下,存储介质66可包括可移动或固定的(或固定的)介质。在适当的情况下,存储介质66可位于计算机系统60的内部或外部。在具体实施方式中,存储介质66是非易失性固态存储器。在具体实施方式中,存储介质66包括只读存储器(ROM)。在适当的情况下,该ROM可为掩膜编程的ROM、可编程的ROM(PROM)、可擦PROM(EPROM)、电可擦PROM(EEPROM)、电可改写ROM(EAROM)、或闪速存储器或其中的两个或多个的组合。本公开预计采用任何合适的物理形式的大容量存储介质66。在适当的情况下,存储介质66可以包括促进在处理器62与存储介质66之间通信的一个或多个储存控制单元。在适当的情况下,存储介质66可以包括一个或多个存储介质66。虽然本公开描述和显示了特定的储存器,但是本公开预计任何合适的储存器。
在具体实施方式中,I/O接口68包括硬件和/或软件,其提供一个或多个接口,用于在计算机系统60与一个或多个I/O装置之间进行通信。在适当的情况下,计算机系统60可包括这些I/O装置中的一个或多个。这些I/O装置中的一个或多个能够在个人与计算机系统60之间进行通信。作为实例,并非通过限制的方式,I/O装置可包括键盘、按键、麦克风、显示器、鼠标、打印机、扫描仪、扬声器、静物照相机、唱针、平板电脑、触摸式屏幕、轨迹球、摄影机、另一个合适的I/O装置或其中的两个或多个的组合。I/O装置可包括一个或多个传感器。本公开预计具有任何合适的I/O装置以及用于这些I/O装置的任何合适的I/O接口68。在适当的情况下,I/O接口68可包括一个或多个装置或软件驱动器,其能够允许处理器62驱动这些I/O装置中的一个或多个。在适当的情况下,I/O接口68可包括一个或多个I/O接口68。虽然本公开描述和显示了特定的I/O接口,但是本公开预计具有任何合适的I/O接口。
在具体实施方式中,通信接口70包括硬件和/或软件,其提供一个或多个接口,用于在计算机系统60与一个或多个其他计算机系统60或一个或多个网络之间进行通信(例如,基于分组的通信)。作为实例,并非通过限制的方式,通信接口70可包括网络接口控制器(NIC)、或用于与以太网或其他有线网络或无线NIC(WNIC)进行通信的网络适配器、或用于与无线网络(例如,WI-FI网络)进行通信的网络适配器。本公开预计具有任何合适的网络以及用于该网络的任何合适的通信接口70。作为实例,并非通过限制的方式,计算机系统60可与自组织网络、个人区域网络(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或互联网的一个或多个部分或其中的两个或多个的组合进行通信。这些网络中的一个或多个的一个或多个部分可为有线或无线部分。作为一个实例,计算机系统60可与无线PAN(WPAN)(例如,BLUETOOTH WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通讯系统(GSM)网络)、或其他合适的无线网络或其中的两个或多个的组合进行通信。在适当的情况下,计算机系统60可以包括用于这些网络中的任一个的任何合适的通信接口70。在适当的情况下,通信接口70可以包括一个或多个通信接口70。虽然本公开描述和显示了特定的通信接口,但是本公开预计具有任何合适的通信接口。
在具体实施方式中,总线72包括硬件和/或软件,其使计算机系统60的元件彼此耦接。作为实例,并非通过限制的方式,总线72可包括加速图形端口(AGP)或其他图形总线、增强型工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准结构(ISA)总线、无限带宽互连、低脚位(LPC)总线、内存总线、微通道结构(MCA)总线、外围组件互连(PCI)总线、PCI高速(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或另一个合适的总线或其中的两个或多个的组合。在适当的情况下,总线72可包括一个或多个总线72。虽然本公开描述和显示了特定的总线,但是本公开预计具有任何合适的总线或互连。
在本文中,在适当的情况下,计算机可读非暂时性存储介质的引用可包括基于半导体的或者其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器HDD、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡、安全数字卡或驱动器、另一个合适的计算机可读非暂时性存储介质、或者其中的一个合适的组合。在适当的情况下,计算机可读非暂时性存储介质可为易失性、非易失性或者易失性和非易失性的组合。
在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“或”具有包括而非排除的意思。因此,在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“A或B”表示“A和/或B”。而且,除非另有明确规定或者在上下文中另有明确规定,否则“和”具有共同和单独的意思。因此,在本文中,除非另有明确规定或者在上下文中另有明确规定,否则“A和B”表示“共同或单独的A和B”。
本公开的范围包括本领域的技术人员会理解的在本文中描述或显示的实例实施方式的所有变化、替换、变动、变更以及修改。本公开的范围不限于在本文中描述或显示的实例实施方式。而且,虽然本公开描述和显示了在本文中相应的实施方式包括特定的元件、部件、功能、操作或步骤,但是这些实施方式中的任一个可以包括本领域的技术人员会理解的在本文中的任何地方描述或显示的任何元件、部件、功能、操作或步骤的任何组合或排列。而且,只要适合于、被设置为、能够、被配置为、启用、可用于或者有效地执行一个特定的功能的设备、系统、或设备或系统的元件这样适合、设置、能干、配置、启用、可用或者有效,就无论是否激活、打开或开启该设备、系统、元件或该特定的功能,在所附权利要求中引用该设备、或系统、或元件都包括该设备、系统、元件。

Claims (14)

1.一种计算方法,包括:
由一个或多个计算装置接收与一个或多个内容对象相关联的用户活动的更新,所述内容对象与搜索项相关联,所述用户活动包括在线社交网络的一个或多个用户与一个或多个内容对象的一个或多个交互,其中,所述内容对象是多个不同的内容对象类型的,并且其中,每个内容对象在多个索引服务器中的一个具体的索引服务器上索引;
由一个或多个计算装置响应于接收所述更新,在多个索引服务器中的具体的索引服务器上的更新层上索引所述一个或多个内容对象,其中,所述索引服务器中的每个存储识别信息的列表,所述识别信息对应于所述多个不同的内容对象类型中的单独的内容对象类型的内容对象,并且其中,所述更新层索引最近活动并且包括与所述更新相关联的所述一个或多个内容对象的识别信息;
由一个或多个计算装置确定所述搜索项是否具有超过预定阈值数量的在所述具体的索引服务器的所述更新层上索引的多个相关联的内容对象,其中,所述预定阈值数量是基于与所述具体的索引服务器相关联的所述内容对象的内容对象类型预定的;并且
由一个或多个计算装置在一个或多个预定时间将所述识别信息从所述更新层提升到基础层,其中,所述基础层索引先前由所述更新层索引的活动并且包括仅单独的内容对象类型的识别信息,并且其中,所述基础层包括先前与所述搜索项相关联的所述单独的内容对象类型的一个或多个其他内容对象的识别信息。
2.根据权利要求1所述的方法,其中,提升所述识别信息包括由一个或多个计算装置响应于所述用户活动上传所述内容对象,将与所述用户活动相关联的所述内容对象的标识符信息加入所述更新层中。
3.根据权利要求1所述的方法,其中,提升所述识别信息包括由一个或多个计算装置响应于所述用户活动删除所述内容对象,在所述更新层内提供与所述用户活动相关联的所述内容对象不再与所述搜索项相关联的指示。
4.根据权利要求1所述的方法,进一步包括由一个或多个计算装置返回搜索查询的一个或多个搜索结果,所述搜索查询包括所述搜索项以及与由项目服务器索引的一个或多个内容对象相关联的另一个搜索项,至少部分根据与所述用户活动相关联的所述内容对象以及通过所述列表的标识符信息与和其他搜索项相关联的内容对象的列表的标识符信息的交集确定的一个或多个内容对象,确定所述搜索结果。
5.根据权利要求1所述的方法,进一步包括:
由一个或多个计算装置,响应于与其他搜索项相关联的内容对象的数量超过所述预定的阈值数,在一个或多个索引服务器上生成与另一个搜索项相关联的列表;并且
由一个或多个计算装置,通过由项目服务器索引的一个或多个内容对象的标识符信息,填充与所述其他搜索项相关联的索引服务器中的一个或多个的列表。
6.根据权利要求5所述的方法,进一步包括由一个或多个计算装置删除所述搜索项以及与所述其他搜索项相关联的所述项目服务器的列表。
7.一种或多种包含软件的计算机可读非暂时性存储介质,在执行时所述软件能操作以:
接收与一个或多个内容对象相关联的用户活动的更新,所述内容对象与搜索项相关联,所述用户活动包括在线社交网络的一个或多个用户与一个或多个内容对象的一个或多个交互,其中,所述内容对象是多个不同的内容对象类型的,并且其中,每个内容对象在多个索引服务器中的一个具体的索引服务器上索引;
响应于接收所述更新,在多个索引服务器中的具体的索引服务器上的更新层上索引所述一个或多个内容对象,其中,所述索引服务器中的每个存储识别信息的列表,所述识别信息对应于所述多个不同的内容对象类型中的单独的内容对象类型的内容对象,并且其中,所述更新层索引最近活动并且包括与所述更新相关联的所述一个或多个内容对象的识别信息;
确定所述搜索项是否具有超过预定阈值数量的在所述具体的索引服务器的所述更新层上索引的多个相关联的内容对象,其中,所述预定阈值数量是基于与所述具体的索引服务器相关联的所述内容对象的内容对象类型预定的;并且
在一个或多个预定时间将所述识别信息从所述更新层提升到基础层,其中,所述基础层索引先前由所述更新层索引的活动并且包括仅单独的内容对象类型的识别信息,并且其中,所述基础层包括先前与所述搜索项相关联的所述单独的内容对象类型的一个或多个其他内容对象的识别信息。
8.根据权利要求7所述的介质,其中,所述软件进一步被配置为响应于所述用户活动上传所述内容对象,将与所述用户活动相关联的所述内容对象的标识符信息加入所述更新层中。
9.根据权利要求7所述的介质,其中,所述软件进一步被配置为响应于所述用户活动删除所述内容对象,在所述更新层内提供与所述用户活动相关联的所述内容对象不再与所述搜索项相关联的指示。
10.根据权利要求7所述的介质,其中,所述软件进一步被配置为返回搜索查询的一个或多个搜索结果,所述搜索查询包括所述搜索项以及与由项目服务器索引的一个或多个内容对象相关联的另一个搜索项,至少部分根据与所述用户活动相关联的所述内容对象以及通过所述列表的标识符信息与和其他搜索项相关联的内容对象的列表的标识符信息的交集确定的一个或多个内容对象,确定所述搜索结果。
11.根据权利要求7所述的介质,其中,所述软件进一步被配置为:
响应于与其他搜索项相关联的内容对象的数量超过所述预定的阈值数,在一个或多个索引服务器上生成与另一个搜索项相关联的列表;并且
通过由项目服务器索引的一个或多个内容对象的标识符信息,填充与所述其他搜索项相关联的所述索引服务器中的一个或多个的列表。
12.根据权利要求11所述的介质,其中,所述软件进一步被配置为删除所述搜索项以及与所述其他搜索项相关联的所述项目服务器的列表。
13.一种计算装置,包括:
处理器;以及
一个或多个计算机可读非暂时性存储介质,耦接至所述处理器,并且包含软件以:
接收与一个或多个内容对象相关联的用户活动的更新,所述内容对象与搜索项相关联,所述用户活动包括在线社交网络的一个或多个用户与一个或多个内容对象的一个或多个交互,其中,所述内容对象是多个不同的内容对象类型的,并且其中,每个内容对象在多个索引服务器中的一个具体的索引服务器上索引;
响应于接收所述更新,在多个索引服务器中的具体的索引服务器上的更新层上索引所述一个或多个内容对象,其中,所述索引服务器中的每个存储识别信息的列表,所述识别信息对应于所述多个不同的内容对象类型中的单独的内容对象类型的内容对象,并且其中,所述更新层索引最近活动并且包括与所述更新相关联的所述一个或多个内容对象的识别信息;
确定所述搜索项是否具有超过预定阈值数量的在所述具体的索引服务器的所述更新层上索引的多个相关联的内容对象,其中,所述预定阈值数量是基于与所述具体的索引服务器相关联的所述内容对象的内容对象类型预定的;并且
在一个或多个预定时间将所述识别信息从所述更新层提升到基础层,其中,所述基础层索引先前由所述更新层索引的活动并且包括仅单独的内容对象类型的识别信息,并且其中,所述基础层包括先前与所述搜索项相关联的所述单独的内容对象类型的一个或多个其他内容对象的识别信息。
14.根据权利要求13所述的装置,其中,所述软件进一步被配置为响应于所述用户活动上传所述内容对象,将与所述用户活动相关联的所述内容对象的标识符信息加入所述更新层中。
CN201480038223.5A 2013-05-21 2014-05-21 利用更新层的数据库分区 Active CN105378726B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/899,305 US10977229B2 (en) 2013-05-21 2013-05-21 Database sharding with update layer
US13/899,305 2013-05-21
PCT/US2014/038952 WO2014190045A1 (en) 2013-05-21 2014-05-21 Database sharing with update layer

Publications (2)

Publication Number Publication Date
CN105378726A CN105378726A (zh) 2016-03-02
CN105378726B true CN105378726B (zh) 2019-03-08

Family

ID=51934091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480038223.5A Active CN105378726B (zh) 2013-05-21 2014-05-21 利用更新层的数据库分区

Country Status (10)

Country Link
US (1) US10977229B2 (zh)
EP (1) EP3000060B1 (zh)
JP (1) JP6483092B2 (zh)
KR (1) KR20160010873A (zh)
CN (1) CN105378726B (zh)
AU (1) AU2014268608B2 (zh)
BR (1) BR112015029306A2 (zh)
CA (1) CA2912414A1 (zh)
MX (1) MX353312B (zh)
WO (1) WO2014190045A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US9483568B1 (en) * 2013-06-05 2016-11-01 Google Inc. Indexing system
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10402385B1 (en) 2015-08-27 2019-09-03 Palantir Technologies Inc. Database live reindex
US11392582B2 (en) * 2015-10-15 2022-07-19 Sumo Logic, Inc. Automatic partitioning
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
CA3128753C (en) * 2017-02-27 2023-04-18 Timescale, Inc. Scalable database system for querying time-series data
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10599726B2 (en) * 2017-04-19 2020-03-24 A9.Com, Inc. Methods and systems for real-time updating of encoded search indexes
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US11921767B1 (en) * 2018-09-14 2024-03-05 Palantir Technologies Inc. Efficient access marking approach for efficient retrieval of document access data
CN111831878B (zh) * 2019-04-22 2023-09-15 百度在线网络技术(北京)有限公司 构建价值索引关系的方法、索引系统及索引装置
US11245762B1 (en) 2021-05-19 2022-02-08 Red Hat, Inc. Data request servicing using smart network interface cards
CN115374299B (zh) * 2022-10-24 2023-02-03 杭州悦数科技有限公司 分布式图数据库中可达性索引的分层构建方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209193A (ja) * 2004-01-20 2005-08-04 Microsoft Corp ドキュメントインデックスのための低頻度ワードインデックス
CN101477486A (zh) * 2009-01-22 2009-07-08 中国人民解放军国防科学技术大学 一种基于扇区重组的文件备份恢复方法
CN102253990A (zh) * 2011-07-05 2011-11-23 广东星海数字家庭产业技术研究院有限公司 一种交互应用多媒体数据的查询方法及其装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216090B2 (en) * 2000-11-28 2007-05-08 Navic Systems, Inc. Promotion packaging for transmission groups
JP4314126B2 (ja) 2004-02-20 2009-08-12 株式会社東芝 同時実行制御方法及び装置
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
US7966304B2 (en) * 2007-11-30 2011-06-21 Yahoo! Inc. Enabling searching on abbreviated search terms via messaging
US8938467B2 (en) * 2009-03-25 2015-01-20 Eloy Technology, Llc System and method for intelligent storage of time shifted content
CN101546342B (zh) 2009-05-08 2012-07-04 阿里巴巴集团控股有限公司 实现搜索服务的方法与系统
US20110040762A1 (en) * 2009-08-12 2011-02-17 Globalspec, Inc. Segmenting postings list reader
JP2011044086A (ja) 2009-08-24 2011-03-03 Nec Corp 検索装置、検索方法、及びプログラム
US8527496B2 (en) 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network
US8244700B2 (en) 2010-02-12 2012-08-14 Microsoft Corporation Rapid update of index metadata
US8527497B2 (en) 2010-12-30 2013-09-03 Facebook, Inc. Composite term index for graph data
US8719257B2 (en) 2011-02-16 2014-05-06 Symantec Corporation Methods and systems for automatically generating semantic/concept searches
WO2012126180A1 (en) 2011-03-24 2012-09-27 Microsoft Corporation Multi-layer search-engine index
US20130117103A1 (en) 2011-11-08 2013-05-09 Insightexpress, Llc Universal control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209193A (ja) * 2004-01-20 2005-08-04 Microsoft Corp ドキュメントインデックスのための低頻度ワードインデックス
CN101477486A (zh) * 2009-01-22 2009-07-08 中国人民解放军国防科学技术大学 一种基于扇区重组的文件备份恢复方法
CN102253990A (zh) * 2011-07-05 2011-11-23 广东星海数字家庭产业技术研究院有限公司 一种交互应用多媒体数据的查询方法及其装置

Also Published As

Publication number Publication date
EP3000060B1 (en) 2021-01-13
WO2014190045A1 (en) 2014-11-27
WO2014190045A8 (en) 2015-04-16
BR112015029306A2 (pt) 2017-07-25
EP3000060A4 (en) 2017-01-18
MX353312B (es) 2018-01-08
US20140351203A1 (en) 2014-11-27
US10977229B2 (en) 2021-04-13
CA2912414A1 (en) 2014-11-27
JP6483092B2 (ja) 2019-03-13
AU2014268608A1 (en) 2016-01-21
JP2016526218A (ja) 2016-09-01
CN105378726A (zh) 2016-03-02
MX2015016060A (es) 2016-08-03
EP3000060A1 (en) 2016-03-30
AU2014268608B2 (en) 2019-05-09
KR20160010873A (ko) 2016-01-28

Similar Documents

Publication Publication Date Title
CN105378726B (zh) 利用更新层的数据库分区
JP6388988B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリのための静的ランク付け
JP6408081B2 (ja) オンライン・ソーシャル・ネットワーク上の検索結果をブレンドすること
JP6377807B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリの書き換え
JP6689389B2 (ja) ディープラーニングモデルを用いたエンティティの識別
JP5964526B2 (ja) 抽出演算子
US9767218B2 (en) Indexing edge-ranked based partitions
US9721025B2 (en) Generating logical expressions for search queries
CN107766479B (zh) 用于在线社交网络的客户端搜索模板
CN107403388B (zh) 用于结构化搜索查询的语法模型
CN105210049B (zh) 通信方法、通信系统和计算机可读永久性储存介质
JP2016201143A (ja) オンライン・ソーシャル・ネットワークにおける検索クエリに対する近似的プライバシ
JP6407968B2 (ja) 可変検索クエリ・バーティカル・アクセス
KR20180080276A (ko) 딥-러닝 모델을 사용한 컨텐츠 아이템의 식별
CN105283841B (zh) 应用定制的对象再利用和再循环
CN105283835B (zh) 应用程序定制的对象预填充
CN105264526B (zh) 基于垂直的查询选择化
US10983973B2 (en) Database sharding with incorporated updates
KR20150121716A (ko) 데이터 세트의 샘플링

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.