CN111367804B - 基于云计算及网络编程实现前端协作调试的方法 - Google Patents
基于云计算及网络编程实现前端协作调试的方法 Download PDFInfo
- Publication number
- CN111367804B CN111367804B CN202010142203.XA CN202010142203A CN111367804B CN 111367804 B CN111367804 B CN 111367804B CN 202010142203 A CN202010142203 A CN 202010142203A CN 111367804 B CN111367804 B CN 111367804B
- Authority
- CN
- China
- Prior art keywords
- system server
- information
- error information
- cloud computing
- error
- 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
Classifications
-
- 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/3664—Environments for testing or debugging software
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机领域,具体提供了一种基于云计算及网络编程实现前端协作调试的方法,包括如下步骤:S1:利用前端错误信息入库模型将前端错误信息入库;所述前端错误信息入库模型包括数据库、***服务端、前端传输接口,所述数据库与***服务端交互连接,所述前端传输接口的出口端与所述***服务端的入口端连接;S2:通过查询数据库中步骤S1传送过来的错误场景信息来复原错误场景;通过本发明上述步骤增强了前端开发人员协同工作能力。有效提高了企业在紧急处理前端产品问题的能力。并通过搭建错误日志***服务端,有效提高了开发人员协同工作,相互排查问题的能力。
Description
技术领域
本发明涉及前端协作调试技术领域,特别涉及一种基于云计算及网络编程实现前端协作调试的方法。
背景技术
在前端人员开发过程中,常见的错误调试方法一般包括:1.把出错信息用console.log方法输出到控制台。2.在Network panel中查看状态码、请求的发出和请求收到的响应信息。
现阶段出于计算机安全的考虑,浏览器还尚不允许利用Javascript把前端信息写入本地,这就出现了一个在前端团队开发过程中,不便于错误场景信息的记录,通过转述来分享错误信息过程繁琐更不能多人员协助调试错误;由于错误信息无法写入本地,无法对错误场景信息进行记录,公享。为了产品在上线后出现的前端问题可以快速排查,在对错误信息的记录、分享后,还需要有一种方案,能够使多名前端人员快速获得错误场景的环境对出现的问题进行调试。
发明内容
为解决现有技术中的技术问题,本发明提供了一种基于云计算虚拟化技术及网络编程实现前端协作调试的方法。本发明可以提供前端错误日志入库,方便其他人员查看,以及通过云计算快速搭建错误环境供多人分析调试。
具体地,本发明提供了一种基于云计算及网络编程实现前端协作调试的方法,其特征在于,包括如下步骤:
S1:利用前端错误信息入库模型将前端错误信息入库;所述前端错误信息入库模型包括数据库、***服务端、前端传输接口,所述数据库与***服务端交互连接,所述前端传输接口的出口端与所述***服务端的入口端连接;
步骤S1具体包括如下步骤:
S11:前端编写JS模块,JS模块为与***服务端进行通讯的客户端,其包括前端错误信息,JS模块通过网络编程技术将前端错误信息发送至***服务端,
S12:***服务端接收步骤S11中的前端错误信息进行数据过滤处理;
S13:对步骤S12中获得的前端错误信息进行持久化处理,***服务端可以根据接收到的数据前端错误信息,设计相应的字段,根据三范式设计相应的表格,将前端错误信息写入数据库,并将前端错误信息写入文本;
S14:***服务端提供多种接口查询错误场景信息,调用者通过调用接口查询相应的错误场景信息;
S15:***服务端接收到下载前端错误信息请求后,从数据库中提取到的相应的前端错误信息进行可视化处理后再传回;
S2:通过查询数据库中步骤S1传送过来的错误场景信息来复原错误场景;
步骤S2具体包括如下步骤:
S21:云计算块存储,***服务端配置分布式存储节点;
S22:云计算镜像***服务端配置相应模版;
S23:***服务端提供封装调用云计算管理平台接口:
S24:***服务端经云计算管理平台处理结果信息返回用户;
S25:用户操作错误场景虚拟机,通过远程登录资源进行登录,完成调试任务后,调用云计算管理平台接口对虚拟机进行关闭或删除。
优选地,步骤S1中,网络编程技术包括Ajax技术和WebSocket协议,若前端错误信息不是频繁发送的场景,JS模块与***服务端通过Ajax技术连接,若前端错误信息是频繁发送或前端需要接受***服务端反馈信息的场景,则JS模块与***服务端通过WebSocket协议连接实现前后端数据相互推送以及访问***服务端的次数。
优选地,步骤S12中***服务端接收步骤S11中的前端错误信息进行数据过滤处理的具体步骤为:
***服务端提供前端错误信息访问的API接口,规定前后端推送的前端错误信息格式及携带的前端错误信息,***服务端接受完前端错误信息数据后,进一步对前端错误信息完整性进行验证,过滤不符合的前端错误信息,提取出所需的前端错误信息。
优选地,携带的前端错误信息包括主机信息、错误场景信息、开发信息,主机网卡信息,***信息;所述错误场景信息,包括输出到console的错误信息,状态码以及***服务端响应的信息,开发信息包括开发人员信息,开发时间,项目ID。
优选地,步骤S21中采用Ceph将***服务端的集中式计算转化为分布式,即***服务端配置分布式存储节点。
优选地,云计算的镜像***服务端配置基础开发环境、平台、虚拟机内部进行通信的qemu-guest-agent和业务相关的服务程序的qcow2或者raw磁盘对象,其中,qemu-guest-agent添加上传文件、删除文件、执行命令的功能函数,即可完成所有操作虚拟机内部文件***的任务。
优选地,步骤S23中管理平台接口包括用户调用***服务端操作虚拟机的接口和用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口。
优选地,所述用户调用***服务端操作虚拟机的接口的设计需要对计算***服务端API或者是VMM管理工具进行二次封装,让用户提供主机信息或者错误场景信息或者开发者信息参数来快速定位需要调试的主机;
所述需要调试的主机为虚拟***服务端,则直接调用计算***服务端API通过块节点迅速划分出一份相同磁盘对象,并通过网络节点自动配置,即可创建出与错误场景信息相同的虚拟机;
若所述需要调试的主机为实体机,则通过在接口中设计额外字段参数通过接口调用计算***服务端API通过块节点提供的PaaS服务基础上,将额外上传的文件参数通过Guest-Agent快速上传到操作***,执行命令启动自动化脚本快速安装,若业务场景大多数相同,直接通过块节点来直接提供SaaS服务,根据需求通过用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口调用qemu-guest来执行简单的配置,最后通过网络节点自动配置即可获得相同的虚拟场景主机;
优选地,所述用户调用***服务端通过qemu-guest去操作虚拟机内部文件***的接口是对qemu-guest的二次封装,对qemu-guest-agent中自定义新的函数任务后,在接口设计两个参数,第一个参数是任务函数名,第二个参数是任务函数的参数。
优选地,步骤S24具体为服务将用户提交的创建后的登录信息以及管理虚拟机的反馈信息,作为响应发送给请求方。
与现有技术相对比,本发明的有益效果如下:
(1)本发明利用云计算虚拟化技术及网络编程实现前端协作调试的方法,增强了前端开发人员协同工作能力,有效提高了企业在紧急处理前端产品问题的能力,企业通过搭建私有云,提高了IT资源的有效利用率,并通过搭建错误日志***服务端,有效提高了开发人员协同工作,相互排查问题的能力。
(2)本发明利用成熟的虚拟化技术,快速构建问题场景,实现前端问题的快速排查。
(3)本发明提供的方法可以将前端错误日志入库,并过云计算虚拟化技术结合日志数据库,快速创建与调试环境相同的虚拟机供开发人员调试。
(4)由于浏览器不允许Javascript写入本地,为了解决前端错误信息进行记录问题,本发明采用网络编程技术,通过网络对前端错误信息进行传输,之后写入数据库,在后端无需频繁对调试环境进行信息推送的情况下,本发明通过Ajax技术,把错误信息发送到***服务端,而在后端需要频繁推送数据到前端的情况下,本发明采用WebSocket技术,通过编写支持WebSocket协议的***服务端,利用建立的连接来实现错误信息的传输。此外,本发明通过利用WebSocket拓展子协议,设计所需的字段。通过网络编程编写设计的***服务端,在接受到错误信息后,经过解析处理,根据设计的字段,把对应的数据库信息写入到数据库中,而其他开发成员只需要通过数据库,即可访问到前端出现的错误信息,实现前端开发过程中错误调试信息的分享。
(5)本发明利用云计算虚拟化技术,通过利用搭建类似Openstack的云计算管理平台,在成员发送创建同样的错误环境请求后,***服务端通过从数据库中获取信息,并利用虚拟化技术调用计算资源快速创建一样的开发环境协助调试。本发明云计算运用的许多分布式块存储技术例如CEPH,可以在极短的时间内把划分出一块与调试环境一样的磁盘分区对象,然后使用计算资源调度器例如nova-schedule即可创建出与开发环境一样的虚拟机环境,其他开发成员仅仅需要利用远程登录,或者使用提供的可视化API接口例如基于VNC的nova-console,用户仅仅只需要通过一个URL即可获得一台与调试环境一模一样的虚拟机,在调试期间,用户可以根据需求调用nova-compute对计算资源进行拓展收缩,调试结束后,还能将计算资源进行回收。
附图说明
图1为本发明提供的前端错误日志入库模型;
图2为本发明实现前端协作调试的方法使用的***架构图;
图3为本发明提供的完成前端场景信息的入库的流程图;
图4为本发明提供的根据错误场景信息快速创建错误场景信息主机的流程图。
具体实施方式
下面结合附图1-4,对本发明的具体实施方式作详细的说明。
参图1所示,由于浏览器不允许Javascript写入本地,为了解决前端错误信息进行记录问题,本发明采用网络编程技术,通过网络对前端错误信息进行传输,之后写入数据库,在后端无需频繁对调试环境进行信息推送的情况下,本发明通过Ajax技术,把错误信息发送到***服务端,而在后端需要频繁推送数据到前端的情况下,本发明采用WebSocket技术,通过编写支持WebSocket协议的***服务端,利用建立的连接来实现错误信息的传输。此外,本发明通过利用WebSocket拓展子协议,设计所需的字段。
通过网络编程编写设计的***服务端,在接收到错误信息后,经过解析处理,根据设计的字段,把对应的数据库信息写入到数据库中,而其他开发成员只需要通过数据库,即可访问到前端出现的错误信息,实现前端开发过程中错误调试信息的分享。
参图2所示,本发明利用云计算虚拟化技术,通过利用搭建类似Openstack的云计算管理平台,在成员发送创建同样的错误环境请求后,***服务端通过从数据库中获取信息,并利用虚拟化技术调用计算资源快速创建一样的开发环境协助调试。
虚拟化技术,实现了IT资源的高效利用,云计算相比传统的IT资源管理方式,有着其难以企及的高可用,易伸缩,易拓展,易管理的特点。
云计算运用的许多分布式块存储技术例如CEPH,可以在极短的时间内把划分出一块与调试环境一样的磁盘分区对象,然后使用计算资源调度器例如nova-schedule即可创建出与开发环境一样的虚拟机环境,其他开发成员仅仅需要利用远程登录,或者使用提供的可视化API接口例如基于VNC的nova-console,用户仅仅只需要通过一个URL即可获得一台与调试环境一模一样的虚拟机,在调试期间,用户可以根据需求调用nova-compute对计算资源进行拓展收缩,调试结束后,还能将计算资源进行回收。
参图3-4所示,图3为本发明提供的完成前端场景信息的入库的流程图;图4为本发明提供的根据错误场景信息快速创建错误场景信息主机的流程图;
本发明提供了一种基于云计算及网络编程实现前端协作调试的方法,包括如下步骤:
S1:利用前端错误信息入库模型将前端错误信息入库;所述前端错误信息入库模型包括数据库、***服务端、前端传输接口,所述数据库与***服务端交互连接,所述前端传输接口的出口端与所述***服务端的入口端连接;
步骤S1具体包括如下步骤:
S11:前端编写JS模块,JS模块为与***服务端进行通讯的客户端,其包括前端错误信息,JS模块通过网络编程技术将前端错误信息发送至***服务端,
S12:***服务端接收步骤S11中的前端错误信息进行数据过滤处理;
S13:对步骤S12中获得的前端错误信息进行持久化处理,***服务端可以根据接收到的数据前端错误信息,设计相应的字段,例如主机信息可以是IP、MAC、OS字段,错误场景信息包含error_msg、status_code、request、response等,根据三范式设计相应的表格,将前端错误信息写入数据库,并将前端错误信息写入文本;
S14:***服务端提供多种接口查询错误场景信息,调用者通过调用接口查询相应的错误场景信息;
S15:***服务端接收到下载前端错误信息请求后,从数据库中提取到的相应的前端错误信息进行可视化处理后再传回;***服务端接受到下载错误信息资源请求后,可以把从数据库中提取到的信息进一步进行可视化处理后再传回,例如可以通过简单的JSON格式数据,或生存对应的图片;
S2:通过查询数据库中步骤S1传送过来的错误场景信息来复原错误场景;
步骤S2具体包括如下步骤:
S21:云计算块存储,***服务端配置分布式存储节点;
S22:云计算镜像***服务端配置相应模版;
S23:***服务端提供封装调用云计算管理平台接口:
S24:***服务端经云计算管理平台处理结果信息返回用户;
S25:用户操作错误场景虚拟机,通过远程登录资源进行登录,完成调试任务后,调用云计算管理平台接口对虚拟机进行关闭或删除。具体为用户通过远程登录资源进行登录,完成调试任务后,可以调用***服务端管理平台-用户调用***服务端操作虚拟机的接口来对虚拟机进行关闭,或删除来释放计算资源,实现企业IT资源的高效利用。
其中,本发明步骤S2通过查询数据库里步骤S1传送过来的错误场景信息来复原错误场景,是实现还原场景的技术方案,主要有两个方案来实现:
如果前端人员的开发主机是由企业的云管理平台分配的,本发明需要从数据库中查到该主机的ip地址等主机定位信息,然后通过云平台的计算资源调度器例如OpenStack中的nova-compute调用管理块存储***服务端Cinder获取这台主机的磁盘对象,通过使用Ceph分布式存储技术,快速划分出一个存储块来生成一台一样的虚拟机,然后再调用网络管理***服务端Neutron来分配同一网段的网络,即可获得同一环境的主机给其他开发人员使用。
如果前端人员的开发主机是单独的物理机,本发明在云计算管理平台中的镜像服务例如Openstack的Glance,获取已经配置好环境的镜像,通过调用Nova快速创建一个带有企业业务代码、服务的基本开发环境,再通过网络管理***服务端Neutron配置网络后,在数据库中读取错误场景信息中存放造成错误场景的业务代码的共享文件地址,这样我们就可以在创建的带有基本开发环境的主机中去访问地址获取业务代码。
其中,本发明提供的JS模块,JS模块封装的内容有两部分:1、与***服务端进行通信的客户端,此通信客户端,比较常见的有两种技术,一种是Ajax技术,另一种是WebSocket技术。2、把数据处理成约定好的协议格式,实现数据处理的高复用。***服务端接收到前端通信客户端发送过来的符合协议的数据后写入数据库。
作为优先实施方式,本发明提供的步骤S1中,网络编程技术包括Ajax技术和WebSocket协议,若前端错误信息不是频繁发送的场景,JS模块与***服务端通过Ajax技术连接,若前端错误信息是频繁发送或前端需要接受***服务端反馈信息的场景,则JS模块与***服务端通过WebSocket协议连接实现前后端数据相互推送以及访问***服务端的次数。
作为优先实施方式,本发明提供的步骤S12中***服务端接收步骤S11中的前端错误信息进行数据过滤处理的具体步骤为:
***服务端提供前端错误信息访问的API接口,规定前后端推送的前端错误信息格式及携带的前端错误信息,***服务端接受完前端错误信息数据后,进一步对前端错误信息完整性进行验证,过滤不符合的前端错误信息,提取出所需的前端错误信息。
作为优先实施方式,本发明提供的携带的前端错误信息包括主机信息、错误场景信息、开发信息,主机网卡信息,***信息;所述错误场景信息,包括输出到console的错误信息,状态码以及***服务端响应的信息,开发信息包括开发人员信息,开发时间,项目ID。
作为优先实施方式,本发明提供的步骤S21中采用Ceph将***服务端的集中式计算转化为分布式,即***服务端配置分布式存储节点。本发明采用分布式存储技术,提高划分虚拟机磁盘的速度,可以使用Ceph,Ceph将***服务端的集中式计算分转化为分布式,大大加快了磁盘的划分和加载速度,方便虚拟机的快速创建,快速执行各种快照操作以及存储相应的业务、操作***模版。
作为优先实施方式,本发明提供的云计算的镜像***服务端配置基础开发环境、平台、虚拟机内部进行通信的qemu-guest-agent和业务相关的服务程序的qcow2或者raw磁盘对象,其中,qemu-guest-agent添加上传文件、删除文件、执行命令的功能函数,即可完成所有操作虚拟机内部文件***的任务。
作为优先实施方式,本发明提供的步骤S23中管理平台接口包括用户调用***服务端操作虚拟机的接口和用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口。
作为优先实施方式,本发明提供的所述用户调用***服务端操作虚拟机的接口的设计需要对计算***服务端API或者是VMM管理工具进行二次封装,让用户提供主机信息或者错误场景信息或者开发者信息参数来快速定位需要调试的主机;
所述需要调试的主机为虚拟***服务端,则直接调用计算***服务端API通过块节点迅速划分出一份相同磁盘对象,并通过网络节点自动配置,即可创建出与错误场景信息相同的虚拟机;
若所述需要调试的主机为实体机,则通过在接口中设计额外字段参数通过接口调用计算***服务端API通过块节点提供的PaaS服务基础上,将额外上传的文件参数通过Guest-Agent快速上传到操作***,执行命令启动自动化脚本快速安装,若业务场景大多数相同,直接通过块节点来直接提供SaaS服务,根据需求通过用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口调用qemu-guest来执行简单的配置,最后通过网络节点自动配置即可获得相同的虚拟场景主机;
作为优先实施方式,本发明提供的所述用户调用***服务端通过qemu-guest去操作虚拟机内部文件***的接口是对qemu-guest的二次封装,对qemu-guest-agent中自定义新的函数任务后,在接口设计两个参数,第一个参数是任务函数名,第二个参数是任务函数的参数。
作为优先实施方式,本发明提供的步骤S24具体为服务将用户提交的创建后的登录信息以及管理虚拟机的反馈信息,作为响应发送给请求方。
云计算管理平台例如OpenStack都会提供服务访问的API接口,本发明提供的***服务端要去调用OpenStack的服务,仅仅需要调用一个URL即可。
本发明中实现前端信息快速创建错误场景信息主机过程,例如:前端发送了A错误场景信息,***服务端收到后写入到数据库,要获取该错误场景一样的主机,可以通过***服务端查询数据库,查询A场景信息所在的主机,然后通过调用OpenStack的计算资源服务Nova-schedule的API接口,在这个接口中传入这个主机的IP等信息作为参数定位这台机器,OpenStack找到该主机的磁盘对象后克隆出一台新主机,然后再通过通过调用OpenStack的Nova-console API获取该克隆主机的访问信息。
用户通过错误场景信息来恢复错误场景的过程描述:
首先,本发明提供的服务端要获取虚拟资源(主机,虚拟网络,虚拟存储等)等就需要依赖云计算管理平台,所以需要搭建云计算管理平台例如openstack,它是由多个服务端组件构成的,最基本的就有Nova、Cinder、Neutron和Glance分别提供计算资源调度、块存储、网络和镜像服务。
在搭建这个云计算管理平台时有两个技术要点。
(1)在块存储服务中配置ceph作为存储方案(volumn provider),这种分布式计算的存储技术,可以极大加快磁盘的创建、删除,修改速度,使得可以更快获得虚拟资源。
(2)在云计算镜像服务中上传与业务相关的虚拟机模版,这些模版中包含了公司的项目代码,基本开发环境。
一般来说,前端服务一般会部署在虚拟***服务端中,所以只需要利用云计算管理平台调用块存储服务快速克隆卷即可创建出这台与一样的虚拟机。但如果有极少部分情况是在程序员自己的物理机上做调试,就可以通过这个模版来创建一个相似的虚拟机,再通过共享文件服务,例如ftp或git等来获取错误代码,这也实现了短时间获取最大化相似的开发环境。
这两步就是搭建云计算管理平台的技术点,也是实现恢复错误场景的这个功能的前期准备工作,有了这个云计算管理平台后,本发明通过提供的服务端,就可以通过这个平台提供的接口来调度获取虚拟资源。
例如用户通过向***服务端发出请求,例如创建某一台(错误信息指定是哪一台)虚拟机一样的虚拟机,然后***服务端通过调用平台提供的接口,就创建了这台虚拟机。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
Claims (10)
1.基于云计算及网络编程实现前端协作调试的方法,其特征在于,包括如下步骤:
S1:利用前端错误信息入库模型将前端错误信息入库;所述前端错误信息入库模型包括数据库、***服务端、前端传输接口,所述数据库与***服务端交互连接,所述前端传输接口的出口端与所述***服务端的入口端连接;
步骤S1具体包括如下步骤:
S11:前端编写JS模块,JS模块为与***服务端进行通讯的客户端,其包括前端错误信息,JS模块通过网络编程技术将前端错误信息发送至***服务端,网络编程技术包括Ajax技术和WebSocket协议;
S12:***服务端接收步骤S11中的前端错误信息进行数据过滤处理;
S13:对步骤S12中获得的前端错误信息进行持久化处理,***服务端可以根据接收到的数据前端错误信息,设计相应的字段,根据三范式设计相应的表格,将前端错误信息写入数据库,并将前端错误信息写入文本;
S14:***服务端提供多种接口查询错误场景信息,调用者通过调用接口查询相应的错误场景信息;
S15:***服务端接收到下载前端错误信息请求后,从数据库中提取到的相应的前端错误信息进行可视化处理后再传回;
S2:通过查询数据库中步骤S1传送过来的错误场景信息来复原错误场景;
步骤S2具体包括如下步骤:
S21:云计算块存储,***服务端配置分布式存储节点;
S22:云计算镜像***服务端配置相应模版;
S23:***服务端提供封装调用云计算管理平台接口:
S24:***服务端经云计算管理平台处理结果信息返回用户;
S25:用户操作错误场景虚拟机,通过远程登录资源进行登录,完成调试任务后,调用云计算管理平台接口对虚拟机进行关闭或删除。
2.如权利要求1所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,步骤S1中,若前端错误信息不是频繁发送的场景,JS模块与***服务端通过Ajax技术连接,若前端错误信息是频繁发送或前端需要接受***服务端反馈信息的场景,则JS模块与***服务端通过WebSocket协议连接实现前后端数据相互推送以及访问***服务端的次数。
3.如权利要求1所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,步骤S12中***服务端接收步骤S11中的前端错误信息进行数据过滤处理的具体步骤为:
***服务端提供前端错误信息访问的API接口,规定前后端推送的前端错误信息格式及携带的前端错误信息,***服务端接受完前端错误信息数据后,进一步对前端错误信息完整性进行验证,过滤不符合的前端错误信息,提取出所需的前端错误信息。
4.如权利要求3所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,携带的前端错误信息包括主机信息、错误场景信息、开发信息,主机网卡信息,***信息;所述错误场景信息,包括输出到console的错误信息,状态码以及***服务端响应的信息,开发信息包括开发人员信息,开发时间,项目ID。
5.如权利要求1所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,步骤S21中采用Ceph将***服务端的集中式计算转化为分布式,即***服务端配置分布式存储节点。
6.如权利要求1所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,云计算的镜像***服务端配置基础开发环境、平台、虚拟机内部进行通信的qemu-guest-agent和业务相关的服务程序的qcow2或者raw磁盘对象,其中,qemu-guest-agent添加上传文件、删除文件、执行命令的功能函数,即可完成所有操作虚拟机内部文件***的任务。
7.如权利要求6所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,步骤S23中管理平台接口包括用户调用***服务端操作虚拟机的接口和用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口。
8.如权利要求7所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,所述用户调用***服务端操作虚拟机的接口的设计需要对计算***服务端API或者是VMM管理工具进行二次封装,让用户提供主机信息或者错误场景信息或者开发者信息参数来快速定位需要调试的主机;
所述需要调试的主机为虚拟***服务端,则直接调用计算***服务端API通过块节点迅速划分出一份相同磁盘对象,并通过网络节点自动配置,即可创建出与错误场景信息相同的虚拟机;
若所述需要调试的主机为实体机,则通过在接口中设计额外字段参数通过接口调用计算***服务端API通过块节点提供的PaaS服务基础上,将额外上传的文件参数通过Guest-Agent快速上传到操作***,执行命令启动自动化脚本快速安装,若业务场景大多数相同,直接通过块节点来直接提供SaaS服务,根据需求通过用户调用***服务端通过qemu-guest-agent去操作虚拟机内部文件***的接口调用qemu-guest来执行简单的配置,最后通过网络节点自动配置即可获得相同的虚拟场景主机。
9.如权利要求8所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,所述用户调用***服务端通过qemu-guest去操作虚拟机内部文件***的接口是对qemu-guest的二次封装,对qemu-guest-agent中自定义新的函数任务后,在接口设计两个参数,第一个参数是任务函数名,第二个参数是任务函数的参数。
10.如权利要求9所述的基于云计算及网络编程实现前端协作调试的方法,其特征在于,
步骤S24具体步骤为服务将用户提交的创建后的登录信息以及管理虚拟机的反馈信息,作为响应发送给请求方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142203.XA CN111367804B (zh) | 2020-03-04 | 2020-03-04 | 基于云计算及网络编程实现前端协作调试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142203.XA CN111367804B (zh) | 2020-03-04 | 2020-03-04 | 基于云计算及网络编程实现前端协作调试的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367804A CN111367804A (zh) | 2020-07-03 |
CN111367804B true CN111367804B (zh) | 2020-09-29 |
Family
ID=71206672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010142203.XA Active CN111367804B (zh) | 2020-03-04 | 2020-03-04 | 基于云计算及网络编程实现前端协作调试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367804B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254914A (zh) * | 2021-04-24 | 2021-08-13 | 中电长城网际***应用广东有限公司 | 基于可视化展示的前后端同步管理方法及*** |
CN113609012B (zh) * | 2021-07-30 | 2024-03-29 | 南京控维通信科技有限公司 | 规范化处理后端异常报错的方法及*** |
CN114546823B (zh) * | 2021-12-27 | 2023-09-12 | 芯华章科技股份有限公司 | 用于重现逻辑***设计的调试场景的方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491122A (zh) * | 2015-12-02 | 2016-04-13 | 中国民用航空总局第二研究所 | 一种多管制中心之间数据融合与交换的*** |
CN108469745A (zh) * | 2018-03-05 | 2018-08-31 | 中国神华能源股份有限公司 | 用于燃气电站的运行工况在线仿真方法及在线仿真*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992268B2 (en) * | 2012-09-27 | 2018-06-05 | Oracle International Corporation | Framework for thin-server web applications |
CN103078955A (zh) * | 2013-01-29 | 2013-05-01 | 东北大学 | 一种云计算平台服务器状态转移装置及方法 |
US11030055B2 (en) * | 2013-03-15 | 2021-06-08 | Amazon Technologies, Inc. | Fast crash recovery for distributed database systems |
CN113407633A (zh) * | 2018-09-13 | 2021-09-17 | 华东交通大学 | 一种分布式数据源异构同步的方法 |
CN110809017B (zh) * | 2019-08-16 | 2022-02-25 | 云南电网有限责任公司玉溪供电局 | 一种基于云平台和微服务构架的数据分析应用平台*** |
-
2020
- 2020-03-04 CN CN202010142203.XA patent/CN111367804B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491122A (zh) * | 2015-12-02 | 2016-04-13 | 中国民用航空总局第二研究所 | 一种多管制中心之间数据融合与交换的*** |
CN108469745A (zh) * | 2018-03-05 | 2018-08-31 | 中国神华能源股份有限公司 | 用于燃气电站的运行工况在线仿真方法及在线仿真*** |
Also Published As
Publication number | Publication date |
---|---|
CN111367804A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
CN111367804B (zh) | 基于云计算及网络编程实现前端协作调试的方法 | |
US20210117895A1 (en) | Systems and Methods for Cross-Platform Scheduling and Workload Automation | |
Geist et al. | Network‐based concurrent computing on the PVM system | |
CN108737168B (zh) | 一种基于容器的微服务架构应用自动构建方法 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN115292026B (zh) | 容器集群的管理方法、装置、设备及计算机可读存储介质 | |
CN111290753A (zh) | 前端开发环境的搭建方法、装置、设备及存储介质 | |
CN114064152B (zh) | 基于动态加载的嵌入式多核调试***及其调试方法 | |
CN104731943A (zh) | 一种服务器和数据处理方法 | |
CN111708550A (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
CA2973896C (en) | Recovery execution system using programatic generation of actionable workflows | |
KR20230079348A (ko) | 클라우드 코드 개발 시스템, 방법, 장치, 기기 및 저장 매체 | |
CN112328470A (zh) | 一种自动化运维测试方法、装置、设备及存储介质 | |
CN109729121B (zh) | 一种云存储***及用于云存储***中实现自定义数据处理的方法 | |
CN111898162B (zh) | 并行任务的执行方法和装置、存储介质及电子设备 | |
JPH06259358A (ja) | 標準プロトコルを用いるアプリケーション管理方法 | |
CN115237547B (zh) | 一种非侵入式hpc计算集群的统一容器集群托管***和方法 | |
CN112764825B (zh) | 服务集成***及相应设备和存储介质 | |
CN114443050A (zh) | 一种基于ci引擎流水线的新型日志展示方法 | |
CN115033290A (zh) | 一种基于指令集的微服务拆分方法、装置及终端设备 | |
WO2021243665A1 (zh) | 编译方法、编译装置、编译***、存储介质与电子设备 | |
CN114327770A (zh) | 容器集群管理***及方法 | |
CN110837394A (zh) | 一种高可用配置版本仓库配置方法、终端及可读介质 | |
CN113504956B (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 |