專利名稱:用于為商業(yè)智能服務器使用的數(shù)據(jù)提供多語言支持的系統(tǒng)和方法
技術領域:
本發(fā)明一般涉及商業(yè)智能,具體地涉及為商業(yè)智能服務器中的數(shù)據(jù)提供多語言支持。
背景技術:
近年來,商業(yè)智能軟件已經(jīng)變得逐漸被大型商業(yè)企業(yè)和其它組織使用。商業(yè)智能通過分析組織的內(nèi)部結(jié)構(gòu)化的數(shù)據(jù)和商業(yè)過程來提供商業(yè)操作的當前和歷史圖。它通常用于產(chǎn)生未來模型和預測以便支持更好的商業(yè)決策。因而,商業(yè)智能工具能夠為許多公司帶來減小的成本和增加的效率、生產(chǎn)力和利潤率。商業(yè)智能通常被實現(xiàn)為用于收集和分析數(shù)據(jù)并且用于將原始數(shù)據(jù)變換成用于使能更有效的戰(zhàn)略、策略和運營眼光和決策的有意義的和有用的信息的軟件和/或硬件工具。因而,典型的商業(yè)智能服務器依賴于各種地方中存在的數(shù)據(jù),這些地方包括關系數(shù)據(jù)庫、在線分析處理(OLAP)工具、儲存庫和內(nèi)容管理系統(tǒng)、應用服務器以及許多其他源,但是不限于此。在典型的商業(yè)智能(BI)服務器中,從這些數(shù)據(jù)源的全部(或一些)處收集數(shù)據(jù)并且將其放在(虛擬或物理)數(shù)據(jù)倉庫或數(shù)據(jù)市場中,在此處,數(shù)據(jù)能夠在向用戶呈現(xiàn)之前被建模和分析。例如,一個方法是在商業(yè)智能服務器之內(nèi)實現(xiàn)物理層,其中數(shù)據(jù)被建模為反映數(shù)據(jù)源層中的對象的統(tǒng)一表格。應用開發(fā)者能夠使用與域有關的實體的子集用手裝配這些混合的對象;隨后可以將合成的對象引入到商業(yè)智能服務器的元數(shù)據(jù)中并且分解成維度和事實。但是,在對商業(yè)智能服務器之內(nèi)的數(shù)據(jù)建模的領域中仍然存在許多限制和潛在的改進區(qū)域。例如,對用戶來說,利用跨不同語言的查詢工作經(jīng)常是有用的。如果數(shù)據(jù)列以英語存儲,則以日文登入BI服務器的用戶可能在為查詢指定過濾器方面有困難。此外,存儲某些大的對象類型的列通常不被“分組(group by)”查詢條款的數(shù)據(jù)庫支持。因此,對于BI服務器期望能夠支持包含多語言數(shù)據(jù)的模式并且能夠簡化管理并且改善多語言查找表的查詢性能。
發(fā)明內(nèi)容
根據(jù)各種實施例,為BI服務器提供多語言雙列支持。多語言支持使得BI服務器能夠使用查找表來存儲在基本表中存儲的值的翻譯。需要多語言數(shù)據(jù)的查詢?nèi)缓竽軌蚵?lián)合基本表和查找表來獲得這些翻譯。根據(jù)實施例,BI服務器通過實現(xiàn)查找表以及使得用戶能夠利用使用不同的語言的查詢工作的相關的查找功能來使能多語言支持。當用戶登入BI服務器時,對于該用戶創(chuàng)建會話對象,其保持對于用戶的會話的狀態(tài)信息。這樣的會話的變量中的一個指定當前由用戶使用的語言。根據(jù)實施例,BI服務器能夠檢查此會話變量來確定用戶的語言并且根據(jù)需要執(zhí)行查找翻譯。例如,如果會話使用的語言不同于存儲必要信息的基本表的語言,則BI服務器能夠通過調(diào)用查找功能來執(zhí)行翻譯。查找的執(zhí)行能夠包括執(zhí)行基本表與查找表的聯(lián)合操作以輸出該查詢請求的翻譯后的值。
圖I是根據(jù)本發(fā)明的各個實施例的BI服務器的例示。圖2是根據(jù)本發(fā)明的各個實施例的遍歷BI儲存庫的各個層的查詢的例示。圖3A是根據(jù)本發(fā)明的各個實施例的一個查找表實施方式的例不。圖3B是根據(jù)本發(fā)明的各個實施例的另一個查找表實施方式的例示。圖4是根據(jù)本發(fā)明的各個實施例的采用查找表執(zhí)行查詢的翻譯的商業(yè)智能服務器的例示。圖5是根據(jù)本發(fā)明的各個實施例的用在商業(yè)智能服務器中的多語言支持的流程圖例示。圖6是可以用于執(zhí)行這里描述的本發(fā)明的各個實施例的計算設備的例示。
具體實施例方式本發(fā)明通過示例方式而不是通過限制方式來示出在附圖的圖示中,在附圖中,相似的參考指示相似的元素。在此公開中提及實施例不一定是指相同的實施例,這樣的提及意味著至少一個。雖然討論特定的實施方式,但是應當理解,這僅僅是為了示例目的而進行的。本領域技術人員將理解,在不脫離本發(fā)明的范圍和精神的情況下,可以使用其它組件和配置。在下面的描述中,闡述許多特定細節(jié)以提供本發(fā)明的詳盡的描述。但是,本領域技術人員顯然可知,可以不用這些特定的細節(jié)來實踐本發(fā)明。在其它實例中,沒有詳細描述公知的特征以便不模糊本發(fā)明。根據(jù)貫穿此公開描述的各個實施例,將商業(yè)智能(BI)服務器擴展為具有對數(shù)據(jù)查詢的多語言支持。商業(yè)智能查詢通常包括聯(lián)合多個表。這呈現(xiàn)了各種技術/性能/功能上的挑戰(zhàn)。例如,I)用戶想要能夠按照為跨不同的語言的用戶工作的方式創(chuàng)建過濾器(產(chǎn)品=‘可口’)。如果過濾器可以表示為‘產(chǎn)品=可口’,則這可能不能為日本用戶工作;2)附加的有關數(shù)據(jù)存儲在數(shù)據(jù)庫CL0B/BL0B列(power point文件、excel文件、PDF文件、病人x射線等)中是普遍的。數(shù)據(jù)庫通常不允許這些列參與‘分組(group by)’;以及3)標簽定位需求通常要求一個表與多個表聯(lián)合。但是對于任何給定查詢,僅僅這些中的一個可以是有效的。另外,聯(lián)合能夠最佳地在聚集后完成。多語言支持特征允許BI服務器尋址這些需求。根據(jù)實施例,BI服務器通過實現(xiàn)查找表以及使得用戶能夠利用使用不同語言的查詢工作的相關的查找功能來使能多語言支持。當用戶登入BI服務器時,對于該用戶創(chuàng)建會話對象,其保持對于用戶的會話的狀態(tài)信息。這樣的會話的變量中的一個指定當前由用戶使用的語言。根據(jù)實施例,BI服務器能夠檢查此會話變量來確定用戶的語言并且根據(jù)需要執(zhí)行查找翻譯。例如,如果會話使用的語不同于存儲必要信息的基本表的語言,則BI服務器能夠通過調(diào)用查找功能來執(zhí)行翻譯。另一方面,如果會話的語言與基本表的語言相同,則
8不必需翻譯并且該查詢能夠被直接回答而不用任何查找。根據(jù)實施例,查找表包括至少一個值列,其是包含用于存儲數(shù)據(jù)的基本表中的列的實際翻譯值的列。此外,查找表具有將用于執(zhí)行查找的查找關鍵字(例如,主關鍵字)。根據(jù)實施例,查找功能包括將用于獲得特定數(shù)據(jù)段的翻譯的參數(shù)集。例如,查找功能包括指定將包含翻譯的查找表的值列的參數(shù)。此外,查找功能包括指定數(shù)據(jù)項的標識符的參數(shù)和識別翻譯所需的特定語言的參數(shù)(這能夠從會話變量中獲得)。在一些情況下,查找功能還可以包括指定以基本語言存儲所需的數(shù)據(jù)段的值的基本表的列的參數(shù),下面將還詳細地描述。根據(jù)實施例,BI服務器將查找功能重寫到將用于執(zhí)行基本表與查找表的聯(lián)合操作的合適的結(jié)構(gòu)化查詢語言(SQL)語句中。聯(lián)合操作對于查詢所請求的基本表的行輸出翻譯后的值(以用戶的會話語言)。
圖I是根據(jù)本發(fā)明的各個實施例的BI服務器的例示。雖然此圖將組件描述為邏輯上分離的,但是這樣的描述僅僅用于說明性的目的。對本領域技術人員顯而易見的是,在此圖中描繪的組件能夠被組合或分成單獨的軟件、固件和/或硬件。此外,對本領域技術人員還顯而易見的是,這樣的組件不管它們被如何組合或劃分,能夠在相同的計算設備上執(zhí)行或能夠在由一個或多個網(wǎng)絡或其它合適的通信手段連接的不同的計算設備之間分布。如圖所示,BI服務器104和BI儲存庫108提供讓用戶100發(fā)送對復雜聯(lián)合數(shù)據(jù)源106的簡單邏輯結(jié)構(gòu)化查詢語言(SQL)查詢的提取層。根據(jù)實施例,BI服務器104處理用戶請求并且查詢下層數(shù)據(jù)源。BI服務器能夠保持邏輯數(shù)據(jù)模型并且通過開放式數(shù)據(jù)庫互接(ODBC)提供對此模型的客戶端接入。根據(jù)實施例,BI服務器使用儲存庫108中的元數(shù)據(jù)來執(zhí)行兩個任務(I)解釋邏輯SQL查詢并且寫入對合適的數(shù)據(jù)源106的對應的物理查詢;和(2)變換并組合物理結(jié)果集合并且執(zhí)行最終的計算。BI服務器能夠通過ODBC或通過數(shù)據(jù)源的原本應用編程接口(API)連接到下層數(shù)據(jù)源。根據(jù)實施例,管理工具102是可以用于創(chuàng)建并編輯BI儲存庫108的應用。管理工具能夠以脫機模式連接到儲存庫,或它能夠通過BI服務器(聯(lián)機模式)連接到儲存庫。根據(jù)各個實施例,可以使得由BI服務器提供的附加功能在聯(lián)機模式下可用。圖2是根據(jù)本發(fā)明的各個實施例的遍歷BI儲存庫的各個層的查詢的例示。雖然此圖將組件描述為邏輯上分離的,但是這樣的描述僅僅用于說明性的目的。對本領域技術人員顯而易見的是,在此圖中描繪的組件能夠被組合或分成分離的軟件、固件和/或硬件。此外,對本領域技術人員還顯而易見的是,這樣的組件不管它們被如何組合或劃分,能夠在相同的計算設備上執(zhí)行或能夠在由一個或多個網(wǎng)絡或其它合適的通信手段連接的不同的計算設備之間分布。如上所述,BI服務器能夠處理對復雜聯(lián)合數(shù)據(jù)源發(fā)送的輸入的客戶端請求200。根據(jù)實施例,BI儲存庫由三個層組成物理層206、邏輯映射層204和呈現(xiàn)層202。根據(jù)實施例,物理層206定義BI服務器寫入對每個物理數(shù)據(jù)源208的本地查詢所需的對象和關系。根據(jù)實施例,用戶或管理員通過從數(shù)據(jù)源引入表格、倉(cube)和扁平文件來創(chuàng)建此層。例如,如此圖所示,用在物理層中的格式和模式中的一些能夠包括星形和雪花214、歸一化的數(shù)據(jù)216和去歸一化的數(shù)據(jù)218、可擴展標記語言(XML)和文件存儲數(shù)據(jù)220、多維數(shù)據(jù)222、應用開發(fā)框架(ADF)數(shù)據(jù)224和其它格式。應用的邏輯行為與物理模型的分離提供多個物理數(shù)據(jù)源與相同的邏輯對象聯(lián)合的能力,使能集總的導航和分割,以及維度一致和與物理源變化的隔離。此分離還使能可移植BI應用的創(chuàng)建。根據(jù)實施例,邏輯商業(yè)模型和映射層204定義數(shù)據(jù)的商業(yè)或邏輯模型并且指定商業(yè)模型和物理模式之間的映射。此層還確定用戶看到的分析行為,并且定義用戶可用的對象和關系的超集。它還隱藏源數(shù)據(jù)模型的復雜度。根據(jù)實施例,呈現(xiàn)層202提供向用戶呈現(xiàn)商業(yè)模型的定制的、安全的、基于角色的圖210的方式。它在商業(yè)模型和映射層204內(nèi)添加抽象級并且在呈現(xiàn)服務和其它客戶端200中提供由建立請求的用戶看到的數(shù)據(jù)的圖。根據(jù)實施例,企業(yè)構(gòu)建BI儲存庫的典型的順序是首先創(chuàng)建物理層對象、接著創(chuàng)建邏輯模型和映射層對象,最后創(chuàng)建呈現(xiàn)層對象。但是,在可替換實施例中,用戶能夠在任何階段在每個層上工作。·大多數(shù)情況下,計劃商業(yè)模型是開發(fā)對于決策支持的可用的數(shù)據(jù)模型的第一步。在商業(yè)模型中,維度表示邏輯列(屬性)的分級組織。一個或多個邏輯維度表能夠與最多一維相關聯(lián)。通常的維度的示例是時間段、產(chǎn)品、市場、消費者、供應者、促銷條件、原材料、制造廠、運輸方法、媒體類型和一天的時刻。根據(jù)實施例,維度存在于邏輯模型和映射層204以及呈現(xiàn)層202中。在每個維度,屬性能夠被組織成分級級別。這些邏輯級表示部署B(yǎng)I服務器的組織的商業(yè)所需的組織規(guī)則和報告需求。它們提供BI服務器用來穿入和跨過維度以獲得更詳細的數(shù)據(jù)圖的結(jié)構(gòu)(元數(shù)據(jù))。圖3A是根據(jù)本發(fā)明的各個實施例的一個查找表實施方式的例示。應當注意,這里描述的實施例不一定局限于此特定實施方式,并且在本發(fā)明的范圍內(nèi),其它實施方式是可能的。具體地,此圖示出了為每個基本表保持一個查找表的查找表的設計。在圖3B所示的可替換設計中,能夠按基本表的每個字段保持一個查找表,下面將更詳細描述。如圖3A所示,按每個基本表300存在單獨的查找表302。根據(jù)實施例,查找表包含對基本表中的記錄的引用的外國關鍵字并且包含單獨的列中的每個翻譯的字段的值。假定完全密集的查找表,則用于特定語言的查找表中的行的數(shù)目等于基本表中的行的數(shù)目。在圖3A所示的示例中,查找表302中的每個記錄僅僅匹配基本表300中的一行。圖3B是根據(jù)本發(fā)明的各個實施例的另一個查找表實施方式的例示。再一次應當注意,這里描述的實施例不一定局限于此特定實施方式,并且查找表的其它實施方式也是可能的。如圖所示,可替換的設計是按基本表302的每個翻譯的字段實現(xiàn)單獨的查找表306。根據(jù)實施例,獲得每個字段的翻譯的值于是將要求與查找表的單獨的聯(lián)合。在實踐中,通常僅僅存在包含用于多個字段的翻譯的一個物理表。當單個表包含用于多個字段的翻譯時,可能必需的是對查找表設置過濾器以將數(shù)據(jù)限制到僅僅與基本表中的特定列有關的值。根據(jù)本發(fā)明的各個實施例,BI服務器能夠支持圖3A和圖3B所示的兩個查找表設計。根據(jù)各個實施例,稀疏的查找表和密集的查找表二者能夠由BI服務器支持。在一些模式中,查找表是稀疏的,包含對于基本表中的僅僅一些記錄的翻譯。稀疏的查找表要求與基本表的外聯(lián)合以使得保持來自于基本表的行。通常當對于特定記錄丟失翻譯時,代替空值,應當代入基本翻譯。密集的查找表包含對于基本表中的每個記錄的所有語言的翻譯。由于密集的查找表包含對于每個基本記錄的匹配記錄,因此查找表能夠與基本表內(nèi)聯(lián)合,從而避免外聯(lián)合和基本語言代入的開銷。在一些情況下,查找表能夠既為密集的又為稀疏的。例如,圖3B中的查找表可以包含對于‘描述(Description)’字段的完全翻譯但是對于‘類別(Category)’字段的部分翻譯。因而,根據(jù)實施例,BI服務器將“密集的”和“稀疏的”看作查找操作的特性而不是表的特性。稀疏的查找將利用外聯(lián)合將基本表與翻譯表連接,而密集的查找將導致基本表和翻譯表之間的內(nèi)聯(lián)合。根據(jù)實施例,描述符列能夠由BI服務器支持。描述符列是為一些關鍵字列提供文本描述的列,其中在描述符列和關鍵字列之間存在一對一關系。在實踐中,通??梢圆粓?zhí)行一對一關系,但是為了查詢目的,列能夠被看作好像存在這樣的一對一關系一樣。描述符列的示例可以是Product_Name (產(chǎn)品1名稱),其為Product_Key (產(chǎn)品關鍵字)列提供文本描述。雖然在很多情況下兩個產(chǎn)品可能具有相同的名稱,但是這不可能出現(xiàn),并且即使存在具有相同名稱的產(chǎn)品,產(chǎn)品在集總和過濾中仍然能夠被看作單獨的實體。根據(jù)實施例,創(chuàng)建描述符列的一個理由是幫助定義獨立于語言的過濾器。當用戶基于描述符列創(chuàng)建過濾器時,查詢工具向用戶顯示對于描述符列選擇的值的列表。在內(nèi)部,BI服務器也可以將關鍵字列存儲為LOV中的隱藏字段。當用戶從LOV選擇值時,該工具用隱藏關鍵字值替換過濾器中的選擇的描述符值并且在關鍵字列方面重寫過濾器。由于過濾器被轉(zhuǎn)換為僅僅引用非翻譯的關鍵字列的形式,因此過濾器是獨立于語言的并且能夠與其它語言的用戶共享。雖然描述符列通常被翻譯成多種語言,但是這不一定需要。描述符列可以提供僅僅一種語言的描述。相同的如上所述的過濾器到關鍵字值的轉(zhuǎn)換同樣適用于非翻譯的描述符列。這能夠保證具有不同的關鍵字值但是共享相同的文本描述的行在集總和過濾時被單獨地對待。根據(jù)實施例,此描述符列技術也在處理涉及諸如字符大對象之類的大對象(LOB)數(shù)據(jù)類型、二進制大對象(BLOB)和諸如COUNT O或SUMO之類的集總函數(shù)的查詢時有用。一些數(shù)據(jù)源不允許LOB列用在分組(GROUP BY)條款中。因此,代替將LOB列增加到GR0UPBY,分組與LOB列具有一對一關系的一些其它列然后在已經(jīng)計算集總之后聯(lián)合LOB列是必需的。圖4是根據(jù)本發(fā)明的各個實施例的采用查找表執(zhí)行查詢的翻譯的商業(yè)智能服務器的例示。雖然此圖將組件描述為邏輯上分離的,但是這樣的描述僅僅用于說明性的目的。對本領域技術人員顯而易見的是,在此圖中描繪的組件能夠被組合或分成分離的軟件、固件和/或硬件。此外,對本領域技術人員還顯而易見的是,這樣的組件不管它們被如何組合或劃分,能夠在相同的計算設備上執(zhí)行或能夠在由一個或多個網(wǎng)絡或其它合適的通信手段連接的不同的計算設備之間分布。如圖所示,一旦為用戶建立會話424,用戶400就能夠發(fā)出對BI服務器404的邏輯SQL查詢402。在接收到查詢402時,BI服務器能夠檢查會話424以確定用戶的會話的語言。如果該語言不同于在基本表416中存儲數(shù)據(jù)使用的語,則能夠調(diào)用查找功能414以將基本表416中的值翻譯成會話的對應語言。根據(jù)實施例,為了執(zhí)行查找功能414,BI服務器能夠產(chǎn)生物理的SQL語句412,該物理的SQL語句412將被執(zhí)行以獲得存儲在基本表中的數(shù)據(jù)的翻譯后的值。根據(jù)實施例,此物理的SQL語句412能夠執(zhí)行基本表與查找表的聯(lián)合操作以獲得翻譯。具體地,在所示的示例語句中,由BI服務器產(chǎn)生的SQL首先執(zhí)行Sum(QtySold) 408的計算(步驟一),然后在步驟二中將查找表與步驟一的結(jié)果聯(lián)合。根據(jù)各種實施例,BI服務器能夠支持翻譯后的查找表。例如,BI服務器的分析管理員能夠在包含翻譯成多種語言的數(shù)據(jù)的模式的頂部創(chuàng)建商業(yè)模型。根據(jù)在登錄時用戶指定哪一種語言,用戶應當看見以他的語言的查詢結(jié)果。如果用戶使用不同的語言登錄并且再次運行相同的查詢,則他應當看見對于當前語言的翻譯后的數(shù)據(jù)。根據(jù)實施例,模式可以包含包括英語描述的產(chǎn)品表。產(chǎn)品表也可以包含對于每個與語言有關的列的獨立于語言的代碼。例如,類別列具有對應的Categ0ry_C0de (類別代碼)列。下面是產(chǎn)品表的內(nèi)容的示例產(chǎn)品表
權利要求
1.一種用于在數(shù)據(jù)查詢和處理環(huán)境中提供多語言支持的方法,所述方法包括接收用于存取存儲在基本表中的數(shù)據(jù)集的查詢,其中該查詢是在對于至少一個用戶建立的會話期間接收的;確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語言;和執(zhí)行該基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
2.如權利要求I所述的方法,還包括在商業(yè)智能服務器中執(zhí)行查找功能,其中該查找功能被翻譯成執(zhí)行該聯(lián)合操作的結(jié)構(gòu)化查詢語言(SQL)語句。
3.如權利要求I或2所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是密集的查找表,其包含對于該基本表中的每個記錄的翻譯;以及執(zhí)行基本表與查找表的內(nèi)聯(lián)合。
4.如權利要求I或2所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是稀疏的查找表,其包含僅僅對于該基本表中的記錄的子集的翻譯;以及執(zhí)行基本表與查找表的外聯(lián)合,其中來自于基本表的行被保持。
5.如權利要求I或2所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定查找表是既密集的又稀疏的查找表,其包含基本表的至少一個特定字段的完整翻譯但是包含基本表的至少一個其它字段的僅僅部分翻譯;以及指定查找操作的特性以指定稀疏的或密集的中的一個,其中稀疏的查找將基本表與查找表經(jīng)由外聯(lián)合連接,并且其中密集的查找將基本表與查找表經(jīng)由內(nèi)聯(lián)合連接。
6.如任何一個前述權利要求所述的方法,還包括通過用戶的當前語言過濾請求來自于基本表的數(shù)據(jù)的查詢,并且應用用戶的當前語言以從查找表檢索翻譯后的值。
7.如任何一個前述權利要求所述的方法,其中按照每個基本表實現(xiàn)單獨的查找表,并且其中查找表包含對基本表中的記錄的外國關鍵字引用。
8.如權利要求I到6中的任何一個所述的方法,其中按照基本表的每個字段實現(xiàn)單獨的查找表。
9.如任何一個前述權利要求所述的方法,其中商業(yè)智能(BI)服務器實現(xiàn)包含被翻譯成多種語言的數(shù)據(jù)的模式,并且其中根據(jù)哪一種語言與在登錄時的用戶相關聯(lián),通過采用查找表根據(jù)所述語言過濾查詢。
10.一種計算機程序,包括在由計算機系統(tǒng)執(zhí)行時使得計算機系統(tǒng)執(zhí)行如任何一個前述權利要求所述的方法的程序指令。
11.一種計算機存儲介質(zhì),在其上存儲有如權利要求10所述的計算機程序。
12.一種用于在數(shù)據(jù)查詢和處理環(huán)境中提供多語言支持的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)源,存儲數(shù)據(jù)集;和商業(yè)智能(BI)服務器,其接收存取存儲在基本表中的數(shù)據(jù)集的查詢,其中該查詢是于在BI服務器和至少一個用戶之間建立的會話期間接收的;其中該BI服務器確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語言,并且執(zhí)行基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
13.如權利要求12所述的系統(tǒng),其中該商業(yè)智能服務器執(zhí)行查找功能,其中該查找功能被翻譯成執(zhí)行聯(lián)合操作的結(jié)構(gòu)化查詢語言(SQL)語句。
14.如權利要求12或13所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是密集的查找表,其包含對于該基本表中的每個記錄的翻譯;以及執(zhí)行基本表與查找表的內(nèi)聯(lián)合。
15.如權利要求12或13所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是稀疏的查找表,其包含僅僅對于該基本表中的記錄的子集的翻譯;以及執(zhí)行基本表與查找表的外聯(lián)合,其中來自于基本表的行被保持。
16.如權利要求12或13所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定查找表是既密集的又稀疏的查找表,其包含基本表的至少一個特定字段的完整翻譯但是包含基本表的至少一個其它字段的僅僅部分翻譯;以及指定查找操作的特性以指定稀疏的或密集的中的一個,其中稀疏的查找將基本表與查找表經(jīng)由外聯(lián)合連接,并且其中密集的查找將基本表與查找表經(jīng)由內(nèi)聯(lián)合連接。
17.如權利要求12到16中的任何一個所述的系統(tǒng),其中該BI服務器通過用戶的當前語言過濾請求來自于基本表的數(shù)據(jù)的查詢,并且應用用戶的當前語言以從查找表檢索翻譯后的值。
18.如權利要求12到17中的任何一個所述的系統(tǒng),其中按照每個基本表實現(xiàn)單獨的查找表,并且其中查找表包含對基本表中的記錄的外國關鍵字引用。
19.如權利要求12到17中的任何一個所述的系統(tǒng),其中按照基本表的每個字段實現(xiàn)單獨的查找表。
20.如權利要求12到19中的任何一個所述的系統(tǒng),其中商業(yè)智能(BI)服務器實現(xiàn)包含被翻譯成多種語言的數(shù)據(jù)的模式,并且其中根據(jù)哪一種語言與在登錄時的用戶相關聯(lián),通過采用查找表根據(jù)所述語言過濾查詢。
21.一種存儲指令集的計算機可讀的存儲介質(zhì),所述指令在由一個或多個處理器執(zhí)行時使得一個或多個處理器執(zhí)行以下步驟接收用于存取存儲在基本表中的數(shù)據(jù)集的查詢,其中該查詢是在對于至少一個用戶建立的會話期間接收的;確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語言;和執(zhí)行該基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
22.一種用于在數(shù)據(jù)查詢和處理環(huán)境中提供多語言支持的、由包括處理器和連接到所述處理器的存儲器的計算機的方法,所述方法包括以下步驟由所述處理器接收用于存取包括在所述存儲器中的基本表中存儲的數(shù)據(jù)集的查詢,其中該查詢是在對于至少一個用戶建立的會話期間接收的;由所述處理器確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語目;和由所述處理器執(zhí)行該基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
23.如權利要求22所述的方法,還包括以下步驟由所述處理器在商業(yè)智能服務器中執(zhí)行查找功能,其中該查找功能被翻譯成執(zhí)行所述聯(lián)合操作的結(jié)構(gòu)化查詢語言(SQL)語句。
24.如權利要求22或23所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括以下步驟由所述處理器確定該查找表是密集的查找表,其包含對于該基本表中的每個記錄的翻譯;以及由所述處理器執(zhí)行基本表與查找表的內(nèi)聯(lián)合。
25.如權利要求22到24中的任何一個所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括以下步驟由所述處理器確定該查找表是稀疏的查找表,其包含僅僅對于該基本表中的記錄的子集的翻譯;以及由所述處理器執(zhí)行基本表與查找表的外聯(lián)合,其中來自于基本表的行被保持。
26.如權利要求22到25中的任何一個所述的方法,其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括以下步驟由所述處理器確定查找表是既密集的又稀疏的查找表,其包含基本表的至少一個特定字段的完整翻譯但是包含基本表的至少一個其它字段的僅僅部分翻譯;以及由所述處理器指定查找操作的特性以指定稀疏的或密集的中的一個,其中稀疏的查找將基本表與查找表經(jīng)由外聯(lián)合連接,并且其中密集的查找將基本表與查找表經(jīng)由內(nèi)聯(lián)合連接。
27.如權利要求22到26中的任何一個所述的方法,還包括以下步驟由所述處理器通過用戶的當前語言過濾請求來自于基本表的數(shù)據(jù)的查詢,并且應用用戶的當前語言以從查找表檢索翻譯后的值。
28.如權利要求22到27中的任何一個所述的方法,其中按照每個基本表實現(xiàn)單獨的查找表,并且其中查找表包含對基本表中的記錄的外國關鍵字引用。
29.如權利要求22到28中的任何一個所述的方法,其中按照基本表的每個字段實現(xiàn)單獨的查找表。
30.如權利要求22到29中的任何一個所述的方法,其中商業(yè)智能(BI)服務器實現(xiàn)包含被翻譯成多種語言的數(shù)據(jù)的模式,并且其中根據(jù)哪一種語言與在登錄時的用戶相關聯(lián),通過采用查找表根據(jù)所述語言過濾查詢。
31.一種用于在數(shù)據(jù)查詢和處理環(huán)境中提供多語言支持的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)源,用于存儲數(shù)據(jù)集;和商業(yè)智能(BI)服務器,其接收存取存儲在基本表中的數(shù)據(jù)集的查詢,其中該查詢是于在BI服務器和至少一個用戶之間建立的會話期間接收的;其中該BI服務器確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語言,并且執(zhí)行基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
32.如權利要求31所述的系統(tǒng),其中該商業(yè)智能服務器執(zhí)行查找功能,其中該查找功能被翻譯成執(zhí)行所述聯(lián)合操作的結(jié)構(gòu)化查詢語言(SQL)語句。
33.如權利要求31或32所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是密集的查找表,其包含對于該基本表中的每個記錄的翻譯;以及執(zhí)行基本表與查找表的內(nèi)聯(lián)合。
34.如權利要求31到33中的任何一個所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定該查找表是稀疏的查找表,其包含僅僅對于該基本表中的記錄的子集的翻譯;以及執(zhí)行基本表與查找表的外聯(lián)合,其中來自于基本表的行被保持。
35.如權利要求31到34中的任何一個所述的系統(tǒng),其中執(zhí)行基本表與至少一個查找表的聯(lián)合操作還包括確定查找表是既密集的又稀疏的查找表,其包含基本表的至少一個特定字段的完整翻譯但是包含基本表的至少一個其它字段的僅僅部分翻譯;以及指定查找操作的特性以指定稀疏的或密集的中的一個,其中稀疏的查找將基本表與查找表經(jīng)由外聯(lián)合連接,并且其中密集的查找將基本表與查找表經(jīng)由內(nèi)聯(lián)合連接。
36.如權利要求31到35中的任何一個所述的系統(tǒng),其中該BI服務器通過用戶的當前語言過濾請求來自于基本表的數(shù)據(jù)的查詢,并且應用用戶的當前語言以從查找表檢索翻譯后的值。
37.如權利要求31到36中的任何一個所述的系統(tǒng),其中按照每個基本表實現(xiàn)單獨的查找表,并且其中查找表包含對基本表中的記錄的外國關鍵字引用。
38.如權利要求31到37中的任何一個所述的系統(tǒng),其中按照基本表的每個字段實現(xiàn)單獨的查找表。
39.如權利要求31到38中的任何一個所述的系統(tǒng),其中商業(yè)智能(BI)服務器實現(xiàn)包含被翻譯成多種語言的數(shù)據(jù)的模式,并且其中根據(jù)哪一種語言與在登錄時的用戶相關聯(lián),通過采用查找表根據(jù)所述語言過濾查詢。
40.一種存儲指令集的計算機可讀的存儲介質(zhì),所述指令在由一個或多個處理器執(zhí)行時使得一個或多個處理器執(zhí)行以下步驟接收用于存取存儲在基本表中的數(shù)據(jù)集的查詢,其中該查詢是在對于至少一個用戶建立的會話期間接收的;確定與所述會話相關聯(lián)的語言不同于用于將數(shù)據(jù)集存儲在所述基本表中的語言;和執(zhí)行該基本表與至少一個查找表的聯(lián)合操作,其中所述聯(lián)合操作輸出對于該基本表的至少一個行的翻譯后的值,其中所述翻譯后的值是以與所述會話相關聯(lián)的語言的。
41.一種用于使得計算機執(zhí)行如權利要求22到30中的任何一個所述的方法的程序。
全文摘要
描述了支持以多種語言存儲的數(shù)據(jù)和模式的商業(yè)智能(BI)服務器。BI服務器實現(xiàn)允許用戶利用不同語言的查詢來工作的查找表和查找功能。當用戶登錄時,對于該用戶創(chuàng)建會話對象,其保持狀態(tài)信息。會話變量指定當前由用戶使用的語言。BI服務器能夠檢查此會話變量以確定用戶的語言并且根據(jù)需要執(zhí)行查找翻譯。例如,如果會話使用的語不同于存儲必要信息的基本表的語言,則BI服務器能夠通過調(diào)用查找功能來執(zhí)行翻譯。查找的執(zhí)行能夠包括執(zhí)行基本表與查找表的聯(lián)合操作以輸出該查詢所請求的翻譯后的值。
文檔編號G06F17/30GK102918531SQ201180026349
公開日2013年2月6日 申請日期2011年5月12日 優(yōu)先權日2010年5月28日
發(fā)明者R·博爾西斯, R·文卡塔蘇伯拉瑪尼安, 倪玲, D·唐捷科維克, S·喬德胡里 申請人:甲骨文國際公司