

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
一种在安卓系统上的新型高性能的预缓存模式
亮点:
提出一种新的高性能异构模型Android系统。
运用中间层预缓存技术。
运用中间层来处理网络的交换量。
为新的web页面组件生成一个生成版本标志。
摘要
作为一个移动操作系统框架,Android在支持移动终端应用程序的发展过程中扮演着重要的角色。然而,目前的Android应用程序模型常用的两种方法,包括Activity XML布局文件 与 HTML Webkit(HWK)模型,都不是高效率的方案。在本文中,我们将提出一种新的基于中间组服务的解决方案-- PrecAche Technology of Android System (PATAS),这种方案能克服了使用预缓存方法的缺点。该方法使用HTML来设计应用程序界面,分别为存储页面框架(PF)和页面数据(PD)。我们创建一个新的web页面中间层,并用版本标志以显示存储页面框架(PF)和页面数据(PD)否是过期。实验结果证明我们所提出的方法可以有效地提高执行效率、降低网络成本,并且可以广泛地应用于基于云计算的分布式系统。
1、简单介绍
随着移动终端技术的快速发展,移动应用已经广泛应用于各行各业的工作领域中。移动终端应用的发展,已经给大量的移动终端用户带来了大量的益处,例如:娱乐、通信以及个人身份信息的管理。移动设备已经成为了一个支持移动应用程序和无线通信的基础平台。同时,高性能的无线网络也对例如分布式计算和移动云计算等移动终端应用的扩展做出了很大的贡献。Android系统的开放性同时也为各种无线技术的实现,带来了更高更灵活的路径。然而,由于其低效率的运行模式,目前的Android应用程序在追求更高的运行效率以及更快速的响应用户的需求等方面,正面临着巨大的挑战。本文针对上述的这个问题,提出了一种全新的解决方案--使用新的预缓存技术来实现的高性能Android系统。
Android作为一个最近非常流行的应用程序开发框架,它其实是一个在Linux内核的基础上建立的一种手机操作系统。作为一个完整的开源的移动开发平台,Android系统的出现为智能手机的发展带来了大量的机遇和挑战。随着处理能力的提高、无线网络的性能的增强以及分布式部署量的不断提高,在移动嵌入式系统中,Android系统已经成为一种流行的操作系统,并且其平台上的应用程序也在各行各业中得到了广泛的应用。云计算为Android系统提供了一套具有巨大前景的服务传递平台,并以此来增强Android系统的通信能力。内容缓存是Android操作系统在分布式环境下的一种常见的性能优化的处理方案。
然而,就目前在Android平台上的移动应用开发来说,如何提高应用程序的运行效率是一个具有挑战性的问题。通常来说,Android应用开发的两种传统的应用构建方法,包括Activity XML布局文件(AXLF) 以及 HTML Webkit(HWK)。 首先,作为谷歌官方的推荐方法,AXLF构建方法是一种在响应用户需求效率非常低的方法,即使它支持所有安卓系统的特性。另一种构建方法是利用HWK技术,它使用的实HTML技术来进行移动应用程序的开发。尽管HWK的使用效率要比AXLF的效率要高出很多,但是与此同时的是在使用该模型的缺点时,会有很多不必要反复生成的文件都回去从远程服务器下载。因此,开发人员非常急需找到一种新的解决方案,能够把前两种模式的所有优点集中于一体,并且还能够避免它们的缺点。
为了能够解决Android系统上的这个问题,我们提出一种名叫PrecAche技术(PATAS)的解决方案。这种解决方案提出了三个主要的算法,包括服务器端执行程序算法(2SEPA),本地页面负载算法(OPLPA),和页面同步算法(PSA)。实施该模式的目的就是为了防止不必要的从服务器端下载数据,并以此提高系统的性能与效率。本文的主要贡献有以下两点:
1.我们提出了一种新的在高性能Android系统上使用pre-cache-based技术的模型。
2. 我们的模式使用生成的版本标志与基于中间层的方法节省网络的交换量,这产生了一个的新组件的web页面。
本文的其余部分组织如下: 在第二节,进行了在Android领域的相关工作进行了综述。在第三节,我们描述了用于我们的提出的新模式上的模型和概念。在第四节中,我们举出了一个相关的例子。然后我们将在第6和第7节对实验结果做一个总结。
2、相关工作
以前的研究已经解决了Android系统很多方面的问题。本节将对回使用AXLF和HWK Android模型的相关工作进行回顾。作为Android操作系统,它是在以谷歌为首的和其他合作伙伴组建的开放手机联盟(OHA)在2007年的11月发布了第一个测试版,并附带了软件开发工具包(SDK)。超过80家在移动终端领域的公司加入了该组织,并且绝大多数的移动应用程序遵循由OHA制定的标准。
由于移动终端的计算能力的限制,目前的移动应用程序需要更低的运行消耗。许多之前的研究都是在致力于解决性能消耗的问题。利用基于云的移动应用的解决方案是一种减少机器能耗、提高应用性能并且能提高任务的调度效率的方案。使用异构分布式计算的方法在移动计算与跨多个平台交互上都具有积极的影响。移动分布式计算带来的好处,使许多移动系统的重点转移到界面设计和数据显示,实现人机交互。
AXLF是Android系统支持的经典方法之一。应用程序使用此模型可以直接使用Android提供的组件以及最大化的利用Android系统的资源,来实现一个令人眼花缭乱的视觉效果。具有多功能的应用程序可以通过这种方法来执行,如游戏,多媒体以及在线社交软件。在这个模型中包括两个关键部分:Activity管理(AM)和View系统(VS)。使用XML底层文件来描述用户界面布局能够达到降低系统的复杂性的效果。平台之间的互连,也可以使应用程序的通信基础上的跨平台工具。
然而,一些移动应用程序不需要那些流行的用户界面却需要复杂的系统结构,如电子词典,办公自动化(OA)系统,与电子商务相关的应用程序。使用AXLF方法可能会导致沉重的工作量和界面的实现。此外,Android系统所提供的默认组件需要在背景设计方面有着有很强的计算能力,这导致了工作量很难被控制的问题。有一些系统需要提供传统的计算网络接入和移动接入,这将需要两倍的时间来开发网页和设计移动应用程序,然而这两者的工作不能被彼此共享,这也大大增加了开发人员的工作量。
因为在运行的应用程序提供信息服务时,AXLF模型提供的运行效率不高,所以HWK是其他可选的方法。使用这种模式进行Android应用程序的开发时,我们将使用HTML技术来开发应用的页面,从而实现应用程序的用户界面和各组成部分的响应方法。然后再使用Android WebKit组件加载页面显示复杂的用户界面和有用的信息在页面的形式。当程序员使用这种模式开发应用程序时,比如写一个网页,在网站上的网页可以直接用作移动用户界面。为应用程序用户界面加载页面,可以实现人机交互。目前,该模型已逐渐成为信息服务的移动应用程序的主流模式之一。然而,实现HWK模型通常需要很多额外的执行时间,并可能造成巨大的网络流量的消耗。由于更新数据的工作量,用户必须下载很多额外的内容。
本地应用程序可以将不需要改变的数据存储到本地,如电子词典,这意味着如果源存储在本地,那么久不需要无线网络来更新数据。如果想要中间件能够暂时或永久存储资源的一个可选的方法就是将资源迁移到云端。采用基于中间件的模型是一种潜在的解决我们之前提到过的问题的方案。然而,尽管大多数网页的信息已经存储在移动设备上,应用程序在需要更新某些细节信息时,执行HWK模型还是必须下载所有网页。这将导致一个较长的执行时间和不必要的网络流量。因此,在实现HWK模型时,通常需要额外的执行时间,并且可能造成巨大的网络流量。由于数据更新的工作,用户必须下载额外的内容页面。
3、模型与概念
在这一部分中,我们将介绍我们提出的PATAS方案的基本的模型和我们所提出的架构概念。对PATAS至关重要的两个部分都包括在这节中,包括分离HTML页面和执行程序的重新设计。整个HTML页面被分离成两部分组成,包括页面框架(PF)和页面数据(PD)。在我们所提出的模式中将引入了一个新的组成部分,它是一个版本的标志。版本号是一个中间件的一个标志位,用来表明PF页面或PD是否已经过期。
页面框架和页面数据:一个页面框架是指网页布局,如页面布局、配置信息、组件和执行的框架。一个页面数据代表需要加载到页面的实时数据,如在电子商务中的价格和图片。使用预缓存技术可以允许应用程序避免下载重复存储的PF和PD。使用该模型可以通过不增加网络流量来减少工作量。
页面分离:将页面内容分为2个部分,分别是PD和PF。页面分离的目的是移动应用程序可以在设备在运行应用程序分别下载和缓存两个部分。两部分整理成一个完整的页面和应用程序使用的WebKit加载和显示页面。这种方法可以单独下载,可以减少网络流量。
版本标志:一组版本标志是一个中间件服务的一个标志位,它可以决定在本地移动设备中存储的PD以及PF与远程服务器中的是否一致。服务器和移动设备都拥有一组版本标志。而移动应用程序启动时,它可以从服务器下载这套版本的标志位。将本地缓存的版本标记与下载的标志位进行比较,使应用程序可以选择仅从服务器下载需要更新的内容。
数据格式:我们选择JavaScript对象符号(JSON)作为数据交换格式。JSON是一种文本格式,是完全独立于语言的。版本标志可以根据应用程序的需要灵活地定义。例如,在我们的系统中,我们定义了一个页面的版本标记格式:
{
“frameVersion” : “12”,
“dataVersion” : “123”.
}
当他们进行上传和下载请求和响应请求时需求的数据也封装成JSON字符串。数据格式也可以根据应用程序的需要灵活地定义。
压缩: 服务器比较那些需要下载的页面组建来减少网络使用量。由于服务器和移动终端之间传输的数据基本上是字符串,有足够的压缩空间。压缩可以减少网络流量,即使它增加了压缩和解压缩的工作量,同时压缩数据也增加了无线通信的性能。
4、例子
一种实现了PATAS的相关的例子将在这部分进行阐述。我们使用Map{name, vMapCached}标志来存储版本标志,这是用来描述pName和vMapCached键值对的版本。在这里,pName对应一个页面的名称。vmapcached指向另一个Maplang;vName,vValuerang;。在vMapCached中,vName指的是一个版本标记的名称,如“framversion”和“dataversion”等。vValue是一个整形,指的是一个版本的标志值。我们假设有一个应用程序正在使用PATAS方法在移动设备上运行。并且,服务器已准备好,同时该应用程序也已经被安装到一个移动设备上。
在初始阶段,应用程序的缓存是空的。当应用程序试图显示网页来作为用户交互界面,并且在版本标志缓存中搜索版本标志vmapcached。在初始状态时,它不能找到对应的页面的版本标志。因此,应用程序向服务器发送请求和下载具有相同的数据类型vMapCached的页面,包括PF,PD,和作为版本标记的vMap。移动应用程序将所有这些组件存储到本地缓存中。这是初始化页面的过程。在这之后,应用程序将会去结合PF和PD成HTML文件和缓存等。最后,应用程序将调用WebKit去加载和显示页面的用户。
图2显示了一个相关框架的例子。如图所示,压缩能够完成节约网络流量和减少数据存储的要求。解压缩和压缩是一个相反的过程。封装是一个将版本标志转换成JSON字符串的过程,封装拆分是封装的一个相反的过程。版本标志将起到检查PF和PD状态的一个中间件的作用。该应用程序将尝试在一个简短的时间内初始化需要被刷新页面。它将在本地缓存的标志位中搜索和获取版本标志vMapCached。然后,应用程序将向服务器请求页面的最新版本标志。在下载最新版本标志后,应用程序将比较从服务器请求的版本标志和存储在本地缓存Map中版本标志vMapCached。我们假设在这个时候他们是一样的。这意味着所有的页面组件都准备好了。因此,应用程序调用WebKit在缓存HTML文件加载和显示给用户。
如果该应用程序试图在较长时间后再次显示此网页将触发什么动作呢?首先,它将在本地缓存的标志位中搜索和获取版本标志vMapCached。获取本地的版本标志后,应用程序将向服务器请求最新的版本标志。在此之后,应用程序将比较从服务器请求的版本标志和存储在本地缓存Map中版本标志vMapCached。我们假设在这个阶段有一些不同的版本标志,这意味着一些页面的组成部分是过期的。
在这种情况下,应用程序下载过期的网页组件,并将该这部分组件的最新版本标志更新在本地缓存中。然后,应用程序将更新vMapCached。在这之后,应用程序将结合PF和PD形成HTML文件,并且更新他们对应的本地
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[153845],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
