一种持久化加载页面的方法与流程

文档序号:13661456阅读:189来源:国知局

本发明涉及数据处理技术领域,尤其涉及一种持久化加载页面的方法。



背景技术:

随着网络时代的到来,用户通过互联网具有了更灵活的选择电视节目方法和机会。作为最直接价值的来源,用户的数量和忠诚度很大程度决定了一种商业模式的成功与失败。如今,电子节目指南(electronicprogramguide,epg)是数字电视的基本业务之一,它的出现使得用户在联网后可以通过对大屏进行简单的操作,完成点播、搜索、推荐、回看、收藏等一系列互动,实现了用户对自己喜欢的各种节目进行自由选择。

作为epg业务最重要的部分,网络无疑是支撑epg业务正常展现的基础。目前,基于客户端加载epg页面的缓存机制方案存在不灵活、不透明、不通用、不稳定、无法处理大数据量缓存请求的问题。如何在断网情况下持久化加载epg页面,提高epg应用率,增强用户使用体验效果,是目前本领域重点有待解决的问题之一。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供了一种持久化加载页面的方法,在网络不流畅或断网时,持久化加载页面,打破互联网作为加载页面的重要的条件的瓶颈限制,避免了因网络问题造成的用户体验差而导致的用户数量和忠诚度的流失,从而增加企业的生产效益。并且,本发明实施例提供的持久化加载页面的方法对服务器的所造成的负荷小,在数据交互时,代码运行稳定,在页面加载时,支持数据量大的缓存需要。

为实现上述目的,本发明提供了一种持久化加载页面的方法,所述一种持久化加载页面的方法包括:

终端的处理模块接收用户输入的加载指令,并根据所述加载指令生成加载请求;

根据所述加载请求获取所述终端的存储模块中的页面缓存路径数据和配置数据,并根据所述网络路径数据获取第一页面内容数据;所述第一页面内容数据包括第一页面的页面id;

解析所述第一页面内容数据,根据解析结果和所述配置数据生成第一页面界面数据,并显示;

监测所述终端当前的系统时间,确定所述系统时间是否已达到预设的缓存时间;

当所述系统时间已达到预设的缓存时间时,生成获取请求并发送至服务器;所述获取请求包括所述第一页面的页面id;

所述服务器根据所述第一页面的页面id得到与所述第一页面的页面id对应的最新的页面数据,并根据所述获取请求将最新的页面数据发送至所述终端;

所述终端确定所述最新的页面数据是否为空;

当所述最新的页面数据不为空时,根据所述最新的页面数据更新所述第一页面内容数据,得到第二页面内容数据;

解析所述第二页面内容数据,根据解析后结果和所述配置数据生成第二页面界面数据,并显示。

优选的,所述解析所述第一页面内容数据,根据解析结果和所述配置数据生成第一页面界面数据具体为:

解析所述第一页面内容数据得到图形数据;

根据所述图形数据和所述配置数据得到图形界面参数,根据所述图形界面参数和预设的绘制算法得到所述第一页面界面数据。

优选的,在所述确定所述系统时间是否已达到预设的缓存时间之前,所述方法还包括:

所述终端接收用户输入的配置缓存时间指令,并根据所述配置缓存时间指令生成所述预设的缓存时间。

优选的,所述当系统时间已达到预设的缓存时间时,生成获取请求并发送至服务器具体为:

根据所述获取请求生成获取请求数据,根据接口请求函数封装所述获取请求数据得到获取请求参数,将所述获取请求参数发送至所述服务器。

进一步优选的,所述在根据所述获取请求生成获取请求数据之前,所述方法还包括:

获取所述存储模块中的所述接口请求函数。

进一步优选的,所述服务器根据所述获取请求将最新的页面数据发送至所述终端具体为:

所述服务器根据所述获取请求参数查询所述最新的页面数据,并将最新的页面数据发送至所述终端。

优选的,在所述根据所述解析后的第二页面数据和所述配置数据生成第二页面界面数据之前,所述方法还包括:

创建异步处理对象,根据所述异步处理对象调用异步处理函数,根据所述异步处理函数删除所述第一页面界面数据。

本发明实施例提供的一种持久化加载页面的方法,在网络不流畅或断网时,持久化加载页面,打破互联网作为加载页面的重要的条件的瓶颈限制,避免了因网络问题造成的用户体验差而导致的用户数量和忠诚度的流失,从而增加企业的生产效益。并且,本发明实施例提供的持久化加载页面的方法对服务器的所造成的负荷小,在数据交互时,代码运行稳定,在页面加载时,支持数据量大的缓存需要。

附图说明

图1为本发明实施例提供的一种持久化加载页面的方法的流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明实施例提供的一种持久化加载页面的方法,用于具有安卓操作系统的智能电视或其他智能设备向用户展示电子节目指南(electronicprogramguide,epg)的相关操作。其方法流程图如图1所示,包括如下步骤:

步骤101,终端的处理模块接收用户输入的加载指令,并生成加载请求;

具体的,终端可以理解为具有视音频播放功能的智能电视机、智能机顶盒或智能手机等设备。处理模块可以理解为终端内的处理器,用于接收和处理各种指令。加载指令可以理解为用户通过遥控装置向像电视机发送的显示epg页面的指令。不论终端当前处于正常的网络连接状态、网络连接不流畅、还是无网络接连的状态,处理模块在接收到加载指令后都会根据加载指令生成加载请求,并根据加载请求进行下一步的处理。

在一个具体的例子中,处理模块在接收到加载指令后桌面启动器(launcher)启动,并发起安卓操作系统的异步连接(android-async-http)请求,请求加载epg页面数据。

步骤102,获取所述终端当前的网络页面缓存路径数据和配置数据,并根据网络路径数据获取第一页面内容数据;

具体的,处理模块首先根据加载请求获取终端的存储模块中的页面缓存cache目录以及资源定位器的路径(uniformresourcelocator,url),并根据cache目录和url路径得到页面缓存路径数据。页面缓存路径数据可以理解为用于确定本地已缓存的epg页面的获取路径的数据,处理模块根据网络路径数据获取第一页面内容数据,也就是epg页面的内容数据。其中,页面第一页面内容数据包括第一页面的页面id,第一页面的页面id用于区分不同的第一页面内容数据。

同时,处理模块还根据加载请求获取存储模块中的终端的配置数据。配置数据可以理解为在加载epg页面时用于配置页面布局的数据。

步骤103,解析第一页面内容数据,根据所述解析后的页面数据结果和配置数据生成第一页面界面数据,并显示;

具体的,解析第一页面内容数据得到对epg页面进行用户界面(userinterface,ui)填充的图形数据。其中图形数据可以理解为用于屏幕菜单式调节(onscreendisplay,osd)的图形元素和内容元素。根据图形数据和配置数据得到图形界面参数,图形界面参数可以理解为包括推荐位置参数、导航按钮参数、文本框参数、组建容器参数等的用于显示epg页面内容的参数。最后,处理模块根据图形界面参数和预设的绘制算法绘制第一页面界面数据,并将第一页面界面数据通过终端的显示装置向用户进行显示。

这一过程可以理解为合成图形元素和内容元素,并最终绘制成epg页面的过程。预设的绘制算法可以理解为用于osd绘制的算法,它可以是用户预设的,也可以是程序自带的。第一页面界面数据即为epg页面。

在一个具体的例子中,存储模块中的数据库提供当前epg界面所需的配置数据和图形数据,处理模块中的osd层图形根据epg界面提供所需的配置数据和图形数据得到包括页面布局、推荐位、导航按钮、文本框、组建容器等的图形界面参数。此时处理模块接收用户通过遥控器输入的遥控指令,得到显示当前epg页面所需的活动焦点。处理模块中的osd绘制引擎决定显示的相应算法,对osd层图形的图形界面参数进行合成和绘制,最终生成epg界面图像。

步骤104,监测终端当前的系统时间;

具体的,上述步骤101-103已经完成了首次加载epg页面的过程,由于在首次加载时使用的数据为已在本地缓存的数据,因此在首次加载epg页面时无需考虑终端当前的网络环境。而为了达到持久且动态更新epg页面的目的,处理模块需要定时再次获取epg页面。也就是说,在首次加载epg页面后,处理模块需要获取终端当前的系统时间,用以检测缓存生存期是否有效。

步骤105,确定系统时间是否已达到预设的缓存时间;

具体的,终端的处理模块根据用户输入的配置缓存时间指令生成预设的缓存时间,用以确定需更新获取epg页面的时间频率,也就是缓存生存期。当系统时间已达到预设的缓存时间,也就是缓存生存期失效时,执行下述步骤106。当系统时间还没有已达到预设的缓存时间,也就是缓存生存期有效时,重复执行步骤104,继续监测终端当前的系统时间,并确定系统时间否已达到预设的缓存时间。

优选的,预设的缓存时间为10秒。

步骤106,生成获取请求并发送至服务器;

具体的,当系统时间已达到预设的缓存时间时,处理模块生成获取请求并发送至服务器,用以请求服务器下发相关数据。获取请求包括第一页面的页面id。

进一步具体的,处理模块首先获取存储模块中的接口请求函数,并根据获取请求生成获取请求数据,根据接口请求函数封装获取请求数据得到获取请求参数,将获取请求参数发送至服务器。

步骤107,服务器得到最新的页面数据并送至终端;

具体的,如上所述,一个第一页面的页面id对应一个页面数据,服务器中存储有页面id与页面数据的对应关系,因此服务器可以根据第一页面的页面id得到与第一页面的页面id对应的最新的页面数据,并根据获取请求参数查询最新的页面数据,并将最新的页面数据发送至终端。最新的页面数据可以理解为epg页面的更新的内容数据。

在一个具体的例子中,终端处理器通过终端应用程序编程接口(applicationprogramminginterface,api)抓取服务器中的页面数据。首先,终端处理器通过android-async-http框架发起安卓操作系统(android)异步网络请求,通过基于android的非ui线程池请求数据下载,响应结果自动打包为javascript对象标记(javascriptobjectnotation,json)格式,通过匿名内部类处理请求结果,实现对云端服务器的api数据抓取。具体步骤如下:

调用asynchttpclient类的get或post等函数发起多个网络请求。所有的网络请求经过sendrequest类封装为asynchttprequest类,并添加到线程池执行。当网络请求被执行时,即调用asynchttprequest类的run函数时,执行asynchttprequest类的makerequestwithretries函数执行网络请求,并在网络请求开始、结束、成功或失败时向responsehandlerinterface实例发送回传消息。网络请求结果通过onfailuret,onsuccess等函数返回。

步骤108,终端确定最新的页面数据是否为空;

具体的,当所述最新的页面数据不为空时,代表了终端从服务器中抓取到了最新的epg页面数据,则执行下述步骤109-190。当所述最新的页面数据不为空时,代表了终端从服务器中没有抓取到最新的epg页面数据,或服务器中不存在有最新的epg页面数据,则重复执行步骤104,继续监测终端当前的系统时间,并确定系统时间是否已达到预设的缓存时间。

步骤109,根据最新的页面数据接口数据更新第一页面内容数据,得到第二页面内容数据;

具体的,处理模块根据最新的页面数据接口数据更新第一页面内容数据,将第一页面内容数据中的页面数据更新为最新的页面数据,得到第二页面内容数据,第二页面内容数据可以理解为更新后的第一页面内容数据。并且,处理模块根据已得到的页面缓存路径数据,将第二页面内容数据写入本地用于epg页面的缓存数据中。

步骤110,解析第二页面内容数据,根据解析后的第二页面数据结果和配置数据生成第二页面界面数据,并显示;

具体的,首先,处理模块创建异步处理对象,根据异步处理对象调用异步处理函数,根据异步处理函数删除所述第一页面界面数据。然后,同步骤103一样,处理模块解析第二页面内容数据得到一组新的图形数据。根据新的图形数据和配置数据得到新的图形界面参数,最后,根据新的图形界面参数和预设的绘制算法绘制第二页面界面数据,并将第二页面界面数据通过终端的显示装置向用户进行显示。

在一个具体的例子中,处理模块首先实例化一个handler对象,并重写handlemessag类并调用invalidate函数实现epg页面的重新绘制与刷新。然后再次调用invalidate函数,把之前存在的视图(view)从主ui线程队列中pop掉。ui线程主要是负责控制ui界面的显示、更新和控件交互的线程,又称为主线程。其余的线程可以理解为工作者线程。invalidate函数需在ui线程中被调动,而在工作者线程中可以通过handler对象来通知ui线程进行epg页面的更新。

步骤111,确定是否收到退出指令;

具体的,退出指令可以理解为用户通过遥控装置向终端数据的退出epg页面的指令,在终端收到退出指令之前,会一直监测终端当前的系统时间,并根据预设的缓存时间动态加载epg页面,直至终端收到退出指令为止,更新页面的流程结束。

本发明实施例提供的一种持久化加载页面的方法,在网络不流畅或断网时,持久化加载页面,打破互联网作为加载页面的重要的条件的瓶颈限制,避免了因网络问题造成的用户体验差而导致的用户数量和忠诚度的流失,从而增加企业的生产效益。并且,本发明实施例提供的持久化加载页面的方法对服务器的所造成的负荷小,在数据交互时,代码运行稳定,在页面加载时,支持数据量大的缓存需要。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、用户终端执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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