[发明专利]编译程序的方法和装置有效
申请号: | 201410105556.7 | 申请日: | 2014-03-20 |
公开(公告)号: | CN103914329B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 陈伟 | 申请(专利权)人: | 北京京东尚科信息技术有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;H04L29/06 |
代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 刘光明,陆锦华 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译程序 方法 装置 以及 系统 | ||
技术领域
本发明涉及计算机技术领域,特别地涉及一种编译程序的方法和装置。
背景技术
随着移动互联网的发展,有越来越多的开发者竞相开发移动应用程序。开发者在编写完成应用程序的源代码之后,和证书一起提交到编译系统,该编译系统对证书进行验证,验证通过后对该源代码进行编译。例如在苹果公司开发的iOS平台上,开发者手动导入.p12证书到钥匙串,手动导入.mobileprovision到Xcode中,由编译器Xcode进行编译。
发明内容
本发明的主要目的是提供一种编译程序的方法和装置,帮助移动应用程序开发者在仅具有应用程序源代码和证书的情况下完成程序编译。
为实现上述目的,根据本发明的一个方面,提供了一种编译程序的方法。
本发明的编译程序的方法包括:接收用于编译程序的数据,所述数据包括程序源代码和证书;记录证书验证状态为未完成;启动主线程和验证线程;所述验证线程包括:启动证书验证进程;在所述证书验证进程自动结束的情况下,将所述证书验证状态修改为已完成,然后结束验证线程,在所述证书验证进程被所述主线程终止的情况下直接结束验证线程;所述主线程包括:判断所述验证进程是否存在;在所述验证进程不存在的情况下检测证书验证状态:若证书验证状态为未完成,则启动设定时长的等待,并在等待过程中再次判断所述验证进程是否存在,以及在等待超时的情况下结束验证进程;若证书验证状态为已完成,则对所述程序源代码进行编译;在所述验证进程存在的情况下,启动设定时长的等待,并在等待过程中再次判断所述验证进程是否存在,以及在等待超时的情况下结束验证进程。
根据本发明的又一方面,提供了一种编译程序的装置。
本发明的编译程序的装置包括:接收模块,用于接收用于编译程序的数据,所述数据包括程序源代码和证书;记录模块,用于记录证书验证状态为未完成;验证线程模块,用于执行验证线程,所述验证线程包括:启动证书验证进程;在所述证书验证进程自动结束的情况下,将所述证书验证状态修改为已完成,然后结束验证线程,在所述证书验证进程被所述主线程终止的情况下直接结束验证线程;主线程模块,用于执行主线程,所述主线程包括:判断所述验证进程是否存在;在所述验证进程不存在的情况下检测证书验证状态:若证书验证状态为未完成,则启动设定时长的等待,并在等待过程中再次判断所述验证进程是否存在,以及在等待超时的情况下结束验证进程;若证书验证状态为已完成,则对所述程序源代码进行编译;在所述验证进程存在的情况下,启动设定时长的等待,并在等待过程中再次判断所述验证进程是否存在,以及在等待超时的情况下结束验证进程。
根据本发明的技术方案,由服务器提供编译环境,对用户提供的源程序进行编译,其中在验证证书时,若无证书访问权限则停止验证并且提示用户,以防内存耗尽而死机,实现了大批量的自动编译,并且使用户无需准备编译环境,在仅具有应用程序源代码和证书的情况下就能完成程序编译,降低了程序开发的成本。在服务器的处理方式上,采用验证证书的线程和主线程并行,能够准确地控制证书验证和编译的进程,在遇到不能访问的证书时能够提示用户并且停止证书验证,对于能够访问的证书则进行正常的验证。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的编译程序的系统的示意图;
图2是根据本发明实施例的编译程序的方法的示意图;
图3是根据本发明实施例的编译程序的装置的主要模块的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的编译程序的系统的示意图。如图1所示,编译程序的系统10主要包括第一服务器11和第二服务器12,二者可基于httpclient等协议进行通信;第一服务器11通过互联网2与多个终端设备31、32、……、3N连接,通过提供web服务,可以接收终端设备发送的源代码和证书,源代码和证书由第二服务器12进行处理,其中主要是对证书进行验证,并在验证通过的情况下对源代码进行编译。第一服务器11和第二服务器12可采用服务器集群,以处理海量终端设备发送的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司,未经北京京东尚科信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410105556.7/2.html,转载请声明来源钻瓜专利网。