醫藥產品數據處理方法
【專利摘要】本發明提供了一種醫藥產品數據處理方法,該方法包括:在云存儲系統中采用分布式數據索引存儲多個維度的數據,并基于數據塊的檢索頻率來管理副本。本發明提出了一種醫藥產品數據處理方法,能夠解決多維數據的檢索問題,明顯降低了系統響應用戶請求的時延,提高用戶的檢索體驗。
【專利說明】
醫藥產品數據處理方法
技術領域
[0001]本發明涉及大數據計算,特別涉及一種醫藥產品數據處理方法。
【背景技術】
[0002]云存儲采用了云計算、分布式文件系統以及服務器集群等技術,將網絡中各種存儲資源聚合起來,共同對外提供數據存儲和業務訪問功能,在醫藥科研、生產和貿易服務領域有著廣泛應用。然而,當云計算提供商給醫藥領域客戶提供服務時,系統資源的可用性和利用率成為影響醫藥領域客戶體驗和自身效益的關鍵指標,如何對龐大的資源進行有效管理便成了云計算提供商所必須要考慮的問題之一。檢索處理是云平臺中數據管理的核心技術,檢索性能直接影響用戶使用云平臺的服務質量。由于現有的數據索引和組織方法實現起來復雜,索引維護代價高,尤其是檢索的維度較高時,用戶的檢索體驗急劇下降。需要很大的系統開銷,嚴重影響系統的性能和吞吐量。
【發明內容】
[0003]為解決上述現有技術所存在的問題,本發明提出了一種醫藥產品數據處理方法,包括:
[0004]在云存儲系統中采用分布式數據索引存儲多個維度的數據,并基于數據塊的檢索頻率來管理副本。
[0005]優選地,所述采用分布式數據索引存儲多個維度的數據,進一步包括:
[0006]采用各個數據節點獨立管理自己局部數據索引的方式,在每個數據節點中,對該節點上的元組所對應的位序列值建立B-樹;樹的葉子節點中的每個鍵都對應一個位序列值和一個指向該位序列值的鏈表;當新元組被插入時,首先根據元組的主鍵查找該元組應當插入的數據節點,并計算新元組在該數據節點中所對應的相對位置;然后判斷該元組的屬性值在該數據節點上是否為首次出現并且更新節點;如果是首次出現,則將新元組對應的位序列值插入到B-樹索引中;如果不是首次出現,則只需在B-樹的葉子節點中找到該位序列值,更新其指向的鏈表,將該元組加入到鏈表中;當要刪除某個元組時,首先根據元組的主鍵值查找到該元組應當存在的數據節點及在該數據節點中的相對位置,然后依據該元組上的被索引屬性的值所對應的位序列值檢索并更新該數據節點的局部索引B-樹;當要檢索元組時,主節點首先將檢索條件轉換為條件位序列,所述條件位序列覆蓋檢索條件所包含的所有可能性,然后主節點將條件位序列并行發送到所有的數據節點上,接著在數據節點上檢索,判斷該數據節點中是否可能存在符合條件的元組,如果不存在,則返回空集,否則繼續查找B-樹索引,從葉子節點中找到符合條件的元組位序列值后,再遍歷葉子節點的鏈表;主節點向用戶返回所有數據節點計算結果的并集。
[0007]優選地,所述基于數據塊的檢索頻率來管理副本,進一步包括:
[0008]將名字節點作為中心服務器,客戶端所有的讀寫請求必須先經過名字節點,通過在名字節點增加一個監視器,來記錄文件訪問次數;將檢索頻率定義為上一個周期檢索頻率和當前周期中文件寫頻率減去讀頻率的加權平均值,名字節點中的監視器每經過一個周期就對系統中的所有文件進行一次檢索頻率的計算;
[0009]用FHm表示第m個周期后的頻率,用Rk表示第K個周期內文件的讀操作頻率,用Wk表示第K個周期內文件的寫操作頻率,用T表示周期,則在第m個周期后,文件的頻率表示為:
[0010]FHm = aFHm-l+P(Rm-ffm)
[0011]其中,α,β均大于O且和為1,分別表示上一個周期檢索頻率的影響權值和本周期內讀寫頻率的影響權值;根據文件訪問頻率的不同,將頻率鏈表分為高頻率訪問頻率鏈表、中頻率訪問頻率鏈表、低頻率訪問頻率鏈表;對不同層次的文件訪問隊列采用不同的周期進行統計;
[0012]首先,用FC表示副本的頻率,用count表示當前系統中副本的數量;副本的頻率表示為:
[0013]FC=FH/ count
[0014]設置副本增加閾值和副本減少閾值;當FC的值大于副本增加閾值時,監視器通知名字節點增加相應副本的數量;名字節點響應監視器發來的請求,啟動副本數量增加命令,根據副本分布策略選擇最優的數據節點來存儲副本,當數據節點上副本復制工作完成以后,名字節點更新副本數量;當FC的值小于副本減少閾值時,監視器通知名字節點減少副本數量,名字節點響應監視器發來的請求,啟動副本數量減少命令,根據副本分布策略刪除最優的數據節點上的副本,當數據節點上副本刪除工作完成以后,名字節點更新副本數量。
[0015]本發明相比現有技術,具有以下優點:
[0016]本發明提出了一種醫藥產品數據處理方法,能夠解決多維數據的檢索問題,明顯降低了系統響應用戶請求的時延,提高用戶的檢索體驗。
【附圖說明】
[0017]圖1是根據本發明實施例的醫藥產品數據處理方法的流程圖。
【具體實施方式】
[0018]下文與圖示本發明原理的附圖一起提供對本發明一個或者多個實施例的詳細描述。結合這樣的實施例描述本發明,但是本發明不限于任何實施例。本發明的范圍僅由權利要求書限定,并且本發明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節以便提供對本發明的透徹理解。出于示例的目的而提供這些細節,并且無這些具體細節中的一些或者所有細節也可以根據權利要求書實現本發明。
[0019]本發明的一方面提供了一種醫藥產品數據處理方法。圖1是根據本發明實施例的醫藥產品數據處理方法流程圖。本發明針對多維數據的范圍檢索采用分布式數據索引方法,并且基于數據塊的檢索頻率而采用自適應副本調整策略。
[0020]本發明中元組、屬性的概念與關系型數據庫中元組、屬性的概念相同,即表中的每條記錄就是一個元組,每列就是一個屬性。為了實現檢索的高并發,本發明采用各個數據節點獨立管理自己局部數據索引的方式,在每個數據節點中,對該節點上的元組所對應的位序列值建立B-樹。樹的葉子節點中的每個鍵都對應一個位序列值和一個指向該位序列值的鏈表。當新元組被插入時,首先根據元組的主鍵查找該元組應當插入的數據節點,并計算新元組在該數據節點中所對應的相對位置。然后判斷該元組的屬性值在該數據節點上是否為首次出現并且更新節點。如果是首次出現,則將新元組對應的位序列值插入到B-樹索引中.如果不是首次出現,則只需在B-樹的葉子節點中找到該位序列值,更新其指向的鏈表,將該元組加入到鏈表中去即可。當要刪除某個元組時,首先根據元組的主鍵值查找到該元組應當存在的數據節點及其在該數據節點中的相對位置,然后依據該元組上的被索引屬性的值所對應的位序列值檢索并更新該數據節點的局部索引B-樹。
[0021]當要檢索元組時,主節點首先將檢索條件轉換為條件位序列。生成的條件位序列應該覆蓋檢索條件所包含的所有可能性。然后主節點將條件位序列并行的發送到所有的數據節點上,接著在數據節點上檢索,判斷該數據節點中是否可能存在符合條件的元組,如果不存在,則返回空集,否則繼續查找B-樹索引,從葉子節點中找到符合條件的元組位序列值后,再遍歷葉子節點的鏈表。主節點向用戶返回所有數據節點計算結果的并集。
[0022]基于文件訪問頻率的副本調整策略中,主要包括如何進行文件讀寫訪問頻率的計算:不同等級的文件訪問頻率鏈表;確定副本數量的上限和下限;以及設定副本增加閾值和副本減少閾值。
[0023]將名字節點作為中心服務器,客戶端所有的讀寫請求必須先經過名字節點,通過在名字節點增加一個監視器,來記錄文件訪問次數。
[0024]將檢索頻率定義為上一個周期檢索頻率和當前周期中文件寫頻率減去讀頻率的加權平均值。名字節點中的監視器每經過一個周期就對系統中的所有文件進行一次檢索頻率的計算。
[0025]本發明用FHm表示第m個周期后的頻率。用Rk表示第K個周期內文件的讀操作頻率,用Wk表示第K個周期內文件的寫操作頻率,用T表示周期。則在第m個周期后,文件的頻率表示為:
[0026]FHm = aFHm-l+P(Rm-ffm)
[0027]其中,α,β均大于O且和為1,分別表示上一個周期檢索頻率的影響權值和本周期內讀寫頻率的影響權值。
[0028]根據文件訪問頻率的不同,本發明將頻率鏈表分為三種不同的層次:高頻率訪問頻率鏈表、中頻率訪問頻率鏈表、低頻率訪問頻率鏈表。本發明對不同層次的文件訪問隊列采用不同的周期進行統計,對于高頻率訪問頻率的隊列,本發明采用較短的周期,對于低頻率訪問頻率的隊列,本發明采用較長的周期。
[0029]首先,用FC表示副本的頻率,用count表示當前系統中副本的數量。那么,副本的頻率可以表示為:
[0030]FC=FH/ count
[0031]在這里設置兩個閾值:副本增加閾值和副本減少閾值。當FC的值大于已經設定的副本增加閾值時,說明需要增加副本的數量,來響應大量的用戶請求。監視器需要通知名字節點增加相應副本的數量。名字節點響應監視器發來的請求,啟動副本數量增加命令,根據副本分布策略選擇最優的數據節點來存儲副本,當數據節點上副本復制工作完成以后,名字節點更新副本數量。當FC的值小于已經設定的副本減少閾值時,說明這個時候可以減少不必要副本的數量,來提高系統的利用率。這個時候,監視器需要通知名字節點減少副本數量。名字節點響應監視器發來的請求,啟動副本數量減少命令,根據副本分布策略刪除最優的數據節點上的副本,當數據節點上副本刪除工作完成以后,名字節點更新副本數量。
[0032]本發明進一步依據文件的可靠性要求,確定副本數量的下限MIN,依據系統允許的開銷確定副本數量的上限MAX。用R表示可靠性要求,用L表示數據節點失效率,用EL表示環境故障率。那么,必須滿足:
[0033]( 1-LminM 1_EL)>R
[0034]用S表示系統允許的開銷,用V表示副本大小,用F表示更新頻率,那么必須滿足:
[0035]V*MAX*F〈S
[0036]綜上所述,本發明提出了一種醫藥產品數據處理方法,能夠解決多維數據的檢索問題,明顯降低了系統響應用戶請求的時延,提高用戶的檢索體驗。
[0037]顯然,本領域的技術人員應該理解,上述的本發明的各模塊或各步驟可以用通用的計算系統來實現,它們可以集中在單個的計算系統上,或者分布在多個計算系統所組成的網絡上,可選地,它們可以用計算系統可執行的程序代碼來實現,從而,可以將它們存儲在存儲系統中由計算系統來執行。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0038]應當理解的是,本發明的上述【具體實施方式】僅僅用于示例性說明或解釋本發明的原理,而不構成對本發明的限制。因此,在不偏離本發明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。此外,本發明所附權利要求旨在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內的全部變化和修改例。
【主權項】
1.一種醫藥產品數據處理方法,其特征在于,包括: 在云存儲系統中采用分布式數據索引存儲多個維度的數據,并基于數據塊的檢索頻率來管理副本。2.根據權利要求1所述的方法,其特征在于,所述采用分布式數據索引存儲多個維度的數據,進一步包括: 采用各個數據節點獨立管理自己局部數據索引的方式,在每個數據節點中,對該節點上的元組所對應的位序列值建立B-樹;樹的葉子節點中的每個鍵都對應一個位序列值和一個指向該位序列值的鏈表;當新元組被插入時,首先根據元組的主鍵查找該元組應當插入的數據節點,并計算新元組在該數據節點中所對應的相對位置;然后判斷該元組的屬性值在該數據節點上是否為首次出現并且更新節點;如果是首次出現,則將新元組對應的位序列值插入到B-樹索引中;如果不是首次出現,則只需在B-樹的葉子節點中找到該位序列值,更新其指向的鏈表,將該元組加入到鏈表中;當要刪除某個元組時,首先根據元組的主鍵值查找到該元組應當存在的數據節點及在該數據節點中的相對位置,然后依據該元組上的被索引屬性的值所對應的位序列值檢索并更新該數據節點的局部索引B-樹;當要檢索元組時,主節點首先將檢索條件轉換為條件位序列,所述條件位序列覆蓋檢索條件所包含的所有可能性,然后主節點將條件位序列并行發送到所有的數據節點上,接著在數據節點上檢索,判斷該數據節點中是否可能存在符合條件的元組,如果不存在,則返回空集,否則繼續查找B-樹索引,從葉子節點中找到符合條件的元組位序列值后,再遍歷葉子節點的鏈表;主節點向用戶返回所有數據節點計算結果的并集。3.根據權利要求2所述的方法,其特征在于,所述基于數據塊的檢索頻率來管理副本,進一步包括: 將名字節點作為中心服務器,客戶端所有的讀寫請求必須先經過名字節點,通過在名字節點增加一個監視器,來記錄文件訪問次數;將檢索頻率定義為上一個周期檢索頻率和當前周期中文件寫頻率減去讀頻率的加權平均值,名字節點中的監視器每經過一個周期就對系統中的所有文件進行一次檢索頻率的計算; 用FHm表示第m個周期后的頻率,用Rk表示第K個周期內文件的讀操作頻率,用Wk表示第K個周期內文件的寫操作頻率,用T表示周期,則在第m個周期后,文件的頻率表示為:FHm = aFHm-l+P (Rm-Wm) 其中,α,β均大于O且和為I,分別表示上一個周期檢索頻率的影響權值和本周期內讀寫頻率的影響權值;根據文件訪問頻率的不同,將頻率鏈表分為高頻率訪問頻率鏈表、中頻率訪問頻率鏈表、低頻率訪問頻率鏈表;對不同層次的文件訪問隊列采用不同的周期進行統計; 首先,用FC表不副本的頻率,用count表不當如系統中副本的數量;副本的頻率表不為:FC = FH/ count 設置副本增加閾值和副本減少閾值;當FC的值大于副本增加閾值時,監視器通知名字節點增加相應副本的數量;名字節點響應監視器發來的請求,啟動副本數量增加命令,根據副本分布策略選擇最優的數據節點來存儲副本,當數據節點上副本復制工作完成以后,名字節點更新副本數量;當FC的值小于副本減少閾值時,監視器通知名字節點減少副本數量,名字節點響應監視器發來的請求,啟動副本數量減少命令,根據副本分布策略刪除最優的數據節點上的副本,當數據節點上副本刪除工作完成以后,名字節點更新副本數量。
【文檔編號】G06F17/30GK105912877SQ201610313487
【公開日】2016年8月31日
【申請日】2016年5月12日
【發明人】許馳
【申請人】成都鼎智匯科技有限公司