分時租賃系統數據訪問層接口構建方法與流程
2023-05-15 17:12:06
本發明涉及一種接口構建方法,具體涉及一種分時租賃系統數據訪問層接口構建方法,本發明屬於車輛租賃領域。
背景技術:
::分時租賃系統在國內未有成熟產品,目前的租賃系統一般採用記帳式方案,運營過程中每單租賃需要人工參與,無法實現自助的租賃模式。申請人檢索到如下對比文件。對比文件1:臺灣專利公開號:TWM482126U名稱:電動車租賃站,提供一種對電動車、鑰匙和電池進行管理的電動車租賃站,特徵在於該專利設有身份識別裝置,通過該身份識別裝置對電池進行更換,該專利只是對電池進行更換,不適用於整車進行更換。對比文件2:美國專利公開號:US2012/0280653A1名稱:電動汽車充電站的管理系統和方法(翻譯),提供一種電動汽車充電站的管理系統和方法,特徵在於提供車輛檢測器,對車輛的狀況進行檢測,並將檢測的信息反饋給檢測系統已經根據此信息對汽車進行充電等。對比文件3:中國專利公開號:CN104282088A名稱:一種基於充電樁的電動汽車租賃管理系統及其租賃管理方法,提供一種基於充電樁的電動汽車租賃管理系統,其主要特徵在於結合了智能終端或電腦,相關人員可以對租車情況等進行快速方便的查詢。對比文件4:中國專利公開號:CN103854374A名稱:基於周期結算模式的電動交通工具用電計費方法及裝置,提供一種基於周期結算模式的電動交通工具用電計費方法及裝置,特徵在於用採用電卡,電卡裡設有帳戶的信息以及費用結算方式。對比文件5:美國專利公開號:USD730822S名稱:帶有狀態指示的電動汽車充電站,以及導光組件和方法(翻譯),提供一種帶有狀態指示的電動汽車充電站,特徵在於帶有導光組件用於顯示各種狀態,對比文件6:美國專利公開號:US2015108947(A1)名稱:用於汽車和充電站之間通信方法和系統,提供一種用於汽車和充電站之間通信方法和系統,特徵至於電動汽車與充電站充電過程中的充電電纜連接到車輛和充電站終端終端之間可鎖定機械耦合。對比文件7:加拿大專利公開號:CA2890753(A1)名稱:使電動汽車快速充電的充電站的充電系統和方法(翻譯),提供一種使電動汽車快速充電的充電站的充電系統和方法,特徵在於提供一個充電臂,給予充電的車輛進行一個準確的定位。對比文件8:中國專利公開號:CN103944201A名稱:一種電動汽車定時充電樁,提供一種電動汽車定時充電樁,特徵在於設有時控開關對電動汽車進行定時充電設置。根據對比文件可知,分時租賃系統需要把會員App、門戶、Web後臺、車、樁、伺服器等部件或設備進行互聯,使系統高效、穩定、安全地運行,現有技術中,在具有多臺客戶端情況下,客戶端負載容易不均衡分發到不同伺服器上,找出某臺伺服器上的客戶端負載過大。此外,隨著客戶端應用程式負載的增加,難以將新的伺服器用於實現均衡負載。此外,後臺數據一般是存儲在一個資料庫中,對資料庫的更改和訪問,會造成運行效率低下。每次訪問資料庫面對的是單臺伺服器,造成單臺機器的負載壓力過大。技術實現要素:為解決現有技術的不足,本發明的目的在於提供一種分時租賃系統數據訪問層接口構建方法,以解決現有技術運營過程中伺服器上的客戶端負載過大、每次訪問資料庫面對的是單臺伺服器,造成單臺機器的負載壓力過大的技術問題。為了實現上述目標,本發明採用如下的技術方案:分時租賃系統數據訪問層接口構建方法,其特徵在於,包括如下步驟:步驟一:在認證庫中保存資料庫配置;步驟二:對資料庫進行拆分,構成多個子資料庫,將數據分配到各個子資料庫中;步驟三:每一個節點都擁有自己的內存和存儲,將資料庫中的數據分布到多臺機器中,查詢或插入時按照條件查詢或插入對應的分區。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,所述步驟一包括:建立一個資料庫,這個資料庫單獨保存用戶名到資料庫的映射關係,每次訪問資料庫的時候都要先查詢一次這個資料庫,以得到具體的DB信息,然後才能進行我們需要的查詢操作。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,所述步驟二中,採用垂直拆分方式對資料庫進行拆分。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,所述垂直拆分方式指:根據業務模塊劃分將資料庫拆分成多個子資料庫,每個子資料庫存儲對應業務模塊的數據。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,所述步驟二中,採用hash取模分方式對資料庫進行拆分。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,所述hash取模分方式指:對用戶名計算hash值,然後用一個特定的數字,對用戶名的hash值進行取模運算,根據每次運算結果將數據分配到子資料庫中。前述的分時租賃系統數據訪問層接口構建方法,其特徵在於,包括如下步驟:步驟四:將對資料庫的負載分布到集群中的多個節點上,在集群中的每一個節點都可以對外提供服務。本發明的有益之處在於:本發明充分利用每一臺伺服器的資源並將客戶端負載分發到不同伺服器上。同時實現分布存儲,可以降低單臺機器的負載壓力。附圖說明圖1是本發明分時租賃系統數據訪問層接口構建方法的流程示意圖;圖2是本發明分時租賃系統數據訪問層接口的在系統中的結構示意圖。具體實施方式以下結合附圖和具體實施例對本發明作具體的介紹。參照圖1和圖2所示,本發明分時租賃系統數據訪問層接口構建方法,包括如下步驟:步驟一:在認證庫中保存資料庫配置。這是指,建立一個DB(即資料庫),這個DB單獨保存user_id(即用戶名)到DB的映射關係,每次訪問資料庫的時候都要先查詢一次這個資料庫,以得到具體的DB信息,然後才能進行我們需要的查詢操作。步驟二:對資料庫進行拆分,構成多個子資料庫,將數據分配到各個子資料庫中。本實施例提供兩種拆分方式。採用垂直拆分方式對資料庫進行拆分和採用hash取模分方式對資料庫進行拆分。垂直拆分方式指:根據業務模塊劃分將資料庫拆分成多個子資料庫,每個子資料庫存儲對應業務模塊的數據。使用垂直拆分,主要要看應用類型是否合適這種拆分方式,如分時租賃系統可以分為,基礎資料系統,規則設置系統,會員管理系統。業務系統比較明了,垂直拆分能很好的起到分散資料庫壓力的作用。業務模塊不明晰,耦合(表關聯)度比較高的系統不適合使用這種拆分方式。但是垂直拆分方式並不能徹底解決所有壓力問題,例如:分時租賃系統會有一個5000w的消費記錄表(T_ConsumeRecord),操作起來訂單庫的壓力仍然很大,如我們需要在這個表中增加(insert)一條新的數據,insert完畢後,資料庫會針對這張表重新建立索引,5000w行數據建立索引的系統開銷還是不容忽視的,反過來,假如我們將這個表分成100個table呢,從table_001一直到table_100,5000w行數據平均下來,每個子表裡邊就只有50萬行數據,這時候我們向一張只有50w行數據的table中insert數據後建立索引的時間就會呈數量級的下降,極大了提高了DB的運行時效率,提高了DB的並發量。hash取模分方式指:對user_id進行hash(或者如果user_id是數值型的話直接使用user_id的值也可),然後用一個特定的數字(即為需要切分的子資料庫的數量值),比如應用中需要將一個資料庫切分成4個資料庫的話,我們就用4這個特定的數字對user_id的hash值進行取模運算,也就是user_id%4,這樣的話每次運算就有四種可能:結果為1的時候對應DB1;結果為2的時候對應DB2;結果為3的時候對應DB3;結果為0的時候對應DB4,這樣一來就非常均勻的將數據分配到4個DB中。步驟三:每一個節點都擁有自己的內存和存儲,將資料庫中的數據分布到多臺機器中,查詢或插入時按照條件查詢或插入對應的分區。步驟四:允許負載均衡。所謂負載均衡就是將對資料庫的負載分布到集群中的多個節點上,在集群中的每一個節點都可以對外提供服務,從而達到更高的吞吐量,更好的資源利用率和更低的響應時間。前端通過代理進行調度。本設計以便充分利用每一臺伺服器的資源並將客戶端負載分發到不同伺服器上,隨著應用程式負載的增加,只需要將新的伺服器添加到集群即可。可見,本發明將存放在同一個資料庫中的數據分散存放到多個資料庫上,實現分布存儲,通過路由規則路由訪問特定的資料庫,這樣一來每次訪問面對的就不是單臺伺服器了,而是N臺伺服器,這樣就可以降低單臺機器的負載壓力。由此,本發明中伺服器可部分遷移。數據在資料庫中分布均勻。配置靈活性強,具有一對一關係。本發明目的在於充分利用每一臺伺服器的資源並將客戶端負載分發到不同伺服器上,隨著應用程式負載的增加,只需要將新的伺服器添加到集群即可。通過某種特定的條件,將存放在同一個資料庫中的數據分散存放到多個資料庫上,實現分布存儲,通過路由規則路由訪問特定的資料庫,這樣一來每次訪問面對的就不是單臺伺服器了,而是N臺伺服器,這樣就可以降低單臺機器的負載壓力。以上顯示和描述了本發明的基本原理、主要特徵和優點。本行業的技術人員應該了解,上述實施例不以任何形式限制本發明,凡採用等同替換或等效變換的方式所獲得的技術方案,均落在本發明的保護範圍內。當前第1頁1 2 3 當前第1頁1 2 3