POS机、POS机无线通讯模块固件升级方法及装置与流程

文档序号:11250657阅读:1215来源:国知局
POS机、POS机无线通讯模块固件升级方法及装置与流程

本发明涉及信息技术领域,特别是涉及一种pos机、pos机无线通讯模块固件升级方法及装置。



背景技术:

pos机中通过设置无线通讯模块进行通讯,pos机的无线通讯模块运行于独立的操作系统,如果有新的需求或者无线通讯模块出现问题,需要对无线通讯模块进行固件升级。

一般的,对pos机无线通讯模块固件升级时,先将无线通讯模块的固件部署到升级工具中,再将升级工具通usb连接线或者串口线连接到到pos机,然后由pos机厂家的技术人员操作pos机,完成pos机无线通讯模块固件升级。该种pos机无线通讯模块固件升级方式需要将pos机返厂或者由厂家指派技术人员到现场对pos机无线通讯模块进行升级,使得pos机无线通讯模块固件升级效率低、操作复杂且升级成本高。



技术实现要素:

基于此,有必要针对pos机无线通讯模块升级效率低、操作复杂且升级成本高的问题,提供一种pos机、pos机无线通讯模块固件升级方法及装置。

一种pos机无线通讯模块固件升级方法,包括以下步骤:

获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器;

接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号;

获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件;

将下载的无线通讯模块固件文件部署到无线通讯模块中。

在其中一个实施例中,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤之后,还包括:

检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;

当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,执行从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤。

在其中一个实施例中,上述pos机无线通讯模块固件升级方法还包括:

当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;

接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

在其中一个实施例中,获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器的步骤之前,还包括:

检测pos机的工作状态;

当pos机处于空闲状态时,执行获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器的步骤。

一种pos机无线通讯模块固件升级方法,包括以下步骤:

接收终端发送的固件版本查询请求,根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号;

根据本地固件版本号查询已存储的无线通讯模块固件的升级固件版本号;

当查询到与本地固件版本号相匹配的升级固件版本号时,发送与本地固件版本号相匹配的升级固件版本号至终端;

接收终端发送的下载请求,下载请求携带升级固件版本号;

获取升级固件版本号对应的无线通讯模块固件文件,发送无线通讯模块固件文件至终端。

一种pos机无线通讯模块固件升级装置,包括:

查询请求生成模块,用于获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器;

显示模块,用于接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号;

固件下载模块,用于获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件;

升级部署模块,用于将下载的无线通讯模块固件文件部署到无线通讯模块中。

在其中一个实施例中,上述pos机无线通讯模块固件升级装置还包括:

固件校验模块,用于检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;

当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,发送下载指令至固件下载模块。

一种pos机无线通讯模块固件升级装置,包括:

查询请求接收模块,用于接收终端发送的固件版本查询请求,根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号;

查询匹配模块,用于根据本地固件版本号查询已存储的无线通讯模块固件的升级固件版本号;当查询到与本地固件版本号相匹配的升级固件版本号时,发送与本地固件版本号相匹配的升级固件版本号至终端;

下载请求接收模块,用于接收终端发送的下载请求,下载请求携带升级固件版本号;

固件文件发送模块,用于获取升级固件版本号对应的无线通讯模块固件文件,发送无线通讯模块固件文件至终端。

一种pos机,包括:存储器、处理器及存储在存储器上并可在处理器上运行的pos机应用程序,处理器执行pos机应用程序时实现以下步骤:

获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器;

接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号;

获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件;

将下载的无线通讯模块固件文件部署到无线通讯模块中。

一种pos机可读存储介质,其上存储有pos机应用程序,该pos机应用程序被处理器执行时实现上述方法的步骤。

上述pos机、pos机无线通讯模块固件升级方法及装置,根据pos机无线通讯模块的本地固件版本号生成固件版本查询请求发送至服务器,接收并显示服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,再根据对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件,并将下载的无线通讯模块固件文件部署到无线通讯模块中,实现了pos机无线通讯模块固件自动升级,升级操作简单方便,大大提高了pos机无线通讯模块固件升级的效率,且省去了pos机返厂及技术人员现场服务开销,有效节约了pos机无线通讯模块固件升级成本。

附图说明

图1为一个实施例中pos机无线通讯模块固件升级方法流程图;

图2为又一个实施例中pos机无线通讯模块固件升级方法流程图;

图3为一个实施例中pos机无线通讯模块固件升级方法的应用场景示意图;

图4为一个实施例中pos机无线通讯模块固件升级装置的结构示意图;

图5为又一个实施例中pos机无线通讯模块固件升级装置的结构示意图;

图6为另一个实施例中pos机无线通讯模块固件升级装置的结构示意图;

图7为一个实施例中pos机的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

请参阅图1,一种pos机无线通讯模块固件升级方法,包括以下步骤:

步骤102:获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器。

具体地,pos机中存储当前使用的无线通讯模块的固件版本号,当获取到无线通讯模块固件升级指令后,pos机查询当前使用的无线通讯模块的固件版本号,获取本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器。

在一个实施例中,pos机无线通讯模块的固件版本号包括固件版本的产品型号、固件版本的主版本号、固件版本的子版本号和固件版本的流水号。无线通讯模块的产品型号有很多种,不同的产品型号,对应不同的无线通讯模块种类,无线通讯模块由于产品型号不同,不能升级其他产品型号的固件版本,只能升级产品型号、主版本号和子版本号相同的无线通讯模块固件版本号。也就是说,升级无线通讯模块固件版本时,只有固件版本的流水号可以不同,其他都要相同,否则pos机的本地升级命令会不识别,无法进行升级,会导致升级失败。因此,获取本地固件版本号时,本地固件版本的产品型号、本地固件版本的主版本号、本地固件版本的子版本号保持不变,将固件版本的流水号修改为预先设置的流水替换号,得到本地固件版本号,即本地固件版本号包括本地固件版本的产品型号、本地固件版本的主版本号、本地固件版本的子版本号和流水替换号,得到本地固件版本号后,根据本地固件版本号生成固件版本查询请求发送至服务器。进一步地,流水替换号可以为*、#等字符,也可以为预设的若干个“0”等,具体应用中可根据实际情况任意设置,本实施例不做具体限定。

步骤104:接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号。

具体地,升级固件版本号可以为多个,每个升级固件版本号均包括升级固件版本的产品型号、升级固件版本的主版本号、升级固件版本的子版本号和升级固件版本的流水号。升级固件版本号的数量根据服务器中存储的与本地固件版本号相匹配的升级固件版本号的数量相同。进一步的,与本地固件版本号相匹配的升级固件版本号为产品型号、主版本号及子版本号与本地固件版本号的产品型号、主版本号及子版本号均相同的升级固件版本号。即升级固件版本号的产品型号、主版本号及子版本号与本地固件版本号的产品型号、主版本号及子版本号相同,升级固件版本号的流水号可以与本地固件版本号的流水号相同,也可以不同。

在一个实施例中,服务器接收到固件版本查询请求后查询本地存储的固件版本信息,当查询到与本地固件版本号相匹配的升级固件版本号时,发送查询到的升级固件版本号至pos机,pos机显示接收到的升级固件版本号。

步骤106:获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件。

具体地,pos机获取用户对相应升级固件版本号的选中指令,当获取到用户对某个升级固件版本号的选中指令后,pos机根据获取到选中指令的升级固件版本号生成下载请求发送至服务器,从服务器上下载与该升级固件版本号对应的无线通讯模块固件文件。在一个实施例中,用户通过pos机的输入设备如键盘、触摸屏等向pos机输入对要选取的升级固件版本号的选中指令。

步骤108:将下载的无线通讯模块固件文件部署到无线通讯模块中。

具体地,pos机解析下载的无线通讯模块固件文件,运行固件安装程序,完成无线通讯模块固件升级。

在一个实施例中,步骤106中从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤之后,还包括:检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,执行从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤。

具体地,pos机完成无线通讯模块固件文件下载后,计算下载到的无线通讯模块固件文件的大小,并与服务器中存储的该无线通讯模块固件文件的大小相比较,如果两者大小不一致,则可能发生数据丢失或数据重复,此时,无线通讯模块固件文件下载失败,pos机重新从服务器下载无线通讯模块固件文件;如果下载到的无线通讯模块固件文件的大小与服务器中存储的该无线通讯模块固件文件的大小相同,则进一步进行哈希值校验,如果哈希值校验成功,则下载的无线通讯模块固件文件正确,可以进行升级,执行步骤108;否则,如果哈希值校验失败,则下载的无线通讯模块固件文件错误,pos机重新从服务器下载无线通讯模块固件文件。本实施例通过对下载到的无线通信模块固件文件进行校验,确保下载到的无线通信模块正确,确保pos机无线通讯模块固件升级准确,有利于提高pos机无线通讯模块升级效率。

在一个实施例中,上述pos机无线通讯模块固件升级方法还包括:当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

具体地,如果在pos机下载无线通讯模块固件文件的过程中出现网络错误或突发掉电等情况导致中间下载出错,则pos机计算已经下载的无线通信模块固件文件的文件大小,计算下载偏移量,然后向服务器发送“rest偏移量”命令,以进行下载续传,当接收到服务器返回的下载偏移量确认指令时,pos机从下载中端位置处继续下载无线通讯模块固件文件。本实施例中,当发生无线通讯模块固件文件下载中断时,pos机通过与服务器进行下载偏移量确认实现断点续传,进一步提高了pos机无线通讯模块升级效率。

在一个实施例中,步骤102之前还包括:检测pos机的工作状态;当pos机处于空闲状态时,执行获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器的步骤。

具体地,当pos机获取到无线通讯模块固件升级指令后,先检测当前pos机的工作状态,当pos机处于空闲状态时,执行步骤102至步骤108,对pos无线通讯模块进行固件升级;当pos机处于工作状态时,则输出运行冲突的提醒信息,提示用户当前无法进行升级或结束pos机当前执行的进程后再进行无线通讯模块固件升级,以避免出现运行冲突,确保无线通讯模块稳定升级。

请参阅图2,一种pos机无线通讯模块固件升级方法,包括以下步骤:

步骤202:接收终端发送的固件版本查询请求,根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号。

具体地,终端为pos机,固件版本查询请求携带pos机无线通讯模块的本地固件版本号,包括本地固件版本的产品型号、本地固件版本的主版本号、本地固件版本的子版本号和流水替换号。服务器接收到pos机发送的固件版本查询请求后,根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号。进一步地,在一个实施例中,服务器为ftp服务器。

步骤204:根据本地固件版本号查询已存储的无线通讯模块固件的升级固件版本号。

服务器获取pos机无线通讯模块的本地固件版本号后,查询已存储的无线通讯模块固件的升级固件版本号,检测是否有与本地固件版本号匹配的升级固件版本号,即查询是否存储有产品型号、主版本号及子版本号与本地固件版本号相同的升级固件版本号,当查询到有与本地固件版本号相匹配的升级固件版本号时,执行步骤206;否则,服务器发送升级失败提醒至pos机,提醒用户无升级版本,升级失败。

具体地,服务器中存储有各种型号的无线通讯模块固件文件,包括每个型号的无线通讯模块的不同版本的固件文件,能够使pos机的无线通讯模块固件升级到最新版本,也可以满足特定升级需求,使无线通讯模块根据用户需求升级到某一特定版本,能够有效满足不同用户的升级需求,方便用户使用。

步骤206:当查询到与本地固件版本号相匹配的升级固件版本号时,发送与本地固件版本号相匹配的升级固件版本号至终端。

具体地,升级固件版本号包括升级固件版本的产品型号、升级固件版本的主版本号、升级固件版本的子版本号和升级固件版本的流水号。当查询到升级版本号的产品型号、主版本号和子版本号与本地固件版本号的产品型号、主版本号和子版本号相同时,服务器获取该升级固件版本号,并将该升级固件版本号发送至pos机,以供用户选择。

步骤208:接收终端发送的下载请求,下载请求携带升级固件版本号。

具体地,服务器接收pos机发送的下载请求,获取升级固件版本号。

步骤210:获取升级固件版本号对应的无线通讯模块固件文件,发送无线通讯模块固件文件至终端。

具体地,服务器根据升级固件版本号获取对应的无线通讯模块固件文件,将无线通讯模块固件文件发送至pos机。

本发明实施例中所提供的软件部署方法可以应用于如图3所示的应用环境中。多个pos机302与服务器304通过网络连接。服务器304中存储各种型号的无线通讯模块固件文件,服务器304也可以为多个。pos机302获取无线通讯模块升级指令,获取pos机无线通讯模块的本地固件版本号,生成固件版本查询请求发送至服务器304;服务器304根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号,查询已存储的无线通讯模块固件的升级固件版本号,当查询到与本地固件版本号相匹配的升级固件版本号时,发送升级固件版本号至pos机302,pos机302显示升级固件版本号并获取对升级固件版本号的选中指令,从服务器304上下载与无线通讯模块固件文件对无线通讯模块进行固件升级,实现了pos机无线通讯模块固件自动升级,大大提高了pos机无线通讯模块固件升级的效率,有效节约了pos机无线通讯模块固件升级成本。

以下同时结合图3,以将上述的pos机无线通讯模块固件升级方法应用于图3所示的应用场景为例对上述pos机无线通讯模块固件升级方法进行详细说明。一种pos机无线通讯模块固件升级方法,包括以下步骤:

1)、获取无线通讯模块升级指令,检测pos机的工作状态。

具体地,当pos机获取到无线通讯模块固件升级指令后,先检测当前pos机的工作状态,如果pos机处于空闲状态,则可进行无线通讯模块固件升级操作;否则,pos机输出运行冲突的提醒信息,提示用户当前无法进行升级或结束pos机当前执行的进程后再进行无线通讯模块固件升级。

2)、pos机与服务器建立控制连接。

本实施例中,服务器为ftp服务器,ftp服务器中预先存储pos机无线通讯模块的固件文件和每个固件文件的版本信息,固件文件的版本信息至少包括固件版本号,固件版本号命名规则为abcd_vxy.mn.zz,其中abcd是产品型号,vxy是主版本号,mn是子版本号,zz是版本的流水号。ftp服务器中存储的每个固件文件的固件版本号的产品型号、主版本号、子版本号和流水号都要保证完整。

当pos机处于空闲状态,可以进行无线通讯模块固件升级时,pos机运用ftp服务器的用户名和密码,与ftp服务器建立控制连接,具体的建立ftp控制连接流程为:首先,pos机创建一个控制socket连接,连接到ftp服务器的ip地址和端口号(一般是21端口)。在pos机与ftp服务器之间的socket连接建立成功之后,ftp服务器会向pos机回复一个220的结果码,提示pos机输入用户名和密码。然后pos机向ftp服务器发送“user用户名”和“pass密码”的ftp命令,ftp服务器将pos机发送的用户名和密码与自身设定的用户名和密码相比较,如果匹配,则登录成功,ftp服务器向pos回复登陆成功的结果码;如果不匹配,则返回一个错误的结果码,pos机登陆不成功。具体地,在一个实施例中,pos机提供接口,在进行ftp登录之前,用户可以手动输入ftp服务器的用户名和密码。

进一步地,上述的结果码根据ftp标准协议生成,在一个实施例中,220表示pos机与ftp服务器之间的控制socket连接建立成功,表示服务器已经准备好;230表示pos机登录ftp服务器成功,只有回复了220才表示pos机与ftp服务器的控制socket连接建立成功,只有回复了230才表示pos机登录ftp服务器成功。用户名和密码匹配成功之后,ftp服务器会向pos机回复一个230的结果码,表示pos机与ftp服务器的控制连接已经建立成功。如果中间ftp服务器返回其他错误的结果码,则pos机关闭pos机与ftp服务器的控制socket连接,并重新建立控制socket连接。

2)、设定文件传输类型及连接模式。

本实施例中,与ftp服务器建立控制连接后,pos机向ftp服务器发送ftp命令“typeb”指定文件传输类型为二进制类型,并向ftp服务器发送ftp命令“pasv”来告知ftp服务器以被动模式来传送文件。

具体地,ftp的被动模式和主动模式是ftp客户端与ftp服务端进行数据socket连接的两种方式。ftp的被动模式是指:ftp客户端去连服务器端的ip和端口号(一般是20端口)。ftp的主动模式是指:ftp客户端随机开放一个端口(1024以上),发送port命令和客户端的端口号到ftp服务器,告知ftp服务器,客户端将采用主动模式开放端口,ftp服务器收到port命令和客户端的端口号之后,通过服务器的20端口和客户端开放的端口连接。进一步地,pos机会根据ftp服务器的基本情况来选择被动模式或者主动模式,本实施例中,为满足用户的不同升级需求,需要根据客户的需求,将无线通讯模块的固件升级到客户指定的版本,因此,所有的操作都是pos机发送需求进行文件传输的,故此,指定连接模式为被动模式。在其他实施例中,当采用无线通讯模块自动升级模式,即只将无线通讯模块升级到最新版本时,可指定连接模式为主动连接,当采用主动连接模式时,ftp服务器检测到有版本更新时,与pos机建立连接自动进行pos无线通讯模块固件升级。综上,在具体应用过程中,pos与ftp服务器的连接模式可根据实际情况进行选择,本实施例不做具体限定。

3)、pos机获取本地无线通讯模块的本地固件版本号,生成固件版本查询请求发送至服务器。

具体地,完成文件传输类型及连接模式设置后,pos机查询当前使用的无线通讯模块的固件版本号,获取本地固件版本号。pos机当前使用的无线通讯模块的固件版本号包括:固件版本的产品型号,固件版本的主版本号,固件版本的子版本号和固件版本的流水号。pos机获取当前使用的无线通讯模块的固件版本号的产品型号、主版本号和子版本号,并获取预先存储的流水替换号,生成本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至ftp服务器。进一步地,本实施例中流水替换号为“*”,例如,当前使用的无线通讯模块的固件版本号为abcd_vxy.mn.z1,则本地固件版本号为“abcd_vxy.mn.*”,pos机发送ftp命令“listabcd_vxy.mn.*”命令,将携带本地固件版本号的固件版本查询请求发送至ftp服务器。

4)、pos机接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号。

ftp服务器接收到pos机可发送的ftp命令“listabcd_vxy.mn.*”命令后,获取pos机无线通讯模块的本地固件版本号,将本地固件版本号与已存储的无线通讯模块固件的升级固件版本号进行比较,获取产品型号、主版本号及子版本号与本地固件版本号相同的升级固件版本号,当获取到产品型号、主版本号及子版本号与本地固件版本号相同的升级固件版本号时,ftp服务器将升级固件版本号发送至pos机,pos机显示升级固件版本号,以供用户选择。如果没有获取到与本地固件版本号相同的升级固件版本号,ftp服务器发送升级失败提醒至pos机,提醒用户当前无升级版本,升级失败。

具体地,pos机通过ftp的控制连接向ftp服务器发送“abcd_vxy.mn.*”的ftp命令,同时pos机建立一个数据socket连接,这个socket连接到ftp服务器的数据连接端口(一般是20)。ftp服务器如果返回一个150的结果码,说明pos机与ftp服务器之间的数据连接已经建立成功。如果中间ftp服务器返回其他错误的结果码,则pos机关闭pos机与ftp服务器的数据socket连接,并重新建立数据socket连接。在ftp服务器返回150结果码之后,ftp服务器会向pos机返回list命令的结果,这个结果就是ftp服务器上无线通讯模块固件版本号的所有结果,该结果包含无线通讯模块的具体的升级固件版本号,包括固件版本的产品型号,固件版本的主版本号,固件版本的子版本号和固件版本的流水号,以及无线通讯模块固件的具体文件大小。在ftp服务器返回无线通讯模块固件版本信息的结果后,pos机会收到ftp服务器的226结果码,提示数据传输已经完成,此时,需要关闭pos机与ftp服务器之间的数据socket连接,如果中间ftp服务器返回其他错误的结果码,则pos机关闭pos机与ftp服务器的数据socket连接,并重新建立数据socket连接。pos机接收到ftp服务器的226结果码,关闭与ftp服务器的数据socket连接后,将ftp服务器返回的无线通讯模块的升级固件版本号显示到屏幕上,进一步的,还可以同时显示每个固件文件的大小。

更进一步地,为了确保接收到的升级固件版本号正确,避免因升级固件版本号错误而导致升级失败,影响升级效率,pos机进一步对接收到的升级固件版本号进行匹配校验,pos将本地固件版本号与接收到的ftp服务器返回的查询结果进行比较,对比固件版本的产品型号,固件版本的主版本号,固件版本的子版本号,如果这三个版本号比较结果相同,则升级固件版本号与本地固件版本号匹配,pos机在屏幕上显示在ftp服务器返回的升级固件版本号。

5)、获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件。

具体地,pos显示升级固件版本号后,用户可根据需要选取相应的升级固件版本对无线通讯模块进行固件升级,既可以将无线通讯模块升级到最新版本,也可以将无线通讯模块升级到某一特定版本,用户只要输入对要选取的升级固件版本号的选中指令即可,操作非常方便。pos机获取到用户对升级固件版本号的选中指令后,发送携带升级固件版本号的下载请求至ftp服务器,从ftp服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件。

