Data distribution method, device and equipment based on client and storage medium

Through the client device's format conversion of the data to be distributed and the target network device determines the problem of high computing and storage costs in cloud data distribution, it achieves efficient and secure data distribution.

CN119172566APending Publication Date: 2024-12-20BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411179768.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

The cloud has high computing and storage costs when distributing data, which affects the efficiency and accuracy of data distribution.

Method used

The client device performs format conversion processing on the data to be distributed, determines the target network device, and uploads the data to the target network device for storage, and uploads the original data to the cloud to avoid data processing and storage in the cloud.

Benefits of technology

It reduces the computing cost and storage cost of the cloud, improves the efficiency and accuracy of data distribution, avoids cloud failures, and improves data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119172566A_ABST
    Figure CN119172566A_ABST
Patent Text Reader

Abstract

The invention provides a client-based data distribution method and device, equipment and a storage medium, and relates to the field of cloud computing, in particular to the field of streaming media. The method is applied to client equipment, and the specific implementation scheme is as follows: acquiring to-be-distributed data, and performing format conversion processing on the to-be-distributed data according to a preset format to obtain target data; wherein the target data represents to-be-distributed data in a preset format; determining a target network device from the preset data distribution network; wherein the preset data distribution network comprises a plurality of edge devices; and uploading the to-be-distributed data to a preset cloud device for storage, and uploading the target data to the target network device for storage. The data conversion processing is performed at the client, and the converted data is distributed to the edge device, so that the computing cost and the storage cost of the cloud are effectively saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of streaming media in the field of cloud computing, and in particular to a client-based data distribution method, device, equipment and storage medium. Background Art

[0002] As the amount of user data increases, a large number of multimedia files such as audio, video, and pictures are distributed in the cloud. A large amount of data in the cloud will consume the computing and storage costs of the cloud, resulting in reduced work efficiency in the cloud, which in turn affects the effect of data distribution.

[0003] How to reduce the computing and storage costs in the cloud when distributing data has become a problem that needs to be solved. Summary of the invention

[0004] The present invention provides a client-based data distribution method, device, equipment and storage medium.

[0005] According to a first aspect of the present disclosure, a client-based data distribution method is provided, the method being applied to a client device, comprising:

[0006] Acquire the data to be distributed, and perform format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in the preset format;

[0007] Determining a target network device from the preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices;

[0008] The data to be distributed is uploaded to a preset cloud device for storage, and the target data is uploaded to the target network device for storage.

[0009] According to a second aspect of the present disclosure, a client-based data distribution device is provided, which is applied to a client device and includes:

[0010] A data acquisition unit, used to acquire data to be distributed, and perform format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in a preset format;

[0011] A device determining unit, configured to determine a target network device from the preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices;

[0012] The data uploading unit is used to upload the data to be distributed to a preset cloud device for storage, and to upload the target data to the target network device for storage.

[0013] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0014] at least one processor; and

[0015] a memory communicatively coupled to the at least one processor;

[0016] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the first aspect of the present disclosure.

[0017] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method according to the first aspect of the present disclosure.

[0018] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, which implements the steps of the method described in the first aspect of the present disclosure when executed by a processor.

[0019] According to the technology disclosed in the present invention, the computing cost and storage cost of the cloud are reduced, and the effect of data distribution is improved.

[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0022] Figure 1 It is a flowchart of a client-based data distribution method provided according to an embodiment of the present disclosure;

[0023] Figure 2 It is a flowchart of a client-based data distribution method provided according to an embodiment of the present disclosure;

[0024] Figure 3 It is a flowchart of a client-based data distribution method provided according to an embodiment of the present disclosure;

[0025] Figure 4 It is a flowchart of a client-based data distribution method provided according to an embodiment of the present disclosure;

[0026] Figure 5 is an architectural diagram of a data distribution process provided according to an embodiment of the present disclosure;

[0027] Figure 6is a structural block diagram of a client-based data distribution device provided according to an embodiment of the present disclosure;

[0028] Figure 7 is a structural block diagram of a client-based data distribution device provided according to an embodiment of the present disclosure;

[0029] Figure 8 is a block diagram of an electronic device for implementing the client-based data distribution method of an embodiment of the present disclosure;

[0030] Fig. 9 It is a block diagram of an electronic device used to implement the client-based data distribution method of an embodiment of the present disclosure. DETAILED DESCRIPTION

[0031] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0032] It has become a strong demand for most users to distribute data from the client to the cloud for storage. The data stored in the cloud contains a large amount of multimedia data such as audio, video, and pictures. In order to save bandwidth and improve user experience, cloud storage service providers generally perform processing such as encoding and decoding of multimedia data in the cloud to reduce the size of data files. In other words, the processing and storage work during data distribution are all performed in the cloud. When users need to play videos and other data on the client device, the encoded and decoded videos stored in the cloud are played.

[0033] However, the computational cost of encoding and decoding in the cloud is high, and the cloud needs to store both the original file and the encoded and decoded file, which results in high storage cost. Each client device obtains data from the cloud, which results in high bandwidth cost for data transmission in the cloud, affecting the work efficiency of the cloud, and further affecting the efficiency and accuracy of data distribution.

[0034] The present invention provides a client-based data distribution method, device, equipment and storage medium, which are applied to the streaming media field in the cloud computing field to reduce the computing cost and storage cost of the cloud.

[0035] It should be noted that the data in this embodiment is not targeted at a specific user and cannot reflect the personal information of a specific user. It should be noted that the data in this embodiment comes from a public data set.

[0036] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0037] In order to enable readers to more deeply understand the implementation principle of the present disclosure, the following Figure 1-Figure 9 The embodiment is further refined.

