IP Library › Granted Patent US 12,621,375
Granted Patent B2
US 12,621,375 · App. 18/844,904 · Granted May 5, 2026

Data uploading method and apparatus, device, and medium

Inventors: Qian Ma (Beijing, CN); Liyang Sun (Los Angeles, CA); Mingming Shen (Beijing, CN); Hao Dong (Beijing, CN); Lei Zhai (Beijing, CN)
Assignee: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
H04L69/18H04L43/0864H04L43/50H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,621,375
App. No.
18/844,904
Granted
May 5, 2026
Kind
B2
Abstract

Embodiments of the present disclosure disclose a data uploading method and apparatus, a device, and a medium. The method includes: in response to a preset operation triggered by a user before uploading application data, obtaining at least two data uploading protocols; performing data uploading performance testing on each data uploading protocol on the basis of a preset performance testing means, and determining a target uploading protocol that matches with a current network on the basis of a performance testing result; and in response to an application data uploading operation triggered by the user, uploading current target application data to be uploaded on the basis of the target uploading protocol.

Claims (64)

1 . A method of uploading data, comprising:

in response to a preset operation triggered by a user before uploading application data, obtaining at least two data uploading protocols;

based on a preset performance test mode, performing data uploading performance tests on each data uploading protocol, and based on a performance test result, determining a target uploading protocol matched with current network;

in response to an application data uploading operation triggered by the user, and based on the target uploading protocol, uploading target application data currently to be uploaded; and

wherein after obtaining the at least two data uploading protocols, the method further comprises:

calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols, wherein the calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols comprises:

detecting whether a current cache duration of a last available domain name corresponding to each of the at least two data uploading protocols is greater than a preset effective duration,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is greater than the preset effective duration, calling the domain name acquiring interface of the server and acquiring the currently available domain name corresponding to the data uploading protocol,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is less than or equal to the preset effective duration, taking the last available domain name corresponding to the data uploading protocol as the currently available domain name corresponding to the data uploading protocol.

2 . The method according to claim 1 , wherein the application data comprises: an audio, a video, an image or a file; and the preset operation comprises: a data collecting operation, a data importing operation or a data editing operation.

3 . The method according to claim 1 , wherein the based on a preset performance test mode, performing data uploading performance tests on each data uploading protocol, comprises:

based on the each data uploading protocol, uploading a preset data packet, and determining the performance test result corresponding to the each data uploading protocol.

4 . The method according to claim 3 , wherein the performance test result comprises: information about whether a speed test is successful, network speed information and round-trip time information.

5 . The method according to claim 1 , further comprises:

in response to that the performance test is not completely completed in the case where the user triggers the application data uploading operation, determining the target uploading protocol matched with the current network based on at least two performance test results currently completed, or, determining the target uploading protocol matched with the current network based on at least one of device model information of an uploading terminal and historical uploading information of the user.

6 . The method according to claim 1 , wherein the data uploading protocol comprises: an uploading protocol based on a transmission control protocol TCP, an uploading protocol based on a user datagram protocol UDP or a self-defined uploading protocol.

7 . The method according to claim 6 , wherein the based on the target uploading protocol, uploading target application data currently to be uploaded, comprises:

in response to that the target uploading protocol is the self-defined uploading protocol, performing a configuration optimization on the self-defined uploading protocol based on a performance test result corresponding to the self-defined uploading protocol to obtain optimized target configuration information; and

based on the self-defined uploading protocol and the target configuration information, uploading the target application data currently to be uploaded.

8 . The method according to claim 1 , further comprising:

monitoring an uploading performance index in an uploading process of the target application data;

in response to that the uploading performance index meets a preset protocol switching condition, stopping an uploading operation, re-determining the target uploading protocol matched with the current network, and uploading remaining application data which is not uploaded currently based on re-determined target uploading protocol.

9 . The method according to claim 1 , wherein the based on a preset performance test mode, performing data uploading performance tests on each data uploading protocol, comprises:

based on the preset performance test mode and the currently available domain name corresponding to the each data uploading protocol, performing the data uploading performance tests on the each data uploading protocol;

wherein the based on the target uploading protocol, uploading target application data currently to be uploaded, comprises:

based on the target uploading protocol and the currently available domain name corresponding to the target uploading protocol, uploading the target application data currently to be uploaded.

10 . An electronic device, comprising:

at least one processor; and

a memory, configured to store at least one program;

wherein in the case where the at least one program is executed by the at least one processor, the at least one processor is caused to perform operations comprising:

in response to a preset operation triggered by a user before uploading application data, obtaining at least two data uploading protocols;

based on a preset performance test mode, performing data uploading performance tests on each data uploading protocol, and based on a performance test result, determining a target uploading protocol matched with current network;

in response to an application data uploading operation triggered by the user, and based on the target uploading protocol, uploading target application data currently to be uploaded; and

wherein after obtaining the at least two data uploading protocols, the operations further comprise:

calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols, wherein the calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols comprises:

detecting whether a current cache duration of a last available domain name corresponding to each of the at least two data uploading protocols is greater than a preset effective duration,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is greater than the preset effective duration, calling the domain name acquiring interface of the server and acquiring the currently available domain name corresponding to the data uploading protocol,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is less than or equal to the preset effective duration, taking the last available domain name corresponding to the data uploading protocol as the currently available domain name corresponding to the data uploading protocol.

