Scenario-based data transmission protocol adaptation method, device and storage medium

By detecting the device type and data flow information on the USB-C interface of the mobile terminal, and dynamically adjusting the proportion of UVC and USB Bulk protocols, the problem of poor data transmission stability in the mobile terminal is solved and data transmission efficiency is improved.

CN118646811BActive Publication Date: 2024-12-17SHENZHEN I4SEASON HONGSHENG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411112283.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2024-12-17
Estimated Expiration
2044-08-14

AI Technical Summary

Technical Problem

Mobile terminals have poor data transmission stability when using the UVC protocol, especially on Android devices, which requires specific configurations and modifications to work properly, resulting in compatibility issues.

Method used

By detecting the device type and transmission specifications of the target device on the USB-C interface of the mobile terminal, the scene parameters are determined based on the data flow information within the preset detection time period, and the allocation ratio of the UVC and USB Bulk protocols is dynamically adjusted to improve data transmission efficiency.

Benefits of technology

The data transmission efficiency of the mobile terminal based on the USB-C interface is improved, and the technical defects of poor compatibility of the UVC protocol are overcome, and more stable data transmission is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118646811B_ABST
    Figure CN118646811B_ABST
Patent Text Reader

Abstract

The present application discloses a scenario-based data transmission protocol adaptation method, device and storage medium. The present application relates to the field of electronic digital data processing technology. The method includes: when detecting that the data interface is connected to a target device based on a wire, determining the device type of the target device and the transmission specification of the wire; sending a data transmission request to the target device based on a driver corresponding to the device type, and receiving a data stream in response to the data transmission request; determining data stream information based on the data stream within a preset detection time period; determining the scenario parameters mapped to the device type, the transmission specification and the data stream information; determining the distribution ratio of the first transmission protocol and the second transmission protocol based on the scenario parameters, and receiving the data stream based on the distribution ratio. The present application can achieve the technical effect of improving the stability and efficiency of data transmission based on the USB‑C interface of a mobile terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electronic digital data processing, and in particular to a scenario-based data transmission protocol adaptation method, device and storage medium. Background Art

[0002] The UVC (USB Video Class) protocol is designed specifically for video transmission. It simplifies the compatibility issues between video devices and hosts, allowing video devices such as cameras to work properly on different operating systems without additional drivers. The USB Bulk (USB Bulk-Only Transport) protocol is a more general protocol used for large-capacity data transmission, such as printers, storage devices, etc.

[0003] In the related art, computer terminals have good compatibility with the UVC protocol, but mobile platforms have poor compatibility with the UVC protocol. Although some open source projects aim to improve the compatibility of the UVC protocol on Android devices, these projects require specific configuration and modification to work properly on different Android versions. For example, it is necessary to add SELinux (Security-Enhanced Linux) permissions and external camera configuration in the device build.

[0004] Therefore, data transmission between mobile terminals based solely on the UVC protocol has poor stability. Summary of the invention

[0005] The main purpose of the present application is to provide a scenario-based data transmission protocol adaptation method, device and storage medium, aiming to solve the technical problem of poor stability of data transmission between mobile terminals based solely on the UVC protocol.

[0006] To achieve the above object, the present application provides a scenario-based data transmission protocol adaptation method, which is applied to a mobile terminal, wherein the data interface of the mobile terminal is a USB-C interface, and the scenario-based data transmission protocol adaptation method includes:

[0007] When it is detected that the data interface is connected to a target device based on a wire, determining a device type of the target device and a transmission specification of the wire;

[0008] Sending a data transfer request to the target device based on a driver corresponding to the device type, and receiving a data stream in response to the data transfer request;

[0009] Determining data flow information based on the data flow within a preset detection time period;

[0010] Determining the device type, the transmission specification, and scenario parameters of the data stream information mapping;

[0011] The allocation ratios of the first transmission protocol and the second transmission protocol are determined based on the scenario parameters, and the data stream is received based on the allocation ratios.

[0012] In one embodiment, when it is detected that the data interface is connected to a target device based on a wire, the step of determining the device type of the target device and the transmission specification of the wire comprises:

[0013] Identify the transmission specification of the wire based on a universal driver;

[0014] Receiving handshake information transmitted by the target device based on the data interface;

[0015] The device type of the target device is determined according to the handshake information.

[0016] In one embodiment, the step of sending a data transfer request to the target device based on the driver corresponding to the device type and receiving a data stream in response to the data transfer request includes:

[0017] Based on the device type, determining a general driver or a data transmission driver running on the mobile terminal;

[0018] generating the data transmission request based on the tap information received by the mobile terminal or the data transmission identifier sent by the target device;

[0019] The data stream from the target device in response to the data transfer request is received based on a first transfer protocol.

[0020] In one embodiment, the step of determining data flow information based on the data flow within a preset detection time period includes:

[0021] Determine various attribute information of the data flow within the preset detection time period;

[0022] Determine a ratio of an attribute value of the attribute information to a standard value corresponding to the attribute information;

[0023] An average of the ratios is determined as the data stream information.

[0024] In one embodiment, the step of determining various attribute information of the data flow within the preset detection time period includes:

[0025] Determining an average flow rate based on the data flow within the preset detection time period and the time length corresponding to the preset detection time period;

[0026] determining an average occupancy of packets in the data stream;

[0027] Determine a continuous ratio corresponding to the continuous data in the data packet;

[0028] The number of types of the data packets in the data flow is determined.

