掌桥专利:专业的专利平台
掌桥专利
首页

分布式数据存储方法、系统及可读存储介质

文献发布时间:2023-06-19 12:11:54


分布式数据存储方法、系统及可读存储介质

技术领域

本发明涉及分布式存储技术领域,尤其涉及一种分布式数据存储方法、系统及可读存储介质。

背景技术

随着信息化与工业化的不断融合,在生产过程中,越来越多的部署传感器对生产过程数据进行感知,这些生产数据对研判生产状态、交货周期有非常重要的意义。因此对这些数据的存储通常可以利用就近的存储设备进行预先存储,然后对预先存储的数据经加工后传输至后台。可见,这些感知数据对生产过程的回溯具有重要的作用。目前,大部分传输方式都是经由传感器感知后直接传递到后台存储,由于传感器采集的数据量较大,这将会对存储资源造成巨大的压力,可见,现有的传输方式对前端存储造成的压力较大。

发明内容

本发明提供了一种分布式数据存储方法、系统及可读存储介质,以解决现有的传输方式对前端存储造成的压力较大的问题。

为了实现上述目的,本发明通过如下的技术方案来实现:

第一方面,本发明提供一种分布式数据存储方法,包括:

确定各传感器的采集区域,在所述采集区域的预设范围内建立N个存储节点,N为正整数;

基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络;

利用所述目标对等存储网络将各传感器采集的目标数据发送至后台。

可选地,所述基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络,包括:

第一目标节点向第二目标节点发送构建网络请求,所述构建网络请求携带所述第一目标节点的地址信息,所述第一目标节点为所述N个存储节点中任意一个节点,所述第二目标节点为N个存储节点中除所述第一目标节点以外的其余节点中的任意一个节点;

第二目标节点基于所述地址信息与所述第一目标节点建立连接,并在连接成功后,将所述构建网络请求转发至N个存储节点中的其余节点,将其余节点中接收到所述构建网络请求中的存储节点视为新的第二目标节点,以此迭代,直至所述N个存储节点中的每一个存储节点都建立连接关系以形成初始对等存储网络;

基于预设方式和所述初始对等存储网络中各存储节点之间的物理跳数优化所述初始对等存储网络得到目标对等存储网络。

可选地,所述基于预设方式和所述初始对等存储网络中各存储节点之间的物理跳数优化所述初始对等存储网络得到目标对等存储网络,包括:

获取所述N个存储节点之间的物理跳数;

解除物理跳数大于预设跳数阈值的节点之间的连接关系;

对于无连接关系的存储节点,建立该无连接关系的存储节点与物理跳数最短的存储节点之间的连接关系以得到目标对等存储网络。

可选地,所述利用所述目标对等存储网络将各传感器采集的目标数据发送至后台之前,所述方法还包括:

第一目标节点接收传感器发送的目标数据,将所述目标数据进行本地存储后,向所述第一目标节点的连接存储节点转发存储请求,并将接收所述存储请求的节点标记为宿主节点,所述存储请求携带所述目标数据和所述目标数据对应的指示信息,所述指示信息用于表示所述目标数据的源头节点为第一目标节点;

所述第一目标节点的连接存储节点基于所述存储请求存储所述目标数据和所述指示信息;

所述目标对等网络中的N个存储节点接收后台的数据转移请求,所述数据转移请求携带待转移的目标数据。

可选地,所述利用所述目标对等存储网络将各传感器采集的目标数据发送至后台,包括:

计算第三目标节点到发送所述数据转移请求的后台之间的第一物理跳数,以及所述待转移的目标数据对应的源头节点或宿主节点分别与所述后台之间的第二物理跳数;

其中,所述第三目标节点为所述的N个存储节点中接收到所述数据转移请求的存储节点;

若所述第一物理跳数小于或等于所述第二物理跳数,所述第三目标节点向所述后台发送所述待转移的目标数据;

若所述第一物理跳数大于所述第二物理跳数,所述第三目标节点不发送所述待转移的目标数据。

