本發(fā)明總體上涉及一種數(shù)據(jù)庫存儲數(shù)據(jù)的方法,更具體地來說,涉及一種在不同數(shù)據(jù)庫之間存儲訂單數(shù)據(jù)的方法。
背景技術:
隨著電子商務市場的日益發(fā)展壯大,通過自動化的供應鏈管理可以將商超與供應商之間建立起方便快捷的信息交流,比如商超通過訂單系統(tǒng)接收客戶的訂單數(shù)據(jù),并將這些訂單數(shù)據(jù)提供給供應商,供應商將訂單數(shù)據(jù)錄入到其供應管理系統(tǒng),從而可以根據(jù)訂單情況詳細了解商超各種商品的銷售情況并及時向商超供應相應的商品。
然而現(xiàn)有技術中給商超提供商品的供應商有很多,每個供應商都有自己的商品供應管理系統(tǒng),每個供應商的供應管理系統(tǒng)所采用的數(shù)據(jù)庫可能是不相同的,比如可以采用Access數(shù)據(jù)庫、DB2數(shù)據(jù)庫、Oracle數(shù)據(jù)庫等,并且數(shù)據(jù)庫中所定義的數(shù)據(jù)結構也是千差萬別的,比如供應管理系統(tǒng)A中對某個商品在其數(shù)據(jù)庫中的數(shù)據(jù)結構定義為:名稱、型號、數(shù)量、價格等,而供應管理系統(tǒng)B中對該商品在其數(shù)據(jù)庫中的數(shù)據(jù)結構定義為:品名、類型、數(shù)目、價格、庫存量等,而商超訂單系統(tǒng)C中對該商品在其數(shù)據(jù)庫中所定義的數(shù)據(jù)結構可能為:名稱、型號、數(shù)量、價格、下單時間、客戶地址、電話等。由于商超訂單系統(tǒng)和各個供應商的供應管理系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構定義的不同,比如商超訂單系統(tǒng)C中的訂單數(shù)據(jù)中包含“客戶地址”數(shù)據(jù)項,而供應管理系統(tǒng)A和B中數(shù)據(jù)庫的數(shù)據(jù)結構中均不包含“客戶地址”數(shù)據(jù)項,因此會出現(xiàn)無法導入該數(shù)據(jù)項的情況,再比如商超訂單系統(tǒng)C中的數(shù)據(jù)結構定義了“名稱”數(shù)據(jù)項,而供應管理系統(tǒng)B中的數(shù)據(jù)結構定義了“品名”數(shù)據(jù)項,那么就會存在能否將 商超訂單系統(tǒng)C中的“名稱”數(shù)據(jù)項導入到供應管理系統(tǒng)B的“品名”數(shù)據(jù)項中的問題。
現(xiàn)有技術中供應商可以將商超的訂單數(shù)據(jù)從商超訂單系統(tǒng)中下載下來,然后手工錄入到其商品供應管理系統(tǒng)中,或者市場上現(xiàn)有某些軟件供應商,實現(xiàn)了先將商超系統(tǒng)訂單頁面打包下載,然后將這些下載好的文件,通過FTP等方式,傳輸?shù)椒掌?,再將?shù)據(jù)導入商品供應管理系統(tǒng),然而現(xiàn)有的軟件在導入數(shù)據(jù)時僅僅針對的是商超訂單的數(shù)據(jù)結構與供應商的供應管理系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構定義一致時才有效,當多個供應商的供應管理系統(tǒng)中數(shù)據(jù)庫采用不同的數(shù)據(jù)結構時就無法實現(xiàn)對每一個數(shù)據(jù)庫自動導入,因此如何實現(xiàn)商超定單系統(tǒng)中的訂單數(shù)據(jù)能夠自動導入各個不同供應商的供應管理系統(tǒng)變得尤為重要,可見如何有效的保證商超訂單系統(tǒng)中的訂單數(shù)據(jù)能夠不受限制的自動導入的各個不同供應商的供應管理系統(tǒng)中成為亟需解決的問題。
技術實現(xiàn)要素:
為了克服現(xiàn)有技術中的不足,本發(fā)明提供了一種在不同數(shù)據(jù)庫之間存儲數(shù)據(jù)的方法,該方法能夠保證訂單數(shù)據(jù)能夠在商超訂單系統(tǒng)以及各個不同供應商的供應管理系統(tǒng)的數(shù)據(jù)庫之間不受限制的自動導入。
一種在不同數(shù)據(jù)庫之間存儲數(shù)據(jù)的方法,包括如下步驟:
步驟A,從訂單系統(tǒng)數(shù)據(jù)庫中獲取訂單數(shù)據(jù)以及該訂單數(shù)據(jù)在該數(shù)據(jù)庫中的數(shù)據(jù)結構{A1,A2,…,An};
步驟B,獲取供應管理系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構{B1,B2,…,Bm};
步驟C,依次將{A1,A2,…,An}中的每一項與{B1,B2,…,Bm}中的每一項進行比較,判斷Ai與Bj是否一致,當Ai與Bj一致時將兩者的對應關系保存為Ck,最終獲得所有的對應關系{C1,C2,…,Cp},其中 1<i<n,1<j<m,1<k<Min(n,m),1<p<Min(n,m),Min(n,m)為取n和m中較小的值;
步驟D,按照所獲得的對應關系{C1,C2,…,Cp}將商超的訂單數(shù)據(jù)存入供應管理系統(tǒng)數(shù)據(jù)庫中。
進一步地,其中步驟C中的判斷Ai與Bj是否一致進一步包括計算Ai和Bj的語義相似度Sin(Ai,Bj),如果Sin(Ai,Bj)大于一定閾值則判斷Ai與Bj一致,否則判斷Ai與Bj不一致,其中0<Sin(Ai,Bj)<1,當Ai和Bj完全相同時Sin(Ai,Bj)為1,當Ai和Bj沒有任何關聯(lián)時Sin(Ai,Bj)為0。
進一步地,其中所述閾值設定為0.9、0.85或0.8。
進一步地,其中計算語義相似度Sin(Ai,Bj)進一步包括:將訂單系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構中的詞匯A1,A2,…,An,以及供應管理系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)結構中的詞匯B1,B2,…,Bm構建為樹狀層次結構,其中各個詞匯為樹狀層次結構的節(jié)點,各節(jié)點之間通過邊連接形成樹狀層次結構;
進一步地,依次設置樹狀層次結構中各節(jié)點所引出的邊的權值weight(C),其中Wid(C)表示節(jié)點C的孩子節(jié)點的數(shù)量,weight(parent(C))表示詞匯C的父節(jié)點所引出的邊的權值;
步驟C3,計算Ai和Bj的語義距離Dist(Ai,Bj),其中weight(i)是在樹狀層次體系結構中連接Ai,Bj最短路徑上t條邊的權值;步驟C4,計算Ai和Bj的語義相似度Sin(Ai,Bj),其中t為可調(diào)節(jié)的參數(shù)。
進一步地,其中參數(shù)t可設置為2或3。
具體實施方式
一種在不同數(shù)據(jù)庫之間存儲數(shù)據(jù)的方法,包括如下步驟:
步驟A,從訂單系統(tǒng)數(shù)據(jù)庫中獲取訂單數(shù)據(jù)以及該訂單數(shù)據(jù)在該數(shù)據(jù)庫中 的數(shù)據(jù)結構{A1,A2,…,An};
步驟B,獲取供應管理系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構{B1,B2,…,Bm};
步驟C,依次將{A1,A2,…,An}中的每一項與{B1,B2,…,Bm}中的每一項進行比較,判斷Ai與Bj是否一致,當Ai與Bj一致時將兩者的對應關系保存為Ck,最終獲得所有的對應關系{C1,C2,…,Cp},其中1<i<n,1<j<m,1<k<Min(n,m),1<p<Min(n,m),Min(n,m)為取n和m中較小的值;
步驟D,按照所獲得的對應關系{C1,C2,…,Cp}將商超的訂單數(shù)據(jù)存入供應管理系統(tǒng)數(shù)據(jù)庫中。
其中步驟C中的判斷Ai與Bj是否一致進一步包括計算Ai和Bj的語義相似度Sin(Ai,Bj),如果Sin(Ai,Bj)大于一定閾值則判斷Ai與Bj一致,否則判斷Ai與Bj不一致,其中0<Sin(Ai,Bj)<1,當Ai和Bj完全相同時Sin(Ai,Bj)為1,當Ai和Bj沒有任何關聯(lián)時Sin(Ai,Bj)為0。
其中所述閾值設定為0.9、0.85或0.8。
其中計算語義相似度Sin(Ai,Bj)進一步包括:將訂單系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)結構中的詞匯A1,A2,…,An,以及供應管理系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)結構中的詞匯B1,B2,…,Bm構建為樹狀層次結構,其中各個詞匯為樹狀層次結構的節(jié)點,各節(jié)點之間通過邊連接形成樹狀層次結構;
依次設置樹狀層次結構中各節(jié)點所引出的邊的權值weight(C),其中Wid(C)表示節(jié)點C的孩子節(jié)點的數(shù)量,weight(parent(C))表示詞匯C的父節(jié)點所引出的邊的權值;
步驟C3,計算Ai和Bj的語義距離Dist(Ai,Bj),其中weight(i)是在樹狀層次體系結構中連接Ai,Bj最短路徑上t條邊的權值;步驟C4, 計算Ai和Bj的語義相似度Sin(Ai,Bj),其中t為可調(diào)節(jié)的參數(shù)。
其中參數(shù)t可設置為2或3。