一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種對(duì)網(wǎng)盤(pán)的應(yīng)用程序編程接口進(jìn)行測(cè)量分析的系統(tǒng),旨在測(cè)量網(wǎng)盤(pán)的應(yīng)用程序編程接口的性能,并分析其底層的系統(tǒng)架構(gòu),供第三方應(yīng)用進(jìn)行針對(duì)性的優(yōu)化設(shè)計(jì)以保證應(yīng)用性能,并幫助網(wǎng)盤(pán)提供商分析性能瓶頸。系統(tǒng)包括三層。系統(tǒng)頂層根據(jù)用戶給定的測(cè)量參數(shù)對(duì)網(wǎng)盤(pán)應(yīng)用程序編程接口進(jìn)行測(cè)量,并將測(cè)量數(shù)據(jù)輸出到文件。系統(tǒng)中層包含多個(gè)模塊,每個(gè)模塊對(duì)應(yīng)一個(gè)網(wǎng)盤(pán),實(shí)現(xiàn)該網(wǎng)盤(pán)的應(yīng)用程序編程接口的應(yīng)用層協(xié)議。系統(tǒng)預(yù)定義了網(wǎng)盤(pán)模塊向頂層提供的接口,因此只需編寫(xiě)實(shí)現(xiàn)該接口的模塊即可添加任意網(wǎng)盤(pán)進(jìn)行測(cè)量。系統(tǒng)底層包含一個(gè)HTTP/HTTPS客戶端模塊和一個(gè)往返時(shí)延測(cè)量模塊。其中HTTP/HTTPS客戶端模塊負(fù)責(zé)處理網(wǎng)絡(luò)通信細(xì)節(jié)。
【專利說(shuō)明】
_種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于個(gè)人云存儲(chǔ)領(lǐng)域,更具體地,涉及一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法和系統(tǒng)?!颈尘凹夹g(shù)】
[0002]網(wǎng)盤(pán)是向個(gè)人用戶提供文件的存儲(chǔ)、備份、同步、共享等文件管理功能的在線存儲(chǔ)服務(wù)。網(wǎng)盤(pán)應(yīng)用程序編程接口是網(wǎng)盤(pán)提供商公開(kāi)給第三方開(kāi)發(fā)者的接口,供官方網(wǎng)盤(pán)客戶端之外的第三方應(yīng)用程序使用網(wǎng)盤(pán)提供的存儲(chǔ)服務(wù)。許多商業(yè)網(wǎng)盤(pán),如百度云、Dropbox、 OneDrive、G〇〇gle Drive等,均提供了應(yīng)用程序編程接口。使用這些接口的第三方應(yīng)用覆蓋了多種應(yīng)用場(chǎng)景,如多媒體文件處理、在線協(xié)同編輯等。網(wǎng)盤(pán)應(yīng)用程序編程接口通常是標(biāo)準(zhǔn) HTTP/HTTPS協(xié)議的擴(kuò)展。網(wǎng)盤(pán)提供商通常將其應(yīng)用程序編程接口實(shí)現(xiàn)為特定程序設(shè)計(jì)語(yǔ)言的軟件開(kāi)發(fā)工具包,所支持的語(yǔ)言包括?7丨11〇11、0#、拓似、?即等。[〇〇〇3]網(wǎng)盤(pán)應(yīng)用程序編程接口的性能對(duì)使用該接口的第三方應(yīng)用的性能具有很大的影響。如處理多媒體文件的應(yīng)用在存取網(wǎng)盤(pán)中較大的多媒體文件時(shí),使用接口傳輸數(shù)據(jù)的吞吐量決定了應(yīng)用的響應(yīng)時(shí)間。在線協(xié)同編輯應(yīng)用為了實(shí)現(xiàn)實(shí)時(shí)性,需要網(wǎng)盤(pán)的應(yīng)用程序編程接口具有較快的響應(yīng)速度。然而,對(duì)于不同網(wǎng)盤(pán)的應(yīng)用程序編程接口而言,由于底層系統(tǒng)架構(gòu)的不同而具有性能上的差異,而且,該接口性能是隨調(diào)用的時(shí)間和地點(diǎn)不同而變化的, 這直接導(dǎo)致該應(yīng)用程序編程接口的性能好壞無(wú)法預(yù)測(cè)。
【發(fā)明內(nèi)容】
[0004]針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法和系統(tǒng),其目的在于,通過(guò)對(duì)指定網(wǎng)盤(pán)進(jìn)行主動(dòng)測(cè)量,記錄吞吐量、響應(yīng)時(shí)間、故障率等性能指標(biāo),并記錄服務(wù)器域名、IP、往返時(shí)延等數(shù)據(jù),不但提供網(wǎng)盤(pán)應(yīng)用程序編程接口的性能測(cè)量結(jié)果,從而能夠直觀地反映出該接口性能的好壞,而且,還可用于分析其底層的系統(tǒng)架構(gòu),幫助網(wǎng)盤(pán)提供商發(fā)現(xiàn)性能瓶頸。
[0005]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法,其特征在于,包括以下步驟:
[0006](1)接收來(lái)自用戶的網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求;
[0007](2)判斷該網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求是文件上傳請(qǐng)求、文件下載請(qǐng)求還是文件控制請(qǐng)求,如果是文件上傳請(qǐng)求,則進(jìn)入步驟(3 ),如果是文件下載請(qǐng)求,則進(jìn)入步驟 (4),如果是文件控制請(qǐng)求,則進(jìn)入步驟(8);
[0008](3)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待上傳文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中,并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成上傳該隨機(jī)內(nèi)容文件的時(shí)間;
[0009](4)判斷網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件是新文件還是舊文件,如果是新文件則轉(zhuǎn)入步驟(5),如果是舊文件轉(zhuǎn)入步驟(7);
[0010](5)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,并將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中;
[0011](6)將上傳的隨機(jī)內(nèi)容文件從網(wǎng)盤(pán)下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該隨機(jī)內(nèi)容文件的時(shí)間;
[0012](7)將該舊文件從網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)中下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該文件的時(shí)間;
[0013](8)調(diào)用網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)的所有控制接口,并分別記錄調(diào)用各個(gè)控制接口的當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成調(diào)用該控制接口的時(shí)間。
[0014]優(yōu)選地,網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求包括待測(cè)網(wǎng)盤(pán)的名稱、以及待測(cè)網(wǎng)盤(pán)應(yīng)用程序編程接口的名稱。
[0015]優(yōu)選地,隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中這一過(guò)程具體為,首先使用 Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行文件上傳操作。
[0016]優(yōu)選地,測(cè)量往返時(shí)延的方法為模擬TCP握手,其首先向網(wǎng)絡(luò)連接另一端IP的HTTP 或HTTPS端口發(fā)送10個(gè)SYN包,然后接收另一端IP返回的ACK包,最后計(jì)算每一對(duì)握手之間的時(shí)延作為往返時(shí)延。[〇〇17]優(yōu)選地,從網(wǎng)盤(pán)下載隨機(jī)內(nèi)容文件這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行文件下載操作。
[0018]優(yōu)選地,從網(wǎng)盤(pán)下載舊文件這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行舊文件下載操作。
[0019]優(yōu)選地,調(diào)用控制接口這一過(guò)程具體為,首先判斷是否存在上一次調(diào)用控制接口使用的網(wǎng)絡(luò)連接,如果有則首先測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行調(diào)用控制接口操作, 如果不存在網(wǎng)絡(luò)連接,則使用So eke t API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延, 然后進(jìn)行調(diào)用控制接口操作。
[0020]按照本發(fā)明的另一方面,提供了一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量系統(tǒng),包括: [0021 ]第一模塊,用于接收來(lái)自用戶的網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求;
[0022]第二模塊,用于判斷該網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求是文件上傳請(qǐng)求、文件下載請(qǐng)求還是文件控制請(qǐng)求,如果是文件上傳請(qǐng)求,則進(jìn)入第三模塊,如果是文件下載請(qǐng)求, 則進(jìn)入第四模塊,如果是文件控制請(qǐng)求,則進(jìn)入第八模塊;
[0023]第三模塊,用于根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待上傳文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中, 并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成上傳該隨機(jī)內(nèi)容文件的時(shí)間;
[0024]第四模塊,用于判斷網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件是新文件還是舊文件,如果是新文件則轉(zhuǎn)入第五模塊,如果是舊文件轉(zhuǎn)入第七模塊;
[0025]第五模塊,用于根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,并將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中;
[0026]第六模塊,用于將上傳的隨機(jī)內(nèi)容文件從網(wǎng)盤(pán)下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該隨機(jī)內(nèi)容文件的時(shí)間;
[0027]第七模塊,用于將該舊文件從網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)中下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該文件的時(shí)間;
[0028]第八模塊,用于調(diào)用網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)的所有控制接口,并分別記錄調(diào)用各個(gè)控制接口的當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成調(diào)用該控制接口的時(shí)間。
[0029]總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
[0030] 1、由于本發(fā)明能夠測(cè)量網(wǎng)盤(pán)應(yīng)用程序編程接口的性能,可以供第三方應(yīng)用進(jìn)行針對(duì)性的優(yōu)化設(shè)計(jì)以保證應(yīng)用性能,而且,提供數(shù)據(jù)以分析網(wǎng)盤(pán)系統(tǒng)的底層架構(gòu),幫助網(wǎng)盤(pán)提供商分析性能瓶頸。[〇〇31] 2、由于采用了步驟(3),其通過(guò)在內(nèi)存生成隨機(jī)內(nèi)容文件進(jìn)行文件上傳的測(cè)量,可以有效節(jié)省測(cè)量時(shí)間和磁盤(pán)空間,并且能夠根據(jù)測(cè)量需求生成任意大小的文件,同時(shí)防止因文件過(guò)于簡(jiǎn)單或文件已存在于網(wǎng)盤(pán)系統(tǒng)中而引起網(wǎng)盤(pán)內(nèi)部自動(dòng)壓縮或去重等措施對(duì)測(cè)量結(jié)果產(chǎn)生干擾,從而保證測(cè)量的公平性。
[0032] 3、由于采用了步驟(3)、步驟(6)、步驟(7)和步驟(8),自行實(shí)現(xiàn)網(wǎng)盤(pán)的應(yīng)用程序編程接口的應(yīng)用層協(xié)議而不使用網(wǎng)盤(pán)提供商提供的軟件開(kāi)發(fā)工具包,可以避免不同軟件開(kāi)發(fā)工具包的具體實(shí)現(xiàn)之間的差異對(duì)測(cè)量結(jié)果的干擾,進(jìn)一步保證測(cè)量的公平性。
[0033] 4、由于采用了步驟(3)、步驟(6)和步驟(7),在測(cè)量文件上傳和下載接口時(shí)關(guān)閉底層網(wǎng)絡(luò)連接復(fù)用,從而測(cè)量TCP慢啟動(dòng)機(jī)制對(duì)吞吐量的限制。
[0034] 5、由于采用了步驟(3)、步驟(6)、步驟(7)和步驟(8),通過(guò)模擬TCP握手的方式測(cè)量往返時(shí)延,可以規(guī)避目前因特網(wǎng)中許多路由器、防火墻、甚至網(wǎng)盤(pán)服務(wù)器本身均丟棄ICMP 包,導(dǎo)致ping服務(wù)無(wú)法正常工作的情況,有效的測(cè)量往返時(shí)延。
[0035] 6、由于采用了步驟(5),測(cè)量新文件下載接口時(shí),對(duì)新上傳的隨機(jī)內(nèi)容文件進(jìn)行下載,防止部分網(wǎng)盤(pán)通過(guò)內(nèi)容分發(fā)網(wǎng)絡(luò)等方式對(duì)常被下載的文件進(jìn)行加速而對(duì)測(cè)量產(chǎn)生干擾。
[0036] 7、由于采用了步驟(8),在測(cè)量文件控制接口時(shí)開(kāi)啟底層網(wǎng)絡(luò)連接復(fù)用,從而模擬真實(shí)應(yīng)用場(chǎng)景中控制接口通常被組合調(diào)用的情況。【附圖說(shuō)明】
[0037]圖1是本發(fā)明網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法的流程圖?!揪唧w實(shí)施方式】[〇〇38]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0039] 如圖1所示,本發(fā)明網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法包括以下步驟:
[0040] (1)接收來(lái)自用戶的網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求,該請(qǐng)求包括待測(cè)網(wǎng)盤(pán)的名稱、待測(cè)網(wǎng)盤(pán)應(yīng)用程序編程接口的名稱;
[0041] (2)判斷該網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求是文件上傳請(qǐng)求、文件下載請(qǐng)求還是文件控制請(qǐng)求,如果是文件上傳請(qǐng)求,則進(jìn)入步驟(3 ),如果是文件下載請(qǐng)求,則進(jìn)入步驟 (4),如果是文件控制請(qǐng)求,則進(jìn)入步驟(8);
[0042] (3)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待上傳文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中,并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成上傳該隨機(jī)內(nèi)容文件的時(shí)間;
[0043]具體而言,該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行文件上傳操作。 [〇〇44] 測(cè)量往返時(shí)延的方法為模擬TCP握手:首先向網(wǎng)絡(luò)連接另一端IP的HTTP或HTTPS端口發(fā)送10個(gè)SYN包,然后接收另一端IP返回的ACK包,最后計(jì)算每一對(duì)握手之間的時(shí)延,即往返時(shí)延。之所以不使用因特網(wǎng)標(biāo)準(zhǔn)ping服務(wù)是因?yàn)閜ing使用ICMP包測(cè)量往返時(shí)延,而目前因特網(wǎng)中許多路由器、防火墻、甚至網(wǎng)盤(pán)服務(wù)器本身均丟棄ICMP包,導(dǎo)致ping服務(wù)無(wú)法正常工作。使用模擬TCP握手的方式可以避開(kāi)這些限制從而有效測(cè)量往返時(shí)延。
[0045]內(nèi)存直接生成文件而非從磁盤(pán)讀取文件可以節(jié)省測(cè)量時(shí)間和磁盤(pán)空間,且可以根據(jù)測(cè)量需求生成任意大小的文件。生成隨機(jī)內(nèi)容文件可以防止因文件過(guò)于簡(jiǎn)單或文件已存在于網(wǎng)盤(pán)系統(tǒng)中而引起網(wǎng)盤(pán)內(nèi)部自動(dòng)壓縮或去重等措施對(duì)測(cè)量結(jié)果產(chǎn)生干擾。
[0046] (4)判斷網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件是新文件還是舊文件,如果是新文件則轉(zhuǎn)入步驟(5),如果是舊文件轉(zhuǎn)入步驟(7);
[0047] (5)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件大小在內(nèi)存中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,并將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中;
[0048] (6)將上傳的隨機(jī)內(nèi)容文件從網(wǎng)盤(pán)下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該隨機(jī)內(nèi)容文件的時(shí)間;
[0049]具體而言,從網(wǎng)盤(pán)下載隨機(jī)內(nèi)容文件這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行文件下載操作。
[0050] (7)將該舊文件從網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)中下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該文件的時(shí)間;[0051 ]具體而言,從網(wǎng)盤(pán)下載舊文件這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行舊文件下載操作。
[0052] (8)調(diào)用網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)的所有控制接口,并分別記錄調(diào)用各個(gè)控制接口的當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成調(diào)用該控制接口的時(shí)間。[〇〇53]具體而言,調(diào)用控制接口這一過(guò)程具體為,首先判斷是否存在上一次調(diào)用控制接口使用的網(wǎng)絡(luò)連接,如果有則首先測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行調(diào)用控制接口操作,如果不存在網(wǎng)絡(luò)連接,則使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行調(diào)用控制接口操作。本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量方法,其特征在于,包括以下步驟:(1)接收來(lái)自用戶的網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求;(2)判斷該網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求是文件上傳請(qǐng)求、文件下載請(qǐng)求還是文件 控制請(qǐng)求,如果是文件上傳請(qǐng)求,則進(jìn)入步驟(3),如果是文件下載請(qǐng)求,則進(jìn)入步驟(4),如 果是文件控制請(qǐng)求,則進(jìn)入步驟(8);(3)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待上傳文件大小在內(nèi)存中生成對(duì)應(yīng) 大小的隨機(jī)內(nèi)容文件,將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中,并記錄當(dāng)前時(shí)刻、 網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成上傳該隨機(jī)內(nèi)容文件的時(shí)間;(4)判斷網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件是新文件還是舊文件, 如果是新文件則轉(zhuǎn)入步驟(5),如果是舊文件轉(zhuǎn)入步驟(7);(5)根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件大小在內(nèi)存中生成對(duì)應(yīng) 大小的隨機(jī)內(nèi)容文件,并將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中;(6)將上傳的隨機(jī)內(nèi)容文件從網(wǎng)盤(pán)下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口 測(cè)量請(qǐng)求、以及完成下載該隨機(jī)內(nèi)容文件的時(shí)間;(7)將該舊文件從網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)中下載下來(lái),并記錄 當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該文件的時(shí)間;(8)調(diào)用網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)的所有控制接口,并分別記錄 調(diào)用各個(gè)控制接口的當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成調(diào)用該控制接 口的時(shí)間。2.根據(jù)權(quán)利要求1所述的測(cè)量方法,其特征在于,網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求包括 待測(cè)網(wǎng)盤(pán)的名稱、以及待測(cè)網(wǎng)盤(pán)應(yīng)用程序編程接口的名稱。3.根據(jù)權(quán)利要求1所述的測(cè)量方法,其特征在于,隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的 網(wǎng)盤(pán)中這一過(guò)程具體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返 時(shí)延,然后進(jìn)行文件上傳操作。4.根據(jù)權(quán)利要求3所述的測(cè)量方法,其特征在于,測(cè)量往返時(shí)延的方法為模擬TCP握手, 其首先向網(wǎng)絡(luò)連接另一端IP的HTTP或HTTPS端口發(fā)送10個(gè)SYN包,然后接收另一端IP返回的 ACK包,最后計(jì)算每一對(duì)握手之間的時(shí)延作為往返時(shí)延。5.根據(jù)權(quán)利要求1所述的測(cè)量方法,其特征在于,從網(wǎng)盤(pán)下載隨機(jī)內(nèi)容文件這一過(guò)程具 體為,首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行文件 下載操作。6.根據(jù)權(quán)利要求1所述的測(cè)量方法,其特征在于,從網(wǎng)盤(pán)下載舊文件這一過(guò)程具體為, 首先使用Socket API建立新的網(wǎng)絡(luò)連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行舊文件下 載操作。7.根據(jù)權(quán)利要求1所述的測(cè)量方法,其特征在于,調(diào)用控制接口這一過(guò)程具體為,首先 判斷是否存在上一次調(diào)用控制接口使用的網(wǎng)絡(luò)連接,如果有則首先測(cè)量該網(wǎng)絡(luò)連接的往返 時(shí)延,然后進(jìn)行調(diào)用控制接口操作,如果不存在網(wǎng)絡(luò)連接,則使用Socket API建立新的網(wǎng)絡(luò) 連接,測(cè)量該網(wǎng)絡(luò)連接的往返時(shí)延,然后進(jìn)行調(diào)用控制接口操作。8.—種網(wǎng)盤(pán)應(yīng)用程序編程接口的測(cè)量系統(tǒng),其特征在于,包括:第一模塊,用于接收來(lái)自用戶的網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求;第二模塊,用于判斷該網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求是文件上傳請(qǐng)求、文件下載請(qǐng) 求還是文件控制請(qǐng)求,如果是文件上傳請(qǐng)求,則進(jìn)入第三模塊,如果是文件下載請(qǐng)求,則進(jìn) 入第四模塊,如果是文件控制請(qǐng)求,則進(jìn)入第八模塊;第三模塊,用于根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待上傳文件大小在內(nèi)存 中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中,并記 錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成上傳該隨機(jī)內(nèi)容文件的時(shí)間;第四模塊,用于判斷網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件是新文件還 是舊文件,如果是新文件則轉(zhuǎn)入第五模塊,如果是舊文件轉(zhuǎn)入第七模塊;第五模塊,用于根據(jù)網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求中指定的待下載文件大小在內(nèi)存 中生成對(duì)應(yīng)大小的隨機(jī)內(nèi)容文件,并將該隨機(jī)內(nèi)容文件上傳到該請(qǐng)求所指定的網(wǎng)盤(pán)中;第六模塊,用于將上傳的隨機(jī)內(nèi)容文件從網(wǎng)盤(pán)下載下來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程 序編程接口測(cè)量請(qǐng)求、以及完成下載該隨機(jī)內(nèi)容文件的時(shí)間;第七模塊,用于將該舊文件從網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)中下載下 來(lái),并記錄當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成下載該文件的時(shí)間;第八模塊,用于調(diào)用網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求所指定的網(wǎng)盤(pán)的所有控制接口, 并分別記錄調(diào)用各個(gè)控制接口的當(dāng)前時(shí)刻、網(wǎng)盤(pán)應(yīng)用程序編程接口測(cè)量請(qǐng)求、以及完成調(diào) 用該控制接口的時(shí)間。
【文檔編號(hào)】H04L12/26GK106027325SQ201610303246
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月10日
【發(fā)明人】劉方明, 金海 , 吳廣原, 易小萌
【申請(qǐng)人】華中科技大學(xué)