• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    “天擎”預(yù)報服務(wù)客戶端開發(fā)及接口應(yīng)用技巧

    2022-04-28 09:06:52董良淼李宇中覃月鳳李瑩藍(lán)盈
    氣象科技 2022年2期
    關(guān)鍵詞:調(diào)用客戶端服務(wù)

    董良淼 李宇中 覃月鳳 李瑩 藍(lán)盈

    (1 廣西壯族自治區(qū)氣象臺,南寧 530022;2 廣西壯族自治區(qū)氣象局,南寧530022;3 廣西壯族自治區(qū)氣象信息中心,南寧530022)

    引言

    氣象大數(shù)據(jù)云平臺“天擎”(CMADaaS)是全國氣象綜合信息共享系統(tǒng)(CIMISS)的功能升級和服務(wù)擴充版本。“天擎”平臺不僅全面繼承了CIMISS規(guī)范、數(shù)據(jù)種類和接口服務(wù)標(biāo)準(zhǔn),還在數(shù)據(jù)質(zhì)量、資料存儲時間序列、數(shù)據(jù)處理時效等方面有顯著提升。作為當(dāng)前業(yè)務(wù)流程整體最優(yōu)、數(shù)據(jù)服務(wù)統(tǒng)一高效的全國氣象部門信息化系統(tǒng)的核心[1-2],自2020年12月業(yè)務(wù)試運行以來,“天擎”所展現(xiàn)出的“云+端”集約化、標(biāo)準(zhǔn)化、開放性的業(yè)務(wù)模態(tài)得到了氣象預(yù)報服務(wù)人員的特別關(guān)注;如何將現(xiàn)有氣象業(yè)務(wù)系統(tǒng)升級改造以便有效利用“天擎”平臺優(yōu)勢,進(jìn)而融入新一代氣象大數(shù)據(jù)云平臺,充分發(fā)揮“數(shù)算一體、統(tǒng)一高效”的應(yīng)用服務(wù)能力,已成為各級氣象業(yè)務(wù)應(yīng)用研發(fā)單位努力的重點方向。

    預(yù)報服務(wù)系統(tǒng)應(yīng)用“天擎”服務(wù)的關(guān)鍵在于使用“接口”與大數(shù)據(jù)云平臺交互[3-7]。按照融入標(biāo)準(zhǔn),應(yīng)用系統(tǒng)中所有涉及與用戶交互的功能都由“端”來實現(xiàn)[1-2]:前端應(yīng)用(如產(chǎn)品交互制作、業(yè)務(wù)交互操作等)接收用戶交互指令,向“云”發(fā)出請求、并由后者完成相應(yīng)動作(如任務(wù)調(diào)度、產(chǎn)品生成、數(shù)據(jù)存儲等);獲取“云”返回的處理結(jié)果后,“端”將進(jìn)一步對輸出數(shù)據(jù)進(jìn)行加工處理,以提供或呈現(xiàn)用戶所需的服務(wù)產(chǎn)品(文件、表格或圖形圖像等)。因此,對于大多數(shù)預(yù)報服務(wù)應(yīng)用研發(fā)人員而言,“天擎”服務(wù)接口的掌握程度和應(yīng)用能力就決定了系統(tǒng)模塊改造融入云平臺的效率水平。

    本文以氣象行業(yè)數(shù)據(jù)分析和應(yīng)用研發(fā)中廣泛使用的Python(3.x版本)語言[8-10]環(huán)境為例,探討“天擎”大數(shù)據(jù)云平臺服務(wù)環(huán)境下適用于預(yù)報服務(wù)客戶端系統(tǒng)開發(fā)的服務(wù)接口應(yīng)用技巧,作為官方推薦方法和客戶端開發(fā)工具(SDK)的有益補充,供云平臺遷移融入研發(fā)人員參考。

    1 平臺服務(wù)接口特點及本地應(yīng)用存在的問題

    服務(wù)接口(Service Interface)是系統(tǒng)間數(shù)據(jù)交換的邊界。采用接口機制能夠?qū)崿F(xiàn)系統(tǒng)核心服務(wù)端與應(yīng)用端的業(yè)務(wù)邏輯隔離、降低模塊間相互依賴、減少構(gòu)件耦合度、提高單元內(nèi)聚性,從而有效提高系統(tǒng)整體靈活性、可維護(hù)性和可擴展性。服務(wù)接口是一種中間件,可封裝各種網(wǎng)絡(luò)通信協(xié)議、確保功能可跨平臺使用。服務(wù)接口同時也是安全屏障,通過容納驗證、授權(quán)模塊可充當(dāng)系統(tǒng)的信任邊界、滿足特定使用者的不同安全需求。服務(wù)接口還可實現(xiàn)緩存、有效縮短響應(yīng)時間并減少I/O帶寬消耗;在一組負(fù)載均衡處理節(jié)點上部署多個服務(wù)接口實例,可滿足系統(tǒng)高可用性和故障容錯要求??梢哉f,基于接口中間件的數(shù)據(jù)存取訪問功能“接口化”,是現(xiàn)代信息支撐平臺提供多用戶、高并發(fā)、高安全可靠性應(yīng)用服務(wù)的最主要方式[11-16]。

    1.1 服務(wù)接口特點

    “天擎”服務(wù)接口在沿用(兼容)氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(MUSIC)的CIMISS標(biāo)準(zhǔn)基礎(chǔ)上進(jìn)行了功能擴展和安全性擴充,減輕了應(yīng)用服務(wù)升級改造和遷移融入的程序代碼修改調(diào)整幅度。相比較CIMISS接口,“天擎”服務(wù)具有以下幾個方面突出特點:①增加了安全認(rèn)證模塊,“天擎”接口采用了基于查詢參數(shù)+時間戳的數(shù)字簽名加密(AK/SK)認(rèn)證方式,顯著提高了數(shù)據(jù)服務(wù)的安全性,可有效防止非法用戶偽造查詢請求、篡改檢索參數(shù)甚至嘗試網(wǎng)絡(luò)滲透攻擊等問題。與CIMISS查詢相比,其直觀差別體現(xiàn)在接口檢索URL中出現(xiàn)了時間戳(time-stamp)、本機隨機數(shù)(nonce)和數(shù)字簽名(MD5 sign)這3個參數(shù)。②采用負(fù)載均衡集群和分布式緩存技術(shù),服務(wù)性能顯著提升。作為直接支撐“云+端”數(shù)算一體化應(yīng)用的新一代平臺,“天擎”每一個重要功能模塊都依托高性能+高可用性的Linux集群系統(tǒng)來實現(xiàn),采用了分布式內(nèi)存緩存數(shù)據(jù)庫(Redis)、高性能流式處理并行框架(Storm/Spark)、高吞吐量消息系統(tǒng)(Kafka/RabbitMQ)等能夠有效降低數(shù)據(jù)傳輸處理時延、顯著提升數(shù)據(jù)服務(wù)性能的成熟集群服務(wù)技術(shù)。測試表明,在高并發(fā)場景下“天擎”訪問時效明顯高于CIMISS,部分服務(wù)性能優(yōu)于CIMISS平臺10倍以上[1-2]。③提供更豐富的數(shù)據(jù)序列化輸出格式,“天擎”接口提供多種可選數(shù)據(jù)返回格式。其中,“內(nèi)存對象”和“數(shù)據(jù)文件”這兩種返回格式只在客戶端開發(fā)包中提供,適用于大數(shù)據(jù)量獲取計算;而“序列化字符串”適用于數(shù)據(jù)快速解析和前端顯示應(yīng)用,是預(yù)報服務(wù)應(yīng)用最常用到的接口數(shù)據(jù)格式。與早期CIMISS接口相比,“天擎”可返回序列化字符串除XML/HTML/TEXT類型外還新增了JSON/JSONP這兩種新的數(shù)據(jù)格式。④強化系統(tǒng)接口服務(wù)資源占用管控,為保障實時業(yè)務(wù)優(yōu)先執(zhí)行,“天擎”平臺強化了對系統(tǒng)資源的占用管控,除優(yōu)化任務(wù)調(diào)度和均衡負(fù)載外,還會監(jiān)視分析算法模塊和客戶端對系統(tǒng)資源的占用情況,對超用、濫用資源現(xiàn)象進(jìn)行限制。針對用戶的接口調(diào)用請求,管理模塊設(shè)置了MUSIC接口訪問頻次限制:個人/科研用戶的限額大約是400~500次/min、2000~2500次/h左右。一旦超出調(diào)用上限,系統(tǒng)將拒絕執(zhí)行查詢操作并返回超限額錯誤信息,以確保系統(tǒng)資源合理分配。⑤服務(wù)接口數(shù)量種類進(jìn)一步豐富,目前已配置可用的系統(tǒng)內(nèi)置訪問接口有300余個、供接口選擇的檢索條件參數(shù)近120個,接口使用場景已涵蓋絕大多數(shù)預(yù)報服務(wù)應(yīng)用需求。

    1.2 服務(wù)接口應(yīng)用問題

    在系統(tǒng)服務(wù)得到全面強化升級的同時,“天擎”接口在本地應(yīng)用過程中也存在一些潛在問題:①服務(wù)接口安全認(rèn)證機制使得用戶應(yīng)用技術(shù)門檻有相當(dāng)程度的提升、非計算機專業(yè)出身的預(yù)報服務(wù)人員在開發(fā)接口調(diào)用程序時普遍遇到困難;其次,服務(wù)調(diào)用會出現(xiàn)一些原CIMISS環(huán)境下不常出現(xiàn)的查詢失敗等問題;②新的接口調(diào)用限額機制對需要對代碼進(jìn)行頻繁修改調(diào)試的開發(fā)過程不利,容易觸碰上限、從而影響到“天擎”平臺的研發(fā)應(yīng)用體驗;③豐富的數(shù)據(jù)接口和查詢輸出參數(shù)在某種程度上也造成了選擇困難,難以把握哪種接口方式才是特定應(yīng)用最便捷高效的選擇。

    2 服務(wù)接口調(diào)用技巧及應(yīng)用開發(fā)實現(xiàn)

    豐富的服務(wù)接口為“天擎”數(shù)據(jù)服務(wù)應(yīng)用開發(fā)提供了多樣化的可能。以下結(jié)合廣西省級平臺系統(tǒng)業(yè)務(wù)試運行近一年來的測試運維和應(yīng)用遷移研發(fā)經(jīng)驗,從氣象預(yù)報服務(wù)人員的技術(shù)視角給出幾個客戶端應(yīng)用開發(fā)暨服務(wù)接口調(diào)用技巧。

    2.1 簡化服務(wù)接口調(diào)用

    官方提供的簽名認(rèn)證調(diào)用基于一系列SDK開發(fā)包,在編寫調(diào)用代碼時須首先引入(import)cma.music.DataQueryClient類、生成client客戶端對象并根據(jù)需要初始化各種客戶端參數(shù),然后再使用該對象的特定方法、指明方法需調(diào)用的接口名稱(interfaceId),最后執(zhí)行方法獲取返回結(jié)果數(shù)據(jù)。習(xí)慣過程式開發(fā)的非計算機軟件專業(yè)氣象預(yù)報服務(wù)人員對上述“面向?qū)ο蟆钡某绦蛟O(shè)計理念和代碼執(zhí)行過程難免有些困惑,無形中拔高了“天擎”服務(wù)接口使用難度。為解決上述難題,可采用基于Python 3函數(shù)的接口調(diào)用方案。

    (1)構(gòu)造兩個函數(shù)。分別用于生成加密數(shù)字簽名(getSign)和組裝加密檢索URL(createApiUrl)。其中,前者是將官方開發(fā)包DataQueryClient模塊類方法getSign(self,signParams)簡化成普通函數(shù)(去除self參數(shù),用in操作符替代has_key()函數(shù)、并對signParams.keys()函數(shù)返回值做強制類型轉(zhuǎn)換,以適應(yīng)Python 3編碼環(huán)境);后者則是對官方包中的getConcateUrl類方法進(jìn)行函數(shù)式改造,用來根據(jù)“天擎”接口查詢參數(shù)生成客戶端(瀏覽器)完整查詢url鏈接,完整代碼如下:

    def createApiUrl(params,baseUrl,pwd):

    paramsUrl = baseUrl

    for key in params:

    paramsUrl += "%s=%s&" %(key,params[key])

    timestamp = str(int(round(time.time()* 1000))) #生成查詢時刻的時間戳

    nonce = str(uuid.uuid1()) #生成本次查詢對應(yīng)的本機隨機數(shù)

    params['timestamp']= timestamp

    params['nonce']= nonce

    params['pwd']= pwd #用戶密碼只出現(xiàn)在加密計算中,不能出現(xiàn)在查詢url中

    sign = getSign(params) #調(diào)用數(shù)字簽名函數(shù),生成查詢對應(yīng)的AK/SK加密認(rèn)證數(shù)字

    paramsUrl += "timestamp=%s&nonce=%s&sign=%s" %(timestamp,nonce,sign)

    #---將接口基本查詢信息(baseUrl)拼接上時間戳timestamp、隨機數(shù)nonce、加密認(rèn)證簽名sign后即成為完整查詢鏈接---

    return paramsUrl

    上述函數(shù)需提前引入uuid和hashlib這兩個Python 3標(biāo)準(zhǔn)內(nèi)置模塊。

    (2)將服務(wù)節(jié)點名serviceNodeId、調(diào)用接口名interfaceId、用戶名userId以及接口返回的序列化字符串格式名dataFormat等參數(shù),與其他接口服務(wù)查詢參數(shù)一起在程序中賦值,并存儲在一個字典型(dict)變量params中,而官方調(diào)用方案中上述參數(shù)的獲取相對分散,部分設(shè)置需從配置文件client.config中讀取、另有個別參數(shù)則隱含反映在對客戶端對象的不同方法調(diào)用過程中。

    確定查詢參數(shù)名稱及其具體取值的方法是,在氣象大數(shù)據(jù)云平臺集成界面(PORTAL網(wǎng)站)的“接口測試工具”頁面手選接口賬戶、數(shù)據(jù)類別、數(shù)據(jù)名稱和要測試的服務(wù)接口,并根據(jù)頁面提示信息補充所需接口參數(shù)、選擇返回值類型,最后點選“生成并執(zhí)行URL”以解析服務(wù)端構(gòu)建出的完整的查詢URL信息(圖1)。該查詢URL串中前面包含“天擎”平臺服務(wù)節(jié)點接口查詢標(biāo)識的“http://10.*.*.*/music-ws/api?”部分為baseUrl段,其后每個查詢參數(shù)都體現(xiàn)為一個以“=”相連接、以“&”為間隔的“鍵-值”參數(shù)對。以按時間段和經(jīng)緯度區(qū)域查詢站點地面氣象要素的接口URL為例,Portal網(wǎng)站構(gòu)建出的完整查詢信息是:

    圖1 使用“天擎”PORTAL網(wǎng)站構(gòu)建接口服務(wù)完整查詢URL信息

    http://10.159.90.120/music-ws/api?

    serviceNodeId=NMIC_MUSIC_CMADAAS&userId=USR_GCC_LYZ&interfaceId=getSurfEleInRectByTimeRange&dataCode=SURF_CHN_MUL_HOR&elements=Station_Name,Year,Mon,Day,Hour,PRE,TEM,PRS,RHU&timeRange=[20210830000000,20210830010000]&minLon=104&maxLon=115&minLat=20&maxLat=27&dataFormat=text×tamp=1630399491741

    &nonce=fb27ce93-fc82-472e-8b4a-8e85e3882855

    &sign=F58C7B2D70523102ADFA5F7960DD53FC

    除第一行“基礎(chǔ)信息”段和最后兩行“時間戳、隨機數(shù)和數(shù)字簽名”段,中間以下劃線標(biāo)識部分中的每一組以“=”相連、“&”為間隔的“鍵-值”參數(shù)對都須顯式賦值到params變量中,示例如下:

    params = {'serviceNodeId':'NMIC_MUSIC_CMADAAS',

    'userId': 'USR_GCC_LYZ',

    'interfaceId': 'getSurfEleInRectByTimeRange',

    'dataCode': 'SURF_CHN_MUL_HOR',

    'elements': 'Station_Name,Year,Mon,Day,Hour,PRE,TEM,PRS,RHU',

    'timeRange': '[20210830000000,20210830010000]',

    'minLat':'20',

    'minLon':'104',

    'maxLat':'27',

    'maxLon':'115',

    'dataFormat':'text',

    }

    為避免服務(wù)端接口調(diào)用URL解碼程序誤解查詢參數(shù)信息,建議所有賦值的“key:value”參數(shù)嚴(yán)格復(fù)現(xiàn)Portal接口測試工具給出的字符大小寫特征。

    (3)以查詢參數(shù)params來調(diào)用createApiUrl函數(shù)生成接口檢索URL,然后推薦采用Python第三方requests庫(或異步框架httpx庫)對該URL執(zhí)行HTTP請求操作,即可正常獲取“云”服務(wù)端返回的查詢結(jié)果信息,用以開展客戶端應(yīng)用后續(xù)加工處理和產(chǎn)品輸出工作。程序流程如下:

    ……(程序初始化)

    baseUrl ='http://' + serviceIp + '/music-ws/api?' #初始化服務(wù)接口基礎(chǔ)URL

    params = {…… } #設(shè)定接口查詢參數(shù)

    queryUrl = createApiUrl(params,baseUrl,pwd)#生成完整的服務(wù)接口加密檢索URL

    res = httpx.get(queryUrl) #用通用查詢框架執(zhí)行標(biāo)準(zhǔn)HTTP請求,獲取返回信息

    ……

    CMADaaS_Data_Proc() #數(shù)據(jù)后處理及產(chǎn)品輸出

    ……

    上述函數(shù)式“天擎”服務(wù)接口調(diào)用方式可將官方SDK限定的一系列客戶端操作處理過程縮減到一個只有數(shù)十行代碼的腳本文件中集約化實現(xiàn),顯著降低云平臺數(shù)據(jù)接口服務(wù)應(yīng)用門檻。

    2.2 提升接口服務(wù)調(diào)用成功率

    廣西省級“天擎”平臺業(yè)務(wù)試運行初期,接口應(yīng)用測試時不時會出現(xiàn)訪問失敗情況(返回“CLUSTERDOWN The cluster is down”錯誤提示、或查詢超時無任何信息返回);而短時內(nèi)再重復(fù)同樣查詢,故障往往又消失不見、重新可以獲取正常結(jié)果數(shù)據(jù)。為解決上述偶發(fā)性接口查詢訪問遲滯問題、保證服務(wù)調(diào)用成功率,可在代碼中引入“超時重試”機制,requests包本身就支持重試功能,使用前只需對requests.adapters.HTTPAdapter 進(jìn)行相應(yīng)設(shè)置即可(代碼略);另一種更好的方法是使用Python包裝器、借助功能更為強大的第三方“重試”模塊 tenacity(retry)來包裝正常的接口處理函數(shù),無需更改原函數(shù)內(nèi)部代碼就可增添超時重試功能:

    from tenacity import retry ……

    #---包裝3個重試條件:①出現(xiàn)“連接超時”異常時才進(jìn)行重試;②等待3 s后才重試;③重試過3次、或時長超過10 s后就不再重試---

    @retry(retry = retry_if_exception_type(requests.exceptions.Timeout), wait = wait_fixed(3), stop=(stop_after_delay(10)|stop_after_attempt(3)))

    def CMADaaS_DayProc_Retry(datestr): # 帶有“重試機制”的包裝器函數(shù)

    CMADaaS_DayProc(datestr) # 原處理函數(shù)

    2.3 改善接口返回數(shù)據(jù)處理效率

    “天擎”平臺服務(wù)提供了多種可選數(shù)據(jù)返回格式,其中新增的JSON格式常被當(dāng)作“瘦身版XML”、在很多應(yīng)用場景下都成功取代了XML數(shù)據(jù)。更深層次的原因是,JSON 數(shù)據(jù)格式完美對應(yīng)了Python列表(list)和字典(dict)類型表達(dá)[17],尤其是“字典”這種基于散列表存儲的高效數(shù)據(jù)結(jié)構(gòu),它的“鍵-值”映射檢索時間效率近似于O(1),無論字典或集合元素數(shù)量增長到多巨大,所耗費的查詢時間幾乎可忽略不計,可完美適配伸縮度極大的數(shù)據(jù)交換場合。

    Python處理JSON類型數(shù)據(jù)非常簡單,只需將返回結(jié)果提交給JSON內(nèi)置對象的loads方法加載、解析,就可得到一個容納全部記錄信息的多重嵌套dict型對象;而在這個對象中,每一組記錄數(shù)據(jù)段都能直接通過相應(yīng)的“鍵名”來迅速獲取。樣例如下:

    import json #引入Python標(biāo)準(zhǔn)內(nèi)置JSON格式數(shù)據(jù)解析處理模塊

    ……

    res = webapi.get(newUrl) #向“天擎”服務(wù)接口查詢站點觀測數(shù)據(jù)

    result = json.loads(res.text) #使用JSON模塊loads方法再次加載返回數(shù)據(jù)

    #---循環(huán)提取查詢結(jié)果數(shù)據(jù)中的每一個觀測站的要素信息---

    for StaRecoder in result['DS']: #'DS'鍵值對應(yīng)所有測站的觀測記錄列表

    strStationNum = StaRecoder["Station_Id_C"] #臺站站號

    fStationPress = float(StaRecoder["PRS"]) #氣壓

    ……

    若“天擎”接口返回數(shù)據(jù)是TEXT類型的序列化字符串,上述解碼提取觀測站要素信息的過程就會變成繁復(fù)多次的行、列、序號“拆分-解析”操作,不僅效率低下,而且由于缺乏明確的要素名與要素值對應(yīng)關(guān)系,代碼可讀性差、程序易出錯,軟件質(zhì)量無法保證。經(jīng)簡單對比,處理基于JSON格式的7~8萬個測站記錄比其它格式處理代碼快0.3%~1%左右,看似微不足道,但若一并考慮系統(tǒng)長期運行以及代碼的可讀性、可維護(hù)性,效果相當(dāng)可觀。

    2.4 合理規(guī)避接口服務(wù)訪問限制

    針對接口調(diào)用頻次限制,雖可通過向系統(tǒng)管理員申請、適當(dāng)提高特定用戶訪問限額來解決,但在應(yīng)用端程序調(diào)試中避免突破用戶限額還是應(yīng)作為普遍性“規(guī)則”盡量遵守。通過合理選擇服務(wù)接口、提高代碼處理技巧可以有效緩解訪問限額需求:①應(yīng)盡可能合并查詢檢索條件,按“時段”而非按“時間/時次”、按“區(qū)域/站號段”而非按“臺站號”來選擇合適的服務(wù)接口,以便用盡可能少的接口調(diào)用次數(shù)來獲取所需全部記錄數(shù)據(jù);②細(xì)粒度的時次、臺站級記錄篩選工作可對本機內(nèi)存中的返回數(shù)據(jù)集執(zhí)行二次操作來完成;③對調(diào)試期間尚未完善的接口服務(wù)調(diào)用部分,可適當(dāng)添加類似“sleep(3)”休眠語句來避免頻繁訪問造成限額耗盡。

    例如:某應(yīng)用端服務(wù)需要統(tǒng)計近6 h廣西境內(nèi)自動氣象站的累計雨量值,如果選用“按時間”或“按站號段”服務(wù)接口執(zhí)行檢索,至少需要12次接口調(diào)用(共6個時次、每個時次至少2個站號段);而改用“按時間段、經(jīng)緯度范圍”服務(wù)接口執(zhí)行檢索,設(shè)置好最近6 h的時段參數(shù)和廣西區(qū)域的起止經(jīng)緯度參數(shù),只需要1次檢索即可取回全部觀測記錄。再綜合采用JSON型數(shù)據(jù)快速解碼、定位功能,后續(xù)篩選和統(tǒng)計工作也能在本地高效完成。

    3 結(jié)論與討論

    作為當(dāng)前全國氣象信息化平臺的核心,“天擎”將成為今后支撐氣象部門業(yè)務(wù)運行、科學(xué)研究、新技術(shù)開發(fā)的共享資源中心和安全空間,助力氣象事業(yè)高質(zhì)量協(xié)同創(chuàng)新發(fā)展。顯然,促進(jìn)平臺高效安全使用、推動業(yè)務(wù)系統(tǒng)深度融入應(yīng)用,僅靠信息網(wǎng)絡(luò)專業(yè)人員在“云”端努力是遠(yuǎn)遠(yuǎn)不夠的,氣象預(yù)報服務(wù)及科研人員也需要在應(yīng)用“端”充分發(fā)揮自身優(yōu)勢;從這個技術(shù)視角出發(fā),可采用以下接口應(yīng)用開發(fā)技巧:①用函數(shù)式編程簡化“天擎”接口服務(wù)調(diào)用過程;②在大數(shù)據(jù)云平臺服務(wù)“接口化”背景下,引入“超時重試”機制可進(jìn)一步提高服務(wù)接口調(diào)用成功率;③以JSON格式作為預(yù)報服務(wù)應(yīng)用接口的首選返回數(shù)據(jù)格式,信息解析效率更高、代碼可維護(hù)性更強;④合理選擇服務(wù)接口可顯著緩解訪問限額矛盾。

    目前,“天擎”平臺及其服務(wù)接口仍在持續(xù)升級改進(jìn),后續(xù)優(yōu)化完善可從以下方面綜合考慮:①對服務(wù)接口進(jìn)行歸類整理、對接口的不同適用場景及其性能差異予以描述,可指導(dǎo)基層正確選用合適的服務(wù)方式、提升應(yīng)用體驗;②隨著系統(tǒng)軟硬件性能的升級擴充,適當(dāng)放寬系統(tǒng)資源(服務(wù)接口調(diào)用)管控限額能夠更好地支撐采用多協(xié)程/線程/進(jìn)程并行執(zhí)行的高性能客戶端應(yīng)用程序在氣象大數(shù)據(jù)云平臺環(huán)境下運行;③對云服務(wù)端算法進(jìn)一步開源共享,有利于技術(shù)人員更加深入理解“天擎”運行機制和服務(wù)理念,促進(jìn)平臺數(shù)據(jù)高效安全使用、推動業(yè)務(wù)系統(tǒng)深度融入融合。

    猜你喜歡
    調(diào)用客戶端服務(wù)
    核電項目物項調(diào)用管理的應(yīng)用研究
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    服務(wù)在身邊 健康每一天
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
    傳媒評論(2018年4期)2018-06-27 08:20:24
    孵化垂直頻道:新聞客戶端新策略
    傳媒評論(2018年4期)2018-06-27 08:20:16
    基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
    電子測試(2018年10期)2018-06-26 05:53:34
    招行30年:從“滿意服務(wù)”到“感動服務(wù)”
    商周刊(2017年9期)2017-08-22 02:57:56
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    米易县| 高雄县| 普安县| 饶平县| 开江县| 浏阳市| 和政县| 蕉岭县| 新绛县| 岑溪市| 蒙自县| 沙湾县| 裕民县| 富锦市| 盐亭县| 古浪县| 海南省| 陕西省| 称多县| 保靖县| 五常市| 沅江市| 湘乡市| 三河市| 红河县| 靖宇县| 吉水县| 德令哈市| 阿克苏市| 略阳县| 潼南县| 蒙城县| 临夏县| 芦山县| 宁化县| 金川县| 二连浩特市| 罗定市| 阿拉善左旗| 西乌珠穆沁旗| 康马县|