欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架和方法與流程

文檔序號(hào):12491926閱讀:298來源:國知局
一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架和方法與流程

本發(fā)明涉及測(cè)試數(shù)據(jù)傳輸領(lǐng)域,尤其是一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架和方法。



背景技術(shù):

IOZONE是一個(gè)文件系統(tǒng)的benchmark工具,可以測(cè)試不同的操作系統(tǒng)中文件系統(tǒng)的讀寫性能。

SANERGY是一種存儲(chǔ)共享、帶寬測(cè)試軟件。

IOPS(Input/Output Operations Per Second),即每秒進(jìn)行讀寫(I/O)操作的次數(shù),多用于數(shù)據(jù)庫等場(chǎng)合,衡量隨機(jī)訪問的性能。

ZeroMQ(以下ZeroMQ簡(jiǎn)稱ZMQ)是一個(gè)通用的消息層,其中Zero意味著零延時(shí),也被定義為“史上最快的消息隊(duì)列”。ZeroMQ提供3種基本通訊模式:Request-Reply、Publish-Subscribe、Parallel Pipeline。使用ZeroMQ可以方便、快速的構(gòu)建分布式架構(gòu)。

隨著集群中主機(jī)數(shù)量的遞增,以及主機(jī)分布式布局中方位的不確定,原有的使用腳本同步集群中所有主機(jī)測(cè)試任務(wù)的測(cè)試方法暴露出繁瑣、效率低等弊端。如果主機(jī)數(shù)量過多,執(zhí)行完測(cè)試任務(wù)后仍舊單次只能查看單個(gè)主機(jī)的測(cè)試結(jié)果,不利于對(duì)集群整體性能進(jìn)行分析、評(píng)估、優(yōu)化。



技術(shù)實(shí)現(xiàn)要素:

為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架和方法,解決了集群中節(jié)點(diǎn)數(shù)量增多以及節(jié)點(diǎn)分布式布局中方位不確定,而導(dǎo)致同步集群中所有節(jié)點(diǎn)的測(cè)試任務(wù)繁瑣,以及測(cè)試任務(wù)執(zhí)行完成后無法同時(shí)查看集群中所有節(jié)點(diǎn)的測(cè)試結(jié)果的問題。

本發(fā)明所采用的技術(shù)方案是:一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架,所述集群分布式測(cè)試框架包括至少一個(gè)測(cè)試任務(wù)發(fā)送者節(jié)點(diǎn)、若干個(gè)測(cè)試任務(wù)接收者節(jié)點(diǎn)、若干個(gè)測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)和至少一個(gè)測(cè)試結(jié)果收集者節(jié)點(diǎn),所有節(jié)點(diǎn)通過網(wǎng)絡(luò)連接,每個(gè)節(jié)點(diǎn)基于ZMQ_DEALER套接字以發(fā)送測(cè)試任務(wù)到對(duì)端節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)基于ZMQ_ROUTER套接字以接收對(duì)端節(jié)點(diǎn)發(fā)送的測(cè)試任務(wù),測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)基于ZMQ_PUB套接字以發(fā)送測(cè)試結(jié)果到測(cè)試結(jié)果收集者節(jié)點(diǎn),測(cè)試結(jié)果收集者節(jié)點(diǎn)設(shè)置ZMQ_SUB套接字以收集測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)發(fā)送的測(cè)試結(jié)果。

本發(fā)明所采用的另一技術(shù)方案是:一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法,應(yīng)用于所述的節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架,包括以下步驟:

S1、啟動(dòng)所有的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)創(chuàng)建一個(gè)ZMQ_ROUTER套接字并綁定以接收消息;

S2、每個(gè)節(jié)點(diǎn)通過網(wǎng)絡(luò)發(fā)現(xiàn)集群中的其他節(jié)點(diǎn),每發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)即創(chuàng)建一個(gè)ZMQ_DEALER套接字與發(fā)現(xiàn)的節(jié)點(diǎn)的ZMQ_ROUTER套接字連接;

S3、判斷節(jié)點(diǎn)是否為測(cè)試任務(wù)發(fā)送者節(jié)點(diǎn),若是,所述節(jié)點(diǎn)通過多個(gè)ZMQ_DEALER套接字分別向多個(gè)對(duì)端節(jié)點(diǎn)發(fā)送測(cè)試任務(wù),執(zhí)行測(cè)試任務(wù)并存儲(chǔ)測(cè)試結(jié)果;否則,所述節(jié)點(diǎn)通過ZMQ_ROUTER套接字接收測(cè)試任務(wù),執(zhí)行測(cè)試任務(wù)并存儲(chǔ)測(cè)試結(jié)果;

