【原創理論】 數據處理•數據沉淀法則




 緒論

        最近忙於對微商城用戶的數據進行冗余分離,數據處理過程枯燥乏味,於是乎心里便想着能不能適當偷偷懶呢?答案當然是不切實際的,因為分離處理必須要有人員進行跟蹤監視,也正是因為數據容易存在析出不徹底的現象,而對於這種現象所導致的結果,卻恰恰需要進行人工的二次處理。簡直可以稱得上是令人焦頭爛額、一籌莫展的了。

        不過今天去北食堂吃飯的時候,剛好路過棚橋,也剛好看到了這一幕:棚橋東池塘的水十分渾濁,而西池塘的水卻格外清澈,即使東池塘要比西池塘更大一些。對呀,渾濁的水容易在相對靜止的環境下進行自我沉淀,這是自然現象,這也難道不正是我一直心心念念苦心追求的“適當偷偷懶”嗎!

        現在,我們大可以設想一下,將這東池塘中相對靜止的渾濁的水,比作我們將要進行數據分離或提取的源數據,而西池塘清澈的水便是我們處理而得到的結果,處理過程就是利用了這種自然沉淀的方法。可以把這種現象、處理方法或處理過程稱之為數據沉淀法則,簡稱沉淀法則或者析出法則。

 

 

 

沉淀法則

       下面將從前景概要、優點和局限性、實現原理、以及體系模式等方面進行介紹,關於沉淀法則是否適用於計算機科學領域,也是否真的能幫到我們在處理過程中得到適當的閑暇時光呢?其實,如果要完完全全地給一個很好的定義條件,我想這個所謂的“自然環境”也必定不會少到那里去,但我們姑且一試!

       這里我為什么要先說前景概要、優點和局限性呢?目的是為了更好地論證我們的法則,也更好地區分法則的自身的應用局限性

 

 

前景概要

    從許多許多的現實應用中,我們其實不難發現,沉淀法則幾乎無處不在,只是都以不大相同的面目示人,舉些簡單地例子:利用excel軟件對數據進行排序、數據庫的自增碼變化、資源管理器的文件顯示方式等等。那么,這些與我們所敘述的前景概要有什么關系呢?當然是有關系的,因為前者先一步存在,而我們現在所做的無非是對其進行定義、整理和設想。

      在各位前輩的辛苦征承下,我們現在使用的工具和所承受的技術,早就已經形成相對穩定的發展態勢,而且只能朝更加穩定和適用的方向發展。而技術發展的前提之一也就是數據必須得到處理,這對於數據處理就免不了要進行提取和排序等操作,而提取和排序等操作正是沉淀法則最典型的自然形態。

     在4個主要的領域中:計算理論,算法與數據結構,編程方法與編程語言。

      計算理論雖然表面上更具有原則性,但是我們大可以膽大地將沉淀法則與之一論:新的計算機理論必將在舊的理論的基礎上,進行發展,那么就會產生類似沉淀的一般,將新生的態勢不斷發展。算法與數據結構就更加不用說了,簡單地冒泡算法就是一個典型的例子,將權重的數往后排序的過程就是數據大顆粒沉淀的過程。編程方法與編程語言,和我們的沉淀法則貌似神離,但其間的關系卻不免一說。

    對於那些軟件工程,人工智能,計算機網絡與通信,數據庫系統,並行計算,分布式計算,人機交互,機器翻譯,計算機圖形學,操作系統,以及數值和符號計算等等的領域,即使其本身不是法則的產物,也多多少少都具有法則的發展態勢和過程利用。

 

優點和局限性

      這里對法則的優點和局限性作以簡單地概括,或許獨道的見解並非是最典型的,但它也必將是正面或者反面言論不可或缺的一部分。下面我們先來說說優點:

  1. 對數據的冗余分離更加徹底,極大減少了二次返工的可能性,也極大地提高了數據純凈度數據利用率) ;   
  2. 對數據處理的范圍面程度更廣,適應坡度基(不同的作業環境或底層架構設施)更強,具備良好的生存力;
  3. 底部管道的安裝(數據類型的提取)更加靈活,支持多路復用模式,是一種不錯的數據反應池(數據梯度反應堆,一種應用型的數據處理容器);
  4. 能有效地對數據的量質(數據使用的優先率,適於引用的適應性)進行沉浮(數據的析出類型,如:越需要的數據越往上浮,冗余或者顆粒度越飽滿的數據越下移。或者反過來,將需要的從底部析出);
  5. 集中計算和集中管理,避免分散數據處理的不飽和度(處理結果與期望值匹配性不高)。

  有利當然也有弊,對於法則的局限性,可簡單概括如下:

  1. 時間或者空間效率無法平行。要么加劇處理的復雜度(包括數據處理過程的復雜度、容器或反應堆構建的復雜度),或者產生條件冗余(在反應堆容器為條件的情況下,產生二次結合物(不可逆的新生“臟”數據)),這需要進行相對的監管;
  2. 維基梯度(支撐這個容器的物理主機硬件資源的整體能力)需要的條件較高,耗費計算資源比分散計算類型較高;

