一种开源软件管理系统及其管理软件的方法

文档序号:25212299发布日期:2021-05-28 14:08阅读:151来源:国知局
一种开源软件管理系统及其管理软件的方法

本申请涉及计算机技术领域,更具体的,涉及一种开源软件管理系统及其管理软件的方法。



背景技术:

随着软件产品的不断发展,开源软件逐渐成为软件发展史上的一种中坚力量。开源软件是源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制

科研人员被称之为未来科技科学发展的希望,在新人员加入科研行业的时候,为了提高科研效率,或者是分享一些科研经验,少不了要用一些科研软件和网站,科研软件可以让科研人员的工作事半功倍。每当遇到一些好的科研网站或者适合科研人员用的软件就需要收藏整理,比较不方便。

同时面对一些软件,因为不能够在线运行,科研人员仅仅通过软件描述并不能直观的了解软件的运行机制和所能达到的最终效果。



技术实现要素:

为了解决以上问题,本申请提出一种开源软件管理系统及其管理软件的方法。

第一方面,本发明提供一种开源软件管理系统,包括:

文件管理模块,用于接收并存储若干软件程序各自的源文件和文件描述信息;

交互管理模块,用于向终端设备发送至少一个当前文件描述信息,使所述终端设备显示所述至少一个当前文件描述信息;其中,所述若干软件程序的文件描述信息包括所述至少一个当前文件描述信息;

下载管理模块,用于从所述终端设备接收文件下载请求,并根据所述文件下载请求向所述终端设备发送目标源文件;其中,所述文件下载请求由所述终端设备接收到针对目标文件描述信息的触发操作后发送,所述至少一个当前文件描述信息包括所述目标文件描述信息,所述目标源文件和所述目标文件描述信息对应相同的软件程序;

运行管理模块,用于从所述终端设备接收第一软件运行请求,并且向云平台发送第二软件运行请求;其中,所述软件运行请求包括所述终端设备对所述目标源文件进行更新并编译以得到的可执行程序,使云平台运行所述可执行程序。

优选地,所述交互管理模块,具体用于在接收到来自终端设备的文件查询请求时,向所述终端设备发送至少一个当前文件描述信息,使所述终端设备显示其接收的所述至少一个当前文件描述信息;其中,所述文件查询请求包括类别指示信息,所述至少一个当前文件描述信息各自对应的软件程序属于所属类别指示信息所指示的分类类别。

优选地,所述分类类别包括程序开发、科研应用、服务器软件、数据库相关或者管理与监控。

优选地,所述交互管理模块,具体用于根据通过所述终端设备登录所述开源软件管理系统的用户的行为数据,确定所述用户感兴趣的至少一个目标软件程序,向所述终端设备发送至少一个目标软件程序对应的当前文件描述信息。

优选地,开源软件管理系统还包括评估管理模块,用于将所述若干软件程序各自的源文件和文件描述信息发送至评估系统,并接收评估系统确定所述若干软件程序的分值;所述交互管理模块,具体用于根据所述若干软件程序的业务分值,向所述终端设备发送至少一个当前文件描述信息。

第二方面,本发明提供一种开源软件管理系统管理软件的方法,包括:通过文件管理模块接收并存储若干软件程序各自的源文件和文件描述信息;

通过交互管理模块向终端设备发送至少一个当前文件描述信息,使所述终端设备显示所述至少一个当前文件描述信息;其中,所述若干软件程序的文件描述信息包括所述至少一个当前文件描述信息;

通过下载管理模块从所述终端设备接收文件下载请求,并根据所述文件下载请求向所述终端设备发送目标源文件;其中,所述文件下载请求由所述终端设备接收到针对目标描述文件信息的触发操作后发送,所述至少一个当前文件描述信息包括所述目标文件描述信息,所述目标源文件和所述目标文件描述信息对应相同的软件程序;

通过运行管理模块从所述终端设备接收第一软件运行请求,并且向云平台发送第二软件运行请求;其中,所述软件运行请求包括所述终端设备对所述目标源文件进行更新并编译以得到的可执行程序,使云平台运行所述可执行程序。

