本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其是涉及一種o2o多通道的通信方法及系統(tǒng)。
背景技術(shù):
o2o即onlinetooffline(在線離線/線上到線下),是指將線下的商務(wù)機(jī)會(huì)與互聯(lián)網(wǎng)結(jié)合,讓互聯(lián)網(wǎng)成為線下交易的平臺,這個(gè)概念最早來源于美國。o2o的概念非常廣泛,既可涉及到線上,又可涉及到線下,可以通稱為o2o。
線上線下之間進(jìn)行通信時(shí),在正常模式下軟件自動(dòng)選擇實(shí)時(shí)通信框架(windowscommunicationfoundation,wcf)雙工進(jìn)行線上線下的點(diǎn)對點(diǎn)同步通信。但如果線下通道不通或發(fā)生異常時(shí),線上無法及時(shí)準(zhǔn)確的定位線下的則無法繼續(xù)通信,線上無法快速找到線下的通道而進(jìn)行快速的通信,這給線上終端和線下終端的用戶帶來極大的不便和損失。另外,對于服務(wù)器資源的占用情況,用戶規(guī)模與資源的分配不合理,會(huì)有資源浪費(fèi)和資源不足這兩種極端的現(xiàn)象。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供o2o多通道的通信方法及系統(tǒng),以優(yōu)化線上線下的通信方式,提高線上線下點(diǎn)對點(diǎn)同步通信的效率,節(jié)約資源。
第一方面,本發(fā)明實(shí)施例提供了一種o2o多通道的通信方法,其中,包括:
接收高速緩存模塊發(fā)送的通道狀態(tài)信息,所述通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息;
判斷所述心跳信息是否為同步通道正常信息;
如果不是所述同步通道正常信息,則從通信框架wcf雙工通信方式切換至套接字socket異步通信方式;
根據(jù)所述當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽;
根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,所述當(dāng)前資源使用信息包括指標(biāo)信息,所述根據(jù)所述當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽包括:
對服務(wù)器的傳輸控制協(xié)議tcp連接數(shù)、中央處理器cpu使用率和內(nèi)存使用率進(jìn)行監(jiān)聽,得到所述指標(biāo)信息;
判斷所述指標(biāo)信息是否達(dá)到第一閾值,其中第一閾值包括tcp連接數(shù)閾值、cpu使用率閾值和內(nèi)存使用率閾值;
如果所述指標(biāo)信息有至少一項(xiàng)達(dá)到匹配的所述第一閾值,則生成提醒信息。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,所述資源監(jiān)聽結(jié)果包括提醒信息,所述根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容包括:
根據(jù)所述提醒信息進(jìn)行所述服務(wù)器擴(kuò)容。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,所述當(dāng)前資源使用信息包括所述wcf雙工通信方式的占用連接數(shù)和所述socket異步通信方式的占用連接數(shù),所述根據(jù)所述當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽還包括:
對所述wcf雙工通信方式的占用連接數(shù)和所述socket異步通信方式的占用連接數(shù)進(jìn)行監(jiān)聽,獲取wcf雙工連接數(shù)和socket異步連接數(shù);
根據(jù)所述wcf雙工連接數(shù)和所述socket異步連接數(shù),得到占用率;
判斷所述占用率是否滿足預(yù)設(shè)條件,其中,所述預(yù)設(shè)條件包括第一預(yù)設(shè)條件和第二預(yù)設(shè)條件;
如果所述占用率滿足所述第一預(yù)設(shè)條件,則選取所述wcf雙工通信方式;
如果所述占用率滿足所述第二預(yù)設(shè)條件,則選取所述socket異步通信方式。
結(jié)合第一方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,其中,所述根據(jù)所述wcf雙工連接數(shù)和所述socket異步連接數(shù),得到占用率包括:
根據(jù)下式計(jì)算所述占用率:
p=(a-b)/(a+b)×100%
其中,所述p為所述占用率,a為所述wcf雙工連接數(shù),b為所述socket異步連接數(shù)。
第二方面,本發(fā)明實(shí)施例還提供一種o2o多通道的通信系統(tǒng),其中,包括:
云端服務(wù)器,用于接收高速緩存模塊發(fā)送的通道狀態(tài)信息,所述通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息,判斷所述心跳信息是否為同步通道正常信息,在不是所述同步通道正常信息的情況下,從wcf雙工通信方式切換至socket異步通信方式;
監(jiān)聽模塊,用于根據(jù)所述當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽;
彈性伸縮服務(wù)ess模塊,用于根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,所述當(dāng)前資源使用信息包括指標(biāo)信息,所述監(jiān)聽模塊還包括:
對服務(wù)器的傳輸控制協(xié)議tcp連接數(shù)、中央處理器cpu使用率和內(nèi)存使用率進(jìn)行監(jiān)聽,得到所述指標(biāo)信息;
判斷所述指標(biāo)信息是否達(dá)到第一閾值,其中第一閾值包括tcp連接數(shù)閾值、cpu使用率閾值和內(nèi)存使用率閾值;
在所述指標(biāo)信息有至少一項(xiàng)達(dá)到匹配的所述第一閾值的情況下,生成提醒信息。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中,所述資源監(jiān)聽結(jié)果包括提醒信息,所述ess模塊包括:
根據(jù)所述提醒信息進(jìn)行所述服務(wù)器擴(kuò)容。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中,所述當(dāng)前資源使用信息包括所述wcf雙工通信方式的占用連接數(shù)和所述socket異步通信方式的占用連接數(shù),所述監(jiān)聽模塊包括:
對所述wcf雙工通信方式的占用連接數(shù)和所述socket異步通信方式的占用連接數(shù)進(jìn)行監(jiān)聽,獲取wcf雙工連接數(shù)和socket異步連接數(shù);
根據(jù)所述wcf雙工連接數(shù)和所述socket異步連接數(shù),得到占用率;
判斷所述占用率是否滿足預(yù)設(shè)條件,其中,所述預(yù)設(shè)條件包括第一預(yù)設(shè)條件和第二預(yù)設(shè)條件;
在所述占用率滿足所述第一預(yù)設(shè)條件的情況下,選取所述wcf雙工通信方式;
在所述占用率滿足所述第二預(yù)設(shè)條件的情況下,選取所述socket異步通信方式。
結(jié)合第二方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第四種可能的實(shí)施方式,其中,所述根據(jù)所述wcf雙工連接數(shù)和所述socket異步連接數(shù),得到占用率包括:
根據(jù)下式計(jì)算所述占用率:
p=(a-b)/(a+b)×100%
其中,所述p為所述占用率,a為所述wcf雙工連接數(shù),b為所述socket異步連接數(shù)。
本發(fā)明提供的o2o多通道的通信方法及系統(tǒng),通過接收高速緩存模塊發(fā)送的通道狀態(tài)信息,通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息,判斷心跳信息是否為同步通道正常信息,在不是同步通道正常信息的情況下,從wcf雙工通信方式切換至socket異步通信方式,根據(jù)當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽,根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。本發(fā)明可以優(yōu)化線上線下的通信方式,提高線上線下點(diǎn)對點(diǎn)同步通信的效率,節(jié)約資源。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例一提供的o2o多通道的通信方法流程圖;
圖2為本發(fā)明實(shí)施例一提供的o2o多通道的通信方法中步驟s140的一種實(shí)現(xiàn)方法流程圖;
圖3為本發(fā)明實(shí)施例一提供的o2o多通道的通信方法中步驟s140的另一種實(shí)現(xiàn)方法流程圖;
圖4為本發(fā)明實(shí)施例二提供的一種o2o多通道的通信系統(tǒng)示意圖;
圖5為本發(fā)明實(shí)施例三提供的另一種o2o多通道的通信系統(tǒng)示意圖。
圖標(biāo):
110-ess模塊;120-云端服務(wù)器;130-監(jiān)聽模塊;210-線上終端;220-負(fù)載均衡模塊;230-通信模塊;240-高速緩存模塊;250-通道選擇模塊;260-線下終端。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前,線上線下之間進(jìn)行通信時(shí),在正常模式下軟件自動(dòng)選擇wcf(windowscommunicationfoundation,通信框架)雙工進(jìn)行線上線下的點(diǎn)對點(diǎn)同步通信。但如果線下通道不通或發(fā)生異常時(shí),線上無法及時(shí)準(zhǔn)確的定位線下的則無法繼續(xù)通信,線上無法快速找到線下的通道而進(jìn)行快速的通信,這給線上終端和線下終端的用戶帶來極大的不便和損失。另外,對于服務(wù)器資源的占用情況,用戶規(guī)模與資源的分配不合理,會(huì)有資源浪費(fèi)和資源不足這兩種極端的現(xiàn)象。
基于此,本發(fā)明實(shí)施例提供的o2o多通道的通信方法及系統(tǒng),以優(yōu)化線上線下的通信方式,提高線上線下點(diǎn)對點(diǎn)同步通信的效率,節(jié)約資源。
為便于對本實(shí)施例進(jìn)行理解,首先對本發(fā)明實(shí)施例所公開的o2o多通道的通信方法進(jìn)行詳細(xì)介紹。
實(shí)施例一:
圖1為本發(fā)明實(shí)施例一提供的o2o多通道的通信方法流程圖。
參照圖1,o2o多通道的通信方法包括如下步驟:
步驟s110,接收高速緩存模塊發(fā)送的通道狀態(tài)信息,通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息;
具體的,在正常模式下軟件自動(dòng)選擇實(shí)時(shí)wcf雙工通信方式進(jìn)行線上線下的點(diǎn)對點(diǎn)同步通信。如果通過心跳信息判斷出線下通道不通或發(fā)生異常,軟件自動(dòng)切換到基于socket異步通信方式。如果服務(wù)器資源占用過高,云端服務(wù)器也會(huì)根據(jù)當(dāng)前資源使用信息自動(dòng)選擇最優(yōu)通信方案通知到線下。
步驟s120,判斷心跳信息是否為同步通道正常信息,如果不是同步通道正常信息,則執(zhí)行步驟s131;如果是同步通道正常信息,則執(zhí)行步驟s132;
步驟s131,從wcf雙工通信方式切換至socket(套接字)異步通信方式;
步驟s132,選取wcf雙工通信方式。
具體的,在通道狀態(tài)信息為心跳信息的情況下,wcf雙工通信方式通道連通性是通過線下客戶端不斷在向云端服務(wù)器發(fā)送心跳的方式來判斷,線下客戶端每隔一段時(shí)間(比如10秒鐘)向服務(wù)器端的wcf雙工通道發(fā)送一次心跳,這樣服務(wù)器端就能實(shí)時(shí)檢測到線下客戶端連接是否正常,在服務(wù)器端接收到線下客戶端的心跳同時(shí)刷新該通道在緩存中的最后心跳時(shí)間,保證高速緩存模塊能夠快速檢測到線下通道是否正常。如果線下通道不通或發(fā)生異常,軟件自動(dòng)切換到基于socket異步通信方式。
另外,socket異步通信方式除了通過socket實(shí)時(shí)長連接通道檢測通道的聯(lián)通性外,防止socket異步通信方式假死的情況,還通過線下客戶端不斷發(fā)送心跳的方式來保證服務(wù)器端能夠及時(shí)檢測到線下通道的情況。在服務(wù)器端接收到線下客戶端的心跳同時(shí)刷新該通道在緩存中的最后心跳時(shí)間,保證高速緩存模塊能夠快速檢測到線下通道是否正常。
以上提到的高速緩存模塊是使用redis分布式緩存來實(shí)現(xiàn)快速存儲(chǔ)和快速尋找線下通信通道,通過客戶端發(fā)送心跳的方式不斷的刷新在緩存中的通道狀態(tài),從而達(dá)到服務(wù)器端能夠及時(shí)的定位線下通道的狀態(tài)。線下終端通過不停發(fā)送心跳的方式,通知服務(wù)器端來保持線下客戶端的回話,服務(wù)器端是多臺服務(wù)器做了負(fù)載,即線上終端,所以通過redis緩存的方式實(shí)現(xiàn)會(huì)話共享。
步驟s140,根據(jù)當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽;
具體的,一方面是在服務(wù)器端開發(fā)服務(wù)器資源監(jiān)聽服務(wù),另一方面是在服務(wù)器端開發(fā)進(jìn)程監(jiān)聽服務(wù)。
步驟s150,根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。
根據(jù)本發(fā)明的示例性實(shí)施例,當(dāng)前資源使用信息包括指標(biāo)信息,參照圖2,o2o多通道的通信方法中步驟s140的實(shí)現(xiàn)方法包括如下步驟:
步驟s210,對服務(wù)器的tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)連接數(shù)、cpu(centralprocessingunit,中央處理器)使用率和內(nèi)存使用率進(jìn)行監(jiān)聽,得到指標(biāo)信息;
步驟s220,判斷指標(biāo)信息是否達(dá)到第一閾值,其中第一閾值包括tcp連接數(shù)閾值、cpu使用率閾值和內(nèi)存使用率閾值;
步驟s230,如果指標(biāo)信息有至少一項(xiàng)達(dá)到匹配的第一閾值,則生成提醒信息。
具體的,在服務(wù)器端開發(fā)的服務(wù)器資源監(jiān)聽服務(wù),主要監(jiān)聽服務(wù)器資源的使用情況,也就是對服務(wù)器的tcp連接數(shù)、cpu使用率和內(nèi)存使用率這三個(gè)指標(biāo)信息進(jìn)行監(jiān)聽,每1分中刷新一次監(jiān)聽數(shù)據(jù),當(dāng)三個(gè)指標(biāo)信息中的一個(gè)或者多個(gè)指標(biāo)數(shù)據(jù)達(dá)到設(shè)定的第一閾值時(shí),生成提醒信息并以短信通知的方式發(fā)送給責(zé)任人,并做服務(wù)器的擴(kuò)容;這里,與三個(gè)指標(biāo)信息相對應(yīng)的,第一閾值分別是tcp連接數(shù)5000、cpu使用率80%和內(nèi)存使用率90%。
根據(jù)本發(fā)明的示例性實(shí)施例,根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容包括:
根據(jù)提醒信息進(jìn)行服務(wù)器擴(kuò)容。
具體的,在服務(wù)器端為每個(gè)商戶都開辟可伸縮的服務(wù)器資源??缮炜s的服務(wù)器資源指根據(jù)各商戶的用戶規(guī)模和業(yè)務(wù)規(guī)模分配不同的服務(wù)器資源,比如a商戶屬于大型商戶,擁有千萬級的用戶,會(huì)為a商戶分配自己特定的服務(wù)器資源,避免其它小商戶占用a商戶的服務(wù)器資源而導(dǎo)致a商戶服務(wù)器資源不足等。對于一些小型商戶(擁有萬級一下的商戶)全部分配統(tǒng)一的服務(wù)器資源,避免資源過度浪費(fèi)。
根據(jù)本發(fā)明的示例性實(shí)施例,當(dāng)前資源使用信息包括wcf雙工通信方式的占用連接數(shù)和socket異步通信方式的占用連接數(shù),參照圖3,o2o多通道的通信方法中步驟s140的實(shí)現(xiàn)方法還可以包括如下步驟:
步驟s310,對wcf雙工通信方式的占用連接數(shù)和socket異步通信方式的占用連接數(shù)進(jìn)行監(jiān)聽,獲取wcf雙工連接數(shù)和socket異步連接數(shù);
步驟s320,根據(jù)wcf雙工連接數(shù)和socket異步連接數(shù),得到占用率;
步驟s330,判斷占用率是否滿足預(yù)設(shè)條件,其中,預(yù)設(shè)條件包括第一預(yù)設(shè)條件和第二預(yù)設(shè)條件;如果占用率滿足第一預(yù)設(shè)條件,則執(zhí)行步驟s341;如果占用率滿足第二預(yù)設(shè)條件,則執(zhí)行步驟s342;
步驟s341,選取wcf雙工通信方式;
步驟s342,選取socket異步通信方式。
具體的,在服務(wù)器端開發(fā)的進(jìn)程監(jiān)聽服務(wù),主要是監(jiān)聽wcf雙工通信方式和socket異步通信方式的進(jìn)程占用的連接數(shù),用下式來表示占用率:
p=(a-b)/(a+b)×100%
其中,p表示占用率,a表示wcf雙工連接數(shù),b表示socket異步連接數(shù),當(dāng)滿足第一預(yù)設(shè)條件p<-10%時(shí),表示wcf雙工通信方式比較空閑,這時(shí)優(yōu)先現(xiàn)在wcf雙工通信方式;當(dāng)滿足第二預(yù)設(shè)條件p>10%時(shí),表示socket比較空閑,則優(yōu)先選擇socket異步通信方式。
本發(fā)明提供的o2o多通道的通信方法,通過接收高速緩存模塊發(fā)送的通道狀態(tài)信息,通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息,判斷心跳信息是否為同步通道正常信息,在不是同步通道正常信息的情況下,從wcf雙工通信方式切換至socket異步通信方式,根據(jù)當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽,根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。本發(fā)明可以優(yōu)化線上線下的通信方式,提高線上線下點(diǎn)對點(diǎn)同步通信的效率,節(jié)約資源。
實(shí)施例二:
圖4為本發(fā)明實(shí)施例二提供的o2o多通道的通信系統(tǒng)示意圖。
參照圖4,o2o多通道的通信系統(tǒng)包括云端服務(wù)器120、監(jiān)聽模塊130和彈性伸縮服務(wù)ess模塊110;
云端服務(wù)器120,用于接收高速緩存模塊240發(fā)送的通道狀態(tài)信息,通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息,判斷心跳信息是否為同步通道正常信息,在不是同步通道正常信息的情況下,從wcf雙工通信方式切換至socket異步通信方式;
監(jiān)聽模塊130,用于根據(jù)當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽;
ess模塊110,用于根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。
根據(jù)本發(fā)明的示例性實(shí)施例,當(dāng)前資源使用信息包括指標(biāo)信息,監(jiān)聽模塊130還包括:
對服務(wù)器的tcp連接數(shù)、cpu使用率和內(nèi)存使用率進(jìn)行監(jiān)聽,得到指標(biāo)信息;
判斷指標(biāo)信息是否達(dá)到第一閾值,其中第一閾值包括tcp連接數(shù)閾值、cpu使用率閾值和內(nèi)存使用率閾值;
在指標(biāo)信息有至少一項(xiàng)達(dá)到匹配的第一閾值的情況下,生成提醒信息。
根據(jù)本發(fā)明的示例性實(shí)施例,資源監(jiān)聽結(jié)果包括提醒信息,ess模塊110包括:
根據(jù)提醒信息進(jìn)行服務(wù)器擴(kuò)容。
根據(jù)本發(fā)明的示例性實(shí)施例,當(dāng)前資源使用信息包括wcf雙工通信方式的占用連接數(shù)和socket異步通信方式的占用連接數(shù),監(jiān)聽模塊130包括:
對wcf雙工通信方式的占用連接數(shù)和socket異步通信方式的占用連接數(shù)進(jìn)行監(jiān)聽,獲取wcf雙工連接數(shù)和socket異步連接數(shù);
根據(jù)wcf雙工連接數(shù)和socket異步連接數(shù),得到占用率;
判斷占用率是否滿足預(yù)設(shè)條件,其中,預(yù)設(shè)條件包括第一預(yù)設(shè)條件和第二預(yù)設(shè)條件;
在占用率滿足第一預(yù)設(shè)條件的情況下,選取wcf雙工通信方式;
在占用率滿足第二預(yù)設(shè)條件的情況下,選取socket異步通信方式。
根據(jù)本發(fā)明的示例性實(shí)施例,根據(jù)wcf雙工連接數(shù)和socket異步連接數(shù),得到占用率包括:
根據(jù)下式計(jì)算占用率:
p=(a-b)/(a+b)×100%
其中,p為占用率,a為wcf雙工連接數(shù),b為socket異步連接數(shù)。
實(shí)施例三:
圖5為本發(fā)明實(shí)施例三提供的o2o多通道的通信系統(tǒng)示意圖。
參照圖5,在該o2o多通道的通信系統(tǒng)中,一方面是從線下終端260到線上終端210進(jìn)行心跳通信,另一方面是從線上終端210到線下終端260進(jìn)行業(yè)務(wù)通信。心跳通信占用的資源開銷較小,主要資源開銷是在業(yè)務(wù)通信的過程中。線上終端210通過負(fù)載均衡模塊220將業(yè)務(wù)通信信息分?jǐn)偨o通信模塊230中的wcf雙工通信方式和socket異步通信方式,wcf雙工通信方式和socket異步通信方式將業(yè)務(wù)通信信息發(fā)送給高速緩存模塊240,高速緩存模塊240根據(jù)通道的狀態(tài),選擇wcf雙工通信方式或socket異步通信方式,并通過通道選擇模塊250選取匹配的通道將業(yè)務(wù)通信信息發(fā)送給線下終端260。
另外,負(fù)載均衡模塊220還具有解決高并發(fā)訪問服務(wù)器資源瓶頸的問題、可擴(kuò)展的服務(wù)器架構(gòu)、對網(wǎng)絡(luò)流量統(tǒng)一控制和監(jiān)控、合理分擔(dān)系統(tǒng)負(fù)載、提高系統(tǒng)可靠性以及支持網(wǎng)站內(nèi)容的虛擬化等作用。
本發(fā)明提供的o2o多通道的通信系統(tǒng),通過接收高速緩存模塊240發(fā)送的通道狀態(tài)信息,通道狀態(tài)信息包括心跳信息和當(dāng)前資源使用信息,判斷心跳信息是否為同步通道正常信息,在不是同步通道正常信息的情況下,從wcf雙工通信方式切換至socket異步通信方式,根據(jù)當(dāng)前資源使用信息進(jìn)行進(jìn)程監(jiān)聽和資源監(jiān)聽,根據(jù)資源監(jiān)聽結(jié)果進(jìn)行服務(wù)器擴(kuò)容。本發(fā)明可以優(yōu)化線上線下的通信方式,提高線上線下點(diǎn)對點(diǎn)同步通信的效率,節(jié)約資源。
本發(fā)明實(shí)施例所提供的o2o多通道的通信方法及系統(tǒng)的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)和裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
另外,在本發(fā)明實(shí)施例的描述中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
在本發(fā)明的描述中,需要說明的是,術(shù)語“中心”、“上”、“下”、“左”、“右”、“豎直”、“水平”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對重要性。
最后應(yīng)說明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。