作为服务平台的Android_第1页
作为服务平台的Android_第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作为服务平台的Android摘要:智能手机用户和移动应用的数量正在迅速的增长。智能手机预计将来会有类似PC的功能,但是硬件资源,如CPU,内存和电池任然制约着移动设备使用云端的服务器资源。我们建议Android作为一个服务平台,可以使Android应用程序通过网络使用服务端的资源。虽然Android主要用户职能手机的物力设计,但是Android的两外两个功能是非常有用的。Android是开源产品,显示Android的服务器平台上运行的x86 CPU,我们有三种类型的多租户结构,并讨论了它的100多个现实需要。1.介绍智能机的用户和移动应用程序的数量在快速的上升。根据最新的报告,在美国,有4500万人拥有智能手机,并且有2.34亿人订阅手机移动程序。现在有几个手机操作系统,比如Symbian,ios,Android和Window Mobile。由于数以万计的程序开发者为这些平台开发多种应用程序,用户可以轻松的享受他们的智能手机。虽然智能机的功能类似与PC,但是硬件资源,比如CPU,内存和电池很有限,因此,许多程序开发人员不得不考虑这些限制。为了解决资源的问题,一些研究人员提出通过云服务器为智能机提供服务。在这个背景下,我们提出Android作为一个服务平台,有能力为用户提供远程的服务。我们讨论采用这个服务器的目的如下:通过使用手机操作系统,可以使为智能手机设计的移动程序,比如软件,键盘,触摸屏和许多传感器能够重复使用。由于移动操作系统的分辨率较低,所以通过网络使用远程应用程序比桌面操作系统好。Android是由google开发的一个开源操作系统。使用Android服务平台主要原因是它不仅能应用与手机,也能应用于X86平台。我们提出Android作为一个多租户架构的服务器平台。第二节将介绍使用移动程序在服务器上运行的背景和动机。第三节将讨论相关的工作,第四节阐明了采用Android的多租户架构类型,第五节将讨论使之成为现实的技术方法。第六节作为本文的结束。作为像Dropbox和Zumodrive的服务提供,提供在线的存储服务,远程服务器上使用的移动应用程序架构是很多的用户受益。这种做法即所谓的云服务器上得移动应用平台,不仅能再云服务器上处理用户的数据,还能处理用户的移动程序。这种方法通过以下方法改变应用程序的生命周期,一经编写,任何地方都可以运行,一经安装,任何地方都可以使用。图1做了一个概念的概述。通过在云服务器上执行一次移动应用程序,用户和开发人员将不受设备的限制,比如CUP电源,内存,电池和操作系统和版本的软件环境。而且,用户一旦在云服务器上安装了移动应用程序,他/她可以在任何地方任何设备上使用这个程序。2.动机多租户的Android系统多租户,以为着许多用户在同一个服务器上运行软件,是云计算的一个重要特征。从经济和生态的角度来看,它有利于用户之间共享硬件资源。因为移动操作系统对资源的要求低,因此,使用移动操作系统比桌面的操作系统更有效。然而,据我们所知,仍然没有服务器采用Android作为多租户的系统。我们讨论多租户架构的Android系统和如何构造它。 集成移动设备和云 有研究者已经提出了移动设备与云计算之间的整合。Satyanarayanan等人提出他们的愿景,是移动用户能够无缝的使用附近的电脑获得通过实例,迅速合成附近的基础设施,通过无线局域网访问虚拟机的一个“cloudlet”云计算资源。Canepa等人提出了一个名为“特设云服务供应商”的一个框架。在这个框架内,移动设备可以通过他们周围的资源去执行工作,就像在一个云服务器一样。 我们的做法与Chun和Maniatis密切相关。他们提出了克隆虚拟机来运行移动程序,就好像他们是在移动设备上运行一样。他们意识到五个加快程序运行的类别,即初级,底色,主线,硬件和多重执行,并且找到了发现英寸的方法。我们的Android的多租户架构可以被看做是对多重的具体研究。 多租户Royon等人提出了多用户,多环境的名为“虚拟服务网关”的执行环境。他们通过修改Java运行时间来归入现有的多应用环境的方法并提出了一个覆盖的方式来运行与原来几乎一样的应用程序。修改方法的性能和隔离的优势,覆盖方法有一个标准的Java虚拟机的优点。Bezemer在讨论多租户的方向。他们认识到多租户平台的五大功能,即执行,可扩展性,安全性,零停止时间和维修,以防止重复的维修。我们将根据其中的一些特性讨论和评估拟议的构架。除了移动应用平台建设,我们先前已经提出了一个名为“基于IP的虚拟智能手机”概念原型实施的举证。实施概述如图2所示。 这个原型,Android-X86采用运行在虚拟机上的移动服务器操作系统。客户端程序从物理设备上传输各种事件,不仅只有键盘,还有触摸屏和各种传感器,像GPRS,加速度计,温度计,移动服务器操作系统和和图形屏幕的更新靠接收虚拟网络计算(VNC)。这些程序能够像在物理的智能手机上一样使用服务器端的虚拟移动操作系统,比如,应用程序。本节介绍构建Android的多租户架构过程的相关工作。Android系统的信息是借鉴谷歌的“应用程序开发”的文件。我们将讨论多租户架构的的三种类型的方法,hypervisor层,内核层,框架层。如图3所示的使用通过IP系统的知识产权的hypervisor层方法已经在第三节开始了。每个用户拥有她/他在服务器上的Android OS映像和自由运行在一个虚拟机多租户是由她/他在虚拟机上申请实现的。这种方法的优势是应用程序的可用性和维护。从应用程序的可用性角度来看,每一个在Android上运行的程序是可用的,因为每个Android操作系统只能运行一个应用程序。他维护的重点是有关操作系统的升级。Android有不同的版本,而且版本还在升级。第三个方法是在内层实现多租户功能。如图3所示。这种方法改变Android,使之在独立的进程里运行多个用户的应用程序。这种做法类似于在一个普通的客户机服务器上运行多个用户应用。主要的挑战是原始的Android只支持一个显示器和键盘的设备,因为Android是主要设计是在智能机上。另一种方法是在框架层上创建多租户功能,类似于现有的基于Java的多租户架构。如图3,这种方式重塑Android的框架和API来支持多用户应用程序,主要的挑战是如何修改框架来运行现有的Android应用程序。3.相关工作表1所示是定量的评价这三种类型架构。正如我们看到的,pypervisor层的方法是可行的并能很好的维护自己的资源,但它难以控制未使用的资源。另外两种方法在可扩展性上有优势,但在维修中处于不利的地位,因为它们改变了Android操作系统。从运行现有的应用程序的角度来看,核心层的方法更好,因为它的剂量不会改变Android运行时的环境。此外,我们假设,内核层的方法是很容易发展的,因为Android是基于Linux内核,这样就可以支持多台显示器,键盘和应用实施。4. 相关技术API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。其中分成:Windows APIAPI函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。更易理解来说:Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。inux API在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准-POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的UNIX实践和经验,描述了操作系统的系统调用编程接口API,用于保证应用程序可以在源程序一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C+、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON 结构有两种结构 json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。1、 对象:对象在js中表示为“”括起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。2、 数组:数组在js中是中括号“”括起来的内容,数据结构为 java,javascript,vb,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比名称 / 值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。MY SQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。与其他的大型数据例如 Oracle、DB2、SQL Ser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论