Nothing Special   »   [go: up one dir, main page]

WO2019075978A1 - Data transmission method and apparatus, computer device, and storage medium - Google Patents

Data transmission method and apparatus, computer device, and storage medium Download PDF

Info

Publication number
WO2019075978A1
WO2019075978A1 PCT/CN2018/077154 CN2018077154W WO2019075978A1 WO 2019075978 A1 WO2019075978 A1 WO 2019075978A1 CN 2018077154 W CN2018077154 W CN 2018077154W WO 2019075978 A1 WO2019075978 A1 WO 2019075978A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
target
sub
server
data transmission
Prior art date
Application number
PCT/CN2018/077154
Other languages
French (fr)
Chinese (zh)
Inventor
乐伟
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2019075978A1 publication Critical patent/WO2019075978A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the application relates to a data transmission method, apparatus, computer device and storage medium.
  • a data transmission method, apparatus, computer device, and storage medium are provided.
  • a data transmission method includes:
  • N is an integer greater than 1;
  • a data transmission device comprising:
  • a target data acquisition module configured to acquire target data to be transmitted
  • a target data segmentation module configured to divide the target data into k sub-data to be transmitted, where k is an integer greater than 1;
  • a channel establishing module configured to establish a data transmission channel with N target servers in the server set, where N is an integer greater than one;
  • a transmission module configured to send, by using the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the
  • the sub data is stored on a preset storage device.
  • a computer apparatus comprising a memory and one or more processors having stored therein computer readable instructions that, when executed by a processor, implement the steps of a data transfer method provided in any one of the embodiments of the present application.
  • One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to be implemented in any one embodiment of the present application The steps of the data transfer method provided.
  • FIG. 1 is an application environment diagram of a data transmission method provided in accordance with one or more embodiments.
  • FIG. 2 is a flow diagram of a method of data transmission in accordance with one or more embodiments.
  • FIG. 3 is a flow chart of a data transmission method in another embodiment.
  • FIG. 4 is a flow chart of a data transmission method in another embodiment.
  • Figure 5 is a flow chart of a data transmission method in another embodiment.
  • FIG. 6 is a block diagram of a data transmission device in accordance with one or more embodiments.
  • Figure 7 is a block diagram of a data transmission device in another embodiment.
  • Figure 8 is a block diagram of a data transmission device in another embodiment.
  • Figure 9 is a block diagram of a data transmission device in another embodiment.
  • Figure 10 is a block diagram of a computer device in accordance with one or more embodiments.
  • first may be referred to as a second server
  • second server may be referred to as a first server, without departing from the scope of the present application.
  • the application environment includes a terminal 110, a server set 120 composed of multiple servers, a storage device 130, and a storage cluster 140.
  • the target data in the terminal 110 is acquired, the target data is divided into a plurality of sub-data to be transmitted, and then all of the plurality of target servers in the server set, such as the server 1 to the server M, or A part of the server establishes a data transmission channel, and the terminal 110 sends a data transmission request to each target server through the established transmission channel, where the data transmission request carries one or more sub-data, and the server stores the sub-data to the storage device after receiving the sub-data. 130. If the transmission of all the sub data is completed, the terminal 110 may transmit a data merge request to one of the servers in the set of servers, and the server that has received the data merge request merges the subdata stored on the storage device 130.
  • the merged target data may be sent to the storage cluster 140.
  • the terminal may send a request to merge and upload the data to the storage cluster to the first server in the server set. After receiving the request, the first server receives the request. The child data is merged to obtain the target data, and the target data is sent to the storage cluster 140 for storage.
  • the first server may delete the sub-data on the storage device 130.
  • storage device 130 may include a NAS ((Network Attached Storage)) volume.
  • NAS Network Attached Storage
  • the terminal 110 may establish a data transmission channel with all the servers in the server set, and may also establish a transmission channel with a part of the server, which is not limited herein.
  • the terminal 110 may randomly select a server in the server set to establish a data transmission channel, or set the terminal 110 to establish a data transmission channel with a specific server.
  • the server that establishes the data transmission channel with the terminal may be determined by the load balancing device according to the load balancing algorithm.
  • the load balancing algorithm can be set as needed.
  • the server can be determined according to the performance of each server, the number of established network connections, and the like.
  • the domain name server sets an IP address of each server in the domain name corresponding server set. When the domain name server receives the domain name resolution request sent by the terminal, the domain name server returns multiple IP addresses to the terminal 110, and the terminal receives multiple IP addresses according to the received address. Establish data transmission channels with multiple servers.
  • the information transmission method provided by the embodiment of the present application may be implemented by installing an SDK (Software Development Kit) on the terminal.
  • SDK Software Development Kit
  • the terminal 110 may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
  • the method provided by the embodiments of the present application may also be performed in a server.
  • a data transmission method is provided, which may be applied to the terminal 110, and may specifically include the following steps:
  • Step 202 Acquire target data that needs to be transmitted.
  • the target data may include one or more of video data, image data, text data, and audio data, and may be other forms of data, which is not limited herein.
  • the target data may be determined based on the received data transmission request. For example, when the video data needs to be stored in the network storage device, the user can select the video data and click the upload button. After receiving the operation of the user clicking the upload button, the terminal acquires the video data as the target data.
  • step 204 the target data is divided into k sub-data to be transmitted, and k is an integer greater than 1.
  • the number of sub-data is greater than 1, but the specific number may be set as needed.
  • the number of sub-data to be sliced may be set in advance, for example, the target data is sliced into 8 sub-datas each time.
  • the number of sub-data may be determined based on attribute information of the target data, such as the amount of data. For example, if the sub-data whose size is divided into 2 MB is set in advance, the number of sub-data obtained after the division is determined according to the size of the target data. It can be understood that if the target data is not an integer multiple of 2 MB, the size of the partial sub-data is less than 2 MB. For example, suppose a video data is 5MB, you can split the data into 3 sub-data, 2MB, 2MB and 1MB.
  • Step 206 Establish a data transmission channel with N target servers in the server set, where N is an integer greater than 1.
  • the target server is part or all of the servers in the server set.
  • the number of target servers is greater than 1, but the specific values can be set according to actual needs.
  • the N servers in the server set can be randomly selected to establish a data transmission channel, and the terminal can also establish a data transmission channel with a specific server.
  • the target server of establishing a data transmission channel with the terminal in the server set may be determined by the load balancing device according to the load balancing algorithm.
  • the load balancing algorithm can be set as needed.
  • the load balancing device may determine the target server based on the performance of each server in the set of servers, the amount of load on the server, and the like. For example, according to the current connection situation of the server, dynamically select a plurality of servers in which the current backlog connection number is less as a target server to establish a data transmission channel with the terminal, so as to improve transmission efficiency as much as possible, and reasonably distribute the load to the server set. server.
  • a data transmission channel may be set up with a preset number of servers, or the number of sub-data may be set to be positively correlated with the number of servers that need to establish a data transmission channel. For example, you can set the ratio of K to N to 4:1.
  • a domain name may be set in the domain name server to correspond to an IP address of multiple servers.
  • the terminal sends a domain name resolution request to the domain name server.
  • the domain name server receives the domain name resolution request sent by the terminal,
  • the domain name returns multiple IP addresses to the terminal.
  • the terminal establishes a data transmission channel with the corresponding multiple servers according to the received IP address.
  • the load balancing device sets the weighting factor of each server according to the performance of the server, and the server with high performance has a high weighting coefficient.
  • the server is then assigned a corresponding number of key values based on the weighting factor.
  • the hash calculation is performed according to the identifier of the sub-data and the size of the sub-data, and the hash value is obtained, and then a modulo operation is performed with a preset value, and the obtained modulo result and the weight coefficient are obtained.
  • the key value assigned to the server is matched, and then the network connection address of the matching server, such as an IP address, is returned to the terminal, and the terminal establishes a data transmission channel with the corresponding server according to the received network connection address.
  • the terminal establishes a data transmission channel with the A server.
  • Step 208 Send a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data, so that the target server stores the received sub-data on the preset storage device.
  • the sub data is distributed to the established data transmission channel for transmission until the sub data is transmitted. That is, after each sub-data is transmitted through one data transmission channel, the other data transmission channels will not transmit the sub-data.
  • the subdata transmitted by each data transmission channel can be set as needed. For example, the selection may be performed at random or in the order of the target data in the order of the sub-files.
  • the data transmission channel established with the target server may be released, and the untransferred sub-data may be further transmitted by using the data transmission channel.
  • the terminal establishes a data transmission channel with the 3 target servers, then the sub-data can be transmitted to the corresponding 3 target servers by using the respective data transmission channels.
  • the terminal queries whether there is still untransferred sub-data. If it still exists, it can continue to send a data transmission request to the target server. Or disconnect the data transmission channel with the target server, and establish a new data transmission channel with other servers in the server collection, and use the new data transmission channel to transmit the untransferred sub data.
  • the above data transmission method when data transmission is to be performed, acquires target data, divides the target data into a plurality of sub-data, and establishes a data transmission channel with a plurality of servers, and then sends the sub-data to the preset through each data transmission channel.
  • the target data is equivalent to being transmitted to the storage device in parallel, so The transmission efficiency can be improved, the transmission time is reduced, and the probability of transmission failure due to network instability can be reduced, and the data transmission success rate is high.
  • the target data of 20M or more is divided into multiple sub-data, the transmission success rate is 99.998%, and the transmission efficiency is increased by 200%.
  • the breakpoint position of the sub-data may be recorded, and after the transmission is resumed, the sub-data may be transmitted from the breakpoint position.
  • a transmission credential can be generated based on the user information and a preset algorithm, and the transmission credential is carried when the transmission request is sent.
  • the target server may generate a voucher according to the user information and store it in advance. When the target server receives the transmission request, it matches the voucher stored by itself with the transmission voucher in the transmission request, and if the matching succeeds, the sub-data is received. To improve the security of data transmission.
  • the preset algorithm can be set as needed.
  • the preset algorithm may be a CRC (Cyclic Redundancy Check) algorithm, a MD5 (Message-Digest Algorithm 5) algorithm, and a SHA (Secure Hash Algorithm) series algorithm.
  • the data transmission method may further include step S302: sending a storage space creation request to the first server in the server set, where the storage space creation request carries the target storage space identifier to enable the first server Create a target storage space on the storage device based on the target storage space identifier and associate the target storage space identifier with the target storage space.
  • Step S208 is to send a data transmission request to the corresponding target server through each data transmission channel, where the data transmission request carries one or more sub-data, so that the target server stores the sub-data on the preset storage device, including:
  • the data transmission channel sends a data transmission request to the corresponding target server, where the data transmission request carries the target storage space identifier and one or more sub-data, so that the target server stores the received sub-data according to the target storage space identifier to the target storage space.
  • the first server may be one of the target servers, or may be other servers in the server set.
  • the first server may be randomly selected or may be obtained according to a load balancing algorithm.
  • the load balancing algorithm may be specifically performed by referring to the methods provided in other embodiments of the present application, and details are not described herein again.
  • the terminal may send a data transmission request to the corresponding target server through each data transmission channel, where the data transmission request carries one or more sub-data and a target storage space identifier, so that the target server receives the data transmission.
  • the corresponding target storage space is found according to the target storage space identifier, and then the sub data is stored on the target storage space.
  • a storage space creation request is sent through the data transmission channel.
  • the first server may create a folder on the storage device that stores the child data, the identity of the folder being the target storage space identifier.
  • the data transmission method may further include steps S402 and S404. Details are as follows:
  • Step S402 assigning a sub-data identifier to the sub-data according to the position of the target data according to the sub-data.
  • the position of the sub data in the target data refers to the order in which the sub data is arranged in the target data.
  • the target data is divided as a whole according to the order in which the data is arranged, and the sub-data is assigned an identifier in order.
  • the composition rule of the sub-data identifier can be set according to actual needs, for example, one or more of letters and numbers can be used, as long as the sub-data can be identified at the location of the target data.
  • the sub-videos can be identified as 0, 1, 2, 3, 4, respectively, or can be identified as A, B, C, D, E. .
  • Step S208 is to send a data transmission request to the corresponding target server through each data transmission channel, and the step of carrying one or more sub-data in the data transmission request includes: sending a data transmission request to the corresponding target server through each data transmission channel, and the data transmission request The sub-data identifier corresponding to one or more sub-data and the carried sub-data is carried in.
  • Step S404 Send a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain target data.
  • the data transmission request sent to the target server carries the one or more sub-data and the sub-data identifier corresponding to the carried sub-data, so that the target server can associate the sub-data with the corresponding sub-data identifier.
  • the second server may be one of the target servers or other servers in the server set, and the first server and the second server may be the same or different.
  • the terminal may send a data merge request to the second server in the server set, and after receiving the data merge request, the second server acquires the sub-data identifier, and merges the sub-data according to the order corresponding to the sub-data identifier to obtain the merge.
  • the target data For example, if the sub-data is identified as 0, 1, 2, 3, and 4, respectively, the sub-data corresponding to 0, 1, 2, 3, and 4 may be combined in order to obtain target data.
  • the data transmission method may further include the following steps:
  • Step S502 after the target data transmission is completed, the verification information corresponding to the target data is acquired.
  • the verification information is used to verify whether the sub-data of the target data is correctly and completely transmitted.
  • the verification information may include attribute information of the target data, such as the size of the target data, the format of the target data, the sub-data identifier corresponding to the target data, the number of sub-data, and the size of each sub-data.
  • the check value may also be generated according to the attribute of the target data and the hash algorithm, and the check information may include at least one of the check value and the attribute information of the target data.
  • the hash algorithm may be an MD5 (Message-Digest Algorithm 5) algorithm and a SHA (Secure Hash Standard) algorithm, and the like.
  • MD5 Message-Digest Algorithm 5
  • SHA Secure Hash Standard
  • Step S504 the verification information is sent to the third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result, where the verification result includes verification. Success or verification failed.
  • the third server may be one of the target servers or other servers in the server set.
  • the third server may be randomly selected or may be obtained according to a load balancing algorithm.
  • the load balancing algorithm may be specifically performed by referring to the method provided in the embodiment of the present application, and details are not described herein again. It can be understood that the first server, the second server, and the third server may be the same or different.
  • the third server acquires the attribute information of each sub-data on the storage device. After the verification information sent by the terminal includes the attribute information of the target data, the attribute information of the sub-data is matched with the attribute information of the target data. When the verification information sent by the terminal includes the verification generated according to the attribute information of the target data, another verification value is obtained according to the attribute information of the sub data and calculated by using a hash algorithm. The received check value is then matched against the calculated check value.
  • the verification information when the verification information includes the attribute information or the check value of the target data, if the attribute information or the check value of the target data is successfully matched, the corresponding verification result is that the verification is successful. Otherwise, the verification result is a verification failure.
  • the verification information includes the attribute information of the target data and the check value, if the attribute information and the check value of the target data match successfully, the verification result is that the verification is successful, and any one of the attribute information and the check value matches When it fails, the verification result is a verification failure.
  • the verification information sent by the terminal may include the size of the target data, and the third server obtains the sum of the sizes of the sub-data on the storage device, and then compares with the size of the target data sent by the terminal. If the size is consistent, the verification result is The verification was successful.
  • the terminal when the verification result includes the verification success, sends a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain the target data.
  • the third server may return the verification failure information, and when the terminal receives the verification failure result, the target data may be re-uploaded.
  • the verification result when the verification result includes a verification failure, the verification result may include a matching result of the verification information, where the matching result is used to indicate that the specific verification information is a matching failure or a matching success.
  • the terminal obtains the sub-data of the failed match according to the matching result and re-uploads the sub-data to reduce the amount of re-transmitted data.
  • the check information includes the size of each sub-data
  • the sub-data identifier whose sub-data size matching fails may be returned, and the terminal re-transmits the corresponding sub-data according to the returned sub-data identifier.
  • a data transmission device is provided.
  • the data transmission device may be integrated into the terminal 110, and may specifically include:
  • the target data obtaining module 602 is configured to acquire target data that needs to be transmitted;
  • the target data slicing module 604 is configured to divide the target data into k sub-data to be transmitted, where k is an integer greater than one;
  • the channel establishing module 606 is configured to establish a data transmission channel with the N target servers in the server set, where N is an integer greater than one;
  • the transmission module 608 is configured to send a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data, so that each target server stores the received sub-data on the preset storage device. .
  • the apparatus further includes:
  • the space creation module 702 is configured to send a storage space creation request to the first server in the server set, where the storage space creation request carries the target storage space identifier, so that the first server creates the target storage space on the storage device according to the target storage space identifier. And associate the target storage space identifier with the target storage space;
  • the transmission module 608 is configured to: send, by each data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries the target storage space identifier and one or more sub-data, so that the target server stores the sub-data according to the target storage space identifier. Go to the target storage space.
  • the apparatus further includes:
  • An identifier allocation module 802 configured to allocate a sub-data identifier for the sub-data according to the location of the target data according to the sub-data;
  • the transmission module 608 is configured to: send a data transmission request to the corresponding target server by using each data transmission channel, where the data transmission request carries one or more sub-data and a sub-data identifier corresponding to the carried sub-data, so that each target server will sub-data Stored on a preset storage device;
  • the device further includes a merge request sending module 804, configured to send a data merge request to the second server in the server set, so that the second server merges the child data on the storage device according to the child data identifier to obtain target data.
  • a merge request sending module 804 configured to send a data merge request to the second server in the server set, so that the second server merges the child data on the storage device according to the child data identifier to obtain target data.
  • the apparatus further includes:
  • the verification information obtaining module 902 is configured to acquire verification information corresponding to the target data after the target data transmission is completed;
  • the verification information sending module 904 is configured to send the verification information to the third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result.
  • the verification result includes verification success or verification failure.
  • the merge request sending module 804 is configured to: when the verification result includes the verification success, send a data merge request to the second server, so that the second server performs the sub-data on the storage device according to the sub-data identifier. Consolidate to get the target data.
  • the various modules in the above data transmission device may be implemented in whole or in part by software, hardware, and combinations thereof.
  • Each of the above modules may be embedded in or independent of the processor in the computer device, or may be stored in a memory in the computer device in a software form, so that the processor invokes the operations corresponding to the above modules.
  • the computer device may be a terminal, and the computer device is connected to a processor, a non-volatile storage medium, an internal memory, and a network interface through a system connection bus.
  • the non-volatile storage medium can be a non-transitory computer readable storage medium.
  • the non-volatile storage medium of the computer device can store an operating system and computer readable instructions that, when executed, cause the processor to perform a data transfer method.
  • the processor of the computer device is used to provide computing and control capabilities to support the operation of the entire computer device.
  • the internal memory can store computer readable instructions that, when executed by the processor, cause the processor to perform a method of data transmission.
  • the network interface of the computer device is used for network communication, such as sending a data transmission request.
  • FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied.
  • the specific computer device may include More or fewer components than shown in the figure, or some components combined, or with different component arrangements.
  • the data transfer apparatus can be implemented in the form of a computer readable instruction that can be run on a computer device as shown in FIG. 10, non-volatile storage of the computer device
  • the medium may store various program modules constituting the data transmission device, such as the target data acquisition module 602, the target data segmentation module 604, the channel establishment module 606, and the transmission module 608 in FIG.
  • Each of the program modules includes computer readable instructions for causing a computer device to perform the steps in the data transfer method of various embodiments of the present application described in this specification.
  • the computer device can be as shown in FIG.
  • the target data acquisition module 602 in the data transmission device acquires the target data to be transmitted; the target data is divided into k sub-data to be transmitted by the target data segmentation module 604, where k is an integer greater than 1, and the channel establishment module 606 is Establishing a data transmission channel with N target servers in the server set, respectively, N is an integer greater than 1; sending, by the transmission module 608, a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data So that each target server stores the received sub-data on a preset storage device.
  • a computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executed by the processor such that the one or more processors perform the steps of: acquiring a target to be transmitted Data; dividing the target data into k sub-data to be transmitted, the k being an integer greater than 1; respectively establishing a data transmission channel with N target servers in the server set, the N being an integer greater than 1 And sending, by the data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the sub-data Stored on a preset storage device.
  • One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the steps of: obtaining a transmission requiring Target data; the target data is divided into k sub-data to be transmitted, the k is an integer greater than 1; respectively, a data transmission channel is established with N target servers in the server set, and the N is greater than 1. And transmitting, by the data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the subdata, so that the respective target servers will receive the sub
  • the data is stored on a preset storage device.
  • Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • Synchlink DRAM SLDRAM
  • Memory Bus Radbus
  • RDRAM Direct RAM
  • DRAM Direct Memory Bus Dynamic RAM
  • RDRAM Memory Bus Dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A data transmission method, comprising: acquiring target data needing to be transmitted; cutting the target data to be k pieces of sub-data to be transmitted, where k is an integer greater than 1; respectively establishing a data transmission channel with N target servers in a server set, where N is an integer greater than 1; sending a data transmission request to a corresponding target server via the data transmission channel, wherein the data transmission request carries one or more pieces of the sub-data, so that each of the target servers stores the received sub-data to a pre-set storage device.

