本技術涉及倉庫管理,具體而言,涉及一種器件庫存數據維護方法、裝置、程序產品及電子設備。
背景技術:
1、在石油開采與維護的場景中,需要使用到的器件類型雜,數量多,特別是在一些石油開采與維護規模較大的場景中,需要進行倉庫管理的相關器件就包括600多個大類35000多個小類,其數量就更不用說。當前,一般通過本地數據庫存儲的器件庫存數據來反映庫房中器件的實際庫存情況,當用戶(比如石油工人)從庫房中取用器件,或者向庫房存放器件時,需要從本地數據庫查詢器件庫存數據,以了解庫房中庫存有哪些類別的器件,器件數量,以及器件存放位置等信息,如此可以增強用戶取放器件的便捷性。
2、但在實際工作中,有時候會出現因為數據管理員誤操作而導致本地數據庫存儲的器件庫存數據不準確的問題。另外,由于本地數據庫的訪問接口是對外開放的,導致存在本地數據庫中器件庫存數據被惡意更改的風險(即非法用戶基于對外暴露的本地數據庫訪問接口,入侵到本地數據庫中并惡意篡改其中的器件庫存數據),特別是在跨國油氣開采項目中,石油工人往往來自不同國家,人員關系復雜,器件庫存數據被篡改的風險更高,從而也會帶來本地數據庫存儲的器件庫存數據不準確的問題??梢岳斫獾氖牵骷齑鏀祿粶蚀_帶來的后果就是器件庫存數據管理混亂,影響用戶對器件的正常取放,從而影響石油生產節奏和效率。
3、基于此,如何保證器件庫存數據能夠準確反映庫房中器件的實際庫存情況,如何高效準確維護器件庫存數據,提高基于庫房的器件庫存數據的準確性是亟待解決的技術問題。
技術實現思路
1、本技術的實施例提供了一種器件庫存數據維護方法、裝置、計算機程序產品或計算機程序、計算機可讀存儲介質及電子設備,進而至少在一定程度上可以提高基于庫房的器件庫存數據的準確性。
2、本技術的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本技術的實踐而習得。
3、根據本技術實施例的一個方面,提供了一種器件庫存數據維護方法,所述方法執行于庫存數據管理服務器,所述方法包括:響應于器件的出入庫,獲取器件出入庫數據,并獲取當前記錄在本地數據庫中的器件庫存數據,作為目標庫存數據;從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據,所述備份庫存數據為上一次器件出入庫之后所述備份數據庫從所述本地數據庫中同步的器件庫存數據;對比所述目標庫存數據與所述備份庫存數據是否一致;如果所述目標庫存數據與所述備份庫存數據一致,則基于所述器件出入庫數據,更新當前記錄在本地數據庫中的器件庫存數據;如果所述目標庫存數據與所述備份庫存數據不一致,則將所述備份庫存數據同步至所述本地數據庫中之后,基于所述器件出入庫數據,更新當前記錄在本地數據庫中的器件庫存數據。
4、在本技術的一些實施例中,基于前述方案,所述從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據,包括:獲取預設備份數據庫集群的訪問接口,所述訪問接口的訪問權限僅向所述庫存數據管理服務器開放;基于所述訪問接口,從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據。
5、在本技術的一些實施例中,基于前述方案,所述本地數據庫和所述備份數據庫均包括多個數據存儲單元,其中,每一個數據存儲單元用于對應一種類別器件的器件庫存數據;所述獲取當前記錄在本地數據庫中的器件庫存數據,包括:根據出入庫器件所屬的器件類別,確定所述器件類別對應的目標存儲單元,并從所述本地數據庫中獲取當前記錄在所述目標存儲單元中的器件庫存數據;所述從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據,包括:從預設備份數據庫集群中對應獲取記錄在至少一個備份數據庫中所述目標存儲單元中的器件庫存數據,作為備份庫存數據。
6、在本技術的一些實施例中,基于前述方案,所述對比所述目標庫存數據與所述備份庫存數據是否一致,包括:獲取所述目標庫存數據在目標數據屬性上的第一屬性值與所述備份庫存數據在目標數據屬性上的第二屬性值;如果所述第一屬性值和所述第二屬性值相同,則確定所述目標庫存數據與所述備份庫存數據一致;如果所述第一屬性值和所述第二屬性值不相同,則確定所述目標庫存數據與所述備份庫存數據不一致;
7、在本技術的一些實施例中,基于前述方案,所述對比所述目標庫存數據與所述備份庫存數據是否一致,包括:分別對所述目標庫存數據和所述備份庫存數據進行哈希處理,得到第一哈希值和第二哈希值;如果所述第一哈希值和所述第二哈希值相同,則確定所述目標庫存數據與所述備份庫存數據一致;如果所述第一哈希值和所述第二哈希值不相同,則確定所述目標庫存數據與所述備份庫存數據不一致;
8、在本技術的一些實施例中,基于前述方案,在更新當前記錄在本地數據庫中的器件庫存數據之后,所述方法還包括:將所述本地數據庫中被更新的器件庫存數據同步至所述預設備份數據庫集群中的各個備份數據庫中。
9、在本技術的一些實施例中,基于前述方案,所述方法還包括:響應于用戶對記錄在本地數據庫中的器件庫存數據的查詢請求,獲取當前記錄在本地數據庫中的器件庫存數據,作為目標庫存數據;從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據,所述備份庫存數據為上一次器件出入庫之后所述備份數據庫從所述本地數據庫中同步的器件庫存數據;對比所述目標庫存數據與所述備份庫存數據是否一致;如果所述目標庫存數據與所述備份庫存數據一致,則將當前記錄在本地數據庫中的器件庫存數據反饋至用戶;如果所述目標庫存數據與所述備份庫存數據不一致,則將所述備份庫存數據同步至所述本地數據庫中之后,將當前記錄在本地數據庫中的器件庫存數據反饋至用戶。
10、根據本技術實施例的一個方面,提供了一種器件庫存數據維護裝置,所述裝置設置于庫存數據管理服務器,所述裝置包括:第一獲取單元,用于響應于器件的出入庫,獲取器件出入庫數據,并獲取當前記錄在本地數據庫中的器件庫存數據,作為目標庫存數據;第二獲取單元,用于從預設備份數據庫集群中的至少一個備份數據庫中對應獲取備份庫存數據,所述備份庫存數據為上一次器件出入庫之后所述備份數據庫從所述本地數據庫中同步的器件庫存數據;對比單元,用于對比所述目標庫存數據與所述備份庫存數據是否一致;更新單元,用于如果所述目標庫存數據與所述備份庫存數據一致,則基于所述器件出入庫數據,更新當前記錄在本地數據庫中的器件庫存數據;如果所述目標庫存數據與所述備份庫存數據不一致,則將所述備份庫存數據同步至所述本地數據庫中之后,基于所述器件出入庫數據,更新當前記錄在本地數據庫中的器件庫存數據。
11、根據本技術實施例的一個方面,提供了一種計算機程序產品或計算機程序,該計算機程序產品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質中。計算機設備的處理器從計算機可讀存儲介質讀取該計算機指令,處理器執行該計算機指令,使得該計算機設備執行上述實施例中所述的方法。
12、根據本技術實施例的一個方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現如上述實施例中所述的方法。
13、根據本技術實施例的一個方面,提供了一種電子設備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器實現如上述實施例中所述的方法。
14、基于本技術提出的技術方案,在庫房中的器件出入庫之后,通過對當前記錄在本地數據庫中的器件庫存數據和各個備份數據庫中的備份庫存數據進行對比,以驗證本地數據庫中的器件庫存數據是否準確,以保證當前記錄在本地數據庫中的最終的器件庫存數據是準確的,從而保證本地數據庫中記錄的器件庫存數據與庫房中器件庫存情況的一致性,使得器件庫存數據能夠準確反映庫房中器件的實際庫存情況,高效準確維護器件庫存數據,提高基于庫房的器件庫存數據的準確性。
15、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本技術。