東進DN背后的故事
賀建楠 2002/12/09
痛下決心做DN
2002年4月底,國內(nèi)CTI基礎(chǔ)硬件廠商東進技術(shù)正式對外發(fā)布了DN系列產(chǎn)品,它采用CT-Bus總線結(jié)構(gòu),提供PCI和 Compact PCI兩種接口,支持H.100標準和H.110標準,具有單機支持至少480路,通過“過機卡”構(gòu)建的多機CTI系統(tǒng),可支持至4096無阻塞交換等特性。此外,該產(chǎn)品還具有全面兼容Intel
Dialogic產(chǎn)品的特點。
東進技術(shù)為什么要做DN?為什么要開發(fā)NADK的軟件開發(fā)平臺?為什么產(chǎn)品目標直指Intel Dialogic?這是許多人都關(guān)注的問題。
要完全說清楚這個問題,得從東進技術(shù)的發(fā)展談起。
1993年,東進技術(shù)研制出中國第一片電話語音處理卡。經(jīng)過5年的不斷發(fā)展,東進TC系列產(chǎn)品已基本成熟,包括模擬接口卡、E1接口卡、FAX資源卡等產(chǎn)品,已被廣泛地應(yīng)用于金融、證券、電信、航空、電力、交通以及公共安全等多個領(lǐng)域,并在市場上取得了良好的成績,品牌知名度和市場占有率持續(xù)上升。
從1999年開始,東進技術(shù)正式推出了其升級換代產(chǎn)品——D系列電話語音處理卡。當(dāng)時,東進D系列產(chǎn)品,采用的硬件技術(shù)都是國際上最新、最前沿的,包括DSP等元器件、算法、生產(chǎn)工藝等。東進D系列產(chǎn)品在硬件技術(shù)、性能上,已經(jīng)和Dialogic產(chǎn)品相當(dāng),在某些方面甚至可以說已超過了Dialogic。作為中國市場乃至全球CTI板卡的龍頭老大,Dialogic(現(xiàn)已被Intel收購,更名為Intel
Dialogic)的市場份額是最大的。因此,東進技術(shù)上下都很興奮,認為可以從它的市場份額中搶下一塊來。
但一年以后,情況并沒有發(fā)生太大的變化。經(jīng)過仔細地分析、研究和客戶回訪,東進技術(shù)發(fā)現(xiàn)問題的根源是編程方式。東進D系列電話語音處理卡的編程方法、函數(shù)接口延續(xù)了TC系列的方式,與其保持兼容,以方便原來東進TC系列的用戶可以平滑地過渡到D系列產(chǎn)品上。但是,這種編程方式,對于成千上萬原有的基于Dialogic卡的開發(fā)工程師來說,卻是不熟悉的。他們?nèi)绻胍褂脰|進D系列卡,就需要重新開發(fā)一套完全不同的系統(tǒng),新系統(tǒng)還需要經(jīng)過嚴格的測試。在投入使用后,還需要同時維護Dialogic、東進兩套系統(tǒng)的平臺軟件。這樣就抵消了東進產(chǎn)品在價格、性能和服務(wù)上的優(yōu)勢。
就像在桌面操作系統(tǒng)上發(fā)生過的事——在微軟的Windows已經(jīng)成了事實上的標準和市場占有率第一的產(chǎn)品后,IBM的OS/2 雖然在技術(shù)上領(lǐng)先Windows,但在市場上還是失敗了。另一個案例是Linux為了適應(yīng)原Windows用戶的習(xí)慣,不斷推出類似Windows的系統(tǒng)界面、類似Office的應(yīng)用軟件等,只有這樣,才可能吸引Windows用戶來使用Linux。
正因為如此,2000年,東進技術(shù)做出了一個大膽的戰(zhàn)略決策:開發(fā)DN系列硬件產(chǎn)品,軟件平臺全面兼容Intel Dialogic,軟件平臺命名為NADK(New
Architecture Development Kits)。該項目在東進技術(shù)內(nèi)部的代號為“T項目”(Tomorrow)。當(dāng)時的看法是,這個項目將決定東進技術(shù)的明天,是繼續(xù)保持當(dāng)前的線性增長,還是將能夠與Dialogic進行競爭。
“T項目”,在東進技術(shù)內(nèi)部屬于重中之重的項目,整個公司集中了優(yōu)勢的資源,參與到了這個項目中去。經(jīng)過項目組人員的辛勤工作,2001年底,東進DN系列產(chǎn)品和NADK軟件包的Beta版終于出來了。
與Dialogic全面兼容
2001年底,東進DN系列產(chǎn)品的Beta版出來后,很多用戶聽到該產(chǎn)品的重要特性——全面兼容Intel Dialogic產(chǎn)品,都對此表示驚訝,第一反應(yīng)都認為不可能。那么它是如何做到這一點的呢?
要真正地說清楚這一點,需要從產(chǎn)品的硬件結(jié)構(gòu)和NADK軟件體系來談。
首先,東進DN系列板卡的硬件結(jié)構(gòu)為兼容Dialogic板卡提供了硬件基礎(chǔ)。東進DN系列板卡采用多片功能強大的數(shù)字信號處理器,處理能力達400MIPS~1000MIPS;再配合高性能的DSP算法,能確保實時、高效地處理多種資源通道(包括語音、傳真、信令、會議等)的多種任務(wù)。為了對Dialogic板卡的各項功能提供有力的支持,因此,東進DN系列板卡采用了國際標準CT-Bus總線結(jié)構(gòu),支持H.100、H.110標準,提供4096路交換能力,可以輕松完成Dialogic
板卡SC-BUS 1024時隙交換功能。
其次,從軟件方面看,東進DN系列產(chǎn)品采用合理、高效和穩(wěn)定的NADK體系結(jié)構(gòu),完全運用模塊化設(shè)計理念,全面兼容Dialogic的函數(shù)接口,支持Dialogic的7種編程接口,支持事件驅(qū)動,支持多進程和多線程的編程方式,使開發(fā)更靈活。
NADK整個體系分應(yīng)用層、驅(qū)動層和硬件功能等三層。
應(yīng)用層處于NADK的最上層,主要功能是為應(yīng)用程序提供函數(shù)API接口,把驅(qū)動產(chǎn)生的事件通過SRL函數(shù)接口返回給應(yīng)用程序,管理在多個線程中的函數(shù)調(diào)用,同時與驅(qū)動層進行進程間的通信,向驅(qū)動層發(fā)送函數(shù)操作消息,接收返回結(jié)果。
驅(qū)動層處于NADK的中間層,主要功能是統(tǒng)一管理全局的設(shè)備,建立各應(yīng)用進程打開的設(shè)備和板卡上的邏輯設(shè)備的映射關(guān)系,將應(yīng)用進程打開的設(shè)備標識轉(zhuǎn)換成板卡上的邏輯設(shè)備標識,通過硬件驅(qū)動,將操作傳送到對應(yīng)板卡的嵌入系統(tǒng)中;同時,將板卡產(chǎn)生的消息(如設(shè)備事件、操作結(jié)果)經(jīng)過設(shè)備映射表轉(zhuǎn)換,通過通信傳送模塊返回到指定的應(yīng)用進程。
硬件功能層處于NADK的最底層,也是實現(xiàn)各種操作的功能層。各個功能模塊都在板卡的嵌入式系統(tǒng)中運行,接收驅(qū)動的指令,完成對應(yīng)操作,返回事件和結(jié)果。由于有驅(qū)動層的全局管理的功能,硬件層完全不需知道有多少個應(yīng)用在使用它的服務(wù),只要把各邏輯設(shè)備的操作結(jié)果返回到驅(qū)動層即可。由于主要的運算和操作都在板卡上進行,這樣可有效降低系統(tǒng)的CPU占用時間,提高整機的處理密度和穩(wěn)定性。
這樣,無論是在硬件的基礎(chǔ),還是軟件的體系結(jié)構(gòu)上,皆為東進DN系列產(chǎn)品與Intel Dialogic板卡的兼容提供有力保證。
移植東進DN的快樂之一
我已談過,基于DSP設(shè)計的硬件框架為東進DN兼容Dialogic產(chǎn)品提供了可能性。從個人來說,作為“T項目”的工程師,在研發(fā)過程中,我與伙伴們都體會到了逐步實現(xiàn)既定目標的喜悅。
系統(tǒng)移植會有快樂?是的,將東進DN移植到為Dialogic產(chǎn)品設(shè)計的系統(tǒng)中就這樣。為什么?答案就是:簡單。
東進DN移植過程只有三步——首先,從工程中刪除Dialogic的*.lib庫文件;其次,把NADK的*.lib文件添加到工程中;最后,重新編譯應(yīng)用工程。當(dāng)然,前提是:請先確認你的機器中已經(jīng)安裝了東進DN產(chǎn)品和NADK新軟件開發(fā)包!
NADK是和Dialogic SR5.0版本相兼容的軟件開發(fā)平臺,它具有:提供與Dialogic完全一致的函數(shù)接口;兼容Dialogic的各種編程模式,提供靈活的同步、異步編程模式;支持多線程和事件驅(qū)動;程序執(zhí)行效率與Dialogic相比更勝一籌;支持vox/pcm/wav等多種語音格式;支持Win2000/WinNT操作系統(tǒng)等特點。
NADK支持Dialogic SR5.0所支持的所有七種編程模式,包括:同步模式、異步模式、擴展異步模式、同步SRL回調(diào)模式、異步SRL回調(diào)模式、異步windows回調(diào)模式、與Win32同步模式。最新的NADK版本已能夠支持msi_(坐席)、dx_(語音)、dt_(數(shù)字中繼)、cc_(ISDN)、fx_(傳真)、dcb_(會議)、sr_(SRL事件管理)等函數(shù)。這些函數(shù)都提供與Dialogic的函數(shù)接口一致,并且兼容的編程模式。
此外,NADK的最新版本,都會及時在東進網(wǎng)站上發(fā)布,以供用戶更新。需要說明的是,NADK不支持Dialogic SR5.0中的部分函數(shù)。如:只支持ISDN中CTR4協(xié)議,因為目前國內(nèi)ISDN只使用該協(xié)議,而與其他協(xié)議相關(guān)的函數(shù)尚未支持。
對CTI工程師來說,還有一件事需要關(guān)心:東進DN都支持哪些語音格式?讓人高興的是,東進DN支持包括vox、pcm、wav等在內(nèi)的多種語音格式。比如,OKI
24Kbps和32Kbps ADPCM(即:Dialogic采用的VOX格式);48Kbps 和64Kbps A律、μ律編碼的 G.711 PCM;64Kbps、48Kbps線性或A律、μ律PCM編碼的WAV格式;32Kbps、24Kbps
OKI ADPCM編碼的WAV格式等。
這樣,原來所使用的大量聲音文件,可以不做任何改變而直接在東進DN上使用,免去了煩瑣的語音格式轉(zhuǎn)換工作,并為工程應(yīng)用提供了多種語音格式選擇。
當(dāng)然,東進DN設(shè)計的初衷并不僅僅只是和Dialogic兼容,還希望能“青出于藍而勝于藍”,這已經(jīng)從部分指標上體現(xiàn)出來了。如:通過測試,DN卡中國一號信令接續(xù)速度比Dialogic快20%。
從軟件層面看是這樣,應(yīng)用層面上看也同樣如此——底層的板卡和驅(qū)動,對于應(yīng)用層面來說是透明的,在硬件上不論使用Dialogic產(chǎn)品,還是東進DN系列產(chǎn)品,對于應(yīng)用程序來說是沒有區(qū)別的。所以,CTI工程師們要完成東進DN的移植就是一件很愉快的事情了。不但免去了熟悉另外一種卡、另外一種編程模式的痛苦,也免去了改寫程序的巨大痛苦(相信不少人都有過類似的經(jīng)歷)。對于熟悉Dialogic產(chǎn)品的工程師來說,用東進DN系列產(chǎn)品,做編程和開發(fā)工作,就如原來一樣熟悉而簡單,并且在成本、性能、技術(shù)服務(wù)等方面,還有獨特的吸引力。何樂而不為呢?
計算機世界網(wǎng)(www.ccw.com.cn)
相關(guān)鏈接: