背景技术
数字电视中间件是数字电视领域中不可或缺的一部分,其位于播放设备(例如电视机顶盒等)的内部实时操作系统和应用程序之间,以API(Application Programming Interface,应用程序接口)的形式存在。
另外,在数字电视和互联网逐渐开始融合之际,数字电视中间件还承担另一作用,即,负责播放设备和网络侧设备之间的对象(例如音乐文件列表等)的传递。由于播放设备的应用程序和网络侧设备的应用程序能够识别的数据结构不同,在对象传递过程中,数字电视中间件需要执行大量的数据结构转换工作,如图1所示为现有技术中的数字电视中间件传递对象的过程,包括以下步骤:
步骤101,网络侧设备向播放设备发送第一数据结构的对象请求信息。
步骤102,数字电视中间件在接收到所述第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换为播放设备能够识别的第二数据结构的对象请求信息;
步骤103,播放设备根据所述第二数据结构的对象请求信息,采集网络侧设备请求的相关数据;
步骤104,数字电视中间件根据所述相关数据,生成第二数据结构的对象数据。
例如,假设网络侧设备发送的对象请求信息的内容为:请求浏览播放设备的特定目录下的所有视频文件信息,播放设备则根据所述对象请求信息的内容,获取特征目录下的所有视频文件信息,数字电视中间件根据所述视频文件信息, 生成第二数据结构的对象数据,生成的第二数据结构的对象数据如图2所示。
步骤105,数字电视中间件将所述第二数据结构的对象数据存储于一存储设备中,所述存储设备为播放设备的内部存储器或外设存储器。由于网络侧设备无法直接识别第二数据结构的对象数据,因此,需要将所述第二数据结构的对象数据暂存于存储设备中。
步骤106,数字电视中间件向网络侧设备发送对象数据读取通知信息,通知网络侧设备从所述存储设备中读取所述对象数据。
步骤107,网络侧设备接收到所述通知信息后,从所述存储设备中读取所述对象数据,在网络侧设备读取所述对象数据时,数字电视中间件将所述第二数据结构的对象数据转换成网络侧设备能够识别的第一数据结构的对象数据。
从上述步骤可以看出,在播放设备和网络侧设备进行对象传递时,数字电视中间件需要执行大量的数据转存、数据结构转换等工作,这大大的加大了数字电视中间件的开发难度,减小了数字电视中间件的通用性。
发明内容
有鉴于此,本发明提供一种对象传递装置和对象传递方法,能够减少播放设备和网络侧设备的对象传递过程中的数据结构转换工作。
为解决上述问题,本发明提供一种对象传递装置,应用于一播放设备中,包括:
转换模块,用于在接收到网络侧设备向所述播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息;
获取模块,用于根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据;
传递模块,用于将所述对象数据的相关信息传递给所述网络侧设备。
所述数字电视中间件还包括:
判断模块,用于判断所述对象数据是否存在;
所述获取模块进一步用于在所述对象数据存在时,获取所述对象数据;
创建模块,用于在所述对象数据不存在时,获取所述播放设备根据所述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述对象数据。
所述对象数据的相关信息为所述对象数据的存储地址,所述数字电视中间件还包括:
存储模块,用于存储所述对象数据;
地址获取模块,用于获取所述对象数据的存储地址。
所述数字电视中间件还包括:
销毁判断模块,用于在所述播放设备关闭时,判断是否需要销毁所述对象数据,并产生一判断结果;
销毁模块,用于在所述判断结果表示需要销毁所述对象数据时,删除所述存储模块存储的所述对象数据。
所述对象数据包含一个或多个对象属性,每一对象属性对应一个或多个对象属性值。
本发明还提供一种播放设备,包括一数字电视中间件,,所述数字电视中间件包括:
转换模块,用于在接收到网络侧设备向所述播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息;
获取模块,用于根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据;
传递模块,用于将所述对象数据的相关信息传递给所述网络侧设备。
所述数字电视中间件还包括:
判断模块,用于判断所述对象数据是否存在;
所述获取模块进一步用于在所述对象数据存在时,获取所述对象数据;
创建模块,用于在所述对象数据不存在时,获取所述播放设备根据所述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述对象数据。
所述对象数据的相关信息为所述对象数据的存储地址,所述数字电视中间 件还包括:
存储模块,用于存储所述对象数据;
地址获取模块,用于获取所述对象数据的存储地址。
本发明还提供一种对象传递方法,包括以下步骤:
在接收到网络侧设备向播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息;
根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据;
将所述对象数据的相关信息传递给所述网络侧设备。
所述根据所述第二数据结构的对象请求信息,获取对象数据,之前还包括:
判断所述对象数据是否存在;
所述根据所述第二数据结构的对象请求信息,获取对象数据,具体为:
在所述对象数据存在时,获取所述对象数据;
在所述对象数据不存在时,获取所述播放设备根据所述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述对象数据。
本发明具有以下有益效果:
在播放设备和网络侧设备进行对象交互时,直接创建网络侧设备能够识别的数据结构的对象数据,因此,不再需要每一次均进行对象数据建立、对象数据存储以及对象数据的数据结构转换的操作,大大减少了系统内存开销,可以很好的解决不同应用程序之间对象属性不兼容的问题,使得播放设备和网络侧设备的交互变得简单灵活,同时降低了数字电视中间件的应用开发难度。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图3所示为本发明实施例的数字电视中间件的一结构示意图,所述数字电视中间件应用于一播放设备中,所述播放设备可以为:电视机顶盒、一体化数字电视或高清播放器等设备。
所述数字电视中间件包括:
转换模块301,用于在接收到网络侧设备向所述播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息。
所述网络侧设备可以为通过互联网与所述播放设备连接的计算机、电视机顶盒等设备。所述网络侧设备向所述播放设备请求的对象数据可以为音乐文件列表、视频文件列表、电视节目单等对象数据。通常情况下,网络侧设备的应用程序和所述播放设备的应用程序采用的高级语言不同,例如,所述网络侧设备的应用程序采用的是JAVA语言,所述播放设备的应用程序采用的高级语言为C++语言,因此,网络侧设备的应用程序和所述播放设备的应用程序能够识别的数据的数据结构也不相同,设置于所述播放设备上的数字电视中间件则可以执行数据结构转换的功能。
获取模块302,用于根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据。
通常情况下,网络侧设备的应用程序能够识别的对象数据的数据结构如图4所示,所述对象数据包含一个或多个对象属性,每一对象属性对应一个或多个对象属性值。假设网络侧设备发送的对象请求信息的内容为:请求浏览播放设备的特定目录下的所有视频文件信息,此时,所述数字电视中问件获取的对象数据的数据结构如图5所示,从图5中可以看出,所述对象数据中包括多个对象属性(N个视频文件),每一对象属性(视频文件)包含多个对象属性值(文件名称、文件大小等)。所述对象数据的封装方式为:对象属性和对象属性值之间采用符号“:”做分隔,每个对象属性值之间用符号“,”做分隔,整 个对象数据用一对大括号组织起来。另外,所述对象数据的对象属性的个数没有限制。上述对象属性是依据业界标准或者规范进行抽象而得到的,若无业界标准或者规范时,应预先做相应约定。
传递模块303,用于将所述对象数据的相关信息传递给所述网络侧设备。
所述对象数据的相关信息可以为所述对象数据本身,即,所述数字电视中间件将获取到的对象数据,直接发送给所述网络侧设备。然而,在对象数据较大时,直接将所述对象数据发送给网络侧设备,则会造成系统开销较大,降低系统效率。因此,所述数字电视中间件可以将所述对象数据存储下来,并将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,即,上述对象数据的相关信息为对象数据的存储地址(在有些应用程序下,所述存储地址用对象句柄表示)。
通过上述实施例提供的数字电视中间件,在播放设备和网络侧设备进行对象交互时,直接创建网络侧设备能够识别的数据结构的对象数据,因此,不再需要每一次均进行对象数据建立、对象数据存储以及对象数据的数据结构转换的操作,大大减少了系统内存开销,可以很好的解决不同应用程序之间对象属性不兼容的问题,使得播放设备和网络侧设备的交互变得简单灵活,同时降低了数字电视中间件的应用开发难度。
上述实施例中,在有些情况下,所述数字电视中间件中已经存储有所述网络侧设备需要请求的对象数据,且所述对象数据为所述第一数据结构的对象数据,在接收到网络侧设备发送的对象请求信息时,则可以直接获取存储的对象数据,将所述对象数据或所述对象数据的存储地址传递给所述网络侧设备。在有些情况下,所述数字电视中间件中并未存储所述对象数据,在接收到网络侧设备发送的对象请求信息时,则需要获取播放设备采集的相关数据,创建所述网络侧设备能够识别的第一数据结构的对象数据。
基于上述描述,如图6所示,所述数字电视中间件还包括:
判断模块304,用于判断所述对象数据是否存在;
所述获取模块302进一步用于在所述对象数据存在时,获取所述对象数据;
创建模块305,用于在所述对象数据不存在时,获取所述播放设备根据所 述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述第一数据结构的对象数据。
另外,为了方便以后再次需要使用所述对象数据时,所述数字电视中间件可以将创建的所述对象数据存储起来,此时,如图6所示,所述数字电视中间件还包括:存储模块306,用于存储所述对象数据。
上述实施例中已经提到,所述数字电视中间件还可以将获取到的对象数据存储起来,然后将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,此时,如图6所示,所述数字电视中间件还包括:地址获取模块307,用于获取所述对象数据的存储地址。所述传递模块303进一步用于将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备从所述存储模块306中读取所述对象数据。
如果将大量的对象数据永久地存储于所述数字电视中间件中,一段时间后,则会造成数字电视中间件存储空间的开销变大。因此,可以在播放设备需要关闭时,判断是否需要销毁当前创建的对象数据,如果需要销毁,则可以从所述存储模块306中删除所述对象数据,在不需要销毁时,继续存储下来,以便下次使用。
基于上述描述,如图6所示,所述数字电视中间件还包括:
销毁判断模块308,用于在所述播放设备关闭时,判断是否需要销毁所述对象数据,并产生一判断结果。
销毁模块309,用于在所述判断结果表示需要销毁所述对象数据时,删除所述存储模块存储的所述对象数据。
本发明实施例还提供一种播放设备,所述播放设备可以为:电视机顶盒、一体化数字电视或高清播放器等设备,所述播放设备包括一数字电视中间件,所述数字电视中间件与上述实施例中的数字电视中间件的结构相同,包括:
转换模块,用于在接收到网络侧设备向所述播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息。
获取模块,用于根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据。
传递模块,用于将所述对象数据的相关信息传递给所述网络侧设备。
所述对象数据的相关信息可以为所述对象数据本身,即,所述数字电视中间件将获取到的对象数据,直接发送给所述网络侧设备。或者,所述数字电视中间件还可以将所述对象数据存储下来,并将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,即,上述对象数据的相关信息为对象数据的存储地址。
通过上述实施例提供的播放设备,在与网络侧设备进行对象交互时,直接创建网络侧设备能够识别的数据结构的对象数据,因此,不再需要每一次均进行对象数据建立、对象数据存储以及对象数据的数据结构转换的操作,大大减少了系统内存开销,可以很好的解决不同应用程序之间对象属性不兼容的问题,使得与网络侧设备的交互变得简单灵活,同时降低了数字电视中间件的应用开发难度。
上述实施例中,在有些情况下,所述数字电视中间件中已经存储有所述网络侧设备需要请求的对象数据,且所述对象数据为所述第一数据结构的对象数据,在接收到网络侧设备发送的对象请求信息时,则可以直接获取存储的对象数据,将所述对象数据或所述对象数据的存储地址传递给所述网络侧设备。在有些情况下,所述数字电视中间件中并未存储所述对象数据,在接收到网络侧设备发送的对象请求信息时,则需要获取播放设备采集的相关数据,创建所述网络侧设备能够识别的数据结构的对象数据。
基于上述描述,所述数字电视中间件还包括:
判断模块,用于判断所述对象数据是否存在;
所述获取模块进一步用于在所述对象数据存在时,获取所述对象数据;
创建模块,用于在所述对象数据不存在时,获取所述播放设备根据所述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述第一数据结构的对象数据。
另外,为了方便以后再次需要使用所述对象数据时,所述数字电视中间件可以将创建的所述对象数据存储起来,此时,所述数字电视中间件还包括:存储模块,用于存储所述对象数据。当然,也可以采用所述播放设备的内容存储器或外设存储器存储所述对象数据。
上述实施例中已经提到,所述数字电视中间件还可以将获取到的对象数据存储起来,然后将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,此时,所述数字电视中间件还包括:地址获取模块,用于获取所述对象数据的存储地址。所述传递模块进一步用于将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备从所述存储模块中读取所述对象数据。
如果将大量的对象数据永久地存储于所述数字电视中间件中,一段时间后,则会造成数字电视中间件存储空间的开销变大。因此,可以在播放设备需要关闭时,判断是否需要销毁当前创建的对象数据,如果需要销毁,则可以从所述存储模块中删除所述对象数据,在不需要销毁时,继续存储下来,以便下次使用。
基于上述描述,所述数字电视中间件还包括:
销毁判断模块,用于在所述播放设备关闭时,判断是否需要销毁所述对象数据,并产生一判断结果。
销毁模块,用于在所述判断结果表示需要销毁所述对象数据时,删除所述存储模块存储的所述对象数据。
如图7所示为本发明实施例的对象传递方法的流程示意图,所述对象传递方法应用于一播放设备,包括以下步骤:
步骤701,在接收到网络侧设备向播放设备发送的第一数据结构的对象请求信息时,将所述第一数据结构的对象请求信息转换成所述播放设备能够识别的第二数据结构的对象请求信息;
步骤702,根据所述第二数据结构的对象请求信息,获取第一数据结构的对象数据;
步骤703,将所述对象数据的相关信息传递给所述网络侧设备。
所述对象数据的相关信息可以为所述对象数据本身,即,将获取到的对象数据,直接发送给所述网络侧设备。或者,也可以将所述对象数据存储下来,并将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,即,上述对象数据的相关信息为对象数据的存储地址。
上述实施例中,在有些情况下,所述播放设备中已经存储有所述网络侧设备需要请求的对象数据,且所述对象数据为所述第一数据结构的对象数据,在接收到网络侧设备发送的对象请求信息时,则可以直接获取存储的对象数据,将所述对象数据或所述对象数据的存储地址传递给所述网络侧设备。在有些情况下,所述播放设备中并未存储所述对象数据,在接收到网络侧设备发送的对象请求信息时,则需要获取播放设备采集的相关数据,创建所述网络侧设备能够识别的数据结构的对象数据。
因此,上述步骤702之前还包括:判断所述对象数据是否存在的步骤;此时,所述步骤702具体为:在所述对象数据存在时,获取所述对象数据;在所述对象数据不存在时,获取所述播放设备根据所述第二数据结构的对象请求信息采集的数据,并根据所述采集的数据,创建所述第一数据结构的对象数据。
另外,为了方便以后再次需要使用所述对象数据时,可以将创建的所述对象数据存储起来,此时,上述步骤702之后还可以包括:存储所述对象数据的步骤。
上述实施例中已经提到,还可以将获取到的对象数据存储起来,然后将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备根据所述存储地址中读取所述对象数据,此时,上述步骤703之前还可以包括:获取所述对象数据的存储地址的步骤,此时,上述步骤703具体为:将所述对象数据的存储地址发送给所述网络侧设备,通知所述网络侧设备读取所述对象数据。
如果将大量的对象数据永久地存储于播放设备中,一段时间后,则会造成存储空间的开销变大。因此,可以在播放设备需要关闭时,判断是否需要销毁当前创建的对象数据,如果需要销毁,则可以删除存储的对象数据,在不需要销毁时,继续存储下来,以便下次使用。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。