服務(wù)器節(jié)點的分配方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,具體地,涉及一種服務(wù)器節(jié)點的分配方法及裝置。
【背景技術(shù)】
[0002]基于互聯(lián)網(wǎng)的即時通信具有經(jīng)濟便捷、體驗豐富的優(yōu)勢,所以漸漸取代了各類的傳統(tǒng)通信,成為生活中最常用的通信方式。本質(zhì)上,即時通信是客戶端之間,借助服務(wù)器交互傳輸即時消息,實現(xiàn)通信的過程。隨著現(xiàn)階段客戶端用戶數(shù)量的大幅度增加,通信數(shù)據(jù)量發(fā)生爆炸式的增長,對服務(wù)器的性能也在不斷提出新的挑戰(zhàn)??梢哉f服務(wù)器的響應(yīng)能力,對即時通信的用戶體驗有直接的影響。
[0003]目前的即時通信方案中,如果大量的客戶端通過互聯(lián)網(wǎng)連接到特定的服務(wù)器上,會造成服務(wù)器高強度的負荷,使得性能資源緊張。導(dǎo)致服務(wù)器的性能和響應(yīng)速度顯著的下降,即時通信的效率低下,給用戶體驗帶來了十分不利的影響。而現(xiàn)有的針對服務(wù)器的優(yōu)化設(shè)計,往往效果也并不理想,沒有將服務(wù)器有限的性能資源高效的整合利用,有待進一步的改良。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種服務(wù)器節(jié)點的分配方法及裝置,通過對服務(wù)器系統(tǒng)中的服務(wù)器節(jié)點進行均衡的分配使用,使得服務(wù)器系統(tǒng)整體的響應(yīng)速度顯著提高,性能資源的利用更加高效。
[0005]本發(fā)明實施例提供了一種服務(wù)器節(jié)點的分配方法,服務(wù)器系統(tǒng)中包括多個服務(wù)器節(jié)點;所述方法包括:
[0006]接口集合接收客戶端提交的連接請求,調(diào)取節(jié)點列表;所述節(jié)點列表中記錄有當前在線的服務(wù)器節(jié)點的身份標識;
[0007]利用預(yù)設(shè)的篩選規(guī)則,對所述節(jié)點列表中的服務(wù)器節(jié)點進行篩選,選定待分配的服務(wù)器節(jié)點;
[0008]將所述待分配的服務(wù)器節(jié)點的身份標識反饋至所述客戶端,以使所述客戶端連接到所述待分配的服務(wù)器節(jié)點。
[0009]可選地,第一客戶端連接第一服務(wù)器節(jié)點,第二客戶端連接第二服務(wù)器節(jié)點,所述方法還包括:
[0010]當?shù)谝豢蛻舳讼蛩龅谝环?wù)器節(jié)點提交針對第二客戶端的即時通信消息,則所述第一服務(wù)器節(jié)點將所述即時通信消息轉(zhuǎn)發(fā)至中轉(zhuǎn)模塊;
[0011 ]所述中轉(zhuǎn)模塊通過所述即時通信消息,查詢得到所述第二客戶端所連接的第二服務(wù)器節(jié)點的身份標識;
[0012]所述中轉(zhuǎn)模塊根據(jù)第二服務(wù)器節(jié)點的身份標識,將所述即時通信消息發(fā)送至所述第二服務(wù)器節(jié)點,以使所述第二服務(wù)器節(jié)點將所述即時通信消息推送至所述第二客戶端。
[0013]可選地,所述接口集合調(diào)取節(jié)點列表,包括:
[0014]接口集合按照預(yù)設(shè)周期調(diào)用監(jiān)聽模塊,以使所述監(jiān)聽模塊對所述服務(wù)器系統(tǒng)中服務(wù)器節(jié)點的當前狀態(tài)進行監(jiān)聽,并將當前狀態(tài)為在線的服務(wù)器節(jié)點記錄到所述節(jié)點列表;
[0015]或者,
[0016]接口集合在接收到連接請求之后調(diào)用監(jiān)聽模塊,以使所述監(jiān)聽模塊對所述服務(wù)器系統(tǒng)中服務(wù)器節(jié)點的當前狀態(tài)進行監(jiān)聽,并將當前狀態(tài)為在線的服務(wù)器節(jié)點記錄到所述節(jié)點列表。
[0017]可選地,利用所述預(yù)設(shè)的篩選規(guī)則選定待分配的服務(wù)器節(jié)點,包括:
[0018]平均的選取所述節(jié)點列表中的服務(wù)器節(jié)點,作為待分配的服務(wù)器節(jié)點;
[0019]或者,
[0020]隨機的選取所述節(jié)點列表中的服務(wù)器節(jié)點,作為待分配的服務(wù)器節(jié)點。
[0021]可選地,所述節(jié)點列表中還記錄有當前在線的服務(wù)器節(jié)點的負載量信息;則利用所述預(yù)設(shè)的篩選規(guī)則選定待分配的服務(wù)器節(jié)點,包括:
[0022]根據(jù)所述負載量信息,選取當前的負載量低于負載量平均值的服務(wù)器節(jié)點,作為待分配的服務(wù)器節(jié)點。
[0023]可選地,所述接口集合中包括多個子接口,則所述客戶端提交連接請求具體為:
[0024]所述客戶端向所述接口集合中的一個子接口提交連接請求,以使該子接口接收;
[0025]當該子接口響應(yīng)所述連接請求的時間超過預(yù)設(shè)的連接閾值,所述客戶端則將所述連接請求提交到所述接口集合中的另一子接口。
[0026]本發(fā)明實施例還提供了一種服務(wù)器節(jié)點的分配裝置,服務(wù)器系統(tǒng)中包括多個服務(wù)器節(jié)點;所述裝置包括:
[0027 ]接口集合,用于接收客戶端提交的連接請求,調(diào)取節(jié)點列表;所述節(jié)點列表中記錄有當前在線的服務(wù)器節(jié)點的身份標識;
[0028]篩選模塊,用于利用預(yù)設(shè)的篩選規(guī)則,對所述節(jié)點列表中的服務(wù)器節(jié)點進行篩選,選定待分配的服務(wù)器節(jié)點;
[0029]所述接口集合,還用于將待分配的服務(wù)器節(jié)點的身份標識反饋至所述客戶端,以使所述客戶端連接到所述待分配的服務(wù)器節(jié)點。
[0030]可選地,第一客戶端連接第一服務(wù)器節(jié)點,第二客戶端連接第二服務(wù)器節(jié)點,所述裝置還包括:
[0031]中轉(zhuǎn)模塊,用于在第一客戶端向所述第一服務(wù)器節(jié)點提交針對第二客戶端的即時通信消息時,接收所述第一服務(wù)器節(jié)點轉(zhuǎn)發(fā)而來的即時通信消息;查詢得到所述第二客戶端所連接的第二服務(wù)器節(jié)點的身份標識;根據(jù)第二服務(wù)器節(jié)點的身份標識,將所述即時通信消息發(fā)送至所述第二服務(wù)器節(jié)點;以使所述第二服務(wù)器節(jié)點將所述即時通信消息推送至所述第二客戶端。
[0032]可選地,所述裝置還包括:
[0033]監(jiān)聽模塊,用于響應(yīng)于所述接口集合的調(diào)用,對所述服務(wù)器系統(tǒng)中服務(wù)器節(jié)點的當前狀態(tài)進行監(jiān)聽,并將當前狀態(tài)為在線的服務(wù)器節(jié)點記錄到所述節(jié)點列表。
[0034]可選地,所述節(jié)點列表中還記錄有當前在線的服務(wù)器節(jié)點的負載量信息,則所述篩選模塊包括以下三者任意一個或任意多個組合:
[0035]平均篩選單元,用于平均的選取所述節(jié)點列表中的服務(wù)器節(jié)點作為待分配的服務(wù)器節(jié)點;
[0036]隨機篩選單元,用于隨機的選取所述節(jié)點列表中的服務(wù)器節(jié)點作為待分配的服務(wù)器節(jié)點;
[0037]均衡篩選單元,用于根據(jù)所述負載量信息,選取當前的負載量低于負載量平均值的服務(wù)器節(jié)點,作為待分配的服務(wù)器節(jié)點。
[0038]本發(fā)明技術(shù)方案中,通過接口集合對客戶端的連接請求進行響應(yīng),并通過篩選實現(xiàn)均衡的分配一個服務(wù)器節(jié)點與所述客戶端連接,提高了服務(wù)器對于客戶端請求的響應(yīng)速度,并實現(xiàn)了對服務(wù)器系統(tǒng)的性能資源更加高效的利用,得以為客戶端提供更高效的即時通信服務(wù),提升了用戶體驗;同時高效的實現(xiàn)了不同服務(wù)器節(jié)點上的客戶端之間的即時通
?目O
[0039]本發(fā)明的其他特征和優(yōu)點將在隨后的【具體實施方式】部分予以詳細說明。
【附圖說明】
[0040]附圖是用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與下面的【具體實施方式】一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0041 ]圖1為本發(fā)明服務(wù)器節(jié)點的分配方法實施例一的流程圖;
[0042]圖2為本發(fā)明服務(wù)器節(jié)點的分配方法實施例二的流程圖;
[0043]圖3為本發(fā)明服務(wù)器節(jié)點的分配裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0044]以下結(jié)合附圖對本發(fā)明的【具體實施方式】進行詳細說明。應(yīng)當理解的是,此處所描述的【具體實施方式】僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
[0045]目前的大型服務(wù)器系統(tǒng),往往采用集群式結(jié)構(gòu),而非單體結(jié)構(gòu)。即整個服務(wù)器系統(tǒng)中,包括多個能夠在一定程度上獨立工作、互不干擾的服務(wù)器節(jié)點,并且服務(wù)器系統(tǒng)有能力對各個服務(wù)器節(jié)點進行統(tǒng)籌和管理。在此基礎(chǔ)之上,本發(fā)明實施例公開一種服務(wù)器節(jié)點的分配方法,通過對各個服務(wù)器節(jié)點更加均衡的分配利用,以提高服務(wù)器系統(tǒng)的響應(yīng)效率和性能。
[0046]參見圖1,示出了本發(fā)明服務(wù)器節(jié)點的分配方法實施例一的流程圖,可包括以下步驟:
[0047 ] S11、接口集合接收客戶端提交的連接請求,調(diào)取節(jié)點列表。
[0048]在本實施例中,接口集合將作為服務(wù)器系統(tǒng)中,與客戶端直接交互,并引導(dǎo)客戶端最終連接到特定服務(wù)器節(jié)點的組件。當客戶端希望與服務(wù)器系統(tǒng)相連接時,所述接口集合將直接接收來自客戶端的連接請求。
[0049]需要說明的是,本實施例中所述接口集合中可以集成多個子接口,各個子接口均包括在一份接口列表中。當客戶端提出連接請求時,可以直接提交給接口列表中的某個子接口,以使該子接口接收。但是如果該子接口故障、掉線或者繁忙,導(dǎo)致該子接口響應(yīng)所述連接請求的時間超過預(yù)設(shè)的連接閾值,則可將所述連接請求提交到接口列表中的其他子接口來進行接收,以保證接口集合響應(yīng)所述連接請求的效率。
[0050]具體地,在所述接口集合接