專(zhuān)利名稱(chēng):一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及非結(jié)構(gòu)化數(shù)據(jù)管理領(lǐng)域,尤其涉及一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)和多媒體技術(shù)的發(fā)展,出現(xiàn)了海量的非結(jié)構(gòu)化數(shù)據(jù),如互聯(lián)網(wǎng)中的HTML文件,視頻、音頻、圖像等多媒體數(shù)據(jù),工業(yè)生產(chǎn)中的傳感器數(shù)據(jù)等。非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型豐富,結(jié)構(gòu)復(fù)雜、多樣,沒(méi)有統(tǒng)一定義的數(shù)據(jù)約束條件,傳統(tǒng)的關(guān)系型數(shù)據(jù)管理系統(tǒng)難以滿足應(yīng)用對(duì)非結(jié)構(gòu)化數(shù)據(jù)有效管理的要求,互聯(lián)網(wǎng)、新聞媒體、流 程工業(yè)等行業(yè)對(duì)非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)的需求非常強(qiáng)烈。對(duì)于非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)來(lái) 說(shuō),數(shù)據(jù)管理過(guò)程的建模十分重要,但目前尚無(wú)成熟的方法。 目前復(fù)雜數(shù)據(jù)建模主要有以下兩種方法
1、擴(kuò)展關(guān)系模型在關(guān)系模型基礎(chǔ)上增加新的數(shù)據(jù)類(lèi)型和相應(yīng)操作,但不支持?jǐn)?shù)據(jù)嵌套和類(lèi)型繼承,使模型難以重用、復(fù)雜數(shù)據(jù)建模低效;
2、利用面向?qū)ο蟮哪P椭С謹(jǐn)?shù)據(jù)嵌套和類(lèi)型繼承,但非結(jié)構(gòu)化數(shù)據(jù)在原始數(shù)據(jù)、基本信息、特征等層面上均有數(shù)據(jù)建模的需求,直接利用面向?qū)ο蟮哪P碗y以對(duì)不同層面的數(shù)據(jù)進(jìn)行區(qū)分,進(jìn)而影響整個(gè)非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)的效率。此外,以上兩種方法均只能進(jìn)行數(shù)據(jù)存儲(chǔ)建模,而非結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)不僅包含數(shù)據(jù)存儲(chǔ)功能,還有對(duì)原始數(shù)據(jù)進(jìn)行特征抽取和分析、基于特征的索引、樣例查詢等管理功能,這些功能與數(shù)據(jù)間均存在一定的關(guān)聯(lián),功能本身的實(shí)現(xiàn)復(fù)雜、多樣,因此也需要建模方法的支持。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法(R-A-I-S-E),本發(fā)明的方法可以用來(lái)管理包含文本、音頻、視頻、圖像等的非結(jié)構(gòu)化數(shù)據(jù),以滿足用戶對(duì)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)、關(guān)聯(lián)和檢索等管理需求。本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法(R-A-I-S-E),該方法包括以下步驟
(I)建立Repository存儲(chǔ)模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn)
(I. O如果是一個(gè)新的非結(jié)構(gòu)化數(shù)據(jù)管理應(yīng)用,則建立一個(gè)新的命名空間NameSpace,指定命名空間NameSpace的名稱(chēng);否則,直接跳到I. 2 ;
(I. 2)進(jìn)入應(yīng)用的命名空間;
(1.3)是否需要?jiǎng)?chuàng)建UType,如果不需要?jiǎng)t存儲(chǔ)模型創(chuàng)建結(jié)束,否則創(chuàng)建UType,指定UType的名稱(chēng);
(I. 4)查看模型中是否有需要的UType,可以對(duì)模型中的UType進(jìn)行復(fù)用和擴(kuò)展,如果沒(méi)有則跳到I. 5,否則繼承模型中滿足需求的UType,UType支持多重繼承,繼承UType將繼承父UType的所有特征和分析、索引模型;
(I. 5)向UType中添加特征,查看模型中是否有滿足條件的特征類(lèi)型,如果有則直接向UType中添加特征,指定特征名和特征類(lèi)型,否則跳到I. 6,創(chuàng)建新的特征類(lèi)型;
(I. 6)基于模型提供的Integer、String、Blob、Vector、Matrix等基本數(shù)據(jù)類(lèi)型建立特征類(lèi)型,指定特征類(lèi)型的名稱(chēng)和基本數(shù)據(jù)類(lèi)型;本步驟中的過(guò)程又可以分為以下子步驟(I. 6. I)指定基本數(shù)據(jù)類(lèi)型時(shí),如果FeatureType的類(lèi)型是Vector,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和Vector的維數(shù);
(I. 6. 2)如果FeatureType的類(lèi)型是Matrix,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和Matrix的行數(shù)、列數(shù); (I. 6. 3)如果FeatureType是Link類(lèi)型,若Link類(lèi)型需要指定關(guān)聯(lián)的UType,如果該UType不存在,則需要跳到I. 4先創(chuàng)建非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType,再將FeatureType關(guān)聯(lián)到該UType ;若Link類(lèi)型是無(wú)指定UType類(lèi)型的,則繼續(xù)重復(fù)I. 5、I. 6向UType中添加FeatureType,直到添加 FeatureType 結(jié)束;
(I. 7)建立UType的實(shí)例化對(duì)象集合Collection,需要指定數(shù)據(jù)集合的名稱(chēng)和對(duì)應(yīng)的UType類(lèi)型,并選擇對(duì)象集合的存儲(chǔ)方式,如果應(yīng)用希望支持事務(wù)等操作而數(shù)據(jù)量又不大,則應(yīng)該選擇關(guān)系型數(shù)據(jù)庫(kù);如果應(yīng)用具有海量的數(shù)據(jù),則應(yīng)該選擇分布式鍵值數(shù)據(jù)庫(kù);繼續(xù)重復(fù)I. 4^1. 7創(chuàng)建UType和數(shù)據(jù)集合,直到結(jié)束;
(2)建立Analysis分析模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn)
(2. I)進(jìn)入命名空間;
(2. 2)如果用于分析的插件已存在系統(tǒng)中,則直接跳到2. 3,否則先上傳分析插件;上傳插件的步驟又可以具體分為以下幾步
(2. 2. I)指定分析插件名稱(chēng)和分析算法;
(2. 2. 2)指定插件輸入輸出的名稱(chēng)和特征類(lèi)型列表;
(2. 2. 3)指定分析插件運(yùn)行的主文件,便于運(yùn)行時(shí)調(diào)用插件;
(2. 2. 4)如果插件需要指定可配置的參數(shù),則指定可配置參數(shù)的名稱(chēng)和類(lèi)型,否則上傳插件完成;
(2. 3)選擇合適的算法進(jìn)行分析,選擇2. 2. I中指定的分析插件名稱(chēng),如果分析算法有可配置的參數(shù),則跳到2. 4,否則直接跳到2. 5 ;
(2. 4)指明步驟2. 3中指定需要配置參數(shù)的名稱(chēng)和值;
(2. 5)指定分析算法數(shù)據(jù)輸入,即UType和特征列表,按照插件的輸入列表順序指定;(2. 6)指定分析算法數(shù)據(jù)輸出,即UType及其中的特征列表,按照插件的輸出列表順序指定;
(2. 7)對(duì)于輸出的特征列表可以指定UType中已經(jīng)存在的特征,也可以在UType中添加新的特征,按照存儲(chǔ)模型中的步驟I. 6指定特征名稱(chēng)和特征類(lèi)型,方便模型的擴(kuò)展;
(3)建立Index索引模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn)
(3. I)進(jìn)入命名空間;
(3. 2)指定UType名稱(chēng);
(3. 3)選擇非結(jié)構(gòu)化管理系統(tǒng)中合適的索引方式;
(3. 4)指定索引方式的距離計(jì)算參數(shù);(3. 5)指定需要索引的UType和特征列表,對(duì)于可以支持一次索引多個(gè)項(xiàng)的索引可指定多個(gè)特征;
(4)建立Search搜索模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn)
(4. I)進(jìn)入命名空間;
(4. 2)指定查詢的UType名稱(chēng);
(4. 3)選擇合適的查詢方式,包括屬性查詢、樣例查詢、全文查詢、XML查詢及其混合查詢,查詢方式需要該UType上的索引模型的支持;如果特征建立了多個(gè)索引,每一種查詢方式可以指定合適的索引完成,每一種查詢方式的含義是
(4. 3. I)屬性查詢,對(duì)數(shù)值和簡(jiǎn)單文字的屬性判斷;
(4. 3. 2)樣例查詢,用圖像、視頻等樣例來(lái)查詢相似樣例;
(4. 3.3)全文查詢,復(fù)雜文字的精確匹配和模糊匹配;
(4. 3. 4) XML 查詢,XQuery 查詢;
(4. 4)指定對(duì)各查詢條件的權(quán)重,用來(lái)計(jì)算查詢結(jié)果排名;
(4. 5)定義查詢相關(guān)性反饋,接收用戶對(duì)查詢結(jié)果的評(píng)價(jià),為用戶提供二次查詢服務(wù);如果用戶從查詢結(jié)果中選擇正相關(guān)樣例,則加上這些正相關(guān)樣例的相似查詢反饋給用戶;如果用戶從查詢結(jié)果中選擇反相關(guān)樣例,則加上這些反相關(guān)樣例的非相似查詢反饋給用戶。(5)建立Environment環(huán)境模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn)
(5. I)進(jìn)入命名空間;
(5. 2)指定UType名稱(chēng);
(5.3)如果UType實(shí)例化的數(shù)據(jù)集合需要進(jìn)行分析,則創(chuàng)建分析模型,否則直接跳到
5.4 ;
(5. 4)如果UType實(shí)例化的數(shù)據(jù)集合需要建立索引,則創(chuàng)建索引模型,如果分析模型的輸出結(jié)果為索引模型的輸入,則系統(tǒng)將對(duì)分析模型和索引模型的執(zhí)行順序進(jìn)行排序;否則直接跳到5. 5 ;
(5. 5)如果沒(méi)有分析模型或者索引模型,則直接跳到5. 6,否則需要設(shè)定在數(shù)據(jù)集合上執(zhí)行分析或索引模型定義的具體方式,包括增量式和批量式兩種方式;
(5. 5. I)如果需要?jiǎng)?chuàng)建增量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型,這樣在用戶插入一條數(shù)據(jù)的時(shí)候就會(huì)根據(jù)分析或索引模型的定義對(duì)數(shù)據(jù)對(duì)象執(zhí)行增量式分析或索引任務(wù);
(5. 5. 2)如果需要?jiǎng)?chuàng)建批量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型,如果不立即執(zhí)行批量式任務(wù),則需要指定執(zhí)行任務(wù)的時(shí)間,在到達(dá)指定時(shí)間后可以根據(jù)分析或索引模型的定義對(duì)指定的Collection中所有的數(shù)據(jù)執(zhí)行分析或索引任務(wù);
(5.6)如果需要?jiǎng)?chuàng)建搜索模型,則創(chuàng)建搜索模型。本發(fā)明的有益效果是,
第一,存儲(chǔ)、分析、索引和搜索及其之間的執(zhí)行流程覆蓋了非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)的全過(guò)程,使用該建模方法應(yīng)用可快速方便建立應(yīng)用系統(tǒng),這也是本發(fā)明的一個(gè)創(chuàng)新之處;
第二,存儲(chǔ)、分析、索引和搜索模型間松散耦合,可通過(guò)環(huán)境模型靈活組織執(zhí)行流程,滿足應(yīng)用的不同需求;
第三,存儲(chǔ)模型中的數(shù)據(jù)類(lèi)型UType的繼承特性和特征類(lèi)型FeatureType的提出,提高了模型的復(fù)用率和擴(kuò)展性;
第四,存儲(chǔ)模型中的基本數(shù)據(jù)類(lèi)型Vector、Matrix和Blob能夠滿足對(duì)非結(jié)構(gòu)化數(shù)據(jù)特征描述的需求;
第五,特征類(lèi)型和分析模型的提出,可以方便表示和挖掘非結(jié)構(gòu)化數(shù)據(jù)復(fù)雜的特征; 第六,搜索模型中豐富的查詢類(lèi)型可以滿足各種非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)的需求;
第七,提供數(shù) 分析處理的不同方式,分析算法采用靈活的插件方式,滿足不同應(yīng)用場(chǎng)景的需求。
圖I是本發(fā)明的方法流程 圖2是圖I中存儲(chǔ)模型的組成框 圖3是建立存儲(chǔ)模型流程 圖4是建立分析模型流程 圖5是建立索引模型流程 圖6是建立搜索模型流程 圖7是建立環(huán)境模型流程圖。
具體實(shí)施例方式本發(fā)明非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法(R-A-I-S-E),包括建立Itepository存儲(chǔ)模型、建立Analysis分析模型、建立Index索引模型、建立Search搜索模型和建立Environment環(huán)境模型五個(gè)步驟,將模型的內(nèi)容作為元數(shù)據(jù)進(jìn)行存儲(chǔ),并將其映射到具體的數(shù)據(jù)引擎進(jìn)行操作,具體包括以下步驟
I、建立Repository存儲(chǔ)模型
存儲(chǔ)模型描述了非結(jié)構(gòu)化數(shù)據(jù)在邏輯上的存儲(chǔ)形式,采用基于面向?qū)ο蟮拇鎯?chǔ)建模方法,支持?jǐn)?shù)據(jù)關(guān)聯(lián)和類(lèi)型繼承。將特征類(lèi)型分為原始數(shù)據(jù)、基本屬性、底層特征和語(yǔ)義特征,提供了 Blob類(lèi)型來(lái)表示原始數(shù)據(jù)和復(fù)雜的語(yǔ)義特征,Vector和Matrix類(lèi)型來(lái)表示底層特征和簡(jiǎn)單的語(yǔ)義特征。除此之外,還提供了 Link類(lèi)型來(lái)表示對(duì)象之間的關(guān)聯(lián),支持對(duì)象集合的嵌套。類(lèi)型繼承同時(shí)繼承了 UType中的特征和定義在UType上的分析模型和索引模型。存儲(chǔ)模型的建立主要包括命名空間NameSpace、非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType (Unstructured data Type)、特征類(lèi)型 FeatureType 和基本數(shù)據(jù)類(lèi)型 ValueType 幾個(gè)要素。用戶在命名空間中,建立特征類(lèi)型和非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType,將這些信息作為元數(shù)據(jù)存儲(chǔ);接下來(lái)根據(jù)需求指定合適的數(shù)據(jù)存儲(chǔ)引擎,創(chuàng)建模型的實(shí)例化數(shù)據(jù)集合Collection。非結(jié)構(gòu)數(shù)據(jù)管理系統(tǒng)可以提供不同的的數(shù)據(jù)存儲(chǔ)引擎,如關(guān)系型數(shù)據(jù)庫(kù)、分布式鍵值存儲(chǔ)系統(tǒng)和XML數(shù)據(jù)庫(kù)等,以滿足不同應(yīng)用對(duì)物理存儲(chǔ)的不同需求。存儲(chǔ)模型的框架圖如圖2所示,主要分為四層,從下到上依次為基本數(shù)據(jù)類(lèi)型ValueType、特征類(lèi)型FeatureType、非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType和命名空間NameSpace。在闡述存儲(chǔ)模型建模過(guò)程之前,先介紹幾個(gè)重要的定義?;緮?shù)據(jù)類(lèi)型ValueType :模型中的基本數(shù)據(jù)類(lèi)型ValueType包括Integer、String、Float、Double、Decimal、Uri、Blob、Link、Date、DateTime、Vector 和 Matrix,及其這些類(lèi)型的集合和列表類(lèi)型?;緮?shù)據(jù)類(lèi)型中需要詳細(xì)說(shuō)明的有以下幾點(diǎn)
A、Integer、Float、Double、Uri用法和一般數(shù)據(jù)庫(kù)類(lèi)似,Date表示日期,如2012-05-23,DateTime 表示日期時(shí)間,如 2012-05-23T12:30:00 ;
B、Decimal用來(lái)表示高精度的數(shù)值;
C、String類(lèi)型的長(zhǎng)度限制為64K,超過(guò)64K的文本可采用Blob類(lèi)型表示; D、Vector和Matrix能滿足一般特征類(lèi)型的描述需要,可指定其基本類(lèi)型為3種Integer、Float 和 Double ;
E、Blob用來(lái)表示原始非結(jié)構(gòu)化原數(shù)據(jù)和復(fù)雜的特征類(lèi)型,其結(jié)構(gòu)為名稱(chēng)、類(lèi)型、長(zhǎng)度和二進(jìn)制塊,文件二進(jìn)制塊中的內(nèi)容無(wú)定義,用戶可根據(jù)需要來(lái)表示復(fù)雜的特征類(lèi)型,也可以存放原始數(shù)據(jù)。因此Blob根據(jù)類(lèi)型不同又可分為FeatureTypeBlob、XMLBlob、ImageBlob、TextBlob、AudioBlob、VideoBlob 等;
F、Link用來(lái)表示UType之間的關(guān)聯(lián),保存了鏈接到的UObject的唯一標(biāo)識(shí),這是UType關(guān)聯(lián)的實(shí)現(xiàn)方式;
G、集合表示無(wú)序無(wú)重復(fù)元素的數(shù)據(jù)集,列表表示有序元素可重復(fù)的數(shù)據(jù)集,和Link相結(jié)合,都可用來(lái)表示對(duì)象集合的嵌套。特征類(lèi)型FeatureType :特征類(lèi)型包括特征類(lèi)型名稱(chēng)及其基本數(shù)據(jù)類(lèi)型,用來(lái)定義非結(jié)構(gòu)化數(shù)據(jù)對(duì)象中的特征,包括非結(jié)構(gòu)化原始數(shù)據(jù)、附帶的基本屬性、底層特征和語(yǔ)義特征。非結(jié)構(gòu)化原始數(shù)據(jù)是指視頻、圖像等的Blob文件,附帶的基本屬性是指圖像的分辨率、壓縮方式等元數(shù)據(jù),底層特征是指非結(jié)構(gòu)化數(shù)據(jù)的簡(jiǎn)單特征,如圖像的顏色直方圖、邊緣直方圖等,語(yǔ)義特征是指更復(fù)雜和抽象的特征,如圖像的人臉識(shí)別、場(chǎng)景識(shí)別等。特征類(lèi)型的提出方便了特征類(lèi)型的重復(fù)利用,利用特征發(fā)現(xiàn)各數(shù)據(jù)類(lèi)型之間的關(guān)系。特征類(lèi)型與分析模型中的分析算法相關(guān),每一種特征類(lèi)型對(duì)應(yīng)了相應(yīng)的特征分析算法,它們是分析算法的輸出。當(dāng)FeatureType的基本數(shù)據(jù)類(lèi)型為L(zhǎng)ink時(shí),是一種特殊的特征類(lèi)型,可以指定鏈接到的UType,實(shí)現(xiàn)UType之間的關(guān)聯(lián),也可以不指定鏈接到的UType,實(shí)現(xiàn)UType之間混合類(lèi)型的關(guān)聯(lián)。在權(quán)限允許的條件下,可以實(shí)現(xiàn)不同NameSpace之間的關(guān)聯(lián)。非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType (Unstructured data Type) :UType用于定義非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型,包括UType名稱(chēng)、若干由特征類(lèi)型定義的特征以及繼承的UType。UType支持繼承和關(guān)聯(lián)。UType的繼承特性可以提高UType的利用率和方便性。UType的繼承方式,同時(shí)繼承了父UType中的特征和定義在父UType上的分析模型和索引模型,并且支持多重繼承。在訪問(wèn)UType中,當(dāng)UType的繼承導(dǎo)致特征重名時(shí),訪問(wèn)父UType的特征時(shí)需要在特征前加上父UType的名字作為前綴,即superUType. featureName。UType的關(guān)聯(lián)由Link類(lèi)型的特征類(lèi)型實(shí)現(xiàn)。UType的實(shí)例化為數(shù)據(jù)對(duì)象UObject,包括若干具體的特征名和特征值。若干同種類(lèi)型的UObject形成數(shù)據(jù)對(duì)象集合Collection, —個(gè)UType類(lèi)型可以實(shí)例化多個(gè)Collection。Collection包括數(shù)據(jù)集合名稱(chēng)、對(duì)應(yīng)的UType和存儲(chǔ)引擎名稱(chēng)。
應(yīng)用可以根據(jù)需要指定存儲(chǔ)引擎,常用的存儲(chǔ)引擎第一類(lèi)為關(guān)系型存儲(chǔ)引擎,如MySQL,支持事務(wù)、連接查詢等,但是數(shù)據(jù)量方面不能滿足非結(jié)構(gòu)化數(shù)據(jù)的需要;第二類(lèi)為分布式鍵值存儲(chǔ)引擎,如HBase,能夠存儲(chǔ)海量數(shù)據(jù);第三類(lèi)為XML存儲(chǔ)引擎。因此用戶可以指定數(shù)據(jù)的存儲(chǔ)方式,以滿足特定的需求。非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)提供存儲(chǔ)模型到存儲(chǔ)引擎的映射關(guān)系。命名空間NameSpace NameSpace用來(lái)隔離不同的非結(jié)構(gòu)化數(shù)據(jù)應(yīng)用系統(tǒng),保持不同應(yīng)用數(shù)據(jù)的相對(duì)獨(dú)立性。NameSpace中包含F(xiàn)eatureType、UType、Collection以及依賴(lài)于UType的其余四種模型。命名空間、UType、特征類(lèi)型、數(shù)據(jù)集合的信息作為元數(shù)據(jù)進(jìn)行存儲(chǔ),具體的數(shù)據(jù)對(duì)象將按照元數(shù)據(jù)到存儲(chǔ)引擎的映射規(guī)則,存儲(chǔ)到指定的存儲(chǔ)引擎。存儲(chǔ)模型支持命名空間、UType、特征類(lèi)型、數(shù)據(jù)集合的增刪查改操作。 建立存儲(chǔ)模型的流程圖如圖3所示,包括以下步驟
I.I、如果是一個(gè)新的非結(jié)構(gòu)化數(shù)據(jù)管理應(yīng)用,則建立一個(gè)新的命名空間NameSpace,指定命名空間NameSpace的名稱(chēng);否則,直接跳到I. 2 ;
I.2、進(jìn)入應(yīng)用的命名空間;
I.3、是否需要?jiǎng)?chuàng)建UType,如果不需要?jiǎng)t存儲(chǔ)模型創(chuàng)建結(jié)束,否則創(chuàng)建UType,指定UType的名稱(chēng);
I.4、查看模型中是否有需要的UType,可以對(duì)模型中的UType進(jìn)行復(fù)用和擴(kuò)展,如果沒(méi)有則跳到I. 5,否則繼承模型中滿足需求的UType,UType可以支持多重繼承,繼承UType將繼承父UType的所有特征和分析、索引模型;
I.5、向UType中添加特征,查看模型中是否有滿足條件的特征類(lèi)型,如果有則直接向UType中添加特征,指定特征名和特征類(lèi)型,否則跳到I. 6,創(chuàng)建新的特征類(lèi)型;
I. 6、基于模型提供的Integer、String、Blob、Vector、Matrix等基本數(shù)據(jù)類(lèi)型建立特征類(lèi)型,指定特征類(lèi)型的名稱(chēng)和基本數(shù)據(jù)類(lèi)型。本步驟中的過(guò)程又可以分為以下子步驟
1.6. I、指定基本數(shù)據(jù)類(lèi)型時(shí),如果FeatureType的類(lèi)型是Vector,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和Vector的維數(shù);
I.6. 2、如果FeatureType的類(lèi)型是Matrix,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和行數(shù)、列數(shù);
I. 6. 3、如果FeatureType是指定UType的Link類(lèi)型,若Link類(lèi)型需要指定關(guān)聯(lián)的UType ;如果該UType不存在,則需要跳到I. 4先創(chuàng)建非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType,再將FeatureType關(guān)聯(lián)到該UType,若Link類(lèi)型是無(wú)指定UType類(lèi)型的,則繼續(xù)重復(fù)I. 5、L 6向UType 中添加 FeatureType,直到添加 FeatureType 結(jié)束;
I.7、建立UType的實(shí)例化對(duì)象集合Collection,需要指定數(shù)據(jù)集合的名稱(chēng)和對(duì)應(yīng)的UType類(lèi)型,并選擇對(duì)象集合的存儲(chǔ)方式,如果應(yīng)用希望支持事務(wù)等操作而數(shù)據(jù)量又不大,則應(yīng)該選擇關(guān)系型數(shù)據(jù)庫(kù);如果應(yīng)用具有海量的數(shù)據(jù),則應(yīng)該選擇分布式鍵值數(shù)據(jù)庫(kù);繼續(xù)重復(fù)I. 4^1. 7創(chuàng)建UType和數(shù)據(jù)集合,直到結(jié)束。2、建立Analysis分析模型
分析模型是建立在存儲(chǔ)模型的基礎(chǔ)之上,描述了分析任務(wù)的組成,主要是為了充分挖掘非結(jié)構(gòu)化數(shù)據(jù)內(nèi)在的語(yǔ)義和價(jià)值。分析模型的輸入輸出的數(shù)據(jù)類(lèi)型對(duì)應(yīng)存儲(chǔ)模型中的特征類(lèi)型。分析模型的建立主要包括指定UType、分析插件,并且指定分析的UType和輸入輸出特征。在存儲(chǔ)模型中定義的底層特征和語(yǔ)義特征通常需要通過(guò)分析原始數(shù)據(jù)及其屬性得至丨J,建立分析模型進(jìn)行管理。分析模型定義在數(shù)據(jù)類(lèi)型UType上,由數(shù)據(jù)集合Collection觸發(fā)執(zhí)行,用于定義對(duì)數(shù)據(jù)對(duì)象UObject的分析方法,包括分析輸入、輸出數(shù)據(jù),分析算法等。分析模型的信息作為元數(shù)據(jù)進(jìn)行存儲(chǔ),在數(shù)據(jù)集合觸發(fā)執(zhí)行分析任務(wù)時(shí),會(huì)根據(jù)分析模型的定義執(zhí)行。分析算法將以插件的形式加入系統(tǒng),保證系統(tǒng)的易擴(kuò)展性。分析模型支持增刪查改操作。建立分析模型的流程圖如圖4所示,包括以下步驟
2. I、進(jìn)入命名空間;
2. 2、如果用于分析的插件已存在系統(tǒng)中,則直接跳到2. 3,否則先上傳分析插件。上傳插件的步驟又可以具體分為以下幾步
2. 2. I、指定分析插件名稱(chēng)和分析算法;
2. 2. 2、指定插件輸入輸出的名稱(chēng)和特征類(lèi)型列表;
2.2. 3、指定分析插件運(yùn)行的主文件,便于運(yùn)行時(shí)調(diào)用插件;
2.2. 4、如果插件需要指定可配置的參數(shù),則指定可配置參數(shù)的名稱(chēng)和類(lèi)型,否則上傳插件完成。比如圖像的顏色直方圖特征算法可以指定結(jié)果的向量維度可配置,則需要指定參數(shù)維度和數(shù)據(jù)類(lèi)型。2. 3、選擇合適的算法進(jìn)行分析,選擇2. 2. I中指定的分析插件名稱(chēng),如果分析算法有可配置的參數(shù),則跳到2. 4,否則直接跳到2. 5 ;
2.4、指明參數(shù)的名稱(chēng)和值,比如步驟2. 3中指定顏色直方圖提取算法的結(jié)果維度可配置,則指定需要配置的參數(shù)和具體的值;
2.5、指定分析算法數(shù)據(jù)輸入,即UType和特征列表,按照插件的輸入列表順序指定;
2.6、指定分析算法數(shù)據(jù)輸出,即UType和特征列表,按照插件的輸出列表順序指定;
2.7、對(duì)于輸出的特征列表可以指定UType中已經(jīng)存在的特征,也可以在UType中添加新的特征,按照存儲(chǔ)模型中的步驟I. 6指定特征名稱(chēng)和特征類(lèi)型,方便模型的擴(kuò)展。3、建立Index索引模型
建立Index索引模型索引模型也建立在分析模型的基礎(chǔ)之上,描述了索引任務(wù)的組成,主要是為了提高查詢服務(wù)的效率。索引模型的建立主要包括指定索引方式、UType和索引的特征。創(chuàng)建索引模型可以給應(yīng)用提供更靈活的索引方式,從而提高查詢服務(wù)的效率。索引模型定義在數(shù)據(jù)類(lèi)型UType上,由數(shù)據(jù)集合Collection觸發(fā)執(zhí)行,包括索引特征、索引方式等。索引模型的信息作為元數(shù)據(jù)進(jìn)行存儲(chǔ),在數(shù)據(jù)集合觸發(fā)執(zhí)行索引任務(wù)時(shí),會(huì)根據(jù)索引模型的定義執(zhí)行。索引模型支持增刪查改操作。建立索引模型的流程圖如圖5所示,包括以下步驟
3.I、進(jìn)入命名空間;
3.2、指定UType名稱(chēng);
3.3、選擇合適的索引方式,非結(jié)構(gòu)化管理系統(tǒng)中可以包含常用的索引方式,如B樹(shù)、倒排索引、M樹(shù)、LSH (Locality Sensitive Hashing)哈希索引、R樹(shù)等,能夠滿足非結(jié)構(gòu)化數(shù)
據(jù)管理的基本需要;
3.4、指定索引方式的參數(shù),比如支持向量索引的M樹(shù),可以支持多種向量之間的距離計(jì)算公式,如歐氏距離等;
3.5、指定需要索引的UType和特征列表,對(duì)于可以支持一次索引多個(gè)項(xiàng)的索引可以指定多個(gè)特征,如B樹(shù)、倒排索引;對(duì)于M樹(shù)、LSH和R樹(shù)則只能指定一個(gè)特征作為索引項(xiàng)。4、建立Search搜索模型
搜索模型建立在索引模型的基礎(chǔ)之上,描述了影響查詢結(jié)果的各個(gè)因素,供用戶設(shè)置一種有針對(duì)性的查詢配置。 搜索模型的建立主要包括指定查詢方式及其使用的索引模型,包括屬性查詢、全文查詢、樣例查詢、XML查詢及其混合查詢,制定對(duì)查詢條件的偏好和對(duì)結(jié)果排名的定義,并且可以根據(jù)用戶行為進(jìn)行查詢相關(guān)性反饋;
搜索模型提供了更好地查詢和展示非結(jié)構(gòu)化數(shù)據(jù)的方式。搜索模型與用戶搜索數(shù)據(jù)和界面展示數(shù)據(jù)緊密相關(guān),依賴(lài)于分析模型和索引模型。搜索模型的信息作為元數(shù)據(jù)進(jìn)行存儲(chǔ),每當(dāng)有查詢到達(dá)時(shí),按照搜索模型中的定義和用戶新的查詢內(nèi)容執(zhí)行查詢,返回查詢結(jié)果。建立搜索模型的流程圖如圖6所示,包含以下步驟
4.I、進(jìn)入命名空間;
4.2、指定查詢的UType名稱(chēng);
4.3、選擇合適的查詢方式,包括屬性查詢、樣例查詢、全文查詢、XML查詢及其混合查詢,查詢方式需要在該UType上定義的索引模型的支持。如果特征建立了多個(gè)索引,每一種查詢方式可以指定合適的索引完成,每一種查詢方式的含義是
4.3. I、屬性查詢,對(duì)數(shù)值和簡(jiǎn)單文字的屬性判斷;
4.3. 2、樣例查詢,如以圖像樣例來(lái)查詢相似的圖像;
4.3. 3、全文查詢,復(fù)雜文字的精確匹配和模糊匹配;
4.3. 4、XML 查詢,XQuery 查詢。四種查詢方式的靈活組合可滿足應(yīng)用對(duì)管理和展示的需求;
4.4、指定對(duì)查詢條件的偏好,比如圖像的樣例查詢,對(duì)圖像的底層特征設(shè)定權(quán)重,如設(shè)定顏色特征的權(quán)重為2,而形狀特征的顏色為I ;也可以是文字和圖像不同查詢條件間的權(quán)重設(shè)定,權(quán)重的不同設(shè)定使得排名結(jié)果受影響;
4.5、定義查詢相關(guān)性反饋,接收用戶對(duì)查詢結(jié)果的評(píng)價(jià),為用戶提供二次查詢服務(wù)。如果用戶從查詢結(jié)果中選擇正相關(guān)樣例,則加上這些正相關(guān)樣例的相似查詢反饋給用戶;如果用戶從查詢結(jié)果中選擇反相關(guān)樣例,則加上這些反相關(guān)樣例的非相似查詢反饋給用戶。5、建立 Environment 環(huán)境模型
環(huán)境模型是對(duì)前面4種模型的執(zhí)行順序和方式進(jìn)行定義,使數(shù)據(jù)管理盡可能靈活、高效。環(huán)境模型的建立主要包括對(duì)分析模型、索引模型和搜索模型的選擇,以及對(duì)分析模型和搜索模型執(zhí)行方式的定義,包括增量式和批量式兩種方式。執(zhí)行方式的定義建立在模型實(shí)例化的數(shù)據(jù)集合Collection上。環(huán)境模型是應(yīng)用組織非結(jié)構(gòu)化數(shù)據(jù)管理流程的關(guān)鍵步驟,將全過(guò)程中各個(gè)環(huán)節(jié)串起來(lái),根據(jù)不同應(yīng)用場(chǎng)景的需求,組織各個(gè)環(huán)節(jié)的執(zhí)行和連接方式,以滿足各種應(yīng)用的需求。環(huán)境模型的內(nèi)容作為元數(shù)據(jù)保存,主要定義了分析、索引和搜索模型的具體組合和執(zhí)行方式,一方面組合模型的流程,另一方面在數(shù)據(jù)集合Collection上定義模型的執(zhí)行方式。建立環(huán)境模型的流程圖如圖7所示,包含以下步驟
5.I、進(jìn)入命名空間;
5.2、指定UType名稱(chēng);
5.3、如果UType實(shí)例化的數(shù)據(jù)集合需要進(jìn)行分析,則創(chuàng)建分析模型,否則直接跳到
5.4 ;
5.4、如果UType實(shí)例化的數(shù)據(jù)集合需要建立索引,則創(chuàng)建索引模型,如果分析模型的輸出結(jié)果為索引模型的輸入,則系統(tǒng)將對(duì)分析模型和索引模型的執(zhí)行順序進(jìn)行排序;否則直接跳到5. 5 ;
5.5、如果沒(méi)有分析模型或者索引模型,則直接跳到5. 6,否則需要設(shè)定在數(shù)據(jù)集合上執(zhí)行分析或索引模型定義的具體方式,包括增量式和批量式兩種方式。5. 5. I、如果需要?jiǎng)?chuàng)建增量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型,這樣在用戶插入一條數(shù)據(jù)的時(shí)候就會(huì)根據(jù)分析或索引模型的定義對(duì)數(shù)據(jù)對(duì)象執(zhí)行增量式分析或索引任務(wù);
5.5. 2、如果需要?jiǎng)?chuàng)建批量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型名稱(chēng),如果批量任務(wù)不立即執(zhí)行,則可以指定執(zhí)行任務(wù)的時(shí)間,在到達(dá)指定時(shí)間后可以根據(jù)分析或索引模型的定義對(duì)指定的Collection中所有的數(shù)據(jù)執(zhí)行分析或索引任務(wù);
5.6、如果需要?jiǎng)?chuàng)建搜索模型,則創(chuàng)建搜索模型。本發(fā)明不僅能對(duì)應(yīng)用所涉及的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)、分析、索引和搜索過(guò)程分別進(jìn)行建模,還能通過(guò)環(huán)境模型描述各部分間的連接和相應(yīng)的系統(tǒng)行為,滿足了非結(jié)構(gòu)化數(shù)據(jù)應(yīng)用系統(tǒng)的需求,為這些應(yīng)用提供了方便和靈活的管理方法。
權(quán)利要求
1.一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法,其特征在于,該方法包括以下步驟 (1)建立Repository存儲(chǔ)模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn) (I. O如果是一個(gè)新的非結(jié)構(gòu)化數(shù)據(jù)管理應(yīng)用,則建立一個(gè)新的命名空間NameSpace,指定命名空間NameSpace的名稱(chēng);否則,直接跳到I. 2 ; (I. 2)進(jìn)入應(yīng)用的命名空間; (1.3)是否需要?jiǎng)?chuàng)建UType,如果不需要?jiǎng)t存儲(chǔ)模型創(chuàng)建結(jié)束,否則創(chuàng)建UType,指定UType的名稱(chēng); (I. 4)查看模型中是否有需要的UType,可以對(duì)模型中的UType進(jìn)行復(fù)用和擴(kuò)展,如果沒(méi)有則跳到I. 5,否則繼承模型中滿足需求的UType,UType支持多重繼承,繼承UType將繼承父UType的所有特征和分析、索引模型; (I. 5)向UType中添加特征,查看模型中是否有滿足條件的特征類(lèi)型,如果有則直接向UType中添加特征,指定特征名和特征類(lèi)型,否則跳到I. 6,創(chuàng)建新的特征類(lèi)型; (I. 6)基于模型提供的Integer、String、Blob、Vector、Matrix等基本數(shù)據(jù)類(lèi)型建立特征類(lèi)型,指定特征類(lèi)型的名稱(chēng)和基本數(shù)據(jù)類(lèi)型;本步驟中的過(guò)程又可以分為以下子步驟(I. 6. I)指定基本數(shù)據(jù)類(lèi)型時(shí),如果FeatureType的類(lèi)型是Vector,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和Vector的維數(shù); (I. 6. 2)如果FeatureType的類(lèi)型是Matrix,則需要指定基本數(shù)據(jù)類(lèi)型Integer或Float或Double和Matrix的行數(shù)、列數(shù); (I. 6. 3)如果FeatureType是Link類(lèi)型,若Link類(lèi)型需要指定關(guān)聯(lián)的UType,如果該UType不存在,則需要跳到I. 4先創(chuàng)建非結(jié)構(gòu)化數(shù)據(jù)類(lèi)型UType,再將UType關(guān)聯(lián)到該FeatureType ;若Link類(lèi)型是無(wú)指定UType類(lèi)型的,則繼續(xù)重復(fù)I. 5、I. 6向UType中添加FeatureType,直到添加 FeatureType 結(jié)束; (1.7)建立UType的實(shí)例化對(duì)象集合Collection,需要指定數(shù)據(jù)集合的名稱(chēng)和對(duì)應(yīng)的UType類(lèi)型,并選擇對(duì)象集合的存儲(chǔ)方式,如果應(yīng)用希望支持事務(wù)等操作而數(shù)據(jù)量又不大,則應(yīng)該選擇關(guān)系型數(shù)據(jù)庫(kù);如果應(yīng)用具有海量的數(shù)據(jù),則應(yīng)該選擇分布式鍵值數(shù)據(jù)庫(kù);繼續(xù)重復(fù)I. 4^1. 7創(chuàng)建UType和數(shù)據(jù)集合,直到結(jié)束; (2)建立Analysis分析模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn) (2. I)進(jìn)入命名空間; (2. 2)如果用于分析的插件已存在系統(tǒng)中,則直接跳到2. 3,否則先上傳分析插件;上傳插件的步驟又可以具體分為以下幾步 (2. 2. I)指定分析插件名稱(chēng)和分析算法; (2. 2. 2)指定插件輸入輸出的名稱(chēng)和特征類(lèi)型列表; (2. 2. 3)指定分析插件運(yùn)行的主文件,便于運(yùn)行時(shí)調(diào)用插件; (2. 2. 4)如果插件需要指定可配置的參數(shù),則指定可配置參數(shù)的名稱(chēng)和類(lèi)型,否則上傳插件完成; (2. 3)選擇合適的算法進(jìn)行分析,選擇2. 2. I中指定的分析插件名稱(chēng),如果分析算法有可配置的參數(shù),則跳到2. 4,否則直接跳到2. 5 ; (2. 4)指明步驟2. 3中指定需要配置參數(shù)的名稱(chēng)和值; (2. 5)指定分析算法數(shù)據(jù)輸入,即UType和特征列表,按照插件的輸入列表順序指定;(2. 6)指定分析算法數(shù)據(jù)輸出,即UType及其中的特征列表,按照插件的輸出列表順序指定; (2. 7)對(duì)于輸出的特征列表可以指定UType中已經(jīng)存在的特征,也可以在UType中添加新的特征,按照存儲(chǔ)模型中的步驟I. 6指定特征名稱(chēng)和特征類(lèi)型,方便模型的擴(kuò)展; (3)建立Index索引模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn) (3. I)進(jìn)入命名空間; (3. 2)指定UType名稱(chēng); (3. 3)選擇非結(jié)構(gòu)化管理系統(tǒng)中合適的索引方式; (3. 4)指定索引方式的距離計(jì)算參數(shù); (3. 5)指定需要索引的UType和特征列表,對(duì)于可以支持一次索引多個(gè)項(xiàng)的索引可指定多個(gè)特征; (4)建立Search搜索模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn) (4. I)進(jìn)入命名空間; (4. 2)指定查詢的UType名稱(chēng); (4. 3)選擇合適的查詢方式,包括屬性查詢、樣例查詢、全文查詢、XML查詢及其混合查詢,查詢方式需要該UType上的索引模型的支持;如果特征建立了多個(gè)索引,每一種查詢方式可以指定合適的索引完成,每一種查詢方式的含義是 (4. 3. I)屬性查詢,對(duì)數(shù)值和簡(jiǎn)單文字的屬性判斷; (4. 3. 2)樣例查詢,用圖像、視頻等樣例來(lái)查詢相似樣例; (4. 3.3)全文查詢,復(fù)雜文字的精確匹配和模糊匹配;(4. 3. 4) XML 查詢,XQuery 查詢; (4. 4)指定對(duì)各查詢條件的權(quán)重,用來(lái)計(jì)算查詢結(jié)果排名; (4. 5)定義查詢相關(guān)性反饋,接收用戶對(duì)查詢結(jié)果的評(píng)價(jià),為用戶提供二次查詢服務(wù);如果用戶從查詢結(jié)果中選擇正相關(guān)樣例,則加上這些正相關(guān)樣例的相似查詢反饋給用戶;如果用戶從查詢結(jié)果中選擇反相關(guān)樣例,則加上這些反相關(guān)樣例的非相似查詢反饋給用戶; (5)建立Environment環(huán)境模型,該步驟由以下子步驟來(lái)實(shí)現(xiàn) (5. I)進(jìn)入命名空間; (5. 2)指定UType名稱(chēng); (5. 3)如果UType實(shí)例化的數(shù)據(jù)集合需要進(jìn)行分析,則創(chuàng)建分析模型,否則直接跳到·5. 4 ; (5. 4)如果UType實(shí)例化的數(shù)據(jù)集合需要建立索引,則創(chuàng)建索引模型,如果分析模型的輸出結(jié)果為索引模型的輸入,則系統(tǒng)將對(duì)分析模型和索引模型的執(zhí)行順序進(jìn)行排序;否則直接跳到5. 5 ; (5. 5)如果沒(méi)有分析模型或者索引模型,則直接跳到5. 6,否則需要設(shè)定在數(shù)據(jù)集合上執(zhí)行分析或索引模型定義的具體方式,包括增量式和批量式兩種方式; (5. 5. I)如果需要?jiǎng)?chuàng)建增量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型,這樣在用戶插入一條數(shù)據(jù)的時(shí)候就會(huì)根據(jù)分析或索引模型的定義對(duì)數(shù)據(jù)對(duì)象執(zhí)行增量式分析或索引任務(wù);(5. 5. 2)如果需要?jiǎng)?chuàng)建批量式任務(wù),需要指定數(shù)據(jù)集合Collection的名稱(chēng),對(duì)應(yīng)的分析或索引模型,如果不立即執(zhí)行批量式任務(wù),則需要指定執(zhí)行任務(wù)的時(shí)間,在到達(dá)指定時(shí)間后可以根據(jù)分析或索引模 型的定義對(duì)指定的Collection中所有的數(shù)據(jù)執(zhí)行分析或索引任務(wù); (5. 6)如果需要?jiǎng)?chuàng)建搜索模型,則創(chuàng)建搜索模型。
全文摘要
本發(fā)明公開(kāi)了一種非結(jié)構(gòu)化數(shù)據(jù)管理的全過(guò)程建模方法,包括建立Repository存儲(chǔ)模型、建立Analysis分析模型、建立Index索引模型、建立Search搜索模型和建立Environment環(huán)境模型五個(gè)步驟,將模型的內(nèi)容作為元數(shù)據(jù)進(jìn)行存儲(chǔ),并將其映射到具體的數(shù)據(jù)引擎進(jìn)行操作;本發(fā)明的方法可以用來(lái)管理包含文本、音頻、視頻、圖像等非結(jié)構(gòu)化數(shù)據(jù),以滿足用戶對(duì)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)、關(guān)聯(lián)和檢索等管理需求。
文檔編號(hào)G06F17/30GK102779186SQ20121022682
公開(kāi)日2012年11月14日 申請(qǐng)日期2012年6月29日 優(yōu)先權(quán)日2012年6月29日
發(fā)明者唐燕琳, 孫建伶, 莊越挺, 潘云鶴, 邵健, 陳嶺, 陳根才, 魏寶剛, 魯偉明 申請(qǐng)人:浙江大學(xué)