freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

路況查詢系統(tǒng)設計方案-資料下載頁

2025-05-03 02:13本頁面
  

【正文】 路況的查詢,其中包括天氣信息,交叉路口,交差路口,道路行程時間,交通事故等等。本文以芒果廣播網(wǎng)為例,根據(jù)語音提示選擇所需要的服務,通過網(wǎng)絡爬蟲技術,將得到的數(shù)據(jù)寫入數(shù)據(jù)庫中。根據(jù)你的請求,把所需要的服務發(fā)送對應的VoiceXml處理文檔,把所需要的數(shù)據(jù)請求發(fā)送到web服務器端,后臺會進行邏輯處理,將處理后的數(shù)據(jù)發(fā)回給VoiceXml服務器,最后再轉(zhuǎn)為語音信息發(fā)送回客戶的手機端。實時路況分為信息采集模塊,信息存儲處理模塊,語音信息處理模塊,語音信息播放模塊,以及通信模塊。現(xiàn)對于每個模塊給出具體的實現(xiàn)過程,最后以長沙市的路況信息為例,測試實時路況的查詢。 信息采集模塊 信息采集模塊主要應用網(wǎng)頁爬蟲兩種技術。使用網(wǎng)頁爬蟲能夠快速的獲取這些實時路況的數(shù)據(jù)。 網(wǎng)頁爬蟲提取頁面技術的實現(xiàn)網(wǎng)絡爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成,其基本架構(gòu)如下圖所示:圖5. 1 網(wǎng)頁爬蟲技術過程展示傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。對于垂直搜索來說,聚焦爬蟲,即有針對性地爬取特定主題網(wǎng)頁的爬蟲,更為適合。其主要代碼如下while(continue Crawling()){CrawlerUrl url=getNextUrl()。//獲取待爬取隊列中的下URLif(url!=null){print CrawlInfo()。String content=getContent(url)。//獲取URL的//文本信息//聚焦爬蟲只爬取與主題內(nèi)容相關的網(wǎng)頁,這里采用正則匹配簡單處理if(isContentRelevant(content,)){saveContent(url,content)。//保存網(wǎng)頁至本地//獲取網(wǎng)頁內(nèi)容中的鏈接,并放入待爬取隊列中Collection urlStrings=extractUrls(content,url)。addUrlsToUrlQueue(url,urlStrings)。}else{(url+is not relevant gnoring...)。}//延時防止被對方屏蔽()。}}closeOutputStream()。}其中getNextUrl的關鍵代碼如下其中doWeHavePermissionToVisit:是否有權限訪問該URL,isUrlAlreadyVisited:URL是否訪問過,isDepthAcceptable:是否達到指定的深度上限while((nextUrl==null)amp。amp。(!())){CrawlerUrlcrawler Url=()。if(doWeHavePermissionToVisit(crawlerUrl) amp。amp。(!isUrlAlreadyVisited(crawlerUrl))amp。amp。isDepthAcceptable(crawlerUrl)){nextUrl=crawlerUrl。return nextUrl。}},有些讀者可能對于client不太了解,現(xiàn)在簡介如下HTTP 協(xié)議可能是現(xiàn)在互聯(lián)網(wǎng)上使用得最常見、最重要的協(xié)議了,相當多的 Java 應用程序都需要通過HTTP協(xié)議來獲取網(wǎng)絡資源。雖然在JDK的java net包中已經(jīng)有了訪問HTTP協(xié)議的基本功能,然而對于絕大部分引用程序,JDK 庫本身擁有的功能還存在一些不足,比如靈活度不夠,豐富度不夠。HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議。關鍵代碼如下:HttpClient client=newDefaultHttpClient()。HttpGet Get=new HttpGet(())。StringBufferstr Buf=new StringBuffer()。HttpResponse response=(Get)。if(==().getStatusCode()){HttpEntity entity=()。if(entity!=null){BufferedReader reader=new BufferedReader(New InputStreamReader((),UTF8))。String line=null。if(()0){strBuf=new StringBuffer((int)())。while((line=())!=null){ (line)。}}}對于垂直型應用來說,數(shù)據(jù)的準確性往往更為重要。聚焦型爬蟲的主要特點是,只收集和主題相關的數(shù)據(jù),這就是isContentRelevant方法的作用。這里或許要使用分類預測技術,為簡單起見,采用正則匹配來代替。其主要代碼如下:Booleanret Value=false。if(content!=null){//是否符合正則表達式的條件Matcherm=(())。Ret Value=()。}returnret Value。通常某一個網(wǎng)頁都有各種內(nèi)部鏈接與外部鏈接,這里以內(nèi)部鏈接處理為例,java代碼如下Matcherm=(text)。URLtext URL=()。String host=()。while(()){String url=()。String []terms=(ahref=\)。for(Stringterm:terms){if((/)){int index=(\)。if(index0){term=(0,index)。}Strings=://+host+term。(s,s)。最后通過匹配正則表達式,將得到的數(shù)據(jù)保存成txt形式,大致的內(nèi)容如下:有一個txt文檔,格式如下: [分類名] 文本內(nèi)容 [分類名] 文本內(nèi)容 [分類名] 文本內(nèi)容,這里以交通管制表為例,則保存的內(nèi)容如下mcase:此路段正在管制中,rcase:前方堵車,請繞行,其余的信息依次類推,都按照要求保留成這種txt格式的文件。得到了由網(wǎng)頁爬蟲抓取的信息,并以txt形式文本保存,將得到的實時路況信息寫入MySQL,并且實時更新,這樣用戶才能得到的是最新的道路信息,方便用戶綠色出行,避免擁塞。如下是從讀取txt文件,并將其寫入到數(shù)據(jù)庫中的關鍵部分代碼。連接MySQL數(shù)據(jù)庫的部分代碼如下這里使用JDBC連接數(shù)據(jù)庫。Private static String DBDRIVER=。Private static String DBURL = jdbc:mysql://localhost:3306/study。(DBDRIVER)。//Connection conn=(DBURL,DBUSER,DBPASSWORD)。//連接上數(shù)據(jù)庫接下來就是如何將txt文件寫入到數(shù)據(jù)庫中了,我們先讀取txt文本中的內(nèi)容,然后按照各個字段插入到MySQL數(shù)據(jù)庫中,其中的關鍵代碼如下,這里以交通管制表(traffic_control)為例BufferedReader br = new BufferedReader(new FileReader(readPath))。String str = 。 StringBuffer sb = new StringBuffer()。 while((str = ()) != null){ (str)。 }str = ()。 String[]s = ( )。 for (int i=0。 i 。 i++) { if(s[i].indexOf([) != 1){ String bookName = s[i].substring(1,s[i].length() 1)。 if((bookName)){ String bookNames = (bookName) + , + s[i+1]。 (bookName, bookNames)。 }else{ (bookName, s[i+1])。 }}}執(zhí)行如下插入語句或者更新語句,就能把交通控制信息插入或者更新到數(shù)據(jù)庫中相應的表中ps=(insert into traffic_control (Mid, mcase, rcase)values(?,(“mcase”),(“rcase”)))。 ps=(update traffic_control set mcase = (“mcase”), rcase= (“rcase”) where Mid = (“Mid”)。 語音信息處理模塊語音與播放模塊數(shù)據(jù)庫中存儲了當前的路況信息,現(xiàn)在的重點是根據(jù)用戶撥號的要求,讀取用戶所需要的內(nèi)容,然后解析用戶的需求,并從數(shù)據(jù)庫中取出來,然后再次轉(zhuǎn)換成語音信息,回饋給用戶。這樣就能達到與用戶很好的交互,能給用戶的出行帶來很大的方便。本節(jié)通過編寫一個簡單的自動語音識別程序來試圖讓讀者對VoiceXML語言的一些基本概念和基于VoiceXML的語音應用系統(tǒng)的基本構(gòu)成有一個大致的了解。一個簡單的語音識別圖如下所示:圖5. 2 語音識別理論展示系統(tǒng)將用戶的語音輸入以波形的形式緩存起來,然后用專用的切割算法將波形切割成為一個個音素,再將這些音素的特征提取出來,與系統(tǒng)的存放的保準的參數(shù)進行比較,如果相似(當然要頂一個最大似然比),則識別成功,否則識別失敗。 在VoiceXml中,通過語法識別用戶所說的關鍵詞。VoiceXml網(wǎng)關中,語音識別不僅需要處理對用戶語音信號的識別,同事也需要處理對用戶按鍵的識別,按鍵和語音以同樣的機制被處理和傳遞。本節(jié)中的信息查詢例子演示了一個簡單的VoiceXML應用。首先是用戶發(fā)起呼叫,應用程序通過計算機合成語音(TTS)告訴用戶所有的選擇項并等待用戶的響應。用戶的語音將由計算機根據(jù)語法標簽如下以查詢長沙市的交通信息為例,首先建立如下語法:grammar version=“1,0”xmlns=”://。w3.org/2001/06/grammar”xml:lang=”zh”root=”phone number”mode=”voice”(role id=“phonenumber”scope=”public“ one—of item長沙市tag1/tag/item item株洲市tag2/tag/item item湘潭市tag3/tag/item … /one—of/rotegrammar/將此語法保存為traffic.grxml以便下面調(diào)用,當用戶語音輸入長沙市,株洲市,以及湘潭市時,相應的的輸入會返回l、3。(2)系統(tǒng)語音輸出系統(tǒng)首先詢問用戶要查那個地方的路況,如果用戶要說”長沙市”,然后調(diào)用traffic.Grxml,識別用戶輸入,將相應的路況信息從數(shù)據(jù)庫中取出來,調(diào)至網(wǎng)關的文本語音轉(zhuǎn)換工具,作為語音輸出給用戶。主要代碼如下field name=”user_input”prompt請問您需要查詢的城市是?/promptgrammar src=” traffic.grxml”type=”application/srgs+xml”/filledif cond=”user—input == 1”prompt您要查的長沙市區(qū)的信息xxxxx/promptelseif cond=“user_input==2”/prompt您要查的株洲信息xxxxx /promptelseif cond=”user_input==3”/prompt您要查的湘潭信息xxxxx /prompt/if/filled/field然后用戶就能得到自己想要查詢的信息,這里的交通信息是時時更新的,能夠把最新的信息反饋給用戶。 以長沙市的路況為例測試上述已經(jīng)將關鍵技術與模塊都實現(xiàn)了,這里以芒果廣援網(wǎng)的實時路況位為例,逐步實現(xiàn)本系統(tǒng)的路況查詢。當然如果想得到更加豐富的內(nèi)容,比如天氣、交通事故、車道等,在web service端用RSS技術關聯(lián)上相關的頻道即可。 網(wǎng)頁爬蟲抓取相關網(wǎng)頁的信息獲得長沙市的路況詳情網(wǎng)址如下:,現(xiàn)截取部分圖如下圖5. 3 長沙實時路況展示注意到,要想截取關于每個路況的信息,則用網(wǎng)絡爬蟲匹配每個具體地點前面的“.”,之后再匹配前兩個“,”作為路段的名稱,以第一個信息為例,則經(jīng)過網(wǎng)絡爬蟲技術處理后,[mcase] 長沙大道,沙灣路口 [rcase] 橋上,有路面施工,車行緩慢,請?zhí)崆傲粢?以上路況信息由湖南交通頻道攜手893汽車音樂電臺權威提供,即時路況請撥打:96218。其余的不在詳細列舉。這些txt文件都存放于本地,主要是各種路況,車道,天氣信息。由于路況信息是實時的更新,因此,這些包含路況信息內(nèi)容的txt文件也被相應的覆蓋,變成最新的路況。這樣以來,就能夠把最新的路況信息回饋給用戶,達到了及時,高效的要求。 相應的信息存儲到數(shù)據(jù)庫中上述已經(jīng)得到了相應的路況信息,天氣信息,車道信息等等。這里要將其寫入到數(shù)據(jù)庫中。然后將關于交通擁擠的相關信息寫入到交通擁擠事件表中。相關的交通事故的信息寫入到交通事故表中。從天氣網(wǎng)上得到的相關的天氣信息寫入到天氣表中。得到的關于車道的信息,要相應的寫入到車道表中。關于交叉路口的信息寫入對應的交叉路口表中。相應的過程在之前的信息存儲模塊中都給出了詳細的過程以及代碼,這里為了節(jié)約篇幅,不再詳述。用戶的語音信息,與回應給用戶的語音播放的信息,在語音信息處理模塊語音與播放模塊都有了詳細的介紹,也給出了一些關鍵的代碼,這里也不在介紹了。這里我們做了如下測試圖5. 4 測試結(jié)果展示通過手機客戶端選擇路段,這里用戶選擇的是長沙大道附近的路段,通過VoiceXml技術,將說話的語音信息轉(zhuǎn)化成服務器能
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1