基于轨道交通的内存检测方法和装置与流程

文档序号:14784971发布日期:2018-06-27 22:08阅读:186来源:国知局
基于轨道交通的内存检测方法和装置与流程

本发明涉及车辆控制技术领域,尤其涉及一种基于轨道交通的内存检测方法和装置。



背景技术:

对于轨道交通而言,安全性是及其重要的,所以对于在轨道交通的嵌入式系统中,对保障其安全性的要求和措施极其严苛。其中,针对于嵌入式系统的内存来说,由于内存出现存储错误,将会对嵌入式系统的程序运行结果产生不可挽回的后果,从而必须对内存进行故障检测。

在现有技术中,由于检测大小为256M内存的时间大概为三分钟,而一个主程序周期为150ms~200ms,所以在主程序周期内即使在内存大小为256M的情况下,也不能一次性完成对所有存储单元的检测,传统的做法是将内存检测的工作分割细化,在每一个主程序周期内分配出一部分时间,用来做内存检测,这样每一个主程序周期检查一部分内存,随着主程序循环的进行,逐渐完成对整个内存的检测。

轨道交通中,列车的内存大小约为1GB,随着内存的增大,内存检测耗费的时长并不是线性递增的,例如:完成一块256MB的内存检测需要3分钟,1GB的内存检测时长是其16倍,即48分钟,如果按照现有技术的做法,分配到每一个主程序周期内,则大约29天的时间能完成一轮的内存检测,耗时太长。同时,在每一个主程序周期内所检测的内存较少,可能会出现有些内存在没有检测的情况下已经使用了,存在安全隐患。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种内存检测方法,以实现缩短一轮内存检测的耗时,以及避免内存在没有进行检测的情况下进行使用的情况,提高运行安全性。

本发明的第二个目的在于提出一种内存检测装置。

为达上述目的,本发明第一方面实施例提出了一种方法,包括以下步骤:

根据轨道交通运行的时段,从主程序周期中分配检测时长;

在所述检测时长内,对应用程序运行所需的内存进行检测。

本发明实施例的方法,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

为达上述目的,本发明第二方面实施例提出了一种基于轨道交通的内存检测装置,包括:

分配模块,用于根据轨道交通运行的时段,从主程序周期中分配检测时长;

检测模块,用于在所述检测时长内,对应用程序运行所需的内存进行检测。

本发明实施例的基于轨道交通的内存检测装置,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种基于轨道交通的内存检测方法的流程示意图;

图2为本发明实施例提供的另一种基于轨道交通的内存检测方法的流程示意图;

图3为本发明实施例提供的一种基于轨道交通的内存检测装置的结构示意图;以及

图4为本发明实施例提供的另一种基于轨道交通的内存检测装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

对于包括高铁、动车、地铁、轻轨等在内的轨道交通而言,安全性是及其重要的,所以对于轨道交通的嵌入式系统,对保障其安全性的要求和措施极其严苛,需满足SIL4级别的安全性要求,所以,这样的系统又叫做安全苛求系统。

对于安全苛求系统,需要做一系列的安全保障措施,其中,不可或缺的一部分就是嵌入式系统的内存进行检测。

下面参考附图描述本发明实施例的基于轨道交通的内存检测方法和装置。

图1为本发明实施例所提供的一种基于轨道交通的内存检测方法的流程示意图。

如图1所示,该基于轨道交通的内存检测方法包括以下步骤:

步骤101,根据轨道交通运行的时段,从主程序周期中分配检测时长。

由于在轨道交通运行中,不同的时段列车会有不同的运行状态。

例如:针对轻轨来说,轻轨在夜间是不运营的,所以该时间段,计算机不执行列车调度,实时监控防护等任务,CPU和内存的负担会少很多,可以在轨道交通的停运时段分配较多的检测时长,而对运行时段分配较少的检测时长。

具体地,可以在轨道交通的停运时段,从主程序周期中分配第一检测时长;在轨道交通的运行时段,从主程序周期中分配第二检测时长;其中,所述第一检测时长长于所述第二检测时长。

步骤102,在该检测时长内,对应用程序运行所需的内存进行检测。

内存,是计算机系统的存储系统,其物理结构是一系列的存储单元组成的二维阵列,每一个存储单元能够存储0或1,任何代码文字都可以被计算机转换为由0和1组成的一串数,然后存储在内存中。