优选地,通过交互管理模块向终端设备发送至少一个当前文件描述信息,具体包括:通过所述交互管理模块在接收到来自终端设备的文件查询请求时,向所述终端设备发送至少一个当前文件描述信息,使所述终端设备显示其接收的所述至少一个当前文件描述信息;其中,所述文件查询请求包括类别指示信息,所述至少一个当前文件描述信息各自对应的软件程序属于所属类别指示信息所指示的分类类别。

优选地,所述分类类别包括程序开发、科研应用、服务器软件、数据库相关或者管理与监控。

优选地,通过交互管理模块向终端设备发送至少一个当前文件描述信息,具体包括:通过所述交互管理模块根据通过所述终端设备登录所述开源软件管理系统的用户的行为数据,确定所述用户感兴趣的至少一个目标软件程序,向所述终端设备发送至少一个目标软件程序对应的当前文件描述信息。

优选地,通过评估管理模块将所述若干软件程序各自的源文件和文件描述信息发送至评估系统,并接收评估系统确定的所述若干软件程序的业务分值;通过所述交互管理模块,根据所述若干软件程序的业务分值,向所述终端设备发送至少一个当前文件描述信息。

开源软件管理系统能够加速优秀科研软件的推广,未注册用户可以了解所关注领域内的科研软件发展情况,注册用户通过开源软件管理系统迅速熟悉所需工具,降低研究门槛。

附图说明

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请一种可能的实施例中提供的技术方案的应用场景图;

图2是本申请一种可能的实施例中提供的开源软件管理系统的结构示意图;

图3是本申请实施例中提供的一种对用户上传的软件进行存储的过程示意图;

图4是用户使用本申请实施例中提供的开源软件管理系统的流程示意图;

图5是本申请实施例中提供的开源软件管理系统进行角色管理的示意图;

图6是本申请实施例中提供的一种开源软件管理系统管理软件的方法示意图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,

图1是本申请一种可能的实施例中提供的技术方案的应用场景图。本申请采用b/s架构,请参考图1,用户通过安装于终端设备的浏览器可以直接访问部署于服务器的开源软件管理系统,进入开源软件管理系统对软件程序进行产品搜索、访问、发布、审核等相关功能。

图2是本申请一种可能的实施例中提供的开源软件管理系统的结构示意图。如图2所示,开源软件管理系统包括文件管理模块201,交互管理模块202,下载管理模块203以及运行管理模块204。

文件管理模块201,用于接收并存储若干软件程序各自的源文件和文件描述信息。

举例来说,用户研发了一款软件程序并且希望开源,以供其他用户使用。那么,用户可通过相应的终端向开源软件管理系统上传软件程序的源文件和文件描述信息,其中该软件程序的文件描述信息开源包括但不限于软件名称、软件版本、软件类别、所使用的编程语言、软件的应用领域、所适用的操作平台以及作品摘要等信息中的一项或多项。

在一个较为具体的示例中,文件管理模块201在接收到若干软件程序的源文件和文件描述信息后,可以直接将其存储到相应的目标数据库。

在一个较为具体的示例中,文件管理模块201还用于接收用户上传的应用程序,通过运行管理模块204将接收到的应用程序安装于云平台上。

图3是本申请实施例中提供的一种对用户上传的软件进行存储的过程示意图。在一个较为具体的示例中,请参考图3,文件管理模块201在接收到若干软件程序的源文件和文件描述信息后,可以将若干软件程序的源文件和文件描述信息先录入软件临时数据库,管理员会对录入软件临时数据库的若干软件程序的源文件和文件描述信息进行审核。如果被审核的软件程序的源文件和文件描述信息合格,则由文件管理模块201将软件程序的源文件和文件描述信息录入软件正式数据库(即目标数据库)。如果被审核的软件程序的源文件和文件描述信息不合格,管理员会在线标注错误数据及原因,发邮件通知软件的作者修改。软件的作者修正错误数据后,软件会由文件管理模块201重新录入临时软件库等待审核。

