首页> 中国专利> 一种面向开源协作社区的贡献价值度量和群体激励方法

一种面向开源协作社区的贡献价值度量和群体激励方法

摘要

本申请涉及一种面向开源协作社区的贡献价值度量和群体激励方法,包括:获取开源协作社区的用户贡献价值度量值,根据用户贡献价值度量值获取预设数量的审阅用户和投票用户,由审阅用户对待度量数据提交的审阅数据并得到审阅结果,当审阅结果满足审阅条件时,根据审阅数据计算对应的激励结果,并由投票用户对激励结果投票,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。上述方法根据用户贡献价值度量值选择不包括提交待度量数据的用户的审阅用户和投票用户,避免了利益相关用户既设置奖励又判断是否给予奖励造成的不够客观公平的问题,能基于多个符合一定条件的用户意见得到更合理的激励方案包。

著录项

说明书

技术领域

本申请涉及开源协作社区管理技术领域,特别是涉及一种面向开源协作社区的贡献价值度量和群体激励方法。

背景技术

开源社区是由拥有共同兴趣爱好的人一起参与、组织、构建、维护的开放式协作共享平台,托管内容主要是软件源代码,此外也包括电子书籍、实验数据、课程资料等。近年来开源社区不断发展,越来越多优秀的开源项目涌现,同时吸引了大量的开发用户贡献优质的源码。

开源社区大多将用户区分为核心开发用户和外围开用户,核心开发用户拥有开源项目的所有管理权限,可以提交代码、审阅代码、发行软件版本,而外围开发用户则只能通过Pull Request和Issue等方式对开源社区进行贡献。为了激励开发用户、尤其是外围开发用户进行持续性贡献,开源社区可通过悬赏模式对开发用户进行激励。具体实现方式是由悬赏人在平台中发布悬赏任务,如解决软件bug、新增软件特性等,在开发用户决该悬赏任务后,由悬赏人主观判断解决方案是否满足悬赏任务要求,满足要求则将奖励转给提供解决方案的开发用户。这中激励机制存在明显弊端:悬赏金额由少数人制定,不够客观、公平,此外开发用户提出的解决方案是否合理由悬赏人决定,由于悬赏人是利益相关用户,因此增大了其作恶的可能。

发明内容

基于此,有必要针对上述技术问题,提供客观、公平的一种面向开源协作社区的贡献价值度量和群体激励方法。

一种面向开源协作社区的贡献价值度量和群体激励方法,包括:

获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

其中一个实施例中,根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果的步骤包括:

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,获取审阅用户针对待度量数据提交的审阅数据。

当审阅数据满足预设的通过标准时,将审阅用户的审阅状态设置为通过。

当审阅状态为通过的审阅用户的数量大于预设值时,根据审阅用户的审阅数据中的激励值,计算对应的激励结果。

其中一个实施例中,当审阅状态为通过的审阅用户的数量大于预设值时,根据审阅用户的审阅数据中的激励值,计算对应的激励结果的步骤包括:

当审阅状态为通过的审阅用户的数量大于预设值时,获取审阅用户的审阅数据中的激励值,根据激励值的均值计算对应的激励结果。

其中一个实施例中,根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包的步骤包括:

根据用户贡献价值度量值获取预设数量的用户作为投票用户,获取投票用户对激励结果的投票数据。其中投票用户与审阅用户不重复。

当投票数据对应的投票用户的数量不小于预设值时,根据投票数据得到对应的投票结果。

根据激励结果得到对提交待度量数据的用户的激励方案包。

其中一个实施例中,根据用户贡献价值度量值获取预设数量的用户作为投票用户,获取投票用户对激励结果的投票数据的步骤之后,还包括:

当投票数据对应的投票用户的数量小于预设值时,获取投票用户设置的建议激励值。

获取审阅用户根据建议激励值对待度量数据提交的二次审阅数据,根据二次审阅数据得到对应的二次审阅结果。

根据二次审阅结果计算对应的二次激励结果,获取投票用户对二次激励结果的投票数据。

其中一个实施例中,根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包的步骤之后,还包括:

根据待度量数据,更新提交待度量数据的用户在开源协作社区的活跃度数据。

根据投票用户、审阅用户和更新后的活跃度数据,更新开源协作社区的用户贡献价值度量值。

其中一个实施例中,用户贡献价值度量值的计算方式包括:

其中,R(x)为用户贡献价值度量值,A(x)为用户在开源协作社区的活跃度数据,M(x)为用户作为审阅用户和投票用户的总次数。

