首页> 中国专利> 一种移动云计算应用程序开发方法

一种移动云计算应用程序开发方法

摘要

一种移动云计算应用程序开发方法,在开发移动云计算应用程序时,只使用移动平台和云端共有的编程接口来编写需要迁移到云端以利用云计算技术的代码;如果需要迁移到云端以利用云计算技术的代码使用了移动平台独有的编程接口,则云端的编译器在编译代码时给出错误提示;反之,如果使用了云端独有的编程接口,则移动平台的编译器在编译代码时给出错误提示。通过本发明所提供的方法,移动云计算应用程序的开发和运行不再需要修改操作系统,而且能够支持不同移动平台的移动云计算应用程序的开发。使用本发明所提供的方法开发出来的移动云计算应用程序能够利用云计算技术提升运行速度并降低电量消耗。

著录项

  • 公开/公告号CN103473072A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 北京大学;

    申请/专利号CN201310439039.9

  • 发明设计人 郭耀;袁鹏飞;陈向群;

    申请日2013-09-24

  • 分类号

  • 代理机构北京万象新悦知识产权代理事务所(普通合伙);

  • 代理人朱红涛

  • 地址 100871 北京市海淀区颐和园路5号

  • 入库时间 2024-02-19 22:05:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-25

    授权

    授权

  • 2014-01-22

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130924

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明提供一种移动云计算应用程序的开发方法,具体涉及一种开发适用于移动设备并 能使用云计算技术的应用程序的方法,属于移动计算、云计算和软件工程领域。

背景技术

Eduardo Cuervo等人提出的MAUI系统利用Windows Mobile平台的托管代码执行环境, 提供了细粒度的代码迁移解决方案,以支持移动云计算应用程序。MAUI系统存在的问题是 依赖于Windows Mobile平台的托管代码执行环境,只支持基于Windows Mobile平台的应用 程序。

Byung-Gon Chun等人提出的CloneCloud系统能将移动设备的完整运行状态克隆到运行 在云端的虚拟机中,同时动态地迁移移动设备上的应用程序到云端执行,使应用程序能够利 用云计算技术。CloneCloud系统存在的问题是需要深度修改、定制Android操作系统,只支 持基于Android平台的应用程序。

Mark S.Gordon等人提出的COMET系统在Android操作系统的Dalvik虚拟机上实现了 分布式共享内存技术,允许运行中的应用程序的线程在移动设备和云端之间自由迁移,从而 支持移动云计算应用程序。COMET系统存在的问题同样是需要深度修改、定制Android操作 系统,只支持基于Android平台的应用程序。

发明内容

本文中,移动云计算应用程序,指的是适用于移动设备并能使用云计算技术的应用程序。 移动平台,指的是运行在移动设备上的操作系统、中间件等支撑应用程序运行的平台。

本发明的目的是提供一种通用的移动云计算应用程序开发方法,用以解决移动云计算应 用程序在开发和运行时需要修改操作系统及只支持某个特定的移动平台的问题。

本发明提供的技术方案如下:

一种移动云计算应用程序开发方法,其特征是,在开发移动云计算应用程序时,只使用 移动平台和云端共有的编程接口来编写需要迁移到云端以利用云计算技术的代码,这样代码 就能同时部署到移动设备和云端,从而在无需修改操作系统和不依赖特定移动平台的前提下 实现对应用程序的云计算支持;如果需要迁移到云端以利用云计算技术的代码使用了移动平 台独有的编程接口,则云端的编译器在编译代码时给出错误提示,反之,如果使用了云端独 有的编程接口,则移动平台的编译器在编译代码时给出错误提示;根据提示,对发生错误的 代码进行重构,使之使用移动平台和云端共有的编程接口来实现功能。

所述的移动云计算应用程序开发方法,其特征是,开发全新的移动云计算应用程序时, 执行如下步骤:

A1.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代 码名称,使用代码生成工具生成移动平台和云端的代码框架;

A2.基于步骤A1中生成的代码框架开发移动云计算应用程序和云端与其对应的云计算 服务提供程序,需要迁移到云端以利用云计算技术的代码在两个程序的开发过程中保持同步;

A3.编译生成步骤A2中开发的两个程序,将移动云计算应用程序部署到移动设备上, 将云计算服务提供程序部署到云端。

所述的移动云计算应用程序开发方法,其特征是,将现有的移动平台应用程序重构成移 动云计算应用程序时,执行如下步骤:

B1.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代 码名称,使用代码分析工具对现有的移动平台应用程序的代码进行分析;

B2.根据步骤B1中代码分析工具的提示,修改现有的移动平台应用程序的代码,确保需 要迁移到云端以利用云计算技术的代码只使用移动平台和云端共有的编程接口;

B3.指定与步骤B1中相同的移动平台和对应的云端运行环境,以及需要迁移到云端以利 用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架;

B4.将移动平台的代码框架添加到步骤B2中修改后的移动平台应用程序的代码中,重构 为移动云计算应用程序,将需要迁移到云端以利用云计算技术的代码添加到云端的代码框架 中,重构为云计算服务提供程序;

B5.编译生成步骤B4中重构后的两个程序,将移动云计算应用程序部署到移动设备上, 将云计算服务提供程序部署到云端。

所述的移动云计算应用程序开发方法,其特征是,所述代码实现计算密集型的功能,代 码名称包括包名、类名、方法名等。

通过本发明所提供的方法,移动云计算应用程序的开发和运行不再需要修改操作系统, 而且能够支持不同移动平台的移动云计算应用程序的开发。使用本发明所提供的方法开发出 来的移动云计算应用程序能够利用云计算技术提升运行速度并降低电量消耗。

附图说明

