数据传输系统及利用该系统进行上行数据传输的方法

文档序号:9330602阅读:281来源:国知局
数据传输系统及利用该系统进行上行数据传输的方法
【技术领域】
[0001]本发明涉及一种数据传输系统及利用该系统进行上行数据传输的方法。
【背景技术】
[0002]通信中间件是一种独立的系统软件或服务程序应用软件,当前流行的通信中间件包括MQ、ZEROMQ, TUXEDO等。借助通信中间件可以实现不同技术之间的资源共享。通信中间件位于客户机/服务器的操作系统至上,管理计算机资源和网络通信,连接两个独立的应用程序或系统。利用通信中间件连接的两个系统即使具有不同的接口,也能实现相互交换信息。通过通信中间件,应用程序可以工作在多平台或操作系统环境中。通过通信中间件,可以提高数据的传输速率,实现数据的转发,实现应用分布式部署、服务的负载均衡和数据传输高可用等,极大的解决了平台和应用通信所遇到的困难。
[0003]市场众多种类的通信中间件解决了应用服务数据传输中需要的分布式部署场景,但是当通信网络出现故障导致通信短时间中断时,用户都能感知到该中断,从而影响到数据的传输。而且当通信恢复正常时,需要重新连接,进而增加了系统开销。

【发明内容】

[0004]本发明所要解决的技术问题是如何避免只要有中断故障就中断数据的传输,以不影响数据的传输和减少系统的开销。
[0005]为此目的,本发明提出了一种数据传输系统及利用该系统进行上行数据传输的方法。
[0006]该系统包括应用程序客户端、应用程序服务端和通信中间件,其中所述通信中间件包括:
[0007]中间件客户端模块,与所述应用程序客户端通信连接,用于与所述应用程序客户端进行数据交互;
[0008]中间件服务端模块,与所述应用程序服务端通信连接,用于与所述应用程序服务端进行数据交互;
[0009]中间件处理模块,用于与所述中间件客户端模块和所述中间件服务端模块进行数据交互。
[0010]进一步地,所述中间件处理模块包括通信探针模块,所述通信探针模块用于利用探针判断所述通信中间件分别与所述应用程序客户端、所述应用程序服务端之间的连接状
??τ O
[0011]进一步地,所述中间件处理模块包括负载监控模块,所述负载监控模块用于实时监控系统CPU和系统内存的使用情况。
[0012]进一步地,所述中间件处理模块包括压缩模块,所述压缩模块用于对所述应用程序客户端发送的上行数据在存储之前进行压缩。
[0013]该方法包括:
[0014]判断在预定时间内所述通信中间件分别与所述应用程序客户端、所述应用程序服务端之间的连接状态;
[0015]若在预定时间内所述通信中间件与所述应用程序客户端之间为连接状态,且与所述应用程序服务端之间为断开状态,则判断是否允许存储数据;若允许,则将所述应用程序客户端发来的上行数据进行存储。
[0016]进一步地,该方法还包括:
[0017]若不允许存储数据,则所述中间件处理模块向中间件客户端模块发送停止接收上行数据的命令,且所述中间件客户端模块向所述应用程序客户端发送故障通知。
[0018]进一步地,所述判断在预定时间内所述通信中间件分别与所述应用程序客户端、所述应用程序服务端之间的连接状态,包括:
[0019]所述通信中间件分别向所述应用程序客户端和所述应用程序服务端定时发送探针;
[0020]判断所述通信中间件是否在预定时间内收到来自所述应用程序客户端或所述应用程序服务端的探针反馈信号;
[0021 ] 若所述通信中间件在预定时间内收到来自所述应用程序客户端的探针反馈信号,则所述通信中间件与所述应用程序客户端之间为连接状态;否则,所述通信中间件与所述应用程序客户端之间为断开状态;
[0022]若所述通信中间件在预定时间内收到来自所述应用程序服务端的探针反馈信号,则所述通信中间件与所述应用程序服务端之间为连接状态;否则,所述通信中间件与所述应用程序服务端之间为断开状态。
[0023]进一步地,所述判断是否允许存储数据,包括:
[0024]判断系统CPU使用率、系统内存已占用大小是否达到预定上限值;
[0025]若所述系统CPU使用率和系统内存已占用大小均未达到预定上限值时,则允许存储数据;
[0026]否则,不允许存储数据。
[0027]进一步地,所述将所述应用程序客户端发来的上行数据进行存储,包括:
[0028]接收并压缩所述上行数据;
[0029]根据压缩后的上行数据的大小在系统内存中申请缓存空间;
[0030]将压缩后的上行数据存储在申请的缓存空间内,并将上行数据的数据格式保存在内地缓存中。
[0031]在进行上行数据传输时,当通信中间件与应用程序服务端之间断开,而通信中间件与应用程序客户端之间连接时,将应用程序客户端发来的数据进行缓存,当通信中间件和应用程序服务端之间恢复正常连接时,通信中间件将缓存的上行数据发送至应用程序服务端。这样的话,并不是只要数据传输系统出现故障,就发出报警通知,中断数据的传输。可见,在通信中间件与应用程序服务端断开但未与应用程序客户端断开时,本发明在数据不会丢失的前提下,不中断数据的传输,当数据传输系统恢复正常时,也就不需要重新连接,节约了重新连接需要的系统开销。
【附图说明】
[0032]通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0033]图1示出了上行数据传输的总体流程图;
[0034]图2示出了上行数据传输的具体流程图;
[0035]图3示出了对上行数据进行存储的流程图;
[0036]图4示出了本发明提供的一种数据传输系统的结构框图;
[0037]图5示出了中间件处理模块的结构框图;
[0038]图6示出了本发明提供的一种上行数据传输方法的流程图。
【具体实施方式】
[0039]下面将结合附图对本发明的实施例进行详细描述。
[0040]本发明提供一种数据传输系统,如图1、2、4所示,该系统包括应用程序客户端、应用程序服务端和通信中间件,其中所述通信中间件包括:
[0041]中间件客户端模块,与所述应用程序客户端通信连接,用于与所述应用程序客户端进行数据交互;
[0042]中间件服务端模块,与所述应用程序服务端通信连接,用于与所述应用程序服务端进行数据交互;
[0043]中间件处理模块,用于与所述中间件客户端模块和所述中间件服务端模块进行数据交互。
[0044]中间件客户端模块与所述应用程序客户端进行数据交互,是指中间件客户端模块能接收来自应用程序客户端的数据,也能向应用程序发送数据。中间件服务端模块与所述应用程序服务端进行数据交互,是指中间件服务端模块能接收来自应用程序服务端的数据,也能向应用程序发送数据。中间件处理模块与所述中间件客户端模块和所述中间件服务端模块进行数据交互,是指中间件处理模块能接收来自中间件客户端模块、中间件服务端模块的数据,也能向中间件客户端模块、中间件服务端模块发送数据。
[0045]中间件客户端模块、中间件服务端模块接收中间件处理模块发来的功能信号或向中间件处理模块发送信号等。中间件处理模块对中间件客户端模块、中间件服务端模块发来的数据进行处理、发出指令等。中间件处理模块是通信中间件的核心,具有数据传输处理、数据缓存空间申请、系统环境监控、探针探测、数据格式记忆等功能。
[0046]进一步地,如图5所示,所述中间件处理模块包括通信探针模块,所述通信探针模块用于利用探针判断所述通信中间件分别与所述应用程序客户端、所述应用程序服务端之间的连接状态。
[0047]中间件处理模块通过通信探针模块,判断通信中间件与应用程序客户端之间、通信中间件与应用程序服务端之间的连接状态,可以得知当前的数据传输系统是处于正常通信还是故障状态,从而对数据的传输进行控制。
[0048]进一步地,如图5所示,所述中间件处理模块包括负载监控模块,所述负载监控模块用于实时监控系统CPU和系统内存的使用情况。
[0049]当数据传输系统的通信中间件和应用程序服务端之间出现短时间中断故障时,需要将应用程序客户端发来的上行数据进行暂存,在数据传输系统恢复正常时,将该上行数据发送至应用程序服务端。在这种情况下,得知是否有足够的缓存空间存储上行数据很重要,所以该系统采用负载监控模块,对系统CPU和系统内存的使用情况进行实时监控。
[0050]进一步地,如图5所示,所述中间件处理模块包括压缩模块,所述压缩模块用于对所述应用程序客户端发来的上行数据在存储之前进行压缩。
[0051]当需要缓存数据时,首先将数据进行压缩,在进行存储,压缩可减少占用空间大小,以便存储更多的数据。
[0052]本发明提供一种利用上述数据传输系统进行上行数据传输的方法,如图6所示,该方法包括:
[0053]判断在预定时间内所述通信中间件分别与所述应用程序客户端、所述应用程序服务端之间的连接状态;
[0054]若
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1