一种无线云计算系统中分布式计算资源的选择方法
技术领域
本发明涉及无线云计算,尤其涉及一种无线云计算系统中分布式计算资源的选择方法,属于云计算网络技术领域。
背景技术
云计算网络在近年来迅速发展,其通过网络,以按需方式实现了软件、处理能力、存储等资源共享。随着互联网的发展,研究人员将云计算技术与互联网结合,产生一种新的应用模式,称为移动云计算。移动云是移动用户终端通过移动互联网以按需、易扩展的方式获得所需的应用。作为云计算的扩展,在无线云计算中,移动终端可以在任何时间、任何地点进行数据接入,以便用户在移动云计算环境中,通过移动设备使用应用程序以及访问信息时,有更好的用户体验。
但是,移动设备因为受到其自身体积和重量的约束导致移动设备的计算能力、存储容量和通过远程互联网服务提供的一些功能,已经很难满足大部分移动用户的需求。于是,利用云计算技术强大的计算处理能力和无限的存储容量等特点,为用户提供更好的服务。将无线通信技术与移动云计算结合,使得能力有限的移动设备不仅可以选择利用远端云计算中的计算资源,还可以就近利用周边资源丰富且闲置的终端资源,这种在有限范围内,由少数具有闲置计算能力且能够为用户的移动终端提供计算服务的计算单元组成的网络,就是本发明中研究的无线云计算网络。但是由于用户接入系统的随机性,导致系统中计算单元中处理的任务量不同,产生了终端的请求在系统中的延时太长,系统性能不理想等问题,为了提升用户体验,改善系统的性能,研究人员希望能够改善无线云计算系统中的计算资源利用方式。
发明内容
本发明的目的是在无线云计算系统中分布式计算资源的环境下,提供一种无线云计算系统中分布式计算资源的选择方法,充分利用计算资源,减少请求得到系统响应的时延,提高系统性能。
本发明的上述目的是这样实现的:一种无线云计算系统中的分布式计算资源选择方法,其特征在于:分布式计算资源由系统中同时具有通信资源和计算资源的多个计算单元CU组成,计算单元CU分散在系统中,这些计算单元CU在系统中的位置固定,为系统中的每个计算单元CU分配一个IP地址,IP地址是计算单元CU在系统中的唯一标识,计算单元CU处理用户终端的计算请求,包括以下步骤:
步骤1,系统根据计算单元CU的计算能力,计算出一个系统阈值,各计算单元CU的阈值相同,系统阈值用任务量表示,计算单元CU的空闲程度用其等待处理的任务量来衡量,如果计算单元CU待处理的任务量小于阈值,则表示这个计算单元CU空闲,反之,则表示这个计算单元CU忙碌;
步骤2,用户通过任何时间和任何地点进入系统,当用户进入系统范围的某个位置后,其持有的移动终端接入到系统中距离最近的一个计算单元CU,定义为初始计算单元CU,并向该初始计算单元CU发出计算请求,如果初始计算单元CU空闲,则初始计算单元CU将计算请求放入等待处理的任务中,如果初始计算单元CU忙碌,则寻找系统中其它空闲的计算单元CU,随机选择一个与其相邻的计算单元CU向其发送探测数据包,探测数据包中含有初始计算单元CU的IP地址,并等待收到探测数据包的空闲计算单元CU发送的反馈数据包;
步骤3,若收到探测数据包的计算单元CU如果是空闲的,表示能够处理用户的计算请求,该计算单元CU将计算请求放入等待处理的任务中,并根据探测数据包中携带的初始计算单元CU的IP地址,发送反馈数据包给初始计算单元CU,反馈数据包中含有发送反馈数据包的计算单元CU的IP地址,初始计算单元CU将用户的计算请求发送到空闲计算单元CU上;
步骤4,若收到探测数据包的计算单元CU如果是忙碌的,则该计算单元CU继续寻找系统中其它空闲的计算单元CU,再随机选择一个与其相邻的计算单元CU向其转发送探测数据包,以此类推,依次在计算单元CU之间将探测数据包转发给下一个相邻的计算单元CU,直至寻找到空闲的计算单元CU,该空闲的计算单元CU发送携带有自己IP地址的反馈数据包,反馈数据包的转发过程和探测数据包相同,根据探测数据包中的初始计算单元CU的IP地址,将反馈数据包依次转发给下一个相邻的计算单元CU,最终转发到初始计算单元CU的IP地址,初始计算单元CU将用户的计算请求发送到空闲计算单元CU上。
所述计算单元CU之间的探测数据包或反馈数据包的转发是根据计算单元CU的通信资源决定的,在通信距离内的相邻计算单元CU之间才能进行交互通信。
将计算单元CU分为K个刀片,每个刀片都是一个接入点,在同一时刻,一个计算单元CU可以同时接入K个用户的计算请求,用户计算请求进入计算单元CU之后,计算单元CU为每个将一个用户的计算请求分配到一个刀片中。计算单元CU在接收到一个用户的计算请求后,将计算请求加入排队等待处理的任务中,在刀片将一个计算请求处理完之后,计算单元CU会从排队等待的任务中选取一个任务分配到刀片上,用户的计算请求是在一个刀片上完成的。
所述发送探测数据包的初始计算单元CU,在发送出一段预设置的等待时间后,若依旧没有接收到系统中其他计算单元CU发送的反馈数据包,则会向系统中重新发送一个探测数据包。
所述探测数据包和反馈数据包均设有生命周期,收到探测数据包或反馈数据包的计算单元CU首先检查数据包是否在在生命周期内,在生命周期内的探测数据包或反馈数据包在计算单元CU之间被转发,超过生命周期则丢弃。
所述探测数据包和反馈数据包的生命周期设置为初始计算单元CU发出探测数据包后预设置的等待时间的1/2。
本发明的优点及显著效果:
1、本发明通过设计探测数据包和反馈数据包,快速找到系统中的空闲CU,处理用户的请求,减少用户在系统中的延时,提高了用户体验。
2、本发明通过将计算请求引导到空闲系统中CU中,实现了系统中计算资源的均衡利用,提高了系统性能。
3、本发明通过设计数据包的生命周期,控制系统中数据包的数量,减少了CU在转发数据包时占用通信资源,提高了系统的安全性。
附图说明
图1是无线云计算系统模型;
图2是CU处理用户请求流程图;
图3是CU发送探测数据包流程图;
图4是CU处理探测数据包流程图;
图5是CU处理反馈数据包流程图。
具体实施方式
下面结合附图实施例对本发明做进一步说明。
参看图1,假设无线云计算系统中设有(1)-(5)五个计算单元CU及(a)、(b)、(c)三个用户终端,根据CU的通信资源,CU之间的距离在一定范围内可以进行交互,超出不能够进行交互,5个CU中(1)与(2),(2)与(3),(2)与(5),(3)与(4),(4)与(5),(5)与(1)之间可以进行通信。终端(a)和(b)接入到距离最近的(1)号CU上,终端(c)接入到距离最近的(2)号CU上。
参看图2,为计算单元CU处理用户请求的流程图。当用户进入无线云计算系统后,移动终端接入系统中距离最近的计算单元CU并发出计算请求,接收到计算请求的CU为用户选择系统中空闲的CU处理计算请求。为了寻找系统中的空闲CU,CU向系统中发送探测数据包,探测数据包在CU之间转发,其中空闲程度比较大的CU在接收到探测数据包后,发送反馈数据包给发出探测数据包的CU,表示能够处理用户的计算请求,终端接入的CU接收到空闲CU的反馈数据包后,将计算请求发送到空闲的CU上。
以图1为例,假设系统中五个CU中只有(4)号CU空闲,其他CU均为忙碌状态。终端(a)接入到(1)号CU上,(1)号CU处理终端计算请求的步骤如下:
1、(1)号CU接收到终端(a)的计算请求,(1)号CU发现自身处于忙碌状态,不能够及时处理终端(a)的计算请求,则(1)号CU发出一个探测数据包,此探测数据包可以发送给与其相邻的(2)号CU或者(5)号CU,假设探测数据包发送给了(2)号CU,探测数据包中携带(1)号CU的IP地址。
2、(2)号CU接收到探测数据包,但是(2)号CU自身已经是忙碌状态不能协助处理其他的计算请求,然后(2)号CU将此探测数据包转发给其相邻的(3)号CU,同样地,(3)号也很忙碌,(3)号继续转发给了(4)号CU。
3、(4)号CU接收到探测数据包后,发现自己能够协助处理计算请求,所以将此探测数据包丢弃,发送一个反馈数据包,反馈数据包中携带(1)号CU的IP地址和(4)号CU的IP地址,其中(1)号IP地址从探测数据包中获得,表示此反馈数据包的目的CU地址,(4)号IP地址表示发送反馈数据包的CU的地址。(4)号CU将此反馈数据包发送给其相邻的某个CU上,假设发送给了(5)号CU。
4、(5)号CU接收到一个反馈数据包,检查数据包携带的信息,发现此数据包的目的地址是(1)号CU,不是自己的IP地址,于是(5)号CU继续转发这个反馈数据包,假设发送给了与其相邻的(1)号CU。
5、(1)号CU接收到反馈数据包,检查此数据包的目标地址是自己的IP地址。根据反馈数据包携带的另一个IP地址,(1)号CU将终端(a)的计算请求发送到反馈数据包携带的源CU地址上,即(4)号CU上。
在上述CU转发数据包的过程中,是随机选择一个相邻的CU。比如(1)号CU在发送探测数据包时,可以将探测数据包转发给(2)号或者(5)号中的一个,在上面的例子中是转发给了(2)号,但是现实情况是也可能是转发(5)号没有转发给(2)号。
探测数据包和反馈数据包转发的过程全部在数据包生命周期内,因此CU首先检查数据包是否到达生命周期再判断是否转发。探测数据包和反馈数据包的生命周期是预设置的,可设置为初始计算单元CU发出探测数据包后预设置的等待时间的1/2(一般是5跳)。
参看图3,为计算单元CU发送探测数据包流程图。计算单元CU收到终端的计算请求后,如果没有空闲,则检查是否向系统发出了探测数据包,如果没有发送,则发送,如果已发送,且没有超过等待时间,则继续等待,如果超过等待时间,再重新发送探测数据包。
参看图4,为计算单元CU处理探测数据包流程图。计算单元CU收到探测数据包后,如果有空闲,则不转发探测数据包,需发送反馈数据包;如果没有空闲,则检查探测数据包是否超过生命周期,超过则丢弃,没有超过则转发。
参看图5,为计算单元CU处理反馈数据包流程图。计算单元CU收到反馈数据包后,判断是否是发给自己的,如果是自己的地址,停止转发这个数据包,并且将计算请求发送到发送反馈数据包的CU上,如果不是自己的地址,则检查数据包的生命周期,判断是丢弃还是转发。