多进程频道数据切换方法、装置、电视机及存储介质与流程

文档序号:15821508发布日期:2018-11-02 23:08阅读:266来源:国知局
多进程频道数据切换方法、装置、电视机及存储介质与流程

本发明涉及大数据领域,尤其涉及一种多进程频道数据切换方法、装置、电视机及存储介质。

背景技术

随着电视技术的发展,频道数据越来越多,在某些发达国家,电视节目达到了5万个以上,导致电视用户界面加载时间越来越长,在频道快速切换时经常出现卡顿,严重的影响了用户体验。

目前电视用户界面获取频道数据通常是通过底层进程获取数据库信息,然后由上层应用进程直接请求底层进程返回相应数据,这样的做法,若频道数据过多,会导致进程间的系统资源花销大,经常出现系统响应慢的情况。尤其是在嵌入式浏览器应用中,页面模块基于js单线程机制,无法并发处理数据,这样就会因为多进程之间获取频道数据的耗时长,导致页面加载时间长,用户体验不好。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种多进程频道数据切换方法、装置、电视机及存储介质,旨在解决现有技术中频道切换时系统资源耗费大、页面加载缓慢的技术问题。

为实现上述目的,本发明提供一种多进程频道数据切换方法,所述方法包括以下步骤:

电视机在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

优选地,所述电视机在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中之后,所述方法还包括:

向应用进程发送加载完成指令;

相应地,所述在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中,具体包括:

响应于所述加载完成指令,在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中。

优选地,在应用进程中所述获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据,具体包括:

在应用进程中获取当前频道信息;

根据所述当前频道信息获得所述当前频道在当前频道队列中的第一索引值;

根据所述第一索引值和预设公式确定所述当前频道在第二存储区间队列中对应的第二索引值;

根据所述第二索引值从所述第二存储区间中读取对应的频道数据。

优选地,所述预设公式为:

f(x)=x+(page-1)*max(p)

其中,f(x)为所述第二索引值,x为所述第一索引值,page为所述当前频道在所述应用进程的页面模块中的页数,max(p)为所述页面模块的最大显示频道数。

优选地,所述根据所述第一索引值和预设公式确定所述当前频道在第二存储区间队列中对应的第二索引值之后,所述方法还包括:

当f(x)-x=max(p)时,向所述页面模块发送频道队列更新指令,以使所述当前频道队列更新。

优选地,所述向所述页面模块发送频道队列更新指令之后,所述方法还包括:

将更新后的频道队列输出至所述页面模块进行显示。

优选地,所述在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中之后,所述方法还包括:

当接收到所述频道数据变化指令时,返回电视机在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中的步骤。

此外,为实现上述目的,本发明还提供一种装置,所述装置包括:

底层进程设置模块,用于在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

应用进程设置模块,用于在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

频道数据读取模块,用于在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

此外,为实现上述目的,本发明还提供一种电视机,所述电视机包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多进程频道数据切换程序,所述多进程频道数据切换程序配置为实现所述多进程频道数据切换方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有多进程频道数据切换程序,所述多进程频道数据切换程序被处理器执行时实现所述的多进程频道数据切换方法的步骤。

本发明通过在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将频道数据加载到内存的第一存储区间中;在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取频道数据,并将频道数据加载到内存的第二存储区间中;在应用进程中获取当前频道信息,根据当前频道信息从所述第二存储区间中读取对应的频道数据,实现了在频道切换时降低系统资源消耗,快速加载页面,提高了用户体验。

附图说明

图1是本发明实施例方案涉及的电视机运行环境的结构示意图;

图2为本发明多进程频道数据切换方法一实施例的流程示意图;

图3为图2中步骤s30一实施例的细化流程示意图;

图4为本发明多进程频道数据切换装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1是本发明实施例方案涉及的电视机运行环境的结构示意图。

如图1所示,该电视机可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对电视机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多进程频道数据切换程序。

在图1所示的电视机中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述电视机通过处理器1001调用存储器1005中存储的多进程频道数据切换程序,并执行以下操作:

在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

进一步地,处理器1001可以调用存储器1005中存储的多进程频道数据切换程序,还执行以下操作:

向应用进程发送加载完成指令;

响应于所述加载完成指令,在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中。

进一步地,处理器1001可以调用存储器1005中存储的多进程频道数据切换程序,还执行以下操作:

在应用进程中获取当前频道信息;

根据所述当前频道信息获得所述当前频道在当前频道队列中的第一索引值;

根据所述第一索引值和预设公式确定所述当前频道在第二存储区间队列中对应的第二索引值;

根据所述第二索引值从所述第二存储区间中读取对应的频道数据。

进一步地,处理器1001可以调用存储器1005中存储的多进程频道数据切换程序,还执行以下操作:

当f(x)-x=max(p)时,向所述页面模块发送频道队列更新指令,以使所述当前频道队列更新。

进一步地,处理器1001可以调用存储器1005中存储的多进程频道数据切换程序,还执行以下操作:

将更新后的频道队列输出至所述页面模块进行显示。

进一步地,处理器1001可以调用存储器1005中存储的多进程频道数据切换程序,还执行以下操作:

当接收到所述频道数据变化指令时,返回电视机在底层进程中建立第一独立线程,从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中的步骤。

本发明通过在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将频道数据加载到内存的第一存储区间中;在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取频道数据,并将频道数据加载到内存的第二存储区间中;在应用进程中获取当前频道信息,根据当前频道信息从所述第二存储区间中读取对应的频道数据,实现了在频道切换时降低系统资源消耗,快速加载页面,提高了用户体验。

基于上述硬件结构,提出本发明多进程频道数据切换方法实施例。

参照图2,图2为本发明多进程频道数据切换方法一实施例的流程示意图。

在一实施例中,所述多进程频道数据切换方法包括以下步骤:

s10:电视机在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

可以理解的是,线程是轻量级进程,是程序执行流的最小单元,通常一个进程中可以包括多个线程,每个线程都是作为利用cpu的基本单位,是花费最小开销的实体。

需要说明的是,电视机开机或者频道数据发生变化(例如搜台等场景)时,电视机需要从数据库中读取频道数据。本实施例中,电视机在底层进程中建立一个独立线程来读取频道数据,因独立线程与主线程是并行处理的,因此不会占用主线程的时间,从而减少了频道数据的读取时间,也减少了系统消耗。

在具体实现中,将所述频道数据加载到内存的第一存储区间中,有利于应用进程快速读取数据。

s20:在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

可理解的是,为了便于进程的功能扩展,应用进程设有扩展模块,为了便于用户交互,应用程序设有页面模块。电视机建立第二独立线程是在应用程序的扩展模块中进行,所述第二独立线程获得所述频道数据后,会将其显示在所述页面模块中。

需要说明的是,应用进程和底层进程是不同的进程,进程之间大数据通信需要消耗大量时间,所以应用进程的扩展模块也需要将所述频道数据加载到内存的第二存储区间中,这样应用进程的页面模块在请求频道数据时只需要和所述应用进程的扩展模块通信即可,减少了进程间通信的步骤,实现快速响应。

本实施例中,所述电视机在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中之后,所述方法还包括:

向应用进程发送加载完成指令;

相应地,所述在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中,具体包括:

响应于所述加载完成指令,在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中。

需要说明的是,当第一独立线程加载完成后,会向应用进程的扩展模块发送加载完成指令,所述扩展模块接收到加载完成指令后,会建立第二独立线程,当扩展模块的第二独立线程将所述频道数据加载到内存的第二存储区间之后,会向应用进程的页面模块发送加载完成指令,当所述页面模块接收到加载完成指令后,执行下一步动作。

s30:在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

可以理解的是,所述应用进程的页面模块响应于所述第二独立线程发送的加载完成指令,获取当前频道信息,按需要加载频道数据,动态获取指定频道数据,从而实现降低了对硬件性能的要求,并实现了快速切换频道的目的。