[0029] In one embodiment, the step of determining the device type, the transmission specification, and the scenario parameters of the data stream information mapping includes:

[0030] When the device type is a camera, the first parameter is determined to be 1, otherwise the first parameter is determined to be 0;

[0031] When the ratio of the transmission specification to the corresponding average flow rate of the data flow in the preset detection time period is greater than a first threshold, determining the second parameter to be 0, otherwise the second parameter is 1;

[0032] When the data stream information is greater than a second threshold, determining that the third parameter is 0, otherwise the third parameter is 1;

[0033] Determine the scene parameters that match the first parameter, the second parameter, and the third parameter.

[0034] In one embodiment, the first transmission protocol is used to transmit batch data, and the second transmission protocol is used to transmit scattered data. The step of determining the allocation ratio of the first transmission protocol and the second transmission protocol based on the scenario parameters, and receiving the data stream based on the allocation ratio includes:

[0035] Determine a first ratio corresponding to the first transmission protocol and a second ratio corresponding to the second transmission protocol based on the scene parameters;

[0036] generating a resource scheduling instruction based on the first ratio and the second ratio;

[0037] reallocating the transmission channel corresponding to the wire based on the resource scheduling instruction;

[0038] The data stream is received based on the reallocated transmission channel.

[0039] In one embodiment, the step of determining a first ratio corresponding to the first transmission protocol and a second ratio corresponding to the second transmission protocol based on the scene parameters includes:

[0040] Determine, based on the scenario parameters, a basic weight corresponding to the first transmission protocol and the second transmission protocol;

[0041] Determine the scene weight based on the average occupancy of the data packets in the data flow information and the continuous proportion corresponding to the continuous data as positive feedback adjustment, and the number of types of the data packets as negative feedback adjustment;

[0042] Based on the scene weight and the basic weight, the first ratio and the second ratio are determined.

[0043] In addition, to achieve the above-mentioned purpose, the present application also provides a scenario-based data transmission protocol adaptation device, and the scenario-based data transmission protocol adaptation device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the scenario-based data transmission protocol adaptation method as described above.

[0044] In addition, to achieve the above-mentioned purpose, the present application also provides a storage medium, which is a computer-readable storage medium, and a program for implementing a scenario-based data transmission protocol adaptation method is stored on the computer-readable storage medium. The program for implementing the scenario-based data transmission protocol adaptation method is executed by a processor to implement the steps of the scenario-based data transmission protocol adaptation method as described above.

[0045] The present application provides a scenario-based data transmission protocol adaptation method, which first detects whether a target device is connected based on a USB-C interface, and when it is detected that the data interface is connected to the target device based on a wire, determines the device type of the target device and the transmission specification of the wire, that is, determines the current transmission scenario based on the device type, the transmission specification of the wire, and the driver currently running on the mobile terminal. Then, based on the driver corresponding to the device type, a data transmission request is generated and sent to the target device, and a data stream sent by the target device in response to the data transmission request is received. After receiving the data stream, based on the data stream within a preset detection time period, the data stream information is determined, that is, the data stream information used to determine the scene parameters is detected based on the data stream of the wire head preset detection time period, that is, the information characterizing the data stream characteristics is determined. Next, the device type, transmission specifications, and scene parameters of data stream information mapping are determined, so that the adapted scene parameters are determined in combination with the characteristics of the scene and the data stream itself, and the configuration scheme is determined according to the scene parameters, that is, the distribution ratio of the first transmission protocol and the second transmission protocol is determined based on the scene parameters, and the data stream is received based on the distribution ratio, thereby realizing the selection between the UVC protocol and the USB Bulk protocol based on the current scene, and also realizing the distribution of the transmission data streams of the two, further improving the data transmission efficiency.

[0046] In summary, the present application quantifies various parameters in the data transmission process and pre-adapts the configuration schemes of different scene parameters, and then determines the scene parameters based on the quantification of the parameters, and then determines the configuration scheme of the data transmission protocol. This overcomes the technical defects of poor compatibility of mobile terminals with UVC protocols in related technologies, and improves the efficiency of data transmission based on the USB-C interface of mobile terminals. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0048] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0049] Figure 1 A flowchart of the first embodiment of the scenario-based data transmission protocol adaptation method of the present application is provided;

[0050] Figure 2 A flowchart diagram of the second embodiment of the scenario-based data transmission protocol adaptation method of the present application is provided;

[0051] Figure 3 A flowchart diagram of the third embodiment of the scenario-based data transmission protocol adaptation method of the present application is provided;

[0052] Figure 4 This is a schematic diagram of the hardware structure involved in the scenario-based data transmission protocol adaptation device embodiment of the present application.

[0053] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0054] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0055] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0056] The main solution of the present application is: when it is detected that the data interface is connected to a target device based on a wire, determine the device type of the target device and the transmission specification of the wire; send a data transmission request to the target device based on a driver corresponding to the device type, and receive a data stream in response to the data transmission request; determine data stream information based on the data stream within a preset detection time period; determine the scene parameters mapped to the device type, the transmission specification and the data stream information; determine the distribution ratio of the first transmission protocol and the second transmission protocol based on the scene parameters, and receive the data stream based on the distribution ratio.

[0057] Currently, computer terminals have good compatibility with the UVC protocol, but mobile platforms have poor compatibility with the UVC protocol. Although some open source projects aim to improve the compatibility of the UVC protocol on Android devices, these projects require specific configuration and modification to work properly on different Android versions. For example, it is necessary to add SELinux (Security-Enhanced Linux) permissions and external camera configuration in the device build. Therefore, data transmission between mobile terminals based solely on the UVC protocol has poor stability.

[0058] The present application quantifies various parameters in the data transmission process, and pre-adapts the configuration schemes of different scene parameters, and then determines the scene parameters based on the quantification of the parameters, and then determines the configuration scheme of the data transmission protocol. This overcomes the technical defect of poor compatibility of mobile terminals with UVC protocols in related technologies, and improves the efficiency of data transmission of mobile terminals based on USB-C interface.

[0059] It should be noted that the execution subject of this embodiment can be a mobile terminal, or a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or a scenario-based data transmission protocol adapter device that can realize the above functions, etc. This embodiment does not specifically limit this. The following takes the mobile terminal as the execution subject as an example to illustrate this embodiment and the following embodiments.

[0060] Based on this, this application proposes a scenario-based data transmission protocol adaptation method of the first embodiment, please refer to Figure 1 , applied to a mobile terminal, the data interface of the mobile terminal is a USB-C interface, and the scenario-based data transmission protocol adaptation method includes steps S110 to S150:

[0061] Step S110, when it is detected that the data interface is connected to a target device based on a wire, determining the device type of the target device and the transmission specification of the wire.

[0062] In this embodiment, the mobile terminal and the target device exchange data based on the USB-C interface, and the mobile terminal runs an Android system or an IOS system. The device type of the target device is not specifically limited, and can be a device with storage function such as a mobile terminal, a computer, a camera, and a mobile hard disk. The wire is the medium for data transmission between the target device and the mobile terminal. The device type is the type of the target device. The transmission specification is the parameters such as the transmission protocol and transmission performance supported by the wire.

[0063] As an optional implementation, when the mobile terminal detects that a data cable is connected to the data interface, that is, the USB-C interface, and a target device is connected to the other end of the data cable, the device type of the target device and the transmission specification of the data cable are determined based on the handshake information.

[0064] As another optional implementation, step S110 includes: identifying the transmission specification of the wire based on a universal driver; receiving handshake information transmitted by the target device based on the data interface; and determining the device type of the target device according to the handshake information.

[0065] When it is detected that a wire is inserted into the data interface, a universal driver is obtained, the transmission specification of the wire is identified based on the universal driver, and then the handshake information transmitted by the target device is received based on the data interface, and the handshake information is parsed to determine the device type of the target device.

[0066] Step S120: sending a data transmission request to the target device based on the driver corresponding to the device type, and receiving a data stream in response to the data transmission request.

[0067] In this embodiment, the driver is a driver program that enables the target device and the mobile terminal to interact correctly. It can be a general data transmission driver, or an application software corresponding to the target device is running on the mobile terminal, and the application software includes a data transmission driver. Compared with the general data transmission driver, the data transmission driver included in the application software can improve the transmission rate and stability. The data transmission request is used to instruct the target device to initiate data transmission to the mobile terminal.

[0068] After the mobile terminal determines the device type of the target device, it checks whether there is an application software corresponding to the device type currently running. If yes, the target driver corresponding to the application software is used; if not, the general data transmission driver is used. A data transmission request is generated according to the determined driver, and the data transmission request is sent to the target device, and then the data stream transmitted by the target device in response to the data transmission request is received.

[0069] Optionally, step S120 includes:

[0070] Step S121, determining a general driver or a data transmission driver running on the mobile terminal based on the device type;

[0071] Step S122, generating the data transmission request based on the tap information received by the mobile terminal or the data transmission identifier sent by the target device;

[0072] Step S123: receiving the data stream from the target device in response to the data transmission request based on the first transmission protocol.

[0073] In this embodiment, the click information refers to the user-triggered instruction received by the application software or system window corresponding to the universal driver or data transmission driver running on the mobile terminal. The first transmission protocol is a default transmission protocol, such as the UVC protocol.

[0074] Based on the device type, determine whether to use a universal driver or a data transfer driver specific to the mobile terminal. Universal drivers are applicable to a variety of device types, while specific drivers are optimized for specific devices. Generate a data transfer request based on the key information received by the mobile terminal or the data transfer identifier sent by the target device. The key information can be an operation input by the user of the mobile terminal, which is used to indicate the type of transfer request. The data transfer identifier can be a specific data packet sent by the target device, which is used to identify the data that needs to be transferred. The data stream responded by the target device is received using the first transmission protocol. The first transmission protocol can be a USB protocol or other adapted protocol, and the appropriate protocol is selected according to the device type and transmission requirements. The data stream received through this protocol can be photos, videos, files, etc.

[0075] Step S130: determining data flow information based on the data flow within a preset detection time period.

[0076] In this embodiment, the data stream received within the preset detection time period of the data stream header is used as the detection data stream, and the detection data stream is parsed to determine the data stream information. The data stream information includes various attribute information of the data stream, including but not limited to the average flow rate, the average occupancy of the data packet, the continuous proportion corresponding to the continuous data, and the type and number of data packets.

[0077] Exemplarily, the preset detection time period is from the second to the seventh second after the start of data transmission, a total of five seconds. This is because the data transmission in the first two seconds may be unstable and therefore has no reference value. The data stream transmitted within the five seconds from the second to the seventh second is selected as the detection data stream, and the detection data stream is analyzed to determine the data stream information.

[0078] Step S140, determining the device type, the transmission specification, and the scenario parameters of the data stream information mapping.

[0079] In this embodiment, the scenario parameter is a parameter used to quantify the current data transmission scenario, and the mapping relationship between the device type, the transmission specification, and the data stream information and the scenario parameter is predetermined.

[0080] After the mobile terminal determines data such as the device type, transmission specifications, and data stream information, a mapping value is determined as a scene parameter based on the device type, transmission specifications, and data stream information and a preset mapping relationship.

[0081] As an optional implementation, the first value corresponding to the device type is determined based on the transmission specification, the second value corresponding to the device is determined based on the transmission specification, the third value corresponding to the device is determined based on the data stream information, the fourth value is determined based on the first value, the second value, the third value and their respective weights, and the scene parameters pre-set in the interval are determined based on the interval in which the fourth value is located.

[0082] As another optional implementation, step S140 includes:

[0083] Step S141, when the device type is a camera, determining the first parameter to be 1, otherwise determining the first parameter to be 0;

[0084] Step S142, when the ratio of the transmission specification to the corresponding average flow rate of the data flow in the preset detection time period is greater than a first threshold, determining that the second parameter is 0, otherwise the second parameter is 1;

[0085] Step S143, when the data flow information is greater than the second threshold, determining that the third parameter is 0, otherwise the third parameter is 1;

[0086] Step S144: determine the scene parameters that match the first parameter, the second parameter, and the third parameter.

[0087] In this embodiment, the parameters corresponding to the device type, the transmission specification, and the data flow information mapping are determined. That is, when the device type is a camera, the data transmitted by it is regular, such as video data or image data, and the mobile terminal usually has corresponding application software, so the first parameter corresponding to the device type is set to 1. If the device type is not a camera, the first parameter is set to 0. Similarly, the average flow rate corresponding to the data flow in the preset detection time period is obtained, the theoretical transmission speed corresponding to the transmission specification is obtained, and the ratio of the theoretical transmission speed to the average flow rate is determined. When the ratio is greater than the first threshold, the second parameter is determined to be 0, otherwise the second parameter is 1. When the ratio is larger, it means that the current flow rate is smaller than the theoretical transmission speed, so the protocol needs to be changed. That is, when the parameter is 0, the scene decision tends to change the protocol. When the value corresponding to the data flow information is greater than the second threshold, it indicates that the data tends to be fragmented and diverse, so the protocol needs to be changed, and the third parameter is determined to be 0, otherwise, the third parameter is determined to be 1. After the first parameter, the second parameter, and the third parameter are determined, a preset mapping relationship is obtained, and mapping values ​​of the first parameter, the second parameter, and the third parameter are determined as scene parameters based on the mapping relationship.

[0088] Exemplarily, according to the device type being audio data, the first parameter is set to 0. Since the average flow rate ratio corresponding to the transmission specification is less than the first threshold, the second parameter is set to 1. The data stream information is greater than the second threshold, so the third parameter is set to 0. Assuming that the first parameter is 0, the second parameter is 1, and the third parameter is 0. According to the combination of these parameters, the scene parameter is determined to be "010".

[0089] Step S150: determining a distribution ratio of the first transmission protocol and the second transmission protocol based on the scenario parameters, and receiving the data stream based on the distribution ratio.

[0090] In this embodiment, the first transmission protocol and the second transmission protocol are both data transmission protocols, and the two do not interfere with each other, that is, when the transmission specification of the wire meets the requirements, the transmission bandwidth can be allocated to different transmission protocols.

[0091] Exemplarily, the first transmission protocol is the UVC protocol, and the second transmission protocol is the USB Bulk protocol.

[0092] In this embodiment, after determining the scene parameters, the allocation ratios of the first transmission protocol and the second transmission protocol are determined according to the scene parameters and preset configuration information, that is, the first ratio corresponding to the first transmission protocol and the second ratio corresponding to the second transmission protocol. Then, according to the first ratio and the second ratio, corresponding bandwidths are allocated to the first transmission protocol and the second transmission protocol, and then the data stream is continued to be received based on the allocated transmission protocol.

[0093] Furthermore, after the allocation, it is deemed that the data flow is received again, so the steps of determining the data flow information and the subsequent steps based on the data flow in the preset detection time period are re-executed according to the preset frequency, so that the proportion of the transmission protocol is dynamically adjusted during the entire transmission process to improve the stability and efficiency of the transmission. The preset frequency is once a minute.

[0094] As an optional implementation, the mobile terminal continuously monitors the connection status of the USB-C interface. Once a device is detected to be connected to the USB-C interface via a cable, the system attempts to identify the device type of the device (such as a hard disk, a smart phone, a display, etc.). Through communication handshake or predefined electrical characteristic detection, the transmission specifications of the connecting cable are identified, such as support for USB3.1 Gen 1, USB 3.1 Gen 2, and also bandwidth size, theoretical transmission speed, etc. The corresponding driver is loaded according to the device type. A data transmission request is sent to the target device through the loaded driver. The data stream corresponding to the request is received from the target device. Within a preset detection time period, the data stream is collected and analyzed to determine the speed, stability and other relevant parameters of the data stream. According to the device type, transmission specifications and data stream information, it is mapped to one or more scene parameters (such as "high-speed data transmission", "video playback", "file transfer", etc.). Based on the scene parameters, the intelligent algorithm calculates the distribution ratio of the first transmission protocol and the second transmission protocol. According to the calculated ratio, the use of the two transmission protocols is dynamically adjusted to make the data transmission process more efficient. According to the determined transmission protocol ratio, the data stream from the target device is received.

[0095] For example, it is assumed that the mobile terminal is a smart phone, and the USB-C interface is connected to a camera. Through the USB-C interface, the camera can transmit two different types of data: photos and videos. The photo data size is small, and the video data size is large. When the USB-C interface is detected to be connected to the target device, the mobile terminal determines that the target device is a camera, and detects that the transmission specification of the connected wire supports high-speed data transmission. Based on the camera device type, the mobile terminal sends a data transmission request to the camera and waits for a response. After receiving the request, the camera starts to transmit the data stream. Within a preset detection time period, the mobile terminal receives the data stream from the camera and analyzes and parses the data stream. By parsing the data stream, the mobile terminal determines that the data stream is a video data stream. The mobile terminal determines the scene parameters based on the camera device type, the high-speed transmission specification, and the video data stream. For example, the scene parameters are determined to be "high-definition video transmission". According to the preset allocation ratio, the mobile terminal decides to allocate most of the bandwidth to the first transmission protocol, such as the UVC protocol, so as to more efficiently transmit the video data stream. The mobile terminal receives the data stream according to the allocation ratio and displays the video data on the screen in real time.

[0096] The present application provides a scenario-based data transmission protocol adaptation method, which first detects whether a target device is connected based on a USB-C interface, and when it is detected that the data interface is connected to the target device based on a wire, determines the device type of the target device and the transmission specification of the wire, that is, determines the current transmission scenario based on the device type, the transmission specification of the wire, and the driver currently running on the mobile terminal. Then, based on the driver corresponding to the device type, a data transmission request is generated and sent to the target device, and a data stream sent by the target device in response to the data transmission request is received. After receiving the data stream, based on the data stream within a preset detection time period, the data stream information is determined, that is, the data stream information used to determine the scene parameters is detected based on the data stream of the wire head preset detection time period, that is, the information characterizing the data stream characteristics is determined. Next, the device type, transmission specifications, and scene parameters of data stream information mapping are determined, so that the adapted scene parameters are determined in combination with the characteristics of the scene and the data stream itself, and the configuration scheme is determined according to the scene parameters, that is, the distribution ratio of the first transmission protocol and the second transmission protocol is determined based on the scene parameters, and the data stream is received based on the distribution ratio, thereby realizing the selection between the UVC protocol and the USB Bulk protocol based on the current scene, and also realizing the distribution of the transmission data streams of the two, further improving the data transmission efficiency.

[0097] In summary, the present application quantifies various parameters in the data transmission process and pre-adapts the configuration schemes of different scene parameters, and then determines the scene parameters based on the quantification of the parameters, and then determines the configuration scheme of the data transmission protocol. This overcomes the technical defects of poor compatibility of mobile terminals with UVC protocols in related technologies, and improves the efficiency of data transmission based on the USB-C interface of mobile terminals.

[0098] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can refer to the above introduction, and will not be repeated later. Figure 2 , step S130 includes:

[0099] Step S210: determining various attribute information of the data flow within the preset detection time period.

[0100] In this embodiment, the attribute information required by the data stream information is determined, and then the data corresponding to the data stream is acquired according to the attribute information.

[0101] As an optional implementation, step S210 includes: determining the average flow rate based on the data flow within the preset detection time period and the time length corresponding to the preset detection time period; determining the average occupancy of data packets in the data flow; determining the continuous proportion corresponding to the continuity data in the data packets; and determining the number and types of the data packets in the data flow.

[0102] In this embodiment, the average flow rate is determined, and the total number of bytes (total_bytes) of the data flow in the preset detection time period is calculated. The time length (time_duration) of the preset detection time period is determined. The average flow rate (average_flow_rate) is calculated: average_flow_rate = total_bytes / time_duration. For example, if the total number of bytes of the data flow in the preset detection time period is 10,000 bytes and the time length is 60 seconds, the average flow rate is: average_flow_rate = 10,000 / 60 = 166.67 bytes / second. The total number of data packets in the data flow in the preset detection time period is calculated (total_packet_count). The total number of bytes (total_bytes) of the data flow in the preset detection time period is calculated. The average packet occupancy (average_packet_utilization) is calculated: average_packet_utilization = total_bytes / total_packet_count. If the total number of packets in the data stream during the preset detection time period is 100 and the total number of bytes is 10,000 bytes, the average packet utilization is: average_packet_utilization = 10,000 / 100 = 100 bytes / packet. Determine the continuous proportion corresponding to the continuous data in the packet, and count the number of bytes of continuous data in each packet in the data stream during the preset detection time period. Calculate the ratio of continuous data to the packet (continuous_data_ratio): continuous_data_ratio = number of continuous data bytes / total number of packet bytes. If the total number of bytes of packet A in the data stream during the preset detection time period is 100 bytes, of which continuous data occupies 70 bytes, the continuous proportion corresponding to continuous data is: continuous_data_ratio = 70 / 100 = 0.7. Determine the number of types of packets in the data stream, and count the number of each type of packets in the data stream during the preset detection time period. Calculate the number of packet types. If the data flow contains three different types of data packets in the preset detection time period, namely A, B, and C, and the number is 10, 20, and 30 respectively, then the number of data packet types is the total number: 3.

