999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

縣級氣象微信公眾服務(wù)平臺的開發(fā)與設(shè)計(jì)
——以“尋甸氣象”為例

2022-03-24 13:26:38黃初龍董思平胡衛(wèi)芬王占良
陜西氣象 2022年2期
關(guān)鍵詞:微信用戶服務(wù)

黃初龍,董思平,鄧 祥,胡衛(wèi)芬,耿 瓊,王占良

(1.尋甸回族彝族自治縣氣象局,云南尋甸 655200;2.昆明市氣象局,昆明 650000)

微信是當(dāng)前我國公眾使用最為廣泛、普及率最高的一類社交通信軟件,利用微信可將氣象信息及時(shí)、準(zhǔn)確地推送給用戶,顯著提升氣象服務(wù)信息的時(shí)效性和服務(wù)水平,因此利用微信開展縣級氣象服務(wù)是目前社會發(fā)展的大趨勢。國內(nèi)許多氣象工作者對此做了大量工作,金淼等[1]、田新芳等[2]、騫少禹等[3]、張偉強(qiáng)等[4]、何步江等[5]、劉豫等[6]、畢陟等[7]對微信開展氣象服務(wù)進(jìn)行了研究,龍亞星等[8]、何林等[9]、劉名等[10]、陳科等[11]、馬鋒等[12]對基于自動站數(shù)據(jù)的接口進(jìn)行了相關(guān)業(yè)務(wù)服務(wù)研究。

縣級氣象部門處于氣象服務(wù)一線,在服務(wù)地方經(jīng)濟(jì)社會發(fā)展、服務(wù)民生、服務(wù)各行各業(yè)等方面發(fā)揮著重要作用。隨著互聯(lián)網(wǎng)+、大數(shù)據(jù)、AI等新型技術(shù)的發(fā)展,公眾接收氣象信息的手段、方式和渠道越來越多,導(dǎo)致出現(xiàn)部分氣象信息和氣象部門提供的預(yù)報(bào)、預(yù)警和服務(wù)結(jié)論不一致、信息重疊等多種問題。縣級氣象部門如何掌握氣象服務(wù)的主動權(quán)是值得思考的一個(gè)現(xiàn)實(shí)問題。云南省尋甸回族彝族自治縣氣象局設(shè)計(jì)開發(fā)了“尋甸氣象”微信公眾服務(wù)平臺,將縣級氣象數(shù)據(jù)圖形化,通過微信公眾服務(wù)平臺將氣象監(jiān)測、預(yù)報(bào)、預(yù)警和服務(wù)信息及時(shí)進(jìn)行主動推送,解決縣級氣象服務(wù)存在的預(yù)報(bào)預(yù)警服務(wù)不及時(shí)、傳播渠道單一等難題。

1 系統(tǒng)框架設(shè)計(jì)

縣級氣象微信公眾服務(wù)平臺對于整合氣象業(yè)務(wù)數(shù)據(jù)以及全面提升氣象服務(wù)能力具有十分重要的意義。系統(tǒng)結(jié)構(gòu)主要分為4個(gè)部分(圖1):氣象數(shù)據(jù)采集存儲系統(tǒng),接口服務(wù)系統(tǒng),前端展示系統(tǒng),后端發(fā)布系統(tǒng)。4個(gè)部分均采用成熟的架構(gòu)開發(fā)。

圖1 系統(tǒng)結(jié)構(gòu)及功能模塊圖

縣級氣象微信公眾服務(wù)平臺的服務(wù)都基于微信公眾號接口實(shí)現(xiàn)對接,用戶打開手機(jī)微信實(shí)現(xiàn)操作和查看,手機(jī)點(diǎn)擊微信公眾號的菜單查看前端展示系統(tǒng),前端展示系統(tǒng)根據(jù)用戶指令通過接口服務(wù)系統(tǒng)訪問氣象數(shù)據(jù)采集存儲系統(tǒng),氣象數(shù)據(jù)采集存儲系統(tǒng)從三大平臺實(shí)現(xiàn)數(shù)據(jù)采集。后端發(fā)布系統(tǒng)主要解決檢索和利用微信公眾號實(shí)現(xiàn)服務(wù)信息主動推送,如推送預(yù)警信息、天氣預(yù)報(bào)、超過閾值的實(shí)況信息等。

