專利名稱:對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,更具體地說(shuō),涉及數(shù)據(jù)集成。
背景技術(shù):
在數(shù)據(jù)集成中,常常需要將一個(gè)系統(tǒng)的數(shù)據(jù)集成到另一個(gè)系統(tǒng),該系統(tǒng)
可以是企業(yè)的信息系統(tǒng),例如ERP ( Enterprise Resource Planning ,企業(yè)資源計(jì)
劃)系統(tǒng)等。
現(xiàn)有的進(jìn)行數(shù)據(jù)集成的一種過(guò)程包括(1 )從源系統(tǒng)接收到數(shù)據(jù);(2) 查詢每條數(shù)據(jù)是否已經(jīng)存在目標(biāo)系統(tǒng)中;(3)根據(jù)查詢結(jié)果進(jìn)行相應(yīng)處理 若存在則更新,若不存在則新增。在該系統(tǒng)中,對(duì)每條數(shù)據(jù)都需要做一個(gè)"查 詢是否已經(jīng)存在"的操作,對(duì)于源系統(tǒng)數(shù)據(jù)具有遞增性(例如M、 M+l、 M+2........M+K, K為正整數(shù))的情況也仍然如此,數(shù)據(jù)集成過(guò)程比較繁瑣。
現(xiàn)有的進(jìn)行數(shù)據(jù)集成的另一種過(guò)程包括(1 )從源系統(tǒng)接收數(shù)據(jù),并用 變量M記錄遞增列的已集成數(shù)據(jù)中的最大值;(2 )將接收到的數(shù)據(jù)標(biāo)識(shí)號(hào) (Identifier, Id)與變量M比較;(3 )根據(jù)比較結(jié)果進(jìn)行相應(yīng)處理接收數(shù) 據(jù)Id大于M時(shí),表明該數(shù)據(jù)一定沒(méi)有被集成過(guò),在在目標(biāo)系統(tǒng)中新增該數(shù)據(jù), 并且更新變量M;若Id小于M,則查詢?cè)摂?shù)據(jù)是否已經(jīng)存在目標(biāo)系統(tǒng)中,若存 在則更新,若不存在則新增。該技術(shù)在對(duì)遞增性數(shù)據(jù)作并發(fā)處理時(shí),Id在后面 的數(shù)據(jù)可能先處理,M則更新為該Id的值。其后剩下的數(shù)據(jù)其實(shí)都比其小,但 每一個(gè)數(shù)據(jù)都必須執(zhí)行"與新的M比較、查詢是否存在,,的操作,此對(duì)數(shù)據(jù)進(jìn) 行查詢的次數(shù)較多,導(dǎo)致處理效率較低。
因此需要一種新的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,能夠減少對(duì)數(shù)據(jù)的查 詢操作,提高集成效率。
發(fā)明內(nèi)容
本發(fā)明的目的之一在于提供一種對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法及系統(tǒng), 以減少在對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成時(shí)的查詢次數(shù),提高處理效率。
才艮據(jù)本發(fā)明,所述對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng)可包括用于接收源系統(tǒng) 數(shù)據(jù)的數(shù)據(jù)接收單元、用于判斷源系統(tǒng)數(shù)據(jù)所在的區(qū)間的定位單元、用于對(duì) 源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新的數(shù)據(jù)調(diào)配單元,所述系統(tǒng)還可包括
設(shè)置有 一 緩存區(qū)的狀態(tài)判斷單元,對(duì)所述區(qū)間位于緩存區(qū)數(shù)值范圍內(nèi)的 源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷,并將判斷結(jié)果發(fā)送給數(shù)據(jù)調(diào)配單元。其中,所述緩存區(qū)保存有已集成數(shù)據(jù)中最大值+K范圍內(nèi)的數(shù)據(jù)狀態(tài),其 中K為正整數(shù)。
其中,所述系統(tǒng)還可包括
數(shù)據(jù)查詢單元,查詢所述源系統(tǒng)數(shù)據(jù)在目標(biāo)系統(tǒng)中是否存在,并將查詢 結(jié)果發(fā)送給數(shù)據(jù)調(diào)配單元。
其中,所述數(shù)據(jù)調(diào)配單元可包括
數(shù)據(jù)新增模塊,用于將未集成過(guò)的數(shù)據(jù)新增到目標(biāo)系統(tǒng)中; 數(shù)據(jù)更新模塊,用于將已集成過(guò)的數(shù)據(jù)在目標(biāo)系統(tǒng)中更新。 另一方面,根據(jù)本發(fā)明,所述對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法包括以下步
驟
A. 接收源系統(tǒng)數(shù)據(jù),并判斷源系統(tǒng)數(shù)據(jù)所在的區(qū)間;
B. 對(duì)所述區(qū)間位于一緩存區(qū)數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判
斷;
C. 根據(jù)判斷結(jié)果對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新操作。 其中,在所述步驟A之前還可包括
設(shè)置對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷的緩存區(qū)。
其中,所述設(shè)置對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷的緩存區(qū)的過(guò)程包括 將變量M設(shè)為已集成數(shù)據(jù)中的最大值N,并將[N+1, N+K]范圍的數(shù)據(jù)狀 態(tài)存儲(chǔ)到一緩存區(qū)中,其中K為正整數(shù)。 其中,所述步驟B可包括
Bl.將位于[N+1 , N+K]的數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)送入所述緩存區(qū)中; B2.利用所述緩存區(qū)判斷所述源系統(tǒng)數(shù)據(jù)的集成狀態(tài),所述集成狀態(tài)包括 已集成過(guò)、未集成過(guò)。
其中,所述步驟C可包括
若所述判斷結(jié)果是已集成過(guò),則對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行更新。 若所述判斷結(jié)果是未集成過(guò),則對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增。其中,還包括
對(duì)于超過(guò)N+K的源系統(tǒng)數(shù)據(jù)X,在目標(biāo)系統(tǒng)中新增,并將變量M賦值為X-K,
以及將X-K之后的數(shù)據(jù)設(shè)置為未集成過(guò)。
根據(jù)本發(fā)明,可避免在對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的過(guò)程中進(jìn)行多次重復(fù)查
詢,因此提高了處理效率。
圖l是本發(fā)明一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng)結(jié)構(gòu)圖2是圖1所示系統(tǒng)的 一個(gè)實(shí)施例中數(shù)據(jù)調(diào)配單元的結(jié)構(gòu)圖3是本發(fā)明 一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法流程5圖4是圖3所示流程的 一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法流程圖。
具體實(shí)施例方式
以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。 圖1示出了本發(fā)明其中 一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng)結(jié)構(gòu),
該系統(tǒng)包括數(shù)據(jù)接收單元IO、定位單元20、數(shù)據(jù)查詢單元30、狀態(tài)判斷單元 40和數(shù)據(jù)調(diào)配單元50。應(yīng)當(dāng)說(shuō)明的是,本發(fā)明所有圖示中各設(shè)備之間的連接 關(guān)系是為了清楚闡釋其信息交互及控制過(guò)程的需要,因此應(yīng)當(dāng)視為邏輯上的 連接關(guān)系,而不應(yīng)僅限于物理連接。另外需要說(shuō)明的是,各功能模塊之間的 通信方式可以采取多種,本發(fā)明的保護(hù)范圍不應(yīng)限定為某種特定類型的通信 方式。其中
(1) 數(shù)據(jù)接收單元10用于接收源系統(tǒng)數(shù)據(jù),并將其發(fā)送給定位單元20。 在本發(fā)明中,源系統(tǒng)數(shù)據(jù)具有遞增性,例如以一定的等差d進(jìn)行遞增,構(gòu)成一 組等差數(shù)列,當(dāng)?shù)炔頳為l時(shí),該源系統(tǒng)數(shù)據(jù)為X、 X+l、 X+2........ X+K。
(2) 定位單元20與數(shù)據(jù)接收單元10、數(shù)據(jù)查詢單元30、狀態(tài)判斷單元40 和數(shù)據(jù)調(diào)配單元50分別相連,用于判斷接收到的源系統(tǒng)數(shù)據(jù)所在的數(shù)值區(qū)間, 并將不同區(qū)間的源系統(tǒng)數(shù)據(jù)發(fā)送至相應(yīng)的處理單元。
(3) 數(shù)據(jù)查詢單元30與定位單元20、數(shù)據(jù)調(diào)配單元50分別相連,用于查 詢并判斷所接收的源系統(tǒng)數(shù)據(jù)的狀態(tài),并將判斷結(jié)果送入50進(jìn)行處理。本發(fā) 明中,源系統(tǒng)凄史據(jù)的狀態(tài)包括已集成過(guò)、未集成過(guò)。
(4) 狀態(tài)判斷單元40與定位單元20和數(shù)據(jù)調(diào)配單元50分別相連,其設(shè)置 有用于判斷數(shù)據(jù)狀態(tài)的緩存區(qū),對(duì)落入緩存區(qū)數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行 集成狀態(tài)(包括已集成過(guò)、未集成過(guò))判斷,并將判斷結(jié)果發(fā)送給數(shù)據(jù)調(diào)配 單元50。
(5) 數(shù)據(jù)調(diào)配單元50用于對(duì)數(shù)據(jù)進(jìn)行新增或更新,若所接收的源系統(tǒng)數(shù) 據(jù)未集成過(guò),則在目標(biāo)系統(tǒng)中新增該數(shù)據(jù),若已集成過(guò),則在目標(biāo)系統(tǒng)中對(duì) 該數(shù)據(jù)進(jìn)行更新。
如上所述,定位單元20用于判斷接收到的源系統(tǒng)數(shù)據(jù)所在的數(shù)值區(qū)間, 并將不同區(qū)間的源系統(tǒng)數(shù)據(jù)發(fā)送至相應(yīng)的處理單元。在一個(gè)實(shí)施例中,若所 接收到的源系統(tǒng)數(shù)據(jù)為X,狀態(tài)判斷單元40所設(shè)置的緩存區(qū)數(shù)值范圍為[N+l, N+K],那么定位單元20的判斷及處理方式如下
若X〈N+1 ,則將該源系統(tǒng)數(shù)據(jù)X送入數(shù)據(jù)查詢單元30;
若N+1《X《N+K,則將該源系統(tǒng)數(shù)據(jù)X送入狀態(tài)判斷單元40;若X〉N+K,則將該源系統(tǒng)數(shù)據(jù)X送入數(shù)據(jù)調(diào)配單元50。
在一個(gè)實(shí)施例中,狀態(tài)判斷單元40中設(shè)置的緩存區(qū)保存有已集成數(shù)據(jù)中 最大值+K范圍內(nèi)的數(shù)據(jù)狀態(tài),其中K為正整數(shù),已集成數(shù)據(jù)中最大值為N。
初始化時(shí),先初始化變量M為當(dāng)前已經(jīng)集成到的最大值N。緩存區(qū)中的狀 態(tài)表示的是ID為N+1, N+2, N+3, ......, N+K的狀態(tài)。因?yàn)槭荌D是遞增的,
所以ID為N+1后的數(shù)據(jù)都未被集成過(guò)。所以在第一次初始化時(shí),緩存區(qū)內(nèi)的 狀態(tài)都是未集成過(guò)。
當(dāng)狀態(tài)判斷單元40接收到定位單元20發(fā)送過(guò)來(lái)的數(shù)據(jù)(N+l《X《N +K) 后,則利用預(yù)先設(shè)置好的緩存區(qū)判斷該源系統(tǒng)數(shù)據(jù)X的狀態(tài),包括已集成過(guò)或 未集成過(guò)。
圖2示出了本發(fā)明其中一個(gè)實(shí)施例中數(shù)據(jù)調(diào)配單元50的結(jié)構(gòu),包括數(shù)據(jù)新 增模塊51和數(shù)據(jù)更新模塊52。其中
數(shù)據(jù)新增模塊51用于將未集成過(guò)的源系統(tǒng)數(shù)據(jù)新增到目標(biāo)系統(tǒng)中。而對(duì) 于不同來(lái)源的未集成過(guò)的數(shù)據(jù)X,具體還可包括以下幾種處理情形(l)若 數(shù)據(jù)"未集成過(guò)"的狀態(tài)是由定位單元20發(fā)送過(guò)來(lái)的,則在新增后需要將輪 詢變量設(shè)置為1V^X-K,并將其后數(shù)據(jù)的狀態(tài)設(shè)置為未集成;(2)若數(shù)據(jù)"未 集成過(guò)"的狀態(tài)是由數(shù)據(jù)查詢單元30發(fā)送過(guò)來(lái),則僅新增,無(wú)需作后續(xù)處理; (3)若數(shù)據(jù)"未集成過(guò)"的狀態(tài)是由狀態(tài)判斷單元40發(fā)送過(guò)來(lái),則在新增后 要將緩存區(qū)中該數(shù)據(jù)的狀態(tài)設(shè)置為已集成。
數(shù)據(jù)更新模塊52用于將已集成過(guò)的源系統(tǒng)數(shù)據(jù)在目標(biāo)系統(tǒng)中更新。典型 的,可將新數(shù)據(jù)覆蓋原始數(shù)據(jù)。
圖3示出了本發(fā)明其中 一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法流程, 包括如下步驟
在步驟S301中,接收源系統(tǒng)數(shù)據(jù),并設(shè)置用于判斷數(shù)據(jù)狀態(tài)的緩存區(qū)。 在步驟S302中,判斷源系統(tǒng)數(shù)據(jù)的區(qū)間,并利用緩存區(qū)對(duì)落入其數(shù)值范 圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷。
在步驟S303中,根據(jù)判斷結(jié)果,對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新操作。
圖4示出了本發(fā)明其中一個(gè)實(shí)施例中對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法流程, 具體過(guò)程如下
在步驟S401中,狀態(tài)判斷單元40將變量M設(shè)為已集成數(shù)據(jù)中的最大值N, 設(shè)置+K范圍的數(shù)據(jù)狀態(tài)緩存區(qū)。在步驟S402中,數(shù)據(jù)接收單元10接收源系統(tǒng)數(shù)據(jù),并將其發(fā)送給定位單 元20。
在步驟S403中,定位單元20判斷接收到的源系統(tǒng)數(shù)據(jù)所在的數(shù)值區(qū)間, 并將不同區(qū)間的源系統(tǒng)數(shù)據(jù)發(fā)送至相應(yīng)的處理單元,包括若X〈N,則將該 源系統(tǒng)數(shù)據(jù)X送入數(shù)據(jù)查詢單元30;若N+1《X《N+K,則將該源系統(tǒng)數(shù)據(jù)X 送入狀態(tài)判斷單元40;若X〉N+K,則將該源系統(tǒng)數(shù)據(jù)X送入數(shù)據(jù)調(diào)配單元50。
在步驟S404中,數(shù)據(jù)查詢單元30收到定位單元20發(fā)送的源系統(tǒng)數(shù)據(jù) (X〈N+1)后,則查詢并判斷所接收的源系統(tǒng)數(shù)據(jù)的狀態(tài),并將判斷結(jié)果送 入數(shù)據(jù)調(diào)配單元50進(jìn)行處理。
在步驟S405中,數(shù)據(jù)調(diào)配單元50接收到數(shù)據(jù)查詢單元30發(fā)送的判斷結(jié)果, 并作出相應(yīng)處理若判斷結(jié)果是未集成過(guò),則在目標(biāo)系統(tǒng)中新增該源系統(tǒng)數(shù) 據(jù);若已集成過(guò),則轉(zhuǎn)步驟S407。
在步驟S406中,狀態(tài)判斷單元40收到定位單元20發(fā)送的源系統(tǒng)數(shù)據(jù)(N+l 《X《N+K)后,則利用預(yù)先設(shè)置的緩存區(qū)對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷, 并將判斷結(jié)果發(fā)送給數(shù)據(jù)調(diào)配單元50。
在步驟S407中,數(shù)據(jù)調(diào)配單元50接收到狀態(tài)判斷單元40發(fā)送的判斷結(jié)果, 并作出相應(yīng)處理若判斷結(jié)果是已集成過(guò),則在目標(biāo)系統(tǒng)中更新該數(shù)據(jù);若 判斷結(jié)果是未集成過(guò),則轉(zhuǎn)步驟S408。
在步驟S408中,數(shù)據(jù)調(diào)配單元50接收到狀態(tài)判斷單元40發(fā)送的判斷結(jié)果 是未集成過(guò),則在目標(biāo)系統(tǒng)中新增該數(shù)據(jù)。
在步驟S409中,當(dāng)數(shù)據(jù)調(diào)配單元50將狀態(tài)判斷單元40發(fā)送的源系統(tǒng)數(shù)據(jù) 數(shù)據(jù)(N+1《X《N+K)新增后,則將緩存區(qū)中該數(shù)據(jù)的狀態(tài)設(shè)置為已集成。
在步驟S410中,數(shù)據(jù)調(diào)配單元50接收到定位單元20發(fā)送的源系統(tǒng)數(shù)據(jù) (X〉N+K)后,說(shuō)明該數(shù)據(jù)是未集成過(guò)的,則直接在目標(biāo)系統(tǒng)中新增該數(shù)據(jù), 并轉(zhuǎn)步驟S411。
在步驟S411中,數(shù)據(jù)調(diào)配單元50將定位單元20發(fā)送的源系統(tǒng)數(shù)據(jù) (X〉N+K)新增后,在將輪詢變量設(shè)置為M二X-K,并將其后數(shù)據(jù)設(shè)置為未集 成過(guò)。
在一個(gè)具體實(shí)施例中,若緩存區(qū)長(zhǎng)度K二6。塊數(shù)組為status, true表示已集 成過(guò),false表示未集成過(guò)。目標(biāo)系統(tǒng)已經(jīng)集成過(guò)3條數(shù)據(jù),Id分別為l、 3、 5。 最大的Id為5,所有初始化M二5,三個(gè)線程并發(fā)。具體過(guò)程如下
首先進(jìn)行初始化
k=6, M=5, status[l]=false, status[2]=fase, status[3]=false, status[4]=false, status[5]二false, status[6]=false 。(1 )數(shù)據(jù)一、Id=8, M<Id<M+K。
因?yàn)?<8<5+6,所以查詢緩存區(qū)狀態(tài)8-5=3 ,第三位狀態(tài)status[3;hfalse 所以數(shù)據(jù)未被集成過(guò)
更新?tīng)顟B(tài)更新第Id-M位狀態(tài)
status[l]二false, status[2]=false, status[3]=true, status[4]=false, status[5 ]=false, status[6]=false。
(2) 數(shù)據(jù)二、 Id=4,那么IcKM。
查詢一次目標(biāo)系統(tǒng),由于目標(biāo)系統(tǒng)只有l(wèi)、 3、 5。得到該數(shù)據(jù)未被集成過(guò)。
(3) 數(shù)據(jù)三、Id二6。
因?yàn)?<6<5+6,所以查詢緩存區(qū)狀態(tài)。查看塊中的狀態(tài)6-5=1 ,第一位 狀態(tài)status[l]二false,所以數(shù)據(jù)未被集成過(guò)。 更新?tīng)顟B(tài)更新第Id-M位狀態(tài)
status[l]=true, status[2]=false, status[3〗=true, status[4]=false, status[5]-false, status [6]=false。
(4) 數(shù)據(jù)四、Id= 10。
因?yàn)?<10<5+6,所以查詢緩存區(qū)狀態(tài),查看塊中的狀態(tài)10-5=5,第五 位狀態(tài)status[5^false,所以數(shù)據(jù)未被集成過(guò)。 更新?tīng)顟B(tài)更新第Id-M位狀態(tài)
Status[l]=true, status[2]=false, status[3]=true, status[4]=false, status[5]=trae, status[6]=false。
(5) 數(shù)據(jù)五、Id=14。
因?yàn)?+6 <14,所以直接得出數(shù)據(jù)狀態(tài)是未被集成過(guò)。 移動(dòng)緩存區(qū)包括下列步驟
1、 移動(dòng)M: M = Id-k=14-6=8;
2、 移動(dòng)status數(shù)組 原status數(shù)組(原M-5):
status[l]( Id=M+l=6)=true,status[2]( Id=7)=false,
status[3]( Id=8)=true,status[4]( Id=9)=false,
status[5]( Id=10)=true,status[6]( Id=l l)=false。
移動(dòng)后status數(shù)組(現(xiàn)M^8):
status[l]( Id= M +l=9)=false, status[2]( Id=10)=true
status[3]( Id=l l)=false,這部分狀態(tài)由前面的狀態(tài)得到。
這部分新增id的狀態(tài)為未集成,因?yàn)榍懊孀畲蟮募蒊d- M +k=5+6==l 1 。
status[4](Id=12)=false, status[5]( Id=13)=false, status[6]( Id=14)=false。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng),包括用于接收源系統(tǒng)數(shù)據(jù)的數(shù)據(jù)接收單元、用于判斷源系統(tǒng)數(shù)據(jù)所在的區(qū)間的定位單元、用于對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新的數(shù)據(jù)調(diào)配單元,其特征在于,所述系統(tǒng)還包括設(shè)置有一緩存區(qū)的狀態(tài)判斷單元,對(duì)所述區(qū)間位于緩存區(qū)數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷,并將判斷結(jié)果發(fā)送給數(shù)據(jù)調(diào)配單元。
2、 根據(jù)權(quán)利要求l所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng),其特征在于,所述緩存區(qū)保存有已集成數(shù)據(jù)中最大值+K范圍內(nèi)的數(shù)據(jù)狀態(tài),其中K為正整數(shù)。
3、 根據(jù)權(quán)利要求l所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng),其特征在于,所述系統(tǒng)還包括數(shù)據(jù)查詢單元,查詢所述源系統(tǒng)數(shù)據(jù)在目標(biāo)系統(tǒng)中是否存在,并將查詢結(jié)果發(fā)送給數(shù)據(jù)調(diào)配單元。
4、 根據(jù)權(quán)利要求l所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的系統(tǒng),其特征在于,所述數(shù)據(jù)調(diào)配單元包括數(shù)據(jù)新增模塊,用于將未集成過(guò)的數(shù)據(jù)新增到目標(biāo)系統(tǒng)中;數(shù)據(jù)更新模塊,用于將已集成過(guò)的數(shù)據(jù)在目標(biāo)系統(tǒng)中更新。
5、 一種對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述方法包括以下步驟A. 接收源系統(tǒng)數(shù)據(jù),并判斷源系統(tǒng)數(shù)據(jù)所在的區(qū)間;B. 對(duì)所述區(qū)間位于一緩存區(qū)數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷;C. 根據(jù)判斷結(jié)果對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新操作。
6、 根據(jù)權(quán)利要求5所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述步驟A之前還包括設(shè)置對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷的緩存區(qū)。
7、 根據(jù)權(quán)利要求6所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述設(shè)置對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷的緩存區(qū)的過(guò)程包括將變量M設(shè)為已集成數(shù)據(jù)中的最大值N,并將[N+1, N+K]范圍的數(shù)據(jù)狀態(tài)存儲(chǔ)到一緩存區(qū)中,其中K為正整數(shù)。
8、 根據(jù)權(quán)利要求7所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述步驟B包括B1 .將位于[N+1, N+K]的數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)送入所述緩存區(qū)中;B2.利用所述緩存區(qū)判斷所述源系統(tǒng)數(shù)據(jù)的集成狀態(tài),所述集成狀態(tài)包括已集成過(guò)、未集成過(guò)。
9、 根據(jù)權(quán)利要求8所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述步驟C包括若所述判斷結(jié)果是已集成過(guò),則對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行更新。
10、 根據(jù)權(quán)利要求8所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述步驟C包括若所述判斷結(jié)果是未集成過(guò),則對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增。
11、 根據(jù)權(quán)利要求10所述的對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法,其特征在于,所述步驟C還包括對(duì)于超過(guò)N+K的源系統(tǒng)數(shù)據(jù)X,在目標(biāo)系統(tǒng)中新增,并將變量MU武值為X-K,以及將X-K之后的數(shù)據(jù)設(shè)置為未集成過(guò)。
全文摘要
本發(fā)明涉及通信領(lǐng)域,提供了一種對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的方法及系統(tǒng)。所述方法包括以下步驟A.接收源系統(tǒng)數(shù)據(jù),并判斷源系統(tǒng)數(shù)據(jù)所在的區(qū)間;B.對(duì)所述區(qū)間位于一緩存區(qū)數(shù)值范圍內(nèi)的源系統(tǒng)數(shù)據(jù)進(jìn)行集成狀態(tài)判斷;C.根據(jù)判斷結(jié)果對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行新增或更新操作。本發(fā)明在對(duì)源系統(tǒng)數(shù)據(jù)進(jìn)行集成的過(guò)程中,設(shè)置有一個(gè)+K范圍的數(shù)據(jù)狀態(tài)緩存區(qū),當(dāng)接收的源系統(tǒng)數(shù)據(jù)落入該范圍內(nèi)時(shí),則利用該緩存區(qū)判斷源系統(tǒng)數(shù)據(jù)的狀態(tài),并根據(jù)判斷結(jié)果進(jìn)行相應(yīng)的新增或更新處理,因此避免了多次重復(fù)查詢,提高了處理效率。
文檔編號(hào)G06F17/30GK101477525SQ200810187398
公開(kāi)日2009年7月8日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者李健愉 申請(qǐng)人:金蝶軟件(中國(guó))有限公司