一种调试应用程序的方法和装置制造方法
【专利摘要】本发明公开了一种调试应用程序的方法和装置,属于计算机领域。该方法包括:接收终端发送的调试请求,所述调试请求携带所述终端的终端标识和项目的项目标识;根据所述终端标识和项目标识,获取所述项目对应的应用程序;根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,并在所述选择的开发环境中调试所述应用程序,得到调试结果;向所述终端发送所述调试结果。该装置包括:第一接收模块,第一获取模块,调试模块和发送模块。本发明不用在终端中搭建开发环境,减少了系统资源的占用,降低了终端能耗,提高了终端的运行速度;并且,降低了调试的复杂度,提高了调试的效率。
【专利说明】一种调试应用程序的方法和装置
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种调试应用程序的方法和装置。
【背景技术】
[0002]应用程序运行过程中出现各种漏洞的情况时有发生,因此,开发人员在开发过程中,需要调试写出来的应用程序,以获知该应用程序中存在的漏洞,进而对漏洞进行修复。
[0003]现有技术提供了一种调试应用程序的方法,开发人员首先在其终端上搭建一个开发环境,该开发环境包括虚拟机和数据库;开发人员再编写一个应用程序,通过该开发环境调试该应用程序。调试过程如下:终端在虚拟机上运行该应用程序,应用程序在运行过程中会从数据库中读取所需要的数据,且在应用程序运行结束后得到应用程序存在的漏洞和/或应用程序的运行结果,将应用程序存在的漏洞和/或运行结果作为调试结果。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]开发人员调试应用程序之前,需要在终端上搭建开发环境,使得调试工作变得繁琐,加大了调试的复杂度,降低了调试的效率;并且,开发环境占据很大的系统资源,提高了终端能耗,降低了终端的运行速度。
【发明内容】
[0006]为了使解决现有技术的问题,本发明提供了一种调试应用程序的方法和装置。技术方案如下:
[0007]—方面,本发明提供了一种调试应用程序的方法,所述方法包括:
[0008]接收终端发送的调试请求,所述调试请求携带所述终端的终端标识和项目的项目标识;
[0009]根据所述终端标识和项目标识,获取所述项目对应的应用程序;
[0010]根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,并在所述选择的开发环境中调试所述应用程序,得到调试结果;
[0011]向所述终端发送所述调试结果。
[0012]优选的,所述根据所述终端标识和项目标识,获取所述项目对应的应用程序,包括:
[0013]根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径;
[0014]从服务器中所述存储路径对应的存储空间中获取所述项目对应的应用程序。
[0015]优选的,所述根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径,包括:
[0016]根据所述终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识;
[0017]根据所述用户标识和所述项目标识,生成所述项目的项目域名;
[0018]根据所述项目的项目域名,从项目域名和存储路径的对应关系中获取所述项目对应的应用程序的存储路径。
[0019]优选的,所述从所述存储路径对应的存储空间中获取所述项目对应的应用程序之前,还包括:
[0020]根据所述存储路径,从存储路径和共孚路径的对应关系中获取共孚路径;
[0021]从所述终端中的所述共享路径对应的共享空间中获取应用程序,将所述获取的应用程序存储到所述服务器中的所述存储路径对应的存储空间中。
[0022]优选的,所述方法还包括:
[0023]接收所述终端发送的绑定请求,所述绑定请求携带所述终端标识和所述项目标识;
[0024]根据所述终端标识和所述项目标识,生成共享路径;
[0025]在服务器中为所述项目创建存储空间,并生成所述存储空间对应的存储路径;
[0026]将所述共享路径和所述存储路径存储在共享路径和存储路径的对应关系中。
[0027]优选的,所述根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,包括:
[0028]根据所述应用程序的属性信息获取所述应用程序的开发语言;
[0029]根据所述应用程序的开发语言,从开发语言和开发环境的对应关系中获取所述应用程序的开发语言对应的开发环境。
[0030]优选的,所述根据所述应用程序的属性信息获取所述应用程序的开发语言,包括:
[0031]从所述应用程序的属性信息中获取所述应用程序的扩展名;
[0032]根据所述应用程序的扩展名,从扩展名和开发语言的对应关系中获取所述应用程序的开发语言。
[0033]另一方面,本发明提供了一种调试应用程序的装置,所述装置包括:
[0034]第一接收模块,用于接收终端发送的调试请求,所述调试请求携带所述终端的终端标识和项目的项目标识;
[0035]第一获取模块,用于根据所述终端标识和项目标识,获取所述项目对应的应用程序;
[0036]调试模块,用于根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,并在所述选择的开发环境中调试所述应用程序,得到调试结果;
[0037]发送模块,用于向所述终端发送所述调试结果。
[0038]优选的,所述第一获取模块,包括:
[0039]第一获取单元,用于根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径;
[0040]第二获取单元,用于从服务器中所述存储路径对应的存储空间中获取所述项目对应的应用程序。
[0041]优选的,所述第一获取单元,包括:
[0042]第一获取子单元,用于根据所述终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识;
[0043]生成子单元,用于根据所述用户标识和所述项目标识,生成所述项目的项目域名;
[0044]第二获取子单元,用于根据所述项目的项目域名,从项目域名和存储路径的对应关系中获取所述项目对应的应用程序的存储路径。
[0045]优选的,所述装置还包括:
[0046]第二获取模块,用于根据所述存储路径,从存储路径和共享路径的对应关系中获取共孚路径;
[0047]第一存储模块,用于从所述终端中的所述共享路径对应的共享空间中获取应用程序,将所述获取的应用程序存储到所述服务器中的所述存储路径对应的存储空间中。
[0048]优选的,所述装置还包括:
[0049]第二接收模块,用于接收所述终端发送的绑定请求,所述绑定请求携带所述终端标识和所述项目标识;
[0050]第一生成模块,用于根据所述终端标识和所述项目标识,生成共享路径;
[0051]第二生成模块,用于在服务器中为所述项目创建存储空间,并生成所述存储空间对应的存储路径;
[0052]第二存储模块,用于将所述共享路径和所述存储路径存储在共享路径和存储路径的对应关系中。
[0053]优选的,所述调试模块,包括:
[0054]第三获取单元,用于根据所述应用程序的属性信息获取所述应用程序的开发语言;
[0055]第四获取单元,用于根据所述应用程序的开发语言,从开发语言和开发环境的对应关系中获取所述应用程序的开发语言对应的开发环境。
[0056]优选的,所述第三获取单元,包括:
[0057]第三获取子单元,用于从所述应用程序的属性信息中获取所述应用程序的扩展名;
[0058]第四获取子单元,用于根据所述应用程序的扩展名,从扩展名和开发语言的对应关系中获取所述应用程序的开发语言。
[0059]在本发明实施例中,当终端需要调试应用程序时,终端向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识;服务器根据终端标识和项目标识,获取项目对应的应用程序,根据该应用程序的属性信息,选择该应用程序的开发语言对应的开发环境,并在选择的开发环境中调试该应用程序,得到调试结果;向终端发送该调试结果,从而不用在终端中搭建开发环境,减少了系统资源的占用,降低了终端能耗,提高了终端的运行速度;并且,降低了调试的复杂度,提高了调试的效率。
【专利附图】
【附图说明】
[0060]图1是本发明实施例1提供的一种调试应用程序的方法流程图;
[0061]图2-1是本发明实施例2提供的一种调试应用程序的方法流程图;
[0062]图2-2是本发明实施例2提供的一种调试应用程序的方法流程图;
[0063]图2-3是本发明实施例2提供的一种调试应用程序的示意图;
[0064]图3是本发明实施例3提供的一种调试应用程序的装置结构示意图。
【具体实施方式】
[0065]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0066]实施例1
[0067]本发明实施例提供了一种调试应用程序的方法,参见图1,该方法包括:
[0068]步骤101:接收终端发送的调试请求,调试请求携带终端的终端标识和项目的项目标识;
[0069]步骤102:根据终端标识和项目标识,获取项目对应的应用程序;
[0070]步骤103:根据应用程序的属性信息,选择应用程序的开发语言对应的开发环境,并在选择的开发环境中调试应用程序,得到调试结果;
[0071]步骤104:向终端发送调试结果。
[0072]在本发明实施例中,当终端需要调试应用程序时,终端向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识;服务器根据终端标识和项目标识,获取项目对应的应用程序,根据该应用程序的属性信息,选择该应用程序的开发语言对应的开发环境,并在选择的开发环境中调试该应用程序,得到调试结果;向终端发送该调试结果,从而不用在终端中搭建开发环境,减少了系统资源的占用,降低了终端能耗,提高了终端的运行速度;并且,降低了调试的复杂度,提高了调试的效率。
[0073]实施例2
[0074]本发明实施例提供了一种调试应用程序的方法,该方法的执行主体可以为服务器。参见图2-1,服务器通过以下步骤201-204绑定共享路径和存储路径的对应关系。其中,该方法包括:
[0075]步骤201:接收终端发送的配置请求,该配置请求携带开发语言,根据该开发语言在服务器中搭建该开发语言对应的开发环境;
[0076]在本发明实施例中,终端中不需要搭建开发环境,在服务器中搭建每种开发语言对应对应的开发环境,并在服务器中调试应用程序。在调试应用程序之前,终端向服务器发送配置请求,该配置请求携带开发语言;服务器从配置请求中获取该开发语言,并根据该开发语言在服务器中搭建该开发语言对应的开发环境。从而实现在服务器中搭建终端所需要的开发语言对应的开发环境。
[0077]步骤202:接收终端发送的绑定请求,该绑定请求携带终端的终端标识和项目的项目标识,并根据终端标识和项目标识,生成共享路径;
[0078]用户在做编写应用程序的项目时,一个项目对应一个应用程序;终端为用户的每个项目创建一个共享空间,接收用户输入的项目对应的应用程序,将该项目对应的应用程序存储在该项目对应的共享空间中。
[0079]在本发明实施例中,终端中不需要搭建开发环境,在服务器中搭建每种开发语言对应的开发环境,并在服务器中调试应用程序。在调试应用程序之前,终端向服务器发送绑定请求,该绑定请求携带终端的终端标识和项目的项目标识。服务器接收终端发送的绑定请求,从绑定请求中获取终端的终端标识和项目的项目标识,终端标识和项目标识组成共孚路径。
[0080]终端标识可以为终端的IP(Internet Protocol,网络之间互连的协议)地址等。项目标识可以为项目的文件夹名称等。则共享路径为IP+文件夹名称。
[0081]例如,终端的终端标识为\\172.19.100.2,项目的项目标识为code/sitel,终端发送绑定请求给服务器,该绑定请求携带和code/sitel,服务器接收终端发送的绑定请求,并从绑定请求中获取 \\172.19.100.2 和 code/sitel,根据 \\172.19.100.2 和 code/sitel生成共享路径为/sitel。
[0082]进一步地,该绑定请求中还可以携带项目的项目密码,服务器从该绑定请求中获取项目的项目密码,如此当服务器接收到项目对应的应用程序时,服务器通过该项目密码对该项目对应的应用程序进行加密,从而提高了应用程序的安全性。
[0083]服务器从该绑定请求中获取项目的项目密码,将项目的项目标识和项目的项目密码的对应关系存储在项目标识和项目密码的对应关系中。当终端在服务器中调试项目对应的应用程序时,根据项目密码对用户的身份进行验证。
[0084]进一步地,该绑定请求中还可以携带用户的用户标识,服务器从绑定请求中获取终端的终端标识和用户的用户标识,将终端的终端标识和项目的项目标识的对应关系存储在终端标识和用户标识的对应关系中。
[0085]步骤203:在服务器中为项目创建存储空间,并生成该存储空间对应的存储路径;
[0086]在本发明实施例中在服务器中调试应用程序,因此,需要将项目对应的应用程序存储到服务器中,在本步骤中,服务器在服务器中为项目创建存储空间,并生成该存储空间对应的存储路径。
[0087]例如,服务器在服务器中为项目创建存储空间,该存储空间对应的存储路径为/data_dev/jack。
[0088]步骤204:将获取的共孚路径和存储路径存储在共孚路径和存储路径的对应关系中。
[0089]参见图2-2,服务器通过以下步骤301-306对应用程序进行调试,包括:
[0090]步骤301:将共享路径对应的共享空间中的应用程序同步到存储路径对应的存储空间中;
[0091]在本发明实施例中,开发人员在终端中编写应用程序,在服务器中调试应用程序;在步骤202中,终端将每个项目对应的应用程序分别存储在该每个项目对应的共享空间中。因此,服务器需要将共享路径对应的共享空间中的应用程序同步到存储路径对应的存储空间中。在本步骤中,服务器可以通过第一种实现方式、第二种实现方式或者第三种实现方式将共享路径对应的共享空间中的应用程序同步到存储路径对应的存储空间中。
[0092]对于第一种实现方式,步骤301可以为:
[0093]终端对共享路径对应的共享空间中的应用程序进行检测,当检测到该共享路径对应的共享空间中的应用程序更新时,向服务器发送通知消息,该通知消息携带共享路径;月艮务器接收终端发送的通知消息,并根据共享路径,从终端中的共享路径对应的共享空间中获取应用程序。服务器根据共享路径,从存储路径和共享路径的对应关系中获取存储路径,将存储路径对应的存储空间中的应用程序更新为获取的应用程序。
[0094]对于第二种实现方式,步骤301可以为:
[0095]终端对共享路径对应的共享空间中的应用程序进行检测,当检测到该应用程序更新时,终端在该共享路径中设置更新标识;服务器对终端中的共享路径进行检测,当检测到终端共享路径中设置更新标识时,获取该共享路径,并根据该共享路径,从终端中的共享路径对应的共享空间中获取应用程序。服务器根据该共享路径,从存储路径和共享路径的对应关系中获取存储路径,将存储路径对应的存储空间中的应用程序更新为获取的应用程序。
[0096]进一步地,服务器根据该共享路径,从终端中的共享路径对应的共享空间中获取应用程序之后,终端取消该共享路径中的更新标识。
[0097]对于第三种实现方式,步骤301可以为:
[0098]服务器给终端发送查询请求,该查询请求携带共享路径;终端接收服务器发送的查询请求,并根据共享路径获取该共享路径对应的存储空间中的应用程序的日期,向服务器发送查询响应,该查询响应携带应用程序的日期。服务器接收终端发送的查询响应,该获取查询响应携带的应用程序的日期;从存储空间中获取应用程序的日期,判断查询响应携带的应用程序的日期和存储空间存储的应用程序的日期是否相同,如果不相同,获取该应用程序的存储路径,根据该存储路径,从存储路径和共孚路径的对应关系中获取共孚路径;根据该共享路径,从从终端中的共享路径对应的共享空间中获取应用程序,并将存储路径对应的存储空间中的应用程序更新为获取的应用程序。
[0099]进一步地,如果相同,不做任何处理。
[0100]进一步地,服务器将共享路径对应的共享空间中的应用程序同步到存储路径对应的存储空间中之后,根据项目标识,从项目标识和项目密码的对应关系中获取项目密码,并通过该项目密码对该项目对应的应用程序进行加密。
[0101]进一步地,服务器将共享路径对应的共享空间中的应用程序同步到存储路径对应的存储空间中之后,在服务器中为应用程序创建开发空间,并生成该开发空间对应的开发路径,该开发空间用于存储该应用程序对应的开发语言的虚拟机和配置描述文件。
[0102]其中,服务器在虚拟机上运行项目对应的应用程序;配置描述文件中包括数据库,该数据库用于存储应用程序运行过程中所需要的数据等。
[0103]例如,应用程序为PHP程序,服务器为PHP程序创建开发空间,该开发空间用于存储PHP对应的虚拟机和配置描述文件,该开发空间对应的开发路径为data_deV/jack/Code0
[0104]例如,服务器创建一个对应关系文件,该对应关系文件用于存储终端标识和用户标识的对应关系,终端标识为\\172.19.100.2,用户标识为jack,则该对应关系文件可以为
[0105]if ($remote_addr ?'172.19.100.2' ){
[0106]set username"jack";
[0107]}
[0108]Nginx会包含一个泛域名配置文件:conf/devenv.conf,这个泛域名配置文件包含这个对应关系文件,当接收到终端标识,从这个对应关系文件中获取用户的用户标识,并根据用户标识设置virtualhost的根路径,如下所示:
[0109]listen80 ;
[0110]server—name*, sitel.com ;# 设置通用域名
[0111]include/data—dev/vhost—ip—map.conf ;# 对应关系文件
[0112]set$root_var/data_dev/$username/vhost/$host ;#username 是前面提到的变量,如jack
[0113]root$root_var ;
[0114]服务器将每个项目对应的应用程序同步到服务器中之后,执行以下步骤205在服务器中调试应用程序。
[0115]步骤302:接收终端发送的调试请求,该调试请求携带终端的终端标识和项目的项目标识;
[0116]当用户想要调试应用程序时,终端获取终端的终端标识和项目的项目标识,通过浏览器向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识。服务器接收终端发送的调试请求,从该调试请求中获取终端的终端标识和项目的项目标识。
[0117]其中,终端获取终端的终端标识和项目的项目标识的步骤,可以为:
[0118]用户通过终端的浏览器向终端输入项目的项目标识;终端获取用户输入的项目的项目标识,从DNS (Domain Name service,域名服务)服务器中获取终端的终端标识。或者,
[0119]用户通过终端的浏览器向终端输入项目的项目标识;终端获取用户输入的项目的项目标识;终端从本地hosts (主机)文件中获取终端的终端标识。
[0120]Hosts文件用于存储终端的终端标识。
[0121]该调试请求中还可以携带项目的项目密码,服务器根据项目标识,从项目标识和项目密码的对应关系中获取项目的项目密码,判断携带的项目密码和获取的项目密码是否相同,如果相同,对用户的身份验证通过,执行步骤206 ;如果不相同,对用户的身份验证不通过,结束。
[0122]项目的项目标识可以为项目的名称等。
[0123]例如,用户想要调试code/sitel这个项目时,终端通过终端的IP地址向服务器发送调试请求,该调试请求可以为XXX.webdev.code/sitel.com,该终端的IP地址为\\172.19.100.2 ;服务器接收终端发送的调试请求XXX.webdev.code/sitel.com,并获取终端的终端标识为\\172.19.100.2和项目的项目标识为code/sitel。
[0124]进一步地,服务器根据调试请求,设置将调试应用程序解析到测试服务器。
[0125]步骤303:根据终端标识和项目标识,获取项目对应的应用程序的存储路径;
[0126]步骤303可以通过以下步骤(I)至(3)实现,包括:
[0127](I):根据终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识;
[0128]在本步骤之前,服务器获取每个终端的终端标识和终端对应的用户的用户标识,将每个终端的终端标识和终端对应的用户的用户标识的对应关系存储在终端标识和用户标识的对应关系中。在本步骤中,根据终端标识,从已存储的终端标识和用户标识的对应关系中获取用户的用户标识。
[0129]例如,终端的终端标识为\\172.19.100.2,从终端标识和用户标识的对应关系中获取用户的用户标识为jack。
[0130](2):根据用户标识和项目标识,生成项目的项目域名;
[0131 ] 具体地,用户的用户标识和项目的项目标识组成项目的项目域名。
[0132]例如,用户的用户标识为jack,项目的项目标识为code/sitel,则项目的项目域名为 /data_dev/jack/vhost/blog.code/sitel.com。
[0133](3):根据项目的项目域名,从项目域名和存储路径的对应关系中获取项目对应的应用程序的存储路径。
[0134]在本步骤之前,服务器获取每个项目的项目域名和每个项目对应的应用程序的存储路径,将每个项目的项目域名和该项目对应的应用程序的存储路径的对应关系存储在项目域名和存储路径的对应关系中。在本步骤中,根据项目的项目域名,从项目域名和存储路径的对应关系中获取项目对应的应用程序的存储路径。
[0135]例如,项目的项目域名为/data_dev/jack/vhost/blog.code/sitel.com,从项目域名和存储路径的对应关系中获取项目对应的应用程序的存储路径为ln-S/data_dev/jack/code/sitel/frontencL
[0136]步骤304:从服务器中的该存储路径对应的存储空间中获取该项目对应的应用程序;
[0137]在步骤301中服务器将终端的共享路径对应的共享空间中的应用程序同步到服务器中的存储路径对应的存储空间中,在本步骤中,服务器从服务器中的该存储路径对应的存储空间中获取该项目对应的应用程序。
[0138]例如,如图2-3所示,开发人员在终端上编写应用程序,并将该应用程序存储在终端上的共享路径对应的共享空间中。服务器将共享路径对应的共享空间中的应用程序同步到服务器中的存储路径对应的存储空间中。终端通过内网DNS或hosts文件获取终端标识,通过浏览器向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识。服务器根据终端标识获取用户的用户标识,根据用户标识和项目标识生成项目的项目域名,根据项目的项目域名,获取项目对应的应用程序的存储路径,并从该存储路径对应的存储空间中获取应用程序。
[0139]步骤305:根据该应用程序的属性信息,选择该应用程序的开发语言对应的开发环境,并在选择的开发环境中调试该应用程序,得到调试结果;
[0140]其中,属性信息至少包括应用程序的扩展名,该属性信息还可以包括应用程序的大小和/或日期等。
[0141]步骤305可以通过以下步骤⑴至⑶实现,包括:
[0142](I):根据应用程序的属性信息获取应用程序的开发语言;
[0143]其中,步骤(I)可以通过以下步骤(1-1)和(1-2)实现,包括:
[0144](1-1):从应用程序的属性信息中获取应用程序的扩展名;
[0145]具体地,应用程序的属性信息中至少包括应用程序的扩展名,服务器从应用程序的属性信息中获取应用程序的扩展名。
[0146]应用程序的属性信息中还可以包括应用程序的大小和/或日期等。
[0147](2)根据应用程序的扩展名,从扩展名和开发语言的对应关系中获取应用程序的开发语言。
[0148]在本步骤之前,服务器获取每种开发语言和该每种开发语言对应的扩展名,将每种开发语言对应的扩展名和该种开发语言的对应关系存储在扩展名和开发语言的对应关系中。当获取到应用程序的扩展名时,根据应用程序的扩展名,从扩展名和开发语言的对应关系中获取应用程序的开发语言。
[0149](2):根据应用程序的开发语言,从开发语言和开发环境的对应关系中获取应用程序的开发语言对应的开发环境;
[0150]服务器中事先搭建每种开发语言对应的开发环境,并将每种开发语言和该开发语言对应的开发环境的标识的对应关系存储在开发语言和开发环境的对应关系中。在本步骤中,根据应用程序的开发语言,从开发语言和开发环境的对应关系中获取应用程序的开发语言对应的开发环境的标识,根据获取的开发环境的标识,获取应用程序的开发语言对应的开发环境。
[0151](3):在选择的开发环境中调试该应用程序,得到调试结果。
[0152]选择的开发环境中包括虚拟机和数据库。服务器在虚拟机上运行该应用程序,应用程序在运行过程中会从数据库中读取所需要的数据,且在应用程序运行结束后得到应用程序存在的漏洞和/或应用程序的运行结果,将应用程序存在的漏洞和/或运行结果作为调试结果。
[0153]步骤306:向终端发送该调试结果。
[0154]服务器在选择的开发环境中运行该应用程序得到调试结果,向终端发送该调试结果。终端接收服务器发送的调试结果,显示该调试结果。
[0155]该调试结果包括应用程序存在的漏洞和/或应用程序的运行结果。
[0156]如果该调试结果包括应用程序存在的漏洞,用户根据应用程序存在的漏洞修改该应用程序,并通过以上步骤301-306调试该应用程序得到调试结果。
[0157]如果该调试结果包括应用程序的运行结果,用户获取正确的运行结果,并比较该应用程序的运行结果和获取的运行结果是否相同,如果相同,确定出该应用程序是正确的应用程序。如果不相同,确定出该应用程序是不正确的应用程序,修改该应用程序,并通过以上步骤301-306调试该修改后的应用程序得到调试结果。
[0158]如果该调试结果包括应用程序存在的漏洞和应用程序的运行结果,用户获取正确的运行结果,并比较该应用程序的运行结果和获取的运行结果是否相同,如果相同,根据应用程序的漏洞修改该应用程序,如果不相同,根据运行结果和应用程序存在的漏洞修改该应用程序。修改完应用程序之后,通过以上步骤301-306调试该修改好的应用程序得到调试结果。
[0159]在本发明实施例中,当终端需要调试应用程序时,终端向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识;服务器根据终端标识和项目标识,获取项目对应的应用程序,根据该应用程序的属性信息,选择该应用程序的开发语言对应的开发环境,并在选择的开发环境中调试该应用程序,得到调试结果;向终端发送该调试结果,从而不用在终端中搭建开发环境,减少了系统资源的占用,降低了终端能耗,提高了终端的运行速度;并且,降低了调试的复杂度,提高了调试的效率。
[0160]实施例3
[0161]本发明实施例提供了一种调试应用程序的装置,参见图3,其中,该装置包括:
[0162]第一接收模块401,用于接收终端发送的调试请求,调试请求携带终端的终端标识和项目的项目标识;
[0163]第一获取模块402,用于根据终端标识和项目标识,获取项目对应的应用程序;
[0164]调试模块403,用于根据应用程序的属性信息,选择应用程序的开发语言对应的开发环境,并在选择的开发环境中调试应用程序,得到调试结果;
[0165]发送模块404,用于向终端发送调试结果。
[0166]优选的,第一获取模块402,包括:
[0167]第一获取单元,用于根据终端标识和项目标识,获取项目对应的应用程序的存储路径;
[0168]第二获取单元,用于从服务器中存储路径对应的存储空间中获取项目对应的应用程序。
[0169]优选的,第一获取单元,包括:
[0170]第一获取子单元,用于根据终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识;
[0171]生成子单元,用于根据用户标识和项目标识,生成项目的项目域名;
[0172]第二获取子单元,用于根据项目的项目域名,从项目域名和存储路径的对应关系中获取项目对应的应用程序的存储路径。
[0173]优选的,装置还包括:
[0174]第二获取模块,用于根据存储路径,从存储路径和共享路径的对应关系中获取共孚路径;
[0175]第一存储模块,用于从终端中的共享路径对应的共享空间中获取应用程序,将获取的应用程序存储到服务器中的存储路径对应的存储空间中。
[0176]优选的,装置还包括:
[0177]第二接收模块,用于接收终端发送的绑定请求,绑定请求携带终端标识和项目标识;
[0178]第一生成模块,用于根据终端标识和项目标识,生成共享路径;
[0179]第二生成模块,用于在服务器中为项目创建存储空间,并生成存储空间对应的存储路径;
[0180]第二存储模块,用于将共享路径和存储路径存储在共享路径和存储路径的对应关系中。
[0181]优选的,调试模块403,包括:
[0182]第三获取单元,用于根据应用程序的属性信息获取应用程序的开发语言;
[0183]第四获取单元,用于根据应用程序的开发语言,从开发语言和开发环境的对应关系中获取应用程序的开发语言对应的开发环境。
[0184]优选的,第三获取单元,包括:
[0185]第三获取子单元,用于从应用程序的属性信息中获取应用程序的扩展名;
[0186]第四获取子单元,用于根据应用程序的扩展名,从扩展名和开发语言的对应关系中获取应用程序的开发语言。
[0187]在本发明实施例中,当终端需要调试应用程序时,终端向服务器发送调试请求,该调试请求携带终端的终端标识和项目的项目标识;服务器根据终端标识和项目标识,获取项目对应的应用程序,根据该应用程序的属性信息,选择该应用程序的开发语言对应的开发环境,并在选择的开发环境中调试该应用程序,得到调试结果;向终端发送该调试结果,从而不用在终端中搭建开发环境,减少了系统资源的占用,降低了终端能耗,提高了终端的运行速度;并且,降低了调试的复杂度,提高了调试的效率。
[0188]需要说明的是:上述实施例提供的调试应用程序的装置在调试应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的调试应用程序的装置与调试应用程序的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0189]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0190]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种调试应用程序的方法,其特征在于,所述方法包括: 接收终端发送的调试请求,所述调试请求携带所述终端的终端标识和项目的项目标识; 根据所述终端标识和项目标识,获取所述项目对应的应用程序; 根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,并在所述选择的开发环境中调试所述应用程序,得到调试结果; 向所述终端发送所述调试结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述终端标识和项目标识,获取所述项目对应的应用程序,包括: 根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径; 从服务器中所述存储路径对应的存储空间中获取所述项目对应的应用程序。
3.如权利要求2所述的方法,其特征在于,所述根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径,包括: 根据所述终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识; 根据所述用户标识和所述项目标识,生成所述项目的项目域名; 根据所述项目的项目域名,从项目域名和存储路径的对应关系中获取所述项目对应的应用程序的存储路径。
4.如权利要求2所述的方法,其特征在于,所述从所述存储路径对应的存储空间中获取所述项目对应的应用程序之前,还包括: 根据所述存储路径,从存储路径和共孚路径的对应关系中获取共孚路径; 从所述终端中的所述共享路径对应的共享空间中获取应用程序,将所述获取的应用程序存储到所述服务器中的所述存储路径对应的存储空间中。
5.如权利要求1所述的方法,其特征在于,所述方法还包括: 接收所述终端发送的绑定请求,所述绑定请求携带所述终端标识和所述项目标识; 根据所述终端标识和所述项目标识,生成共享路径; 在服务器中为所述项目创建存储空间,并生成所述存储空间对应的存储路径; 将所述共孚路径和所述存储路径存储在共孚路径和存储路径的对应关系中。
6.如权利要求1所述的方法,其特征在于,所述根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,包括: 根据所述应用程序的属性信息获取所述应用程序的开发语言; 根据所述应用程序的开发语言,从开发语言和开发环境的对应关系中获取所述应用程序的开发语言对应的开发环境。
7.如权利要求6所述的方法,其特征在于,所述根据所述应用程序的属性信息获取所述应用程序的开发语言,包括: 从所述应用程序的属性信息中获取所述应用程序的扩展名; 根据所述应用程序的扩展名,从扩展名和开发语言的对应关系中获取所述应用程序的开发语言。
8.—种调试应用程序的装置,其特征在于,所述装置包括: 第一接收模块,用于接收终端发送的调试请求,所述调试请求携带所述终端的终端标识和项目的项目标识; 第一获取模块,用于根据所述终端标识和项目标识,获取所述项目对应的应用程序;调试模块,用于根据所述应用程序的属性信息,选择所述应用程序的开发语言对应的开发环境,并在所述选择的开发环境中调试所述应用程序,得到调试结果; 发送模块,用于向所述终端发送所述调试结果。
9.如权利要求8所述的装置,其特征在于,所述第一获取模块,包括: 第一获取单元,用于根据所述终端标识和项目标识,获取所述项目对应的应用程序的存储路径; 第二获取单元,用于从服务器中所述存储路径对应的存储空间中获取所述项目对应的应用程序。
10.如权利要求9所述的装置,其特征在于,所述第一获取单元,包括: 第一获取子单元,用于根据所述终端标识,从终端标识和用户标识的对应关系中获取用户的用户标识; 生成子单元,用于根据所述用户标识和所述项目标识,生成所述项目的项目域名; 第二获取子单元,用于根据所述项目的项目域名,从项目域名和存储路径的对应关系中获取所述项目对应的应用程序的存储路径。
11.如权利要求9所述的装置,其特征在于,所述装置还包括: 第二获取模块,用于根据所述存储路径,从存储路径和共享路径的对应关系中获取共孚路径; 第一存储模块,用于从所述终端中的所述共享路径对应的共享空间中获取应用程序,将所述获取的应用程序存储到所述服务器中的所述存储路径对应的存储空间中。
12.如权利要求8所述的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收所述终端发送的绑定请求,所述绑定请求携带所述终端标识和所述项目标识; 第一生成模块,用于根据所述终端标识和所述项目标识,生成共享路径; 第二生成模块,用于在服务器中为所述项目创建存储空间,并生成所述存储空间对应的存储路径; 第二存储模块,用于将所述共享路径和所述存储路径存储在共享路径和存储路径的对应关系中。
13.如权利要求8所述的装置,其特征在于,所述调试模块,包括: 第三获取单元,用于根据所述应用程序的属性信息获取所述应用程序的开发语言;第四获取单元,用于根据所述应用程序的开发语言,从开发语言和开发环境的对应关系中获取所述应用程序的开发语言对应的开发环境。
14.如权利要求13所述的装置,其特征在于,所述第三获取单元,包括: 第三获取子单元,用于从所述应用程序的属性信息中获取所述应用程序的扩展名; 第四获取子单元,用于根据所述应用程序的扩展名,从扩展名和开发语言的对应关系中获取所述应用程序的开发语言。
【文档编号】G06F11/36GK104281521SQ201410509828
【公开日】2015年1月14日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】张观石, 钟孝发 申请人:广州华多网络科技有限公司