CN108810078B - Node selection method, terminal device and computer readable storage medium - Google Patents

Node selection method, terminal device and computer readable storage medium Download PDF

Info

Publication number
CN108810078B
CN108810078B CN201810362480.4A CN201810362480A CN108810078B CN 108810078 B CN108810078 B CN 108810078B CN 201810362480 A CN201810362480 A CN 201810362480A CN 108810078 B CN108810078 B CN 108810078B
Authority
CN
China
Prior art keywords
node
random
nodes
data units
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810362480.4A
Other languages
Chinese (zh)
Other versions
CN108810078A (en
Inventor
董晓赟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201810362480.4A priority Critical patent/CN108810078B/en
Publication of CN108810078A publication Critical patent/CN108810078A/en
Application granted granted Critical
Publication of CN108810078B publication Critical patent/CN108810078B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a node selection method, which comprises the following steps: the method comprises the steps that information of all nodes is obtained from a scheduling server regularly, wherein the information comprises the current communication quality of each node; selecting a node with the best communication quality as a reference node, and downloading a data block from the reference node in a full amount, wherein the data block is divided into a plurality of data units with equal length; and adding or eliminating random nodes according to the quality of each residual node, downloading a preset number of data units from each random node, and continuously downloading the residual data units of the data block from the reference node. The invention also provides a terminal device and a computer readable storage medium. The node selection method, the terminal equipment and the computer readable storage medium provided by the invention can provide low-delay reliable service in a live broadcast scene.

Description

Node selection method, terminal device and computer readable storage medium
Technical Field
The present invention relates to the technical field of P2P, and in particular, to a node selection method, a terminal device, and a computer-readable storage medium.
Background
At present, many multi-source data downloads existing in a P2P network all adopt a mode of actively pulling node data, and for a live scene, the mode is not easy to realize low delay and cannot adapt to the condition with higher real-time requirement.
Disclosure of Invention
In view of this, the present invention provides a node selection method, a terminal device, and a computer-readable storage medium, where a node actively pushes data to a play end, and the play end selects and eliminates nodes according to node quality, thereby providing a low-latency reliable service in a live broadcast scenario.
First, in order to achieve the above object, the present invention provides a node selection method, applied to a terminal device, the method including:
an acquisition step: the method comprises the steps that information of all nodes is obtained from a scheduling server regularly, wherein the information comprises the current communication quality of each node;
selecting: selecting a node with the best communication quality as a reference node, and downloading a data block from the reference node in a full amount, wherein the data block is divided into a plurality of data units with equal length; and
a distribution step: and adding or eliminating random nodes according to the quality of each residual node, downloading a preset number of data units from each random node, and continuously downloading the residual data units of the data block from the reference node.
Optionally, the allocating step comprises:
adding p nodes from the rest nodes according to the communication quality to serve as random nodes;
distributing m data units for each newly added random node, wherein the rest data units of the data block are continuously downloaded from the reference node;
the downloading quality of each random node is regularly monitored;
eliminating unqualified random nodes according to the downloading quality and a predetermined elimination rule;
continuing to download the data units distributed by the eliminated random nodes by the reference node;
and judging whether the number of the random nodes reaches a preset condition, and when the number of the random nodes reaches the preset condition, not increasing the random nodes.
Optionally, the step of allocating m data units to each newly added random node includes:
and randomly distributing m data units to the random nodes every time when one random node is newly added, or distributing m data units to each current random node according to the sequence of playing time and the queue sequence of the random nodes.
Optionally, the download quality includes a download rate, a frame rate, and a stability.
Optionally, the elimination rule is: and if the percentage of the frame rate of the actually received data of one random node in the frame rate of the data to be received is less than a preset threshold value, or the lag time of the actually received data of one random node lagging behind the data received by the reference node is more than the preset time, the random node is unqualified.
Optionally, the preset conditions are: if the number of the data units distributed to the reference node is more than or equal to two times of the preset number m, continuing to increase random nodes; and if the number of the data units distributed to the reference node is less than twice of the preset number m, stopping adding the random nodes.
Optionally, the preset conditions are: dividing the number N of all data units by the preset number m to calculate an integer quotient and a remainder, taking the difference obtained by subtracting 1 from the integer quotient as the number to be increased of the random nodes which need to be increased in total, and stopping increasing the random nodes when the number of the random nodes reaches the number to be increased.
Optionally, the number p of the random nodes increased each time may be 1, or an integer greater than 1 that is specified in advance or calculated according to a preset rule.
In addition, in order to achieve the above object, the present invention further provides a terminal device, which includes a memory and a processor, wherein the memory stores a node selection program operable on the processor, and the node selection program implements the steps of the node selection method when executed by the processor.
Further, to achieve the above object, the present invention also provides a computer-readable storage medium storing a node selection program, which is executable by at least one processor to cause the at least one processor to perform the steps of the node selection method as described above.
Compared with the prior art, the node selection method, the terminal device and the computer readable storage medium provided by the invention can select and eliminate random nodes according to the node quality on the basis of the reference node by the playing end based on the mode of actively pushing data from the node end to the playing end, and ensure the integrity, correctness and real-time property of the data in the process through an agreed protocol, thereby providing low-delay reliable service in a live broadcast scene.
Drawings
FIG. 1 is a schematic diagram of an alternative application environment for various embodiments of the present invention;
FIG. 2 is a diagram of an alternative hardware architecture of the terminal device of FIG. 1;
FIGS. 3 and 4 are schematic diagrams of program modules of a preferred embodiment of a node selection system according to the present invention;
FIG. 5 is a flowchart illustrating a preferred embodiment of a node selection method according to the present invention;
FIG. 6 is a detailed flowchart of step S30 in FIG. 5;
fig. 7(a) -7(d) are schematic diagrams of a specific application example of the process of adding and eliminating random nodes in the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the description relating to "first", "second", etc. in the present invention is for descriptive purposes only and is not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In addition, technical solutions between various embodiments may be combined with each other, but must be realized by a person skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination should not be considered to exist, and is not within the protection scope of the present invention.
Fig. 1 is a schematic diagram of an alternative application environment according to various embodiments of the present invention.
In the present embodiment, the present invention is applicable to an application environment including, but not limited to, a scheduling (tracker) server 1, a terminal device 2, and a node 3. The dispatch server 1 is in data communication with one or more terminal devices 2, a plurality of nodes 3, through a P2P network.
The scheduling server 1 is configured to collect information of all nodes 3 in the P2P network, and provide the information to the terminal device 2 for reference in selection. The scheduling server 1 may be a rack server, a blade server, a tower server, or a rack server, or may be an independent server, or may be a server cluster formed by a plurality of servers.
The terminal device 2 is used as a data playing client of the P2P network, and is configured to select to download video data from one or more nodes 3 according to the information of all nodes 3 acquired from the scheduling server 1. The video data is first encapsulated into equal-length data blocks (chunks), and each data block is divided into a plurality of equal-length data units (pieces). The terminal device 2 may be a mobile device such as a mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a navigation apparatus, a vehicle-mounted apparatus, and the like, and a fixed terminal such as a digital TV, a desktop computer, a server, and the like.
The node 3 is a peer node (i.e., a peer node client) and is configured to provide a video data download service for the terminal device 1.
Fig. 2 is a schematic diagram of an alternative hardware architecture of the terminal device 2 in fig. 1. In this embodiment, the terminal device 2 may include, but is not limited to, a memory 11, a processor 12, and a network interface 13, which may be communicatively connected to each other through a system bus. It is noted that fig. 2 only shows the terminal device 2 with components 11-13, but it is to be understood that not all shown components are required to be implemented, and that more or less components may be implemented instead.
The memory 11 includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a Read Only Memory (ROM), an Electrically Erasable Programmable Read Only Memory (EEPROM), a Programmable Read Only Memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the storage 11 may be an internal storage unit of the terminal device 2, such as a hard disk or a memory of the terminal device 2. In other embodiments, the memory 11 may also be an external storage device of the terminal device 2, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), or the like provided on the terminal device 2. Of course, the memory 11 may also comprise both an internal memory unit of the terminal device 2 and an external memory device thereof. In this embodiment, the memory 11 is generally used for storing an operating system installed in the terminal device 2 and various types of application software, such as a program code of the node selection system 200. Furthermore, the memory 11 may also be used to temporarily store various types of data that have been output or are to be output.
The processor 12 may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor, or other data Processing chip in some embodiments. The processor 12 is typically used to control the overall operation of the terminal device 2. In this embodiment, the processor 12 is configured to run the program code stored in the memory 11 or process data, for example, run the node selection system 200.
The network interface 13 may comprise a wireless network interface or a wired network interface, and the network interface 13 is typically used for establishing communication connections between the terminal device 2 and other electronic devices. In this embodiment, the network interface 13 is mainly used to connect the terminal device 2 with the scheduling server 1 and one or more nodes 3 through the P2P network, and establish a data transmission channel and a communication connection between the terminal device 2 and the scheduling server 1 and the one or more nodes 3.
The application environment and the hardware structure and function of the related devices of the various embodiments of the present invention have been described in detail so far. Hereinafter, various embodiments of the present invention will be proposed based on the above-described application environment and related devices.
First, the present invention provides a node selection system 200.
Referring now to FIG. 3, a block diagram of a preferred embodiment of the node selection system 200 of the present invention is shown.
In this embodiment, the node selection system 200 includes a series of computer program instructions stored on the memory 11, which when executed by the processor 12, may implement the node selection operations of the embodiments of the present invention. In some embodiments, the node selection system 200 may be divided into one or more modules based on the particular operations implemented by the portions of the computer program instructions. For example, in fig. 3, the node selection system 200 may be divided into an acquisition module 201, a selection module 202, and an assignment module 203. Wherein:
the obtaining module 201 is configured to periodically obtain information of all nodes 3 from the scheduling server 1.
The selection module 202 is configured to select the node 3 with the best communication quality as a reference node, and download the data block from the reference node in full.
The allocating module 203 is configured to add or eliminate random nodes according to the quality of each remaining node 3, download a preset number of data units from each random node, and continuously download the remaining data units from the reference node.
Referring also to fig. 4, the allocating module 203 may be further subdivided into:
and an adding submodule 230, configured to add p nodes 3 from the remaining nodes 3 as random nodes according to the communication quality, and allocate m data units to each newly added random node, where the remaining data units of the data block continue to be downloaded from the reference node.
And the monitoring submodule 232 is used for regularly monitoring the downloading quality of each random node.
And a eliminating submodule 234, configured to eliminate an unqualified random node according to the download quality and a predetermined eliminating rule, and the reference node continues to download the data unit allocated to the eliminated random node.
The determining submodule 236 is configured to determine whether the number of the random nodes reaches a preset condition. If the preset condition is met, the monitoring submodule 232 continues to monitor the downloading quality of each random node so as to eliminate unqualified random nodes. If the preset condition is not met, the adding submodule 230 continues to add random nodes according to the communication quality.
For detailed functional description of the above modules, please refer to the following description of fig. 5 and fig. 6, which is not repeated herein.
In addition, the invention also provides a node selection method which is applied to the terminal equipment 2.
Fig. 5 is a schematic flow chart showing a preferred embodiment of the node selection method according to the present invention. In this embodiment, the execution order of the steps in the flowchart shown in fig. 5 may be changed and some steps may be omitted according to different requirements.
In step S10, information of all nodes 3 is periodically acquired from the scheduling server 1.
Specifically, the dispatch server 1 collects information of all nodes 3 in the P2P network, including the name, address, current communication quality, and the like of each node 3. The terminal device 2 periodically acquires these pieces of information from the scheduling server 1 for reference as a selection node.
In step S20, the node 3 with the best communication quality is selected as a reference node, and the data block is downloaded from the reference node in full.
Specifically, the terminal device 2 selects, from all the nodes 3, one node 3 having the best current communication quality as a reference node according to the information acquired from the scheduling service 1. The terminal device 2 downloads the required video data from the reference node in full. In this embodiment, the video data is first encapsulated into equal-length data blocks (chunks), and each data block is further divided into a plurality of equal-length data units (pieces). The terminal device 2 downloads the required data blocks of video data from the reference node in full.
Step S30, adding or eliminating random nodes according to the quality of each remaining node 3, downloading a preset number of data units from each random node, and continuing to download the remaining data units from the reference node.
Specifically, the terminal device 2 continues to gradually increase the nodes 3 (one or more nodes 3 may be added each time) from the remaining nodes 3 according to the communication quality as random nodes, periodically monitors the download quality of each random node 3, and eliminates the unqualified random nodes according to the download quality and a predetermined elimination rule. Each random node is assigned a preset number of data units, the terminal device 2 downloads the preset number of data units from each random node, and the remaining data units of the data block continue to be downloaded from the reference node. And repeating the process, thereby ensuring that all data units of each data block have corresponding nodes 3 for downloading, and the numbers of the data units distributed by the reference node and each random node are basically consistent.
Referring to fig. 6, the step S30 may specifically include the following steps:
in step S300, p nodes 3 are added from the remaining nodes 3 as random nodes according to the communication quality.
Specifically, the terminal device 2 gradually increases the nodes 3 as random nodes according to the current communication quality of each node 3 acquired from the scheduling service 1. The number p may be 1 or an integer greater than 1. For example, one of the remaining nodes 3 having the best communication quality is added as the random node, or the nodes 3 having the communication quality ranked p top among the remaining nodes 3 are added as the random node. When p is not 1, the specific value of p may be a pre-specified value or calculated according to a preset rule according to the total required number of random nodes (see the description in the subsequent step S310).
Step S302, allocating m data units to each newly added random node, and continuing to download the remaining data units of the data block from the reference node.
Specifically, after a random node is newly added, a preset number (m) of data units are randomly allocated to the random node, or a preset number of data units are allocated to each current random node according to the sequence of the playing time and the queue sequence of the random node, and the remaining data units of the data block are allocated to the reference node. That is, assuming that the data block includes N data units and there are q random nodes, the terminal device 2 downloads m data units from each of the random nodes and downloads the remaining N-m × q data units from the reference node.
And step S304, periodically monitoring the downloading quality of each random node.
Specifically, the terminal device 2 periodically monitors the download quality, such as the download rate, the frame rate, the stability, and the like, for all the random nodes. For example, when the data unit is segmented, the frame number corresponding to the video data in the data block is put in, and the terminal device 2 may calculate the frame rate of the corresponding random node according to the data unit received every second.
And S306, eliminating unqualified random nodes according to the downloading quality and a predetermined elimination rule.
Specifically, the elimination rule is as follows: if the percentage of the frame rate of the data actually received by a random node to the frame rate of the data to be received is less than a preset threshold (for example, 80%), or the lag time of the data actually received by a random node lagging behind the data received by the reference node is greater than a preset time (for example, 2 seconds), the random node is unqualified and should be eliminated.
Step S308, the reference node continues to download the data units allocated to the eliminated random nodes.
Specifically, for a rejected random node, the downloaded data of the rejected random node is likely to be behind the downloaded data of the reference node, and the reference node takes over the data unit of the rejected node and fills up the missing data unit. Because the reference node has the latest partial data cache, the completion can be carried out very quickly. And for the newly added random node, a part of data units are separated from the reference node to the newly added random node. The mode can ensure that no data fault occurs in the processes of eliminating and increasing random nodes and has higher real-time performance.
Step S310, determining whether the number of the random nodes reaches a preset condition.
Specifically, the effect that the present embodiment finally intends to achieve is that the numbers of the data units allocated to the reference node and each of the random nodes are substantially the same. The preset conditions are as follows: if the number of the data units distributed to the reference node is more than or equal to two times of the preset number m, continuing to increase the random nodes one by one; and if the number of the data units distributed to the reference node is less than twice of the preset number m, stopping adding the random nodes. Alternatively, the preset condition may also be: dividing the number N of all data units by the preset number m to calculate an integer quotient and a remainder, taking a difference obtained by subtracting 1 from the integer quotient as a to-be-increased number of the random nodes which need to be increased in total, and increasing the to-be-increased number of the random nodes (i.e. p can be the to-be-increased number). And stopping increasing the random nodes when the number of the random nodes reaches the number to be increased.
And if the preset conditions are met, returning to the step S304, and continuously monitoring the downloading quality of each random node to eliminate unqualified random nodes. And if the preset condition is not met, returning to the step S300, and continuing to increase the random nodes according to the communication quality.
The following describes the above-mentioned process of adding and eliminating random nodes, with reference to fig. 7(a) -7(d) as specific application examples.
As shown in fig. 7(a), the data block has 10 data units in total, and is initially downloaded in full from the reference node. As shown in fig. 7(B), a random node a and a random node B are added, and 2 data units are allocated to each random node, then 2 data units are downloaded from the random node a and the random node B, respectively, and the remaining 6 data units are downloaded from the reference node. As shown in fig. 7(c), the random node B is eliminated, and the 2 data units previously assigned to the random node B are taken over by the reference node, so 8 data units are downloaded from the reference node, and 2 data units are still downloaded from the random node a. As shown in fig. 7(d), a random node C, D, E is added, and 2 data units are allocated to each random node, then 2 data units are downloaded from the random node A, C, D, E, respectively, and the remaining 2 data units are downloaded from the reference node. So far, the numbers of the data units downloaded in the reference node and each random node are basically consistent, and no random node needs to be added.
The node selection method provided by this embodiment may be based on a mode of actively pushing data from a node to a play end, where the play end selects and eliminates a random node according to node quality on the basis of a reference node, and an agreed protocol is used to ensure integrity, correctness, and real-time performance of data in the process, thereby providing a low-latency reliable service in a live broadcast scenario.
The present invention also provides another embodiment, which is to provide a computer-readable storage medium storing a node selection program, which is executable by at least one processor to cause the at least one processor to perform the steps of the node selection method as described above.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (9)