交互管理模块202,用于向终端设备发送至少一个当前文件描述信息,使所述终端设备显示所述至少一个当前文件描述信息;其中,所述若干软件程序的文件描述信息包括所述至少一个当前文件描述信息。

举例来说,当用户通过终端设备访问开源软件管理系统(相当于终端设备通过浏览器发送一个显示请求)或者用户选择查看开源软件管理系统的某一个软件程序,交互管理模块202向终端设备发送至少一个当前文件描述信息,使用户终端设备显示接收到的文件描述信息。若用户选择的是查看开源软件管理系统的某一个软件,则在用户终端显示用户选择的这个软件的文件描述信息。若用户是访问开源软件管理系统,则在用户终端显示至少一个软件的文件描述信息。

在一个较为具体的示例中,交互管理模块202根据通过终端设备登录所述开源软件管理系统的用户的行为数据,确定所述用户感兴趣的至少一个目标软件程序,然后向终端设备发送至少一个目标软件程序对应的当前文件描述信息,并由终端设备对至少一个当前文件描述信息进行显示。

举例来说,开源软件管理系统在用户登录之后会记录用户所查询的软件程序,以及查看某个分类下软件所用的时间等行为数据,记录用户的行为数据,并分析所记录的用户行为数据,智能推荐出实时的热门软件以供用户查看。

在一个较为具体的示例中,交互管理模块202在接收到来自终端设备的文件查询请求时,向所述终端设备发送至少一个当前文件描述信息,使所述终端设备显示其接收的所述至少一个当前文件描述信息。文件查询请求包括类别指示信息,所述至少一个当前文件描述信息各自对应的软件程序属于所属类别指示信息所指示的分类类别。

在一个较为具体的示例中,分类类别可以包括程序开发、科研应用、服务器软件、数据库相关或者管理与监控。

下载管理模块203,用于从所述终端设备接收文件下载请求,并根据所述文件下载请求向所述终端设备发送目标源文件;其中,所述文件下载请求由所述终端设备接收到针对目标文件描述信息的触发操作后发送,所述至少一个当前文件描述信息包括所述目标文件描述信息,所述目标源文件和所述目标文件描述信息对应相同的软件程序。

在一个较为具体的示例中,用户希望使用一款软件,需要对软件进行下载。通过终端设备对至少一个当前文件描述信息进行显示时,用户可在相应的界面中点击目标文件描述信息所在的显示区域中的下载按钮,使终端设备向开源软件管理系统发送针对该目标文件描述信息对应的目标源文件的文件下载请求。开源软件管理系统的下载管理模块203接收用户发送的文件下载请求,根据文件下载请求向用户的终端设备发送该目标源文件。

运行管理模块204,用于从所述终端设备接收第一软件运行请求,并且向云平台发送第二软件运行请求;其中,所述软件运行请求包括所述终端设备对所述目标源文件进行更新并编译以得到的可执行程序,使云平台运行所述可执行程序。

在一个较为具体的示例中,用户希望直观的了解一款软件的运行机制和此款软件所能达到的最终效果,可以选择通过开源软件管理系统的运行管理模块204在线运行软件。用户选择一款软件,通过终端设备发送软件运行请求,开源软件管理系统的运行管理模块204接收用户终端设备发送的第一软件运行请求,并跳转至云平台;向云平台发送第二软件运行请求,使得云平台运行用户选择的软件。通过软件的在线运行,可以直观的了解用户所选软件的运行机制和此软件所能达到的效果。

在一些可能的实施例中,开源软件管理系统还包括评估管理模块205,用于将所述若干软件程序各自的源文件和文件描述信息发送至评估系统,并接收评估系统确定所述若干软件程序的分值。所述交互管理模块,具体用于根据所述若干软件程序的业务分值,向所述终端设备发送至少一个当前文件描述信息。

举例来说,用户希望增加自己研发的软件程序(即自研软件)的影响力,则选择自己上传的所研发的软件程序,点击“申请评估”按钮,系统会将此软件程序对应的源文件和文件描述信息推送至评估管理模块205,由评估管理模块205将该软件程序的源文件和文件描述信息发送至评估系统。邀请专家对此自研软件进行评估,以及对此自研软件软件进行打分。开源软件管理系统交互管理模块202会根据软件程序的业务分值进行显示排序,排序结果将作为交互管理模块202是否将该软件程序的文件描述信息发送至终端设备的依据。