进一步地,pos机建立与ftp服务器的数据连接并下载无线模块的升级固件版本的具体步骤为:pos机通过ftp的控制连接向ftp服务器发送“retr文件名”ftp命令的下载请求,其中文件名为用户选择好的升级固件版本号,同时pos机建立一个数据socket连接,这个socket连接到ftp服务器的数据连接端口(一般是20)。ftp服务器接收到下载请求后获取升级版本号对应的无线通讯模块固件文件,返回一个结果码至pos机。如果ftp服务器返回一个150的结果码,表示pos机与ftp服务器之间的数据连接已经建立成功,如果中间ftp服务器返回其他错误的结果码,则pos机关闭pos机与ftp服务器的数据socket连接,并重新建立数据socket连接。在ftp服务器返回150结果码之后,ftp服务器会向pos机返回retr命令的结果,这个结果就是ftp服务器上存储的升级固件版本号对应的无线通讯模块固件版本的文件内容,该文件内容就是pos机实际需要的无线通讯模块固件的升级数据。pos机将ftp服务器传过来的固件文件的数据流保存到本地flash中,如果保存成功,可显示升级的进度。如果中间ftp服务器返回其他错误的结果码,则pos机关闭pos机与ftp服务器的数据socket连接,并重新建立数据socket连接。pos机完成固件文件下载完成之后,ftp服务器会向pos机返回226的结果码,表示固件版本文件已经下载完成,这个时候pos机关闭pos机与ftp服务器的数据socket连接,无线通讯模块固件文件下载完成。

6)、检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同,当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,重新下载固件文件。

具体地,无线通讯模块固件文件下载完成后,pos机计算本地flash中文件的大小,并与ftp服务器中的无线通讯模块固件的文件大小相比较,如果文件大小不一致,则可能出现数据丢失或数据重复,下载失败,pos重新建立与ftp服务器的控制连接socket和数据连接socket并重新下载无线通讯模块固件文件。

如果本地文件大小与ftp服务器中的文件大小相同,下载成功,则进一步比较本地下载的文件和ftp服务器文件是否有差异,如果校验成功,则表示下载的文件完全正确,可以进行升级。在一个实施例中,采用哈希校验方式校验下载的文件是否完全正确,具体校验的方式如下:pos机与ftp服务器使用一个相同的秘钥计算ftp服务器上固件文件的哈希值和本地下载的固件文件的哈希值,先将ftp服务器上的文件通过一个哈希算法计算成一个20位字符串的哈希值。pos机本地下载完成之后,再使用该秘钥重新计算本地文件的哈希值。如果pos机本地计算的哈希值跟ftp服务器上面计算的哈希值相同,则表示pos机本机文件与ftp服务器上的文件完全相同,可以进行升级。需要说明的是,本实施例中采用哈希校验方式校验下载的文件是否完全正确,但是,在其他实施例中,也可以用其他的方式校验,如,奇偶校验算法、海明码校验算法等,本实施例并不做具体限定。

进一步的,如果哈希值校验成功,pos机则通过ftp控制连接向ftp服务器发送“quit”命令,终止pos机与ftp服务器之间的控制连接,pos机在收到ftp服务器的221结果码之后,关闭控制socket连接,释放网络资源,并执行后续升级操作。如果哈希值校验失败,pos机则重新从服务器下载无线通讯模块固件文件。

7)、检测从服务器上下载无线通讯模块固件文件发生中断,当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

具体地,如果pos机中间下载出错,或者下载过程中出现网络故障或突然掉电等情况,pos机计算已经下载到本地flash的文件大小,将本地flash的文件大小设置为下载偏移量,然后向ftp服务器发送“rest偏移量”命令,进行ftp续传。具体步骤如下:pos机通过ftp的控制连接向ftp服务器发送“rest偏移量”的ftp命令,ftp服务器如果返回一个350的结果码,则表示偏移量已经设置成功,接着pos机通过ftp的控制连接继续向ftp服务器发送“retr文件名”的ftp命令,其中文件名为上次下载失败保存在本地flash中的升级固件版本号,同时pos机建立一个数据socket连接,这个socket连接到ftp服务器的数据连接端口(一般是20),ftp服务器如果返回一个150的结果码,说明pos机与ftp服务器之间的数据连接已经建立成功,则pos机接着断点继续下载固件文件。

8)、将下载的无线通讯模块固件文件部署到无线通讯模块中。

具体地,当无线模块的固件文件完全下载成功后,pos机通过本机的升级命令,解析下载的无线通讯模块固件文件,运行固件安装程序,给无线通讯模块进行固件升级。进一步地,当完成部署无线通讯模块进行固件升级后,pos机删除已下载的固件版本文件,以避免固件文件占用pos机存储空间,影响pos运行速度。

请参阅图4,一种pos机无线通讯模块固件升级装置400,包括:

查询请求生成模块402,用于获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器。

显示模块404,用于接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号。

固件下载模块406,用于获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件。

升级部署模块408,用于将下载的无线通讯模块固件文件部署到无线通讯模块中。

如图5所示,在一个实施例中,上述pos机无线通讯模块固件升级装置400还包括:

固件校验模块410,用于检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,发送下载指令至固件下载模块406;固件下载模块406根据下载指令重新从服务器下载无线通讯模块固件文件。

在一个实施例中,上述pos机无线通讯模块固件升级装置400还包括:

偏移量计算模块412,用于当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;固件下载模块406还用于接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

在一个实施例中,上述pos机无线通讯模块固件升级装置400还包括:

状态检测模块414,用于检测pos机的工作状态;当pos机处于空闲状态时,发送查询指令至查询请求生成模块402。

请参阅图6,一种pos机无线通讯模块固件升级装置600,包括:

查询请求接收模块602,用于接收终端发送的固件版本查询请求,根据固件版本查询请求获取pos机无线通讯模块的本地固件版本号。

查询匹配模块604,用于根据本地固件版本号查询已存储的无线通讯模块固件的升级固件版本号;当查询到与本地固件版本号相匹配的升级固件版本号时,发送与本地固件版本号相匹配的升级固件版本号至终端。

下载请求接收模块606,用于接收终端发送的下载请求,下载请求携带升级固件版本号。

固件文件发送模块608,用于获取升级固件版本号对应的无线通讯模块固件文件,发送无线通讯模块固件文件至终端。

一种pos机,包括:存储器、处理器及存储在存储器上并可在处理器上运行的pos机应用程序,处理器执行pos机应用程序时实现以下步骤:

获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器;

接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号;

获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件;

将下载的无线通讯模块固件文件部署到无线通讯模块中。

具体地,如图7所示,在一个实施例中,上述的pos机包括通过系统总线连接的处理器和存储器,存储器包括非易失性存储介质和内存储器。其中,pos机的非易失性存储介质存储有操作系统,还包括一种pos机无线通讯模块固件升级装置。pos机无线通讯模块固件升级装置用于实现一种pos机无线通讯模块固件升级方法。在一个实施例中,处理器为pos机cpu,用于提供计算和控制能力,支撑整个pos机的运行。pos机中的内存储器为非易失性存储介质中的pos机无线通讯模块固件升级装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种pos机无线通讯模块固件升级方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的pos机的限定,具体的pos机可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,处理器执行pos机应用程序时还实现以下步骤:

检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;

当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,执行从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤。

在一个实施例中,处理器执行pos机应用程序时实现以下步骤:

当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;

接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

在一个实施例中,处理器执行pos机应用程序时实现以下步骤:

检测pos机的工作状态;

当pos机处于空闲状态时,执行获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器的步骤。

一种pos机可读存储介质,其上存储有pos机应用程序,该pos机应用程序被处理器执行时实现以下步骤:

获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器;

接收服务器返回的服务器中存储的与本地固件版本号相匹配的升级固件版本号,显示升级固件版本号;

获取对升级固件版本号的选中指令,从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件;

将下载的无线通讯模块固件文件部署到无线通讯模块中。

在一个实施例中,该pos机应用程序被处理器执行时还实现以下步骤:

检测下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件是否相同;

当下载的无线通讯模块固件文件与服务器上存储的对应的无线通讯模块固件文件不同时,执行从服务器上下载与获取到选中指令的升级固件版本号对应的无线通讯模块固件文件的步骤。

在一个实施例中,该pos机应用程序被处理器执行时还实现以下步骤:

当从服务器上下载无线通讯模块固件文件发生中断时,计算下载偏移量发送至服务器;

接收服务器返回的下载偏移量确认指令,继续下载无线通讯模块固件文件。

在一个实施例中,该pos机应用程序被处理器执行时还实现以下步骤:

检测pos机的工作状态;

当pos机处于空闲状态时,执行获取pos机无线通讯模块的本地固件版本号,根据本地固件版本号生成固件版本查询请求发送至服务器的步骤。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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