• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    數據處理方法和裝置制造方法及圖紙

    技術編號:8836700 閱讀:203 留言:0更新日期:2013-06-22 22:07
    本發明專利技術實施例提供一種數據處理方法和裝置,通過在對待處理報文進行業務處理之前,檢測待處理報文所在數據流中是否存在正在被處理的報文,若待處理報文所在數據流中不存在正在被處理的報文,則將待處理報文發送到處理線程中進行業務處理,由于待處理報文所在數據流中不存在正在被處理的報文,因此,可將待處理報文發送到任何一個處理線程中進行業務處理,不會發生同一數據流的報文并發處理的問題,均衡各個處理線程的任務量,從而,提高網絡設備處理器的資源利用率。

    【技術實現步驟摘要】

    本專利技術實施例涉及計算機網絡技術,尤其涉及一種數據處理方法和裝置
    技術介紹
    隨著計算機網絡技術的發展,多核多線程并發處理技術也得到的了迅速發展。在多核多線程并發處理的環境中,各線程在處理報文之前,需要讀寫報文所在業務流數據流的中間狀態數據,如果同一業務流數據流的不同報文被多個線程同時處理,則會出現多個線程同時讀寫同一業務流數據流的中間狀態數據的情形,而由于一個業務流數據流的中間狀態數據同一時刻只能由同一線程讀寫,因此,存在資源競爭的問題,不同進程同一時刻處理同流報文則會存在沖突。為了避免沖突,現有技術中,根據報文的五元組信息計算哈希值,按業務處理線程數對哈希值進行求模運算,運算結果對應邏輯線程標識(Identity,以下簡稱:ID),從而產生了流到線程的映射關系,最后根據映射關系,將一條流的報文分發到固定的線程處理,這樣對于一條流的數據是保證單線程處理,從而避免并發沖突。然而,由于報文分發的不均勻性,采用現有技術的方案,會出現在一段時間內,某些線程比較繁忙,而某些線程比較空閑的情況,從而導致多業務并發執行的性能以及網絡設備的處理器的資源利用率均不高。
    技術實現思路
    本專利技術實施例提供一種數據處理方法和裝置,以增加多業務并發執行的性能,提高網絡設備的處理器的資源利用率。本專利技術實施例第一方面,提供一種數據處理方法,包括:在對待處理報文進行業務處理之前,檢測所述待處理報文所在數據流中是否存在正在被處理的報文;若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理。結合第一方面,在第一種可能的實現方式中,所述檢測所述待處理報文所在數據流中是否存在正在被處理的報文,包括:檢測所述待處理報文所在數據流的處理狀態,所述處理狀態包括正在被處理狀態和未被處理狀態,其中,正在被處理狀態用于指示數據流中的一個或多個報文正在被業務處理線程處理,未被處理狀態用于指示數據流中沒有任何報文正在被業務處理線程處理;所述若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理,包括:若檢測到所述待處理報文所在數據流的處理狀態為未被處理狀態,將所述待處理報文所在數據流的處理狀態置為正在被處理狀態,將所述待處理報文發送到業務處理線程,以進行業務處理,并在所述業務處理線程對所述待處理報文處理完畢之后,將所述待處理報文所在數據流的處理狀態置為未被處理狀態。結合第一方面或第一種可能的實現方式,在第二種可能的實現方式中,所述方法還包括:若檢測到所述待處理報文所在數據流的處理狀態為正在被處理狀態,則將所述待處理報文緩存在第一緩存區中。結合第二種可能的實現方式,在第三種可能的實現方式中,所述檢測所述待處理報文所在數據流的處理狀態之前,還包括:判斷所述第一緩存區是否為空;若是,則從第二緩存區中獲取一個待處理報文,其中,所述第二緩存區用于緩存來自網絡接口報文;若否,則從所述第一緩存區中獲取一個待處理報文;相應地,所述檢測所述待處理報文所在數據流的處理狀態,包括:檢測從所述第一緩存區或第二緩存區獲取的待處理報文所在數據流的處理狀態。結合第三種可能的實現方式,在第四種可能的實現方式中,所述第一緩存區包括一個或多個隊列,其中,每一個隊列與一條數據流相關聯,用于緩存該數據流中的待處理報文,所述隊列的個數大于等于所有業務處理線程的個數;所述將所述待處理報文緩存在第一緩存區中,包括:判斷所述第一緩存區中是否存在與所述待處理報文所在數據流相關聯的隊列;若是,則將所述待處理報文緩存在與所述待處理報文所在數據流相關聯的隊列中;若否,則將所述待處理報文緩存在所述第一緩存區中的空的隊列中,并建立所述空的隊列與所述待處理報文所在數據流的關聯關系,以使所述空的隊列與所述待處理報文所在的數據流相關聯。結合第四種可能的實現方式,在第五種可能的實現方式中,所述將所述待處理報文所在數據流的處理狀態置為正在被處理狀態,包括:在流表中將所述待處理報文所在數據流的處理狀態修改為正在被處理狀態;其中,所述流表存儲有所述待處理報文的流標識和處理狀態的對應關系;所述將所述待處理報文所在數據流的處理狀態置為未被處理狀態,包括:在流表中將所述待處理報文所在數據流的處理狀態修改為未被處理狀態;所述檢測從所述第一緩存區或第二緩存區獲取的待處理報文所在數據流的處理狀態,包括:若所述待處理報文為從所述第二緩存區中獲取的待處理報文,則根據所述待處理報文的五元組信息,確定所述待處理報文的流標識,根據所述流標識從所述流表中查詢得到所述待處理報文所在數據流的處理狀態;若所述待處理報文為從所述第一緩存區的隊列中獲取的待處理報文,則根據所述隊列對應的流標識從所述流表中查詢得到所述待處理報文所在數據流的處理狀態。結合第四種可能的實現方式或第五種可能的實現方式,在第六種可能的實現方式中,所述從所述第一緩存區中獲取一個待處理報文之后,還包括:若緩存所述待處理報文的隊列為空,則刪除所述隊列與所述待處理報文所在數據流之間的關聯關系。結合第三種可能的實現方式,在第七種可能的實現方式中,所述第一緩存區包括一個或多個鏈表,其中,每一個鏈表與一條數據流相關聯,用于緩存該數據流中的待處理報文,所述鏈表的個數大于等于所有業務處理線程的個數;所述將所述待處理報文緩存在第一緩存區中,包括:判斷所述第一緩存區中是否存在與所述待處理報文所在數據流相關聯的鏈表;若是,則將所述待處理報文緩存在與所述待處理報文所在數據流相關聯的鏈表中;若否,則將所述待處理報文緩存在所述第一緩存區中的空的鏈表中,并建立所述空的鏈表與所述待處理報文所在數據流的關聯關系,以使所述空的鏈表與所述待處理報文所在的數據流相關聯。本專利技術實施例第二方面,提供一種數據處理裝置,包括:檢測模塊,用于在對待處理報文進行業務處理之前,檢測所述待處理報文所在數據流中是否存在正在被處理的報文;處理模塊,用于若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理。結合第二方面,在第一種可能的實現方式中,所述檢測模塊,具體用于檢測所述待處理報文所在數據流的處理狀態,所述處理狀態包括正在被處理狀態和未被處理狀態,其中,正在被處理狀態用于指示數據流中的一個或多個報文正在被業務處理線程處理,未被處理狀態用于指示數據流中沒有任何報文正在被業務處理線程處理;所述處理模塊,具體用于若檢測模塊檢測到所述待處理報文所在數據流的處理狀態為未被處理狀態,將所述待處理報文所在數據流的處理狀態置為正在被處理狀態,將所述待處理報文發送到業務處理線程,以進行業務處理,并在所述業務處理線程對所述待處理報文處理完畢之后,將所述待處理報文所在數據流的處理狀態置為未被處理狀態。結合第二方面或第一種可能的實現方式,在第二種可能的實現方式中,所述處理模塊,還用于若檢測模塊檢測到所述待處理報文所在數據流的處理狀態為正在被處理狀態,則將所述待處理報文緩存在第一緩存區中。結合第二種可能的實現方式,在第三種可能的實現方式中,所述處理模塊,還用于檢測所述待處理報文所在數據流的處理狀態之前,判斷所述第一緩存區是否為空;若是,則從第二緩存區中獲取一個待處理報文,其中,所述第二緩存區用于緩存來自網絡接口報本文檔來自技高網...

    【技術保護點】
    一種數據處理方法,其特征在于,包括:在對待處理報文進行業務處理之前,檢測所述待處理報文所在數據流中是否存在正在被處理的報文;若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理。

    【技術特征摘要】
    1.一種數據處理方法,其特征在于,包括: 在對待處理報文進行業務處理之前,檢測所述待處理報文所在數據流中是否存在正在被處理的報文; 若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理。2.根據權利要求1所述的方法,其特征在于,所述檢測所述待處理報文所在數據流中是否存在正在被處理的報文,包括: 檢測所述待處理報文所在數據流的處理狀態,所述處理狀態包括正在被處理狀態和未被處理狀態,其中,正在被處理狀態用于指示數據流中的一個或多個報文正在被業務處理線程處理,未被處理狀態用于指示數據流中沒有任何報文正在被業務處理線程處理; 所述若所述待處理報文所在數據流中不存在正在被處理的報文,則將所述待處理報文發送到業務處理線程,以進行業務處理,包括: 若檢測到所述待處理報文所在數據流的處理狀態為未被處理狀態,將所述待處理報文所在數據流的處理狀態置為正在被處理狀態,將所述待處理報文發送到業務處理線程,以進行業務處理,并在所述業務處理線程對所述待處理報文處理完畢之后,將所述待處理報文所在數據流的處理狀態置為未被處理狀態。3.根據權利要求2所述的方法,其特征在于,還包括: 若檢測到所述待處理報文所在數據流的處理狀態為正在被處理狀態,則將所述待處理報文緩存在第一緩存區中。4.根據權利要求3所述的方法,其特征在于,所述檢測所述待處理報文所在數據流的處理狀態之前, 還包括: 判斷所述第一緩存區是否為空; 若是,則從第二緩存區中獲取一個待處理報文,其中,所述第二緩存區用于緩存來自網絡接口報文; 若否,則從所述第一緩存區中獲取一個待處理報文; 相應地,所述檢測所述待處理報文所在數據流的處理狀態,包括:檢測從所述第一緩存區或第二緩存區獲取的待處理報文所在數據流的處理狀態。5.根據權利要求4所述的方法,其特征在于, 所述第一緩存區包括一個或多個隊列,其中,每一個隊列與一條數據流相關聯,用于緩存該數據流中的待處理報文,所述隊列的個數大于等于所有業務處理線程的個數; 所述將所述待處理報文緩存在第一緩存區中,包括: 判斷所述第一緩存區中是否存在與所述待處理報文所在數據流相關聯的隊列; 若是,則將所述待處理報文緩存在與所述待處理報文所在數據流相關聯的隊列中; 若否,則將所述待處理報文緩存在所述第一緩存區中的空的隊列中,并建立所述空的隊列與所述待處理報文所在數據流的關聯關系,以使所述空的隊列與所述待處理報文所在的數據流相關聯。6.根據權利要求5所述的方法,其特征在于,所述將所述待處理報文所在數據流的處理狀態置為正在被處理狀態,包括: 在流表中將所述待處理報文所在數據流的處理狀態修改為正在被處理狀態;其中,所述流表存儲有所述待處理報文的流標識和處理狀態的對應關系; 所述將所述待處理報文所在數據流的處理狀態置為未被處理狀態,包括: 在流表中將所述待處理報文所在數據流的處理狀態修改為未被處理狀態; 所述檢測從所述第一緩存區或第二緩存區獲取的待處理報文所在數據流的處理狀態,包括: 若所述待處理報文為從所述第二緩存區中獲取的待處理報文,則根據所述待處理報文的五元組信息,確定所述待處理報文的流標識,根據所述流標識從所述流表中查詢得到所述待處理報文所在數據流的處理狀態; 若所述待處理報文為從所述第一緩存區的隊列中獲取的待處理報文,則根據所述隊列對應的流標識從所述流表中查詢得到所述待處理報文所在數據流的處理狀態。7.根據權利要求5或6所述的方法,其特征在于,所述從所述第一緩存區中獲取一個待處理報文之后,還包括: 若緩存所述待處理報文的隊列為空,則刪除所述隊列與所述待處理報文所在數據流之間的關聯關系。8.根據權利要求4所述的方法,其特征在于,所述第一緩存區包括一個或多個鏈表,其中,每一個鏈表與一條數據流相關聯,用于緩存該數據流中的待處理報文,所述鏈表的個數大于等于所有業務處理線程的個數; 所述將所述待處理報文緩存在第一緩存區中,包括: 判斷所述第一緩存區中是否存在與所述待處理報文所在數據流相關聯的鏈表; 若是,則將所述待處理報文緩存在與所述待處理報文所在數據流相關聯的鏈表中;若否,則將所述待處理報文緩存在所述第一緩存區中的空的鏈...

    【專利技術屬性】
    技術研發人員:史云龍何俊楊興華
    申請(專利權)人:華為技術有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久亚洲日韩看片无码| 国产精品无码制服丝袜| 亚洲AV无码久久久久网站蜜桃 | 八戒理论片午影院无码爱恋| 国产午夜无码专区喷水| 中文字幕AV无码一区二区三区| 成人免费一区二区无码视频| 国产精品无码一区二区三区电影| 亚洲av无码成人精品区一本二本| 成年无码av片在线| 2021无码最新国产在线观看| 无码人妻精品一区二区蜜桃百度| 久久精品亚洲中文字幕无码麻豆 | 蜜臀AV无码一区二区三区| 亚洲av无码专区在线观看素人| 精品无码人妻一区二区三区品| 亚洲AV中文无码乱人伦在线视色| 无码无套少妇毛多18PXXXX| 亚洲AV区无码字幕中文色| 久久久91人妻无码精品蜜桃HD| 久久国产精品成人无码网站| 无码精品黑人一区二区三区| 波多野42部无码喷潮在线| 国产精品无码AV不卡| 亚洲熟妇无码AV| 亚洲综合久久精品无码色欲| 亚洲精品午夜无码专区| 久久久精品人妻无码专区不卡| 精品韩国亚洲av无码不卡区| 精品欧洲AV无码一区二区男男| 日韩精品久久无码中文字幕| 大桥久未无码吹潮在线观看| 久久综合一区二区无码| 亚洲成a人无码av波多野按摩| 免费无码不卡视频在线观看| 精品久久久久久久无码久中文字幕 | 亚洲成在人线在线播放无码| 色综合久久中文字幕无码| 色窝窝无码一区二区三区 | 亚洲AV人无码综合在线观看| 国产精品VA在线观看无码不卡|