S4、判斷節(jié)點(diǎn)是否為測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn),若是,所述節(jié)點(diǎn)創(chuàng)建ZMQ_PUB套接字,并通過ZMQ_PUB套接字與ZMQ_SUB套接字連接以發(fā)送測(cè)試結(jié)果;否則,所述節(jié)點(diǎn)創(chuàng)建ZMQ_SUB套接字,通過ZMQ_SUB套接字接收測(cè)試結(jié)果。

進(jìn)一步地,所述步驟S2與步驟S3之間還包括步驟:

每個(gè)節(jié)點(diǎn)間隔預(yù)定時(shí)間檢測(cè)對(duì)端節(jié)點(diǎn)是否離開,若離開,則關(guān)閉離開的對(duì)端節(jié)點(diǎn)對(duì)應(yīng)的ZMQ_DEALER套接字。

進(jìn)一步地,所述步驟S2中節(jié)點(diǎn)創(chuàng)建ZMQ_DEALER套接字后,設(shè)置ZMQ_DEALER套接字的屬性為所述節(jié)點(diǎn)的識(shí)別信息;通過ZMQ_ROUTER套接字連接上對(duì)端節(jié)點(diǎn)后,將所述節(jié)點(diǎn)的識(shí)別信息和地址信息發(fā)送至對(duì)端節(jié)點(diǎn)。

進(jìn)一步地,所述步驟S4中,所述節(jié)點(diǎn)創(chuàng)建ZMQ_SUB套接字,設(shè)置訂閱過濾并綁定ZMQ_SUB套接字,通過ZMQ_SUB套接字接收ZMQ_PUB套接字發(fā)送的測(cè)試結(jié)果。

進(jìn)一步地,所述節(jié)點(diǎn)執(zhí)行測(cè)試任務(wù)后將測(cè)試結(jié)果進(jìn)行加密并存儲(chǔ),所述節(jié)點(diǎn)接收測(cè)試結(jié)果后進(jìn)行加密并存儲(chǔ)。

進(jìn)一步地,所述每個(gè)節(jié)點(diǎn)通過網(wǎng)絡(luò)發(fā)現(xiàn)集群中的其他節(jié)點(diǎn)的方法包括廣播UDP包或Gossip發(fā)現(xiàn)協(xié)議。

進(jìn)一步地,所述執(zhí)行測(cè)試任務(wù)的測(cè)試工具包括IOZONE或SANERGY。

進(jìn)一步地,所述測(cè)試結(jié)果包括讀速度、寫速度、IOPS、訪問延時(shí)、丟幀數(shù)的任意組合。

進(jìn)一步地,所述測(cè)試任務(wù)包括文件IO操作。

本發(fā)明的有益效果是:本發(fā)明一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架和方法,該框架充分利用分布式的特點(diǎn),去中心化,集群中每一個(gè)節(jié)點(diǎn)既是測(cè)試任務(wù)的發(fā)布者,也是測(cè)試任務(wù)的接收?qǐng)?zhí)行者;既是測(cè)試結(jié)果的發(fā)送者,也是測(cè)試結(jié)果的收集存儲(chǔ)者;通過該框架集群中所有節(jié)點(diǎn)可以同步執(zhí)行相同的測(cè)試任務(wù);如果集群中一個(gè)節(jié)點(diǎn)癱瘓,可以選擇其他節(jié)點(diǎn)發(fā)布測(cè)試任務(wù)或收集測(cè)試結(jié)果,不會(huì)影響整個(gè)集群的測(cè)試,提高了測(cè)試的可靠性;本框架中各部分都采用ZeroMQ Msg對(duì)數(shù)據(jù)進(jìn)行編碼,結(jié)合其PUB-SUB模式、ROUTER/DEALER套接字,充分利用ZeroMQ高效的傳輸性能,構(gòu)建一個(gè)高效、可靠的節(jié)點(diǎn)對(duì)等的分布式測(cè)試框架,提供了一種高效、可靠的節(jié)點(diǎn)對(duì)等的分布式測(cè)試方法。

附圖說明

下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步說明:

圖1是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架的數(shù)據(jù)傳輸示意圖;

圖2是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法的步驟流程圖;

圖3是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法的一具體實(shí)施例步驟流程圖。

具體實(shí)施方式

需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。

