一种数据存储方法及装置、计算机可读存储介质制造方法及图纸

技术编号:38193094 阅读:9 留言:0更新日期:2023-07-20 21:12
本发明专利技术实施例公开了一种数据存储的方法及装置、存储介质,接收终端发送的文件上传请求;根据文件上传请求,利用自定义方法,确定文件的存储位置并发送至终端;接收终端发送的文件访问请求;根据文件访问请求,在预设数据中心中确定目标数据中心;预设数据中心包含文件的存储位置;通过目标数据中心,根据存储位置获取存储的文件,并发送至终端。在上述方案中,一方面,通过自定义的方法,在预设的数据中心中选择文件的存储位置;另一方面,在文件读取时,在包含多个存储位置的预设的数据中心中,确定目标数据中心,然后从该目标数据中心中进行文件的读取。综合整个方案,节省了资源、简化了系统复杂度且降低了故障的可能性。了系统复杂度且降低了故障的可能性。了系统复杂度且降低了故障的可能性。

【技术实现步骤摘要】
一种数据存储方法及装置、计算机可读存储介质


[0001]本专利技术涉及大数据
,尤其涉及一种数据存储方法及装置、计算机可读存储介质。

技术介绍

[0002]随着大数据的发展,各行业对数据的依赖程度越来越高。为了保证数据的准确性和可靠性,数据容灾的必要性就显得尤为重要。HBase的容灾,一般是指数据中心级容灾,通常是采用机房集群服务器容灾技术,在不同的数据中心,分别部署两套HBase集群,然后通过一定的技术手段,将数据同时分别写入到两个集群,或先写入到某一主集群,再复制到备份集群,从而保证两个集群数据的最终一致性。这样,在某一数据中心发生故障时,通过故障转移等技术手段,切换为由备集群提供数据服务,从而保证了HBase集群的数据中心级灾备。
[0003]然而,目前在数据存储中,一方面,只有主集群提供服务,备集群在正常状态下,只进行数据同步备份,而不提供服务。而为了保证备集群能较好的同步主集群的数据,保证数据的可靠性,备集群的资源配置就不能和主集群存在较大的差异,这样备集群的计算资源平时是完全闲置的。且在双活灾备方案中,两个集群互为主备,同时提供服务,看起来充分利用了两个集群的计算资源,但为了保证对业务提供统一一致的服务,就需要一定的技术手段来保证针对某一服务,同一时间只有一个集群提供服务,不然就会存在两个集群重复计算,浪费计算资源。hdfs通常会在不同的存储位置记录三份,这就意味着,对于主备/双活方案的双HBase集群,一份数据,通常会被存储6个副本,对于存储资源,这是极大的浪费。另一方面,在主备/双活双集群方案中,正常状态下,只有某业务的主集群提供服务,仅当主集群发生故障时,才会通过一定的技术手段切换为由备集群提供服务。这里就不可避免的需要额外设计集群健康监控模块和故障转移模块。系统复杂度、实现难度和故障可能性上都比较大。

技术实现思路

[0004]本专利技术实施例提供了一种数据存储方法及装置、计算机可读存储介质,能够节省资源、简化系统复杂度且降低故障的可能性。
[0005]本专利技术的技术方案是这样实现的:
[0006]本专利技术实施例提供了一种数据存储的方法,应用于服务器,所述方法包括:
[0007]接收终端发送的文件上传请求;
[0008]根据所述文件上传请求,利用自定义方法,确定文件的存储位置并发送至终端;
[0009]接收所述终端发送的文件访问请求;
[0010]根据所述文件访问请求,在预设数据中心中确定目标数据中心;所述预设数据中心包含所述文件的存储位置;
[0011]通过所述目标数据中心,根据所述存储位置获取存储的文件,并发送至所述终端。
[0012]上述方案中,所述预设数据中心包括第一数据中心和第二数据中心;所述第一数据中心和所述第二数据中心均包括多个不同机架;所述多个不同机架分别包括多个不同的数据节点;将所述第一数据中心的不同机架的数据节点之间的距离值为第一距离值;将所述第二数据中心的不同机架的数据节点之间的距离值为第二距离值;
[0013]所述根据所述文件上传请求,利用自定义方法,确定文件的存储位置并发送至所述终端,包括:
[0014]获取所述第一数据中心的数据节点和所述第二数据中心的数据节点;
[0015]根据所述第一距离值、所述第二距离值,结合所述第一数据中心的数据节点和所述第二数据中心的数据节点,确定文件的存储位置并发送至所述终端。
[0016]上述方案中,所述根据所述第一距离值、所述第二距离值,结合所述第一数据中心的节点和所述第二数据中心的节点,确定文件的存储位置并发送至所述终端,包括:
[0017]获取第一数据节点;
[0018]根据所述第一数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点;
[0019]根据所述第一数据节点、所述第二数据节点、所述第三数据节点和所述第四数据节点,确定文件的存储位置并发送至所述终端。
[0020]上述方案中,所述获取第一数据节点,包括:
[0021]遍历集群内的多个数据节点,若所述终端不在集群内,则在所述多个数据节点中随机获取所述第一数据节点;所述集群包含所述多个数据节点;
[0022]若所述终端在集群内,则所述终端所在的数据节点为所述第一数据节点。
[0023]上述方案中,所述第一数据节点、所述第二数据节点、所述第三数据节点和所述第四数据节点中任意两个数据节点间的距离的总和为预设值;
[0024]所述根据所述第一个数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点,包括:
[0025]若所述第一数据节点为所述第一数据中心的节点,则根据所述第一数据节点和所述第一距离值,确定所述第二数据节点;
[0026]根据所述第二数据节点和所述第二数据中心,确定所述第三数据节点;所述第三数据节点为所述第二数据中心的任意节点;
[0027]根据所述第三数据节点和所述第二距离值,确定第四数据节点;
[0028]上述方案中,所述第一数据节点、所述第二数据节点、所述第三数据节点和所述第四数据节点中任意两个数据节点间的距离的总和为预设值;
[0029]所述根据所述第一个数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点,包括:
[0030]若所述第一数据节点为所述第二数据中心的节点,则根据所述第一数据节点和所述第二距离值,确定所述第二数据节点;
[0031]根据所述第二数据节点和所述第一数据中心,确定所述第三数据节点;所述第三数据节点为第一数据中心的任意节点;
[0032]根据所述第三数据节点和所述第一距离值,确定所述第四数据节点。
[0033]上述方案中,所述根据所述文件访问请求,在预设数据中心中确定目标数据中心,
包括:
[0034]将所述第一数据中心和所述第二数据中心分别与所述终端的距离进行比较;确定比较结果;
[0035]根据所述比较结果,确定距离最近的数据中心,所述距离最近的数据中心为目标数据中心;
[0036]上述方案中,所述通过所述目标数据中心,根据所述存储位置获取存储的文件,并发送至所述终端,包括:
[0037]若所述第一数据中心为所述目标数据中心,并检测到所述第一数据中心未发生故障,则在所述第一数据中心中根据所述存储位置获取所述文件并发送至所述终端;
[0038]若所述第一数据中心为所述目标数据中心,并检测到所述第一数据中心发生故障,则在所述第二数据中心中根据所述存储位置获取所述文件发送至所述终端。
[0039]上述方案中,所述若所述第一数据中心为所述目标数据中心,并检测到所述第一数据中心发生故障,则在所述第二数据中心中根据所述存储位置获取所述文件发送至所述终端,包括:
[0040]通过部署的监控识别的服务层,检测到所述第一数据中心发生故障,则在所述第二数据中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于服务器,包括:接收终端发送的文件上传请求;根据所述文件上传请求,利用自定义方法,确定文件的存储位置并发送至所述终端;接收所述终端发送的文件访问请求;根据所述文件访问请求,在预设数据中心中确定目标数据中心;所述预设数据中心包含所述文件的存储位置;通过所述目标数据中心,根据所述存储位置获取存储的文件,并发送至所述终端。2.根据权利要求1所述的方法,其特征在于,所述预设数据中心包括第一数据中心和第二数据中心;所述第一数据中心和所述第二数据中心均包括多个不同机架;所述多个不同机架分别包括多个不同的数据节点;将所述第一数据中心的不同机架的数据节点之间的距离值为第一距离值;将所述第二数据中心的不同机架的数据节点之间的距离值为第二距离值;所述根据所述文件上传请求,利用自定义方法,确定所述文件的存储位置并发送至终端,包括:获取所述第一数据中心的数据节点和所述第二数据中心的数据节点;根据所述第一距离值、所述第二距离值,结合所述第一数据中心的数据节点和所述第二数据中心的数据节点,确定所述文件的存储位置并发送至终端。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一距离值、所述第二距离值,结合所述第一数据中心的数据节点和所述第二数据中心的数据节点,确定所述文件的存储位置并发送至终端,包括:获取第一数据节点;根据所述第一数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点;根据所述第一数据节点、所述第二数据节点、所述第三数据节点和所述第四数据节点,确定文件的存储位置并发送至所述终端。4.根据权利要求3所述的方法,其特征在于,所述获取第一数据节点,包括:遍历集群内的多个数据节点,若所述终端不在集群内,则在所述多个数据节点中随机获取所述第一数据节点;若所述终端在集群内,则所述终端所在的数据节点为所述第一数据节点。5.根据所述权利要求3所述的方法,其特征在于,所述第一数据节点、所述第二数据节点、所述第三数据节点和所述第四数据节点中任意两个数据节点间的距离的总和为第一距离值;根据所述第一数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点,包括:若所述第一数据节点为所述第一数据中心的节点,则根据所述第一数据节点和所述第一距离值,确定所述第二数据节点;根据所述第二数据节点和所述第二数据中心,确定所述第三数据节点;所述第三数据节点为所述第二数据中心的任意节点;根据所述第三数据节点和所述第二距离值,确定所述第四数据节点。
6.根据所述权利要求3所述的方法,其特征在于,所述根据所述第一个数据节点,结合所述第一距离值和所述第二距离值,分别确定第二数据节点、第三数据节点和第四数据节点,包括:若所述第一数据节点为所述第二数据中心的节点,则根据所述第一数据节点和所述第二距离值,确定所述第二数据节点;根据所述第二数据节点和所述第一数据中心,确定所述第三数据节点;所述第三数据节点为第一数据中心的任意节点;根据所述第三数据节点和所述第一距离值,确定所述第四数据节点。7.根据权利要求1所述的方法,其特征在于,所述根据所述文件访问请求,在预设数据中心中确定目标数据中心,包括:将所述第一数据中心和所述第二数据中心分别与所述终端...

【专利技术属性】
技术研发人员:孙大鹏
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1