假如讓我來設計一套會議系統

2021-08-29 03:58:51 字數 3890 閱讀 5158

回想上一次我們參加開會時在什麼時候,是跟誰在什麼地方開會..很可能,當時使用的投影裝置就是一台普通的投影儀外加一台用於演示資料的筆記本吧..像釘釘、視瑧等公司近幾年圍繞企業內部建設為主題而提供的產品和服務,從態勢上看,越來越呈規模效應型發展。

回想上一次我們參加開會時在什麼時候,是跟誰在什麼地方開會..很可能,當時使用的投影裝置就是一台普通的投影儀外加一台用於演示資料的筆記本吧..

像在日常工作中的方案演示、咖啡廳裡的交流會、異地會議討論等等,凡是涉及到交流溝通的場景,就很可能需要投影器材來作為演示工具來提公升溝通效率。由於現有的會議場景解決方案太過於低端(就像開文描述的場景一樣),直接導致會議質量遠遠跟不上組織對高效率協作的要求。

我們期待的會議系統應該是這樣的:

1、能夠有效地將會議室的使用時間管理起來,提高會議室的利用率

3、能夠便捷地調控會議室環境,做到裝置智動化

4、能夠作為演示資料的同時,也能夠作為繪製表達的工具

5、能夠協助會議過程中的討論,比如語音檢索相關知識

6、能夠及時保留會議記錄、頭腦風暴的結果,並且能夠及時地將知識分享出去

7、能夠記錄會議過程,會後再次重現會議過程

8、會議機能夠做到可移動,做到隨時隨地即想即用

使用者場景

1、產品經理小張正準備向老闆匯報上季度的**的運營情況分析報告

2、理財培訓師小鄭在咖啡廳跟粉絲們做線下的培訓互動

針對這種需求,我試著構建出這套會議系統(代號:星雲),如下:

系統架構

軟硬結合的系統互動

在軟體功能逐漸替代硬體設計的當下,為什麼要在會議機右邊顯示4顆實體按鈕呢?就像現在很多電視機一樣,即使軟體做得多完善還是會保留一些基礎的實體按鈕為使用者在特殊的場景下使用,像遙感裝置突然沒電,軟體卡頓的情況下,通過硬體上的功能控制,依然可以還原軟體系統狀態,同時,對硬體的互動在某種程度上可增強使用者對機器的信任和好感。

會議機右測的4顆實體按鈕分別為:主頁,選單,向上和向下。結合語音互動(星星助手),可極速地檢索到內部相應的應用和外部廣闊的知識。

功能架構

星雲會議機嵌入式系統就像手機安卓系統一樣,可採用android7.0+版本來作為系統定製開發,通過重新定製bootloader和相關驅動的開發來實現星雲會議機系統的定製。執行在系統上的各類應用軟體可根據需求在硬體效能允許的範圍內進行功能擴充套件。

功能架構

1、會議預約:對預約會議過程中涉及到的基礎資料,比如:會議室、組織架構、時間模板等資料進行擴充套件
2、裝置管理:根據不同的場景,比如商務會議場景和評審會議場景,聯動相應的裝置和設定合適的環境引數來快速地切換相應的場景環境
4、文件資料:雲平台可作為組織內部的知識庫,在一些培訓會議後沉澱下來的資料,通過共享維護可不斷地擴充套件組織的知識面

功能架構

3、我的:顯示我的個性介紹以及參加會議的統計資訊,以及擴充套件的其他應用,比如:檢視郵件、會議錄影等功能入口
以上,是根據自己近期這段時間的構想而初步構建的會議系統模型。會議系統作為企業內部重要的作業系統,承接工作中的溝通和交流,是提公升企業內部組織效率的關鍵系統。以會議系統為中心可聯動企業內部的裝置做到物聯網化,後期再結合大資料、人工智慧技術可為企業辦公提供更高質量的服務。像釘釘、視瑧等公司近幾年圍繞企業內部建設為主題而提供的產品和服務,從態勢上看,越來越呈規模效應型發展。

技術實現

了解其實現背景後大家可以主要看一下——功能架構,這一塊與我們所實現的比較貼切。

針對於這一塊的功能:

