The invention provides a data transmission method and a device, which relates to the field of distributed storage. The data transmission method provided by the invention is that the proxy node is set in the server inside the distributed system, and the proxy node between different servers is used to establish the TCP connection, and the proxy node is used to send the first target data to be sent by the OSD storage node through the TCP connection established with other proxy nodes, without affecting the data transmission In this case, the number of TCP connections established between servers is reduced and the CPU overhead is reduced.
【技术实现步骤摘要】
数据发送方法、装置和存储介质
本专利技术涉及分布式存储领域,具体而言,涉及数据发送方法、装置和存储介质。
技术介绍
随着网络数据技术的发展,电子数据的数量呈现出了爆炸式的增长,进而,数据的存储成了首先遇到的问题。为了提高数据的使用便捷程度,以及数据的安全程度,某些情况下,用户通常首选使用分布式系统来进行数据的存储。分布式系统通常由许多独立的存储节点组成,此处的存储节点的具体体现形式是物理服务器,通常,一个物理服务器上可以同时运行多个存储节点。为了提高数据的安全性,通常会采用将相同的数据分别存储在不同的服务器中。这也就需要设置在不同服务器中的存储节点之间先进行数据收发,而后,再由接收到数据的存储节点将数据存储在硬盘中。设置在不同服务器中的存储节点之间进行数据收发时,首先需要建立TCP连接,之后,存储节点再利用建立好的TCP连接来进行数据的收发。一个TCP连接只能在进行数据收发的两个存储节点之间进行建立,随着存储节点数量的增加,为了进行数据传输而建立的TCP连接的数量越来越多,这严重的消耗了服务器的CPU资源和内存资源。
技术实现思路
本专利技术的目的在于提供一种数据发送方法和装置。第一方面,本专利技术实施例提供了一种数据发送方法,作用于分布式系统中的服务器内所设置的代理节点;分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;该方法包括:第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的; ...
【技术保护点】
1.一种数据发送方法,其特征在于,作用于分布式系统中的服务器内所设置的代理节点;分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;同一个服务器中的共享内存和多个OSD存储节点之间是采用有线连接的方式进行连接,或者是局域网式的无线连接的方式进行连接的;同一个服务器中的代理节点和共享内存之间是通过有线连接的方式连接,或者是通过局域网式的无线连接的方式连接;该方法包括:第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;第一代理节点通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储 ...
【技术特征摘要】
1.一种数据发送方法,其特征在于,作用于分布式系统中的服务器内所设置的代理节点;分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;同一个服务器中的共享内存和多个OSD存储节点之间是采用有线连接的方式进行连接,或者是局域网式的无线连接的方式进行连接的;同一个服务器中的代理节点和共享内存之间是通过有线连接的方式连接,或者是通过局域网式的无线连接的方式连接;该方法包括:第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;第一代理节点通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。2.根据权利要求1所述的方法,其特征在于,第一目标数据按照如下方式获取:第一代理节点从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;第一代理节点根据发送任务从第一共享内存中提取第一目标数据。3.根据权利要求2所述的方法,其特征在于,目标第二OSD存储节点的标识是第一代理节点根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。4.根据权利要求2所述的方法,其特征在于,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。5.根据权利要求2所述的方法,其特征在于,还包括:第一代理节点获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;第一代理节点为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;第一代理节点根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。6.根据权利要求1所述的方法,其特征在于,还包括:第一代理节点接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;第一代理节点将第二目标数据存储到第一共享内存中;第一代理节点向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第一共享内存中的位置。7.一种数据发送装置,其特征在于,设置于分布式系统中的第一服务器内的第一代理节点中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。