一种分布式系统中数据传输处理与存储方法、系统及介质与流程

文档序号:30598172发布日期:2022-07-01 21:06阅读:130来源:国知局
一种分布式系统中数据传输处理与存储方法、系统及介质与流程

1.本发明涉及数据处理技术邻域,更具体的,涉及一种分布式系统中数据传输处理与存储方法、系统及介质。


背景技术:

2.随着工业企业的发展,生产规模扩大以及数据采集量的大大增加,企业在数据采集实时性及成本控制方面提出了更高的要求,而分布式系统具有高可靠性、高透明性和高并发能力,在信息时代有了更深层次的应用,尤其是实时通信方面,有效解决了单服务器通信系统的弊端,当前存在较为成熟的分布式系统,以及通过显卡(gpu),硬件加速卡进行数据处理的架构,但是在同时满足超低时延并能准实时对数据进行分析处理方面,仍然存在问题。
3.为了能够在处理大量实时的非结构化数据时,包括视频,音频,图片等,需要基于低时延硬件系统提供一套低时延,准实时,高可靠的数据处理及存储软件系统。该系统通过获取在当前硬件下数据传输,处理,存储的过程中的最短数据拷贝路径,最短数据存储路径,高效流式数据处理及存储,以解决当前存储和计算同步进行时数据多次拷贝的时延,效率和资源浪费问题。


技术实现要素:

4.为了解决上述技术问题,本发明提出了一种分布式系统中数据传输处理与存储方法、系统及介质。
5.本发明第一方面提供了一种分布式系统中数据传输处理与存储方法,包括:当数据源产成数据后,生成远程过程调用发送至存储计算集群;存储计算集群收到调用后,选定任一存储计算节点作为源存储节点,通过远程内存访问读取数据源的内存并存储在集群的存储级内存中;所述源存储节点接收到第一份数据后给集群中分配的用于做数据冗余复制的第二个节点发送远程过程调用;冗余复制节点收到消息后,通过远程持久内存访问完成数据的远程复制,完成数据的高可用持久写入;所述存储计算集群具有存储功能,包括使用存储级内存作为一级持久缓存,使用基于nvme协议的固态硬盘作为最终存储的二级存储,使用显卡、硬件加速卡作为数据计算加工单元的具有存储计算的集群系统。
6.本方案中,所述数据源及存储计算集群之间建立具备远程内存访问功能的网络,进行消息传送。
7.本方案中,在源存储节点完成存储级内存写入后,根据预先定义对数据的工作负荷进行计算,所述工作负荷由显卡及硬件加速卡完成;工作负荷根据预先定义进行流式多任务处理,在完成预定工作负荷后,将数据回
写回本机内存工作负荷既可根据需求只在源数据存储节点进行,又可根据负荷情况在源存储节点和冗余复制存储节点分别运行不同负荷。
8.本方案中,若数据传送目标中存在二级存储单元,则通过直接存储器访问,将数据存储到二级存储中;对于有数据冗余要求的场景,工作负荷调度单元通过远程过程调用方式通知冗余复制节点,冗余复制节点收到消息后启动远程内存访问,将数据写入本地内存,再通知本地存储启动直接存储器访问,完成数据的冗余。
9.本方案中,还包括:根据远程过程调用响应时间判断存储计算节点是否存在异常;获取存储计算集群的有向带权图,预设存储计算集群中存储计算节点间调用请求的响应时间区间;获取存储计算集群中存储计算节点间远程过程调用的响应时间,判断所述响应时间是否处于预设相应时间区间内;若否,则将远程过程调用的目标存储节点确定为异常节点,根据所述有向带权图将存储计算节点间的调用关系转化为请求字符串;计算所述请求字符串与系统中已知异常对应请求字符串的相似度,根据所述相似度进行排序,获取相似度最高的已知异常确定异常节点的异常信息。
10.本发明第二方面还提供了一种分布式系统中数据传输处理与存储系统,该系统包括:存储器、处理器,所述存储器中包括一种分布式系统中数据传输处理与存储方法程序,所述一种分布式系统中数据传输处理与存储方法程序被所述处理器执行时实现如下步骤:当数据源产成数据后,生成远程过程调用发送至存储计算集群;存储计算集群收到调用后,选定任一存储计算节点作为源存储节点,通过远程内存访问读取数据源的内存并存储在集群的存储级内存中;所述源存储节点接收到第一份数据后给集群中分配的用于做数据冗余复制的第二个节点发送远程过程调用;冗余复制节点收到消息后,通过远程持久内存访问完成数据的远程复制,完成数据的高可用持久写入;所述存储计算集群具有存储功能,包括使用存储级内存作为一级持久缓存,使用基于nvme协议的固态硬盘作为最终存储的二级存储,使用显卡、硬件加速卡作为数据计算加工单元的具有存储计算的集群系统。
11.本方案中,所述数据源及存储计算集群之间建立具备远程内存访问功能的网络,进行消息传送。
12.本方案中,在源存储节点完成存储级内存写入后,根据预先定义对数据的工作负荷进行计算,所述工作负荷由显卡及硬件加速卡完成;工作负荷根据预先定义进行流式多任务处理,在完成预定工作负荷后,将数据回写回本机内存;工作负荷既可根据需求只在源数据存储节点进行,又可根据负荷情况在源存储节点和冗余复制存储节点分别运行不同负荷。
13.本方案中,若数据传送目标中存在二级存储单元,则通过直接存储器访问,将数据
存储到二级存储中;对于有数据冗余要求的场景,工作负荷调度单元通过远程过程调用方式通知冗余复制节点,冗余复制节点收到消息后启动远程内存访问,将数据写入本地内存,再通知本地存储启动直接存储器访问,完成数据的冗余。
14.本方案中,还包括:根据远程过程调用响应时间判断存储计算节点是否存在异常;获取存储计算集群的有向带权图,预设存储计算集群中存储计算节点间调用请求的响应时间区间;获取存储计算集群中存储计算节点间远程过程调用的响应时间,判断所述响应时间是否处于预设相应时间区间内;若否,则将远程过程调用的目标存储节点确定为异常节点,根据所述有向带权图将存储计算节点间的调用关系转化为请求字符串;计算所述请求字符串与系统中已知异常对应请求字符串的相似度,根据所述相似度进行排序,获取相似度最高的已知异常确定异常节点的异常信息。
15.本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一种分布式系统中数据传输处理与存储方法程序,所述一种分布式系统中数据传输处理与存储方法程序被处理器执行时,实现如上述任一项所述的一种分布式系统中数据传输处理与存储方法的步骤。
16.本发明公开了一种分布式系统中数据传输处理与存储方法、系统及介质,包括:当数据源产成数据后,生成远程过程调用发送至存储计算集群,存储计算集群收到调用后,选定任一存储计算节点作为源存储节点,通过远程内存访问读取数据源的内存并存储在集群的存储级内存中;源存储节点接收到第一份数据后给集群中分配的用于做数据冗余复制的第二个节点发送远程过程调用,冗余复制节点收到消息后,通过远程持久内存访问完成数据的远程复制,完成数据的高可用持久写入;本发明实现了在当前硬件下数据传输处理,存储的过程中的最短数据拷贝、存储路径,高效流式数据处理及存储,解决了当前存储和计算同步进行时数据多次拷贝的时延,效率和资源浪费问题。
附图说明
17.图1示出了本发明一种分布式系统中数据传输处理与存储方法的流程图;图2示出了本发明判断存储计算节点是否存在异常的流程图;图3示出了本发明一种分布式系统中数据传输处理与存储系统的框图;图4示出了本发明中存储计算集群的架构框图。
具体实施方式
18.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
19.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
20.图1示出了本发明一种分布式系统中数据传输处理与存储方法的流程图。
21.如图1所示,本发明第一方面提供了一种分布式系统中数据传输处理与存储方法,包括:s102,当数据源产成数据后,生成远程过程调用发送至存储计算集群;s104,存储计算集群收到调用后,选定任一存储计算节点作为源存储节点,通过远程内存访问读取数据源的内存并存储在集群的存储级内存中;s106,所述源存储节点接收到第一份数据后给集群中分配的用于做数据冗余复制的第二个节点发送远程过程调用;s108,冗余复制节点收到消息后,通过远程持久内存访问完成数据的远程复制,完成数据的高可用持久写入;所述存储计算集群具有存储功能,包括使用存储级内存作为一级持久缓存,使用基于nvme协议的固态硬盘作为最终存储的二级存储,使用显卡、硬件加速卡作为数据计算加工单元的具有存储计算的集群系统,存储计算集群的架构如图4所示。
22.需要说明的是,所述数据源及存储计算集群之间建立具备远程内存访问功能的网络,进行消息传送。在数据源产生数据后,给存储计算集群发送一个远程过程调用(rpc),存储计算集群收到调用后,选定一个节点作为源存储节点,启动远程内存访问,直接读取客户端的内存并存储在集群中存储级内存中,保证数据的持久化。存储节点接收到第一份数据后给集群中的分配的用于做数据冗余复制的第二个节点发送远程过程调用,冗余复制节点收到消息后,启动远程持久内存访问(rpma),完成数据的远程复制,完成该步骤后,冗余复制节点给源存储节点发送消息,源存储节点收到消息后给客户端发送消息,经过一次远程内存访问,一次远程持久内存访问,即完成了数据的高可用持久写入。
23.根据本发明实施例,在源存储节点完成存储级内存写入后,即可根据用户预先定义的对数据的工作负荷进行计算,工作负荷由显卡,硬件加速卡完成,包括大数据分析,机器学习,数据压缩,加密,去重等逻辑,工作负荷可以根据预先定义进行多任务流式处理,如可以先后进行数据去重,数据压缩,数据加密。在完成预定工作负荷后,将数据回写回本机内存。工作负荷可以根据需求只在源数据存储节点进行,也可以根据负荷情况在源存储节点和冗余复制存储节点分别运行不同负荷,进一步提高数据处理的实时性。根据负荷定义情况及数据迁移处理规则,在数据处理完成后,把数据处理结果及处理后的数据写入内存,同时通知集群工作负荷调度单元,工作负荷调动单元根据工作负荷定义,确认处理结果的传送目标,如音频处理工作负荷中,根据关键字确认通知到相关程序组件。
24.需要说明的是,根据数据的对不同存储计算节点的总访问时间开销差异进行数据迁移,具体为:获取数据的读写访问频率,根据所述读写访问频率获取存储计算节点的总访问时间,将所述总访问时间进行排序获取最小访问时间对应存储计算节点,判断数据是否处于最小访问时间对应存储计算节点,若是,则不需迁移,若否,则进行数据迁移,获取数据对最小访问时间对应存储计算节点与其他存储计算节点的总访问时间开销差异,判断总访问时间开销差异是否大于预设差异阈值,若大于,则判断总访问时间开销差异是否大于数据迁移时间,若大于,则证明数据能够迁移到最小访问时间对应存储计算节点,若不能迁移,则根据总访问时间排序获取次小访问时间对应存储计算节点。根据读写访问频率结合内存读写时间开销确定总访问时间,数据在存储计算节点上的内存读写时间开销通过数据
的传输时间及数据在存储计算节点的寻道时间求和获取;获取存储计算集群的平均计算能力及存储计算节点的计算能力,获取二者比值生成修正参数对总访问时间进行修正,根据修正后的总访问时间获取不同存储计算节点的总访问时间开销差异。
25.根据本发明实施例,如果传送目标中有二级存储单元,则通知存储器启动内存访问,将数据存储到二级存储中,对于有数据冗余要求的场景,工作负荷调度单元还会通过远程过程调用的方式通知冗余复制节点,冗余复制节点收到消息后启动远程内存访问,将数据写入本地内存,再通知本地存储启动内存访问,完成数据的冗余。在跨节点的集群系统和集群客户端之间,通过一次内存读,一次存储级内存写,即完成了数据的单副本持久保存,在完成两次存储级内存写后,即保证了数据的高可用性写入。在完成一次远程内存访问之后,即开始数据的处理,将开始处理数据的时间降到了最低,提供了分布式系统下的最低时延的数据处理。通过集群调度单元,根据工作负荷不同,即可实现流式数据处理,也可实现分布式数据处理,即可满足低时延性要求,也可以满足高负荷数据处理要求。在数据处理完成后,根据预先定义的不同规则,可以实现一次内存读,一次内存写即可完成数据进入二级持久存储。
26.图2示出了本发明判断存储计算节点是否存在异常的流程图。
27.根据本发明实施例,还包括:根据远程过程调用响应时间判断存储计算节点是否存在异常;s202,获取存储计算集群的有向带权图,预设存储计算集群中存储计算节点间调用请求的响应时间区间;s204,获取存储计算集群中存储计算节点间远程过程调用的响应时间,判断所述响应时间是否处于预设相应时间区间内;s206,若否,则将远程过程调用的目标存储节点确定为异常节点,根据所述有向带权图将存储计算节点间的调用关系转化为请求字符串;s208,计算所述请求字符串与系统中已知异常对应请求字符串的相似度,根据所述相似度进行排序,获取相似度最高的已知异常确定异常节点的异常信息。
28.需要说明的是,存储计算集群中的存储计算节点作为具有存储、计算等功能的需要执行多种任务信息,而由于任务数量过多、剩余内存过小等原因在任务的执行过程中可能出现重复执行的情况,从而导致系统故障等现象,存储计算集群中源存储节点获取存储计算节点的运行状态,以判断存储计算节点中是否存在异常状况从而做出相应处理,通过获取节点间远程过程调用的响应时间反应存储计算节点的运行状态,由于存储计算节点间做数据冗余复制时通过远程过程调用进行实现,则远程过程调用的响应时间不处于预设响应时间阈值区间时,则确定存储计算节点存在异常。根据存储计算集群中存储计算节点的调用关系确定有向带权图,通过对已知异常情况的执行轨迹进行分析获取已知异常原因的分析,并将对应的请求字符串进行存储,通过相似度计算确定异常节点可能的相似异常信息,可以通过异常信息对系统中故障进行分析。
29.图3示出了本发明一种分布式系统中数据传输处理与存储系统的框图。
30.本发明第二方面还提供了一种分布式系统中数据传输处理与存储系统3,该系统包括:存储器31、处理器32,所述存储器中包括一种分布式系统中数据传输处理与存储方法程序,所述一种分布式系统中数据传输处理与存储方法程序被所述处理器执行时实现如下
步骤:当数据源产成数据后,生成远程过程调用发送至存储计算集群;存储计算集群收到调用后,选定任一存储计算节点作为源存储节点,通过远程内存访问读取数据源的内存并存储在集群的存储级内存中;所述源存储节点接收到第一份数据后给集群中分配的用于做数据冗余复制的第二个节点发送远程过程调用;冗余复制节点收到消息后,通过远程持久内存访问完成数据的远程复制,完成数据的高可用持久写入;所述存储计算集群具有存储功能,包括使用存储级内存作为一级持久缓存,使用基于nvme协议的固态硬盘作为最终存储的二级存储,使用显卡、硬件加速卡作为数据计算加工单元的具有存储计算的集群系统。
31.需要说明的是,所述数据源及存储计算集群之间建立具备远程内存访问功能的网络,进行消息传送。在数据源产生数据后,给存储计算集群发送一个远程过程调用(rpc),存储计算集群收到调用后,选定一个节点作为源存储节点,启动远程内存访问,直接读取客户端的内存并存储在集群中存储级内存中,保证数据的持久化。存储节点接收到第一份数据后给集群中的分配的用于做数据冗余复制的第二个节点发送远程过程调用,冗余复制节点收到消息后,启动远程持久内存访问(rpma),完成数据的远程复制,完成该步骤后,冗余复制节点给源存储节点发送消息,源存储节点收到消息后给客户端发送消息,经过一次远程内存访问,一次远程持久内存访问,即完成了数据的高可用持久写入。
32.根据本发明实施例,在源存储节点完成存储级内存写入后,即可根据用户预先定义的对数据的工作负荷进行计算,工作负荷由显卡,硬件加速卡完成,包括大数据分析,机器学习,数据压缩,加密,去重等逻辑,工作负荷可以根据预先定义进行多任务流式处理,如可以先后进行数据去重,数据压缩,数据加密。在完成预定工作负荷后,将数据回写回本机内存。工作负荷可以根据需求只在源数据存储节点进行,也可以根据负荷情况在源存储节点和冗余复制存储节点分别运行不同负荷,进一步提高数据处理的实时性。根据负荷定义情况及数据迁移处理规则,在数据处理完成后,把数据处理结果及处理后的数据写入内存,同时通知集群工作负荷调度单元,工作负荷调动单元根据工作负荷定义,确认处理结果的传送目标,如音频处理工作负荷中,根据关键字确认通知到相关程序组件。
33.需要说明的是,根据数据的对不同存储计算节点的总访问时间开销差异进行数据迁移,具体为:获取数据的读写访问频率,根据所述读写访问频率获取存储计算节点的总访问时间,将所述总访问时间进行排序获取最小访问时间对应存储计算节点,判断数据是否处于最小访问时间对应存储计算节点,若是,则不需迁移,若否,则进行数据迁移,获取数据对最小访问时间对应存储计算节点与其他存储计算节点的总访问时间开销差异,判断总访问时间开销差异是否大于预设差异阈值,若大于,则判断总访问时间开销差异是否大于数据迁移时间,若大于,则证明数据能够迁移到最小访问时间对应存储计算节点,若不能迁移,则根据总访问时间排序获取次小访问时间对应存储计算节点。根据读写访问频率结合内存读写时间开销确定总访问时间,数据在存储计算节点上的内存读写时间开销通过数据的传输时间及数据在存储计算节点的寻道时间求和获取;获取存储计算集群的平均计算能力及存储计算节点的计算能力,获取二者比值生成修正参数对总访问时间进行修正,根据
修正后的总访问时间获取不同存储计算节点的总访问时间开销差异。
34.根据本发明实施例,如果传送目标中有二级存储单元,则通知存储器启动内存访问,将数据存储到二级存储中,对于有数据冗余要求的场景,工作负荷调度单元还会通过远程过程调用的方式通知冗余复制节点,冗余复制节点收到消息后启动远程内存访问,将数据写入本地内存,再通知本地存储启动内存访问,完成数据的冗余。在跨节点的集群系统和集群客户端之间,通过一次内存读,一次存储级内存写,即完成了数据的单副本持久保存,在完成两次存储级内存写后,即保证了数据的高可用性写入。在完成一次远程内存访问之后,即开始数据的处理,将开始处理数据的时间降到了最低,提供了分布式系统下的最低时延的数据处理。通过集群调度单元,根据工作负荷不同,即可实现流式数据处理,也可实现分布式数据处理,即可满足低时延性要求,也可以满足高负荷数据处理要求。在数据处理完成后,根据预先定义的不同规则,可以实现一次内存读,一次内存写即可完成数据进入二级持久存储。
35.根据本发明实施例,还包括:根据远程过程调用响应时间判断存储计算节点是否存在异常;获取存储计算集群的有向带权图,预设存储计算集群中存储计算节点间调用请求的响应时间区间;获取存储计算集群中存储计算节点间远程过程调用的响应时间,判断所述响应时间是否处于预设相应时间区间内;若否,则将远程过程调用的目标存储节点确定为异常节点,根据所述有向带权图将存储计算节点间的调用关系转化为请求字符串;计算所述请求字符串与系统中已知异常对应请求字符串的相似度,根据所述相似度进行排序,获取相似度最高的已知异常确定异常节点的异常信息。
36.需要说明的是,存储计算集群中的存储计算节点作为具有存储、计算等功能的需要执行多种任务信息,而由于任务数量过多、剩余内存过小等原因在任务的执行过程中可能出现重复执行的情况,从而导致系统故障等现象,存储计算集群中源存储节点获取存储计算节点的运行状态,以判断存储计算节点中是否存在异常状况从而做出相应处理,通过获取节点间远程过程调用的响应时间反应存储计算节点的运行状态,由于存储计算节点间做数据冗余复制时通过远程过程调用进行实现,则远程过程调用的响应时间不处于预设响应时间阈值区间时,则确定存储计算节点存在异常。根据存储计算集群中存储计算节点的调用关系确定有向带权图,通过对已知异常情况的执行轨迹进行分析获取已知异常原因的分析,并将对应的请求字符串进行存储,通过相似度计算确定异常节点可能的相似异常信息,可以通过异常信息对系统中故障进行分析。
37.本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一种分布式系统中数据传输处理与存储方法程序,所述一种分布式系统中数据传输处理与存储方法程序被处理器执行时,实现如上述任一项所述的一种分布式系统中数据传输处理与存储方法的步骤。
38.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或
可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
39.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
40.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
41.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
42.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
43.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1