CN110069278B - 一种自动化分布式多任务打包方法及系统 - Google Patents

一种自动化分布式多任务打包方法及系统 Download PDF

Info

Publication number
CN110069278B
CN110069278B CN201910227858.4A CN201910227858A CN110069278B CN 110069278 B CN110069278 B CN 110069278B CN 201910227858 A CN201910227858 A CN 201910227858A CN 110069278 B CN110069278 B CN 110069278B
Authority
CN
China
Prior art keywords
order receiving
packing
packaging
task
configuration
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
CN201910227858.4A
Other languages
English (en)
Other versions
CN110069278A (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.)
Baobao Bus Co ltd
Original Assignee
Baobao Bus 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 Baobao Bus Co ltd filed Critical Baobao Bus Co ltd
Priority to CN201910227858.4A priority Critical patent/CN110069278B/zh
Publication of CN110069278A publication Critical patent/CN110069278A/zh
Application granted granted Critical
Publication of CN110069278B publication Critical patent/CN110069278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种自动化分布式多任务打包方法,需提供下单服务器以及复数个接单服务器,接单服务器分别与下单服务器通过网络连接;预先在下单服务器创建配置中心;下单服务器从产品后台获取待打包的产品信息,配置生成待处理的打包任务信息JSON文件;通过接单服务器从下单服务器请求打包任务,下单服务器获取接单服务器的配置文件与配置中心的对应配置信息进行比对,判断接单服务器是否符合打包要求,若是,则下发对应的打包任务给接单服务器打包,否则,拒绝当前请求;接单服务器返回执行日志给下单服务器,结果信息存储到数据库,并在页面上进行展示。本发明还提供一种自动化分布式多任务打包系统,提高打包效率的同时节约了人工和生产环境资源。

Description