[0038] Figure 1 FIG. 1 is a flow chart of a method for distributing data based on a client according to an embodiment of the present disclosure. The method is applied to a client device and can be executed by a data distribution device based on a client. Figure 1 As shown, the method comprises the following steps:

[0039] S101, obtaining data to be distributed, and performing format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in the preset format.

[0040] Exemplarily, the data to be distributed may be data stored locally in the client device, or data found online by the client device, and the data to be distributed may be in the form of video, audio, image, etc. The client device determines the data to be distributed, for example, the user may select existing data from the local storage of the client device as the data to be distributed, or may search for data to be distributed from an online database as the data to be distributed.

[0041] After obtaining the data to be distributed, the client device may perform format conversion on the data to be distributed. For example, the required format may be pre-set, the data to be distributed may be converted into a preset format, and the converted data may be determined as target data. For example, the preset format may represent the structure, size, bit rate, etc. of the data. Different format conversion processes may be performed for different preset formats. For example, the data to be distributed is image data, and the preset format is image size. According to the preset image size, the data to be distributed is scaled to obtain target data of the preset image size. In this embodiment, the process of format conversion processing is not specifically limited.

[0042] In this embodiment, the processing of the data to be distributed is transferred to the client device side, reducing the amount of computing in the cloud and reducing the computing cost in the cloud. The client device only needs to be installed with a plug-in or tool for data conversion. For example, the client device can have a video encoder that can encode the video data. In this embodiment, the model of the client device is not specifically limited.

[0043] S102. Determine a target network device from a preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices.

[0044] Exemplarily, a data distribution network is pre-set, and the data distribution network is a network composed of multiple edge nodes, each edge node represents an edge device, that is, the data distribution network includes multiple edge devices. Each edge device can be located in a different geographical location, for example, edge devices can be set in different cities.

[0045] The client device can distribute the target data to one of the edge devices, that is, an edge device can be determined from the preset data distribution network as the target network device. For example, the edge device closest to the client device can be used as the target network device; or the edge device with the largest remaining storage space can be used as the target network device; or an edge device can be randomly selected as the target network device.

[0046] In this embodiment, the determination order of the target network devices can also be preset. For example, each edge device can be marked with a serial number, and the target network devices can be selected in turn according to the marked serial number, so that each edge device can be used as a target network device in turn, thereby realizing effective utilization of the storage space of the edge devices.

[0047] S103, uploading the data to be distributed to a preset cloud device for storage, and uploading the target data to a target network device for storage.

[0048] Exemplarily, the data to be distributed is the original data to be distributed by the client device. The client device can upload the data to be distributed to the preset cloud device, and upload the target data to the target network device. The preset cloud device represents the cloud, that is, the cloud only needs to store the original data, and does not need to store the data after format conversion. The data after format conversion is the target data, which is stored separately in the target network device. Different target data can be stored in different target network devices, effectively saving the storage cost of the cloud.

[0049] In this embodiment, the execution order of uploading the data to be distributed and the process of uploading the target data is not specifically limited. For example, the client device can directly upload the data to be distributed to the cloud after obtaining the data to be distributed, or can upload the data to be distributed while uploading the target data.

[0050] After the client device generates the target data, it can temporarily cache the target data. After the client device uploads the target data to the target network device, the target data can be deleted from the client device.

[0051] In this embodiment, uploading the target data to the target network device for storage includes: encrypting the target data to obtain encrypted data corresponding to the target data; and uploading the encrypted data corresponding to the target data to the target network device for storage.

[0052] Specifically, after obtaining the target data, the client device may encrypt the target data to obtain encrypted data corresponding to the target data. For example, a preset hash algorithm may be used for encryption. In this embodiment, the algorithm for encryption is not specifically limited.

[0053] After obtaining the encrypted data, the encrypted data corresponding to the target data can be packaged to obtain an encrypted data packet, and the encrypted data packet can be uploaded to the target network device for storage. In this embodiment, the data to be distributed can also be encrypted, and then the encrypted data to be distributed can be uploaded to the cloud for storage.

[0054] The beneficial effect of such a setting is that by encrypting the target data, it can prevent the target data from being leaked during transmission, and it can also prevent the target network device from being attacked and causing the target data to be leaked, effectively improving the security of the data.

[0055] In the disclosed embodiment, when data distribution is required, the data to be distributed is format-converted by the client device to obtain target data in a preset format. An edge device is determined from a preset data distribution network as a target network device, the target data is uploaded to the target network device for storage, and the initial data to be distributed is uploaded to a preset cloud device for storage. The target network device stores the processed files, and only the original files are stored in the cloud. The cloud does not need to perform data processing and other calculations, thereby reducing the computing cost and storage cost of the cloud during data distribution, avoiding failures in the cloud, and improving the efficiency and accuracy of data distribution.

[0056] Figure 2 A schematic diagram of a flow chart of a client-based data distribution method provided in an embodiment of the present disclosure.

[0057] In this embodiment, the data to be distributed is video data; the data to be distributed is format converted according to a preset format to obtain target data, including: decoding the data to be distributed to obtain decoded data to be distributed; encoding the decoded data to be distributed according to a preset video resolution to obtain target data.

[0058] like Figure 2 As shown, the method comprises the following steps:

[0059] S201, obtaining data to be distributed, decoding the data to be distributed, and obtaining decoded data to be distributed.

[0060] Exemplarily, the client device determines the data to be distributed. In this embodiment, the data to be distributed may be multimedia data, for example, the data to be distributed may be audio data, video data, image data, etc. The data to be distributed in this embodiment may refer to video data.

