发明内容
针对现有技术的缺陷,本发明提供一种基于地铁综合自动化系统的数据处理方法及处理器,以解决现有技术中地铁综合自动化系统的人机界面在显示页面时数据刷新慢、页面切换时间长的技术问题。
为此目的,第一方面,本发明提出一种基于地铁综合自动化系统的数据处理方法,包括:
在地铁综合自动化系统启动后,计算所述地铁综合自动化系统预装的应用数据的访问命中率;
判断所述访问命中率是否大于预设的访问命中率;
若所述访问命中率大于预设的访问命中率,则判断所述应用数据是否存储在预先建立的哈希缓存区中;
若所述应用数据没有存储在预先建立的哈希缓存区中,则将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据。
可选的,所述计算所述地铁综合自动化系统预装的应用数据的访问命中率之前,还包括:
在地铁综合自动化系统初始化时,在内存中创建一张哈希表及与该哈希表对应的哈希缓存区;
将所述地铁综合自动化系统预装的应用数据存储到所述哈希缓存区中;
提取存储到所述哈希缓存区中的应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对所述应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
可选的,所述若所述应用数据没有存储在预先建立的哈希缓存区中,则将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据,包括:
若所述应用数据没有存储在预先建立的哈希缓存区中,则将所述应用数据置换到所述哈希缓冲区中;提取该应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对该应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
可选的,若所述访问命中率不大于预设的访问命中率,则判断所述应用数据是否存储在预先建立的哈希缓存区中;
若所述应用数据存储在预先建立的哈希缓存区中,则将所述应用数据置换到非哈希缓冲区中。
可选的,所述将所述应用数据置换到非哈希缓冲区中之后,还包括:
删除所述哈希表中该应用数据的键值。
第二方面,本发明还提出一种处理器,包括:
计算单元,用于在地铁综合自动化系统启动后,计算所述地铁综合自动化系统预装的应用数据的访问命中率;
第一判断单元,用于判断所述访问命中率是否大于预设的访问命中率;
第二判断单元,用于在所述第一判断单元判定所述访问命中率大于预设的访问命中率后,判断所述应用数据是否存储在预先建立的哈希缓存区中;
置换单元,用于在所述第二判断单元判定所述应用数据没有存储在预先建立的哈希缓存区中之后,将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据。
可选的,还包括:
创建单元,用于在地铁综合自动化系统初始化时,在内存中创建一张哈希表及与该哈希表对应的哈希缓存区;
处理单元,用于将所述地铁综合自动化系统预装的应用数据存储到所述哈希缓存区中;
提取单元,用于提取存储到所述哈希缓存区中的应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对所述应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
可选的,所述置换单元,用于在所述第二判断单元判定所述应用数据没有存储在预先建立的哈希缓存区中之后,将所述应用数据置换到所述哈希缓冲区中;提取该应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对该应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
可选的,还包括:第三判断单元,用于在所述第一判断单元判定所述访问命中率不大于预设的访问命中率后,判断所述应用数据是否存储在预先建立的哈希缓存区中;
所述置换单元,还用于在所述第三判断单元判定所述应用数据存储在预先建立的哈希缓存区中之后,将所述应用数据置换到非哈希缓冲区中。
可选的,还包括:删除单元,用于在所述置换单元将所述应用数据置换到非哈希缓冲区中之后,删除所述哈希表中该应用数据的键值。
相比于现有技术,本发明的基于地铁综合自动化系统的数据处理方法及处理器,使地铁综合自动化系统的人机界面数据刷新速度提高、减少页面切换响应时间。
进一步地,本发明的基于地铁综合自动化系统的数据处理方法及处理器,把地铁综合自动化系统的人机界面预加载的文件放入高速缓存区,减少地铁综合自动化系统的人机界面频繁访问图形文件,从而减少额外的I/O操作。
进一步地,本发明的基于地铁综合自动化系统的数据处理方法及处理器,避免访问大量数据,从而提高访问数据效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例公开一种基于地铁综合自动化系统的数据处理方法,该方法可包括以下步骤101至104。
101、在地铁综合自动化系统启动后,计算所述地铁综合自动化系统预装的应用数据的访问命中率。
本实施例中,计算访问命中率的具体原理类似操作系统的内存命中率,通过访问周期以及次数来计算命中率。
102、判断所述访问命中率是否大于预设的访问命中率。若所述访问命中率大于预设的访问命中率,则执行步骤103。
为了避免地铁综合自动化系统访问大量数据,导致大量数据堆积,最终可能致使系统崩溃的问题,本实施例中,基于访问命中率这个参数,本领域技术人员可根据实际情况预设访问命中率,基于预设访问命中率控制地铁综合自动化系统访问数据,从而提高地铁综合自动化系统访问数据效率。
103、判断所述应用数据是否存储在预先建立的哈希缓存区中。若所述应用数据没有存储在预先建立的哈希缓存区中,则执行步骤104。
为了提高地铁综合自动化系统访问数据效率,本实施例中,在内存中预先建立哈希缓存区,将访问命中率大于预设的访问命中率的应用数据存储在所述哈希缓存区中,可提高地铁综合自动化系统访问数据效率。
104、将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据。
相比于现有技术,本实施例的基于地铁综合自动化系统的数据处理方法,由于将访问命中率高的应用数据存储到哈希缓存区中,使地铁综合自动化系统的人机界面数据刷新速度提高、减少页面切换响应时间。
在一个具体的例子中,步骤101“计算所述地铁综合自动化系统预装的应用数据的访问命中率”之前,所述数据处理方法还可包括图1中未示出的步骤100、100’和100”。
100、在地铁综合自动化系统初始化时,在内存中创建一张哈希表及与该哈希表对应的哈希缓存区。
本实施例中,可动态创建哈希缓存区,即根据内存使用情况,动态分配哈希缓存区大小,提高地铁综合自动化系统的可用性。
本实施例中,也可以在地铁综合自动化系统每次初始化时,创建大小固定的哈希缓存区。
100’、将所述地铁综合自动化系统预装的应用数据存储到所述哈希缓存区中。
100”、提取存储到所述哈希缓存区中的应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对所述应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
本实施例中,可以基于预设的优化规则,对存储到所述哈希缓存区中的应用数据进行优化,例如整理、排序,得到优化后的应用数据;提取所述优化后的应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使地铁综合自动化系统在对应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
本实施例中的基于地铁综合自动化系统的数据处理方法,将具有不同数据结构的应用数据存储在哈希缓存区中,以关键字作为键值优化调整了应用数据的数据结构,从而提高地铁综合自动化系统访问数据的效率。
进一步地,本实施例中的基于地铁综合自动化系统的数据处理方法,可以把地铁综合自动化系统的人机界面预加载的文件放入高速缓存区,减少地铁综合自动化系统的人机界面频繁访问图形文件,从而减少额外的I/O操作。
在一个具体的例子中,步骤104“将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据”,包括图1中未示出的以下步骤1041和1042:
1041、将所述应用数据置换到所述哈希缓冲区中;
1042、提取该应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对该应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
在一个具体的例子中,步骤102“判断所述访问命中率是否大于预设的访问命中率”,若所述访问命中率不大于预设的访问命中率,则执行图1中未示出的步骤105:
105、判断所述应用数据是否存储在预先建立的哈希缓存区中。若所述应用数据存储在预先建立的哈希缓存区中,则执行图1中未示出的步骤106:
106、将所述应用数据置换到非哈希缓冲区中。
本实施例中,非哈希缓冲区可以为硬盘驱动器HDD或固体硬盘SSD。
在一个具体的例子中,步骤106“将所述应用数据置换到非哈希缓冲区中”之后,所述数据处理方法还可包括图1中未示出的步骤107:
107、删除所述哈希表中该应用数据的键值。
上述基于地铁综合自动化系统的数据处理方法,提高了地铁综合自动化系统的人机界面的显示效率、流畅度,对调度员更加友好。
上述基于地铁综合自动化系统的数据处理方法,经大量实验验证,在调度员发送指令时,从命令发出到地铁综合自动化系统反馈的时间比以往提高2~3倍。
上述基于地铁综合自动化系统的数据处理方法,在现场设备发生故障时,人机界面能及时显示设备故障,提醒调度员处理。
如图2所示,本实施例公开一种处理器,可执行上述基于地铁综合自动化系统的数据处理方法,具体可包括以下单元:计算单元21、第一判断单元22、第二判断单元23以及置换单元24。
计算单元21,用于在地铁综合自动化系统启动后,计算所述地铁综合自动化系统预装的应用数据的访问命中率;
第一判断单元22,用于判断所述访问命中率是否大于预设的访问命中率;
第二判断单元23,用于在所述第一判断单元22判定所述访问命中率大于预设的访问命中率后,判断所述应用数据是否存储在预先建立的哈希缓存区中;
置换单元24,用于在所述第二判断单元23判定所述应用数据没有存储在预先建立的哈希缓存区中之后,将所述应用数据置换到所述哈希缓冲区中,以使所述地铁综合自动化系统在对所述应用数据处理时,在所述哈希缓存区中查找所述应用数据。
在一个具体的例子中,所述处理器还可包括图2中未示出的以下单元:创建单元25、处理单元26以及提取单元27。
创建单元25,用于在地铁综合自动化系统初始化时,在内存中创建一张哈希表及与该哈希表对应的哈希缓存区;
处理单元26,用于将所述地铁综合自动化系统预装的应用数据存储到所述哈希缓存区中;
提取单元27,用于提取存储到所述哈希缓存区中的应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对所述应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
在一个具体的例子中,所述置换单元24,用于在所述第二判断单元23判定所述应用数据没有存储在预先建立的哈希缓存区中之后,将所述应用数据置换到所述哈希缓冲区中;提取该应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中,以使所述地铁综合自动化系统在对该应用数据处理时,根据存储在哈希表中的该应用数据的键值,在所述哈希缓存区中查找该应用数据。
本实施例中,所述置换单元24在所述第二判断单元23判定所述应用数据没有存储在预先建立的哈希缓存区中之后,将所述应用数据置换到所述哈希缓冲区中;所述置换单元24调用所述提取单元27以提取该应用数据的关键字,并将提取到的关键字作为键值存储在所述哈希表中。
在一个具体的例子中,所述处理器还包括图2中未示出的第三判断单元28,用于在所述第一判断单元22判定所述访问命中率不大于预设的访问命中率后,判断所述应用数据是否存储在预先建立的哈希缓存区中。
本实施例中,所述置换单元24,还用于在所述第三判断单元28判定所述应用数据存储在预先建立的哈希缓存区中之后,将所述应用数据置换到非哈希缓冲区中。
在一个具体的例子中,所述处理器还可包括图2中未示出的删除单元29,用于在所述置换单元24将所述应用数据置换到非哈希缓冲区中之后,删除所述哈希表中该应用数据的键值。
本实施例公开的处理器可以集成在地铁综合自动化系统中,也可以作为独立设备。
相比于现有技术,上述处理器,使地铁综合自动化系统的人机界面数据刷新速度提高、减少页面切换响应时间。
进一步地,上述处理器,,把地铁综合自动化系统的人机界面预加载的文件放入高速缓存区,减少地铁综合自动化系统的人机界面频繁访问图形文件,从而减少额外的I/O操作。
进一步地,上述处理器,避免访问大量数据,从而提高访问数据效率。
需要说明的是,在本文中,需要说明的是,在本文中,“第一”、“第二”和“第三”仅仅用来将名称相同的实体或操作区分开来,而不是暗示这些实体或操作之间的关系或者顺序。
本领域技术人员可以理解,可以把装置实施例中的各单元组合成一个单元,以及此外可以把它们分成多个子单元。除了这样的特征和/或过程或者单元中的至少一些是互相排斥之处,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。