基于DSM‑CC协议的对象轮播数据下载方法及系统与流程

文档序号:11931615阅读:239来源:国知局
基于DSM‑CC协议的对象轮播数据下载方法及系统与流程

本发明涉及数字电视领域,尤其涉及一种基于DSM-CC协议的对象轮播数据下载方法及系统。



背景技术:

DSM-CC(Digital Storage Media Command and Control,数字存储媒体命令和控制扩展协议)协议,是DVB标准(数字视频广播)的重要组成部分。随着数字电视业务的推广,以DSM-CC协议为基础的数据广播业务越来越普及,用户已经习惯从电视中浏览网页、浏览网络文本数据、浏览网络音视频数据等等,这给用户带来更多的功能和资源。

DSM-CC数据轮播(DC-Data carouse)是一种支持服务器端周期性的传输数据模块到用户端的数据广播业务,其中的数据模块是在广播数据流中重复循环广播的,如果客户端希望接收数据轮播中的特定或指定的数据模块(网页、文本、图片、音视频等等数据),只需要在该数据模块广播时接收即可。对象轮播(object carouse-OC)是在数据轮播的基础上加了一层封装,使用BIOP(broadcast inter-ORB protocol)格式封装数据,并将数据称为对象。对象轮播主要包括srg业务网关对象(Service Gateway Object)、dir目录对象(Directory Object)、fil文件对象(File Object)、str流对象(Stream Object)、ste流事件对象(stream Event Object),通过对这些对象的解析,能够建立相应的目录,解析出DSM-CC相应对象的数据,比如:能够解析出图片,文本,音视频等数据。

但是,在广播数据流中,会存在大量的DSM-CC数据,大量的网络图片数据、网络文本数据、甚至是比较大的音视频数据,分别保存在不同的OC数据中,目前的DSM-CC数据下载方式大都是通过盲搜,将广播数据流中所有DSM-CC数据进行下载,这需要将所有的DSM-CC数据预先准备好,用户请求数据时能够快速找到返回给用户。但是实际情况中,如果DSM-CC数据过大,那就会浪费比较多的存储空间,而且用户请求过来时,数据不一定能提前下载完毕,而用户的需求可能只是某个OC对象中的某张图片、某个文本数据,或者是只是某一段的音视频的数据,只需要下载该OC数据即可。而DSM-CC的数据轮播不管是否用户需要的数据,均会统统下载,这就极大浪费了数字电视设备(例如机顶盒)的存储空间和系统资源,无法迅速及时的将用户需要的数据反馈给用户,极大的浪费了用户时间,给用户带来不好的体验。



技术实现要素:

有鉴于此,有必要针对上述DSM-CC协议数据轮播下载DSM-CC数据时需要下载全部DSM-CC数据,极大浪费数字电视设备存储空间和资源,浪费时间的问题,提供一种基于DSM-CC协议的对象轮播数据下载方法及系统。

本发明提供的一种基于DSM-CC协议的对象轮播数据下载方法,包括如下步骤:

S10:在数字电视设备内存中分出一块缓存空间;

S20:在数字电视设备工作时,由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间,且一个OC数据全部下载到缓存空间后保留设定时间即清除,继续下载下一个OC数据,循环进行;

S30:在用户请求数据时,获取用户发送的URL地址并进行分析,得到URL地址所对应的OC数据;

S40:检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,若是则由缓存空间中获取OC数据交由用户,若不是则到服务器端根据对应关系,下载对应的OC数据交由用户。

在其中的一个实施方式中,所述步骤S30具体为:根据用户发送的URL地址确定服务器端ID,并在服务器端确定对应的OC数据PID,通过OC数据PID确定URL地址对应的OC数据。

在其中的一个实施方式中,所述步骤S40具体为:根据URL地址解析出服务器端ID和OC数据PID,根据服务器端ID接收广播数据流中对应的PMT表,通过解析PMT表解析出URL地址对应的OC数据PID,然后根据接收OC数据PID接收并且保存DSM-CC的section数据,通过DSM-CC协议的规范,对section数据进行解析,解析后获得OC数据。

