[发明专利]基于USAS主机的实时数据传输通道及其实时数据传输方法无效
申请号: | 201010624553.6 | 申请日: | 2010-12-30 |
公开(公告)号: | CN102129443A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 龚文;赵文波;贾宇清;燕卫东 | 申请(专利权)人: | 中国民航信息网络股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京锐思知识产权代理事务所(普通合伙) 11341 | 代理人: | 李涛 |
地址: | 100010 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 usas 主机 实时 数据传输 通道 及其 方法 | ||
1.一种实时数据传输通道,其特征在于由数据索引系统和数据输入输出系统构成,包括:数据输入模块;数据输出模块;数据索引模块。
2.根据权利要求1所述的实时数据传输通道,其中所述的数据输入模块可以嵌入在一个指定数据内容更新的事务中,将发生变更的数据内容的全部或者部分写入实时数据传输通道的相应队列中,一旦成功写入,则返回到原来的事务中继续处理后续的工作。
3.根据权利要求1所述的实时数传输通道,其中所述的数据输出模块主要由一个常驻内存的后台处理程序进行监控和调度;该后台程序周期性的循环扫描实时数据传输通道中的所有数据队列;一旦扫描到某个数据队列,就会调度一个子进程来处理这个数据队列中的排队数据,而后台程序本身则继续扫描其他的数据队列。
4.根据权利要求3所述的实时数据传输通道,其中,为了避免与数据输入模块发生资源争夺,只有在获取了索引表控制权的前提下,处理数据的子进程才能顺利处理排队数据;
所述被调度起来的子进程则进一步判断当前的数据队列中是否有等待处理的排队数据;如果有排队数据,则提取出数据,调用指定的数据发送程序将数据内容发送至目的地系统;根据数据处理的结果,如果发送成功,子进程会将排队数据从数据队列中删除,并继续处理下一个数据;如果发送失败,则实施错误处理机制,安排重新发送,或者将数据从当前位置上删除,补充到数据队列的末尾,或者直接删除该数据;至于采取何种错误处理机制,是由应用设置的运行参数决定;当数据队列中的所有排队数据都处理完毕,或者达到了系统要求的数据处理总数,子进程则可以退出执行。
5.根据权利要求3所述的实时数据传输通道,其中,所述后台程序可以调度多个子进程并发处理多个数据队列,其并发度由通道内的规定的数据带宽来决定;运行中的子进程处理完所有的排队数据,或者处理的数据总数达到系统规定的上限后,结束进程处理,等待下一次调度。
6.根据权利要求1所述的实时数据传输通道,其中所述的数据索引模块维护实时数据传输通道内的所有数据队列、队列索引表、队列描述表、通道运行参数表和通道入口表等数据结构,并实时监控数据队列的容量变化;如果数据队列的容量达到了警戒线,则立即启动告警机制,通过发送消息通知系统维护人员。
7.根据权利要求6所述的实时数据传输通道,其中所述数据索引模块中提供有系统工具,通过所述系统工具可以随时创建、修改、删除实时数据传输通道内的任何数据队列,也可以修改系统运行参数,查询数据队列中的各个数据内容。
8.一种实时数据传输通道的实时数据传输方法,其特征在于包括如下步骤:
步骤1,在处理过程中,相应的数据记录发生变更,变更的数据D1将会被写入到实时数据传输通道的指定数据队列中;
步骤2,后台扫描程序S1扫描到这个数据队列,调度子进程P1来处理该数据队列中的排队数据;
步骤3,程序S1继续扫描其他数据队列,调度子进程P2、P3、P4…来处理其他数据队列;
步骤4,启动后的子进程P1处理队列中的数据时发现了D1,则将D1数据完整的提取出来,调用一个专门的处理程序T1来发送D1数据;
步骤5,处理程序T1按照系统要求分析、封装D1数据,将其发送至其他系统;
步骤6,其他系统成果收到D1数据之后,回应一个确认状态;
步骤7,处理程序T1收到确认状态后,判断数据成功发送、或者发送失败,将处理结果返回给子进程P1;
步骤8,子进程P1根据返回状态删除或者保留数据D1。
9.根据权利要求9所述的实时数据传输方法,其中,数据的输入是分散的,可以来自各种不同的应用事务,而数据的输出集中在若干个数据队列中。
10.根据权利要求9所述的实时数据传输方法,其中,在处理过程中,随着旅客订座成功、生成电子客票,旅客信息都会发生变更;当保存旅客信息到主机系统数据库的时候,会同时调用实时数据传输通道的通用接口,将当前发生变更的旅客信息写入TFCT的数据队列中;选择写入哪一个数据队列根据数据本身的一些特征参数进行HASH算法运算,以保证数据处理过程中的某些特殊要求,如数据信息之间的顺序性、通道负载平衡等等;
一直运行着的后台扫描程序会为每一个扫描到的数据队列调度一个子进程,用于处理数据队列中的排队数据;后台扫描程序会调度多个子进程来处理数据队列,这些不同数据队列上的子进程是并行的;子进程在处理过程中通过在索引表中设置独特标志位,将会独占一个数据队列的输出控制权;
如果子进程在处理数据队列时发现了有正在等待处理的排队数据,则调用指定的数据处理程序来处理数据,并在数据队列的索引表中设置独特标识,用以控制该数据队列的数据输出通道;由于每个数据队列都有一个索引表,因此,子进程对一个数据队列的控制不会影响其他子进程处理其他数据队列;而且由于索引表是修改立即生效,因此设置标识之后就释放对索引表的锁定;虽然子进程并没有结束,但其他的数据据输入事务也可以获得数据队列索引表的控制,捉高了索引表的利用率;
随后,子进程提取完整的排队数据内容,将其作为参数传递给数据处理程序。数据处理程序按照设定将数据封装之后,发送到其他系统平台,得到返回状态值,将其传递给子进程;
子进程收到来自数据处理程序的返回状态值之后,立即获取数据队列索引表的控制权,设置锁定,并判断返回状态值的内容;如果数据发送成功,则将指定的数据从数据队列中删除,修改索引表中的数据队列队首指针,准备处理下一个数据;如果发送失败,则根据运行参数设置重试。重试之后依然无法发送的,则把数据内容打包发送给维护人员,并从数据队列中删除该数据,更新索引表,准备处理下一个数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司,未经中国民航信息网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010624553.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种静态数据检索方法
- 下一篇:与远程USB装置自动连线的处理系统及其方法