專利名稱::一種數(shù)據(jù)匹配方法及裝置的制作方法
技術領域:
:本發(fā)明涉及數(shù)據(jù)處理領域,特別是涉及一種數(shù)據(jù)匹配方法及裝置。
背景技術:
:企業(yè)資源計劃(EnterpriseResourcePlanning,ERP)系統(tǒng),是指建立在信息技術基礎上,對企業(yè)的所有資源(物流、資金流、信息流或人力資源)進行整合集成管理,采用信息化手段實現(xiàn)企業(yè)供銷鏈管理,從而達到對供應鏈上的每一環(huán)節(jié)實現(xiàn)科學管理的目的。在ERP系統(tǒng)中,有時候需要進行單據(jù)之間的數(shù)據(jù)匹配,從而將兩張單據(jù)以某種關系匹配起來。例如,在做業(yè)務數(shù)據(jù)處理時,以核對應收款為例,為了確定收款單所收的金額對應的是哪一張銷售發(fā)票上哪一個物料的錢,就需要建立銷售發(fā)票明細與收款單明細之間的數(shù)據(jù)匹配關系,由這種數(shù)據(jù)匹配關系就可以明確哪張銷售發(fā)票已經(jīng)收過款了,哪張銷售發(fā)票還未收款或還未全部收款,或者,客戶的應收款余額是多少,等等?,F(xiàn)有技術中有一種進行數(shù)據(jù)匹配的方法,以銷售發(fā)票和收款單為例,對于銷售發(fā)票中的金額進行匹配時,從第一行發(fā)票明細開始,依次匹配收款單中的第一行到最后一行數(shù)據(jù),如果收款單有足夠的剩余金額,那么將這條發(fā)票明細和這條收款單明細建立關聯(lián),關聯(lián)金額為發(fā)票金額,如果收款單沒有足夠的剩余金額,則首先將這條發(fā)票明細和這條收款單明細建立關聯(lián),關聯(lián)金額為收款單金額,發(fā)票的剩余金額為減去關聯(lián)金額的金額,然后,在收款單中開始遍歷下一條明細,利用同樣的方法與發(fā)票的剩余金額進行匹配,直到銷售發(fā)票中的這條金額匹配完成為止。然后在銷售發(fā)票中插敘下一條發(fā)票明細,直至所有的發(fā)票明細都匹配完成。從上述過程中可以看出,需要建立一個嵌套循環(huán),對于明細較多的時候,性能下降明顯,性能不好。因此,目前需要本領域技術人員迫切解決的一個技術問題就是如何能夠提出一種數(shù)據(jù)匹配方法,用以解決現(xiàn)有技術中需要建立嵌套循環(huán)導致的性能下降問題。
發(fā)明內(nèi)容本發(fā)明所要解決的技術問題是提供一種數(shù)據(jù)匹配方法,用以解決現(xiàn)有技術中需要建立嵌套循環(huán)導致的性能下降問題。本發(fā)明的另一個目的是將上述構思應用于具體的應用環(huán)境中,提供一種數(shù)據(jù)匹配裝置,從而保證該方法的實現(xiàn)和應用。為解決上述技術問題,本發(fā)明實施例提供了一種數(shù)據(jù)匹配方法,包括分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值;對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄;依據(jù)所述原始數(shù)據(jù)集中的當前記錄,和所述比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系;根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)??蛇x的,所述根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù),具體包括對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差;對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差;當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;如果否,則獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);6如果是,則獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)??蛇x的,所述根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù),還包括當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;如果是,則獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);如果否,則獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。可選的,將所述匹配關系和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示。可選的,所述原始數(shù)據(jù)集和比對數(shù)據(jù)集中的記錄數(shù)目不相同。本發(fā)明實施例還提供了一種數(shù)據(jù)匹配裝置,包括累加模塊,用于分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值;查找模塊,用于對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二i己錄;生成匹配關系模塊,用于依據(jù)所述原始數(shù)據(jù)集中的當前記錄,和所述比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系;生成關聯(lián)數(shù)據(jù)模塊,用于根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)。可選的,所述生成關聯(lián)數(shù)據(jù)模塊具體包括第一獲取子模塊,用于對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差;第二獲取子模塊,用于對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差;第一判斷子模塊,用于當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;第三獲取子模塊,用于當所述第一判斷子模塊的結果為否時,獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);第四獲取子模塊,用于當所述第一判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。可選的,所述生成關聯(lián)數(shù)據(jù)模塊還包括第二判斷子模塊,用于當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;第五獲取子模塊,用于當所述第二判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);第六獲取子模塊,用于當所述第二判斷子模塊的結果為否時,獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。可選的,還包才舌展示模塊,用于將所述匹配關系和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示??蛇x的,所述原始數(shù)據(jù)集和比對數(shù)據(jù)集中的記錄數(shù)目不相同。'與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點在本實施例中,首先將原始數(shù)據(jù)集和比對數(shù)據(jù)集中的匹配字段的值進行累加,在后續(xù)進行匹配時,就利用該累加字段的值,從而生成兩個數(shù)據(jù)集之間的匹配關系和關聯(lián)數(shù)據(jù)。采用本發(fā)明實施例所述的方法和裝置,運用了數(shù)據(jù)庫的集合處理的特點,從而不需要像現(xiàn)有技術一樣設置嵌套循環(huán),從而減少了匹配數(shù)據(jù)集中數(shù)據(jù)的時間,提升了匹配效率。本實施例所述的匹配方法,可以快速的建立數(shù)據(jù)集之間的凄t據(jù)匹配關系,8提升在ERP系統(tǒng)應用時的性能。為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明的一種數(shù)據(jù)匹配方法實施例1的流程圖;圖2是本發(fā)明的一種數(shù)據(jù)匹配方法實施例2的流程圖;圖3是本發(fā)明的一種數(shù)據(jù)匹配裝置實施例1的結構示意圖;圖4是本發(fā)明的一種數(shù)據(jù)匹配裝置實施例2的結構示意圖。具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發(fā)明作進一步詳細的i^明。本發(fā)明可用于眾多通用或專用的計算裝置環(huán)境或配置中。例如個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分布式計算環(huán)境等等。本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、'組件、數(shù)據(jù)結構等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質中。為了使得本領域技術人員能夠更清楚的了解本發(fā)明的技術方案,下面對數(shù)據(jù)匹配的原理估文一個簡單的介紹。數(shù)據(jù)匹配就是將一個數(shù)據(jù)集(原始數(shù)據(jù)集)中的記錄基于某一特定元素(即是比對元素,例如數(shù)量,金額等)與另一個數(shù)據(jù)集(比對數(shù)據(jù)集)中的記錄按順序進行比對,如果原始數(shù)據(jù)集的該條記錄中的比對元素的數(shù)據(jù)值大于比對數(shù)據(jù)集被比對的記錄的比對元素的數(shù)據(jù)值,則以數(shù)據(jù)值小的一方的值為匹配值建立兩條記錄的匹配關系,同時,將原始數(shù)據(jù)集中該記錄中比對元素的余額(該條記錄比對元素的原始值與已經(jīng)匹配的值之差)與比對數(shù)據(jù)集的下一條記錄進行比對,直至原始數(shù)據(jù)集中該條記錄的比對元素的數(shù)據(jù)值與比對數(shù)據(jù)集中的記錄完成匹配為止。同時,如果原始數(shù)據(jù)集中該記錄比對元素的值小于比對數(shù)據(jù)集記錄中比對元素的數(shù)據(jù)值,則同樣以數(shù)據(jù)值小的一方的值為匹配值建立兩條記錄的匹配關系,并將比對數(shù)據(jù)集中該記錄的比對元素的余額(該條記錄比對元素的原始值與已經(jīng)匹配的值之差)與原始數(shù)據(jù)集的下一條記錄進行比對,直至比對數(shù)據(jù)集中該條記錄的比對元素的值被與原始數(shù)據(jù)集中的記錄完成匹配為止。按照互相匹配的順序直至兩個數(shù)據(jù)集中某一個數(shù)據(jù)集中的比對元素的值全部完成匹配為止。最終,兩個lt據(jù)集之間就建立起以元素匹配值為依據(jù)的這樣一種——對應的關系。參考圖1,示出了本發(fā)明的一種數(shù)據(jù)匹配方法實施例1的流程圖,可以包括以下步驟步驟101:分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值。在實際應用中,如果比對元素是原始金額(為了與累加金額進行區(qū)分,本發(fā)明實施例中所述的原始金額即是實際中的金額),則首先需要獲取到原始數(shù)據(jù)集和比對數(shù)據(jù)集中的金額字段,然后讀取該字段的所有字段值(即是具體金額是多少),并依次從第一行的金額向最后一行累加。即是第一行的累加金額就是第一行的金額值,第二行的累加金額則是第一行和第二行的原始金額之和,以此類推。數(shù)據(jù)集中的累加金額的值,在實際應用中可以;改在一個累加字段中。步驟102:對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄。10從原始數(shù)據(jù)集中的第一條記錄開始匹配,并且從比對數(shù)據(jù)集中也是從第一條記錄開始查找。當比對數(shù)據(jù)集中的第一條記錄的累計金額小于原始數(shù)據(jù)集對應的累計金額時,則繼續(xù)查找比對數(shù)據(jù)集中的下一條記錄,直到找到比對數(shù)據(jù)集中大于原始數(shù)據(jù)集第一條記錄累加金額的記錄,這時,再拿原始數(shù)據(jù)集中的第二條記錄與比對數(shù)據(jù)集中的該條記錄匹配,直到找到原始數(shù)據(jù)集中大于比對數(shù)據(jù)集中該條記錄累加金額的記錄,以此類4偉。例如,對于原始數(shù)據(jù)集中的第二條記錄,則在比對數(shù)據(jù)集中查找第一個大于原始數(shù)據(jù)集的第一條記錄的累加字段值對應的記錄,這里將比對數(shù)據(jù)集中的該記錄記為第一記錄;同時,在比對數(shù)據(jù)集中查找第一個大于原始數(shù)據(jù)集的第二條記錄的累加字段值對應的記錄,這里將比對數(shù)據(jù)集中的該記錄記為第二記錄。步驟103:依據(jù)原始數(shù)據(jù)集中的當前記錄,和比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系。按照步驟102中查找到的比對數(shù)據(jù)集中的第一記錄和第二記錄,以及原始數(shù)據(jù)集中的當前記錄,生成兩個數(shù)據(jù)集之間的匹配關系??梢钥闯?,對于原始數(shù)據(jù)集來說,原始數(shù)據(jù)集中的每一條記錄的匹配記錄,都是比對數(shù)據(jù)集中從第一個大于原始數(shù)據(jù)集的上一條記錄的累加字段值對應的記錄,到第一個大于原始數(shù)據(jù)集的當前記錄的累加字段值對應的記錄。對于比對數(shù)據(jù)集來說,比對數(shù)據(jù)集中的每一條記錄的匹配記錄,也都是原始數(shù)據(jù)集中從第一個大于比對數(shù)據(jù)集的上一條記錄的累加字段值對應的記錄,到第一個大于比對數(shù)據(jù)集的當前記錄的累加字段值對應的^己錄。步驟104:根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)。最后,再根據(jù)兩個數(shù)據(jù)集中累加字段值以及匹配關系,計算獲取所述原始數(shù)據(jù)集和比對數(shù)據(jù)集每一個記錄對應的關聯(lián)數(shù)據(jù)。在本實施例中,可以看出,運用了數(shù)據(jù)庫的集合處理的特點,從而不需要像現(xiàn)有技術一樣設置嵌套循環(huán),從而減少了匹配數(shù)據(jù)集中數(shù)據(jù)的時間,提升了匹配效率。本實施例所述的匹配方法,可以快速的建立數(shù)據(jù)集之間的數(shù)據(jù)匹配關系,提升在ERP系統(tǒng)應用時的性能。參考圖2,示出了本發(fā)明的一種數(shù)據(jù)匹配方法實施例2的流程圖,本實施例可以包括以下步驟步驟201:分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值。在實際應用中,所述原始數(shù)據(jù)集和比對數(shù)據(jù)集中的記錄數(shù)目可以不相同,也可以相同。例如,所述原始數(shù)據(jù)集的如表1所示,所述比對數(shù)據(jù)集如表2所示,則兩個數(shù)據(jù)集累加后的數(shù)據(jù)可以如表3所示。表1<table>tableseeoriginaldocumentpage12</column></row><table>表2<table>tableseeoriginaldocumentpage12</column></row><table>表3<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>步驟202:對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄。對于表1所示的原始數(shù)據(jù)集而言,原始數(shù)據(jù)集的第一條記錄(即是表中的第一行數(shù)據(jù)內(nèi)容,序號為1)在比對數(shù)據(jù)集中的匹配記錄,是比對數(shù)據(jù)集中的第一個記錄和第二個記錄,而對于原始數(shù)據(jù)集的第二條記錄(序號為2)在比對數(shù)據(jù)集中的匹配記錄,是比對數(shù)據(jù)集中的第二個記錄,對于原始數(shù)據(jù)集的第三條記錄(序號為3)在比對數(shù)據(jù)集中的匹配記錄,是比對數(shù)據(jù)集中的第二、第三和第四個記錄(序號分別為2、3和4);依次類推,可以找出原始數(shù)據(jù)集中所有記錄在比對數(shù)據(jù)集中的匹酉己"i己錄。步驟203:依據(jù)原始數(shù)據(jù)集中的當前記錄,和比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系。同樣的,對于比對數(shù)據(jù)集中的第一條記錄(序號為1),對應原始數(shù)據(jù)集中的第一條記錄,對于比對數(shù)據(jù)集中的第二條記錄(序號為2),對應原始數(shù)據(jù)集中的第一條、第二條和第三條記錄(序號包括1、2和3);以此類推,可以得到對于比對數(shù)據(jù)集中每一條記錄在原始數(shù)據(jù)集中的匹配記錄,依據(jù)生成兩個數(shù)據(jù)集之間的匹配關系。其中,所述匹配關系在本實施例中具體可以如表4所示表4原始數(shù)據(jù)集序號比對數(shù)據(jù)集序號13<table>tableseeoriginaldocumentpage14</column></row><table>步驟204:對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差。在本實施例中,匹配字段就是原始數(shù)據(jù)集和比對數(shù)據(jù)集中的原始金額字段,因此對于原始數(shù)據(jù)集中的第一條記錄而言,第一數(shù)據(jù)差就是O,因為累計金額等于原始金額;對于原始數(shù)據(jù)集中的第二條記錄而言,第一數(shù)據(jù)差就是100,依次類推,可以得到原始數(shù)據(jù)集中所有記錄的第一數(shù)據(jù)差。步驟205:對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差。而對于比對數(shù)據(jù)集中的第一條記錄而言,第二數(shù)據(jù)差依舊是0,但是對于比對數(shù)據(jù)集中的第二條記錄而言,第二數(shù)據(jù)差就是50,依此類推,可以得到比對數(shù)據(jù)集中所有記錄的第一數(shù)據(jù)差。步驟206:當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值,如果是,則進入步驟208,如果否,則進入步驟207。當原始數(shù)據(jù)集中的第二條記錄和比對數(shù)據(jù)集中的第二條記錄比對時,原始數(shù)據(jù)集的第一數(shù)據(jù)差為100,而比對數(shù)據(jù)集的第二數(shù)據(jù)差為50,則判斷原始數(shù)據(jù)集的第二條記錄的累積字段值是否小于所述比對數(shù)據(jù)集的第二條記錄的累積字段值。步驟207:獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù)。當原始數(shù)據(jù)集的第一條記錄和比對數(shù)據(jù)集中的第一條記錄比對時,原始數(shù)據(jù)集的原始金額值為100,比對數(shù)據(jù)集的原始金額值為50,因此此時,關聯(lián)數(shù)據(jù)就為50-100+100,得到關聯(lián)數(shù)據(jù)為50。步驟208:獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。則此時,就獲取原始數(shù)據(jù)集中第二條記錄的原始金額值IOO作為關聯(lián)數(shù)據(jù)。步驟209:當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值,如果是,則進入步驟210,如果否,則進入步驟211。當原始數(shù)據(jù)集的第三條記錄與比對數(shù)據(jù)集的第三條記錄比對時,第一數(shù)據(jù)差為250,第二數(shù)據(jù)差為290,此時,判斷原始數(shù)據(jù)集第三條記錄的累積字段值是否小于比對數(shù)據(jù)集中第三條記錄的累計字段值。步驟210:獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的累計字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將該和的值作為關聯(lián)數(shù)據(jù)。例如,對于原始數(shù)據(jù)集的第三條記錄和比對數(shù)據(jù)集的第五條記錄而言,其關聯(lián)數(shù)據(jù)的計算方式就為450-480+50,關聯(lián)數(shù)據(jù)的值為20。步驟211:獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。此時則兩個數(shù)據(jù)集中第三條記錄互相匹配的關聯(lián)數(shù)據(jù)為比對數(shù)據(jù)集中第三條記錄中的原始金額,即是30。當原始數(shù)據(jù)集和比對數(shù)據(jù)集的每一條記錄對應的關聯(lián)數(shù)據(jù)都獲取到時,可以和匹配關系一起生成一個匹配關系和關聯(lián)金額的表格。在本實施例中的匹配關系和關聯(lián)金額可以如下表5所示。<table>tableseeoriginaldocumentpage15</column></row><table>2215032403330341044100420305630步驟212:將所述匹配數(shù)據(jù)和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示。最后生成的數(shù)據(jù)表可以向用戶進行展示。與傳遞匹配算法相比,運用本實施例所述的數(shù)據(jù)匹配方法,在實際應用中,可以很好的提升性能,尤其是在需要匹配的數(shù)據(jù)量較大的時候,更能提升在ERP系統(tǒng)中對于數(shù)據(jù)匹配的效率。需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。參考圖3,示出了本發(fā)明的一種數(shù)據(jù)匹配裝置實施例1的結構框圖,可以包括以下模塊累加模塊301,用于分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值。在實際應用中,如果比對元素是原始金額(為了與累加金額進行區(qū)分,本發(fā)明實施例中所述的原始金額即是實際中的金額),則首先需要獲取到原始數(shù)據(jù)集和比對數(shù)據(jù)集中的金額字段,然后讀取該字段的所有字段值(即是具體金額是多少),并依次從第一行的金額向最后一行累加。即是第一行的累加金額就是第一行的金額值,第二行的累加金額則是第一行和第二行的原始金額之和,以此類推。數(shù)據(jù)集中的累加金額的值,在實際應用中可以放在一個累加字l殳中。查找模塊302,用于對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄。從原始數(shù)據(jù)集中的第一條記錄開始匹配,并且從比對數(shù)據(jù)集中也是從第一條記錄開始查找。當比對數(shù)據(jù)集中的第一條記錄的累計金額小于原始數(shù)據(jù)集對應的累計金額時,則繼續(xù)查找比對數(shù)據(jù)集中的下一條記錄,直到找到比對數(shù)據(jù)集中大于原始數(shù)據(jù)集第一條記錄累加金額的記錄,這時,再拿原始數(shù)據(jù)集中的第二條記錄與比對數(shù)據(jù)集中的該條記錄匹配,直到找到原始數(shù)據(jù)集中大于比對數(shù)據(jù)集中該條記錄累加金額的記錄,以此類^^偉。生成匹配關系才莫塊303,用于依據(jù)原始數(shù)據(jù)集中的當前記錄,和比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系。按照前面查找到的比對數(shù)據(jù)集中的第一記錄和第二記錄,以及原始數(shù)據(jù)集中的當前記錄,生成兩個數(shù)據(jù)集之間的匹配關系??梢钥闯?,對于原始數(shù)據(jù)集來說,原始數(shù)據(jù)集中的每一條記錄的匹配記錄,都是比對數(shù)據(jù)集中從第一個大于原始數(shù)據(jù)集的上」條記錄的累加字段值對應的記錄,到第一個大于原始數(shù)據(jù)集的當前記錄的累加字段值對應的記錄。對于比對數(shù)據(jù)集來說,比對數(shù)據(jù)集中的每一條記錄的匹配記錄,也都是原始數(shù)據(jù)集中從第一個大于比對數(shù)據(jù)集的上一條記錄的累加字段值對應的記錄,到第一個大于比對數(shù)據(jù)集的當前記錄的累加字段值對應的記錄。生成關聯(lián)數(shù)據(jù)模塊304,用于根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)1數(shù)據(jù)。最后,再根據(jù)兩個數(shù)據(jù)集中累加字段值以及匹配關系,計算獲取所述原始數(shù)據(jù)集和比對數(shù)據(jù)集每一個記錄對應的關聯(lián)數(shù)據(jù)。在本實施例中,可以看出,運用了數(shù)據(jù)庫的集合處理的特點,從而不需要像現(xiàn)有技術一樣設置嵌套循環(huán),從而減少了匹配數(shù)據(jù)集中數(shù)據(jù)的時間,提升了匹配效率。本實施例所述的匹配方法,可以快速的建立數(shù)據(jù)集之間的數(shù)據(jù)匹配關系,提升在ERP系統(tǒng)應用時的性能。參考圖4,示出了本發(fā)明的一種數(shù)據(jù)匹配裝置實施例2的結構框圖,可以包括以下模塊累加模塊301,用于分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值。查找模塊302,用于對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄。生成匹配關系模塊303,用于依據(jù)原始數(shù)據(jù)集中的當前記錄,和比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系。第一獲取子模塊401,用于對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差。第二獲取子模塊402,用于對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差。第一判斷子模塊403,用于當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值。第三獲取子模塊404,用于當所述第一判斷子模塊的結果為否時,獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)18集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù)。第四獲取子模塊405,用于當所述第一判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。第二判斷子模塊406,用于當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值。第五獲取子模塊407,用于當所述第二判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將該和的值作為關聯(lián)數(shù)據(jù)。第六獲取子模塊408,用于當所述第二判斷子模塊的結果為否時,獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。展示模塊409,用于將所述匹配關系和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示。需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求且,術語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句"包括一個......,,限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。以上對本發(fā)明所提供的一種數(shù)據(jù)匹配方法及數(shù)據(jù)匹配裝置進行了詳述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。權利要求1、一種數(shù)據(jù)匹配方法,其特征在于,包括分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值;對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄;依據(jù)所述原始數(shù)據(jù)集中的當前記錄,和所述比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系;根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)。2、如權利要求1所述的方法,其特征在于,所述根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù),具體包括對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差;對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差;當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;如果否,則獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);如果是,則獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。3、如權利要求2所述的方法,其特征在于,所述根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù),還包括當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;如果是,則獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);如果否,則獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。4、如權利要求1所述的方法,其特征在于,將所述匹配關系和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示。5、如權利要求l-4任意一項所述的方法,其特征在于,所述原始數(shù)據(jù)集和比對數(shù)據(jù)集中的記錄數(shù)目不相同。6、一種數(shù)據(jù)匹配裝置,其特征在于,包括累加模塊,用于分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值;查找模塊,用于對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄;生成匹配關系模塊,用于依據(jù)所述原始數(shù)據(jù)集中的當前記錄,和所述比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系;生成關聯(lián)數(shù)據(jù)模塊,用于根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)。7、如權利要求6所述的裝置,其特征在于,所述生成關聯(lián)數(shù)據(jù)模塊具體包括第一獲取子模塊,用于對于原始數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第一數(shù)據(jù)差;第二獲取子模塊,用于對于比對數(shù)據(jù)集的每條記錄,獲取對應的累計字段值與匹配字段值的第二數(shù)據(jù)差;第一判斷子模塊,用于當所述第一數(shù)據(jù)差大于等于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;第三獲取子模塊,用于當所述第一判斷子模塊的結果為否時,獲取所述比對數(shù)據(jù)集與原始數(shù)據(jù)集的累計字段值之間的差,與原始數(shù)據(jù)集中的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);第四獲取子模塊,用于當所述第一判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。8、如權利要求7所述的裝置,其特征在于,所述生成關聯(lián)數(shù)據(jù)模塊還包括第二判斷子模塊,用于當所述第一數(shù)據(jù)差小于所述第二數(shù)據(jù)差時,判斷原始數(shù)據(jù)集當前記錄的累積字段值是否小于所述比對數(shù)據(jù)集的累計字段值;第五獲取子模塊,用于當所述第二判斷子模塊的結果為是時,獲取原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值之間的差,與比對數(shù)據(jù)集的匹配字段值的和,并將所述和的值作為關聯(lián)數(shù)據(jù);第六獲取子模塊,用于當所述第二判斷子模塊的結果為否時,獲取比對數(shù)據(jù)集的匹配字段值作為關聯(lián)數(shù)據(jù)。9、如權利要求6所述的裝置,其特征在于,還包括展示模塊,用于將所述匹配關系和關聯(lián)數(shù)據(jù)以數(shù)據(jù)表的形式向用戶進行展示。10、如權利要求6-9任意一項所述的裝置,其特征在于,所述原始數(shù)據(jù)集和比對數(shù)據(jù)集中的記錄數(shù)目不相同。全文摘要本發(fā)明提供了一種數(shù)據(jù)匹配方法及裝置,所述方法包括分別將原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配字段值進行累加,得到原始數(shù)據(jù)集和比對數(shù)據(jù)集中每條記錄分別對應的累加字段值;對于所述原始數(shù)據(jù)集中的每條當前記錄,在比對數(shù)據(jù)集中查找第一個大于所述當前記錄的上一條記錄的累加字段值對應的第一記錄,以及,第一條大于或等于當前記錄的累加字段值對應的第二記錄;依據(jù)原始數(shù)據(jù)集中的當前記錄,和比對數(shù)據(jù)集中的第一記錄和第二記錄生成原始數(shù)據(jù)集和比對數(shù)據(jù)集的匹配關系;根據(jù)所述原始數(shù)據(jù)集和比對數(shù)據(jù)集各自的累加字段值和匹配關系,生成所述原始數(shù)據(jù)集和比對數(shù)據(jù)集的關聯(lián)數(shù)據(jù)。本發(fā)明運用了減少了匹配數(shù)據(jù)集中數(shù)據(jù)的時間,提升了匹配效率。文檔編號G06F17/30GK101661510SQ200910179910公開日2010年3月3日申請日期2009年9月29日優(yōu)先權日2009年9月29日發(fā)明者鄺維生申請人:金蝶軟件(中國)有限公司