CN107426233A - 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 - Google Patents
基于B/S架构的数据通信系统、方法、Web服务器及监控系统 Download PDFInfo
- Publication number
- CN107426233A CN107426233A CN201710670886.4A CN201710670886A CN107426233A CN 107426233 A CN107426233 A CN 107426233A CN 201710670886 A CN201710670886 A CN 201710670886A CN 107426233 A CN107426233 A CN 107426233A
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- socket
- server
- browser
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种基于B/S架构的数据通信系统、方法、Web服务器及监控系统,所述数据通信系统包括客户端、通信服务器以及用于连接所述客户端和通信服务器的Web服务器,所述Web服务器设有中间通信组件:所述客户端的浏览器发起HTTP请求到所述Web服务器的所述中间通信组件;所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信;所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器;所述通信服务器处理所述Socket请求,并返回对应的结果数据,以通过所述客户端的浏览器展示所述结果数据。通过上述方式,本申请客户端不需要再下载应用程序及相关操作,也不需要频繁地进行更新,给用户带来方便,降低维护成本等。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种基于B/S架构的数据通信系统、方法、Web服务器及监控系统。
背景技术
在物联网等通信领域,穿戴式设备越来越普及,那么对穿戴式设备远程控制就显得尤为重要。目前,在对穿戴式远程终端的操控上,不管是穿戴式设备与服务器之间的通信还是远程监控平台与服务器之间的通信均采用基于TCP协议(Transmission ControlProtocol,传输控制协议)的C/S架构(Client/Server结构,客户机和服务器结构)来实现。
对于远程监控平台与服务器的通信,若采用C/S架构实现,大多适用于局域网,这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据,这种系统相对于互联网的飞速发展来说缺乏一定的扩展性。此外,C/S架构可以看作是“胖”客户端架构,因为客户端需要实现绝大多数的业务逻辑和界面展示,在这种架构中,作为客户端需要承受很大的压力,用户在使用时需要安装监控平台软件来实现两者之间的通信,对客户端的操作系统一般也会有限制,另外每次系统升级等,所有的客户端程序都需要改变、升级。
不难看出,需要C/S架构会导致用户需要安装下载相应的客户端软件,来实现对穿戴式终端的远程控制,会需要耗费大量的流量和时间成本、而且给用户带来一定的个人信息泄漏风险;同时,客户端需要不定时更新升级,导致维护成本高,而且操作麻烦,不方便用户。
因此,本技术领域亟需提供一种新的数据通信系统,以解决上述技术问题。
发明内容
基于此,有必要针对上述问题,提供一种基于B/S架构的数据通信系统、方法、Web服务器及监控系统,客户端不需要再下载应用程序及相关操作,也不需要频繁地进行更新,给用户带来方便,降低维护成本等。
一种基于B/S架构的数据通信系统,所述数据通信系统包括客户端、通信服务器以及用于连接所述客户端和通信服务器的Web服务器,所述Web服务器设有中间通信组件:
所述客户端的浏览器发起HTTP请求到所述Web服务器的所述中间通信组件;
所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器;
所述通信服务器处理所述Socket请求,并返回对应的结果数据,以通过所述客户端的浏览器展示所述结果数据。
一种基于B/S架构的数据通信方法,所述数据通信方法包括:
Web服务器的中间通信组件获取客户端的浏览器发起的HTTP请求;
所述中间通信组件处理所述HTTP请求,并与通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器。
一种用于基于B/S架构的数据通信系统的Web服务器,所述数据通信系统包括客户端、通信服务器,所述Web服务器用于连接所述客户端和通信服务器,所述Web服务器设有中间通信组件:
所述中间通信组件获取所述客户端的浏览器发起的HTTP请求;
所述中间通信组件处理所述HTTP请求,并与通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器。
一种基于穿戴式设备的监控系统,所述监控系统包括穿戴式设备,以及上述的基于B/S架构的数据通信系统,所述穿戴式设备与所述通信服务器建立网络数据连接,所述客户端用于对所述穿戴式设备进行远程监控:
所述客户端的浏览器在获取到用户的操作时,发起HTTP请求到所述Web服务器的所述中间通信组件;
所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器;
所述通信服务器处理所述Socket请求,根据所述Socket请求获取所述穿戴式设备对应的结果数据,并将所述结果数据返回以通过所述客户端的浏览器展示。
上述基于B/S架构的数据通信系统、方法、Web服务器及监控系统,所述客户端的浏览器发起HTTP请求到所述Web服务器的所述中间通信组件,所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信,所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器,所述通信服务器处理所述Socket请求,并返回对应的结果数据,最终通过所述客户端的浏览器展示所述结果数据。通过这种方式,本申请客户端不需要再下载应用程序及相关操作,也不需要频繁地进行更新,给用户带来方便,降低维护成本等,用户只需要通过浏览器就可以简单操作,实现对穿戴式设备的远程监控、操作。
附图说明
图1为一实施例中基于B/S架构的数据通信系统的模块框图;
图2为一实施例中基于B/S架构的数据通信方法的流程图;
图3为一实施例中基于B/S架构的数据通信系统的Web服务器的模块框图;
图4为本申请基于B/S架构的数据通信系统一具体应用例的实施框图;
图5为图4数据通信系统中通信服务器的实现流程图;
图6为图4数据通信系统中新的客户端发起TCP连接请求的事件处理流程图;
图7为图4数据通信系统中中间通信组件的事件处理流程图;
图8为图4数据通信系统中客户端浏览器与中间通信组件的通信机制处理流程图。
具体实施方式
在一个实施例中,请参阅图1,图1为一实施例中基于B/S架构的数据通信系统的模块框图,本实施例的基于B/S架构的数据通信系统包括但不限于客户端11、通信服务器13以及用于连接所述客户端11和通信服务器13的Web服务器12,所述Web服务器12设有中间通信组件121。
需要说明的是,在本实施例中,所述B/S架构指的是浏览器/服务器架构,所述Web服务器指的是万维网服务器,HTTP指的是超文本传输协议(HyperText TransferProtocol),TCP/IP协议指的是传输控制协议/因特网互联协议(Transmission ControlProtocol/Internet Protocol),Socket指套接字。
值得注意的是,所述客户端11的浏览器发起HTTP请求到所述Web服务器12的所述中间通信组件121,所述中间通信组件121处理所述HTTP请求,并与所述通信服务器13建立Socket通信,所述中间通信组件121通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器13,所述通信服务器13处理所述Socket请求,并返回对应的结果数据,以通过所述客户端11的浏览器展示所述结果数据。
在优选的实施例中,所述客户端11为用户方便使用的移动终端,其具体可以为安装有浏览器的手持的手机、平板电脑等。
需要指出的是,所述中间通信组件121在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器13建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器13。
值得一提的是,本实施例所述中间通信组件121可以利用套接字创建函数创建socket,譬如可以利用现有的套接字创建函数:
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)
此外,本实施例所述中间通信组件121可以通过套接字写函数将所述Socket请求发送到所述通信服务器13,譬如可以利用socket_write($socket,$message)。
其中,所述中间通信组件121设置socket等待的超时时间为第一时间,并接收所述通信服务器13根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器13返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器13返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。上述第一时间可以为10秒,第二时间可以为5秒;也可以为第一时间为8秒,第二时间为4秒的组合,在此不作限定。在具体实施例中,所述中间通信组件121可以通过套接字读函数接收所述通信服务器13根据所述Socket请求返回的结果数据,譬如可以通过$msg=socket_read($socket,1024)。其中,所述预定格式数据可以为json数据(JavaScript Object Notation,JS对象标记)。
在本实施例中,中间通信组件121与通信服务器13之间的数据传输格式需要一致,首先客户端11需要发送“HEL;xxxxxxxxxxx;@”格式的数据包到通信服务器13意味着客户端11的上线,然后再发送“DATA;xxxxxxxxxxx;@”格式的数据包到通信服务器13用来传输客户端11请求的数据。
总而言之,无论是携带者的穿戴式设备还是前端用户的网页应用,对于通信服务器13来说都充当着客户端的角色。在两者之间进行传输数据时首先需要客户端11和穿戴式设备上线,上线成功之后再向通信服务器13端按照预定的数据传输格式发送数据,在传输数据完成后即使关闭Socket通信。中间通信组件121可以由php语言(通用开源脚本语言)实现,其可以运行在Apache(Web服务器软件)服务器上。
进一步而言,本实施例所述通信服务器13可以为基于Epoll通信模型、并运行于Linux系统。其中,本实施例的Epoll是Linux内核处理大批量文件描述符作出改进的poll,通过这种方式,本实施例可以显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
其中,所述通信服务器13在处理所述Socket请求之前,初始化Socket通信参数、建立监听Socket描述符、对Epoll通信模型初始化、创建只包含头结点的链表、初始化并启动控制心跳包的系统定时器、调用Epoll_等待函数,以及采用阻塞的方式等待所述客户端通信事件的触发。在本实施例中,所述通信服务器13的Socket描述符可以采用socket_fd,Epoll_等待函数可以采用Epoll_wait函数。
值得注意的是,通信事件的触发,需要满足以下事件之一,通信服务器13的主程序才会退出Epoll_等待函数,对客户端进行触发响应,接着比如可以动态的计算在线的客户端的数量,在线的客户端数量的变化,其主要归结为以下的客户端的通信事件的发生和处理,包括但不限于:
(1)新的客户端发起TCP(Transmission Control Protocol,传输控制协议)连接请求;
(2)已经建立连接的客户端断开TCP连接的请求;
(3)已经建立连接的客户端有数据(命令)传输;
(4)已经建立连接的客户端异常断开TCP连接;
需要说明的是,新的客户端发起TCP连接请求时,所述通信服务器13的所述Epoll_等待函数发现触发待处理的通信事件等于监听所述Socket描述符,根据所述Socket描述符调用接受函数返回新的Socket描述符,将侦听到的Socket描述符通过Epoll_事件注册函数添加到Epoll句柄中,以利用所述Socket描述符与已经建立连接的所述新的客户端进行双向通信。其中,所述接受函数为accept函数,所述事件注册函数为Epoll_ctl函数。
值得一提的是,本实施例所述客户端11的浏览器的网页可以采用JQuery(JavaScript代码库,或JavaScript框架)框架,并与所述中间通信组件121之间通过AJAX(Asynchronous Javascript And XML,异步JavaScript和XML)引擎实现通信连接,以使所述网页实现异步更新。其中,本实施例AJAX引擎可以用于创建快速动态网页,通过在后台与服务器进行少量数据交换,可以使网页实现异步更新,换而言之,本实施例可以在不重新加载整个网页的情况下,对网页的某部分进行更新,不会造成网页卡顿的情况,本申请通过这种方式可以进一步提高用户体验。
在本实施例中,用户点击浏览器的发送请求按钮等操作时,触发与中间通信组件121的通信事件。具体而言,所述客户端11的浏览器使用$.ajax()方法实现并设置请求地址、请求数据、请求方式和超时时间的参数,在获取到用户的操作而发起HTTP请求时,若在超时时间内所述浏览器的前端网页未收到返回数据,则提示当前网络异常,若在超时时间内接收到返回数据,则判断数据是否为连接失败(connect_error),若是,则提示服务器连接失败,若不是,接着判断返回数据是否为数据异常(data_error),若是,则提示返回数据异常,若不是,判断返回数据是否为超时(overtime),若是,则提示等待返回数据超时,若不是,则将获取到的结果数据经过解析展示到浏览器网页页面上。
本申请客户端11不需要再下载应用程序及相关操作,也不需要频繁地进行更新,给用户带来方便,降低维护成本等,用户只需要通过浏览器就可以简单操作,实现远程监控、操作。特别是针对客户端11为手机、平板电脑而言,不再需要下载应用程序,而能够很好地节省空间、不需要由于服务器的更新而反复更新下载最新的客户端,给客户端11带来极大的便利性。
请接着参阅图2,图2为一实施例中基于B/S架构的数据通信方法的流程图,本实施例基于B/S架构的数据通信方法包括但不限于如下几个步骤。
S201,Web服务器的中间通信组件获取客户端的浏览器发起的HTTP请求。
在S201中,本实施例所述中间通信组件在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器。
本实施例所述中间通信组件可以利用套接字创建函数创建socket,譬如可以利用现有的$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)。此外,本实施例所述中间通信组件可以通过套接字写函数将所述Socket请求发送到所述通信服务器,譬如可以利用socket_write($socket,$message)。
S202,所述中间通信组件处理所述HTTP请求,并与通信服务器建立Socket通信。
S203,所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器。
在步骤S203之后,本实施例所述中间通信组件设置Socket通信等待的超时时间为第一时间,并接收所述通信服务器根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。上述第一时间可以为10秒,第二时间可以为5秒;也可以为第一时间为8秒,第二时间为4秒的组合,在此不作限定。
所述中间通信组件可以通过套接字读函数接收所述通信服务器根据所述Socket请求返回的结果数据,譬如可以通过$msg=socket_read($socket,1024)。其中,所述预定格式数据可以为json数据。请接着参阅图3,图3为一实施例中基于B/S架构的数据通信系统的Web服务器的模块框图,本实施例的Web服务器12设有中间通信组件121,所述数据通信系统包括上述的客户端11、通信服务器13,所述Web服务器12用于连接所述客户端11和通信服务器13。
所述中间通信组件121获取所述客户端11的浏览器发起的HTTP请求。
所述中间通信组件121处理所述HTTP请求,并与通信服务器13建立Socket通信。
所述中间通信组件121通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器13。
需要说明的是,所述中间通信组件121在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器13建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器13。
本实施例所述中间通信组件121可以利用套接字创建函数创建socket,譬如可以利用现有的$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)。此外,本实施例所述中间通信组件121可以通过套接字写函数将所述Socket请求发送到所述通信服务器13,譬如可以利用socket_write($socket,$message)。
接着,所述中间通信组件121设置socket等待的超时时间为第一时间,并接收所述通信服务器13根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器13返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器13返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。上述第一时间可以为10秒,第二时间可以为5秒;也可以为第一时间为8秒,第二时间为4秒的组合,在此不作限定。
如前所述,在本实施例所述中间通信组件121可以通过套接字读函数接收所述通信服务器13根据所述Socket请求返回的结果数据,譬如可以通过$msg=socket_read($socket,1024)。其中,所述预定格式数据可以为json数据。
需要特别说明的是,本申请基于B/S架构的数据通信系统的总体通信过程具体可以为浏览器的客户端11发HTTP请求到中间通信组件121,中间通信组件121发送Socket请求到通信服务器13,通信服务器13再发送Socket请求到穿戴式设备,其中,通信服务器13与穿戴式设备之间是通过socket进行传输。穿戴式设备返回数据到通信服务器13,再到中间通信组件121,最终传输到浏览器的客户端11。本申请的中间通信组件121转发了HTTP协议的到Tcp协议的数据传输,而通信服务器13与穿戴式设备之间则是基于Tcp协议的数据传输。
中间通信组件121对于浏览器的客户端11来说,它是服务器,即B/S架构模式,以接收浏览器的客户端11的请求。而中间通信组件121对于通信服务器13来说,它是客户端,即C/S架构模式,向服务器(通信服务器13)发送请求。
此外,本申请还提供一种基于穿戴式设备的监控系统,所述监控系统包括穿戴式设备,以及任一上述实施例提及的基于B/S架构的数据通信系统,优选地,本实施例采用图1所示的数据通信系统,所述穿戴式设备与所述通信服务器13建立网络数据连接,所述客户端11用于对所述穿戴式设备进行远程监控。
所述客户端11的浏览器在获取到用户的操作时,发起HTTP请求到所述Web服务器12的所述中间通信组件121。
所述中间通信组件121处理所述HTTP请求,并与所述通信服务器13建立Socket通信。
所述中间通信组件121通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器13。
所述通信服务器13处理所述Socket请求,根据所述Socket请求获取所述穿戴式设备对应的结果数据,并将所述结果数据返回以通过所述客户端11的浏览器展示。
需要特别说明的是,本实施例使用所述客户端11对所述穿戴式设备进行远程监控,而所述客户端11自身则可以为用户方便使用的移动终端,其具体可以手持的手机、平板电脑,当然,随着技术的发展,其也可以为能智能显示和操作的穿戴式设备,比如智能手表、智能头盔、智能眼镜等,换而言之,本实施例可以使用手机、平板电脑或者穿戴式设备对穿戴式设备进行远程监控。请参阅图4-图8,其中,图4为本申请基于B/S架构的数据通信系统一具体应用例的实施框图,图5为图4数据通信系统中通信服务器的实现流程图,图6为图4数据通信系统中新的客户端发起TCP连接请求的事件处理流程图,图7为图4数据通信系统中中间通信组件的事件处理流程图,图8为图4数据通信系统中客户端浏览器与中间通信组件的通信机制处理流程图。
如图5所示,本具体应用例数据通信系统中通信服务器的实现流程包括但不限于如下步骤:
服务器Socket通信参数初始化,建立监听socket套接字描述符socket_fd;
Epoll初始化;
动态链表的建立和初始化;
初始化并启动定时器中断;
调用epoll_wait函数,是否有客户端通信事件触发;若YES,则退出epoll_wait函数、遍历并处理通信事件,若NO,则阻塞,继续等待。
如图6所示,本具体应用例数据通信系统中新的客户端发起TCP连接请求的事件处理流程包括但不限于如下步骤:
Epoll_wait函数发现触发待处理的事件刚好等于监听套接字描述符socket_fd;
根据socket_fd调用accept函数返回新的socket套接字描述符socket_fd;
将侦听到的新的套接字描述符socket_fd通过Epo l l_ct l函数添加到Epo l l句柄当中;
返回。
如图7所示,本具体应用例数据通信系统中中间通信组件的事件处理流程包括但不限于如下几个步骤:
开始;
接收到浏览器前端发来的HTTP请求;
创建socket,socket_create();
建立TCP连接,socket_connect();
TCP连接是否建立成功?若否,则向浏览器前端返回connect_error并关闭Socket通信、结束;若是,则向通信服务器发送数据,socket_write();
设置超时时间,socket_set_option();
等待通信服务器返回的数据;
等待是否超过5秒?若是,则向浏览器前端返回overtime,并关闭Socket通信、结束;若否,则获取通信服务器返回的数据;
数据是否有效?若否,则向浏览器前端返回data_error,并关闭Socket通信、结束;若是,则解析数据,并转换为json格式;
向浏览器前端返回json数据;
关闭Socket通信、结束。
如图8所示,本具体应用例数据通信系统中客户端浏览器与中间通信组件的通信机制处理流程包括但不限于如下几个步骤:
开始;
点击发送请求按钮;
触发通信事件;
设置超时时间等参数;
等待时间是否小于10秒?若否,则提示用户网络异常并结束;若是,则接收到返回数据;
返回数据是否为connect_error?若是,则提示用户与服务器连接失败并结束;若否,则返回数据是否为data_error?
若是,则提示用户返回数据异常并结束,若否,则返回数据是否为overtime?
若是,则提示用户等待返回数据超时并结束,若否,则将返回数据呈现到浏览器的页面上并结束。
需要说明的是,本实施例的数据通信系统可以结合前面任一所述的实施例的相关描述,在本技术领域人员容易结合理解的范围内,不再赘述。
本申请客户端不需要再下载应用程序及相关操作,也不需要频繁地进行更新,给用户带来方便,降低维护成本等,用户只需要通过浏览器就可以简单操作,实现对穿戴式设备的远程监控、操作。
本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种基于B/S架构的数据通信系统,其特征在于,所述数据通信系统包括客户端、通信服务器以及用于连接所述客户端和通信服务器的Web服务器,所述Web服务器设有中间通信组件:
所述客户端的浏览器发起HTTP请求到所述Web服务器的所述中间通信组件;
所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器;
所述通信服务器处理所述Socket请求,并返回对应的结果数据,以通过所述客户端的浏览器展示所述结果数据。
2.根据权利要求1所述的数据通信系统,其特征在于,所述中间通信组件在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器。
3.根据权利要求2所述的数据通信系统,其特征在于,所述中间通信组件设置Socket通信等待的超时时间为第一时间,并接收所述通信服务器根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。
4.根据权利要求1-3任一项所述的数据通信系统,其特征在于,所述通信服务器为基于Epoll通信模型、并运行于Linux系统,所述通信服务器在处理所述Socket请求之前,初始化Socket通信参数、建立监听Socket描述符、对Epoll通信模型初始化、创建只包含头结点的链表、初始化并启动控制心跳包的系统定时器、调用Epoll_等待函数,以及采用阻塞的方式等待所述客户端通信事件的触发。
5.根据权利要求4所述的数据通信系统,其特征在于,新的客户端发起TCP连接请求时,所述通信服务器的所述Epoll_等待函数发现触发待处理的通信事件等于监听所述Socket描述符,根据所述Socket描述符调用接受函数返回新的Socket描述符,将侦听到的Socket描述符通过Epoll_事件注册函数添加到Epoll句柄中,以利用所述Socket描述符与已经建立连接的所述新的客户端进行双向通信。
6.根据权利要求1-3任一项所述的数据通信系统,其特征在于,所述客户端的浏览器的网页采用JQuery框架,并与所述中间通信组件之间通过AJAX引擎实现通信连接,以使所述网页实现异步更新。
7.根据权利要求6所述的数据通信系统,其特征在于,所述客户端的浏览器使用$.ajax()方法实现并设置请求地址、请求数据、请求方式和超时时间的参数,在获取到用户的操作而发起HTTP请求时,若在超时时间内所述浏览器的前端网页未收到返回数据,则提示当前网络异常,若在超时时间内接收到返回数据,则判断数据是否为连接失败,若是,则提示服务器连接失败,若不是,接着判断返回数据是否为数据异常,若是,则提示返回数据异常,若不是,判断返回数据是否为超时,若是,则提示等待返回数据超时,若不是,则将获取到的结果数据经过解析展示到浏览器网页页面上。
8.一种基于B/S架构的数据通信方法,其特征在于,所述数据通信方法包括:
Web服务器的中间通信组件获取客户端的浏览器发起的HTTP请求;
所述中间通信组件处理所述HTTP请求,并与通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器。
9.根据权利要求8所述的数据通信方法,其特征在于,所述中间通信组件在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器。
10.根据权利要求9所述的数据通信方法,其特征在于,所述中间通信组件设置Socket通信等待的超时时间为第一时间,并接收所述通信服务器根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。
11.一种用于基于B/S架构的数据通信系统的Web服务器,其特征在于,所述数据通信系统包括客户端、通信服务器,所述Web服务器用于连接所述客户端和通信服务器,所述Web服务器设有中间通信组件:
所述中间通信组件获取所述客户端的浏览器发起的HTTP请求;
所述中间通信组件处理所述HTTP请求,并与通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器。
12.根据权利要求11所述的Web服务器,其特征在于,所述中间通信组件在收到所述浏览器发起的所述HTTP请求时,创建一个socket,并与所述通信服务器建立TCP/IP连接,如果连接失败则将连接失败的信息返回到所述浏览器的前端页面,如果连接成功,则将所述HTTP请求对应的所述Socket请求发送到所述通信服务器。
13.根据权利要求12所述的Web服务器,其特征在于,所述中间通信组件设置Socket通信等待的超时时间为第一时间,并接收所述通信服务器根据所述Socket请求返回的结果数据,若在未到达所述第一时间的第二时间内未收到所述通信服务器返回的结果数据,则将发送数据失败的信息返回到所述浏览器的前端网页,若在所述第一时间收到所述通信服务器返回的结果数据,关闭Socket通信,检测结果数据的格式是否有效,若格式不正确,则将响应数据异常的信息返回到所述浏览器的前端网页,若格式正确,则对返回的结果数据进行解析,并打包成预定格式数据发送到所述浏览器的前端网页。
14.一种基于穿戴式设备的监控系统,其特征在于,所述监控系统包括穿戴式设备,以及根据权利要求1-7任一项所述的基于B/S架构的数据通信系统,所述穿戴式设备与所述通信服务器建立网络数据连接,所述客户端用于对所述穿戴式设备进行远程监控:
所述客户端的浏览器在获取到用户的操作时,发起HTTP请求到所述Web服务器的所述中间通信组件;
所述中间通信组件处理所述HTTP请求,并与所述通信服务器建立Socket通信;
所述中间通信组件通过TCP/IP协议将与所述HTTP请求对应的Socket请求传递到所述通信服务器;
所述通信服务器处理所述Socket请求,根据所述Socket请求获取所述穿戴式设备对应的结果数据,并将所述结果数据返回以通过所述客户端的浏览器展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710670886.4A CN107426233A (zh) | 2017-08-08 | 2017-08-08 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710670886.4A CN107426233A (zh) | 2017-08-08 | 2017-08-08 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107426233A true CN107426233A (zh) | 2017-12-01 |
Family
ID=60436695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710670886.4A Pending CN107426233A (zh) | 2017-08-08 | 2017-08-08 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107426233A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471802A (zh) * | 2018-11-01 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种Python网页中的异常处理的方法及装置 |
CN109862076A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种业务数据交互方法、装置和系统 |
CN110225092A (zh) * | 2019-05-14 | 2019-09-10 | 无线生活(杭州)信息科技有限公司 | 一种通信方法及WebSocket服务器 |
CN110516489A (zh) * | 2019-06-28 | 2019-11-29 | 中南大学 | 基于IPv6的RFID网络访问标签的方法 |
CN110708289A (zh) * | 2019-09-04 | 2020-01-17 | 视联动力信息技术股份有限公司 | 服务检测方法、浏览器、服务器、电子设备及存储介质 |
CN111367515A (zh) * | 2018-12-25 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 页面卡片的开发方法、装置、计算设备和存储介质 |
CN111726282A (zh) * | 2020-06-19 | 2020-09-29 | 精英数智科技股份有限公司 | web应用的通信方法、装置、电子设备及存储介质 |
CN111917833A (zh) * | 2020-07-10 | 2020-11-10 | 沈阳先进医疗设备技术孵化中心有限公司 | 客户端程序在云环境中的应用方法、装置及系统 |
CN114301891A (zh) * | 2021-12-27 | 2022-04-08 | 北京睿芯高通量科技有限公司 | 一种基于Python的Web服务和Socket客户端交互方法及系统 |
CN114401307A (zh) * | 2022-01-19 | 2022-04-26 | 平安国际智慧城市科技股份有限公司 | 数据请求方法、系统及存储介质 |
CN114650236A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种日志处理方法、装置及存储介质 |
CN114968890A (zh) * | 2022-05-27 | 2022-08-30 | 中国第一汽车股份有限公司 | 一种同步通信控制方法、装置、系统及存储介质 |
CN115883524A (zh) * | 2023-01-29 | 2023-03-31 | 北京金茂教育科技有限公司 | 多媒体教学中多终端数据同步方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043522A (zh) * | 2006-03-22 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 一种基于Web服务器的通信方法及系统 |
CN103166824A (zh) * | 2011-12-13 | 2013-06-19 | 华为技术有限公司 | 一种互联方法、装置和系统 |
US20130212227A1 (en) * | 2012-02-09 | 2013-08-15 | Cogent Real-Time Systems Inc. | System and method for streaming data via http |
CN103297384A (zh) * | 2012-02-22 | 2013-09-11 | 航天信息股份有限公司 | 协议转换的通信方法及系统 |
-
2017
- 2017-08-08 CN CN201710670886.4A patent/CN107426233A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043522A (zh) * | 2006-03-22 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 一种基于Web服务器的通信方法及系统 |
CN103166824A (zh) * | 2011-12-13 | 2013-06-19 | 华为技术有限公司 | 一种互联方法、装置和系统 |
US20130212227A1 (en) * | 2012-02-09 | 2013-08-15 | Cogent Real-Time Systems Inc. | System and method for streaming data via http |
CN103297384A (zh) * | 2012-02-22 | 2013-09-11 | 航天信息股份有限公司 | 协议转换的通信方法及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471802A (zh) * | 2018-11-01 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种Python网页中的异常处理的方法及装置 |
CN111367515A (zh) * | 2018-12-25 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 页面卡片的开发方法、装置、计算设备和存储介质 |
CN111367515B (zh) * | 2018-12-25 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 页面卡片的开发方法、装置、计算设备和存储介质 |
CN109862076A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 一种业务数据交互方法、装置和系统 |
CN110225092A (zh) * | 2019-05-14 | 2019-09-10 | 无线生活(杭州)信息科技有限公司 | 一种通信方法及WebSocket服务器 |
CN110516489A (zh) * | 2019-06-28 | 2019-11-29 | 中南大学 | 基于IPv6的RFID网络访问标签的方法 |
CN110516489B (zh) * | 2019-06-28 | 2022-02-18 | 中南大学 | 基于IPv6的RFID网络访问标签的方法 |
CN110708289A (zh) * | 2019-09-04 | 2020-01-17 | 视联动力信息技术股份有限公司 | 服务检测方法、浏览器、服务器、电子设备及存储介质 |
CN111726282B (zh) * | 2020-06-19 | 2021-06-04 | 精英数智科技股份有限公司 | web应用的通信方法、装置、电子设备及存储介质 |
CN111726282A (zh) * | 2020-06-19 | 2020-09-29 | 精英数智科技股份有限公司 | web应用的通信方法、装置、电子设备及存储介质 |
CN111917833A (zh) * | 2020-07-10 | 2020-11-10 | 沈阳先进医疗设备技术孵化中心有限公司 | 客户端程序在云环境中的应用方法、装置及系统 |
CN111917833B (zh) * | 2020-07-10 | 2023-06-02 | 沈阳先进医疗设备技术孵化中心有限公司 | 客户端程序在云环境中的应用方法、装置及系统 |
CN114650236A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种日志处理方法、装置及存储介质 |
CN114301891A (zh) * | 2021-12-27 | 2022-04-08 | 北京睿芯高通量科技有限公司 | 一种基于Python的Web服务和Socket客户端交互方法及系统 |
CN114301891B (zh) * | 2021-12-27 | 2023-10-13 | 北京睿芯高通量科技有限公司 | 一种基于Python的Web服务和Socket客户端交互方法及系统 |
CN114401307A (zh) * | 2022-01-19 | 2022-04-26 | 平安国际智慧城市科技股份有限公司 | 数据请求方法、系统及存储介质 |
CN114968890A (zh) * | 2022-05-27 | 2022-08-30 | 中国第一汽车股份有限公司 | 一种同步通信控制方法、装置、系统及存储介质 |
CN115883524A (zh) * | 2023-01-29 | 2023-03-31 | 北京金茂教育科技有限公司 | 多媒体教学中多终端数据同步方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107426233A (zh) | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 | |
WO2019028673A1 (zh) | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 | |
US10686775B2 (en) | Method and apparatus of providing messaging service and callback feature to mobile stations | |
CN108712485B (zh) | 一种物联网设备的资源订阅方法和装置 | |
CN109040326A (zh) | 推送消息的方法和装置 | |
US20220171011A1 (en) | Positioning method and device, server, storage medium and terminal | |
CN105610919A (zh) | 数据传输方法、装置及系统 | |
CN110113437A (zh) | 一种用于提供web服务的增强的可靠性的方法和装置 | |
CN104391576A (zh) | 一种基于无线以太网的远程输入的方法和装置 | |
CN112306591A (zh) | 一种基于页面的远程调试方法及装置 | |
CN106534052B (zh) | 一种通信处理方法及电子设备 | |
CN117082124B (zh) | 数据传送方法、装置、设备、介质及产品 | |
CN115776512A (zh) | 消息推送方法、系统及存储介质 | |
CN116302212A (zh) | 应用内嵌html页面刷新方法、装置、设备及存储介质 | |
TW201828019A (zh) | 資訊處理方法及裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171201 |
|
RJ01 | Rejection of invention patent application after publication |