基于多终端的软件开发的处理方法和装置的制作方法

文档序号:6382291阅读:199来源:国知局
专利名称:基于多终端的软件开发的处理方法和装置的制作方法
技术领域
本发明涉及计算机技术,尤其涉及一种基于多终端软件开发的处理方法和装置。
背景技术
目前,随着终端的不断发展,终端平台的种类也是多种多样,例如硬件平台、软件平台或者系统平台等,且各个终端平台的应用程序开发环境各不相同,从而给开发者造成很大的困扰。现有的基于终端平台的软件开发环境的搭建方法主要为本地计算机通过联合测试行动小组(Joint Test ActionGroup ;简称JTAG)仿真器、通用串行总线(UniversalSerial BUS ;简称USB)以及网线等连接媒介直接和开发终端平台进行连接 ,然后,开发者将支持终端平台软件开发的开发包安装在本地计算机中,该本地计算机通过本地软件编辑、编译以及调试等操作最终实现该终端平台的软件开发过程。但是,当一台本地计算机针对不同的终端平台时,需要本地计算机安装不同的终端开发环境,同时也需要在不同的终端平台中安装与本地计算机相应的协议通信终端程序,从而增加了本地计算机对终端平台的软件开发的成本。另外,终端的运行环境本身就是有限的,还需要增加和本地计算机之间的通信和命令解析环节,从而增加了终端平台本身的运算负担。

发明内容
本发明提供一种基于多终端软件开发的处理方法和装置,用于实现本地计算机在对多个终端平台进行软件开发的同时,还有效地降低了本地计算机终端对终端平台软件开发的成本,以及终端平台本身的运算负担。本发明的第一个方面是提供一种基于多终端的软件开发的处理方法,包括接收客户端发送的配置请求消息,所述配置请求消息包括终端类型、应用程序的类型和函数库;获取与所述终端类型对应的交叉编译工具,并根据所述交叉编译工具,以及所述应用程序的类型和所述函数库,生成软件工程;将所述软件工程中的框架发送给所述客户端,以供所述客户端根据所述软件工程中的框架,获取第一源代码,并对所述第一源代码进行编辑,获取第二源代码;接收所述客户端发送的携带有所述第二源代码的编译指令,并根据所述编译指令和所述第二源代码,编译所述软件工程,并生成第一执行文件;将携带有所述第一执行文件的运行指令发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第一执行文件进行本地运行和调试。本发明的另一个方面是提供一种基于多终端的软件开发的处理装置,包括收发模块,用于接收客户端发送的配置请求消息,所述配置请求消息包括终端类型、应用程序的类型和函数库;软件工程获取模块,用于获取与所述终端类型对应的交叉编译工具,并根据所述交叉编译工具,以及所述应用程序的类型和所述函数库,生成软件工程;所述收发模块还用于将所述软件工程中的框架发送给所述客户端,以供所述客户端根据所述软件工程中的框架,获取第一源代码,并对所述第一源代码进行编辑,获取第二源代码;接收所述客户端发送的携带有所述第二源代码的编译指令;执行文件获取模块,用于根据所述编译指令和所述第二源代码,编译所述软件工程,并生成第一执行文件;所述收发模块还用于将携带有所述第一执行文件的运行指令发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第一执行文件进行本地运行和调试。本发明的技术效果是通过接收客户端发送的配置消息,获取与该配置消息中的 终端类型对应的交叉编译工具,并根据该交叉编译工具,以及该配置消息中的应用程序的类型和函数库,配置软件工程;然后将该软件工程中的框架发送给客户端,再根据接收到的该客户端发送的携带有第二源代码的编译指令和该第二源代码,编译该软件工程,生成第一执行文件,最后将该第一执行文件发送给该终端类型对应的终端,从而使得该客户端不需要为不同的终端分别生成不同的执行文件,进而有效地节省了软件开发的成本,进而实现本地计算机在对多个终端平台进行软件开发的同时,还有效地降低了本地计算机终端对终端平台软件开发的成本,以及终端平台本身的运算负担。


图I为本发明基于多终端的软件开发的处理方法的一个实施例的流程图;图2为本发明基于多终端的软件开发的处理方法的另一个实施例的流程图;图3为本发明基于多终端的软件开发的处理方法的又一个实施例的流程图;图4为本发明基于多终端的软件开发的处理装置的一个实施例的结构示意图;图5为本发明基于多终端的软件开发的处理装置的另一个实施例的结构示意图。
具体实施例方式图I为本发明基于多终端的软件开发的处理方法的一个实施例的流程图,如图I所示,本实例的执行主体为开发平台,则该方法包括步骤101、接收客户端发送的配置请求消息,该配置请求消息包括终端类型、应用程序的类型和函数库。在本实施例中,应用程序的类型包括可执行的程序和对话框程序等,其中,函数库是库函数的实体和集合,函数库里面包含了多个库函数。步骤102、获取与该终端类型对应的交叉编译工具,并根据该交叉编译工具,以及该应用程序的类型和该函数库,生成软件工程。其中,交叉编译工具里面包含开发工具链(Tool Chain)以及编译时所需要的基本函数库等。软件工程指的是开发需要所生成的整个软件开发框架和基础设置,在整个软件开发工程里面,包括软件工程文件,例如基于Linux平台开发时会生成Makefile文件。换言之,软件工程是开发软件过程中所创建的工程文件夹和框架、配置文件以及源代码、所涉及的资源等所组成的工程文件。该软件工程文件指明了软件开发的类型,编译时所调用的函数库以及生成目标文件的目录,还包括用户信息、终端类型、所运行的平台等。该软件工程文件主要包括交叉编译工具、需要编译的源代码框架和头文件、编译所需要的库函数、第三方软件、编译时所需要的其他资源(例如函数库、头文件所存放的位置、生成的目标文件所存放的位置等)以及指定编译生成的目标文件类型和存放的路径等。其中,头文件是函数库对外的库函数的申明,在源文件中调用某个库函数时,需要将包含 该库函数的头文件include在该源文件开始。另外,检测开发软件所需要的相关资源,如果没有,则提示用户上传该软件开发的相关资源到指定目录。其中,开发软件是指开发程序时所处的开发环境 IDE。步骤103、将该软件工程中的框架发送给该客户端,以供该客户端根据该软件工程中的框架,获取第一源代码,并对该第一源代码进行编辑,获取第二源代码。其中,该需要编译的源代码框架对应的源代码为第二源代码。步骤104、接收该客户端发送的携带有该第二源代码的编译指令,并根据该编译指令和该第二源代码,编译该软件工程,生成第一执行文件。步骤105、将携带有该第一执行文件的运行指令发送给该终端类型对应的终端,以供该终端根据该运行指令,对该第一执行文件进行本地运行和调试。在本实施例中,通过接收客户端发送的配置消息,获取与该配置消息中的终端类型对应的交叉编译工具,并根据该交叉编译工具,以及该配置消息中的应用程序的类型和函数库,配置软件工程;然后将该软件工程中的框架发送给客户端,再根据接收到的该客户端发送的携带有第二源代码的编译指令和该第二源代码,编译该软件工程,生成第一执行文件,最后将该第一执行文件发送给该终端类型对应的终端,从而使得该客户端不需要为不同的终端分别生成不同的执行文件,进而有效地节省了软件开发的成本,进而实现本地计算机在对多个终端平台进行软件开发的同时,还有效地降低了本地计算机终端对终端平台软件开发的成本,以及终端平台本身的运算负担。图2为本发明基于多终端的软件开发的处理方法的另一个实施例的流程图,在上述图I所示实施例的基础上,如图2所示,步骤105之后,该方法还包括步骤106、接收该终端类型对应的终端反馈的调试信息,该调试信息为该终端根据该执行文件运行过程中获取的调试信息。步骤107、根据该应用程序的类型和该函数库,对该调试信息进行分析,获取分析结果,并将该分析结果发送给该客户端。优选地,步骤107之后,该方法还可以包括步骤108、接收该终端发送的携带有第三源代码的编译指令,该第三源代码为该终端根据该分析结果,对该第一源代码进行修改以及编译处理后获取的源代码。步骤109、根据该编译指令和该第三源代码,编译该软件工程,生成第二执行文件。步骤110、将该第二执行文件发送给该终端类型对应的终端,以供该终端根据该运行指令,对该第二执行文件进行本地运行和调试。图3为本发明基于多终端的软件开发的处理方法的又一个实施例的流程图,在上述图I所示实施例的基础上,步骤101之前,该方法还包括步骤100、接收客户端发送的认证请求消息,并对该认证请求消息进行认证处理。在本实例中,该认证请求消息包括用户名、密码、邀请码和开发账户等信息。
则步骤101可以具体为在认证成功后,接收该客户端发送的该配置请求消息。进一步的,在本发明的还一个实施例中,在上述所示实施例的基础上,该方法还可以进一步包括;若在预定时间内,没有接收到该客户端发送的心跳包,则保存该软件工程文件和该第二源代码,或者该软件工程文件和该第三源代码,并停止编译该软件工程文件的。在本实例中,需要说明的是,在软件开发的过程中,通常会出现异常情况,例如客户端掉线。因此,客户端可以定时向开发平台发送心跳包,以确保开发平台和客户端之间正常连接。当客户端出现掉线时,开发平台在预定时间内,没有接收到客户端发送的心跳包,即说明客户端掉线,则可以关闭该进程,具体的,保存该软件工程和该第二源代码,或者该
软件工程和该第三源代码,并停止编译该软件工程的,从而有效地节省了资源。更进一步的,还需要说明的是,开发平台会出现同时开发两个终端对应的软件,且终端的终端类型不相同,则可以采用传令牌方式进行,即在软件开发前,先争夺传令牌,如果一个终端类型存在与其对应的传令牌,即为该终端类型分配了传令牌,则先对分配传令牌的终端类型对应的终端进行软件开发,软件开发完成后,在将该传令牌传给其他终端类型对应的终端,以进行软件开发。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图4为本发明基于多终端的软件开发的处理装置的一个实施例的结构示意图,如图4所示,本实例的装置包括收发模块11、软件工程获取模块12和执行文件获取模块13。其中,收发模块11用于接收客户端发送的配置请求消息,该配置请求消息包括终端类型、应用程序的类型和函数库;软件工程获取模块12用于获取与该终端类型对应的交叉编译工具,并根据该交叉编译工具,以及该应用程序的类型和该函数库,生成软件工程;收发模块11还用于将该软件工程中的框架发送给所述客户端,以供该客户端根据该软件工程中的框架,获取第一源代码,并对该第一源代码进行编辑,获取第二源代码;接收该客户端发送的携带有该第二源代码的编译指令;执行文件获取模块13用于根据该编译指令和该第二源代码,编译该软件工程,并生成第一执行文件;收发模块11还用于将携带有该第一执行文件的运行指令发送给该终端类型对应的终端,以供该终端根据该运行指令,对该第一执行文件进行本地运行和调试。本实施例中的基于多终端的软件开发的处理装置可以执行图I所示方法实例的技术方案,其实现原理相类似,此处不再赘述。通过接收客户端发送的配置消息,获取与该配置消息中的终端类型对应的交叉编译工具,并根据该交叉编译工具,以及该配置消息中的应用程序的类型和函数库,配置软件工程;然后将该软件工程中的框架发送给客户端,再根据接收到的该客户端发送的携带有第二源代码的编译指令和该第二源代码,编译该软件工程,生成第一执行文件,最后将该第一执行文件发送给该终端类型对应的终端,从而使得该客户端不需要为不同的终端分别生成不同的执行文件,进而有效地节省了软件开发的成本,进而实现本地计算机在对多个终端平台进行软件开发的同时,还有效地降低了本地计算机终端对终端平台软件开发的成本,以及终端平台本身的运算负担。图5为本发明基于多终端的软件开发的处理装置的另一个实施例的结构示意图,在上述图4所示实施例的基础上,如图5所示,收发模块11还用于接收该终端类型对应的终端反馈的调试信息,该调试信息为该终端根据该执行文件运行过程中获取的调试信息;则该装置还包括分析模块14,用于根据该应用程序的类型和该函数库,对该调试信息进行分析,获取分析结果。收发模块11还用于将该分析结果发送给该客户端。
可选地,该收发模块11还用于接收该终端发送的携带有第三源代码的编译指令,该第三源代码为所述终端根据该分析结果,对该第一源代码进行修改以及编译处理后获取的源代码;执行文件获取模块13还用于根据该编译指令和该第三源代码,编译该软件工程,并生成第二执行文件;收发模块11还用于将该第二执行文件发送给该终端类型对应的终端,以供该终端根据该运行指令,对该第二执行文件进行本地运行和调试。更为可选地,该收发模块11还用于接收客户端发送的认证请求消息。则装置还包括认证模块15,用于对该认证请求消息进行认证处理;并在认证成功后,该所述客户端发送的该配置请求消息。更为可选地,该装置还包括保存模块16,用于若在预定时间内,该收发模块11没有接收到该客户端发送的心跳包,则保存该软件工程和该第二源代码,或者该软件工程和该第三源代码,并触发执行文件获取模块13停止编译该软件工程的。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种基于多终端的软件开发的处理方法,其特征在于,包括 接收客户端发送的配置请求消息,所述配置请求消息包括终端类型、应用程序的类型和函数库; 获取与所述终端类型对应的交叉编译工具,并根据所述交叉编译工具,以及所述应用程序的类型和所述函数库,生成软件工程; 将所述软件工程中的框架发送给所述客户端,以供所述客户端根据所述软件工程中的框架,获取第一源代码,并对所述第一源代码进行编辑,获取第二源代码; 接收所述客户端发送的携带有所述第二源代码的编译指令,并根据所述编译指令和所述第二源代码,编译所述软件工程,并生成第一执行文件; 将携带有所述第一执行文件的运行指令发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第一执行文件进行本地运行和调试。
2.根据权利要求I所述的基于多终端的软件开发的处理方法,其特征在于,所述将所述第一执行文件发送给所述终端类型对应的终端之后,所述方法还包括 接收所述终端类型对应的终端反馈的调试信息,所述调试信息为所述终端根据所述执行文件运行过程中获取的调试信息; 根据所述应用程序的类型和所述函数库,对所述调试信息进行分析,获取分析结果,并将所述分析结果发送给所述客户端。
3.根据权利要求2所述的基于多终端的软件开发的处理方法,其特征在于,还包括 接收所述终端发送的携带有第三源代码的编译指令,所述第三源代码为所述终端根据所述分析结果,对所述第一源代码进行修改以及编译处理后获取的源代码; 根据所述编译指令和所述第三源代码,编译所述软件工程,并生成第二执行文件; 将所述第二执行文件发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第二执行文件进行本地运行和调试。
4.根据权利要求I所述的基于多终端的软件开发的处理方法,其特征在于,所述接收客户端发送的配置请求消息之前,所述方法还包括 接收客户端发送的认证请求消息,并对所述认证请求消息进行认证处理; 则接收客户端发送的配置请求消息具体包括 在认证成功后,接收所述客户端发送的所述配置请求消息。
5.根据权利要求I至4任一所述的基于多终端的软件开发的处理方法,其特征在于,还包括 若在预定时间内,没有接收到所述客户端发送的心跳包,则保存所述软件工程和所述第二源代码,或者所述软件工程和所述第三源代码,并停止编译所述软件工程的。
6.一种基于多终端的软件开发的处理装置,其特征在于,包括 收发模块,用于接收客户端发送的配置请求消息,所述配置请求消息包括终端类型、应用程序的类型和函数库; 软件工程获取模块,用于获取与所述终端类型对应的交叉编译工具,并根据所述交叉编译工具,以及所述应用程序的类型和所述函数库,生成软件工程; 所述收发模块还用于将所述软件工程中的框架发送给所述客户端,以供所述客户端根据所述软件工程中的框架,获取第一源代码,并对所述第一源代码进行编辑,获取第二源代码;接收所述客户端发送的携带有所述第二源代码的编译指令; 执行文件获取模块,用于根据所述编译指令和所述第二源代码,编译所述软件工程,并生成第一执行文件; 所述收发模块还用于将携带有所述第一执行文件的运行指令发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第一执行文件进行本地运行和调试。
7.根据权利要求6所述的基于多终端的软件开发的处理装置,其特征在于,所述收发模块还用于接收所述终端类型对应的终端反馈的调试信息,所述调试信息为所述终端根据所述执行文件运行过程中获取的调试信息; 则所述装置还包括 分析模块,用于根据所述应用程序的类型和所述函数库,对所述调试信息进行分析,获取分析结果; 所述收发模块还用于将所述分析结果发送给所述客户端。
8.根据权利要求7所述的基于多终端的软件开发的处理装置,其特征在于,所述收发模块还用于接收所述终端发送的携带有第三源代码的编译指令,所述第三源代码为所述终端根据所述分析结果,对所述第一源代码进行修改以及编译处理后获取的源代码; 所述执行文件获取模块还用于根据所述编译指令和所述第三源代码,编译所述软件工程,并生成第二执行文件; 所述收发模块还用于将所述第二执行文件发送给所述终端类型对应的终端,以供所述终端根据所述运行指令,对所述第二执行文件进行本地运行和调试。
9.根据权利要求6所述的基于多终端的软件开发的处理装置,其特征在于,所述收发模块还用于接收客户端发送的认证请求消息; 则所述装置还包括 认证模块,用于对所述认证请求消息进行认证处理;并在认证成功后,接收所述客户端发送的所述配置请求消息。
10.根据权利要求6至9任一所述的基于多终端的软件开发的处理装置,其特征在于,还包括 保存模块,用于若在预定时间内,所述收发模块没有接收到所述客户端发送的心跳包,则保存所述软件工程和所述第二源代码,或者所述软件工程和所述第三源代码,并触发执行文件获取模块停止编译所述软件工程的。
全文摘要
本发明提供一种基于多终端软件开发的处理方法和装置,该方法包括接收客户端发送的配置请求消息,配置请求消息包括终端类型、应用程序的类型和函数库;获取与终端类型对应的交叉编译工具,并根据交叉编译工具,以及应用程序的类型和函数库,生成软件工程;将软件工程中的框架发送给客户端,以供客户端根据软件工程中的框架,获取第一源代码,并对第一源代码进行编辑,获取第二源代码;接收客户端发送的携带有第二源代码的编译指令,并根据编译指令和第二源代码,编译软件工程,并生成第一执行文件;将携带有第一执行文件的运行指令发送给终端类型对应的终端,以供终端根据运行指令,对第一执行文件进行本地运行和调试。
文档编号G06F9/44GK102955698SQ20121048767
公开日2013年3月6日 申请日期2012年11月26日 优先权日2012年11月26日
发明者李铭轩, 刘晓靖, 刘旭, 王志军 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1