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

文档序号:6512949阅读:275来源:国知局
一种移动云计算应用程序开发方法
【专利摘要】一种移动云计算应用程序开发方法,在开发移动云计算应用程序时,只使用移动平台和云端共有的编程接口来编写需要迁移到云端以利用云计算技术的代码;如果需要迁移到云端以利用云计算技术的代码使用了移动平台独有的编程接口,则云端的编译器在编译代码时给出错误提示;反之,如果使用了云端独有的编程接口,则移动平台的编译器在编译代码时给出错误提示。通过本发明所提供的方法,移动云计算应用程序的开发和运行不再需要修改操作系统,而且能够支持不同移动平台的移动云计算应用程序的开发。使用本发明所提供的方法开发出来的移动云计算应用程序能够利用云计算技术提升运行速度并降低电量消耗。
【专利说明】一种移动云计算应用程序开发方法
【技术领域】
[0001]本发明提供一种移动云计算应用程序的开发方法,具体涉及一种开发适用于移动设备并能使用云计算技术的应用程序的方法,属于移动计算、云计算和软件工程领域。
【背景技术】
[0002]Eduardo Cuervo等人提出的MAUI系统利用Windows Mobile平台的托管代码执行环境,提供了细粒度的代码迁移解决方案,以支持移动云计算应用程序。MAUI系统存在的问题是依赖于Windows Mobile平台的托管代码执行环境,只支持基于Windows Mobile平台的应用程序。
[0003]Byung-Gon Chun等人提出的CloneCloud系统能将移动设备的完整运行状态克隆到运行在云端的虚拟机中,同时动态地迁移移动设备上的应用程序到云端执行,使应用程序能够利用云计算技术。CloneCloud系统存在的问题是需要深度修改、定制Android操作系统,只支持基于Android平台的应用程序。
[0004]Mark S.Gordon等人提出的COMET系统在Android操作系统的Dalvik虚拟机上实现了分布式共享内存技术,允许运行中的应用程序的线程在移动设备和云端之间自由迁移,从而支持移动云计算应用程序。COMET系统存在的问题同样是需要深度修改、定制Android操作系统,只支持基于Android平台的应用程序。

【发明内容】

[0005]本文中,移动云计算应用程序,指的是适用于移动设备并能使用云计算技术的应用程序。移动平台,指的是运行在移动设备上的操作系统、中间件等支撑应用程序运行的平台。
[0006]本发明的目的是提供一种通用的移动云计算应用程序开发方法,用以解决移动云计算应用程序在开发和运行时需要修改操作系统及只支持某个特定的移动平台的问题。
[0007]本发明提供的技术方案如下:
[0008]一种移动云计算应用程序开发方法,其特征是,在开发移动云计算应用程序时,只使用移动平台和云端共有的编程接口来编写需要迁移到云端以利用云计算技术的代码,这样代码就能同时部署到移动设备和云端,从而在无需修改操作系统和不依赖特定移动平台的前提下实现对应用程序的云计算支持;如果需要迁移到云端以利用云计算技术的代码使用了移动平台独有的编程接口,则云端的编译器在编译代码时给出错误提示,反之,如果使用了云端独有的编程接口,则移动平台的编译器在编译代码时给出错误提示;根据提示,对发生错误的代码进行重构,使之使用移动平台和云端共有的编程接口来实现功能。
[0009]所述的移动云计算应用程序开发方法,其特征是,开发全新的移动云计算应用程序时,执行如下步骤:
[0010]Al.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架;[0011]A2.基于步骤Al中生成的代码框架开发移动云计算应用程序和云端与其对应的云计算服务提供程序,需要迁移到云端以利用云计算技术的代码在两个程序的开发过程中保持同步;
[0012]A3.编译生成步骤A2中开发的两个程序,将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
[0013]所述的移动云计算应用程序开发方法,其特征是,将现有的移动平台应用程序重构成移动云计算应用程序时,执行如下步骤:
[0014]B1.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代码名称,使用代码分析工具对现有的移动平台应用程序的代码进行分析;
[0015]B2.根据步骤BI中代码分析工具的提示,修改现有的移动平台应用程序的代码,确保需要迁移到云端以利用云计算技术的代码只使用移动平台和云端共有的编程接口;
[0016]B3.指定与步骤BI中相同的移动平台和对应的云端运行环境,以及需要迁移到云端以利用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架;
[0017]B4.将移动平台的代码框架添加到步骤B2中修改后的移动平台应用程序的代码中,重构为移动云计算应用程序,将需要迁移到云端以利用云计算技术的代码添加到云端的代码框架中,重构为云计算服务提供程序;
[0018]B5.编译生成步骤B4中重构后的两个程序,将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
[0019]所述的移动云计算应用程序开发方法,其特征是,所述代码实现计算密集型的功能,代码名称包括包名、类名、方法名等。
[0020]通过本发明所提供的方法,移动云计算应用程序的开发和运行不再需要修改操作系统,而且能够支持不同移动平台的移动云计算应用程序的开发。使用本发明所提供的方法开发出来的移动云计算应用程序能够利用云计算技术提升运行速度并降低电量消耗。
【专利附图】

【附图说明】
[0021]图1是开发全新的移动云计算应用程序的方法流程图。
[0022]图2是将现有的移动平台应用程序重构成移动云计算应用程序的方法流程图。
【具体实施方式】
[0023]本发明的【具体实施方式】如下:
[0024]A.开发全新的移动云计算应用程序,【具体实施方式】为(流程参图1):
[0025]Al.选定移动平台和对应的云端运行环境,例如:iOS和Cocoa, Android和Java运行时环境,WindowsPhone和.NET框架等。指定需要迁移到云端以利用云计算技术的代码名称(例如包名、类名、方法名等),这类代码通常是计算密集型的,以充分利用云计算技术进行加速。使用代码生成工具生成移动平台和云端的代码框架,其中代码生成工具的功能是根据指定的配置由相应的模版生成代码框架,代码框架中包含支持移动云计算应用程序和云计算服务提供程序运行的相关代码;
[0026]A2.基于步骤Al中生成的代码框架开发移动云计算应用程序和云端与其对应的云计算服务提供程序,需要迁移到云端以利用云计算技术的代码在两个程序的开发过程中保持同步。开发过程中代码同步的方式可以利用操作系统提供的文件链接机制。需要迁移到云端以利用云计算技术的代码在编写的过程中只能使用移动平台和云端共有的编程接Π ;
[0027]A3.编译生成步骤A2中开发的两个程序。如果需要迁移到云端以利用云计算技术的代码在编写的过程中使用了非移动平台和云端共有的编程接口,则编译过程会报错,可以采用类似步骤BI和B2中实施的方法来消除错误。编译生成成功后将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
[0028]B.将现有的移动平台应用程序重构成移动云计算应用程序,【具体实施方式】如下(流程参见图2):
[0029]B1.选定移动平台和对应的云端运行环境,例如:iOS和Cocoa, Android和Java运行时环境,WindowsPhone和.NET框架等。指定需要迁移到云端以利用云计算技术的代码名称,这类代码通常是计算密集型的,以充分利用云计算技术进行加速。使用代码分析工具对现有的移动平台应用程序的代码进行分析。其中,代码分析工具可以基于语法分析器自动生成工具实现,例如:Yacc,Bison, ANTLR等。代码分析工具的功能是对程序的代码进行静态分析,并提供分析结果,指出需要迁移到云端以利用云计算技术的代码在何处使用了非移动平台和云端共有的编程接口;
[0030]B2.根据步骤BI中的分析结果,修改现有的移动平台应用程序的代码,修改的方式通常是将具体计算和对移动设备状态的操作之间的耦合解除。修改之后确保需要迁移到云端以利用云计算技术的代码只使用移动平台和云端共有的编程接口;
[0031]B3.指定与步骤BI中相同的移动平台和对应的云端运行环境,以及需要迁移到云端以利用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架,代码框架中包含对移动云计算应用程序和云计算服务提供程序的运行提供支持的相关代码;
[0032]B4.将移动平台的代码框架添加到步骤B2中修改后的移动平台应用程序的代码里,重构为移动云计算应用程序,将需要迁移到云端以利用云计算技术的代码添加到步骤B3中生成的云端的代码框架里,重构为云计算服务提供程序;
[0033]B5.编译生成步骤B4中重构后的两个程序,将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
[0034]实施例1:
[0035]现有一个Android平台的五子棋游戏应用程序f ivestones,要将其重构成移动云计算应用程序,【具体实施方式】如下(流程参见图2):
[0036]1.选定移动平台为Android,对应的云端运行环境为Java运行时环境。指定需要迁移到云端以利用云计算技术的代码名称为“gomoku.Model”,这是fivestones中用于计算电脑下棋步骤的类的名字,这个类的代码是计算密集型的,适合利用云计算技术进行加速。使用代码分析工具对fivestones的代码进行分析,执行的命令为“analyze,exe-platform Android-project fivestones-name gomoku.Model,,,得至Ij 的分析结果为“Iine39: android, os.AsyncTask^ ;
[0037]2.根据步骤I中的分析结果可知,需要迁移到云端以利用云计算技术的代码在第39行使用了非Android平台和Java运行时环境共有的编程接口 “android.OS.AsyncTask”。下棋步骤的计算与对移动设备状态的操作(通过编程接口 “android,os.AsyncTask”实现)之间存在稱合,具体的解稱合方式是将调用编程接口 “android,os.AsyncTask”的相关代码从类“gomoku.Model”中分离出来,分离后的代码之间的联系通过回调的方式实现;
[0038]3.与步骤I中相同,指定移动平台为Android,对应的云端运行环境为Java运行时环境,需要迁移到云端以利用云计算技术的代码名称为“gomoku.Model”。使用代码生成工具生成移动平台和云端的代码框架,执行的命令为“generate, exe-platformAndroid-project fivestones-name gomoku.Model,,。
[0039]生成的移动平台代码框架包括:
[0040]Client.Java移动设备端的运行支持代码
[0041]Execution, java需要迁移到云端以利用云计算技术的代码接口
[0042]ExecutionDelegate.java实现解稱合的回调代码接口
[0043]生成的云端代码框架包括:
[0044]Execution, java需要迁移到云端以利用云计算技术的代码接口
[0045]Server, java云端的运行支持代码
[0046]4.将步骤3中生成的移动平台的代码框架添加到步骤2中修改后的fivestones代码里,重构为移动云计算应用程序。将需要迁移到云端以利用云计算技术的代码(即类“gomoku.Model”)添加到步骤3中生成的云端的代码框架里,重构为云计算服务提供程序;
[0047]5.编译生成步骤4中重构`后的两个程序,将移动云计算应用程序部署到Android平台的移动设备上,将云计算服务提供程序部署到安装有Java运行时环境的云端。
【权利要求】
1.一种移动云计算应用程序开发方法,其特征是, 在开发移动云计算应用程序时,只使用移动平台和云端共有的编程接口来编写需要迁移到云端以利用云计算技术的代码,这样代码就能同时部署到移动设备和云端,从而在无需修改操作系统和不依赖特定移动平台的前提下实现对应用程序的云计算支持; 如果需要迁移到云端以利用云计算技术的代码使用了移动平台独有的编程接口,则云端的编译器在编译代码时给出错误提示,反之,如果使用了云端独有的编程接口,则移动平台的编译器在编译代码时给出错误提示;根据提示,对发生错误的代码进行重构,使之使用移动平台和云端共有的编程接口来实现功能。
2.如权利要求1所述的移动云计算应用程序开发方法,其特征是,开发全新的移动云计算应用程序时,执行如下步骤: Al.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架; A2.基于步骤Al中生成的代码框架开发移动云计算应用程序和云端与其对应的云计算服务提供程序,需要迁移到云端以利用云计算技术的代码在两个程序的开发过程中保持同步; A3.编译生成步骤A2中开发的两个程序,将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
3.如权利要求1所述的移动云计算应用程序开发方法,其特征是,将现有的移动平台应用程序重构成移动云计算应用程序时,执行如下步骤: B1.选定移动平台和对应的云端运行环境,指定需要迁移到云端以利用云计算技术的代码名称,使用代码分析工具对现有的移动平台应用程序的代码进行分析; B2.根据步骤BI中代码分析工具的提示,修改现有的移动平台应用程序的代码,确保需要迁移到云端以利用云计算技术的代码只使用移动平台和云端共有的编程接口; B3.指定与步骤BI中相同的移动平台和对应的云端运行环境,以及需要迁移到云端以利用云计算技术的代码名称,使用代码生成工具生成移动平台和云端的代码框架; B4.将移动平台的代码框架添加到步骤B2中修改后的移动平台应用程序的代码中,重构为移动云计算应用程序,将需要迁移到云端以利用云计算技术的代码添加到云端的代码框架中,重构为云计算服务提供程序; B5.编译生成步骤B4中重构后的两个程序,将移动云计算应用程序部署到移动设备上,将云计算服务提供程序部署到云端。
4.如权利要求1所述的移动云计算应用程序开发方法,其特征是,所述代码实现计算密集型的功能,代码名称包括包名、类名、方法名。
【文档编号】G06F9/44GK103473072SQ201310439039
【公开日】2013年12月25日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】郭耀, 袁鹏飞, 陈向群 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1