本專利申請涉及以下共同未決申請,并且要求這些申請的優(yōu)先權,這些申請全文并入本文:
A.以與本專利申請同一申請人的名義于2014年9月9日提交的印度專利申請No.4421/CHE/2014,標題為“Generating Instruction Sets Implementing Business Rules Designed To Update Business Objects Of Financial Applications”;以及
B.以與本專利申請同一申請人的名義于2015年1月13日提交的美國非臨時專利申請No.14/595,223,標題為“Generating Instruction Sets Implementing Business Rules Designed To Update Business Objects Of Financial Applications”。
技術領域
本公開涉及企業(yè)應用服務器,并且更具體地涉及產生實現被設計為更新根據應用數據模型指定的對象的規(guī)則的指令集。
背景技術:
應用被用來處理數據并且提供對應的期望功能。金融應用是與金融工具(諸如信用卡、貸款、銀行賬戶等)的管理有關的一類應用。如相關領域中眾所周知的,金融應用在各種商業(yè)企業(yè)(諸如銀行、保險公司、證券經紀業(yè)等)中得到使用。
應用經常是基于數據模型(“應用數據模型”)開發(fā)的,這些數據模型可以不同于根據其存儲數據的數據模型。例如,數據可以根據關系數據庫模型以表格的形式存儲,而應用可以基于根據應用數據模型指定的對象(以下“數據對象”)而被開發(fā)。數據對象被定義為包含各種屬性,數據對象的實例(“對象實例”)具有各個屬性的對應值。
規(guī)則被用在應用中以更新根據應用數據模型指定的數據對象。規(guī)則處于概念層次,是可能對更接近于機器能夠進行操作的層次(例如,編程語言、SQL查詢等)的對應實現不熟悉的用戶(例如,管理員、管理者、分析員、高級管理人員等)可理解的。
更新數據對象意味著改變數據對象的各個對象實例的一個或多個屬性的對應值。作為簡單的情況,銀行可能具有如下規(guī)則:該規(guī)則根據客戶的信用評級的不同水平(高風險、中等風險和低風險)以及貸款的類型(例如,住房、汽車、個人等)來更新利率??梢匀菀椎乩斫猓?guī)則的執(zhí)行引起多個對象實例的改變。復雜的規(guī)則典型地涉及幾個更多的變量/維度、對多個屬性的更新和/或對于被更新屬性的值的復雜計算。
規(guī)則被轉換為更適合于在機器上執(zhí)行的等效指令集。例如,假定數據對象存儲在管理數據庫系統(tǒng)中,指令集包括指向關系數據庫系統(tǒng)的表格的SQL(結構化查詢語言)查詢。
本公開的各方面針對的是產生這樣的指令集:該指令集實現被設計為更新根據應用數據模型指定的對象的規(guī)則。
附圖說明
參照下面簡要描述的附圖來描述本公開的示例實施例。
圖1是例示了在其中可以實現本公開的幾個方面的示例環(huán)境的框圖。
圖2是例示了根據本公開的一方面的產生實現被設計為更新根據應用數據模型指定的對象的規(guī)則的指令集的方式的流程圖。
圖3A例示了在一個實施例中為執(zhí)行而指定規(guī)則的方式。
圖3B例示了在一個實施例中根據本公開的幾個方面對規(guī)則進行處理的方式。
圖4A例示了在一個實施例中向用戶顯示被確定為適合合并的規(guī)則子集的方式。
圖4B例示了在一個實施例中向用戶顯示合并規(guī)則子集的結果的方式。
圖5是例示了在其中本公開的幾個方面可通過執(zhí)行適當的軟件指令而操作的數字處理系統(tǒng)的細節(jié)的框圖。
在附圖中,相似的附圖標記一般指示相同的、功能上類似的和/或結構上類似的要素。要素首次出現的附圖由對應附圖標記中的最左邊的數字指示。
具體實施方式
1.概述
本公開的一個方面產生這樣的指令集:該指令集實現被設計為更新根據應用數據模型指定的對象的規(guī)則。在一個實施例中,對被設計為更新對象的規(guī)則進行處理以形成(規(guī)則的)桶集以使每個桶包含在執(zhí)行次序上不具有相互依賴性的規(guī)則。然后,對于每個桶,確定被設計為更新公共(數據)對象的規(guī)則子集,并且為每個確定的規(guī)則子集產生對應的單個指令集。然后,并行地執(zhí)行為每個桶中包含的規(guī)則子集產生的指令集。
通過為更新公共對象的每個規(guī)則子集產生單個指令集(例如,最終被轉譯為單個SQL查詢),可以減少這種公共對象為處理桶中的規(guī)則而需要的總持續(xù)時間。假定在此類更新期間將為對象提供排他性訪問(例如,使用數據庫中的表格/列的鎖定),排他性訪問的持續(xù)時間也相應地減少,由此降低與需要對對象進行排他性訪問的其他應用對于同一對象的爭用沖突的概率。另外,通過并行地執(zhí)行與桶內的規(guī)則對應的指令集,至少當底層環(huán)境提供足夠的多重處理能力時可以獲得類似的效率。
根據本公開的另一個方面,發(fā)送桶中經確定的規(guī)則子集以供顯示,同時指示這些規(guī)則子集中的每個規(guī)則子集可以被合并(也就是說,可以產生單個指令集)。如此,只有當從用戶接收到指示每個規(guī)則子集要被合并的輸入數據時,才執(zhí)行與規(guī)則子集相對應的指令集的產生。
因此,(應用的)用戶便于指示要被合并的特定子集(以及所產生的單個指令集)以及哪些子集將不被合并(也就是說,將產生用于每個規(guī)則的單獨的指令集)。因此,如果(從用戶接收的)輸入數據指示規(guī)則子集中的特定規(guī)則將被排除合并,則為排除該特定規(guī)則的規(guī)則子集(也就是說,僅為該子集中的其他規(guī)則)產生對應的單個指令集。結果,可以向用戶提供對規(guī)則合并的增強控制。
根據本公開的另一個方面,接收優(yōu)先數據,該優(yōu)先數據指示在每個規(guī)則的執(zhí)行之前要被執(zhí)行的對應規(guī)則集。因此,桶被形成為使得對應規(guī)則集不被包括在包含所述規(guī)則的同一個桶中(因為所述規(guī)則關于執(zhí)行對所述對應規(guī)則集具有依賴性)。
根據本公開的又一個方面,根據應用數據模型指定的對象被存儲在關系數據庫服務器中。如此,每個規(guī)則如果被獨立地執(zhí)行,則將被實現為指向關系數據庫服務器的對應SQL(結構化查詢語言)命令。此外,對應的單個指令集是以指向關系數據庫服務器的單個SQL命令的形式實現的。因此,與子集中的規(guī)則對應的待執(zhí)行的不同SQL命令被單個SQL命令取代。
下面參照用于例示的例子來描述本公開的幾個方面。然而,本領域技術人員將認識到,可以在沒有一個或多個特定細節(jié)的情況下或者可以用其他方法、部件、材料等來實施本公開。在其他情況下,眾所周知的結構、材料或操作未被詳細展示,以免混淆本公開的特征。此外,所描述的特征/方面可以以各種組合實施,但是為簡潔起見,在本文中僅描述這些組合中的一些組合。
2.示例環(huán)境
圖1是例示了在其中可以實現本公開的幾個方面的示例環(huán)境的框圖。該框圖被示為包含終端用戶系統(tǒng)110A-110Z、互聯網120、內聯網130、服務器系統(tǒng)140A-140C、管理員系統(tǒng)150以及數據存儲器180A-180B。
僅作例示,在該圖中僅示出了代表性數量/類型的系統(tǒng)。許多環(huán)境經常根據該環(huán)境被設計的目的而包含數量和類型都更多的系統(tǒng)。下面更詳細地描述圖1的每個系統(tǒng)/裝置。
內聯網130表示在全都設于企業(yè)(用點線邊界示出)內的服務器系統(tǒng)140A-140C、管理員系統(tǒng)150和數據存儲器180A-180B之間提供連接的網絡?;ヂ摼W120擴展這些系統(tǒng)(以及企業(yè)的其他系統(tǒng))與外部系統(tǒng)(諸如終端用戶系統(tǒng)110A-110Z)的連接。內聯網130和互聯網120均可以使用相關領域中眾所周知的協(xié)議(諸如傳輸控制協(xié)議(TCP)和/或互聯網協(xié)議(IP))來實現。一般來說,在TCP/IP環(huán)境中,IP數據包用作基本傳輸單元,源地址被設置為向該數據包發(fā)源的源系統(tǒng)分配的IP地址,目的地地址被設置為該數據包最終被遞送到的目的地系統(tǒng)的IP地址。
當數據包的目的地IP地址被設置為目的地系統(tǒng)的IP地址時,IP數據包被說成是指向(directed to)目的地系統(tǒng),使得數據包通過網絡120和130最終被遞送到目的地系統(tǒng)。當數據包包含指定目的地應用的內容(諸如端口號)時,數據包也可以被說成是指向此類應用。目的地系統(tǒng)可以被要求使對應端口號保持可用/開放,并且通過對應的目的地端口對數據包進行處理?;ヂ摼W120和內聯網130均可以使用有線介質或無線介質的任何組合來實現。
數據存儲器180A-180B均表示便于由在企業(yè)的其他系統(tǒng)(諸如服務器系統(tǒng)140A-140C和管理員系統(tǒng)150)中執(zhí)行的企業(yè)應用存儲和檢索數據集合的非易失性(持久性)存儲器。
數據存儲器180A-180B均可以被實現為使用關系數據庫技術的數據庫服務器,并因此提供使用諸如SQL(結構化查詢語言)之類的結構化查詢的數據存儲和檢索??商娲兀缦嚓P領域中眾所周知的,數據存儲器180A-180B均可以被實現為文件服務器,該文件服務器提供被組織為一個或多個目錄的文件的形式的數據的存儲和檢索。
在一個實施例中,如上面在背景部分中所指出的,數據存儲器180A-180B中維護的數據根據包含數據對象、屬性和對象實例的應用數據模型(在數據存儲器外部提供)被提供訪問權。當被存儲在關系數據庫系統(tǒng)中時,數據對象可以對應于一個或多個表格,每個屬性對應于此類表格的相應列,每個對象實例對應于此類表格的行。當被存儲在文件服務器中時,每個數據對象可以對應于一個或多個文件,每個對象實例由文件中的一組行表示,每行又指定屬性和對應的值。
終端用戶系統(tǒng)110A-110Z均表示被用戶用來產生并行送指向企業(yè)的特定系統(tǒng)的用戶請求的系統(tǒng),諸如個人計算機、工作站、移動站、移動電話、計算平板等。用戶請求可以使用適當的用戶界面(例如,由在企業(yè)中執(zhí)行的應用提供的網頁)來產生。例如,用戶可以將用于執(zhí)行各種任務的用戶請求發(fā)送給在服務器系統(tǒng)140A-140C中執(zhí)行的企業(yè)應用。
服務器系統(tǒng)140A-140C均表示執(zhí)行企業(yè)應用(例如,金融應用、分析框架等)的服務器,諸如web/應用服務器,其中企業(yè)應用能夠執(zhí)行用戶使用終端用戶系統(tǒng)110A-110Z請求的任務。響應于從終端用戶系統(tǒng)接收到請求,每個服務器系統(tǒng)執(zhí)行請求中指定的任務,并且將任務的執(zhí)行結果發(fā)送到發(fā)起請求的終端用戶系統(tǒng)。每個服務器系統(tǒng)可以使用內部存儲(例如,存儲在服務器內的非易失性存儲器/硬盤中)的數據、外部數據(例如,數據存儲器180A-180B中維護的數據)和/或在執(zhí)行此類任務時從外部源(例如,從用戶)接收的數據。
管理員系統(tǒng)150表示便于用戶管理(創(chuàng)建、更新、刪除)由在服務器系統(tǒng)140A-140C中執(zhí)行的不同企業(yè)應用訪問的對應數據的服務器,諸如web/應用服務器。在一個實施例中,在管理員系統(tǒng)150中指定的分析框架便于用戶指定用于更新根據應用數據模型指定的對象的規(guī)則,該框架然后將這些規(guī)則轉換為適合于數據存儲器180A-180B的實現的對應指令集(例如,SQL查詢)。此類分析框架的例子是從Oracle Corporation可購得的Oracle金融服務分析應用(OFSAA),Oracle Corporation是本申請的預定受讓人。
在一種現有方法中,分析框架將每個規(guī)則轉換為對應的指令集(也就是說,指令集的數量等于規(guī)則的數量)。因此,期望的是,為給定的規(guī)則集產生最佳數量(更少)的指令集。如下面通過例子描述的,根據本公開的幾個方面擴展的管理員系統(tǒng)150促進實現被設計為更新根據應用數據模型指定的對象的規(guī)則的此類最佳指令集的產生。
3.產生實現規(guī)則的指令集
圖2是例示了根據本公開的一個方面的產生實現被設計為更新根據應用數據模型指定的對象的規(guī)則的指令集的方式的流程圖。僅作例示,針對圖1特別是管理員系統(tǒng)150來描述該流程圖。然而,如相關領域的技術人員通過閱讀在此提供的公開內容將明白的,許多特征也可以在其他環(huán)境中(并且可能使用其他類型的系統(tǒng)/服務器)實現,而不脫離本公開的幾個方面的范圍和精神。
另外,如相關領域的技術人員將明白的,所述步驟中的一些步驟可以按與下面描繪的順序不同的順序執(zhí)行,以適合特定環(huán)境。此類實現中的許多實現意在被本公開的幾個方面所涵蓋。該流程圖從步驟201開始,在步驟201中,控制立即轉到步驟210。
在步驟210中,管理員系統(tǒng)150接收被設計為更新根據應用數據模型指定的數據對象的規(guī)則。因此,每個規(guī)則包含運算符和運算數,運算數中的至少一個是數據對象或對應的屬性。規(guī)則可以通過使用終端用戶系統(tǒng)110A-110Z之一從用戶接收。
在步驟220中,管理員系統(tǒng)150形成規(guī)則的桶以使得每個桶中的規(guī)則在執(zhí)行次序上不具有相互依賴性。如果在執(zhí)行次序上,在后的規(guī)則的執(zhí)行被要求僅在在前的規(guī)則的執(zhí)行結束之后開始,則可以說存在相互依賴性。在沒有此類相互依賴性時,兩個規(guī)則都可以并行執(zhí)行。
在下面描述的實施例中,用戶指定優(yōu)先數據/排序(即,為了執(zhí)行給定規(guī)則哪些在前的規(guī)則必須完成的手動指示),但是此類或其他依賴性可以通過檢查對每個規(guī)則指定的輸入和輸出來推斷。在此類情形下,管理員系統(tǒng)150確保在前的規(guī)則不被包括在包含所述給定規(guī)則的桶中。
在步驟230中,管理員系統(tǒng)150從在步驟220形成的一個或多個桶中選擇桶。具體地說,選擇其規(guī)則尚未被處理(按照下述步驟240至270)的桶。此類未被處理的桶的選擇可以以已知的方式執(zhí)行。例如,每個桶可以與指示對應的桶是已經被處理(第一值)、還是尚未被處理(第二值)的標志相關聯。因此,管理員系統(tǒng)150可以選擇其標志被設置為第二值的桶。
在步驟240中,管理員系統(tǒng)150識別由所選擇的桶中的每個規(guī)則更新的數據對象(以及對應的屬性)。可以通過檢查由分析框架維護的元數據來確定對被更新的數據對象的識別。
在步驟250中,管理員系統(tǒng)150確定更新相同數據對象的規(guī)則子集。換句話說,桶中更新相同數據對象的規(guī)則被包括在同一個子集中。在實施例中,所確定的規(guī)則子集被發(fā)送以供顯示在(與終端用戶系統(tǒng)110A-110Z之一相關聯的)顯示單元上,同時指示每個規(guī)則子集均可以被合并(也就是說,可以產生單個指令集)。用戶被使得能夠選擇要被合并的特定子集和/或每個子集中的特定規(guī)則。假定從用戶接收到指示所有規(guī)則子集要被合并的輸入數據,繼續(xù)進行描述。
在步驟260中,管理員系統(tǒng)150為每個規(guī)則子集產生單個指令集。為子集產生的單個指令集被設計為執(zhí)行(與子集相對應的)數據對象的屬性的值的更新(由子集中的規(guī)則確定)。在實施例中,單個指令集被形成為單個SQL聲明,例如,具有用于更新的多個列的“MERGE”聲明。
在步驟270中,管理員系統(tǒng)150標記用于并行執(zhí)行的(為不同規(guī)則子集產生的)不同指令集。換句話說,如果在步驟250中形成四個規(guī)則子集,則對應的四個指令集可以被并行地執(zhí)行。
在步驟280中,管理員系統(tǒng)150檢查是否還存在要處理的桶(即,其標志被設置為第二值的桶)。在此類檢查之前,管理員系統(tǒng)150首先將與所選擇的桶相關聯的標志設置為第一值以指示所選擇的桶已經被處理。如果還有桶,則控制轉到步驟230,在步驟230中選擇新的(尚未被處理的)桶,否則轉到步驟299(在所有桶都已經被處理之后)。流程圖在步驟299中結束。
因此,通過識別給定規(guī)則集中的哪些規(guī)則可以被組合為單個指令集,可以為被設計為更新數據對象的給定規(guī)則集產生最佳的指令集。此外,通過使得用戶(諸如在高概念層次上進行操作的管理者)能夠選擇要被合并的特定規(guī)則,可以領會到規(guī)則的選擇可以基于商業(yè)/金融考慮、而非基于數據對象的底層實現來執(zhí)行。
下面通過例子來例示管理員系統(tǒng)150可以根據圖2來執(zhí)行指令集的產生的方式。
4.說明性例子
圖3A-3B和圖4A-4B共同例示了在一個實施例中產生實現被設計為更新根據應用模型指定的對象的規(guī)則的指令集的方式。下面詳細地描述這些圖中的每個圖。
圖3A例示了在一個實施例中指定用于執(zhí)行的規(guī)則的方式。作為例示,規(guī)則被示為以表格(具有行和列)的形式指定。然而,在替代性實施例中,規(guī)則可以以任何方便的方式、使用適當的用戶界面指定。標題為“SIMPLIFYING GROUPING OF DATA ITEMS STORED IN A DATABASE”的美國專利No.8856126中詳細描述了用于指定規(guī)則的用戶界面的例子。
因此,表310描繪了用戶使用終端用戶系統(tǒng)110A-110Z之一在分析框架中指定的(被設計為更新數據對象的)規(guī)則集。列311(“規(guī)則Id”)指定規(guī)則的唯一標識符(諸如R1、R2等),列312(“層級/域”)指定用作規(guī)則的輸入的對應的值集(被命名為H1、H2等),列313(“量度/范圍”)指定由規(guī)則更新的(各種數據對象的)屬性,諸如M1、M2等。
每個層級/域表示可以在數據對象的屬性中存儲的對應的潛在值集。潛在值以本領域中眾所周知的樹數據結構的形式組織。每個量度表示將被用執(zhí)行相關聯的一組計算的結果更新的對應的一個或多個屬性(數據對象中的屬性)。當數據對象被存儲在關系數據庫系統(tǒng)中時,每個層級表示可以在數據庫系統(tǒng)的列中存儲的潛在值,而每個量度表示數據庫系統(tǒng)中的(表格的)列。
表310的每行指定要用于更新企業(yè)應用的數據對象的對應規(guī)則。一般來說,每個規(guī)則為層級/域的值的組合(列312中的輸入)指定對應的計算,該計算所得的值將被存儲在量度/范圍(列313)中。例如,行318指示由名稱“R3”唯一地標識的規(guī)則為層級H4和H5中的值的各種組合指定對應的計算,該計算所得的值被更新在量度M4中。類似地,其他行指定對應規(guī)則的細節(jié)。
表格320描繪了分析框架中典型地由分析框架的開發(fā)者/管理員指定的一組量度。列321(“量度Id”)指定量度的唯一標識符(諸如M1、M2等),而列322(“對象”)和323(“屬性”)指定量度所表示的對應的數據對象和屬性。
表320的每行指定可以被分析框架中指定的規(guī)則更新的對應量度。例如,行328指示量度M4(其由行318指定的規(guī)則R3更新)對應于數據對象B1中所包含的屬性A5和A6。類似地,其他行指定分析框架中所使用的對應量度的細節(jié)。
表330描繪了被定義為分析框架中的運行定義(run definition)的一部分的一組過程。運行定義表示以(按順序次序執(zhí)行的)過程/步驟的序列的形式指定的應用過程流程。用戶可以將由分析框架提供的一個或多個組件(諸如規(guī)則)指示為運行定義中的過程。在下面的描述中,假定運行定義的各種過程僅指示規(guī)則。
因此,表330描繪了用戶使用終端用戶系統(tǒng)110A-110Z之一在分析框架中指定的一組過程步驟。列331(“過程Id”)指定過程的用于過程步驟的標識符(諸如P1、P2等)。應注意,相同的過程標識符可以在多行中重復以指示所述多行中指定的對應的過程步驟是同一個過程的一部分。列332(“規(guī)則Id”)指定要作為過程步驟被執(zhí)行的規(guī)則的標識符,列333(“優(yōu)先”)指示哪些在前的規(guī)則必須完成以便執(zhí)行對應的過程步驟中指定的規(guī)則。沒有在前的規(guī)則(由符號“-”指示)暗示規(guī)則(諸如R1、R2、R3)可以并行執(zhí)行。
表330中的每行指定過程的序列(P1、P2),每個過程被指示執(zhí)行對應的規(guī)則集。例如,過程P1(基于列331中的相同標識符P1)被指示執(zhí)行作為對應的過程步驟的規(guī)則R1、R2、R4、R6、R3、R5和R9。規(guī)則中的一些(在列333中)被示為對在前的規(guī)則具有相互依賴性,這暗示規(guī)則的執(zhí)行僅在一個或多個在前的規(guī)則的執(zhí)行完成之后才開始。例如,行338指示規(guī)則R4對規(guī)則R2具有相互依賴性以暗示規(guī)則R4的執(zhí)行僅在規(guī)則R2的執(zhí)行完成之后才可以開始。
可以領會到,上面所指出的序列和優(yōu)先實施規(guī)則之間的執(zhí)行次序。在此公開中假定,用戶對可以引起相互依賴性的各種條件進行檢查,并且指定與規(guī)則之間存在的條件相符的序列。例如,用戶可以檢查兩個規(guī)則是否更新被映射到同一數據對象中的同一屬性的量度,并且相應地指定在這兩個規(guī)則之間存在相互依賴性。在替代性實施例中,執(zhí)行次序上的此類相互依賴性可以由管理員系統(tǒng)150通過檢驗每個規(guī)則更新的各種量度來確定。
因此,用戶被使得能夠指定與根據應用數據模型指定的對象的屬性相對應的期望量度、用于更新量度(以及對應地,數據對象的屬性)的規(guī)則以及運行定義,該運行定義指定將根據期望的執(zhí)行次序執(zhí)行的規(guī)則的序列。下面通過例子描述可以由管理員系統(tǒng)150處理用戶指定的規(guī)則以產生最佳指令集的方式。
5.處理規(guī)則
圖3B例示了在一個實施例中對規(guī)則進行處理的方式。具體地說,圖3A中為過程P1指定的規(guī)則的處理在圖3B中被示出,并且在下面被更詳細地描述。
管理員系統(tǒng)150響應于接收到表330的運行定義,首先形成用于過程P1的規(guī)則的桶以使每個桶中的規(guī)則在執(zhí)行次序上不具有相互依賴性。一般來說,不具有列333的優(yōu)先數據中指示的在前的規(guī)則(由符號“-”)的規(guī)則被分組到公共桶中。具有優(yōu)先數據中指示的在前的規(guī)則的任何規(guī)則然后基于在前的規(guī)則所屬的桶被分組到其他桶中。特別地,在前的規(guī)則與被分組的所述規(guī)則不被包括在相同的桶中。
表340指定為所接收的運行定義(表330)的過程P1中的規(guī)則形成的桶集。每個桶(諸如#1、#2)被示為包含對應的規(guī)則組/集(諸如{R1,R2,R3,R9}和{R4,R5,R6})。可以注意到,桶#1由不具有優(yōu)先規(guī)則(由表330中的“-”指示)的規(guī)則形成。其他規(guī)則R4、R5和R6被示為被分組到桶#2中,因為所有的規(guī)則都具有屬于同一個桶#1的對應優(yōu)先規(guī)則。
管理員系統(tǒng)150之后可以對規(guī)則的每個桶進行處理。表350和355共同例示了對桶#1中的規(guī)則進行處理的方式,而表360和365共同例示了對桶#2中的規(guī)則進行處理的方式。下面詳細地描述對桶#1中的規(guī)則進行處理的方式。
管理員系統(tǒng)150首先識別由桶#1中的每個規(guī)則更新的數據對象(和屬性)。可以通過如下方式來執(zhí)行識別,即,首先基于表310來識別由每個規(guī)則更新的量度,之后基于表320來確定與經更新的量度相對應的特定屬性/數據對象。表350描繪了管理員系統(tǒng)150為桶#1(即,[R1,R2,R3,R9])中的規(guī)則識別的數據對象(B1和B2)以及對應的屬性(諸如A1、A2等)。
管理員系統(tǒng)150然后確定更新相同數據對象的規(guī)則子集。表355指示為桶#1確定的各種規(guī)則子集。可以觀察到,規(guī)則R1、R3和R9被示為包括在第一子集中,因為所有這些規(guī)則都更新相同的數據對象B1,而規(guī)則R2被示為包括在第二子集中,因為規(guī)則R2更新不同的數據對象B2。
管理員系統(tǒng)150然后產生用于規(guī)則{R1,R3,R9}的單個指令集以及用于規(guī)則{R2}的另一個指令集。類似地,管理員系統(tǒng)150對桶#2(即,{R4,R5,R6})中的規(guī)則進行處理(如表360和365所示那樣),并且為子集{R4,R6}和{R5}產生各自的指令集??梢杂^察到,只產生了與為過程P1確定的四個規(guī)則子集相對應的4個指令集。這與在上面指出的現有方法中將會產生的(與過程P1中的七個規(guī)則相對應的)7個指令集形成對比。
表380例示了作為運行定義的一部分將所確定的規(guī)則子集提供給用戶的方式。表380類似于表330,因此為了簡潔起見,這里不重復對共同要素的描述??梢杂^察到,每個規(guī)則子集被示為運行定義中的對應過程(P1、P2)下的子過程(諸如S11、S12、S21等)。每個子過程被示為包含被管理員系統(tǒng)150確定在子集中的各種規(guī)則。例如,子過程S11對應于管理員系統(tǒng)150為桶#1確定(如表355所示那樣)的規(guī)則子集{R1,R3,R9}。
在一個實施例中,管理員系統(tǒng)150為作為子過程的一部分而指定的各種規(guī)則產生單個指令集。因此,所確定的要被合并的規(guī)則子集被示為表380中的對應子過程。然而,在替代性實施例中,子過程可以僅用于子集的視覺表示。管理員系統(tǒng)150然后可以存儲指示屬于各種子集的規(guī)則的附加數據(例如,指示子集的編號),并且相應地基于該附加數據來產生單個的指令集。
根據本公開的一個方面,例如在與終端用戶系統(tǒng)110A-110Z之一相關聯的顯示單元(圖1中未示出)上向用戶顯示所確定的規(guī)則子集。規(guī)則子集的合并(單個指令集的產生)僅響應于指示要執(zhí)行(對應子集的)此類合并的(從用戶接收的)輸入數據而執(zhí)行。下面通過例子來描述管理員系統(tǒng)150可以顯示所確定的子集并且(使用終端用戶系統(tǒng)110A-110Z)從用戶接收輸入數據的方式。
6.顯示用于合并的規(guī)則
圖4A例示了在一個實施例中向用戶顯示被確定為適合于合并的規(guī)則子集的方式。雖然本文中的示例環(huán)境對應于銀行/金融應用,但是在此描述的特征可以應用于利用類似架構的其他環(huán)境。
顯示區(qū)域400描繪了在與終端用戶系統(tǒng)110A-110Z之一相關聯的顯示單元(圖1中未示出)上提供的用戶界面的一部分。在一個實施例中,顯示區(qū)域400對應于顯示由管理員系統(tǒng)150提供的各個網頁的瀏覽器。網頁響應于用戶使用終端用戶系統(tǒng)110A中的瀏覽器(例如,通過指定對應的URL)發(fā)送適當的請求而被提供。
特別地,顯示區(qū)域400的用戶界面便于用戶/管理者查看(和編輯)過程/運行定義的細節(jié)。顯示區(qū)域410提供過程定義的細節(jié),諸如名稱、類型、版本等。顯示區(qū)域420描繪了作為過程定義的一部分而指定的過程步驟的層級。特別地,顯示區(qū)域420指示過程包含被命名為“Non-Sec Pre-Migration RWA-EL”和“Non-Sec Pre-Migration RWA-UL”的兩個步驟。
顯示區(qū)域430指定過程定義中指定的每個過程步驟的細節(jié)。特別地,顯示區(qū)域430指示每個對象/過程步驟的唯一標識符(與顯示區(qū)域420中相同)、對象的優(yōu)先(其指示哪些在前的步驟/對象/規(guī)則要在對應步驟的執(zhí)行之前被執(zhí)行)以及對象的類型。可以觀察到,對象/過程步驟這兩者的對象類型被指示為計算規(guī)則。
可以進一步觀察到,兩個對象都被示為(通過對應復選框的選擇)被選擇指示兩個對象/規(guī)則的子集可以被合并(并且產生單個指令集)。應注意到,在替代性實施例中,任何適當的視覺突顯(諸如相同顏色、字體等的使用)可以用于指示可以被合并的特定規(guī)則子集。例如,不能被合并的所有規(guī)則都可以用共同的顏色顯示,而每個規(guī)則子集可以用對應的唯一顏色(不同于共同顏色)顯示。
因此,用戶被使得能夠通過使用顯示區(qū)域400的用戶界面指示將合并的特定子集。例如,用戶可以排除子集中的規(guī)則(通過移除對應復選框中的選擇)。另外,用戶可以(基于子集的指示/視覺突顯)觀察到,鑒于特定規(guī)則不更新由子集中的其他規(guī)則更新的公共數據對象,該特定規(guī)則不被包括在該規(guī)則子集中。用戶因此可以修改該特定規(guī)則以形成(更新公共數據對象的)經修改的規(guī)則,然后執(zhí)行子集的確定以使經修改的規(guī)則被包括在子集中(并且顯示在顯示區(qū)域430中)。
在用戶已經選擇要被合并的子集之后,用戶點擊/選擇“合并規(guī)則”鏈接/按鈕450以指示所選擇的規(guī)則子集(這里為“Non-Sec Pre-Migration RWA-EL”和“Non-Sec Pre-Migration RWA-UL”)將被合并。作為響應,管理員系統(tǒng)150創(chuàng)建與被指示要被合并的每個規(guī)則子集相對應的子過程(通過在顯示區(qū)域430中從用戶接收的輸入數據)。管理員系統(tǒng)150然后可以如下面詳細描述的那樣向用戶顯示所創(chuàng)建的子過程。
圖4B例示了在一個實施例中向用戶顯示合并規(guī)則子集的結果的方式。具體地說,圖4B描繪了響應于用戶點擊圖4A中的“合并規(guī)則”鏈接450的結果。
顯示區(qū)域470描繪了在合并對應的規(guī)則子集之后的過程步驟的層級??梢杂^察到,顯示區(qū)域470指示已經創(chuàng)建了被命名為“Merge Exe Sub Process”的新過程步驟,而前面的兩個步驟“Non-Sec Pre-Migration RWA-EL”和“Non-Sec Pre-Migration RWA-UL”被顯示在該新過程步驟之下。顯示區(qū)域480指示新過程步驟“Merge Exe Sub Process”是子過程(由類型指示)。
因此,合并規(guī)則子集的結果以過程定義的各種子過程的形式被顯示給用戶。用戶然后可以點擊/選擇“保存”按鈕490以指示包括要被合并的各種規(guī)則子集的過程定義將被保存/存儲作為過程定義的一部分。響應于執(zhí)行(圖4B的)保存的過程/運行定義,管理員系統(tǒng)150為過程步驟“Merge Exe Sub Process”產生單個指令集,并然后(與其他單個指令集并行地)執(zhí)行該單個指令集,以使得特定量度基于對應計算而被更新。
在一個實施例中,企業(yè)應用所使用的數據對象被存儲在關系數據庫服務器中。因此,每個規(guī)則如果被獨立地執(zhí)行,則被實現為針對關系數據庫服務器的對應的SQL(結構化查詢語言)命令。附錄A描繪了如果規(guī)則“Non-Sec Pre-Migration RWA-EL”被獨立地執(zhí)行則可以由管理員系統(tǒng)150產生并執(zhí)行的SQL命令。附錄B描繪了可以為規(guī)則“Non-Sec Pre-Migration RWA-UL”產生的SQL命令。單個指令集在執(zhí)行時也以針對關系數據庫服務器的單個SQL命令的形式被實現。附錄C描繪了可以作為用于經合并的規(guī)則子集/子過程“Merged Exe Sub Process”的單個指令集而產生的SQL命令。SQL命令然后被執(zhí)行,同時可能實現上面在概述部分中指出的功效中的一個或多個。
應進一步領會到,上面描述的特征可以在各種實施例中被實現為硬件、可執(zhí)行模塊和固件中的一個或多個的期望組合。關于當可執(zhí)行模塊中的指令被執(zhí)行時各種特征可操作的實施例,繼續(xù)進行描述。
7.數字處理系統(tǒng)
圖5是例示了其中本公開的幾個方面通過執(zhí)行適當的軟件指令而操作的數字處理系統(tǒng)500的細節(jié)的框圖。數字處理系統(tǒng)500對應于管理員系統(tǒng)150。
數字處理系統(tǒng)500可以包含一個或多個處理器(諸如中央處理單元(CPU)510)、隨機存取存儲器(RAM)520、二級存儲器530、圖形控制器560、顯示單元570、網絡接口580以及輸入接口590。除顯示單元570外的所有組件都可以通過通信路徑550相互通信,通信路徑550可以包含相關領域中眾所周知的若干總線。下面更詳細地描述圖5的組件。
CPU 510可以執(zhí)行在RAM 520中存儲的指令以提供本公開的幾個特征。CPU 510可以包含多個處理單元,每個處理單元可能被設計用于特定任務??商娲兀珻PU 510可以僅包含單個通用處理單元。RAM 520可以使用通信路徑550從二級存儲器530檢索指令。
RAM 520被示為當前包含構成共享環(huán)境525和/或用戶程序526(諸如金融應用、分析框架等)的軟件指令。共享環(huán)境525包含用戶程序共享的實用程序,并且此類共享實用程序包括提供用于執(zhí)行用戶程序526的(公共)運行時環(huán)境的操作系統(tǒng)、設備驅動器、虛擬機、流程引擎等。
圖形控制器560基于從CPU 510接收的數據/指令來產生給顯示單元570的顯示信號(例如,RGB格式的顯示信號)。顯示單元570包含用于顯示由顯示信號定義的圖像(諸如圖4A-4B的用戶界面的部分)的顯示屏幕。輸入接口590可以對應于可用于提供各種輸入(諸如在圖4A-4B的用戶界面中指定期望的輸入等)的鍵盤和定點裝置(例如,觸控板、鼠標)。網絡接口580提供與網絡的連接(例如,通過使用互聯網協(xié)議),并且可以用于與其他連接的系統(tǒng)(諸如服務器系統(tǒng)130A-130C、數據存儲器180A-180B)通信。
二級存儲器530可以包含硬盤驅動器535、閃存536以及可移動存儲驅動器537。二級存儲器530表示可以存儲數據(例如,圖3A-3B所示的數據的部分)和軟件指令(例如,用于執(zhí)行圖2的步驟的軟件指令)以使得數字處理系統(tǒng)500能夠提供根據本公開的幾個特征的非暫時性介質。二級存儲器530中存儲的代碼/指令要么可以在被CPU510執(zhí)行之前被拷貝到RAM 520以使執(zhí)行速度更高,要么可以直接被CPU 510執(zhí)行。
二級存儲器530可以包含硬盤驅動器535、閃存536以及可移動存儲驅動器537。數據和指令中的一些或全部可以被提供在可移動存儲單元540上,并且數據和指令可以被可移動存儲驅動器537讀取并且提供給CPU 510。可移動存儲單元540可以使用與可移動存儲驅動器537兼容的介質和存儲格式來實現,以使得可移動存儲驅動器537可以讀取數據和指令。因此,可移動存儲單元540包括存儲有計算機軟件和/或數據的計算機可讀(存儲)介質。然而,該計算機(或一般地,機器)可讀介質可以為其他形式(例如,不可移動、隨機存取等)。
在本文件中,術語“計算機程序產品”一般用來指可移動存儲單元540或安裝在硬盤驅動器535中的硬盤。這些計算機程序產品是用于向數字處理系統(tǒng)500提供軟件的裝置。CPU 510可以檢索軟件指令,并且執(zhí)行指令以提供上面描述的本公開的各種特征。
在此所使用的術語“存儲介質”是指存儲使機器以特定方式操作的數據和/或指令的任何非暫時性介質。此類存儲介質可以包括非易失性介質和/或易失性介質。非易失性介質包括例如光盤、磁盤或固態(tài)驅動器,諸如存儲存儲器530。易失性介質包括動態(tài)存儲器,諸如RAM520。常見形式的存儲介質包括例如軟盤、柔性盤、硬盤、固態(tài)驅動器、磁帶或任何其他磁性數據存儲介質、CD-ROM、任何其他光學數據存儲介質、具有孔圖案的任何物理介質、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存儲器芯片或盒。
存儲介質不同于傳輸介質,但是可以與傳輸介質結合使用。傳輸介質參與在存儲介質之間傳送信息。例如,傳輸介質包括同軸電纜、銅線和光纖,包括構成總線550的導線。傳輸介質還可以采取聲波或光波的形式,諸如無線電波和紅外數據通信期間產生的那些。
貫穿本說明書,所引用的“一個實施例”、“實施例”或類似語言意味著與該實施例相關聯地描述的特定的特征、結構或特性被包括在本公開的至少一個實施例中。因此,貫穿本說明書,短語“在一個實施例中”、“在實施例中”和類似語言的出現可以全都指同一個實施例,但不一定是全都指同一個實施例。
此外,本公開所描述的特征、結構或特性可以在一個或多個實施例中以任何合適的方式組合。在上面的描述中,為了提供對本公開的實施例的透徹理解,提供了許多具體的細節(jié),諸如編程的示例、軟件模塊、用戶選擇、網絡事務、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等。
8.結論
雖然上面已經描述了本公開的各種實施例,但是應理解,它們僅僅是作為例子呈現的,而非限制。因此,本公開的廣度和范圍不應受上述任一示例性實施例的限制,而是應僅根據權利要求及其等同來限定。
應理解,在附件中例示的突出本公開的功能和優(yōu)點的附圖和/或抓屏僅是出于舉例的目的呈現的。本公開是足夠靈活的且可配置的,使得它可以以除附圖所示的方式之外的方式利用。
此外,摘要的目的使得專利局和公眾、尤其是本領域中不熟悉專利或法律用語或措辭的科學家、工程師和從業(yè)者能夠快速地通過粗略的審視來確定本申請的技術公開內容的性質和本質。摘要不意在以任何方式限制本公開的范圍。
附錄A
為Non-Sec Pre-Migration RWA-EL產生的SQL
附錄B
為Non-Sec Pre-Migration RWA-UL產生的SQL
附錄C
為Merged Exe Sub Process產生的SQL