CN104683731B - 一种用于异构平台间通信的方法及系统 - Google Patents

一种用于异构平台间通信的方法及系统 Download PDF

Info

Publication number
CN104683731B
CN104683731B CN201510125000.9A CN201510125000A CN104683731B CN 104683731 B CN104683731 B CN 104683731B CN 201510125000 A CN201510125000 A CN 201510125000A CN 104683731 B CN104683731 B CN 104683731B
Authority
CN
China
Prior art keywords
operation information
response message
node
server
intermediate 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.)
Active
Application number
CN201510125000.9A
Other languages
English (en)
Other versions
CN104683731A (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.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda Technology Co Ltd
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 Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Technology Co Ltd
Priority to CN201510125000.9A priority Critical patent/CN104683731B/zh
Publication of CN104683731A publication Critical patent/CN104683731A/zh
Application granted granted Critical
Publication of CN104683731B publication Critical patent/CN104683731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种用于异构平台间通信的方法及系统,其中所述方法包括以下步骤:从客户端接收操作消息;创建用于保存所述操作消息的操作节点;向会议服务器发送所述操作节点所保存的操作消息;从所述会议服务器接收反馈的应答消息;更新用于保存所述应答消息的会议节点;向所述客户端发送更新的会议节点所保存的应答消息。由此解决了现有技术的用于异构平台间通信的方法准确性差的技术问题。

Description

一种用于异构平台间通信的方法及系统
技术领域
本发明涉及视频会议技术领域,具体涉及一种实现用于异构平台间通信的方法及系统。
背景技术
目前现有的视频会议平台多是基于C/S架构,随着Web技术发展,越来越多的软件产品以Web方式为用户提供服务。在该方式下,用户通过浏览器直接登录系统,主要事务逻辑在服务器端实现,极少部分事务逻辑在前端实现。相对于传统的C/S架构的会场管理而言,基于Web方式的会场管理直接在浏览器中运行,用户只需要有浏览器即可,不需要安装其他软件。而且基于Web技术的界面呈现更美观,操作也更容易。
为实现客户端与会议服务器对接,需要解决基于java程序的客户端与基于C/C++程序的会议服务器这两个异构平台之间的通信问题。这种通信要求能够支持对于集群服务器的管理。对于这两种异构平台之间的通信,最常用的方案是采用Socket(套接字)通信,因为Socket通信的原理比较简单,而且对于Socket的操作已经形成一组网络应用程序的编程接口。对于程序员来说,这些接口就是全部,只需要将交互的数据格式定义好,让Socket去组织数据,以符合指定的协议。但是该方案存在如下缺点:
由于Socket通信是基于C/S架构的,客户端和会议服务器端的通信是一一对应的,当集群环境下的客户端宕机时,就不能保证发送方发出的消息顺序和接收方收到的消息顺序完全一致。另外,在Socket环境下,客户端可以以各种理由断开链接,而会议服务器根本不会知道,连一个流水作业的业务逻辑都无法保证正常执行,这样就需要设计各种辅助的协议、架构去监督,开发成本高,效率低下。
总之,现有的异构平台间的通信,实时性差、易丢消息,并且不能保证发送方发出的消息顺序和接收方收到的消息顺序完全一致,开发成本高,效率低下。
发明内容
为此,本发明要解决的技术问题在于现有技术的视频会议异构平台间的通信准确性差,从而提出一种准确性好的用于异构平台间通信的方法及系统来解决该问题。
为解决上述技术问题,本发明采用以下技术方案:
一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,包括以下步骤:从客户端接收操作消息;创建用于保存所述操作消息的操作节点;向会议服务器发送所述操作节点所保存的操作消息;从所述会议服务器接收反馈的应答消息;更新用于保存所述应答消息的会议节点;向所述客户端发送更新的会议节点所保存的应答消息。
优选地,在所述向会议服务器发送所述操作节点所保存的操作消息的步骤之后,还包括:将所述操作节点删除。
本发明还提供一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,包括以下步骤:向中间服务器发送操作消息;监听所述中间服务器是否更新会议节点;当所述中间服务器更新会议节点时,从所述中间服务器接收更新的会议节点所保存的应答消息。
优选地,所述向中间服务器发送操作消息的步骤包括:接收操作请求;将所述操作请求封装成JSON格式的操作消息;向中间服务器发送所述操作消息。
优选地,在所述从中间服务器接收更新的会议节点所保存的应答消息的步骤之后,还包括:将接收的所述应答消息封装成可扩展消息与出席协议消息;向有权限的用户推送所述可扩展消息与出席协议消息。
本发明还提供一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,包括以下步骤:监听中间服务器是否创建操作节点;当所述中间服务器创建操作节点时,从所述中间服务器接收所述操作节点所保存的操作消息;根据所述操作消息生成应答消息;向所述中间服务器发送所述应答消息。
本发明还提供一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,包括以下步骤:客户端向中间服务器发送操作消息;所述中间服务器创建用于保存所述操作消息的操作节点;所述会议服务器从所述中间服务器接收所述操作节点所保存的操作消息;所述会议服务器向所述中间服务器发送根据所述操作消息生成应答消息;所述中间服务器更新用于保存所述应答消息的会议节点;所述客户端从所述中间服务器接收更新的会议节点所保存的应答消息。
本发明还提供一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,该装置包括:操作消息接收模块,用于从客户端接收操作消息;操作节点创建模块,用于创建用于保存所述操作消息的操作节点;操作消息发送模块,用于向会议服务器发送所述操作节点所保存的操作消息;应答消息接收模块,用于从所述会议服务器接收反馈的应答消息;会议节点更新模块,用于更新用于保存所述应答消息的会议节点;应答消息发送模块,用于向所述客户端发送更新的会议节点所保存的应答消息。
优选地,该装置还包括:操作节点删除模块,用于将所述操作节点删除。
本发明还提供一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,该装置包括:操作消息发送模块,用于向中间服务器发送操作消息;会议节点监听模块,用于监听所述中间服务器是否更新会议节点;应答消息接收模块,用于当中间服务器更新会议节点时,从中间服务器接收更新的会议节点所保存的应答消息。
优选地,所述操作消息发送模块包括:操作请求接收单元,用于接收用户操作请求;操作消息封装单元,用于将所述操作请求封装成JSON格式的操作消息;操作消息发送单元,用于向中间服务器发送所述操作消息。
优选地,该装置还包括:封装模块,用于将接收的所述应答消息封装成可扩展消息与出席协议消息;推送模块,用于向有权限的用户推送所述可扩展消息与出席协议消息。
本发明还提供一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,该装置包括:操作节点监听模块,用于监听中间服务器是否创建操作节点;操作消息接收模块,用于当中间服务器创建操作节点时,从中间服务器接收所述操作节点所保存的操作消息;应答消息生成模块,用于根据所述操作消息生成应答消息;应答消息发送模块,用于向中间服务器发送所述应答消息。
本发明还提供一种用于异构平台间通信的系统,所述异构平台包括客户端和会议服务器,所述用于异构平台间通信的系统包括中间服务器、所述客户端和所述会议服务器,其中:所述客户端用于向所述中间服务器发送操作消息;所述中间服务器用于创建用于保存所述操作消息的操作节点;所述会议服务器用于从所述中间服务器接收所述操作节点所保存的操作消息;所述会议服务器还用于向所述中间服务器发送根据所述操作消息生成应答消息;所述中间服务器还用于更新用于保存所述应答消息的会议节点;所述客户端还用于从所述中间服务器接收更新的会议节点所保存的应答消息。
本发明的用于异构平台间通信的方法及系统的有益效果为:
本发明的一种用于异构平台间通信的方法及系统,通过操作节点保存从客户端接收的操作消息,并向会议服务器发送所述操作消息,能够保证客户端发出的操作消息与会议服务器接收到的操作消息保持顺序一致,从而降低操作消息丢失率;通过会议节点保存从会议服务器接收反馈的应答消息,并向客户端发送所述应答消息,能够保证会议服务器发出的应答消息与客户端接收到的应答消息保持顺序一致,从而进一步降低应答消息丢失率。总体上,本实施例的用于异构平台间通信的方法使得消息丢失率降低8%,显著提高通信准确性。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明的一种用于异构平台间通信的情景的示意图;
图2是本发明实施例1的一种用于异构平台间通信的方法的流程示意图;
图3是本发明实施例2的一种用于异构平台间通信的方法的流程示意图;
图4是本发明实施例3的一种用于异构平台间通信的方法的流程示意图;
图5是本发明实施例4的一种用于异构平台间通信的方法的流程示意图;
图6是本发明实施例5的一种用于异构平台间通信的装置的结构示意图;
图7是本发明实施例6的一种用于异构平台间通信的装置的结构示意图;
图8是本发明实施例7的一种用于异构平台间通信的装置的结构示意图。
具体实施方式
图1示出了本发明的一种用于异构平台间通信的情景,在本技术领域,所谓异构平台指的是分别基于不同的编程语言构建的不同平台。在本发明中,所述异构平台包括客户端和会议服务器13,例如,所述客户端为基于java程序构建的平台,会议服务器13为基于C/C++程序构建的平台。其中所述客户端可以为多个,例如包括客户端11a、客户端11b、客户端11n等。由于所述客户端和会议服务器13分别是基于不同的编程语言构建的平台,为了更好地实现这两者间的信息交互,在本发明中引入了中间服务器12。例如,客户端11a将视频会议管理操作消息发送到中间服务器12进行保存,会议服务器13监听到中间服务器12保存所述操作消息后,从中间服务器12获得所述操作消息,然后根据所述操作消息生成应答消息并发送到中间服务器12进行保存,客户端11a监听到中间服务器12保存所述应答消息后,从中间服务器12获得所述应答消息,最后用户通过客户端11a获知所述应答消息,从而实现了客户端和会议服务器这两个异构平台间的通信。图1中实线箭头为操作消息流向,虚线箭头为应答消息流向。在下文中,将通过若干实施例详细描述根据本发明实施例的异构平台间通信的方法和系统。
实施例1
图2示出了本发明实施例1的一种用于异构平台间通信的方法,具体地,该方法应用于图1中的中间服务器,该中间服务器分别与客户端和会议服务器连接,该方法包括以下步骤:
S21、从客户端接收操作消息。所述操作消息可以是根据用户操作请求生成的各种封装形式的消息,包含需要处理的会议终端的信息,所述会议终端通常由会议服务器所管理。优选地,所述操作消息是根据用户操作请求封装成的JSON格式消息,这样可以使得异构服务器(例如基于java程序的服务器与基于C/C++程序的服务器)都能对所述操作消息进行解析处理,且JSON格式消息占用的存储空间较小,从而降低开发成本。
S22、创建用于保存所述操作消息的操作节点。可以预先在会议服务器上对所述操作节点设置监听,当所述操作节点发生变化时,触发会议服务器上的监听程序。这样,所述操作节点一旦创建,会议服务器就可以及时获知。
S23、向会议服务器发送所述操作节点所保存的操作消息。可以在会议服务器监听到所述操作节点被创建,并主动请求获取所述操作节点的保存内容时,再向会议服务器发送所述操作节点所保存的操作消息。
S24、从所述会议服务器接收反馈的应答消息。所述反馈的应答消息,可以是会议服务器在接收到所述操作消息后,根据所述操作消息进行相关业务处理后生成的。具体地,由于所述操作消息包含需要处理的会议终端的信息,会议服务器所管理的相关终端会根据所述操作消息的指示进行视频会议信息的改变,据此,会议服务器会封装一个所述相关终端的状态发生改变的消息,即所述应答消息。
S25、更新用于保存所述应答消息的会议节点。所述会议节点的数量可以为多个,且与会议服务器所管理的会议一一对应。会议服务器所管理的每个会议可以包括两个以上的会议终端,当会议终端根据所述操作消息的指示进行视频会议信息的改变时,就会及时在对应的会议节点上更新所述应答消息。如果当前会议对应的会议节点不存在,则创建会议节点。
S26、向所述客户端发送更新的会议节点所保存的应答消息。可以预先在客户端上对所述会议节点设置监听,当所述会议节点发生变化时,触发客户端上的监听程序。这样,当所述会议节点发生变化时,客户端就可以及时获知。可以在客户端主动请求获取更新的会议节点所保存的应答消息时,再向所述客户端发送更新的会议节点所保存的应答消息。
通过操作节点保存从客户端接收的操作消息,并向会议服务器发送所述操作消息,能够保证客户端发出的操作消息与会议服务器接收到的操作消息保持顺序一致,从而降低操作消息丢失率;通过会议节点保存从会议服务器接收反馈的应答消息,并向客户端发送所述应答消息,能够保证会议服务器发出的应答消息与客户端接收到的应答消息保持顺序一致,从而进一步降低应答消息丢失率。总体上,本实施例的用于异构平台间通信的方法使得消息丢失率降低8%,显著提高通信准确性。
如图2所示,作为优选的实施方式,在步骤S23之后,还可以包括以下步骤:
S27、将所述操作节点删除。具体地,步骤S27可以设置在步骤S23之后,也可以设置在步骤S23之后的任何一个步骤之后。
将操作节点删除后,再次从客户端接收操作消息时,直接创建操作节点以保存所述操作消息,然后可以向会议服务器发送所述操作节点所保存的操作消息,这样不仅能够提高开发效率,并且节省存储空间,降低成本。虽然图2中步骤S27位于步骤S23与步骤S24之间,但是图2只是作为示例,事实上步骤S27可以在步骤S23之后的任何位置执行。
实施例2
图3示出了本发明实施例2的一种用于异构平台间通信的方法,具体地,该方法应用于图1中的客户端,该客户端与中间服务器连接,该方法包括以下步骤:
S31、向中间服务器发送操作消息。该步骤与实施例1中的步骤S21对应。
S32、监听所述中间服务器是否更新会议节点。当中间服务器更新会议节点时,执行步骤S33。可以通过设计监听程序,用于监听所述中间服务器是否更新会议节点,当中间服务器更新会议节点时,执行步骤S33。
S33、从所述中间服务器接收更新的会议节点所保存的应答消息。该步骤与实施例1中的步骤S26对应。
通过监听所述中间服务器是否更新会议节点,当中间服务器更新会议节点时,从中间服务器接收更新的会议节点所保存的应答消息,这样不仅能够使得接收的应答消息得到及时处理,显著提高通信实时性,而且能够保证会议服务器发出的应答消息与收到的应答消息保持顺序一致,使得消息丢失率降低8%,显著提高通信准确性。
如图3所示,作为优选的实施方式,步骤S33之后还可以包括以下步骤:
S34、将接收的所述应答消息封装成可扩展消息与出席协议消息。其中,可扩展消息与出席协议消息即为XMPP(Extens ible Messageing and Presence Protocol)消息。所述XMPP消息也可以由cometd消息进行替代。
S35、向有权限的用户推送所述可扩展消息与出席协议消息。可以通过在线查找方式获得有权限的用户,然后将所述可扩展消息与出席协议消息通过即时通讯服务器推送给所述有权限的用户。所述即时通讯服务器可以是ejabberd服务器,它是基于Jabber/XMPP协议的即时通讯服务器。用户可以对所述扩展消息与出席协议消息进行解析以获得所述应答消息。
通过将接收的所述应答消息封装成可扩展消息与出席协议消息,再向有权限的用户进行推送,这样可以使用户快速地接收到所述应答消息,提高通信实时性。
进一步地,步骤S31可以包括以下步骤:
3A、接收操作请求。所述操作请求可以是用户登录客户端后,通过点击操作命令而发出的http请求。
3B、将所述操作请求封装成JSON格式的操作消息。
3C、向中间服务器发送所述操作消息。
将接收自用户的操作请求封装成JSON格式的操作消息,由于只有一个节点数据,因而,中间服务器接收所述操作消息后保存方便,提高开发效率。
实施例3
图4示出了本发明实施例3的一种用于异构平台间通信的方法,具体地,该方法应用于图1中的会议服务器,该会议服务器与中间服务器连接,该方法包括以下步骤:
S41、监听中间服务器是否创建操作节点,当中间服务器创建操作节点时,执行步骤S42。可以通过设计监听程序,用于监听所述中间服务器是否创建操作节点,当中间服务器创建操作节点时,执行步骤S42。
S42、从所述中间服务器接收所述操作节点所保存的操作消息。该步骤与实施例1中的步骤S23对应。
S43、根据所述操作消息生成应答消息。所述应答消息是根据所述操作消息进行相关业务处理后生成的。具体地,由于所述操作消息包含需要处理的会议终端的信息,会议服务器所管理的相关终端会根据所述操作消息的指示进行视频会议信息的改变,据此,会议服务器会封装一个所述相关终端的状态发生改变的消息,即所述应答消息。
S44、向所述中间服务器发送所述应答消息。该步骤与实施例1中的步骤S24对应。
通过监听中间服务器是否创建操作节点,当中间服务器创建操作节点时,从中间服务器接收所述操作节点所保存的操作消息,这样不仅能够保证所述操作消息得到及时处理,显著提高通信实时性,而且能保证发出的应答消息和接收的操作消息顺序保持一致,使得消息丢失率降低8%,显著提高准确性。由于应答消息直接向中间服务器发送,不需要编写存储和维护应答消息的代码,因此还可以提高开发效率。
实施例4
为了更清楚地阐述根据本发明的用于异构平台间通信的方法,图5示出了本发明实施例4的一种用于异构平台间通信的方法,具体地,该方法应用于图1中的包括客户端11a、中间服务器12和会议服务器13的用于异构平台间通信的系统,该方法包括以下步骤:
S51、客户端11a向中间服务器12发送操作消息。
S52、中间服务器12创建用于保存所述操作消息的操作节点。
S53、会议服务器13从中间服务器12接收所述操作节点所保存的操作消息。
S54、会议服务器13向中间服务器12发送根据所述操作消息生成的应答消息;
S55、中间服务器12更新用于保存所述应答消息的会议节点。
S56、客户端11a从中间服务器12接收更新的会议节点所保存的应答消息。
中间服务器12通过操作节点保存从客户端11a接收的操作消息,并向会议服务器13发送所述操作消息,通过会议节点保存从会议服务器13接收反馈的应答消息,并向客户端11a发送所述应答消息,这样不仅能够保证发送方(客户端11a/会议服务器13)发出的消息顺序与接收方(会议服务器13/客户端11a)接收到的消息顺序保持一致,进而使得消息丢失率降低8%,显著提高通信准确性和实时性。由于应答消息被保存在会议节点中,这样就不需要会议服务器13编写存储和维护应答消息的代码,进而还可以提高开发效率。
作为优选的实施方式,其中,客户端11a可以包括前端浏览器和后台服务器。用户通过前端浏览器登录视频会议管理界面,发送视频会议管理操作请求给所述后台服务器,所述后台服务器根据所述操作请求生成操作消息并发送给中间服务器12。其后,所述后台服务器监听中间服务器12是否保存对应所述操作消息的应答消息,并从中间服务器12获得所述应答消息,然后将所述应答消息推送到所述前端浏览器的视频会议管理界面。所述后台服务器和会议服务器13可以为异构服务器,例如,所述后台服务器为基于java程序的服务器,会议服务器13是基于C/C++程序的服务器。具体地,所述后台服务器用于接收用户操作请求和更新的会议节点的内容,并将所述会议节点的内容封装成XMPP消息发出。所述后台服务器的数量至少为一台,选举其中一台来监控中间服务器12是否更新会议节点的内容。这样可以保证集群环境下后台服务器作为消息接收方处理消息的顺序与会议服务器13发送消息的顺序保持一致,进一步提高通信准确性。
进一步地,当选举的后台服务器宕机时,选举另一台进行替换。这样使得后台服务器能够支持集群热备。
实施例5
图6示出了本发明实施例5的一种用于异构平台间通信的装置,具体地,该装置应用于图1中的中间服务器,该中间服务器分别与客户端和会议服务器连接。该装置包括操作消息接收模块61、操作节点创建模块62、操作消息发送模块63、应答消息接收模块64、会议节点更新模块65和应答消息发送模块66。其中:
与实施例1相对应地,操作消息接收模块61用于从客户端接收操作消息。操作节点创建模块62用于创建用于保存所述操作消息的操作节点。操作消息发送模块63用于向会议服务器发送所述操作节点所保存的操作消息。应答消息接收模块64用于从所述会议服务器接收反馈的应答消息。会议节点更新模块65用于更新用于保存所述应答消息的会议节点。应答消息发送模块66用于向所述客户端发送更新的会议节点所保存的应答消息。
通过操作节点保存从客户端接收的操作消息,并向会议服务器发送所述操作消息,能够保证客户端发出的操作消息与会议服务器接收到的操作消息保持顺序一致,从而降低操作消息丢失率;通过会议节点保存从会议服务器接收反馈的应答消息,并向客户端发送所述应答消息,能够保证会议服务器发出的应答消息与客户端接收到的应答消息保持顺序一致,从而进一步降低应答消息丢失率。总体上,本实施例的用于异构平台间通信的装置使得消息丢失率降低8%,显著提高通信准确性。
如图6所示,作为优选的实施方式,该装置还包括操作节点删除模块67,用于将所述操作节点删除。
将操作节点删除后,再次从客户端接收操作消息时,直接创建操作节点以保存所述操作消息,然后可以向会议服务器发送所述操作节点所保存的操作消息,这样不仅能够提高开发效率,并且节省存储空间,降低成本。
实施例6
图7示出了本发明实施例6的一种用于异构平台间通信的装置,具体地,该装置应用于图1中的客户端,该客户端与中间服务器连接。该装置包括操作消息发送模块71、会议节点监听模块72和应答消息接收模块73。其中:
与实施例2相对应地,操作消息发送模块71用于向中间服务器发送操作消息。会议节点监听模块72用于监听所述中间服务器是否更新会议节点。应答消息接收模块73用于当中间服务器更新会议节点时,从中间服务器接收更新的会议节点所保存的应答消息。
通过监听所述中间服务器是否更新会议节点,当中间服务器更新会议节点时,从中间服务器接收更新的会议节点所保存的应答消息,这样不仅能够使得接收的应答消息得到及时处理,显著提高通信实时性,而且能够保证会议服务器发出的应答消息与收到的应答消息保持顺序一致,使得消息丢失率降低8%,显著提高通信准确性。
如图7所示,作为优选的实施方式,该装置还包括封装模块74和推送模块75,其中:
封装模块74用于将接收的所述应答消息封装成可扩展消息与出席协议消息。推送模块75用于向有权限的用户推送所述可扩展消息与出席协议消息。
通过将接收的所述应答消息封装成可扩展消息与出席协议消息,再向有权限的用户进行推送,这样可以使用户快速地接收到所述应答消息,提高通信实时性。
进一步地,操作消息发送模块71包括操作请求接收单元、操作消息封装单元和操作消息发送单元。其中:
所述操作请求接收单元用于接收用户操作请求。所述操作消息封装单元用于将所述操作请求封装成JSON格式的操作消息。所述操作消息发送单元用于向中间服务器发送所述操作消息。
将接收自用户的操作请求封装成JSON格式的操作消息,由于只有一个节点数据,因而,中间服务器接收所述操作消息后保存方便,提高开发效率。
实施例7
图8示出了本发明实施例7的一种用于异构平台间通信的装置,具体地,该装置应用于图1中的会议服务器,该会议服务器与中间服务器连接。该装置包括操作节点监听模块81、操作消息接收模块82、应答消息生成模块83和应答消息发送模块84。其中:
与实施例3相对应地,操作节点监听模块81用于监听中间服务器是否创建操作节点。操作消息接收模块82用于当中间服务器创建操作节点时,从中间服务器接收所述操作节点所保存的操作消息。应答消息生成模块83用于根据所述操作消息生成应答消息。应答消息发送模块84用于向中间服务器发送所述应答消息。
通过监听中间服务器是否创建操作节点,当中间服务器创建操作节点时,从中间服务器接收所述操作节点所保存的操作消息,这样不仅能够保证所述操作消息得到及时处理,显著提高通信实时性,而且能保证发出的应答消息和接收的操作消息顺序保持一致,使得消息丢失率降低8%,显著提高准确性。由于应答消息直接向中间服务器发送,不需要编写存储和维护应答消息的代码,因此还可以提高开发效率。
实施例8
本发明实施例的一种用于异构平台间通信的系统,具体地,是应用于图1中的包括客户端、中间服务器和会议服务器的用于异构平台间通信的系统。其中:
与实施例4相对应地,所述客户端用于向所述中间服务器发送操作消息。所述中间服务器用于创建用于保存所述操作消息的操作节点。所述会议服务器用于从所述中间服务器接收所述操作节点所保存的操作消息。所述会议服务器还用于向所述中间服务器发送根据所述操作消息生成应答消息。所述中间服务器还用于更新用于保存所述应答消息的会议节点。所述客户端还用于从所述中间服务器接收更新的会议节点所保存的应答消息。
所述中间服务器通过操作节点保存从所述客户端接收的操作消息,并向所述会议服务器发送所述操作消息,通过会议节点保存从所述会议服务器接收反馈的应答消息,并向所述客户端发送所述应答消息,这样不仅能够保证发送方(客户端/会议服务器)发出的消息顺序与接收方(会议服务器/客户端)接收到的消息顺序保持一致,进而使得消息丢失率降低8%,显著提高通信准确性和实时性。由于应答消息被保存在会议节点中,这样就不需要会议服务器编写存储和维护应答消息的代码,进而还可以提高开发效率。
作为优选的实施方式,其中,所述客户端可以包括前端浏览器和后台服务器。用户通过前端浏览器登录视频会议管理界面,发送视频会议管理操作请求给所述后台服务器,所述后台服务器根据所述操作请求生成操作消息并发送给所述中间服务器。其后,所述后台服务器监听所述中间服务器是否保存对应所述操作消息的应答消息,并从所述中间服务器获得所述应答消息,然后将所述应答消息推送到所述前端浏览器的视频会议管理界面。所述后台服务器和所述会议服务器可以为异构服务器,例如,所述后台服务器为基于java程序的服务器,所述会议服务器是基于C/C++程序的服务器。具体地,所述后台服务器用于接收用户操作请求和更新的会议节点的内容,并将所述会议节点的内容封装成XMPP消息发出。所述后台服务器的数量至少为一台,选举其中一台来监控中间服务器是否更新会议节点的内容。这样可以保证集群环境下后台服务器作为消息接收方处理消息的顺序与会议服务器发送消息的顺序保持一致,进一步提高通信准确性。
进一步地,当选举的后台服务器宕机时,选举另一台进行替换。这样使得后台服务器能够支持集群热备。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (12)

1.一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,其特征在于,包括以下步骤:
从所述客户端接收操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
创建用于保存所述操作消息的操作节点;
向所述会议服务器发送所述操作节点所保存的操作消息;
从所述会议服务器接收反馈的应答消息;
更新用于保存所述应答消息的会议节点;
向所述客户端发送更新的会议节点所保存的应答消息。
2.根据权利要求1所述的用于异构平台间通信的方法,其特征在于,在所述向会议服务器发送所述操作节点所保存的操作消息的步骤之后,还包括:
将所述操作节点删除。
3.一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,其特征在于,包括以下步骤:
向中间服务器发送操作消息;
监听所述中间服务器是否更新会议节点;
当所述中间服务器更新会议节点时,从所述中间服务器接收更新的会议节点所保存的应答消息;
其中,所述向中间服务器发送操作消息的步骤包括:
接收操作请求;
将所述操作请求封装成JSON格式的操作消息;
向中间服务器发送所述操作消息。
4.根据权利要求3所述的用于异构平台间通信的方法,其特征在于,在所述从中间服务器接收更新的会议节点所保存的应答消息的步骤之后,还包括:
将接收的所述应答消息封装成可扩展消息与出席协议消息;
向有权限的用户推送所述可扩展消息与出席协议消息。
5.一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,其特征在于,包括以下步骤:
监听中间服务器是否创建操作节点;
当所述中间服务器创建操作节点时,从所述中间服务器接收所述操作节点所保存的操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
根据所述操作消息生成应答消息;
向所述中间服务器发送所述应答消息。
6.一种用于异构平台间通信的方法,所述异构平台包括客户端和会议服务器,其特征在于,包括以下步骤:
客户端向中间服务器发送操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
所述中间服务器创建用于保存所述操作消息的操作节点;
所述会议服务器从所述中间服务器接收所述操作节点所保存的操作消息;
所述会议服务器向所述中间服务器发送根据所述操作消息生成应答消息;
所述中间服务器更新用于保存所述应答消息的会议节点;
所述客户端从所述中间服务器接收更新的会议节点所保存的应答消息。
7.一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,其特征在于,该装置包括:
操作消息接收模块,用于从客户端接收操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
操作节点创建模块,用于创建用于保存所述操作消息的操作节点;
操作消息发送模块,用于向会议服务器发送所述操作节点所保存的操作消息;
应答消息接收模块,用于从所述会议服务器接收反馈的应答消息;
会议节点更新模块,用于更新用于保存所述应答消息的会议节点;
应答消息发送模块,用于向所述客户端发送更新的会议节点所保存的应答消息。
8.根据权利要求7所述的用于异构平台间通信的装置,其特征在于,该装置还包括:
操作节点删除模块,用于将所述操作节点删除。
9.一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,其特征在于,该装置包括:
操作消息发送模块,用于向中间服务器发送操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
会议节点监听模块,用于监听所述中间服务器是否更新会议节点;
应答消息接收模块,用于当中间服务器更新会议节点时,从中间服务器接收更新的会议节点所保存的应答消息;
其中,所述操作消息发送模块包括:
操作请求接收单元,用于接收用户操作请求;
操作消息封装单元,用于将所述操作请求封装成JSON格式的操作消息;
操作消息发送单元,用于向中间服务器发送所述操作消息。
10.根据权利要求9所述的用于异构平台间通信的装置,其特征在于,该装置还包括:
封装模块,用于将接收的所述应答消息封装成可扩展消息与出席协议消息;
推送模块,用于向有权限的用户推送所述可扩展消息与出席协议消息。
11.一种用于异构平台间通信的装置,所述异构平台包括客户端和会议服务器,其特征在于,该装置包括:
操作节点监听模块,用于监听中间服务器是否创建操作节点;
操作消息接收模块,用于当中间服务器创建操作节点时,从中间服务器接收所述操作节点所保存的操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
应答消息生成模块,用于根据所述操作消息生成应答消息;
应答消息发送模块,用于向中间服务器发送所述应答消息。
12.一种用于异构平台间通信的系统,所述异构平台包括客户端和会议服务器,其特征在于,所述用于异构平台间通信的系统包括中间服务器、所述客户端和所述会议服务器,其中:
所述客户端用于向所述中间服务器发送操作消息,所述操作消息为根据用户操作请求封装成的JSON格式消息;
所述中间服务器用于创建用于保存所述操作消息的操作节点;
所述会议服务器用于从所述中间服务器接收所述操作节点所保存的操作消息;
所述会议服务器还用于向所述中间服务器发送根据所述操作消息生成应答消息;
所述中间服务器还用于更新用于保存所述应答消息的会议节点;
所述客户端还用于从所述中间服务器接收更新的会议节点所保存的应答消息。
CN201510125000.9A 2015-03-20 2015-03-20 一种用于异构平台间通信的方法及系统 Active CN104683731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510125000.9A CN104683731B (zh) 2015-03-20 2015-03-20 一种用于异构平台间通信的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510125000.9A CN104683731B (zh) 2015-03-20 2015-03-20 一种用于异构平台间通信的方法及系统

Publications (2)

Publication Number Publication Date
CN104683731A CN104683731A (zh) 2015-06-03
CN104683731B true CN104683731B (zh) 2019-02-19

Family

ID=53318226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510125000.9A Active CN104683731B (zh) 2015-03-20 2015-03-20 一种用于异构平台间通信的方法及系统

Country Status (1)

Country Link
CN (1) CN104683731B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515947B (zh) * 2015-12-03 2018-08-21 河北远东通信系统工程有限公司 一种基于xmpp的异构终端消息互通的方法、服务器及系统
CN108599971A (zh) * 2017-12-22 2018-09-28 金蝶软件(中国)有限公司 配置信息处理方法、系统、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315609A (zh) * 2007-05-31 2008-12-03 华为技术有限公司 实现单进程中组件间进行通信的装置和方法
CN102710538A (zh) * 2006-02-24 2012-10-03 塞科斯股份公司 用于通知用户关于电子消息到达的消息服务器和方法
CN103370917A (zh) * 2012-11-20 2013-10-23 华为技术有限公司 消息处理方法及服务器
CN103516762A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 一种虚拟桌面的生成方法、设备及系统
CN103533023A (zh) * 2013-07-25 2014-01-22 上海和辰信息技术有限公司 基于云服务特征的云服务应用集群同步系统及同步方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085736B2 (en) * 2001-02-27 2006-08-01 Alexa Internet Rules-based identification of items represented on web pages
JP4690767B2 (ja) * 2005-05-11 2011-06-01 株式会社日立製作所 ネットワークシステム、サーバ装置および通信方法
JP4151978B2 (ja) * 2005-05-25 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ装置、管理方法およびプログラム
CN1859403B (zh) * 2006-02-09 2010-05-12 华为技术有限公司 在客户端/服务器模式业务系统中进行能力协商的方法
CN101227428B (zh) * 2008-01-30 2011-12-07 中兴通讯股份有限公司 一种应用服务器及其远程控制方法
CN101291348B (zh) * 2008-06-12 2011-11-30 巴别塔(北京)科技有限公司 一种无线隧道唤醒通知方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710538A (zh) * 2006-02-24 2012-10-03 塞科斯股份公司 用于通知用户关于电子消息到达的消息服务器和方法
CN101315609A (zh) * 2007-05-31 2008-12-03 华为技术有限公司 实现单进程中组件间进行通信的装置和方法
CN103516762A (zh) * 2012-06-29 2014-01-15 华为技术有限公司 一种虚拟桌面的生成方法、设备及系统
CN103370917A (zh) * 2012-11-20 2013-10-23 华为技术有限公司 消息处理方法及服务器
CN103533023A (zh) * 2013-07-25 2014-01-22 上海和辰信息技术有限公司 基于云服务特征的云服务应用集群同步系统及同步方法

Also Published As

Publication number Publication date
CN104683731A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN106453288A (zh) 一种支持异步模式的分布式微服务框架系统及其实现方法
WO2016004733A1 (zh) 基于远程调阅和信息交互的主配网图/模/数集成系统及方法
CN103516762B (zh) 一种虚拟桌面的生成方法、设备及系统
CN104010039A (zh) 一种基于WebSocket的多雷达远程监控系统及方法
CN106131138B (zh) 一种基于非阻塞队列的展示数据实时推送系统和方法
CN102497427B (zh) 实现可再生能源监测系统数据采集服务的方法和装置
CN105812406B (zh) 基于web仿真终端系统的信息传输方法及装置
CN102571417A (zh) 动态拓扑的实现方法
CN110995859A (zh) 一种基于泛在物联网的变电站智能支撑平台系统
CN113556584B (zh) 云手机的截图传输方法、装置、电子设备和存储介质
CN109274747A (zh) 行情网关系统及其处理方法
WO2017016084A1 (zh) 告警信息通知方法、装置及告警信息过滤设备
CN103607423A (zh) 一种基于WebSocket协议的分布式广播系统
CN106302615A (zh) 远程管理方法、被管理设备、管理设备和智能电视系统
CN106161642A (zh) 网络设备远程管理方法、平台及系统
CN110501918A (zh) 智能家电控制方法、装置、电子设备和存储介质
CN104683731B (zh) 一种用于异构平台间通信的方法及系统
CN110493269A (zh) 一种Web远程Docker容器桌面的方法
US20140254788A1 (en) Communication between a mobile device and a call center
CN113824723A (zh) 一种应用于音视频数据传输的端到端系统解决方法
CN114189444A (zh) 纳管工业端设备的方法、时间敏感网络控制器及系统
CN103533064A (zh) 不间断网络用户在线状态的服务器程序升级方法
CN102521782A (zh) 一种基于实时数据库的动态数据智能发布方法及系统
CN112023436B (zh) 一种应用于中药提取浓缩工艺的增强现实系统
CN108737161A (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