CN104270453A - 一种多级服务器间数据通信方法及服务器 - Google Patents
一种多级服务器间数据通信方法及服务器 Download PDFInfo
- Publication number
- CN104270453A CN104270453A CN201410534908.0A CN201410534908A CN104270453A CN 104270453 A CN104270453 A CN 104270453A CN 201410534908 A CN201410534908 A CN 201410534908A CN 104270453 A CN104270453 A CN 104270453A
- Authority
- CN
- China
- Prior art keywords
- server
- format information
- information
- mina
- interface
- 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
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/50—Network services
- H04L67/55—Push-based network services
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种多级服务器间数据通信方法及服务器,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器,第二服务器接收XML格式信息后进行反序列化,并且进行解析获取结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好。底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
Description
技术领域
本发明涉及一种分布式系统技术领域,具体地涉及一种多级服务器间数据通信方法及服务器。
背景技术
目前,构建大型分布式系统通常通过“层”的抽象:“层”可能是多层架构中的“层”,也可能是组件系统中的一个组件,或者是面向服务架构(Service-Oriented Architecture,SOA)中的一个服务,在这种架构中,系统被分为多个“层”,而各个层之间需要定义接口来进行信息交互。在分布式级联系统中,省市县每级都部署一个服务器,上级服务器可以调用下级服务器,同时下级服务器可以主动推送信息到上级,如图1所示,服务器相连后,顶级服务器可以作为二级服务器的第一服务器相连,二级服务器可以作为三级服务器的第一服务器相连,通过这个分布式级联系统,可以实现程序跨域计算机进行。
在系统设计和实现中,远程调用(Remote Calling)这种层间交互方式愈发不可替代。通常采用的远程方法调用技术有:传统的远程过程调用(Remote Procedure Call,RPC),性能不高;Java语言的远程方法调用(Remote Method Invocation,RMI),只能在纯粹的Java环境中使用;分布式组件对象模型(Distributed Component Object Model,DCOM),可以在网络上调用COM组件,并用于COM+应用程序,但主要用于Microsoft环境,把它用于其他系统中不可行;公用对象请求代理程序体系结构(CommonObject Request Broker Architecture,CORBA),是Object ManagementGroup(OMG,www.omg.org)在1991年开发的,可以把面向对象技术添加到网络编程中,许多销售商如Digital Equipment、HP、IBM和其他销售商都提供CORBA服务器。但因为OMG没有定义引用执行代码,只有一个规范,所以这些销售商的服务器都不能交互操作。HP服务器需要一个HP客户机,IBM服务器需要一个IBM客户机等。
Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API。
发明内容
为此,本发明所要解决的技术问题在于现有技术中用于多级服务器间远程调用和推送的方法应用程序框架复杂,性能差且不支持服务器主动推送等问题,从而提出一种多级服务器间数据通信方法及服务器。
为解决上述技术问题,本发明的提供如下技术方案:
一种多级服务器间数据通信方法,包括如下步骤:
通过MINA的连接接口连接第二服务器;
发送接口命令,将命令信息进行封装得到第一格式信息;
将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
通过MINA的发送接口将所述第二格式信息发送至第二服务器。
上述多级服务器间数据通信方法,所述接口命令为推送命令。
上述多级服务器间数据通信方法,所述接口命令为调用命令,且在所述通过MINA的发送接口将所述第二格式信息发送至第二服务器步骤之后还包括步骤:
通过MINA的接收接口接收第二服务器发送的结果;
将接收到的结果通过结果处理策略获取最终结果。
上述多级服务器间数据通信方法,还包括步骤:
定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。
上述多级服务器间数据通信方法,所述发送接口命令,将命令信息进行封装得到第一格式信息步骤中:
所述命令信息包括:类名、方法、参数、返回值,所述第一格式信息为JavaBean格式的信息,所述第一格式信息为待发送信息。
上述多级服务器间数据通信方法,所述将第一格式信息对象序列化为第二格式信息步骤中:
将第一格式信息对象序列化为第二格式信息采用Xstream技术。
一种多级服务器间数据通信方法,括如下步骤:
通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接;
通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息;
将第二格式信息反序列化为第三格式信息;
解析第三格式信息,根据解析后的第三格式信息获取结果。
上述多级服务器间数据通信方法,所述接口命令为调用命令时,还包括步骤:
通过MINA的发送接口将所述结果发送至第一服务器;
上述多级服务器间数据通信方法,所述将第二格式信息反序列化为第三格式信息步骤中:
将第二格式信息反序列化为第三格式信息采用Xstream技术,所述第三格式信息为JavaBean格式的信息。
一种多级服务器间数据通信方法,包括:
第一服务器通过MINA的连接接口连接第二服务器,连接成功后,第二服务器保存对应的连接;
第一服务器发送接口命令,将命令信息进行封装得到第一格式信息;
第一服务器将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
第一服务器通过MINA的发送接口将所述第二格式信息发送至第二服务器;
第二服务器通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息;
第二服务器将第二格式信息反序列化为第三格式信息;
第二服务器解析第三格式信息,根据解析后的第三格式信息获取结果。
上述多级服务器间数据通信方法,所述接口命令为调用命令时,还包括步骤:
第二服务器通过MINA的发送接口将所述结果发送至第一服务器,所述结果为返回值;
第一服务器通过MINA的接收接口接收第二服务器发送的结果;
第一服务器将接收到的结果通过结果处理策略获取最终结果。
一种多级服务器间数据通信的第一服务器,包括:
连接模块,用于通过MINA的连接接口连接第二服务器;
第一发送模块,用于发送接口命令,将命令信息进行封装得到第一信息;
第一数据处理模块,用于将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
第二发送模块,用于通过MINA的发送接口将所述第二格式信息发送至第二服务器。
上述多级服务器间数据通信的第一服务器,第一发送模块中所述接口命令为推送命令。
上述多级服务器间数据通信的第一服务器,第一发送模块中所述接口命令为调用命令,还包括:
接收模块,用于通过MINA的接收接口接收第二服务器发送的结果;
第二数据处理模块,用于将接收到的结果通过结果处理策略获取最终结果。
上述多级服务器间数据通信的第一服务器,还包括:
心跳请求发送模块,用于定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。
上述多级服务器间数据通信的第一服务器,第一发送模块中:
所述命令信息包括:类名、方法、参数、返回值,所述第一格式信息为JavaBean格式的信息,所述第一格式信息为待发送信息。
上述多级服务器间数据通信的第一服务器,第一数据处理模块中:
将第一格式信息对象序列化为第二格式信息采用Xstream技术。
一种多级服务器间数据通信的第二服务器,包括:
连接保存模块,用于通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接;
信息接收模块,用于通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息;
信息处理模块,用于将第二格式信息反序列化为第三格式信息;
信息解析模块,用于解析第三格式信息,根据解析后的第三格式信息获取结果。
上述多级服务器间数据通信的第二服务器,信息接收模块中所述接口命令为调用命令,还包括:
信息发送模块,用于通过MINA的发送接口将所述结果发送至第一服务器;
上述多级服务器间数据通信的第二服务器,信息处理模块中:
将第二格式信息反序列化为第三格式信息采用Xstream技术,所述第三格式信息为JavaBean格式的信息。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明所述的多级服务器间数据通信方法及服务器,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器,第二服务器接收XML格式信息后进行反序列化,并且进行解析获取结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好。底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
(2)本发明所述的多级服务器间数据通信方法及服务器,当接口命令为调用命令时,通过MINA的接收接口接收第二服务器发送的结果,将结果通过结果处理策略获取最终结果。在一个服务器调用多个服务器时,可以根据结果处理策略获取最终结果。
(3)本发明所述的多级服务器间数据通信方法及服务器,第一服务器定时发送心跳请求道第二服务器,若心跳请求失败,进行重新连接,能够实现在网络掉线或者连接接口断开的情况下自动重新连接,防止出现服务器间通信中断的情况。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是分布式级联系统示意图;
图2是本发明一个实施例的一种多级服务器间数据通信方法的第一服务器端处理方法流程图;
图3是本发明一个实施例的一种多级服务器间数据通信方法的第一服务器端处理方法流程图;
图4是本发明一个实施例的一种多级服务器间数据通信方法的第二服务器端处理方法流程图;
图5是本发明一个实施例的一种多级服务器间数据通信方法的第二服务器端处理方法流程图;
图6是本发明一个实施例的一种多级服务器间数据通信方法流程图;
图7是本发明一个实施例的一种多级服务器间远程调用和推送示意图;
图8是本发明一个实施例的一种多级服务器间数据通信方法第一服务器框图;
图9是本发明一个实施例的一种多级服务器间数据通信方法第二服务器框图。
具体实施方式
实施例1
本实施例提供一种多级服务器间数据通信方法,本实施例为第一服务器端处理方法,如图2所示,包括如下步骤:
S1:第一服务器通过MINA的连接接口连接第二服务器。第一服务器可以通过MINA的连接接口连接一个或多个服务器,本实施例中以连接一个服务器即第二服务器为例。
S2:第一服务器发送接口命令,将命令信息进行封装得到第一格式信息。
所述接口命令为调用命令,即第一服务器调用第二服务器的信息,此时第一服务器为上级服务器,第二服务器为下级服务器。例如一个省有省级、市级、县级共3级平台,省市相连,市县相连,如果省级平台要调用县级平台,可以通过中间的市级平台做级联透传,调用县级平台的方法,返回结果也通过市级平台返回给省级平台。省级平台与市级平台通信时,省级平台为第一服务器,市级平台为第二服务器;市级平台与县级平台通信时,市级平台为第一服务器,县级平台为第二服务器。
所述命令信息包括:调用的类名、方法、参数、返回值,命令信息为调用信息。将命令信息进行封装得到第一格式信息,即把调用的类名、方法、参数、返回值等信息封装为JavaBean格式的信息,所述第一格式信息为待发送信息。
S3:第一服务器将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息。
将第一格式信息对象序列化为第二格式信息采用Xstream技术。Xstream技术是一种OXMapping技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。
S4:第一服务器通过MINA的发送接口将所述第二格式信息发送至第二服务器。
S5:第一服务器通过MINA的接收接口接收第二服务器发送的结果。其结果就是第二服务器发送的返回值。
S6:第一服务器将接收到的结果通过结果处理策略获取最终结果。当第一服务器连接多个服务器时,调用多个服务器返回的结果是多个返回值,对这些返回值经过结果处理策略可以获取最终结果。
本实施例提供的一种多级服务器间数据通信方法,还包括步骤:
S0:第一服务器定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。能够实现在网络掉线或者连接接口断开的情况下进行重新连接,防止出现通信中断的情况。
本实施例提供的一种多级服务器间数据通信方法,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器,通过MINA的接收接口接收第二服务器发送的结果,将接收到的结果通过结果处理策略获取最终结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例2
本实施例提供一种多级服务器间数据通信方法,本实施例为第一服务器端处理方法,如图3所示,包括如下步骤:
S1:第一服务器通过MINA的连接接口连接第二服务器。第一服务器可以通过MINA的连接接口连接一个或多个服务器,本实施例中以连接一个服务器即第二服务器为例。
S2:第一服务器发送接口命令,将命令信息进行封装得到第一格式信息。
所述接口命令为推送命令,即第一服务器将信息推送到第二服务器,此时第一服务器为下级服务器,第二服务器为上级服务器。例如一个省有省级、市级、县级共3级平台,省市相连,市县相连,如果县级平台要推送消息到省级平台,可以通过中间的市级平台做级联透传,县级平台推送消息给市级平台,市级平台再推送消息给省级平台。省级平台与市级平台通信时,省级平台为第一服务器,市级平台为第二服务器;市级平台与县级平台通信时,市级平台为第一服务器,县级平台为第二服务器。
所述命令信息包括:推送的类名、方法、参数,命令信息为推送信息。将命令信息进行封装得到第一格式信息,即把推送的类名、方法、参数、等信息封装为JavaBean格式的信息,所述第一格式信息为待发送信息。
S3:第一服务器将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息。
将第一格式信息对象序列化为第二格式信息采用Xstream技术。Xstream技术是一种OXMapping技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。
S4:第一服务器通过MINA的发送接口将所述第二格式信息发送至第二服务器。
本实施例提供的一种多级服务器间数据通信方法,还包括步骤:
S0:第一服务器定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。能够实现在网络掉线或者连接接口断开的情况下进行重新连接,防止出现通信中断的情况。
本实施例提供的一种多级服务器间数据通信方法,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例3
本实施例提供一种多级服务器间数据通信方法,本实施例为第二服务器端处理方法,如图4所示,包括如下步骤:
T1:第二服务器通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接。
T2:第二服务器通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息,所述接口命令为调用命令。
T3:第二服务器将第二格式信息反序列化为第三格式信息。将第二格式信息反序列化为第三格式信息采用Xstream技术,所述Xstream技术如实施例1中所述。所述第三格式信息为JavaBean格式的信息。
T4:第二服务器解析第三格式信息,根据解析后的第三格式信息获取结果。根据第三格式信息中的调用的类名、方法、参数、返回值等信息找到所调用的方法,代入参数后得到结果。
T5:第二服务器通过MINA的发送接口将所述结果发送至第一服务器。所述结果就是根据第三格式信息解析后获取的返回值。
本实施例提供的一种多级服务器间数据通信方法,第二服务器通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接,通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息,将第二格式信息反序列化为第三格式信息,再解析第三格式信息获取结果,并将结果发送至第一服务器。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例4
本实施例提供一种多级服务器间数据通信方法,本实施例为第二服务器端处理方法,如图5所示,包括如下步骤:
T1:第二服务器通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接。
T2:第二服务器通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息,所述接口命令为推送命令。
T3:第二服务器将第二格式信息反序列化为第三格式信息。将第二格式信息反序列化为第三格式信息采用Xstream技术,所述Xstream技术如实施例1中所述。所述第三格式信息为JavaBean格式的信息。
T4:第二服务器解析第三格式信息,根据解析后的第三格式信息获取结果。根据第三格式信息中的推送的类名、方法、参数等信息找到所推送的方法,代入参数后得到结果。
本实施例提供的一种多级服务器间数据通信方法,第二服务器通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接,通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息,将第二格式信息反序列化为第三格式信息,再解析第三格式信息获取结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例5
本实施例提供一种多级服务器间数据通信方法,用于在分布式系统的多级服务器间进行数据通信,在分布式系统中具有多个服务器,每个服务器都具有和上级服务器和下级服务器通信的功能,本实施例中的第一服务器和第二服务器分别是分布式系统中可以通信的两个服务器。
如图6所示,包括如下步骤:
W1:第一服务器通过MINA的连接接口连接第二服务器,连接成功后,第二服务器保存对应的连接。
W2:第一服务器发送接口命令,将命令信息进行封装得到第一格式信息。
W3:第一服务器将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息。
W4:第一服务器通过MINA的发送接口将所述第二格式信息发送至第二服务器。
W5:第二服务器通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息。
W6:第二服务器将第二格式信息反序列化为第三格式信息。
W7:第二服务器解析第三格式信息,根据解析后的第三格式信息获取结果。
所述接口命令为推送命令时,到步骤W7结束。
所述接口命令为调用命令时,还包括步骤:
W8:第二服务器通过MINA的发送接口将所述结果发送至第一服务器,所述结果为返回值。
W9:第一服务器通过MINA的接收接口接收第二服务器发送的结果.
W10:第一服务器将接收到的结果通过结果处理策略获取最终结果。
第一服务器端通过MINA的NioSocketConnector类去主动连接第二服务器,连接成功后,第二服务器端通过IoSessionManager类来管理第一服务器的连接。第一服务器调用第二服务器时,第一服务器需要有第二服务器发布的远程调用接口集合。第一服务器推送第二服务器时,第一服务器需要有第二服务器发布的远程推送接口集合。第一服务器通过SeverClassMapperManager类来管理第二服务器远程调用接口的具体实现,第一服务器通过ClientClassMapperManager类来管理第二服务器远程推送接口的具体实现。支持Spring框架,通过配置文件来移除、新增或者切换具体的实现方法,低耦合易扩展。
第一服务器调用第二服务器时通过VisionaryClientHandlerAdapter类处理,第一服务器推送信息至第二服务器时通过VisionaryServerHandlerAdapter类处理,这两个类都实现了MINA的IoHandlerAdapter类,Socket通信都会通知他们。第一服务器还通过VisionaryProxyFactoryBean来获取第二服务器的代理对象调用远程服务器的方法。远程调用和推送信息的过程如图7所示。
MINA是异步通信,在调用的时候需要进行同步,每次调用的时候都需要等待上次调用的返回结果,即发送一次信息,接收一次信息,再发送一次信息,接收一次信息,依次往复。
本实施例提供一种多级服务器间数据通信方法及服务器,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器,第二服务器接收XML格式信息后进行反序列化,并且进行解析获取结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例6
本实施例提供一种多级服务器间数据通信的第一服务器,如图8所示,包括:
连接模块,用于通过MINA的连接接口连接第二服务器。
第一发送模块,用于发送接口命令,将命令信息进行封装得到第一信息。
第一数据处理模块,用于将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息。
第二发送模块,用于通过MINA的发送接口将所述第二格式信息发送至第二服务器。
第一发送模块中所述接口命令可以为推送命令。
第一发送模块中所述接口命令可以为调用命令,此时还包括:
接收模块,用于通过MINA的接收接口接收第二服务器发送的结果。
第二数据处理模块,用于将接收到的结果通过结果处理策略获取最终结果。
还包括:
心跳请求发送模块,用于定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。
第一发送模块中所述命令信息包括:类名、方法、参数、返回值,所述第一格式信息为JavaBean格式的信息,所述第一格式信息为待发送信息。
第一数据处理模块中将第一格式信息对象序列化为第二格式信息采用Xstream技术。
本实施例提供一种多级服务器间数据通信的第一服务器,第一服务器通过MINA的连接接口连接第二服务器,连接成功后发送接口命令,获取第一格式信息,将第一格式信息对象序列化为XML格式后通过MINA的发送接口发送至第二服务器。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
实施例7
本实施例提供一种多级服务器间数据通信的第二服务器,如图9所示,包括:
连接保存模块,用于通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接。
信息接收模块,用于通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息。
信息处理模块,用于将第二格式信息反序列化为第三格式信息。
信息解析模块,用于解析第三格式信息,根据解析后的第三格式信息获取结果。
信息接收模块中所述接口命令为调用命令,还包括:
信息发送模块,用于通过MINA的发送接口将所述结果发送至第一服务器。
信息处理模块中将第二格式信息反序列化为第三格式信息采用Xstream技术,所述第三格式信息为JavaBean格式的信息。
本实施例提供的一种多级服务器间数据通信的第二服务器,第二服务器通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接,通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息,将第二格式信息反序列化为第三格式信息,再解析第三格式信息获取结果。实现了多级服务器间的远程调用和主动推送功能,基于MINA的应用程序框架简单,性能好,底层通信以XML格式进行通信,为以后跨语言调用或者推送提供了可能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (20)
1.一种多级服务器间数据通信方法,其特征在于,包括如下步骤:
通过MINA的连接接口连接第二服务器;
发送接口命令,将命令信息进行封装得到第一格式信息;
将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
通过MINA的发送接口将所述第二格式信息发送至第二服务器。
2.根据权利要求1所述的多级服务器间数据通信方法,其特征在于,所述接口命令为推送命令。
3.根据权利要求1所述的多级服务器间数据通信方法,其特征在于,所述接口命令为调用命令,且在所述通过MINA的发送接口将所述第二格式信息发送至第二服务器步骤之后还包括步骤:
通过MINA的接收接口接收第二服务器发送的结果;
将接收到的结果通过结果处理策略获取最终结果。
4.根据权利要求1-3任一所述的多级服务器间数据通信方法,其特征在于,还包括步骤:
定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。
5.根据权利要求1-4任一所述的多级服务器间数据通信方法,其特征在于,所述发送接口命令,将命令信息进行封装得到第一格式信息步骤中:
所述命令信息包括:类名、方法、参数、返回值,所述第一格式信息为JavaBean格式的信息,所述第一格式信息为待发送信息。
6.根据权利要求1-5任一所述的多级服务器间数据通信方法,其特征在于,所述将第一格式信息对象序列化为第二格式信息步骤中:
将第一格式信息对象序列化为第二格式信息采用Xstream技术。
7.一种多级服务器间数据通信方法,其特征在于,包括如下步骤:
通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接;
通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息;
将第二格式信息反序列化为第三格式信息;
解析第三格式信息,根据解析后的第三格式信息获取结果。
8.根据权利要求7所述的多级服务器间数据通信方法,其特征在于,所述接口命令为调用命令时,还包括步骤:
通过MINA的发送接口将所述结果发送至第一服务器。
9.根据权利要求7或8所述的多级服务器间数据通信方法,其特征在于,所述将第二格式信息反序列化为第三格式信息步骤中:
将第二格式信息反序列化为第三格式信息采用Xstream技术,所述第三格式信息为JavaBean格式的信息。
10.一种多级服务器间数据通信方法,其特征在于,包括:
第一服务器通过MINA的连接接口连接第二服务器,连接成功后,第二服务器保存对应的连接;
第一服务器发送接口命令,将命令信息进行封装得到第一格式信息;
第一服务器将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
第一服务器通过MINA的发送接口将所述第二格式信息发送至第二服务器;
第二服务器通过MINA的接收接口接收第一服务器发送的接口命令和第二格式信息;
第二服务器将第二格式信息反序列化为第三格式信息;
第二服务器解析第三格式信息,根据解析后的第三格式信息获取结果。
11.根据权利要求10所述的多级服务器间数据通信方法,其特征在于,所述接口命令为调用命令时,还包括步骤:
第二服务器通过MINA的发送接口将所述结果发送至第一服务器,所述结果为返回值;
第一服务器通过MINA的接收接口接收第二服务器发送的结果;
第一服务器将接收到的结果通过结果处理策略获取最终结果。
12.一种多级服务器间数据通信的第一服务器,其特征在于,包括:
连接模块,用于通过MINA的连接接口连接第二服务器;
第一发送模块,用于发送接口命令,将命令信息进行封装得到第一信息;
第一数据处理模块,用于将第一格式信息对象序列化为第二格式信息,所述第二格式信息为XML格式的信息;
第二发送模块,用于通过MINA的发送接口将所述第二格式信息发送至第二服务器。
13.根据权利要求12所述的多级服务器间数据通信的第一服务器,其特征在于,第一发送模块中所述接口命令为推送命令。
14.根据权利要求12所述的多级服务器间数据通信的第一服务器,其特征在于,第一发送模块中所述接口命令为调用命令,还包括:
接收模块,用于通过MINA的接收接口接收第二服务器发送的结果;
第二数据处理模块,用于将接收到的结果通过结果处理策略获取最终结果。
15.根据权利要求12-14任一所述的多级服务器间数据通信的第一服务器,其特征在于,还包括:
心跳请求发送模块,用于定时发送心跳请求到第二服务器,若心跳请求失败,通过MINA的连接接口重新连接第二服务器。
16.根据权利要求12-15任一所述的多级服务器间数据通信的第一服务器,其特征在于,第一发送模块中:
所述命令信息包括:类名、方法、参数、返回值,所述第一格式信息为JavaBean格式的信息,所述第一格式信息为待发送信息。
17.根据权利要求12-16任一所述的多级服务器间数据通信的第一服务器,其特征在于,第一数据处理模块中:
将第一格式信息对象序列化为第二格式信息采用Xstream技术。
18.一种多级服务器间数据通信的第二服务器,其特征在于,包括:
连接保存模块,用于通过MINA的连接接口连接第一服务器,连接成功后保存对应的连接;
信息接收模块,用于通过MINA的接收接口接收第一服务器发送的接口命 令和第二格式信息;
信息处理模块,用于将第二格式信息反序列化为第三格式信息;
信息解析模块,用于解析第三格式信息,根据解析后的第三格式信息获取结果。
19.根据权利要求18所述的多级服务器间数据通信的第二服务器,其特征在于,信息接收模块中所述接口命令为调用命令,还包括:
信息发送模块,用于通过MINA的发送接口将所述结果发送至第一服务器。
20.根据权利要求18或19所述的多级服务器间数据通信的第二服务器,其特征在于,信息处理模块中:
将第二格式信息反序列化为第三格式信息采用Xstream技术,所述第三格式信息为JavaBean格式的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410534908.0A CN104270453B (zh) | 2014-10-11 | 2014-10-11 | 一种多级服务器间数据通信方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410534908.0A CN104270453B (zh) | 2014-10-11 | 2014-10-11 | 一种多级服务器间数据通信方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104270453A true CN104270453A (zh) | 2015-01-07 |
CN104270453B CN104270453B (zh) | 2018-02-13 |
Family
ID=52161942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410534908.0A Active CN104270453B (zh) | 2014-10-11 | 2014-10-11 | 一种多级服务器间数据通信方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104270453B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056508A (zh) * | 2016-07-01 | 2016-10-26 | 江苏四五安全科技有限公司 | 多级在线培训云平台 |
CN108287706A (zh) * | 2017-05-10 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109218112A (zh) * | 2018-11-06 | 2019-01-15 | 英业达科技有限公司 | 服务器、服务器之间的级联系统及方法 |
CN111314659A (zh) * | 2020-02-17 | 2020-06-19 | 视联动力信息技术股份有限公司 | 一种监控码流推送方法、装置、系统、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521615A (zh) * | 2009-03-31 | 2009-09-02 | 深圳创维数字技术股份有限公司 | 一种异种网络之间的通信方法及智能设备的互联网络 |
EP2101453A2 (en) * | 1998-05-07 | 2009-09-16 | Samsung Electronics Co., Ltd. | Method and system for device to device command and control in a network |
CN101699397A (zh) * | 2009-10-09 | 2010-04-28 | 上海宝信软件股份有限公司 | 实现Java与XML数据绑定的方法 |
CN101923465A (zh) * | 2010-06-25 | 2010-12-22 | 深圳创维-Rgb电子有限公司 | 一种面向嵌入式应用的易扩展web服务系统 |
CN102355384A (zh) * | 2011-10-13 | 2012-02-15 | 纳龙(苏州)信息技术有限公司 | 一种用于监控系统的自动化测试的通信规范 |
CN102937992A (zh) * | 2012-11-01 | 2013-02-20 | 上海方正数字出版技术有限公司 | 一种基于Java与XML数据库的对象映射转换设计方法 |
CN103412853A (zh) * | 2013-08-05 | 2013-11-27 | 北京信息科技大学 | 一种针对文档转换器的测试用例自动生成方法 |
-
2014
- 2014-10-11 CN CN201410534908.0A patent/CN104270453B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2101453A2 (en) * | 1998-05-07 | 2009-09-16 | Samsung Electronics Co., Ltd. | Method and system for device to device command and control in a network |
CN101521615A (zh) * | 2009-03-31 | 2009-09-02 | 深圳创维数字技术股份有限公司 | 一种异种网络之间的通信方法及智能设备的互联网络 |
CN101699397A (zh) * | 2009-10-09 | 2010-04-28 | 上海宝信软件股份有限公司 | 实现Java与XML数据绑定的方法 |
CN101923465A (zh) * | 2010-06-25 | 2010-12-22 | 深圳创维-Rgb电子有限公司 | 一种面向嵌入式应用的易扩展web服务系统 |
CN102355384A (zh) * | 2011-10-13 | 2012-02-15 | 纳龙(苏州)信息技术有限公司 | 一种用于监控系统的自动化测试的通信规范 |
CN102937992A (zh) * | 2012-11-01 | 2013-02-20 | 上海方正数字出版技术有限公司 | 一种基于Java与XML数据库的对象映射转换设计方法 |
CN103412853A (zh) * | 2013-08-05 | 2013-11-27 | 北京信息科技大学 | 一种针对文档转换器的测试用例自动生成方法 |
Non-Patent Citations (1)
Title |
---|
曾志强: "异构数据协议集成软件系统设计与开发", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056508A (zh) * | 2016-07-01 | 2016-10-26 | 江苏四五安全科技有限公司 | 多级在线培训云平台 |
CN108287706A (zh) * | 2017-05-10 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109218112A (zh) * | 2018-11-06 | 2019-01-15 | 英业达科技有限公司 | 服务器、服务器之间的级联系统及方法 |
CN111314659A (zh) * | 2020-02-17 | 2020-06-19 | 视联动力信息技术股份有限公司 | 一种监控码流推送方法、装置、系统、电子设备及介质 |
CN111314659B (zh) * | 2020-02-17 | 2022-11-15 | 视联动力信息技术股份有限公司 | 一种监控码流推送方法、装置、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104270453B (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102185901B (zh) | 一种客户端报文转换方法 | |
CN110995797B (zh) | 多层b/s与c/s混合式软件系统、各层之间异步实时通信方法 | |
CN112583931B (zh) | 消息处理方法、消息中间件、电子设备和存储介质 | |
CN109324912B (zh) | 面向软件通信体系结构的应用管理类软件的通信方法 | |
CN101447891B (zh) | 业务模型自适应系统及方法 | |
CN104270453A (zh) | 一种多级服务器间数据通信方法及服务器 | |
CN102420697A (zh) | 一种可配置服务的综合资源监测管理系统及其方法 | |
CN102810069A (zh) | 一种java对象的请求和响应方法、装置、系统和终端 | |
CN102148817A (zh) | 配置网络设备的方法、客户端、服务器端及网络系统 | |
CN105183452A (zh) | 一种用于配电设备监测基于Spring AOP的远程规约服务中间件 | |
CN101262498A (zh) | 一种分布式调用消息的方法和装置 | |
CN111552568B (zh) | 云服务调用方法和装置 | |
Siddiqui et al. | Elastic jade: Dynamically scalable multi agents using cloud resources | |
EP0926590A1 (en) | Component-based control structure for wireless communication | |
KR100833494B1 (ko) | 임베디드 단말의 OSGi 미들웨어 환경에서 이원화된애플리케이션 관리를 통한 애플리케이션 경량화를 위한장치 및 그 방법 | |
CN110727736A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
US8806512B2 (en) | Collocation in a Java virtual machine of JSLEE, SIP servlets, and Java EE | |
CN113360386A (zh) | 交换芯片驱动测试方法、装置、电子设备和存储介质 | |
Pachghare | Microservices architecture for cloud computing | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
CN112395104B (zh) | 一种分布式事务上下文在路由层传递的实现方法与装置 | |
CN112559472B (zh) | 一种文件传输方法、装置、计算机设备及存储介质 | |
CN114327959A (zh) | 从Socket协议到Dubbo协议的转换方法及装置 | |
CN110784368A (zh) | 一种基于Memcached的数据采集方法及系统 | |
CN105187244A (zh) | 一种支持多种管理模式的数字通信设备访问管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |