本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種瀏覽器兼容性的調(diào)整方法及裝置。
背景技術(shù):
目前,大部分的互聯(lián)網(wǎng)應(yīng)用均采用了基于B/S(Browser/Server,瀏覽器/服務(wù)器)的架構(gòu)模式。這種B/S模式將系統(tǒng)功能實現(xiàn)的核心部分集中到了服務(wù)器上,因此簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。基于B/S模式的互聯(lián)網(wǎng)應(yīng)用,用戶的客戶機上只要安裝有瀏覽器軟件,就可以在任何地方對該互聯(lián)網(wǎng)應(yīng)用進(jìn)行操作使用,而無須安裝專門對應(yīng)于該應(yīng)用的客戶端軟件。因此,提高了用戶對該互聯(lián)網(wǎng)應(yīng)用的使用體驗。
在B/S模式下,瀏覽器在解析互聯(lián)網(wǎng)應(yīng)用所提供的前端HTML(Hypertext MarkupLanguage,超文本標(biāo)記語言)頁面代碼時,經(jīng)常會出現(xiàn)因方法調(diào)用出錯而導(dǎo)致網(wǎng)頁解析失敗、網(wǎng)頁停止運行的現(xiàn)象發(fā)生,該現(xiàn)象歸結(jié)于瀏覽器的兼容性問題。瀏覽器的兼容性問題需要由瀏覽器廠商來適配解決,或者,由互聯(lián)網(wǎng)應(yīng)用的前端開發(fā)人員直接修復(fù)網(wǎng)頁中的錯誤代碼。然而,這種方法將導(dǎo)致如下問題出現(xiàn):在廠商已經(jīng)在瀏覽器中適配完成該解析報錯問題的同時,前端開發(fā)人員又修改了網(wǎng)頁代碼,則此時將容易產(chǎn)生另外一種未知錯誤,降低了互聯(lián)網(wǎng)應(yīng)用的高可用性與可靠性。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種瀏覽器兼容性的調(diào)整方法及裝置,旨在解決目前因瀏覽器無法兼容各種前端頁面代碼,從而導(dǎo)致提供前端頁面代碼的互聯(lián)網(wǎng)應(yīng)用的可靠性低下的問題。
第一方面,提供了一種瀏覽器兼容性的調(diào)整方法,包括:獲取瀏覽器代碼中的報錯流程分支;獲取代碼報錯記錄中的各個方法名;分別生成每個所述方法名對應(yīng)的邏輯代碼;將每段所述邏輯代碼添加至所述報錯流程分支中,以使所述瀏覽器檢測到基于所述方法名的調(diào)用錯誤時,根據(jù)所述報錯流程分支中所述方法名對應(yīng)的所述邏輯代碼做出響應(yīng)。
在第一方面的第一種可能的實現(xiàn)方式中,所述將每段所述邏輯代碼添加至所述報錯流程分支中包括:建立第一代碼文件;將每段所述邏輯代碼存入所述第一代碼文件;在所述報錯流程分支中,添加對應(yīng)于所述第一代碼文件的解析接口,以將每段所述邏輯代碼通過所述解析接口間接添加至所述報錯流程分支中。
結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一代碼文件為可擴(kuò)展標(biāo)記語言XML文件。
結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述在所述報錯流程分支中,添加對應(yīng)于所述第一代碼文件的解析接口包括:生成所述XML文件的解析接口;根據(jù)所述解析接口,獲取XML解析模塊代碼;將所述XML解析模塊代碼添加至所述報錯流程分支中。
在第一方面的第四種可能的實現(xiàn)方式中,所述分別生成每個所述方法名對應(yīng)的邏輯代碼包括:對于每個所述方法名,生成對應(yīng)該方法名的一個空值。
第二方面,提供了一種瀏覽器兼容性的調(diào)整裝置,包括:第一獲取單元,用于獲取瀏覽器代碼中的報錯流程分支;第二獲取單元,用于獲取代碼報錯記錄中的各個方法名;生成單元,用于分別生成每個所述方法名對應(yīng)的邏輯代碼;添加單元,用于將每段所述邏輯代碼添加至所述報錯流程分支中,以使所述瀏覽器檢測到基于所述方法名的調(diào)用錯誤時,根據(jù)所述報錯流程分支中所述方法名對應(yīng)的所述邏輯代碼做出響應(yīng)。
在第二方面的第一種可能的實現(xiàn)方式中,所述添加單元包括:建立子單元,用于建立第一代碼文件;存儲子單元,用于將每段所述邏輯代碼存入所述第一代碼文件;添加子單元,用于在所述報錯流程分支中,添加對應(yīng)于所述第一代碼文件的解析接口,以將每段所述邏輯代碼通過所述解析接口間接添加至所述報錯流程分支中。
結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一代碼文件為可擴(kuò)展標(biāo)記語言XML文件。
結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述添加子單元具體用于:生成所述XML文件的解析接口;根據(jù)所述解析接口,獲取XML解析模塊代碼;將所述XML解析模塊代碼添加至所述報錯流程分支中。
在第二方面的第四種可能的實現(xiàn)方式中,所述生成單元包括:生成子單元,用于對于每個所述方法名,生成對應(yīng)該方法名的一個空值。
本發(fā)明實施例中,通過獲取代碼報錯記錄中的各個方法名,生成每個方法名對應(yīng)的邏輯代碼,并將每段邏輯代碼添加至瀏覽器的報錯流程分支中,保證了瀏覽器在解析不同的網(wǎng)頁代碼時,如果在網(wǎng)頁代碼中出現(xiàn)了關(guān)于這些方法名調(diào)用出錯的情況,瀏覽器依然能夠根據(jù)正常的處理邏輯,執(zhí)行報錯流程分支,從而讀取報錯流程分支中與出錯方法名相同的一個方法名所對應(yīng)的邏輯代碼,并正常作出響應(yīng),因此,提高了瀏覽器的兼容性,避免了因兼容性問題而導(dǎo)致網(wǎng)頁解析失敗、網(wǎng)頁停止運行的現(xiàn)象發(fā)生,由此也進(jìn)一步提高了提供該網(wǎng)頁的互聯(lián)網(wǎng)應(yīng)用的高可用性與可靠性。
附圖說明
圖1是本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整方法S104的具體實現(xiàn)流程圖;
圖3是本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整方法S203的具體實現(xiàn)流程圖;
圖4是本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整裝置的結(jié)構(gòu)框圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實施例中,瀏覽器作為一種工具軟件,可以運行在計算機、筆記本電腦、手機、平板電腦等終端中,其作為互聯(lián)網(wǎng)的入口,通過顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)所提供的網(wǎng)頁內(nèi)容,能夠讓用戶與這些網(wǎng)頁內(nèi)容進(jìn)行交互。
圖1示出了本發(fā)明實施例所述的瀏覽器兼容性的調(diào)整方法的實現(xiàn)流程,詳述如下:
在S101中,獲取瀏覽器代碼中的報錯流程分支。
在一個程序代碼的解析過程中,對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。分支結(jié)構(gòu)的執(zhí)行要依據(jù)一定的條件來選擇執(zhí)行路徑或程序流程,因此,能夠根據(jù)不同的程序流程來選擇適當(dāng)?shù)姆种дZ句。每個分支所要執(zhí)行的功能不同,在本實施例中,報錯流程分支所要執(zhí)行的功能是返回錯誤提示。因此,瀏覽器在調(diào)用了錯誤的頁面代碼時,能夠自動選擇該報錯流程分支,并讀取該分支中的語句代碼。
由于一個瀏覽器的運行代碼中,具有多個不同的流程分支,因此,通過自動識別或根據(jù)用戶輸入的分支選擇指令,在眾多的流程分支中,篩選出哪個分支是執(zhí)行出錯提示的分支。上述的篩選結(jié)果即為報錯流程分支,其實質(zhì)上是一段或多段流程代碼的集合。
在S102中,獲取代碼報錯記錄中的各個方法名。
本實施例中,方法名具體指基于JS(JavaScript)引擎的代碼中的方法名。JS中可以為對象定義的方法有以下三種:私有方法、實例方法和類方法。每個方法在JS動態(tài)調(diào)用的過程中,最常用的方式是通過該方法對應(yīng)的名稱字符串來調(diào)用,則該名稱字符串稱為該方法的方法名。
收集網(wǎng)頁的歷史訪問日志,該日志中記載有各個用戶在使用其終端瀏覽器訪問不同網(wǎng)頁時的報錯信息。從歷史訪問日志中篩選出因方法名調(diào)用出錯而導(dǎo)致瀏覽器顯示JS錯誤的所有報錯信息。此時,確定出各個曾經(jīng)出現(xiàn)過錯誤的方法名,即,在報錯信息中提取各個方法名。
除了從歷史訪問日志中提取方法名之外,對容易在網(wǎng)頁中出現(xiàn)調(diào)用錯誤的方法名,開發(fā)者可以自行總結(jié)并記錄,因此,基于其總結(jié)的經(jīng)驗信息,本裝置還能夠通過接收開發(fā)者在進(jìn)行自我總結(jié)之后所輸入的信息來獲得各個方法名。
綜上,用戶總結(jié)的方法名記錄以及該歷史訪問日志即為代碼報錯記錄。
在S103中,分別生成每個所述方法名對應(yīng)的邏輯代碼。
當(dāng)某一事件驅(qū)動而導(dǎo)致某個方法被調(diào)用時,可重復(fù)使用的代碼塊即為該方法的邏輯代碼。又因為方法名能夠用以識別和區(qū)分不同的方法,因此,若要使某個方法存在并且能夠被正常調(diào)用,則在其方法名存在后,還需要對應(yīng)有一段新的邏輯代碼。
在本實施例中,每個方法名對應(yīng)的邏輯代碼可以相同也可以不同。對于其中的一個方法名,針對其在被錯誤調(diào)用過程中所希望完成的功能,可生成描述該功能的簡短代碼,從而以執(zhí)行較少代碼的方式,將調(diào)用該方法名所得到的結(jié)果返回給用戶。
生成邏輯代碼,也可稱為生成需要兼容的一個頁面方法的代碼。
特別地,除了生成方法名對應(yīng)的邏輯代碼之外,還可以不生成任意邏輯代碼,使得瀏覽器調(diào)用到?jīng)]有對應(yīng)邏輯代碼的方法時,能夠依照默認(rèn)的處理邏輯來執(zhí)行處理。
作為本發(fā)明的一個實施例,所述分別生成每個所述方法名對應(yīng)的邏輯代碼包括:
對于每個所述方法名,生成對應(yīng)該方法名的一個空值。
即,方法名對應(yīng)的邏輯代碼僅為一個簡單的空值。除了將每個所述方法名對應(yīng)的邏輯代碼設(shè)置為一個空值之外,還可以將其中的一個或多個所述方法名所對應(yīng)的邏輯代碼設(shè)置為空值。使得瀏覽器在解析方法名對應(yīng)的邏輯代碼時,能夠迅速返回長度較短的空值數(shù)據(jù)響應(yīng)結(jié)果,從而能夠在避免網(wǎng)頁停止運行的同時,提高對網(wǎng)頁的解析效率。
在S104中,將每段所述邏輯代碼添加至所述報錯流程分支中,以使瀏覽器檢測到基于所述方法名的調(diào)用錯誤時,根據(jù)所述報錯流程分支中所述方法名對應(yīng)的所述邏輯代碼做出響應(yīng)。
將每段邏輯代碼及其對應(yīng)的方法名加入所述報錯流程分支的流程代碼集合的最前面,使得瀏覽器依照順序執(zhí)行該流程代碼集合時,能夠先讀取該集合中最前面的邏輯代碼。
例如,在網(wǎng)頁代碼的執(zhí)行過程中,當(dāng)有A類的對象要調(diào)用B類的方法b時,通常情況下,瀏覽器將跳轉(zhuǎn)至報錯流程分支,并解析該分支中的代碼,從而能夠直接產(chǎn)生JS報錯,并停止運行該網(wǎng)頁。而在本實施例中,由于報錯流程分支中包含了預(yù)先設(shè)置的各個方法名對應(yīng)的邏輯代碼,因此,瀏覽器將查找該分支中是否存在方法名b,若是,則執(zhí)行方法名b所對應(yīng)邏輯代碼,從而返回代碼的解析結(jié)果,并繼續(xù)執(zhí)行該網(wǎng)頁中的后續(xù)處理邏輯。
本發(fā)明實施例中,通過獲取代碼報錯記錄中的各個方法名,生成每個方法名對應(yīng)的邏輯代碼,并將每段邏輯代碼添加至瀏覽器的報錯流程分支中,保證了瀏覽器在解析不同的網(wǎng)頁代碼時,如果在網(wǎng)頁代碼中出現(xiàn)了關(guān)于這些方法名調(diào)用出錯的情況,瀏覽器依然能夠根據(jù)正常的處理邏輯,執(zhí)行報錯流程分支,從而讀取報錯流程分支中與出錯方法名相同的一個方法名所對應(yīng)的邏輯代碼,并正常作出響應(yīng),因此,提高了瀏覽器的兼容性,避免了因兼容性問題而導(dǎo)致網(wǎng)頁解析失敗、網(wǎng)頁停止運行的現(xiàn)象發(fā)生,由此也進(jìn)一步提高了提供該網(wǎng)頁的互聯(lián)網(wǎng)應(yīng)用的高可用性與可靠性。
作為本發(fā)明的一個實施例,如圖2所示,在S104中,所述將每段所述邏輯代碼添加至所述報錯流程分支中包括:
在S201中,建立第一代碼文件。
在本實施例中,第一代碼文件可以為各種類型的純文本格式文件,例如JSON(JavaScript Object Notation)文件、HTML文件、XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)文件等。
特別地,作為本發(fā)明的一個實施例,所述第一代碼文件為可擴(kuò)展標(biāo)記語言XML文件。
由于XML具有統(tǒng)一的標(biāo)準(zhǔn)語法,任何系統(tǒng)和產(chǎn)品都能夠支持XML文件,并且不同的產(chǎn)品之間都具有統(tǒng)一的格式和語法。因此,將XML文件作為第一代碼文件,能夠適用于不同類型的瀏覽器之中。
在S202中,將每段所述邏輯代碼存入所述第一代碼文件。
第一代碼文件的文件內(nèi)容為S103中生成的每個方法名所對應(yīng)的邏輯代碼。邏輯代碼作為方法名所對應(yīng)的內(nèi)部方法,統(tǒng)一存儲于第一代碼文件中。
在S203中,在所述報錯流程分支中,添加對應(yīng)于所述第一代碼文件的解析接口,以將每段所述邏輯代碼通過所述解析接口間接添加至所述報錯流程分支中。
在一個第一系統(tǒng)中,如果需要調(diào)用第二系統(tǒng)中的文件、程序,則需要在第一系統(tǒng)中開放一個與外部程序進(jìn)行連接的代碼接口,該接口即為本實施例中所述的解析接口。
將對應(yīng)于第一代碼文件的解析接口加入報錯流程分支的代碼集合后,當(dāng)瀏覽器執(zhí)行報錯流程分支中的代碼集合時,能夠根據(jù)該集合中關(guān)于第一代碼文件的解析接口及關(guān)于第一代碼文件的地址參數(shù),搜索到第一代碼文件的實際位置并調(diào)用該第一代碼文件中的內(nèi)容。因此,第一代碼文件中每個方法名對應(yīng)的邏輯代碼能夠被間接執(zhí)行或間接使用,其相當(dāng)于實現(xiàn)了將每段邏輯代碼添加至報錯流程分支中。其中,所述地址參數(shù)可以存于瀏覽器代碼中的各個位置,如報錯流程分支中。
作為本發(fā)明的一個實施例,圖3示出了本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整方法S203的具體實現(xiàn)流程,詳述如下:
在S301中,生成所述XML文件的解析接口。
本實施例中,第一代碼文件具體為XML文件。對于該類型的文件,需要有特定的對應(yīng)于XML類型文件的解析接口才能實現(xiàn)文件的跨平臺調(diào)用。因此,在將對應(yīng)于XML文件的解析接口添加至報錯流程分支之前,還需預(yù)先生成對應(yīng)了該XML文件的解析接口。
在S302中,根據(jù)所述解析接口,獲取XML解析模塊代碼。
XML文件具有其對應(yīng)的一套標(biāo)準(zhǔn)語法。為了避免因異常狀態(tài)導(dǎo)致當(dāng)前瀏覽器無法解析XML文件中代碼內(nèi)容的現(xiàn)象發(fā)生,生成XML解析模塊代碼,從而能夠根據(jù)該模塊代碼,解析XML文件中的各段代碼。并且,XML解析模塊代碼中提供了上述對應(yīng)于XML文件的解析接口,還可包括上述XML文件的存放地址參數(shù)。
在S303中,將所述XML解析模塊代碼添加至所述報錯流程分支中。
同理,將XML解析模塊代碼加入報錯流程分支的流程代碼集合的較前位置,位于報錯流程分支的原始處理邏輯的上方。
在本實施例中,當(dāng)瀏覽器執(zhí)行到某個A類型對象要調(diào)用一個方法時,若這個方法是該對象所屬類中沒有的方法,則瀏覽器執(zhí)行報錯流程分支,通過解析接口調(diào)用XML文件,查找該XML文件中是否具有與該方法名相匹配的一個方法及邏輯代碼。若該XML文件中具有與該方法名相匹配的一個方法及邏輯代碼,則執(zhí)行該XML文件中所述匹配的邏輯代碼,用以代替原A類型對象調(diào)用出錯的方法;否則,瀏覽器依照原有的報錯機制執(zhí)行,即,讀取報錯流程分支后的后續(xù)處理邏輯,返回JS錯誤,并停止網(wǎng)頁的運行。其中,上述匹配的過程表示,只要XML文件中存在有與該對象調(diào)用的方法名相同的一個方法名,則表示匹配成功,即,該XML文件中具有與該方法名相匹配的一個方法及邏輯代碼。
在解析網(wǎng)頁代碼的過程中,如果調(diào)用了一個錯誤的A方法,則瀏覽器有可能會奔潰,通過在xml文件內(nèi)存入具有相同名字的一個A方法,瀏覽器可以正常返回信息,從而避免了瀏覽器奔潰,并能夠繼續(xù)執(zhí)行網(wǎng)頁中的后續(xù)代碼,避免了網(wǎng)頁停止運行,使得瀏覽器與前端代碼的兼容度更高,不會因報錯而停止運行,執(zhí)行的速度更快。
通過本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整方法,若因瀏覽器無法兼容網(wǎng)頁,而出現(xiàn)方法調(diào)用出錯時,前端開發(fā)人員無需逐一修復(fù)網(wǎng)頁代碼,從而不會導(dǎo)致未知的新問題出現(xiàn)。通過在報錯流程分支中加入內(nèi)部方法,在瀏覽器中,所有互聯(lián)網(wǎng)應(yīng)用的頁面代碼都能夠在最大程度上得以運行,使得原先可能會出現(xiàn)調(diào)用出錯的頁面代碼均可以正常解析,因此提高了互聯(lián)網(wǎng)應(yīng)用的可靠性。此外,在報錯流程分支中所添加的邏輯代碼是直接編譯完成的運行代碼,故無需再進(jìn)行瀏覽器原生代碼的編譯過程,降低了在瀏覽器代碼修改過程中的耗時,提高了修復(fù)效率。
應(yīng)理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。
圖4示出了本發(fā)明實施例提供的瀏覽器兼容性的調(diào)整裝置的結(jié)構(gòu)框圖,該裝置可以位于手機、計算機、平板電腦、筆記本電腦等終端中,用于運行本發(fā)明圖1至圖3實施例所述的瀏覽器兼容性的調(diào)整方法。為了便于說明,僅示出了與本實施例相關(guān)的部分。
參照圖4,該裝置包括:
第一獲取單元41,用于獲取瀏覽器代碼中的報錯流程分支。
第二獲取單元42,用于獲取代碼報錯記錄中的各個方法名。
生成單元43,用于分別生成每個所述方法名對應(yīng)的邏輯代碼。
添加單元44,用于將每段所述邏輯代碼添加至所述報錯流程分支中,以使瀏覽器檢測到基于所述方法名的調(diào)用錯誤時,根據(jù)所述報錯流程分支中所述方法名對應(yīng)的所述邏輯代碼做出響應(yīng)。
可選地,所述添加單元44包括:
建立子單元,用于建立第一代碼文件。
存儲子單元,用于將每段所述邏輯代碼存入所述第一代碼文件。
添加子單元,用于在所述報錯流程分支中,添加對應(yīng)于所述第一代碼文件的解析接口,以將每段所述邏輯代碼通過所述解析接口間接添加至所述報錯流程分支中。
可選地,所述第一代碼文件為可擴(kuò)展標(biāo)記語言XML文件。
可選地,所述添加子單元具體用于:
生成所述XML文件的解析接口;
根據(jù)所述解析接口,獲取XML解析模塊代碼;
將所述XML解析模塊代碼添加至所述報錯流程分支中。
可選地,所述生成單元43具體用于:
對于每個所述方法名,生成對應(yīng)該方法名的一個空值。
本發(fā)明實施例中,通過獲取代碼報錯記錄中的各個方法名,生成每個方法名對應(yīng)的邏輯代碼,并將每段邏輯代碼添加至瀏覽器的報錯流程分支中,保證了瀏覽器在解析不同的網(wǎng)頁代碼時,如果在網(wǎng)頁代碼中出現(xiàn)了關(guān)于這些方法名調(diào)用出錯的情況,瀏覽器依然能夠根據(jù)正常的處理邏輯,執(zhí)行報錯流程分支,從而讀取報錯流程分支中與出錯方法名相同的一個方法名所對應(yīng)的邏輯代碼,并正常作出響應(yīng),因此,提高了瀏覽器的兼容性,避免了因兼容性問題而導(dǎo)致網(wǎng)頁解析失敗、網(wǎng)頁停止運行的現(xiàn)象發(fā)生,由此也進(jìn)一步提高了提供該網(wǎng)頁的互聯(lián)網(wǎng)應(yīng)用的高可用性與可靠性。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元、模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
在本發(fā)明所提供的實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的系統(tǒng)實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。