預約:預約記錄可以在我們的資料庫中直接進行查詢,也可在我們所部署的redis中進行查詢(現在使用redis的較多),因類屬於內部辦公使用所涉及到的資料量可能並不是很大那麼這一塊我們就可以直接進行模糊查詢。當然在做查詢的時候一般可能主要查某個人使用或某個時間段的乙個使用情況,那麼我們在進行資料庫設計的時候可以對其加上索引。後期我們準備將這個平台做大供多家公司使用,查詢量可能較大如果僅僅使用索引的話可能查詢速度較慢,那麼這裡我們就可以介入專門的檢索工具了,一般我們所主要常用的有lucene和solr。那麼究竟使用哪一種呢?我們是否需要對其特性進行比較呢?那麼,我們繼續思考。我們這塊軟體的確不錯使用者量激增,檢索效率進一步下滑我們應該怎麼辦呢?是否可以搭建檢索集群,那麼,這個集群如何搭建呢?如果涉及到對資料庫中的資料同步我們又應該如何同步呢?如何對所需要的資料進行分詞呢?……

會議預約/空閒會議室:這兩個功能點這裡作為乙個點進行分析。因為所涉及到的點並不是很多,我們完全可以定義常量。會議室被預定前是乙個狀態假如是a,會議室預定後是乙個狀態b。能夠區別開即可。在預定後將會議室名稱、時間段、預訂人、事由等作為乙個集合/陣列/字串等傳遞給前端工作人員進行處理即可。

會議紀要:語音轉文字、影象分析以及匯出等功能的實現;

錄影分享/傳送郵件:這部分可以根據許可權或者根據預設許可權進行處理。許可權在這塊可以體現在表結構的設計,另一方面可以使用shiro等許可權安全框架進行實現。關於shiro的配置以及許可權的設定和在實現過程中所遇問題的解決等就需要大家多看一些了。比如:許可權衝突等問題如何處理;傳送郵件則可以加乙個定時器在會議結束後多長時間後進行預設傳送。

而下面的這個功能架構看起來是對上面功能架構的乙個詳細說明,我們主要看一下上面所沒有提到的。

組織架構:這塊可能就要根據公司的不同進行諸如**聯動等功能的實現了;

使用者管理:多個平台可能會涉及到平台間資料的同步包括文件資料這塊也會涉及到這方面的處理。那麼,我們應如何對這部分資料進行同步呢,先下所使用較多的有rabbitmq、activemq等大家不妨根據自己的需求進行對比實現。這裡還有乙個問題同一使用者可以進行多個平台登入嗎?實現並不難但是涉及到業務方面的東西還是有必要細化考慮的。

最後的功能架構基本就比較詳細了,這裡就不多說了。

某些功能的實現或許比較困難但是大多數的功能還是相對簡單的,業務思路清晰了對於功能的實現也就比較快了。

針對於這一點,下篇部落格我會將乙個完整的開發流程大致和大家分享一下。

我的一套雲OA設計方案

需求如下 2 企業級平台。web應用程式,管理平台 企業資料中心 接收桌面程式傳送的資料 其他。3 公共雲平台。web應用程式,雲平台 雲資料中心 接收桌面程式傳送的資料 其他。以上三個程式之間應具有標準資料介面 可通訊互動等。根據資料,我認為這偏向於雲oa系統 1 桌面程式 擁有獨立執行功能和與雲...

我推薦我們要有一套命名規範

流行的命名規範有 我推薦用駱駝命名法 駱駝命名法是一種書寫比較優美的 命名方式,其形式為 myage 當使用多個有意義的單詞連寫命名乙個變數的時候,第乙個單詞的首寫字母小寫,以後每個單詞的首字母大寫 中變數使用 myage 形式,而對函式,則使用 getage 形式,即每個單詞的首字母均大寫 這種方...

如何設計一套第三方框架

如果讓我自己設計一套第三方框架,我會怎樣設計?我會考慮哪些東西?0 框架的名字 最好在名字中表達框架的功能 需要準備乙個主標頭檔案,主標頭檔案跟框架名字一致。需要在主標頭檔案中包含其他依賴的標頭檔案。其他開發者只需要包含主標頭檔案,就可以使用這個第三方框架。1 簡單易用 能夠快速入手 盡快的把這個框...