本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種文件存儲(chǔ)方法和裝置。
背景技術(shù):
Solr是一個(gè)采用Java5開發(fā),基于全文搜索引擎(Lucence)的高性能企業(yè)級(jí)搜索應(yīng)用服務(wù)器,它對(duì)外提供類似于應(yīng)用程序(Web-service)的應(yīng)用程序編程接口(Application Programming Interface,API)。用戶可以通過http請(qǐng)求,向搜索引擎服務(wù)器提交一定格式的可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language,XML)文件,生成索引;也可以通過超文本傳輸協(xié)議(HyperText Transfer Protocol,Http)中的Get操作提出查找請(qǐng)求,并得到XML格式的返回結(jié)果。
現(xiàn)有的Solr中,文件在存儲(chǔ)時(shí)是以線性結(jié)構(gòu)對(duì)文件中包含的每個(gè)數(shù)據(jù)進(jìn)行存儲(chǔ)。
然而,現(xiàn)有的這種文件存儲(chǔ)方法由于是基于線性結(jié)構(gòu)的,在對(duì)新添加文件進(jìn)行存儲(chǔ)時(shí),對(duì)新添加文件的每一行數(shù)據(jù)都需要與Solr中原來(lái)所存儲(chǔ)文件中的所有數(shù)據(jù)進(jìn)行比較并去重后,才能對(duì)新添加的文件進(jìn)行存儲(chǔ),因此,文件存儲(chǔ)效率十分低下。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例期望提供一種文件存儲(chǔ)方法和裝置,以提高數(shù)據(jù)查詢效率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種文件存儲(chǔ)裝置,包括:
存儲(chǔ)模塊,用于將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);
處理模塊,用于根據(jù)以所述預(yù)設(shè)類型存儲(chǔ)的所述第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu);
所述存儲(chǔ)模塊,還用于將所述第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
如上所述的裝置,所述處理模塊,具體用于根據(jù)以所述預(yù)設(shè)類型存儲(chǔ)的所述第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)所述第一待存儲(chǔ)文件的第k行數(shù)據(jù);所述k和N為正整數(shù);根據(jù)所述N個(gè)實(shí)例生成所述第一樹結(jié)構(gòu);其中,所述第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
如上所述的裝置,還包括:
讀取模塊,用于依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);
所述處理模塊,還用于根據(jù)所讀取的所述第二待存儲(chǔ)文件的數(shù)據(jù)在所述第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu);
所述存儲(chǔ)模塊,還用于將所述第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
如上所述的裝置,還包括:
讀取模塊,用于依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);
所述處理模塊,還用于根據(jù)所讀取的所述第二待存儲(chǔ)文件的數(shù)據(jù)在所述第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu);
所述存儲(chǔ)模塊,還用于將所述第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
如上所述的裝置,所述處理單元,具體用于若所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第1個(gè)至第j個(gè)數(shù)據(jù)在所述第一樹結(jié)構(gòu)中能夠查詢到,則根據(jù)所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第j+1個(gè)至最后一個(gè)數(shù)據(jù)在第i行第j個(gè)數(shù)據(jù)所對(duì)應(yīng)的節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成所述第二樹結(jié)構(gòu);其中,j為正整數(shù)。
一種文件存儲(chǔ)方法,包括:
將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);
根據(jù)以所述預(yù)設(shè)類型存儲(chǔ)的所述第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu);
將所述第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
如上所述的方法,所述根據(jù)以所述預(yù)設(shè)類型存儲(chǔ)的所述第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu),包括:
根據(jù)以所述預(yù)設(shè)類型存儲(chǔ)的所述第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)所述第一待存儲(chǔ)文件的第k行數(shù)據(jù);所述k和N為正整數(shù);
根據(jù)所述N個(gè)實(shí)例生成所述第一樹結(jié)構(gòu);其中,所述第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
如上所述的方法,還包括:
依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);
根據(jù)所讀取的所述第二待存儲(chǔ)文件的數(shù)據(jù)在所述第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu);
將所述第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
如上所述的方法,所述根據(jù)所讀取的所述第二待存儲(chǔ)文件的數(shù)據(jù)在所述第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu),包括:
根據(jù)所讀取的所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)在所述第一樹結(jié)構(gòu)中進(jìn)行查詢;其中,i為正整數(shù);
若所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)在所述第一樹結(jié)構(gòu)中查詢不到,根據(jù)所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)在所述第一樹結(jié)構(gòu)的根節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成所述第二樹結(jié)構(gòu)。
如上所述的方法,所述若所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)在所述第一樹結(jié)構(gòu)中查詢不到,根據(jù)所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)在所述第一樹結(jié)構(gòu)的根節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成所述第二樹結(jié)構(gòu),包括:
若所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第1個(gè)至第j個(gè)數(shù)據(jù)在所述第一樹結(jié)構(gòu)中能夠查詢到,則根據(jù)所述第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第j+1個(gè)至最后一個(gè)數(shù)據(jù)在第i行第j個(gè)數(shù)據(jù)所對(duì)應(yīng)的節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成所述第二樹結(jié)構(gòu);其中,j為正整數(shù)。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)方法和裝置,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率;并且在后續(xù)的文件存儲(chǔ)時(shí),只需根據(jù)待存儲(chǔ)文件中每行數(shù)據(jù)的第一樹結(jié)構(gòu)根節(jié)點(diǎn)下的子節(jié)點(diǎn)依次進(jìn)行查詢,若查詢不到,則在第一樹結(jié)構(gòu)中添加新的子節(jié)點(diǎn),最終將待存儲(chǔ)文件進(jìn)行存儲(chǔ),從而避免了以線性結(jié)構(gòu)進(jìn)行文件存儲(chǔ)造成的文件存儲(chǔ)效率低下的問題,提高了文件存儲(chǔ)速度,同時(shí)減少內(nèi)存占用空間。
附圖說(shuō)明
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的一個(gè)可選的移動(dòng)終端的硬件結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的移動(dòng)終端能夠操作的通信系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例提供的一種文件存儲(chǔ)方法的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的一種第一樹結(jié)構(gòu)生成方法的示意圖;
圖5為本發(fā)明實(shí)施例提供的另一種第一樹結(jié)構(gòu)生成方法的示意圖;
圖6為本發(fā)明實(shí)施例提供的另一種文件存儲(chǔ)方法的流程示意圖;
圖7為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)方法的流程示意圖;
圖8為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)方法的流程示意圖;
圖9為本發(fā)明實(shí)施例提供的一種第二樹結(jié)構(gòu)生成方法的示意圖;
圖10為本發(fā)明實(shí)施例提供的一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖;
圖11為本發(fā)明實(shí)施例提供的另一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖;
圖12為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
現(xiàn)在將參考附圖1來(lái)描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說(shuō)明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動(dòng)終端可以以各種形式來(lái)實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動(dòng)電話、智能電話、筆記本電腦、數(shù)字廣播接收器、個(gè)人數(shù)字助理(PDA)、平板電腦(PAD)、便攜式多媒體播放器(PMP)、導(dǎo)航裝置等等的移動(dòng)終端以及諸如數(shù)字TV、臺(tái)式計(jì)算機(jī)等等的固定終端。下面,假設(shè)終端是移動(dòng)終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動(dòng)目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端一個(gè)可選的硬件結(jié)構(gòu)示意圖。
移動(dòng)終端100可以包括無(wú)線通信單元110、音頻/視頻(A/V)輸入單元120、用戶輸入單元130、感測(cè)單元140、輸出單元150、存儲(chǔ)器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動(dòng)終端,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件,可以替代地實(shí)施更多或更少的組件,將在下面詳細(xì)描述移動(dòng)終端的元件。
無(wú)線通信單元110通常包括一個(gè)或多個(gè)組件,其允許移動(dòng)終端100與無(wú)線通信系統(tǒng)或網(wǎng)絡(luò)之間的無(wú)線電通信。例如,無(wú)線通信單元可以包括廣播接收模塊111、移動(dòng)通信模塊112、無(wú)線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個(gè)。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號(hào)和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號(hào)和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號(hào)和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號(hào)可以包括TV廣播信號(hào)、無(wú)線電廣播信號(hào)、數(shù)據(jù)廣播信號(hào)等等。而且,廣播信號(hào)可以進(jìn)一步包括與TV或無(wú)線電廣播信號(hào)組合的廣播信號(hào)。廣播相關(guān)信息也可以經(jīng)由移動(dòng)通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動(dòng)通信模塊112來(lái)接收。廣播信號(hào)可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(DMB)的電子節(jié)目指南(EPG)、數(shù)字視頻廣播手持(DVB-H)的電子服務(wù)指南(ESG)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統(tǒng)接收信號(hào)廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(DMB-T)、數(shù)字多媒體廣播-衛(wèi)星(DMB-S)、數(shù)字視頻廣播-手持(DVB-H),前向鏈路媒體(MediaFLO@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(ISDB-T)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號(hào)的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號(hào)和/或廣播相關(guān)信息可以存儲(chǔ)在存儲(chǔ)器160(或者其它類型的存儲(chǔ)介質(zhì))中。
移動(dòng)通信模塊112將無(wú)線電信號(hào)發(fā)送到基站(例如,接入點(diǎn)、節(jié)點(diǎn)B等等)、外部終端以及服務(wù)器中的至少一個(gè)和/或從其接收無(wú)線電信號(hào)。這樣的無(wú)線電信號(hào)可以包括語(yǔ)音通話信號(hào)、視頻通話信號(hào)、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。
無(wú)線互聯(lián)網(wǎng)模塊113支持移動(dòng)終端的無(wú)線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無(wú)線互聯(lián)網(wǎng)接入技術(shù)可以包括WLAN(無(wú)線LAN)(Wi-Fi)、Wibro(無(wú)線寬帶)、Wimax(全球微波互聯(lián)接入)、HSDPA(高速下行鏈路分組接入)等等。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍(lán)牙TM、射頻識(shí)別(RFID)、紅外數(shù)據(jù)協(xié)會(huì)(IrDA)、超寬帶(UWB)、紫蜂TM等等。
位置信息模塊115是用于檢查或獲取移動(dòng)終端的位置信息的模塊。位置信息模塊115的典型示例是GPS(全球定位系統(tǒng))。根據(jù)當(dāng)前的技術(shù),GPS模塊115計(jì)算來(lái)自三個(gè)或更多衛(wèi)星的距離信息和準(zhǔn)確的時(shí)間信息并且對(duì)于計(jì)算的信息應(yīng)用三角測(cè)量法,從而根據(jù)經(jīng)度、緯度和高度準(zhǔn)確地計(jì)算三維當(dāng)前位置信息。當(dāng)前,用于計(jì)算位置和時(shí)間信息的方法使用三顆衛(wèi)星并且通過使用另外的一顆衛(wèi)星校正計(jì)算出的位置和時(shí)間信息的誤差。此外,GPS模塊115能夠通過實(shí)時(shí)地連續(xù)計(jì)算當(dāng)前位置信息來(lái)計(jì)算速度信息。
A/V輸入單元120用于接收音頻或視頻信號(hào)。A/V輸入單元120可以包括相機(jī)121和麥克風(fēng)122,相機(jī)121對(duì)在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機(jī)121處理后的圖像幀可以存儲(chǔ)在存儲(chǔ)器160(或其它存儲(chǔ)介質(zhì))中或者經(jīng)由無(wú)線通信單元110進(jìn)行發(fā)送,可以根據(jù)移動(dòng)終端的構(gòu)造提供兩個(gè)或更多相機(jī)121。麥克風(fēng)122可以在電話通話模式、記錄模式、語(yǔ)音識(shí)別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)122接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語(yǔ)音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動(dòng)通信模塊112發(fā)送到移動(dòng)通信基站的格式輸出。麥克風(fēng)122可以實(shí)施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號(hào)的過程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動(dòng)終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋?zhàn)衅⒂|摸板(例如,檢測(cè)由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時(shí),可以形成觸摸屏。
感測(cè)單元140檢測(cè)移動(dòng)終端100的當(dāng)前狀態(tài),(例如,移動(dòng)終端100的打開或關(guān)閉狀態(tài))、移動(dòng)終端100的位置、用戶對(duì)于移動(dòng)終端100的接觸(即,觸摸輸入)的有無(wú)、移動(dòng)終端100的取向、移動(dòng)終端100的加速或減速移動(dòng)和方向等等,并且生成用于控制移動(dòng)終端100的操作的命令或信號(hào)。例如,當(dāng)移動(dòng)終端100實(shí)施為滑動(dòng)型移動(dòng)電話時(shí),感測(cè)單元140可以感測(cè)該滑動(dòng)型電話是打開還是關(guān)閉。另外,感測(cè)單元140能夠檢測(cè)電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。感測(cè)單元140可以包括接近傳感器141將在下面結(jié)合觸摸屏來(lái)對(duì)此進(jìn)行描述。
接口單元170用作至少一個(gè)外部裝置與移動(dòng)終端100連接可以通過的接口。例如,外部裝置可以包括有線或無(wú)線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無(wú)線數(shù)據(jù)端口、存儲(chǔ)卡端口、用于連接具有識(shí)別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機(jī)端口等等。識(shí)別模塊可以是存儲(chǔ)用于驗(yàn)證用戶使用移動(dòng)終端100的各種信息并且可以包括用戶識(shí)別模塊(UIM)、客戶識(shí)別模塊(SIM)、通用客戶識(shí)別模塊(USIM)等等。另外,具有識(shí)別模塊的裝置(下面稱為"識(shí)別裝置")可以采取智能卡的形式,因此,識(shí)別裝置可以經(jīng)由端口或其它連接裝置與移動(dòng)終端100連接。接口單元170可以用于接收來(lái)自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿?dòng)終端100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在移動(dòng)終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當(dāng)移動(dòng)終端100與外部底座連接時(shí),接口單元170可以用作允許通過其將電力從底座提供到移動(dòng)終端100的路徑或者可以用作允許從底座輸入的各種命令信號(hào)通過其傳輸?shù)揭苿?dòng)終端的路徑。從底座輸入的各種命令信號(hào)或電力可以用作用于識(shí)別移動(dòng)終端是否準(zhǔn)確地安裝在底座上的信號(hào)。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(hào)(例如,音頻信號(hào)、視頻信號(hào)、警報(bào)信號(hào)、振動(dòng)信號(hào)等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報(bào)單元153等等。
顯示單元151可以顯示在移動(dòng)終端100中處理的信息。例如,當(dāng)移動(dòng)終端100處于電話通話模式時(shí),顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(UI)或圖形用戶界面(GUI)。當(dāng)移動(dòng)終端100處于視頻通話模式或者圖像捕獲模式時(shí),顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的UI或GUI等等。
同時(shí),當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管LCD(TFT-LCD)、有機(jī)發(fā)光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機(jī)發(fā)光二極管)顯示器等等。根據(jù)特定想要的實(shí)施方式,移動(dòng)終端100可以包括兩個(gè)或更多顯示單元(或其它顯示裝置),例如,移動(dòng)終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測(cè)觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動(dòng)終端處于呼叫信號(hào)接收模式、通話模式、記錄模式、語(yǔ)音識(shí)別模式、廣播接收模式等等模式下時(shí),將無(wú)線通信單元110接收的或者在存儲(chǔ)器160中存儲(chǔ)的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號(hào)并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動(dòng)終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號(hào)接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚(yáng)聲器、蜂鳴器等等。
警報(bào)單元153可以提供輸出以將事件的發(fā)生通知給移動(dòng)終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號(hào)輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報(bào)單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報(bào)單元153可以以振動(dòng)的形式提供輸出,當(dāng)接收到呼叫、消息或一些其它進(jìn)入通信(Incoming Communication)時(shí),警報(bào)單元153可以提供觸覺輸出(例如,振動(dòng))以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動(dòng)電話處于用戶的口袋中時(shí),用戶也能夠識(shí)別出各種事件的發(fā)生。警報(bào)單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。
存儲(chǔ)器160可以存儲(chǔ)由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲(chǔ)已經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲(chǔ)器160可以存儲(chǔ)關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動(dòng)和音頻信號(hào)的數(shù)據(jù)。
存儲(chǔ)器160可以包括至少一種類型的存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲(chǔ)器(例如,SD或DX存儲(chǔ)器等等)、隨機(jī)訪問存儲(chǔ)器(RAM)、靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、可編程只讀存儲(chǔ)器(PROM)、磁性存儲(chǔ)器、磁盤、光盤等等。而且,移動(dòng)終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲(chǔ)器160的存儲(chǔ)功能的網(wǎng)絡(luò)存儲(chǔ)裝置協(xié)作。
控制器180通常控制移動(dòng)終端的總體操作。例如,控制器180執(zhí)行與語(yǔ)音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊181,多媒體模塊181可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識(shí)別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識(shí)別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)施。對(duì)于硬件實(shí)施,這里描述的實(shí)施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來(lái)實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器180中實(shí)施。對(duì)于軟件實(shí)施,諸如過程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來(lái)實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z(yǔ)言編寫的軟件應(yīng)用程序(或程序)來(lái)實(shí)施,軟件代碼可以存儲(chǔ)在存儲(chǔ)器160中并且由控制器180執(zhí)行。
至此,已經(jīng)按照其功能描述了移動(dòng)終端。下面,為了簡(jiǎn)要起見,將描述諸如折疊型、直板型、擺動(dòng)型、滑動(dòng)型移動(dòng)終端等等的各種類型的移動(dòng)終端中的滑動(dòng)型移動(dòng)終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的移動(dòng)終端,并且不限于滑動(dòng)型移動(dòng)終端。
如圖1中所示的移動(dòng)終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無(wú)線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來(lái)操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動(dòng)終端能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時(shí)分多址(TDMA)、碼分多址(CDMA)和通用移動(dòng)通信系統(tǒng)(UMTS)(特別地,長(zhǎng)期演進(jìn)(LTE))、全球移動(dòng)通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。
參考圖2,CDMA無(wú)線通信系統(tǒng)可以包括多個(gè)移動(dòng)終端100、多個(gè)基站(BS)270、基站控制器(BSC)275和移動(dòng)交換中心(MSC)280。MSC280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(PSTN)290形成接口。MSC280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的BSC275形成接口?;爻叹€路可以根據(jù)若干已知的接口中的任一種來(lái)構(gòu)造,所述接口包括例如E1/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統(tǒng)可以包括多個(gè)BSC275。
每個(gè)BS270可以服務(wù)一個(gè)或多個(gè)分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個(gè)分區(qū)放射狀地遠(yuǎn)離BS270?;蛘?,每個(gè)分區(qū)可以由用于分集接收的兩個(gè)或更多天線覆蓋。每個(gè)BS270可以被構(gòu)造為支持多個(gè)頻率分配,并且每個(gè)頻率分配具有特定頻譜(例如,1.25MHz,5MHz等等)。
分區(qū)與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發(fā)器子系統(tǒng)(BTS)或者其它等效術(shù)語(yǔ)。在這樣的情況下,術(shù)語(yǔ)"基站"可以用于籠統(tǒng)地表示單個(gè)BSC275和至少一個(gè)BS270?;疽部梢员环Q為"蜂窩站"。或者,特定BS270的各分區(qū)可以被稱為多個(gè)蜂窩站。
如圖2中所示,廣播發(fā)射器(BT)295將廣播信號(hào)發(fā)送給在系統(tǒng)內(nèi)操作的移動(dòng)終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動(dòng)終端100處以接收由BT295發(fā)送的廣播信號(hào)。在圖2中,示出了幾個(gè)全球定位系統(tǒng)(GPS)衛(wèi)星300。衛(wèi)星300幫助定位多個(gè)移動(dòng)終端100中的至少一個(gè)。
在圖2中,描繪了多個(gè)衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的GPS模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代GPS跟蹤技術(shù)或者在GPS跟蹤技術(shù)之外,可以使用可以跟蹤移動(dòng)終端的位置的其它技術(shù)。另外,至少一個(gè)GPS衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星DMB傳輸。
作為無(wú)線通信系統(tǒng)的一個(gè)典型操作,BS270接收來(lái)自各種移動(dòng)終端100的反向鏈路信號(hào)。移動(dòng)終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個(gè)反向鏈路信號(hào)被在特定BS270內(nèi)進(jìn)行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的BSC275。BSC提供通話資源分配和包括BS270之間的軟切換過程的協(xié)調(diào)的移動(dòng)管理功能。BSC275還將接收到的數(shù)據(jù)路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務(wù)。類似地,PSTN290與MSC280形成接口,MSC280與BSC275形成接口,并且BSC275相應(yīng)地控制BS270以將正向鏈路信號(hào)發(fā)送到移動(dòng)終端100。
基于上述移動(dòng)終端硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明方法各個(gè)實(shí)施例。
本發(fā)明實(shí)施例提供一種文件存儲(chǔ)方法,圖3為本發(fā)明實(shí)施例提供的一種文件存儲(chǔ)方法的流程示意圖,如圖3所示,本實(shí)施例提供的文件存儲(chǔ)方法包括:
步驟301、將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。
需要說(shuō)明的是,步驟301將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)可以由文件存儲(chǔ)裝置來(lái)實(shí)現(xiàn)。
具體的,預(yù)設(shè)類型可以是能夠生成樹結(jié)構(gòu)的類型,例如,SynTree[string,*syn]類型,其中,string表示第一待存儲(chǔ)文件的第i行數(shù)據(jù)中的第j個(gè)數(shù)據(jù),*syn為指向第i行數(shù)據(jù)中的第j個(gè)數(shù)據(jù)的指針;i、j均為正整數(shù)。將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)是指將第一待存儲(chǔ)文件的每個(gè)數(shù)據(jù)都以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。舉例來(lái)說(shuō),假設(shè)預(yù)設(shè)類型為SynTree[string,*syn]類型,第一待存儲(chǔ)文件包含一行內(nèi)容,該行內(nèi)容為“每添加一行”,則說(shuō)明第一待存儲(chǔ)文件的需要存儲(chǔ)的數(shù)據(jù)為“每添加一行”,將數(shù)據(jù)“每”以SynTree[string,*syn]類型進(jìn)行存儲(chǔ),其中string存儲(chǔ)數(shù)據(jù)“每”,*syn為指向所存儲(chǔ)數(shù)據(jù)“每”的指針;將數(shù)據(jù)“添”以SynTree[string,*syn]類型進(jìn)行存儲(chǔ),其中string存儲(chǔ)數(shù)據(jù)“添”,*syn為指向所存儲(chǔ)數(shù)據(jù)“添”的指針;將數(shù)據(jù)“加”以SynTree[string,*syn]類型進(jìn)行存儲(chǔ),其中string存儲(chǔ)數(shù)據(jù)“加”,*syn為指向所存儲(chǔ)數(shù)據(jù)“加”的指針;將數(shù)據(jù)“一”以SynTree[string,*syn]類型進(jìn)行存儲(chǔ),其中string存儲(chǔ)數(shù)據(jù)“一”,*syn為指向所存儲(chǔ)數(shù)據(jù)“一”的指針;將數(shù)據(jù)“行”以SynTree[string,*syn]類型進(jìn)行存儲(chǔ),其中string存儲(chǔ)數(shù)據(jù)“行”,*syn為指向所存儲(chǔ)數(shù)據(jù)“行”的指針。
步驟302、根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)。
需要說(shuō)明的是,步驟302根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)可以由文件存儲(chǔ)裝置來(lái)實(shí)現(xiàn)。
具體的,圖4為本發(fā)明實(shí)施例提供的一種第一樹結(jié)構(gòu)生成方法的示意圖,假設(shè)預(yù)設(shè)類型為SynTree[string,*syn]類型,以SynTree[string,*syn]類型存儲(chǔ)的第一待存儲(chǔ)文件的第一行數(shù)據(jù)分別為“每”、“添”、“加”、“一”、“行”,以SynTree[string,*syn]類型存儲(chǔ)的第一待存儲(chǔ)文件的第二行數(shù)據(jù)分別為“任”、“意”、“刪”、“除”、“一”、“行”,如圖4所示,首先存儲(chǔ)第一待存儲(chǔ)文件的第一行數(shù)據(jù),具體過程包括:在根節(jié)點(diǎn)下以由上至下的順序依次創(chuàng)建個(gè)數(shù)與第一行數(shù)據(jù)個(gè)數(shù)相同的子節(jié)點(diǎn)并依次存儲(chǔ)第一行數(shù)據(jù)的“每”、“添”、“加”、“一”、“行”;然后存儲(chǔ)第一待存儲(chǔ)文件的第二行數(shù)據(jù),具體過程包括:由于第二行數(shù)據(jù)中的第一個(gè)數(shù)據(jù)為“任”,不同于第一行數(shù)據(jù)中的第一個(gè)數(shù)據(jù)“每”,因此在根節(jié)點(diǎn)下以由上至下的順序依次創(chuàng)建個(gè)數(shù)與第二行數(shù)據(jù)個(gè)數(shù)相同的子節(jié)點(diǎn)并依次存儲(chǔ)第二行數(shù)據(jù)的“任”、“意”、“刪”、“除”、“一”、“行”,由此生成第一樹結(jié)構(gòu)。
圖5為本發(fā)明實(shí)施例提供的另一種第一樹結(jié)構(gòu)生成方法的示意圖,仍然假設(shè)預(yù)設(shè)類型為SynTree[string,*syn]類型,以SynTree[string,*syn]類型存儲(chǔ)的第一待存儲(chǔ)文件的第一行數(shù)據(jù)分別為“每”、“添”、“加”、“一”、“行”,以SynTree[string,*syn]類型存儲(chǔ)的第一待存儲(chǔ)文件的第二行數(shù)據(jù)分別為每”、“添”、“加”、“二”、“行”,如圖5所示,首先存儲(chǔ)第一待存儲(chǔ)文件的第一行數(shù)據(jù),具體過程包括:在根節(jié)點(diǎn)下以由上至下的順序依次創(chuàng)建個(gè)數(shù)與第一行數(shù)據(jù)個(gè)數(shù)相同的子節(jié)點(diǎn)并依次存儲(chǔ)第一行數(shù)據(jù)的“每”、“添”、“加”、“一”、“行”;然后存儲(chǔ)第一待存儲(chǔ)文件的第二行數(shù)據(jù),具體過程包括:由于第二行數(shù)據(jù)中的第一個(gè)數(shù)據(jù)為“每”,與第一行數(shù)據(jù)的第一個(gè)數(shù)據(jù)“每”相同,第二行數(shù)據(jù)中的第二個(gè)數(shù)據(jù)為“添”與第一行數(shù)據(jù)的第二個(gè)數(shù)據(jù)“添”相同,第二行數(shù)據(jù)中的第三個(gè)數(shù)據(jù)為“加”與第一行數(shù)據(jù)的第三個(gè)數(shù)據(jù)“加”相同,第二行數(shù)據(jù)中的第四個(gè)數(shù)據(jù)為“二”與第一行數(shù)據(jù)的第四個(gè)數(shù)據(jù)“一”不同,因此在“加”對(duì)應(yīng)的子節(jié)點(diǎn)下以由上至下的順序依次創(chuàng)建二個(gè)子節(jié)點(diǎn)(第二行數(shù)據(jù)與第一行數(shù)據(jù)不相同的數(shù)據(jù)個(gè)數(shù))并依次存儲(chǔ)第二行數(shù)據(jù)的“二”、“行”。
步驟303、將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
需要說(shuō)明的是,步驟303將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)可以由文件存儲(chǔ)裝置來(lái)實(shí)現(xiàn)。
具體的,現(xiàn)有技術(shù)中Solr使用線性結(jié)構(gòu)存儲(chǔ)的String[]類型存儲(chǔ)待存儲(chǔ)文件中的數(shù)據(jù),由于該類型是線性結(jié)構(gòu),在進(jìn)行數(shù)據(jù)查詢時(shí),需要從所存儲(chǔ)的起始數(shù)據(jù)進(jìn)行查詢,直到查詢到所要查詢數(shù)據(jù),因此,查詢的時(shí)間復(fù)雜度為O(n)。而使用SynTree[string,*syn]類型存儲(chǔ)待存儲(chǔ)文件中的數(shù)據(jù),并根據(jù)以SynTree[string,*syn]類型存儲(chǔ)的待存儲(chǔ)文件的數(shù)據(jù)生成樹結(jié)構(gòu),在進(jìn)行數(shù)據(jù)查詢時(shí),只需查詢待查詢的一行數(shù)據(jù)(這里假設(shè)所要查詢的內(nèi)容是一行,多行查詢內(nèi)容的情況與一行查詢內(nèi)容的情況類似)的第一個(gè)數(shù)據(jù)是否存在于樹結(jié)構(gòu)的第一層子節(jié)點(diǎn)中,如果不存在,則直接判斷待查詢的一行數(shù)據(jù)不存在于樹結(jié)構(gòu)中,如果存在,則繼續(xù)查詢待查詢的一行數(shù)據(jù)的第二個(gè)數(shù)據(jù)是否存在于樹結(jié)構(gòu)的第二層子節(jié)點(diǎn)中…,直到最終確定所要查詢數(shù)據(jù)的最后一個(gè)數(shù)據(jù)是否存在第一樹結(jié)構(gòu)中,因此,查詢的時(shí)間復(fù)雜度為O(logmn),m是單個(gè)節(jié)點(diǎn)下子節(jié)點(diǎn)的最大個(gè)數(shù),明顯優(yōu)于之前的時(shí)間復(fù)雜度O(n)。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)方法,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率。
圖6為本發(fā)明實(shí)施例提供的另一種文件存儲(chǔ)方法的流程示意圖,如圖6所示,本實(shí)施例提供的文件存儲(chǔ)方法包括:
步驟401、文件存儲(chǔ)裝置將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。
步驟402、文件存儲(chǔ)裝置根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)第一待存儲(chǔ)文件的第k行數(shù)據(jù);k和N為正整數(shù)。
需要說(shuō)明的是,所生成實(shí)例的個(gè)數(shù)等于第一待存儲(chǔ)文件中的數(shù)據(jù)行數(shù),也就是說(shuō),第一待存儲(chǔ)文件包含多少行數(shù)據(jù),所生成實(shí)例的個(gè)數(shù)就有多少個(gè)。
具體的,假設(shè)第一待存儲(chǔ)文件包含二行數(shù)據(jù),這兩行數(shù)據(jù)分別為:“每添加一行”和“任意刪除一行”,那么“每”、“添”、“加”、“一”、“行”以預(yù)設(shè)類型分別存儲(chǔ)后,生成第一個(gè)實(shí)例;“任”、“意”、“刪”、“除”、“一”、“行”以預(yù)設(shè)類型分別存儲(chǔ)后,生成第二個(gè)實(shí)例。
步驟403、文件存儲(chǔ)裝置根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu);其中,第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
具體的,預(yù)先創(chuàng)建第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為空節(jié)點(diǎn),在該根節(jié)點(diǎn)下根據(jù)N個(gè)實(shí)例依次添加子節(jié)點(diǎn),得到第一樹結(jié)構(gòu)。
步驟404、文件存儲(chǔ)裝置將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
需要說(shuō)明的是,本實(shí)施例中與上述實(shí)施例相同步驟的解釋可以參照上述實(shí)施例中的描述,此處不再贅述。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)方法,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第二層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到所要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率。
圖7為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)方法的流程示意圖,如圖7所示,本實(shí)施例提供的文件存儲(chǔ)方法包括:
步驟501、文件存儲(chǔ)裝置將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。
步驟502、文件存儲(chǔ)裝置根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)第一待存儲(chǔ)文件的第k行數(shù)據(jù);k和N為正整數(shù)。
步驟503、文件存儲(chǔ)裝置根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu);其中,第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
步驟504、文件存儲(chǔ)裝置將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
步驟505、文件存儲(chǔ)裝置依次讀取第二待存儲(chǔ)文件的數(shù)據(jù)。
需要說(shuō)明的是,第二待存儲(chǔ)文件用以表示后續(xù)進(jìn)行存儲(chǔ)的待存儲(chǔ)文件,第二待存儲(chǔ)文件可以指一個(gè)待存儲(chǔ)文件,也可以指多個(gè)待存儲(chǔ)文件,本發(fā)明對(duì)此不作限制。
步驟506、文件存儲(chǔ)裝置根據(jù)所讀取的第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)。
需要說(shuō)明的是,第二樹結(jié)構(gòu)是根據(jù)第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上進(jìn)行擴(kuò)充而生成的。
具體的,第二待存儲(chǔ)文件中可能與之前存儲(chǔ)的第一待存儲(chǔ)文件存在一部分相同的數(shù)據(jù)內(nèi)容,為了防止相同的數(shù)據(jù)內(nèi)容存儲(chǔ)兩遍而占用內(nèi)存,需要對(duì)后續(xù)存儲(chǔ)的第二待存儲(chǔ)文件進(jìn)行比較去重,去除重復(fù)的內(nèi)容,因此需要在由第一待存儲(chǔ)文件生成的第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)。
步驟507、文件存儲(chǔ)裝置將第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
需要說(shuō)明的是,本實(shí)施例中與上述實(shí)施例相同步驟的解釋可以參照上述實(shí)施例中的描述,此處不再贅述。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)方法,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);當(dāng)存儲(chǔ)第二待存儲(chǔ)文件時(shí),依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);根據(jù)所讀取的第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率;在后續(xù)的文件存儲(chǔ)時(shí),只需根據(jù)待存儲(chǔ)文件中每行數(shù)據(jù)的第一樹結(jié)構(gòu)根節(jié)點(diǎn)下的子節(jié)點(diǎn)依次進(jìn)行查詢,若查詢不到,則在第一樹結(jié)構(gòu)中添加新的子節(jié)點(diǎn),最終將待存儲(chǔ)文件進(jìn)行存儲(chǔ),從而避免了以線性結(jié)構(gòu)進(jìn)行文件存儲(chǔ)造成的文件存儲(chǔ)效率低下的問題,提高了文件存儲(chǔ)速度,同時(shí)減少內(nèi)存占用空間。
圖8為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)方法的流程示意圖,如圖8所示,本實(shí)施例提供的文件存儲(chǔ)方法包括:
步驟601、文件存儲(chǔ)裝置將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。
步驟602、文件存儲(chǔ)裝置根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)第一待存儲(chǔ)文件的第k行數(shù)據(jù);k和N為正整數(shù)。
步驟603、文件存儲(chǔ)裝置根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu);其中,第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
步驟604、文件存儲(chǔ)裝置將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
步驟605、文件存儲(chǔ)裝置依次讀取第二待存儲(chǔ)文件的數(shù)據(jù)。
步驟606、文件存儲(chǔ)裝置根據(jù)所讀取的第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)中進(jìn)行查詢;其中,i為正整數(shù)。
具體的,步驟606根據(jù)所讀取的第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)中進(jìn)行查詢指的是根據(jù)所讀取的第二待存儲(chǔ)文件的每一行數(shù)據(jù)在第一樹結(jié)構(gòu)中進(jìn)行查詢,即第二待存儲(chǔ)文件包含多少行數(shù)據(jù)內(nèi)容,就在第一樹結(jié)構(gòu)中查詢多少次,每次查詢過程包括:根據(jù)所查詢第i行數(shù)據(jù)內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的第i行數(shù)據(jù)內(nèi)容查詢不到,若能夠查詢到第一個(gè)數(shù)據(jù),再根據(jù)所要查詢的第i行數(shù)據(jù)內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第二層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的第i行數(shù)據(jù)內(nèi)容或查詢不到所要查詢的第i行數(shù)據(jù)內(nèi)容。
步驟607、若第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)中查詢不到,文件存儲(chǔ)裝置根據(jù)第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)的根節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成第二樹結(jié)構(gòu)。
具體的,步驟607包括:若第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第1個(gè)至第j個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中能夠查詢到,則根據(jù)第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第j+1個(gè)至最后一個(gè)數(shù)據(jù)在第i行第j個(gè)數(shù)據(jù)所對(duì)應(yīng)的節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成第二樹結(jié)構(gòu);其中,j為正整數(shù)。
具體的,圖9為本發(fā)明實(shí)施例提供的一種第二樹結(jié)構(gòu)生成方法的示意圖,如圖8、9所示,第一樹結(jié)構(gòu)存儲(chǔ)的數(shù)據(jù)內(nèi)容為“每添加一行”和“任意刪除一行”,假設(shè)第二待存儲(chǔ)文件中包含一行數(shù)據(jù)內(nèi)容,該行數(shù)據(jù)內(nèi)容為“每添加兩行”,則根據(jù)數(shù)據(jù)內(nèi)容“每添加兩行”在第一樹結(jié)構(gòu)中進(jìn)行查詢,由于“每添加兩行”并不存在于第一樹結(jié)構(gòu)中,所以查詢不到,但是又由于“每添加”能夠在第一樹結(jié)構(gòu)中查詢到,所以在存儲(chǔ)“加”的子節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn)并存儲(chǔ)“二”、“行”,從而得到第二樹結(jié)構(gòu)。
步驟608、文件存儲(chǔ)裝置將第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
需要說(shuō)明的是,本實(shí)施例中與上述實(shí)施例相同步驟的解釋可以參照上述實(shí)施例中的描述,此處不再贅述。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)方法,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);當(dāng)存儲(chǔ)第二待存儲(chǔ)文件時(shí),依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);根據(jù)所讀取的第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率;在后續(xù)的文件存儲(chǔ)時(shí),只需根據(jù)待存儲(chǔ)文件中每行數(shù)據(jù)的第一樹結(jié)構(gòu)根節(jié)點(diǎn)下的子節(jié)點(diǎn)依次進(jìn)行查詢,若查詢不到,則在第一樹結(jié)構(gòu)中添加新的子節(jié)點(diǎn),最終將待存儲(chǔ)文件進(jìn)行存儲(chǔ),從而避免了以線性結(jié)構(gòu)進(jìn)行文件存儲(chǔ)造成的文件存儲(chǔ)效率低下的問題,提高了文件存儲(chǔ)速度,同時(shí)減少內(nèi)存占用空間。
本發(fā)明提供的文件存儲(chǔ)方法可以通過以下偽代碼實(shí)現(xiàn),假設(shè)首先存儲(chǔ)一個(gè)文件A,文件A生成的樹結(jié)構(gòu)為A樹,再存儲(chǔ)一個(gè)文件B,經(jīng)過對(duì)文件B與文件A比較去重后,在A樹的基礎(chǔ)上生成B樹,偽代碼如下:
本發(fā)明實(shí)施例提供一種文件存儲(chǔ)裝置,圖10為本發(fā)明實(shí)施例提供的一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖,如圖10所示,本實(shí)施例提供的文件存儲(chǔ)裝置7包括:
存儲(chǔ)模塊71,用于將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ)。
處理模塊72,用于根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)。
存儲(chǔ)模塊71,還用于將第一樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)裝置,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率。
進(jìn)一步,處理模塊72,具體用于根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;其中,第k個(gè)實(shí)例對(duì)應(yīng)第一待存儲(chǔ)文件的第k行數(shù)據(jù);k和N為正整數(shù);根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu);其中,第一樹結(jié)構(gòu)的根節(jié)點(diǎn)為預(yù)先創(chuàng)建的空節(jié)點(diǎn)。
圖11為本發(fā)明實(shí)施例提供的另一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖,如圖11所示,本實(shí)施例提供的文件存儲(chǔ)裝置7還包括:
讀取模塊73,用于依次讀取第二待存儲(chǔ)文件的數(shù)據(jù)。
處理模塊72,還用于根據(jù)所讀取的第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)。
存儲(chǔ)模塊71,還用于將第二樹結(jié)構(gòu)進(jìn)行存儲(chǔ)。
圖12為本發(fā)明實(shí)施例提供的又一種文件存儲(chǔ)裝置的結(jié)構(gòu)示意圖,如圖12所示,處理模塊72包括:
查詢單元721,用于根據(jù)所讀取的第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)中進(jìn)行查詢;其中,i為正整數(shù)。
處理單元722,用于若第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)中查詢不到,根據(jù)第二待存儲(chǔ)文件的第i行數(shù)據(jù)在第一樹結(jié)構(gòu)的根節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成第二樹結(jié)構(gòu)。
進(jìn)一步,處理單元722,具體用于若第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第1個(gè)至第j個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中能夠查詢到,則根據(jù)第二待存儲(chǔ)文件的第i行數(shù)據(jù)中的第j+1個(gè)至最后一個(gè)數(shù)據(jù)在第i行第j個(gè)數(shù)據(jù)所對(duì)應(yīng)的節(jié)點(diǎn)下依次創(chuàng)建子節(jié)點(diǎn),并生成第二樹結(jié)構(gòu);其中,j為正整數(shù)。
本發(fā)明實(shí)施例所提供的文件存儲(chǔ)裝置,將第一待存儲(chǔ)文件的數(shù)據(jù)以預(yù)設(shè)類型進(jìn)行存儲(chǔ);根據(jù)以預(yù)設(shè)類型存儲(chǔ)的第一待存儲(chǔ)文件的數(shù)據(jù)生成N個(gè)實(shí)例;根據(jù)N個(gè)實(shí)例生成第一樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);當(dāng)存儲(chǔ)第二待存儲(chǔ)文件時(shí),依次讀取第二待存儲(chǔ)文件的數(shù)據(jù);根據(jù)所讀取的第二待存儲(chǔ)文件的數(shù)據(jù)在第一樹結(jié)構(gòu)的基礎(chǔ)上生成第二樹結(jié)構(gòu)并進(jìn)行存儲(chǔ);這樣在進(jìn)行數(shù)據(jù)查詢時(shí),只需根據(jù)所查詢內(nèi)容的第一個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,若查詢不到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),則直接可以判斷所要查詢的內(nèi)容查詢不到,若能夠查詢到所查詢內(nèi)容的第一個(gè)數(shù)據(jù),再根據(jù)所查詢內(nèi)容的第二個(gè)數(shù)據(jù)在第一樹結(jié)構(gòu)中的第一層子節(jié)點(diǎn)中進(jìn)行查詢,直到最終查詢到所要查詢的內(nèi)容或查詢不到索要查詢的內(nèi)容,從而提高了數(shù)據(jù)查詢效率;在后續(xù)的文件存儲(chǔ)時(shí),只需根據(jù)待存儲(chǔ)文件中每行數(shù)據(jù)的第一樹結(jié)構(gòu)根節(jié)點(diǎn)下的子節(jié)點(diǎn)依次進(jìn)行查詢,若查詢不到,則在第一樹結(jié)構(gòu)中添加新的子節(jié)點(diǎn),最終將待存儲(chǔ)文件進(jìn)行存儲(chǔ),從而避免了以線性結(jié)構(gòu)進(jìn)行文件存儲(chǔ)造成的文件存儲(chǔ)效率低下的問題,提高了文件存儲(chǔ)速度,同時(shí)減少內(nèi)存占用空間。
在實(shí)際應(yīng)用中,所述存儲(chǔ)模塊71、處理模塊72、查詢單元721、處理單元722、讀取模塊73均可由位于文件存儲(chǔ)裝置中的中央處理器(Central Processing Unit,CPU)、微處理器(Micro Processor Unit,MPU)、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)或現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)等實(shí)現(xiàn)。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所描述的方法。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。