一种面向开源协作社区的贡献价值度量和群体激励装置,包括:

用户贡献价值度量值获取模块,用于获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

激励结果计算模块,用于根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

激励方案包生成模块,用于根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

与现有技术相比,上述一种面向开源协作社区的贡献价值度量和群体激励方法、装置、计算机设备和存储介质,根据开源协作社区的用户贡献价值度量值选择用户作为审阅用户和投票用户,选择的审阅用户和投票用户都不是提交待度量数据的用户。由审阅用户提交包括激励值数据的审阅结果,当审阅结果满足预设标准时,判断该待度量数据通过审阅,根据审阅用户设置的激励值计算其激励结果,并由投票用户对该激励结果进行投票。当投票结果满足预设的标准时,判断该激励结果通过投票,根据该激励结果制定提交待度量数据的用户的激励方案包。本申请通过根据用户在开源协作社区的贡献价值选择影响激励方案包制定的审阅用户和投票用户,根据审阅用户设置的激励值得到激励结果,由投票用户投票决定是否基于该激励结果制定相应的激励方案包,避免了利益相关用户既设置奖励又判断是否给予奖励造成的不够客观公平的问题,能基于多个符合一定条件的用户意见得到更合理的激励方案包。

附图说明

图1为一个实施例中一种面向开源协作社区的贡献价值度量和群体激励方法的步骤图;

图2为另一个实施例中一种面向开源协作社区的贡献价值度量和群体激励方法的流程示意图;

图3为一个实施例中一种面向开源协作社区的贡献价值度量和群体激励方法的流程示意图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种面向开源协作社区的贡献价值度量和群体激励方法,包括以下步骤:

步骤102,获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

具体地,用户贡献价值度量值是用于量化用户在开源协作社区中贡献大小的数据,相关数据包括用户自身对平台的贡献、用户参与社区发起的活动时的贡献等。本实施例中,将用户贡献价值度量值定义为与用户在该开源协作社区的活跃度数据成正比,与该用户作为审阅用户和投票用户的次数成反比。其中,用户的活跃度数据反映用户自身对平台的贡献,如贡献的代码行数、电子书籍数量、实验数据项数、课程资料数量等,可以采用数量直接作为用户活跃度,也可以根据各项数据的总大小确定,还可以仅计算有效的贡献(即被平台通过)的数量或数据大小,或在计算式根据数据的质量(获得激励多少)设置相应的权值,以及根据数据上传时间设置衰减权值等。本实施例采用的用户贡献价值度量值定义方式,同时考虑用户的活跃度和作为审阅用户和投票用户的次数,可以避免仅根据活跃度选择用户,而是在活跃度相同的情况下选择参与贡献价值度量更少的用户,可以防止由于度量用户过于集中从而导致的垄断问题,使贡献价值度量和得到的激励结果更加公平。

步骤104,根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

具体地,根据用户贡献价值度量值从高到低,选择x个用户作为审阅用户,对提交到开源协作社区的待度量数据进行审阅。获取审阅用户时,可以从高到低顺序选择x个用户,也可以从高到低选择n个用户,再从中随机获取x个。每个审阅用户分别针对待度量数据提交其审阅数据,审阅数据可以是通过以及拟定给予的激励值和不通过以及不通过时的修改意见,或者是评分值和对应修改意见。预设的审阅条件和审阅数据对应,例如:一定比例以上审阅用户的审阅数据为通过时,或审阅数据中的总分超过预设分值时,审阅结果满足审阅条件。

当审阅结果不满足审阅条件时,提交待度量数据的用户可以根据修改意见进行修改并重新提交,发起一次新的贡献价值度量过程。当审阅结果满足审阅条件时,可以根据各个审阅数据中的拟定给予的激励值计算激励结果,即拟定给予该待度量数据的奖励数量,计算方式包括平均值、(根据用户活跃度、在开源协作社区的权限级别等)加权值等;也可以根据审阅数据中的分值计算激励结果,计算方式可以是根据预设的全额奖励数量,以及根据待度量数据获得分值占总分值的比例。本实施例中,审阅用户不能为提交待度量数据的用户,可以避免对自己进行贡献价值度量可能造成的不公平;根据贡献价值选择审阅用户,可以避免由悬赏人进行贡献价值度量时存在的作恶可能。

步骤106,根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

具体地,可以采用与获取审阅用户相似的方式获取投票用户,对于是否通过激励结果进行投票表决。同样,投票用户不包括提交待度量数据的用户,以确保投票结果的公平性。如,选择n个投票用户,当投票数据为通过的数量大于预设数量时,通过被投票的激励结果,并根据激励结果制定对提交待度量数据的用户的激励方案包,规定给予该用户的奖励数量。

上述一种面向开源协作社区的贡献价值度量和群体激励方法,根据用户在开源协作社区的贡献价值选择影响激励方案包制定的审阅用户和投票用户,根据审阅用户设置的激励值得到激励结果,由投票用户投票决定是否基于该激励结果制定相应的激励方案包,避免了利益相关用户既设置奖励又判断是否给予奖励造成的不够客观公平的问题,能基于多个符合一定条件的用户意见得到更合理的激励方案包。

其中一个实施例中,如图2所示,提供了一种面向开源协作社区的贡献价值度量和群体激励方法,包括以下步骤:

步骤202,获取用户在开源协作社区的代码贡献行数,根据代码贡献行数计算该用户的活跃度数据。获取该用户作为审阅用户和投票用户的总次数。根据代码贡献行数和总次数,计算该用户对该开源协作社区的用户贡献价值度量值R(x)。

其中,A(x)为用户在开源协作社区的代码贡献行数,M(x)为用户作为审阅用户和投票用户的总次数。

步骤204,获取开源协作社区的用户贡献价值度量值,根据用户贡献价值度量值从高到低排列,获得用户贡献价值度量值排名。

步骤206,获取x个贡献价值最高的用户作为审阅用户,获取审阅用户针对待度量数据提交的审阅数据。当审阅数据满足预设的通过标准时,将审阅用户的审阅状态设置为通过。

具体地,按照计算获得的R(x)从大到小,选择2n个审阅用户。如果存在R(x)相等的情况,且必须从R(x)相等的用户中选择部分作为审阅用户时,使用计算时刻的时间戳和R(x)相等的用户的用户名计算标准哈希值:h

步骤208,当审阅状态为通过的审阅用户的数量大于预设值时,获取审阅用户的审阅数据中的激励值。根据激励值的均值计算对应的激励结果。

具体地,对开发用户提交的待度量数据,即Pull Request,由x个不包括提交该Pull Request的开发用户的审阅用户对该Pull Request进行审阅。如果审阅用户认为该Pull Request不满足对应的开发需求,则提交包括不通过和修改意见的审阅数据,该审阅用户的状态设置为不通过。如果第i个审阅用户(1≤i≤x)认为通过时,则根据该PullRequest满足对应开发需求的程度,设置激励值v

步骤210,根据用户贡献价值度量值排名获取2n个用户作为投票用户,获取投票用户对激励结果的投票数据。其中投票用户与审阅用户不重复。

步骤212,当投票数据对应的投票用户的数量小于预设值时,获取投票用户设置的建议激励值。获取审阅用户根据建议激励值对待度量数据提交的二次审阅数据,根据二次审阅数据得到对应的二次审阅结果。根据二次审阅结果计算对应的二次激励结果,获取投票用户对二次激励结果的投票数据。

步骤214,当投票数据对应的投票用户的数量不小于预设值时,根据投票数据得到对应的投票结果。根据激励结果得到对提交待度量数据的用户的激励方案包。

具体地,获取2n个贡献价值最高的用户作为投票用户,其中不包括审阅用户和提交该Pull Request的开发用户,对计算获得的平均激励值V

有效的投票数据的数量n可以通过如下方式确定:

