一种应用于机巡业务数据存储的分布式数据存储方法与流程

文档序号:30061476发布日期:2022-05-17 23:42阅读:91来源:国知局
一种应用于机巡业务数据存储的分布式数据存储方法与流程

1.本发明属于数据存储技术,涉及多平台多空间多设备的可扩展性存储技术,应用于机巡业务数据的存储优化方法,尤其涉及一种应用于机巡业务数据存储的分布式数据存储方法。


背景技术:

2.随着数字化转型的深入,海量数据对存储提出了新的要求。传统存储虽然有技术成熟、性能良好、可用性高等优点,但面对海量数据,其缺点也越来越明显:如扩展性差、成本高等。为了克服上述缺点,满足海量数据的存储需求,市场上出现了分布式存储技术。分布式存储系统,通常包括主控服务器、存储服务器,以及多个客户端组成。其本质是将大量的文件,均匀分布到多个存储服务器上。
3.业务系统在传输、处理的过程中产生大量的业务数据,系统会占用大量的存储空间,原始的集中存储,在安全性和可靠性上,随着业务数据的积累将很难可靠的运作,存储服务器将会成为系统性能的瓶颈。分布式数据存储技术的运用,通过网络及物理介质的连接,将零散的可用空间利用起来,形成高效安全、有序可靠的分布式数据存储空间,大大降低了硬件维护成本,提高了系统运行效率。
4.目前,在机巡业务数据存储中一般采用分布式存储有多种实现技术,如luster、ceph、gfs、switf、hdfs等;但是均存在存储方式对业务数据存储方法中的安全性、可靠性、可扩展性和存储层及内的优化问题。


技术实现要素:

5.本发明要解决的问题是:提供一种应用于机巡业务数据存储的分布式数据存储方法,以解决现有存储方式对业务数据存储方法中的安全性、可靠性、可扩展性和存储层及内的优化问题。
6.本发明的技术方案是:
7.7.一种应用于机巡业务数据存储的分布式数据存储方法,它包括:
8.步骤1、对机巡业务数据进行资源划分;
9.步骤2、数据通过负载均衡获得节点动态ip地址;
10.步骤3、将file用户需要读写的文件,进行file-》object映射;
11.步骤4、将不同的pg通过crush算法被分配到不同的osd。
12.步骤1所述对机巡业务数据进行资源划分的方法为:将机巡业务数据存储到ceph集群中,存储数据的同时把数据分割成一个以上对象,每个对象拥有唯一的身份序列标识,对象是ceph集群中最小的存储单元,采用crush算法实现数据的存放。
13.步骤2所述数据通过负载均衡获得节点动态ip地址的方法为:当数据包从负载均衡器往后端转发时候,真实源ip在l3、l4和l7实现。
14.通过负载均衡获得节点动态ip地址的方法具体包括:
15.步骤3.1、保持l3层源ip不变,根据连接次数分为:一次连接模式和二次连接模式;
16.步骤3.2、在l4层数据里,添加源ip信息,有2种模式:在4层的option字段里增加源ip信息;在4层末尾和7层开头之间,增加proxy protocol信息;
17.步骤3.3、在l7层数据里,增加源ip信息,有2种模式:协议自带和业务程序自行实现;
18.步骤3.4、一次连接与二次连接实现:
19.一次连接:负载均衡器对数据包仅做转发,而不对后端重新发起三次握手;
20.二次连接:和一次连接相对应,在tcp转发时候,对后端重新进行了三次握手。
21.步骤3所述file-》object映射的方法为:
22.a.ino(file的元数据,file的唯一id);
23.b.ono(file切分产生的某个object的序号,默认以4m切分一个块大小);
24.c.oid(object id:ino+ono)。
25.步骤4所述将不同的pg通过crush算法被分配到不同的osd的方法包括::
26.object是rados需要的对象。ceph指定一个静态hash函数计算oid的值,将oid映射成一个近似均匀分布的伪随机值,然后和mask按位相与,得到pgid;object-》pg映射:
27.a.hash(oid)&mask-》pgid。
28.b.mask=pg总数m(m为2的整数幂)-1;
29.采用crush算法,将pgid代入,然后得到一组osd,pg-》osd映射:
30.a.crush(pgid)-》(osd1,osd2,osd3)。
31.本发明的有益效果:
32.本发明根据目前广泛使用的ceph分布式数据存储技术的特点,设计了合理的业务数据存储算法和存储空间可扩展性的选择依据;解决了机巡业务数据存储这一应用场景下,业务数据存储的安全性、可靠性、可扩展性和存储层及内的优化问题。
附图说明
33.图1为本发明方法流程示意图。
具体实施方式
34.一种应用于机巡业务数据存储的分布式数据存储方法,所述方法包括:
35.步骤1、资源划分,编写算法:
36.将机巡业务数据存储到ceph集群中,存储数据的同时把数据分割成多个对象,每个对象拥有唯一的身份序列标识,对象是ceph集群中最小的存储单元。采用crush算法,在大规模集群下,实现数据的快速、准确存放。
37.步骤2、数据通过负载均衡获得节点动态ip地址;
38.当数据包从负载均衡器往后端转发时候,真实源ip可在l3、l4、l7实现。一、保持l3层源ip不变,根据连接次数可以分为:
39.(1)一次连接模式,如lvs
40.(2)二次连接模式,如haproxy的透明模式
41.二、在l4层数据里,添加源ip信息,有2种模式
42.(1)在4层的option字段里增加源ip信息,比如tcp option、udp option
43.(2)在4层末尾和7层开头之间,增加proxy protocol信息
44.三、在l7层数据里,增加源ip信息,有2种模式
45.(1)协议自带,例如http的x-forward-for
46.(2)业务程序自行实现
47.四、一次连接与二次连接
48.一次连接:负载均衡器对数据包仅做转发,而不对后端重新发起三次握手
49.二次连接:和一次连接相对应,在tcp转发时候,对后端重新进行了三次握手。上面所讲的l4和l7方法的负载均衡,都是二次连接。
50.步骤3、file用户需要读写的文件。file-》object映射:
51.a.ino(file的元数据,file的唯一id)。
52.b.ono(file切分产生的某个object的序号,默认以4m切分一个块大小)。
53.c.oid(object id:ino+ono)。
54.步骤4、不同的pg通过crush算法被分配到不同的osd。object是rados需要的对象。ceph指定一个静态hash函数计算oid的值,将oid映射成一个近似均匀分布的伪随机值,然后和mask按位相与,得到pgid。object-》pg映射:
55.a.hash(oid)&mask-》pgid。
56.b.mask=pg总数m(m为2的整数幂)-1。
57.pg(placement group),用途是对object的存储进行组织和位置映射,(类似于redis cluster里面的slot的概念)一个pg里面会有很多object。采用crush算法,将pgid代入其中,然后得到一组osd。pg-》osd映射:
58.a.crush(pgid)-》(osd1,osd2,osd3)。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1