发明内容
本发明实施例提供一种获取时移内容的方法及装置,用于解决现有技术中存在的服务器中最快可发送时移节目内容与当前直播频道直播节目的延时时间过长、时移“盲区”长、用户体验差的问题。
本发明实施例提供一种获取时移内容的方法,包括:
当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置;
若确定的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
优选地,所述确定所请求的时移内容的存储位置,包括:
若所述时移内容获取请求包含的请求时间段全部包含在所述缓存中的所述时移内容对应的时间段里,则确定所请求的时移内容的存储位置为所述缓存;
若所述缓存中的所述时移内容的时间段为所述请求时间段的一部分,则确定所请求的时移内容的存储位置为所述缓存和磁盘。
优选地,所述当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置之后,所述方法还包括:
若所述所请求的时移内容的第一部分的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容的第一部分;
若所述所请求的时移内容的第二部分的所述存储位置为磁盘,则从所述磁盘中获取所述所请求的时移内容的第二部分;
将所述所请求的时移内容的第一部分和第二部分合并后发送至所述数字电视终端。
优选地,所述从所述缓存中获取所述所请求的时移内容并发送至所述数字电视终端,包括:
从缓存中复制所述所请求的时移内容;
将所述复制的所述所请求的时移内容进行切片处理,生成第一切片文件,并生成所述第一切片文件的第一索引文件;
根据所述第一索引文件查找所述请求指向的所述第一切片文件的偏移位置;
向所述数字电视终端发送自所述偏移位置开始的所述第一切片文件。
优选地,所述在接收数字电视终端的时移内容获取请求之前,所述方法还包括:
当接收到直播频道的内容写入请求时,将所述内容写入缓存中;
当写入所述缓存的内容达到预切片大小,将所述符合预切片大小的内容进行切片处理,生成第二切片文件,并生成所述第二切片文件的第二索引文件;
将所述第二切片文件和所述第二索引文件写入所述磁盘中的指定位置。
本发明实施例还相应地公开了一种获取时移内容的装置,包括:
存储位置确定模块,用于当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置;
第一时移内容获取模块,用于若确定的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
优选地,所述存储位置确定模块包括:
第一存储位置确定单元,用于若所述时移内容获取请求包含的请求时间段全部包含在所述缓存中的所述时移内容对应的时间段里,则确定所请求的时移内容的存储位置为所述缓存;
第二存储位置确定单元,用于若所述缓存中的所述时移内容的时间段为所述请求时间段的一部分,则确定所请求的时移内容的存储位置为所述缓存和磁盘。
优选地,所述第一时移内容获取模块还用于:
若所述所请求的时移内容的第一部分的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容的第一部分;
所述装置还包括:
第二时移内容获取模块,用于若所述所请求的时移内容的第二部分的所述存储位置为磁盘,则从所述磁盘中获取所述所请求的时移内容的第二部分;
时移内容合并模块,用于将所述所请求的时移内容的第一部分和第二部分合并后发送至所述数字电视终端。
优选地,所述第一时移内容获取模块包括:
时移内容复制单元,用于从缓存中复制所述所请求的时移内容;
切片处理单元,用于将所述复制的所述所请求的时移内容进行切片处理,生成第一切片文件;
索引文件生成单元,用于生成所述第一切片文件的第一索引文件;
偏移位置查找单元,用于根据所述第一索引文件查找所述请求指向的所述第一切片文件的偏移位置;
切片文件发送单元,用于向所述数字电视终端发送自所述偏移位置开始的所述第一切片文件。
优选地,所述装置还包括:
缓存写入模块,用于当接收到直播频道的内容写入请求时,将所述内容写入缓存中;
切片处理模块,用于当写入所述缓存的内容达到预切片大小,将所述符合预切片大小的内容进行切片处理,生成第二切片文件;
索引文件生成模块,用于生成所述第二切片文件的第二索引文件;
磁盘写入模块,用于将所述第二切片文件和所述第二索引文件写入所述磁盘中的指定位置。
采用本发明的获取时移内容的方法及装置的技术方案,通过将直播频道的部分内容存储在缓存中,使得可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的一种获取时移内容的方法的一个实施例的方法流程图。如图1所示,该方法包括:
步骤S101,当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置。
本发明实施例中,广电系统的服务器将从直播频道获取的内容先存储在缓存中,当缓存中的内容达到预切片大小,则将缓存中的内容进行切片处理,生成切片文件,并生成该切片文件的索引文件,将切片文件和其索引文件存入磁盘,该缓存可以为在服务器的内存中设置的一部分空间,所以在服务器的缓存和磁盘中都可能存储有时移内容。
在本步骤中,当接收到数字电视终端的时移内容获取请求时,需要确定所请求的时移内容的存储位置。该存储位置的确定可以先确定缓存中是否存在所请求的时移内容。具体地,该时移内容获取请求包含请求时间段信息,若时移内容获取请求包含的请求时间段全部包含在缓存中的时移内容对应的时间段里,则确定所请求的时移内容的存储位置为缓存。若缓存中的时移内容的时间段仅为该请求时间段的一部分,则确定所请求的时移内容的存储位置为缓存和磁盘。
由于目前的广电系统一般具有CDN架构,所请求的时移内容在磁盘中的具体存储位置可由CDN的中心管理系统进行确定,确定所请求的时移内容位于中心存储服务器的磁盘中或位于边缘存储服务器的磁盘中。
步骤S102,若确定的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
若步骤S101中确定所请求的时移内容的存储位置为缓存,则直接从该缓存中获取所请求的时移内容后发送至发出请求的数字电视终端。
作为一种实现方式,如图2所示,步骤S102可以包括如下步骤:
步骤S1021,从缓存中复制所述所请求的时移内容。
步骤S1022,将所述复制的所述所请求的时移内容进行切片处理,生成第一切片文件,并生成所述第一切片文件的第一索引文件。
步骤S1023,根据所述第一索引文件查找所述请求指向的所述第一切片文件的偏移位置。
步骤S1024,向所述数字电视终端发送自所述偏移位置开始的所述第一切片文件。
当确定所请求的时移内容的存储位置为缓存时,则从缓存中复制所请求的时移内容,将复制的内容进行切片处理,生成切片文件,并为该切片文件生成索引文件,索引文件里一般包括了视频桢信息和切片文件的桢偏移信息,然后根据该索引文件查找该请求指向的该切片文件的偏移位置,将自偏移位置开始的切片文件发送给发出请求的数字电视终端。
假设原有服务器在录制该直播频道内容时花费了M秒时间(整个切片包括M1秒长的数据,对M1秒数据进行切片分析花费M2秒、生成索引花费M3秒,将切片文件和索引文件写磁盘花费M4秒,M=M1+M2+M3+M4),然后在分发此时移频道节目内容时花费了N秒时间(读取切片文件和索引文件内容N1秒、打包N2秒、重新分发N3秒,N=N1+N2+N3)。
而如果采用了本发明的技术方案,需要花费的时间则变为:对缓存数据进行切片分析花费时间m2、生成索引花费m3、对缓存数据重新打包n2、重新分发n3四部分的总和。
由于原有方案中切片索引处理与新的技术方案中切片索引处理的时间相差很小(这部分处理目前都只需要花费很少的时间),那么采用了本发明的技术方案后,整个所花费的时间大概就减少了:M1+M4+N1秒,而这部分时间一般占整个处理时间的80%以上。
由上可见,根据本发明一个实施例提供的一种获取时移内容的方法,通过将直播频道的部分内容存储在缓存中,使得可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验。
图3为本发明提供的一种获取时移内容的方法的另一个实施例的方法流程图。如图3所示,该方法包括:
步骤S201,当接收到直播频道的内容写入请求时,将所述内容写入缓存中。
步骤S202,当写入所述缓存的内容达到预切片大小,将所述符合预切片大小的内容进行切片处理,生成第二切片文件,并生成所述第二切片文件的第二索引文件。
步骤S203,将所述第二切片文件和所述第二索引文件写入所述磁盘中的指定位置。
以上步骤S201-S203用于执行直播频道的内容的写入操作。当接收到直播频道的内容写入请求时,首先,将该内容写入缓存中。该缓存可以为在服务器的内存中设置的一部分空间,缓存的大小可设置,一般要求给每路直播频道分配的缓存大小为预切片大小的两倍,这样方便交替使用,提高写入速度。然后,当写入缓存中的内容达到一个预切片大小,将符合预切片大小的内容进行切片处理,生成切片文件,为该切片文件生成索引文件。最后,将切片文件和索引文件写入磁盘中的指定位置。如果服务器具有CDN架构,则可由中心管理系统控制将切片文件和索引文件进行中心存储或边缘存储。在确定将内容写入磁盘后,则清空该内容占有的缓存空间,以便后续内容写入缓存。
通过使用缓存进行内容的预切片处理,减少了磁盘写入次数,提高了切片文件的写入效率和整个服务器的处理效率。
步骤S204,接收数字电视终端的时移内容获取请求。
步骤S205,判断所述时移内容获取请求包含的请求时间段是否全部包含在所述缓存中的所述时移内容对应的时间段里,若是,则转至步骤S206,否则转至步骤S208。
步骤S206,确定所请求的时移内容的存储位置为所述缓存。
步骤S207,从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
步骤S208,确定所请求的时移内容的存储位置为所述缓存和磁盘。
步骤S209,若所述所请求的时移内容的第一部分的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容的第一部分。
步骤S210,若所述所请求的时移内容的第二部分的所述存储位置为磁盘,则从所述磁盘中获取所述所请求的时移内容的第二部分。
步骤S211,将所述所请求的时移内容的第一部分和第二部分合并后发送至所述数字电视终端。
以上步骤S204-S211用于执行时移内容的获取操作。通过步骤S201-S203的内容写入操作,当接收到数字电视终端的时移内容获取请求时,所请求的时移内容可能位于磁盘中,也可能位于缓存中,因此,首先,需要确定所请求的时移内容的存储位置。由于缓存的空间相对较小,所以往往所请求的时移内容的一部分位于缓存,另一部分位于磁盘中。所以,若所请求的时移内容的第一部分的存储位置为缓存,则从缓存中获取所请求的时移内容的第一部分;若所请求的时移内容的第二部分的存储位置为存储切片文件的磁盘,则从磁盘中获取所请求的时移内容的第二部分。最后,将所述所请求的时移内容的第一部分和第二部分合并后发送至所述数字电视终端。
当所请求的时移内容全部位于缓存中时,则直接从缓存中获取所请求的时移内容后发送至数字电视终端。
所请求的时移内容的存储位置的确定,可以首先通过比较所请求的时移内容的时间段信息与缓存中的内容的时间段信息,确定缓存中是否存在重叠的时间段的内容,然后,除与缓存中重叠的时间段的内容外,对于所请求的时移内容的其它部分,由于目前的广电系统一般具有CDN架构,所请求的时移内容的其它部分的存储位置可由CDN的中心管理系统进行确定,确定所请求的时移内容位于中心存储服务器的磁盘中或位于边缘存储服务器的磁盘中。
服务器在执行时移内容的获取操作的同时,也执行直播频道的内容的写入操作,步骤组合S201-S203与步骤组合S204-S211的执行不分先后,也可以同时执行。
由上可见,根据本发明另一个实施例提供的一种获取时移内容的方法,通过将直播频道的部分内容存储在缓存中,使得可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验;且通过使用缓存进行内容的预切片处理,减少了磁盘写入次数,提高了切片文件的写入效率和整个服务器的处理效率。
本发明实施例还相应地公开了实施上述获取时移内容方法的获取时移内容的装置。
图4为本发明提供的一种获取时移装置的一个实施例的结构示意图。如图4所示,该装置1000包括:
存储位置确定模块101,用于当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置。
本发明实施例中,广电系统的服务器将从直播频道获取的内容先存储在缓存中,当缓存中的内容达到预切片大小,则将缓存中的内容进行切片处理,生成切片文件,并生成该切片文件的索引文件,将切片文件和其索引文件存入磁盘,该缓存可以为在服务器的内存中设置的一部分空间,所以在服务器的缓存和磁盘中都可能存储有时移内容。
当接收到数字电视终端的时移内容获取请求时,存储位置确定模块101需要确定所请求的时移内容的存储位置。该存储位置的确定可以先确定缓存中是否存在所请求的时移内容。具体地,该时移内容获取请求包含请求时间段信息,若时移内容获取请求包含的请求时间段全部包含在缓存中的时移内容对应的时间段里,则确定所请求的时移内容的存储位置为缓存。若缓存中的时移内容的时间段仅为该请求时间段的一部分,则确定所请求的时移内容的存储位置为缓存和磁盘。
由于目前的广电系统一般具有CDN架构,所请求的时移内容在磁盘中的具体存储位置可由CDN的中心管理系统进行确定,确定所请求的时移内容位于中心存储服务器的磁盘中或位于边缘存储服务器的磁盘中。
第一时移内容获取模块102,用于若确定的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
若存储位置确定模块101确定所请求的时移内容的存储位置为缓存,则第一时移内容获取模块102直接从该缓存中获取所请求的时移内容后发送至发出请求的数字电视终端。
作为一种实现方式,如图5所示,该第一时移内容获取模块102可包括:复制单元1021、第一切片单元1022、第一索引生成单元1023和发送单元1024。
时移内容复制单元1021,用于从缓存中复制所述所请求的时移内容。
切片处理单元1022,用于将所述复制的所述所请求的时移内容进行切片处理,生成第一切片文件。
索引文件生成单元1023,用于生成所述第一切片文件的第一索引文件。
偏移位置查找单元1024,用于根据所述第一索引文件查找所述请求指向的所述第一切片文件的偏移位置
切片文件发送单元1025,用于向所述数字电视终端发送自所述偏移位置开始的所述第一切片文件。
当确定所请求的时移内容的存储位置为缓存时,则时移内容复制单元1021从缓存中复制所请求的时移内容,切片处理单元1022将复制的内容进行切片处理,生成切片文件,索引文件生成单元1023为切片文件生成索引文件,,索引文件里一般包括了视频桢信息和切片文件的桢偏移信息,然后偏移位置查找单元1024根据该索引文件查找该请求指向的该切片文件的偏移位置,切片文件发送单元1025将自偏移位置开始的切片文件发送给发出请求的数字电视终端。
由上可见,根据本发明一个实施例提供的一种获取时移内容的装置,通过将直播频道的部分内容存储在缓存中,使得可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验。
图6为本发明提供的一种获取时移内容的装置的另一个实施例的结构示意图。如图6所示,该装置2000包括:
缓存写入模块201,用于当接收到直播频道的内容写入请求时,将所述内容写入缓存中。
切片处理模块202,用于当写入所述缓存的内容达到预切片大小,将所述符合预切片大小的内容进行切片处理,生成第二切片文件。
索引文件生成模块203,用于生成所述第二切片文件的第二索引文件。
磁盘写入模块204,用于将所述第二切片文件和所述第二索引文件写入所述磁盘中的指定位置。
以上缓存写入模块201、切片处理模块202、索引文件生成模块203和磁盘写入模块204一起用于执行直播频道的内容的写入操作。当接收到直播频道的内容写入请求时,首先,缓存写入模块201将该内容写入缓存中。该缓存可以为在服务器的内存中设置的一部分空间,缓存的大小可设置,一般要求给每路直播频道分配的缓存大小为预切片大小的两倍,这样方便交替使用,提高写入速度。然后,当写入缓存中的内容达到一个预切片大小,切片处理模块202将符合预切片大小的内容进行切片处理,生成切片文件,索引文件生成模块203为该切片文件生成索引文件。最后,磁盘写入模块204将切片文库和索引文件写入磁盘中的指定位置。如果服务器具有CDN架构,则可以由中心管理系统控制将切片文件和索引文件进行中心存储或边缘存储。在确定将内容写入磁盘后,则清空该内容占有的缓存空间,以便后续内容写入缓存。
通过使用缓存进行内容的预切片处理,减少了磁盘写入次数,提高了切片文件的写入效率和整个服务器的处理效率。
存储位置确定模块205,用于当接收到数字电视终端的时移内容获取请求时,确定所请求的时移内容的存储位置。
作为一种实现方式,存储位置确定模块205包括:第一存储位置确定单元2051和第二存储位置确定单元2052。
第一存储位置确定单元2051,用于若所述时移内容获取请求包含的请求时间段全部包含在所述缓存中的所述时移内容对应的时间段里,则确定所请求的时移内容的存储位置为所述缓存。
第二存储位置确定单元2052,用于若所述缓存中的所述时移内容的时间段为所述请求时间段的一部分,则确定所请求的时移内容的存储位置为所述缓存和磁盘。
第一时移内容获取模块206,用于若确定的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容后发送至所述数字电视终端。
第一时移内容获取模块206还用于若所述所请求的时移内容的第一部分的所述存储位置为缓存,则从所述缓存中获取所述所请求的时移内容的第一部分。
第二时移内容获取模块207,用于若所述所请求的时移内容的第二部分的所述存储位置为磁盘,则从所述磁盘中获取所述所请求的时移内容的第二部分。
时移内容合并模块208,用于将所述所请求的时移内容的第一部分和第二部分合并后发送至所述数字电视终端。
若第一存储位置确定单元2051确定所请求的时移内容的存储位置为缓存,则第一时移内容获取模块206直接从缓存中获取所请求的时移内容后发送至数字电视终端。
若第二存储位置确定单元2052确定所请求的时移内容的第一部分的存储位置为缓存,则第一时移内容获取模块206从缓存中获取所请求的时移内容的第一部分;若第二存储位置确定单元2052确定所请求的时移内容的第二部分的存储位置为磁盘,则第二时移内容获取模块207从磁盘中获取所请求的时移内容的第二部分;然后,时移内容合并模块208将所请求的时移内容的第一部分和第二部分合并后发送至数字电视终端。
所请求的时移内容的存储位置的确定,可以首先通过比较所请求的时移内容的时间段信息与缓存中的内容的时间段信息,确定缓存中是否存在重叠的时间段的内容,然后,除与缓存中重叠的时间段的内容外,对于所请求的时移内容的其它部分,由于目前的广电系统一般具有CDN架构,所请求的时移内容的其它部分的存储位置可由CDN的中心管理系统进行确定,确定所请求的时移内容位于中心存储服务器的磁盘中或位于边缘存储服务器的磁盘中。根据本发明另一个实施例提供的一种服务器,通过将直播频道的部分内容存储在缓存中,使得服务器可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验;且通过使用缓存进行内容的预切片处理,减少了磁盘写入次数,提高了切片文件的写入效率和整个服务器的处理效率。
由上可见,根据本发明另一个实施例提供的一种获取时移内容的装置,通过将直播频道的部分内容存储在缓存中,使得可以从缓存中获取所请求的时移内容,可以从根源上改善服务器中最快可发送时移节目内容与当前直播频道直播节目延时时间过长的问题,极大程度地减少时移“盲区”的时间,增强用户的体验;且通过使用缓存进行内容的预切片处理,减少了磁盘写入次数,提高了切片文件的写入效率和整个服务器的处理效率。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。