n=[log

其中,c为开源协作社区中总的用户数量,也可以是除去审阅用户和开发用户后的用户数量;m为预设的系数,用于根据需要调整有效的投票数据的数量。对数结果向上取整得到n,根据2n得到投票用户的数量;如果2n>c时,则取2n=c。

如果投票数据的数量在预设的timeout超时时间之前没有到达n,则可以重新选择投票用户并发起新的投票流程,或者以实际投票数对投票结果进行计算。投票有两种结果,即投up(赞同)的投票用户的数量大于等于50%,此时投票通过即达成共识,根据股权激励值V

步骤216,根据待度量数据,更新提交待度量数据的用户在开源协作社区的活跃度数据。根据投票用户、审阅用户和更新后的活跃度数据,更新开源协作社区的用户贡献价值度量值。

具体地,对于通过投票的待度量数据,可以根据对应的代码行数(还可根据获得奖励数量占悬赏奖励的比例评估其质量,对代码行数进行加权)更新该开发用户的贡献价值,然后更新本次参与贡献价值度量的审阅用户和投票用户的对应参与次数,以便实时反映用户对开源协作社区的贡献价制度。

本实施例提供了一种面向开源协作社区的贡献价值度量和群体激励方法,能够度量开发用户提交的代码数据的贡献价值,根据开源协作社区中用户当前的贡献价值选择审阅用户和投票用户,并通过审阅规则和投票规则实现了更为公平、客观的激励结果制定和共识过程,能够基于更广泛的用户意见得到更合理的用户激励方案包,避免现有技术中奖励方式中主观因素过高的问题。

为了便于理解,如图3所示,以用户总人数为13,审阅用户数量为2,系数m为0.8、超时时间timeout为48小时、最大共识轮次L为3,说明一种面向开源协作社区的贡献价值度量和群体激励方法的实施过程:

步骤302,开发用户d向开源社区提交Pull Request,请求将Pull Request合入Master分支。

步骤304,由2个审阅用户审阅Pull Request,审阅结果为通过,通过后分别设置股权激励值v

步骤306,根据贡献价值选择算法从10个用户(不包括2个审阅用户和1个提交PullRequest的开发用户d)中选择6个投票用户对平均股权激励值V

步骤308、计算投票结果。

情况一:超过48小时后只有2个投票用户提交了投票数据,一个为赞同,另一个为不赞同且建议股权激励值为c=300,此时由于表示赞同的比例大于等于50%,执行步骤310;

情况二:超过48小时后只有2个投票用户提交了投票数据,均为不赞同,且建议股权激励值为c1=300、c2=400,则执行步骤312;

情况三:48小时前有效的投票数据数量到达3个,如果投票中表示赞同的人数大于等于2,则执行步骤310,反之执行步骤312。

步骤310,有效的投票数据中多数表示赞同,根据平均股权激励值V

步骤312,有效的投票数据中多数表示不赞同,2个审阅用户根据投票用户设置的建议股权激励值,重新设置股权激励值v1、v2,获得新的平均股权激励值V

步骤314,如果同一批投票用户参与了3轮投票还没有对Pull Request设置的平均股权激励值达成共识,则重新获取不重复的投票用户重新投票,执行步骤306。

应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种面向开源协作社区的贡献价值度量和群体激励装置,包括:

用户贡献价值度量值获取模块,用于获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

激励结果计算模块,用于根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

激励方案包生成模块,用于根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

其中一个实施例中,激励结果计算模块用于根据用户贡献价值度量值获取预设数量的用户作为审阅用户,获取审阅用户针对待度量数据提交的审阅数据。当审阅数据满足预设的通过标准时,将审阅用户的审阅状态设置为通过。当审阅状态为通过的审阅用户的数量大于预设值时,根据审阅用户的审阅数据中的激励值,计算对应的激励结果。

其中一个实施例中,激励结果计算模块用于,当审阅状态为通过的审阅用户的数量大于预设值时,获取审阅用户的审阅数据中的激励值。根据激励值的均值计算对应的激励结果。

其中一个实施例中,激励方案包生成模块用于,根据用户贡献价值度量值获取预设数量的用户作为投票用户,获取投票用户对激励结果的投票数据。其中投票用户与审阅用户不重复。当投票数据对应的投票用户的数量不小于预设值时,根据投票数据得到对应的投票结果。根据激励结果得到对提交待度量数据的用户的激励方案包。

其中一个实施例中,激励方案包生成模块用于,当投票数据对应的投票用户的数量小于预设值时,获取投票用户设置的建议激励值。获取审阅用户根据建议激励值对待度量数据提交的二次审阅数据,根据二次审阅数据得到对应的二次审阅结果。根据二次审阅结果计算对应的二次激励结果,获取投票用户对二次激励结果的投票数据。

其中一个实施例中,还包括用户贡献价值度量值更新模块,用于根据待度量数据,更新提交待度量数据的用户在开源协作社区的活跃度数据。根据投票用户、审阅用户和更新后的活跃度数据,更新开源协作社区的用户贡献价值度量值。

其中一个实施例中,用户贡献价值度量值的计算方式包括:

其中,R(x)为用户贡献价值度量值,A(x)为用户在开源协作社区的活跃度数据,M(x)为用户作为审阅用户和投票用户的总次数。

关于一种面向开源协作社区的贡献价值度量和群体激励装置的具体限定可以参见上文中对于一种面向开源协作社区的贡献价值度量和群体激励方法的限定,在此不再赘述。上述一种面向开源协作社区的贡献价值度量和群体激励装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种面向开源协作社区的贡献价值度量和群体激励方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取用户在开源协作社区的代码贡献行数,根据代码贡献行数计算该用户的活跃度数据。获取该用户作为审阅用户和投票用户的总次数。根据活跃度数据和总次数,计算该用户对该开源协作社区的用户贡献价值度量值。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据用户贡献价值度量值获取预设数量的用户作为审阅用户,获取审阅用户针对待度量数据提交的审阅数据。当审阅数据满足预设的通过标准时,将审阅用户的审阅状态设置为通过。当审阅状态为通过的审阅用户的数量大于预设值时,根据审阅用户的审阅数据中的激励值,计算对应的激励结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当审阅状态为通过的审阅用户的数量大于预设值时,获取审阅用户的审阅数据中的激励值。根据激励值的均值计算对应的激励结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据用户贡献价值度量值获取预设数量的用户作为投票用户,获取投票用户对激励结果的投票数据。其中投票用户与审阅用户不重复。当投票数据对应的投票用户的数量不小于预设值时,根据投票数据得到对应的投票结果。根据激励结果得到对提交待度量数据的用户的激励方案包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当投票数据对应的投票用户的数量小于预设值时,获取投票用户设置的建议激励值。获取审阅用户根据建议激励值对待度量数据提交的二次审阅数据,根据二次审阅数据得到对应的二次审阅结果。根据二次审阅结果计算对应的二次激励结果,获取投票用户对二次激励结果的投票数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待度量数据,更新提交待度量数据的用户在开源协作社区的活跃度数据。根据投票用户、审阅用户和更新后的活跃度数据,更新开源协作社区的用户贡献价值度量值。

其中一个实施例中,用户贡献价值度量值的计算方式包括:

其中,R(x)为用户贡献价值度量值,A(x)为用户在开源协作社区的活跃度数据,M(x)为用户作为审阅用户和投票用户的总次数。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取用户在开源协作社区的活跃度数据,获取该用户作为审阅用户和投票用户的总次数,根据该活跃度数据和该总次数计算该用户对该开源协作社区的用户贡献价值度量值。

根据用户贡献价值度量值获取预设数量的用户作为审阅用户,根据审阅用户针对待度量数据提交的审阅数据得到对应的审阅结果,当审阅结果满足预设的审阅条件时,根据审阅数据计算对应的激励结果。审阅用户不包括提交待度量数据的用户,审阅数据包括审阅用户设置的激励值。

根据用户贡献价值度量值获取预设数量的用户作为投票用户,根据投票用户对激励结果的投票数据得到对应的投票结果,当投票结果满足预设的投票条件时,根据激励结果得到对提交待度量数据的用户的激励方案包。投票用户不包括提交待度量数据的用户。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取用户在开源协作社区的代码贡献行数,根据代码贡献行数计算该用户的活跃度数据。获取该用户作为审阅用户和投票用户的总次数。根据活跃度数据和总次数,计算该用户对该开源协作社区的用户贡献价值度量值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据用户贡献价值度量值获取预设数量的用户作为审阅用户,获取审阅用户针对待度量数据提交的审阅数据。当审阅数据满足预设的通过标准时,将审阅用户的审阅状态设置为通过。当审阅状态为通过的审阅用户的数量大于预设值时,根据审阅用户的审阅数据中的激励值,计算对应的激励结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当审阅状态为通过的审阅用户的数量大于预设值时,获取审阅用户的审阅数据中的激励值。根据激励值的均值计算对应的激励结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据用户贡献价值度量值获取预设数量的用户作为投票用户,获取投票用户对激励结果的投票数据。其中投票用户与审阅用户不重复。当投票数据对应的投票用户的数量不小于预设值时,根据投票数据得到对应的投票结果。根据激励结果得到对提交待度量数据的用户的激励方案包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当投票数据对应的投票用户的数量小于预设值时,获取投票用户设置的建议激励值。获取审阅用户根据建议激励值对待度量数据提交的二次审阅数据,根据二次审阅数据得到对应的二次审阅结果。根据二次审阅结果计算对应的二次激励结果,获取投票用户对二次激励结果的投票数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待度量数据,更新提交待度量数据的用户在开源协作社区的活跃度数据。根据投票用户、审阅用户和更新后的活跃度数据,更新开源协作社区的用户贡献价值度量值。

其中一个实施例中,用户贡献价值度量值的计算方式包括:

其中,R(x)为用户贡献价值度量值,A(x)为用户在开源协作社区的活跃度数据,M(x)为用户作为审阅用户和投票用户的总次数。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号