CN111726389A - Data downloading method and device and terminal equipment - Google Patents

Data downloading method and device and terminal equipment Download PDF

Info

Publication number
CN111726389A
CN111726389A CN202010373296.7A CN202010373296A CN111726389A CN 111726389 A CN111726389 A CN 111726389A CN 202010373296 A CN202010373296 A CN 202010373296A CN 111726389 A CN111726389 A CN 111726389A
Authority
CN
China
Prior art keywords
data
downloading
communication link
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010373296.7A
Other languages
Chinese (zh)
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.)
PAX Computer Technology Shenzhen Co Ltd
Original Assignee
PAX Computer Technology Shenzhen 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 PAX Computer Technology Shenzhen Co Ltd filed Critical PAX Computer Technology Shenzhen Co Ltd
Priority to CN202010373296.7A priority Critical patent/CN111726389A/en
Publication of CN111726389A publication Critical patent/CN111726389A/en
Pending legal-status Critical Current

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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

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

Abstract

The application is applicable to the technical field of remote downloading, and provides a data downloading method, a data downloading device and terminal equipment, wherein a first data downloading request is sent to a server through a first communication link by starting a first downloading task, so that first data sent from a first working point by the server according to a first progressive direction is received through the first communication link; a second data downloading request is sent to the server through a second communication link by starting a second downloading task, so that second data sent from a second working point by the server according to a second progressive direction is received through the second communication link; after the first downloading task and the second downloading task are finished, synthesizing target data according to the received first data and the received second data; partial data can be downloaded from the server side respectively through two communication links according to two progressive directions and synthesized into target data, and the data downloading speed can be effectively increased.

Description

Data downloading method and device and terminal equipment
Technical Field
The application belongs to the technical field of remote downloading, and particularly relates to a data downloading method, a data downloading device and terminal equipment.
Background
The remote downloading is a common service used in the electronic device, the common remote downloading method is performed by using a communication link in the terminal device, and when the data volume of the target data to be downloaded is large, it takes a long time to complete the downloading. A common method for increasing the downloading speed is to compress the target data or optimize the transmission protocol. However, the effect of these methods is limited, so that the download speed cannot be further increased after being increased to a certain extent.
Disclosure of Invention
The embodiment of the application provides a data downloading method, a data downloading device and terminal equipment, and can solve the problem that the effect of a common method for accelerating the downloading speed is limited, so that the downloading speed cannot be further improved after being improved to a certain degree.
In a first aspect, an embodiment of the present application provides a data downloading method, which is applied to a client, and the method includes:
starting a first downloading task, and sending a first data downloading request to a server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
after the server side responds to the first data downloading request, first data sent by the server side from the first working point according to the first progressive direction is received through the first communication link;
starting a second downloading task, and sending a second data downloading request to the server through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
after the server side responds to the second data downloading request, second data sent by the server side from the second working point according to the second progressive direction is received through the second communication link;
and after the first downloading task and the second downloading task are finished, synthesizing target data according to the received first data and the received second data.
In a second aspect, an embodiment of the present application provides a data downloading method, which is applied to a server, and the method includes:
starting a first downloading service, and receiving a first data downloading request sent by a client through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
after responding to the first data downloading request, sending first data to the client from the first working point through the first communication link according to the first progressive direction;
after the first downloading service is finished, stopping sending the first data to the client;
starting a second downloading service, and receiving a second data downloading request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
after responding to the second data downloading request, sending second data to the client from the second working point through the second communication link according to the second progressive direction;
and after the second downloading service is finished, stopping sending the second data to the client.
In a third aspect, an embodiment of the present application provides a data downloading device, where the device, when applied to a client, includes:
the first sending module is used for starting a first downloading task and sending a first data downloading request to the server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a first receiving module, configured to receive, through the first communication link, first data that is sent by the server from the first operating point according to the first progressive direction after the server responds to the first data download request;
the second sending module is used for starting a second downloading task and sending a second data downloading request to the server through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a second receiving module, configured to receive, through the second communication link, second data that is sent by the server from the second working point according to the second progressive direction after the server responds to the second data download request;
a synthesizing module, configured to synthesize target data according to the received first data and the received second data after the first download task and the second download task are completed;
when the device is applied to a server, the device comprises:
the third receiving module is used for starting the first downloading service and receiving a first data downloading request sent by the client through the first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a third sending module, configured to send, after responding to the first data download request, first data from the first operating point to the client through the first communication link in the first progressive direction;
a first termination module, configured to terminate sending the first data to the client after the first download service is completed;
the fourth receiving module is used for starting a second downloading service and receiving a second data downloading request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a fourth sending module, configured to send, after responding to the second data download request, second data from the second working point to the client through the second communication link in the second progressive direction;
and the second termination module is used for terminating the sending of the second data to the client after the second downloading service is finished.
In a fourth aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where when the terminal device is a client, the processor executes the computer program to implement the data downloading method of the first aspect;
when the terminal device is a server, the processor implements the data downloading method according to the second aspect when executing the computer program.
In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, where a computer program is stored, and the computer program, when executed by a processor, implements the data downloading method according to the first aspect or the second aspect.
In a sixth aspect, an embodiment of the present application provides a computer program product, which, when running on a terminal device, causes the terminal device to execute the data downloading method according to the first aspect or the second aspect.
In a first aspect of the embodiments of the present application, a data downloading method applied to a client is provided, where a first data downloading request is sent to a server by starting a first downloading task and through a first communication link; after the server side responds to the first data downloading request, first data sent by the server side from a first working point according to a first progressive direction is received through a first communication link; sending a second data downloading request to the server side by starting a second downloading task and through a second communication link; after the server side responds to the second data downloading request, second data sent by the server side from a second working point according to a second progressive direction is received through a second communication link; after the first downloading task and the second downloading task are finished, synthesizing target data according to the received first data and the received second data; the data downloading speed can be effectively increased by respectively downloading a part of data belonging to the same target data from the server through the two communication links according to two progressive directions, and compared with a method for increasing the downloading speed by compressing the target data or optimizing a transmission protocol and the like, the data downloading speed can be further increased.
A second aspect of the embodiments of the present application provides a data downloading method applied to a server, where a first downloading service is started and a first data downloading request sent by a client is received through a first communication link; after responding to the first data downloading request, sending first data to the client from a first working point through a first communication link according to a first progressive direction; after the first downloading service is finished, stopping sending the first data to the client; receiving a second data downloading request sent by the client through a second communication link by starting a second downloading service; after responding to the second data downloading request, sending second data to the client from a second working point through a second communication link according to a second progressive direction; after the second downloading service is completed, the sending of the second data to the client is stopped, and a part of data belonging to the same target data can be respectively sent to the client through two communication links according to two progressive directions, so that the data downloading speed can be effectively increased, and the data downloading speed can be further increased compared with a common method for accelerating the downloading speed, such as compressing the target data or optimizing a transmission protocol.
It is to be understood that, for the beneficial effects of the third aspect to the sixth aspect, reference may be made to the description of the first aspect or the second aspect, and details are not described herein again.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a first flowchart illustrating a data downloading method according to an embodiment of the present application;
fig. 2 is a second flowchart of a data downloading method according to an embodiment of the present application;
fig. 3 is a third flowchart illustrating a data downloading method according to an embodiment of the present application;
fig. 4 is a fourth flowchart illustrating a data downloading method according to an embodiment of the present application;
fig. 5 is a schematic diagram of a first structure of a data downloading device according to an embodiment of the present application;
fig. 6 is a schematic diagram of a second structure of a data downloading device according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a data downloading system according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to" determining "or" in response to detecting ". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
The embodiment of the application provides a data downloading method applied to a client, which can be executed when a processor of the client runs a computer program with corresponding functions. The client may specifically be a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an Augmented Reality (AR) Virtual Reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a Personal Digital Assistant (PDA), and any other terminal device capable of establishing communication connection with the server through two different communication links and having a data downloading function, and capable of downloading data from the server. The embodiment of the present application does not set any limit to the specific type of the client.
In an application, the terminal device may be a Station (ST) in a WLAN, which may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA) device, a handheld device with wireless communication capability, a computing device or other processing device connected to a wireless modem, a vehicle mounted device, a vehicle networking terminal, a computer, a laptop computer, a handheld communication device, a handheld computing device, a satellite wireless device, a wireless modem card, a television Set Top Box (STB), a Customer Premises Equipment (CPE), and/or other devices for communicating over a wireless system and a next generation communication system, e.g., a Mobile terminal in a 5G Network or a Public Land Mobile Network (future evolved, PLMN) mobile terminals in the network, etc.
By way of example and not limitation, when the terminal device is a wearable device, the wearable device may also be a generic term for intelligently designing daily wearing by applying wearable technology, developing wearable devices, such as glasses, gloves, watches, clothing, shoes, and the like. A wearable device is a portable device that is worn directly on the body or integrated into the clothing or accessories of the user. The wearable device is not only a hardware device, but also realizes powerful functions through software support, data interaction and cloud interaction. The generalized wearable intelligent device has the advantages that the generalized wearable intelligent device is complete in function and large in size, can realize complete or partial functions without depending on a smart phone, such as a smart watch or smart glasses, and only is concentrated on a certain application function, and needs to be matched with other devices such as the smart phone for use, such as various smart bracelets for monitoring physical signs, smart jewelry and the like.
As shown in fig. 1, the data downloading method applied to the client according to the embodiment of the present application includes the following steps performed by the client:
step S101, starting a first downloading task, and sending a first data downloading request to a server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task.
In the application, step S101 may be executed at any time when the user needs the application, and the user may input an instruction to start the first download task at any time through the client, that is, may trigger the client to enter a data download process, and send the first data download request to the server through the first communication link. The instruction for starting the first download task is not only used for triggering the client to completely download the first data corresponding to the first download task, but also used for realizing breakpoint continuous transmission of the data. For example, if the user wants to continue downloading data corresponding to the first downloading task in the case of an abnormality such as power failure or mid-trip, the user may input an instruction to start the first downloading task again to trigger the client to continue executing the first downloading task. Step S101 may also be implemented, after the client has abnormal conditions such as power failure or crash, to automatically start and continue to execute the first download task when the client is powered on again or recovers to a normal working state, so as to implement breakpoint continuous transmission of data. The first download task may be a process, thread, or subroutine.
In application, when a key is arranged on a client, a user can input an instruction for starting a first downloading task by pressing or touching the key; when the client is provided with the microphone and the voice chip electrically connected with the microphone and the processor, a user can input an instruction for starting the first downloading task by sending out a voice chip which can recognize specific voice, and the client can also not comprise the voice chip and adopts the processor to realize the voice recognition function; when the client is provided with a camera, the user can input an instruction for starting the first download task by making a specific gesture that the processor can recognize.
In an application, the first data download request includes fields including, but not limited to: the first forward direction and the first operating point may further include at least one of a target data identification and a client identification. The target data identification is determined when the first downloading task is started, is generally generated by the client, and is used for the server to uniquely determine the target data to be downloaded corresponding to the first downloading task performed by the client. The client identifier may include at least one of a client name for the server to uniquely identify the client or a network address code for the server to uniquely locate the network address of the client. The first progressive direction may be from beginning to end or from end to end. The first working point may specifically be a first global variable used for indicating a position of a byte to be downloaded in the first download task, and an initial value of the first global variable may be set according to actual needs. When the first progressive direction is from beginning to end, the first working point can be the position of the first byte of the target data or the position of any other non-tail bytes; the first progressive direction is from end to head, and the position of the byte to be downloaded indicated by the first working point can be the position of the end byte of the target data or the position of any other non-first byte. The first data download request may be in the form of a data packet, and specifically, may be a data packet based on TCP (transmission control Protocol) or IP (Internet Protocol).
In one embodiment, the first progressive direction is opposite to the second progressive direction and is one of head-to-tail and tail-to-head, respectively.
In one embodiment, before step S101, the method includes:
opening a first physical link;
establishing a first communication link based on the first physical link; the first communication link is used as a data transmission channel between the first physical link and a corresponding physical link of the server.
In an application, the first physical link may be a wired physical link (e.g., an ethernet link) based on a router or a modem, or a wireless physical link based on a 3G/4G/5G communication module. Correspondingly, the first communication link is a wired communication link based on a wired data transmission protocol or a wireless communication link based on a 3G/4G/5G communication protocol. Opening the first physical link refers to making the corresponding hardware module enter a working state, for example, making a router or a modem establish a dial-up connection based on TCP/IP with the corresponding physical link of the server, and making the 3G/4G/5G communication module of the client register in the wireless network of the network operator. The steps of opening the first physical link and establishing the first communication link based on said first physical link may be performed before starting the first download task. The first physical link is opened in advance before the first downloading task needs to be executed, so that the first physical link does not need to be opened in extra time, and the execution speed of the first downloading task can be increased.
Step S102, after the server side responds to the first data downloading request, receiving, through the first communication link, first data that the server side starts to send from the first operating point according to the first progressive direction.
In the application, after receiving the first data downloading request, the server returns a first response data to the client if responding to the request. After the client receives the first response data and confirms that the server responds to the first data downloading request, the client can receive the first data sent by the server through the first communication link. The first data is data that the server side starts to send from a first working point according to a first progressive direction, and specifically, when the first progressive direction is from head to tail, the first data is data that the server side starts to send from the position of a byte to be downloaded in the target data according to the progressive direction from the head to the tail of the target data; when the first forwarding direction is from the tail to the head, the first data is data which is sent by the server from the position of the byte to be downloaded in the target data according to the forwarding direction from the tail to the head of the target data. The first data may be a data stream (data stream) or a data block, and specifically, when the first data is a data stream, the server sequentially sends each byte in the target data to the client according to a first progressive direction; when the first data is a data block, before the server sends the first data, the server may first divide the target data into a plurality of first data blocks continuously arranged according to a first progressive direction, and then sequentially send each first data block to the client through the first communication link according to the first progressive direction.
In one embodiment, before step S102, the method includes:
receiving first response data sent by the server; wherein the first response data carries the length of the target data.
In application, the first response data contains fields including, but not limited to: the length of the target data may further include at least one of a target data identifier, a server identifier, and a target data name. The length of the target data refers to the number of bytes from the first byte to the last byte of the target data. The server identifier may include at least one of a server name used by the client to uniquely determine the server or a network address code of the server used by the client to uniquely locate the network address of the server. The target data name may include at least one of an item noun (or item number), a file noun, a date, and a version number, the item noun may be used to uniquely determine the target data, the file noun may be used to determine a functional role of the target data, the date may be used to determine a creation date or an update date of the target data, and the version number may be used to determine a data type or a file format of the target data. The first response data may be in the form of a data packet, and specifically, may be a data packet based on TCP or IP.
Step S103, starting a second downloading task, and sending a second data downloading request to the server through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of the byte to be downloaded in the second downloading task.
In the application, step S103 may start to be executed at any time before step S102 is finished, and the user inputs an instruction to start the second download task at any time through the client, that is, may trigger the client to enter the data download flow, and send the second data download request to the server through the second communication link. The second communication link exists independently of the first communication link and may be implemented based on the same or different types of communication protocols. The instruction for starting the second download task is not only used for triggering the client to completely download the second data corresponding to the second download task, but also used for realizing breakpoint continuous transmission of the data. For example, in the case of an abnormality such as power failure or mid-trip, if the user wants to continue downloading the data corresponding to the second download task, the user may input the instruction for starting the second download task again to trigger the client to continue executing the second download task. Step S103 may also be implemented, after the client has abnormal conditions such as power failure or crash, to automatically start and continue to execute the second download task when the client is powered on again or the normal operating state is recovered, so as to implement breakpoint continuous transmission of data. The second download task may be a process, thread, or subroutine.
In the application, when the client is provided with a key, a user can input an instruction for starting a second downloading task by pressing or touching the key; when the client is provided with the microphone and the voice chip electrically connected with the microphone and the processor, a user can input an instruction for starting the second downloading task by sending out a voice chip which can recognize specific voice, and the client can also not comprise the voice chip and adopts the processor to realize the voice recognition function; when the client is provided with a camera, the user can input an instruction for starting the second download task by making a specific gesture that the processor can recognize.
In an application, the second data download request includes fields including, but not limited to: the second forward direction and the second operating point may further include at least one of a target data identification and a client identification. The target data identification is determined when the first downloading task is started, is generally generated by the client, and is used for the server to uniquely determine the target data to be downloaded, which corresponds to the second downloading task performed by the client. The second forward direction is opposite to the first forward direction, and may be from head to tail or from tail to head. The second working point may specifically be a second global variable used for indicating a position of a byte to be downloaded in the second download task, and an initial value of the second global variable may be set according to actual needs. When the second progressive direction is from beginning to end, the position of the byte to be downloaded indicated by the second working point can be the position of the first byte or any other non-end byte relative to the target data; the second operating point may be the location of the last byte or any other non-first byte of the target data when proceeding from the tail to the head in the second progressive direction. The second data download request may be in the form of a data packet, and specifically, may be a data packet based on a TCP or IP communication transmission protocol.
In one embodiment, before step S103, the method comprises:
opening a second physical link;
establishing a second communication link based on the second physical link; the second communication link is used as a data transmission channel between the second physical link and a corresponding physical link of the server.
In application, the second physical link and the first physical link exist independently and can be the same or different type of physical device, and the second physical link can be a wired physical link (e.g. Ethernet link) based on a router or a modem, or a wireless physical link based on a 3G/4G/5G communication module. Correspondingly, the second communication link is a wired communication link based on a wired data transmission protocol, or a wireless communication link based on a 3G/4G/5G communication protocol. Opening the second physical link refers to making the corresponding hardware module enter a working state, for example, making the router or the modem establish a dial-up connection based on TCP/IP with the corresponding physical link of the server, and making the 3G/4G/5G communication module of the client register in the wireless network of the network operator. The steps of opening the second physical link and establishing the second communication link based on the second physical link may be before starting the second download task. The second physical link is opened in advance before the second download task needs to be executed, so that the second physical link does not need to be opened in extra time, and the execution speed of the second download task can be increased.
In one embodiment, before step S101, the method includes:
opening all available physical links;
monitoring a communication link establishment event on each available physical link;
opening a first communication link after monitoring a first communication link establishment event; the first communication link is used as a data transmission channel between a first physical link of the client and a corresponding physical link of the server;
opening a second communication link after monitoring a second communication link establishment event; the second communication link is used as a data transmission channel between a second physical link of the client and a corresponding physical link of the server.
In the application, the operation of establishing the communication link can also be initiated by the server side, the client side can open all available physical links, then monitors the communication link establishment event initiated by the server side, and opens the first communication link after monitoring the first communication link establishment event; and opening the second communication link after monitoring the second communication link establishment event.
Step S104, after the server side responds to the second data downloading request, receiving, through the second communication link, second data that is sent by the server side from the second working point according to the second forwarding direction.
In the application, after receiving the second data downloading request, the server returns a second response data to the client if responding to the request. After the client receives the second response data and confirms that the server responds to the second data downloading request, the client can receive the second data sent by the server through the second communication link. The second data is data that the server side starts to send from a second working point according to a second progressive direction, and specifically, when the second progressive direction is from head to tail, the second data is data that the server side starts to send from the position of a byte to be downloaded in the target data according to the progressive direction from the head to the tail of the target data; and when the second forwarding direction is from the tail to the head, the second data is data which is sent by the server from the position of the byte to be downloaded in the target data according to the forwarding direction from the tail to the head of the target data. The second data may be a data stream or a data block, and specifically, when the second data is a data stream, the server sequentially sends each byte in the target data to the client according to a second progressive direction; when the second data is a data block, before the server sends the second data, the server may first divide the target data into a plurality of second data blocks which are continuously arranged according to a second progressive direction, and then sequentially send each second data block to the client according to the second progressive direction through the second communication link.
In one embodiment, before step S104, the method includes:
receiving second response data sent by the server; and the second response data carries the length of the target data.
In application, the second response data contains fields including, but not limited to: the length of the target data may further include at least one of a target data identifier, a server identifier, and a target data name. The second response data may be in the form of a data packet, and specifically, may be a TCP or IP based data packet. Step S105, after the first download task and the second download task are completed, synthesizing target data according to the received first data and the received second data.
In the application, after the first download task and the second download task are both completed, the client may synthesize the target data according to all the first data received so far and all the second data received so far.
As shown in fig. 2, in one embodiment, before step S101, the method includes:
step S201, defining a first global variable for indicating the position of a byte to be downloaded in a first downloading task as a first working point;
before step S103, the method includes:
step S202, defining a second global variable used for indicating the position of the byte to be downloaded in the second downloading task as a second working point.
In application, when the first progressive direction is from beginning to end, the value of the first global variable may be set to an offset from the first Byte of the target data, and the initial value of the first global variable is offset from the first Byte of the target data by 0 bytes (Byte), which is expressed as P1 ═ 0; when the second progression direction is from tail to head, the value of the second global variable may be set to an offset from the tail byte of the target data, and the initial value of the second global variable may be offset from the tail byte of the target data by 0 bytes, denoted as P2 ═ 0. Similarly, when the first forward direction is from tail to head, the value of the first global variable may be set to be offset from the tail Byte of the target data, and the initial value of the first global variable is offset from the tail Byte of the target data by 0 Byte (Byte), which is expressed as P1 ═ 0; when the second progression direction is from beginning to end, the value of the second global variable may be set to an offset from the first byte of the target data, and the initial value of the second global variable may be offset from the first byte of the target data by 0 bytes, denoted as P2 ═ 0.
As shown in fig. 2, in one embodiment, after step S102, the method includes:
step S203, writing the currently received first data into a first temporary storage space;
step S204, updating the first global variable according to the length of the currently received first data;
after step S104, the method includes:
step S205, writing the currently received second data into a second temporary storage space;
and step S206, updating the second global variable according to the length of the currently received second data.
In application, a client continuously receives first data sent by a server in the process of executing a first download task, writes the currently received first data into a first temporary storage space for temporary storage, sequentially arranges the received first data in the first temporary storage space according to a receiving time sequence, and updates the value of a first global variable according to the length of the currently received first data, so that the value of the updated first global variable is equal to the sum of the value of the first global variable before updating and the length of the currently received first data, namely P1 is P1+ L1; where P1 on the left side of the equation represents the value of the first global variable after updating, P1 on the right side of the equation represents the value of the first global variable before updating, and L1 represents the length of the first data currently received. Similarly, the client continuously receives second data sent by the server in the process of executing the second download task, writes the currently received second data into the second temporary storage space for temporary storage, sequentially arranges the received second data in the second temporary storage space according to the receiving time sequence, and updates the value of the second global variable according to the length of the currently received second data, so that the value of the updated second global variable is equal to the sum of the value of the second global variable before updating and the length of the currently received second data, that is, P2 is P2+ L2; wherein P2 on the left side of the equation represents the value of the second global variable after updating, P2 on the right side of the equation represents the value of the second global variable before updating, and L2 represents the length of the second data currently received. The first temporary storage space and the second temporary storage space may be a nonvolatile memory of the terminal device or a storage space in the processor, and the first temporary storage space and the second temporary storage space may be the same or different storage spaces. The storage space may particularly be in the form of a file or folder.
In application, the value of the first global variable and the value of the second global variable may be stored in a non-volatile memory (NVM) of the client, and after the value of the first global variable or the value of the second global variable is updated each time, the client also updates the value of the first global variable or the value of the second global variable stored in the NVM synchronously, so that when data breakpoint resume is required, the value of the first global variable or the value of the second global variable may be called from the NVM to know the position of a byte at which the data breakpoint resume is required to be started. The nonvolatile memory may be a Programmable read-only memory (PROM), an Electrically alterable read-only memory (earrom), an erasable Programmable read-only memory (EPROM), an Electrically erasable Programmable read-only memory (EEPROM), or a Flash memory (Flash memory).
In an embodiment, based on the embodiment corresponding to fig. 2, after step S204, the method includes:
comparing the magnitude between the sum of the second global variable and the first global variable and the length of the target data;
when the sum of the second global variable and the first global variable is smaller than the length of target data, judging that the first downloading task is not finished, and returning to execute the step of receiving first data sent by the server from the first working point according to the first progressive direction through the first communication link;
when the sum of the second global variable and the updated first global variable is larger than or equal to the length of target data, judging that the first downloading task is finished and terminating the first downloading task;
after step S206, the method includes:
comparing the magnitude between the sum of the first global variable and the second global variable and the length of the target data;
when the sum of the first global variable and the second global variable is smaller than the length of target data, judging that the second downloading task is not finished, and returning to execute the step of receiving second data sent by the server from the second working point according to the second progressive direction through the second communication link;
and when the sum of the first global variable and the second global variable is greater than or equal to the length of target data, judging that the second downloading task is finished and terminating the second downloading task.
In application, whether the first downloading task is completed or not can be determined by comparing the size between the sum of the second global variable and the first global variable and the length of the target data. When P1+ P2 < L, indicating that the first download task is not completed, wherein P1 represents the value of the first global variable, P2 represents the value of the second global variable, and L represents the length of the target data; when P1+ P2 ≧ L, it indicates that the first download task has completed. Similarly, by comparing the sum of the first global variable and the second global variable with the length of the target data, it can be determined whether the second download task is completed. When P1+ P2 < L, it indicates that the second download task is not completed; when P1+ P2 ≧ L, it indicates that the second download task has completed.
In one embodiment, terminating the first download task comprises:
sending a first downloading ending request to the server to terminate the first downloading task;
terminating the second download task, including:
and sending a second downloading ending request to the server to terminate the second downloading task.
In the application, when the first download task is completed, the client may automatically send a first end download request to the server to terminate the first download task. The client can also send a first end downloading request to the server at any time when the user needs the client, and the user can input an instruction for sending the first end downloading request at any time through the client, so that the client can be triggered to send the first end downloading request to the server. When the client is provided with a key, a user can input an instruction for sending a first downloading end request by pressing or touching the key; when the client is provided with the microphone and the voice chip electrically connected with the microphone and the processor, a user can input an instruction for sending the first end downloading request by sending a voice chip capable of identifying specific voice, and the client can also not comprise the voice chip and adopts the processor to realize the voice identification function; when the client is provided with a camera, the user can input an instruction for sending the first end download request by making a specific gesture that the processor can recognize.
In the application, when the second download task is completed, the client may automatically send a second download ending request to the server to terminate the second download task. The client can also send a second download ending request to the server at any time when the user needs the second download ending request, and the user can input an instruction for sending the second download ending request at any time through the client, so that the client can be triggered to send the second download ending request to the server. When the client is provided with a key, the user can input an instruction for sending a second downloading ending request by pressing or touching the key; when the client is provided with the microphone and the voice chip electrically connected with the microphone and the processor, a user can input an instruction for sending a second downloading ending request by sending a voice chip capable of identifying specific voice, and the client can also not comprise the voice chip and adopts the processor to realize the voice identification function; when the client is provided with a camera, the user may input an instruction for transmitting a second end download request by making a specific gesture that the processor can recognize.
Based on the embodiment corresponding to fig. 2, when the first progressive direction is from beginning to end and the second progressive direction is from end to end, synthesizing target data according to the received first data and the received second data in step S105 includes:
copying each byte of the received first data from the first temporary storage space to the storage space of the target data in sequence from a position with an offset of 0 byte relative to the first byte of the target data according to the offset of each byte of the received first data relative to the first byte of the target data, so that each byte of the received first data is arranged in sequence from a position with an offset of 0 byte relative to the first byte of the target data in the storage space of the target data;
copying each byte of the received second data from the second temporary storage space to the storage space of the target data in sequence according to the offset of each byte of the received second data relative to the tail byte of the target data, starting from the position of 0 byte offset relative to the tail byte of the target data, and arranging each byte of the received second data in sequence in the storage space of the target data starting from the position of 0 byte offset relative to the tail byte of the target data.
In an application, a storage space different from the first temporary storage space and the second temporary storage space may be created to store the target data, where the storage space may be a non-volatile memory of the terminal device or a storage space in the processor, and the storage space may specifically exist in the form of a file or a folder.
In application, when the first progressive direction is from beginning to end and the second progressive direction is from end to end, a byte having an offset of 0 byte with respect to the first byte of the target data in the received first data, a position having an offset of 0 byte with respect to the first byte of the target data in the storage space where the target data is copied from the first temporary storage space, a byte having an offset of 1 byte with respect to the first byte of the target data in the received first data, a position having an offset of 1 byte with respect to the first byte of the target data in the storage space where the target data is copied from the first temporary storage space, …, and so on until all bytes in the downloaded first data are copied from the first temporary storage space into the storage space of the target data; similarly, a byte in the received second data that is offset by 0 bytes relative to the last byte of the target data, a location in the storage space where the target data is copied from the second temporary storage space that is offset by 0 bytes relative to the last byte of the target data, a byte in the received second data that is offset by 1 byte relative to the last byte of the target data, a location in the storage space where the target data is copied from the second temporary storage space that is offset by 1 byte relative to the last byte of the target data, …, and so on, may be copied until all bytes in the downloaded second data are copied from the second temporary storage space into the storage space of the target data, therefore, the received first data temporarily stored in the first temporary storage space and the received second data temporarily stored in the second temporary storage space are completely copied to the storage space of the target data to be synthesized into the target data.
Similarly, based on the embodiment shown in fig. 2, when the first progressive direction is from end to end and the second progressive direction is from end to end, the synthesizing of the target data according to the received first data and the received second data in step S105 includes:
copying each byte of the received first data from the first temporary storage space to the storage space of the target data in sequence according to the offset of each byte of the received first data relative to the tail byte of the target data, starting from the position of 0 byte offset relative to the tail byte of the target data, and arranging each byte of the received first data in sequence in the storage space of the target data from the position of 0 byte offset relative to the tail byte of the target data;
copying each byte of the received second data from the second temporary storage space to the storage space of the target data in sequence from a position having an offset of 0 byte with respect to the first byte of the target data according to an offset of each byte of the received second data with respect to the first byte of the target data, so that each byte of the received second data is arranged in sequence from a position having an offset of 0 byte with respect to the first byte of the target data in the storage space of the target data.
In application, when the first progressive direction is from end to end and the second progressive direction is from end to end, a byte with an offset of 0 byte relative to the last byte of the target data in the received first data, a position with an offset of 0 byte relative to the last byte of the target data in the storage space where the target data is copied from the first temporary storage space, a byte with an offset of 1 byte relative to the last byte of the target data in the received first data, a position with an offset of 1 byte relative to the last byte of the target data in the storage space where the target data is copied from the first temporary storage space, …, and so on until all bytes in the downloaded first data are copied from the first temporary storage space into the storage space of the target data; similarly, a byte in the received second data that is offset from the first byte of the target data by 0 bytes, a location in the storage space where the target data is copied from the second temporary storage space that is offset from the first byte of the target data by 0 bytes, a byte in the received second data that is offset from the first byte of the target data by 1 byte, a location in the storage space where the target data is copied from the second temporary storage space that is offset from the first byte of the target data by 1 byte, …, and so on, may be copied into the storage space of the target data from the second temporary storage space until all bytes in the downloaded second data are copied into the storage space of the target data from the second temporary storage space, therefore, the received first data temporarily stored in the first temporary storage space and the received second data temporarily stored in the second temporary storage space are completely copied to the storage space of the target data to be synthesized into the target data.
The embodiment corresponding to fig. 1 provides a data downloading method applied to a client, by starting a first downloading task and sending a first data downloading request to a server through a first communication link; after the server side responds to the first data downloading request, first data sent by the server side from a first working point according to a first progressive direction is received through a first communication link; sending a second data downloading request to the server side by starting a second downloading task and through a second communication link; after the server side responds to the second data downloading request, second data sent by the server side from a second working point according to a second progressive direction is received through a second communication link; after the first downloading task and the second downloading task are finished, synthesizing target data according to the received first data and the received second data; the two parts of data belonging to the same target data can be respectively downloaded from the server side from two opposite directions through the two communication links, so that the two parts of data can be seamlessly matched and connected, the data downloading speed can be effectively increased, and the downloading speed can be further increased compared with the commonly used methods of compressing the target data or optimizing a transmission protocol and the like. And because the two communication links are independent and do not interfere with each other, when the download rate of one communication link is slow, the communication quality is poor, and even the communication is terminated due to network interruption, the other communication link can still continue to download data without being influenced, so that the reliability of the data download process can be effectively improved. In addition, the two physical links are opened, so that the physical link of the client can be charged and utilized, the occupied time of a single physical link is reduced, and the tolerance of the single physical link is reduced.
In the embodiment corresponding to fig. 2, by defining the first global variable and the second global variable, whether the first download task and the second download task have been completed may be respectively determined according to a magnitude relationship between a sum of the first global variable and the second global variable and a length of the target data; and when breakpoint continuous transmission is needed, breakpoint continuous transmission is started from the position of the byte to be downloaded in the first downloading task indicated by the first global variable so as to continuously complete the first downloading task, and breakpoint continuous transmission is started from the position of the byte to be downloaded in the second downloading task indicated by the second global variable so as to continuously complete the second downloading task.
The embodiment of the application further provides a data downloading method applied to the server, which can be specifically executed when a processor of the server runs a computer program with corresponding functions. The server may specifically be any terminal device capable of establishing a communication connection with the client and providing services such as data downloading and data storage for the client, for example, the server may specifically be a cloud server. The embodiment of the present application does not set any limitation to the specific type of the server.
As shown in fig. 3, the data downloading method applied to the server according to the embodiment of the present application includes the following steps executed by the server:
step S301, starting a first downloading service, and receiving a first data downloading request sent by a client through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task.
In the application, step S301 may automatically start to be executed after establishing a communication connection based on the first communication link with the client. Or after the server or the client has an abnormal condition such as power failure or crash in the midway, the first download service can be automatically started and continuously executed under the condition of powering on again or recovering to a normal working state, so as to realize data breakpoint continuous transmission. The first download service may be a process, thread, or subroutine.
In one embodiment, before step S301, the method includes:
opening a third physical link;
establishing a first communication link based on the third physical link; wherein the first communication link is used as a data transmission channel between the third physical link and a corresponding physical link of the client.
In an application, the third physical link may be a wired physical link based on a router or modem (e.g., an ethernet link), or a wireless physical link based on a 3G/4G/5G communication module. Correspondingly, the first communication link is a wired communication link based on a wired data transmission protocol or a wireless communication link based on a 3G/4G/5G communication protocol. Opening the third physical link refers to making the corresponding hardware module enter a working state, for example, making the router or the modem establish a dial-up connection based on TCP/IP with the corresponding physical link of the client, and making the 3G/4G/5G communication module of the client register in the wireless network of the network operator. The third physical link and the first physical link may be of the same or different types. When the type of the third physical link is different from that of the first physical link, the server is connected to a public network (i.e. the Internet) through the third physical link and the first communication link, and correspondingly, the client is also connected to the public network through the first physical link and the first communication link, so that the communication connection between the server and the client can be indirectly realized through the public network. When the type of the third physical link is the same as that of the first physical link, the server side and the client side can directly communicate.
Step S302, after responding to the first data download request, sending first data from the first operating point to the client through the first communication link according to the first progressive direction.
In the application, after receiving the first data downloading request, the server returns a first response data to the client if responding to the request. After the client receives the first response data and confirms that the server responds to the first data downloading request, the client can receive the first data sent by the server through the first communication link.
In one embodiment, before step S302, the method includes:
sending first response data to the client; wherein the first response data carries the length of the target data.
In one embodiment, after step S302, the method includes:
and when a first downloading ending request sent by the client is received, terminating the first downloading service.
In the application, when the first download task is completed, the client may automatically send a first download ending request to the server, and when receiving the first download ending request, the server responds to the first download ending request to automatically terminate the first download service.
Step S303, after the first downloading service is completed, terminating sending the first data to the client.
In the application, after the server finishes the first download task, the server can actively terminate sending the first data to the client.
Step S304, starting a second downloading service, and receiving a second data downloading request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of the byte to be downloaded in the second downloading task.
In application, step S304 may automatically start execution after establishing a communication connection based on the second communication link with the client. Or after the server or the client has an abnormal condition such as power failure or crash in the midway, the second download service can be automatically started and continuously executed under the condition of powering on again or recovering to a normal working state, so as to realize data breakpoint continuous transmission. The second download service may be a process, thread, or subroutine.
In one embodiment, before step S304, the method includes:
opening a fourth physical link;
establishing a second communication link based on the fourth physical link; wherein the second communication link is used as a data transmission channel between the fourth physical link and a corresponding physical link of the client.
In an application, the fourth physical link may be a wired physical link (e.g., an ethernet link) based on a router or a modem, or a wireless physical link based on a 3G/4G/5G communication module. Correspondingly, the second communication link is a wired communication link based on a wired data transmission protocol, or a wireless communication link based on a 3G/4G/5G communication protocol. Opening the fourth physical link refers to making the corresponding hardware module enter a working state, for example, making the router or the modem establish a dial-up connection based on TCP/IP with the corresponding physical link of the client, and making the 3G/4G/5G communication module of the client register in the wireless network of the network operator. The fourth physical link and the second physical link may be of the same or different types. When the type of the fourth physical link is different from that of the second physical link, the server is connected to the public network through the fourth physical link and the second communication link, and correspondingly, the client is also connected to the public network through the second physical link and the second communication link, so that the communication connection between the server and the client can be indirectly realized through the public network. When the type of the fourth physical link is the same as that of the second physical link, the server side and the client side can directly communicate. The server may have only one physical link available, two or more physical links but only one, or two or more physical links but only one, in which case the third physical link and the fourth physical link are the same physical link.
Step S305, after responding to the second data downloading request, sending second data to the client from the second working point through the second communication link according to the second progressive direction.
In the application, after receiving the second data downloading request, the server returns second response data to the client if responding to the request. After the client receives the second response data and confirms that the server responds to the second data downloading request, the client can receive the second data sent by the server through the second communication link. In one embodiment, step S305 is preceded by:
sending second response data to the client; and the second response data carries the length of the target data.
After step S305, the method includes:
and when a second downloading ending request sent by the client is received, terminating the second downloading service.
In the application, when the second download task is completed, the client may automatically send a second download ending request to the server, and when receiving the second download ending request, the server responds to the request and automatically terminates the second download service.
Step S306, after the second downloading service is completed, terminating sending the second data to the client.
In the application, after the server finishes the second downloading task, the server can actively terminate sending the second data to the client.
In one embodiment, before step S301, the method includes:
opening all available physical links;
monitoring a communication link establishment event on each available physical link;
opening a first communication link after monitoring a first communication link establishment event; the first communication link is used as a data transmission channel between a third physical link of the server and a corresponding physical link of the client;
opening a second communication link after monitoring a second communication link establishment event; the second communication link is used as a data transmission channel between a fourth physical link of the server and a corresponding physical link of the client.
In the application, the operation of establishing the communication link can also be initiated by the client, the server can open all available physical links, then monitors the communication link establishment event initiated by the client, and opens the first communication link after monitoring the first communication link establishment event; and opening the second communication link after monitoring the second communication link establishment event.
As shown in fig. 4, in one embodiment, before step S301, the method includes:
step 401, defining a third global variable for indicating the position of a byte to be sent in the first download service as a third working point;
before step S303, the method includes:
step 402, defining a fourth global variable for indicating the position of the byte to be sent in the second download service as a fourth operating point.
In application, when the first progressive direction is from beginning to end, the value of the third global variable may be set to an offset from the first byte of the target data, and the initial value of the third global variable is 0 byte offset from the first byte of the target data, denoted as S1 ═ 0; when the second progression direction is from tail to head, the value of the fourth global variable may be set to an offset from the tail byte of the target data, and the initial value of the fourth global variable may be offset from the first byte of the target data by 0 bytes, denoted as S2 ═ 0. Similarly, when the first forward direction is from tail to head, the value of the third global variable may be set to be offset from the tail byte of the target data, and the initial value of the third global variable is offset from the tail byte of the target data by 0 byte, which is represented as S1 being 0; when the second progression direction is from beginning to end, the value of the fourth global variable may be set to an offset from the first byte of the target data, and the initial value of the fourth global variable may be offset from the last byte of the target data by 0 bytes, which is denoted as S2 being 0.
As shown in fig. 4, in one embodiment, after step S301, the method includes:
step S403, updating the third global variable according to the length of the currently sent first data;
after step S305, the method includes:
and step S404, updating the fourth global variable according to the length of the currently sent second data.
In application, the server continuously transmits the first data to the client during the execution of the first download service, and updates the value of the third global variable according to the length of the currently transmitted first data, so that the value of the updated third global variable is equal to the sum of the value of the third global variable before updating and the length of the currently transmitted first data, that is, S1 is S1+ L1, wherein S1 on the left of the equation represents the value of the updated third global variable, S1 on the right of the equation represents the value of the third global variable before updating, and L1 represents the length of the currently transmitted first data. Similarly, the server continuously transmits the second data to the client during the execution of the second download service, and updates the value of the fourth global variable according to the length of the currently transmitted second data, so that the value of the updated fourth global variable is equal to the sum of the value of the fourth global variable before updating and the length of the currently transmitted second data, that is, S2 is S2+ L2, wherein S2 on the left of the equation represents the value of the updated fourth global variable, S2 on the right of the equation represents the value of the first global variable before updating, and L2 represents the length of the currently transmitted second data.
In application, the value of the third global variable and the value of the fourth global variable may be stored in a nonvolatile memory of the server, and the server also updates the value of the third global variable or the value of the fourth global variable stored in the nonvolatile memory synchronously after updating the value of the third global variable or the value of the fourth global variable each time, so that when data breakpoint resume is required, the value of the third global variable or the value of the fourth global variable may be called from the nonvolatile memory to obtain the position of a byte at which data breakpoint resume is required to be performed. The nonvolatile memory may be specifically a programmable read only memory, an electrically rewritable read only memory, an electrically erasable programmable read only memory, or a flash memory.
In an embodiment, based on the embodiment corresponding to fig. 4, after step S403, the method includes:
comparing the magnitude between the sum of the fourth global variable and the third global variable and the length of the target data;
when the sum of the fourth global variable and the third global variable is smaller than the length of the target data, determining that the first downloading service is not completed, and returning to execute the step of sending first data to the client from the first working point through the first communication link according to the first progressive direction;
when the sum of the fourth global variable and the third global variable is greater than or equal to the length of the target data, judging that the first downloading service is completed;
after step S404, the method includes:
comparing the magnitude between the sum of the third global variable and the fourth global variable and the length of the target data;
when the sum of the third global variable and the fourth global variable is smaller than the length of the target data, judging that the second downloading service is not finished, and returning to execute the step of sending second data to the client from the second working point through the second communication link according to the second progressive direction;
and when the sum of the third global variable and the fourth global variable is greater than or equal to the length of target data, judging that the second download service is finished.
In the application, it may be determined whether the third download service is completed by comparing a size between a sum of the fourth global variable and the third global variable and a length of the target data. When S1+ S2 < L, indicating that the third download service is not completed, wherein S1 denotes a value of a third global variable, S2 denotes a value of a fourth global variable, and L denotes a length of the target data; when S1+ S2 ≧ L, it indicates that the third download service has completed. Similarly, by comparing the sum of the third global variable and the fourth global variable with the length of the target data, it may be determined whether the fourth download service is completed. When S1+ S2 < L, it indicates that the fourth download service is not completed; when S1+ S2 ≧ L, it indicates that the fourth download service has completed.
Fig. 3 is a diagram illustrating a data downloading method applied to a server according to an embodiment of the present invention, where the data downloading method is implemented by initiating a first downloading service and receiving a first data downloading request sent by a client through a first communication link; after responding to the first data downloading request, sending first data to the client from a first working point through a first communication link according to a first progressive direction; after the first downloading service is finished, stopping sending the first data to the client; receiving a second data downloading request sent by the client through a second communication link by starting a second downloading service; after responding to the second data downloading request, sending second data to the client from a second working point through a second communication link according to a second progressive direction; after the second downloading service is completed, the sending of the second data to the client is stopped, and a part of data belonging to the same target data can be respectively sent to the client from two opposite directions through two communication links, so that the data downloading speed can be effectively increased, the two parts of data can be seamlessly matched and connected, and the data downloading speed can be further increased compared with the commonly used methods of compressing the target data or optimizing a transmission protocol and the like. And because the two communication links are independent and do not interfere with each other, when the sending rate of one communication link is slow, the communication quality is poor, and even the communication is terminated due to network interruption, the other communication link can still continue to send data without being influenced, thereby effectively improving the reliability of the data downloading process. In addition, by starting the two available physical links, the physical link of the server can be ensured to be charged and utilized, the occupation time of a single physical link is reduced, and the tolerance of the single physical link is reduced; when the server has only one physical link and is available, two or more physical links but only one physical link are available, or two or more available physical links but only one physical link is used, the data transmission function on two different communication links is realized by opening one available physical link and multiplexing, so that the requirement on the total number of the physical links and the requirement on the number of the available physical links set by the server can be effectively reduced, and the reliability of the data downloading process can be effectively improved.
In the embodiment corresponding to fig. 4, by defining the third global variable and the fourth global variable, whether the first download service and the second download service have been completed may be respectively determined according to a size relationship between a sum of the third global variable and the fourth global variable and a length of the target data; and when breakpoint continuous transmission is needed, breakpoint continuous transmission is started from the position of the byte to be transmitted in the first download service indicated by the third global variable to continue to complete the first download service, and breakpoint continuous transmission is started from the position of the byte to be transmitted in the second download service indicated by the fourth global variable to continue to complete the second download service.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
As shown in fig. 5, an embodiment of the present application further provides a data downloading device 100 applied to a client, for executing the method steps in the data downloading method embodiment corresponding to fig. 1, where the data downloading device 100 may be a virtual device (virtual application) in the client, and is executed by a processor of the client, or may be the client itself.
As shown in fig. 5, the data downloading apparatus 100 provided in the embodiment of the present application includes:
the first sending module 101 is configured to start a first downloading task and send a first data downloading request to the server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a first receiving module 102, configured to receive, through the first communication link, first data that is sent by the server from the first operating point according to the first progressive direction after the server responds to the first data downloading request;
a second sending module 103, configured to start a second download task, and send a second data download request to the server through a second communication link different from the first communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a second receiving module 104, configured to receive, through the second communication link, second data that is sent by the server from the second working point according to the second progressive direction after the server responds to the second data downloading request;
a synthesizing module 105, configured to synthesize target data according to the received first data and the received second data after the first download task and the second download task are completed;
in one embodiment, the data downloading apparatus further includes:
the first starting module is used for starting a first physical link;
a first establishing module, configured to establish a first communication link based on the first physical link; the first communication link is used as a data transmission channel between the first physical link and a corresponding physical link of the server.
In one embodiment, the first receiving module is further configured to receive first response data sent by the server; wherein the first response data carries the target data identifier and the length of the target data.
In one embodiment, the first opening module is further configured to open a second physical link;
the first establishing module is further configured to establish a second communication link based on the second physical link; the second communication link is used as a data transmission channel between the second physical link and a corresponding physical link of the server.
In one embodiment, the first opening module is further configured to open all available physical links;
the data downloading device further comprises:
the first monitoring module is used for monitoring communication link establishment events on each physical link;
the first opening module is further configured to:
opening a first communication link after monitoring a first communication link establishment event; the first communication link is used as a data transmission channel between a first physical link of the client and a corresponding physical link of the server;
opening a second communication link after monitoring a second communication link establishment event; the second communication link is used as a data transmission channel between a second physical link of the client and a corresponding physical link of the server.
In one embodiment, the second receiving module is further configured to receive second response data sent by the server; and the second response data carries the length of the target data.
In one embodiment, the data downloading apparatus further includes a first defining module configured to:
defining a first global variable for indicating the position of a byte to be downloaded in a first downloading task as a first working point;
and defining a second global variable for indicating the position of the byte to be downloaded in the second downloading task as a second working point.
In one embodiment, the data downloading apparatus further includes:
the storage module is used for writing the currently received first data into a first temporary storage space;
the first updating module is used for updating the first global variable according to the length of the currently received first data;
the storage module is further used for writing the currently received second data into a second temporary storage space;
the first updating module is further configured to update the second global variable according to the length of the currently received second data.
In one embodiment, the data downloading apparatus further includes:
the first comparison module is used for comparing the size between the sum of the second global variable and the first global variable and the length of target data;
a first determination module to:
when the sum of the second global variable and the first global variable is smaller than the length of target data, judging that the first downloading task is not finished, and returning to execute the step of receiving first data sent by the server from the first working point according to the first progressive direction through the first communication link;
when the sum of the second global variable and the first global variable is greater than or equal to the length of target data, judging that the first downloading task is finished and terminating the first downloading task;
the first comparison module is further used for comparing the size between the sum of the first global variable and the second global variable and the length of target data;
the first determination module is further configured to:
when the sum of the first global variable and the second global variable is smaller than the length of target data, judging that the second downloading task is not finished, and returning to execute the step of receiving second data sent by the server from the second working point according to the second progressive direction through the second communication link;
and when the sum of the first global variable and the second global variable is greater than or equal to the length of target data, judging that the second downloading task is finished and terminating the second downloading task.
In one embodiment, the first sending module is further configured to send a first end downloading request to the server to terminate the first downloading task;
the second sending module is further configured to send a second download ending request to the server, so as to terminate the second download task.
In application, each module in the data downloading device may be a software program module, may also be implemented by different logic circuits integrated in a processor, and may also be implemented by a plurality of distributed processors.
As shown in fig. 6, the embodiment of the present application further provides a data downloading device 200 applied to the server, for executing the method steps in the data downloading method embodiment corresponding to fig. 3, where the data downloading device 200 may be a virtual device in the server, and is run by a processor of the server, or may be the server itself.
As shown in fig. 6, the data downloading apparatus 200 provided in the embodiment of the present application includes:
a third receiving module 201, configured to start a first downloading service, and receive a first data downloading request sent by a client through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a third sending module 202, configured to send, after responding to the first data download request, first data to the client from the first operating point through the first communication link according to the first progressive direction;
a first termination module 203, configured to terminate sending the first data to the client after the first download service is completed;
a fourth receiving module 204, configured to start a second download service, and receive a second data download request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a fourth sending module 205, configured to send, after responding to the second data download request, second data to the client from the second working point through the second communication link according to the second progressive direction;
a second termination module 206, configured to terminate sending the second data to the client after the second download service is completed.
In one embodiment, the data downloading apparatus further includes:
the second opening module is used for opening a third physical link;
a second establishing module, configured to establish a first communication link based on the third physical link; wherein the first communication link is used as a data transmission channel between the third physical link and a corresponding physical link of the client.
In one embodiment, the third sending module is further configured to send first response data to the client; wherein the first response data carries the length of the target data.
In one embodiment, the first termination module is further configured to terminate the first download service when receiving a first end download request sent by the client.
In one embodiment, the second starting module is further configured to start a fourth physical link;
the second establishing module is further configured to establish a second communication link based on the fourth physical link; wherein the second communication link is used as a data transmission channel between the fourth physical link and a corresponding physical link of the client.
In one embodiment, the fourth sending module is further configured to send second response data to the client; and the second response data carries the length of the target data.
In one embodiment, the second termination module is further configured to terminate the second download service when receiving a second download ending request sent by the client.
In one embodiment, the second opening module is further configured to open all available physical links;
the second monitoring module is further configured to monitor a communication link establishment event on each available physical link;
the second opening module is further configured to:
opening a first communication link after monitoring a first communication link establishment event; the first communication link is used as a data transmission channel between a third physical link of the server and a corresponding physical link of the client;
opening a second communication link after monitoring a second communication link establishment event; the second communication link is used as a data transmission channel between a fourth physical link of the server and a corresponding physical link of the client.
In the application, the operation of establishing the communication link can also be initiated by the client, the server can open all available physical links, then monitors the communication link establishment event initiated by the client, and opens the first communication link after monitoring the first communication link establishment event; and opening the second communication link after monitoring the second communication link establishment event.
In one embodiment, the data downloading apparatus further includes a second defining module, configured to:
defining a third global variable for indicating the position of a byte to be sent in the first downloading service as a third working point;
a fourth global variable indicating a position of a byte to be transmitted in the second download service is defined as a fourth operation point.
In one embodiment, the data downloading apparatus further includes a second updating module configured to:
updating the third global variable according to the length of the currently sent first data;
and updating the fourth global variable according to the length of the currently sent second data.
In one embodiment, the data downloading apparatus further comprises:
the second comparison module is used for comparing the size between the sum of the fourth global variable and the third global variable and the length of the target data;
a second determination module to:
when the sum of the fourth global variable and the third global variable is smaller than the length of the target data, determining that the first downloading service is not completed, and returning to execute the step of sending first data to the client from the first working point through the first communication link according to the first progressive direction;
when the sum of the fourth global variable and the third global variable is greater than or equal to the length of the target data, judging that the first downloading service is completed;
the second comparison module is further used for comparing the size between the sum of the third global variable and the fourth global variable and the length of the target data;
the second determination module is further configured to:
when the sum of the third global variable and the fourth global variable is smaller than the length of the target data, judging that the second downloading service is not finished, and returning to execute the step of sending second data to the client from the second working point through the second communication link according to the second progressive direction;
and when the sum of the third global variable and the fourth global variable is greater than or equal to the length of target data, judging that the second download service is finished.
In application, each module in the data downloading device may be a software program module, may also be implemented by different logic circuits integrated in a processor, and may also be implemented by a plurality of distributed processors.
As shown in fig. 7, an embodiment of the present application further provides a data breakpoint continuous transmission system, which includes two terminal devices, namely a client 1 and a server 2, that are connected by a first communication link and a second communication link in a communication manner.
The client 1 includes: at least one processor 10 (only one processor is shown in fig. 7), a memory 11, and a computer program 12 stored in the memory 11 and operable on the at least one processor 10, wherein the processor 10 executes the computer program 12 to implement the steps in the data downloading method embodiment corresponding to fig. 1 or fig. 2.
The server 2 includes: at least one processor 20 (only one processor is shown in fig. 7), a memory 21, and a computer program 22 stored in the memory 21 and operable on the at least one processor 20, wherein the processor 20 executes the computer program 22 to implement the steps in the data downloading method embodiment corresponding to fig. 3 or fig. 4.
In an application, client 1 and server 2 may include, but are not limited to, a processor and a memory. Those skilled in the art will appreciate that fig. 7 is merely an example of the client 1 and the server 2, and does not constitute a limitation to the client 1 and the server 2, and may include more or less components than those shown, or combine some components, or different components, such as an input-output device, a network access device, and the like.
In an Application, the Processor may be a Central Processing Unit (CPU), and the Processor may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
In some embodiments, the storage may be an internal storage unit of the terminal device, such as a hard disk or a memory of the terminal device. The memory may also be an external storage device of the terminal device in other embodiments, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like provided on the terminal device. Further, the memory may also include both an internal storage unit of the terminal device and an external storage device. The memory is used for storing an operating system, application programs, a BootLoader (BootLoader), data, and other programs, such as program codes of computer programs. The memory may also be used to temporarily store data that has been output or is to be output.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/units, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and specific reference may be made to the part of the embodiment of the method, which is not described herein again.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
An embodiment of the present application further provides a network device, where the network device includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, the processor implementing the data downloading method of any of the above embodiments when executing the computer program.
The embodiment of the present application provides a computer-readable storage medium, which stores a computer program, and the computer program, when executed by a processor, implements the data downloading method according to any of the above embodiments.
The embodiment of the present application provides a computer program product, which, when running on a terminal device, enables the terminal device to execute the data downloading method described in any of the above embodiments.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer Memory, Read-Only Memory (ROM), random-access Memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (11)

1. A data downloading method is applied to a client side, and comprises the following steps:
starting a first downloading task, and sending a first data downloading request to a server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
after the server side responds to the first data downloading request, first data sent by the server side from the first working point according to the first progressive direction is received through the first communication link;
starting a second downloading task, and sending a second data downloading request to the server through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
after the server side responds to the second data downloading request, second data sent by the server side from the second working point according to the second progressive direction is received through the second communication link;
and after the first downloading task and the second downloading task are finished, synthesizing target data according to the received first data and the received second data.
2. The data downloading method of claim 1, wherein before starting the first downloading task and sending the first data downloading request to the server via the first communication link, the method comprises:
defining a first global variable for indicating the position of a byte to be downloaded in the first downloading task as the first working point;
starting a second downloading task, and before sending a second data downloading request to a server through a second communication link different from the first communication link, the method includes:
and defining a second global variable for indicating the position of the byte to be downloaded in the second downloading task as the second working point.
3. The data downloading method of claim 2, wherein after receiving first data transmitted by the server from the first operating point in the first forward direction via the first communication link, the method comprises:
writing the currently received first data into a first temporary storage space;
updating the first global variable according to the length of the currently received first data;
after receiving, through the second communication link, second data that is sent by the server from the second operating point according to the second progressive direction, the method includes:
writing the currently received second data into a second temporary storage space;
and updating the second global variable according to the length of the currently received second data.
4. The data downloading method of claim 3, wherein after updating the first global variable according to the length of the first data currently received, comprising:
comparing the magnitude between the sum of the second global variable and the first global variable and the length of the target data;
when the sum of the second global variable and the first global variable is smaller than the length of target data, judging that the first downloading task is not finished, and returning to execute the step of receiving first data sent by the server from the first working point according to the first progressive direction through the first communication link;
when the sum of the second global variable and the first global variable is greater than or equal to the length of target data, judging that the first downloading task is finished and terminating the first downloading task;
after updating the second global variable according to the length of the currently received second data, the method includes:
comparing the magnitude between the sum of the first global variable and the second global variable and the length of the target data;
when the sum of the first global variable and the second global variable is smaller than the length of target data, judging that the second downloading task is not finished, and returning to execute the step of receiving second data sent by the server from the second working point according to the second progressive direction through the second communication link;
and when the sum of the first global variable and the second global variable is greater than or equal to the length of target data, judging that the second downloading task is finished and terminating the second downloading task.
5. The data downloading method of any one of claims 1 to 4, wherein the first progressive direction is opposite to the second progressive direction and is one of head-to-tail and tail-to-head, respectively.
6. The data downloading method of any one of claims 1 to 4, wherein after the first downloading task is started and the first data downloading request is sent to the server through the first communication link, the method comprises the following steps:
receiving first response data sent by the server; wherein the first response data carries the length of the target data;
starting a second downloading task, and after sending a second data downloading request to the server through a second communication link, the method includes:
receiving second response data sent by the server; and the second response data carries the length of the target data.
7. The data downloading method of any one of claims 1 to 4, wherein before sending the first data downloading request to the server via the first communication link, the method comprises:
opening a first physical link;
establishing the first communication link based on the first physical link; the first communication link is used as a data transmission channel between the first physical link and a corresponding physical link of the server side;
before sending the second data downloading request to the server through the second communication link, the method includes:
opening a second physical link;
establishing the second communication link based on the second physical link; the second communication link is used as a data transmission channel between the second physical link and a corresponding physical link of the server.
8. A data downloading method is applied to a server side, and the method comprises the following steps:
starting a first downloading service, and receiving a first data downloading request sent by a client through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
after responding to the first data downloading request, sending first data to the client from the first working point through the first communication link according to the first progressive direction;
after the first downloading service is finished, stopping sending the first data to the client;
starting a second downloading service, and receiving a second data downloading request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
after responding to the second data downloading request, sending second data to the client from the second working point through the second communication link according to the second progressive direction;
and after the second downloading service is finished, stopping sending the second data to the client.
9. The data downloading method of claim 8, wherein before initiating the first downloading service and receiving the first data downloading request sent by the client over the first communication link, comprising:
opening all available physical links;
monitoring a communication link establishment event on each available physical link;
opening a first communication link after monitoring a first communication link establishment event; the first communication link is used as a data transmission channel between a third physical link of the server and a corresponding physical link of the client;
when a second communication link establishment event is monitored, starting the second communication link; the second communication link is used as a data transmission channel between a fourth physical link of the server and a corresponding physical link of the client.
10. A data downloading device, when applied to a client, comprising:
the first sending module is used for starting a first downloading task and sending a first data downloading request to the server through a first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a first receiving module, configured to receive, through the first communication link, first data that is sent by the server from the first operating point according to the first progressive direction after the server responds to the first data download request;
the second sending module is used for starting a second downloading task and sending a second data downloading request to the server through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a second receiving module, configured to receive, through the second communication link, second data that is sent by the server from the second working point according to the second progressive direction after the server responds to the second data download request;
a synthesizing module, configured to synthesize target data according to the received first data and the received second data after the first download task and the second download task are completed;
when the device is applied to a server, the device comprises:
the third receiving module is used for starting the first downloading service and receiving a first data downloading request sent by the client through the first communication link; the first data downloading request carries a first progressive direction and a first working point, and the first working point is used for indicating the position of a byte to be downloaded in the first downloading task;
a third sending module, configured to send, after responding to the first data download request, first data from the first operating point to the client through the first communication link in the first progressive direction;
a first termination module, configured to terminate sending the first data to the client after the first download service is completed;
the fourth receiving module is used for starting a second downloading service and receiving a second data downloading request sent by the client through a second communication link; the second data downloading request carries a second progressive direction and a second working point, and the second working point is used for indicating the position of a byte to be downloaded in the second downloading task;
a fourth sending module, configured to send, after responding to the second data download request, second data from the second working point to the client through the second communication link in the second progressive direction;
and the second termination module is used for terminating the sending of the second data to the client after the second downloading service is finished.
11. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the terminal device is a client, the processor executes the computer program to implement the data downloading method according to any one of claims 1 to 7;
when the terminal device is a server, the processor executes the computer program to implement the data downloading method according to claim 8 or 9.
CN202010373296.7A 2020-05-06 2020-05-06 Data downloading method and device and terminal equipment Pending CN111726389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010373296.7A CN111726389A (en) 2020-05-06 2020-05-06 Data downloading method and device and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010373296.7A CN111726389A (en) 2020-05-06 2020-05-06 Data downloading method and device and terminal equipment

Publications (1)

Publication Number Publication Date
CN111726389A true CN111726389A (en) 2020-09-29

Family

ID=72564248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010373296.7A Pending CN111726389A (en) 2020-05-06 2020-05-06 Data downloading method and device and terminal equipment

Country Status (1)

Country Link
CN (1) CN111726389A (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012024863A1 (en) * 2010-08-23 2012-03-01 中兴通讯股份有限公司 Mobile terminal and download method thereof
CN104702371A (en) * 2015-01-14 2015-06-10 赵树乔 Dual-link data transmission method based on network reliable transmission protocol
CN104796945A (en) * 2014-01-16 2015-07-22 中国移动通信集团广东有限公司 Double-link data transmission method, double-link data transmission device, double-link data transmission system and terminal
CN105228133A (en) * 2015-07-10 2016-01-06 努比亚技术有限公司 Multi-channel data method for down loading and system
CN105847139A (en) * 2016-03-25 2016-08-10 乐视控股(北京)有限公司 Data transmission method, apparatus and system
CN105991818A (en) * 2015-01-30 2016-10-05 深圳酷派技术有限公司 File downloading method and terminal
CN106559806A (en) * 2015-09-25 2017-04-05 努比亚技术有限公司 Double-channel data transmission method, device, network node and mobile terminal
WO2017084313A1 (en) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 File downloading method and apparatus, and electronic device
CN107612957A (en) * 2017-07-13 2018-01-19 深圳天珑无线科技有限公司 The method and system of channel transmission downlink data, client, server

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012024863A1 (en) * 2010-08-23 2012-03-01 中兴通讯股份有限公司 Mobile terminal and download method thereof
CN104796945A (en) * 2014-01-16 2015-07-22 中国移动通信集团广东有限公司 Double-link data transmission method, double-link data transmission device, double-link data transmission system and terminal
CN104702371A (en) * 2015-01-14 2015-06-10 赵树乔 Dual-link data transmission method based on network reliable transmission protocol
CN105991818A (en) * 2015-01-30 2016-10-05 深圳酷派技术有限公司 File downloading method and terminal
CN105228133A (en) * 2015-07-10 2016-01-06 努比亚技术有限公司 Multi-channel data method for down loading and system
CN106559806A (en) * 2015-09-25 2017-04-05 努比亚技术有限公司 Double-channel data transmission method, device, network node and mobile terminal
WO2017084313A1 (en) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 File downloading method and apparatus, and electronic device
CN105847139A (en) * 2016-03-25 2016-08-10 乐视控股(北京)有限公司 Data transmission method, apparatus and system
CN107612957A (en) * 2017-07-13 2018-01-19 深圳天珑无线科技有限公司 The method and system of channel transmission downlink data, client, server

Similar Documents

Publication Publication Date Title
US8184026B2 (en) Mobile industry processor interface
CN110471692B (en) Over-the-air upgrading method, device, equipment and storage medium of terminal program
JP2002518959A (en) Communication method and communication device
US20060069755A1 (en) Maintaining mobile device electronic files
WO2023216845A1 (en) Firmware update method for embedded device, embedded device, and development end device
WO2022104555A1 (en) Mqtt protocol-based communication method and device
CN110675159A (en) Financial market transaction advance risk control method and system and electronic equipment
CN111478751B (en) Data breakpoint continuous transmission method and device and terminal equipment
CN111932244A (en) Information processing method, device, equipment and medium
CN111726389A (en) Data downloading method and device and terminal equipment
CN112270536B (en) POS-based aggregated payment method, system and related device
US20220407660A1 (en) Processor communication method, electronic device, and computer readable storage medium
WO2023123910A1 (en) Fault processing method and apparatus, and device and storage medium
KR102506155B1 (en) Electronic device, application executing system and control methods thereof
CN114978898A (en) Data transmission control method and device, head-up display and storage medium
CN111431892B (en) Accelerator management architecture and method and accelerator interface controller
CN114528154A (en) Electric energy meter data recovery method, device, equipment and computer storage medium
CN111277557B (en) Real-time communication method, equipment and storage medium
CN111061518A (en) Data processing method, system, terminal device and storage medium based on drive node
WO2023185557A1 (en) Control method and apparatus for intelligent point of sale, terminal device and storage medium
CN114968621B (en) Data communication method, device, equipment, storage medium and system
CN114968314B (en) Firmware upgrading method and device for display equipment, electronic equipment and storage medium
CN115291911A (en) OTA (over the air) upgrading method, device, terminal and storage medium for vehicle ECU (electronic control Unit)
US20240311135A1 (en) Center device and campaign information distribution method
CN114461264B (en) Patching method, patch generating method and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200929

RJ01 Rejection of invention patent application after publication