• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      優(yōu)搜搜索的設(shè)計(jì)與實(shí)現(xiàn)技術(shù)

      2011-04-20 07:27:24葉文珺史習(xí)文
      關(guān)鍵詞:主程序關(guān)鍵字插件

      葉文珺,史習(xí)文

      (上海電力學(xué)院計(jì)算機(jī)與信息工程學(xué)院,上海 200090)

      互聯(lián)網(wǎng)時(shí)代的信息搜索無(wú)疑具有很高的實(shí)用價(jià)值,因此誕生了許多搜索引擎,如百度,谷歌等.搜索引擎大大方便了人們對(duì)于信息的查詢(xún)效率,同時(shí)也帶來(lái)了一些問(wèn)題,如:不同的搜索引擎得出的結(jié)果可能存在差異;不同的搜索引擎的功能各不相同.

      優(yōu)搜(USou)是一款自主設(shè)計(jì)的共享軟件,是一個(gè)整合式的搜索工具.其使用方法簡(jiǎn)單,具備智能的信息分析、挑選搜索引擎及反饋結(jié)果的功能,具有可擴(kuò)展性,并能在其平臺(tái)上不斷增加新的搜索功能.

      1 優(yōu)搜的架構(gòu)設(shè)計(jì)

      優(yōu)搜采用組件架構(gòu)[1],在優(yōu)搜平臺(tái)上向插件提供服務(wù).優(yōu)搜的所有功能都是基于其松散的組件架構(gòu),安裝一種新的組件可以使優(yōu)搜提供新的服務(wù)接口,由插件訪(fǎng)問(wèn)新的組件接口[2],從而產(chǎn)生新的功能.

      整款系統(tǒng)由包含界面的主程序、各種組件和組件管理器組成,其功能由插件來(lái)實(shí)現(xiàn),優(yōu)搜的整體架構(gòu)如圖1所示.其中,優(yōu)搜主程序是優(yōu)搜的界面,并不是一個(gè)組件,它通過(guò)訪(fǎng)問(wèn)服務(wù)管理來(lái)對(duì)4個(gè)組件進(jìn)行全局性操控.

      優(yōu)搜的架構(gòu)設(shè)計(jì)模仿了Office的開(kāi)放對(duì)象訪(fǎng)問(wèn)機(jī)制,每一個(gè)組件在使用此架構(gòu)時(shí),都有一個(gè)根容器和各個(gè)服務(wù)容器構(gòu)成的服務(wù)容器樹(shù).每一個(gè)節(jié)點(diǎn)的服務(wù)都可以一直向上傳遞,直到根部,而每一個(gè)節(jié)點(diǎn)請(qǐng)求服務(wù)時(shí),都可以從根節(jié)點(diǎn)獲得.因此,根節(jié)點(diǎn)匯總了所有可提供的服務(wù),當(dāng)某個(gè)對(duì)象要請(qǐng)求服務(wù)時(shí),只需向根節(jié)點(diǎn)發(fā)送信息即可.

      上面涉及的所有服務(wù)都是通過(guò)服務(wù)管理組件的DLL來(lái)進(jìn)行管理的,服務(wù)管理是優(yōu)搜組件式架構(gòu)的核心,也是所有組件訪(fǎng)問(wèn)另一個(gè)組件的橋梁.通過(guò)該模塊,一個(gè)組件可以訪(fǎng)問(wèn)另一個(gè)組件的功能,而不需要知道該組件應(yīng)該加載哪個(gè)文件,這使得各個(gè)組件之間成為一個(gè)松散的架構(gòu).也就是說(shuō),任意一個(gè)組件、功能性插件或主程序只需要知道其所要訪(fǎng)問(wèn)的另一個(gè)組件的接口,就可以通過(guò)服務(wù)管理來(lái)查詢(xún)并訪(fǎng)問(wèn)到相應(yīng)功能.所有組件都包含著服務(wù)管理器接口,可以通過(guò)它得到其他組件的接口,這樣就可以通過(guò)一個(gè)組件操作其他的組件或與之進(jìn)行通訊了.

      圖1 優(yōu)搜整體架構(gòu)

      優(yōu)搜各組件功能如下.

      (1)捕獲代理服務(wù)提供單詞捕獲功能的支持,用于捕獲用戶(hù)鼠標(biāo)上的關(guān)鍵字.若沒(méi)有安裝該組件,則優(yōu)搜只能通過(guò)手動(dòng)搜索,而不支持即指即搜功能.

      (2)插件服務(wù)向優(yōu)搜提供插件式搜索服務(wù)支持,所能提供的服務(wù)包括讀取自定義配置文件,獲得指定插件接口,以及獲得所有插件名稱(chēng)列表等.若沒(méi)有安裝該組件,則優(yōu)搜將無(wú)法支持插件,從而導(dǎo)致系統(tǒng)無(wú)法進(jìn)行插件式搜索.

      (3)搜索引擎服務(wù)提供對(duì)于上述兩款組件的控制使用功能.該組件包含智能分析模塊,用于搜索引擎的排序和用戶(hù)選擇結(jié)果的反饋支持.通過(guò)訪(fǎng)問(wèn)該組件,優(yōu)搜主程序可以下達(dá)搜索執(zhí)行命令、插件選擇命令等.

      (4)應(yīng)用設(shè)置服務(wù)提供主程序設(shè)置值的讀取支持,向優(yōu)搜其他組件提供程序配置信息.通過(guò)該服務(wù),可以讀取用戶(hù)設(shè)定的程序參數(shù),并調(diào)整其他服務(wù)的參數(shù).

      2 優(yōu)搜插件排序算法

      為了根據(jù)用戶(hù)搜索的關(guān)鍵字選擇更好的搜索引擎結(jié)果,需要一個(gè)良好的插件排序機(jī)制.排序服務(wù)推薦的插件排序是依據(jù)其他用戶(hù)使用結(jié)果而得出的,根據(jù)每個(gè)插件的得分高低對(duì)其進(jìn)行排序,并給出建議.其中,插件得分的高低是由其他用戶(hù)以前搜索該關(guān)鍵字的頻率所決定的.

      優(yōu)搜支持兩種排序算法,即:基本排序算法和使用RankService的排序算法.

      2.1 基本排序算法

      基本排序算法的思路比較簡(jiǎn)單.首先,比較兩個(gè)結(jié)果的類(lèi)型,結(jié)果類(lèi)型的大小為枚舉值類(lèi)型的大小;其次,當(dāng)兩個(gè)結(jié)果類(lèi)型相同時(shí),就比較其用戶(hù)排序值,用戶(hù)排序值保存在一個(gè)變量里,用戶(hù)可以進(jìn)行手動(dòng)設(shè)置.

      2.2 使用RankService的排序算法

      優(yōu)搜使用了一個(gè)反饋—學(xué)習(xí)—推薦的機(jī)制,通過(guò)其他用戶(hù)搜索關(guān)鍵字的反饋情況來(lái)給插件打分,并在其他用戶(hù)搜索這個(gè)關(guān)鍵字時(shí)給出較好的排序結(jié)果.

      RankService根據(jù)其他用戶(hù)之前使用該關(guān)鍵字的體驗(yàn)結(jié)果,采用頁(yè)面分析技術(shù)[3]對(duì)搜索引擎進(jìn)行該關(guān)鍵字排名.隨著用戶(hù)結(jié)果反饋的增加,以及服務(wù)器的不斷學(xué)習(xí),使得服務(wù)器可以得出更為精確的結(jié)果建議.

      該排序算法使用RankService來(lái)查詢(xún)服務(wù)器推薦插件,并將服務(wù)器的推薦列入排序考慮的范圍.可以將搜索結(jié)果分為如下4種情況:

      (1)單一結(jié)果且為強(qiáng)匹配如關(guān)鍵字為手機(jī)號(hào)碼時(shí),搜索結(jié)果為該手機(jī)號(hào)碼的所屬城市等信息;

      (2)單一結(jié)果且為正常匹配這種單一結(jié)果的匹配稱(chēng)為正常單一匹配,如關(guān)鍵字為任意英語(yǔ)單詞時(shí),程序無(wú)法確切地判斷出用戶(hù)是要搜索其翻譯,還是搜索有關(guān)這個(gè)單詞的其他信息,因此搜索結(jié)果為該英語(yǔ)單詞的解釋;

      (3)集合式結(jié)果如關(guān)鍵字為任意文字時(shí),搜索結(jié)果為與該關(guān)鍵字有關(guān)的鏈接;

      (4)無(wú)匹配無(wú)法找到該關(guān)鍵字的結(jié)果時(shí)為無(wú)匹配.

      4 種情況都含有一個(gè)值,其大小表示當(dāng)搜索結(jié)果為該情況時(shí)搜索結(jié)果的優(yōu)先級(jí)級(jí)別,值越大,則優(yōu)先級(jí)別越高.

      3 服務(wù)管理組件

      服務(wù)管理是優(yōu)搜組件式架構(gòu)的核心,用于提供各種已配置組件的接口,是一個(gè)組件訪(fǎng)問(wèn)另一個(gè)組件的中間站.主要包含以下兩個(gè)方面的內(nèi)容.

      (1)服務(wù)管理器接口與應(yīng)用服務(wù)應(yīng)用服務(wù)繼承于服務(wù)管理器接口.通過(guò)該接口可以安裝新的服務(wù),并儲(chǔ)存服務(wù)接口,使得別的程序通過(guò)函數(shù)調(diào)用就可以獲得想要的組件服務(wù),同時(shí)可以通過(guò).NET反射機(jī)制加載組件[4].由于所有要加載的組件信息是與已安裝插件的信息一起保存在自定義配置文件中,因此當(dāng)程序啟動(dòng)時(shí),優(yōu)搜主程序?qū)⒆x入這個(gè)配置列表,并根據(jù)配置列表加載所有組件.

      (2)儲(chǔ)存插件信息的類(lèi)PluginInfo與Resported Result在服務(wù)管理組件中,PluginInfo是一個(gè)非常重要的類(lèi),它存儲(chǔ)了有關(guān)某項(xiàng)插件的所有信息.ResportedResult類(lèi)定義了當(dāng)前搜索中搜索結(jié)果的類(lèi)型,若為集合式結(jié)果,則還保存了結(jié)果中所有的鏈接.

      4 結(jié)語(yǔ)

      優(yōu)搜具有廣闊的發(fā)展前景.例如,可以在優(yōu)搜的平臺(tái)上為用戶(hù)開(kāi)發(fā)出新的插件,同時(shí)還可以開(kāi)發(fā)優(yōu)搜增值插件,為用戶(hù)提供消費(fèi)品和推薦服務(wù),并從這些企業(yè)收取適當(dāng)?shù)馁M(fèi)用,實(shí)現(xiàn)優(yōu)搜的商業(yè)價(jià)值.另外,可以對(duì)優(yōu)搜進(jìn)一步開(kāi)發(fā),產(chǎn)生更多的優(yōu)搜衍生品,如優(yōu)搜門(mén)戶(hù)等.

      [1]ERICH Gamma.Design patterns-elements of reusable objectoriented software[M].北京:清華大學(xué)出版社,2005:351-377.

      [2]CHRISTIAN Nagel.C#高級(jí)編程[M].第6版.北京:清華大學(xué)出版社,2008:1 124-1 142.

      [3]周靜.ASP和ASP.NET頁(yè)面間的數(shù)據(jù)傳遞方式探索[J].微計(jì)算機(jī)信息,2006(3-5):114-115.

      [4]KRZYSZTOF Cwalina..NET設(shè)計(jì)規(guī)范[M].第2版.北京:人民郵電出版社,2010:244-305.

      (編輯白林雪)

      猜你喜歡
      主程序關(guān)鍵字插件
      履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤(pán)點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
      自編插件完善App Inventor與樂(lè)高機(jī)器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      淺談數(shù)控銑削技術(shù)代碼程序的嵌套方式研究
      成功避開(kāi)“關(guān)鍵字”
      電控冰箱軟件模塊化設(shè)計(jì)
      日用電器(2019年12期)2019-02-26 01:53:06
      時(shí)光倒流 換回PotPlayer老圖標(biāo)
      MapWindowGIS插件機(jī)制及應(yīng)用
      基于Revit MEP的插件制作探討
      基于用戶(hù)反饋的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵字查詢(xún)系統(tǒng)
      未經(jīng)授權(quán)的第三方軟件侵權(quán)問(wèn)題研究
      ——以“騰訊與360之爭(zhēng)”為視角*
      苏尼特右旗| 洛浦县| 广宗县| 绥宁县| 丹寨县| 庆安县| 南开区| 鄂伦春自治旗| 乐平市| 广元市| 馆陶县| 延津县| 板桥市| 鄂托克旗| 交口县| 南皮县| 安国市| 东辽县| 平谷区| 涿鹿县| 乌鲁木齐市| 辛集市| 札达县| 潞城市| 台东县| 曲水县| 丹寨县| 文水县| 宜阳县| 汉源县| 泸定县| 永泰县| 黔东| 醴陵市| 平乐县| 沂水县| 平湖市| 紫阳县| 杂多县| 梅河口市| 常德市|