[发明专利]服务于移动通讯的终端软件平台的编译方法及系统有效
申请号: | 201010256276.8 | 申请日: | 2010-08-18 |
公开(公告)号: | CN101916203A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 梁捷;林作健 | 申请(专利权)人: | 优视科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/46 |
代理公司: | 北京市安伦律师事务所 11339 | 代理人: | 吴华;张小英 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务 移动 通讯 终端 软件 平台 编译 方法 系统 | ||
技术领域:
本发明涉及一种服务于打包平台的编译方法及系统,特别是一种服务于移动通讯的终端软件平台的编译方法及系统。
背景技术:
目前,3G通讯市场上典型的终端软件应用平台有美国高通公司主导的BREW软件平台,GOOGLE推出的Android软件平台,ACCESS公司开发的基于Linux的ALP软件平台和韩国SKT主导的T-PAK软件平台等。其中,BREW是无线二进制运行环境(Binary Runtime Environment forWireless)的缩写,是基于CDMA网络“无线互联网发射平台”上增值业务开发运行的基本平台。
目前打包平台所普遍使用的nmake工具是Microsoft ProgramMaintenance Utility的别称,是美国微软公司开发的一种编译管理工具,用于判断依赖和执行命令,执行的命令通常为编译或链接命令。nmake是单进程的程序,必须等待某个编译程序完成工作才能够进行下一个工作,在目前多核的计算平台上面白白浪费了很多资源。而且编译器每次运行都需要连接服务器验证是否正版,因此大部分时间浪费在网络的IO上,严重制约了编译打包的效率。
发明内容:
本发明的目的是为了克服现有的打包平台所使用的系统编译程序单进程编译打包效率低的缺点,提供了一种更为完善的技术解决方案。
本发明提供了一种服务于移动通讯的终端软件平台的编译方法,包括:
依赖推导步骤,对系统编译程序进行实时监控,当所述系统编译程序发送申请创建进程的消息时,模仿操作系统发送消息使所述系统编译程序成功退出,并得到编译的命令行命令和命令列表;
编译步骤,启动调度程序,根据所述命令列表,进行多进程程序的编译,并根据所述多进程程序的编译结果执行后续命令。
其中,在所述依赖推导步骤中,进一步包括:
当所述系统编译程序进行依赖判断,并根据依赖关系向操作系统发送申请创建进程的消息时,截取所述消息,并且记录所述消息的数据;
模仿操作系统向所述系统编译程序发送“进程成功完成”的消息;
重复以上步骤,直到所述系统编译程序成功退出,并且记录所述命令行命令和命令列表。
其中,所述编译步骤中,进一步包括:
启动所述调度程序,对所述命令列表进行判断,当所述命令列表为空,或者所述系统编译程序出错时,退出所述调度程序;
当所述命令列表不为空,并且所述系统编译程序没有出错时,从所述命令列表中取出一条命令,进行判断;
当所述取出的命令为编译命令时,多进程编译模块进行编译处理;
当所述取出的命令不是编译命令时,等待所述多进程编译模块完成所有工作后,读取编译结果进行判断,当所述结果出错时,标记为出错,退出所述调度程序;
当所述结果正常时,执行后续命令。
其中,所述后续命令包括链接命令。
其中,所述多进程编译模块进行编译处理进一步包括:
对所述多进程编译模块的状态进行判断;
当所述多进程编译模块出错时,退出该编译模块;
当所述多进程编译模块的状态正常时,根据需要创建多个编译进程,并监控所有编译进程的工作状态;
当所述所有编译进程中的某个编译进程出错时,该编译进程标记为出错;
等待所述的所有编译进程完成后,记录所述编译结果。
本发明还提供了一种服务于移动通讯的终端软件平台的编译系统,包括:
监控模块,对系统编译程序进行实时监控,当所述系统编译程序发送申请创建进程的消息时,模仿操作系统发送消息使所述系统编译程序成功退出,并得到编译的命令行命令和命令列表;
编译器,用于启动调度程序,根据所述命令列表,进行多进程程序的编译,并根据所述多进程程序的编译结果执行后续命令。
其中,在所述监控模块中,进一步包括:
消息截取单元,当所述系统编译程序进行依赖判断,并根据依赖关系向操作系统发送申请创建进程的消息时,截取所述消息,并且记录所述消息的数据;
模仿单元,模仿操作系统向所述系统编译程序发送“进程成功完成”的消息;
指示单元,指示所述消息截取单元和模仿单元重复工作,直到所述系统编译程序成功退出,并且记录所述命令行命令和命令列表。
其中,在所述编译器中,进一步包括:
命令列表的判断模块,用于对所述命令列表进行判断,当所述命令列表已经为空,或者所述系统编译程序出错时,退出所述调度程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于优视科技有限公司,未经优视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010256276.8/2.html,转载请声明来源钻瓜专利网。