2 系統(tǒng)功能設(shè)計(jì)

2.1 氣象數(shù)據(jù)采集存儲系統(tǒng)

主要從綜合氣象信息共享平臺采集尋甸全縣觀測站地面逐小時(shí)資料、省級格點(diǎn)預(yù)報(bào)訂正產(chǎn)品、精細(xì)化預(yù)報(bào)產(chǎn)品、雷達(dá)單站PUP產(chǎn)品;從國家突發(fā)事件預(yù)警信息發(fā)布網(wǎng)采集預(yù)警信息;從縣級預(yù)報(bào)制作系統(tǒng)采集短期天氣預(yù)報(bào)、鄉(xiāng)鎮(zhèn)預(yù)報(bào)和各類氣象服務(wù)產(chǎn)品。并進(jìn)行必要的解析、轉(zhuǎn)換,然后通過接口服務(wù)系統(tǒng)存儲到氣象數(shù)據(jù)采集存儲系統(tǒng)。

從國家突發(fā)事件預(yù)警信息發(fā)布網(wǎng)采集預(yù)警信息關(guān)鍵核心代碼如下。

stringmatchName = String.Format("{0}(氣象局|氣象臺|突發(fā)事件)", stationName);

Regex reg = new Regex(matchName);

string result = GetAlert ();

var json = DynamicJson.Parse(result);

foreach (var item in json.alertData){

string title = item.headline;

var match = reg.Match(title);

if (match.Success && match.Value.Length > 0){

string signaltype, signallevel;

bool bRet = GetAlert_Class_Level

(item.headline, out signaltype, out signallevel);

AlertData obj = new AlertData();

obj.issueTitle = item.headline;

obj.issueContent = item.description;

obj.areaName = title.Substring(0, nLen);

obj.signalType = signaltype;

obj.signalLevel = signallevel;

obj.issueTime = item.sendTime;

list.Add(obj); }}

2.2 接口服務(wù)系統(tǒng)

接口服務(wù)系統(tǒng)用于向氣象微信公眾服務(wù)平臺提供基于HTTP請求與應(yīng)答服務(wù),實(shí)現(xiàn)所有模塊的動態(tài)升級,主要提供以下功能。①與數(shù)據(jù)庫相連,為氣象數(shù)據(jù)采集存儲系統(tǒng)提供數(shù)據(jù)同步服務(wù)。②與數(shù)據(jù)庫相連,為前端展示系統(tǒng)提供實(shí)況、預(yù)報(bào)、預(yù)警、氣象服務(wù)產(chǎn)品等各類定制化的氣象數(shù)據(jù)獲取服務(wù)。③與微信公眾平臺對接,為尋甸氣象微信菜單提供增加、刪除、改動和查詢服務(wù);為后端發(fā)布系統(tǒng)提供定制化預(yù)報(bào)、服務(wù)產(chǎn)品和實(shí)況告警信息的自動發(fā)送。④處理文件系統(tǒng)中雷達(dá)、網(wǎng)格預(yù)報(bào)等數(shù)據(jù)解析生成的前端展示產(chǎn)品。

操作微信公眾號接口關(guān)鍵核心代碼如下。

Encodingencoding = Encoding.UTF8;

string url = String.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", accessToken);

byte[] data = encoding.GetBytes(menu);

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.Method = "POST";

request.ContentType = "application/x-www-form-urlencoded";

Stream writer =request.GetRequestStream();

writer.Write(data, 0, data.Length);

writer.Flush();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);

string retString = reader.ReadToEnd();

reader.Close();

2.3 前端展示系統(tǒng)

展示系統(tǒng)基于Html5開發(fā),主要提供以下功能。①基于高德地圖顯示地面逐小時(shí)資料、雷達(dá)單站PUP產(chǎn)品、鄉(xiāng)鎮(zhèn)預(yù)報(bào)等資料。②基于位置定位顯示智能網(wǎng)格、臨近雨情、閃電定位、災(zāi)情上報(bào)等資料。③圖文列表方式顯示氣象數(shù)據(jù)統(tǒng)計(jì)查詢、天氣預(yù)警、氣象服務(wù)產(chǎn)品和氣象科普等資料。

在實(shí)際展示功能設(shè)計(jì)上,在滿足用戶實(shí)際需求的前提下,提供差異化和個(gè)性化的特色內(nèi)容。用戶可基于位置提供的功能有監(jiān)測實(shí)況、預(yù)報(bào)預(yù)警和氣象服務(wù)3大類功能,有效對接氣象部門相關(guān)業(yè)務(wù)系統(tǒng),利用接口服務(wù)系統(tǒng)展現(xiàn)系統(tǒng)所需數(shù)據(jù)的自動獲取、轉(zhuǎn)換和顯示。

前端展示系統(tǒng)定位關(guān)鍵核心代碼如下。

lbsMap.geolocation = new AMap.Geolocation({

enableHighAccuracy: true,timeout: 10000,maximumAge: 0,convert: true,showButton: false,showMarker: true,

showCircle: true,panToLocation: true,zoomToAccuracy: false});

lbsMap.mapObj.addControl(lbsMap.geolocation);

AMap.event.addListener(lbsMap.geolocation, ′complete′, lbsMap.geolocation_onComplete);

AMap.event.addListener(lbsMap.geolocation, ′error′, lbsMap.geolocation_onError);

lbsMap.geolocation.getCurrentPosition();});

前端展示系統(tǒng)插值處理關(guān)鍵核心代碼如下:

List borders =wContour.Contour. TracingBorders(gridData, gridX, gridY, ref s1, UnDefData);

List polyLines = wContour.Contour. TracingContourLines(gridData, gridX, gridY, contourVals.Length, contourVals, UnDefData, borders, s1);

List smoothedLines = wContour. Contour.SmoothLines(polyLines);

List polygons =wContour.Contour. TracingPolygons(gridData, smoothedLines, borders, contourVals);

int bmpHeight = (int)(bmpWidth * (extent.YMax-extent.YMin) / (extent.XMax-extent.XMin));

Bitmap bmp = newBitmap(bmpWidth, bmpHeight);

GraphicsgData = Graphics.FromImage(bmp);

gData.Clear(bgColor);

Color[] mColors = new Color[newColDef. ColorList.Count];

for (int i = 0; i < newColDef.ColorList.Count; i++)

{

mColors[i] = newColDef.ColorList[i].Color;

}

2.4 后端發(fā)布系統(tǒng)

后端發(fā)布系統(tǒng)主要提供以下功能。①定時(shí)檢索短期天氣預(yù)報(bào)、天氣預(yù)警以及氣象服務(wù)產(chǎn)品是否更新,如果有更新則調(diào)用接口服務(wù)系統(tǒng)發(fā)送。②定時(shí)檢查氣象站實(shí)況要素是否達(dá)到告警訂閱的閾值,并獲取訂閱的粉絲信息,調(diào)用接口服務(wù)系統(tǒng)發(fā)送。

后端發(fā)布系統(tǒng)關(guān)鍵核心代碼如下。

OpenIdResultJson list = wechatApi.Get(token.access_token, "");

if (list.data != null && list.data.openid != null)

{

foreach (string id in list.data.openid)

{

if (!String.IsNullOrEmpty(id))

wechatApi.SendTemplateMessage(token.access_token, id, req.templateid, req.url, data);

}

}

3 關(guān)鍵技術(shù)

在系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)過程中要重點(diǎn)考慮并解決用戶增多所帶來的并發(fā)訪問題,系統(tǒng)通過圖片服務(wù)器分離技術(shù)、緩存技術(shù)、庫表散列技術(shù)確保用戶的訪問速度和后期升級。

3.1 圖片服務(wù)器分離技術(shù)

對于Web服務(wù)器來說,圖片和視頻是最消耗資源的,將圖片與頁面進(jìn)行分離,圖片使用獨(dú)立的圖片服務(wù)器。這樣的架構(gòu)可以降低提供頁面訪問請求服務(wù)器系統(tǒng)的壓力,并且可以保證系統(tǒng)不會因?yàn)閳D片問題而崩潰。在應(yīng)用服務(wù)器和圖片服務(wù)器上,可以進(jìn)行不同的配置優(yōu)化,比如配置ContentType的時(shí)候可以盡量少支持,盡可能少的LoadModule,保證更低的系統(tǒng)消耗和更高的執(zhí)行效率。

3.2 緩存技術(shù)

緩存就是在內(nèi)存中存儲的數(shù)據(jù)備份,當(dāng)數(shù)據(jù)沒有發(fā)生本質(zhì)改變的時(shí)候,就不讓數(shù)據(jù)的查詢?nèi)?shù)據(jù)庫進(jìn)行操作,而去內(nèi)存中讀取數(shù)據(jù),這樣就大大降低了數(shù)據(jù)庫的讀寫次數(shù),而且從內(nèi)存中讀取數(shù)據(jù)的速度比去數(shù)據(jù)庫查詢要快一些,這樣同時(shí)又提高了效率。

緩存技術(shù)關(guān)鍵核心代碼如下:

public static T Get(string key, Func getCacheFunc, int expireTime, params object[] args)

{

if ((Get(key) == null)) {

lock (_lockHelp){

if ((Get(key) == null)) {

Insert(key, getCacheFunc(args), expireTime); }

}

}

return (T)Get(key);

}

3.3 庫表散列技術(shù)

為解決數(shù)據(jù)庫的瓶頸,從應(yīng)用程序的角度來考慮改善系統(tǒng)架構(gòu),采用庫表散列解決方案。在應(yīng)用程序中按照業(yè)務(wù)和應(yīng)用或者功能模塊將數(shù)據(jù)庫進(jìn)行分離,不同的模塊對應(yīng)不同的數(shù)據(jù)庫或者表,再按照一定的策略對某個(gè)頁面或者功能進(jìn)行更小的數(shù)據(jù)庫散列,比如粉絲表,按照粉絲OpenID進(jìn)行表散列,這樣就能夠以較低的成本提升系統(tǒng)的性能并且有很好的擴(kuò)展性。

4 應(yīng)用情況

經(jīng)測試,縣級氣象微信公眾服務(wù)平臺——尋甸氣象可通過掃二維碼或者添加公眾號進(jìn)行關(guān)注使用,適用于手機(jī)的任何操作系統(tǒng),推廣使用較為簡單方便。

平臺于2019年11月在尋甸縣進(jìn)行測試使用,測試用戶可主動通過菜單、指令方式獲取實(shí)況、預(yù)報(bào)、預(yù)警信息。目前平臺提供每月4次最多20條圖文信息群發(fā);實(shí)時(shí)群發(fā)鄉(xiāng)鎮(zhèn)天氣預(yù)報(bào)、氣象災(zāi)害預(yù)警信息;提供發(fā)送路徑,規(guī)定WORD文檔文件名命名規(guī)則,后臺實(shí)時(shí)接收處理并群發(fā)氣象服務(wù)信息;用戶也可通過菜單、指令方式獲取實(shí)況、預(yù)報(bào)、預(yù)警信息。

平臺給用戶提供基于位置的天氣實(shí)況、氣象服務(wù)等監(jiān)測預(yù)報(bào)預(yù)警信息,實(shí)現(xiàn)了精細(xì)化、互動式、基于位置的智能氣象服務(wù),實(shí)現(xiàn)部門之間信息共享。該平臺的運(yùn)行對于縣級氣象部門在服務(wù)地方經(jīng)濟(jì)社會發(fā)展中發(fā)揮著重要作用。

5 結(jié)論與討論

(1)縣級氣象部門利用微信開展氣象服務(wù),能降低設(shè)備和網(wǎng)絡(luò)費(fèi)用、保障維護(hù)等技術(shù)問題,同時(shí)發(fā)揮微信用戶廣、服務(wù)高效、易于推廣的特點(diǎn),有力拓展了縣級氣象服務(wù)渠道和提高服務(wù)質(zhì)量。

(2)在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)上,考慮到后期正式推廣后用戶逐漸增長的趨勢情況,采用圖片服務(wù)器分離技術(shù)、緩存技術(shù)和庫表散列技術(shù)確保用戶增長后服務(wù)器可動態(tài)擴(kuò)展,提高開發(fā)效率和用戶訪問速度。

(3)在功能設(shè)計(jì)上,基于用戶定位實(shí)現(xiàn)交互式、個(gè)性化服務(wù);對數(shù)據(jù)查詢提供數(shù)值、列表、圖形等多種簡單明了的服務(wù)內(nèi)容;便捷高效的提供實(shí)況、預(yù)警、預(yù)報(bào)和各類氣象服務(wù)信息,功能滿足大部分公眾用戶需求,實(shí)況訂閱、天氣快報(bào)等模塊又兼顧防災(zāi)減災(zāi)行業(yè)部門的需求,功能設(shè)計(jì)比較全面。

(4)平臺采用模塊化的設(shè)計(jì)思路,用戶操作簡單方便,后期完善和升級較為便捷。

猜你喜歡
微信用戶服務(wù)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
微信
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
微信
微信
主站蜘蛛池模板: 国产成人综合在线视频| 嫩草影院在线观看精品视频| 欧洲av毛片| 欧美黄色网站在线看| 亚洲精品国产乱码不卡| 成人免费网站久久久| 欧美精品在线看| 亚洲成人精品在线| 国产成人亚洲无码淙合青草| 精品无码专区亚洲| 中文字幕在线播放不卡| 毛片网站免费在线观看| 沈阳少妇高潮在线| 狼友av永久网站免费观看| 国内熟女少妇一线天| 手机精品视频在线观看免费| 国产精品污污在线观看网站| 中国一级毛片免费观看| 亚洲无线一二三四区男男| 天堂成人在线| 国产精品va| 国产成人亚洲欧美激情| 天天摸夜夜操| 国产精品亚洲五月天高清| 91在线无码精品秘九色APP| 国产综合日韩另类一区二区| 99视频全部免费| 高潮毛片免费观看| 99尹人香蕉国产免费天天拍| 毛片免费视频| 中文纯内无码H| 日韩欧美色综合| 日本影院一区| 久久精品人人做人人综合试看| 国产精品自在自线免费观看| 欧美成人午夜影院| 国产浮力第一页永久地址| 五月激情综合网| 精品无码专区亚洲| 久久国产热| 日韩黄色在线| 欧洲熟妇精品视频| 亚洲欧美极品| 亚洲人成网7777777国产| 成人欧美日韩| 亚洲一区无码在线| 国产欧美日韩资源在线观看| 国产AV毛片| 亚洲天堂日韩在线| 婷婷亚洲天堂| 91在线高清视频| 欧美曰批视频免费播放免费| 久久久久人妻一区精品色奶水 | 久久精品66| 亚洲国产综合精品一区| 欧美一区国产| 久久永久免费人妻精品| 久久青青草原亚洲av无码| 国产一在线| 97亚洲色综久久精品| 伦精品一区二区三区视频| 在线观看国产精品日本不卡网| 亚洲乱码精品久久久久..| av在线人妻熟妇| 国产99精品久久| 伊人久久精品无码麻豆精品| 亚洲中字无码AV电影在线观看| 国产日本欧美在线观看| 国产欧美日韩精品综合在线| 在线国产毛片| 亚洲精品波多野结衣| 国产精品不卡片视频免费观看| 国产伦精品一区二区三区视频优播| 国产激爽大片在线播放| 国产成人你懂的在线观看| 亚洲天堂成人| 97在线公开视频| 久久美女精品| 无码日韩视频| 很黄的网站在线观看| 99久久成人国产精品免费| 黄片在线永久|