一种高效的纠删分布式存储写入方法、系统、介质及终端技术方案

技术编号:26762328 阅读:17 留言:0更新日期:2020-12-18 23:10
本发明专利技术提供一种高效的纠删分布式存储写入方法、系统、介质及终端,包括:通过客户端向元数据服务器发起第一请求信息,元数据服务器根据第一请求信息,在数据节点创建数据块对应的元数据,并将对应的block ID信息反馈至客户端;客户端根据block ID信息,向数据节点端发起用于请求打开数据节点端的数据块操作句柄的第二请求信息;根据数据块操作句柄,将待存储数据写入数据节点,并关闭写入的数据块;本发明专利技术通过在初始化时建立管理socket链接池的线程,能够保证socket链接的最大利用率,减少服务端的线程数和链接数,减少了线程的上下文切换,提高了CPU的利用率,降低了网络压力,降低系统开销,提高了服务吞吐量。

【技术实现步骤摘要】
一种高效的纠删分布式存储写入方法、系统、介质及终端
本专利技术涉及计算机领域,尤其涉及一种高效的纠删分布式存储写入方法、系统、介质及终端。
技术介绍
在大数据环境下,元数据的体量也非常大,元数据的存取性能是整个分布式文件系统性能的关键,分布式元数据管理架构通过将元数据分散在多个结点上.解决了元数据服务器的性能瓶颈等问题。但是,在传统的IO模型中,在客户端写入IPC视频文件时,一种方式是采用一线程一socket链接的模式,会造成并发链接过多,线程上下文切换频繁,导致CPU利用率低;另一种是采用x线程处理y个链接(x<y),减少服务端的线程数,但是在写入并发量高时,较少的x线程数却无法及时处理完y个链接的写入业务,导致视频文件在传输中丢失,。此外,在服务端一般采用seek后写入视频文件,在多线程写入同一磁盘还需要加锁保护,同样会带来非常大的系统开销。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术提供一种高效的纠删分布式存储写入方法、系统、介质及终端,以解决上述技术问题。本专利技术提供的高效的纠删分布式存储写入方法,包括:通过客户端向元数据服务器发起第一请求信息,所述第一请求信息包括用于写入数据节点端的每个数据块的blockID信息;元数据服务器根据所述第一请求信息,在数据节点创建数据块对应的元数据,并将对应的blockID信息反馈至客户端;客户端根据所述blockID信息,向数据节点端发起用于请求打开数据节点端的数据块操作句柄的第二请求信息;>根据所述数据块操作句柄,将待存储数据写入数据节点,并关闭写入的数据块。可选的,将待存储数据分成n份原始数据,并通过纠删算法获取m份数据;所述第一请求信息包括用于写入n+m份数据的数据节点端的n+m个数据块的blockID信息;分别向n+m个数据节点请求打开对应的数据块,获取对应的数据块操作句柄;根据每个数据块操作句柄,将数据写入至数据节点。可选的,当同一条socket链路上的多个数据块并发传输时,通过消息ID、写入的数据块操作句柄和请求消息包大小对不同的数据写入消息包进行识别,根据数据块操作句柄的字段对不同的数据块的写入进行识别。可选的,在建立socket连接时,使用长连接进行连接,且通过哈希表结构保存空闲节点信息;使用长连接后将连接信息加入至空闲节点链表中;同一服务端下次再次使用时,优先从所述空闲节点链表中获取空闲节点,若无法获取,则创建新的socket连接,并在使用完后再次加入到空闲连接链表中。可选的,在建立socket工作线程,创建写入的数据块的元数据时,对所述请求消息包进行解析,获取每个数据块的blockID信息,创建元数据信息并记录在管理元数据的全局哈希表和磁盘的元数据日志文件中。可选的,数据节点和客户端建立的所有socket连接为并发的接收来自客户端的写请求消息;每条socket链路上通过解析,获取消息ID、数据块操作句柄和实际写入的数据;根据所述数据块操作句柄,通过prwite方式将数据写入至磁盘。本专利技术还提供一种高效的纠删分布式存储写入系统,包括:客户端写入单元、元数据服务器单元和数据节点服务器写入单元,通过所述客户端写入单元向元数据服务器单元发起第一请求信息,所述第一请求信息包括用于写入数据节点端的每个数据块的blockID信息;元数据服务器单元根据所述第一请求信息,在数据节点创建数据块对应的元数据,并将对应的blockID信息反馈至客户端;客户端写入单元根据所述blockID信息,向数据节点端发起用于请求打开数据节点端的数据块操作句柄的第二请求信息;数据节点服务器写入单元根据所述数据块操作句柄,接收待存储数据,写入数据节点,并关闭写入的数据块。可选的,还包括任务添加管理模块,用于对数据块信息进行解析,将每个数据块绑定到对应的数据节点,以及将不同数据节点上的数据块读写操作对应于一个工作任务,并添加到线程池的任务队列中;数据收发模块,用于建立Socket连接,所述连接包括用于文件类操作的长连接和用于配置类操作的短连接;在建立socket连接时,使用长连接进行连接,且通过哈希表结构保存空闲节点信息;使用长连接后将连接信息加入至空闲节点链表中;同一服务端下次再次使用时,优先从所述空闲节点链表中获取空闲节点,若无法获取,则创建新的socket连接,并在使用完后再次加入到空闲连接链表中;当创建的总的工作线程数超过工作最小线程数且大于正在执行工作的工作线程数的两倍,对已建立的工作线程进行部分回收,当空闲连接链表中工作线程链接的空闲时间超过预设的时间阈值时,对所述链接进行关闭释放。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法。本专利技术还提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述中任一项所述方法。本专利技术的有益效果:本专利技术中的高效的纠删分布式存储写入方法、系统、介质及终端,通过在初始化时建立管理socket链接池的线程,能够保证socket链接的最大利用率,减少服务端的线程数和链接数,减少了线程的上下文切换,提高了CPU的利用率,降低了网络压力,降低系统开销,提高了服务吞吐量。另外,在IPC视频写入业务繁忙时,能够自增sokcet线程池的大小,在链接有多余时,并且该链接的空闲(未使用)时间超过一定时间,将链接释放,同时在数据节点端写入数据时,采用pwrite方式写入,避免了使用seek和加锁操作,减少了系统开销。上述方案很大程度上。附图说明图1是本专利技术实施例中高效的纠删分布式存储写入方法的客户端分割文件示意图。图2是本专利技术实施例中高效的纠删分布式存储写入系统的任务添加管理模块框架示意图。图3是本专利技术实施例中高效的纠删分布式存储写入方法的socket消息处理建立示意图。图4是本专利技术实施例中高效的纠删分布式存储写入方法的哈希表结构示意图。图5是本专利技术实施例中高效的纠删分布式存储写入方法的申请blockID消息示意图。图6是本专利技术实施例中高效的纠删分布式存储写入方法的打开BLOCK消息流程示意图。图7是本专利技术实施例中高效的纠删分布式存储写入系统的客户端和数据节点写入模型示意图。图8是本专利技术实施例中高效的纠删分布式存储写入方法的客户端写业务socket数据包结构示意图。图9是本专利技术实施例中高效的纠删分布式存储写入方法的流程示意图。具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术本文档来自技高网...

