Redis記憶體資料庫在Exchange會議室的整體應用架構

來源:互聯網
上載者:User

標籤:

註:本文是別人寫的,感覺寫得很好就轉過來,著作權歸原作者所有哦,誰知道出處可以告訴我,謝謝。

  根據以上的會議室應用現狀分析,該架構的核心是把曆史發生的會議室申請資料定時同步到Redis記憶體資料庫中,對於現在和未來時間的會議室資料(目前可以提前7天申請資料)則通過專用介面在Exchange會議室資料庫即時查詢,根據使用者選取查詢時間,系統自動判斷訪問哪個資料庫或進行資料合併(曆史資料與現在或未來時間的資料),通過減少訪問Exchange會議室資料庫以提高查詢效能,從而大大改善使用者體驗,通過與Windows活動目錄的使用者的整合,為會議室分析和考核提供資料支援。

(二)關鍵技術簡介

  1、ServiceStack.Redis驅動

  ServiceStack.Redis是最受歡迎的開源C#驅動之一,用於訪問和讀取Redis,它封裝了大量方法和對象,這樣使二次開發相當容易,如提供了基本KEY/VALUE索引值對操作、儲存物件、儲存表格對象、使用用戶端連結池模式提升連結速度等。

  本文採用了ServiceStack.Redis進行二次開發,通過二次開發的介面把Exchange的會議室和Windows活動目錄的所有在職使用者資料同步Redis中,同時對於曆史會議室資料提供查詢介面。

  2、Microsoft.Exchange.WebServices類庫

  Microsoft.Exchange.WebServices類庫是微軟官方提供的專門訪問Exchange郵件伺服器的API,如可以根據此類庫編程實現讀取會議室資料、郵件、連絡人、議程等,可以根據需要進行定製開發以滿足不同的應用需求。

  本文主要使用此類庫讀取會議室的資料,並結合SystemComponent.ADHelper類庫讀取會議申請人和參與人的部門資訊。

  3、SystemComponent.ADHelper類庫

 SystemComponent.ADHelper類庫是本人為BPM項目開發的操作windows活動目錄(組織單位、組、使用者)的通用類庫,可以進行複用,目前在BPM項目中已有廣泛應用。

本文主要使用此類庫根據電子郵箱獲得會議申請人和參與人的所屬部門資訊。

  4、Quartz.NET作業架構

  Quartz.NET是一個開源的作業調度架構,是OpenSymphony 的 Quartz API的.NET移植,它用C#寫成,可用於winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。能夠用它來為執行一個作業而建立簡單的或複雜的調度。它有很多特徵,如:資料庫支援,叢集,外掛程式,支援cron-like運算式等等。

   本文主要使用此作業架構進行定製開發同步程式,實現定時同步Exchange會議室資料到Redis中,並在Windows服務中運行(實現自動化作業,無需人工幹預)。

Redis記憶體資料庫在Exchange會議室的整體應用架構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.