Method, apparatus, device, medium and program product for transmitting data
By determining and sending personalized data frame length configurations on the server, the issues of transmission efficiency and user experience in real-time communication between devices with different performance levels are resolved, achieving efficient data transmission and an improved user experience.
Patent Information
- Application Number
- CN202411161759.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-22
- Publication Date
- 2026-03-03
AI Technical Summary
In real-time communication between devices, the performance of high-performance devices is not fully utilized, resulting in extended end-to-end transmission time, poor user experience, and traditional solutions fail to effectively address the differences between devices with different performance levels.
The server receives device information from the target device, determines the target data frame length that matches it, and sends it to the target device so that the target device can use the data frame length to transmit data, thereby enabling personalized configuration of devices with different performance levels.
Different performance devices can fully utilize their capabilities, reducing end-to-end transmission time for high-performance devices and improving data transmission efficiency and user experience.
Smart Images

Figure CN121603150A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this disclosure generally relate to the field of real-time communication, and more specifically to methods, apparatuses, devices, media, and program products for transmitting data. Background Technology
[0002] Currently, data communication is becoming increasingly important in people's daily lives, gradually becoming a crucial tool that people rely on. In today's society, a large amount of work depends on the support of data communication. Mobile communication technology allows people to make remote calls using mobile devices such as telephones; the development of hardware communication technology has accelerated the gradual upgrading of modern computer equipment; and the development of wireless communication technology has also given rise to technologies such as wireless network internet access. These advancements in communication technology have made modern society's production and life more efficient.
[0003] With the rapid development of data communication technology, the communication distance between devices is gradually increasing. Two devices located in different places and far apart can exchange data using wireless communication technology. Furthermore, communication between devices is no longer limited to two devices but can occur simultaneously between multiple devices to improve communication efficiency. However, many problems still need to be solved in terms of data transmission. Summary of the Invention
[0004] Embodiments of this disclosure provide a method, apparatus, device, medium, and program product for transmitting data.
[0005] According to a first aspect of this disclosure, a method for transmitting data is provided. The method includes receiving device information of a target device related to a target application at a server. The method further includes determining a target data frame length matching the target device based on the device information. The method also includes sending the target data frame length to the target device so that the target device transmits data of the target application using the target data frame length.
[0006] In a second aspect of this disclosure, a method for transmitting data is provided. The method includes sending device information of the target device, which is associated with a target application, to a server from a target device. The method further includes receiving, based on the sent device information, a target data frame length matching the target device from the server. The method also includes transmitting data of the target application using the target data frame length.
[0007] In a third aspect of this disclosure, an apparatus for transmitting data is provided. The apparatus includes a device information receiving module configured to receive device information of a target device related to a target application at a server; a target data frame length determining module configured to determine a target data frame length matching the target device based on the device information; and a target data frame length transmitting module configured to transmit the target data frame length to the target device so that the target device transmits data of the target application using the target data frame length.
[0008] In a fourth aspect of this disclosure, an apparatus for transmitting data is provided. The apparatus includes a device information sending module configured to send device information of the target device, which is related to a target application, to a server at the target device; a target data frame length receiving module configured to receive, based on the sent device information, a target data frame length matching the target device from the server; and a data transmission module configured to transmit data of the target application using the target data frame length.
[0009] In a fifth aspect of this disclosure, an electronic device is provided, including at least one processor; and a storage device for storing at least one program, which, when executed by at least one processor, causes at least one processor to implement the method according to a first or second aspect of this disclosure.
[0010] In a sixth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to a first or second aspect of this disclosure.
[0011] In a seventh aspect of this disclosure, a computer program product is provided. This computer program product includes a computer program that, when executed by a processor, implements the method according to a first or second aspect of this disclosure.
[0012] It should be understood that the content described in this section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0013] The above and other objects, features and advantages of this disclosure will become more apparent from the accompanying drawings, in which like reference numerals generally denote like parts.
[0014] Figure 1 The illustration shows a schematic diagram of an example environment in which the devices and / or methods of the embodiments of this disclosure may be implemented;
[0015] Figure 2 The illustration shows a schematic diagram of an example of data transmission according to an embodiment of the present disclosure;
[0016] Figure 3 The illustration shows a schematic diagram of an example method for transmitting data according to an embodiment of the present disclosure;
[0017] Figure 4 The illustration shows a schematic diagram of an example method for transmitting data according to an embodiment of the present disclosure;
[0018] Figure 5 The illustration shows a schematic block diagram of an apparatus for transmitting data according to an embodiment of the present disclosure;
[0019] Figure 6 The illustration shows a schematic block diagram of an apparatus for transmitting data according to an embodiment of the present disclosure;
[0020] Figure 7 A schematic block diagram of an example device suitable for implementing embodiments of the present disclosure is shown.
[0021] In the various figures, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation
[0022] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and provisions. Upon receiving a user's active request, a prompt message is sent to the user to clearly inform the user that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware such as electronic devices, applications, servers or storage media performing the operations of this disclosed technical solution, based on the prompt message.
[0023] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0024] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0025] As mentioned above, there are still many problems to be solved in the process of transmitting data. For example, in a chorus scenario, the time interval between the lead vocal device receiving and transmitting vocals and the backing vocal device playing the corresponding vocals consists of the acquisition delay of the lead vocal device, the playback delay of the backing vocal device, and the end-to-end transmission time of the real-time communications (RTC) stream data.
[0026] In traditional solutions for dual-channel real-time chorus scenarios, the RTC streams of the lead and backing vocals are real-time, while both vocalists play accompaniment locally. Therefore, during the chorus, it's crucial to maintain a certain level of synchronization between the locally played accompaniment and the backing vocals to avoid excessive time delay differences, which would result in a poor user experience. Reducing end-to-end vocal latency typically involves decreasing the transmission time of the RTC stream data. During transmission, for the same content, shorter audio data frames in the RTC stream require more frequent transmissions, leading to higher CPU utilization. In this scenario, the impact of machine performance degradation must be considered. Therefore, when sending data, all devices use the data frame length that has the least impact on lower-performance machines. However, using a fixed data frame length suitable for lower-performance devices results in identical end-to-end latency for the RTC data streams across devices of different performance levels, wasting the performance advantages of high-end devices and degrading the user experience.
[0027] To address at least the aforementioned and other potential problems, embodiments of this disclosure propose a method for transmitting data. In this method, device information of a target device related to a target application can first be received at a server. The target application is an application installed on the target device and capable of real-time communication with the server. Next, the server can use the received device information to determine a target data frame length matching the target device. For example, after determining the target data frame length from a mapping relationship between device type and data frame length, the server sends the target data frame length to the target device. Upon receiving the target data frame length, the target device then transmits the data of the target application. This method, by distributing different target data frame length configurations to different devices, allows devices with varying performance to fully utilize their capabilities, thereby reducing the end-to-end data transmission time for high-performance devices, improving data transmission efficiency, and enhancing the user experience.
[0028] The embodiments of this disclosure will now be described in further detail with reference to the accompanying drawings. Figure 1 An example environment in which the devices and / or methods of embodiments of the present disclosure may be implemented is illustrated. In environment 100, device information 106 of a target device 110 running a target application 112 is first received at server 102. Then, based on the device information 106, a target data frame length 108 matching the target device 110 is determined from mapping relationship 104. After the target data frame length 108 is determined, the server can send the target data frame length 108 to the target device 110. Therefore, the target device 110 can use the target data frame length 108 to transmit data of the target application at block 114.
[0029] like Figure 1 As shown, server 102 first receives device information 106 of target device 110 related to target application 112. The target application 112 has functions that can be used to realize real-time interaction of video and / or audio, such as playback functionality. Additionally, the target application 112 may also include any other suitable functions, such as text interaction, file upload, or file download functionality.
[0030] Server 102 can receive device information from target device 110. The server uses the received device information 106 to further determine the target data frame length 108 that matches the target device 110 from the mapping relationship 104. The mapping relationship 104 includes multiple device types and multiple data frame lengths corresponding to the multiple device types. Figure 1 The illustration shows server 102 including mapping relationship 104, which is merely an example and not a specific limitation of this disclosure. Server 102 may also receive this mapping relationship from any other suitable device.
[0031] In some embodiments, the mapping relationship 104 is determined by testing different types of terminal devices, such as different types of mobile terminals. During the testing process, different data frame lengths can be used to transmit data to the terminal devices, and then the performance of the terminal devices during transmission is tested. Then, without any lag in the terminal devices, the minimum data frame length selected is taken as the data frame length corresponding to that type of terminal device.
[0032] In some embodiments, server 102 can filter from the mapping relationship to find the device type corresponding to the device type of the target device and the corresponding data frame length. In some embodiments, if server 102 does not find a device type corresponding to the device type of the target device in the mapping relationship, the data frame length of the device type with the closest type in the mapping relationship can be used as the data frame length for the target device. In some embodiments, if server 102 does not find a device type corresponding to the device type of the target device in the mapping relationship, a predetermined data frame length can be determined as the data frame length for the target device. The above examples are only for describing this disclosure and are not intended to specifically limit this disclosure.
[0033] Finally, the determined target data frame length 108 is sent to the target device 110. After receiving the target data frame length 108, the target device 110 uses the received target data frame length 108 to transmit the target application's data at frame 114. In some embodiments, the server uses the target data frame length 108 to divide the data of the target application 112 into multiple data frames for transmission. For example, devices participating in choral data transmission can use the corresponding target data frame length to divide the singer's video or audio stream into multiple corresponding video frames or multiple audio frames. Then, the multiple video frames or audio frames are sent to other devices receiving the choral data for playback of the video or audio stream.
[0034] In some embodiments, after determining the target data frame length for the target device, the target device can communicate with other devices running the same target application and transmit data frames with the target data frame length. In one example, in a chorus scenario, if the lead vocal device and the backing vocal device have the same performance and type, and are both high-performance devices, they can use a smaller data frame length to transmit data to reduce latency. In another example, in a chorus scenario, if the lead vocal device and the backing vocal device have different performance and types, they can use different data frame lengths to transmit data. In this case, the latency of the high-performance device will be reduced. In yet another example, when a user transmits audio or video information to an audience, they can use a data frame length corresponding to their device type to transmit data, which can reduce latency when using a high-performance device.
[0035] By distributing different target data frame length configurations to different devices, devices with different performance levels can fully utilize their capabilities, thereby reducing the end-to-end data transmission time of high-performance devices, improving data transmission efficiency, and enhancing the user experience.
[0036] The above combination Figure 1 The following is a schematic diagram illustrating an example environment in which the devices and / or methods of embodiments of this disclosure may be implemented, in conjunction with... Figure 2 A schematic diagram of a flowchart illustrating an example of data transmission according to an embodiment of the present disclosure.
[0037] like Figure 2 As shown, in Example 200, device information 206 of a target device 210 related to a target application 212 is first received at server 202. Device information 206 is sent from the target device 210 and is associated with the target application 212. Additionally, device information 206 includes device type information of the target device 210. For example, the target device could be the device of the lead vocalist in a chorus or the device of the backing vocalist in a chorus.
[0038] In some embodiments, server 202 pre-stores multiple device types and multiple data frame lengths corresponding to each device type. Additionally, the server may further classify the multiple device types according to device performance, so that the multiple device types correspond to high-performance devices, medium-performance devices, and low-performance devices, respectively.
[0039] The server then uses the received device information 206 to further determine the target data frame length 208 that matches the target device 210 from the mapping relationship 204. The mapping relationship 204 includes multiple device types and multiple data frame lengths corresponding to those device types.
[0040] In some embodiments, server 202 can filter from the mapping relationship to select the device type that corresponds to or is closest to the device type of the target device, and the corresponding data frame length. For example, in mapping relationship 204, device type 1 corresponds to data frame length 1, ..., device type N corresponds to data frame length N. Additionally, server 202 can determine 1 to N pairs of mappings that correspond to or are closest to the device type of the target device 210, and further determine the target data frame length 208 based on the device type.
[0041] Finally, the server sends the determined target data frame length 208 to the target device 210. After receiving the target data frame length 208, the target device 210 uses the received target data frame length 108 to transmit the target application data at frame 214.
[0042] By distributing different target data frame length configurations to different devices, devices with different performance levels can fully utilize their capabilities, thereby reducing the end-to-end data transmission time of high-performance devices, improving data transmission efficiency, and enhancing the user experience.
[0043] The above combination Figure 2 A schematic flowchart illustrating an example of data transmission according to an embodiment of the present disclosure is provided below. Figure 3 A schematic diagram illustrating an example method 300 for transmitting data according to an embodiment of the present disclosure.
[0044] like Figure 3 As shown, in example method 300, at block 302, the server receives device information about the target device related to the target application. Before data transmission, the server needs to obtain the device information of the target device so that the server can issue different data frame length configurations for different target devices.
[0045] In some embodiments, the device information of the target device may include the type of the device. Additionally, the device information may also include one or more of the following: operating system information of the target device, central processing unit type of the target device, or graphics processor type of the target device.
[0046] Subsequently, at box 304, the server determines the target data frame length matching the target device based on the device information. For example, the server can first obtain a mapping relationship between device types and data frame lengths, which includes multiple data frame lengths corresponding to multiple device types. Then, the server checks to determine whether there is a device type in the multiple device types in the mapping relationship that matches the device type of the target device. In some embodiments, the server can check whether there is a device type in the mapping relationship that matches the device type of the target device based on the device type identifier. For example, the identifier of the device type of the target device and the identifiers of multiple device types in the mapping relationship are obtained separately for matching.
[0047] In some embodiments, when no device type corresponding to the target device's device type exists in the mapping relationship, it indicates that the server has not pre-determined a suitable data frame length for the target device. In this case, a predetermined data frame length can be set as the target data frame length and sent to the target device. Additionally, the predetermined data frame length can be the data frame length set for the lowest performance device.
[0048] In some embodiments, when a device type corresponding to the device type of the target device exists in the mapping relationship, the data frame length corresponding to that device type is determined. Then, this data frame length is determined as the target data frame length that matches the target device.
[0049] Finally, at box 306, the target data frame length is sent to the target device so that the target device can transmit the target application's data using the target data frame length. For example, the data to be transmitted can be divided into multiple data frames for transmission based on the determined target data frame length.
[0050] By distributing different target data frame length configurations to different devices, devices with different performance levels can fully utilize their capabilities, thereby reducing the end-to-end data transmission time of high-performance devices, improving data transmission efficiency, and enhancing the user experience.
[0051] The above combination Figure 3 A schematic diagram of an example method 300 for transmitting data according to an embodiment of the present disclosure is described below. Figure 4 A schematic diagram illustrating an example method 400 for transmitting data according to an embodiment of the present disclosure.
[0052] like Figure 4 As shown, in example method 400, at block 402, device information of the target device, related to the target application, is sent from the target device to the server. Before data transmission, the device information of the target device is first obtained. Then, the obtained device information is sent to the server so that the server can issue different data frame length configurations for different devices.
[0053] In some embodiments, the device information of the target device may include the device type. Additionally, the target device information may also include one or more of the following: operating system information, central processing unit type, or graphics processor type. The above examples are merely illustrative of this disclosure and not intended to limit its specific scope. Those skilled in the art can configure the device information to include any suitable information as needed.
[0054] Subsequently, at box 404, the target device receives a target data frame length matching the target device from the server based on the transmitted device information. The target data frame length is determined based on a mapping relationship between device type and data frame length, and this mapping relationship includes multiple data frame lengths corresponding to multiple device types.
[0055] In some embodiments, the server may perform checks to determine whether there exists a device type in the mapping relationship that matches the device type of the target device. For example, the server may check whether there is a device type in the mapping relationship that matches the device type of the target device based on the device type identifier. For instance, the server may obtain the device type identifier of the target device and the identifiers of the multiple device types in the mapping relationship for matching.
[0056] In some embodiments, when no device type corresponding to the target device's device type exists in the mapping relationship, the server will determine a predetermined data frame length as the target data frame length and send it to the target device. Additionally, the predetermined data frame length may be set based on the device with the lowest performance.
[0057] In some embodiments, when a device type corresponding to the device type of the target device exists in the mapping relationship, the corresponding data frame length is then determined. This data frame length is then determined as the target data frame length that matches the target device.
[0058] Finally, at box 406, the target device uses the target data frame length to transmit data for the target application. After obtaining the target data frame length from the server, the target application in the target device can use this target data frame length to transmit data.
[0059] In some embodiments, the target device acquires data of the target application to be transmitted. For ease of transmission, the data to be transmitted can be divided into multiple data frames according to a determined target data frame length. Then, the target device transmits multiple data frames with the target data frame length.
[0060] In some embodiments, the data of the target application is audio data. In some embodiments, the data of the target application may be video data. In some embodiments, the data of the target application may be both audio and video data. The above examples are merely for describing this disclosure and are not intended to specifically limit this disclosure.
[0061] In some embodiments, the mapping between device types and data frame lengths stored in the server is determined by performing performance tests on different types of devices. For example, for a type of terminal device or target device, during testing, the data frame length of the terminal device or target device can first be determined as a predetermined data frame length, such as the data frame length suitable for the lowest performance device. Then, the terminal device or target device generates an adjusted data frame length by reducing the predetermined data frame length by a certain amount. Next, the terminal device or target device uses the adjusted data frame length to transmit data for the target application, and during data transmission, it is further determined whether the current performance of the target device reaches the target device's threshold performance, such as the highest utilization of the central processing unit for the application. For example, the threshold performance is the highest performance that causes audio or video stuttering. If the threshold performance is reached, the predetermined data frame length is determined as the target data frame length, allowing the target device to use the target data frame length for data transmission. At this point, it is indicated that the device is a low-performance device. In some embodiments, if the threshold performance is not reached, the adjusted data frame length is further reduced to repeat the previous operation, such as performing data transmission, measuring performance, and comparing it with the threshold performance. When the threshold performance is reached, the data frame length that was not reduced before this transmission operation is determined as the target data frame length. This minimizes data frame length without causing lag. Additionally, the device type of the terminal or target device and the determined target data frame length can be sent to the server for storage in a mapping relationship.
[0062] This method first evaluates the performance of the target device and then distributes different target data frame length configurations according to the different performance of different target devices, so that different target devices can give full play to their performance, thereby reducing the end-to-end data transmission time of high-performance devices, improving data transmission efficiency, and improving user experience.
[0063] The above combination Figure 4 A schematic diagram of an example method 400 for transmitting data according to an embodiment of the present disclosure is described below. Figure 5 A schematic block diagram illustrating an apparatus 500 for transmitting data according to an embodiment of the present disclosure.
[0064] like Figure 5 As shown, the apparatus 500 includes a device information receiving module 510, configured to receive device information of a target device related to a target application at a server; a target data frame length determining module 520, configured to determine a target data frame length matching the target device based on the device information; and a target data frame length sending module 530, configured to send the target data frame length to the target device so that the target device can use the target data frame length to transmit data of the target application.
[0065] In some embodiments, the target data frame length determination module 520 further includes: a mapping relationship acquisition module, configured to acquire a mapping relationship between device type and data frame length, the mapping relationship including multiple data frame lengths corresponding to multiple device types; and a matching module, configured to determine the target data frame length corresponding to the target device by matching the multiple device types in the mapping relationship with the device type of the target device.
[0066] In some embodiments, the matching module further includes: a first target data frame length determination module, configured to determine a target data frame length corresponding to a device type from multiple data frame lengths in response to the existence of a device type among multiple device types; and a second target data frame length determination module, configured to determine a predetermined data frame length as the target data frame length corresponding to a device type in response to the absence of a device type among multiple device types.
[0067] In some embodiments, the device information further includes at least one of the following: operating system information of the target device, central processing unit type of the target device, or graphics processing unit type of the target device.
[0068] The above combination Figure 5 A schematic block diagram of a data transmission apparatus 500 according to an embodiment of the present disclosure is described below. Figure 6 A schematic block diagram illustrating an apparatus 600 for transmitting data according to an embodiment of the present disclosure.
[0069] like Figure 6 As shown, the device 600 includes a device information sending module 610, configured to send device information of the target device to a server at the target device, the target device being related to a target application; a target data frame length receiving module 620, configured to receive a target data frame length matching the target device from the server based on the sent device information; and a data transmission module 630, configured to transmit data of the target application using the target data frame length.
[0070] In some embodiments, the data transmission module 630 further includes: a data acquisition module configured to acquire data of the target application to be transmitted; a data partitioning module configured to partition the data into multiple data frames based on the target data frame length; and a data frame sending module configured to send multiple data frames.
[0071] In some embodiments, the device information includes the device type of the target device, and the target data frame length is determined by matching multiple device types in a mapping relationship with the device type of the target device, the mapping relationship including multiple data frame lengths corresponding to multiple device types.
[0072] In some embodiments, the apparatus 600 further includes: a device information receiving module configured to receive device information of a target device; and the device information includes at least one of the following: operating system information of the target device, central processing unit type of the target device, or graphics processing unit type of the target device.
[0073] In some embodiments, the data of the target application is at least one of the following: audio data or video data.
[0074] In some embodiments, the apparatus 600 further includes a performance testing module configured to determine the target data frame length corresponding to the target device by performing a performance test on the target device.
[0075] In some embodiments, the performance testing module further includes: a predetermined data frame length determination module configured to determine a predetermined data frame length for a target device; a reduction module configured to generate an adjusted data frame length by reducing the predetermined data frame length; a data transmission module configured to transmit data of a target application using the adjusted data frame length; a target device performance determination module configured to determine the performance of the target device during the transmission of data of the target application using the adjusted data frame length; and a target data frame length determination module configured to determine the predetermined data frame length as a target data frame length in response to the target device's performance reaching a threshold performance.
[0076] In some embodiments, the performance testing module further includes: a predetermined data frame length reduction module, configured to reduce the adjusted data frame length in response to the target device's performance failing to reach a threshold performance; and a target data frame length determination module, configured to determine the target data frame length based on the reduced adjusted data frame length.
[0077] In some embodiments, the system further includes a storage module configured to send the device type and target data frame length of the target device to the server for storage in a mapping relationship.
[0078] In some embodiments, the data of the target application is a received video stream of a singer, and the data transmission module 630 includes: a video frame division module configured to divide the singer's video stream into multiple video frames based on a target data frame length; and to send the multiple video frames to a playback device for playing the video stream.
[0079] Figure 7 A schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure is shown. Figure 1The server 102 and target device 110 can be implemented using device 700. As shown, device 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 702 or loaded from storage unit 708 into random access memory (RAM) 703. The RAM 703 can also store various programs and data required for the operation of device 700. The CPU 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.
[0080] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage page 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0081] The various processes and handling described above, such as method 300 or method 400, can be executed by processing unit 701. For example, in some embodiments, method 300 or method 400 can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by CPU 701, one or more actions of method 300 or method 400 described above can be performed.
[0082] This disclosure can be a method, apparatus, system, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.
[0083] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0084] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0085] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0086] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0087] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0088] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0089] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0090] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for transmitting data, comprising: Receive device information of the target device related to the target application at the server; Based on the device information, determine the target data frame length that matches the target device; as well as The target data frame length is sent to the target device so that the target device can use the target data frame length to transmit the data of the target application.
2. The method according to claim 1, wherein the device information includes the device type of the target device, and determining the target data frame length matching the target device includes: Obtain the mapping relationship between device type and data frame length, wherein the mapping relationship includes multiple data frame lengths corresponding to multiple device types; The target data frame length corresponding to the target device is determined by matching the multiple device types in the mapping relationship with the device type of the target device.
3. The method according to claim 2, wherein determining the target data frame length corresponding to the target device includes: In response to the presence of the device type among the plurality of device types, a target data frame length corresponding to the device type is determined from the plurality of data frame lengths; as well as In response to the fact that the device type does not exist among the plurality of device types, the predetermined data frame length is determined to be the target data frame length corresponding to the device type.
4. A method for transmitting data, comprising: The target device sends device information about the target device, which is related to the target application, to the server from the target device. Based on the device information sent, receive from the server the target data frame length that matches the target device; as well as The target application's data is transmitted using the target data frame length.
5. The method according to claim 4, wherein transmitting the data of the target application using the target data frame length comprises: Obtain the data of the target application to be transmitted; Based on the target data frame length, the data is divided into multiple data frames; as well as Send the multiple data frames.
6. The method of claim 4, wherein the device information includes the device type of the target device, and the target data frame length is determined by matching a plurality of device types in a mapping relationship with the device type of the target device, the mapping relationship including a plurality of data frame lengths corresponding to the plurality of device types.
7. The method according to claim 6, further comprising: Receive device information from the target device.
8. The method of claim 4, wherein the data of the target application is at least one of the following: audio data or video data.
9. The method according to claim 4, further comprising: The target data frame length corresponding to the target device is determined by performing performance tests on the target device.
10. The method of claim 9, wherein determining the target data frame length corresponding to the target device by performing a performance test on the target device comprises: Determine the predetermined data frame length for the target device; The adjusted data frame length is generated by reducing the predetermined data frame length; The data of the target application is transmitted using the adjusted data frame length; The performance of the target device is determined during the transmission of the data of the target application using the adjusted data frame length; as well as In response to the target device's performance reaching the threshold performance, the predetermined data frame length is determined as the target data frame length.
11. The method of claim 10, wherein determining the target data frame length corresponding to the target device by performing a performance test on the target device further includes: In response to the target device's performance failing to reach the threshold performance, the adjusted data frame length is reduced; as well as The target data frame length is determined based on the reduced, adjusted data frame length.
12. The method according to claim 9, further comprising: The device type of the target device and the target data frame length are sent to the server for storage in the mapping relationship.
13. The method of claim 4, wherein the data of the target application is a video stream of singers in a choral scene, and transmitting the data of the target application using the target data frame length includes: The singer's video stream is divided into multiple video frames based on the target data frame length; as well as The plurality of video frames are sent to a playback device for playing the video stream.
14. An apparatus for transmitting data, comprising: The device information receiving module is configured to receive device information of the target device related to the target application at the server. The target data frame length determination module is configured to determine the target data frame length that matches the target device based on the device information. as well as The target data frame length sending module is configured to send the target data frame length to the target device so that the target device can use the target data frame length to transmit the data of the target application.
15. An apparatus for transmitting data, comprising: The device information sending module is configured to send device information of the target device to the server from the target device, wherein the target device is related to the target application; The target data frame length receiving module is configured to receive a target data frame length matching the target device from the server based on the transmitted device information; as well as The data transmission module is configured to transmit the data of the target application using the target data frame length.
16. An electronic device comprising: At least one processor; as well as A storage device for storing at least one program, which, when executed by the at least one processor, causes the at least one processor to implement the method according to any one of claims 1-13.
17. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method according to any one of claims 1-13 when executed by a processor.
18. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-13.