Description

数据传输方法、装置、计算机设备和存储介质Data transmission method, device, computer device and storage medium
相关申请的交叉引用Cross-reference to related applications
本申请要求于2017年10月16日提交中国专利局,申请号为2017109618963,申请名称为“数据传输方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application entitled "Data Transmission Methods, Apparatus, Computer Equipment, and Storage Media", filed on October 16, 2017, the entire contents of which is hereby incorporated by reference. In this application.
技术领域Technical field
本申请涉及一种数据传输方法、装置、计算机设备和存储介质。The application relates to a data transmission method, apparatus, computer device and storage medium.
背景技术Background technique
随着计算机技术的发展,产生的信息越来越多,信息量也越来越大,在许多场景下都存在将数据通过网络上传到网络上的存储空间进行存储的需求,例如,为了防止数据丢失,将视频文件上传到网络存储设备中进行备份。With the development of computer technology, more and more information is generated and the amount of information is increasing. In many scenarios, there is a need to upload data to a storage space on the network for storage, for example, to prevent data. Lost, upload the video file to a network storage device for backup.
然而,发明人意识到,在将数据上传到网络存储设备上进行存储时,由于数据量大以及网络传输不稳定的原因,数据在传输的过程中数据传输失败率高而且传输效率低。However, the inventors have realized that when data is uploaded to a network storage device for storage, data transmission failure rate is high and transmission efficiency is low in the process of data transmission due to large amount of data and unstable network transmission.
发明内容Summary of the invention
根据本申请公开的各种实施例,提供一种数据传输方法、装置、计算机设备和存储介质。According to various embodiments disclosed herein, a data transmission method, apparatus, computer device, and storage medium are provided.
一种数据传输方法,包括:A data transmission method includes:
获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;Obtaining target data to be transmitted; dividing the target data into k sub-data to be transmitted, where k is an integer greater than 1;
分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及Establishing a data transmission channel with N target servers in the server set, where N is an integer greater than 1;
通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。Transmitting, by the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers store the received sub-data to a pre- Set on the storage device.
一种数据传输装置,包括:A data transmission device comprising:
目标数据获取模块,用于获取需要传输的目标数据;目标数据切分模块,用于将所述目 标数据切分为k个待传输的子数据,所述k为大于1的整数;a target data acquisition module, configured to acquire target data to be transmitted; a target data segmentation module, configured to divide the target data into k sub-data to be transmitted, where k is an integer greater than 1;
通道建立模块,用于分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;a channel establishing module, configured to establish a data transmission channel with N target servers in the server set, where N is an integer greater than one;
传输模块,用于通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。a transmission module, configured to send, by using the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the The sub data is stored on a preset storage device.
一种计算机设备,包括存储器和一个或多个处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时实现本申请任意一个实施例中提供的数据传输方法的步骤。A computer apparatus comprising a memory and one or more processors having stored therein computer readable instructions that, when executed by a processor, implement the steps of a data transfer method provided in any one of the embodiments of the present application.
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现本申请任意一个实施例中提供的数据传输方法的步骤。One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to be implemented in any one embodiment of the present application The steps of the data transfer method provided.
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。Details of one or more embodiments of the present application are set forth in the accompanying drawings and description below. Other features and advantages of the present invention will be apparent from the description, drawings and claims.
附图说明DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings to be used in the embodiments will be briefly described below. Obviously, the drawings in the following description are only some embodiments of the present application, Those skilled in the art can also obtain other drawings based on these drawings without any creative work.
图1为根据一个或多个实施例中提供的数据传输方法的应用环境图。1 is an application environment diagram of a data transmission method provided in accordance with one or more embodiments.
图2为根据一个或多个实施例中数据传输方法的流程图。2 is a flow diagram of a method of data transmission in accordance with one or more embodiments.
图3为另一个实施例中数据传输方法的流程图。3 is a flow chart of a data transmission method in another embodiment.
图4为另一个实施例中数据传输方法的流程图。4 is a flow chart of a data transmission method in another embodiment.
图5为另一个实施例中数据传输方法的流程图。Figure 5 is a flow chart of a data transmission method in another embodiment.
图6为根据一个或多个实施例中数据传输装置的框图。FIG. 6 is a block diagram of a data transmission device in accordance with one or more embodiments.
图7为另一个实施例中数据传输装置的框图。Figure 7 is a block diagram of a data transmission device in another embodiment.
图8为另一个实施例中数据传输装置的框图。Figure 8 is a block diagram of a data transmission device in another embodiment.
图9为另一个实施例中数据传输装置的框图。Figure 9 is a block diagram of a data transmission device in another embodiment.
图10为根据一个或多个实施例中计算机设备的框图。Figure 10 is a block diagram of a computer device in accordance with one or more embodiments.
具体实施方式Detailed ways
为了使本申请的技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the application and are not intended to be limiting.
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一服务器称为第二服务器,且类似地,可将第二服务器称为第一服务器。It will be understood that the terms "first," "second," and the like, as used herein, may be used to describe various elements, and the elements are not limited by these terms unless specifically stated. These terms are only used to distinguish one element from another. For example, a first server may be referred to as a second server, and similarly, a second server may be referred to as a first server, without departing from the scope of the present application.
图1为一个实施例中提供的数据传输方法的应用环境图,如图1所示,在该应用环境中,包括终端110、由多个服务器组成的服务器集合120、存储设备130以及存储集群140。当要对数据进行传输时,获取终端110中的目标数据,将目标数据切分为多个待传输的子数据,然后与服务器集合中的多个目标服务器例如服务器1~服务器M中的全部或者部分服务器建立数据传输通道,终端110通过建立起的传输通道向各个目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,服务器起接收到子数据后,将子数据存储到存储设备130上。若子数据全部传输完成,终端110可以向服务器集合中的其中的一个服务器发送数据合并请求,由接收到数据合并请求的服务器对存储在存储设备130上的子数据进行合并。1 is an application environment diagram of a data transmission method provided in an embodiment. As shown in FIG. 1 , the application environment includes a terminal 110, a server set 120 composed of multiple servers, a storage device 130, and a storage cluster 140. . When data is to be transmitted, the target data in the terminal 110 is acquired, the target data is divided into a plurality of sub-data to be transmitted, and then all of the plurality of target servers in the server set, such as the server 1 to the server M, or A part of the server establishes a data transmission channel, and the terminal 110 sends a data transmission request to each target server through the established transmission channel, where the data transmission request carries one or more sub-data, and the server stores the sub-data to the storage device after receiving the sub-data. 130. If the transmission of all the sub data is completed, the terminal 110 may transmit a data merge request to one of the servers in the set of servers, and the server that has received the data merge request merges the subdata stored on the storage device 130.
在一些实施例中,可以将合并得到的目标数据发送到存储集群140中,例如终端可以向服务器集合中的第一服务器发送将数据合并以及上传到存储集群的请求,第一服务器接收到请求后,将子数据进行合并,得到目标数据后将目标数据发送到存储集群140中进行存储。In some embodiments, the merged target data may be sent to the storage cluster 140. For example, the terminal may send a request to merge and upload the data to the storage cluster to the first server in the server set. After receiving the request, the first server receives the request. The child data is merged to obtain the target data, and the target data is sent to the storage cluster 140 for storage.
在一些实施例中,将合并得到的目标数据发送到存储集群140中后,第一服务器可以将存储设备130上的子数据删除。In some embodiments, after the merged target data is sent to the storage cluster 140, the first server may delete the sub-data on the storage device 130.
在一些实施例中,存储设备130可以包括NAS((NetworkAttached Storage,网络附属存储))卷。In some embodiments, storage device 130 may include a NAS ((Network Attached Storage)) volume.
在一些实施例中,终端110可以与服务器集合中的所有服务器建立数据传输通道,也可以与部分服务器建立传输通道,本申请实施例在此不做限定。In some embodiments, the terminal 110 may establish a data transmission channel with all the servers in the server set, and may also establish a transmission channel with a part of the server, which is not limited herein.
在一些实施例中,终端110可以随机选择服务器集合中的服务器建立数据传输通道,也可以设置终端110与特定服务器建立数据传输通道。例如,可以通过负载均衡装置根据负载均衡算法确定与终端建立数据传输通道的服务器。负载均衡算法可以根据需要进行设置,例如,可以根据各个服务器的性能、建立的网络连接数等确定服务器。或者,在域名服务器中 设置一个域名对应服务器集合中各个服务器的IP地址,当域名服务器接收到终端发送的域名解析请求时,返回多个IP地址给终端110,终端根据接收到的多个IP地址分别与多个服务器建立数据传输通道。In some embodiments, the terminal 110 may randomly select a server in the server set to establish a data transmission channel, or set the terminal 110 to establish a data transmission channel with a specific server. For example, the server that establishes the data transmission channel with the terminal may be determined by the load balancing device according to the load balancing algorithm. The load balancing algorithm can be set as needed. For example, the server can be determined according to the performance of each server, the number of established network connections, and the like. Alternatively, the domain name server sets an IP address of each server in the domain name corresponding server set. When the domain name server receives the domain name resolution request sent by the terminal, the domain name server returns multiple IP addresses to the terminal 110, and the terminal receives multiple IP addresses according to the received address. Establish data transmission channels with multiple servers.
在一些实施例中,可以通过在终端上安装SDK(Software DevelopmentKit,软件开发工具包)实施本申请实施例提供的信息传输方法。In some embodiments, the information transmission method provided by the embodiment of the present application may be implemented by installing an SDK (Software Development Kit) on the terminal.
需要说明的是,终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱以及智能手表等,但并不局限于此。例如,在一些实施例中,也可以在服务器中执行本申请实施例提供的方法。It should be noted that the terminal 110 may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. For example, in some embodiments, the method provided by the embodiments of the present application may also be performed in a server.
如图2所示,在一些实施例中,提出了一种数据传输方法,该数据传输方法可以应用于上述的终端110中,具体可以包括以下步骤:As shown in FIG. 2, in some embodiments, a data transmission method is provided, which may be applied to the terminal 110, and may specifically include the following steps:
步骤202,获取需要传输的目标数据。Step 202: Acquire target data that needs to be transmitted.
具体地,目标数据可以包括视频数据、图片数据、文字数据、音频数据中的一种或多种,当然也可以为其他形式的数据,在此不做限定。目标数据可以是根据接收到的数据传输请求确定的。例如,当需要在网络存储设备中存储视频数据时,用户可以选择该视频数据,并点击上传按钮,终端接收到用户点击上传按钮的操作后,获取视频数据,作为目标数据。Specifically, the target data may include one or more of video data, image data, text data, and audio data, and may be other forms of data, which is not limited herein. The target data may be determined based on the received data transmission request. For example, when the video data needs to be stored in the network storage device, the user can select the video data and click the upload button. After receiving the operation of the user clicking the upload button, the terminal acquires the video data as the target data.
步骤204,将目标数据切分为k个待传输的子数据,k为大于1的整数。In step 204, the target data is divided into k sub-data to be transmitted, and k is an integer greater than 1.
具体地,子数据的数量为大于1,但是具体的数量可以根据需要设置,例如,可以预先设置切分的子数据的数量,如每次切分均将目标数据切分为8个子数据。Specifically, the number of sub-data is greater than 1, but the specific number may be set as needed. For example, the number of sub-data to be sliced may be set in advance, for example, the target data is sliced into 8 sub-datas each time.
在一些实施例中,可以根据目标数据的属性信息例如数据量确定子数据的数量。例如,预先设置将数据切分为2MB大小的子数据,则切分后得到的子数据的数量根据目标数据的大小确定。可以理解,若目标数据不是2MB的整数倍,则部分子数据的大小小于2MB。举个例子,假设一个视频数据为5MB,则可以将数据切分为3个子数据,分别为2MB、2MB以及1MB。In some embodiments, the number of sub-data may be determined based on attribute information of the target data, such as the amount of data. For example, if the sub-data whose size is divided into 2 MB is set in advance, the number of sub-data obtained after the division is determined according to the size of the target data. It can be understood that if the target data is not an integer multiple of 2 MB, the size of the partial sub-data is less than 2 MB. For example, suppose a video data is 5MB, you can split the data into 3 sub-data, 2MB, 2MB and 1MB.
步骤206,分别与服务器集合中的N个目标服务器建立数据传输通道,N为大于1的整数。Step 206: Establish a data transmission channel with N target servers in the server set, where N is an integer greater than 1.
具体的,服务器集合中有多个服务器,目标服务器为服务器集合中的部分或者全部服务器。目标服务器的数量大于1,但具体的数值可以根据实际需要进行设置。可以随机选择服务器集合中的N个服务器建立数据传输通道,终端也可以与特定服务器建立数据传输通道。例如,可以通过负载均衡装置根据负载均衡算法确定服务器集合中与终端建立数据传输通道 的目标服务器。负载均衡算法可以根据需要进行设置。Specifically, there are multiple servers in the server set, and the target server is part or all of the servers in the server set. The number of target servers is greater than 1, but the specific values can be set according to actual needs. The N servers in the server set can be randomly selected to establish a data transmission channel, and the terminal can also establish a data transmission channel with a specific server. For example, the target server of establishing a data transmission channel with the terminal in the server set may be determined by the load balancing device according to the load balancing algorithm. The load balancing algorithm can be set as needed.
在一些实施例中,负载均衡装置可以根据服务器集合中的各个服务器的性能、服务器的负载量等确定目标服务器。例如根据服务器当前的连接情况,动态地选取其中当前积压连接数较少的多个服务器作为目标服务器与终端建立数据传输通道,以尽可能地提高传输效率,将负载合理地分流到服务器集合中的服务器。In some embodiments, the load balancing device may determine the target server based on the performance of each server in the set of servers, the amount of load on the server, and the like. For example, according to the current connection situation of the server, dynamically select a plurality of servers in which the current backlog connection number is less as a target server to establish a data transmission channel with the terminal, so as to improve transmission efficiency as much as possible, and reasonably distribute the load to the server set. server.
在一些实施例中,可以设置与预设数量的服务器建立数据传输通道,也可以设置子数据的数量与需要建立数据传输通道的服务器的数量呈正相关关系。例如,可以设置K与N的比值为4:1。In some embodiments, a data transmission channel may be set up with a preset number of servers, or the number of sub-data may be set to be positively correlated with the number of servers that need to establish a data transmission channel. For example, you can set the ratio of K to N to 4:1.
在一些实施例中,可以在域名服务器中设置一个域名对应多个服务器的IP地址,要传输数据时,终端向域名服务器发送域名解析请求,当域名服务器接收到终端发送的域名解析请求时,根据域名返回多个IP地址给终端。终端根据接收到的IP地址与分别与对应的多个服务器建立数据传输通道。In some embodiments, a domain name may be set in the domain name server to correspond to an IP address of multiple servers. When data is to be transmitted, the terminal sends a domain name resolution request to the domain name server. When the domain name server receives the domain name resolution request sent by the terminal, The domain name returns multiple IP addresses to the terminal. The terminal establishes a data transmission channel with the corresponding multiple servers according to the received IP address.
在一些实施例中,负载均衡装置根据服务器的性能设置每个服务器的权重系数,性能高的服务器的权重系数高。然后根据权重系数为服务器分配对应数量的键值。当接收到数据传输请求时,根据子数据的标识以及子数据的大小等信息进行哈希计算,得到哈希值后与一个预设的数值进行取模运算,得到的取模结果与根据权重系数为服务器分配的键值匹配,然后向终端返回匹配的服务器的网络连接地址例如IP地址,终端根据接收到的网络连接地址与对应的服务器建立数据传输通道。In some embodiments, the load balancing device sets the weighting factor of each server according to the performance of the server, and the server with high performance has a high weighting coefficient. The server is then assigned a corresponding number of key values based on the weighting factor. When receiving the data transmission request, the hash calculation is performed according to the identifier of the sub-data and the size of the sub-data, and the hash value is obtained, and then a modulo operation is performed with a preset value, and the obtained modulo result and the weight coefficient are obtained. The key value assigned to the server is matched, and then the network connection address of the matching server, such as an IP address, is returned to the terminal, and the terminal establishes a data transmission channel with the corresponding server according to the received network connection address.
例如,假设服务器集合中有两个服务器,可以设置A服务器的权重为0.3,B服务器的权重为0.7,预设值为1000,因此,可以分配A服务器对应的键值为0~300,B服务器对应的键值为301~999。进行哈希计算得到的哈希值若为1006,则取模计算得到的值为6,与A服务器的键值匹配。因此终端与A服务器建立数据传输通道。For example, if there are two servers in the server set, you can set the weight of the A server to 0.3, the weight of the B server to 0.7, and the default value to 1000. Therefore, you can assign the key value of the A server to 0 to 300, and the B server. The corresponding key value is 301 to 999. If the hash value obtained by hash calculation is 1006, the value obtained by modulo calculation is 6 and matches the key value of the A server. Therefore, the terminal establishes a data transmission channel with the A server.
步骤208,通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使目标服务器将接收到的子数据存储到预设的存储设备上。Step 208: Send a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data, so that the target server stores the received sub-data on the preset storage device.
具体地,将子数据分发到建立的数据传输通道进行传输,直至子数据均传输完毕。即每个子数据通过一个数据传输通道传输完成后,其他数据传输通道不会再对该子数据进行传输。每个数据传输通道传输的子数据可以根据需要进行设置。例如可以随机进行选择,也可以按照子文件在目标数据的顺序按顺序进行传输。当每次传输请求对应的子数据传输完毕后,可以释放与该目标服务器建立的数据传输通道,也可以利用该数据传输通道继续传输未传输的 子数据。例如,假设有10个子数据,服务器集合中有5个服务器,终端与3个目标服务器建立了数据传输通道,则可以首先利用各个数据传输通道分别向对应的3个目标服务器传输子数据,向每个目标服务器传输完一个子数据后,终端查询是否还存在未传输的子数据,若还存在,可以继续向该目标服务器发送数据传输请求。或者断开与该目标服务器的数据传输通道,并与服务器集合中的其他服务器建立新的数据传输通道,利用新的数据传输通道传输未传输的子数据。Specifically, the sub data is distributed to the established data transmission channel for transmission until the sub data is transmitted. That is, after each sub-data is transmitted through one data transmission channel, the other data transmission channels will not transmit the sub-data. The subdata transmitted by each data transmission channel can be set as needed. For example, the selection may be performed at random or in the order of the target data in the order of the sub-files. After the transmission of the sub-data corresponding to each transmission request is completed, the data transmission channel established with the target server may be released, and the untransferred sub-data may be further transmitted by using the data transmission channel. For example, if there are 10 sub-data, there are 5 servers in the server set, and the terminal establishes a data transmission channel with the 3 target servers, then the sub-data can be transmitted to the corresponding 3 target servers by using the respective data transmission channels. After the target server transmits a sub-data, the terminal queries whether there is still untransferred sub-data. If it still exists, it can continue to send a data transmission request to the target server. Or disconnect the data transmission channel with the target server, and establish a new data transmission channel with other servers in the server collection, and use the new data transmission channel to transmit the untransferred sub data.
上述数据传输方法,当要进行数据传输时,获取目标数据,将目标数据切分为多个子数据,并与多个服务器建立数据传输通道,然后通过各个数据传输通道将子数据发送到预设的存储设备上,由于在传输数据时,将数据切分为多个子数据并通过与多个服务器建立通信将子数据传输到存储设备上,因此目标数据相当于是在并行传输到存储设备上的,故可以提高传输效率,降低了传输时间,且可以降低由于网络不稳定导致传输失败的概率,数据传输成功率高。The above data transmission method, when data transmission is to be performed, acquires target data, divides the target data into a plurality of sub-data, and establishes a data transmission channel with a plurality of servers, and then sends the sub-data to the preset through each data transmission channel. On the storage device, since the data is divided into a plurality of sub-data when the data is transmitted and the sub-data is transmitted to the storage device by establishing communication with the plurality of servers, the target data is equivalent to being transmitted to the storage device in parallel, so The transmission efficiency can be improved, the transmission time is reduced, and the probability of transmission failure due to network instability can be reduced, and the data transmission success rate is high.
例如,通过试验,互联网环境下,将20M以上的目标数据切分为多个子数据,传输成功率为99.998%,传输效率提升200%。For example, through experiments, in the Internet environment, the target data of 20M or more is divided into multiple sub-data, the transmission success rate is 99.998%, and the transmission efficiency is increased by 200%.
在一些实施例中,若子数据在传输的过程中由于网络错误等原因导致传输终端时,可以记录子数据的断点位置,重新恢复传输后,可以从断点位置开始传输子数据。In some embodiments, if the sub-data is transmitted to the terminal due to a network error or the like during the transmission, the breakpoint position of the sub-data may be recorded, and after the transmission is resumed, the sub-data may be transmitted from the breakpoint position.
在一些实施例中,可以根据用户信息以及预设的算法生成一个传输凭证,在发送传输请求时携带传输凭证。目标服务器中可以预先根据用户信息生成一个凭证并存储,当目标服务器接收到传输请求时,将自身存储的凭证与传输请求中的传输凭证进行匹配,匹配成功则接收子数据。以提高数据传输的安全性。预设的算法可以根据需要进行设置。例如预设的算法可以是摘要算法中的CRC(Cyclic Redundancy Check,循环冗余校验)算法、MD5(Message-DigestAlgorithm 5,消息摘要算法版本5)算法以及SHA(Secure HashAlgorithm)系列算法等。In some embodiments, a transmission credential can be generated based on the user information and a preset algorithm, and the transmission credential is carried when the transmission request is sent. The target server may generate a voucher according to the user information and store it in advance. When the target server receives the transmission request, it matches the voucher stored by itself with the transmission voucher in the transmission request, and if the matching succeeds, the sub-data is received. To improve the security of data transmission. The preset algorithm can be set as needed. For example, the preset algorithm may be a CRC (Cyclic Redundancy Check) algorithm, a MD5 (Message-Digest Algorithm 5) algorithm, and a SHA (Secure Hash Algorithm) series algorithm.
在一些实施例中,如图3所示,数据传输方法还可以包括步骤S302:向服务器集合中的第一服务器发送存储空间创建请求,存储空间创建请求携带目标存储空间标识,以使第一服务器根据目标存储空间标识在存储设备上创建目标存储空间,并将目标存储空间标识与目标存储空间进行关联。步骤S208即通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使目标服务器将子数据存储到预设的存储设备上的步骤包括:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输 请求中携带目标存储空间标识以及一个或多个子数据,以使目标服务器根据目标存储空间标识将接收到的子数据存储到目标存储空间上。In some embodiments, as shown in FIG. 3, the data transmission method may further include step S302: sending a storage space creation request to the first server in the server set, where the storage space creation request carries the target storage space identifier to enable the first server Create a target storage space on the storage device based on the target storage space identifier and associate the target storage space identifier with the target storage space. Step S208 is to send a data transmission request to the corresponding target server through each data transmission channel, where the data transmission request carries one or more sub-data, so that the target server stores the sub-data on the preset storage device, including: The data transmission channel sends a data transmission request to the corresponding target server, where the data transmission request carries the target storage space identifier and one or more sub-data, so that the target server stores the received sub-data according to the target storage space identifier to the target storage space. .
具体地,第一服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器。第一服务器可以是随机选择的,也可以是根据负载均衡算法得到的。负载均衡算法具体可以参照本申请其他实施例中提供的方法进行,在此不再赘述。第一服务器接收到存储空间创建请求后,根据目标存储空间标识在存储设备上创建目标存储空间,将目标存储空间标识与目标存储空间进行关联,并可以返回目标存储空间创建成功的消息。终端可以在接收到创建成功的消息后,通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及目标存储空间标识,使目标服务器在接收到数据传输请求后,根据目标存储空间标识查找到对应的目标存储空间,然后将子数据存储到目标存储空间上。Specifically, the first server may be one of the target servers, or may be other servers in the server set. The first server may be randomly selected or may be obtained according to a load balancing algorithm. The load balancing algorithm may be specifically performed by referring to the methods provided in other embodiments of the present application, and details are not described herein again. After receiving the storage space creation request, the first server creates a target storage space on the storage device according to the target storage space identifier, associates the target storage space identifier with the target storage space, and returns a message that the target storage space is successfully created. After receiving the successfully created message, the terminal may send a data transmission request to the corresponding target server through each data transmission channel, where the data transmission request carries one or more sub-data and a target storage space identifier, so that the target server receives the data transmission. After the request, the corresponding target storage space is found according to the target storage space identifier, and then the sub data is stored on the target storage space.
在一些实施例中,与其中的一个目标服务器建立数据传输通道后,通过该数据传输通道发送存储空间创建请求。In some embodiments, after establishing a data transmission channel with one of the target servers, a storage space creation request is sent through the data transmission channel.
在一些实施例中,第一服务器可以在存储设备上创建一个存储子数据的文件夹,文件夹的标识为目标存储空间标识。In some embodiments, the first server may create a folder on the storage device that stores the child data, the identity of the folder being the target storage space identifier.
在一些实施例中,在一些实施例中,如图4所示,数据传输方法还可以包括步骤S402以及S404。详述如下:In some embodiments, in some embodiments, as shown in FIG. 4, the data transmission method may further include steps S402 and S404. Details are as follows:
步骤S402,根据子数据在目标数据的位置为子数据分配子数据标识。Step S402, assigning a sub-data identifier to the sub-data according to the position of the target data according to the sub-data.
具体地,子数据在目标数据的位置指子数据在目标数据中的排列顺序。将目标数据作为一个整体,按照数据的排列顺序进行切分,并按照顺序为子数据分配标识。子数据标识的组成规则可以根据实际需要进行设置,例如可以用字母以及数字的一个或多个进行标识,只要能够标识子数据在目标数据的位置即可。例如,对于一个视频文件,按照播放顺序切分为5个子视频,按照播放顺序,子视频可以分别标识为0、1、2、3、4,也可以标识为A、B、C、D、E。Specifically, the position of the sub data in the target data refers to the order in which the sub data is arranged in the target data. The target data is divided as a whole according to the order in which the data is arranged, and the sub-data is assigned an identifier in order. The composition rule of the sub-data identifier can be set according to actual needs, for example, one or more of letters and numbers can be used, as long as the sub-data can be identified at the location of the target data. For example, for a video file, it is divided into 5 sub-videos according to the playing order. According to the playing order, the sub-videos can be identified as 0, 1, 2, 3, 4, respectively, or can be identified as A, B, C, D, E. .
步骤S208即通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据的步骤包括:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及携带的子数据对应的子数据标识。Step S208 is to send a data transmission request to the corresponding target server through each data transmission channel, and the step of carrying one or more sub-data in the data transmission request includes: sending a data transmission request to the corresponding target server through each data transmission channel, and the data transmission request The sub-data identifier corresponding to one or more sub-data and the carried sub-data is carried in.
步骤S404,向服务器集合中的第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。Step S404: Send a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain target data.
具体地,得到子数据标识后,在向目标服务器发送的数据传输请求中携带一个或多个子 数据以及携带的子数据对应的子数据标识,使得目标服务器可以将子数据与对应的子数据标识关联存储。第二服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器,第一服务器与第二服务器可以相同也可以不同。当子数据传输完毕后,终端可以向服务器集合中的第二服务器发送数据合并请求,第二服务器接收数据合并请求后,获取子数据标识,根据子数据标识所对应的顺序合并子数据,得到合并后的目标数据。例如,子数据分别标识为0、1、2、3、4,则可以将0、1、2、3、4对应的子数据按照顺序进行合并,得到目标数据。Specifically, after obtaining the identifier of the sub-data, the data transmission request sent to the target server carries the one or more sub-data and the sub-data identifier corresponding to the carried sub-data, so that the target server can associate the sub-data with the corresponding sub-data identifier. storage. The second server may be one of the target servers or other servers in the server set, and the first server and the second server may be the same or different. After the sub-data transmission is completed, the terminal may send a data merge request to the second server in the server set, and after receiving the data merge request, the second server acquires the sub-data identifier, and merges the sub-data according to the order corresponding to the sub-data identifier to obtain the merge. After the target data. For example, if the sub-data is identified as 0, 1, 2, 3, and 4, respectively, the sub-data corresponding to 0, 1, 2, 3, and 4 may be combined in order to obtain target data.
在一些实施例中,如图5所示,数据传输方法还可以包括以下步骤:In some embodiments, as shown in FIG. 5, the data transmission method may further include the following steps:
步骤S502,当目标数据传输完成后,获取目标数据对应的校验信息。Step S502, after the target data transmission is completed, the verification information corresponding to the target data is acquired.
具体地,校验信息用于校验目标数据的子数据是否正确且完整的传输。校验信息可以包括目标数据的属性信息,例如目标数据的大小,目标数据的格式、目标数据对应的子数据标识、子数据个数以及每个子数据的大小等等。在一些实施例中也可以根据目标数据的属性以及哈希算法生成校验值,校验信息可以包括校验值和或目标数据的属性信息中的至少一个。Specifically, the verification information is used to verify whether the sub-data of the target data is correctly and completely transmitted. The verification information may include attribute information of the target data, such as the size of the target data, the format of the target data, the sub-data identifier corresponding to the target data, the number of sub-data, and the size of each sub-data. In some embodiments, the check value may also be generated according to the attribute of the target data and the hash algorithm, and the check information may include at least one of the check value and the attribute information of the target data.
在一些实施例中个,哈希算法可以为MD5(Message-digestAlgorithm5,信息摘要算法5)算法和SHA(Secure Hash Standard、安全哈希标准)算法等,具体不做限制。In some embodiments, the hash algorithm may be an MD5 (Message-Digest Algorithm 5) algorithm and a SHA (Secure Hash Standard) algorithm, and the like.
步骤S504,将校验信息发送到服务器集合中的第三服务器上,以使第三服务器根据校验信息对存储设备上的子数据进行校验,并返回校验结果,校验结果包括校验成功或者校验失败。Step S504, the verification information is sent to the third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result, where the verification result includes verification. Success or verification failed.
具体地,第三服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器。例如第三服务器可以是随机选择的,也可以是根据负载均衡算法得到的。负载均衡算法具体可以参照本申请实施例中提供的方法进行,在此不再赘述。可以理解,第一服务器、第二服务器以及第三服务器可以相同也可以不同。第三服务器获取存储设备上每个子数据的属性信息,当终端发送的校验信息包括目标数据的属性信息后,根据子数据的属性信息与目标数据的属性信息进行匹配。当终端发送的校验信息包括根据目标数据的属性信息生成的校验时,根据子数据的属性信息并采用哈希算法进行计算得到另一校验值。然后将接收到的校验值与计算得到的校验值进行匹配。Specifically, the third server may be one of the target servers or other servers in the server set. For example, the third server may be randomly selected or may be obtained according to a load balancing algorithm. The load balancing algorithm may be specifically performed by referring to the method provided in the embodiment of the present application, and details are not described herein again. It can be understood that the first server, the second server, and the third server may be the same or different. The third server acquires the attribute information of each sub-data on the storage device. After the verification information sent by the terminal includes the attribute information of the target data, the attribute information of the sub-data is matched with the attribute information of the target data. When the verification information sent by the terminal includes the verification generated according to the attribute information of the target data, another verification value is obtained according to the attribute information of the sub data and calculated by using a hash algorithm. The received check value is then matched against the calculated check value.
在一些实施例中,当校验信息包括目标数据的属性信息或者校验值时,目标数据的属性信息或者校验值匹配成功,则对应的校验结果为校验成功。否则,校验结果为校验失败。当校验信息包括目标数据的属性信息以及校验值时,目标数据的属性信息以及校验值均匹配成 功,则校验结果为校验成功,属性信息以及校验值的任一个或均匹配失败时,则校验结果为校验失败。例如,终端发送的校验信息可以包括目标数据的大小,第三服务器获取存储设备上子数据的大小的和,然后与终端发送的目标数据的大小进行对比,若大小一致,则校验结果为校验成功。In some embodiments, when the verification information includes the attribute information or the check value of the target data, if the attribute information or the check value of the target data is successfully matched, the corresponding verification result is that the verification is successful. Otherwise, the verification result is a verification failure. When the verification information includes the attribute information of the target data and the check value, if the attribute information and the check value of the target data match successfully, the verification result is that the verification is successful, and any one of the attribute information and the check value matches When it fails, the verification result is a verification failure. For example, the verification information sent by the terminal may include the size of the target data, and the third server obtains the sum of the sizes of the sub-data on the storage device, and then compares with the size of the target data sent by the terminal. If the size is consistent, the verification result is The verification was successful.
在一些实施例中,当校验结果包括校验成功时,终端向第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。In some embodiments, when the verification result includes the verification success, the terminal sends a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain the target data.
在一些实施例中,当校验结果包括校验失败时,第三服务器可以返回校验失败的信息,终端接收到校验失败结果时,可以重新上传目标数据。In some embodiments, when the verification result includes the verification failure, the third server may return the verification failure information, and when the terminal receives the verification failure result, the target data may be re-uploaded.
在一些实施例中,当校验结果包括校验失败时,校验结果中可以包括校验信息的匹配结果,匹配结果用于指示具体的校验信息为匹配失败或者匹配成功。终端根据匹配结果获取匹配失败的子数据并重新上传子数据,以减少重新传输的数据量。例如,当校验信息包括各个子数据的大小时,可以返回子数据大小匹配失败的子数据标识,终端根据返回的子数据标识获取对应的子数据重新进行传输。In some embodiments, when the verification result includes a verification failure, the verification result may include a matching result of the verification information, where the matching result is used to indicate that the specific verification information is a matching failure or a matching success. The terminal obtains the sub-data of the failed match according to the matching result and re-uploads the sub-data to reduce the amount of re-transmitted data. For example, when the check information includes the size of each sub-data, the sub-data identifier whose sub-data size matching fails may be returned, and the terminal re-transmits the corresponding sub-data according to the returned sub-data identifier.
应该理解的是,虽然上述的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that although the various steps in the above-described flowcharts are sequentially displayed as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Except as explicitly stated herein, the execution of these steps is not strictly limited, and the steps may be performed in other orders. Moreover, at least a portion of the steps of the above-described flowcharts may include a plurality of sub-steps or stages that are not necessarily performed at the same time, but may be executed at different times, the execution of these sub-steps or stages The order is also not necessarily sequential, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of the other steps.
如图6所示,在一些实施例中,提供了一种数据传输装置,该数据传输装置可以集成于上述的终端110中,具体可以包括:As shown in FIG. 6 , in some embodiments, a data transmission device is provided. The data transmission device may be integrated into the terminal 110, and may specifically include:
目标数据获取模块602,用于获取需要传输的目标数据;The target data obtaining module 602 is configured to acquire target data that needs to be transmitted;
目标数据切分模块604,用于将目标数据切分为k个待传输的子数据,k为大于1的整数;The target data slicing module 604 is configured to divide the target data into k sub-data to be transmitted, where k is an integer greater than one;
通道建立模块606,用于分别与服务器集合中的N个目标服务器建立数据传输通道,N为大于1的整数;The channel establishing module 606 is configured to establish a data transmission channel with the N target servers in the server set, where N is an integer greater than one;
传输模块608,用于通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使各个目标服务器将接收到的子数据存储到预设的存储设备上。The transmission module 608 is configured to send a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data, so that each target server stores the received sub-data on the preset storage device. .
如图7所示,在一些实施例中,装置还包括:As shown in FIG. 7, in some embodiments, the apparatus further includes:
空间创建模块702,用于向服务器集合中的第一服务器发送存储空间创建请求,存储空间创建请求携带目标存储空间标识,以使第一服务器根据目标存储空间标识在存储设备上创建目标存储空间,并将目标存储空间标识与目标存储空间进行关联;The space creation module 702 is configured to send a storage space creation request to the first server in the server set, where the storage space creation request carries the target storage space identifier, so that the first server creates the target storage space on the storage device according to the target storage space identifier. And associate the target storage space identifier with the target storage space;
传输模块608用于:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带目标存储空间标识以及一个或多个子数据,以使目标服务器根据目标存储空间标识将子数据存储到目标存储空间上。The transmission module 608 is configured to: send, by each data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries the target storage space identifier and one or more sub-data, so that the target server stores the sub-data according to the target storage space identifier. Go to the target storage space.
如图8所示,在一些实施例中,装置还包括:As shown in FIG. 8, in some embodiments, the apparatus further includes:
标识分配模块802,用于根据子数据在目标数据的位置为子数据分配子数据标识;An identifier allocation module 802, configured to allocate a sub-data identifier for the sub-data according to the location of the target data according to the sub-data;
传输模块608用于:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及携带的子数据对应的子数据标识,以使各个目标服务器将子数据存储到预设的存储设备上;The transmission module 608 is configured to: send a data transmission request to the corresponding target server by using each data transmission channel, where the data transmission request carries one or more sub-data and a sub-data identifier corresponding to the carried sub-data, so that each target server will sub-data Stored on a preset storage device;
装置还包括合并请求发送模块804,用于向服务器集合中的第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。The device further includes a merge request sending module 804, configured to send a data merge request to the second server in the server set, so that the second server merges the child data on the storage device according to the child data identifier to obtain target data.
如图9所示,在一些实施例中,装置还包括:As shown in FIG. 9, in some embodiments, the apparatus further includes:
校验信息获取模块902,用于当目标数据传输完成后,获取目标数据对应的校验信息;The verification information obtaining module 902 is configured to acquire verification information corresponding to the target data after the target data transmission is completed;
校验信息发送模块904,用于将校验信息发送到服务器集合中的第三服务器上,以使第三服务器根据校验信息对存储设备上的子数据进行校验,并返回校验结果,校验结果包括校验成功或者校验失败。The verification information sending module 904 is configured to send the verification information to the third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result. The verification result includes verification success or verification failure.
在一些实施例中,合并请求发送模块804用于:当校验结果包括校验成功时,向第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。In some embodiments, the merge request sending module 804 is configured to: when the verification result includes the verification success, send a data merge request to the second server, so that the second server performs the sub-data on the storage device according to the sub-data identifier. Consolidate to get the target data.
关于数据传输装置的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。For the specific definition of the data transmission device, reference may be made to the above definition of the data transmission method, and details are not described herein again. The various modules in the above data transmission device may be implemented in whole or in part by software, hardware, and combinations thereof. Each of the above modules may be embedded in or independent of the processor in the computer device, or may be stored in a memory in the computer device in a software form, so that the processor invokes the operations corresponding to the above modules.
如图10所示,为一个实施例中计算机设备的内部结构图,该计算机设备可以是终端,该计算机设备通过系统连接总线连接处理器、非易失性存储介质、内存储器和网络接口。非易失性存储介质可以是非易失性计算机可读存储介质。该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种数据传 输方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据传输方法。计算机设备的网络接口用于进行网络通信,如发送数据传输请求等。本领域技术人员可以理解,图10示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。As shown in FIG. 10, which is an internal structural diagram of a computer device in an embodiment, the computer device may be a terminal, and the computer device is connected to a processor, a non-volatile storage medium, an internal memory, and a network interface through a system connection bus. The non-volatile storage medium can be a non-transitory computer readable storage medium. The non-volatile storage medium of the computer device can store an operating system and computer readable instructions that, when executed, cause the processor to perform a data transfer method. The processor of the computer device is used to provide computing and control capabilities to support the operation of the entire computer device. The internal memory can store computer readable instructions that, when executed by the processor, cause the processor to perform a method of data transmission. The network interface of the computer device is used for network communication, such as sending a data transmission request. It will be understood by those skilled in the art that the structure shown in FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied. The specific computer device may include More or fewer components than shown in the figure, or some components combined, or with different component arrangements.
在一些实施例中,本申请提供的数据传输装置可以实现为一种计算机可读指令的形式,计算机可读指令可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该数据传输装置的各个程序模块,比如图6中的目标数据获取模块602、目标数据切分模块604、通道建立模块606和传输模块608。各个程序模块中包括计算机可读指令,计算机可读指令用于使计算机设备执行本说明书中描述的本申请各个实施例的数据传输方法中的步骤,例如,计算机设备可以通过如图6所示的数据传输装置中的目标数据获取模块602获取需要传输的目标数据;通过目标数据切分模块604将目标数据切分为k个待传输的子数据,k为大于1的整数;通过通道建立模块606分别与服务器集合中的N个目标服务器建立数据传输通道,N为大于1的整数;通过传输模块608通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使各个目标服务器将接收到的子数据存储到预设的存储设备上。In some embodiments, the data transfer apparatus provided herein can be implemented in the form of a computer readable instruction that can be run on a computer device as shown in FIG. 10, non-volatile storage of the computer device The medium may store various program modules constituting the data transmission device, such as the target data acquisition module 602, the target data segmentation module 604, the channel establishment module 606, and the transmission module 608 in FIG. Each of the program modules includes computer readable instructions for causing a computer device to perform the steps in the data transfer method of various embodiments of the present application described in this specification. For example, the computer device can be as shown in FIG. The target data acquisition module 602 in the data transmission device acquires the target data to be transmitted; the target data is divided into k sub-data to be transmitted by the target data segmentation module 604, where k is an integer greater than 1, and the channel establishment module 606 is Establishing a data transmission channel with N target servers in the server set, respectively, N is an integer greater than 1; sending, by the transmission module 608, a data transmission request to the corresponding target server through the data transmission channel, where the data transmission request carries one or more sub-data So that each target server stores the received sub-data on a preset storage device.
一种计算机设备,包括存储器和一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得一个或多个处理器执行以下步骤:获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及,通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。A computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executed by the processor such that the one or more processors perform the steps of: acquiring a target to be transmitted Data; dividing the target data into k sub-data to be transmitted, the k being an integer greater than 1; respectively establishing a data transmission channel with N target servers in the server set, the N being an integer greater than 1 And sending, by the data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the sub-data Stored on a preset storage device.
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及,通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the steps of: obtaining a transmission requiring Target data; the target data is divided into k sub-data to be transmitted, the k is an integer greater than 1; respectively, a data transmission channel is established with N target servers in the server set, and the N is greater than 1. And transmitting, by the data transmission channel, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the subdata, so that the respective target servers will receive the sub The data is stored on a preset storage device.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。One of ordinary skill in the art can understand that all or part of the process of implementing the above embodiments can be completed by computer readable instructions, which can be stored in a non-volatile computer. The readable storage medium, which when executed, may include the flow of an embodiment of the methods as described above. Any reference to a memory, storage, database or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain. Synchlink DRAM (SLDRAM), Memory Bus (Rambus) Direct RAM (RDRAM), Direct Memory Bus Dynamic RAM (DRDRAM), and Memory Bus Dynamic RAM (RDRAM).
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above-described embodiments may be arbitrarily combined. For the sake of brevity of description, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction between the combinations of these technical features, All should be considered as the scope of this manual.
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。The above-mentioned embodiments are merely illustrative of several embodiments of the present application, and the description thereof is more specific and detailed, but is not to be construed as limiting the scope of the claims. It should be noted that a number of variations and modifications may be made by those skilled in the art without departing from the spirit and scope of the present application. Therefore, the scope of the invention should be determined by the appended claims.

