CN111124646B - 私有化改造实现方法、装置、电子设备及存储介质 - Google Patents

私有化改造实现方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111124646B
CN111124646B CN201911335923.1A CN201911335923A CN111124646B CN 111124646 B CN111124646 B CN 111124646B CN 201911335923 A CN201911335923 A CN 201911335923A CN 111124646 B CN111124646 B CN 111124646B
Authority
CN
China
Prior art keywords
task
plug
node
execution
file
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
Application number
CN201911335923.1A
Other languages
English (en)
Other versions
CN111124646A (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.)
Baidu International Technology Shenzhen Co ltd
Original Assignee
Baidu International Technology Shenzhen 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 Baidu International Technology Shenzhen Co ltd filed Critical Baidu International Technology Shenzhen Co ltd
Priority to CN201911335923.1A priority Critical patent/CN111124646B/zh
Publication of CN111124646A publication Critical patent/CN111124646A/zh
Application granted granted Critical
Publication of CN111124646B publication Critical patent/CN111124646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • G06F8/434Pointers; Aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了私有化改造实现方法、装置、电子设备及存储介质,涉及人工智能领域,其中方法可包括:任务调度平台获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将该插件任务发送给任务执行节点进行执行。应用本申请所述方案,可节省人力成本,并提升处理效率等。

Description

私有化改造实现方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机应用技术,特别涉及人工智能领域的私有化改造实现方法、装置、电子设备及存储介质。
背景技术
随着人工智能(AI,Artificial Intelligence)技术的不断发展,AI的落地需求日益增多。目前的AI产品交付主要包括公有云调用和私有化部署两种方式。公有云调用是指AI服务提供商将服务部署在公有云并对外暴漏服务接口供需求方调用,私有化部署是指AI服务提供商将服务直接部署到需求方的私有云环境内。
其中,对于私有化部署这种方式,为了防止知识产权被需求方盗用等,需要对服务的代码、模型文件等增加各种保护,如进行代码混淆、模型加密等,即进行私有化改造工作。
目前的私有化改造工作主要依靠各团队线下手动完成,这种方式不但需要耗费较大的人力资源,而且效率低下等。
发明内容
有鉴于此,本申请提供了私有化改造实现方法、装置、电子设备及存储介质。
一种私有化改造实现方法,包括:
任务调度平台获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
根据本申请一优选实施例,该方法进一步包括:所述任务调度平台获取所述任务执行节点返回的任务执行结果,通过所述持续集成平台展示给所述用户。
根据本申请一优选实施例,所述候选工作节点包括:已在所述任务调度平台上注册的工作节点;
所述从候选工作节点中选出一个工作节点作为任务执行节点包括:从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点,将选出的工作节点作为所述任务执行节点。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查。
一种私有化改造实现方法,包括:
工作节点获取任务调度平台发送来的插件任务,所述插件任务为所述任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的所述插件任务后,从候选工作节点中选出所述工作节点作为任务执行节点后发送给所述工作节点的;所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述工作节点执行所述插件任务。
根据本申请一优选实施例,该方法进一步包括:所述工作节点向所述任务调度平台返回任务执行结果,以便所述任务调度平台通过所述持续集成平台将所述任务执行结果展示给所述用户。
根据本申请一优选实施例,该方法进一步包括:所述工作节点启动时,向所述任务调度平台进行注册,并通知所述任务调度平台自己能够执行的插件任务的任务类型,以便所述任务调度平台针对任一插件任务,分别将已在所述任务调度平台上注册的工作节点作为所述候选工作节点,从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点作为所述任务执行节点。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固;
所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;从下载的文件中确定出需要进行加固的文件;对所述需要进行加固的文件进行加固,将加固后的文件上传至所述仓库;清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:模型加密;
所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;从下载的文件中确定出需要进行加密的文件;生成密钥对,利用所述密钥对中的加密密钥对所述需要进行加密的文件进行加密,将加密后的文件及所述密钥对中的解密密钥上传至所述仓库;清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:代码混淆;
所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;对下载的文件进行混淆编译,将混淆后的文件上传至所述仓库;清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:镜像制作;
所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;为下载的文件构建出镜像,将镜像上传至所述仓库;清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:安全检查;
所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;对下载的文件进行安全检查;清空所述任务临时工作空间。
一种私有化改造实现方法,包括:
持续集成平台获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述持续集成平台确定所述用户触发所述流水线的执行,将各插件任务分别发送给任务调度平台,以便所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
根据本申请一优选实施例,该方法进一步包括:所述持续集成平台获取来自所述任务调度平台的任务执行结果,将所述任务执行结果展示给所述用户,所述任务执行结果为所述任务执行节点发送给所述任务调度平台的。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查。
一种私有化改造实现装置,所述私有化改造实现装置应用于任务调度平台中,包括:第一任务获取单元以及任务调度单元;
所述第一任务获取单元,用于获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述任务调度单元,用于针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
根据本申请一优选实施例,所述任务调度单元进一步用于,获取所述任务执行节点返回的任务执行结果,通过所述持续集成平台展示给所述用户。
根据本申请一优选实施例,所述候选工作节点包括:已在所述任务调度平台上注册的工作节点;
所述任务调度单元从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点,将选出的工作节点作为所述任务执行节点。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查。
一种私有化改造实现装置,所述私有化改造实现装置应用于工作节点中,包括:第二任务获取单元以及任务执行单元;
所述第二任务获取单元,用于获取任务调度平台发送来的插件任务,所述插件任务为所述任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的所述插件任务后,从候选工作节点中选出所述工作节点作为任务执行节点后发送来的;所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述任务执行单元,用于执行所述插件任务。
根据本申请一优选实施例,所述任务执行单元进一步用于,向所述任务调度平台返回任务执行结果,以便所述任务调度平台通过所述持续集成平台将所述任务执行结果展示给所述用户。
根据本申请一优选实施例,所述装置中进一步包括:注册管理单元,用于当所述工作节点启动时,向所述任务调度平台进行注册,并通知所述任务调度平台所述工作节点能够执行的插件任务的任务类型,以便所述任务调度平台针对任一插件任务,分别将已在所述任务调度平台上注册的工作节点作为所述候选工作节点,从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点作为所述任务执行节点。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固;
所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,从下载的文件中确定出需要进行加固的文件,对所述需要进行加固的文件进行加固,将加固后的文件上传至所述仓库,清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:模型加密;
所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,从下载的文件中确定出需要进行加密的文件,生成密钥对,利用所述密钥对中的加密密钥对所述需要进行加密的文件进行加密,将加密后的文件及所述密钥对中的解密密钥上传至所述仓库,清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:代码混淆;
所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,对下载的文件进行混淆编译,将混淆后的文件上传至所述仓库,清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:镜像制作;
所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,为下载的文件构建出镜像,将镜像上传至所述仓库,清空所述任务临时工作空间。
根据本申请一优选实施例,所述插件任务包括:安全检查;
所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,对下载的文件进行安全检查,清空所述任务临时工作空间。
一种私有化改造实现装置,所述私有化改造实现装置应用于持续集成平台中,包括:配置获取单元以及任务处理单元;
所述配置获取单元,用于获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作;
所述任务处理单元,用于当确定所述用户触发所述流水线的执行时,将各插件任务分别发送给任务调度平台,以便所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
根据本申请一优选实施例,所述任务处理单元进一步用于,获取来自所述任务调度平台的任务执行结果,将所述任务执行结果展示给所述用户,所述任务执行结果为所述任务执行节点发送给所述任务调度平台的。
根据本申请一优选实施例,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算可读存储介质,所述计算机指令用于使所述计算机执行如以上所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:可在线上完成私有化改造工作,使得这些工作可以如“流水线”一样自动批量完成,无需人工线下手动完成,从而节省了人力成本,并提升了处理效率等;而且,私有化改造工作可以插件任务的形式被配置和执行,从而方便了管理、维护和使用等;另外,该方式可适用于各种私有化改造工作,具有广泛适用性;再有,现有的线下手动的方式全凭团队自觉,有的团队可能由于排期紧张等,对外声称进行了私有化改造工作,如进行了模型加密,但实际上根本没有做,从而导致私有化改造工作未按要求执行,而该方式则可有效避免这一问题的发生,从而避免了可能的安全隐患等;上述可选方式所具有的其它效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请所述私有化改造实现方法第一实施例的流程图;
图2为本申请所述任务调度平台针对任一插件任务的处理流程示意图;
图3为本申请所述私有化改造实现方法第二实施例的流程图;
图4为本申请所述私有化改造实现方法第三实施例的流程图;
图5为本申请所述持续集成平台、任务调度平台以及工作节点的功能及交互方式示意图;
图6为本申请所述私有化改造实现装置600实施例的组成结构示意图;
图7为本申请所述私有化改造实现装置700实施例的组成结构示意图;
图8为本申请所述私有化改造实现装置800实施例的组成结构示意图;
图9为根据本申请实施例所述方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请所述私有化改造实现方法第一实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,任务调度平台(dispatcher)获取持续集成平台(agile)在用户完成流水线(pipeline)配置并触发执行后发送来的插件(plugin)任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
在102中,任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点(worker)作为任务执行节点,将该插件任务发送给任务执行节点进行执行。
持续集成平台为一个插件市场,同时也是流水线的配置、触发中心等,插件提供方可在这里提供各类插件任务,插件使用方可在这里配置流水线,并选择配置需要的插件任务等。持续集成平台可提供一个可视化的界面,用户可基于可视化的界面配置流水线,在流水线上配置插件任务,修改插件任务的配置,触发流水线的执行等。
流水线中可包括至少一个插件任务,通常为多个,即流水线可为一组插件任务的集合,各插件任务可分别对应于不同的私有化改造工作,如模型加密。在进行配置时定义好流水线中各插件任务的执行顺序,相应地,后续可按照所定义的顺序自动执行各插件任务。
用户在持续集成平台上触发流水线执行后,各插件任务会被发送到任务调度平台。针对每一插件任务,任务调度平台可分别从候选工作节点中选出一个工作节点作为任务执行节点,将该插件任务发送给任务执行节点进行执行,并可获取任务执行节点返回的任务执行结果,通过持续集成平台展示给用户。另外,任务调度平台还可针对每一插件任务分别生成一条任务记录,并可根据任务的执行情况对任务记录进行更新等。
图2为本申请所述任务调度平台针对任一插件任务的处理流程示意图。如图2所示,包括以下具体实现方式。
在201中,获取插件任务x。
本实施例中,用插件任务x来表示任一插件任务。
在202中,生成一条任务记录,标记为“初始化”。
在203中,确定是否能够从候选工作节点中选出一个工作节点作为任务执行节点,若否,则执行204,若是,则执行205。
工作节点启动时,会向任务调度平台进行注册,并通知任务调度平台自己的IP地址、端口号及能够执行的插件任务的任务类型等。
相应地,任务调度平台可将已在任务调度平台上注册的工作节点作为候选工作节点,并可根据插件任务x的任务类型,从候选工作节点中选出一个能够执行该任务类型的工作节点作为任务执行节点。若能够执行该任务类型的工作节点数大于一,可按照预定策略选出其中的一个工作节点作为任务执行节点,所述预定策略可为随机选择或选择负载最小的工作节点等。
若候选工作节点中不存在能够执行插件任务x的任务类型的工作节点,那么则认为不能从候选工作节点中选出一个工作节点作为任务执行节点,之后可执行204。
在204中,更新任务记录,标记为“失败”,并通过持续集成平台通知用户插件任务x执行失败,结束流程。
可回调持续集成平台,通知持续集成平台用户插件任务x执行失败,用户可通过持续集成平台查看到相应信息。
在205中,将插件任务x发送给任务执行节点进行执行。
在206中,更新任务记录,标记为“执行中”。
在207中,获取任务执行节点返回的任务执行结果,确定任务是否执行成功,若是,则执行208,若否,则执行209。
任务执行结果可为任务执行成功或任务执行失败。
在208中,更新任务记录,标记为“成功”,并通过持续集成平台通知用户插件任务x执行成功,结束流程。
在209中,更新任务记录,标记为“失败”,并通过持续集成平台通知用户插件任务x执行失败,结束流程。
本实施例中所述的插件任务可包括:可执行及可链接文件格式(ELF,Executableand Linking Format)加固、模型加密、代码混淆、镜像制作及安全检查等。
图3为本申请所述私有化改造实现方法第二实施例的流程图。如图3所示,包括以下具体实现方式。
在301中,工作节点获取任务调度平台发送来的插件任务,该插件任务为任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的该插件任务后,从候选工作节点中选出该工作节点作为任务执行节点后发送给该工作节点的;流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
在302中,工作节点执行该插件任务。
工作节点是插件任务的真正执行者,可以是一个基于python实现的超文本传输协议(HTTP,Hyper Text Transfer Protocol)服务。
工作节点启动时,可向任务调度平台进行注册,并通知任务调度平台自己的IP地址、端口号及能够执行的插件任务的任务类型等,完成注册后任务调度平台才会将插件任务分发到工作节点上。
具体地,针对每一插件任务,任务调度平台可将已在任务调度平台上注册的工作节点作为候选工作节点,并从候选工作节点中选出一个能够执行该插件任务的任务类型的工作节点作为任务执行节点,并将该插件任务发送给任务执行节点进行执行。
工作节点接收到插件任务后,可创建任务临时工作空间,从仓库(repo)下载任务所需的文件,执行任务,将结果上传至仓库,并回调任务调度平台通知任务执行结果、执行日志等,之后清空任务临时工作空间。若任务执行过程中出现异常,可保留任务临时工作空间以方便排查错误。其中,仓库可为一个远程存储服务,并可提供数据的上传和下载等。
本实施例中所述的插件任务可包括:ELF加固、模型加密、代码混淆、镜像制作及安全检查等,以下分别对各插件任务的具体执行方式进行说明。
1)ELF加固
本任务可对可执行文件、动态链接库等ELF格式的文件进行加固。
在创建任务临时工作空间后,可首先确定需要下载的文件,并从仓库下载到任务临时工作空间中,如可根据插件任务对应的配置信息确定出需要下载的文件。之后可从下载的文件中确定出需要进行加固的文件,如可根据配置信息中指定的文件模式确定出需要进行加固的文件。之后可对需要进行加固的文件进行加固,如可利用现有的加固工具进行加固,若任务执行成功,可将加固后的文件上传至仓库,并可清空任务临时工作空间,另外还可将任务执行成功的任务执行结果通知给任务调度平台,若任务执行失败,可将任务执行失败的任务执行结果通知给任务调度平台。
2)模型加密
在创建任务临时工作空间后,可首先确定需要下载的文件(如模型文件),并从仓库下载到任务临时工作空间中,如可根据插件任务对应的配置信息确定出需要下载的文件。之后可从下载的文件中确定出需要进行加密的文件,如可根据配置信息中指定的文件模式确定出需要进行加密的文件。之后可生成密钥对,如可根据配置信息中的加密算法生成密钥对,密钥对中包含加密密钥和解密密钥,可利用加密密钥对需要进行加密的文件进行加密,若任务执行成功,可将加密后的文件及解密密钥上传至仓库,并可清空任务临时工作空间,另外还可将任务执行成功的任务执行结果通知给任务调度平台,若任务执行失败,可将任务执行失败的任务执行结果通知给任务调度平台。
3)代码混淆
在创建任务临时工作空间后,可首先确定需要下载的文件(如代码文件),并从仓库下载到任务临时工作空间中。之后可对下载的文件进行混淆编译,如可利用混淆编译器进行混淆编译,并可删除原文件,若任务执行成功,可将混淆后的文件上传至仓库,并可清空任务临时工作空间,另外还可将任务执行成功的任务执行结果通知给任务调度平台,若任务执行失败,可将任务执行失败的任务执行结果通知给任务调度平台。
4)镜像制作
本任务可将服务制作成docker镜像。
在创建任务临时工作空间后,可首先确定需要下载的文件,并从仓库下载到任务临时工作空间中。之后可为下载的文件构建出镜像,如可根据配置信息中的Dockerfile描述文件构建出镜像,若任务执行成功,可将镜像上传至仓库,并可清空任务临时工作空间,另外还可将任务执行成功的任务执行结果通知给任务调度平台,若任务执行失败,可将任务执行失败的任务执行结果通知给任务调度平台。
5)安全检查
本任务可检查服务是否满足了对外私有化的安全要求。
在创建任务临时工作空间后,可首先确定需要下载的文件,并从仓库下载到任务临时工作空间中。之后可对下载的文件进行安全检查,如可利用安全扫描工具进行安全检查,所述安全检查可包括检查代码文件是否混淆、模型文件是否加密等,若任务执行成功,可清空任务临时工作空间,另外还可将任务执行成功的任务执行结果通知给任务调度平台,若任务执行失败,可将任务执行失败的任务执行结果通知给任务调度平台。
图4为本申请所述私有化改造实现方法第三实施例的流程图。如图4所示,包括以下具体实现方式。
在401中,持续集成平台获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
在402中,持续集成平台确定用户触发流水线的执行,将各插件任务分别发送给任务调度平台,以便任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将该插件任务发送给任务执行节点进行执行。
持续集成平台可提供一个可视化的界面,用户可基于可视化的界面配置流水线,在流水线上配置插件任务,修改插件任务的配置,触发流水线的执行等。当插件任务触发时,会携带对应的配置信息提交到任务调度平台。当插件任务执行完成后,会通过任务调度平台将任务执行结果返回,这样,用户通过持续集成平台即可直观地查看到插件任务的执行结果等。也就是说,持续集成平台可获取来自任务调度平台的任务执行结果,并将任务执行结果展示给用户,所述任务执行结果为任务执行节点发送给任务调度平台的。
本实施例所述插件任务可包括:ELF加固、模型加密、代码混淆、镜像制作及安全检查等。
综合上述介绍,图5为本申请所述持续集成平台、任务调度平台以及工作节点的功能及交互方式示意图。如图5所示,持续集成平台可作为插件市场,并可提供流水线管理等功能,任务调度平台可提供任务管理及工作节点管理等功能,工作节点可提供插件任务执行等功能。任务调度平台可接收来自持续集成平台的插件任务,并可回调持续集成平台返回任务执行结果或称为流水线执行结果等,工作节点可在任务调度平台进行注册和注销,并可接收任务调度平台分发的插件任务,回调任务调度平台返回任务执行结果等。另外,工作节点还可与仓库进行交互,进行上传和下载等。具体实现请参照前述相关说明,不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
总之,采用本申请方法实施例所述方案,可在线上完成私有化改造工作,使得这些工作可以如“流水线”一样自动批量完成,无需人工线下手动完成,从而节省了人力成本,并提升了处理效率等;而且,私有化改造工作可以插件任务的形式被配置和执行,从而方便了管理、维护(如升级等)和使用等;另外,该方式可适用于各种私有化改造工作,具有广泛适用性;再有,现有的线下手动的方式全凭团队自觉,有的团队可能由于排期紧张等,对外声称进行了私有化改造工作,如进行了模型加密,但实际上根本没有做,从而导致私有化改造工作未按要求执行,而该方式则可有效避免这一问题的发生,从而避免了可能的安全隐患等。
以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。
图6为本申请所述私有化改造实现装置600实施例的组成结构示意图。所述私有化改造实现装置600可应用于任务调度平台中,如图6所示,包括:第一任务获取单元601以及任务调度单元602。
第一任务获取单元601,用于获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
任务调度单元602,用于针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,并将该插件任务发送给任务执行节点进行执行。
任务调度单元602还可获取任务执行节点返回的任务执行结果,通过持续集成平台展示给用户。
其中,候选工作节点可以是指已在任务调度平台上注册的工作节点。相应地,任务调度单元602可从候选工作节点中选出一个能够执行插件任务的任务类型的工作节点,将选出的工作节点作为任务执行节点。
本实施例中所述的插件任务可包括:ELF加固、模型加密、代码混淆、镜像制作及安全检查等。
图7为本申请所述私有化改造实现装置700实施例的组成结构示意图。所述私有化改造实现装置700可应用于工作节点中,如图7所示,包括:第二任务获取单元702以及任务执行单元703,另外还可进一步包括注册管理单元701。
第二任务获取单元702,用于获取任务调度平台发送来的插件任务,该插件任务为任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的该插件任务后,从候选工作节点中选出该工作节点作为任务执行节点后发送来的;流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
任务执行单元703,用于执行插件任务。
任务执行单元703还可向任务调度平台返回任务执行结果,以便任务调度平台通过持续集成平台将任务执行结果展示给用户。
注册管理单元701可在当工作节点启动时,向任务调度平台进行注册,并通知任务调度平台工作节点能够执行的插件任务的任务类型,以便任务调度平台针对任一插件任务,分别将已在任务调度平台上注册的工作节点作为候选工作节点,从候选工作节点中选出一个能够执行该插件任务的任务类型的工作节点作为任务执行节点。
当插件任务为ELF加固时,任务执行单元703可按照以下方式执行插件任务:创建任务临时工作空间,确定需要下载的文件,并从仓库下载到任务临时工作空间中,从下载的文件中确定出需要进行加固的文件,对需要进行加固的文件进行加固,将加固后的文件上传至仓库,清空任务临时工作空间。
当插件任务为模型加密时,任务执行单元703可按照以下方式执行插件任务:创建任务临时工作空间,确定需要下载的文件,并从仓库下载到任务临时工作空间中,从下载的文件中确定出需要进行加密的文件,生成密钥对,利用密钥对中的加密密钥对需要进行加密的文件进行加密,将加密后的文件及密钥对中的解密密钥上传至仓库,清空任务临时工作空间。
当插件任务为代码混淆时,任务执行单元703可按照以下方式执行插件任务:创建任务临时工作空间,确定需要下载的文件,并从仓库下载到任务临时工作空间中,对下载的文件进行混淆编译,将混淆后的文件上传至仓库,清空任务临时工作空间。
当插件任务为镜像制作时,任务执行单元703可按照以下方式执行插件任务:创建任务临时工作空间,确定需要下载的文件,并从仓库下载到任务临时工作空间中,为下载的文件构建出镜像,将镜像上传至仓库,清空任务临时工作空间。
当插件任务为安全检查时,任务执行单元703可按照以下方式执行插件任务:创建任务临时工作空间,确定需要下载的文件,并从仓库下载到任务临时工作空间中,对下载的文件进行安全检查,清空任务临时工作空间。
图8为本申请所述私有化改造实现装置800实施例的组成结构示意图。所述私有化改造实现装置800可应用于持续集成平台中,如图8所示,包括:配置获取单元801以及任务处理单元802。
配置获取单元801,用于获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作。
任务处理单元802,用于当确定用户触发流水线的执行时,将各插件任务分别发送给任务调度平台,以便任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将该插件任务发送给任务执行节点进行执行。
任务处理单元802还可获取来自任务调度平台的任务执行结果,将任务执行结果展示给用户,所述任务执行结果为任务执行节点发送给任务调度平台的。
本实施例中所述的插件任务可包括:ELF加固、模型加密、代码混淆、镜像制作及安全检查等。
图6-8所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用本申请装置实施例所述方案,可在线上完成私有化改造工作,使得这些工作可以如“流水线”一样自动批量完成,无需人工线下手动完成,从而节省了人力成本,并提升了处理效率等;而且,私有化改造工作可以插件任务的形式被配置和执行,从而方便了管理、维护和使用等;另外,该方式可适用于各种私有化改造工作,具有广泛适用性;再有,现有的线下手动的方式全凭团队自觉,有的团队可能由于排期紧张等,对外声称进行了私有化改造工作,如进行了模型加密,但实际上根本没有做,从而导致私有化改造工作未按要求执行,而该方式则可有效避免这一问题的发生,从而避免了可能的安全隐患等。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例所述方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器Y01、存储器Y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器Y01为例。
存储器Y02即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。
存储器Y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块(例如,附图X所示的xx模块X01、xx模块x02和xx模块x03)。处理器Y01通过运行存储在存储器Y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器Y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器Y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器Y02可选包括相对于处理器Y01远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置Y03和输出装置Y04。处理器Y01、存储器Y02、输入装置Y03和输出装置Y04可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置Y03可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置Y04可以包括显示设备、辅助照明装置和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器、发光二极管显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管或者液晶显示器监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网、广域网和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (28)

1.一种私有化改造实现方法,其特征在于,包括:
任务调度平台获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
2.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:所述任务调度平台获取所述任务执行节点返回的任务执行结果,通过所述持续集成平台展示给所述用户。
3.根据权利要求1所述的方法,其特征在于,
所述候选工作节点包括:已在所述任务调度平台上注册的工作节点;
所述从候选工作节点中选出一个工作节点作为任务执行节点包括:从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点,将选出的工作节点作为所述任务执行节点。
4.一种私有化改造实现方法,其特征在于,包括:
工作节点获取任务调度平台发送来的插件任务,所述插件任务为所述任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的所述插件任务后,从候选工作节点中选出所述工作节点作为任务执行节点后发送给所述工作节点的;所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述工作节点执行所述插件任务。
5.根据权利要求4所述的方法,其特征在于,
该方法进一步包括:所述工作节点向所述任务调度平台返回任务执行结果,以便所述任务调度平台通过所述持续集成平台将所述任务执行结果展示给所述用户。
6.根据权利要求4所述的方法,其特征在于,
该方法进一步包括:所述工作节点启动时,向所述任务调度平台进行注册,并通知所述任务调度平台自己能够执行的插件任务的任务类型,以便所述任务调度平台针对任一插件任务,分别将已在所述任务调度平台上注册的工作节点作为所述候选工作节点,从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点作为所述任务执行节点。
7.根据权利要求4所述的方法,其特征在于,
当所述插件任务为所述ELF加固时,所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;从下载的文件中确定出需要进行加固的文件;对所述需要进行加固的文件进行加固,将加固后的文件上传至所述仓库;清空所述任务临时工作空间。
8.根据权利要求4所述的方法,其特征在于,
当所述插件任务为所述模型加密时,所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;从下载的文件中确定出需要进行加密的文件;生成密钥对,利用所述密钥对中的加密密钥对所述需要进行加密的文件进行加密,将加密后的文件及所述密钥对中的解密密钥上传至所述仓库;清空所述任务临时工作空间。
9.根据权利要求4所述的方法,其特征在于,
当所述插件任务为所述代码混淆时,所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;对下载的文件进行混淆编译,将混淆后的文件上传至所述仓库;清空所述任务临时工作空间。
10.根据权利要求4所述的方法,其特征在于,
当所述插件任务为所述镜像制作时,所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;为下载的文件构建出镜像,将镜像上传至所述仓库;清空所述任务临时工作空间。
11.根据权利要求4所述的方法,其特征在于,
当所述插件任务为所述安全检查时,所述工作节点执行所述插件任务包括:创建任务临时工作空间;确定需要下载的文件,并从仓库下载到所述任务临时工作空间中;对下载的文件进行安全检查;清空所述任务临时工作空间。
12.一种私有化改造实现方法,其特征在于,包括:
持续集成平台获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述持续集成平台确定所述用户触发所述流水线的执行,将各插件任务分别发送给任务调度平台,以便所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
13.根据权利要求12所述的方法,其特征在于,
该方法进一步包括:所述持续集成平台获取来自所述任务调度平台的任务执行结果,将所述任务执行结果展示给所述用户,所述任务执行结果为所述任务执行节点发送给所述任务调度平台的。
14.一种私有化改造实现装置,其特征在于,所述私有化改造实现装置应用于任务调度平台中,包括:第一任务获取单元以及任务调度单元;
所述第一任务获取单元,用于获取持续集成平台在用户完成流水线配置并触发执行后发送来的插件任务,所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述任务调度单元,用于针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,并将所述插件任务发送给所述任务执行节点进行执行。
15.根据权利要求14所述的装置,其特征在于,
所述任务调度单元进一步用于,获取所述任务执行节点返回的任务执行结果,通过所述持续集成平台展示给所述用户。
16.根据权利要求14所述的装置,其特征在于,
所述候选工作节点包括:已在所述任务调度平台上注册的工作节点;
所述任务调度单元从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点,将选出的工作节点作为所述任务执行节点。
17.一种私有化改造实现装置,其特征在于,所述私有化改造实现装置应用于工作节点中,包括:第二任务获取单元以及任务执行单元;
所述第二任务获取单元,用于获取任务调度平台发送来的插件任务,所述插件任务为所述任务调度平台获取到持续集成平台在用户完成流水线配置并触发执行后发送来的所述插件任务后,从候选工作节点中选出所述工作节点作为任务执行节点后发送来的;所述流水线中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述任务执行单元,用于执行所述插件任务。
18.根据权利要求17所述的装置,其特征在于,
所述任务执行单元进一步用于,向所述任务调度平台返回任务执行结果,以便所述任务调度平台通过所述持续集成平台将所述任务执行结果展示给所述用户。
19.根据权利要求17所述的装置,其特征在于,
所述装置中进一步包括:注册管理单元,用于当所述工作节点启动时,向所述任务调度平台进行注册,并通知所述任务调度平台所述工作节点能够执行的插件任务的任务类型,以便所述任务调度平台针对任一插件任务,分别将已在所述任务调度平台上注册的工作节点作为所述候选工作节点,从所述候选工作节点中选出一个能够执行所述插件任务的任务类型的工作节点作为所述任务执行节点。
20.根据权利要求17所述的装置,其特征在于,
当所述插件任务为所述ELF加固时,所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,从下载的文件中确定出需要进行加固的文件,对所述需要进行加固的文件进行加固,将加固后的文件上传至所述仓库,清空所述任务临时工作空间。
21.根据权利要求17所述的装置,其特征在于,
当所述插件任务为所述模型加密时,所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,从下载的文件中确定出需要进行加密的文件,生成密钥对,利用所述密钥对中的加密密钥对所述需要进行加密的文件进行加密,将加密后的文件及所述密钥对中的解密密钥上传至所述仓库,清空所述任务临时工作空间。
22.根据权利要求17所述的装置,其特征在于,
当所述插件任务为所述代码混淆时,所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,对下载的文件进行混淆编译,将混淆后的文件上传至所述仓库,清空所述任务临时工作空间。
23.根据权利要求17所述的装置,其特征在于,
当所述插件任务为所述镜像制作时,所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,为下载的文件构建出镜像,将镜像上传至所述仓库,清空所述任务临时工作空间。
24.根据权利要求17所述的装置,其特征在于,
当所述插件任务为所述安全检查时,所述任务执行单元创建任务临时工作空间,确定需要下载的文件,并从仓库下载到所述任务临时工作空间中,对下载的文件进行安全检查,清空所述任务临时工作空间。
25.一种私有化改造实现装置,其特征在于,所述私有化改造实现装置应用于持续集成平台中,包括:配置获取单元以及任务处理单元;
所述配置获取单元,用于获取用户所作的流水线配置,其中包含至少一个插件任务,各插件任务分别对应于不同的私有化改造工作,其中,所述插件任务包括:可执行及可链接文件格式ELF加固、模型加密、代码混淆、镜像制作及安全检查;
所述任务处理单元,用于当确定所述用户触发所述流水线的执行时,将各插件任务分别发送给任务调度平台,以便所述任务调度平台针对任一插件任务,分别从候选工作节点中选出一个工作节点作为任务执行节点,将所述插件任务发送给所述任务执行节点进行执行。
26.根据权利要求25所述的装置,其特征在于,
所述任务处理单元进一步用于,获取来自所述任务调度平台的任务执行结果,将所述任务执行结果展示给所述用户,所述任务执行结果为所述任务执行节点发送给所述任务调度平台的。
27.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的方法。
CN201911335923.1A 2019-12-23 2019-12-23 私有化改造实现方法、装置、电子设备及存储介质 Active CN111124646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911335923.1A CN111124646B (zh) 2019-12-23 2019-12-23 私有化改造实现方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911335923.1A CN111124646B (zh) 2019-12-23 2019-12-23 私有化改造实现方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111124646A CN111124646A (zh) 2020-05-08
CN111124646B true CN111124646B (zh) 2023-03-14

Family

ID=70501148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911335923.1A Active CN111124646B (zh) 2019-12-23 2019-12-23 私有化改造实现方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111124646B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610776A (zh) * 2015-09-24 2016-05-25 中科信息安全共性技术国家工程研究中心有限公司 一种针对云计算IaaS层高危安全漏洞检测方法和系统
CN107944958A (zh) * 2017-11-22 2018-04-20 北京新弘宝科技有限公司 一种支持多商家私公有云和私有化协同部署模式的点餐系统
CN108984284A (zh) * 2018-06-26 2018-12-11 杭州比智科技有限公司 基于离线计算平台的dag任务调度方法及装置
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109308257A (zh) * 2018-08-13 2019-02-05 北京奇虎科技有限公司 测试任务执行方法、装置、电子设备及计算机存储介质
CN109582315A (zh) * 2018-10-26 2019-04-05 北京百度网讯科技有限公司 服务私有化方法、装置、计算机设备及存储介质
CN110222517A (zh) * 2019-05-13 2019-09-10 深圳电通信息技术有限公司 一种按需收费的云软件管理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104672B2 (en) * 2011-02-25 2015-08-11 International Business Machines Corporation Virtual security zones for data processing environments
US20150180869A1 (en) * 2013-12-23 2015-06-25 Samsung Electronics Company, Ltd. Cloud-based scalable authentication for electronic devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610776A (zh) * 2015-09-24 2016-05-25 中科信息安全共性技术国家工程研究中心有限公司 一种针对云计算IaaS层高危安全漏洞检测方法和系统
CN107944958A (zh) * 2017-11-22 2018-04-20 北京新弘宝科技有限公司 一种支持多商家私公有云和私有化协同部署模式的点餐系统
CN108984284A (zh) * 2018-06-26 2018-12-11 杭州比智科技有限公司 基于离线计算平台的dag任务调度方法及装置
CN109308257A (zh) * 2018-08-13 2019-02-05 北京奇虎科技有限公司 测试任务执行方法、装置、电子设备及计算机存储介质
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109582315A (zh) * 2018-10-26 2019-04-05 北京百度网讯科技有限公司 服务私有化方法、装置、计算机设备及存储介质
CN110222517A (zh) * 2019-05-13 2019-09-10 深圳电通信息技术有限公司 一种按需收费的云软件管理方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Framework for Controlling and Managing Hybrid Cloud Service Integration;Gerd Breiter 等;《2013 IEEE International Conference on Cloud Engineering (IC2E)》;217-224 *
Ruey-Kai Sheu 等.A plug-and-work tool for cloud system reconfiguration with single command.《SAC "16: Proceedings of the 31st Annual ACM Symposium on Applied Computing》.2016,477-479. *
基于Docker私有云的通讯协作平台的设计与实现;彭楠;《中国优秀硕士学位论文全文数据库 信息科技辑》(第02(2018)期);I138-907 *
基于私有云数据处理关键技术的研究与应用;李治勃;《中国优秀硕士学位论文全文数据库 信息科技辑》(第03(2015)期);I139-176 *

Also Published As

Publication number Publication date
CN111124646A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
US10805407B2 (en) Supporting high availability for orchestrated services
CA2978089C (en) Distributed over the air programming
CN111080243A (zh) 业务处理的方法、装置、系统、电子设备及存储介质
US20200012480A1 (en) Method and system for implementing a cloud infrastructure visualizer and generator
CN102651700A (zh) 管理测试自动化
AU2017236024B2 (en) Flow engine for building automated flows within a cloud based development platform
US11474842B2 (en) Integration application creator design
CN110765137B (zh) 电子证照处理方法、装置、设备、平台和介质
US20220407795A1 (en) Centralized, scalable, resource monitoring system
US11265693B2 (en) System of actions for IoT devices
CN113064630B (zh) 移动端app自动打包方法、系统、电子设备及存储介质
US20140165188A1 (en) Using data analytics and crowdsourcing to determine roles for a computer system
CN111885114B (zh) 网关中的应用程序接口模块的升级方法、设备及存储介质
CN111290768A (zh) 一种容器化应用系统的更新方法、装置、设备和介质
CN109828830B (zh) 用于管理容器的方法和装置
CN113360160A (zh) 部署应用的方法、装置、电子设备和存储介质
CN111124646B (zh) 私有化改造实现方法、装置、电子设备及存储介质
CN113296828A (zh) 一种发布应用的方法、服务器和系统
CN113132304B (zh) 一种权益服务处理方法、装置、电子设备和存储介质
US8806434B2 (en) Dynamically configuring an integrated development environment
US10127293B2 (en) Collaborative data intelligence between data warehouse models and big data stores
CN112099954A (zh) 用于部署、下载资源的方法、装置、设备以及存储介质
US9684506B2 (en) Work-item expiration in software configuration management environment
CN111752587B (zh) 小程序的批量处理方法、装置、电子设备以及可读存储介质
US10977210B2 (en) Methods for implementing an administration and testing tool

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
GR01 Patent grant
GR01 Patent grant