在其中的一个实施方式中,所述步骤S40具体为:在解析section数据的时,主要保存四种对象的消息,分别是:流消息、文件消息、目录消息以及业务网关消息,将这四种对象消息保存即获得OC数据。

在其中的一个实施方式中,所述步骤S40还包括:若URL地址对应的OC数据为多个,则获取全部OC数据PID同时进行下载。

本发明提供的一种基于DSM-CC协议的对象轮播数据下载系统,包括:

缓存空间分配模块,在数字电视设备内存中分出一块缓存空间;

缓存空间数据下载模块,在数字电视设备工作时,由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间,且一个OC数据全部下载到缓存空间后保留设定时间即清除,继续下载下一个OC数据,循环进行;

URL地址处理模块,在用户请求数据时,获取用户发送的URL地址并进行分析,得到URL地址所对应的OC数据;

OC数据获取模块,检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,若是则由缓存空间中获取OC数据交由用户,若不是则到服务器端根据对应关系,下载对应的OC数据交由用户。

在其中的一个实施方式中,所述URL地址处理模块根据用户发送的URL地址确定服务器端ID,并在服务器端确定对应的OC数据PID,通过OC数据PID确定URL地址对应的OC数据。

在其中的一个实施方式中,所述OC数据获取模块根据URL地址解析出服务器端ID和OC数据PID,根据服务器端ID接收广播数据流中对应的PMT表,通过解析PMT表解析出URL地址对应的OC数据PID,然后根据接收OC数据PID接收并且保存DSM-CC的section数据,通过DSM-CC协议的规范,对section数据进行解析,解析后获得OC数据。

在其中的一个实施方式中,所述OC数据获取模块在解析section数据的时,主要保存四种对象的消息,分别是:流消息、文件消息、目录消息以及业务网关消息,将这四种对象消息保存即获得OC数据。

在其中的一个实施方式中,若URL地址对应的OC数据为多个,所述OC数据获取模块则获取全部OC数据PID同时进行下载。

本发明基于DSM-CC协议的对象轮播数据下载方法及系统,在数字电视设备内存中预先分配一个缓冲空间,在数字电视设备工作时,由广播数据流中不断循环下载DSM-CC数据的OC数据,且一个OC数据下载完保留设定时间后即清除,继续下载下一个OC数据,在缓存空间中始终缓存一个OC数据,当用户请求数据时首先检测缓存空间中是否有对应的OC数据,若有则直接由缓存空间中调取,没有再去服务器端根据对应关系仅下载对应的OC数据,这就只需要下载所需的OC数据,不需要下载全部的DSM-CC数据,从而极大节省了数字电视设备的存储空间和系统资源,能够迅速及时的将用户需要的数据反馈给用户,节约了用户时间,给用户带来良好的体验。

附图说明

图1是一个实施例中的基于DSM-CC协议的对象轮播数据下载方法的流程图;

图2是一个实施例中的基于DSM-CC协议的对象轮播数据下载系统的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

图1是一个实施例中的基于DSM-CC协议的对象轮播数据下载方法的流程图,如图1所示,该方法包括如下步骤:

S10:在数字电视设备内存中分出一块缓存空间。

数字电视设备通常具备一定的内存,但是内存往往有限,为使得数据能快速获取并且少占用内存空间,该实施例中,先在数字电视设备内存中分出一块设定大小的缓存空间来进行数据的缓存。

S20:在数字电视设备工作时,由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间,且一个OC数据全部下载到缓存空间后保留设定时间即清除,继续下载下一个OC数据,循环进行。

