一种分布式文件存储及传输方法、系统及存储介质与流程

文档序号:29629593发布日期:2022-04-13 15:33阅读:80来源:国知局
一种分布式文件存储及传输方法、系统及存储介质与流程

1.本发明涉及数据传输技术领域,尤其涉及一种分布式文件存储及传输方法、系统及存储介质。


背景技术:

2.随着科学技术的发展,互联网的发展改变了人们的生活,如视频网站、社交应用、购物网站,为生活和娱乐提供了便利。
3.近年来,使用通信设备的用户数量不断增加,人们开始每天使用手机、平板、电脑等通信设备进行娱乐或工作,互联网的流量数据激增,给数据传输系统带来巨大的挑战。
4.现有技术中,在传统互联网网络中,文件信息大多存储在中央服务器上,当客户端需要获取文件时,需向中央服务器发送数据请求来获取文件。有些互联网的文件存储在与中央服务器相连接的子节点上,当客户端获取数据时向中央服务器数据请求,中央服务器接收到数据请求后在子节点中获取到对应的文件,然后把文件返回到客户端。这两种数据获取方式都需要经过中央服务器,当用户量激增以后,对中央服务器的信息处理能力要求越来越高,使服务器的压力变得越来越大,流量成本开销也逐渐增加。面对日益增长的数据传输需求,需要提供一种可靠、迅速的数据传输方式,降低中央服务器的负载。


技术实现要素:

