本發明屬于即時通信領域,涉及不同即時通信系統的互聯互通,尤其是在確保通信各方網絡安全的條件下進行互聯互通。
背景技術:
即時通信(Instant Messaging,縮寫為IM)是一種非常普遍和受歡迎的網絡應用,用戶能夠通過手機、平板電腦和計算機進行即時消息的發送與接收,傳送文字、圖片、聲音和視頻等信息。企業級即時通信系統通常部署于一個企業或組織內,并與企業級應用緊密結合起來。典型的企業級即時通信系統有騰訊通RTX、微軟的LYNC、信鴿和飛鴿等,以及一些基于云的解決方案。
目前,現有的企業級即時通信系統已滿足了企業大部分的應用需求,成為企業信息化的重要推手之一。但同時,隨著信息化的發展,企業間合作與交流的增多,現有企業級即時通信系統也暴露出了不少的局限性,主要存在的問題有如下兩個:
(1)不能互聯互通。利用現有的企業級即時通信系統所建立的即時通信網絡,往往僅在一個企業或組織的內部使用,不同企業或組織所建的即時通信網絡無法進行互聯,即使他們用的是相同的企業即時通信系統比如RTX。隨著企業或組織間合作的增多,尤其是一個產業鏈上的企業,合作與交流非常頻繁,現有的企業級即時通信系統已成為一個交流瓶頸。
(2)沒有安全保障。現在的企業或組織沒有合適的即時通信系統去構建企業級即時通信網絡,往往會借助于微信等公眾即時通信平臺,這顯然會帶來企業或組織秘密資料泄露的風險。而且,由于現有的企業級即時通信系統往往應用于一個企業或組織的內部,因而基本沒有什么安全保障措施,存在很大的泄密風險。
因此,網絡信息化、經濟全球化的迅猛發展,對企業級即時通信系統提出了更高的要求,既要支持企業或組織搭建自己私有的、安全的即時通信網絡,又要支持這些即時通信網絡能夠在安全的條件下互聯互通。
技術實現要素:
本發明的目的,是為企業或組織提供一種建立安全互聯的企業級即時通信網絡的裝置和方法。首先,各個企業或組織能夠建立起自己獨立運行的即時通信網絡,擁有自己私有的服務器,所有的數據都在自己的控制之中;其次,根據企業或組織的需要,能夠在保證網絡安全的前提下,與其他企業或組織的即時通信網絡進行互聯互通。
本發明的一種支持跨系統通信的企業級即時通信系統,由服務器和客戶端兩部分組成。其中,一套企業級即時通信系統的服務器包括一臺主服務器和多臺從服務器,從服務器部署的數量取決于客戶端的數量,用于為客戶端提供安全的即時通信服務;客戶端被安裝在用戶的終端主機上,為用戶提供即時通信操作界面,接入并使用所述服務器提供的安全的即時通信服務。客戶端的數量與一個企業或組織的用戶數量相關。
主服務器由互聯模塊、安全模塊、即時通信模塊和數據庫模塊組成,還用于代表所在即時通信系統與其他即時通信系統的主服務器建立網絡連接。從服務器由安全模塊、即時通信模塊和數據庫模塊組成,這三個模塊的功能與主服務器相應模塊的功能完全相同,且數據庫模塊的內容與主服務器數據庫模塊的內容同步。除了互聯模塊,主從服務器完全相同。
客戶端除了接入即時通信的模塊,還包含安全模塊和應用模塊,其中,安全模塊能提供針對即時通信消息和文件的安全傳輸和存儲,基于用戶標識、即時通信賬號或數字證書的身份鑒別;應用模塊能提供對簽到考勤、辦公自動化或研發生產銷售這些企業級應用的支撐。
主服務器的互聯模塊能根據其他即時通信系統主服務器的網絡地址,在安全策略的控制下,與其他即時通信系統主服務器的互聯模塊建立網絡連接,從而實現不同即時通信系統的互聯互通。
主服務器的安全模塊能為互聯模塊提供基于安全策略的訪問控制,以及基于即時通信系統標識或用戶標識的身份鑒別;主服務器和從服務器的安全模塊能為即時通信模塊提供針對消息及文件的安全傳輸,為數據庫模塊提供針對消息和文件的安全存儲,為即時通信模塊提供基于即時通信系統標識或用戶標識的身份鑒別。
本發明的一種用于兩個或兩個以上企業級即時通信系統中用戶的跨系統即時通信方法,分為如下步驟:
S1:發起用戶創建一個點對點或組群即時通信,添加目標用戶;
S2:發起用戶所在即時通信系統的主服務器(源服務器)根據目標用戶所在即時通信系統的主服務器(目標服務器)的網絡地址,檢查自身安全策略,確定能否與目標服務器進行網絡連接;
S3:如果允許進行網絡連接,那么源服務器將向目標服務器請求連接;如果不允許連接,則不發起連接,并向發起用戶返回提示信息;
S4:目標服務器收到連接請求后,會檢查自身安全策略,確定能否與源服務器進行網絡連接;
S5:如果允許進行網絡連接,那么目標服務器將向源服務器發出同意連接的應答;如果不允許連接,則拒絕連接,并向源服務器返回提示信息;
S6:如果同意進行網絡連接,那么源服務器就與目標服務器建立網絡連接,同時在源、目標服務器上的連接狀態表中創建該即時通信組群的標識;
S7:重復S2至S6步驟,直至源服務器與即時通信組群中所有用戶所在即時通信系統的主服務器建立網絡連接;
S8:用戶間進行即時通信;
S9:即時通信完成后,發起方用戶申請刪除該即時通信組群的標識。
進一步地,在步驟S8用戶間進行即時通信時,發出即時通信消息的主服務器會根據連接狀態表中的即時通信組群標識對消息進行訪問控制,只有連接狀態表中的即時通信組群的消息才會被發出。
進一步地,對于步驟S9中發起方用戶申請刪除該即時通信組群的標識,又可細分為如下三步:
S901:發起方用戶向所在即時通信系統的主服務器,申請刪除該即時通信組群的標識;
S902:主服務器通知該組群其他用戶所在即時通信系統的主服務器,刪除在連接狀態表中的該即時通信組群的標識;
S903:各個主服務器刪除在連接狀態表中的該即時通信組群的標識。
在上述企業級即時通信系統和跨系統即時通信方法中,所述的安全策略支持配置基于即時通信系統標識、主服務器網絡地址、用戶標識、用戶即時通信賬號或通信時長的訪問控制規則,然后,主服務器的安全模塊能夠根據此安全策略進行訪問控制。
本發明的有益效果是:支持不同組織或企業建立自己獨立的企業級即時通信網絡,同時,在安全策略的控制下又能夠相互間進行連接,用戶能夠進行跨系統的、安全的即時通信。
附圖說明
圖1為本發明的企業級即時通信系統的結構框圖。
圖2為本發明的企業級即時通信系統的部署示意圖。
圖3為本發明的跨系統即時通信方法的流程圖。
具體實施方式
下面結合附圖和具體實施方式對本發明作進一步詳細的說明。
圖1為本發明的企業級即時通信系統的結構框圖。該系統由服務器和客戶端兩部分組成。其中,一套企業級即時通信系統的服務器包括一臺主服務器和多臺從服務器,從服務器部署的數量取決于客戶端的數量,用于為客戶端提供安全的即時通信服務;客戶端安裝在用戶的終端主機(支持手機、平板電腦等移動智能終端,也支持筆記本電腦和桌面終端主機)上,為用戶提供即時通信操作界面,接入并使用所述服務器提供的安全的即時通信服務。客戶端的數量與一個企業或組織的用戶數量相關,通常,每位員工會配置一個客戶端。
主服務器由互聯模塊、安全模塊、即時通信模塊和數據庫模塊組成,除了提供即時通信服務及相關增值服務之外,與從服務器最大的區別是它還用于代表所在即時通信系統與其他即時通信系統的主服務器建立網絡連接。從服務器由安全模塊、即時通信模塊和數據庫模塊組成,這三個模塊的功能與主服務器相應模塊的功能完全相同,且數據庫模塊的內容與主服務器數據庫模塊的內容同步。除了互聯模塊,主從服務器完全相同。
客戶端除了接入即時通信的模塊,還包含安全模塊和應用模塊,其中,安全模塊能提供針對即時通信消息和文件的安全傳輸和存儲,基于用戶標識、即時通信賬號或數字證書的身份鑒別;應用模塊能提供對簽到考勤、辦公自動化或研發生產銷售等這些企業級應用的支撐。
主服務器的互聯模塊能根據其他即時通信系統主服務器的網絡地址,在安全策略的控制下,與其他即時通信系統主服務器的互聯模塊建立網絡連接,從而實現不同即時通信系統的互聯互通。
主服務器的安全模塊能為互聯模塊提供基于安全策略的訪問控制,以及基于即時通信系統標識或用戶標識的身份鑒別;主服務器和從服務器的安全模塊能為即時通信模塊提供針對消息及文件的安全傳輸,為數據庫模塊提供針對消息和文件的安全存儲,為即時通信模塊提供基于即時通信系統標識或用戶標識的身份鑒別。
在上一段中提到的安全策略,支持配置基于即時通信系統標識、主服務器網絡地址、用戶標識、用戶即時通信賬號或通信時長的訪問控制規則,主服務器的安全模塊能夠根據此安全策略進行訪問控制。這里,基于即時通信系統標識、主服務器網絡地址的規則,是針對即時通信系統這一級的訪問控制,基于用戶標識、用戶即時通信賬號的規則,是針對用戶這一級的訪問控制,而基于通信時長的規則,則是針對即時通信組群這一級的訪問控制。
圖2為本發明的企業級即時通信系統的部署示意圖。通過該示意圖對本發明的企業級即時通信系統的組成、功能及系統間相互連接關系作進一步詳細說明。這里,有三個企業各部署了一個即時通信系統,命名為即時通信系統A、即時通信系統B、即時通信系統C;每個即時通信系統有2個客戶端,分別是即時通信系統A有客戶端1和客戶端2,即時通信系統B有客戶端3和客戶端4,即時通信系統C有客戶端5和客戶端6。
這里,每個企業級即時通信系統都是獨立運行的,互不相干。即時通信系統A正常運行,客戶端1和客戶端2之間正常即時通信;即時通信系統B正常運行,客戶端3和客戶端4之間正常即時通信;即時通信系統C正常運行,客戶端5和客戶端6之間正常即時通信。任何一個即時通信系統的關閉不會影響到其他即時通信系統,例如,關閉即時通信系統A不會影響到即時通信系統B和C的運行。
用戶間能夠進行跨系統的即時通信,即不同即時通信系統中的用戶,能夠在安全策略的控制下進行即時通信。例如,客戶端1能夠與客戶端3和6通信,客戶端4能夠與客戶端5通信。
即時通信的主服務器又能夠控制跨系統的即時通信,包括對即時通信系統的控制、對用戶的控制以及對通信時長的控制。例如,即時通信系統B不允許與即時通信系統A通信,這樣即時通信系統A的客戶端1和2將不能添加即時通信系統B的客戶端3和4進行即時通信。還比如,即時通信系統C禁止客戶端6跨系統通信,那么即時通信系統A和即時通信系統B的所有客戶端都無法添加客戶端6進行通信。再比如,客戶端1建立了一個與客戶端3、5、6的通信組群,時長為3個月,那么從建群開始,當時間滿3個月時,即時通信系統A將通知即時通信系統B和C,一塊刪除該即時通信組群的標識,撤銷該群。
圖3為本發明的跨系統即時通信方法的流程圖。下面,將對每一步進行細化說明。該方法用于兩個或兩個以上企業級即時通信系統中用戶的跨系統即時通信,具體步驟如下:
S1:發起用戶創建一個點對點或組群即時通信,添加目標用戶;
這里,發起用戶添加目標用戶,是根據目標用戶的即時通信賬號。
S2:發起用戶所在即時通信系統的主服務器(源服務器)根據目標用戶所在即時通信系統的主服務器(目標服務器)的網絡地址,檢查自身安全策略,確定能否與目標服務器進行網絡連接;
這里,源服務器需根據安全策略,決定是否發起網絡連接;安全策略既可以控制在即時通信系統這一層次,也可以控制在具體用戶這一層次;如發起網絡連接,則需要目標服務器的網絡地址。
S3:如果允許進行網絡連接,那么源服務器將向目標服務器請求連接;如果不允許連接,則不發起連接,并向發起用戶返回提示信息;
這里,如果安全策略允許,源服務器將向目標服務器發出通信連接請求;如果安全策略不允許,源服務器向發起用戶返回提示信息。
S4:目標服務器收到連接請求后,會檢查自身安全策略,確定能否與源服務器進行網絡連接;
這里,目標服務器同樣具有允許或拒絕連接的權利,它根據自身的安全策略,決定是否與源服務器建立網絡連接;安全策略同樣既可以控制在即時通信系統這一層次,也可以控制在具體用戶這一層次。
S5:如果允許進行網絡連接,那么目標服務器將向源服務器發出同意連接的應答;如果不允許連接,則拒絕連接,并向源服務器返回提示信息;
這里,目標服務器將根據安全策略決定是否與源服務器建立網絡連接,并向源服務器返回提示信息。
S6:如果同意進行網絡連接,那么源服務器就與目標服務器建立網絡連接,同時在源、目標服務器上的連接狀態表中創建該即時通信組群的標識;
這里,源、目標服務器建立網絡連接后,源服務器會創建一個即時通信組群標識,然后通知目標服務器創建一個相同的即時通信組群標識。
S7:重復S2至S6步驟,直至源服務器與即時通信組群中所有用戶所在即時通信系統的主服務器建立網絡連接;
這里,發起用戶的主服務器,會與即時通信群中的所有其他用戶的主服務器建立網絡連接,發起用戶的主服務器會成為組群通信的中心服務器。
S8:用戶間進行即時通信;
這里,用戶間進行群聊。
S9:即時通信完成后,發起方用戶申請刪除該即時通信組群的標識;
這里,指的是當一個即時通信組群需要解散時,發起方用戶應負責申請撤銷該組群。
在上述S2和S4中提到的安全策略,支持配置基于即時通信系統標識、主服務器網絡地址、用戶標識、用戶即時通信賬號或通信時長的訪問控制規則,主服務器的安全模塊能夠根據此安全策略進行訪問控制。這里,基于即時通信系統標識、主服務器網絡地址的規則,是針對即時通信系統這一級的訪問控制,基于用戶標識、用戶即時通信賬號的規則,是針對用戶這一級的訪問控制,而基于通信時長的規則,則是針對即時通信組群這一級的訪問控制。
進一步地,在步驟S8用戶間進行即時通信時,發出即時通信消息的主服務器會根據連接狀態表中的即時通信組群標識對消息進行訪問控制,只有連接狀態表中的即時通信組群的消息才會被發出。這里,基于連接狀態表的訪問控制,能夠抵御惡意的借助即時通信通道的發包行為,提高企業級即時通信網絡的安全性。
進一步地,對于步驟S9中發起方用戶申請刪除該即時通信組群的標識,又可細分為如下三步:
S901:發起方用戶向所在即時通信系統的主服務器,申請刪除該即時通信組群的標識;
S902:主服務器通知該組群其他用戶所在即時通信系統的主服務器,刪除在連接狀態表中的該即時通信組群的標識;
S903:各個主服務器刪除在連接狀態表中的該即時通信組群的標識。
當企業間的合作與交流告一段落,相應的即時通信組群應該刪除,以保證企業級即時通信網絡的安全性。