1. A node selection method is applied to terminal equipment, and is characterized by comprising the following steps:
an acquisition step: the method comprises the steps that information of all nodes is obtained from a scheduling server regularly, wherein the information comprises the current communication quality of each node;
selecting: selecting a node with the best communication quality as a reference node, and downloading a data block from the reference node in a full amount, wherein the data block is divided into a plurality of data units with equal length; and
a distribution step: adding or eliminating random nodes according to the quality of each remaining node, downloading a preset number of data units from each random node, and continuously downloading the remaining data units of the data block from the reference node;
the step of assigning comprises:
adding p nodes from the rest nodes according to the communication quality to serve as random nodes;
distributing m data units for each newly added random node, wherein the rest data units of the data block are continuously downloaded from the reference node;
the downloading quality of each random node is regularly monitored;
eliminating unqualified random nodes according to the downloading quality and a predetermined elimination rule;
continuously downloading the data units distributed by the eliminated random nodes by the reference node, and supplementing the missing data units, wherein the reference node has the latest partial data cache;
and judging whether the number of the random nodes reaches a preset condition, and when the number of the random nodes reaches the preset condition, not increasing the random nodes.
2. The node selection method of claim 1, wherein the step of allocating m data units for each newly added random node comprises:
and randomly distributing m data units to the random nodes every time when one random node is newly added, or distributing m data units to each current random node according to the sequence of playing time and the queue sequence of the random nodes.
3. The node selection method of claim 1, wherein the download quality comprises a download rate, a frame rate, a stability.
4. The node selection method of claim 3, wherein the elimination rule is: and if the percentage of the frame rate of the actually received data of one random node in the frame rate of the data to be received is less than a preset threshold value, or the lag time of the actually received data of one random node lagging behind the data received by the reference node is more than the preset time, the random node is unqualified.
5. The node selection method of claim 1, wherein the predetermined condition is: if the number of the data units distributed to the reference node is more than or equal to two times of the preset number m, continuing to increase random nodes; and if the number of the data units distributed to the reference node is less than twice of the preset number m, stopping adding the random nodes.
6. The node selection method of claim 1, wherein the predetermined condition is: dividing the number N of all data units by the preset number m to calculate an integer quotient and a remainder, taking the difference obtained by subtracting 1 from the integer quotient as the number to be increased of the random nodes which need to be increased in total, and stopping increasing the random nodes when the number of the random nodes reaches the number to be increased.
7. The node selection method according to claim 1, wherein the number p of the random nodes increased each time may be 1, or an integer greater than 1, which is pre-specified or calculated according to a preset rule.
8. A terminal device, characterized in that it comprises a memory, a processor, said memory having stored thereon a node selection program executable on said processor, said node selection program, when executed by said processor, implementing the steps of the node selection method according to any one of claims 1-7.
9. A computer-readable storage medium storing a node selection program executable by at least one processor to cause the at least one processor to perform the steps of the node selection method of any one of claims 1-7.
CN201810362480.4A 2018-04-20 2018-04-20 Node selection method, terminal device and computer readable storage medium Active CN108810078B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810362480.4A CN108810078B (en) 2018-04-20 2018-04-20 Node selection method, terminal device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810362480.4A CN108810078B (en) 2018-04-20 2018-04-20 Node selection method, terminal device and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN108810078A CN108810078A (en) 2018-11-13
CN108810078B true CN108810078B (en) 2021-05-18

Family

ID=64093778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810362480.4A Active CN108810078B (en) 2018-04-20 2018-04-20 Node selection method, terminal device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN108810078B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741750B (en) * 2010-01-15 2012-04-18 中国科学院计算技术研究所 Resource downloading method in P2P (peer-to peer) and system thereof
CN104144223B (en) * 2014-08-21 2018-02-09 北京奇艺世纪科技有限公司 A kind of data capture method and device
US10057742B2 (en) * 2016-05-18 2018-08-21 Veniam, Inc. Systems and methods for managing the routing and replication of data in the download direction in a network of moving things
CN107295103B (en) * 2017-07-26 2020-05-26 南京邮电大学 Node management method based on centralized P2P system

Also Published As

Publication number Publication date
CN108810078A (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN106657383B (en) Data downloading method and related equipment
CN107645561B (en) Picture preview method of cloud mobile phone
CN112416569B (en) Cache memory adjusting method and device and computer equipment
CN103873507A (en) Data block uploading and storing system and method
CN111294390B (en) Block data rapid synchronization method, device, equipment and storage medium
CN111555963A (en) Message pushing method and device, electronic equipment and storage medium
CN109756566B (en) Block chain based data storage method, related equipment and storage medium
CN107147921A (en) Based on section and the intelligence CDN video playback accelerated methods dispatched and equipment
CN109951514A (en) Document handling method, system and computer equipment based on cloud storage
CN105786539B (en) File downloading method and device
CN113411404A (en) File downloading method, device, server and storage medium
CN111490947A (en) Data packet transmitting method, data packet receiving method, system, device and medium
CN110515728B (en) Server scheduling method and device, electronic equipment and machine-readable storage medium
CN110290009B (en) Data scheduling method and device and computer readable storage medium
CN108810078B (en) Node selection method, terminal device and computer readable storage medium
JP2009157437A (en) Distributed storage system
CN109857805B (en) Block chain based data storage method, related equipment and storage medium
CN112866223B (en) Routing method and device for homomorphic encryption request
CN110912717B (en) Broadcasting method and server of centerless multi-channel concurrent transmission system
CN108200061B (en) Video file processing method, application server and computer readable storage medium
CN110266438B (en) Data transmission method, device and system and computer readable storage medium
CN113556573A (en) Method and system for selecting push flow link
CN112449209B (en) Video storage method and device, cloud server and computer readable storage medium
CN109889608B (en) Dynamic resource loading method and device, electronic equipment and storage medium
CN114610331A (en) Software installation method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant