发明内容
本发明针对现有人工检测方式检修工控机极其费时费力的缺点,提出一种工控机自检系统及其控制方法和相关设备,用以解决现有技术存在的上述问题。
根据本发明的第一个方面,提供了一种工控机自检系统的控制方法,包括如下步骤:
步骤一、在编译阶段计算并存储每个分区的镜像文件的md5值,所述分区为工控机预先将其存储空间划分成的多个虚拟空间中的一个虚拟空间;
步骤二、在烧写固件阶段回读每个分区中的内容,并校验md5值,若校验md5值失败,则重新烧写固件,并在烧写固件阶段回读每个分区中的内容,并校验md5值;若校验md5值失败且失败的次数超过预设次数,将预设的表示校验md5值多次失败的信息推送至工控机显示界面上以进行显示;
步骤三、若在烧写固件阶段校验md5值成功,在工控机上电开机阶段的启动加载模式读取每个分区存储的md5值,并计算每个分区的md5值,再对比存储的md5值和计算的md5值是否一致,若每个分区存储的md5值和计算的md5值一致,启动工控机;若存在至少一个分区存储的md5值和计算的md5值不一致,将预设的表示由用户选择是否继续开启工控机的信息推送至工控机显示界面上以进行显示。
进一步地,所述步骤一还包括将各分区镜像文件的md5值合并制作成新的md5分区镜像文件。
进一步地,所述将各分区镜像文件的md5值合并制作成新的md5分区镜像文件之后,所述步骤一还包括:
增加md5分区以存放所述新的md5分区镜像文件。
进一步地,所述步骤三之中,若在烧写固件阶段校验md5值成功,在工控机上电开机阶段的启动加载模式,若所述md5分区未记录md5值时,则不对md5分区进行md5值的读取和计算。
进一步地,所述步骤三之后,还包括,根据预存的数据包更新所述md5分区及其他分区,所述数据包由后台服务器发送给工控机预存。
进一步地,所述步骤三还包括,若在烧写固件阶段校验md5值失败,判定系统文件损坏或被篡改,将预设的表示继续开机使用的风险和/或需要进行返厂修复的提示信息推送至工控机显示界面上以进行显示,启动工控机,并在工控机启动后,通过预先连接的网络将预设的表示工控机校验失败的异常状态信息上报给后台服务器,所述后台服务器,用于接收并记录表示工控机校验失败的异常状态信息。
另一方面,本发明提供了一种工控机自检系统,包括:
编译模块,用于在编译阶段计算每个分区的镜像文件的md5值,所述分区为工控机预先将其存储空间划分成的多个虚拟空间中的一个虚拟空间;
烧写模块,用于烧写固件并在烧写固件阶段回读每个分区的内容,并校验md5值,若校验md5值成功,指令上电运行模块执行相应步骤;若校验md5值失败,则重新烧写固件,并在烧写固件阶段回读每个分区中的内容,并校验md5值;若校验md5值失败且失败的次数超过预设次数,将预设的表示校验md5值多次失败的信息推送至工控机显示界面上以进行显示;
上电运行模块,用于在工控机上电开机阶段的加载模式读取每个分区存储的md5值,并计算每个分区的md5值,再对比存储的md5值和计算的md5值是否一致,若每个分区存储的md5值和计算的md5值一致,启动工控机;若存在至少一个分区存储的md5值和计算的md5值不一致,将预设的表示由用户选择是否继续开启工控机的信息推送至工控机显示界面上以进行显示。
第三方面,本发明提供了一种工控机,所述工控机包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的工控机自检系统的控制方法。
第四方面,本发明提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时可实现上述的工控机自检系统的控制方法。
进一步地,所述存储介质包括多个分区,所述分区不被文件系统所挂载,且每个所述分区中均存储md5值。
与现有技术相比,本发明的有益效果是:
1、本发明通过在编译阶段计算并存储每个分区的镜像文件的md5值;在烧写固件阶段回读每个分区中的内容,并校验md5值,若在烧写固件阶段校验md5值失败,则重新烧写固件并进行md5值的校验;若在烧写固件阶段校验md5值成功,在工控机上电开机阶段的启动加载模式读取每个分区存储的md5值,并计算每个分区的md5值,再对比每个分区存储的md5值和计算的md5值是否一致,若每个分区存储的md5值和计算的md5值一致,启动工控机;若存在至少一个分区存储的md5值和计算的md5值不一致,显示将预设的表示由用户选择是否继续开启工控机的信息推送至工控机显示界面上以进行显示;上述过程实现了只需要少量的人工作业就能够自动完成工控机检测的流程,不仅省时省力,还提高了工作效率,尤其是在应对大批量的生产时,相比手动测试,还能提高工控机的产能。
2、本发明在工控机上电开机阶段的启动加载模式读取并计算每个分区的md5值以进行校验,若md5值校验失败,判定系统文件损坏或被篡改,将预设的表示继续开机使用的风险和/或需要进行返厂修复的提示信息推送至工控机显示界面上以进行显示,并在工控机启动后,通过预先连接的网络将预设的表示工控机校验失败的异常状态信息上报给后台服务器,实现了服务器能够实时获取工控机校验失败的异常状态的目的,为生产线的检修人员或售后人员提供了排除工控机故障的判断依据,据此生产线的检修人员或售后人员能够快速排出故障,从而为修复工控机节省了时间。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分例,实施而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
工控机(Industrial Personal Computer,IPC)即工业控制计算机,是一种采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。工控机具有重要的计算机属性和特征,如具有计算机主板、CPU、硬盘、内存、外设及接口,并有操作系统、控制网络和协议、计算能力、友好的人机界面。
外设及外设接口,外设指除了主机箱、显示屏、键盘以外的设备;外设接口是指经数据线连接的各种外围设备以交换信息地方。
操作系统(Operating System,OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
控制网络和协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。
友好的人机界面,即显示界面或显示模块,是人与机器进行交互的操作界面,通过该界面,用户可以实现与计算机之间的通信从而控制计算机;换而言之,该界面是进行用户和计算机之间的数据传送的系统部件,即用户与机器互相传递信息,其中包括信息的输入和输出。
实施例一
如图1所示,提供了本发明一个实施例的一种工控机自检系统的控制方法,包括步骤S101-S103。
S101、在编译阶段计算并存储每个分区的镜像文件的md5值,分区为工控机预先将其存储空间划分成的多个虚拟空间中的一个虚拟空间。
存储空间可以是闪存;闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。
如图2所示,在编译阶段还包括步骤S11-S12。
S11将各分区镜像文件的md5值合并制作成新的md5分区镜像文件。
S12增加md5分区以存放新的md5分区镜像文件。
S102、在烧写固件阶段回读每个分区中的内容,并校验md5值,若校验md5值失败,则重新烧写固件,并在烧写固件阶段回读每个分区中的内容,并校验md5值;若校验md5值失败且失败的次数超过预设次数(例如设为三次),将预设的表示校验md5值多次失败的警示信息推送至工控机显示界面上以进行显示。
本实施中的一种具体示例:在烧写固件阶段回读每个分区中的内容,并校验md5值,若校验md5值失败,则判定工控机的闪存出现故障,同时将预设的表示读取工控机闪存中的至少一个分区的镜像文件失败的信息推送至工控机显示界面上以进行显示。
闪存出现故障的原因,包括:1、闪存的质量不达标;2、闪存的安装未到位(接触不良);3、闪存或安装闪存的闪存槽损坏。
md5校验原理:若发送端需要在工控机中同步一个文件,该文件使用md5校验,那么发送端在发送文件的同时会发送一个含有校验码的数据包,工控机获取文件后做md5运算以获取计算结果,若该计算结果与数据包中的校验码一致,则判断发送端发送的文件没有出错,若该计算结果与数据包中的校验码不一致,则判断发送端发送的文件出错了需重新发送。
S103、若在烧写固件阶段校验md5值成功,在工控机上电开机阶段启动加载模式读取每个分区存储的md5值,并计算每个分区的md5值,再对比每个分区存储的md5值和计算的md5值是否一致,若每个分区存储的md5值和计算的md5值一致,启动工控机;若存在至少一个分区存储的md5值和计算的md5值不一致,将预设的表示由用户选择是否继续开启工控机的信息推送至工控机显示界面上以进行显示。
值得注意的是,md5分区未记录md5值时,则不对md5分区进行步骤S102中md5值的校验(待其他分区的md5值被校验完毕转步骤S103);也不进行步骤S103中读取每个分区存储的md5值,并计算每个分区的md5值,再对比每个分区存储的md5值和计算的md5值是否一致。
步骤S103还包括,若在烧写固件阶段校验md5值失败,判定系统文件损坏或被篡改,将预设的表示继续开机使用的风险和/或需要进行返厂修复的提示信息推送至工控机显示界面上以进行显示,例如:在显示界面弹出包含上述提示信息的显示框或者可选择的跳转指令信息,以供用户选择,该跳转指令信息还包括若用户不在预设时间内进行选择,则在预设的可供用户选择的时间过后,则根据默认启动机制启动工控机;并在工控机启动后,通过预先连接的网络将预设的表示工控机校验失败的异常状态信息上报给后台服务器。后台服务器,用于接收并记录该表示工控机校验失败的异常状态信息。
在一实施例中,工控机启动后,还包括接收服务器发送的数据包以实现至少如下两个目的。
第一、工控机接收后台服务器发送的自检广播包以实现工控机的自检。
自检广播包一般携带有一经传输完成即可开启工控机的自检程序的自检命令,该自检程序可以检查出工控机已安装程序存在的问题,也具有一定的修复功能;但如果是硬件(包括存储器、中断、扩展卡)损伤就需要人工维修。
第二、工控机接收后台服务器发送的升级数据包以更新md5分区及其他分区;该升级数据包可设置为一经接收完成立即更新md5分区及其他分区,还可设置为在接收完成后预设的一段时间后再进行md5分区及其他分区的更新。
例如,md5分区的更新步骤具体:数据包通过启动预设的更新机制确定当前md5分区所适用的更新策略;获取访问旧的md5分区的位置;根据更新策略以及旧的md5分区的位置生成新的md5分区;上述过程可看成是重新分区的步骤。
实施例二
如图3所示,提供了本发明另一个实施例的一种工控机自检系统,包括:
编译模块A201,用于在编译阶段计算每个分区的镜像文件的md5值,每个分区为工控机预先将其存储空间划分成的多个虚拟空间中的一个虚拟空间。
编译模块还用于将各分区镜像文件的md5值合并制作成新的md5分区镜像文件,以及用于增加md5分区以存放新的md5分区镜像文件。
工控机系统还包括工控机系统分区表,工控机系统分区表用于增加新的md5分区,新的md5分区用于存放新的md5分区镜像文件;新的md5分区既可以使用现有闪存,也可使用独立闪存,如U盘、TF-Card、NOR-Flash等存储改分区,且该分区不被文件系统所挂载,对用户不可见。
烧写模块A202,用于烧写固件并在烧写固件阶段回读每个分区的内容,并校验md5值,若校验md5值成功,指令上电运行模块A203执行相应步骤;若校验md5值失败,则重新烧写固件,并在烧写固件阶段回读每个分区中的内容,并校验md5值;若校验md5值失败且失败的次数超过预设次数,将预设的表示校验md5值多次失败的信息推送至工控机显示界面上以进行显示。
在烧写模块A202校验md5值时,若md5分区未记录md5值时,则不进行该分区的md5值校验,但其他分区的md5值仍需校验。
上电运行模块A203,用于在工控机上电开机阶段的加载模式读取每个分区存储的md5值,并计算每个分区的md5值,再对比每个分区存储的md5值和计算的md5值是否一致,若每个分区存储的md5值和计算的md5值一致,启动工控机;若存在至少一个分区存储的md5值和计算的md5值不一致,将预设的表示由用户选择是否继续开启工控机的信息推送至工控机显示界面上以进行显示。
在上电运行模块A203读取每个分区存储的md5值,并计算每个分区的md5值,再对比每个分区存储的md5值和计算的md5值是否一致时,若md5分区未记录md5值时,则不进行上述步骤。
在另一实施例中,工控机还包括上报处理模块A204,当上电运行模块A203对比存储的md5值和计算的md5值不一致时,根据用户选择或默认机制启动工控机后,通过预先连接的网络将预设的表示工控机校验失败的异常状态信息上报给后台服务器,后台服务器,用于记录该表示工控机校验失败的异常状态信息。
上报处理模块A204还用于,若在烧写固件阶段校验md5值失败,判定系统文件损坏或被篡改,显示表示继续开机使用的风险和/或需要进行返厂修复的提示,根据用户选择或默认的形式启动工控机,并在工控机启动后,通过预先连接的网络将校验失败的异常状态信息上报给后台服务器,后台服务器,用于接收并记录工控机的异常状态信息。
在另一实施例中,工控机还包括接收模块,该接收模块用于接收服务器发送的数据包。
数据包包括用于实现工控机自检的自检广播包和用于更新md5分区及其他分区的升级数据包。
在另一实施例中,工控机还包括更新模块,该更新模块执行升级数据包中的数据以更新md5分区及其他分区。
本发明在工控机上电开机阶段的启动加载模式读取并计算每个分区的md5值以进行校验,若md5值校验失败,判定系统文件损坏或被篡改,显示表示继续开机使用的风险和/或需要进行返厂修复的提示,并在工控机启动后,通过预先连接的网络将校验失败的异常状态信息上报给后台服务器,实现了实时获取工控机校验失败的异常状态,为生产线的检修人员或售后人员提供了排除工控机故障的判断依据,据此生产线的检修人员或售后人员能够快速排出故障,从而为修复工控机节省了时间。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的模块、相关工作单元和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三
提供了本发明另一个实施例的一种工控机,工控机包括存储器及处理器,存储器上存储有计算机程序,处理器执行计算机程序时实现上述的工控机自检系统的控制方法。
该处理器用于提供计算和控制能力,以支撑整个计算机设备的运行。
该内存储器为非易失性存储介质中的计算机程序的运行提供环境。
实施例四
提供了本发明另一个实施例的一种存储介质,存储介质存储有计算机程序,计算机程序包括程序指令,当该程序指令被处理器执行时可实现上述的工控机自检系统的控制方法。
存储介质预先包括多个分区,每个分区中均存储md5值,且分区不被文件系统所挂载。
在另一实施例中,工控机因执行程序而在存储介质中新增至少一个分区时,该分区可以不存储md5值,也可以存储md5值。
本实施例所述的存储介质既可独立于系统镜像的所在的闪存,也可使用系统镜像所在的闪存。
在本申请所提供的实施例中,应该理解到,所揭露的方法、系统、装置、模块和/或单元,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。