亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

面向流式處理系統(tǒng)的內(nèi)存對象管理方法及系統(tǒng)的制作方法

文檔序號:9489333閱讀:425來源:國知局
面向流式處理系統(tǒng)的內(nèi)存對象管理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式計算機(jī)領(lǐng)域,尤其涉及一種面向流式處理系統(tǒng)的內(nèi)存對象管理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的持續(xù)發(fā)展和物聯(lián)網(wǎng)的迅速崛起,流數(shù)據(jù)廣泛出現(xiàn)在網(wǎng)絡(luò)監(jiān)控、傳感器網(wǎng)絡(luò)、航空航天、電子商務(wù)、智慧交通和智慧旅游等應(yīng)用領(lǐng)域,其中,流數(shù)據(jù)是一組順序、大量、快速、連續(xù)到達(dá)的數(shù)據(jù)序列。相比于傳統(tǒng)的大數(shù)據(jù),流數(shù)據(jù)以大量、快速、時變的數(shù)據(jù)流持續(xù)到達(dá),由此產(chǎn)生了一個新的研究問題:實時流數(shù)據(jù)處理。
[0003]—般情況,實時流數(shù)據(jù)處理是針對持續(xù)產(chǎn)生的流數(shù)據(jù),根據(jù)應(yīng)用需求快速建模,讓用戶實時地得到反饋,從而保證流數(shù)據(jù)的時效性。目前,由于流數(shù)據(jù)具有運(yùn)行周期長、處理延遲低等需求和特點(diǎn),在實時流數(shù)據(jù)處理過程中,需要在內(nèi)存中保存大量計算參數(shù)、中間狀態(tài)等流數(shù)據(jù)對象(Streaming Data Ob ject,簡稱SD0)。然而,在實時流數(shù)據(jù)處理過程中因長期運(yùn)行大量流數(shù)據(jù)對象的使用并不活躍,并且大量不活躍的流數(shù)據(jù)對象長期占用內(nèi)存。
[0004]因此,目前在實時流數(shù)據(jù)處理過程中,因長期運(yùn)行而造成大量不活躍的流數(shù)據(jù)對象長期占用內(nèi)存,從而造成系統(tǒng)資源的浪費(fèi)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種面向流式處理系統(tǒng)的內(nèi)存對象管理方法及系統(tǒng),能夠避免有效因長期運(yùn)行而造成大量不活躍的流數(shù)據(jù)對象長期占用內(nèi)存,從而避免系統(tǒng)資源的浪費(fèi)。
[0006]本發(fā)明第一方面提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法,包括:
[0007]檢測內(nèi)存中SD0的狀態(tài);
[0008]其中,SD0的狀態(tài)包括:SD0的不活躍態(tài),SD0的不活躍態(tài)指的是SD0在預(yù)設(shè)時間內(nèi)沒有被訪問或者是內(nèi)存中所有SD0的數(shù)量達(dá)到第一預(yù)設(shè)閾值時SD0是內(nèi)存中最近最少訪問的;
[0009]若檢測到SD0的狀態(tài)為不活躍態(tài),則將SD0從內(nèi)存中移除,并將SD0移動到外部存儲器。
[0010]本發(fā)明第二方面提供的面向流式處理系統(tǒng)的內(nèi)存對象管理系統(tǒng),包括:
[0011]檢測模塊,用于檢測內(nèi)存中SD0的狀態(tài);
[0012]其中,SD0的狀態(tài)包括:SD0的不活躍態(tài),SD0的不活躍態(tài)指的是SD0在預(yù)設(shè)時間內(nèi)沒有被訪問或者是內(nèi)存中所有SD0的數(shù)量達(dá)到第一預(yù)設(shè)閾值時SD0是內(nèi)存中最近最少訪問的;
[0013]處理模塊,用于若檢測到SD0的狀態(tài)為不活躍態(tài),則將SD0從內(nèi)存中移除,并將SD0移動到外部存儲器。
[0014]本發(fā)明提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法及系統(tǒng),通過檢測內(nèi)存中SD0的狀態(tài),若檢測到SD0的狀態(tài)為不活躍態(tài),則將SD0從內(nèi)存中移除,并將SD0移動到外部存儲器,實現(xiàn)自動檢測內(nèi)存中不活躍的流數(shù)據(jù)對象,避免了在實時流數(shù)據(jù)處理過程中,因長期運(yùn)行而造成大量不活躍的流數(shù)據(jù)對象長期占用內(nèi)存,從而避免了系統(tǒng)資源的浪費(fèi)。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實施例一提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法流程圖;
[0017]圖2為本發(fā)明實施例一提供的SD0的生命周期的狀態(tài)轉(zhuǎn)換圖;
[0018]圖3為本發(fā)明實施例二提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法流程圖;
[0019]圖4為本發(fā)明實施例三提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法流程圖;
[0020]圖5為本發(fā)明實施例一提供的SD0滑動窗口示意圖;
[0021]圖6為本發(fā)明實施例一提供的面向流式處理系統(tǒng)的內(nèi)存對象管理系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]圖1為本發(fā)明實施例一提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法流程圖。如圖1所示,本發(fā)明實施例提供的內(nèi)存對象管理方法,包括:
[0024]S101:檢測內(nèi)存中SD0的狀態(tài)。
[0025]其中,SD0的狀態(tài)包括:SD0的不活躍態(tài),SD0的不活躍態(tài)指的是SD0在預(yù)設(shè)時間內(nèi)沒有被訪問或者是內(nèi)存中所有SD0的數(shù)量達(dá)到第一預(yù)設(shè)閾值時SD0是內(nèi)存中最近最少訪問的。
[0026]需要說明的是,本發(fā)明實施例提供的面向流式處理系統(tǒng)的內(nèi)存對象管理方法的管理對象可以是系統(tǒng)中的任何Java對象以及用戶的自定義對象,但對于自定義對象,用戶須為其提供相應(yīng)的序列化方法。本發(fā)明實施例提供的面向流式處理系統(tǒng)(簡稱流式系統(tǒng))的內(nèi)存對象管理方法能夠自動檢測不活躍對象,并將其持久化到可靠存儲,防止因不必要的內(nèi)存占用而浪費(fèi)內(nèi)存資源;當(dāng)對象恢復(fù)活躍時,能夠較快地恢復(fù)內(nèi)存狀態(tài),正常地為流式系統(tǒng)提供服務(wù)。為方便敘述,本發(fā)明實施例將流式處理系統(tǒng)中的管理對象統(tǒng)稱為流數(shù)據(jù)對象(Streaming Data Object,簡稱SD0)。流式系統(tǒng)使用SD0容器組織和管理SDO,SD0容器功能包括SD0組織和SD0生命周期管理等,將SD0容器集成到流式處理系統(tǒng)JStorm中,實現(xiàn)流式任務(wù)的數(shù)據(jù)對象管理。其中,JStorm是目前安裝和使用最多的流式處理系統(tǒng),能夠提供分布式、低延遲、高吞吐的數(shù)據(jù)處理服務(wù),其中JStorm是一個Java對象到關(guān)系數(shù)據(jù)庫的映射工具。
[0027]具體的,本發(fā)明實施例中將每個SD0分為三種狀態(tài):不存在、活躍態(tài)和不活躍態(tài)。不存在指的是SDO還沒有被實施化,不在內(nèi)存中。活躍態(tài)指的是流式系統(tǒng)可正常且經(jīng)常使用SD0,SD0在內(nèi)存中經(jīng)常被訪問。不活躍態(tài)指的是流式系統(tǒng)基本不使用SD0,也即,使用上不活躍的SDO,SD0在預(yù)設(shè)時間內(nèi)沒有被訪問或者是內(nèi)存中所有SD0的數(shù)量達(dá)到第一預(yù)設(shè)閾值時SD0是內(nèi)存中最近最少訪問的。
[0028]S102:若檢測到SD0的狀態(tài)為不活躍態(tài),則將SD0從內(nèi)存中移除,并將SD0移動到外部存儲器。
[0029]其中,本發(fā)明實施例將檢測到的不活躍態(tài)的SD0從內(nèi)存中移除,并將SD0移動到外部存儲器。需要說明的是,將SD0從內(nèi)存中移除之前,釋放SD0持有的所有資源。將SD0移動到外部存儲器指的是將SD0序列化、持久化到外部存儲器。
[0030]具體的,本發(fā)明實施例為數(shù)據(jù)對象提供生命周期管理,防止不活躍數(shù)據(jù)對象占用內(nèi)存。每個SD0的生命周期是在不存在、活躍態(tài)和不活躍態(tài)三個狀態(tài)間的流動,圖2為本發(fā)明實施例一提供的SD0的生命周期的狀態(tài)轉(zhuǎn)換圖,如圖2所示,SD0的生命周期的狀態(tài)轉(zhuǎn)換具體的存在以下情況:
[0031]不存在到活躍態(tài):當(dāng)流式系統(tǒng)用戶創(chuàng)建一個新的SD0實例時,SD0的生命周期開始,SD0由不存在轉(zhuǎn)換到活躍態(tài),SD0初始化后,SD0保存在內(nèi)存中開始被流式系統(tǒng)使用,此時,SD0從不存在轉(zhuǎn)換到活躍態(tài)。
[0032]活躍態(tài)到不活躍態(tài):SD0保存在內(nèi)存中開始被流式系統(tǒng)使用后,對SD0進(jìn)行實時檢測,若檢測到SD0在預(yù)設(shè)時間內(nèi)沒有被訪問或者是內(nèi)存中所有SD0的數(shù)量達(dá)到第一預(yù)設(shè)閾值時SD0是內(nèi)存中最近最少訪問的,SD0處于不活躍態(tài),此時,SD0由活躍態(tài)轉(zhuǎn)換到不活躍
??τ ο
[0033]不活躍態(tài)到不存在:當(dāng)將不活躍態(tài)的SD0從內(nèi)存中移除時,此時,SD0由不活躍態(tài)轉(zhuǎn)換到不存在。
[0034]活躍態(tài)到不存在:需要說明的是
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1