对于内存中的存储单元,存在这样的一个情况:由于其物理性质或者受到环境的干扰,导致其出现异常不能正常存储,通常的情况是常为0或者常为1,即其存储状态不可改变。举个例子说,假如现有一块存储空间是用来存放某一条线路正在运行的列车数,其值为5,转换为二进制数为0101,如果该内存空间异常导致第三个bi t常为1,实际存储的二进制数为0111,其带来的结果是存入的二进制数为0101,但读取的二进制数为0111,从而该条线路上运行的列车数为7,这样的故障将会导致不可挽留的事故。因此,可以通过对内存写入一系列的数,然后再读出来,将两个数对比,通过对比结果判断内存是否能正常读写,来完成内存的检测。

具体地,在本实施例中,这里所说的应用程序运行所需的内存,作为一种可能的实现方式,可以是当前主程序周期内,应用程序运行所需的内存。

作为另一种可能的实现方式,这里所说的应用程序运行所需的内存,可以是全部的,或者,是当前的以及即将到来的多个主程序周期内,应用程序运行所需的内存。

在检测时长内,可以对应用程序运行所需的内存进行前述的检测过程,从而在一定程度上避免内存未检测便已使用的情况出现,从而提高运行的安全性。

本实施例中,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

为了清楚说明上一实施例,本实施例提供了另一种基于轨道交通的内存检测方法,在本实施例中,对内存按照存储功能进行区域划分,具体地,作为一种可能的实现方式,内存包括用于存储交互数据的缓存区,用于存储程序数据的存放区和当前主程序周期内运算所需占用的运行区。从而针对不同的区域,采用不同时段进行内存检测,提高检测效率,以及提高运行安全性。

图2为本发明实施例提供的另一种基于轨道交通的内存检测方法的流程示意图,如图2所示:

步骤201,针对每一个主程序周期,首先进行程序初始化。

在轨道交通的嵌入式系统运行时,在形式上表现为应用程序无限循环,循环的过程中依据控制系统下发的命令执行下一步代码,前述无限循环的部分就叫做主程序周期。

步骤202,初始化完成后,判断列车是否运营,若是,则执行步骤205和206,否则,执行步骤203和204。

具体地,由于在轨道交通运行中,不同的时段列车会有不同的运行状态。针对轻轨来说,轻轨在夜间是不运营的,所以该时间段,也就不执行列车调度,实时监控防护等任务,CPU和内存的负担会少很多,可以在轨道交通的停运时段分配较多的检测时长,而对运行时段分配较少的检测时长。针对高铁来说,也存在类似地运行的周期性分布。从而,可以在列车运行的空闲时段多分配内存检测时长,提高检测效率。

步骤203,从每个主程序周期内分配较长的用于进行内存检测的时长,作为第一检测时长。

步骤204,在第一检测时长内,对用于存储交互数据的缓存区和用于存储程序数据的存放区进行内存检测。

具体地,对内存中,用于存储交互数据的缓存区和用于存储程序数据的存放区写入一系列的数,然后再读出来,将两个数对比,通过对比结果判断内存是否能正常读写,来完成内存的检测。

但上述的用于存储交互数据的缓存区和用于存储程序数据的存放区,存储空间较大,不可能在一个主程序周期内完成检测,在每一个主程序周期内仅完成一部分区域的检测,进而在下一个主程序周期内再完成对下一部分区域的检测。但是由于每一个主程序周期内所分配的检测时长相对较长,从而缩短了内存检测过程中,用于存储交互数据的缓存区和用于存储程序数据的存放区的耗时。

需要说明的是,本领域技术人员可以想到,在第一检测时长内可以对用于存储交互数据的缓存区和用于存储程序数据的存放区中的一个进行内存检测,本实施例所提供的方案仅作为一种示意性描述,不构成对本发明的限制。

步骤205,从每个主程序周期内分配较短的用于进行内存检测的时长,作为第二检测时长。

针对轻轨来说,轻轨在白天运营时,需要执行列车调度,实时监控防护等任务,从而,相对夜间停止运营时CPU和内存的负担较大,可以在轨道交通的运行时段分配较少的检测时长,以减少内存检测给CPU和内存所带来的负担。针对高铁来说,也存在类似地运行的周期性分布,本领域技术人员可以在不同时段分配不同的检测时长。从而,可以实现在列车运行的运行时段分配较少的内存检测时长,提高运行的安全性。

步骤206,在第二检测时长内,对当前主程序周期内运算所需占用的运行区进行内存检测。

具体地,对内存中,当前主程序周期内运算所需占用的运行区写入一系列的数,然后再读出来,将两个数对比,通过对比结果判断内存是否能正常读写,来完成内存的检测。

在一种可能的应用场景中,应用程序基于C语言和汇编语言开发,应用程序对于即将用到的数据类型需预先规定其大小,从而可以获取当前主程序周期内,应用程序运算中各数据类型占用空间大小,在主程序周期中所预先分配的检测时长内,对符合该占用空间大小的运行区进行内存检测,然后再基于已检测的内存,运行该应用程序,实现随检随用。

步骤207,执行后续程序指令完毕后,返回执行初始化的步骤,进入下一个主程序周期。

本实施例中,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

为了实现上述实施例,本发明还提出一种基于轨道交通的内存检测装置。

图3为本发明实施例提供的一种基于轨道交通的内存检测装置的结构示意图。

如图3所示,该基于轨道交通的内存检测装置包括:分配模块31和检测模块32。

分配模块31,用于根据轨道交通运行的时段,从主程序周期中分配检测时长。

由于在轨道交通运行中,不同的时段列车会有不同的运行状态。

例如:针对轻轨来说,轻轨在夜间是不运营的,所以该时间段,计算机不执行列车调度,实时监控防护等任务,CPU和内存的负担会少很多,可以在轨道交通的停运时段分配较多的检测时长,而对运行时段分配较少的检测时长。

具体地,分配模块31可以在轨道交通的停运时段,从主程序周期中分配第一检测时长;在轨道交通的运行时段,从主程序周期中分配第二检测时长;其中,所述第一检测时长长于所述第二检测时长。

检测模块32,用于在所述检测时长内,对应用程序运行所需的内存进行检测。

具体地,检测模块32可以通过对内存写入一系列的数,然后再读出来,将两个数对比,通过对比结果判断内存是否能正常读写,来完成内存的检测。

需要说明的是,前述对基于轨道交通的内存检测方法实施例的解释说明也适用于该实施例的基于轨道交通的内存检测装置,此处不再赘述。

本发明实施例中,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

基于上述实施例,本发明实施例还提供了另一种基于轨道交通的内存检测装置的可能的实现方式,图4为本发明实施例提供的另一种基于轨道交通的内存检测装置的结构示意图,在上一实施例的基础上,分配模块31,包括:第一分配单元311和第二分配单元312。

第一分配单元311,用于在轨道交通的停运时段,从主程序周期中分配第一检测时长。

第二分配单元312,用于在轨道交通的运行时段,从主程序周期中分配第二检测时长。

其中,所述第一检测时长长于所述第二检测时长。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

进一步地,在本发明实施例的一种可能的实现方式中,内存包括用于存储交互数据的缓存区、用于存储程序数据的存放区和/或当前主程序周期内运算所需占用的运行区。

所述检测模块32,包括:第一检测单元321和第二检测单元322。

第一检测单元321,用于在所述第一检测时长内,对所述用于存储交互数据的缓存区,和/或用于存储程序数据的存放区进行内存检测。

第二检测单元322,用于在所述第二检测时长内,对当前主程序周期内运算所需占用的运行区进行内存检测。

具体地,第二检测单元322,具体用于:获取当前主程序周期内,应用程序运算中各数据类型占用空间大小;在所述第二检测时长内,对符合所述占用空间大小的运行区进行内存检测。

进一步,基于轨道交通的内存检测装置,还包括:存储模块33。

存储模块33,用于在当前主程序周期内,利用检测后确定正常运行的内存,在所述应用程序运算过程中进行数据存储。

需要说明的是,前述对基于轨道交通的内存检测方法实施例的解释说明也适用于该实施例的基于轨道交通的内存检测装置,此处不再赘述。

本发明实施例中,通过根据轨道交通运行的时段,从主程序周期中分配检测时长,从而在检测时长内,对应用程序运行所需的内存进行检测。由于现有技术中将全部内存的检测时长平分到每个主程序周期内进行内存检测的方式,导致必须保证每一个主程序周期内的内存检测时间,即使在列车运行最繁忙的时段也不能够影响列车的运行,从而每一个主程序周期内所分配到的内存检测时长较短。本发明实施例通过根据轨道交通运行的时段,有区分地从主程序周期中分配检测时长,使得增大了可以用于进行内存检测的检测时长,解决了现有技术中一轮内存检测耗时较长的技术问题。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1