新四季網

跨資料庫支持多欄位組合的自動編碼方法和系統的製作方法

2023-05-14 16:37:51 1

+namesp+I]+"=,".keys[i]+,"w;}QueryqueryObject=getMibernateTempiatei).getSessionFactory.getCuiTentSession.crealeQuei'y{querySiring);ListtempList=queryObject.1ist;ilttempLisr==null){return0;jelse{Objecttemp=tenipList.1terator.next;il'(tenip==null)temp='V;returnInteger.興seInt(t€mp,toStting);/纖考讀取操作}}catch(RuntimeExceptionre){log,enOr("getmaxfailed're);throwre;I}I四、存儲管理模塊存儲管理模塊用於管理存儲空間,存儲管理模塊在服務啟動模塊啟動的時候,在內存中創建存儲空間。所述存儲空間包括存儲結構和數據內容,存儲結構用於存儲不定長條目的信息,能夠支持快速查找。存儲結構至少包括表名、自動編碼欄位名、自動編碼欄位的當前最大值、關聯欄位名、關聯欄位值、更新時間。其中,關聯欄位名和關聯欄位值可以有多個,但應當保持一一對應關係。所述數據內容包括零到多條符合該存儲結構的數據項,每一條所述數據項構成一個信息條目。在創建初始存儲空間的時候,只有存儲結構,沒有數據內容。也就是,所述初始存儲空間包括所述存儲結構和零條數據項。存儲結構可以採用哈希表、鍊表、隊列、數組、向量、堆等方式實現,優選哈希表。存儲結構的內容還包括編碼增量和編碼格式。關聯欄位名可以有零到多個。表名、關聯欄位名和自動編碼欄位名可以分別存儲,也可以存儲在一個變量中,比如字符串變量,中間用分隔符,如逗號、分號、空格等在表名和欄位名中不會用到的特殊符號隔開。本實施例中使用#分隔符。例以下是一個基於JAVA的一種實現方式舉例。在本例中,表名、關聯欄位名和自動編碼欄位名按順序存放在tableColumn字符串中,以#作為分隔符。並且,將具體的值存放在二級子表中,包括自動編碼欄位的當前最大值和關聯欄位值,二級子表用ConcurrentHashMap實現。publicclasslabIcSidJStringtableColumn;//農名、關聯欄位名和0動編碼欄位名intSoetIMiix(.)999;iti!ScetlMin1:1SidKeyStrategyks;//編碼增量ISidValueStrategyvs;//編碼格式DateupdateTime;//史新時聞,以天為華·位Cncuircrilliiis!iMapSecdMap=newConcurrentHashMap;//自動編碼ψ段的當前M大值和關聯寧-段值privateIDataBasedataBaseDao;//數扼庫接口//構造函數publicTabieSid(IDataBasedataBaseDao,StringtableColumn){this.dataBaseDao=dataBaseDao;this.tableColumn=tableColumn;ks=newDefaultSidKeyStrategy;vs=newSidValueStrategyO;updateTime=newDateQ;}//向級表屮註冊二級子表,_丨4動編碼欄位的3前最大值和關聯欄位值publicintGetIntSid(String[]keys)throwsException{Stringkey=ks.CreateGabteColumiiJceys+hZ/ftl造—級/·衣關鍵字synchronized(this)|//K、/:用synchronizedM步註冊杏找代媽塊,起到鎖定作用if(SeedMap.get(key)=null)fintmax=dataBaseDao.GetDBMaxSeed(tableColumn,keys);//輝IIJ數據作接II實現if(max=......O)\max^this.SeedMin;}this.SetSeed(keys,max);I}intincSeedvs.Create(((I[iteger)SeedMap.get(key)).1nlValue,this.SeedMin,tliis.SeedMax);//V1:見1、'述「編W規則投塊」例中的「編W遞增』的接II實現」SeedMap.put(key,incSeed);returnincSeed;}}//構造+:級/·表關鍵?』·的接I丨定義publicinterfaceISidKeyStrategyextendsSerializaMefStringCreate(Stringhead,Stringf]segs);I權利要求1.一種跨資料庫支持多欄位組合的自動編碼方法,其特徵在於,包括以下步驟參數配置步驟,輸入自動編碼的參數配置項,所述參數配置項包括資料庫類型;服務啟動步驟,加載所述參數配置項,根據所述資料庫類型實例化資料庫接口,創建初始存儲空間;所述存儲空間包括存儲結構和數據內容,所述存儲結構包括表名、自動編碼欄位名、關聯欄位名、自動編碼欄位當前最大值和關聯欄位和更新時間,所述數據內容包括零到多條符合該存儲結構的數據項,所述初始存儲空間包括所述存儲結構和零條數據項;編碼獲取步驟,向用戶提供所需編碼的最大編碼,包括判斷子步驟、輸出子步驟和編碼註冊子步驟;所述判斷子步驟,根據查找條件在所述存儲空間內獲取最大值,如果獲取成功則進入輸出子步驟,如果獲取失敗則進入編碼註冊子步驟;所述輸出子步驟,按照編碼輸出規則輸出下一編碼,並將所述更新時間更新為當前時間;所述編碼註冊子步驟,包括查找所述最大值;向所述存儲空間註冊新的數據項;返回所述最大值;進入輸出子步驟。2.根據權利要求1所述的跨資料庫支持多欄位組合的自動編碼方法,其特徵在於,所述資料庫接口包括最大值查找接口函數;所述編碼註冊子步驟進一步包括通過所述最大值查找接口函數查找所述最大值,如果沒找到,則將默認值作為所述最大值。3.根據權利要求1所述的跨資料庫支持多欄位組合的自動編碼方法,其特徵在於,所述存儲結構進一步包括所述編碼增量和編碼格式;該方法進一步包括以下步驟定製編碼輸出規則步驟,所述編碼輸出規則包括編碼遞增規則和編碼輸出格式,所述編碼遞增規則用於規定編碼增量,所述編碼增量默認為1,所述編碼輸出格式用於規定所述編碼格式,所述編碼格式默認為整數。4.根據權利要求1所述的跨資料庫支持多欄位組合的自動編碼方法,其特徵在於,所述編碼註冊子步驟進一步包括鎖定步驟和解鎖步驟;鎖定步驟,在所述查找所述最大值之前鎖定註冊查找代碼塊;解鎖步驟,在向所述存儲空間註冊新的數據項之後,在所述返回所述最大值之前解鎖該註冊查找代碼塊。5.根據權利要求1所述的跨資料庫支持多欄位組合的自動編碼方法,其特徵在於,所述參數配置項還包括自動清理周期和數據超時時間;該方法進一步包括以下步驟在所述自動清理周期清除超過所述數據超時時間的信息條目。6.一種跨資料庫支持多欄位組合的自動編碼系統,其特徵在於,包括參數配置模塊,用於輸入自動編碼的參數配置項,所述參數配置項包括資料庫類型;服務啟動模塊,用於啟動所述參數配置模塊,加載所述參數配置項;以及,用於根據所述資料庫類型實例化資料庫接口;以及,啟動存儲管理模塊,創建初始存儲空間;存儲管理模塊,用於管理存儲空間,所述存儲空間包括存儲結構和數據內容,所述存儲結構包括表名、自動編碼欄位名、關聯欄位名、自動編碼欄位當前最大值和關聯欄位和更新時間,所述數據內容包括零到多條符合該存儲結構的數據項,所述初始存儲空間包括所述存儲結構和零條數據項;編碼獲取模塊,用於向用戶提供所需的編碼的最大編碼,包括判斷子模塊,輸出子模塊和編碼註冊子模塊;判斷子模塊,用於根據查找條件在所述存儲空間內獲取最大值,如果獲取成功則調用輸出子模塊,如果獲取失敗則調用編碼註冊子模塊;輸出子模塊,用於按照編碼輸出規則輸出下一編碼,並將所述更新時間更新為當前時間;編碼註冊子模塊,用於調用所述資料庫接口模塊的最大值查找接口函數查找最大值以及用於向所述存儲管理模塊的存儲空間註冊新的數據項;以及用於返回所述最大值;以及用於調用輸出子模塊。7.根據權利要求6所述的跨資料庫支持多欄位組合的自動編碼系統,其特徵在於,該系統還包括資料庫接口模塊,用於定義多種資料庫類型的資料庫接口,所述資料庫接口包括最大值查找接口函數;所述編碼註冊子模塊進一步用於調用所述資料庫接口模塊,查找所述最大值,如果沒找到,則將默認值作為所述最大值。8.根據權利要求6所述的跨資料庫支持多欄位組合的自動編碼系統,其特徵在於,所述存儲管理模塊的所述存儲結構進一步包括所述編碼增量和編碼格式;該系統進一步包括編碼輸出規則模塊,用於定製編碼輸出規則,所述編碼輸出規則包括編碼遞增規則和編碼輸出格式,所述編碼遞增規則用於規定編碼增量,所述編碼增量默認為1,所述編碼輸出格式用於規定所述編碼格式,所述編碼格式默認為整數。9.根據權利要求6所述的跨資料庫支持多欄位組合的自動編碼系統,其特徵在於,所述編碼註冊子模塊進一步用於在所述查找所述最大值之前鎖定註冊查找代碼塊以及在向所述存儲空間註冊新的數據項之後,在返回所述最大值之前解鎖註冊查找代碼塊。10.根據權利要求6所述的跨資料庫支持多欄位組合的自動編碼系統,其特徵在於,所述參數配置模塊的所述參數配置項還包括自動清理周期和數據超時時間;該系統進一步包括自動清理模塊,用於在自動清理周期清除超過所述數據超時時間的信息條目。全文摘要本發明公開了一種跨資料庫支持多欄位組合的自動編碼方法和系統,方法包括參數配置步驟、服務啟動步驟和編碼獲取步驟,編碼獲取步驟包括判斷子步驟、輸出子步驟和編碼註冊子步驟。相應地,系統包括參數配置模塊、服務啟動模塊和編碼獲取模塊,編碼獲取模塊包括判斷子模塊、輸出子模塊和編碼註冊子模塊。本發明可以有效地提高了自動編碼的並發度,使軟體開發架構的可移植性得以顯著改進,在多處使用自動編碼的情況下,採用本發明能夠有效減少代碼量、提高開發速度和編碼質量。文檔編號G06F17/30GK103020285SQ20121058090公開日2013年4月3日申請日期2012年12月27日優先權日2012年12月27日發明者廖中華申請人:北京仿真中心

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