aaa视频网站,国产最新进精品视频,国产主播一区二区,999热精品视频,а√天堂资源8在线官网在线,国产免费不卡av,麻豆国产视频

一種即時通訊系統(tǒng)組織架構(gòu)快速更新的方法與流程

文檔序號:11253774閱讀:1034來源:國知局
一種即時通訊系統(tǒng)組織架構(gòu)快速更新的方法與流程

本發(fā)明涉及一種即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,屬于計算機(jī)數(shù)據(jù)交互領(lǐng)域。



背景技術(shù):

目前市場上存在的企業(yè)即時通信系統(tǒng)更新組織架構(gòu)機(jī)制,基本采用下載完整組織架構(gòu)方式,即客戶端首次登錄到服務(wù)器上下載組織架構(gòu)文件,等組織架構(gòu)文件下載完成后才能正常使用。此外,服務(wù)器組織架構(gòu)維護(hù)變更,客戶端需要等到下一個更新周期完成后才能顯示最新數(shù)據(jù)。

在網(wǎng)絡(luò)環(huán)境擁堵的情況,大組織架構(gòu)文件容量一般很大,下載到本地需要更多的時間,若此時客戶端查看組織架構(gòu),會顯示為空白界面。有可能在下載過程中,用戶應(yīng)用程序切到后臺,手機(jī)操作系統(tǒng)殺掉應(yīng)用程序進(jìn)程,下次應(yīng)用程序需要重新下載,過程有可能又被殺掉,如此反復(fù)循環(huán)。如果僅用按需拉取,用戶偶爾網(wǎng)絡(luò)斷開,本地沒有組織架構(gòu),此時無法查看到未拉取過數(shù)據(jù)。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)的不足,本發(fā)明的技術(shù)方案提供了一種即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,用于解決在絕大部分網(wǎng)絡(luò)環(huán)境下,大組織架構(gòu)刷新緩慢問題。

本發(fā)明的技術(shù)方案包括一種即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其特征在于,該方法包括:無組織架構(gòu)的更新,根據(jù)用戶點擊的界面組織架構(gòu)面版,從服務(wù)器獲取對應(yīng)一級部門列表并在用戶界面進(jìn)行加載和顯示;部分組織架構(gòu)的更新,獲取用戶交互信息,進(jìn)而獲取用戶唯一標(biāo)識,根據(jù)用戶標(biāo)識下載完整的組織架構(gòu)并在用戶界面進(jìn)行加載和顯示;本地完整組織架構(gòu)的更新,當(dāng)用戶本地數(shù)據(jù)有完整的組織架構(gòu)數(shù)據(jù)時,加載本地組織架構(gòu)數(shù)據(jù)并異步更新組織架構(gòu)下節(jié)點數(shù)據(jù);完整組織架構(gòu)的更新,每隔固定時間從服務(wù)器下載更新數(shù)據(jù),使用獨立線程對組織結(jié)構(gòu)進(jìn)行更新,并在更新時暫停客戶端其他線程。

根據(jù)所述的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其中無組織架構(gòu)的更新包括:s21,當(dāng)客戶端首次登錄并根據(jù)用戶所點擊的組織架構(gòu)面版,客戶端對本地數(shù)據(jù)進(jìn)行檢查,若不存在本地數(shù)據(jù),則向服務(wù)器發(fā)送獲取一級部門列表的請求;s22,進(jìn)一步,檢查一級部門的子部門及用戶信息,若不存在,則調(diào)用服務(wù)器接口獲取對應(yīng)一級部門的子部門及用戶信息,并將子部門及用戶信息返回用戶界面進(jìn)行加載和顯示;s23,根據(jù)用戶所點擊的組織架構(gòu)面版,循環(huán)執(zhí)行所述步驟s21和s23,完成對用戶所點擊的組織架構(gòu)面版對應(yīng)的一級部門及其子部門和用戶信息進(jìn)行加載和顯示。

在一個優(yōu)選的實施方案中,該方法還包括:每次用戶重新登錄時,向服務(wù)器檢查組織架構(gòu)所缺失的組織架構(gòu)數(shù)據(jù),并對所缺失的組織架構(gòu)數(shù)據(jù)進(jìn)行異步更新直至組織架構(gòu)完整。

根據(jù)所述的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其中部分組織架構(gòu)的更新包括:s41,獲取歷史與客戶端交互信息,解析交互信息獲取用戶唯一標(biāo)識;s42,獲取客戶端更新列表,進(jìn)一步,獲取客戶端未更新的組織架構(gòu);s43,將未更新的組織架構(gòu)進(jìn)行異步更新,直至客戶端的組織架構(gòu)完整。

根據(jù)所述的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其中本地完整組織架構(gòu)的更新包括:s51,當(dāng)客戶端首次登錄并根據(jù)用戶所點擊的組織架構(gòu)面版時,客戶端對本地數(shù)據(jù)進(jìn)行檢查,若存在本地數(shù)據(jù),則從本地獲取所有組織框架數(shù)據(jù);s52,在客戶端加載并顯示對應(yīng)的組織框架,進(jìn)一步異步更新組織框架的節(jié)點數(shù)據(jù)。

根據(jù)所述的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其中完整組織架構(gòu)的更新還包括:s61,使服務(wù)器每隔固定時間生成組織架構(gòu)更新數(shù)據(jù),客戶端使用獨立線程在指定時間段從服務(wù)器獲取組織架構(gòu)更新數(shù)據(jù);s62,將更新任務(wù)添加至客戶端工作線程列表,其中客戶端的工作線程為順序執(zhí)行;s63,執(zhí)行更新任務(wù)的線程時,暫停其他客戶端工作線程,直至更新結(jié)束。

根據(jù)所述的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法,其中步驟s63還包括:

將更新任務(wù)中的新數(shù)據(jù)庫文件路徑封裝進(jìn)更新任務(wù)的數(shù)據(jù)結(jié)構(gòu),放入組織架構(gòu)數(shù)據(jù)庫操作對象的任務(wù)隊列,使用組織架構(gòu)數(shù)據(jù)庫操作對象執(zhí)行線程獲取該任務(wù)并關(guān)閉舊數(shù)據(jù)庫連接,進(jìn)而將新數(shù)據(jù)庫文件覆蓋老數(shù)據(jù)庫,重新連接上數(shù)據(jù)庫。

本發(fā)明的有益效果為:有效的降低用戶等待組織架構(gòu)顯示時間,同時偶爾網(wǎng)絡(luò)中斷不影響組織架構(gòu)瀏覽,服務(wù)器更新組織架構(gòu)客戶端能馬上更新。

附圖說明

圖1所示為根據(jù)本發(fā)明實施方式的總體流程圖;

圖2所示為根據(jù)本發(fā)明實施方式的本地不存在組織架構(gòu)更新時序圖;

圖3所示為根據(jù)本發(fā)明實施方式的本地不存在完整組織架構(gòu)更新時序圖;

圖4所示為根據(jù)本發(fā)明實施方式的本地已存在完整組織架構(gòu)更新時序圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明的即時通訊系統(tǒng)組織架構(gòu)快速更新的方法適用于企業(yè)通訊工具的實時更新。

圖1所示為根據(jù)本發(fā)明實施方式的總體流程圖。其包括:對客戶端本地及客戶端本省的組織架構(gòu)進(jìn)行檢查及對比,檢查之后采用相應(yīng)我的更新方式進(jìn)行更新。

其中的更新方式包括無組織架構(gòu)的更新,根據(jù)用戶點擊的界面組織架構(gòu)面版,從服務(wù)器獲取對應(yīng)一級部門列表并在用戶界面進(jìn)行加載和顯示;部分組織架構(gòu)的更新,獲取用戶交互信息,進(jìn)而獲取用戶唯一標(biāo)識,根據(jù)用戶標(biāo)識下載完整的組織架構(gòu)并在用戶界面進(jìn)行加載和顯示;本地完整組織架構(gòu)的更新,當(dāng)用戶本地數(shù)據(jù)有完整的組織架構(gòu)數(shù)據(jù)時,加載本地組織架構(gòu)數(shù)據(jù)并異步更新組織架構(gòu)下節(jié)點數(shù)據(jù);完整組織架構(gòu)的更新,每隔固定時間從服務(wù)器下載更新數(shù)據(jù),使用獨立線程對組織結(jié)構(gòu)進(jìn)行更新,并在更新時暫停客戶端其他線程。

圖2所示為根據(jù)本發(fā)明實施方式的本地不存在組織架構(gòu)更新時序圖。用戶首次登錄成功后,點擊界面組織架構(gòu)面版,此時界面向底層獲取一級部門列表,底層檢查本地數(shù)據(jù)庫組織架構(gòu)沒有數(shù)據(jù),調(diào)用服務(wù)器接口獲取一級部門列表,服務(wù)器返回后顯示到界面。

用戶展開某個一級部門,流程跟上述一樣,界面向底層獲取該部門的子部門和用戶,底層檢查本地數(shù)據(jù)庫該一級部門沒有子部門和用戶,調(diào)用服務(wù)器接口獲取該部門的子部門和用戶,服務(wù)器返回后顯示到界面。

界面下來獲取部門的子部門和用戶時,底層都將執(zhí)行相同流程,檢查數(shù)據(jù)庫沒有該部門的子部門和用戶時會向服務(wù)器獲,然后返回給界面。

此外每天用戶第一次上線,底層都會啟動獨立線程去更新完整組織架構(gòu),由于有以上機(jī)制保障,更新時間長短不影響用戶正常使用。

圖3所示為根據(jù)本發(fā)明實施方式的本地不存在完整組織架構(gòu)更新時序圖。

為了確保用戶正在下載完整組織架構(gòu)時,可以正常收發(fā)消息,收到消息可以正常顯示對方的帳號和姓名,查看對方資料時可以正常顯示對方個人信息,底層收到新消息時,消息體中帶了發(fā)送者用戶id(唯一標(biāo)識),此時底層向數(shù)據(jù)庫獲取該用戶id的個人信息,數(shù)據(jù)庫查無此用戶id信息,調(diào)用服務(wù)器接口獲取該用戶信息,服務(wù)器返回后底層組織架構(gòu)好信息返回給界面顯示。

通過以上的機(jī)制,客戶端即使不下載完整組織架構(gòu),也可以使用即時通訊基礎(chǔ)功能,但實踐發(fā)現(xiàn)手機(jī)偶爾出現(xiàn)網(wǎng)絡(luò)斷線,如進(jìn)入電梯,為了盡可能保證用戶能正常瀏覽器組織架構(gòu),有度客戶端增加了下載完整組織架構(gòu)機(jī)制。

圖4所示為根據(jù)本發(fā)明實施方式的本地已存在完整組織架構(gòu)更新時序圖。

用戶點擊界面組織架構(gòu)面版,此時界面向底層獲取一級部門列表,底層檢查本地數(shù)據(jù)庫組織架構(gòu)不為空,直接從數(shù)據(jù)庫獲取一級部門列表返回給界面顯示,因此用戶即使在斷網(wǎng)情況下也可以正常瀏覽組織架構(gòu)。

如果在有網(wǎng)情況下,底層將本地數(shù)據(jù)拋回給界面后,還異步向服務(wù)器更新此部門節(jié)點數(shù)據(jù),如果服務(wù)器組織架構(gòu)已更新,底層將最新數(shù)據(jù)再次拋給界面,界面更新最新數(shù)據(jù),如此一來,服務(wù)器任何時候修改組織架構(gòu),在有網(wǎng)的情況下,客戶端都可以馬上更新。

本發(fā)明的技術(shù)方案還包括完整組織架構(gòu)更新機(jī)制。其包括:

組織架構(gòu)數(shù)據(jù)庫操作對象擁有自己的任務(wù)隊列和執(zhí)行線程,所有組織架構(gòu)數(shù)據(jù)庫操均封裝為串行操作,因此其他模塊線程向本對象獲取數(shù)據(jù)時,先將請求放入隊列,并阻塞自己等待執(zhí)行結(jié)果。

組織架構(gòu)數(shù)據(jù)庫操作對象執(zhí)行線程順序執(zhí)行隊列中的任務(wù),對數(shù)據(jù)庫進(jìn)行操作(如:增、刪、改、替換新數(shù)據(jù)庫等),執(zhí)行完成后激發(fā)等待事件,其他模塊線程被喚醒,獲取操作結(jié)果后繼續(xù)執(zhí)行。

服務(wù)器每隔5分鐘生成一個組織架構(gòu)文件,客戶端每天首次上線,底層啟動獨立線程下載更新組織架構(gòu)文件,下載時先將組織架構(gòu)文件保存到臨時目錄,避免影響客戶端現(xiàn)在業(yè)務(wù)響應(yīng)。

最新組織架構(gòu)文件下載完整后,告知組織架構(gòu)數(shù)據(jù)庫操作對象替換最新數(shù)據(jù)庫文件,將新數(shù)據(jù)庫文件路徑封裝進(jìn)任務(wù)的數(shù)據(jù)結(jié)構(gòu),放入組織架構(gòu)數(shù)據(jù)庫操作對象的任務(wù)隊列,組織架構(gòu)數(shù)據(jù)庫操作對象執(zhí)行線程獲取該任務(wù),關(guān)閉老數(shù)據(jù)庫連接,將新數(shù)據(jù)庫文件覆蓋老數(shù)據(jù)庫,重新連接上數(shù)據(jù)庫。

以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護(hù)范圍。在本發(fā)明的保護(hù)范圍內(nèi)其技術(shù)方案和/或?qū)嵤┓绞娇梢杂懈鞣N不同的修改和變化。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1