專利名稱:服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及服務(wù)網(wǎng)絡(luò)的優(yōu)化工具構(gòu)建,特別是涉及一種服務(wù)網(wǎng)絡(luò)(Web Service Network)系統(tǒng)的優(yōu)化系統(tǒng)以及性能提升方法。
背景技術(shù):
目前,服務(wù)的實現(xiàn)利用OWL-DL來描述概念及概念之間的關(guān)系,并將其作為數(shù)據(jù) 表示的方法與數(shù)據(jù)存儲的邏輯結(jié)構(gòu),雖然這樣的策略使得服務(wù)網(wǎng)絡(luò)系統(tǒng)的架構(gòu)顯得清 晰,但也存在著一些目前尚難以克服的缺陷
由于目前相關(guān)理論與技術(shù)發(fā)展的限制,對OWL-DL描述的概念進行解析在效率上 還存在著很大的問題,因而為了提高服務(wù)網(wǎng)絡(luò)的可用性,構(gòu)建外圍的性能優(yōu)化工具是非 常必要的;
限于現(xiàn)有工具存在的缺陷及相關(guān)技術(shù)的巨大瓶頸,服務(wù)網(wǎng)絡(luò)數(shù)據(jù)模型在空間占用上 和時間占用問題都非常嚴重;
現(xiàn)有的服務(wù)網(wǎng)絡(luò)系統(tǒng)缺乏分布式計算的能力 經(jīng)文獻檢索發(fā)現(xiàn),傳統(tǒng)的支持并行程序設(shè)計與開發(fā)的系統(tǒng)和方法主要有并行程序 設(shè)計語言(HPF、 Erlang、 XIO、 Cilk)、并行編譯器、高性能并行函數(shù)庫(Intel的TBB、 MicrosoftTPL、 IBMAmino)、可移植的多線程庫(Pthread)、消息傳遞庫(MPI、 PVM)、 自動并行化工具(OpenMP)、協(xié)同編程語言(Linda)、基于模板的并行程序設(shè)計方法 (Frameworks)、并行組件編程方法(CCA)等等。上述現(xiàn)有技術(shù)中的這些系統(tǒng)和方法, 有的抽象程度太低,需要并行程序設(shè)計人員過多的關(guān)注底層細節(jié),如消息傳遞、同步、 加減鎖等,致使編程效率低,程序代碼錯誤多;有的不能滿足當前最新的應(yīng)用和系統(tǒng)需 求;有的存在可移植性、可擴展性差的缺陷;有的是因為面向特殊專用領(lǐng)域,如空氣動 力學模擬、求解偏微分方程等,因而通用性很差。
由于服務(wù)網(wǎng)絡(luò)的概念剛剛被提出,針對于服務(wù)網(wǎng)絡(luò)本身的研究還非常匱乏。本發(fā)明直接從服務(wù)網(wǎng)絡(luò)系統(tǒng)的源碼層面進行分析,結(jié)合服務(wù)網(wǎng)絡(luò)的應(yīng)用場景構(gòu)建了一套服務(wù)網(wǎng) 絡(luò)性能優(yōu)化方法。
并且,隨著多核微處理器的普及,并行計算機走進了更加大眾化的計算領(lǐng)域,研究
并提出一套通用的并行程序設(shè)計方法和系統(tǒng)已經(jīng)迫在眉睫。
發(fā)明內(nèi)容
鑒于上述技術(shù)問題,本發(fā)明提出了一種服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),通過構(gòu)建服務(wù)網(wǎng)絡(luò) 的優(yōu)化工具及提供一整套基于服務(wù)網(wǎng)絡(luò)的應(yīng)用程序接口,來提升服務(wù)網(wǎng)絡(luò)査詢,編輯, 注冊,推理等行為的性能。
本發(fā)明提出一種服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),通過構(gòu)建服務(wù)網(wǎng)絡(luò)的優(yōu)化工具及提供該 優(yōu)化工具基于服務(wù)網(wǎng)絡(luò)的應(yīng)用程序接口,實現(xiàn)優(yōu)化工具與服務(wù)網(wǎng)絡(luò)的自動掛接,其特征 在于,該系統(tǒng)還包括
服務(wù)網(wǎng)絡(luò)緩沖區(qū),包括多個緩沖表,每張緩沖表包括4個數(shù)據(jù)關(guān)系表
數(shù)據(jù)關(guān)系表一存儲服務(wù)的特征信息,數(shù)據(jù)關(guān)系表二存儲服務(wù)之間的關(guān)系,數(shù)據(jù)關(guān)系 表三存儲服務(wù)的接口信息,數(shù)據(jù)關(guān)系表四存儲服務(wù)元素信息;
同步守護線程,它包括兩個獨立的線程,負責從服務(wù)網(wǎng)絡(luò)知識庫同步信息到緩沖層 的線程,和負責從緩沖層同步信息到服務(wù)網(wǎng)絡(luò)知識庫的線程,以保證服務(wù)網(wǎng)絡(luò)中的數(shù)據(jù) 于服務(wù)網(wǎng)絡(luò)緩沖區(qū)的數(shù)據(jù)同步;
服務(wù)網(wǎng)絡(luò)優(yōu)化API ,它是服務(wù)網(wǎng)絡(luò)優(yōu)化工具提供的一整套應(yīng)用程序接口 ;
API選擇器,用于決定將用戶的服務(wù)請求委托給優(yōu)化API或者舊API的工具,其中 服務(wù)網(wǎng)絡(luò)舊API是指服務(wù)網(wǎng)絡(luò)默認提供的一整套應(yīng)用程序接口。
所述同步守護線程由3個線程構(gòu)成,它們是
服務(wù)網(wǎng)絡(luò)優(yōu)化層守護線程,用于創(chuàng)建與管理其他守護線程,以及系統(tǒng)的初始化操作。 該線程作為主線程,它的操作包括同步創(chuàng)建負責從服務(wù)網(wǎng)絡(luò)知識庫同步信息到緩沖層的
線程,和負責從緩沖層同步信息到服務(wù)網(wǎng)絡(luò)知識庫的線程;
服務(wù)網(wǎng)絡(luò)知識庫同步線程,該線程在運行過程中存在正運行態(tài)、空閑態(tài)以及休眠態(tài), 該線程定時通過外部喚醒信號或自動喚醒信號被從休眠態(tài)自動喚醒,每次喚醒之后會檢 查所有同步項的同步標志,如果有數(shù)據(jù)需要同步,則執(zhí)行主線程所包括的同步操作,此 時處于正運行態(tài),否則檢查下一項,此時處于空閑態(tài),如此交替在正運行態(tài)和空閑態(tài)之 間跳轉(zhuǎn),不斷地進行同步/檢査操作,處理完所有的同步項之后,該線程通過產(chǎn)生的外
5部休眠信號或自動休眠信號,自動轉(zhuǎn)入休眠態(tài);
緩沖層信息同步線程,該線程負責將服務(wù)網(wǎng)絡(luò)知識庫中的信息同步到緩沖層。 在沒有用戶選定的情況下,所述系統(tǒng)會采用API選擇規(guī)則來決定使用優(yōu)化API或
者舊API,該選擇規(guī)則的算法如下
檢査緩沖層數(shù)據(jù)的完整性,如不完整則使用原始API,算法結(jié)束; 檢査優(yōu)化層API是否能滿足該調(diào)用請求,如不滿足則使用原始API,算法結(jié)束;
調(diào)用優(yōu)化層API處理請求。
與現(xiàn)有技術(shù)相比,本發(fā)明直接從服務(wù)網(wǎng)絡(luò)系統(tǒng)的源碼層面進行分析,結(jié)合服務(wù)網(wǎng)絡(luò) 的應(yīng)用場景構(gòu)建服務(wù)網(wǎng)絡(luò)性能優(yōu)化方法,并且該方法采用并行程序設(shè)計,進一步提高了 服務(wù)網(wǎng)絡(luò)的性能,大量提高服務(wù)網(wǎng)絡(luò)信息交換速度,并對使用者透明。
圖1為本發(fā)明的服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng)模塊間的數(shù)據(jù)流動示意圖。
圖2為本發(fā)明的同步守護線程流程示意圖3為本發(fā)明的服務(wù)網(wǎng)絡(luò)知識庫同步線程的狀態(tài)轉(zhuǎn)換示意圖4為本發(fā)明的緩沖層信息同步線程的狀態(tài)轉(zhuǎn)換示意圖。
具體實施例方式
在不改變服務(wù)網(wǎng)絡(luò)模型架構(gòu)的前提下,通過即插即用動態(tài)加入的方式,提供以下的 功能
1、 提供對服務(wù)網(wǎng)絡(luò)信息的預解析工具,將預解析結(jié)果放入緩沖塊中;
2、 提供一整套基于緩沖塊的應(yīng)用程序接口(API),這些API通過責任委托的機制 與服務(wù)網(wǎng)絡(luò)原有的API無縫結(jié)合;
3、 同時提供2個線程來智能的保證服務(wù)網(wǎng)絡(luò)于緩沖塊之間信息的同步。 本發(fā)明主要通過對服務(wù)網(wǎng)絡(luò)內(nèi)部信息進行預提取,并通過設(shè)計數(shù)據(jù)緩沖區(qū)的結(jié)構(gòu),
對外提供完整的訪問API來提升服務(wù)網(wǎng)絡(luò)的服務(wù)網(wǎng)絡(luò)査詢、編輯以及注冊性能。該本優(yōu) 化方法可作為服務(wù)網(wǎng)絡(luò)的一個插件形式存在。為了實現(xiàn)本發(fā)明的目的,本發(fā)明通過構(gòu)建 3個相對獨立的模塊來實現(xiàn)。本發(fā)明中設(shè)計的內(nèi)容及概念主要有以下幾個部分 模塊l:服務(wù)網(wǎng)絡(luò)緩沖區(qū)
服務(wù)網(wǎng)絡(luò)緩沖區(qū)主要包含以下一些內(nèi)容及概念服務(wù)網(wǎng)絡(luò)定義。由服務(wù)作為網(wǎng)絡(luò)的節(jié) 點,與服務(wù)之間的關(guān)系組成的三維立體鉸鏈的網(wǎng)絡(luò)。具體又可分為兩層抽象服務(wù)層和具體服務(wù)層。
服務(wù)網(wǎng)絡(luò)緩沖區(qū)(SNC)的定義。服務(wù)網(wǎng)絡(luò)緩沖區(qū)是對服務(wù)網(wǎng)絡(luò)信息的一個再整理,
使得其中的數(shù)據(jù)易于解析,易于獲取,但是會丟失一些語義信息。
模塊2:同步守護線程
優(yōu)化守護線程(OD)的定義。優(yōu)化守護線程是兩個獨立的線程,保證服務(wù)網(wǎng)絡(luò)中的數(shù) 據(jù)于服務(wù)網(wǎng)絡(luò)緩沖區(qū)的數(shù)據(jù)同步。
模塊3:服務(wù)網(wǎng)絡(luò)優(yōu)化API及API選擇器
服務(wù)網(wǎng)絡(luò)舊API(SNO API):服務(wù)網(wǎng)絡(luò)默認提供的一整套應(yīng)用程序接口。 服務(wù)網(wǎng)絡(luò)新API(SNN API):服務(wù)網(wǎng)絡(luò)優(yōu)化工具提供的一整套應(yīng)用程序接口,其功 能是SN0 API的子集。
API選擇器 一個決定將請求委托給新或者舊API的工具。 服務(wù)網(wǎng)絡(luò)API(SN API):對用戶可見的API。
本發(fā)明以動態(tài)插入接口形式,為服務(wù)網(wǎng)絡(luò)的核心部分一服務(wù)網(wǎng)絡(luò)應(yīng)用程序接口提供 更快的訪問處理性能,大大的提高了服務(wù)網(wǎng)絡(luò)的可用性。
如圖l所示,為本發(fā)明三個組成模塊在服務(wù)網(wǎng)絡(luò)API接口中的數(shù)據(jù)流向示意圖。 下面通過具體實施例進一步說明本發(fā)明的技術(shù)方案。
本發(fā)明的服務(wù)網(wǎng)絡(luò)緩沖區(qū)包括多個緩沖表,每張緩沖表包括4個數(shù)據(jù)關(guān)系表。
數(shù)據(jù)關(guān)系表一主要存儲服務(wù)的大部分特征信息,每項服務(wù)的主要特征信息均包括服 務(wù)ID、服務(wù)名、名空間、功能描述、商業(yè)類型、分類方式、,分類名、提供者公司、提 供者聯(lián)系方式、服務(wù)反應(yīng)時間以及同步標志位等信息。
數(shù)據(jù)關(guān)系表二主要用來存儲服務(wù)之間的關(guān)系,每一關(guān)系項均包括關(guān)系主體服務(wù)的 ID,關(guān)系客體服務(wù)的ID、關(guān)系名、關(guān)系ID、同步標志位等信息。
數(shù)據(jù)關(guān)系表三主要用來存儲服務(wù)的接口信息,每一接口項均包括有接口名稱,接口 描述,前置條件,服務(wù)影響效果,同步標志位等信息組成。
數(shù)據(jù)關(guān)系表四主要用來存儲服務(wù)的參數(shù)信息。每一項包括參數(shù)名,參數(shù)類型,參數(shù) ID,對應(yīng)的接口 ID。
在每張緩沖表中,都會存在一個異步標志位:SYNED,用來表示該服務(wù)信息的當前狀 態(tài),這里分為四種情況處理-
SYNED 二= 0 :該服務(wù)信息與本體數(shù)據(jù)庫同步,無需更新操作。
SYNED == 1 :該服務(wù)信息被修改,等待守護進程將其與本體層數(shù)據(jù)庫同步。
7SYNED==2 :該服務(wù)信息是由用戶通過服務(wù)網(wǎng)絡(luò)外部添加,還未同步到本體層中。 SYNED == 3 :該服務(wù)已被刪除,但是刪除的信息尚未同步到本體層中。 守護進程循環(huán)檢測每張表的同步信息,根據(jù)標志位情況做出相應(yīng)的處理。 同步守護線程由3個互相聯(lián)系的線程構(gòu)成。
其中,主線程名為服務(wù)網(wǎng)絡(luò)優(yōu)化層守護線程(Service Network Optimizer Daemon, SN0P),主要負責創(chuàng)建與管理其他守護線程,處理一些初始化的工作。SNOP的工作流程 非常簡單清晰,其流程圖見圖2,該流程包括同步創(chuàng)建負責從服務(wù)網(wǎng)絡(luò)知識庫同步信息 到緩沖層的線程,和負責從緩沖層同步信息到服務(wù)網(wǎng)絡(luò)知識庫的線程,前者作為運行態(tài) 線程l,后者作為運行態(tài)線程2。
本發(fā)明的第二個線程是服務(wù)網(wǎng)絡(luò)知識庫同步線程(Cache20ntoDaeraon)。該線程的行 為比較復雜,在運行過程中存在著多種狀態(tài)即正運行態(tài)、空閑態(tài)以及休眠態(tài)。該線程 的狀態(tài)轉(zhuǎn)換圖如圖3所示該線程每隔一定的時間會通過外部喚醒信號或自動喚醒信號 被從休眠態(tài)31自動喚醒,每次喚醒之后會檢査所有同步項的同步標志,如果有數(shù)據(jù)需 要同步,則執(zhí)行主線程所包括的同步操作,此時處于正運行態(tài)32,否則檢查下一項,. 此時處于空閑態(tài)33,并可交替在正運行態(tài)和空閑態(tài)之間跳轉(zhuǎn),不斷地進行同步/檢査操 作,處理完所有的同步項之后,線程通過產(chǎn)生的外部休眠信號或自動休眠信號,自動轉(zhuǎn) 入休眠態(tài)。
第三個線程是緩沖層信息同步線程(0nto2CacheDaemon)。該線程負責將服務(wù)網(wǎng)絡(luò)知 識庫中的信息同步到緩沖層。該線程由于每次運行都需要耗費相當?shù)馁Y源,因此被設(shè)置 為被動喚醒,以盡可能釋放系統(tǒng)資源。該線程的狀態(tài)轉(zhuǎn)換圖如圖4所示。
本發(fā)明的服務(wù)網(wǎng)絡(luò)優(yōu)化API及API選擇器的具體實施方式
如下
服務(wù)網(wǎng)絡(luò)優(yōu)化層提供一整套與服務(wù)網(wǎng)絡(luò)本身對應(yīng)的應(yīng)用程序接口,這些應(yīng)用程序接 口完成與其功能相應(yīng)的服務(wù)網(wǎng)絡(luò)應(yīng)用程序接口一致的功能,但是可以減少10倍以上的
訪問時間。
服務(wù)網(wǎng)絡(luò)優(yōu)化層提供用戶指定和智能的API自動選擇器,系統(tǒng)首先會根據(jù)用戶的設(shè) 定去決定是否使用優(yōu)化層API來替代原始API,如果用戶沒有指定,系統(tǒng)會采用API選 擇規(guī)則來決定使用何種API。其算法如下
檢査緩沖層數(shù)據(jù)的完整性,如不完整則使用原始API,算法結(jié)束。
檢查優(yōu)化層API是否能滿足該調(diào)用請求,如不滿足則使用原始API,算法結(jié)束。
調(diào)用優(yōu)化層API處理請求。
權(quán)利要求
1. 一種服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),通過構(gòu)建服務(wù)網(wǎng)絡(luò)的優(yōu)化工具及提供該優(yōu)化工具基于服務(wù)網(wǎng)絡(luò)的應(yīng)用程序接口,實現(xiàn)優(yōu)化工具與服務(wù)網(wǎng)絡(luò)的自動掛接,其特征在于,該系統(tǒng)主要包括服務(wù)網(wǎng)絡(luò)緩沖區(qū),包括多個緩沖表,每張緩沖表包括4個數(shù)據(jù)關(guān)系表數(shù)據(jù)關(guān)系表一存儲服務(wù)的特征信息,數(shù)據(jù)關(guān)系表二存儲服務(wù)之間的關(guān)系,數(shù)據(jù)關(guān)系表三存儲服務(wù)的接口信息,數(shù)據(jù)關(guān)系表四存儲服務(wù)元素信息;同步守護線程,它包括兩個獨立的線程,負責從服務(wù)網(wǎng)絡(luò)知識庫同步信息到緩沖層的線程,和負責從緩沖層同步信息到服務(wù)網(wǎng)絡(luò)知識庫的線程,以保證服務(wù)網(wǎng)絡(luò)中的數(shù)據(jù)于服務(wù)網(wǎng)絡(luò)緩沖區(qū)的數(shù)據(jù)同步;服務(wù)網(wǎng)絡(luò)優(yōu)化API,它是服務(wù)網(wǎng)絡(luò)優(yōu)化工具提供的一整套應(yīng)用程序接口;API選擇器,用于決定將用戶的服務(wù)請求委托給優(yōu)化API或者舊API的工具,其中服務(wù)網(wǎng)絡(luò)舊API是指服務(wù)網(wǎng)絡(luò)默認提供的一整套應(yīng)用程序接口。
2. 如權(quán)利要求l所述的服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),其特征在于,所述同步守護線程 由3個線程構(gòu)成,它們是服務(wù)網(wǎng)絡(luò)優(yōu)化層守護線程,用于創(chuàng)建與管理其他守護線程,以及系統(tǒng)的初始化操作。 該線程作為主線程,它的操作包括同步創(chuàng)建負責從服務(wù)網(wǎng)絡(luò)知識庫同步信息到緩沖層的 線程,和負責從緩沖層同步信息到服務(wù)網(wǎng)絡(luò)知識庫的線程;服務(wù)網(wǎng)絡(luò)知識庫同步線程,該線程在運行過程中存在正運行態(tài)、空閑態(tài)以及休眠態(tài), 該線程定時通過外部喚醒信號或自動喚醒信號被從休眠態(tài)自動喚醒,每次喚醒之后會檢 查所有同步項的同步標志,如果有數(shù)據(jù)需要同步,則執(zhí)行主線程所包括的同步操作,此 時處于正運行態(tài),否則檢查下一項,此時處于空閑態(tài),如此交替在正運行態(tài)和空閑態(tài)之 間跳轉(zhuǎn),不斷地進行同步/檢査操作,處理完所有的同步項之后,該線程通過產(chǎn)生的外 部休眠信號或自動休眠信號,自動轉(zhuǎn)入休眠態(tài);緩沖層信息同步線程,該線程負責將服務(wù)網(wǎng)絡(luò)知識庫中的信息同步到緩沖層。
3. 如權(quán)利要求1所述的服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),其特征在于,在沒有用戶選定的 情況下,所述系統(tǒng)會采用API選擇規(guī)則來決定使用優(yōu)化API或者舊API,該選擇規(guī)則的 算法如下-檢査緩沖層數(shù)據(jù)的完整性,如不完整則使用原始API,算法結(jié)束;檢査優(yōu)化層API是否能滿足該調(diào)用請求,如不滿足則使用原始API,算法結(jié)束;調(diào)用休化層API處理請求。
全文摘要
本發(fā)明公開了一種服務(wù)網(wǎng)絡(luò)性能優(yōu)化系統(tǒng),通過構(gòu)建服務(wù)網(wǎng)絡(luò)的優(yōu)化工具及提供該優(yōu)化工具基于服務(wù)網(wǎng)絡(luò)的應(yīng)用程序接口,實現(xiàn)優(yōu)化工具與服務(wù)網(wǎng)絡(luò)的自動掛接,該系統(tǒng)還包括服務(wù)網(wǎng)絡(luò)緩沖區(qū)、同步守護線程、服務(wù)網(wǎng)絡(luò)優(yōu)化API及API選擇器。與現(xiàn)有技術(shù)相比,本發(fā)明直接從服務(wù)網(wǎng)絡(luò)系統(tǒng)的源碼層面進行分析,結(jié)合服務(wù)網(wǎng)絡(luò)的應(yīng)用場景構(gòu)建服務(wù)網(wǎng)絡(luò)性能優(yōu)化方法,并且該方法采用并行程序設(shè)計,進一步提高服務(wù)網(wǎng)絡(luò)的性能。在不改變服務(wù)網(wǎng)絡(luò)模型架構(gòu)的前提下,通過即插即用動態(tài)加入的方式,對服務(wù)網(wǎng)絡(luò)信息的預解析,將預解析結(jié)果放入緩沖區(qū)中;提供基于緩沖塊的應(yīng)用程序接口(API),通過選擇機制與服務(wù)網(wǎng)絡(luò)原有API無縫結(jié)合;提供2個線程保證服務(wù)網(wǎng)絡(luò)于緩沖塊之間信息同步。
文檔編號H04L12/56GK101499971SQ200910068078
公開日2009年8月5日 申請日期2009年3月9日 優(yōu)先權(quán)日2009年3月9日
發(fā)明者馮志勇, 輝 王, 炬 陳, 陳世展, 冷 韓 申請人:天津大學