[0103] In this embodiment, various attribute information of the data flow within the preset detection time period is determined. First, the average flow rate is calculated based on the data flow and the time length, and then the average occupancy of the data packet is calculated based on the number of data packets and the total number of bytes. Next, the continuous proportion corresponding to the continuous data is calculated based on the number of bytes of continuous data in each data packet and the total number of bytes of the data packet. Finally, the number of types of data packets in the statistical data flow is counted. These attribute information can be used to analyze, evaluate and optimize the data flow in more detail.

[0104] Step S220, determining the ratio of the attribute value of the attribute information to the standard value corresponding to the attribute information.

[0105] In this embodiment, a standard value corresponding to each attribute information is obtained, and the standard value is predetermined and used to evaluate the data tendency of the data flow. After determining the attribute value corresponding to each attribute information, a ratio calculation is performed based on the attribute value and the corresponding standard value, thereby determining the ratio of the attribute value corresponding to each attribute information to the standard value.

[0106] Step S230: determining an average of the ratios as the data stream information.

[0107] As an optional implementation manner, the average of each ratio is used as the value corresponding to the data stream information.

[0108] As another optional implementation, weighted calculation is performed based on the weights of each ratio and the corresponding attribute information, and the calculation result is used as the numerical value corresponding to the data stream information.

[0109] Exemplarily, various attribute information of the data stream within the preset detection time period is determined: the size of the data stream is determined in bytes. The transmission time of the data stream is determined in seconds. The transmission rate of the data stream is determined in bits / second. The transmission delay of the data stream is determined in milliseconds. The transmission packet loss rate of the data stream is determined in percentage. The attribute value of the attribute information is determined, and the ratio of the attribute value to the standard value corresponding to the attribute information is calculated. For the size of the data stream, the ratio of the attribute value to the standard size is calculated. For example, if the standard size is 100MB and the actual data stream size is 80MB, the ratio is 0.8. For the transmission time of the data stream, the ratio of the attribute value to the standard transmission time is calculated. For example, if the standard transmission time is 10 seconds and the actual transmission time is 8 seconds, the ratio is 0.8. For the transmission rate of the data stream, the ratio of the attribute value to the standard transmission rate is calculated. For example, if the standard transmission rate is 10Mbps and the actual transmission rate is 8Mbps, the ratio is 0.8. For the transmission delay of the data stream, the ratio of the attribute value to the standard transmission delay is calculated. For example, if the standard transmission delay is 100ms and the actual transmission delay is 120ms, the ratio is 1.2. For the transmission packet loss rate of the data stream, calculate its ratio to the standard transmission packet loss rate. For example, if the standard transmission packet loss rate is 5% and the actual transmission packet loss rate is 3%, the ratio is 0.6. Determine the average of each ratio as the data stream information. Add the ratio of the attribute value of each attribute information to the corresponding standard value. Divide the sum of the previous step by the total number of attribute information to obtain the average of each ratio. Use the average as the data stream information.

[0110] For example, for the size, transmission time, transmission rate, transmission delay, and transmission packet loss rate of the data stream, the ratios are 0.8, 0.8, 0.8, 1.2, and 0.6 respectively. Then the mean is calculated, and the mean = (0.8 + 0.8 + 0.8 + 1.2 + 0.6) / 5 = 0.84. Therefore, the value corresponding to the data stream information is 0.84.

[0111] In this embodiment, the method of determining various attribute information of the data flow within the preset detection time period; determining the attribute value of the attribute information and the ratio of the attribute value to the standard value corresponding to the attribute information; determining the average of each ratio as the data flow information, and then quantifying the data flow, accurately evaluating the data tendency corresponding to the data flow, makes the data transmission process according to the finally determined transmission protocol more stable and efficient.

[0112] Based on the first embodiment and / or the second embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the first and second embodiments above can be referred to the above description, and will not be described in detail later. Figure 3 , step S150, comprising:

[0113] Step S310: determining a first ratio corresponding to the first transmission protocol and a second ratio corresponding to the second transmission protocol based on the scene parameters.

[0114] In this embodiment, the scenario parameters are determined, such as the nature of the data flow, the transmission requirements, the network environment, etc. According to the scenario parameters, it is determined whether the first transmission protocol and the second transmission protocol are suitable for transmitting bulk data and scattered data, which are respectively recorded as is_first_protocol and is_second_protocol. According to the scenario parameters, the distribution weights of the first transmission protocol and the second transmission protocol are determined, which are respectively recorded as weight_first_protocol and weight_second_protocol.

[0115] For example, the scenario parameters indicate that bulk data is suitable for transmission using the FTP protocol, while scattered data is suitable for transmission using the HTTP protocol, and the distribution weights are 0.7 and 0.3, then is_first_protocol is True, is_second_protocol is True, weight_first_protocol is 0.7, and weight_second_protocol is 0.3.

[0116] Optionally, step S310 includes:

[0117] Step S311: determining a basic weight corresponding to the first transmission protocol and the second transmission protocol based on the scene parameters.

[0118] In this embodiment, the weights of the first transmission protocol and the second transmission protocol are not directly mapped based on the scene parameters. Instead, the basic weights corresponding to the first transmission protocol and the second transmission protocol are determined according to the scene parameters, and then the basic weights are adjusted based on the data flow information, thereby improving the accuracy of the allocation of the first transmission protocol and the second transmission protocol.

[0119] Step S312, determining the scene weight based on the average occupancy of the data packets in the data stream information and the continuous proportion corresponding to the continuity data as positive feedback adjustment, and the number of types of the data packets as negative feedback adjustment;

