logo好方法网

一种基于WebSocket到前台的处理方法及系统


技术摘要:
本发明涉及angular前端的Devops流水线领域,具体提供了一种基于WebSocket到前台的处理方法及系统。该系统客户端向服务器发送WebSocket连接,服务器应答,客户端和服务器直接交换数据,服务器定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来。  全部
背景技术:
现有技术下,在前后台数据交互等待显示某个状态变化场景中,大多数是前台轮 询请求数据,等待后台数据改变,然后在前台页面中显示出某种状态的变化。然而,HTTP请 求可能包含较长的头部,而在这较长的头部中真正有效的数据可能只是很小的一部分,显 然这样会浪费很多的宽度等资源。
技术实现要素:
本发明是针对上述现有技术的不足,提供一种实用性强的基于WebSocket到前台 的处理方法。 本发明进一步的技术任务是提供一种方便快捷的基于WebSocket到前台的处理系 统。 本发明解决其技术问题所采用的技术方案是: 一种基于WebSocket到前台的处理机制,客户端向服务器发送WebSocket连接,服 务器应答,客户端和服务器直接交换数据,所述服务器定时检测Jenkins的Pipeline状态是 否发生变化,并把该状态在页面中显示出来。 作为优选,所述客户端向服务器发送WebSocket连接时,以URL格式发送。 作为优选,所述服务器响应客户端发来的WebSocket请求时,建立长连接,客户端 和服务器通过TCP直接交换数据。 进一步的,所述服务器后台定时监测Jenkins的Pipeline状态的变化,若Pipeline 状态不发生变化,则继续检测。 进一步的,若服务器后台定时监测Jenkins的Pipeline状态有变化,服务器端通过 约定的数据格式整合一条Pipeline数据,并将整合的Pipeline数据发送至客户端,所述客 户端通过Pipeline的唯一标识来匹配对应的Pipeline,更新对应的一条Pipeline数据,并 将Pipeline状态变化在前台页面中展示出来。 进一步的,所述客户端会定期去监测WebSocket的readyState,如果WebSocket的 readyState为CONNECTING或者OPEN,则不做处理。 进一步的,所述客户端定期去监测WebSocket的readyState时,如果WebSocket的 readyState为CLOSING或者CLOSED,则重新向客户端重新建立连接。 一种基于WebSocket到前台的处理系统,该系统包括客户端和服务器,所述客户端 用于通过TCP以URL格式向服务器发送WebSocket连接,所述服务器用于应答客户端的连接, 并定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来。 进一步的,所述服务器后台用于定时监测Jenkins的Pipeline状态的变化,若 3 CN 111600955 A 说 明 书 2/3 页 Pipeline状态的变化不发生变化,则继续检测; 若Pipeline状态的变化发生变化,服务器端用于通过约定的数据格式整合一条 Pipeline数据,并将整合的Pipeline数据发送至客户端,所述客户端用于通过Pipeline的 唯一标识来匹配对应的Pipeline,更新对应的一条Pipeline数据,并将Pipeline状态变化 在前台页面中展示出来。 进一步的,所述客户端还用于定期去监测WebSocket的readyState,如果 WebSocket的readyState为CONNECTING或者OPEN,则不做处理; 如果WebSocket的readyState为CLOSING或者CLOSED,则重新向后端重新建立连 接。 本发明的基于WebSocket到前台的处理方法及系统和现有技术相比,具有以下突 出的有益效果: 本发明的基于WebSocket到前台的处理方法及系统通过客户端向服务器发送 WebSocket连接,服务器应答,客户端和服务器直接交换数据,服务器定时检测Jenkins的 Pipeline状态是否发生变化,并把该状态在页面中显示出来,这一系列的操作。以较少的数 据传输,减少带宽资源,并且可以实时监测Jenkins的Pipeline状态。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。 附图1是一种基于WebSocket到前台的处理方法的流程图。
分享到:
收藏