CN107566519B - 一种代码操作方法、装置、服务器及服务器集群 - Google Patents
一种代码操作方法、装置、服务器及服务器集群 Download PDFInfo
- Publication number
- CN107566519B CN107566519B CN201710890868.7A CN201710890868A CN107566519B CN 107566519 B CN107566519 B CN 107566519B CN 201710890868 A CN201710890868 A CN 201710890868A CN 107566519 B CN107566519 B CN 107566519B
- Authority
- CN
- China
- Prior art keywords
- client
- code
- preview
- server
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种代码操作方法、装置、服务器及服务器集群,应用于服务器,所述方法包括:接收预览客户端的请求;获得云端中与所述请求相对应的可执行代码;将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。本申请中无需在云端后台进行代码预览,而是在预览客户端上触发请求发送之后利用服务器从云端中获取可执行代码再发给预览客户端,就可以在客户端上实现代码预览,从而降低预览等操作的复杂度,改善体验。
Description
技术领域
本申请涉及软件开发技术领域,特别涉及一种代码操作方法、装置、服务器及服务器集群。
背景技术
随着终端技术的发展,手机等客户端上的应用程序种类越来越多,而为了减轻客户端上的存储压力,通常将应用程序的代码放在网络云端,客户端在需要调用应用程序时,从云端获取可执行代码并运行,为客户端用户提供服务。
但是目前对云端上的移动应用程序进行预览时,只能将程序代码从云端下载到主机上之后再执行打包构建后安装到移动客户端上才能预览其效果,由此导致操作复杂度较高。
发明内容
有鉴于此,本申请的目的在于提供一种代码操作方法、装置、服务器及服务器集群,用以解决现有技术中对于云端上的移动应用程序的代码只能先下载到用户主机上,再执行打包构建后安装到移动客户端上才能预览其效果,导致操作复杂度较高的技术问题。
本申请提供了一种代码操作方法,应用于服务器,所述方法包括:
接收预览客户端的请求;
获得云端中与所述请求相对应的可执行代码;
将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。
上述方法,优选的,还包括:
基于所述请求,确定与所述预览客户端相关联的编辑客户端;
将所述可执行代码发送给所述编辑客户端;
获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端。
上述方法,优选的,还包括:
获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
上述方法,优选的,将所述第一运行状态发送给所述编辑客户端,包括:
通过无线网络将所述第一运行状态发送给所述编辑客户端;
所述将所述第二运行状态发送给所述预览客户端,包括:
通过无线网络将所述第二运行状态发送给所述预览客户端。
上述方法,优选的,所述获得云端中与所述请求相对应的可执行代码,包括:
读取云端中与所述请求相对应的程序代码;
基于读取到的程序代码生成可执行文件格式的可执行代码。
本申请还提供了一种代码操作装置,设置在服务器上,所述装置包括:
接收单元,用于接收预览客户端的请求;
处理单元,用于获得云端中与所述请求相对应的可执行代码;
发送单元,用于将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。
上述装置,优选的,所述处理单元还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,由所述发送单元将所述可执行代码发送给所述编辑客户端;
所述处理单元还用于:获得所述可执行代码在所述预览客户端上运行的第一运行状态并由所述发送单元将所述第一运行状态发送给所述编辑客户端。
上述装置,优选的,所述处理单元还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并由所述发送单元将所述第二运行状态发送给所述预览客户端。
上述装置,优选的,所述发送单元通过无线网络将所述第一运行状态发送给所述编辑客户端;
所述发送单元通过无线网络将所述第二运行状态发送给所述预览客户端。
上述装置,优选的,所述处理单元具体用于:读取云端中与所述请求相对应的程序代码,基于读取到的程序代码生成可执行文件格式的可执行代码。
本申请还提供了一种服务器,连接于云端与预览客户端之间,所述服务器包括:
存储器,用于存储应用程序及应用程序运行所产生的数据;
处理器,用于执行所述存储器中存储的应用程序,以实现以下功能:接收预览客户端的请求,获得云端中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。
上述服务器,优选的,所述处理器还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,将所述可执行代码发送给所述编辑客户端,获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端。
上述服务器,优选的,所述处理器还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
上述服务器,优选的,所述处理器还用于:获得所述云端上的待编辑代码并将所述待编辑代码发送给编辑客户端,获得所述编辑客户端编辑完成的目标代码并将所述目标代码发送给所述云端。
本申请还提供了一种服务器集群,包括:
代码构建服务器,用于接收预览客户端的请求,获得云端中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览;
调试转发服务器,用于接收预览客户端的请求,基于所述请求确定与预览客户端相关联的编辑客户端,获得所述代码构建服务器获得的可执行代码,并将所述可执行代码发送给所述编辑客户端,获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端,并获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
上述服务器集群,优选的,所述代码构建服务器与所述预览客户端之间通过无线网络进行数据通信,所述调试转发服务器与所述预览客户端之间通过无线网络进行数据通信。
上述服务器集群,优选的,所述调试转发服务器与所述编辑客户端之间通过无线网络进行数据通信。
由上述方案可知,本申请提供的一种代码操作方法、装置、服务器及服务器集群,通过云端后台的服务器来接收预览客户端的请求,然后获得云端上与请求相对应的可执行代码之后,将可执行代码直接发送给预览客户端进行运行,即可实现代码预览,这一过程中,无需从云端后台下载代码到主机,更加无需进行打包构建发给预览客户端,而是在云端服务器直接生成可执行代码发给预览客户端,就可以在预览客户端上实现代码预览,从而降低预览操作的复杂度,改善体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例一提供的一种代码操作方法的实现流程图;
图2为本申请实施例的应用示例图;
图3为本申请实施例一的部分流程图;
图4为本申请实施例一提供的一种代码操作方法的另一流程图;
图5为本申请实施例的另一应用示例图;
图6为本申请实施例一提供的一种代码操作方法的又一流程图;
图7为本申请实施例的又一应用示例图;
图8为本申请实施例二提供的一种代码操作装置的结构示意图;
图9为本申请实施例三提供的一种服务器的结构示意图;
图10为本申请实施例四提供的一种服务器集群的结构示意图;
图11及图12分别为本申请实施例四的应用示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本申请实施例一提供的一种代码操作方法的实现流程图,本实施例中的方法可以适用于服务器上,用以实现在预览客户端上对云端上应用程序的代码的预览等操作。服务器设置在云端,与预览客户端之间相连。如图2中所示,服务器与预览客户端之间可以通过网络实现无线连接,如WiFi、3G网络或4G网络,服务器与云端中存储代码的服务器之间可以通过有线或者无线进行连接,云端上存储有各类移动应用程序的代码,而预览客户端可以为手机、pad或者支持网络连接的功能终端(point of sale,POS)机等设备。
需要说明的是,预览客户端中的操作系统可以为Android或者ios系统,如高于4.0的Android系统等。
在具体实现中,本实施例中的方法可以包括以下步骤:
步骤101:接收预览客户端的请求。
其中,预览客户端的请求可以为对应用程序的代码进行预览的请求,例如预览客户端的用户在需要查看某个应用程序的代码时,通过操作预览客户端,生成请求,由本实施例中的服务器对该请求进行接收。本实施例中,服务器可以通过与预览客户端之间无线连接接收预览客户端的请求。
在一种实现方式中,请求可以包含多个,也就是说,本实施例中可以同时接收多个预览客户端的请求,实现多个预览客户端同时进行代码预览。
步骤102:获得云端中与请求相对应的可执行代码。
其中,服务器在获得可执行代码时可以通过以下步骤实现,如图3中所示:
步骤301:读取云端中与请求相对应的程序代码。
本实施例中,服务器可以通过与云端之间的有线连接或者无线连接读取云端中的程序代码。该程序代码为与预览客户端的请求相对应的,也就是说,该程序代码为预览客户端所需要查看的应用程序的代码。
步骤302:基于读取到的程序代码,生成可执行文件格式的可执行代码。
本实施例中,服务器可以利用代码构建矿建,将读取到的程序代码构建为预览客户端可以允许的程序包,即可执行代码。
步骤103:将可执行代码发送给预览客户端。
由此,预览客户端在接收到服务器发送的可执行代码之后,运行该可执行代码,从而将程序代码为用户呈现在预览客户端上,实现代码预览,这一过程中并不需要用户去云端后台进行操作,而是在预览客户端上触发请求生成即可实现代码预览,减少预览操作,降低预览操作的复杂度。
由上述方案可知,本申请实施例提供的一种代码操作方法,通过非云端后台的服务器来接收预览客户端的请求,然后获得云端上与请求相对应的可执行代码之后,将可执行代码发送给预览客户端进行运行,即可实现代码预览,这一过程中,无需在云端后台进行代码预览,而是在预览客户端上触发请求发送之后利用服务器从云端中获取可执行代码再发给预览客户端,就可以在客户端上实现代码预览,从而降低预览等操作的复杂度,改善体验。
在一种实现方式中,预览客户端所生成的请求除了可以是代码预览请求,用以实现代码预览之外,还可以是代码调试请求,用以实现云端上代码的调试操作,如图4中所示,本实施例中的代码操作方法还可以包括以下步骤:
步骤401:接收预览客户端的请求。
其中,该请求即为预览客户端需要对程序代码进行调试的请求。本实施例中,服务器可以通过与预览客户端之间的无线连接接收该请求。
在一种实现方式中,请求可以包含多个,也就是说,本实施例中可以同时接收多个预览客户端的请求,实现多个预览客户端同时进行代码调试。
步骤402:基于请求,确定与预览客户端相关联的编辑客户端。
其中,服务器与编辑客户端之间可以通过网络实现连接,如无线连接WiFi或蓝牙等,或者有线连接等。
在一种实现方式中,服务器可以基于请求中与代码相关联的信息,如代码分库信息等来确定该代码在哪个客户端上被操作,从而确定相关联的编辑客户端,如图5中所示。
步骤403:获得云端中与请求相对应的可执行代码。
本实施例中,服务器获得可执行代码的具体实现方式可以图3及前文相关文字内容,此处不再详述。
步骤404:将可执行代码分别发送给编辑客户端及预览客户端。
由此,预览客户端及编辑客户端上均上可以对可执行代码进行运行,从而在编辑客户端及预览客户端上同步可执行代码的运行,而在可执行代码分别在预览客户端与编辑客户端上同步运行时,可以执行以下步骤。
步骤405:获得可执行代码在预览客户端上运行的第一运行状态并将第一运行状态发送给编辑客户端。
其中,服务器可以通过无线网络获取第一运行状态并通过无线网络将第一运行状态发送给编辑客户端,如websocket连接,不受限于硬件线缆的连接。
也就是说,在可执行代码在预览客户端与编辑客户端上同步运行时,服务器通过将预览客户端上的运行状态进行获取并发送给编辑客户端,从而在编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。
步骤406:获得可执行代码在编辑客户端上运行的第二运行状态并将第二运行状态发送给预览客户端。
其中,服务器可以通过无线网络获取第二运行状态并通过无线网络将第二运行状态发送给预览客户端,如websocket连接,不受限于硬件线缆的连接。
本实施例中,可执行代码在预览客户端与编辑客户端上同步运行时,服务器还将编辑客户端上的运行状态进行获取并转发给预览客户端,从而实现在预览客户端上显示代码调试状态的目的。
在一种实现方式中,编辑客户端上通过Chrome浏览器等对代码进行调试。其中,Chrome浏览器的版本高于45。
由上述方案可知,本申请实施例提供的一种代码操作方法中无需从云端后台将代码下载到主机再进行打包构建,而是利用服务器将已经打包构建好的可执行代码分别发给两个客户端即可实现代码运行状态的查看与调试操作,从而明显降低代码调试复杂度。
在一种实现方式中,编辑客户端上除了可以实现对代码的调试操作,还可以对代码进行编辑,如图6中所示:
步骤601:获得云端上的待编辑代码并将待编辑代码发送给编辑客户端。
其中,本实施例的代码编辑任务可以有云端触发也可以有编辑客户端触发,例如,云端主动将待编辑代码发送给服务器,由服务器进行获取之后发送给编辑客户端;或者,编辑客户端向本实施例中的服务器发送代码编辑的请求,服务器根据请求从云端获取待编辑代码并发送给编辑客户端,如图7中所示。
步骤602:获得编辑客户端编辑完成的目标代码并将目标代码发送给云端。
本实施例中,服务器在云端与编辑客户端之间传输代码,可以通过网络连接实现,如图7中所示,服务器通过有线或无线网络从编辑客户端获得编辑完成的目标代码,并上传给云端。
在一种实现方式中,编辑客户端上可以通过浏览器如版本高于45的Chrome浏览器等对代码进行编辑。
参考图8,为本申请实施例二提供的一种代码操作装置的结构示意图,应用于图2所示的服务器中,用以实现在预览客户端上对云端上应用程序的代码的预览等操作。服务器设置在云端,与及预览客户端之间相连。服务器与预览客户端之间可以通过网络实现无线连接,如WiFi、3G网络或4G网络,服务器与云端中存储代码的服务器之间可以通过有线或者无线进行连接,云端上存储有各类移动应用程序的代码,而预览客户端可以为手机、pad或者支持网络连接的POS机等设备。
需要说明的是,预览客户端中的操作系统可以为Android或者ios系统,如高于4.0的Android系统等。
在具体实现中,本实施例中的装置可以包括以下结构:
接收单元801,用于接收预览客户端的请求。
其中,接收单元801可以通过数据通信接口实现,如WiFi通信接口或蓝牙通信接口等。
处理单元802,用于获得云端中与所述请求相对应的可执行代码。
其中,处理单元802可以基于处理器或控制器等实现。而处理单元802可以通过以下方式获得可执行代码:
首先,读取云端中与所述请求相对应的程序代码,之后,再基于读取到的程序代码生成可执行文件格式的可执行代码。
发送单元803,用于将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。
其中,发送单元803可以通过数据通信接口实现,如WiFi通信接口或蓝牙通信接口等。
由上述方案可知,本申请实施例提供的一种代码操作装置,通过非云端后台的服务器来接收预览客户端的请求,然后获得云端上与请求相对应的可执行代码之后,将可执行代码发送给预览客户端进行运行,即可实现代码预览,这一过程中,无需在云端后台进行代码预览,而是在预览客户端上触发请求发送之后利用服务器从云端中获取可执行代码再发给预览客户端,就可以在客户端上实现代码预览,从而降低预览等操作的复杂度,改善体验。
在一种实现方式中,处理单元802还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,由所述发送单元803将所述可执行代码发送给所述编辑客户端;
之后,处理单元802还用于获得所述可执行代码在所述预览客户端上运行的第一运行状态并由所述发送单元803将所述第一运行状态发送给所述编辑客户端。相应的,处理单元802还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并由所述发送单元803将所述第二运行状态发送给所述预览客户端。
由此,在可执行代码在预览客户端与编辑客户端上同步运行时,服务器通过将预览客户端上的运行状态进行获取并发送给编辑客户端,从而在编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。另外,可执行代码在预览客户端与编辑客户端上同步运行时,服务器还将编辑客户端上的运行状态进行获取并转发给预览客户端,从而实现在预览客户端上显示代码调试状态的目的。
在一种实现方式中,发送单元803可以通过无线网络将所述第一运行状态发送给所述编辑客户端,相应的,可以通过无线网络将所述第二运行状态发送给所述预览客户端。
除此之外,处理单元802还用于获得所述云端上的待编辑代码并由所述发送单元803将所述待编辑代码发送给编辑客户端;之后,再由处理单元802获得所述编辑客户端编辑完成的目标代码并由所述发送单元803将所述目标代码发送给所述云端。由此,实现对云端上代码的编辑。
以上代码操作装置中的各结构具体的实现功能可以参考前文中的相应内容,此处不再详述。
参考图9,为本申请实施例三提供的一种服务器的结构示意图,本实施例中的服务器设置在云端,与预览客户端之间相连,如图2中所示,所述服务器可以包括以下结构:
存储器901,用于存储应用程序及应用程序运行所产生的数据。
其中,存储器901可主要包括存储程序区和存储数据区,其中存储程序区可以存储操作系统、至少一个功能所需要的应用程序(如请求接收、信息发送等)等;存储数据区可以存储根据服务器的使用所创建的数据等。存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器902,用于执行所述存储器中存储的应用程序,以实现以下功能:接收预览客户端的请求,获得云端中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览。
其中,处理器902是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器901内的软件程序和/或模块,以及调用存储在存储器901内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体控制。
由上述方案可知,本申请实施例提供的一种服务器,利用该服务器来接收预览客户端的请求,然后获得云端上与请求相对应的可执行代码之后,将可执行代码发送给预览客户端进行运行,即可实现代码预览,这一过程中,无需在云端后台进行代码预览,而是在预览客户端上触发请求发送之后利用服务器从云端中获取可执行代码再发给预览客户端,就可以在客户端上实现代码预览,从而降低预览等操作的复杂度,改善体验。
在一种实现方式中,服务器中的处理器902还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,将所述可执行代码发送给所述编辑客户端,获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端。另外,所述处理器902还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
由此,在可执行代码在预览客户端与编辑客户端上同步运行时,服务器通过将预览客户端上的运行状态进行获取并发送给编辑客户端,从而在编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。另外,可执行代码在预览客户端与编辑客户端上同步运行时,服务器还将编辑客户端上的运行状态进行获取并转发给预览客户端,从而实现在预览客户端上显示代码调试状态的目的。
在一种实现方式中,服务器中的处理器902可以通过无线网络将所述第一运行状态发送给所述编辑客户端,相应的,可以通过无线网络将所述第二运行状态发送给所述预览客户端。
在一种实现方式中,所述处理器902还用于:获得所述云端上的待编辑代码并将所述待编辑代码发送给编辑客户端,获得所述编辑客户端编辑完成的目标代码并将所述目标代码发送给所述云端。由此,实现对云端上代码的编辑。
以上服务器中的各结构具体的实现功能可以参考前文中的相应内容,此处不再详述。
参考图10,为本申请实施例四提供的一种服务器集群的结构示意图,本实施例中的服务器集群中可以包含多个服务器,设置在云端,如代码构建服务器1001、调试转发服务器1002,还可以包括代码编辑服务器1003等,每个服务器之间通过网络相连,代码构建服务器1001连接在存储代码的云端1004与预览客户端1005之间,调试转发服务器1002分别与代码构建服务器1002、预览客户端1005及云端1004相连,而代码编辑服务器1003连接在编辑客户端1006与云端1004之间,如图10中所示,其中:
代码构建服务器1001,用于接收预览客户端1005的请求,获得云端1004中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端1005,由所述预览客户端1005运行所述可执行代码,实现代码预览;
调试转发服务器1002,用于接收预览客户端1005的请求,基于所述请求确定与预览客户端1005相关联的编辑客户端1006,获得所述代码构建服务器1001获得的可执行代码,并将所述可执行代码发送给所述编辑客户端1006,获得所述可执行代码在所述预览客户端1005上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端1006,并获得所述可执行代码在所述编辑客户端1006上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端1005;
代码编辑服务器1003,用于获得所述云端1004上的待编辑代码并将所述待编辑代码发送给编辑客户端1006,获得所述编辑客户端1006编辑完成的目标代码并将所述目标代码发送给所述云端1004。
在具体实现中,所述代码构建服务器1001与所述预览客户端1005之间通过无线网络进行数据通信,所述调试转发服务器1002与所述预览客户端1005之间通过无线网络进行数据通信,如WiFi或蓝牙等无线网络。
而所述调试转发服务器1002与所述编辑客户端1006之间通过无线网络进行数据通信,也可以通过线缆连接的网络进行数据通信。
在具体实现中,本实施例中的方案可以建立在软件开发平台上,为开发人员提供云端代码的预览、调试及编辑等操作,降低操作复杂度。
例如,在软件开发平台上架设服务器集群以及与服务器集群协调工作的客户端,如图11中所示,集群中包含以下客户端及服务器:
编辑客户端,如具有用户浏览器的个人电脑(personal computer,PC),为开发人员展示操作页面,如调试页面,从而开发人员能够通过对调试页面进行操作,以触发代码预览、调试及编辑操作;
预览客户端,如手机或pad等移动通信开发平台(Mobile Development Platform,MDP)客户端,包含一套运行框架,通过运行框架能够加载并运行可执行代码;
代码编辑服务器:为开发人员提供编辑器页面及预览调试页面,并提供编辑器的代码获取及保存能力,使得开发人员能够完成代码的编辑操作;
代码构建服务器:提供动态监听云端代码并快速打包代码的构建服务,以保证MDP客户端每次得到的代码都是最新修改后的版本,例如,从云端的代码管理服务中获取代码,并将其构建为客户端的框架可以运行的程序包;
调试转发服务器:提供代码或程序包的获取与转发,以及客户端运行状态的消息获取及转发。
例如,在代码构建服务器从云端的代码管理服务中获取到代码之后,构建成可执行代码,提供给MDP客户端及调试转发服务器,之后,调试转发服务器分别创建与PC与MDP客户端的两个websocket连接,在MDP客户端及PC开始运行可执行代码之后,调试转发服务器基于websocket连接将MDP客户端与PC进行连接,并基于连接进行状态转发,完成对MDP客户端上程序代码的调试。
在一种实现方式中,用户需要预览移动应用程序的代码时,首先在预览客户端上安装本实施例所实现的预览工具,之后,利用预览客户端扫描编辑客户端上Chrome浏览器中的编辑页面中提供的二维码进行用户编辑代码的绑定,其中二维码对应包含移动应用程序的代码的工作空间;
用户在扫描到二维码后,预览客户端中列出用户正在编辑的应用程序(用户可以同时编写至少一个应用程序),用户在预览客户端上点击想要预览或调试的程序代码的标识,从而生成请求,本实施例中的服务器根据请求获得预览或调试的可执行代码,将可执行代码传送到预览客户端进行预览或调试;
而用户在预览或调试应用程序代码之后,预览客户端可以将曾经的扫描历史进行保存,用户可以在需要重新预览或调试时,直接从保存的扫描历史中选择需要的移动应用程序代码,实现再次预览。
基于以上实现方案,用户可以通过自己电脑上的浏览器修改和调试云端上移动终端的应用程序的代码,无需进入云端后台,从而简化代码操作,降低操作复杂度。
如图12中所示,多个用户可以通过各自的客户端同时进行代码预览和调试等操作,每个用户进行代码操作的处理过程可以参考前文中所述,此处不再详述。
另外,本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本申请中的计算机可读存储介质可以为磁盘、光盘、数据卡、U盘及各类存储器等。
本实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算指令,在计算机上加载和执行计算指令时,全部或者部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
另外,所述计算指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。计算机可读存储介质可以为磁盘、光盘、数据卡、U盘及各类存储器。例如,所述计算指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光线、数字用户线)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
其中,所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如数字化视频光盘(Digital Video Disk,DVD))或半导体介质(例如固态硬盘(Solid State Drives,SSD))等。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
Claims (14)
1.一种代码操作方法,其特征在于,应用于服务器,所述服务器为非云端后台的服务器,所述方法包括:
接收预览客户端的请求;
获得云端中与所述请求相对应的可执行代码;
将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览而无需用户对云端后台进行操作,无需将代码下载到主机;
所述方法还包括:
基于所述请求,确定与所述预览客户端相关联的编辑客户端;
将所述可执行代码发送给所述编辑客户端;
获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端,以在所述编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。
2.根据权利要求1所述的方法,其特征在于,还包括:
获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
3.根据权利要求2所述的方法,其特征在于,将所述第一运行状态发送给所述编辑客户端,包括:
通过无线网络将所述第一运行状态发送给所述编辑客户端;
所述将所述第二运行状态发送给所述预览客户端,包括:
通过无线网络将所述第二运行状态发送给所述预览客户端。
4.根据权利要求1所述的方法,其特征在于,所述获得云端中与所述请求相对应的可执行代码,包括:
读取云端中与所述请求相对应的程序代码;
基于读取到的程序代码生成可执行文件格式的可执行代码。
5.一种代码操作装置,其特征在于,设置在服务器上,所述服务器为非云端后台的服务器,所述装置包括:
接收单元,用于接收预览客户端的请求;
处理单元,用于获得云端中与所述请求相对应的可执行代码;
发送单元,用于将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览而无需用户对云端后台进行操作,无需将代码下载到主机;
所述处理单元还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,由所述发送单元将所述可执行代码发送给所述编辑客户端;
所述处理单元还用于:获得所述可执行代码在所述预览客户端上运行的第一运行状态并由所述发送单元将所述第一运行状态发送给所述编辑客户端,以在所述编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。
6.根据权利要求5所述的装置,其特征在于,所述处理单元还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并由所述发送单元将所述第二运行状态发送给所述预览客户端。
7.根据权利要求6所述的装置,其特征在于,所述发送单元通过无线网络将所述第一运行状态发送给所述编辑客户端;
所述发送单元通过无线网络将所述第二运行状态发送给所述预览客户端。
8.根据权利要求5所述的装置,其特征在于,所述处理单元具体用于:读取云端中与所述请求相对应的程序代码,基于读取到的程序代码生成可执行文件格式的可执行代码。
9.一种服务器,其特征在于,连接于云端与预览客户端之间,所述服务器为非云端后台的服务器,所述服务器包括:
存储器,用于存储应用程序及应用程序运行所产生的数据;
处理器,用于执行所述存储器中存储的应用程序,以实现以下功能:接收预览客户端的请求,获得云端中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览而无需用户对云端后台进行操作,无需将代码下载到主机;所述处理器还用于基于所述请求,确定与所述预览客户端相关联的编辑客户端,将所述可执行代码发送给所述编辑客户端,获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端,以在所述编辑客户端上查看预览客户端上代码运行的状态,实现代码调试。
10.根据权利要求9所述的服务器,其特征在于,所述处理器还用于获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
11.根据权利要求9所述的服务器,其特征在于,所述处理器还用于:获得所述云端上的待编辑代码并将所述待编辑代码发送给编辑客户端,获得所述编辑客户端编辑完成的目标代码并将所述目标代码发送给所述云端。
12.一种服务器集群,其特征在于,包括:
代码构建服务器,所述服务器为非云端后台的服务器,用于接收预览客户端的请求,获得云端中与所述请求相对应的可执行代码,将所述可执行代码发送给预览客户端,由所述预览客户端运行所述可执行代码,实现代码预览而无需用户对云端后台进行操作,无需将代码下载到主机;
调试转发服务器,用于接收预览客户端的请求,基于所述请求确定与预览客户端相关联的编辑客户端,获得所述代码构建服务器获得的可执行代码,并将所述可执行代码发送给所述编辑客户端,获得所述可执行代码在所述预览客户端上运行的第一运行状态并将所述第一运行状态发送给所述编辑客户端,并获得所述可执行代码在所述编辑客户端上运行的第二运行状态并将所述第二运行状态发送给所述预览客户端。
13.根据权利要求12所述的服务器集群,其特征在于,所述代码构建服务器与所述预览客户端之间通过无线网络进行数据通信,所述调试转发服务器与所述预览客户端之间通过无线网络进行数据通信。
14.根据权利要求12所述的服务器集群,其特征在于,所述调试转发服务器与所述编辑客户端之间通过无线网络进行数据通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710890868.7A CN107566519B (zh) | 2017-09-27 | 2017-09-27 | 一种代码操作方法、装置、服务器及服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710890868.7A CN107566519B (zh) | 2017-09-27 | 2017-09-27 | 一种代码操作方法、装置、服务器及服务器集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566519A CN107566519A (zh) | 2018-01-09 |
CN107566519B true CN107566519B (zh) | 2021-04-06 |
Family
ID=60983413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710890868.7A Active CN107566519B (zh) | 2017-09-27 | 2017-09-27 | 一种代码操作方法、装置、服务器及服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566519B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388562A (zh) * | 2018-09-21 | 2019-02-26 | 北京辰森世纪科技股份有限公司 | 调试pos机的方法及装置、系统、存储介质、电子装置 |
CN111680323A (zh) * | 2020-05-26 | 2020-09-18 | 广州多益网络股份有限公司 | 一种代码借阅保护方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059758A (zh) * | 2006-04-19 | 2007-10-24 | 日本电气株式会社 | 屏幕转换程序生成方法及设备 |
CN103678125A (zh) * | 2013-12-03 | 2014-03-26 | 华为技术有限公司 | 一种代码调试方法及调试系统 |
CN103699481A (zh) * | 2013-12-03 | 2014-04-02 | 华为技术有限公司 | 一种代码调试方法及调试系统 |
CN105164641A (zh) * | 2012-12-31 | 2015-12-16 | 微软技术许可有限责任公司 | 扩展开发环境 |
CN105607998A (zh) * | 2015-12-11 | 2016-05-25 | 成都新兴信息技术研究所 | 一种通过在线方式进行嵌入软件调试的系统与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019259B2 (en) * | 2013-01-29 | 2018-07-10 | Mobilize.Net Corporation | Code transformation using extensibility libraries |
-
2017
- 2017-09-27 CN CN201710890868.7A patent/CN107566519B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059758A (zh) * | 2006-04-19 | 2007-10-24 | 日本电气株式会社 | 屏幕转换程序生成方法及设备 |
CN105164641A (zh) * | 2012-12-31 | 2015-12-16 | 微软技术许可有限责任公司 | 扩展开发环境 |
CN103678125A (zh) * | 2013-12-03 | 2014-03-26 | 华为技术有限公司 | 一种代码调试方法及调试系统 |
CN103699481A (zh) * | 2013-12-03 | 2014-04-02 | 华为技术有限公司 | 一种代码调试方法及调试系统 |
CN105607998A (zh) * | 2015-12-11 | 2016-05-25 | 成都新兴信息技术研究所 | 一种通过在线方式进行嵌入软件调试的系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107566519A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309279B (zh) | 多屏互动显示方法及装置 | |
US10698797B2 (en) | Mobile application program testing method, server, terminal, and storage medium | |
CN108228444B (zh) | 一种测试方法和装置 | |
KR20190116479A (ko) | 애플리케이션 프로그램 처리 방법, 장치 및 저장 매체 | |
CN103268319A (zh) | 一种基于网页的云浏览器 | |
CN111666129B (zh) | 容器镜像处理方法、电子设备、存储介质及系统 | |
CN105407407A (zh) | 视频的播放方法和装置 | |
CN111090423A (zh) | 一种webhook框架系统和实现主动调用、实现事件触发的方法 | |
CN114168460A (zh) | 混合开发中前端代码的远程调试方法、设备及存储介质 | |
CN107566519B (zh) | 一种代码操作方法、装置、服务器及服务器集群 | |
CN111427552A (zh) | 前端组件化开发方法、装置、计算机设备及存储介质 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN111767208A (zh) | 一种自动测试方法及装置 | |
CN104811485A (zh) | 一种资源分享方法 | |
CN112149035A (zh) | 网站静态资源处理方法及装置 | |
CN104978378B (zh) | 一种网页访问方法和装置 | |
CN114465867B (zh) | 服务器的维护方法、装置、存储介质及处理器 | |
CN110795353A (zh) | 快应用的调试方法、装置、设备及存储介质 | |
CN111142884A (zh) | 小程序的版本部署方法、装置、电子设备及存储介质 | |
CN106161075B (zh) | 业务处理方法、装置及系统 | |
JP2016038802A (ja) | 情報処理端末、その制御方法及びプログラム | |
JP2018500670A (ja) | 非構造化メッセージの処理 | |
CN108021459B (zh) | 跨进程发送打点日志的方法及装置 | |
CN110928547A (zh) | 公共文件的提取方法、装置、终端和存储介质 | |
WO2018121652A1 (zh) | 通过用户设备中的应用连接无线接入点的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |