當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:為了讓Windows下的網(wǎng)絡(luò)數(shù)據(jù)快速發(fā)送與接收,提高實時性能,采用對Windows TCP/IP協(xié)議棧進行一種簡化設(shè)計,通過利用Windows提供的用戶與設(shè)備對象的交互,減少Windows從用戶態(tài)到內(nèi)核態(tài)的分層,對Socket層進行簡

摘要:為了讓Windows下的網(wǎng)絡(luò)數(shù)據(jù)快速發(fā)送與接收,提高實時性能,采用對Windows TCPIP協(xié)議棧進行一種簡化設(shè)計,通過利用Windows提供的用戶與設(shè)備對象的交互,減少Windows從用戶態(tài)到內(nèi)核態(tài)的分層,對Socket層進行簡單的封裝,并且利用零拷貝技術(shù)減少數(shù)據(jù)的拷貝次數(shù)以及設(shè)置多級優(yōu)先級隊列使數(shù)據(jù)按照優(yōu)先級發(fā)送,從而使數(shù)據(jù)達到快速發(fā)送和接收的目的。實驗結(jié)果驗證了這種方法能達到預(yù)期效果。

關(guān)鍵詞:網(wǎng)絡(luò)體系結(jié)構(gòu);協(xié)議驅(qū)動;TCP/IP;零拷貝;優(yōu)先級隊列

隨著現(xiàn)代信息技術(shù)的進一步發(fā)展,對信息傳遞的速度及對大信息量的傳輸都有進一步需求,在這樣的情況下,無論是對于硬件要求還是軟件方面的要求都在提升。而在相同的硬件條件下,如何提高通信的速度、實時性能,軟件的優(yōu)劣在很大程度上影響著這些方面。由于Windo ws的廣泛使用和其方便完善的網(wǎng)絡(luò)結(jié)構(gòu)的支持,針對Windows的網(wǎng)絡(luò)開發(fā)不斷增加,然而由于Windows系統(tǒng)為了包容多種協(xié)議以及Windows分層驅(qū)動的特點,導(dǎo)致數(shù)據(jù)從用戶應(yīng)用程序到網(wǎng)卡經(jīng)過的驅(qū)動層數(shù)很多,勢必導(dǎo)致數(shù)據(jù)的延遲增加,這對那些要求通信實時性能較高的系統(tǒng)來說是無法容忍的。所以研究Windows網(wǎng)絡(luò)體系架構(gòu),對TCP/IP協(xié)議棧進行優(yōu)化,使之適合于對于特定要求的系統(tǒng),有很重要的研究意義和價值。

1 Windows網(wǎng)絡(luò)的多層結(jié)構(gòu)

如圖1所示,標準的Windows網(wǎng)絡(luò)體系結(jié)構(gòu)的最底層是網(wǎng)卡,網(wǎng)卡通過NDIS與網(wǎng)卡(NIC)驅(qū)動程序通信,網(wǎng)卡驅(qū)動程序又通過NDIS與協(xié)議驅(qū)動程序通信。在NIC驅(qū)動程序和協(xié)議驅(qū)動程序之間還可以插進去一個中間驅(qū)動程序。在協(xié)議驅(qū)動程序的上邊,是內(nèi)核模式TDI客戶驅(qū)動程序,通過TDI接口同協(xié)議驅(qū)動程序交互。再往上,則是用戶模式的動態(tài)連接庫(提供WIN32 NETAPI)及網(wǎng)絡(luò)應(yīng)用程序。

從圖1中可以看出,用戶層編寫網(wǎng)絡(luò)程序與其他主機進行通信,發(fā)送數(shù)據(jù)需要經(jīng)過Sockets接口,TDI客戶,TDI傳輸驅(qū)動接口,MDIS協(xié)議驅(qū)動(TCP/IP協(xié)議棧),NIC驅(qū)動程序,網(wǎng)卡,可以看出數(shù)據(jù)從用戶提交給網(wǎng)卡的分層很多,Windows操作系統(tǒng)利用這種分層設(shè)計的方法,有諸多好處,開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的某一層;分層可以降低層與層之間的依賴,既可以良好地保證未來的可擴展,在復(fù)用性上也是很好的優(yōu)勢。但是分層結(jié)構(gòu)也不可避免具有一些缺陷,一方面,分層過多會導(dǎo)致系統(tǒng)性能的下降,因為不采用分層結(jié)構(gòu),很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過中間層來完成,其中需要處理數(shù)據(jù)通過各層的信息等操作,這些都降低了系統(tǒng)性能;另一方面是數(shù)據(jù)的拷貝次數(shù)增多,數(shù)據(jù)拷貝操作不單需要占用CPU時間片,同時也需要占用額外的內(nèi)存帶寬,這就增加了系統(tǒng)開銷。這些消耗都會造成數(shù)據(jù)的時間延遲增加,這對于那些對實時性能有特別要求的而又需要利用Windows平臺的系統(tǒng)來說,這是很難容忍的。

2 對Windows TCP/IP協(xié)議棧的簡化設(shè)計

由于Windows網(wǎng)絡(luò)結(jié)構(gòu)分層較多,導(dǎo)致系統(tǒng)性能下降,網(wǎng)絡(luò)數(shù)據(jù)的實時性能得不到體現(xiàn),一種策略是簡化現(xiàn)今Windows TCP/IP協(xié)議棧,減少分層;另一方面,利用零拷貝技術(shù)減少拷貝次數(shù),減少系統(tǒng)性能消耗;可以采用多級優(yōu)先級隊列,讓優(yōu)先級較高的數(shù)據(jù)比優(yōu)先級低的數(shù)據(jù)優(yōu)先發(fā)送的基本策略,采用適當?shù)恼{(diào)度算法進行處理。通過這幾個方面的改進,可以一定程度上彌補Windows系統(tǒng)網(wǎng)絡(luò)通信延遲較大的缺陷。

如圖2所示,第1層為用戶應(yīng)用層;第2層是協(xié)議驅(qū)動,里面包括簡化了的TCP/IP協(xié)議棧,只保留TCP,UDP,ARP,ICMP協(xié)議,并且對Wind ows中的AFD驅(qū)動模塊簡化,一些數(shù)據(jù)結(jié)構(gòu)等就存放在設(shè)備擴展中;第3層是網(wǎng)卡驅(qū)動,第4層就是具體收發(fā)數(shù)據(jù)的網(wǎng)卡。在這幾層里面第2層是最關(guān)鍵的部分,下面就具體如何設(shè)計進行比較詳細的介紹。

2.1 采用零拷貝技術(shù)

簡單一點來說.零拷貝就是一種避免CPU將數(shù)據(jù)從一塊存儲拷貝到另外一塊存儲的技術(shù)。零拷貝技術(shù)可以減少數(shù)據(jù)拷貝和共享總線操作的次數(shù),消除傳輸數(shù)據(jù)在存儲器之間不必要的中間拷貝次數(shù),從而有效地提高數(shù)據(jù)傳輸效率。而且,零拷貝技術(shù)減少了用戶應(yīng)用程序地址空間和操作系統(tǒng)內(nèi)核地址空間之間因為上下文切換而帶來的開銷。在本文中對于TCP/IP協(xié)議棧,采用零拷貝技術(shù),避免操作系統(tǒng)內(nèi)核緩沖區(qū)之間進行數(shù)據(jù)拷貝操作,可以大大提高系統(tǒng)性能。

在接收發(fā)送數(shù)據(jù)時,用NDIS中的NDIS_PACKET包描述符,包描述符中包含了數(shù)據(jù)包的總長度,指向第一個緩沖描述符NDIS_BUFFER的指針,緩沖描述符NDIS_BUFFER里面的Start Virtual Address才是指向真正的數(shù)據(jù)所在的首地址以及包含了此緩沖中的數(shù)據(jù)長度。利用這個NDIS_PACKET包描述符,可以實現(xiàn)無需對數(shù)據(jù)進行拷貝,只要獲得包描述符即可。

當用戶數(shù)據(jù)提交給內(nèi)核緩沖區(qū)時,采用直接I/O的方式,在內(nèi)核中需要分配一個包首部的大小,用于TCP/IP協(xié)議層加上各層的首部,并且把該首部地址以及用戶緩沖區(qū)地址用NDIS_PACKET包描述符封裝。當發(fā)包線程把NDIS_PACKET包提交給協(xié)議棧處理時,不需要把包描述符中的數(shù)據(jù)拷貝到新的緩沖區(qū)中,可以直接利用NDIS提供的函數(shù)得到數(shù)據(jù)的首地址,以及數(shù)據(jù)包的總長度等。在協(xié)議棧中添加上各層首部以及其他操作后,就可以調(diào)用發(fā)包函數(shù)把NDIS_PACKET包描述符提交給網(wǎng)卡驅(qū)動,網(wǎng)卡驅(qū)動通過DMA把數(shù)據(jù)傳送到網(wǎng)卡環(huán)形緩沖區(qū)中,再由網(wǎng)卡發(fā)送出去。

反之,在收包時,網(wǎng)卡通過DMA把數(shù)據(jù)傳輸?shù)絻?nèi)核緩沖區(qū)中,網(wǎng)卡驅(qū)動程序中依然用包描述符來指明數(shù)據(jù)的地址,大小等信息。在收包處理線程中,對數(shù)據(jù)包的拆包等操作,同樣的不需要拷貝到新的緩沖區(qū)中,利用包描述符提供的包地址,大小等信息進行處理即可。

2.2 設(shè)置多級優(yōu)先級隊列

在網(wǎng)絡(luò)數(shù)據(jù)傳輸中,由于有些緊急數(shù)據(jù)希望盡快發(fā)送出去提交給目的主機,而曰前的Windows系統(tǒng)網(wǎng)絡(luò)傳輸機制并沒有提供這樣的功能??梢酝ㄟ^采用多級優(yōu)先級隊列的方式來達到一定的實時效果,比如對于緊急數(shù)據(jù),可以設(shè)置最高優(yōu)先級值,而一般數(shù)據(jù)就可以設(shè)置最低優(yōu)先級值。在用戶應(yīng)用程序中,對發(fā)送函數(shù)進行封裝,新的發(fā)送函數(shù)有個優(yōu)先級參數(shù),通過指明優(yōu)先級參數(shù)值靈活處理數(shù)據(jù),當提交給內(nèi)核時,就按照優(yōu)先級值放到相對應(yīng)的優(yōu)先級隊列中。相應(yīng)的在內(nèi)核收包、發(fā)包緩沖區(qū)中,設(shè)置多級優(yōu)先級隊列,按照多級反饋隊列調(diào)度算法進行處理,每個隊列的優(yōu)先級不同,并且每個隊列的被處理的時間不同,各個隊列的時間片是隨著優(yōu)先級的減少而增加的,優(yōu)先級越高的隊列中它的被線程處理的時間也就越短。比如緊急數(shù)據(jù)放到最高優(yōu)先級隊列中,遲緩的數(shù)據(jù)可以放到最低優(yōu)先級隊列中,在內(nèi)核的發(fā)包線程中,首先判斷最高優(yōu)先級隊列是否為空,不為空則優(yōu)先發(fā)送該隊列中的數(shù)據(jù)包,當該隊列的時間用完,如果該隊列還有包沒有處理完,則把這些包鏈接到低一級的隊列尾部,然后判斷低一級優(yōu)先級隊列是否為空,重復(fù)以上的操作依次進行下去,當對最低優(yōu)先級隊列處理完后,再循環(huán)處理。如果線程在處理第i隊列的數(shù)據(jù)時,這時候有新的用戶數(shù)據(jù)進入到比i隊列優(yōu)先級高的j隊列中,則線程處理完該數(shù)據(jù)就立即去處理j隊列,這個可以用一個掩碼mask,每一位標識一個隊列,當隊列不為空,則該標識位置為1,否則置為0。

2.3 封裝Socket層

創(chuàng)建Socket套接字,就是打開設(shè)備對象(第一次是創(chuàng)建,之后就是打開),而打開設(shè)備對象就會創(chuàng)建一個內(nèi)核文件對象,這個內(nèi)核文件對象其實就可以映射創(chuàng)建的Socket套接字。對于打開設(shè)備對象,就可以用CreateFile()函數(shù),并且把返回的句柄定義為Socekt句柄,之后的操作就可以直接用這個Socket句柄進行操作,如send()函數(shù),可以用WriteFile()函數(shù)封裝實現(xiàn);Receive()函數(shù)可以用ReadFile()函數(shù)封裝實現(xiàn);bind()函數(shù)、setsockopt()函數(shù)、getsockopt()函數(shù)都可以通過DeviceIoControl()函數(shù)封裝實現(xiàn)。為了真正實現(xiàn)打開設(shè)備等操作,需要在協(xié)議驅(qū)動程序中塒各個用戶應(yīng)用程序下達的IRP請求進行響應(yīng),用派遣函數(shù)就可以實現(xiàn)。在圖2中,用戶程序可以通過新封裝好的Socket層,使用原來同樣的Socket編程語句,這樣使用戶使用起來感覺沒有差別,對用戶是透明的。

2.4 協(xié)議驅(qū)動

在應(yīng)用程序中,對同一個線程環(huán)境下的文件句柄的讀,寫等,映射到內(nèi)核中的IRP I/O堆棧的內(nèi)核文件對象File()bject是同一個File()bject,這樣可以用內(nèi)核文件對象作為紐帶作用。在協(xié)議驅(qū)動的設(shè)備擴展NDISPROT_OPEN_CONTEXT結(jié)構(gòu)體內(nèi),建立一個File Port鏈表,如圖3所示。鏈表的每個節(jié)點包含有內(nèi)核文件對象、接收數(shù)據(jù)緩沖區(qū)、發(fā)送數(shù)據(jù)緩沖區(qū)、端口號、接收數(shù)據(jù)緩沖區(qū)大小、發(fā)送數(shù)據(jù)緩沖區(qū)大小等兒部分。內(nèi)核文件對象用來標識是哪一個用戶Socket句柄;接收、發(fā)送數(shù)據(jù)緩沖區(qū)用來存放Socket的接收、發(fā)送的數(shù)據(jù);端口號的作用是讓網(wǎng)絡(luò)數(shù)據(jù)包可以知道提交到哪個內(nèi)核文件對象下的接收緩沖區(qū);接收、發(fā)送數(shù)據(jù)緩沖區(qū)大小指明接收、發(fā)送緩沖區(qū)最大的長度。如果緩沖區(qū)隊列滿,而這時候又有數(shù)據(jù)過來,則該數(shù)據(jù)應(yīng)被丟棄。在協(xié)議驅(qū)動程序里面,利用這個FilePort鏈表,可以實現(xiàn)收發(fā)數(shù)據(jù),設(shè)置接收、發(fā)送緩沖區(qū)的大小等操作。

需要注意的是在NDISPROT_OPEN_CONTEXT結(jié)構(gòu)體內(nèi),需創(chuàng)建一個NPROT_LOCK類型的鎖,用來對FilePort鏈表進行互斥訪問。

2.4.1 端口號的綁定

在協(xié)議驅(qū)動設(shè)備擴展中需要建立一張表,里面存放已默認分配的端口號以及用戶綁定的端口號,端口號是從小到大按序排列,表的作用是當用戶應(yīng)用程序綁定端口號操作時,首先會通過二叉查找法查找這張表,看該端口號是否存放在該表中,如果找到,則要返回給應(yīng)用程序綁定失敗,如果沒有找到,則把該端口號插入到適當位置,并返回給應(yīng)用程序綁定成功。用戶應(yīng)用程序通過調(diào)用bind()函數(shù)實現(xiàn)綁定Socket套接字,其含義就是用端口號來惟一標識用戶線程下的Socket,讓網(wǎng)絡(luò)數(shù)據(jù)包提交給正確的Socket,在bind函數(shù)里面可以通過封裝DeviceIo Control函數(shù)調(diào)用來實現(xiàn)。

2.4.2 發(fā)送數(shù)據(jù)過程

用戶應(yīng)用程序發(fā)送的IRP寫請求(WriteFile()函數(shù)),傳遞到協(xié)議驅(qū)動程序后,調(diào)用派遣函數(shù)NdisProtWrite,通過IRP I/O堆棧里面的內(nèi)核文件對象循環(huán)遍歷FilePort鏈表找到對應(yīng)的節(jié)點,然后把用戶應(yīng)用程序的數(shù)據(jù)通過緩沖區(qū)讀寫設(shè)備的方式拷貝到NDISPROT_OPEN_CONTEXT結(jié)構(gòu)的相應(yīng)的Priority SendQueue優(yōu)先級隊列中。如圖3所示,發(fā)包線程的工作主要有,從Priority SendQueue優(yōu)先級隊列中提取數(shù)據(jù),如何提取按照多級反饋隊列調(diào)度算法處理,經(jīng)過簡化的TCP/IP協(xié)議棧,然后再調(diào)用NdisSendPackets函數(shù)發(fā)送給網(wǎng)卡驅(qū)動程序。在TCP/IP協(xié)議棧中,把該數(shù)據(jù)的優(yōu)先級值賦值給IP首部的服務(wù)類型(TOS)字段中,使收包的時候根據(jù)此字段的優(yōu)先級值把包放進相應(yīng)的收包優(yōu)先級隊列中。

2.4.3 接收數(shù)據(jù)過程

協(xié)議驅(qū)動從網(wǎng)卡驅(qū)動程序接收網(wǎng)絡(luò)數(shù)據(jù)包,這些數(shù)據(jù)包是打包封裝好的,首先存放在NDISPROT_OPEN_CONTEXT結(jié)構(gòu)的收包優(yōu)先級隊列Pri ority RecvQueue中,這樣可以接收到高速上傳過來的底層數(shù)據(jù)。如圖3所示,需要建立一個收包處理線程,它的主要工作是,從收包優(yōu)先級隊列提取數(shù)據(jù),具體算法根據(jù)上面的多級反饋隊列調(diào)度算法,然后經(jīng)由TCP/IP協(xié)議棧的處理,如果是UDP,TCP的數(shù)據(jù)包則通過包的目的端口號,遍歷FilePort鏈表找到對應(yīng)的節(jié)點,然后把剩下的凈數(shù)據(jù)提交給節(jié)點(目標Socket)的收包緩沖區(qū)中。值得注意的是,因為NDIS封裝數(shù)據(jù)用的是NDIS_PACKET結(jié)構(gòu),NDIS_PACKET結(jié)構(gòu)里面包含一個NDIS_BUFFER結(jié)構(gòu)的鏈表,在每個NDIS_BUFFER里面才真正指向數(shù)據(jù)的首地址,這里說的提交,并沒有拷貝數(shù)據(jù),只是把凈數(shù)據(jù)的首地址再次鏈接到FilePort鏈表中。當用戶應(yīng)用程序通過Receive()函數(shù)接收數(shù)據(jù)的時候,會調(diào)用ReadFile()函數(shù),發(fā)出讀IRP請求,IRP到達協(xié)議驅(qū)動后,調(diào)用NdisProtRead()派遣函數(shù)處理,NdisProtRead()會通過IRP I/O堆棧里面的內(nèi)核文件對象,遍歷FilePort鏈表,找到相應(yīng)的節(jié)點,再把節(jié)點接收緩沖區(qū)里面的數(shù)據(jù)拷貝到用戶緩沖區(qū)里面。

3 測試與分析

3.1 測試環(huán)境和方法

測試時,使用2臺主機分別作為客戶機和服務(wù)器。硬件和操作系統(tǒng)都是相同的配置,操作系統(tǒng)是Microsoft Windows XP Professional Service Pack 3,Pentium(R)Dual-Core CPU,主頻2.70 GHZ,內(nèi)存2 GB,網(wǎng)卡Realtek RTL8102E/RTL8103E,交換機為朗訊Lucent Cajun P116T。測試的主要目的是分析簡化后的網(wǎng)絡(luò)相對于原來系統(tǒng)而言,在通訊延遲方面有何改進。測試的方法采用如下方案:在局域網(wǎng)內(nèi),采用UDP數(shù)據(jù)報進行通信測試,從客戶機向服務(wù)器發(fā)送數(shù)據(jù),數(shù)據(jù)長度為300 B,即ping-pong測試,客戶端取1 000次的往返時間作為測試參數(shù),對沒有簡化TCP/IP協(xié)議棧之前的客戶端與簡化之后的客戶端進行相同的測試,記錄次數(shù)15次。

3.2 結(jié)果分析

從圖4中可以看出,經(jīng)過對協(xié)議棧簡化后,傳輸時間明顯大大減少。經(jīng)計算,簡化前平均耗時1.241 s,而簡化后的平均耗時為0.072 s,減少了94.198%,簡化前耗時的樣本標準差為0.038 2,簡化后耗時的樣本標準差為0.004 9,顯然簡化后的穩(wěn)定性要更好。測試結(jié)果表明,經(jīng)過簡化后的這種設(shè)計,耗時和穩(wěn)定性能都能到達很好的效果。

4 結(jié)語

本文討論了一種簡化現(xiàn)有的Windows系統(tǒng)TCPIP協(xié)議棧的一種方法,減少了驅(qū)動結(jié)構(gòu)層次,使用戶應(yīng)用程序的數(shù)據(jù)能較快提交給協(xié)議驅(qū)動程序,協(xié)議驅(qū)動程序通過封裝Socket,并且設(shè)置多級優(yōu)先級隊列以及采用零拷貝技術(shù)。通過這些技術(shù)的使用,能使數(shù)據(jù)提交給網(wǎng)卡的系統(tǒng)開銷減少,使數(shù)據(jù)發(fā)送時間延遲減少,能滿足一定的實時性能需求。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