亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫訪問的監(jiān)控方法和裝置與流程

文檔序號:11286331閱讀:253來源:國知局
數(shù)據(jù)庫訪問的監(jiān)控方法和裝置與流程

本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫訪問的監(jiān)控方法和裝置。



背景技術(shù):

目前,大部分業(yè)務(wù)處理的過程都會涉及到對數(shù)據(jù)庫的訪問操作,比如:讀操作或?qū)懖僮?。一旦?shù)據(jù)庫訪問出錯,就會影響正常的業(yè)務(wù)處理。因此,如何對數(shù)據(jù)庫訪問進行監(jiān)控,以便在業(yè)務(wù)異常時能夠快速定位及處理已成為亟待解決的問題。



技術(shù)實現(xiàn)要素:

有鑒于此,本申請?zhí)峁┮环N數(shù)據(jù)庫訪問的監(jiān)控方法和裝置。

具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:

一種數(shù)據(jù)庫訪問的監(jiān)控方法,所述方法包括:

接收針對數(shù)據(jù)庫的訪問請求;

判斷是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息;

當(dāng)保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。

可選的,所述方法還包括:

生成各業(yè)務(wù)場景的業(yè)務(wù)信息;

保存各業(yè)務(wù)場景與其業(yè)務(wù)信息的對應(yīng)關(guān)系;

所述判斷是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息,包括:

判斷是否保存有所述訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述生成各業(yè)務(wù)場景的業(yè)務(wù)信息,包括:

針對每個業(yè)務(wù)場景,獲取與所述業(yè)務(wù)場景相關(guān)的sql數(shù)據(jù)文件,將所述sql數(shù)據(jù)文件和預(yù)設(shè)的數(shù)據(jù)庫拆分規(guī)則作為輸入數(shù)據(jù)輸入模板引擎,得到所述業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志,包括:

從所述業(yè)務(wù)信息中解析出所述數(shù)據(jù)庫拆分規(guī)則;

根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求的請求參數(shù)確定目標(biāo)庫信息;

將所述業(yè)務(wù)信息所屬的業(yè)務(wù)場景、所述目標(biāo)庫信息、所述請求參數(shù)以及所述訪問結(jié)果作為本次數(shù)據(jù)庫訪問的監(jiān)控日志輸出。

可選的,所述方法還包括:

在配置有數(shù)據(jù)庫中間件時,將所述目標(biāo)庫信息和所述請求參數(shù)發(fā)送給所述數(shù)據(jù)庫中間件,以供所述數(shù)據(jù)庫中間件進行數(shù)據(jù)庫訪問,并通過所述數(shù)據(jù)庫中間件接收所述訪問結(jié)果。

一種數(shù)據(jù)庫訪問的監(jiān)控裝置,所述裝置包括:

請求接收單元,接收針對數(shù)據(jù)庫的訪問請求;

信息判斷單元,判斷是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息;

日志輸出單元,在保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。

可選的,所述裝置還包括:

信息生成單元,生成各業(yè)務(wù)場景的業(yè)務(wù)信息;

信息保存單元,保存各業(yè)務(wù)場景與其業(yè)務(wù)信息的對應(yīng)關(guān)系;

所述信息判斷單元,判斷是否保存有所述訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述信息生成單元,針對每個業(yè)務(wù)場景,獲取與所述業(yè)務(wù)場景 相關(guān)的sql數(shù)據(jù)文件,將所述sql數(shù)據(jù)文件和預(yù)設(shè)的數(shù)據(jù)庫拆分規(guī)則作為輸入數(shù)據(jù)輸入模板引擎,得到所述業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述日志輸出單元,從所述業(yè)務(wù)信息中解析出所述數(shù)據(jù)庫拆分規(guī)則,根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求的請求參數(shù)確定目標(biāo)庫信息,并將所述業(yè)務(wù)信息所屬的業(yè)務(wù)場景、所述目標(biāo)庫信息、所述請求參數(shù)以及所述訪問結(jié)果作為本次數(shù)據(jù)庫訪問的監(jiān)控日志輸出。

可選的,所述裝置還包括:

數(shù)據(jù)庫訪問單元,在配置有數(shù)據(jù)庫中間件時,將所述目標(biāo)庫信息和所述請求參數(shù)發(fā)送給所述數(shù)據(jù)庫中間件,以供所述數(shù)據(jù)庫中間件進行數(shù)據(jù)庫訪問,并通過所述數(shù)據(jù)庫中間件接收所述訪問結(jié)果。

由以上描述可以看出,本申請在對數(shù)據(jù)庫訪問進行監(jiān)控時,可以結(jié)合訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息、請求參數(shù)以及訪問結(jié)果輸出監(jiān)控日志,從而關(guān)聯(lián)將業(yè)務(wù)場景和數(shù)據(jù)庫訪問,在業(yè)務(wù)異常時能夠通過監(jiān)控日志實現(xiàn)快速定位和處理,提升用戶體驗。

附圖說明

圖1是本申請一示例性實施例示出的一種數(shù)據(jù)庫訪問的監(jiān)控方法的流程圖。

圖2是本申請一示例性實施例示出的一種用于數(shù)據(jù)庫訪問的監(jiān)控裝置的一結(jié)構(gòu)示意圖。

圖3是本申請一示例性實施例示出的一種數(shù)據(jù)庫訪問的監(jiān)控裝置的結(jié)構(gòu)示意圖。

具體實施方式

這里將詳細(xì)地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所 有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。

在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。

相關(guān)技術(shù)中,在對數(shù)據(jù)庫訪問進行監(jiān)控時,通常會為數(shù)據(jù)庫設(shè)置獨立的監(jiān)控系統(tǒng)。然而,在這樣的實現(xiàn)方式中,數(shù)據(jù)庫訪問監(jiān)控與上層業(yè)務(wù)完全分離,一旦數(shù)據(jù)庫訪問出錯,無法實現(xiàn)對異常業(yè)務(wù)的快速定位和處理。

針對上述問題,本申請?zhí)峁┮环N數(shù)據(jù)庫訪問的監(jiān)控方案,可以將數(shù)據(jù)庫訪問監(jiān)控與業(yè)務(wù)場景相結(jié)合,以便在業(yè)務(wù)異常時,可以通過監(jiān)控日志實現(xiàn)對異常業(yè)務(wù)的快速定位和處理。

圖1是本申請一示例性實施例示出的一種數(shù)據(jù)庫訪問的監(jiān)控方法的流程圖。

請參考圖1,所述數(shù)據(jù)庫訪問的監(jiān)控方法可以應(yīng)用在終端中,所述終端可以包括智能手機、平板電腦、pda(personaldigitalassistant,掌上電腦)、pc機等智能設(shè)備。所述數(shù)據(jù)庫訪問的監(jiān)控方法可以理解為所述終端中裝載的應(yīng)用程序(application,app)執(zhí)行的處理邏輯,包括有以下步驟:

步驟101,接收針對數(shù)據(jù)庫的訪問請求。

在本實施例中,所述訪問請求包括針對數(shù)據(jù)庫進行讀操作或者寫操作的 各種業(yè)務(wù)請求,比如:余額查詢請求、轉(zhuǎn)賬請求、支付請求等等。所述訪問請求通常由用戶觸發(fā),比如:用戶可以通過預(yù)設(shè)的功能按鈕觸發(fā)所述訪問請求,用戶也可以通過語音輸入的方式觸發(fā)所述訪問請求,本申請對此不作特殊限制。

步驟102,判斷是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息。

在本實施例中,所述業(yè)務(wù)信息與業(yè)務(wù)場景相對應(yīng),可以包括:對應(yīng)業(yè)務(wù)場景的sql(structuredquerylanguage,結(jié)構(gòu)化查詢語言)數(shù)據(jù)文件,數(shù)據(jù)庫拆分規(guī)則等。其中,所述sql數(shù)據(jù)文件可以理解為對應(yīng)業(yè)務(wù)場景的注釋信息,可以包括:sql語句等文件。所述數(shù)據(jù)庫拆分規(guī)則可以包括數(shù)據(jù)庫的分庫、分表規(guī)則等,根據(jù)所述訪問請求的請求參數(shù)和所述數(shù)據(jù)庫拆分規(guī)則,可以確定本次訪問的目標(biāo)庫信息。所述業(yè)務(wù)場景通常由應(yīng)用程序支持的業(yè)務(wù)功能確定,以支付寶錢包為例,所述業(yè)務(wù)場景可以包括:轉(zhuǎn)賬場景、支付場景等。

可選的,在本申請一個例子中,可以預(yù)先生成各業(yè)務(wù)場景的業(yè)務(wù)信息,并保存各業(yè)務(wù)場景與其業(yè)務(wù)信息的對應(yīng)關(guān)系,比如:應(yīng)用程序可以在安裝后生成各業(yè)務(wù)場景的業(yè)務(wù)信息并保存等。