一种自动化分布式多任务打包方法及系统
技术领域
本发明涉及一种自动化分布式多任务打包方法及系统。
背景技术
近年来,随着智能手机、平板电脑等智能终端在人群中普遍应用,各类应用程序应运而生,应用程序一般先通过软件公司开发,再由开发好的应用程序以安装包的形式供用户下载安装使用。现有的应用APP打包过程较为繁琐,特别在需要进行大批量、快速、一次性打出应用APP安装包的情况下,若单纯依靠人力一个一个实现整个过程,就会耗费大量的人工及生产环境的资源,成本高,效率低。
发明内容
本发明要解决的技术问题之一,在于提供一种自动化分布式多任务打包方法,可实现自动化打包,提高打包效率的同时节约了人工和生产环境资源,以实现释放劳动力,成本最小化,达到最高效的产出。
本发明要解决的技术问题之一是这样实现的:一种自动化分布式多任务打包方法,需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述方法包括如下步骤:
步骤1、预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件,所述渠道用于包括与市场相关的插件及相关配置信息;
步骤2、通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台、渠道、需要的插件和打包分支信息,生成待处理的打包任务信息JSON文件;
步骤3、通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包,否则,拒绝所述接单服务器的当前任务请求;
步骤4、接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单设备将结果信息存储到数据库,并将结果在页面上进行展示。
进一步的,所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定。
进一步的,所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
进一步的,所述步骤3中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满、当前接单服务器的类型是否与产品的类型匹配、是否符合对应的打包系统类型、是否满足打包黑白名单策略、是否需要立即打包,只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则结束当前设备的打包流程。
进一步的,所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程来完成打包任务的。
本发明要解决的技术问题之二,在于提供一种自动化分布式多任务打包系统,可实现自动化打包,提高打包效率的同时节约了人工和生产环境资源,以实现释放劳动力,成本最小化,达到最高效的产出。
本发明要解决的技术问题之二是这样实现的:一种自动化分布式多任务打包系统,需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述系统包括:
配置中心模块,用于预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件,所述渠道用于包括与市场相关的插件及相关配置信息;
打包任务生成模块,用于通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台、渠道、需要的插件和打包分支信息,生成待处理的打包任务信息JSON文件;
打包模块,用于通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包,否则,拒绝所述接单服务器的当前任务请求;以及
反馈模块,用于接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单设备将结果信息存储到数据库,并将结果在页面上进行展示。
进一步的,所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定。
进一步的,所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
进一步的,所述打包模块中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满、当前接单服务器的类型是否与产品的类型匹配、是否符合对应的打包系统类型、是否满足打包黑白名单策略、是否需要立即打包,只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则结束当前设备的打包流程。
进一步的,所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程来完成打包任务的。
本发明具有如下优点:通过设置接单策略统一管理各个接单服务器,分布式打包合理分配到各个设备资源,且可实现批量出包,大幅提升了打包效率;以及通过预先设置配置中心,将需要打包的部分功能以插件配置方式添加到产品中,无需人为增加代码等操作,减少开发负担,缩短整个产品生产周期。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明系统框图。
图3为本发明一实施例中配置中心的接单服务器配置管理界面示意图。
图4为本发明一实施例中下单服务器生成打包任务界面示意图。
具体实施方式
如图1、图3和图4所示,本发明的一种自动化分布式多任务打包方法,需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述方法包括如下步骤:
步骤1、预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件和其他相关配置,所述渠道用于包括与市场相关的插件(比如百度渠道,则其对应的插件包括百度logo以及相关信息等)及相关配置信息(包括名称、标识号、语言等);
步骤2、通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台(比如安卓平台和苹果平台)、渠道(比如国外和国内商家)、需要的插件和打包分支信息(包括2D产品的功能分支信息,以及3D产品的功能分支信息和Unity分支信息),生成待处理的打包任务信息JSON文件;通过勾选预先定义好的渠道和打包分支等,直接将渠道和打包分支中的功能分支对应的插件添加进行打包,由于渠道和功能分支都可以由插件组成,因此在渠道有差异时,可直接对原有相似渠道中的插件进行添加或删除部分插件即可得到新的配置内容,无需重复去开发不同的渠道配置代码,只需要简单的勾选操作即可,减少人工开发成本,可实现快速打包。
步骤3、通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包(所述接单服务器通过获取对应的JSON文件进行打包),否则,拒绝所述接单服务器的当前任务请求;其中,所述接单服务器的配置文件通过网页进行设置并存入数据库中,供接单服务器和接单服务器下载,无需登录各个接单服务器去逐一设置。
步骤4、接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单设备将结果信息存储到数据库,并将结果在页面上进行展示。
其中,所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定,高级管理员可进行预约定时打包,可对打包任务指定期望的接单服务器进行优先打包的权限等,高级管理员可对每个用户的增删改查和执行的权限进行指定。
在一较佳实施例中,所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品,其中打包白名单或打包黑名单可择一选择一种进行配置,也可以不进行设置,打包黑白名单策略对高级管理员手动指定接单服务器时没有限制作用;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
在一较佳实施例中,所述步骤3中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满、当前接单服务器的类型是否与产品的类型匹配、是否符合对应的打包系统类型、是否满足打包黑白名单策略、是否需要立即打包,只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则结束当前设备的打包流程(即当前任务下,当前接单服务器的打包流程结束,不影响其他接单服务器继续请求此任务)。其中,若当前用户预先配置期望的接单服务器,则上述判断条件中还需要判断当前接单服务器是否为期望的接单服务器;
在一较佳实施例中,所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程(包括后续的根据获取到的信息来修改模板、拷贝资源等等操作)来完成打包任务的。
如图2、图3和图4所示,本发明的一种自动化分布式多任务打包系统,需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述系统包括:
配置中心模块,用于预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件和其他相关配置,所述渠道用于包括与市场相关的插件(比如百度渠道,则其对应的插件包括百度logo以及相关信息等)及相关配置信息(包括名称、标识号、语言等);
打包任务生成模块,用于通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台(比如安卓平台和苹果平台)、渠道(比如国外和国内商家,如百度、小米等)、需要的插件和打包分支信息(包括2D产品的功能分支信息,以及3D产品的功能分支信息和Unity分支信息),生成待处理的打包任务信息JSON文件;通过勾选预先定义好的渠道和打包分支等,直接将渠道和打包分支中的功能分支对应的插件添加进行打包,由于渠道和功能分支都可以由插件组成,因此在渠道有差异时,可直接对原有相似渠道中的插件进行添加或删除部分插件即可得到新的配置内容,无需重复去开发不同的渠道配置代码,只需要简单的勾选操作即可,减少人工开发成本,可实现快速打包;
打包模块,用于通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包(所述接单服务器通过获取对应的JSON文件进行打包),否则,拒绝所述接单服务器的当前任务请求;其中,所述接单服务器的配置文件通过网页进行设置并存入数据库中,供接单服务器和接单服务器下载,无需登录各个接单服务器去逐一设置;以及
反馈模块,用于接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单设备将结果信息存储到数据库,并将结果在页面上进行展示。
其中,所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定,高级管理员可进行预约定时打包,可对打包任务指定期望的接单服务器进行优先打包的权限等,高级管理员可对每个用户的增删改查和执行的权限进行指定。
在一较佳实施例中,所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品,其中打包白名单或打包黑名单可择一选择一种进行配置,也可以不进行设置,打包黑白名单策略对高级管理员手动指定接单服务器时没有限制作用;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
在一较佳实施例中,所述打包模块中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其(即当前接单服务器)配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满(比如Android打包任务是否未达到上限、iOS打包任务是否未达到上限)、当前接单服务器的类型是否与产品的类型匹配(比如2D设备是否匹配的是2D产品,3D设备是否匹配的是3D产品)、是否符合对应的打包系统类型(比如是否为对应的Android系统或iOS系统)、是否满足打包黑白名单策略(若设置了打包白名单,则判断产品是否在打包白名单内,若设置了打包黑名单,则判断产品是否不再打包黑名单内)、是否需要立即打包(比如设置了预约定时打包的,是否到时间可以立即执行打包),只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则代表当前接单服务器获取该打包任务失败,结束当前设备的打包流程(即当前任务下,当前接单服务器的打包流程结束,不影响其他接单服务器继续请求此任务)。其中,若当前用户预先配置期望的接单服务器,则上述判断条件中还需要增加判断当前接单服务器是否为期望的接单服务器这一条件。
在一较佳实施例中,所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程(包括后续的根据获取到的信息来修改模板、拷贝资源等等操作)来完成打包任务的。
本发明通过提供一套自动化打包流程和系统,可实现大批量、快速、一次性打出多种应用APP安装包,节约人工和生产环境资源,释放劳动力、成本最小化及最高效的产出。本发明通过设置接单策略统一管理各个接单服务器,实现分布式打包合理分配到各个设备资源,无需人为去判断合适的设备,提高了打包效率。且通过预先设置配置中心,将需要打包的部分功能以插件配置方式自动配置添加到产品中,无需人为去重复代码等操作,减少开发负担,缩短整个产品生产周期,通过配置方式进行打包也可以实现批量出包,大幅提升了打包效率;本发明可采用B/S结构,配置中心为browser,作为用户使用的系统界面,也就是B,服务器是server,就是S,具体执行打包操作是放到服务器上,就是用户无需配置电脑环境即可实现控制任务运行的目的,用户操作简便。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (8)

1.一种自动化分布式多任务打包方法,其特征在于:需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述方法包括如下步骤:
步骤1、预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件,所述渠道用于包括与市场相关的插件及相关配置信息;
步骤2、通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台、渠道、需要的插件和打包分支信息,生成待处理的打包任务信息JSON文件;
步骤3、通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包,否则,拒绝所述接单服务器的当前任务请求;
步骤4、接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单服务器将结果信息存储到数据库,并将结果在页面上进行展示;
所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
2.根据权利要求1所述的一种自动化分布式多任务打包方法,其特征在于:所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定。
3.根据权利要求1所述的一种自动化分布式多任务打包方法,其特征在于:所述步骤3中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满、当前接单服务器的类型是否与产品的类型匹配、是否符合对应的打包系统类型、是否满足打包黑白名单策略、是否需要立即打包,只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则结束当前设备的打包流程。
4.根据权利要求1所述的一种自动化分布式多任务打包方法,其特征在于:所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程来完成打包任务的。
5.一种自动化分布式多任务打包系统,其特征在于:需提供下单服务器以及复数个接单服务器,复数个所述接单服务器分别与下单服务器通过网络连接,所述系统包括:
配置中心模块,用于预先在下单服务器创建配置中心,所述配置中心包括定义不同的渠道、不同的功能分支,以及不同接单服务器的设备基本信息和设备接单策略,其中,所述功能分支包括功能插件,所述渠道用于包括与市场相关的插件及相关配置信息;
打包任务生成模块,用于通过所述下单服务器从产品后台自动获取待打包的产品信息,根据产品需求进行勾选打包配置,包括配置待打包产品的基础信息、终端的操作系统平台、渠道、需要的插件和打包分支信息,生成待处理的打包任务信息JSON文件;
打包模块,用于通过每一所述接单服务器每间隔一定时间从下单服务器请求打包任务,所述下单服务器获取所述接单服务器的配置文件与配置中心的对应配置信息进行比对,判断所述接单服务器是否符合打包要求,若是,则下发对应的打包任务给所述接单服务器进行打包,否则,拒绝所述接单服务器的当前任务请求;以及
反馈模块,用于接单服务器在任务执行过程中和执行完毕时均返回执行日志给下单服务器,由所述下单服务器将结果信息存储到数据库,并将结果在页面上进行展示;
所述接单服务器的设备基本信息包括设备名称、设备标识、主机地址、端口号、登录账号和密码;
所述接单策略包括设备运行策略、打包黑白名单策略、缓存释放策略、任务量控制以及设备启用控制;
所述设备运行策略包括打包策略、设备类型以及对应的开放对象,所述打包策略包括“仅打iOS包”、“仅打Android包”、“先打iOS包,空闲时再打Android包”、“先打Android包,空闲时再打iOS包”和“不区分系统平台,按时间先后顺序打包”,所述设备类型包括2D设备或3D设备,所述2D设备仅用于打包2D产品,所述3D设备仅用于3D产品,所述开放对象为对所述接单服务器有使用权限的用户组;其中,2D产品和3D产品的区别包括插件、打包方式、引擎以及证书不同;
所述打包黑白名单策略中包括打包白名单或打包黑名单,所述打包白名单中记录了对应接单服务器允许打包的产品,所述打包黑名单中记录了对应接单服务器不允许打包的产品;
所述缓存释放策略通过设置定时清除一定天数的缓存实现对磁盘空间的释放;
所述任务量控制包括预先指定每一接单服务器的同时打包进程数,决定当前接单服务器能够同时执行打包任务的数量,使得超出的数量进入等待队列;
所述设备启用控制包括设置接单服务器的打包功能开启或关闭。
6.根据权利要求5所述的一种自动化分布式多任务打包系统,其特征在于:所述配置中心还提供给高级管理员相应的配置权限,所述配置权限包括配置用户的增删改执行权限、配置预约打包时间、配置接单服务器策略以及配置期望接单服务器,通过配置预约打包时间中的任务下发时间控制打包任务的执行时间,通过所述接单策略分配对应的打包任务,通过配置期望的接单服务器实现对接单服务器的指定。
7.根据权利要求5所述的一种自动化分布式多任务打包系统,其特征在于:所述打包模块中的“判断所述接单服务器是否符合打包要求”具体为:
依次判断当前接单服务器的打包功能是否开启、其配置文件与配置中心的配置信息是否匹配、当前用户是否具备对应的打包权限、当前接单服务器是否开启、当前接单服务器的打包进程是否未被占满、当前接单服务器的类型是否与产品的类型匹配、是否符合对应的打包系统类型、是否满足打包黑白名单策略、是否需要立即打包,只有上述所有判断条件均为是时,才能获取对应的打包任务进行打包,否则只要存在一个判断条件为否,则结束当前设备的打包流程。
8.根据权利要求5所述的一种自动化分布式多任务打包系统,其特征在于:所述接单服务器执行打包任务时,根据产品的类型为2D或3D去执行对应的打包方式,其中,2D产品的打包方式是通过更新预先提供的Android/iOS模板、Lua游戏框架以及游戏脚本,再执行预先设定的打包处理流程来完成打包任务的。
CN201910227858.4A 2019-03-25 2019-03-25 一种自动化分布式多任务打包方法及系统 Active CN110069278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910227858.4A CN110069278B (zh) 2019-03-25 2019-03-25 一种自动化分布式多任务打包方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910227858.4A CN110069278B (zh) 2019-03-25 2019-03-25 一种自动化分布式多任务打包方法及系统

