UDP通信功能的功能模塊,第二功能模塊為提供TCP通信功能的功能模塊。
[0049]下面以業(yè)務(wù)服務(wù)器采用本發(fā)明的方法實(shí)現(xiàn)根據(jù)管理服務(wù)器(PCMS)的消息完成PCS與呼叫服務(wù)器之間的語音數(shù)據(jù)傳輸為例,對(duì)本發(fā)明的方法進(jìn)行說明。
[0050]為保證方法的實(shí)現(xiàn),需要在業(yè)務(wù)服務(wù)器的配置文件中進(jìn)行設(shè)置:
[0051](a)業(yè)務(wù)服務(wù)器IP、管理服務(wù)器IP和管理服務(wù)器端口,用于建立業(yè)務(wù)服務(wù)與服務(wù)器之間的TCP連接。
[0052](b)業(yè)務(wù)服務(wù)器的廣播端口,用于業(yè)務(wù)服務(wù)器內(nèi)部的消息處理器監(jiān)聽。
[0053]業(yè)務(wù)服務(wù)器啟動(dòng)后,首先根據(jù)配置文件中的配置信息,獲得管理服務(wù)器的IP和端口,通過TCP端口與管理服務(wù)器建立TCP連接,然后向管理服務(wù)器發(fā)送注冊(cè)消息,管理服務(wù)器返回消息交互對(duì)方信息,實(shí)現(xiàn)注冊(cè)。注冊(cè)消息的目是為了保證業(yè)務(wù)服務(wù)器的擴(kuò)展性。
[0054]業(yè)務(wù)服務(wù)器的配置文件可以采用Iua格式,可以通過Iua格式解析器獲得配置文件中的配置信息。
[0055]如圖2所示,PCMS通過TCP協(xié)議與業(yè)務(wù)服務(wù)器進(jìn)行交互,PCS和呼叫服務(wù)器通過UDP協(xié)議與業(yè)務(wù)服務(wù)器交互,采用本發(fā)明的方法實(shí)現(xiàn)業(yè)務(wù)處理的過程包括:
[0056]步驟201:主線程創(chuàng)建并維護(hù)處理線程隊(duì)列,消息處理器監(jiān)聽廣播端口;
[0057]消息處理器通過本地廣播地址127.0.0.1,建立內(nèi)部消息監(jiān)聽。當(dāng)此端口接收到廣播消息后,放入消息處理器的消息隊(duì)列中。
[0058]步驟202:業(yè)務(wù)服務(wù)器的TCP端口接收PCMS發(fā)送的消息(如呼叫請(qǐng)求消息),將PCMS發(fā)送的消息通過TCP連接模塊傳輸?shù)街骶€程;
[0059]步驟203:主線程將TCP端口接收到的PCMS的消息廣播到消息處理器監(jiān)聽的廣播端口,從而將PCMS的消息放入到消息處理器的消息隊(duì)列中;
[0060]步驟204:消息處理器根據(jù)PCMS發(fā)送的消息創(chuàng)建數(shù)據(jù)傳輸通道,將數(shù)據(jù)傳輸通道掛接在處理線程隊(duì)列中空閑的處理線程,以使處理線程進(jìn)行PCS與呼叫服務(wù)器之間的語音數(shù)據(jù)傳輸;
[0061 ] 步驟205:消息處理完成后,消息處理器向主線程發(fā)送回應(yīng)消息;
[0062]步驟206:主線程在接收到消息處理器的回應(yīng)消息后,調(diào)用sip模塊通過UDP端口向呼叫服務(wù)器發(fā)送消息(如邀請(qǐng)消息);
[0063]步驟207:sip模塊處理呼叫服務(wù)器返回的消息,并向主線程返回消息;
[0064]步驟208:主線程接收到sip模塊返回的消息后,調(diào)用TCP連接模塊向PCMS返回消息。
[0065]本發(fā)明將多線程管理和子模塊線程業(yè)務(wù)邏輯管理都放在主線程中完成,不需要處理線程間同步、通訊等問題。
[0066]如圖3所示,本發(fā)明還提供了一種業(yè)務(wù)處理裝置,包括:分發(fā)單元和處理單元,其中:
[0067]分發(fā)單元,用于控制主線程創(chuàng)建并維護(hù)處理線程隊(duì)列,并在第一傳輸端口接收到第一外部設(shè)備的消息后,將第一傳輸端口接收到的消息廣播到消息處理器監(jiān)聽的廣播端口,以將消息放入消息處理器的消息隊(duì)列中;
[0068]處理單元,用于控制消息處理器監(jiān)聽廣播端口,處理消息隊(duì)列中的消息,創(chuàng)建需要處理的事務(wù),將需要處理的事務(wù)分配給處理線程隊(duì)列中空閑的處理線程,以使處理線程進(jìn)行事務(wù)的處理。
[0069]進(jìn)一步,處理單元,還用于控制消息處理器在處理主線程廣播的第一傳輸端口接收到的消息后,向主線程發(fā)送回應(yīng)消息;
[0070]分發(fā)單元,還用于控制主線程在接收到回應(yīng)消息后,按照業(yè)務(wù)邏輯調(diào)用第一功能模塊通過第二傳輸端口向第二外部設(shè)備發(fā)送消息。
[0071]進(jìn)一步,分發(fā)單元,還用于控制主線程接收第一功能模塊返回的消息,第一功能模塊返回的消息是該第一功能模塊在通過第二傳輸端口向第二外部設(shè)備發(fā)送消息,接收并處理第二外部設(shè)備通過第二傳輸端口返回的消息后,發(fā)送給主線程。
[0072]進(jìn)一步,分發(fā)單元,還用于控制主線程在接收到第一功能模塊返回的消息后,調(diào)用第二功能模塊通過第一傳輸端口向第一外部設(shè)備返回消息。
[0073]進(jìn)一步,第一傳輸端口為傳輸控制協(xié)議TCP端口,第二傳輸端口為用戶數(shù)據(jù)報(bào)協(xié)議UDP端口。
[0074]雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種業(yè)務(wù)處理方法,其特征在于,包括: 主線程創(chuàng)建并維護(hù)處理線程隊(duì)列; 消息處理器監(jiān)聽廣播端口; 所述主線程在第一傳輸端口接收到第一外部設(shè)備的消息后,將所述第一傳輸端口接收到的消息廣播到所述消息處理器監(jiān)聽的廣播端口,以將消息放入所述消息處理器的消息隊(duì)列中; 所述消息處理器處理消息隊(duì)列中的消息,創(chuàng)建需要處理的事務(wù),將需要處理的事務(wù)分配給所述處理線程隊(duì)列中空閑的處理線程,以使處理線程進(jìn)行事務(wù)的處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述消息處理器在處理所述主線程廣播的第一傳輸端口接收到的消息后,向所述主線程發(fā)送回應(yīng)消息; 所述主線程在接收到所述回應(yīng)消息后,按照業(yè)務(wù)邏輯調(diào)用第一功能模塊通過第二傳輸端口向第二外部設(shè)備發(fā)送消息。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 所述第一功能模塊在通過第二傳輸端口向第二外部設(shè)備發(fā)送消息后,接收并處理所述第二外部設(shè)備通過所述第二傳輸端口返回的消息,并向所述主線程返回消息; 所述主線程接收所述第一功能模塊返回的消息。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 所述主線程在接收到所述第一功能模塊返回的消息后,調(diào)用第二功能模塊通過所述第一傳輸端口向所述第一外部設(shè)備返回消息。5.根據(jù)權(quán)利要求2、3或4所述的方法,其特征在于,所述第一傳輸端口為傳輸控制協(xié)議TCP端口,所述第二傳輸端口為用戶數(shù)據(jù)報(bào)協(xié)議UDP端口。6.一種業(yè)務(wù)處理裝置,其特征在于,包括:分發(fā)單元和處理單元,其中: 所述分發(fā)單元,用于控制主線程創(chuàng)建并維護(hù)處理線程隊(duì)列,并在第一傳輸端口接收到第一外部設(shè)備的消息后,將所述第一傳輸端口接收到的消息廣播到消息處理器監(jiān)聽的廣播端口,以將消息放入消息處理器的消息隊(duì)列中; 所述處理單元,用于控制消息處理器監(jiān)聽廣播端口,處理消息隊(duì)列中的消息,創(chuàng)建需要處理的事務(wù),將需要處理的事務(wù)分配給所述處理線程隊(duì)列中空閑的處理線程,以使處理線程進(jìn)行事務(wù)的處理。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于: 所述處理單元,還用于控制消息處理器在處理所述主線程廣播的第一傳輸端口接收到的消息后,向所述主線程發(fā)送回應(yīng)消息; 所述分發(fā)單元,還用于控制主線程在接收到所述回應(yīng)消息后,按照業(yè)務(wù)邏輯調(diào)用第一功能模塊通過第二傳輸端口向第二外部設(shè)備發(fā)送消息。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于: 所述分發(fā)單元,還用于控制主線程接收所述第一功能模塊返回的消息,所述第一功能模塊返回的消息是該第一功能模塊在通過第二傳輸端口向第二外部設(shè)備發(fā)送消息,接收并處理所述第二外部設(shè)備通過所述第二傳輸端口返回的消息后,發(fā)送給所述主線程。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于: 所述分發(fā)單元,還用于控制主線程在接收到所述第一功能模塊返回的消息后,調(diào)用第二功能模塊通過所述第一傳輸端口向所述第一外部設(shè)備返回消息。10.根據(jù)權(quán)利要求7、8或9所述的裝置,其特征在于,所述第一傳輸端口為傳輸控制協(xié)議TCP端口,所述第二傳輸端口為用戶數(shù)據(jù)報(bào)協(xié)議UDP端口。
【專利摘要】本發(fā)明公開了一種業(yè)務(wù)處理方法及裝置,所述方法包括:主線程創(chuàng)建并維護(hù)處理線程隊(duì)列;消息處理器監(jiān)聽廣播端口;主線程在第一傳輸端口接收到第一外部設(shè)備的消息后,將第一傳輸端口接收到的消息廣播到消息處理器監(jiān)聽的廣播端口,以將消息放入消息處理器的消息隊(duì)列中;消息處理器處理消息隊(duì)列中的消息,創(chuàng)建需要處理的事務(wù),將需要處理的事務(wù)分配給處理線程隊(duì)列中空閑的處理線程,以使處理線程進(jìn)行事務(wù)的處理。本發(fā)明能避免業(yè)務(wù)在多線程中同步和通訊,可以簡單的管理線程之間的交互。
【IPC分類】G06F9/54
【公開號(hào)】CN105528254
【申請(qǐng)?zhí)枴緾N201510883146
【發(fā)明人】左華亞, 陳正超, 李曉鵬, 周平
【申請(qǐng)人】貴陽朗瑪信息技術(shù)股份有限公司
【公開日】2016年4月27日
【申請(qǐng)日】2015年12月7日