Data transmission method, terminal equipment and data storage system
By adding network monitoring and content slicing modules to the terminal device, multimedia data blocks are stored in different storage spaces according to the network status, the problem that multimedia content cannot be transmitted in real time in the prior art is solved, and real-time storage and playback of multimedia content is realized. Improve the real-time nature of cloud storage transmission and ensure video quality.
Patent Information
- Application Number
- CN202010933318.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-08
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2040-09-08
AI Technical Summary
Existing cloud storage methods fail to realize real-time transmission of multimedia content, and often require the real-time nature of transmission or video quality to complete data transmission.
通过在终端设备中增加网络监控和内容切片模块,根据网络状态将多媒体数据块存储在不同存储空间,并根据存储文件实时分配传输路径及存储位置,实现多媒体内容的实时存储和播放。
Real-time transmission and storage of multimedia content is realized, real-time transmission of cloud storage, and the quality of multimedia content is guaranteed, solving the problems of video compression and quality reduction caused by network restrictions.
Smart Images

Figure CN114157678B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a data transmission method, terminal equipment and a data storage system. Background Art
[0002] With the development of terminal technology and Internet technology, the performance of shooting terminals such as mobile phone cameras or professional video equipment has been continuously improved, and the amount of multimedia content (pictures, videos, etc.) has been increasing. This will lead to a shortage of local storage space. Traditional storage methods and architectures can hardly meet the needs.
[0003] With the development of 5G networks, gigabit home broadband, and cloud computing technologies, cloud storage has become a more convenient storage method. However, current cloud storage methods have some limitations, such as not considering network transmission performance and failing to meet the real-time transmission requirements of instant shooting and transmission. In actual applications, cloud transmission of multimedia content is usually completed by sacrificing the real-time transmission or the quality of multimedia content. Summary of the invention
[0004] The present invention provides a data transmission method, terminal equipment and data storage system, which solves the problem in the prior art that multimedia content cannot be transmitted in real time.
[0005] In order to solve the above technical problems, the technical solution of the present invention is as follows:
[0006] A data transmission method, applied to a terminal, comprising:
[0007] Acquiring multimedia data;
[0008] Dividing the multimedia data into N data blocks according to the network access status of the first terminal;
[0009] According to the connection status between the first terminal and the first server and the second server, N1 data blocks among the N data blocks are stored in the first server, and N2 data blocks among the N data blocks are stored in the second server, N1+N2≤N.
[0010] Optionally, after dividing the multimedia data into N data blocks, the method further includes:
[0011] The N data blocks are respectively marked with a timeline and a storage location tag to generate a storage location file; the storage location tag is used to mark the server where the data block is to be stored;
[0012] The storage location file is sent to the second server.
[0013] Optionally, the data transmission method further includes:
[0014] The second terminal initiates a data playback request;
[0015] When the second server and the first server complete synchronization, the second terminal receives the playback data fed back by the second server or the third server according to the connection status between the second terminal and the third server;
[0016] When the second server has not completed synchronization with the first server, the second server receives the playback data fed back by the first server and the second server according to the storage location file sent by the second server.
[0017] Optionally, receiving the playback data fed back by the second server or the third server according to the connection state between the second terminal and the third server includes:
[0018] When the second terminal is not connected to the third server, receiving the playback data fed back by the second server according to the data playback request; or
[0019] When the second terminal is connected to a third server and the third server stores the data requested by the data playback request, receiving the playback data fed back by the third server according to the data playback request; or,
[0020] When the second terminal is connected to the third server and the third server does not store the data requested by the data playback request, the playback data fed back according to the data playback request is received from the second server or the third server according to the propagation time of the playback data in different paths.
[0021] Optionally, receiving the playback data fed back according to the data playback request from the second server or the third server according to the propagation time of the playback data in different paths includes:
[0022] When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data received and forwarded by the third server from the second server;
[0023] When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data fed back by the second server.
[0024] Optionally, receiving the playback data fed back by the first server and the second server according to the storage location file sent by the second server includes:
[0025] Sending a first request to the first server according to the storage location tag of the data block in the storage location file sent by the second server, and sending a second request to the second server;
[0026] receiving first data fed back by the first server according to the first request, and receiving second data fed back by the second server according to the second request;
[0027] The first data and the second data are played according to the timeline of the data blocks in the storage location file.
[0028] Optionally, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0029] Optionally, the first terminal and the second terminal are the same terminal or different terminals.
[0030] An embodiment of the present invention provides a data transmission method, which is applied to a server. The method includes:
[0031] A first server among the servers receives N1 data blocks sent by the first terminal;
[0032] The second server among the servers receives N2 data blocks sent by the first terminal, wherein N1+N2≤N, and N is the N data blocks obtained by the first terminal after the first terminal fragments the multimedia data according to the network access status of the first terminal.
[0033] Optionally, the data transmission method further includes:
[0034] The second server receives the storage location file sent by the first terminal, where the storage location file includes: a marking timeline of the N data blocks and a storage location tag, where the storage location tag is used to mark a server where the data block is to be stored.
[0035] Optionally, the data transmission method further includes:
[0036] The second server synchronizes data blocks with the first server according to the storage location file.
[0037] Optionally, the data transmission method further includes:
[0038] Receiving a data playback request initiated by a second terminal;
[0039] When the second server and the first server complete synchronization, the second server or the third server feeds back the playback data requested by the data playback request according to the connection status between the second terminal and a third server among the servers;
[0040] When the second server is not synchronized with the first server, the first server and the second server feed back the playback data requested by the data playback request.
[0041] Optionally, according to a connection state between the second terminal and a third server among the servers, the second server or the third server feeds back the playback data requested by the data playback request, including:
[0042] When the second terminal is not connected to the third server, the second server feeds back the playback data requested by the data playback request; or,
[0043] When the second terminal is connected to the third server, and the third server stores the data requested by the data playback request, the third server feeds back the playback data requested by the data playback request; or,
[0044] When the second terminal is connected to the third server, and the third server does not store the data requested by the data playback request, the second server or the third server feeds back the playback data requested by the data playback request according to the propagation time of the playback data in different paths.
[0045] Optionally, according to the propagation time of the playback data in different paths, the second server or the third server feeds back the playback data requested by the data playback request, including:
[0046] When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the third server receives the playback data from the second server and forwards it to the second terminal;
[0047] When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second server feeds back the playback data to the second terminal and sends the playback data to the third server.
[0048] Optionally, when the second server is not synchronized with the first server, the first server and the second server feed back the playback data requested by the data playback request, including:
[0049] The first server receives a first request sent by the second terminal according to a storage location tag of a data block in a storage location file sent by the second server;
[0050] The second server receives a second request sent by the second terminal according to the storage location tag of the data block in the storage location file sent by the second server;
[0051] The first server feeds back first data to the second terminal according to the first request;
[0052] The second server feeds back second data to the second terminal according to the second request.
[0053] Optionally, the data transmission method further includes:
[0054] According to a preset time interval, if a second terminal that has initiated a play request accesses the first server or the third server again, the storage state of the first server or the third server is maintained; otherwise, the data block stored in the first server or the third server is deleted.
[0055] Optionally, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0056] Optionally, the first terminal and the second terminal are the same terminal or different terminals.
[0057] An embodiment of the present invention provides a terminal device, including:
[0058] A collection module, used to obtain multimedia data;
[0059] a data slicing module, configured to divide the multimedia data into N data blocks according to the network access status of the first terminal;
[0060] The local storage scheduling module is used to store N1 data blocks among the N data blocks to the first server and store N2 data blocks among the multiple data blocks to the second server according to the connection status of the first terminal and the first server or the second server, N1+N2≤N.
[0061] An embodiment of the present invention provides a data storage system, including: a first server and a second server, wherein:
[0062] The first server receives N1 data blocks sent by the first terminal;
[0063] The second server receives N2 data blocks sent by the first terminal;
[0064] Among them, N1+N2≤N, and N is N data blocks obtained by fragmenting the multimedia data acquired by the first terminal according to the network access status of the first terminal.
[0065] An embodiment of the present invention further provides a communication device, comprising: a processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method described above is executed.
[0066] An embodiment of the present invention provides a computer-readable storage medium storing instructions, which, when executed on a computer, enables the computer to execute the method described above.
[0067] The above solution of the present invention includes at least the following beneficial effects:
[0068] The above-mentioned scheme of the present invention realizes real-time storage and playback of multimedia content by adding a network monitoring and content slicing module to the terminal device, storing the data blocks of multimedia content in different storage spaces according to the network status, and playing the multimedia data according to the stored files. During network transmission, the transmission path and storage location are allocated in real time according to the network status and the storage location status, which solves the problem of the prior art scheme compressing the video and reducing the video quality due to network limitations. It realizes the instant transmission of multimedia content coordinated by the end, edge and cloud, realizes the real-time transmission and storage of multimedia data, improves the real-time performance of cloud storage transmission, and ensures the quality of multimedia content. The present invention provides a data transmission method, a terminal device and a data storage system. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 A schematic diagram of a data transmission method according to an embodiment of the present invention;
[0070] Figure 2 Another schematic diagram of a data transmission method according to an embodiment of the present invention;
[0071] Figure 3 A schematic diagram of a terminal device according to an embodiment of the present invention;
[0072] Figure 4 Schematic diagram of a data transmission system according to an embodiment of the present invention. DETAILED DESCRIPTION
[0073] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0074] like Figure 1 The embodiment of the present invention provides a data transmission method, which is applied to a terminal, and the method includes:
[0075] Step 110, obtaining multimedia data;
[0076] Step 120, dividing the multimedia data into N data blocks according to the network access status of the first terminal;
[0077] Step 130: store N1 data blocks among the N data blocks to the first server and store N2 data blocks among the N data blocks to the second server according to the connection status of the first terminal with the first server and the second server, N1+N2≤N.
[0078] In the above scheme of the present invention, the first terminal is a terminal for collecting multimedia data. The user initiates a shooting operation through a multimedia data collection device such as a mobile phone camera, a home surveillance camera or a video collection device on other devices. The first server is a local server and / or an edge server connected to the collection terminal. The local server is, for example, a home gateway in a smart home device network, and the edge server is, for example, located on the access network side of the collection. The second server is a cloud server. Based on the network access status and quality between the collection terminal and different servers, different data blocks are stored in different servers, so that real-time transmission and storage of multimedia data can be achieved.
[0079] In an optional embodiment of the present invention, after dividing the multimedia data into N data blocks, the method further includes:
[0080] The N data blocks are respectively marked with a timeline and a storage location tag to generate a storage location file; the storage location tag is used to mark the server where the data block is to be stored;
[0081] The storage location file is sent to the second server.
[0082] In this embodiment, the acquisition terminal monitors the current real-time network data, and according to the network access status and quality, cuts the locally cached video content into data blocks of a size suitable for the current network status transmission. The acquisition terminal determines the storage location of each data block (for example, stored in a local storage server, edge server or cloud server) according to the network access situation, labels each data block with a timeline and storage location, and records and generates a storage location file. The data blocks with timeline and storage location labels are transmitted to the corresponding network storage device (for example, a local storage server, MEC server or cloud server) through the network. The user finishes shooting on the acquisition device and uploads the storage location file to the cloud server through the network. The cloud server synchronizes the data blocks stored in the cloud server and the local server and / or edge server according to the storage location file, so that the data blocks stored in the cloud server and the local server and / or edge server have complete multimedia video files.
[0083] In an optional embodiment of the present invention, the data transmission method further includes:
[0084] Step 140: The second terminal initiates a data playback request;
[0085] Step 150: when the second server and the first server complete synchronization, receiving the playback data fed back by the second server or the third server according to the connection status between the second terminal and the third server;
[0086] Step 160: When the second server has not completed synchronization with the first server, the playback data fed back by the first server and the second server are received according to the storage location file sent by the second server.
[0087] In this embodiment, the second terminal initiates a request to play multimedia data. The second terminal that initiates the request to play multimedia data may be a playback terminal located at a different location from the acquisition terminal and belonging to a different network, or it may be the same terminal, which is not specifically limited here. When the playback terminal and the acquisition terminal are different terminals located at different locations, the playback terminal may have its own local server and / or edge server. After the cloud server has completed synchronization with the local server and / or edge server in the acquisition, it is determined how to feedback the playback data based on whether the playback terminal has its own local server and / or edge server. When the cloud server has not completed synchronization, the playback terminal obtains the data requested to be played based on the content of the storage location file.
[0088] In an optional embodiment of the present invention, step 150 further includes:
[0089] When the second terminal is not connected to the third server, receiving the playback data fed back by the second server according to the data playback request; or
[0090] When the second terminal is connected to a third server and the third server stores the data requested by the data playback request, receiving the playback data fed back by the third server according to the data playback request; or,
[0091] When the second terminal is connected to the third server and the third server does not store the data requested by the data playback request, the playback data fed back according to the data playback request is received from the second server or the third server according to the propagation time of the playback data in different paths.
[0092] In this embodiment, the acquisition terminal determines whether the player that initiates the playback request has a local server and / or edge server. If not, the cloud server pushes content suitable for the current network quality and clarity to the playback terminal. If the playback terminal has a local server and / or edge server and the multimedia content requested to be played is stored therein, the content requested to be played is directly pushed to the playback terminal through the local server and / or edge server of the playback terminal. If the playback terminal has a local server and / or edge server but the content requested to be played is not stored therein, it is determined whether the cloud server or the local server and / or edge server pushes the content requested to be played to the playback terminal based on the propagation speed of the playback data in different paths.
[0093] In an optional embodiment of the present invention, receiving the playback data fed back according to the data playback request from the second server or the third server according to the propagation time of the playback data in different paths includes:
[0094] When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data received and forwarded by the third server from the second server;
[0095] When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data fed back by the second server.
[0096] In this embodiment, the speed at which playback data is pushed from the cloud server to the local server and / or edge server, and then from the local server and / or edge server to the playback terminal, and the speed at which playback data is pushed from the cloud server to the playback terminal are compared, and the faster path is selected for playback data feedback.
[0097] In an optional embodiment of the present invention, step 160 specifically includes:
[0098] Sending a first request to the first server according to the storage location tag of the data block in the storage location file sent by the second server, and sending a second request to the second server;
[0099] receiving first data fed back by the first server according to the first request, and receiving second data fed back by the second server according to the second request;
[0100] The first data and the second data are played according to the timeline of the data blocks in the storage location file.
[0101] In this embodiment, the playback terminal initiates a request to play the multimedia content before the synchronization operation of the cloud server is completed. In this case, the playback terminal obtains the requested data blocks from different servers according to the location information of each data block stored in the storage location file on different servers, and plays the requested multimedia information according to the sequence in the timeline information of the data blocks.
[0102] In an optional embodiment of the present invention, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0103] In an optional embodiment of the present invention, the first terminal and the second terminal are the same terminal or different terminals.
[0104] The above solution of the present invention realizes real-time storage and playback of multimedia content by adding a network monitoring and content slicing module to the terminal device, storing the data blocks of multimedia content in different storage spaces according to the network status, and playing the multimedia data according to the stored files. During network transmission, the transmission path and storage location are allocated in real time according to the network status and storage location status, solving the problem of video compression and reduced video quality due to network limitations in the prior art solution.
[0105] like Figure 2 As shown, an embodiment of the present invention provides a data transmission method, which is applied to a server, and the method includes:
[0106] Step 210: a first server among the servers receives N1 data blocks sent by the first terminal;
[0107] Step 220, the second server in the server receives N2 data blocks sent by the first terminal, wherein N1+N2≤N, and N is the N data blocks after the first terminal fragments the acquired multimedia data according to the network access status of the first terminal.
[0108] In an optional embodiment of the present invention, the data transmission method further includes:
[0109] Step 230: The second server receives the storage location file sent by the first terminal, wherein the storage location file includes: a marking timeline of the N data blocks and a storage location tag, wherein the storage location tag is used to mark the server where the data block is to be stored.
[0110] In an optional embodiment of the present invention, the data transmission method further includes:
[0111] Step 240: The second server synchronizes data blocks with the first server according to the storage location file.
[0112] In an optional embodiment of the present invention, the data transmission method further includes:
[0113] Step 250, receiving a data playback request initiated by the second terminal;
[0114] Step 260: When the second server and the first server complete synchronization, the second server or the third server feeds back the playback data requested by the data playback request according to the connection status between the second terminal and the third server among the servers;
[0115] Step 270: When the second server and the first server are not synchronized, the first server and the second server feed back the playback data requested by the data playback request.
[0116] In an optional embodiment of the present invention, step 260 specifically includes:
[0117] When the second terminal is not connected to the third server, the second server feeds back the playback data requested by the data playback request; or,
[0118] When the second terminal is connected to the third server, and the third server stores the data requested by the data playback request, the third server feeds back the playback data requested by the data playback request; or,
[0119] When the second terminal is connected to the third server, and the third server does not store the data requested by the data playback request, the second server or the third server feeds back the playback data requested by the data playback request according to the propagation time of the playback data in different paths.
[0120] In an optional embodiment of the present invention, according to the propagation time of the playback data in different paths, the second server or the third server feeds back the playback data requested by the data playback request, including:
[0121] When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the third server receives the playback data from the second server and forwards it to the second terminal;
[0122] When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second server feeds back the playback data to the second terminal and sends the playback data to the third server.
[0123] In an optional embodiment of the present invention, step 270 specifically includes:
[0124] The first server receives a first request sent by the second terminal according to a storage location tag of a data block in a storage location file sent by the second server;
[0125] The second server receives a second request sent by the second terminal according to the storage location tag of the data block in the storage location file sent by the second server;
[0126] The first server feeds back first data to the second terminal according to the first request;
[0127] The second server feeds back second data to the second terminal according to the second request.
[0128] In an optional embodiment of the present invention, the data transmission method further includes:
[0129] Step 280: if a second terminal that has initiated a play request accesses the first server or the third server again according to a preset time interval, the storage status of the first server or the third server is maintained; otherwise, the data block stored in the first server or the third server is deleted.
[0130] In this embodiment, a certain time interval, such as one week, is set to monitor whether a playback terminal that has initiated a playback request accesses the local server and / or edge server storing the playback content again. If so, the storage status of the local server and / or edge server content is maintained. If not, the multimedia content stored in the local server and / or edge server is cleared.
[0131] In an optional embodiment of the present invention, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0132] In an optional embodiment of the present invention, the first terminal and the second terminal are the same terminal or different terminals.
[0133] The above solution of the present invention realizes real-time storage and playback of multimedia content by adding a network monitoring and content slicing module to the terminal device, storing the data blocks of multimedia content in different storage spaces according to the network status, and playing the multimedia data according to the stored files. During network transmission, the transmission path and storage location are allocated in real time according to the network status and storage location status, solving the problem of video compression and reduced video quality due to network limitations in the prior art solution.
[0134] like Figure 3 As shown, an embodiment of the present invention further provides a terminal device 30, including:
[0135] A collection module 310, used to obtain multimedia data;
[0136] A data slicing module 320, configured to divide the multimedia data into N data blocks according to the network access status of the first terminal;
[0137] The local storage scheduling module 330 is used to store N1 data blocks among the N data blocks to the first server and store N2 data blocks among the multiple data blocks to the second server according to the connection status of the first terminal and the first server or the second server, N1+N2≤N.
[0138] In an optional embodiment of the present invention, after the data slicing module 320 divides the multimedia data into N data blocks, it marks the timeline and storage location tags for the N data blocks respectively to generate a storage location file; the storage location tag is used to mark the server where the data block is to be stored; and the storage location file is sent to the second server.
[0139] In an optional embodiment of the present invention, the second terminal initiates a data playback request; when the second server and the first server complete synchronization, the second terminal receives the playback data fed back by the second server or the third server according to the connection status of the second terminal and the third server; when the second server and the first server have not completed synchronization, the second terminal receives the playback data fed back by the first server and the second server according to the storage location file sent by the second server.
[0140] In an optional embodiment of the present invention, when the second terminal is not connected to the third server, the second terminal receives the playback data fed back by the second server according to the data playback request; or,
[0141] When the second terminal is connected to a third server, and the third server stores the data requested by the data playback request, the second terminal receives the playback data fed back by the third server according to the data playback request; or,
[0142] When the second terminal is connected to the third server and the third server does not store the data requested by the data playback request, the first terminal receives the playback data fed back according to the data playback request from the second server or the third server according to the propagation time of the playback data in different paths.
[0143] In an optional embodiment of the present invention, according to the propagation time of the playback data in different paths, the second terminal receives the playback data fed back according to the data playback request from the second server or the third server, including:
[0144] When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data received and forwarded by the third server from the second server;
[0145] When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data fed back by the second server.
[0146] In an optional embodiment of the present invention, according to the storage location file sent by the second server, the second terminal receiving the playback data fed back by the first server and the second server further includes:
[0147] According to the storage location tag of the data block in the storage location file sent by the second server, the second terminal sends a first request to the first server and sends a second request to the second server;
[0148] The second terminal receives the first data fed back by the first server according to the first request, and receives the second data fed back by the second server according to the second request;
[0149] The second terminal plays the first data and the second data according to the timeline of the data blocks in the storage location file.
[0150] In an optional embodiment of the present invention, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0151] In an optional embodiment of the present invention, the first terminal and the second terminal are the same terminal or different terminals.
[0152] The above solution of the present invention realizes real-time storage and playback of multimedia content by adding a network monitoring and content slicing module to the terminal device, storing the data blocks of multimedia content in different storage spaces according to the network status, and playing the multimedia data according to the stored files. During network transmission, the transmission path and storage location are allocated in real time according to the network status and storage location status, solving the problem of video compression and reduced video quality due to network limitations in the prior art solution.
[0153] like Figure 4 As shown, an embodiment of the present invention further provides a data storage system, including: a first server 410 and a second server 420, wherein:
[0154] The first server 410 receives N1 data blocks sent by the first terminal 440;
[0155] The second server 420 receives N2 data blocks sent by the first terminal 440;
[0156] Among them, N1+N2≤N, and N is N data blocks obtained by fragmenting the multimedia data acquired by the first terminal according to the network access status of the first terminal.
[0157] In an optional embodiment of the present invention, the second server 420 receives a storage location file sent by the first terminal 440, and the storage location file includes: a marking timeline of the N data blocks and a storage location tag, and the storage location tag is used to mark the server where the data block is to be stored.
[0158] The second server 420 synchronizes data blocks with the first server 410 according to the storage location file.
[0159] In an optional embodiment of the present invention, a data playback request initiated by the second terminal 450 is received;
[0160] When the second server 420 and the first server 410 complete synchronization, the second server 420 or the third server 430 feeds back the playback data requested by the data playback request according to the connection status between the second terminal 450 and the third server 430 among the servers;
[0161] When the second server 420 and the first server 410 are not synchronized, the first server 410 and the second server 420 feedback the playback data requested by the data playback request.
[0162] In an optional embodiment of the present invention, according to the connection status between the second terminal 450 and the third server 430 among the servers, the second server 420 or the third server 430 feeds back the playback data requested by the data playback request, including:
[0163] When the second terminal 450 is not connected to the third server 430, the second server 420 feeds back the playback data requested by the data playback request; or
[0164] When the second terminal 450 is connected to the third server 430, and the third server 430 stores the data requested by the data playback request, the third server 430 feeds back the playback data requested by the data playback request; or,
[0165] When the second terminal 450 is connected to the third server 430, and the third server 430 does not store the data requested by the data playback request, the second server 420 or the third server 430 feeds back the playback data requested by the data playback request according to the propagation time of the playback data in different paths.
[0166] In an optional embodiment of the present invention, according to the propagation time of the playback data in different paths, the second server 420 or the third server 430 feeds back the playback data requested by the data playback request, including:
[0167] When the propagation time of the playback data directly from the second server 420 to the second terminal 450 is greater than or equal to the sum of the propagation time of the playback data from the second server 420 to the third server 430 and the propagation time from the third server 430 to the second terminal 450, the third server 430 receives the playback data from the second server 420 and forwards it to the second terminal 450;
[0168] When the propagation time of the playback data directly from the second server 420 to the second terminal 450 is less than the sum of the propagation time of the playback data from the second server 420 to the third server 430 and the propagation time from the third server 430 to the second terminal 450, the second server 420 feeds back the playback data to the second terminal 450 and sends the playback data to the third server 430.
[0169] In an optional embodiment of the present invention, when the second server 420 and the first server 410 are not synchronized, the first server 410 and the second server 420 feedback the playback data requested by the data playback request, including:
[0170] The first server 410 receives a first request sent by the second terminal 450 according to a storage location tag of a data block in a storage location file sent by the second server 420;
[0171] The second server 420 receives a second request sent by the second terminal 450 according to the storage location tag of the data block in the storage location file sent by the second server 420;
[0172] The first server 410 feeds back the first data to the second terminal 450 according to the first request;
[0173] The second server 420 feeds back second data to the second terminal 450 according to the second request.
[0174] In an optional embodiment of the present invention, according to a preset time interval, if a second terminal that has initiated a playback request accesses the first server or the third server again, the storage status of the first server or the third server is maintained, otherwise, the data block stored by the first server or the third server is deleted.
[0175] In an optional embodiment of the present invention, the first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
[0176] In an optional embodiment of the present invention, the first terminal and the second terminal are the same terminal or different terminals.
[0177] The above solution of the present invention realizes real-time storage and playback of multimedia content by adding a network monitoring and content slicing module to the terminal device, storing the data blocks of multimedia content in different storage spaces according to the network status, and playing the multimedia data according to the stored files. During network transmission, the transmission path and storage location are allocated in real time according to the network status and storage location status, solving the problem of video compression and reduced video quality due to network limitations in the prior art solution.
[0178] The embodiment of the present invention further provides a communication device, comprising: a processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method described above is executed. All implementations in the above method embodiment are applicable to this embodiment and can achieve the same technical effect.
[0179] The embodiment of the present invention further provides a computer-readable storage medium, including instructions, which, when executed on a computer, enable the computer to execute the method described above. All implementations in the above method embodiment are applicable to this embodiment and can achieve the same technical effect.
[0180] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0181] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0182] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0183] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0184] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0185] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.
[0186] In addition, it should be noted that in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it is understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.
[0187] Therefore, the purpose of the present invention can also be achieved by running a program or a group of programs on any computing device. The computing device can be a well-known general device. Therefore, the purpose of the present invention can also be achieved by simply providing a program product containing a program code that implements the method or device. That is to say, such a program product also constitutes the present invention, and the storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. In addition, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order. Some steps can be performed in parallel or independently of each other.
[0188] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A data transmission method, characterized in that: Applied to a terminal, the method comprises: Acquiring multimedia data; Dividing the multimedia data into N data blocks according to the network access status of the first terminal; According to the connection status between the first terminal and the first server and the second server, N1 data blocks among the N data blocks are stored in the first server, and N2 data blocks among the N data blocks are stored in the second server, N1+N2≤N; The second terminal initiates a data playback request; When the second server and the first server complete synchronization, the second terminal receives the playback data fed back by the second server or the third server according to the connection status between the second terminal and the third server; When the second server has not completed synchronization with the first server, receiving the playback data fed back by the first server and the second server according to the storage location file sent by the second server; The first terminal is a terminal for collecting multimedia data; the second terminal and the collecting terminal are located at different locations.
2. The data transmission method according to claim 1, characterized in that: After dividing the multimedia data into N data blocks, the method further includes: The N data blocks are respectively marked with a timeline and a storage location tag to generate a storage location file; the storage location tag is used to mark the server where the data block is to be stored; The storage location file is sent to the second server.
3. The data transmission method according to claim 1, characterized in that: Receiving playback data fed back by the second server or the third server according to the connection state between the second terminal and the third server, including: When the second terminal is not connected to the third server, receiving the playback data fed back by the second server according to the data playback request; or When the second terminal is connected to a third server and the third server stores the data requested by the data playback request, receiving the playback data fed back by the third server according to the data playback request; or, When the second terminal is connected to the third server and the third server does not store the data requested by the data playback request, the playback data fed back according to the data playback request is received from the second server or the third server according to the propagation time of the playback data in different paths.
4. The data transmission method according to claim 3, characterized in that: Receiving, from the second server or the third server, playback data fed back according to the data playback request according to the propagation time of the playback data in different paths, includes: When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data received and forwarded by the third server from the second server; When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second terminal receives the playback data fed back by the second server.
5. The data transmission method according to claim 1, characterized in that: Receiving the playback data fed back by the first server and the second server according to the storage location file sent by the second server, including: Sending a first request to the first server according to the storage location tag of the data block in the storage location file sent by the second server, and sending a second request to the second server; receiving first data fed back by the first server according to the first request, and receiving second data fed back by the second server according to the second request; The first data and the second data are played according to the timeline of the data blocks in the storage location file.
6. The data transmission method according to claim 1, characterized in that: The first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
7. A data transmission method, characterized in that: Applied to a server, the method comprises: A first server among the servers receives N1 data blocks sent by the first terminal; A second server among the servers receives N2 data blocks sent by the first terminal, where N1+N2≤N, and N is N data blocks obtained by the first terminal after the first terminal fragments the multimedia data according to the network access status of the first terminal; Receiving a data playback request initiated by a second terminal; When the second server and the first server complete synchronization, the second server or the third server feeds back the playback data requested by the data playback request according to the connection status between the second terminal and a third server among the servers; When the second server is not synchronized with the first server, the first server and the second server feed back the playback data requested by the data playback request; The first terminal is a terminal for collecting multimedia data; the second terminal and the collecting terminal are located at different locations.
8. The data transmission method according to claim 7, characterized in that: Also includes: The second server receives the storage location file sent by the first terminal, where the storage location file includes: a marking timeline of the N data blocks and a storage location tag, where the storage location tag is used to mark a server where the data block is to be stored.
9. The data transmission method according to claim 8, characterized in that: Also includes: The second server synchronizes data blocks with the first server according to the storage location file.
10. The data transmission method according to claim 7, characterized in that: According to the connection status between the second terminal and the third server among the servers, the second server or the third server feeds back the playback data requested by the data playback request, including: When the second terminal is not connected to the third server, the second server feeds back the playback data requested by the data playback request; or, When the second terminal is connected to the third server, and the third server stores the data requested by the data playback request, the third server feeds back the playback data requested by the data playback request; or, When the second terminal is connected to the third server, and the third server does not store the data requested by the data playback request, the second server or the third server feeds back the playback data requested by the data playback request according to the propagation time of the playback data in different paths.
11. The data transmission method according to claim 10, characterized in that: According to the propagation time of the playback data in different paths, the second server or the third server feeds back the playback data requested by the data playback request, including: When the propagation time of the playback data directly from the second server to the second terminal is greater than or equal to the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the third server receives the playback data from the second server and forwards it to the second terminal; When the propagation time of the playback data directly from the second server to the second terminal is less than the sum of the propagation time of the playback data from the second server to the third server and the propagation time from the third server to the second terminal, the second server feeds back the playback data to the second terminal and sends the playback data to the third server.
12. The data transmission method according to claim 7, characterized in that: When the second server is not synchronized with the first server, the first server and the second server feed back the playback data requested by the data playback request, including: The first server receives a first request sent by the second terminal according to a storage location tag of a data block in a storage location file sent by the second server; The second server receives a second request sent by the second terminal according to the storage location tag of the data block in the storage location file sent by the second server; The first server feeds back first data to the second terminal according to the first request; The second server feeds back second data to the second terminal according to the second request.
13. The data transmission method according to claim 7, characterized in that: Also includes: According to a preset time interval, if a second terminal that has initiated a play request accesses the first server or the third server again, the storage state of the first server or the third server is maintained; otherwise, the data block stored in the first server or the third server is deleted.
14. The data transmission method according to claim 7, characterized in that: The first server is a first server in the same local area network as the first terminal or in an access network of the first terminal, the second server is a cloud server, and the third server is a third server in the same local area network as the second terminal or in an access network of the second terminal.
15. A terminal device, characterized in that: include: A collection module, used to obtain multimedia data; A data slicing module, configured to divide the multimedia data into N data blocks according to the network access status of the first terminal; A local storage scheduling module, configured to store N1 data blocks among the N data blocks to the first server and store N2 data blocks among the multiple data blocks to the second server according to the connection status of the first terminal and the first server or the second server, N1+N2≤N; The terminal device is also used to perform the following operations: The second terminal initiates a data playback request; When the second server and the first server complete synchronization, the second terminal receives the playback data fed back by the second server or the third server according to the connection status between the second terminal and the third server; When the second server has not completed synchronization with the first server, receiving the playback data fed back by the first server and the second server according to the storage location file sent by the second server; The first terminal is a terminal for collecting multimedia data; the second terminal and the collecting terminal are located at different locations.
16. A data storage system, characterized in that: include: A first server and a second server, wherein the first server receives N1 data blocks sent by the first terminal; The second server receives N2 data blocks sent by the first terminal; Wherein, N1+N2≤N, and N is N data blocks after the first terminal fragments the acquired multimedia data according to the network access status of the first terminal; The data storage system is also used to perform the following operations: Receiving a data playback request initiated by a second terminal; When the second server and the first server complete synchronization, the second server or the third server feeds back the playback data requested by the data playback request according to the connection status between the second terminal and a third server among the servers; When the second server is not synchronized with the first server, the first server and the second server feed back the playback data requested by the data playback request; The first terminal is a terminal for collecting multimedia data; the second terminal and the collecting terminal are located at different locations.
17. A communication device, characterized in that: include: A processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method according to any one of claims 1 to 6 or the method according to any one of claims 7 to 14 is executed.
18. A computer-readable storage medium, characterized in that: Instructions are stored, and when the instructions are executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 6 or the method according to any one of claims 7 to 14.
Citation Information
Patent Citations
Network video monitoring method and system
CN101291429A
Cloud storage system and data access method thereof
CN103152423A
Video dynamic dispatching method, device and video playing system
CN103747297A