Publications (2)

Publication Number Publication Date
CN110069278A CN110069278A (zh) 2019-07-30
CN110069278B true CN110069278B (zh) 2022-07-12

Family

ID=67366632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910227858.4A Active CN110069278B (zh) 2019-03-25 2019-03-25 一种自动化分布式多任务打包方法及系统

Country Status (1)

Country Link
CN (1) CN110069278B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078278B (zh) * 2019-12-21 2020-09-08 众能联合数字技术有限公司 支持Flutter及iOS混编工程的自动化打包方法
CN111796861A (zh) * 2020-06-28 2020-10-20 上海米哈游天命科技有限公司 一种打包方法、装置、电子设备及存储介质
CN114168115B (zh) * 2020-09-10 2022-11-08 荣耀终端有限公司 通信系统、应用下载方法及设备
CN112181431A (zh) * 2020-09-30 2021-01-05 完美世界(北京)软件科技发展有限公司 一种分布式数据打包方法及系统、存储介质、计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491133A (zh) * 2013-08-27 2014-01-01 兴唐通信科技有限公司 一种基于Erlang的分布式快速开发系统及方法
CN104267988A (zh) * 2014-09-26 2015-01-07 北京飞流九天科技有限公司 用于对移动应用进行打包的系统和方法
CN107301074A (zh) * 2017-06-26 2017-10-27 中广热点云科技有限公司 在服务器上自动打包apk安装包的方法及系统
US10025574B1 (en) * 2013-09-05 2018-07-17 Google Llc Packaged installation file based on automatic detection of device capabilities

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491133A (zh) * 2013-08-27 2014-01-01 兴唐通信科技有限公司 一种基于Erlang的分布式快速开发系统及方法
US10025574B1 (en) * 2013-09-05 2018-07-17 Google Llc Packaged installation file based on automatic detection of device capabilities
CN104267988A (zh) * 2014-09-26 2015-01-07 北京飞流九天科技有限公司 用于对移动应用进行打包的系统和方法
CN107301074A (zh) * 2017-06-26 2017-10-27 中广热点云科技有限公司 在服务器上自动打包apk安装包的方法及系统

Also Published As

Publication number Publication date
CN110069278A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN110069278B (zh) 一种自动化分布式多任务打包方法及系统
CN110519115B (zh) 网关接口测试方法、终端设备、存储介质及装置
CN106713004B (zh) 一种路由器适配方法及系统
CN106406844B (zh) 实现通讯交互平台公众号菜单的方法和装置
CN103997452A (zh) 多平台之间的信息分享方法及装置
CN110430280B (zh) 账号自动登录方法及系统、存储介质及云桌面服务器
CN108021400B (zh) 数据处理方法及装置、计算机存储介质及设备
CN110996339B (zh) 一种eSIM资源管理平台和管理方法
CN110012455B (zh) 一种账号信息的管理方法、装置及电子设备
CN111475788A (zh) 跨境电商平台账号注册方法、装置、终端及存储介质
CN111159019A (zh) 一种应用程序的测试方法、测试控制终端以及测试终端
CN113312064A (zh) 物理机的安装配置方法、装置以及计算机可读介质
CN112738046A (zh) 一种一键登录的方法、终端及系统服务器
CN112035163A (zh) 软件开发包配置方法、设备和存储介质
CN108804120B (zh) 一种页面构建方法、装置、设备及存储介质
CN112235124B (zh) 一种皮基站配置方法、装置、存储介质和电子装置
CN110673970B (zh) 一种基于web应用的跨进程调用系统及方法
WO2017219778A1 (zh) 路由器业务配置方法及路由器、存储介质
CN106603701A (zh) 基于长连接平台下发消息的方法及装置
CN114253441B (zh) 目标功能的启用方法及装置、存储介质、电子装置
CN113746932B (zh) 网络请求合并方法、装置及电子装置、计算机程序产品
WO2015188535A1 (zh) 一种插入工具条的方法及装置
CN115686771A (zh) 小程序版本发布方法、系统、终端设备以及存储介质
CN115190057A (zh) 自动化测试方法、装置以及电子设备
CN113934552A (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
CB02 Change of applicant information

Address after: 350028 Jinshan Juyuan Industrial Park project a, No.18, West Third Ring Road, Jianxin Town, Cangshan District, Fuzhou City, Fujian Province

Applicant after: Baobao Bus Co.,Ltd.

Address before: Floor 15, building 3, area F, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province 350000

Applicant before: FUZHOU ZHIYONG INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant