System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,涉及一种开源项目外部开发者识别方法、装置和设备。
技术介绍
1、在现代软件开发领域,开源软件(oss)项目发挥着不可或缺的作用。这些项目不仅促进了技术创新与知识共享,还建立了一个全球开发者能够协同合作的平台,共同推动软件项目的前进。随着这些项目规模的逐渐扩大和开发者社区的持续壮大,如何有效吸引外部开发者加入并为项目持续贡献成了一个日益突出的问题。外部开发者是那些不属于项目核心团队,但自愿为开源项目做出贡献个人或团体,他们拥有巨大潜力却尚未在社区中获得足够认可,对于开源项目的创新与持续进步至关重要。因此,识别和分析这些外部开发者的行为,并对其进行有效的管理与引导,对于开源软件项目的长远发展具有深刻的意义。
2、识别外部开发者是领域研究中的一项重要工作。通常,为了确保代码的安全性和项目管理的有效性,开源项目的存储库中会有一个权限列表来详细记录哪些用户拥有除默认权限外的特殊权限,比如可以编辑或管理存储库中的文档、代码文件等,这些用户通常是被项目核心团队所认可的内部人员。因此,研究者可以通过检查存储库的权限列表来准确地区分一个项目的内部人员和外部开发者。然而,出于对用户隐私的保护,存储库的权限列表通常只对项目内部人员开放,非项目内部人员并没有权限获取到存储库的权限列表。
3、如何开发一种新的外部开发者识别方法,能够准确高效地识别开源软件项目中的外部开发者,同时考虑到开发者角色的动态变化,是本领域技术人员极为关注的重要技术问题。
技术实现思路
1
2、为了实现上述目的,本专利技术实施例采用以下技术方案:
3、一方面,提供一种开源项目外部开发者识别方法,包括步骤:
4、获取用户端发送的开发者识别请求;开发者识别请求包括目标软件项目的名称和目标开发者的唯一身份标识;
5、根据开发者识别请求在后台服务器数据库中查找目标软件项目的设定时段内的最新开发者行为数据;
6、当后台服务器数据库内没有最新开发者行为数据时,从互联网上搜索并下载目标软件项目的最新开发者行为数据到后台服务器数据库;
7、将最新开发者行为数据对应的目标开发者行为事件标记为特权事件,将标记后的最新开发者行为数据存储于后台服务器数据库;目标开发者行为事件为需要存储库的写权限的行为事件;
8、当按时间顺序查找不到目标开发者执行的下一件特权事件时,在特权事件的创建时间起至设定时长的时间段上将目标开发者标记为外部开发者;
9、将目标开发者在目标软件项目中拥有外部开发者的标记的时间段返回给用户端。
10、在其中一个实施例中,当按时间顺序查找到目标开发者执行的下一件特权事件时,开源项目外部开发者识别方法还包括步骤:
11、在下一件特权事件的创建时间起至设定时长的时段上将目标开发者标记为内部开发者;设定时长为三个月;
12、开始按时间顺序查找目标开发者执行的再下一件特权事件是否存在,执行再下一个时间段的开发者标记处理。
13、在其中一个实施例中,当后台服务器数据库内已有最新开发者行为数据时,开源项目外部开发者识别方法还包括步骤:
14、根据目标开发者的唯一身份标识从目标软件项目的所有开发者行为数据中过滤出目标开发者对应的开发者行为数据;
15、根据目标开发者对应的开发者行为数据,计算目标开发者在目标软件项目中作为外部开发者的时间段并返回给用户端。
16、另一方面,还提供一种开源项目外部开发者识别装置,包括:
17、请求接收模块,用于获取用户端发送的开发者识别请求;开发者识别请求包括目标软件项目的名称和目标开发者的唯一身份标识;
18、数据库查找模块,用于根据开发者识别请求在后台服务器数据库中查找目标软件项目的设定时段内的最新开发者行为数据;
19、项目获取模块,用于当后台服务器数据库内没有最新开发者行为数据时,从互联网上搜索并下载目标软件项目的最新开发者行为数据到后台服务器数据库;
20、事件标记模块,用于将最新开发者行为数据对应的目标开发者行为事件标记为特权事件,将标记后的最新开发者行为数据存储于后台服务器数据库;目标开发者行为事件为需要存储库的写权限的行为事件;
21、开发者标记模块,用于当按时间顺序查找不到目标开发者执行的下一件特权事件时,在特权事件的创建时间起至设定时长的时间段上将目标开发者标记为外部开发者;
22、识别返回模块,用于将目标开发者在目标软件项目中拥有外部开发者的标记的时间段返回给用户端。
23、在其中一个实施例中,当按时间顺序查找到目标开发者执行的下一件特权事件时,开发者标记模块还用于在下一件特权事件的创建时间起至设定时长的时段上将目标开发者标记为内部开发者,跳转执行再下一个时间段的开发者标记处理;设定时长为三个月。
24、在其中一个实施例中,当后台服务器数据库内已有最新开发者行为数据时,开源项目外部开发者识别装置还包括:
25、数据过滤模块,用于根据目标开发者的唯一身份标识从目标软件项目的所有开发者行为数据中过滤出目标开发者对应的开发者行为数据;
26、识别返回模块还用于根据目标开发者对应的开发者行为数据,计算目标开发者在目标软件项目中作为外部开发者的时间段并返回给用户端。
27、又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的开源项目外部开发者识别方法的步骤。
28、上述技术方案中的一个技术方案具有如下优点和有益效果:
29、上述开源项目外部开发者识别方法、装置和设备,通过首先根据用户端发送的开发者识别请求在后台服务器数据库中查找目标软件项目的设定时段内的最新开发者行为数据,若没有最新开发者行为数据则从互联网上搜索并下载目标软件项目的最新开发者行为数据到后台服务器数据库,将最新开发者行为数据对应的需要存储库的写权限的行为事件标记为特权事件后存储于后台服务器数据库,进而在按时间顺序查找不到目标开发者执行的下一件特权事件时,在特权事件的创建时间起至设定时长的时间段上将目标开发者标记为外部开发者,最后将目标开发者在目标软件项目中拥有外部开发者的标记的时间段返回给用户端,完成当前请求的开源项目外部开发者识别处理。
30、与传统的识别技术相比,该技术专注于开发者在项目周期内的角色演变,能够自动且高效地识别出开发者何时以外部贡献者的身份参与,何时转变为项目内部开发者。该技术深刻分析了开源社区中开发者角色转换的普遍性,从而显著提升了识别外部开发者的精确度,适用于开源开发社区中识别开源软件项目的外部开发者。此外,还能够有效应本文档来自技高网...
【技术保护点】
1.一种开源项目外部开发者识别方法,其特征在于,包括步骤:
2.根据权利要求1所述的开源项目外部开发者识别方法,其特征在于,当按时间顺序查找到所述目标开发者执行的下一件特权事件时,所述开源项目外部开发者识别方法还包括步骤:
3.根据权利要求1或2所述的开源项目外部开发者识别方法,其特征在于,当所述后台服务器数据库内已有所述最新开发者行为数据时,所述开源项目外部开发者识别方法还包括步骤:
4.一种开源项目外部开发者识别装置,其特征在于,包括:
5.根据权利要求4所述的开源项目外部开发者识别装置,其特征在于,当按时间顺序查找到所述目标开发者执行的下一件特权事件时,所述开发者标记模块还用于在所述下一件特权事件的创建时间起至设定时长的时段上将所述目标开发者标记为内部开发者,跳转执行再下一个时间段的开发者标记处理;所述设定时长为三个月。
6.根据权利要求4或5所述的开源项目外部开发者识别装置,其特征在于,当所述后台服务器数据库内已有所述最新开发者行为数据时,所述开源项目外部开发者识别装置还包括:
7.一种计算机设备,包
...【技术特征摘要】
1.一种开源项目外部开发者识别方法,其特征在于,包括步骤:
2.根据权利要求1所述的开源项目外部开发者识别方法,其特征在于,当按时间顺序查找到所述目标开发者执行的下一件特权事件时,所述开源项目外部开发者识别方法还包括步骤:
3.根据权利要求1或2所述的开源项目外部开发者识别方法,其特征在于,当所述后台服务器数据库内已有所述最新开发者行为数据时,所述开源项目外部开发者识别方法还包括步骤:
4.一种开源项目外部开发者识别装置,其特征在于,包括:
5.根据权利要求4所述的开源项目外部开发者识别装置,其特征在于,当按时间顺序查找...
【专利技术属性】
技术研发人员:王涛,沈阳,张迅晖,杨程,张洋,郭思淼,赵佳林,王怀民,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。