• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    分布式架構(gòu)在電信CRM系統(tǒng)中的研究與應(yīng)用

    2014-09-17 12:03:16杜劍勐

    摘要:隨著科學(xué)技術(shù)日益進(jìn)步,CRM系統(tǒng)已經(jīng)成為電信行業(yè)競(jìng)爭(zhēng)中的核心競(jìng)爭(zhēng)力之一。文章根據(jù)現(xiàn)有的CRM系統(tǒng)的發(fā)展現(xiàn)狀,探討了CRM系統(tǒng)的基本架構(gòu)及該架構(gòu)的分布式原理,并對(duì)中國(guó)電信集團(tuán)CRM項(xiàng)目分布式實(shí)現(xiàn)做了分析,從而凸顯分布式架構(gòu)在CRM系統(tǒng)的運(yùn)用價(jià)值。

    關(guān)鍵詞:CRM系統(tǒng);分布式架構(gòu);開(kāi)源ESB

    中圖分類號(hào):TP272 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-2374(2014)27-0061-03

    1 電信CRM系統(tǒng)架構(gòu)分析

    1.1 系統(tǒng)分布式架構(gòu)原理

    1.1.1 基于消息方式實(shí)現(xiàn)系統(tǒng)間通信。系統(tǒng)依靠發(fā)送消息來(lái)進(jìn)行通信,消息包括字節(jié)流、字節(jié)數(shù)組,甚至是java對(duì)象,系統(tǒng)接收到消息后則進(jìn)行相應(yīng)的業(yè)務(wù)處理。消息方式的系統(tǒng)通信,基于網(wǎng)絡(luò)協(xié)議,常用協(xié)議是TCP/IP和UDP/IP。

    TCP/IP是一種可靠的網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議,它要求通信雙方首先建立連接,之后再進(jìn)行數(shù)據(jù)的傳輸,TCP/IP負(fù)責(zé)保證數(shù)據(jù)傳輸?shù)目煽啃?,包括?shù)據(jù)的可到達(dá),數(shù)據(jù)到達(dá)的順序等,但由于需要保證連接及數(shù)據(jù)傳輸?shù)目煽?,因此可能?huì)犧牲一些性能。

    UDP/IP是一種不保證數(shù)據(jù)一定到達(dá)的網(wǎng)絡(luò)傳輸協(xié)議,它并不直接給通信雙方建立連接,而是發(fā)送到網(wǎng)絡(luò)上進(jìn)行傳遞,由于它不建立連接,并且不能保證數(shù)據(jù)傳輸?shù)目煽?,因此性能上相?duì)較好,但可能出現(xiàn)數(shù)據(jù)丟失。TCP/IP和UDP/IP可用于完成數(shù)據(jù)的傳輸,但要完成系統(tǒng)間通信,還需要對(duì)數(shù)據(jù)進(jìn)行處理,例如讀取和寫(xiě)入數(shù)據(jù),按照POSIX標(biāo)準(zhǔn)分為同步IO和異步IO兩種,其中同步IO最常用的是BIO和NIO。

    從程序角度而言,BIO就是當(dāng)發(fā)起IO的讀或?qū)懖僮鲿r(shí),均為阻塞方式,只有當(dāng)程序讀到了流或者流寫(xiě)入操作系統(tǒng)后,才會(huì)釋放資源。NIO是基于事件驅(qū)動(dòng)思想的,程序角度而言,發(fā)起IO的讀或?qū)懖僮鲿r(shí),是非阻塞的,java對(duì)TCP/IP和UDP/IP均支持,在網(wǎng)絡(luò)IO的操作上,jdk支持BIO和NIO兩種方式。

    1.1.2 基于遠(yuǎn)程方法調(diào)用方式實(shí)現(xiàn)系統(tǒng)間通信。遠(yuǎn)程方法調(diào)用(RPC)是機(jī)器間不同進(jìn)程的過(guò)程調(diào)用,它使得運(yùn)行在多臺(tái)機(jī)器上的傳統(tǒng)進(jìn)程間實(shí)現(xiàn)相互通信成為可能,因此,為實(shí)現(xiàn)進(jìn)程或機(jī)器間的相互通信,RPC提供了一種較簡(jiǎn)單的方式。

    同RPC相比,java中引入的遠(yuǎn)程方法調(diào)用(RMI),能夠?qū)崿F(xiàn)分布式對(duì)象通信,因此開(kāi)發(fā)者可以將網(wǎng)絡(luò)使能代碼實(shí)現(xiàn)成純java對(duì)象,從而使用到OOP的強(qiáng)大功能,比如繼承、封裝及多態(tài)等特性。網(wǎng)絡(luò)或機(jī)器的不穩(wěn)定性。對(duì)于基于單JVM的應(yīng)用而言,一旦JVM癱瘓,則整個(gè)應(yīng)用將癱瘓。但是,對(duì)于分布式對(duì)象應(yīng)用而言,由于存在多個(gè)JVM協(xié)同工作,因此即使某個(gè)JVM癱瘓,也不會(huì)對(duì)業(yè)務(wù)系統(tǒng)造成任何影響,在遠(yuǎn)程方法調(diào)用場(chǎng)合,為保證網(wǎng)絡(luò)或機(jī)器的穩(wěn)定性,需要提供一致的編程模型處理突發(fā)事件,比如JVM癱瘓,機(jī)器癱瘓,網(wǎng)絡(luò)不穩(wěn)定,在代碼處理遠(yuǎn)程調(diào)用時(shí),一旦發(fā)生了任何遠(yuǎn)程異常事件,必須告知應(yīng)用。顯然,為完成遠(yuǎn)程調(diào)用,需要解決大量的底層問(wèn)題。由于RMI屏蔽了大量的底層細(xì)節(jié)問(wèn)題,因此可以快速構(gòu)建出健壯的分布式應(yīng)用。

    1.2 系統(tǒng)分布式架構(gòu)實(shí)現(xiàn)

    中國(guó)電信CRM系統(tǒng)分為多個(gè)業(yè)務(wù)邏輯子系統(tǒng),例如客戶管理、賬務(wù)信息、客戶報(bào)表子系統(tǒng)等等,這些功能有各自的特色,但又有很多可用的業(yè)務(wù)邏輯,例如用戶信息,如果這些系統(tǒng)都維護(hù)自己的用戶信息讀寫(xiě)或者業(yè)務(wù)邏輯,會(huì)造成的問(wèn)題是某個(gè)子系統(tǒng)修改了用戶信息,所有系統(tǒng)都需要修改,會(huì)相當(dāng)復(fù)雜。這相當(dāng)提出了一個(gè)系統(tǒng)間應(yīng)用層面如何交互的問(wèn)題,如果不控制會(huì)出現(xiàn)多個(gè)系統(tǒng)之間存在多種交互方式:HTTP、TCP/IP、RMI、Web Service等;同步、異步等方式可能都會(huì)出現(xiàn)。解決方法就是統(tǒng)一交互的方式,SOA是這種問(wèn)題的解決方案首選。SOA是面向服務(wù)架構(gòu),它定義了標(biāo)準(zhǔn)的服務(wù)方式進(jìn)行交互,各系統(tǒng)可采用不同的語(yǔ)言不同的框架實(shí)現(xiàn),交互則通過(guò)服務(wù)的方式進(jìn)行,利用ESB實(shí)現(xiàn)SOA

    平臺(tái)。

    1.2.1 ESB優(yōu)勢(shì)。

    面向服務(wù)的架構(gòu):分布式的應(yīng)用由可重用的服務(wù)組成。

    面向消息的架構(gòu):應(yīng)用之間通過(guò)ESB發(fā)送和接受消息。

    事件驅(qū)動(dòng)的架構(gòu):應(yīng)用之間異步的產(chǎn)生和接收消息。

    1.2.2 ESB工作原理。核心思想基于消息中間件來(lái)實(shí)現(xiàn)系統(tǒng)間的交互。基于消息中間件所構(gòu)建的系統(tǒng)交互的中間場(chǎng)所稱為總線,系統(tǒng)間交互的數(shù)據(jù)格式采用統(tǒng)一的消息格式,由總線完成消息的轉(zhuǎn)化、路由,發(fā)送到相應(yīng)的目標(biāo)應(yīng)用,ESB系統(tǒng)結(jié)構(gòu)如圖1所示:

    (1)標(biāo)準(zhǔn)的消息通信格式。ESB框架定義系統(tǒng)發(fā)送及接收消息時(shí)的消息格式,以便各個(gè)系統(tǒng)保持一樣的方式與總線通信。

    (2)消息路由。當(dāng)總線收到消息后,根據(jù)消息的數(shù)據(jù)決定發(fā)送到哪個(gè)系統(tǒng),在更復(fù)雜的情況下,還可以基于消息路由實(shí)現(xiàn)功能編排,即當(dāng)某個(gè)功能需要由多個(gè)系統(tǒng)共同完成時(shí),可在總線上以流程的方式編排訪問(wèn)系統(tǒng)的順序。

    (3)支持多數(shù)據(jù)格式并能進(jìn)行相互轉(zhuǎn)換。多個(gè)系統(tǒng)均發(fā)送消息至總線,并由總線將消息轉(zhuǎn)發(fā),但各個(gè)系統(tǒng)消息中的數(shù)據(jù)格式可能不一致,此時(shí)總線需要支持?jǐn)?shù)據(jù)的轉(zhuǎn)換。在統(tǒng)一以服務(wù)進(jìn)行交互這點(diǎn)上,ESB中的消息方式交互承擔(dān)轉(zhuǎn)換的功能,并且支持多種通信及交互(同步、異步)方式,在調(diào)試、跟蹤支持上沒(méi)有定義,在依賴管理上,由于所有的交互都通過(guò)總線進(jìn)行,在此基礎(chǔ)上可根據(jù)消息的流轉(zhuǎn)來(lái)判斷和形成各個(gè)系統(tǒng)的依賴關(guān)系。在高性能和高可用這兩點(diǎn)上,則取決于實(shí)現(xiàn)框架。ESB是一個(gè)完全面向企業(yè)級(jí)的中間件解決方案,可以架構(gòu)在企業(yè)現(xiàn)有的網(wǎng)絡(luò)框架、軟硬件系統(tǒng)之上,構(gòu)筑出一個(gè)企業(yè)級(jí)的信息系統(tǒng)解決方案。在ESB中,服務(wù)器猶如一個(gè)個(gè)汽車站,可以自由地連接和脫離ESB中間件,所有的信息系統(tǒng)都可以通過(guò)其發(fā)送或接受任務(wù)、指令,它適用于所有的現(xiàn)有的或未來(lái)的信息應(yīng)用平臺(tái)。

    2 中國(guó)電信集團(tuán)CRM項(xiàng)目分布式部署方案

    群集是在多個(gè)應(yīng)用服務(wù)器實(shí)例上同時(shí)運(yùn)行相同的應(yīng)用程序的行為,每個(gè)應(yīng)用服務(wù)器都知道群集中的其他應(yīng)用服務(wù)器。作為群集一部分的應(yīng)用服務(wù)器稱為節(jié)點(diǎn)。群集中的節(jié)點(diǎn)必須能夠互相通信,從而進(jìn)行有意義的操作,例如,復(fù)制狀態(tài)或提供故障轉(zhuǎn)移性能。由于群集離不開(kāi)負(fù)載均衡,故先討論負(fù)載均衡技術(shù)。

    2.1 負(fù)載均衡

    負(fù)載均衡是通過(guò)多個(gè)應(yīng)用服務(wù)器實(shí)例均衡傳入負(fù)載或并行請(qǐng)求的一種方式,從而使應(yīng)用程序具有可擴(kuò)展性和高可用性。擴(kuò)展性是無(wú)須更改代碼,應(yīng)用程序就可以添加硬件處理更多用戶負(fù)載的能力。因?yàn)榭梢詫?duì)負(fù)載均衡器添加多個(gè)服務(wù)器,從而均衡負(fù)載增加應(yīng)用程序可以處理的流量,因此負(fù)載均衡有助于擴(kuò)展應(yīng)用程序。高可用性是在服務(wù)器出現(xiàn)故障的情況下繼續(xù)處理請(qǐng)求的能力。

    2.2 群集的拓?fù)浜徒M成

    群集由運(yùn)行在一臺(tái)計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)上的節(jié)點(diǎn)組成,群集節(jié)點(diǎn)的構(gòu)造通常指的是群集的拓?fù)?。?dāng)一個(gè)群集的節(jié)點(diǎn)位于不同計(jì)算機(jī)上時(shí),群集是水平的。節(jié)點(diǎn)位于相同計(jì)算機(jī)上時(shí),群集是垂直的。許多群集既可以是水平的,也可以是垂直的,如圖2所示:

    圖2左上角是運(yùn)行在服務(wù)器上的兩個(gè)應(yīng)用服務(wù)器實(shí)例,對(duì)這些實(shí)例進(jìn)行配置使其在相同的集群中運(yùn)行,并建立一個(gè)垂直集群,右方的水平集群由運(yùn)行在左方服務(wù)器上的一個(gè)應(yīng)用服務(wù)器實(shí)例和一個(gè)運(yùn)行在圖底部服務(wù)器上的應(yīng)用服務(wù)器實(shí)例構(gòu)成。混合群集也可以由運(yùn)行在相同計(jì)算機(jī)或不同計(jì)算機(jī)上的應(yīng)用服務(wù)器構(gòu)成。

    2.2.1 垂直集群

    (1)支撐高訪問(wèn)量。Web應(yīng)用隨著訪問(wèn)量的增長(zhǎng),通常其瓶頸會(huì)出現(xiàn)在CPU或者內(nèi)存上,網(wǎng)絡(luò)IO或磁盤(pán)IO出現(xiàn)瓶頸的幾率較低,在此僅分析當(dāng)增加CPU或內(nèi)存時(shí),應(yīng)用如何做到線性增長(zhǎng)。

    (2)增加CPU。要做到增加CPU后系統(tǒng)的服務(wù)能力線性的增長(zhǎng),要求系統(tǒng)能夠隨著CPU的增加,響應(yīng)速度提升或同時(shí)可用于處理請(qǐng)求的線程增加,需要解決以下三種情況才能提升系統(tǒng)支撐的訪問(wèn)量:

    一是鎖競(jìng)爭(zhēng)激烈。鎖競(jìng)爭(zhēng)激烈會(huì)造成多線程等待鎖,就算增加CPU,也不能讓線程得到更快處理,應(yīng)對(duì)策略是盡可能降低系統(tǒng)中鎖競(jìng)爭(zhēng)的現(xiàn)象,降低競(jìng)爭(zhēng)后,可以提升響應(yīng)速度也可以開(kāi)啟更多線程支撐訪問(wèn)量。

    二是支撐并發(fā)請(qǐng)求的線程數(shù)固定。在Java應(yīng)用中,依靠啟動(dòng)多個(gè)線程來(lái)支撐高并發(fā)量,如啟動(dòng)的線程數(shù)是固定的,那么即使CPU增加,系統(tǒng)的服務(wù)能力也不會(huì)得到提升,因此最佳的方法是根據(jù)CPU數(shù)計(jì)算出一個(gè)合理的線程數(shù)。

    三是單線程任務(wù)。對(duì)于單線程任務(wù),增加CPU不會(huì)帶來(lái)任何的提升,此時(shí)可以考慮按照CPU數(shù)對(duì)任務(wù)進(jìn)行合理劃分,以能夠通過(guò)啟動(dòng)多個(gè)線程來(lái)并行地將任務(wù)分解成多個(gè)任務(wù)完成。

    (3)增加內(nèi)存。要做到增加內(nèi)存后系統(tǒng)的服務(wù)能力線性增長(zhǎng),要求系統(tǒng)能夠隨著內(nèi)存的增加,響應(yīng)速度提升,主要關(guān)注以下兩點(diǎn)。

    一是Cache的集合大小固定。系統(tǒng)中通常會(huì)借助Cache來(lái)提升性能,而為了避免內(nèi)存資源消耗過(guò)多,會(huì)限制用于Cache的集合的大小,如這個(gè)大小是固定的,那么即使增加了內(nèi)存,Cache的數(shù)據(jù)也不會(huì)增多。

    二是JVM堆內(nèi)存是固定的。JVM堆通常是在啟動(dòng)參數(shù)中設(shè)置的,因此有些時(shí)候可能會(huì)出現(xiàn)增加了內(nèi)存,但JVM堆大小沒(méi)有調(diào)整。所以要避免GC造成CPU出現(xiàn)瓶頸。

    2.2.2 水平集群。支撐高訪問(wèn)量。對(duì)于水平集群而言,最佳情況是應(yīng)用是無(wú)狀態(tài)的,但系統(tǒng)很難做到完全沒(méi)有狀態(tài),業(yè)界通常采用一種稱為SNA的體系來(lái)指導(dǎo)如何構(gòu)建無(wú)狀態(tài)的應(yīng)用,SNA架構(gòu)在實(shí)現(xiàn)時(shí)通常采用的方法是將有狀態(tài)的部分集中放入緩存或數(shù)據(jù)庫(kù)中,通常數(shù)據(jù)庫(kù)采用集中存儲(chǔ)的方式。對(duì)于java應(yīng)用而言,通??刹扇〉姆椒ㄈ缦拢?/p>

    (1)廣播同步。廣播同步通?;贛ulticast實(shí)現(xiàn),當(dāng)用戶登錄時(shí),系統(tǒng)的行為如圖3所示:

    用戶登錄時(shí),假設(shè)訪問(wèn)為節(jié)點(diǎn)A的機(jī)器,A機(jī)器在驗(yàn)證用戶的身份后,如通過(guò),則將用戶已登錄的信息廣播,廣播后節(jié)點(diǎn)B,節(jié)點(diǎn)C也就收到了此信息,因此之后用戶訪問(wèn)到節(jié)點(diǎn)B,也不會(huì)要求重新登錄。

    (2)分布式緩存。對(duì)于需要緩存的狀態(tài)數(shù)據(jù)增多的情況,可采取分布式緩存的方案來(lái)解決,分布式緩存是指由多臺(tái)機(jī)器來(lái)構(gòu)成一個(gè)緩存池,每臺(tái)機(jī)器上緩存一部分?jǐn)?shù)據(jù),采用分布式緩存后,當(dāng)用戶登陸時(shí),系統(tǒng)行為如圖4。

    用戶登錄時(shí)訪問(wèn)的是節(jié)點(diǎn)A機(jī)器,節(jié)點(diǎn)A機(jī)器在驗(yàn)證通過(guò)了用戶信息后,將用戶的信息放入分布式緩存集群中的某臺(tái)機(jī)器上,當(dāng)用戶登錄后訪問(wèn)其他功能進(jìn)入節(jié)點(diǎn)B機(jī)器時(shí),節(jié)點(diǎn)B即可從分布式緩存集群的機(jī)器上尋找用戶登錄信息。

    總之,對(duì)于分布式緩存而言,需要解決的是節(jié)點(diǎn)A和節(jié)點(diǎn)B在操作同一用戶登錄信息時(shí)能分布式緩存集群的同一臺(tái)機(jī)器上操作。

    總線服務(wù)層中包括接入服務(wù)、配置服務(wù)、統(tǒng)計(jì)分析服務(wù),這些業(yè)務(wù)服務(wù)系統(tǒng)是相對(duì)獨(dú)立的,不存在一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。這里采用MuleESB將它們通過(guò)各種適配技術(shù)連接到ESB上來(lái)。ESB服務(wù)層中有MuleESB、tomcat服務(wù)器以及weblogic應(yīng)用服務(wù)器。該層核心是ESB,它能夠?qū)崿F(xiàn)最大程度的應(yīng)用集成??蛻魬?yīng)用層對(duì)請(qǐng)求用戶操作結(jié)算系統(tǒng)提供用戶界面。

    3.2 業(yè)務(wù)邏輯設(shè)計(jì)

    3.2.1 系統(tǒng)中Web服務(wù)查詢流程:

    (1)服務(wù)查詢者構(gòu)建SOAP消息,發(fā)送給WebLogic應(yīng)用服務(wù)器。

    (2)如果沒(méi)有得到服務(wù)器響應(yīng),則連接失敗,調(diào)用結(jié)束。

    (3)應(yīng)用服務(wù)器收到查詢請(qǐng)求后,在后臺(tái)數(shù)據(jù)源中查找相應(yīng)Web服務(wù)的信息。

    (4)后臺(tái)數(shù)據(jù)源向應(yīng)用服務(wù)器返回相應(yīng)的查詢結(jié)果。

    (5)應(yīng)用服務(wù)器將結(jié)果以SOAP消息形式,返回給服務(wù)查詢者。

    3.2.2 系統(tǒng)中MuleESB消息流程:

    (1)外部應(yīng)用程序服務(wù)發(fā)出請(qǐng)求消息后,消息接收器上的監(jiān)聽(tīng)進(jìn)程監(jiān)聽(tīng)到該消息,消息接收器根據(jù)業(yè)務(wù)流程器定義文件中定義的配置信息,獲取訪問(wèn)點(diǎn)URL。

    (2)消息接收器通過(guò)解析訪問(wèn)點(diǎn)URL,獲取所使用的連接器描述符。

    (3)消息接收器根據(jù)連接器描述符的具體配置快速定位到相應(yīng)的連接器。

    (4)根據(jù)業(yè)務(wù)流程定義文件,如果訪問(wèn)點(diǎn)URL上配置有消息轉(zhuǎn)換器,則轉(zhuǎn)5,否則轉(zhuǎn)6。

    (5)連接器調(diào)用消息轉(zhuǎn)換器進(jìn)行消息轉(zhuǎn)換。

    (6)消息分配器獲得轉(zhuǎn)換后的消息,將該消息發(fā)送給外部應(yīng)用程序服務(wù)接收或者消息路由器。

    (7)流程結(jié)束。

    4 結(jié)語(yǔ)

    隨著國(guó)內(nèi)外眾多研究機(jī)構(gòu)、學(xué)者以及企業(yè)對(duì)CRM系統(tǒng)的研究的深入,關(guān)于CRM系統(tǒng)的研究已涌現(xiàn)出諸多成果。如學(xué)者李兵研究了CRM產(chǎn)品應(yīng)用集成技術(shù);國(guó)外SAP、SIEBEL、IBM等IT企業(yè)推出了CRM的解決方案,ORACLE等企業(yè)已把CRM系統(tǒng)的應(yīng)用作為一個(gè)重要的發(fā)展方向。本論文討論了以下幾個(gè)問(wèn)題:

    (1)目前電信CRM系統(tǒng)使用的分布式通信的原理。

    (2)研究實(shí)現(xiàn)SOA平臺(tái)的流行框架:ESB。

    (3)研究電信集團(tuán)CRM群集構(gòu)建系統(tǒng)的原理及功能架構(gòu)設(shè)計(jì)。

    參考文獻(xiàn)

    [1] 倪曉熔.電信企業(yè)ERP系統(tǒng)解決方案及應(yīng)用[J].電信

    網(wǎng)技術(shù),2005,30(5).

    [2] 林昊.分布式Java應(yīng)用[M].北京:電子工業(yè)出版社,2010.

    [3] 賀新征.Oracle Weblogic Server 開(kāi)發(fā)權(quán)威指南[M].北京:清華大學(xué)出版社,2011.

    [4] 曾海穎.客戶關(guān)系管理中的數(shù)據(jù)挖掘[D].南京航空航天大學(xué), 2003.

    作者簡(jiǎn)介:杜劍勐(1980-),男(壯族),廣西柳州人,中國(guó)電信股份有限公司上海企業(yè)信息化運(yùn)營(yíng)中心工程師,碩士,研究方向:軟件工程。

    群集是在多個(gè)應(yīng)用服務(wù)器實(shí)例上同時(shí)運(yùn)行相同的應(yīng)用程序的行為,每個(gè)應(yīng)用服務(wù)器都知道群集中的其他應(yīng)用服務(wù)器。作為群集一部分的應(yīng)用服務(wù)器稱為節(jié)點(diǎn)。群集中的節(jié)點(diǎn)必須能夠互相通信,從而進(jìn)行有意義的操作,例如,復(fù)制狀態(tài)或提供故障轉(zhuǎn)移性能。由于群集離不開(kāi)負(fù)載均衡,故先討論負(fù)載均衡技術(shù)。

    2.1 負(fù)載均衡

    負(fù)載均衡是通過(guò)多個(gè)應(yīng)用服務(wù)器實(shí)例均衡傳入負(fù)載或并行請(qǐng)求的一種方式,從而使應(yīng)用程序具有可擴(kuò)展性和高可用性。擴(kuò)展性是無(wú)須更改代碼,應(yīng)用程序就可以添加硬件處理更多用戶負(fù)載的能力。因?yàn)榭梢詫?duì)負(fù)載均衡器添加多個(gè)服務(wù)器,從而均衡負(fù)載增加應(yīng)用程序可以處理的流量,因此負(fù)載均衡有助于擴(kuò)展應(yīng)用程序。高可用性是在服務(wù)器出現(xiàn)故障的情況下繼續(xù)處理請(qǐng)求的能力。

    2.2 群集的拓?fù)浜徒M成

    群集由運(yùn)行在一臺(tái)計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)上的節(jié)點(diǎn)組成,群集節(jié)點(diǎn)的構(gòu)造通常指的是群集的拓?fù)?。?dāng)一個(gè)群集的節(jié)點(diǎn)位于不同計(jì)算機(jī)上時(shí),群集是水平的。節(jié)點(diǎn)位于相同計(jì)算機(jī)上時(shí),群集是垂直的。許多群集既可以是水平的,也可以是垂直的,如圖2所示:

    圖2左上角是運(yùn)行在服務(wù)器上的兩個(gè)應(yīng)用服務(wù)器實(shí)例,對(duì)這些實(shí)例進(jìn)行配置使其在相同的集群中運(yùn)行,并建立一個(gè)垂直集群,右方的水平集群由運(yùn)行在左方服務(wù)器上的一個(gè)應(yīng)用服務(wù)器實(shí)例和一個(gè)運(yùn)行在圖底部服務(wù)器上的應(yīng)用服務(wù)器實(shí)例構(gòu)成。混合群集也可以由運(yùn)行在相同計(jì)算機(jī)或不同計(jì)算機(jī)上的應(yīng)用服務(wù)器構(gòu)成。

    2.2.1 垂直集群

    (1)支撐高訪問(wèn)量。Web應(yīng)用隨著訪問(wèn)量的增長(zhǎng),通常其瓶頸會(huì)出現(xiàn)在CPU或者內(nèi)存上,網(wǎng)絡(luò)IO或磁盤(pán)IO出現(xiàn)瓶頸的幾率較低,在此僅分析當(dāng)增加CPU或內(nèi)存時(shí),應(yīng)用如何做到線性增長(zhǎng)。

    (2)增加CPU。要做到增加CPU后系統(tǒng)的服務(wù)能力線性的增長(zhǎng),要求系統(tǒng)能夠隨著CPU的增加,響應(yīng)速度提升或同時(shí)可用于處理請(qǐng)求的線程增加,需要解決以下三種情況才能提升系統(tǒng)支撐的訪問(wèn)量:

    一是鎖競(jìng)爭(zhēng)激烈。鎖競(jìng)爭(zhēng)激烈會(huì)造成多線程等待鎖,就算增加CPU,也不能讓線程得到更快處理,應(yīng)對(duì)策略是盡可能降低系統(tǒng)中鎖競(jìng)爭(zhēng)的現(xiàn)象,降低競(jìng)爭(zhēng)后,可以提升響應(yīng)速度也可以開(kāi)啟更多線程支撐訪問(wèn)量。

    二是支撐并發(fā)請(qǐng)求的線程數(shù)固定。在Java應(yīng)用中,依靠啟動(dòng)多個(gè)線程來(lái)支撐高并發(fā)量,如啟動(dòng)的線程數(shù)是固定的,那么即使CPU增加,系統(tǒng)的服務(wù)能力也不會(huì)得到提升,因此最佳的方法是根據(jù)CPU數(shù)計(jì)算出一個(gè)合理的線程數(shù)。

    三是單線程任務(wù)。對(duì)于單線程任務(wù),增加CPU不會(huì)帶來(lái)任何的提升,此時(shí)可以考慮按照CPU數(shù)對(duì)任務(wù)進(jìn)行合理劃分,以能夠通過(guò)啟動(dòng)多個(gè)線程來(lái)并行地將任務(wù)分解成多個(gè)任務(wù)完成。

    (3)增加內(nèi)存。要做到增加內(nèi)存后系統(tǒng)的服務(wù)能力線性增長(zhǎng),要求系統(tǒng)能夠隨著內(nèi)存的增加,響應(yīng)速度提升,主要關(guān)注以下兩點(diǎn)。

    一是Cache的集合大小固定。系統(tǒng)中通常會(huì)借助Cache來(lái)提升性能,而為了避免內(nèi)存資源消耗過(guò)多,會(huì)限制用于Cache的集合的大小,如這個(gè)大小是固定的,那么即使增加了內(nèi)存,Cache的數(shù)據(jù)也不會(huì)增多。

    二是JVM堆內(nèi)存是固定的。JVM堆通常是在啟動(dòng)參數(shù)中設(shè)置的,因此有些時(shí)候可能會(huì)出現(xiàn)增加了內(nèi)存,但JVM堆大小沒(méi)有調(diào)整。所以要避免GC造成CPU出現(xiàn)瓶頸。

    2.2.2 水平集群。支撐高訪問(wèn)量。對(duì)于水平集群而言,最佳情況是應(yīng)用是無(wú)狀態(tài)的,但系統(tǒng)很難做到完全沒(méi)有狀態(tài),業(yè)界通常采用一種稱為SNA的體系來(lái)指導(dǎo)如何構(gòu)建無(wú)狀態(tài)的應(yīng)用,SNA架構(gòu)在實(shí)現(xiàn)時(shí)通常采用的方法是將有狀態(tài)的部分集中放入緩存或數(shù)據(jù)庫(kù)中,通常數(shù)據(jù)庫(kù)采用集中存儲(chǔ)的方式。對(duì)于java應(yīng)用而言,通??刹扇〉姆椒ㄈ缦拢?/p>

    (1)廣播同步。廣播同步通?;贛ulticast實(shí)現(xiàn),當(dāng)用戶登錄時(shí),系統(tǒng)的行為如圖3所示:

    用戶登錄時(shí),假設(shè)訪問(wèn)為節(jié)點(diǎn)A的機(jī)器,A機(jī)器在驗(yàn)證用戶的身份后,如通過(guò),則將用戶已登錄的信息廣播,廣播后節(jié)點(diǎn)B,節(jié)點(diǎn)C也就收到了此信息,因此之后用戶訪問(wèn)到節(jié)點(diǎn)B,也不會(huì)要求重新登錄。

    (2)分布式緩存。對(duì)于需要緩存的狀態(tài)數(shù)據(jù)增多的情況,可采取分布式緩存的方案來(lái)解決,分布式緩存是指由多臺(tái)機(jī)器來(lái)構(gòu)成一個(gè)緩存池,每臺(tái)機(jī)器上緩存一部分?jǐn)?shù)據(jù),采用分布式緩存后,當(dāng)用戶登陸時(shí),系統(tǒng)行為如圖4。

    用戶登錄時(shí)訪問(wèn)的是節(jié)點(diǎn)A機(jī)器,節(jié)點(diǎn)A機(jī)器在驗(yàn)證通過(guò)了用戶信息后,將用戶的信息放入分布式緩存集群中的某臺(tái)機(jī)器上,當(dāng)用戶登錄后訪問(wèn)其他功能進(jìn)入節(jié)點(diǎn)B機(jī)器時(shí),節(jié)點(diǎn)B即可從分布式緩存集群的機(jī)器上尋找用戶登錄信息。

    總之,對(duì)于分布式緩存而言,需要解決的是節(jié)點(diǎn)A和節(jié)點(diǎn)B在操作同一用戶登錄信息時(shí)能分布式緩存集群的同一臺(tái)機(jī)器上操作。

    總線服務(wù)層中包括接入服務(wù)、配置服務(wù)、統(tǒng)計(jì)分析服務(wù),這些業(yè)務(wù)服務(wù)系統(tǒng)是相對(duì)獨(dú)立的,不存在一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。這里采用MuleESB將它們通過(guò)各種適配技術(shù)連接到ESB上來(lái)。ESB服務(wù)層中有MuleESB、tomcat服務(wù)器以及weblogic應(yīng)用服務(wù)器。該層核心是ESB,它能夠?qū)崿F(xiàn)最大程度的應(yīng)用集成??蛻魬?yīng)用層對(duì)請(qǐng)求用戶操作結(jié)算系統(tǒng)提供用戶界面。

    3.2 業(yè)務(wù)邏輯設(shè)計(jì)

    3.2.1 系統(tǒng)中Web服務(wù)查詢流程:

    (1)服務(wù)查詢者構(gòu)建SOAP消息,發(fā)送給WebLogic應(yīng)用服務(wù)器。

    (2)如果沒(méi)有得到服務(wù)器響應(yīng),則連接失敗,調(diào)用結(jié)束。

    (3)應(yīng)用服務(wù)器收到查詢請(qǐng)求后,在后臺(tái)數(shù)據(jù)源中查找相應(yīng)Web服務(wù)的信息。

    (4)后臺(tái)數(shù)據(jù)源向應(yīng)用服務(wù)器返回相應(yīng)的查詢結(jié)果。

    (5)應(yīng)用服務(wù)器將結(jié)果以SOAP消息形式,返回給服務(wù)查詢者。

    3.2.2 系統(tǒng)中MuleESB消息流程:

    (1)外部應(yīng)用程序服務(wù)發(fā)出請(qǐng)求消息后,消息接收器上的監(jiān)聽(tīng)進(jìn)程監(jiān)聽(tīng)到該消息,消息接收器根據(jù)業(yè)務(wù)流程器定義文件中定義的配置信息,獲取訪問(wèn)點(diǎn)URL。

    (2)消息接收器通過(guò)解析訪問(wèn)點(diǎn)URL,獲取所使用的連接器描述符。

    (3)消息接收器根據(jù)連接器描述符的具體配置快速定位到相應(yīng)的連接器。

    (4)根據(jù)業(yè)務(wù)流程定義文件,如果訪問(wèn)點(diǎn)URL上配置有消息轉(zhuǎn)換器,則轉(zhuǎn)5,否則轉(zhuǎn)6。

    (5)連接器調(diào)用消息轉(zhuǎn)換器進(jìn)行消息轉(zhuǎn)換。

    (6)消息分配器獲得轉(zhuǎn)換后的消息,將該消息發(fā)送給外部應(yīng)用程序服務(wù)接收或者消息路由器。

    (7)流程結(jié)束。

    4 結(jié)語(yǔ)

    隨著國(guó)內(nèi)外眾多研究機(jī)構(gòu)、學(xué)者以及企業(yè)對(duì)CRM系統(tǒng)的研究的深入,關(guān)于CRM系統(tǒng)的研究已涌現(xiàn)出諸多成果。如學(xué)者李兵研究了CRM產(chǎn)品應(yīng)用集成技術(shù);國(guó)外SAP、SIEBEL、IBM等IT企業(yè)推出了CRM的解決方案,ORACLE等企業(yè)已把CRM系統(tǒng)的應(yīng)用作為一個(gè)重要的發(fā)展方向。本論文討論了以下幾個(gè)問(wèn)題:

    (1)目前電信CRM系統(tǒng)使用的分布式通信的原理。

    (2)研究實(shí)現(xiàn)SOA平臺(tái)的流行框架:ESB。

    (3)研究電信集團(tuán)CRM群集構(gòu)建系統(tǒng)的原理及功能架構(gòu)設(shè)計(jì)。

    參考文獻(xiàn)

    [1] 倪曉熔.電信企業(yè)ERP系統(tǒng)解決方案及應(yīng)用[J].電信

    網(wǎng)技術(shù),2005,30(5).

    [2] 林昊.分布式Java應(yīng)用[M].北京:電子工業(yè)出版社,2010.

    [3] 賀新征.Oracle Weblogic Server 開(kāi)發(fā)權(quán)威指南[M].北京:清華大學(xué)出版社,2011.

    [4] 曾海穎.客戶關(guān)系管理中的數(shù)據(jù)挖掘[D].南京航空航天大學(xué), 2003.

    作者簡(jiǎn)介:杜劍勐(1980-),男(壯族),廣西柳州人,中國(guó)電信股份有限公司上海企業(yè)信息化運(yùn)營(yíng)中心工程師,碩士,研究方向:軟件工程。

    群集是在多個(gè)應(yīng)用服務(wù)器實(shí)例上同時(shí)運(yùn)行相同的應(yīng)用程序的行為,每個(gè)應(yīng)用服務(wù)器都知道群集中的其他應(yīng)用服務(wù)器。作為群集一部分的應(yīng)用服務(wù)器稱為節(jié)點(diǎn)。群集中的節(jié)點(diǎn)必須能夠互相通信,從而進(jìn)行有意義的操作,例如,復(fù)制狀態(tài)或提供故障轉(zhuǎn)移性能。由于群集離不開(kāi)負(fù)載均衡,故先討論負(fù)載均衡技術(shù)。

    2.1 負(fù)載均衡

    負(fù)載均衡是通過(guò)多個(gè)應(yīng)用服務(wù)器實(shí)例均衡傳入負(fù)載或并行請(qǐng)求的一種方式,從而使應(yīng)用程序具有可擴(kuò)展性和高可用性。擴(kuò)展性是無(wú)須更改代碼,應(yīng)用程序就可以添加硬件處理更多用戶負(fù)載的能力。因?yàn)榭梢詫?duì)負(fù)載均衡器添加多個(gè)服務(wù)器,從而均衡負(fù)載增加應(yīng)用程序可以處理的流量,因此負(fù)載均衡有助于擴(kuò)展應(yīng)用程序。高可用性是在服務(wù)器出現(xiàn)故障的情況下繼續(xù)處理請(qǐng)求的能力。

    2.2 群集的拓?fù)浜徒M成

    群集由運(yùn)行在一臺(tái)計(jì)算機(jī)或多臺(tái)計(jì)算機(jī)上的節(jié)點(diǎn)組成,群集節(jié)點(diǎn)的構(gòu)造通常指的是群集的拓?fù)?。?dāng)一個(gè)群集的節(jié)點(diǎn)位于不同計(jì)算機(jī)上時(shí),群集是水平的。節(jié)點(diǎn)位于相同計(jì)算機(jī)上時(shí),群集是垂直的。許多群集既可以是水平的,也可以是垂直的,如圖2所示:

    圖2左上角是運(yùn)行在服務(wù)器上的兩個(gè)應(yīng)用服務(wù)器實(shí)例,對(duì)這些實(shí)例進(jìn)行配置使其在相同的集群中運(yùn)行,并建立一個(gè)垂直集群,右方的水平集群由運(yùn)行在左方服務(wù)器上的一個(gè)應(yīng)用服務(wù)器實(shí)例和一個(gè)運(yùn)行在圖底部服務(wù)器上的應(yīng)用服務(wù)器實(shí)例構(gòu)成。混合群集也可以由運(yùn)行在相同計(jì)算機(jī)或不同計(jì)算機(jī)上的應(yīng)用服務(wù)器構(gòu)成。

    2.2.1 垂直集群

    (1)支撐高訪問(wèn)量。Web應(yīng)用隨著訪問(wèn)量的增長(zhǎng),通常其瓶頸會(huì)出現(xiàn)在CPU或者內(nèi)存上,網(wǎng)絡(luò)IO或磁盤(pán)IO出現(xiàn)瓶頸的幾率較低,在此僅分析當(dāng)增加CPU或內(nèi)存時(shí),應(yīng)用如何做到線性增長(zhǎng)。

    (2)增加CPU。要做到增加CPU后系統(tǒng)的服務(wù)能力線性的增長(zhǎng),要求系統(tǒng)能夠隨著CPU的增加,響應(yīng)速度提升或同時(shí)可用于處理請(qǐng)求的線程增加,需要解決以下三種情況才能提升系統(tǒng)支撐的訪問(wèn)量:

    一是鎖競(jìng)爭(zhēng)激烈。鎖競(jìng)爭(zhēng)激烈會(huì)造成多線程等待鎖,就算增加CPU,也不能讓線程得到更快處理,應(yīng)對(duì)策略是盡可能降低系統(tǒng)中鎖競(jìng)爭(zhēng)的現(xiàn)象,降低競(jìng)爭(zhēng)后,可以提升響應(yīng)速度也可以開(kāi)啟更多線程支撐訪問(wèn)量。

    二是支撐并發(fā)請(qǐng)求的線程數(shù)固定。在Java應(yīng)用中,依靠啟動(dòng)多個(gè)線程來(lái)支撐高并發(fā)量,如啟動(dòng)的線程數(shù)是固定的,那么即使CPU增加,系統(tǒng)的服務(wù)能力也不會(huì)得到提升,因此最佳的方法是根據(jù)CPU數(shù)計(jì)算出一個(gè)合理的線程數(shù)。

    三是單線程任務(wù)。對(duì)于單線程任務(wù),增加CPU不會(huì)帶來(lái)任何的提升,此時(shí)可以考慮按照CPU數(shù)對(duì)任務(wù)進(jìn)行合理劃分,以能夠通過(guò)啟動(dòng)多個(gè)線程來(lái)并行地將任務(wù)分解成多個(gè)任務(wù)完成。

    (3)增加內(nèi)存。要做到增加內(nèi)存后系統(tǒng)的服務(wù)能力線性增長(zhǎng),要求系統(tǒng)能夠隨著內(nèi)存的增加,響應(yīng)速度提升,主要關(guān)注以下兩點(diǎn)。

    一是Cache的集合大小固定。系統(tǒng)中通常會(huì)借助Cache來(lái)提升性能,而為了避免內(nèi)存資源消耗過(guò)多,會(huì)限制用于Cache的集合的大小,如這個(gè)大小是固定的,那么即使增加了內(nèi)存,Cache的數(shù)據(jù)也不會(huì)增多。

    二是JVM堆內(nèi)存是固定的。JVM堆通常是在啟動(dòng)參數(shù)中設(shè)置的,因此有些時(shí)候可能會(huì)出現(xiàn)增加了內(nèi)存,但JVM堆大小沒(méi)有調(diào)整。所以要避免GC造成CPU出現(xiàn)瓶頸。

    2.2.2 水平集群。支撐高訪問(wèn)量。對(duì)于水平集群而言,最佳情況是應(yīng)用是無(wú)狀態(tài)的,但系統(tǒng)很難做到完全沒(méi)有狀態(tài),業(yè)界通常采用一種稱為SNA的體系來(lái)指導(dǎo)如何構(gòu)建無(wú)狀態(tài)的應(yīng)用,SNA架構(gòu)在實(shí)現(xiàn)時(shí)通常采用的方法是將有狀態(tài)的部分集中放入緩存或數(shù)據(jù)庫(kù)中,通常數(shù)據(jù)庫(kù)采用集中存儲(chǔ)的方式。對(duì)于java應(yīng)用而言,通??刹扇〉姆椒ㄈ缦拢?/p>

    (1)廣播同步。廣播同步通常基于Multicast實(shí)現(xiàn),當(dāng)用戶登錄時(shí),系統(tǒng)的行為如圖3所示:

    用戶登錄時(shí),假設(shè)訪問(wèn)為節(jié)點(diǎn)A的機(jī)器,A機(jī)器在驗(yàn)證用戶的身份后,如通過(guò),則將用戶已登錄的信息廣播,廣播后節(jié)點(diǎn)B,節(jié)點(diǎn)C也就收到了此信息,因此之后用戶訪問(wèn)到節(jié)點(diǎn)B,也不會(huì)要求重新登錄。

    (2)分布式緩存。對(duì)于需要緩存的狀態(tài)數(shù)據(jù)增多的情況,可采取分布式緩存的方案來(lái)解決,分布式緩存是指由多臺(tái)機(jī)器來(lái)構(gòu)成一個(gè)緩存池,每臺(tái)機(jī)器上緩存一部分?jǐn)?shù)據(jù),采用分布式緩存后,當(dāng)用戶登陸時(shí),系統(tǒng)行為如圖4。

    用戶登錄時(shí)訪問(wèn)的是節(jié)點(diǎn)A機(jī)器,節(jié)點(diǎn)A機(jī)器在驗(yàn)證通過(guò)了用戶信息后,將用戶的信息放入分布式緩存集群中的某臺(tái)機(jī)器上,當(dāng)用戶登錄后訪問(wèn)其他功能進(jìn)入節(jié)點(diǎn)B機(jī)器時(shí),節(jié)點(diǎn)B即可從分布式緩存集群的機(jī)器上尋找用戶登錄信息。

    總之,對(duì)于分布式緩存而言,需要解決的是節(jié)點(diǎn)A和節(jié)點(diǎn)B在操作同一用戶登錄信息時(shí)能分布式緩存集群的同一臺(tái)機(jī)器上操作。

    總線服務(wù)層中包括接入服務(wù)、配置服務(wù)、統(tǒng)計(jì)分析服務(wù),這些業(yè)務(wù)服務(wù)系統(tǒng)是相對(duì)獨(dú)立的,不存在一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。這里采用MuleESB將它們通過(guò)各種適配技術(shù)連接到ESB上來(lái)。ESB服務(wù)層中有MuleESB、tomcat服務(wù)器以及weblogic應(yīng)用服務(wù)器。該層核心是ESB,它能夠?qū)崿F(xiàn)最大程度的應(yīng)用集成??蛻魬?yīng)用層對(duì)請(qǐng)求用戶操作結(jié)算系統(tǒng)提供用戶界面。

    3.2 業(yè)務(wù)邏輯設(shè)計(jì)

    3.2.1 系統(tǒng)中Web服務(wù)查詢流程:

    (1)服務(wù)查詢者構(gòu)建SOAP消息,發(fā)送給WebLogic應(yīng)用服務(wù)器。

    (2)如果沒(méi)有得到服務(wù)器響應(yīng),則連接失敗,調(diào)用結(jié)束。

    (3)應(yīng)用服務(wù)器收到查詢請(qǐng)求后,在后臺(tái)數(shù)據(jù)源中查找相應(yīng)Web服務(wù)的信息。

    (4)后臺(tái)數(shù)據(jù)源向應(yīng)用服務(wù)器返回相應(yīng)的查詢結(jié)果。

    (5)應(yīng)用服務(wù)器將結(jié)果以SOAP消息形式,返回給服務(wù)查詢者。

    3.2.2 系統(tǒng)中MuleESB消息流程:

    (1)外部應(yīng)用程序服務(wù)發(fā)出請(qǐng)求消息后,消息接收器上的監(jiān)聽(tīng)進(jìn)程監(jiān)聽(tīng)到該消息,消息接收器根據(jù)業(yè)務(wù)流程器定義文件中定義的配置信息,獲取訪問(wèn)點(diǎn)URL。

    (2)消息接收器通過(guò)解析訪問(wèn)點(diǎn)URL,獲取所使用的連接器描述符。

    (3)消息接收器根據(jù)連接器描述符的具體配置快速定位到相應(yīng)的連接器。

    (4)根據(jù)業(yè)務(wù)流程定義文件,如果訪問(wèn)點(diǎn)URL上配置有消息轉(zhuǎn)換器,則轉(zhuǎn)5,否則轉(zhuǎn)6。

    (5)連接器調(diào)用消息轉(zhuǎn)換器進(jìn)行消息轉(zhuǎn)換。

    (6)消息分配器獲得轉(zhuǎn)換后的消息,將該消息發(fā)送給外部應(yīng)用程序服務(wù)接收或者消息路由器。

    (7)流程結(jié)束。

    4 結(jié)語(yǔ)

    隨著國(guó)內(nèi)外眾多研究機(jī)構(gòu)、學(xué)者以及企業(yè)對(duì)CRM系統(tǒng)的研究的深入,關(guān)于CRM系統(tǒng)的研究已涌現(xiàn)出諸多成果。如學(xué)者李兵研究了CRM產(chǎn)品應(yīng)用集成技術(shù);國(guó)外SAP、SIEBEL、IBM等IT企業(yè)推出了CRM的解決方案,ORACLE等企業(yè)已把CRM系統(tǒng)的應(yīng)用作為一個(gè)重要的發(fā)展方向。本論文討論了以下幾個(gè)問(wèn)題:

    (1)目前電信CRM系統(tǒng)使用的分布式通信的原理。

    (2)研究實(shí)現(xiàn)SOA平臺(tái)的流行框架:ESB。

    (3)研究電信集團(tuán)CRM群集構(gòu)建系統(tǒng)的原理及功能架構(gòu)設(shè)計(jì)。

    參考文獻(xiàn)

    [1] 倪曉熔.電信企業(yè)ERP系統(tǒng)解決方案及應(yīng)用[J].電信

    網(wǎng)技術(shù),2005,30(5).

    [2] 林昊.分布式Java應(yīng)用[M].北京:電子工業(yè)出版社,2010.

    [3] 賀新征.Oracle Weblogic Server 開(kāi)發(fā)權(quán)威指南[M].北京:清華大學(xué)出版社,2011.

    [4] 曾海穎.客戶關(guān)系管理中的數(shù)據(jù)挖掘[D].南京航空航天大學(xué), 2003.

    作者簡(jiǎn)介:杜劍勐(1980-),男(壯族),廣西柳州人,中國(guó)電信股份有限公司上海企業(yè)信息化運(yùn)營(yíng)中心工程師,碩士,研究方向:軟件工程。

    国产69精品久久久久777片| 永久免费av网站大全| 日日摸夜夜添夜夜添av毛片| 亚洲精品乱码久久久v下载方式| 少妇的逼水好多| 成人美女网站在线观看视频| av视频免费观看在线观看| 欧美老熟妇乱子伦牲交| av网站免费在线观看视频| 国产一区二区在线观看av| 亚洲国产精品一区三区| 最近2019中文字幕mv第一页| 香蕉精品网在线| 80岁老熟妇乱子伦牲交| 成人毛片a级毛片在线播放| 美女大奶头黄色视频| 菩萨蛮人人尽说江南好唐韦庄| 久久午夜综合久久蜜桃| 国产中年淑女户外野战色| 国产亚洲av片在线观看秒播厂| 亚洲久久久国产精品| 成人毛片60女人毛片免费| 国产一区二区在线观看av| 黄色怎么调成土黄色| 最近的中文字幕免费完整| 免费黄网站久久成人精品| 一个人免费看片子| 国产av码专区亚洲av| 日本色播在线视频| 中文精品一卡2卡3卡4更新| 在线观看国产h片| 亚洲av免费高清在线观看| 国产爽快片一区二区三区| 高清视频免费观看一区二区| 欧美精品一区二区免费开放| 成人影院久久| 一区二区三区免费毛片| a 毛片基地| 亚洲精品一区蜜桃| 国产av精品麻豆| 国产 一区精品| 一边亲一边摸免费视频| 一区二区三区免费毛片| 在线亚洲精品国产二区图片欧美 | 香蕉精品网在线| 欧美高清成人免费视频www| 免费观看av网站的网址| 各种免费的搞黄视频| 我的女老师完整版在线观看| 插阴视频在线观看视频| 亚洲精品乱码久久久v下载方式| 在线精品无人区一区二区三| 国产精品成人在线| 亚洲国产精品一区三区| 国产日韩欧美视频二区| av视频免费观看在线观看| 人妻夜夜爽99麻豆av| 26uuu在线亚洲综合色| 99九九线精品视频在线观看视频| 欧美3d第一页| 赤兔流量卡办理| 国产成人精品无人区| 草草在线视频免费看| 国产国拍精品亚洲av在线观看| 国产精品人妻久久久影院| 亚洲国产欧美在线一区| 亚洲av福利一区| 高清av免费在线| 国产高清国产精品国产三级| 少妇 在线观看| 美女中出高潮动态图| 日本免费在线观看一区| 777米奇影视久久| 久久午夜福利片| 在线亚洲精品国产二区图片欧美 | 国产一区二区三区av在线| 97在线视频观看| a 毛片基地| 两个人免费观看高清视频 | 亚洲欧美日韩另类电影网站| 国产伦理片在线播放av一区| 3wmmmm亚洲av在线观看| 最后的刺客免费高清国语| 伊人久久国产一区二区| 中文字幕人妻丝袜制服| 日韩av免费高清视频| 99久国产av精品国产电影| 丁香六月天网| 欧美日韩综合久久久久久| 最新中文字幕久久久久| 一级毛片我不卡| 国产亚洲av片在线观看秒播厂| 国产有黄有色有爽视频| 在线观看三级黄色| 国产精品一二三区在线看| 久久av网站| 国产午夜精品久久久久久一区二区三区| 亚洲欧洲精品一区二区精品久久久 | 人妻夜夜爽99麻豆av| 久久国产乱子免费精品| 久久人人爽av亚洲精品天堂| 精品少妇内射三级| 蜜桃久久精品国产亚洲av| 亚洲经典国产精华液单| 日韩三级伦理在线观看| 久久精品夜色国产| 国产一区二区三区综合在线观看 | 欧美精品一区二区大全| 夫妻午夜视频| 丝袜在线中文字幕| 精品国产露脸久久av麻豆| 亚洲av男天堂| 久久国内精品自在自线图片| 91精品一卡2卡3卡4卡| av在线观看视频网站免费| 久久人人爽av亚洲精品天堂| 亚洲精品乱码久久久v下载方式| 国产男女超爽视频在线观看| 成人国产av品久久久| 欧美xxxx性猛交bbbb| 赤兔流量卡办理| av在线观看视频网站免费| 视频中文字幕在线观看| 亚洲不卡免费看| 大陆偷拍与自拍| 一级毛片 在线播放| 欧美 亚洲 国产 日韩一| 99热这里只有是精品50| 亚洲精品亚洲一区二区| 免费观看性生交大片5| 纯流量卡能插随身wifi吗| 伦理电影大哥的女人| 精品久久久久久电影网| 久久国内精品自在自线图片| 熟女av电影| 国产精品无大码| 日本爱情动作片www.在线观看| 欧美日韩亚洲高清精品| 人体艺术视频欧美日本| 一边亲一边摸免费视频| 免费看av在线观看网站| 日韩熟女老妇一区二区性免费视频| 久久久久久久久大av| 性色avwww在线观看| av在线老鸭窝| 久久99一区二区三区| 少妇的逼好多水| 大香蕉97超碰在线| 18+在线观看网站| 一区在线观看完整版| av国产精品久久久久影院| 久久久久久久大尺度免费视频| 成人免费观看视频高清| 大码成人一级视频| 国产乱来视频区| 国产伦在线观看视频一区| 国产精品无大码| 国产精品久久久久久av不卡| 久久久久久久久久久丰满| 高清毛片免费看| 欧美xxⅹ黑人| 99九九线精品视频在线观看视频| 自线自在国产av| 成人免费观看视频高清| 多毛熟女@视频| 麻豆精品久久久久久蜜桃| 久久这里有精品视频免费| 亚洲av中文av极速乱| 亚洲情色 制服丝袜| 亚洲av综合色区一区| 伦理电影大哥的女人| 日日撸夜夜添| 一级黄片播放器| 色5月婷婷丁香| 精品久久久久久久久亚洲| 91久久精品国产一区二区三区| 国产精品久久久久久精品古装| 精品酒店卫生间| 美女国产视频在线观看| 麻豆成人午夜福利视频| 日韩,欧美,国产一区二区三区| 少妇被粗大猛烈的视频| 中文乱码字字幕精品一区二区三区| 精品视频人人做人人爽| 国内揄拍国产精品人妻在线| 麻豆成人午夜福利视频| 欧美激情国产日韩精品一区| 日韩大片免费观看网站| 人妻系列 视频| 不卡视频在线观看欧美| 精品国产一区二区久久| 国产精品熟女久久久久浪| av视频免费观看在线观看| 国产真实伦视频高清在线观看| 91精品国产国语对白视频| 亚洲第一av免费看| 这个男人来自地球电影免费观看 | 亚洲精品成人av观看孕妇| 伦精品一区二区三区| 亚洲综合色惰| 国产精品一二三区在线看| 五月开心婷婷网| 亚洲一级一片aⅴ在线观看| 简卡轻食公司| 看免费成人av毛片| 啦啦啦在线观看免费高清www| 国产亚洲一区二区精品| 九九在线视频观看精品| 久久午夜综合久久蜜桃| 免费少妇av软件| 欧美亚洲 丝袜 人妻 在线| 在线观看免费高清a一片| 国产成人精品一,二区| 汤姆久久久久久久影院中文字幕| 一区二区三区免费毛片| 熟女av电影| 日本vs欧美在线观看视频 | 久久久久精品久久久久真实原创| 国产老妇伦熟女老妇高清| kizo精华| 七月丁香在线播放| 青春草国产在线视频| 五月开心婷婷网| 高清av免费在线| 特大巨黑吊av在线直播| 日韩一本色道免费dvd| 久久97久久精品| 午夜影院在线不卡| 日本av免费视频播放| 性色avwww在线观看| 精品视频人人做人人爽| 亚洲欧美一区二区三区黑人 | 免费在线观看成人毛片| 在线观看免费视频网站a站| 日产精品乱码卡一卡2卡三| √禁漫天堂资源中文www| 免费在线观看成人毛片| 九草在线视频观看| 国产成人免费观看mmmm| 欧美 亚洲 国产 日韩一| 成人午夜精彩视频在线观看| 国产精品成人在线| 亚洲欧美日韩卡通动漫| 久久久久久久国产电影| 欧美人与善性xxx| 如日韩欧美国产精品一区二区三区 | 人妻制服诱惑在线中文字幕| 亚洲精品久久久久久婷婷小说| 国产国拍精品亚洲av在线观看| 99九九在线精品视频 | 亚洲自偷自拍三级| 欧美成人精品欧美一级黄| 免费观看在线日韩| 日日摸夜夜添夜夜爱| 美女中出高潮动态图| 哪个播放器可以免费观看大片| 老司机亚洲免费影院| 欧美老熟妇乱子伦牲交| 国产欧美另类精品又又久久亚洲欧美| 国产精品蜜桃在线观看| 日本-黄色视频高清免费观看| 99九九线精品视频在线观看视频| 欧美97在线视频| 久久精品国产自在天天线| 国产老妇伦熟女老妇高清| av有码第一页| 亚洲情色 制服丝袜| 国产高清三级在线| av免费观看日本| 亚洲精品日本国产第一区| 99国产精品免费福利视频| 一本色道久久久久久精品综合| 国产视频内射| 国产免费一级a男人的天堂| 色视频在线一区二区三区| 99热这里只有是精品50| 一区二区av电影网| 狂野欧美激情性bbbbbb| 成年美女黄网站色视频大全免费 | 亚洲成人一二三区av| 亚洲精品aⅴ在线观看| 国精品久久久久久国模美| 国产欧美日韩精品一区二区| 女人精品久久久久毛片| 丝袜在线中文字幕| 亚洲精品久久久久久婷婷小说| 国语对白做爰xxxⅹ性视频网站| 国产又色又爽无遮挡免| 亚洲av.av天堂| 国产精品国产三级国产专区5o| 全区人妻精品视频| 天美传媒精品一区二区| 午夜免费男女啪啪视频观看| 日韩中文字幕视频在线看片| 老熟女久久久| 在线观看免费日韩欧美大片 | 一级毛片aaaaaa免费看小| 一区在线观看完整版| 亚洲国产精品成人久久小说| 久久久久久久久久人人人人人人| 人人妻人人添人人爽欧美一区卜| 国产精品熟女久久久久浪| 久久久国产精品麻豆| 男女国产视频网站| 欧美一级a爱片免费观看看| 搡女人真爽免费视频火全软件| 男人和女人高潮做爰伦理| 欧美日本中文国产一区发布| 国产男女内射视频| 国产亚洲av片在线观看秒播厂| 欧美日韩视频精品一区| 精品一区二区三区视频在线| 亚洲成人av在线免费| 亚洲精品久久午夜乱码| 人妻 亚洲 视频| 国产伦精品一区二区三区视频9| 亚洲精品第二区| 两个人的视频大全免费| 一区二区三区乱码不卡18| 大香蕉久久网| 成人影院久久| 在线播放无遮挡| 97在线视频观看| 美女中出高潮动态图| 一本—道久久a久久精品蜜桃钙片| 成年av动漫网址| 如日韩欧美国产精品一区二区三区 | 午夜91福利影院| 伦理电影大哥的女人| 精品少妇久久久久久888优播| 中国美白少妇内射xxxbb| 黑人猛操日本美女一级片| 日韩视频在线欧美| 国产国拍精品亚洲av在线观看| 少妇精品久久久久久久| 色吧在线观看| 国产色爽女视频免费观看| 国产成人91sexporn| 丝瓜视频免费看黄片| 少妇丰满av| 91精品国产九色| 久久99蜜桃精品久久| 在线免费观看不下载黄p国产| 男的添女的下面高潮视频| 国内精品宾馆在线| 国产免费福利视频在线观看| 男人爽女人下面视频在线观看| 国产熟女欧美一区二区| 午夜福利影视在线免费观看| 永久网站在线| 久久久久精品性色| 亚洲精品乱码久久久久久按摩| 曰老女人黄片| 男的添女的下面高潮视频| 国产片特级美女逼逼视频| 你懂的网址亚洲精品在线观看| 久久6这里有精品| 亚洲国产日韩一区二区| 美女福利国产在线| 亚洲av二区三区四区| 国精品久久久久久国模美| 亚洲,欧美,日韩| 久久综合国产亚洲精品| 久久毛片免费看一区二区三区| 九九爱精品视频在线观看| 夜夜爽夜夜爽视频| 人人妻人人澡人人看| 国产男人的电影天堂91| 黄色欧美视频在线观看| av免费观看日本| 特大巨黑吊av在线直播| 男女边摸边吃奶| a 毛片基地| h日本视频在线播放| 91精品国产国语对白视频| 日韩一区二区视频免费看| 亚洲内射少妇av| 亚洲精品国产av蜜桃| freevideosex欧美| 青春草国产在线视频| 欧美日韩一区二区视频在线观看视频在线| 最后的刺客免费高清国语| 中文资源天堂在线| 国产综合精华液| 日韩一区二区三区影片| 哪个播放器可以免费观看大片| 91久久精品国产一区二区成人| 国产精品不卡视频一区二区| 一级二级三级毛片免费看| 国产色爽女视频免费观看| 国产欧美另类精品又又久久亚洲欧美| 亚洲av不卡在线观看| 五月伊人婷婷丁香| 校园人妻丝袜中文字幕| 久久久国产精品麻豆| 国产男人的电影天堂91| 91成人精品电影| 黑人高潮一二区| 亚洲成人一二三区av| 精华霜和精华液先用哪个| 我要看黄色一级片免费的| 国产免费福利视频在线观看| 美女内射精品一级片tv| 夫妻性生交免费视频一级片| 青青草视频在线视频观看| 久久av网站| 国产成人精品婷婷| 久久精品国产a三级三级三级| 久久久久久伊人网av| 青春草国产在线视频| 亚洲精品乱码久久久久久按摩| 我要看黄色一级片免费的| 欧美日本中文国产一区发布| 卡戴珊不雅视频在线播放| 亚洲人成网站在线观看播放| 丰满迷人的少妇在线观看| 在线观看人妻少妇| 久久免费观看电影| 成人二区视频| 男女啪啪激烈高潮av片| 一级黄片播放器| 日本免费在线观看一区| 亚洲,一卡二卡三卡| av有码第一页| 9色porny在线观看| 九草在线视频观看| 我要看日韩黄色一级片| 免费看光身美女| 久久久国产一区二区| 欧美xxxx性猛交bbbb| 久久99蜜桃精品久久| 久久久久精品性色| 自拍偷自拍亚洲精品老妇| 美女cb高潮喷水在线观看| a级一级毛片免费在线观看| 成人18禁高潮啪啪吃奶动态图 | 在线观看www视频免费| 午夜福利网站1000一区二区三区| 三级国产精品片| 亚洲国产精品一区二区三区在线| 国产精品久久久久久精品电影小说| 国产黄片美女视频| 午夜久久久在线观看| 人人妻人人看人人澡| 各种免费的搞黄视频| 人妻 亚洲 视频| 亚洲自偷自拍三级| 赤兔流量卡办理| 免费不卡的大黄色大毛片视频在线观看| 久久99热6这里只有精品| 国产亚洲精品久久久com| 国产在线免费精品| 十分钟在线观看高清视频www | 国产精品熟女久久久久浪| 国产在线视频一区二区| 搡老乐熟女国产| 精品少妇黑人巨大在线播放| 91久久精品国产一区二区三区| 在线观看人妻少妇| 男女国产视频网站| 黄色欧美视频在线观看| 一级二级三级毛片免费看| 午夜免费观看性视频| 成人漫画全彩无遮挡| 免费人成在线观看视频色| 国产视频首页在线观看| 国产淫语在线视频| 搡女人真爽免费视频火全软件| 一级爰片在线观看| 国产伦精品一区二区三区视频9| 老司机亚洲免费影院| 国产精品国产三级专区第一集| 中文字幕精品免费在线观看视频 | 日本av手机在线免费观看| 午夜视频国产福利| 亚洲情色 制服丝袜| 另类亚洲欧美激情| 久久久久久久精品精品| 中国美白少妇内射xxxbb| 久久久久精品久久久久真实原创| 一级爰片在线观看| 久久久久久久久大av| 99久久精品一区二区三区| 亚洲av.av天堂| 久久久久精品性色| 精华霜和精华液先用哪个| 国产精品一二三区在线看| 亚洲欧美成人综合另类久久久| 超碰97精品在线观看| 亚洲av成人精品一二三区| 18禁动态无遮挡网站| 极品人妻少妇av视频| 久久精品国产a三级三级三级| 亚洲精品日韩在线中文字幕| 午夜精品国产一区二区电影| 制服丝袜香蕉在线| 三级国产精品片| 22中文网久久字幕| 国产91av在线免费观看| av免费观看日本| av在线老鸭窝| 我的女老师完整版在线观看| 欧美变态另类bdsm刘玥| 有码 亚洲区| 国产一区有黄有色的免费视频| 久久久久人妻精品一区果冻| av视频免费观看在线观看| 免费观看无遮挡的男女| 国产一区二区三区综合在线观看 | 国产成人精品福利久久| 精品久久久久久久久av| kizo精华| 欧美少妇被猛烈插入视频| 国产精品一区二区三区四区免费观看| 18禁在线播放成人免费| 在线天堂最新版资源| 一区二区三区乱码不卡18| 国产黄色免费在线视频| 2021少妇久久久久久久久久久| 国产精品偷伦视频观看了| 国产中年淑女户外野战色| 中文天堂在线官网| 国产爽快片一区二区三区| 欧美bdsm另类| 国产免费又黄又爽又色| 五月玫瑰六月丁香| 午夜福利,免费看| 国产高清国产精品国产三级| 欧美最新免费一区二区三区| 99久久综合免费| 欧美+日韩+精品| 国产高清有码在线观看视频| 99视频精品全部免费 在线| 美女cb高潮喷水在线观看| 男女啪啪激烈高潮av片| 人妻系列 视频| 人妻夜夜爽99麻豆av| 特大巨黑吊av在线直播| 精品久久久久久久久亚洲| 日韩视频在线欧美| 久久久久视频综合| 色5月婷婷丁香| 一本大道久久a久久精品| 亚洲第一区二区三区不卡| 亚洲精品中文字幕在线视频 | 一本久久精品| 亚洲精品亚洲一区二区| 亚洲国产色片| 欧美日韩精品成人综合77777| 午夜影院在线不卡| 国产亚洲午夜精品一区二区久久| 国产黄片美女视频| 嫩草影院入口| 蜜臀久久99精品久久宅男| 亚洲av不卡在线观看| 草草在线视频免费看| 午夜免费男女啪啪视频观看| 国产日韩一区二区三区精品不卡 | 国产精品人妻久久久久久| 91久久精品国产一区二区三区| 国产男女超爽视频在线观看| 国产av国产精品国产| 性高湖久久久久久久久免费观看| 简卡轻食公司| 22中文网久久字幕| 亚洲国产精品国产精品| 久久精品国产自在天天线| 久热这里只有精品99| 91精品国产国语对白视频| 国产男女超爽视频在线观看| 久久99热6这里只有精品| 成人黄色视频免费在线看| 在线观看一区二区三区激情| av免费在线看不卡| 亚洲无线观看免费| 成人18禁高潮啪啪吃奶动态图 | 午夜视频国产福利| 91久久精品国产一区二区三区| 欧美日韩综合久久久久久| 插阴视频在线观看视频| 久久99蜜桃精品久久| 另类精品久久| 国产男女内射视频| 亚洲精华国产精华液的使用体验| 我要看黄色一级片免费的| 免费观看在线日韩| 久久久久久久大尺度免费视频| 欧美日韩精品成人综合77777| 久久久精品免费免费高清| 色哟哟·www| 国产av精品麻豆| 一区二区三区乱码不卡18| 一区在线观看完整版| 国产精品久久久久久精品古装| 一边亲一边摸免费视频| 亚洲丝袜综合中文字幕| 欧美日韩国产mv在线观看视频| 最近中文字幕2019免费版| 久久人人爽人人片av| 婷婷色麻豆天堂久久| 国产亚洲av片在线观看秒播厂| 一本—道久久a久久精品蜜桃钙片| 亚洲欧美日韩东京热| 亚洲精品久久午夜乱码| 日韩av不卡免费在线播放| 丝袜脚勾引网站| 免费人妻精品一区二区三区视频| 简卡轻食公司| av免费在线看不卡| videos熟女内射| 观看美女的网站| 精品酒店卫生间| 韩国高清视频一区二区三区| 亚洲国产精品一区二区三区在线| 高清毛片免费看|