修改資料庫的方法
2023-10-17 18:17:44 2
專利名稱:修改資料庫的方法
技術領域:
本發明涉及一種修改資料庫的方法,特別是一種通過採用實時詢問式的方式實現數據修改時承載資料庫的伺服器與應用系統交互的修改資料庫的方法。
背景技術:
在現有的應用軟體系統中,要修改資料庫,常常是不僅需要修改應用軟體系統的靜態參數,而且需要修改一個應用軟體系統的運行參數。尤其對於大型有高可靠性要求的應用軟體系統的資料庫,如電信級、銀行級等大型應用軟體系統的資料庫,擁有大量的運行參數,這些系統必須常年累月處於工作狀態,而這些參數在工作過程中又經常發生變化,並且還有一部分數據,可能在應用軟體系統中各個應用子模塊都需要共享這些數據,這些數據的變化必須實時更新與之相關的應用子模塊中。
修改資料庫的現有技術是由控制平臺單獨對承載資料庫的伺服器中的數據進行操作完成修改,該修改過程與應用軟體系統中應用子模塊不進行交互,存在的缺陷在於,承載資料庫的伺服器與應用軟體系統不進行交互,導致無法保證數據的合法性、可靠性以及數據的完備性和實時性,從而無法滿足電信級、銀行級等大型應用軟體系統的資料庫在修改數據的過程中必須保障這些數據在相應的應用子模塊中的合法性、可靠性的要求。
發明內容
本發明的目的是針對上述現有技術的不足,提供一種修改資料庫的方法,實現數據修改時伺服器與應用系統的交互,以保證資料庫修改的合法性、可靠性、完備性和實時性。
為實現上述目的,本發明提出了一種修改資料庫的方法,該方法包括以下步驟步驟1、伺服器接收到數據修改命令後,根據存儲的數據與應用數據的客戶端的對應關係,找到應用所述數據修改命令中的數據的客戶端;步驟2、所述伺服器向所述客戶端發送數據操作命令,命令所述客戶端修改存儲的數據映像中的數據;步驟3、所述客戶端驗證數據操作命令合法後,根據所述數據修改命令修改已有的數據映像中的數據,創建數據映像副本,並向所述伺服器返回命令合法的消息;步驟4、所述伺服器接收到所有所述客戶端返回的所述命令合法的消息後,向所述客戶端發送更新數據的消息;步驟5、所述客戶端接收到所述更新數據的消息後,用所述數據映像副本替換已有的數據映像,向所述伺服器發送數據修改成功的消息;步驟6、所述伺服器接收到所有所述客戶端發送的數據修改成功的消息後,根據所述數據修改命令修改資料庫中的數據;步驟7、結束。
由於本發明實現了數據的操作者和數據的使用者互動所以具有如下功能和優點1、保證數據的合法性、可靠性由於在數據的修改過程,修改數據的使用都進行交互和確認,在此期間,數據的使用都可以結合各自的應用場景對這些修改的數據合法性進行驗證,保證了數據的合法性、可靠性;2、保證數據的完備性數據通過關係描述表將其修改的數據一次批量送達到各應用系統,應用系統可以查看這些修改數據之間的關係,修改數據和原始數據之間的關係,也可以結合運行場景,保證修改數據之間、修改數據和原始數據之間、修改數據和運行場景之間的完備性;
3、保證數據的實時性數據一旦修改,則由承載資料庫的伺服器主動根據應用關係描述表將數據實時送達到各應用系統,所以各應用系統可以同步使用修改後的數據,保證了數據服務與運行數據完全一致。
對於在電信級、銀行級等實時運行系統中通過數據關心者的授權,動態修改系統的運行參數,並實時更新相關應用數據客戶端相應的運行參數,從而提供了數據的無縫更新機制。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖1為本發明所應用的資料庫及應用系統的結構示意圖;圖2為本發明修改資料庫方法的較佳實施例的流程圖;圖3為基於圖2的較佳實施例的流程圖。
具體實施例方式
本發明中修改資料庫,還包括修改、增加和刪除數據的操作。
圖1為本發明所應用的資料庫及應用系統的結構示意圖,用於承載資料庫的伺服器A1與應用數據的客戶端A2以及其他客戶端A3連接。
假設客戶端A3要修改伺服器中的數據,具體如圖2所示,執行以下步驟步驟101、伺服器接收到客戶端發送過來的數據修改命令後,根據存儲的數據與應用數據的客戶端的對應關係,找到應用所述數據修改命令中的數據的客戶端;本發明中,資料庫能夠支持各個應用客戶端進行數據查詢,同時用於存儲數據的伺服器能為應用客戶端提供實時修改和實時通知,並能更新數據,而且能夠在修改資料庫過程中得到數據使用者的修改認可,保證了數據修改的合法性和可靠性。
本發明中,存儲數據的伺服器提供一個可供遠程客戶端修改資料庫的遠程接口,遠程客戶端可以通過這個接口向伺服器提交修改、增加或者刪除數據的修改操作命令。
資料庫提供了一個關係描述表,該關係描述表描述了各個數據與應用系統即客戶端的使用關係,用來存儲數據與應用數據的客戶端的對應關係。伺服器啟動後,裝載數據文件,並創建資料庫表,同時將數據關係描述文件讀入,並建立關係描述表。
資料庫能夠修改系統運行參數,能夠根據關係描述表並通過這些修改的運行參數找到關心這些數據的客戶端,從而及時將這些數據分別送達到各個關心這些數據的應用數據客戶端。
步驟102、伺服器向客戶端發送數據操作命令,命令所述客戶端創建數據映像副本;每個應用數據的客戶端連接數據伺服器時,都會將與其相關的數據從伺服器讀取到本地,並在本地進程建立數據映像。伺服器根據關係描述表將數據修改命令分解成多份數據操作命令,並把這些數據操作命令分發給相應的應用數據客戶端。例如根據關係表發現修改的數據只與數據B1和數據B2相關,則僅向這兩個數據的應用客戶端申請授權。
步驟103、所述客戶端驗證數據操作命令合法後,根據所述數據修改命令修改已有的數據映像中的數據,創建數據映像副本,並向所述伺服器返回命令合法的消息;步驟104、所述伺服器接收到所有應用數據B1和數據B2的客戶端返回的命令合法的消息後,向這些客戶端發送更新數據的消息,通知各應用數據客戶端進行數據的切換操作,將映像副本轉化成數據映像正本;步驟105、所述客戶端接收到所述更新數據的消息後,用所述數據映像副本替換已有的數據映像,向所述伺服器發送數據修改成功的消息;步驟106、所述伺服器接收到所有所述客戶端發送的數據修改成功的消息後,根據所述數據修改命令修改資料庫中的數據;步驟107、結束。
由於修改數據的命令不一定符合應用該數據的客戶端的要求,因此,上述實施例中,如圖3所示,步驟102和步驟103之間還進一步包括步驟步驟201、數據B1和數據B2的應用客戶端接收到所述數據操作命令後,先要判斷所述數據操作命令是否合法,若是,執行步驟103;否則,執行步驟202;步驟202、所述客戶端向所述伺服器返回命令不合法的消息,執行步驟107。
上述實施例中,為了使發出數據修改命令的客戶端獲知該數據修改命令是否執行,步驟202中,返回命令不合法的消息後,首先,所述客戶端伺服器向發出所述數據修改命令的客戶端返回數據修改失敗的消息,然後執行步驟107。
所述步驟106和步驟107之間進一步包括所述伺服器向發出所述數據修改命令的客戶端返回數據修改成功的消息。
數據B1和數據B2的應用客戶端如果都判斷數據修改命令合法,即判定數據修改合法,則授權伺服器進行數據操作,只有當伺服器接收到這兩個應用客戶端都返回命令合法的消息後,也就是兩個應用客戶端都授權通過時,伺服器才能進行數據修改,而後伺服器向這兩個應用客戶端發送更新通知,應用客戶端將創建的數據映像副本替換已有的數據映像,成為應用客戶端的數據映像正本,此時,應用客戶端與伺服器中的相應數據都同時進行了更新;只要有一個應用客戶端返回命令不合法的消息,則伺服器拒絕執行修改命令,此時伺服器及數據應用客戶端的數據統一保持不變。應同客戶端檢查這些修改數據後,決定是否授權伺服器修改這些數據;所有的客戶端均授權數據伺服器進行數據修改後,伺服器才能進行數據更新操作,同時更新相關應用數據客戶端的數據,否則數據伺服器直接返回失敗;本發明還提供了一種詢問式更新機制,在承載資料庫的伺服器接收到修改數據的請求時,首先詢問數據應用客戶端,爭得同意後再進行數據更新,保證了數據增加、修改和刪除的合法性。這樣,就進一步保證了整個應用系統數據修改的合法性、可靠性、完備性和實時性。
最後所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和範圍。
權利要求
1.一種修改資料庫的方法,其特徵在於,執行以下步驟步驟1、承載資料庫的伺服器接收到數據修改命令後,根據存儲的數據與應用數據的客戶端的對應關係,找到應用所述數據修改命令中的數據的客戶端;步驟2、所述伺服器向所述客戶端發送數據操作命令,命令所述客戶端修改存儲的數據映像中的數據;步驟3、所述客戶端驗證數據操作命令合法後,根據所述數據修改命令修改已有的數據映像中的數據,創建數據映像副本,並向所述伺服器返回命令合法的消息;步驟4、所述伺服器接收到所有所述客戶端返回的所述命令合法的消息後,向所述客戶端發送更新數據的消息;步驟5、所述客戶端接收到所述更新數據的消息後,用所述數據映像副本替換已有的數據映像,向所述伺服器發送數據修改成功的消息;步驟6、所述伺服器接收到所有所述客戶端發送的數據修改成功的消息後,根據所述數據修改命令修改資料庫中的數據;步驟7、結束。
2.根據權利要求1所述的修改資料庫的方法,其特徵在於,所述步驟1中,所述伺服器通過提供遠程修改資料庫的接口接收所述數據修改命令。
3.根據權利要求1或2所述的修改資料庫的方法,其特徵在於,所述步驟2和所述步驟3之間進一步包括步驟11、所述客戶端接收到所述數據操作命令後,判斷所述數據操作命令是否合法,若是,執行步驟3;否則,執行步驟12;步驟12、所述客戶端向所述伺服器返回命令不合法的消息,然後執行步驟7。
4.根據權利要求3所述的修改資料庫的方法,其特徵在於,所述步驟12中,在所述客戶端返回命令不合法的消息之後,首先,所述伺服器向發出所述數據修改命令的客戶端返回數據修改失敗的消息,然後執行步驟7。
5.根據權利要求1或2所述的修改資料庫的方法,其特徵在於,所述步驟6和步驟7之間進一步包括所述伺服器向發出所述數據修改命令的客戶端返回數據修改成功的消息。
全文摘要
本發明涉及一種修改資料庫的方法,該方法通過承載資料庫的伺服器在接收到修改數據命令後向應用所要修改的數據的客戶端進行詢問,獲取所有應用所要的修改的數據的客戶端的許可後,再通知這些客戶端更新數據映像,所有這些客戶端修改完後,伺服器才修改自己存儲的數據,從而實現了整個應用系統數據修改的合法性、可靠性、完備性和實時性。
文檔編號G06F17/30GK1983263SQ20061008081
公開日2007年6月20日 申請日期2006年5月16日 優先權日2006年5月16日
發明者蔡利元 申請人:華為技術有限公司