基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法与流程

文档序号:13937522阅读:169来源:国知局
基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法与流程

本发明涉及计算机技术领域,尤其涉及分布式存储领域,具体是指一种基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法。



背景技术:

分布式存储系统为满足安全性,数据一般有冗余,也就是具有n(n>1)份副本,经典应用部署结构里,应用程序所在节点和存储节点往往是分离的集群,即使在超融合架构里,应用程序节点和存储节点虽然共处同一个集群,但是因为分布式系统的随机散乱分布特点,应用程序所在物理节点和数据块实际存放节点也往往不同。

为了满足应用层的数据请求,应用程序节点的请求需要跨越网络层到达数据块实际存放节点,然后进行传统的存储介质访问得到数据内容,最后再通过网络层传输回应用程序所在节点,这就不可避免地造成了分布式存储的访问延时增大、网络抖动敏感等问题。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现有效预防网络抖动并减小网络带宽占用和降低数据访问延时的基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法。

为了实现上述目的,本发明的基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法如下:

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统,其主要特点是,所述的系统包括:

应用程序数据访问控制模块,用于拦截应用程序向分布式存储系统发送的数据访问请求,并根据该数据访问请求进行数据分块处理、进行本地数据副本的判断处理和数据访问构建处理;

应用程序本地节点模块,与所述的应用程序数据访问控制模块相连接,用于存储所述的应用程序数据访问控制模块所构建的本地数据副本;

分布式系统数据存储控制模块,通过网络与所述的应用程序数据访问控制模块相连接,用于与该应用程序数据访问控制模块相配合进行数据同步处理。

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统的应用程序数据访问控制模块包括:

数据访问请求拦截子模块,用于拦截所述的数据访问请求并对该数据访问请求中传送的数据进行分块;

本地数据访问仲裁子模块,用于判断该数据访问请求拦截子模块分块后的数据是否存在于所述的应用程序本地节点模块中;

增量数据同步子模块,通过网络与所述的数据存储控制模块相连接,用于根据所述的应用程序本地节点模块中按需构建的本地数据副本的更新信息向所述数据存储控制模块推送数据更新信息。

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统的分布式系统数据存储控制模块中具有后端存储同步子模块,该后端存储同步子模块通过网络与所述的应用程序数据访问控制模块相连接,用于所述的分布式系统数据存储控制模块和应用程序数据访问控制模块之间的数据同步处理。

该基于上述系统实现按需构建应用程序访问的数据副本的方法,其主要特点是,所述的方法包括以下步骤:

(1)分布式存储系统接收应用程序发送的数据访问请求;

(2)所述的应用程序数据访问控制模块拦截该数据访问请求,并根据该数据访问请求进行数据分块处理;

(3)所述的应用程序数据访问控制模块根据该分块后的数据进行本地数据副本的判断处理;

(4)所述的应用程序数据访问控制模块根据所述的数据访问请求对所述的应用程序本地节点模块中的本地数据副本进行数据访问构建处理。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块包括数据访问请求拦截子模块,所述的步骤(2)具体为:

所述的数据访问请求拦截子模块拦截所述的数据访问请求并对该数据访问请求中传送的数据进行分块。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块还包括本地数据访问仲裁子模块,所述的步骤(3)包括以下步骤:

(3.1)所述的本地数据访问仲裁子模块接收该分块后的数据,并判断所述的应用程序本地节点模块中是否存在对应可用的本地数据副本;

(3.2)若所述的应用程序本地节点模块中存在可用的本地数据副本,则返回存在可用的本地数据副本的结果;否则返回不存在可用的本地数据副本的结果。

该实现按需构建应用程序访问的数据副本的方法的步骤(4)包括以下步骤:

(4.1)若返回结果为不存在可用的本地数据副本,则继续步骤(4.2);否则进入步骤(4.3);

(4.2)根据分布式系统中的数据副本在该应用程序本地节点模块中进行本地数据副本的创建;

(4.3)判断所述的数据访问请求类型,若该数据访问请求类型为读请求,则所述的应用程序数据访问控制模块直接读取该应用程序本地节点模块中存在的本地数据副本,并结束整个过程,否则进入步骤(4.4);

(4.4)根据该数据访问请求将相应的数据更新信息写入到所述的应用程序本地节点模块中的本地数据副本中;

(4.5)所述的应用程序数据访问控制模块通过与所述的分布式系统数据存储控制模块之间的交互,对所述的应用程序本地节点模块中的本地数据副本与分布式系统中的数据副本进行同步。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块包括增量数据同步子模块,所述的数据存储控制模块包括后端存储同步子模块,所述的步骤(4.5)包括以下步骤:

(4.5.1)将所述的应用程序本地节点模块中的本地数据副本的数据更新信息推送到所述的增量数据同步子模块中;

(4.5.2)所述的增量数据同步子模块将所述的数据更新信息推送到该后端存储同步子模块中;

(4.5.3)所述的后端存储同步子模块根据所述的数据更新信息对分布式系统中的数据副本进行数据更新操作。

附图说明

图1为本发明的基于分布式存储机制实现按需构建应用程序访问的数据副本的系统及方法的流程示意图。

图2为本发明的基于分布式存储机制实现按需构建应用程序访问的数据副本的系统及方法的各模块组成的架构示意图。

图3为现有技术中应用程序访问分布式系统的流程示意图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

本发明的基于分布式存储机制实现按需构建应用程序访问数据副本的系统及方法如下:

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统,其主要特点是,所述的系统包括:

应用程序数据访问控制模块,用于拦截应用程序向分布式存储系统发送的数据访问请求,并根据该数据访问请求进行数据分块处理、进行本地数据副本的判断处理和数据访问构建处理;

应用程序本地节点模块,与所述的应用程序数据访问控制模块相连接,用于存储所述的应用程序数据访问控制模块所构建的本地数据副本;

分布式系统数据存储控制模块,通过网络与所述的应用程序数据访问控制模块相连接,用于与该应用程序数据访问控制模块相配合进行数据同步处理。

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统的应用程序数据访问控制模块包括:

数据访问请求拦截子模块,用于拦截所述的数据访问请求并对该数据访问请求中传送的数据进行分块;

本地数据访问仲裁子模块,用于判断该数据访问请求拦截子模块分块后的数据是否存在于所述的应用程序本地节点模块中;

增量数据同步子模块,通过网络与所述的数据存储控制模块相连接,用于根据所述的应用程序本地节点模块中按需构建的本地数据副本的更新信息向所述数据存储控制模块推送数据更新信息。

该基于分布式存储机制实现按需构建应用程序访问数据副本的系统的分布式系统数据存储控制模块中具有后端存储同步子模块,该后端存储同步子模块通过网络与所述的应用程序数据访问控制模块相连接,用于所述的分布式系统数据存储控制模块和应用程序数据访问控制模块之间的数据同步处理。

该基于上述系统实现按需构建应用程序访问的数据副本的方法,其主要特点是,所述的方法包括以下步骤:

(1)分布式存储系统接收应用程序发送的数据访问请求;

(2)所述的应用程序数据访问控制模块拦截该数据访问请求,并根据该数据访问请求进行数据分块处理;

(3)所述的应用程序数据访问控制模块根据该分块后的数据进行本地数据副本的判断处理;

(4)所述的应用程序数据访问控制模块根据所述的数据访问请求对所述的应用程序本地节点模块中的本地数据副本进行数据访问构建处理,该本地数据副本,指代的是应用程序本身已经在客户端,但是应用程序执行数据访问请求期间,为了满足业务需求,需要从分布式存储系统读取数据或写入数据,因此该本地数据副本是可以进行读写双向过程的本地数据副本,而不单单只是对应用程序本身的拷贝。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块包括数据访问请求拦截子模块,所述的步骤(2)具体为:

