溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)流分為哪幾類

發(fā)布時(shí)間:2020-07-31 09:49:28 來(lái)源:億速云 閱讀:271 作者:Leah 欄目:互聯(lián)網(wǎng)科技

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)數(shù)據(jù)流分為哪幾類,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

數(shù)據(jù)流分為兩類:1、輸入流【InputStream】,輸入流只能讀不能寫,而輸出流只能寫不能讀。2、輸出流【OutputStream】,通常程序中使用輸入流讀出數(shù)據(jù),輸出流寫入數(shù)據(jù),就好像數(shù)據(jù)流入到程序并從程序中流出。

數(shù)據(jù)流(data stream)是一組有序,有起點(diǎn)和終點(diǎn)的字節(jié)的數(shù)據(jù)序列。包括輸入流和輸出流。

數(shù)據(jù)流最初是通信領(lǐng)域使用的概念,代表傳輸中所使用的信息的數(shù)字編碼信號(hào)序列。這個(gè)概念最初在1998年由Henzinger在文獻(xiàn)87中提出,他將數(shù)據(jù)流定義為“只能以事先規(guī)定好的順序被讀取一次的數(shù)據(jù)的一個(gè)序列”。

數(shù)據(jù)流應(yīng)用的產(chǎn)生的發(fā)展是以下兩個(gè)因素的結(jié)果:

細(xì)節(jié)數(shù)據(jù)

已經(jīng)能夠持續(xù)自動(dòng)產(chǎn)生大量的細(xì)節(jié)數(shù)據(jù)。這類數(shù)據(jù)最早出現(xiàn)于傳統(tǒng)的銀行和股票交易領(lǐng)域,后來(lái)則也出現(xiàn)為地質(zhì)測(cè)量、氣象、天文觀測(cè)等方面。尤其是互聯(lián)網(wǎng)(網(wǎng)絡(luò)流量監(jiān)控,點(diǎn)擊流)和無(wú)線通信網(wǎng)(通話記錄)的出現(xiàn),產(chǎn)生了大量的數(shù)據(jù)流類型的數(shù)據(jù)。我們注意到這類數(shù)據(jù)大都與地理信息有一定關(guān)聯(lián),這主要是因?yàn)榈乩硇畔⒌木S度較大,容易產(chǎn)生這類大量的細(xì)節(jié)數(shù)據(jù)。

復(fù)雜分析

需要以近實(shí)時(shí)的方式對(duì)更新流進(jìn)行復(fù)雜分析。對(duì)以上領(lǐng)域的數(shù)據(jù)進(jìn)行復(fù)雜分析(如趨勢(shì)分析,預(yù)測(cè))以前往往是(在數(shù)據(jù)倉(cāng)庫(kù)中)脫機(jī)進(jìn)行的,然而一些新的應(yīng)用(尤其是在網(wǎng)絡(luò)安全和國(guó)家安全領(lǐng)域)對(duì)時(shí)間都非常敏感,如檢測(cè)互聯(lián)網(wǎng)上的極端事件、欺詐、入侵、異常,復(fù)雜人群監(jiān)控,趨勢(shì)監(jiān)控(track trend),探查性分析(exploratory analyses),和諧度分析(harmonic analysis)等,都需要進(jìn)行聯(lián)機(jī)的分析。

在此之后,學(xué)術(shù)界基本認(rèn)可了這個(gè)定義,有的文章也在此基礎(chǔ)上對(duì)定義稍微進(jìn)行了修改。例如,S. Guha等[88]認(rèn)為,數(shù)據(jù)流是“只能被讀取一次或少數(shù)幾次的點(diǎn)的有序序列”,這里放寬了前述定義中的“一遍”限制。

為什么在數(shù)據(jù)流的處理中,強(qiáng)調(diào)對(duì)數(shù)據(jù)讀取次數(shù)的限制呢?S. Muthukrishnan[89]指出數(shù)據(jù)流是指“以非常高的速度到來(lái)的輸入數(shù)據(jù)”,因此對(duì)數(shù)據(jù)流數(shù)據(jù)的傳輸、計(jì)算和存儲(chǔ)都將變得很困難。在這種情況下,只有在數(shù)據(jù)最初到達(dá)時(shí)有機(jī)會(huì)對(duì)其進(jìn)行一次處理,其他時(shí)候很難再存取到這些數(shù)據(jù)(因?yàn)闆](méi)有也無(wú)法保存這些數(shù)據(jù))。

分類:

數(shù)據(jù)的性質(zhì)、格式不同,則對(duì)流的處理方法也不同,因此,在Java的輸入/輸出類庫(kù)中,有不同的流類來(lái)對(duì)應(yīng)不同性質(zhì)的輸入/輸出流。在java.io包中,基本輸入/輸出流類可按其讀寫數(shù)據(jù)的類型之不同分為兩種:字節(jié)流和字符流。

輸入流與輸出流

數(shù)據(jù)流分為輸入流(InputStream)和輸出流(OutputStream)兩類。輸入流只能讀不能寫,而輸出流只能寫不能讀。通常程序中使用輸入流讀出數(shù)據(jù),輸出流寫入數(shù)據(jù),就好像數(shù)據(jù)流入到程序并從程序中流出。采用數(shù)據(jù)流使程序的輸入輸出操作獨(dú)立與相關(guān)設(shè)備。

輸入流可從鍵盤或文件中獲得數(shù)據(jù),輸出流可向顯示器、打印機(jī)或文件中傳輸數(shù)據(jù)。

緩沖流

為了提高數(shù)據(jù)的傳輸效率,通常使用緩沖流(Buffered Stream),即為一個(gè)流配有一個(gè)緩沖區(qū)(buffer),一個(gè)緩沖區(qū)就是專門用于傳輸數(shù)據(jù)的內(nèi)存塊。當(dāng)向一個(gè)緩沖流寫入數(shù)據(jù)時(shí),系統(tǒng)不直接發(fā)送到外部設(shè)備,而是將數(shù)據(jù)發(fā)送到緩沖區(qū)。緩沖區(qū)自動(dòng)記錄數(shù)據(jù),當(dāng)緩沖區(qū)滿時(shí),系統(tǒng)將數(shù)據(jù)全部發(fā)送到相應(yīng)的設(shè)備。

當(dāng)從一個(gè)緩沖流中讀取數(shù)據(jù)時(shí),系統(tǒng)實(shí)際是從緩沖區(qū)中讀取數(shù)據(jù)。當(dāng)緩沖區(qū)空時(shí),系統(tǒng)就會(huì)從相關(guān)設(shè)備自動(dòng)讀取數(shù)據(jù),并讀取盡可能多的數(shù)據(jù)充滿緩沖區(qū)。

上述就是小編為大家分享的數(shù)據(jù)流分為哪幾類了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI