云平台下的医疗大数据访问方法与流程

文档序号:12478303阅读:278来源:国知局

本发明涉及云存储,特别涉及一种云平台下的医疗大数据访问方法。



背景技术:

云存储采用了云计算、分布式文件系统以及服务器集群等技术,将网络中各种存储资源聚合起来,共同对外提供数据存储和业务访问功能,在医药科研、生产和贸易服务领域有着广泛应用。目前的云存储分为公有服务型存储,即对企业或者个人提供存储服务;一种是私有架构型云存储,即企业内部搭建的基于存储服务器集群和分布式文件系统,部署在企业数据中心或者安全的节点托管场所,为企业自身提供相应的存储服务。医药云存储平台保密性较高,且存储过程无需太多I/O操作,因此采用搭建私有云存储系统来保存其药品数据文件是最好的选择。目前,私有云存储搭建方案有很多种:包括键值型分布式文件系统,采用了分组的方式,服务器集群由一个或多个组构成,同组内的业务节点为互备关系。采用分组存储的方式能够使存储服务器集群更加灵活,可控性也相对较强。然而,Hadoop作为一个开源的分布式存储计算框架,也有着它自身的缺点。那就是系统架构设计复杂,运行维护难度较大。对云存储平台的使用不仅需要多方面的知识积累,而且在其运行维护方面也有很多技能去学习掌握,从一定程度上限制了医药云存储平台的行业推广和使用。在搭建医药信息云存储平台中,还有两个影响部署和系统性能的问题:第一个是运行过程中,节点容易发生故障。一旦节点故障发生而不能准备及时地进行处理,就会影响多个节点的存储服务器集群搭建过程中,每个节点都有很多重复的操作,使得搭建过程非常繁琐而且容易出错;第二个是因为节点均为普通个人计算机,而非小型机或大型机之类的专用服务器,因此数据在使用过程中,受到诸如CPU,内存以及磁盘I/O等影响较为严重。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种云平台下的医疗大数据访问方法,包括:

在云存储平台的数据访问过程中,获取存储负载平衡策略和数据访问频率,根据所述策略和频率分配存储节点,以对服务器集群进行优化。

优选地,还包括:所述云存储平台设置服务监视线程,对管理节点的云存储平台服务进行轮询,实时监视服务器集群上各个节点的运行状态,同时实现对节点进行增加和删除操作;采用观测者模式来实现云存储平台服务监视器,其中节点管理器为观测者,云存储平台服务监视器为被观测者;监视包括监视服务器集群运行状况,包括所有节点运行状况,文件系统使用情况;管理包括服务器集群节点和服务的开启、关闭,节点的增加和删除;管理节点启动服务器集群监视,周期性地发起节点信息获取服务器集群节点指标,同时由云存储平台节点管理器来选择节点增加或者删除的操作;如果有新节点要加入服务器集群,则云存储平台节点管理器获取待加入服务器集群的节点信息,将该信息发送给云存储平台节点监视器,通过执行相关Shell命令,判断该节点是否可以加入到服务器集群,并反馈相关信息给云存储平台节点管理器,由节点管理器来选择节点的具体行为,在节点删除时首先从云存储平台节点管理器中将要删除的节点信息发送给云存储平台节点监视器,监视器判断该节点的状态,执行节点移除操作;在云存储平台的文件系统中设置节点选择与调度监视器,其中节点选择策略实现于名字节点之中,由名字节点在选择业务节点时调用,调度监视器用来监视服务器集群运行状况,包括数据块的访问频率以及业务节点的存储容量,系统在闲置状态时,管理节点根据数据访问频率和系统容量,调度副本存放位置;文件上传之前,业务节点向名字节点发出写数据请求,名字节点调用节点选择模型,通过调度监视器,获取服务器集群运行信息,计算节点的存储比例,计算每个机架节点的存储比例,并按照备份因子个数,优先选择存储比例最高的节点组成节点队列发送给客户端,由客户端将待存储的数据分割成多个数据块,存储在不同的业务节点上;在所有文件已经保存于服务器集群之后,通过调度监视器收集服务器集群运行信息,获取到所有节点的数据访问频率及所有节点的存储容量,若数据的访问频率超过预定义阈值,则将副本放置在访问频率最低的节点上;若系统剩余容量低于阈值,则将副本放置在存储比例最高的节点。

本发明相比现有技术,具有以下优点:

本发明提出了一种云平台下的医疗大数据访问方法,简化了服务器集群部署方式,避免用户直接对服务器集群进行操作,保证存储节点的合理性和数据稳定性。

附图说明

图1是根据本发明实施例的云平台下的医疗大数据访问方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种云平台下的医疗大数据访问方法。图1是根据本发明实施例的云平台下的医疗大数据访问方法流程图。

为了更好地管理服务器集群,本发明对云存储平台分布式框架运行过程的整个生命周期进行自动化管理,包括安装,搭建以及监视,提供可视化界面,提高管理员的效率。同时存储资源控制系统进行故障报警及处理。除了对服务器集群的运行维护操作,还需要对服务器集群的性能进行优化。服务器集群中新增节点后,重新优化服务器集群性能。针对云存储服务器集群在部署、运行维护与使用过程中的种种问题,本发明针对搭建的服务器集群,利用数据读写阶段的节点调度优化模型,来实现服务器集群的便捷管理与优化。本发明将针对服务器集群的部署框架、节点管理和服务器优化调度的方面进行详细说明。

本发明采用主从结构,包含一个管理节点和多个业务节点。管理节点用于与业务节点交互,接受业务节点发送的心跳请求,完成集中式管理监视逻辑,而每个业务节点负责所在节点的状态采集及维护工作。管理节点部署在单独的节点,作为服务器集群部署框架的管理节点,其职责是接收用户发送的命令执行请求,随后向业务节点发送命令,采用JSON方式来发送命令,该JSON数据包括了安装、开始、停止服务的配置信息。

业务节点部署在所有待加入服务器集群的节点上,用来执行由管理节点发送的执行任务请求,所执行的脚本存储在管理节点上的指定目录下,该脚本将业务节点接收来自管理节点的命令文件的内容转化为字典格式,便于脚本实现部署时对配置的使用。在部署过程中的状态和行为传递均为由管理节点发送给业务节点,业务节点接收到某个操作行为,通过行为执行线程来执行对应的方法,并将执行后的消息通过消息队列反馈给管理节点。

在服务器集群部署过程中,操作人员通过页面执行不同的行为,管理节点将该行为发送给业务节点,.再由业务节点的行为执行线程来执行对应的操作,完成服务器集群部署。在业务节点执行过程中,将服务器集群中的状态信息发回给管理节点,由管理节点的有限状态机来进行判断。

在服务器集群节点配置中,本发明默认所有节点均已经成功安装操作系统,无论是物理机还是虚拟机。节点加入到服务器集群中有两个步骤,第一是双方安全认证,第二是节点名的配置。双方安全认证采用Shell脚本来编写,系统执行该脚本,将管理节点的公钥文件分发到各个业务节点,以达到无密码登录的状态。

配置服务器集群服务包括选择服务和选择服务所在节点。目前的服务信息写在JSON数据中,在选择服务时通过读取该JSON数据,获取所有的云存储平台服务,选择性地进行安装。在选择服务后,对将服务分配在对应的节点,这时会读取之前的节点列表,然后将每个服务进行节点选择。

在服务和节点的配置信息均己设置完毕后,系统会通过执行Shell,将对应的云存储平台服务安装包分发到对应的节点上,并进行安装。所有节点的服务配置信息进行同步。

服务器集群搭建完成后,服务器集群中节点随着数据量的增加而增加,节点的添加以及故障节点的处理的复杂度也呈指数级上涨。本发明利用节点管理,通过一个云存储平台服务监视线程,对管理节点的云存储平台服务进行轮询,实时监视服务器集群上各个节点的运行状态,同时实现对节点进行增加和删除操作。

节点管理采用观测者模式来实现云存储平台服务监视器,其中节点管理器为观测者,云存储平台服务监视器为被观测者。监视包括监视服务器集群运行状况,包括所有节点运行状况,文件系统使用情况。管理包括服务器集群节点和服务的开启、关闭,节点的增加和删除等。

