CN107729016A - 一种基于docker的rpm包编译方法和系统 - Google Patents

一种基于docker的rpm包编译方法和系统 Download PDF

Info

Publication number
CN107729016A
CN107729016A CN201710865381.3A CN201710865381A CN107729016A CN 107729016 A CN107729016 A CN 107729016A CN 201710865381 A CN201710865381 A CN 201710865381A CN 107729016 A CN107729016 A CN 107729016A
Authority
CN
China
Prior art keywords
rpm
docker
bags
machine learning
sensitive
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.)
Granted
Application number
CN201710865381.3A
Other languages
English (en)
Other versions
CN107729016B (zh
Inventor
许晓菡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710865381.3A priority Critical patent/CN107729016B/zh
Publication of CN107729016A publication Critical patent/CN107729016A/zh
Application granted granted Critical
Publication of CN107729016B publication Critical patent/CN107729016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于docker的rpm包编译方法,包括以下步骤:对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。本发明通过机器学习方法建立rpm包与docker容器的一一对应关系,将手动操作中对docker包环境变量修改数值传递给系统,并建立环境变量对应的敏感词汇数据库,检测到触发敏感词汇后,自动完成rpm包与docker包环境变量修改操作的对应关系,并进行压缩存档,减少了编译过程中开发人员的手动操作重复过程,提高了整体开发速度。

Description

一种基于docker的rpm包编译方法和系统
技术领域
本发明涉及服务器应用层技术领域,尤其是一种基于docker的rpm包编译方法和系统。
背景技术
在进行K-UX系统编译构造过程中涉及到大量rpm包的编译,其中相当一部分的rpm涉及到大量环境变量的修改,其中某些环境变量的修改是相互影响的,不能采用批量处理的方法,大大降低了系统开发人员的开发速度,同时每个小版本的rpm编译构造过程差异很小,每次系统的小版本升级会造成开发人员的大量重复性工作,因此需要一种自动化编译构造平台能够减少开发人员的手动操作,从而提高整体的开发速度。
发明内容
本发明的目的是提供一种基于docker的rpm包编译方法和系统,实现rpm包的自动化编译构造。
为实现上述目的,本发明采用下述技术方案:
一种基于docker的rpm包编译方法,包括以下步骤:
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
进一步地,所述对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:
rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
进一步地,所述获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:
建立敏感词汇数据库;
将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库。
进一步地,所述建立敏感词汇数据库,包括:
将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
进一步地,所述编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:
测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
一种基于docker的rpm包编译系统,包括:
docker容器管理模块,建立rpm包与docker容器的对应关系;
机器学习模块,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
进一步地,所述机器学习模块包括:
敏感词汇库建立单元,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;
敏感词汇检测单元,编译过程中对敏感词汇进行关键字匹配检测操作;
匹配单元,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明通过机器学习方法建立rpm包与docker容器的一一对应关系,将手动操作中对docker包环境变量修改数值传递给系统,并建立环境变量对应的敏感词汇数据库,检测到触发敏感词汇后,自动完成rpm包与docker包环境变量修改操作的对应关系,并进行压缩存档,本发明减少了编译过程中开发人员的手动操作重复过程,提高了整体开发速度。
附图说明
图1是本发明基于docker的rpm包编译方法流程图;
图2是本发明基于docker的rpm包编译系统原理图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,一种基于docker的rpm包编译方法,包括以下步骤:
S1、对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
S2、获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
S3、编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:建立敏感词汇数据库,将常用系统环境变量设为敏感词汇,例如:HOME,JAVAHOME,PERL_LOCAL_LIB_ROOTPERL_MM_OP等,即将所有会用到的环境变量全部作为敏感词汇建立数据库;将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库,在进行rpm包编译的过程中,有一些包进行如下的操作:
PERL_MM_OP=/usr/,export$PERL_MM_OP,类似于这样的操作,rpm编译会报错,需要开发人员手动设置后,rpm包的编译才能够通过,记录哪些rpm包经过了这些操作才通过的,因此可以将操作和rpm包进行一一对应。
建立敏感词汇数据库,包括:将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
如图2所示,一种基于docker的rpm包编译系统,包括:docker容器管理模块11,建立rpm包与docker容器的对应关系;机器学习模块12,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
机器学习模块包括:敏感词汇库建立单元121,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;敏感词汇检测单元122,编译过程中对敏感词汇进行关键字匹配检测操作;匹配单元123,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种基于docker的rpm包编译方法,其特征是,包括以下步骤:
对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器;
获取rpm包对应更改的docker容器环境变量修改值,建立机器学习数据库;
编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档。
2.如权利要求1所述的一种基于docker的rpm包编译方法,其特征是,所述对rpm包进行分类,对不同类别的rpm包建立相对应的docker容器,包括:
rpm包在编译完成之后将docker容器对应的container ID与rpm的group id进行对应,建立docker容器与rpm包分类对应关系。
3.如权利要求1所述的一种基于docker的rpm包编译方法,其特征是,所述获取rpm包对应更改的docker容器环境变量修改数值,建立机器学习数据库,包括:
建立敏感词汇数据库;
将rpm包通过编译过程中开发人员手动修改docker容器的环境变量值传递给系统,形成机器学习数据库。
4.如权利要求3所述的一种基于docker的rpm包编译方法,其特征是,所述建立敏感词汇数据库,包括:
将系统环境变量设置为敏感词汇,形成敏感词汇数据库。
5.如权利要求3所述的一种基于docker的rpm包编译方法,其特征是,所述编译过程中触发机器学习数据库内数据后,自动将rpm包与对应的docker容器进行压缩存档,包括:
测试过程中通过关键字匹配方式进行敏感词汇检测,触发敏感词汇后系统实现rpm包与对应docker容器的环境变量修改操作进行对应存档。
6.一种基于docker的rpm包编译系统,采用权利要求1至5任一项权利要求所述的方法,其特征是,包括:
docker容器管理模块,建立rpm包与docker容器的对应关系;
机器学习模块,获取手动操作中对docker容器环境变量的修改操作值形成机器学习数据库,编译过程中的建立rpm包与docker容器环境变量修改操作的压缩存档。
7.如权利要求6所述的一种基于docker的rpm包编译系统,其特征是,所述机器学习模块包括:
敏感词汇库建立单元,完成将环境变量设置为敏感词汇并形成敏感词汇数据库操作;
敏感词汇检测单元,编译过程中对敏感词汇进行关键字匹配检测操作;
匹配单元,建立rpm包与对应docker容器的环境变量修改操作匹配压缩存档。
CN201710865381.3A 2017-09-22 2017-09-22 一种基于docker的rpm包编译方法和系统 Active CN107729016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710865381.3A CN107729016B (zh) 2017-09-22 2017-09-22 一种基于docker的rpm包编译方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710865381.3A CN107729016B (zh) 2017-09-22 2017-09-22 一种基于docker的rpm包编译方法和系统

Publications (2)

Publication Number Publication Date
CN107729016A true CN107729016A (zh) 2018-02-23
CN107729016B CN107729016B (zh) 2021-03-09

Family

ID=61207850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710865381.3A Active CN107729016B (zh) 2017-09-22 2017-09-22 一种基于docker的rpm包编译方法和系统

Country Status (1)

Country Link
CN (1) CN107729016B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984179A (zh) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 一种Linux下编译处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229164A1 (en) * 2011-02-23 2014-08-14 New York University Apparatus, method and computer-accessible medium for explaining classifications of documents
CN104915412A (zh) * 2015-06-05 2015-09-16 北京京东尚科信息技术有限公司 一种动态管理数据库连接的方法及系统
CN106648651A (zh) * 2016-12-15 2017-05-10 广州视源电子科技股份有限公司 一种安装包的制作方法及装置
CN106648741A (zh) * 2016-10-18 2017-05-10 广州视睿电子科技有限公司 一种应用系统部署方法及装置
US20170168715A1 (en) * 2015-12-11 2017-06-15 Vmware, Inc. Workload aware numa scheduling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229164A1 (en) * 2011-02-23 2014-08-14 New York University Apparatus, method and computer-accessible medium for explaining classifications of documents
CN104915412A (zh) * 2015-06-05 2015-09-16 北京京东尚科信息技术有限公司 一种动态管理数据库连接的方法及系统
US20170168715A1 (en) * 2015-12-11 2017-06-15 Vmware, Inc. Workload aware numa scheduling
CN106648741A (zh) * 2016-10-18 2017-05-10 广州视睿电子科技有限公司 一种应用系统部署方法及装置
CN106648651A (zh) * 2016-12-15 2017-05-10 广州视源电子科技股份有限公司 一种安装包的制作方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CARL STAELIN-HEWLETT-PACKARD LABORATORIES: "mkpkg:A software packaging tool", 《USENIX TECHNICAL PROGRAM-PAPER-PROCEEDONGS OF THE 12TH SYSTEMS ADMINISTRATION CONFERENCE(LISA"98)》 *
GARYOND: "Docker容器环境变量设置与查看", 《HTTPS://WWW.JIANSHU.COM/P/E3B81EEEC954》 *
堆栈内存溢出: "动态设置docker容器的JAVA_HOME", 《HTTPS://STACKOOM.COM/QUESTION/2XAJB//动态设置DOCKER容器的JAVA-HOME》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984179A (zh) * 2018-06-28 2018-12-11 北京奇安信科技有限公司 一种Linux下编译处理方法及装置
CN108984179B (zh) * 2018-06-28 2022-08-02 奇安信科技集团股份有限公司 一种Linux下编译处理方法及装置

Also Published As

Publication number Publication date
CN107729016B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN104317618B (zh) 一种固件分区处理方法和装置
CN105224458A (zh) 一种数据库测试方法及系统
CN109214642B (zh) 一种建筑施工工序约束的自动抽取和分类方法及系统
CN105678344A (zh) 一种电力仪表设备的智能分类方法
CN103324681B (zh) 基于cad的工艺卡片数据生成方法
CN111008706B (zh) 一种自动标注、训练、预测海量数据的处理方法
CN107729016A (zh) 一种基于docker的rpm包编译方法和系统
CN108021789A (zh) 一种鉴定体细胞突变的综合策略
CN117451115B (zh) 一种用于分拣输送系统的实时状态监测方法
CN109318228B (zh) 桌面级六自由度机械臂快速控制原型实验系统
CN102436542B (zh) 一种基于格拉布斯规则和矩阵实验室语言的药学测试数据中异常值的剔除方法
CN110347570A (zh) 一种ide环境下代码自动生成工具分析方法
CN111062827B (zh) 一种基于人工智能模式的工程监理方法
CN111475358A (zh) 一种控制器接口的自动化测试方法及装置
CN112016675A (zh) 用于钢板表面缺陷检测的cnn模型训练方法和装置
CN110716778A (zh) 应用兼容性测试方法、装置及系统
CN105843891A (zh) 一种增量式的在线特征提取分析方法及系统
CN113822379B (zh) 工艺制程异常分析方法、装置、电子设备及存储介质
CN106610964A (zh) 异常报销数据分析方法及服务器
CN105138513A (zh) 确定汉语词汇相似度的方法和装置
CN110197143B (zh) 一种结算台物品识别方法、装置及电子设备
CN109472319B (zh) 一种三维模型分类方法以及检索方法
CN112527631A (zh) bug定位方法、系统、电子设备及存储介质
CN113628077A (zh) 生成不重复考题的方法、终端及可读存储介质
CN113034422A (zh) 注塑成型产品良率的检测方法、装置及电子设备

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
TA01 Transfer of patent application right

Effective date of registration: 20210219

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: Room 1601, floor 16, 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant