本發(fā)明涉及數據查詢,具體涉及一種用于數據查詢的服務系統(tǒng)。
背景技術:
1、數據查詢服務系統(tǒng)是指一種軟件系統(tǒng),它能夠從各種不同的數據源中獲取數據,進行查詢、分析,并將結果提供給用戶或其他系統(tǒng)。該系統(tǒng)通常支持多種數據庫類型,并能通過統(tǒng)一的接口和標準化的查詢語言(如sql)來與這些數據庫進行交互。例如,假設一個數據查詢服務系統(tǒng)需要為一家公司提供支持多種數據庫類型的數據查詢功能,同時該系統(tǒng)還需要具備在服務執(zhí)行過程中動態(tài)修改和新增sql查詢語句的能力。其具體描述如下:數據查詢服務系統(tǒng)設計的核心目標是支持多種不同類型的數據庫類型數據源的數據庫查詢。這意味著,無論是關系型數據庫(如mysql、postgresql)還是非關系型數據庫(如mongodb、cassandra),該系統(tǒng)都能夠進行數據查詢。此外,該系統(tǒng)還需要具備高度的靈活性,即在服務執(zhí)行過程中,能夠動態(tài)修改和新增sql查詢語句,而無需停止服務。這樣,不僅提升了系統(tǒng)的靈活性,還增強了對多種數據庫類型的擴展支持。
2、然而一般的數據查詢服務系統(tǒng)中,往往是一個服務只能夠支持一種不同類型的數據庫類型數據源的數據庫查詢,無法適應多種數據庫類型的需求,另外也不能支持服務執(zhí)行過程中可以動態(tài)修改和新增sql查詢語句,導致數據查詢服務的靈活性較低。
技術實現思路
1、本發(fā)明的目的就在于解決的問題,而提出的一種用于數據查詢的服務系統(tǒng)。
2、本發(fā)明提出一種用于數據查詢的服務系統(tǒng),所述系統(tǒng)包括:
3、信息配置模塊:用于配置數據庫連接所需的信息,根據數據庫進行sql語句配置;
4、數據庫連接模塊:用于系統(tǒng)啟動時讀取所配置的數據庫信息,并根據讀取的數據庫信息創(chuàng)建連接池;
5、執(zhí)行模塊:接收到數據查詢請求后,根據請求的sql唯一標識找到對應的數據庫連接池和sql語句,并進行分頁查詢,并返回查詢結果集及分頁結果信息;
6、認證授權模塊:用于對每次接收到查詢請求時進行身份驗證,并根據驗證狀態(tài)信息判定返回查詢信息的準確性。
7、可選地,對數據庫信息進行配置,配置用于提供給執(zhí)行sql語句時用到的創(chuàng)建數據庫連接的相關信息;所述相關信息包括數據庫地址、賬戶、密碼,以及對其進行命名;
8、在指定的數據庫表格內配置需要執(zhí)行的sql語句信息,并配置數據庫信息主鍵,并配置該語句查詢結果的緩存屬性——是否進行緩存,以及如果緩存則配置緩存的周期。
9、可選地,數據庫連接模塊應用于:
10、系統(tǒng)啟動時讀取數據庫配置信息,并根據相關信息動態(tài)創(chuàng)建數據庫連接池——根據配置的數據庫類型動態(tài)加載相關數據庫驅動,根據數據的連接參數創(chuàng)建數據庫連接,并采用主流的連接池技術創(chuàng)建連接池,保證在大量訪問的情況下保證查詢的響應效率。
11、可選地,所述執(zhí)行模塊應用于:
12、當接收到數據查詢請求時根據請求的sql唯一標識找到對應的數據庫連接池,以及相應的語句,并判斷數據庫的類型,按照查詢參數中的分頁信息,進行分頁查詢的封裝,把執(zhí)行的查詢數據結果集以及分頁結果信息返回給請求方。
13、可選地,所述認證授權模塊應用于:
14、每次接收到查詢請求的時候都會對請求者的身份進行驗證,請求方每次發(fā)起請求時需帶上token,token在請求前首先通過調用鑒權接口并傳遞相關驗證狀態(tài)信息,鑒權接口根據驗證狀態(tài)信息通過認證后返回的,查詢服務在認證token的合法性后,判斷token有效則執(zhí)行數據查詢服務,返回準確信息,否則返回錯誤信息。
15、可選地,所述認證授權模塊還應用于:
16、所述驗證狀態(tài)信息包括網絡信號連接不穩(wěn)定系數、時間戳無效系數和數據不完整系數;
17、所述網絡信號連接不穩(wěn)定系數的計算方式為:
18、獲取每次接收到查詢請求時,固定時間區(qū)間內不同時刻對應的實際網絡信號值,并將實際網絡信號值標記為h實k,k表示時刻的個數的編號,k=1、2、3、4、……、u,u為正整數;
19、計算在固定時間區(qū)間內,不同時刻的實際網絡信號值標記為h實k的標準差,并將標準差標定為r,標準差r的計算公式為:
20、
21、其中,為在固定時間區(qū)間內,不同時刻對應的實際網絡信號值的平均值,獲取的表達式為:
22、通過在固定時間區(qū)間內,不同時刻對應的實際網絡信號值的平均值h實k的標準差r,獲取網絡信號連接不穩(wěn)定系數faz,獲取的表達式為:faz=r。
23、可選地,所述認證授權模塊還應用于:
24、所述時間戳有效系數的計算方法為:
25、獲取每次接收到查詢請求時,對應的token,并將token標記為yl,l表示token個數的編號,l=1、2、3、4、……、h,h為token的總個數且為正整數;
26、將無效的token標記為yd,d表示無效token個數的編號,d=1、2、3、4、……、r,r為無效的token的個數;
27、根據yl和yd得到時間戳無效系數dlx,計算的公式為:dlx=ln(r/h+1)。
28、可選地,所述認證授權模塊還應用于:
29、所述數據不完整系數的計算方法為:
30、獲取每次接收到查詢請求時,對應的實際所接收的數據,并將所接收的數據標記為m接e,e表示實際所接收的數據個數的編號,e=1、2、3、4、……、p,p為整數;
31、獲取每次接收到查詢請求時,對應的實際所上傳的數據,并將所上傳的數據標記為m上c,c表示實際所上傳的數據個數的編號,c=1、2、3、4、……、s,s為正整數;
32、根據m接e和m上c得到數據不完整系數ekx,計算的公式為:ekx=(s-p)。
33、可選地,所述認證授權模塊還應用于:
34、根據網絡信號連接不穩(wěn)定系數、時間戳無效系數和數據不完整系數得到不合法系數,可通過以下公式來實現:
35、
36、式中,qkgd為不合法系數,faz、dlx和ekx分別表示網絡信號連接不穩(wěn)定系數、時間戳無效系數和數據不完整系數,a1、a2和a3分別為網絡信號連接不穩(wěn)定系數、時間戳無效系數和數據不完整系數的比例系數,且a1、a2和a3均大于0;
37、將不合法系數和不合法系數閾值進行對比,當不合法系數不小于預設不合法系數閾值時,表示鑒權接口根據驗證狀態(tài)信息通過認證的token合法性是無效的,此時判斷token無效則執(zhí)行數據查詢服務,返回錯誤信息;
38、當不合法系數小于預設不合法系數閾值時,表示鑒權接口根據驗證狀態(tài)信息通過認證的token合法性是有效的,此時判斷token有效則執(zhí)行數據查詢服務,返回正確信息。
39、本發(fā)明的有益效果:
40、本發(fā)明提出了一種用于數據查詢的服務系統(tǒng),使得同一個服務能夠支持多種不同類型數據庫類型數據源的數據庫查詢,同時支持在不停止服務——即服務執(zhí)行過程中可以動態(tài)修改和新增sql查詢語句,極大的增強了數據查詢服務的靈活性和對多種數據庫類型的擴展支持;另外,通過綜合考慮網絡信號的穩(wěn)定性、時間戳的有效性和數據傳輸的完整性,系統(tǒng)能夠更準確地判斷token的合法性,減少因單一因素導致的誤判風險。此外,不合法系數的設定和動態(tài)調整,可以根據實際情況靈活優(yōu)化認證機制,確保在各種網絡環(huán)境下都能有效防止非法訪問和惡意攻擊,從而保障數據查詢服務的可靠性和準確性。