一种数据交换系统、数据上传方法及数据下载方法与流程

文档序号:15049792发布日期:2018-07-28 00:00阅读:227来源:国知局

本发明涉及通信技术领域,尤其涉及一种数据交换系统、数据上传方法及数据下载方法。



背景技术:

现实生活中,不同的异构信息系统进行数据通讯交互时,需要通过数据交换系统进行数据交换,数据交换系统可以与各信息系统的有机结合,以统一的接口规范实现数据提取、转换、发送、校验、审核、同步和迁移等,为不同数据库和不同数据格式之间提供数据交换服务。

使用数据交换系统使得各信息系统在开发过程中不需要关注数据格式的转换、消息的传输和数据路由等,只需要关注与业务本身的处理部分。

但是,当前使用数据交换系统进行数据交换时,因为数据交换系统和外部信息系统可以双向主动发起连接,如果当数据交换系统采取分布式设置时,可能存在连接到错误节点的问题,所以需要在用数据交换系统内设置节点判断的功能,以确保连接到正确的外部信息系统,这无疑增加了数据交换系统的复杂度和设计难度;如果数据交换系统不采取分布式设置,则数据交换系统对大数据量的处理能力低。

因此,导致了当前数据交换系统和外部信息系统可以双向主动发起连接,当数据交换系统为分布式设置时增加了数据交换系统的复杂度和设计难度,当数据交换系统不为分布式设置时大数据量处理能力低的技术问题。



技术实现要素:

本发明提供了一种数据交换系统、数据上传方法及数据下载方法,解决了当前数据交换系统和外部信息系统可以双向主动发起连接,当数据交换系统为分布式设置时增加了数据交换系统的复杂度和设计难度,当数据交换系统不为分布式设置时大数据量处理能力低的技术问题。

本发明提供了一种数据交换系统,包括:

数据传输单元,被配置为只能通过接收外部信息系统发送的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统;

数据存储单元,被配置为只能通过接收数据传输单元的第二连接请求与数据传输单元建立连接,无法发送第二连接请求至数据传输单元。

优选地,数据传输单元,还被配置为当接收外部信息系统发送的第一文件时,只接收外部信息系统发送的文件上传通知,根据文件上传通知下载第一文件,无法直接接收外部信息系统发送的第一文件,当发送文件至外部信息系统时,只发送文件下载通知至外部信息系统,使得外部信息系统根据文件下载通知下载第二文件。

优选地,数据传输单元具体包括:

服务端口,被配置为只能通过接收外部信息系统的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统;

线程池,被配置为将服务端口接收到的报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元进行处理,其中,报文包括:消息和/或文件;

处理子单元,被配置为对报文进行处理,并将处理后的报文发送至数据存储单元进行存储或从数据存储单元中提取对应的数据通过消息队列发送至外部信息系统。

优选地,线程池,具体被配置为对服务端口接收到的报文进行格式检查,若报文为预置数据格式,则将报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元进行处理。

优选地,处理子单元,具体被配置为通过动态创建报文处理对象技术对报文进行处理,并将处理后的报文发送至数据存储单元进行存储或从数据存储单元中提取对应的数据通过消息队列发送至外部信息系统。

优选地,处理子单元,具体被配置为通过动态创建报文处理对象技术对报文进行处理,并通过数据访问对象和连接池与数据存储单元建立连接,将处理后的报文发送至数据存储单元进行存储或从数据存储单元中提取对应的数据通过消息队列发送至外部信息系统。

本发明提供了一种数据上传方法,用于上述任意一种数据交换系统,包括:

s11:数据传输单元接收外部信息系统发送的第一连接请求,根据第一连接请求与外部信息系统建立连接;

s12:数据传输单元接收外部信息系统发送的报文,并发送第二连接请求至数据存储单元;

s13:数据存储单元接收第二连接请求,根据第二连接请求与数据传输单元建立连接并接收数据传输单元发送的报文进行存储。

优选地,步骤s12具体包括:

s121:服务端口接收外部信息系统发送的报文;

s122:线程池对报文进行格式检查,若报文为预置数据格式,则执行步骤s123;

