A kind of data uploading method, equipment, system and medium
Technical field
The present invention relates to cloud storage fields, more particularly to a kind of data uploading method, equipment, system and medium.
Background technique
With the arrival of big data era, data itself have higher and higher value, therefore user is for data safety
Requirement be continuously increased, since the device node quantity of user itself is single, only stored by the device node of user itself
Data are difficult to ensure data storage security, and in this context, cloud storage technology is come into being.
Cloud storage will be largely taken in network by modes such as cluster application, network technology or distributed file systems
Device equipment of being engaged in controls it and cooperates externally to provide the skill of data storage and business access function jointly as memory node
Art.File data is uploaded in cloud storage service device by user using the equipment of itself as user node, is realized with this by mutual
The purpose of more memory nodes distribution storage file data in networking, and then the safety for ensuring to store file data.?
It, will be by often by random manner selecting file data when uploading file data under present case by way of cloud storage
The target storage node being uploaded to, but the memory node substantial amounts due to constituting cloud storage service, between memory node
Network condition is relative complex, therefore the network state between the target storage node and user node randomly selected is difficult to be protected
Card, and then may cause the connection between target storage node and user node and take a long time, and the whole of file data passes
Defeated efficiency is lower.
It can be seen that providing a kind of data uploading method, connected when accessing cloud storage service with opposite reduction user node
Time overhead needed for memory node, and the opposite transfer efficiency on the whole for improving file data, be those skilled in the art urgently
It solves the problems, such as.
Summary of the invention
The object of the present invention is to provide a kind of data uploading methods, when accessing cloud storage service with opposite reduction user node
Time overhead needed for connecting memory node, and the opposite transfer efficiency on the whole for improving file data.
In order to solve the above technical problems, the present invention provides a kind of data uploading method, it is applied to user node, the method
Include:
Acquisition of information instruction is initiated to dispatch server, and receives the section for the target storage node being passed to by dispatch server
Point attribute information;Wherein, target storage node is the node in cloud storage service, and belongs to identical ISP with user node;
According to node attribute information communication connection corresponding with the foundation of each target storage node;
Fragment coding is carried out to obtain coding file to source file by pre-arranged code function, and will by each communication connection
Coding file is uploaded to corresponding target storage node.
Preferably, target storage node belongs to identical ISP with user node and includes:
Target storage node and user node belong to identical ISP, and belong to the IP address of user node identical
Domain.
Preferably, the content of node attribute information includes:
Network type, outer net mapping status, NAT type and the P2P history penetrance of target storage node;
Correspondingly, including: according to node attribute information communication connection corresponding with the foundation of each target storage node
The content of node attribute information is determined, when the network type of target storage node is outer net type or outer net
When mapping status is mapping success status, is then established and communicated to connect by TCP direct-connected mode and target storage node;
When the network type of the direct-connected failure of TCP or target storage node be Intranet type, and outer net mapping status be mapping
When status of fail, judge whether the NAT type of target storage node and P2P history penetrance meet preset condition;
It is communicated to connect if it is, being established in such a way that P2P is penetrated with target storage node;
Otherwise, it establishes and communicates to connect with target storage node in such a way that TCP is forwarded.
Preferably, preset condition includes:
The NAT type of user node and the NAT type of target storage node it is non-be symmetry NAT type, and P2P history
Penetrance is greater than preset value.
Preferably, before carrying out fragment coding to source file by pre-arranged code function to obtain coding file, method
Further include:
The standby node attribute information for the slack storage node being passed to by dispatch server is received, and according to standby node category
Property information and each slack storage node establish corresponding spare communication and connect;Wherein, slack storage node is by the side that randomly selects
Formula obtains in cloud storage service, and non-targeted memory node.
Correspondingly, after carrying out fragment coding to source file by pre-arranged code function to obtain coding file, method
Further include:
Coding file is uploaded to corresponding slack storage node by spare communication connection.
Preferably, after coding file is uploaded to corresponding target storage node by each communication connection, method is also
Include:
When the quantity for uploading successfully coding file reaches defined threshold, the waiting of preset duration is carried out;
If encoding the constant number of file in preset duration, then disconnects and do not upload between successful target storage node
Communication connection.
Preferably, the value of preset duration includes:
Successful target storage node is not uploaded reach being averaged for completion status estimate duration.
Preferably, carrying out fragment coding to source file by pre-arranged code function to obtain coding file includes:
Fragment coding is carried out to obtain coding file to source file by fountain coding function.
In addition, equipment includes memory, processor and bus, memory the present invention also provides a kind of user node equipment
On be stored with the data upload program that can be run on a processor, data upload program is obtained and is executed by processor by bus
For example above-mentioned data uploading method applied to user node of Shi Shixian.
In addition, the present invention also provides a kind of data uploading system, system includes:
User node for initiating acquisition of information instruction to dispatch server, and receives the mesh being passed to by dispatch server
Mark the node attribute information of memory node;Wherein, target storage node be cloud storage service in node, and with user node category
In identical ISP;According to node attribute information communication connection corresponding with the foundation of each target storage node;Pass through pre-arranged code letter
Several pairs of source files carry out fragment coding to obtain coding file, and coding file are uploaded to corresponding mesh by each communication connection
Mark memory node;
Dispatch server, for receiving the acquisition of information instruction being passed to by user node, and in preset node relationships table
Middle selection belongs to the target storage node of identical ISP with user node;The node attribute information of target storage node is obtained, and will
Node attribute information is back to user node.
In addition, being stored with number on computer readable storage medium the present invention also provides a kind of computer readable storage medium
According to upload program, data upload program can be executed by one or more processor, to realize such as above-mentioned data uploading method.
Data uploading method provided by the present invention is initiated acquisition of information to dispatch server by user node first and is referred to
It enables, and then is obtained by dispatch server and return to the target for belonging to identical ISP (Internet Service Provider) with user node and deposited
The node attribute information of node is stored up, and then user node establishes phase with each target storage node according to the content of node attribute information
The communication connection answered, and then source file fragment is encoded to coding file, and corresponding target is uploaded to by each communication connection
Memory node is realized with this and source file is distributed upload and is stored to the purpose of cloud storage service.This method is taken by scheduling
Business device sends the node category for belonging to the target storage node of identical Internet Service Provider with the user node to user node
Property information, and then establish the communication connection of user node and target storage node, and carry out data upload, due to belong to it is identical mutually
Can have relatively higher connection speed and data transmission efficiency, therefore this method between the node of the Internet services provider
When opposite can reduce user node access cloud storage service, time overhead needed for connecting memory node, and can be opposite
Improve the transfer efficiency on the whole of file data.In addition, the present invention also provides a kind of data uploading device, system and medium, it is beneficial
Effect is same as above.
Detailed description of the invention
In order to illustrate the embodiments of the present invention more clearly, attached drawing needed in the embodiment will be done simply below
It introduces, it should be apparent that, drawings in the following description are only some embodiments of the invention, for ordinary skill people
For member, without creative efforts, it is also possible to obtain other drawings based on these drawings.
Fig. 1 is a kind of flow chart of the data uploading method applied to user node provided in an embodiment of the present invention;
Fig. 2 is the process of another data uploading method for being applied to user node provided in an embodiment of the present invention;
Fig. 3 is a kind of flow chart of the data uploading method applied to dispatch server provided in an embodiment of the present invention;
Fig. 4 is a kind of structure chart of user node equipment provided in an embodiment of the present invention;
Fig. 5 is a kind of schematic diagram of data uploading system provided in an embodiment of the present invention.
Specific embodiment
In order to make the objectives, technical solutions, and advantages of the present invention clearer, with reference to the accompanying drawings and embodiments, right
The present invention is further elaborated.It should be appreciated that described herein, specific examples are only used to explain the present invention, not
For limiting the present invention.Based on the embodiments of the present invention, those of ordinary skill in the art are not before making creative work
Every other embodiment obtained is put, shall fall within the protection scope of the present invention.
The description and claims of this application and term " first ", " second ", " third ", " in above-mentioned attached drawing
The (if present)s such as four " are to be used to distinguish similar objects, without being used to describe a particular order or precedence order.It should manage
The data that solution uses in this way are interchangeable under appropriate circumstances, so that the embodiments described herein can be in addition to illustrating herein
Or the sequence other than the content of description is implemented.In addition, term " includes " and " having " and their any deformation, it is intended that
Cover it is non-exclusive include, for example, containing the process, method, system, product or equipment of a series of steps or units need not limit
In step or unit those of is clearly listed, but may include be not clearly listed or for these process, methods, produce
The other step or units of product or equipment inherently.
It should be noted that the description for being related to " first ", " second " etc. in the present invention is used for description purposes only, and cannot
It is interpreted as its relative importance of indication or suggestion or implicitly indicates the quantity of indicated technical characteristic.Define as a result, " the
One ", the feature of " second " can explicitly or implicitly include at least one of the features.In addition, the skill between each embodiment
Art scheme can be combined with each other, but must be based on can be realized by those of ordinary skill in the art, when technical solution
Will be understood that the combination of this technical solution is not present in conjunction with there is conflicting or cannot achieve when, also not the present invention claims
Protection scope within.
Embodiment one
The present invention provides a kind of data uploading method applied to user node.
Referring to Fig.1, Fig. 1 is a kind of process of the data uploading method applied to user node provided in an embodiment of the present invention
Figure.
In example 1, this method comprises:
Step S10: acquisition of information instruction is initiated to dispatch server, and receives and is stored by the target that dispatch server is passed to
The node attribute information of node.
Wherein, target storage node is the node in cloud storage service, and belongs to identical ISP with user node.
It should be noted that the premise that this step can be executed smoothly has been built between dispatch server and user node
It is vertical to have communication connection, and being capable of normal communication.The executing subject of this step is user node, i.e. the promoter of data upload,
It is by initiating acquisition of information instruction to dispatch server to inform that dispatch server is provided for carrying out user data storage
Memory node, and then after dispatch server receives acquisition of information instruction provides to user node and belongs to identical ISP with it and (interconnect
Net service provider) the corresponding node attribute information of target storage node, it is emphasized that, the final purpose of this method is
The data distribution formula of user node is stored into the memory node in cloud, in order to ensure the controllability of data storage and reliable
Property, the target storage node in this method should belong to the same cloud storage service, that is to say, that target storage node should be common
Support the operation of the same cloud storage service.On this basis, each target storage node can be by cloud storage service
Be uniformly controlled and manage, so guarantee user data be uploaded to target storage node after, cloud can be passed through in subsequent operation
Storage service normally gets the data in target storage node.In this step, target storage node is phase with user node
Same Internet Service Provider, allows for the mechanism communicated between the node of identical Internet Service Provider with respect to one
It causes, does adaptability rough set theory without the difference when node is attached or is communicated according to Internet Service Provider, reduce
Additional time overhead.
Step S11: according to node attribute information communication connection corresponding with the foundation of each target storage node.
This step is the particular content for the node attribute information being passed to according to dispatch server, in user node and each mesh
Suitable communication connection is established between mark memory node, it is therefore an objective to ensure each communication link as far as possible according to node attribute information
The reliability connect.
Step S12: fragment coding is carried out to source file to obtain coding file by pre-arranged code function, and by each logical
Coding file is uploaded to corresponding target storage node by letter connection.
Pre-arranged code function in this step is used to carry out fragment coded treatment to the source file that user needs to upload, herein
Fragment coding refer to source file be divided into data slot, and by preset coding mode to each data slot
Coded treatment is carried out, the coding file obtain after fragment coding often has certain redundancy, avoids to go out with this
Now coding file is lost or damages and influence the case where source file normally restores, therefore the coding quantity of documents after coding is often big
In the quantity of data slot.Pre-arranged code function can be realized the function encoded with corresponding coding mode to source file
Can, source file can specifically be handled in a manner of specifically using RS coding, the data after encoding in RS code generally include to count
It is believed that breath and control information, and information is not to be handled with bit, but form one with numerical digit bit in RS code
Sign bit in code is handled, and compared with traditional array code, can restore more numbers in the case where smaller redundancy
According to;Source file can also be handled by the way of LDPC coding, mainly use sparse matrix, and only use different
Or operation, achieve the purpose that exchange the lower encoding and decoding time for small decoding crash rate with this.Fragment is carried out in this step
Pre-arranged code function used by encoding can above are only user's root depending on actual coding demand of the user to source file
A part of coding mode that can be chosen according to demand, it is not limited to this.
After coding obtains coding file, coding file is stored in target storage node in a distributed manner, for equilibrium
The storage pressure of each target storage node, improves transfer efficiency in whole data, can will coding file mean allocation to each
In a target storage node.When the overall quantity of target storage node is greater than or equal to the quantity of coding file, target storage
A coding file can be only stored in node, the storage overhead for each target storage node that is averaged to the greatest extent with this.
Data uploading method provided by the present invention is initiated acquisition of information to dispatch server by user node first and is referred to
It enables, and then is obtained by dispatch server and return to the target for belonging to identical ISP (Internet Service Provider) with user node and deposited
The node attribute information of node is stored up, and then user node establishes phase with each target storage node according to the content of node attribute information
The communication connection answered, and then source file fragment is encoded to coding file, and corresponding target is uploaded to by each communication connection
Memory node is realized with this and source file is distributed upload and is stored to the purpose of cloud storage service.This method is taken by scheduling
Business device sends the node category for belonging to the target storage node of identical Internet Service Provider with the user node to user node
Property information, and then establish the communication connection of user node and target storage node, and carry out data upload, due to belong to it is identical mutually
Can have relatively higher connection speed and data transmission efficiency, therefore this method between the node of the Internet services provider
When opposite can reduce user node access cloud storage service, time overhead needed for connecting memory node, and can be opposite
Improve the transfer efficiency on the whole of file data.
Embodiment two
On the basis of the above embodiments, the present invention also provides a series of preferred embodiments.
As a preferred embodiment, target storage node belongs to identical ISP with user node includes:
Target storage node and user node belong to identical ISP, and belong to the IP address of user node identical
Domain.
It should be noted that due to consideration that the data-signal of communications is often with euclidean distance between node pair between node
Increase and decay, and then may cause loss of the data in transmission process and transmit again, efficiency of transmission is difficult to be protected.
" region " in present embodiment is the geographic area that Internet Service Provider divides in advance, due in identical geographic area
Interior, the intensive of network base station is higher, therefore the data signal quality of the inter-node communication transmission in identical region is higher, this reality
Mode is applied on the basis of target storage node and user node belong to identical ISP, limits target storage node and user node
The node under a region is belonged to, reduces the distance between user node and target storage node in contrast, improves user's section
Data transmission efficiency between point and target storage node.
Referring to Fig. 2, Fig. 2 is the stream of another data uploading method for being applied to user node provided in an embodiment of the present invention
Cheng Tu.
Step S10 and step S12 are identical as Fig. 1 in Fig. 2, and details are not described herein.
As shown in Fig. 2, as a preferred embodiment, the content of node attribute information includes:
Network type, outer net mapping status, NAT type and the P2P history penetrance of target storage node.
It should be noted that the network type in node attribute information mainly includes Intranet type and outer net type, it is interior
It is in place of the difference of net type node and outer net type node, the node for belonging to Intranet type can not be by itself IP address
The access to outer net node is initiated, and the node for belonging to outer net type directly can access outer net section by the IP address of itself
Point;Outer net mapping status refers to that the IP address of Intranet can be mapped as the IP address of outer net by node itself, can be direct
Outer net node is accessed in a manner of outer net mapping, therefore the content of outer net mapping status is often " success " or " failure ";NAT class
Type is broadly divided into complete pyramid type NAT, address limitation pyramid type NAT, port limitation pyramid type NAT and symmetric NAT;P2P
History penetrance refers to that target storage node establishes the success rate of connection in such a way that P2P is penetrated with other nodes, and P2P is worn
Saturating essence is the direct transmission relationship established between node to data packet, can be avoided and forwards data packet institute band by router
The time overhead come.
Correspondingly, step S11 includes:
Step S20: determining the content of node attribute information, when the network type of target storage node is outer net class
When type or outer net mapping status are mapping success status, then communication link is established by TCP direct-connected mode and target storage node
It connects.
It should be noted that the network type for working as target storage node is outer net type or outer net mapping status is mapping
It, can be with although then illustrating that target storage node is in the node that outer net or target storage node are Intranet when success status
The node direct communication of outer net, in the case, the mode for taking TCP direct-connected directly establishes user node and target storage node
Between correspondence, the operation that NAT server carries out conversion and router addressing forwarding to address can be crossed, it is opposite to mention
The efficiency of height communication connection.
Step S21: when the network type of the direct-connected failure of TCP or target storage node be Intranet type, and outer net map shape
When state is mapping status of fail, judge whether the NAT type of target storage node and P2P history penetrance meet default item
Part, if so, thening follow the steps S22;Otherwise, step S23 is executed.
Step S22: it establishes and communicates to connect with target storage node in such a way that P2P is penetrated.
Step S23: it establishes and communicates to connect with target storage node in such a way that TCP is forwarded.
It should be noted that working as the network type of the direct-connected failure of TCP or target storage node for Intranet type, and outer net
When mapping status is mapping status of fail, illustrate that the TCP that can not directly establish between user node and target storage node is direct-connected,
In the case, in order to be mentioned on the basis of ensuring user node and target storage node can establish communication connection as far as possible
Height establishes the communication efficiency of communication connection, is further sentenced according to preset condition to NAT type and P2P history penetrance
It is fixed, and subsequent communications establishment of connection mode is determined according to whether the two meets preset condition.
If can satisfy preset condition, carries out P2P and penetrate, used by P2P herein penetrates namely this field
" TCP burrows ".For example, to realize the Direct Communication of user node A Yu target storage node B node, need follow the steps below:
Firstly, user node A connects the server S on internet first and sends a piece of news, to enable S just obtain A in internet
On the physical end outer net IP and port numbers of message (send);Then, target storage node B also carries out same step, and S is just
It is aware of A node and the terminal (" burrowing ") of B node on the internet;Then, S tells A node and B node other side to exist respectively
Real ip address and port on internet learn the practical IP of other side on the internet in A node and B node in turn
Behind address and port, then the TCP communication between A node and B node can be directly carried out, and then when transmitting data without warp
Router forwarding operation is crossed, data transmit-receive is only carried out between A node and B node, improves the efficiency of transmission of data.In addition, it
It burrows rather than UDP burrows so choosing TCP, allows for the communication based on Transmission Control Protocol, the integrality of data transmission and reliable
Property it is relatively high, suitable for user upload data when demand.
If NAT type and P2P history penetrance are unable to satisfy preset condition, the mode for taking TCP to forward passes through
The communications relationship that router addresses and forwards data packet to establish between user node and target storage node, with maximum journey
Degree ensures the communication feasibility between user node and target storage node.
Present embodiment establishes adaptation according to the content of node attribute information between user node and target storage node
Communication connection, with it is maximum improve communication connection efficiency.
On the basis of the above embodiment, as a preferred embodiment, preset condition includes:
The NAT type of user node and the NAT type of target storage node it is non-be symmetry NAT type, and P2P history
Penetrance is greater than preset value.
Due to consideration that when user node NAT type and target storage node NAT type it is non-be symmetry NAT class
When type, user node can establish connection by multiple port numbers with each target storage node respectively, and then user node is often
The case where will appear port collision, it is difficult to ensure P2P penetrates the reliability of rear data communication.In addition, passing through target storage node
P2P history penetrance can also learn and P2P is carried out to the target storage node whether penetrate being capable of feasibility with higher.
Therefore using above-mentioned two contents as determine whether to carry out the foundation that P2P penetrates opposite can improve choose target storage node and
The accuracy of connection type between user node.
In addition, as a preferred embodiment, by pre-arranged code function to source file carry out fragment coding with
Before obtaining coding file, method further include:
The standby node attribute information for the slack storage node being passed to by dispatch server is received, and according to standby node category
Property information and each slack storage node establish corresponding spare communication and connect;Wherein, slack storage node is by the side that randomly selects
Formula obtains in cloud storage service, and non-targeted memory node.
Correspondingly, after carrying out fragment coding to source file by pre-arranged code function to obtain coding file, method
Further include:
Coding file is uploaded to corresponding slack storage node by spare communication connection.
It should be noted that present embodiment is that user node is carrying out fragment volume to source file by pre-arranged code function
Before code is to obtain coding file, the standby node attribute information of slack storage node is obtained from dispatch server again, into
And the communication connection between slack storage node, the content of standby node attribute information are established according to standby node attribute information
Can with the node attribute information of reference target memory node, and spare communication establishment of connection can also with reference to user node with
What is communicated to connect between target storage node establishes mode.Standby node and target storage node are in identical cloud storage service device
Node, therefore, to assure that standby node and target storage node there is no it is Chong Die the case where, and standby node is random fashion
It chooses, therefore is not limited to the ISP of standby node and the region of IP address, in turn, passing through pre-arranged code function to source file
After fragment coding is carried out to obtain coding file, coding file is uploaded to by corresponding slack storage by spare communication connection
Node.Present embodiment it is considered that since the relevance between the memory node under identical ISP and region is close, because
This it is possible that group failure, and present embodiment is the slack storage node by randomly selecting, with user node
Can be not belonging to identical ISP and region, so by slack storage node storage coding file after, opposite can improve institute
Upload the anti-disaster ability of data, it is ensured that the safety of data.
In addition, as a preferred embodiment, coding file is uploaded to corresponding mesh by each communication connection
After marking memory node, method further include:
When the quantity for uploading successfully coding file reaches defined threshold, the waiting of preset duration is carried out;
If encoding the constant number of file in preset duration, then disconnects and do not upload between successful target storage node
Communication connection.
It is understood that when successfully coding quantity of documents reaches defined threshold for upload, then it is assumed that be uploaded to cloud and deposit
Coding file in storage service can completely be decoded as the source file of user, on this basis, present embodiment in order to
The disaster tolerance for further increasing coding file, continues the waiting of preset duration, if encoding the number of file in preset duration
It measures constant, then disconnects and do not upload the communication connection between successful target storage node, avoid generating Internet resources with this
Long occupancy.Preset duration in present embodiment can be not specifically limited herein depending on the overall performance of network.
On the basis of the above embodiment, as a preferred embodiment, the value of preset duration includes:
Successful target storage node is not uploaded reach being averaged for completion status estimate duration.
It should be noted that the successful target storage node that do not upload in present embodiment refers to not yet completing to volume
The received file destination node of code file, residual time length are not uploading data volume and being averaged by current each target storage node
Quotient's operation values between uploading speed, and then preset duration is the average value of each target storage node residual time length, it can with this
Preset duration is set according to transfer efficiency is relatively accurate in the data of overall goals memory node.
In addition, on the basis of a series of above-mentioned embodiments, as a preferred embodiment, passing through pre-arranged code
Function carries out fragment coding to source file to obtain coding file
Fragment coding is carried out to obtain coding file to source file by fountain coding function.
It should be noted that fountain coding has relatively simple coding and decoding logic, therefore lower decoding can be generated
Expense and encoding and decoding complexity, and then improve code efficiency.
Embodiment three
The present invention also provides a kind of data uploading methods applied to dispatch server.
It is a kind of stream of the data uploading method applied to dispatch server provided in an embodiment of the present invention referring to Fig. 3, Fig. 3
Cheng Tu.
In the third embodiment, this method comprises:
Step S30: receiving the acquisition of information being passed to by user node and instruct, and choose in preset node relationships table with
User node belongs to the target storage node of identical ISP.
It should be noted that being preset with node relationships table in dispatch server, what is recorded in node relationships table is each
Memory node and its corresponding ISP.This step is after dispatch server receives acquisition of information instruction, according to user node
ISP choose and its target storage node with identical ISP.
Step S31: the node attribute information of target storage node is obtained, and node attribute information is back to user's section
Point.
After choosing target storage node, node attribute information corresponding to target storage node is obtained, and by node category
Property information be back to user node, with this by user node to the analysis foundation of node attribute information and target storage node it
Between communication connection, and then complete data upload operation.
Data uploading method provided by the present invention is initiated acquisition of information to dispatch server by user node first and is referred to
It enables, and then is obtained by dispatch server and return to the target for belonging to identical ISP (Internet Service Provider) with user node and deposited
The node attribute information of node is stored up, and then user node establishes phase with each target storage node according to the content of node attribute information
The communication connection answered, and then source file fragment is encoded to coding file, and corresponding target is uploaded to by each communication connection
Memory node is realized with this and source file is distributed upload and is stored to the purpose of cloud storage service.This method is taken by scheduling
Business device sends the node category for belonging to the target storage node of identical Internet Service Provider with the user node to user node
Property information, and then establish the communication connection of user node and target storage node, and carry out data upload, due to belong to it is identical mutually
Can have relatively higher connection speed and data transmission efficiency, therefore this method between the node of the Internet services provider
When opposite can reduce user node access cloud storage service, time overhead needed for connecting memory node, and can be opposite
Improve the transfer efficiency on the whole of file data.
In addition, belonging to phase with user node as a preferred embodiment, choosing in preset node relationships table
Target storage node with ISP includes:
It is chosen in node relationships table and belongs to identical ISP with user node and there is the target of IP address under identical region to deposit
Store up node.
It should be noted that due to consideration that the data-signal of communications is often with euclidean distance between node pair between node
Increase and decay, and then may cause loss of the data in transmission process and transmit again, efficiency of transmission is difficult to be protected.
" region " in present embodiment is the geographic area that Internet Service Provider divides in advance, due in identical geographic area
Interior, the intensive of network base station is higher, therefore the data signal quality of the inter-node communication transmission in identical region is higher, therefore
On the basis of record has each memory node and its corresponding ISP, also record has each node relationships table in present embodiment
Region belonging to the IP address of a memory node.Target storage node and user node belong to the node under a region, can
The distance between relative reduction user node and target storage node improve the data between user node and target storage node
Efficiency of transmission.
Example IV
Hereinbefore the embodiment of data uploading method is described in detail, the present invention also provides one kind and is somebody's turn to do
The corresponding user node equipment of method is set since the embodiment of environment division is corresponded to each other with the embodiment of method part
The embodiment of standby part refers to the description of the embodiment of method part, wouldn't repeat here.
Fig. 4 is a kind of structure chart of user node equipment provided in an embodiment of the present invention.
In the present embodiment, user node equipment 1 can be PC (Personal Computer, PC), can also be with
It is smart phone, tablet computer, palm PC, portable computer, intelligent router, mine machine, network storage equipment terminal device.
The equipment 1 can be the node of composition CDN network or block chain network.
The user node equipment 1 may include memory 11, processor 12 and bus 13.
Wherein, memory 11 include at least a type of readable storage medium storing program for executing, the readable storage medium storing program for executing include flash memory,
Hard disk, multimedia card, card-type memory (for example, SD or DX memory etc.), magnetic storage, disk, CD etc..Memory 11
It can be the internal storage unit of user node equipment 1, such as the hard disk of the user node equipment 1 in some embodiments.It deposits
Reservoir 11 is also possible in further embodiments on the External memory equipment of user node equipment 1, such as user node equipment 1
The plug-in type hard disk of outfit, intelligent memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD)
Card, flash card (Flash Card) etc..Further, memory 11 can also both include the storage inside of user node equipment 1
Unit also includes External memory equipment.Memory 11 can be not only used for the application software that storage is installed on user node equipment 1
And Various types of data, such as the code of data upload program etc., it can be also used for temporarily storing and exported or will export
Data.
Processor 12 can be in some embodiments a central processing unit (Central Processing Unit,
CPU), controller, microcontroller, microprocessor or other data processing chips, the program for being stored in run memory 11
Code or processing data, such as execute data upload program etc..
The bus 13 can be Peripheral Component Interconnect standard (peripheral component interconnect, abbreviation
PCI) bus or expanding the industrial standard structure (extended industry standard architecture, abbreviation EISA)
Bus etc..The bus can be divided into address bus, data/address bus, control bus etc..For convenient for indicating, in Fig. 4 only with one slightly
Line indicates, it is not intended that an only bus or a type of bus.
Further, user node equipment 1 can also include network interface, and network interface optionally may include wired connects
Mouth and/or wireless interface (such as WI-FI interface, blue tooth interface), commonly used in being built between the equipment 1 and other electronic equipments
Vertical communication connection.
Optionally, which can also include user interface, and user interface may include display (Display), input
Unit such as keyboard (Keyboard), optional user interface can also include standard wireline interface and wireless interface.It is optional
Ground, in some embodiments, display can be light-emitting diode display, liquid crystal display, touch-control liquid crystal display and OLED
(Organic Light-Emitting Diode, Organic Light Emitting Diode) touches device etc..Wherein, display can also be appropriate
Referred to as display screen or display unit, for being shown in the information handled in user node equipment 1 and for showing visually
User interface.
In addition, the present invention also provides a kind of dispatch server equipment corresponding with this method, due to the implementation of environment division
Example is corresponded to each other with the embodiment of method part, therefore the embodiment of environment division refers to retouching for the embodiment of method part
It states, wouldn't repeat here.
Dispatch server equipment includes memory, processor and bus, and be stored on memory to run on a processor
Data upload program, realized when data upload program is obtained and executed by processor by bus and be applied to dispatch as above-mentioned
The data uploading method of server.
Embodiment five
The present invention also provides a kind of data uploading systems.
It is a kind of schematic diagram of data uploading system provided in an embodiment of the present invention referring to Fig. 5, Fig. 5.
The data uploading system includes:
User node 20 for initiating acquisition of information instruction to dispatch server 21, and is received and is passed by dispatch server 21
The node attribute information of the target storage node 23 entered;Wherein, target storage node 23 is the node in cloud storage service, and with
User node 20 belongs to identical ISP;Corresponding communication connection is established with each target storage node 23 according to node attribute information;
Fragment coding is carried out to obtain coding file to source file by pre-arranged code function, and file will be encoded by each communication connection
It is uploaded to corresponding target storage node 23;
Dispatch server 21 is closed for receiving the acquisition of information instruction being passed to by user node 20, and in preset node
It is that the target storage node 23 for belonging to identical ISP with user node 20 is chosen in table;Obtain the node category of target storage node 23
Property information, and node attribute information is back to user node 20.
Data uploading system provided by the present invention is initiated acquisition of information to dispatch server by user node first and is referred to
It enables, and then is obtained by dispatch server and return to the target for belonging to identical ISP (Internet Service Provider) with user node and deposited
The node attribute information of node is stored up, and then user node establishes phase with each target storage node according to the content of node attribute information
The communication connection answered, and then source file fragment is encoded to coding file, and corresponding target is uploaded to by each communication connection
Memory node is realized with this and source file is distributed upload and is stored to the purpose of cloud storage service.This system is taken by scheduling
Business device sends the node category for belonging to the target storage node of identical Internet Service Provider with the user node to user node
Property information, and then establish the communication connection of user node and target storage node, and carry out data upload, due to belong to it is identical mutually
Can have relatively higher connection speed and data transmission efficiency, therefore this system between the node of the Internet services provider
When opposite can reduce user node access cloud storage service, time overhead needed for connecting memory node, and can be opposite
Improve the transfer efficiency on the whole of file data.
Embodiment six
The present invention also provides a kind of computer readable storage medium, data upload is stored on computer readable storage medium
Program, data upload program can be executed by one or more processor, to realize such as the above-mentioned number applied to user node
According to method for uploading and/or applied to the data uploading method of dispatch server.
Computer readable storage medium provided by the present invention initiates information to dispatch server by user node first
Acquisition instruction, and then obtained by dispatch server and returned and belong to identical ISP (Internet Service Provider) with user node
The node attribute information of target storage node, and then content and each target storage node of the user node according to node attribute information
Corresponding communication connection is established, and then source file fragment is encoded to coding file, and correspondence is uploaded to by each communication connection
Target storage node, with this realize by source file be distributed upload and store to the purpose of cloud storage service.This is computer-readable
Storage medium is to send to belong to identical Internet Service Provider with the user node to user node by dispatch server
The node attribute information of target storage node, and then the communication connection of user node and target storage node is established, line number of going forward side by side
According to upload, can have relatively higher connection speed and number between the node due to belonging to identical Internet Service Provider
According to efficiency of transmission, therefore when this computer readable storage medium opposite can reduce user node access cloud storage service, connection
Time overhead needed for memory node, and being capable of the opposite transfer efficiency on the whole for improving file data.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or any combination thereof real
It is existing.When implemented in software, it can entirely or partly realize in the form of a computer program product.
The computer program product includes one or more computer instructions.Load and execute on computers the meter
When calculation machine program instruction, entirely or partly generate according to process or function described in the embodiment of the present invention.The computer can
To be general purpose computer, special purpose computer, computer network or other programmable devices.The computer instruction can be deposited
Storage in a computer-readable storage medium, or from a computer readable storage medium to another computer readable storage medium
Transmission, for example, the computer instruction can pass through wired (example from a web-site, computer, server or data center
Such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave) mode to another website
Website, computer, server or data center are transmitted.The computer readable storage medium can be computer and can deposit
Any usable medium of storage either includes that the data storages such as one or more usable mediums integrated server, data center are set
It is standby.The usable medium can be magnetic medium, (for example, floppy disk, hard disk, tape), optical medium (for example, DVD) or partly lead
Body medium (such as solid state hard disk Solid State Disk (SSD)) etc..
It is apparent to those skilled in the art that for convenience and simplicity of description, the system of foregoing description,
The specific work process of device and unit, can refer to corresponding processes in the foregoing method embodiment, and details are not described herein.
In several embodiments provided herein, it should be understood that disclosed system, device and method can be with
It realizes by another way.For example, the apparatus embodiments described above are merely exemplary, for example, the unit
It divides, only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple units or components
It can be combined or can be integrated into another system, or some features can be ignored or not executed.Another point, it is shown or
The mutual coupling, direct-coupling or communication connection discussed can be through some interfaces, the indirect coupling of device or unit
It closes or communicates to connect, can be electrical property, mechanical or other forms.
Unit may or may not be physically separated as illustrated by the separation member, shown as a unit
Component may or may not be physical unit, it can and it is in one place, or may be distributed over multiple networks
On unit.It can some or all of the units may be selected to achieve the purpose of the solution of this embodiment according to the actual needs.
It, can also be in addition, each functional unit in each embodiment of the application can integrate in one processing unit
It is that each unit physically exists alone, can also be integrated in one unit with two or more units.Above-mentioned integrated list
Member both can take the form of hardware realization, can also realize in the form of software functional units.
If the integrated unit is realized in the form of SFU software functional unit and sells or use as independent product
When, it can store in a computer readable storage medium.Based on this understanding, the technical solution of the application is substantially
The all or part of the part that contributes to existing technology or the technical solution can be in the form of software products in other words
It embodies, which is stored in a storage medium, including some instructions are used so that a computer
Equipment (can be personal computer, server or the network equipment etc.) executes the complete of each embodiment the method for the application
Portion or part steps.And storage medium above-mentioned includes: USB flash disk, mobile hard disk, read-only memory (ROM, Read-Only
Memory), random access memory (RAM, Random Access Memory), magnetic or disk etc. are various can store journey
The medium of sequence code.
It should be noted that the serial number of the above embodiments of the invention is only for description, do not represent the advantages or disadvantages of the embodiments.And
The terms "include", "comprise" herein or any other variant thereof is intended to cover non-exclusive inclusion, so that packet
Process, device, article or the method for including a series of elements not only include those elements, but also including being not explicitly listed
Other element, or further include for this process, device, article or the intrinsic element of method.Do not limiting more
In the case where, the element that is limited by sentence "including a ...", it is not excluded that including process, device, the article of the element
Or there is also other identical elements in method.
The above is only a preferred embodiment of the present invention, is not intended to limit the scope of the invention, all to utilize this hair
Equivalent structure or equivalent flow shift made by bright specification and accompanying drawing content is applied directly or indirectly in other relevant skills
Art field, is included within the scope of the present invention.