实现移动云计算中间平台的方法及实现分布式的方法与流程

文档序号:12494247阅读:281来源:国知局
实现移动云计算中间平台的方法及实现分布式的方法与流程

本发明涉及大数据技术,尤指一种实现移动云计算中间平台的方法及实现分布式的方法。



背景技术:

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)具有高容错性的特点,并设计用于部署在相比小型机更为低廉的(low-cost)PC服务器上;而且HDFS能提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。目前,Hadoop开源免费、硬件廉价、开发便利,因此,在大数据的通行市场上占据主导地位,使得Hadoop市场份额逐年高速递增。

实际上,在软件的成本之外,硬件产生的经济成本更为可观。如何降低硬件成本是每一个服务器制造商都在考虑并寻求解决方法的课题。

目前,英特尔(Intel)公司的中央处理单元(CPU,Central Processing Unit)占据着市场的垄断地位,导致PC服务器的CPU价格居高不下。而智能终端所用的CPU处理器价格低廉。这两者价格相差30倍左右,功耗相差1000倍左右。而两者之间的性能差距,平均到单核上,至强处理器只有移动终端(如手机)处理器的5倍左右。一台100个智能终端组成的集群(如手机集群),成本可以控制在1到2万元,物理体积和一台普通PC服务器相当,计算性能是一台PC服务器的5-10倍,功耗可以控制在服务器的1/10到1/20。

目前,基于智能终端的Android系统不能支持Hadoop的运行。另外,现有智能终端要组建集群,除了通过无线信号(移动网络、WIFI网络)建立之外,也可以对智能终端的硬件进行改造,如增设有线通信模块。这种组件集群的方式,主要依赖于硬件的实现,实现繁琐复杂,而且很难对成本进行控制。



技术实现要素:

为了解决上述技术问题,本发明提供一种实现移动云计算中间平台的方法及实现分布式的方法,能够使得Android系统支持Hadoop的运行。

为了达到本发明目的,本发明提供了一种实现移动云计算中间平台的方法,包括:

进行网络配置;根据加入分布式系统的智能终端设置Hadoop平台的运行配置;

对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理;

根据网络配置的信息及整合后的计算和存储资源进行云计算管理;

所述移动云计算中间平台建立在Hadoop平台和安卓Android系统之间。

可选地,还包括:为所述Hadoop平台提供所述Android系统缺少的Java库。

可选地,所述网络配置包括:

所述移动云计算中间平台第一次启动时,为安装所述移动云计算中间平台的智能终端分配一个固定地址;

根据该智能终端所属分布式系统的连接方式获取IP地址。

可选地,所述根据智能终端所属分布式系统的连接方式获取IP地址包括:

所述连接方式为有线连接时,搜寻所述分布式系统的所有智能终端的IP地址,对最大的IP地址进行处理后作为所述IP地址;

所述连接方式为无线连接时,所述IP地址由无线网动态主机配置协议DHCP自动分配;

所述连接方式为定制机架方式时,根据槽位的不同来获取所述IP地址。

可选地,所述对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理包括:

当安装所述移动云计算中间平台的智能终端所属分布式系统接收到写入和计算任务时,确认当前分布式系统中的资源使用状况;

根据确认的资源使用状况调取所述Hadoop平台的任务分配方法:当存储大小超出设定限额上限的不接受写入操作,当计算能力超出设定限额上限的不接受计算任务;当存储大小低于设定限额下限时,优先写入,直到达到设定限额的上限;当计算能力低于设定限额下限时,优先接受计算任务,直到达到设定限额的上限;所述分布式系统中存储大小和计算能力处于上限和下限之间的智能终端获取任务时进行随机分配。

可选地,还包括:为安装所述移动云计算中间平台的智能终端所述分布式系统中的智能终端提供硬件健康监控,并提供修复操作。

可选地,当所述硬件出现问题后,还包括:进行重连/重启操作,预设次数重连/重启仍失败后,提示替换所述硬件。

可选地,还包括:当系统日志大于设定的范围值时,进行先入先出FIFO存储。

本发明还提供了一种用于实现移动云计算中间平台的装置,至少包括存储器和处理器,其中,存储器中存储有以下可执行指令:

进行网络配置;根据加入分布式系统的智能终端设置Hadoop平台的运行配置;对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理;根据网络配置的信息及整合后的计算和存储资源进行云计算管理;

所述移动云计算中间平台建立在Hadoop平台和安卓Android系统之间。

本发明还提供了一种实现分布式的方法,包括:

获取并安装移动云计算中间平台和Hadoop平台到智能终端;

移动云计算中间平台在Hadoop平台中进行所述智能终端所属分布式系统内数据资源迁移以及计算资源整合;

移动云计算中间平台接收来自Hadoop平台反馈的所述分布式系统中的智能终端的存储和计算资源情况,并进行云计算管理。

可选地,当有新的智能终端接入所述分布式系统时,还包括:

所述移动云计算中间平台根据新接入的智能终端的存储和计算资源情况,重新进行数据资源迁移以及计算资源整合。

可选地,当有新的智能终端接入所述分布式系统时,还包括:

新的智能终端连接至所述分布式系统所在网络,获取并安装所述移动云计算中间平台及Hadoop平台;

新的智能终端使用安装的移动云计算中间平台,按照所述分布式系统所在网络的连接方式配置Hadoop系统网络。

可选地,还包括根据智能终端所属分布式系统的连接方式获取IP地址,具体包括:

所述连接方式为有线连接时,搜寻所述分布式系统的所有智能终端的IP地址,对最大的IP地址进行处理后作为所述IP地址;

所述连接方式为无线连接时,所述IP地址由无线网动态主机配置协议DHCP自动分配;

所述连接方式为定制机架方式时,根据槽位的不同来获取所述IP地址。

可选地,所述获取并安装移动云计算中间平台和Hadoop平台之后,所述进行分布式系统内数据资源迁移以及计算资源整合之前,还包括:

所述移动云计算中间平台提供所述智能终端的Android系统缺少的Java库,对所述智能终端的Android系统进行硬件选取、加载;

所述移动云计算中间平台根据智能终端返回的分布式系统连接方式为所述智能终端分配IP地址;并写入Hadoop平台的配置文件。

可选地,所述进行数据资源迁移以及计算资源整合包括:

存储大小超出设定限额上限的智能终端不接受写入操作,计算能力超出设定限额上限的职能终端不接受计算任务;

当智能终端的存储大小低于设定限额下限时,优先写入,直到达到设定限额的上限;当智能终端的计算能力低于设定限额下限时,优先接受计算任务,直到达到设定限额的上限;

存储大小和计算能力在上限和下限之间的智能终端获取任务时,进行随机分配。

可选地,还包括:所述移动云计算中间平台采用FIFO存储方式存储日志。

可选地,还包括:所述移动云计算中间平台根据所述Hadoop平台反馈的所述分布式系统接入的智能终端的心跳情况进行硬件健康状况的监控。

可选地,所述移动云计算中间平台提供给外部接口进行云计算管理。

可选地,当所述分布式系统中有智能终端退出所述分布式系统时,还包括:

所述移动云计算中间平台接收到来自所述Hadoop平台的退出分布式系统申请,在所述Hadoop平台中再次进行所述分布式系统内数据资源迁移以及计算资源整合;

在所述智能终端退出成功后,所述移动云计算中间平台记录日志。

本发明移动云计算中间平台建立在Hadoop和Android系统之间,用于保障Hadoop和Android系统之间的适配以及运行,使得Hadoop实现了在Android系统上的正常运行即使得Android系统支持了Hadoop的运行。另一方面,通过本发明移动云计算中间平台,智能终端实现了非常方便的组建、加入、移出无线网络/有线网络组建的分布式系统,特别地实现了使用更为廉价且方便更换的智能终端组建分布式集群。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明移动云计算中间平台的组成结构示意图;

图2为本发明移动云计算中间平台的工作原理流程示意图;

图3为本发明基于Android系统的HDFS集群实现数据存储的流程示意图;

图4为本发明基于Android系统的HDFS集群实现计算的流程示意图;

图5为本发明改造后的智能终端中计算模块的组成结构示意图;

图6为本发明改造后的智能终端中存储模块的组成结构示意图;

图7为本发明智能终端采用WIFI连接方式的组网示意图;

图8为本发明基于图7所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图;

图9为本发明智能终端采用移动网络连接方式的组网示意图;

图10为本发明基于图9所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图;

图11为本发明智能终端采用有线连接方式的组网示意图;

图12为本发明基于图11所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图;

图13为本发明定制机架结构中机架的俯视图;

图14为本发明定制机架结构中机架侧视图;

图15为本发明定制机架结构中实现硬件替换的示意图;

图16为本发明移动云计算中间平台应用的实施例的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明移动云计算中间平台的组成结构示意图,如图1所示,本发明移动云计算中间平台是建立在Hadoop平台和Android系统之间的一个中间层,用于保障Hadoop平台和Android系统之间的适配以及运行。至少包括:硬件驱动模块、Java库支撑模块、配置模块、计算存储资源管理模块、云计算任务调度模块;其中,

硬件驱动模块,用于为操作系统加载硬件驱动。该驱动主要为网络控制器服务,比如:当通信为RJ45接口时,网络控制器为USB转RJ45信号芯片;当通信为光纤通信时,网络控制器为光电转换芯片。

Java库支撑模块,用于为Hadoop平台提供Android系统缺少的Java库。Android系统本身支持一部分Java功能,这里的Java库支撑模块用于补足Android系统中缺少的Java库。

配置模块,用于进行网络配置;根据加入分布式系统的智能终端如该智能终端的计算能力、存储大小自动设置Hadoop平台的运行配置。

其中,网络配置具体包括:

配置模块自身所在移动云计算中间平台在第一次启动时,为安装所述移动云计算中间平台的智能终端分配一个固定地址(所有机器初次启动时都为该IP地址);

