国产精品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>

      一種代碼處理方法及裝置與流程

      文檔序號:11582331閱讀:127來源:國知局
      一種代碼處理方法及裝置與流程

      本申請涉及計算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種代碼處理方法及裝置。



      背景技術(shù):

      隨著計算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,各類應(yīng)用程序大量涌現(xiàn),給人們的生活帶來了便利。

      大多數(shù)應(yīng)用程序或者應(yīng)用程序中某些功能模塊需要打包后提供給用戶,進(jìn)而用戶下載安裝打包文件后可以使用。打包文件中通常包含功能相關(guān)的代碼和非代碼文件,比如,前端控制所使用的javascript代碼、程序全局配置文件、二進(jìn)制資源文件等。

      但是,隨著應(yīng)用程序功能越來越強(qiáng)大,打包文件的體積也越來越大,會給用戶獲取打包文件帶來不利影響,而且也會降低打包文件內(nèi)代碼的執(zhí)行效率。



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

      本申請實施例提供一種代碼處理方法及裝置,用以解決現(xiàn)有技術(shù)中的如下技術(shù)問題:隨著應(yīng)用程序功能越來越強(qiáng)大,打包文件的體積也越來越大,會給用戶獲取打包文件帶來不利影響,而且也會降低打包文件內(nèi)代碼的執(zhí)行效率。

      為解決上述技術(shù)問題,本申請實施例是這樣實現(xiàn)的:

      本申請實施例提供的一種代碼處理方法,包括:

      獲得待處理代碼;

      確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,以及所述指定函數(shù)中的各分支條件;

      根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理。

      本申請實施例提供的一種代碼處理裝置,包括:

      獲得模塊,獲得待處理代碼;

      確定模塊,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,以及所述指定函數(shù)中的各分支條件;

      處理模塊,根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理。

      本申請實施例采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:可以消除打包文件中的部分冗余代碼,從而可以減小打包文件的體積,進(jìn)而可以減少現(xiàn)有技術(shù)給用戶獲取打包文件帶來的不利影響,而且也有利于提高打包文件內(nèi)代碼的執(zhí)行效率,因此,可以部分或全部地解決現(xiàn)有技術(shù)中的問題。

      附圖說明

      為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本申請實施例提供的一種代碼處理方法的流程示意圖;

      圖2為本申請實施例提供的對應(yīng)于圖1的一種代碼處理裝置的結(jié)構(gòu)示意圖。

      具體實施方式

      本申請實施例提供一種代碼處理方法及裝置。

      為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。

      圖1為本申請實施例提供的一種代碼處理方法的流程示意圖,該流程可以由程序?qū)崿F(xiàn),可搭載所述程序的設(shè)備包括但不限于以下:個人計算機(jī)、大中型計算機(jī)、計算機(jī)集群、手機(jī)、平板電腦、智能可穿戴設(shè)備、車機(jī)等。

      圖1中的流程可以包括以下步驟:

      s101:獲得待處理代碼。

      在本申請實施例中,所述代碼可以是基于任一種編程語言的。比如,javascript、java、c、c++、php、python等編程語言所編寫的代碼。為了便于描述,以下各實施例主要以javascript代碼為例進(jìn)行說明。

      在本申請實施例中,待處理代碼通常是針對指定的應(yīng)用場景等待打包或者模塊化的代碼。

      待處理代碼中包含一個或多個函數(shù)的函數(shù)體,以及一個或多個對于所述函數(shù)的函數(shù)調(diào)用。在不同的應(yīng)用場景下,函數(shù)體可能不變,而對應(yīng)的函數(shù)調(diào)用所使用的參數(shù)可能不同,比如,參數(shù)類型不同、參數(shù)值不同等。

      s102:確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,以及所述指定函數(shù)中的各分支條件。

      在本申請實施例中,所述指定函數(shù)可以是函數(shù)體包含在待處理代碼中的任意函數(shù)。在實際應(yīng)用中,對于函數(shù)體包含在待處理代碼中的各函數(shù),可以將所述各函數(shù)中至少部分函數(shù)中的每個函數(shù)分別作為指定函數(shù),并分別對各指定函數(shù)執(zhí)行圖1中的流程。

      在本申請實施例中,所述各函數(shù)調(diào)用具體包括所述待處理代碼中針對指定函數(shù)的全部函數(shù)調(diào)用。所述各函數(shù)調(diào)用可以分別使用不同的參數(shù)。

      例如,假定指定函數(shù)為“clone(item)”,某個針對該指定函數(shù)的函數(shù)調(diào)用可以為“clone()”,另一個針對該指定函數(shù)的函數(shù)調(diào)用可以為“clone(‘foo’)”,等等。可以看到,clone()所使用的參數(shù)為空(屬于非item),clone(‘foo’)所使用的參數(shù)為字符串foo。

      在本申請實施例中,指定函數(shù)中包含一個或多個分支條件。所述各分支條件具體包括指定函數(shù)中的全部分支條件。一般地,分支條件包含在諸如“if”、“else”等條件語句中。

      例如,假定指定函數(shù)clone(item)如下所示:

      可以看到,上例的指定函數(shù)中共包含兩個分支條件。分支1的分支條件為“!item”,分支2的分支條件為“typeofitem===‘string’”。

      需要說明的是,在實際應(yīng)用中,指定函數(shù)的函數(shù)體也可以不包含在待處理代碼中。但是,在這種情況下,后續(xù)對指定函數(shù)的裁剪處理有可能會影響:待處理代碼之外的針對指定函數(shù)的函數(shù)調(diào)用的結(jié)果。

      s103:根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理。

      在本申請實施例中,如前所述,待處理代碼通常是針對指定的應(yīng)用場景等待打包或者模塊化的代碼,在該指定的應(yīng)用場景下,對待處理代碼中的函數(shù)進(jìn)行調(diào)用時,未必需要用到該函數(shù)中的全部分支。那么,可以認(rèn)為:在該指定的應(yīng)用場景下,不會被用到的分支的代碼是冗余的,可以將其從待處理代碼中裁剪掉,再打包裁剪后的待處理代碼,以減小待處理代碼的體積。

      在本申請實施例中,根據(jù)分支條件和各函數(shù)調(diào)用所使用的參數(shù),可以確定在待處理代碼對應(yīng)的場景下哪些分支是不需要用到的,進(jìn)而可以對不會被用到的分支的代碼進(jìn)行裁剪處理。

      另外,需要說明的是,本申請對步驟s102中“確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用”和“確定所述指定函數(shù)中的各分支條件”的執(zhí)行順序并不做限定,可以同時執(zhí)行,也可以一先一后地執(zhí)行。

      通過圖1的方法,可以消除打包文件中的部分冗余代碼(包含在上述的待處理代碼中),從而可以減小打包文件的體積,進(jìn)而可以減少現(xiàn)有技術(shù)給用戶獲取打包文件帶來的不利影響,而且也有利于提高打包文件內(nèi)代碼的執(zhí)行效率,因此,可以部分或全部地解決現(xiàn)有技術(shù)中的問題。

      基于圖1的方法,本申請實施例還提供了該方法的一些具體實施方案,以及擴(kuò)展方案,下面進(jìn)行說明。

      在本申請實施例中,在獲得待處理代碼后,可以通過遍歷待處理代碼實現(xiàn)后續(xù)步驟,也可以將待處理代碼轉(zhuǎn)換為諸如語法樹等更容易分析的數(shù)據(jù)形式,進(jìn)而再根據(jù)轉(zhuǎn)換后得到的數(shù)據(jù)實現(xiàn)后續(xù)步驟。以下以語法樹為例。

      則對于步驟s102,所述確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,具體可以包括:生成所述待處理代碼的語法樹;根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用和所述各函數(shù)調(diào)用所使用的參數(shù),以及所述指定函數(shù)中的各分支條件。

      具體如何生成語法樹本申請并不做限定,可以利用已有的技術(shù)實現(xiàn)。在語法樹中,函數(shù)與函數(shù)調(diào)用等代碼中的元素都可以被表示樹節(jié)點,易于分析和操作。

      前面有提到,可能會針對待處理代碼中的多個函數(shù)執(zhí)行圖1中的流程,因此,可以統(tǒng)一確定待處理代碼中的所有函數(shù)調(diào)用及其所使用的參數(shù)(并可以這些數(shù)據(jù)保存在諸如列表等數(shù)據(jù)結(jié)構(gòu)中以便于使用),如此,執(zhí)行后續(xù)流程時直接使用這些函數(shù)調(diào)用及參數(shù)即可,有利于提高本申請的方案的執(zhí)行效率。

      具體地,所述根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用和所述各函數(shù)調(diào)用所使用的參數(shù),可以包括:根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中的所有函數(shù)調(diào)用,以及確定分別確定所述所有函數(shù)調(diào)用所使用的參數(shù);對確定的所述所有函數(shù)調(diào)用進(jìn)行分類,所針對函數(shù)相同的函數(shù)調(diào)用被分在同一類中;在各類中確定針對指定函數(shù)的一類函數(shù)調(diào)用,以及確定該類函數(shù)調(diào)用所使用的參數(shù)。

      進(jìn)一步地,所述確定所述指定函數(shù)中的各分支條件,具體可以包括:根據(jù)所述待處理代碼的語法樹,確定所述指定函數(shù)的語法樹;根據(jù)所述指定函數(shù)的語法樹,確定所述指定函數(shù)中的各分支條件。

      在本申請實施例中,對于步驟s103,所述根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理,具體可以包括:

      分別對所述各分支條件中的每個分支條件執(zhí)行:

      分別根據(jù)所述各函數(shù)調(diào)用中的每個函數(shù)調(diào)用所使用的參數(shù),確定對于該函數(shù)調(diào)用所使用的參數(shù),是否可滿足該分支條件;若對于所述每個函數(shù)調(diào)用所使用的參數(shù),均不可滿足該分支條件,則刪除對應(yīng)于該分支條件的分支代碼。

      為了便于理解,沿用上例進(jìn)行說明。

      假定對于待處理代碼中的上述指定函數(shù)clone(item),共有兩個針對clone(item)的函數(shù)調(diào)用:clone()、clone(‘foo’)??梢钥吹?,clone()可以符合clone(item)的分支1的分支條件“!item”,clone(‘foo’)可以符合clone(item)的分支2的分支條件“typeofitem===‘string’”,因此,這兩個分支的分支代碼均不是冗余的,無需裁剪。

      而假定clone(item)只有一個針對clone(item)的函數(shù)調(diào)用clone(),clone()所使用的參數(shù)并不滿足分支2的分支條件“typeofitem===‘string’”,因此,分支2的分支代碼(也即,對應(yīng)于分支2的分支條件的分支代碼)是冗余的,可以裁剪。裁剪后的clone(item)的函數(shù)體如下所示:

      進(jìn)一步地,所述分別對所述各分支條件中的每個分支條件執(zhí)行后,還可以執(zhí)行:若所述執(zhí)行后的所述指定函數(shù)中只包含一個分支條件,則將表示該分支條件的代碼刪除。如此,可以進(jìn)一步地消除代碼冗余。

      可以這樣做的原因在于:若所述執(zhí)行后的所述指定函數(shù)中只包含一個分支條件,則對于所述待處理代碼中針對所述指定函數(shù)中的任一函數(shù)調(diào)用,對于該函數(shù)調(diào)用所使用的參數(shù)必定會滿足該分支條件,因此,只要保留當(dāng)滿足該分支條件時所需執(zhí)行的代碼即可,而無需保留該分支條件本身。

      為了便于理解,沿用上例進(jìn)行說明。

      對上例中裁剪后的clone(item)的函數(shù)體進(jìn)一步地裁剪,進(jìn)一步地裁剪后如下所示:

      “functionclone(item){

      returnitem;

      }”

      因為,在該例中待處理代碼針對clone(item)的函數(shù)調(diào)用只有clone(),因此在執(zhí)行函數(shù)調(diào)用時,無需再進(jìn)行分支條件判斷,直接執(zhí)行“returnitem”即可。

      基于類似的思路,所述分別對所述各分支條件中的每個分支條件執(zhí)行后,還可以執(zhí)行:對于所述執(zhí)行后的所述指定函數(shù)中最后一個分支條件以外的其他分支條件,若對應(yīng)于所述其他分支條件的分支代碼均會跳出所述指定函數(shù),則將表示所述最后一個分支條件的代碼刪除。如此,也可以進(jìn)一步地消除代碼冗余。

      可以這樣做的原因在于:對于所述待處理代碼中針對所述指定函數(shù)中的任一函數(shù)調(diào)用,若對于該函數(shù)調(diào)用所使用的參數(shù),均不滿足所述最后一個分支條件之前的各分支條件(若滿足,則會跳出所述指定函數(shù),不會再執(zhí)行指定函數(shù)內(nèi)的后續(xù)代碼),則必定會滿足所述最后一個分支條件,因此,只要保留當(dāng)滿足所述最后一個分支條件時所需執(zhí)行的代碼即可,而無需保留所述最后一個分支條件本身。

      上面對本申請實施例提供的一種代碼處理方法進(jìn)行了說明,基于同樣的發(fā)明思路,本申請實施例還提供了對應(yīng)的裝置,如圖2所示。

      圖2為本申請實施例提供的對應(yīng)于圖1的一種代碼處理裝置的結(jié)構(gòu)示意圖,該裝置可以位于圖1中流程的執(zhí)行主體上,包括:

      獲得模塊201,獲得待處理代碼;

      確定模塊202,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,以及所述指定函數(shù)中的各分支條件;

      處理模塊203,根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理。

      可選地,所述確定模塊202確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用,以及所述指定函數(shù)中的各分支條件,具體包括:

      所述確定模塊202生成所述待處理代碼的語法樹,根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用和所述各函數(shù)調(diào)用所使用的參數(shù),以及所述指定函數(shù)中的各分支條件。

      可選地,所述確定模塊202根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中針對指定函數(shù)的各函數(shù)調(diào)用和所述各函數(shù)調(diào)用所使用的參數(shù),具體包括:

      所述確定模塊202根據(jù)所述待處理代碼的語法樹,確定所述待處理代碼中的所有函數(shù)調(diào)用,以及確定分別確定所述所有函數(shù)調(diào)用所使用的參數(shù),對確定的所述所有函數(shù)調(diào)用進(jìn)行分類,所針對函數(shù)相同的函數(shù)調(diào)用被分在同一類中,在各類中確定針對指定函數(shù)的一類函數(shù)調(diào)用,以及確定該類函數(shù)調(diào)用所使用的參數(shù)。

      可選地,所述確定模塊202確定所述指定函數(shù)中的各分支條件,具體包括:

      所述確定模塊202根據(jù)所述待處理代碼的語法樹,確定所述指定函數(shù)的語法樹,根據(jù)所述指定函數(shù)的語法樹,確定所述指定函數(shù)中的各分支條件。

      可選地,所述處理模塊203根據(jù)所述分支條件和所述各函數(shù)調(diào)用所使用的參數(shù),對所述指定函數(shù)中對應(yīng)于所述分支條件的分支代碼進(jìn)行裁剪處理,具體包括:

      所述處理模塊203分別對所述各分支條件中的每個分支條件執(zhí)行:

      分別根據(jù)所述各函數(shù)調(diào)用中的每個函數(shù)調(diào)用所使用的參數(shù),確定對于該函數(shù)調(diào)用所使用的參數(shù),是否可滿足該分支條件;

      若對于所述每個函數(shù)調(diào)用所使用的參數(shù),均不可滿足該分支條件,則刪除對應(yīng)于該分支條件的分支代碼。

      可選地,所述處理模塊203分別對所述各分支條件中的每個分支條件執(zhí)行后,若所述執(zhí)行后的所述指定函數(shù)中只包含一個分支條件,則將表示該分支條件的代碼刪除。

      可選地,所述處理模塊203分別對所述各分支條件中的每個分支條件執(zhí)行后,對于所述執(zhí)行后的所述指定函數(shù)中最后一個分支條件以外的其他分支條件,若對應(yīng)于所述其他分支條件的分支代碼均會跳出所述指定函數(shù),則將表示所述最后一個分支條件的代碼刪除。

      可選地,所述代碼為javascript代碼。

      本申請實施例提供的裝置與方法是一一對應(yīng)的,因此,裝置也具有與其對應(yīng)的方法類似的有益技術(shù)效果,由于上面已經(jīng)對方法的有益技術(shù)效果進(jìn)行了詳細(xì)說明,因此,這里不再贅述對應(yīng)裝置的有益技術(shù)效果。

      在20世紀(jì)90年代,對于一個技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計人員幾乎都通過將改進(jìn)的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進(jìn)就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。

      控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機(jī)可讀程序代碼(例如軟件或固件)的計算機(jī)可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機(jī)可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。

      上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機(jī)芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機(jī)。具體的,計算機(jī)例如可以為個人計算機(jī)、膝上型計算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺、平板計算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。

      為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。

      本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。

      本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

      這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

      這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

      在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

      內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。

      計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

      還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。

      本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。

      本申請可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。

      本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

      以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。

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