11 . The electronic device according to claim 10 , the operations further comprising:

based on the each data uploading protocol, uploading a preset data packet, and determining the performance test result corresponding to the each data uploading protocol.

12 . The electronic device according to claim 10 , the operations further comprising:

in response to that the performance test is not completely completed in the case where the user triggers the application data uploading operation, determining the target uploading protocol matched with the current network based on at least two performance test results currently completed, or, determining the target uploading protocol matched with the current network based on at least one of device model information of an uploading terminal and historical uploading information of the user.

13 . The electronic device according to claim 10 , wherein the data uploading protocol comprises: an uploading protocol based on a transmission control protocol TCP, an uploading protocol based on a user datagram protocol UDP or a self-defined uploading protocol.

14 . The electronic device according to claim 13 , the operations further comprising:

in response to that the target uploading protocol is the self-defined uploading protocol, performing a configuration optimization on the self-defined uploading protocol based on a performance test result corresponding to the self-defined uploading protocol to obtain optimized target configuration information; and

based on the self-defined uploading protocol and the target configuration information, uploading the target application data currently to be uploaded.

15 . The electronic device according to claim 10 , the operations further comprising:

monitoring an uploading performance index in an uploading process of the target application data;

in response to that the uploading performance index meets a preset protocol switching condition, stopping an uploading operation, re-determining the target uploading protocol matched with the current network, and uploading remaining application data which is not uploaded currently based on re-determined target uploading protocol.

16 . The electronic device according to claim 10 , the operations further comprising:

calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to the each data uploading protocol.

17 . The electronic device according to claim 16 , the operations further comprising:

based on the preset performance test mode and the currently available domain name corresponding to the each data uploading protocol, performing the data uploading performance tests on the each data uploading protocol;

wherein the based on the target uploading protocol, uploading target application data currently to be uploaded, comprises:

based on the target uploading protocol and the currently available domain name corresponding to the target uploading protocol, uploading the target application data currently to be uploaded.

18 . A non-transitory computer-readable storage medium, on which a computer program is stored, wherein in the case where the program is executed by a processor, the program causes the processor to perform operations comprising:

in response to a preset operation triggered by a user before uploading application data, obtaining at least two data uploading protocols;

based on a preset performance test mode, performing data uploading performance tests on each data uploading protocol, and based on a performance test result, determining a target uploading protocol matched with current network;

in response to an application data uploading operation triggered by the user, and based on the target uploading protocol, uploading target application data currently to be uploaded; and

wherein after obtaining the at least two data uploading protocols, the operations further comprise:

calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols, wherein the calling a domain name acquiring interface of a server and acquiring a currently available domain name corresponding to each of the at least two data uploading protocols comprises:

detecting whether a current cache duration of a last available domain name corresponding to each of the at least two data uploading protocols is greater than a preset effective duration,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is greater than the preset effective duration, calling the domain name acquiring interface of the server and acquiring the currently available domain name corresponding to the data uploading protocol,

in response to that the current cache duration of the last available domain name corresponding to each of the at least two data uploading protocols is less than or equal to the preset effective duration, taking the last available domain name corresponding to the data uploading protocol as the currently available domain name corresponding to the data uploading protocol.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2026
From: MIAOZHENDIDA (BEIJING) NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.; BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 074111/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2026
From: MA, QIAN; SHEN, MINGMING; DONG, HAO
To: MIAOZHENDIDA (BEIJING) NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 074110/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2026
From: ZHAI, LEI
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 074110/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2026
From: SUN, LIYANG
To: BYTEDANCE INC.
Reel/Frame 074110/0900 →
Priority Claims (1)
CN 202210226539.3 · Mar 9, 2022 · national
Continuity (1)
Related Publication 20250227166A1 · Jul 10, 2025
References Cited (16)
US 10855813B1 · Moriarty et al. · 2020 [cited by applicant]
US 20060009159A1 · Leung · 2006 [cited by applicant]
US 20140075326A1 · Cao et al. · 2014 [cited by applicant]
US 20190379668A1 · Baran et al. · 2019 [cited by applicant]
US 20200045109A1 · Hegde et al. · 2020 [cited by applicant]
US 20200322460A1 · Bryson · 2020 [cited by examiner]
CN 104539596A · 2015 [cited by applicant]
CN 105871509A · 2016 [cited by examiner]
CN 110290067A · 2019 [cited by applicant]
CN 110944012A · 2020 [cited by applicant]
CN 112688824A · 2021 [cited by applicant]
CN 113382062A · 2021 [cited by applicant]
WO WO2016155635A1 · 2016 [cited by applicant]
Qu et al.; “Design and implementation of a reliable data transmission technology”; Journal of Xi'an University of Posts and Telecommunications; vol. 21 No. 2; Mar. 2016; p. 40-45. [cited by applicant]
China Patent Application No. 202210226539.3; Office Action; dated Dec. 6, 2023; 13 pages. [cited by applicant]
International Patent Application No. PCT/CN2023/078820; Int'l Search Report; dated May 23, 2023; 2 pages. [cited by applicant]