所述的数据访问请求拦截子模块拦截所述的数据访问请求并对该数据访问请求中传送的数据进行分块。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块还包括本地数据访问仲裁子模块,所述的步骤(3)包括以下步骤:

(3.1)所述的本地数据访问仲裁子模块接收该分块后的数据,并判断所述的应用程序本地节点模块中是否存在对应可用的本地数据副本;

(3.2)若所述的应用程序本地节点模块中存在可用的本地数据副本,则返回存在可用的本地数据副本的结果;否则返回不存在可用的本地数据副本的结果。

该实现按需构建应用程序访问的数据副本的方法的步骤(4)包括以下步骤:

(4.1)若返回结果为不存在可用的本地数据副本,则继续步骤(4.2);否则进入步骤(4.3);

(4.2)根据分布式系统中的数据副本在该应用程序本地节点模块中进行本地数据副本的创建;

(4.3)判断所述的数据访问请求类型,若该数据访问请求类型为读请求,则所述的应用程序数据访问控制模块直接读取该应用程序本地节点模块中存在的本地数据副本,并结束整个过程,否则进入步骤(4.4);

(4.4)根据该数据访问请求将相应的数据更新信息写入到所述的应用程序本地节点模块中的本地数据副本中;

(4.5)所述的应用程序数据访问控制模块通过与所述的分布式系统数据存储控制模块之间的交互,对所述的应用程序本地节点模块中的本地数据副本与分布式系统中的数据副本进行同步,进行同步之后的数据副本使得当应用程序再次发送请求时,可以直接访问应用程序本地节点模块,而不需要跨越网络层到达数据块实际存放节点,然后进行传统的存储介质访问得到数据内容,最后再通过网络层传输回到应用程序本地节点模块,降低了分布式存储系统的访问延时以及网络抖动。

在一具体实施例中,该实现按需构建应用程序访问的数据副本的方法的步骤(4.3)和(4.4)还需判断该分块后的数据是否已经全部执行完该数据访问请求,如果是,则结束应用程序的数据访问请求,否则继续进行步骤(4)。

该实现按需构建应用程序访问的数据副本的方法的应用程序数据访问控制模块包括增量数据同步子模块,所述的数据存储控制模块包括后端存储同步子模块,所述的步骤(4.5)包括以下步骤:

(4.5.1)将所述的应用程序本地节点模块中的本地数据副本的数据更新信息推送到所述的增量数据同步子模块中;

(4.5.2)所述的增量数据同步子模块将所述的数据更新信息推送到该后端存储同步子模块中;

(4.5.3)所述的后端存储同步子模块根据所述的数据更新信息对分布式系统中的数据副本进行数据更新操作,进行数据更新操作后的分布式系统具有了n(n>1)份副本,其中一份在应用程序本地节点模块中,其他的副本(即n-1份)仍然随机散乱分布在分布式系统中,满足了系统的安全性,同时应用程序本地节点模块中的副本实现了本地存储快速访问的过程,降低了网络抖动的缺点。

在一具体实施例中,该实现按需构建应用程序访问的数据副本的方法的步骤(4.5.2)和应用程序的数据访问请求相互独立,即应用程序的数据访问请求速度不受增量数据同步子模块推送速度的影响。

采用了该发明中的基于分布式存储系统实现按需构建应用程序访问的数据副本的系统及方法,当增量数据同步子模块与后端存储子模块中的数据同步之后,数据块将永久保持同步状态,即对每个数据块,在应用程序执行流上,最多只会发生一次等待分布式存储的请求,因此当应用程序再次发送访问请求数据时,该应用程序可以完全依赖应用程序本地节点模块中本地副本的数据内容,采用上述方法的系统可明显地预防网络抖动,使得应用程序的访问请求数据不会因为网络丢包而被搁置,同时可减小网络带宽占用以及降低数据访问延时,具有更广泛的应用范围。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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