CN103944814B - 一种数据交换方法和系统及一种网关服务器 - Google Patents

一种数据交换方法和系统及一种网关服务器 Download PDF

Info

Publication number
CN103944814B
CN103944814B CN201410177069.1A CN201410177069A CN103944814B CN 103944814 B CN103944814 B CN 103944814B CN 201410177069 A CN201410177069 A CN 201410177069A CN 103944814 B CN103944814 B CN 103944814B
Authority
CN
China
Prior art keywords
plug
unit
service
data
built
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.)
Expired - Fee Related
Application number
CN201410177069.1A
Other languages
English (en)
Other versions
CN103944814A (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.)
TELEWAVE INFORMATION TECHNOLOGY Co Ltd
Original Assignee
TELEWAVE INFORMATION 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 TELEWAVE INFORMATION TECHNOLOGY Co Ltd filed Critical TELEWAVE INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410177069.1A priority Critical patent/CN103944814B/zh
Publication of CN103944814A publication Critical patent/CN103944814A/zh
Application granted granted Critical
Publication of CN103944814B publication Critical patent/CN103944814B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据交换方法和系统及一种网关服务器,数据交换方法包括外部系统、内部系统以及网关服务器,网关服务器存储有业务插件。数据交换方法包括:S1、网关服务器判断接收到的数据消息的发送方向;S2、网关服务器基于发送方向,将接收到的数据消息的协议转换为目的系统的协议后发送到目的系统。通过网关服务器实现了外部系统和内部系统之间数据消息的协议转换,无论外部系统如何变化,业务插件的内容如何变化,都可以使用该网关服务器实现外部系统和内部系统之间的数据交换。

Description

一种数据交换方法和系统及一种网关服务器
技术领域
本发明涉及数据交换技术,更具体地说,涉及一种数据交换方法和系统及一种网关服务器。
背景技术
随着经济发展和通信技术的不断提高,数据交换已经成为了不同系统之间重要的集成方式,业务消息交换是数据交换的一种重要使用模式。业务消息交换己经成为当今社会的一种最重要的通信和沟通方式,尤其是像呼叫中心、公安、电力等一些重要部门,都需要通过消息交换进行相关的其他系统进行协调,方便数据实时共享,为及时查询和发现事件或事故原因以及提供准确可靠的手段。
现有的数据交换系统包括外部系统、内部系统以及网关服务器,网关服务器作为外部系统和内部系统之内通信的桥梁。外部系统的消息机制和结构是多变的,有属于自己的消息格式和协议内容。内部系统的消息机制和结构是稳定内,同样具有自己的消息格式和协议内容。在一个数据交换系统中,内部系统的消息格式和协议内容需要与外部系统相匹配,从能顺利完成数据的交换。因此当外部系统变化时,必须重构内部系统,导致改动的工作量巨大。
发明内容
本发明针对现有的数据交换系统中,当外部系统变化时,必须重构内部系统,导致系统改动的工作量巨大的缺陷,提供一种数据交换方法和系统及一种网关服务器,屏蔽内部和外部的差异,在无需改动内部系统的情况下,适应外部环境的变化。
本发明解决其技术问题采用的技术方案是:提供一种数据交换方法,通过网关服务器实现外部系统和内部系统之间的数据交换,所述数据交换方法包括以下步骤:
S1、所述网关服务器判断接收到的数据消息的发送方向;
S2、所述网关服务器基于所述发送方向,将接收到的数据消息的协议转换为目的系统的协议后发送到目的系统。
优选地,所述数据交换方法还包括以下步骤:
S01、所述网关服务器启动网关服务;
S02、所述网关服务器监听数据消息。
优选地,所述网关服务包括事件服务、配置服务、日志服务、通信服务和插件服务,所述网关服务器中存储有业务插件,子步骤S01包括以下次级子步骤:
S011、按照一定的顺序启动所述事件服务、所述配置服务和所述通信服务,然后再启动所述插件服务;
S012、获取所述事件服务、所述配置服务、所述日志服务和所述通信服务并提供给所述业务插件,以完成所述业务插件的初始化;
S013、执行所述业务插件。
优选地,所述业务插件包括外部适配插件、内部代理插件以及协议转换插件,所述步骤S2包括以下子步骤:
S21、若所述发送方向为所述外部系统到所述内部系统,调用所述外部适配插件处理数据消息,调用所述协议转换插件将数据消息的协议转换为内部系统协议后,再调用所述外部适配插件将协议转换后的数据消息发送到所述内部系统;
S22、若所述发送方向为所述内部系统到所述外部系统,调用所述内部代理插件处理数据消息,调用所述协议转换插件将数据消息的协议转换为外部系统协议后,再调用所述内部代理插件将协议转换后的数据消息发送到所述外部系统。
提供一种网关服务器,用于实现外部系统和内部系统之间的数据交换,包括:
外部系统接口模块,用于与外部系统通信连接;
内部系统通信模块,用于与内部系统通信连接;
插件容器模块,分别与所述外部系统接口模块和所述内部系统通信模块通信连接,用于存储业务插件;所述业务插件用于监听数据消息,并判断接收到的数据消息的发送方向,基于所述发送方向将接收到的数据消息的协议转换为目的系统的协议后,通过所述外部系统接口模块或者所述内部系统通信模块发送到目的系统;
管理控制模块,其与所述插件容器模块通信连接,用于在接收到启动网关服务指令时,调用所述业务插件监听数据消息。
优选地,网关服务包括事件服务、配置服务、日志服务、通信服务和插件服务;当接收到所述启动网关服务指令时,所述管理控制模块按照一定的顺序启动所述事件服务、所述配置服务和所述通信服务,然后再启动所述插件服务,获取所述事件服务、所述配置服务、所述日志服务和所述通信服务并提供给所述业务插件,以完成所述业务插件的初始化,然后调用所述业务插件监听数据消息。
优选地,所述业务插件包括外部适配插件、内部代理插件以及协议转换插件;所述协议转换插件用于将接收到的数据消息的协议转换为目的系统的协议;所述外部适配插件用于通过所述外部系统接口模块接收外部系统发送的数据消息,并通过所述内部系统通信模块将协议转换为内部系统协议的数据消息发送到内部系统;所述内部代理插件用于通过所述内部系统通信模块接收内部系统发送的数据消息,并通过所述外部系统接口模块将协议转换为外部系统协议的数据消息发送到外部系统。
优选地,所述事件服务包括通知事件服务、监听事件服务和异常事件服务。
提供一种数据交换系统,包括外部系统和内部系统,所述数据交换系统还包括上述任一项所述的网关服务器。
优选地,本发明的数据交换系统,包括多个冗余设置的所述网关服务器。
本发明的数据交换方法和系统及网关服务器具有以下有益效果:通过网关服务器对外部系统(内部系统)发送的数据消息进行处理,并对处理后的数据消息进行协议转换,然后发送到内部系统(外部系统),供内部系统(外部系统)使用,这样,无论外部系统如何变化,业务插件的内容如何变化,都可以使用该网关服务器实现外部系统和内部系统之间的数据交换。
附图说明
图1为本发明的数据交换系统第一实施例的结构示意图;
图2为本发明的网关服务器第一实施例的逻辑框图;
图3为本发明的网关服务器第二实施例的逻辑框图;
图4为本发明的网关服务器第二实施例中网关服务的启动流程图;
图5为本发明的网关服务器第二实施例中加载业务插件的流程图;
图6为本发明的网关服务器第二实施例中业务插件提供监听服务的流程图;
图7为本发明的数据交换方法第一实施例的流程图;
图8为本发明的数据交换方法第二实施例的流程图;
图9为本发明的数据交换方法第二实施例中网关服务器的内部设计示意图。
具体实施方式
以下结合附图和实施例对本发明做进一步的解释说明。
图1为本发明的数据交换系统100第一实施例的结构示意图,如图1所示,在本实施例中,数据交换系统100包括外部系统1、内部系统2以及多个网关服务器3。网关服务器3在外部系统1和内部系统2之间提供网关服务。多个网关服务器3冗余设置,即当一个网关服务器3出现故障时,备份的网关服务器3继续工作,从而不影响系统整体的功能。
在本实施例中,参见图2,网关服务器3包括外部系统接口模块31、内部系统通信模块32、插件容器模块33以及管理控制模块34。
其中,外部系统接口模块31用于与外部系统1通信连接,实现与外部系统1的接口。内部系统通信模块32用于与内部系统2通信连接,完成与内部系统2的通信功能,即实现对业务系统的接口。插件容器模块33,分别与外部系统接口模块31和内部系统通信模块32通信连接,用于存储业务插件。业务插件用于监听数据消息,并判断接收到的数据消息的发送方向,基于发送方向将接收到的数据消息的协议转换为目的系统的协议后,通过外部系统接口模块31或者内部系统通信模块32发送到目的系统。管理控制模块34与插件容器模块33通信连接,用于在接收到启动网关服务指令时,通过配置方式调用业务插件监听数据消息。
网关服务包括事件服务、配置服务、日志服务、通信服务和插件服务。事件服务主要包括通知事件服务、监听事件服务和异常事件服务,这样便于外部系统1能了解网关服务器3在运行过程中所获得的时间及其异常情况,便于外部系统1根据具体情况进行业务处理。网关服务器3也提供一些基础配置和维护信息的服务(配置服务),这样便于系统的可扩展和本地化。网关服务器3提供的日志服务可以被业务插件所使用。通信服务为基于通信服务器的模式,支持TCP协议和UDP协议。网关服务器3提供的插件服务,使得网关服务器3相当于一个插件容器,按照OSCI规范可以兼容多种插件,然后动态加载这些插件,通过插件监听在外部系统1和内部系统2之间传输的数据消息,并对数据消息进行协议转换后完成数据的交互。
当管理控制模块34接收到启动网关服务指令时,按照一定的顺序启动事件服务、配置服务和通信服务,然后再启动插件服务,初始化业务插件。初始化业务插件的过程为:管理控制模块34获取事件服务、配置服务、日志服务以及通信服务,若上述各服务获取成功则完成业务插件的初始化,运行业务插件并反馈业务插件的状态,若上述任一服务获取失败,则业务插件的初始化失败,退出业务插件的实例化。在完成初始化业务插件,并使业务插件成功运行后,业务插件将监听外部系统1或者内部系统2发送的数据消息,若外部系统接口模块31接收到外部系统1发送的数据消息,则业务插件判断此时发送方向为外部系统1到内部系统2,则将数据消息的协议转换为内部系统协议后通过内部系统通信模块32发送到内部系统2。当内部系统通信模块32接收到内部系统2发送的数据消息时,业务插件判断此时的发送方向为内部系统2到外部系统1,则将数据消息的协议转换为外部系统协议后通过外部系统接口模块31发送到外部系统1。
在本发明的数据交换系统100第一实施例中,网关服务器3提供了一个插件容器以及一些公用的服务,公用的服务包括事件服务、配置服务、日志服务、通信服务以及插件服务。因此,业务插件可专注于具体要实现的业务,可以由不同的人员开发,在业务插件加载到网关服务器后,通过网关服务器提供的事件服务、配置服务、日志服务以及通信服务,对外部系统1(内部系统2)发送的数据消息进行处理(处理主要包括接收),并对处理后的数据消息进行协议转换,然后发送到内部系统2(外部系统1),供内部系统2(外部系统1)使用。这样,无论外部系统1如何变化,业务插件的内容如何变化,都可以使用该网关服务器3实现外部系统1和内部系统2之间的数据交换。
参见图1,在本发明的数据交换系统100第二实施例中,数据交换系统100包括外部系统1、内部系统2以及多个网关服务器3。多个网关服务器3冗余设置。
在本实施例中,如图3所示,网关服务器3包括外部系统接口模块31、内部系统通信模块32、插件容器模块33以及管理控制模块34。其中,插件容器模块33用于完成接口逻辑、协议转换等功能,通过配置的方式由管理配置模块34调用,插件容器模块33中存储的业务插件包括外部适配插件331、内部代理插件332以及协议转换插件333。协议转换插件333用于将接收到的数据消息的协议转换为目的系统的协议。外部适配插件331用于通过外部系统接口模块31接收外部系统1发送的数据消息,并通过内部系统通信模块32将协议转换为内部系统协议的数据消息发送到内部系统2。内部代理插件332用于通过内部系统通信模块32接收内部系统2发送的数据消息,并通过外部系统接口模块31将协议转换为外部系统协议的数据消息发送到外部系统1。
在本实施例中,管理控制模块34包括网关服务器框架341以及基础类库342。其中,网关服务器框架341包括监控代理组件3411、界面表现组件3412、数据传输对象(Datatransfer object,DTO)组件3413以及插件管理平台3414。
监控代理组件3411用于提供信息给监控软件,便于部署有监控软件的监控中心掌握网关服务器3的内部信息和状态。
界面表现组件3412主要用于输入和输出信息,其提供维护界面用于接收操作者输入的配置信息、操作信号等,实现网关服务器3的初始化和配置。界面表现组件3412还提供监控界面,用于显示网关服务器3的各种信息和变量情况,例如展现监听事件。
DTO组件3413主要用于各个层之间的数据传输对象。
插件管理平台3414主要用于对定制化的业务插件进行管理和维护。
其中,基础类库342包括通用组件3421、通信层组件3422、以及.NET框架平台3423。
通用组件3421用于提供网关服务器3的基本应用组件,基本应用组件包括异常组件、日志组件、基础框架组件、配置组件。异常组件用于提供异常报警服务,日志组件用于提供日志服务,基础框架组件用于提供组件运行时间服务(ComponentRunTime)以及部署管理服务(DeploymentAdmin)。配置组件用于提供配置服务。
通信层组件3422包括标准通信组件和WCF(windows通讯接口)通信组件,即主要包括用于外部系统1和内部系统2的通信层连接和管理的程序实现部分(因此,外部系统接口模块31以及内部系统通信模块32还会调用通信层组件342来建立与外部系统1和内部系统2的通信层连接),其中,标准通信组件包括TCP通信组件、UDP通信组件等。
网关服务器3主要有三个实现流程,第一个是网关服务启动过程,第二是在网关服务启动过程中业务插件的初始化过程,第三个是业务插件的监听服务过程。
网关服务的启动过程如图4所示,启动网关服务器3的界面表现组件3412中的监控界面,通过该界面启动网关服务,其中,启动网关服务的具体步骤包括:启动插件管理平台3414提供的事件服务,然后启动通用组件3421中的配置组件提供的配置服务,接着启动通信层组件3422提供的通信服务,最后启动插件服务,进入业务插件的初始化过程。
如图5所示,初始化业务插件的步骤(即使装载业务插件的步骤)包括:获取事件服务,若获取成功则进一步获取配置服务,若获取成功则进一步获取日志服务,若获取成功则进一步获取通信服务,若获取成功则完成业务插件的初始化,运行业务插件并反馈业务插件的状态,其中若获取网关的上述任一服务失败,则业务插件的初始化失败,退出业务插件的实例化。
在完成初始化业务插件,并使业务插件成功运行后,通过业务插件监听外部系统1或者内部系统2发送的数据消息,并在外部系统和内部系统之间提供网关服务。具体的,业务插件监听外部系统1或者内部系统2发送的数据消息的过程如图6所示:当外部适配插件331监听到外部系统接口模块31接收到外部系统1发送的数据消息时,判断此时发送方向为外部系统1到内部系统2,则外部适配插件331处理该数据消息(处理包括接收),待协议转换插件333将该数据消息的协议转换为内部系统协议之后将该数据消息通过内部系统通信模块32发送到内部系统2。当内部代理插件332监听到内部系统通信模块32接收到内部系统2发送的数据消息时,判断此时发送方向为从内部系统2到外部系统1,则内部代理插件332处理该数据消息(处理包括接口),待协议转换插件333将该数据消息的协议转换为外部系统协议之后将该数据消息通过外部系统接口模块31发送到外部系统1。
根据以上情况,对于网关服务器3框架来说,有以下基本需求:
1.应该提供配置性的接口方式,来调用业务插件,如IOC(依赖注入)方式,此接口包含但不限于以下内容:
(1)系统参数读取、保存方式;(2)系统配置的设置界面;(3)服务初始化、重启、关闭所需要的接口;(4)异常提示接口。
2.提供通用的统一风格的主界面,能显示网关的运行状态情况,如网络连接情况,消息收发情况;
3.提供启动、停止、重启服务的操作界面(可以是主界面);
4.提供统一的日志记录机制,方便调试、查错;
5.提供统一的告警机制;
6.过开关选项能支持只运行一个实例。
在本发明的数据交换系统100第二实施例中,网关服务器3为面向服务的架构,体现了SOA架构思想,这使得不同的功能服务可以由不同的人员来开发,也可以由不同的开发工具或语言来开发;另外,为了提高系统的可靠性和稳定性,采用了集群技术来解决网关服务器3单点故障问题,对于核心节点而言,都需要支持集群,保持一定冗余,当出现单点故障后仍然保持系统继续运行;再者,通过为实现不同的功能而划分不同的功能服务,实现了分布式结构,因此对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合,多种通讯方式的构造并没有增加应用程序的复杂性;另外,由于功能服务、网关独立出来,稳定了功能服务和业务服务之间的接口,实现了模块化,当面对不同的外部系统和设备时,只需要修改网关即可;再者,通过消息通信提供异步服务,降低服务之间耦合性,通讯程序可在不同的时间运行(程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系,所以它们不必同时运行),消息放入适当的队列时,目标程序甚至根本不需要正在运行,即使目标程序在运行,也不意味着要立即处理该消息,实现了异步服务;另外,由于功能服务和业务协同服务的连接接口一致,简化了各种接口的实现,只需要定义有关的基础协议即可,从某种程度上说,业务协同服务和配套的协议实际起到了“企业服务总线”的作用,具有良好的扩展性,实现了接口的标准化。
结合图1和图7,在本发明的数据交换方法的第一实施例中,通过网关服务器3实现外部系统1和内部系统2之间的数据交换,数据交换方法包括以下步骤:
S1、网关服务器3判断接收到的数据消息的发送方向;
S2、网关服务器3基于所述发送方向,将接收到的数据消息的协议转换为目的系统的协议后发送到目的系统。
在本实施例中,网关服务器3上存储有业务插件,业务插件包括外部适配插件331、内部代理插件332以及协议转换插件333,在步骤S1中,当网关服务器3启动网关服务并加载了外部适配插件331、内部代理插件332以及协议转换插件333之后,通过上述业务插件监听发送到网关服务器3的数据消息。
在本实施例的步骤S2中,若当外部适配插件331监听到外部系统接口模块31接收到外部系统1发送的数据消息时,判断此时发送方向为外部系统1到内部系统2,则外部适配插件331接收该数据消息,待协议转换插件333将该数据消息的协议转换为内部系统协议之后将该数据消息通过内部系统通信模块32发送到内部系统2。当内部代理插件332监听到内部系统通信模块32接收到内部系统2发送的数据消息时,判断此时发送方向为从内部系统2到外部系统1,则内部代理插件332接收该数据消息,待协议转换插件333将该数据消息的协议转换为外部系统协议之后将该数据消息通过外部系统接口模块31发送到外部系统1。
在本发明的数据交换方法第一实施例中,网关服务器3提供了外部适配插件331、内部代理插件332以及协议转换插件333,通过外部适配插件331对外部系统1发送的数据消息进行处理(处理主要包括接收),通过协议转换插件333对处理后的数据消息进行协议转换,然后再通过外部适配插件331发送到内部系统2,供内部系统2使用。通过内部代理插件332对内部系统2发送的数据消息进行处理(处理主要包括接收),通过协议转换插件333对处理后的数据消息进行协议转换,然后再通过内部代理插件332将协议转换后的数据消息发送到外部系统。这样,无论外部系统1如何变化,业务插件的内容如何变化,都可以使用该网关服务器3实现外部系1统和内部系统2之间的数据交换。
如图8所示,在本发明的数据交换方法的第二实施例中,数据交换方法包括:
S01、网关服务器3启动网关服务;
S02、网关服务器3监听数据消息;
S1、网关服务器3判断接收到的数据消息的发送方向;
S2、网关服务器3基于所述发送方向,将接收到的数据消息的协议转换为目的系统的协议后发送到目的系统。
在本实施例中,网关服务器3的内部设计如图9所示,网关服务器3包括界面表现组件3412、通用组件3421、网关接口层、插件管理平台3414、DTO传输组件3413、监控代理组件3411以及通信层组件3422。
其中,网关接口层包括外部系统接口模块31和内部系统通信模块32,外部系统接口模块31用于实现与外部系统1的接口,内部系统通信模块32用于完成与消息服务的通信功能,即实现对业务系统的接口。
界面表现组件3412主要用于输入和输出信息,其提供维护界面(维护UI)用于接收操作者输入的配置信息、操作信号等,实现网关服务器3的初始化和配置。界面表现组件3412还提供监控界面(监控UI),用于显示网关服务器3的各种信息和变量情况,例如展现监听事件。
通用组件3421主要针对网关服务器3的基本应用组件,一般有日志组件、异常组件、框架组件、事件组件和配置组件等。异常组件用于提供异常报警服务,日志组件用于提供日志服务,基础框架组件用于提供组件运行时间服务以及部署管理服务。配置组件用于提供配置服务。
插件管理平台3414主要负责对各个定制化的协议插件组件进行管理和维护。
插件容器模块33主要用于存放和调用业务插件,业务插件包含定制化业务的外部适配插件331、内部代理插件332和协议转换插件333。
通信层组件3422主要是用于外部系统1和内部系统2的通信层连接和管理的程序实现部分,包括TCP通信组件、UDP通信组件等。
DTO组件3413主要用于各个层次之间的数据传输对象。
监控代理组件3411主要用于提供信息给监控软件,便于监控中心掌握网关服务器3的内部信息和状态。
参见图5,在本实施例的步骤S01中,启动网关服务器3的界面表现组件3412中的监控界面,通过该界面启动网关服务:启动插件管理平台3414提供的事件服务,然后启动通用组件3421中的配置组件提供的配置服务,接着启动通信层组件3422提供的通信服务,最后启动插件服务,进入业务插件的初始化过程;初始化业务插件的步骤(即使装载业务插件的步骤)包括:获取事件服务,若获取成功则进一步获取配置服务,若获取成功则进一步获取日志服务,若获取成功则进一步获取通信服务,若获取成功则完成业务插件的初始化,运行业务插件并反馈业务插件的状态,其中若获取网关的上述任一服务失败,则业务插件的初始化失败,退出业务插件的实例化。
在其他实施例中,在业务插件的初始化过程中,提供给业务插件的服务还可以包括由基于框架组件提供的组件运行时间服务和部署管理服务,以及插件管理平台提供的事件管理服务(EventAdmin)和应用程序管理服务(ApplicationAdmin)。
在完成初始化业务插件,并使业务插件成功运行后,在步骤S02中通过业务插件监听外部系统1或者内部系统2发送的数据消息。
参见图6,在步骤S1中,当外部适配插件331监听到外部系统接口模块31接收到外部系统1发送的数据消息时,判断此时发送方向为外部系统1到内部系统2,当内部代理插件332监听到内部系统通信模块32接收到内部系统2发送的数据消息时,判断此时发送方向为从内部系统2到外部系统1。
在步骤S2中,当发送方向为外部系统1到内部系统2时,外部适配插件331处理该数据消息(处理包括接收),待协议转换插件333将该数据消息的协议转换为内部系统协议之后将该数据消息通过内部系统通信模块32发送到内部系统2;当发送方向为内部系统2到外部系统1时,内部代理插件332处理该数据消息(处理包括接口),待协议转换插件333将该数据消息的协议转换为外部系统协议之后将该数据消息通过外部系统接口模块31发送到外部系统1。
在本发明的数据交换方法第二实施例中,网关服务器3为面向服务的架构,体现了SOA架构思想,这使得不同的功能服务可以由不同的人员来开发,也可以由不同的开发工具或语言来开发;再者,通过为实现不同的功能而划分不同的功能服务,实现了分布式结构,因此对应用程序的结构没有约束:另外,在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合,多种通讯方式的构造并没有增加应用程序的复杂性;再者,由于功能服务、网关独立出来,稳定了功能服务和业务服务之间的接口,实现了模块化,当面对不同的外部系统和设备时,只需要修改网关即可;另外,通过消息通信提供异步服务,降低服务之间耦合性,通讯程序可在不同的时间运行,消息放入适当的队列时,目标程序甚至根本不需要正在运行,即使目标程序在运行,也不意味着要立即处理该消息,实现了异步服务;再者,由于功能服务和业务协同服务的连接接口一致,简化了各种接口的实现,只需要定义有关的基础协议即可,从某种程度上说,业务协同服务和配套的协议实际起到了“企业服务总线”的作用,具有良好的扩展性,实现了接口的标准化。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (4)

1.一种数据交换方法,通过网关服务器实现外部系统和内部系统之间的数据交换,其特征在于,所述数据交换方法包括以下步骤:
S1、所述网关服务器判断接收到的数据消息的发送方向;
S2、所述网关服务器基于所述发送方向,将接收到的数据消息的协议转换为目的系统的协议后发送到目的系统;
所述数据交换方法还包括以下步骤:
S01、所述网关服务器启动网关服务;
S02、所述网关服务器监听数据消息;
所述网关服务包括事件服务、配置服务、日志服务、通信服务和插件服务,所述网关服务器中存储有业务插件,子步骤S01包括以下次级子步骤:
S011、按照一定的顺序启动所述事件服务、所述配置服务和所述通信服务,然后再启动所述插件服务;
S012、获取所述事件服务、所述配置服务、所述日志服务和所述通信服务并提供给所述业务插件,以完成所述业务插件的初始化;
S013、执行所述业务插件;
所述业务插件包括外部适配插件(331)、内部代理插件(332)以及协议转换插件(333),其特征在于,所述步骤S2包括以下子步骤:
S21、若所述发送方向为所述外部系统到所述内部系统,调用所述外部适配插件(331)处理数据消息,调用所述协议转换插件(333)将数据消息的协议转换为内部系统协议后,再调用所述外部适配插件(331)将协议转换后的数据消息发送到所述内部系统;
S22、若所述发送方向为所述内部系统到所述外部系统,调用所述内部代理插件(332)处理数据消息,调用所述协议转换插件(333)将数据消息的协议转换为外部系统协议后,再调用所述内部代理插件(332)将协议转换后的数据消息发送到所述外部系统;
启动网关服务的具体步骤包括:启动插件管理平台(3414)提供的事件服 务,然后启动通用组件(3421)中的配置组件提供的配置服务,接着启动通信层组件(3422)提供的通信服务,最后启动插件服务,进入业务插件的初始化过程;
初始化业务插件的步骤包括:获取事件服务,若获取成功则进一步获取配置服务,若获取成功则进一步获取日志服务,若获取成功则进一步获取通信服务,若获取成功则完成业务插件的初始化,运行业务插件并反馈业务插件的状态,其中若获取网关的上述任一服务失败,则业务插件的初始化失败,退出业务插件的实例化。
2.一种网关服务器,用于实现外部系统和内部系统之间的数据交换,其特征在于,包括:
外部系统接口模块(31),用于与外部系统通信连接;
内部系统通信模块(32),用于与内部系统通信连接;
插件容器模块(33),分别与所述外部系统接口模块(31)和所述内部系统通信模块(32)通信连接,用于存储业务插件;所述业务插件用于监听数据消息,并判断接收到的数据消息的发送方向,基于所述发送方向将接收到的数据消息的协议转换为目的系统的协议后,通过所述外部系统接口模块(31)或者所述内部系统通信模块(32)发送到目的系统;
管理控制模块(34),其与所述插件容器模块(33)通信连接,用于在接收到启动网关服务指令时,调用所述业务插件监听数据消息;
网关服务包括事件服务、配置服务、日志服务、通信服务和插件服务;当接收到所述启动网关服务指令时,所述管理控制模块(34)按照一定的顺序启动所述事件服务、所述配置服务和所述通信服务,然后再启动所述插件服务,获取所述事件服务、所述配置服务、所述日志服务和所述通信服务并提供给所述业务插件,以完成所述业务插件的初始化,然后调用所述业务插件监听数据消息;
所述业务插件包括外部适配插件(331)、内部代理插件(332)以及协议转换插件(333);所述协议转换插件(333)用于将接收到的数据消息的协议转换为目的系统的协议;所述外部适配插件(331)用于通过所述外部系统接 口模块(31)接收外部系统发送的数据消息,并通过所述内部系统通信模块(32)将协议转换为内部系统协议的数据消息发送到内部系统;所述内部代理插件(332)用于通过所述内部系统通信模块(32)接收内部系统发送的数据消息,并通过所述外部系统接口模块(31)将协议转换为外部系统协议的数据消息发送到外部系统;
所述事件服务包括通知事件服务、监听事件服务和异常事件服务;
管理控制模块(34)包括网关服务器框架(341)以及基础类库(342);其中,网关服务器框架(341)包括监控代理组件(3411)、界面表现组件(3412)、DTO组件(3413)以及插件管理平台(3414);
监控代理组件(3411)用于提供信息给监控软件,便于部署有监控软件的监控中心掌握网关服务器的内部信息和状态;
界面表现组件(3412)用于输入和输出信息,其提供维护界面用于接收操作者输入的配置信息、操作信号,实现网关服务器的初始化和配置;界面表现组件(3412)还提供监控界面,用于显示网关服务器的各种信息和变量情况;
插件管理平台(3414)用于对定制化的业务插件进行管理和维护;
基础类库(342)包括通用组件(3421)、通信层组件(3422)、以及.NET框架平台(3423);
通用组件(3421)用于提供网关服务器的基本应用组件,基本应用组件包括异常组件、日志组件、基础框架组件、配置组件;异常组件用于提供异常报警服务,日志组件用于提供日志服务,基础框架组件用于提供组件运行时间服务以及部署管理服务;配置组件用于提供配置服务;
通信层组件(3422)包括标准通信组件和WCF通信组件,其中,标准通信组件包括TCP通信组件、UDP通信组件。
3.一种数据交换系统,包括外部系统(1)和内部系统(2),其特征在于,所述数据交换系统还包括权利要求2所述的网关服务器(3)。
4.根据权利要求3所述的数据交换系统,其特征在于,包括多个冗余设置的所述网关服务器(3)。
CN201410177069.1A 2014-04-29 2014-04-29 一种数据交换方法和系统及一种网关服务器 Expired - Fee Related CN103944814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410177069.1A CN103944814B (zh) 2014-04-29 2014-04-29 一种数据交换方法和系统及一种网关服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410177069.1A CN103944814B (zh) 2014-04-29 2014-04-29 一种数据交换方法和系统及一种网关服务器

Publications (2)

Publication Number Publication Date
CN103944814A CN103944814A (zh) 2014-07-23
CN103944814B true CN103944814B (zh) 2017-10-20

Family

ID=51192304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410177069.1A Expired - Fee Related CN103944814B (zh) 2014-04-29 2014-04-29 一种数据交换方法和系统及一种网关服务器

Country Status (1)

Country Link
CN (1) CN103944814B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836831B (zh) * 2014-12-09 2018-12-25 中国电子科技集团公司第十五研究所 一种用于物联网的物体服务方法
CN105282019B (zh) * 2014-12-29 2018-11-02 中国科学院沈阳自动化研究所 基于服务的数据网关可配置方法和系统
CN106484394B (zh) * 2016-09-13 2019-07-12 厦门兆慧网络科技有限公司 一种双引擎快速软件开发系统
CN109634695B (zh) * 2017-10-09 2022-02-08 武汉斗鱼网络科技有限公司 一种sdk界面自动适配软件横竖屏的方法及装置
CN109039752B (zh) * 2018-08-16 2021-11-30 安徽网才信息技术股份有限公司 一种基于统一网关的soa架构系统的管理方法
CN110474907A (zh) * 2019-08-16 2019-11-19 北京明朝万达科技股份有限公司 服务总线系统及基于服务总线的服务应用系统
CN112866182B (zh) * 2019-11-28 2023-05-23 浙江宇视科技有限公司 数据对接方法、装置和计算机可读存储介质
CN112134727A (zh) * 2020-08-31 2020-12-25 南京卓威研信息技术有限公司 基于容器技术的网关机运行数据交换方法
CN115665274A (zh) * 2022-10-21 2023-01-31 广域铭岛数字科技有限公司 异构协议的数据传输方法、系统、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000016206A1 (en) * 1998-09-10 2000-03-23 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
CN1407445A (zh) * 2001-08-24 2003-04-02 华为技术有限公司 纯软件的交互式语音应答/语音信箱设备的实现方法
CN1561076A (zh) * 2004-02-24 2005-01-05 中兴通讯股份有限公司 移动邮件网关系统及基于该系统的移动邮件业务实现方法
CN1601993A (zh) * 2003-07-28 2005-03-30 索尼株式会社 网络互连设备和方法、名字分辨设备和计算机程序
CN101022431A (zh) * 2007-03-09 2007-08-22 中国移动通信集团福建有限公司 接口网关及接口网关的数据处理方法
CN101150584A (zh) * 2007-10-31 2008-03-26 中兴通讯股份有限公司 一种短消息网关多协议转换装置及其方法
CN101834811A (zh) * 2010-04-16 2010-09-15 中山大学 一种家庭网关系统
CN102196594A (zh) * 2011-04-15 2011-09-21 京信通信系统(中国)有限公司 Femto的数据回传系统、数据回传方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7262695B2 (en) * 2004-12-15 2007-08-28 At&T Intellectual Property, Inc. Network interface device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000016206A1 (en) * 1998-09-10 2000-03-23 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
CN1407445A (zh) * 2001-08-24 2003-04-02 华为技术有限公司 纯软件的交互式语音应答/语音信箱设备的实现方法
CN1601993A (zh) * 2003-07-28 2005-03-30 索尼株式会社 网络互连设备和方法、名字分辨设备和计算机程序
CN1561076A (zh) * 2004-02-24 2005-01-05 中兴通讯股份有限公司 移动邮件网关系统及基于该系统的移动邮件业务实现方法
CN101022431A (zh) * 2007-03-09 2007-08-22 中国移动通信集团福建有限公司 接口网关及接口网关的数据处理方法
CN101150584A (zh) * 2007-10-31 2008-03-26 中兴通讯股份有限公司 一种短消息网关多协议转换装置及其方法
CN101834811A (zh) * 2010-04-16 2010-09-15 中山大学 一种家庭网关系统
CN102196594A (zh) * 2011-04-15 2011-09-21 京信通信系统(中国)有限公司 Femto的数据回传系统、数据回传方法及相关装置

Also Published As

Publication number Publication date
CN103944814A (zh) 2014-07-23

Similar Documents

Publication Publication Date Title
CN103944814B (zh) 一种数据交换方法和系统及一种网关服务器
US10429092B2 (en) Asynchronous reporting system
CN110445856B (zh) 一种支持多协议接入的物联网通讯组件管控系统及方法
CN1527169B (zh) 用于过程控制系统的冗余应用站
CN102144382B (zh) 用于冗余服务器自动故障转移的方法和系统
CN109391516B (zh) 实现多厂家utn设备集中维护管理的云化第三方网管系统
US20070033284A1 (en) System server for data processing with multiple clients and a data processing method
CN109656726B (zh) 一种适用于数据中心的工业信息交互系统及方法
CN113595806B (zh) 一种基于opcua与mqtt协议的配网物联网通讯架构方法
CN101567861A (zh) 异构应用系统之间的数据同步方法及应用系统
CN112671898A (zh) 一种基于嵌入式设备的远程通信控制系统
CN102412983B (zh) 一种设备告警上报方法
CN105072185B (zh) 一种tr069远程监控方法、系统和通讯设备
CN109871325B (zh) 一种knx远程调试方法及系统
CN100413248C (zh) 一种基于流量进行计费的改进方法和系统
CN114885012B (zh) 物联网平台的系统接入方法及系统
WO2012155648A1 (zh) 一种北向通知管理接口装置及其管理方法
CN113848834B (zh) 一种基于边云协同的车间设备接入系统及方法
CN100362811C (zh) 一种获取配置信息的方法
CN112751921A (zh) 面向云平台的工业设计系统
CN103001798B (zh) 管理应用服务的方法、装置和系统
CN110991676B (zh) 一种基于模块化设计的运维管理平台
CN112328445B (zh) 一种基于consul的多节点管理系统
CN116800604B (zh) 可配置的激光通信设备控制方法、装置、设备及介质
CN101931496A (zh) 用于epa网络的冗余通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 518040, No. 6, building 7, two software park, hi tech Zone, Guangdong, Shenzhen

Applicant after: TELEWAVE INFORMATION TECHNOLOGY CO., LTD.

Address before: 518040, No. 6, building 7, two software park, hi tech Zone, Guangdong, Shenzhen

Applicant before: Shenzhen Telewave Communication Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN TELEWAVE COMMUNICATION TECHNOLOGY CO., LTD. TO: TELEWAVE INFORMATION CO., LTD.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171020

Termination date: 20180429

CF01 Termination of patent right due to non-payment of annual fee