一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储方法、迁移方法、下载方法、存储系统、电子设备、以及介质与流程

2022-09-03 19:23:45 来源:中国专利 TAG:


1.本发明实施例涉及存储技术领域,特别是涉及一种存储方法、迁移方法、下载方法、存储系统、电子设备以及介质。


背景技术:

2.随着互联网技术的高速发展,互联网每分每秒都在产生大量的数据,如图片、文档、音视频、表单等。这些数据中绝大部分都是非结构化数据,而对象存储是目前非结构化数据存储应用较广泛的一种存储技术。
3.在数据快速增长的今天,大量企业、政府机构、教育机构等,都有自己的一个或多个数据中心,数据中心承担着对数据进行集中存储和集中管理的任务,以提供对象存储服务。目前,数据中心通常以集群的方式部署在单个或多个机房。
4.在实际应用中,数据中心提供的对象存储服务质量容易受到机房可靠性的影响。例如,在机房出现断电、断网等故障时,数据中心可能无法提供对象存储服务,或者,数据中心提供的对象存储服务质量较低。


技术实现要素:

5.本发明实施例的目的在于提供一种存储方法、迁移方法、下载方法、存储系统、电子设备以及介质,以降低对象存储服务质量对于机房可靠性的依赖,进而能够提高对象存储服务质量。
6.具体技术方案如下:
7.在本发明实施的第一方面,提供了一种存储方法,采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,所述方法应用于第一存储节点,包括:
8.对存储对象进行存储;
9.向连接的第二存储节点发送所述存储对象,以使所述第二存储节点对所述存储对象进行存储和/或转发;
10.在对存储对象进行成功存储后,向记录节点发送所述存储对象的对象信息,以使所述记录节点对所述第一存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息。
11.在本发明实施的第二方面,提供了一种迁移方法,采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,所述方法包括:
12.记录节点接收数据迁移请求;
13.记录节点根据所述数据迁移请求,确定数据共享网络中的第三存储节点和第四存储节点;
14.记录节点将所述第三存储节点的存储记录更新至所述第四存储节点的存储记录
中;所述存储记录包括:对应存储节点存储的对象信息;
15.第四存储节点从记录节点获取存储记录;所述存储记录包括:对应存储节点存储的对象信息;
16.第四存储节点在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从数据共享网络中的第五存储节点获取所述第一存储对象。
17.在本发明实施的第三方面,提供了一种下载方法,应用于第六存储节点,所述方法包括:
18.接收下载请求;所述下载请求中包括:第二对象信息;
19.若本地未存储与所述第二对象信息相应的第二存储对象,则从第七存储节点获取所述第二存储对象;所述第六存储节点和所述第七存储节点之间点对点地连接。
20.在本发明实施的第四方面,提供了一种存储系统,所述系统包括:记录节点和数据共享网络;
21.其中,所述数据共享网络包括:多个存储节点,不同的存储节点之间点对点地连接;
22.所述记录节点包括:
23.保存模块,用于对所述存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息;
24.迁移请求接收模块,用于接收数据迁移请求;
25.迁移节点确定模块,用于根据所述数据迁移请求,确定数据共享网络中的第三存储节点和第四存储节点;
26.迁移模块,用于将所述第三存储节点的存储记录更新至所述第四存储节点的存储记录中;所述存储记录包括:对应存储节点存储的对象信息;
27.所述第四存储节点位于所述数据共享网络中,用于从记录节点获取存储记录,并在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从数据共享网络中的第五存储节点获取所述第一存储对象。
28.在本发明实施的第五方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
29.在本发明实施的第六方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
30.本发明实施例提供的存储方法、迁移方法、下载方法、存储系统、电子设备以及介质,采用数据共享网络对存储对象进行存储,该数据共享网络中不同的存储节点之间点对点地连接,通过第一存储节点向连接的第二存储节点发送存储对象,可以实现存储对象的分布式存储和对象存储的可靠性,因此能够降低对象存储服务质量对于机房可靠性的依赖,进而能够提高对象存储服务质量。
31.并且,本发明实施例经由记录节点存储第一存储节点成功存储的对象信息,故在第一存储节点因为故障等原因不能正常提供服务的情况下,将第一存储节点成功存储的存储对象迁移至其他存储节点,进而能够进一步提高数据存储的可靠性。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
33.图1为本发明实施例的一种数据共享网络的结构示意图;
34.图2为本发明一个实施例的存储方法的步骤流程图;
35.图3为本发明一个实施例的迁移方法的步骤流程图;
36.图4为本发明一个实施例的迁移方法的步骤流程图;
37.图5为本发明一个实施例的迁移方法的步骤流程图;
38.图6为本发明一个实施例的下载方法的步骤流程图;
39.图7为本发明一个实施例的存储系统的结构示意图;
40.图8为本发明一个实施例的存储系统的结构示意图;
41.图9为本发明一个实施例的上传方法的步骤流程图;
42.图10为本发明一个实施例的下载方法的步骤流程图;
43.图11为本发明一个实施例的迁移方法的步骤流程图;
44.图12为本发明一个实施例的存储装置的结构示意图;
45.图13为本发明一个实施例的迁移装置的结构示意图;
46.图14为本发明一个实施例的迁移装置的结构示意图;
47.图15为本发明一个实施例的电子设备的结构框图。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
49.本发明实施例提供了一种基于数据共享网络的对象存储方案。其中,可以采用点对点连接技术,构建跨运营商、跨区域的数据共享网络。本发明实施例的连接可以指通过有线网络或无线网络进行数据交互。
50.参照图1,示出了本发明实施例的一种数据共享网络的结构示意图,该数据共享网络具体可以包括:存储节点a、存储节点b、存储节点c、存储节点d、存储节点e和存储节点f。该数据共享网络中任意两个存储节点之间均可以点对点地连接。
51.可以理解,图1所示数据共享网络中包括6个存储节点只是作为示例,实际上本领域技术人员可以根据实际应用需求,确定数据共享网络中存储节点的数量n。例如,n可以为大于6的自然数,或者n的数量级可以为千、万甚至十万、百万等。
52.图1所示数据共享网络中存储节点之间的连接关系也是作为示例,实际上,一个存储节点可以根据实际情况,与其他存储节点连接。例如,第一存储节点可以利用节点发现手段,发现第二存储节点,并与第二存储节点连接。
53.在实际应用中,可以准备接入互联网的n台设备,其中的一台设备可被作为一个存储节点。一个存储节点中的磁盘和/或内存等存储设备可用于对存储对象进行存储。所有存储节点的存储设备的融合可以决定对象存储服务能提供的存储能力。通常来说,存储节点的数量n越大,能够提供的存储能力越强。此外,存储节点还可以基于存储的存储对象、以及其所在的数据共享网络,提供上传服务和下载服务。
54.在实际应用中,可以利用星际文件系统(ipfs,interplanetary file system)、比
特流(bt,bittorrent)等支持点对点连接技术的预设应用(如数据共享应用),构建数据共享网络。在具体实现中,在一台设备上运行预设应用,则该台设备可以作为数据共享网络中的一个存储节点。
55.本发明实施例还提供了一种存储方法,该方法可以采用数据共享网络对存储对象进行存储,该数据共享网络中不同的存储节点之间点对点地连接,该方法可以应用于第一存储节点,具体可以包括:对存储对象进行存储;向连接的第二存储节点发送该存储对象,以使该第二存储节点对该存储对象进行存储和/或转发;以及,在对存储对象进行成功存储后,向记录节点发送该存储对象的对象信息,以使该记录节点对该第一存储节点的存储记录进行保存;该存储记录包括:对应存储节点存储的对象信息。
56.综上,本发明实施例中不同存储节点之间点对点地连接,在实际应用中,会存在很多这样的连接节点对(如第一存储节点和第二存储节点对应的连接节点对)。并且,第一存储节点会向连接的第二存储节点发送存储对象,以使该第二存储节点对该存储对象进行存储和/或转发;这样,可以使多个存储节点对同一个存储对象进行存储,因此能够实现存储对象的分布式存储和对象存储的可靠性。在实现存储对象的分布式存储的情况下,本发明实施例能够降低对象存储服务质量对于机房可靠性的依赖,进而能够提高对象存储服务质量。
57.并且,本发明实施例对存储对象进行成功存储后,向记录节点发送该存储对象的对象信息,以使该记录节点对该第一存储节点的存储记录进行保存。由于本发明实施例经由记录节点存储第一存储节点成功存储的对象信息,故在第一存储节点因为故障等原因不能正常提供服务的情况下,将第一存储节点成功存储的存储对象迁移至其他存储节点,进而能够进一步提高数据存储的可靠性。
58.以下通过具体的实施例说明本发明实施例。
59.参照图2,示出了本发明一个实施例的存储方法的步骤流程图,该方法可以采用数据共享网络对存储对象进行存储,该数据共享网络中不同的存储节点之间点对点地连接,该方法可以应用于第一存储节点,具体可以包括如下步骤:
60.步骤201、对存储对象进行存储;
61.步骤202、向连接的第二存储节点发送该存储对象,以使该第二存储节点对该存储对象进行存储和/或转发;
62.步骤203、在对存储对象进行成功存储后,向记录节点发送该存储对象的对象信息,以使该记录节点对该第一存储节点的存储记录进行保存;该存储记录可以包括:对应存储节点存储的对象信息。
63.图2所示方法实施例用于对第一存储节点的处理过程进行说明。
64.在步骤201中,存储对象可以为图片、文档、音视频、表单等等。在实际应用中,存储对象可以对应有文件,故对存储对象进行存储,通常为对存储对象对应的文件进行存储。
65.在实际应用中,存储对象可以来自用户。例如,存储对象可以为用户的上传请求对应的存储对象。当然,存储对象还可以源自与第一存储节点连接的其他存储节点。
66.本发明实施例的数据共享网络中可以包括大量的存储节点。理论上讲,任意的存储节点均可以具备对象存储服务、上传服务和下载服务的提供能力。
67.在本发明的一种实现方式中,在接收到上传请求的情况下,可以随机指定一个存
储节点作为该上传请求对应的目标存储节点,由该目标存储节点对该上传请求进行处理。
68.在本发明的另一种实现方式中,在接收到上传请求的情况下,可以对上传请求对应的地理位置信息与存储节点对应的地理位置信息进行匹配,由此可以将匹配成功的存储节点作为目标存储节点。上传请求对应的地理位置信息与目标存储节点对应的地理位置信息相匹配,说明两者之间的距离较近。通常距离与网络延迟成正比关系,故本发明实施例由与上传请求对应的地理位置信息相匹配的目标存储节点,对该上传请求进行处理,能够提高上传请求的处理效率。
69.因此,在本发明的一种实施例中,第一存储节点可以作为目标存储节点,用于对上传请求进行处理。该上传请求对应的地理位置信息与所述第一存储节点对应的地理位置信息相匹配。此种情况下,可以对上传请求对应的存储对象进行存储。
70.在实际应用中,对存储对象进行存储可以包括:对存储对象进行缓存,或者,将存储对象存储至磁盘。
71.在具体实现中,存储对象对应的存储方式可以包括:顺序存储、链式存储、索引存储、或者哈希存储等。
72.其中,哈希存储过程具体可以包括:确定存储对象对应的哈希值;保存存储对象的对象标识与哈希值之间的映射关系;根据该哈希值,对存储对象进行存储。哈希值可用于确定存储对象的存储地址,由此可以实现存储对象的寻址。
73.在一种示例中,在接收到用户上传的存储对象后,可以对存储对象的对象内容计算哈希值,并在数据库中存储哈希值与对象标识之间的映射关系。对象标识可以为对象名称等信息。由于不同的对象内容可以对应不同的哈希值,故本发明实施例根据哈希值对存储对象进行存储,可以避免在一个存储节点上对相同的对象内容进行重复存储,由此可以节省存储空间。并且,哈希存储具有访问速度快的优点。
74.在步骤202中,与第一存储节点连接的存储节点可以为一个或多个。在实际应用中,可以向连接的全部或部分存储节点发送该存储对象。例如,可以根据备份阈值m(m可以为正整数),从与第一存储节点连接的存储节点中选取第二存储节点,第二存储节点的数量可以小于或等于备份阈值m。
75.第二存储节点可以对存储对象进行存储,和/或,可以向其他存储节点转发存储对象,以使其他存储节点对存储对象进行存储,由此可以实现存储对象的分布式存储。
76.在实际应用中,可以向第二存储节点发送存储对象、以及对象标识,以使第二存储节点进行相应的处理。
77.在步骤203中,在对存储对象进行成功存储后,向记录节点发送该存储对象的对象信息,该对象信息可以包括:对象标识或哈希值。
78.记录节点可用于对该第一存储节点等存储节点的存储记录进行保存,该存储记录可以包括:对应存储节点存储的对象信息。
79.综上,本发明实施例的存储方法,第一存储节点会向连接的第二存储节点发送存储对象,以使该第二存储节点对该存储对象进行存储和/或转发;这样,可以使多个存储节点对同一个存储对象进行存储,因此能够实现存储对象的分布式存储和对象存储的可靠性。在实现存储对象的分布式存储的情况下,本发明实施例能够降低对象存储服务质量对于机房可靠性的依赖,进而能够提高对象存储服务质量。
80.并且,由于本发明实施例经由记录节点存储第一存储节点成功存储的对象信息,故在第一存储节点因为故障等原因不能正常提供服务的情况下,将第一存储节点成功存储的存储对象迁移至其他存储节点,进而能够进一步提高数据存储的可靠性。
81.以下对第二存储节点的处理过程进行说明。
82.在实际应用中,第二存储节点可以接收第一存储节点发送的存储对象,并对该存储对象进行存储和/或转发。
83.例如,第二存储节点可以根据存储空间的剩余容量,判断是否对该存储对象进行存储。例如,若剩余容量小于预设容量,则对该存储对象进行存储,否则,对该存储对象进行转发。当然,在对该存储对象进行存储的情况下,也可以对该存储对象转发。
84.第二存储节点可以对存储对象进行存储,并在对存储对象进行成功存储后,向记录节点发送该存储对象的对象信息,以使该记录节点对该第二存储节点的存储记录进行保存。具体可以参照步骤201和步骤203,在此不作赘述。
85.无论第二存储节点是否对该存储对象进行存储,第二存储节点均可以向连接的其他存储节点发送该存储对象,以使该其他存储节点对该存储对象进行存储和/或转发。
86.以下对记录节点的处理过程进行说明。
87.参照图3,示出了本发明一个实施例的迁移方法的步骤流程图,该方法可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该方法可以应用于记录节点,具体可以包括如下步骤:
88.步骤301、接收数据迁移请求;
89.步骤302、根据该数据迁移请求,确定第三存储节点和第四存储节点;
90.步骤303、将该第三存储节点的存储记录更新至该第四存储节点的存储记录中;该存储记录可以包括:对应存储节点存储的对象信息。
91.本实施例可用于将第三存储节点的存储记录更新至第四存储节点的存储记录中,以使第四存储节点根据更新后的存储记录,对第三存储节点的存储对象进行迁移,进而能够解决由于第三存储节点出现故障或离线(退出数据共享网络)导致数据丢失的问题。
92.在步骤301中,数据迁移请求中可以包含第三存储节点的标识,以请求对第三存储节点的存储记录进行迁移。
93.第三存储节点可以表征出现故障的存储节点、或者离线的存储节点。可以利用轮询方式或者心跳检测方式,判断一个存储节点是否为第三存储节点。
94.其中,轮询方式可以周期性向存储节点发送询问信息,存储节点可以返回状态信息。若发送询问信息后的预设时间段内未接收到状态信息,或者返回的状态信息不符合要求,则可以认为存储节点出现故障或离线,故可以将存储节点作为第三存储节点。
95.心跳检测方式可由存储节点周期性发送注册信息,若在接收一次注册信息后的预设时间段内未接收到注册信息,或者,接收到的注册信息不符合要求,则可以认为存储节点出现故障或离线,故可以将存储节点作为第三存储节点。
96.在一种实现方式中,可由管理节点确定第三存储节点。具体地,存储节点可以周期性向管理节点发送注册信息,例如,注册信息的发送周期可以为5分钟等时长。管理节点对存储节点的注册信息进行保存,并定时(如每隔1小时)读取存储节点的注册信息,若发现离线的第三存储节点(例如,超过2个小时未发送注册信息),则向记录节点发送数据迁移请
求,该数据迁移请求可以包含第三存储节点的标识等信息。
97.在步骤302中,可以根据该数据迁移请求中包含的第三存储节点的标识,确定第三存储节点。
98.存储节点的状态可以包括:离线状态或在线状态。可以随机指定处于在线状态的一个存储节点作为第四存储节点。
99.或者,可以对第三存储节点对应的地理位置信息与存储节点对应的地理位置信息进行匹配,并将匹配成功的存储节点作为第四存储节点。
100.第三存储节点对应的地理位置信息与所述第四存储节点对应的地理位置信息相匹配,具体可以包括:第三存储节点对应的地理位置信息与所述第四存储节点对应的地理位置信息之间的差异符合预设条件;或者,第三存储节点与第四存储节点对应相同的地理区域。
101.本领域技术人员可以根据实际需要确定地理区域的细粒度。例如,对于城市而言,该地理区域的细粒度具体可以包括省、市、区、街道、社区等等;对于农村而言,该地理区域的细粒度具体可以包括省、市、县、乡镇、村等等。
102.在实际应用中,可以按照地理区域的细粒度从细到粗的顺序,确定第四存储节点。例如,可以首先从第三存储节点对应的第一地理区域中,获取第四存储节点,第一地理区域的细粒度较细,例如,第一地理区域的细粒度为社区或村。若第四存储节点的获取失败,则可以在第一地理区域的基础上加粗细粒度,例如,将第一地理区域的细粒度调整为街道或乡镇,进而从第三存储节点对应的第一地理区域中,获取第四存储节点。以此类推,直至成功获取得到第四存储节点。
103.在步骤303中,存储记录可以包括:对应存储节点存储的对象信息。例如,可以保存存储节点的标识与存储对象的哈希值之间的对应关系。具体地,可以采用数据库文件或者办公文件,保存该对应关系。又如,可以针对一个存储节点,保存对应的数据表,该数据表中包括存储的对象信息。
104.将该第三存储节点的存储记录更新至该第四存储节点的存储记录中,具体可以包括:将该第三存储节点的第一存储记录合并至该第四存储节点的第二存储记录中。可以理解,在合并过程中,若存在第一存储记录与第二存储记录相同的情况,则可以对第一存储记录进行丢弃。
105.综上,本发明实施例的迁移方法,将第三存储节点的存储记录更新至第四存储节点的存储记录中,可以使第四存储节点根据更新后的存储记录,对第三存储节点的存储对象进行迁移,进而能够解决由于第三存储节点出现故障或离线(退出数据共享网络)导致数据丢失的问题。
106.以下对第四存储节点的处理过程进行说明。
107.参照图4,示出了本发明一个实施例的迁移方法的步骤流程图,该方法可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该方法可以应用于第四存储节点,具体可以包括如下步骤:
108.步骤401、从记录节点获取存储记录;该存储记录可以包括:对应存储节点存储的对象信息;
109.步骤402、若本地未存储与存储记录中第一对象信息相应的第一存储对象,则从第
五存储节点获取该第一存储对象;该第四存储节点和该第五存储节点之间点对点地连接。
110.本实施例中,第四存储节点在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从连接的第五存储节点获取第一存储节点,以使本地存储的存储对象与存储记录相匹配,因此能够提高对象存储的可靠性。
111.并且,在第三存储节点出现故障或离线(退出数据共享网络)的情况下,可以将该第三存储节点的存储记录更新至该第四存储节点的存储记录中,以使第四存储节点根据更新后的存储记录,对第三存储节点的存储对象进行迁移,进而能够解决由于第三存储节点离线(退出数据共享网络)导致数据丢失的问题。
112.在步骤401中,第四存储节点可以周期性从记录节点获取存储记录。例如,第四存储节点可以每隔12小时从记录节点获取存储记录。
113.记录节点保存的存储记录可以根据第四存储节点存储成功的存储对象更新,和/或,记录节点保存的存储记录可以根据数据迁移请求更新。因此,第四存储节点可以周期性从记录节点获取更新后的存储记录。
114.在步骤402中,若本地未存储与存储记录中第一对象信息相应的第一存储对象,则可以从第五存储节点获取该第一存储对象,以使本地存储的存储对象与存储记录相匹配,因此能够提高对象存储的可靠性。
115.在实际应用中,可以将本地成功存储的存储对象的哈希值与存储记录中的哈希值进行匹配,若匹配成功,则可以认为本地存储了与存储记录中的哈希值相应的存储对象;或者,若匹配失败,则可以认为本地未存储与存储记录中哈希值相应的第一存储对象。
116.在实际应用中,与第四存储节点连接的存储节点可以为一个或多个。在实际应用中,可以向连接的全部或部分存储节点发送询问。例如,可以从与第四存储节点连接的存储节点中选取第五存储节点。若第五存储节点的本地存储有第一存储对象,则可以向第四存储节点返回第一存储对象。或者,若第五存储节点的本地未存储第一存储对象,则可以向第四存储节点返回对应的通知消息,或者,第五存储节点可以从连接的第八存储节点获取第一存储对象。
117.在本发明的一种示例中,第四存储节点可以向连接的至少一个第五存储节点发送询问,该询问用于询问第五存储节点是否存储有第一存储对象,若是,则可以从第五存储节点获取第一存储对象。若第五存储节点未存储第一存储对象,则第五存储节点可以向连接的至少一个第八存储节点发送询问,直至找到存储有第一存储对象的第九存储节点。在实际应用中,可以向第四存储节点发送第九存储节点的标识等信息,以使第四存储节点与第九存储节点连接,并从第九存储节点获取第一存储对象。
118.在具体实现中,若本地未存储与存储记录中第一对象信息相应的第一存储对象,则从第五存储节点获取该第一存储对象;该第四存储节点和该第五存储节点之间点对点地连接。
119.在实际应用中,可以对存储记录中的对象信息进行遍历,在确定存储记录中对象信息对应的存储对象均被第四存储节点存储后,可以认为迁移结束。
120.综上,本发明实施例的迁移方法,第四存储节点在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从连接的第五存储节点获取第一存储节点,以使本地存储的存储对象与存储记录相匹配,因此能够提高对象存储的可靠性。
121.并且,在第三存储节点出现故障或离线(退出数据共享网络)的情况下,可以将该第三存储节点的存储记录更新至该第四存储节点的存储记录中,以使第四存储节点根据更新后的存储记录,对第三存储节点的存储对象进行迁移,进而能够解决由于第三存储节点离线(退出数据共享网络)导致数据丢失的问题。
122.以下对完整的迁移过程过程进行说明。
123.参照图5,示出了本发明一个实施例的迁移方法的步骤流程图,该方法可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该方法具体可以包括如下步骤:
124.步骤501、记录节点接收数据迁移请求;
125.步骤502、记录节点根据该数据迁移请求,确定数据共享网络中的第三存储节点和第四存储节点;
126.步骤503、记录节点将该第三存储节点的存储记录更新至该第四存储节点的存储记录中;该存储记录可以包括:对应存储节点存储的对象信息;
127.步骤504、第四存储节点从记录节点获取存储记录;该存储记录包括:对应存储节点存储的对象信息;
128.步骤505、第四存储节点在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从数据共享网络中的第五存储节点获取该第一存储对象。
129.以下对第六存储节点的处理过程进行说明。
130.参照图6,示出了本发明一个实施例的下载方法的步骤流程图,该方法采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该方法可以应用于第六存储节点,具体可以包括如下步骤:
131.步骤601、接收下载请求;该下载请求中可以包括:第二对象信息;
132.步骤602、若本地未存储与该第二对象信息相应的第二存储对象,则从第七存储节点获取该第二存储对象;该第六存储节点和该第七存储节点之间点对点地连接。
133.本发明实施例中,第六存储节点可以提供下载服务。在步骤601中,可以接收用户发送的下载请求,该下载请求中可以包括:第二对象信息,如第二对象的对象标识。
134.在一种实现方式中,在接收到下载请求的情况下,可以对下载请求对应的地理位置信息与存储节点对应的地理位置信息进行匹配,由此可以将匹配成功的存储节点作为第六存储节点。下载请求对应的地理位置信息与第六存储节点对应的地理位置信息相匹配,说明两者之间的距离较近。通常距离与网络延迟成正比关系,故本发明实施例由与下载请求对应的地理位置信息相匹配的第六存储节点,对该下载请求进行处理,能够提高下载请求的处理效率。
135.在另一种实现方式中,第六存储节点可以为根据第二对象信息和第六存储节点的存储记录得到,以使第六存储节点存储有第二对象信息对应的第二存储对象,进而能够提高下载请求的处理效率。具体而言,可以对第二对象信息与存储记录进行匹配,若第二对象信息与某存储节点的存储记录相匹配,则可以将该存储节点作为第六存储节点。
136.当然,可以根据第二对象信息和下载请求对应的地理位置信息,确定第六存储节点。具体地,可以根据下载请求对应的地理位置信息与存储节点对应的地理位置信息之间的第一匹配信息、以及第二对象信息与存储节点的存储记录之间的第二匹配信息,确定第
六存储节点。此种情况下,第六存储节点对应的地理位置信息与下载请求对应的地理位置信息相匹配,第六存储节点的存储记录也与第二对象信息相匹配。
137.在步骤602中,第六存储节点可以判断本地是否存储有与该第二对象信息相应的第二存储对象,若是,则从本地存储中获取第二存储对象,并向用户返回第二存储对象。
138.假设采用哈希存储方式,则对应的判断过程可以包括:根据下载请求中第二存储对象的对象标识,在存储对象的对象标识与哈希值之间的映射关系中进行查找,以得到第二存储对象的目标哈希值,并判断本地存储中是否包含目标哈希值对应的第二存储对象。
139.若本地未存储与该第二对象信息相应的第二存储对象,则可以利用数据共享网络从第七存储节点获取该第二存储对象。对于第六存储节点从第七存储节点获取该第二存储对象的过程而言,由于与第四存储节点从第五存储节点获取该第一存储对象的过程类似,故在此不作赘述,相互参照即可。
140.综上,本发明实施例的下载方法,在本地未存储与下载请求对应第二对象信息相应的第二存储对象的情况下,从第七存储节点获取该第二存储对象,可以提供下载服务。
141.本发明实施例还提供了一种存储系统,参照图7,该存储系统具体可以包括:记录节点701和数据共享网络702;
142.其中,所述数据共享网络702具体可以包括:多个存储节点721,如第一存储节点、第二存储节点、第三存储节点、第四存储节点等;不同的存储节点721之间点对点地连接.该记录节点701对上述存储节点的存储记录进行保存;该存储记录具体可以包括:对应存储节点存储的对象信息。
143.记录节点701具体可以包括:
144.保存模块711,用于对所述存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息;
145.迁移请求接收模块712,用于接收数据迁移请求;
146.迁移节点确定模块713,用于根据所述数据迁移请求,确定数据共享网络中的第三存储节点和第四存储节点;
147.迁移模块714,用于将所述第三存储节点的存储记录更新至所述第四存储节点的存储记录中;所述存储记录包括:对应存储节点存储的对象信息;
148.第四存储节点721位于所述数据共享网络中,用于从记录节点获取存储记录,并在本地未存储与存储记录中第一对象信息相应的第一存储对象的情况下,从数据共享网络中的第五存储节点获取所述第一存储对象
149.在一种实现方式中,数据共享网络具体可以包括:第一存储节点;
150.该第一存储节点具体可以包括:
151.存储模块,用于对存储对象进行存储;
152.第一发送模块,用于向连接的第二存储节点发送所述存储对象,以使所述第二存储节点对所述存储对象进行存储和/或转发;
153.第二发送模块,用于在对存储对象进行成功存储后,向记录节点发送所述存储对象的对象信息,以使所述记录节点对所述第一存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息。
154.在另一种实现方式中,数据共享网络可以包括:第六存储节点;
155.该第六存储节点具体可以包括:
156.下载请求接收模块,用于接收下载请求;所述下载请求中包括:第二对象信息;
157.存储对象获取模块,用于在本地未存储与所述第二对象信息相应的第二存储对象的情况下,从第七存储节点获取所述第二存储对象。
158.在另一种实现方式中,上述存储系统还可以包括:调度节点,用于针对上传请求或下载请求,确定对应的存储节点。
159.在再一种实现方式中,上述存储系统还可以包括:管理节点,用于接收存储节点的注册信息,并根据该注册信息,判断存储节点是否离线。
160.在又一种实现方式中,上述存储系统还可以包括:数据库,用于保存存储对象的对象标识与哈希值之间的映射关系。
161.在实际应用中,可以经由单独的设备实现调度节点、管理节点和记录节点中任一的功能,或者,可以将调度节点、管理节点和记录节点中的多项功能,集成在一个设备上。
162.在其他实现方式中,还可以支持多租户模式,不同用户的数据按租户进行隔离,避免相互干扰。
163.在实际应用中,可以对调度节点、管理节点和记录节点进行集中式部署或分布式部署,其中,分布式部署可以减少对机房数据库的依赖,进一步提高对象存储服务的可靠性。
164.参照图8,示出了本发明一个实施例的存储系统的结构示意图,具体可以包括:调度节点、记录节点、管理节点和数据共享网络。图8中示出了数据共享网络的存储节点a、存储节点b和存储节点c,其他存储节点相互参照即可、在具体实现中,存储节点上可以部署有节点应用,上述节点应用可以包括但不限于:网关应用、加解密应用、内容存储应用和数据共享应用等。
165.其中,网关应用用于提供存储服务的操作接口,包括用户合法性校验等。
166.加解密应用用于提供至少一种数据加解密方式,如对称/非对称加解密、全部内容加密、部分内容加密等。
167.内容存储应用用于实现存储对象的查询、上传服务和下载服务、以及向管理节点发送注册信息等功能。
168.数据共享应用用于动态构建点对点的数据共享网络,数据共享网络可以为私有网络或公有网络。数据共享应用还可以在数据共享网络内共享存储网络。如步骤402或步骤502,从连接的存储节点获取存储对象。
169.调度节点、记录节点和管理节点可以位于服务端。其中,调度节点用于提供存储节点的调度功能,如基于位置的就近调度功能,或者,基于存储记录的调度功能等。存储节点的内容存储应用会定时向调度节点进行注册,调度服务将存储节点的注册信息保存至数据库中。
170.管理节点通过定时检查数据库中的注册信息,检测处于离线状态的存储节点(如最近两个小时没有注册的存储节点),并针对处于离线状态的存储节点,向记录节点发送数据迁移请求。
171.记录节点负责管理存储节点的存储记录,存储记录中可以包含:存储节点存储的对象信息。存储节点成功保存存储对象后,可以通知记录节点更新存储记录。在收到管理节
点发送的数据迁移请求的情况下,可以针对数据迁移的源存储节点,选择一个同地理区域的目的存储节点,然后将源存储节点的存储记录合并至目的存储节点的存储记录中。
172.以下对上传请求的处理过程进行说明。
173.参照图9,示出了本发明一个实施例的上传方法的步骤流程图,具体可以包括如下步骤:
174.步骤901、用户设备向调度节点发送节点查询请求;
175.步骤902、调度节点向用户返回节点信息;
176.用户设备可以与该节点信息(如存储节点的访问地址)对应的目标存储节点进行数据交互,下述的网关应用、加解密应用、内容存储应用和数据共享应用均可以为目标存储节点的应用。
177.步骤903、用户设备向网关应用发送待上传的文件;
178.步骤904、网关应用向加解密应用发送文件加密请求;
179.步骤905、加解密应用对该文件进行加密处理;
180.步骤906、加解密应用向网关应用返回密文;
181.步骤907、网关应用向内容存储应用发送密文,以使内容存储应用对密文进行存储;
182.步骤908、内容存储应用对密文进行本地缓存;
183.步骤909、内容存储应用向网关应用返回第二结果;
184.步骤910、网关应用向用户设备返回第三结果;
185.步骤911、内容存储应用对密文计算哈希值,还在数据库中存储对象标识与哈希值之间的映射关系;
186.步骤912、内容存储应用利用数据共享应用,向连接的存储节点发送密文;
187.内容存储应用可以根据存储策略,调用数据共享应用将密文发送至其他存储节点进行存储。
188.步骤913、内容存储应用完成存储或数据共享应用将密文发送至其他存储节点后,向记录节点发送记录更新请求;
189.步骤914、数据共享应用在完成密文的分发后,向内容存储应用返回第一结果。
190.以下对下载请求的处理过程进行说明。
191.参照图10,示出了本发明一个实施例的下载方法的步骤流程图,具体可以包括如下步骤:
192.步骤1001、用户设备向调度节点发送节点查询请求;
193.步骤1002、调度节点向用户返回节点信息;
194.步骤1003、用户设备向网关应用发送下载请求;
195.步骤1004、网关应用向内容存储应用转发下载请求;
196.步骤1005、内容存储应用从数据库中查询对象标识对应文件的哈希值;
197.步骤1006、数据库返回哈希值;
198.步骤1007、内容存储应用向数据共享应用发送文件下载请求;
199.步骤1008、数据共享应用向内容存储应用返回文件;
200.步骤1009、内容存储应用向网关应用返回文件;
201.步骤1010、网关应用向加解密应用发送解密请求;
202.步骤1011、加解密应用向网关应用返回文件的明文;
203.步骤1012、网关应用向用户设备返回文件的明文。
204.以下对数据迁移过程进行说明。数据迁移用于解决由于存储节点离线(退出数据共享网络)导致数据丢失的问题。
205.参照图11,示出了本发明一个实施例的迁移方法的步骤流程图,具体可以包括如下步骤:
206.步骤1101、内容存储应用定时向调度节点进行注册,注册周期为5分钟;
207.步骤1102、调度节点将存储节点的注册信息保存至数据库中;
208.步骤1103、管理节点定时(如1小时)从数据库中读取存储节点的注册信息;
209.步骤1104、数据库返回注册信息;
210.步骤1105、管理节点从存储节点中查找离线节点;
211.步骤1106、管理节点向记录节点发送数据迁移请求;该数据迁移请求中可以包含离线节点的信息;
212.步骤1107、记录节点收到数据迁移请求后,将在数据库中选择一个同地理区域的新存储节点;同地理区域可以指地理位置相同。
213.步骤1108、记录节点将离线节点的存储记录合并至新存储节点的存储记录中;
214.步骤1109、新存储节点的内容存储应用会定时(12小时)从记录节点中下载存储记录;
215.步骤1110、记录节点返回存储记录;
216.步骤1111、新存储节点的内容存储利用数据共享应用,下载尚未保存的存储对象。
217.具体地,可以将存储记录中的哈希值与本地存储进行对比,若发现本地存储中不包含哈希值对应的文件,则调用数据共享应用进行下载(也即从连接的其他存储节点获取尚未保存的存储对象)。在存储记录对应的文件都保存至本地存储后,数据迁移结束。
218.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
219.在上述实施例的基础上,本发明实施例还提供了一种存储装置,参照图12所示的结构示意图,该存储装置可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该装置应用于第一存储节点,具体可以包括如下模块:
220.存储模块1201,用于对存储对象进行存储;
221.第一发送模块1202,用于向连接的第二存储节点发送所述存储对象,以使所述第二存储节点对所述存储对象进行存储和/或转发;
222.第二发送模块1203,用于在对存储对象进行成功存储后,向记录节点发送所述存储对象的对象信息,以使所述记录节点对所述第一存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息。
223.可选地,存储模块1201具体可以包括:
224.上传存储模块,用于对上传请求对应的存储对象进行存储,所述上传请求对应的地理位置信息与所述第一存储节点对应的地理位置信息相匹配。
225.可选地,存储模块1201具体可以包括:
226.确定模块,用于确定存储对象对应的哈希值;
227.保存模块,用于保存存储对象的对象标识与哈希值之间的映射关系;
228.哈希存储模块,用于根据所述哈希值,对存储对象进行存储。
229.在上述实施例的基础上,本发明实施例还提供了一种迁移装置,该装置可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,参照图13所示的结构示意图,该迁移装置可以包括:记录节点1301和第四存储节点1302,其中,记录节点1301可以包括:
230.迁移请求接收模块1311,用于接收数据迁移请求;
231.迁移节点确定模块1312,用于根据所述数据迁移请求,确定第三存储节点和第四存储节点;
232.迁移模块1313,用于将所述第三存储节点的存储记录更新至所述第四存储节点的存储记录中;所述存储记录包括:对应存储节点存储的对象信息。
233.第四存储节点1302可以包括:
234.记录获取模块1321,用于从记录节点获取存储记录;所述存储记录包括:对应存储节点存储的对象信息;
235.存储对象获取模块1322,用于若本地未存储与存储记录中第一对象信息相应的第一存储对象,则从第五存储节点获取所述第一存储对象;所述第四存储节点和所述第五存储节点之间点对点地连接
236.可选地,所述数据迁移请求中包含第三存储节点的标识,所述第三存储节点对应的地理位置信息与所述第四存储节点对应的地理位置信息相匹配。
237.在上述实施例的基础上,本发明实施例还提供了一种下载装置,该装置可以采用数据共享网络对存储对象进行存储,所述数据共享网络中不同的存储节点之间点对点地连接,该下载装置可以应用于第六存储节点,参照图14,该装置具体可以包括如下模块:
238.接收模块1401,用于接收下载请求;所述下载请求中包括:第二对象信息;
239.获取模块1402,用于若本地未存储与所述第二对象信息相应的第二存储对象,则从第七存储节点获取所述第二存储对象;所述第六存储节点和所述第七存储节点之间点对点地连接。
240.可选地,第六存储节点可以为根据所述第二对象信息和所述第六存储节点的存储记录得到。
241.本发明实施例还提供了一种电子设备,该电子设备可以实现前述的存储节点或调度节点或记录节点或管理节点的功能。
242.如图15所示,该电子设备可以包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,
243.存储器1503,用于存放计算机程序;
244.处理器1501,用于执行存储器1503上所存放的程序时,实现如下步骤:
245.对存储对象进行存储;
246.向连接的第二存储节点发送所述存储对象,以使所述第二存储节点对所述存储对象进行存储和/或转发;
247.在对存储对象进行成功存储后,向记录节点发送所述存储对象的对象信息,以使所述记录节点对所述第一存储节点的存储记录进行保存;所述存储记录包括:对应存储节点存储的对象信息。
248.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
249.通信接口用于上述电子设备与其他设备之间的通信。
250.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
251.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
252.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的存储方法或迁移方法或下载方法。
253.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的存储方法或迁移方法或下载方法。
254.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
255.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
256.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
257.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献