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

一種Linux內(nèi)核接管socket鏈接的方法和裝置的制造方法

文檔序號:9217040閱讀:304來源:國知局
一種Linux內(nèi)核接管socket鏈接的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及控制系統(tǒng)軟件設(shè)計技術(shù)領(lǐng)域,具體涉及一種Linux內(nèi)核接管socket鏈接的方法。
【背景技術(shù)】
[0002]在Linux操作系統(tǒng)上進(jìn)行軟件設(shè)計時,原則之一就是內(nèi)核空間程序盡量精簡,復(fù)雜的工作如果不是必須在Linux內(nèi)核中處理的就盡量放到Linux用戶空間去處理。
[0003]在數(shù)據(jù)通信時,采用socket鏈接建立的鏈路,為了確保通信雙方參數(shù)設(shè)置的一致性,以及身份認(rèn)證的安全性,等等相關(guān)鏈路管理工作是有必要的,并且此類處理更適合在Linux用戶空間的程序中執(zhí)行。如果通信雙方被傳輸?shù)臄?shù)據(jù)都在Linux內(nèi)核空間中,那么采用socket鏈接建立鏈路時,傳統(tǒng)的做法一般有兩種。一種方法是直接在Linux內(nèi)核空間建立socket鏈接,并在Linux內(nèi)核中完成協(xié)商、認(rèn)證等一系列的鏈路管理工作,然后用此socket鏈接傳輸Linux內(nèi)核空間中的數(shù)據(jù)。這種處理的缺點(diǎn)是使得Linux內(nèi)核增加了不必要的復(fù)雜性,違背Linux內(nèi)核空間程序盡量精簡的原則。另一種方法是在Linux用戶空間和Linux內(nèi)核空間分別各建立一條socket鏈接,然后讓這兩條鏈接建立關(guān)聯(lián)關(guān)系,協(xié)商、認(rèn)證等鏈路管理工作由Linux用戶空間的socket鏈接來完成,然后再有Linux內(nèi)核空間的socket鏈接開始數(shù)據(jù)傳輸。這種處理方式缺點(diǎn)就是帶來了 socket資源的浪費(fèi)。如果對該方法稍作改進(jìn),完成協(xié)商和認(rèn)證等鏈路管理工作之后關(guān)閉Linux用戶空間中socket鏈接,但仍然涉及多socket鏈路相互關(guān)聯(lián),增加了耦合性和復(fù)雜性,并且關(guān)閉socket鏈路的過程需要解除關(guān)聯(lián),增加了出現(xiàn)故障的概率。

【發(fā)明內(nèi)容】

[0004]為了解決上述技術(shù)問題,本發(fā)明提供了一種Linux內(nèi)核接管socket鏈接的方法和裝置,在節(jié)約Linux系統(tǒng)資源的條件下,使得同一條socket鏈接既能在Linux用戶空間完成協(xié)商和認(rèn)證等鏈路管理性工作,又能承擔(dān)Linux內(nèi)核空間數(shù)據(jù)傳輸任務(wù)。
[0005]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種Linux內(nèi)核接管socket鏈接的方法,其特征在于,包括:在用戶空間,建立socket鏈接;在用戶空間完成socket鏈路管理工作;設(shè)置Linux內(nèi)核接管socket,將socket鏈接下發(fā)到內(nèi)核空間;在內(nèi)核中使用socket鏈接傳輸內(nèi)核空間的數(shù)據(jù)。
[0006]進(jìn)一步地,所述socket鏈路管理包括:鏈路協(xié)商、和/或身份認(rèn)證。
[0007]進(jìn)一步地,在需要內(nèi)核數(shù)據(jù)傳輸前,進(jìn)行鏈路協(xié)商、和/或身份認(rèn)證的鏈路管理。
[0008]進(jìn)一步地,如果鏈路協(xié)商、和/或身份認(rèn)證不成功,則關(guān)閉socket鏈接。
[0009]進(jìn)一步地,所述Linux內(nèi)核接管包括:將Linux用戶空間的socket鏈接的標(biāo)識符傳遞到Linux內(nèi)核;Linux內(nèi)核根據(jù)socket鏈接的標(biāo)識符,獲得并標(biāo)記此socket鏈接在Linux內(nèi)核中使用;關(guān)閉Linux用戶空間的socket。
[0010]進(jìn)一步地,所述在內(nèi)核中使用socket鏈接傳輸內(nèi)核空間的數(shù)據(jù)是利用Linux內(nèi)核中socket鏈接的數(shù)據(jù)發(fā)送和接收函數(shù)接口進(jìn)行的。
[0011]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種用于Linux內(nèi)核接管socket鏈接的裝置,其特征在于,包括:socket鏈接建立單元402,用于在用戶空間建立socket鏈接;socket鏈路管理單元404,用于在用戶空間完成鏈路管理工作;S0Cket鏈接接管單元406,用于設(shè)置socket鏈接的內(nèi)核接管;數(shù)據(jù)傳輸單元408,用于進(jìn)行Linux內(nèi)核空間的數(shù)據(jù)傳輸。
[0012]進(jìn)一步地,所述socket鏈路管理包括:鏈路協(xié)商、和/或身份認(rèn)證。
[0013]進(jìn)一步地,在需要內(nèi)核數(shù)據(jù)傳輸前,進(jìn)行鏈路協(xié)商、和/或身份認(rèn)證的鏈路管理。
[0014]進(jìn)一步地,所述Linux內(nèi)核接管包括:將Linux用戶空間的socket鏈接的標(biāo)識符傳遞到Linux內(nèi)核;Linux內(nèi)核根據(jù)socket鏈接的標(biāo)識符,獲得并標(biāo)記此socket鏈接在Linux內(nèi)核中使用;關(guān)閉Linux用戶空間的socket。
[0015]進(jìn)一步地,所述Linux內(nèi)核空間的數(shù)據(jù)傳輸是利用Linux內(nèi)核中socket鏈接的數(shù)據(jù)發(fā)送和接收函數(shù)接口進(jìn)行的。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:減少了 Linux操作系統(tǒng)中socket鏈接資源的浪費(fèi),避免了多個socket鏈接相互關(guān)聯(lián)的復(fù)雜性,更加符合Linux操作系統(tǒng)軟件的設(shè)計原則,為Linux操作系統(tǒng)中socket鏈接的設(shè)計提供了很高的參考價值。
【附圖說明】
[0017]附圖用來提供對本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
[0018]附圖1示出了根據(jù)本發(fā)明一實施例的socket鏈接在Linux用戶空間完成協(xié)商和認(rèn)證的示意圖;
[0019]附圖2示出了根據(jù)本發(fā)明一實施例的socket鏈接進(jìn)行Linux內(nèi)核接管的示意圖;
[0020]附圖3示出了根據(jù)本發(fā)明一實施例的socket鏈接在Linux內(nèi)核空間承擔(dān)數(shù)據(jù)傳輸任務(wù)的不意圖;
[0021]附圖4示出了根據(jù)本發(fā)明一實施例的Linux內(nèi)核接管socket鏈接裝置的框圖。
【具體實施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0023]本發(fā)明包括在Linux用戶空間創(chuàng)建socket鏈接,socket鏈接在Linux用戶空間完成協(xié)商和認(rèn)證等鏈路管理工作,設(shè)置Linux內(nèi)核接管socket鏈接,Linux內(nèi)核中使用socket鏈接傳輸Linux內(nèi)核空間的數(shù)據(jù)。根據(jù)本發(fā)明的一實施例,下面結(jié)合圖1-3詳細(xì)說明Linux內(nèi)核接管socket鏈接的方法。
[0024]分布式設(shè)備的多個控制器或多個主機(jī)運(yùn)行Linux操作系統(tǒng),其包括用戶空間和內(nèi)核空間。下面以控制器之間的數(shù)據(jù)通信為例進(jìn)行說明,但該數(shù)據(jù)通信的執(zhí)行主體不限于控制器之間,也可以是主機(jī)之間或控制器與主機(jī)之間。
[0025]參考圖1,當(dāng)控制器的內(nèi)核空間之間需要數(shù)據(jù)通信時,本端控制器與其他控制器在用戶空間通過socket建立鏈接。
[0026]在Linux用戶空間,通過socket鏈接傳輸協(xié)商和認(rèn)證信息。進(jìn)一步地,若鏈路協(xié)商成功且安全認(rèn)證通過,則繼續(xù)下邊步驟,否則標(biāo)識該socket鏈接通信鏈路不安全,關(guān)閉程序。
[0027]參考圖2,Linux用戶空間socket鏈接建立的鏈路協(xié)商和認(rèn)證過程成功后,設(shè)置Linux內(nèi)核接管。
[0028]Linux內(nèi)核接管可通過如下步驟設(shè)置:
[0029]將Linux用戶空間的socket鏈接的標(biāo)識符傳遞到
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
汤原县| 桃源县| 西昌市| 邵阳县| 历史| 黄陵县| 泰宁县| 龙胜| 青龙| 宜宾县| 泰顺县| 玛纳斯县| 加查县| 宝丰县| 浪卡子县| 玉树县| 阜新| 陇西县| 义乌市| 仙居县| 樟树市| 赣榆县| 扶风县| 五大连池市| 丰县| 肥东县| 云和县| 桃园市| 赤峰市| 久治县| 定兴县| 昌江| 佳木斯市| 绥芬河市| 积石山| 无锡市| 桓仁| 邻水| 斗六市| 卢龙县| 寻甸|