国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對應(yīng)用文件進行處理的方法及裝置與流程

      文檔序號:11156824閱讀:915來源:國知局
      對應(yīng)用文件進行處理的方法及裝置與制造工藝

      本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種對應(yīng)用文件進行處理的方法及裝置。



      背景技術(shù):

      在移動終端的應(yīng)用程序(或稱為:應(yīng)用、軟件)使用中,為了能夠提高效率,經(jīng)常會使用緩存技術(shù)。隨著應(yīng)用程序的不斷增多,使用緩存的文件數(shù)量也會越來越多,這樣就會導(dǎo)致應(yīng)用體積越來越龐大,造成大量占用系統(tǒng)空間資源。

      同時,在應(yīng)用的配置文件出錯的情況下,有可能會導(dǎo)致應(yīng)用無法正常使用。例如,之前緩存了網(wǎng)頁的訪問地址A,但是在后期的應(yīng)用升級過程中網(wǎng)頁訪問地址變更為B,此時緩存的配置文件并沒有被有效的清理掉,就很有可能導(dǎo)致頁面無法正常加載的問題。



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

      鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的清理應(yīng)用無效文件的方法及裝置。

      根據(jù)本發(fā)明實施例的一個方面,提供一種對應(yīng)用文件進行處理的方法,包括:終端接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用文件處理命令;所述終端解析所述應(yīng)用文件處理命令,獲知待處理文件標識以及處理操作類型;所述終端根據(jù)處理操作類型,執(zhí)行對待處理文件的處理操作。

      優(yōu)選的,還包括:終端定期向應(yīng)用服務(wù)器發(fā)送心跳包,所述心跳包攜帶終端IP地址、終端設(shè)備信息;應(yīng)用服務(wù)器接收到所述心跳包,確定與終端保持通信,從而可向終端發(fā)送所述應(yīng)用文件處理命令。

      優(yōu)選的,所述終端接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用文件處理命令,包括:所述終端接收應(yīng)用服務(wù)器發(fā)送的基于HTTP協(xié)議JSON格式的應(yīng)用文件處理命令;所述終端解析所述應(yīng)用文件處理命令,包括:所述終端通過FASTJSON方式解析所述應(yīng)用文件處理命令。

      優(yōu)選的,還包括:在終端本地設(shè)置應(yīng)用文件清理定時器;所述終端根據(jù)應(yīng)用文件清理定時器,定時讀取本地緩存的應(yīng)用文件,并判斷所述緩存的應(yīng)用文件所占的存儲空間大小是否大于預(yù)置的存儲空間清理閾值,若是,刪除所述緩存的應(yīng)用文件。

      優(yōu)選的,所述定時讀取緩存的應(yīng)用文件,包括:使用Java的JDK提供的文件讀取API,通過File類定時讀取本地緩存的應(yīng)用文件。

      根據(jù)本發(fā)明的另一個實施例,提供一種對應(yīng)用文件進行處理的裝置,包括:處理命令接收單元,用于接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用文件處理命令;處理命令解析單元,用于解析所述應(yīng)用文件處理命令,獲知待處理文件標識以及處理操作類型;處理操作執(zhí)行單元,用于根據(jù)處理操作類型,執(zhí)行對待處理文件的處理操作。

      優(yōu)選的,還包括:心跳包發(fā)送單元,用于定期向應(yīng)用服務(wù)器發(fā)送心跳包,所述心跳包攜帶終端IP地址、終端設(shè)備信息。

      優(yōu)選的,所述處理命令接收單元具體用于:所述終端接收應(yīng)用服務(wù)器發(fā)送的基于HTTP協(xié)議JSON格式的應(yīng)用文件處理命令;所述處理命令解析單元具體用于:通過FASTJSON方式解析所述應(yīng)用文件處理命令。

      優(yōu)選的,還包括:本地定時清理單元,用于在終端本地設(shè)置應(yīng)用文件清理定時器,以及,根據(jù)應(yīng)用文件清理定時器,定時讀取本地緩存的應(yīng)用文件,并判斷所述緩存的應(yīng)用文件所占的存儲空間大小是否大于預(yù)置的存儲空間清理閾值,若是,刪除所述緩存的應(yīng)用文件。

      優(yōu)選的,所述本地定時清理單元具體用于:使用Java的JDK提供的文件讀取API,通過File類定時讀取本地緩存的應(yīng)用文件。

      可見,通過本發(fā)明提供的應(yīng)用文件處理方法,通過服務(wù)器下發(fā)應(yīng)用文件處理命令的方式,實現(xiàn)垃圾動態(tài)清理的目的,例如,針對應(yīng)用程序的配置文件進行更新或升級過程中,對于涉及版本或升級的過期文件進行下發(fā)刪除命令,從而減少這些無效文件對終端緩存空間的占用,減輕對磁盤占用的開銷,也能夠有效的避免因為后期升級等問題導(dǎo)致系統(tǒng)配置失效從而導(dǎo)致軟件不可用的問題。

      除了上述通過服務(wù)器下發(fā)應(yīng)用文件處理命令的方式對終端無效文件(特別是無效的配置文件)進行處理的方式外,還可結(jié)合終端本地對無效文件(特別是無效的運行文件)的清理方式,從而可進一步有效的控制軟件本身的磁盤占用。

      上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

      附圖說明

      通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

      圖1示出了根據(jù)本發(fā)明的清理應(yīng)用無效文件的方法流程圖;

      圖2示出了根據(jù)本發(fā)明一個實施例的清理應(yīng)用無效文件的方法中根據(jù)本地定時器刪除緩存文件的流程圖;

      圖3示出了根據(jù)本發(fā)明的清理應(yīng)用無效文件的裝置結(jié)構(gòu)示意圖。

      具體實施方式

      下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

      如前所述的,針對應(yīng)用文件過期或無效的情況,如果還仍然緩存這些應(yīng)用文件,會造成對終端存儲空間的浪費,嚴重時還會影響終端響應(yīng)速度。對此,本發(fā)明實施例提供一種對應(yīng)用文件進行處理的方法,通過服務(wù)器控制下發(fā)處理命令,指示終端進行應(yīng)用文件的處理。除此之外,在優(yōu)選方式中,還結(jié)合終端本地清理應(yīng)用文件的方式,及時清理掉無效應(yīng)用文件。

      參見圖1,為本發(fā)明提供的一種對應(yīng)用文件進行處理的方法。

      S101:終端接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用文件處理命令。

      應(yīng)用文件處理命令,是指對應(yīng)用文件進行處理的指令,例如對文件進行刪除等操作的指令。應(yīng)用文件,是指應(yīng)用程序的相關(guān)文件,例如,應(yīng)用程序的配置文件,應(yīng)用程序的運行文件,等等,其中,配置文件一般是與應(yīng)用程序的版本信息、升級信息或用戶信息相關(guān)的文件,而應(yīng)用程序的運行文件是指應(yīng)用程序在運行過程中調(diào)用信息相關(guān)的文件。

      在實際操作中,應(yīng)用服務(wù)器向終端發(fā)送應(yīng)用文件處理命令的時機不限,例如,可以定期下發(fā)應(yīng)用文件處理命令,或在技術(shù)維護人員根據(jù)需要下發(fā)應(yīng)用文件處理命令,或者在對應(yīng)用進行版本更新或者刪除舊版本時下發(fā)應(yīng)用文件處理命令,或者終端上報某個/些應(yīng)用文件無效時下發(fā)應(yīng)用文件處理命令。該應(yīng)用文件處理命令中包括指示終端進行處理的文件標識(例如文件名稱)及處理操作類型。

      為了確保終端接收到應(yīng)用服務(wù)器下發(fā)的應(yīng)用文件處理命令,需要維持終端與應(yīng)用服務(wù)器之間的通信連接。例如,可以通過終端定期向應(yīng)用服務(wù)器發(fā)送心跳包的方式維持二者之間的通信連接。具體的,終端定期向應(yīng)用服務(wù)器發(fā)送心跳包,心跳包攜帶終端IP地址、終端設(shè)備信息;應(yīng)用服務(wù)器接收到心跳包,確定與終端保持通信,從而可向終端發(fā)送應(yīng)用文件處理命令。

      可見,應(yīng)用服務(wù)器和終端通信過程中如果希望能夠?qū)嵤┩ㄟ^服務(wù)器下方控制命令,此時需要維系一個和服務(wù)器的心跳包。心跳包主要是終端定期向服務(wù)器發(fā)送一個空的命令保證終端和服務(wù)器的連接不會因為超時而斷開。首先,因為終端和服務(wù)器通信中過程中,服務(wù)端如果長時間沒有收到終端的消息,服務(wù)端為了釋放該終端占用的資源會斷開與終端的連接。如果服務(wù)器和終端斷開了連接,那么以后終端就無法和服務(wù)器通信,如果想要繼續(xù)通信,終端必須重新建立連接,但是建立連接的這個過程是非常耗時的,為了解決這個問題終端可以通過發(fā)送心跳包解決。其次,終端定期發(fā)送心跳包(心跳包內(nèi)容攜帶客戶端的一些基本信息,比如終端mac地址,設(shè)備相關(guān)信息,手機號等,主要目的就是和服務(wù)器進行一次通信操作),服務(wù)器發(fā)現(xiàn)終端定期有和自己通信,服務(wù)器會認為終端一直需要服務(wù),此時服務(wù)器不會斷開與終端的連接。另外,有了心跳包的傳輸,就能夠很好的保障終端和服務(wù)器的連接不斷開。

      S102:終端解析應(yīng)用文件處理命令,獲知待處理文件標識以及處理操作類型。

      待處理文件標識可以是文件名稱或者文件唯一標識碼或者其他表示文件的信息,處理操作類型指示對待處理文件的處理操作方式,例如,處理操作包括刪除操作、更新操作(以新版本文件替換舊版本文件),等。

      具體的,服務(wù)器基于HTPP協(xié)議向終端發(fā)送應(yīng)用文件處理命令,例如,終端接收應(yīng)用服務(wù)器發(fā)送的基于HTTP協(xié)議JSON格式的應(yīng)用文件處理命令;終端解析應(yīng)用文件處理命令的方式是:通過FASTJSON方式解析應(yīng)用文件處理命令。其中,JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它基于ECMAScript的一個子集,JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。FASTJSON是Java語言編寫的JSON處理器,與JSON相比,F(xiàn)ASTJSO具有處理速度更快的優(yōu)點。

      例如,應(yīng)用文件處理命令的結(jié)構(gòu)如下:

      {

      "fileName":"myConfig.xml",

      "fileOperation":"delete",

      }

      其中:

      fileName:表示需要被刪除掉文件名稱,本示例中需要被刪除掉文件的名稱是myConfig.xml。

      fileOperation:是需要對這個文件進行的操作,本操作的具體內(nèi)容是delete表示需要對這個文件進行刪除操作。

      如上面的例子,應(yīng)用文件處理命令是通過HTTP協(xié)議將JSON格式的數(shù)據(jù)傳遞過來,終端接收到服務(wù)器傳遞過來的JSON數(shù)據(jù)后,會使用通用的FASTJSON方式對該JSON格式進行解析操作,解析出需要刪除的文件名稱。例如,上面示例中解析完成后的文件名稱是myConfig.xml。

      S103:終端根據(jù)處理操作類型,執(zhí)行對待處理文件的處理操作。

      終端解析應(yīng)用文件處理命令之后,執(zhí)行對待處理文件的處理操作。具體的,可以使用JDK提供的File類中的各種方法執(zhí)行具體的處理操作。其中,JDK是Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序。JDK是整個Java開發(fā)的核心,它包含了Java的運行環(huán)境,Java工具和Java基礎(chǔ)的類庫。通過調(diào)用JDK中的File類(文件類)的各種方法,可以實現(xiàn)對文件的處理操作。例如,對于刪除操作,則可以使用JDK提供的File類中的刪除方法(Delete函數(shù))對文件執(zhí)行刪除操作處理,Delete函數(shù)是file中的一個刪除函數(shù),其主要功能是將文件從磁盤上刪除掉。

      通過本發(fā)明提供的應(yīng)用文件處理方法,通過服務(wù)器下發(fā)應(yīng)用文件處理命令的方式,實現(xiàn)垃圾動態(tài)清理的目的,例如,針對應(yīng)用程序的配置文件進行更新或升級過程中,對于涉及版本或升級的過期文件進行下發(fā)刪除命令,從而減少這些無效文件對終端緩存空間的占用,減輕對磁盤占用的開銷,也能夠有效的避免因為后期升級等問題導(dǎo)致系統(tǒng)配置失效從而導(dǎo)致軟件不可用的問題。

      除了上述通過服務(wù)器下發(fā)應(yīng)用文件處理命令的方式對終端無效文件(特別是無效的配置文件)進行處理的方式外,還可結(jié)合終端本地對無效文件(特別是無效的運行文件)的清理方式,從而可進一步有效的控制軟件本身的磁盤占用。

      參見圖2,出了根據(jù)本發(fā)明一個實施例的清理應(yīng)用無效文件的方法中根據(jù)本地定時器刪除緩存文件的流程圖,包括如下步驟:

      S201:在終端本地設(shè)置應(yīng)用文件清理定時器;

      S202:根據(jù)應(yīng)用文件清理定時器,定時讀取緩存的應(yīng)用文件;

      S203:確定緩存的應(yīng)用文件所占的存儲空間大小大于預(yù)置的存儲空間清理閾值;

      S204:刪除緩存的應(yīng)用文件。

      下面以Android系統(tǒng)的終端為例,針對上述四個步驟進一步詳細介紹。

      一、關(guān)于步驟S201“設(shè)置應(yīng)用文件清理定時器”

      本地定時器配置:

      可以采用Android提供的一個專用定時器AlarmManager,在系統(tǒng)休眠狀態(tài)下,如果定時器超時了,Android會自動喚醒系統(tǒng)來觸發(fā)定時任務(wù)。AlarmManager具有喚醒CPU的功能,可以保證每次需要執(zhí)行特定任務(wù)時CPU都能正常工作,或者說當(dāng)CPU處于休眠時注冊的鬧鐘會被保留(可以喚醒CPU)。

      本發(fā)明實施例子中以通過AlarmManger來設(shè)定定時器為例子。

      AlarmManager的使用分為如下兩個步驟:

      (1)獲取定時器AlarmManager

      AlarmManager是Android系統(tǒng)提供的一個定時服務(wù),需要使用定時服務(wù)的時候首先得獲取到Android系統(tǒng)提供的這個服務(wù)。具體獲取方法如下所示:

      AlarmManager alarmManager=

      (AlarmManager)getSystemService(ALARM_SERVICE);

      直接調(diào)用getSystemService這個方法,就能夠獲取到定時器AlarmManager的實例。其中g(shù)etSystemService是Android系統(tǒng)提供的一個專門用于獲取系統(tǒng)服務(wù)的接口。

      (2)設(shè)置重復(fù)定時器

      AlarmManager中有一個專門用于設(shè)置重復(fù)定時器的函數(shù)setRepeating,這個函數(shù)的主要功能是設(shè)置定時任務(wù),這個定時任務(wù)一旦到達后,系統(tǒng)會重新開啟新的定時任務(wù),新的定時時間和老的定時時間相同。

      這個函數(shù)的使用如下所示:

      setRepeating(int type,long startTime,long intervalTime,PendingIntent pi):

      本發(fā)明實施例子的例子中,因為要定期對無效文件進行清理處理,所以優(yōu)選使用setRepeating定時器來設(shè)定定時器的。setRepeating函數(shù)設(shè)置的是一個周期性的定時器,周期性的定時器能夠確保任務(wù)被不斷的定時執(zhí)行。

      二、關(guān)于步驟202“根據(jù)應(yīng)用文件清理定時器,定時讀取緩存的應(yīng)用文件”

      例如,可以使用Java的JDK提供的文件讀取API,通過File類定時讀取緩存的應(yīng)用文件。具體的,讀取文件使用的Java的JDK提供的一套文件讀取的API,使用File類來對文件進行讀取。File類讀取文件的方式如下:File(文件路徑),將文件的路徑傳遞到File的構(gòu)造函數(shù)中,這樣系統(tǒng)就會返回該文件的實例file。后續(xù)可以通過文件實例file對文件進行信息的獲取或者文件的相關(guān)操作。

      三、關(guān)于步驟203“判斷緩存的應(yīng)用文件所占的存儲空間大小是否大于預(yù)置的存儲空間清理閾值”

      仍以上面“Java的JDK提供的文件讀取API”的方式,在讀取到文件的文件實例之后,可以調(diào)用其中的length方法來獲取文件的大小。其中l(wèi)ength方法這個函數(shù)的主要功能是返回當(dāng)前文件的大小信息。由此,就可以通過length函數(shù)獲取到了當(dāng)前文件的大小了。

      預(yù)先需要設(shè)置一個存儲空間清理閾值(文件閾值),是為了將大文件進行刪除,如果緩存的文件比較小,此時可以認為沒有必要對其進行刪除,因為小緩存文件對系統(tǒng)磁盤的開銷比較小,影響可以忽略不計。如果文件過大就會對系統(tǒng)產(chǎn)生一定的影響了。例如,本例子中閾值設(shè)置為50M,在實際使用過程中該值可以根據(jù)具體需求來進行設(shè)置大小,將讀取到文件的大小和閾值50M進行大小對比。

      四、關(guān)于步驟S204“刪除緩存的應(yīng)用文件”

      仍如上面的例子,如果文件大小比閾值50M大,此時對文件進行刪除操作。刪除文件的方法是通過調(diào)用file中的delete函數(shù)來對文件進行刪除,Delete函數(shù)是file中的一個刪除函數(shù),其主要功能是將文件從磁盤上刪除掉。如果緩存文件沒有超過閾值大小,此時不做任何操作,即對于小文件不會對其進行刪除操作。

      與上述方法實施例相對應(yīng),本發(fā)明還提供一種對應(yīng)用文件進行處理的裝置。參見圖3,示出了本發(fā)明對應(yīng)用文件進行處理的裝置結(jié)構(gòu)示意圖,該裝置包括:

      處理命令接收單元301,用于接收應(yīng)用服務(wù)器發(fā)送的應(yīng)用文件處理命令;

      處理命令解析單元302,用于解析所述應(yīng)用文件處理命令,獲知待處理文件標識以及處理操作類型;

      處理操作執(zhí)行單元303,用于根據(jù)處理操作類型,執(zhí)行對待處理文件的處理操作。

      待處理文件標識可以是文件名稱或者文件唯一標識碼或者其他表示文件的信息,處理操作類型指示對待處理文件的處理操作方式,例如,處理操作包括刪除操作、更新操作(以新版本文件替換舊版本文件),等。

      在實際操作中,應(yīng)用服務(wù)器向終端發(fā)送應(yīng)用文件處理命令的時機不限,例如,可以定期下發(fā)應(yīng)用文件處理命令,或在技術(shù)維護人員根據(jù)需要下發(fā)應(yīng)用文件處理命令,或者在對應(yīng)用進行版本更新或者刪除舊版本時下發(fā)應(yīng)用文件處理命令,或者終端上報某個/些應(yīng)用文件無效時下發(fā)應(yīng)用文件處理命令。該應(yīng)用文件處理命令中包括指示終端進行處理的文件名稱及處理操作類型。

      為了確保終端接收到應(yīng)用服務(wù)器下發(fā)的應(yīng)用文件處理命令,需要維持終端與應(yīng)用服務(wù)器之間的通信連接。例如,可以通過終端定期向應(yīng)用服務(wù)器發(fā)送心跳包的方式維持二者之間的通信連接。具體的,終端定期向應(yīng)用服務(wù)器發(fā)送心跳包,心跳包攜帶終端IP地址、終端設(shè)備信息;應(yīng)用服務(wù)器接收到心跳包,確定與終端保持通信,從而可向終端發(fā)送應(yīng)用文件處理命令。

      優(yōu)選的,該裝置還包括:心跳包發(fā)送單元304,用于定期向應(yīng)用服務(wù)器發(fā)送心跳包,所述心跳包攜帶終端IP地址、終端設(shè)備信息。

      可見,應(yīng)用服務(wù)器和終端通信過程中如果希望能夠?qū)嵤┩ㄟ^服務(wù)器下方控制命令,此時需要維系一個和服務(wù)器的心跳包。心跳包主要是終端定期向服務(wù)器發(fā)送一個空的命令保證終端和服務(wù)器的連接不會因為超時而斷開。首先,因為終端和服務(wù)器通信中過程中,服務(wù)端如果長時間沒有收到終端的消息,服務(wù)端為了釋放該終端占用的資源會斷開與終端的連接。如果服務(wù)器和終端斷開了連接,那么以后終端就無法和服務(wù)器通信,如果想要繼續(xù)通信,終端必須重新建立連接,但是建立連接的這個過程是非常耗時的,為了解決這個問題終端可以通過發(fā)送心跳包解決。其次,終端定期發(fā)送心跳包(心跳包內(nèi)容攜帶客戶端的一些基本信息,比如終端mac地址,設(shè)備相關(guān)信息,手機號等,主要目的就是和服務(wù)器進行一次通信操作),服務(wù)器發(fā)現(xiàn)終端定期有和自己通信,服務(wù)器會認為終端一直需要服務(wù),此時服務(wù)器不會斷開與終端的連接。另外,有了心跳包的傳輸,就能夠很好的保障終端和服務(wù)器的連接不斷開。

      優(yōu)選的,所述處理命令接收單元301具體用于:所述終端接收應(yīng)用服務(wù)器發(fā)送的基于HTTP協(xié)議JSON格式的應(yīng)用文件處理命令;所述處理命令解析單元302具體用于:通過FASTJSON方式解析所述應(yīng)用文件處理命令。

      待處理文件標識可以是文件名稱或者文件唯一標識碼或者其他表示文件的信息,處理操作類型指示對待處理文件的處理操作方式,例如,處理操作包括刪除操作、更新操作(以新版本文件替換舊版本文件),等。

      具體的,服務(wù)器基于HTPP協(xié)議向終端發(fā)送應(yīng)用文件處理命令,例如,終端接收應(yīng)用服務(wù)器發(fā)送的基于HTTP協(xié)議JSON格式的應(yīng)用文件處理命令;終端解析應(yīng)用文件處理命令的方式是:通過FASTJSON方式解析應(yīng)用文件處理命令。其中,JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它基于ECMAScript的一個子集,JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。FASTJSON是Java語言編寫的JSON處理器,與JSON相比,F(xiàn)ASTJSO具有處理速度更快的優(yōu)點。

      例如,應(yīng)用文件處理命令的結(jié)構(gòu)如下:

      {

      "fileName":"myConfig.xml",

      "fileOperation":"delete",

      }

      其中:

      fileName:表示需要被刪除掉文件名稱,本示例中需要被刪除掉文件的名稱是myConfig.xml。

      fileOperation:是需要對這個文件進行的操作,本操作的具體內(nèi)容是delete表示需要對這個文件進行刪除操作。

      如上面的例子,應(yīng)用文件處理命令是通過HTTP協(xié)議將JSON格式的數(shù)據(jù)傳遞過來,終端接收到服務(wù)器傳遞過來的JSON數(shù)據(jù)后,會使用通用的FASTJSON方式對該JSON格式進行解析操作,解析出需要刪除的文件名稱。例如,上面示例中解析完成后的文件名稱是myConfig.xml。

      除了上述通過服務(wù)器下發(fā)應(yīng)用文件處理命令的方式對終端無效文件(特別是無效的配置文件)進行處理的方式外,還可結(jié)合終端本地對無效文件(特別是無效的運行文件)的清理方式,從而可進一步有效的控制軟件本身的磁盤占用。

      優(yōu)選的,該裝置還包括:本地定時清理單元305,用于在終端本地設(shè)置應(yīng)用文件清理定時器,以及,根據(jù)應(yīng)用文件清理定時器,定時讀取本地緩存的應(yīng)用文件,并判斷所述緩存的應(yīng)用文件所占的存儲空間大小是否大于預(yù)置的存儲空間清理閾值,若是,刪除所述緩存的應(yīng)用文件。優(yōu)選的,所述本地定時清理單元305具體用于:使用Java的JDK提供的文件讀取API,通過File類定時讀取本地緩存的應(yīng)用文件。

      下面以Android系統(tǒng)的終端為例,針對上述本地定時清理單元305進一步詳細介紹。

      一、關(guān)于“設(shè)置應(yīng)用文件清理定時器”

      本地定時器配置:

      可以采用Android提供的一個專用定時器AlarmManager,在系統(tǒng)休眠狀態(tài)下,如果定時器超時了,Android會自動喚醒系統(tǒng)來觸發(fā)定時任務(wù)。AlarmManager具有喚醒CPU的功能,可以保證每次需要執(zhí)行特定任務(wù)時CPU都能正常工作,或者說當(dāng)CPU處于休眠時注冊的鬧鐘會被保留(可以喚醒CPU)。

      本發(fā)明實施例子中以通過AlarmManger來設(shè)定定時器為例子。

      AlarmManager的使用分為如下兩個步驟:

      (1)獲取定時器AlarmManager

      AlarmManager是Android系統(tǒng)提供的一個定時服務(wù),需要使用定時服務(wù)的時候首先得獲取到Android系統(tǒng)提供的這個服務(wù)。具體獲取方法如下所示:

      AlarmManager alarmManager=

      (AlarmManager)getSystemService(ALARM_SERVICE);

      直接調(diào)用getSystemService這個方法,就能夠獲取到定時器AlarmManager的實例。其中g(shù)etSystemService是Android系統(tǒng)提供的一個專門用于獲取系統(tǒng)服務(wù)的接口。

      (2)設(shè)置重復(fù)定時器

      AlarmManager中有一個專門用于設(shè)置重復(fù)定時器的函數(shù)setRepeating,這個函數(shù)的主要功能是設(shè)置定時任務(wù),這個定時任務(wù)一旦到達后,系統(tǒng)會重新開啟新的定時任務(wù),新的定時時間和老的定時時間相同。

      這個函數(shù)的使用如下所示:

      setRepeating(int type,long startTime,long intervalTime,PendingIntent pi):

      本發(fā)明實施例子的例子中,因為要定期對無效文件進行清理處理,所以優(yōu)選使用setRepeating定時器來設(shè)定定時器的。setRepeating函數(shù)設(shè)置的是一個周期性的定時器,周期性的定時器能夠確保任務(wù)被不斷的定時執(zhí)行。

      二、關(guān)于“根據(jù)應(yīng)用文件清理定時器,定時讀取緩存的應(yīng)用文件”

      例如,可以使用Java的JDK提供的文件讀取API,通過File類定時讀取緩存的應(yīng)用文件。具體的,讀取文件使用的Java的JDK提供的一套文件讀取的API,使用File類來對文件進行讀取。File類讀取文件的方式如下:File(文件路徑),將文件的路徑傳遞到File的構(gòu)造函數(shù)中,這樣系統(tǒng)就會返回該文件的實例file。后續(xù)可以通過文件實例file對文件進行信息的獲取或者文件的相關(guān)操作。

      三、關(guān)于“判斷緩存的應(yīng)用文件所占的存儲空間大小是否大于預(yù)置的存儲空間清理閾值”

      仍以上面“Java的JDK提供的文件讀取API”的方式,在讀取到文件的文件實例之后,可以調(diào)用其中的length方法來獲取文件的大小。其中l(wèi)ength方法這個函數(shù)的主要功能是返回當(dāng)前文件的大小信息。由此,就可以通過length函數(shù)獲取到了當(dāng)前文件的大小了。

      預(yù)先需要設(shè)置一個存儲空間清理閾值(文件閾值),是為了將大文件進行刪除,如果緩存的文件比較小,此時可以認為沒有必要對其進行刪除,因為小緩存文件對系統(tǒng)磁盤的開銷比較小,影響可以忽略不計。如果文件過大就會對系統(tǒng)產(chǎn)生一定的影響了。例如,本例子中閾值設(shè)置為50M,在實際使用過程中該值可以根據(jù)具體需求來進行設(shè)置大小,將讀取到文件的大小和閾值50M進行大小對比。

      四、關(guān)于“刪除緩存的應(yīng)用文件”

      仍如上面的例子,如果文件大小比閾值50M大,此時對文件進行刪除操作。刪除文件的方法是通過調(diào)用file中的delete函數(shù)來對文件進行刪除,Delete函數(shù)是file中的一個刪除函數(shù),其主要功能是將文件從磁盤上刪除掉。如果緩存文件沒有超過閾值大小,此時不做任何操作,即對于小文件不會對其進行刪除操作。

      在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。

      本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的用戶變身控制的系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

      應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1