專利名稱:一種數據處理方法及其系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及軟件領域,特別涉及客戶化軟件領域。
背景技術:
在如今的高科技世界中,企業(yè)運營與管控的自動化是必然的,一個公司發(fā)展到一 定的規(guī)模,通過計算機軟件有效地集中控制和管理企業(yè)就成為必要的事情。但是可惜的事 實是企業(yè)軟件的客戶長期以來為他們得到的軟件感到失望。一個前不久的調查報告顯示為 企業(yè)定制的IT項目有61%是失敗的,這是令人震驚的。Craig Le Clair在他的《如何在 企業(yè)軟件市場中成功》一書中聲稱“公司必須改寫他們的組織和內部工藝來適應這些解決 方案。這些改變帶來了潛在的嚴重問題,同時導致企業(yè)軟件項目的高失敗率”。就如Craig Le Clair在他的書中尖銳的指出它的根源在于那些軟件客戶定制化是困難的,同時它的 費用太高。軟件包沒有足夠的靈活度來實現(xiàn)客戶定制化,也不可能由商業(yè)客戶自己操作來 定制??梢詫⑵髽I(yè)軟件市場分割為兩部分面向大企業(yè)的和中小企業(yè)的,這兩部分都有 其自己未滿足的軟件需求。大企業(yè)需要真正靈活的應用軟件。大公司有非常詳細的業(yè)務邏輯來使他們流程自 動化更有效。當前的主要企業(yè)軟件產品,如SAP和PeopleSoft,沒有足夠的靈活性來達到客 戶定制化的需求。結果是,客戶化項目趨向于時間長和費用昂貴,而且此技術限制造成客戶 的需求僅被部分滿足。中小企業(yè)需要可立即使用的行業(yè)專項軟件,小企業(yè)也有各種各樣的軟件需求來實 現(xiàn)集中他們的知識和信息,使他們的流程自動化。他們需要適合他們的業(yè)務經營需求的應 用程序。而這些需求常常包括行業(yè)通用的需求再加一些他們各自獨特的需求。他們的面臨 挑戰(zhàn)是,基于有限的預算,一方面,客戶軟件開發(fā)花費太長時間,費用太高。另一方面,商業(yè) 應用程序的客戶化經常不能滿足他們的需求,至少不能精確的滿足??梢姡浖蛻舳ㄖ苹M力費錢的表面下的問題根源有兩方面—方面,是因為客戶缺乏可自定義的能力。如今市場上的企業(yè)管理軟件普遍建立 在某些假設前提下。很多時候,他們開始是根據某一客戶的需求而開發(fā),只是在后來再擴 展,作為統(tǒng)一產品來銷售。這些假設成為他們的應用程序的硬編碼,使得客戶化很難實現(xiàn)。 有些軟件,如PeopleSoft,推行“最優(yōu)方法”,基本上是為減少客戶定制化。而要求客戶業(yè)務 流程來適應軟件。另一方面,是因為用戶與開發(fā)者分離??蛻舳ㄖ苹椖恐锌蛻襞c開發(fā)者只有通過 規(guī)范來互相連接。一直到較晚的階段,開發(fā)團隊演示他們幾乎完成的產品前,商業(yè)用戶并不 參加定制的過程。造成開發(fā)的產品與商業(yè)用戶的需求有可能有較大的差異。
發(fā)明內容
本發(fā)明主要解決的技術問題是提供一種數據處理方法及其系統(tǒng),使得數據處理的
4可定制性大大提高。為了解決上述技術問題,本發(fā)明實施方式提供了一種數據處理方法,包括以下步 驟接收數據處理請求,該請求包括待處理的對象的信息和所請求的操作;根據所述對象的信息為所述請求生成數據對象;動態(tài)建立該對象對應的自定義操作類;從所述對象對應的自定義操作類中調用所述請求的操作,對該數據對象進行處 理;根據所述數據對象的處理結果對所述請求做出應答。作為對上述技術方案的改進,還包括以下步驟預先在所述元數據存儲庫中保存各類對象的相關定義;所述相關定義包括對象的定義和字段的定義;所述相關定義可選地包括操作的定義、和/或規(guī)則的定義、和/或關聯(lián)的定義、和 /或觸發(fā)器的定義。所述生成數據對象的方式可以為根據所述請求中的對象的信息和保存在元數據 存儲庫中的對該對象的定義,從記錄數據庫中獲取記錄數據,創(chuàng)建所述數據對象。所述動態(tài)建立該對象對應的自定義操作類的方式可以為根據保存在所述元數據存儲庫中的所述對象的操作的定義,動態(tài)建立該對象對應 的自定義操作類;或者根據缺省的操作的定義,動態(tài)建立該對象對應的自定義操作類。作為對上述技術方案的改進,還包括以下步驟根據保存在所述元數據存儲庫中 所述對象的對象定義、字段的定義,及可選的規(guī)則的定義、關聯(lián)的定義、觸發(fā)器的定義,為所 述對象動態(tài)建立對應的自定義模式類;所述自定義操作類中被調用的操作通過所述自定義模式類來處理記錄數據庫里 的記錄數據。作為對上述技術方案的改進,在調用該自定義操作類中所述請求的操作的步驟之 前,還包括以下步驟判斷所述請求是否滿足以下條件之一所述請求的操作不是讀??;所述請求的操作是自定義操作;如果至少滿足上述任意一個條件,則執(zhí)行所述調用該自定義操作類中所述請求的 操作的步驟。如果所述兩個條件均不滿足,則直接根據該數據對象對所述請求做出應答。作為對上述技術方案的改進,所述自定義操作類中操作被調用時,可以允許進行 以下操作檢索、創(chuàng)造、讀取、修改、或者刪除數據對象;改變數據表現(xiàn)的定義來定制應用程序行為;任何自定義的行為操作。作為對上述技術方案的改進,如果所述元數據儲存庫中的定義被修改,可以根據修改后的定義,更新自定義操作類和自定義模式類,從該更新后的自定義操作類中調用所 述請求的操作,對所述數據對象進行處理。本發(fā)明的實施方式還提供了一種數據處理系統(tǒng),包括接收單元,用于接收數據處理請求,該請求包括待處理的對象的信息和所請求的 操作;控制單元,用于根據所述對象的信息為所述請求生成數據對象;第一創(chuàng)建單元,用于為該對象動態(tài)建立對應的自定義操作類;調用單元,用于從所述對象對應的自定義操作類中調用所述請求的操作,對該數 據對象進行處理;處理單元,用于根據所述數據對象的處理結果對所述請求做出應答。作為對上述技術方案的改進,該系統(tǒng)還可以包括元數據存儲庫,用于保存各類對 象的相關定義;所述相關定義包括對象的定義和字段的定義;所述相關定義可選地包括操作的定義,和/或規(guī)則的定義、和/或關聯(lián)的定義、和 /或觸發(fā)器的定義。作為對上述技術方案的改進,該系統(tǒng)還可以包括記錄數據庫,用于保存記錄數 據;所述控制單元可以根據所述請求中的對象的信息和保存在元數據存儲庫中的對 該對象的定義,從記錄數據庫中獲取記錄數據,創(chuàng)建所述數據對象。所述第一創(chuàng)建單元可以根據保存在所述元數據存儲庫中的所述對象的操作的定 義,動態(tài)建立該對象對應的自定義操作類;或者所述第一創(chuàng)建單元可以根據缺省的操作的定義,動態(tài)建立該對象對應的自定義操 作類。作為對上述技術方案的改進,該系統(tǒng)還可以包括第二創(chuàng)建單元,用于根據保存在所述元數據存儲庫中所述對象的對象定義和字段 的定義,以及可選的規(guī)則的定義、關聯(lián)的定義、觸發(fā)器的定義,為所述對象動態(tài)建立對應的 自定義模式類;所述自定義操作類中被調用的操作通過所述自定義模式類來處理記錄數據庫里 的記錄數據。作為對上述技術方案的改進,該系統(tǒng)還可以包括判斷單元,用于判斷所述請求是否滿足以下條件之一請求的操作不是讀??;所述請求的操作是自定義操作如果所述請求至少滿足上述任意一個條件,則指示所述第一創(chuàng)建單元為該對象動 態(tài)建立對應的自定義操作類;如果所述兩個條件均不滿足,則指示所述處理單元根據所述數據對象對所述請求 做出應答。本發(fā)明實施方式與現(xiàn)有技術相比,主要區(qū)別及其效果在于接收數據處理請求,該 請求包括待處理的對象的信息和所請求的操作;根據所述對象的信息為所述請求生成數據
6對象;動態(tài)建立該對象對應的自定義操作類;從所述對象對應的自定義操作類中調用所述 請求的操作,對該數據對象進行處理;根據所述數據對象的處理結果對所述請求做出應答。這種新的數據處理方法及系統(tǒng)使軟件客戶化達到一個新的水平。因為它是完全的 元數據驅動,而元數據可以由客戶自行定義,可以包括客戶所需的個性化的操作。這個平臺 沒有或很少有硬編碼規(guī)則,補充規(guī)則和自定義元素作為元數據儲存在元數據存儲庫中。它 允許用戶用自定義數據模式、自定義業(yè)務邏輯和自定義屏幕顯示來創(chuàng)造數據處理程序。這 種沒有或有很少有硬編碼的整套方法確保了在合理要求下其上的數據處理程序與完全定 制的數據處理程序一樣有靈活性。這種新的方法容易升級。因為其是元數據驅動,且其數 據處理程序客戶定制化被儲存在元數據存儲庫中,所以數據處理程序能很容易功能升級而 不影響現(xiàn)有的程序。
下面結合附圖和具體實施方式
對本發(fā)明作進一步詳細說明。圖1是本發(fā)明第一實施方式的數據處理方法流程圖;圖2是本發(fā)明第一實施方式中記錄數據庫的實體關系圖;圖3是本發(fā)明第一實施方式中元數據儲存庫主要部分的實體關系圖;圖4是本發(fā)明第一實施方式的系統(tǒng)構架圖;圖5是本發(fā)明第二實施方式的數據處理方法流程圖;圖6是本發(fā)明第三實施方式的系統(tǒng)構架圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的實施 方式作進一步地詳細描述。本發(fā)明第一實施方式涉及一種數據處理方法,本方法所基于的系統(tǒng)構架如圖4所 示,該構架中主要包括元數據用戶界面、元數據存儲庫、記錄數據庫、控制器、和自定義邏輯 服務器。其中,元數據用戶界面能夠管理元數據儲存庫里的元數據。本實施方式的數據處理方法的具體流程如圖1所示,在步驟101中,用戶將請求發(fā) 送到服務器,該請求包括待處理的對象的信息和所請求的操作。該請求可以是網絡請求,如 一般的http請求。該請求發(fā)送到服務器后,首先被控制器處理,生成一個處理環(huán)境,包括為該請求生 成數據對象與數據表現(xiàn)形式。其中,數據對象取自記錄數據庫,根據該請求中的對象的信息 和保存在元數據存儲庫中的對該對象的定義,從記錄數據庫中獲取記錄數據,包括字段數 值和關聯(lián)的對象,創(chuàng)建所述數據對象。記錄數據庫用于存儲和檢索記錄數據。圖2是本實施方式中記錄數據庫的實體關 系圖,即記錄數據在通用容器表中的儲存方式。本步驟中生成的數據對象包括如下源于記 錄數據庫的數據1.字段數值;2.關聯(lián)的對象,即當前對象的上級對象和下級對象。元數據存儲庫用于儲存和檢索客戶自定義元數據。圖3是本實施方式中元數據儲
7存庫主要部分的實體關系圖,即自定義元數據的存儲方式。如圖3所示,本實施方式中元數 據存儲庫包括對象、字段、觸發(fā)器、有效性規(guī)則、關聯(lián)和操作這六個實體。也就是說,客戶可 以自定義對象、字段、觸發(fā)器、有效性規(guī)則、關聯(lián)和操作,將其作為元數據保存在元數據存儲 庫中。其中,對象,即應用程序里的實體,如客戶、聯(lián)系人。其數據包括記錄數據庫中儲 存此實體數據的表格名稱。也就是說,根據對象中保存的表格名稱,能夠在記錄數據庫中找 到本對象的記錄數據。字段,即應用程序對象的字段,如客戶名稱或聯(lián)系人、電話號碼,及其它包括此信 息儲存地的相應字段的名稱。觸發(fā)器,即各式數據記錄事件的操作,如前儲存和后儲存。有效性規(guī)則,即在某項操作之前,一個記錄必須符合的規(guī)則。關聯(lián),即對象之間的關系。如客戶是聯(lián)系人的上級對象。操作,即應用軟件行為背后的邏輯。如客戶對象的操作可以包括更新、創(chuàng)建、復 制、合并等。本實施方式中,預先在元數據存儲庫中保存各類對象的相關定義;每類對象有其 唯一對應的對象、字段、觸發(fā)器、有效性規(guī)則、關聯(lián)和操作定義。如用戶有用戶的對象、字段、 觸發(fā)器、有效性規(guī)則、關聯(lián)和操作定義;聯(lián)系人有聯(lián)系人的對象、字段、觸發(fā)器、有效性規(guī)則、 關聯(lián)和操作定義。根據元數據存儲庫中的定義,可以為每類對象動態(tài)創(chuàng)建對應的自定義操 作類和自定義模式類。在步驟102中,控制器轉發(fā)被請求的數據對象與數據表現(xiàn)形式到自定義邏輯服務 器。自定義邏輯服務器通過調度程序與外部世界連接。在步驟103中,調度程序判斷被請求的對象的自定義操作類是否已經存在于緩存 中。如果已經存在,則直接進入步驟105,如果不存在,則進入步驟104,調度程序為該對象 動態(tài)建立自定義操作類。具體地說,在調度程序收到控制器轉發(fā)來的數據對象后,首先確定 其對象的名稱和所請求的操作,在調度程序緩存的所有自定義操作類中尋找對應該對象的 自定義操作類,如果找到,則直接進入步驟105,如果所請求對象的自定義操作類不存在,則 進入步驟104,調度程序根據元數據庫中保存的該對象的操作的定義,為該被請求對象動態(tài) 建立一個新的自定義操作類并將其加到緩存中去。該自定義操作類動態(tài)地建立在現(xiàn)行的元數據儲存庫對操作的定義上,而這些定義 主要是存儲在圖3中的操作表中。比如說,服務器收到的請求為更改用戶名稱,則調度程序 首先確定對象為用戶,請求的操作為更改名稱。調度程序在元數據存儲庫中找到用戶對應 的操作的定義(即元數據),根據該定義動態(tài)建立新的用戶自定義操作類,并將其加到緩存 中去。用戶對應的操作的定義一般包括用戶所有的相關操作的函數,如更新、創(chuàng)建、復制、合 并等,該動態(tài)建立的用戶的自定義操作類中包括上述所有的操作函數。需要說明的是,本實施方式中操作的定義并非是必須的,也可以存在缺省的操作 定義,調度程序可以直接根據缺省的操作定義,動態(tài)建立該對象對應的自定義操作類。在步驟105中,調度程序進一步判斷該被請求的對象的自定義模式類是否已經存 在于緩存中,如果存在,則直接進入步驟107 ;如果不存在,則進入步驟106,調度程序根據 元數據存儲庫中相關的定義,為該對象動態(tài)建立自定義模式類,主要從圖3中對象表、字段表、關聯(lián)表、規(guī)則表和觸發(fā)器表中產生。也就是說,本步驟中創(chuàng)建的自定義模式類,包含源于 元數據存儲庫的如下信息1.表名(對象)2.字段3.有效性規(guī)則4.與其他對象的關聯(lián)5.觸發(fā)器。需要說明的是,上述的有效性規(guī)則、與其他對象的關聯(lián)、觸發(fā)器是可選的,在需要 時,自定義模式類中也可以不包括這三個信息。接著進入步驟107。在步驟107中,調度程序將調用該自定義操作類中與收到的請求相對應的操作, 對該數據對象進行處理。也就是說,在自定義操作類中包含的所有操作函數中,找到請求的 操作對應的函數,調用該請求的操作函數。自定義操作類中被調用的操作通過自定義模式類來處理記錄數據庫里的記錄數 據。自定義操作類中被調用的操作函數可以在運行時向記錄數據庫檢索和儲存數據。自定 義模式類可以被加載進自定義邏輯服務器中的名字空間。因此,自定義操作類可以直接地 通過自定義模式類的名字引用對象和從記錄數據庫中發(fā)現(xiàn)其屬性。自定義操作類中被調用的操作函數在運行時間能檢索、創(chuàng)造、讀取、修改、或者刪 除數據對象;也可以改變數據表現(xiàn)形式來定制應用程序行為;以及任何自定義的行為操 作。這些行為定制化的一些典型的例子包括1.自定義字段的顯示模式,如激活或凍結字段。2.自定義屏幕流程,例如調用一個特定的用戶界面組成部分來回應請求。3.自定義建立在處理結果的基礎上的用戶信息。當元數據儲存庫里的元數據被修改后,自定義操作類和自定義模式類在運行時能 被更新和被重新載入來表達變化。在步驟108中,在自定義操作類中被調用的操作函數完成處理后,得到該數據對 象的處理結果和對應的數據表現(xiàn)形式;調度程序轉發(fā)處理后的數據對象和數據表現(xiàn)形式回 到控制器。在步驟109中,控制器利用界面模板(如Java Server Pages, Active ServerPages,或者其他用戶界面技術)與返還的數據對象的處理結果(即處理后的記錄數 據)和數據表現(xiàn)形式合并來生成內容,并對請求做出反應。這種新的數據處理方法使數據處理軟件的客戶化達到一個新的水平。因為它是完 全的元數據驅動,而元數據可以由客戶自行定義,可以包括客戶所需的個性化的操作。這 個平臺沒有或很少有硬編碼規(guī)則,補充規(guī)則和自定義元素作為元數據儲存在元數據存儲庫 中。它允許用戶用自定義數據模式、自定義業(yè)務邏輯和自定義屏幕顯示來創(chuàng)造數據處理程 序。這種沒有或有很少有硬編碼的整套方法確保了在合理要求下其上的數據處理程序與完 全定制的數據處理程序一樣有靈活性。這種新的方法容易升級。因為其是元數據驅動,且 其數據處理程序客戶定制化被儲存在元數據存儲庫中,所以數據處理程序能很容易功能升 級而不影響現(xiàn)有的程序。
9
這種新的數據處理方法很適合應用于群集計算或云計算環(huán)境,以充分利用經濟規(guī) 模效應。這是基于任何服務器都能為某一用戶產生用戶特定的內容。這個方法和架構確保 客戶化被精確的分配于服務器中,從而提供獨特的用戶體驗。通過它的客戶化分布機制和 運算法則,能確保系統(tǒng)性能穩(wěn)定和可隨時擴展。本發(fā)明第二實施方式與第一實施方式大致相同,其區(qū)別在于,在本實施方式中,控 制器生成數據對象和數據表現(xiàn)形式后,并未直接轉發(fā)被請求的數據對象和數據表現(xiàn)形式到 自定義邏輯服務器,而判斷該請求是否至少滿足以下兩個條件之一1.請求的操作不是讀取。2.所請求的操作是自定義操作,如配置中有任何自定義的加載觸發(fā)器,或有自定 義的數據表現(xiàn)形式。如果滿足上述條件中的任意一條,則轉發(fā)被請求的數據對象和數據表現(xiàn)形式到自 定義邏輯服務器;如果兩條條件均不滿足,則控制器直接將被請求的數據對象、缺省數據表 現(xiàn)形式和配置界面模板(如Java Server Pages, ActiveServer Pages,或者其他用戶界面 技術)結合生成內容來響應請求,如圖5所示。本發(fā)明第三實施方式同樣涉及一種數據處理方法,與第一或第二實施方式大致相 同,其區(qū)別在于,在第一或第二實施方式中,控制器與自定義邏輯服務器是分離的;而在本 實施方式中,在邏輯上合并控制器(102)與自定義邏輯服務器為一個服務器,如圖6所示。本發(fā)明第四實施方式同樣涉及一種數據處理方法,與第一或第二實施方式大致相 同,其區(qū)別在于,在第一或第二實施方式中,記錄數據庫是通用數據庫;而在本實施方式中, 記錄數據庫的數據模式是特定的,例如記錄數據庫的數據模式是只為HR數據處理程序而 制定,包括雇員和崗位列表。在這種情況下,自定義模式類不是根據儲存在元數據存儲庫中 的元數據定義而建立的,但自定義操作類還是根據元數據存儲庫中對操作的定義建立。本發(fā)明第五實施方式涉及一種數據處理系統(tǒng),包括接收單元,用于接收數據處理請求,該請求包括待處理的對象的信息和所請求的 操作;控制單元,用于根據該對象的信息為該請求生成數據對象;第一創(chuàng)建單元,用于動態(tài) 建立該對象對應的自定義操作類;調用單元,用于從該請求中的對象對應的自定義操作類 中調用該請求的操作,對該數據對象進行處理;處理單元,用于根據該數據對象的處理結果 對該請求做出應答。該系統(tǒng)還可以包括元數據存儲庫,用于保存各類對象的相關定義;該相關定義包 括對象的定義和字段的定義;可選地包括操作的定義、和/或規(guī)則的定義、和/或關聯(lián)的定 義、和/或觸發(fā)器的定義。該系統(tǒng)還可以包括記錄數據庫,用于保存記錄數據;該控制單元可以根據該請求 中的對象的信息和保存在元數據存儲庫中的對該對象的定義,從記錄數據庫中獲取記錄數 據,創(chuàng)建該數據對象。第一創(chuàng)建單元可以根據保存在所述元數據存儲庫中的所述對象的操作的定義,動 態(tài)建立該對象對應的自定義操作類;或者,根據缺省的操作的定義,動態(tài)建立該對象對應的 自定義操作類。該調用單元可以從該請求中的對象對應的自定義操作類中調用該請求的操作,對 該數據對象進行處理,得到該數據對象的處理結果和數據表現(xiàn)形式;該處理單元結合該數
10據表現(xiàn)形式和處理后的數據對象對該請求做出應答。該系統(tǒng)還可以包括第二創(chuàng)建單元,用于根據保存在該元數據存儲庫中該對象的對 象定義和字段的定義,以及可選的規(guī)則的定義、關聯(lián)的定義、觸發(fā)器的定義,為該對象動態(tài) 建立對應的自定義模式類;該自定義操作類中被調用的操作通過該自定義模式類來處理記 錄數據庫里的記錄數據。該系統(tǒng)還可以包括判斷單元,用于判斷該請求是否滿足以下條件之一請求的操作不是讀??;請求的操作是自定義操作;如果該請求至少滿足上述任意一個條件,則指示該第一創(chuàng)建單元為該對象動態(tài)建 立對應的自定義操作類;如果該兩個條件均不滿足,則指示該處理單元根據該被請求的數 據對象對該請求做出應答。這種新的數據處理系統(tǒng)使軟件客戶化達到一個新的水平。因為它是完全的元數據 驅動,而元數據可以由客戶自行定義,可以包括客戶所需的個性化的操作。這個平臺沒有或 很少有硬編碼規(guī)則,補充規(guī)則和自定義元素作為元數據儲存在元數據存儲庫中。它允許用 戶用自定義數據模式、自定義業(yè)務邏輯和自定義屏幕顯示來創(chuàng)造數據處理程序。這種沒有 或有很少有硬編碼的整套方法確保了在合理要求下其上的數據處理程序與完全定制的數 據處理程序一樣有靈活性。這種新的方法容易升級。因為其是元數據驅動,且其數據處理 程序客戶定制化被儲存在元數據存儲庫中,所以數據處理程序能很容易功能升級而不影響 現(xiàn)有的程序。這種新的數據處理系統(tǒng)很適合應用于群集計算或云計算環(huán)境,以充分利用經濟規(guī) 模效應。這是基于任何服務器都能為某一用戶產生用戶特定的內容。這個方法和架構確保 客戶化被精確的分配于服務器中,從而提供獨特的用戶體驗。通過它的客戶化分布機制和 運算法則,能確保系統(tǒng)性能穩(wěn)定和可隨時擴展。雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經對本發(fā)明進行了圖示和描述,但 本領域的普通技術人員應該明白,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā) 明的精神和范圍。
權利要求
一種數據處理方法,其特征在于,包括以下步驟接收數據處理請求,該請求包括待處理的對象的信息和所請求的操作;根據所述對象的信息為所述請求生成數據對象;動態(tài)建立該對象對應的自定義操作類;從所述對象對應的自定義操作類中調用所述請求的操作,對該數據對象進行處理;根據所述數據對象的處理結果對所述請求做出應答。
2.根據權利要求1所述的數據處理方法,其特征在于,還包括以下步驟 預先在所述元數據存儲庫中保存各類對象的相關定義;所述相關定義包括對象的定義和字段的定義;所述相關定義可選地包括操作的定義、和/或規(guī)則的定義、和/或關聯(lián)的定義、和/或 觸發(fā)器的定義。
3.根據權利要求2所述的數據處理方法,其特征在于,所述生成數據對象的方式為 根據所述請求中的對象的信息和保存在所述元數據存儲庫中的對該對象的定義,從記錄數據庫中獲取記錄數據,創(chuàng)建所述數據對象。
4.根據權利要求2所述的數據處理方法,其特征在于,所述動態(tài)建立該對象對應的自 定義操作類的方式為根據保存在所述元數據存儲庫中的所述對象的操作的定義,動態(tài)建立該對象對應的自 定義操作類;或者根據缺省的操作的定義,動態(tài)建立該對象對應的自定義操作類。
5.根據權利要求2所述的數據處理方法,其特征在于,還包括以下步驟根據保存在所 述元數據存儲庫中所述對象的對象定義、字段的定義,及可選的規(guī)則的定義、關聯(lián)的定義、 觸發(fā)器的定義,為所述對象動態(tài)建立對應的自定義模式類;所述自定義操作類中被調用的操作通過所述自定義模式類來處理記錄數據庫里的記 錄數據。
6.根據權利要求1所述的數據處理方法,其特征在于,在調用所述自定義操作類中所 述請求的操作的步驟之前,還包括以下步驟判斷所述請求是否滿足以下條件之一 所述請求的操作不是讀?。?所述請求的操作是自定義操作;如果至少滿足上述任意一個條件,則執(zhí)行所述調用該自定義操作類中所述請求的操作 的步驟。
7.根據權利要求6所述的數據處理方法,其特征在于,如果所述兩個條件均不滿足,則 直接根據所述數據對象對所述請求做出應答。
8.根據權利要求1至7中任一項所述的數據處理方法,其特征在于,所述自定義操作類 中操作被調用時,允許進行以下操作檢索、創(chuàng)造、讀取、修改、或者刪除數據對象; 改變數據表現(xiàn)的定義來定制應用程序行為; 任何自定義的行為操作。
9.根據權利要求1至7中任一項所述的數據處理方法,其特征在于,如果所述元數據儲存庫中的定義被修改,根據修改后的定義,更新自定義操作類和自定義模式類,從該更新后 的自定義操作類中調用所述請求的操作,對所述數據對象進行處理。
10.一種數據處理系統(tǒng),包括接收單元,用于接收數據處理請求,該請求包括待處理的對象的信息和所請求的操作;控制單元,用于根據所述對象的信息為所述請求生成數據對象; 第一創(chuàng)建單元,用于為所述對象動態(tài)建立對應的自定義操作類; 調用單元,用于從所述對象對應的自定義操作類中調用所述請求的操作,對該數據對 象進行處理;處理單元,用于根據所述數據對象的處理結果對所述請求做出應答。
11.根據權利要求10所述的數據處理系統(tǒng),其特征在于,還包括 元數據存儲庫,用于保存各類對象的相關定義;所述相關定義包括對象的定義和字段的定義;所述相關定義可選地包括操作的定義,和/或規(guī)則的定義、和/或關聯(lián)的定義、和/或 觸發(fā)器的定義。
12.根據權利要求11所述的數據處理系統(tǒng),其特征在于,還包括 記錄數據庫,用于保存記錄數據;所述控制單元根據所述請求中的對象的信息和保存在所述元數據存儲庫中的對該對 象的定義,從記錄數據庫中獲取記錄數據,創(chuàng)建所述數據對象。
13.根據權利要求11所述的數據處理系統(tǒng),其特征在于,所述第一創(chuàng)建單元根據保存在所述元數據存儲庫中的所述對象的操作的定義,動態(tài)建 立該對象對應的自定義操作類;或者所述第一創(chuàng)建單元根據缺省的操作的定義,動態(tài)建立該對象對應的自定義操作類。
14.根據權利要求11所述的數據處理系統(tǒng),其特征在于,還包括第二創(chuàng)建單元,用于根據保存在所述元數據存儲庫中所述對象的對象定義和字段的定 義,以及可選的規(guī)則的定義、關聯(lián)的定義、觸發(fā)器的定義,為所述對象動態(tài)建立對應的自定 義模式類;所述自定義操作類中被調用的操作通過所述自定義模式類來處理記錄數據庫里的記 錄數據。
15.根據權利要求9所述的數據處理系統(tǒng),其特征在于,還包括 判斷單元,用于判斷所述請求是否滿足以下條件之一 請求的操作不是讀??;所述請求的操作是自定義操作如果所述請求至少滿足上述任意一個條件,則指示所述第一創(chuàng)建單元為該對象動態(tài)建 立對應的自定義操作類;如果所述兩個條件均不滿足,則指示所述處理單元根據所述數據對象對所述請求做出應答。
全文摘要
本發(fā)明公開了一種數據處理方法及系統(tǒng),服務器接收數據處理請求,包括待處理的對象的信息和所請求的操作;控制器根據對象的信息為請求生成數據對象;動態(tài)建立該對象對應的自定義操作類和自定義模式類;從請求中的對象對應的自定義操作類中調用請求的操作,對該數據對象進行處理;對請求做出應答。這種新的數據處理方法使數據處理軟件客戶化達到一個新的水平。因為它是完全的元數據驅動,沒有或很少有硬編碼規(guī)則,且其客戶定制化被儲存在元數據存儲庫中,其自定義操作類和自定義模式類都能被動態(tài)的加載和鏈接,所以數據處理程序能很容易功能升級而不影響現(xiàn)有的程序。
文檔編號G06F9/44GK101923461SQ200910052988
公開日2010年12月22日 申請日期2009年6月12日 優(yōu)先權日2009年6月12日
發(fā)明者徐曉松 申請人:徐曉松