图1是开发全新的移动云计算应用程序的方法流程图。

图2是将现有的移动平台应用程序重构成移动云计算应用程序的方法流程图。

具体实施方式

本发明的具体实施方式如下:

A.开发全新的移动云计算应用程序,具体实施方式为(流程参图1):

A1.选定移动平台和对应的云端运行环境,例如:iOS和Cocoa,Android和Java运行时 环境,WindowsPhone和.NET框架等。指定需要迁移到云端以利用云计算技术的代码名称(例 如包名、类名、方法名等),这类代码通常是计算密集型的,以充分利用云计算技术进行加速。 使用代码生成工具生成移动平台和云端的代码框架,其中代码生成工具的功能是根据指定的 配置由相应的模版生成代码框架,代码框架中包含支持移动云计算应用程序和云计算服务提 供程序运行的相关代码;

A2.基于步骤A1中生成的代码框架开发移动云计算应用程序和云端与其对应的云计算 服务提供程序,需要迁移到云端以利用云计算技术的代码在两个程序的开发过程中保持同步。 开发过程中代码同步的方式可以利用操作系统提供的文件链接机制。需要迁移到云端以利用 云计算技术的代码在编写的过程中只能使用移动平台和云端共有的编程接口;

A3.编译生成步骤A2中开发的两个程序。如果需要迁移到云端以利用云计算技术的代 码在编写的过程中使用了非移动平台和云端共有的编程接口,则编译过程会报错,可以采用 类似步骤B1和B2中实施的方法来消除错误。编译生成成功后将移动云计算应用程序部署到 移动设备上,将云计算服务提供程序部署到云端。

B.将现有的移动平台应用程序重构成移动云计算应用程序,具体实施方式如下(流程参见图 2):

B1.选定移动平台和对应的云端运行环境,例如:iOS和Cocoa,Android和Java运行时 环境,WindowsPhone和.NET框架等。指定需要迁移到云端以利用云计算技术的代码名称, 这类代码通常是计算密集型的,以充分利用云计算技术进行加速。使用代码分析工具对现有 的移动平台应用程序的代码进行分析。其中,代码分析工具可以基于语法分析器自动生成工 具实现,例如:Yacc,Bison,ANTLR等。代码分析工具的功能是对程序的代码进行静态分 析,并提供分析结果,指出需要迁移到云端以利用云计算技术的代码在何处使用了非移动平 台和云端共有的编程接口;

B2.根据步骤B1中的分析结果,修改现有的移动平台应用程序的代码,修改的方式通常 是将具体计算和对移动设备状态的操作之间的耦合解除。修改之后确保需要迁移到云端以利 用云计算技术的代码只使用移动平台和云端共有的编程接口;

B3.指定与步骤B1中相同的移动平台和对应的云端运行环境,以及需要迁移到云端以利 用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架,代码框架中 包含对移动云计算应用程序和云计算服务提供程序的运行提供支持的相关代码;

B4.将移动平台的代码框架添加到步骤B2中修改后的移动平台应用程序的代码里,重构 为移动云计算应用程序,将需要迁移到云端以利用云计算技术的代码添加到步骤B3中生成 的云端的代码框架里,重构为云计算服务提供程序;

B5.编译生成步骤B4中重构后的两个程序,将移动云计算应用程序部署到移动设备上, 将云计算服务提供程序部署到云端。

实施例1:

现有一个Android平台的五子棋游戏应用程序fivestones,要将其重构成移动云计算应用 程序,具体实施方式如下(流程参见图2):

1.选定移动平台为Android,对应的云端运行环境为Java运行时环境。指定需要迁移到 云端以利用云计算技术的代码名称为“gomoku.Model”,这是fivestones中用于计算电脑下棋 步骤的类的名字,这个类的代码是计算密集型的,适合利用云计算技术进行加速。使用代码 分析工具对fivestones的代码进行分析,执行的命令为“analyze.exe-platform Android-project  fivestones-name gomoku.Model”,得到的分析结果为“line39:android.os.AsyncTask”;

2.根据步骤1中的分析结果可知,需要迁移到云端以利用云计算技术的代码在第39行 使用了非Android平台和Java运行时环境共有的编程接口“android.os.AsyncTask”。下棋步骤 的计算与对移动设备状态的操作(通过编程接口“android.os.AsyncTask”实现)之间存在耦 合,具体的解耦合方式是将调用编程接口“android.os.AsyncTask”的相关代码从类 “gomoku.Model”中分离出来,分离后的代码之间的联系通过回调的方式实现;

3.与步骤1中相同,指定移动平台为Android,对应的云端运行环境为Java运行时环境, 需要迁移到云端以利用云计算技术的代码名称为“gomoku.Model”。使用代码生成工具生成移 动平台和云端的代码框架,执行的命令为“generate.exe-platform Android-project fivestones -name gomoku.Model”。

生成的移动平台代码框架包括:

Client.java                    移动设备端的运行支持代码

Execution.java                 需要迁移到云端以利用云计算技术的代码接口

ExecutionDelegate.java         实现解耦合的回调代码接口

生成的云端代码框架包括:

Execution.java                需要迁移到云端以利用云计算技术的代码接口

Server.java                   云端的运行支持代码

4.将步骤3中生成的移动平台的代码框架添加到步骤2中修改后的fivestones代码里, 重构为移动云计算应用程序。将需要迁移到云端以利用云计算技术的代码(即类 “gomoku.Model”)添加到步骤3中生成的云端的代码框架里,重构为云计算服务提供程序;

5.编译生成步骤4中重构后的两个程序,将移动云计算应用程序部署到Android平台的 移动设备上,将云计算服务提供程序部署到安装有Java运行时环境的云端。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号