CN111880843B - 基于Linux单命令行的生物大数据分析系统及方法 - Google Patents
基于Linux单命令行的生物大数据分析系统及方法 Download PDFInfo
- Publication number
- CN111880843B CN111880843B CN202010764734.2A CN202010764734A CN111880843B CN 111880843 B CN111880843 B CN 111880843B CN 202010764734 A CN202010764734 A CN 202010764734A CN 111880843 B CN111880843 B CN 111880843B
- Authority
- CN
- China
- Prior art keywords
- user
- job
- linux
- command line
- single command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Linux单命令行的生物大数据分析系统及方法。包括接入模块,用户访问时链接到Shell模式界面;Shell模式界面,输入Linux单命令行,产生作业号,Linux单命令行至少包括程序单元名称和待分析数据文件名称;用户级别获取单元;用户资源管理模块,根据用户级别获取单元输出的用户的级别为用户分配对应级别的系统子资源;分析模块,包含多个程序单元;作业调度管理模块,将作业号分配至与用户级别对应的作业队列中,调度作业号关联的程序单元并执行获得分析结果。只需Linux单命令行就可完成数据分析和作业提交,对资源和作业队列进行分级别管理,优化资源,提升使用效率,提高系统稳定性。
Description
技术领域
本发明涉及生物信息学多组学和计算生物学领域的数据分析,特别是涉及一种基于Linux单命令行的生物大数据分析系统及方法。
背景技术
随着二代基因测序技术和蛋白质谱技术等在内的新一代高通量数据技术越来越多的应用于解决生物问题,尤其是人类疾病的研究。使得从基因组水平、转录组水平、蛋白质组水平、代谢组水平等角度对疾病展开全方位、多层次的研究成为可能,借助生物信息学分析方法进行多组学整合研究,能更加系统地阐释疾病的发生及发展机理,为疾病(如肿瘤)的诊断治疗提供强有力的工具。
现有的肿瘤大数据分析系统绝大多数是基于windows,系统框图如图9所示,其运行模式为:通过在线web端来访问,用户通过上传数据并提交到服务器,服务器接收数据进行处理,最后反馈结果给用户。在基于windows的肿瘤大数据分析系统下,用户使用方便,分析的结果可视化直观,但其缺点是很明显的:由于受windows架构缺陷的限制,决定了用户上传数据的文件大小受到限制,较大的文件不易上传到系统,同时用户还受到网络带宽的限制,这些因素决定了windows下的肿瘤数据分析系统不易推广使用。
现有技术中也有基于Linux的肿瘤大数据分析系统,其运行模式为:用户通过远程登录程序,如windows下的putty命令来进行远程登录服务器,通过运行R语言,调用已编制好的R脚本程序来进行数据处理,运行完之后通过相关的Linux命令来查看结果。在此过程中,用户需要单独编制程序、调试程序、运行程序,最后通过qsub程序来提交作业到服务器,整个过程耗时耗力,并严重制约着分析平台的推广和使用。需要用户有熟练使用Linux命令的经验,由于每一个操作都需要通过输入Linux命令来完成,因而用户操作起来复杂;对于用户分析数据过程来说,更需要用户自己手动编写代码来运行和调试程序;对于定制的数据分析更没有现存的不需要修改的代码直接可用,这对于没有编程基础的用户来说更增加了使用的复杂性,制约着该方式的使用。
此外,不管是基于windows还是基于Linux系统,对于多用户同时使用分析系统来进行数据分析,都会受到服务器性能的限制,包括线程、内存和存储空间。在Linux服务器系统下,一般都存在多个用户同时使用的情况,在该系统下,如果不对每个用户使用的资源(包括线程、内存和存储空间)进行控制,就会严重制约服务器的性能,从而大大降低服务器的使用效率。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于Linux单命令行的生物大数据分析系统及方法。
为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种基于Linux单命令行的生物大数据分析系统,包括:接入模块,用于用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统时链接到Linux的Shell模式界面;在Linux的Shell模式界面,输入Linux单命令行,并在Linux单命令行输入成功后执行产生作业号,所述Linux单命令行至少包括程序单元名称和待分析数据文件名称,将所述作业号与所述程序单元名称对应的程序单元关联;用户级别获取单元,将用户划分为不同的级别,基于用户信息获取用户级别;用户资源管理模块,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据所述用户级别获取单元输出的用户的级别为用户分配对应级别的系统子资源;分析模块,包含多个程序单元,每个程序单元对应一个分析功能,对每个分析功能单独编译程序代码并将所述程序代码包装成一个块获得程序单元并命名;作业调度管理模块,设置多个作业队列,不同级别的用户对应不同的作业队列,将Linux的Shell模式界面产生的作业号分配到与用户级别对应的作业队列中,在每个作业队列中按排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础,基于分配的系统子资源执行所述程序单元获得分析结果并输出至输出模块。输出模块,将分析结果输出至用户指定的目录位置。
上述技术方案:该系统使用起来简单方便快捷,不需要输入过多复杂的Linux命令和编程,只需要单独的一条Linux单命令行就可以同时完成数据分析和作业提交等;通过对磁盘空间进行分级别管理,以及对作业分级别调度,实现了资源的优化管理,使得多个用户可同时在Linux系统下进行生物大数据(如肿瘤大数据)分析的需求,而不降低服务性能,并能提升系统的使用效率和稳定性,该系统集数据分析、作业提交、作业调度、对用户和系统资源进行管理等功能于一体,极大的扩展了该系统的功能和使用,此外,每个具有独立分析功能的程序单元就是一个独立程序,从而有效地保护了程序代码的安全性,方便移植到其它Linux系统安装使用。
在本发明的一种优选实施方式中,所述系统资源包括磁盘空间、内存空间和线程数量三者中的全部或部分。
在本发明的一种优选实施方式中,还包括完整性检验模块,所述完整性检验模块用于判断输入的Linux单命令行是否完整;和/或所述访问接入模块执行以下过程:为用户分配程序单元使用权限,每个用户至少获得一个程序单元的使用权限,判断Linux单命令行中的程序单元名称是否在用户的使用权限内,若程序单元名称不在用户的使用权限内,则进行超权限提示。
上述技术方案:拒绝不完整Linux单命令行的访问和超权限访问,避免浪费系统资源,并能提高系统运行效率。
在本发明的一种优选实施方式中,还包括使用时间限制模块,所述时间限制模块为每个用户分配使用时段,当用户访问时间不在分配的使用时段内时,拒绝用户访问。
上述技术方案:对每个账号的使用时间分别进行控制,只有在授权合法的时间内才能使用分析平台,对用户进行时间分流,提高系统稳定性。
在本发明的一种优选实施方式中,还包括登录限制模块,为每个用户分配一个账号,为每个账号设置一个登录标志位,登录标志位为1表示对应账号已登录,登录标志位为0表示对应账号未登录,用户通过账号登录时,若登录标志位为1,则拒绝所述账号登录,若登录标志位为0,则允许所述账号登录,并将登录标志位置1。
上述技术方案:能有效防止恶意登录攻击系统,提高系统的安全性和经济性。
为了实现本发明的上述目的,根据本发明的第二个方面,本发明提供了一种基于Linux单命令行的生物大数据分析方法,包括:S1,用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统并链接到Linux的Shell模式界面,后台基于用户登录信息获取用户级别,为用户分配对应级别的系统子资源;S2,用户在Linux的Shell模式界面中成功输入Linux单命令行并执行后产生作业号;S3,后台将所述作业号分配至与用户级别对应的作业队列中,所述Linux单命令行至少包括程序单元名称和待分析数据文件名称,将所述作业号与所述程序单元名称对应的程序单元关联;在所述作业队列中,按作业号排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础基于分配的系统子资源执行所述程序单元获得分析结果并输出。
上述技术方案:使用起来简单方便快捷,不需要输入过多复杂的Linux命令和编程,只需要单独的一条Linux单命令行就可以同时完成数据分析和作业提交等;通过对系统资源进行分级别管理,以及对作业分级别调度,实现了资源的优化管理,使得多个用户可同时在Linux系统下进行肿瘤大数据分析的需求,而不降低服务性能,集数据分析、作业提交、作业调度、对用户和系统资源进行管理等功能于一体,此外,每个具有独立分析功能的程序单元就是一个独立程序,从而有效地保护了程序代码的安全性,方便移植到其它Linux系统安装使用。
在本发明的一种优选实施方式中,在S1之前还包括:将用户分为多个级别,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据用户的级别为用户分配对应级别的系统子资源;设置多个作业队列,不同级别的用户对应不同的作业队列,每个作业队列均设有最大允许作业号存储数量;对每个分析功能单独编译程序代码并将所述程序代码包装成一个块获得程序单元并命名。
上述技术方案:实现了系统资源和作业队列的优化管理,能有效防止提高系统稳定性,提高用户体验。
在本发明的一种优选实施方式中,在所述S3中,每个作业队列中,并行的执行被调度的程序单元,分析结果产生在用户当前目录下。
上述技术方案:实现了多个同级别的用户同时使用的功能,将分析结果产生在用户当前目录下便于用户查看、获取。
在本发明的一种优选实施方式中,在所述S3中,每个作业队列中,所有调度的程序单元占用的系统子资源不大于所述作业队列对应级别的系统子资源的总量。
上述技术方案:能有效防止提高系统稳定性,提高用户体验。
附图说明
图1是本发明一具体实施方式中基于Linux单命令行的肿瘤大数据分析系统的结构示意图;
图2是本发明一具体实施方式中在shell模式界面输入Linux单命令行的示意图;
图3是本发明一具体实施方式中远程登录界面示意图;
图4是本发明一具体实施方式中将分析结果输出至用户指定目录的示意图;
图5是本发明一具体实施方式中分析结果展示图;
图6是本发明一具体实施方式中查看Linux单命令行运行状态的第一种示意图;
图7是本发明一具体实施方式中查看Linux单命令行运行状态的第二种示意图;
图8是本发明一具体实施方式中在shell模式界面用户登录系统的示意图;
图9是现有基于windows的肿瘤大数据分析系统框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明还公开了一种基于Linux单命令行的生物大数据分析系统,在一种优选实施方式中,如图1所示,该系统包括:接入模块,用于用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统时链接到Linux的Shell模式界面;在Linux的Shell模式界面,输入Linux单命令行,并在Linux单命令行输入成功后执行产生作业号,Linux单命令行至少包括程序单元名称和待分析数据文件名称,将作业号与程序单元名称对应的程序单元关联;用户级别获取单元,将用户划分为不同的级别,基于用户信息获取用户级别;用户资源管理模块,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据用户级别获取单元输出的用户的级别为用户分配对应级别的系统子资源;分析模块,包含多个程序单元,每个程序单元对应一个分析功能,对每个分析功能单独编译程序代码并将程序代码包装成一个块获得程序单元并命名;作业调度管理模块,设置多个作业队列,不同级别的用户对应不同的作业队列,将Linux的Shell模式界面产生的作业号分配到与用户级别对应的作业队列中,在每个作业队列中按排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础,基于分配的系统子资源执行程序单元获得分析结果并输出至输出模块。输出模块,将分析结果输出至用户指定的目录位置。
在本实施方式中,生物大数据优选但不限于为新一代高通量测序数据、单分子测序数据、多组学数据、临床医学数据。基于SSH协议的远程登录客户端优选但不限于putty软件,用户登录信息优选但不限于包括账号和密码。优选但不限于从Windows系统、Mac OS系统登录本申请系统,用户使用putty程序远程登录界面如图3所示。接入模块链接到Linux的Shell模式界面,如图8所示。
在本实施方式中,用户级别获取单元存储有所有用户账号与用户级别的对应关系表,用户输入账号后通过该对应关系表可查询获得用户级别。
在本实施方式中,登录成功后,用户在Linux的Shell模式界面上输入Linux单命令行,例如Linux单命令行可为“DESeq2_with_DEGs count_matrix.txt”。待分析数据文件优选但不限于为矩阵类文件,如.txt、.csv等文本文件。优选的,Linux单命令行还可包括其它参数,如待分析数据为高通量测序数据时,还包括对照组和实验组的数目,如图2所示,第一行命令解释:DESeq2_with_DEGs为使用DESeq2算法进行差异表达基因分析的程序单元名称,count_matrix.txt为用户进行分析的二代测序基因表达数据的原始counts格式文件,3:3表示分别有3个对照组和3个实验组并通过冒号隔开。第二行显示字解释942.server60为成功提交Linux单命令行后产生的作业号。用户输入Linux单命令行后,可通过该作业号利用qstat语句查看运行状态,得到如图6所示界面,R表示作业正在运行,或者得到如图7所示的界面,C表示作业运行完成。
在本实施方式中,系统资源包括磁盘空间、内存空间和线程数量三者中的全部或部分。优选但不限于采用开源Quota软件对用户和组磁盘空间进行配置,预先按照用户级别数将磁盘划分同样的级别数,如用户有4个等级,将磁盘划分为4个级别的磁盘空间,每个级别的磁盘空间的大小可根据对应级别用户对磁盘空间需求进行设定,如有四个不同级别空间需求的用户,即user1G、user5G、user10G以及user20G,则将磁盘划分为1G磁盘空间、5G磁盘空间、10G磁盘空间和20G磁盘空间四个级别。如可使用Quota程序的edquota-uusername命令分别对以上四个不同级别的用户进行磁盘空间配额,Hard Limit大小分别与四个层次的用户空间大小一致(注意以kilo bytes为单位),Soft Limit大小为Hard Limit大小的80%设置。可按照前述磁盘空间划分方法对内存进行划分。
在本实施方式中,优选的,作业调度管理模块为不同级别的作业队列分配不同的线程数,级别越高分配的线程数越多。依据不同级别的用户需求,对线程进行严格控制和划分,不同的级别的用户对应不同的使用资源,增强用户体验。例如,每个级别用户(user1G、user5G、user10G和user20G四个级别)的线程进行设置:
在本实施方式中,优选但不限于采用开源软件Torque+MAUI对用户作业调度系统进行配置,Torque下使用qmgr命令创建4个与4个不同级别用户对应的队列,即QueueUser1G、QueueUser5G、QueueUser10G以及QueueUser20G等,并设置每个队列的resources_min.mem、resources_max.mem、resources_default.walltime以及resources_max.walltime等属性。开启pbs_server、pbs_mom和trqauthd服务,并关闭pbs_sched服务,采用MAUI进行调度。
在本实施方式中,分析模块中的每个程序单元具有独立分析功能,分析模块优选但不限于包括数据下载、差异表达基因分析、基因富集分析以及生存分析等程序单元。首先将独立分析功能程序的数据分析部分使用R语言编写程序代码,并使用独立的模块进行包装获得程序单元。
在本实施方式中,如图4所示,输出模块将分析结果输出至用户指定目录位置,分析结果优选但不限于为图形文件、文档文件。将分析结果展示如图5所示。
在一种优选实施方式中,还包括完整性检验模块,完整性检验模块用于判断输入的Linux单命令行是否完整。
在本实施方式中,Linux单命令行模版可设为“XXX YYY”,“XXX”表示程序单元名称,“YYY”表示待分析数据文件名称,“XXX”和“YYY”之间通过一个空格隔开。
在本实施方式中,优选的,判断输入的Linux单命令行是否完整的过程包括:从输入的Linux单命令行中识别出空格,若无法识别出空格,认为输入的Linux单命令行不完整,错误提示,若能识别出空格,将第一个空格前后划分,在分析模块中查找是否与空格前面部分相同的程序单元名称,若查找不到相同的程序单元名称,认为输入的Linux单命令行不完整,错误提示,若能够查找到的程序单元名称,继续判断空格后面部分是否存在矩阵文件的后缀,如“.txt”等,若不存在矩阵文件的后缀,认为输入的Linux单命令行不完整,错误提示,若存在矩阵文件的后缀认为输入的Linux单命令行完整。
在一种优选实施方式中,访问接入模块执行以下过程:为用户分配程序单元使用权限,每个用户至少获得一个程序单元的使用权限,判断Linux单命令行中的程序单元名称是否在用户的使用权限内,若程序单元名称不在用户的使用权限内,则进行超权限提示。
在一种优选实施方式中,还包括使用时间限制模块,时间限制模块为每个用户分配使用时段,当用户访问时间不在分配的使用时段内时,拒绝用户访问。在该分析系统下,对每个账号的使用时间分别进行控制,只有在授权合法的时间内才能使用分析系统。
在一种优选实施方式中,还包括登录限制模块,为每个用户分配一个账号,为每个账号设置一个登录标志位,登录标志位为1表示对应账号已登录,登录标志位为0表示对应账号未登录,用户通过账号登录时,若登录标志位为1,则拒绝账号登录,若登录标志位为0,则允许账号登录,并将登录标志位置1。所有的账号同时只能登录进一个分配的账号,其它SSH远程登录工具,都不能同时登录进分析系统。
在本实施方式中,优选的,用户在登录进分析系统界面后,会出现一些友好提示信息,如包括用户的使用系统的剩余时间,联系方式,以及基于文本的操作手册文本文件(readme.txt),该文件里面的内容如果有更新会在用户登录后出现,其余时间不出现。
该数据分析系统,只需要在Linux的Shell模式下,输入一行程序字符即可完成相应功能的数据分析,对使用者来说,相当方便快捷,并对多用户进行合理有序调度。基于Linux命令行的生物学大数据综合分析系统就是要解决专业化,繁琐化问题。该分析系统使用简单,不需要学习过多的生物信息学专业知识,只需要掌握少量的Linux命令就可以进行快速的高通量数据分析,并能使结果能达到专业化分析要求的结果;该系统布置方式灵活,可以布置在互联网和局域网上,解决常见的生物学大数据分析平台使用资源(包括线程、内存和存储)紧张、带有的高并发性问题;并能同时满足多用户分析高通量数据的要求;该系统应用人群广泛,包括生物信息学初学者、科研工作者、医生以及生物医学领域行业的人都可以使用,因而能满足科研工作者使用要求。
本发明还公开了一种基于Linux单命令行的生物大数据分析方法,在一种优选实施方式中,该方法包括:
S1,用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统并链接到Linux的Shell模式界面,后台基于用户登录信息获取用户级别,为用户分配对应级别的系统子资源;
S2,用户在Linux的Shell模式界面中成功输入Linux单命令行后产生作业号;
S3,后台将所述作业号分配至与用户级别对应的作业队列中,所述Linux单命令行至少包括程序单元名称和待分析数据文件名称,将所述作业号与所述程序单元名称对应的程序单元关联;在所述作业队列中,按作业号排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础基于分配的系统子资源执行所述程序单元获得分析结果并输出。
在一种优选实施方式中,系统资源包括磁盘空间、内存空间和线程数量三者中的全部或部分。
在一种优选实施方式中,在S1之前还包括:
将用户分为多个级别,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据用户的级别为用户分配对应级别的系统子资源;
设置多个作业队列,不同级别的用户对应不同的作业队列,每个作业队列均设有最大允许作业号存储数量;
对每个分析功能单独编译程序代码并将所述程序代码包装成一个块获得程序单元并命名。
在一种优选实施方式中,在S3中,每个作业队列中,并行的执行被调度的程序单元,分析结果产生在用户当前目录下。每个级别的用户,允许同时多个用户使用系统。
在一种优选实施方式中,在S3中,每个作业队列中,所有调度的程序单元占用的系统子资源不大于该作业队列对应级别的系统子资源的总量。
在本实施方式中,在不超过作业队列对应级别的系统子资源的总量的前提下,在该作业队列中允许多个程序单元被调度执行,当所有调度的程序单元占用的系统子资源大于该作业队列对应级别的系统子资源的总量时,减少调度量,排序等待该级别的系统子资源释放后在进行调度,能有效防止提高系统稳定性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种基于Linux单命令行的生物大数据分析系统,其特征在于,包括:
接入模块,用于用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统时链接到Linux的Shell模式界面;
在Linux的Shell模式界面,输入Linux单命令行,并在Linux单命令行输入成功后执行产生作业号,所述Linux单命令行至少包括程序单元名称和待分析数据文件名称,将所述作业号与所述程序单元名称对应的程序单元关联;
用户级别获取单元,将用户划分为不同的级别,基于用户信息获取用户级别;
用户资源管理模块,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据所述用户级别获取单元输出的用户的级别为用户分配对应级别的系统子资源;
分析模块,包含多个程序单元,每个程序单元对应一个分析功能,对每个分析功能单独编译程序代码并将所述程序代码包装成一个块获得程序单元并命名;
作业调度管理模块,设置多个作业队列,不同级别的用户对应不同的作业队列,将Linux的Shell模式界面产生的作业号分配到与用户级别对应的作业队列中,在每个作业队列中按排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础,基于分配的系统子资源执行所述程序单元获得分析结果并输出至输出模块;
输出模块,将分析结果输出至用户指定的目录位置。
2.如权利要求1所述的基于Linux单命令行的生物大数据分析系统,其特征在于,所述系统资源包括磁盘空间、内存空间和线程数量三者中的全部或部分。
3.如权利要求1所述的基于Linux单命令行的生物大数据分析系统,其特征在于,还包括完整性检验模块,所述完整性检验模块用于判断输入的Linux单命令行是否完整;
和/或所述接入模块执行以下过程:为用户分配程序单元使用权限,每个用户至少获得一个程序单元的使用权限,判断Linux单命令行中的程序单元名称是否在用户的使用权限内,若程序单元名称不在用户的使用权限内,则进行超权限提示。
4.如权利要求1所述的基于Linux单命令行的生物大数据分析系统,其特征在于,还包括使用时间限制模块,所述时间限制模块为每个用户分配使用时段,当用户访问时间不在分配的使用时段内时,拒绝用户访问。
5.如权利要求1所述的基于Linux单命令行的生物大数据分析系统,其特征在于,还包括登录限制模块,为每个用户分配一个账号,为每个账号设置一个登录标志位,登录标志位为1表示对应账号已登录,登录标志位为0表示对应账号未登录,用户通过账号登录时,若登录标志位为1,则拒绝所述账号登录,若登录标志位为0,则允许所述账号登录,并将登录标志位置1。
6.一种基于Linux单命令行的生物大数据分析方法,其特征在于,包括:
S0,将用户分为多个级别,将系统资源划分为不同级别的系统子资源,不同级别的系统子资源大小不同,用户的级别与系统子资源的级别一一对应,根据用户的级别为用户分配对应级别的系统子资源;
设置多个作业队列,不同级别的用户对应不同的作业队列,每个作业队列均设有最大允许作业号存储数量;
对每个分析功能单独编译程序代码并将所述程序代码包装成一个块获得程序单元并命名;
S1,用户通过基于SSH协议的远程登录客户端访问生物大数据分析系统并链接到Linux的Shell模式界面,后台基于用户登录信息获取用户级别,为用户分配对应级别的系统子资源;
S2,用户在Linux的Shell模式界面中成功输入Linux单命令行并执行后产生作业号;
S3,后台将所述作业号分配至与用户级别对应的作业队列中,所述Linux单命令行至少包括程序单元名称和待分析数据文件名称,将所述作业号与所述程序单元名称对应的程序单元关联;在所述作业队列中,按作业号排队顺序调度作业号关联的程序单元,以待分析数据文件中的数据为基础基于分配的系统子资源执行所述程序单元获得分析结果并输出。
7.如权利要求6所述的基于Linux单命令行的生物大数据分析方法,其特征在于,所述系统资源包括磁盘空间、内存空间和线程数量三者中的全部或部分。
8.如权利要求6所述的基于Linux单命令行的生物大数据分析方法,其特征在于,在所述S3中,每个作业队列中,并行的执行被调度的程序单元,分析结果产生在用户当前目录下。
9.如权利要求8所述的基于Linux单命令行的生物大数据分析方法,其特征在于,在所述S3中,每个作业队列中,所有调度的程序单元占用的系统子资源不大于所述作业队列对应级别的系统子资源的总量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010764734.2A CN111880843B (zh) | 2020-07-31 | 2020-07-31 | 基于Linux单命令行的生物大数据分析系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010764734.2A CN111880843B (zh) | 2020-07-31 | 2020-07-31 | 基于Linux单命令行的生物大数据分析系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111880843A CN111880843A (zh) | 2020-11-03 |
CN111880843B true CN111880843B (zh) | 2023-07-07 |
Family
ID=73205392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010764734.2A Active CN111880843B (zh) | 2020-07-31 | 2020-07-31 | 基于Linux单命令行的生物大数据分析系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880843B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113643757B (zh) * | 2020-12-02 | 2024-04-02 | 广东美格基因科技有限公司 | 一种微生物组学数据交互分析系统 |
CN112965767B (zh) * | 2021-03-08 | 2024-07-19 | 北京金山云网络技术有限公司 | 作业的处理方法和装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453364A (zh) * | 2007-11-29 | 2009-06-10 | 华为技术有限公司 | 数字信号处理器资源的分配方法及装置 |
CN103188805A (zh) * | 2011-12-31 | 2013-07-03 | 华为技术有限公司 | 导频资源分配方法和设备 |
WO2014040342A1 (zh) * | 2012-09-14 | 2014-03-20 | 盈世信息科技(北京)有限公司 | 一种基于多层次用户分类的资源分配方法、装置及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519462B1 (en) * | 2000-05-11 | 2003-02-11 | Lucent Technologies Inc. | Method and apparatus for multi-user resource management in wireless communication systems |
US8087026B2 (en) * | 2006-04-27 | 2011-12-27 | International Business Machines Corporation | Fair share scheduling based on an individual user's resource usage and the tracking of that usage |
CN102866920B (zh) * | 2012-08-02 | 2016-05-11 | 杭州海康威视数字技术股份有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN103544357B (zh) * | 2013-10-30 | 2016-08-17 | 曙光信息产业(北京)有限公司 | Ansys的计算任务的实现方法和装置 |
CN106937393B (zh) * | 2017-04-25 | 2020-07-28 | 电子科技大学 | 一种基于优先级的无线资源调度方法 |
CN107273196A (zh) * | 2017-05-31 | 2017-10-20 | 中国科学院北京基因组研究所 | 生物信息学高性能计算作业调度及系统管理套件 |
CN108462888B (zh) * | 2018-03-14 | 2021-01-19 | 江苏有线数据网络有限责任公司 | 用户电视及上网行为的智能关联分析方法及系统 |
CN111367630A (zh) * | 2019-07-12 | 2020-07-03 | 北京关键科技股份有限公司 | 一种基于云计算的多用户多优先级的分布式协同处理方法 |
-
2020
- 2020-07-31 CN CN202010764734.2A patent/CN111880843B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453364A (zh) * | 2007-11-29 | 2009-06-10 | 华为技术有限公司 | 数字信号处理器资源的分配方法及装置 |
CN103188805A (zh) * | 2011-12-31 | 2013-07-03 | 华为技术有限公司 | 导频资源分配方法和设备 |
WO2014040342A1 (zh) * | 2012-09-14 | 2014-03-20 | 盈世信息科技(北京)有限公司 | 一种基于多层次用户分类的资源分配方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111880843A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Von Laszewski et al. | Design of the futuregrid experiment management framework | |
CN111880843B (zh) | 基于Linux单命令行的生物大数据分析系统及方法 | |
US7730166B2 (en) | Dynamic definition for concurrent computing environments | |
US20100017146A1 (en) | Auto-analysis framework for sequence evaluation | |
US20030028645A1 (en) | Management system for a cluster | |
Liu et al. | Deploying bioinformatics workflows on clouds with galaxy and globus provision | |
CN102521024A (zh) | 基于生物信息云平台的作业调度方法 | |
CN105653897B (zh) | 基于生物云平台的lncRNA分析系统及方法 | |
JP2024040165A (ja) | アプリケーションの実行中に決定される異種コンピューティングリソースの動的な割り当て | |
Kintsakis et al. | Hermes: seamless delivery of containerized bioinformatics workflows in hybrid cloud (HTC) environments | |
Sinnott et al. | Grid infrastructures for secure access to and use of bioinformatics data: Experiences from the bridges project | |
Musa et al. | Self-service infrastructure container for data intensive application | |
Wagner et al. | Investigating the genomic distribution of phylogenetic signal with CloudForest | |
Tricomi et al. | Toward a function-as-a-service framework for genomic analysis | |
Teslyuk et al. | Architecture and deployment details of scalable Jupyter environment at Kurchatov Institute supercomputing centre | |
Chiu et al. | Bic-lsu: Big data research integration with cyberinfrastructure for lsu | |
Abdel et al. | BIG-BIO:-big data hadoop-based analytic cluster framework for bioinformatics | |
Afgan et al. | Dynamic Task Distribution in the Grid for BLAST. | |
Belloum et al. | The Vlam-G abstract machine: a data and process handling system on the Grid | |
McCollum et al. | Accelerating gene regulatory network modeling using grid-based simulation | |
Kintsakis et al. | Data-aware optimization of bioinformatics workflows in hybrid clouds | |
Weitzel et al. | Campus grids: Bringing additional computational resources to HEP researchers | |
Belyaev et al. | Integration of russian tier-1 grid center with high performance computers at NRC-KI for LHC experiments and beyond HENP | |
CN115658052A (zh) | 基于生物序列顺式作用调控元件的在线预测网站构建方法 | |
Sinnott et al. | Development of a grid infrastructure for functional genomics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Ran Longke Inventor after: Song Fangzhou Inventor after: Song Jing Inventor after: Luo Ruihan Inventor before: Ran Longke Inventor before: Song Fangzhou Inventor before: Song Jing Inventor before: Luo Ruihan |
|
GR01 | Patent grant | ||
GR01 | Patent grant |