网络互连时各终端的数据通信方法

文档序号:7595907阅读:185来源:国知局
专利名称:网络互连时各终端的数据通信方法
技术领域
本发明涉及一种通信方法,尤其涉及一种网络互连时各终端间的数据通信方法。它向应用程序提供统一的维护环境和调用接口子程序,用户只需掌握简单的子程序接口,就可以实现各终端之间的数据通信。
背景技术
在每一个现代化大型企业中,都会有若干台分布于各种层次的管理和控制计算机。它们之间需要通过数据传输进行通信。通过数据通信和现有的应用进行整合,在提高生产和管理的效率上起着非常重要的作用。
由于设备品种的多样化、制造年代的差异以及各个供应商在实现互连的方式上的不同,造成了相当复杂的网络互连情况。而且不同通讯代码之间的可移植性很低,使编程人员在实现网络互连时花费大量时间和精力,还给网络维护人员带来了许多不便。
现在国内外已经有许多标准的通信平台如RMI(远程方法调用),,WebService(网络服务)等,它们在工业领域得到了广泛的应用,但它们也存在着自身的缺陷,比如 平台相关性,如RMI,通信双方必须是基于Java的。
实时性不高,如WebService。
价格昂贵

发明内容
本发明所要解决的技术问题是提供一种网络互连时各终端间的数据通信方法,它向应用程序提供统一的维护环境和调用接口子程序,用户只需掌握简单的子程序接口,就可以实现各终端之间的数据通信。
为了解决上述技术问题,本发明采用了下述技术方案提供一种网络互连时各终端间的数据通信方法,包括数据接收方法以及数据发送方法,所述的数据接收方法包括如下步骤步骤a、外部通信系统向通信中间装置发送数据,把数据写入数据库中;步骤b、通信中间装置向WebLogic发送JMS消息;步骤c、WebLogic中的XCOM框架根据消息,启动相应的应用程序处理该消息;所述的数据发送方法包括如下步骤步骤d、应用系统向数据库中插入数据;步骤e、通信中间装置从数据库中取出电文;步骤f、通信中间装置根据该电文的具体目的地,封装相应的协议,把电文发送出去。
其中,所述的通信中间装置处理数据的方法包括如下步骤步骤1、启动时请求从数据库中读取主机和外部电文配置信息;步骤2、启动XcomThread线程,该线程包括如下步骤步骤2-1、启动主机连接线程,按照配置电文中的信息,定期检查与每个外部计算机之间的连接;步骤2-2、开始侦听外部端口,并不断接收外部计算机发来的信息。若有主机发来的数据,则根据主机中的协议处理对电文报文进行拆包,截取出电文号、应用数据等消息,通过BSMQ把数据写入通信中间装置数据库模块,数据库模块收到数据后把该数据写入数据库,并通知应用。
步骤3、消息处理机制等待各种外部请求,根据请求作相应处理,返回一定的结果,并对相关数据、文件作一定的修改。
由于采用了上述技术方案,本发明具有如下的优点和技术上的进步(1)高效的消息路由系统系统采用集中体系结构模式,运行于网络环境支持分布式数据管理,提供了跨地区的数据传输模式,完全实现资源与数据的网络共享和统一管理。
(2)多样的通信传输方式支持多种通信方式,RMI,HTTP,CORBA,FTP等等;并且支持通信协议模块的动态扩展。
(3)快速的通信配置管理与信息浏览基于B/S结构,客户通过浏览器就可以对通信进行配置,也可以通过浏览器对通信状况进行浏览。
(4)实时通信监控和管理基于C/S结构,客户通过GUI,实时地对通信状况进行监控和报警。
(5)完善的安全机制单纯的点对点通信方式,无法保证数据的安全性与可靠性。本系统采用通信认证和数据加密,利用安全网络协议,实现高效安全的数据传输。
(6)提供应用集成解决架构数据通信最终必须落实于应用处理,本系统提供了基于(OracleDeveloper,Tuxedo,WebLogic等)的解决方案,这样应用只要在我们提供的框架中部署即可完成应用集成。


