资源分配方法、装置、服务器及介质
技术领域
本申请属于计算机
技术领域
,尤其涉及一种资源分配方法、装置、服务器及介质。背景技术
应用(Application)通常具有多个功能,如,故障诊断功能、数据分析功能、故障修复功能等。一个应用通常需要由多个开发者共同开发完成。
相关技术中,在软件功能开发完成之后,需要给软件功能的开发者分配合适的资源。
发明内容
本申请实施例提供了资源分配方法、装置、服务器及介质。
第一方面,本申请实施例提供了一种资源分配方法,该方法包括:
获取预设周期内针对目标应用中的目标功能的使用信息;
给目标功能对应的开发者账户分配与使用信息相适配的资源。
进一步地,在获取预设周期内针对目标应用中的目标功能的使用信息之前,方法还包括:
发布基于实现目标功能的任务开发请求;
在预设时长内接收多个账户发送的针对任务开发请求而反馈的功能开发成果;
从多个账户中选取账户作为目标功能对应的开发者账户;
采用开发者账户发送的功能开发成果以完成目标功能,并将目标功能开放使用。
进一步地,从多个账户中选取账户作为目标功能对应的开发者账户,包括:
从多个账户中,选取满足预设选取条件的账户作为目标功能对应的开发者账户;
其中,预设选取条件包括以下任意一项或多项:
选取发送功能开发成果最早的账户作为目标功能对应的开发者账户;
选取质量最优的功能开发成果对应的账户作为目标功能对应的开发者账户。
进一步地,给目标功能对应的开发者账户分配与使用信息相适配的资源,包括:
调用与目标功能对应的资源分配方法;
根据资源分配方法计算与使用信息相适配的资源;
将计算得到的资源分配给开发者账户。
进一步地,根据资源分配方法计算与使用信息相适配的资源,包括:
根据资源分配方法,计算与使用信息相对应的分值;
基于预设的分值与资源的对应关系表,确定与使用信息相适配的资源。
进一步地,目标功能有多个;根据资源分配方法计算与使用信息相适配的资源,包括:
针对每一个目标功能,根据对应的资源分配方法,计算与使用信息对应的分值;
给每一个目标功能对应的开发者账户分配与目标功能的资源占比相适配的资源,其中,目标功能的资源占比为目标功能的分值与所有目标功能的总分值的比值。
进一步地,若使用信息包括使用次数和针对每次使用的评价信息,则目标功能的分值通过如下方式得到:
根据预先设定的使用次数与分值之间的对应关系,确定使用信息所包括的使用次数对应的第一分值;
根据各次的评价信息和预先设定的评价信息与分值之间的对应关系,确定使用信息所包括的所有评价信息对应的第二分值;
根据第一分值、第二分值、预先存储的针对目标功能的使用次数的次数权重系数、针对目标功能的评价信息的评价权重系数,计算得到目标功能的分值。
第二方面,本申请实施例提供了一种资源分配装置,该装置包括:
信息获取单元,用于获取预设周期内针对目标应用中的目标功能的使用信息;
分配执行单元,用于给目标功能对应的开发者账户分配与使用信息相适配的资源。
第三方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述资源分配方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述资源分配方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述第一方面中任一项的资源分配方法。
本申请实施例与相关技术相比存在的有益效果是:根据应用中的各目标功能的使用信息,对目标功能的开发者分配资源,若使用信息指示目标功能的使用情况越好,则给相应开发者分配越多份额的资源,可以实现资源的合理分配,且可以激励开发者对目标功能进行开发时的积极性。另外,由于目标功能的使用情况是可变的,根据应用中的各目标功能的使用情况,对目标功能的开发者分配资源,可以持续激励相应开发者对目标功能进行积极维护。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的资源分配方法应用的系统架构图;
图2是本申请一实施例提供的资源分配方法的流程示意图;
图3是本申请另一实施例提供的资源分配方法的流程示意图;
图4是本申请又一实施例提供的资源分配方法的流程示意图;
图5是本申请一实施例提供的资源分配装置的结构示意图;
图6是本申请一实施例提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请的技术方案,下面通过以下实施例来进行说明。
实施例一
参考图1,为本申请实施例提供的一种资源分配方法应用的系统架构图。
如图1所示,系统架构可以包括终端设备101、102、103、网络104和区块链105,其中,网络104用以在终端设备101、102、103和区块链105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
区块链105可以具有多个区块链节点,如,具有区块链节点1051、1052、1053、1054,实践中,各区块链节点通常实现成服务器。各区块链节点中所维护的记录相同,当区块链105中的一个区块链节点中写入新数据时,会通过共识机制将该区块链节点写入的新数据同步到区块链105的其他区块链节点中,以使所有区块链节点保存的数据具有一致性。其中,共识机制采用的共识算法可以包括但不限于实用拜占庭容错(Practical ByzantineFault Tolerance,PBFT)算法、工作量证明(Proof of Work,PoW)算法等。
另外,区块链105上通常具有很多个区块链账户,每个区块链账户对应具有区块链账户地址。为了便于描述,本申请可以将区块链账户简称为账户。用户可以通过终端设备登陆区块链上的账户。
终端设备101、102、103通常是区块链账户所在终端,即,登陆了区块链上的账户的终端。终端设备可以是硬件,也可以是软件。当终端设备为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
实际应用中,区块链105中的任一区块链节点,如,距离终端设备最近的区块链节点,可以获取预设周期内针对目标应用中的目标功能的使用信息;给目标功能对应的开发者账户分配与使用信息相适配的资源。由于区块链具有不可篡改的特性,由区块链执行对资源进行分配,可以提高对资源进行分配的可靠性。
实施例二
参考图2,为本申请实施例提供的一种资源分配方法的流程示意图,如图2所示的资源分配方法,包括:
步骤201,获取预设周期内针对目标应用中的目标功能的使用信息。
其中,使用信息通常用于描述对用户对目标功能的使用情况。作为示例,使用信息可以包括但不限于以下至少一项:用户对目标功能的使用次数,用户对目标功能的使用频率,用户对目标功能的投诉次数,用户对目标功能的使用评价等。上述预设周期通常是预先设定的周期,如,一个月。本申请中,可以按预设周期获取针对目标应用中的目标功能的使用信息。
其中,目标应用通常是预先设定的应用。如,目标应用可以是轱辘(golo)汽修大师应用。这里,golo汽修大师应用是一款为汽修从业人员提供服务交流的应用。汽修从业人员可以使用该应用对车辆进行诊断,进行车辆故障码查询,以及对汽修问题进行交流。
上述目标功能可以是目标应用中的预先设定的功能。实践中,目标功能可以包括但不限于以下至少一项:数据分析功能,故障诊断功能,故障修复功能,翻译功能,诊断信息存储功能等。
在本实施例中,用于执行上述资源分配方法的执行主体通常为服务器(例如图1所示的区块链节点服务器)。实际应用中,用户,如目标应用的注册用户,可以通过终端设备登录目标应用,然后对目标应用中的各功能进行使用。服务器可以通过各终端设备发送的使用过程中的信息,得到针对目标应用中的目标功能的使用信息。
实际应用中,获取针对目标应用中的目标功能的使用信息,通常具有触发条件,即,在满足触发条件时,才执行获取针对目标应用中的目标功能的使用信息。
其中,上述触发条件,通常是预先设定的用于触发执行获取使用信息的条件。触发条件可以包括但不限于以下三项中的任意一项或多项:其一,到达预设周期,如,一个月。其二,使用信息满足预设条件,如,目标功能的使用次数大于预设次数阈值。目标功能使用信息对应的分值大于预设分值阈值。其三,接收到目标终端的执行请求,其中,执行请求通常是用于请求执行使用信息获取以及资源分配的信息。目标终端通常是预先设定的终端,如管理员的终端。
这里,只有在当前情形满足触发条件的情况下,才触发执行使用信息获取以及资源分配。可以减少不必要的计算资源的损耗,有助于节约计算资源。另外,触发条件可以包括上述三项中的一项也可以同时包括多项,可以实现灵活控制使用信息获取以及资源分配的时机。
步骤202,给目标功能对应的开发者账户分配与使用信息相适配的资源。
其中,目标功能对应的开发者账户,通常是指开发目标功能的开发者的账户。一个目标功能通常对应一个开发者账户。
其中,上述资源可以是各种虚拟资源。作为示例,上述资源可以是电子货币、数字货币、积分等。进一步举例来说,上述资源可以具体实现为薪酬,用于晋升的积分,休假时长,奖金,生活福利劵等。
这里,上述执行主体可以在获取到针对目标功能的使用信息时,基于使用信息,给目标功能对应的开发者账户分配资源。实践中,通常是使用信息指示目标功能的使用情况越好,则给相应开发者分配越多份额的资源。
作为示例,若使用信息为对目标功能的使用次数,则可以给目标功能的开发者账户分配与使用次数适配的份额的资源。具体举例来说,若资源为奖金,若使用次数为50时,则可以分配5元奖金。若使用次数为500时,则可以分配100元奖金等。
作为另一示例,若使用信息包括对目标功能的使用次数和对目标功能的投诉次数,则可以给目标功能的开发者账户分配与使用次数和投诉次数适配的份额的资源。具体地,上述执行主体可以先根据使用次数和投诉次数,确定目标功能的分值,然后向目标功能的开发者账户分配与分值适配的份额的资源。具体举例来说,若资源为奖金,且资源与分值成正比,一个分值对应一元的资源。若使用次数大于0且小于10时可获得10分,大于10且小于20时可获得20分,以此类推。若投诉一次扣除10分。若当前针对目标功能的使用信息中,使用次数为25次,投诉次数为1次,则目标功能的分值为20,其中,20=30-10。此时,该目标功能对应的开发者账户可以分配得到的资源为20元奖金。
本实施例提供的方法,根据应用中的各目标功能的使用信息,对目标功能的开发者分配资源,若使用信息指示目标功能的使用情况越好,则给相应开发者分配越多份额的资源,可以实现资源的合理分配,且可以激励开发者对目标功能进行开发时的积极性。另外,由于目标功能的使用情况是可变的,根据应用中的各目标功能的使用情况,对目标功能的开发者分配资源,可以持续激励相应开发者对目标功能进行积极维护。
在本申请的各个实施例的可选的实现方式中,上述给目标功能对应的开发者账户分配与使用信息相适配的资源,可以包括:调用与目标功能对应的资源分配方法。根据资源分配方法计算与使用信息相适配的资源。将计算得到的资源分配给开发者账户。
其中,上述与目标功能对应的资源分配方法,可以是预先设定的用于分配资源的规则。作为示例,上述资源分配方法可以用于描述使用信息与资源之间的对应关系,举例来说,上述资源分配方法可以为:若使用次数为50时,则可以分配5元奖金,若使用次数为500时,则可以分配100元奖金等。
实践中,上述执行主体可以根据资源分配方法中所描述的使用信息与资源间的对应关系,计算得到与使用信息相适配的资源。最后,将计算得到的资源分配给目标功能对应的开发者账户。
在一些可选的实现方式中,上述根据资源分配方法计算与使用信息相适配的资源,可以包括:根据资源分配方法,计算与使用信息相对应的分值。基于预设的分值与资源的对应关系表,确定与使用信息相适配的资源。
这里,上述资源分配方法可以用于描述使用信息对应的分值与资源之间的对应关系,举例来说,上述资源分配方法可以为:若分值为10-20分,则分配1000,若分值为20-30分,则分配2000,若分值为30-40分,则分配3000,若分值为40-50分,则分配4000,以此类推。此时,上述执行主体可以根据资源分配方法中所描述的使用信息对应的分值与资源间的对应关系,得到与使用信息适配的资源。可以实现给目标功能对应的开发者账户分配与目标功能的分值相适配的份额的资源。其中,目标功能的分值为目标功能的使用信息对应的分值。
在一些可选的实现方式中,若目标功能有多个。此时,根据资源分配方法计算与使用信息相适配的资源,可以包括:针对每一个目标功能,根据对应的资源分配方法,计算与使用信息对应的分值。给每一个目标功能对应的开发者账户分配与目标功能的资源占比相适配的资源。
其中,目标功能的资源占比为目标功能的分值与所有目标功能的总分值的比值。目标功能的分值为目标功能的使用信息对应的分值。
这里,针对每一个目标功能,上述执行主体可以根据资源分配方法计算得到与该目标功能的使用信息相适配的资源,然后,按照该目标功能的资源占比,给该目标功能对应的开发者账户分配资源。可以实现给目标功能对应的开发者账户分配与目标功能的资源占比相适配的份额的资源。
实践中,按照目标功能的资源占比给目标功能的开发者账户分配资源时,通常是将总份额固定的资源分配至各开发者账户。如,若存在三个目标功能,分别为甲、乙、丙,甲的资源占比为10%,乙的资源占比为50%,丙的资源占比为40%,若一共有100份资源,则甲的开发者账户可以分配得到10份资源,乙的开发者账户可以分配得到50份资源,丙的开发者账户可以分配得到40份资源。
需要指出的是,既可以根据各目标功能的分值,给目标功能对应的开发者账户分配资源,也可以根据各目标功能的资源占比,给目标功能对应的开发者账户分配资源。有助于实现资源分配的多样化。
在一些可选的实现方式中,若使用信息包括使用次数和针对每次使用的评价信息,则目标功能的分值可以通过如下方式得到:
首先,根据预先设定的使用次数与分值之间的对应关系,确定使用信息所包括的使用次数对应的第一分值。
作为示例,上述预先设定的使用次数与分值之间的对应关系可以为:若使用次数大于0且小于10时可获得10分,大于10且小于20时可获得20分,以此类推。作为另一示例,上述预先设定的使用次数与分值之间的对应关系也可以为:使用次数与分值为1:1的对应关系,如,使用次数为10可以获得10分,使用次数为20可以获得20分。
然后,根据各次的评价信息和预先设定的评价信息与分值之间的对应关系,确定使用信息所包括的所有评价信息对应的第二分值。
这里,评价信息可以包括但不限于以下任意一项或多项:打星评价,针对功能使用便捷性的评价信息,针对功能结果满意度的评价信息,针对是否愿意推荐给朋友的评价信息等。实际应用中,评价信息可以实现成评价分数和/或评价等级。
上述预先设定的评价信息与分值之间的对应关系可以是,评价分数与分值之间的对应关系,如,评价分数与分值可以为1:1的对应关系。上述预先设定的评价信息与分值之间的对应关系也可以是,评价等级与分值之间的对应关系,如,评价等级为一级,则对应分值为10分,评价等级为二级,则对应20分,评价等级为三级,则对应30分。
最后,根据第一分值、第二分值、预先存储的针对目标功能的使用次数的次数权重系数、针对目标功能的评价信息的评价权重系数,计算得到目标功能的分值。
这里,上述执行主体可以将第一分值与次数权重系数的乘积,加上第二分值与评价权重系数的乘积,计算得到上述目标功能的分值。
需要指出的是,目标功能的次数权重系数通常用于指示使用次数对该目标功能的影响程度。目标功能的评价权重系数通常用于指示使用评价对该目标功能的影响程度。各个目标功能的次数权重系数可以相同也可以不同,且各个目标功能的评价权重系数可以相同也可以不同。
本实现方式可以实现从目标功能的使用次数和使用评价两个维度确定目标功能的分值。有助于实现更加准确合理地对目标功能的开发者分配资源。
实施例三
参考图3,为本申请实施例提供的一种资源分配方法的流程示意图,如图3所示的资源分配方法,包括:
步骤301,发布基于实现目标功能的任务开发请求。
其中,任务开发请求通常是用于请求实现目标功能的信息。实践中,任务开发请求可以包括但不限于:任务描述信息、资源分配规则等。其中,任务描述信息用于描述目标功能所需实现的功能。资源分配规则通常指的是对目标功能对应的开发者账户进行资源分配的规则。
这里,目标应用中通常具有多个目标功能,如诊断功能、翻译功能、用户答疑功能等。在目标应用中的目标功能被开发之前,作为执行主体的服务器,如,区块链节点服务器,可以接收到针对目标应用中的各目标功能的任务开发请求,以及对任务开发请求进行发布。实践中,上述对任务开发请求进行发布,可以是将任务开发请求推送至预先设定的账户,如,开发者的账户。这样,开发者可以在获取到任务开发请求后,针对目标功能进行开发。
步骤302,在预设时长内接收多个账户发送的针对任务开发请求而反馈的功能开发成果。
其中,上述预设时长通常是预先设定的时间长度,如,可以是1周,1个月,半年等。上述功能开发成果通常是用于实现目标功能的代码。
这里,上述执行主体可以通过网络接收到多个账户针对任务开发请求返回的功能开发成果。
步骤303,从多个账户中选取账户作为目标功能对应的开发者账户。
这里,由于针对同一个目标功能可能存在多个开发者提交了功能开发成果,因此,需要从该多个开发者中选取一个开发者作为该目标功能的开发者。故,在接收到各账户发送的功能开发成果后,上述执行主体可以从多个账户中选择一个账户,作为目标功能对应的开发者账户。如,可以随机选取一个账户作为目标功能对应的开发者账户。
步骤304,采用开发者账户发送的功能开发成果以完成目标功能,并将目标功能开放使用。
这里,上述执行主体可以采用开发者账户发送的功能开发成果实现目标功能。然后,将目标功能开放使用。这样,用户可以对目标功能进行使用。
步骤305,获取预设周期内针对目标应用中的目标功能的使用信息。
步骤306,给目标功能对应的开发者账户分配与使用信息相适配的资源。
在本实施例中,步骤305-306的具体操作与图2所示的实施例中步骤201-202的操作基本相同,在此不再赘述。
本实施例提供的方法,可以实现将目标应用以功能为单位进行拆分,且各功能的开发任务通过服务器发布至各开发者的终端,开发者可以自行选择感兴趣的或者擅长的功能进行开发。有助于实现对目标应用的功能进行良好开发,从而保障目标应用中各功能的开发质量。另外,在目标功能被开发完成之后,根据应用中的各目标功能的使用信息,对目标功能的开发者分配资源,若使用信息指示目标功能的使用情况越好,则给相应开发者分配越多份额的资源,可以实现资源的合理分配,且可以激励开发者对目标功能进行开发时的积极性。另外,由于目标功能的使用情况是可变的,根据应用中的各目标功能的使用情况,对目标功能的开发者分配资源,可以持续激励相应开发者对目标功能进行积极维护,有助于提升对目标应用的维护力度和软件升级速度。
在本实施例的一些可选的实现方式中,上述从多个账户中选取账户作为目标功能对应的开发者账户,可以包括:从多个账户中,选取满足预设选取条件的账户作为目标功能对应的开发者账户。其中,预设选取条件包括以下二者中的任意一项或多项。
其一,选取发送功能开发成果最早的账户作为目标功能对应的开发者账户。这里,可以将最早完成任务的账户作为目标功能对应的开发者账户。
其二,选取质量最优的功能开发成果对应的账户作为目标功能对应的开发者账户。这里,质量最优的功能开发成果,通常是指打分最高的功能开发成果。实际应用中,针对同一目标功能提交的多个功能开发成果,可以由多个用户进行使用打分,然后,可以从多个打分中,选取打分最高的功能开发成果。该打分最高的功能开发成果对应的目标账户,可以作为目标功能对应的开发者账户。
本实现方式可以实现对目标功能对应的开发者账户进行灵活选取。
在本实施例的一些可选的实现方式中,任务开发请求包括任务描述信息和资源分配规则。此时,上述资源分配方法还可以包括:存储任务开发请求,具体地,将任务开发请求所包括的任务描述信息和资源分配规则存储在区块链的智能合约中。
其中,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约具有如下优点:首先,合约制定的高时效性以及去中心化的特性,不用依赖第三方权威机构或者中心机构的参与,只需要通过智能合约就能完成,大大减少了协议制定的中间环节,提高了协议制定的效率。其次,智能合约具有低成本性,智能合约是以计算机程序为载体的,由事先制定好的代码控制,一旦发生毁约等情况程序就会强制执行,降低了监督的成本。最后,智能合约具有非常高的准确性,不需要人为参与,从而也去除了失误,提高了合约的准确度。
这里,鉴于智能合约的上述优点,将任务开发请求中的任务描述信息和资源分配规则存储在区块链的智能合约中,可以实现快速、准确低成本地对资源进行分配。有助于进一步实现对资源进行准确合理分配。
在本申请的各个实施例的可选的实现方式中,在获取预设周期内针对目标应用中的目标功能的使用信息之后,方法还包括:将使用信息存储在区块链中。此时,获取预设周期内针对目标应用中的目标功能的使用信息,包括:从区块链中获取预设周期内针对目标应用中的目标功能的使用信息。
这里,用户,如目标应用的注册用户,可以通过终端设备登录目标应用,然后对目标应用中的各功能进行使用。在用户通过终端设备对目标功能进行使用时,服务器,如区块链节点服务器,可以通过各终端设备发送的使用过程中的信息,得到针对目标应用中的目标功能的使用信息。
由于区块链具有不可篡改的特性,将使用信息存储在区块链中,可以保障使用信息不被篡改,可以使得基于使用信息所进行的资源分配更加可高,有助于提高对资源进行分配的可靠性。
实施例四
参考图4,为本申请实施例提供的一种资源分配方法的流程示意图,如图4所示的资源分配方法,包括:
步骤401,目标终端确定软件的功能开发任务。
其中,目标终端通常是管理人员的终端。功能开发任务可以包括故障诊断任务,故障修复任务,翻译任务,诊断信息存储任务,用户答疑任务等。一个功能开发任务用于开发一个目标功能。具体地,故障诊断任务可以用于开发故障诊断功能,故障修复任务可以用于开发故障修复功能,翻译任务可以用于开发翻译功能,诊断信息存储任务可以用于开发诊断信息存储功能,用户答疑任务可以用于开发用户答疑功能。
步骤402,目标终端将功能开发任务发布在区块链上并开放接单,并生成基于功能使用次数和功能使用评价的资源分配规则,写入智能合约。
步骤403,服务器将最先提交任务完成的开发者确定为最终的任务完成者。
其中,每种功能开发任务有一个任务完成者。若有三个功能开发任务,则对应有三个任务完成者。这里,上述服务器可以为应用服务器,也可以为区块链节点服务器。任务完成者为功能开发任务对应的功能的开发者。
步骤404,服务器接收任务完成者完成的功能开发成果,形成软件功能开放使用。
这里,所形成的软件功能为目标功能。所有目标功能的集合为一个应用,这里可以称作目标应用。
步骤405,服务器统计一个月内各目标功能的使用次数和每次使用后的评价信息,并登记在区块链中。
这里,使用信息包括使用次数和每次使用后的评价信息。实际应用中,使用信息还可以包括其他信息,如,投诉次数。
在目标功能开发使用后,用户,如目标应用的注册用户,可以通过终端设备登录目标应用,然后对目标应用中的各功能进行使用。在用户通过终端设备对目标功能进行使用时,服务器,如区块链节点服务器,可以通过各终端设备发送的使用过程中的信息,得到针对目标应用中的目标功能的使用信息。
步骤406,计算针对使用次数得分和针对使用评价得分。
这里,可以根据预先设定的得分规则,计算得到使用次数得分和使用评价得分。
使用评价的得分规则可以为:使用评价的最终得分可以为所有使用次数对应的多个评价的得分的平均值。举例来说,若使用评价为星级打分,若总共有10颗星可选,一颗星等于10分。假定某个功能使用了5次,有2次没有评价,其它三次的评价分别为5颗星,9颗星和10颗星,则使用评价得分可以为:48=(50+90+100)÷5。
若使用次数的得分规则为:使用次数大于0且小于10时可获得10分,大于10且小于20时可获得20分,以此类推。
步骤407,给目标功能对应的开发者账户分配与使用信息相适配的资源。
这里,针对每个目标功能,可以将使用次数得分与次数权重系数的乘积,加上使用评价得分与评价权重系数的乘积,计算得到该目标功能的最终得分。目标功能的最终得分,与前述目标功能的分值概念等同。表1为本实施例提供的针对各目标功能的得分统计表。
表1目标功能的得分统计表
目标功能
使用次数
使用次数得分
使用评价得分
最终得分
故障诊断功能
67
70
68
70*0.3+68*0.7=68.6
翻译功能
54
60
75
60*0.3+75*0.7=70.5
用户答疑功能
42
50
78
50*0.4+78*0.6=66.8
根据表1可以得出,故障诊断功能的次数权重系数为0.3,评价权重系数为0.7,翻译功能的次数权重系数为0.3,评价权重系数为0.7,用户答疑功能的次数权重系数为0.4,评价权重系数为0.6。
这里,若总的资源份额为10000份,则按照最终得分的占比进行资源分配时,故障诊断功能的开发者所获资源份额为:68.6÷(68.6+70.5+66.8)×10000=3332。翻译功能的开发者所获资源份额为:70.5/(68.6+70.5+66.8)*10000=3424。用户答疑功能的开发者所获资源份额为:10000-3332-3424=3244。
实施例五
进一步参考图5,对应于上文实施例的资源分配方法,图5为本申请实施例提供的资源分配装置500的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该装置包括:
信息获取单元501,用于获取预设周期内针对目标应用中的目标功能的使用信息;
分配执行单元502,用于给目标功能对应的开发者账户分配与使用信息相适配的资源。
在一些实施例中,装置还包括账户确定单元(图中未示出)。其中,账户确定单元可以包括请求发布模块、成果接收模块、账户选取模块和功能开放模块。其中,
请求发布模块,用于发布基于实现目标功能的任务开发请求;
成果接收模块,用于在预设时长内接收多个账户发送的针对任务开发请求而反馈的功能开发成果;
账户选取模块,用于从多个账户中选取账户作为目标功能对应的开发者账户;
功能开放模块,用于采用开发者账户发送的功能开发成果以完成目标功能,并将目标功能开放使用。
在一些实施例中,账户选取模块具体用于:从多个账户中,选取满足预设选取条件的账户作为目标功能对应的开发者账户;
其中,预设选取条件包括以下任意一项或多项:
选取发送功能开发成果最早的账户作为目标功能对应的开发者账户;
选取质量最优的功能开发成果对应的账户作为目标功能对应的开发者账户。
在一些实施例中,分配执行单元502可以包括信息调用模块、资源计算模块和资源分配模块。
信息调用模块,用于调用与目标功能对应的资源分配方法;
资源计算模块,用于根据资源分配方法计算与使用信息相适配的资源;
资源分配模块,用于将计算得到的资源分配给开发者账户。
在一些实施例中,资源计算模块,具体用于:根据资源分配方法,计算与使用信息相对应的分值;基于预设的分值与资源的对应关系表,确定与使用信息相适配的资源。
在一些实施例中,资源计算模块,具体还用于:针对每一个目标功能,根据对应的资源分配方法,计算与使用信息对应的分值;给每一个目标功能对应的开发者账户分配与目标功能的资源占比相适配的资源,其中,目标功能的资源占比为目标功能的分值与所有目标功能的总分值的比值。
在一些实施例中,若使用信息包括使用次数和针对每次使用的评价信息,则资源计算模块中,目标功能的分值通过如下方式得到:根据预先设定的使用次数与分值之间的对应关系,确定使用信息所包括的使用次数对应的第一分值;根据各次的评价信息和预先设定的评价信息与分值之间的对应关系,确定使用信息所包括的所有评价信息对应的第二分值;根据第一分值、第二分值、预先存储的针对目标功能的使用次数的次数权重系数、针对目标功能的评价信息的评价权重系数,计算得到目标功能的分值。
本实施例提供的装置,根据应用中的各目标功能的使用信息,对目标功能的开发者分配资源,若使用信息指示目标功能的使用情况越好,则给相应开发者分配越多份额的资源,可以实现资源的合理分配,且可以激励开发者对目标功能进行开发时的积极性。另外,由于目标功能的使用情况是可变的,根据应用中的各目标功能的使用情况,对目标功能的开发者分配资源,可以持续激励相应开发者对目标功能进行积极维护。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
进一步参考图6,图6为本申请一实施例提供的服务器600的结构示意图。如图6所示,该实施例的服务器600包括:至少一个处理器601(图6中仅示出一个处理器)、存储器602以及存储在存储器602中并可在至少一个处理器601上运行的计算机程序603,例如资源分配程序。处理器601执行计算机程序603时实现上述任意各个方法实施例中的步骤。处理器601执行计算机程序603时实现上述各个资源分配方法的实施例中的步骤。处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元501至502的功能。
示例性的,计算机程序603可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序603在服务器600中的执行过程。例如,计算机程序603可以被分割成信息获取单元,分配执行单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。
服务器600可以是服务器、台式电脑、平板电脑、云端服务器和移动终端等计算设备。服务器600可包括,但不仅限于,处理器601,存储器602。本领域技术人员可以理解,图6仅仅是服务器600的示例,并不构成对服务器600的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器601可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器602可以是服务器600的内部存储单元,例如服务器600的硬盘或内存。存储器602也可以是服务器600的外部存储设备,例如服务器600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器602还可以既包括服务器600的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及服务器所需的其他程序和数据。存储器602还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种分段架构的A/D转换芯片资源分配方法