一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架,集群分布式測(cè)試框架包括至少一個(gè)測(cè)試任務(wù)發(fā)送者節(jié)點(diǎn)、若干個(gè)測(cè)試任務(wù)接收者節(jié)點(diǎn)、若干個(gè)測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)和至少一個(gè)測(cè)試結(jié)果收集者節(jié)點(diǎn),所有節(jié)點(diǎn)通過網(wǎng)絡(luò)連接,參考圖1,圖1是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架的數(shù)據(jù)傳輸示意圖,所有節(jié)點(diǎn)互連采用ZeroMQ技術(shù)中的ROUTER/DEALER套接字,每個(gè)節(jié)點(diǎn)基于ZMQ_DEALER套接字以發(fā)送測(cè)試任務(wù)到對(duì)端節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)基于ZMQ_ROUTER套接字以接收對(duì)端節(jié)點(diǎn)發(fā)送的測(cè)試任務(wù),測(cè)試結(jié)果收集采用ZeroMQ技術(shù)中的PUB-SUB模式,測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)基于ZMQ_PUB套接字以發(fā)送測(cè)試結(jié)果到測(cè)試結(jié)果收集者節(jié)點(diǎn),如圖1中的節(jié)點(diǎn)1和節(jié)點(diǎn)2,測(cè)試結(jié)果收集者節(jié)點(diǎn)設(shè)置ZMQ_SUB套接字以收集測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn)發(fā)送的測(cè)試結(jié)果,如圖1中的節(jié)點(diǎn)N。另外,多個(gè)節(jié)點(diǎn)之間可以通過局域網(wǎng)絡(luò)或者廣域網(wǎng)絡(luò)建立網(wǎng)絡(luò)連接。

一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架,該框架充分利用分布式的特點(diǎn),去中心化,集群中每一個(gè)節(jié)點(diǎn)既是測(cè)試任務(wù)的發(fā)布者,也是測(cè)試任務(wù)的接收?qǐng)?zhí)行者;既是測(cè)試結(jié)果的發(fā)送者,也是測(cè)試結(jié)果的收集存儲(chǔ)者。

一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法,應(yīng)用于所述的節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試框架,參考圖2和圖3,圖2是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法的步驟流程圖,圖3是本發(fā)明中一種節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法的一具體實(shí)施例步驟流程圖,圖3示意的是單個(gè)節(jié)點(diǎn)的數(shù)據(jù)傳輸情況,節(jié)點(diǎn)對(duì)等的集群分布式測(cè)試方法包括以下步驟:

S1、啟動(dòng)所有的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)創(chuàng)建一個(gè)ZMQ_ROUTER套接字并綁定以接收消息;

S2、每個(gè)節(jié)點(diǎn)通過網(wǎng)絡(luò)發(fā)現(xiàn)集群中的其他節(jié)點(diǎn),每發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)即創(chuàng)建一個(gè)ZMQ_DEALER套接字與發(fā)現(xiàn)的節(jié)點(diǎn)的ZMQ_ROUTER套接字連接,每一個(gè)對(duì)端節(jié)點(diǎn)對(duì)應(yīng)一個(gè)ZMQ_DEALER套接字,以實(shí)現(xiàn)扇出數(shù)據(jù)到多個(gè)對(duì)端節(jié)點(diǎn);進(jìn)一步地,每個(gè)節(jié)點(diǎn)通過網(wǎng)絡(luò)發(fā)現(xiàn)集群中的其他節(jié)點(diǎn)的方法包括廣播UDP包或Gossip發(fā)現(xiàn)協(xié)議;步驟S2中節(jié)點(diǎn)創(chuàng)建ZMQ_DEALER套接字后,設(shè)置ZMQ_DEALER套接字的屬性為節(jié)點(diǎn)的唯一的識(shí)別信息;通過ZMQ_ROUTER套接字連接上對(duì)端節(jié)點(diǎn)后,將節(jié)點(diǎn)的識(shí)別信息和地址信息發(fā)送至對(duì)端節(jié)點(diǎn),以便對(duì)端節(jié)點(diǎn)能夠回連至該節(jié)點(diǎn)。本實(shí)施例中,本發(fā)明中的節(jié)點(diǎn)即為主機(jī),節(jié)點(diǎn)的識(shí)別信息為節(jié)點(diǎn)的UUID碼,也可以是其他的固定不變可唯一識(shí)別節(jié)點(diǎn)的信息;

作為技術(shù)方案的進(jìn)一步改進(jìn),每個(gè)節(jié)點(diǎn)間隔預(yù)定時(shí)間檢測(cè)對(duì)端節(jié)點(diǎn)是否離開,若離開,則關(guān)閉離開的對(duì)端節(jié)點(diǎn)對(duì)應(yīng)的ZMQ_DEALER套接字;具體地,檢測(cè)對(duì)端節(jié)點(diǎn)是否離開的方法包括Ping-Pong方式的心跳檢測(cè);

S3、判斷節(jié)點(diǎn)是否為測(cè)試任務(wù)發(fā)送者節(jié)點(diǎn),若是,節(jié)點(diǎn)通過多個(gè)ZMQ_DEALER套接字分別向多個(gè)對(duì)端節(jié)點(diǎn)發(fā)送測(cè)試任務(wù),根據(jù)ZMQ_ROUTER套接字的特性,對(duì)端節(jié)點(diǎn)可得到發(fā)送此消息節(jié)點(diǎn)的UUID碼,執(zhí)行測(cè)試任務(wù)并加密存儲(chǔ)測(cè)試結(jié)果;否則,節(jié)點(diǎn)通過ZMQ_ROUTER套接字接收測(cè)試任務(wù),執(zhí)行測(cè)試任務(wù)并加密存儲(chǔ)測(cè)試結(jié)果;進(jìn)一步地,執(zhí)行測(cè)試任務(wù)的測(cè)試工具包括IOZONE或SANERGY;測(cè)試結(jié)果包括讀速度、寫速度、IOPS、訪問延時(shí)、丟幀數(shù)的任意組合;

S4、判斷節(jié)點(diǎn)是否為測(cè)試結(jié)果發(fā)送者節(jié)點(diǎn),若是,節(jié)點(diǎn)創(chuàng)建ZMQ_PUB套接字,并通過ZMQ_PUB套接字與ZMQ_SUB套接字連接以發(fā)送測(cè)試結(jié)果,其中,ZMQ_PUB套接字以扇出的方式用于發(fā)送數(shù)據(jù);否則,節(jié)點(diǎn)創(chuàng)建ZMQ_SUB套接字,通過ZMQ_SUB套接字接收測(cè)試結(jié)果,加密并存儲(chǔ),并由分析程序做進(jìn)一步分析。進(jìn)一步地,步驟S4中,節(jié)點(diǎn)創(chuàng)建ZMQ_SUB套接字,設(shè)置訂閱過濾并綁定ZMQ_SUB套接字,通過ZMQ_SUB套接字接收ZMQ_PUB套接字發(fā)送的測(cè)試結(jié)果,各節(jié)點(diǎn)的測(cè)試結(jié)果交叉到達(dá),互不影響。最后,結(jié)束數(shù)據(jù)傳輸,關(guān)閉所有套接字。

由于ZeroMQ技術(shù)的跨平臺(tái)、可移植性,本發(fā)明對(duì)操作系統(tǒng)不做限制。ZeroMQ可以被大多數(shù)語言進(jìn)行調(diào)用,包括C、C++、C#、Clojure、CL、Erlang、F#、Felix、Go、Haskell、Java、Lua、Node.js、Objective-C、Perl、PHP、Python、Ruby、Scala、Tcl、Ada、Basic、Haxe、ooc。

通過本發(fā)明的集群中所有節(jié)點(diǎn)可以同步執(zhí)行相同的測(cè)試任務(wù);如果集群中一個(gè)節(jié)點(diǎn)癱瘓,可以選擇其他節(jié)點(diǎn)發(fā)布測(cè)試任務(wù)或收集測(cè)試結(jié)果,不會(huì)影響整個(gè)集群的測(cè)試,提高了測(cè)試的可靠性;本框架中各部分都采用ZeroMQ Msg對(duì)數(shù)據(jù)進(jìn)行編碼,結(jié)合其PUB-SUB模式、ROUTER/DEALER套接字,充分利用ZeroMQ高效的傳輸性能,構(gòu)建一個(gè)高效、可靠的節(jié)點(diǎn)對(duì)等的分布式測(cè)試框架,提供了一種高效、可靠的節(jié)點(diǎn)對(duì)等的分布式測(cè)試方法。

以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變形或替換,這些等同的變形或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
远安县| 邳州市| 庆城县| 大关县| 望谟县| 兴义市| 社旗县| 将乐县| 美姑县| 临夏县| 山东| 腾冲县| 民县| 嘉善县| 丰宁| 会泽县| 万载县| 阆中市| 溆浦县| 微博| 和政县| 临潭县| 左贡县| 梁河县| 德兴市| 建平县| 宁武县| 忻州市| 昌乐县| 婺源县| 阿克陶县| 凌海市| 容城县| 怀来县| 抚州市| 类乌齐县| 北宁市| 离岛区| 甘泉县| 雷州市| 四会市|