前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的柳樹的詩句主題范文,僅供參考,歡迎閱讀并收藏。
2013年3月22日,根據“互聯網的那些事”微博爆料,王健林,馮侖,郭廣昌,李東生,曹國偉,李彥宏,馬化騰,江南春,古永鏘等重要人物齊聚淘寶創新大廈,有知情人士稱,這次商界大佬共聚一堂是為了共同推動智能物流骨干網計劃。
根據阿里巴巴對智能物流骨干網(China Smart Logistic Network,簡稱CSN)的規劃,CSN將是一個覆蓋全中國,投資周期為5-8年,多層次、多節點的立體網絡,電商生態系統的各種角色如制造商、網商、快遞物流、第三方服務公司等,都將在網絡的漸次展開中成為建設者、使用者、進化者。其作為中國未來商務的基礎設施,將支撐日均300億元的交易額,促進1000萬家新型企業的誕生。
“社會化”物流啟動
2013年1月23日,阿里巴巴、銀泰、復星、富春、“四通一達”、順豐,以及相關資本市場的領軍機構、及金融機構等齊聚杭州阿里巴巴集團總部進行閉門會議,通過了“1000億元投資建設物流網”的決議。這標志著相對于京東等電商的自辦物流而言,阿里巴巴電子商務時代的“社會化”物流正式啟動 。
其實,早在2012年12月1日,阿里巴巴集團便與浙江省金華市人民政府簽署戰略合作協議,宣布投資建設“中國?金義電子商務新城”項目,即中國智能物流骨干網關鍵節點的首個全國樣本項目。據悉,阿里巴巴還與上海嘉定、成都高新區等地進行了關鍵節點建設的會談。
在電商物流園中,至少有三種角色:阿里巴巴向地方政府要政策,制定標準,保證“智能化”,同時兼有投資人身份;投資或金融機構負責資金來源;第三方物流企業負責運營。
物流技術與應用雜志社主編王繼祥對本刊記者說:“電商雖然有很多配送公司,但結點最為關鍵,因為兩點成一線,想編織覆蓋全國的物流網,必須先建點。同時,在阿里巴巴的影響力與號召力下,勢必帶動土地增值。馬云投資幾百億,是穩賺不賠。”“馬云搭平臺后,地方政府也會給出優惠政策,有利于集合各方力量,吸引更多人加盟。建一個社會化的系統,這是馬云最大的優勢。”
數據顯示,2012年,中國網絡零售規模遠超1萬億,年增速超過80%,達到10萬億只是時間問題。王繼祥說:“這些年物流快遞業的演化進度有目共睹,2012年支撐國人57億只包裹流轉,“四通一達”承擔了其中80%的運量。”
但物流基礎設施和設備投入嚴重滯后將越來越掣肘快遞行業的發展。以物流中心的面積為例,中國人均物流倉儲面積僅為美國的1/14;現有物流倉儲設施中,超過70%建于上世紀90年代之前,不能滿足現代化需求;中國目前5.5億平方米的物流倉儲設施的供應量中,達到國際化標準的,不滿1000萬平方米。
面對這一窘境,馬云一直想介入其中。早在14年前,馬云就曾提出“電商三流”的說法,即電子商務必須打通信息流、資金流、物流三個難點環節。眼下,信息流由淘寶、阿里巴巴、天貓、阿里媽媽等網站解決,資金流則由“阿里金融+支付寶”基本解決,物流則成為其中最為薄弱的環節。
2011年前后,阿里巴巴在物流方面進行了多方面的探索,方法主要是兩種:一是直接投資,比如投資百世物流,星晨急便等新型物流企業;二是結盟,2011年初淘寶宣布與第三方物流服務商結盟,做云物流。2012年初,阿里巴巴還正式與包括郵政在內的九大物流商結盟。
業內專家表示,馬云最早是希望由他搭建平臺,引入社會上的物流公司,通過物流公司在淘寶上提供物流服務,但一段時間后,他就發現物流公司有的比較散,有的不能滿足需求,有的沒有全國網絡。基于此,他才想做一個覆蓋全國的物流系統,并試圖自己投資進行建設,這就是智能物流骨干網最早的雛形。
所謂“智能”
2011年作為“十二五”的開局之年,我國提出了“智慧物流”的概念。2012年2月14日,工信部出臺《“十二五”物聯網發展規劃》強調將大力推進物聯網技術在物流領域等9個重點行業中的研發與應用。
根據相關資料對智慧物流的解讀,它被認為是利用集成智能化技術,使物流系統能模仿人的智能,具有思維,感知,學習、推理判斷和自行解決物流中某些問題的能力。智慧物流的出現,可以實現物流的信息化、智能化、網絡化、電子化,實現傳統物流向現代物流的轉變。
建成后的“中國智能物流骨干網”,也將通過系統深度整合,通過數據交互、共享的原則,推動供應鏈平臺提高效率、降低成本,以更好地支撐電子商務的發展,從而讓物流網絡邁入智慧商務時代。王繼祥認為,所謂智能,可以理解為 “生態系統”的概念。
“智能物流”的關健是智能化,而智能化的關健是大數據。阿里巴巴智能物流的優勢就是數據采集平臺的優勢,即由淘寶、阿里巴巴、天貓、阿里金融+支付寶等提供龐大數據的支持。
有專家表示,現在的物流企業還不能與淘寶網和阿里巴巴等電子商務企業進行無縫對接,只有這些企業都互相開放平臺,產生網絡化與智能化的服務,才算是建立起電子商務的生態系統。
王繼祥認為,馬云對于智慧物流的理解是希望通過物流的建設聯絡制造商和服務商,將電子商務的觸角延伸到銷售、制造、生產與分銷等領域。在這種智能的物流系統中,電商能夠與各個環節充分融合,并對整個生態系統進行演化和演進,即所謂進化。促使整個“生態系統”的邊界延伸。
站在阿里巴巴合作方的角度,他們認為,“中國智能物流骨干網”極可能成為一個超級 IT 系統,首先將各家整合,再實現相關交互。“四通一達”及順豐提供的就是基礎運輸能力,連接北上廣的大規模包裹交換中心。這樣,幾乎全部的產業鏈都可以順利的生長于由包裹物流組成的網絡上,并最終形成整個商業環境。
特別是未來智能骨干網絡里將匯聚買家購買物品的龐大信息(如地址、購買商品、消費習慣等)。通過對這些數據深度挖掘,可以細分出各區域、各分類人群的需求,并通過過去的購買信息以及物流信息預測未來的需求,這才是隱藏最深的價值。
關鍵詞: 數據流; 壓縮桶; 聚集查詢; 時間維度
中圖分類號:TP393 文獻標識碼:A 文章編號:1006-8228(2012)04-29-03
Aggregate compression algorithm for data stream
Wang Baojun, Zhan Ying
(Zhejiang Institute of Communications, Hangzhou, Zhejiang 311112, China)
Abstract: In many fields, data stream continues to grow in terms of generation speed. Aggregate query for data stream was most widely used. By constructing compression buckets, the authors provides in this paper a compression algorithm for data stream based on time dimension, in order to dynamically form compression data stream, and give mathematical method of aggregate query for data stream, by use of compression buckets.
Key words: data stream; compression buckets; aggregate query; time dimension
0 引言
數據流是隨著網絡的廣泛應用而出現的一種新的數據形式。數據流聚集查詢是數據流管理與知識發現系統中一種重要的數據知識發現模型,但快速流動的流數據與有限的處理能力之間的矛盾使得流數據的聚集查詢分析比關系數據庫的聚集分析更困難。
目前國內外已經對數據流聚集查詢模式展開了研究。Dobra A等人研究利用隨機草圖技術,提取數據流的輪廓,減少數據的處理量來加快數據處理速度,并提出了一種草圖分割技術來提高算法的性能[1]。Gilbert A C等人研究采用小波技術對數據流進行壓縮,實現了近似聚集查詢[2]。Madden研究了傳感器網絡中的聚集查詢問題,重點是如何動態地建立路由樹,實現流水線聚集操作[3,4]。Ahnad Y提出了數據流查詢的分布式操作[5]。張冬冬等人提出了一種新的數據流傳輸方式,有效地減少網絡中分布式數據流的傳輸量[9]。傅鸝等人建立了基于數據流驅動的數據流連續查詢模型,設計并使用查詢算子在查詢鏈中的有序組合來構造出各種復雜的連續查詢語句[7]。李建中等人提出利用多元線性回歸方法來預測具有線性關系的數據流的未來聚集值,但如果數據不具有線性關系,該模型誤差就會增大[10]。
以上的數據流聚集查詢相關算法采用近似聚集、壓縮數據流等技術來提高查詢速度。由于數據流的“流”性和隨機性,使得流量的變化具有突發性,然而,商業活動中,普遍要求能夠實時地檢索面向數據流的聚集查詢結果,并獲得更高的準確率。
1 數據流壓縮
1.1 相關問題描述
數據流是一個以數據到達時間為戳的數據序列。流數據的聚集查詢分為預定義查詢(Predefined Query)和即席查詢(Real-time Query)兩類。預定義查詢主要針對數據流后續到來的數據計算查詢結果;而即席查詢是針對數據流中流過的所有數據。數據流源源不斷地流入系統,因此無法將所有數據流保存起來,為了獲得更為準確的即時查詢結果,在聚集查詢中,需要對數據流進行壓縮。由于數據流動態振蕩流動,面向數據流的數據流聚集查詢系統無法存儲所有流數據,而用戶有查詢分析過去與未來流數據的需求,因此需要不斷地壓縮數據流,來滿足用戶需求。壓縮后的數據流結構應該是簡單的,方便為用戶提供各類流數據聚集查詢,并能夠最大程度地反映原始流數據。壓縮后的數據流結構是對壓縮后的數據流的靜態特征的描述,它描述數據的內容和流數據之間的相互關系。
由于數據流連續無限地流動,數據流具有時間特征,因此可以在時間維度上壓縮數據流。本文采用基于對數尺度的時間傾斜框架模型[8]來壓縮數據流。面向數據流壓縮算法以增量的方式對壓縮數據流進行更新,從而提高數據流的壓縮速度,滿足數據流聚集查詢的實時性要求。用戶會根據需求向系統提出多種聚集查詢,這要求壓縮數據流盡可能地反映原數據流的信息。隨著時間的流逝,流過的流數據被不斷地壓縮,歷史流數據被不斷地拋棄。
1.2 相關定義
定義1. 設PT為時間分區長度。構造壓縮桶Buckcets(BuckcetsID=0…n),壓縮桶有三個抽屜drawer(drawerID=0…2),每個抽屜存放流數據的時間長度為2 BuckcetsID×PT。壓縮桶的結構如圖1所示。其中每個桶的2號抽屜是臨時存儲單元。如果0號抽屜是空的,則同一個桶的1號抽屜也空。
設i(i=0…n)為壓縮桶的編號, i號桶中的抽屜存儲流數據的時間長度為2i×PT。每個壓縮桶的第0號與第1號抽屜存放流數據,2號抽屜是臨時存儲空間,只有當這個桶中的第0號與第1號抽屜非空,此時只能將新流入的流數據臨時存放到2號抽屜,系統合并此桶的第0號與第1號抽屜,并推入下一桶后,新流入到2號抽屜的流數據被轉移到同一桶的0號抽屜。例如,第0號桶流入第3個PT時間長度的流數據,而第0號桶的第0號與第1號抽屜已經分別存儲了第1個和第2個PT時間長度,系統壓縮第0號桶的第0號與第1號抽屜,并將流數據推入第1號桶的第0號抽屜后,第3個PT時間長度的流數據才可以流入第0號桶的第0號抽屜。也就是說,桶號為i的流數據來源于桶號為i-1的桶,系統壓縮第i-1號桶的第0號與第1號抽屜,并將流數據推入第i號桶的第0號或第1號抽屜。壓縮桶間的數據壓縮與流動示意圖如圖2所示。
圖1 壓縮桶的結構
圖2 壓縮桶間的數據壓縮與流動示意圖
引理 保存流數據的最大時間長度為LongTime,MaxBCount為保存LongTime時長的流數據所需壓縮桶的數量。則
⑴
證明:設m個桶最多可以存儲流數據的時間長度為MaxT(m),則
MaxT=(2×20+2×21+…+2×2m) ×PT
所以MaxT(m)=(2m+1-2)×PT
設m-1個桶最多可以存儲流數據的時間長度為MaxT(m-1),則
當時間長度LongTime滿足:
MaxT(m-1)<LongTime≤MaxT(m)
則存儲時間長度LongTime的流數據至少需要m個桶。所以:
證畢。
1.3 數據流壓縮算法
以商業零售實際業務數據流為例,本文將探索針對數據流的聚集查詢與壓縮方法。商業零售數據流結構如下:sale(ProductID,OrderQty),sale是超市商業零售數據流,ProductID表示產品編號,OrderQty表示訂貨量。用戶根據需求提交各類查詢,并請求實時獲得各類查詢結果。例如,系統根據用戶提交的產品號 ProductID,選擇相關產品進行壓縮。
定義初始數據流結構:
Datasourse(timestamp;productID;orderqty),timestamp記錄了流數
據到達的時間點。
定義壓縮后數據流的數據結構:
Compresssourse(starttime; productID; maxorderqty;minorderqty;sumorderqty; countorderqty),starttime表示壓縮的初
始時間; maxorderqty表示訂貨量的最大值;minorderqty表示訂
貨量的最小值;sumorderqty表示訂貨量的總和; countorderqty表
示訂貨次數。
算法1:數據流壓縮算法
輸入:初始數據流。
輸出:經過壓縮后的數據流存儲在桶中,每個抽屜存儲壓縮后的數據流。
定義桶的數據結構:
public struct buckets
{public compresssourse drawer0;
public compresssourse drawer1;
public compresssourse drawer2;}
根據需存儲的最大時間長度,計算需要的桶數MAXBcount;
定義桶DataS:
buckets[] DataS = new buckets[MAXBcount];
初始化桶中的所有抽屜;定義記錄時間長度的變量feng;定義時間分區PT;
While(true)
{根據用戶提交查詢的產品號ProductID 獲取原始數據流;
獲得產生數據流的當前時間;
if(接收的是第一個流數據)
{壓縮后直接推入0號桶2號抽屜,它的starttime為被推入流數據的
timestamp。接著進入下一循環等待下一個流數據;}
計算新流入的流數據的timestamp與0號桶2號抽屜的starttime相隔時間feng:
if (是同一個時間分區feng < PT)
{壓縮同一時間分區內的數據到0號桶2號抽屜;
回到循環開頭,繼續讀下一個數據;
continue;}
else
{ 記錄當前桶號碼;
while (DBcount < MAXBcount)
{if (桶0號抽屜有空)
{將桶2號抽屜的數據移到桶0號抽屜;
break;}
else
{if (桶1號抽屜有空)
{將桶2號抽屜的數據移到桶1號抽屜;
break; }
else
{if (不是最后一桶)
{將該桶的0號與1號抽屜合并后放入下一桶中的2號抽屜;
該桶的0號與1號抽屜變空;}
else
{丟棄該桶的0號與1號抽屜;}
合并后,該桶0號抽屜空出來,放入該桶2號抽屜的流數據; }}}
if (0號桶2號抽屜空))
{將新讀入的數據放入0桶2號抽屜;
重新設置starttime;}
else {break;}}}
2 獲得壓縮桶狀態的數學方法
當用戶向系統提出面向數據流的查詢請求時,系統首先判斷流數據被壓縮到哪些桶中,而壓縮流數據存儲了最大值、總和等聚集值,使得用戶獲得聚集值變得非常方便。
在壓縮過程的任意時刻,用戶均可能提出獲得流數據的聚集值,這要求系統能夠迅速判斷各個桶的狀態,也就是每個桶中的0號抽屜或1號抽屜是否存儲了壓縮數據。
假設j為最后流入桶中的時間分區流數據,求每個桶中含有數據的抽屜數。存儲第j個時間分區,需要BCount個桶。則:
, ⑵
如果,BCount大于MaxBCount,則從MaxBCount+1到BCount號桶的流數據被丟棄。所以,
,j∈N+。
則,
, ⑶
其中ai的取值僅為0或1,表示第i個桶中有ai+1個抽屜有流數據。ai=0表示0號抽屜存儲了壓縮流數據,ai=1表示0號與1號抽屜存儲了壓縮流數據。
例如j=33,表示持續流入數據流的時間長度為33×PT個時間長度。根據公式⑵,此時需要的桶數為5。根據公式⑶,得到33-25+1=2。則2=0×20+1×21+0×21+0×21+0×21,由此,我們可以得到壓縮桶的狀態為0號桶、2號桶、3號桶、4號桶的0號抽屜存儲了壓縮數據,1號桶的0號與1號抽屜存儲了壓縮數據。
3 結束語
本文提出了在時間維度上壓縮數據流的方法:不斷流入壓縮桶的流數據被不斷地以2為底的對數尺度進行壓縮。實驗表明,壓縮桶結構在滿足了壓縮數據的存儲需求的同時,大大減少了存儲空間,桶中的壓縮數據能夠隨著時間不斷地更新,基于時間傾斜的數據流壓縮算法能夠提高數據流的壓縮速度。能夠滿足數據流聚集查詢的實時性要求,也能夠提高數據流動態聚集查詢的效率及靈活性。
參考文獻:
[1] Dobra A,Garofalakis M,Gehrke J,et a1.Processing Complex Aggregate Queries over Data Streams[C].Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data,M acIison.W isconsin.2002.
[2] Gilbert A C,Kotidis M uthukrishnan S M ,et a1.Surfing Wavelets on Streams: One―pass Summaries for Approximate Aggregate Queries[C] .Proceedings of the 27th International conference on Very Large Data Bases.2001
[3] Madden S R,Franklin M J,Hellerstein J M ,et a1.TAG :A Tiny Aggregation Service for Ad―hoc Sensor Networks[C] .Proc.of the 5th Symp.on Operating Systems Design and Implementation,Boston,USA 2002.
[4] Madden S R.Szewczyk R.Franklin M J.et a1.Supporting Aggregate Queries Over Ad―hoc Wireless Sensor Networks[C].Proceedings of the Workshop on Mobile Computing and Systems Applications.Los Alamitos:IEEE Computer Press.2002.
[5] Ahnad Y,Berg B,Cetintemel U,et a1.Distributed operation in the borealis stream processing engine[C].Proc of ACM SIGMOD Conference.Baltimore:[s.n.],2005:882~884
[6] 詹英,吳春明,王寶軍.一種與緩沖區緊耦合的環形循環滑動窗口的數據流抽取算法[J].電子學報,2011.39(4):2262~2267
[7] 傅鸝,魯先志,蔡斌.一種基于數據流驅動的數據流連續查詢模型[J].重慶工學院學報(自然科學),2008.22(10)
[8] Jiawei Han,Micheline Kamber.Data Mining Concepts and Techniques[M].China Machine Press.
金融類流式計算
大數據流式計算會根據數據產生的規模與方式的不同分別應用于金融、互聯網以及物聯網中。眾所周知,在金融銀行領域的日常運營中,通常會產生大量數據,這些數據的時效性往往較短,因此,金融銀行領域是大數據流式計算最典型的應用場景之一,也是大數據流式計算最早的應用領域。在金融銀行系統內部,每時每刻都有大量的、往往是結構化的數據在各個系統間流動,并需要實時計算;同時,金融銀行系統與其他系統也有頻繁的數據溝通,這些數據不僅有結構化數據,也有半結構化和非結構化數據。通過對這些大數據的流式計算,發現隱含于其中的內在特征,可以幫助金融銀行系統進行實時決策。
在金融銀行的實時監控場景中,大數據流式計算往往體現出自身的優勢。例如:在風險管理方面,包括信用卡詐騙、保險詐騙、證券交易詐騙、程序交易等,需要實時跟蹤發現;營銷管理方面,根據客戶信用卡消費記錄,掌握客戶的消費習慣和偏好,預測客戶未來的消費需求,并為其推薦個性化的金融產品和服務。
互聯網類流式計算
隨著互聯網技術的不斷發展,用戶可以實時提供和分享各類數據。據統計,目前互聯網中75%的數據來源于個人,主要以圖片、音頻、視頻數據形式存在,迫切需要進行實時分析和計算的工作。
在互聯網領域中,大數據流式計算的典型應用場景主要包括以下方面:搜索引擎提供商們往往會在反饋給客戶的搜索頁面中加入點擊付費的廣告信息,插入什么廣告、在什么位置插入這些廣告才能得到最佳效果,往往需要根據客戶的查詢偏好、瀏覽歷史、地理位置等綜合語義進行決定,而這種計算對于搜索服務器而言往往是大量的。一方面,每時每刻都會有大量客戶進行搜索請求;另一方面,數據計算的時效性極低,需要保證極短的響應時間。同理,我們構建社交網站,一樣需要實時分析用戶的狀態信息,及時提供最新的用戶分享信息到相關的群體,準確地推薦朋友、推薦主題、提升用戶體驗,并能及時發現和屏蔽各種欺騙行為,至此大數據流式計算的方法就會幫助我們達成這種目標定位。
物聯網類流式計算
相對于金融和互聯網領域,在物聯網的應用環境中,各個傳感器會不定時產生大量數據,這些數據通常包含時間、位置、環境和行為等內容,具有明顯的顆粒性。由于傳感器的多元化、差異化以及環境的多樣化,這些數據呈現出鮮明的異構性、多樣性、非結構化、有噪聲、高增長率等特征,所產生的數據量之密集、實時性之強、價值密度之低是前所未有的,更需要進行實時和高效的計算。
無 業
(1)服務器存儲系統非常重要。大家都知道,硬盤作為服務器數據存儲的主要設備,同時也是一種技術含量高、制造精密的設備。服務器硬盤的發展目前已達到每秒10000轉或15000轉,普通的SA7A硬盤也非常接近這個轉速,在運行當中,一點細小的故障都有可能造成硬盤物理損壞,所以一般服務器都采用Raid磁盤陣列存儲,加強服務器硬盤的容錯功能。
(2)除了Raid硬盤容錯外,對于一些非常重要的數據要使用其他設備實時進行備份。推薦企業用戶、商務用戶架構的網絡服務器,選用磁帶機配合專業備份軟件(Veritas-Netbackup、CAArcsewer),定期定時做相對完善的備份方案。如果是個人用戶的話,建議采用經濟的CD-ROM/DVD光盤做為備份方式。
(3)對于一些簡單的誤刪除或格式化,針對文件不多,個人技術不錯的情況,可在網上下載一些,恢復軟件(DataRecover、Easyre-covery等)來嘗試進行恢復。當然,做之前可以先用Ghost軟件做個磁盤全備份,同時在恢復時最好是接上從盤。如果你個人對恢復的結果不滿意,就需要尋求專業的數據恢復公司進行操作了。
(4)如果發現服務器數據丟失,千萬不要再盲目操作,否則會減小數據恢復的機率。可通過電話尋找正規的數據恢復公司得到技術支持,聽取專家建議或請專業技術人員檢查。此時,你可以關機停止硬盤讀寫數據。不再往丟失數據的分區或硬盤里寫入數據,以減少二次破壞。
(5)時刻注意服務器硬盤的運行狀況,對于服務器硬盤指示燈多多觀察。一般來講,服務器外觀都有每一塊硬盤指示燈,正常情況下一般會是綠色,指示燈出現特殊情況時,就需要采用相關措施,仔細檢查硬盤設備是否正常。一旦硬盤受損或數據丟失,請不要驚謊,一定要保持冷靜的頭腦。以下是關于計算機常見硬盤故障情況與用戶采用的建議措施:
硬盤受損或數據丟失:
①硬盤出現異常聲響,此時磁頭已不正常尋址,為防止打傷盤體,需要立即斷電。不可拆解硬盤,需要交由有超凈間的專業公司拆開檢查。
②)BOOS不認盤,找不到硬盤,先請計算機工程師仔細檢查,還需要先告知內有重要數據,需小心處理。以免再次誤操作而導致硬盤損傷。
硬盤正常但突然讀不到數據:
①勿執行重建分區表或格式化等會破壞數據的動作。雖然還有救,但已無法100%救回所有數據,萬一受損的是重要的文件就得不償失了。
②先判斷正確,勿任意重裝Windows操作系統或用恢復盤進行操作,很容易將數據區覆蓋,而且通常覆蓋區是以幾百M計算的。
③引導時如自動執行Scandisk、Vrepair時,請按Esc或空格鍵取消動作,先檢查出受損原因,以免內部檔案遭大量破壞。
(6)當然,如果確認服務器硬盤存在特殊故障時,需要進行開盤處理!這個時候,選擇一家專業的數據恢復公司變得非常重要。目前,數據恢復由于技術門檻含量高,相對于一般的計算機維修公司來講要少,但少并不代表沒有。一些技術實力差、環境有限,甚至一些只管接單再轉其他公司操作的JS隨處可見!這個時候,請需要仔細識別,避免上當受騙,造成無法估算的后期損失。
如何快速更新病毒庫
我們自己通過制作程序制作的安裝包,只能讓我們恢復到在制作當時的病毒庫。這就需要我們經常做,太麻煩了!而下載安裝瑞星制作的安裝包,則能讓瑞星恢復到重裝系統前的最新病毒庫。但有一點就是我們在初次安裝瑞星時,不要安裝在系統盤上,否則重裝后就什么都沒有了!
目的:建立用流式細胞術檢測小鼠腹腔誘導的巨噬細胞吞噬功能的方法。方法:用貼壁法篩選有活性的巨噬細胞,再與用碳酸鹽緩沖液制備的熒光素(FITC)標記的大腸埃希菌混合,37℃孵育,每10min取少量固定后加EB染巨噬細胞核,用流式細胞儀檢測,計算巨噬細胞對大腸埃希菌的吞噬率。結果:FITC能夠有效標記大腸埃希菌;小鼠腹腔誘導的巨噬細胞能夠吞噬大腸埃希菌,并且在30min時達到最大峰值。結論:用流式細胞術檢測小鼠巨噬細胞吞噬FITC標記大腸埃希菌是測定巨噬細胞吞噬功能簡便、快速和重復性好的定量方法。
【關鍵詞】 巨噬細胞 吞噬作用 大腸埃希菌 流式細胞儀
Establish a New Method of Detecting Phagocytosis of Macrophage by Flow Cytometry
Abstract Objective: To use a new method of detecting phagocytosis of macrophage induced from the Belly of mouse by flow cytometry. Methods: Firstly, the living macrophages were collect by cultivating and adherencing, and bacterium coli(E. coli) was labeled FITC. Secondly, E. coli was mixed with macrophages, every 10 minute to take out of small amounts of mixed liquor,and add a little of EB dye. Finally, the fluorescent intensity was measured by flow cytometry. Results: The E. coli was labeled well by FITC in carbonate buffer. Macrophage can phagocytize E. coli and the efficient rat of phagocytosis was highest about at 30 minute. Conclusion: The method that detecting phagocytosis of macrophage phagocytizs E. coli is convenient、fast、good repeatability.
Key words macrophage; phagocytosis; bacterium coli; flow cytometry
巨噬細胞(macrophage,MP)是機體天然免疫的主要免疫細胞,吞噬率則直接反映巨噬細胞的吞噬功能。通常測定吞噬率的方法是對吞噬細菌的MP染色后在顯微鏡下觀察、計數的方法,也有研究者用流式細胞儀(Flow Cytometry,FCM)檢測MP的吞噬功能[1,2]。我們在檢測小鼠MP吞噬細菌的實驗中發現,小鼠MP的形態較小,染色后在顯微鏡下觀察計算吞噬率較為困難。本研究試建立用流式細胞術FITCEB法檢測MP的吞噬功能,以求找到一種簡便、客觀和重復性好的方法。
1 材料和方法
1.1 實驗材料
1.1.1 主要試劑
FITC;EB;2%淀粉肉湯;大腸埃希菌DH5A;2%瓊脂LB固體培養基;含血清培養基;流式細胞儀四色校準微球(CaliBRITEBeads,美國BD公司)。
1.1.2 實驗動物
BALB/C小鼠,25只,體重(19±2)g,由本院免疫學教研室保存提供。
1.1.3 主要儀器和軟件
隔水恒溫培養箱,型號:GNP9270 (上海精宏實驗設備有限公司);自控式CO2細胞孵育箱,型號:2300(美國Shellab公司);分光光度計,型號:Jenway 6305 (Barloworld公司);蔡司熒光顯微鏡,型號:ZEISS AXIO Imager.A1 (蔡司光學儀器(上海)國際貿易有限公司);流式細胞儀,型號:FACSCalibur (美國BD公司);CellQuest軟件。
1.2 實驗方法
1.2.1 大腸桿菌培養及標記熒光素(FITC)
接種大腸桿菌于2%瓊脂LB固體培養基表面皿上,在37℃隔水恒溫培養箱中孵育48h,取少量菌落用PBS洗,革蘭氏(圖1)和GW染色觀察(圖3),并調節濃度(OD≈0.40在620nm處)。熒光素標記大腸桿菌[3]:離心去上清,加入250ul 1%Triton X100 和1ml FITC(0.01mg FITC/500ul 碳酸鹽緩沖液)37℃避光孵育15min,離心去上清,少量PBS重懸細菌待用,并用熒光顯微鏡觀察(圖2)。
1.2.2 巨噬細胞吞噬大腸桿菌
誘導、篩選腹腔巨噬細胞:腹股溝注入1ml2%淀粉肉湯液,48h后開腹腔收集滲出液,培養基洗一次,轉入培養瓶中37℃ CO2孵育箱孵育2h,收集貼壁細胞(1×107event)于離心管中4ml培養基重懸待用,并GW染色觀察(圖3)。檢測巨噬細胞吞噬大腸桿菌:加FITC標記大腸桿菌于巨噬細胞培養液中,置于37℃水平搖床上(慢速搖動),每10min取搖勻液0.5ml,PBS洗一次,70%乙醇固定10min,離心后加入1ml EB(0.5μg/ml),37℃避光孵育15min待測。首先使用BD CaliBRITE Beads試劑調整儀器,設定儀器基本參數,上樣后先用FSCH/SSCH圈定MP,再采集紅色熒光強度,并計算實際吞噬率(某時刻實際吞噬率=某時刻吞噬率-0min時的吞噬率),同時取少量GW染色觀察(圖3)。
1.3 統計分析
采用SPSS11.0軟件進行統計分析,數據以±s表示,P<0.05為有統計學意義。
2 結果
2.1 小鼠巨噬細胞吞噬FITC標記大腸埃希菌的定量觀察
由大腸埃希菌的革蘭氏染色圖像(圖1)可以看出:大腸埃希菌為革蘭氏陰性菌,并沒有其他細菌污染,可以應用于吞噬實驗;由大腸埃希菌的熒光顯微鏡觀察(圖2)可以看出:用碳酸鹽緩沖液(pH=9) 制備的熒光素(FITC)能夠有效標記大腸埃希菌;在不同時間段GW染色觀察巨噬細胞吞噬大腸埃希菌過程的圖像(圖3)中可以看出:在0~20min內巨噬細胞吞噬大腸埃希菌的量逐漸增加(巨噬細胞吞噬泡中大腸埃希菌的量增加),30min左右時巨噬細胞吞噬量最高,40min后巨噬細胞吞噬量有減少趨勢(吞噬泡中有明顯的溶菌現象,泡內大腸桿菌形態逐漸模糊)。
2.2 小鼠巨噬細胞吞噬FITC標記大腸埃希菌的動力學特點
小鼠巨噬細胞與FITC標記大腸埃希菌在37℃作用不同時間后, 巨噬細胞的實際吞噬率在0、10、20、30、40、50min時分別為0%、11.20±2.0%、21.57±2.1%、62.22±5.0%、54.58±3.5%、37.22±4.1%,在30min左右即達到峰值(表1,圖4)。表1 巨噬細胞吞噬大腸埃希菌的動力學數據(略)
3 討論
人類細胞免疫功能一般認為應包括白細胞、紅細胞及巨噬細胞等三大系統,其相應的檢測指標分別為:以CD4和CD8為主的T細胞亞群檢測,以RBCC3bRR和RBCICR為主的紅細胞免疫功能檢測和以巨噬細胞吞噬率為主的巨噬細胞吞噬功能檢測。但是,在臨床上由于細胞免疫功能檢測方法較繁瑣,往往作前兩項檢測,對于某些免疫性疾病以及與免疫功能損傷有關疾病的診斷與治療中,全面地評估機體的免疫狀態極為重要。
檢測MP功能最常用的方法之一就是檢測其對細菌的吞噬率,傳統方法是取外周血與細菌混合作用后涂片染色,在顯微鏡下觀察MP對細菌的吞噬率。該方法一般要尋找200個以上MP中吞噬細菌MP數量,操作較煩瑣,且形態較小,顯微鏡下觀察其對細菌的吞噬率更為困難。因此,已有研究者報道用流式細胞術測定中性粒細胞對熒光素標記細菌的吞噬功能[4,5],但目前有關巨噬細胞吞噬功能的檢測報道不多。
本研究在前人研究基礎上[6],選擇FITC和EB雙熒光性物質標記法檢測MP對大腸埃希菌的吞噬功能。其檢測原理是:首先利用FITC在碳酸鹽緩沖液中標記大腸埃希菌,再用MP吞噬標記后的大腸埃希菌,吞噬完成后,加入EB染料標記MP,在488nm的激光下MP內大腸埃希菌上的FITC首先發出綠色熒光,其熒光又可以激發MP上的EB染料,使其產生紅色熒光,通過計算紅色熒光的表達率反映MP對大腸埃希菌的吞噬功能。實驗結果顯示:0~20min內吞噬率逐漸增加;30min左右吞噬率達到平臺,與有關資料一致;40min以后吞噬率反而減少,有可能通過MP內溶菌酶作用把MP內細菌消化、分解,釋放到細胞外,導致MP內細菌減少,熒光能力減弱。其中,在流式細胞儀熒光強度直方圖中CV平均值為3.9%,由此可見,自動流式細胞儀用于檢測巨噬細胞吞噬功能,不但測量數據準確性高、重復性好、操作簡便、快速,而且保持MP細胞膜的完整性,能夠直接體現MP對細菌的吞噬能力,同時彌補了FITC熒光性弱難以區分、檢測的弱點。
本實驗結果充分證明通過流式細胞術的FITCEB法能夠簡便、快速和重復性好地定量檢測巨噬細胞對大腸埃希菌的吞噬功能。
參考文獻
1 張盈華,殷纓,張莉,等.流式細胞儀測定巨噬細胞吞噬率方法的建立及其應用.第四軍醫大學學報.2002,23(17):1559~1561.
2 WhiteOwen C,Alexander JW,Sramkoski RM,et al.Rapid whole blood microassay using flow cytometry for measuring neutrophil phagocytosis. J Clin Microbiol, 1992,30(8):2071~2076.
3 趙修春,姚春艷,李柏青,等.流式細胞術檢測小鼠中性粒細胞吞噬功能的方法學探討.基礎醫學.2004,29(5):388~390.
4 Vander Top EA, Perry GA, GentryNielsen MJ. A novel flow cytometric assay for measurement of in vivo pulmonary neutrophil phagocytosis. BMC Microbiology. 2006,6:61.
關鍵詞:脫硫脫硝系統 設計原則 數據采集 雙向傳輸
中圖分類號:X8 文獻標識碼:A 文章編號:1672-3791(2015)10(c)-0021-02
1 系統設計原則
1.1 一般性原則
為了便于數據采集系統進行二次開發及出于使用的便捷性考慮,在進行系統設計時應注意以下幾個原則:(1)平臺化原則。方便后期用戶根據自己的實際需求隨時進行變更;(2)開放性原則。確保設計系統與既有其他系統協調一致,便于進行數據傳輸;(3)易維護原則。系統盡量采用模塊化設計,便于進行周期性維護和錯誤定位;(4)安全性原則。確保系統配套有完備的安全體系。
1.2 特殊考慮原則
廠級數據采集系統的主要功能是在電廠工作時,能夠實時地進行數據采集并傳輸到信息網絡,讓終端數據作為操作人員決策的依據。所以,系統設計的關鍵原則就是確保DCS等控制系統的安全,與此同時提高系統的效率以及可靠性。
2 主站采集系統
2.1 系統功能
2.1.1 接收實時數據
接受來自脫硫/脫硝工作站傳送的實時數據包。
2.1.2 通訊協議轉換
(1)發送協議轉換:接收來自不同DCS系統的通訊格式實時數據,并將其轉換成統一的UDP協議,以便傳輸給橫向隔離裝置。
(2)上傳協議轉換:將橫向隔離裝置傳來的實時數據轉換成系統管理中心統一的通信格式,再上傳數據中心。
2.1.3 數據預處理
進行數據計算以及格式的轉換,為系統提供必要的前期數據處理。
2.2 采集框架圖
2.3.1 登陸報文
(1)登陸請求包。
數據內容就是登陸密碼和ip地址,密碼長度為6個字節。報文總長度為26+ip地址的字節長度。
(2)登陸應答包。
數據內容根據登陸請求包來定,長度為1個字節,分三種情況:登陸失敗、登陸成功和已登陸。報文總長度為21個字節,具體數據內容如下:
登陸失敗:0x01。登陸成功:0x00。已登陸:0x02。
2.3.2 心跳報文
(1)心跳請求報文。
數據內容為當前的時間,格式為yyyy-MM-dd HH:mm:ss。長度為19個字節。報文總長度是39個字節。
(2)心跳應答報文。
數據內容為心跳應答標識(0x0A),報文總長度是21個字節。
2.3.3 數據報文
(1)數據請求報文。
3 脫硫脫硝系統的復雜網絡中的雙向數據傳輸方案設計
3.1 方案設計
3.1.1 對數據雙向通信時,可進行以下定義
(1)定義了無數據傳輸的中斷的時間長度。
(2)定義了允許通過的最大字節數。
(3)定義了傳輸中數據包的類型為登錄包、登錄應答包、測試鏈路包、測試連接應答包、數據請求包、數據請求應答包。
(4)登錄包和測試包的字節數都小于允許通過的最大字節數。
3.1.2 工控機端的具體實現方式
(1)獲取統一的編碼,TCP連接成功后立刻發送登錄包,并等待登錄應答包。
(2)等待30s后,如果未收到登錄應答包,就自動斷開TCP連接,并重復3.1.2(1)。
(3)在收到登錄應答包時,啟動測試鏈路線程,每隔3.1.1(1)定義的時間長度進行鏈路測試,并在三次未收到測試鏈路應答包的情況下,自動斷開TCP連接,重復3.1.2(1),同時關閉測試鏈路線程。
3.1.3 服務器端的具體實現方式
(1)獲取各個電廠工控機統一編碼值。
(2) 啟動服務器數據接收程序和數據采集程序。
(3)等待工控機和服務器建立TCP連接。
數據采集程序,將采集的命令轉化成字節數組,根據允許通過的最大字節數對數據進行分包,并構建數據請求包,然后發送給工控機。
(1)等待接收數據請求應答包。(2)在收到數據請求應答包時,確定請求的包是否是分包傳輸或單包傳輸。如果是分包傳輸,則需等待其他分包的數據,并進行分包合并,形成數據請求應答包,最后解析數據入庫。
3.2 實施方式
實施具體方式如下。
(1) 在服務器端開啟數據采集的服務端程序。(2)等待電廠側工控機的TCP網絡連接及登錄。(3)工控機端啟動TCP連接程序,等待數據請求。(4)雙方進行雙向的數據傳輸。
4 結語
作為二氧化碳排放“大戶”,電廠應該做好數據采集平臺的建設,保證數據傳輸的有效性以及可靠性。該文基于目前數據采集系統數據雙向傳輸存在的問題,設計出一種可行的優化方案,提高了雙向傳輸數據的質量,對保護生態環境必將發揮積極的作用。
參考文獻
[1] 孫栓柱,代家元,高進,等.江蘇省火電機組節能減排在線監測系統的開發及應用[J].電力科技與環保,2014(1):50-53.
關鍵詞:Matlab軟件;制流與分壓電路實驗;特性研究
一、分壓電路特性研究及參數的變化
首先,用1000Ω滑線變阻作分壓器,負載電阻用1000Ω(K=1),測出滑線電阻滑動端的位置參數X和U/Umax分壓比,并作出U/Umax的關系曲線。其次,同上,用1000Ω滑線電阻和500Ω的負載電阻(K=0.1),測出X和U/Umax,記錄不同的K值。在Matlab軟件中編寫下列程序實現分壓電路實驗數據的處理和圖像的擬合:
x0=0:0.1:1.0;
y1=[0 0.24 0.48 0.58 0.72 0.92 1.12 1.58 2.18 3.42 4.46];
z1=max(y1);
y2=[0 0.38 0.72 0.98 1.32 1.72 2.02 2.48 3.26 4.18 4.64];
z2=max(y2);
y3=[0 0.40 0.82 1.18 1.58 2.02 2.40 2.98 3.62 4.32 4.52];
z3=max(y3);
y4=[0 0.18 0.28 0.34 0.48 0.58 0.78 1.02 1.66 2.98 4.48];
z4=max(y4);
n=3;
p1=polyfit(x0,y1,n)
p2=polyfit(x0,y2,n)
p3=polyfit(x0,y3,n)
p4=polyfit(x0,y4,n)
xx=0:0.01:1.0;
yy1=polyval(p1,xx);
yy2=polyval(p2,xx);
yy3=polyval(p3,xx);
yy4=polyval(p4,xx);
plot(xx,yy1/z1,'r',x0,y1/z1,'.r')
hold on;
plot(xx,yy2/z2,'k',x0,y2/z2,'.k')
hold on;
plot(xx,yy3/z3,'b',x0,y2/z2,'.b')
hold on;
plot(xx,yy4/z4,'g',x0,y4/z4,'.g')
hold off;
由實驗可得不同K值的分壓特性曲線,如圖1所示。從曲線可以清楚看出分壓電路有如下幾個特點:第一,不論R0的大小,負載RZ的電壓調節范圍均可從0■E;第二,K越小電壓調節越不均勻,曲線線性程度越差,細調程度較差;第三,K越大電壓調節越均勻,因此要電壓U在0到Umax整個范圍內均勻變化,則取K>1比較合適。
■
圖1 不同K值的分壓特性曲線
二、制流電路特性研究及參數的變化
首先,用1000Ω滑線變阻作制流器,負載電阻用100Ω(K=0.1),測出滑線電阻滑動端的位置參數X和分壓比I/Imax,并作出I/Imax-x的關系曲線。其次,同上,用10000Ω滑線電阻和20Ω的負載電阻(K=0.02),測出X和I/Imax,記錄不同的K值,并作出關系曲線,在Matlab軟件中編寫下列程序實現制流電路實驗數據的處理和圖像的擬合:
x0=0:0.1:1.0;
y1=[0.04 0.04 0.08 0.12 0.18 0.22 0.30 0.52 1.02 3.58 4.18];
z1=max(y1);
y2=[0.04 0.04 0.08 0.12 0.18 0.24 0.30 0.52 0.92 2.38 4.98];
z2=max(y2);
y3=[0.02 0.02 0.02 0.04 0.12 0.18 0.28 0.40 0.70 2.98 3.52];
z3=max(y3);
y4=[0.01 0.01 0.01 0.01 0.02 0.08 0.20 0.30 0.60 1.20 2.0];
z4=max(y4);
n=3;
p1=polyfit(x0,y1,n)
p2=polyfit(x0,y2,n)
p3=polyfit(x0,y3,n)
p4=polyfit(x0,y4,n)
xx=0:0.01:1.0;
yy1=polyval(p1,xx);
yy2=polyval(p2,xx);
yy3=polyval(p3,xx);
yy4=polyval(p4,xx);
plot(xx,yy1/z1,'r',x0,y1/z1,'.r')
hold on;
plot(xx,yy2/z2,'k',x0,y2/z2,'.k')
hold on;
plot(xx,yy3/z3,'b',x0,y2/z2,'.b')
hold on;
plot(xx,yy4/z4,'g',x0,y4/z4,'.g')
hold off;
(上接第47頁)
■
圖2 不同值的制流特性曲線
圖2表示不同K值的制流特性曲線,從曲線可以清楚地看到制流電路有以下幾個特點:第一,K越大電流調節范圍越小;電流調節越均勻,曲線線性程度較好;第二,K(K≥1)時調節的線性較好;第三,K較小時(即R0>RZ),電流調節范圍大,電流調節越不均勻,曲線線性程度越差,細調程度較差;第四,不論R0大小如何,負載RZ上通過的電流都不可能為零。第五,制流電路適用于負載電阻較小,功耗較大,電壓調節范圍較小的場合。
綜上所述,當負載電阻較大時,要求調節范圍較寬時宜采用分壓電路。相反,在負載電阻較小,功耗較大且調節范圍不太大時,選用制流電路較好。
參考文獻:
[1]陳玉林,李傳起.大學物理實驗[M].北京:科學出版社,2007:186-190.
[2]穆曉東.制流與分壓電路實驗參數的選擇與確定[J].大學物理實驗,2004,(01).
【關鍵詞】出國留學 大數據 構建策略
【中圖分類號】G648.9 【文獻標識碼】A 【文章編號】2095-3089(2014)1-0030-01
近年來,國際上的留學活動越來越頻繁,中國也出現了"留學熱"、"歸國熱",這同中國多年來實施的留學教育政策密切相關。2010年中影中視信息科學研究院的一次高中校園內的隨機調查顯示,如果有免費的出國留學機會,有93.4%的在讀學生愿意嘗試;但是在目前狀態下,只有2.7%的學生有在高中階段出國留學的打算。也就是說,出國留學的市場潛力巨大,牽扯到的人群基數眾多,屬于大數據的范疇。今天,我們不考慮如何開發出國留學市場,而謹就出國留學大數據構建策略問題進行一些策略分析。
1.SW分析
因為目前項目還處于整體規劃階段,所以,內部優勢和內部劣勢體現尚不明顯。
(1)內部優勢(S)
因為出國留學數據的海量存在的客觀性,導致我們已經存在了這樣一個足夠龐大的信息流,這個信息流的數據,只要進行合理的匯總,就可以形成出國留學的大數據。
目前大數據管理的技術也已經非常的成熟,這也是大數據的一個內部優勢。
(2)內部劣勢(W)
因為目前該項目還處于規劃階段,所以,啟動資金的籌備是一個很大的壓力,相關渠道的搭建也是一個重要工作任務。我們內部團隊搭建方面,如何獲得足夠健全強大的團隊,是我們在規劃初期必須考慮的問題。
也就是說,因為本項目還處于完全空白階段,每一項籌備工作都亟待進行,這些工作壓力和不確定性,是項目最主要的內部劣勢。
2.OT分析
(1)外部機遇(O)
目前來說,關于留學的專業網站非常多,專業機構也非常多,這些網站和機構的數據流量,完全能夠支持大數據的建設。
因為很多學生,對于留學方向的決策,留學機構的信用保障等具體問題都處在彷徨階段,所以亟待這樣一個大數據對他們的人聲決策提供指引。這是大數據的最大市場所在。
(2)外部風險(T)
數據的客觀性和權威性受到機構資質的影響比重較大,如果沒有國家一級社團甚至國家部委的授權,大數據的銷售工作就會面臨很嚴重的考驗。因為在目前我們國內的人們,還是對官方數據比較信任,如果本數據不能并入官方數據,就很難在市場上爭取比重,甚至出現人們寧肯不要大數據也不購買數據的現狀。
大數據的主要客戶是各門戶網站及留學專業網站,以及留學機構。門戶網站和留學專業網站希望得到的是網民對于出國留學主要機構及學校的口碑評價數據,以及每年這些留學機構和學校的學生流量數據,以提供給網站瀏覽客戶。而留學機構更希望得到的是學生數據。學生數據部容買賣,所以,僅僅可以采用廣告的方式為留學機構提供相應數據的服務。
另外,大數據希望通過各門戶網站、留學專業網站、留學機構協助收集相關數據,這就牽扯到一個雙向計費的問題。也就是說,留學大數據的甲方客戶同時也是乙方供應方,項目僅僅起到對數據的管理職能,因為管理利潤的壓縮帶來的風險,是項目的主要風險之一。
3.構建矩陣
4.SWOT策略總結
(一)渠道工作
(1)項目的籌備初期應當對公司的融資、采購、銷售、人才、資質等各類渠道的創建和維護工作制定周全的合并計劃和分列計劃,實行公關人員專人專項負責制,對相應渠道進行全面的構建和維護。因為大數據工作的渠道維護是核心工作。
(2)利用成型技術和類似企業管理經驗,對于項目的產品設計、服務設計、形象包裝、硬件部署等工作,要制定詳細的計劃,逐一專人負責籌建。
(3)嚴防數據泄密,因為數據安全是大數據產品的核心原則,如果發生了產品的數據泄密事件,直接影響到項目的生存。
5.結束語
隨著經濟全球化進程的加速,留學人員的迅速增加,留學籌備和構建工作變得越來越重要,需要我們更多的關注出國留學的大數據構建策略。通過全面的SWOT分析,我們知道了項目籌建的流程和要點,這對我們進行相應的儲備和構建工作起到了理論指導的工作。為我國留學教育事業發展提供一定的研究價值。
參考文獻:
[1]于海峰.當代中國留學制度研究.[D]東北師范大學博士論文,2008-11-01
[2]謝冀蓉.高校大學生自費出國留學動機和適應性的調查研究.[D]電子科技大學碩士論文, 2012-10-01
[3] 蘇一凡.中國出國留學研究述評:現狀、問題與發展趨勢.[J]高教探索, 2011年第13期
【關鍵詞】數據庫技術;工作流;二維數據表;流程模型
1.工作流概述
工作流是一類能夠完全或者部分自動執行的業務過程,它根據一系列過程規則,文檔信息或任務能夠在不同的執行者之間傳遞和執行。它是實現業務過程管理與控制的一項關鍵性技術。其要解決的主要問題是:為實現某個業務目標,在多個參與者之間,利用計算機,按某種預定規則自動傳遞文檔、信息或者任務。簡單地說,工作流就是一系列相互銜接、自動進行的業務活動或任務。我們可以將整個業務過程看作是一條河,其中流過的河水就是工作流[1]。
2.審批工作流的過程模型
過程模型用來定義工作流的過程邏輯,包括組成工作流的所有活動以及活動之間的依賴關系。在日常的各項審批活動中,業務處理是按照用戶所選擇的固定流程進行流轉,過程模型如圖1。
圖1 審批工作流過程模型圖
3.審批工作流二維表的設計
通過對功能需求的分析,信息文件按照選擇的流程進行流轉審批,因此首先得考慮存儲流程規則信息的二維數據表,每一個流程信息實體應該包括流程編號(FlInId,主鍵,數值類型)、名稱(FlInName,字符型)、類別編號(FlClId,數值型)、版本(FlInVersion,數值型)、狀態(FlInStat,字符型)等字段屬性。FlInId 字段存儲流程編號信息,作為主鍵設置,控制流程信息的唯一性。FlClId字段存儲流程類別代碼信息,考慮系統擴展性,用數字代碼的形式進行存儲,另設計存儲類別信息的二維表,以便于使流程信息可進行多層次分類。FlInVersion字段存儲流程版本信息,記錄流程修改的次數。FlInState字段存儲的流程狀態信息,可設計為和停止兩種狀態。
每個流程按照固定的步驟進行流動,系統必須設計存儲相應步驟信息的二維數據表,一個流程可擁有多個步驟,每一個步驟實體應包括步驟編號(AcInId,主鍵,數值型)、步驟名稱(AcInName,字符型)、步驟排序號(AcInSortNo,數值型)和步驟所屬的流程編號(FlInId,數值型)等字段屬性,為了考慮有的步驟可以有多人處理,系統設計了步驟處理人的數據表,包括序號(AcUsId,主鍵,數值型),處理人代號(AcUsUserId,字符型)、步驟序號(AcInId,數值型)等字段屬性。
當用戶添加信息后,系統根據信息的類別選擇了相應的流程,使用過程中要考慮信息流動的過程和流動的狀態,以提示各個步驟處理人能操作自己需要處理的數據,因此系統設計了與信息相關的表,即任務表,主要用來存儲本信息選用的流程、目前的處理的步驟、目前需要處理的用戶等信息,每一個人物實體應包括任務序號(TaInId,主鍵,數值型),信息序號(ItInId,數值型),步驟序號(AcInId,數值型),處理人號(TaInDealUserId,字符型),任務狀態(TaInState,字符型),任務版本(任務版本,字符型)等字段屬性。
在用戶進行審批操作后,應記錄相應的任務處理記錄,便于用戶查看已處理的操作信息或進行撤銷操作,因此系統設計了相應的任務操作記錄表,每一個人物操作實體應包括任務記錄序號(TaHiId,主鍵,數值型),信息序號(ItInId,數值型),步驟序號(AcInId,數值型),信息類型(ItStClId,數值型),簽名數據(TaHiSignData,字符型),任務記錄標志(TaHiFlag,字符型),任務記錄備注(TaHiBz,字符型)等字段屬性。
4.審批工作流核心功能實現
在前面數據庫表的設計中,我們已經設計了4個表存儲數據流實現的相關信息,通過這些表,可實現多種審批需求的業務。下面以財務報銷審批業務為例,展示流程配置管理和信息流審批具體應用及其實現過程。
4.1流程配置管理實現
系統在流程管理模塊實現流程的添加、刪除、更新等維護工作。具體添加的實現過程是先定義流程信息對象,將界面的表單數據賦予對象的相關屬性,通過對象的AdaByObject方法將其寫入數據庫并返回插入的主鍵值。再通過循環語句將表單中的步驟和處理人分別插入至相應的表中。主要的實現代碼如下:
Dim oAFlowInfo As New AFlowInfo ‘定義流程實體對象
……
根據表單對oAFlowInfo進行賦值
……
For Each nItem As GridViewRow In gvPurview.Rows ‘獲取流程訪問權限
Dim nCbxChecked As New CheckBox
nCbxChecked = nItem.FindControl("cbxChecked")
……
Next
……
nRetrunFlInId = oAFlowInfo.AddByObject(oAFlowInfo) ‘根據AdaByObject方法將流程信息寫入數據庫
If nRetrunFlInId > 0 Then ‘大于0表示寫入成功,則寫入步驟信息
For Each nItem As GridViewRow In gvActorInfo.Rows
Dim oAActorInfo As New AActorInfo
……
nRetrunAcInId = oAActorInfo.AddByObject(oAActorInfo)
If nRetrunAcInId > 0 Then ‘大于0表示寫入成功,則寫入步驟處理人
Dim oActorUser As New AActorUser
……
oActorUser.AddByObject(oActorUser)
End If
Next
End If
4.2流程審批實現
在工作流的審批過程中,用戶主要是通過修改TaInDealUserId字段的值來完成數據的傳遞操作,TaInDealUserId字段存儲的是待處理用戶的用戶編號,用戶登錄系統后進入審核模塊自動檢測用戶編號和數據的此字段值是否一致,如果一致表示則顯示在待審批信息表中,等待用戶的審批,用戶審批后,系統根據既定流程修改TaInDealUserId的值。具體的實現過程是先獲取當前步驟信息,并檢測是否存在下一步驟,再根據結果向任務表寫入相關數據完成審批過程。主要的實現代碼如下:
……
oActorInfo = oActorInfo.GetToObject("FlInId=" & nFlInId_Present & " and AcInSortNo=" & nAcInSortNo_Present)‘獲取當前的步驟實體信息
……
oActorInfo = oActorInfo.GetToObject("FlInId=" & nFlInId_Present & " and AcInSortNo=" & nAcInSortNo_Present + 1) ‘檢測下一步驟實體信息
If Not oActorInfo Is Nothing Then ‘判斷步驟實體信息是否存在
oTaskInfo.AcInSortNo=nAcInSortNo_Present + 1
oTaskInfo.TaInDealUserId=oAActorUser.AcUsUserId
Else
oTaskInfo.AcInSortNo=0
oTaskInfo.TaInDealUserId=""
end if
oTaskInfo.UpdateByObject(oTaskInfo)
……
Return "審批成功!"
【參考文獻】
[1]劉志明.基于工作流技術的項目管理系統設計與實現[D].湖南:湖南大學教育技術學,2009.