一种客户端与服务端之间的信息传输方法与流程

文档序号:17005057发布日期:2019-03-02 01:59阅读:365来源:国知局
一种客户端与服务端之间的信息传输方法与流程

本发明涉及信息处理技术领域,更具体地说,它涉及一种客户端与服务端之间的信息传输方法。



背景技术:

在大访问量、高并发的大型网站中,web服务器的线程消耗是非常严重的,线程资源十分保贵,如何提高线程利用率、提高请求的响应能力常常是网站性能优化的关键点。但在系统中又常常会有一些高并发、高耗时、低实时性的操作,这些操作的结果对于网站用户来说并不需要及时反馈,但是如果网页等待这些同步操作返回,则对线程占用和响应都有严重的影响,减少服务的吞吐量。

因此现在普遍使用微软消息队列(msmq)对高消耗的操作进行异步处理,通过使用消息队列可以把待处理的消息路由到本机或者别的机器上的另外一个进程进行处理,这种方式提供更好的资源扩展。通过把消息路由到别的机器进行处理,可以降低对本机资源的消耗,同时消息队列所提供的异步和离线机制可以更好的提高主程序的响应能力。

然而,在不同机器之间通过相互连通的网络进行异步的信息传输时,会由于负责传输的网络因意外产生的故障而随之产生信息传输的中断,无法保证信息的继续传正常传输,对工作的可靠性和效率产生极大的影响。



技术实现要素:

针对上述问题,本发明的目的在于提供一种客户端与服务端之间的信息传输方法,其具有可靠性强的、效率高的优点。

本发明的上述发明目的是通过以下技术方案得以实现的:

一种客户端与服务端之间的信息传输方法,包括如下步骤:

s1:客户端把要进行异步处理的请求消息通过通用路径传输到对应的服务端,所述服务端通过所述通用路径向所述客户端返回应答消息;

s2:客户端把要进行异步处理的请求消息通过备用模块传输到对应的服务端,所述服务端通过所述备用模块向所述客户端返回应答消息。

通过上述技术方案,客户端可首先通过通用路径实现与服务端的信号传输,当通用路径出现故障,可有备用模块继续传输,保证信息处理的可靠与高效。

本发明进一步设置为:所述步骤s1具体包括:

s11:所述客户端把所述请求消息写入所述服务端msmq中;

s12:所述服务端的处理模块读取所述服务端msmq中储存的所述请求消息后将所述应答消息写入所述服务端msmq中;

s13:所述客户端msmq读取所述应答消息。

通过上述技术方案,通过消息队列对高消耗的操作进行异步传输处理,可以更好的处理主要的请求信息和与其对应的应答信息,可提升主程序的响应能力。

本发明进一步设置为:所述步骤s2具体包括:

s21:所述备用模块初始化;

s22:所述客户端通过所述备用模块将所述请求消息写入所述服务端msmq中;

s23:所述服务端的处理模块读取所述服务端msmq中储存的所述请求消息后将所述应答消息写入所述服务端msmq中;

s24:所述客户端msmq通过所述备用模块读取所述应答消息。

通过上述技术方案,若s1中的传输中断而无法继续完成,则启用备用模块进行信息的继续传输,实现客户端和服务端的信息交互。

本发明进一步设置为:所述备用模块为tcp服务模块,包括设置在所述客户端内的tcp客户端和设置在所述服务端内的tcp服务端,所述步骤s21具体包括:

s211:所述tcp服务端开启tcp端口与tcp客户端的发送端建立连接,等待接收请求数据。

通过上述技术方案,windows系统本身就有tcp服务且拥有相应的tcp端口,tcp本身是一种传输控制协议,具有相应的数据传输服务,使用方便,稳定性强。

本发明进一步设置为:所述步骤s22具体包括:

s221:所述客户端将所述请求信息翻译成所述tcp服务端可以识别的所述请求数据,并由所述tcp客户端接收并发送;

s222:所述tcp服务端接收所述请求数据后将所述请求数据翻译成所述服务端msmq能够识别的所述请求消息,写入所述服务端msmq中。

通过上述技术方案,可将客户端的请求信息写入服务端,实现通信。

本发明进一步设置为:所述步骤s24具体包括:

s241:所述服务端的处理模块读取所述服务端msmq中储存的所述应答消息后将其翻译成所述tcp服务端可以识别的应答数据;

s242:所述tcp客户端读取所述应答数据后将其翻译成所述客户端msmq能够识别的所述应答消息,并将所述应答消息储存在所述客户端msmq内。

通过上述技术方案,可将服务端的应答信息写入客户端,实现反向的通信或反馈。

本发明进一步设置为:所述步骤s11中消息队列的写入操作应用windows通信基础wcf来处理。

与现有技术相比,本发明的有益效果是:

通过设置两条通信线路,以异步传输信息的方式给主要运行目标提供更多的处理时间和空间,减少不必要的资源浪费,并在其中一条通信线路中断后,可由另一条通信线路在不影响原有功能的情况下继续进行数据的传输,实用方便可靠。

附图说明

图1为本发明中实施例的流程示意图;

图2为本发明中实施例的流程示意图。

具体实施方式

下面结合附图和实施例,对本发明进行详细描述。

一种客户端与服务端之间的信息传输方法,思路是提供两种可靠的数据传输途径,在两信息收发组件之间实现信息的高效通信传输,例如实现ms客户端(基于windows操作系统的manegersystem客户端)和cc服务端(controlcenter,控制中心)的高效通信,如图1所示,包括如下步骤:

步骤s1,客户端把要进行异步处理的请求消息通过通用路径传输到对应的服务端,服务端通过通用路径向客户端返回应答消息。若服务端无法将请求信息传输至服务端,则进入步骤s2。

步骤s2:客户端把要进行异步处理的请求消息通过备用模块传输到对应的服务端,服务端通过备用模块向客户端返回应答消息。通过备用模块继续保证客户端和服务端的高效通讯,简单且可靠。

上述步骤s1具体包括:

步骤s11:客户端通过windows操作系统,并根据服务端提供的服务地址,把请求消息路由到服务端后,把请求消息写入服务端msmq(microsoftmessagequeue,微软消息队列)中进行储存,再进入步骤s12。

步骤s12:服务端的处理模块可以调用并读取服务端msmq中储存的请求消息,可以立即产生也可推迟产生应答消息后写入服务端msmq中,避免不必要的信息处理占用整体的处理时间,提升通信效率以及主程序的响应能力。

步骤s13:客户端msmq读取应答消息。上述的以及接下来的msmq(微软消息队列)的写入和提取可通过应用微软的wcf(windowscommunicationfoundation,windows通信基础)技术进行统一处理。

备用模块包括设置在客户端内的tcp客户端和设置在服务端内的tcp服务端,当上述的通用路径出现故障,可以通过tcp(一种传输控制协议)服务模块作为备用模块继续传输,利用windows系统本身就有tcp服务且拥有相应的tcp端口的优势,结合msmq的异步传输功能,保证数据的能从一端传输的另外一端,稳定性较强。

步骤s2具体包括:

步骤s21:tcp服务端的端口初始化后与tcp客户端的发送端建立连接,等待接收请求数据。

步骤s22:客户端通过备用模块将请求消息写入服务端msmq中,因为tcp的客户端无法识别直接来自客户端msmq的请求信息,需要进入步骤s221。

步骤s221:客户端将请求信息翻译成tcp服务端可以识别的请求数据,并由tcp客户端接收并发送,该请求数据由客户端封装成对象(ttansfertcp)后转成json格式,由于采用完全独立于编程语言的文本格式来存储和表示数据,其层次结构简洁和清晰,使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,可有效地提升数据传输效率。向tcp服务端发送请求数据的同时进入步骤s222。

步骤s222:tcp服务端接收请求数据后,现将请求数据翻译成mq数据,写入服务端msmq中。当服务端需要调用服务端msmq中请求消息时,进入步骤s23。

步骤s23:服务端的处理模块读取服务端msmq中储存的请求消息后,产生应答消息,再将应答消息写入服务端msmq中,并使其进入待发送状态。如果需要进行发送该响应,进入步骤s24。

步骤s24:客户端msmq通过备用模块读取应答消息。在这个过程中,同样的,在通过tcp向客户端传输应答消息时需要先进行封装翻译,进入步骤s241。

步骤s241:服务端的处理模块读取服务端msmq中储存的应答消息,将装成对象(ttansfertcp)后转成json格式的应答数据后进入步骤s242。

步骤s242:tcp客户端读取应答数据后再将其转换成mq数据,再转换成客户端msmq能够识别接收的mq数据,发送并储存在客户端msmq内,等待客户端的提取使用。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1