[發(fā)明專利]一種在線編碼系統(tǒng)的代碼托管方法及工具有效
| 申請(qǐng)?zhí)枺?/td> | 202111581610.1 | 申請(qǐng)日: | 2021-12-22 |
| 公開(kāi)(公告)號(hào): | CN114253598B | 公開(kāi)(公告)日: | 2023-09-05 |
| 發(fā)明(設(shè)計(jì))人: | 李倩;趙子墨;李照川;黃浩;呂明逸 | 申請(qǐng)(專利權(quán))人: | 浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司 |
| 主分類號(hào): | G06F8/71 | 分類號(hào): | G06F8/71;G06F8/65 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 馮春連 |
| 地址: | 214125 江蘇省無(wú)錫市無(wú)錫經(jīng)濟(jì)開(kāi)發(fā)區(qū)金融一街15號(hào)110*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 在線 編碼 系統(tǒng) 代碼 托管 方法 工具 | ||
1.一種在線編碼系統(tǒng)的代碼托管方法,其特征在于,該托管方法的實(shí)現(xiàn)包括:
在線編碼系統(tǒng)對(duì)其每個(gè)用戶都分配一個(gè)工作空間,該工作空間用于存儲(chǔ)用戶編寫(xiě)的代碼;在線編碼系統(tǒng)的用戶賬號(hào)基本信息、以及用戶與服務(wù)器工作空間路徑的對(duì)照關(guān)系存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的列表List1,列表List1為gitlab托管服務(wù)提供用戶以及代碼提交目錄的數(shù)據(jù)依據(jù);
以上述內(nèi)容為前提,使用gitlab服務(wù),為在線編碼系統(tǒng)的每個(gè)用戶創(chuàng)建一個(gè)唯一綁定的gitlab賬號(hào),該gitlab賬號(hào)用于提供存儲(chǔ)和管理用戶代碼文件的gitlab權(quán)限;
gitlab權(quán)限托管服務(wù)提供的功能包括:(1)對(duì)接在線編碼系統(tǒng)的用戶信息,為每個(gè)使用在線編碼系統(tǒng)的用戶建立唯一的gitlab賬號(hào),(2)從在線編碼系統(tǒng)中獲取用戶以及用戶的工作空間路徑,針對(duì)綁定gitlab賬號(hào)的用戶,使用定時(shí)任務(wù)策略,執(zhí)行用戶工作空間代碼文件的自動(dòng)提交和更新,(3)將在線編碼系統(tǒng)的用戶與gitlab賬號(hào)的對(duì)接及關(guān)聯(lián)關(guān)系存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的列表List2中,(4)通過(guò)gitlab?API,完成用戶創(chuàng)建、工程創(chuàng)建以及代碼文件的自動(dòng)更新及維護(hù);
綁定gitlab賬號(hào)的用戶使用在線編碼系統(tǒng)進(jìn)行代碼編輯時(shí),gitlab權(quán)限托管服務(wù)將綁定gitlab賬號(hào)的用戶所分配工作空間內(nèi)產(chǎn)生的代碼文件自動(dòng)提交和更新至gitlab服務(wù),具體操作包括:
(1)從在線編碼系統(tǒng)中獲取列表List1格式的用戶信息列表ListUser,
(2)遍歷(1)中所述列表ListUser,每次取出一個(gè)用戶user,user有四個(gè)屬性:{userId,userName,workPath,userPwd},其中,userId表示用戶Id,userName表示用戶名稱,workPath表示用戶工作空間目錄,userPwd表示用戶系統(tǒng)密碼,userPwd使用AES加密策略,加密key為在線編碼系統(tǒng)與gitlab權(quán)限托管服務(wù)約定的字符串,稱為publicKey,
(3)對(duì)user的信息處理如下:
(i)取user的userId,在列表List2中查詢是否有對(duì)應(yīng)數(shù)據(jù),如果有,則說(shuō)明已為該用戶創(chuàng)建gitlab賬號(hào),執(zhí)行(iii),如果沒(méi)有,執(zhí)行(ii),
(ii)使用publicKey對(duì)userPwd進(jìn)行解密,如果解密成功,則證明了用戶信息的安全性,然后調(diào)用gitlab?API為該用戶創(chuàng)建gitlab賬號(hào),得到用戶對(duì)應(yīng)的gitUserId、gitUserName、gitUserPwd,并將其和用戶的userId、userName信息存入列表List2,存儲(chǔ)的時(shí)候使用解密成功的userPwd作為秘鑰,對(duì)gitUserPwd進(jìn)行加密,然后存儲(chǔ)到mysql數(shù)據(jù)中,確保gitlab賬號(hào)密碼保存的安全性,
(iii)取user的workPath,找到其在服務(wù)器的相對(duì)位置,以workPath為根目錄,獲取根目錄下的文件夾列表ListFolder,繼續(xù)執(zhí)行(iv),
(iv)使用publicKey對(duì)userPwd進(jìn)行解密,解密成功后得到解密的userPwd,使用解密的userPwd作為秘鑰,解密gitUserPwd,得到用戶真實(shí)的gitlab賬號(hào)密碼,記為gitUserRealPwd,遍歷(iii)中所述文件夾列表ListFolder,每次獲取一個(gè)文件夾folder,以每個(gè)文件夾作為一個(gè)代碼工程,首先調(diào)用gitlab?API查詢?cè)揻older是否已創(chuàng)建git工程,如果已創(chuàng)建,則使用gitUserId和gitUserRealPwd,進(jìn)行代碼的提交和更新即可,否則,先調(diào)用gitlab?API,傳入gitUserId和gitUserRealPwd,創(chuàng)建新的工程,再提交該folder到gitlab服務(wù)的倉(cāng)庫(kù)。
2.一種在線編碼系統(tǒng)的代碼托管工具,其特征在于,其實(shí)現(xiàn)涉及在線編碼系統(tǒng)、gitlab服務(wù)和gitlab權(quán)限托管服務(wù);
在線編碼系統(tǒng)對(duì)其每個(gè)用戶都在服務(wù)器上分配一個(gè)工作空間,該工作空間用于存儲(chǔ)用戶編寫(xiě)的代碼;在線編碼系統(tǒng)的用戶賬號(hào)基本信息、以及用戶與服務(wù)器工作空間路徑的對(duì)照關(guān)系存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的列表List1,列表List1為gitlab托管服務(wù)提供用戶以及代碼提交目錄的數(shù)據(jù)依據(jù);
gitlab服務(wù)用于輔助在線編碼系統(tǒng)的每個(gè)用戶創(chuàng)建一個(gè)唯一綁定的gitlab賬號(hào),該gitlab賬號(hào)用于提供存儲(chǔ)和管理用戶代碼文件的gitlab權(quán)限;
gitlab權(quán)限托管服務(wù)提供的功能包括:(1)對(duì)接在線編碼系統(tǒng)的用戶信息,為每個(gè)使用在線編碼系統(tǒng)的用戶建立唯一的gitlab賬號(hào),(2)從在線編碼系統(tǒng)中獲取用戶以及用戶的工作空間路徑,針對(duì)綁定gitlab賬號(hào)的用戶,使用定時(shí)任務(wù)策略,執(zhí)行用戶工作空間代碼文件的自動(dòng)提交和更新,(3)將在線編碼系統(tǒng)的用戶與gitlab賬號(hào)的對(duì)接及關(guān)聯(lián)關(guān)系存儲(chǔ)在mysql數(shù)據(jù)庫(kù)的列表List2中,(4)通過(guò)gitlab?API,完成用戶創(chuàng)建、工程創(chuàng)建以及代碼文件的自動(dòng)更新及維護(hù);
綁定gitlab賬號(hào)的用戶使用在線編碼系統(tǒng)進(jìn)行代碼編輯時(shí),gitlab權(quán)限托管服務(wù)用于將綁定gitlab賬號(hào)的用戶所分配工作空間內(nèi)產(chǎn)生的代碼文件自動(dòng)提交和更新至gitlab服務(wù),執(zhí)行的具體操作如下:
(1)從在線編碼系統(tǒng)中獲取列表List1格式的用戶信息列表ListUser,
(2)遍歷(1)中所述列表ListUser,每次取出一個(gè)用戶user,user有四個(gè)屬性:{userId,userName,workPath,userPwd},其中,userId表示用戶Id,userName表示用戶名稱,workPath表示用戶工作空間目錄,userPwd表示用戶系統(tǒng)密碼,userPwd使用AES加密策略,加密key為在線編碼系統(tǒng)與gitlab權(quán)限托管服務(wù)約定的字符串,稱為publicKey,
(3)對(duì)user的信息處理如下:
(i)取user的userId,在列表List2中查詢是否有對(duì)應(yīng)數(shù)據(jù),如果有,則說(shuō)明已為該用戶創(chuàng)建gitlab賬號(hào),執(zhí)行(iii),如果沒(méi)有,執(zhí)行(ii),
(ii)使用publicKey對(duì)userPwd進(jìn)行解密,如果解密成功,則證明了用戶信息的安全性,然后調(diào)用gitlab?API為該用戶創(chuàng)建gitlab賬號(hào),得到用戶對(duì)應(yīng)的gitUserId、gitUserName、gitUserPwd,并將其和用戶的userId、userName信息存入列表List2,存儲(chǔ)的時(shí)候使用解密成功的userPwd作為秘鑰,對(duì)gitUserPwd進(jìn)行加密,然后存儲(chǔ)到mysql數(shù)據(jù)中,確保gitlab賬號(hào)密碼保存的安全性,
(iii)取user的workPath,找到其在服務(wù)器的相對(duì)位置,以workPath為根目錄,獲取根目錄下的文件夾列表ListFolder,繼續(xù)執(zhí)行(iv),
(iv)使用publicKey對(duì)userPwd進(jìn)行解密,解密成功后得到解密的userPwd,使用解密的userPwd作為秘鑰,解密gitUserPwd,得到用戶真實(shí)的gitlab賬號(hào)密碼,記為gitUserRealPwd,遍歷(iii)中所述文件夾列表ListFolder,每次獲取一個(gè)文件夾folder,以每個(gè)文件夾作為一個(gè)代碼工程,首先調(diào)用gitlab?API查詢?cè)揻older是否已創(chuàng)建git工程,如果已創(chuàng)建,則使用gitUserId和gitUserRealPwd,進(jìn)行代碼的提交和更新即可,否則,先調(diào)用gitlab?API,傳入gitUserId和gitUserRealPwd,創(chuàng)建新的工程,再提交該folder到gitlab服務(wù)的倉(cāng)庫(kù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司,未經(jīng)浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111581610.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 用于呈現(xiàn)在線實(shí)體在線狀態(tài)的系統(tǒng)和方法
- 提供web服務(wù)接入的在線系統(tǒng)和方法
- 定制在線圖標(biāo)
- 一種水質(zhì)在線檢測(cè)預(yù)處理裝置
- 在線測(cè)試學(xué)習(xí)方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種在線文檔的分頁(yè)方法、裝置、設(shè)備以及可讀介質(zhì)
- 一種基于web在線學(xué)習(xí)的資源訪問(wèn)平臺(tái)
- 一種在線學(xué)習(xí)系統(tǒng)
- 在線文檔提交方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 空調(diào)冷媒量確定方法、系統(tǒng)和可讀存儲(chǔ)介質(zhì)
- 體征碼及其編碼方法
- 編碼裝置和編碼方法以及解碼裝置和解碼方法
- 聲音信號(hào)編碼方法、聲音信號(hào)解碼方法、編碼裝置、解碼裝置、聲音信號(hào)處理系統(tǒng)、聲音信號(hào)編碼程序以及聲音信號(hào)解碼程序
- 用于下一代視頻的編碼/未編碼的數(shù)據(jù)的內(nèi)容自適應(yīng)熵編碼
- 編碼光符號(hào)編碼
- 一種可變幀率的編碼方法及裝置
- 一種物聯(lián)網(wǎng)編碼方法及系統(tǒng)
- 點(diǎn)陣編碼及解碼方法
- 一種視頻編碼方法、裝置和存儲(chǔ)介質(zhì)
- 視頻編碼方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





