国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2024-09-12 00:00:00劉寧海殷衛(wèi)強
物聯(lián)網(wǎng)技術 2024年4期
關鍵詞:信創(chuàng)即時通訊

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

關鍵詞:申威-威焱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 引 言

當前,在信息科技領域,大多數(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)化研究一直在不斷推進之中。例如,近期有關申威眾核處理器上通信研究的文獻[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è)和個人消費領域的應用不斷提高[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可直接通過二進制翻譯技術進行移植,并已有相關應用成功實現(xiàn)[7],而對于編譯型語言如C/C++,則需要進行源代碼編譯。在部署方面,應用程序的實施部署也需要根據(jù)不同的平臺系統(tǒng)特點適配,而不同的環(huán)境下,應用的發(fā)布方式也可能存在差異[8]。最后,本文以基于申威-威焱831和國產(chǎn)統(tǒng)信操作系統(tǒng)為基礎實現(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ù)層主要用來存放人員登錄、權限、消息、文件等信息。

客戶端功能如圖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 編譯基礎環(huán)境

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

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

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

2.3 安裝依賴包

申威平臺下,Qt源碼編譯需要依賴相關庫,包括平臺相關、三維繪圖、字體、開發(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].自動化技術與應用,2020,39(3):51-55.

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

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

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

[7]鮑正剛,王興元,王豐.Java項目在申威平臺上的移植部署[J].網(wǎng)絡安全技術與應用,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)移植測試。

猜你喜歡
信創(chuàng)即時通訊
信創(chuàng)浪潮下收費系統(tǒng)國產(chǎn)化改造探索
低代碼開發(fā)平臺加速信創(chuàng)落地
中國信息化(2021年8期)2021-09-07 21:34:32
華云數(shù)據(jù):“全芯全?!敝Α靶艅?chuàng)強國”
中國信息化(2021年7期)2021-07-22 19:07:16
EasyStack下注信創(chuàng)云
江蘇省信創(chuàng)生態(tài)構(gòu)建發(fā)展新格局
江蘇省信創(chuàng)生態(tài)構(gòu)建發(fā)展新格局
即時通訊在高校體育教學中的應用研究
運動精品(2019年10期)2019-11-26 04:56:26
民事訴訟中即時通訊記錄的證據(jù)采用進路
即時通訊軟件發(fā)展模型的實證研究
東方教育(2016年19期)2017-01-16 12:34:53
科學技術哲學視域下的即時通訊
科技傳播(2015年14期)2015-12-13 04:20:18
吐鲁番市| 仁布县| 珲春市| 兴海县| 靖边县| 三亚市| 鹤岗市| 新泰市| 任丘市| 开江县| 陵水| 建宁县| 通城县| 岐山县| 玛沁县| 崇文区| 清河县| 沁水县| 通州区| 呈贡县| 建水县| 云林县| 武山县| 那坡县| 达拉特旗| 平陆县| 济阳县| 海城市| 五峰| 濮阳市| 张家口市| 南充市| 新源县| 东乡县| 边坝县| 景宁| 松江区| 东宁县| 高平市| 苗栗县| 安宁市|