[0120] Step S313: determining the first ratio and the second ratio based on the scene weight and the basic proportion.

[0121] In this embodiment, the basic proportions corresponding to the first transmission protocol and the second transmission protocol are determined based on the scenario parameters. This can be determined according to the characteristics of the transmission protocol, scenario requirements and previous experience. For example, it is assumed that the basic proportions are 0.6 (corresponding to the first transmission protocol) and 0.4 (corresponding to the second transmission protocol). Based on the average occupancy of data packets in the data stream information and the continuous proportion corresponding to the continuity data as positive feedback adjustment, and the number of types of data packets as negative feedback adjustment, the scenario weight is determined. The specific calculation method can be defined according to actual needs. For example, the average data packet occupancy rate and the proportion of continuous data packets are calculated. The higher the ratio, the more continuity data there is in the data stream, which is a positive feedback factor. The more types of data packets, the more scattered the data stream is, which is a negative feedback factor. Based on the scenario weight and the basic proportion, the first ratio and the second ratio are determined. The two ratios can be calculated by linear weighted average or other algorithms that combine scenario weights and basic proportions. For example, assuming that the basic weights are 0.6 (corresponding to the first transmission protocol) and 0.4 (corresponding to the second transmission protocol), and the scene weights are 0.8 (corresponding to the first transmission protocol) and 0.2 (corresponding to the second transmission protocol), the first ratio is 0.68 and the second ratio is 0.32.

[0122] In this embodiment, the allocation ratio of the first transmission protocol and the second transmission protocol is determined according to the scene parameters. First, the basic ratio of the first transmission protocol and the second transmission protocol is determined. Then, positive feedback and negative feedback adjustments are performed based on the average occupancy of data packets in the data stream information, the continuous ratio corresponding to the continuity data, and the number of types of data packets to obtain the scene weight. Finally, the scene weight and the basic ratio are weighted to obtain the first ratio and the second ratio. In this way, the ratio of the first transmission protocol and the second transmission protocol can be reasonably allocated according to the scene characteristics and actual needs to achieve effective reception and transmission of data streams.

[0123] Step S320: Generate a resource scheduling instruction based on the first ratio and the second ratio.

[0124] Step S330: reallocate the transmission channels corresponding to the wires based on the resource scheduling instruction.

[0125] Step S340: receiving the data stream based on the reallocated transmission channel.

[0126] In this embodiment, a first ratio (first_ratio = weight_first_protocol) corresponding to the first transmission protocol is determined based on the scenario parameters. A second ratio (second_ratio = weight_second_protocol) corresponding to the second transmission protocol is determined based on the scenario parameters. A resource scheduling instruction is generated to instruct the receiving end to reallocate the transmission channels corresponding to the wires according to the first ratio and the second ratio. The specific resource scheduling instruction format and content are defined according to actual needs. According to the resource scheduling instruction, the transmission channels corresponding to the wires are reallocated at the receiving end to ensure that the data stream is received according to the allocated weight. The data stream is received on the reallocated transmission channel, and corresponding processing and analysis are performed.

[0127] In this embodiment, the allocation ratio of the first transmission protocol and the second transmission protocol is determined according to the scenario parameters, and the data stream is received based on the allocation ratio. First, the allocation ratio of the first transmission protocol and the second transmission protocol is determined according to the scenario parameters, and then a resource scheduling instruction is generated. Then, the transmission channel corresponding to the wire is reallocated according to the resource scheduling instruction to ensure that the data stream is received according to the allocation ratio. Finally, the data stream is received on the reallocated transmission channel, and corresponding processing and analysis are performed. In this way, flexible transmission scheduling of batch data and scattered data can be achieved according to scenario requirements, and effective reception and reliable transmission of data streams can be ensured.

[0128] The present application provides a scenario-based data transmission protocol adaptation device, and the scenario-based data transmission protocol adaptation device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the scenario-based data transmission protocol adaptation method in the above-mentioned embodiment one.

[0129] Reference below Figure 4 , which shows a schematic diagram of the structure of a scenario-based data transmission protocol adapter device suitable for implementing the embodiment of the present application. The scenario-based data transmission protocol adapter device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4The scenario-based data transmission protocol adaptation device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0130] like Figure 4 As shown, the scenario-based data transmission protocol adapter device may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. Various programs and data required for the operation of the scenario-based data transmission protocol adapter device are also stored in RAM1004. The processing device 1001, ROM1002 and RAM1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 1003 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 1009. The communication device 1009 can allow the scene-based data transmission protocol adapter device to communicate wirelessly or wired with other devices to exchange data. Although the figure shows a scene-based data transmission protocol adapter device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems may be implemented or have alternatively.

[0131] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0132] The scenario-based data transmission protocol adapter device provided by the present application adopts the scenario-based data transmission protocol adapter method in the above embodiment, which can solve the technical problem of poor stability of data transmission between mobile terminals based solely on the UVC protocol. Compared with the prior art, the beneficial effects of the scenario-based data transmission protocol adapter device provided by the present application are the same as the beneficial effects of the scenario-based data transmission protocol adapter device provided by the above embodiment, and other technical features in the scenario-based data transmission protocol adapter device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0133] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0134] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0135] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, the computer-readable program instructions being used to execute the scenario-based data transmission protocol adaptation method in the above-mentioned embodiment.

[0136] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.

[0137] The above-mentioned computer-readable storage medium may be included in the scenario-based data transmission protocol adaptation device; or it may exist independently without being assembled into the scenario-based data transmission protocol adaptation device.

[0138] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the scenario-based data transmission protocol adapter device, the scenario-based data transmission protocol adapter device: when detecting that the data interface is connected to a target device based on a wire, determines the device type of the target device and the transmission specification of the wire;

[0139] Sending a data transfer request to the target device based on a driver corresponding to the device type, and receiving a data stream in response to the data transfer request;

[0140] Determining data flow information based on the data flow within a preset detection time period;

[0141] Determining the device type, the transmission specification, and scenario parameters of the data stream information mapping;

[0142] The allocation ratios of the first transmission protocol and the second transmission protocol are determined based on the scenario parameters, and the data stream is received based on the allocation ratios.

[0143] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through 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).

[0144] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0145] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0146] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned scenario-based data transmission protocol adaptation method, and can solve the technical problem of poor stability of data transmission between mobile terminals based solely on the UVC protocol. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the scenario-based data transmission protocol adaptation method provided by the above-mentioned embodiment, and will not be repeated here.

[0147] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent processing scope of the present application.

Claims

1. A scenario-based data transmission protocol adaptation method, characterized in that: Applied to a mobile terminal, the data interface of the mobile terminal is a USB-C interface, and the scenario-based data transmission protocol adaptation method includes: When it is detected that the data interface is connected to a target device based on a wire, determining a device type of the target device and a transmission specification of the wire; Sending a data transfer request to the target device based on a driver corresponding to the device type, and receiving a data stream in response to the data transfer request; Determining data flow information based on the data flow within a preset detection time period; Determining the device type, the transmission specification, and scenario parameters of the data stream information mapping; The allocation ratios of the first transmission protocol and the second transmission protocol are determined based on the scenario parameters, and the data stream is received based on the allocation ratios.

2. The method according to claim 1, characterized in that The step of determining the device type of the target device and the transmission specification of the wire when detecting that the data interface is connected to the target device based on the wire comprises: Identify the transmission specification of the wire based on a universal driver; Receiving handshake information transmitted by the target device based on the data interface; The device type of the target device is determined according to the handshake information.

3. The method according to claim 1, characterized in that The step of sending a data transmission request to the target device based on the driver corresponding to the device type and receiving a data stream in response to the data transmission request includes: Based on the device type, determining a general driver or a data transmission driver running on the mobile terminal; generating the data transmission request based on the tap information received by the mobile terminal or the data transmission identifier sent by the target device; The data stream from the target device in response to the data transfer request is received based on a first transfer protocol.

4. The method according to claim 1, characterized in that The step of determining data flow information based on the data flow within a preset detection time period includes: Determine various attribute information of the data flow within the preset detection time period; Determine a ratio of an attribute value of the attribute information to a standard value corresponding to the attribute information; An average of the ratios is determined as the data stream information.

5. The method according to claim 4, characterized in that The step of determining various attribute information of the data flow within the preset detection time period includes: Determining an average flow rate based on the data flow within the preset detection time period and the time length corresponding to the preset detection time period; determining an average occupancy of packets in the data stream; Determine a continuous ratio corresponding to the continuous data in the data packet; The number of types of the data packets in the data flow is determined.

6. The method according to claim 1, characterized in that The step of determining the device type, the transmission specification, and the scenario parameters of the data stream information mapping includes: When the device type is a camera, the first parameter is determined to be 1, otherwise the first parameter is determined to be 0; When the ratio of the transmission specification to the corresponding average flow rate of the data flow in the preset detection time period is greater than a first threshold, determining the second parameter to be 0, otherwise the second parameter is 1; When the data stream information is greater than a second threshold, determining that the third parameter is 0, otherwise the third parameter is 1; Determine the scene parameters that match the first parameter, the second parameter, and the third parameter.

7. The method according to claim 1, characterized in that The first transmission protocol is used to transmit batch data, and the second transmission protocol is used to transmit scattered data. The step of determining the allocation ratio of the first transmission protocol and the second transmission protocol based on the scenario parameters, and receiving the data stream based on the allocation ratio includes: Determine a first ratio corresponding to the first transmission protocol and a second ratio corresponding to the second transmission protocol based on the scene parameters; generating a resource scheduling instruction based on the first ratio and the second ratio; reallocating the transmission channel corresponding to the wire based on the resource scheduling instruction; The data stream is received based on the reallocated transmission channel.

8. The method according to claim 7, characterized in that The step of determining a first ratio corresponding to the first transmission protocol and a second ratio corresponding to the second transmission protocol based on the scene parameters includes: Determine, based on the scenario parameters, a basic weight corresponding to the first transmission protocol and the second transmission protocol; The average data packet occupancy rate and the ratio of continuous data packets in the data stream information are calculated. The higher the ratio, the more continuous data there is in the data stream, which is a positive feedback factor. The number of types of data packets is used as a negative feedback adjustment to determine the scene weight. Based on the scene weight and the basic weight, the first ratio and the second ratio are determined.

9. A scenario-based data transmission protocol adaptation device, characterized in that: The scenario-based data transmission protocol adaptation device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the scenario-based data transmission protocol adaptation method as described in any one of claims 1 to 8.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the scenario-based data transmission protocol adaptation method as described in any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Multi-protocol removable storage device

    US20070204089A1

  • System and Method to Provide Heterogeneous Protocols on Network Interface Devices

    US20210051217A1