欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于數(shù)據(jù)傳送的快速串行化的制作方法_4

文檔序號:9922050閱讀:來源:國知局
情況下,當(dāng)復(fù)制方案減少了要被串行化的數(shù)據(jù)量時,可 以使用復(fù)制方案。在一些情況下,如先前圖3到圖4及相關(guān)描述中所述,可以在分析處理期間 確定復(fù)制計數(shù)器。復(fù)制計數(shù)器是指示隨后復(fù)制的數(shù)目。在一些情況下,如果復(fù)制計數(shù)器大于 預(yù)定閾值,則可以使用復(fù)制方案。可替代地或組合地,可以執(zhí)行計算以確定復(fù)制方案是否可 以減少數(shù)據(jù)量。以下不等式表示計算的例子:
[0095] L*W>C*R+(L-R)*W,
[0096] 其中,L =行數(shù),R =隨后冗余的數(shù)目,W=字段寬度,而且C =計數(shù)器寬度。
[0097] 如果不等式為真,則復(fù)制方案可以減少數(shù)據(jù)量,并且因此可以用于列。
[0098]參考圖7,在702,附加值計數(shù)可以被設(shè)置為0。方法700從702進(jìn)行到704,在其中下 一值被寫入傳送介質(zhì)。在一些情況下,例如,第一次針對列執(zhí)行步驟704,下一值可以是該列 中的第一個值。在一些情況下,例如,當(dāng)在第一次針對該列執(zhí)行步驟704之后執(zhí)行步驟704 時,下一個值可以是在712中確定的下一個值。方法700從704進(jìn)行到706,在其中可以讀出該 列中的下一個值并且將其與上一個值進(jìn)行比較。如果下一個值等于上一個值,則方法700從 706進(jìn)入到708。在708,附加值計數(shù)可以增加1。方法700從708進(jìn)行到706,在其中可以讀出和 比較下一個值。如果下一個值不等于上一個值,則方法700從706進(jìn)行到710。在710,可以將 附加值計數(shù)寫入傳送介質(zhì)。方法700從710進(jìn)行到712,在其中確定該列中的下一個值的可用 性。如果下一個值是可用的,則方法700從710進(jìn)行到702。如果下一個值是不可用的,則方法 712在700之后停止。
[0099]圖8是示出根據(jù)實(shí)現(xiàn)的基于復(fù)制方案的解串行化處理的方法800的流程圖。為清楚 起見,下面的描述在圖1到圖7和圖9到圖11的上下文中一般性地描述了方法800。然而,應(yīng)該 理解的是,方法800可以例如,通過任何其它合適的系統(tǒng)、環(huán)境、軟件和硬件、或系統(tǒng)、環(huán)境、 軟件和硬件的適當(dāng)組合來執(zhí)行。在一些實(shí)現(xiàn)中,方法800的各個步驟可以并行、組合、循環(huán) 和/或以任何順序來運(yùn)行。
[0100]在802,可以從傳送介質(zhì)讀出下一個值。可以將下一個值寫入目標(biāo)數(shù)據(jù)庫中的接收 表。方法800從802進(jìn)行到804,在其中可以讀出附加值計數(shù)。方法800從804進(jìn)行到806。在 806,可以確定是否已經(jīng)達(dá)到附加值計數(shù)。如果還沒有達(dá)到附加值計數(shù),則方法800從806進(jìn) 行到808。在808,上一個值可以被再次寫入目標(biāo)數(shù)據(jù)庫中的接收表。方法800從808進(jìn)行到 806。如果已達(dá)到附加值計數(shù),則方法800從806進(jìn)行到810。在810,可以確定是否已經(jīng)達(dá)到列 的末尾。如果還沒有達(dá)到列的末尾,則方法800從810進(jìn)行到802。如果已經(jīng)達(dá)到列的末尾,則 方法800在810之后停止。
[0101] 圖9是示出根據(jù)實(shí)現(xiàn)的基于重復(fù)方案的串行化處理的方法900的流程圖。重復(fù)方案 也可以被稱為有限值集合的重復(fù)方案。為清楚起見,下面的描述在圖1到圖8和圖10到圖11 的上下文中一般性地描述了方法900。然而,應(yīng)該理解的是,方法900可以例如,通過任何其 它合適的系統(tǒng)、環(huán)境、軟件和硬件、或系統(tǒng)、環(huán)境、軟件和硬件的適當(dāng)組合來執(zhí)行。在一些實(shí) 現(xiàn)中,方法900的各個步驟可以并行、組合、循環(huán)和/或以任何順序來運(yùn)行。
[0102] 在一些情況下,如果列包括值的有限集合而且值未被排序而是任意的順序的,那 么可以有效的是,首先傳送值集合中的所有值,然后傳送值集合中的每個值的相應(yīng)索引。表 5表示源數(shù)據(jù)庫的示例性列。
[0104] 表5:用于重復(fù)方案的源數(shù)據(jù)庫中的列
[0105] 這個列的值集合中有三個值:"red"( "紅色"、"yellow"( "黃色")和"green"( "綠 色")。在列上的第一次運(yùn)行可以產(chǎn)生以下值集合以及每個值的對應(yīng)索引。表6表示值集合的 例子。
[0107] 表6:值集合
[0108] 因此,源數(shù)據(jù)庫的列中的數(shù)據(jù)可以通過發(fā)送列中的每個值的相應(yīng)索引被串行化。 表7表不基于重復(fù)方案的串行化表的例子。
[0110] 表7:根據(jù)重復(fù)方案的串行化表
[0111] 在一些情況下,列可能在值集合中具有太多的值。在這些情況下,通過使用重復(fù)方 案會增加數(shù)據(jù)量。因此,在一些情況下,當(dāng)重復(fù)方案減少要被串行化的數(shù)據(jù)量時,可以使用 重復(fù)方案。在一些情況下,如先前圖3到圖4及相關(guān)描述中所述,可以在分析處理期間確定重 復(fù)計數(shù)器。重復(fù)計數(shù)器可以指示值集合中的不同值的數(shù)目。在一些情況下,如果重復(fù)計數(shù)器 小于預(yù)定限制時,可以使用復(fù)制方案。預(yù)定限制可以基于用于值集合中的值的索引的比特 的數(shù)目來設(shè)置。例如,如果使用8個比特來表示值的索引,則預(yù)定限制可以是256??商娲?或組合地,可以執(zhí)行計算以確定重復(fù)方案是否可以減少數(shù)據(jù)量。以下不等式表示計算的例 子:
[0112] L*W1>W1*V+L*W2,
[0113] 其中,L =行數(shù),V =值的數(shù)目,Wl =字段寬度,而且W2 =索引的寬度。
[0114] 如果不等式為真,則重復(fù)方案可以減少數(shù)據(jù)量,并且因此可以用于列。
[0115] 索引的寬度可以基于值集合中的不同值的數(shù)目來確定。例如,如果值集合具有4個 不同的值,則可以使用2個比特來串行化數(shù)據(jù)值的一個索引。利用1個字節(jié),可以串行化4個 數(shù)據(jù)值。下面的等式表示計算寬度的索引的例子:
[0116] X- ,
[0117] 其中X是寬度的索引,并且η是值集合中值的數(shù)目。
[0118] 參考圖9,在902,可以將重復(fù)計數(shù)器寫入傳送介質(zhì)。方法900從902進(jìn)行到904,在其 中值集合的不同的值被串行化。在一些情況下,可以使用其他串行化方案,例如諸如整數(shù)方 案或字符方案的變量串行化方案,來串行化值集合中的值。方法900從904進(jìn)行到906。在 906,可以確定源數(shù)據(jù)庫的列中的下一個值的可用性。如果下一個值是可用的,則方法900從 906進(jìn)行到908,在其中可以確定下一個值的相應(yīng)索引。方法900從908進(jìn)行到910,在其中可 以將相應(yīng)索引寫入傳送介質(zhì)。方法900從910進(jìn)行到906。如果下一個值是不可用的,則方法 900在906之后停止。
[0119] 圖10是示出根據(jù)實(shí)現(xiàn)的基于重復(fù)方案的解串行化處理的方法1000的流程圖。為清 楚起見,下面的描述在圖1到圖9和圖11的上下文中一般性地描述了方法1000。然而,應(yīng)該理 解的是,方法1000可以例如,通過任何其它合適的系統(tǒng)、環(huán)境、軟件和硬件、或系統(tǒng)、環(huán)境、軟 件和硬件的適當(dāng)組合來執(zhí)行。在一些實(shí)現(xiàn)中,方法1000的各個步驟可以并行、組合、循環(huán)和/ 或以任何順序來運(yùn)行。
[0120]在1002,可以從傳送介質(zhì)讀出重復(fù)計數(shù)器。方法1000從1002進(jìn)行到1004,在其中值 集合中的可能值可以被解串行化。在一些情況下,解串行化的值可以被存儲在中間緩沖器 中。方法1000從1004進(jìn)行到1006。在1006,可以確定下一個值的可用性。如果下一個值是可 用的,則方法1000從1006進(jìn)行到1008。在1008,可以從傳送介質(zhì)讀出列中的下一個字段的索 弓丨。在一些情況下,索引的寬度可以基于重復(fù)計數(shù)器來確定。例如,如果重復(fù)計數(shù)器是4,這 意味著值集合中的不同的值的數(shù)目為4,則索引的寬度可以被確定為2。因此,從傳送介質(zhì)讀 出的下一個2比特表示下一個字段中的值的索引。方法1〇〇〇從1〇〇8進(jìn)行到1010。在1010,可 以從中間緩沖器獲得與索引相對應(yīng)的值。方法1000從1010進(jìn)行到1012,在其中可以將值寫 入目標(biāo)數(shù)據(jù)庫中的目的地字段。方法1000從1012進(jìn)行到1006。如果不再有下一個值,則方法 1000在1006之后停止。
[0121] 圖11是示出根據(jù)實(shí)現(xiàn)的基于字符方案的串行化處理的方法1100的流程圖。為清楚 起見,下面的描述在圖1到圖10的上下文中一般性地描述了方法1100。然而,應(yīng)該理解的是, 方法1100可以例如,通過任何其它合適的系統(tǒng)、環(huán)境、軟件和硬件、或系統(tǒng)、環(huán)境、軟件和硬 件的適當(dāng)組合來。在一些實(shí)現(xiàn)中,方法1100的各個步驟可以并行、組合、循環(huán)和/或以任何順 序來運(yùn)行。
[0122] 在一些實(shí)現(xiàn)中,不同的變量串行化方案可以基于源數(shù)據(jù)庫中的數(shù)據(jù)的類型來使 用。數(shù)據(jù)類型可以是字符、整數(shù)或其他類型。
[0123] 在一些情況下,存儲在數(shù)據(jù)庫表中的數(shù)據(jù),例如,業(yè)務(wù)數(shù)據(jù),的數(shù)據(jù)類型可以是字 符。在一些情況下,字符數(shù)據(jù)具有固定的長度。在一些情況下,字符數(shù)據(jù)具有可變長度。可變 長度的字符數(shù)據(jù)也可以被稱為字符串?dāng)?shù)據(jù)。在一些實(shí)現(xiàn)中,字符方案可以被用于串行化字 符數(shù)據(jù)。在一些情況下,字符方案可以包括編碼系統(tǒng)轉(zhuǎn)換方案、填充字符方案、或這些和其 他方案的組合。
[0124] 在一些情況下,可以確定字符數(shù)據(jù)的編碼方案。例如,編碼方案可以是Unicode系 統(tǒng)或非Uni code系統(tǒng)。還存在一些Unicode方言(dialect)。Uni code方言可以針對每個字符 使用至少1個字節(jié),但是在大多數(shù)情況下使用更多。如果源數(shù)據(jù)庫或目標(biāo)數(shù)據(jù)庫使用非 Unicode系統(tǒng),則數(shù)據(jù)可以在非Unicode系統(tǒng)中被串行化,因?yàn)樗械姆荱nicode代碼頁針對 每個字符使用一個字節(jié)。
[0125] 如果源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫都使用Unicode系統(tǒng),則可以檢查字符數(shù)據(jù)的性質(zhì)以 確定哪些Unicode方言被用于串行化。如果大部分?jǐn)?shù)據(jù)是西方字符,則UTF8可能更有效。如 果數(shù)據(jù)包含一些亞洲字符,則UTF16可能更有效。在一些情況下,如果源數(shù)據(jù)庫或者目標(biāo)數(shù) 據(jù)庫被限制為UCS2,則可以使用UCS2。在一些實(shí)現(xiàn)中,在其他情景中可以不使用UCS2,因?yàn)?UCS2支持全球可用字符的子集。UCS4或UTF16涵蓋所有的字符,甚至極為少見的字符,但是 它們可能使用太多的空格。因此,根據(jù)待傳送的字符(亞洲或西方),UCS4或UTF16可以被轉(zhuǎn) 換為UTF16或UTF8。在一些情況下,存儲在亞洲系統(tǒng)中的數(shù)據(jù)只包括西方字符,因?yàn)樗鼈兪?技術(shù)性的或者在國際范圍內(nèi)使用。因此,檢查字符數(shù)據(jù)的性質(zhì)可能是有益的。
[0126] 在一些實(shí)現(xiàn)中,如果編碼方案是Unicode系統(tǒng),則可以將非ASCII字符的計數(shù)與預(yù) 定閾值進(jìn)行比較。如果非ASCII字符的計數(shù)小于預(yù)定閾值,則可以使用UTF8。否則,可以使用 UTF16。
[0127]在一些實(shí)現(xiàn)中,可以將數(shù)據(jù)轉(zhuǎn)換為UTF8。如果轉(zhuǎn)換后的數(shù)據(jù)具有比未轉(zhuǎn)換的數(shù)據(jù) 更少的字符,則可以使用UTF8。否則,可以使用UTF16。
[0128]除了有效載荷,還可以傳送數(shù)據(jù)被編碼為UTF8或UTF16的信息。在一些實(shí)現(xiàn)中,現(xiàn) 有的長度信息的一個比特可以被用于指示數(shù)據(jù)是編碼為UTF8還是UTF16。在一些情況下,這 種方法可以與下面描述的填充字符方案組合使用。
[0129]固定長度的字符字段通常大到足以存儲極值。因此,字段通常不會被完全使用(例 如,用空格或空值填充)。在這些情況下,可以傳送長度字段,接著是有效負(fù)載字符,而沒有 填充字符。表8表不源數(shù)據(jù)庫中的列的例子。
[0131] 表8:用于填充字符方案的源數(shù)據(jù)庫中的列
[0132] 表9表不根據(jù)填充字符方案的串行化列的例子,其中長度字段在有效載荷
當(dāng)前第4頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
稻城县| 云霄县| 应用必备| 巩义市| 闽清县| 土默特右旗| 承德县| 尚义县| 石城县| 潢川县| 鄱阳县| 永城市| 泽州县| 萝北县| 临泉县| 罗甸县| 抚州市| 锡林浩特市| 东城区| 灌云县| 开远市| 利津县| 调兵山市| 洮南市| 广安市| 潜江市| 阳曲县| 河南省| 富宁县| 温宿县| 福贡县| 额敏县| 安远县| 鲁甸县| 明星| 汉沽区| 二连浩特市| 阳山县| 济阳县| 长沙县| 阿鲁科尔沁旗|