CN105869309A - 驱动模块内存数据监测方法及装置 - Google Patents

驱动模块内存数据监测方法及装置 Download PDF

Info

Publication number
CN105869309A
CN105869309A CN201610180088.9A CN201610180088A CN105869309A CN 105869309 A CN105869309 A CN 105869309A CN 201610180088 A CN201610180088 A CN 201610180088A CN 105869309 A CN105869309 A CN 105869309A
Authority
CN
China
Prior art keywords
verification
internal storage
storage data
memory headroom
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610180088.9A
Other languages
English (en)
Inventor
罗忠明
熊飞
吴胜楠
陈明宇
梁建明
张雲瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU GRGBANKING INFORMATION TECHNOLOGY Co Ltd
GRG Banking Equipment Co Ltd
Guangdian Yuntong Financial Electronic Co Ltd
Original Assignee
GUANGZHOU GRGBANKING INFORMATION TECHNOLOGY Co Ltd
Guangdian Yuntong Financial Electronic Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGZHOU GRGBANKING INFORMATION TECHNOLOGY Co Ltd, Guangdian Yuntong Financial Electronic Co Ltd filed Critical GUANGZHOU GRGBANKING INFORMATION TECHNOLOGY Co Ltd
Priority to CN201610180088.9A priority Critical patent/CN105869309A/zh
Publication of CN105869309A publication Critical patent/CN105869309A/zh
Priority to PCT/CN2017/076290 priority patent/WO2017162049A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
    • G07F19/20Automatic teller machines [ATMs]
    • G07F19/209Monitoring, auditing or diagnose of functioning of ATMs

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供了一种驱动模块内存数据的监测方法,该方法预先将驱动模块的内存数据存储在预设结构的内存空间内,并在每次接收到对该内存空间的处理请求时,便计算该内存空间的当前校验和以及获取该内存空间的原始校验和,若两者相同,则可以对内存数据执行处理操作,若两者并不相同,则表示内存空间的内存数据被破坏,进而需要执行预设的出错处理操作。本申请不仅可以实时地监测驱动模块的内存数据,并且可以准确定位出错的驱动模块,从而可以及时准确地对故障进行处理。另外,本申请还提供了一种驱动模块内存数据监测装置,用以保证所述方法在实际中的应用及实现。

Description

驱动模块内存数据监测方法及装置
技术领域
本申请涉及内存数据保护技术领域,更具体地,涉及驱动模块的内存数据的监测技术。
背景技术
通常地,自动取款机(Automatic Teller Machine,以下简称为ATM机)关联有多个输入输出设备,如读卡器、打印机及密码键盘等。此些输入输出设备均具有驱动模块,每个驱动模块具有各自的私有数据。
各个驱动模块在运行时,需要共享ATM机的内存,存在某个驱动模块的内存数据被错误的其他驱动模块破坏的可能,例如,某个驱动模块自身出现了指针跑飞、数组越界等错误,出错的该驱动模块改写了其他驱动模块的内存数据。从而,最终可能导致ATM机无法正常运行甚至崩溃。例如,ATM机内设置有A、B、及C三个驱动模块,ATM机在正常工作状态下,驱动模块A、驱动模块B及驱动模块C的内存区域是各自独立的,若驱动模块B的内存区域覆盖或改写驱动模块A的内存区域,则会导致ATM机程序异常。
因此,需要一种技术方案,来实现对驱动模块内存数据的监测。
发明内容
有鉴于此,本申请提供了一种驱动模块内存数据监测方法,用于监测驱动模块的内存数据是否被破坏。另外,本申请还提供了一种驱动模块内存数据监测装置,用以保证所述方法在实际中的应用及实现。
为实现所述目的,本申请提供的技术方案如下:
本申请的第一方面提供了一种驱动模块内存数据监测方法,用于对驱动模块的内存数据进行监测,所述内存数据存储在预设结构的内存空间中,该方法包括:
若接收到对所述内存数据的处理请求,确定所述内存空间的当前校验和;其中,所述当前校验和用于表示所述内存空间当前的内存占用情况;
获取所述内存空间的原始校验和;其中,所述原始校验和用于记录所述内存空间在最近一次执行写入操作后的内存占用情况;
若所述当前校验和与所述原始校验和相同,则对所述内存数据执行所述处理请求对应的处理操作;
若所述当前校验和与所述原始校验和不同,则执行预设出错处理操作。
本申请的第二方面提供了一种驱动模块内存数据监测装置,用于对驱动模块的内存数据进行监测,所述内存数据存储在预设结构的内存空间中,该装置包括:
当前校验和确定模块,用于若接收到对所述内存数据的处理请求,确定所述内存空间的当前校验和;其中,所述当前校验和用于表示所述内存空间当前的内存占用情况;
原始校验和获取模块,用于获取所述内存空间的原始校验和;其中,所述原始校验和用于记录所述内存空间在最近一次执行写入操作后的内存占用情况;
校验和相同处理模块,用于若所述当前校验和与所述原始校验和相同,则对所述内存数据执行所述处理请求对应的处理操作;
校验和不同处理模块,用于若所述当前校验和与所述原始校验和不同,则执行预设出错处理操作。
由以上技术方案可知,本申请提供了一种驱动模块内存数据的监测方法,该方法预先将驱动模块的内存数据存储在预设结构的内存空间内,并在每次接收到对该内存空间的处理请求时,便计算该内存空间的当前校验和以及获取该内存空间的原始校验和,若两者相同,则可以对内存数据执行处理操作,若两者并不相同,则表示内存空间的内存数据被破坏,进而需要执行预设的出错处理操作。本申请不仅可以实时地监测驱动模块的内存数据,并且可以准确定位出错的驱动模块,从而可以及时准确地对故障进行处理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的驱动模块内存数据监测方法实施例1的流程图;
图2为本申请提供的驱动模块内存数据状态示例图;
图3为本申请提供的向系统请求分配内存空间的代码示例;
图4a、4b为本申请提供的监测驱动模块内存数据读取过程的流程图;
图5a、5b为本申请提供的监测驱动模块内存数据写入过程的流程图;
图6为本申请提供的驱动模块内存数据监测装置实施例1的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的一个具体应用场景是对ATM机的驱动模块相关的内存数据进行监测。可以知道的是,ATM机的输入输出设备具有各自的驱动模块,驱动模块具有各自的私有数据。根据实际需求,需要对哪些私有数据进行保护,则可以预先将此些私有数据存储在预设结构的内存空间内。需要说明的是,ATM机每个驱动模块具有各自所对应的内存空间,不同的驱动模块所对应的内存空间不同。
当然,本申请并不局限于保护ATM机驱动模块的内存数据,对其他设备的驱动模块内存数据的监测也可以使用本申请提供的方法,而不脱离本申请的保护范围。
以下以ATM机的驱动模块为例,对本申请进行说明。
参见图1,其示出了本申请提供的驱动模块内存数据监测方法实施例1的流程。如图1所示,本实施例可以具体包括步骤S101~步骤S104。
步骤S101:若接收到对内存数据的处理请求,确定内存空间的当前校验和;其中,当前校验和用于表示内存空间当前的内存占用情况。
如上,ATM机的驱动模块的私有数据被存储在一个预设结构的内存空间内,因此,ATM机的其他模块如中央处理器等,想要处理驱动模块的私有数据时,并不能直接对内存数据进行处理,而是需要向本实施例的执行模块发送处理请求。需要说明的是,对驱动模块的正常处理请求均会触发本申请的执行,即对驱动模块正常的处理请求会被发送至本实施例的执行模块,以触发本实施例的执行。
本实施例的执行模块接收到该处理请求后,首先计算内存空间的校验和,为了与内存空间的原始校验和进行区分,可以将本步骤计算获得的校验和称为当前校验和。可以理解的是,该内存空间即存储处理请求所对应的内存数据的内存空间。
步骤S102:获取内存空间的原始校验和;其中,原始校验和用于记录内存空间在最近一次执行写入操作后的内存占用情况。
其中,原始校验和可以保存在内存空间中,进而可以直接在内存空间获取原始校验和。原始校验和记录的是内存空间在最近一次执行写入操作后的内存占用情况。
需要说明的是,最近一次执行写入操作可以是在初始化时执行的写入操作,也可以是初始化后任意一次对内存空间的写入操作。写入操作可以是直接向内存空间内写入原来并不存在的数据,也可以是对内存空间原来存在的数据进行修改。
另外,本步骤与步骤S101的执行顺序并不影响本申请的实现,因此,本步骤可以与上述步骤S102同时执行,或者,可以先执行步骤S102再执行步骤S101。
可以理解的是,若内存空间内的数据被非法处理,则内存空间的内存占用情况则可能发生变化。参见图2所示的一种内存数据出错情况,如图2所示,ATM机内设置有A、B、及C三个驱动模块,ATM机在正常工作状态下,驱动模块A、驱动模块B及驱动模块C的内存区域是各自独立的,若驱动模块B的内存区域覆盖或改写驱动模块A的内存区域,则会导致ATM机程序异常。
因此,本申请可以根据内存占用情况,来判断内存空间内的数据是否被修改。具体地,将内存空间的当前校验和与内存空间的原始校验和进行比较,根据比较结果分别执行下述步骤S103或者步骤S104。
步骤S103:若当前校验和与原始校验和相同,则对内存数据执行处理请求对应的处理操作。
其中,当前校验和与原始校验和相同,则表示内存空间在上一次执行写入操作之后,并未出错,则可以正常对内存数据执行处理请求对应的处理操作,处理操作如读取或者写入等。
步骤S104:若当前校验和与原始校验和不同,则执行预设出错处理操作。
其中,当前校验和与原始校验和并不同,则表示内存空间在上一次执行写入操作之后,已经出错,则需要执行预设的出错处理操作。其中,出错处理操作可以是保存出错的该内存空间的内存数据以及对该内存空间的访问者,以供后续出错分析。
由以上技术方案可知,本申请提供的驱动模块内存数据的监测方法,该方法预先将驱动模块的内存数据存储在预设结构的内存空间内,并在每次接收到对该内存空间的处理请求时,便计算该内存空间的当前校验和以及获取该内存空间的原始校验和,若两者相同,则可以对内存数据执行处理操作,若两者并不相同,则表示内存空间的内存数据被破坏,进而需要执行预设的出错处理操作。本申请不仅可以实时地监测驱动模块的内存数据,并且可以准确定位出错的驱动模块,从而可以及时准确地对故障进行处理。
具体地,现有的ATM机故障处理方式中,日志仅仅记录出错的驱动模块,如图2所示,由于驱动模块B的内存数据错误更改了驱动模块A的内存数据,导致驱动模块A发生异常,日志记录的是驱动模块A发生异常,但是,在驱动模块A内确找不到异常代码,也就无法定位真正出错的驱动模块B,进而也就无法及时处理故障。
然而,本申请可以将驱动模块B的内存数据存储在预设结构的内存空间内,并对该内存空间的内存占用情况进行监测,若该内存空间的内存占用情况发生变化,则可以确定驱动模块B为出错模块,并可以对该驱动模块B执行预设的出错处理操作。
具体来讲,在图2所示的示例中,假设驱动模块B因为自身出错非正常地改写或覆盖了驱动模块A的内存数据,在对驱动模块A的内存数据监测过程中,监测到该驱动模块A的当前校验和与原始校验和不同,则可以将驱动模块A出错的内存数据及访问者驱动模块B写入文件。通过对该文件的分析,可以获知驱动模块B对驱动模块A进行了非正常的访问。
当然,驱动模块B自身也在被监测,一旦驱动模块B出错,便可以发现驱动模块B的出错状态,并可以对驱动模块B执行出错处理操作。
如上,驱动模块B的内存数据被存储在预设结构的内存空间内。内存空间的地址连续,且末尾地址指示校验和变量,校验和变量的地址紧接在内存数据的地址之后,校验和变量用于存储原始校验和。
具体地,以下通过为内存数据分配内存空间的一个代码示例,来说明分配的内存空间。
如图3所示,代码M1~M4用于向系统请求分配一块内存空间。其中,代码M1申明需保护的内存空间的类型名,代码M2申明需保护的内存变量(内存变量用来存储驱动模块的私有数据,私有数据即内存数据),代码M3申明校验和变量,代码M4请求分配内存空间实例。ATM系统的编译器可以根据代码M1~M4,生成存储私有数据的内存空间。
当然,图3所示的代码仅仅是说明示例,内存空间的名称、内存变量的名称、内存变量的类型、内存变量的个数、校验和变量的类型、校验和变量的名称等均可以是其他,而不局限于图3所示。另外,图3所示的代码是使用C语言描述的,使用其他编程语言编写的、与本申请的实现思想一致的编程代码均在本申请的保护范围之内。
初始化上述内存空间后,需要计算内存空间的校验和,并将校验和存储在校验和变量中。当然,每次正常向内存空间执行写入操作后,需要重新计算该内存空间的校验和,并将重新计算的校验和保存在该校验和变量中。校验和变量中存储的校验和称为原始校验和。
具体地,计算校验和的步骤包括:
将校验和变量的内存地址与内存空间的首地址之差,确定为内存空间的长度,并根据内存空间的首地址及内存空间的长度,定位内存空间;使用校验和算法,计算所述内存空间内当前内存数据的校验和,并将计算的校验和作为当前校验和。
其中,系统分配内存空间时是根据编译指令与执行情况动态分配的,内存空间的首地址便是随机的。虽然,内存空间的首地址随机,但是,校验和变量的内存地址减去内存空间的首地址后,便可以确定内存空间的长度。在确定内存空间的长度后,便根据首地址及长度定位到一段内存空间,获取该内存空间当前存储的内存数据,使用校验和算法,计算该内存数据的校验和。为了与校验和变量中存储的校验和区分,将当前计算出的校验和称为当前校验和。。
需要说明的是,本申请使用的校验和算法可以是但不限定于CRC(CyclicalRedundancy Check,循环冗余码校验)、MD5(Message-Digest Algorithm 5,信息-摘要算法5)、SHA(Secure Hash Algorithm,安全散列算法)等算法。
以上计算校验和的步骤可以计算内存数据的原始校验和,也可以在接收到对驱动模块内存数据的处理请求后,确定内存数据的当前校验和。
若接收到对驱动模块内存数据的读取请求,则可以对内存数据的读取进行监测,下面结合图4a及图4b对监测流程进行详细说明。
如图4a所示,在一个示例中,监测流程可以包括步骤S401~步骤S404。
步骤S401:若接收到对内存数据的读取请求,确定内存空间的当前校验和;其中,当前校验和用于表示内存空间当前的内存占用情况。
步骤S402:获取内存空间的原始校验和;其中,原始校验和用于记录内存空间在最近一次执行写入操作后的内存占用情况。
步骤S403:若当前校验和与原始校验和相同,则从内存空间读取内存数据。
步骤S404:若当前校验和与原始校验和不同,则执行预设出错处理操作。
其中,预设的出错处理操作可以包括:将内存空间的内存数据写入文件,并触发出错处理程序执行系统维护操作。同时,也可以将内存空间的访问者写入文件。该文件类似错误报告,保存非法更改的内存数据,以方便后续分析非法更改的内存数据的来源。在另一示例中,还可以调用系统API接口,执行dump转储操作,以保存进程的运行现场,方便后续分析。
需要说明的是,本实施例中的原始校验和、当前校验和的确定方式可以参见以上校验和的计算步骤,此处并不赘述。
如图4b所示,在一个更具体的示例中,对读取内存数据的监测流程可以具体包括步骤S411~步骤S414。
步骤S411:接收到对内存数据的读取请求后,计算内存空间的当前校验和。
步骤S412:比较当前校验和与原始校验和。若比较结果为相等,则执行步骤S413读取内存数据;若比较结果不相等,则执行步骤S414进行错误处理。
从原始校验和变量中获取原始校验和,并将其与当前校验和进行比较,根据比较结果,执行不同的处理动作。
若接收到对驱动模块内存数据的写入请求,则可以对向驱动模块的内存空间内写入内存数据的过程进行监测,下面结合图5a及图5b对监测流程进行详细说明。
如图5a所示,在一个示例中,监测流程可以具体包括步骤S501~步骤S504。
步骤S501:若接收到对内存数据的写入请求,确定内存空间的当前校验和;其中,当前校验和用于表示内存空间当前的内存占用情况。
步骤S502:获取内存空间的原始校验和;其中,原始校验和用于记录内存空间在最近一次执行写入操作后的内存占用情况。
步骤S503:若当前校验和与原始校验和相同,则向内存空间内写入新的内存数据,并确定内存空间新的校验和,将原始校验和更新为新的校验和。
其中,原始校验和存储在存储空间的校验和变量中,将新的校验和存储入该校验和变量,便可以将原始校验和更新为新的校验和。
步骤S504:若当前校验和与原始校验和不同,则执行预设出错处理操作。
参见以上对驱动模块内存数据读取的监测流程的说明,预设的出错处理操作可以包括:将内存空间的内存数据写入文件,并触发出错处理程序执行系统维护操作。
同样,本实施例中的原始校验和、当前校验和以及新的校验和的确定方式可以参见以上校验和的计算步骤,此处并不赘述。
如图5b所示,在一个更具体的示例中,对写入内存数据的监测流程可以具体包括步骤S511~步骤S516。
步骤S511:若接收到对内存数据的写入请求,计算内存空间的当前校验和。
步骤S512:比较当前校验和与原始校验和两者是否相等。若相等,则执行步骤S513,若不等,则执行步骤S516。
步骤S513:将内存数据写入内存空间。
步骤S514:计算写入内存数据后的内存空间的新的校验和,即计算写入的该内存数据的新的校验和。
步骤S515:将该新的校验和写入校验和变量,以更新校验和变量中的原始校验和。
步骤S516:进行错误处理。具体的错误处理可以参见上述说明,此处并不赘述。
以下对本申请提供的驱动模块内存数据监测装置进行介绍,需要说明的是,下文有关驱动模块内存数据监测装置的说明可以参见上文提供的驱动模块内存数据监测方法,以下并不赘述。
与上述驱动模块内存数据监测方法实施例1相对应,本申请提供了一种驱动模块内存数据监测装置实施例1。本实施例用于对驱动模块的内存数据进行监测,内存数据存储在预设结构的内存空间中。
如图6所示,本实施例可以具体包括:当前校验和确定模块601、原始校验和获取模块602、校验和相同处理模块603及校验和不同处理模块604。其中:
当前校验和确定模块601,用于若接收到对内存数据的处理请求,确定内存空间的当前校验和;其中,当前校验和用于表示内存空间当前的内存占用情况;
原始校验和获取模块602,用于获取内存空间的原始校验和;其中,原始校验和用于记录内存空间在最近一次执行写入操作后的内存占用情况;
校验和相同处理模块603,用于若当前校验和与原始校验和相同,则对内存数据执行处理请求对应的处理操作;
校验和不同处理模块604,用于若当前校验和与原始校验和不同,则执行预设出错处理操作。
由以上技术方案可知,本申请提供的驱动模块内存数据的监测装置,预先将驱动模块的内存数据存储在预设的内存空间内,当前校验和确定模块601在每次接收到对该内存空间的处理请求时,便计算该内存空间的当前校验和,原始校验和获取模块602获取该内存空间的原始校验和,若两者相同,则校验和相同处理模块603可以对内存数据执行处理操作,若两者并不相同,则表示内存空间的内存数据被破坏,进而校验和不同处理模块604需要执行预设的出错处理操作。本申请不仅可以实时地监测驱动模块的内存数据,并且可以准确定位出错的驱动模块,从而可以及时准确地对故障进行处理。
在一个具体示例中,驱动模块内存数据监测装置预设的内存空间具有如下特征,即地址连续,且末尾地址指示校验和变量,校验和变量的地址紧接在内存数据的地址之后,校验和变量用于存储原始校验和。
在一个具体示例中,当前校验和确定模块601可以具体包括:内存空间长度确定子模块及当前校验和计算子模块。其中:
内存空间定位子模块,用于若接收到对内存数据的处理请求,将校验和变量的内存地址与内存空间的首地址之差,确定为内存空间的长度,并根据内存空间的首地址及内存空间的长度,定位所述内存空间;
当前校验和计算子模块,用于使用校验和算法,计算内存空间内当前内存数据的校验和,并将计算的校验和作为当前校验和。
在一个具体示例中,校验和相同处理模块603可以具体包括:内存数据读取子模块及内存数据写入子模块。其中:
内存数据读取子模块,用于若当前校验和与原始校验和相同且处理请求为读取请求,则从内存空间读取内存数据;
内存数据写入子模块,用于若当前校验和与原始校验和相同且处理请求为写入请求,则向内存空间内写入新的内存数据,并确定内存空间新的校验和,将原始校验和更新为新的校验和。
在一个具体示例中,校验和不同处理模块604可以具体包括:校验和不同处理子模块。其中:
校验和不同处理子模块,用于若当前校验和与原始校验和不同,将内存空间内的内存数据写入文件,并触发出错处理程序执行系统维护操作。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种驱动模块内存数据监测方法,其特征在于,用于对驱动模块的内存数据进行监测,所述内存数据存储在预设结构的内存空间中,该方法包括:
若接收到对所述内存数据的处理请求,确定所述内存空间的当前校验和;其中,所述当前校验和用于表示所述内存空间当前的内存占用情况;
获取所述内存空间的原始校验和;其中,所述原始校验和用于记录所述内存空间在最近一次执行写入操作后的内存占用情况;
若所述当前校验和与所述原始校验和相同,则对所述内存数据执行所述处理请求对应的处理操作;
若所述当前校验和与所述原始校验和不同,则执行预设出错处理操作。
2.根据权利要求1所述的驱动模块内存数据监测方法,其特征在于,所述内存空间的地址连续,且末尾地址指示校验和变量,所述校验和变量的地址紧接在所述内存数据的地址之后,所述校验和变量用于存储所述原始校验和。
3.根据权利要求2所述的驱动模块内存数据监测方法,其特征在于,所述确定所述内存空间的当前校验和,包括:
将所述校验和变量的内存地址与所述内存空间的首地址之差,确定为所述内存空间的长度,并根据所述内存空间的首地址及所述内存空间的长度,定位所述内存空间;
使用校验和算法,计算所述内存空间内当前内存数据的校验和,并将计算的校验和作为当前校验和。
4.根据权利要求1所述的驱动模块内存数据监测方法,其特征在于,所述对所述内存数据执行所述处理请求对应的处理操作,包括:
若所述处理请求为读取请求,则从所述内存空间读取内存数据;
若所述处理请求为写入请求,则向所述内存空间内写入新的内存数据,并确定所述内存空间新的校验和,将所述原始校验和更新为所述新的校验和。
5.根据权利要求1所述的驱动模块内存数据监测方法,其特征在于,所述执行预设出错处理操作,包括:
将所述内存空间内的内存数据写入文件,并触发出错处理程序执行系统维护操作。
6.一种驱动模块内存数据监测装置,其特征在于,用于对驱动模块的内存数据进行监测,所述内存数据存储在预设结构的内存空间中,该装置包括:
当前校验和确定模块,用于若接收到对所述内存数据的处理请求,确定所述内存空间的当前校验和;其中,所述当前校验和用于表示所述内存空间当前的内存占用情况;
原始校验和获取模块,用于获取所述内存空间的原始校验和;其中,所述原始校验和用于记录所述内存空间在最近一次执行写入操作后的内存占用情况;
校验和相同处理模块,用于若所述当前校验和与所述原始校验和相同,则对所述内存数据执行所述处理请求对应的处理操作;
校验和不同处理模块,用于若所述当前校验和与所述原始校验和不同,则执行预设出错处理操作。
7.根据权利要求6所述的驱动模块内存数据监测装置,其特征在于,所述内存空间的地址连续,且末尾地址指示校验和变量,所述校验和变量的地址紧接在所述内存数据的地址之后,所述校验和变量用于存储所述原始校验和。
8.根据权利要求7所述的驱动模块内存数据监测装置,其特征在于,所述当前校验和确定模块包括:
内存空间定位子模块,用于若接收到对所述内存数据的处理请求,将所述校验和变量的内存地址与所述内存空间的首地址之差,确定为所述内存空间的长度,并根据所述内存空间的首地址及所述内存空间的长度,定位所述内存空间;
当前校验和计算子模块,用于使用校验和算法,计算所述内存空间内当前内存数据的校验和,并将计算的校验和作为当前校验和。
9.根据权利要求6所述的驱动模块内存数据监测装置,其特征在于,所述校验和相同处理模块包括:
内存数据读取子模块,用于若所述当前校验和与所述原始校验和相同且所述处理请求为读取请求,则从所述内存空间读取内存数据;
内存数据写入子模块,用于若所述当前校验和与所述原始校验和相同且所述处理请求为写入请求,则向所述内存空间内写入新的内存数据,并确定所述内存空间新的校验和,将所述原始校验和更新为所述新的校验和。
10.根据权利要求6所述的驱动模块内存数据监测装置,其特征在于,所述校验和不同处理模块包括:
校验和不同处理子模块,用于若所述当前校验和与所述原始校验和不同,将所述内存空间内的内存数据写入文件,并触发出错处理程序执行系统维护操作。
CN201610180088.9A 2016-03-24 2016-03-24 驱动模块内存数据监测方法及装置 Pending CN105869309A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610180088.9A CN105869309A (zh) 2016-03-24 2016-03-24 驱动模块内存数据监测方法及装置
PCT/CN2017/076290 WO2017162049A1 (zh) 2016-03-24 2017-03-10 驱动模块内存数据监测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610180088.9A CN105869309A (zh) 2016-03-24 2016-03-24 驱动模块内存数据监测方法及装置

