一种资源控制方法、智能电视及存储介质与流程

文档序号:16590326发布日期:2019-01-14 19:03阅读:216来源:国知局
一种资源控制方法、智能电视及存储介质与流程

本发明涉及智能电视应用技术领域,尤其涉及一种资源控制方法、智能电视及存储介质。



背景技术:

随着在线视频内容的规模迅速扩大,智能电视基本全面覆盖。用户对电视的使用也从传统的仅限于观看趋向于更多互动,所以,对电视操作的流畅性要求也越来越高,而电视系统的部分服务是有限的,如果多方同时请求适用该服务,可能会导致使用失败甚至资源死锁(死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去)。为了保证这类有限的服务能完全满足搭载于其平台上的应用的需要,当前的做法是将该类服务的操作放在主线程,完全等待上一个使用者释放资源以后,下一个使用者才能开始使用。

这种做法确实能保证成功使用相关服务,但对于当前人机交互越来越频繁的智能电视而言,已经暴露出诸多问题。一是页面的退出速度慢,在使用到这种限制性的服务时,页面在主线程释放资源,释放资源的同时必将导致用户界面停止刷新且无法操作,直到资源在主线程完全释放之后,才能继续完成页面的退出操作。二是页面的滚动刷新卡顿,随着内容的爆炸式增长,单个页面包含的信息越来越多,需要使用到限制性资源的地方也越来越多,这种情况下对使用到限制性资源的用户界面进行操作将会严重受制于限制性资源的使用,翻页的动作将必须等待当前页面的资源释放完成之后才能实现,而等待资源释放的时间又很长,所以必将导致流畅性的严重损失。比如播放器,很多低端设备上只允许同时使用单个播放器,一旦出现同时使用则会引起播放器死锁,整个系统将无法继续使用播放器。而同一个页面滚动到不同的位置,需要嵌入多个播放器的情况下,在滚动开始时就必须先在主线程完成当前播放器的释放操作,直接造成滚动效果的卡顿。同时,在多个播放器交替播放器的时候还需要严格管理使用顺序,使用过程极其复杂,稍有不慎便会引起播放器死锁,整个系统将无法继续使用播放器。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术中对于流畅性操作问题,在资源操作异步进行之后将会得到极大的优化;对于资源冲突问题,在统一管理资源之后,将彻底解决资源冲突和资源死锁的问题,将极大的提高资源使用效率。

本发明解决技术问题所采用的技术方案如下:

一种资源控制方法,其中,所述资源控制方法包括:

接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况;

若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用;

当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求。

所述的资源控制方法,其中,所述接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况之前还包括:

预先将智能电视资源的操作放到子线程,用于避免资源释放对用户操作的影响。

所述的资源控制方法,其中,所述接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况具体包括:

设置统一的资源申请接口与资源释放接口,并创建记录资源占用情况的队列;

接收客户端通过资源申请接口异步申请使用播放器资源的操作请求;

根据客户端申请的播放器资源,在记录资源占用情况的队列中检索播放器是否被占用。

所述的资源控制方法,其中,所述若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用具体包括:

当检索后发现队列中播放器处于空闲状态,则返回可用的播放器资源给客户端;

在资源占用的队列中添加当前占用记录,并控制播放器开始播放视频。

所述的资源控制方法,其中,所述接收用户通过资源申请接口申请使用资源的操作请求后,检索队列中资源占用的情况之后还包括:

当检索后如果队列中播放器已被占用,则反馈给客户端当前无空闲资源可用,需要等待的指示。

所述的资源控制方法,其中,所述当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求具体包括:

当检测到播放器资源播放完成后,将播放器资源通过资源释放接口进行释放;

待释放操作完成后,将队列中的资源占用记录清空,等待当前客户端或者其他客户端的下一个请求。

所述的资源控制方法,其中,所述当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求还包括:

接收客户端直接在子线程进行资源释放的操作请求,无需等待播放器资源释放完毕,同时在主线程刷新ui。

所述的资源控制方法,其中,所述资源控制方法还包括:

当第二客户端通过资源申请接口异步申请播放器资源时,查询队列时若第一客户端的占用还没有释放完成,则返回给第二客户端资源正在被占用的情况;

第二客户端则继续在线程中轮询等待播放器的释放,待查询到播放器释放完成后,在队列中删除第一客户端的占用记录;

向第二客户端返回可用的播放器资源,同时在队列中添加第二客户端的占用记录,资源开始正常播放。

一种智能电视,其中,所述智能电视包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源控制程序,所述资源控制程序被所述处理器执行时实现如上所述的资源控制方法的步骤。

一种存储介质,其中,所述存储介质存储有资源控制程序,所述资源控制程序被处理器执行时实现如上所述资源控制方法的步骤。

本发明公开了一种资源控制方法、智能电视及存储介质,所述方法包括:接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况;若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用;当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求。本发明当用户需要使用资源的时统一调用资源的相关接口,根据资源使用情况进行分配,将资源释放通过子线程执行,解决了资源流畅性和冲突的问题,极大的提高了智能电视系统的操作流畅性和稳定性。

附图说明

图1是本发明资源控制方法的较佳实施例的流程图;

图2是本发明资源控制方法的较佳实施例中步骤s10的流程图;

图3是本发明资源控制方法的较佳实施例中步骤s20的流程图;

图4是本发明资源控制方法的较佳实施例中步骤s30的流程图;

图5是本发明基于资源控制方法实现资源控制的原理框架图;

图6为本发明智能电视的较佳实施例的运行环境示意图。

具体实施方式

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

本发明较佳实施例所述的资源控制方法,如图1所示,所述资源控制方法包括以下步骤:

步骤s10、接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况。

具体地,由于在主线程释放资源,释放资源的同时必将导致用户界面停止刷新且无法操作,直到资源在主线程完全释放之后,才能继续完成页面的退出操作。因此,预先将智能电视资源的操作放到子线程,用于避免资源释放对用户操作的影响;之所以将资源的操作放到子线程,是为了解决资源释放对用户操作的影响,同时解决限制性资源的使用冲突问题。

具体过程请参阅图2,其为本发明提供的资源控制方法中步骤s10的流程图。

如图2所示,所述步骤s10包括:

s11、设置统一的资源申请接口与资源释放接口,并创建记录资源占用情况的队列;

s12、接收客户端通过资源申请接口异步申请使用播放器资源的操作请求;

s13、根据客户端申请的播放器资源,在记录资源占用情况的队列中检索播放器是否被占用。

步骤s20、若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用。

具体地,客户端指的是用户,也是本发明中的请求方,当有外部(即用户)申请使用资源时,首先检索资源占用队列,收到外部请求使用资源时,如果队列中没有资源占用记录,则返回给用户(请求方)可用的资源,同时记录该用户对资源的占用。另外,当检索后如果队列中播放器已被占用,则反馈给客户端当前无空闲资源可用,需要等待的指示。

具体过程请参阅图3,其为本发明提供的资源控制方法中步骤s20的流程图。

如图3所示,所述步骤s20包括:

s21、当检索后发现队列中播放器处于空闲状态,则返回可用的播放器资源给客户端

s22、在资源占用的队列中添加当前占用记录,并控制播放器开始播放视频。

步骤s30、当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求。

具体地,当资源使用完毕之后,调用资源释放接口,待释放操作完成后将资源占用记录清空,等待下一个请求;也就是说,一次只能有一个请求方请求使用资源,只有这个请求方使用完并释放资源后才能接受下一个请求方的请求。

对于用户而言,当需要使用资源的时候统一调用资源管理模块(智能电视中设置的用于对资源进行管理的模块)的相关接口,由于不用再考虑资源冲突的问题,可以异步进行所有的操作,例如申请、使用和释放等操作,用户界面的刷新不再需要等待资源的释放。

具体过程请参阅图4,其为本发明提供的资源控制方法中步骤s30的流程图。

如图4所示,所述步骤s30包括:

s31、当检测到播放器资源播放完成后,将播放器资源通过资源释放接口进行释放;

s32、待释放操作完成后,将队列中的资源占用记录清空,等待当前客户端或者其他客户端的下一个请求。

另外,所述智能电视还能接收客户端直接在子线程进行资源释放的操作请求,无需等待播放器资源释放完毕,同时在主线程刷新ui;当第二客户端通过资源申请接口异步申请播放器资源时,查询队列时若第一客户端的占用还没有释放完成,则返回给第二客户端资源正在被占用的情况;第二客户端则继续在线程中轮询等待播放器的释放,待查询到播放器释放完成后,在队列中删除第一客户端的占用记录;向第二客户端返回可用的播放器资源,同时在队列中添加第二客户端的占用记录,资源开始正常播放。其中,第一客户端代指第一用户(或者说第一请求方),第二客户端代指第二用户(或者说第二请求方)。

进一步地,如图5所示,为本发明的实现资源控制的原理框架图,其中资源管理模块为智能电视系统中的一个功能模块,也是用于资源调度和管理的模块。其中,用户(使用者)主要包括各个使用到播放器的应用和页面(本发明以应用和页面作为说明)。

(1)应用内流畅性操作原理:首先,包含播放器的控件1滚动到页面中,通过资源管理模块提供的接口(资源申请接口)异步申请播放器资源,资源管理模块收到申请后查询其管理的资源占用队列,发现此时播放器处于空闲状态,返回可用的播放器资源给控件1,同时在自己管理的资源占用队列中添加该占用记录,控件1开始播放视频。然后用户操作页面滚动,控件1滚出可见界面,此时控件1调用资源管理模块的播放器释放接口(资源释放接口)释放播放器资源。无需等待播放器释放完毕,直接在子线程做释放操作,同时在主线程刷新ui,滚动动画和ui的刷新不会被阻塞,可流畅运行。

此时,包含播放器的控件2进入可见界面,控件2同样通过资源管理模块提供的申请接口(资源申请接口)异步申请播放器资源,资源管理模块查询自己的占用队列发现前一个使用者的占用还没有释放完成,则返回给控件2资源正在被占用的情况,控件2继续在线程中轮询等待播放器的释放,待查询到播放器释放完成后,资源管理模块在自己的占用队列中删除控件1的占用记录,向控件2返回可用的播放器资源,同时在自己的队列中添加控件2的占用记录,控件2开始正常播放。

其中,控件1和控件2指的就是不同的用户,例如可以用控件1指代第一用户,控件2指代第二用户。

(2)应用间流畅性切换原理:首先,应用a启动,使用资源管理模块提供的接口(资源申请接口)申请播放器资源,资源管理模块查询占用队列,发现播放器处于空闲状态,随即返回可用的播放器资源给应用a,同时记录应用a的占用情况,应用a正常播放播视频,此时用户从应用a的播放界面点击跳转到应用b的视频播放界面,应用a只需要在子线程中调用资源管理模块的播放器释放操作,无需在主线程等到播放器释放完成之后再继续退出动作,直接退出后启动应用b,整个过程主线程没有特别的耗时操作,界面切换迅速。

其中,应用a和应用b也可以指代不同的用户,例如可以用应用a指代第一用户,应用b指代第二用户,也就是说不用的应用在进行资源请求时,也需要在资源空闲的情况下才可以实现成功申请的目的。

针对带播放器页面的内部操作流畅性问题,将以往的播放器释放动作放到子线程中执行,相当于将主线程耗时任务安全的放在了子线程中,彻底解决了页面滚动卡顿可操作延时的问题;针对应用间切换缓慢的问题,耗时操作不再卡住页面退出的主线程,android生命周期不再被播放器释放迟滞,彻底解决了带播放器应用退出慢,操作延时的问题。同时,由于添加了资源管理模块,所有操作是有安全保证的,不会再出现播放器冲突和播放器死锁的问题,极大的提高了系统的操作流畅性和稳定性。

需要说明的是,本发明的方案适用于电视端所有的限制性资源,不单单限制在播放器的使用管理。

如图6所示,基于上述资源控制方法,本发明还相应提供了一种智能电视,所述智能电视包括处理器10、存储器20及显示器30。图6仅示出了智能电视的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述智能电视的内部存储单元,例如智能电视的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能电视的外部存储设备,例如所述智能电视上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器20还可以既包括所智能电视的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能电视的应用软件及各类数据,例如所述安装智能电视的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有资源控制程序40,该资源控制程序40可被处理器10所执行,从而实现本申请中资源控制方法。

所述处理器10在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述资源控制方法等。

所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能电视的信息以及用于显示可视化的用户界面。所述智能电视的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中资源控制程序40时实现以下步骤:

接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况;

若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用;

当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求。

所述接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况之前还包括:

预先将智能电视资源的操作放到子线程,用于避免资源释放对用户操作的影响。

所述接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况具体包括:

设置统一的资源申请接口与资源释放接口,并创建记录资源占用情况的队列;

接收客户端通过资源申请接口异步申请使用播放器资源的操作请求;

根据客户端申请的播放器资源,在记录资源占用情况的队列中检索播放器是否被占用。

所述若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用具体包括:

当检索后发现队列中播放器处于空闲状态,则返回可用的播放器资源给客户端;

在资源占用的队列中添加当前占用记录,并控制播放器开始播放视频。

所述接收用户通过资源申请接口申请使用资源的操作请求后,检索队列中资源占用的情况之后还包括:

当检索后如果队列中播放器已被占用,则反馈给客户端当前无空闲资源可用,需要等待的指示。

所述当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求具体包括:

当检测到播放器资源播放完成后,将播放器资源通过资源释放接口进行释放;

待释放操作完成后,将队列中的资源占用记录清空,等待当前客户端或者其他客户端的下一个请求。

所述当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求还包括:

接收客户端直接在子线程进行资源释放的操作请求,无需等待播放器资源释放完毕,同时在主线程刷新ui。

所述资源控制方法还包括:

当第二客户端通过资源申请接口异步申请播放器资源时,查询队列时若第一客户端的占用还没有释放完成,则返回给第二客户端资源正在被占用的情况;

第二客户端则继续在线程中轮询等待播放器的释放,待查询到播放器释放完成后,在队列中删除第一客户端的占用记录;

向第二客户端返回可用的播放器资源,同时在队列中添加第二客户端的占用记录,资源开始正常播放。

本发明还提供一种存储介质,其中,所述存储介质存储有资源控制程序,所述资源控制程序被处理器执行时实现如上所述资源控制方法的步骤;具体如上所述。

综上所述,本发明提供一种资源控制方法、智能电视及存储介质,所述方法包括:接收客户端通过资源申请接口申请使用资源的操作请求后,在记录资源占用情况的队列中检索资源占用的情况;若队列中没有资源占用记录,则返回给客户端可用的资源,同时在队列中记录所述客户端对资源的占用;当检测到资源使用完毕后,将资源通过资源释放接口进行释放,待释放操作完成后将资源占用记录清空,等待下一个请求。本发明当用户需要使用资源的时统一调用资源的相关接口,根据资源使用情况进行分配,将资源释放通过子线程执行,解决了资源流畅性和冲突的问题,极大的提高了智能电视系统的操作流畅性和稳定性。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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