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

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

Info

Publication number
CN111600955B
CN111600955B CN202010420304.9A CN202010420304A CN111600955B CN 111600955 B CN111600955 B CN 111600955B CN 202010420304 A CN202010420304 A CN 202010420304A CN 111600955 B CN111600955 B CN 111600955B
Authority
CN
China
Prior art keywords
websocket
server
client
pipeline
state
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
Application number
CN202010420304.9A
Other languages
English (en)
Other versions
CN111600955A (zh
Inventor
于希光
魏子重
杨珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010420304.9A priority Critical patent/CN111600955B/zh
Publication of CN111600955A publication Critical patent/CN111600955A/zh
Application granted granted Critical
Publication of CN111600955B publication Critical patent/CN111600955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Abstract

本发明涉及angular前端的Devops流水线领域,具体提供了一种基于WebSocket到前台的处理方法及系统。该系统客户端向服务器发送WebSocket连接,服务器应答,客户端和服务器直接交换数据,服务器定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来。与现有技术相比,本发明的一种基于WebSocket到前台的处理方法及系统,能够有效的减少数据传输和带宽资源,还可以实时监测Jenkins的Pipeline状态并在前台页面中显示出来,具有良好的推广价值。

Description

一种基于WebSocket到前台的处理方法及系统
技术领域
本发明涉及angular前端的Devops流水线领域,具体提供一种基于WebSocket到前台的处理机制。
背景技术
现有技术下,在前后台数据交互等待显示某个状态变化场景中,大多数是前台轮询请求数据,等待后台数据改变,然后在前台页面中显示出某种状态的变化。然而,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状态的变化,若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到前台的处理方法的流程图。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
本发明所用到的WebSocket协议支持(在受控环境中运行不受信任的代码的)客户端与(选择加入该代码的通信的)远程主机之间进行全双工通信。用于此的安全模型是Web浏览器常用的基于原始的安全模式。协议包括一个开放的握手以及随后的TCP层上的消息帧。该技术的目标是为基于浏览器的、需要和服务器进行双向通信的(服务器不能依赖于打开多个HTTP连接(例如,使用XMLHttpRequest或<iframe>和长轮询))应用程序提供一种通信机。
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
如图1所示,本实施例中的基于WebSocket到前台的处理方法,客户端向服务器发送WebSocket连接,服务器应答,客户端和服务器直接交换数据,所述服务器定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来。
具体包括以下步骤:
S1、客户端以URL格式向服务器发送WebSocket连接;
S2、服务器端响应客户端发来的WebSocket请求,建立长连接,客户端和服务器端可以通过TCP直接交换数据;
S3、服务器后台定时监测Jenkins的Pipeline状态的变化,若Pipeline状态不发生变化,则继续检测;
S4、若服务器后台定时监测Jenkins的Pipeline状态有变化,服务器端通过约定的数据格式整合一条Pipeline数据,并将整合的Pipeline数据发送至客户端,所述客户端通过Pipeline的唯一标识来匹配对应的Pipeline,更新对应的一条Pipeline数据,并将Pipeline状态变化在前台页面中展示出来;
S5、客户端会定期去监测WebSocket的readyState,如果WebSocket的readyState为CONNECTING或者OPEN,则不做处理;
S6、客户端定期去监测WebSocket的readyState时,如果WebSocket的readyState为CLOSING或者CLOSED,则重新向客户端重新建立连接。
实现上述方法的系统为基于WebSocket到前台的处理系统,该系统包括客户端和服务器,客户端用于通过TCP以URL格式向服务器发送WebSocket连接,服务器用于应答客户端的连接,并定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来。
服务器后台用于定时监测Jenkins的Pipeline状态的变化,若Pipeline状态的变化不发生变化,则继续检测;
若Pipeline状态的变化发生变化,服务器端用于通过约定的数据格式整合一条Pipeline数据,并将整合的Pipeline数据发送至客户端,所述客户端用于通过Pipeline的唯一标识来匹配对应的Pipeline,更新对应的一条Pipeline数据,并将Pipeline状态变化在前台页面中展示出来。
客户端还用于定期去监测WebSocket的readyState,如果WebSocket的readyState为CONNECTING或者OPEN,则不做处理;
如果WebSocket的readyState为CLOSING或者CLOSED,则重新向后端重新建立连接。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的基于WebSocket到前台的处理方法及系统权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (2)

1.一种基于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,则重新向客户端重新建立连接。
2.一种基于WebSocket到前台的处理系统,其特征在于,该系统包括客户端和服务器,所述客户端用于通过TCP以URL格式向服务器发送WebSocket连接,所述服务器用于应答客户端的连接,并定时检测Jenkins的Pipeline状态是否发生变化,并把该状态在页面中显示出来;
所述服务器后台用于定时监测Jenkins的Pipeline状态的变化,若Pipeline状态的变化不发生变化,则继续检测;
若Pipeline状态的变化发生变化,服务器端用于通过约定的数据格式整合一条Pipeline数据,并将整合的Pipeline数据发送至客户端,所述客户端用于通过Pipeline的唯一标识来匹配对应的Pipeline,更新对应的一条Pipeline数据,并将Pipeline状态变化在前台页面中展示出来;
所述客户端还用于定期去监测WebSocket的readyState,如果WebSocket的readyState为CONNECTING或者OPEN,则不做处理;
如果WebSocket的readyState为CLOSING或者CLOSED,则重新向后端重新建立连接。
CN202010420304.9A 2020-05-18 2020-05-18 一种基于WebSocket到前台的处理方法及系统 Active CN111600955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010420304.9A CN111600955B (zh) 2020-05-18 2020-05-18 一种基于WebSocket到前台的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010420304.9A CN111600955B (zh) 2020-05-18 2020-05-18 一种基于WebSocket到前台的处理方法及系统

Publications (2)

Publication Number Publication Date
CN111600955A CN111600955A (zh) 2020-08-28
CN111600955B true CN111600955B (zh) 2023-03-28

Family

ID=72191574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010420304.9A Active CN111600955B (zh) 2020-05-18 2020-05-18 一种基于WebSocket到前台的处理方法及系统

Country Status (1)

Country Link
CN (1) CN111600955B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112951241B (zh) * 2021-01-29 2022-07-01 思必驰科技股份有限公司 用于ios的拾音识别方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667861A (zh) * 2017-03-28 2018-10-16 比亚迪股份有限公司 通过浏览器对设备实时监控的方法、系统以及服务器
CN108989409A (zh) * 2018-07-04 2018-12-11 苏州浪潮智能软件有限公司 混合模式移动应用的通信方法及系统、客户端、服务器
CN110472413A (zh) * 2019-07-26 2019-11-19 Oppo广东移动通信有限公司 基于jenkins的设备管理方法、装置、存储介质及电子设备
CN111031059A (zh) * 2019-12-23 2020-04-17 河南派亚尼尔自动化设备有限公司 一种基于WebSocket的物联网大屏监控系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986659B (zh) * 2010-10-27 2014-04-16 青岛普加智能信息有限公司 数据实时传输的方法及系统
CN102843389B (zh) * 2011-06-21 2015-08-26 国承斌 基于事件驱动的web系统和方法
JP5739370B2 (ja) * 2012-03-30 2015-06-24 株式会社日立ソリューションズ メッセージ配信システム、及びメッセージ配信方法
CN103281366B (zh) * 2013-05-21 2016-03-30 山大地纬软件股份有限公司 一种支持实时运行状态获取的嵌入式代理监控装置及方法
CN108881456A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种数据交互系统、服务端及其数据交互方法及系统
CN109040280A (zh) * 2018-08-21 2018-12-18 杭州安恒信息技术股份有限公司 一种基于Web监控工控设备实时数据显示的方法和系统
CN110769053B (zh) * 2019-10-21 2022-04-19 深圳震有科技股份有限公司 一种数据推送方法、系统及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667861A (zh) * 2017-03-28 2018-10-16 比亚迪股份有限公司 通过浏览器对设备实时监控的方法、系统以及服务器
CN108989409A (zh) * 2018-07-04 2018-12-11 苏州浪潮智能软件有限公司 混合模式移动应用的通信方法及系统、客户端、服务器
CN110472413A (zh) * 2019-07-26 2019-11-19 Oppo广东移动通信有限公司 基于jenkins的设备管理方法、装置、存储介质及电子设备
CN111031059A (zh) * 2019-12-23 2020-04-17 河南派亚尼尔自动化设备有限公司 一种基于WebSocket的物联网大屏监控系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jenkins Pipeline入坑指南;Docker_;《CSDN博客》;20191117;全文 *
客户端与服务器端的Socket通信;夏玲,王伟平;《电脑知识与技术》;20090228;第5卷(第4期);全文 *

Also Published As

Publication number Publication date
CN111600955A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
US10715639B2 (en) Data processing method and apparatus for performing protocol parsing in a cloud
CN102546800B (zh) 一种网关握手、通信方法、网关及Web通信系统
US10558744B2 (en) Bidirectional networked real-time data exchange using a spreadsheet application
US6880010B1 (en) Methods, systems, and computer program products that request updated host screen information from host systems in response to notification by servers
KR20170057228A (ko) 보안 실시간 클라우드 서비스들을 위한 시스템 및 방법
HU225569B1 (en) Method, apparatus and computer program product for reducing data transmitted over an external communication link usig the tcp protocol between computer applications
CN101741898A (zh) 一种视频型安防系统中的监视方法
US20170250886A1 (en) Network traffic capture analysis
CN111600955B (zh) 一种基于WebSocket到前台的处理方法及系统
US7251695B2 (en) Computer network communication method and apparatus
WO2017000572A1 (zh) 基于因特网内容适配协议的通信方法、客户端和服务器
KR20030028310A (ko) 홈네트워크에 연결된 피제어 장치를 인터넷을 통해제어하는 방법 및 그 제어 장치
US20030037102A1 (en) Message broker
CN111818010B (zh) 一种数据传输方法、装置、电子设备及存储介质
CN110958291B (zh) 一种工业车辆数据传输系统及方法
CN113114535A (zh) 网络故障检测方法、装置和电子设备
KR100420525B1 (ko) 가전기기 네트워크 시스템
CN107426029A (zh) 一种信息获取方法、装置及系统
US10643039B2 (en) Location based situation awareness system and method thereof
US7073182B1 (en) OPCMessenger
CN107291409B (zh) 一种在线桌面共享方法、系统
US10147097B2 (en) Support to customer platform system, method, and server
US7779124B2 (en) Active monitoring system and method thereof
US20040170129A1 (en) Automatic detecting method for protocol nonconformity and automatic detecting apparatus for protocol nonconformity
CN109617866B (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