新四季網

實現資料庫國際化的方法及裝置、數據轉換方法及系統的製作方法

2023-05-17 13:03:41 1

實現資料庫國際化的方法及裝置、數據轉換方法及系統的製作方法
【專利摘要】本發明公開一種實現資料庫國際化的方法,包括如下步驟:S101、將需要進行國際化的具體語言寫入資料庫初始化配置文件;S102、將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本;S103、生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係;S104、根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。本發明還公開一種實現資料庫國際化的裝置、數據轉換方法及系統。
【專利說明】實現資料庫國際化的方法及裝置、數據轉換方法及系統
【技術領域】
[0001]本發明涉及一種實現資料庫國際化的方法及裝置、數據轉換方法及系統。
【背景技術】
[0002]現有的國際化資料庫方案通常是通過將不同的語言進行分表或分欄位來實現,這樣的方式存在的問題有:
[0003]1、同一系統在不同語言環境下顯示所有數據就需要對所有的子表和子欄位進行查詢才能得到;
[0004]2、數據表或欄位增加造成操作和管理的複雜化;
[0005]3、增加新語言需要對與國際化相關的表增加新的子表或子欄位來解決。

【發明內容】

[0006]為解決上述拘束問題,本發明採用的一個技術方案是:
[0007]提供一種實現資料庫國際化的方法,包括如下步驟:S101、將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句;S102、將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本;S103、生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係;S104、根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。
[0008]本發明採用的另一個技術方案是:
[0009]提供一種實現資料庫國際化的裝置,包括:寫入模塊,用於將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句;腳本生成模塊,用於將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本;語言包生成模塊,用於生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係;初始化模塊,用於根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。
[0010]本發明採用的再一個技術方案是:
[0011]提供一種基於國際化資料庫的數據轉換方法,包括如下步驟:S201、伺服器端查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係;S202、當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端;S203、瀏覽器端解析JSON序列得到數據。
[0012]本發明採用的再一個技術方案是:
[0013]提供一種基於國際化資料庫的數據轉換系統,包括伺服器端以及與伺服器端通信連接的瀏覽器端,所述伺服器端包括:緩存模塊,用於查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係;替換模塊,用於當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端;所述瀏覽器端用於解析JSON序列得到數據。
[0014]本發明的本發明的有益效果在於:提供一種實現資料庫國際化的方法及裝置、數據轉換方法及系統,在資料庫中僅僅保存了國際化變量,國際化操作在返回瀏覽器端JSON時進行處理,因此國際化與資料庫表結構無關,在此轉換過程中同時將數據中的國際化變量替換為對應語言的內容,轉換的同時也進行了國際化,因此替換過程不會產生大量新字符串對象,以保持高效率且不影響業務實現。無需進行複雜的表結構維護,增加和修改語言時僅僅增加或修改語言包即可,無需像現有技術的方案在資料庫中為每個需要國際化的語言增加每種語言的欄位或為每種語言建立子表,可擴展性好。
【專利附圖】

【附圖說明】
[0015]圖1是本發明一實施方式中一種實現資料庫國際化的方法的執行流程圖;
[0016]圖2是本發明一實施方式中一種基於國際化資料庫的數據轉換方法的執行流程圖;
[0017]圖3是圖2中步驟S2022的執行流程圖;
[0018]圖4是更新資料庫的執行流程圖;
[0019]圖5是本發明一實施方式中一種實現資料庫國際化的裝置的功能模塊圖;
[0020]圖6是本發明一實施方式中一種基於國際化資料庫的數據轉換系統的系統框圖。
【具體實施方式】
[0021]為詳細說明本發明的技術內容、構造特徵、所實現目的及效果,以下結合實施方式並配合附圖詳予說明。
[0022]請參閱圖1,是本發明一實施方式中一種實現資料庫國際化的方法的執行流程圖,包括如下步驟:
[0023]步驟S101、將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句。
[0024]步驟S102、將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本。
[0025]例如:
[0026]insert into CONF (NAME, COMMENTS) values (』license』,』 授權用戶信息』);
[0027]其中具體語言「授權用戶信息」用臨時變量名「${licenSeinf0} 」取代:
[0028]insert into CONF (NAME, COMMENTS) values (,license,,,$ {Iicenseinfo},)。
[0029]步驟S103、生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係。
[0030]例如:[0031]英文:Iicenseinfo=Licence Infomation
[0032]中文:licenseinfo=授權用戶信息
[0033]繁體中文:licenseinfo=授權用戶信息
[0034]步驟S104、根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用
國際化變量替換。
[0035]請參閱圖2,是本發明一實施方式中一種基於國際化資料庫的數據轉換方法的執行流程圖。該國際化資料庫由上述實現方法開發得到。該基於國際化資料庫的數據轉換方法具體包括如下步驟:
[0036]步驟S201、伺服器端查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係;
[0037]步驟S202、當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端。由於國際化操作採用了緩存且在JSON序列化過程中完成,國際化的效率較高。
[0038]步驟S203、瀏覽器端解析JSON序列得到數據。
[0039]請參閱圖3,是圖2中步驟S2022的執行流程圖。其中,所述數據包含數值、布爾型、字符串,所述步驟S2022具體包括:
[0040]步驟S2021、當伺服器端接收到瀏覽器端發送的獲取數據請求時,判斷數據中的欄位類型是否為字符串,若是,進入步驟S2022,
[0041]步驟S2022、判斷該欄位是否為國際化變量,若是,進入步驟S2023,若否,則進入步驟S2024直接將原欄位返回至所述瀏覽器端;
[0042]步驟S2023、讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端。
[0043]請參閱圖4,是更新資料庫的執行流程圖。其中,所述的一種基於國際化資料庫的數據轉換方法還包括更新資料庫步驟,具體包括:
[0044]步驟S301、在資料庫操作前,開啟AOP切面編程方式的程序功能維護;
[0045]步驟S302、進行資料庫操作時,判斷更新欄位是否涉及國際化變量;
[0046]步驟S303、當判定更新欄位設計國際化變量時,取消對包含國際化變量的欄位的更新。
[0047]由於採用了 AOP方式來保護國際化變量不被修改,此過程與業務分離,統一地攔截到資料庫的更新操作,阻止對含有國際化變量的欄位的修改操作。
[0048]請參閱圖5,是本發明一實施方式中一種實現資料庫國際化的裝置的功能模塊圖。所述一種實現資料庫國際化的方法應用於該實現資料庫國際化的裝置中。該實現資料庫國際化的裝置包括寫入模塊、腳本生成模塊、語言包生成模塊、初始化模塊。
[0049]寫入模塊用於將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句。腳本生成模塊用於將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本。語言包生成模塊用於生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係。初始化模塊用於根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。
[0050]請參閱圖6,是本發明一實施方式中一種基於國際化資料庫的數據轉換系統的系統框圖。所述的一種基於國際化資料庫的數據轉換方法應用於該基於國際化資料庫的數據轉換系統中。
[0051]該基於國際化資料庫的數據轉換系統包括伺服器端以及與伺服器端通信連接的瀏覽器端,所述伺服器端包括資料庫、緩存模塊、替換模塊。緩存模塊用於查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係。替換模塊用於當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端。所述瀏覽器端用於解析JSON序列得到數據。
[0052]其中,所述數據包含數值、布爾型、字符串,所述替換模塊具體包括第一判斷子模塊、第二判斷子模塊、序列化子模塊、原欄位返回子模塊。第一判斷子模塊用於當伺服器端接收到瀏覽器端發送的獲取數據請求時,判斷數據中的欄位類型是否為字符串。第二判斷子模塊用於當第一判斷子模塊判定是字符串時,判斷該欄位是否為國際化變量。序列化子模塊用於當第二判斷子模塊判斷欄位是國際化變量時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端。原欄位返回子模塊用於當第二判斷子模塊判斷欄位不是國際化變量時,直接將原欄位內容返回至所述瀏覽器端。
[0053]其中,所述的一種基於國際化資料庫的數據轉換系統還包括更新資料庫模塊,該更新資料庫模塊具體包括AOP執行子模塊、第三判斷子模塊、攔截子模塊。AOP執行子模塊用於在資料庫操作前,開啟AOP切面編程方式的程序功能維護。第三判斷子模塊用於進行資料庫操作時,判斷更新欄位是否涉及國際化變量。攔截子模塊用於當第三判斷子模塊判定更新欄位設計國際化變量時,取消對包含國際化變量的欄位的更新。
[0054]本發明的實現資料庫國際化的方法及裝置、數據轉換方法及系統,在資料庫中僅僅保存了國際化變量,國際化操作在返回瀏覽器端JSON時進行處理,因此國際化與資料庫表結構無關,在此轉換過程中同時將數據中的國際化變量替換為對應語言的內容,轉換的同時也進行了國際化,因此替換過程不會產生大量新字符串對象,以保持高效率且不影響業務實現。無需進行複雜的表結構維護,增加和修改語言時僅僅增加或修改語言包即可,無需像現有技術的方案在資料庫中為每個需要國際化的語言增加每種語言的欄位或為每種語言建立子表,可擴展性好。
[0055]以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發明的專利保護範圍內。
【權利要求】
1.一種實現資料庫國際化的方法,其特徵在於,包括如下步驟: 5101、將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句; 5102、將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本; 5103、生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係; 5104、根據初始化配置文件進行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。
2.一種實現資料庫國際化的裝置,其特徵在於,包括: 寫入模塊,用於將需要進行國際化的具體語言寫入資料庫初始化配置文件,初始化配置文件中包含具有具體語言的原初始化SQL語句; 腳本生成模塊,用於將初始化配置文件中的原初始化SQL語句中的具體語言用臨時變量來代替得到初始化SQL腳本; 語言包生成模塊,用於生成各種語言的對應語言包,語言包中包含臨時變量與具體語言的映射關係,然後採用摘要算法從語言包中生成與臨時變量對應的國際化變量,並在語言包中建立國際化變量與具體語言的映射關係; 初始化模塊,用於根據初始化配置文件進`行初始化,將初始化SQL腳本中的臨時變量用國際化變量替換。
3.一種基於國際化資料庫的數據轉換方法,其特徵在於,包括如下步驟: 5201、伺服器端查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係; 5202、當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端; 5203、瀏覽器端解析JSON序列得到數據。
4.根據權利要求3所述的一種基於國際化資料庫的數據轉換方法,其特徵在於,所述數據包含數值、布爾型、字符串,所述步驟S2022具體包括: 52021、當伺服器端接收到瀏覽器端發送的獲取數據請求時,判斷數據中的欄位類型是否為字符串,若是,進入步驟S2022, 52022、判斷該欄位是否為國際化變量,若是,進入步驟S2023,若否,則直接將原欄位返回至所述瀏覽器端; 52023、讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端。
5.根據權利要求3-4任意一項所述的一種基於國際化資料庫的數據轉換方法,其特徵在於,還包括更新資料庫步驟,具體包括: 在資料庫操作前,開啟AOP切面編程方式的程序功能維護; 進行資料庫操作時,判斷更新欄位是否涉及國際化變量;當判定更新欄位設計國際化變量時,取消對包含國際化變量的欄位的更新。
6.一種基於國際化資料庫的數據轉換系統,包括伺服器端以及與伺服器端通信連接的瀏覽器端,其特徵在於,所述伺服器端包括: 緩存模塊,用於查詢資料庫讀取所有語言包並將語言包在內存中進行緩存,語言包中包含國際化變量與具體語言的映射關係; 替換模塊,用於當伺服器端接收到瀏覽器端發送的獲取數據請求時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端; 所述瀏覽器端用於解析JSON序列得到數據。
7.根據權利要求6所述的一種基於國際化資料庫的數據轉換系統,其特徵在於,所述數據包含數值、布爾型、字符串,所述替換模塊具體包括: 第一判斷子模塊,用於當伺服器端接收到瀏覽器端發送的獲取數據請求時,判斷數據中的欄位類型是否為字符串; 第二判斷子模塊,用於當第一判斷子模塊判定是字符串時,判斷該欄位是否為國際化變量; 序列化子模塊,用於當第二判斷子模塊判斷欄位是國際化變量時,讀取緩存的與瀏覽器端預設語言對應的語言包,將數據中的國際化變量替換為對應預設語言的具體語言,同時將數據JSON序列化後,發送至所述瀏覽器端; 原欄位返回子模塊,用於當第二判斷子模塊判斷欄位不是國際化變量時,直接將原欄位內容返回至所述瀏覽器端。
8.根據權利要求6-7任意一項所述的一種基於國際化資料庫的數據轉換系統,其特徵在於,還包括更新資料庫模塊,具體包括: AOP執行子模塊,用於在資料庫操作前,開啟AOP切面編程方式的程序功能維護; 第三判斷子模塊,用於進行資料庫操作時,判斷更新欄位是否涉及國際化變量; 攔截子模塊,用於當第三判斷子模塊判定更新欄位設計國際化變量時,取消對包含國際化變量的欄位的更新。
【文檔編號】G06F17/30GK103699655SQ201310738035
【公開日】2014年4月2日 申請日期:2013年12月27日 優先權日:2013年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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