s123:线程池将报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元进行处理;

s124:处理子单元通过动态创建报文处理对象技术对报文进行处理,并通过数据访问对象和连接池发送第二连接请求至数据存储单元。

本发明提供了一种数据下载方法,用于上述任意一种数据交换系统,包括:

s21:数据传输单元接收外部信息系统的第一连接请求,根据第一连接请求与外部信息系统建立连接;

s22:数据传输单元接收外部信息系统发送的报文,并发送第二连接请求至数据存储单元;

s23:数据存储单元接收第二连接请求,根据第二连接请求与数据传输单元建立连接并接收数据传输单元发送的报文,根据报文内的数据请求指令获取对应的数据,通过数据传输系统将数据发送至外部信息系统。

优选地,步骤s23具体包括:

s231:数据存储单元接收第二连接请求,根据第二连接请求与数据传输单元建立连接并接收数据传输单元的处理子单元发送的报文;

s232:数据存储单元根据报文内的数据请求指令获取对应的数据,通过数据传输系统将数据发送至线程池的消息队列;

s233:线程池的消息队列通过服务端口将消息发送至外部信息系统。

从以上技术方案可以看出,本发明具有以下优点:

本发明提供了一种数据交换系统,包括:数据传输单元,被配置为只能通过接收外部信息系统发送的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统;数据存储单元,被配置为只能通过接收数据传输单元的第二连接请求与数据传输单元建立连接,无法发送第二连接请求至数据传输单元。

本发明提供的数据交换系统采用被动通讯方式设计,数据传输单元,被配置为只能通过接收外部信息系统发送的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统,使得数据传输单元无论在分布式设置还是非分布式设置中都无需设置节点判断功能即可实现与外部信息系统的准确连接,同时数据存储单元也被配置为只能通过接收数据传输单元的第二连接请求与数据传输单元建立连接,无法发送第二连接请求至数据传输单元,使得数据传输单元可以采取分布式设置时,数据存储单元不需对应设置节点判断功能以保证与数据传输单元的正确连接,解决了当前数据交换系统和外部信息系统可以双向主动发起连接,当数据交换系统为分布式设置时增加了数据交换系统的复杂度和设计难度,当数据交换系统不为分布式设置时大数据量处理能力低的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种数据交换系统的一个实施例的结构示意图;

图2为本发明实施例提供的一种数据上传方法的一个实施例的流程示意图;

图3为本发明实施例提供的一种数据下载方法的一个实施例的流程示意图;

图4为本发明实施例提供的一种双向通信连接示意图;

图5为本发明实施例提供的一种单向通信上传数据示意图;

图6为本发明实施例提供的一种单向通信下载数据示意图;

图7为本发明实施例提供的一种单向通信链路测试示意图;

其中,图1的附图标记如下:

1、数据传输单元;2、数据存储单元;11、服务端口;12、线程池;13、处理子单元;131、报文处理实例;132、数据访问对象;133、连接池。

具体实施方式

本发明实施例提供了一种数据交换系统、数据上传方法及数据下载方法,解决了当前数据交换系统和外部信息系统可以双向主动发起连接,当数据交换系统为分布式设置时增加了数据交换系统的复杂度和设计难度,当数据交换系统不为分布式设置时大数据量处理能力低的技术问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1以及图4至图7,本发明实施例提供了一种数据交换系统的一个实施例,包括:

数据传输单元1,被配置为只能通过接收外部信息系统发送的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统;

数据存储单元2,被配置为只能通过接收数据传输单元1的第二连接请求与数据传输单元1建立连接,无法发送第二连接请求至数据传输单元1。

需要说明的是,传统的数据交换系统中,因为数据交换系统和外部信息系统可以双向通信(如图4所示),如果数据交换系统中的数据传输单元1采取分布式设置,则可能数据传输单元1需要主动与外部信息系统连接时,所以为了避免连接到错误的外部信息系统的节点,需要在数据交换系统中设置判断节点是否正确的功能,增加了数据交换系统的复杂度和设计难度。

而本实施例中的数据交换系统,采用被动通讯方式设计,限制数据传输系统与外部信息系统的通讯方式为单向通讯,数据传输单元1只能单向通过接收外部信息系统发送的第一连接请求与外部信息系统建立连接,无法主动发送第一连接请求与外部信息系统建立连接,以此确保数据传输单元1能够绝对准确地与对应的外部信息系统建立连接,而不会因为主动连接而连接到错误的外部信息系统节点,连接方式如图5和图6所示;

数据存储单元2(数据库)和数据传输单元1之间也是采用被动通讯方式设计,限制数据存储单元2与数据传输单元1的通讯方式为单向通讯,数据存储单元2只能单向通过接收数据传输单元1发送的第二连接请求与数据传输单元1建立连接,无法主动发送第一连接请求与数据传输单元1建立连接,以此避免当数据传输单元1采取分布式设置时因数据存储单元2主动连接时连接错误节点导致数据泄露的情况发生。

数据传输单元1和数据存储单元2之间的接口通信协议采用tcp/ip协议,通过tcp端口发送的,所有的信息都是以用大端字节序编码,所有字段都允许十六进制0x00-0xff。

数据报文结构由数据包头和数据包体两部分组成,其中数据包头是固定长度,数据包体的长度可变,长度在包头相应字段指定,如表1所示:

表1.数据报文结构表

数据包头固定6个字节,由开始标识、数据包序号、报文数据类型、数据包长度等组成,定义如表2所示:

表2.数据包体结构表

数据包体的第1个字段为消息里面包含的状态数据个数。每个状态数据包含位置id、子系统id、寄存器地址、数据采集时间和数值5个字段,占用28字节,定义如表3所示:

表3.数据包体结构表

报文示例如下:

链路测试请求:fe0000310000,链路测试响应:fe0000320000;

a站psd子系统数据点(寄存器地址为501.6)在2016年07月15日09:21:52时状态变为1;

a站afc子系统数据点(寄存器地址为3027)在2016年07月15日09:21:53时状态变为157231;

数据请求为:

fe00713300390233323550312e362020203230313630373135303932313532000000013331333032372020202032303136303731353039323135330002662f。

通信方式采用主从方式,数据传输单元1作为主机(tcp客户端),数据存储单元2作为从机(tcp服务端),请求由主机发起,从机对请求进行响应,提供所需要的数据到主机,然后执行查询中要求的行动。

由于数据传输单元1采用分布式方式部署,因此线路中的数据存储系统的接口服务器应能够同时支持多个tcp客户端连接,单个tcp客户端通信异常,不影响其它tcp客户端的通信。

第一连接请求和第二连接请求为tcp请求,这种单向发送请求的方式便于数据交换系统中数据传输单元1的分布式部署,提高数据交换系统的数据处理能力和安全性。

进一步地,数据传输单元1,还被配置为当接收外部信息系统发送的第一文件时,只接收外部信息系统发送的文件上传通知,根据文件上传通知下载第一文件,无法直接接收外部信息系统发送的第一文件,当发送文件至外部信息系统时,只发送文件下载通知至外部信息系统,使得外部信息系统根据文件下载通知下载第二文件。

需要说明的是,当前数据交换系统和外部信息系统都具备直接上传和下载文件的权限(ftp读写权限),但是这种方式安全性低,为了避免外部信息系统直接上传危险文件或者数据交换系统将危险文件发送给外部信息系统,本实施例中数据传输单元1和外部信息系统之间不直接上传和下载文件,当需要上传文件或者发送文件时,发送对应的文件上传通知和文件下载通知。

如外部信息系统需要上传文件,则发送文件上传通知到数据传输单元1,数据传输单元1接收到文件上传通知后可根据需要对文件的安全性进行检测,如果检测通过再根据文件上传通知从外部信息系统下载文件,不需要赋予外部信息系统写入权限即可实现文件上传。

如数据交换系统需要发送文件到外部信息系统,则发送文件下载通知到外部信息系统,外部信息系统接收到文件下载通知后可根据需要对文件的安全性进行检测,如果检测通过再根据文件下载通知从数据传输单元1下载文件,不需要赋予数据传输单元1写入权限即可实现文件下载。

通过文件上传通知和文件下载通知的方式进行文件传输,使得数据交换系统和外部信息系统不需要赋予对方写入权限即可实现文件交互,避免因直接上传文件和发送文件导致的安全性问题。

进一步地,数据传输单元1具体包括:

服务端口11,被配置为只能通过接收外部信息系统的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统;

线程池12,被配置为将服务端口11接收到的报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元13进行处理,其中,报文包括:消息和/或文件;

处理子单元13,被配置为对报文进行处理,并将处理后的报文发送至数据存储单元2进行存储或从数据存储单元2中提取对应的数据通过消息队列发送至外部信息系统。

需要说明的是,服务端口11负责数据传输单元1对外连接的通道,,被配置为只能通过接收外部信息系统的第一连接请求与外部信息系统建立连接,无法发送第一连接请求至外部信息系统。

线程池12可将服务端口11接收到的报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元13进行处理,每一条消息队列都有对应的优先级,优先级越高,则越优先处理,同一条消息队列内的报文优先级相同,则按照到达消息队列的先后顺序进行处理,其中,报文包括:消息和/或文件。

处理子单元13可对报文进行处理,如果处理后的报文是需要存储入数据存储单元2的数据,则将处理后的报文发送至数据存储单元2进行存储,如果处理后的报文是需要从数据存储单元2中提取数据的数据请求指令,则从数据存储单元2中提取对应的数据通过消息队列发送至外部信息系统。

进一步地,线程池12,具体被配置为对服务端口11接收到的报文进行格式检查,若报文为预置数据格式,则将报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元13进行处理。

需要说明的是,当前的数据交换系统并未对交互数据的格式进行定义,因此各个外部信息系统的交互数据的格式种类繁多,数据校验的难度极高;

因此本实施例的数据交换系统中对数据格式进行了严格定义,线程池12对报文分配消息队列之前先对接收到的报文进行格式检查,如果报文是预置数据格式,才进行下一步操作,将报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元13进行处理。

如果报文不是预置数据格式,则不对齐进行处理,从而只接收外部信息系统合法的报文(消息和文件),限制了数据格式的种类,降低数据校验的难度。

进一步地,处理子单元13,具体被配置为通过动态创建报文处理对象技术对报文进行处理,并将处理后的报文发送至数据存储单元2进行存储或从数据存储单元2中提取对应的数据通过消息队列发送至外部信息系统。

需要说明的是,数据交换系统中处理子单元13对报文进行处理时,根据不同报文的标识动态创建报文的处理对象,如进站、出站客流报文,分别对应的处理对象为message13、message14,13和14为进站、出站客流报文的标识。

由于动态创建报文处理对象(报文处理实例131),因此当新增报文时,仅需新增对应的报文处理类别即可。

动态创建报文处理对象技术中动态创建报文的处理对象提高了数据交换系统的扩展性,降低了数据交换系统各单元的耦合性。

进一步地,处理子单元13,具体被配置为通过动态创建报文处理对象技术对报文进行处理,并通过数据访问对象132和连接池133与数据存储单元2建立连接,将处理后的报文发送至数据存储单元2进行存储或从数据存储单元2中提取对应的数据通过消息队列发送至外部信息系统。

需要说明的是,处理子单元13对报文进行处理过后,可以通过数据访问对象132和连接池133与数据存储单元2建立连接。

通过连接池133进行连接可以使得数据传输单元1与数据库(数据存储单元2)的连接得到重用,避免了频繁创建和释放连接引起的大量性能开销,减少数据交换系统的消耗,另一方面,也增进了数据交换系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量),提高了数据交换系统的性能。

除此之外,处理子单元13通过数据访问对象132和连接池133与数据存储单元2连接时,当处理子单元13与数据存储单元2的连接闲置第一预置时间长度(如5分钟)或发生故障(没有反应)时,则进行链路测试(如图7所示),处理子单元13每隔第二预置时间长度(如1s)发送一次测试请求,数据存储单元2接收到测试请求之后需要返回测试响应,如果连续发送预置次数(如10次)的测试请求都无测试响应,则链接失败,处理子单元13重新与数据存储单元2建立连接。

