网关服务器以及银行数据处理系统的制作方法

文档序号:6607896阅读:205来源:国知局
专利名称:网关服务器以及银行数据处理系统的制作方法
技术领域
本发明涉及网络通信技术领域,具体地,涉及一种网关服务器以及银行数据处理 系统。
背景技术
网关是连接主机和各个开放平台的重要通信环节,所有由主机处理的数据都需经 过网关流转。同时,网关作为一类服务器,长期运行后必然存在技术升级或重启复位等操 作,目前一般选择凌晨交易量较少的时间进行网关重启。在需要7X24小时提供服务情况 下,网关的重启将严重影响企业系统的正常运行,容易导致交易上下不一致等事件,严重时 会发生数据库已变更、而数据无法实时下传到开发平台的事故,导致数据不一致性或发生 生产事故。因此,如何提高网关系统的可用性,保证其7X24小时的100%提供服务,一直是 各企业的迫切要求。

发明内容
本发明实施例的主要目的在于提供一种网关服务器以及银行数据处理系统,以解 决现有的银行网关在重启时导致的数据不一致、从而发生生产事故的问题。为了实现上述目的,本发明实施例提供一种网关服务器,包括多个具有平行部署 结构的网关节点,该网关节点包括状态标记单元,用于标记网关节点的当前状态,其中,所 述的状态包括重启、或者正常;银行数据收发单元,用于在所述状态标记单元标记的网关 节点状态为正常时,接收需要上送主机的银行数据;上行数据存储单元,用于存储所述银行 数据接收单元接收的银行数据;主机数据收发单元,用于将所述上行数据存储单元存储的 银行数据发送给所述主机进行处理、以及接收所述主机处理后的结果数据;下行数据存储 单元,用于存储所述主机数据收发单元接收的结果数据;重启单元,用于根据预设置的重启 命令执行网关节点的重启操作。优选地,上述的银行数据收发单元还用于将所述下行数据存储单元存储的结果 数据发送给前置服务器。上述网关节点还包括超时处理单元,用于判断所述主机数据收发单元发送给主 机的银行数据是否在预定时间内接收到所述结果数据,如果未在预定时间接收到所述结果 数据,则将超时提示发送给所述银行数据收发单元。具体地,状态标记单元包括状态检查模块,用于检查网关节点的当前状态;状态 标记模块,用于根据所述重启单元的重启操作、以及所述当前网关节点的状态标记所述网 关节点的状态。本发明实施例还提供一种银行数据处理系统,该系统包括上述的网关服务器、用 于处理银行数据的主机、以及前置服务器,所述的前置服务器通过所述的网关服务器将银 行数据发送给所述的主机,其中,所述的前置服务器包括网关节点信息获取单元,用于获知所述网关服务器中各网关节点的IP地址和端口信息;连接建立单元,用于至少与所述网 关服务器中的两个网关节点建立通信连接;数据发送单元,用于将所述银行数据发送给所 述连接建立单元建立的一个网关节点;反馈信息接收单元,用于接收来自所述网关服务器 返回的结果数据、以及所述的结果数据为上送失败时的失败原因。借助于上述技术方案至少之一,通过根据每个网关节点的当前状态来确定是否该 网关节点来上送银行数据,对于处于重启状态的网关节点,就可以不再通过该网关节点上 传银行数据,可以克服现有技术中的由于银行网关在重启时导致的数据不一致而导致的生 产事故的问题,从而有效避免数据的不一致的问题,降低了生产事故的发生率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。图1是根据本发明实施例的网关服务器的结构框图;图2是根据本发明实施例的状态标记单元111的结构框图;图3是根据本发明实施例的网关节点的结构框图;图4是根据本发明实施例的主处理单元118、超时处理单元117、重启单元116以 及状态标记单元111的逻辑结构框图;图5是根据本发明实施例的网关服务器不间断服务的实现流程图;图6是根据本发明实施例的网关服务器的工作流程图;图7是根据本发明实施例的银行数据处理系统的结构框图;图8是根据本发明实施例的前置服务器3的结构框图;图9是根据本发明实施例的前置服务器3与网关服务器1的工作流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。由于现有技术中的银行网关在重启或者更新升级时,无法提供正常的服务,从而 导致了交易数据的不一致,进而将导致生产事故。基于此,本发明实施例提供一种网关服务 器以及银行数据处理系统,以解决上述问题。以下结合附图对本发明实施例进行详细说明。实施例一本发明实施例提供一种网关服务器,该网关服务器包括多个具有平行部署结构的 网关节点,如图1所示,该网关节点11包括状态标记单元111,用于标记当前网关节点的状态,其中,状态包括重启、或者正 常;银行数据收发单元112,用于在状态标记单元标记的网关节点状态为正常时,接收
5需要上送主机的银行数据;上行数据存储单元113,用于存储银行数据接收单元接收的银行数据;主机数据收发单元114,用于将上行数据存储单元存储的银行数据发送给主机进 行处理、以及接收主机处理后的结果数据;下行数据存储单元115,用于存储主机数据收发单元接收的结果数据;重启单元116,用于根据预设置的重启命令执行网关节点的重启操作。由以上描述可以看出,通过银行数据收发单元根据状态标记单元标记的每个网关 节点的当前状态,确定可以用于上送数据的网关节点,并通过下行数据存储单元存储主机 反馈的结果数据,可以获知银行数据是否上送成功,这样,对于处于重启状态的网关节点, 就可以不再通过该网关节点上传银行数据,并且通过下行数据存储单元可以获知数据是否 上送成功,从而有效避免了数据不一致的问题,通过本发明实施例可以克服现有技术中的 由于交易数据不一致而导致的生产事故问题。具体地,上述的银行数据收发单元112还可以将下行数据存储单元存储的结果数 据发送给前置服务器,该前置服务器用于发送需要上送给主机处理的银行数据,一般为需 要连接主机的众多平台应用服务器,例如前置系统、新终端系统、其他交易服务器等。如图2所示,状态标记单元111包括状态检查模块1111,用于检查网关节点的当前状态;状态标记模块1112,用于根据重启单元的重启操作、以及当前网关节点的状态标 记网关节点的状态。通过状态标记单元实时的标记网关节点的当前状态,在该网关节点需要重启时, 则状态标记模块1112就可以将该网关节点的状态标记为“重启”,前置服务器就不会选择 该网关节点进行传输银行数据,从而避免了数据的不一致问题。图3是根据本发明实施例的网关节点的结构框图,以下结合图3所示的框图,对上 述各单元进行详细的描述。银行数据收发单元112接收下端前置服务器发起的连接请求,有新建连接请求时 建立socket连接,创建子进程读取应用发起的合法交易数据,将交易数据发送至上行数据 存储单元113。这里的上行数据存储单元113是系统消息队列,网关节点中包括至少一个上 行数据存储单元113,用于存放各需要上送的交易数据。下行数据存储单元115也是系统消 息队列,网关节点中也包括至少一个下行数据存储单元115,用于存放主机处理后返回的交 易数据或者结果数据,然后将返回的交易数据或者结果数据通过银行数据收发单元112发 送给前置服务器。主机数据收发单元114实时读取上行数据存储单元113存储的数据并将数据发送 给主机,并等待主机处理后返回的交易数据或结果数据,然后将返回的交易数据或结果数 据发送到下行数据存储单元115。状态标记单元111用于标记当前网关节点的状态,该状态包含“正常”、“重启”两 种。重启单元116提供网关节点的自动重启服务功能。状态标记单元111根据重启单元 116执行的重启服务,检查网关节点的工作状态,当网关节点为工作正常时,状态标记单元 111修改网关节点状态为“重启”,当完成网关节点重启操作后,状态标记单元111修改网关 节点状态为“正常”。重启单元116可以是一项实时服务程序,提供实时重启服务。该预设置的重启命令可以是一个按月或按天的定时服务,实现网关节点的定期重启。状态标记单元111根据重启单元116的重启操作进行标记,以供银行数据收发单 元112、主机数据收发单元114实时读取,进而确定是否选择该网关节点进行传输数据。该 状态标记单元111可以是一块系统共享内存,也可以是一个公共区域的文件标识符。优选地,网关节点11还包括超时处理单元,用于判断主机数据收发单元发送给 主机的银行数据是否在预定时间内接收到结果数据,如果未在预定时间接收到结果数据, 则将超时提示发送给银行数据收发单元,进而将结果数据发送给前置服务器,这样,前置服 务器就会重新发送银行数据,以保证数据的上下一致性。在具体实施过程中,网关节点可以包含一主处理单元,用于控制超时处理单元、重 启单元以及状态标记单元,以实现网关无缝重启等功能。图4为主处理单元118、超时处理 单元117、重启单元116以及状态标记单元111的逻辑结构框图,以下结合图4所示的逻辑 结构,详细描述这几个单元的工作原理。状态标记单元111标记网关节点的当前状态。网关进程在处理每笔交易(该交 易,即指银行数据)上送主机前都必须检查该状态标记单元111 当状态标记单元111标记 “正常”时,交易正常上送;当状态标记单元111标记“重启”时,交易不再上送,并返回错误 提示,以提示选择其他网关节点进行上送。状态标记单元111可以是一块共享内存,或是一 个公共的文件标示符。银行数据收发单元、主机数据收发单元可以实时读取状态标记单元 111标记的状态,以确定是否选择该网关节点进行上送数据。具体地,状态标记单元111包括状态检查模块1111和状态标记模块1112,其中 状态检查模块1111用于检查当前网关进程的工作状态,并将检查结果反馈给主处理单元 118。主处理单元118接收到外部的重启命令,读取相应配置文件,获得网关工作进程的名 字,查找当前系统中,是否存在正常工作的网关进程如存在,说明网关正常工作;如进程 不存在,说明网关异常或未启动,最后将网关工作状态反馈给主处理单元118。状态标记模块1112用于标记当前网关节点的状态,当主处理单元118接收到重启 命令,调用状态检查模块1111检查网关节点的状态,然后根据状态检查模块1111反馈的结 果调用状态标记模块1112将状态标记为“重启”,进入等待交易返回阶段。当所有的正常交 易都返回后,主处理单元118调用状态标记模块1112将状态标记为“正常”。超时处理单元117用于处理等待交易返回的过程。当主处理单元118通过调用状 态标记模块1112标记网关节点状态为“重启”时,网关节点处于重启状态,此时不再接收新 数据,但也并不立刻退出,而是等待由该网关节点已上送主机的数据返回。等待时间由超时 机制控制,在此时间内,按正常流程,所有正常交易已返回。超过该时间时,该网关节点不在 等待,发送给前置服务器交易超时提示。当主处理单元118等待超时处理单元117工作结束后,调用重启单元116结束网 关节点的工作。该重启单元可以调用原有网关的退出命令,或者采用直接关闭网关进程的 系统命令,然后判断是继续重启操作或者是正常停机。如果是正常停机,则主处理单元118 调用状态标记模块1112将状态标记单元111修改至“正常”,以防止下次网关正常启动后, 检查到“重启”状态而不能正常工作,然后主处理单元118自动退出即可。如果需要重启, 则主处理单元118调用状态标记模块1112将状态标记单元111修改至“正常”,然后将网关 节点启动,完成重启操作。
需要说明的是,网关重启分两种一种是日常定时重启服务器(如上述的重启程 序);另一种是需要停掉服务以便更新网关程序(类似重装程序),这种情况下就相当于正 常退出,完全停机后可进行程序安装等操作。图5是网关服务器不间断服务的实现流程图,该流程包括如下步骤步骤501,重启单元116启动,该启动可以是手工操作,进行网关服务器的实时重 启功能,该启动也可以添加到定时作业里面,实现按月或按日的规定时间重启。服务进程 启动后,读取配置文件,获得网关进程名以及超时等待时间等参数,以完成进程的初始化操 作;步骤502,状态检查模块1111检查网关节点的当前状态,如果正在工作,则进入步 骤503,如果网关节点未启动,则说明无需重启服务,进入步骤509,并返回错误提示;步骤503,如果存在正常服务的网关进程,则主处理单元118调用状态标记模块 1112标记当前状态为“重启”,表示网关服务器处于重启状态;步骤504,在状态标记模块1112标记当前状态为“重启”之后,按照预定的等待时 间,等待交易正常返回。该等待时间大于预先设置的交易等待时间,一直未返回或在终端等 待时间之后返回的交易,认为是异常超时交易;步骤505,在等待时间之后,所有正常交易已返回,主处理单元118调用重启单元 116,结束所有网关进程;步骤506,所有网关进程关闭后,主处理单元118调用状态标记模块1112标记当前 状态为“正常”,等待网关启动或升级操作;步骤507,判断网关是升级还是启动,如果网关需要升级,重启单元退出后,可进行 更换网关程序、重启系统等操作;如果是重启网关操作,则调用状态标记模块1112标记当 前状态为“正常”后进入步骤508 ;步骤508,启动网关进程,完成网关无缝重启流程;步骤509,如果状态检查模块1111检查到网关节点未启动,则说明重启操作不需 要,将网关未启动状态反馈给管理员,以进行异常处理;步骤510,如果不需要重新启动网关,则状态标记模块1112标记当前状态为“正
常”,结束重启流程。图6是网关服务器的工作流程图,如图6所示,该流程包括步骤600,网关服务器单元20启动,可以是手工启动,这一般是网关节点开始正常 工作,用于完成网关正常工作的配置文件读取、正常初始化等工作;步骤601,监听服务端口,网关服务器1与前置服务器3是服务器与客户端的关系, 网关服务器作为服务端,开放一个监听端口,该端口可以从配置文件中读取,网关服务器启 动时,该端口不能被占用。银行数据收发单元在该端口,按指定的协议簇和套接字类型上建 立帧听套接字,并将指定的端口绑定到该套接字,创建监听套接口,读取前置服务器3上送 的数据,并进行数据校验,转码等处理;步骤602,接收到合法数据后,检查状态标记单元,判断网关节点是否处于重启状 态当处于“重启”时,则进入步骤607,并将该状态返回给前置服务器;当处于“正常”时, 则该交易可正常进行,进入步骤603 ;步骤603,网关节点工作正常,新交易按应用号被放入上行数据存储单元,等待主机数据收发单元的读取,主机数据收发装置根据不同的应用号将交易上送至相应主机;步骤604,交易数据放入上行数据存储单元后,子进程采取堵塞式方式在下行数据 存储单元等待交易返回,并设置超时等待时间,如果在等待时间内交易未返回,则将超时结 果返回给终端;步骤605 如果在规定时间内等待到交易返回,则将主机处理后的交易数据或者 处理结果打包发送给前置服务器,至此完成一笔交易;或将超时结果发送到前置服务器,并 返回步骤601继续等待该连接的新交易数据的到来;步骤606 将处理后的交易数据返回前置服务器后,并检查状态标记单元,判断网 关节点是否处于重启状态当处于“重启”状态时,进入步骤607,关闭该连接;当处于“正 常”状态时,则返回步骤601,继续等待交易数据;步骤607 当网关处于“重启中”状态,返回网关处于重启状态的信息到前置服务 器,关闭该连接,网关子进程退出。实施例二本发明实施例还提供一种包含上述网关服务器的银行数据处理系统,如图7所 示,该系统还包括用于处理银行数据的主机2、以及前置服务器3,前置服务器3通过网关 服务器1将银行数据发送给主机2进行处理,主机将处理后的数据通过网关服务器1返回 给前置服务器3。网关服务器1主要用于银行数据的交换,为开放平台和主机系统之间的透明交互 提供了平台。具体地,网关服务器1由多个具有平行部署结构的网关节点组成,交易的流 向是单向过程,数据的流向是双向过程,交易由前置服务器3发起,主机作为处理数据的核 心,处理后的数据依原路通过网关返回给前置服务器3。主机2可以是大型计算机,也可以是中、小型计算机,主要功能是运行处理银行各 种业务交易数据。主机2可以包括一主机外联装置,用于实现主机的对外通信,负责与网关 服务器进行数据的交换。前置服务器3 —般为需要连接核心主机的众多平台应用服务器。例如前置系统、 新终端系统、其他交易服务器等。前置服务器需具备负载均衡机制,能同时连接多台网关节 点,以保证连接的可靠性。同时具有重连机制,当检查到需要连接的多台网关节点中有不能 连接的情况时,定时尝试发起到该网关节点的长连接,直到连接建立,以保证当网关节点工 作恢复正常时,能够及时连接进行通信。在具体实施过程中,前置服务器3至少需要连接两 个网关节点,以防止在一台网关节点宕机或不能正常工作时无法进行通信的情况,这样可 以保证与主机2的正常通信。具体地,图8是前置服务器3的结构框图,如图8所示,该前置服务器3包括网关节点信息获取单元31,用于获知网关服务器中各网关节点的IP地址和端口 fn息;连接建立单元32,用于至少与网关服务器中的两个网关节点建立通信连接;数据发送单元33,用于将银行数据发送给连接建立单元建立的一个网关节点;反馈信息接收单元34,用于接收来自网关服务器返回的结果数据、以及结果数据 为上送失败时的失败原因。通过连接建立单元32至少与网关服务器中的两个网关节点建立通信连接,可以
9保证上送银行数据到主机的成功率,通过反馈信息接收单元34获知上送失败原因,可以及 时调整上送方式,进一步保证了数据的上送成功率。图9是前置服务器3与网关服务器1的工作流程图,该流程包括步骤900,前置服务器3启动服务,读取配置,获知需连接的网关服务器1中各个网 关节点的IP地址以及端口,开始与登记的各个网关节点建立连接,每个前置服务器3可配 置多个网关节点的连接信息,至少需要与两台网关节点连接成功;步骤901,如果登记在配置文件中的网关节点连接成功,则更新连接池状态,将该 连接记录下来,该连接池用于记录前置服务器3与各个网关节点的连接状态;如果连接失 败,则定时尝试恢复该连接,以保证当该网关节点工作正常时,能及时建立通信;步骤902,实时更新连接池的状态,当连接建立时,添加连接,当连接关闭时,删除 该连接;步骤903,前置服务器3发起交易时,随机选择连接池中的一条成功连接上送数 据,因为网关节点采用平行部署的方式,交易数据从任意一台网关节点都能正常上送到主 机3 ;步骤904,前置服务器3上送数据并等待网关服务器1的返回,判断交易是否上送 成功,如果连接被关闭,则获知失败原因;步骤905,上送交易失败,接收网关服务器1返回的原因,做相应错误提示处理,如 果该连接的网关处于重启状态,则跳转到步骤902,更新连接池的状态,将该连接从连接池 中删除,同时重新选择连接发送该交易;步骤906,如果交易上送成功,等待交易数据返回,至此完成一笔成功交易;关闭 该连接,或者重新开始一笔新的交易。通过上述的前置服务器3与网关服务器1的工作流程,可以实现不间断服务,克服 了现有技术中的网关在重启时导致的数据不一致、从而发生生产事故的问题。综上所述,本发明实施例提供了一种能够实现不间断服务的网关服务器及其系 统,网关服务器在重启的整个过程都是系统自动完成,可以减少人工干预,同时设计了重启 状态,可以避免交易上下不一致的情况发生。采用多个网关节点,多套网关节点轮流重启, 实现了网关服务器的无缝重启,解决了网关重启或更新时暂停服务对银行业务的影响,保 证了网关系统能够7X24小时内100%的可用性,提高了银行的客户服务水平。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通 过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如 ROM/RAM、磁碟、光盘等。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保 护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本 发明的保护范围之内。
权利要求
一种网关服务器,包括多个具有平行部署结构的网关节点,其特征在于,所述的网关节点包括状态标记单元,用于标记网关节点的当前状态,其中,所述的状态包括重启、或者正常;银行数据收发单元,用于在所述状态标记单元标记的网关节点状态为正常时,接收需要上送主机的银行数据;上行数据存储单元,用于存储所述银行数据接收单元接收的银行数据;主机数据收发单元,用于将所述上行数据存储单元存储的银行数据发送给所述主机进行处理、以及接收所述主机处理后的结果数据;下行数据存储单元,用于存储所述主机数据收发单元接收的结果数据;重启单元,用于根据预设置的重启命令执行网关节点的重启操作。
2.根据权利要求1所述的网关服务器,其特征在于,所述的银行数据收发单元还用于 将所述下行数据存储单元存储的结果数据发送给前置服务器。
3.根据权利要求2所述的网关服务器,其特征在于,所述的网关节点还包括超时处理单元,用于判断所述主机数据收发单元发送给主机的银行数据是否在预定时 间内接收到所述结果数据,如果未在预定时间接收到所述结果数据,则将超时提示发送给 所述银行数据收发单元。
4.根据权利要求1所述的网关服务器,其特征在于,所述的状态标记单元包括 状态检查模块,用于检查网关节点的当前状态;状态标记模块,用于根据所述重启单元的重启操作、以及所述当前网关节点的状态标 记所述网关节点的状态。
5.一种银行数据处理系统,所述的系统包括如权利要求1所述的网关服务器、用于处 理银行数据的主机、以及前置服务器,其特征在于,所述的前置服务器通过所述的网关服务 器将银行数据发送给所述的主机,其中,所述的前置服务器包括网关节点信息获取单元,用于获知所述网关服务器中各网关节点的IP地址和端口信息;连接建立单元,用于至少与所述网关服务器中的两个网关节点建立通信连接; 数据发送单元,用于将所述银行数据发送给所述连接建立单元建立的一个网关节点; 反馈信息接收单元,用于接收来自所述网关服务器返回的结果数据、以及所述的结果 数据为上送失败时的失败原因。
6.根据权利要求5所述的系统,其特征在于,所述的银行数据收发单元还用于将所述 下行数据存储单元存储的结果数据发送给前置服务器。
7.根据权利要求6所述的系统,其特征在于,所述的网关节点还包括超时处理单元,用于判断所述主机数据收发单元发送给主机的银行数据是否在预定时 间内接收到所述结果数据,如果未在预定时间接收到所述结果数据,则将超时提示发送给 所述银行数据收发单元。
8.根据权利要求5所述的系统,其特征在于,所述的状态标记单元包括 状态检查模块,用于检查网关节点的当前状态;状态标记模块,用于根据所述重启单元的重启操作、以及所述当前网关节点的状态标记所述网关节点的状态。
全文摘要
本发明提供一种网关服务器以及银行数据处理系统,该网关服务器包括多个具有平行部署结构的网关节点,其中,网关节点包括状态标记单元,用于标记网关节点的当前状态,其中,状态包括重启、或者正常;银行数据收发单元,用于在状态标记单元标记的网关节点状态为正常时,接收需要上送主机的银行数据;上行数据存储单元,用于存储银行数据接收单元接收的银行数据;主机数据收发单元,用于将上行数据存储单元存储的银行数据发送给主机进行处理、以及接收主机处理后的结果数据;下行数据存储单元,用于存储主机数据收发单元接收的结果数据;重启单元,用于根据预设置的重启命令执行网关节点的重启操作。通过本发明可以有效避免数据的不一致的问题,降低生产事故的发生率。
文档编号G06Q40/00GK101924715SQ20101025703
公开日2010年12月22日 申请日期2010年8月19日 优先权日2010年8月19日
发明者张磊, 程中, 胡锐明, 邹懿 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1