基于USAS主机的实时数据传输通道及其实时数据传输方法技术

技术编号:6725126 阅读:289 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于USAS主机的实时数据传输通道及其实时数据传输方法,由数据索引系统和数据输入输出系统构成,其中包括:数据输入模块;数据输出模块;数据索引模块。

【技术实现步骤摘要】

本专利技术涉及一种基于USAS主机的实时数据传输通道TFCT。
技术介绍
如今,每天有数十万的旅客通过中国航信的旅客分销系统预订航班座位、生成电 子客票。中国航信USAS主机系统内通常都维护着上千万旅客的订座信息、出票信息等。如 此海量的数据都被保存在USAS主机多个数据文件中,这些数据文件需要同时支持实时业 务处理(出票、退票和改签等)和旅客数据查询。为了减轻USAS主机的负担,并为行业客户 提供优质的数据服务,这些保存在主机系统数据文件中的信息记录可以被实时的传送到开 放平台的数据库中,成为主机数据的一个开放平台数据镜像,并与主机数据实现同步更新。 方便航空公司或者销售人员查询,更进一步的挖掘和分析这些数据的市场价值。所谓“USAS主机系统”,是指Unisys公司开发的一种处理实时民航业务的大型主 机系统,其中包含了订座系统和离港系统,分别处理旅客的订座出票等业务和机场值机配 载等业务;所谓“开发平台”,是指采用Windows,Linux操作系统,并使用Oracle数据库等 存储数据的计算机环境;所谓“0LTP”,是指Unisys公司开发的一种跨平台、分布式的事务 处理消息传递工具,用于在主机系统之间以及主机与开放平台之间的数据传输;目前主机系统内主要采取基于OLFP技术的客尸-服务器模式向开放平台传输实 时数据,这种模式直接受限与技术本身的开销和系统负载处理能力,通常无法保障稳定的 大数据流的实时主机数据传输。以旅客信息更新为例,当前航信主机系统内,高峰时每秒就 有140次旅客信息变更,而且这个峰值数据还在以每年20%的幅度递增。OLTP技术是无法 满足此类大数据流的数据传输的。另外,客户-服务器模式的数据传输一旦失败,随着主机 事务的结束,数据必定会丢失,没有第二次重试的机会。如图1所示,在传统的OLTP数据发送过程中,主机与开放平台之间的连接通道是 不稳定的,数据发送过程是不确定并且非常耗费资源的。一旦在事务的过程中嵌入OLTP数 据传送,不但事务的处理时间将会变长,而且还必须承担数据发送失败后的风险,无法控制 数据发送重试和数据备份。一个处理事务如果占用的系统资源过多,将会严重影响系统性 能和响应时间。基于这样的背景下,中国航信开发了新型的跨平台的数据发送通道——TFCT。以 旅客信息变更为例,旅客信息记录生成或者发生变更的时候,除了立即被存储在USAS主机 数据文件中,还会把该数据在主机数据文件中的地址发送到TFCT通道队列中,通过TFCT通 道将该数据地址内存储的旅客信息传送到开放平台。USAS主机内像旅客信息记录这样需要 实时同步到开放平台的数据服务还有很多,都可以通过TFCT通道进行处理。
技术实现思路
本专利技术的实时数据传输通道TFCT由数据索引系统和数据输入输出系统构成,包括数据输入模块;数据输出模块;数据索引模块。其中,所述数据输入模块嵌入在一个指定数据内容更新的事务中,将发生变更的 数据内容的全部或者部分写入实时数据传输通道TFCT的数据队列中。一旦成功写入,则返 回到原来的事务中继续处理后续的工作。所述的数据输出模块主要由一个常驻内存的后台处理程序进行监控和调度,数据 输出模块中常驻内存的后台处理程序周期性的循环扫描所有的数据队列,一旦扫描到某个 数据队列,就会调度一个子进程来处理这个数据队列中的排队数据,而后台程序本身则继 续扫描其他的数据队列。为了避免与数据输入模块发生资源争夺,只有在获取了索引表控 制权的前提下,处理数据的子进程才能顺利处理排队数据。数据输出模块中的后台扫描程 序可以调度多个处理数据的子进程,并行数据处理。并发度由通道内的规定的数据带宽来 决定。运行中的子进程处理完所有的排队数据,或者处理的数据总数达到系统规定的上限 后,结束进程处理,等待下一次调度。所述被调度起来的子进程则进一步判断当前的数据队列中是否有等待处理的排 队数据;如果有排队数据,则提取出数据,调用指定的数据发送程序将数据内容发送至目的 地系统;根据数据处理的结果,如果发送成功,子进程会将排队数据从数据队列中删除,并 继续处理下一个数据;如果发送失败,则实施错误处理机制,安排重新发送,或者将数据从 当前位置上删除,补充到数据队列的末尾,或者直接删除该数据;至于采取何种错误处理机 制,是由应用设置的运行参数决定;当数据队列中的所有排队数据都处理完毕,或者达到了 系统要求的数据处理总数,子进程则可以退出执行。所述数据索引模块维护实时数据传输通道内的所有数据队列、队列索引表、队列 描述表、通道运行参数表和通道入口表等数据结构,并实时监控各个数据队列中的容量 使用。如果数据队列的容量达到了警戒线,则立即启动告警机制,通过发送消息通知系 统维护人员。另外,由于队列索引表是由Unisys主机系统中一种称为Non-recoverable Freespace的文件作为载体,该文件具有写立即生效的特点,可供输入输出模块快速的访问 和释放索引文件,实现数据的快速处理。同时,所述数据索引模块中提供有系统工具,根据数据索引模块中提供的系统工 具,可以随时创建、修改、删除实时数据传输通道内的任何数据队列。也可以修改系统运行 参数,查询数据队列中的各个数据内容。根据本专利技术的实时数据传输通道TFCT,以旅客订座信息变更为例,其数据存储发 送的方法包括如下步骤步骤1,在处理过程中,相应的数据记录发生变更。变更的数据Dl将会被写入到实 时数据传输通道的指定数据队列中;步骤2,后台扫描程序Sl扫描到这个数据队列,调度子进程Pl来处理该数据队列 中的排队数据;步骤3,程序Sl继续扫描其他数据队列,调度子进程P2、P3、P4…来处理其他数据 队列;步骤4,启动后的子进程Pl处理队列中的数据时发现了 D1,则将Dl数据完整的提 取出来,调用一个专门的处理程序Tl来发送Dl数据;步骤5,处理程序Tl按照系统要求分析、封装Dl数据,将其发送至其他系统;5步骤6,其他系统成果收到Dl数据之后,回应一个确认状态;步骤7,处理程序Tl收到确认状态后,判断数据成功发送、或者发送失败,将处理 结果返回给子进程Pl ;步骤8,子进程Pl根据返回状态删除或者保留数据Dl ;其中,数据的输入是分散的,可以来自各种不同的应用事务。而数据的输出集中在 若干个数据队列中。具体而言首先,在旅客订座、出票等处理过程中,随着旅客订座成功、生成电子客票,旅客信 息都会发生变更。当保存旅客信息到主机系统数据库的时候,会同时调用实时数据传输通 道的通用接口,将当前发生变更的旅客信息写入TFCT的数据队列中。选择写入哪一个数据 队列根据数据本身的一些特征参数进行HASH算法运算,以保证数据处理过程中的某些特 殊要求,如数据信息之间的顺序性、通道负载平衡等等。然后,一直运行着的后台扫描程序会为每一个扫描到的数据队列调度一个子进 程,用于处理数据队列中的排队数据。后台扫描程序会调度多个子进程来处理数据队列,这 些不同数据队列上的于进程是并行的。子进程在处理过程中通过在索引表中设置独特标志 位,将会独占一个数据队列的输出控制权。如果子进程在处理数据队列时发现了有正在等待处理的排队数据,则调用指定的 数据处理程序来处理数据,并在数据队列的索引表中设置独特标识,用以控制本文档来自技高网
...

【技术保护点】
1.一种实时数据传输通道,其特征在于由数据索引系统和数据输入输出系统构成,包括:数据输入模块;数据输出模块;数据索引模块。

【技术特征摘要】
1.一种实时数据传输通道,其特征在于由数据索引系统和数据输入输出系统构成,包 括数据输入模块;数据输出模块;数据索引模块。2.根据权利要求1所述的实时数据传输通道,其中所述的数据输入模块可以嵌入在一 个指定数据内容更新的事务中,将发生变更的数据内容的全部或者部分写入实时数据传输 通道的相应队列中,一旦成功写入,则返回到原来的事务中继续处理后续的工作。3.根据权利要求1所述的实时数传输通道,其中所述的数据输出模块主要由一个常驻 内存的后台处理程序进行监控和调度;该后台程序周期性的循环扫描实时数据传输通道中 的所有数据队列;一旦扫描到某个数据队列,就会调度一个子进程来处理这个数据队列中 的排队数据,而后台程序本身则继续扫描其他的数据队列。4.根据权利要求3所述的实时数据传输通道,其中,为了避免与数据输入模块发生 资源争夺,只有在获取了索引表控制权的前提下,处理数据的子进程才能顺利处理排队数 据;所述被调度起来的子进程则进一步判断当前的数据队列中是否有等待处理的排队数 据;如果有排队数据,则提取出数据,调用指定的数据发送程序将数据内容发送至目的地系 统;根据数据处理的结果,如果发送成功,子进程会将排队数据从数据队列中删除,并继续 处理下一个数据;如果发送失败,则实施错误处理机制,安排重新发送,或者将数据从当前 位置上删除,补充到数据队列的末尾,或者直接删除该数据;至于采取何种错误处理机制, 是由应用设置的运行参数决定;当数据队列中的所有排队数据都处理完毕,或者达到了系 统要求的数据处理总数,子进程则可以退出执行。5.根据权利要求3所述的实时数据传输通道,其中,所述后台程序可以调度多个子进 程并发处理多个数据队列,其并发度由通道内的规定的数据带宽来决定;运行中的子进程 处理完所有的排队数据,或者处理的数据总数达到系统规定的上限后,结束进程处理,等待 下一次调度。6.根据权利要求1所述的实时数据传输通道,其中所述的数据索引模块维护实时数据 传输通道内的所有数据队列、队列索引表、队列描述表、通道运行参数表和通道入口表等数 据结构,并实时监控数据队列的容量变化;如果数据队列的容量达到了警戒线,则立即启动 告警机制,通过发送消息通知系统维护人员。7.根据权利要求6所述的实时数据传输通道,其中所述数据索引模块中提供有系统工 具,通过所述系统工具可以随时创建、修改、删除实时数据传输通道内的任何数据队列,也 可以修改系统运行参数,查询数据队列中的各个数据内容。8.一种实时数据传输通道的实时数据传输方法,其特征在于包括如下步骤步骤1,在处理过程中,相应的数据记录发生变更,变更的数据Dl将会被写入到实时数 据传输通道的指定数据队列中;步骤2,后台扫描程序Sl扫描到这个数据队列,调度子进程...

【专利技术属性】
技术研发人员:龚文赵文波贾宇清燕卫东
申请(专利权)人:中国民航信息网络股份有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1