《一种应用更新方法、移动终端和通信系统.pdf》由会员分享,可在线阅读,更多相关《一种应用更新方法、移动终端和通信系统.pdf(38页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104331302 A (43)申请公布日 2015.02.04 CN 104331302 A (21)申请号 201410513946.8 (22)申请日 2014.09.29 G06F 9/445(2006.01) H04L 29/08(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 王华 袁鹏 鲍翀 (54) 发明名称 一种应用更新方法、 移动终端和通信系统 (57) 摘要 本发明实施例涉及通信技术领域。本发明实 施例提供一种应用更新方法、 移动终端和通信系 统, 该方法包括 : 移。
2、动终端向云端发送请求, 用于 请求所述云端将存储在所述云端的第二二进制代 码发送给所述移动终端 ; 所述移动终端接收所述 云端发送的所述第二二进制代码 ; 所述移动终端 执行所述第二二进制代码以运行数据密集型应 用程序, 并获取第二运行参数信息 ; 所述移动终 端将所述第二运行参数信息发送给所述云端, 以 使所述云端依据所述第二运行参数信息对所述第 二二进制代码进行更新。 采用本方案, 可以在一定 程度上加快应用程序的运行速度。 另外, 本发明还 提供了相应的移动终端和通信系统。 (51)Int.Cl. 权利要求书 8 页 说明书 23 页 附图 6 页 (19)中华人民共和国国家知识产权局 。
3、(12)发明专利申请 权利要求书8页 说明书23页 附图6页 (10)申请公布号 CN 104331302 A CN 104331302 A 1/8 页 2 1. 一种应用更新方法, 其特征在于 : 移动终端向云端发送请求, 用于请求所述云端将存储在所述云端的第二二进制代码发 送给所述移动终端, 所述第二二进制代码实现的功能和 kernel 代码实现的功能相同 ; 所述移动终端接收所述云端发送的所述第二二进制代码 ; 所述移动终端执行所述第二二进制代码以运行数据密集型应用程序, 并获取所述移动 终端在执行所述第二二进制代码时, 所述移动终端内参与执行所述第二二进制代码的硬件 的第二运行参数信息。
4、, 所述数据密集型应用程序包括使用开放运算语言 OpenCL 编写的所 述 kernel 代码, 所述数据密集型应用程序用于实现所述移动终端的至少一项功能 ; 所述移动终端将所述第二运行参数信息发送给所述云端, 以使所述云端依据所述第二 运行参数信息对所述第二二进制代码进行更新。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述移动终端包括主处理器 host 和从处 理器 device, 所述方法具体包括 : 所述 host 向所述云端发送请求, 用于请求所述云端将存储在所述云端的所述第二二 进制代码发送给所述 host, 所述第二二进制代码实现的功能和所述 kernel 代码实现的功。
5、 能相同 ; 所述 host 接收所述云端发送的所述第二二进制代码, 并将所述第二二进制代码传递 给所述 device, 以使所述 device 执行所述第二二进制代码, 从而运行所述数据密集型应用 程序, 所述数据密集型应用程序包括所述 kernel 代码, 所述数据密集型应用程序用于实现 所述移动终端的至少一项功能 ; 所述 device 执行所述第二二进制代码 ; 所述 host 获取所述 device 在执行所述第二二进制代码时, 所述 device 内参与执行所 述第二二进制代码的硬件的第二运行参数信息, 并将所述第二运行参数信息发送给所述云 端, 以使所述云端依据所述第二运行参数信。
6、息对所述第二二进制代码进行更新。 3. 根据权利要求 1 或 2 所述的方法, 其特征在于 : 所述第二二进制代码是由所述云端根据缺省设置的运行参数信息对存储在所述云端 的所述 kernel 代码进行编译得到的。 4. 根据权利要求 2 所述的方法, 其特征在于 : 所述第二二进制代码是由所述云端根据第一运行参数信息对存储在所述云端的第 一二进制代码进行更新得到的, 所述第一运行参数信息是所述 device 在执行所述第一二 进制代码时, 所述 device 内参与执行所述第一二进制代码的硬件的运行参数信息, 所述第 一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 5. 根据。
7、权利要求 4 所述的方法, 其特征在于, 在所述 host 中存储有所述第一二进制代码时, 所述 host 向所述云端发送请求, 用于请求所述云端将存储在所述云端的所述第二二 进制代码发送给所述 host, 具体包括 : 所述 host 向所述云端发送请求, 用于请求所述云端在确定所述第二二进制代码和所 述第一二进制代码不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括所述 第一二进制代码, 其中, 所述第一二进制代码是由所述云端发送给所述 host 并存储在所述 host 中的。 权 利 要 求 书 CN 104331302 A 2 2/8 页 3 6. 根据权利要求 5 。
8、所述的方法, 其特征在于, 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时 ; 所述 host 向所述云端发送请求, 用于请求所述云端在确定所述第二二进制代码和所 述第一二进制代码不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括所述 第一二进制代码, 具体包括 : 所述 host 向所述云端发送请求, 用于请求所述云端在确定所述第一标识和所述第二 标识不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括所述第一标识。 7. 根据权利要求 2 至 6 任一项所述的方法, 其特征在于, 所述 host 接收所述云端发送 的所述第二。
9、二进制代码之后, 还包括 : 所述 host 存储所述第二二进制代码。 8. 根据权利要求 1 至 7 任一项所述的方法, 其特征在于 : 所述第二运行参数信息包括所述 host 和所述 device 之间的数据拷贝速度和所述第 二二进制代码的数据并行度。 9.根据权利要求8所述的方法, 其特征在于, 所述host获取所述device在执行所述第 二二进制代码时, 所述 device 内参与执行所述第二二进制代码的硬件的第二运行参数信 息之后, 还包括 : 所述host根据所述第二二进制代码的数据并行度除以所述device的硬件并发信息的 值, 设置所述 device 中每一计算单元需处理的数。
10、据量。 10. 一种应用更新方法, 其特征在于 : 接收移动终端发送的请求 ; 根据所述请求, 向所述移动终端发送第二二进制代码, 以使所述移动终端执行所述第 二二进制代码以运行数据密集型应用程序, 并获取所述移动终端在执行所述第二二进制代 码时, 所述移动终端内参与执行所述第二二进制代码的硬件的第二运行参数信息 ; 所述第 二二进制代码实现的功能和 kernel 代码实现的功能相同, 所述数据密集型应用程序包括 使用开放运算语言 OpenCL 编写的所述 kernel 代码 ; 接收所述移动终端返回的所述第二运行参数信息, 并根据所述第二运行参数信息对所 述第二二进制代码进行更新。 11. 。
11、根据权利要求 10 所述的方法, 其特征在于 : 所述第二二进制代码是根据缺省设置的运行参数信息对所述 kernel 代码进行编译得 到的。 12. 根据权利要求 10 所述的方法, 其特征在于 : 所述第二二进制代码是根据第一运行参数信息对第一二进制代码进行更新得到的, 所述第一运行参数是所述移动终端在执行所述第一二进制代码时, 所述移动终端内参与执 行所述第一二进制代码的硬件的运行参数信息, 所述第一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 13. 根据权利要求 12 所述的方法, 其特征在于, 在所述移动终端中存储有所述第一二 进制代码时, 所述接收移动终端发送的请。
12、求, 包括 : 权 利 要 求 书 CN 104331302 A 3 3/8 页 4 接收所述移动终端发送的请求, 所述请求包括所述第一二进制代码 ; 所述根据所述请求, 向所述移动终端发送第二二进制代码, 具体包括 : 比较所述第二二进制代码和所述第一二进制代码是否相同, 在所述第二二进制代码和 所述第一二进制代码不相同时, 根据所述请求向所述移动终端发送所述第二二进制代码。 14. 根据权利要求 13 所述的方法, 其特征在于 : 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时 ; 所述接收所述移动终端发送的请求, 所述请求包括所述第一二进制代码, 包括 :。
13、 接收所述移动终端发送的请求, 所述请求包括所述第一标识 ; 所述比较所述第二二进制代码和所述第一二进制代码是否相同, 在所述第二二进制代 码和所述第一二进制代码不相同时, 根据所述请求向所述移动终端发送所述第二二进制代 码, 具体包括 : 比较所述第一标识和所述第二标识是否相同, 在所述第一标识和所述第二标识不相同 时, 根据所述请求向所述移动终端发送所述第二二进制代码。 15. 一种应用更新方法, 其特征在于 : 移动终端向云端发送请求, 用于请求所述云端将存储在所述云端内的第二二进制代码 发送给所述移动终端, 所述第二二进制代码实现的功能和 kernel 代码实现的功能相同 ; 所述云端。
14、接收所述请求, 根据所述请求将所述第二二进制代码发送给所述移动终端 ; 所述移动终端接收所述第二二进制代码, 执行所述第二二进制代码以运行数据密集型 应用程序, 并获取所述移动终端在执行所述第二二进制代码时, 所述移动终端内参与执行 所述第二二进制代码的硬件的第二运行参数信息, 其中, 所述数据密集型应用程序包括使 用开放运算语言 OpenCL 编写的所述 kernel 代码, 所述数据密集型应用程序用于实现所述 移动终端的至少一项功能 ; 所述移动终端将所述第二运行参数信息发送给所述云端 ; 所述云端接收所述第二运行参数信息, 并根据所述第二运行参数信息对所述第二二进 制代码进行更新。 16。
15、. 根据权利要求 15 所述的方法, 其特征在于 : 所述第二二进制代码是所述云端根据缺省设置的运行参数信息对所述 kernel 代码进 行编译得到的。 17. 根据权利要求 15 所述的方法, 其特征在于 : 所述第二二进制代码是所述云端根据第一运行参数信息对存储在所述云端的第一二 进制代码进行更新得到的, 所述第一运行参数信息是所述移动终端在执行所述第一二进 制代码时, 所述移动终端内参与执行所述第一二进制代码的硬件的运行参数信息, 所述第 一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 18. 根据权利要求 17 所述的方法, 其特征在于, 在所述移动终端中存储有所述第。
16、一二进制代码时, 所述移动终端向云端发送请求, 具体包括 : 所述移动终端向所述云端发送请求, 所述请求包括所述第一二进制代码 ; 所述云端接收所述请求, 根据所述请求将所述第二二进制代码发送给所述移动终端, 权 利 要 求 书 CN 104331302 A 4 4/8 页 5 具体包括 : 所述云端接收所述请求, 根据所述请求比较所述第一二进制代码和所述第二二进制代 码是否相同, 并在所述第一二进制代码和所述第二二进制代码不相同时, 将所述第二二进 制代码发送给所述移动终端。 19. 根据权利要求 18 所述的方法, 其特征在于 : 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所。
17、述第二二进制代码 时, 所述移动终端向所述云端发送请求, 所述请求包括所述第一二进制代码, 具体包括 : 所述移动终端向所述云端发送请求, 所述请求包括所述第一标识 ; 所述云端接收所述请求, 根据所述请求比较所述第一二进制代码和所述第二二进制代 码是否相同, 并在所述第一二进制代码和所述第二二进制代码不相同时, 将所述第二二进 制代码发送给所述移动终端 ; 具体包括 : 所述云端接收所述请求, 根据所述请求比较所述第一标识和所述第二标识是否相同, 并在所述第一标识和所述第二标识不相同时, 将所述第二二进制代码发送给所述移动终 端。 20. 根据权利要求 15 至 19 任一项所述的方法, 其。
18、特征在于, 所述移动终端接收所述第 二二进制代码之后, 还包括 : 所述移动终端存储所述第二二进制代码。 21. 根据权利要求 15 至 20 任一项所述的方法, 其特征在于 : 所述第二运行参数信息包括所述移动终端内部的数据拷贝速度和所述第二二进制代 码的数据并行度。 22. 一种移动终端, 其特征在于, 包括 : 收发单元, 用于向云端发送请求, 以请求所述云端将存储在所述云端的第二二进制代 码发送给所述收发单元, 所述第二二进制代码实现的功能和 kernel 代码实现的功能相同 ; 所述收发单元还用于接收所述云端发送的所述第二二进制代码 ; 执行单元, 用于执行所述第二二进制代码以运行数。
19、据密集型应用程序, 并获取所述执 行单元在执行所述第二二进制代码时, 所述执行单元内参与执行所述第二二进制代码的硬 件的第二运行参数信息, 所述数据密集型应用程序包括使用开放运算语言 OpenCL 编写的 所述 kernel 代码, 所述数据密集型应用程序用于实现所述移动终端的至少一项功能 ; 所述收发单元, 还用于将所述第二运行参数信息发送给所述云端, 以使所述云端依据 所述第二运行参数信息对所述第二二进制代码进行更新。 23. 根据权利要求 22 所述的移动终端, 其特征在于, 还包括存储单元 : 所述存储单元用于存储所述第二二进制代码。 24. 根据权利要求 22 或 23 所述的移动终。
20、端, 其特征在于 : 所述第二二进制代码是由所述云端根据缺省设置的运行参数信息对存储在所述云端 的所述 kernel 代码进行编译得到的。 25. 根据权利要求 22 或 23 所述的移动终端, 其特征在于 : 所述第二二进制代码是由所述云端根据第一运行参数信息对存储在所述云端的第 一二进制代码进行更新得到的, 所述第一运行参数信息是所述执行单元在执行所述第一二 权 利 要 求 书 CN 104331302 A 5 5/8 页 6 进制代码时, 所述执行单元内参与执行所述第一二进制代码的硬件的运行参数信息, 所述 第一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 26. 根据。
21、权利要求 25 所述的移动终端, 其特征在于 : 在所述存储单元内存储有所述第一二进制代码时, 所述收发单元具体用于向所述云端发送请求, 以请求所述云端在确定所述第二二进制 代码和所述第一二进制代码不相同时, 将所述第二二进制代码发送给所述收发单元, 所述 请求包括所述第一二进制代码, 其中, 所述第一二进制代码是由所述云端发送给所述收发 单元并存储在所述存储单元中的。 27. 根据权利要求 26 所述的移动终端, 其特征在于 : 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时, 所述收发单元具体用于向所述云端发送请求, 以请求所述云端在确定所述第二标识和 所述。
22、第一标识不相同时, 将所述第二二进制代码发送给所述收发单元, 所述请求包括所述 第一标识。 28. 根据权利要求 22 至 27 任一项所述的移动终端, 其特征在于 : 所述第二运行参数信息包括所述执行单元和所述存储单元之间的数据拷贝速度和所 述第二二进制代码的数据并行度。 29. 一种移动终端, 其特征在于, 包括 : 所述移动终端包括主处理器 host 和从处理器 devic, 其中, 所述 host 用于向所述云端发送请求, 以请求所述云端将存储在所述云端的所述第 二二进制代码发送给所述 host, 所述第二二进制代码实现的功能和所述 kernel 代码实现 的功能相同 ; 所述 hos。
23、t 还用于接收所述云端发送的所述第二二进制代码, 并将所述第二二进制代 码传递给所述 device, 以使所述 device 执行所述第二二进制代码, 从而运行数据密集型应 用程序, 所述数据密集型应用程序包括所述 kernel 代码, 所述数据密集型应用程序用于实 现所述移动终端的至少一项功能 ; 所述 device 用于执行所述第二二进制代码 ; 所述 host 还用于获取所述 device 在执行所述第二二进制代码时, 所述 device 内参与 执行所述第二二进制代码的硬件的第二运行参数信息, 并将所述第二运行参数信息发送给 所述云端, 以使所述云端依据所述第二运行参数信息对所述第二二。
24、进制代码进行更新。 30. 根据权利要求 29 所述的移动终端, 其特征在于 : 所述 host 还用于存储所述第二二进制代码。 31. 根据权利要求 29 或 30 所述的移动终端, 其特征在于 : 所述第二二进制代码是由所述云端根据缺省设置的运行参数信息对存储在所述云端 的所述 kernel 代码进行编译得到的。 32. 根据权利要求 29 或 30 所述的移动终端, 其特征在于 : 所述第二二进制代码是由所述云端根据第一运行参数信息对存储在所述云端的第 一二进制代码进行更新得到的, 所述第一运行参数信息是所述 device 在执行所述第一二 进制代码时, 所述 device 内参与执行所。
25、述第一二进制代码的硬件的运行参数信息, 所述第 权 利 要 求 书 CN 104331302 A 6 6/8 页 7 一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 33. 根据权利要求 32 所述的移动终端, 其特征在于 : 在所述 host 中存储有所述第一二进制代码时, 所述 host 具体用于向所述云端发送请求, 以请求所述云端在确定所述第二二进制代 码和所述第一二进制代码不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包 括所述第一二进制代码, 其中, 所述第一二进制代码是由所述云端发送给所述 host 并存储 在所述 host 中的。 34. 根据。
26、权利要求 33 所述的移动终端, 其特征在于 : 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时, 所述具体用于向所述云端发送请求, 以请求所述云端在确定所述第二标识和所述第一 标识不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括所述第一标识。 35. 根据权利要求 29 至 34 任一项所述的移动终端, 其特征在于 : 所述第二运行参数信息包括所述 host 和所述 device 之间的数据拷贝速度和所述第 二二进制代码的数据并行度。 36. 根据权利要求 35 所述的移动终端, 其特征在于 : 所述host还用于根据所述第二二进制代码的数。
27、据并行度除以所述device的硬件并发 信息的值, 设置所述 device 中每一计算单元需处理的数据量。 37. 一种云端, 其特征在于, 包括接收单元、 发送单元和编译单元 : 所述接收单元, 用于接收移动终端发送的请求 ; 所述发送单元, 用于根据所述请求, 向所述移动终端发送第二二进制代码, 以使所述移 动终端执行所述第二二进制代码以运行数据密集型应用程序, 并获取所述移动终端在执行 所述第二二进制代码时, 所述移动终端内参与执行所述第二二进制代码的硬件的第二运行 参数信息, 所述第二二进制代码实现的功能和 kernel 代码实现的功能相同, 所述数据密集 型应用程序包括使用开放运算语。
28、言 OpenCL 编写的所述 kernel 代码 ; 所述接收单元还用于接收所述移动终端返回的所述第二运行参数信息 ; 所述编译单元用于根据所述第二运行参数信息对所述第二二进制代码进行更新。 38. 根据权利要求 37 所述的云端, 其特征在于 : 所述第二二进制代码是由所述编译单元根据缺省设置的运行参数信息对所述 kernel 代码进行编译得到的。 39. 根据权利要求 36 所述的云端, 其特征在于 : 所述第二二进制代码是由所述编译单元根据第一运行参数信息对第一二进制代码进 行更新得到的, 所述第一运行参数是所述移动终端在执行所述第一二进制代码时, 所述移 动终端内参与执行所述第一二进制。
29、代码的硬件的运行参数信息, 所述第一二进制代码实现 的功能和所述 kernel 代码实现的功能相同。 40. 根据权利要求 39 所述的云端, 其特征在于 : 在所述移动终端内存储有所述第一二进制代码时, 所述接收单元具体用于接收所述移动终端发送的请求, 所述请求包括所述第一二进制 代码 ; 权 利 要 求 书 CN 104331302 A 7 7/8 页 8 所述发送单元具体用于比较所述第二二进制代码和所述第一二进制代码是否相同, 并 在所述第二二进制代码和所述第一二进制代码不相同时, 根据所述请求向所述移动终端发 送所述第二二进制代码。 41. 根据权利要求 40 所述的云端, 其特征在于。
30、 : 在第一标识用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时 ; 所述接收单元具体用于接收所述移动终端发送的请求, 所述请求包括所述第一标识 ; 所述发送单元具体用于比较所述第一标识和所述第二标识是否相同 ; 并在所述第一标 识和所述第二标识不相同时, 根据所述请求向所述移动终端发送所述第二二进制代码。 42. 一种通信系统, 其特征在于, 包括移动终端和云端 : 所述移动终端用于向所述云端发送请求, 以请求所述云端将存储在所述云端内的第 二二进制代码发送给所述移动终端, 所述第二二进制代码实现的功能和 kernel 代码实现 的功能相同 ; 所述云端用于接收所述请求,。
31、 并根据所述请求将所述第二二进制代码发送给所述移动 终端 ; 所述移动终端还用于接收所述第二二进制代码, 执行所述第二二进制代码以运行数据 密集型应用程序, 并获取所述移动终端在执行所述第二二进制代码时, 所述移动终端内参 与执行所述第二二进制代码的硬件的第二运行参数信息, 其中, 所述数据密集型应用程序 包括使用开放运算语言 OpenCL 编写的所述 kernel 代码, 所述数据密集型应用程序用于实 现所述移动终端的至少一项功能 ; 所述移动终端还用于将所述第二运行参数信息发送给所述云端 ; 所述云端还用于接收所述第二运行参数信息, 并根据所述第二运行参数信息对所述第 二二进制代码进行更新。
32、。 43. 根据权利要求 42 所述的通信系统, 其特征在于 : 所述移动终端还用于存储所述第二二进制代码。 44. 根据权利要求 42 或 43 所述的通信系统, 其特征在于 : 所述第二二进制代码是所述云端根据缺省设置的运行参数信息对所述 kernel 代码进 行编译得到的。 45. 根据权利要求 42 或 43 所述的通信系统, 其特征在于 : 所述第二二进制代码是所述云端根据第一运行参数信息对存储在所述云端的第一二 进制代码进行更新得到的, 所述第一运行参数信息是所述移动终端在执行所述第一二进 制代码时, 所述移动终端内参与执行所述第一二进制代码的硬件的运行参数信息, 所述第 一二进制。
33、代码实现的功能和所述 kernel 代码实现的功能相同。 46. 根据权利要求 45 所述的通信系统, 其特征在于 : 在所述移动终端中存储有所述第一二进制代码时, 所述移动终端具体用于向所述云端发送请求, 所述请求包括所述第一二进制代码 ; 所述云端具体用于接收所述请求, 根据所述请求比较所述第一二进制代码和所述第 二二进制代码是否相同 ; 并在所述第一二进制代码和所述第二二进制代码不相同时, 所述 云端将所述第二二进制代码发送给所述移动终端。 权 利 要 求 书 CN 104331302 A 8 8/8 页 9 47. 根据权利要求 46 所述的通信系统, 其特征在于 : 在第一标识用于表。
34、示所述第一二进制代码, 第二标识用于表示所述第二二进制代码 时, 所述移动终端具体用于向所述云端发送请求, 所述请求包括所述第一标识 ; 所述云端具体用于接收所述请求, 根据所述请求比较所述第一标识和所述第二标识是 否相同, 并在所述第一标识和所述第二标识不相同时, 将所述第二二进制代码发送给所述 移动终端。 48. 根据权利要求 42 至 47 任一项所述的通信系统, 其特征在于 : 所述第二运行参数信息包括所述移动终端内部的数据拷贝速度和所述第二二进制代 码的数据并行度。 权 利 要 求 书 CN 104331302 A 9 1/23 页 10 一种应用更新方法、 移动终端和通信系统 技术。
35、领域 0001 本发明涉及通信技术领域, 尤其涉及一种应用更新方法、 移动终端和通信系统。 背景技术 0002 开放运算语言 (OpenCL, Open Computing Language) 异构系统架构的主流语言标 准之一, 在移动设备的软件开发中广泛使用, 主要用于图像、 视频和游戏等数据处理密集型 领域。 0003 使用 OpenCL 编写的应用程序包括应用程序编程接口 API 函数和核心 kernel 代 码。 当前, 为了运行移动设备上使用OpenCL编写的应用程序, 需要首先使用API函数对移动 设备进行OpenCL运行环境的初始化, 在初始化的过程中, 还需要对kernel代码。
36、进行编译以 得到与kernel代码相对应的二进制代码。 现有技术的缺陷在于 : 在移动设备侧编译kernel 代码, 导致应用程序的启动速度较慢。 发明内容 0004 本发明提供一种应用更新方法、 移动终端和通信系统, 用于在一定程度上提升应 用程序的运行速度。 0005 第一方面, 本发明提供一种应用更新方法, 该方法包括 : 移动终端向云端发送请 求, 用于请求所述云端将存储在所述云端的第二二进制代码发送给所述移动终端, 所述第 二二进制代码实现的功能和 kernel 代码实现的功能相同 ; 0006 所述移动终端接收所述云端发送的所述第二二进制代码 ; 0007 所述移动终端执行所述第二。
37、二进制代码以运行数据密集型应用程序, 并获取所述 移动终端在执行所述第二二进制代码时, 所述移动终端内参与执行所述第二二进制代码的 硬件的第二运行参数信息, 所述数据密集型应用程序包括使用开放运算语言 OpenCL 编写 的所述 kernel 代码, 所述数据密集型应用程序用于实现所述移动终端的至少一项功能 ; 0008 所述移动终端将所述第二运行参数信息发送给所述云端, 以使所述云端依据所述 第二运行参数信息对所述第二二进制代码进行更新。 0009 结合第一方面, 在第一方面的第一种实施方式下, 所述移动终端包括主处理器 host 和从处理器 device, 所述方法具体包括 : 0010 。
38、所述 host 向所述云端发送请求, 用于请求所述云端将存储在所述云端的所述第 二二进制代码发送给所述 host, 所述第二二进制代码实现的功能和所述 kernel 代码实现 的功能相同 ; 0011 所述 host 接收所述云端发送的所述第二二进制代码, 并将所述第二二进制代码 传递给所述 device, 以使所述 device 执行所述第二二进制代码, 从而运行所述数据密集型 应用程序, 所述数据密集型应用程序包括所述 kernel 代码, 所述数据密集型应用程序用于 实现所述移动终端的至少一项功能 ; 0012 所述 device 执行所述第二二进制代码 ; 说 明 书 CN 10433。
39、1302 A 10 2/23 页 11 0013 所述 host 获取所述 device 在执行所述第二二进制代码时, 所述 device 内参与执 行所述第二二进制代码的硬件的第二运行参数信息, 并将所述第二运行参数信息发送给所 述云端, 以使所述云端依据所述第二运行参数信息对所述第二二进制代码进行更新。 0014 结合第一方面或者第一方面的第一种实施方式, 在第一方面的第二种实施方式 下, 所述第二二进制代码是由所述云端根据缺省设置的运行参数信息对存储在所述云端的 所述 kernel 代码进行编译得到的。 0015 结合第一方面的第一种实施方式, 在第一方面的第三种实施方式下, 所述第二二。
40、 进制代码是由所述云端根据第一运行参数信息对存储在所述云端的第一二进制代码进行 更新得到的, 所述第一运行参数信息是所述 device 在执行所述第一二进制代码时, 所述 device 内参与执行所述第一二进制代码的硬件的运行参数信息, 所述第一二进制代码实现 的功能和所述 kernel 代码实现的功能相同。 0016 结合第一方面的第三种实施方式, 在第一方面的第四种实施方式下, 在所述 host 中存储有所述第一二进制代码时, 0017 所述 host 向所述云端发送请求, 用于请求所述云端将存储在所述云端的所述第 二二进制代码发送给所述 host, 具体包括 : 0018 所述 host。
41、 向所述云端发送请求, 用于请求所述云端在确定所述第二二进制代码 和所述第一二进制代码不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括 所述第一二进制代码, 其中, 所述第一二进制代码是由所述云端发送给所述 host 并存储在 所述 host 中的。 0019 结合第一方面的第四种实施方式, 在第一方面的第五种实施方式下, 在第一标识 用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码时 ; 0020 所述 host 向所述云端发送请求, 用于请求所述云端在确定所述第二二进制代码 和所述第一二进制代码不相同时, 将所述第二二进制代码发送给所述 host, 所述。
42、请求包括 所述第一二进制代码, 具体包括 : 0021 所述 host 向所述云端发送请求, 用于请求所述云端在确定所述第一标识和所述 第二标识不相同时, 将所述第二二进制代码发送给所述 host, 所述请求包括所述第一标识。 0022 结合第一方面的第一种实施方式至第一方面的第五种实施方式中任一种实施方 式, 在第一方面的第六种实施方式下, 所述 host 接收所述云端发送的所述第二二进制代码 之后, 还包括 : 0023 所述 host 存储所述第二二进制代码。 0024 结合第一方面或者第一方面的第一种实施方式至第一方面的第六种实施方式中 任一种实施方式, 在第一方面的第七种实施方式下,。
43、 所述第二运行参数信息包括所述 host 和所述 device 之间的数据拷贝速度和所述第二二进制代码的数据并行度。 0025 结合第一方面的第七种实施方式, 在第一方面的第八种实施方式下, 所述 host 获 取所述 device 在执行所述第二二进制代码时, 所述 device 内参与执行所述第二二进制代 码的硬件的第二运行参数信息之后, 还包括 : 0026 所述host根据所述第二二进制代码的数据并行度除以所述device的硬件并发信 息的值, 设置所述 device 中每一计算单元需处理的数据量。 0027 第二方面, 本发明还提供一种应用更新方法, 该方法包括 : 说 明 书 CN。
44、 104331302 A 11 3/23 页 12 0028 接收移动终端发送的请求 ; 0029 根据所述请求, 向所述移动终端发送第二二进制代码, 以使所述移动终端执行所 述第二二进制代码以运行数据密集型应用程序, 并获取所述移动终端在执行所述第二二进 制代码时, 所述移动终端内参与执行所述第二二进制代码的硬件的第二运行参数信息 ; 所 述第二二进制代码实现的功能和 kernel 代码实现的功能相同, 所述数据密集型应用程序 包括使用开放运算语言 OpenCL 编写的所述 kernel 代码 ; 0030 接收所述移动终端返回的所述第二运行参数信息, 并根据所述第二运行参数信息 对所述第二。
45、二进制代码进行更新。 0031 结合第二方面, 在第二方面的第一种实施方式下, 所述第二二进制代码是根据缺 省设置的运行参数信息对所述 kernel 代码进行编译得到的。 0032 结合第二方面, 在第二方面的第二种实施方式下, 所述第二二进制代码是根据第 一运行参数信息对第一二进制代码进行更新得到的, 所述第一运行参数是所述移动终端在 执行所述第一二进制代码时, 所述移动终端内参与执行所述第一二进制代码的硬件的运行 参数信息, 所述第一二进制代码实现的 功能和所述 kernel 代码实现的功能相同。 0033 结合第二方面的第二种实施方式, 在第二方面的第三种实施方式下, 在所述移动 终端中。
46、存储有所述第一二进制代码时, 0034 所述接收移动终端发送的请求, 包括 : 0035 接收所述移动终端发送的请求, 所述请求包括所述第一二进制代码 ; 0036 所述根据所述请求, 向所述移动终端发送第二二进制代码, 具体包括 : 0037 比较所述第二二进制代码和所述第一二进制代码是否相同, 在所述第二二进制代 码和所述第一二进制代码不相同时, 根据所述请求向所述移动终端发送所述第二二进制代 码。 0038 结合第二方面的第三种实施方式, 在第二方面的第四种实施方式下, 在第一标识 用于表示所述第一二进制代码, 第二标识用于表示所述第二二进制代码时 ; 0039 所述接收所述移动终端发送。
47、的请求, 所述请求包括所述第一二进制代码, 包括 : 0040 接收所述移动终端发送的请求, 所述请求包括所述第一标识 ; 0041 所述比较所述第二二进制代码和所述第一二进制代码是否相同, 在所述第二二进 制代码和所述第一二进制代码不相同时, 根据所述请求向所述移动终端发送所述第二二进 制代码, 具体包括 : 0042 比较所述第一标识和所述第二标识是否相同, 在所述第一标识和所述第二标识不 相同时, 根据所述请求向所述移动终端发送所述第二二进制代码。 0043 第三方面, 本发明还提供一种应用更新方法, 该方法包括 : 0044 移动终端向云端发送请求, 用于请求所述云端将存储在所述云端内。
48、的第二二进制 代码发送给所述移动终端, 所述第二二进制代码实现的功能和 kernel 代码实现的功能相 同 ; 0045 所述云端接收所述请求, 根据所述请求将所述第二二进制代码发送给所述移动终 端 ; 0046 所述移动终端接收所述第二二进制代码, 执行所述第二二进制代码以运行数据密 集型应用程序, 并获取所述移动终端在执行所述第二二进制代码时, 所述移动终端内参与 说 明 书 CN 104331302 A 12 4/23 页 13 执行所述第二二进制代码的硬件的第二运行参数信息, 其中, 所述数据密集型应用程序包 括使用开放运算语言 OpenCL 编写的所述 kernel 代码, 所述数据。
49、密集型应用程序用于实现 所述移动终端的至少一项功能 ; 0047 所述移动终端将所述第二运行参数信息发送给所述云端 ; 0048 所述云端接收所述第二运行参数信息, 并根据所述第二运行参数信息对所述第 二二进制代码进行更新。 0049 结合第三方面, 在第三方面的第一种实施方式下, 所述第二二进制代码是所述云 端根据缺省设置的运行参数信息对所述 kernel 代码进行编译得到的。 0050 结合第三方面, 在第三方面的第二种实施方式下, 所述第二二进制代码是所述云 端根据第一运行参数信息对存储在所述云端的第一二进制代码进行更新得到的, 所述第一 运行参数信息是所述移动终端在执行所述第一二进制代码时, 所述移动终端内参与执行所 述第一二进制代码的硬件的运行参数信息, 所述第一二进制代码实现的功能和所述 kernel 代码实现的功能相同。 0051 结合第三方面的第二种实施方式, 在第三方面的第三种实施方式下, 在所述移动 终端中存储有所述第一二进制代码时, 0052 所述移动终端向云端发送请求, 具体包括 : 0053 所述移动终端向所述云端发送请求, 所述请求包括所述第一二。