• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    處理服務請求的方法和裝置制造方法及圖紙

    技術編號:15437031 閱讀:63 留言:0更新日期:2017-05-25 19:14
    本發明專利技術提供了處理服務請求的方法和裝置,該方法包括,在Jetty?Continuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;利用Continuation異步處理請求;在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。本發明專利技術層次結構簡單和清晰,易于和維護,最大程度降低了耦合,提高了系統性能。

    Method and apparatus for processing service requests

    The present invention provides a method and a device for processing the service request, the method includes establishing asynchronous hierarchical structure in Jetty Continuation request processing, including the conversion of internal transport layer, data layer, data conversion of external layer, the layer; using the Continuation asynchronous processing request; request by asynchronous transmit in the asynchronous hierarchical structure in return, and asynchronous processing results, and notify the release request. The hierarchical structure of the invention is simple and clear, easy to maintain, reduce the coupling to the greatest extent and improve the system performance.

    【技術實現步驟摘要】
    處理服務請求的方法和裝置
    本專利技術涉及網絡計算領域,特別涉及一種異步處理API服務請求的方法和裝置。
    技術介紹
    Continuation是一種可以使HTTP請求可以被暫時掛起,并且當掛起超時或非同步的事件發生時,被掛起的HTTP請求可以被重新恢復的機制。這個機制的實現主要在SelectChannelConnector類中。SelectChannelConnector允許維持每個連接開放而不用消耗一個線程。當連接掛起時,Connector將請求維持在未決Continuations隊列里,用來服務請求的線程返回給TheadPool,這樣,該線程又可以服務于其他請求。暫停的請求停留在未決Continuations隊列里直到指定的過期時間,或者在它的Continuation上調用resume方法。Continuation.suspend會拋出一個特殊的運行時異常:RetryRequest,這個異常將傳播servlet以外,然后通過過濾器傳回再由SelectChannelConnector捕獲,將請求放入處于等待狀態的Continuation隊列中,此時HTTP連接并不關閉,而當前的程卻可以被放回線程池,供別的請求使用。Continuation機制實際就是對HTTP協議執行NIO(非阻塞I/O)。每個環節都是異步處理,這樣極大的提高了請求的TPS(每秒能夠處理的事務量)以及并發的性能。然而,Jettycontinuation需要在應用中使用應用級的線程池來完成一些IO任務,這個在普通的web編程并不常見。在應用的第一次請求中,需要調用AsyncContinuation.suspend,完成一個狀態的轉換,以及產生一個超時任務,將超時任務派發給應用線程池完畢后,Jetty回收該請求,線程IO任務在應用線程中完成后,然后通過AsyncContinuation.resume或者complete等方法通知Jetty任務完成Jetty然后會再次分配一個worker線程處理該請求,如果邏輯復雜,如并行的多次IO會分配多個worker線程。引入Jettycontinuation帶來的負面作用是需要仔細的切割各類IO任務,編程模型因而會變得復雜。
    技術實現思路
    為解決上述現有技術所存在的問題,本專利技術提出了一種處理服務請求的方法和裝置。本專利技術首先提出了一種處理服務請求的方法,包括:步驟一,在JettyContinuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;步驟二,利用Continuation異步處理請求;步驟三,在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。步驟二包括:取當前請求的Continuation對象,設置監聽器,在處理請求后掛起并釋放線程。該方法基于JSR315規范特性來處理異步請求。所述請求的接入方式包括DHReqContinuationServletHandler和DHReqAsynServletHandler,均抽象為AbstractDHReqServletHandler。所述請求接入方式基于servlet3.0和Jetty8的continuation的掛起消費策略來實現,這針對不同的servlet容器來切換不同的異步請求處理機制。所述步驟三進一步包括:所述接出層收到該請求后,進行服務化API調用,將處理結果逐步返回至轉換外部數據層,轉換內部數據層,和傳輸層,通知Continuation釋放請求,返回處理數據至servlet。該方法還包括,當某一時刻請求大量接入時,不需要等待線程釋放,而是將線程掛起,處理完畢后通知Jetty,此時Jetty再啟用一個新的線程再次處理請求。根據本專利技術的另一方面,提供了一種處理服務請求的裝置,包括:模型建立模塊,用于在JettyContinuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;Continuation模塊,用于利用Continuation異步處理請求;發送和返回模塊,用于在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。所述Continuation模塊進一步包括:獲取子模塊,用于獲取當前請求的Continuation對象,監聽子模塊,用于設置監聽器,掛起子模塊,用于在處理請求后掛起并釋放線程。所述發送和返回模塊進一步包括;調用子模塊,用于在所述接出層收到該請求后,進行服務化API調用,返回子模塊,用于將處理結果逐步返回至轉換外部數據層,轉換內部數據層,和傳輸層,釋放子模塊,用于通知Continuation釋放請求,返回處理數據至servlet。相比于現有技術,本專利技術的技術方案層次結構簡單和清晰可見,每一層對應的代碼均具有語義,易于和維護,最大程度降低了耦合。由于每層都是異步處理,系統性能被提升,具有應對未來大并發處理的能力提高請求訪問的TPS并發。具體實施方式本專利技術提出了一種處理服務請求的方法,包括:步驟一,在JettyContinuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;步驟二,利用Continuation異步處理請求;步驟三,在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。步驟二包括:取當前請求的Continuation對象,設置監聽器,在處理請求后掛起并釋放線程。該方法基于JSR315規范特性來處理異步請求。所述請求的接入方式包括DHReqContinuationServletHandler和DHReqAsynServletHandler,均抽象為AbstractDHReqServletHandler。所述請求接入方式基于servlet3.0和Jetty8的continuation的掛起消費策略來實現,這針對不同的servlet容器來切換不同的異步請求處理機制。所述步驟三進一步包括:所述接出層收到該請求后,進行服務化API調用,將處理結果逐步返回至轉換外部數據層,轉換內部數據層,和傳輸層,通知Continuation釋放請求,返回處理數據至servlet。該方法還包括,當某一時刻請求大量接入時,不需要等待線程釋放,而是將線程掛起,處理完畢后通知Jetty,此時Jetty再啟用一個新的線程再次處理請求。根據本專利技術的另一方面,提供了一種處理服務請求的裝置,包括:模型建立模塊,用于在JettyContinuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;Continuation模塊,用于利用Continuation異步處理請求;發送和返回模塊,用于在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。所述Continuation模塊進一步包括:獲取子模塊,用于獲取當前請求的Continuation對象,監聽子模塊,用于設置監聽器,掛起子模塊,用于在處理請求后掛起并釋放線程。所述發送和返回模塊進一步包括;調用子模塊,用于在所述接出層收到該請求后,進行服務化API調用,返回子模塊,用于將處理結果逐步返回至轉換外部數據層,轉換內部數據層,和傳輸層,釋放子模塊,用于本文檔來自技高網
    ...

    【技術保護點】
    一種處理服務請求的方法,其特征在于,包括:步驟一,在Jetty?Continuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;步驟二,利用Continuation異步處理請求;步驟三,在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。

    【技術特征摘要】
    1.一種處理服務請求的方法,其特征在于,包括:步驟一,在JettyContinuation的請求處理中建立異步層次結構,包括傳輸層,轉換內部數據層,轉換外部數據層,接出層;步驟二,利用Continuation異步處理請求;步驟三,在所述異步層次結構中逐級異步發送請求,并異步返回處理結果,并通知釋放請求。2.根據權利要求1所述的處理服務請求的方法,其特征在于,所述步驟二進一步包括獲取當前請求的Continuation對象,設置監聽器,在處理請求后掛起并釋放...

    【專利技術屬性】
    技術研發人員:陳崇傳
    申請(專利權)人:青島海日安電子有限公司
    類型:發明
    國別省市:山東,37

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 免费无码午夜福利片69| 久久久无码精品亚洲日韩软件| 未满十八18禁止免费无码网站 | 99国产精品无码| 亚洲爆乳精品无码一区二区| 无码不卡亚洲成?人片| 18精品久久久无码午夜福利| 精品无码人妻久久久久久| 免费A级毛片无码无遮挡内射| 亚洲中文字幕无码日韩| 无码午夜人妻一区二区不卡视频| 亚洲AV无码成人网站久久精品大| 免费无码午夜福利片 | 国产精品成人99一区无码| 色欲A∨无码蜜臀AV免费播| 亚洲午夜无码片在线观看影院猛 | 中文字幕无码精品亚洲资源网| 在线观看无码AV网址| 亚洲av无码精品网站| 日韩精品无码免费专区网站| 秋霞鲁丝片无码av| 久久久精品天堂无码中文字幕| 亚洲中文字幕久久精品无码2021| 亚洲AV永久无码精品水牛影视 | 少妇无码太爽了不卡在线观看| 性色AV蜜臀AV人妻无码| 精品日韩亚洲AV无码| 久久午夜无码鲁丝片| 亚洲国产精品成人精品无码区 | 亚洲aⅴ无码专区在线观看春色 | 日韩人妻无码免费视频一区二区三区 | 无码人妻精品一区二区三区66| 免费无码作爱视频| 中文字幕无码一区二区三区本日| 亚洲日韩VA无码中文字幕| 亚洲中文字幕无码爆乳av中文| 亚洲午夜无码片在线观看影院猛| 亚洲Av无码乱码在线观看性色| 国产精品一区二区久久精品无码| 色欲aⅴ亚洲情无码AV| 中文无码日韩欧免费视频|