在分出缓存空间后,由于广播数据流中DSM-CC数据都是分别保存在一个个的OC数据中,并且在广播数据流中周期性循环传输,当数字电视设备工作时,也即在广播数据流传输过程中,DSM-CC数据也在被周期性循环的传输,故在实施例中,DSM-CC数据在被周期性循环传输时,则由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间。由于缓存空间有限,下载过程中,一个OC数据(每个OC数据都会有自身的OC数据PID(数据包标识),通过OC数据PID能够确定对应的OC数据)全部下载到缓存空间后只保留设定时间即进行清除(可以通过调整缓存空间的大小实现),继续下载下一个OC数据,循环进行,这样就会在缓存空间中时刻都有一个OC数据,并且又不会占用过大的内存空间。

S30:在用户请求数据时,获取用户发送的URL地址并进行分析,得到URL地址所对应的OC数据。

当用户此刻需要请求DCM-CC数据时,用户需要发送数据的URL地址进行数据请求,获取到用户发送的URL地址并进行分析,获取URL地址对应的OC数据。具体的,根据用户发送的URL地址确定服务器端ID,并在服务器端确定对应的OC数据PID,通过OC数据PID确定URL地址对应的OC数据。

S40:检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,若是则由缓存空间中获取OC数据交由用户,若不是则到服务器端根据对应关系,下载对应的OC数据交由用户。

在确定URL地址对应的OC数据之后,由于步骤S20中缓存空间一直在循环缓存OC数据,故检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,如果是则可以从缓存空间中直接获取OC数据,无需再次下载,能够快速的交给用户。若不是则需要去服务器端根据对应关系去下载OC数据。

进一步,到服务器端根据对应关系下载对应的OC数据步骤具体为:根据URL地址解析出服务器端ID和OC数据PID,根据服务器端ID接收广播数据流中对应的PMT表(节目映射表),通过解析PMT表解析出URL地址对应的OC数据PID,然后根据接收OC数据PID接收并且保存DSM-CC的section(区段)数据,通过DSM-CC协议的规范,对section数据进行解析,解析后获得OC数据。进一步的,在解析section数据的时,主要保存四种对象的消息,分别是:流消息(stream message)、文件消息(file message)、目录消息(Directory message)以及业务网关消息(service gateway message),将这四种对象消息保存即获得OC数据。

此外,若URL地址对应的OC数据为多个,则获取全部OC数据PID同时进行下载,提高下载效率。

该基于DSM-CC协议的对象轮播数据下载方法,在数字电视设备内存中预先分配一个缓冲空间,在数字电视设备工作时,由广播数据流中不断循环下载DSM-CC数据的OC数据,且一个OC数据下载完保留设定时间后即清除,继续下载下一个OC数据,在缓存空间中始终缓存一个OC数据,当用户请求数据时首先检测缓存空间中是否有对应的OC数据,若有则直接由缓存空间中调取,没有再去服务器端根据对应关系仅下载对应的OC数据,这就只需要下载所需的OC数据,不需要下载全部的DSM-CC数据,从而极大节省了数字电视设备(例如机顶盒)的存储空间和系统资源,能够迅速及时的将用户需要的数据反馈给用户,节约了用户时间,给用户带来良好的体验。

同时,本发明还提供一种基于DSM-CC协议的对象轮播数据下载系统,如图2所示,该系统包括:

缓存空间分配模块100,在数字电视设备内存中分出一块缓存空间。

数字电视设备通常具备一定的内存,但是内存往往有限,为使得数据能快速获取并且少占用内存空间,该实施例中,缓存空间分配模块100先在数字电视设备内存中分出一块设定大小的缓存空间来进行数据的缓存。

缓存空间数据下载模块200,在数字电视设备工作时,由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间,且一个OC数据全部下载到缓存空间后保留设定时间即清除,继续下载下一个OC数据,循环进行。