云存储平台服务器搭建完毕后,管理节点会启动服务器集群监视,周期性地发起节点信息获取服务器集群节点指标。同时由云存储平台节点管理器来选择节点增加或者删除的操作。

如果有新节点要加入服务器集群,则需要云存储平台节点管理器获取待加入服务器集群的节点信息,再将该信息发送给云存储平台节点监视器,通过执行相关Shell命令,判断该节点是否可以加入到服务器集群,并反馈相关信息给云存储平台节点管理器,由云存储平台节点管理器来选择节点的具体行为。同理,节点删除也需要首先从云存储平台节点管理器中,将要删除的节点信息发送给云存储平台节点监视器,监视器判断该节点的状态,执行节点移除操作。

本发明提出的服务器优化包括节点选择与存储调度。节点选择是指数据在写入前通过某些策略地指定存储节点,能够保证存储负载平衡,存储调度是指数据写入后,根据访问频率或节点存储容量来重新分配副本存储节点,使得系统能够更加高效地运行。

文件系统设有节点选择与调度监视器。其中节点选择策略实现于名字节点之中,由名字节点在选择业务节点时调用。调度监视器用来监视服务器集群运行状况,包括数据块的访问频率以及业务节点的存储容量,系统在闲置状态时,管理节点根据数据访问频率和系统容量,调度副本存放位置,提高系统运行效率。

节点选择具体包括,文件上传之前,业务节点向名字节点发出写数据请求,名字节点调用节点选择模型,通过调度监视器,获取服务器集群运行信息,计算节点的存储比例,计算每个机架节点的存储比例,并按照备份因子个数,优先选择存储比例最高的节点组成节点队列,发送给客户端,由客户端将待存储的数据分割成多个数据块,存储在不同的业务节点上。

存储调度具体包括,在所有文件已经保存于服务器集群之后,通过调度监视器收集服务器集群运行信息,获取到所有节点的数据访问频率及所有节点的存储容量,在服务器集群处于闲置状态时,管理节点根据获取到的数据,进行存储调度。若数据的访问频率超过预定义阈值,则将副本放置在访问频率最低的节点上;若系统剩余容量低于阈值,则将副本放置在存储比例最高的节点。

以下针对服务器优化调度模型,对其监视器以及优化策略进行描述。

首先,服务器集群运行信息需要通过云存储平台运行信息测量和展示框架进行监视,所述框架对测量工具进行扩展,提供了一个可以展示实时和历史数据的工具,帮助监测和调度云存储平台相关的任务。

本发明中的云存储调度分为两个阶段。其中第一个阶段为文件写入时的业务节点选择,是通过优化节点选择策略来实现。客户端在节点选择分为两种方式:客户端在服务器集群节点上的选择策略与客户端在服务器集群节点外的选择方式。实现方式如下:

假设服务器集群有n个机架,每个机架有TR台业务节点,副本数为r

若客户端在服务器集群业务节点上,则

a)客户端向管理节点发出写数据请求;

b)管理节点根据文件内容及系统配置情况,计算客户端所在机架的所有业务节点存储比例,过程如下

设客户端在第i台机架,初始化被选节点集合SDN为空;

该机架第j个节点的剩余容量为CLij,存储的块数为BLij,节点的存储优选比例RSij=CLij/BLij,将存储优选比最高的两个节点放入被选节点集合,即SDN={DNia、DNib};其中DNia、DNib表示第i个机架上的a和b业务节点,

c)从剩余每个机架中计算r-2个存储比最大的节点,排序后选择最大的r-2个节点放入被选节点集合SDN,共r个节点,用来存放数据块及其副本;

d)管理节点将SDN集合中的节点分配业务节点给客户端,由客户端来写入。

当客户端不在业务节点上时,则直接计算服务器集群中所有节点的存储比例,选择前r个最大的节点,即为数据存储节点。从个节点中,根据RSij=CLij/BLij选出存储比例最高的r个节点,放入SDN列表中,即为选中的最优节点。

综上所述,本发明提出了一种云平台下的医疗大数据访问方法,简化了服务器集群部署方式,避免用户直接对服务器集群进行操作,保证存储节点的合理性和数据稳定性。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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