實時資料庫中根據點名找到資料庫並訪問的系統與方法
2023-06-14 09:43:06
專利名稱:實時資料庫中根據點名找到資料庫並訪問的系統與方法
技術領域:
本發明涉及一種多個實時資料庫中根據點名找到資料庫並訪問的系統與方法,當配置實時資料庫訪問的點名後,可以在多個實時資料庫之間查找該點值的方法。
背景技術:
對於訪問實時資料庫中的點名對應的值時,由於一套系統可能關聯多種實時資料庫,所以配置點名時,還需要配置具體關聯的資料庫。這樣帶來了幾個弊端:一、由於現場實際情況中,需要讀取的點數量巨大,這樣就給現場開發人員帶來很多麻煩。;二、由於需要配置關聯的資料庫和點名這兩項內容,導致增加配置錯誤的風險;三、修改時也可能遺漏修改配置關聯的資料庫和點名這兩項內容中的一項。上述問題急需解決。發明內容
本發明為了彌補現有技術的不足,提供了一種連接多個實時庫時,根據點名找到資料庫並訪問的系統與方法。
本發明是通過如下技術方案實現的: 一種實時資料庫中根據點名找到資料庫並訪問的系統的運行方法,其特徵在於:當接受用戶的請求後,需要對所有實時資料庫進行遍歷,在每次遍歷中,將已知屬於該實時資料庫的測點和未知測點全部發送給實時資料庫,根據實時資料庫返回信息,從未知測點中刪除屬於該資料庫的測點,執行下一次循環直到所有的測點都讀取成功或所有實時資料庫遍歷完畢為止;該方法包括配置文件讀取模塊、測點位置存儲庫、調度模塊、實時數據訪問模塊和錯誤碼模塊。
所述配置文件讀取模塊,用戶按照規定格式編寫連接實時資料庫的配置文件信息,打開用戶編寫的配置文件,讀取配置文件,提取資料庫連接信息,並保存; 所述實時數據訪問模塊,根據配置文件建立與實時資料庫的連接,調用當前實時庫的API,輸入點名訪問點值; 所述測點位置存儲庫模塊,構造表結構,此表結構包含,點名和實時資料庫連接實體,外部對象可以根據點名設置和讀取資料庫實體對象; 所述錯誤碼模塊,將每個實時資料庫返回的錯誤碼自動轉換為統一的錯誤碼; 所述調度模塊,調用配置文件讀取模塊讀取配置文件中的資料庫連接信息,再利用讀取的信息和實時數據訪問模塊建立多個資料庫的實體。I)用戶輸入需要訪問的測點列表。2)遍歷測點列表中的所有測點,按照測點對應的實時資料庫將測點列表中的測點分組如果測點沒有對應的實時資料庫,則放入未知組中。3)以所有實時庫為循環,設置訪問成功的測點數為0,首先將當前實時資料庫對應的測點組與未知組合併為一個臨時測點組,將臨時測點組的所有測點發送到該實時資料庫中。實時資料庫返回數據後,將本次請求沒有出現測點不存在錯誤的測點數累加到訪問成功的測點數中,將請求成功的測點與該實時資料庫的關係,存放到測點位置存儲庫中。將沒有出現測點不存在錯誤的測點返回值拷貝到返回值數組對應的測點中。然後從未知組中除去沒有出現測點不存在錯誤的測點。隨後繼續循環到下一個實時資料庫。直到訪問成功的測點數等於用戶請求測點數或所有實時資料庫遍歷完畢。4)返回測點值。
本發明的配置文件讀取模塊,用於讀取連接資料庫的配置信息;測點位置存儲庫,用於保存點對應的資料庫;調度模塊,載入配置的每個實時資料庫所用的通用訪問接口模塊;實時數據訪問模塊,根據點名和每個實時資料庫的信息訪問點值;錯誤碼模塊,將每個實時資料庫返回的錯誤碼統一的錯誤碼。
所述的實時資料庫中根據點名找到資料庫並訪問的系統的運行方法,其特徵在於對實時資料庫遍歷及建立多個資料庫過程為: a)用戶輸入需要訪問的測點列表;b)遍歷測點列表中的所有測點,根據測點位置存儲庫的信息,按照測點對應的實時資料庫將測點列表中的測點分組;如果測點沒有對應的實時資料庫,則放入未知組中;c)以所有實時庫為循環,設置訪問成功的測點數為0,首先將當前實時資料庫對應的測點組與未知組合併為一個臨時測點組,將臨時測點組的所有測點發送到該實時資料庫中;實時資料庫返回數據後,將本次請求沒有出現測點不存在錯誤的測點數累加到訪問成功的測點數中,將請求成功的測點與該實時資料庫的關係,存放到測點位置存儲庫中;將沒有出現測點不存在錯誤的測點返回值拷貝到返回值數組對應的測點中;然後從未知組中除去沒有出現測點不存在錯誤的測點。隨後繼續循環到下一個實時資料庫;直到訪問成功的測點數等於用戶請求測點數或所有實時資料庫遍歷完畢;d)返回測點值。
本發明的有益效果是:該發明可以在只有點名的情況下,在不影響效率的前提下,查找所有資料庫的點名,並訪問。在不影響效率的前提下,僅根據點名即可訪問實時資料庫中的點。
下面結合附圖對本發明作進一步的說明。
圖1本發明讀取數據流程圖; 圖2本發明的框架圖。
具體實施方式
下面結合附圖對本發明作進一步的說明。附圖為本發明的流程圖。。
1、配置文件讀取模塊,需要用戶提取出資料庫的連接信息,並按照該模塊指定的格式書寫實時資料庫的配置文件,在程序啟動時,打開用戶編寫的配置文件,讀取配置文件,提取資料庫連接信息,並將連接信息保存在內存中,以便快速隨時地的供其他模塊調用; 2、實時數據訪問模塊,根據配置文件讀取模塊提供的配置信息建立與實時資料庫的連接,並始終持有該連接實體。當用戶需要訪問具體某個實時資料庫中的測點時,調用該模塊提供的統一訪問實時資料庫接口來獲得具體信息。此接口內部內部通過調用當前實時庫的API來訪問具體某個資料庫的測點。; 3、測點位置存儲庫模塊,構造表結構,此表結構包含測點名和實時資料庫連接實體,為了通過測點名能夠快速查找到對應的資料庫實體,所以利用Map進行存儲,將關鍵字設置為點名,值為實時資料庫實體。外部可以通過才模塊提供的接口,輸入點名得到讀取資料庫實體; 4、調度模塊,調用配置文件讀取模塊讀取配置文件中的資料庫連接信息,再利用讀取的信息和實時數據訪問模塊建立多個資料庫的實體。
I)用戶輸入需要訪問的測點列表。2)遍歷測點列表中的所有測點,根據測點位置存儲庫模塊提供的測點名與實時資料庫實體對應的信息,調用測點位置存儲庫模塊的接口得到測點對應的實時資料庫實體,並將屬於同一個實時資料庫實體的測點歸併到一個測點組中(例如,將第一個實時資料庫實體對應的測點全部放入測點組I中,將第二個實時資料庫實體對應的測點全部放入測試組2中,以此類推)。如果測點沒有對應的實時資料庫實體,則將測點放入未知組中。
2)新建統計訪問成功的測點數變量,設置變量初始化為O。創建返回值數組。
3)遍歷所有實時資料庫的實體,循環內部對每一個實時資料庫實體進行操作:a)首先將步驟2中計算得來的當前實時資料庫對應的測點組與未知組合併為一個臨時測點組,將臨時測點組的所有測點通過實時資料庫實體提供的接口,發送到當前實時資料庫中。b)實時資料庫返回數據後,調用錯誤碼模塊提供的接口,將錯誤碼轉換為統一的錯誤碼。c)沒有出現測點不存在錯誤的測點的數量累加到訪問成功的測點數變量中d)在未知點組中以及請求成功的測點與實時資料庫實體的關係,通過調用測點位置存儲庫模塊提供的接口存放到測點位置存儲庫中。e)沒有出現測點不存在錯誤的測點返回值拷貝到返回值數組對應的測點中。f)從未知組中除去沒有出現測點不存在錯誤的測點。
4)繼續循環到下一個實時資料庫。直到訪問成功的測點數的變量-等於用戶請求測點數或所有實時資料庫遍歷完畢為止。
5)將返回值數組返回給用戶。
5、錯誤碼模塊,每個實時資料庫驅動將自己的錯誤碼映射到統一的錯誤碼上。
權利要求
1.一種實時資料庫中根據點名找到資料庫並訪問的系統,其特徵在於:該系統包括配置文件讀取模塊、測點位置存儲庫、調度模塊、實時數據訪問模塊和錯誤碼模塊,其中 所述配置文件讀取模塊,用於用戶按照規定格式編寫連接實時資料庫的配置文件信息,打開編寫的配置文件,讀取配置文件,提取資料庫連接信息,並保存; 所述實時數據訪問模塊,用於根據配置文件建立與實時資料庫的連接,調用當前實時庫的API,輸入點名訪問點值; 所述測點位置存儲庫模塊,用於點名和實時資料庫連接實體,外部對象可以根據點名設置和讀取資料庫實體對象; 所述錯誤碼模塊,將每個實時資料庫返回的錯誤碼自動轉換為統一的錯誤碼; 所述調度模塊,調用配置文件讀取模塊讀取配置文件中的資料庫連接信息,再利用讀取的信息和實時數據訪問模塊建立多個資料庫的實體。
2.根據權利要求1所述的實時資料庫中根據點名找到資料庫並訪問的系統的運行方法,其特徵在於包括以下步驟:當接受用戶的請求後,對所有實時資料庫進行遍歷,在每次遍歷中,將已知屬於該實時資料庫的測點和未知測點全部發送給實時資料庫,根據實時資料庫返回信息,從未知測點中刪除屬於該資料庫的測點,執行下一次循環直到所有的測點都讀取成功或所有實時資料庫遍歷完畢為止。
3.根據權利要求2所述的實時資料庫中根據點名找到資料庫並訪問的系統的運行方法,其特徵在於對實時資料庫遍歷及建立多個資料庫過程為: a)用戶輸入需要訪問的測點列表;b)遍歷測點列表中的所有測點,根據測點位置存儲庫的信息,按照測點對應的實時資料庫將測點列表中的測點分組;如果測點沒有對應的實時資料庫,則放入未知組中;c)以所有實時庫為循環,設置訪問成功的測點數為O,首先將當前實時資料庫對應的測點組與未知組合併為一個臨時測點組,將臨時測點組的所有測點發送到該實時資料庫中;實時資料庫返回數據後,將本次請求沒有出現測點不存在錯誤的測點數累加到訪問成功的測點數中,將請求成功的測點與該實時資料庫的關係,存放到測點位置存儲庫中;將沒有出現測點不存在錯誤的測點返回值拷貝到返回值數組對應的測點中;然後從未知組中除去沒有出現測點不存在錯誤的測點;隨後繼續循環到下一個實時資料庫;直到訪問成功的測點數等於用戶請求測點數或所有實時資料庫遍歷完畢;d)返回測點值。
全文摘要
本發明涉及一種實時資料庫中根據點名找到資料庫並訪問的系統與方法,其特徵在於當接受用戶的請求後,需要對所有實時資料庫進行遍歷,在每次遍歷中,將已知屬於該實時資料庫的測點和未知測點全部發送給實時資料庫,根據實時資料庫返回信息,從未知測點中刪除屬於該資料庫的測點,執行下一次循環直到所有的測點都讀取成功或所有實時資料庫遍歷完畢為止;該方法包括配置文件讀取模塊、測點位置存儲庫、調度模塊、實時數據訪問模塊和錯誤碼模塊。該發明可以在只有點名的情況下,在不影響效率的前提下,查找所有資料庫的點名,並訪問。在不影響效率的前提下,僅根據點名即可訪問實時資料庫中的點。
文檔編號G06F17/30GK103150408SQ201310113588
公開日2013年6月12日 申請日期2013年4月2日 優先權日2013年4月2日
發明者丁書耕, 邢宏偉, 張建輝, 陳雷動, 王衡, 陳飛龍 申請人:山東魯能軟體技術有限公司