本發(fā)明涉及搜索引擎技術(shù)領(lǐng)域,特別是涉及一種文件處理方法和裝置。
背景技術(shù):
搜索引擎在查找相應(yīng)的文件時,需要根據(jù)用戶輸入的關(guān)鍵字從索引目錄中進(jìn)行匹配,從而得到最終的檢索結(jié)果。本申請的發(fā)明人在實(shí)施本實(shí)施例的過程中發(fā)現(xiàn),由于索引序列目錄的文件一般較大,層級也較多,且因?yàn)閮?nèi)存分配的固有原因,導(dǎo)致內(nèi)存的碎片化問題較為突出,從而導(dǎo)致搜索響應(yīng)速度慢,搜索引擎在搜索文件時的搜索效率較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種文件處理方法和裝置,以解決搜索引擎搜索文件的效率較低的問題。
為了解決上述問題,本發(fā)明公開了一種文件處理方法,包括步驟:
對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;
將所述第二文件進(jìn)行反序列化處理,得到第三文件;
將所述第三文件進(jìn)行扁平化處理,得到第四文件;
將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。
可選的,所述對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,包括:
遍歷所述第一文件;
將所述第一文件中數(shù)據(jù)量超出預(yù)設(shè)閾值的數(shù)據(jù)對象進(jìn)行分片處理,得到所述第二文件。
可選的,所述將所述第二文件進(jìn)行反序列化處理,包括:
打開所述第二文件中的字節(jié)流進(jìn)行對象重構(gòu),得到所述第三文件。
可選的,所述將所述第三文件進(jìn)行扁平化處理,包括:
讀取所述第三文件的索引層級中的所有數(shù)據(jù);
將所述所有數(shù)據(jù)按預(yù)設(shè)規(guī)律進(jìn)行排列,得到所述第四文件。
可選的,還包括步驟:
響應(yīng)于用戶的搜索請求,加載所述搜索請求對應(yīng)的扁平化的目標(biāo)文件;
基于所述扁平化的目標(biāo)文件進(jìn)行匹配所述搜索請求的目標(biāo)數(shù)據(jù)。
相應(yīng)的,為了保證上述方法的實(shí)施,本發(fā)明還提供了一種文件處理裝置,包括:
分片處理模塊,用于對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;
反序列化模塊,用于將所述第二文件進(jìn)行反序列化處理,得到第三文件;
扁平處理模塊,用于將所述第三文件進(jìn)行扁平化處理,得到第四文件;
文件合并模塊,用于將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。
可選的,所述分片處理模塊包括:
文件查閱單元,用于遍歷所述第一文件;
數(shù)據(jù)分割單元,用于將所述第一文件中數(shù)據(jù)量超出預(yù)設(shè)閾值的數(shù)據(jù)對象進(jìn)行分片處理,得到所述第二文件。
可選的,所述反序列化模塊包括:
文件重構(gòu)單元,用于打開所述第二文件中的字節(jié)流進(jìn)行對象重構(gòu),得到所述第三文件。
可選的,所述扁平處理模塊包括:
數(shù)據(jù)讀取單元,用于讀取所述第三文件的索引層級中的所有數(shù)據(jù);
數(shù)據(jù)排列單元,用于將所述所有數(shù)據(jù)按預(yù)設(shè)規(guī)律進(jìn)行排列,得到所述第四文件。
可選的,還包括:
目標(biāo)文件加載模塊,用于響應(yīng)于用戶的搜索請求,加載所述搜索請求對應(yīng)的扁平化的目標(biāo)文件;
目標(biāo)數(shù)據(jù)匹配模塊,用于基于所述扁平化的目標(biāo)文件進(jìn)行匹配所述搜索請求的目標(biāo)數(shù)據(jù)。
從上述技術(shù)方案可以看出,本發(fā)明實(shí)施例提供了一種文件處理方法和裝置,該方法和裝置具體為對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;將所述第二文件進(jìn)行反序列化處理,得到第三文件;將所述第三文件進(jìn)行扁平化處理,得到第四文件;將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。經(jīng)過上述處理后得到的目標(biāo)文件是一種扁平化結(jié)構(gòu)的數(shù)據(jù),方便搜索引擎直接以數(shù)據(jù)指針進(jìn)行查找,而不用分層逐步檢索,從而提高了搜索效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種文件處理方法實(shí)施例的步驟流程圖;
圖2為本發(fā)明提供的另一種文件處理方法實(shí)施例的步驟流程圖;
圖3為本發(fā)明提供的一種文件處理裝置實(shí)施例的結(jié)構(gòu)框圖;
圖4為本發(fā)明提供的另一種文件處理裝置實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
圖1為本發(fā)明提供的一種文件處理方法實(shí)施例的步驟流程圖。
參照圖1所示,本實(shí)施例提供的文件處理方法用于對文件對象進(jìn)行優(yōu)化處理,從而有利于搜索引擎進(jìn)行搜索查找目標(biāo)數(shù)據(jù),具體方法包括如下步驟:
S101:對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理。
預(yù)設(shè)條件為文件超出預(yù)設(shè)的數(shù)據(jù)量,即第一文件較大的情況下,將該較大的第一文件進(jìn)行分片處理,從而得到多個第二文件。在具體分片時,不是將所有需要加載的數(shù)據(jù)對象進(jìn)行分片處理,而是將數(shù)據(jù)量較大的數(shù)據(jù)對象進(jìn)行分片。
S102:將第二文件進(jìn)行反序列化處理。
即得到多個第二文件后,將每個第二文件進(jìn)行反序列化處理,從而得到序列化的第三文件,其實(shí)反序列化實(shí)質(zhì)上時對數(shù)據(jù)對象進(jìn)行序列化處理的一種情況。
S103:將第三文件進(jìn)行扁平化處理。
在將第二文件經(jīng)過反序列化工具處理得到該第三文件后,對的第三文件進(jìn)一步處理,具體為對分層結(jié)構(gòu)的第三文件進(jìn)行扁平化處理,減少分層,從而得到扁平化處理后的第四文件。
S104:將第四文件進(jìn)行合并處理,得到扁平化的目標(biāo)文件。
在將每個第四文件進(jìn)行扁平化處理后,將經(jīng)過扁平化處理的第四文件進(jìn)行拼接合成,從而得到目標(biāo)文件。由于第四文件為已經(jīng)經(jīng)過了扁平化處理,從而該通過第四文件拼接來的目標(biāo)文件也是扁平化文件,從而方便搜索引擎查找目標(biāo)數(shù)據(jù)。
從上述技術(shù)方案可以看出,本實(shí)施例提供了一種文件處理方法,該方法具體為對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;將所述第二文件進(jìn)行反序列化處理,得到第三文件;將所述第三文件進(jìn)行扁平化處理,得到第四文件;將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。經(jīng)過上述處理后得到的目標(biāo)文件是一種扁平化結(jié)構(gòu)的數(shù)據(jù),方便搜索引擎直接以數(shù)據(jù)指針進(jìn)行查找,而不用分層逐步檢索,從而提高了搜索效率。
實(shí)施例二
圖2為本發(fā)明提供的另一種文件處理方法實(shí)施例的步驟流程圖。
參照圖2所示,本實(shí)施例提供的文件處理方法用于對文件對象進(jìn)行優(yōu)化處理,從而有利于搜索引擎進(jìn)行搜索查找目標(biāo)數(shù)據(jù),具體方法包括如下步驟:
S201:對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理。
預(yù)設(shè)條件為文件超出預(yù)設(shè)的數(shù)據(jù)量,即第一文件較大的情況下,將該較大的第一文件進(jìn)行分片處理,從而得到多個第二文件。在具體分片時,不是將所有需要加載的數(shù)據(jù)對象進(jìn)行分片處理,而是將數(shù)據(jù)量較大的數(shù)據(jù)對象進(jìn)行分片,具體過程為:
首先遍歷所有需要加載的第一文件,具體為檢索其中的每個數(shù)據(jù)對象的數(shù)據(jù)量,將所有超出預(yù)設(shè)閾值的數(shù)據(jù)對象作為待處理數(shù)據(jù)對象;
然后將篩選出的待處理數(shù)據(jù)對象進(jìn)行分片處理,從而得到相應(yīng)數(shù)據(jù)對象的多個第二文件。
數(shù)據(jù)的分片處理是指將整體數(shù)據(jù)分?jǐn)傇诙鄠€存儲設(shè)備上,從而形成多個數(shù)據(jù)分區(qū),這樣每個存儲設(shè)備的數(shù)據(jù)量相對就會小很多,以此滿足系統(tǒng)的性能需求。值得注意的是,分片處理的策略有很多,例如常見的有以下幾種:
根據(jù)ID特征:例如對記錄的ID取模,得到的結(jié)果是幾,那么這條記錄就放在編號為幾的數(shù)據(jù)分區(qū)上;
根據(jù)時間范圍:例如前100萬個數(shù)據(jù)在第1個分區(qū)中,第二個100萬數(shù)據(jù)放在第2個分區(qū)中;
基于檢索表:根據(jù)ID先去一個表內(nèi)找到它所在的分區(qū),然后再去目標(biāo)分區(qū)進(jìn)行查找。
S202:將第二文件進(jìn)行反序列化處理。
即得到多個第二文件后,將每個第二文件進(jìn)行反序列化處理,從而得到序列化的第三文件,其實(shí)反序列化實(shí)質(zhì)上時對數(shù)據(jù)對象進(jìn)行序列化處理的一種情況。
具體來說,在對第二文件的反序列化處理時,是利用基于跨平臺序列化工具FlatBuffers將第二文件中的字節(jié)流打開,然后將打開的字節(jié)流進(jìn)行對象重構(gòu),從而得到該第三文件。該工具可以通過thrift開發(fā)。
thrift是一個軟件框架,用來進(jìn)行可擴(kuò)展且跨語言的服務(wù)的開發(fā)。它結(jié)合了功能強(qiáng)大的軟件堆棧和代碼生成引擎,以構(gòu)建在C++,Java,Go,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,and OCaml這些編程語言間無縫結(jié)合的、高效的服務(wù)。
S203:將第三文件進(jìn)行扁平化處理。
在將第二文件經(jīng)過反序列化工具處理得到該第三文件后,對的第三文件進(jìn)一步處理,具體為對分層結(jié)構(gòu)的第三文件進(jìn)行扁平化處理,減少分層,從而得到扁平化處理后的第四文件。
由于第三文件是包括多層索引結(jié)構(gòu)的文件,因此如果直接檢索的話需要通過重重查找才能找到目標(biāo)數(shù)據(jù),因此如果想要提供檢索效率,則需要進(jìn)行扁平化處理,具體的處理步驟為:
首先讀取該第三文件中索引層級中的所有數(shù)據(jù);然后將所有數(shù)據(jù)按一定的規(guī)律進(jìn)行排列,使原本分層的數(shù)據(jù)平等放置在預(yù)設(shè)的內(nèi)存空間內(nèi),以方便搜索引擎利用統(tǒng)一的數(shù)據(jù)指針查找目標(biāo)數(shù)據(jù)。
S204:將第四文件進(jìn)行合并處理,得到扁平化的目標(biāo)文件。
在將每個第四文件進(jìn)行扁平化處理后,將經(jīng)過扁平化處理的第四文件進(jìn)行拼接合成,從而得到目標(biāo)文件。由于第四文件為已經(jīng)經(jīng)過了扁平化處理,從而該通過第四文件拼接來的目標(biāo)文件也是扁平化文件,從而方便搜索引擎查找目標(biāo)數(shù)據(jù)。
S205:根據(jù)用戶的搜索請求加載對應(yīng)的目標(biāo)文件。
在用戶通過搜索引擎提出相應(yīng)的搜索請求后,響應(yīng)該請求,并加載對應(yīng)于該請求的目標(biāo)文件,該目標(biāo)文件為上述處理后的扁平化結(jié)構(gòu)的目標(biāo)文件。
S206:基于該目標(biāo)文件查找與該搜索請求對應(yīng)的目標(biāo)數(shù)據(jù)。
在加載上述目標(biāo)文件后,基于該目標(biāo)文件對該搜索請求進(jìn)行匹配,查找與該請求所對應(yīng)的目標(biāo)文件中的目標(biāo)數(shù)據(jù),由于目標(biāo)文件為扁平化結(jié)構(gòu),因此搜索引擎能夠快速根據(jù)該搜索請求定位該目標(biāo)數(shù)據(jù)。
從上述技術(shù)方案可以看出,本實(shí)施例提供了另一種文件處理方法,該方法具體為對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;將所述第二文件進(jìn)行反序列化處理,得到第三文件;將所述第三文件進(jìn)行扁平化處理,得到第四文件;將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。經(jīng)過上述處理后得到的目標(biāo)文件是一種扁平化結(jié)構(gòu)的數(shù)據(jù),方便搜索引擎直接以數(shù)據(jù)指針進(jìn)行查找,而不用分層逐步檢索,從而提高了搜索效率。同時,當(dāng)用戶提出搜索請求時,加載該目標(biāo)文件,并基于該目標(biāo)文件匹配該搜索請求對應(yīng)的目標(biāo)數(shù)據(jù),由于目標(biāo)文件的扁平化結(jié)構(gòu),從而使用戶能夠快速地得到該目標(biāo)數(shù)據(jù),提供了用戶體驗(yàn)。
需要說明的是,對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本發(fā)明實(shí)施例所必須的。
實(shí)施例三
圖3為本發(fā)明提供的一種文件處理裝置實(shí)施例的結(jié)構(gòu)框圖。
參照圖3所示,本實(shí)施例提供的文件處理裝置用于對文件對象進(jìn)行優(yōu)化處理,從而有利于搜索引擎進(jìn)行搜索查找目標(biāo)數(shù)據(jù),具體包括分片處理模塊10、反序列化模塊20、扁平處理模塊30和文件合并模塊40。
分片處理模塊10用于對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理。
預(yù)設(shè)條件為文件超出預(yù)設(shè)的數(shù)據(jù)量,即第一文件較大的情況下,將該較大的第一文件進(jìn)行分片處理,從而得到多個第二文件。在具體分片時,不是將所有需要加載的數(shù)據(jù)對象進(jìn)行分片處理,而是將數(shù)據(jù)量較大的數(shù)據(jù)對象進(jìn)行分片,該模塊具體包括文件查閱單元11和數(shù)據(jù)分割單元12。
文件查閱單元11用于遍歷所有需要加載的第一文件,具體為檢索其中的每個數(shù)據(jù)對象的數(shù)據(jù)量,將所有超出預(yù)設(shè)閾值的數(shù)據(jù)對象作為待處理數(shù)據(jù)對象;數(shù)據(jù)分割單元12用于將文件查閱單元11篩選出的待處理數(shù)據(jù)對象進(jìn)行分片處理,從而得到相應(yīng)數(shù)據(jù)對象的多個第二文件。
數(shù)據(jù)的分片處理是指將整體數(shù)據(jù)分?jǐn)傇诙鄠€存儲設(shè)備上,從而形成多個數(shù)據(jù)分區(qū),這樣每個存儲設(shè)備的數(shù)據(jù)量相對就會小很多,以此滿足系統(tǒng)的性能需求。值得注意的是,分片處理的策略有很多,例如常見的有以下幾種:
根據(jù)ID特征:例如對記錄的ID取模,得到的結(jié)果是幾,那么這條記錄就放在編號為幾的數(shù)據(jù)分區(qū)上;
根據(jù)時間范圍:例如前100萬個用戶數(shù)據(jù)在第1個分區(qū)中,第二個100萬用戶數(shù)據(jù)放在第2個分區(qū)中;
基于檢索表:根據(jù)ID先去一個表內(nèi)找到它所在的分區(qū),然后再去目標(biāo)分區(qū)進(jìn)行查找。
反序列化模塊20用于將第二文件進(jìn)行反序列化處理。
即在分片處理模塊10得到多個第二文件后,利用反序列化模塊20將每個第二文件進(jìn)行反序列化處理,從而得到序列化的第三文件,其實(shí)反序列化實(shí)質(zhì)上時對數(shù)據(jù)對象進(jìn)行序列化處理的一種情況。該模塊包括文件重構(gòu)單元21。
具體來說,在對第二文件的反序列化處理時,是通過文件重構(gòu)單元21利用基于跨平臺序列化工具FlatBuffers將第二文件中的字節(jié)流打開,然后將打開的字節(jié)流進(jìn)行對象重構(gòu),從而得到該第三文件。該工具可以通過thrift開發(fā)。
thrift是一個軟件框架,用來進(jìn)行可擴(kuò)展且跨語言的服務(wù)的開發(fā)。它結(jié)合了功能強(qiáng)大的軟件堆棧和代碼生成引擎,以構(gòu)建在C++,Java,Go,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,and OCaml這些編程語言間無縫結(jié)合的、高效的服務(wù)。
扁平處理模塊30用于將第三文件進(jìn)行扁平化處理。
在將第二文件經(jīng)過反序列化工具處理得到該第三文件后,對的第三文件進(jìn)一步處理,具體為對分層結(jié)構(gòu)的第三文件進(jìn)行扁平化處理,減少分層,從而得到扁平化處理后的第四文件。
由于第三文件是包括多層索引結(jié)構(gòu)的文件,因此如果直接檢索的話需要通過重重查找才能找到目標(biāo)數(shù)據(jù),因此如果想要提供檢索效率,則需要進(jìn)行扁平化處理,該模塊具體包括數(shù)據(jù)讀取單元31和數(shù)據(jù)排列單元32。
數(shù)據(jù)讀取單元31用于讀取該第三文件中索引層級中的所有數(shù)據(jù);數(shù)據(jù)排列單元用于將所有數(shù)據(jù)按一定的規(guī)律進(jìn)行排列,使原本分層的數(shù)據(jù)平等放置在預(yù)設(shè)的內(nèi)存空間內(nèi),以方便里搜索引擎利用統(tǒng)一的數(shù)據(jù)指針查找目標(biāo)數(shù)據(jù)。
文件合并模塊40用于將第四文件進(jìn)行合并處理,得到扁平化的目標(biāo)文件。
在將每個第四文件進(jìn)行扁平化處理后,將經(jīng)過扁平化處理的第四文件進(jìn)行拼接合成,從而得到目標(biāo)文件。由于第四文件為已經(jīng)經(jīng)過了扁平化處理,從而該通過第四文件拼接來的目標(biāo)文件也是扁平化文件,從而方便搜索引擎查找目標(biāo)數(shù)據(jù)。
從上述技術(shù)方案可以看出,本實(shí)施例提供了一種文件處理裝置,該裝置具體為對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;將所述第二文件進(jìn)行反序列化處理,得到第三文件;將所述第三文件進(jìn)行扁平化處理,得到第四文件;將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。經(jīng)過上述處理后得到的目標(biāo)文件是一種扁平化結(jié)構(gòu)的數(shù)據(jù),方便搜索引擎直接以數(shù)據(jù)指針進(jìn)行查找,而不用分層逐步檢索,從而提高了搜索效率。
實(shí)施例四
圖4為本發(fā)明提供的另一種文件處理裝置實(shí)施例的結(jié)構(gòu)框圖。
參照圖4所示,本實(shí)施例提供的文件處理裝置是在上一實(shí)施例的基礎(chǔ)上增設(shè)了目標(biāo)文件加載模塊50和目標(biāo)數(shù)據(jù)匹配模塊60。
目標(biāo)文件加載模塊50用于根據(jù)用戶的搜索請求加載對應(yīng)的目標(biāo)文件。
即在用戶通過搜索引擎提出相應(yīng)的搜索請求后,響應(yīng)該請求,并加載對應(yīng)于該請求的目標(biāo)文件,該目標(biāo)文件為上述處理后的扁平化結(jié)構(gòu)的目標(biāo)文件。
在加載上述目標(biāo)文件后,目標(biāo)數(shù)據(jù)匹配模塊60用于基于該目標(biāo)文件對該搜索請求進(jìn)行匹配,查找與該請求所對應(yīng)的目標(biāo)文件中的目標(biāo)數(shù)據(jù),由于目標(biāo)文件為扁平化結(jié)構(gòu),因此搜索引擎能夠快速根據(jù)該搜索請求定位該目標(biāo)數(shù)據(jù)。
從上述技術(shù)方案可以看出,本實(shí)施例提供了另一種文件處理裝置,該裝置具體為對滿足預(yù)設(shè)條件的第一文件進(jìn)行分片處理,得到多個第二文件;將所述第二文件進(jìn)行反序列化處理,得到第三文件;將所述第三文件進(jìn)行扁平化處理,得到第四文件;將所述第四文件進(jìn)行合并,得到扁平化的目標(biāo)文件。經(jīng)過上述處理后得到的目標(biāo)文件是一種扁平化結(jié)構(gòu)的數(shù)據(jù),方便搜索引擎直接以數(shù)據(jù)指針進(jìn)行查找,而不用分層逐步檢索,從而提高了搜索效率。同時,當(dāng)用戶提出搜索請求時,加載該目標(biāo)文件,并基于該目標(biāo)文件匹配該搜索請求對應(yīng)的目標(biāo)數(shù)據(jù),由于目標(biāo)文件的扁平化結(jié)構(gòu),從而使用戶能夠快速地得到該目標(biāo)數(shù)據(jù),提供了用戶體驗(yàn)。
對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。
本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的技術(shù)方案進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。