CN112306591A - 一种基于页面的远程调试方法及装置 - Google Patents
一种基于页面的远程调试方法及装置 Download PDFInfo
- Publication number
- CN112306591A CN112306591A CN201910702194.2A CN201910702194A CN112306591A CN 112306591 A CN112306591 A CN 112306591A CN 201910702194 A CN201910702194 A CN 201910702194A CN 112306591 A CN112306591 A CN 112306591A
- Authority
- CN
- China
- Prior art keywords
- debugging
- page
- terminal
- debugged
- uniform resource
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于页面的远程调试方法及装置,方法包括:向调试服务器发送第一通信请求,以建立通信关系,第一通信请求携带有当前访问第一页面所使用的调试端账号以及第一页面对应的第一统一资源定位符;根据账号关联关系,确定待调试端账号;向与待调试端账号关联的待调试端发送调试交互请求,调试交互请求携带有第一统一资源定位符;当接收到待调试端返回的授权消息时,建立调试关系,授权消息由待调试端根据第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,第二统一资源定位符指向当前待调试端使用待调试端账号所访问的第二页面;基于针对第一页面的操作指令,生成调试指令,以调试第二页面。
Description
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种基于页面的远程调试方法及装置。
背景技术
远程调试(Remote Debugging),指通过运行在电子设备A上的调试(debug)端去调试一个运行在远程电子设备B上的程序(program)。现有技术中,可以使用操作系统自带的远程桌面功能进行远程调试。这样当某台计算机开启了远程桌面功能后,便可以在网络的另一端对该计算机进行控制(比如在该计算机上进行实时操作)。
然而,目前调试端的调试权限往往是系统级别的,当与一电子设备建立远程调试关系后,调试端可以对该电子设备进行系统级别的调试,这样易为待调试端引入了安全风险。同时,目前远程调试的实现在系统层面和平台层面受到限制,无法满足跨系统跨平台的远程调试需求。因此,需要提供更安全有效的远程调试方案。
发明内容
为了解决现有技术应用在远程调试时,调试适应性差、易为待调试端引入安全风险等问题,本发明提供了一种基于页面的远程调试方法及装置:
一方面,本发明提供了一种基于页面的远程调试方法,所述方法包括:
向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
根据账号关联关系,确定所述调试端账号对应的待调试端账号;
通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
另一方面提供了一种基于页面的远程调试方法,所述方法包括:
向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
另一方面提供了一种基于页面的远程调试装置,所述装置包括:
第一通信请求发送模块:用于向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
账号关联模块:用于根据账号关联关系,确定所述调试端账号对应的待调试端账号;
调试交互请求发送模块:用于通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
调试关系建立模块:用于当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
调试指令生成模块:用于基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
另一方面提供了一种基于页面的远程调试装置,所述装置包括:
第二通信请求发送模块:用于向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
相似度计算模块:用于当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
授权消息返回模块:用于当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
调试指令接收模块:用于根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
另一方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的基于页面的远程调试方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的基于页面的远程调试方法。
本发明提供的一种基于页面的远程调试方法及装置,具有如下技术效果:
本发明能够将进行远程调试的调试对象精确至具体页面,提高确定调试对象的准确性,降低为待调试端引入安全风险的可能性。远程调试的实现不再在系统层面和平台层面受到限制,能够实现跨系统跨平台的远程调试,提高远程调试的适应性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种应用环境的示意图;
图2是本发明实施例提供的一种基于页面的远程调试方法的流程示意图;
图3是本发明实施例提供的通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求的一种流程示意图;
图4也是本发明实施例提供的一种基于页面的远程调试方法的流程示意图;
图5是本发明实施例提供的基于针对所述第一页面的操作指令,生成调试指令的一种流程示意图;
图6是本发明实施例提供的根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作的一种流程示意图;
图7是本发明实施例提供的一种基于页面的远程调试装置的组成框图;
图8也是本发明实施例提供的一种基于页面的远程调试装置的组成框图;
图9是本发明实施例提供的待调试端接收到所示调试交互请求的示意图;
图10是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,可以包括调试端01、调试服务器02和待调试端03,基于通信协议在调试端、调试服务器和待调试端三者间进行消息传递,进而调试端可以基于对第一页面的操作实现对第二页面的远程调试。
具体的,调试端01和待调试端03可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。
具体的,调试服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。调试服务器02可以包括有网络通信单元、处理器和存储器等等。
在实际应用中,所述第一页面和所述第二页面可以为H5(html5)网页。
以下介绍本发明一种基于页面的远程调试方法的具体实施例,图2是本发明实施例提供的一种基于页面的远程调试方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:调试端向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
在本发明实施例中,当调试端使用调试端账号进行页面访问时,调试端具有了登录态,由登录态可以触发向调试服务器发送第一通信请求。调试服务器接收到所述第一通信请求,可以实现调试端与调试服务器间进行双向连续的通信关系的建立。在实际应用中,可以在就某应用进行开发时,加入远程控制脚本以实现具体实施例中的各步骤功能。比如,第一页面可以基于远程控制脚本在登录态下向调试服务器发送第一通信请求。具体的,远程控制脚本采用hack(一种修改方式)的方式修改js(JavaScript,一种直译式脚本语言)事件响应函数,帮助在调试端、调试服务器和待调试端三者间进行基于远程调试的消息传递。
在一个具体的实施例中,调试端可以根据所述通信请求,以套接字传输方式与所述调试服务器建立通信关系。调试端和调试服务器可以基于WebSocket协议(一种在单个TCP连接上进行全双工通信的协议;TCP:Transmission Control Protocol,传输控制协议)建立通信关系。基于WebSocket协议,在调试端和调试服务器之间的进行消息传递可以更加简单、方便。当然,调试端与调试服务器之间建立通信关系所采用的通信协议、传输方式等并不局限于上述。
S202:调试端根据账号关联关系,确定所述调试端账号对应的待调试端账号;
在本发明实施例中,账号关联关系记录了调试端账号与至少一个候选账号之间的关联关系。该关联关系表征了后续调试端可以基于所述调试端账号对使用候选账号访问的页面进行调试。调试端根据账号关联关系,可以在与所述调试端账号具有关联关系的至少一个候选账号中选择待调试端账号,也可以将所有的候选账号都作为所述待调试端账号。当然,待调试端账号的数量不局限于一个。
在实际应用中,所述账号关联关系可以是预先配置的,调试端确定所述待调试端账号的时机并不限于本具体实施例中的步骤编号。调试端确定所述待调试端账号的时机可以在调试端与调试服务器建立通信关系的时间之前、可以与调试端与调试服务器建立通信关系的时间同步等。当然,调试端账号和待调试端账号也可以预先配置。
S203:待调试端向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
在本发明实施例中,当待调试端使用待调试端账号进行页面访问时,待调试端具有了登录态,由登录态可以触发向调试服务器发送第一通信请求。调试服务器接收到所述第一通信请求,可以实现待调试端与调试服务器间进行双向连续的通信关系的建立。
在一个具体的实施例中,待调试端可以根据所述通信请求,以套接字传输方式与所述调试服务器建立通信关系。待调试端和调试服务器可以基于WebSocket协议建立通信关系。基于WebSocket协议,在待调试端和调试服务器之间的进行消息传递可以更加简单、方便。当然,待调试端与调试服务器之间建立通信关系所采用的通信协议、传输方式等并不局限于上述。
在实际应用中,待调试端具有登录态的时机,也就是待调试端与调试服务器建立通信关系的时机并不限于本具体实施例中的步骤编号。待调试端与调试服务器建立通信关系的时机可以在调试端与调试服务器建立通信关系的时间之前、可以与调试端与调试服务器建立通信关系的时间同步等。
S204:调试端通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
在本发明实施例中,与所述待调试端账号关联的待调试端表明存在客户端当前有使用所述待调试端账号进行页面访问,该待调试端与调试服务器建立通信关系,待调试端通过所述调试服务器接收到调试端发送的调试交互请求,调试端通过所述调试交互请求请求与待调试端建立通信关系、调试关系。调试端基于通过所述调试交互请求获得的反馈消息(可以由调试服务器直接发送,也可以由待调试端通过调试服务器发送)可以指示待调试端的当前状态,比如页面访问状态(使用待调试端账号所访问页面对应的统一资源定位符)以及调试鉴权状态(是否同意与调试端建立调试关系)。所述调试交互请求的发送可以由用户通过操作手势(比如鼠标操作手势、键盘操作手势、触摸操作手势等)触发。
在一个具体的实施例中,当调试端不确定是否存在客户端使用所述待调试端账号进行页面访问时,如图3所示,所述通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,包括:
S301:获取所述待调试端账号对应的登录状态;
调试端可以通过调试服务器获取所述待调试端账号对应的登录状态,若存在客户端使用所述待调试端账号进行页面访问,那么该客户端具有登录态,该客户端与调试服务器建立通信关系,调试服务器可以根据是否建立有通信关系来确定所述待调试端账号对应的登录状态。
S302:当所述待调试端账号对应的登录状态为登录成功时,通过所述调试服务器向与所述待调试端账号关联的所述待调试端发送所述调试交互请求。
当存在客户端使用所述待调试端账号进行页面访问时,调试服务器根据建立有通信关系确定所述待调试端账号对应的登录状态为登录成功,可以将该客户端作为待调试端,进而向所述待调试端发送所述调试交互请求。
根据待调试端账号对应的登录状态,可以有效确定能够请求与之建立通信关系、调试关系的待调试端,减少发送无效请求给调试服务器带来的负担。
S205:待调试端将所述第一统一资源定位符和所述第二统一资源定位符进行相似度计算;
在本发明实施例中,统一资源定位符(URL,Uniform Resource Locator)包括协议部分、主机名部分、端口部分、路径部分、查询参数部分和信息片段部分。将所述第一统一资源定位符和所述第二统一资源定位符进行相似度计算:可以根据URL的组成部分,分别对所述第一统一资源定位符和所述第二统一资源定位符进行切割处理,得到所述第一统一资源定位符对应的各个第一待计算字符串以及所述第二统一资源定位符对应的各个第二待计算字符串;分别计算各个所述第一待计算字符串与对应的所述第二待计算字符串之间的相似度(比如计算第一路径部分待计算字符串与第二路径部分待计算字符串之间的相似度),得到各个子相似度值;可以根据各个子相似度值和对应的相似度权重,得到所述相似度计算的结果。
当然,将所述第一统一资源定位符和所述第二统一资源定位符进行相似度计算的执行主体可以是待调试端,也可以是调试服务器。
S206:当所述相似度计算的结果满足相似度阈值的要求时,待调试端通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
在本发明实施例中,相似度阈值可以为100%,这样第一统一资源定位符和所述第二统一资源定位符相同,调试端当前访问的第一页面与待调试端当前访问的第二页面相同,这样可以明确后续基于同一页面进行远程调试的调试环境,保证了调试环境的安全性。待调试端可以向所述调试端返回授权消息,以建立与所述调试端的调试关系。
相似度阈值可以包括第一相似度阈值和第二相似度阈值(版本相似度阈值),第二相似度阈值指向版本标志符的相似度,第一相似度阈值指向版本标志符以外的其他字符串的相似度。在实际应用中,考虑到系统升级、不同平台间的差异、应用程序升级以及电子设备的分辨率等,即使呈现的页面内容相同、基于页面的目标对象的功能相同,所访问的两个页面对应的URL也可能不同,比如在URL的路径部分加入版本标志符。第一相似度阈值可以为100%,第二相似度阈值可以小于或等于100%,这样可以提高后续基于第一页面对第二页面进行远程调试的适应性和兼容性。待调试端可以向所述调试端返回授权消息,以建立与所述调试端的调试关系。
当然,向所述调试端返回授权消息的执行主体可以是待调试端,也可以是调试服务器。在所述相似度计算的结果满足相似度阈值的要求的情况下,待调试端可以根据需要来确定是否同意与调试端建立调试关系,可参见图9。
S207:调试端基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
在本发明实施例中,调试端与待调试端建立调试关系后,管理员可以随意对第一页面进行操作,然后远程用户可以看到第二页面上执行对应的操作。比如,管理员打开确认角色弹窗,然后点击选中了第一行,进而远程用户可以看到第二页面上也执行了同样的操作。
在一个具体的实施例中,如图4、5所示,对于调试端,所述基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面,包括:
S401:响应于所述操作指令,捕获针对所述第一页面的至少一个目标对象的至少一个操作事件;
针对所示第一页面的操作指令可以由用户通过操作手势(比如鼠标操作手势、键盘操作手势、触摸操作手势等)触发。响应于所述操作指令,可以捕获针对所述第一页面的目标对象(比如按钮、滚动条)的操作事件(比如点击事件、滚动事件、选择事件)。目标对象可以是显性对象,也可以是隐性对象。
当然,操作指令的触发形式还可以包括声音触发(麦克风采集声音,通过提取具有特定含义的语音来触发)、图像触发(摄像头采集图像数据,通过提取具有特定含义的表情、手势来触发)。
S402:根据各个所述操作事件,分别生成对应的每个事件对象;
比如针对所述第一页面的操作包括点击按钮A、下拉进度条B。根据各个所述操作事件,分别生成对应的每个事件对象(dom对象),这样新生成的事件对象1中绑定有作为操作事件的点击事件1与作为目标对象的按钮A,新生成的事件对象2中绑定有作为操作事件的下拉事件2与作为目标对象的进度条B。
S403:分别对每个所述事件对象进行编码,得到对应的每个事件对象字符串;
对所述事件对象进行编码,得到对应的每个事件对象字符串(JSON字符串;JSON,一种数据交换格式)。JSON字符串便于机器解析和生成,能够有效提升传输效率。
S404:基于每个所述事件对象字符串,生成所述调试指令。
进一步的,首先,根据各个所述操作事件的触发时序和每个所述事件对象字符串,得到目标事件流,对JSON字符串进行序列化处理;然后,基于所述目标事件流,生成所述调试指令。管理员对第一页面进行的一连串操作,可以形成一股目标事件流不断的向待调试端发送。
调试指令基于每个所述事件对象字符串生成,后续待调试端在所述第二页面执行所述调试指令对应的调试操作,实现了将在第一页面上执行的操作同步复制到了第二页面上。
在实际应用中,可以在就某应用进行开发时,加入远程控制脚本以实现上述步骤S401-S404的功能。远程控制脚本采用hack的方式修改js事件响应函数,捕获当前操作事件,利用xpath(可扩展标记语言路径语言)精准定位与操作事件绑定的目标对象,进而将操作事件所涉及的数据、类别等用一个新的事件对象(dom对象)保存。
在另一个具体的实施例中,对于调试端,所述基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面,还包括:通过所述调试服务器将所述调试指令发送给所述待调试端;接收所述待调试端反馈的调试结果,所述调试结果为所述待调试端根据所述调试指令在所述第二页面执行对应的调试操作生成。可参见图4中的步骤S208-S210。
待调试端反馈的调试结果可以是待调试端的控制台(console)经调试服务器发送的日志,调试端通过日志可以获知第二页面的当前状态是否正常,提高调试端远程定位问题的准确性。日志的发送可以是实时的,相应的,调试端查看日志进而获知调试效果也具有同步性。日志可以由待调试端的控制台经调试服务器同步传入调试端的控制台。
在另一个具体的实施例中,如图4、6所示,对于待调试端,所述根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,包括:
S501:根据所述调试指令,获得至少一个事件对象字符串;
与上述步骤S401-S404相对应。首先,可以基于所述调试指令,获得所述目标事件流,所述目标事件流中包含了至少一个事件对象字符串(JSON字符串)。然后,从所述目标事件流中逐个取出(可以参考上述各个所述操作事件的触发时序)每个所述事件对象字符串。
S502:分别对每个所述事件对象字符串进行解码,得到对应的各个事件对象;
对所述事件对象字符串(JSON字符串)进行解码,得到对应的每个事件对象(dom对象)。
S503:分别确定每个所述事件对象指向的针对所述第二页面的目标对象,以及所述目标对象绑定的操作事件;
比如,确定事件对象1所指向的针对所述第二页面的目标对象的按钮a,作为目标对象的按钮a绑定的操作事件为点击事件1;确定事件对象2所指向的针对所述第二页面的目标对象的进度条b,作为目标对象的进度条b绑定的操作事件为下拉事件2。由于第一页面对应的URL与第二页面对应的URL进行相似度计算的结果满足相似度阈值的要求,可以通过页面中目标对象对应的标识确定按钮A与按钮a的对应关系,以及进度条B与进度条b的对应关系。
可以通过xpath精准定位事件对象中与操作事件绑定的目标对象,根据操作事件涉及的数据,重放管理员的操作,也就是在第二页面触发对应的操作(比如点击哪里,滚动多少距离等)。
S504:基于所述目标对象和所述目标对象绑定的操作事件,在所述第二页面执行对应的调试操作。
比如管理员滚动第一页面,远程用户可以看到第二页面发生滚动。基于远程调试可以定位问题,还可以帮助远程用户操作页面。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中本发明中调试端基于调试端账号访问第一页面(对应第一统一资源定位符),待调试端基于待调试端账号访问第二页面(对应第二统一资源定位符),在第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求的情况下,建立调试端与待调试端的调试关系,进而基于第一页面对第二页面进行远程调试。能够将进行远程调试的调试对象精确至具体页面,满足了仅需要就某应用(比如浏览器)的某一页面进行调试的需求,提高确定调试对象的准确性,降低为待调试端引入安全风险的可能性。远程调试的实现不再在系统层面和平台层面受到限制,能够实现跨系统跨平台的远程调试,提高远程调试的适应性。
以下以调试端为执行主体介绍本说明书一种基于页面的远程调试方法的具体实施例,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。如图2、4所示,所述方法可以包括:
向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
根据账号关联关系,确定所述调试端账号对应的待调试端账号;
通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
本发明实施例还提供了一种基于页面的远程调试装置,如图7所示,所述装置包括:
第一通信请求发送模块710:用于向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
账号关联模块720:用于根据账号关联关系,确定所述调试端账号对应的待调试端账号;
调试交互请求发送模块730:用于通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
调试关系建立模块740:用于当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
调试指令生成模块750:用于基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。
以下以待调试端为执行主体介绍本说明书一种基于页面的远程调试方法的具体实施例,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。如图2、4所示,所述方法可以包括:
向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
本发明实施例还提供了一种基于页面的远程调试装置,如图8所示,所述装置包括:
第二通信请求发送模块810:用于向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
相似度计算模块820:用于当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
授权消息返回模块830:用于当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
调试指令接收模块840:用于根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。
本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的基于页面的远程调试方法。
进一步地,图10示出了一种用于实现本发明实施例所提供的方法的电子设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置。如图10所示,设备100可以包括一个或多个(图中采用1002a、1002b,……,1002n来示出)处理器1002(处理器1002可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备100还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到电子设备100(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1004可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种基于页面的远程调试方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至电子设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备100的通信供应商提供的无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1006可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子设备100(或移动设备)的用户界面进行交互。
本发明的实施例还提供了一种存储介质,所述存储介质可设置于电子设备之中以保存用于实现方法实施例中一种基于页面的远程调试方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的基于页面的远程调试方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random对象Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种基于页面的远程调试系统,所述系统包括调试端、待调试端和调试服务器。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于页面的远程调试方法,其特征在于,所述方法包括:
向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
根据账号关联关系,确定所述调试端账号对应的待调试端账号;
通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
2.根据权利要求1所述的方法,其特征在于,所述通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,包括:
获取所述待调试端账号对应的登录状态;
当所述待调试端账号对应的登录状态为登录成功时,通过所述调试服务器向与所述待调试端账号关联的所述待调试端发送所述调试交互请求。
3.根据权利要求1所述的方法,其特征在于,所述基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面,包括:
响应于所述操作指令,捕获针对所述第一页面的至少一个目标对象的至少一个操作事件;
根据各个所述操作事件,分别生成对应的每个事件对象;
分别对每个所述事件对象进行编码,得到对应的每个事件对象字符串;
基于每个所述事件对象字符串,生成所述调试指令。
4.根据权利要求3所述的方法,其特征在于,所述基于每个所述事件对象字符串,生成所述调试指令,包括:
根据各个所述操作事件的触发时序和每个所述事件对象字符串,得到目标事件流;
基于所述目标事件流,生成所述调试指令。
5.根据权利要求1所述的方法,其特征在于,所述基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面,还包括:
通过所述调试服务器将所述调试指令发送给所述待调试端;
接收所述待调试端反馈的调试结果,所述调试结果为所述待调试端根据所述调试指令在所述第二页面执行对应的调试操作生成。
6.根据权利要求1所述的方法,其特征在于,所述向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,包括:
根据所述第一通信请求,以套接字传输方式与所述调试服务器建立通信关系。
7.一种基于页面的远程调试方法,其特征在于,所述方法包括:
向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
8.根据权利要求7所述的方法,其特征在于,所述根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,包括:
根据所述调试指令,获得至少一个事件对象字符串;
分别对每个所述事件对象字符串进行解码,得到对应的各个事件对象;
分别确定每个所述事件对象指向的针对所述第二页面的目标对象,以及所述目标对象绑定的操作事件;
基于所述目标对象和所述目标对象绑定的操作事件,在所述第二页面执行对应的调试操作。
9.一种基于页面的远程调试装置,其特征在于,所述装置包括:
第一通信请求发送模块:用于向调试服务器发送第一通信请求,以建立与所述调试服务器的通信关系,所述第一通信请求携带有当前访问第一页面所使用的调试端账号以及所述第一页面对应的第一统一资源定位符;
账号关联模块:用于根据账号关联关系,确定所述调试端账号对应的待调试端账号;
调试交互请求发送模块:用于通过所述调试服务器向与所述待调试端账号关联的待调试端发送调试交互请求,所述调试交互请求携带有所述第一统一资源定位符;
调试关系建立模块:用于当接收到所述待调试端返回的授权消息时,建立与所述待调试端的调试关系,所述授权消息由所述待调试端根据所述第一统一资源定位符和第二统一资源定位符的相似度计算的结果满足相似度阈值的要求而生成,所述第二统一资源定位符指向第二页面,所述第二页面为当前所述待调试端使用所述待调试端账号所访问的页面;
调试指令生成模块:用于基于针对所述第一页面的操作指令,生成调试指令,以调试所述第二页面。
10.一种基于页面的远程调试装置,其特征在于,所述装置包括:
第二通信请求发送模块:用于向调试服务器发送第二通信请求,以建立与所述调试服务器的通信关系,所述第二通信请求携带有当前访问第二页面所使用的待调试端账号以及所述第二页面对应的第二统一资源定位符;
相似度计算模块:用于当接收到调试端发送的调试交互请求时,将第一统一资源定位符和所述第二统一资源定位符进行相似度计算,所述调试交互请求携带有所述第一统一资源定位符,所述第一统一资源定位符指向第一页面,所述第一页面为当前所述调试端使用调试端账号所访问的页面;
授权消息返回模块:用于当所述相似度计算的结果满足相似度阈值的要求时,通过所述调试服务器向所述调试端返回授权消息,以建立与所述调试端的调试关系;
调试指令接收模块:用于根据接收到的所述调试端发送的调试指令,在所述第二页面执行所述调试指令对应的调试操作,所述调试指令由所述调试端基于针对所述第一页面的操作指令而生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910702194.2A CN112306591B (zh) | 2019-07-31 | 2019-07-31 | 一种基于页面的远程调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910702194.2A CN112306591B (zh) | 2019-07-31 | 2019-07-31 | 一种基于页面的远程调试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306591A true CN112306591A (zh) | 2021-02-02 |
CN112306591B CN112306591B (zh) | 2022-07-22 |
Family
ID=74485871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910702194.2A Active CN112306591B (zh) | 2019-07-31 | 2019-07-31 | 一种基于页面的远程调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306591B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392386A (zh) * | 2021-06-30 | 2021-09-14 | 未鲲(上海)科技服务有限公司 | 业务系统的登录方法、装置、计算机设备和存储介质 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219454A1 (en) * | 2010-03-05 | 2011-09-08 | Electronics And Telecommunications Research Institute | Methods of identifying activex control distribution site, detecting security vulnerability in activex control and immunizing the same |
US20120151452A1 (en) * | 2010-12-14 | 2012-06-14 | Microsoft Corporation | Remote debugging of server side code without blocking or high-level privileges |
CN103324567A (zh) * | 2012-03-22 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种应用引擎的调试方法和调试系统 |
US20160373944A1 (en) * | 2015-06-22 | 2016-12-22 | Orchestra Technology, Inc. | Method and system for wireless network optimization and remote control of mobile handset operation |
US20180129584A1 (en) * | 2016-11-07 | 2018-05-10 | Vmware, Inc. | Collaborative debugging |
CN109729137A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 页面数据显示方法、显示终端及存储介质 |
-
2019
- 2019-07-31 CN CN201910702194.2A patent/CN112306591B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219454A1 (en) * | 2010-03-05 | 2011-09-08 | Electronics And Telecommunications Research Institute | Methods of identifying activex control distribution site, detecting security vulnerability in activex control and immunizing the same |
US20120151452A1 (en) * | 2010-12-14 | 2012-06-14 | Microsoft Corporation | Remote debugging of server side code without blocking or high-level privileges |
CN103324567A (zh) * | 2012-03-22 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种应用引擎的调试方法和调试系统 |
US20160373944A1 (en) * | 2015-06-22 | 2016-12-22 | Orchestra Technology, Inc. | Method and system for wireless network optimization and remote control of mobile handset operation |
US20180129584A1 (en) * | 2016-11-07 | 2018-05-10 | Vmware, Inc. | Collaborative debugging |
CN109729137A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 页面数据显示方法、显示终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
史永哲: "ASP动态网页在线调试平台的实现", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392386A (zh) * | 2021-06-30 | 2021-09-14 | 未鲲(上海)科技服务有限公司 | 业务系统的登录方法、装置、计算机设备和存储介质 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
CN117573943B (zh) * | 2024-01-11 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112306591B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613916B2 (en) | Enabling a web application to call at least one native function of a mobile device | |
US11588922B2 (en) | Capturing and replaying application sessions using resource files | |
CN110198247B (zh) | 接口测试方法及系统 | |
US9961129B2 (en) | Business transaction correlation with client request monitoring data | |
CN106936793B (zh) | 一种信息拦截处理方法及终端 | |
US20150058407A1 (en) | Systems, methods, and apparatuses for implementing the simultaneous display of multiple browser client cursors at each browser client common to a shared browsing session | |
US9552338B2 (en) | Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers | |
US20200213403A1 (en) | Information transmission method and device | |
CN103942225A (zh) | 一种混合型应用客户端的资源调用方法、客户端及系统 | |
EP2928143A1 (en) | Page operation processing method, device and terminal | |
RU2610584C2 (ru) | Способ обработки электронного сообщения и сервер, используемый в нем | |
WO2018133772A1 (zh) | 网页资源的获取方法和装置、存储介质、电子装置 | |
US20170169122A1 (en) | Webpage display method, mobile terminal, intelligent terminal, program and storage medium | |
CN112306591B (zh) | 一种基于页面的远程调试方法及装置 | |
CN110290218B (zh) | 文件批注方法和系统、计算机可读介质 | |
CN113590974B (zh) | 推荐页面配置方法、装置、电子设备和计算机可读介质 | |
CN112988599B (zh) | 一种页面调试方法、装置、电子设备和存储介质 | |
JP2021111403A (ja) | ランディングページの処理方法、装置、機器及び媒体 | |
CN113382083A (zh) | 一种网页截图方法和装置 | |
JP6525486B2 (ja) | ネットワークリクエスト及びレスポンスの処理方法、端末、サーバ及び記憶媒体 | |
JP2011043924A (ja) | Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム | |
CN106708717B (zh) | 一种开发调试方法及装置 | |
CN110633443B (zh) | 一种页内数据通信的方法、装置、设备和介质 | |
KR101001512B1 (ko) | 인터넷 페이지에 링크 구조로 연결된 콘텐츠 파일의 송수신시스템 및 그 제어방법과, 그 시스템에 사용되는 브라우징장치 | |
CN115098213A (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 |