【技术保护点】
1.一种高效的纠删分布式存储写入方法,其特征在于,包括:/n通过客户端向元数据服务器发起第一请求信息,所述第一请求信息包括并发的用于写入数据节点端的每个数据块的blockID信息;/n元数据服务器根据所述第一请求信息,在数据节点创建数据块对应的元数据,并将对应的blockID信息反馈至客户端;/n客户端根据所述block ID信息,向数据节点发起用于请求打开数据节点端的数据块操作句柄的第二请求信息;/n根据所述数据块操作句柄,将待存储数据写入数据节点,并关闭写入的数据块。/n

【技术特征摘要】
1.一种高效的纠删分布式存储写入方法,其特征在于,包括:
通过客户端向元数据服务器发起第一请求信息,所述第一请求信息包括并发的用于写入数据节点端的每个数据块的blockID信息;
元数据服务器根据所述第一请求信息,在数据节点创建数据块对应的元数据,并将对应的blockID信息反馈至客户端;
客户端根据所述blockID信息,向数据节点发起用于请求打开数据节点端的数据块操作句柄的第二请求信息;
根据所述数据块操作句柄,将待存储数据写入数据节点,并关闭写入的数据块。


2.根据权利要求1所述的高效的纠删分布式存储写入方法,其特征在于,
将待存储数据分成n份原始数据,并通过纠删算法获取m份数据;
所述第一请求信息包括用于写入n+m份数据的数据节点端的n+m个数据块的blockID信息;
分别向n+m个数据节点请求打开对应的数据块,获取对应的数据块操作句柄;
根据每个数据块操作句柄,将数据写入至数据节点。


3.根据权利要求2所述的高效的纠删分布式存储写入方法,其特征在于,当同一条socket链路上的多个数据块并发传输时,通过消息ID、写入的数据块操作句柄和请求消息包大小对不同的数据写入消息包进行识别,根据数据块操作句柄的字段对不同的数据块的写入进行识别。


4.根据权利要求3所述的高效的纠删分布式存储写入方法,其特征在于,
在建立socket连接时,使用长连接进行连接,且通过哈希表结构保存空闲节点信息;
使用长连接后将连接信息加入至空闲节点链表中;
同一服务端下次再次使用时,优先从所述空闲节点链表中获取空闲节点,若无法获取,则创建新的socket连接,并在使用完后再次加入到空闲连接链表中。


5.根据权利要求4所述的高效的纠删分布式存储写入方法,其特征在于,在建立socket工作线程,创建写入的数据块的元数据时,对所述请求消息包进行解析,获取每个数据块的blockID信息,创建元数据信息并记录在管理元数据的全局哈希表和磁盘的元数据日志文件中。


6.根据权利要求4所述的高效的纠删分布式存储写入方法,其特征在于,
数据节点和客户端建立的所有socket连接为并发的接收来自客户端的写请求消息;
每...

【专利技术属性】
技术研发人员:刘涛
申请(专利权)人:重庆紫光华山智安科技有限公司
类型:发明
国别省市:重庆;50

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

1