日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
模塊間建鏈?zhǔn)栴}的分析及解決

很長(zhǎng)時(shí)間以來,我每天花在地鐵上的時(shí)間都在一個(gè)小時(shí)以上。閑來無事,我就在手機(jī)上下載了多看閱讀,并且購(gòu)買了很多電子書。最近,我閱讀了《異類》,頗有感觸。作者在書中提出了一個(gè)“一萬小時(shí)”的定律,也就是說,當(dāng)一個(gè)人花在某件事情上的時(shí)間超過一萬個(gè)小時(shí)之后,就會(huì)發(fā)生質(zhì)的改變,就會(huì)做到比絕大多數(shù)人好。我們耳熟能詳?shù)囊恍┨觳?,像蓋茨、喬伊等等,雖然天賦很高,但自身也很勤奮,花了比常人多得多的時(shí)間在自己所喜歡的事業(yè)上。也就說是,是“一萬小時(shí)”定律讓他們與眾不同。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的林口網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

量變引起質(zhì)變的規(guī)律也適用于軟件開發(fā)領(lǐng)域,本文中提到的問題,即是一例。

問題描述

在某項(xiàng)目進(jìn)行了長(zhǎng)期的自動(dòng)測(cè)試工作之后,我們組建了如下的系統(tǒng)架構(gòu):

最近,在進(jìn)行自動(dòng)測(cè)試的過程中,我們發(fā)現(xiàn)測(cè)試用例的執(zhí)行總是失敗的。更具體地說,就是消息觸發(fā)腳本無法調(diào)用發(fā)消息工具,兩者之間無法建鏈。

原因分析

本測(cè)試系統(tǒng)已搭建了長(zhǎng)達(dá)兩年,已經(jīng)累積了上千個(gè)測(cè)試用例。之前從未遇到過此類消息觸發(fā)腳本無法調(diào)用發(fā)消息工具的問題。那么,究竟是什么原因引起的呢?

我們首先檢查了自動(dòng)測(cè)試環(huán)境,發(fā)現(xiàn)一切正常。之后,我們修改了自動(dòng)測(cè)試的調(diào)用腳本,變成了手動(dòng)觸發(fā)。也就是說,當(dāng)發(fā)消息工具成功啟動(dòng)之后,我們?cè)冱c(diǎn)擊消息觸發(fā)腳本,發(fā)現(xiàn)鏈路能夠正常建立,且消息發(fā)送正常。那么,為什么自動(dòng)測(cè)試的時(shí)候就不能正常建鏈呢?

我們?cè)倩剡^頭來分析了一下自動(dòng)測(cè)試的整個(gè)流程。當(dāng)自動(dòng)測(cè)試啟動(dòng)之后,消息觸發(fā)腳本和發(fā)消息工具幾乎是同時(shí)開始運(yùn)行的,而發(fā)消息工具運(yùn)行起來之后,要先讀取配置文件中的測(cè)試用例,然后綁定IP和端口號(hào),完成之后再等待和消息觸發(fā)腳本建鏈。前期的測(cè)試用例比較少,所有當(dāng)消息觸發(fā)腳本監(jiān)測(cè)與發(fā)消息工具的鏈路的時(shí)候,后者已經(jīng)成功讀取了配置文件,并綁定了IP和端口號(hào)。這樣,后續(xù)的流程就能夠正常執(zhí)行。

但是,隨著測(cè)試用例的累積,當(dāng)消息觸發(fā)腳本開始監(jiān)測(cè)與發(fā)消息工具的鏈路的時(shí)候,后者還在讀取配置文件,并未綁定IP和端口號(hào)。這樣,消息觸發(fā)腳本發(fā)現(xiàn)鏈路還不具備,因此執(zhí)行就失敗了。這也就是我們看到的現(xiàn)象。之所以手動(dòng)能夠執(zhí)行成功,是因?yàn)槲覀凕c(diǎn)擊消息觸發(fā)腳本的時(shí)候,發(fā)消息工具早就完成了讀配置和綁定IP與端口號(hào)的操作(手動(dòng)操作要比自動(dòng)操作慢很多),就不存在建鏈不成功的問題了。

問題解決

根據(jù)以上分析,我們只需要給發(fā)消息工具足夠的時(shí)間,讓消息觸發(fā)腳本晚點(diǎn)與發(fā)消息工具建鏈就可以了。

我們?cè)谙⒂|發(fā)腳本中添加了如下語句:

 
 
  1. ping 127.0.0.1 -n 30 

當(dāng)消息觸發(fā)腳本執(zhí)行了30次ping操作之后,發(fā)消息工具早就做好了準(zhǔn)備工作,于是建鏈成功,后續(xù)流程順利執(zhí)行。

總結(jié)

本文中提到的建鏈?zhǔn)栴}的解決辦法雖然簡(jiǎn)單,但該問題卻提醒了我們,在兩個(gè)模塊需要進(jìn)行消息交互的時(shí)候,發(fā)送消息的模塊一定要等到接收消息的模塊“準(zhǔn)備好”之后,再發(fā)送消息過去。也就說是,軟件模塊的初始化需要時(shí)間,在設(shè)計(jì)軟件的時(shí)候,我們一定要將各個(gè)模塊的初始化時(shí)間考慮進(jìn)去。

【本文是專欄作者周兆熊的原創(chuàng)文章,作者微信公眾號(hào):周氏邏輯(logiczhou)】


當(dāng)前題目:模塊間建鏈?zhǔn)栴}的分析及解決
當(dāng)前網(wǎng)址:http://m.5511xx.com/article/cdhcpgs.html