基于云平台的移动节点执行任务的方法

文档序号:7806086阅读:155来源:国知局
基于云平台的移动节点执行任务的方法
【专利摘要】本发明提供一种基于云平台的移动节点执行任务的方法,所述云平台包括:应用网关、应用程序服务器、结果回收服务器、任务代理服务器和资源代理服务器;所述移动节点为移动终端,包括3G/4G手机和具有3G/4G模块的平板电脑;所述方法包括:应用移植;获取任务;任务解析;下载可执行应用程序;执行任务;返回结果。通过本发明提供的方法,使得所有可在普通计算机上运行的程序,都可以不用重新编码直接移植到移动终端上运行;本方法对执行所有云平台的任务都使用统一的方法,不关心具体的应用,同时以流水线的方式执行各种任务;本方法将移动终端加入云平台,作为固网节点的一个补充,在数量上、能耗、扩展性和灵活性方面都使云平台有了进一步的提升。
【专利说明】基于云平台的移动节点执行任务的方法
【技术领域】
[0001]本发明涉及一种“云计算”与分布式计算技术,具体涉及一种基于云平台的移动节点执行任务的方法。
【背景技术】
[0002]作为低成本、动态可扩展的网络应用基础设施的“云计算”,是近年来最有代表性的网络计算技术与模式。一般情况下,“云计算”分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行与互联网更相似。这使得企业能够将资源切换到需要的应用上,再根据需求访问计算机和存储系统。各种“云计算”的应用服务范围正日渐扩大,影响力无可估量。
[0003]目前“云计算”的计算节点主要以计算机和服务器为主,然而随着3G(第三代移动通信技术)移动通信的普及以及4G(第四代移动通信技术)通信的到来,给整个移动通信领导带来翻天覆地的变化。其一是移动通信网络越来越快,4G移动通信技术理论速率可达到IOOMbps甚至1000Mbps,远远超出了普通专线和家用宽带的速率;其二是移动通信终端计算速度越来越快,经过测试目前主流移动终端的计算速度与普通双核心,2GB内存的PC机性能相差无几;其三是功能越来越全面,目前的智能移动通信终端硬件方面除了像普通计算机一样有中央处理器(CPU)、内存、存储介质、WIFI和显示器等等外,同时他们还具有各种各样的传感器,包括温度传感器、重力感应、距离传感器、电子罗盘、光线传感器、三轴陀螺仪、红外线传感器和GPS等等;软件方面可以通过常用的编译语言开发出数以万计的应用程序在移动终端上面运行,更值得一提的是很多在普通计算机上运行的应用软件,在不用重新编码的情况下,可以直接运行在移动终端上,移动终端的功能如此全面,已经大大超过了普通计算机。除了上面的三个方面的趋势外,在下面的三个方面的优势使移动终端已经全面超过了普通计算机。一方面:移动终端的数量远远超过普通计算机,经过互联网统计数据,到2013年全球移动终端的年销售数量达到了 16亿部左右,而且每年还以4%左右的比例增长;然而2013年全球计算机的年销售量不足14亿台,而且计算机的年销售量正逐年下降,2013年下降达10%。一方面:移动终端的功耗远远低于普通计算机,普通3G手机的功耗为2至4瓦;普通平板电脑的功耗为6至15瓦;普通主机加显示器的功耗在150瓦左右;普通服务器功耗在200瓦以上。另一方面移动终端的扩展性和灵活性远远超过普通计算机,理论上只要3G、4G通信信号存在的地方都可以部署移动终端,无论在天空、地下还是山顶等等,例如我们甚至可以通过云平台向在珠穆朗玛峰顶的动终端发送任务,让移动终端通过他的各种传感器把此点的温度、气压等等信息传递回来,对于这些普通计算机是不可能实现的,因为他们要受到机房、电力等等条件的限制,同时移动终端上还可以开发出许多具有移动属性的应用(如:移动网络测速、位置服务等等)。
[0004]目前的移动终端(手机和平板电脑)大部分只用来接打电话和上网浏览网页,而且80%以上的时间都在空闲,经过上面三个趋势和三个优势我们发现,需要一种将各种移动终端加入到云平台中,并执行一些简单或者具有移动属性的应用的方法。
【发明内容】

[0005]为了克服上述现有技术的不足,本发明提供一种基于云平台的移动节点执行任务的方法。
[0006]为了实现上述发明目的,本发明采取如下技术方案:
[0007]—种基于云平台的移动节点执行任务的方法,所述云平台包括:应用网关、应用程序服务器、结果回收服务器、任务代理服务器和资源代理服务器;所述移动节点为终端;其特征在于,所述方法包括:(I)应用移植;(2)获取任务;(3)任务解析;(4)下载可执行应用程序;(5)执行任务;和(6)返回结果。
[0008]优选地,所述应用移植包括:编译器将应用程序源代码编译成移动终端的可执行文件,并将该可执行文件发布到应用程序服务器。
[0009]优选地,所述获取任务包括:(2-1)终端向任务代理服务器发送任务获取请求;(2-2)代理服务端接收任务请求,根据终端的唯一标识参数和请求应用的类型参数,判断终端软件及硬件的基本信息,并根据请求的应用类型,将任务文件返回至终端。
[0010]优选地,所述任务解析包括:终端从任务文件中获取任务信息;所述任务信息包括:任务的ID、应用服务器的地址、用户名、密码、路径、应用程序的名称及其md5值;任务参数、可执行脚本的名称及其md5值;结果返回的地址、任务文件的完整性和安全性参数;和对终端资源的需求信息。
[0011]优选地,所述下载可执行应用程序包括:判断本地信息库中是否存在与要执行程序的名称、版本以及md5值相同的程序;若不存在,根据任务文件中描述的可执行程序的信息,把可执行应用程序下载到本地,供任务执行使用;若存在则执行下一步。
[0012]优选地,所述执行任务包括:根据可执行脚本与任务参数,调用可执行应用程序实现所述执行。
[0013]优选地,所述返回结果包括:将所述执行任务中调用可执行应用程序生成的结果返回;返回的路径为任务文件中包含的结果返回的地址;返回的方式包括:ftp、http、socket ο
[0014]优选地,步骤(2-1)中,终端通过Socket或者WebService的方式发送所述任务获取请求。
[0015]优选地,所述方法包括:向云平台的资源代理服务器进行注册;注册成功后,通过用户名和密码登陆到云平台;终端周期性地把自身信息报告给资源代理服务器;所述自身信息包括:终端的软件、硬件资源信息以及任务的执行情况。
[0016]与现有技术相比,本发明的有益效果在于:
[0017]1.所有可在普通计算机上运行的程序,都可以不用重新编码直接移植到移动终端上运行,节省大量操作。
[0018]2.本方法对执行所有云平台的任务(应用)都使用统一的方法,不关心具体的应用,同时以流水线的方式执行各种任务;
[0019]3.本发明基于覆盖全国各省的云平台、普通用户的各种移动终端(包括:3G、4G手机和3G版平板电脑),将移动终端加入云平台,作为固网节点的一个补充,在数量上、能耗、扩展性和灵活性方面都使云平台有了进一步的提升。【专利附图】

【附图说明】
[0020]图1是本发明的整体结构图;
[0021]图2是本发明的任务执行流程图。
【具体实施方式】
[0022]下面结合附图对本发明作进一步详细说明。
[0023]一、参见图1,移动终端执行应用过程一般涉及到以下7个元素:
[0024]I)用户:负责通过应用网关把新应用注册到云平台上,并且把可执行应用程序代码上传到应用程序服务器中,另外用户还负责任务(作业)的下发,以及结果的管理等工作。
[0025]2)应用网关:负责新应用在云平台的注册、应用、任务的管理,以及对用户下发的任务进行分解,目的是将一个大任务分解成多个可以移动终端上进行执行的小任务。
[0026]3)应用程序服务器:要用来管理各个应用程序的服务器,他一方面可以接收应用网关注册各个新应用,一方面向各个移动终端发送可执行应用程序。
[0027]4)结果回收服务器:负责管理各个应用执行后所生成的结果。
[0028]5)任务代理服务器:任务代理一方面从应用网关接收任务,一方面从资源代理服务器获取所有移动资源的信息,然后再根据移动终端的任务请求,把满足条件的任务文件下发给移动终端。
[0029]6)资源代理服务器:负责对各个移动终端的资源使用情况进行管理,包括移动终端的CPU、内存、存储空间、网络以、操作系统以及各种软件信息。
[0030]7)移动终端:本发明运行在云平台上,移动终端为覆盖全国所有省市各运营商的3g/4g移动终端(手机或者平板电脑),是负责执行各种具体应用的实体。
[0031]二、本发明使用的移动终端主要包括应用移植、任务获取、任务解析、可执行程序下载、执行任务和结果返回六个部分。
[0032]下面以Android平台的移动终端为例,来介绍本发明的六个主要部分。
[0033]应用移植部分:采用的方法是将在Windows或者Linux平台上运行的各种应用程序源代码,通过DX(AndroidSDK)编译器进行重新编译,DX工具把java源文件编译成一个带有.dex后缀(Dalvik虚拟机可执行格式)的可执行应用文件。然后把此可执行应用文件(各种应用代码)发布到应用程序服务器,供移动终端上的客户端软件下载并为相关应用提供可执行环境。
[0034]任务获取:采用的方法是通过Socket或者WebService的方式,向云平台的任务代理服务器发送任务获取请求。任务代理服务端收到任务请求后,根据移动终端的唯一标识和请求应用的类型,来判断移动终端软件及硬件的基本信息,然后再根据请求的应用类型,将任务文件返回给移动终端。
[0035]任务解析:当移动终端从云平台的服务端获取到任务文件后,要对任务文件进行解析,以便为后面的任务执行做准备。解析的主要任务是从任务文件中获取要执行的应用程序名称(上面DX工具编译过的应用程序)及其md5值、任务的ID、应用服务器的地址、用户名、密码、路径、任务参数(每种经过DX编译器编译后生成的可执行应用程序,执行时都需要不同类型的参数。例如:网络测速类应用的参数可能是一些URL、图片分析类的参数可能是几幅图片而密码破译类的任务,他的可执行参数可能是一段密文等等)、可执行脚本的名称及其md5值、结果返回的地址、任务文件的完整性和安全性参数、以及对移动终端资源的需求等。
[0036]可执行程序下载模块:为了节省网络资源和程序执行的效率,模块首先在本地信息库中是否已经存在与要执行程序的名称、版本以及md5值相同的程序,如果存在跳过此步,如果不存在,根据任务文件中描述的可执行程序的信息,把应用程序下载到本地,供执行模块使用。
[0037]任务执行:由可执行脚本、任务参数和可执行应用程序(经过DX编译工具生成的各种应用代码)三部分组成。执行方法是可执行脚本与任务参数一起,调用可执行程序(各种应用代码)完成。
[0038]结果返回模块:将任务执行模块生成的结果,根据任务文件的描述信息返回至指定路径;任务返回主要包括两部分信息,分别是:返回的方式和返回的路径。返回的方式描述了结果返回是所使用的协议和端口号,如:通过ftp (21)、http(80) >socket (5000)等;返回的路径描述了结果返回给文件系统的一个路径,如:/home/ivce/picture/或/ftp/pub/ivce/password/。
[0039]三、参见图2,本发明提供的移动终端执行云平台任务的方法具体包括以下步骤:
[0040]步骤I当移动终端安装好云平台的客户端后,首次需要向云平台的资源代理服务器进行注册,注册成功后,可以通过用户名和密码登陆到云平台。
[0041]步骤2登陆成功后,资源代理服务器会返回任务代理的地址信息给移动终端,同时移动终端会周期的把自己的软件、硬件资源信息以及任务的执行情况等报告给资源代理服务器。
[0042]步骤3移动终端登陆成功后根据资源代理告诉的关于任务代理的地址信息与其进行网络连接,同时将根据用户对客户端的配置,将自己的唯标识和想获取的应用一起传给服务端。服务端收到客户端的任务请求后,根据客户端的唯一标识和请求的应用类型进行任务调度,并将满足条件的任务下发给客户端。
[0043]步骤4移动终端从任务代理服务器收到任务文件后,需要对任务文件进行解析,主要从文件提取出任务的ID、应用服务器的地址、用户名、密码、路径、应用程序的名称及md5值、任务的参数和可执行脚本的名称及md5值、结果返回的地址,以及任务文件的完整性和安全性等。
[0044]步骤5当任务解析模块发现需要执行的应用程序不存在时,将应用服务器地址、用户名、密码、应用程序目录等参数传递给应用程序下载模块,然后应用程序下载模块根据参数要求与应用服务器进行连接,并将应用程序下载到本地。
[0045]步骤6在完成上面各个步骤后,开始进入任务执行阶段,任务执行由可执行脚本、任务参数和可执行程序(各种应用代码)三部分组成。方法是可执行脚本与任务参数一起,调用可执行程序(各种应用代码)完成的。
[0046]步骤7结果返回模块将任务执行模块生成的结果,根据任务文件的描述信息,通过ftp、http、socket等方式将结果返回给任务文件中的信息所指定的地方。
[0047]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种基于云平台的移动节点执行任务的方法,所述云平台包括:应用网关、应用程序服务器、结果回收服务器、任务代理服务器和资源代理服务器;所述移动节点为终端;其特征在于,所述方法包括:(I)应用移植;(2)获取任务;(3)任务解析;(4)下载可执行应用程序;(5)执行任务;和(6)返回结果。
2.如权利要求1所述的方法,其特征在于,所述应用移植包括:编译器将应用程序源代码编译成移动终端的可执行文件,并将该可执行文件发布到应用程序服务器。
3.如权利要求1所述的方法,其特征在于,所述获取任务包括:(2-1)终端向任务代理服务器发送任务获取请求;(2-2)代理服务端接收任务请求,根据终端的唯一标识参数和请求应用的类型参数,判断终端软件及硬件的基本信息,并根据请求的应用类型,将任务文件返回至终端。
4.如权利要求1所述的方法,其特征在于,所述任务解析包括:终端从任务文件中获取任务信息;所述任务信息包括:任务的ID、应用服务器的地址、用户名、密码、路径、应用程序的名称及其md5值;任务参数、可执行脚本的名称及其md5值;结果返回的地址、任务文件的完整性和安全性参数;和对终端资源的需求信息。
5.如权利要求1所述的方法,其特征在于,所述下载可执行应用程序包括:判断本地信息库中是否存在与要执行程序的名称、版本以及md5值相同的程序;若不存在,根据任务文件中描述的可执行程序的信息,把可执行应用程序下载到本地,供任务执行使用;若存在则执行下一步。
6.如权利要求1所述的方法,其特征在于,所述执行任务包括:根据可执行脚本与任务参数,调用可执行应用程序实现所述执行。
7.如权利要求1所述的方法,其特征在于,所述返回结果包括:将所述执行任务中调用可执行应用程序生成的结果返回;返回的路径为任务文件中包含的结果返回的地址;返回的方式包括:ftp、http、socket。
8.如权利要求3所述的方法,其特征在于,步骤(2-1)中,终端通过Socket或者WebService的方式发送所述任务获取请求。
9.如权利要求1所述的方法,其特征在于,所述方法包括:向云平台的资源代理服务器进行注册;注册成功后,通过用户名和密码登陆到云平台;终端周期性地把自身信息报告给资源代理服务器;所述自身信息包括:终端的软件、硬件资源信息以及任务的执行情况。
【文档编号】H04L29/08GK104010045SQ201410262283
【公开日】2014年8月27日 申请日期:2014年6月12日 优先权日:2014年6月12日
【发明者】刘欣然, 朱晓宁, 朱春鸽, 黄道超 申请人:国家计算机网络与信息安全管理中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1