5.本发明提供一种分布式文件存储及传输方法、系统及存储介质,旨在有效解决现有技术中客户端从互联网中获取数据时需要通过中央服务器传输数据,造成中央服务器负载大,流量成本开销高的技术问题。
6.根据本发明的一方面,本发明提供一种分布式文件存储及传输方法,所述方法包括:
7.当连接中央节点的本地边缘节点接收到来自客户端的数据请求时,查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息,当所述资源信息中存储了所述文件信息时,向所述客户端返回所述文件信息,否则,所述本地边缘节点向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求;
8.在所述本地边缘节点向其它边缘节点和/或所述中央节点发送所述数据请求的情况下,当所述本地边缘节点接收来自所述其它边缘节点和/或所述中央节点发送的所述文件信息后,其将所述文件信息发送至所述客户端。
9.进一步地,所述文件信息至少包括二进制文件和文件检索信息,所述文件检索信息包括文件说明信息、哈希值,所述二进制信息与所述文件检索信息一一对应。
10.进一步地,在所述查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息之前,所述方法还包括文件信息存储步骤,所述文件信息存储步骤包括:
11.当连接所述中央节点的本地边缘节点和所述中央节点中的至少一个节点接收到所述文件信息中的二进制文件后,所述中央节点为所述二进制文件生成相关联的文件说明
信息和哈希值以组成文件检索信息,并将所述文件检索信息同步到所有的边缘节点中,并将所述二进制文件分配到若干个边缘节点上存储。
12.可选地,所述将所述二进制文件分配到所述若干个边缘节点上存储包括:
13.所述中央节点把所述二进制文件以随机的方式分配到所述若干个边缘节点上存储。
14.可选地,所述将所述二进制文件分配到所述若干个边缘节点上存储包括:
15.把所述二进制文件分成n个碎片二进制文件,为每个碎片二进制文件生成对应的碎片二进制文件哈希值,将所述每个碎片二进制文件随机分配到所述若干个边缘节点上,以使每个边缘节点存储一个碎片二进制文件。
16.进一步地,所述查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息,包括:
17.解析所述数据请求,获取与所述数据请求对应的文件信息相关联的目标哈希值;
18.获取所述资源信息中哈希值与所述目标哈希值相同的文件信息。
19.可选地,所述本地边缘节点向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求,包括:
20.所述本地边缘节点向连接所述中央节点的所有其它边缘节点和所述中央节点发送所述数据请求。
21.可选地,所述本地边缘节点向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求,包括:
22.所述本地边缘节点向连接所述中央节点的其它边缘节点发送所述数据请求;
23.当所述本地边缘节点在预设时间内未收到所述文件信息时,所述本地边缘节点向所述中央节点发送所述数据请求。
24.进一步地,所述本地边缘节点接收来自所述其它边缘节点或所述中央节点的所述文件信息包括:
25.所述本地边缘节点接收来自所述其它边缘节点或所述中央节点响应于所述数据请求而返回的数据响应;
26.根据所述数据响应获取所述文件信息。
27.可选地,所述根据所述数据响应获取所述文件信息,包括:
28.在所述数据响应中确定目标节点,所述目标节点是针对所述文件信息的数据存储量最大或者时间值最大的节点;
29.根据所述数据响应中与所述目标节点相关的参数和所述哈希值获取所述文件信息。
30.可选地,所述根据所述数据响应获取所述文件信息,包括:
31.针对每一个所述数据响应判断发送所述数据响应的节点是否存储有所述文件信息的碎片二进制文件;
32.针对存储有所述碎片二进制文件的节点,根据所述数据响应中的节点参数和所述碎片二进制哈希值获取所述碎片二进制文件;
33.根据所述碎片二进制文件和碎片二进制文件哈希值获取所述文件信息。
34.进一步地,在所述本地边缘节点向所述客户端传输所述文件信息之后,所述方法
还包括:
35.当经过预设时间以后,所述本地边缘节点更新或者删除所述文件信息。
36.根据本发明的另一方面,本发明提供一种分布式文件存储及传输系统,其特征在于,包括:
37.边缘节点,用于当接收到来自客户端的数据请求时,查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息,若所述资源信息中存储了所述文件信息,则向所述客户端返回所述文件信息,否则,向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求以获得所述文件信息,以及用于接收并响应来自其他边缘节点的数据请求;
38.中央节点,用于接收所述数据请求并响应于所述数据请求而返回数据响应。
39.根据本发明的另一方面,本发明提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一分布式文件存储及传输方法。
40.根据本发明的另一方面,本发明提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一布式文件存储及传输方法。
41.通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
42.通过本发明的技术方案,互联网的不同节点之间组成混合型拓扑结构,边缘节点之间可以相互发送文件,通过该分布式文件存储及传输系统,当其中一个边缘节点的客户端获取数据时,不经过中央节点就能获取到所需的数据,节省了中央节点流量资源,减轻了负载,可以更快速有效地获取数据,提高了并发访问量和数据传输效率。本发明所提供的技术方案能够解决现有技术中客户端从互联网中获取数据时需要通过中央服务器传输数据,造成中央服务器负载大,流量成本开销高的技术问题。
附图说明
43.下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
44.图1为本发明实施例一提供的一种分布式文件存储及传输方法的步骤流程图;
45.图2为本发明实施例提供的一种分布式文件存储及传输系统的结构示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
48.实施例一
49.如图1所示,为本发明实施例一所提供的分布式文件存储及传输方法的步骤流程图,所述分布式文件存储及传输方法包括:
50.步骤101:当连接中央节点的本地边缘节点接收到来自客户端的数据请求时,查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息,当所述资源信息中存储了所述文件信息时,向所述客户端返回所述文件信息,否则,所述本地边缘节点向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求。
51.示例性地,当用户在客户端点击视频播放或者点开某购物网页时,客户端向对应的互联网服务器请求视频对应的文件信息,或者购物网页对应的数据信息。在本实施例中,用于播放视频或者链接购物网站的文件信息存储在中央节点或者所属中央节点的本地边缘节点中,当客户端需要获取文件信息时,电子设备与待交互的网络服务器之间通过超文本传输协议(hyper text transfer protocol,http)进行通信。
52.本发明中的分布式文件存储及传输系统结构图如图2所示,互联网的不同节点之间组成混合型拓扑结构,其中中央节点和边缘节点组成星形结构,边缘节点之间组成环形结构,相互之间组成mash(multi-hop,多跳)结构,不同的节点之间可以相互发送文件,也可以通过mash结构,在若干个节点之间通过多跳的方式获取数据,通过该分布式文件存储及传输系统,当其中一个边缘节点下的客户端获取数据时,不经过中央节点就能获取到所需的数据,节省了流量资源,减轻了中央节点的负载,
53.对于中央节点和每个本地边缘节点,节点都包括服务器和存储空间,其中服务器集成在各个边缘节点中,用于提供数据管理服务,存储空间用于存储通信交互所需的资源信息。当客户端需要获取数据时,首先向最近的本地边缘节点的服务器发送数据请求,当本地边缘节点接收到数据请求以后,节点上的服务器根据数据请求在本地边缘节点的资源信息中查询对应的文件信息。如果找到了文件信息,则将文件信息发送到客户端,当客户端接收到数据后,就可实现应用提供的相关功能。
54.如果在资源信息中没有查询到所需的文件信息,本地边缘节点将数据请求发送到其它本地边缘节点和/或中央节点,通过文件存储及传输系统中的其它节点来获取文件信息。
55.步骤102:在所述本地边缘节点向其它边缘节点和/或所述中央节点发送所述数据请求的情况下,当所述本地边缘节点接收来自所述其它边缘节点和/或所述中央节点发送的所述文件信息后,其将所述文件信息发送至所述客户端。
56.执行步骤101之后,执行步骤102,示例性地,本地边缘节点向其它边缘节点和/或所述中央节点发送数据请求,收到数据请求的节点在其存储空间上查询是否存在对应的文件信息,当在其它本地边缘节点和/或中央节点上查询到文件信息以后,存储了文件信息的节点将对应的数据发送到本地边缘节点,本地边缘节点将获取的数据移交给到节点服务器。客户端通过服务器与存储数据的节点之间进行交互,当本地边缘节点的服务器获取到文件信息后,将数据转发到客户端,客户端接收到文件信息后,电子设备实现相应的功能。
57.通过本发明的技术方案,客户端可以直接通过访问本地边缘节点服务器来获取文件,降低中央服务器的负载,以实现更快速有效地获取数据,提高了并发访问量。本发明所提供的技术方案能够解决现有技术中客户端从互联网中获取数据时需要通过中央服务器传输数据,造成中央服务器负载大,流量成本开销高的技术问题。
58.实施例二
59.基于与本发明实施例一种分布式文件存储及传输方法同样的发明构思,本发明实施例二的分布式文件存储及传输方法包括:
60.进一步地,所述文件信息至少包括二进制文件和文件检索信息,所述文件检索信息包括文件说明信息、哈希值,所述二进制信息与所述文件检索信息一一对应。示例性地,在节点中存储的文件信息主要分为两部分,一部分是客户端需要获取的二进制文件,一部分是文件检索信息。其中,文件检索信息主要用于快速查询到对应的二进制文件,文件检索信息至少包括文件说明信息和哈希值,其中,文件说明信息是对二进制文件做一些关键词标注,比如文件的类型、来源、名字、数据大小等,哈希值则是为了让服务器能快速找到文件信息而生成的指示存储地址的值,其中,每一个文件信息的二进制文件和文件检索信息都是一一对应的。
61.进一步地,在所述查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息之前,所述方法还包括文件信息存储步骤,所述文件信息存储步骤包括:当连接所述中央节点的本地边缘节点和所述中央节点中的至少一个节点接收到所述文件信息中的二进制文件后,所述中央节点为所述二进制文件生成相关联的文件说明信息和哈希值以组成文件检索信息,并将所述文件检索信息同步到所有的边缘节点中,并将所述二进制文件分配到若干个边缘节点上存储。示例性地,当文件存储及传输系统中的任意一个节点收到新的文件信息时,需要根据文件信息存储步骤存储文件信息的二进制文件,并生成用于查询二进制文件所需的文件检索信息。一方面,服务器根据文件信息的来源和相关特征生成文件说明信息,另一方面,根据特定的哈希函数生成哈希值,进而基于文件说明信息和哈希值生成文件检索信息。当生成文件检索信息以后,需要在文件存储及传输系统中的所有节点中存储该文件检索信息,用于使中央服务器或任意一个本地边缘服务器查询文件信息。对于占用存储空间比较大的二进制文件,可通过不同的文件分配方式存储到若干个本地边缘节点。
62.可选地,所述中央节点把所述二进制文件以随机的方式分配到所述若干个边缘节点上存储。具体来说,中央节点对应的中央服务器可以按比例在所有的本地边缘节点中随机抽取若干个本地边缘节点来存放数据,也可以根据二进制文件的重要程度或者数据量的大小来确定本地边缘节点和具体数量。当然,如果是重要程度比较高的数据,中央服务器可以把数据存储在所有的节点上,如果是不重要的数据,也可以只把数据存储在首次接收二进制文件的节点上,不再存储到其它节点上。
63.可选地,把所述二进制文件分成n个碎片二进制文件,为每个碎片二进制文件生成对应的碎片二进制文件哈希值,将所述每个碎片二进制文件随机分配到所述若干个边缘节点上,以使每个边缘节点存储一个碎片二进制文件。具体来说,如果二进制文件占用内存比较大时,可以将其分成n个碎片二进制文件,对每个碎片二进制文件的处理方式和普通的二进制文件一样,为每一个碎片二进制文件都分配一个碎片二进制文件哈希值。然后把碎片二进制文件随机分配到若干个本地边缘节点上,可以根据本地边缘节点的内存情况储存不同数量的碎片二进制文件,每个本地边缘节点可以存储一个或者多个,也可以不存储碎片二进制文件。
64.进一步地,解析所述数据请求,获取与所述数据请求对应的文件信息相关联的目
标哈希值;获取所述资源信息中哈希值与所述目标哈希值相同的文件信息。示例性地,在本地边缘节点上查询客户端所需的文件信息时,先解析客户端发送的数据请求,获取相关的索引信息,确定目标哈希值,然后在资源信息中查询目标哈希值相同的文件信息。
65.可选地,所述本地边缘节点向连接所述中央节点的所有其它边缘节点和所述中央节点发送所述数据请求。具体来说,当寻找文件信息时,本地边缘节点可以只向中央节点发送数据请求,在中央节点获取数据,也可以向所有的其它节点发送数据请求,以快速获取数据。
66.可选地,所述本地边缘节点向连接所述中央节点的其它边缘节点发送所述数据请求;当所述本地边缘节点在预设时间内未收到所述文件信息时,所述本地边缘节点向所述中央节点发送所述数据请求。具体来说,当寻找文件信息时,为了最大限度降低中央服务器的负载压力,本地边缘节点可以只向其它本地边缘节点发送数据请求以获取文件信息。如果在文件信息只存在于中央节点上时,边缘节点则不能向客户端传输文件信息,影响用户体验。为了避免网络连接失败,当本地边缘节点在预设时间内没有收到任何文件信息时,则直接向中央节点发送数据请求,以实现快速向客户端传输数据,避免网络延迟。
67.进一步地,所述本地边缘节点接收来自所述其它边缘节点或所述中央节点响应于所述数据请求而返回的数据响应;根据所述数据响应获取所述文件信息。示例性地,当其它本地边缘节点或所述中央节点中的一些节点存储有文件信息时,有文件信息的节点则向本地边缘节点返回数据响应,本地边缘节点则可以解析数据响应,根据解析出的信息获取文件信息。
68.可选地,在所述数据响应中确定目标节点,所述目标节点是针对所述文件信息的数据存储量最大或者时间值最大的节点;根据所述数据响应中与所述目标节点相关的参数和所述哈希值获取所述文件信息。具体来说,对数据响应进行解析以后,可能会确定多个有文件信息的节点,需要在多个节点中确定获取文件信息的目标节点。可以根据不同节点中的文件信息的存储量的大小来确定目标节点,当存储量较大时,说明文件信息较全,如果是视频的话,存储量大则代表着画质可能更清晰,视频更完整,所以确定存储量最大的节点为获取文件信息的目标节点。也可以根据文件信息的更新时间或者存储时间确定目标节点,以获取最新的文件信息。当确定获取文件信息的节点以后,确定该目标节点的节点参数和哈希值,进而获取文件信息。
69.可选地,针对每一个所述数据响应判断发送所述数据响应的节点是否存储有所述文件信息的碎片二进制文件;针对存储有所述碎片二进制文件的节点,根据所述数据响应中的节点参数和所述碎片二进制哈希值获取所述碎片二进制文件;根据所述碎片二进制文件和碎片二进制文件哈希值获取所述文件信息。具体来说,如果文件信息被分成n个碎片二进制文件,则需要查询出所有的碎片二进制文件,然后根据n个碎片二进制文件哈希值确定文件所对应的顺序,进而将n个碎片二进制文件整合成完整的文件信息。
70.进一步地,在所述本地边缘节点向所述客户端传输所述文件信息之后,当经过预设时间以后,所述本地边缘节点更新或者删除所述文件信息。示例性地,在文件存储及传输系统中,需要对数据增删查找。除了写入新的文件信息,查询文件信息,还需要对文件信息进行后期的维护,即更新文件信息。如果文件信息长期没有被查询或者更新的话,为了释放内存,还需适当删除文件信息。当经过预设时间以后,本地边缘节点更新或者删除文件信
息。
71.实施例三
72.基于与本发明实施例一种分布式文件存储及传输系统同样的发明构思,本发明实施例提供一种分布式文件存储及传输系统,请参考图2,包括:
73.边缘节点,用于当接收到来自客户端的数据请求时,查询所述本地边缘节点的资源信息中是否存储了所述数据请求对应的文件信息,若所述资源信息中存储了所述文件信息,则向所述客户端返回所述文件信息,否则,向连接所述中央节点的其它边缘节点和/或所述中央节点发送所述数据请求以获得所述文件信息,以及用于接收并响应来自其他边缘节点的数据请求;
74.中央节点,用于接收所述数据请求并响应于所述数据请求而返回数据响应。
75.示例性地,图2所示为一个分布式文件存储及传输系统结构图,该系统中的节点之间组成混合型拓扑结构,其中中央节点和边缘节点组成星形结构,边缘节点之间组成环形结构,相互之间组成mash结构,不同的节点之间可以相互发送文件,也可以通过mash结构,在若干个节点之间通过多跳的方式获取数据,通过该分布式文件存储及传输系统,当其中一个边缘节点下的客户端获取数据时,可以不通过中央节点就能获取到所需的数据,为中央节点节省了流量资源,减轻了中央节点的负载,提高数据传输效率。
76.根据本发明的另一方面,本发明提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一分布式文件存储及传输方法。
77.综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1