一种应用于回放系统的快速数据处理方法及装置的制作方法

文档序号:3997050阅读:164来源:国知局
专利名称:一种应用于回放系统的快速数据处理方法及装置的制作方法
技术领域
本发明涉及一种应用于回放系统的快速数据处理方法及装置,属于城市轨道交通监控技术领域。
背景技术
ATS (Automatic Train Supervision,自动列车监控系统)和 CTC(CentralizedTraffic Control System,调度集中控制系统)被广泛应用于轨道交通领域,主要实现对列车运行的监督和控制,辅助行车调度人员对全线列车进行管理,它在提高轨道交通运输效率和保障运行安全方面起到了极其重要的作用。ATS/CTC系统在实现对列车运行的监督控制功能的同时,要存储线路的实时状态以及系统内的各种日志,以备各种管理人员对轨道交通各时间段的线路状态以及ATS/CTC的系统运行状态进行分析,在线路或ATS系统出现故障时利用存储的历史数据,通过回放 的手段,复现故障出现时的具体场景,从而分析得出故障产生的原因,因此回放系统对数据的处理能力就变得非常重要。回放系统在保证数据正确的情况下,装载数据的时间最低限度要使操作人员不感到过度的迟滞,操作人员对时间点重新定位时,系统对回放数据的定位应该快速且毫无迟滞感,给操作人员以良好的系统操作体验,而不是出现明显的等待时间。现有的回放系统在存储回放数据时,同时存储了回放数据对应的索引文件,在索引文件中建立了所存储的每条历史数据与其在回放文件中具体位置的映射关系。读取回放文件时,先读取索引文件,在索引文件中查找所需回放历史数据的位置,从而实现对其在回放数据文件中的定位。由于回放文件的读取完全依赖于预先存储的索引文件,一旦索引出错,回放文件将可能无法快速且正常的解析出来,重新建立索引将花费较长的时间和较复杂的过程。另外,回放系统还可以一次性的将固定介质上的回放文件读入内存中,在读入过程中依次将其解析成为系统内部可以理解的格式。在回放过程中,通过遍历内存中的数据,实现对回放历史数据的定位。但是当回放文件较大时,将其一次性读入内存中同时对其进行解析,将占用大量的系统时间,在回放系统初始化的过程中,操作人员需要有较长时间的等待。由于将文件一次性装载入内存,将占用大量的内存空间,这将对回放系统所应用的硬件有较高的要求,提高了设备的成本,同时也限制了回放数据的大小,因为操作系统可用的内存很有限,进而限制了所需进行回放的时间范围。

发明内容
本发明为解决现有的ATS/CTC系统中的回放技术存在的完全依赖于预先存储的索引文件、以及一次性将回放文件读入内存中时占用系统资源较多对回放数据定位较慢、能够回放的时间范围较小的问题,进而提供了一种应用于回放系统的快速数据处理方法及装置,本发明提供了如下的技术方案
一种应用于回放系统的快速数据处理方法,包括通过内存映射的方式遍历整个回放数据文件;建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引;根据接收传入的时间参数结合所述映射关系对回放数据进行定位并回放。一种应用于回放系统的快速数据处理装置,包括遍历模块,用于通过内存映射的方式遍历整个回放数据文件;动态索引建立模块,用于建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引; 定位模块,用于根据接收传入的时间参数结合所述映射关系对回放数据进行定位并回放。本发明提供的技术方案通过建立回放数据文件在内存中的映射关系,使用户能够快速对特定时间点的回放数据进行定位并回放,在一般的家用计算机系统即可为较大的回放数据文件快速的建立动态索引,回放过程中占用的内存较小,能够回放的时间范围较大,对回放的时间点重新定位响应迅速,回放过程毫无迟滞感。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本具体实施方式
提供的应用于回放系统的快速数据处理方法的流程示意图;图2是本具体实施方式
提供的遍历整个回放数据文件的流程示意图;图3是本具体实施方式
提供的动态索引建立的流程示意图;图4是本具体实施方式
提供的应用于回放系统的快速数据处理装置的结构示意图;图5是本具体实施方式
提供的回放系统的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本具体实施方式
提供了一种应用于回放系统的快速数据处理方法,如图I所示,包括步骤11,通过内存映射的方式遍历整个回放数据文件。具体的,本步骤中涉及的内存映射是由一个文件到一块内存的映射的过程。Win32提供了允许应用程序把文件映射到一个进程的函数(CreateFileMapping)。内存映射文件通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/o操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。遍历整个回放数据文件的过程如图2所示,包括a.获取整个文件长度Lw;b.初始化已读取文件总长度La=O ;c.初始化当前已映射文件读取长度Lp=O ;d.初始化一条记录的最大长度K;
e.确定每次内存映射文件的长度Lm,Lm K( —条记录的最大长度);f.映射文件;g.如果La>=Lw,读取文件结束;h.如果Lp>=Lm-K ( 一条记录的最大长度)并且La+K〈Lw,重新映射剩余文件;i.读取一条回放记录,其长度为Lk ;j. La=La+Lk ;k. Lp=Lp+LK ;I.重复步骤e - i,直到整个回放数据文件的遍历完成。步骤12,建立时间与特定回放数据在回放数据文件中具体位置的动态索引。具体的,回放过程中操作人员会选择特定的时间点,要求系统从该时间点处开始回放,诸如通过拖动时间条或输入时间值等方式操作。本具体实施方式
通过建立动态索引来快速响应操作人员的以上需求,索引在整个回放过程中只在出始化阶段建立一次。ATS/CTC系统的回放均以时间为基准,从某一时间点开始,以某种选定的速度连续回放历史信息至另一时间点。故可以利用时间点作为索引的关键字记录回放文件的具体位置,即建立时间(t)与特定回放数据(d)在文件中具体位置(P)的映射关系F(t,d)=p,;操作人员在对回放时间重新定位时(确定新的回放开始时间点),所输入的时间单位一般精确到分钟或秒级。为节省内存资源,本具体实施方式
中建立的索引以秒为基础,根据系统的实际需求,对定位用的索引也可以更加精确或粗略。为达到系统对回放数据的快速定位,采用数组来建立内部动态索引,以数组的下标对应实际的时间值,数组的内容存储该时间值对应的第一条满足该时间点的回放数据在文件中的起始位置。这样24小时的数据也仅需一个24*60*60大小的数组即可建立一个完备的时间-位置的秒级索引。由于时间的向前流动性和文件记录的顺序型,映射函数F(t,d)为非递减函数,考虑到某些系统在一定时间内可能没有任何数据可以记录,即造成了该时间段的数据空白,故在遍历完文件后,需对索引进行数据空白的修正,修正模型如下TB:回放文件开始时间F (t, d) = O, t = Tb
If F(t,d) = -I (初始值)^
、F (t, d) = F (t-i. d),t # Tb动态索引建立的过程如图3所示,包括a.获取回放文件开始时间TB,精确单位至秒;b.获取回放文件结束时间Te,精确单位至秒;c.计算所需动态空间(Te-Tb);d.生成动态索引数组A,初始化数组内所有数据值为-1,同时根据开始时间记录 数组偏移量P=Tb ;e.从文件起始处读取;f.读取一条回放记录,获取该回放记录的时间戳Ts,单位至秒,同时记录该条回放信息在文件中的起始位置H;g.计算该条记录对应的数组下标Is=Ts - P ;h.如果 A[IS]==_1,则赋值 A[IS]==H ;i.重复步骤f_h,直至文件结束;j.顺序从零开始遍历数组,如果A
=_1,则A
=0,如果A[n]=_l,则A[n]=A[n_l]。步骤13,根据接收传入的时间参数结合映射关系对回放数据进行定位并回放。具体的,通过将查询索引,获取时间点T对应的回放数据在回放文件中的具体位置,从该位置开始读取回放文件进行回放显示,其过程包括a.将时间点T转换为以秒为单位的时间值;b.计算时间T对应的索引数组下标S=T - P ;c.获取回放数据在文件中的起始位置H=A[S];d.利用内存映射文件的方式在该位置开始读取文件并进行回放显示。采用本具体实施方式
提供的技术方案,通过建立回放数据文件在内存中的映射关系,使用户能够快速对特定时间点的回放数据进行定位并回放,在一般的家用计算机系统即可为较大的回放数据文件快速的建立动态索引,回放过程中占用的内存较小,能够回放的时间范围较大,对回放的时间点重新定位响应迅速,回放过程毫无迟滞感,具体的回放数据的效果如下表所示
权利要求
1.一种应用于回放系统的快速数据处理方法,其特征在于,包括 通过内存映射的方式遍历整个回放数据文件; 建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引; 根据接收传入的时间参数结合所述映射关系对回放数据进行定位并回放。
2.根据权利要求I所述的应用于回放系统的快速数据处理方法,其特征在于,所述通过内存映射的方式遍历整个回放数据文件包括 获取整个回放数据文件的长度Lw,初始化以读取文件长度La=O,初始化当前已映射文件读取长度LP=0,初始化一条记录的最大长度K,确定每次内存映射文件的长度Lm ; 在读取文件的过程中,当La〈Lw时,若Lp>=Lm - K并且La+K〈Lw,则继续映射剩余文件,直到当La>=Lw时,读取文件结束。
3.根据权利要求I所述的应用于回放系统的快速数据处理方法,其特征在于,所述建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引包括 获取回放文件开始时间Tb和回放文件结束时间Te,计算所需动态空间Te-Tb ; 生成动态索引数组A,初始化动态数组内所有数据值为-1,同时根据开始时间记录数组偏移量P=Tb ; 读取一条回放记录,获取该回放记录的时间戳Ts,同时记录该条回放信息在文件中的起始位置H ; 计算该条记录对应的数组下标Is=Ts - P,如果A [Is] ==-1,则赋值A [Is] ==H,直至整个回放数据文件在所述动态数组中被赋值; 顺序从零开始遍历所述动态数组,如果A [O] =-1,则A [O] =0,如果A [n] =-1,则Α[η]=Α[η_1]。
4.根据权利要求I所述的应用于回放系统的快速数据处理方法,其特征在于,所述根据接收传入的时间参数结合所述映射关系对回放数据进行定位包括 计算时间点T对应的所述动态数组的下标S=T-P ; 获取所述回放数据在文件中的起始位置H=A[S]; 利用内存映射文件的方式在所述起始位置H开始读取所述回放数据文件并进行回放显不O
5.一种应用于回放系统的快速数据处理装置,其特征在于,包括 遍历模块,用于通过内存映射的方式遍历整个回放数据文件; 动态索引建立模块,用于建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引; 定位模块,用于根据接收传入的时间参数结合所述映射关系对回放数据进行定位并回放。
6.根据权利要求5所述的应用于回放系统的快速数据处理装置,其特征在于,在遍历丰吴块中包括 初始化子模块,用于获取整个回放数据文件的长度Lff,初始化以读取文件长度LA=0,初始化当前已映射文件读取长度LP=0,初始化一条记录的最大长度K,确定每次内存映射文件的长度Lm ; 文件读取子模块,用于在读取文件的过程中,当La〈Lw时,若Lp>=Lm - K并且La+K〈Lw,则继续映射剩余文件,直到当la>=lw时,读取文件结束。
7.根据权利要求5所述的应用于回放系统的快速数据处理装置,其特征在于,在动态索引建立模块中包括 初始获取子模块,用于获取回放文件开始时间Tb和回放文件结束时间Te,计算所需动态空间Te-Tb ; 数组建立子模块,用于生成动态索引数组A,初始化动态数组内所有数据值为-1,同时根据开始时间记录数组偏移量P=Tb ; 数据读取子模块,用于读取一条回放记录,获取该回放记录的时间戳Ts,同时记录该条回放信息在文件中的起始位置H ; 数组赋值子模块,用于计算该条记录对应的数组下标Is=Ts-P,如果A[IS]==-1,则赋值A [Is] ==H,直至整个回放数据文件在所述动态数组中被赋值; 遍历子模块,用于顺序从零开始遍历所述动态数组,如果A
=-1,则A
=0,如果A[n]=-1,则 A[n]=A[n-l]。
8.根据权利要求5所述的应用于回放系统的快速数据处理装置,其特征在于,在定位丰吴块中包括 时间点计算子模块,用于计算时间点T对应的所述动态数组的下标S=T-P ; 起始位置获取子模块,用于获取所述回放数据在文件中的起始位置H=A[S]; 回放子模块,用于利用内存映射文件的方式在所述起始位置H开始读取所述回放数据文件并进行回放显示。
全文摘要
本发明提供了一种应用于回放系统的快速数据处理方法及装置,相应的方法包括通过内存映射的方式遍历整个回放数据文件;建立时间与特定回放数据在所述回放数据文件中具体位置的动态索引;根据接收传入的时间参数结合所述映射关系对回放数据进行定位并回放。通过建立回放数据文件在内存中的映射关系,使用户能够快速对特定时间点的回放数据进行定位并回放,在一般的家用计算机系统即可为较大的回放数据文件快速的建立动态索引,回放过程中占用的内存较小,能够回放的时间范围较大,对回放的时间点重新定位响应迅速,回放过程毫无迟滞感。
文档编号B61L27/00GK102902715SQ20121030168
公开日2013年1月30日 申请日期2012年8月22日 优先权日2012年8月22日
发明者袁志明, 许伟, 应志鹏, 宋鹏飞, 魏博, 杨洪权, 张涛, 秦宁, 方力一 申请人:中国铁道科学研究院, 中国铁道科学研究院通信信号研究所, 北京市华铁信息技术开发总公司, 北京锐驰国铁智能运输系统工程技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1