本發(fā)明屬于計算機,涉及一種開源項目外部開發(fā)者識別方法、裝置和設(shè)備。
背景技術(shù):
1、在現(xiàn)代軟件開發(fā)領(lǐng)域,開源軟件(oss)項目發(fā)揮著不可或缺的作用。這些項目不僅促進了技術(shù)創(chuàng)新與知識共享,還建立了一個全球開發(fā)者能夠協(xié)同合作的平臺,共同推動軟件項目的前進。隨著這些項目規(guī)模的逐漸擴大和開發(fā)者社區(qū)的持續(xù)壯大,如何有效吸引外部開發(fā)者加入并為項目持續(xù)貢獻成了一個日益突出的問題。外部開發(fā)者是那些不屬于項目核心團隊,但自愿為開源項目做出貢獻個人或團體,他們擁有巨大潛力卻尚未在社區(qū)中獲得足夠認可,對于開源項目的創(chuàng)新與持續(xù)進步至關(guān)重要。因此,識別和分析這些外部開發(fā)者的行為,并對其進行有效的管理與引導,對于開源軟件項目的長遠發(fā)展具有深刻的意義。
2、識別外部開發(fā)者是領(lǐng)域研究中的一項重要工作。通常,為了確保代碼的安全性和項目管理的有效性,開源項目的存儲庫中會有一個權(quán)限列表來詳細記錄哪些用戶擁有除默認權(quán)限外的特殊權(quán)限,比如可以編輯或管理存儲庫中的文檔、代碼文件等,這些用戶通常是被項目核心團隊所認可的內(nèi)部人員。因此,研究者可以通過檢查存儲庫的權(quán)限列表來準確地區(qū)分一個項目的內(nèi)部人員和外部開發(fā)者。然而,出于對用戶隱私的保護,存儲庫的權(quán)限列表通常只對項目內(nèi)部人員開放,非項目內(nèi)部人員并沒有權(quán)限獲取到存儲庫的權(quán)限列表。
3、如何開發(fā)一種新的外部開發(fā)者識別方法,能夠準確高效地識別開源軟件項目中的外部開發(fā)者,同時考慮到開發(fā)者角色的動態(tài)變化,是本領(lǐng)域技術(shù)人員極為關(guān)注的重要技術(shù)問題。
技術(shù)實現(xiàn)思路
1、針對上述傳統(tǒng)方法中存在的問題,本發(fā)明提出了一種開源項目外部開發(fā)者識別方法、一種開源項目外部開發(fā)者識別裝置以及一種計算機設(shè)備,考慮了開發(fā)者角色的動態(tài)變化,能高效的識別外部開發(fā)者并具有較高的可操作性和靈活性。
2、為了實現(xiàn)上述目的,本發(fā)明實施例采用以下技術(shù)方案:
3、一方面,提供一種開源項目外部開發(fā)者識別方法,包括步驟:
4、獲取用戶端發(fā)送的開發(fā)者識別請求;開發(fā)者識別請求包括目標軟件項目的名稱和目標開發(fā)者的唯一身份標識;
5、根據(jù)開發(fā)者識別請求在后臺服務器數(shù)據(jù)庫中查找目標軟件項目的設(shè)定時段內(nèi)的最新開發(fā)者行為數(shù)據(jù);
6、當后臺服務器數(shù)據(jù)庫內(nèi)沒有最新開發(fā)者行為數(shù)據(jù)時,從互聯(lián)網(wǎng)上搜索并下載目標軟件項目的最新開發(fā)者行為數(shù)據(jù)到后臺服務器數(shù)據(jù)庫;
7、將最新開發(fā)者行為數(shù)據(jù)對應的目標開發(fā)者行為事件標記為特權(quán)事件,將標記后的最新開發(fā)者行為數(shù)據(jù)存儲于后臺服務器數(shù)據(jù)庫;目標開發(fā)者行為事件為需要存儲庫的寫權(quán)限的行為事件;
8、當按時間順序查找不到目標開發(fā)者執(zhí)行的下一件特權(quán)事件時,在特權(quán)事件的創(chuàng)建時間起至設(shè)定時長的時間段上將目標開發(fā)者標記為外部開發(fā)者;
9、將目標開發(fā)者在目標軟件項目中擁有外部開發(fā)者的標記的時間段返回給用戶端。
10、在其中一個實施例中,當按時間順序查找到目標開發(fā)者執(zhí)行的下一件特權(quán)事件時,開源項目外部開發(fā)者識別方法還包括步驟:
11、在下一件特權(quán)事件的創(chuàng)建時間起至設(shè)定時長的時段上將目標開發(fā)者標記為內(nèi)部開發(fā)者;設(shè)定時長為三個月;
12、開始按時間順序查找目標開發(fā)者執(zhí)行的再下一件特權(quán)事件是否存在,執(zhí)行再下一個時間段的開發(fā)者標記處理。
13、在其中一個實施例中,當后臺服務器數(shù)據(jù)庫內(nèi)已有最新開發(fā)者行為數(shù)據(jù)時,開源項目外部開發(fā)者識別方法還包括步驟:
14、根據(jù)目標開發(fā)者的唯一身份標識從目標軟件項目的所有開發(fā)者行為數(shù)據(jù)中過濾出目標開發(fā)者對應的開發(fā)者行為數(shù)據(jù);
15、根據(jù)目標開發(fā)者對應的開發(fā)者行為數(shù)據(jù),計算目標開發(fā)者在目標軟件項目中作為外部開發(fā)者的時間段并返回給用戶端。
16、另一方面,還提供一種開源項目外部開發(fā)者識別裝置,包括:
17、請求接收模塊,用于獲取用戶端發(fā)送的開發(fā)者識別請求;開發(fā)者識別請求包括目標軟件項目的名稱和目標開發(fā)者的唯一身份標識;
18、數(shù)據(jù)庫查找模塊,用于根據(jù)開發(fā)者識別請求在后臺服務器數(shù)據(jù)庫中查找目標軟件項目的設(shè)定時段內(nèi)的最新開發(fā)者行為數(shù)據(jù);
19、項目獲取模塊,用于當后臺服務器數(shù)據(jù)庫內(nèi)沒有最新開發(fā)者行為數(shù)據(jù)時,從互聯(lián)網(wǎng)上搜索并下載目標軟件項目的最新開發(fā)者行為數(shù)據(jù)到后臺服務器數(shù)據(jù)庫;
20、事件標記模塊,用于將最新開發(fā)者行為數(shù)據(jù)對應的目標開發(fā)者行為事件標記為特權(quán)事件,將標記后的最新開發(fā)者行為數(shù)據(jù)存儲于后臺服務器數(shù)據(jù)庫;目標開發(fā)者行為事件為需要存儲庫的寫權(quán)限的行為事件;
21、開發(fā)者標記模塊,用于當按時間順序查找不到目標開發(fā)者執(zhí)行的下一件特權(quán)事件時,在特權(quán)事件的創(chuàng)建時間起至設(shè)定時長的時間段上將目標開發(fā)者標記為外部開發(fā)者;
22、識別返回模塊,用于將目標開發(fā)者在目標軟件項目中擁有外部開發(fā)者的標記的時間段返回給用戶端。
23、在其中一個實施例中,當按時間順序查找到目標開發(fā)者執(zhí)行的下一件特權(quán)事件時,開發(fā)者標記模塊還用于在下一件特權(quán)事件的創(chuàng)建時間起至設(shè)定時長的時段上將目標開發(fā)者標記為內(nèi)部開發(fā)者,跳轉(zhuǎn)執(zhí)行再下一個時間段的開發(fā)者標記處理;設(shè)定時長為三個月。
24、在其中一個實施例中,當后臺服務器數(shù)據(jù)庫內(nèi)已有最新開發(fā)者行為數(shù)據(jù)時,開源項目外部開發(fā)者識別裝置還包括:
25、數(shù)據(jù)過濾模塊,用于根據(jù)目標開發(fā)者的唯一身份標識從目標軟件項目的所有開發(fā)者行為數(shù)據(jù)中過濾出目標開發(fā)者對應的開發(fā)者行為數(shù)據(jù);
26、識別返回模塊還用于根據(jù)目標開發(fā)者對應的開發(fā)者行為數(shù)據(jù),計算目標開發(fā)者在目標軟件項目中作為外部開發(fā)者的時間段并返回給用戶端。
27、又一方面,還提供一種計算機設(shè)備,包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)上述的開源項目外部開發(fā)者識別方法的步驟。
28、上述技術(shù)方案中的一個技術(shù)方案具有如下優(yōu)點和有益效果:
29、上述開源項目外部開發(fā)者識別方法、裝置和設(shè)備,通過首先根據(jù)用戶端發(fā)送的開發(fā)者識別請求在后臺服務器數(shù)據(jù)庫中查找目標軟件項目的設(shè)定時段內(nèi)的最新開發(fā)者行為數(shù)據(jù),若沒有最新開發(fā)者行為數(shù)據(jù)則從互聯(lián)網(wǎng)上搜索并下載目標軟件項目的最新開發(fā)者行為數(shù)據(jù)到后臺服務器數(shù)據(jù)庫,將最新開發(fā)者行為數(shù)據(jù)對應的需要存儲庫的寫權(quán)限的行為事件標記為特權(quán)事件后存儲于后臺服務器數(shù)據(jù)庫,進而在按時間順序查找不到目標開發(fā)者執(zhí)行的下一件特權(quán)事件時,在特權(quán)事件的創(chuàng)建時間起至設(shè)定時長的時間段上將目標開發(fā)者標記為外部開發(fā)者,最后將目標開發(fā)者在目標軟件項目中擁有外部開發(fā)者的標記的時間段返回給用戶端,完成當前請求的開源項目外部開發(fā)者識別處理。
30、與傳統(tǒng)的識別技術(shù)相比,該技術(shù)專注于開發(fā)者在項目周期內(nèi)的角色演變,能夠自動且高效地識別出開發(fā)者何時以外部貢獻者的身份參與,何時轉(zhuǎn)變?yōu)轫椖績?nèi)部開發(fā)者。該技術(shù)深刻分析了開源社區(qū)中開發(fā)者角色轉(zhuǎn)換的普遍性,從而顯著提升了識別外部開發(fā)者的精確度,適用于開源開發(fā)社區(qū)中識別開源軟件項目的外部開發(fā)者。此外,還能夠有效應對開源開發(fā)社區(qū)中大量項目和用戶帶來的外部開發(fā)者識別挑戰(zhàn),確保了大規(guī)模識別任務的可行性和效率。