本发明通过在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将频道数据加载到内存的第一存储区间中;在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取频道数据,并将频道数据加载到内存的第二存储区间中;在应用进程中获取当前频道信息,根据当前频道信息从所述第二存储区间中读取对应的频道数据,实现了在频道切换时降低系统资源消耗,快速加载页面,提高了用户体验。

参照图3,在本发明一实施例的基础上,进一步提出了实施例,本实施例是一实施例中步骤s30的细化。

本实施例中,步骤s30,在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据,包括:

s31:在应用进程中获取当前频道信息;

可以理解的是,用户在频道切换时,最终会选定一个频道,将此频道作为当前频道,为了获得当前频道的频道数据,需要获得所述当前频道的频道信息。

s32:根据所述当前频道信息获得所述当前频道在当前频道队列中的第一索引值;

应理解的是,为了方便用户同时往上或往下切换频道,设备界面通常会设置频道队列,每个频道在所述频道队列中有唯一的索引值。

s33:根据所述第一索引值和预设公式确定所述当前频道在第二存储区间队列中对应的第二索引值;

需要说明的是,在页面模块中有一个频道队列,在扩展模块的第二存储区间中有一个对应的第二存储区间队列,每个频道在频道队列中的索引值与在第二存储区间队列中的索引值是对应的。

应理解的是,因为用户在切换频道时可能会翻页,所以会出现所述第一索引值与所述第二索引值不一致的情况。

本实施例中,所述预设公式具体为:f(x)=x+(page-1)*max(p)

其中,f(x)为所述第二索引值,x为所述第一索引值,page为所述当前频道在所述应用进程的页面模块中的页数,max(p)为所述页面模块的最大显示频道数。

比如,用户在进行频道切换时,页面模块最大显示频道数为10,用户选定的当前频道为频道队列中第二页的第5个频道,则所述第一索引值x为5,所述第二索引值f(5)=5+(2-1)*10,所述第二索引值为15。

本实施例中,当f(x)-x=max(p)时,向所述页面模块发送频道队列更新指令,以使所述当前频道队列更新。

需要说明的是,当所述第二索引值与所述第一索引值的差值为页面模块的最大显示频道数时,需要再次请求新的频道队列,并将更新后的频道队列输出至所述页面模块进行显示,以给用户更好的体验。

本实施例中,当接收到所述频道数据变化指令时,返回电视机在底层进程中建立第一独立线程,从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中的步骤,重新从数据库中加载频道数据,对所述频道队列和所述第二存储区间队列进行更新,实现了动态维护的效果。

s34:根据所述第二索引值从所述第二存储区间中读取对应的频道数据。

可以理解的是,所述应用进程的页面模块直接从所述第二存储区间中读取对应的频道数据,而不是从底层进程读取所述频道数据,大大减少了数据读取时间,也降低了系统消耗。

本实施例通过根据当前频道信息按需加载频道数据,降低了系统资源消耗及对电视机性能的要求,实现了快速切换频道的目的,提升了用户体验。

此外,参照图4,本实施例还提供一种多进程频道数据切换装置,本实施例中,所述多进程频道数据切换装置包括:

底层进程设置模块10:用于在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

应用进程设置模块20:用于在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

频道数据读取模块30:用于在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

其中,多进程频道数据切换装置的各个功能模块实现的步骤可参照本发明多进程频道数据切换方法的各个实施例,此处不再赘述。

此外,本发明实施例还提出一种计算机存储介质。

所述计算机存储介质上存储有多进程频道数据切换程序,所述多进程频道数据切换程序被处理器执行时执行如下操作:

在底层进程中建立第一独立线程,由所述第一独立线程从数据库中读取频道数据,并将所述频道数据加载到内存的第一存储区间中;

在应用进程中建立第二独立线程,由所述第二独立线程从所述第一存储区间中读取所述频道数据,并将所述频道数据加载到内存的第二存储区间中;

在应用进程中获取当前频道信息,根据所述当前频道信息从所述第二存储区间中读取对应的频道数据。

其中,计算机存储介质实现的步骤可参照本发明多进程频道数据切换方法的各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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