CN109547574A - 一种数据传输方法及相关装置 - Google Patents
一种数据传输方法及相关装置 Download PDFInfo
- Publication number
- CN109547574A CN109547574A CN201910007688.9A CN201910007688A CN109547574A CN 109547574 A CN109547574 A CN 109547574A CN 201910007688 A CN201910007688 A CN 201910007688A CN 109547574 A CN109547574 A CN 109547574A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- memory node
- request
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种数据传输方法,包括:服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;所述服务器将所述M个数据段分别发送至对应的存储节点。通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种数据传输方法及相关装置。
背景技术
目前在使用分布式存储集群的时候,当客户端打开并使用一个存储卷,由于一个存储卷的数据分散在所有的存储节点,所以每读写一个卷,客户端需要与所有的存储节点建立网络连接,一个集群的规模越大,客户端使用存储卷时就需要建立越多的网络连接;当客户端再读取另一个存储卷时,又需要和所有存储节点建立网络连接,每建立一个网络连接,需要创建2个线程,这样就消耗了更多的CPU以及内存资源。
综上,这种数据传输方式比较消耗系统资源。
发明内容
本申请实施例提供一种数据传输方法及系统,能够占用较少的CPU,且节省了内存资源。
本申请实施例的第一方面提供了一种数据传输方法,包括:
服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
所述服务器将所述M个数据段分别发送至对应的存储节点;
当所述M个存储节点分别将对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
本申请实施例的第二方面提供了一种数据传输服务器,包括:
请求发送模块,用于服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
网络连接模块,用于所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
响应模块,用于所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
数据处理模块,用于所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
数据分发模块,用于所述服务器将所述M个数据段分别发送至对应的存储节点;
消息发送模块,用于当所述M个存储节点分别将对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
本申请实施例的第三方面提供了一种数据传输服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面的步骤指令。
本申请实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
本申请实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,至少具有如下有益效果:
通过本申请实施例,当客户端发送数据传输指令时候,服务器先与各存储节点建立了网络连接,不需要客户端与各存储节点建立网络连接,通过服务器进行中转,所述服务器发送指令至各存储节点,将数据分发至各存储节点,该手段有效减少了各客户端与存储节点间通信的繁杂性,通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供了一种数据传输方法的架构示意图;
图2是本申请一实施例提供的一种数据传输方法的交互示意图;
图3为本申请实施例提供了另一种数据传输方法的流程示意图;
图4为本申请实施例提供了另一种数据传输方法的流程示意图;
图5为本申请实施例提供了另一种数据传输方法的流程示意图;
图6为本申请实施例提供的一种数据传输服务器的示意图;
图7为本申请实施例提供的一种数据传输服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)客户端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(UserEquipment,UE),移动台(Mobile Station,MS),终端设备(terminal device),等等。
(2)服务器,也称伺服器,是提供计算服务的设备。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。在网络环境下,根据服务器提供的服务类型不同,分为各种不同的数据库,如数据传输服务器等。
参照图1,图1是本申请一实施例提供的一种数据传输方法的架构示意图。该架构包括客户端101、服务器102、各存储节点103,其中,服务器102与各存储节点103建立网络连接,可进行数据传输通信等;客户端101可以是电脑、手机等智能终端;当客户端101需要使用存储卷时,需要向服务器102发送请求,服务器102将请求分发至各存储节点103,各存储节点103完成相应请求后,则返回相应消息至服务器102,服务器102再将消息发送至客户端101。具体地,服务器102接收客户端101发送的第一数据写入请求,所述第一数据写入请求携带第一数据;所述服务器102向M个存储节点103分别发送请求,所述请求用于指示所述M个存储节点103分别与所述服务器102建立网络连接,其中,M为不小于2的整数;所述服务器102接收所述M个存储节点103分别返回的网络连接成功的响应;所述服务器102对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点103一一对应;所述服务器102将所述M个数据段分别发送至对应的存储节点103;当所述M个存储节点103分别将所述对应数据段写入后,所述服务器102向所述客户端101发送所述第一数据完成写入的消息,以响应所述客户端101发送的第一数据写入请求。
通过本申请实施例,当客户端发送数据传输指令时候,服务器先与各存储节点建立了网络连接,不需要客户端与各存储节点建立网络连接,通过服务器进行中转,所述服务器发送指令至各存储节点,将数据分发至各存储节点,该手段有效减少了各客户端与存储节点间通信的繁杂性,通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
参照图2,图2是本申请一实施例提供的一种数据传输方法的交互示意图。如图2所示,该数据传输方法包括客户端201、服务器202及M个存储节点203,具体如下:
S21、服务器202接收第一客户端201发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
当客户端想要在存储卷上写入特定数据时,则需要向服务器发送请求指令,该指令包括想要写入的数据信息和/或写入哪一存储卷的信息;写入信息包括该数据的位置信息、长度信息及内容;如该想要写入的数据的位置位于xx位置,该数据长度为1M,内容为该数据的具体信息。
如该客户端发送的数据传输指令为:想要存储一部电影,则客户端发送的数据传输指令包括该电影数据信息和/或以及想要写入的存储卷a的信息。
S22、所述服务器202向M个存储节点203分别发送请求,所述请求用于指示所述M个存储节点203分别与所述服务器202建立网络连接,其中,M为不小于2的整数;
服务器接收到客户端发送的请求后,先与存储集群的各存储节点之间分别建立通信连接,即先启用一服务端进程,该服务端进程与各存储节点进行网络连接;
S23、所述服务器202接收所述M个存储节点203分别返回的网络连接成功的响应;
S24、所述服务器202对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点203一一对应;
S25、所述服务器202将所述M个数据段分别发送至对应的存储节点203;
S26、当所述M个存储节点分别将所述对应数据段写入后,所述服务器202向所述第一客户端201发送所述第一数据完成写入的消息,以响应所述第一客户端201发送的第一数据写入请求。
当所述各存储节点处理完上述请求指令后,如将所述电影写入了指令存储卷,则返回写入完成的消息至所述服务器;其中,该写入各存储节点的具体控制可由客户端事先设定好,或者系统提前预设有创建存储卷时利用开源软件算法进行设定,因此该分割可按照预设进行处理。
通过本申请实施例,当客户端发送数据传输指令时候,服务器先与各存储节点建立了网络连接,不需要客户端与各存储节点建立网络连接,通过服务器进行中转,所述服务器发送指令至各存储节点,将数据分发至各存储节点,该手段有效减少了各客户端与存储节点间通信的繁杂性,通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
请参阅图3,图3为本申请实施例提供了另一种数据传输方法的流程示意图。如图3所示,其可包括步骤301-309,具体如下:
301、服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
302、所述服务器获取由Z个存储节点中的不同存储节点组合组成的多个存储集群,其中,Z为大于M的整数;
其中,Z个存储节点可以包括Z1、Z2、Z3、Z4、Z5等存储节点,则不同存储节点组合可以是如Z1、(Z2、Z3)、Z4,或者(Z1、Z3)(Z1、Z3)等不同个数、不同存储节点组成的多个任意组合组成的多个存储集群;
303、所述服务器分别与所述多个存储集群建立预设时间内的网络连接;
建立预设时间内的网络连接后,所述服务器分别向所述多个存储集群发送请求,所述请求携带若干个预设数据包,且所述请求用于指示所述多个存储集群在所述预设时间内分别传输完成所述预设数据包;
如所述服务器在预设时间内与所述多个存储集群分别建立网络连接,可以是第一个10s内与第一存储集群建立网络连接并传输数据包,然后第二个10s时与第二存储集群建立网络连接并传输数据包,以此类推,直到与所有的存储集群均建立完预设时间内的网络连接以及数据包传输;
304、所述服务器获取所述预设时间内的所述多个存储集群分别传输完成所述预设数据包的数量;
获取每个存储集群相同时间内分别完成的数据包的数量;
305、所述服务器将所述传输完成的预设数据包的数量最多的存储集群设为目标存储集群,其中,所述目标存储集群由所述M个存储节点组成;
306、所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
307、所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
所述服务器将所述第一数据平均分割为M份,以得到M份初始数据段;
所述服务器将所述M份初始数据段按照位置顺序依次进行标号,以得到M个数据段。
其中,所述服务器将所述第一数据平均分割为M份,以得到M份初始数据段之前,包括:
所述服务器确认所述第一数据的内存大小超出预设数据的内存大小;
所述服务器获取所述第一数据中的N组重复字节,其中,N为正整数;
所述服务器将所述N组重复字节中的P组重复字节分别进行压缩,以得到第二数据,其中,所述第一数据中除去所述P组重复字节后的剩余数据与所述P组重复字节压缩得到的数据进行整合得到所述第二数据,所述第二数据的内存大小不超过所述预设数据的内存大小,且所述第一数据中除去P-1组重复字节后的剩余数据与所述P-1组重复字节压缩得到的数据进行整合得到的数据的内存大小超出所述预设数据的内存大小,P为正整数,且2≤P≤N;
所述服务器将所述第二数据作为第一数据;
通过将数据进行相应处理,以达到预设数据的内存大小的规定,保障了数据管理的统一性,便于管理及处理,确保了各存储节点数据大小不至于太大;
308、所述服务器将所述M个数据段分别发送至对应的存储节点;
309、当所述M个存储节点分别将所述对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
通过本申请实施例,当客户端发送数据传输指令时候,服务器先与各存储节点建立了网络连接,其中存储节点的选取通过选择网络传输速度较快的存储节点来进行传输,提高了数据传输速度及效率,且通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
请参阅图4,图4为本申请实施例提供了另一种数据传输方法的流程示意图。如图4所示,其可包括步骤401-410,具体如下:
401、服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
402、所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
然后所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
403、所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
404、所述服务器将所述M个数据段分别发送至对应的存储节点;
405、当所述M个存储节点分别将所述对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求;
406、所述服务器分别获取所述M个存储节点的剩余存储空间;
所述服务器将数据分发存储完后,并对存储完的M个存储节点的剩余存储空间进行判断是否需要扩容,以便于下次存储;
407、所述服务器确认所述M个存储节点中的K个存储节点的剩余存储空间小于预设阈值,其中,1≤K≤M;
408、所述服务器对所述K个存储节点进行扩容,以增加至W个存储节点,其中,W为大于K的整数;
409、所述服务器向所述K个存储节点分别发送请求,所述请求用于指示所述K个存储节点中的每个存储节点分别将存储在所述每个存储节点上的数据平均分配至所述W个存储节点;
所述服务器可以是将每个存储节点分别将存储在所述每个存储节点上的数据平均分配至所述W个存储节点,也可以是按照一定规则将所述K个存储节点上的所有数据进行整合,然后再平均分配至W个存储节点;
410、所述服务器接收所述K个存储节点返回的消息,所述消息携带所述W个存储节点分别存储的相应数据信息。
其中,还可以包括:
所述服务器获取所述M-K+W个存储节点中每个存储节点的访问次数;
所述服务器获取所述访问次数最少的存储节点;
所述服务器发送请求至所述存储节点,所述请求用于指示所述存储节点进行缩容。
通过本申请实施例,通过对操作完成的M个存储节点的剩余存储空间与预设阈值进行判断,以确认是否需要扩容,其便于下次存储数据时使用,提高了存储效率;对于访问次数较少的存储节点,则进行缩容处理。
请参阅图5,图5为本申请实施例提供了另一种数据传输方法的流程示意图。如图5所示,在将所述第一数据写入后,其可包括步骤501-505,具体如下:
501、服务器接收第二客户端发送的读取所述第一数据的请求指令;
502、所述服务器向所述M个存储节点分别发送请求,所述请求用于指示所述M个存储节点中的每个存储节点分别读取所述M个数据段中的对应数据段;
503、所述服务器接收所述M个存储节点发送的所述M个数据段;
504、所述服务器将所述M个数据段进行整合,以得到所述第一数据;
505、所述服务器将所述第一数据发送至所述第二客户端,以响应所述第二客户端发送的读取所述第一数据的请求。
通过本申请实施例,在将所述第一数据写入后,当第二客户端请求读取所述第一数据时,则通过将存储在所述M个存储节点的数据段进行整合,得到所述第一数据,然后发送至第二客户端,其减少了客户端与各存储节点间通信的繁杂性,通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
与上述实施例一致的,请参阅图6,图6为本申请实施例提供的一种数据传输服务器的结构示意图,如图6所示,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令;
服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
所述服务器将所述M个数据段分别发送至对应的存储节点;
当所述M个存储节点分别将所述对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述一致的,请参阅图7,图7为本申请实施例提供了一种数据传输服务器的结构示意图。该数据传输服务器包括:请求发送模块701、网络连接模块702、响应模块703、数据处理模块704、数据分发模块705、消息发送模块706,其中:
请求发送模块701,用于服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
网络连接模块702,用于所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
响应模块703,用于所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
数据处理模块704,用于所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
数据分发模块705,用于所述服务器将所述M个数据段分别发送至对应的存储节点;
消息发送模块706,用于当所述M个存储节点分别将所述对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
通过本申请实施例,当客户端发送数据传输指令时候,服务器先与各存储节点建立了网络连接,不需要客户端与各存储节点建立网络连接,通过服务器进行中转,所述服务器发送指令至各存储节点,将数据分发至各存储节点,该手段有效减少了各客户端与存储节点间通信的繁杂性,通过服务器统一分发数据,减少了系统CPU以及内存资源的消耗,同时能够为存储卷提供更高级的特性,提高了系统运行的效率。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种数据传输方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种数据传输方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
所述服务器将所述M个数据段分别发送至对应的存储节点;
当所述M个存储节点分别将对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
2.根据权利要求1所述的方法,其特征在于,所述服务器接收第一客户端发送的第一数据写入请求的步骤之后,所述服务器向M个存储节点分别发送请求的步骤之前,包括:
所述服务器获取由Z个存储节点中的不同存储节点组合组成的多个存储集群,其中,Z为大于M的整数;
所述服务器分别与所述多个存储集群建立预设时间内的网络连接;
所述服务器分别向所述多个存储集群发送请求,所述请求携带若干个预设数据包,且所述请求用于指示所述多个存储集群在所述预设时间内分别传输完成所述预设数据包;
所述服务器获取所述预设时间内的所述多个存储集群分别传输完成所述预设数据包的数量;
所述服务器将所述传输完成的预设数据包的数量最多的存储集群设为目标存储集群,其中,所述目标存储集群由所述M个存储节点组成。
3.根据权利要求2所述的方法,其特征在于,所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应,具体包括:
所述服务器将所述第一数据平均分割为M份,以得到M份初始数据段;
所述服务器将所述M份初始数据段按照位置顺序依次进行标号,以得到M个数据段。
4.根据权利要求3所述的方法,其特征在于,所述服务器将所述第一数据平均分割为M份,以得到M份初始数据段之前,包括:
所述服务器确认所述第一数据的内存大小超出预设数据的内存大小;
所述服务器获取所述第一数据中的N组重复字节,其中,N为正整数;
所述服务器将所述N组重复字节中的P组重复字节分别进行压缩,以得到第二数据,其中,所述第一数据中除去所述P组重复字节后的剩余数据与所述P组重复字节压缩得到的数据进行整合得到所述第二数据,所述第二数据的内存大小不超过所述预设数据的内存大小,且所述第一数据中除去P-1组重复字节后的剩余数据与所述P-1组重复字节压缩得到的数据进行整合得到的数据的内存大小超出所述预设数据的内存大小,P为正整数,且2≤P≤N;
所述服务器将所述第二数据更新为第一数据。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述服务器分别获取所述M个存储节点的剩余存储空间;
所述服务器确认所述M个存储节点中的K个存储节点的剩余存储空间小于预设阈值,其中,1≤K≤M;
所述服务器对所述K个存储节点进行扩容,以增加至W个存储节点,其中,W为大于K的整数;
所述服务器向所述K个存储节点分别发送请求,所述请求用于指示所述K个存储节点中的每个存储节点分别将存储在所述每个存储节点上的数据平均分配至所述W个存储节点;
所述服务器接收所述K个存储节点返回的消息,所述消息携带所述W个存储节点分别存储的相应数据信息。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述服务器获取所述M-K+W个存储节点中每个存储节点的访问次数;
所述服务器获取所述访问次数最少的存储节点;
所述服务器发送请求至所述存储节点,所述请求用于指示所述存储节点进行缩容。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
所述服务器接收第二客户端发送的读取所述第一数据的请求指令;
所述服务器向所述M个存储节点分别发送请求,所述请求用于指示所述M个存储节点中的每个存储节点分别读取所述M个数据段中的对应数据段;
所述服务器接收所述M个存储节点发送的所述M个数据段;
所述服务器将所述M个数据段进行整合,以得到所述第一数据;
所述服务器将所述第一数据发送至所述第二客户端,以响应所述第二客户端发送的读取所述第一数据的请求。
8.一种数据传输服务器,其特征在于,包括:
请求发送模块,用于服务器接收第一客户端发送的第一数据写入请求,所述第一数据写入请求携带第一数据;
网络连接模块,用于所述服务器向M个存储节点分别发送请求,所述请求用于指示所述M个存储节点分别与所述服务器建立网络连接,其中,M为不小于2的整数;
响应模块,用于所述服务器接收所述M个存储节点分别返回的网络连接成功的响应;
数据处理模块,用于所述服务器对所述第一数据进行处理,以得到M个数据段,其中,所述M个数据段与所述M个存储节点一一对应;
数据分发模块,用于所述服务器将所述M个数据段分别发送至对应的存储节点;
消息发送模块,用于当所述M个存储节点分别将对应数据段写入后,所述服务器向所述第一客户端发送所述第一数据完成写入的消息,以响应所述第一客户端发送的第一数据写入请求。
9.一种数据传输服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行,以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007688.9A CN109547574A (zh) | 2019-01-04 | 2019-01-04 | 一种数据传输方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007688.9A CN109547574A (zh) | 2019-01-04 | 2019-01-04 | 一种数据传输方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109547574A true CN109547574A (zh) | 2019-03-29 |
Family
ID=65834198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910007688.9A Pending CN109547574A (zh) | 2019-01-04 | 2019-01-04 | 一种数据传输方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547574A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134332A (zh) * | 2019-04-28 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
CN110602159A (zh) * | 2019-07-30 | 2019-12-20 | 广州力挚网络科技有限公司 | 一种数据处理方法与系统 |
CN111935242A (zh) * | 2020-07-16 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、服务器以及存储介质 |
CN112632075A (zh) * | 2020-12-25 | 2021-04-09 | 创新科技术有限公司 | 集群元数据的存储、读取方法和装置 |
CN113300874A (zh) * | 2021-02-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 网络性能检测系统及方法 |
CN114202850A (zh) * | 2021-11-25 | 2022-03-18 | 中国建设银行股份有限公司 | 基于云数据传输的智能卡缴费方法及装置 |
CN116846946A (zh) * | 2023-06-16 | 2023-10-03 | 泽拓科技(深圳)有限责任公司 | 合并网络连接的通信方法、系统、存储介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523732A (zh) * | 2006-09-01 | 2009-09-02 | 帕克比特软件股份有限公司 | 用于通过数据网络传输数据文件的方法和系统 |
CN106254240A (zh) * | 2016-09-18 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和路由层设备以及系统 |
CN106407308A (zh) * | 2016-08-31 | 2017-02-15 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库的扩容方法及装置 |
CN106484528A (zh) * | 2016-09-07 | 2017-03-08 | 北京百度网讯科技有限公司 | 分布式框架中用于实现集群动态伸缩的方法及装置 |
CN109062512A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种分布式存储集群、数据读写方法、系统及相关装置 |
-
2019
- 2019-01-04 CN CN201910007688.9A patent/CN109547574A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523732A (zh) * | 2006-09-01 | 2009-09-02 | 帕克比特软件股份有限公司 | 用于通过数据网络传输数据文件的方法和系统 |
CN106407308A (zh) * | 2016-08-31 | 2017-02-15 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库的扩容方法及装置 |
CN106484528A (zh) * | 2016-09-07 | 2017-03-08 | 北京百度网讯科技有限公司 | 分布式框架中用于实现集群动态伸缩的方法及装置 |
CN106254240A (zh) * | 2016-09-18 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和路由层设备以及系统 |
CN109062512A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种分布式存储集群、数据读写方法、系统及相关装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134332A (zh) * | 2019-04-28 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
CN110134332B (zh) * | 2019-04-28 | 2022-03-08 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
CN110602159A (zh) * | 2019-07-30 | 2019-12-20 | 广州力挚网络科技有限公司 | 一种数据处理方法与系统 |
CN111935242A (zh) * | 2020-07-16 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、服务器以及存储介质 |
CN111935242B (zh) * | 2020-07-16 | 2023-06-02 | 北京达佳互联信息技术有限公司 | 数据传输方法、装置、服务器以及存储介质 |
CN112632075A (zh) * | 2020-12-25 | 2021-04-09 | 创新科技术有限公司 | 集群元数据的存储、读取方法和装置 |
CN113300874A (zh) * | 2021-02-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 网络性能检测系统及方法 |
CN113300874B (zh) * | 2021-02-09 | 2024-04-19 | 阿里巴巴集团控股有限公司 | 网络性能检测系统及方法 |
CN114202850A (zh) * | 2021-11-25 | 2022-03-18 | 中国建设银行股份有限公司 | 基于云数据传输的智能卡缴费方法及装置 |
CN114202850B (zh) * | 2021-11-25 | 2023-08-15 | 中国建设银行股份有限公司 | 基于云数据传输的智能卡缴费方法及装置 |
CN116846946A (zh) * | 2023-06-16 | 2023-10-03 | 泽拓科技(深圳)有限责任公司 | 合并网络连接的通信方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547574A (zh) | 一种数据传输方法及相关装置 | |
CN108880999A (zh) | 一种业务路由的方法、设备及系统 | |
CN110134332A (zh) | 一种数据存储方法及相关装置 | |
CN108712491A (zh) | 区块链节点、交易信息处理方法、终端设备和介质 | |
CN103955436A (zh) | 一种数据处理装置和终端 | |
CN105518641A (zh) | 点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统 | |
CN109548161A (zh) | 一种无线资源调度的方法、装置和终端设备 | |
CN107423301A (zh) | 一种数据处理的方法、相关设备及存储系统 | |
CN107968848B (zh) | 一种获取ip地址的方法、终端设备及存储介质 | |
CN109348434A (zh) | 一种场景信息的发送方法、发送装置及终端设备 | |
CN102946443B (zh) | 一种实现大规模数据传输的多任务调度方法 | |
CN108153494B (zh) | 一种io请求处理方法及装置 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN102845028A (zh) | 一种资源分配的方法及装置 | |
CN107229635A (zh) | 一种数据处理的方法、存储节点及协调节点 | |
CN110019040A (zh) | 一种文件夹处理方法、移动终端及存储介质 | |
CN102571609A (zh) | 快速串行接口pci-e协议数据完成包的重组排序方法 | |
CN113254215B (zh) | 数据处理方法和装置、存储介质及电子设备 | |
CN111858051B (zh) | 一种适合边缘计算环境的实时动态调度方法、系统和介质 | |
CN111245794B (zh) | 数据传输方法和装置 | |
CN114579506A (zh) | 处理器之间的通信方法、系统、存储介质以及处理器 | |
CN110266814B (zh) | 传输方法及传输装置 | |
CN110197271B (zh) | 集成电路芯片装置及相关产品 | |
CN112884408A (zh) | 物品出库方法、装置、电子设备和计算机可读介质 | |
CN110197272B (zh) | 集成电路芯片装置及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |