專利名稱:用于web應(yīng)用的多列多數(shù)據(jù)類型的國際化排序擴(kuò)展方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及數(shù)據(jù)庫排序方法和系統(tǒng),并且具體涉及用于Web應(yīng)用的多列、多數(shù)據(jù)類型的國際化排序擴(kuò)展方法。
背景技術(shù):
對于計(jì)算機(jī)操作的最基本的任務(wù)之一可能就是排序,排序是指以期望的順序?qū)︻愃菩畔⒌募线M(jìn)行管理。在幾乎所有數(shù)據(jù)庫程序中都使用排序例程的同時(shí),排序例程還被廣泛地用在許多其它領(lǐng)域中。通常的例子包括編譯器、解釋器和操作系統(tǒng)軟件。在許多例子中,所述軟件的質(zhì)量和性能是通過其排序技術(shù)的效率來判斷的。由于排序方法在計(jì)算機(jī)和其它數(shù)據(jù)處理系統(tǒng)的操作中具有如此重要的作用,因此,已經(jīng)開始注重尋求方式以改進(jìn)現(xiàn)有的系統(tǒng)和方法。
從歷史上來說,對信息進(jìn)行排序的技術(shù)大體上分為三種方法交換、選擇和插入。為了通過交換來進(jìn)行排序,系統(tǒng)互換或“交換”次序顛倒的信息,直到所有數(shù)據(jù)成員被排列。一種已知的交換排序的例子是“冒泡排序”,其進(jìn)行重復(fù)的比較以及伴隨著的臨近成員的交換。冒泡排序的效率取決于可能比較的數(shù)目(所述數(shù)目隨著將被排序的元素的數(shù)目的增加而增加),以及排序所需的交換的數(shù)目(待被排序的列表越混亂,所述數(shù)目越大)。最終的結(jié)果是執(zhí)行時(shí)間逼近于元素?cái)?shù)量的多次方,這使得冒泡排序不能用于大型的排序。
通過選擇排序,系統(tǒng)連續(xù)地從可能值的一個極值(例如,最小值成員)中挑選或“選擇”數(shù)據(jù)成員,直到所有成員都已經(jīng)被選擇。由于系統(tǒng)總是從所述剩余的成員中選擇最小值成員,因此,當(dāng)完成處理時(shí),所述集合會按照從最小值成員到最大值成員的順序而被排列。如同冒泡排序的情況那樣,對于處理大量的項(xiàng)來說,選擇排序也太慢。
在通過插入的排序中,系統(tǒng)檢查數(shù)據(jù)成員,并且將所述成員放置或插入到新的成員集合中,總是將每個成員插入到其正確的位置上。一旦最后的成員被插入,所述排序就完成了。與其它兩種排序技術(shù)不同,通過所述技術(shù)所發(fā)生的比較的數(shù)目取決于列表的最初順序。更具體地來說,所述技術(shù)擁有“自然的”行為;即,當(dāng)列表是已經(jīng)被排序的時(shí)候,其工作最少,反之亦然,這樣使得所述技術(shù)對于幾乎按順序的列表來說是有用的。同樣地,所述技術(shù)不打亂相同關(guān)鍵字的順序。如果使用兩個關(guān)鍵字對列表進(jìn)行排序,則在插入排序之后,所述列表將對兩個關(guān)鍵字而保持被排序。
對于任何排序方法的特別考慮是其速度(即,特定的排序完成其任務(wù)有多快)。數(shù)據(jù)成員的數(shù)組可被排序的速度直接與比較的數(shù)目和必需進(jìn)行的交換的數(shù)目有關(guān)。與速度特征有關(guān)的是“最佳情況”和“最壞情況”情景的概念。例如,假如是平均的數(shù)據(jù)集合的情況下,排序可以具有很好的速度,而假如是非?;靵y的數(shù)據(jù)的情況下,排序就具有不可接受的速度。
一種用于減少由交換全部記錄所引起的影響的技術(shù)是采用這樣的方法,所述方法通常使用索引數(shù)組直接對文件進(jìn)行操作,并且之后進(jìn)行重新安排。以這種方式,上述排序方法中的任何一個都可能是適合的,這樣只執(zhí)行n個完全記錄的交換。一個特定的方法是操作對記錄的索引,僅為比較而訪問原始的數(shù)組。換言之,與到處移動大量記錄的成本的產(chǎn)生相比,對記錄的索引進(jìn)行排序效率更高。
由于上面所有簡單的排序技術(shù)都以n2次來執(zhí)行,因此,就對具有大量記錄的文件進(jìn)行排序而言,其效用是有限的。換言之,隨著待被排序的數(shù)據(jù)數(shù)量的增加,所述技術(shù)的執(zhí)行速度以指數(shù)級變慢,并且就某些點(diǎn)來說,慢得不能夠使用。因此,在對用于排序信息的改進(jìn)的技術(shù)進(jìn)行開發(fā)的方面已經(jīng)引起了很大關(guān)注。最知名的改進(jìn)的排序技術(shù)中的一種被稱為“快速排序(Quicksort)”,其于1960年被發(fā)明?!翱焖倥判颉钡钠占昂艽蟛糠质怯捎谄湟子趯?shí)現(xiàn)以及對各種情況的通用性。基于交換排序的概念,其增加了“分區(qū)”的額外特征。
通過快速排序,值或“比較字”被選擇用于將所述數(shù)組分區(qū)為兩部分。具有大于或等于分區(qū)值的元素被存儲在一邊,而具有小于分區(qū)值的元素被存儲在另一邊。對于每個剩余部分重復(fù)所述過程,直到所述數(shù)組被排序,因此,所述過程本質(zhì)上是遞歸的。在另一方面,例如快速排序的遞歸技術(shù)通常需要保留大量的基于堆棧的存儲器。另外,對長公共子串特別敏感的所述技術(shù)呈現(xiàn)出非線性特性。
雖然現(xiàn)在可以獲得許多種排序技術(shù),但是,許多現(xiàn)有的基于web的應(yīng)用依賴于后端系統(tǒng)來執(zhí)行實(shí)際的排序操作。盡管所述排序操作可以包括多列的排序、多數(shù)據(jù)類型的排序、以及甚至通過國家地點(diǎn)(national locale)的排序,但是,現(xiàn)在還沒有方便的方式來執(zhí)行前端、多列排序、多數(shù)據(jù)類型排序和/或基于用戶特征(即,通過地點(diǎn))的排序。
發(fā)明內(nèi)容
通過用于實(shí)現(xiàn)基于web的、前端用戶的請求的方法,前面所討論的現(xiàn)有技術(shù)的缺點(diǎn)和缺陷被克服或減弱。在示例性實(shí)施例中,所述方法包括從前端用戶接收列表請求,以及接收與所述列表請求相關(guān)的用戶特征。對應(yīng)于所述列表請求的數(shù)據(jù)是從數(shù)據(jù)存儲媒體中所檢索的,并且所檢索的數(shù)據(jù)根據(jù)所述用戶特征而被配置。所配置的數(shù)據(jù)根據(jù)所述用戶特征而被返回給所述前端用戶。
在另一個實(shí)施例中,用于實(shí)現(xiàn)基于web的、前端用戶的請求的系統(tǒng)包括服務(wù)器,所述服務(wù)器被配置成能從前端設(shè)備接收列表請求,并且能接收與所述列表請求相關(guān)聯(lián)的用戶特征。所述服務(wù)器還包括處理裝置,所述處理裝置用于從數(shù)據(jù)存儲媒體中檢索對應(yīng)于所述列表請求的數(shù)據(jù),根據(jù)所述用戶特征來配置所檢索的數(shù)據(jù),以及根據(jù)所述用戶特征而將所配置的數(shù)據(jù)返回給所述前端設(shè)備。
參考示例性的附圖,其中在所述幾幅圖中,相同元素被相同地編號圖1是根據(jù)本發(fā)明的實(shí)施例來說明用于執(zhí)行靈活的前端排序操作的方法的框圖;圖2是用于圖1所描述的主排序條目對象列表的示例性結(jié)構(gòu);圖3(a)到3(e)是說明使用圖1的方法的示例性多列排序操作的數(shù)據(jù)表格;以及圖4是說明計(jì)算機(jī)化系統(tǒng)的示意圖,所述計(jì)算機(jī)化系統(tǒng)被配置成能基于用戶特征來提供對用戶請求操作的響應(yīng)。
具體實(shí)施例方式
這里公開的系統(tǒng)和方法用于執(zhí)行靈活的前端多列和/或多數(shù)據(jù)類型的排序,而無需重新訪問源數(shù)據(jù)庫本身。簡要地來說,提供了這樣的應(yīng)用(例如web應(yīng)用),所述應(yīng)用具有前端功能,用于支持多列和/或多數(shù)據(jù)類型的排序,以滿足用戶的特征,例如國際核對(international collation),所述排序不依賴于數(shù)據(jù)庫的排序。因此,例如,位于法國的國際用戶可以查看從美國的數(shù)據(jù)庫中所檢索的多列列表,即使所述數(shù)據(jù)庫本身提供根據(jù)英語代碼頁的排序信息,所述列表仍然根據(jù)法語代碼頁而進(jìn)行排序。
首先參考圖1,圖中顯示了根據(jù)本發(fā)明的實(shí)施例來說明用于執(zhí)行靈活的前端排序操作的方法的框圖100。從塊102開始,列表請求被接收(例如,從用戶或其它前端應(yīng)用中)。正如塊104所描述的那樣,所述方法首先分解所述請求列表,而不是簡單地使用由可應(yīng)用的存儲媒體所提供的任何排序方法,從所述可應(yīng)用的存儲媒體(例如數(shù)據(jù)庫)中檢索所請求的信息。
如下文將詳細(xì)描述的那樣,基于所述請求的內(nèi)容(例如,用戶特征、排序方向、數(shù)據(jù)類型列表等),排序條目對象從所述存儲媒體數(shù)據(jù)中被構(gòu)建。實(shí)際上,首先根據(jù)所述請求的細(xì)節(jié),以考慮到靈活的數(shù)據(jù)排序的方式,而檢索和“準(zhǔn)備”所述存儲媒體數(shù)據(jù)。因此,如塊106所示,來自于所構(gòu)建的排序條目對象的數(shù)據(jù)被排序。用于所述排序的排序例程將取決于所述數(shù)據(jù)類型、所述數(shù)據(jù)是否是來自于多列的、以及所述初始列表請求是否包括用戶特征。最后,如塊10所示,一旦排序完成,所述列表請求就被重建,并且以所請求的格式而被返回給所述請求實(shí)體。
再次參考圖1的塊104,將會看到,所述請求可以包括以下信息,例如塊110所示的用戶特征(例如,語言代碼、國家代碼);塊112所示的從列到列進(jìn)行變化的排序方向列表(例如,升序、降序);以及,塊114所示的從列到列進(jìn)行變化的數(shù)據(jù)類型列表。然后,如塊116所示,每個所請求的行的列表從所述數(shù)據(jù)存儲媒體中被檢索,并且,如塊118所示,所述列表被用于構(gòu)建所述排序?qū)嶓w對象。
所述排序條目對象的構(gòu)建是一個重復(fù)性的過程,當(dāng)用于“所有行的”列表中的每一行的所述對象被完成時(shí),所述過程完成。因此,如塊120所示,對于每一行,產(chǎn)生了列值的列表(如果適用,則包括每行的數(shù)據(jù)類型)。然后,所述行和列值的列表被存儲在排序條目對象中,如圖122所示。假設(shè)有多個行,則就將會有相應(yīng)數(shù)量的排序條目對象(具有一個或多個與之相關(guān)聯(lián)的列值)。因此,如塊124所示,當(dāng)行和列值列表被用于形成所完成的排序條目對象時(shí),所完成的排序條目對象本身被存儲在主排序列表中。一旦為每一行都完成了排序條目對象,所述過程就退出并返回到塊104,標(biāo)志著所述用戶/前端應(yīng)用請求的分解被完成。在圖2中說明了用于主排序列表的示例性結(jié)構(gòu)。如所示的那樣,所述主排序列表200對于來自于初始列表請求的每一行204都包括一個單獨(dú)的排序條目對象202。接著,每個排序條目對象202都包括每行的列值206的列表,以及在適用的情況下,包括與之相關(guān)聯(lián)的數(shù)據(jù)類型。
下面列出的是示例性的XML請求對象,用于使用CCT400表示層的etcML框架來構(gòu)建排序?qū)ο髉ublic Sort createSort(){Sort sort=etcML.createSort();SortOrder sortOrder=etcML.createSortOrder();Value value=etcML.createValue();value.setValue(″AuditTrail.id″);sortOrder.setOperator(SQLGroupByOperatorType.ASC);sortOrder.setValue(value);sort.getSortOrder().add(sortOrder);// ***********************************SortOrder sortOrder2=etcML.createSortOrder();Value value2=etcML.createValue();value2.setValue(″AuditTrail.modifyDateTime″);sortOrder2.setOperator(SQLGroupByOperatorType.ASC);sortOrder2.setValue(value2);sort.getSortOrder().add(sortOrder2);// ***********************************SortOrder sortOrder3=etcML.createSortOrder();Value value3=etcML.createValue();value3.setValue(″AuditTrail.columnName″);sortOrder3.setOperator(SQLGroupByOperatorType.DESC);sortOrder3.setValue(value3);sort.getSortOraer().add(sortOrder3);return sort;}第一個排序列條目將被認(rèn)定為是主排序列。SortOrder對象中的所有其它列都被認(rèn)定為是從屬排序,所述從屬排序被用于中斷所述主列中的聯(lián)系(tie)(例如,比較匹配)。如果沒有要被中斷的聯(lián)系,則所述從屬列可能不會被用在所有實(shí)例中。
示例的XML請求<?xml version=″1.0″encoding=″UTF-8″?>
<esmesmML xmlnsxsi=″http//www.w3.org/2001/XMLSchema-instance″xmlnsesm=″http//www.ibm.com/esm″xmlnsetcML=″http//www.ibm.com/vl/et cML″ID=″1″><Transactions><Request xsitype=″esmObjectRequestType″countryCode=″US″languageCode=″en″timeZone=″″esmagentID=″EXAV″esmuserTrace=″false″>
<SystemID>eESM630</SystemID>
<TransactionType>list</TransactionType>
<Parameters xsitype=″esmParameterType″>
<etcMLRequestedFields>
<RequestedField>AuditTrail.Agent.id</RequestedField>
<RequestedField>AuditTrail.columnName</RequestedField>
<RequestedField>AuditTrail.modifyDateTime</ReguestedField>
</etcMLRequestedFields>
<etcMLStartRow>1</etcMLStartRow>
<etcMLDisplayRowCount>0</etcMLDisplayRowCount>
</Parameters>
<etcMLFilters operator=″AND″>
<etcMLFilter key=″AuditTrail.Agent.id″operator=″Like″>
<etcMLValue>B%</etcMLValue>
</etcMLFilter>
</etcMLFilters><etcMLSort><etcMLSortOrder operator=″Ascending″>
<etcMLValue>AuditTrail.columnName</etcMLValue></etcMLSortOrder><etcMLSortOrder operator=″Ascending″><etcMLValue>AuditTrail.modifyDateTime</etcMLValue></etcMLSortOrder><etcMLSortOrder operator=″Descending″>
<etcMLValue>AuditTrail.Agent.id</etcMLValue></etcMLSortOrder></etcMLSort>
<esmTransactionTarget>AuditTrail</esmTransactionTarget></Request></Transactions></esmesmML>
再次參考圖1,Sort List例程(塊106)負(fù)責(zé)多列排序的執(zhí)行和準(zhǔn)確性。在示例性實(shí)施例中,下面的分類函數(shù)由快速排序算法所激勵(power)。然而,與傳統(tǒng)的快速排序算法不同,本方法的排序算法被編寫以處理SortEntry對象(即,多列排序)的ArrayList(主列表),以及能夠使用多數(shù)據(jù)類型。
如塊126所示,所述排序序列開始于在第一列被排序的ArrayList。同時(shí),數(shù)據(jù)類型標(biāo)志可以與用戶特征信息一起出現(xiàn)。如果有多于一個的排序列,則ArrayList將通過從合適的列索引上開始而進(jìn)入多列序列。如塊128所示,所述支持例程的比較函數(shù)取決于數(shù)據(jù)類型標(biāo)志、出現(xiàn)的任何用戶特征信息以及索引。然后,從索引0到ArrayList的數(shù)量而建立循環(huán)。如塊130所示,整個ArrayList被發(fā)送到函數(shù),以尋找在第一列1中所發(fā)現(xiàn)的重復(fù)的行的第一子集。一旦所述子集被識別,所述第一識別的子集的下一列將會被用作仲裁器(tiebreaker)用于對行進(jìn)行匹配,并且會被相應(yīng)地排序。注意,如果從所述第一列中沒有發(fā)現(xiàn)子集,則沒有必要在列1之后繼續(xù)排序,并且所述排序過程立即退出,正如判決塊132所反映的那樣。
另一方面,如果所識別的子集大于2,并且有多個列要排序,則另一個排序循環(huán)被初始化以比較來自于所述子集的子集的條目。一旦最后的子集索引與所述排序列表的長度相匹配(即,到達(dá)外部主排序循環(huán)的數(shù)量),所述子排序循環(huán)就被退出,如判決塊134所反映的那樣。直到此時(shí),所述排序例程繼續(xù)到塊136,以便根據(jù)可獲得的任何數(shù)據(jù)類型標(biāo)志和用戶特征信息,以及根據(jù)當(dāng)前列的索引,對當(dāng)前子集進(jìn)行排序。如同通過第一列的主排序例程那樣,所述子集排序例程比較操作是靈活的,其取決于所述數(shù)據(jù)類型標(biāo)志、所出現(xiàn)的任何用戶特征信息以及索引,如塊138所示的那樣。而且,如塊140所示,本方法在子集內(nèi)繼續(xù)查找子集,并且如果有其它子集(判決塊142),則新的索引被接收(塊144),并且重復(fù)所述排序子集例程。否則,如塊136所示,所述例程返回所述父子集。最后,主排序列表中的所有子集都被排序,并且全部排序子例程都被退出。然后,所述列表請求按照以前所指示的那樣被重建,并且以所請求的方式被返回給請求者。
圖3(a)到3(e)說明了上述的示例性排序操作,其中,主列表數(shù)據(jù)內(nèi)的子集被發(fā)現(xiàn)并且多列排序被執(zhí)行。在所說明的例子中,數(shù)據(jù)被組織成三列,前兩列以升序而被排序,第三列以降序而被排序,所述數(shù)據(jù)是最初從存儲媒體(例如數(shù)據(jù)庫、緩存等)所接收的/被存儲在存儲媒體(例如數(shù)據(jù)庫、緩存等)中的。然而,新的前端請求要求第一列數(shù)據(jù)以升序順序被展現(xiàn),而第二和第三列以降序被排序。
在高速緩存中所存儲的數(shù)據(jù)新請求要求Col 1-ASC Col 1-ASCCol 2-ASC Col 2-DSCCol 3-DSC Col 3-DSC圖3(a)概述了最初所排序/出現(xiàn)的數(shù)據(jù)。由于第一列已經(jīng)以升序而被排序,因此,最初的排序會導(dǎo)致不需要交換任何行條目。然后,所述例程繼續(xù)在列1中查找子集。正如圖3(a)可以看出的那樣,由于前三行都具有數(shù)據(jù)值“1”存儲在其列1中,因此,直接的子集被發(fā)現(xiàn)。因此,排序子集例程被啟動,其中還根據(jù)列2的值對第一個子集進(jìn)行排序。由于列2將以降序被排序,因此,如圖3(b)所反映的那樣,比較函數(shù)使得行3和行1進(jìn)行交換。當(dāng)完成所述第一列1子集的列2的排序時(shí),所述例程于是將尋找列2中的另外的子集。由于有另外的子集(列2,行2-3),因此,為列3啟動另外的排序子集例程。同時(shí),由于新請求要求列3以降序被排序,因此,將會看到,行2將需要與行3進(jìn)行交換。圖3(c)示出了所述交換。
在行2和行3的交換之后,所述例程識別出已經(jīng)到達(dá)第一個排序子集例程的結(jié)尾,因此,所述例程會返回到列1,以查看在行3之后是否還有任何其它的子集。在所說明的例子中,在列1實(shí)際上還有其它子集,即行4到行6,其中數(shù)據(jù)值“2”出現(xiàn)在每一行中。再一次,新的子集排序操作開始于列2,其最終導(dǎo)致行6和行4進(jìn)行交換。所述交換在圖3(d)中被示出。而且,由于現(xiàn)在在列2中有另外的子集(行5和6),因此,有列3的子集排序操作。然而,在這個實(shí)例中,列3的子集排序操作將不會導(dǎo)致其它的行交換。
最后,如圖3(e)所示,所述例程查看在列1中是否還余有任何剩余的子集,并且發(fā)現(xiàn)行7和8中的另外的子集。列2行7-8的結(jié)果的子集排序不導(dǎo)致行交換。然而,在列2中有最后的子集,因此,進(jìn)行列3的子集排序。列3行7-8的子集排序也不導(dǎo)致行交換。由于現(xiàn)在已經(jīng)到達(dá)排序列表的長度,因此,這個例子中的全部排序例程現(xiàn)在被完成。之后,新排序的ArrayList被用于構(gòu)建完全響應(yīng)對象,以發(fā)送回所述調(diào)用類。構(gòu)造函數(shù)首先創(chuàng)建空的ObjectResponseType,并且用原始響應(yīng)的RowSetType信息來填充其。信息包括startRow、fetchCount、displayRowCount、maxRowCount,并且totalCount在進(jìn)入新響應(yīng)對象時(shí)可以被加載。
如前面所示,如果最初的列表請求帶有用戶特征信息,那么所述高速緩存/數(shù)據(jù)庫(多列和/或多數(shù)據(jù)類型信息)的排序可以是基于xml頭中所發(fā)現(xiàn)的請求的地點(diǎn)的。否則,如果沒有提供地點(diǎn),則所述地點(diǎn)默認(rèn)為是英國的(enUS)。所述用戶特征信息的優(yōu)點(diǎn)是以英語核對序列所排序的來自于美國的數(shù)據(jù)可以通過本方法而被重排序,以適合另一個地點(diǎn)的核對規(guī)則。例如,通過法語的字母表,與字符相關(guān)的音調(diào)可以影響其排序。
下面的列表根據(jù)英語核對序列而被排序,其可能是這樣的情況,其中由用戶從基于美國的數(shù)據(jù)庫或高速緩存中檢索所述列表cotecotéctecté另一方面,如果所述前端用戶已經(jīng)請求將所述記錄根據(jù)法語核對序列來排序,則正確的排序?qū)⑹莄otectecotécté由于不能根據(jù)傳統(tǒng)的數(shù)據(jù)庫請求來指定所述核對序列,因此,這是一項(xiàng)不需要的限制。因此,通過使用列表請求中的用戶特征信息,所構(gòu)建的分類條目對象將包括地點(diǎn)信息,所述地點(diǎn)信息接著由所述排序例程中的所修改的比較函數(shù)所使用。
圖4是說明計(jì)算機(jī)化的系統(tǒng)400的示意圖,其中對用戶所請求的操作的響應(yīng)是基于用戶特征(例如,語言編碼和國家編碼)的。更具體地來說,用戶通過計(jì)算機(jī)設(shè)備402提交列表請求,所述計(jì)算機(jī)設(shè)備包括通過網(wǎng)絡(luò)406(例如因特網(wǎng))的瀏覽器404。服務(wù)器408(例如,web服務(wù)器、應(yīng)用服務(wù)器等)從瀏覽器404接收列表請求,以及用戶特征。在所說明的例子中,所述用戶特征包括語言代碼=es(西班牙語)和國家編碼=ES(西班牙)。然后,服務(wù)器408從存儲實(shí)體中,例如作為美國,英語所安裝的數(shù)據(jù)庫410中,檢索所請求的數(shù)據(jù)集合。使用上述示例性的列表請求,從數(shù)據(jù)庫410中所檢索接收的列表412根據(jù)英語代碼而被排序。然而,如果用戶特征與所述數(shù)據(jù)庫地點(diǎn)/代碼不同,則所檢索的列表在服務(wù)器級別上(根據(jù)用戶特征)進(jìn)行重排序,然后,所重排序的列表414被返回給所述瀏覽器。
應(yīng)當(dāng)知道,系統(tǒng)400的應(yīng)用不限于特定的分類請求本身,而是可同樣地應(yīng)用于其它用戶請求(例如,查詢)的,其中所述請求的結(jié)果將會根據(jù)所述用戶的地點(diǎn)而進(jìn)行改變。這樣,所請求的數(shù)據(jù)的重新配置不僅對所述用戶是透明的,而且通過在最初檢索所述列表時(shí)避免重新訪問相應(yīng)的數(shù)據(jù)存儲媒體,從而以更有效的方式接收所述重新配置。
最后,下面示出了使用上述方法用于具有35個可排序的列的所請求的數(shù)據(jù)的樣本輸出的例子。
例子使用35個可排序的列的排序擴(kuò)展的樣本輸出數(shù)字指示行號Entry in SortHelperinit()Subset?。。?!Start Val=0 Column Index=0 For Loop Max=500=?。。?!Reset Start index to=0Subset!?。。?!Start Val=1 Column Index=0 For Loop Max=501=?。。。。eset Start index to=1Subset?。。。。?!Start Val=2 Column Index=0 For Loop Max=502=?。。。。?!Reset Start index to=2Subset???Start Val=3 Column Index=0 For Loop Max=503=???Reset Start index to=3Subset??????Start Val=4 Column Index=0 For Loop Max=504=??????Reset Start index to=4Subset???????????????????????????????????????????????????????????????????????????????Start Val=5 Column Index=0 For Loop Max=505=???????????????????????????????????????????????????????????????????????????????6=???????????????????????????????????????????????????????????????????????????????7=???????????????????????????????????????????????????????????????????????????????8=???????????????????????????????????????????????????????????????????????????????9=???????????????????????????????????????????????????????????????????????????????Sorting Children in ascending fashionSubset1 Start Val=5 Column Index=1 For Loop Max=55=16=17=1Sorting Children in ascending fashionSubsetStart Val=5 Column Index=2 For Loop Max=35=6=7=Sorting Children in ascending fashionSubset0 Start Val=5 Column Index=3 For Loop Max=35=06=07=0Sorting Children in ascending fashionSubsetCOMMUNICATIONS Start Val=5 Column Index=4 ForLoop Max=35=COMMUNICATIONS6=COMMUNICATIONS7=COMMUNICATIONSSorting Children in ascending fashionSubset1 Start Val=5 Column Index=5 For Loop Max=35=16=17=1Sorting Children in ascending fashionSubset1 Start Val=5 Column Index=6 For Loop Max=35=16=17=1Sorting Children in ascending fashionSubsetTestSystem 1 Start Val=5 Column Index=7 ForLoop Max=35=TestSystem 16=TestSystem 17=TestSystem 1Sorting Children in ascending fashionSubsetTestItemla.a Start Val=5 Column Index=8 ForLoop Max=35=TestItemla.a6=TestItemla.a7=TestItemla.aSorting Children in ascending fashionSubsetTestModulla.a.aStart Val=5 Column Index=9 ForLoop Max=35=TestModulla.a.a6=TestModulla.a.a7=TestModulla.a.aSorting Children in ascending fashionSubsetStart Val=5 Column Index=10 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=11 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=12 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=13 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=14 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=15 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetGROUP A OWNStart Val=5 Column Index=16 ForLoop Max=35=GROUP A OWN6=GROUP A OWN7=GROUP A OWNSorting Children in ascending fashionSubsetStart Val=5 Column Index=17 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=18 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=19 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=20 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=21 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetUSERA3 Start Val=5 Column Index=22 ForLoop Max=35=USERA36=USERA37=USERA3Sorting Children in ascending fashionSubsetA3 Start Val=5 Column Index=23 For Loop Max=35=A36=A37=A3Sorting Children in ascending fashionSubsetPerson Start Val=5 Column Index=24 For Loop Max=35=Person6=Person7=PersonSorting Children in ascending fashionSubsetStart Val=5 Column Index=25 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetGROUP A OWNStart Val=5 Column Index=26 ForLoop Max=35=GROUP A OWN6=GROUP A OWN7=GROUP A OWNSorting Children in ascending fashionSubsetStart Val=5 Column Index=27 For Loop Max=35=6=7=Sorting Children in ascending fashionSubset Start Val=5 Column Index=28 ForLoop Max=35=6=7=Sorting Children in ascending fashionSubset Start Val=5 Column Index=29 ForLoop Max=35=6=7=Sorting Children in ascending fashionSubsetJTeam 10 Start Val=5 Column Index=30 ForLoop Max=35=JTeam 106=JTeam 107=JTeam 10Sorting Children in ascending fashionSubsetStart Val=5 Column Index=31 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=32 For Loop Max=35=6=7=Sorting Children in ascending fashionSubsetStart Val=5 Column Index=33 For Loop Max=35=6=7=Sorting Children in ascending fashionSubset2 Start Val=8 Column Index=1 For Loop Max=58=29=2Sorting Children in ascending fashionSubsetStart Val=8 Column Index=2 For Loop Max=28=9=Sorting Children in ascending fashionSubset0 Start Val=8 Column Index=3 For Loop Max=28=09=0Sorting Children in ascending fashionSubsetCOMMUNICATIONS Start Val=8 Column Index=4 ForLoop Max=28=COMMUNICATIONS9=COMMUNICATIONSSorting Children in ascending fashionSubset1 Start Val=8 Column Index=5 For Loop Max=28=19=1Sorting Children in ascending fashionSubset1 Start Val=8 Column Index=6 For Loop Max=28=19=1Sorting Children in ascending fashionSubsetTestSystem 1 Start Val=8 Column Index=7 ForLoop Max=28=TestSystem 19=TestSystem 1Sorting Children in ascending fashionSubsetTestItemla.a Start Val=8 Column Index=8 ForLoop Max=28=TestItemla.a9=TestItemla.aSorting Children in ascending fashionSubsetTestModulla.a.aStart Val=8 Column Index=9 ForLoop Max=28=TestModulla.a.a9=TestModulla.a.aSorting Children in ascending fashionSubsetStart Val=8 Column Index=10 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=11 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=12 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=13 For Loop Max=28=9=Sorting Children in ascending fashionSubsetSUPPORTS_ALL Start Val=8 Column Index=14 ForLoop Max=28=SUPPORTS_ALL9=SUPPORTS_ALLSorting Children in ascending fashionSubsetEXAV Start Val=8 Column Index=15 ForLoop Max=28=EXAV9=EXAVSorting Children in ascending fashionSubsetGROUP A OWN Start Val=8 Column Index=16 ForLoop Max=28=GROUP A OWN9=GROUP A OWNSorting Children in ascending fashionSubsetStart Val=8 Column Index=17 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=18 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=19 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=20 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=21 For Loop Max=28=9=Sorting Children in ascending fashionSubsetUSERA3 Start Val=8 Column Index=22 ForLoop Max=28=USERA39=USERA3Sorting Children in ascending fashionSubsetA3 Start Val=8 Column Index=23 For Loop Max=28=A39=A3Sorting Children in ascending fashionSubsetPerson Start Val=8 Column Index=24 For Loop Max=28=Person9=PersonSorting Children in ascending fashionSubsetStart Val=8 Column Index=25 For Loop Max=28=9=Sorting Children in ascending fashionSubsetGROUP A OWNStart Val=8 Column Index=26 ForLoop Max=28=GROUP A OWN9=GROUP A OWNSorting Children in ascending fashionSubsetStart Val=8 Column Index=27 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=28 ForLoop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=29 ForLoop Max=28=9=Sorting Children in ascending fashionSubsetJTeam 10Start Val=8 Column Index=30 ForLoop Max=28=JTeam 109=JTeam 10Sorting Children in ascending fashionSubsetStart Val=8 Column Index=31 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=32 For Loop Max=28=9=Sorting Children in ascending fashionSubsetStart Val=8 Column Index=33 For Loop Max=28=9=Sorting Children in ascending fashionSubset0.49181295234865297testDesc Start Val=10 Column Index=0 ForLoop Max=5010=0.49181295234865297testDescReset Start index to=10Subset1234567891011121314151617181920212223242526272829303132333435363738394041424344 Start Val=11 Column Index=0 For Loop Max=5011=1234567891011121314151617181920212223242526272829303132333435363738394041424344Reset Start index to=11Subset12345678910111213141516171819202122232425262728293031323334353637383940414243444 Start Val=12 Column Index=0 For Loop Max=5012=1234567891011121314151617181920212223242526272829303132333435363738394041424344413=1234567891011121314151617181920212223242526272829303132333435363738394041424344414=12345678910111213141516171819202122232425262728293031323334353637383940414243444Sorting Children in ascending fashionSubset1 Start Val=12 Column Index=1 For Loop Max=312=113=114=1Sorting Children in ascending fashionSubsetStart Val=12 Column Index=2 For Loop Max=312=13=14=Sorting Children in ascending fashionSubset0 Start Val=12 Column Index=3 For Loop Max=312=013=014=0Sorting Children in ascending fashionSubsetCOMMUNICATIONS Start Val=12 Column Index=4 ForLoop Max=312=COMMUNICATIONS13=COMMUNICATIONS14=COMMUNICATIONSSorting Children in ascending fashionSubset2 Start Val=12 Column Index=5 For Loop Max=312=213=214=2Sorting Children in ascending fashionSubset2 Start Val=12 Column Index=6 For Loop Max=312=213=214=2Sorting Children in ascending fashionSubsetTestSystem 1 Start Val=12 Column Index=7 ForLoop Max=312=TestSystem 113=TestSystem 114=TestSystem 1Sorting Children in ascending fashionSubset Start Val=12 Column Index=8 ForLoop Max=312=13=14=Sorting Children in ascending fashionSubset Start Val=12 Column Index=9 ForLoop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=10 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=11 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=12 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=13 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=14 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetEXAV Start Val=12 Column Index=15For Loop Max=312=EXAV13=EXAV14=EXAVSorting Children in ascending fashionSubsetBIGBLUEStart Val=12 Column Index=16For Loop Max=312=BIGBLUE13=BIGBLUE14=BIGBLUESorting Children in ascending fashionSubsetStart Val=12 Column Index=17 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=18 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=19 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=20 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=21 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetEXAVStart Val=12 Column Index=22For Loop Max=312=EXAV13=EXAV14=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=12 Column Index=23 For Loop Max=312=EXAV13=EXAV14=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=12 Column Index=24 ForLoop Max=312=Description modified on Apr13=Description modified on Apr14=Description modified on AprSorting Children in ascending fashionSubsetStart Val=12 Column Index=25 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetSUPPORTS_ALL Start Val=12 Column Index=26For Loop Max=312=SUPPORTS_ALL13=SUPPORTS_ALL14=SUPPORTS_ALLSorting Children in ascending fashionSubsetStart Val=12Column Index=27 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=28 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=29 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetAAANoOrg Start Val=12 Column Index=30For Loop Max=312=AAANoOrg13=AAANoOrg14=AAANoOrgSorting Children in ascending fashionSubsetStart Val=12 Column Index=31 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=32 For Loop Max=312=13=14=Sorting Children in ascending fashionSubsetStart Val=12 Column Index=33 For Loop Max=312=13=14=Sorting Children in ascending fashionSubset1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 Start Val=15 Column Index=0 For Loop Max=5015=1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Reset Start index to=15Subset1 test 36002 Start Val=16 Column Index=0 For Loop Max=5016=1 test 36002Reset Start index to=16Subset2 Start Val=17 Column Index=0 For Loop Max=5017=2Reset Start index to=17Subset2 test 36002 Start Val=18 Column Index=0 For Loop Max=5018=2 test 36002Reset Start index to=18Subset3 Start Val=19 Column Index=0 For Loop Max=5019=3Reset Start index to=19Subset3 test 36002 Start Val=20 Column Index=0 For Loop Max=5020=3 test 36002Reset Start index to=20Subset433-6227 Start Val=21 Column Index=0 For Loop Max=5021=433-6227Reset Start index to=21Subset4 test 36002 Start Val=22 Column Index=0 For Loop Max=5022=4 test 36002Reset Start index to=22Subset5 test 36002 Start Val=23 Column Index=0 For Loop Max=5023=5 test 36002Reset Start index to=23Subset63 origin test Start Val=24 Column Index=0 For Loop Max=5024=63 origin testReset Start index to=24Subset7ui7u Start Val=25 Column Index=0 For Loop Max=5025=7ui7uReset Start index to=25SubsetA Start Val=26 Column Index=0 For Loop Max=5026=AReset Start index to=26SubsetAb Start Val=27 Column Index=0 For Loop Max=5027=AbReset Start index to=27SubsetAbhiman-Problem for test Start Val=28 Column Index=0 ForLoop Max=5028=Abhiman-Problem for test29=Abhiman-Problem for testSorting Children in ascending fashionSubset0 Start Val=28 Column Index=1 For Loop Max=228=029=0Sorting Children in ascending fashionSubsetStart Val=28 Column Index=2 For Loop Max=228=29=Sorting Children in ascending fashionSubset0 Start Val=28 Column Index=3 For Loop Max=228=029=0Sorting Children in ascending fashionSubsetStart Val=28 Column Index=4 For Loop Max=228=29=Sorting Children in ascending fashionSubset2 Start Val=28 Column Index=5 For Loop Max=228=229=2Sorting Children in ascending fashionSubset2 Start Val=28 Column Index=6 For Loop Max=228=229=2Sorting Children in ascending fashionSubsetSys_Org_A Start Val=28 Column Index=7 ForLoop Max=228=Sys_Org_A29=Sys_Org_ASorting Children in ascending fashionSubsetA_C1_Item1 Start Val=28 Column Index=8 ForLoop Max=228=A_C1_Item129=A_C1_Item1Sorting Children in ascending fashionSubset A_C1_I1_Mod1 Start Val=28 Column Index=9 ForLoop Max=228=A_C1_I1_Mod129=A_C1_I1_Mod1Sorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=10For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=11 For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=28 Column Index=12 ForLoop Max=228=Description modified on Apr29=Description modified on AprSorting Children in ascending fashionSubsetStart Val=28 Column Index=13 For Loop Max=228=29=Sorting Children in ascending fashionSubsetGroup Org_BStart Val=28 Column Index=14For Loop Max=228=Group Org_B29=Group Org_BSorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=15For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetStart Val=28 Column Index=16 For Loop Max=228=29=Sorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=17For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=18 For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=28 Column Index=19 ForLoop Max=228=Description modified on Apr29=Description modified on AprSorting Children in ascending fashionSubsetStart Val=28 Column Index=20 For Loop Max=228=29=Sorting Children in ascending fashionSubsetSUPPORTS_ALL Start Val=28 Column Index=21For Loop Max=228=SUPPORTS_ALL29=SUPPORTS_ALLSorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=22For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=28 Column Index=23 For Loop Max=228=EXAV29=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=28 Column Index=24 ForLoop Max=228=Description modified on Apr29=Description modified on AprSorting Children in ascending fashionSubsetStart Val=28 Column Index=25 For Loop Max=228=29=Sorting Children in ascending fashionSubsetSUPPORTS_ALLStart Val=28 Column Index=26For Loop Max=228=SUPPORTS_ALL29=SUPPORTS_ALLSorting Children in ascending fashionSubsetStart Val=28 Column Index=27 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=28 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=29 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=30 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=31 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=32 For Loop Max=228=29=Sorting Children in ascending fashionSubsetStart Val=28 Column Index=33 For Loop Max=228=29=Sorting Children in ascending fashionSubsetAbhiman-Test for setting occurred date to current date StartVal=30 Column Index=0 For Loop Max=5030=Abhiman-Test for setting occurred date to current date31=Abhiman-Test for setting occurred date to current dateSorting Children in ascending fashionSubset1 Start Val=30 Column Index=1 For Loop Max=230=131=1Sorting Children in ascending fashionSubsetCHILD Start Val=30 Column Index=2 ForLoop Max=230=CHILDReset Start index to=30SubsetStart Val=31 Column Index=2 For Loop Max=231=Reset Start index to=31SubsetABhiman Testing problem 11 Start Val=32 Column Index=0 ForLoop Max=5032=ABhiman Testing problem 11Reset Start index to=32SubsetAbhiman-Test Problem Start Val=33 Column Index=0 For LoopMax=5033=Abhiman-Test Problem34=Abhiman-Test Problem35=Abhiman-Test ProblemSorting Children in ascending fashionSubset0 Start Val=33 Column Index=1 For Loop Max=333=034=035=0Sorting Children in ascending fashionSubsetStart Val=33 Column Index=2 For Loop Max=333=34=35=Sorting Children in ascending fashionSubset0 Start Val=33 Column Index=3 For Loop Max=333=034=035=0Sorting Children in ascending fashionSubsetStart Val=33 Column Index=4 For Loop Max=333=34=35=Sorting Children in ascending fashionSubset2 Start Val=33 Column Index=5 For Loop Max=333=234=235=2Sorting Children in ascending fashionSubset2 Start Val=33 Column Index=6 For Loop Max=333=234=235=2Sorting Children in ascending fashionSubsetSys_Org_A Start Val=33 Column Index=7 ForLoop Max=333=Sys_Org_A34=Sys_Org_A35=Sys_Org_ASorting Children in ascending fashionSubsetA_C1_Item1 Start Val=33 Column Index=8 ForLoop Max=333=A_C1_Item134=A_C1_Item135=A_C1_Item1Sorting Children in ascending fashionSubset A_C1_I1_Mod1 Start Val=33 Column Index=9 ForLoop Max=333=A_C1_I1_Mod134=A_C1_I1_Mod135=A_C1_I1_Mod1Sorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=10For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=11 For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=33 Column Index=12 ForLoop Max=333=Description modified on Apr34=Description modified on Apr35=Description modified on AprSorting Children in ascending fashionSubsetStart Val=33 Column Index=13 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetGroup Org_BStart Val=33 Column Index=14For Loop Max=333=Group Org_B34=Group Org_B35=Group Org_BSorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=15For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetStart Val=33 Column Index=16 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=17For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=18 For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=33 Column Index=19 ForLoop Max=333=Description modified on Apr34=Description modified on Apr35=Description modified on AprSorting Children in ascending fashionSubsetStart Val=33 Column Index=20 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetSUPPORTS_ALLStart Val=33 Column Index=21For Loop Max=333=SUPPORTS_ALL34=SUPPORTS_ALL35=SUPPORTS_ALLSorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=22For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=33 Column Index=23 For Loop Max=333=EXAV34=EXAV35=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=33 Column Index=24 ForLoop Max=333=Description modified on Apr34=Description modified on Apr35=Description modified on AprSorting Children in ascending fashionSubsetStart Val=33 Column Index=25 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetSUPPORTS_ALLStart Val=33 Column Index=26For Loop Max=333=SUPPORTS_ALL34=SUPPORTS_ALL35=SUPPORTS_ALLSorting Children in ascending fashionSubsetStart Val=33 Column Index=27 For Loop Max=333=34=35=Sorting children in ascending fashionSubsetStart Val=33 Column Index=28 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetStart Val=33 Column Index=29 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetStart Val=33 Column Index=30 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetStart Val=33 Column Index=31 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetStart Val=33 Column Index=32 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetStart Val=33 Column Index=33 For Loop Max=333=34=35=Sorting Children in ascending fashionSubsetAbhiman-Test Problem2 Start Val=36 Column Index=0 For LoopMax=5036=Abhiman-Test Problem2Reset Start index to=36SubsetAbhiman-Test Problem3 Start Val=37 Column Index=0 For LoopMax=5037=Abhiman-Test Problem338=Abhiman-Test Problem3Sorting Children in ascending fashionSubset0 Start Val=37 Column Index=1 For Loop Max=237=038=0Sorting Children in ascending fashionSubsetStart Val=37 Column Index=2 For Loop Max=237=38=Sorting Children in ascending fashionSubset0 Start Val=37 Column Index=3 For Loop Max=237=038=0Sorting Children in ascending fashionSubsetStart Val=37 Column Index=4 For Loop Max=237=38=Sorting Children in ascending fashionSubset2 Start Val=37 Column Index=5 For Loop Max=237=238=2Sorting Children in ascending fashionSubset2 Start Val=37 Column Index=6 For Loop Max=237=238=2Sorting Children in ascending fashionSubsetSys_Org_AStart Val=37 Column Index=7 ForLoop Max=237=Sys_Org_A38=Sys_Org_ASorting Children in ascending fashionSubsetA_C1_Item1 Start Val=37 Column Index=8 ForLoop Max=237=A_C1_Item138=A_C1_Item1Sorting Children in ascending fashionSubsetA_C1_I1_Mod1 Start Val=37 Column Index=9 ForLoop Max=237=A_C1_I1_Mod138=A_C1_I1_Mod1Sorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=10For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=11 For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=37 Column Index=12 ForLoop Max=237=Description modified on Apr38=Description modified on AprSorting Children in ascending fashionSubsetStart Val=37 Column Index=13 For Loop Max=237=38=Sorting Children in ascending fashionSubsetGroup Org_B Start Val=37 Column Index=14For Loop Max=237=Group Org_B38=Group Org_BSorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=15For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetStart Val=37 Column Index=16 For Loop Max=237=38=Sorting Children in ascending fashionSubsetEXAVStart Val=37 Column Index=17For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=18 For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=37 Column Index=19 ForLoop Max=237=Description modified on Apr38=Description modified on AprSorting Children in ascending fashionSubsetStart Val=37 Column Index=20 For Loop Max=237=38=Sorting Children in ascending fashionSubsetSUPPORTS_ALL Start Val=37 Column Index=21For Loop Max=237=SUPPORTS_ALL38=SUPPORTS_ALLSorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=22For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetEXAV Start Val=37 Column Index=23 For Loop Max=237=EXAV38=EXAVSorting Children in ascending fashionSubsetDescription modified on Apr Start Val=37 Column Index=24 ForLoop Max=237=Description modified on Apr38=Description modified on AprSorting Children in ascending fashionSubsetStart Val=37 Column Index=25 For Loop Max=237=38=Sorting Children in ascending fashionSubsetSUPPORTS_ALL Start Val=37 Column Index=26For Loop Max=237=SUPPORTS_ALL38=SUPPORTS_ALLSorting Children in ascending fashionSubsetStart Val=37 Column Index=27 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=28 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=29 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=30 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=31 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=32 For Loop Max=237=38=Sorting Children in ascending fashionSubsetStart Val=37 Column Index=33 For Loop Max=237=38=Sorting Children in ascending fashionSubsetAbhiman-Test Problem5 Start Val=39 Column Index=0 For LoopMax=5039=Abhiman-Test Problem5Reset Start index to=39SubsetAbhiman-Test Problem6 Start Val=40 Column Index=0 For LoopMax=5040=Abhiman-Test Problem6Reset Start index to=40SubsetAbhiman-Test Problem7 Start Val=41 Column Index=0 For LoopMax=5041=Abhiman-Test Problem7Reset Start index to=41SubsetAbhiman-Test Problem9 Start Val=42 Column Index=0 For LoopMax=5042=Abhiman-Test Problem9Reset Start index to=42SubsetAbhiman-Test Problem on Thursday Start Val=43 Column Index=0For Loop Max=5043=Abhiman-Test Problem on ThursdayReset Start index to=43SubsetAbhiman-Test Problem to compare with CCT Start Val=44 ColumnIndex=0 For Loop Max=5044=Abhiman-Test Problem to compare with CCTReset Start index to=44SubsetADDINFO TEST-22:40:00-New call Start Val=45 ColumnIndex=0 For Loop Max=5045=ADDINFO TEST-22:40:00-New callReset Start index to=45SubsetASASASA Start Val=46 Column Index=0 For Loop Max=5046=ASASASAReset Start index to=46SubsetASDFASDFASDF Start Val=47 Column Index=0 For Loop Max=5047=ASDFASDFASDFReset Start index to=47Subsetfsfsdf Start Val=48 Column Index=0 For Loop Max=5048=fsfsdfReset Start index to=48SubsetStart Val=49 Column Index=0 For Loop Max=5049=Reset Start index to=49Total Calls to QS206盡管已經(jīng)參考優(yōu)選實(shí)施例或若干實(shí)施例對本發(fā)明進(jìn)行了描述,但是,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)知道,可以進(jìn)行各種改變并且等同物可以替代其中的元素,而不脫離本發(fā)明的范圍。另外,根據(jù)本發(fā)明的教導(dǎo),可以進(jìn)行許多修改以適應(yīng)特定的情況或材料,而不脫離本發(fā)明的實(shí)質(zhì)范圍。因此,本發(fā)明不限于用于實(shí)現(xiàn)本發(fā)明而構(gòu)想的最佳模式所公開的特定實(shí)施例,而且,本發(fā)明將包括落在所附權(quán)利要求的范圍內(nèi)的所有實(shí)施例。
權(quán)利要求
1.一種用于實(shí)現(xiàn)基于web的前端用戶的請求的方法,所述方法包括從前端用戶接收列表請求;接收與所述列表請求相關(guān)聯(lián)的用戶特征;從數(shù)據(jù)存儲媒體中檢索對應(yīng)于所述列表請求的數(shù)據(jù);以及根據(jù)所述用戶特征來配置所述檢索的數(shù)據(jù);以及根據(jù)所述用戶特征而將所配置的數(shù)據(jù)返回給所述前端用戶。
2.根據(jù)權(quán)利要求1的方法,其中,所述用戶特征被包括在所述列表請求中。
3.根據(jù)權(quán)利要求2的方法,其中,所述用戶特征包括語言代碼和國家代碼。
4.根據(jù)權(quán)利要求3的方法,其中,所述列表請求還包括以下內(nèi)容中的至少一個排序請求和查詢。
5.根據(jù)權(quán)利要求3的方法,其中,所述配置所檢索的數(shù)據(jù)還包括不管所述數(shù)據(jù)存儲媒體的地點(diǎn),而根據(jù)對應(yīng)于所述用戶特征的核對來對所述檢索的數(shù)據(jù)執(zhí)行排序例程。
6.根據(jù)權(quán)利要求5的方法,其中,所述執(zhí)行排序例程還包括分解所述列表請求,并且,使用最初從所述數(shù)據(jù)存儲媒體中所檢索的列值的列表來產(chǎn)生排序條目對象;對所述排序條目對象里的所述列值列表中的至少第一列執(zhí)行排序操作,其中所述排序操作的比較函數(shù)取決于從所述分解所述列表請求中所獲得的信息;以及根據(jù)所述排序操作的完成,重建所述列表請求。
7.根據(jù)權(quán)利要求6的方法,其中,所述排序操作是基于具有所述比較函數(shù)的快速排序算法的,所述比較函數(shù)根據(jù)從所述分解所述列表請求中所獲得的所述信息而被修改。
8.用于實(shí)現(xiàn)基于web的前端用戶的請求的系統(tǒng),所述系統(tǒng)包括服務(wù)器,其被配置用于從前端設(shè)備接收列表請求,并且接收與所述列表請求相關(guān)聯(lián)的用戶特征;所述服務(wù)器還包括處理裝置,所述處理裝置用于從數(shù)據(jù)存儲媒體中檢索對應(yīng)于所述列表請求的數(shù)據(jù);根據(jù)所述用戶特征來配置所述檢索的數(shù)據(jù);根據(jù)所述用戶特征而將所配置的數(shù)據(jù)返回給所述前端設(shè)備。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中,所述用戶特征被包括在所述列表請求中。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中,所述用戶特征包括語言代碼和國家代碼。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中,所述列表請求還包括以下內(nèi)容中的至少一個排序請求和查詢。
12.根據(jù)權(quán)利要求10的系統(tǒng),其中,用于配置所述檢索的數(shù)據(jù)的所述處理裝置還包括不管所述數(shù)據(jù)存儲媒體的地點(diǎn),而根據(jù)對應(yīng)于所述用戶特征的核對來對所述檢索的數(shù)據(jù)執(zhí)行排序例程。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中,所述執(zhí)行分類例程還包括分解所述列表請求,并且,使用最初從所述數(shù)據(jù)存儲媒體中所檢索的列值的列表來產(chǎn)生排序條目對象;對所述排序條目對象里的所述列值列表中的至少第一列執(zhí)行排序操作,其中所述排序操作的比較函數(shù)取決于從所述分解所述列表請求中所獲得的信息;以及根據(jù)所述排序操作的完成,重建所述列表請求。
14.根據(jù)權(quán)利要求13的系統(tǒng),其中,所述排序操作是基于具有所述比較函數(shù)的快速排序算法的,所述比較函數(shù)根據(jù)從所述分解所述列表請求中所獲得的所述信息而被修改。
15.根據(jù)權(quán)利要求8的系統(tǒng),其中所述服務(wù)器還包括基于web的應(yīng)用;以及所述前端設(shè)備還包括web瀏覽器。
全文摘要
用于實(shí)現(xiàn)基于web的、前端用戶的請求的方法包括從前端用戶接收列表請求,并且接收與所述列表請求相關(guān)聯(lián)的用戶特征。從數(shù)據(jù)存儲媒體中檢索對應(yīng)于所述列表請求的數(shù)據(jù),并且根據(jù)所述用戶特征來配置所檢索的數(shù)據(jù)。根據(jù)所述用戶特征來將所配置的數(shù)據(jù)返回給所述前端用戶。
文檔編號H04L12/00GK1716246SQ20051007307
公開日2006年1月4日 申請日期2005年5月27日 優(yōu)先權(quán)日2004年5月28日
發(fā)明者P·F·奇普里亞諾 申請人:國際商業(yè)機(jī)器公司