一种基于代码云托管平台联合协作的竞赛平台管理方法

文档序号:31470437发布日期:2022-09-09 23:04阅读:85来源:国知局
一种基于代码云托管平台联合协作的竞赛平台管理方法

1.本发明涉及人工智能领域,特别地,涉及一种基于代码云托管平台联合协作的竞赛平台管理方法。


背景技术:

2.人工智能相关的在线竞赛面向大众,通过在实际应用中抽象出与之密切相关的任务,并提供现实应用中的大量真实数据,设置竞赛题目。这种竞赛活动能够鼓励科研工作者将前沿的科研技术落地到实际应用当中,从而促进科研与生产力之间的良性循环。同时活动加强了科研工作者之间的学术交流,对技术创新和交叉学科有巨大的激励作用。
3.业务需求是打通竞赛管理平台和代码云托管平台的阻碍,有针对性地根据竞赛管理平台的操作对代码管理平台的功能进行对应和整合,从而同时提升参赛方,竞赛平台方和专家裁判第三方在赛道过程中的相关工作效率。
4.目前现有技术中存在的主要问题目前通用的竞赛管理平台只提供给参赛用户(参赛队伍)基础的竞赛信息以及数据下载和代码提交窗口,而对于参赛数据,运行环境以及代码的管理是由用户自行解决的。这种割裂导致用户对代码仓库权限管理效率不高,且容易出现如训练数据过大难以下载,代码运行环境不一致,代码上传过慢等问题。对于竞赛平台管理方而言,也难以对用户的参赛代码进行统一的权限管理和开源处理。另外,对于专家裁判第三方,由于无法直接获取参赛代码仓库的历史版本,会给参赛代码的判断带来困难。
5.目前解决上述问题的难度集中在如何设计一种用户友好的代码云托管平台用户系统接入方案,如何匹配代码仓库权限与用户身份(包括平台管理方,参赛用户方和专家裁判方)。
6.因此,解决以上问题及缺陷的意义为:如果可以联合竞赛管理平台和代码云托管平台进行协作,能够同时提高参赛用户、平台管理员以及专家裁判的工作效率,这对于促进在线科研竞赛的蓬勃发展有重大意义。


技术实现要素:

