[發(fā)明專利]用于處理請求的方法和系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010212616.0 | 申請日: | 2020-03-24 |
| 公開(公告)號: | CN111488373B | 公開(公告)日: | 2023-09-22 |
| 發(fā)明(設(shè)計(jì))人: | 焦陽 | 申請(專利權(quán))人: | 支付寶(杭州)信息技術(shù)有限公司 |
| 主分類號: | G06F16/245 | 分類號: | G06F16/245;G06F16/27;G06Q40/04;H04L67/60;H04L67/01 |
| 代理公司: | 北京國昊天誠知識產(chǎn)權(quán)代理有限公司 11315 | 代理人: | 許振新;朱文杰 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 處理 請求 方法 系統(tǒng) | ||
本申請涉及一種在服務(wù)器處執(zhí)行的用于處理來自客戶端的請求的方法,所述服務(wù)器包括為處理所述請求而被依序調(diào)用的多個(gè)業(yè)務(wù)邏輯,所述方法包括:接收來自所述客戶端的請求;依序調(diào)用所述多個(gè)業(yè)務(wù)邏輯來處理所述請求;以及在處理所述請求的過程中,如果確定所述多個(gè)業(yè)務(wù)邏輯中的一個(gè)或多個(gè)業(yè)務(wù)邏輯被標(biāo)記為異步,則對所述請求執(zhí)行異步處理,其中對所述請求執(zhí)行異步處理包括:向所述客戶端返回所述請求將被異步處理的指示;以及當(dāng)對所述請求的處理完成后保存處理結(jié)果,以供所述客戶端查詢或向所述客戶端推送。本申請還涉及在客戶端處執(zhí)行的對應(yīng)方法以及相關(guān)聯(lián)的系統(tǒng)和計(jì)算機(jī)可讀存儲介質(zhì)。本申請能夠提升請求響應(yīng)速度、降低服務(wù)器資源占用。
技術(shù)領(lǐng)域
本說明書涉及用于由服務(wù)器處理來自客戶端的請求的方法和系統(tǒng)。
背景技術(shù)
在現(xiàn)有系統(tǒng),尤其是分布式系統(tǒng)中,來自用戶的客戶端的一個(gè)業(yè)務(wù)請求往往經(jīng)過一個(gè)或多個(gè)服務(wù)器中的多個(gè)業(yè)務(wù)邏輯的調(diào)用才能完成。例如,為了處理交易請求,可能需要由業(yè)務(wù)框架來調(diào)用用戶認(rèn)證邏輯、支付邏輯、庫存處理邏輯、結(jié)算邏輯、風(fēng)險(xiǎn)控制邏輯等等。在許多時(shí)候,業(yè)務(wù)邏輯可能需要被依序調(diào)用。例如,在上面的示例中,用戶認(rèn)證邏輯可能需要在支付邏輯之前被調(diào)用,支付邏輯可能需要在結(jié)算邏輯之前被調(diào)用,如此等等。
隨著完成客戶端的業(yè)務(wù)請求所需的業(yè)務(wù)邏輯越來越多,調(diào)用鏈路也越來越長。有些業(yè)務(wù)邏輯可能需要很長的處理時(shí)間,例如比較繁忙。例如,支付邏輯可能在訪問與支付相關(guān)聯(lián)的數(shù)據(jù)庫時(shí)遇到較長的等待時(shí)間。因此,在調(diào)用鏈路更長的情況下,調(diào)用的鏈路耗時(shí)以及響應(yīng)時(shí)間會(huì)變長,造成客戶端體驗(yàn)下降。此外,服務(wù)器可能為客戶端分配連接句柄,而在整個(gè)調(diào)用鏈路被處理的過程中,分配句柄無法被釋放,這可能導(dǎo)致服務(wù)器的大量句柄被占用而無法處理新的請求。同時(shí),這還可能造成連接資源占用鏈路時(shí)間變長,直接造成系統(tǒng)吞吐量下降。
因此,需要一種提升請求響應(yīng)速度、降低資源占用的方案。
發(fā)明內(nèi)容
為了解決上述問題和其它問題,本說明書提供了能夠用于提升請求響應(yīng)速度的技術(shù)方案。
本說明書的實(shí)施例通過以下技術(shù)方案來實(shí)現(xiàn)其上述目的。
在一個(gè)方面中,公開了一種在服務(wù)器處執(zhí)行的用于處理來自客戶端的請求的方法,所述服務(wù)器包括為處理所述請求而被依序調(diào)用的多個(gè)業(yè)務(wù)邏輯,所述方法包括:
接收來自所述客戶端的請求;
依序調(diào)用所述多個(gè)業(yè)務(wù)邏輯來處理所述請求;以及
在處理所述請求的過程中,如果確定所述多個(gè)業(yè)務(wù)邏輯中的一個(gè)或多個(gè)業(yè)務(wù)邏輯被標(biāo)記為異步,則對所述請求執(zhí)行異步處理,其中對所述請求執(zhí)行異步處理包括:
向所述客戶端返回所述請求將被異步處理的指示;以及
當(dāng)對所述請求的處理完成后保存處理結(jié)果,以供所述客戶端查詢或向所述客戶端推送。
優(yōu)選地,對所述請求執(zhí)行異步處理包括還包括:向所述客戶端返回用于查詢所述請求的處理結(jié)果的函數(shù),以供所述客戶端使用所述函數(shù)來查詢所述處理結(jié)果。
優(yōu)選地,所述方法還包括在接收到來自所述客戶端的所述請求之后,為所述客戶端分配連接句柄,以及對所述請求執(zhí)行異步處理還包括在向所述客戶端返回所述請求將被異步處理的指示后釋放所述連接句柄。
優(yōu)選地,所述方法還包括:監(jiān)控所述多個(gè)業(yè)務(wù)邏輯中的每個(gè)業(yè)務(wù)邏輯的執(zhí)行時(shí)間。
優(yōu)選地,如果一業(yè)務(wù)邏輯的執(zhí)行時(shí)間超過為該業(yè)務(wù)邏輯設(shè)定的閾值,則將該業(yè)務(wù)邏輯標(biāo)記為異步;以及如果一業(yè)務(wù)邏輯的執(zhí)行時(shí)間不超過為該業(yè)務(wù)邏輯設(shè)定的閾值,則將該業(yè)務(wù)邏輯標(biāo)記為同步。
優(yōu)選地,如果業(yè)務(wù)邏輯正在多個(gè)線程中被執(zhí)行,則監(jiān)控該業(yè)務(wù)邏輯在每個(gè)線程中的執(zhí)行時(shí)間。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于支付寶(杭州)信息技術(shù)有限公司,未經(jīng)支付寶(杭州)信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010212616.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





