令對(duì)所述客戶信息表中的預(yù) 留字段進(jìn)行客戶擴(kuò)展屬性操作。
[0114] 這樣一來(lái),當(dāng)接收到客戶端發(fā)送的客戶擴(kuò)展屬性值和客戶標(biāo)識(shí)后,首先將所述客 戶擴(kuò)展屬性值緩存到內(nèi)存的虛擬客戶擴(kuò)展屬性表中,然后根據(jù)所述客戶標(biāo)識(shí)確定所述客戶 信息表中的所述客戶標(biāo)識(shí)對(duì)應(yīng)的行,并根據(jù)映射關(guān)系確定所述客戶信息表中的列,生成對(duì) 所述客戶信息表中所述客戶標(biāo)識(shí)對(duì)應(yīng)的行中的列進(jìn)行所述客戶擴(kuò)展屬性值操作的指令,最 后向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送所述客戶擴(kuò)展屬性指令,以便于所述數(shù)據(jù)庫(kù)服務(wù)器根據(jù)所述客戶擴(kuò) 展屬性指令對(duì)所述客戶信息表進(jìn)行客戶擴(kuò)展屬性操作。相對(duì)于現(xiàn)有技術(shù),根據(jù)映射關(guān)系對(duì) 虛擬客戶擴(kuò)展屬性表和客戶信息表的操作,實(shí)現(xiàn)了在海量客戶的情況下,能夠靈活高效地 讀寫客戶擴(kuò)展屬性。
[0115] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,應(yīng)用于如圖1所示的數(shù)據(jù)處理系統(tǒng),如圖4 所示,包括:
[0116] 步驟301、接收客戶端發(fā)送的查詢請(qǐng)求。
[0117] 所述查詢請(qǐng)求包括客戶標(biāo)識(shí)。
[0118] 步驟302、生成查詢指令。
[0119] 所述查詢指令用于指示數(shù)據(jù)庫(kù)服務(wù)器在客戶信息表中查詢所述客戶標(biāo)識(shí)對(duì)應(yīng)的 客戶擴(kuò)展屬性,所述客戶擴(kuò)展屬性包括客戶擴(kuò)展屬性值和客戶擴(kuò)展屬性名,所述客戶信息 表為橫表。
[0120] 步驟303、向所述數(shù)據(jù)庫(kù)服務(wù)器發(fā)送所述查詢指令。
[0121] 步驟304、接收所述數(shù)據(jù)庫(kù)服務(wù)器返回的所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò)展屬性。
[0122] 步驟305、根據(jù)映射關(guān)系和所述客戶標(biāo)識(shí),將所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò)展屬性緩 存到虛擬客戶擴(kuò)展屬性表。
[0123] 所述映射關(guān)系為客戶擴(kuò)展屬性名與客戶信息表中的預(yù)留字段的映射關(guān)系,所述虛 擬客戶擴(kuò)展屬性表為縱表。
[0124] 這樣一來(lái),當(dāng)接收到數(shù)據(jù)庫(kù)服務(wù)器根據(jù)客戶標(biāo)識(shí)查詢到的客戶擴(kuò)展屬性后,根據(jù) 所述客戶標(biāo)識(shí)確定所述客戶信息表中的所述客戶標(biāo)識(shí)對(duì)應(yīng)的行,并根據(jù)映射關(guān)系確定所 述客戶信息表中的列,將所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò)展屬性緩存到所述虛擬客戶擴(kuò)展屬性 表,也就是將客戶信息表的列操作轉(zhuǎn)換為虛擬客戶擴(kuò)展屬性表的行操作。相對(duì)于現(xiàn)有技術(shù), 根據(jù)映射關(guān)系對(duì)虛擬客戶擴(kuò)展屬性表和客戶信息表的操作,實(shí)現(xiàn)了在海量客戶的情況下, 能夠靈活高效地讀寫客戶擴(kuò)展屬性。
[0125] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,應(yīng)用于如圖1所示的數(shù)據(jù)處理系統(tǒng),如圖5 所示,包括:
[0126] 步驟401、數(shù)據(jù)庫(kù)服務(wù)器設(shè)置客戶信息表的客戶擴(kuò)展屬性的預(yù)留字段。
[0127] 數(shù)據(jù)庫(kù)服務(wù)器設(shè)置客戶信息表,該客戶信息表包括客戶基本屬性和預(yù)留字段,所 述預(yù)留字段可以包括客戶擴(kuò)展屬性名預(yù)留字段。該預(yù)留字段可以設(shè)置為Fieldl-Fieldn,所 述Fieldl-Fieldn與客戶擴(kuò)展屬性名形成映射關(guān)系,客戶擴(kuò)展屬性值存儲(chǔ)在預(yù)留字段所在 的行的單元中。具體設(shè)置客戶擴(kuò)展屬性和預(yù)留字段的方法可以參考設(shè)置客戶信息表的現(xiàn)有 技術(shù),例如,可以開(kāi)發(fā)一個(gè)普通的擴(kuò)展屬性維護(hù)功能和使用數(shù)據(jù)庫(kù)管理工具來(lái)增加預(yù)留字 段,具體的本發(fā)明對(duì)此不加贅述。
[0128] 需要說(shuō)明的是,如果客戶擴(kuò)展屬性的數(shù)量多于預(yù)留字段,可以通過(guò)數(shù)據(jù)庫(kù)控制臺(tái) 增加預(yù)留字段個(gè)數(shù)。數(shù)據(jù)庫(kù)控制臺(tái)可以是數(shù)據(jù)庫(kù)客戶端軟件Plsql等。數(shù)據(jù)庫(kù)(例如 Oracle)可以支持200多個(gè)預(yù)留字段,一般的行業(yè)都足夠使用了。預(yù)留字段的類型如果不確 定用途的話,可以設(shè)置為可變長(zhǎng)度字符型。示例的,銀行客戶信息表,如表4所示,
[0129] 表4銀行客戶信息表
[0130]
[0131] 步驟402、應(yīng)用服務(wù)器設(shè)置映射表、虛擬客戶擴(kuò)展屬性表和讀寫轉(zhuǎn)換功能。
[0132] 映射表包括至少一個(gè)客戶信息表中的預(yù)留字段與客戶擴(kuò)展屬性名的映射關(guān)系,一 個(gè)預(yù)留字段映射一個(gè)客戶擴(kuò)展屬性名。
[0133] 示例的,如表5所示,映射表包括銀行客戶信息表和電信客戶信息表。銀行客戶信 息表中的預(yù)留字段Fieldl映射為客戶擴(kuò)展屬性的會(huì)員資格,銀行客戶信息表中的預(yù)留字 段Field2映射為客戶擴(kuò)展屬性的信用度,電信客戶信息表中的預(yù)留字段Fieldl映射為客 戶擴(kuò)展屬性的是否他網(wǎng)用戶,其他沒(méi)有填的屬性為空值,可以供需要增加客戶擴(kuò)展屬性時(shí) 使用。
[0134] 表5映射表
[0135]
[0136] 虛擬客戶擴(kuò)展屬性表存儲(chǔ)當(dāng)前需要處理的客戶擴(kuò)展屬性,所述客戶擴(kuò)展屬性包括 客戶擴(kuò)展屬性名或客戶擴(kuò)展屬性值。應(yīng)用服務(wù)器可以根據(jù)對(duì)客戶擴(kuò)展屬性操作增加、修改、 刪除或查詢虛擬客戶擴(kuò)展屬性表的行。示例的,如表6所示,虛擬客戶擴(kuò)展屬性表包括客戶 標(biāo)識(shí)為102039的客戶擴(kuò)展屬性的會(huì)員資格和信用度,客戶擴(kuò)展屬性的會(huì)員資格的取值為 金卡,客戶擴(kuò)展屬性的信用度的取值為1級(jí)。
[0137] 表6虛擬客戶擴(kuò)展屬性表
[0138]
[0139] 讀寫轉(zhuǎn)換功能用于將所述虛擬客戶擴(kuò)展屬性表緩存的客戶擴(kuò)展屬性存儲(chǔ)到客戶 信息表中的預(yù)留字段,或者將所述客戶信息表中客戶擴(kuò)展屬性緩存到所述虛擬客戶擴(kuò)展屬 性表。也就是根據(jù)映射關(guān)系實(shí)現(xiàn)客戶擴(kuò)展屬性讀寫的轉(zhuǎn)換,將客戶端提交的增加、修改和刪 除客戶擴(kuò)展屬性轉(zhuǎn)換為客戶信息表的對(duì)應(yīng)字段的升級(jí)操作,將客戶端提交的查詢多行客戶 擴(kuò)展屬性轉(zhuǎn)換為查詢客戶信息表的對(duì)應(yīng)字段的多個(gè)列的查詢操作。讀寫轉(zhuǎn)換功能還用于將 多個(gè)數(shù)據(jù)定義語(yǔ)言(DDL)語(yǔ)句合并為一個(gè)DDL語(yǔ)句,供數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行。
[0140] 需要說(shuō)明的是,映射表是在數(shù)據(jù)庫(kù)服務(wù)器存在的實(shí)體表。虛擬客戶擴(kuò)展屬性表保 存在內(nèi)存中,實(shí)現(xiàn)實(shí)體的客戶擴(kuò)展屬性表的功能,不存在實(shí)體的客戶擴(kuò)展屬性表。如果存在 實(shí)體的客戶擴(kuò)展屬性表時(shí),數(shù)據(jù)庫(kù)服務(wù)器需要?jiǎng)h除實(shí)體的客戶擴(kuò)展屬性表。
[0141] 步驟403、客戶端設(shè)置動(dòng)態(tài)控件。
[0142] 通過(guò)動(dòng)態(tài)控件控制顯示客戶擴(kuò)展屬性,動(dòng)態(tài)控件控制虛擬客戶擴(kuò)展屬性表中多行 信息,即一個(gè)客戶的多個(gè)客戶擴(kuò)展屬性通過(guò)動(dòng)態(tài)控件顯示在客戶信息維護(hù)頁(yè)面上。
[0143] 需要說(shuō)明的是,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法步驟的先后順序可以進(jìn)行適當(dāng) 調(diào)整,示例的,如步驟401和步驟403之間的前后順序可以互換,任何熟悉本技術(shù)領(lǐng)域的技 術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化的方法,都應(yīng)涵蓋在本發(fā)明的保護(hù)范 圍之內(nèi),因此不再贅述。
[0144] 如圖6所示,步驟404至步驟408,示例的從客戶信息表查詢客戶的客戶擴(kuò)展屬性。
[0145] 步驟404、應(yīng)用服務(wù)器接收客戶端發(fā)送的查詢請(qǐng)求。
[0146] 客戶端可以接收用戶在客戶信息維護(hù)頁(yè)面輸入的客戶標(biāo)識(shí),客戶端向應(yīng)用服務(wù)器 發(fā)送查詢請(qǐng)求,所述查詢請(qǐng)求包括客戶標(biāo)識(shí)。
[0147] 步驟405、應(yīng)用服務(wù)器生成查詢指令。
[0148] 所述查詢指令用于指示數(shù)據(jù)庫(kù)服務(wù)器在客戶信息表中查詢所述客戶標(biāo)識(shí)對(duì)應(yīng)的 客戶擴(kuò)展屬性和客戶基本屬性,所述客戶信息表為橫表。示例的,所述DDL查詢語(yǔ)句可以是 Select客戶標(biāo)識(shí),名稱,類別,會(huì)員資格fieldl…from銀行客戶信息表where客戶標(biāo)識(shí)= 102039。
[0149] 步驟406、應(yīng)用服務(wù)器向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送所述查詢指令。
[0150] 數(shù)據(jù)庫(kù)服務(wù)器接收到查詢指令后,根據(jù)所述查詢指令中的客戶標(biāo)識(shí)在客戶信息表 中查詢所述客戶標(biāo)識(shí)對(duì)應(yīng)的行。該客戶標(biāo)識(shí)為銀行客戶信息表的主鍵索引。示例的,如表 4所示,數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)的銀行客戶信息表。
[0151] 步驟407、應(yīng)用服務(wù)器接收所述數(shù)據(jù)庫(kù)服務(wù)器返回的所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò) 展屬性。
[0152] 應(yīng)用服務(wù)器可以接收數(shù)據(jù)庫(kù)服務(wù)器返回的客戶標(biāo)識(shí)為102039的一行的信息,包 括名稱為張三,類別為組織,客戶擴(kuò)展屬性為會(huì)員資格和信用度。
[0153] 步驟408、應(yīng)用服務(wù)器根據(jù)映射關(guān)系和客戶標(biāo)識(shí),將所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò)展 屬性緩存到虛擬客戶擴(kuò)展屬性表。
[0154] 根據(jù)所述客戶標(biāo)識(shí)確定所述客戶信息表中的所述客戶標(biāo)識(shí)對(duì)應(yīng)的行,并根據(jù)映 射關(guān)系確定所述客戶信息表中的列,將所述客戶標(biāo)識(shí)對(duì)應(yīng)的客戶擴(kuò)展屬性緩存到所述虛 擬客戶擴(kuò)展屬性表。所述映射關(guān)系為客戶擴(kuò)展屬性名與客戶信息表中的預(yù)留字段的映 射關(guān)系。所述虛擬客戶擴(kuò)展屬性表為縱表。具體的,調(diào)用虛擬客戶擴(kuò)展屬性表對(duì)象的 setrow(custrow)方法,把每個(gè)擴(kuò)展屬性寫成虛擬客戶擴(kuò)展屬性表中的一行,調(diào)用一次可以 將客戶信息表的所有客戶擴(kuò)展屬性寫入到虛擬客戶擴(kuò)展屬性表中。
[0155] 示例的,如圖7所示,在銀行客戶信息表中查詢到的張三的客戶擴(kuò)展屬性和客戶 基本屬性。在顯示單元4上顯示的客戶信息維護(hù)頁(yè)面41,包括來(lái)自客戶信息表的客戶基本 屬性411,包括客戶基本屬性,客戶擴(kuò)展屬性412包括"會(huì)員資格"和"信用度"客戶擴(kuò)展屬 性。所述顯示單元可以是客戶端的顯示屏幕。
[0156] 如圖8所示,步驟409至步驟4012示例的對(duì)客戶信息表中客戶的客戶擴(kuò)展屬性值 的操作。
[0157] 步驟409、客戶端接收客戶擴(kuò)展屬性值。
[0158] 客戶端可以接收用戶在客戶信息維護(hù)頁(yè)面中輸入的客戶擴(kuò)展屬性值。示例的,可 以在如圖7所示的客戶信息維護(hù)頁(yè)面中會(huì)員資格對(duì)應(yīng)的空格內(nèi)輸入"金卡"和信用度對(duì)應(yīng) 的空格內(nèi)輸入"1級(jí)"。
[0159] 步驟4010、應(yīng)用服務(wù)器接收客戶端發(fā)送的客戶擴(kuò)展屬性的請(qǐng)求。
[0160] 該客戶擴(kuò)展屬性的請(qǐng)求包括客戶擴(kuò)展屬性值。將所述客戶擴(kuò)展屬性值緩存到虛擬 客戶擴(kuò)展屬性表,所述虛擬客戶擴(kuò)展屬性表為縱表,存儲(chǔ)在應(yīng)用服務(wù)器的內(nèi)存中。調(diào)用虛擬 客戶擴(kuò)展屬性表對(duì)象的setrow方法,把每個(gè)擴(kuò)展屬性寫成虛擬客戶擴(kuò)展屬性表中的一行, 調(diào)用一次可以將客戶信息表的所有客戶擴(kuò)展屬性寫入到虛擬客戶擴(kuò)展屬性表中。示例的, 如