實現原理

       這里我們姑且還是以東池塘和西池塘為例,如下圖,東池塘中存在自然的沉淀分離層,西池塘雖然存在一道分離網,但是可以將西池塘看作兩個容器,展示緩存過濾的處理結果。梯度差異更加有利於高純度的數據流出,下管道用於搬遷沉泥、雜石等雜質。東池塘還存在隱藏的部分,就是入水口,這里姑且省略。

       但是很明顯,如果只是讓容器本身對需要處理的數據進行自我析出的話,那么將極大地耗損計算資源和時間。那樣的話,空間和時間的效率將極大地被人們難以接受,而處理的辦法就是第三方“催化劑”,也正是引入了“催化劑”的緣故,導致東池塘的水的穩定性稍微降低,但是穩定性的高低大小還是取決於“催化劑”本身,如果我們選對了就能事半功倍,如果選不好結果也是十分嚴重的。

                           

      當然上述,所謂的加第三方“催化劑”是其中的一種實現方式,也可以選擇其它的。我們可以對上圖的東池塘部分,進行相對的細化描述。下圖模型有些簡陋,但是原理是不變的。

                            

       當數據從源容器或者第三方數據庫,通過API被點入東池塘中時,水還是渾濁的。但是經過速力扇葉時,被高速打擊在上層的壓力扶梯面和下層的冗余數據沉積池的壓力扶梯面上,便被高速篩選。以上僅僅是對於以東池塘和西池塘為例的模型而論,因為實際計算機內部的計算實現方式與池塘過濾有所不同,所以引入了下方沉積法則的體系模式。

 

體系模式

      沉積法則的體系模式分為權重分配沉積法、分層積降法和動態沉淀法。這兩種分離析出模式的不同點在於:前者主要按元素的形式沉積,而分層積降法是整體對數據集進行沉降。理論上而言,分層積降法的計算能力時間較長,權重分配沉積法的計算壓力更大。而動態沉淀法綜合了兩者的優點,采取的是了動態分批模式。

     而對於權重分配沉積法、分層積降法和動態沉淀法的底層實現方法,又可以分為集合形式、鏈式、以及圖式。這里所涉及的集合、鏈、以及圖等的概念,並非是我們爛熟於心單純的JAVA或者C數據結構,而是這些結構的有機體。

        1.權重分配沉積法

        權重分配沉積法內部分為頭權重、身重和尾權重。不管是哪一種的權重分配,都不免涉及權重如何分配以及權重如何回收等的問題。

       首先,是頭權重。簡單地來說,就是對單個數據元素建立類似於鍵值對的形式,建立多列級別的曬選標簽。權重級別根據數據處理人員或客戶要求,建立級別庫,當數據進入池子后,程序根據輪轉的性質對元素進行體檢,並將級別屬性作為前置權重標簽值分配。源數據可以不間斷地進入容器,但是在篩選程序已經執行時,數據元仍然可以具備沉降特性。各司其職互不干涉,耗費的計算時間是連續的,但是權重分配和元素自我沉積互不影響。至於權重怎么回收?以權重的方式將數據元的數據屬性分配到相應的容器中,經過了壓力扶梯表面,另一個容器就進行數據元的結構拆除,還原數據的結構體,並建立新的結構集包裝。

       相應的身重和尾權重,與頭權重相比區別不大,但可進行相應的優化。

       2.分層積降法

        與權重分配沉積法的頭權重一樣,將數據元加載到沉降容器中,但是不同在於:在數據集合完全進入處理池中前,數據處理池更改自身的標簽類型,將自己化作緩存池。等到完全加載完畢將再次修改池的標簽類型,真正地進入數據沉降過程。由於在數據處理前花費的等待時間過長,所以分層積降法也稱為靜態法。由於一次處理未見得得到高分離度數據集,所以首次底層沉降的部分會通過容器壁面深埋的多路管道,回到頂部,進行二次沉降。整體看似分層,由此得名。

 

      3.動態沉淀法

        在容器池中啟用二級或多級緩存池,存儲新來的數據元,並且在篩選程序未執行完前,前一批操作時不得從緩存池中釋放。當篩選程序執行完后,調度一級緩存池的數據集。二級緩存池將數據分配給一級緩存池。當設置的N級緩存池緩存滿了之后,將阻塞進料口,導致進料緩慢但不會造成數據集內容丟失。也可以采用多路復用的形式,在一層分離提取的基礎上設置二層或多層分離池,提高提取的成分精度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM