一种基于阵列模型的数据库系统的制作方法_4

文档序号:9865598阅读:来源:国知局
统管理员可W根据系统 实际运行情况对各参数进行调整;
[0106] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0107] 如果某数据库节点9在过去的时间t4秒内,其磁盘读写速率超过了最高速度的 h%,且当前的磁盘读写速率已经超过了最高速度的rXh%,则不让该数据库节点9参与任 务T及其子任务的执行,其中,0.6非。,300含*4。200,60%卽%。;本系统默认设置r =0.6,*4 = 300,}1%=60%,本数据库系统的系统管理员可^根据系统实际运行情况对各 参数进行调整;
[0108] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0109] 如果某数据库节点9在过去的时间t5秒内,其网络带宽利用率超过了最高带宽的 k%,且当前的网络带宽利用率已经超过了最高带宽的rXk%,则不让该数据库节点9参与 任务T及其子任务的执行,其中,0.6<r< 1,300 < *5。200,60% <k% < 1;本系统默认设 置r = 0.6,t5 = 300,k% =60%,本数据库系统的系统管理员可W根据系统实际运行情况对 各参数进行调整;
[0110] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0111] 如果某数据库节点9在过去的时间t6秒内,其任务队列中等待执行的任务的平均 等待时间为Ti,而其当前任务队列中的任务的预估平均等待时间已经超过了 rXTi,则不让 该数据库节点9参与任务T及其子任务的执行,其中,1.3含r,300含t6含7200;本系统默认设 置r = i.3,t6 = 300,本数据库系统的系统管理员可W根据系统实际运行情况对各参数进行 调整;假设当前的任务量为m,n2大于或等于1,本条中的Τι是一个相对参照时间,Ti = t6/n2。
[0112] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0113] 如果某数据库节点9在过去的时间t7秒内,其任务等待队列的长度为N,而该数据 库节点9当前的任务队列中等待执行的任务的数量已经超过了 rXN,则不让该数据库节点9 参与任务T及其子任务的执行,其中,1.3含r,300含t7含7200,10含N。本系统默认设置r = 1.3,t7 = 300,N=10,本数据库系统的系统管理员可W根据系统实际运行情况对各参数进 行调整。
[0114] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0115] 对于能够执行任务T及其子任务的η个数据库节点9,将它们记为CNi,CN2, ......CNn,若在过去的时间t8秒内,运行于CNl、CN连CNn上的任务的平均等待时间分别为 TCNi,TC化,......TCNn,若TCNi是TC化,TCN2,......TCN。中取值最小者,则分配数据库节点 CNi参与任务T及其子任务的执行,对于任务平均等待时间相同的数据库节点9,则按照数据 库节点9可用内存量更大、CPU利用率更低的优先原则,进行任务分配;其中,300 <t8< 7200。本系统默认设置t8 = 300,本数据库系统的系统管理员可W根据系统实际运行情况对 参数进行调整。
[0116] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0117]若所有的数据库节点9不具备参与执行任务T及其子任务的资格,则将任务T分成 更多的子任务,然后按照在过去t9秒内,任务队列中的任务的平均等待时间最短的数据库 节点优先的原则,分配对应的数据库节点9参与任务T及其子任务的执行,对于任务平均等 待时间相同的数据库节点9,则按照可用内存量更大、CPU利用率更低的优先原则,进行任务 分配,其中,300含t9含7200。本系统默认设置t9 = 300,本数据库系统的系统管理员可W根据 系统实际运行情况对参数进行调整。
[011引实施例2。
[0119] 1.架构
[0120] 如图1所示,FASTDB是一个针对大规模科学数据分析和管理的分布式系统。它采用 无共享(share-nothing)架构,由W下Ξ个子系统组成:数据处理子系统1,系统监控子系统 3和数据存储子系统2。数据处理子系统能够允许用户上传属于自己的科学数据并进行分析 处理和数据转换,而系统监控子系统能够实时监控所有数据库节点9,并且获得一系列的系 统监控日志。数据存储子系统2支持科学数据到SciDB存储引擎的无缝存储。数据处理子系 统1分配任务给数据存储子系统2,系统监控子系统3对数据存储子系统2进行性能监控并收 集性能信息后,反馈给数据处理子系统1。基于系统监控子系统3可W指定一系列自定义的 任务分配规则,W便数据处理子系统1更好的对任务的执行进行分配和调节;FASTDB能够被 部署在单个数据库节点9或者通过TCP/IP通信的集群环境中,其可扩展的构架也能应用于 基础云服务。
[0121] 所述的数据处理子系统1,包括协调者引擎4,协调者引擎4内设有第一执行引擎 12,协调者引擎4负责将用户要加载进本数据库系统的数据加载到各数据库节点9的本地存 储13中,并在元数据库5中更新各数据库节点9的本地数据的统计信息。
[0122] FASTDB系统使用SciDB作为后端存储引擎进行数据的存储处理。SciDB集群有多个 数据库实例,运些数据库实例被分布在不同的虚拟机(V^O上,运里采用的虚拟化技术是KVM 全虚拟化技术,指虚拟平台模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等, 使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可W在虚拟机中运 行。采用全虚拟化技术的虚拟机会把虚拟平台当作物理平台,工作在虚拟平台上的Guest操 作系统驱动就好像运行在真实的硬件之上。选择KVM的原因是主流Linux内核均内置KVM模 块,提供了简单的实现和对Linux重要任务的持续支持,同时它始终可W直接寻址硬件,无 需修改虚拟化的操作系统,简化了对虚拟化进程的控制。FASTDB集群所基于对各KVM虚拟机 16可由轻量级云平台统一管理。用户可使用AQL和Ai^L语言通过系统接口 SciDB-J和ique巧 来连接并操作SciDB数据库。用户通过前端上传自己的私有数据W后,FASTDB将把运部分数 据进行预处理并且转换为CSV的数据格式,最后存储到SciDB存储引擎中。此后,数据处理子 系统将可W按照用户的要求从存储子系统中获得数据进行各种分析并且返回处理结果给 用户。而系统所有的状态信息如CPU、内存、磁盘I/O的都通过监控子系统收集并呈现给用 户。
[0123] 2.系统监控
[0124] 为了改善FASTDB系统的任务执行性能,我们设计了系统监控子系统3。系统监控是 分布式系统中很重要的一个部分,监控机制能够判别系统状态的正常与否。此外,它还可W 监控网络的众多参数w及服务器的健康和完整性。大部分时候它都是系统性能优化的前 提。例如,当用户通过系统监控子系统3收到警告信息时能够够及时根据监控信息调整分析 任务使之达到性能最优化。
[01巧]系统监控子系统3包含监控客户端6和监控服务端8两个组件。FASTDB系统的每个 数据库节点9都要安装和配置监控客户端6。通过SNIP,监控客户端6能够收集各种各样的系 统信息。监控服务端8可W按预先定义的规则对收集到的监控信息进行处理,同时,允许用 户配置W电子邮件为基础的几乎所有事件报警。所有的监控信息包括静态信息和配置信息 都将被展示在基于Web浏览器的前端界面11上,基于Web浏览器的前端界面11通过FASTDB编 程接口 14与数据处理子系统1连接,通过监控系统界面10,用户可W清楚的了解系统当前状 态情况。所有的监控功能都能通过配置文件实现。系统监控子系统3结构框图如图2所示。 [0126]从被监控服务器的规模、扩展性、维护性上考虑,监控系统的构架被设计成监控服 务端8、监控代理端7和监控客户端6架构,其中间层是个监控代理端7。监控代理端7只会接 受监控服务端8的配置信息,再定时将数据传送给监控服务端8,监控服务端8按分配方法对 数据处理子系统1的分配任务进行调节。监控代理端7本地只保存最近没有发送的数据。所 有配置将在监控服务端8上进行。
【主权项】
1. 一种基于阵列模型的数据库系统,其特征在于:包括数据处理子系统(1),数据处理 子系统(1)分配任务给数据存储子系统(2),系统监控子系统(3)对数据存储子系统(2)进行 收集监控数据后,反馈给数据处理子系统(1),系统监控子系统(3)通过分配方法对数据处 理子系统(1)的分配任务进行调节; 数据处理子系统(1)用于数据处理、分析和转换; 数据存储子系统(2)用于支持数据到阵列数据库引擎的无缝存储; 系统监控子系统(3)用于实时监控所有数据库节点,并且获得系统监控日志。2. 根据权利要求1所述的基于阵列模型的数据库系统,其特征在于:所述系统监控子系 统(3),包括监控客户端(6),监控客户端(6)收集监控数据传送到
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1