网络接通后确定该智能终端所属分布式系统的连接方式如有线、无线或者定制机架类型等,根据连接方式获取IP地址:当为有线连接时,搜寻当前网络的所有机器的IP地址,然后对最大的IP地址进行处理:在最大的IP地址第四段+1,当加到253时,则在IP地址第三段加1,第四段从1开始计数;当为无线连接时,IP地址由无线网动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)自动分配,不需要考虑IP地址分配,只需要读取分配的IP地址并写入Hadoop配置文件中即可;当为定制机架方式时,智能终端根据槽位的不同来获取IP地址配置,这样,使得新替换上电的设备配置和出现问题的设备配置相同,即同样的槽位的IP地址是不可变更的。

计算存储资源管理模块,用于在现有Hadoop计算和存储控制的基础上,整合到计算存储资源管理模块自身所在移动云计算中间平台中,对计算和存储的资源进行管理,基于计算和存储资源来进行整合处理。

具体实现包括:当分布式系统接收外来写入和计算任务时,先确认当前分布式系统中机器的资源使用状况,然后调取Hadoop平台的任务分配方法:存储已经超出设定限额上限的将不接受写入操作,计算超出设定限额上限的将不接受计算任务;当存储低于设定限额下限时将优先写入,直到达到设定限额的上限;当计算低于设定限额下限时将优先接受计算任务,直到达到设定限额的上限;其他处于上限和下限之间的机器获取任务时进行随机分配。

云计算任务调度模块,用于提供给外部接口,根据网络配置的信息及整合后的计算和存储资源进行云计算管理,管理包括但不限于启动、停止、暂停、定时等。

进一步地,本发明移动云计算中间平台还包括:健康监控模块,

用于为智能终端提供硬件健康监控,并提供修复操作。需要说明的是,健康监控模块只监控硬件死活,当硬件出现问题后会进行重连/重启操作,多次重连/重启失败后,提示替换该硬件。监控功能可以使用心跳检测机制来监控硬件死活,使用温度监控来对硬件进行运行健康告警等。

进一步地,本发明移动云计算中间平台还包括:日志处理模块,

用于当系统日志大于设定的范围值时,日志的存储进行先入先出(FIFO,First in first out)存储,即先删除远期日志,然后存储最新的日志。

图1只列出了本发明移动云计算中间平台的基本的Hadoop组件,其他组件可以自行选择安装,是否包括其他组件、包括多少,并不用于限定本发明的保护范围,这里不再赘述。

相应地,本发明还提供一种实现移动云计算中间平台的方法,包括:将移动云计算中间平台建立在Hadoop平台和安卓Android系统之间,还包括:

进行网络配置;根据加入分布式系统的智能终端设置Hadoop平台的运行配置;

对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理;

根据网络配置的信息及整合后的计算和存储资源进行云计算管理。

本发明方法还包括:为Hadoop平台提供Android系统缺少的Java库。

可选地,进行的网络配置包括:

在建立的移动云计算中间平台第一次启动时,为安装所述移动云计算中间平台的智能终端分配一个固定地址;根据该智能终端所属分布式系统的连接方式获取IP地址。其中,

根据智能终端所属分布式系统的连接方式获取IP地址包括:

当连接方式为有线连接时,搜寻分布式系统的所有智能终端的IP地址,对最大的IP地址进行处理后作为所述IP地址;

当连接方式为无线连接时,IP地址由无线网DHCP自动分配;

当连接方式为定制机架方式时,根据槽位的不同来获取所述IP地址。

可选地,对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理包括:

当安装移动云计算中间平台的智能终端所属分布式系统接收到写入和计算任务时,确认当前分布式系统中的资源使用状况;

根据确认的资源使用状况调取Hadoop平台的任务分配方法:当存储大小超出设定限额上限的不接受写入操作,当计算能力超出设定限额上限的不接受计算任务;当存储大小低于设定限额下限时,优先写入,直到达到设定限额的上限;当计算能力低于设定限额下限时,优先接受计算任务,直到达到设定限额的上限;所述分布式系统中存储大小和计算能力处于上限和下限之间的智能终端获取任务时进行随机分配。

可选地,本发明实现移动云计算中间平台的方法还包括:

为安装移动云计算中间平台的智能终端所述分布式系统中的智能终端提供硬件健康监控,并提供修复操作。

当硬件出现问题后,还包括:进行重连/重启操作,预设次数重连/重启仍失败后,提示替换该硬件。

可选地,本发明实现移动云计算中间平台的方法还包括:当系统日志大于设定的范围值时,进行FIFO存储。

本发明还提供一种用于实现移动云计算中间平台的装置,至少包括存储器和处理器,其中,

存储器中存储有以下可执行指令:将移动云计算中间平台建立在Hadoop平台和安卓Android系统之间;进行网络配置;根据加入分布式系统的智能终端设置Hadoop平台的运行配置;对计算和存储的资源进行管理,基于计算和存储资源进行资源整合处理;根据网络配置的信息及整合后的计算和存储资源进行云计算管理。

利用本发明建立的移动云计算中间平台,实现分布式的方法包括:

获取并安装移动云计算中间平台和Hadoop平台到智能终端;

移动云计算中间平台在Hadoop平台中进行所述智能终端所属分布式系统内数据资源迁移以及计算资源整合;

移动云计算中间平台接收来自Hadoop平台反馈的所述分布式系统中的智能终端的存储和计算资源情况,并进行云计算管理。

下面结合一台智能终端在安装本发明图1所示的移动云计算中间平台后各模块的工作流程情况为例,对本发明移动云计算中间平台的工作原理进行详细描述。图2为本发明移动云计算中间平台的工作原理流程示意图,如图2所示,包括:

首先,智能终端获取并安装本发明移动云计算中间平台和Hadoop平台;本发明移动云计算中间平台的Java库支撑模块提供智能终端的Android系统缺少的Java库;本发明移动云计算中间平台的硬件驱动模块对智能终端的Android系统进行硬件选取、加载;本发明移动云计算中间平台的配置模块为智能终端分配一个IP地址:智能终端会向本发明移动云计算中间平台的配置模块返回分布式系统连接类型;本发明移动云计算中间平台的配置模块根据智能终端的不同网络连接方式进行相应IP地址的配置:当为有线连接时,搜寻当前网络的所有机器的IP地址,然后对最大的IP地址进行处理:在最大的IP地址第四段+1,当加到253时,则在IP地址第三段加1,第四段从1开始计数;当为无线连接时,IP地址由无线网DHCP自动分配;当为定制机架方式时,根据槽位的不同来获取IP地址配置。智能终端读取分配的IP地址写入Hadoop平台的配置文件并生效;

然后,本发明移动云计算中间平台的计算存储资源管理模块在Hadoop平台中进行分布式系统内数据资源迁移以及计算资源整合,Hadoop平台将智能终端的存储和计算资源情况反馈给本发明移动云计算中间平台的计算存储资源管理模块;

接着,本发明移动云计算中间平台的计算存储资源管理模块根据新接入的智能终端的存储和计算资源情况,进行数据资源迁移以及计算资源整合:存储已经超出设定限额上限的将不接受写入操作,计算超出设定限额上限的将不接受计算任务;当存储低于设定限额下限时将优先写入,直到达到设定限额的上限;当计算低于设定限额下限时将优先接受计算任务,直到达到设定限额的上限;其他处于上限和下限之间的机器获取任务时进行随机分配;

最后还有,对于日志的存储,本发明移动云计算中间平台的日志处理模块进行FIFO存储;本发明移动云计算中间平台的健康监控模块进行硬件健康的监控,Hadoop平台反馈接入的智能终端的心跳情况以检测硬件死活,反馈接入的智能终端的节点温度以监控运行健康状况;本发明移动云计算中间平台的云计算任务调度模块提供给外部接口进行云计算管理。

后续,如果智能终端申请退出分布式系统,Hadoop平台会向本发明移动云计算中间平台的计算存储资源管理模块申请退出分布式系统,本发明移动云计算中间平台的计算存储资源管理模块会在Hadoop平台中再次进行分布式系统内数据资源迁移以及计算资源整合,并在退出成功后,在本发明移动云计算中间平台的日志处理模块中记录日志。

综上所述,通过本发明基于Android系统的Hadoop平台即图1所示的移动云计算中间平台,一方面,使得Hadoop平台实现了在Android系统上的正常运即使得Android系统支持了Hadoop平台的运行。进一步地,提供了Hadoop平台运行时软件和硬件的健康监控,从而保证了在损坏时触发对软件的修复或对硬件的替换。另一方面,通过本发明基于Android系统的Hadoop平台平台即图1所示的移动云计算中间平台,智能终端实现了非常方便的组建、加入、移出无线网络/有线网络组建的分布式分布式系统。从而实现了使用更为廉价且方便更换的智能终端组建分布式系统。

本发明实施例以智能终端为手机终端进行举例描述,但是,本发明智能终端包括但不限制于:运行Android系统的手机终端、PAD、机顶盒,以及运行Android系统的各类有线、无线手持终端等。

为方便描述,本发明实施例中以分布式系统为集群为例进行描述,但并不用于限定本发明的保护范围。

需要说明一下,Hadoop平台通过本发明移动云计算中间平台对底层Android系统调用各应用接口(API)功能进行数据读写、计算等任务。Android API接口的封装包括但不限于:

对于智能终端内存数据读写,可以包括:

getFileDir():用于获取Hadoop平台在智能终端内存存储数据的位置信息,如:/data/data/Hadoop/files;

getCacheDir():用于获取Hadoop平台在智能终端内存缓存数据的位置信息,如:/data/data/Hadoop/cache;

openFileInput(String name):用于直接获取/data/data/Hadoop/files/name文件的输入流信息;

openFileOutput(String name,int mode):用于直接获取/data/data/Hadoop/files/name文件的输出流,其中,mode为写入文件时的权限;

Context.MODE_PRIVATE:为私有模式(或称为默认模式),只能被应用本身和同一群组的智能终端访问;写入的内容覆盖原文件内容;

Context.MODE_APPEND:为追加模式(或称为私有模式),只能被应用本身和同一群组的智能终端访问;如果文件存在就追加内容,如果文件不存在就新建文件并写入内容;

Context.MODE_WORLD_READABLE:为群组中所有智能终端可读权限;

Context.MODE_WORLD_WRITEABLE:为群组中所有智能终端可写权限;

对于SDcard数据读写,可以包括:

getExternalStorageDirectory():用于获取Hadoop平台所在智能终端的SDcard位置信息,如/storage/sdcard;

getExternalStorageState():用于获取Hadoop平台所在智能终端的SDcard的当前状态,比较常用的应该是MEDIA_MOUNTED;

FileInputStream(),用于读取文件;

BufferReader(),用于读取文件;

httpConnection(),用于将读取的流保存为String数据;

FileOutputStream(),用于写入文件;

BufferedWriter(),用于写入文件;

另外,Hadoop计算使用Java库的加、减、乘、除四则运算。

本发明中,基于Android系统的HDFS集群有两类节点并以“管理者—工作者”模式运行:一个作为管理者的主(Master)节点(NameNode)和多个作为工作者的从(Slave)节点(DataNode)。每一个NameNode和DataNode都各对应一台智能终端。

其中,NameNode,主要负责管理HDFS文件系统,具体地包括namespace管理、块(block)管理;DataNode,主要用于存储数据文件。这里,HDFS会将一个文件分割成一个个的block,这些block可能存储在一个DataNode上或者是多个DataNode上。DataNode负责实际的底层文件的读写,如果客户端(Client)程序发起了读HDFS上的文件的命令,那么,首先会将这些文件分成若干个block,然后NameNode将告知Client这些block数据是存储在哪些DataNode上的,这样,Client直接和DataNode交互即可。

下面详细介绍本发明基于Android系统的HDFS集群的存储和计算过程。

图3为本发明基于Android系统的HDFS集群实现数据存储的流程示意图,以文件上传到分布式集群进行存储为例,这里,NameNode负责管理存储在HDFS上所有文件的元数据,会确认客户端的请求,并记录下文件的名字和存储该文件的数据节点即DataNode的集合。并将这些记录下的信息存储在内存中的文件分配表中。本实施例中,假设客户端发送一个请求给NameNode,表明要将“swim.txt”文件写入到HDFS,如图3所示,包括:

步骤1:客户端发消息给NameNode,表明要写入“swim.txt”文件;

步骤2:NameNode向客户端返回消息,通知客户端将“swim.txt”文件写到DataNode A、DataNode B和DataNode D,并直接与DataNode B联系;

步骤3:客户端发消息给DataNode B,指示DataNode B保存一份“swim.txt”文件,并分别发送一份副本给DataNode A和DataNode D;

步骤4:DataNode B发消息给DataNode A,指示DataNode A保存一份“swim.txt”文件,并发送一份副本给DataNode D;

步骤5:DataNode A发消息给DataNode D,指示DataNode D保存一份“swim.txt”文件;

步骤6:DataNode D发确认消息给DataNode A;

步骤7:DataNode A发确认消息给DataNode B;

步骤8:DataNode B发确认消息给客户端,表示完成“swim.txt”文件的写入。

这样,一份“swim.txt”文件就保存在了分布式集群的DataNode A、DataNode B和DataNode D三个数据节点(即智能终端)上。

图4为本发明基于Android系统的HDFS集群实现计算的流程示意图,如图4所示,在基于Android的HDFS中,每个MapReduce任务都被初始化为一个Job,每个Job又可以分为两种阶段:映射(Map)阶段和归约(Reduce)阶段。这两个阶段分别用两个函数表示,即Map函数和Reduce函数。其中,Map函数接收一个<key,value>形式的输入,然后同样产生一个<key,value>形式的中间输出;Reduce函数接收一个如<key,(list of values)>形式的输入,然后对这个value集合进行处理,每个Reduce产生0或1个输出,Reduce的输出也是<key,value>形式的。

一般,常见的智能终端在安装本发明的移动云计算中间平台和Hadoop平台后,使用稳定的无线连接,经过本发明的移动云计算中间平台对Hadoop平台进行配置后,即可进行Hadoop之上的各组件的使用。比如在办公室中,可以将大家的智能终端集中到一个集群内,实现计算资源和存储资源共享。这样,一个人的智能终端无法做到的计算量,通过十几个人的智能终端就可以组建起集群,并在本发明的移动云计算中间平台纸上完成本来不能完成的计算量。无线连接又包括:WIFI网络、移动网络(如2G、3G、4G等)两种集群组建方式。

为了保障集群的可靠性、增强通信速度,可以使用有线连接方式。使用有线连接方式的集群硬件来源可以为定制的智能终端,也可以使用现有智能终端进行有线通信的改造。对现有智能终端的改造主要包括两部分:一方面是,对USB接口进行改造,将USB类型的通信转换为双绞线或者光纤线通信;另一方面,存储模块至少包括ROM、SD卡以及接口。存储模块损坏是可以替换的。具体地,

图5为本发明改造后的智能终端中计算模块的组成结构示意图,如图5所示,至少包括:中央处理器单元(CPU,Central Processing Unit)芯片组、随机存储器(RAM,Random-Access Memory)、网络控制器。对外包括电源、网口、存储接口3个接口。

其中,USB接口可以包括但不限于:USB2.0或USB3.0,分别对应双绞线和光纤线使用。因此,针对USB的两种不同类型使用不同的通信方案。网络控制器采用常见的USB转网卡的方案,如果是光纤再添加光电转换芯片即可。图5中的网络控制器是一个信号转换芯片,比如:USB2.0转RJ45信号芯片如AX88772B;USB 3.0-to-Gigabit Ethernet控制芯片如RTL8153等。

图5中,安全数据(SD,Secure Digital)卡接口和Android系统定制系统镜像只读存储器(ROM,Read Only Memory Image)接口合并为存储接口,只是硬件外观的变化,实际上两个接口还是独立存在的。

图6为本发明改造后的智能终端中存储模块的组成结构示意图,如图6所示,至少包括内置两个组件:ROM和SD卡,对外显示为一个存储接口。该模块损坏可以进行替换。

Hadoop是用途广泛的大数据平台,目前基于Hadoop的在用实施例都可以使用本发明提供的而技术方案由PC服务器转移到安装有Android系统的智能终端中。下面根据智能终端的不同网络连接方式,结合本发明移动云计算中间平台对智能终端在集群中的管理的实施例进行详细描述。

第一实施例

图7为本发明智能终端采用WIFI连接方式的组网示意图,图8为本发明基于图7所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图,结合图7和图8,本实施例以新的节点为智能终端为例,将智能终端加入集群的步骤包括:

步骤800:将欲加入现有集群的WIFI网络的智能终端成功连接WIFI网络。

步骤801:欲加入现有集群的WIFI网络的智能终端通过自身Android系统下载获取并安装移动云计算中间平台及Hadoop平台。

步骤802:使用移动云计算中间平台配置Hadoop平台系统网络。具体实现过程如图2所示,这里不再赘述。

假设连接方式的连接(Connection)参数为1,表示为WIFI连接方式,Connection参数为2,表示为移动网络如2G、3G、4G连接方式,Connection参数为3,表示为有线连接方式。

本实施例中,假设Connection参数为1,则移动云计算中间平台根据该WIFI网络中的DHCP机制给本实施例中新加入的节点(如步骤800中的智能终端)分配IP地址;并将分配的IP地址写入集群配置文件中。

步骤803:现有集群中的主节点启动Hadoop集群组件并成功启动。

步骤804:现有集群中的主节点进行集群内数据资源迁移以及计算资源整合(balance)。

本实施例中,主节点中的移动云计算中间平台根据新节点(如智能终端)的存储和计算资源情况,自行进行数据资源迁移以及计算资源整合。举例来看,假设每个节点的存储资源上限为总存储资源的80%以及存储资源下限为总存储资源的5%;假设每个节点的CPU计算资源上限为CPU利用率达到80%以及CPU计算资源下限为CPU利用率达到5%;其中,上限、下限的设置可以按照实际需求进行调整。

移动云计算中间平台根据设置的上限、下限值进行如下操作:

当该新加入的节点的存储已经超出存储资源上限时,将不接受写入操作;

当该新加入的节点的计算超出CPU计算资源上限时,将不接受计算任务;

当该新加入的节点的存储低于存储资源下限时,将优先写入,直到达到存储资源上限;

当该新加入的节点的计算低于CPU计算资源下限时,将优先接受计算任务,直到达到CPU计算资源上限;

其他处于上限和下限之间的情况,获取任务时可以进行随机分配。

步骤805~步骤806:现有集群中的主节点调用移动云计算中间平台接口,提交Hadoop任务进行运行。

步骤807:集群中的各数据节点完成任务计算,并将任务结果反馈给主节点。

本实施例中,假设某个数据节点如步骤800中加入现有集群的智能终端申请退出集群,包括以下步骤:

步骤808:该智能终端向集群中的主节点申请退出集群。

步骤809:主节点进行数据资源迁移:以及计算资源整合。具体实现如步骤804所述,这里不再赘述。

步骤810:资源整合完成后,同意该智能终端退出集群。

第二实施例

图9为本发明智能终端采用移动网络连接方式的组网示意图,图10为本发明基于图9所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图,结合图9和图10,本实施例以新的节点为智能终端为例,将智能终端加入集群的步骤包括:

步骤1000:将欲加入现有集群的移动网络如2G、3G、4G等的智能终端成功连接移动网络。

步骤1001:欲加入现有集群的移动网络的智能终端通过自身Android系统下载获取并安装移动云计算中间平台及Hadoop平台。

步骤1002:使用移动云计算中间平台配置Hadoop系统网络。具体实现过程如图2所示,这里不再赘述。

假设连接方式的连接(Connection)参数为1,表示为WIFI连接方式,Connection参数为2,表示为移动网络如2G、3G、4G连接方式,Connection参数为3,表示为有线连接方式。

本实施例中,假设Connection参数为2,则移动云计算中间平台根据该移动网络中的DHCP机制给本实施例中新加入的节点(如步骤1000中的智能终端)分配IP地址;并将分配的IP地址写入集群配置文件中。

步骤1003:现有集群中的主节点启动Hadoop集群组件并成功启动。

步骤1004:现有集群中的主节点进行集群内数据资源迁移以及计算资源整合(balance)。

本实施例中,主节点中的移动云计算中间平台根据新节点(如智能终端)的存储和计算资源情况,自行进行数据资源迁移以及计算资源整合。举例来看,假设每个节点的存储资源上限为总存储资源的80%以及存储资源下限为总存储资源的5%;假设每个节点的CPU计算资源上限为CPU利用率达到80%以及CPU计算资源下限为CPU利用率达到5%;其中,上限、下限的设置可以按照实际需求进行调整。

移动云计算中间平台根据设置的上限、下限值进行如下操作:

当该新加入的节点的存储已经超出存储资源上限时,将不接受写入操作;

当该新加入的节点的计算超出CPU计算资源上限时,将不接受计算任务;

当该新加入的节点的存储低于存储资源下限时,将优先写入,直到达到存储资源上限;

当该新加入的节点的计算低于CPU计算资源下限时,将优先接受计算任务,直到达到CPU计算资源上限;

其他处于上限和下限之间的情况,获取任务时可以进行随机分配。

进一步地,

考虑到传输速率以及流量资费的因素,本实施例中还进一步设置数据压缩(Compress)参数,当Compress参数为1时,表示需要进行压缩,当Compress参数为0时,表示不需要进行压缩。

当Connection参数为2时,即本实施例中采用移动网络的方式,Compress参数自动设置为1,表示数据传输时需要进行压缩,以获得高传输速率,从而降低流量资费;

当Connection参数为1或3时,Compress参数自动设置为0,数据传输不需要进行压缩,以减轻CPU运算压力。

步骤1005~步骤1006:现有集群中的主节点调用移动云计算中间平台接口,提交Hadoop任务进行运行。

步骤1007:集群中的各数据节点完成任务计算,并将任务结果反馈给主节点。

本实施例中,假设某个数据节点如步骤1000中加入现有集群的智能终端申请退出集群,包括以下步骤:

步骤1008:该智能终端向集群中的主节点申请退出集群。

步骤1009:主节点进行数据资源迁移:以及计算资源整合。具体实现如步骤1004所述,这里不再赘述。

步骤1010:资源整合完成后,同意该智能终端退出集群。

第三实施例

图11为本发明智能终端采用有线连接方式的组网示意图,图12为本发明基于图11所示的连接方式的对智能终端在集群中的管理的实施例的流程示意图,结合图11和图12,本实施例以新的节点为智能终端为例,将智能终端加入集群的步骤包括:

步骤1200:将欲加入现有集群的的智能终端使用双绞线或光纤成功连接集群中的交换机。本实施例中,欲加入现有集群的智能终端使用USB2.0接口,因此,采用双绞线连接集群的交换机。

步骤1201:欲加入现有集群的移动网络的智能终端通过自身Android系统下载获取并安装移动云计算中间平台及Hadoop平台。

步骤1202:使用移动云计算中间平台配置Hadoop系统网络。具体实现过程如图2所示,这里不再赘述。

假设连接方式的连接(Connection)参数为1,表示为WIFI连接方式,Connection参数为2,表示为移动网络如2G、3G、4G连接方式,Connection参数为3,表示为有线连接方式。

本实施例中,假设Connection参数为3,则移动云计算中间平台搜寻当前集群网络所有节点的IP地址,然后对最大的IP地址进行处理:在最大的IP地址第四段+1,当加到253时,则在IP地址第三段加1,第四段从1开始计数;并将分配的IP地址写入集群配置文件中。

步骤1203:现有集群中的主节点启动Hadoop集群组件并成功启动。

步骤1204:现有集群中的主节点进行集群内数据资源迁移以及计算资源整合(balance)。

本实施例中,主节点中的移动云计算中间平台根据新节点(如智能终端)的存储和计算资源情况,自行进行数据资源迁移以及计算资源整合。举例来看,假设每个节点的存储资源上限为总存储资源的80%以及存储资源下限为总存储资源的5%;假设每个节点的CPU计算资源上限为CPU利用率达到80%以及CPU计算资源下限为CPU利用率达到5%;其中,上限、下限的设置可以按照实际需求进行调整。

移动云计算中间平台根据设置的上限、下限值进行如下操作:

当该新加入的节点的存储已经超出存储资源上限时,将不接受写入操作;

当该新加入的节点的计算超出CPU计算资源上限时,将不接受计算任务;

当该新加入的节点的存储低于存储资源下限时,将优先写入,直到达到存储资源上限;

当该新加入的节点的计算低于CPU计算资源下限时,将优先接受计算任务,直到达到CPU计算资源上限;

其他处于上限和下限之间的情况,获取任务时可以进行随机分配。

步骤1205~步骤1206:现有集群中的主节点调用移动云计算中间平台接口,提交Hadoop任务进行运行。

步骤1207:集群中的各数据节点完成任务计算,并将任务结果反馈给主节点。

本实施例中,假设某个数据节点如步骤1200中加入现有集群的智能终端申请退出集群,包括以下步骤:

步骤1208:该智能终端向集群中的主节点申请退出集群。

步骤1209:主节点进行数据资源迁移:以及计算资源整合。具体实现如步骤1004所述,这里不再赘述。

步骤1210:资源整合完成后,同意该智能终端退出集群。

第四实施例

本实施例为网络接通后确定集群模型为定制机架结构的情况。

首先,在机架安装、上电,机架统一将交流电转化为直流电为所有设备提供电源后,进行版本镜像操作,即将图1所示整个系统打包作为镜像直接存储在ROM中。

安装完系统的硬件存储到备份件所在的机架中轴入口。初始安装因为需要安装的设备数量较多,需要人为手工操作硬件供给。后续的备份设备以自动存储5-10块设备为佳。

通过与备份件替换相同的流程将硬件安装到指定的位置,如图13所示,图13为本发明定制机架结构中机架的俯视图,如图13所示,计算存储模块安装于机架的圆环上。本实施例中,圆环以低速进行转动。

一方面,圆环的低速转动带来了传统设备的风冷散热的效果,另一方面,在硬件需要替换时,圆环的低速转动实现了计算存储备份模块通道的对接,以便于机架将替换的模块运送到位;同时,离心力能够自动拆除损坏的硬件。

然后,硬件联通机架交换设备自动获取网络参数,加入分布式集群。

最先合入集群的设备为主节点,可以在外部通过网络连接主节点的云计算任务调度平台执行分布式计算任务。

接着,加入备份设备,后续定时检测机架的备份设备数量,以便及时添加。同时需要回收损坏的硬件设备。

图14为本发明定制机架结构中机架侧视图,如图14所示,机架的圆环槽位层可以是多层设计,带箭头的线表示了备份硬件的运行路径。

在进行硬件替换时,如图15所示,硬件槽位打开锁定,损坏硬件因离心力脱离机架;备份硬件经传送装置运行到备份导槽中;圆环逐渐降低速度至停止转动,使备份导槽和硬件需要替换的槽位对接,再经过传送装置的操作将备份硬件装入硬件槽位;更换备用硬件后,圆环逐渐回复原有运行旋转速度。

第五实施例

本实施例以典型应用场景对本发明移动云计算中间平台及系统的具体工作实现进行描述。假设由于一游戏因计算量大且产生数据多,在一台手机上运行非常卡顿,同时需要基于这些大数据进行人工智能分析和挖掘,提供玩家场景发现和玩友推荐等,本实施例中假设在一个房间,有5个人各自手持1台Android系统的智能手机,来测试使用这款大型游戏。图16为本发明移动云计算中间平台应用的实施例的流程示意图,本实施例中,为例描述方便,仅以2台设备即Master主节点与一台Slave节点之间的业务流程为例,Master与其他Slave节点之间的业务流程与图16所示的业务流程一样,这里不再赘述。如图16所示,包括:

步骤1600:分别在Master节点和Slave节点上安装移动云计算中间平台、Hadoop、游戏应用。

步骤1601:使用移动云计算中间平台对Android系统及Hadoop平台进行相关配置并生效,大致包括:

主节点的移动云计算中间平台为Hadoop平台提供Android系统缺少的Java库;主节点的移动云计算中间平台对Android系统进行硬件选取、加载;主节点的移动云计算中间平台分配一个IP地址,根据反馈的不同网络连接方式进行相应IP地址的配置;智能终端的Android系统读取分配的IP地址写入Hadoop配置文件并生效;主节点的移动云计算中间平台在Hadoop平台中进行集群内数据资源迁移以及计算资源整合,并通知集群内的其他Slave节点内进行资源调整。具体实现如图2所示,这里不再赘述。

步骤1602:各节点如图16中的Master节点和Slave节点检测游戏应用占用资源情况,并反馈到各自的Hadoop平台;各Slave节点的Hadoop平台收到游戏应用占用资源情况后,反馈到Master节点。

步骤1603:Master节点根据各节点存储和计算资源情况,自动进行数据资源迁移以及计算资源整合。

步骤1604:游戏应用开始使用,Master节点收到使用行为和任务后,为各Slave节点分配计算和存储任务;各Slave节点向Master节点反馈计算结果和存储结果,Master节点进行计算结果和存储结果汇总,并向游戏应用反馈游戏应用运算结果和存储结果。

步骤1605:在游戏应用的计算任务和存储任务进行过程中,主节点的移动云计算中间平台进行日志的存储,使用FIFO方式存储;和/或,主节点的移动云计算中间平台进行各节点的硬件健康监控。

步骤1606:游戏应用结束,Master节点通知各Slave节点释放计算资源和存储资源;各Slave节点向Master节点反馈计算资源和存储资源释放结果。

以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1