图4是用户使用本申请实施例中提供的开源软件管理系统的流程示意图。如图4所示,在用户访问开源软件管理系统时,需要在开源软件管理系统进行操作(例如浏览软件,上传软件等),需要先判断用户是否有操作权限,如果用户有操作权限,则执行对应的操作(例如浏览软件,上传软件等);如果用户没有操作权限,则需要先对用户的登录状态进行判定,如果用户是登录状态,则提示用户无权限并返回之前浏览的页面;如果用户是非登录状态,则跳转至登录页面,在用户登录后返回之前浏览的页面。

图5是本申请实施例中提供的开源软件管理系统进行角色管理的示意图。如图5所示,用户在登录开源软件管理系统后可以进行角色管理,系统会对用户进行判断,没有管理权限的会提示没有权限并返回开源软件管理系统主页。有管理权限的可以进行角色管理。角色管理包括给用户分配角色,给角色分配权限,创建角色以及删除角色。

图6是本申请实施例中提供的一种开源软件管理系统管理软件的方法的示意图。如图6所示,开源软件管理系统管理软件的方法包括:

步骤601,通过文件管理模块接收并存储若干软件程序各自的源文件和文件描述信息。

步骤602,通过交互管理模块向终端设备发送至少一个当前文件描述信息,使所述终端设备显示所述至少一个当前文件描述信息;其中,所述若干软件程序的文件描述信息包括所述至少一个当前文件描述信息。

在一些可能的示例中,通过交互管理模块向终端设备发送至少一个当前文件描述信息,具体包括:通过所述交互管理模块在接收到来自终端设备的文件查询请求时,向所述终端设备发送至少一个当前文件描述信息,使所述终端设备显示其接收的所述至少一个当前文件描述信息;其中,所述文件查询请求包括类别指示信息,所述至少一个当前文件描述信息各自对应的软件程序属于所属类别指示信息所指示的分类类别。

在一些可能的示例中,分类类别可以包括程序开发、科研应用、服务器软件、数据库相关或者管理与监控。

在一些可能的示例中,通过交互管理模块向终端设备发送至少一个当前文件描述信息,具体包括:通过所述交互管理模块根据通过所述终端设备登录所述开源软件管理系统的用户的行为数据,确定所述用户感兴趣的至少一个目标软件程序,向所述终端设备发送至少一个目标软件程序的至少一个当前文件描述信息。

步骤603,通过下载管理模块从所述终端设备接收文件下载请求,并根据所述文件下载请求向所述终端设备发送目标源文件;其中,所述文件下载请求由所述终端设备接收到针对目标描述文件信息的触发操作后发送,所述至少一个当前文件描述信息包括所述目标文件描述信息,所述目标源文件和所述目标文件描述信息对应相同的软件程序。

步骤604,通过运行管理模块从所述终端设备接收第一软件运行请求,并且向云平台发送第二软件运行请求;其中,所述软件运行请求包括所述终端设备对所述目标源文件进行更新并编译以得到的可执行程序,使云平台运行所述可执行程序。

在一些可能的示例中,开源软件管理系统展示方法还包括:

步骤605,通过评估管理模块将所述若干软件程序各自的源文件和文件描述信息发送至评估系统,并接收评估系统确定的所述若干软件程序的业务分值。通过所述交互管理模块,根据所述若干软件程序的业务分值,向所述终端设备发送至少一个当前文件描述信息。

开源软件管理系统能够加速优秀科研软件的推广,未注册用户可以了解所关注领域内的科研软件发展情况,注册用户通过开源社区(即开源软件管理系统)迅速熟悉所需工具,降低研究门槛。

每年基于开源社区都会举办开源软件创意大赛,一方面可以助力开源软件生态的发展,另一方面也可以鼓励科研人员加入开源环境中来。

在此处所提供的说明书中,说明了大量的具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下完成实现。在一些示例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1