更新接收设备中的数据库的方法和装置制造方法

文档序号:7989127阅读:293来源:国知局
更新接收设备中的数据库的方法和装置制造方法
【专利摘要】本发明描述了一种用于管理设备上的媒体内容数据库的方法和装置。该方法和装置包括:接收(525)与媒体内容相关联的事件数据,所述事件数据包括事件标识符;确定(540)事件标识符是否与已经存储在存储器中的事件数据的事件标识符相匹配;如果接收到的事件标识符与所存储的事件数据的事件标识符不匹配,将接收到的事件数据添加(750)到事件数据;如果接收到的事件标识符与所存储的事件数据的事件标识符相匹配,用接收到的事件数据替换(765)存储的事件数据。
【专利说明】更新接收设备中的数据库的方法和装置
[0001]相关申请的交叉引用
[0002]本申请要求提交于2011年I月6日的临时专利申请第61/430,271号标题为《Method and Apparatus for Searching In a Receiving Device》以及提交于 2011 年 I月6日的临时专利申请第61/430,287号标题为《Method and Apparatus for Updating aDatabase In a Receiving Device))的优先权。
【技术领域】
[0003]本发明一般地涉及接收和管理媒体内容的系统,更具体地说,涉及一种用于接收、管理、更新和搜索接收装置中的媒体内容数据库的方法和装置。
【背景技术】
[0004]广播内容服务提供商和互联网服务提供商继续寻求在各自的内容传送系统中的协同作用。现在许多新的网络设备包括基于媒体内容或服务提供商的固有能力的对全部媒体内容的导航和搜索能力。新的网络设备,特别是那些家用设备,正在融合与以广播为中心和以互联网网络为中心的设备相关联的操作和功能。这些新网络设备包括电视、机顶盒、家庭网关、家庭计算机媒体站、平板电脑等。这些新的网络设备还提供信号接收、媒体录制、家庭网络和互联网连接能力。
[0005]然而,以广播为中心的设备和以互联网为中心的设备之间的操作差异仍然是一个问题。由于基于广播和互联网的媒体功能已经融合成单个设备、新的命令、控制,因此出现内容管理问题。例如,动态访问、更新和控制设备中媒体内容的导航和使用的能力仍然是个问题,尤其是当网络包括多个媒体内容的源以及多个服务和提供商时。需要一种能够对连接到网络的接收设备中的媒体内容进行导航、管理、搜索、访问和控制的机制。特别是,需要一种改善媒体内容数据库结构中更新和搜索管理的机制。

【发明内容】

[0006]根据本发明的一个方面,描述了一种用于管理、更新和搜索设备上的媒体内容数据库的方法。该方法包括:接收与媒体内容相关联的事件数据,事件数据包括事件标识符;确定该事件标识符是否与已经存储在存储器中的事件数据的事件标识符匹配;如果接收到的事件标识符与存储的事件数据的事件标识符不匹配,那么将接收到的事件数据添加到事件数据;以及如果接收到的事件标识符与存储的事件数据的事件标识符匹配,那么用接收到的事件数据替换存储的事件数据。
[0007]根据本发明的另一个方面,描述了一种用于管理、更新和搜索设备中的媒体内容数据库的装置。该装置包括:用于接收与媒体内容相关联的事件数据的部件,事件数据包括事件标识符;用于确定该事件标识符是否与已经存储在存储器中的事件数据的事件标识符匹配的部件;用于在接收到的事件标识符与存储的事件数据的事件标识符不匹配时将接收到的事件数据添加到事件数据的部件;以及用于在接收到的事件标识符与所存储的事件数据的事件标识符匹配时用接收到的事件数据替换存储的事件数据的部件。
【专利附图】

【附图说明】
[0008]通过下面对优选实施例的详细描述(结合附图阅读),本公开的这些和其他方面、特征和优点将会被描述或变得显而易见。在附图中,相同的参考标号表示相似的元件,在全部附图中:
[0009]图1是根据本公开的用于传送视频内容的示例性系统的框图;
[0010]图2是根据本公开的示例性客户端设备的框图;
[0011]图3是根据本公开的触摸面板设备的透视图;
[0012]图4是根据本公开的用于管理媒体内容数据库的操作代码的一部分的架构图;
[0013]图5是根据本公开的用于管理媒体内容数据库的示例性过程的流程图;
[0014]图6是根据本公开的用于管理媒体内容数据库的另一个示例性过程的流程图;
[0015]图7是根据本公开的用于管理媒体内容数据库的又一个示例性过程的流程图;
[0016]图8是根据本公开的缓存控制器的一个实施例的框图;
[0017]图9是根据本公开的控制电路的一个实施例的框图;
[0018]图10是示出根据本公开的示例性记录结构的图。
[0019]应该理解的是,附图用于示例本公开的构思的目的,不一定是示例本公开的唯一可能的配置。
【具体实施方式】
[0020]应该理解的是,附图中所示的元件可以实现为各种形式的硬件、软件或它们的组合。优选地,这些元件实现为可能包括处理器、存储器和输入/输出接口的一个或多个适当编程的通用设备上的硬件和软件的组合。在本说明书中,词语“耦合”的定义是指通过一个或多个中间组件直接连接或间接连接。这些中间组件可以包括基于硬件和软件的组件。
[0021]在本说明书对本公开的原理进行说明。因此,可以理解的是,本领域的技术人员能够设计出虽然未在本说明书中明确描述或示出但体现本公开的原理并包含在其精神和范围之内的出各种布置。
[0022]本说明书中所述的所有示例和条件性语言都用作教育目的以帮助读者理解本公开的原理和发明人贡献的促进本【技术领域】发展的构思,并应该被解释为不限于这些具体陈述的示例和条件。
[0023]此外,本说明书中所有描述本公开的原理、方面和实施例的陈述,以及其具体示例都包括其结构和功能的等同物。此外,这些等同物包括当前已知的等同物以及将来开发出的等同物,即,开发出来执行相同功能而不论结构如何的任何元件。
[0024]因此,例如,本领域的技术人员将会理解的是,本说明书中出现的框图表示实施本发明原理的示例性电路系统的概念图。类似地,将会理解的是,任何流程表、流程图、状态转换图、伪码等表示可实质性表示在计算机可读介质中并由计算机或处理器执行的各种过程,不论这些计算机或处理器是否明确示出。
[0025]图中所示的各种元件的功能可以通过使用专用硬件和能够联合合适的软件执行软件的硬件提供。当由处理器提供时,该功能可以由单个专用处理器或单个共用处理器或其中有一些可以共用的多个独立的处理器提供。并且,明确的使用术语“处理器”或“控制器”不应该被解读为排他性地专指能够执行软件的硬件,而应该被解读为没有限制地、隐含地包括数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存储器(RAM)和非易失性存储器。
[0026]还可以包括其他传统和/或定制的硬件。相似地,图中所示的任何开关都只是概念性的。它们的功能可以通过执行程序逻辑、专用逻辑、程序控制和专用逻辑交互或者甚至手动实现,实施者可以根据场景更详细地理解可选择的特定技术。
[0027]在本说明书的权利要求中,任何被表达为执行特定功能的部件的元件都包括执行该功能的任何方式,这些方式包括例如a)执行该功能的多个电路元件的组合或b)包括与用于执行软件以完成该功能的适当电路组合在一起的固件、微码等的任何形式的软件。这些权利要求限定的本公开在于下列事实:各个列举的部件提供的功能以权利要求请求保护的方式组合并放置在一起。因此,任何可以提供这些功能的部件都被视为与那些在本说明书中示出的部件等价。
[0028]本实施例解决与高效管理媒体内容数据库相关的问题。这些实施例主要针对管理和更新存储多个媒体事件的数据库。媒体事件可能包括从节目指南接收到的项目(entry)和信息、从网络服务接收到的可用内容列表或其他类似的事件内容项目和信息。在数据库正在更新的同时,执行对数据库的查询请求。这些查询请求应该产生准确、及时的结果。本实施例最适合具有有限处理资源的嵌入式系统,如网关设备或机顶盒。实施例包括一种接收事件并将事件作为新事件或覆盖已在存储器缓存中的事件的更新事件存储在存储器缓存中的方法和装置。然后,当缓存交换或缓存刷新的指示或触发被确定时,将缓存存储写入数据库。缓存交换或缓存刷新可以基于多个可能的操作条件触发,如,当超过新事件计数或特定时间段时。一旦写入缓存存储,更新数据库,该新近更新的数据库就被识别或指向为“查询”或只读数据库,不再指向并擦除当前的“查询”数据库,并以不影响查询过程的方式将新的查询数据库后台复制到新近擦除的数据库。
[0029]现在转向图1,示出了用于传送视频内容给家庭或终端用户的系统100的一个实施例的框图。内容来自内容源102,如电影工作室或制作公司。内容可以以两种形式中的至少一种提供。一种形式可以是广播形式的内容。广播内容被提供给广播联盟管理器(broadcast affiliate manager) 104,它通常是全国性的广播服务,如美国广播公司(ABC)、国家广播公司(NBC)、哥伦比亚广播公司(CBS)等。广播联盟管理器可以收集和存储内容,并可以调度传送网络上(示出为传送网络I (106))的内容传送。传送网络(106)可以包括从国家中心到一个或多个区域或本地中心的卫星链路传输。传送网络I (106)可以使用任何一种标准传输协议和内容传送标准(例如,先进电视系统委员会(ATSC ) A/53、数字视频广播(DVB )-有线(DVB-C)、DVB卫星(DVB-S )或者DVB-地面(DVB-T ))。传送网络(106 )还可以包括使用本地传送系统(如,通过空中广播、卫星广播或有线广播)的本地内容传送。本地传送的内容提供给用户家中的用户客户端设备108。广播联盟管理器104还提供信息给数据服务器116。这些信息可能包括但不限于与规划(programming)、传送或广播时间表相关联的数据,或其他类型的与广播内容相关的信息。
[0030]附加信息(例如,特殊通知或调度信息)或其他不提供给广播联盟管理器的内容可以从内容源102传送给内容管理器110。内容管理器110可能是隶属于内容提供商、广播服务或传送网络服务的服务提供商。内容管理器110可以通过互联网网站或网络服务运行。内容管理器110还可以将互联网内容并入传送系统。内容管理器110可以通过单独的传送网络(传送网络2 (112))将内容传送到用户的客户端盒(box) 108。传送网络2 (112)可以包括高速宽带互联网类型的通信系统。重要的是注意到,来自广播联盟管理器104的内容也可以使用全部或部分的传送网络2 (112)传送,来自内容管理器110的内容可以使用全部或部分的传送网络I (106)传送。此外,用户也可以通过传送网络2 (112)直接从互联网获取内容,该内容不一定由内容管理器110管理。
[0031]数据服务器116从广播联盟管理器104接收信息,并将信息转换成适合传送到用户设备(例如,客户端设备108)的内容流。数据服务器116可以包括网站或某些网络位置(networking site)的网络服务。数据服务器116可以连接到传送网络2 (112)以提供内容流和信息到客户端设备108。替代性地,数据服务器116可以包括到蜂窝网络或其他无线传送网络的网络接口,并直接提供兼容无线网络格式的内容和信息到客户端设备108。此夕卜,数据服务器116可以通过例如内容管理器110和传送网络2(112),从互联网接收信息。更多的接口允许将与节目、内容和调度相关的信息从除广播联盟管理器104之外其他的源(例如,其他用户、网站或新闻机构)提供给数据服务器116。
[0032]客户端设备108可能从传送网络I (106)和传送网络2 (112)之一或两者接收到不同类型的内容。客户端设备108处理内容,并根据用户喜好和命令提供内容分离。客户端设备108还可能包括存储设备,如硬盘驱动器或光盘驱动器,用于记录和/或存储内容以及回放作为音频和/或视频信号的内容。客户端设备108可以是机顶盒、家庭媒体服务器、计算机媒体站、平板设备、家庭网络网关、多媒体播放器、家庭网络设备等。客户端设备108操作的进一步细节,以及与接收、管理、更新和搜索存储内容相关联的特征将在下面与图2有关的部分描述。处理后的内容(例如,音频和视频信号)被提供给显示设备114。显示设备114可以是常规的两维(2-D)类型显示器,或者也可以是先进的三维(3-D)显示器。
[0033]重要的是注意到,任何媒体节目和内容以及与媒体节目和内容有关的任何信息(例如,节目指南或节目元数据)都可能来自内容源(例如,内容源102)。内容和信息可以传输到内容管理器,并最终通过传送网络I (106)或传送网络2 (112)传送给客户端或用户设备(例如,客户端设备108)。替代性地,来自内容源的内容和信息可以传送给数据服务器(如,数据服务器116),重新格式化,然后传送给客户端或用户设备。再进一步,内容和信息可以来自数据服务器(例如,数据服务器116)或互联网上的第三方源,并提供给数据服务器116以传送给客户端或用户设备。
[0034]现在转向图2,示出了接收设备200的核心的一个实施例的框图。除下面所述,设备200以类似于图1中描述的客户端设备108的方式工作。设备200本身也可以被包括到其他包括显示设备114的系统中。在这两种情形的任何一种情形中,为了简明未示出完成系统运行所必需的几个组件,因为未示出的组件是本领域技术人员熟知的。
[0035]信号通过接口在输入信号接收器202处提供给设备200。输入信号接收器202连接到输入流处理器204。输入流处理器204连接到音频处理器206和视频处理器210。音频处理器206连接到音频接口 208,它提供来自设备200的音频输出信号。视频处理器210连接到显示接口 218,它提供来自设备200的视频输出信号。音频处理器206和视频处理器210还连接到存储设备212。控制器214连接到存储装置212,以及输入流处理器204、音频处理器206和视频处理器210。控制存储器220连接到控制器214。控制器214还连接到用户接口 216和手持接口 222。
[0036]输入信号接收器202接收内容。输入信号接收器202可以是几种已知的用于接收、解调和解码通过几种可能的网络(包括通过空中、有线电视、卫星、以太网、光纤、电话线网络)之一提供的信号的接收电路中的一种或几种。重要的是注意到,输入信号接收器202可以包括用于数据信号以及媒体内容信号的接收、解调和解码电路,这些数据信号以及媒体内容信号通过与想要的广播输入信号相同的传送网络(即,传送网络I (106))或通过不同的网络(即,传送网络2 (112))和/或替代性的如图1所描述的蜂窝或无线网络传送。通过传送网络2 (112)或无线网络接收到的媒体内容和数据可能与媒体内容和传送网络I(106)不同。数据可以包括与调度变化和更新相关的信息以及与通过两种传送网络中任一种传送的媒体内容相关的信息。在一个实施例中,信号接收器202中的有线电视调谐电路接收、解调和解码有线电视广播信号。可以根据通过控制接口(未示出)提供的用户输入在信号接收器202中选择和获取想要接收的广播输入信号。输入信号接收器202还包括额外提供双向网络连接的互联网协议(IP)接口电路。
[0037]输入信号接收器202中解码的一个或多个电路的输出信号被提供给输入流处理器204。输入流处理器204执行最终信号选择和处理,包括将视频内容与音频内容分离以获得内容流。音频内容提供给音频处理器206以从接收格式(例如,压缩数字信号)转换为另一种格式(例如,模拟波形信号)。模拟波形信号提供给音频接口 208,并进一步提供给显示设备114或音频放大器(未示出)。替代性地,音频接口 208可以使用高清晰度多媒体接口(HDMI)线缆或备用音频接口(如,通过Sony/Phi I ips数字互连格式(STOIF))提供数字信号给音频输出设备或显示设备。音频处理器206还执行存储音频信号所必须的任何转换。
[0038]输入流处理器204的视频输出提供给视频处理器210。视频信号可以是几种格式之一。视频处理器210基于输入信号格式提供必要的视频内容转换。视频处理器210还执行存储视频信号所必须的任何转换。
[0039]存储设备212存储在输入端接收的音频和视频内容。存储设备212允许稍后在控制器214的控制下以及还根据命令(例如,从用户接口 216接收的导航指令,如快进(FF)、快退(Rew))获取和回放内容。存储设备212可以是硬盘驱动器、一个或多个大容量集成电子存储器(如,静态RAM (SRAM)、动态RAM (DRAM))、可互换光盘存储系统(如,紧凑型磁盘驱动器或数字视频磁盘驱动器)或设备200以外并可通过设备200访问的存储器。
[0040]视频处理器210转换后的视频信号,无论是来源于输入端还是来源于存储设备212,都提供给显示接口 218。显示接口 218进一步提供显示信号给上述类型的显示设备。显示接口 218可以是模拟信号接口,如红-绿-蓝(RGB ),或者可以是数字接口(例如,HDMI)。
[0041]控制器214通过总线与设备200的一些组件相互连接,包括输入流处理器202、音频处理器206、视频处理器210、存储设备212、用户接口 216以及手持接口 222。控制器214管理将输入流信号转换成用于存储在存储设备或用于显示的信号的转换过程。控制器214还管理存储内容的获取和回放。控制器214进一步耦合到用于为控制器214存储信息和指令代码的控制存储器220 (例如,易失性或非易失性存储器,包括RAM、SRAM、DRAM、只读存储器(ROM)、可编程ROM、电可编程ROM (EPROM)、电可擦除可编程ROM (EEPROM)、闪速存储器等)。另外,存储器220的实施可以包括几个可能的实施例,如单个存储设备,或替代性地,连接在一起形成共用或公用存储器的一个以上的存储器电路。更进一步地,存储器可以和其他电路(如,部分总线通信电路)一起被包括在更大的电路中。
[0042]除了通过接口连接用户接口元件和显示设备,客户端设备200也可以通过手持接口 222连接手持设备,如平板电脑。手持设备可以包括带有更多控制的显示屏幕或者可以包括触摸屏。来自视频处理器210的视频信号以及其他数据(如,在屏显示消息和消息提示返回)可以在控制器214和手持接口 222之间沿特定路线传输。手持接口 222可以使用使用射频通信链路(如,W1-F1、蓝牙、电气和电子工程师学会(IEEE)标准802.11)的手持设备或平板电脑发送和接收信号和数据。手持接口 222可以替代性地使用使用红外线接口的手持设备或平板电脑发送和接收信号和数据。
[0043]在操作中,如下面进一步详述的,设备200实现了更新、管理和搜索客户端设备(如,机顶盒或家庭网关)中的媒体内容数据库的过程。算法或功能的物理实现可以实施为硬件(如,与视频处理器210相关的分立电路)或软件(如,驻留在控制存储器220中并由控制器214读取和执行的软件)。该方法包括:接收与媒体内容相关联的事件数据,事件数据包括唯一事件标识符;检查事件标识符以将事件数据存储在缓存存储器的数组中;如果接收到的事件数据中的事件标识符目前不在数组中,那么更新事件计数值;以及如果缓存存储交换被触发(如,当至少一个事件计数值超过预定阈值并且时间段值超过预定阈值),那么用数组中的事件数据更新第一事件数据库。
[0044]本公开所描述的过程可以采用可以用来表达搜索数据库功能(如,滚动、浏览、翻页、按词搜索等)的输入设备。为了实现此功能,如图3所示的触摸面板设备300可以通过如图2所示的设备200的用户接口 216和/或手持接口 222接口连接。触摸面板设备300允许根据通过面板翻译成客户端设备(例如,设备200或客户端设备108)命令的手部运动或手势以及动作或其他控制设备的接收设备或机顶盒的操作。另外,触摸平板设备300可以用作第二屏幕,允许其他内容(如,在屏显示窗口和消息)在不中断或掩盖主显示设备(例如,显示设备114)的观看的情况下显示给用户。在一个实施例中,触摸面板设备300可以用作导航工具对显示的电子节目指南或内容显示指南进行导航。在其他实施例中,触摸面板设备300另外用作显示设备,允许用户通过显示显示内容的网格指南(grid guide)和导航更直接地交互。重要的是注意到,触摸面板设备自身可以集成到机顶盒成为例如前面板显示器或阵列的一部分。触摸面板设备300也可以被包括作为包含更常规控制功能(如,激活或驱动按钮)的遥控设备的一部分。
[0045]用作媒体存储器和接口设备的设备(如,设备200)的操作方面通常包括存储、维护、搜索、获取媒体内容以及用于识别内容的数据库项目或记录。数据库信息和项目的更新在可能包括定期或持续的内容信息更新的动态系统中非常重要。例如,可能接收到新的数据库记录或信息,并提供给数据库。并且,可能会删除或擦除当前存储的内容和与该内容相关联的项目或信息。内容可能会定期或替代性地通过从用户控制输入到该设备的输入删除或擦除。同时或几乎同时,可能会做出一个请求,如数据库搜索请求。一般情况下,所有种类和形式的内容和信息可以从多个源接收,并输入数据库。重要的是有稳定的数据库可供搜索请求使用。数据和信息需要添加到数据库中,同时仍保持搜索能力,并保持尽可能好的搜索结果和搜索性能。在简单的数据库结构(例如,实现为结构化查询语言(SOL)数据库的结构)中更加希望对数据库更新和搜索进行改进。[0046]如本说明书中描述的更新、管理和搜索媒体内容数据库的功能和控制可以被包括为与网关设备(例如,设备200)相关联的操作代码或固件的一部分。这个过程可能包括以任何编程语言(如,Java或超文本标记语言(HTML))编写的操作指令。应用程序可被预先加载或下载(例如,从服务器或因特网站点),并存储在主机设备的存储器中。应该理解的是,在一个实施例中,指令存储在图2的控制存储器220中,指令从其中获取并由控制器214执行。在另一个实施例中,存储器和对应的将执行处理的处理器或控制器可以集成为单独的独立集成电路(例如,数字处理处理器(DSP)或专用集成电路(ASIC))。
[0047]转到图4,示出了根据本公开的几个方面的用来管理接收设备中媒体内容数据库的一部分操作代码的示例性架构400的框图。来自DVB源的输入数据传送给DVB事件源插件420。来自第二源(宽带内容源)的输入数据传送给宽带事件源插件425。DVB事件源插件420和宽带事件源插件425通过接口连接到源插件应用程序编程接口(API) 442。源插件API 442通过接口连接到节目数据库440。节目数据库440通过接口连接到记录调度器460和内容聚合器470。源插件API 442也可以提供连接到其他源插件的接口(未示出)。类似地,节目数据库440提供连接到其他模块的接口(未示出)。最后,DVB事件源插件420、宽带事件源插件425、源插件API 442、节目数据库440都被包括为节目数据库组件445。
[0048]节目数据库组件445提供管理设备(例如,设备200)中内容数据库的多种服务和功能。节目数据库组件445提供可以在设备重启之后立即获取的事件信息(例如,数据库项目和信息)的永久存储。节目数据库组件445进一步提供有关事件或项目信息和条件的高效、灵活的搜索接口功能。搜索功能可以包括搜索与节目相关的具体信息(例如,类型、时隙)。搜索功能还可以包括组合条件搜索。节目数据库组件445还提供用于提供事件或项目信息给节目数据库440的灵活接口。
[0049]节目数据库440负责收集并提供事件或项目信息的可搜索接口。提供的事件(例如,媒体内容项目)数据在不同的服务提供商和网络之间可能变化很大。节目数据库440被设计具有非常灵活的搜索输入接口和允许操作代码在不特别了解存储的数据的详细信息的情况下适应事件或项目数据的明显变化的数据库结构。此外,输入到节目数据库440的输入通过源插件API 442抽象。节目数据库通过源插件API 442指定某个接口用于初始事件处理。源插件API 442不包括受其他组件(例如,记录调度器460和内容聚合器470)影响的功能或操作。
[0050]通过接口连接事件源的DVB事件源插件420和宽带插件事件源插件425是可以被节目数据库440直接调用的几个可以共用的库中的两个库。DVB事件源插件420提供连接到携带在遵循DVB标准之一的广播信号流内的节目指南数据的特定接口连接。宽带事件源插件425提供连接到一个或多个基于Web或互联网的内容传送服务的特定接口连接。单独的源插件API 442进一步定义为允许事件源在节目数据库440中注册,并提供事件信息。通过使用插件模型,可以在不影响节目数据库组件445剩下的组件的情况下针对特定服务或内容提供商自定义插件。源插件API 442还包括其他源插件的接口(未示出),以进一步允许节目数据库440适应来自多个源的事件或项目数据。
[0051]节目数据库440还提供了一组服务定义,允许组件(例如,记录调度器460和内容聚合器470)搜索和获取事件或项目以及附带的信息。记录调度器460使用来自节目数据库440的信息对设备(例如,设备200)接收到的内容记录进行调度和管理。这些记录可以根据用户喜好或预定义条件自动记录(例如,系列记录)或者可以通过用户请求开始。当时间表发生变化时,记录调度器460还接收来自节目数据库440的事件(例如,节目指南)更新来调整记录时间表。例如,节目内容片段可能被安排在给定的一天的下午8:00到下午8:30记录。网络提供商可能会随后发送更新事件信息以重新安排该片段通过网络在下午8:30至下午9:00传送。记录调度器460从节目数据库440接收此事件更新,并相应调整记录时间表。
[0052]内容聚合器470收集并进一步识别来自多个通过接口连接到设备(例如,设备200)的源的存在或可用的内容。这些源包括由节目数据库440提供的任何事件或节目数据。其他源可以包括先前记录驻留在设备上的内容、下载驻留在设备上的内容以及驻留在USB记忆棒或家庭网络上的用户内容。内容聚合器470提供了用于提供与所有可用内容有关的信息的单一接口。内容聚合器470可进一步通过接口与软件架构内的其他模块或服务连接,包括但不限于数字生活网络联盟(DLNA)服务、本地显示设备用户接口和平板电脑上运行的远程客户端。
[0053]下面描述的过程包括改善数据库系统更新性能的实施例。该过程可以在各种布置和程序架构中使用,包括架构400。此外,该过程可以被包括在各种设备中,包括先前描述的设备200和客户端设备108。该过程包括使用单独的数据存储结构之间两种独立的交换机制。首先,存储器缓存结构被用于临时存储传入的事件、数据和信息。传入的数据记录和信息,通常识别事件(如,新节目或传送时间表或节目指南更新),被首先放入存储器缓存。每隔一段时间,存储器缓存交换,最近写入的存储器缓存被复制或被写入两个主要数据库中被放置为只写模式的一个数据库。同时,代表数据库稳定版本的先前写入的数据库版本被放置到读模式并用来为任何搜索请求提供服务。缓存过程可以是动态的,取决于多种因素,如自上次传输以来的项目数量、已花费的时间或搜索请求的频率。使用多种因素的组合作为缓存交换触发通过基于搜索请求的频率延迟缓存传输或基于接收到大量的事件项目增加传输进一步增强了动态交换方法。
[0054]此外,可以识别并排队、存储或以其他方式在交换期间分开处理在交换缓存或主数据库期间发起的搜索请求。例如,在交换的某段时间内发起的搜索请求可以最初使用当前数据库服务。交换完成后,确定的请求可以使用更新的信息重新服务,作为较早搜索请求结果的后续。
[0055]现在转向图5和图6,示出了根据本公开的各方面的用于更新设备中的数据库的过程500和过程600。过程500和过程600将主要参考图2中描述的设备200进行说明。然而,过程500和/或过程600中的一个或多个步骤可以同样适用于图1中描述的客户端设备108。此外,应该理解的是,过程500和/或过程600中的步骤可能依赖于从广播网络源(如,图1中的传送网络I (106))传送过来以及从辅助网络传送过来或传送给辅助网络(例如,图1中的传送网络2 (114))的通信。另外,重要的是注意到,过程500和过程600中描述的某些步骤可以实施一次以上,或可以递归地实现。这些修改对过程500或过程600的整体方面没有任何影响。
[0056]此外,重要的是注意到,虽然过程500和过程600将以相互结合的方式描述,但是过程是可分离的。过程500主要对用于初始事件或进入缓存并更新的操作进行说明。过程600主要对被包括在完整的数据库交换过程中的步骤进行说明。因此,过程500和过程600可以被独立地实施。
[0057]在过程500中,在步骤505,过程以初始化时间帧的开始而开始。时间帧初始化提供了一种用于确定积累新输入(如,项目、内容和信息)以纳入节目数据库的时间的机制。可以通过运行计时器来保持时间帧信息。计时器可以在真实时间的基础上运行,或者可以在“实际使用”时间的基础上运行,如使用设备的运行时间。时间帧可以是预定值,如5分钟,或者可以是可由用户或通过监测过程动态调整,(例如,一段时间内的项目数量,覆盖的一天中的时间等)。并且,在步骤505,在适当的时间基准(例如,计时器)由设备200中的控制器214监测。在步骤510,当时间基准被周期或持续不间断监测时,确定在步骤505中初始化的时间帧是否被超过。如果时间帧没有被超过,那么在步骤510继续监测,直到在步骤510的下一次确定。如果在步骤510时间帧被超过,那么在步骤515,复位时间帧。复位之后,在步骤515,过程返回以在步骤505初始化新的时间帧。
[0058]独立地,在步骤505初始化时间帧之后,在步骤520初始化事件计数。接下来,在第步骤525,接收事件或项目,或监测。如前所述,这些事件或项目可能是来自内容源或内容提供商的新项目,或者可能是对数据库中现有项目的更新。在这两种情况的任一种情况下,改变对基于项目的数据库来说都是必要的。如果在步骤525没有接收到任何事件,那么过程返回到步骤525继续监视。如果在步骤525接收到事件或项目,那么在步骤530检查该事件或项目信息。特别地,检查与事件标识符相关的信息。如后面将要描述的,事件标识符被用来确定该事件或项目是否是新的,以方便事件计数器工作。
[0059]接着,在步骤535,将事件或项目信息存储在阵列缓存结构中。存储事件或项目信息以及定位(locate)阵列缓存指针结构可以在控制存储器220、存储设备212或者在单独的存储器结构(未示出)中实现。此外,过程500维护两个阵列缓存结构,每一个都有独立的指针。在步骤540,确定接收到的项目或事件是否代表新事件。确定可以通过比较该事件的唯一标识符与已经在阵列缓存中的事件的唯一标识符进行。
[0060]如果在步骤540确定接收到的事件或项目是不是新的,那么过程在步骤525返回以等待新的事件。在此情况下,接收到的事件或项目信息可以用来替换阵列缓存中前面的事件或项目信息。如果在步骤540,确定为接收到的事件或输入项目是新的,那么在步骤545,更新或增加事件计数。接收到的事件或项目信息随后也可以也加入阵列缓存。
[0061]接着,在步骤550,确定在步骤545最近增加的事件计数是否超过预定的事件计数的最大阈值。如前所述,最大的事件计数可以是固定值(例如,10个事件)、用户设置的值或将其他工作情况(例如,每个时间段的事件数量或一天中的时间)考虑进去的动态值。如果在步骤550确定事件计数没有超过阈值,那么该过程在步骤525返回以等待新的事件。
[0062]如果在步骤550确定事件计数已经超过阈值,那么在步骤555将当前指向存在于当前使用的阵列缓存中的索引的指针改变为指向第二阵列缓存。该第二阵列缓存是空的,并清除了之前的任何项目。包含最新项目的阵列缓存被保持,直到将内容写入主数据库(作为过程600的一部分)。此外,过程500在步骤555之后返回以在步骤510以时间帧初始化开始新的事件缓存周期。
[0063]现在转向图6中的过程600,在步骤610,用来自阵列缓存的新项目更新当前的写入数据库。在步骤555被交换并包含最近接收到的项目或事件的阵列缓存被写入当前的写入数据库。正如前面提到的,可能会维持两个数据库以便于数据库交换。在任何时间点,数据库之一是当前写入数据库,而剩下的一个数据库是当前读出数据库。在步骤620,确定步骤610中的写过程是否已经完成。如果在步骤620确定写过程还未完成,那么该过程在步骤610返回以继续将项目或事件写入当前的写入数据库。
[0064]如果在步骤620确定写过程已经完成,那么在步骤630删除被交换的阵列缓存。在步骤640,进行数据库交换。数据库交换涉及将指向当前读出数据库的指针改变为指向当前写入数据库。除了改变指针以外,可以在当前的写入数据库上设置(Place)防止写入的写入保护条件,而可以在当前的读出数据库上设置使能写入的当前写入保护。在步骤610,用新的事件或项目更新的当前写入数据库现在是新的读出数据库。
[0065]接着,在步骤650,擦除当前读出数据库以成为新的写入数据库。存储在数据库中的所有的项目和事件都被删除或移除。在步骤650,被进一步识别为已经成为当前的读出数据库的前当前写入数据库的新的读出数据库的内容被复制到被进一步确定为已经成为当前的写入数据库的前读出数据库的新的写入数据库。新的读出数据库中包含的项目和事件和被读出并写入到新的写入数据库。
[0066]重要的是注意到,对步骤610的写入在步骤620进行监控,以使得步骤640中的数据库交换不会发生在将阵列缓存写入当前写入数据库完成之前。还有可能的是,只有部分数据库内容会由于步骤610中的写入而改变。在一些实施例中,为了保持过程的高效,可以给予步骤610中的写入较之次要操作和功能(例如,数据库搜索请求,用户输入处理等)使用设备中资源的优先权(例如,控制器214中的处理时间和通信总线时间)。在其他实施例中,没有给予步骤610中的写入更高的优先级。相反,为了防止数据丢失,设计考虑确保步骤610中写入的有足够多的缓存。另外,步骤660中的写入或复制可以作为后台操作完成(即,给予对资源较低的优先级),可能需要很少的监控或不需要监控。步骤660中的写入必须在步骤550中的下一次缓存阵列交换完成之前完成。在一些实施例中,有利地监控步骤660中的写入,并调整步骤510中的时间帧阈值,或步骤550中的事件计数。
[0067]同样重要的是注意到,过程500和过程600中的步骤仅描述了优选实施例。在一些其他的实施例中,可以除去过程500中描述的缓存之一或两个缓存或将其集成(integrated)为过程600中描述的主数据库之一或两个主数据库。此外,可以使用两个以上的缓存或两个以上的数据库,以允许资源和/或时间管理方面更多的灵活性。在其他实施例中,过程500或过程600中的某些步骤可能重新排列或可能淘汰。例如,在一个实施例中,步骤555中的阵列缓存交换可以替代性地发生在步骤620中完成将事件或项目写入当前写入数据库之后。此外,尽管步骤510中的时间帧比较和步骤550中的事件计数比较被显示为并行执行,但是这些比较步骤也可以串行执行。比如,步骤510中的比较可以在步骤550中的比较之前执行。
[0068]过程500和600中的步骤描述了一种通过控制数据库的更新机制高效地管理媒体内容数据库的过程。对数据库交换频率的管理允许对性能(尤其是有关数据输入/输出吞吐量的性能)和呈现给用户的内容的准确性之间的折衷(tradeoff)进行控制。过程500、过程600中的步骤负责只在接收到预定义数量的缓存记录、预定义时间段或一些其他可能动态可调参数之后才缓存数据库项目并更新主数据库。该缓存机制通过使得更新过程对几种操作场景更具适应性(resilient)来改善数据库更新的性能,包括功率损耗。该缓存机制通过在多个记录上分散(distribute)或分摊(amortize)事务开销从而降低总事务时间来改善性能。例如,许多数据库管理系统可以允许大量的数据库项目插入操作。然而,实际的数据库更新速度或事务时间可能受其他因素限制,如存储介质传输速率。管理系统通常将每次数据库项目插入都视为一个单独的事务。通过使用受控的更新机制将多个数据库项目聚集(group)成一个插入操作,可以将事务时间分摊或分散在多个插入操作上。受控的更新机制导致获得缩短的更新时间和提升的数据库更新速度。
[0069]作为对在本说明书中描述的多个过程的某些优点的示例性的说明,设备在给定的时间段内接收到事件记录的25个部分或“块”(例如,从软件内的插件模块的或从外部源)。事件记录的每一部分可能依次包括多达50个事件。如果每个事务的典型数据库更新时间是2秒,那么当数据库被视为对最近接收到的更新“无效”(即,不更新)时,在接收到事件记录的每一部分的时刻更新数据库(例如,对每个块写入数据库、刷新到磁盘等)会导致至少50秒的总等待时间。通过缓存传入的事件的一部分(例如,一次25个部分),并作为单个事务将它们同时写入数据库,总的等待时间可以缩短到尽可能短的两秒钟。缓存过程可以进一步基于多种因素(包括更新频率或访问频率,如前所述)进行动态操作和管理。
[0070]此外,由于存在同时更新和数据库查询或搜索请求的更大的潜力,对每个接收到的部分来说,多个单独事务的较长的等待时间会导致较慢的内容搜索数据库查询和读取时间。许多数据库系统不允许或推荐同时写入和读出操作。本说明书中描述的交换或更新过程处理与同时写入(或更新)和读出(或查询、访问)相关联的问题。保持分开读出和写入数据库允许更快的用户搜索请求响应。
[0071]此外,缓存机制也可以降低有可能写入数据库的数据量。在一些内容传送场景中,可能重复提供同一事件的信息。这样的场景通常存在于广播信号传送系统中,在这些系统中,可能以小时间隔广播并发送数天的节目指南信息。在目前接收到的节目指南中的许多事件项目与之前接收到的事件或项目信息完全相同。此外,可能接收到是对先前收到的项目更新的一些项目。通过维护事件标识符和更新缓存以包括新的项目或替代性地更新或替换已有的项目以只包括最近更新的信息,所有重复的更新都被限制为识别的事件或存储器缓存变化。并且,可以最小化由重复事件或项目信息引起的任何非必要更新。
[0072]现在转向图7,示出了根据本公开的各方面的用于更新设备中数据库的另一个实施例过程700。正如过程500和过程600,过程700将主要参照设备200描述,但步骤中的一个或多个可以同样适用于图1中描述的客户端设备108。过程700主要描述过程500的一种替代性的过程。正如过程500,过程700可以结合过程600使用,或者可以完全独立于过程600使用。另外,重要的是注意到,过程700中描述的某些步骤可能执行一次以上,或者可以递归实现。这些修改对过程700的整体方面没有任何影响。
[0073]在步骤710,过程等待下一个接收到的事件或缓存刷新信号。重要的是注意到,在步骤710,某些工作情况已经在过程中考虑进去,并且是有效的,包括当前事件计数和计时器经过时间计数。如果接收到新的事件或项目或接收到缓存刷新信号,那么在步骤720确定是否接收到缓存刷新信号。如果接收到缓存刷新信号,那么在步骤725,将对当前事件缓存的控制权转移给当前写入数据库。在步骤730,数据库写入信号被提供给当前写入数据库。步骤725中转移控制权和步骤730中发送写入信号允许当前事件缓存以类似于过程600中的步骤610的方式写入当前写入数据库。在步骤735,当前事件计数被重置为零。
[0074]如果在步骤720确定没有接收到缓存刷新信号或在步骤735的事件计数重置之后,那么在步骤740确定是否已经接收到事件或数据库项目。如果没有接收到事件或项目,那么在步骤740过程700返回到步骤710以等待下一个接收到的项目或事件或缓存刷新信号。如果在步骤740确定已经接收到事件,那么在步骤745确定接收到的事件是否被确定为新事件。如果接收到的事件不同于已经存在于当前事件缓存中的事件,那么确定为新事件。例如,每个事件可以包括唯一事件标识符或事件ID。当接收到事件时,将接收到事件的标识符与事件缓存中的事件标识符当前列表对比。如果没有找到匹配的,那么接收到的事件被确定为新事件。
[0075]如果在步骤745确定接收到的事件或项目是新事件,那么在步骤750将接收到的事件添加到当前事件缓存。在步骤755,增加事件计数,并在步骤760将更新的增加的事件计数发送或提供给其他过程或功能。比如,在步骤760,可以将更新的事件计数发送给动态地确定应该在何时生成和发送缓存刷新信号的过程或电路,类似于过程500中描述的步骤510和550。有关确定和生成缓存刷新信号的更多细节将在下面描述。重要的是注意到,之后可以在过程700的开始在步骤710接收生成和发送的缓存刷新信号。
[0076]如果在步骤745,确定接收到的事件或项目是新事件,那么在步骤765将接收到的事件插入当前事件缓存,替换当前在当前事件缓存中具有相同事件ID的事件。以这种方式,可以用更新的接收到的事件信息更新目前在事件缓存中的事件,而无需等待任何进一步将信息写入数据库。在发送更新的事件计数或替换当前事件缓存中的事件之后,过程700返回到步骤710,等待下一个接收到的项目或事件或缓存刷新信号。另外,重要的是注意到,只有当步骤745确定接收到的事件是新事件时,才增加并发送事件计数。如果接收到的事件不是新事件,那么用接收到的事件的信息替换当前事件缓存中相同事件的信息,而不增加事件计数或发送更新事件计数值。
[0077]现在转向图8,示出了根据本公开的各方面的缓存控制器800的一个实施例的框图。缓存控制器800包括可以被包括为在接收或网关设备(例如,图2中描述的设备200或图1中描述的客户端设备108)中使用的控制电路的一部分的电路。另外,缓存控制器800实现的逻辑功能与前面描述的图5的过程500和图7的过程700中的一个或多个过程步骤相似。
[0078]缓存控制器800包括缓存控制块810。缓存控制块810包括控制逻辑820。控制逻辑820接收事件计数输入信号、一个或多个系统活动度量信号和其他输入,包括在缓存控制过程中使用的阈值信号和使能/禁用信号。缓存控制块810还包括计时器830。计时器830提供计时器结束信号给控制逻辑块820。控制逻辑块820的输出是缓存刷新信号,也被确定为缓存控制器800的输出。此缓存刷新信号与过程700的步骤720中所述的信号相似,还被提供为输入计时器830的计时器复位输入。
[0079]控制逻辑块820接收几个输入,并组合处理这些输入以确定应该何时交换和/或刷新事件缓存或存储器。控制逻辑块820可以被实现为几个实施例之一,包括比如一组逻辑门电路、可编程逻辑阵列或作为微控制器电路的一部分。控制逻辑块820接收一个指示事件计数的输入,类似于在过程500的步骤520、545和550中或在过程700的步骤730、755和760中描述的事件计数。控制逻辑块还接收包括除事件计数以外的一个或多个其他的系统活动度量的输入。这些度量可以包括接收新项目速率的指示、一天中时间的指示、用户搜索请求速率的指示或任何其他可用于改变控制逻辑块820的输出的度量。另外,控制逻辑块820接收可能包括预先存储的值(如,一个或多个前面提到的度量的阈值)的另一个输入。这些值可以被确定为初始设计的一部分,或者可由用户选择。这些值可进一步地存储在设备的存储器中(例如,设备200中的存储器220)。每个输入都可以是形成数据字节的一个或多个数字位值信号。例如,每个输入可以是在并行信号线上单独提供的8位。
[0080]计时器830基于输入时钟信号(未示出)运行,并提供与在过程500的步骤505、510和515中描述的计时器类似的计时器功能。计时器830使用时钟信号以维持(maintain)自上一次计时器复位经过的时间段。经过的时间值可以作为设计的一部分预先确定,或者可以由用户选择。一旦计时器830中的计数值超过预定值,计时器结束信号就被发送给控制逻辑块820。该计时器结束信号可能会保持,直到计时器830接收到连同在控制逻辑块820的输出端的缓存刷新信号一起的计时器复位信号。
[0081]在操作中,缓存控制器800接收如事件计数和活动度量这样的输入以及如来自设备(如,设备200)中其他组件的阈值这样的其他输入。使用这些输入,以及计时器结束信号,缓存控制器800确定何时执行交换或刷新当前事件缓存存储器。如前所述,在某些情况下,可以使用两个以上的事件缓存,或替代性地,可以使用同时包括事件缓存和数据库的更集成的存储器结构。
[0082]现在转向图9,示出了根据本公开的各方面的控制电路900的一个实施例的框图。控制电路900包括可以被包括在缓存控制器(例如,图8中描述的缓存控制器800)中使用的缓存控制块中的电路。另外,控制电路900实现的逻辑功能与前面描述的图5的过程500和图7的过程700中的一个或多个过程步骤相似。
[0083]控制电路900包括接收两个输入(事件计数和事件阈值)的比较器910。比较器910的输出被提供给“或”门920。“或”门920的输出代表可能的缓存刷新信号之一。
[0084]比较器910可以是简单的非稳态或无时钟(unclocked)比较器。每个输入P (事件计数信号)和Q (事件阈值信号)都可以是形成数据字节的一个或多个数字位值信号,如前面所述。比较器910的输出可以是逻辑低电平(例如,值“0”),直到Q输入值(用输入位信号(input bit signal)表示)超过P的输入值。当Q输入超过P输入时,那么比较器910的输出变为逻辑高电平(例如,值=“I”)。比较器910还可以包括时钟输入端(未示出)以允许同步操作。在同步操作过程中,输出端从低到高电平的状态变化可能会发生在Q输入值超过P输入值之后的第一个时钟沿。
[0085]或门920接收比较器910的输出以及计时器端单比特输入信号。或门920的输出保持逻辑低电平,直到来自比较器910的输出或计时器端的信号值是逻辑高电平。当两个输入中的任何一个为逻辑高电平时,那么或门920的输出(S卩,缓存刷新信号)变为逻辑高电平。
[0086]重要的是注意到,其他类似于控制电路900的电路可以被包括在缓存控制器中(例如,在图8中描述的缓存控制器800)。这些控制电路中的每一个都可能产生单独的缓存刷新信号,每个信号可以进一步连接在一起产生类似于图8中描述的缓存控制信号的最终的缓存控制信号。
[0087]现在转向图10,示出了根据本公开的内容事件或项目的示例性记录结构1000。记录结构1000可以结合前面描述的过程500、过程600和过程700使用。记录结构1000也可以结合图4中描述的架构400使用,并实施、存储在接收设备的存储器中(例如,图2中的设备200或图1中的客户端设备108)。重要的是注意到,记录结构1000仅仅只是示出一种可能的记录结构。其他的记录结构配置也是可能的,可能依赖于涉及的操作代码或使用的编程语言,这些配置被认为在本公开的范围之内。
[0088]记录结构1000包括事件表1010。事件表1010包括下列项目:事件标识符、开始时间和持续时间。此外,事件表1010可以包括一个或多个“键等于值(key equals value)”项目。这些项目中的每一项都为每个事件特别确定,并且每个事件可能各不相同。对事件信息进行解析以识别特定的信息类型或键(key)。这些键与一组通用的键类型项目匹配,与信息类型相关联的特定信息被指定为值(value)。例如,事件可能包括带有标题是“Transformers”的标题标识符。在此情形中,项目被添加到事件表1010中,为“标题=Transformers'其他的键类型可能包括描述、家长评价、系列标识符、集标识符和服务标识符。此外,主要事件表1010包括基于事件表1010中一个或多个项目自动索引化事件的列表链接能力。
[0089]本发明的实施例主要涉及高效地管理媒体内容数据库。实施例描述了更新数据库,以存储必须更新的多个媒体事件(例如,来自节目指南的项目),同时仍允许并执行对数据库的有效查询请求。实施例包括一种接收事件并将事件作为覆盖已经在存储器缓存中的事件的新事件或更新事件存储在存储器缓存中的方法和装置。然后,基于执行缓存存储交换的触发将缓存存储写入数据库。缓存存储交换的触发可以基于多个不同的触发事件,如当超过新事件计数,或超过特定时间段时。使用触发事件的组合允许触发是动态的。一旦写入缓存存储并更新数据库,就识别并指向该数据库,作为“查询”或只读数据库,不再指向并擦除当前“查询”数据库,新的查询数据库的后台副本以不影响查询过程的方式成为新擦除的数据库。
[0090]尽管在本说明书中已经示出并详细描述了包括本公开的教导的实施例,但是本领域的技术人员可以容易地设计出许多其他的各种各样的同样包括这些教导的实施例。在这里已经描述了一种用于管理设备上的媒体内容数据库的方法和装置的优选实施例(目的是说明性的,而不是限制性的),但应该注意,本领域的技术人员根据上述教导可以做出修改和变化。因此,应该理解的是,可以对已经公开的本公开的特定实施例做出如所附权利要求所描述的本公开的范围内的改变。
【权利要求】
1.一种方法,包括: 接收(525)与媒体内容相关联的事件数据,所述事件数据包括事件标识符; 确定(540)事件标识符是否与已经存储在存储器中的事件数据的事件标识符相匹配;如果接收到的事件标识符与所存储的事件数据的事件标识符不匹配,将接收到的事件数据添加(750)到事件数据;以及 如果接收到的事件标识符与所存储的事件数据的事件标识符相匹配,用接收到的事件数据替换(765)存储的事件数据。
2.根据权利要求1所述的方法,还包括: 确定(510,550)是否将发生存储交换,所述确定基于存储在存储器中的事件数据;以及 如果确定将发生存储交换,用存储器中的事件数据更新(555)第一事件数据库。
3.根据权利要求2所述的方法,还包括:如果接收到的事件标识符与所存储的事件数据的事件标识符不匹配,那么更新(755)事件计数值。
4.根据权利要求3所述的方法,其中所述确定基于事件计数值和自前一次存储交换的时间段。
5.根据权利要求3所述的方法,其中所述确定步骤(540)包括:确定事件计数值是否超过预定的事件计数阈值和自前一次存储交换的时间段值是否超过预定的时间段值中的至少一个。`
6.根据权利要求5所述的方法,其中所述预定的事件计数阈值和预定的时间段值基于在一个时间段内接收到的事件的数量、一天中的时间以及在一个时间段内事件查询的数量中的至少一个。
7.根据权利要求2所述的方法,其中所述第一事件数据库在更新第一事件数据库的步骤之前被识别为写入数据库,在更新的步骤之后被识别为读出数据库,并且其中所述第二事件数据库在更新的步骤之前被识别为读出数据库,在更新的步骤之后被识别为写入数据库。
8.根据权利要求2所述的方法,还包括: 接收事件查询,所述事件查询请求与一个或多个事件相关联的信息; 确定第一事件数据库是否已经更新; 如果第一事件数据库已经更新,那么将事件查询导向第一事件数据库;以及如果第一事件数据库没有更新,那么将第一事件数据库的内容复制到第二事件数据库,第二事件数据库接收事件查询。
9.根据权利要求8所述的方法,还包括: 在将第一事件数据库复制到第二数据库之前,将事件查询导向第二事件数据库; 基于第二事件数据库提供第一结果给事件查询,并基于第一数据库提供第二结果给事件查询。
10.根据权利要求1所述的方法,其中所述与媒体内容相关联的事件数据由至少两个内容源中的一个提供。
11.根据权利要求1所述的方法,其中事件数据由从广播内容传送网络和宽带内容传送网络接收事件数据的设备接收。
12.根据权利要求11所述的方法,其中从广播内容传送网络接收的事件数据被包括为电子节目指南的一部分。
13.一种装置(200),包括: 用于接收与媒体内容相关联的事件数据的部件(202),所述事件数据包括事件标识符; 用于确定事件标识符是否与已经存储在存储器中的事件数据的事件标识符相匹配的部件; 用于在接收到的事件标识符与所存储的事件数据的事件标识符不匹配时将接收到的事件数据添加到事件数据的部件;以及 用于在接收到的事件标识符与所存储的事件数据的事件标识符相匹配时用接收到的事件数据替换存储的事件数据的部件。
14.如权利要求13所述的装置(200),还包括: 用于确定是否将发生存储交换的部件(800),所述确定基于存储在存储器中的事件数据;以及 用于在确定将发生存储交换时用存储器中的事件数据更新第一事件数据库的部件。
15.如权利要求14所述的装置,还包括用于在接收到的事件标识符与所存储的事件数据的事件标识符不匹配时更新事件计数值的部件。
16.如权利要求15所`述的装置,其中所述确定基于事件计数值和自前一次存储交换的时间段。
17.如权利要求15所述的装置,其中所述用于确定的部件(800)包括用于确定事件计数值是否超过预定的事件计数阈值和自前一次存储交换的时间段值是否超过预定的时间段值中的至少一个的部件。
18.根据权利要求17所述的装置,其中所述预定的事件计数阈值和预定的时间段值基于在一个时间段内接收到的事件的数量、一天中的时间以及在一个时间段内事件查询的数量中的至少一个。
19.如权利要求14所述的装置,其中所述第一事件数据库在更新第一事件数据库的步骤之前被识别为写入数据库,在更新的步骤之后被识别为读出数据库,并且其中所述第二事件数据库在更新的步骤之前被识别为读出数据库,在更新的步骤之后被识别为写入数据库。
20.如权利要求14所述的装置,还包括: 用于接收事件查询的部件(216,222),所述事件查询请求与一个或多个事件相关联的信息; 用于确定第一事件数据库是否已经更新的部件; 用于在第一事件数据库已经更新时将事件查询导向第一事件数据库的部件;以及用于在第一事件数据库没有更新时将第一事件数据库的内容复制到第二事件数据库的部件,第二事件数据库接收事件查询。
21.如权利要求20所述的装置,还包括: 用于在将第一事件数据库复制到第二数据库之前将事件查询导向第二事件数据库的部件;以及用于基于第二事件数据库提供第一结果给事件查询并基于第一数据库提供第二结果给事件查询的部件。
22.如权利要求13所述的装置,其中所述装置是从广播内容传送网络和宽带内容传送网络接收事件数据的接收设备。
23.如权利要求22所述的装置,其中从广播内容传送网络接收的事件数据被包括为电子节目指南的一部分。`
【文档编号】H04N21/458GK103518377SQ201280011450
【公开日】2014年1月15日 申请日期:2012年1月6日 优先权日:2011年1月6日
【发明者】E.J.弗利克纳, B.D.克莱文杰, R.F.克拉科拉 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1