午飯是在華威的小食堂吃的。
雖然華威規模不大,但是員工待遇真是沒的說。
特別是這個時代,華威的食堂肉蛋奶果蔬齊全,味道雖然算不上特別好,但是營養絕對均衡。
吃完飯,眾人又休息了一小時,然後迴到會議室,繼續接下來的講解。
有了上午的鋪墊,下午的講解更是駕輕就熟。
“接下來,我們談一談兩千門數字程控交換機程控交換軟件的設計以及一些算法特點。”
“程控交換機交換軟件的基本任務就是控製交換機的運行,也就是完成唿叫處理,程控交換機的特點就是業務量大,實時性和可靠性要求高,因此,對運行軟件也要求有較高的實施效率,能夠處理大量的唿叫,必須保證通信業務的不間斷性。”
“正因為如此,交換軟件必須具備三大特點,實時性,多任務並發執行,高可靠性。”
“從某種意義上說,程控交換機的軟件係統是操作係統與應用軟件的集合,操作係統是計算機硬件與應用軟件之間的接口,是一個實時多任務的操作係統,這種操作係統,要求對隨機發生的外部事件做出及時的響應並進行處理,雖然事件的發生時間無法預知,但必須在事件發生時,能夠在嚴格的時限內作出響應,即使在負荷較大的情況下。”
“此外,操作係統還必須支持多任務的並發處理,由於多任務的並發性,因而必然會引起任務的同步互斥,通信以及資源共享等問題。由於程控交換機的控製係統,多采用分布式的多處理器結構,所以其操作係統也必須具備網絡操作係統和分布式操作係統的特點。”
“正因為以上種種原因,程控交換機的操作係統對任務調度一般采用基於優先級的搶占式調度算法。”
“即係統中的每個任務都擁有一個優先級,任何時刻係統內核將cpu分配給處於等待隊列中優先級最高的任務運行。搶占式,指的是如果係統內核一旦發現優先級比當前正在運行的任務的優先級高的任務,則當前任務退出cpu,進入等待隊列,立即切換到高優先級的任務執行,在處理同優先級別的任務是采用先來先服務或者輪轉調度的算法。”
“當然,在程控交換係統中,我們可以按照緊急性和實時性的要求,將不同的任務分為三種,故障級任務、周期及任務和基本任務。”
“故障級任務處理功能具有最高優先級,周期任務指的是由時鍾中斷周期性啟動執行的任務,周期級任務的優先級較故障級任務低,比如每隔10毫秒,周期性啟動撥號脈衝識別程序,其中周期性為100毫秒的用戶掃描程序等等。”
“至於最後一個基本級任務,由於事件啟動的實時性要求不高,可以適當延遲執行任務,因此優先級最低。”
“關於不同級別任務的調度與處理,我們可以設每隔10毫秒產生一次中斷,在第一個10毫秒中段周期內,處理機已經執行完周期和基本級任務,暫停並等待下一個終端的到來,在第二個是10毫秒周期內,先執行周期任務,然後執行基本任務,但基本任務一沒有執行完就被中斷了,進入第三個10毫秒周期,在第3個是毫秒周期內,由於發生了故障周期級任務被中斷,轉去處理故障記錄,故障記錄處理完之後,才能再去執行周期任務……”
龐學林的語氣不疾不徐,整個會議室現場卻安靜得針落可聞。
徐文偉和鄭寶用臉上均露出震撼的神色。
雖然那天在和龐學林聊技術的時候,龐學林就已經展現了自己在軟件算法上的能力,但徐文偉依舊有些不可思議。
這倒不是說龐學林說的內容有多麽高深,而是徐偉發現,龐學林正在從理論上的高度,去闡述程控交換機軟件的設計原理。
想要做到這樣子,必須對程控交換機的整個研發過程以及軟硬件係統有著深入的理解,並且達到融會貫通,才有可能做到。
目前,華為的程控交換機研發團隊實際上是一個草台班子,很多人壓根就沒有任何程控交換機的研發經驗,很多都是依據國外的產品的說明手冊,一邊摸索一邊研發。
硬件部分倒還好說,拆開同類產品,總有一個直觀的參照物。
真正的問題是軟件係統,阿爾卡特、愛立信這些品牌的程控交換機,他們的軟件都是經過嚴格加密的,根本就沒辦法在不破壞他們數據結構的情況下,將源代碼提取出來。
因此,華為的工程師們隻能根據硬件的設計方案,依照自己對程控交換機的理解,一步步的設計軟件。
這就導致在整個研發過程中很容易踩雷。
往往這個問題解決了,又會產生新的問題。
從1991年下半年兩千門數字程控交換機立項到現在,整個研發團隊都有種心力憔悴的感覺。
而龐學林剛剛高屋建瓴的講解,從理論高度係統地解決了整個程控交換機軟件設計係統的問題,讓那些軟件工程師一個個有種撥雲見日、思路通達的感覺。
龐學林沒有在意眾人的反應,笑了笑,繼續道:“關於操作係統的設計大概就是如此,下麵我們說說程控交換機的應用軟件。”
“程控交換機的應用軟件主要分為以下三大類,第一,唿叫處理軟件,第二oma(操作維護管理)軟件,第三,數據庫係統。”
“唿叫處理軟件主要負責唿叫鏈接的建立與釋放以及業務流程的控製,具體主要完成以下功能,用戶線和中繼線上各種輸入信號的檢測與識別,唿叫相關資源的管理,對用戶數據唿叫狀態以及號碼等進行分析,路由選擇,控製唿叫狀態遷移,控製計時,送音和交換網絡的連接。”
“oma軟件則是程控交換機用於操作維護和管理的軟件,用於保證係統高效靈活可靠的運行,主要功能必須有用戶數據和局部數據的操作與管理測試,報警,故障診斷與處理,動態監視,話務統計,計費,過負荷控製等等。”
“至於數據庫係統,程控交換機在進行唿叫處理與操作維護管理過程中,會使用和生成大量的數據,這些數據包括係統數據,用戶數據和局數據,係統數據與交換機的硬件體係結構和軟件程序有關,不隨交換局的應用環境而變化,不同的電話局若采用同一類型的交換係統,他們的數據是相同的,所不同的是用戶數據和局數據,用戶數據反映用戶的具體情況,有靜態用戶數據和動態用戶數據之分……”
……
整整花了一下午的時間,龐學林將整個程控交換機軟件的整體設計思路,向眾人闡述了一遍。
一直到晚上六點整,才算結束了這場持續了整整一天的講座。
“好了,今天所講的關於程控交換機硬件設計與軟件設計的相關內容,後麵的細節部分需要一定時間去慢慢理解,大家都記下了吧。”
“都記下來了。”
會議室內的工程師們紛紛迴答道。
龐學林笑了起來,說道:“那好,那明天咱們就開始進入正式的研發過程,我可是和任總立下軍令狀的,一周內搞定兩千門程控交換機的研發,一個月內搞定萬門程控交換機的研發。所以從明天開始,我希望大家能夠正式進入研發流程,從頭開始修改我們之前那款產品的設計方案,爭取在一周內搞定兩千門程控交換機!”
“好嘞!”
“龐先生,有你在,我們有信心完成任務。”
“放心吧,龐先生,我們肯定會讓任總乖乖把這錢花出去的!”
……
眾人不由得大笑起來。
這時,任正斐帶著鄭寶用、徐文偉、孫亞方他們走過來。
“龐先生,真是沒想到啊,一天時間,你就讓我們的研發團隊徹底活了過來!”
鄭寶用也驚歎道:“是啊,今天這場講座,可真的讓我們有種撥雲見日的感覺,就連我自己,也憑空多出了許多思路。”
要知道在這之前,因為研發過程波折不斷,再加上公司的資金鏈壓力,所有人憋著一股勁,卻又無處發泄。
龐學林的到來可謂是一場及時雨,讓華威的研發團隊看到了成功的希望。
龐學林笑了笑,正要說話,這時,李一男走了過來,有些不好意思道:“龐先生,麻煩能問您一個問題嗎?”
一下午的時間,李一男已經清晰地感覺到了自己與龐學林之間的差距,因此,在麵對龐學林的時候,身上的傲氣一下子就收斂了起來。
龐學林笑道:“怎麽了?”
李一男道:“您下午在講解成功交換機常用調度策略時,說到了固定優先級算法,循環選擇法,最近試用者優先級最低法,先來服務法等常用算法都存在著一些固有缺點,比如,由於高優先級的任務被優先執行,當需要處理高優先級的任務過多時,將導致低優先級的任務不能在容忍時間內得到處理,從而影響係統的整體性能。所以需要有一種調度算法,隨話務量的波動實施快速地改變任務調度,從而使係統的整體性能達到最優,交換機的服務質量達到最好,這種算法您已經有思路了嗎?”
“哦,你為什麽會覺得我已經有思路了呢?”
龐學林微笑看著李一男道。
李一男說道:“固定優先級算法,循環選擇法等等在研發兩千門程控交換機的時候,是已經夠用了的,但是想要研發萬門程控交換機,就必須要新的算法,您既然已經向任總保證一個月內完成萬門程控交換機的研發,所以我猜您一定有了解決的辦法。”
龐學林和任正斐、徐文偉他們對視一眼,笑著說道:“任總,你們華威還真是人才濟濟。”
萬門交換機的調度算法他隻給徐文偉和任正斐看過,沒想到李一男根據他下午的講解,竟然推斷出了他有萬門程控交換機的調度算法
這時,鄭寶用笑道:“龐先生,這是我們公司研發部新來的工程師李一男,以前在我們華威實習,小夥子的技術功底很紮實,我正準備對他委以重任呢。”
龐學林點了點頭,笑著問道:“李工,我確實有了關於萬門程控交換機的一些研發思路,不過這得建立在我們完成兩千門程控交換機研發的基礎上,所以我希望你能把我下午講的關於兩千門程控交換機的內容全部理解透徹了,再去考慮萬門程控交換機的研發。”
李一男道:“龐先生,您叫我小李就行了,另外你說的兩千門程控交換機的技術路線,我已經完全理解透徹了呀。”
“完全理解透了?”
龐學林不由得一愣,上下打量著李一男。
李一男似乎對龐學林的驚訝有些得意,笑著說道:“事實上我之前對兩千門程控交換機的設計方案有了一些想法了,隻不過您的方案比我那個方案要成熟完善許多,不過或許有了之前的基礎,我理解起您的思路一點都不困難,反而有很多地方給了我恍然大悟的感覺。”
“哦?!”
龐學林笑了起來,說道:“那你能跟我說說程控交換軟件技術中,群處理的一些思路嗎?”
李一男點了點頭說道:“為了提高效率,在軟件設計中盡可能對一群對象同時進行邏輯運算和處理,我們可以將這種方法稱作群處理,下麵我就以用戶線掛機掃描為例,說明群處理的基本方法。設處理機的字長為16位,由於每個用戶摘掛機掃描狀態,隻用一個二進製比特就可以表示,因此我們每次可以同時對一組16個用戶進行摘掛機檢測。在群處理過程中,逐位檢查摘機、掛機用戶,實際上就是逐位檢查,運算結果哪一位為1……”
李一男不疾不徐,將龐學林講解的內容娓娓道來。
龐學林臉上露出讚許的表情,笑著說道:“不錯,那你可以再說說,什麽是逐次展開法嗎?”
李一男想了想,說道:“逐次展開法,基於組織展開分析表,該表為多級檢索表呈樹形結構,每一級表對應一位號碼,即收到第1位號碼,檢查第一級表,收到第2位號碼,檢查第2級表等等。表中每個單元由兩個部分組成:指示位和地址字段,指示位用以指示地址字段存放的是下一級檢索表首地址還是結論表收地址,前者表示號首分析還未有結果,還得繼續收號分析,後者表示號首分析完成,分析結果可在結論表中查到,它包括唿叫的接續類型,應收號長和路由信息……”
雖然華威規模不大,但是員工待遇真是沒的說。
特別是這個時代,華威的食堂肉蛋奶果蔬齊全,味道雖然算不上特別好,但是營養絕對均衡。
吃完飯,眾人又休息了一小時,然後迴到會議室,繼續接下來的講解。
有了上午的鋪墊,下午的講解更是駕輕就熟。
“接下來,我們談一談兩千門數字程控交換機程控交換軟件的設計以及一些算法特點。”
“程控交換機交換軟件的基本任務就是控製交換機的運行,也就是完成唿叫處理,程控交換機的特點就是業務量大,實時性和可靠性要求高,因此,對運行軟件也要求有較高的實施效率,能夠處理大量的唿叫,必須保證通信業務的不間斷性。”
“正因為如此,交換軟件必須具備三大特點,實時性,多任務並發執行,高可靠性。”
“從某種意義上說,程控交換機的軟件係統是操作係統與應用軟件的集合,操作係統是計算機硬件與應用軟件之間的接口,是一個實時多任務的操作係統,這種操作係統,要求對隨機發生的外部事件做出及時的響應並進行處理,雖然事件的發生時間無法預知,但必須在事件發生時,能夠在嚴格的時限內作出響應,即使在負荷較大的情況下。”
“此外,操作係統還必須支持多任務的並發處理,由於多任務的並發性,因而必然會引起任務的同步互斥,通信以及資源共享等問題。由於程控交換機的控製係統,多采用分布式的多處理器結構,所以其操作係統也必須具備網絡操作係統和分布式操作係統的特點。”
“正因為以上種種原因,程控交換機的操作係統對任務調度一般采用基於優先級的搶占式調度算法。”
“即係統中的每個任務都擁有一個優先級,任何時刻係統內核將cpu分配給處於等待隊列中優先級最高的任務運行。搶占式,指的是如果係統內核一旦發現優先級比當前正在運行的任務的優先級高的任務,則當前任務退出cpu,進入等待隊列,立即切換到高優先級的任務執行,在處理同優先級別的任務是采用先來先服務或者輪轉調度的算法。”
“當然,在程控交換係統中,我們可以按照緊急性和實時性的要求,將不同的任務分為三種,故障級任務、周期及任務和基本任務。”
“故障級任務處理功能具有最高優先級,周期任務指的是由時鍾中斷周期性啟動執行的任務,周期級任務的優先級較故障級任務低,比如每隔10毫秒,周期性啟動撥號脈衝識別程序,其中周期性為100毫秒的用戶掃描程序等等。”
“至於最後一個基本級任務,由於事件啟動的實時性要求不高,可以適當延遲執行任務,因此優先級最低。”
“關於不同級別任務的調度與處理,我們可以設每隔10毫秒產生一次中斷,在第一個10毫秒中段周期內,處理機已經執行完周期和基本級任務,暫停並等待下一個終端的到來,在第二個是10毫秒周期內,先執行周期任務,然後執行基本任務,但基本任務一沒有執行完就被中斷了,進入第三個10毫秒周期,在第3個是毫秒周期內,由於發生了故障周期級任務被中斷,轉去處理故障記錄,故障記錄處理完之後,才能再去執行周期任務……”
龐學林的語氣不疾不徐,整個會議室現場卻安靜得針落可聞。
徐文偉和鄭寶用臉上均露出震撼的神色。
雖然那天在和龐學林聊技術的時候,龐學林就已經展現了自己在軟件算法上的能力,但徐文偉依舊有些不可思議。
這倒不是說龐學林說的內容有多麽高深,而是徐偉發現,龐學林正在從理論上的高度,去闡述程控交換機軟件的設計原理。
想要做到這樣子,必須對程控交換機的整個研發過程以及軟硬件係統有著深入的理解,並且達到融會貫通,才有可能做到。
目前,華為的程控交換機研發團隊實際上是一個草台班子,很多人壓根就沒有任何程控交換機的研發經驗,很多都是依據國外的產品的說明手冊,一邊摸索一邊研發。
硬件部分倒還好說,拆開同類產品,總有一個直觀的參照物。
真正的問題是軟件係統,阿爾卡特、愛立信這些品牌的程控交換機,他們的軟件都是經過嚴格加密的,根本就沒辦法在不破壞他們數據結構的情況下,將源代碼提取出來。
因此,華為的工程師們隻能根據硬件的設計方案,依照自己對程控交換機的理解,一步步的設計軟件。
這就導致在整個研發過程中很容易踩雷。
往往這個問題解決了,又會產生新的問題。
從1991年下半年兩千門數字程控交換機立項到現在,整個研發團隊都有種心力憔悴的感覺。
而龐學林剛剛高屋建瓴的講解,從理論高度係統地解決了整個程控交換機軟件設計係統的問題,讓那些軟件工程師一個個有種撥雲見日、思路通達的感覺。
龐學林沒有在意眾人的反應,笑了笑,繼續道:“關於操作係統的設計大概就是如此,下麵我們說說程控交換機的應用軟件。”
“程控交換機的應用軟件主要分為以下三大類,第一,唿叫處理軟件,第二oma(操作維護管理)軟件,第三,數據庫係統。”
“唿叫處理軟件主要負責唿叫鏈接的建立與釋放以及業務流程的控製,具體主要完成以下功能,用戶線和中繼線上各種輸入信號的檢測與識別,唿叫相關資源的管理,對用戶數據唿叫狀態以及號碼等進行分析,路由選擇,控製唿叫狀態遷移,控製計時,送音和交換網絡的連接。”
“oma軟件則是程控交換機用於操作維護和管理的軟件,用於保證係統高效靈活可靠的運行,主要功能必須有用戶數據和局部數據的操作與管理測試,報警,故障診斷與處理,動態監視,話務統計,計費,過負荷控製等等。”
“至於數據庫係統,程控交換機在進行唿叫處理與操作維護管理過程中,會使用和生成大量的數據,這些數據包括係統數據,用戶數據和局數據,係統數據與交換機的硬件體係結構和軟件程序有關,不隨交換局的應用環境而變化,不同的電話局若采用同一類型的交換係統,他們的數據是相同的,所不同的是用戶數據和局數據,用戶數據反映用戶的具體情況,有靜態用戶數據和動態用戶數據之分……”
……
整整花了一下午的時間,龐學林將整個程控交換機軟件的整體設計思路,向眾人闡述了一遍。
一直到晚上六點整,才算結束了這場持續了整整一天的講座。
“好了,今天所講的關於程控交換機硬件設計與軟件設計的相關內容,後麵的細節部分需要一定時間去慢慢理解,大家都記下了吧。”
“都記下來了。”
會議室內的工程師們紛紛迴答道。
龐學林笑了起來,說道:“那好,那明天咱們就開始進入正式的研發過程,我可是和任總立下軍令狀的,一周內搞定兩千門程控交換機的研發,一個月內搞定萬門程控交換機的研發。所以從明天開始,我希望大家能夠正式進入研發流程,從頭開始修改我們之前那款產品的設計方案,爭取在一周內搞定兩千門程控交換機!”
“好嘞!”
“龐先生,有你在,我們有信心完成任務。”
“放心吧,龐先生,我們肯定會讓任總乖乖把這錢花出去的!”
……
眾人不由得大笑起來。
這時,任正斐帶著鄭寶用、徐文偉、孫亞方他們走過來。
“龐先生,真是沒想到啊,一天時間,你就讓我們的研發團隊徹底活了過來!”
鄭寶用也驚歎道:“是啊,今天這場講座,可真的讓我們有種撥雲見日的感覺,就連我自己,也憑空多出了許多思路。”
要知道在這之前,因為研發過程波折不斷,再加上公司的資金鏈壓力,所有人憋著一股勁,卻又無處發泄。
龐學林的到來可謂是一場及時雨,讓華威的研發團隊看到了成功的希望。
龐學林笑了笑,正要說話,這時,李一男走了過來,有些不好意思道:“龐先生,麻煩能問您一個問題嗎?”
一下午的時間,李一男已經清晰地感覺到了自己與龐學林之間的差距,因此,在麵對龐學林的時候,身上的傲氣一下子就收斂了起來。
龐學林笑道:“怎麽了?”
李一男道:“您下午在講解成功交換機常用調度策略時,說到了固定優先級算法,循環選擇法,最近試用者優先級最低法,先來服務法等常用算法都存在著一些固有缺點,比如,由於高優先級的任務被優先執行,當需要處理高優先級的任務過多時,將導致低優先級的任務不能在容忍時間內得到處理,從而影響係統的整體性能。所以需要有一種調度算法,隨話務量的波動實施快速地改變任務調度,從而使係統的整體性能達到最優,交換機的服務質量達到最好,這種算法您已經有思路了嗎?”
“哦,你為什麽會覺得我已經有思路了呢?”
龐學林微笑看著李一男道。
李一男說道:“固定優先級算法,循環選擇法等等在研發兩千門程控交換機的時候,是已經夠用了的,但是想要研發萬門程控交換機,就必須要新的算法,您既然已經向任總保證一個月內完成萬門程控交換機的研發,所以我猜您一定有了解決的辦法。”
龐學林和任正斐、徐文偉他們對視一眼,笑著說道:“任總,你們華威還真是人才濟濟。”
萬門交換機的調度算法他隻給徐文偉和任正斐看過,沒想到李一男根據他下午的講解,竟然推斷出了他有萬門程控交換機的調度算法
這時,鄭寶用笑道:“龐先生,這是我們公司研發部新來的工程師李一男,以前在我們華威實習,小夥子的技術功底很紮實,我正準備對他委以重任呢。”
龐學林點了點頭,笑著問道:“李工,我確實有了關於萬門程控交換機的一些研發思路,不過這得建立在我們完成兩千門程控交換機研發的基礎上,所以我希望你能把我下午講的關於兩千門程控交換機的內容全部理解透徹了,再去考慮萬門程控交換機的研發。”
李一男道:“龐先生,您叫我小李就行了,另外你說的兩千門程控交換機的技術路線,我已經完全理解透徹了呀。”
“完全理解透了?”
龐學林不由得一愣,上下打量著李一男。
李一男似乎對龐學林的驚訝有些得意,笑著說道:“事實上我之前對兩千門程控交換機的設計方案有了一些想法了,隻不過您的方案比我那個方案要成熟完善許多,不過或許有了之前的基礎,我理解起您的思路一點都不困難,反而有很多地方給了我恍然大悟的感覺。”
“哦?!”
龐學林笑了起來,說道:“那你能跟我說說程控交換軟件技術中,群處理的一些思路嗎?”
李一男點了點頭說道:“為了提高效率,在軟件設計中盡可能對一群對象同時進行邏輯運算和處理,我們可以將這種方法稱作群處理,下麵我就以用戶線掛機掃描為例,說明群處理的基本方法。設處理機的字長為16位,由於每個用戶摘掛機掃描狀態,隻用一個二進製比特就可以表示,因此我們每次可以同時對一組16個用戶進行摘掛機檢測。在群處理過程中,逐位檢查摘機、掛機用戶,實際上就是逐位檢查,運算結果哪一位為1……”
李一男不疾不徐,將龐學林講解的內容娓娓道來。
龐學林臉上露出讚許的表情,笑著說道:“不錯,那你可以再說說,什麽是逐次展開法嗎?”
李一男想了想,說道:“逐次展開法,基於組織展開分析表,該表為多級檢索表呈樹形結構,每一級表對應一位號碼,即收到第1位號碼,檢查第一級表,收到第2位號碼,檢查第2級表等等。表中每個單元由兩個部分組成:指示位和地址字段,指示位用以指示地址字段存放的是下一級檢索表首地址還是結論表收地址,前者表示號首分析還未有結果,還得繼續收號分析,後者表示號首分析完成,分析結果可在結論表中查到,它包括唿叫的接續類型,應收號長和路由信息……”