数据交换系统是实时大数据量处理系统,多个外部信息系统的线路(lc)通过数据传输单元1的服务端口11与数据交换系统建立数据通道连接,随着线路的开通,多个外部信息系统同时连接至数据交换系统。

外部信息系统和数据交换系统建立连接之后,实时交换数据,包括状态和客流等数据报文、参数报文和交易文件通知报文等。

服务端口11接收到的数据报文按照优先级规则放出处理线程池12的消息队列中,消息队列分优先级,高优先级队列的报文有限处理,同一队列的消息按抵达时间顺序先后处理。

通过动态创建报文处理对象技术,不同类型的报文创建不同的报文处理实例131(报文处理对象)进行处理,处理实例对报文进行解释和格式转换。

处理后的报文通过数据访问对象132使用连接池133的连接访问数据库,将数据写入库表。

综上所述,本实施例中的数据交换系统采取被动通讯方式进行设计,使得数据交换系统处于分布式设置时无需在数据交换系统中设置判断节点是否正确的功能即可实现数据传输单元1的分布式设置,不需要增加数据交换系统的复杂度和设计难度。

采用文件上传通知和文件下载通知的文件交互方式,从而数据交换系统和外部信息系统无需直接赋予对方写入权限即可实现文件交互,提高了文件交互的安全性。

通过线程池12对各个报文的优先级进行划分,分配到不同优先级的消息队列进行处理,避免频繁创建线程带来的开销,提高了数据交换系统的整体性能。

线程池12对报文进行分类之前先对报文进行格式检查,如果不是预置数据格式则不进行处理,对交互数据的数据格式进行了严格定义,减少了数据格式的种类,降低数据校验的难度。

处理子单元13对报文进行处理时,通过动态创建报文处理对象技术进行处理,提高了数据交换系统的扩展性,降低了数据交换系统各单元的耦合性。

处理子单元13通过连接池133与数据库(数据存储单元2)进行连接,减少数据交换系统的消耗,也增进了数据交换系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量),提高了数据交换系统的性能。

所以本实施例的数据交换系统解决了当前数据交换系统和外部信息系统可以双向主动发起连接,当数据交换系统为分布式设置时增加了数据交换系统的复杂度和设计难度,当数据交换系统不为分布式设置时大数据量处理能力低的技术问题。

以上为本发明实施例提供的一种数据交换系统的一个实施例,以下为本发明实施例提供的一种数据上传方法的一个实施例。

请参阅图2,本发明实施例提供了一种数据上传方法的一个实施例,包括:

步骤201:数据传输单元接收外部信息系统发送的第一连接请求,根据第一连接请求与外部信息系统建立连接;

步骤202:服务端口接收外部信息系统发送的报文;

步骤203:线程池对报文进行格式检查,若报文为预置数据格式,则执行步骤204;

步骤204:线程池将报文根据优先级分配至对应的消息队列,并通过消息队列将报文发送到处理子单元进行处理;

步骤205:处理子单元通过动态创建报文处理对象技术对报文进行处理,并通过数据访问对象和连接池发送第二连接请求至数据存储单元;

步骤206:数据存储单元接收第二连接请求,根据第二连接请求与数据传输单元建立连接并接收数据传输单元发送的报文进行存储。

以上为本发明实施例提供的一种数据上传方法的一个实施例,以下为本发明实施例提供的一种数据下载方法的一个实施例。

请参阅图3,本发明实施例提供了一种数据下载方法的一个实施例,包括:

步骤301:数据传输单元接收外部信息系统的第一连接请求,根据第一连接请求与外部信息系统建立连接;

步骤302:数据传输单元接收外部信息系统发送的报文,并发送第二连接请求至数据存储单元;

步骤303:数据存储单元接收第二连接请求,根据第二连接请求与数据传输单元建立连接并接收数据传输单元的处理子单元发送的报文;

步骤304:数据存储单元根据报文内的数据请求指令获取对应的数据,通过数据传输系统将数据发送至线程池的消息队列;

步骤305:线程池的消息队列通过服务端口将消息发送至外部信息系统。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1