分布式实时移动微云计算系统的制作方法

文档序号:15262095发布日期:2018-08-24 21:55阅读:146来源:国知局

本发明提出了一种适用于将具备通信、计算和存储等能力的移动设备(例如:智能手机、个人智能终端、便携式笔记本电脑等)进行组网并提供强大实时计算能力的分布式移动微云计算系统架构。



背景技术:

移动设备(例如:智能手机、pad、便携式电脑等)已经成为人们日常生活必不可少的随身设备。随着这些随身设备在通信、计算和存储能力方面的迅速提升,移动设备已经能提供非常丰富的移动应用。但由于移动设备固有的特点,例如:单机有限的资源、计算能力、电池续航能力和通信能力等,限制了移动设备对许多计算、资源要求较高但非常有用的应用的支持。因此以传统方式运行应用程序的移动设备难以满足要求日益提高的数据处理能力的要求。传统方式的移动设备应用很难分发和协调大规模且需要工作在不同移动设备上的运行流程,很难基于动态工作负载进行向上和向下扩展。当一个移动设备失败时,也不能提供另一个移动设备进行恢复。当工作完成时,也很难摆脱所有的这些移动设备。云计算架构能够很好地解决这些困难。云计算是一种动态、易扩展且通常是通过网络提供虚拟化资源的计算方式,用户不需要了解云的内部细节,也不必具有关于云内部的专业知识。云具备智能自组织、自管理的特性,云将内部资源以统一接口的服务的方式提供给用户使用。用户只需要向云提出资源的需求申请,资源的动态分配、调度、计算均由云自主完成,最后返回给用户。

近年来,随着云计算在商业领域的成功,利用云计算技术将移动设备组织成移动微云,高效共享和利用移动设备的计算、存储和通信等资源成为可能。云计算技术的显著优点之一是不同于传统的处理过程,而是将整个处理过程划分成一系列分布式的控制点,因此将大大减少运行移动应用对手机性能的要求。目前商用的云计算系统是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上,智能管理海量的基础硬、软件资源的云平台综合管理系统。而移动云计算则是以移动互联网为媒介,为移动用户提供包括软、硬件、平台等各种it资源的一种服务模式。微云作为一种资源有限的云计算服务提供平台,在面对可能超出其服务能力的用户请求时,如何通过合适的资源分配方案以及其配套的接纳控制策略来最大化提高自身的资源利用率以及尽可能多的满足用户的应用需求是一个很根本的问题。随着移动设备的发展,移动应用对设备性能的要求也水涨船高,当用户的移动设备使用这些应用时,移动设备的性能和能耗都会成为制约移动云计算发展的瓶颈。移动设备在很多情况下请求云资源时距离云服务提供商有着相当遥远的距离,而这种情况会显著增大用户和云之间的交互时延,又或者在某些可能的灾害、军事对抗条件下,接入远端云是不可能的。尽管如今智能机市场发展迅速,智能手机、大部分移动个人笔记本等,在处理大量数据时,硬件条件的制约依旧是性能瓶颈,但通过移动云计算中的“云”,移动用户可以不再单纯依赖移动设备本身的计算能力,而完成更多更大型的计算任务;另一方面,大量的数据也不仅存储在个人硬盘上,而可以存储在“云”上,使移动云计算用户拥有了大量的数据存储空间。同时在日益发展的移动网络支持下,移动用户通过移动网络访问云端的数据也更加快速和方便;移动云计算通过方便的软件手段来应对用户在不同应用之间的变化,对资源获取量的变化,一方面减少了云计算提供商的资源维护成本,提高了资源利用率,另一方面也降低了用户的使用成本,避免了租用过多资源而造成的资源浪费,降低了用户的使用成本。

目前移动设备的计算、存储和通信等能力均得到了快速发展,移动设备的计算、存储、通信资源的冗余较大,并且许多移动设备还具备丰富的传感器资源,例如:照相机、gps、温度计、指南针等。传统的网络互连技术并不能高效、综合地利用上述资源。上述现有技术存在的不足之处有三:

一是现有移动设备单机不能满足许多计算密集型的移动应用需求。例如图像处理中的目标识别、环境图像拼接、自然语言处理、传感器信息共享等,这类应用在灾难搜救、移动目标搜寻、野外工作、旅行等场景非常有用,但是移动单机,尤其是在基础网络通信设施不健全或者被破坏的地区,不能满足上述应用的需求。

二是传统的移动设备网络互连技术并不能高效、综合地利用移动资源。近年来移动设备的计算、存储和通信等能力均得到了快速的发展,移动设备的计算、存储资源的冗余较大,并且许多移动设备还具备丰富的传感器资源,例如:照相机、gps、温度计、指南针等。传统的移动设备网络互连技术并不能高效、综合地利用和整合上述资源。由于移动设备互联环境下,可能存在设备的通信连接不稳定、随时有设备进入或退出云的情况,云计算技术的引入,必将能更有效的整合和综合利用上述资源,大幅提升移动应用的服务质量。

三是移动应用对响应实时性的要求越来越高,目前商业应用最成功的hadoop等云计算技术不满足移动应用的实时性要求。hadoop等目前最成功的云计算技术虽然吞吐量高、具备海量数据的处理能力,但是它的缺点和优点一样也同样鲜明:延迟大、响应缓慢、运维复杂,并不适用于实时性要求高的移动应用环境,这也是业界的一致共识。否则最近这两年也不会有s4、分布式实时计算系统storm、puma等如雨后春笋般冒出来。分布式实时计算系统storm的处理组件是分布式的,且处理延迟极低。

需要考虑移动设备组网的特点,即必须运维简单、且具备较强的容错和扩展能力。处理过程高效共享和利用移动设备的冗余计算、存储、通信、传感器等资源的,这也是移动微云的优势。多移动设备的智能组网一体化对外提供服务的模式可提供比单机移动设备强大得多的运算能力,可以支持单移动设备无法负担的,例如图像处理中的目标识别、环境图像拼接、自然语言处理、传感器信息共享等,计算密集型移动应用。尤其在灾难搜救、移动目标搜寻、野外工作、旅行等场景中,此类移动应用将发挥巨大作用。



技术实现要素:

为了弥补目前移动设备应用的上述不足,本发明提供一种运维简单、具备较强的容错和扩展能力,处理过程高效,主要用于移动设备互联的移动微云架构。利用该架构进行移动设备的组网、管理及计算任务的分配处理可以更高效地实现移动设备计算、存储、传感器等资源的高效共享,满足移动应用实时行要求的分布式移动微云计算系统。

本发明的上述目的通过以下措施来达到。一种分布式实时移动微云计算系统,包括:任务调度模块、配置管理模块、业务发布模块、状态管理模块、管控服务模块和工作机集群,其特征在于:在移动微云计算框架中,任务调度模块接收到任务请求后,将来自任务/数据入口源源不断流进来的数据业务或资源信息按其特点分解成许多可分片任务数据和/或不可分片的任务数据,向移动微云发起任务,依据接收到的任务类型以及配置管理模块的计算资源信息,将任务指派到不同的执行模块;配置管理模块向业务发布模块发送可分片任务数据,将不可分片任务数据直接分发给工作机集群;业务发布模块根据任务调度模块接受分片任务列表获取运算任务,按照任务运算要求,向工作机集群分发任务运算的算法包,将任务运行日志、指令发送至工作机集群,并汇报至状态管理模块;工作机集群接受运算任务,根据业务发布模块的运算请求,动态加载任务运算算法包,执行任务并返回任务结果及状态,并将任务运行日志及指令汇报给状态管理模块;状态管理模块对业务发布模块的状态进行管理,收集业务发布模块的运行速度信息,将实时监控工作机集群的会话状态送入管控服务模块人机交互接口,对当前状态管理模块节点处理任务的状态信息进行交互,提供可视化界面,向配置管理模块反馈单个节点做停用、启用和终止信息。

本发明相比现有技术方法的有益效果是:

运维简单。本发明采用在移动微云计算框架中,任务调度模块接收到任务请求后,将来自任务/数据入口源源不断流进来的数据业务资源信息分解成许多可分片任务数据和(或)不可分片任务数据,向移动微云发起任务,依据接收到的任务类型以及配置管理模块的计算资源信息,将任务指派到不同的执行模块;通过计算系统框架六大功能模块的相互协作对移动微云中设备的各类资源进行管理和调度。该框架可以采用分布式的方式安装在多个核心移动设备上面,也可以集中安装于运算、存储、续航能力较强的移动设施,例如无人机、移动指挥车、移动通信车等上面,其他移动设备则采用加入的方式进入移动微云。加入的移动设备既可以是服务的提供者,提供其自身的计算、存储、传感器等资源,也可以是用户,对移动微云发出服务请求,利用移动微云完成其指定的任务。简单运维,且可以达到秒级或毫秒级的响应速度,可满足计算服务的实时性要求。克服了现有技术运维复杂,不能满足计算服务的实时性要求的缺陷。

具备较强的容错能力。本发明配置管理模块向业务发布模块发送可分片任务数据,将不可分片任务数据分发给工作机集群;业务发布模块根据任务调度模块接受分片任务列表获取运算任务,按照任务运算要求,向工作机集群分发任务运算的算法包,将任务运行日志、指令发送至工作机集群,并汇报至状态管理模块;利用移动微云将分布式的资源进行整合为一体,使整体架构具备强大的容错和可扩展能力,且运维简单,无数据丢失,非常符合移动设备协作的要求。

扩展能力。本发明采用状态管理模块对业务发布模块的状态进行管理,收集业务发布模块的运行速度信息,将实时监控工作机集群的会话状态送入管控服务模块人机交互接口,对当前状态管理模块节点处理任务的状态信息进行交互,提供可视化界面,向配置管理模块反馈单个节点做停用、启用和终止信息。可满足计算密集型的移动应用需求。利用实时并行流式计算模型构建的移动微云计算系统,并且可以随着需求的变化而轻易拓展,符合移动设备组网的特点。克服了现有技术应用最成功的云计算技术hadoop更适用于离线批量数据处理,属于数据密集型并行计算,且延迟大、响应缓慢、运维复杂,不能满足计算服务的实时性要求的缺陷。

处理过程高效。本发明基于分布式实时计算系统storm进行设计,将多移动设备的资源进行整合,并利用了storm的流式处理方式,即可连续处理源源不断流进来的数据业务,处理之后将结果写入某个存储资源中的方式。将分布式实时计算框架基于storm技术构建和管理,把一个需要巨大计算能力才能解决的问题分解成许多小部分即分片,然后把这些小部分分配给多个移动设备进行并行处理,最后综合这些处理结果获得最终结果,将分布式实时移动微云的计算优势体现在系统协同式地对分片任务的并行处理能力,处理过程高效。

本发明适用于移动设备的整合与互联。可广泛应用于需要高密集计算资源的移动应用,尤其是不适合将大量数据进行传输至远程云端进行处理或不具备稳定的远程通信链路(例如:基础通信设施不健全或被破坏地区)的灾难搜救、野外工作、野外旅行等场景。

附图说明

图1是本发明分布式实时移动微云计算系统的示意图。

图2是本发明分布式实时移动微云计算系统的原理图。

图3是本发明模块间的通信架构图。

图4是本发明数据完整性保障流程。

下面结合附图和具体实施方式对本方法进一步说明

具体实施方式

参阅图1、图2。分布式实时移动微云计算系统架构可以采用分布式的方式安装在多个核心移动设备上面(例如图中云中的智能手机、pda和笔记本电脑),也可以集中安装于运算、存储、续航能力很强的移动设施,例如云中的无人机、移动通信车等上面;其他移动设备(例如云外的智能手机、pda和便携式电脑等)采用加入的方式进入移动微云。加入的移动设备既可以是服务的提供者,提供其自身的计算、存储、传感器等资源,也可以是用户,对移动微云发出服务请求,利用移动微云完成其指定的任务。分布式实时计算框架基于storm技术构建和管理,利用storm的流式处理方式,连续处理源源不断流进来的数据业务通过任务调度模块分解成许多小部分即分片,经配置管理模块、业务发布模块、工作机集群、状态管理模块和管控服务模块处理之后,将结果写入某个存储资源。任务调度模块、配置管理模块、业务发布模块、状态管理模块和管控服务模块可以分布式地布置在云中的几台核心移动设备上或资源更强的移动设施上,是移动微云的管理核心。工作机集群即是指系统中专门用于任务处理的计算资源,是移动微云的计算核心。工作机集群以工作机为节点,每个节点都是无状态的,因此集群中的节点数量可以按需增加或者减少,在任务执行过程中也可以随时加入或退出,这些操作都不会影响执行结果,因此适合移动设备可能因为网络连接、电源续航等原因随时加入或退出的情况。如果不考虑网络传输瓶颈,条件允许的情况下也可通过wi-fi等网络技术创建无线局域网,增加移动设备之间的通信吞吐量。移动微云的执行效率与工作机节点的数量成正比。因此对于复杂度高的任务,可以通过增加工作机节点的方式来达到任务执行的实时性。

