青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

socketref,再見(jiàn)!高德

https://github.com/adoggie

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用鏈接

留言簿(54)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

學(xué)習(xí)過(guò)MapGuid,MapServer,Qgis等多種開(kāi)源地圖處理服務(wù)軟件,開(kāi)發(fā)了遵循WMS標(biāo)準(zhǔn)的地圖服務(wù),包括wms接入,地圖渲染服務(wù)。
近1年的時(shí)間跑的地圖展示都是wms服務(wù)器實(shí)時(shí)請(qǐng)求TileServer進(jìn)行繪制,Tileserver進(jìn)程被部署在一臺(tái)高端的服務(wù)器上,同時(shí)啟動(dòng)了8個(gè)服務(wù)進(jìn)程,訪問(wèn)忙碌的時(shí)候機(jī)器有點(diǎn)吃不消,就看到cpu那根線飚的很高。
geoserver這個(gè)用java做的wms服務(wù)器,性能不敢恭維,玩geoserver的時(shí)候接觸了tilecahce這個(gè)開(kāi)源軟件,目前跑啥版本就不清楚了,之前將其研究了個(gè)明白,知道自己需要的是什么,所以一切還是得自己寫(xiě)。
對(duì)我來(lái)講tilecache不實(shí)用的原因有多個(gè):
1.支持過(guò)多的cahce 存儲(chǔ)方式,什么google的數(shù)據(jù)庫(kù),oracle的也有,雖然代碼框架的好,但很多東西都不管用,所以代碼維護(hù)不夠靈活
2.tilecache通過(guò)apache提供web的wms服務(wù),然后tilecahe里再請(qǐng)求后端的geoserver服務(wù),產(chǎn)生的cache根據(jù)他定 義的一個(gè)網(wǎng)格依次按x,y,z的索引存儲(chǔ)在文件系統(tǒng)里面,并將圖形進(jìn)行編碼分類(lèi)。這種實(shí)現(xiàn)并沒(méi)有問(wèn)題,但要知道這些cache出來(lái)的圖像文件是那么的多且 都零碎,有些圖片還夠不上一個(gè)文件系統(tǒng)基本的一個(gè)存儲(chǔ)頁(yè)大小,所以會(huì)大量浪費(fèi)空間;由于文件零碎且多,移動(dòng)這些文件也是個(gè)相當(dāng)大的問(wèn)題,一次為了將這些 cahce tile文件從A機(jī)器拷貝到B機(jī)器盡然花費(fèi)了1天的時(shí)間。

tilecache有這些不如我意的地方,所以之前自己也考慮再寫(xiě)一個(gè)tilecache的 backend,將渲染出來(lái)的東西直接存儲(chǔ)進(jìn)pgsql數(shù)據(jù)庫(kù),那以后只要導(dǎo)出數(shù)據(jù)庫(kù)的tablespace就可以了,嗯!的確可行,也跑了一段時(shí)間
最后還是決定放棄tilecahce了,畢竟wms自己已經(jīng)實(shí)現(xiàn)了,要再做個(gè)backend也是很簡(jiǎn)單,做完直接整合進(jìn)wms服務(wù)器。
我考慮采用sqlite來(lái)存儲(chǔ)這些瓦片圖形,由于sqlite處理多線程時(shí)天性有點(diǎn)問(wèn)題,多線程不能共享同一個(gè)連接(connection),所以實(shí)現(xiàn)的時(shí)候在每個(gè)線程創(chuàng)建了新的連接,開(kāi)銷(xiāo)是有一些的,那比之前實(shí)時(shí)請(qǐng)求TileServer要快的多了。
現(xiàn)在wms跑的很開(kāi)心了,cpu也不忙了,就是累死了硬盤(pán)了
一臺(tái)機(jī)器上渲染的地圖瓦片數(shù)據(jù)單獨(dú)存儲(chǔ)在一個(gè)文件里面,要部署到另外一臺(tái)機(jī)器也很方便了,只需要拷貝一下就可以了
接著看看將這個(gè)sqlite換成pgsql,看看性能哪個(gè)更強(qiáng)一點(diǎn)
python代碼實(shí)現(xiàn):
 1     def getBitmapTile3(self,renderTile,mapid,res,xy,size):        
 2         if not self.enable:
 3             return None    #表示需要實(shí)時(shí)請(qǐng)求地圖數(shù)據(jù)
 4         
 5         tile = None
 6         dbconn = sqlite3.connect(self.dbname)
 7         try:            
 8             #dbconn.text_factory = str
 9             cr = dbconn.cursor()
10             cr.execute('select image from tiles where res=? and x=? and y=?',(res,xy[0],xy[1]))
11             r = cr.fetchone()
12             if not r:
13                 tile = renderTile(mapid,res,xy,size)
14                 if tile and tile.pixmap:
15                     b = sqlite3.Binary(tile.pixmap)
16                     print '*'*20
17                     cr.execute(u'insert into tiles (res,x,y,z,image) values(?,?,?,?,?)',(res,xy[0],xy[1],0,b))                    
18             else:
19                 tile = r[0]
20                 self.cacheshooted+=1
21                 print 'shooted ',self.cacheshooted
22         except:            
23             traceback.print_exc()
24             tile = None
25         dbconn.commit()
26         return tile
27 

記得空的時(shí)候在flex端寫(xiě)個(gè)自動(dòng)跑地圖的程序,不能讓機(jī)器閑著,沒(méi)事的時(shí)候把全國(guó)地圖的瓦片自動(dòng)產(chǎn)生一下,免得在訪問(wèn)地圖系統(tǒng)的時(shí)候再去產(chǎn)生瓦片!









posted on 2011-07-11 22:34 放屁阿狗 閱讀(1633) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): MapGisWebGis 、WebService 、Flex 、swMap
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品欧美日韩| 久久亚洲欧美| 在线观看欧美| 久久午夜视频| 欧美77777| 销魂美女一区二区三区视频在线| 亚洲欧美精品在线| 亚洲一区二区三区777| 国产日韩在线不卡| 久久久久久成人| 亚洲国产精品久久久久秋霞影院| 影音先锋欧美精品| 欧美日韩黄色一区二区| 欧美视频中文字幕在线| 亚洲国产影院| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美区二区三区| 一本色道久久88亚洲综合88| 亚洲一区在线直播| 国产欧美韩日| 亚洲人成高清| 久久www成人_看片免费不卡| 亚洲高清二区| 国产在线一区二区三区四区| 欧美日韩国产色视频| 国产色产综合产在线视频| 欧美精品在线看| 欧美14一18处毛片| 欧美日韩精品免费观看视一区二区 | 狂野欧美激情性xxxx| 亚洲精品美女在线观看播放| 国产精品成人一区| 欧美国产日韩二区| 美女尤物久久精品| 久久婷婷久久一区二区三区| 欧美亚洲视频一区二区| 99热精品在线| 99视频精品| 久久成人av少妇免费| 亚洲天堂视频在线观看| 激情久久影院| 亚洲欧美日本国产有色| 在线视频精品一区| 国产日韩精品一区二区三区在线| 欧美成人高清视频| 久久综合亚洲社区| 亚洲欧美第一页| 美女露胸一区二区三区| 久久在线免费视频| 久久亚洲精品伦理| 欧美韩日高清| 欧美午夜精品久久久久久浪潮| 欧美日韩国产一区| 久久免费的精品国产v∧| 麻豆九一精品爱看视频在线观看免费| 久久精品中文字幕免费mv| 国产精品自拍一区| 亚洲美女色禁图| 久久亚洲春色中文字幕久久久| 午夜精品久久久久久| 久久婷婷av| 久久中文字幕一区| 国产午夜精品全部视频在线播放| 一本色道久久| 亚洲精品一区二区三| 欧美aaa级| 亚洲视频一区二区在线观看| 久久久蜜臀国产一区二区| 国外成人网址| 亚洲一级影院| 亚洲欧美日韩精品久久久久| 欧美日韩国产一级片| 亚洲男女自偷自拍| 欧美中文字幕在线播放| 亚洲欧洲在线一区| 久久精品国产在热久久| 亚洲香蕉成视频在线观看 | 亚洲午夜一区二区三区| 在线看成人片| 性亚洲最疯狂xxxx高清| 亚洲精品久久久久久一区二区| 欧美一区中文字幕| 久久久久久婷| 影院欧美亚洲| 久久国产乱子精品免费女 | 国产精品家庭影院| 久久久精品国产免大香伊| 欧美日本成人| 欧美阿v一级看视频| 国产农村妇女毛片精品久久麻豆| 免费日韩一区二区| 国产一区二区三区电影在线观看 | 午夜在线不卡| 亚洲午夜在线视频| 欧美亚韩一区| 一二三区精品福利视频| 最新成人av网站| 亚洲大胆在线| 亚洲第一精品夜夜躁人人爽| 亚洲免费在线看| 亚洲性感激情| 国产模特精品视频久久久久| 亚洲美女诱惑| 午夜视频在线观看一区二区| 欧美午夜电影网| 99视频精品在线| 亚洲欧美日韩中文视频| 久久综合久久88| 亚洲黄色大片| 午夜在线电影亚洲一区| 国产亚洲人成a一在线v站 | 久久精品国产一区二区电影 | 一区二区黄色| 国产亚洲在线观看| 欧美片第一页| 亚洲欧美一区二区三区极速播放| 夜夜爽99久久国产综合精品女不卡| 99国产精品久久久久久久成人热| 国产日韩欧美在线看| 欧美亚洲成人网| 欧美日韩综合视频| 欧美日韩国产成人高清视频| 免费亚洲一区| 欧美日本国产一区| 欧美日韩国产精品自在自线| 欧美电影在线| 欧美日韩亚洲一区二区三区| 欧美日本中文| 国产精品国产成人国产三级| 欧美亚州一区二区三区| 国产精品久久久久久久久久免费看| 欧美日韩亚洲免费| 国产精品电影在线观看| 欧美视频免费在线| 国产日韩成人精品| 亚洲激情婷婷| 香蕉成人伊视频在线观看 | 欧美激情视频一区二区三区免费| 久久久综合精品| 亚洲欧洲精品一区| 亚洲一区观看| 美女在线一区二区| 亚洲黄网站在线观看| 欧美成人激情视频免费观看| 久久99伊人| 久久经典综合| 亚洲伊人观看| 亚洲精选中文字幕| 亚洲国产精品成人| 国产亚洲一区二区三区在线播放| 欧美激情第9页| 欧美私人啪啪vps| 国语自产精品视频在线看| 狠狠色狠狠色综合日日91app| 欧美激情精品久久久久久| 性欧美xxxx大乳国产app| 午夜在线观看免费一区| 亚洲精品人人| 欧美在线视频a| 亚洲日本黄色| 欧美福利影院| 亚洲黄色精品| 亚洲经典在线看| 欧美精品二区三区四区免费看视频| 极品少妇一区二区三区精品视频| 午夜在线精品| 欧美中文字幕| 一区在线免费观看| 亚洲第一在线| 欧美另类极品videosbest最新版本| 欧美另类在线观看| 亚洲一区视频在线观看视频| 亚洲精品中文在线| 国产精品videosex极品| 亚洲一区在线免费观看| 亚洲一品av免费观看| 激情五月综合色婷婷一区二区| 久久影院亚洲| 欧美日韩免费观看一区三区 | 91久久久久久久久| 欧美日本不卡高清| 久久人人97超碰精品888| 欧美区国产区| 亚洲国产精品999| 国产日韩欧美一区二区三区在线观看 | 久久精品国产2020观看福利| 久久裸体艺术| 亚洲免费在线| 欧美a级片网| 欧美本精品男人aⅴ天堂| 国产精品乱码一区二三区小蝌蚪 | 欧美一区2区三区4区公司二百| 香蕉国产精品偷在线观看不卡| 午夜在线电影亚洲一区| 亚洲区免费影片| 久久精品女人的天堂av| 亚洲一区成人| 国产精品毛片一区二区三区| 日韩一本二本av| 亚洲人精品午夜在线观看|