一种适用于在线数据密集型应用的请求多副本任务执行方法

文档序号:9200223阅读:469来源:国知局
一种适用于在线数据密集型应用的请求多副本任务执行方法
【技术领域】
[0001] 本发明涉及云计算的在线数据密集型应用,更特别地说,是指一种适用于在线数 据密集型应用中,且具有面向低响应时延应用的、能够节省计算资源的请求多副本调度方 法。
【背景技术】
[0002] 云计算(Cloud Computing)是网络计算(Grid Computing)、分布式计算 (Distributed Computing)、并行计算(Parallel ComPuting)、效用计算(Utility ComPuting)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载 均衡(Load Balance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多 个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS、 IaaS、MSP等先进的商业模式把这强大的计算能力分布到终端用户手中。
[0003] 云计算的基本原理是:在大量的分布式计算机集群上,通过虚拟技术使这些硬件 基础设施形成集群,实现不同的资源池(如存储资源池、网络资源池、计算机资源池、数据 资源池和软件资源池),对这些资源池实现自动管理,部署成不同的服务(Service)供用户 (User)使用。
[0004] 由于云计算分为SaaS、PaaS和IaaS三种类型,目前各个厂商还没有统一的标准, 不同的厂商又提供了不同的解决方案,直接导致了用户(User)在选择解决方案时的困惑。 2013年8月第1版《云计算应用技术》,作者万川梅,第9页和第10页介绍了云计算的构成, 如图1所示。图中的"任务执行(Task Execution)"是为了响应用户(User)的需求。
[0005] 近年来,在线数据密集型(On Line Data Intensive,0LDI)应用成为云计算研宄 中的热话题。应用(Application)对于访问延迟和吞吐量等性能参数有很高的要求,所述 应用(Application)如社交网络、信息检索和电子商务等。
[0006] 在线数据密集型应用的发展十分迅速,"在线"表示应用(Application)需要与用 户(User)进行大量交互,"数据密集"意味着应用(Application)的单次请求往往牵涉到成 百上千台服务器以及TB级的数据量。这类应用(Application)通常要求单次请求的响应 时间(Response time)为秒级甚至毫秒级,过长的响应时间不仅影响了用户(User)体验, 更损害了服务提供商的收益。例如对于搜索服务bing,其响应时间每超过500毫秒就会导 致其收益降低1. 2% ;而电子商务则对响应时间更为敏感,来自amazon的数据显示,响应时 间每超过100毫秒将导致商品销售量下滑1 %。因此,保障这类延迟受限类应用的服务质量 (Quality of service)具有重要的商业价值。
[0007] 目前,在线数据密集型(On Line Data Intensive,0LDI)应用采用从后端从节 点的角度彻底解决任务运行时间的不确定性,然而这种不确定性的影响因素是来自多方 面的,包括网络拥塞,后端从节点内其它后台进程的干扰、调度策略、能耗管控等等。这些 因素很难得到彻底解决,而且由于应用(Application)的多样性,寻求一种具有普适性的 解决方案也并不现实。因此,目前的研宄主要集中于提高后端主节点对后端从节点不稳 定性的容忍程度,典型的方法为多副本执行,但这种方法实质上是通过占用大量物理资源 (Physical Resources)实现的,而事实上,这些物理资源(Physical Resources)并不都是 必需的。此外,当系统负载(Load)较高时,盲目的多副本执行会加重后端从节点的负载,反 而使任务运行时间的不确定性更为严重,进而影响到应用的服务质量。

【发明内容】

[0008] 为了克服在线数据密集型应用中传统多副本执行方法存在的物理资源(Physical Resources)浪费、以及无法满足高负载(Load)下应用的服务质量(Quality of service) 的缺陷,本发明提出一种适用于在线数据密集型应用的请求多副本任务执行方法。
[0009] 本发明技术方案是:将在线数据密集型应用(On Line Data Intensive Application,0LDIA)如何根据后端从节点(Back-end slave node)的运行状态(Running Status)、任务运行特征(Task Running Characteristics)以及应用的实时负载 (Application Realtime Load)来动态调节多副本(Multi Replica)的任务执行,从而合理 分配物理资源(Physical Resources),提高了应用的服务质量(Quality of service)。与 传统的多副本任务执行策略相比,对于保障相同服务质量目标,使用的物理资源更少,同时 在应用负载较高时,各后端从节点能够自适应地调节任务的多副本执行比例。
[0010] 本发明公开了一种适用于在线数据密集型应用的请求多副本任务执行方法,该方 法包括有设置执行任务系统所需的初始量和参考量的步骤,记录副本的各个时间特性的步 骤,判断时延的步骤和检查、更新后端从节点状态参考量的步骤。
[0011] 本发明提出了一种适用于在线数据密集型应用的请求多副本任务执行方法,所要 解决的是如何减少多副本执行在保障"在线数据密集型应用"服务质量时占用的额外资源 的技术问题,该方法通过利用滑动窗口提取副本特征,并对后端从节点进行性能预测,动态 调节任务的多副本比例,使"在线数据密集型应用"系统能够有效地适应负载水平的动态波 动;从而提高了"在线数据密集型应用"系统资源的使用效率的技术效果。
[0012] 本发明提出的一种适用于在线数据密集型应用的请求多副本任务执行方法的优 点在于:
[0013] ①与传统的多副本执行方法相比,对于保障相同服务质量目标,本发明方法使用 了更少的计算资源。运行于在线数据密集型应用中,能够提高在线数据密集型应用的响应。
[0014] ②面对较高的负载水平,本发明方法能够始终保持在线数据密集型应用的服务质 量目标,更有效地适应负载水平的动态波动。
[0015] ③本发明方法不改变传统在线数据密集型应用的架构,具有广泛的适应性;以及 在置入现有的在线数据密集型应用时,接口设置简单。
【附图说明】
[0016] 图1是云计算的结构框图。
[0017] 图2是传统在线数据密集型应用的架构框图。
[0018] 图3是本发明后端从节点的状态转移框图。
[0019] 图4是本发明适用于在线数据密集型应用的请求多副本任务执行的原理图。
[0020] 图5为本发明适用于在线数据密集型应用的请求多副本任务执行的流程图。
[0021] 图6是本发明后端从节点运行副本的时间关系示意图。
[0022]

【具体实施方式】
[0023] 下面将结合附图对本发明做进一步的详细说明。
[0024] 在图1所示的云计算体系中,"任务执行(Task Execution) "是为了响应用户 (User)的需求。而"任务执行"的服务质量通常采用响应时延(或称响应时间)来评价。
[0025] 针对在线数据密集型(On Line Data Intensive,0LDI)应用普遍采用了主从 架构,如图2所示,首先,前端节点(Front-end node)向后端主节点(Back-end master node)发送请求(Request),后端主节点将请求解析为一组并行的副本(Replica),并将副 本(Replica)发送至相应后端从节点(Back-end slave node)上。这种方式可以有效降低 请求的响应时间(Response time),但请求的响应时间(Response time)取决于同组中运行 时间(Run time)最长的副本(Replica)。
[0026] 本发明方法的技术方案为:后端主节点将所有副本(Multi Replica)同时发送至 多个后端从节点(即后端A从节点、后端B从节点、后端N从节点)上,然后采用运行时间 最短的返回结果;各后端从节点可以根据自身状态,在副本(Replica)开始前就对副本运 行时间(Run time)能否符合服务质量要求做出判断,若不符合,则该副本不必再占用该后 端从节点的物理资源。
[0027] 为了克服在线数据密集型应用中传统多副本执行方法存在的物理资源(Physical Resources)浪费、以及无法满足高负载(Load)下应用的服务质量(Quality of service) 的缺陷,本发明提出一种适用于在线数据密集型应用的面向低响应时延应用且节省计算资 源的请求多副本执行方法。
[0028] 在本发明中,后端主节点的标识号记为bm。后端从节点的标识号记为bs,设置后 端从节点的个数为N个,在线数据密集型应用的系统中,如图2所示后端A从节点记为bsA, 后端B从节点记为bsB,后端N从节点记为bsN,也称为任意一个后端从节点bsN。
[0029] 在本发明中,任意一后端从节点bsN在滑动窗口 Windows时间内,统计接收到的所 有副本(Multi Replica)运行于在线数据密集型应用系统中的服务
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1