图1是本发明的数据接收流程。
图2是本发明的数据发送流程。
图3是通信中间装置处理数据的流程。
具体实施例方式
本发明的方法是建立在TCP/IP Socket(套接字)上的一套通信传送方法,使各计算机之间通过Ethernet进行数据通信,并可向应用程序提供统一的维护环境和调用接口子程序(即API)。
本发明的网络互连时各终端间的数据通信方法包括接收流程及发送流程,其中,如图1所示数据接收流程包括如下步骤a外部通信系统向XCOM(通信中间装置)发送数据,把数据写入数据库(Oracle)中。
bXCOM向WebLogic(BEA J2EE服务器,外部网络中的服务器)发送JMS(Java消息服务)消息cWebLogic(BEA J2EE服务器)中的XCOM框架根据消息,启动相应的应用程序处理该消息,在WebLogic部署JMS的XCOM程序,即JMS Queue(Java消息服务队列)的侦听类,该类完成数据包的拆分和分派应用处理。
如图2所示本发明的数据发送流程包括如下步骤d应用向数据库中插入数据e通信中间装置从数据库中取出电文
f通信中间装置根据该电文的具体目的地,封装相应的协议,把电文发送出去。
其中,如图3所示通信中间装置处理数据的方法包括如下步骤步骤1、启动时请求从数据库中读取主机和外部电文配置信息;步骤2、启动XcomThread线程,该线程包括如下步骤步骤2-1、启动主机连接线程,按照配置电文中的信息,定期检查与每个外部计算机之间的连接;步骤2-2、开始侦听外部端口,并不断接收外部计算机发来的信息。若有主机发来的数据,则根据主机中的协议处理对电文报文进行拆包,截取出电文号、应用数据等消息,通过BSMQ(宝信通信平台,即进程间数据交互的平台),把数据写入XCOM数据库模块,数据库模块收到数据后把该数据写入数据库,并通知应用。
步骤3、消息处理机制等待各种外部请求,根据请求作相应处理,返回一定的结果,并对相关数据、文件作一定的修改。它所处理的消息主要有三类第一类定时进程发来的定时信息。
XComServer接收到该信息,分别判断是否该发送应答电文,是否该发送模拟电文,是否该发送心跳电文,等待心跳电文的应答是否超时。然后根据判断结果作相应的处理。
第二类XCom提供的用户接口API所发来的信息。主要有三种a、设置心跳电文b、设置自动应答电文c、发送电文在电文发送得到结果(成功或者不成功),都将结果告知XDBServer,XDBServer根据结果,对数据库进行存储,并标明电文是否发送成功;第三类客户端发来的查询、修改、添加、删除等请求。主要有五种1、对外部计算机配置信息的查询2、对外部电文配置信息的查询3、对外部计算机配置信息的修改并将相应的内容传给XDBServer改写相应的数据库中内容;4、在线添加外部计算机的配置信息并将相应的内容传给XDBServer,改写相应的数据库中内容;5、在线修改外部电文配置信息并将相应的内容传给XDBServer,改写相应的数据库中内容;进一步地,本发明可实现1、多协议的支持该系统中有多种特殊的通信协议,XCOM根据面向对象的方法实现对多协议的支持,每个主机对应一个协议,在系统启动时,动态加载对应协议的处理模块。
XCOM中定义了一个协议处理的抽象接口,在此基础上实现了多种协议的处理。在XCOM中每个主机对应一个主机对象,每个主机对象包含一个协议处理对象,该协议处理对象完成和该主机通信的数据处理,也就是说,当应用也发送数据给该主机时,该协议处理对象就在该数据前后封装数据包头部和数据包尾部数据。
2、消息的可靠传输若由于网络故障等原因导致,消息不能正确的进行传输,XCOM保证当故障恢复后,该消息能正常到达目的地,而且还能保证消息的时序性(即先到先发)。
若应用要发送电文,首先应用调用XCOM提供的API,把应用数据插入数据库中(该数据包含电文号,而XCOM中有电文号和主机信息的对应配置),XCOM数据库模块根据时间和消息目的地进行分组取出数据(每个机组取一条记录)。数据库模块通过BSMQ把数据发送给XCOM通信模块进行发送。然后通信模块把发送结果返回给数据库模块。若电文发送成功,则把该电文在数据库中的记录关键字段置为已成功发送标志;若发送失败,XCOM会继续发送该电文,直到该电文发送成功为止,发送成功再取下一条记录。
3、应用集成框架a、在该系统中XCOM在应用服务器(WebLogic)中部署了JMS通知应用,对每一个电文号配置对应的Java处理类名b、XCOM收到外部主机发来的电文后,通过JMS消息(包含电文号以及应用表的记录关键字段信息)发到应用服务器的JMS Queue中c、XCOM在JMS中的应用根据收到的电文截取出其中的电文号和表关键值d、XCOM根据电文得到配置的处理Java类名,把该类名和关键字为参数启动一个线程处理电文4、报表功能用户可以通过画面进行消息处理的查看,也可以对消息进行重发和重收的操作。
权利要求
1.一种网络互连时各终端间的数据通信方法,包括数据接收方法以及数据发送方法,其特征在于,所述的数据接收方法包括如下步骤步骤a、外部通信系统向通信中间装置发送数据,把数据写入数据库中;步骤b、通信中间装置向WebLogic发送JMS消息;步骤c、WebLogic中的XCOM框架根据消息,启动相应的应用程序处理该消息;所述的数据发送方法包括如下步骤步骤d、应用系统向数据库中插入数据;步骤e、通信中间装置从数据库中取出电文;步骤f、通信中间装置根据该电文的具体目的地,封装相应的协议,把电文发送出去。
2.根据权利要求1所述的网络互连时各终端间的数据通信方法,其特征在于,所述的步骤c包括c1、通信中间装置在应用服务器中部署了JMS通知应用,对每一个电文号配置对应的Java处理类名;c2、通信中间装置收到外部主机发来的电文后,通过JMS消息发到应用服务器的JMS Queue中;c3、通信中间装置在JMS中的应用根据收到的电文截取出其中的电文号和表关键值;c4、通信中间装置根据电文得到配置的处理Java类名,把该类名和关键字为参数启动一个线程处理电文
3.根据权利要求1所述的网络互连时各终端间的数据通信方法,其特征在于,所述的通信中间装置处理数据的方法包括如下步骤步骤1、启动时请求从数据库中读取主机和外部电文配置信息;步骤2、启动XcomThread线程,该线程包括如下步骤步骤2-1、启动主机连接线程,按照配置电文中的信息,定期检查与每个外部计算机之间的连接;步骤2-2、开始侦听外部端口,并不断接收外部计算机发来的信息。若有主机发来的数据,则根据主机中的协议处理对电文报文进行拆包,截取出电文号、应用数据等消息,通过BSMQ把数据写入通信中间装置数据库模块,数据库模块收到数据后把该数据写入数据库,并通知应用。步骤3、消息处理机制等待各种外部请求,根据请求作相应处理,返回一定的结果,并对相关数据、文件作一定的修改。
4.根据权利要求3所述的网络互连时各终端间的数据通信方法,其特征在于,其中,步骤3所处理的消息主要有三类第一类定时进程发来的定时信息;第二类通信中间装置提供的用户接口API所发来的信息;第三类客户端发来的查询、修改、添加、删除等请求。
5.根据权利要求4所述的网络互连时各终端间的数据通信方法,其特征在于,所述处理第一类消息的方法包括如下步骤XComServer接收到该信息,分别判断是否该发送应答电文,是否该发送模拟电文,是否该发送心跳电文,等待心跳电文的应答是否超时,然后根据判断结果作相应的处理。
6.根据权利要求4所述的网络互连时各终端间的数据通信方法,其特征在于,所述的处理第二类消息主要包括如下三种a、设置心跳电文b、设置自动应答电文c、发送电文在电文发送得到结果,都将结果告知XDBServer.XDBServer根据结果,对数据库进行存储,并标明电文是否发送成功;
7.根据权利要求4所述的网络互连时各终端间的数据通信方法,其特征在于,所述的第三类消息主要包括如下五种1)、对外部计算机配置信息的查询2)、对外部电文配置信息的查询3)、对外部计算机配置信息的修改并将相应的内容传给XDBServer改写相应的数据库中内容;4)、在线添加外部计算机的配置信息并将相应的内容传给XDBServer,改写相应的数据库中内容;5)、在线修改外部电文配置信息并将相应的内容传给XDBServer,改写相应的数据库中内容;
8.根据权利要求1或3所述的网络互连时各终端间的数据通信方法,其特征在于,所述的通信中间装置中定义了一个协议处理的抽象接口,在通信中间装置中每个主机对应一个主机对象,每个主机对象包含一个协议处理对象,该协议处理对象完成和该主机通信的数据处理。
9.根据权利要求1所述的网络互连时各终端间的数据通信方法,其特征在于,其特征在于,若应用要发送电文,首先应用调用通信中间装置提供的API,把应用数据插入数据库中,通信中间装置数据库模块根据时间和消息目的地进行分组取出数据,数据库模块通过BSMQ把数据发送给通信中间装置通信模块进行发送,然后通信模块把发送结果返回给数据库模块,若电文发送成功,则把该电文在数据库中的记录关键字段置为已成功发送标志;若发送失败,中间通信装置会继续发送该电文,直到该电文发送成功为止,发送成功再取下一条记录。
10.根据权利要求1所述的网络互连时各终端间的数据通信方法,其特征在于,可以通过画面进行消息处理的查看,也可以对消息进行重发和重收的操作。
全文摘要
本发明提供一种网络互连时各终端间的数据通信方法,包括数据接收方法以及数据发送方法,所述的数据接收方法包括如下步骤a、外部通信系统向通信中间装置发送数据,把数据写入数据库中;b、通信中间装置向WebLogic发送JMS消息;c、WebLogic中的XCOM框架根据消息,启动相应的应用程序处理该消息;所述的数据发送方法包括如下步骤d、应用系统向数据库中插入数据;e、通信中间装置从数据库中取出电文;f、通信中间装置根据该电文的具体目的地,封装相应的协议,把电文发送出去。本发明向应用程序提供统一的维护环境和调用接口子程序,用户只需掌握简单的子程序接口,就可以实现各终端之间的数据通信。即可完成应用集成。
文档编号H04L12/54GK1674551SQ200410066868
公开日2005年9月28日 申请日期2004年9月29日 优先权日2004年9月29日
发明者韦伟, 陈晓武 申请人:上海宝信软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1