《一种发布APK文件的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种发布APK文件的方法和装置.pdf(15页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104035780 A (43)申请公布日 2014.09.10 CN 104035780 A (21)申请号 201410298849.1 (22)申请日 2014.06.26 G06F 9/44(2006.01) (71)申请人 北京京东尚科信息技术有限公司 地址 100080 北京市海淀区杏石口路 65 号 西杉创意园西区11C楼东段1-4层西段 1-4 层 申请人 北京京东世纪贸易有限公司 (72)发明人 刘浪 者文明 (74)专利代理机构 北京德琦知识产权代理有限 公司 11018 代理人 阎敏 宋志强 (54) 发明名称 一种发布 APK 文件的方法和装置。
2、 (57) 摘要 本发明提出一种发布安卓安装包 (APK) 文件 的方法和装置, 其中方法包括 : 向各个发布平台 发送 APP 的提供商信息 ; 对于上传的 APK 文件, 接 收并保存该 APK 文件的描述信息 ; 针对所述 APK 文件创建作业调度任务(JST), 并创建该JST的子 工作, 即发布工作 ; 当监控到发布平台对所述 APP 的提供商信息的审核通过时, 接收发布平台给出 的授权码(Token), 所述Token用于与发布平台的 服务器进行通信 ; 根据APP授权信息装载所述JST 的调度明细, 采用所述调度明细调度执行所述发 布工作 ; 其中, 所述 APP 授权信息包括 。
3、: APP 的提 供商信息、 各个发布平台的 Token 及 Form 表单属 性模板。 本发明能够实现自动监控审核是否通过, 并在审核通过后自动执行 APK 文件的发布。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图4页 (10)申请公布号 CN 104035780 A CN 104035780 A 1/2 页 2 1. 一种发布安卓安装包 APK 文件的方法, 其特征在于, 所述方法包括 : 向各个发布平台发送 APP 的提供商信息 ; 对于上传的 APK 文件, 接收。
4、并保存该 APK 文件的描述信息 ; 针对所述 APK 文件创建作业调度任务 JST, 并创建该 JST 的子工作, 即发布工作 ; 当监控到发布平台对所述 APP 的提供商信息的审核通过时, 接收发布平台给出的授权 码 Token, 所述 Token 用于与发布平台的服务器进行通信 ; 根据 APP 授权信息装载所述 JST 的调度明细, 采用所述调度明细调度执行所述发布工 作 ; 其中, 所述 APP 授权信息包括 : APP 的提供商信息、 各个发布平台的 Token 及 Form 表单 属性模板。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述针对 APK 文件创建 JST 。
5、之后, 进一步 包括 : 针对各个发布平台创建该 JST 的多个子工作, 即统计工作 ; 每个统计工作负责统计所 述 APK 文件在对应发布平台的下载量 ; 采用所述调度明细调度执行所述统计工作。 3.根据权利要求1或2所述的方法, 其特征在于, 所述接收并保存该APK文件的描述信 息的方式为 : 查找数据库中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是否属 于新的 APP, 如果属于, 则接收并保存所述 APK 文件所属 APP 的描述信息 ; 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收并保 存所述 APK 文件的描。
6、述信息 ; 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前上传 的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 4. 根据权利要求 1 或 2 所述的方法, 其特征在于, 所述发布工作的发布方式为 : 按时发 布、 按平台发布、 按时且按平台发布或直接发布。 5.根据权利要求1或2所述的方法, 其特征在于, 所述采用调度明细调度执行发布工作 的方式为 : 将所述 Token 上传至对应发布平台的服务器, 当监控到对应发布平台的服务器对所述 Token 校验成功时, 将所述 APK 文件的描述信息根据 Form 。
7、表单属性模板转换为对应发布平 台所要求的格式, 将 APK 文件及转换后的 APK 文件的描述信息上传至对应发布平台。 6. 一种发布安卓安装包 APK 文件的装置, 其特征在于, 所述装置包括 : 发布平台授权信息管理模块, 用于向各个发布平台发送 APP 的提供商信息, 保存并维 护APP授权信息, 所述APP授权信息包括 : APP的提供商信息、 各个发布平台的授权码Token 及 Form 表单属性模板 ; 所述 Token 由发布平台对所述 APP 的提供商信息审核通过后给出, 用于与所述发布平台的服务器进行通信 ; APK 发布管理模块, 包括 : APK 文件匹配单元、 作业调度。
8、单元和任务发布单元, 其中 : 所述 APK 文件匹配单元, 用于接收并保存 APK 文件的描述信息 ; 所述作业调度单元, 用于针对所述 APK 文件创建作业调度任务 JST, 并创建该 JST 的子 工作, 即发布工作 ; 当监控到发布平台对所述 APK 文件的提供商信息审核通过后, 根据所述 APP 授权信息装载所述 JST 的调度明细 ; 所述任务发布单元, 用于采用所述调度明细调度执行所述发布工作。 权 利 要 求 书 CN 104035780 A 2 2/2 页 3 7. 根据权利要求 6 所述的装置, 其特征在于, 所述作业调度单元还用于, 针对各个发布 平台创建该JST的多个子。
9、工作, 即统计工作 ; 每个统计工作负责统计所述APK文件在对应发 布平台的下载量 ; 所述装置还包括 : 统计信息报表模块, 用于采用所述调度明细调度执行所述统计工作。 8.根据权利要求6或7所述的装置, 其特征在于, 所述APK文件匹配单元接收并保存该 APK 文件的描述信息的方式为 : 查找数据库中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是否属 于新的 APP, 如果属于, 则接收并保存所述 APK 文件所属 APP 的描述信息 ; 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收并保 存所述 APK 文件的描述信息。
10、 ; 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前上传 的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 9.根据权利要求6或7所述的装置, 其特征在于, 所述作业调度单元创建的发布工作的 发布方式为 : 按时发布、 按平台发布、 按时且按平台发布或直接发布。 10. 根据权利要求 6 或 7 所述的装置, 其特征在于, 所述任务发布单元用于, 将所述 Token 上传至对应发布平台的服务器, 当监控到对应发布平台的服务器对所述 Token 校验 成功时, 将所述APK文件的描述信息根据Form表单属性模板转换。
11、为对应发布平台所要求的 格式, 将 APK 文件及转换后的 APK 文件的描述信息上传至对应发布平台。 权 利 要 求 书 CN 104035780 A 3 1/8 页 4 一种发布 APK 文件的方法和装置 技术领域 0001 本发明涉及软件应用技术领域, 尤其涉及一种发布安卓安装包 (APK, Android Package) 文件的方法和装置。 背景技术 0002 Android 是一种基于 Linux 的自由及开放源代码的操作系统, 主要使用于移动设 备。随着 Android 智能终端的广泛使用, 与之对应的软件应用也越来越丰富, 于是就产生了 各个厂商 ( 软件服务商 ) 的软件发布。
12、平台, 供用户下载安装使用软件应用。由于各个厂商 的用户群体的不同, 导致一个 Android 软件应用需要在不同厂商的软件发布平台上进行发 布操作及版本更新。 0003 一款 Android 软件应用 ( 以下简称 APP) 是以一个 APK 文件的形式存在并提供给 用户下载安装和使用的。一款 APP 要想供用户给下载安装和使用, 需要将该 APP 的 APK 文 件上传并发布到各个厂商提供的软件发布平台上 ( 软件发布平台俗称安卓市场 ) ; 在 APP 更新或升级时, 也需要再次上传并发布新的 APK 文件。 0004 在现有技术中, 前述上传及发布过程均通过人工手动操作来实现完成, 具。
13、体工作 包括两部分 : 0005 第一, 上传 APK 文件及填写相关信息。相关信息一般包括 : 待发布 APK 文件的提供 商信息, 分两类, 公司 : 公司注册名称、 营业执照注册号及扫描件、 税务登记证号及扫描件、 联系信息等 ; 个人 : 姓名、 身份证号及扫描件、 联系信息等。 还包括APK文件所对应的APP名 称、 简介及版本信息等。 由于各个软件发布平台的要求不同, 在将上传至不同的软件发布平 台时, 需要分别填写前述相关信息, 导致大量信息的重复录入。随着软件发布平台的增加, 还需要再次重复提交相同的信息, 较繁琐。 0006 第二, 在上传之后, 需要人工关注 APP 的提供。
14、商信息是否通过软件发布平台的审 核, 如果通过审核, 则人工启动发布该 APK 文件。 0007 可见, 现有的上传 APK 文件的方法至少存在 2 个缺点 : 1) 需要人工录入大量重复 信息, 效率低且易出错 ; 2) 需要人工关注是否审核通过。 发明内容 0008 本发明提供了一种发布 APK 文件的方法, 能够实现自动监控审核是否通过, 并在 审核通过后自动执行 APK 文件的发布。 0009 本发明还提供了一种发布 APK 文件的装置, 能够实现自动监控审核是否通过, 并 在审核通过后自动执行 APK 文件的发布。 0010 本发明的技术方案是这样实现的 : 0011 一种发布 AP。
15、K 文件的方法, 包括 : 0012 向各个发布平台发送 APP 的提供商信息 ; 0013 对于上传的 APK 文件, 接收并保存该 APK 文件的描述信息 ; 说 明 书 CN 104035780 A 4 2/8 页 5 0014 针对所述 APK 文件创建作业调度任务 (JST), 并创建该 JST 的子工作, 即发布工 作 ; 0015 当监控到发布平台对所述 APP 的提供商信息的审核通过时, 接收发布平台给出的 授权码 (Token), 所述 Token 用于与发布平台的服务器进行通信 ; 0016 根据 APP 授权信息装载所述 JST 的调度明细, 采用所述调度明细调度执行所述。
16、发 布工作 ; 其中, 所述 APP 授权信息包括 : APP 的提供商信息、 各个发布平台的 Token 及 Form 表单属性模板。 0017 上述方法中, 针对 APK 文件创建 JST 之后, 可以进一步包括 : 0018 针对各个发布平台创建该 JST 的多个子工作, 即统计工作 ; 每个统计工作负责统 计所述 APK 文件在对应发布平台的下载量 ; 采用所述调度明细调度执行所述统计工作。 0019 接收并保存该 APK 文件的描述信息的方式可以为 : 0020 查找数据库中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是 否属于新的 APP, 如果属于, 则。
17、接收并保存所述 APK 文件所属 APP 的描述信息 ; 0021 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收 并保存所述 APK 文件的描述信息 ; 0022 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前 上传的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 0023 发布工作的发布方式可以为 : 按时发布、 按平台发布、 按时且按平台发布或直接发 布。 0024 采用调度明细调度执行发布工作的方式可以为 : 0025 将所述 Token 上传至对应发布平台的服。
18、务器, 当监控到对应发布平台的服务器对 所述 Token 校验成功时, 将所述 APK 文件的描述信息根据 Form 表单属性模板转换为对应发 布平台所要求的格式, 将 APK 文件及转换后的 APK 文件的描述信息上传至对应发布平台。 0026 一种发布安卓安装包 APK 文件的装置, 包括 : 0027 发布平台授权信息管理模块, 用于向各个发布平台发送 APP 的提供商信息, 保存 并维护 APP 授权信息, 所述 APP 授权信息包括 : APP 的提供商信息、 各个发布平台的授权码 Token 及 Form 表单属性模板 ; 所述 Token 由发布平台对所述 APP 的提供商信息审。
19、核通过后 给出, 用于与所述发布平台的服务器进行通信 ; 0028 APK 发布管理模块, 包括 : APK 文件匹配单元、 作业调度单元和任务发布单元, 其 中 : 0029 所述 APK 文件匹配单元, 用于接收并保存 APK 文件的描述信息 ; 0030 所述作业调度单元, 用于针对所述 APK 文件创建作业调度任务 JST, 并创建该 JST 的子工作, 即发布工作 ; 当监控到发布平台对所述 APK 文件的提供商信息审核通过后, 根据 所述 APP 授权信息装载所述 JST 的调度明细 ; 0031 所述任务发布单元, 用于采用所述调度明细调度执行所述发布工作。 0032 上述装置中。
20、, 作业调度单元还可以用于, 针对各个发布平台创建该 JST 的多个子 工作, 即统计工作 ; 每个统计工作负责统计所述 APK 文件在对应发布平台的下载量 ; 0033 上述装置还可以包括 : 0034 统计信息报表模块, 用于采用所述调度明细调度执行所述统计工作。 说 明 书 CN 104035780 A 5 3/8 页 6 0035 上述装置中, APK 文件匹配单元接收并保存该 APK 文件的描述信息的方式可以为 : 0036 查找数据库中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是 否属于新的 APP, 如果属于, 则接收并保存所述 APK 文件所属 AP。
21、P 的描述信息 ; 0037 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收 并保存所述 APK 文件的描述信息 ; 0038 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前 上传的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 0039 作业调度单元创建的发布工作的发布方式可以为 : 按时发布、 按平台发布、 按时且 按平台发布或直接发布。 0040 任务发布单元可以用于, 将所述 Token 上传至对应发布平台的服务器, 当监控到 对应发布平台的服务器对所述 Tok。
22、en 校验成功时, 将所述 APK 文件的描述信息根据 Form 表 单属性模板转换为对应发布平台所要求的格式, 将 APK 文件及转换后的 APK 文件的描述信 息上传至对应发布平台。 0041 可见, 本发明提出的发布 APK 文件的方法和装置, 通过建立 JST 及发布工作, 自动 APP 的提供商信息审核是否通过, 在监控到审核通过时, 自动执行 APK 文件的发布工作, 从 而实现了自动监控及发布 APK 文件。 附图说明 0042 图 1 为本发明提出的发布 APK 文件的装置结构示意图 ; 0043 图 2 为实施例二中接收并保存 APK 文件的描述信息的实现流程图 ; 0044。
23、 图 3 为实施例三中创建并执行作业调度任务的实现流程图 ; 0045 图 4 为本发明提出的发布 APK 文件的方法实现流程图。 具体实施方式 0046 本发明提出一种发布APK文件的装置及方法, 如图1为该装置的结构示意图, 该装 置包括 : 0047 发布平台授权信息管理模块 110, 用于向各个发布平台发送 APP 的提供商信息, 保 存并维护 APP 授权信息, 所述 APP 授权信息包括 : APP 的提供商信息、 各个发布平台的授权 码 (Token) 及 Form 表单属性模板 ; 所述 Token 由发布平台对所述 APP 的提供商信息审核通 过后给出, 用于与所述发布平台的。
24、服务器进行通信 ; 0048 APK 发布管理模块 120, 包括 : APK 文件匹配单元 121、 作业调度单元 122 和任务发 布单元 123, 其中 : 0049 所述 APK 文件匹配单元 121, 用于接收并保存 APK 文件的描述信息 ; 0050 所述作业调度单元 122, 用于针对所述 APK 文件创建作业调度任务 (JST, Job Scheduling Task), 并创建该 JST 的子工作, 即发布工作 (PJ, Publish Job) ; 当监控到发布 平台对所述 APK 文件的提供商信息审核通过后, 根据所述 APP 授权信息装载所述 JST 的调 度明细 (。
25、JobDetail) ; 0051 所述任务发布单元 123, 用于采用所述调度明细调度执行所述发布工作。 0052 上述装置中, 作业调度单元122还可以用于, 针对各个发布平台创建该JST的多个 说 明 书 CN 104035780 A 6 4/8 页 7 子工作, 即统计工作 ; 每个统计工作负责统计所述 APK 文件在对应发布平台的下载量 ; 0053 所述装置还可以包括 : 0054 统计信息报表模块 130, 用于采用所述调度明细调度执行所述统计工作。 0055 上述装置中, APK 文件匹配单元 121 接收并保存该 APK 文件的描述信息的方式可 以为 : 0056 查找数据库。
26、中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是 否属于新的 APP, 如果属于, 则接收并保存所述 APK 文件所属 APP 的描述信息 ; 0057 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收 并保存所述 APK 文件的描述信息 ; 0058 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前 上传的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 0059 作业调度单元 122 创建的发布工作的发布方式可以为 : 按时发布、 按平台发布、 。
27、按 时且按平台发布或直接发布。 0060 任务发布单元123可以用于, 将所述Token上传至对应发布平台的服务器, 当监控 到对应发布平台的服务器对所述 Token 校验成功时, 将所述 APK 文件的描述信息根据 Form 表单属性模板转换为对应发布平台所要求的格式, 将 APK 文件及转换后的 APK 文件的描述 信息上传至对应发布平台。 0061 以下举具体的实施例分别介绍上述各个模块的功能。 0062 实施例一 : 0063 本实施例介绍发布平台授权信息管理模块 110, 此模块执行两个功能 : 0064 第一, 新建APP授权信息。 APP授权信息包括两部分, 一部分是APP的提供。
28、商信息, 此信息只需录入一次即可 ; 第二部分是各个发布平台的授权码(Token)及Form表单属性模 板。其中, 发布平台的 Token 用于本发明装置与发布平台的服务器进行通信 ; 其获取方式 为 : 发布平台授权信息管理模块110将APP的提供商信息发送至各个发布平台, 当发布平台 对 APP 的提供商信息审核通过时, 给出发布平台的 Token, 并将该 Token 反馈至发布平台授 权信息管理模块110。 Form表单属性模板的作用是 : 因各厂商发布平台信息的名称不一致, 所以需要对应本发明装置的发布平台信息的名称进行统一, 创建的 Form 表单属性模板, 可 以将各厂商的名称与。
29、本发明装置的名称进行映射关系配置, 就能很好的解决此问题。 最后, 操作完成后, 即生成一个该发布平台的唯一标识 ID, 且不可修改和删除。 0065 第二, 启用禁用、 更新发布平台的Token。 对于首次新建的发布平台, 不用关心此 操作, 默认为启用状态。对于后续不想进行操作的发布平台或 Token 变更带来的修改, 可以 在此部分进行完成启用、 禁用、 更新等操作。注 : APK 的发布平台列表中不包含禁用的平台。 0066 有了 APP 授权信息, 就可以完成一键发布 APK 文件。 0067 实施例二 : 0068 本实施例介绍 APK 文件匹配单元 121 接收并保存保存 APK。
30、 文件的实现方式。 0069 APK 文件匹配单元 121 负责接收并保存 APK 文件的描述信息。在接收 APK 文件的 描述信息之前, 该 APK 文件需要预先上传至应用了本发明装置的服务器上。如图 2 为接收 并保存 APK 文件的描述信息的一种实现方式, 包括 : 0070 步骤 201 : 对于上传成功后的 APK 文件, 自动根据 APK 文件的名称进行匹配, 根据 说 明 书 CN 104035780 A 7 5/8 页 8 本地保存的发布成功的 APK 文件列表进行匹配查找, 筛选出符合该 APK 的 APP 应用。匹配 的条件是, 以 APK 文件名称的命名来约定的, 需要遵。
31、守 “APP 字母简称 _ 版本号 .apk” 这样 的命名方式, 如豌豆荚 (wangdoujia_1-1.apk)。本装置会根据 APP 的字母简称在已发布的 APK文件列表中进行匹配查找, 并通过任务发布单元自动保存至数据库中。 如果没有匹配成 功, 则执行步骤 202 ; 如果匹配成功, 则执行步骤 203。 0071 步骤 202 : 由于没有匹配成功, 认为该 APK 文件属于新 APP, 无法给出匹配结果, 则 填写该新 APP 的描述信息, 例如功能描述及应用内简图, 之后即可执行 APK 文件的一键发 布。 0072 步骤203 : 由于匹配成功, 认为该上传的APK文件是属。
32、于已有APP, 则判断该APK文 件是否为所属 APP 的新版本文件 ; 如果是, 则取该 APK 文件名后面的最新版本号, 自动填充 到装置内, 之后即可进入一键发布环节流程 ; 如果不是, 说明该 APK 文件所属 APP 的相同版 本的 APK 文件已存在, 则执行步骤 204。 0073 步骤 204 : 判断该相同版本的 APK 文件是否已发布, 如果没有发布, 则采用该 APK 文件替换之前已存在的相同版本的 APK 文件, 这样就可以免除版本更新回退的隐患。如果 已发布, 则回收该 APK 文件, 为结束处理操作, 不可进行文件替换。 0074 之后, 可以进入一键发布环节。可以。
33、一键发布的 APK 文件状态目前有三种 : 新应 用、 新版本、 替换后的未发布新版本。 0075 需要补充的是, 针对已上传的APK文件但未进行一键发布的APK文件, 若继续进行 操作, 需选中一个 APK 文件。对于选中的 APK 文件, 可以执行上述上传该 APK 文件的描述信 息并创建对应的 JST, 之后执行一键发布的步骤 ; 也可以将 APK 文件回收, 将此 APK 文件进 行废弃, 废弃了的 APK 文件, 所有记录将置为无效, 且直接完成结束操作。 0076 实施例三 : 0077 本实施例介绍创建并执行 APK 文件的作业调度任务的一种实现方式, 如图 3 为本 实施例的实。
34、现流程图。 0078 针对每一个待发布的 APK 文件, 可以采用作业调度单元 122 创建一个与之对应的 作业调度任务 (JST, Job Scheduing Task), 如图 3 的编号 1 所示。产生 JST 的同时, 也异步 创建了两个子工作, 分别是发布工作 (Publish Job, PJ) 和统计工作 (Total Job, TJ)。发布 工作分两步进行, 首先是发布工作, 其次是发布后的结果保存工作。 0079 针对发布工作 (PJ), 有四种工作可以进行自由组合, 且方便快捷地进行发布, 如图 3 的编号 2 所示 : 1, 按时发布 ; 2, 按平台发布 ; 3, 按时且。
35、按平台发布 ; 4, 直接发布 ; 其中, 0080 按时发布, 是指该任务可以定时处理发布任务, 如在某时进行发布 ; 0081 按平台发布, 是指该任务可以根据某些平台进行发布 ; 0082 按时且按平台发布, 综合前两种, 可以对某些平台进行定时发布 ; 0083 直接发布, 直接选中平台进行发布。 0084 发布工作完成后, 其中的任务信息 ( 包括 APP 应用信息、 发布时间 ) 等已经记录到 数据库中, 并作为已发布 APK 文件列表的数据来源, 以下是使用它的地方 : 0085 1) 上传 APK 文件时的匹配数据来源 ; 0086 2) 创建调度者、 统计任务的数据来源。 0。
36、087 针对统计工作 (TJ), 统计工作创建的条件如下 : 说 明 书 CN 104035780 A 8 6/8 页 9 0088 1) 在已有 APK 文件列表的 APP 中存在的统计任务, 是不会创建新的统计任务 ; 0089 2) 每个统计任务分配的公式为 : appId+pId。(appId : app 应用的唯一编号 ; pId : 各厂商平台的唯一编号 ), 也就是说, 每个 APP 的下载量只会根据已发布过该 APP 对应的 APK 文件的发布平台进行统计。例如, appId 为 1001 的 APK 文件, 在 pId 为 108 的发布平台 上, 未进行发布, 就不会产生统。
37、计任务。 0090 3) 创建的统计工作, 并不是立即进行工作, 而是定时唤醒, 例如, 在凌晨的三分钟 后自动唤醒, 这样可以准确汇总到昨日的数据。 0091 唤醒的统计工作, 首先会获取新的已发布的 APK 文件列表后, 自动分配出各个相 应 APP 统计的子任务。每一个子任务获取得到的数据会保存到数据库中, 最后汇总成报表, 并在本装置内的统计信息报表模块中进行展现。 0092 发布工作及统计工作创建完成之后, 作业调度单元 122 可以监控发布平台对 APK 文件的提供商信息是否通过审核, 当通过审核时, 根据 APP 授权信息装载 JST 的调度明细 ; 任务发布单元 123 就可以。
38、采用该调度明细调度执行上述发布工作, 如图 3 中的编号 2 所示 ; 统计信息报表模块 130 可以采用该调度明细调度执行上述统计工作, 如图 3 中的编号 3 所 示。 0093 以上介绍了本发明的具体实施例。 0094 综上所述, 总结作业调度任务、 发布工作 (PJ)、 统计工作 (TJ)、 以及各发布平台与 本发明装置数据的传输及通信实现过程如下 : 0095 1、 作业调度任务 (JST), 是通过 Spring Quartz( 作业调度框架 ) 来协助创建和完 成调度工作的, Spring Quartz 包括 Scheduler( 调度者 )、 Job( 调度任务 )、 Trig。
39、ger( 触发 器 )、 JobDetail( 调度明细 )。 0096 首先需要产生一个调度者, 产生的条件为 : 在已发布APK文件列表中不存在。 也就 是说一个 APK 文件从属的 APP 只可能有一个调度者。调度者产生以后, 就可以为一键发布 APK 进行调度工作了。在这里, 产生后的调度者, 紧接着异步创建两个子工作, 即发布工作 (PJ) 和统计工作 (TJ)。 0097 2、 发布工作 (PJ), 有四种任务进行组合。若任务类型定时发布的, 则会产生一个 与之相对应的 Trigger( 触发器 ) 触发每个发布 Task( 任务 ) ; 该 Trigger 是根据 Cron 表 。
40、达式进行设定触发的, Cron 表达式包括以下 7 个字段 : 1, 秒 ; 2, 分 ; 3, 小时 ; 4, 月内日期 ; 5, 月 ; 6, 周内日期 ; 7, 年 ( 可选字段 )。注 : Cron 触发器利用一系列特殊字符, 如下所示 : 0098 反斜线 (/) 字符表示增量值。例如, 在秒字段中 “5/15” 代表从第 5 秒开始, 每 15 秒一次。 0099 问号 ( ? ) 字符和字母 L 字符只有在月内日期和周内日期字段中可用。问号表示 这个字段不包含具体值。所以, 如果指定月内日期, 可以在周内日期字段中插入 “? ” , 表示 周内日期值无关紧要。字母 L 字符是 l。
41、ast 的缩写。放在月内日期字段中, 表示安排在当月 最后一天执行。在周内日期字段中, 如果 “L” 单独存在, 就等于 “7” , 否则代表当月内周内日 期的最后一个实例。所以 “0L” 表示安排在当月的最后一个星期日执行。 0100 在月内日期字段中的字母(W)字符把执行安排在最靠近指定值的工作日。 把 “1W” 放在月内日期字段中, 表示把执行安排在当月的第一个工作日内。 0101 井号 (#) 字符为给定月份指定具体的工作日实例。把 “MON#2” 放在周内日期字段 说 明 书 CN 104035780 A 9 7/8 页 10 中, 表示把任务安排在当月的第二个星期一。 0102 星。
42、号 (*) 字符是通配字符, 表示该字段可以接受任何可能的值。 0103 例如 : “0012* ? “ 每天中午 12 点触发。 0104 利用以上所述, 本装置会根据设定的表达式进行定时发布 ( 定时发布所有未禁用 平台、 定时发布选中未禁用平台 )。若未设定定时发布, 则是按平台发布、 直接发布的话, 本 装置会从 Thread Pool( 线程池 ) 中取出一个与之对应的 Thread( 线程 ) 进行发布操作。 0105 不管是设定定时, 还是选中或直接发布, 都会根据一个工作明细 (JobDetail) 来 依据执行。此工作明细, 是根据 “发布平台授权信息管理” 中的 APP 授。
43、权信息进行装载的 ; 对于新的发布平台、 新应用, 需要审核等待的发布工作, 本装置会自动监控 APP 的提供商 信息是否通过审核, 并在通过后继续进行发布工作。最后, 发布成功后, 会将此调度明细 (JobDetail) 保存至数据库中。 0106 3、 统计工作(TJ), 有统一的Trigger(触发器), 因此工作是统计汇总任务, 具有时 间维度性质, 统计工作执行时, 只会获取各平台昨日的数据, 故设定了定时表达进行工作执 行。该工作唤醒后, 首先会获取最新的一份已发布 APK 文件列表作为执行依据, 最终获取到 的数据分别会保存到数据库中, 汇总成报表。 0107 最终汇总成为统计信。
44、息报表, 报表数据的维度包括 : APP 编号 | 名称 ( 列 1)、 平台 编号 | 名称 ( 列 2)、 APP 版本 ( 列 3)、 发布时间 ( 列 4)、 下载量 ( 列 5)。其中, 列 1、 列 2、 列 3 是可以进行筛选的, 然而, 列 1 和列 2 是对等关系, 二者不可同时去除。 0108 4、 各厂商发布平台与本装置的数据传输及通信 : 首先在发布平台授权信息管理模 块中设定 APP 授权信息, 该 APP 授权信息包括 : APP 的提供商信息、 各发布平台的 Token 及 Form表单属性模板, 其中, 各发布平台的Token是由发布平台对APP的提供商信息审核。
45、通过 后给出的 ; 之后, 随着发布工作的执行将 APP 授权信息自动装载到 JobDetail( 调度明细 ) 中, 形成通信报文, 对各厂商 API( 应用程序编程接口 ) 调用的时候, 首先会对 Token 值进行 校验, 若校验通过, 则会将需要发布或更新的 APK 文件进行上传至各厂商的服务器上, 并根 据发送的报文明细, 找到对应的APP, 随之更新信息。 若未通过校验, 本装置会接收到一个失 败信息, 回执该任务失败告终, 且状态为未发布成功。不论发布与否, 最终任务完成的状态 等信息, 都会记录到数据库中。 0109 采用上述装置, 本发明提出一种发布 APK 文件的方法, 如。
46、图 4 所示, 该方法包括 : 0110 步骤 401 : 向各个发布平台发送 APP 的提供商信息 ; 0111 步骤 402 : 对于上传的 APK 文件, 接收并保存该 APK 文件的描述信息 ; 0112 步骤403 : 针对所述APK文件创建作业调度任务JST, 并创建该JST的子工作, 即发 布工作 ; 0113 步骤 404 : 当监控到发布平台对所述 APP 的提供商信息的审核通过时, 接收发布平 台给出的 Token, 所述 Token 用于与发布平台的服务器进行通信 ; 0114 步骤 405 : 根据 APP 授权信息装载所述 JST 的调度明细, 采用所述调度明细调度执。
47、 行所述发布工作 ; 其中, 所述 APP 授权信息包括 : APP 的提供商信息、 各个发布平台的 Token 及 Form 表单属性模板。 0115 上述步骤 403 中, 针对 APK 文件创建 JST 之后, 可以进一步包括 : 0116 针对各个发布平台创建该 JST 的多个子工作, 即统计工作 (TJ) ; 每个统计工作负 说 明 书 CN 104035780 A 10 8/8 页 11 责统计所述 APK 文件在对应发布平台的下载量 ; 采用所述调度明细调度执行所述统计工 作。 0117 上述步骤 402 中, 接收并保存该 APK 文件的描述信息的方式可以为 : 0118 查找。
48、数据库中保存的已发布的 APK 文件列表, 根据查找结果判断所述 APK 文件是 否属于新的 APP, 如果属于, 则接收并保存所述 APK 文件所属 APP 的描述信息 ; 0119 如果不属于, 则判断所述 APK 文件是否为所属 APP 的新版本文件, 如果是, 则接收 并保存所述 APK 文件的描述信息 ; 0120 如果不是, 则判断已上传的相应 APK 文件是否已发布, 如果已发布, 则回收该当前 上传的 APK 文件 ; 如果没有发布, 则采用该 APK 文件替换已上传的相应 APK 文件。 0121 上述步骤 403 中, 发布工作的发布方式可以为 : 按时发布、 按平台发布、。
49、 按时且按 平台发布或直接发布。 0122 上述步骤 405 中, 采用调度明细调度执行发布工作的方式可以为 : 0123 将所述 Token 上传至对应发布平台的服务器, 当监控到对应发布平台的服务器对 所述 Token 校验成功时, 将所述 APK 文件的描述信息根据 Form 表单属性模板转换为对应发 布平台所要求的格式, 将 APK 文件及转换后的 APK 文件的描述信息上传至对应发布平台。 0124 综上所述, 本发明提出的发布 APK 文件的方法和装置, 通过保存各个发布平台的 Form 表单属性模板, 能够只在上传 APK 文件时由人工输入描述信息, 之后发布过程中将统 一的描述信息根据 Form 表单属性模板转换为发布平台所需的形式, 从而避免人工输入大 量重复信息, 解决了。