CN102713904B - 利用可缩放的数据结构的方法和装置 - Google Patents

利用可缩放的数据结构的方法和装置 Download PDF

Info

Publication number
CN102713904B
CN102713904B CN201080058434.7A CN201080058434A CN102713904B CN 102713904 B CN102713904 B CN 102713904B CN 201080058434 A CN201080058434 A CN 201080058434A CN 102713904 B CN102713904 B CN 102713904B
Authority
CN
China
Prior art keywords
profile
identifier
entity
data structure
field
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.)
Expired - Fee Related
Application number
CN201080058434.7A
Other languages
English (en)
Other versions
CN102713904A (zh
Inventor
Y·科苏鲁
J·卡亚拉
M·奥伊卡里南
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN102713904A publication Critical patent/CN102713904A/zh
Application granted granted Critical
Publication of CN102713904B publication Critical patent/CN102713904B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/24Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

提供一种用于利用可缩放的数据结构的方案。接收指定实体标识符和所请求的内容的查询。基于数据结构的简档索引的实体标识符至少部分地引起搜索,每一个数据结构指定与访问控制字段相关联的简档字段以产生搜索结果。针对实体标识符指示对所请求的内容的访问权。数据结构进一步包括简档字段和访问控制字段。

Description

利用可缩放的数据结构的方法和装置
背景技术
服务供应商(例如无线、蜂窝等等)和设备制造商被连续挑战以例如通过提供引人入胜的网络服务而向消费者传递价值和便利。产业中的重要区分在于应用和网络服务以及支持和缩放这些服务的能力。具体地说,这些应用和服务可以包括例如通过社交服务访问和管理所使用的数据。这些服务势必要承担对涉及数据访问的大量用户简档的管理。传统上,存在用于控制访问和组织数据的方式的分离机制。随着用户数量的增长,这些机制不能很好地缩放,并且可能导致关于信息获取方面越来越大的延迟。
发明内容
因此,需要用于利用可缩放的数据结构以搜索简档(例如用户简档、实体简档等等)的方案。
根据一个实施例,一种方法包括接收指定实体标识符和所请求的内容的查询。方法还包括基于数据结构的简档索引的实体标识符至少部分地引起搜索,每一个数据结构指定与访问控制字段相关联的简档字段以产生搜索结果。方法进一步包括针对实体标识符指示对所请求的内容的访问权。数据结构进一步包括简档字段和访问控制字段。
根据另一实施例,一种装置包括至少一个处理器,以及包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置以与至少一个处理器一起使装置至少部分地接收指定实体标识符和所请求的内容的查询。还使装置基于数据结构的简档索引的实体标识符至少部分地引起搜索,每一个数据结构指定与访问控制字段相关联的简档字段以产生搜索结果。进一步使装置针对实体标识符指示对所请求的内容的访问权。数据结构进一步包括简档字段和访问控制字段。
根据另一实施例,一种承载一个或者多个指令的一个或者多个序列的计算机可读存储介质,在通过一个或者多个处理器执行时该一个或者多个指令的一个或者多个序列使装置至少部分地接收指定实体标识符和所请求的内容的查询。还使装置基于数据结构的简档索引的实体标识符引起搜索,每一个数据结构指定与访问控制字段相关联的简档字段以产生搜索结果。进一步使装置针对实体标识符指示对所请求的内容的访问权。数据结构进一步包括简档字段和访问控制字段。
根据另一实施例,一种装置包括用于接收指定实体标识符和所请求的内容的查询的模块。该装置还包括用于基于数据结构的简档索引的实体标识符至少部分地引起搜索的模块,每一个数据结构指定与访问控制字段相关联的简档字段以产生搜索结果。装置进一步包括用于针对实体标识符指示对所请求的内容的访问权的模块。数据结构进一步包括简档字段和访问控制字段。
通过下面的详细说明,简单地通过说明包括设计用于执行本发明的最佳模式的多个特定实施例和实现,本发明的其他方面、特征和优点将容易明显。本发明还能够具有其他和不同的实施例,并且能够在不偏离本发明的精神和范围的情况下在各种明显的方面修改其若干细节。因此,附图和说明书被认为在本质上是说明性的而非限制性的。
附图说明
在附图的图中以示例的方式而非限制的方式说明了本发明的实施例:
图1A是根据一个实施例能够利用可缩放的数据结构的系统的图示;
图1B是根据一个实施例的分布式索引引擎的部件的图示;
图1C是根据一个实施例的分布式键值存储的部件的图示;
图2是根据一个实施例的示例可缩放的数据结构的使用的图示;
图3是根据一个实施例可以在分布式键值存储中利用的示例性数据结构的图示;
图4是根据一个实施例用于创建和索引简档的处理的流程图;
图5是根据一个实施例用于利用可缩放的数据结构以搜索简档的处理的流程图;
图6是能够用于实现本发明的实施例的硬件的图示;
图7是能够用于实现本发明的实施例的芯片组的图示;以及
图8是能够用于实现本发明的实施例的移动终端(例如手持机)的图示。
具体实施方式
公开了用于利用可缩放的数据结构以搜索用户简档的方法、装置和计算机程序的示例。在下面的描述中,出于解释目的阐述了各种特定细节以提供对本发明实施例的全面理解。然而,对于本领域的普通技术人员来说很明显,可以在没有这些特定细节的情况下或者利用等同设置实践本发明的实施例。在其他实例中,以方框图形式示出了公知的结构和设备以避免不必要地混淆本发明的实施例。
图1A是根据一个实施例能够利用可缩放的数据结构的系统的图示。随着对网络服务(特别是社交网络服务)需求的增加,例如正确管理用户联系人数据、简档数据以及用户的连接数据的需要是至高关注的。社交网络服务的一个不可分割部分是对这些数据的连续搜索和更新。结果,这些搜索和获取功能导致了越来越大的数据库。注意到,数据库的尺寸、效率和延迟可能基于如何存储数据而受到限制。
为了解决这一问题,图1的系统100引入了利用可缩放的数据结构的能力。该数据结构可以存储关于例如个人、公司、组织、组等等的一个或者多个实体的信息。在某些实施例中,数据结构可以包括访问控制字段、简档标识符、与简档数据(例如以地址数据、电子邮件数据、电话号码数据等等为例的联系人信息,名称数据,其他标识符,朋友数据,与诸如评论数据之类的简档相关联的其他数据,关于实体的其他数据等等)相关联的一个或者多个字段,或者其组合。而且,可以利用其他数据。访问控制字段能够例如与一个或者多个实体标识符或者表示标识符有权访问简档标识符以及一个或者多个相关联的字段的其他标识符相关联。在某些实施例中,实体标识符是与用户、组、组织等等相关联的标识符。尽管参照用户标识符描述了各种实施例,但是预期这里描述的方案可以与包括组标识符、组织标识符、成员标识符、雇员标识符等等的其他实体标识符一起使用。进而,实体或者属于实体的用户可以通过提供实体标识符或者链接到该实体标识符的另一标识符而通过系统100进行验证。换句话说,用户标识符可以被链接到与该用户标识符的用户相关联的多个实体标识符(例如雇主标识符、组标识符等等)。在一种情景下,用户能够使用他们在通信网络105上与社交服务平台130交互的用户设备(UE)101a-101n来利用服务。UE 101a-101n的每一个可以使用一个或者多个应用107以利用社交服务平台103来获取关于使用该数据结构的实体的信息。
进而,在一个实施例中,数据结构的访问控制字段可以使用文本索引的版本而被索引。在文本索引中,可以基于包含在为真的变量(例如文档或者简档)内的每一个单词来索引该变量。例如,字符串变量“this is the first version,not the beta version”包括单词“this”、“is”、“the”、“first”、“version”、“not”和“beta”。其还包括一些单词多次以及某些常用词。在一种情景中,访问控制字段可以被索引,其中每一个单词是用户标识符或者实体标识符。而且,数据结构可以用于创建倒排索引。倒排索引是能够存储从内容(例如与用户简档一起存储的单词或者数字)到其在数据库文件、文档、一组文档等等中的位置的映射的索引数据结构。在某些情景中,对于每一个实体标识符,存在限定到与用户或者实体的简档相关联的数据位置的不同可视性的多条线。此外,代替或者附加于用于索引数据结构的倒排索引,可以利用其他索引(例如哈希表数据结构或者诸如B树索引的树数据结构)。B树是与二进制搜索树类似的树数据结构,但是具有从节点分支的多于一条路径的能力。B树索引可以包括数据库的分段的第一记录。这样,B树索引能够用于确定要搜索数据结构的数据库的哪一分段。哈希表可以附加地用于将标识符或者键(例如名称)映射到值(例如数字)。然后,能够使用哈希索引这些值以搜索这些键。图1C中讨论了哈希索引的进一步示例性实现细节。
进而,服务平台109可以常规地与社交服务平台103交互。服务平台109可以提供社交服务、消息收发服务、保险服务、零售服务、音乐服务或者可以利用存储在社交服务平台103中的数据的其他类似服务。例如,一些服务可以访问社交服务平台103以访问一个或者多个用户的简档数据并且利用在其各自UE 101上的应用107将此信息提供给服务平台109的一个或者多个用户。而且,服务平台109的一个或者多个服务可以是具有使用社交服务平台103进行存储的简档信息的实体。
利用社交联网应用107的服务或者用户可以通过向社交服务平台103发送请求来创建、管理、更新、搜索或者获取简档。社交服务平台103可以利用社交应用编程接口(API)111以接收请求。在某些实施例中,社交API 111可以被实现在一个或者多个平台(例如服务器、计算机、电子机器等等)上并且利用表述性状态转移(REST)、SOAP、可扩展消息和出席协议(XMPP)、JavaScript API、其他类似的API或者其组合。在某些实施例中,用户经由XMPP联系服务平台109上的服务并且服务平台109用作位于UE 101和社交服务平台103之间的媒介。
作为示例的方式,系统100的通信网络105包括诸如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或者其任意组合的一个或者多个网络。预期数据网络可以是局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网络(例如以太网)或者诸如以私有电缆或者光纤网络为例的商业拥有的、私有分组交换网络之类的任何其他适合的分组交换网络。此外,无线网络可以例如是蜂窝网络并且可以采用包括增强型数据速率全球演进(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等等的各种技术以及例如全球微波接入互操作性(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星、移动自组网(MANET)等等的任何其他适合的无线媒介。
UE 101是移动终端、固定终端或者包括移动手持机、站、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、桌面计算机、膝上型电脑、个人数字助理(PDA)或者其任意组合的便携式终端的任意类型。还可以预期UE 101能够支持到用户的任何类型的接口(例如“可佩戴”电路等等)。
作为示例的方式,UE 101、服务平台109以及社交服务平台103使用公知的、新的或者仍在研发的协议彼此通信并且与通信网络105的其他部件通信。在该上下文中,协议包括定义通信网络105内的网络节点如何基于在通信链路上发送的信息而彼此交互的一组规则。协议在每一个节点内的不同操作层上有效,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到由那些信号指示的信息的格式,到识别在计算机系统上执行的哪一个软件应用发送或者接收此信息。在开放系统互连(OSI)参考模型中描述了用于在网络上交换信息的协议的概念上不同的层。
典型地通过交换数据的离散分组来实现网络节点之间的通信。每一个分组通常包括(1)与特定协议相关联的报头信息,以及(2)跟随报头信息并且包含可以独立于该特定协议进行处理的信息的有效载荷信息。在一些协议中,分组包括(3)跟随有效载荷并且指示有效载荷信息的结束的尾端信息。报头包括诸如分组的源、其目的地、有效载荷的长度以及由该协议使用的其他属性之类的信息。经常,用于特定协议的有效载荷中的数据包括用于与OSI参考模型的不同的较高层相关联的不同协议的报头和有效载荷。用于特定协议的报头通常指示包含在其有效载荷中的下一协议的类型。认为较高层协议被封装在较低层协议中。包括在横跨诸如互联网的多个异构网络的分组中的报头通常包括由OSI参考模型定义的物理(层1)报头、数据链路(层2)报头、互联网络(层3)报头和传输(层4)报头,以及各种应用报头(层5、层6和层7)。
在一个实施例中,社交联网应用107和社交服务平台103根据客户端-服务器模型进行交互。根据客户端-服务器模型,客户端进程向服务器进程发送包括请求的消息,服务器进程通过提供服务做出响应。服务器进程也可以返回具有对客户端进程的响应的消息。通常客户端进程和服务器进程在被称为主机的不同计算机设备上执行并且使用用于网络通信的一个或者多个协议经由网络进行通信。术语“服务器”传统上用于指代提供服务的进程,或者进程在其上操作的主机计算机。类似地,术语“客户端”传统上用于指代做出请求的进程,或者进程在其上操作的主机计算机。如这里使用的,术语“客户端”和“服务器”指代进程而不是主机计算机,除非以其他方式根据上下文可以清楚。此外,出于包括可靠性、可缩放性和冗余性等等的原因,由服务器执行的进程可以被分解以作为在多个主机(有时被称为层级)上运行的多个进程。
在一种情景下,社交API 111可以收集创建简档所需的信息并且利用分布式键值存储113存储简档。尽管关于分布式键值存储113描述了各种实施例,但是预期这里描述的方案可以与其他数据库一起使用(例如在数据库管理系统的控制下的分布式数据库,其中存储设备不全部被附接到公共处理器,或者非分布式数据库)。创建简档所需的信息可以包括验证信息(例如用户名称和密码)、用户标识符、与简档相关联的服务、一个或者多个简档字段的简档数据等等的一个或者多个。社交API 111和/或分布式键值存储113然后可以向分布式索引引擎115通知该简档的创建。
分布式索引引擎115可以向可以与简档相关联的数据结构的索引添加该简档中的信息。一旦被索引,可以有利地搜索简档,同时实现经由该数据结构的访问控制。在某些情景下,整个简档被索引,在其他情景中,仅简档的某些部分被索引(例如文本部分)。然而,数据结构可以包括对于未被索引的信息的位置标记。如先前注意的,索引可以基于在简档中设置的参数(例如相关联的服务、联系人列表、诸如与简档相关联的区域或者地址的区域等等)而与简档相关联。索引可以包括数据结构的一个或者多个实例。图2中详细说明了可以由社交服务平台103利用的数据结构的示例性索引。进而,分布式索引引擎115可以被用于更新与索引相关联的数据字段。
图1B是根据一个实施例的分布式索引引擎115的部件的图示。作为示例的方式,分布式索引引擎115包括用于向社交服务平台103的用户提供索引和搜索服务的一个或者多个部件。预期这些部件的功能可以在一个或者多个部件中组合或者通过具有等同功能的其他部件执行。在该实施例中,分布式索引引擎115包括一个或者多个索引引擎120a-120n,每一个索引引擎可以用于索引和/或基于查询进行搜索并且获取信息。每一个索引引擎120可以包括API 121,用于存储、搜索和利用数据结构的索引的存储器,用于生成、搜索和更新索引的索引模块125,以及用于从分布式键值存储113获取信息的存储接口127。
在某些实施例中,分布式索引引擎115可以利用计算云实现。这样,分布式索引引擎115可以包括与不同的地理位置相对应的索引引擎120。索引引擎120可以包括用于与例如社交API 111通信的API 121,该社交API 111可以与位于社交服务平台103外部的客户端和服务对接。在某些情景下,API 121可以在不使用社交API 111的情况下与客户端和服务直接通信或者API 121可以包括社交API111。
在某些情景下,存储接口127可以与分布式键值存储113交互以接收用于索引已经被创建并且存储在分布式键值存储113中的简档的请求。如在图4的处理中进一步详细说明的,在索引引擎120接收用于索引简档的请求时,索引引擎120的索引模块125可以实例化用于简档的一个或者多个数据结构并且将数据结构实例添加到存储器123中的相关联的索引。如先前提及的,数据结构可以包括访问控制字段和数据字段。在某些实施例中,一旦数据结构被添加到索引,实例化的数据结构被传送到其他索引引擎以更新复制的索引。由于存在多于一个索引,如果特定索引引擎120a变为过载或者故障,则其载荷可以被分布到其他索引引擎(例如索引引擎120n)。
进而,存储接口127可以使用一个或者多个接口与分布式键值存储113通信。例如,存储接口127可以接收关于新简档的数据以用于使用特定简档来生成索引并且利用另一接口获取所存储的信息。例如,为了获取所存储的信息,存储接口127可以使用利用获得、放置、删除和扫描命令的简单接口。可选地或者附加地,存储接口127可以利用另一API以与分布式键值存储113通信,其可以将通信转译到简单接口。
图1C是根据一个实施例的分布式键值存储113的部件的图示。作为示例的方式,键值存储113包括用于提供能够被索引、存储、获取和搜索的数据的存储的一个或者多个部件。因而,新的简档可以被存储在分布式键值存储113中。预期这些部件的功能可以被组合在一个或者多个部件中或者通过具有等同功能的其他部件执行。进一步预期可以代替或者附加于分布式键值存储113而利用其他形式的数据库。在该实施例中,分布式键值存储113可以包括可以用于与服务器143通信的客户端库141以及数据库145a-145n。
索引引擎120a-120n的存储接口127以及社交API 111可以使用客户端库141与分布式键值存储113通信。在某些实施例中,索引引擎120a-120n以及社交API 111可以被认为是从分布式键值存储113接收数据库服务的客户端。客户端库141可以包括能够确定哪些服务器143要与其通信以从数据库145获取内容的接口。在某些实施例中,利用允许使用键的存储的键和值机制来存储数据库145。每一个数据库的一部分(例如部分A-I)能够被链接到键。在一个实施例中,键被哈希以确定该键被链接到哪一部分。可以例如使用环方法对键进行哈希。使用此环,每一个键和部分可以被哈希到主要位置(例如基于具有被哈希为数字k的标识符的键)以及一个或者多个备份位置。备份位置可以是与下一个服务器相关联的位置或者与哈希相关联的主机。客户端库141使用键哈希来确定哪些服务器143要从其读取和向其写入信息。客户端库141和服务器143可以分别包括查找表,查找表包括哪些部分属于哪些服务器143。
在某些实施例中,可以使用多个服务器在多个数据库145上存储各部分(例如部分A 147a-147c)。在一种实现中,出于冗余、故障考虑以及减少延迟,可以在n个(例如复制=3)服务器143和数据库145上复制各个部分。而且,这些部分可以由客户端库141同时进行写入和读取。在从数据库145读取时,客户端库可以确定是否存在任何一致性问题(例如部分147a不与部分147b匹配)。而且,在某些实施例中,示例性存储方案可能要求在执行写入或者读取时,需要成功写入或者读取这些部分的至少一定数量(例如要求写入=2,要求读取=2等等)。这允许冗余性和人数一致性。如果数据库145a故障或者以其他方式不可工作,则与数据库145a相关联的部分147a可以随后利用应该由具有复制部分147b、147c的服务器143包括的内容进行更新。
社交API 111可以请求新的简档被存储在分布式键值存储113中。新的简档可以基于与该新的简档相关联的账户标识符而被指派键。然后,该键被哈希以确定要将新的简档存入其中的部分(例如部分A 147)。接下来,简档被存储在主要数据库以及备份数据库中。简档可以被认为是与键相关联的值。为了在随后获取简档,键的哈希可以用于向与此部分相关联的服务器请求简档。然后,键可以用于在该部分中搜索简档。一旦简档被存储在分布式键值存储113中,客户端库141可以通知索引引擎120该简档要被添加到索引。
一旦创建了索引并且简档被存储在分布式键值存储113中,社交API 111可以从UE 101或服务接收查询以使索引引擎120基于用户标识符和所请求的内容来引起搜索并且获取信息。索引引擎120然后可以获取与查询相关联的索引并且在访问控制字段中搜索针对用户标识符的索引。搜索可以是基于文本的搜索。进而,所请求的内容可以指定查询感兴趣的简档的一个或者多个简档标识符或者查询感兴趣的内容的类型(例如基本简档信息)。分布式索引引擎115将所请求的内容返回到社交API 111。在图2和图5的处理中进一步详细说明了用于获取内容的处理。
图2是根据一个实施例的示例可缩放的数据结构200的使用的图示。数据结构可以包括访问控制字段201、简档标识符(ID)203、诸如基本简档205、扩展的简档207a-207n以及联系人信息209之类的数据字段。如先前表述的,访问控制字段可以与一个或者多个用户标识符(例如用户标识符1-5、通用用户标识符*,等等)相关联。在某些实施例中,数据结构允许访问控制字段201中的实体标识符(例如用户标识符)仅与简档ID 203相关联一次。在某些情景中,简档ID 203是能够用于将内容与用户或者实体简档相关联的全局唯一标识符。此外,用户标识符可以是将查询与特定用户相关联的标识符,其可以具有或者不具有简档。访问控制字段可以基于哪一个或者哪一些用户或者实体标识符被认为是与简档相关联的用户相关的联系人或连接,诸如朋友、家人、同事、熟人、一路跟随者、雇员、成员等等。用户可以经由社交联网应用107和社交API 111输入这些连接。
可以使用访问控制字段201提供访问的多个级别。例如,简档ID 1可以基于访问控制权而允许针对不同的用户标识符的不同内容访问。在该示例中,用户标识符2、3和4被允许访问简档ID 1的基本简档205、扩展的简档207a和207n以及联系人信息209。可以由于组的状态(例如每一个被认为是朋友)而提供该访问。然而,由于用户标识符5被认为是熟人,因此用户标识符5可以仅能够访问基本简档205和第一扩展的简档207。包括访客用户的所有用户可以访问简档ID 1的基本简档205。与简档ID 203相关联的用户或者实体可以在创建简档的同时或者通过更新简档来确定这些访问控制。在简档ID 1的情况下,索引引擎120在向索引添加简档ID 1时生成三个数据结构211、213、215(示出为行)。每一个数据结构211、213、215可以包括标记了数据的字段中的数据。在某些实施例中,该数据是可被搜索的。进而,简档ID 2可以具有与其相关联的两个数据结构217、219,并且简档ID 3可以仅具有与其相关联的一个数据结构221,每一个数据结构具有允许访问某些信息的访问控制字段。在一种情景下,用于简档ID 3的数据结构221不包括能够被提供给访客用户的任何信息,并且仅针对用户标识符4可访问基本简档数据。而且,每一个数据结构(由行表示)可以使用访问控制201字段而被索引以确定哪些实体(例如经由实体标识符或者用户标识符)可以访问特定数据结构行。
在一种情景下,社交API 111从用户或者服务接收请求,其请求要在索引上执行的查询。社交API 111可以利用用户或者服务进行验证以确定要与该查询相关联的用户标识符。在某些实施例中,服务或者用户作为访客登陆并且接收访客状态。在其他实施例中,用户名称和密码被映射到用户标识符。用户的验证也可以通过另一服务传递。用户或者服务也可以在查询中指定用户或者服务希望获取的内容。
在一个实施例中,用户可以发起针对该用户能够获取的所有信息的搜索查询。社交API 111确定针对该查询的用户标识符是用户标识符4。查询被传送到分布式索引引擎115,其开始在数据结构200的索引上的搜索。分布式索引引擎115确定用户标识符4有权访问简档ID 1的基本简档205、第一扩展的简档207a、第二扩展的简档207n和联系人信息209,以及简档ID 2的基本简档205、第一扩展的简档207a和联系人信息209,以及简档ID 3的基本简档205。该数据然后能够被作为值返回到社交API 111以用于传输到用户。在另一情景中,针对该查询的用户标识符是用户标识符5。分布式索引引擎115返回包含在数据结构213和219中的信息。分布式索引引擎115可以返回该数据是因为用户标识符至多具有简档ID 1的数据结构213的访问权以及简档ID 2的至少访客级别访问权(授予给所有请求者的访问权)而没有对简档ID 3的访问权。可选地,形成查询的用户或者服务可以请求该查询仅搜索用户具有较高级别访问权(例如朋友访问权、熟人访问权、同事访问权等等)而不是简单的公共访问权的简档。
在某些情景中,所请求的内容可以包括诸如关键字的一个或者多个搜索项。在这些情景中,简档ID 203、基本简档205、扩展的简档207以及联系人信息209是简要并且容易搜索的。分布式索引引擎115可以在内容字段203、205、207、209中搜索这些搜索项。可选地或者附加地,与内容字段203、205、207、209相关联的数据可以包括到分布式键值存储113或者其他不可搜索内容的指针(例如键)。在一些实施例中,仅搜索查询有权访问的简档信息。这允许在获取简档信息方面的较低延迟。进而,该方法允许大量搜索以及要被包括在搜索中的大量索引内容。
图3是根据一个实施例可以在分布式键值存储中利用的示例性数据结构的图示。而且,数据结构300的各部分可以在索引中被利用。数据结构300可以指定能够与简档ID或者账户ID相关联的键301。该键301能够用于从分布式键值存储113获取简档。进而,键301与包括基本简档305、第一扩展的简档307和其他内容字段的值303相关联。而且,该值可以附加地包括不被包括在索引中的信息。例如,第三扩展的简档309可以包括不能够被搜索并且因此不需要被存储在索引中的图片数据311。这样,索引中的第三扩展的简档309数据可以包括标记或者其他数据以通知分布式索引引擎115该内容在分布式键值存储113中可获得。
图4是根据一个实施例用于创建和索引简档的处理的流程图。在一个实施例中,社交API 111和分布式索引引擎115执行处理400并且例如在如图7所示的包括处理器和存储器的芯片组中实现。这样,社交API 111和/或分布式索引引擎115可以提供用于执行处理400和/或这里描述的其他处理的步骤的模块。在步骤401中,社交API 111从客户端(例如服务、用户、实体等等)接收用于创建简档的请求。社交API 111然后可以请求用户提供用户的验证以通过请求验证证书而将简档关联到账户。接下来,用户可以发送并且社交API 111可以接收证书并且社交API 111可以确认该简档的用户创建者的验证(步骤403)。
然后,在步骤405处,社交API可以创建简档,其可以包括访问控制字段、用户标识符和其他数据字段。社交API 111可以向用户查询有关要存储在简档中的信息之类的附加信息。用户可以向该简档输入数据字段和其他可定制数据。可能需要多个回合的查询以完成简档。然后,在步骤407处,如在图1B和1C的描述中详细说明的,社交API 111可以在分布式键值存储113中存储简档。
一旦存储了简档,社交API 111可以至少部分地使分布式索引引擎115在索引结构中索引简档(步骤409)。分布式索引引擎115可以向索引添加简档。简档可以基于一个或者多个用户输入、基于简档的关联性(例如位置、相关联的服务、联系人连接等等)、或者基于其他数据而与索引相关联。与简档相关联的一个或者多个字段然后基于可以由用户设置的访问控制特征而被索引。访问控制字段201可以用于分离某些用户能够搜索和/或获取的信息。对于每一个分离的组可以实例化新的数据结构。在某些实施例中,用户被放置在给定简档(例如基于简档ID 203)的至多一个实例化数据结构中。此外,实例化的数据结构(例如数据结构215)可以对于公共(例如访客、全部用户等等)可访问。
进而,在步骤411处,简档和索引结构能够被更新。代替于在步骤401到407中详细说明的创建用户的简档,用户能够进行验证和更新。一旦更新了简档,可以使分布式索引引擎115基于所改变的简档来发起更新索引。对简档的改变可以包括经由访问控制列表来添加或者去除对某些实体的访问权、添加或者减去内容、修改对于某个访问控制字段组中的用户可获得的内容、添加或者减去实例化数据结构、组合实例化数据结构、其组合等等。
图5是根据一个实施例用于利用可缩放的数据结构搜索简档的处理的流程图。在一个实施例中,分布式索引引擎115执行处理500并且例如在如图7所示的包括处理器和存储器的芯片组中实现。这样,分布式索引引擎115可以是用于实现与处理500相关联的步骤的模块。在步骤501中,分布式索引引擎115接收指定实体标识符和所请求的内容的查询。用户可以通过输入所请求的内容初来发起关键字搜索并且在搜索查询中包括用户标识符。如前面描述的,查询可以经由社交API 111从UE 101或者服务接收。实体标识符(例如用户标识符)可以指定进行请求的用户并且可以通过验证处理经由社交API 111获得。验证处理可以包括将用户名称和密码、令牌或者其他验证机制关联到用户标识符。所请求的内容可以包括一个或者多个文件名称(例如访问控制201、简档ID 203、基本简档205、扩展的简档207a-207n、联系人信息209等等),或者包括可以存在于字段中的一个或者多个搜索项。
然后,在步骤503处,分布式索引引擎115基于数据结构的简档索引的用户标识符来至少部分地引起搜索,每一个数据结构指定与访问控制字段201相关联的简档字段以产生搜索结果。这样,分布式索引引擎115可以提供用于实现步骤503的模块。数据结构可以进一步包括简档字段(例如简档ID 203、基本简档205、扩展的简档207a-207n、联系人信息209等等)和访问控制字段201。可以开始搜索,包括将用户标识符与索引的访问控制字段201进行比较以指示对于该用户标识符的对所请求的内容的访问权(步骤505)。这样,分布式索引引擎115提供用于指示针对用户标识符的对所请求的内容的访问权的模块。进而,所请求的内容可以包括诸如关键字的搜索项。可以在用户标识符有权访问的任何数据结构的简档字段上进行针对搜索项(或者多于一个项)的文本搜索。该文本搜索可以经由开发和存储用于基于访问控制字段来搜索用户的倒排索引或者另一索引(例如哈希或者B树)来实现。倒排索引访问控制字段可以包括与一个或者多个用户标识符相关联的“单词”,其可以包括访客或者“*”标识符。这样,倒排索引能够快速发现用户标识符有权访问的数据行。进而,这可以产生用户既有权访问并且是文本搜索的一部分的搜索结果。按照这种方式,文本搜索用于实现作为正常搜索的副作用的访问控制。
而且,在步骤507处,可以基于访问权来获取所请求的内容。如先前注意的,分布式索引引擎115能够提供用于实现步骤507的模块。在某些实施例中,所请求的内容可以指示请求了在简档索引中没有被索引的信息。数据结构可以提供指示存在相关联的内容但是这些内容被存储在完整简档中的数据(例如标记或者指针)。这样,使用所请求的内容的简档ID 203作为键标识符以生成对简档的请求并且至少部分地使该请求被传输到分布式键值存储113,从而从分布式键值存储113获取内容。然后,接收简档并且可以转发简档。在其他实施例中,所请求的内容可以是简档字段的一个或者多个,其可以被从索引直接获取。在某些情景中,所请求的内容可以是来自索引或者来自简档的数据结构300。然后,如在步骤509中,使所请求的内容经由社交API 111至少部分地被传输到请求者。
上面的方案和示例详细描述了有利地可缩放的数据结构的使用。数据结构可以利用上面的索引方案附加地提供低延迟搜索。这可以经由结合数据结构的索引中的文本可搜索简档字段来存储访问控制字段从而实现。进而,索引可以通过仅使用与该数据结构相关联的唯一简档ID从分布式数据存储(例如图1的存储113)快速获取内容而被扩展以包括更大的数据内容。而且,由于数据结构可以用在分布式架构中,因此使用这种数据结构来存储的信息的使用的可用性被极大提高。此功能可以实现是因为包括数据的大量部分分散在多个物理机器上。
这里描述的用于利用可缩放的数据结构的处理可以有利地经由软件、硬件(例如通用处理器、数字信号处理器(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等等)、固件或者其组合而实现。下面详细描述用于执行所描述的功能的这样的示例性硬件。
图6说明了可以在其上实现本发明的实施例的计算机系统600。尽管关于特定设备或者装置阐述了计算机系统600,但是预期图6内的其他设备或者装置(例如网络元件、服务器等等)能够采用所说明的系统600的硬件和部件。计算机系统600被编程(例如经由计算机程序代码或者指令)以利用这里描述的可缩放的数据结构并且包括诸如用于在计算机系统600的其他内部和外部部件之间传送信息的总线610之类的通信机制。信息(也被称为数据)被表示为可测量现象的物理表示,典型地为电子电压,但是在其他实施例中包括如磁、电磁、压力、化学、生物、分子、原子、亚原子和量子交互这样的现象。例如,南北磁场,或者零和非零电子电压,代表二进制数字(比特)的两个状态(0,1)。其他现象可以代表更高基数的数字。测量之前多个同时量子状态的叠置代表量子比特(量子位)。一个或者多个数字的序列构成用于代表字符的数字或者代码的数字数据。在一些实施例中,被称为模拟数据的信息通过特定范围内可测量值的接近连续区来表示。计算机系统600或者其一部分构成用于执行利用可缩放的数据结构的一个或者多个步骤的模块。
总线610包括一个或者多个并行的信息导体以使得信息在耦合到总线610的设备之间快速传输。用于处理信息的一个或者多个处理器602与总线610耦合。
处理器602对于通过涉及利用可缩放的数据结构的计算机程序代码指定的信息执行一组操作。计算机程序代码是提供用于处理器和/或计算机系统的操作以执行指定功能的指令的一组指令或者表达式。代码可以例如使用被编译为处理器的本地指令集的计算机编程语言进行编写。代码也可以直接使用本地指令集(例如机器语言)进行编写。操作集合包括从总线610带入信息并且将信息放置在总线610上。操作集合典型地还包括比较两个或者更多信息单元、移位信息单元的位置以及组合两个或者更多信息单元,例如通过加法或者乘法或者类似逻辑或OR、异或(XOR)和逻辑与AND的逻辑操作。能够通过处理器执行的操作集合的每一个操作通过诸如一个或者多个数字的操作代码的被称为指令的信息而被呈现给处理器。要由处理器602执行的操作序列,例如操作代码序列,构成处理器指令,也被称为计算机系统指令或者简单地为计算机指令。处理器可以被单独或者组合实现为机器、电、磁、光、化学或者量子部件等等。
计算机系统600还包括耦合到总线610的存储器604。诸如随机访问存储器(RAM)或者其他动态存储设备的存储器604存储包括用于利用可缩放的数据结构的处理器指令的信息。动态存储器允许通过计算机系统600改变存储在其中的信息。RAM允许存储在被称为存储器地址的位置处的信息单元与位于相邻地址处的信息独立地进行存储和获取。存储器604也由处理器602使用以在处理器指令的执行期间存储临时值。计算机系统600还包括耦合到总线610以用于存储不被计算机系统600改变的包括指令的静态信息的只读存储器(ROM)606或者其他静态存储设备。一些存储器由在掉电时丢失存储在其上的信息的易失性存储器构成。还耦合到总线610的是非易失性(持久)存储设备608,诸如磁盘、光盘或闪存卡,其即使在计算机系统600关断或者以其他方式掉电时也持久存储包括指令的信息。
将包括用于利用可缩放的数据结构的指令的信息提供到总线610以供处理器从诸如包含由人类用户操作的字母数字键的键盘或者传感器的外部输入设备612使用。传感器检测其邻近区的状态并且将那些检测转换为可与用于代表计算机系统600中的信息的可测量现象兼容的物理表达。耦合到总线610的主要用于与人类交互的其他外部设备包括诸如阴极射线管(CRT)或者液晶显示器(LCD)的显示设备614、或者用于呈现文本或图像的等离子屏幕或者打印机,以及诸如鼠标或者轨迹球或者光标方向键的指点设备616,或者运动传感器,用于控制在显示器614上呈现的小光标图像的位置以及发出与在显示器614上呈现的图形元件相关联的命令。在一些实施例中,例如在计算机系统600在没有人类输入的情况下自动执行全部功能的实施例中,省去外部输入设备612、显示设备614和指点设备616中的一个或者多个。
在所说明的实施例中,诸如专用集成电路(ASIC)620的专用硬件耦合到总线610。专用硬件被配置以用于专用目的而足够快速地执行处理器602不执行的操作。专用IC的示例包括用于生成用于显示器614的图像的图形加速器卡、用于加密和解密在网络上发送的消息的密码系统板、语音识别、以及到特殊外部设备的接口,诸如重复执行在硬件中更加有效实现的一些复杂的操作序列的机器人臂和医疗扫描仪器。
计算机系统600还包括耦合到总线610的通信接口670的一个或者多个实例。通信接口670提供耦合到利用其自身处理器操作的诸如打印机、扫描仪和外部盘的各种外部设备的单路或者双路通信。通常,耦合利用连接到具有其自身处理器的各种外部设备所连接的本地网络680的网络链路678。例如,通信接口670可以是个人计算机上的并行端口或者串行端口或者通用串行总线(USB)端口。在一些实施例中,通信接口670是综合服务数字网络(ISDN)卡或者数字订户线(DSL)卡或者提供到相对应类型的电话线的信息通信连接的电话调制解调器。在一些实施例中,通信接口670是将总线610上的信号转换为用于在同轴电缆上的通信连接的信号或者用于在光纤电缆上的通信连接的光学信号的线缆调制解调器。作为另一示例,通信接口670可以是局域网(LAN)卡以提供到诸如以太网的可兼容LAN的数据通信连接。也可以实现无线链路。对于无线链路,通信接口670发送或者接收或者既发送又接收携带诸如数字数据的信息流的电、声或者电磁信号,包括红外和光学信号。例如,在诸如类似蜂窝电话的移动电话的无线手持设备中,通信接口670包括被称为射频收发器的射频带电磁发射器和接收器。在某些实施例中,通信接口670使能用于到UE 101的到通信网络105的连接。
术语计算机可读介质这里用于指代参与向处理器602提供包括用于执行的指令的信息的任何介质。这样的介质可以采取许多形式,包括但不局限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或者磁盘,例如存储设备608。易失性介质例如包括动态存储器604。传输介质例如包括同轴电缆、铜线、光纤电缆和在没有布线或者电缆的情况下经过空间行进的载波,例如包括射频、光学和红外波的声波和电磁波。信号包括经过传输介质传输的在幅值、频率、相位、极性或者其他物理属性方面的人工瞬态变化。计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带、任何其他磁介质,CD-ROM、CDRW、DVD、任何其他光学介质、穿孔卡片、纸带、光学标记板、具有孔或者其他光学可识别标记的模式的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或者盒带、载波、或者计算机能够从其读取的任何其他介质。术语计算机可读存储介质这里用于指代除了传输介质之外的任何计算机可读介质。
在一个或者多个有形介质中编码的逻辑包括位于计算机可读存储介质和诸如ASIC 620的专用硬件上的处理器指令之一或者二者。
网络链路678典型地使用传输介质通过一个或者多个网络向使用或者处理信息的其他设备提供信息通信。例如,网络链路678可以通过本地网络680提供到主机计算机682的连接或者到由互联网服务供应商(ISP)操作的装置684的连接。ISP装置684继而经过现在通常被称为互联网690的网络的公共万维分组交换通信网络来提供数据通信服务。
连接到互联网的被称为服务器主机692的计算机主管对在互联网上接收的信息做出响应而提供服务的处理。例如,服务器主机692主管提供代表用于在显示器614处呈现的视频数据的信息的处理。预期系统600的部件能够在例如主机682和服务器692的其他计算机系统内按照各种配置而被采用。
本发明的至少一些实施例涉及使用计算机系统600以实现这里描述的技术的一些或者全部。根据本发明的一个实施例,那些技术由计算机系统600执行以响应于处理器602执行包含在存储器604中的一个或者多个处理器指令的一个或者多个序列。这种指令也被称为计算机指令、软件和程序代码,其可以被从诸如存储设备608的另一计算机可读介质或者网络链路678读取到存储器604中。包含在存储器604中的指令序列的执行使得处理器602执行这里描述的方法步骤的一个或者多个。在可选实施例中,可以代替软件或者与软件组合使用诸如ASIC 620的硬件以实现本发明。因而,本发明的实施例并不局限于硬件和软件的任何特定组合,除非这里以其他方式明确表明。
通过通信接口670在网络链路678和其他网络上传输的信号携带往来于计算机系统600的信息。计算机系统600能够通过网络链路678和通信接口670经过网络680、690等等发送和接收包括程序代码的信息。在使用互联网690的示例中,服务器主机692通过互联网690、ISP装置684、本地网络680和通信接口670传输由从计算机600发送的消息请求的用于特定应用的程序代码。所接收的代码可以在其被接收时通过处理器602执行,或者可以被存储在存储器604中或者存储设备608中或者其他非易失性存储中用于随后执行,或者二者。按照这种方式,计算机系统600可以获得载波上的信号形式的应用程序代码。
在携带到处理器602以供执行的指令或者数据或者二者的一个或者多个序列中可以涉及各种形式的计算机可读介质。例如,指令和数据可以初始被承载在诸如主机682的远程计算机的磁盘上。远程计算机将指令和数据加载到其动态存储器中并且在电话线上使用调制解调器发送指令和数据。位于计算机系统600本地的调制解调器在电话线上接收指令和数据并且使用红外发射器以将指令和数据转换为在用作网络链路678的红外载波上的信号。用作通信接口670的红外检测器接收在红外信号中承载的指令和数据并且将代表该指令和数据的信息放置在总线610上。总线610将该信息运送到存储器604,处理器602从其获取指令并且使用与指令一起发送的一些数据来执行指令。在存储器604中接收的指令和数据可以可选地被存储在存储设备608上,或者在处理器602的执行之前或者在其之后。
图7说明了可以在其上实现本发明的实施例的芯片组700。芯片组700被编程以利用这里描述的可缩放的数据结构并且例如包括被结合在一个或者多个物理封装(例如芯片)中的参照图6描述的处理器和存储器部件。作为示例的方式,物理封装包括结构组件(例如基板)上的一个或者多个材料、部件和/或布线的布置以提供诸如物理强度、保护尺寸和/或电子交互的限制之类的一个或者多个特性。在某些实施例中预期芯片组能够被实现为单个芯片。芯片组700或者其一部分构成用于执行利用可缩放的数据结构的一个或者多个步骤的模块。
在一个实施例中,芯片组700包括诸如用于在芯片组700的部件之间传送信息的总线701的通信机制。处理器703具有到总线701的连接性以执行指令并且处理例如存储在存储器705中的信息。处理器703可以包括一个或者多个处理核,每一个核被配置以独立执行。多核处理器支持单个物理封装内的多处理。多核处理器的示例包括两个、四个、八个或者更大数量的处理核。可选地或者附加地,处理器703可以包括经由总线701被配置为串联的一个或者多个处理器以支持指令的独立执行、管道执行和多线程。处理器703也可以伴随有一个或者多个专门化部件以执行某些处理功能和任务,诸如一个或者多个数字信号处理器(DSP)707或者一个或者多个专用集成电路(ASIC)709。DSP 707典型地被配置以独立于处理器703而实时处理现实世界的信号(例如声音)。类似地,ASIC 709能够被配置以执行不容易被通用处理器执行的专门功能。辅助执行这里描述的创造性功能的其他专门化部件包括一个或者多个现场可编程门阵列(FPGA)(未示出)、一个或者多个控制器(未示出)或者一个或者多个其他专用计算机芯片。
处理器703以及相伴随的部件具有经由总线701到存储器705的连接性。存储器705包括用于存储在被执行时用于执行这里描述的创造性步骤以利用可缩放的数据结构的可执行指令的动态存储器(例如RAM、磁盘、可写入光盘等等)和静态存储器(例如ROM、CD-ROM等等)二者。存储器705也存储与创造性步骤的执行相关联或者由创造性步骤生成的数据。
图8是根据一个实施例能够在图1的系统中操作的用于通信的移动终端(例如手持机)的示例性部件的图示。在一些实施例中,移动终端800或者其一部分构成用于执行向利用可缩放的数据结构的平台请求内容的一个或者多个步骤的模块。通常,射频接收器经常按照前端和后端特性来定义。接收器的前端包含全部射频(RF)电路而后端包含全部基带处理电路。如在本申请中使用的,术语“电路”指代此二者:(1)纯硬件实现(例如纯模拟和/或数字电路中的实现),以及(2)电路和软件(和/或固件)的组合(例如,如果应用于特定情景,指代一起工作以使诸如移动电话或者服务器的装置执行各种功能的包括一个或者多个数字信号处理器的一个或者多个处理器、软件和存储器的组合)。“电路”的该定义应用于本申请中该术语的全部使用,包括在任何权利要求中。作为进一步示例,如在本申请中使用的并且如果可应用于特定情景,术语“电路”将还覆盖仅处理器(或者多个处理器)及其伴随的软件和/或固件的实现。如可应用于特定情景,术语“电路”将还覆盖例如移动电话中的基带电路或者应用处理器集成电路或者蜂窝网络设备或其他网络设备中的类似集成电路。
电话的相关内部部件包括主控单元(MCU)803、数字信号处理器(DSP)803以及包括麦克风增益控制单元和扬声器增益控制单元的接收器/发射器单元。主显示器单元807向用户提供显示以支持各种应用和移动终端功能,其执行或者支持向利用可缩放的数据结构的平台请求内容的步骤。显示器807包括被配置以显示移动终端(例如移动电话)的用户界面的至少一部分的显示电路。此外,显示器807和显示电路被配置以协助移动终端的至少一些功能的用户控制。音频功能电路809包括麦克风811以及放大从麦克风811输出的语音信号的麦克风放大器。从麦克风811输出的经放大的语音信号被馈送到编码器/解码器(CODEC)813。
射频部分815放大功率并且转换频率以便经由天线817与包括在移动通信系统中的基站通信。功率放大器(PA)819和发射器/调制电路可操作地对MCU 803做出响应,其中来自PA 819的输出被耦合到本领域已知的双工器821或者循环器或者天线开关。PA 819还耦合到电池接口和功率控制单元820。
在使用中,移动终端801的用户向麦克风811讲话并且他或者她的声音连同所检测的任何背景噪声被转换为模拟电压。该模拟电压然后经过模数转换器(ADC)823被转换为数字信号。控制单元803将该数字信号路由到DSP 805中以在其中进行处理,例如声音编码、信道编码、加密和交织。在一个实施例中,所处理的声音信号通过未单独示出的单元、使用诸如全球演进(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等等的蜂窝传输协议以及例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星等等的任何其他适合的无线介质而进行编码。
被编码的信号然后被路由到均衡器825以补偿在经过空气传输期间发生的诸如相位和幅值失真的任何频率相关损害。在均衡比特流之后,调制器827将该信号与在RF接口829中生成的RF信号进行组合。调制器827通过频率或者相位调制的方式生成正弦波。为了制备该信号以用于传输,上变频器831将从调制器827输出的正弦波与通过合成器833生成的另一正弦波进行组合以实现期望的传输频率。然后经过PA 819发送信号以将信号增加到合适的功率水平。在实际的系统中,PA 819用作其增益由DSP 805根据从网络基站接收的信息进行控制的可变增益放大器。信号然后在双工器821内被滤波并且被可选地发送到天线耦合器835以匹配阻抗从而提供最大功率传输。最后,信号经由天线817被传输到本地基站。自动增益控制(AGC)能够被提供以控制接收器的最后级的增益。信号可以被该处转发到可以是另一蜂窝电话、其他移动电话或者连接到公共交换电话网络(PSTN)或者其他电话网络的陆线的远程电话。
被传输到移动终端801的声音信号经由天线817被接收并且通过低噪声放大器(LNA)837被立即放大。下变频器839降低载波频率,而解调器841剥离RF仅留下数字比特流。然后信号进行到均衡器825并且通过DSP 805进行处理。数模转换器(DAC)843转换此信号并且所产生的输出经过扬声器845被传输到用户,所有这些在主控单元(MCU)803-可以被实现为中央处理单元(CPU)(未示出)—的控制下。
MCU 803从键盘847接收包括输入信号的各种信号。键盘847和/或MCU 803结合其他用户输入部件(例如麦克风811)包括用于管理用户输入的用户接口电路。MCU 803运行用户接口软件以协助移动终端801的至少一些功能的用户控制以向利用可缩放的数据结构的平台请求内容。MCU 803还分别向显示器807和语音输出切换控制器传送显示命令和切换命令。进而,MCU 803与DSP 805交换信息并且能够访问可选包含的SIM卡849和存储器851。此外,MCU803执行终端所要求的各种控制功能。取决于实现,DSP 805可以对声音信号执行各种传统的数字处理功能中的任意一个。此外,DSP805根据由麦克风811检测的信号来确定本地环境的背景噪声水平并且将麦克风811的增益设置到被选择以补偿移动终端801的用户的自然倾向性的水平。
CODEC 813包括ADC 823和DAC 843。存储器851存储包括电话呼入的音调数据的各种数据并且能够存储包括例如经由全球互联网接收的音乐数据的其他数据。软件模块能够驻留在RAM存储器、闪存、寄存器或者本领域已知的任何其他形式的可写入存储介质中。存储器设备851可以是但不局限于单个存储器、CD、DVD、ROM、RAM、EEPROM、光学存储或者能够存储数字数据的任何其他非易失性存储介质。
可选包含的SIM卡849例如承载诸如蜂窝电话号码、载体供应服务、订户细节和安全信息的重要信息。SIM卡849主要用于识别射频网络上的移动终端801。卡849还包含用于存储个人电话号码登记、文本消息和用户特定移动终端设置的存储器。
尽管结合各种实施例和实现描述了本发明,但是本发明并不这样被局限而是覆盖落入所附权利要求范围内的各种明显的修改和等同设置。尽管在权利要求之间以某些组合表达了本发明的特征,但是预期能够按照任何组合和顺序布置这些特征。

Claims (19)

1.一种方法,包括:
接收指定实体标识符和所请求的内容的查询;
至少部分地基于所述实体标识符至少部分地引起对数据结构的简档索引的搜索,从用于由所述查询指定的所请求的内容的数据结构产生搜索结果,每一个数据结构包括:包含单个实体标识符的简档标识符字段、访问控制字段、以及与对应于由所述简档标识符字段中的所述单个实体标识符指示的实体的简档数据相关联的一个或多个字段,所述访问控制字段指示与由所述单个实体标识符指示的所述实体不同的一个或多个实体,所述一个或多个实体具有对与对应于由所述简档标识符字段中的所述单个实体标识符指示的所述实体的所述简档数据相关联的所述一个或多个字段中的一个或多个字段的访问;以及
针对所述实体标识符指示对所请求的内容的访问权,其中:
每个实体标识符标识特定的实体,
所述简档索引包括对应于两个或多个不同的实体的多个不同的数据结构,
所述两个或多个不同的实体中的一个或多个实体具有与其对应的两个或多个数据结构,并且
所述访问控制字段中的所述一个或多个实体不依赖于在从其提供所请求的内容的所述简档索引中具有数据结构。
2.根据权利要求1所述的方法,进一步包括:
基于所述访问权获取所请求的内容,其中所述搜索仅产生对应于所述实体标识符的所述实体被指示具有访问权的搜索结果。
3.根据权利要求1和2的任意一项所述的方法,其中基于所述实体标识符和由所述访问控制字段指示的所述一个或多个实体的比较来搜索所述简档索引。
4.根据权利要求1或2所述的方法,其中所述访问控制字段包括多个实体标识符。
5.根据权利要求4所述的方法,其中与简档数据相关联的所述一个或多个字段包括基本简档字段和扩展的简档字段,并且其中所述访问控制字段用于指定具有对所述基本简档字段和所述扩展的简档字段的访问权的一个或多个实体。
6.根据权利要求5所述的方法,其中所请求的内容包括关键字并且所述搜索包括基于所述关键字的对所述简档字段的文本搜索,所述方法进一步包括:
至少部分地进行所述搜索结果的传输。
7.根据权利要求1或2所述的方法,其中所述简档标识符字段进一步与和所述数据结构的一个或者多个相对应的简档标识符相关联,并且基于所述实体标识符和所述访问控制字段的比较来搜索所述简档索引,所述简档标识符仅与所述数据结构之一中的实体标识符相关联。
8.一种装置,包括:
至少一个处理器,其被配置成使所述装置至少执行以下,
接收指定实体标识符和所请求的内容的查询;
基于所述实体标识符至少部分地引起对数据结构的简档索引的搜索,从用于由所述查询指定的所请求的内容的数据结构产生搜索结果,每一个数据结构包括:包含单个实体标识符的简档标识符字段、访问控制字段、以及与对应于由所述简档标识符字段中的所述单个实体标识符指示的实体的简档数据相关联的一个或多个字段,所述访问控制字段指示与由所述单个实体标识符指示的所述实体不同的一个或多个实体,所述一个或多个实体具有对与对应于由所述简档标识符字段中的所述单个实体标识符指示的所述实体的所述简档数据相关联的所述一个或多个字段中的一个或多个字段的访问;以及
针对所述实体标识符指示对所请求的内容的访问权,其中:
每个实体标识符标识特定的实体,
所述简档索引包括对应于两个或多个不同的实体的多个不同的数据结构,
所述两个或多个不同的实体中的一个或多个实体具有与其对应的两个或多个数据结构,并且
所述访问控制字段中的所述一个或多个实体不依赖于在从其提供所请求的内容的所述简档索引中具有数据结构。
9.根据权利要求8所述的装置,其中至少部分地使所述装置进一步:
基于所述访问权来获取所请求的内容,其中所述搜索仅产生对应于所述实体标识符的所述实体被指示具有访问权的搜索结果。
10.根据权利要求8和9的任意一项所述的装置,其中基于所述实体标识符和由所述访问控制字段指示的所述一个或多个实体的比较来搜索所述简档索引。
11.根据权利要求8或9所述的装置,其中所述访问控制字段包括多个实体标识符。
12.根据权利要求11的装置,其中与简档数据相关联的所述一个或多个字段包括基本简档字段和扩展的简档字段,并且其中所述访问控制字段用于指定具有对所述基本简档字段和所述扩展的简档字段的访问权的一个或多个实体。
13.根据权利要求12的装置,其中所请求的内容包括关键字,所述搜索包括基于所述关键字的对所述简档字段的文本搜索,并且至少部分地进一步使所述装置:
至少部分地引起所述搜索结果的传输。
14.根据权利要求8或9所述的装置,其中所述简档标识符字段被进一步与和所述数据结构的一个或者两个相对应的简档标识符相关联,并且基于所述实体标识符和所述访问控制字段的比较来搜索所述简档索引,所述简档标识符仅与所述数据结构之一中的实体标识符相关联。
15.根据权利要求8或9所述的装置,其中所述装置是移动电话,所述移动电话进一步包括:
被配置以通过使用显示器来协助所述移动电话的至少一些功能的用户控制并且被配置以对用户输入做出响应的用户接口电路和用户接口软件;以及
被配置以显示所述移动电话的用户界面的至少一部分的显示器和显示器电路,所述显示器和显示器电路被配置以协助所述移动电话的至少一些功能的用户控制。
16.一种装置,包括用于执行权利要求1-7中的任意一项的方法的模块。
17.根据权利要求16的装置,其中所述装置是移动电话,所述移动电话进一步包括:
被配置以通过使用显示器来协助所述移动电话的至少一些功能的用户控制并且被配置以对用户输入做出响应的用户接口电路和用户接口软件;以及
被配置以显示所述移动电话的用户界面的至少一部分的显示器和显示器电路,所述显示器和显示器电路被配置以协助所述移动电话的至少一些功能的用户控制。
18.一种方法,包括:经由用户接口软件协助对至少一个服务的访问,所述至少一个服务被配置以执行权利要求1-7中的任意一项的方法。
19.一种方法,包括:至少部分地基于如下来经由用户接口软件协助创建和/或协助修改至少一个设备用户接口元件和/或功能:
根据权利要求1-7中的任意一项的方法得到的所述搜索结果和/或
与根据权利要求1-7中的任意一项的方法得到的所述搜索结果相对应的至少一个物理信号。
CN201080058434.7A 2009-12-22 2010-11-16 利用可缩放的数据结构的方法和装置 Expired - Fee Related CN102713904B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/645,115 2009-12-22
US12/645,115 US20110153644A1 (en) 2009-12-22 2009-12-22 Method and apparatus for utilizing a scalable data structure
PCT/FI2010/050919 WO2011076986A1 (en) 2009-12-22 2010-11-16 Method and apparatus for utilizing a scalable data structure

Publications (2)

Publication Number Publication Date
CN102713904A CN102713904A (zh) 2012-10-03
CN102713904B true CN102713904B (zh) 2016-11-09

Family

ID=44152558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080058434.7A Expired - Fee Related CN102713904B (zh) 2009-12-22 2010-11-16 利用可缩放的数据结构的方法和装置

Country Status (8)

Country Link
US (1) US20110153644A1 (zh)
EP (1) EP2517126A4 (zh)
JP (1) JP5544431B2 (zh)
KR (1) KR101445950B1 (zh)
CN (1) CN102713904B (zh)
BR (1) BR112012015717A2 (zh)
CA (1) CA2784778C (zh)
WO (1) WO2011076986A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712968B1 (en) * 2009-07-15 2014-04-29 Symantec Corporation Systems and methods for restoring images
US8898318B2 (en) * 2010-06-03 2014-11-25 Microsoft Corporation Distributed services authorization management
US20120278124A1 (en) * 2010-10-28 2012-11-01 Albert Cecchini Methods and systems for obtaining and processing information for interrelated processes
US20130013688A1 (en) * 2011-07-07 2013-01-10 Cisco Technology, Inc. System and method for providing a message and an event based video services control plane
US10038927B2 (en) * 2011-12-22 2018-07-31 Cisco Technology, Inc. Out-of-band signaling and device-based content control
CA2764283A1 (en) * 2012-01-16 2013-07-16 Giovanni J. Morelli Mobile device control application for improved security and diagnostics
US9177171B2 (en) * 2012-03-11 2015-11-03 International Business Machines Corporation Access control for entity search
US8706739B1 (en) * 2012-04-26 2014-04-22 Narus, Inc. Joining user profiles across online social networks
US9208179B1 (en) * 2012-05-25 2015-12-08 Narus, Inc. Comparing semi-structured data records
US20140004960A1 (en) * 2012-06-27 2014-01-02 Zynga Inc. Dynamic player match-making for social games
EP2680171A3 (en) * 2012-06-29 2014-01-22 Orange Intelligent index scheduling
US8997008B2 (en) 2012-07-17 2015-03-31 Pelicans Networks Ltd. System and method for searching through a graphic user interface
US9965301B2 (en) 2013-03-28 2018-05-08 Sphere 3D Inc. Systems and methods for managing emulation resources
US20150006571A1 (en) * 2013-06-28 2015-01-01 LGS Innovations LLC Method And Apparatus For Enabling Queries In An Information-Centric Network
US20150229718A1 (en) * 2014-02-11 2015-08-13 Apple Inc. Protocol for exchanging data between two devices
CN105490999A (zh) * 2014-12-23 2016-04-13 哈尔滨安天科技股份有限公司 一种基于xmpp协议的分布式存储系统
WO2018164700A1 (en) 2017-03-10 2018-09-13 Visa International Service Association Techniques for in-memory data searching
US10437807B1 (en) * 2017-07-06 2019-10-08 Palantir Technologies Inc. Selecting backing stores based on data request
FR3074592B1 (fr) * 2017-12-01 2019-10-25 Idemia Identity And Security Procede de partage d'une cle servant a deriver des cles de session pour crypter et authentifier des communications entre un objet et un serveur
CN112020869B (zh) * 2018-04-05 2022-06-10 诺基亚技术有限公司 在通信系统中的统一订阅标识符管理
CN110401618A (zh) * 2018-04-24 2019-11-01 中国移动通信集团广东有限公司 区块链数据访问控制的方法及装置
US11017028B2 (en) * 2018-10-03 2021-05-25 The Toronto-Dominion Bank Systems and methods for intelligent responses to queries based on trained processes
KR102121975B1 (ko) * 2018-12-26 2020-06-11 주식회사 엘지씨엔에스 동기화 테이블을 통한 실제 데이터 제공 방법 및 데이터 관리 시스템
US11714826B2 (en) 2020-02-27 2023-08-01 Intuitive Data Analytics, LLC Generation and adaptation of visualizations from one or more data sets stored using a single-branch approach
US11379408B2 (en) * 2020-05-04 2022-07-05 International Business Machines Corporation Pointer-based dynamic data structures in key-value stores

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1288795A1 (en) * 2001-08-24 2003-03-05 BRITISH TELECOMMUNICATIONS public limited company Query systems

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US6493702B1 (en) * 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US20030014394A1 (en) * 2001-03-22 2003-01-16 Shinji Fujiwara Cell-level data access control using user-defined functions
US20020143961A1 (en) * 2001-03-14 2002-10-03 Siegel Eric Victor Access control protocol for user profile management
US7155425B2 (en) * 2001-05-15 2006-12-26 Nokia Corporation Mobile web services
AU2002366902A1 (en) * 2001-12-21 2003-07-09 Nokia Corporation Location-based novelty index value and recommendation system and method
US7240046B2 (en) * 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
US7165119B2 (en) * 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
US20070276801A1 (en) * 2004-03-31 2007-11-29 Lawrence Stephen R Systems and methods for constructing and using a user profile
US20060047725A1 (en) * 2004-08-26 2006-03-02 Bramson Steven J Opt-in directory of verified individual profiles
US7882122B2 (en) * 2005-03-18 2011-02-01 Capital Source Far East Limited Remote access of heterogeneous data
US20060248592A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation System and method for limiting disclosure in hippocratic databases
US8086605B2 (en) * 2005-06-28 2011-12-27 Yahoo! Inc. Search engine with augmented relevance ranking by community participation
US10769215B2 (en) * 2005-07-14 2020-09-08 Conversant Wireless Licensing S.A R.L. Method, apparatus and computer program product providing an application integrated mobile device search solution using context information
US7747612B2 (en) * 2005-10-31 2010-06-29 Yahoo! Inc. Indication of exclusive items in a result set
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
JP4838610B2 (ja) * 2006-03-24 2011-12-14 キヤノン株式会社 文書管理装置、文書管理方法、プログラム
US9141704B2 (en) * 2006-06-28 2015-09-22 Microsoft Technology Licensing, Llc Data management in social networks
US20080147633A1 (en) * 2006-12-15 2008-06-19 Microsoft Corporation Bringing users specific relevance to data searches
US8024328B2 (en) * 2006-12-18 2011-09-20 Microsoft Corporation Searching with metadata comprising degree of separation, chat room participation, and geography
JP5138970B2 (ja) * 2006-12-20 2013-02-06 リプレックス株式会社 システム、サーバ、情報端末、オペレーティングシステム、ミドルウェア、情報通信機器、認証方法、システム及びアプリケーションソフトウェア
JP2008177713A (ja) * 2007-01-17 2008-07-31 Nec Corp 携帯端末装置、移動通信システム及びそれらに用いる多人数コミュニケーション促進方法
JP2008197839A (ja) * 2007-02-09 2008-08-28 Fujifilm Corp 情報管理装置、方法およびプログラム
US20080235189A1 (en) * 2007-03-23 2008-09-25 Drew Rayman System for searching for information based on personal interactions and presences and methods thereof
JP5190921B2 (ja) * 2007-07-24 2013-04-24 日本電信電話株式会社 コミュニティ通信ネットワーク、通信制御方法、コミュニティ管理サーバ、コミュニティ管理方法、およびプログラム
US7809751B2 (en) * 2007-08-27 2010-10-05 Sap Ag Authorization controlled searching
CA2696945C (en) * 2007-09-07 2014-12-02 Facebook, Inc. Dynamically updating privacy settings in a social network
JP5267062B2 (ja) * 2007-11-16 2013-08-21 ソニー株式会社 情報処理装置、情報処理方法、コンテンツ視聴装置、コンテンツ表示方法、プログラム及び情報共有システム
JP2009140051A (ja) * 2007-12-04 2009-06-25 Sony Corp 情報処理装置、情報処理システム、推薦装置、情報処理方法および記憶媒体
US8799264B2 (en) * 2007-12-14 2014-08-05 Microsoft Corporation Method for improving search engine efficiency
US20090171690A1 (en) * 2007-12-28 2009-07-02 Humanbook, Inc. System and method for a web-based people directory
US20090178131A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
JP2009211403A (ja) * 2008-03-04 2009-09-17 Hitachi Software Eng Co Ltd ファイル検索プログラム
JP5266841B2 (ja) * 2008-03-31 2013-08-21 富士通株式会社 仮想共同体管理システム、仮想共同体管理方法、およびコンピュータプログラム
US8229911B2 (en) * 2008-05-13 2012-07-24 Enpulz, Llc Network search engine utilizing client browser activity information
US8364659B2 (en) * 2008-05-14 2013-01-29 Enpulz, L.L.C. Network server employing client favorites information and profiling
US20090327054A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Personal reputation system based on social networking
US20100088364A1 (en) * 2008-10-08 2010-04-08 International Business Machines Corporation Social networking architecture in which profile data hosting is provided by the profile owner
US20100114897A1 (en) * 2008-10-17 2010-05-06 Ricardo Polo-Malouvier Indexing and searching a network of multi-faceted entity data
US8032508B2 (en) * 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US20100169338A1 (en) * 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Search System
US8108406B2 (en) * 2008-12-30 2012-01-31 Expanse Networks, Inc. Pangenetic web user behavior prediction system
US8255403B2 (en) * 2008-12-30 2012-08-28 Expanse Networks, Inc. Pangenetic web satisfaction prediction system
US8386519B2 (en) * 2008-12-30 2013-02-26 Expanse Networks, Inc. Pangenetic web item recommendation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1288795A1 (en) * 2001-08-24 2003-03-05 BRITISH TELECOMMUNICATIONS public limited company Query systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Access Control for a Shared Data Base》;IBM,Bamford, RJ,Choy, DM;《ip.com》;19800901;第1-2页 *

Also Published As

Publication number Publication date
CN102713904A (zh) 2012-10-03
JP5544431B2 (ja) 2014-07-09
CA2784778C (en) 2016-01-19
EP2517126A4 (en) 2016-10-12
KR101445950B1 (ko) 2014-11-03
JP2013515308A (ja) 2013-05-02
BR112012015717A2 (pt) 2016-05-17
KR20120106863A (ko) 2012-09-26
US20110153644A1 (en) 2011-06-23
CA2784778A1 (en) 2011-06-30
WO2011076986A1 (en) 2011-06-30
EP2517126A1 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
CN102713904B (zh) 利用可缩放的数据结构的方法和装置
CN102939604B (zh) 用于上下文索引的网络资源的方法和装置
CN102972003B (zh) 用于提供被动授权的方法和装置
CN103688244B (zh) 用于为分布式计算提供端到端隐私的方法和装置
CN103069421B (zh) 用于处理针对分区式索引的搜索请求的方法和装置
CN104412266A (zh) 用于具有动态排序的树结构的多维数据储存和文件系统的方法和装置
US9558274B2 (en) Routing query results
CN103838837B (zh) 基于语义模板的遥感元数据集成方法
CN106407303A (zh) 数据存储、查询方法及装置
CN102939579A (zh) 绑定用户接口元素和粒度反映处理的方法和装置
CN106407201A (zh) 一种数据处理方法及装置
CN102918529A (zh) 索引生成和使用的方法和装置
CN106886568B (zh) 一种分表方法、装置及电子设备
CN102948129A (zh) 用于桥接通信会话的方法和设备
CN102656597A (zh) 用于将消息和附件组织为会话的方法和装置
US20150331924A1 (en) Synchronizing endpoint data stores having disparate schemas
CN103914290A (zh) 一种操作命令处理方法及装置
CN109885654A (zh) 在线文档修改处理方法和装置
US20130060797A1 (en) Data transformation method and system
CN103079194B (zh) 业务适配方法、装置及系统
US20130054584A1 (en) Method and apparatus for providing search with contextual processing
CN111027080B (zh) 基于ooxml复合文档源文件数据区位置排列次序的信息隐藏方法及系统
CN106557706A (zh) 数据存储方法、装置及移动终端
CN103020300B (zh) 一种信息检索方法和设备
CN109144404A (zh) 基于多个dmp的数据存储以及查询方法、装置和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160118

Address after: Espoo, Finland

Applicant after: NOKIA TECHNOLOGIES OY

Address before: Espoo, Finland

Applicant before: NOKIA Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161109

CF01 Termination of patent right due to non-payment of annual fee