基于數(shù)據(jù)庫通信的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種基于數(shù)據(jù)庫通信的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在常規(guī)的軟件系統(tǒng)中,模塊間調(diào)用方式是直接調(diào)用其它模塊暴露的接口,如果在一個業(yè)務(wù)中需要調(diào)用多個模塊,則需要進行多次請求進行調(diào)用;如果是在一個較大的業(yè)務(wù)流程中,一個模塊處理數(shù)據(jù)出現(xiàn)問題,就有可能導(dǎo)致整個業(yè)務(wù)數(shù)據(jù)丟失。在常規(guī)的軟件系統(tǒng)中,如果存在子系統(tǒng)間通信,一般是使用WebService或者是Socket來實現(xiàn),而實現(xiàn)通信服務(wù)端和客戶端需動用不少資源的來編寫代碼,而且在實際運營中,遇到短時間內(nèi)大量發(fā)送信息的情況,信息接收端有可能會因為資源不足而宕機;如果需要和多個系統(tǒng)之間通信,則需要多次發(fā)送。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例的目的在于提供一種基于數(shù)據(jù)庫通信的方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中需要通過調(diào)用接口進行通信造成開發(fā)量較高、容易宕機、可靠性較低。
[0004]本發(fā)明實施例提供了一種基于數(shù)據(jù)庫通信的方法,所述方法包括如下步驟:
數(shù)據(jù)發(fā)送端將所需發(fā)送的數(shù)據(jù)存儲至數(shù)據(jù)庫中;
數(shù)據(jù)庫存儲數(shù)據(jù)發(fā)送端的所需發(fā)送的數(shù)據(jù);
數(shù)據(jù)接收端從所述數(shù)據(jù)庫中獲取所需接收的數(shù)據(jù)。
[0005]本發(fā)明實施例又提供了一種基于數(shù)據(jù)庫通信的系統(tǒng),所述系統(tǒng)包括:
數(shù)據(jù)發(fā)送端,用于將所需發(fā)送的數(shù)據(jù)存儲至數(shù)據(jù)庫中;
數(shù)據(jù)庫,用于存儲數(shù)據(jù)發(fā)送端的所需發(fā)送的數(shù)據(jù);
數(shù)據(jù)接收端,用于從所述數(shù)據(jù)庫中獲取所需接收的數(shù)據(jù)。
[0006]本發(fā)明實施例所提供的基于數(shù)據(jù)庫通信的方法及系統(tǒng),將需要調(diào)用的數(shù)據(jù)保存在數(shù)據(jù)庫中,即使調(diào)用多個模塊時,也只需要保存一次數(shù)據(jù)。而當流程中需要增加被調(diào)用模塊或者有被調(diào)用模塊功能變動時,對于調(diào)用方式毫無影響,從而減少了代碼的耦合度,降低開發(fā)量;將數(shù)據(jù)存儲在數(shù)據(jù)庫避免了被調(diào)用模塊在運行時因異常而終止所導(dǎo)致數(shù)據(jù)丟失的問題。
【附圖說明】
[0007]圖1為本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法的一種流程圖;
圖2為本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法的另一種流程圖;
圖3為本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法的再一種流程圖;
圖4為本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的系統(tǒng)的另一種結(jié)構(gòu)示意圖。
【具體實施方式】
[0008]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0009]圖1示出了本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法一種流程圖,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法,所述方法包括如下步驟:
步驟Sll,數(shù)據(jù)發(fā)送端將所需發(fā)送的數(shù)據(jù)存儲至數(shù)據(jù)庫中。
[0010]在本實施例中,數(shù)據(jù)發(fā)送端是基于軟件系統(tǒng)現(xiàn)有的數(shù)據(jù)層,數(shù)據(jù)發(fā)送端在要傳遞信息或者發(fā)送指令時,將所需發(fā)送的數(shù)據(jù)保存到數(shù)據(jù)庫中,此后就可以完全不需要管理后續(xù)工作。
[0011]步驟S12,數(shù)據(jù)庫存儲數(shù)據(jù)發(fā)送端的所需發(fā)送的數(shù)據(jù)。
[0012]在本實施例中,將數(shù)據(jù)發(fā)送端所需發(fā)送的數(shù)據(jù)保存在數(shù)據(jù)庫中,因此即使將所需發(fā)送的數(shù)據(jù)發(fā)送多個數(shù)據(jù)接收端時,也只需要保存一次數(shù)據(jù),在整個流程當中即使增加或減少數(shù)據(jù)接收端時,對數(shù)據(jù)發(fā)送端也沒有任何變動。
[0013]步驟S13,數(shù)據(jù)接收端從所述數(shù)據(jù)庫中獲取所需接收的數(shù)據(jù)。
[0014]在本實施例中,在現(xiàn)有的模塊間通信時,數(shù)據(jù)接收端是作為被調(diào)用的模塊,因此需要暴露出接口和數(shù)據(jù)模型,而本發(fā)明實施例中模塊間通信是基于系統(tǒng)公用的數(shù)據(jù)持久層,因此數(shù)據(jù)接收端不需要暴露接口;數(shù)據(jù)接收端可以從數(shù)據(jù)庫中獲取所需接收的數(shù)據(jù),在增加或者減少數(shù)據(jù)接收端的數(shù)量時,對于數(shù)據(jù)接收端沒有任何影響。
[0015]圖2示出了本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法另一種流程圖,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法,所述方法包括如下步驟:
步驟S21,數(shù)據(jù)發(fā)送端將所需發(fā)送的數(shù)據(jù)存儲至數(shù)據(jù)庫中。
[0016]步驟S22,數(shù)據(jù)庫存儲數(shù)據(jù)發(fā)送端的所需發(fā)送的數(shù)據(jù)。
[0017]步驟S23,數(shù)據(jù)接收端從所述數(shù)據(jù)庫中獲取所需接收的數(shù)據(jù)。
[0018]步驟S24,數(shù)據(jù)接收端讀取所需接收的數(shù)據(jù),執(zhí)行相應(yīng)操作并記錄執(zhí)行結(jié)果。
[0019]在本實施例中,數(shù)據(jù)接收端從數(shù)據(jù)庫中取出發(fā)送給自身的數(shù)據(jù),所述數(shù)據(jù)包括信息或者指令,數(shù)據(jù)接收端按照數(shù)據(jù)庫中記錄的信息執(zhí)行業(yè)務(wù)或者完成指令中的相關(guān)操作,且在數(shù)據(jù)接收端記錄下執(zhí)行結(jié)果。
[0020]圖3示出了本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法再一種流程圖,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,本發(fā)明實施例提供的基于數(shù)據(jù)庫通信的方法,所述方法包括如下步驟:
步驟S31,數(shù)據(jù)發(fā)送端根據(jù)預(yù)先設(shè)定的數(shù)據(jù)接收端,將所需發(fā)送的數(shù)據(jù)分別形成與所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù),將與所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)存儲至數(shù)據(jù)庫中。
[0021]在本實施例中,對于一個數(shù)據(jù)發(fā)送端需要與多個數(shù)據(jù)接收端進行通信的業(yè)務(wù)中,數(shù)據(jù)發(fā)送端需要將所需發(fā)送的數(shù)據(jù)形成對應(yīng)不同的數(shù)據(jù)接收端的數(shù)據(jù),便于對多個不同的數(shù)據(jù)接收端進行通信。對于數(shù)據(jù)發(fā)送端而言,只需要在需要傳遞信息或者是發(fā)送指令時,根據(jù)預(yù)先設(shè)定的數(shù)據(jù)接收端,將所需發(fā)送的數(shù)據(jù)分別形成與所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù),并存儲在數(shù)據(jù)庫中即可。
[0022]步驟S32,數(shù)據(jù)庫存儲與所述數(shù)據(jù)接收端對應(yīng)的數(shù)據(jù)。
[0023]步驟S33,所述數(shù)據(jù)接收端從所述數(shù)據(jù)庫中獲取與其對應(yīng)的數(shù)據(jù)。
[0024]在本實施例中,由數(shù)據(jù)接收端從所述數(shù)據(jù)庫中獲取與其對應(yīng)的數(shù)據(jù),減少了異常情況對業(yè)務(wù)的影響,并可以對業(yè)務(wù)流程進行跟蹤。在現(xiàn)有的模塊間通過調(diào)用模塊進行通信時,如果數(shù)據(jù)接收端作為被調(diào)用的模塊在運行時因為異常而終止,那么整個業(yè)務(wù)將終止,而數(shù)據(jù)可能會被丟失。而在本發(fā)明實施例中,模塊間傳遞的數(shù)據(jù)儲存在數(shù)據(jù)庫中,數(shù)據(jù)接收端作為被調(diào)用模塊處理如果發(fā)生異常,系統(tǒng)也不會丟失業(yè)務(wù)數(shù)據(jù),同時也可以根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)來判斷相關(guān)業(yè)務(wù)的執(zhí)行情況,相當于在數(shù)據(jù)庫上控制了整個業(yè)務(wù)的流程。另外,減少了系統(tǒng)資源消耗,提升了子系統(tǒng)間通信效率,在現(xiàn)有的子系統(tǒng)間通信中,需要額外開發(fā)通信服務(wù)端和客戶端,以此來進行子系統(tǒng)間的通信,在本發(fā)明實施例中,不需要開發(fā)通信服務(wù)端和客戶端,只需要使用普通的數(shù)據(jù)層就能實現(xiàn)子系統(tǒng)間通信,減少了代碼開發(fā)量。
[0025]現(xiàn)有的子系統(tǒng)間