[0061] For video data, the format conversion process performed by the client device may be a transcoding process. The transcoding process may change the bit rate of the video data, and different bit rates may correspond to different resolutions, that is, the transcoding process may change the resolution of the video data. The transcoding process may include decoding and encoding processes, that is, the data to be distributed may be decoded to obtain decoded data to be distributed. The client device may be configured with a video transcoding calculation tool. In this embodiment, the video transcoding calculation tool is not specifically limited.

[0062] S202: Encode the decoded data to be distributed according to a preset video resolution to obtain target data.

[0063] Exemplarily, the required video resolution is preset, and according to the preset video resolution, a preset video transcoding calculation tool is used to encode the decoded data to be distributed, and the target data is obtained after encoding. For example, the preset video resolution can be 480, 720, 1080, 4k, etc.

[0064] In this embodiment, the video data is decoded first and then encoded, which can reduce the size of the video data, improve the efficiency of data distribution, and save the storage space of the video data. In addition, the transcoding process is processed on the client side instead of in the cloud, which effectively reduces the computing cost of the cloud and ensures the normal operation of the cloud.

[0065] In this embodiment, there are multiple preset video resolutions; according to the preset video resolution, the decoded data to be distributed is encoded to obtain target data, including: in response to a resolution confirmation instruction issued by the user, the target resolution is determined from the preset video resolutions; according to the target resolution, the decoded data to be distributed is encoded to obtain the target data.

[0066] Specifically, multiple video resolutions may be preset. If multiple video resolutions are preset, each video resolution may correspond to one target data during encoding, that is, multiple target data are obtained, and the multiple target data are uploaded to the target network device for storage.

[0067] The preset multiple video resolutions can also be displayed on the interface of the client device, and the user can select the video resolution. That is, the user can issue a resolution confirmation instruction through the client device, and the resolution confirmation instruction is the user's selection instruction for the video resolution. In response to the resolution confirmation instruction, the video resolution confirmed by the user is determined, and the video resolution confirmed by the user is determined as the target resolution. The user can confirm one or more target resolutions.

[0068] According to the target resolution, the decoded data to be distributed is coded to obtain the target data corresponding to the target resolution. In this embodiment, the coding process is performed by a preset video transcoding calculation tool, so the coding process is not specifically limited.

[0069] The beneficial effect of such a setting is that users can independently choose the target data with the required video resolution, meet the actual needs of users for data distribution, improve the flexibility of data distribution, and enhance user experience.

[0070] S203. Determine a target network device from a preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices.

[0071] Exemplarily, this step may refer to the above-mentioned step S102 and will not be described in detail.

[0072] S204: uploading the data to be distributed to a preset cloud device for storage, and uploading the target data to a target network device for storage.

[0073] Exemplarily, this step may refer to the above-mentioned step S103 and will not be described in detail.

[0074] In the disclosed embodiment, when data distribution is required, the data to be distributed is format-converted by the client device to obtain target data in a preset format. An edge device is determined from a preset data distribution network as a target network device, the target data is uploaded to the target network device for storage, and the initial data to be distributed is uploaded to a preset cloud device for storage. The target network device stores the processed files, and only the original files are stored in the cloud. The cloud does not need to perform data processing and other calculations, thereby reducing the computing cost and storage cost of the cloud during data distribution, avoiding failures in the cloud, and improving the efficiency and accuracy of data distribution.

[0075] Figure 3 A schematic diagram of a flow chart of a client-based data distribution method provided in an embodiment of the present disclosure.

[0076] In this embodiment, determining the target network device from a preset data distribution network includes: determining the location information of the client device and the location information of the edge device in the preset data distribution network; determining the target network device based on the location information of the client device and the location information of the edge device in the preset data distribution network.

[0077] like Figure 3 As shown, the method comprises the following steps:

[0078] S301, obtaining data to be distributed, and performing format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in the preset format.

[0079] Exemplarily, this step may refer to the above-mentioned step S101 and will not be described in detail.

[0080] S302: Determine location information of a client device and location information of an edge device in a preset data distribution network.

[0081] For example, the client device may be equipped with a positioning device, which may be used to determine its own location information, where the location information represents the geographical location of the device. The client device may obtain its own location information in real time, for example, it may determine the location information based on its own IP (Internet Protocol) address.

[0082] The edge devices in the data distribution network are configured at preset locations, and the locations of the edge devices will not change at will. The client device can determine the location information of each edge device. For example, the location information of each edge device can be stored in advance, or a location acquisition instruction can be sent to the cloud, and the cloud sends the location information of the edge device to the client device. The cloud can be used to manage edge devices and understand the location and working status of edge devices in real time.

[0083] S303: Determine a target network device according to the location information of the client device and the location information of an edge device in a preset data distribution network.

[0084] Exemplarily, based on the location information of the client device and the location information of each edge device, an edge device can be determined from multiple edge devices as the target network device. An edge device that is closer to the client device can be determined as the target network device, for example, an edge device in the same city as the client device can be determined as the target network device.

[0085] In this embodiment, according to the location of the client device and the edge device, a suitable target network device is selected to facilitate the rapid distribution of target data and improve the efficiency of data distribution, thereby reducing the workload of the cloud and lowering the cost of using the cloud.

[0086] In this embodiment, the target network device is determined based on the location information of the client device and the location information of the edge device in the preset data distribution network, including: determining the distance information between the edge devices in the preset data distribution network of the client device based on the location information of the client device and the location information of the edge device in the preset data distribution network; determining the target network device based on the distance information between the client device and the edge device in the preset data distribution network.

[0087] Specifically, for each edge device in the data distribution network, the distance information between the client device and the edge device is determined based on the location information of the client device and the location information of the edge device. The distance information can represent the length of the distance between the client device and the edge device. For example, the coordinate point representing the location information of the client device and the coordinate point representing the location information of the edge device can be subtracted to calculate the distance information between the client device and the edge device.

[0088] The distance information corresponding to each edge device is compared, and the target network device is determined from the multiple edge devices according to the distance information. For example, the edge device with the smallest distance information can be determined as the target network device, that is, the edge device closest to the client device is determined as the target network device.

[0089] The beneficial effect of this setting is that the target network device is determined according to the distance, avoiding the concentration of target data of different client devices in the cloud or the same edge device, and effectively improving the efficiency of data distribution.

[0090] In this embodiment, a target network device is determined based on distance information between a client device and an edge device in a preset data distribution network, including: determining a first candidate device from the preset data distribution network based on the distance information between the client device and the edge device in the preset data distribution network; wherein the first candidate device is an edge device in the preset data distribution network; determining the remaining storage space of the first candidate device; and determining the first candidate device as the target network device if the remaining storage space of the first candidate device is equal to or greater than the size of the target data.

[0091] Specifically, first, according to the distance information between the client device and the edge device, a candidate edge device is determined from multiple edge devices as the first candidate device. For example, the edge device closest to the client device can be determined as the first candidate device. The current remaining storage space of the first candidate device is determined, that is, the size of the storage space currently available to the first candidate device is determined.

[0092] Determine the size of the target data, compare the remaining storage space of the first candidate device with the size of the target data, if the remaining storage space of the first candidate device is equal to or greater than the size of the target data, it means that the first candidate device can store the complete target data, and the first candidate device can be determined as the target network device.

[0093] The beneficial effect of this setting is that the candidate device is first determined based on the distance information, and then the target network device is determined based on the size of the storage space. While ensuring that the client device is close to the target network device, it ensures that the target network device can store the target data, thereby improving the effectiveness of data distribution.

[0094] In this embodiment, it also includes: if the remaining storage space of the first candidate device is smaller than the size of the target data, determining the second candidate device from the preset data distribution network based on the distance information between the client device and the edge device in the preset data distribution network; wherein the second candidate device is an edge device in the preset data distribution network other than the first candidate device; determining the remaining storage space of the second candidate device; if the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is equal to or greater than the size of the target data, determining the first candidate device and the second candidate device as target network devices.

[0095] Specifically, the remaining storage space of the first candidate device is compared with the size of the target data. If the remaining storage space of the first candidate device is smaller than the size of the target data, it means that the first candidate device cannot store the complete target data and the first candidate device cannot be directly determined as the target network device.

[0096] After determining that the remaining storage space of the first candidate device is smaller than the size of the target data, a candidate device can be determined from the edge devices according to the distance information between the client device and each edge device as the second candidate device. The second candidate device is an edge device other than the first candidate device in the preset data distribution network. For example, the first candidate device is the edge device closest to the client device, and the second candidate device is the edge device second closest to the client device.

[0097] Determine the remaining storage space of the second candidate device, add the remaining storage space of the first candidate device to the remaining storage space of the second candidate device, and obtain the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device. If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is equal to or greater than the size of the target data, it means that the first candidate device and the second candidate device are sufficient to store the target data together, and the first candidate device and the second candidate device are both determined as target network devices. That is, the target network device can be multiple edge devices.

[0098] The beneficial effect of such a setting is that while ensuring that the client device is close to the target network device, the target data can be stored in multiple edge devices, avoiding omissions of target data during distribution and improving the accuracy and efficiency of data distribution.

[0099] In this embodiment, it also includes: if the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is less than the size of the target data, then determining a third candidate device from the preset data distribution network based on the distance information between the client device and the edge device in the preset data distribution network; wherein the third candidate device is an edge device in the preset data distribution network other than the first candidate device and the second candidate device; determining the remaining storage space of the third candidate device until the sum of the remaining storage space of all determined candidate devices is equal to or greater than the size of the target data, and determining all determined candidate devices as target network devices.

[0100] Specifically, if the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is still smaller than the size of the target data, it means that the two edge devices, the first candidate device and the second candidate device, cannot fully accept the target data, and more target network devices need to be determined. Based on the distance information between the client device and each edge device, another candidate device can be determined from multiple edge devices as the third candidate device. The third candidate device is an edge device other than the first candidate device and the second candidate device in the preset data distribution network. For example, the third candidate device is the edge device that is third closest to the client device.

[0101] The edge devices can be sorted from near to far according to the distance information between the client device and each edge device. Each time a candidate device is determined, one candidate device can be selected in turn according to the sorting result, so that the candidate device selected each time is the edge device closest to the client device among the selectable devices.

[0102] Determine the remaining storage space of the third candidate device, add the remaining storage space of the first candidate device, the remaining storage space of the second candidate device, and the remaining storage space of the third candidate device, and obtain the sum of the remaining storage space of the three candidate devices. If the sum is equal to or greater than the size of the target data, the three candidate devices can be determined as target network devices; if the sum is still less than the size of the target data, then determine another candidate device based on the distance information, until the size of the remaining storage space of all the determined candidate devices is equal to or greater than the size of the target data, then all the determined candidate devices are determined as target network devices.

[0103] The beneficial effect of such a setting is that a candidate device is determined each time according to the distance information, ensuring that all target data can be stored, avoiding data omissions, and improving the efficiency and accuracy of data distribution.

[0104] S304: uploading the data to be distributed to a preset cloud device for storage, and uploading the target data to a target network device for storage.

[0105] Exemplarily, the data to be distributed can be directly uploaded to the cloud for storage, and the target data can be uploaded to the target network device for storage. The target data is the data after format conversion, for example, it can be the data generated after video transcoding, which is not the original file of the user and has no storage reliability requirements. Therefore, it can be stored in the edge device, thereby reducing the computing cost, storage cost, and bandwidth cost of data network transmission in the cloud.

[0106] In this embodiment, the target data is uploaded to the target network device for storage, including: if the target network device includes multiple candidate devices, the target data is decomposed according to the remaining storage space of each candidate device in the target network device to obtain local data corresponding to each candidate device; wherein the local data is a part of the target data; and the local data is uploaded to the corresponding candidate device for storage.

[0107] Specifically, if the target network device is an edge device, the target data can be uploaded to the target network device; if the target network device includes multiple candidate devices, that is, multiple edge devices, the target data needs to be disassembled into multiple data blocks, and different data blocks are stored in different candidate devices.

[0108] The target data can be decomposed according to the remaining storage space of each candidate device in the target network device, and the target data can be decomposed into multiple local data, and these local data together form the complete target data. Each candidate device corresponds to one local data, that is, the number of local data is the number of candidate devices. For example, the first local data can be decomposed from the target data according to the remaining storage space of the first candidate device, that is, the size of the first local data is equal to the remaining storage space of the first candidate device. Then, according to the remaining storage space of the second candidate device, the second local data can be decomposed from the remaining target data, that is, the size of the second local data is equal to the remaining storage space of the second candidate device. Until the last local data is decomposed, the size of the last local data is equal to or less than the remaining storage space of the last candidate device.

[0109] Determine the candidate device corresponding to each local data, upload the local data to the corresponding candidate device for storage, and thus complete uploading the target data to the target network device for storage.

[0110] The beneficial effect of such a setting is that the target data is disassembled into different candidate devices, the storage of the target data is realized, and the effectiveness of data distribution is improved.

[0111] In the disclosed embodiment, when data distribution is required, the data to be distributed is format-converted by the client device to obtain target data in a preset format. An edge device is determined from a preset data distribution network as a target network device, the target data is uploaded to the target network device for storage, and the initial data to be distributed is uploaded to a preset cloud device for storage. The target network device stores the processed files, and only the original files are stored in the cloud. The cloud does not need to perform data processing and other calculations, thereby reducing the computing cost and storage cost of the cloud during data distribution, avoiding failures in the cloud, and improving the efficiency and accuracy of data distribution.

[0112] Figure 4 A schematic diagram of a flow chart of a client-based data distribution method provided in an embodiment of the present disclosure.

[0113] In this embodiment, the method also includes: in response to a data playback instruction, determining the data identifier of the data to be played; obtaining the association relationship between the data identifier and the device identifier from a preset cloud device; based on the association relationship between the data identifier and the device identifier, determining the device identifier corresponding to the data identifier of the data to be played as the target identifier; obtaining the data to be played from the edge device corresponding to the target identifier and playing it.

[0114] like Figure 4 As shown, the method comprises the following steps:

[0115] S401, obtaining data to be distributed, and performing format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in the preset format.

[0116] Exemplarily, this step may refer to the above-mentioned step S101 and will not be described in detail.

[0117] S402: Determine a target network device from a preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices.

[0118] Exemplarily, this step may refer to the above-mentioned step S102 and will not be described in detail.

[0119] S403: uploading the data to be distributed to a preset cloud device for storage, and uploading the target data to a target network device for storage.

[0120] Exemplarily, this step may refer to the above-mentioned step S103 and will not be described in detail.

[0121] S404: In response to the data playing instruction, determine the data identifier of the data to be played.

[0122] Exemplarily, the client device can upload target data to the edge device, or obtain data from the edge device for display and playback. The data to be played by the client device may not be the target data uploaded by itself. That is, the client device can obtain data uploaded by other client devices from the edge device for playback.

[0123] The user issues a data playback instruction through the client device, responds to the data playback instruction, and obtains the data identifier of the data to be played from the data playback instruction. The data identifier can represent the data that the user wants to play, for example, the data identifier can be a video name.

[0124] S405: Obtain the association relationship between the data identifier and the device identifier from the preset cloud device.

[0125] Exemplarily, the cloud device stores the association relationship between the data identifier and the device identifier, where the device identifier is the identifier of the edge device, for example, the serial number of the edge device. The cloud records what data is stored in each edge device, and the client device can obtain the association relationship between the data identifier and the device identifier from the cloud.

[0126] In this embodiment, it also includes: after uploading the target data to the target network device, determining the data identifier of the target data and the device identifier of the target network device; uploading the data identifier of the target data and the device identifier of the target network device to a preset cloud device for associated storage.

[0127] Specifically, after uploading the target data to the target network device, the client device can determine the data identifier of the target data and the device identifier of the target network device. For example, the data identifier can be obtained from the target data, and the device identifier can be obtained after the target network device is determined. The client device uploads the data identifier of the target data and the device identifier of the target network device to a preset cloud device, and the cloud device associates and stores the data identifier of the target data and the device identifier of the target network device. The cloud device records what data is stored in each edge device. Different edge devices can store the same data. For example, client devices located in different locations upload the same data to different edge devices.

[0128] The beneficial effect of such a setting is that the data identifier and the device identifier are associated and stored in the cloud, which facilitates the subsequent search for the data to be played from the edge device and improves the efficiency and accuracy of data playback.

[0129] S406: According to the association relationship between the data identifier and the device identifier, determine the device identifier corresponding to the data identifier of the data to be played as the target identifier.

[0130] Exemplarily, the data identifier of the data to be played is determined, and according to the association relationship between the data identifier and the device identifier, the device identifier corresponding to the data identifier of the data to be played is searched as the target identifier. There can be one or more target identifiers. For example, the same data to be played is uploaded to different edge devices by different client devices, so that the data to be played exists in different edge devices.

[0131] S407: Obtain the data to be played from the edge device corresponding to the target identifier and play it.

[0132] Exemplarily, the edge device corresponding to the target identifier is determined, and the client device can obtain the data to be played from the edge device and play it. If there is only one target identifier, the data to be played is obtained from the edge device corresponding to the target identifier; if there are multiple target identifiers, an edge device is determined from the edge devices corresponding to the multiple target identifiers, and the data to be played is obtained from the edge device. For example, the location information of the edge device corresponding to the target identifier can be determined, and based on the location information, the edge device closest to the client device is determined, and the data to be played is obtained from the edge device.

[0133] In this embodiment, when data needs to be played, the cloud does not need to perform a search operation, and the cloud only needs to provide the management function of the edge device. The preset association relationship is used to find a suitable edge device to obtain the data to be played, thereby improving the response speed of data playback and thus improving the user experience.

[0134] Figure 5The following is an architectural diagram of the data distribution process. Figure 5 In the process of uploading data, the client device uploads the original data to be distributed to the cloud for storage. The codec in the client device converts the format of the data to be distributed, obtains the target data, and uploads the target data to the edge device for storage. The target data can be uploaded to multiple edge devices, and each edge device stores a part of the target data. A node management module is set in the cloud, which can manage the working status of the edge device and record what data is stored in the edge device. When the client device wants to obtain the data to be played, it can download the data to be played from the edge device and play it.

[0135] In the disclosed embodiment, when data distribution is required, the data to be distributed is format-converted by the client device to obtain target data in a preset format. An edge device is determined from a preset data distribution network as a target network device, the target data is uploaded to the target network device for storage, and the initial data to be distributed is uploaded to a preset cloud device for storage. The target network device stores the processed files, and only the original files are stored in the cloud. The cloud does not need to perform data processing and other calculations, thereby reducing the computing cost and storage cost of the cloud during data distribution, avoiding failures in the cloud, and improving the efficiency and accuracy of data distribution.

[0136] Figure 6 This is a structural block diagram of a client-based data distribution device provided by an embodiment of the present disclosure. For ease of explanation, only the parts related to the embodiment of the present disclosure are shown. Figure 6 The client-based data distribution device 600 includes: a data acquisition unit 601, a device determination unit 602 and a data upload unit 603.

[0137] The data acquisition unit 601 is used to acquire the data to be distributed, and perform format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in a preset format;

[0138] The device determining unit 602 is used to determine a target network device from the preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices;

[0139] The data uploading unit 603 is used to upload the data to be distributed to a preset cloud device for storage, and to upload the target data to the target network device for storage.

[0140] Figure 7 A structural block diagram of a client-based data distribution device provided in an embodiment of the present disclosure, such as Figure 7As shown, the client-based data distribution device 700 includes a data acquisition unit 701, a device determination unit 702 and a data upload unit 703, wherein the data to be distributed is video data; the data acquisition unit 701 includes a decoding module 7011 and an encoding module 7012.

[0141] The decoding module 7011 is used to decode the data to be distributed to obtain decoded data to be distributed;

[0142] The encoding module 7012 is used to encode the decoded data to be distributed according to a preset video resolution to obtain the target data.

[0143] In one example, there are multiple preset video resolutions; the encoding module 7012 includes:

[0144] A resolution determination submodule, configured to determine a target resolution from the preset video resolutions in response to a resolution confirmation instruction issued by a user;

[0145] The encoding submodule is used to encode the decoded data to be distributed according to the target resolution to obtain the target data.

[0146] In one example, the device determination unit 702 includes:

[0147] A location determination module, used to determine the location information of the client device and the location information of the edge device in the preset data distribution network;

[0148] The target determination module is used to determine the target network device according to the location information of the client device and the location information of the edge device in the preset data distribution network.

[0149] In one example, the target determination module includes:

[0150] A distance determination submodule, configured to determine distance information between the client device and an edge device in the preset data distribution network according to the location information of the client device and the location information of an edge device in the preset data distribution network;

[0151] The target determination submodule is used to determine the target network device according to the distance information between the client device and the edge device in the preset data distribution network.

[0152] In one example, the target determination submodule is specifically used to:

[0153] Determine a first candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the first candidate device is an edge device in the preset data distribution network;

[0154] Determining remaining storage space of the first candidate device;

[0155] If the remaining storage space of the first candidate device is equal to or greater than the size of the target data, the first candidate device is determined to be the target network device.

[0156] In one example, the target determination submodule is specifically used to:

[0157] If the remaining storage space of the first candidate device is smaller than the size of the target data, determining a second candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the second candidate device is an edge device in the preset data distribution network other than the first candidate device;

[0158] Determining remaining storage space of the second candidate device;

[0159] If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is equal to or greater than the size of the target data, the first candidate device and the second candidate device are determined to be the target network devices.

[0160] In one example, the target determination submodule is specifically used to:

[0161] If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is less than the size of the target data, a third candidate device is determined from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the third candidate device is an edge device in the preset data distribution network other than the first candidate device and the second candidate device;

[0162] The remaining storage space of the third candidate device is determined until the sum of the remaining storage spaces of all the determined candidate devices is equal to or greater than the size of the target data, and all the determined candidate devices are determined as the target network devices.

