亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于申威-威焱831和統(tǒng)信操作系統(tǒng)下設計即時通訊系統(tǒng)的全流程研究

        2024-09-12 00:00:00劉寧海殷衛(wèi)強
        物聯(lián)網(wǎng)技術(shù) 2024年4期

        摘 要:申威作為國內(nèi)信創(chuàng)產(chǎn)業(yè)重要的生力軍,其完全自主指令集核心處理器的優(yōu)勢備受矚目。但是,基于申威架構(gòu)的應用全流程開發(fā)尚未得到足夠關(guān)注。因此,提出基于申威-威焱831和統(tǒng)信操作系統(tǒng)設計了即時通訊系統(tǒng)的全流程開發(fā)應用。文中詳細闡述了系統(tǒng)框架設計、Qt源碼編譯、Qt Creator安裝,并提出了一種自動化獲取Qt運行時庫腳本的方法,徹底解決應用程序發(fā)布難題。最后,利用DEBIAN包管理軟件對應用程序打包,實驗結(jié)果證明,應用程序發(fā)布到其他客戶機同樣能正常工作。

        關(guān)鍵詞:申威-威焱831;信創(chuàng);即時通訊;Qt;自動化腳本;程序發(fā)布

        中圖分類號:TP311.1 文獻標識碼:A 文章編號:2095-1302(2024)04-0-04

        DOI:10.16667/j.issn.2095-1302.2024.04.041

        0 引 言

        當前,在信息科技領(lǐng)域,大多數(shù)應用系統(tǒng)都運行在英特爾x86平臺下,而“絕對壟斷”的wintel(即Windows+Intel)組合已經(jīng)主導了該行業(yè)多年。隨著國家信息科技創(chuàng)新[1]產(chǎn)業(yè)的崛起,打破來自西方的所謂“卡脖子”行業(yè)的呼聲越來越高,人們?nèi)找嫫诖龂鴥?nèi)創(chuàng)造的自主設計產(chǎn)品能夠替代進口產(chǎn)品,實現(xiàn)真正的自主創(chuàng)新。而其中基于申威處理器的優(yōu)化研究一直在不斷推進之中。例如,近期有關(guān)申威眾核處理器上通信研究的文獻[2]表明,通過基于寄存器的通信方式,該處理器的性能得到了大幅改善。然而,由于自主設計的處理器指令集架構(gòu)與x86存在很大差異,因此為了在國產(chǎn)化環(huán)境中使用這些處理器,應用軟件就必須適配國產(chǎn)處理器的指令集。目前,越來越多的應用程序已經(jīng)開始基于國產(chǎn)處理器以及國產(chǎn)操作系統(tǒng)進行開發(fā)[3],如統(tǒng)信操作系統(tǒng)在行業(yè)和個人消費領(lǐng)域的應用不斷提高[4],而在其系統(tǒng)上進行Ceph集群性能測試的研究也取得了顯著進展[5]。此外,國產(chǎn)麒麟操作系統(tǒng)上應用軟件的設計和開發(fā)隨著信息創(chuàng)新產(chǎn)業(yè)的發(fā)展成為了一個新的方向[6]??梢钥吹剑畔?chuàng)新產(chǎn)業(yè)百花齊放。本文旨在探討基于申威處理器以及統(tǒng)信操作系統(tǒng)的應用程序開發(fā)、移植、部署全流程問題。特別地,對于基于申威處理器移植的應用,其移植方式可以分為二進制翻譯和源碼編譯兩種。例如,解釋性語言如Java可直接通過二進制翻譯技術(shù)進行移植,并已有相關(guān)應用成功實現(xiàn)[7],而對于編譯型語言如C/C++,則需要進行源代碼編譯。在部署方面,應用程序的實施部署也需要根據(jù)不同的平臺系統(tǒng)特點適配,而不同的環(huán)境下,應用的發(fā)布方式也可能存在差異[8]。最后,本文以基于申威-威焱831和國產(chǎn)統(tǒng)信操作系統(tǒng)為基礎(chǔ)實現(xiàn)的一款即時通訊應用為例來說明本文主旨。項目采用C++語言進行客戶端開發(fā),并使用定制化的Qt Creator IDE[9]及Qt庫進行界面設計。由于需要開發(fā)環(huán)境的部署,在申威平臺下需要定制Qt開發(fā)環(huán)境,并提出了一種自動化獲取依賴的Qt運行時庫腳本,使應用程序發(fā)布變得更為簡便。最終,已將該應用成功打包成為可一鍵安裝和卸載的deb安裝包。通過上述研究,實驗結(jié)果也說明了即使發(fā)布在其他客戶機,應用同樣可正常

        工作。

        1 軟件設計

        系統(tǒng)服務端架構(gòu)如1所示。

        具體說明如下:

        (1)應用層:應用層主要為PC客戶端(即時通訊客戶端),消息存放在本地數(shù)據(jù)庫中。

        (2)服務層:服務層主要包含HTTP服務和TCP服務,HTTP服務包含消息、回執(zhí)、人員信息,TCP服務主要用來推送消息。

        (3)數(shù)據(jù)層:服務端的數(shù)據(jù)層主要用來存放人員登錄、權(quán)限、消息、文件等信息。

        客戶端功能如圖2所示。

        (1)聊天功能:此為即時通訊的主要功能,包括支持發(fā)送文本、圖片、視頻、文件等消息內(nèi)容。

        (2)通訊錄功能:從HTTP獲取全量通訊錄,支持模糊查找。

        (3)群組功能:支持群組新建、修改、刪除等功能。

        (4)組織功能:獲取組織下的所有人員信息。

        2 Qt庫編譯及Qt Creator安裝

        由于Qt官網(wǎng)無提前編譯好的基于申威平臺的安裝包,所以需要對Qt源碼進行基于申威平臺的編譯適配,生成適配申威版Qt開發(fā)庫。本文所使用的Qt版本為5.13.2。

        2.1 編譯基礎(chǔ)環(huán)境

        編譯Qt源碼需要基礎(chǔ)運行環(huán)境及依賴庫。需要依賴的基礎(chǔ)環(huán)境見表1所列。

        2.2 檢查安裝環(huán)境

        基礎(chǔ)環(huán)境安裝完成后的檢查流程如圖3所示。

        2.3 安裝依賴包

        申威平臺下,Qt源碼編譯需要依賴相關(guān)庫,包括平臺相關(guān)、三維繪圖、字體、開發(fā)工具包。其中部分是在編譯過程中加載,部分在運行時加載,具體見表2所列。

        2.4 編譯及安裝

        上述安裝包執(zhí)行完后,在Qt源碼目錄下執(zhí)行編譯、安裝命令,Qt庫安裝完成。

        2.5 安裝Qt Creator

        安裝命令:apt install qtcreator。

        3 程序打包

        針對在開發(fā)環(huán)境中編寫的程序發(fā)布到其他申威831客戶機上需要手動查找依賴庫文件低效的問題,本文設計了一種自動化腳本解決方案。該腳本可以在開發(fā)環(huán)境中自動查找應用程序所依賴的所有庫文件,并將其全部打包成為一個安裝包。通過該方法可以避免手動查找依賴庫文件耗費大量時間和精力的問題,并確保所找出的依賴庫文件完整準確,提高應用程序發(fā)布的效率和可靠性。本文詳細描述了該系統(tǒng)的原理以及具體實現(xiàn)方式,并在實驗中驗證了該方案的可行性和有效性。

        Qt程序依賴的庫文件主要分為libs、platforms、SQLdrivers三大類,所以腳本的編寫主要圍繞查找這三類

        展開。

        依賴庫提取流程如圖4所示。

        4 一鍵生成程序deb包

        本文探討在統(tǒng)信操作系統(tǒng)下,針對應用程序依賴庫文件、配置文件、數(shù)據(jù)庫等其他內(nèi)置文件的需求,提供一鍵安裝及卸載軟件功能。為此,我們使用deb作為包管理方式,將應用程序及其所需依賴的所有文件統(tǒng)一打包成一個軟件包,并設計了一套完整的軟件安裝和卸載機制。通過這種方式,我們能夠提供用戶友好、方便快捷的軟件安裝和卸載體驗,降低用戶操作的難度和出錯風險,延長軟件生命周期,提高可維護性和穩(wěn)定性。本文詳細描述了如何構(gòu)建deb軟件包以及如何通過dpkg命令進行軟件安裝與卸載,同時提出了在實施過程中的注意事項和優(yōu)化策略。

        4.1 打包目錄結(jié)構(gòu)

        統(tǒng)信平臺下deb打包程序結(jié)構(gòu)如下所示:

        DEBIAN

        control

        preinst

        postrm

        usr

        local

        bin

        IMpackage(程序目錄)

        share

        applications(xxx.desktop)

        4.2 腳本文件內(nèi)容

        control文件內(nèi)容如下所示:

        Package:imchat-sw

        Version:2023-04-07

        Section:Commercial

        Priority:optional

        Architecture:sw_64

        Maintainer:Liunh

        Provides:imchat-sw

        Description:a tool for chat

        注意:Package命名有規(guī)定,大寫、數(shù)字、下劃線都不能出現(xiàn),Architecture指的是CPU架構(gòu)類型,這里是申威平臺架構(gòu):sw_64。

        preinst文件內(nèi)容如下所示:

        #!/bin/bash

        dir=/usr/local/Qt-5.13.2/lib/fonts

        if [ ! -d \"$dir\" ]; then

        mkdir -p /usr/local/Qt-5.13.2/lib/fonts

        cp /usr/share/fonts/opentype/noto/* /usr/local/Qt-5.13.2/lib/fontsfi

        dir1=/usr/local/Qt-5.13.2/plugins/platforminputcontexts

        if [ ! -d \"$dir1\" ]; then

        mkdir -p /usr/local/Qt-5.13.2/plugins/platforminputcontexts

        cp /usr/lib/sw_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /usr/local/Qt-5.13.2/plugins/platforminputcontexts

        chmod +x /usr/local/Qt-5.13.2/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

        fi

        postrm文件內(nèi)容如下所示:

        #!/bin/bash

        rm -rf /usr/local/Qt-5.13.2/lib/fonts

        4.3 執(zhí)行打包命令

        上述目錄中的腳本編寫完成后,執(zhí)行打包命令:

        dpkg -b im-deb uos20_sw831_imchart.deb

        5 實驗結(jié)果及分析

        5.1 實驗結(jié)果

        申威平臺下即時通訊安裝包截圖如圖5所示。

        軟件安裝界面如圖6所示,程序執(zhí)行界面如圖7所示。

        5.2 實驗問題分析

        在基于申威831平臺開發(fā)應用程序的過程中,遇到了區(qū)別于基于x86平臺的問題,經(jīng)過適配移植,最終實現(xiàn)了基于國產(chǎn)申威架構(gòu)CPU平臺、統(tǒng)信操作系統(tǒng)應用程序的開發(fā)與部署[10]。表3所列為申威平臺環(huán)境下遇到的問題及解決

        方案。

        6 結(jié) 語

        本文系統(tǒng)地介紹了基于申威831、統(tǒng)信操作系統(tǒng)平臺下的應用軟件開發(fā)、部署及實施流程,強調(diào)了該過程中因軟硬件架構(gòu)不同所帶來的挑戰(zhàn)以及解決這些挑戰(zhàn)的具體方法。本文所有內(nèi)容都基于作者在實踐中積累的經(jīng)驗,為未來在信息創(chuàng)新產(chǎn)業(yè)環(huán)境中開發(fā)、部署應用軟件提供了有益指導和借鑒。此外,本文也提出了可用于優(yōu)化應用程序性能和簡化環(huán)境部署的策略,從而提高國產(chǎn)處理器、操作系統(tǒng)等自主設計產(chǎn)品的應用范圍和競爭力。

        參考文獻

        [1]李韶光,劉雷,郎金鵬,等.CPU發(fā)展概述及國產(chǎn)化之路[J].網(wǎng)絡空間安全,2020,11(4):114-117.

        [2]李少迪,吳俊敏,張屹,等.申威26010處理器上協(xié)程間通信的研究[J].計算機應用與軟件,2022,39(12):137-143.

        [3]李勇.基于麒麟系統(tǒng)的即時通訊系統(tǒng)設計與實現(xiàn)[J].自動化技術(shù)與應用,2020,39(3):51-55.

        [4]曹政.國產(chǎn)操作系統(tǒng)發(fā)力個人消費市場[N]. 北京日報,2022-12-24(7).

        [5]康克松,張慶海,信寄遙,等.UOS操作系統(tǒng)Ceph集群性能測試工具對比研究[J].計算機技術(shù)與發(fā)展,2022,32(5):63-67.

        [6]孫寶亮,王毅,薛凱,等.基于中標麒麟的測發(fā)控類軟件一體化設計[J].計算機測量與控制,2021,29(12):145-149.

        [7]鮑正剛,王興元,王豐.Java項目在申威平臺上的移植部署[J].網(wǎng)絡安全技術(shù)與應用,2023,23(4):64-66.

        [8]趙正旭,陶智,徐騫.基于國產(chǎn)操作系統(tǒng)應用軟件部署對策的探討[J].微型機與應用,2016,35(18):16-18.

        [9]霍亞飛.Qt Creator快速入門(第3版)[M].北京:北京航空航天大學出版社,2017.

        [10]馮前進.基于IMS的即時通訊系統(tǒng)的研究與實現(xiàn)[D].成都:電子科技大學,2009.

        收稿日期:2023-05-23 修回日期:2023-06-26

        作者簡介:劉寧海(1988—),男,碩士,工程師,研究方向為國產(chǎn)操作系統(tǒng)軟件開發(fā)移植、區(qū)塊鏈。

        殷衛(wèi)強(1990—),男,本科,工程師,研究方向為國產(chǎn)操作系統(tǒng)移植測試。

        看国产亚洲美女黄色一级片| 精品国产一级毛片大全| 久久99中文字幕久久| 老司机在线免费视频亚洲| 麻豆文化传媒精品一区观看| 风韵多水的老熟妇| 国产精品欧美日韩在线一区| 亚洲国产av自拍精选| 国产一区二区黄色网页| 中文字幕在线日亚洲9| 中字幕久久久人妻熟女 | 亚洲av乱码一区二区三区人人| 色欲欲www成人网站| 亚洲高清一区二区三区在线播放| 国产特黄级aaaaa片免| 国产av国片精品| 国产精品无码mv在线观看| 精品亚洲国产日韩av一二三四区| 精品国产麻豆免费人成网站| 久久综合给合久久狠狠狠97色69| 久天啪天天久久99久孕妇| 东风日产车是不是国产的| 欧美性色欧美a在线播放| 天天躁日日躁狠狠躁av| 久久青青草原亚洲AV无码麻豆| 一区二区三区成人av| 中文字幕 亚洲精品 第1页 | 四虎影永久在线观看精品 | 国产日b视频| 成人激情视频一区二区三区| 77777亚洲午夜久久多喷| 无遮挡又黄又刺激又爽的视频| 亚洲三区二区一区视频| 中文字幕一区乱码在线观看| 日韩精品真人荷官无码| 最新69国产成人精品视频免费| 日本最新在线一区二区| 丰满人妻一区二区三区视频| 日韩人妻无码免费视频一区二区三区| 亚洲一区二区久久青草| 杨幂一区二区系列在线|