在分出缓存空间后,由于广播数据流中DSM-CC数据都是分别保存在一个个的OC数据中,并且在广播数据流中周期性循环传输,当数字电视设备工作时,也即在广播数据流传输过程中,DSM-CC数据也在被周期性循环的传输,故在实施例中,DSM-CC数据在被周期性循环传输时,缓存空间数据下载模块200则由广播数据流中依次下载DSM-CC数据中每个OC数据到缓存空间。由于缓存空间有限,下载过程中,一个OC数据(每个OC数据都会有自身的OC数据PID(数据包标识),通过OC数据PID能够确定对应的OC数据)全部下载到缓存空间后只保留设定时间即进行清除(可以通过调整缓存空间的大小实现),继续下载下一个OC数据,循环进行,这样就会在缓存空间中时刻都有一个OC数据,并且又不会占用过大的内存空间。

URL地址处理模块300,在用户请求数据时,获取用户发送的URL地址并进行分析,得到URL地址所对应的OC数据。

当用户此刻需要请求DCM-CC数据时,用户需要发送数据的URL地址进行数据请求,URL地址处理模块300获取到用户发送的URL地址并进行分析,获取URL地址对应的OC数据。具体的,URL地址处理模块300根据用户发送的URL地址确定服务器端ID,并在服务器端确定对应的OC数据PID,通过OC数据PID确定URL地址对应的OC数据。

OC数据获取模块400,检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,若是则由缓存空间中直接获取OC数据交由用户,若不是则到服务器端根据对应关系,下载对应的OC数据交由用户。

在确定URL地址对应的OC数据之后,由于缓存空间一直在循环缓存OC数据,故OC数据获取模块400检测缓存空间中当前缓存的OC数据是否是URL地址所对应的OC数据,如果是则可以从缓存空间中直接获取OC数据,无需再次下载,能够快速的交给用户。若不是则需要去服务器端根据对应关系去下载OC数据。

进一步,OC数据获取模块400根据URL地址解析出服务器端ID和OC数据PID,根据服务器端ID接收广播数据流中对应的PMT表(节目映射表),通过解析PMT表解析出URL地址对应的OC数据PID,然后根据接收OC数据PID接收并且保存DSM-CC的section(区段)数据,通过DSM-CC协议的规范,对section数据进行解析,解析后获得OC数据。进一步的,OC数据获取模块400在解析section数据的时,主要保存四种对象的消息,分别是:流消息(stream message)、文件消息(file message)、目录消息(Directory message)以及业务网关消息(service gateway message),将这四种对象消息保存即获得OC数据。

此外,若URL地址对应的OC数据为多个,OC数据获取模块400则获取全部OC数据PID同时进行下载,提高下载效率。

该基于DSM-CC协议的对象轮播数据下载系统,缓存空间分配模块100在数字电视设备内存中预先分配一个缓冲空间,在数字电视设备工作时,缓存空间数据下载模块200由广播数据流中不断循环下载DSM-CC数据的OC数据,且一个OC数据下载完保留设定时间后即清除,继续下载下一个OC数据,在缓存空间中始终缓存一个OC数据,当用户请求数据时OC数据获取模块400首先检测缓存空间中是否有对应的OC数据,若有则直接由缓存空间中调取,没有再去服务器端根据对应关系仅下载对应的OC数据,这就只需要下载所需的OC数据,不需要下载全部的DSM-CC数据,从而极大节省了数字电视设备(例如机顶盒)的存储空间和系统资源,能够迅速及时的将用户需要的数据反馈给用户,节约了用户时间,给用户带来良好的体验。

本发明基于DSM-CC协议的对象轮播数据下载方法及系统,在数字电视设备内存中预先分配一个缓冲空间,在数字电视设备工作时,由广播数据流中不断循环下载DSM-CC数据的OC数据,且一个OC数据下载完保留设定时间后即清除,继续下载下一个OC数据,在缓存空间中始终缓存一个OC数据,当用户请求数据时首先检测缓存空间中是否有对应的OC数据,若有则直接由缓存空间中调取,没有再去服务器端根据对应关系仅下载对应的OC数据,这就只需要下载所需的OC数据,不需要下载全部的DSM-CC数据,从而极大节省了数字电视设备(例如机顶盒)的存储空间和系统资源,能够迅速及时的将用户需要的数据反馈给用户,节约了用户时间,给用户带来良好的体验。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1