下面將結合本說明書實施例中的圖式,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬本說明書保護的範圍。此外,應當理解,儘管在本說明書可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。
為了便於本領域技術人員理解本說明書實施例的技術方案,下面先對本說明書實施例的技術術語進行說明。
決策樹:一種有監督的機器學習模型。所述決策樹可以為二叉樹等。所述決策樹包括了多個節點。所述多個節點能夠形成多個預測路徑。所述預測路徑的起始節點為所述決策樹的根節點,終止節點為所述決策樹的葉子節點。
所述決策樹具體可以包括回歸決策樹和分類決策樹。所述回歸決策樹的預測結果可以為一個具體的數值。所述分類決策樹的預測結果可以為一個具體的類別。值得說明的是,為了便於計算,通常可以採用向量來表示類別。例如,向量
可以表示類別A,向量
可以表示類別B,向量
可以表示類別C。當然,此處的向量僅為示例,在實際應用中還可以採用其它的數學方式來表示類別。
分裂節點:當決策樹中的一個節點能夠向下分裂時,可以將該節點稱為分裂節點。所述分裂節點具體可以包括根節點、以及除去葉子節點和根節點以外的其它節點(以下稱為普通節點)。所述分裂節點對應有分裂條件,所述分裂條件可以用於選擇預測路徑。
葉子節點:當決策樹中的一個節點不能夠向下分裂時,可以將該節點稱為葉子節點。所述葉子節點對應有葉子值。決策樹的不同葉子節點所對應的葉子值可以相同或不同。每個葉子值可以表示一種預測結果。所述葉子值可以為數值或向量等。例如,回歸決策樹的葉子節點所對應的葉子值可以為數值,分類決策樹的葉子節點所對應的葉子值可以為向量。
滿二叉樹:當一個二叉樹除最後一層外,每一層上的所有節點都分裂為了兩個子結點時,可以將該二叉樹稱為滿二叉樹。
為了便於對以上術語進行理解,以下介紹一個場景示例。請參閱圖1。在本場景示例中,決策樹Tree1可以包括節點1、2、3、4、5等5個節點。節點1為根節點;節點1和2分別為普通節點;節點3、4和5分別為葉子節點。節點1、節點2和節點4可以形成一個預測路徑,節點1、節點2和節點5可以形成另一個預測路徑,節點1和節點3可以形成另一個預測路徑。
節點1、節點2和節點3對應的分裂條件如下表1所示。
表1
節點 | 分裂條件 |
節點1 | 年齡大於20歲 |
節點2 | 年收入大於5萬 |
節點3、節點4和節點5對應的葉子值如下表2所示。
表2
節點 | 葉子值 |
節點3 | 200 |
節點4 | 700 |
節點5 | 500 |
分裂條件“年齡大於20歲”、“年收入大於5萬”可以用於選擇預測路徑。當滿足分裂條件時,可以選擇左邊的預測路徑;當不滿足分裂條件時,可以選擇右邊的預測路徑。具體地,針對節點1,當滿足分裂條件“年齡大於20歲”時,可以選擇左邊的預測路徑,進而跳轉到節點2;當不滿足分裂條件“年齡大於20歲”時,可以選擇右邊的預測路徑,進而跳轉到節點3。針對節點2,當滿足分裂條件“年收入大於5萬”時,可以選擇左邊的預測路徑,進而跳轉到節點4;當不滿足分裂條件“年收入大於5萬”時,可以選擇右邊的預測路徑,進而跳轉到節點5。
一個或多個決策樹可以構成決策森林。用於實現將多個決策樹整合為決策森林的算法可以包括隨機森林(Random Forest)、極值梯度提升(Extreme Gradient Boosting,XGBoost)、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)等。所述決策森林為一種有監督的機器學習模型,具體可以包括回歸決策森林和分類決策森林。所述回歸決策森林可以包括一個或多個回歸決策樹。當回歸決策森林包括一個回歸決策樹時,可以將該回歸決策樹的預測結果作為該回歸決策森林的預測結果。當回歸決策森林包括多個回歸決策樹時,可以對所述多個回歸決策樹的預測結果進行求和處理,可以將求和結果作為該回歸決策森林的預測結果。所述分類決策森林可以包括一個或多個分類決策樹。當分類決策森林包括一個分類決策樹時,可以將該分類決策樹的預測結果作為該分類決策森林的預測結果。當分類決策森林包括多個分類決策樹時,可以對所述多個分類決策樹的預測結果進行統計,可以將統計結果作為該分類決策森林的預測結果。值得說明的是,在一些場景下,分類決策樹的預測結果可以為向量,所述向量可以用於表示類別。如此,可以對分類決策森林中多個分類決策樹預測出的向量進行求和處理,可以將求和結果作為該分類決策森林的預測結果。例如,某一分類決策森林可以包括分類決策樹Tree2、Tree3、Tree4。分類決策樹Tree2的預測結果可以為向量
,向量
表示類別A。分類決策樹Tree3的預測結果可以為向量
,向量
表示類別B。分類決策樹Tree4的預測結果可以為向量
,向量
表示類別C。那麼,可以對對向量
、
和
進行求和處理,得到向量
作為該分類決策森林的預測結果。向量
表示在分類決策森林中預測結果為類別A的次數為2次、預測結果為類別B的次數為1次,預測結果為類別C的次數為0次。
本說明書實施例提供一種資料處理系統。所述資料處理系統可以包括第一設備和第二設備。所述第一設備可以為伺服器、手機、平板電腦、或個人電腦等設備;或者,也可以為由多台設備組成的系統,例如由多個伺服器組成的伺服器集群。所述第一設備擁有需要保密的決策森林。所述第二設備可以為伺服器、手機、平板電腦、或個人電腦等設備;或者,也可以為由多台設備組成的系統,例如由多個伺服器組成的伺服器集群。所述第二設備擁有需要保密的業務資料,所述業務資料例如可以為交易資料、或借貸資料等等。
所述第一設備和所述第二設備可以進行協作計算,以使得所述第一設備獲得基於所述決策森林對所述業務資料進行預測後的預測結果。在此過程中,所述第一設備不能夠洩漏自身擁有的決策森林,所述第二設備不能夠洩漏自身擁有的業務資料。在一個場景示例中,所述第一設備隸屬於金融機構。所述第二設備隸屬於資料機構,諸如大資料公司、政府機構等。所述金融機構可以利用所述資料機構的業務資料對使用者個人的信用進行評估。
基於所述資料處理系統,本說明書提供資料處理方法的一個實施例。在實際應用中該實施例可以應用於預處理階段。請參閱圖2。該實施例以第一設備為執行主體,可以包括以下步驟。
步驟S10:保持原始決策森林中決策樹的分裂節點所對應的分裂條件不變,使用同態加密算法對原始決策森林中決策樹的葉子節點所對應的葉子值進行加密,得到加密決策森林。
在一些實施例中,為了便於區分,可以將加密處理前的決策森林稱為原始決策森林,可以將加密處理後的決策森林稱為加密決策森林。在原始決策森林中,決策樹的分裂節點對應有分裂條件的明文資料,決策樹的葉子節點對應有葉子值的明文資料。在加密決策森林中,決策樹的分裂節點對應有分裂條件的明文資料,決策樹的葉子節點對應有葉子值的密文資料,所述密文資料是由同態加密算法對葉子值進行加密得到的。
在一些實施例中,所述第一設備可以保持原始決策森林中決策樹的分裂節點所對應的分裂條件不變;可以使用同態加密算法對原始決策森林中決策樹的葉子節點所對應的葉子值進行加密,得到加密決策森林。這裡可以採用任意類型的同態加密算法對葉子值進行加密,只要確保該同態加密算法能夠支持加法同態即可。在實際應用中,可以採用Paillier算法、Okamoto-Uchiyama算法或Damgard-Jurik算法等同態加密算法對葉子值進行加密。在一個場景示例中,所述第一設備可以擁有用於進行同態加密的公私鑰對;可以利用所述公私鑰對中的公鑰,使用同態加密算法對葉子值進行加密。
步驟S12:向第二設備發送所述加密決策森林。
在一些實施例中,所述第一設備可以向所述第二設備發送所述加密決策森林,以便於所述第二設備基於所述加密決策森林對業務資料進行預測。這樣所述第二設備能夠獲得原始決策森林中決策樹的分裂節點所對應分裂條件的明文資料,而無法獲得原始決策森林中決策樹的葉子節點所對應葉子值的明文資料,從而實現了對原始決策森林的隱私保護。值得說明的是,這裡所述第一設備向所述第二設備發送所述加密決策森林,具體可以包括:所述第一設備向所述第二設備發送加密決策森林中各個決策樹的分裂節點的位置標識、分裂節點所對應分裂條件的明文資料、葉子節點的位置標識、葉子節點所對應葉子值的密文資料。其中,節點的位置標識可以用於標識該節點在決策樹中的位置,具體例如可以為該節點的編號等。
在一些實施例中,原始決策森林中的一個或多個決策樹為非滿二叉樹。如此,在步驟S10之前,所述第一設備還可以在非滿二叉樹的決策樹中添加虛假的節點,以使得該決策樹形成滿二叉樹。這樣可以隱藏原始決策森林中決策樹的結構,提高原始決策森林的隱私保護的力度。請參閱圖3。圖1所示的決策樹Tree1為非滿二叉樹。可以在圖1所示的決策樹Tree1中添加虛假的節點6和虛假的節點7。節點6對應的分裂條件可以隨機產生,或者,還可以按照特定策略產生。節點7對應的葉子值可以與節點3對應的葉子值相同。
在一些實施例中,在步驟S10之前,所述第一設備還可以在原始決策森林中添加一個或多個虛假的決策樹。這樣可以提高原始決策森林的隱私保護的力度。虛假的決策樹的層數可以與原始決策森林中真實的決策樹相同,也可以不同。虛假的決策樹的分裂節點所對應的分裂條件可以隨機產生,或者,還可以按照特定策略產生。虛假的決策樹的葉子節點所對應的葉子值可以為特定數值,例如可以為0等。
進一步地,在添加了虛假的決策樹之後,所述第一設備還可以對原始決策森林中的決策樹進行亂序處理。這樣可以避免在後續過程中第二設備根據加密決策森林中決策樹的排列順序猜測哪些決策樹為真實決策樹,哪些決策樹為虛假的決策樹。
本說明書實施例的資料處理方法,第一設備可以將加密決策森林發送至第二設備。這樣一態樣,實現了對原始決策森林的隱私保護。另一方面,便於第二設備基於加密決策森林對業務資料進行預測。
基於所述資料處理系統,本說明書提供資料處理方法的另一個實施例。在實際應用中該實施例可以應用於預測階段。請一併參閱圖4和圖5。該實施例以第二設備為執行主體,可以包括以下步驟。
步驟S20:基於加密決策森林,獲取與業務資料相匹配的目標葉子節點。
在一些實施例中,第一設備可以向第二設備發送加密決策森林。所述第二設備可以接收所述加密決策森林。所述加密決策森林可以包括至少一個決策樹。在所述加密決策森林中,決策樹的分裂節點對應有分裂條件的明文資料,決策樹的葉子節點對應有葉子值的密文資料。所述密文資料是由同態加密算法對葉子值進行加密得到的。
在一些實施例中,所述第二設備可以從所述加密決策森林的每個決策樹中,獲取與所述業務資料相匹配的一條預測路徑;可以將該預測路徑中的葉子節點,作為該決策樹中與所述業務資料相匹配的目標葉子節點。
步驟S22:向第一設備發送所述目標葉子節點對應的密文資料。
在一些實施例中,所述加密決策森林可以包括一個決策樹,這樣所述目標葉子節點的數量為一個。如此,所述第二設備可以直接向第一設備發送所述目標葉子節點對應的密文資料。所述第一設備可以接收所述目標葉子節點對應的密文資料;可以對接收的密文資料進行解密,得到所述目標葉子節點對應的葉子值;即,得到了精確的預測結果。在一個場景示例中,所述第一設備可以擁有用於進行同態加密的公私鑰對;可以利用所述公私鑰對中的私鑰,對接收的密文資料進行解密。
或者,所述第二設備還可以對所述目標葉子節點對應的密文資料與雜訊資料進行求和處理,得到第一求和結果;可以向所述第一設備發送所述第一求和結果。所述第一設備可以接收所述第一求和結果;可以對所述第一求和結果進行解密,得到對應的明文資料;即,得到了混入雜訊資料後的預測結果。所述雜訊資料的大小可以根據實際需要靈活設定,通常小於所述業務資料。所述第二設備可以採用任意可行方式獲得第一求和結果。在一個場景示例中,所述第一設備可以擁有用於進行同態加密的公私鑰對;所述第二設備可以擁有所述公私鑰對中的公鑰。所述目標葉子節點對應的密文資料可以表示為E(u),所述雜訊資料可以表示為s。所述第二設備可以利用所述公鑰,使用同態加密算法對所述雜訊資料s進行加密,得到E(s);可以對E(u)和E(s)進行求和處理,得到E(u)+E(s)=E(u+s);即,得到了所述第一求和結果。或者,所述第二設備還可以基於所述公鑰,使用同態加密算法直接根據E(u)和雜訊資料s產生第一求和結果E(u+s)。
在一些實施例中,所述加密決策森林可以包括多個決策樹,這樣所述目標葉子節點的數量為多個。如此,所述第二設備還可以對多個目標葉子節點對應的密文資料進行求和處理,得到第二求和結果;可以直接向第一設備發送所述第二求和結果。所述第一設備可以接收所述第二求和結果;可以對所述第二求和結果進行解密,得到對應的明文資料;即,得到了精確的預測結果。所述第二設備對所述第二求和結果進行解密的過程,可以參見前面對目標葉子節點對應的密文資料進行解密的過程,在此不再贅述。
或者,所述第二設備還可以對所述第二求和結果與雜訊資料進行求和處理,得到第三求和結果;可以向所述第一設備發送所述第三求和結果。所述第一設備可以接收所述第三求和結果;可以對所述第三求和結果進行解密,得到對應的明文資料;即,得到了混入雜訊資料後的預測結果。所述第二設備獲得所述第三求和結果的過程,可以參見前面獲得第一求和結果的過程,在此不再贅述。
本說明書實施例的資料處理方法,第二設備可以基於加密決策森林,獲取與業務資料相匹配的目標葉子節點;可以向第一設備發送所述目標葉子節點對應的密文資料。這樣在第一設備不洩漏自身擁有的決策森林、且第二設備不洩漏自身擁有的業務資料的條件下,所述第一設備可以獲得基於決策森林對業務資料進行預測後的預測結果。
基於所述資料處理系統,本說明書提供資料處理方法的另一個實施例。在實際應用中該實施例可以應用於預測階段。請一併參閱圖5和圖6。該實施例以第二設備為執行主體,可以包括以下步驟。
步驟S30:基於加密決策森林,獲取與業務資料相匹配的目標葉子節點。
所述第二設備獲取目標葉子節點的過程,可以參見前面的實施例,在此不再贅述。
步驟S32:以預設閾值和所述目標葉子節點對應的密文資料為輸入,與第一設備共同執行安全比較算法。
在一些實施例中,所述預設閾值的大小可以根據實際需要靈活設定。在實際應用中,所述預設閾值可以為一個臨界值。在預測結果大於所述預設閾值時,所述第一設備可以執行一種預置操作;在預測結果小於所述預設閾值時,所述第一設備可以執行另一種預置操作。例如,所述預設閾值可以為風險評估業務中的一個臨界值。當針對某一使用者的預測信用分值大於所述預設閾值時,則表示該使用者的風險水平較高,所述第一設備可以拒絕執行對該使用者進行貸款的操作;當針對某一使用者的預測信用分值小於所述閾值時,則表示該使用者的風險水平較低,所述第一設備可以執行對該使用者進行貸款的操作。
在一些實施例中,所述加密決策森林可以包括一個決策樹,這樣所述目標葉子節點的數量為一個。如此,所述第二設備可以直接以預設閾值和所述目標葉子節點對應的密文資料為輸入,所述第一設備可以以用於進行同態加密的私鑰為輸入,共同執行一個安全比較算法。透過執行該安全比較算法可以實現:在第二設備不洩漏所述目標葉子節點對應的密文資料的條件下,第一設備獲得第一比較結果,所述第一比較結果用於表示所述目標葉子節點對應的葉子值和所述預設閾值之間的大小關係。
這裡可以採用任意類型的安全比較算法。例如,所述第一設備可以擁有用於進行同態加密的公私鑰對;所述第二設備可以擁有所述公私鑰對中的公鑰。所述目標葉子節點對應的密文資料可以表示為E(u),所述預設閾值可以表示為t。所述第二設備可以產生正隨機數r;可以基於所述公鑰,使用同態加密算法產生E(r(u-t));可以向所述第一設備發送E(r(u-t))。所述第一設備可以接收E(r(u-t));可以基於所述私鑰,對E(r(u-t))進行解密,得到對應的明文資料r(u-t);可以根據r(u-t)的正負性,確定第一比較結果。具體地,在r(u-t)為正數時,所述第一設備可以確定所述目標葉子節點對應的葉子值大於所述預設閾值;在r(u-t)為負數時,所述第一設備可以確定所述目標葉子節點對應的葉子值小於所述預設閾值。另舉一例,所述第一設備可以擁有用於進行同態加密的公私鑰對;所述第二設備可以擁有所述公私鑰對中的公鑰。所述目標葉子節點對應的密文資料可以表示為E(u),所述預設閾值可以表示為t。所述第二設備可以產生正隨機數p;可以基於所述公鑰,使用同態加密算法產生E(u+p);可以向所述第一設備發送E(u+p)。所述第一設備可以接收所述E(u+p);可以基於所述私鑰,對E(u+p)進行解密,得到u+p。這樣所述第一設備可以基於持有的i=u+p,所述第二設備可以基於持有的j=t+p,共同執行多方安全比較算法。透過執行多方安全比較算法,所述第一設備可以獲得第一比較結果,所述第一比較結果可以表示i和j之間的大小關係,進而能夠表示u和t之間的大小關係。在執行多方安全比較算法的過程中,第一設備不能夠洩漏自身持有的i,第二設備不能夠洩漏自身持有的j。
在一些實施例中,所述加密決策森林可以包括多個決策樹,這樣所述目標葉子節點的數量為多個。如此,所述第二設備還可以對多個目標葉子節點對應的密文資料進行求和處理,得到求和結果。所述第二設備可以以預設閾值和所述求和結果為輸入,所述第一設備可以以用於進行同態加密的私鑰為輸入,共同執行安全比較算法。透過執行安全比較算法可以實現:在第二設備不洩漏所述求和結果的條件下,第一設備獲得第二比較結果,所述第二比較結果用於表示所述求和結果對應的明文資料和所述預設閾值之間的大小關係。關於執行安全比較算法的過程,可以參見前面的實施例,在此不再贅述。
本說明書實施例的資料處理方法,第二設備可以基於加密決策森林,獲取與業務資料相匹配的目標葉子節點;可以以預設閾值和所述目標葉子節點對應的密文資料為輸入,與第一設備共同執行安全比較算法,以便於所述第一設備獲得比較結果;所述比較結果用於表示預測結果和所述預設閾值之間的大小關係。這樣在第一設備不洩漏自身擁有的決策森林、且第二設備不洩漏自身擁有的業務資料的條件下,所述第一設備可以獲得基於決策森林對業務資料進行預測後的預測結果和預設閾值之間的比較結果。
請參閱圖7。本說明書還提供一種資料處理裝置的實施例。該實施例可以應用於第一設備,具體包括以下單元。
加密單元40,用於保持原始決策森林中決策樹的分裂節點所對應的分裂條件不變,使用同態加密算法對原始決策森林中決策樹的葉子節點所對應的葉子值進行加密,得到加密決策森林;
發送單元42,用於向第二設備發送所述加密決策森林。
請參閱圖8。本說明書還提供一種資料處理裝置的實施例。該實施例可以應用於第二設備,具體包括以下單元。
獲取單元50,用於基於加密決策森林,獲取與業務資料相匹配的目標葉子節點;所述加密決策森林包括至少一個決策樹,所述決策樹的分裂節點對應有分裂條件的明文資料,所述決策樹的葉子節點對應有葉子值的密文資料,所述密文資料由同態加密算法對葉子值進行加密得到;
發送單元52,用於向第一設備發送所述目標葉子節點對應的密文資料。
請參閱圖9。本說明書還提供一種資料處理裝置的實施例。該實施例可以應用於第二設備,具體包括以下單元。
獲取單元60,用於基於加密決策森林,獲取與業務資料相匹配的目標葉子節點;所述加密決策森林包括至少一個決策樹,所述決策樹的分裂節點對應有分裂條件的明文資料,所述決策樹的葉子節點對應有葉子值的密文資料,所述密文資料由同態加密算法對葉子值進行加密得到;
比較單元62,用於以預設閾值和所述目標葉子節點對應的密文資料為輸入,與第一設備共同執行安全比較算法,以便於所述第一設備獲得第一比較結果;所述第一比較結果用於表示所述目標葉子節點對應的葉子值和所述預設閾值之間的大小關係。
下面介紹本說明書電子設備的一個實施例。圖10是該實施例中一種電子設備的硬體結構示意圖。如圖10所示,所述電子設備可以包括一個或多個(圖中僅示出一個)處理器、記憶體和傳輸模組。當然,本領域普通技術人員可以理解,圖10所示的硬體結構僅為示意,其並不對上述電子設備的硬體結構造成限定。在實際中所述電子設備還可以包括比圖10所示更多或者更少的組件單元;或者,具有與圖10所示不同的配置。
所述記憶體可以包括高速隨機記憶體;或者,還可以包括非揮發性記憶體,例如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非揮發性固態記憶體。當然,所述記憶體還可以包括遠端設置的網路記憶體。所述遠端設置的網路記憶體可以透過諸如網際網路、企業內部網、區域網、行動通訊網等網路連接至所述電子設備。所述記憶體可以用於儲存應用軟體的程式指令或模組,例如本說明書圖2所對應實施例的程式指令或模組、圖4所對應實施例的程式指令或模組、圖6所對應實施例的程式指令或模組。
所述處理器可以按任何適當的方式實現。例如,所述處理器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式等等。所述處理器可以讀取並執行所述記憶體中的程式指令或模組。
所述傳輸模組可以用於經由網路進行資料傳輸,例如經由諸如網際網路、企業內部網、區域網、行動通訊網等網路進行資料傳輸。
需要說明的是,本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其它實施例的不同之處。尤其,對於裝置實施例和電子設備實施例而言,由於其基本相似於資料處理方法實施例,所以描述的比較簡單,相關之處參見資料處理方法實施例的部分說明即可。
另外,可以理解的是,本領域技術人員在閱讀本說明書文件之後,可以無需創造性勞動想到將本說明書列舉的部分或全部實施例進行任意組合,這些組合也在本說明書公開和保護的範圍內。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式化來確定。由設計人員自行程式化來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片2。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式化語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL 也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language ) 與Verilog2。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書可借助軟體加必需的通用硬體平台的方式來實現。基於這樣的理解,本說明書的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台計算機設備(可以是個人計算機,伺服器,或者網路設備等)執行本說明書各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書可用於眾多通用或專用的計算機系統環境或配置中。例如:個人計算機、伺服器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基於微處理器的系統、機上盒、可程式化的消費電子設備、網路PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
本說明書可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分布式計算環境中實踐本說明書,在這些分布式計算環境中,由透過通訊網路而被連接的遠端處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端計算機儲存媒體中。
雖然透過實施例描繪了本說明書,本領域普通技術人員知道,本說明書有許多變形和變化而不脫離本說明書的精神,希望所附的申請專利範圍包括這些變形和變化而不脫離本說明書的精神。