可选地,在所述第三目标节点向所述后台发送所述待转移的目标数据的情况下,所述方法还包括:

所述第三目标节点向所述待转移的目标数据对应的源头节点或宿主节点发送通知消息,所述通知消息用于表示所述第三目标节点已向所述后台发送所述待转移的目标数据;

所述源头节点或宿主节点在对应的存储库中标记所述待转移的目标数据已被发送。

可选地,所述方法还包括:

确定所述目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模;

在满足第一预设条件的情况下,第一目标节点基于所述查询效率、网络维护代价、节点数量以及存储规模构建向量IV;

基于所述向量IV和预设的第一网络模型计算向量WV;

基于所述向量WV和所述目标对等存储网络的结构类型调整所述目标对等存储网络;

其中,所述目标对等存储网络的结构类型包括如下多项中的一项:

非结构化类型、混合式类型或者结构化类型。

可选地,所述第一预设条件包括:

所述第一目标节点对所述目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模执行第一动作,直至所述目标对等存储网络中的查询效率对应的第一平均值、网络维护代价对应的第二平均值、节点数量对应的第三平均值以及存储规模对应的第四平均值的变化程度小于预设的阈值;

其中,所述第一动作包括:

所述第一目标节点将所述目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模转发至所述目标对等存储网络中除所述第一目标节点以外的其余节点,且,所述第一目标节点接收其余节点转发的查询效率、网络维护代价、节点数量以及存储规模,并计算查询效率对应的第一平均值、网络维护代价对应的第二平均值、节点数量对应的第三平均值。

第二方面,本发明提供一种分布式数据存储系统,包括:确定模块,用于确定各传感器的采集区域,在所述采集区域的预设范围内建立N个存储节点,N为正整数;

建立模块,用于基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络;

存储节点,用于利用所述目标对等存储网络将各传感器采集的目标数据发送至后台。

第三方面,本发明提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的分布式数据存储方法的步骤。

有益效果:

本发明实施例中,首先确定各传感器的采集区域,在所述采集区域的预设范围内建立N个存储节点,N为正整数;基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络;利用所述目标对等存储网络将各传感器采集的目标数据发送至后台。这样,运用了面向本地化的对等网络存储策略,改善了传感器的数据直传至后端的造成压力的问题,同时,采用目标对等存储网络也提高了存储的可靠性和抗毁性。

附图说明

图1为本发明优选实施例的一种分布式数据存储方法的流程图。

具体实施方式

下面对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

除非另作定义,本发明中使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

如图1所示,本发明提供了一种分布式数据存储方法,包括:

步骤101、确定各传感器的采集区域,在采集区域的预设范围内建立N个存储节点,N为正整数。

在该步骤中,建立的存储节点之间是可以通过网络建立对等存储网络的存储节点,也即,各存储节点之间可以通信连接,且各存储节点可以用于存储传感器采集的感知数据。

步骤102、基于N个存储节点之间的物理跳数数量建立目标对等存储网络。

步骤103、利用目标对等存储网络将各传感器采集的目标数据发送至后台。

在该步骤中,首先将传感器节点的感知数据发送至目标对等存储网络中的存储节点进行本地存储,然后在接收到后台发送的数据转移请求的情况下,利用目标对等存储网络将各传感器采集的目标数据发送至后台。

上述的分布式数据存储方法,首先确定各传感器的采集区域,在所述采集区域的预设范围内建立N个存储节点,N为正整数;基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络;利用所述目标对等存储网络将各传感器采集的目标数据发送至后台。这样,运用了面向本地化的对等网络存储策略,改善了传感器的数据直传至后端的造成压力的问题,同时,采用目标对等存储网络也提高了存储的可靠性和抗毁性。

可选地,基于N个存储节点之间的物理跳数数量建立目标对等存储网络,包括:

第一目标节点向第二目标节点发送构建网络请求,构建网络请求携带目标网络的地址信息,第一目标节点为N个存储节点中任意一个节点,第二目标节点为N个存储节点中除第一目标节点以外的其余节点中的任意一个节点;

第二目标节点基于地址信息与第一目标节点建立连接,并在连接成功后,将构建网络请求转发至N个存储节点中的其余节点,将其余节点中接收到构建网络请求中的存储节点视为新的第二目标节点,以此迭代,直至N个存储节点中的每一个存储节点都建立连接关系以形成初始对等存储网络;

基于预设方式和初始对等存储网络中各存储节点之间的物理跳数优化初始对等存储网络得到目标对等存储网络。

在本可选的实施方式中,第一目标节点为所述N个存储节点中任意一个节点,也即,N个存储节点中的每一个存储节点都执行发送构建网络请求的步骤。第一目标节点的地址信息也即第一目标节点的IP。第二目标节点是接收构建网络请求的节点,换言之,在本实施方式中,各个存储节点在网络上发送构建网络请求,并将自己的IP的随着构建网络请求一起发送;收到构建网络请求的节点将IP记录下来,并与对方进行连接,连接完毕后将此前收到的构建网络请求转发至新连接的节点;这样,经过不断转发和建立连接,各个节点之间也便建立了连接关系,各个存储节点和其连接关系构建成了全连接的网络,即每个节点都和其他节点相连,以形成初始对等存储网络。

进一步地,对形成的初始对等存储网络进行优化的步骤如下。

可选地,基于预设方式和初始对等存储网络中各存储节点之间的物理跳数优化初始对等存储网络得到目标对等存储网络,包括:

获取N个存储节点之间的物理跳数;

解除物理跳数大于预设跳数阈值的节点之间的连接关系;

对于无连接关系的存储节点,建立该无连接关系的存储节点与物理跳数最短的存储节点之间的连接关系以得到目标对等存储网络。

在本可选的实施方式中,通过分析网络底层数据包,各节点可以测量出与其他节点的物理跳数,并建立跳数路由表RT,跳数路由表RT中每一行为对方IP地址,该IP对应的是物理跳数;各节点根据跳数的数量多少,解除跳数大于预设跳数阈值的节点之间的连接关系。每个节点都执行完解除操作后,若节点发现自己无连接,则从跳数路由表RT中选择一个最短的节点进行连接。以此,成功构建目标对等存储网络。通过构建目标对等存储网络,可以对传感器采集的数据进行本地存储,降低传感器直传的前端存储压力。

可选地,利用目标对等存储网络将各传感器采集的目标数据发送至后台之前,方法还包括:

第一目标节点接收传感器发送的目标数据,将目标数据进行本地存储后,向第一目标节点的连接存储节点转发存储请求,并将接收所述存储请求的节点标记为宿主节点,存储请求携带目标数据和目标数据对应的指示信息,指示信息用于表示目标数据的源头节点为第一目标节点;

第一目标节点的连接存储节点基于存储请求存储目标数据和指示信息;

目标对等存储网络中的N个存储节点接收后台的数据转移请求,数据转移请求携带待转移的目标数据。

在本可选的实施方式中,目标对等存储网络中的节点将传感器采集的感知数据进行本地存储。例如,传感器感知数据后将数据以K-V的形式存储入附近的存储节点,将存储节点视为第一目标节点,以第一目标节点为节点P为例进行后续步骤的示例说明。其中,K-V可以是数据的数据格式,例如格式为Key-Value,也即键-值的格式,也可以理解为属性-属性值的格式。节点P将数据存储入本地后,再将数据转发至节点P的连接节点,节点P将发送完毕的节点标记为针对此K-V的宿主节点,也即宿主节点是接收过节点P传来的传感数据的节点;节点P的连接节点收到此存储消息后,将此K-V进行本地存储,并存储此K-V对应的指示信息,指示信息用于表示P节点为此数据的源头节点。

需要说明的是,后台存储服务定时向目标对等存储网络发送数据转移请求,其中,目标对等存储网络接收数据转移请求之后,向后台发送数据的步骤如下。

可选地,利用目标对等存储网络将各传感器采集的目标数据发送至后台,包括:

计算第三目标节点到发送数据转移请求的后台之间的第一物理跳数,以及待转移的目标数据对应的源头节点或宿主节点分别与后台之间的第二物理跳数;

其中,第三目标节点为的N个存储节点中接收到数据转移请求的存储节点;

若第一物理跳数小于或等于第二物理跳数,第三目标节点向后台发送待转移的目标数据;

若第一物理跳数大于第二物理跳数,第三目标节点不发送待转移的目标数据。

在本可选的实施方式中,接收到数据转移请求的存储节点可以包括多个节点,以其中一个节点(第三目标节点)为例,对接收到数据转移请求的节点执行的步骤进行示例说明。第三目标节点接收到数据转移请求,并针对逐条数据进行计算,计算自身到发送数据转移请求的后台之间的第一物理跳数,以及待转移的目标数据对应的源头节点或宿主节点分别和后台之间的第二物理跳数,若自身到后台的第一物理跳数大于数据的源头节点和后台之间的第二物理跳数,则此条数据不发送;否则,发送此条数据至后台。这样,可以以最少的物理跳数将数据发送至后台,提升了目标对等存储网络中的资源利用率。需要说明的是,此处的不发送是指当前所考虑的节点不向后端服务器发送本条数据,但下一条数据可能会发送。这取决于针对下一条数据的跳数。此处仅做示例,不做限定。

可选地,在第三目标节点向后台发送待转移的目标数据的情况下,上述的分布式数据存储方法还包括:

第三目标节点向待转移的目标数据对应的源头节点或宿主节点发送通知消息,通知消息用于表示第三目标节点已向后台发送待转移的目标数据;

源头节点或宿主节点在对应的存储库中标记待转移的目标数据已被发送。

在本可选的实施方式中,通过第三目标节点向待转移的目标数据对应的源头节点或宿主节点发送通知消息,告知源头节点或宿主节点该目标数据已被发送至后台,宿主节点或源头节点收到其数据已经被发送的消息后,在本地标记此数据已经被发送,这样,可以避免重复发送数据造成资源浪费。可以针对工业场景中感知数据直接存储至后台所带来的存储压力过大问题,后台服务通过定时发送数据转移指令,并配合按照跳数远近进行发送,这很大程度上减少了传输和存储的压力,更好的提高了工业感知数据的可靠性和容错性。

可选地,上述的分布式数据存储方法还包括:

确定目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模;

在满足第一预设条件的情况下,第一目标节点基于查询效率、网络维护代价、节点数量以及存储规模构建向量IV;

基于向量IV和预设的第一网络模型计算向量WV;

基于向量WV和目标对等存储网络的结构类型调整目标对等存储网络;

其中,目标对等存储网络的结构类型包括如下多项中的一项:

非结构化类型、混合式类型或者结构化类型。

在本可选的实施方式中,针对用户的查询确定目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模。具体地,将接收查询的节点可以视为第一目标节点,第一目标节点收集从发起查询到反馈结果的时间,归一化为查询效率;发起节点不断探测收集为维护网络结构所发出的消息数量,归一化为网络维护代价;第一目标节点不断收集网络上节点总数量,归一化为节点数量;第一目标节点不断收集存储总量,归一化为存储规模。需要说明的是,第一目标节点可以是N个存储节点中的任意一个节点,也即,N个存储节点中的各节点都执行本可选实施方式中的转发步骤。

其中,第一预设条件包括:第一目标节点对目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模执行第一动作,直至目标对等存储网络中的查询效率对应的第一平均值、网络维护代价对应的第二平均值、节点数量对应的第三平均值以及存储规模对应的第四平均值的变化程度小于预设的阈值。

其中,第一动作包括:第一目标节点将目标对等存储网络中的查询效率、网络维护代价、节点数量以及存储规模转发至目标对等存储网络中除第一目标节点以外的其余节点,且,第一目标节点接收其余节点转发的查询效率、网络维护代价、节点数量以及存储规模,并计算查询效率对应的第一平均值、网络维护代价对应的第二平均值、节点数量对应的第三平均值。

换言之,在本可选的实施方式中,各个节点将自身收集到的查询效率、网络维护代价、节点数量、存储规模不断转发;同时,各个节点还收到其他节点发来的查询效率、网络维护代价、节点数量、存储规模,节点将此消息记录,并不断求各个值的平均值,直到各个平均值趋于稳定。

进一步地,节点构建IV向量,并调用预设的第一网络模型,计算WV值。需要说明的是,预设的第一网络模型可以是AR模型,其中,该AR模型的预设训练过程可以包括如下步骤。

选取查询效率、网络维护代价、节点数量、存储规模为考核指标,进行归一化处理,并构建向量IV;将0连接网络设为0,将全连接对等网络设为1,非结构对等网络按照松散度设置在0-0.35之间,混合对等网络按照松散度设置在0.35-0.65之间,结构化对等网络按照松散度设置在0.65-1之间。此处,对松散度的取值的设定仅做示例,不做限定,可变换地,在其他可行的实施方式中,还可以在一定范围内对其取值进行调整。针对不同的查询效率、网络维护代价、节点数量、存储规模,采集最让用户满意的对应网络结构,并依据上述的分值给出数值WV;构建样本的IV→WV之间的映射规则;将样本带入自回归(Autoregressivemodel,AR)模型进行训练;训练完毕后,将模型参数AR进行保存以得到AR模型。

值得说明的是,IV向量表示指标向量(Index Vector),在本申请中,指标向量包括查询效率、网络维护代价、节点数量以及存储规模,WV向量表示网络松散度向量(netWorkVector),包括上述的松散度值。其中,本申请构建了一对一对的向量映射,这些映射作为模型训练的输入。此处与现有机器学习模型一致,不做赘述。

进一步地,基于所述向量WV和目标对等存储网络的结构类型调整目标对等存储网络可以包括如下步骤。

若为非结构化网络,根据WV值,依据跳数进行连接或解除连接;若为混合式网络,先确定超级节点数量,并进行超级节点选举,并构建超级节点的结构化网络,根据WV值,构建超级节点与普通节点的非结构化网络;若为结构化网络,根据WV值,构建对应松散度的结构化对等网络。这样,可以针对工业生产中作业场景经常发生变化,对目标对等存储网络结构做出变化以适应存储和查询的需求。本实施方式中,针对不同的作业要求和场景,设计了依据自主学习、针对应用需求而改变网络结构的机制,考虑了查询效率、网络维护代价、节点数量、存储规模这些因素,并可以在非结构化、混合式和结构化网络中自适应切换,而且每一种网络都可以调节松散度,这充分适应了工业作业场景对对等网络性能的不同需求,兼顾了工作效率和开销。

需要说明的是,结构化对等网络是按照一定拓扑结构构件的对等网络,非结构化对等网络:没有结构、松散的连接在一起的对等网络,混合式对等网络一般而言,都需要按照计算能力选举出超级节点,超级节点构建结构化网络,其他普通节点连接各自的超级节点构成非结构化网络。此处不做赘述。

本申请实施例还提供一种分布式数据存储系统,包括:确定模块,用于确定各传感器的采集区域,在所述采集区域的预设范围内建立N个存储节点,N为正整数;

建立模块,用于基于所述N个存储节点之间的物理跳数数量建立目标对等存储网络;

存储节点,用于利用所述目标对等存储网络将各传感器采集的目标数据发送至后台。

上述的分布式数据存储系统能实现上述的分布式数据存储方法的各个实施例的步骤,也能达到相同的有益效果,此处,不做赘述。

可选地,本申请实施例还提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上所述的分布式数据存储方法的步骤。也能达到相同的有益效果,此处,不做赘述。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

相关技术
  • 分布式数据存储方法、系统及可读存储介质
  • 分布式块存储系统中数据存储方法、装置及计算机可读存储介质
技术分类

06120113207649