Claims (20)

  1. 一种数据传输方法,包括:A data transmission method includes:
    获取需要传输的目标数据;Obtain target data that needs to be transferred;
    将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;Splitting the target data into k sub-data to be transmitted, where k is an integer greater than one;
    分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及Establishing a data transmission channel with N target servers in the server set, where N is an integer greater than 1;
    通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。Transmitting, by the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers store the received sub-data to a pre- Set on the storage device.
  2. 根据权利要求1所述的方法,其特征在于,包括:The method of claim 1 comprising:
    向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;及Sending a storage space creation request to the first server in the server set, the storage space creation request carrying a target storage space identifier, so that the first server creates a target on the storage device according to the target storage space identifier Storing a space and associating the target storage space identifier with the target storage space; and
    所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上包括:Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers store the sub-data to a pre- The storage device provided includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries the target storage space identifier and one or more of the sub-data, so that the target server is configured according to the target The storage space identifier stores the received sub-data onto the target storage space.
  3. 根据权利要求1或2所述的方法,其特征在于,包括:The method according to claim 1 or 2, comprising:
    根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;Allocating a sub-data identifier to the sub-data according to the location of the target data according to the sub-data;
    所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上包括:Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the sub-data Storage to a preset storage device includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;及Sending, by the respective data transmission channels, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the sub-data and the sub-data identifier corresponding to the carried sub-data, so that the respective The target server stores the sub data on a preset storage device; and
    所述方法还包括:The method further includes:
    向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子 数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。Sending a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain the target data.
  4. 根据权利要求3所述的方法,其特征在于,包括:The method of claim 3, comprising:
    当所述目标数据传输完成后,获取所述目标数据对应的校验信息;及After the target data transmission is completed, acquiring verification information corresponding to the target data; and
    将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。Sending the verification information to a third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result. The verification result includes a verification success or a verification failure.
  5. 根据权利要求4所述的方法,其特征在于,所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:The method according to claim 4, wherein the sending a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier , get the target sub-data including:
    当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。When the verification result includes the verification success, sending a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain a Target data.
  6. 一种数据传输装置,包括:A data transmission device comprising:
    目标数据获取模块,用于获取需要传输的目标数据;a target data acquisition module, configured to acquire target data to be transmitted;
    目标数据切分模块,用于将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;a target data slicing module, configured to divide the target data into k sub-data to be transmitted, where k is an integer greater than 1;
    通道建立模块,用于分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及a channel establishing module, configured to establish a data transmission channel with N target servers in the server set, where N is an integer greater than 1;
    传输模块,用于通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。a transmission module, configured to send, by using the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers will receive the The sub data is stored on a preset storage device.
  7. 根据权利要求6所述的装置,其特征在于,包括:The device according to claim 6, comprising:
    空间创建模块,用于向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;及a space creation module, configured to send a storage space creation request to the first server in the server set, where the storage space creation request carries a target storage space identifier, so that the first server identifies the target storage space according to the Creating a target storage space on the storage device, and associating the target storage space identifier with the target storage space; and
    所述传输模块用于:The transmission module is used to:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目 标存储空间标识将所述子数据存储到所述目标存储空间上。Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries the target storage space identifier and one or more of the sub-data, so that the target server is configured according to the target The storage space identifier stores the sub data onto the target storage space.
  8. 根据权利要求6或7所述的装置,其特征在于,包括:The device according to claim 6 or 7, comprising:
    标识分配模块,用于根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;An identifier allocation module, configured to allocate a sub-data identifier for the sub-data according to the location of the target data according to the sub-data;
    所述传输模块用于:The transmission module is used to:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述一个或多个子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;及Transmitting, by the respective data transmission channels, a data transmission request to the corresponding target server, where the data transmission request carries the one or more sub-data and the sub-data identifier corresponding to the carried sub-data, so that the respective targets are The server stores the sub data on a preset storage device; and
    所述装置还包括:The device also includes:
    合并请求发送模块,用于向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。a merge request sending module, configured to send a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier, to obtain the Target data.
  9. 根据权利要求8所述的装置,其特征在于,包括:The device according to claim 8, comprising:
    校验信息获取模块,用于当所述目标数据传输完成后,获取所述目标数据对应的校验信息;及a verification information obtaining module, configured to acquire verification information corresponding to the target data after the target data transmission is completed; and
    校验信息发送模块,用于将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。a verification information sending module, configured to send the verification information to a third server in the server set, so that the third server performs the sub-data on the storage device according to the verification information. Verifies and returns a verification result, which includes verification success or verification failure.
  10. 根据权利要求9所述的装置,其特征在于,所述合并请求发送模块用于:The apparatus according to claim 9, wherein said merge request sending module is configured to:
    当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。When the verification result includes the verification success, sending a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain a Target data.
  11. 一种计算机设备,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:A computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executed by the one or more processors to cause the one or more The processors perform the following steps:
    获取需要传输的目标数据;Obtain target data that needs to be transferred;
    将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;Splitting the target data into k sub-data to be transmitted, where k is an integer greater than one;
    分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及Establishing a data transmission channel with N target servers in the server set, where N is an integer greater than 1;
    通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。Transmitting, by the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers store the received sub-data to a pre- Set on the storage device.
  12. 根据权利要求11所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 11, wherein said processor further performs the following steps when said computer readable instructions are executed:
    向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;及Sending a storage space creation request to the first server in the server set, the storage space creation request carrying a target storage space identifier, so that the first server creates a target on the storage device according to the target storage space identifier Storing a space and associating the target storage space identifier with the target storage space; and
    所述处理器所执行的所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上包括:Transmitting, by the processor, the data transmission request to the corresponding target server by using the respective data transmission channels, where the data transmission request carries one or more of the sub-data, so that the respective target servers will The storing of the sub data to a preset storage device includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries the target storage space identifier and one or more of the sub-data, so that the target server is configured according to the target The storage space identifier stores the received sub-data onto the target storage space.
  13. 根据权利要求11或12所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:A computer apparatus according to claim 11 or 12, wherein said processor further performs the following steps when said computer readable instructions are executed:
    根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;Allocating a sub-data identifier to the sub-data according to the location of the target data according to the sub-data;
    所述处理器所执行的所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上包括:Transmitting, by the processor, the data transmission request to the corresponding target server by using the respective data transmission channels, where the data transmission request carries one or more of the sub-data, so that the respective target servers will The receiving the received sub-data to the preset storage device includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;及Sending, by the respective data transmission channels, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the sub-data and the sub-data identifier corresponding to the carried sub-data, so that the respective The target server stores the sub data on a preset storage device; and
    所述处理器执行所述计算机可读指令时还执行以下步骤:The processor also performs the following steps when executing the computer readable instructions:
    向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。Sending a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain the target data.
  14. 根据权利要求13所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 13, wherein said processor further performs the following steps when said computer readable instructions are executed:
    当所述目标数据传输完成后,获取所述目标数据对应的校验信息;及After the target data transmission is completed, acquiring verification information corresponding to the target data; and
    将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。Sending the verification information to a third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result. The verification result includes a verification success or a verification failure.
  15. 根据权利要求14所述的计算机设备,其特征在于,所述处理器所执行的所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:The computer device according to claim 14, wherein said executing by said processor transmits a data merge request to said second server to cause said second server to identify said The sub-data on the storage device is merged to obtain the target sub-data including:
    当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。When the verification result includes the verification success, sending a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain a Target data.
  16. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause the one or more processors to perform the following steps:
    获取需要传输的目标数据;Obtain target data that needs to be transferred;
    将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;Splitting the target data into k sub-data to be transmitted, where k is an integer greater than one;
    分别与服务器集合中的N个目标服务器建立数据传输通道,所述N为大于1的整数;及Establishing a data transmission channel with N target servers in the server set, where N is an integer greater than 1;
    通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。Transmitting, by the data transmission channel, a data transmission request to a corresponding target server, where the data transmission request carries one or more of the sub-data, so that the respective target servers store the received sub-data to a pre- Set on the storage device.
  17. 根据权利要求16所述的存储介质,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The storage medium of claim 16, wherein the processor further performs the following steps when the computer readable instructions are executed:
    向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;及Sending a storage space creation request to the first server in the server set, the storage space creation request carrying a target storage space identifier, so that the first server creates a target on the storage device according to the target storage space identifier Storing a space and associating the target storage space identifier with the target storage space; and
    所述处理器所执行的所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上包括:Transmitting, by the processor, the data transmission request to the corresponding target server by using the respective data transmission channels, where the data transmission request carries one or more of the sub-data, so that the respective target servers will The storing of the sub data to a preset storage device includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。Transmitting, by the respective data transmission channels, a data transmission request to a corresponding target server, where the data transmission request carries the target storage space identifier and one or more of the sub-data, so that the target server is configured according to the target The storage space identifier stores the received sub-data onto the target storage space.
  18. 根据权利要求16或17所述的存储介质,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:A storage medium according to claim 16 or 17, wherein said processor further performs the following steps when said computer readable instructions are executed:
    根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;Allocating a sub-data identifier to the sub-data according to the location of the target data according to the sub-data;
    所述处理器所执行的所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到 的所述子数据存储到预设的存储设备上包括:Transmitting, by the processor, the data transmission request to the corresponding target server by using the respective data transmission channels, where the data transmission request carries one or more of the sub-data, so that the respective target servers will The receiving the received sub-data to the preset storage device includes:
    通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;及Sending, by the respective data transmission channels, a data transmission request to the corresponding target server, where the data transmission request carries one or more of the sub-data and the sub-data identifier corresponding to the carried sub-data, so that the respective The target server stores the sub data on a preset storage device; and
    所述处理器执行所述计算机可读指令时还执行以下步骤:The processor also performs the following steps when executing the computer readable instructions:
    向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。Sending a data merge request to the second server in the server set, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain the target data.
  19. 根据权利要求18所述的存储介质,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The storage medium of claim 18, wherein the processor further performs the following steps when the computer readable instructions are executed:
    当所述目标数据传输完成后,获取所述目标数据对应的校验信息;及After the target data transmission is completed, acquiring verification information corresponding to the target data; and
    将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。Sending the verification information to a third server in the server set, so that the third server performs verification on the sub-data on the storage device according to the verification information, and returns a verification result. The verification result includes a verification success or a verification failure.
  20. 根据权利要求19所述的存储介质,其特征在于,所述处理器所执行的所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:The storage medium of claim 19, wherein the processor performs a data merge request to the second server to cause the second server to identify the The sub-data on the storage device is merged to obtain the target sub-data including:
    当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。When the verification result includes the verification success, sending a data merge request to the second server, so that the second server merges the sub-data on the storage device according to the sub-data identifier to obtain a Target data.
PCT/CN2018/077154 2017-10-16 2018-02-24 Data transmission method and apparatus, computer device, and storage medium WO2019075978A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710961896.3 2017-10-16
CN201710961896.3A CN107819828B (en) 2017-10-16 2017-10-16 Data transmission method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2019075978A1 true WO2019075978A1 (en) 2019-04-25

Family

ID=61608025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/077154 WO2019075978A1 (en) 2017-10-16 2018-02-24 Data transmission method and apparatus, computer device, and storage medium

Country Status (2)

Country Link
CN (1) CN107819828B (en)
WO (1) WO2019075978A1 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597552A (en) * 2019-09-04 2019-12-20 浙江大搜车软件技术有限公司 Configuration method, device and equipment of project continuous integration pipeline and storage medium
CN110831010A (en) * 2019-10-21 2020-02-21 上海鹄恩信息科技有限公司 Multichannel data sending and receiving method and device and data transmission system
CN111049751A (en) * 2019-12-10 2020-04-21 平安国际智慧城市科技股份有限公司 Data transmission optimization method, device, equipment and readable storage medium
CN111241172A (en) * 2019-12-26 2020-06-05 北京航天测控技术有限公司 Data storage method, device, terminal and computer readable medium
CN111338778A (en) * 2020-02-27 2020-06-26 苏宁云计算有限公司 Task scheduling method and device, storage medium and computer equipment
CN111510493A (en) * 2020-04-15 2020-08-07 中国工商银行股份有限公司 Distributed data transmission method and device
CN111597272A (en) * 2020-05-26 2020-08-28 广州迈安信息科技有限公司 Method and device for storing engineering cost data, data server and storage medium
CN111611066A (en) * 2020-06-30 2020-09-01 平安银行股份有限公司 Task execution method, task execution server, and storage medium
CN111708557A (en) * 2020-05-26 2020-09-25 北京金山云网络技术有限公司 Method, device and storage medium for updating configuration file
CN111882373A (en) * 2020-03-13 2020-11-03 苏宁云计算有限公司 Data operation method and device, computer equipment and storage medium
CN111973983A (en) * 2020-08-27 2020-11-24 网易(杭州)网络有限公司 Game data transmission method and device, electronic equipment and storage medium
CN112653706A (en) * 2020-12-29 2021-04-13 杭州趣链科技有限公司 Data transmission method, device and system based on Chinese remainder theorem
CN112733371A (en) * 2021-01-14 2021-04-30 国网上海市电力公司 Electric power internet of things terminal modeling method, device, equipment and storage medium
CN112862451A (en) * 2021-03-02 2021-05-28 岭东核电有限公司 Work order processing method and device, computer equipment and storage medium
CN112866029A (en) * 2021-02-03 2021-05-28 树根互联股份有限公司 Log data processing method and device based on cloud platform and server side equipment
CN113518131A (en) * 2020-04-09 2021-10-19 奇安信安全技术(珠海)有限公司 Fault-tolerant processing method, device and system for transmission data of network abnormity
CN113972990A (en) * 2020-07-06 2022-01-25 宇龙计算机通信科技(深圳)有限公司 Data verification method and device, storage medium and electronic equipment
CN114817776A (en) * 2022-05-17 2022-07-29 中国南方电网有限责任公司超高压输电公司检修试验中心 Electric energy meter checking method, device, equipment, storage medium and program product
CN115001958A (en) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 Data transmission method, server in-band device and server management device
CN115102943A (en) * 2021-09-03 2022-09-23 南方电网深圳数字电网研究院有限公司 Data trans-regional transmission method and device based on multiple channels
CN115396529A (en) * 2022-08-25 2022-11-25 深圳市元征科技股份有限公司 Multichannel communication method, device, terminal equipment and storage medium
CN115577206A (en) * 2022-12-06 2023-01-06 广东新禾道信息科技有限公司 House transaction web tag data processing method and system based on Internet
CN115865929A (en) * 2023-02-15 2023-03-28 珠海大横琴泛旅游发展有限公司 Equipment safety management method, device and equipment based on Internet of things

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658542B (en) * 2018-11-16 2021-10-22 深圳市元征科技股份有限公司 Diagnostic parameter data verification method, diagnostic parameter data verification device, vehicle diagnostic equipment and storage medium
CN110351100A (en) * 2019-05-31 2019-10-18 平安科技(深圳)有限公司 Data transmission method, device, computer equipment and computer readable storage medium
CN110300188B (en) * 2019-07-25 2022-03-22 中国工商银行股份有限公司 Data transmission system, method and device
CN112711436B (en) * 2019-10-25 2023-09-26 北京奇艺世纪科技有限公司 Message processing method and device
CN112751772B (en) * 2019-10-31 2023-01-24 上海哔哩哔哩科技有限公司 Data transmission method and system
CN111131450B (en) * 2019-12-23 2022-06-21 北京奇艺世纪科技有限公司 File uploading method, file recombining method and file recombining device
CN111542063A (en) * 2020-04-28 2020-08-14 张鹏程 Communication device and method
CN111885142A (en) * 2020-07-20 2020-11-03 广东电网有限责任公司 Power information system and power information management method
CN112153149B (en) * 2020-09-27 2022-11-11 苏州浪潮智能科技有限公司 Server connection method, system, electronic equipment and storage medium
CN112947864B (en) * 2021-03-29 2024-03-08 南方电网数字平台科技(广东)有限公司 Metadata storage method, apparatus, device and storage medium
CN113300976B (en) * 2021-05-20 2022-12-27 北京字跳网络技术有限公司 Data transmission method and device, storage medium and electronic equipment
CN113556618B (en) * 2021-07-20 2023-03-24 北京奇艺世纪科技有限公司 Data transmission method and device
CN113885802A (en) * 2021-09-30 2022-01-04 杭州贝嘟科技有限公司 Data transmission method, device, electronic device and storage medium
CN115361455B (en) * 2022-08-22 2024-01-23 中能融合智慧科技有限公司 Data transmission storage method and device and computer equipment
CN116743752A (en) * 2023-08-11 2023-09-12 山东恒宇电子有限公司 System for realizing data processing load balance by distributed network communication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0695062A2 (en) * 1994-07-25 1996-01-31 Microsoft Corporation Method and system for combining data from multiple servers
CN103312825A (en) * 2013-07-10 2013-09-18 中国人民解放军国防科学技术大学 Method and device for data distribution and storage
CN103369042A (en) * 2013-07-10 2013-10-23 中国人民解放军国防科学技术大学 Data processing method and data processing device
CN106817381A (en) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 Data processing method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262626B (en) * 2010-05-24 2013-08-07 阿里巴巴集团控股有限公司 Method and device for storing data in database
CN106649385B (en) * 2015-11-02 2019-12-03 北京国双科技有限公司 Data reordering method and device based on HBase database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0695062A2 (en) * 1994-07-25 1996-01-31 Microsoft Corporation Method and system for combining data from multiple servers
CN103312825A (en) * 2013-07-10 2013-09-18 中国人民解放军国防科学技术大学 Method and device for data distribution and storage
CN103369042A (en) * 2013-07-10 2013-10-23 中国人民解放军国防科学技术大学 Data processing method and data processing device
CN106817381A (en) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 Data processing method and device

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597552B (en) * 2019-09-04 2023-08-18 浙江大搜车软件技术有限公司 Configuration method, device, equipment and storage medium of project continuous integrated pipeline
CN110597552A (en) * 2019-09-04 2019-12-20 浙江大搜车软件技术有限公司 Configuration method, device and equipment of project continuous integration pipeline and storage medium
CN110831010A (en) * 2019-10-21 2020-02-21 上海鹄恩信息科技有限公司 Multichannel data sending and receiving method and device and data transmission system
CN110831010B (en) * 2019-10-21 2024-04-16 上海鹄恩信息科技有限公司 Multichannel data sending and receiving method and device and data transmission system
CN111049751B (en) * 2019-12-10 2022-12-13 深圳赛安特技术服务有限公司 Data transmission optimization method, device, equipment and readable storage medium
CN111049751A (en) * 2019-12-10 2020-04-21 平安国际智慧城市科技股份有限公司 Data transmission optimization method, device, equipment and readable storage medium
CN111241172A (en) * 2019-12-26 2020-06-05 北京航天测控技术有限公司 Data storage method, device, terminal and computer readable medium
CN111241172B (en) * 2019-12-26 2023-05-26 北京航天测控技术有限公司 Data storage method, device, terminal and computer readable medium
CN111338778A (en) * 2020-02-27 2020-06-26 苏宁云计算有限公司 Task scheduling method and device, storage medium and computer equipment
CN111338778B (en) * 2020-02-27 2022-12-23 苏宁云计算有限公司 Task scheduling method and device, storage medium and computer equipment
CN111882373A (en) * 2020-03-13 2020-11-03 苏宁云计算有限公司 Data operation method and device, computer equipment and storage medium
CN111882373B (en) * 2020-03-13 2022-12-16 苏宁云计算有限公司 Data operation method and device, computer equipment and storage medium
CN113518131B (en) * 2020-04-09 2023-06-23 奇安信安全技术(珠海)有限公司 Fault-tolerant processing method, device and system for transmission data of network abnormality
CN113518131A (en) * 2020-04-09 2021-10-19 奇安信安全技术(珠海)有限公司 Fault-tolerant processing method, device and system for transmission data of network abnormity
CN111510493A (en) * 2020-04-15 2020-08-07 中国工商银行股份有限公司 Distributed data transmission method and device
CN111510493B (en) * 2020-04-15 2023-09-26 中国工商银行股份有限公司 Distributed data transmission method and device
CN111597272A (en) * 2020-05-26 2020-08-28 广州迈安信息科技有限公司 Method and device for storing engineering cost data, data server and storage medium
CN111708557A (en) * 2020-05-26 2020-09-25 北京金山云网络技术有限公司 Method, device and storage medium for updating configuration file
CN111708557B (en) * 2020-05-26 2024-01-26 北京金山云网络技术有限公司 Method, device and storage medium for updating configuration file
CN111597272B (en) * 2020-05-26 2023-10-27 广州迈安信息科技有限公司 Method and device for storing engineering cost data, data server and storage medium
CN111611066A (en) * 2020-06-30 2020-09-01 平安银行股份有限公司 Task execution method, task execution server, and storage medium
CN113972990A (en) * 2020-07-06 2022-01-25 宇龙计算机通信科技(深圳)有限公司 Data verification method and device, storage medium and electronic equipment
CN113972990B (en) * 2020-07-06 2024-04-16 宇龙计算机通信科技(深圳)有限公司 Data verification method and device, storage medium and electronic equipment
CN111973983A (en) * 2020-08-27 2020-11-24 网易(杭州)网络有限公司 Game data transmission method and device, electronic equipment and storage medium
CN112653706A (en) * 2020-12-29 2021-04-13 杭州趣链科技有限公司 Data transmission method, device and system based on Chinese remainder theorem
CN112733371A (en) * 2021-01-14 2021-04-30 国网上海市电力公司 Electric power internet of things terminal modeling method, device, equipment and storage medium
CN112866029A (en) * 2021-02-03 2021-05-28 树根互联股份有限公司 Log data processing method and device based on cloud platform and server side equipment
CN112866029B (en) * 2021-02-03 2023-09-29 树根互联股份有限公司 Log data processing method and device based on cloud platform and server device
CN112862451A (en) * 2021-03-02 2021-05-28 岭东核电有限公司 Work order processing method and device, computer equipment and storage medium
CN115102943A (en) * 2021-09-03 2022-09-23 南方电网深圳数字电网研究院有限公司 Data trans-regional transmission method and device based on multiple channels
CN115102943B (en) * 2021-09-03 2024-04-05 南方电网数字平台科技(广东)有限公司 Multi-channel-based data trans-regional transmission method and device
CN114817776A (en) * 2022-05-17 2022-07-29 中国南方电网有限责任公司超高压输电公司检修试验中心 Electric energy meter checking method, device, equipment, storage medium and program product
CN115001958A (en) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 Data transmission method, server in-band device and server management device
CN115396529A (en) * 2022-08-25 2022-11-25 深圳市元征科技股份有限公司 Multichannel communication method, device, terminal equipment and storage medium
CN115577206A (en) * 2022-12-06 2023-01-06 广东新禾道信息科技有限公司 House transaction web tag data processing method and system based on Internet
CN115865929B (en) * 2023-02-15 2023-04-25 珠海大横琴泛旅游发展有限公司 Equipment security management method, device and equipment based on Internet of things
CN115865929A (en) * 2023-02-15 2023-03-28 珠海大横琴泛旅游发展有限公司 Equipment safety management method, device and equipment based on Internet of things

Also Published As

Publication number Publication date
CN107819828B (en) 2020-03-10
CN107819828A (en) 2018-03-20

Similar Documents

Publication Publication Date Title
WO2019075978A1 (en) Data transmission method and apparatus, computer device, and storage medium
US11501533B2 (en) Media authentication using distributed ledger
CN110727499B (en) Method, device, computer equipment and storage medium for acquiring resource data
US11727006B2 (en) Systems and methods for secure file management via an aggregation of cloud storage services
US11558450B2 (en) Systems and methods for aggregation of cloud storage
US20210027289A1 (en) Asset transaction method, storage medium, and computer device
US10264072B2 (en) Systems and methods for processing-based file distribution in an aggregation of cloud storage services
CN107294729B (en) Communication method and device between different nodes in block chain
US20190306240A1 (en) Systems and methods for third-party policy-based file distribution in an aggregation of cloud storage services
WO2019095577A1 (en) Method and device for processing data request, computer apparatus, and storage medium
US10116629B2 (en) Systems and methods for obfuscation of data via an aggregation of cloud storage services
US11100094B2 (en) Taking snapshots of blockchain data
WO2017088705A1 (en) Data processing method and device
KR102430135B1 (en) Dynamic blockchain data storage based on error correction codes
US9420070B2 (en) Streaming zip
CN110389859B (en) Method, apparatus and computer program product for copying data blocks
US11194792B2 (en) Taking snapshots of blockchain data
CN111339551B (en) Data verification method and related device and equipment
CN113395340A (en) Information updating method, device, equipment, system and readable storage medium
CN112866406A (en) Data storage method, system, device, equipment and storage medium
CN110597820A (en) Block chain based information processing method and device, storage medium and equipment
CN111835871A (en) Method and device for transmitting data file and method and device for receiving data file
EP3349416A1 (en) Relationship chain processing method and system, and storage medium
CN111327680A (en) Authentication data synchronization method, device, system, computer equipment and storage medium
CN115129779A (en) Database synchronization method, device and readable medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18867821

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25/09/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18867821

Country of ref document: EP

Kind code of ref document: A1