[0163] In one example, the data uploading unit 703 includes:

[0164] a decomposition module, configured to decompose the target data according to the remaining storage space of each candidate device in the target network device if the target network device includes multiple candidate devices, so as to obtain local data corresponding to each candidate device; wherein the local data is a part of the target data;

[0165] The local uploading module is used to upload the local data to the corresponding candidate device for storage.

[0166] In one example, the data uploading unit 703 includes:

[0167] An encryption module, used to encrypt the target data to obtain encrypted data corresponding to the target data;

[0168] The data uploading module is used to upload the encrypted data corresponding to the target data to the target network device for storage.

[0169] In one example, it also includes:

[0170] an identification determination unit, configured to determine a data identification of the target data and a device identification of the target network device after uploading the target data to the target network device;

[0171] The associated storage unit is used to upload the data identifier of the target data and the device identifier of the target network device to the preset cloud device for associated storage.

[0172] In one example, it also includes:

[0173] An instruction response unit, used to determine the data identifier of the data to be played in response to the data playing instruction;

[0174] A relationship acquisition unit, used to acquire the association relationship between the data identifier and the device identifier from the preset cloud device;

[0175] An identification search unit, used to determine the device identification corresponding to the data identification of the to-be-played data as the target identification according to the association relationship between the data identification and the device identification;

[0176] The data playing unit is used to obtain the data to be played from the edge device corresponding to the target identifier and play it.

[0177] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device.

[0178] Figure 8 A structural block diagram of an electronic device provided in an embodiment of the present disclosure, such as Figure 8As shown, the electronic device 800 includes: at least one processor 802; and a memory 801 communicatively connected to the at least one processor 802; wherein the memory stores instructions executable by the at least one processor 802, and the instructions are executed by the at least one processor 802 so that the at least one processor 802 can execute the client-based data distribution method disclosed in the present invention.

[0179] The electronic device 800 also includes a receiver 803 and a transmitter 804. The receiver 803 is used to receive instructions and data sent by other devices, and the transmitter 804 is used to send instructions and data to external devices.

[0180] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0181] According to an embodiment of the present disclosure, the present disclosure also provides a computer program product, which includes: a computer program, the computer program is stored in a readable storage medium, at least one processor of an electronic device can read the computer program from the readable storage medium, and at least one processor executes the computer program so that the electronic device executes the solution provided by any of the above embodiments.

[0182] Fig. 9 A schematic block diagram of an example electronic device 900 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0183] like Fig. 9 As shown, the device 900 includes a computing unit 901, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 902 or a computer program loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0184] A number of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0185] The computing unit 901 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 901 performs the various methods and processes described above, such as a client-based data distribution method. For example, in some embodiments, the client-based data distribution method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the client-based data distribution method described above may be performed. Alternatively, in other embodiments, the computing unit 901 may be configured to perform a client-based data distribution method in any other appropriate manner (e.g., by means of firmware).

[0186] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0187] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0188] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0189] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0190] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0191] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.

[0192] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0193] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A client-based data distribution method, the method being applied to a client device, comprising: Acquire the data to be distributed, and perform format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in the preset format; Determining a target network device from the preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices; The data to be distributed is uploaded to a preset cloud device for storage, and the target data is uploaded to the target network device for storage.

2. The method according to claim 1, wherein: The data to be distributed is video data; the format conversion process is performed on the data to be distributed according to a preset format to obtain target data, including: Decoding the data to be distributed to obtain decoded data to be distributed; According to a preset video resolution, the decoded data to be distributed is encoded to obtain the target data.

3. The method according to claim 2, wherein: There are multiple preset video resolutions; The step of encoding the decoded data to be distributed according to a preset video resolution to obtain the target data includes: In response to a resolution confirmation instruction issued by a user, determining a target resolution from the preset video resolutions; According to the target resolution, the decoded data to be distributed is encoded to obtain the target data.

4. The method according to any one of claims 1 to 3, wherein: The determining of the target network device from the preset data distribution network includes: Determine the location information of the client device and the location information of the edge device in the preset data distribution network; The target network device is determined according to the location information of the client device and the location information of the edge device in the preset data distribution network.

5. The method according to claim 4, wherein: The step of determining the target network device according to the location information of the client device and the location information of the edge device in the preset data distribution network includes: Determine the distance information between the client device and the edge device in the preset data distribution network according to the location information of the client device and the location information of the edge device in the preset data distribution network; The target network device is determined according to the distance information between the client device and the edge device in the preset data distribution network.

6. The method according to claim 5, wherein: The step of determining the target network device according to the distance information between the client device and the edge device in the preset data distribution network includes: Determine a first candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the first candidate device is an edge device in the preset data distribution network; Determining remaining storage space of the first candidate device; If the remaining storage space of the first candidate device is equal to or greater than the size of the target data, the first candidate device is determined to be the target network device.

7. The method according to claim 6, further comprising: If the remaining storage space of the first candidate device is smaller than the size of the target data, determining a second candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the second candidate device is an edge device in the preset data distribution network other than the first candidate device; Determining remaining storage space of the second candidate device; If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is equal to or greater than the size of the target data, the first candidate device and the second candidate device are determined to be the target network devices.

8. The method according to claim 7, further comprising: If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is less than the size of the target data, a third candidate device is determined from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the third candidate device is an edge device in the preset data distribution network other than the first candidate device and the second candidate device; The remaining storage space of the third candidate device is determined until the sum of the remaining storage spaces of all the determined candidate devices is equal to or greater than the size of the target data, and all the determined candidate devices are determined as the target network devices.

