本申請(qǐng)涉及分布式通信,尤其涉及一種分布式跨平臺(tái)通信方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著計(jì)算機(jī)圖形學(xué)和網(wǎng)絡(luò)通信技術(shù)的快速發(fā)展,圖形引擎在鋼鐵領(lǐng)域數(shù)字化轉(zhuǎn)型中扮演著越來越重要的角色。圖形引擎的高效運(yùn)行依賴于穩(wěn)定且高效的數(shù)據(jù)通信能力,尤其是在分布式系統(tǒng)中,節(jié)點(diǎn)間的通信對(duì)于實(shí)時(shí)渲染和數(shù)據(jù)處理至關(guān)重要。
2、現(xiàn)有的通信方法在處理跨平臺(tái)數(shù)據(jù)傳輸時(shí)面臨著一些問題。首先,不同操作系統(tǒng)平臺(tái)之間的通信協(xié)議不統(tǒng)一,例如,windows平臺(tái)傾向于使用輸入輸出完成端口(input/output?completion?ports,iocp)作為其網(wǎng)絡(luò)通信模型,而linux平臺(tái)則通常使用事件輪詢(epoll)作為網(wǎng)絡(luò)通信機(jī)制。這種差異導(dǎo)致圖形引擎在開發(fā)時(shí)需要額外的去適配不同平臺(tái)的通信機(jī)制,增加了系統(tǒng)的復(fù)雜性和開發(fā)成本。其次,傳統(tǒng)的通信方法往往缺乏高效的數(shù)據(jù)處理機(jī)制,特別是在數(shù)據(jù)加密、完整性驗(yàn)證和錯(cuò)誤重傳等方面。這不僅影響了通信的效率,也降低了數(shù)據(jù)傳輸?shù)陌踩?。在圖形引擎的高負(fù)載環(huán)境下,可能導(dǎo)致渲染延遲或數(shù)據(jù)丟失,影響用戶體驗(yàn)。此外,隨著多核處理器的普及,如何充分利用多線程技術(shù)來提高通信性能,同時(shí)保證線程安全和資源合理分配,也是現(xiàn)有技術(shù)需要解決的問題?,F(xiàn)有的多線程模型在處理大量并發(fā)連接時(shí),可能會(huì)遇到資源競(jìng)爭(zhēng)、上下文切換頻繁等問題,從而影響整體通信性能。最后,隨著規(guī)模的擴(kuò)大和生產(chǎn)需求的變化,通信系統(tǒng)需要具備良好的后期擴(kuò)展性和維護(hù)性,現(xiàn)有的通信技術(shù)在擴(kuò)展方面不夠靈活和高效。當(dāng)前圖形引擎在分布式系統(tǒng)中的通信解決方案仍存在諸多不足,亟待一種能夠解決平臺(tái)存在差異、通信低效且不安全、可擴(kuò)展性差和線程資源分配不合理的問題的通信方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種分布式跨平臺(tái)通信方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),以解決上述分布式系統(tǒng)跨平臺(tái)通信過程中存在無法適配不同平臺(tái)、通信效率低、安全性低、線程資源分配不合理、可擴(kuò)展性差的技術(shù)問題。
2、于本申請(qǐng)一實(shí)施例中,本申請(qǐng)?zhí)峁┮环N分布式跨平臺(tái)通信方法,包括:獲取發(fā)送方節(jié)點(diǎn)的初始數(shù)據(jù)和中心服務(wù)器的連接信息,所述連接信息包括多個(gè)接收方節(jié)點(diǎn)的操作系統(tǒng)類型、地址信息和加密公鑰;根據(jù)各所述地址信息和各所述操作系統(tǒng)類型對(duì)應(yīng)的通信協(xié)議,建立所述發(fā)送方節(jié)點(diǎn)與各所述接收方節(jié)點(diǎn)的通信連接;為各所述接收方節(jié)點(diǎn)分配發(fā)送線程資源,并根據(jù)所述加密公鑰和各所述發(fā)送線程資源將所述初始數(shù)據(jù)加密傳輸至對(duì)應(yīng)的接收方節(jié)點(diǎn)。
3、于本申請(qǐng)一實(shí)施例中,為各所述接收方節(jié)點(diǎn)分配發(fā)送線程資源,包括:建立多個(gè)發(fā)送任務(wù)線程;將各所述發(fā)送任務(wù)線程分配至對(duì)應(yīng)的接收方節(jié)點(diǎn);若監(jiān)測(cè)到一已分配的發(fā)送任務(wù)線程處于空閑狀態(tài),則將所述一已分配的發(fā)送任務(wù)線程重新分配至另一需要發(fā)送線程資源的接收方節(jié)點(diǎn)。
4、于本申請(qǐng)一實(shí)施例中,根據(jù)所述加密公鑰和所述發(fā)送線程資源將所述初始數(shù)據(jù)加密傳輸至對(duì)應(yīng)的接收方節(jié)點(diǎn),包括:通過所述發(fā)送任務(wù)線程讀取所述初始數(shù)據(jù)中所述接收方節(jié)點(diǎn)所需的第一數(shù)據(jù);通過所述發(fā)送任務(wù)線程根據(jù)所述加密公鑰對(duì)所述第一數(shù)據(jù)進(jìn)行加密,得到待發(fā)加密數(shù)據(jù);通過所述發(fā)送任務(wù)線程對(duì)所述待發(fā)加密數(shù)據(jù)進(jìn)行哈希計(jì)算,得到待發(fā)哈希值;通過所述發(fā)送任務(wù)線程基于所述待發(fā)加密數(shù)據(jù)和待發(fā)哈希值構(gòu)建待發(fā)送數(shù)據(jù),并發(fā)送至對(duì)應(yīng)的接收方節(jié)點(diǎn)。
5、于本申請(qǐng)一實(shí)施例中,建立所述發(fā)送方節(jié)點(diǎn)與各所述接收方節(jié)點(diǎn)的通信連接,包括:建立所述發(fā)送方節(jié)點(diǎn)與各所述接收方節(jié)點(diǎn)的通信連接;若一通信連接建立成功,則將建立成功的信息記錄至日志系統(tǒng);若一通信連接建立失敗,則將建立失敗的信息記錄至日志系統(tǒng),并進(jìn)行重新建立通信連接。
6、于本申請(qǐng)一實(shí)施例中,所述日志系統(tǒng)用于根據(jù)預(yù)設(shè)格式記錄通信過程中各客戶節(jié)點(diǎn)的事件;所述預(yù)設(shè)格式包括發(fā)生時(shí)間、發(fā)生節(jié)點(diǎn)、發(fā)生事件和事件等級(jí)。
7、于本申請(qǐng)一實(shí)施例中,本申請(qǐng)?zhí)峁┮环N分布式跨平臺(tái)通信方法,包括:獲取接收方節(jié)點(diǎn)的連接信息和解密私鑰,并發(fā)送所述連接信息至中心服務(wù)器,以使多個(gè)發(fā)送方節(jié)點(diǎn)通過所述中心服務(wù)器獲取到所述連接信息,所述連接信息包括操作系統(tǒng)類型、地址信息和加密公鑰;根據(jù)所述地址信息和所述操作系統(tǒng)類型對(duì)應(yīng)的通信協(xié)議,建立所述接收方節(jié)點(diǎn)與各所述發(fā)送方節(jié)點(diǎn)的通信連接;接收各所述發(fā)送方節(jié)點(diǎn)發(fā)送的目標(biāo)數(shù)據(jù),并為各所述發(fā)送方節(jié)點(diǎn)分配接收線程資源;根據(jù)所述解密私鑰和各所述接收線程資源對(duì)各所述目標(biāo)數(shù)據(jù)進(jìn)行完整性校驗(yàn)和解密,并將解密后的所有目標(biāo)數(shù)據(jù)進(jìn)行存儲(chǔ)。
8、于本申請(qǐng)一實(shí)施例中,根據(jù)所述解密私鑰和所述接收線程資源對(duì)各所述目標(biāo)數(shù)據(jù)進(jìn)行完整性校驗(yàn)和解密,包括:通過所述接收線程資源計(jì)算已接加密數(shù)據(jù)的當(dāng)前哈希值;若所述當(dāng)前哈希值與已接哈希值相同,且所述已接加密數(shù)據(jù)的當(dāng)前長度和已接長度相同,則通過完整性校驗(yàn);若所述當(dāng)前哈希值與已接哈希值不同,和/或所述已接加密數(shù)據(jù)的當(dāng)前長度和已接長度不同,則未通過完整性校驗(yàn);若通過完整性校驗(yàn),則通過所述接收線程資源根據(jù)已接加密算法標(biāo)志位對(duì)應(yīng)的解密私鑰對(duì)所述已接加密數(shù)據(jù)進(jìn)行解密;若未通過完整性校驗(yàn),則通過所述接收線程資源觸發(fā)預(yù)設(shè)數(shù)據(jù)重傳機(jī)制或預(yù)設(shè)錯(cuò)誤處理流程;其中,所述目標(biāo)數(shù)據(jù)包括所述已接加密數(shù)據(jù)和所述已接加密數(shù)據(jù)對(duì)應(yīng)的所述已接哈希值、所述已接長度、所述已接加密算法標(biāo)志位。
9、于本申請(qǐng)一實(shí)施例中,本申請(qǐng)?zhí)峁┮环N分布式跨平臺(tái)通信裝置,包括:獲取模塊,用于獲取發(fā)送方節(jié)點(diǎn)的初始數(shù)據(jù)和中心服務(wù)器的連接信息,所述連接信息包括多個(gè)接收方節(jié)點(diǎn)的操作系統(tǒng)類型、地址信息和加密公鑰;連接建立模塊,用于根據(jù)各所述地址信息和各所述操作系統(tǒng)類型對(duì)應(yīng)的通信協(xié)議,建立所述發(fā)送方節(jié)點(diǎn)與各所述接收方節(jié)點(diǎn)的通信連接;數(shù)據(jù)發(fā)送模塊,用于為各所述接收方節(jié)點(diǎn)分配發(fā)送線程資源,并根據(jù)所述加密公鑰和各所述發(fā)送線程資源將所述初始數(shù)據(jù)加密傳輸至對(duì)應(yīng)的接收方節(jié)點(diǎn)。
10、于本申請(qǐng)一實(shí)施例中,本申請(qǐng)?zhí)峁┮环N電子設(shè)備,所述電子設(shè)備包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述電子設(shè)備實(shí)現(xiàn)如上述各實(shí)施例任一所述的分布式跨平臺(tái)通信方法。
11、于本申請(qǐng)一實(shí)施例中,本申請(qǐng)?zhí)峁┮环N計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序被計(jì)算機(jī)的處理器執(zhí)行時(shí),使計(jì)算機(jī)執(zhí)行上述各實(shí)施例任一所述的分布式跨平臺(tái)通信方法。
12、本發(fā)明實(shí)施例的有益效果:本發(fā)明提供一種分布式跨平臺(tái)通信方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),本發(fā)明實(shí)施例通過中心服務(wù)器獲取各接收方節(jié)點(diǎn)的操作系統(tǒng)類型,并通過對(duì)應(yīng)的通信協(xié)議建立通信連接,通過跨平臺(tái)操作降低了通信的復(fù)雜性和開發(fā)成本,提高了兼容性;通過為每一接收方節(jié)點(diǎn)分配對(duì)應(yīng)的線程資源從而進(jìn)行數(shù)據(jù)的加密傳輸,提高了數(shù)據(jù)傳輸?shù)陌踩浴⑼ㄐ判屎途€程資源分配的合理性,還可通過線程資源支持可擴(kuò)展地為更多的接收方節(jié)點(diǎn)提供數(shù)據(jù)加密傳輸服務(wù),以及進(jìn)行數(shù)據(jù)的加密傳輸。
13、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
1.一種分布式跨平臺(tái)通信方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的分布式跨平臺(tái)通信方法,其特征在于,為各所述接收方節(jié)點(diǎn)分配發(fā)送線程資源,包括:
3.根據(jù)權(quán)利要求2所述的分布式跨平臺(tái)通信方法,其特征在于,根據(jù)所述加密公鑰和所述發(fā)送線程資源將所述初始數(shù)據(jù)加密傳輸至對(duì)應(yīng)的接收方節(jié)點(diǎn),包括:
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的分布式跨平臺(tái)通信方法,其特征在于,建立所述發(fā)送方節(jié)點(diǎn)與各所述接收方節(jié)點(diǎn)的通信連接,包括:
5.根據(jù)權(quán)利要求4所述的分布式跨平臺(tái)通信方法,其特征在于,所述日志系統(tǒng)用于根據(jù)預(yù)設(shè)格式記錄通信過程中各客戶節(jié)點(diǎn)的事件;
6.一種分布式跨平臺(tái)通信方法,其特征在于,所述方法包括:
7.根據(jù)權(quán)利要求6所述的分布式跨平臺(tái)通信方法,其特征在于,根據(jù)所述解密私鑰和所述接收線程資源對(duì)各所述目標(biāo)數(shù)據(jù)進(jìn)行完整性校驗(yàn)和解密,包括:
8.一種分布式跨平臺(tái)通信裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序被計(jì)算機(jī)的處理器執(zhí)行時(shí),使計(jì)算機(jī)執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的分布式跨平臺(tái)通信方法。