Publications (1)

Publication Number Publication Date
CN105869309A true CN105869309A (zh) 2016-08-17

Family

ID=56625804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610180088.9A Pending CN105869309A (zh) 2016-03-24 2016-03-24 驱动模块内存数据监测方法及装置

Country Status (2)

Country Link
CN (1) CN105869309A (zh)
WO (1) WO2017162049A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162049A1 (zh) * 2016-03-24 2017-09-28 广州广电运通金融电子股份有限公司 驱动模块内存数据监测方法及装置
CN107644523A (zh) * 2017-11-02 2018-01-30 天津纤测道客科技发展有限公司 一种光纤测试数据智能传输设备
WO2022199155A1 (zh) * 2021-03-24 2022-09-29 华为技术有限公司 一种数据传输的系统、方法以及网络设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948165B (zh) * 2021-02-26 2024-02-13 许继集团有限公司 一种继电保护装置内存数据可靠性保障方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286429A (zh) * 1999-11-20 2001-03-07 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
JP2007102659A (ja) * 2005-10-07 2007-04-19 Hitachi Omron Terminal Solutions Corp 紙葉類取扱装置における作業命令の実行
CN102508728A (zh) * 2011-11-29 2012-06-20 中国航空工业集团公司第六三一研究所 一种对固化于flash载体的目标文件的检错及读取方法
CN102855439A (zh) * 2012-07-26 2013-01-02 深圳市赛格导航科技股份有限公司 一种执行文件自校验方法及装置
US8560888B1 (en) * 2011-02-11 2013-10-15 Bank Of America Corporation Method and apparatus for rebuilding an ATM computer image automatically
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145129A (zh) * 2007-07-18 2008-03-19 中兴通讯股份有限公司 一种嵌入式系统内存写越界的检测方法及系统
ES2539260T3 (es) * 2011-08-23 2015-06-29 Huawei Technologies Co., Ltd. Método y dispositivo para la detección de fiabilidad de datos
CN103294606A (zh) * 2013-05-08 2013-09-11 天脉聚源(北京)传媒科技有限公司 一种分配内存及检测内存溢出的方法和装置
CN104598342B (zh) * 2014-12-31 2018-05-01 曙光信息产业(北京)有限公司 内存的检测方法和装置
CN105869309A (zh) * 2016-03-24 2016-08-17 广州广电运通信息科技有限公司 驱动模块内存数据监测方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286429A (zh) * 1999-11-20 2001-03-07 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
JP2007102659A (ja) * 2005-10-07 2007-04-19 Hitachi Omron Terminal Solutions Corp 紙葉類取扱装置における作業命令の実行
US8560888B1 (en) * 2011-02-11 2013-10-15 Bank Of America Corporation Method and apparatus for rebuilding an ATM computer image automatically
CN102508728A (zh) * 2011-11-29 2012-06-20 中国航空工业集团公司第六三一研究所 一种对固化于flash载体的目标文件的检错及读取方法
CN102855439A (zh) * 2012-07-26 2013-01-02 深圳市赛格导航科技股份有限公司 一种执行文件自校验方法及装置
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162049A1 (zh) * 2016-03-24 2017-09-28 广州广电运通金融电子股份有限公司 驱动模块内存数据监测方法及装置
CN107644523A (zh) * 2017-11-02 2018-01-30 天津纤测道客科技发展有限公司 一种光纤测试数据智能传输设备
WO2022199155A1 (zh) * 2021-03-24 2022-09-29 华为技术有限公司 一种数据传输的系统、方法以及网络设备

Also Published As

Publication number Publication date
WO2017162049A1 (zh) 2017-09-28

Similar Documents

Publication Publication Date Title
US8904123B2 (en) Transferring learning metadata between storage servers having clusters via copy services operations on a shared virtual logical unit that stores the learning metadata
US5997167A (en) Programmable controller including diagnostic and simulation facilities
CN102270144B (zh) 嵌入式网络设备及其更新固件的方法
US20030051235A1 (en) Method and apparatus for verifying and analyzing computer software installation
US20210055718A1 (en) Computer-implemented method for providing data, in particular for conformity tracking
CN105911885B (zh) 用于改善工业控制系统的工业控制器
CN105869309A (zh) 驱动模块内存数据监测方法及装置
US11022950B2 (en) Resilient failover of industrial programmable logic controllers
CN113238924B (zh) 分布式图数据库系统中的混沌工程实现方法和系统
US20140208169A1 (en) Domain scripting language framework for service and system integration
US8751762B2 (en) Prevention of overlay of production data by point in time copy operations in a host based asynchronous mirroring environment
CN112181459B (zh) 一种cpld升级优化方法及系统
CN105453095B (zh) 功能设定方法
CN110716878A (zh) 一种接口自动化测试方法、装置及系统
CN107479823A (zh) 随机读写文件测试中的数据校验方法和装置
US20120233422A1 (en) Data integrity protection in storage volumes
US8838545B2 (en) Incremental and prioritized restoration of blocks
CN112527480A (zh) 端到端双活方法、装置、设备及存储介质
CN111694724A (zh) 分布式表格系统的测试方法、装置、电子设备及存储介质
CN112148714B (zh) 数据监控方法、系统、存储介质及电子设备
CN111633642B (zh) 一种机器人管理方法、装置、电子设备及存储介质
US20160378341A1 (en) Non-volatile memory drive partitions within microcontrollers
CN106815001B (zh) 配置文件信息的检测方法及装置
KR20200030990A (ko) 제어 시스템의 해저드 분석 방법 및 그 장치
JP7284791B2 (ja) 分散トランザクションシステム及び分散トランザクションシステムにおける分散トランザクション処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160817

RJ01 Rejection of invention patent application after publication