9. The method according to claim 8, wherein: The uploading of the target data to the target network device for storage includes: If the target network device includes multiple candidate devices, the target data is decomposed according to the remaining storage space of each candidate device in the target network device to obtain local data corresponding to each candidate device; wherein the local data is a part of the target data; The local data is uploaded to the corresponding candidate device for storage.

10. The method according to any one of claims 1 to 9, wherein: The uploading of the target data to the target network device for storage includes: Encrypting the target data to obtain encrypted data corresponding to the target data; The encrypted data corresponding to the target data is uploaded to the target network device for storage.

11. The method according to any one of claims 1 to 10, further comprising: After uploading the target data to the target network device, determining a data identifier of the target data and a device identifier of the target network device; The data identifier of the target data and the device identifier of the target network device are uploaded to the preset cloud device for associated storage.

12. The method according to claim 11, further comprising: In response to the data playback instruction, determining the data identifier of the data to be played; Obtaining an association relationship between a data identifier and a device identifier from the preset cloud device; According to the association relationship between the data identifier and the device identifier, determine the device identifier corresponding to the data identifier of the data to be played as the target identifier; The data to be played is obtained from an edge device corresponding to the target identifier and played.

13. A client-based data distribution device, the device being applied to a client device, comprising: A data acquisition unit, used to acquire data to be distributed, and perform format conversion processing on the data to be distributed according to a preset format to obtain target data; wherein the target data represents the data to be distributed in a preset format; A device determining unit, configured to determine a target network device from the preset data distribution network; wherein the preset data distribution network includes a plurality of edge devices; The data uploading unit is used to upload the data to be distributed to a preset cloud device for storage, and to upload the target data to the target network device for storage.

14. The device according to claim 13, wherein: The data to be distributed is video data; The data acquisition unit comprises: A decoding module, used for decoding the data to be distributed to obtain decoded data to be distributed; The encoding module is used to encode the decoded data to be distributed according to a preset video resolution to obtain the target data.

15. The device according to claim 14, wherein: There are multiple preset video resolutions; The encoding module comprises: A resolution determination submodule, configured to determine a target resolution from the preset video resolutions in response to a resolution confirmation instruction issued by a user; The encoding submodule is used to encode the decoded data to be distributed according to the target resolution to obtain the target data.

16. The device according to any one of claims 13 to 15, wherein: The device determination unit includes: A location determination module, used to determine the location information of the client device and the location information of the edge device in the preset data distribution network; The target determination module is used to determine the target network device according to the location information of the client device and the location information of the edge device in the preset data distribution network.

17. The device according to claim 16, wherein: The target determination module comprises: A distance determination submodule, configured to determine distance information between the client device and an edge device in the preset data distribution network according to the location information of the client device and the location information of an edge device in the preset data distribution network; The target determination submodule is used to determine the target network device according to the distance information between the client device and the edge device in the preset data distribution network.

18. The device according to claim 17, wherein: The target determination submodule is specifically used for: Determine a first candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the first candidate device is an edge device in the preset data distribution network; Determining remaining storage space of the first candidate device; If the remaining storage space of the first candidate device is equal to or greater than the size of the target data, the first candidate device is determined to be the target network device.

19. The device according to claim 18, wherein: The target determination submodule is specifically used for: If the remaining storage space of the first candidate device is smaller than the size of the target data, determining a second candidate device from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the second candidate device is an edge device in the preset data distribution network other than the first candidate device; Determining remaining storage space of the second candidate device; If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is equal to or greater than the size of the target data, the first candidate device and the second candidate device are determined to be the target network devices.

20. The device according to claim 19, wherein The target determination submodule is specifically used for: If the sum of the remaining storage space of the first candidate device and the remaining storage space of the second candidate device is less than the size of the target data, a third candidate device is determined from the preset data distribution network according to the distance information between the client device and the edge device in the preset data distribution network; wherein the third candidate device is an edge device in the preset data distribution network other than the first candidate device and the second candidate device; The remaining storage space of the third candidate device is determined until the sum of the remaining storage spaces of all the determined candidate devices is equal to or greater than the size of the target data, and all the determined candidate devices are determined as the target network devices.

21. The device according to claim 20, wherein: The data uploading unit comprises: a decomposition module, configured to decompose the target data according to the remaining storage space of each candidate device in the target network device if the target network device includes multiple candidate devices, so as to obtain local data corresponding to each candidate device; wherein the local data is a part of the target data; The local uploading module is used to upload the local data to the corresponding candidate device for storage.

22. The device according to any one of claims 13 to 21, wherein: The data uploading unit comprises: An encryption module, used to encrypt the target data to obtain encrypted data corresponding to the target data; The data uploading module is used to upload the encrypted data corresponding to the target data to the target network device for storage.

23. The apparatus according to any one of claims 13 to 22, further comprising: an identification determination unit, configured to determine a data identification of the target data and a device identification of the target network device after uploading the target data to the target network device; The associated storage unit is used to upload the data identifier of the target data and the device identifier of the target network device to the preset cloud device for associated storage.

24. The apparatus according to claim 23, further comprising: An instruction response unit, used to determine the data identifier of the data to be played in response to the data playing instruction; A relationship acquisition unit, used to acquire the association relationship between the data identifier and the device identifier from the preset cloud device; An identification search unit, used to determine the device identification corresponding to the data identification of the to-be-played data as the target identification according to the association relationship between the data identification and the device identification; The data playing unit is used to obtain the data to be played from the edge device corresponding to the target identifier and play it.

25. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 12.

26. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-12.

27. A computer program product, wherein: The invention comprises a computer program, which implements the steps of the method according to any one of claims 1 to 12 when being executed by a processor.