7.本发明提供了一种基于代码云托管平台联合协作的竞赛平台管理方法,提高了参赛队伍在竞赛过程中对所属参赛代码的操作权限管理效率,以及提高了竞赛平台方对各个队伍参赛代码的开源权限控制,便于专家裁判跟踪参赛代码的解题逻辑和版本迭代过程,能够同时提高参赛用户、专家裁判以及平台管理员的效率,这对于促进在线科研竞赛的蓬勃发展有重大意义。
8.本发明的技术方案如下:
9.本发明的基于代码云托管平台联合协作的竞赛平台管理方法,包括将常规竞赛平台用户系统与代码云托管平台用户系统的联合协作和代码云托管平台仓库创建和权限管理,其中,将常规竞赛平台用户系统与代码云托管平台用户系统的联合协作,包括:代码云托管平台用户系统接入,其包括用户注册和用户登录并绑定原有用户处理;其中,代码云托
管平台仓库创建和权限管理,包括三个模块内容:代码云托管平台仓库权限列表维护;从代码云托管平台的仓库地址提交参赛代码;以及阅读权限和开源权限管理,三个模块内容较为独立,没有明确的时间先后顺序。
10.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,在用户注册时,要求用户填写用户名、密码、邮箱三个字段,首先在竞赛平台对其合法性进行校验;对于未通过合法性校验的用户,不予注册,而对于通过的用户,调用代码云托管平台接口为其注册账号,并向其反馈注册结果。
11.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,在用户登录并绑定的过程中,弃用原有竞赛平台的登录方式,而使用代码云托管平台的用户系统进行接入,其中,用户数据库应当全部保留,只修改登录方式,并将从代码云托管平台登录的用户信息映射到原有的用户数据库中。
12.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,在原有用户处理中,通过两种操作方案将竞赛管理平台用户转换为代码云托管平台用户:对于密码使用明文方式存储的,直接将用户的对应信息导入到代码云托管平台,为其注册用户;对于密码使用加密字段方式存储的,选择为存量用户重置随机密码的方式在代码云托管平台用户系统中注册。
13.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,代码云托管平台仓库权限列表维护,包括:竞赛管理平台管理员创建赛段后,竞赛管理平台后端自动在代码云托管平台创建组织,用于收录各参赛队伍仓库;为每个参加不同赛道的合法参赛队伍,自动创建一个代码云托管平台仓库;授予队伍成员仓库的访问权限,并实时同步竞赛平台上的组队情况,令代码云托管平台仓库的权限情况与其保持一致;以及竞赛平台方管理员有开源选手仓库的权限。
14.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,从代码云托管平台仓库地址直接提交参赛代码,包括:选手提交文件时,可以选择填写一个仓库的地址,以替换从本地上传,在选手提交时,竞赛平台方先自动检验选手是否具有该仓库的所属权限,如果没有,即提交错误的仓库地址,则拒绝该传输。
15.优选地,在上述基于代码云托管平台联合协作的竞赛平台管理方法中,阅读权限和开源权限管理,包括:在代码检查阶段开始时,竞赛平台方通过参赛代码仓库的管理权限授予第三方专家裁判阅读权限,并在代码检查阶段结束后,将所授予的阅读权限批量收回;以及在赛程结束后,针对大赛议程所拟定的规则对所有参赛代码进行批量开源,接受大众的监督和复用。
16.根据本发明的技术方案,产生的有益效果是:
17.本发明的基于代码云托管平台联合协作的竞赛平台管理方法,将竞赛平台和代码云托管平台相结合,使得参赛队伍和项目代码仓库协作一体化,提高了用户的参赛效率;通过授予第三方专家裁判仓库的阅读权限,使其能有效地跟踪参赛代码的解题逻辑和版本迭代过程,提高了代码检查的效率。本发明是一种针对竞赛平台新用户和已有用户转向代码云托管平台用户的方案,自动为参赛队伍在代码云托管平台创建参赛代码仓库,并将竞赛平台方系统管理员设置为参赛仓库的权限管理员,能够实现对参赛仓库的权限进行自动化管理,从而降低参赛队伍自行进行权限操作的负担。
18.为了更好地理解和说明本发明的构思、工作原理和发明效果,下面结合附图,通过具体实施例,对本发明进行详细说明如下:
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
20.图1是代码云托管平台用户系统接入需完成的基本操作的用户注册的流程图;
21.图2是代码云托管平台用户系统接入需完成的基本操作用户登录并绑定的流程图;
22.图3是仓库信息同步到队伍信息的页面示意图;
23.图4是提交模块的页面示意图;
24.图5是本发明的竞赛管理平台和代码云托管平台的整体交互流程示意图。
具体实施方式
25.为使本发明的目的、技术方法及优点更加清晰,下面结合附图及具体实例,对本发明做进一步的详细说明。这些实例仅仅是说明性的,而并非对本发明的限制。
26.为了打通竞赛管理平台和代码云托管平台的阻碍,本发明从与代码云托管平台用户系统和代码云托管平台子系统联合协作两个方面来实现:一方面本发明通过将新旧用户升级到代码云托管平台用户来统一参赛用户信息,使用户在参赛平台进行参赛的同时能够享用代码管理平台对代码管理上的方便,并通过代码云管理平台授权来获取参赛代码仓库的开源操作权限,为后续接入代码云托管平台子系统提供支持;另一方面,本发明根据参赛队伍的不同操作对代码仓库上用户的权限进行调整,同时在专家评判阶段赋予专家裁判对代码仓库的阅读权限,并提供给竞赛平台方管理员对参赛仓库代码的开源管理接口,最后在提交代码阶段,允许参赛队伍从其所属仓库中直接获取代码。
27.本发明的基于代码云托管平台联合协作的竞赛平台管理方法分为两个方面:与代码云托管平台用户系统的联合协作和代码云托管平台仓库创建和权限管理。具体如下。
28.一.将常规竞赛平台用户系统与代码云托管平台用户系统进行联合协作
29.对常规竞赛平台用户系统进行修改和调整,以与代码云托管平台用户系统联合协作,具体分为以下两个模块:代码云托管平台用户系统接入模块和原有用户处理模块。通过将这两个模块嵌入常规竞赛平台用户系统,可以轻松实现对代码云托管平台的用户信息规范,整合和处理。将常规竞赛平台用户系统与代码云托管平台用户系统的联合协作包括以下步骤:
30.s1.代码云托管平台用户系统接入,包括两个基本操作:用户注册和用户登录并绑定。
31.用户注册。注册时,要求用户填写用户名、密码、邮箱三个字段。首先在竞赛平台对其合法性进行校验。校验具体内容为1.邮箱必须是可用的,2.用户名必须是英文、数字、下划线组成,不能含有非法字符,3.密码必须有字母和数字,4.两次输入的密码必须一致,5.必须同意《用户须知及协议》。对于未通过合法性校验的用户,不予注册,而对于通过的用户,调用代码云托管平台接口为其注册账号,并向其反馈注册结果。流程图如图1所示,包括
选手发起注册填写信息,后台发起请求,同时代码云托管平台服务器进行请求与反馈,获得请求结果:通过测注册成功;拒绝,则注册失败向用户反馈失败原因。
32.用户登录并绑定。弃用原有竞赛平台的登录方式,而使用代码云托管平台用户系统进行接入。考虑到参赛用户还需在竞赛平台上完成提交、组队等功能,用户数据库应当全部保留,只修改登录方式,并将从代码云托管平台登录的用户信息映射到原有的用户数据库中。
33.使用代码云托管平台用户系统进行登录的流程为1.用户点击用户登录时,向发起代码云托管平台的公开授权协议鉴权,2.检测代码云托管平台账户是否已登录代码云托管平台账户、用户是否已授权,3.如果是,则检测通过,则由代码云托管平台返回用户的身份信息(userid),自动获取用户信息登录成功,由竞赛平台完成登录;如果否,则弹出代码云托管平台账户登录页面,检测是否已登录账户。如果是则要求授权,自动获取用户信息登录成功,如果否,则要求登录,检测是是否已授权,如果否则要求授权,若是,则自动获取用户信息登录成功。流程图如图2所示。
34.对于登录完成的用户,如果系首次登录,将在竞赛平台数据库中新建该用户。如果不是首次登录,自动授予其对应用户的登录信息。
35.s2.原有用户处理。考虑到在现有系统中,可能存在存量用户的情况,本发明针对这些存量用户,设计了一套迁移方案。在代码云托管平台注册用户,需要填写以下三个信息:用户名、邮箱、密码。在存量用户中,用户信息字段包含以下三个信息:用户名、邮箱、密码。根据竞赛平台保存存量用户信息中密码的方式,通过两种操作方案将竞赛管理平台用户转换为代码云托管平台用户:
36.对于密码使用明文方式存储的,直接将用户的对应信息导入到代码云托管平台,为其注册用户。如果注册成功,则发送邮件通知其“用户已升级成代码云托管平台用户,请使用代码云托管平台账号登录竞赛平台。”;如果注册失败,说明其已经在代码云托管平台拥有相应的用户,无需注册,则发送邮件通知其“您的代码云托管平台账号和竞赛平台账号已合并,请使用代码云托管平台账号登录竞赛平台”。
37.对于密码使用加密字段方式存储的,由于安全性,无法恢复密码明文,所以选择为存量用户重置随机密码的方式在代码云托管平台用户系统中注册。如果注册成功,则发送邮件通知其“用户已升级成代码云托管平台用户,密码已重置为xxxx,请及时修改”;如果注册失败,说明其已经在代码云托管平台拥有相应的用户,无需注册,则发送邮件通知其“您的代码云托管平台账号和竞赛平台账号已合并,可使用代码云托管平台账号登录竞赛平台”。
38.二.代码云托管平台仓库创建和权限管理
39.代码云托管平台子系统的接入可以大幅度减轻参赛队伍和参赛选手对参赛代码的管理和处理负担,同时竞赛平台方能够方便地为专家裁判第三方提供参赛代码仓库阅读权限,代码云托管平台等同于代码云管理平台子系统,但视角不同,当代码云托管平台接入竞赛管理平台后,代码云托管平台就成为了竞赛管理平台的子系统。最后竞赛平台方,可以方便对参赛队伍代码进行统一的权限处理。本发明的代码云托管平台子系统的接入的方案具体可分为三个模块内容:代码云托管平台仓库权限列表维护;从代码云托管平台仓库地址提交参赛代码;以及阅读权限和开源权限管理,三个模块较为独立,没有明确的时间先后
顺序。其中:
40.代码云托管平台仓库权限列表维护,如图5所示,包括:1.竞赛管理平台管理员创建赛段后,竞赛管理平台后端自动在代码云托管平台创建组织,用于收录各参赛队伍仓库。2.为每个参加不同赛道的合法参赛队伍,自动创建一个代码云托管平台仓库;3.授予队伍成员仓库的访问权限,并实时同步竞赛平台上的组队情况,令代码云托管平台仓库的权限情况与其保持一致;4.竞赛平台方管理员有开源选手仓库的权限。代码云托管平台仓库权限列表维护的方案的权限管理模式为1.竞赛平台方系统管理员为参赛仓库的权限管理员,而参赛选手不能直接在代码云托管平台上进行权限管理。2.在队伍人员发生变化时,将自动触发相应接口,由竞赛平台后端使用系统管理员的权限对代码云托管平台仓库发起相应的人员调整。仓库信息会同步到队伍信息页面,示意图如图3所示。其中,具体队伍相关操作与仓库人员调整操作的对应关系为:新建队伍-创建仓库;选手申请加入队伍,队长批准其入队申请-给该队员增加仓库权限;队员退出队伍,或者队长移除队员-撤销该队员仓库权限;队长群解散队伍-撤销所有队员仓库权限。
41.从代码云托管平台仓库地址直接提交参赛代码,包括:选手提交文件时,可以选择填写一个仓库的地址,以替换从本地上传。在选手提交时,竞赛平台方先自动检验选手是否具有该仓库的所属权限,如果没有(即提交错误的仓库地址),则拒绝该传输。提交模块页面示意图如图4所示。
42.阅读权限和开源权限管理,包括:1.在代码检查阶段开始时,竞赛平台方通过参赛代码仓库的管理权限授予第三方专家裁判阅读权限,并在代码检查阶段结束后,将所授予的阅读权限批量收回。2.在赛程结束后,针对大赛议程所拟定的规则对所有参赛代码进行批量开源,接受大众的监督和复用。
43.为了满足竞赛平台方对赛程中代码检查阶段的管理,管理员页面可以面向不同的第三方专家裁判授予各参赛仓库的阅读权限,包括对当前仓库中代码的下载权限以及历史版本的回溯。这一操作能够提升了第三方专家裁判对代码的检查效率,并能够依据历史版本高效地跟踪参赛队伍的解题过程。在代码检查阶段结束后,管理员页面可以批量的将之前授予的所有阅读权限收回,以做到统一规范的管理。
44.在新建赛段阶段,为了满足竞赛平台方对参赛代码开源权限的管理,管理员页面可以对“开源选项”进行设置:1.必须开源:队伍提交参赛代码时,开源协议一栏不得选择“不开源”选项,同时自选开源协议(默认为《启智开源许可证》);2.可选开源:队伍提交参赛代码时,队长可在开源协议一栏选择任意开源协议或“不开源”选项。3.非开源:队伍提交时,开源协议一栏只能选择“不开源”。
45.在赛段结束阶段,管理员在平台管理端进行“本赛段开源”操作:点击后,应弹出警示信息“开源将使得队伍仓库变得可以访问,是否继续?如比赛还未结束,这么做可能会影响比赛公平!”。当管理员确认后,赛段的所有仓库根据选手意愿进行开源(对于必须开源的,选手一开始就无法选中“不开源”)并且使用系统管理员账户由竞赛平台后端批量向代码云托管平台发送命令,将设置仓库为公开。同时,在竞赛平台的排行榜页面将同时更新各个参赛队伍最终代码的下载链接和对应仓库的跳转链接。
46.本发明提供了一种联合竞赛管理平台和代码云托管平台进行协作的方法,能够同时提高参赛用户、专家裁判以及平台管理员的效率,这对于促进在线科研竞赛的蓬勃发展
有重大意义。
47.以上说明是依据发明的构思和工作原理的最佳实施例。上述实施例不应理解为对本权利要求保护范围的限制,依照本发明构思的其他实施方式和实现方式的组合均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1