CN110995797A - 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法 - Google Patents

多层b/s与c/s混合式软件系统、各层之间异步实时通信方法 Download PDF

Info

Publication number
CN110995797A
CN110995797A CN201911144818.XA CN201911144818A CN110995797A CN 110995797 A CN110995797 A CN 110995797A CN 201911144818 A CN201911144818 A CN 201911144818A CN 110995797 A CN110995797 A CN 110995797A
Authority
CN
China
Prior art keywords
server
tomcat
data
thread
tomcat server
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
Application number
CN201911144818.XA
Other languages
English (en)
Other versions
CN110995797B (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.)
Wuhan Enyi Internet Technology Co Ltd
Hubei University for Nationalities
Original Assignee
Wuhan Enyi Internet Technology Co Ltd
Hubei University for Nationalities
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 Wuhan Enyi Internet Technology Co Ltd, Hubei University for Nationalities filed Critical Wuhan Enyi Internet Technology Co Ltd
Priority to CN201911144818.XA priority Critical patent/CN110995797B/zh
Publication of CN110995797A publication Critical patent/CN110995797A/zh
Application granted granted Critical
Publication of CN110995797B publication Critical patent/CN110995797B/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/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/01Protocols
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • 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/133Protocols for remote procedure calls [RPC]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种多层B/S与C/S混合式软件系统架构以及各层之间的异步实时通信方法,该系统基于JFinal框架在Web客户端与Tomcat服务器直接采用WebSocket或Http协议进行信息交互;在Tomcat服务器中配置UDP池和TCP池,通过Socket套接字与相应的业务服务端进行实时通信;为提高整个软件系统的高可用性能,采用Nginx实现负载均衡,并使用Redis实现session、token、线程间数据等数据共享。该系统将Nginx作为反向代理服务器,即可以对后台的Tomcat服务器负载均衡,也可以让Nginx处理静态页面的请求、Tomcat处理JSP页面请求达到动静分离的目的。

Description

多层B/S与C/S混合式软件系统、各层之间异步实时通信方法
技术领域
本发明涉及数据通信领域,更具体地说,涉及一种基于JFinal框架,构造的一种多层B/S与C/S混合式软件系统,以及实现各层之间异步实时通信方法。
背景技术
软件体系结构的设计是整个软件开发过程中关键的一步。对于当今世界上庞大而复杂的系统来说,没有一个合适的体系结构而要有一个成功的软件设计几乎是不可想象的。不同类型的系统需要不同的体系结构,甚至一个系统的不同子系统也需要不同的体系结构,体系结构的选择往往会成为一个系统设计成败的关键。
现有技术中常有的软件体系为C/S和B/S这两种软件体系结构,且现行的很多系统都运行于这两种软件体系结构上;但是C/S和B/S这两种软件体系结构有着自身所固有的缺陷,于是,有人就把C/S和B/S进行了有机的结合,产生了C/S和B/S混合软件体系结构;该解决方案把C/S和B/S这两种软件体系结构进行了有机的结合,扬长避短,有效地发挥了各自的优势。
但在系统构架的开发中,B/S模式的Tomcat本身并发性不高,尽管用集群服务器,但是大量业务逻辑都要在Tomcat的容器Bean中执行,并且其于第三方系统交互信能不高;且C/S模式下的客户端不易部署与维护,也不易于升级、修改和维护。
发明内容
本发明要解决的技术问题在于,针对现有技术的缺陷,本发明提出一种构建高扩展可用应用B/S与C/S混合架构程序架构的方法,其能够快速部署,应用简便,强交互性,切高性能,传输高效率,维护升级方便的应用程序。
本发明解决其技术问题所采用的技术方案是:构造一种多层B/S与C/S混合式软件系统,包括了Web客户端和配置在Nginx集群中的多台Tomcat服务器,该系统集成在JFinal框架下,Web客户端与Tomcat服务器在之间采用WebSocket或Http协议进行信息交互;
在每个Tomcat服务器中分部配置UDP池和TCP池,每个Tomcat服务器与服务端之间,通过Socket套接字进行实时通信;其中:
在Nginx集群中采用Redis服务,在Web客户端与Tomcat服务器之间的通信采用B/S架构,Tomcat服务器与服务端之间的通信采用C/S架构;
Nginx集群接收到Web客户端的请求后,将连接请求转发到相应的Tomcat服务器,同时在Redis服务中对Tomcat服务器中的数据进行缓存,实现Tomcat服务器的session、token、线程间数据等的共享。
本发明基于JFianl模型,采用WebSocket和HTTP与Web服务器进行请求访问,同时结合使用Tomcat和Nginx,其中,Nginx作为反向代理服务器,可以对后台的Tomcat服务器负载均衡,也可以让Nginx处理静态页面的请求、Tomcat处理JSP页面请求达到动静分离的目的,采用MinaClient通信线程与业务服务器进行数据通信,最后返回到客户端。
进一步的,所述Nginx集群中还设有数据库,每台Tomcat服务器与数据库相连接,如Mysql、sqlserver等,支撑系统稳定的运行在服务器。
通过在Nginx集群中设定数据库,进一步保证系统的稳定运行,方便后期数据的直接调用。
进一步的,web客户端设有监听Nginx集群存在最新程序时,自行更新的功能模块。
在web客户端设定自行更新的功能模块,进一步保证web客户端与服务器之间的同步更新。
进一步的,该系统还包括运行于安卓平台或者IOS平台的手机端,手机端连接到Tomcat服务器,获取当前的传输数据。
用户可以通过手机端,获取到当前实时通信的数据。
本发明提供的一种基于如上述任一项所述的多层B/S与C/S混合式软件系统的各层之间异步实时通信方法,包括以下步骤:
S1、web客户端通过HTTP协议或WebSocket协议建立用户与Tomcat服务器之间的通信;
S2、待连接成功后,在Tomcat服务器中创建Controllor类,并在其中定义以及实现Action方法;
S3、在Tomcat服务器中,使用全局对象GlobalObject,从minaCilentPool中获得一个minaclient对象,进行与web客户端之间的连接;
S4、创建连接线程,并调用远程接口,建立与服务端之间的远程连接;其中,在Tomcat服务器中,通过异步传输的方法将待传输的数据发送出去,并采用对象同步等待方法,待TCP服务器或者UDP服务器返回数据后,将接收到的通信数据存放到数据存放对象-Msgobject中的Databuffer(stringbuffer)类中。
进一步的,在Action方法中调用CommFunction类中的CreatLocalUid()函数生成UUID标识符,所述UUID标识符用于标识当前的通信;在创建连接线程,并调用远程接口时,生成线程ID,用于标识当前的线程。
进一步的,步骤S4中,在创建连接线程,并调用远程接口时,将打包的方法调用信息和处理结果的回调对象,全部封装在一个数据存放对象-object中;其中,向专门存放调用信息的第二全局对象ConcurrentHashMap里面通过调用put(ID,object)方法,将线程ID和object对象封装成一个待发送的数据请求对象connRequest,再调用IoSession.write(connRequest)方法,将数据请求对象异步发送到服务端。
进一步的,当前的通信线程下,在使用callback回调函数的“get()”方法来获取远程返回的结果时,在“get()”方法内部,在使用synchronized关键字,来获取回调对象的锁,进一步判断是否有数据反馈;
在没有数据反馈的情况下,再调用callback回掉函数的“wait()”方法,让当前线程处于等待状态,进一步等待远程的结果反馈。
在本发明所述的多层B/S与C/S混合式软件系统、各层之间异步实时通信方法中,基于JFianl模型,同时结合使用Tomcat和Nginx进行配合,Nginx作为反向代理服务器,可以对后台的Tomcat服务器负载均衡,也可以让Nginx处理静态页面的请求、Tomcat处理JSP页面请求达到动静分离的目的,采用MinaClient通信线程与业务服务器进行数据通信,最后返回到客户端。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是传统的C/S架构示意图;
图2是传统的B/S架构示意图;
图3是传统的C/S与B/S混合架构示意图;
图4是传统的无集群混合架构示意图;
图5是本发明提出的集群混合架构示意图;
图6是本发明提出的混合架构时序示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
请参考图1,其为传统的C/S架构示意图,传统的C/S架构是一种主从式的架构,每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求,在传统的C/S架构下,客户端与socket服务器之间通常是基于socket通信协议,在进行连接之后,完成与socket服务器之间的数据传输。
请参考图2,其为传统的B/S架构示意图,与C/S结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进行交互,可以方便的在不同平台下工作,在传统的B/S架构下,客户端浏览器通常是基于http协议和websocket协议,在进行连接之后,完成与web之间的数据传输。
请参考图3,其为传统的C/S与B/S混合架构示意图,其中,客户端向web服务器发起Http请求websocket请求,web服务能够处理客户端的请求,并且调用应用服务器暴露在外的RESTFUL接口,应用服务器的RESTFUL接口被调用,会执行对应的暴露方法。如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将数据返回给web服务,web服务器将模版以及数据组合渲染成html返回给客户端;
请参考图4,其为现有的无集群混合架构示意图,当前的无集群混合架构,包括了多个Web客户端和Tomcat服务器;该架构具有以下几种特色:
1、在Web客户端与Tomcat服务器在之间采用WebSocket或Http协议进行信息交互;其中:
用户在客户端通过HTTP协议向服务器发送请求,建立TCP连接连接,通过TCP协议发送给服务器数据,同时获取服务器回响的数据;
由于WebSocket协议允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器之间的双向通信;该架构下,用户在客户端通过WebSocket协议向服务器发送请求,建立WebSocket连接,通过WebSocket协议发送给服务器数据,同时获取服务器回响的数据;
2、Tomcat服务器与服务端之间,通过Socket套接字进行实时通信;其中,在Tomcat容器中分别创建HTTP Controllor类和Web Socket Controller类,并在其中定义和实现Action方法;定义的Action方法包括:
get/post request:获取请求响应指令、传输请求响应指令;
TCP:send()、UDP:sendto():使用TCP或者UDP协议传输数据;
wait result、reply cilent:等待传输结果、回应客户端请求响应的数据。
3、在Web客户端与Tomcat服务器之间的通信采用B/S架构,Tomcat服务器与服务端之间的通信采用C/S架构。
请参考图5,其为本发明提出的集群混合架构示意图,本发明提供的一种多层B/S与C/S混合式软件系统,包括了Web客户端和配置在Nginx集群中的多台Tomcat服务器,本实施例中,该系统集成在JFinal框架下,与现有的无集群混合架构相同的是:Web客户端与Tomcat服务器在之间采用WebSocket或Http协议进行信息交互;其与现有的无集群混合架构的区别在于:
1、本实施例中,在每个Tomcat服务器中分部配置UDP池和TCP池,每个Tomcat服务器与服务端之间,通过Socket套接字进行实时通信;
2、本实施例,在Nginx集群中采用Redis缓存服务;
本实施例中,Nginx集群接收到Web客户端的请求后,将连接请求转发到相应的Tomcat服务器,同时采用Redis缓存服务对Tomcat服务器中的数据进行缓存,实现Tomcat服务器的session、token、线程间数据的共享。
为了实现对传输数据的即时存储,本实施例中,在Nginx集群中还设有数据库,每台Tomcat服务器与数据库相连接;其中,数据库由多种数据库系统提供,用于存储、管理系统所有的数据,支撑系统稳定的运行在服务器。
本实施例中,为了实现数据的即时更新,在web客户端设有监听Nginx集群存在最新程序时,自行更新的功能模块。
本实施例中,为了使得用户对传输数据流程的即时掌握,设置了一个连接到Tomcat服务器的手机端,所述手机端可以运行于安卓平台或者IOS平台等操作系统下。
请参考图6,其为本发明提出的混合架构时序示意图,现结合该时序示意图,对基于多层B/S与C/S混合式软件系统的各层之间异步实时通信方法做进一步说明,具体包括了以下步骤:
S1、web客户端通过HTTP协议或WebSocket协议建立用户与Tomcat服务器之间的通信;
S2、待连接成功后,在Tomcat服务器中创建Controllor类,并在其中定义以及实现Action方法;其中,在Action方法中调用CommFunction类中的CreatLocalUid()函数生成UUID标识符,所述UUID标识符用于标识当前的通信;在创建连接线程,并调用远程接口时,生成线程ID,用于标识当前的线程。
S3、在Tomcat服务器中,使用全局对象GlobalObject,从minaCilentPool中获得一个minaclient对象,进行与web客户端之间的连接;
S4、创建连接线程,并调用远程接口,建立Tomcat与服务端之间的远程连接;其中,在Tomcat服务器中,通过异步传输的方法将待传输的数据发送出去,并采用对象同步等待方法,待服务端返回数据后,将接收到的数据存放到Msgobject数据存放对象的Databuffer(stringbuffer)类中;其中,在创建连接线程,并调用远程接口时,将打包的方法调用信息和处理结果的回调对象,全部封装在一个object数据存放对象中;其中,向专门存放调用信息的ConcurrentHashMap全局对象里面通过调用put(ID,object)方法,将线程ID和object对象封装成一个待发送的connRequest数据请求对象,再调用IoSession.write(connRequest)方法,将数据请求对象异步发送到服务端。
当前的通信线程下,在获取远程返回的结果时,使用callback回调函数的get()方法来获取,在get()方法内部,在使用synchronized关键字,来获取回调对象的锁,进一步判断是否有数据反馈;在没有数据反馈的情况下,再调用callback回掉函数的wait()方法,让当前线程处于等待状态,进一步等待远程的结果反馈。
当客户端返回数据时,采用对象同步等待MinaTcpClientHandle的messageReceived收到数据并拷贝到消息对象msgobject中的通信数据Databuffer(stringbuffer)中。具体步骤如下:
1)当前线程再使用callback的get()方法试图获取远程返回的结果,在get()内部,则使用synchronized获取回调对象callback的锁,再先检测是否已经获取到结果,如果没有,然后调用callback的wait()方法,释放callback上的锁,让当前线程处于等待状态。
服务端接收到请求并处理后,将结果(此结果中包含了前面的ID,即回传)发送给客户端,客户端socket连接上专门监听消息的线程收到消息,分析结果,取到ID,再从前面的ConcurrentHashMap里面get(ID),从而找到callback,将方法调用结果设置到callback对象里。
2)根据获取的UUID,在ConcurrentHashMap中找到线程交换数据的对象msgobject。
3)调用append()方法将收到的数据复制到消息对象mesobject的通信数据Databuffer(stringbuffer)中。
4)监听线程接着使用synchronized获取回调对象callback的锁(因为前面调用过wait(),那个线程已释放callback的锁了),再notifyAll(),唤醒前面处于等待状态的线程继续执行(callback的get()方法继续执行就能拿到调用结果)。
与现有软件体系架构相比,本发明的架构代码量小,部署快速简单,与SSH等框架相比,SSH等框架都需要进行一个注解去配置URL的控制访问,而在此系统架构中无需配置,且体积小,无需第三方依赖,拦截器配置灵活,使用简单,遵循COC原则,零配置,无xml,从而减少了开发的代码。具有很强的拓展性,利用客户端系统的优势,具有分部性、强交互性特点;
Websocket一般用于前后端实时数据交互,而Ajax前后端非实时数据交互。同时传统的C/S与B/S混合软件体系结构的缺点是外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强,本发明很好的完善了这些缺点,AJAX的使用场景仍然是传统的请求-响应形式,是短连接,数据发送和接受完成后就会断开连接,且需要客户端发起请求,而WebSocket建立的是长连接,在一个会话中一直保持连接,而且WebSocket服务器和客户端可以相互推送信息,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯,websocket中就有建立连接connect、发送消息send等函数可供使用,但是websocket.WebSocketApp将这些都封装好了,只用在实例化的时候传入自定义函数即可,更方便。真正实现了高速实时通信;
本发明在tomcat服务器内部署Redis和Nginx,能够快速的对用户访问做出反响,让多名用户共享数据,让系统极短时间内承受大量的信息,减少Tomcat服务器中的组件Bean计算压力。
本发明中,在tomcat服务器内部署TCP和UDP连接池,由于连接在数据池中得到重用,避免了频繁创建、释放连接引起的大量性能开销,缩短了系统的反响时间,业务系统分离形成的后端系统,在保证系统安全的前提下,和Tomcat通信交互快速便捷。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.一种多层B/S与C/S混合式软件系统,包括了Web客户端和配置在Nginx集群中的多台Tomcat服务器,其特征在于,该系统集成在JFinal框架下,Web客户端与Tomcat服务器在之间采用WebSocket或Http协议进行信息交互;
在每个Tomcat服务器中分别配置UDP池和TCP池,每个Tomcat服务器与服务端之间,通过Socket套接字进行实时通信;其中:
在Nginx集群中采用Redis缓存服务;在Web客户端与Tomcat服务器之间的通信采用B/S架构,Tomcat服务器与服务端之间的通信采用C/S架构;
Nginx集群接收到Web客户端的请求后,将连接请求转发到相应的Tomcat服务器,同时采用Redis缓存服务对Tomcat服务器中的数据进行缓存,实现Tomcat服务器的session、token、线程间数据等的共享。
2.如权利要求1所述的多层B/S与C/S混合式软件系统,其特征在于,Nginx集群中还设有数据库,每台Tomcat服务器与数据库相连接;所述数据库用于存储、管理系统所有的数据,支撑系统稳定的运行在Tomcat服务器上。
3.如权利要求2所述的多层B/S与C/S混合式软件系统,其特征在于,web客户端设有监听Nginx集群存在最新程序时,自行更新的功能模块。
4.如权利要求3所述的多层B/S与C/S混合式软件系统,其特征在于,该系统还包括运行于安卓平台或者IOS平台的手机端;所述手机端连接到Tomcat服务器,获取当前的传输数据。
5.一种基于如权利要求1-4中任一项所述的多层B/S与C/S混合式软件系统的各层之间异步实时通信方法,其特征在于,包括以下步骤:
S1、web客户端通过HTTP协议或WebSocket协议建立用户与Tomcat服务器之间的通信;
S2、待连接成功后,在Tomcat服务器中创建Controllor类,并在其中定义以及实现Action方法;
S3、在Tomcat服务器中,使用全局对象GlobalObject,从minaCilentPool中获得一个minaclient对象,进行与web客户端之间的连接;
S4、创建连接线程,并调用远程接口,建立Tomcat与服务端之间的远程连接;其中,在Tomcat服务器中,通过异步传输的方法将待传输的数据发送出去,并采用对象同步等待方法,待服务端返回数据后,将接收到的数据存放到Msgobject数据存放对象的Databuffer(stringbuffer)类中。
6.如权利要求5所述的各层之间异步实时通信方法,其特征在于,在Action方法中调用CommFunction类中的CreatLocalUid()函数生成UUID标识符,所述UUID标识符用于标识当前的通信;在创建连接线程,并调用远程接口时,生成线程ID,用于标识当前的线程。
7.如权利要求6所述的各层之间异步实时通信方法,其特征在于,步骤S4中,在创建连接线程,并调用远程接口时,将打包的方法调用信息和处理结果的回调对象,全部封装在一个object数据存放对象中;其中,向专门存放调用信息的ConcurrentHashMap全局对象里面通过调用“put(ID,object)”方法,将线程ID和object对象封装成一个待发送的connRequest数据请求对象,再调用“IoSession.write(connRequest)”方法,将数据请求对象异步发送到服务端。
8.如权利要求5所述的各层之间异步实时通信方法,其特征在于,当前的通信线程下,使用callback回调函数的“get()”方法来获取远程返回的结果时,在“get()”方法内部,在使用synchronized关键字,来获取回调对象的锁,进一步判断是否有数据反馈;
在没有数据反馈的情况下,再调用callback回掉函数的“wait()”方法,让当前线程处于等待状态,进一步等待远程的结果反馈。
CN201911144818.XA 2019-11-19 2019-11-19 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法 Active CN110995797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911144818.XA CN110995797B (zh) 2019-11-19 2019-11-19 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911144818.XA CN110995797B (zh) 2019-11-19 2019-11-19 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法

Publications (2)

Publication Number Publication Date
CN110995797A true CN110995797A (zh) 2020-04-10
CN110995797B CN110995797B (zh) 2022-03-15

Family

ID=70085351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911144818.XA Active CN110995797B (zh) 2019-11-19 2019-11-19 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法

Country Status (1)

Country Link
CN (1) CN110995797B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111565229A (zh) * 2020-04-29 2020-08-21 创盛视联数码科技(北京)有限公司 一种基于Redis的通信系统分布式方法
CN112528278A (zh) * 2020-12-07 2021-03-19 天博电子信息科技有限公司 一种基于中间件缓存机制的网络数据存储及访问方法
CN112565059A (zh) * 2020-12-03 2021-03-26 城云科技(中国)有限公司 基于即时通讯私有云架构的消息传输方法和系统
CN112882848A (zh) * 2021-02-25 2021-06-01 武汉大学 一种应用于网络及分布式开发的基础中间件
CN113190367B (zh) * 2021-07-02 2021-10-01 成都数联铭品科技有限公司 基于浏览器实现的跨系统数据交互方法及装置、电子设备
CN114221970A (zh) * 2021-12-10 2022-03-22 北京思必拓科技有限责任公司 一种公共环境下的应用数据同步方法和装置
CN114547431A (zh) * 2020-11-25 2022-05-27 永中软件股份有限公司 融合端、页的信息推送方法,计算装置及计算机可读介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983169A (zh) * 2005-12-12 2007-06-20 华为技术有限公司 支持异步命令上报的方法
CN101267441A (zh) * 2008-04-23 2008-09-17 北京航空航天大学 一种c/s和b/s混合架构模式实现方法和平台
CN201205281Y (zh) * 2008-05-28 2009-03-11 北京工业大学 基于b/s结构的生理多参数远程监护系统
CN101478574A (zh) * 2009-01-21 2009-07-08 深圳职业技术学院 一种基于b/s结构的远程监护系统及其方法
US20100279678A1 (en) * 2007-12-26 2010-11-04 Prospective Group International Co., Limited Distribution method, operation method and system of application system in mobile communication network
CN104216293A (zh) * 2014-09-05 2014-12-17 中铁西南科学研究院有限公司 基于b/s 和c/s 架构模式的隧道及地下工程信息监控量测方法
CN104618508A (zh) * 2015-02-26 2015-05-13 浪潮电子信息产业股份有限公司 一种基于Nginx、Memcached、Tomcat负载均衡网状架构
CN113348759B (zh) * 2013-05-30 2016-08-03 上海宇航系统工程研究所 基于b/s与c/s混合架构的卫星综合测试系统
CN107147620A (zh) * 2017-04-19 2017-09-08 武汉票据交易中心有限公司 一种消息交互处理方法、客户端和服务端
CN107197046A (zh) * 2017-07-19 2017-09-22 云南省交通规划设计研究院 一种基于移动智能平台的公路勘测调查内外业一体化系统
CN107734004A (zh) * 2017-09-26 2018-02-23 河海大学 一种基于Nginx、Redis的高并发负载均衡系统
CN109118347A (zh) * 2018-07-20 2019-01-01 苏宁易购集团股份有限公司 一种自动化协作方法及系统
CN109413181A (zh) * 2018-10-28 2019-03-01 广州中元软件有限公司 一种实现应用程序的双架构模式方法
CN109831332A (zh) * 2019-02-15 2019-05-31 湖南高至科技有限公司 一种基于b/s与c/s混合的服务化仿真系统架构

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983169A (zh) * 2005-12-12 2007-06-20 华为技术有限公司 支持异步命令上报的方法
US20100279678A1 (en) * 2007-12-26 2010-11-04 Prospective Group International Co., Limited Distribution method, operation method and system of application system in mobile communication network
CN101267441A (zh) * 2008-04-23 2008-09-17 北京航空航天大学 一种c/s和b/s混合架构模式实现方法和平台
CN201205281Y (zh) * 2008-05-28 2009-03-11 北京工业大学 基于b/s结构的生理多参数远程监护系统
CN101478574A (zh) * 2009-01-21 2009-07-08 深圳职业技术学院 一种基于b/s结构的远程监护系统及其方法
CN113348759B (zh) * 2013-05-30 2016-08-03 上海宇航系统工程研究所 基于b/s与c/s混合架构的卫星综合测试系统
CN104216293A (zh) * 2014-09-05 2014-12-17 中铁西南科学研究院有限公司 基于b/s 和c/s 架构模式的隧道及地下工程信息监控量测方法
CN104618508A (zh) * 2015-02-26 2015-05-13 浪潮电子信息产业股份有限公司 一种基于Nginx、Memcached、Tomcat负载均衡网状架构
CN107147620A (zh) * 2017-04-19 2017-09-08 武汉票据交易中心有限公司 一种消息交互处理方法、客户端和服务端
CN107197046A (zh) * 2017-07-19 2017-09-22 云南省交通规划设计研究院 一种基于移动智能平台的公路勘测调查内外业一体化系统
CN107734004A (zh) * 2017-09-26 2018-02-23 河海大学 一种基于Nginx、Redis的高并发负载均衡系统
CN109118347A (zh) * 2018-07-20 2019-01-01 苏宁易购集团股份有限公司 一种自动化协作方法及系统
CN109413181A (zh) * 2018-10-28 2019-03-01 广州中元软件有限公司 一种实现应用程序的双架构模式方法
CN109831332A (zh) * 2019-02-15 2019-05-31 湖南高至科技有限公司 一种基于b/s与c/s混合的服务化仿真系统架构

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAI-WU LEE; GUO-WEI CHEN: ""Design of IE3 Laboratory Dynamic Website"", 《2019 IEEE INTERNATIONAL CONFERENCE OF INTELLIGENT APPLIED SYSTEMS ON ENGINEERING (ICIASE)》 *
史梦安,王志勃: ""基于C_S和B_S混合结构的物联网智能远程环境监控系统研究"", 《软件导刊》 *
王欢: ""基于混合架构的鸡舍环境监测系统研制"", 《中国优秀硕士论文全文数据库-信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111565229A (zh) * 2020-04-29 2020-08-21 创盛视联数码科技(北京)有限公司 一种基于Redis的通信系统分布式方法
CN111565229B (zh) * 2020-04-29 2020-11-27 创盛视联数码科技(北京)有限公司 一种基于Redis的通信系统分布式方法
CN114547431A (zh) * 2020-11-25 2022-05-27 永中软件股份有限公司 融合端、页的信息推送方法,计算装置及计算机可读介质
CN112565059A (zh) * 2020-12-03 2021-03-26 城云科技(中国)有限公司 基于即时通讯私有云架构的消息传输方法和系统
CN112565059B (zh) * 2020-12-03 2022-06-28 城云科技(中国)有限公司 基于即时通讯私有云架构的消息传输方法和系统
CN112528278A (zh) * 2020-12-07 2021-03-19 天博电子信息科技有限公司 一种基于中间件缓存机制的网络数据存储及访问方法
CN112882848A (zh) * 2021-02-25 2021-06-01 武汉大学 一种应用于网络及分布式开发的基础中间件
CN113190367B (zh) * 2021-07-02 2021-10-01 成都数联铭品科技有限公司 基于浏览器实现的跨系统数据交互方法及装置、电子设备
CN114221970A (zh) * 2021-12-10 2022-03-22 北京思必拓科技有限责任公司 一种公共环境下的应用数据同步方法和装置
CN114221970B (zh) * 2021-12-10 2024-02-02 北京思必拓科技有限责任公司 一种公共环境下的应用数据同步方法和装置

Also Published As

Publication number Publication date
CN110995797B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN110995797B (zh) 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法
CN107209666B (zh) 计算机系统
CN107005567B (zh) 实现通信事件
US11716264B2 (en) In situ triggered function as a service within a service mesh
CN107172187B (zh) 一种负载均衡系统和方法
US20110302316A1 (en) METHOD AND SYSTEM FOR MANAGING AND USING SESSIONS AS RESTful WEB SERVICES
CN109815025B (zh) 一种业务模型调用方法、装置及存储介质
US10999405B2 (en) Method for processing access requests and web browser
EP1760989A1 (en) Web Services in a peer to peer network
EP2608487A1 (en) Method, system and computer program product for providing composite web application
CN106131138A (zh) 一种基于非阻塞队列的展示数据实时推送系统和方法
CN112804289B (zh) 一种资源同步方法、装置、设备及存储介质
CN112256246A (zh) 一种用于电力系统中支持跨语言调用的微服务集成架构
US7398527B2 (en) Dispatching application steps of an application running on an application server in a client/server environment
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
CN113726869A (zh) 通信方法、网关以及电子设备
CN110611687A (zh) 基于Redis的远程过程调用实现方法和相关装置
CN116204239A (zh) 业务处理方法、装置和计算机可读存储介质
CN104270453A (zh) 一种多级服务器间数据通信方法及服务器
CN115065686B (zh) 分布式负载均衡系统的配置方法、装置及系统
CN112929454B (zh) 异质服务互操作方法、装置
Baraki et al. Sam: A semantic-aware middleware for mobile cloud computing
CN109669793B (zh) 中间件进程内对象调用方法
WO2022012382A1 (en) Method for enabling interaction between binder application and http application and related products
CN118041704B (zh) Kubernetes容器访问方法、装置、计算设备及存储介质

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