專利名稱:一種信息關(guān)聯(lián)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息關(guān)聯(lián)技術(shù),尤其是涉及一種利用計(jì)算機(jī)進(jìn)行信息關(guān)聯(lián)處理的系統(tǒng)及方法。
背景技術(shù):
我們現(xiàn)在使用的信息處理系統(tǒng)大多是使用關(guān)系型數(shù)據(jù)庫來描述信息之間的關(guān)系,也就是信息之間的“關(guān)聯(lián)”。信息關(guān)聯(lián)的情況一般都會對信息系統(tǒng)的運(yùn)行過程產(chǎn)生極為重要的影響。但這些“關(guān)聯(lián)”或“關(guān)系”不管其多么復(fù)雜,一般在系統(tǒng)的設(shè)計(jì)階段就固定下來(或限定在一定的范圍內(nèi))。系統(tǒng)開發(fā)完成交付使用后,用戶只能在這“有限”的關(guān)系中對信息進(jìn)行處理。一旦用戶要求修改或增加信息的關(guān)聯(lián),可能意味著對原有設(shè)計(jì)的改變,或者意味著修改原系統(tǒng)。
這種修改一般是增改原有的數(shù)據(jù)結(jié)構(gòu),或增改數(shù)據(jù)處理的程序。而這種修改是普遍存在的。如果原有設(shè)計(jì)未充分考慮未來變化時,這種修改有時甚至?xí)?dǎo)致原先系統(tǒng)的混亂或整個系統(tǒng)要推倒重來。這樣會耗費(fèi)大量的時間、精力及經(jīng)費(fèi)。
現(xiàn)在尚未發(fā)現(xiàn)無需修改所使用到的關(guān)聯(lián)程序及外部信息存儲的數(shù)據(jù)結(jié)構(gòu),就可以對外部信息的信息關(guān)聯(lián)關(guān)系進(jìn)行無限制修改的有效方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種信息關(guān)聯(lián)系統(tǒng)及方法,可以在不修改所用到的關(guān)聯(lián)程序、不必修改本發(fā)明所特定的數(shù)據(jù)結(jié)構(gòu)及外部信息的數(shù)據(jù)結(jié)構(gòu)時,無限制地改變外部信息的信息關(guān)聯(lián)關(guān)系;還可以利用所創(chuàng)建的關(guān)聯(lián)關(guān)系,來構(gòu)建新的有用信息,或?qū)ν獠肯到y(tǒng)發(fā)出控制指令;還可以通過配置數(shù)據(jù),在較少修改甚至無需修改所用到的程序的情況下,對前述信息及關(guān)聯(lián)的處理實(shí)施有效控制。
本發(fā)明所采用的技術(shù)方案在于,提供一種信息關(guān)聯(lián)系統(tǒng),包括存儲裝置,存儲有關(guān)聯(lián)映射表集合,該集合中至少包括一個關(guān)聯(lián)映射表,所述每一關(guān)聯(lián)映射表存儲有外部信息的關(guān)聯(lián)數(shù)據(jù)的集合,其中,每一條關(guān)聯(lián)數(shù)據(jù)用于表達(dá)一對外部信息之間的關(guān)聯(lián)關(guān)系,并且從每一條關(guān)聯(lián)數(shù)據(jù)中至少可以獲得以下數(shù)據(jù)元素關(guān)聯(lián)對象雙方的定位標(biāo)識、關(guān)聯(lián)類別標(biāo)識及關(guān)聯(lián)方向標(biāo)識;關(guān)聯(lián)映射表存取裝置,用于讀寫關(guān)聯(lián)映射表集合中指定的關(guān)聯(lián)映射表,并將所述讀取的關(guān)聯(lián)數(shù)據(jù)分解成相應(yīng)的數(shù)據(jù)元素集合;關(guān)聯(lián)信息處理裝置,用于訪問一外部信息集合中的外部信息,并對外部信息及其關(guān)聯(lián)關(guān)系進(jìn)行處理,該裝置包括管理關(guān)聯(lián)關(guān)系的單元,用于通過關(guān)聯(lián)映射表存取裝置,用指定的關(guān)聯(lián)方式或關(guān)聯(lián)條件來管理關(guān)聯(lián)映射表中的關(guān)聯(lián)數(shù)據(jù);檢索相關(guān)聯(lián)外部信息的單元,用于依據(jù)指定的關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,獲取與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并根據(jù)所述關(guān)聯(lián)數(shù)據(jù)檢索外部信息集合,獲取與所述關(guān)聯(lián)數(shù)據(jù)對應(yīng)的外部信息的數(shù)據(jù);統(tǒng)計(jì)關(guān)聯(lián)信息的單元,用于依據(jù)指定的關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,檢索出與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并利用指定的統(tǒng)計(jì)方式進(jìn)行統(tǒng)計(jì),獲得統(tǒng)計(jì)數(shù)據(jù),所述指定的統(tǒng)計(jì)方式包括對檢索出的關(guān)聯(lián)數(shù)據(jù)集合中的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì),或利用檢索出的關(guān)聯(lián)數(shù)據(jù),對所述關(guān)聯(lián)數(shù)據(jù)所對應(yīng)的外部信息的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
優(yōu)選地,所述關(guān)聯(lián)對象的定位標(biāo)識進(jìn)一步包括關(guān)聯(lián)對象的信息標(biāo)識和信息類別標(biāo)識。
優(yōu)選地,所述關(guān)聯(lián)信息處理裝置進(jìn)一步包括信息重構(gòu)單元,用于對從所述管理關(guān)聯(lián)關(guān)系的單元、檢索相關(guān)聯(lián)外部信息的單元或統(tǒng)計(jì)關(guān)聯(lián)信息的單元所獲得的信息,用指定的處理方式進(jìn)行處理,獲得在原外部信息集合之外的新的數(shù)據(jù);或者對外部系統(tǒng)進(jìn)行控制的單元,用于對從所述管理關(guān)聯(lián)關(guān)系的單元、檢索相關(guān)聯(lián)外部信息的單元或統(tǒng)計(jì)關(guān)聯(lián)信息的單元所獲得的信息,用指定的處理方式進(jìn)行處理,并依照所述處理的結(jié)果,按照指定的行為方式向外部系統(tǒng)發(fā)出相應(yīng)的控制指令,以控制外部系統(tǒng)的運(yùn)行。
所述指定的處理方式包括判斷、運(yùn)算、組合、分解、信息附加或直接引用中至少一種。
優(yōu)選地,所述關(guān)聯(lián)信息處理裝置直接地或通過一個應(yīng)用接口裝置與一外部系統(tǒng)進(jìn)行指令、數(shù)據(jù)、或相互調(diào)用的交互;所述關(guān)聯(lián)信息處理裝置直接地或通過一個外部信息輸入及檢索裝置來訪問所述外部信息集合。
優(yōu)選地,進(jìn)一步包括配置數(shù)據(jù)集合的存儲裝置,用于存儲供關(guān)聯(lián)信息處理裝置使用的配置數(shù)據(jù),所述配置數(shù)據(jù)包含有描述指定的關(guān)聯(lián)方式、關(guān)聯(lián)條件、統(tǒng)計(jì)方式、處理方式、行為方式或外部信息過濾條件中至少一種;配置數(shù)據(jù)存取裝置,用于接收關(guān)聯(lián)信息處理裝置的指令或調(diào)用,存取位于配置數(shù)據(jù)集合中的配置數(shù)據(jù),并將讀出的數(shù)據(jù)提供給關(guān)聯(lián)信息處理裝置使用;在所述關(guān)聯(lián)信息處理裝置中進(jìn)一步包括配置數(shù)據(jù)的分析和執(zhí)行單元,用于從所述配置數(shù)據(jù)中提取相應(yīng)的指令、數(shù)據(jù)或表達(dá)式,執(zhí)行所述的指令或表達(dá)式。
相應(yīng)地,本發(fā)明還提供一種信息關(guān)聯(lián)方法,包括如下步驟A、管理關(guān)聯(lián)關(guān)系的步驟通過關(guān)聯(lián)映射表存取裝置,用指定的關(guān)聯(lián)方式或關(guān)聯(lián)條件來管理關(guān)聯(lián)映射表中的關(guān)聯(lián)數(shù)據(jù),所述管理包括寫入、讀出或刪除,從所述關(guān)聯(lián)數(shù)據(jù)中至少可以獲得包括關(guān)聯(lián)對象雙方的定位標(biāo)識、關(guān)聯(lián)類別標(biāo)識及關(guān)聯(lián)方向的標(biāo)識;B、檢索相關(guān)聯(lián)的外部信息的步驟提取指定的關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,獲取與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),或者根據(jù)所述關(guān)聯(lián)數(shù)據(jù)檢索外部信息集合,獲取與所述關(guān)聯(lián)數(shù)據(jù)對應(yīng)的外部信息的數(shù)據(jù);C、統(tǒng)計(jì)關(guān)聯(lián)信息的步驟利用所指定的統(tǒng)計(jì)方式對步驟B所檢索出來的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),獲得統(tǒng)計(jì)結(jié)果數(shù)據(jù);所述指定的統(tǒng)計(jì)方式包括對檢索出的關(guān)聯(lián)數(shù)據(jù)集合中的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì),或利用檢索出的關(guān)聯(lián)數(shù)據(jù),對所述關(guān)聯(lián)數(shù)據(jù)所對應(yīng)的外部信息的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
優(yōu)選地,所述步驟A進(jìn)一步包括關(guān)聯(lián)信息處理裝置從外部信息集合中獲取外部信息,并獲得所述外部信息之間的關(guān)聯(lián)數(shù)據(jù),關(guān)聯(lián)處理裝置通過關(guān)聯(lián)映射表存取裝置將所述關(guān)聯(lián)數(shù)據(jù)寫入關(guān)聯(lián)映射表集合中的相應(yīng)關(guān)聯(lián)映射表中。
優(yōu)選地,在步驟B或步驟C之后進(jìn)一步包括以下步驟信息重構(gòu)的步驟采用指定的處理方式對所述檢索或統(tǒng)計(jì)出來的數(shù)據(jù)進(jìn)行處理,獲得原外部信息集合之外的新的數(shù)據(jù);或者對外部系統(tǒng)進(jìn)行控制的步驟采用指定的處理方式對所述檢索或統(tǒng)計(jì)出來的數(shù)據(jù)進(jìn)行處理,并依照所述處理結(jié)果,按照指定的行為方式向外部系統(tǒng)發(fā)出相應(yīng)的控制指令來控制外部系統(tǒng)的運(yùn)行。
所述指定的處理方式包括判斷、運(yùn)算、組合、分解、信息附加或直接引用中至少一種。
優(yōu)選地,所述關(guān)聯(lián)對象的定位標(biāo)識包括關(guān)聯(lián)對象的信息標(biāo)識和信息類別標(biāo)識。
優(yōu)選地,在前述任一步驟之中進(jìn)一步包括配置數(shù)據(jù)的存取步驟接收關(guān)聯(lián)信息處理裝置的指令或調(diào)用,向配置數(shù)據(jù)集合中存入配置數(shù)據(jù),或從配置數(shù)據(jù)集合中讀取配置數(shù)據(jù),并將所讀出的配置數(shù)據(jù)提供給關(guān)聯(lián)信息處理裝;所述配置數(shù)據(jù)描述有指定的關(guān)聯(lián)方式、關(guān)聯(lián)條件、統(tǒng)計(jì)方式、處理方式、行為方式或外部信息過濾條件中至少一種;配置數(shù)據(jù)的分析和執(zhí)行步驟從所讀出的配置數(shù)據(jù)中提取相應(yīng)的指令、數(shù)據(jù)或表達(dá)式,執(zhí)行所述的指令或表達(dá)式。
實(shí)施本發(fā)明,具有如下有益效果使用本發(fā)明提供的系統(tǒng)或方法,可以讓所處理的外部信息集合中任意兩個獨(dú)立的信息,在任意概念上發(fā)生聯(lián)系。比如,我們可以在數(shù)分鐘之內(nèi)完成某兩個信息之間的關(guān)聯(lián)擴(kuò)展和修改,甚至可以是在系統(tǒng)持續(xù)運(yùn)行而不停機(jī)的狀態(tài)下實(shí)現(xiàn)的。
使用本發(fā)明提供的系統(tǒng)或方法,在建造一個新的信息處理系統(tǒng)時,不必要求把整個系統(tǒng)方方面面的關(guān)系考慮完善后,再進(jìn)行開發(fā)。甚至在系統(tǒng)交付使用后,如果發(fā)現(xiàn)有新的關(guān)聯(lián)要求,可以通過重新配置相應(yīng)的參數(shù)等方法來擴(kuò)展新的關(guān)聯(lián)需求。而這種擴(kuò)展或改變,是在不必修改或較少修改所用到的“關(guān)聯(lián)程序”,不必修改外部信息的數(shù)據(jù)結(jié)構(gòu),不必修改本發(fā)明所特定的數(shù)據(jù)結(jié)構(gòu)的情況下實(shí)現(xiàn)的。
因而,使用本發(fā)明提供的系統(tǒng)或方法,可以極大地提高用戶處理信息關(guān)聯(lián)的能力和效率,也能提高應(yīng)用系統(tǒng)開發(fā)的效率和靈活性。從而極大地提高了用戶處理信息關(guān)聯(lián)的能力和效率。
圖1是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第一實(shí)施例的結(jié)構(gòu)示意圖;圖2是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第二實(shí)施例的結(jié)構(gòu)示意圖;圖3是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第三實(shí)施例的結(jié)構(gòu)示意圖;圖4是本發(fā)明中應(yīng)用接口裝置的結(jié)構(gòu)示意圖;圖5是本發(fā)明中數(shù)據(jù)檢索接口程序流程圖;圖6是本發(fā)明中關(guān)聯(lián)映射表存取裝置的結(jié)構(gòu)示意圖;圖7是本發(fā)明中指令分析接口程序流程圖;圖8是本發(fā)明中配置數(shù)據(jù)存取裝置的結(jié)構(gòu)示意圖;圖9是本發(fā)明中關(guān)聯(lián)信息處理裝置的結(jié)構(gòu)示意圖;圖10是本發(fā)明中創(chuàng)建信息關(guān)聯(lián)的一個示例流程示意圖;圖11是本發(fā)明中檢索關(guān)聯(lián)信息的一個示例流程示意圖;圖12是本發(fā)明中實(shí)現(xiàn)信息重構(gòu)的一個示例的流程示意圖;圖13是本發(fā)明中實(shí)現(xiàn)系統(tǒng)控制的一個示例的流程示意圖。
具體實(shí)施例方式
本發(fā)明的核心思想是,利用關(guān)聯(lián)程序及關(guān)聯(lián)映射表,對外部信息進(jìn)行處理,處理過程的主要內(nèi)容是管理(包括創(chuàng)建、修改、檢索、或刪除)這些信息之間的關(guān)聯(lián)關(guān)系;通過創(chuàng)建新的關(guān)聯(lián),賦予原有信息新的含義或形態(tài)或產(chǎn)生新的信息;通過處理關(guān)聯(lián)關(guān)系而調(diào)用合適的其他程序或被其他程序調(diào)用而控制其流程;或者通過處理關(guān)聯(lián)關(guān)系而啟動其他合適的自動化過程。
下面將結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
為便于敘述,對本發(fā)明所涉及到的一些術(shù)語說明如下(一)外部信息本發(fā)明中所指外部信息是一個特定范圍的信息集合。該集合可以廣泛存在于計(jì)算機(jī)的文件系統(tǒng)中、數(shù)據(jù)庫系統(tǒng)中、存儲器中,以及符合特定格式(如XML)所描述的數(shù)據(jù)集合中,也可以來自于網(wǎng)絡(luò)中的其他信息處理設(shè)備,或來自于計(jì)算機(jī)的特定輸入接口。該信息集合由相對獨(dú)立的信息構(gòu)成,并且可以通過后面所介紹的“定位標(biāo)識”來獲取集合中的具體信息。對每一條具體信息,均可通過確定的手段來提取其中的信息元素或?qū)傩浴?br>
例如,假設(shè)外部信息存在于關(guān)系型數(shù)據(jù)庫系統(tǒng)中,可以將其中有鍵值的一條記錄,視為一條信息,除非應(yīng)用了特定處理程序或關(guān)系指針,記錄與記錄之間都是相對獨(dú)立的??梢酝ㄟ^“字段名”來提取其中的某一字段數(shù)據(jù)。本發(fā)明所要處理的,就是這些相對獨(dú)立的信息之間的關(guān)聯(lián)關(guān)系。
(二)定位標(biāo)識用于將信息集合中的具體信息區(qū)別開來,并利用它在信息集合中將它所指代的具體信息找出來。比如在計(jì)算機(jī)的文件系統(tǒng)中,可以將文件的路徑名加上文件名作為文件信息的定位標(biāo)識。還可以用隨后介紹的信息類別標(biāo)識與信息標(biāo)識的組合構(gòu)成定位標(biāo)識,這也是本發(fā)明所推薦的信息定位方式。
(三)信息類別和信息類別標(biāo)識信息類別用于對信息進(jìn)行分類。信息類別標(biāo)識是用于將不同類別的信息區(qū)別開來的標(biāo)識。但如果存在缺省的信息類別,則此缺省的信息類別可以有也可以沒有標(biāo)識。
給定一個信息類別標(biāo)識,就能夠唯一確定一個特定的信息類別。例如,假設(shè)外部信息存在于一個或多個關(guān)系型數(shù)據(jù)庫系統(tǒng)中,可以將存儲信息的表名及數(shù)據(jù)庫名設(shè)定為信息類別的標(biāo)識。若是在計(jì)算機(jī)的文件系統(tǒng)中,可以將文件的路徑名稱(相對路徑或絕對路徑)作為信息類別的標(biāo)識。也可以單獨(dú)或同時依據(jù)其他相應(yīng)的規(guī)則為信息類別設(shè)定標(biāo)識。
(四)信息標(biāo)識指用于將屬于同一信息類別的信息區(qū)別開來的標(biāo)識。
比如,在關(guān)系型數(shù)據(jù)庫系統(tǒng)中,可以將記錄的鍵值作為精確的信息標(biāo)識。如果記錄是以組合字段來作為鍵值的,則這些字段的組合就是信息標(biāo)識。在計(jì)算機(jī)的文件系統(tǒng)中,可以將文件名作為文件的信息標(biāo)識。
(五)信息的過濾條件即是對前述的信息定位標(biāo)識、信息類別、信息標(biāo)識、信息的其他屬性、或它們的組合所進(jìn)行的指定,用于信息檢索。本發(fā)明中所指外部信息,均可通過過濾條件從信息集合中檢索出特定的信息或信息子集。
(六)關(guān)聯(lián)數(shù)據(jù)在本發(fā)明中,關(guān)聯(lián)數(shù)據(jù)(或關(guān)聯(lián)信息)包括關(guān)聯(lián)對象雙方的定位標(biāo)識、關(guān)聯(lián)類別、關(guān)聯(lián)方向、關(guān)聯(lián)時間、關(guān)聯(lián)程度等屬性。其中,關(guān)聯(lián)類別是指不同關(guān)聯(lián)對象之間的關(guān)聯(lián)關(guān)系的類別,例如,有父子倆在同一間公司供職,則他們有親屬關(guān)系,還有同事關(guān)系。此處,“親屬”和“同事”就是不同的關(guān)聯(lián)類別。
關(guān)聯(lián)方向用于標(biāo)示關(guān)聯(lián)類別的方向。所述方向包括正向、反向及雙向等。例如,父子倆用“父子”這一關(guān)聯(lián)類別來描述關(guān)聯(lián)時,必須指明誰是“父”,誰是“子”。假如甲是乙的父親,我們可以這樣表示“父子,甲->乙”也可以這樣“父子,乙<-甲”如果“->”稱為“正向”,則“<-”稱為“反向”,反之亦然。可見,當(dāng)用“父子”這一關(guān)聯(lián)類別來描述甲乙之間的關(guān)系時,這種關(guān)聯(lián)方式對雙方而言,是不對等的。但有些關(guān)聯(lián)類別可以用于描述“對等的”關(guān)聯(lián)關(guān)系,如“親屬”關(guān)系。我們可以說甲是乙的親屬,也可以說乙是甲的親屬。可以這樣表示“親屬,甲<->乙”
也可以這樣“親屬,乙<->甲”。
我們稱“<->”為“對等雙向”,或簡稱“雙向”。
綜上所述,為了表達(dá)一個信息關(guān)聯(lián)關(guān)系,我們應(yīng)該指明以下基本關(guān)聯(lián)內(nèi)容關(guān)聯(lián)對象(信息A、信息B)、關(guān)聯(lián)類別及關(guān)聯(lián)方向。
其中,關(guān)聯(lián)類別及關(guān)聯(lián)方向被稱作為關(guān)聯(lián)方式,而其中的關(guān)聯(lián)方向在某些情況下是可以被省略的。特別是如果其中的關(guān)聯(lián)類別是“對等的”,則關(guān)聯(lián)方向必然是“雙向的”,這時,關(guān)聯(lián)方向可以作為一種隱含或缺省而被省略掉。
在本文的例子中,我們用符號“A、B、O”來代表關(guān)聯(lián)方向“正向、反向、雙向”。
除了上述基本關(guān)聯(lián)信息外,還可以在此基礎(chǔ)上附加更為廣泛的資料(附加信息)來進(jìn)一步描述關(guān)聯(lián)關(guān)系。比如關(guān)聯(lián)時間,來表達(dá)關(guān)系何時建立;關(guān)系程度,來表達(dá)關(guān)系的深淺或強(qiáng)弱。甚至是一段文本說明,比如可以在某個“朋友”關(guān)系中附加一句“表面是朋友,其實(shí)是冤家?!睂?shí)現(xiàn)信息無限制關(guān)聯(lián)的基本方式就是,創(chuàng)建一個或一組記錄關(guān)聯(lián)數(shù)據(jù)的數(shù)據(jù)表,稱為關(guān)聯(lián)映射表。當(dāng)要增加一對信息的關(guān)聯(lián)關(guān)系時,就在此表中記錄一條相應(yīng)的關(guān)聯(lián)數(shù)據(jù)。當(dāng)要確認(rèn)兩條信息是否具有某種關(guān)聯(lián)關(guān)系時,通過查詢關(guān)聯(lián)映射表就可以獲知。只要不限制關(guān)聯(lián)映射表的容量和存取能力,就可以實(shí)現(xiàn)本發(fā)明所稱的無限制信息關(guān)聯(lián)。
當(dāng)對某一信息或信息類別,檢索其關(guān)聯(lián)數(shù)據(jù),或檢索其所關(guān)聯(lián)的信息(關(guān)聯(lián)對象)時,一般要限定關(guān)聯(lián)方式、關(guān)聯(lián)對象的類別、或進(jìn)一步指明關(guān)聯(lián)對象的過濾條件等。這些限定稱為關(guān)聯(lián)條件。
(七)關(guān)聯(lián)的控制為了提高關(guān)聯(lián)或關(guān)聯(lián)處理的有效性和實(shí)用性,一般應(yīng)該對關(guān)聯(lián)條件、關(guān)聯(lián)方式、或其他處理方式(如統(tǒng)計(jì)方式、運(yùn)算方式、信息組合方式、動作行為方式等)進(jìn)行限定和控制。本發(fā)明中采用配置數(shù)據(jù)來進(jìn)行控制,利用配置數(shù)據(jù)與關(guān)聯(lián)程序的配合,可以做到既實(shí)施有效控制,又較少修改甚至無須修改關(guān)聯(lián)程序就能對控制進(jìn)行必要的調(diào)整。
如圖1所示,是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第一實(shí)施例的結(jié)構(gòu)示意圖;本發(fā)明的信息關(guān)聯(lián)系統(tǒng)包括關(guān)聯(lián)信息處理裝置50、與所述關(guān)聯(lián)信息處理裝置50分別連接的信息輸入及檢索裝置30、關(guān)聯(lián)映射表存取裝置60、配置數(shù)據(jù)的存取裝置70以及應(yīng)用接口裝置90。其中,應(yīng)用接口裝置90可以連接有一個外部系統(tǒng)10,該外部系統(tǒng)可以是一個或一組信息處理設(shè)備(如鍵盤和顯示終端)、其他的信息處理系統(tǒng)或自動控制系統(tǒng)。應(yīng)用接口裝置90用于實(shí)現(xiàn)該外部系統(tǒng)10與關(guān)聯(lián)信息處理裝置50之間的通信或功能的調(diào)用。
外部信息輸入及檢索裝置30用于接受關(guān)聯(lián)信息處理裝置50的指令或調(diào)用,來讀取、檢索和統(tǒng)計(jì)外部信息集合20中的外部信息,并將結(jié)果輸入給關(guān)聯(lián)信息處理裝置50使用。外部系統(tǒng)10和外部信息集合20也可以是一個整體,如果這樣,外部信息輸入及檢索裝置30就通過此組合體來訪問外部信息。
關(guān)聯(lián)映射表存取裝置60用于接受關(guān)聯(lián)信息處理裝置50的指令或調(diào)用,存取或檢索關(guān)聯(lián)映射表集合40中的關(guān)聯(lián)映射表信息。
關(guān)聯(lián)映射表的集合40,用于存儲本發(fā)明對外部信息處理的中間結(jié)果(即外部信息的關(guān)聯(lián)映射表)。該中間結(jié)果并非為本發(fā)明中對外部信息處理的最終結(jié)果。對外部數(shù)據(jù)處理的最終結(jié)果應(yīng)是由關(guān)聯(lián)信息處理裝置50將外部信息集合20、關(guān)聯(lián)映射表的集合40以及配置數(shù)據(jù)集合80的數(shù)據(jù)綜合處理后反饋到外部系統(tǒng)10的。
配置數(shù)據(jù)存取裝置70用于接受關(guān)聯(lián)信息處理裝置50的指令或調(diào)用,存取關(guān)聯(lián)信息處理裝置50在執(zhí)行相應(yīng)功能時用到的配置數(shù)據(jù)。
配置數(shù)據(jù)集合80用于存儲關(guān)聯(lián)信息處理裝置50在執(zhí)行相應(yīng)功能時所使用到的配置數(shù)據(jù)。所述配置數(shù)據(jù)包含有描述指定的關(guān)聯(lián)方式、關(guān)聯(lián)條件、統(tǒng)計(jì)方式、處理方式、行為方式或外部信息過濾條件中至少一種,調(diào)整或改變配置數(shù)據(jù),將會影響到信息關(guān)聯(lián)的處理方式。
關(guān)聯(lián)信息處理裝置50,用于通過與其他裝置的信息交互,依據(jù)相關(guān)的指令和參數(shù),完成對輸入或讀取的外部信息的關(guān)聯(lián)關(guān)系的處理,包括管理外部信息的關(guān)聯(lián)關(guān)系、對關(guān)聯(lián)關(guān)系及關(guān)聯(lián)的信息進(jìn)行統(tǒng)計(jì)、檢索和處理。
整個系統(tǒng)的工作方式和各部件之間的配合關(guān)系為外部系統(tǒng)10向應(yīng)用接口裝置90發(fā)出相應(yīng)的指令,啟動關(guān)聯(lián)信息處理裝置50完成對外部信息集合20中的外部信息的信息關(guān)聯(lián)關(guān)系的管理和信息處理工作,通過應(yīng)用接口裝置90將加工后的結(jié)果反饋給外部系統(tǒng)10。例如,通過將某訂單與某結(jié)算單產(chǎn)生關(guān)聯(lián),而產(chǎn)生的一個通知信息“此訂單可以發(fā)貨”,或者一條打印發(fā)貨通知的指令,所述通知信息或指令可反饋給外部系統(tǒng)。
關(guān)聯(lián)信息處理裝置50在工作中,通過外部信息輸入及檢索裝置30讀取或檢索外部信息;通過關(guān)聯(lián)映射表存取裝置60存取或檢索關(guān)聯(lián)處理的中間結(jié)果;通過配置數(shù)據(jù)存取裝置70來存取相關(guān)功能的控制參數(shù)和數(shù)據(jù);在實(shí)際應(yīng)用中,上述的外部信息集合20、關(guān)聯(lián)映射表集合40及配置數(shù)據(jù)集合80均可以存儲在單獨(dú)的存儲裝置或統(tǒng)一的存儲裝置中。
如圖2所示,是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第二實(shí)施例的結(jié)構(gòu)示意圖;在該實(shí)施例中,其是將第一實(shí)施例中的外部信息輸入及檢索裝置30、關(guān)聯(lián)映射表存取裝置60、配置數(shù)據(jù)存取裝置70和應(yīng)用接口裝置90合并到一個裝置(多功能接口裝置)中去。其原理不變,在此不進(jìn)行詳述。
如圖3所示,是本發(fā)明信息關(guān)聯(lián)系統(tǒng)的第三實(shí)施例的結(jié)構(gòu)示意圖;是將本發(fā)明中的關(guān)聯(lián)信息處理裝置50、關(guān)聯(lián)映射表存取裝置60及配置數(shù)據(jù)存取裝置70集成(嵌入)在外部系統(tǒng)10中,則外部系統(tǒng)10與關(guān)聯(lián)信息處理裝置50之間可以直接進(jìn)行數(shù)據(jù)交換和功能引用,關(guān)聯(lián)信息處理裝置50對外部信息的查詢也將通過外部系統(tǒng)10所提供的工具進(jìn)行,這樣可以省去外部信息輸入及檢索裝置30和應(yīng)用接口裝置90。
應(yīng)用接口裝置90用于實(shí)現(xiàn)外部系統(tǒng)10與關(guān)聯(lián)信息處理裝置50之間的相互通信。如果應(yīng)用方案是采用圖3所示的第三實(shí)施例的形式,或外部系統(tǒng)10與關(guān)聯(lián)信息處理裝置50可以直接相互引用和交換數(shù)據(jù),則可以省略此裝置。
如圖4所示,是本發(fā)明中應(yīng)用接口裝置90的結(jié)構(gòu)示意圖。該應(yīng)用接口裝置90包括輸入單元900、轉(zhuǎn)換單元901以及輸出單元902。輸入單元900讀取部件傳來的指令和數(shù)據(jù),并將它們暫存于此。轉(zhuǎn)換單元901將暫存于輸入單元的指令及數(shù)據(jù)進(jìn)行適當(dāng)?shù)淖儞Q,并將變換后的指令和數(shù)據(jù)送往輸出單元。其中的變換方式將依據(jù)外部系統(tǒng)10的特性要求來決定,如光電轉(zhuǎn)換、模數(shù)轉(zhuǎn)換、或是數(shù)據(jù)編碼及格式轉(zhuǎn)換等。輸出單元902將轉(zhuǎn)換單元傳來的指令及數(shù)據(jù)發(fā)往相應(yīng)的部件,或允許相應(yīng)的部件由此讀取指令及數(shù)據(jù),或依據(jù)指令和參數(shù)直接啟動相應(yīng)部件的指定功能。
外部信息輸入及檢索裝置30接受關(guān)聯(lián)信息處理裝置50的指令或調(diào)用,讀取和檢索或統(tǒng)計(jì)外部信息,并將結(jié)果輸入給關(guān)聯(lián)信息處理裝置50使用。如果應(yīng)用方案是采用圖3所示的第三實(shí)施例的形式,或關(guān)聯(lián)信息處理裝置50可以直接檢索及讀取外部信息,則可以省略此裝置。
外部信息輸入及檢索裝置30的建造需要根據(jù)外部信息集合20的存儲方式確定。這里給出一個例子假設(shè)我們的應(yīng)用環(huán)境是一個計(jì)算機(jī)網(wǎng)絡(luò),外部信息集合20是以關(guān)系數(shù)據(jù)庫文件的形式保存于網(wǎng)絡(luò)中的一臺計(jì)算機(jī)中。則外部信息輸入及檢索裝置30的構(gòu)造方式如下我們在此網(wǎng)絡(luò)中增加一臺計(jì)算機(jī),在其中運(yùn)行相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS),并將此DBMS通過網(wǎng)絡(luò)協(xié)議與此數(shù)據(jù)庫文件相聯(lián)結(jié),由此構(gòu)造一個數(shù)據(jù)庫服務(wù)器。然后在此服務(wù)器上運(yùn)行一個數(shù)據(jù)檢索接口程序(DSI)。所述DSI的流程圖如圖5所示。首先接收關(guān)聯(lián)信息處理裝置50的查詢和檢索指令及數(shù)據(jù),然后將指令和數(shù)據(jù)轉(zhuǎn)換成符合相應(yīng)的DBMS規(guī)則的SQL語句,然后將此SQL語句傳送給DBMS進(jìn)行數(shù)據(jù)檢索,最后將檢索結(jié)果反饋給關(guān)聯(lián)信息處理裝置50。
關(guān)聯(lián)映射表存儲于關(guān)聯(lián)映射表集合40中,用于反映任意兩個信息之間的關(guān)聯(lián)關(guān)系。一個關(guān)聯(lián)映射表可包含多條數(shù)據(jù),每一條數(shù)據(jù)反映一對信息之間的關(guān)聯(lián)關(guān)系,稱為關(guān)聯(lián)數(shù)據(jù),其數(shù)據(jù)結(jié)構(gòu)需滿足如下原則能從數(shù)據(jù)中獲得兩條信息,這兩條信息是此數(shù)據(jù)所反映的相關(guān)聯(lián)的信息;能從數(shù)據(jù)中獲得關(guān)聯(lián)類別;能從數(shù)據(jù)中獲得關(guān)聯(lián)方向;如需要,數(shù)據(jù)中還可包含關(guān)聯(lián)的附加信息。
以上所謂的“獲得”,包括直接獲取,和用隱含、缺省方式獲取,或依某種規(guī)則推導(dǎo)而獲取。
如下表1所示,為一個關(guān)聯(lián)映射表的舉例。它反映了任意兩個關(guān)聯(lián)對象(信息A和信息B)之間的關(guān)聯(lián)關(guān)系。
表1
其中,Aid表示信息A的信息標(biāo)識;Atype表示信息A的信息類別標(biāo)識;Bid表示信息B的信息標(biāo)識;Btype表示信息B的信息類別標(biāo)識;Rtype表示關(guān)聯(lián)類別的標(biāo)識;Direction表示關(guān)聯(lián)方向的標(biāo)識(A、B、或O);Append表示附加信息。用于對關(guān)聯(lián)關(guān)系做進(jìn)一步的說明或補(bǔ)充,如反映關(guān)聯(lián)關(guān)系的建立日期、關(guān)系程度、附加說明等。根據(jù)需要,可以構(gòu)建多個“附加信息”元素,也可以省略此元素。
Aid和Atype構(gòu)成信息A的定位標(biāo)識,Bid和Btype構(gòu)成信息B的定位標(biāo)識,因而可用以獲得這兩條關(guān)聯(lián)的信息。Rtype是關(guān)聯(lián)類別的標(biāo)識,用以將不同的關(guān)聯(lián)類別區(qū)別開來。利用一個Rtype可以唯一獲得一個關(guān)聯(lián)類別。Direction用以表達(dá)關(guān)聯(lián)方向,如A表示正向等。
在關(guān)聯(lián)映射表集合40中,可以設(shè)置唯一的一個關(guān)聯(lián)映射表,也可以設(shè)置多個關(guān)聯(lián)映射表。
如果設(shè)置了多個關(guān)聯(lián)映射表,則在存取時要明確不同的信息類別所對應(yīng)的關(guān)聯(lián)映射表。一般是另設(shè)置一個映射表,來反映信息類別與關(guān)聯(lián)映射表之間的對應(yīng)關(guān)系(如下表2所示)。這時,可以為每個關(guān)聯(lián)映射表設(shè)置一個ID,根據(jù)該關(guān)聯(lián)映射表ID就可以找到所對應(yīng)的關(guān)聯(lián)映射表。這樣,只要給定一個信息類別,就可以確定用哪個關(guān)聯(lián)映射表來存取或檢索關(guān)聯(lián)關(guān)系。
表2
如果信息類別與關(guān)聯(lián)映射表之間的對應(yīng)關(guān)系是一一對應(yīng)的關(guān)系,則在構(gòu)建關(guān)聯(lián)映射表時,可以省去一個信息類別標(biāo)識,即元素Atype。這里此元素就是一種隱含的存在形式。
如圖6所示,是本發(fā)明中關(guān)聯(lián)映射表存取裝置60的結(jié)構(gòu)示意圖。關(guān)聯(lián)映射表存取裝置60進(jìn)一步包括數(shù)據(jù)讀取單元600,從關(guān)聯(lián)映射表集合40中將指定的關(guān)聯(lián)映射表讀出。
數(shù)據(jù)過濾和解析單元601,所述過濾指在讀出的關(guān)聯(lián)映射表中,對比指定的關(guān)聯(lián)條件,將符合條件的關(guān)聯(lián)數(shù)據(jù)分離出來;所述解析指按照前述的獲得方式將讀取的關(guān)聯(lián)數(shù)據(jù),按照前述的數(shù)據(jù)結(jié)構(gòu)分解成相應(yīng)的元素集合,在分解時,根據(jù)需要,可以僅求取部分?jǐn)?shù)據(jù)元素,比如當(dāng)求取某信息A的關(guān)聯(lián)數(shù)據(jù)時,就沒有必要再將所讀取的關(guān)聯(lián)數(shù)據(jù)中信息A的定位標(biāo)識求出。
輸出單元602,首先將待寫入、或更新的數(shù)據(jù)組合或變換成關(guān)聯(lián)映射表集合40所能接收的格式,然后寫入關(guān)聯(lián)映射表集合40中;或從關(guān)聯(lián)映射表集合40中刪除指定的數(shù)據(jù)。
指令分析單元603,用于接收指令和參數(shù),并根據(jù)需要對指令及參數(shù)進(jìn)行必要的組合或變換(例如,構(gòu)造成SQL語句),然后數(shù)據(jù)讀取單元600或輸出單元602被啟動以執(zhí)行指令。
在執(zhí)行指令時,如果所給參數(shù)不包含關(guān)聯(lián)映射表的定位信息,相關(guān)的單元可以依據(jù)信息類別與關(guān)聯(lián)映射表之間的對應(yīng)關(guān)系來確定所操作的關(guān)聯(lián)映射表。
以下說明關(guān)聯(lián)映射表存取裝置60可能執(zhí)行的指令指令Create,用于在關(guān)聯(lián)映射表中創(chuàng)建關(guān)聯(lián)數(shù)據(jù)。其參數(shù)為前述關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)中的元素。執(zhí)行時,輸出單元602被啟動,在相應(yīng)的關(guān)聯(lián)映射表中寫入關(guān)聯(lián)數(shù)據(jù),結(jié)束后,可以向本裝置的調(diào)用者反饋一條執(zhí)行成功與否的信息。
指令Search,用于在關(guān)聯(lián)映射表中檢索關(guān)聯(lián)數(shù)據(jù)。其參數(shù)包括主信息和關(guān)聯(lián)條件。對應(yīng)前述關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)的例子,主信息是被關(guān)聯(lián)的主體,可以是具體的信息(包括信息標(biāo)識和信息類別標(biāo)識),也可以是信息類別(含信息類別標(biāo)識,而不含信息標(biāo)識)。其中信息標(biāo)識對應(yīng)關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)中的Aid,信息類別標(biāo)識對應(yīng)Atype。關(guān)聯(lián)條件用于對關(guān)聯(lián)數(shù)據(jù)做進(jìn)一步的過濾,可包括關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)中除Aid和Atype之外的其他零到多個元素的限定條件(如要求Btype為“訂單”或“合同”)。多個元素條件之間,還可以進(jìn)一步用“與”、“或”的關(guān)系進(jìn)行條件組合。執(zhí)行時,數(shù)據(jù)讀取單元600被啟動,數(shù)據(jù)過濾和解析單元601被啟動,最后,將得到的關(guān)聯(lián)數(shù)據(jù)集合反饋給本裝置的調(diào)用者。
指令I(lǐng)sRelate,用于判別信息或信息類別的關(guān)聯(lián)關(guān)系是否存在。其參數(shù)與指令Search所描述的參數(shù)相同。執(zhí)行時,數(shù)據(jù)讀取單元600被啟動,數(shù)據(jù)過濾和解析單元601被啟動,如果數(shù)據(jù)過濾和解析單元601能夠得到不為空的關(guān)聯(lián)數(shù)據(jù)集合,就向本裝置的調(diào)用者返回存在信息如“真”,否則返回不存在信息如“假”。
指令Delete,用于從關(guān)聯(lián)映射表中刪除關(guān)聯(lián)數(shù)據(jù)。其參數(shù)與指令Search所描述的參數(shù)相同。執(zhí)行時,數(shù)據(jù)讀取單元600被啟動,數(shù)據(jù)過濾和解析單元601和輸出單元602被啟動,其中輸出單元602將數(shù)據(jù)過濾和解析單元601所獲得的每一條關(guān)聯(lián)數(shù)據(jù)從相應(yīng)的關(guān)聯(lián)映射表中刪除。結(jié)束后,可以向本裝置的調(diào)用者反饋一條執(zhí)行成功與否的信息,也可以具體報(bào)告被刪除的關(guān)聯(lián)關(guān)系的數(shù)量。另外,如果指令分析單元603可以從本指令參數(shù)中獲取關(guān)聯(lián)數(shù)據(jù)的定位信息,則可以直接啟動輸出單元602來刪除它們。
以上4個指令為常用指令,讀者還可以根據(jù)需要,按照本方案的思路設(shè)定其他指令。如“修改”指令,用于對指定的關(guān)聯(lián)數(shù)據(jù)中的部分元素做修改。
這里給出一個構(gòu)造本裝置的簡單例子假設(shè)我們的應(yīng)用環(huán)境是一個計(jì)算機(jī)網(wǎng)絡(luò),關(guān)聯(lián)映射表集合40是以關(guān)系數(shù)據(jù)庫文件的形式保存于網(wǎng)絡(luò)中的一臺計(jì)算機(jī)中的。則本裝置的構(gòu)造方式如下我們在此網(wǎng)絡(luò)中增加一臺計(jì)算機(jī),在其中運(yùn)行相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS),并將此DBMS通過網(wǎng)絡(luò)協(xié)議與此數(shù)據(jù)庫文件相聯(lián)結(jié),由此構(gòu)造一個數(shù)據(jù)庫服務(wù)器。此數(shù)據(jù)庫服務(wù)器就包含了前述的數(shù)據(jù)讀取單元600、數(shù)據(jù)過濾和解析單元601以及輸入單元602,然后在此服務(wù)器上運(yùn)行一個或一組指令分析接口程序(IAI),構(gòu)成指令分析單元603。該IAI的流程圖見圖7所示,首先將接收關(guān)聯(lián)信息處理裝置50的指令及參數(shù),然后將指令及參數(shù)轉(zhuǎn)換成符合相應(yīng)的DBMS規(guī)則的SQL語句,然后將此SQL語句傳送給DBMS進(jìn)行相應(yīng)的數(shù)據(jù)庫操作,最后將結(jié)果反饋給關(guān)聯(lián)信息處理裝置50。
配置數(shù)據(jù)存取裝置70接受關(guān)聯(lián)信息處理裝置50的指令或調(diào)用,存取關(guān)聯(lián)信息處理裝置50在執(zhí)行相應(yīng)功能時用到的配置數(shù)據(jù)。
配置數(shù)據(jù)存儲于配置數(shù)據(jù)集合80中,其格式可以多種多樣,例如XML格式。
配置數(shù)據(jù)的類型和內(nèi)容包括以下部分或全部a)外部信息的過濾條件。關(guān)聯(lián)程序?qū)?jù)此檢索特定的外部信息。可以包括對外部信息中某些元素的限定條件(如大于某個值),或排序方式等。
例如,獲取金額大于10000的訂單,并按訂單日期的倒序進(jìn)行排序<Filter>
<Restrict>
<Field Name=”金額”>
<Value Comparator=”大于”>10000</Value>
</Field>
</Restrict>
<Sort>
<Field Name=”日期”>DESC</Field>
</Sort>
</Filter>
b)描述信息的關(guān)聯(lián)方式或關(guān)聯(lián)條件。關(guān)聯(lián)程序?qū)⒏鶕?jù)關(guān)聯(lián)條件來尋找某個或某類信息的關(guān)聯(lián)信息,或用關(guān)聯(lián)方式來限制關(guān)聯(lián)信息的處理方式??梢园P(guān)聯(lián)信息的信息類別、關(guān)聯(lián)類別、關(guān)聯(lián)方向或過濾條件(參見a))等。
例如,限定某種信息可以與“收款單”相關(guān)聯(lián),其關(guān)聯(lián)類別為“收款”,關(guān)聯(lián)方向?yàn)椤癆”<Relation Name=”關(guān)聯(lián)收款單”>
<InfoType>收款單</InfoType>
<RelationType>收款</RelationType>
<Direction>A</Direction>
</Relation>
通過調(diào)整這些數(shù)據(jù),用戶就可以在不改變程序和數(shù)據(jù)結(jié)構(gòu)的情況下,任意調(diào)整和改變信息關(guān)聯(lián)的處理方式。
還可以限制關(guān)聯(lián)的數(shù)量。如在上述例子中增加一條<RelNum>1</RelNum>
表示一條信息只允許與一個“收款單”建立關(guān)聯(lián)。
c)描述信息處理的特定方式。在處理關(guān)聯(lián)信息時,經(jīng)常需要對信息數(shù)據(jù)進(jìn)行相關(guān)的統(tǒng)計(jì)、運(yùn)算、或組合等處理。這時,可以在配置數(shù)據(jù)中描述這些處理的指令或表達(dá)式,關(guān)聯(lián)程序?qū)?jù)此進(jìn)行處理。
例如,對于符合特定過濾條件的“收款單”信息,統(tǒng)計(jì)其數(shù)量,并將統(tǒng)計(jì)值保存于名稱為“Count”的變量中;統(tǒng)計(jì)金額(Amount)總和,并保存于名稱為“Sum”的變量中。描述如下
<Statistics>
<Count>COUNT(ID)</Count>
<Sum>SUM(Amount)</Sum>
</Statistics>
又例如,對于某一指定的訂單信息,我們要將對其所關(guān)聯(lián)的收款單所統(tǒng)計(jì)的金額總和,以“收款總額”的名稱附加到此訂單信息的Append區(qū)域中,然后,將此值與訂單金額之差,以“欠款額”的名稱,也附加進(jìn)去。描述如下<Append>
<收款總額>Relation(關(guān)聯(lián)收款單).Statistics(Sum)<收款總額>
<欠款額>Field(Amount)-Append(收款總額)</欠款額>
</Append>
如圖8所示,是本發(fā)明中配置數(shù)據(jù)存取裝置70的結(jié)構(gòu)示意圖。配置數(shù)據(jù)存取裝置70包括數(shù)據(jù)讀取單元700,從配置數(shù)據(jù)集合80中將指定的數(shù)據(jù)讀出。
數(shù)據(jù)解析單元701,將讀出的數(shù)據(jù)解析或分解成特定結(jié)構(gòu)的指令或數(shù)據(jù)。具體方式將根據(jù)讀入數(shù)據(jù)的結(jié)構(gòu)和類型來確定。假設(shè)讀入的數(shù)據(jù)為XML文檔形式,可以采用DOM(Document Object Model)或SAX(XML簡單應(yīng)用編程接口)的接口標(biāo)準(zhǔn)規(guī)范來解析數(shù)據(jù)。解析后的數(shù)據(jù)將保存在一個數(shù)據(jù)緩存單元中等待關(guān)聯(lián)信息處理裝置50讀取應(yīng)用,或直接送往關(guān)聯(lián)信息處理裝置50。
假如要求配置數(shù)據(jù)存取裝置70能夠更新配置數(shù)據(jù)集合80中的數(shù)據(jù),則進(jìn)一步包括數(shù)據(jù)組合變換單元702,將待更新的數(shù)據(jù)組合或變換成配置數(shù)據(jù)集合80所能接收的格式。
輸出單元703,將組合變換后的數(shù)據(jù)寫入配置數(shù)據(jù)集合80中。
在調(diào)用或啟動配置數(shù)據(jù)存取裝置70來存取配置數(shù)據(jù)時,當(dāng)數(shù)據(jù)量較大或內(nèi)容較復(fù)雜時,可以向此裝置傳遞一個定位信息,以指明相關(guān)配置數(shù)據(jù)所在的位置。比如,如果配置數(shù)據(jù)是以文件集的形式保存于計(jì)算機(jī)的文件系統(tǒng)中,可以用路徑及文件名來給出定位信息;如果這些文件是XML格式,還可以附加上具有層次關(guān)系的標(biāo)簽名作為定位信息。
注意,配置數(shù)據(jù)集合80中的配置數(shù)據(jù)除了通過配置數(shù)據(jù)存取裝置70進(jìn)行修改外,還可以用類似文本編輯器的其他手段進(jìn)行構(gòu)建或修改,但要注意不能違背既定的格式。
如圖9所示,是本發(fā)明中關(guān)聯(lián)信息處理裝置50的結(jié)構(gòu)示意圖。關(guān)聯(lián)信息處理裝置50可以是一臺或多臺運(yùn)行有“關(guān)聯(lián)程序”的計(jì)算機(jī),而關(guān)聯(lián)程序是一個包含一組特定功能模塊的計(jì)算機(jī)程序,或是由一組具有特定功能的子程序而構(gòu)成的計(jì)算機(jī)程序,這些功能模塊或子程序與計(jì)算機(jī)一起構(gòu)成了關(guān)聯(lián)信息處理裝置50的各個功能單元。此裝置在接到外部系統(tǒng)10的指令后,啟動相應(yīng)的單元,然后將獲得的關(guān)聯(lián)信息、重構(gòu)的新信息、或控制信息反饋回外部系統(tǒng)10。該裝置包括管理關(guān)聯(lián)關(guān)系的單元500、檢索相關(guān)聯(lián)外部信息的單元501、統(tǒng)計(jì)關(guān)聯(lián)信息的單元502、信息重構(gòu)單元503、對外部系統(tǒng)進(jìn)行控制的單元504及配置數(shù)據(jù)的分析和執(zhí)行單元506。以下具體介紹這些單元。
配置數(shù)據(jù)的分析和執(zhí)行單元506用于對關(guān)聯(lián)條件、關(guān)聯(lián)方式、或其他處理方式(如統(tǒng)計(jì)方式、運(yùn)算方式、信息組合方式、動作行為方式等)進(jìn)行限定和控制。它從所述配置數(shù)據(jù)中提取相應(yīng)的指令、數(shù)據(jù)或表達(dá)式,將數(shù)據(jù)提供給其他單元使用,或執(zhí)行所述的指令或表達(dá)式,將執(zhí)行結(jié)果提供給其他單元使用。例如,創(chuàng)建信息關(guān)聯(lián)的程序通過分析相關(guān)的配置數(shù)據(jù),來確定兩條待關(guān)聯(lián)的信息是否被允許建立關(guān)聯(lián)。
該單元可以包括一些獨(dú)立的程序模塊,供其他功能單元在需要時來調(diào)用,也可以通過一些程序片段,嵌入到其他功能單元的程序中,完成相關(guān)的任務(wù)。
具體實(shí)現(xiàn)這些程序的方法,將依據(jù)配置數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和格式來實(shí)現(xiàn)。假如配置數(shù)據(jù)是以XML格式獲得,可以使用XPath的規(guī)則進(jìn)行數(shù)據(jù)定位;如果所得到的數(shù)據(jù)中包含有表達(dá)式字符串,還要使用具有一定詞法分析的程序?qū)λM(jìn)行進(jìn)一步的分解,在較為簡單的情況下,可以使用正則表達(dá)式來分析。
注意,對于配置數(shù)據(jù)分析所得到的指令或表達(dá)式,在程序中均要設(shè)計(jì)與其相對應(yīng)的子程序或程序片段,以便完成所指定的功能??砂ㄒ韵虏糠只蛉恐噶罨虮磉_(dá)式a1、對象定位表達(dá)式,用以在數(shù)據(jù)存儲區(qū)域中指定特定的數(shù)據(jù)對象。關(guān)聯(lián)程序可以取出該對象的值,或者向其中賦值。比如Relation(關(guān)聯(lián)收款單).Statistics(Count)表示在當(dāng)前的信息中,包含一個名稱為“關(guān)聯(lián)收款單”的關(guān)聯(lián)信息區(qū),在此信息區(qū)中有一個統(tǒng)計(jì)信息區(qū),此統(tǒng)計(jì)信息區(qū)中有一個名為“Count”的變量,這里就是定位此變量。
a2、運(yùn)算表達(dá)式,包括四則運(yùn)算、邏輯運(yùn)算等。關(guān)聯(lián)程序?qū)?jù)此求出相應(yīng)的運(yùn)算值。
a3、統(tǒng)計(jì)指令,關(guān)聯(lián)程序?qū)?yīng)用統(tǒng)計(jì)關(guān)聯(lián)信息的單元502執(zhí)行統(tǒng)計(jì),或者向外部信息輸入及檢索裝置30發(fā)送統(tǒng)計(jì)指令。
a4、檢索指令,關(guān)聯(lián)程序?qū)?yīng)用檢索相關(guān)聯(lián)外部信息的單元501執(zhí)行檢索,或者向外部信息輸入及檢索裝置30發(fā)送檢索指令。
a5、信息組合指令,關(guān)聯(lián)程序會將兩個或兩個以上的信息、數(shù)據(jù)進(jìn)行合并?;蛘邔⒛承?shù)據(jù)、信息附加到指定的信息中。
a6、行為控制指令,如指示關(guān)聯(lián)程序向外部系統(tǒng)發(fā)送控制指令。
a7、條件表達(dá)式,用以判斷指定的條件是否滿足。
注意,在關(guān)聯(lián)信息處理裝置50的各個單元運(yùn)行過程中,經(jīng)常需要指定特定的關(guān)聯(lián)條件、關(guān)聯(lián)方式、或其他處理方式等。可以有以下兩種方式來實(shí)現(xiàn)這些指定其一,在給相關(guān)單元的啟動指令和參數(shù)中直接包含了所要指定的具體信息;其二,在給相關(guān)單元的啟動指令和參數(shù)中包含了配置數(shù)據(jù)的定位信息,通過配置數(shù)據(jù)存取裝置70來獲取指定的配置數(shù)據(jù),利用配置數(shù)據(jù)的分析和執(zhí)行單元506來獲取相關(guān)信息。
管理關(guān)聯(lián)關(guān)系的單元500,用于通過關(guān)聯(lián)映射表存取裝置,用指定的關(guān)聯(lián)方式或關(guān)聯(lián)條件來管理關(guān)聯(lián)映射表中的關(guān)聯(lián)數(shù)據(jù),所述管理是利用程序來實(shí)現(xiàn)對關(guān)聯(lián)數(shù)據(jù)的創(chuàng)建、修改、檢索、或刪除。
創(chuàng)建關(guān)聯(lián)數(shù)據(jù)就是將指定的兩條信息(InfoA和InfoB)進(jìn)行關(guān)聯(lián),方法是根據(jù)指令參數(shù),求取關(guān)聯(lián)數(shù)據(jù),然后通過關(guān)聯(lián)映射表存取裝置60的Create指令在關(guān)聯(lián)映射表中添加所述關(guān)聯(lián)數(shù)據(jù)。具體實(shí)現(xiàn)此功能的編程方式很多。圖10為一個舉例的流程圖示意圖。
修改就是改變已存在的關(guān)聯(lián)關(guān)系,方法是通過關(guān)聯(lián)映射表存取裝置60在關(guān)聯(lián)映射表中用新的關(guān)聯(lián)數(shù)據(jù)來替代原有的關(guān)聯(lián)數(shù)據(jù)。
檢索就是找出已存在的關(guān)聯(lián)關(guān)系,方法是將主信息、關(guān)聯(lián)條件和Search指令發(fā)往關(guān)聯(lián)映射表存取裝置60,獲得符合條件的關(guān)聯(lián)數(shù)據(jù)集合。
刪除就是撤銷已存在的關(guān)聯(lián)關(guān)系,方法是將相應(yīng)參數(shù)和Delete指令發(fā)往關(guān)聯(lián)映射表存取裝置60。
檢索相關(guān)聯(lián)外部信息的單元501,用于依據(jù)關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置60訪問相應(yīng)的關(guān)聯(lián)映射表,獲取與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并根據(jù)所述關(guān)聯(lián)數(shù)據(jù)檢索外部信息集合,獲取與所述關(guān)聯(lián)數(shù)據(jù)對應(yīng)的外部信息的數(shù)據(jù);如圖11所示,是本發(fā)明中,檢索關(guān)聯(lián)信息的程序流程圖舉例。此流程的目的是將與指定的信息或信息類別(稱為主信息,對應(yīng)Aid和Atype)所關(guān)聯(lián)的外部信息檢索出來。
首先,根據(jù)指令參數(shù),提取指定的主信息和關(guān)聯(lián)條件;第二步,將上述提取的參數(shù)數(shù)據(jù)連同檢索指令Search,一同發(fā)往關(guān)聯(lián)映射表存取裝置60,執(zhí)行關(guān)聯(lián)關(guān)系的檢索,其結(jié)果將可能得到一組關(guān)聯(lián)數(shù)據(jù)集合,其中的Bid和Btype將被用于檢索所關(guān)聯(lián)的外部信息。如果數(shù)據(jù)集合為空,則表示無關(guān)聯(lián)信息,則程序結(jié)束。
第三步,將關(guān)聯(lián)數(shù)據(jù)中的Bid和Btype發(fā)往外部信息輸入及檢索裝置30,獲取具體的所關(guān)聯(lián)的外部信息集合。
第四步,返回所得到的信息集合。
也可以通過調(diào)用管理關(guān)聯(lián)關(guān)系的單元500的檢索功能,將上述第一步和第二步合并為一個步驟。在特殊情況下,比如外部信息20和關(guān)聯(lián)映射表(關(guān)聯(lián)映射表集合40)同處于一個關(guān)系型數(shù)據(jù)庫中,上述第二步和第三步可以合并為同一個步驟,如通過構(gòu)造一個含連接表的SQL語句,可一次獲取關(guān)聯(lián)信息集合。
統(tǒng)計(jì)關(guān)聯(lián)信息的單元502,用于依據(jù)關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置60訪問相應(yīng)的關(guān)聯(lián)映射表,檢索出與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并利用指定的統(tǒng)計(jì)方式進(jìn)行統(tǒng)計(jì),獲得統(tǒng)計(jì)數(shù)據(jù),所述指定的統(tǒng)計(jì)方式包括對檢索出的關(guān)聯(lián)數(shù)據(jù)集合中的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì),或利用檢索出的關(guān)聯(lián)數(shù)據(jù),對所述關(guān)聯(lián)數(shù)據(jù)所對應(yīng)的外部信息的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。統(tǒng)計(jì)內(nèi)容可以包括信息數(shù)量的計(jì)數(shù),或?qū)δ硞€信息元素的求和、求最大值、求最小值、求均值、或求方差等。
在特殊情況下,比如部信息20和關(guān)聯(lián)映射表(關(guān)聯(lián)映射表集合40)同處于一個關(guān)系型數(shù)據(jù)庫中,可以在檢索的同時獲取統(tǒng)計(jì)數(shù)據(jù)(通過構(gòu)造包含統(tǒng)計(jì)函數(shù)的SQL語句)。
信息重構(gòu)單元503,用于對檢索或統(tǒng)計(jì)所獲得的信息,用指定的處理方式進(jìn)行處理,獲得在原外部信息集合之外的新的數(shù)據(jù),所述處理方式包括判斷、運(yùn)算、組合、分解、信息附加或直接引用中至少一種。
如圖12所示,是本發(fā)明中實(shí)現(xiàn)信息重構(gòu)的一個示例的程序流程示意圖。
實(shí)現(xiàn)的方法如下在配置數(shù)據(jù)集合80中設(shè)置一條或一段配置數(shù)據(jù),用以指明信息A的關(guān)聯(lián)方式、數(shù)據(jù)處理方式。然后可以開始執(zhí)行此功能。
首先,讀取上面設(shè)置的配置數(shù)據(jù),并獲取信息A。
然后,利用配置數(shù)據(jù)的分析和執(zhí)行單元506來分析配置數(shù)據(jù),并按照其要求對關(guān)聯(lián)信息、以及信息A的內(nèi)在數(shù)據(jù)進(jìn)行處理。處理方式為數(shù)據(jù)的過濾、統(tǒng)計(jì)、運(yùn)算、組合、或附加信息等。
最后,將處理所得到的信息反饋給此功能的調(diào)用者,一般是送往外部系統(tǒng)10。
舉例如下假設(shè)外部信息中有訂單信息和收款信息,這兩類信息之間已經(jīng)使用前述關(guān)聯(lián)管理功能建立了必要的關(guān)聯(lián)。這里,我們將通過對某訂單所關(guān)聯(lián)的收款信息進(jìn)行相關(guān)的統(tǒng)計(jì)和運(yùn)算,以便確定此訂單是否已收款、收款幾次、共收多少、是否還有欠款、以及欠款多少。這些信息與原訂單信息一起,將構(gòu)成一個新的訂單綜合信息反饋給用戶。
在此功能使用之前,先在配置數(shù)據(jù)集合80中以XML格式設(shè)置一段配置數(shù)據(jù),如下<Info>
<InfoType>訂單</InfoType>
<Relation Name=”關(guān)聯(lián)收款單”>
<InfoType>收款單</InfoType>
<RelationType>收款</RelationType>
<Direction>A</Direction>
<Statistics>
<Count>COUNT(ID)</Count>
<Sum>SUM(Amount)</Sum>
</Statistics>
</Relation>
<Append>
<收款次數(shù)>Relation(關(guān)聯(lián)收款單).Statistics(Count)</收款次數(shù)>
<是否收款>Boolean(Append(收款次數(shù))>0)</是否收款>
<收款總額>Relation(關(guān)聯(lián)收款單).Statistics(Sum)<收款總額>
<欠款額>Field(Amount)-Append(收款總額)</欠款額>
<是否欠款>Boolean(Append(欠款額)>0)</是否欠款>
</Append>
</Info>
隨后,用如圖12所示的流程進(jìn)行處理。本功能在執(zhí)行過程中,將使用配置數(shù)據(jù)的分析和執(zhí)行單元506來對上述配置數(shù)據(jù)進(jìn)行分析,得到相應(yīng)的指令、參數(shù)、表達(dá)式。然后完成相關(guān)的指令運(yùn)算、表達(dá)式運(yùn)算等任務(wù)。以下具體解釋本功能程序分析上述配置數(shù)據(jù)后,所執(zhí)行的處理方法<Info>表示一條特定的信息。其下級內(nèi)容表示了如何構(gòu)造此信息。
<InfoType>訂單</InfoType>表示此信息的類型為“訂單”。因此可以根據(jù)一個精確的信息標(biāo)識(ID)來確定一個唯一的訂單。可以通過外部信息輸入及檢索裝置30來獲取此訂單。
<Relation Name=”關(guān)聯(lián)收款單”>表示當(dāng)?shù)玫揭粋€訂單后,將建立一個與此訂單對應(yīng)的關(guān)聯(lián)信息存儲區(qū)域,用于獲取此訂單的關(guān)聯(lián)信息。并且此區(qū)域有一個名字關(guān)聯(lián)收款單。其下級內(nèi)容表示了如何確定這些關(guān)聯(lián)信息。
<InfoType>收款單</InfoType>表示所關(guān)聯(lián)的信息限定為“收款單”的信息類型。
<RelationType>收款</RelationType>表示關(guān)聯(lián)類別為收款,即這些收款單是因“收款”而與對應(yīng)的訂單相關(guān)聯(lián)的。
<Direction>A</Direction>表示關(guān)聯(lián)方向?yàn)锳,即訂單收款后產(chǎn)生的收款單。
<Statistics>表示要對上述所關(guān)聯(lián)的收款單進(jìn)行統(tǒng)計(jì),可通過調(diào)用統(tǒng)計(jì)關(guān)聯(lián)信息的單元502來實(shí)現(xiàn),同時在此關(guān)聯(lián)信息區(qū)域中建立一個統(tǒng)計(jì)信息存儲區(qū),用以保存所統(tǒng)計(jì)的信息。其下級內(nèi)容表示了要做哪些統(tǒng)計(jì),以及如何統(tǒng)計(jì)。
<Count>COUNT(ID)</Count>表示要在統(tǒng)計(jì)信息區(qū)創(chuàng)建一個名稱為“Count”的統(tǒng)計(jì)變量,其值為對所關(guān)聯(lián)的收款單的ID進(jìn)行計(jì)數(shù)統(tǒng)計(jì),這代表了此訂單的收款次數(shù)。COUNT是一個統(tǒng)計(jì)指令計(jì)數(shù)。(ID)表示對收款單的ID進(jìn)行計(jì)數(shù)。
<Sum>SUM(Amount)</Sum>表示要在統(tǒng)計(jì)信息區(qū)創(chuàng)建一個名稱為“Sum”的統(tǒng)計(jì)變量,其值為對所關(guān)聯(lián)的收款單的金額值進(jìn)行求和,這代表了此訂單的收款總額。SUM是一個統(tǒng)計(jì)指令求和。(Amount)表示求和的對象為收款單的Amount元素,即收款金額。
<Append>表示要向?qū)?yīng)的訂單附加一些信息數(shù)據(jù),這些數(shù)據(jù)將保存在此訂單的附加數(shù)據(jù)區(qū)域。其下級內(nèi)容表示了要附加哪些數(shù)據(jù),以及如何得到這些數(shù)據(jù)的值。
<收款次數(shù)>Relation(關(guān)聯(lián)收款單).Statistics(Count)</收款次數(shù)>表示在附加數(shù)據(jù)區(qū)創(chuàng)建一個名稱為“收款次數(shù)”的對象(變量),其值為在名稱為“關(guān)聯(lián)收款單”的關(guān)聯(lián)信息區(qū)中的統(tǒng)計(jì)信息Count變量中的值。
<是否收款>Boolean(Append(收款次數(shù))>0)</是否收款>表示在附加數(shù)據(jù)區(qū)創(chuàng)建一個名稱為“是否收款”的對象(變量),其值為收款次數(shù)的值是否大于0(是或否)。其中Append(收款次數(shù))表示附加數(shù)據(jù)區(qū)中名稱為“收款次數(shù)”的對象(變量)。Boolean是一個運(yùn)算指令對括號中的表達(dá)式求布爾值(是或否)。
<收款總額>Relation(關(guān)聯(lián)收款單).Statistics(Sum)<收款總額>表示在附加數(shù)據(jù)區(qū)創(chuàng)建一個名稱為“收款總額”的對象(變量),其值為在名稱為“關(guān)聯(lián)收款單”的關(guān)聯(lián)信息區(qū)中的統(tǒng)計(jì)信息Sum變量中的值。
<欠款額>Field(Amount)-Append(收款總額)</欠款額>表示在附加數(shù)據(jù)區(qū)創(chuàng)建一個名稱為“欠款額”的對象(變量),其值為訂單金額與收款總額的差。Field(Amount)表示訂單的Amount元素,即訂單金額。Append(收款總額)表示訂單的附加數(shù)據(jù)區(qū)中名稱為“收款總額”的對象(變量)?!?”將這兩個對象連接起來構(gòu)成一個減法表達(dá)式,其值為這兩個對象值之差。
<是否欠款>Boolean(Append(欠款額)>0)</是否欠款>表示在附加數(shù)據(jù)區(qū)創(chuàng)建一個名稱為“是否欠款”的對象(變量),其值為欠款額的值是否大于0(是或否)。其中Append(欠款額)表示附加數(shù)據(jù)區(qū)中名稱為“欠款額”的對象(變量)。Boolean是一個運(yùn)算指令對括號中的表達(dá)式求布爾值(是或否)。
對外部系統(tǒng)進(jìn)行控制的單元504,用于對檢索或統(tǒng)計(jì)所獲得的信息,用指定的處理方式進(jìn)行處理,并依照所述處理的結(jié)果,按照指定的行為方式向外部系統(tǒng)發(fā)出相應(yīng)的控制指令,以控制外部系統(tǒng)的運(yùn)行。
此單元利用程序向外部應(yīng)用系統(tǒng)(外部系統(tǒng)10)發(fā)送特定的指令和參數(shù)。這些對外發(fā)送的指令和參數(shù),必須是外部系統(tǒng)10所能夠接受和執(zhí)行的。如圖13所示,是本發(fā)明中實(shí)現(xiàn)系統(tǒng)控制的一個示例的流程示意圖,說明如下在配置數(shù)據(jù)集合80中設(shè)置相關(guān)的配置數(shù)據(jù),用以指明特定信息的關(guān)聯(lián)方式,關(guān)聯(lián)信息的處理方式,控制行為的啟動條件、指令、以及參數(shù)等。然后可以開始執(zhí)行此功能。
首先,讀取上面設(shè)置的配置數(shù)據(jù),并獲取待處理或分析的信息。
第二步,分析配置數(shù)據(jù),獲取相應(yīng)的關(guān)聯(lián)信息、或相應(yīng)的統(tǒng)計(jì)、運(yùn)算等數(shù)據(jù)。
第三步,分析配置數(shù)據(jù)中的條件要求,如果條件滿足,執(zhí)行下一步;不滿足,執(zhí)行第五步。
第四步,分析配置數(shù)據(jù),使用相應(yīng)的指令及參數(shù),啟動指定的控制行為(包括對外發(fā)送控制指令)。
最后,如果有必要(比如,批量處理未完結(jié)),可以循環(huán)執(zhí)行前面的步驟,否則終止本功能執(zhí)行。
說明配置數(shù)據(jù)的分析,也可以在程序開始部分執(zhí)行一次,并將分析結(jié)果緩存,供后面的步驟及循環(huán)使用。待處理或分析的信息,也可以在每次循環(huán)中逐條讀取,直至全部處理或分析完畢。
另外,如果應(yīng)用方案是采用嵌入形式(圖3),或外部系統(tǒng)10與關(guān)聯(lián)信息處理裝置50可以直接相互引用和交換數(shù)據(jù),那么,這里所謂的對外發(fā)送指令,可以是直接啟動外部系統(tǒng)10的相關(guān)功能。
舉例如下假設(shè)外部信息中有訂單信息和收款信息,這兩類信息之間已經(jīng)使用前述關(guān)聯(lián)管理功能建立了必要的關(guān)聯(lián)。在訂單中有一個“已發(fā)貨”的元素,用以表明訂單是否已經(jīng)發(fā)貨,并且外部系統(tǒng)10在對某訂單執(zhí)行發(fā)貨任務(wù)后,會自動將其“已發(fā)貨”的元素值設(shè)置為“True”,凡是“已發(fā)貨”為“False”的訂單均是未發(fā)貨訂單。我們的任務(wù)是,檢查所有未發(fā)貨的訂單,一旦發(fā)現(xiàn)某訂單已經(jīng)收款(即收款次數(shù)大于0,且收款總額大于0),則向外部系統(tǒng)10發(fā)送一條“訂單發(fā)貨”的指令,并且此訂單的ID也隨指令一同送出。這里還假設(shè)外部系統(tǒng)10包含一個自動販賣系統(tǒng),在接到此指令后,會對相應(yīng)的訂單啟動一個自動出貨的過程,并在過程完畢后,將訂單的“已發(fā)貨”標(biāo)志設(shè)為“True”。由此而言,本功能的程序就構(gòu)成了這個自動販賣系統(tǒng)的一部分。
在此功能使用之前,先在配置數(shù)據(jù)集合80中以XML格式設(shè)置一段配置數(shù)據(jù),如下<Info>
<InfoType>訂單</InfoType>
<Filter>
<Restrict>
<Field Name=”已發(fā)貨”>
<Value Comparator=”=”>False</Value>
</Field>
</Restrict>
</Filter>
<Relation Name=”關(guān)聯(lián)收款單”>
<InfoType>收款單</InfoType>
<RelationType>收款</RelationType>
<Direction>A</Direction>
<Statistics>
<Count>COUNT(ID)</Count>
<Sum>SUM(Amount)</Sum>
</Statistics>
</Relation>
<Actions>
<Condition>
<If>Relation(關(guān)聯(lián)收款單).Statistics(Count)>0</If>
<If>Relation(關(guān)聯(lián)收款單).Statistics(Sum)>0</If>
<R>And</R>
</Condition>
<Action>
<Execute>SendCommand</Execute>
<Param Name=”Cmd”>”訂單發(fā)貨”</Param>
<Param Name=”ID”>Field(ID)</Param>
</Action>
</Actions>
</Info>
隨后,用如圖13所示的流程進(jìn)行處理。以下具體解釋本功能程序分析上述配置數(shù)據(jù)后,所執(zhí)行的處理方法<Info>表示一條特定的信息。其下級內(nèi)容表示了如何構(gòu)造此信息,以及相關(guān)行為方法。
<InfoType>訂單</InfoType>表示此信息的類型為“訂單”。
<Filter>和<Restrict>表示一個信息過濾條件,這里將用此條件通過外部信息輸入及檢索裝置30來檢索出批量的“訂單”信息。如果給定一個訂單,也可以用此來檢驗(yàn)它是否符合處理要求。
<Field Name=”已發(fā)貨”>和<Value Comparator=”=”>False</Value>表示要求所求得的訂單,其“已發(fā)貨”標(biāo)志必須是False。
<Relation Name=”關(guān)聯(lián)收款單”>表示當(dāng)?shù)玫揭粋€訂單后,將建立一個與此訂單對應(yīng)的關(guān)聯(lián)信息存儲區(qū)域,用于獲取此訂單的關(guān)聯(lián)信息。并且此區(qū)域有一個名字關(guān)聯(lián)收款單。其下級內(nèi)容表示了如何確定這些關(guān)聯(lián)信息。
<InfoType>收款單</InfoType>表示所關(guān)聯(lián)的信息限定為“收款單”的信息類型。
<RelationType>收款</RelationType>表示關(guān)聯(lián)類別為收款,即這些收款單是因“收款”而與對應(yīng)的訂單相關(guān)聯(lián)的。
<Direction>A</Direction>表示關(guān)聯(lián)方向?yàn)锳,即訂單收款后產(chǎn)生的收款單。
<Statistics>表示要對上述所關(guān)聯(lián)的收款單進(jìn)行統(tǒng)計(jì),可通過調(diào)用統(tǒng)計(jì)關(guān)聯(lián)信息的單元502來實(shí)現(xiàn),同時在此關(guān)聯(lián)信息區(qū)域中建立一個統(tǒng)計(jì)信息存儲區(qū),用以保存所統(tǒng)計(jì)的信息。其下級內(nèi)容表示了要做哪些統(tǒng)計(jì),以及如何統(tǒng)計(jì)。
<Count>COUNT(ID)</Count>表示要在統(tǒng)計(jì)信息區(qū)創(chuàng)建一個名稱為“Count”的統(tǒng)計(jì)變量,其值為對所關(guān)聯(lián)的收款單的ID進(jìn)行計(jì)數(shù)統(tǒng)計(jì),這代表了此訂單的收款次數(shù)。COUNT是一個統(tǒng)計(jì)指令計(jì)數(shù)。(ID)表示對收款單的ID進(jìn)行計(jì)數(shù)。
<Sum>SUM(Amount)</Sum>表示要在統(tǒng)計(jì)信息區(qū)創(chuàng)建一個名稱為“Sum”的統(tǒng)計(jì)變量,其值為對所關(guān)聯(lián)的收款單的金額值進(jìn)行求和,這代表了此訂單的收款總額。SUM是一個統(tǒng)計(jì)指令求和。(Amount)表示求和的對象為收款單的Amount元素,即收款金額。
<Actions>表示其下級描述的是當(dāng)獲得了上述訂單后,將要對每個訂單所執(zhí)行的行為??梢杂卸鄠€行為,但這里僅有一個。
<Condition>表示在執(zhí)行前,有一個條件判斷,如果條件成立,就執(zhí)行,否則,不執(zhí)行。其下級的<If>標(biāo)簽說明具體的條件式??梢杂卸鄠€條件,標(biāo)簽<R>用以說明多個條件之間的邏輯關(guān)系A(chǔ)nd或Or??梢詫⒋私Y(jié)構(gòu)設(shè)計(jì)成多層嵌套形式,用以表達(dá)更為復(fù)雜的條件組合邏輯。
<If>Relation(關(guān)聯(lián)收款單).Statistics(Count)>0</If>表示要求在名稱為“關(guān)聯(lián)收款單”的關(guān)聯(lián)信息區(qū)中的統(tǒng)計(jì)信息Count變量中的值必須大于0,即至少要有一次收款。
<If>Relation(關(guān)聯(lián)收款單).Statistics(Sum)>0</If>表示要求在名稱為“關(guān)聯(lián)收款單”的關(guān)聯(lián)信息區(qū)中的統(tǒng)計(jì)信息Sum變量中的值必須大于0,即收款總額必須是正數(shù)。
<R>And</R>表示要求上述兩個條件式必須同時為真,整個條件判斷才能為真。
<Action>描述了所要執(zhí)行的一個行為。
<Execute>SendCommand</Execute>表示將要執(zhí)行何種行為,這里SendCommand是要對外發(fā)送一條指令。隨后的<Param>是執(zhí)行此行為所需的參數(shù)。
<Param Name=”Cmd”>”訂單發(fā)貨”</Param>表示名稱為“Cmd”的參數(shù),其值為“訂單發(fā)貨”。對于發(fā)送指令的行為而言,這表示指令名稱。
<Param Name=”ID”>Field(ID)</Param>表示名稱為“ID”的參數(shù),其值為訂單中的ID元素值。對于訂單發(fā)貨的指令而言,這表示訂單號。
使用本發(fā)明所提供的系統(tǒng)及方法,可以讓所處理的外部信息集合中任意兩個獨(dú)立的信息,在任意概念上發(fā)生聯(lián)系。比如,我們可以在數(shù)分鐘之內(nèi)完成某兩個信息之間的關(guān)聯(lián)擴(kuò)展和修改,甚至可以是在系統(tǒng)在保護(hù)運(yùn)行而不停機(jī)的狀態(tài)下實(shí)現(xiàn)的。
使用本發(fā)明提供的方法,在建造一個新的信息處理系統(tǒng)時,不必要求把整個系統(tǒng)方方面面的關(guān)系考慮完善后,再進(jìn)行開發(fā)。在系統(tǒng)交付使用后,如果發(fā)現(xiàn)有新的關(guān)聯(lián)要求,可以通過重新配置相應(yīng)的參數(shù)等方法來擴(kuò)展新的關(guān)聯(lián)需求。而這種擴(kuò)展或改變,是在不必修改所用到的“關(guān)聯(lián)程序”,不必修改外部信息的數(shù)據(jù)結(jié)構(gòu),不必修改本發(fā)明所特定的數(shù)據(jù)結(jié)構(gòu)的情況下實(shí)現(xiàn)的。
因而,使用本發(fā)明提供的方法,可以極大地提高用戶處理信息關(guān)聯(lián)的能力和效率,也能提高應(yīng)用系統(tǒng)開發(fā)的效率和靈活性。從而極大地提高了用戶處理信息關(guān)聯(lián)的能力和效率。
以下的例子說明本發(fā)明的部分其他應(yīng)用方式例1、假設(shè)外部信息集合中包含“訂單”信息和“人員”信息,當(dāng)用戶打算將一個訂單同一個人員通過“跟單”的關(guān)系而聯(lián)系起來,從而產(chǎn)生一個“包含了跟單員的訂單”,而“訂單的跟單員”的信息是原外部信息集合中所沒有的新的信息類型時,可以使用本發(fā)明提供的系統(tǒng)或方法實(shí)現(xiàn)。這樣,當(dāng)提取一個包含了跟單員的訂單時,除了訂單原有的信息外,其跟單員的信息也被附加其上,同時被關(guān)聯(lián)的人員也因此被賦予了新的屬性一個訂單的跟單員。
例2、假設(shè)外部信息集合中包含“訂單”信息和“結(jié)算單”信息,而這兩者信息在原信息集合中沒有任何顯而易見的聯(lián)系。當(dāng)用戶打算將一個訂單同一個結(jié)算單通過“結(jié)算”的關(guān)系而聯(lián)系起來,從而產(chǎn)生一個“已經(jīng)結(jié)算的訂單”時,可以使用本發(fā)明提供的系統(tǒng)或方法實(shí)現(xiàn)。同時,被關(guān)聯(lián)的結(jié)算單也被賦予了新的屬性一個訂單的結(jié)算單,而不是一個合同的結(jié)算單(假設(shè)原有外部信息集合中,訂單和合同是兩個不同的信息類型)。
權(quán)利要求
1.一種信息關(guān)聯(lián)系統(tǒng),其特征在于,包括存儲裝置,存儲有關(guān)聯(lián)映射表集合,該集合中至少包括一個關(guān)聯(lián)映射表,所述每一關(guān)聯(lián)映射表存儲有外部信息的關(guān)聯(lián)數(shù)據(jù)的集合,其中,每一條關(guān)聯(lián)數(shù)據(jù)用于表達(dá)一對外部信息之間的關(guān)聯(lián)關(guān)系,并且從每一條關(guān)聯(lián)數(shù)據(jù)中至少可以獲得以下數(shù)據(jù)元素關(guān)聯(lián)對象雙方的定位標(biāo)識、關(guān)聯(lián)類別標(biāo)識及關(guān)聯(lián)方向標(biāo)識;關(guān)聯(lián)映射表存取裝置,用于讀寫關(guān)聯(lián)映射表集合中指定的關(guān)聯(lián)映射表,并將所讀取的關(guān)聯(lián)數(shù)據(jù)分解成相應(yīng)的數(shù)據(jù)元素集合;關(guān)聯(lián)信息處理裝置,用于訪問一外部信息集合中的外部信息,并對外部信息及其關(guān)聯(lián)關(guān)系進(jìn)行處理,該裝置包括管理關(guān)聯(lián)關(guān)系的單元,用于通過關(guān)聯(lián)映射表存取裝置,用指定的關(guān)聯(lián)方式或關(guān)聯(lián)條件來管理關(guān)聯(lián)映射表中的關(guān)聯(lián)數(shù)據(jù);檢索相關(guān)聯(lián)外部信息的單元,用于依據(jù)關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,獲取與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并根據(jù)所述關(guān)聯(lián)數(shù)據(jù)檢索外部信息集合,獲取與所述關(guān)聯(lián)數(shù)據(jù)對應(yīng)的外部信息的數(shù)據(jù);統(tǒng)計(jì)關(guān)聯(lián)信息的單元,用于依據(jù)關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,檢索出與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),并利用指定的統(tǒng)計(jì)方式進(jìn)行統(tǒng)計(jì),獲得統(tǒng)計(jì)數(shù)據(jù),所述指定的統(tǒng)計(jì)方式包括對檢索出的關(guān)聯(lián)數(shù)據(jù)集合中的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì),或利用檢索出的關(guān)聯(lián)數(shù)據(jù),對所述關(guān)聯(lián)數(shù)據(jù)所對應(yīng)的外部信息的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
2.如權(quán)利要求1所述的信息關(guān)聯(lián)系統(tǒng),其特征在于,所述關(guān)聯(lián)對象的定位標(biāo)識進(jìn)一步包括關(guān)聯(lián)對象的信息標(biāo)識和信息類別標(biāo)識。
3.如權(quán)利要求1或2所述的信息關(guān)聯(lián)系統(tǒng),其特征在于,所述關(guān)聯(lián)信息處理裝置進(jìn)一步包括信息重構(gòu)單元,用于對從所述管理關(guān)聯(lián)關(guān)系的單元、檢索相關(guān)聯(lián)外部信息的單元或統(tǒng)計(jì)關(guān)聯(lián)信息的單元所獲得的信息,用指定的處理方式進(jìn)行處理,獲得在原外部信息集合之外的新的數(shù)據(jù),所述處理方式包括判斷、運(yùn)算、組合、分解、信息附加或直接引用中至少一種;或者對外部系統(tǒng)進(jìn)行控制的單元,用于對從所述管理關(guān)聯(lián)關(guān)系的單元、檢索相關(guān)聯(lián)外部信息的單元或統(tǒng)計(jì)關(guān)聯(lián)信息的單元所獲得的信息,用指定的處理方式進(jìn)行處理,并依照所述處理的結(jié)果,按照指定的行為方式向外部系統(tǒng)發(fā)出相應(yīng)的控制指令,以控制外部系統(tǒng)的運(yùn)行。
4.如權(quán)利要求1至3任一項(xiàng)所述的信息關(guān)聯(lián)系統(tǒng),其特征在于,所述關(guān)聯(lián)信息處理裝置直接地或通過一個應(yīng)用接口裝置與一外部系統(tǒng)進(jìn)行指令、數(shù)據(jù)、或相互調(diào)用的交互;所述關(guān)聯(lián)信息處理裝置直接地或通過一個外部信息輸入及檢索裝置來訪問所述外部信息集合。
5.如權(quán)利要求1至3任一項(xiàng)所述的信息關(guān)聯(lián)系統(tǒng),其特征在于,進(jìn)一步包括配置數(shù)據(jù)集合的存儲裝置,用于存儲供關(guān)聯(lián)信息處理裝置使用的配置數(shù)據(jù),所述配置數(shù)據(jù)包含有描述指定的關(guān)聯(lián)方式、關(guān)聯(lián)條件、統(tǒng)計(jì)方式、處理方式、行為方式或外部信息過濾條件中至少一種;配置數(shù)據(jù)存取裝置,用于接收關(guān)聯(lián)信息處理裝置的指令或調(diào)用,存取位于配置數(shù)據(jù)集合中的配置數(shù)據(jù),并將讀出的數(shù)據(jù)提供給關(guān)聯(lián)信息處理裝置使用;在所述關(guān)聯(lián)信息處理裝置中進(jìn)一步包括配置數(shù)據(jù)的分析和執(zhí)行單元,用于從所述配置數(shù)據(jù)中提取相應(yīng)的指令、數(shù)據(jù)或表達(dá)式,執(zhí)行所述的指令或表達(dá)式。
6.一種信息關(guān)聯(lián)方法,其特征在于,包括如下步驟A、管理關(guān)聯(lián)關(guān)系的步驟通過關(guān)聯(lián)映射表存取裝置,用指定的關(guān)聯(lián)方式或關(guān)聯(lián)條件來管理關(guān)聯(lián)映射表中的關(guān)聯(lián)數(shù)據(jù),所述管理包括寫入、讀出或刪除,從所述關(guān)聯(lián)數(shù)據(jù)中至少可以獲得包括關(guān)聯(lián)對象雙方的定位標(biāo)識、關(guān)聯(lián)類別標(biāo)識及關(guān)聯(lián)方向的標(biāo)識;B、檢索相關(guān)聯(lián)的外部信息的步驟提取指定的關(guān)聯(lián)條件,通過關(guān)聯(lián)映射表存取裝置訪問相應(yīng)的關(guān)聯(lián)映射表,獲取與所述關(guān)聯(lián)條件相對應(yīng)的關(guān)聯(lián)數(shù)據(jù),或者根據(jù)所述關(guān)聯(lián)數(shù)據(jù)檢索外部信息集合,獲取與所述關(guān)聯(lián)數(shù)據(jù)對應(yīng)的外部信息的數(shù)據(jù);C、統(tǒng)計(jì)關(guān)聯(lián)信息的步驟利用所指定的統(tǒng)計(jì)方式對步驟B所檢索出來的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),獲得統(tǒng)計(jì)結(jié)果數(shù)據(jù);所述指定的統(tǒng)計(jì)方式包括對檢索出的關(guān)聯(lián)數(shù)據(jù)集合中的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì),或利用檢索出的關(guān)聯(lián)數(shù)據(jù),對所述關(guān)聯(lián)數(shù)據(jù)所對應(yīng)的外部信息的指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
7.如權(quán)利要求6所述的信息關(guān)聯(lián)方法,其特征在于,所述步驟A進(jìn)一步包括關(guān)聯(lián)信息處理裝置從外部信息集合中獲取外部信息,并獲得所述外部信息之間的關(guān)聯(lián)數(shù)據(jù),關(guān)聯(lián)處理裝置通過關(guān)聯(lián)映射表存取裝置將所述關(guān)聯(lián)數(shù)據(jù)寫入關(guān)聯(lián)映射表集合中的相應(yīng)關(guān)聯(lián)映射表中。
8.如權(quán)利要求6所述的信息關(guān)聯(lián)方法,其特征在于,在步驟B或步驟C之后進(jìn)一步包括以下步驟信息重構(gòu)的步驟采用指定的處理方式對所述檢索或統(tǒng)計(jì)出來的數(shù)據(jù)進(jìn)行處理,獲得原外部信息集合之外的新的數(shù)據(jù),所述處理包括判斷、運(yùn)算、組合、分解、信息附加中至少一種;或者對外部系統(tǒng)進(jìn)行控制的步驟采用指定的處理方式對所述檢索或統(tǒng)計(jì)出來的數(shù)據(jù)進(jìn)行處理,并依照所述處理結(jié)果,按照指定的行為方式向外部系統(tǒng)發(fā)出相應(yīng)的控制指令來控制外部系統(tǒng)的運(yùn)行。
9.如權(quán)利要求8所述的信息關(guān)聯(lián)方法,其特征在于,所述關(guān)聯(lián)對象的定位標(biāo)識包括關(guān)聯(lián)對象的信息標(biāo)識和信息類別標(biāo)識。
10.如權(quán)利要求6至9任一項(xiàng)所述的信息關(guān)聯(lián)方法,其特征在于,在任一步驟之中進(jìn)一步包括配置數(shù)據(jù)的讀取步驟接收關(guān)聯(lián)信息處理裝置的指令或調(diào)用,從配置數(shù)據(jù)集合中讀取配置數(shù)據(jù),并將所讀出的配置數(shù)據(jù)提供給關(guān)聯(lián)信息處理裝;所述配置數(shù)據(jù)描述有指定的關(guān)聯(lián)方式、關(guān)聯(lián)條件、統(tǒng)計(jì)方式、處理方式、行為方式或外部信息過濾條件中至少一種;配置數(shù)據(jù)的分析和執(zhí)行步驟從所讀出的配置數(shù)據(jù)中提取相應(yīng)的指令、數(shù)據(jù)或表達(dá)式,執(zhí)行所述的指令或表達(dá)式。
全文摘要
本發(fā)明提供了一種信息關(guān)聯(lián)系統(tǒng),其包括存儲裝置,存儲有關(guān)聯(lián)映射表集合;關(guān)聯(lián)映射表存取裝置,用于讀寫關(guān)聯(lián)映射表集合中指定的關(guān)聯(lián)映射表,并將所述讀取的關(guān)聯(lián)映射表中的每一條關(guān)聯(lián)數(shù)據(jù)分解成相應(yīng)的元素集合;關(guān)聯(lián)信息處理裝置,用于訪問一外部信息集合中的外部信息,并對外部信息及其關(guān)聯(lián)關(guān)系進(jìn)行處理,所述關(guān)聯(lián)信息處理裝置進(jìn)一步包括有管理關(guān)聯(lián)關(guān)系的單元、檢索相關(guān)聯(lián)外部信息的單元及統(tǒng)計(jì)關(guān)聯(lián)信息的單元。本發(fā)明還提供一種信息關(guān)聯(lián)方法。通過本發(fā)明可以極大地提高用戶處理信息關(guān)聯(lián)的能力和效率,也能提高應(yīng)用系統(tǒng)開發(fā)的效率和靈活性。
文檔編號G06F17/30GK1952936SQ200610123568
公開日2007年4月25日 申請日期2006年11月15日 優(yōu)先權(quán)日2006年11月15日
發(fā)明者高曉松 申請人:高曉松