在本實施例中,針對某業(yè)務(wù)場景,在生成該業(yè)務(wù)場景的業(yè)務(wù)信息時,可以先獲取與所述業(yè)務(wù)場景相關(guān)的sql數(shù)據(jù)文件和數(shù)據(jù)庫拆分規(guī)則,并通過模板引擎生成所述業(yè)務(wù)場景的業(yè)務(wù)信息。具體地,開發(fā)人員可以預(yù)先設(shè)置用于生成業(yè)務(wù)信息的模板,在生成所述業(yè)務(wù)信息時,可以將所述sql數(shù)據(jù)文件和數(shù)據(jù)庫拆分規(guī)則作為輸入數(shù)據(jù)輸入模板引擎,模板引擎進而可以基于所述預(yù)設(shè)的模板生成所述業(yè)務(wù)場景的業(yè)務(wù)信息。當(dāng)然,在實際應(yīng)用中,也可以采用其他的方式生成各業(yè)務(wù)場景的業(yè)務(wù)信息,本申請對此不作特殊限制。

基于前述步驟101,在接收到所述訪問請求后,可以判斷本地是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息,比如:判斷是否保存有所述訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息。當(dāng)本地保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,可以執(zhí)行步驟103,當(dāng)本地未保存所述訪問請求對應(yīng)的業(yè)務(wù)信息時,可以基于 相關(guān)技術(shù)中提供的數(shù)據(jù)庫訪問監(jiān)控方案對本地數(shù)據(jù)庫訪問進行監(jiān)控,本申請在此不再一一贅述。

步驟103,當(dāng)保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。

在本實施例中,基于前述步驟102,當(dāng)確定保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,可以基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。

可選的,在本申請一個例子中,應(yīng)用程序在接收到所述訪問請求后,可以基于所述訪問請求進行數(shù)據(jù)庫訪問,并在接收到本次訪問的訪問結(jié)果后,輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。在本實施例中,在確定保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,可以先從所述業(yè)務(wù)信息中解析出數(shù)據(jù)庫拆分規(guī)則,然后根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求中攜帶的請求參數(shù)確定本次訪問的目標(biāo)庫信息,所述目標(biāo)庫信息通常包括:本次訪問的目標(biāo)數(shù)據(jù)庫、目標(biāo)分表等信息,然后基于所述目標(biāo)庫信息進行數(shù)據(jù)庫訪問,并接收訪問結(jié)果。在接收到所述訪問結(jié)果后,可以將所述業(yè)務(wù)信息所屬的應(yīng)用場景(即,所述訪問請求所屬的業(yè)務(wù)場景)、所述目標(biāo)庫信息、所述訪問請求中攜帶的請求參數(shù)以及所述訪問結(jié)果作為本次數(shù)據(jù)庫訪問的監(jiān)控日志輸出。

舉例來說,假設(shè)所述訪問請求為轉(zhuǎn)賬請求,對于支付寶錢包而言,在接收到用戶輸入的轉(zhuǎn)賬請求后,如果確定保存有轉(zhuǎn)賬場景對應(yīng)的業(yè)務(wù)信息,則可以從所述業(yè)務(wù)信息中解析出數(shù)據(jù)庫拆分規(guī)則,并根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述轉(zhuǎn)賬請求中攜帶的請求參數(shù)確定目標(biāo)庫信息,比如:根據(jù)轉(zhuǎn)賬發(fā)起賬號、目標(biāo)賬號等請求參數(shù)和所述數(shù)據(jù)庫拆分規(guī)則確定發(fā)起賬號和目標(biāo)賬號所在的數(shù)據(jù)庫信息。在確定所述數(shù)據(jù)庫信息后,可以基于所述轉(zhuǎn)賬請求中攜帶的轉(zhuǎn)賬金額等請求參數(shù)以及所述數(shù)據(jù)庫信息進行數(shù)據(jù)庫訪問,比如:基于所述轉(zhuǎn)賬金額更新所述發(fā)起賬號和目標(biāo)賬號的余額等,并在訪問結(jié)束后返回訪問結(jié)果。支付寶錢包可以在接收到所述訪問結(jié)果后,將轉(zhuǎn)賬場景、發(fā)起賬號 和目標(biāo)賬號所在的數(shù)據(jù)庫信息、所述轉(zhuǎn)賬請求中攜帶的請求參數(shù)(包括有:發(fā)起賬號、目標(biāo)賬號、轉(zhuǎn)賬金額等)以及所述訪問結(jié)果作為本次數(shù)據(jù)庫訪問的監(jiān)控日志輸出。當(dāng)所述訪問結(jié)果為訪問失敗時,相關(guān)人員可以根據(jù)輸出的監(jiān)控日志快速定位出本次訪問的數(shù)據(jù)庫信息,以進行處理。

可選的,在本申請一個例子中,在應(yīng)用程序配置有數(shù)據(jù)庫中間件時,可以通過所述數(shù)據(jù)庫中間件進行數(shù)據(jù)庫訪問,并通過所述數(shù)據(jù)庫中間件接收訪問結(jié)果。比如:在確定保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,可以先從所述業(yè)務(wù)信息中解析出數(shù)據(jù)庫拆分規(guī)則,然后根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求中攜帶的請求參數(shù)確定本次訪問的目標(biāo)庫信息,然后將所述目標(biāo)庫信息和所述訪問請求中攜帶的請求參數(shù)發(fā)送給所述數(shù)據(jù)庫中間件,數(shù)據(jù)庫中間件可以根據(jù)所述目標(biāo)庫信息和所述訪問請求進行數(shù)據(jù)庫訪問,無需再次確定目標(biāo)庫信息。當(dāng)然,在實際實現(xiàn)中,也可以由數(shù)據(jù)庫中間件根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求中攜帶的請求參數(shù)確定本次訪問的目標(biāo)庫信息,本申請對此不作特殊限制。

需要說明的是,在實際實現(xiàn)中,依據(jù)相關(guān)技術(shù),可以基于dao(dataaccessobject,數(shù)據(jù)庫訪問對象)接口進行數(shù)據(jù)庫訪問,本申請在此不再一一贅述。

由以上描述可以看出,本申請在對數(shù)據(jù)庫訪問進行監(jiān)控時,可以結(jié)合訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息、請求參數(shù)以及訪問結(jié)果輸出監(jiān)控日志,從而關(guān)聯(lián)將業(yè)務(wù)場景和數(shù)據(jù)庫訪問,在業(yè)務(wù)異常時能夠通過監(jiān)控日志實現(xiàn)快速定位和處理,提升用戶體驗。

與前述數(shù)據(jù)庫訪問的監(jiān)控方法的實施例相對應(yīng),本申請還提供了數(shù)據(jù)庫訪問的監(jiān)控裝置的實施例。

本申請數(shù)據(jù)庫訪問的監(jiān)控裝置的實施例可以應(yīng)用在終端上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在終端的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而 言,如圖2所示,為本申請數(shù)據(jù)庫訪問的監(jiān)控裝置所在終端的一種硬件結(jié)構(gòu)圖,除了圖2所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的終端通常根據(jù)該終端的實際功能,還可以包括其他硬件,對此不再贅述。

圖3是本申請一示例性實施例示出的一種數(shù)據(jù)庫訪問的監(jiān)控裝置的結(jié)構(gòu)示意圖。

請參考圖3,所述數(shù)據(jù)庫訪問的監(jiān)控裝置200可以應(yīng)用在前述圖2所示的終端中,包括有:請求接收單元201、信息判斷單元202、日志輸出單元203、信息生成單元204、信息保存單元205以及數(shù)據(jù)庫訪問單元206。

其中,所述請求接收單元201,接收針對數(shù)據(jù)庫的訪問請求;

所述信息判斷單元202,判斷是否保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息;

所述日志輸出單元203,在保存有所述訪問請求對應(yīng)的業(yè)務(wù)信息時,基于所述業(yè)務(wù)信息、所述訪問請求以及所述訪問請求的訪問結(jié)果輸出本次數(shù)據(jù)庫訪問的監(jiān)控日志。

所述信息生成單元204,生成各業(yè)務(wù)場景的業(yè)務(wù)信息;

所述信息保存單元205,保存各業(yè)務(wù)場景與其業(yè)務(wù)信息的對應(yīng)關(guān)系;

可選的,所述信息判斷單元202,判斷是否保存有所述訪問請求所屬的業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述信息生成單元204,針對每個業(yè)務(wù)場景,獲取與所述業(yè)務(wù)場景相關(guān)的sql數(shù)據(jù)文件,將所述sql數(shù)據(jù)文件和預(yù)設(shè)的數(shù)據(jù)庫拆分規(guī)則作為輸入數(shù)據(jù)輸入模板引擎,得到所述業(yè)務(wù)場景的業(yè)務(wù)信息。

可選的,所述日志輸出單元203,從所述業(yè)務(wù)信息中解析出所述數(shù)據(jù)庫拆分規(guī)則,根據(jù)所述數(shù)據(jù)庫拆分規(guī)則和所述訪問請求的請求參數(shù)確定目標(biāo)庫信息,并將所述業(yè)務(wù)信息所屬的業(yè)務(wù)場景、所述目標(biāo)庫信息、所述請求參數(shù)以及所述訪問結(jié)果作為本次數(shù)據(jù)庫訪問的監(jiān)控日志輸出。

所述數(shù)據(jù)庫訪問單元206,在配置有數(shù)據(jù)庫中間件時,將所述目標(biāo)庫信息和所述請求參數(shù)發(fā)送給所述數(shù)據(jù)庫中間件,以供所述數(shù)據(jù)庫中間件進行數(shù) 據(jù)庫訪問,并通過所述數(shù)據(jù)庫中間件接收所述訪問結(jié)果。

上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。

對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1