本实施例的分布式实时移动微云计算系统架构,包括:任务调度模块、配置管理模块、业务发布模块、状态管理模块、管控服务模块和工作机集群。在移动微云计算框架中,任务调度模块根据任务/数据入口接收到的任务请求,向移动微云发起任务,依据接收到的任务类型以及配置管理模块的计算资源信息,将任务指派到不同的执行模块;配置管理模块向业务发布模块发送可分片任务数据,将不可分片任务数据直接分发给工作机集群;业务发布模块根据任务调度模块接受分片任务列表获取运算任务,按照任务运算要求,向工作机集群分发任务运算的算法包,将任务运行日志、指令发送至工作机集群,并汇报至状态管理模块;工作机集群接受运算任务,根据业务发布模块的运算请求,动态加载任务运算算法包,执行任务并返回任务结果及状态,并将任务运行日志及指令汇报给状态管理模块;状态管理模块对业务发布模块的状态进行管理,收集业务发布模块的运行速度信息,将实时监控工作机集群的会话状态送入管控服务模块人机交互接口,对当前状态管理模块节点处理任务的状态信息进行交互,提供可视化界面,向配置管理模块反馈单个节点做停用、启用和终止信息。

参阅图3。移动微云计算系统框架可以采用以业务发布模块为中心的分布式架构,移动微云计算框架内各模块的通信方式均基于原生通信协议,其中,配置管理模块对内接口基于http协议,任务调度模块、管控服务模块和状态管理模块的对外接口基于udp协议,为了达到高速传输,业务发布模块、工作机集群和用户机直接采用一种自研的消息队列模式。

自研的消息队列模式有两种,分别是请求应答模式和管道模式,请求应答模式是每次任务的获取都是一问一答的方式,当发送消息过后,必须收到一个回应的消息过后才能发送新的消息。此种方式能很好地保证数据完整性,避免在任务过程中由于意外中断而导致大量任务重发的情况,但它在性能上可能略低于管道模式。管道模式是通过负载均衡的方式将数据发送给每一个接收端,每回合的传输量大,性能也会优于请求应答模式。两种模式分别适用于不同的业务场景:如果业务要求精确计算结果,则通常使用请求应答模式;如果业务需要高效传输而少量错误不会对结果造成影响,则可使用管道模式。

参阅图4。数据的完整性保障是分布式系统的一项重要指标,尤其是在本发明的移动设备互联情况下,设备间的通信连接可能不稳定,移动设备也可能会随时进入或退出,均可能影响数据的完整性。本实施例中通过缓存已发送列表的方式来协助结果合并及去重操作,保障数据的完整性。业务发布模块采用业务发布机接收到可分片任务后送到业务分片服务,业务分片服务将每个分片任务分装成为一个任务包,并附带一个“未被领取”状态;当工作机获取到任务包后,将任务包状态更改为“未执行成功”状态;工作机执行算法成功后,将任务包的执行结果交给结果合并服务模块进行去重操作,结果合并服务模块将任务包状态更改为“已完成”。当“未执行成功状态”的任务包长时间没有被更新为“已完成”状态,则任务分片服务会认为任务包执行失败,并重新发起任务包,因此任务执行过程可能会存在一个任务包多次发出的情况,因此结果需要进行去重操作并合并。结果合并服务模块通过数据存储缓存已发送列表的方式来协助结果合并及去重操作,保障数据的完整性。

以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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