特定硬件配置的终端软件更新的方法及其装置与流程

文档序号:12278191阅读:264来源:国知局
特定硬件配置的终端软件更新的方法及其装置与流程

本发明涉及终端软件更新领域,具体说的是特定硬件配置的终端软件更新的方法及其装置。



背景技术:

由于支付终端产品面向金融和非金融等众多领域,市场需求不同,使得领域的市场需求,使得支付终端产品型号众多。这给生产、软件维护、应用开发带来了诸多不变。支付终端不同产品型号差异主要体现在:

可选外设很多,每个型号使用的外设组合不同。比如:IC卡、磁卡、打印、射频卡、MODEM、GPRS/CDMA、以太网、WIFI等。受成本、设计限制,对于每一种外设,可能使用了不同解决方案。比如:USB接口的WIFI和SDIO接口的WIFI。

不同产品外观、客户需求、市场定位导致使用不同规格外设。比如:液晶。

考虑到成本、不同客户需求,以及硬件的发展,终端可能在不同型号或同一型号不同时期使用不同的内存、处理器等。

为了保证软件的可维护性,通常对于终端的不同硬件配置,软件尽量都做到目标代码兼容。但有些硬件资源的区别,软件难以做到目标代码兼容。比如:

(1)处理器不同:导致硬件相关软件不同;

(2)内存大小不同:有些软件只能在较大内存配置上运行;

(3)硬件资源分配不同:比如同一个处理器,对于同一个外设,在不同终端型号上的IO口线、SPI、串口等资源分配都不相应。

由于硬件资源不同导致需要发布不同的目标代码,这样在维护时就可能造成问题:一个软件模块如果更新到不兼容的硬件配置终端上,会造成终端无法正常使用。

现有的解决方式是:许多厂家就只能针对一种硬件配置组合推出整个系统软件,分别进行更新。但是这种做法存在以下问题:1、整体系统软件更新的更新量大,使得下载慢、数据流量费用高;2、许多硬件无关软件需要和硬件相关软件一起生成不同硬件配置的更新文件,维护工作量大。



技术实现要素:

本发明所要解决的技术问题是:提供一种特定硬件配置的终端软件更新的方法及其装置,确保软件包只能下到与之适配的硬件配置的终端上。

为了解决上述技术问题,本发明采用的技术方案为:

一种特定硬件配置的终端软件更新的方法,包括:

终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包,所述硬件资源包括CPU和内存;所述虚拟软件包包括配置名称和配置信息;

终端上送硬件模块软件包和所述虚拟模块软件包至上位机;所述硬件模块软件包包括硬件模块的名称和版本信息;

开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

上送包括更新软件包对应的硬件模块的名称、版本信息和依赖关系的更新软件包发送至上位机;

上位机依据硬件模块软件包和更新软件包中的名称和版本信息,判断是否存在可用于更新终端的硬件模块的更新软件包;

若是,则判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系;若是,则允许终端获取所述更新软件包。

本发明提供的另一个技术方案为:

特定硬件配置的终端软件更新的系统,包括:

生成模块,用于终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包,所述硬件资源包括CPU和内存;所述虚拟软件包包括配置名称和配置信息;

第一上送模块,用于终端上送硬件模块软件包和所述虚拟模块软件包至上位机;所述硬件模块软件包包括硬件模块的名称和版本信息;

预设模块,用于开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

第二上送模块,用于上送包括更新软件包对应的硬件模块的名称、版本信息和依赖关系的更新软件包发送至上位机;

第一判断模块,用于上位机依据硬件模块软件包和更新软件包中的名称和版本信息,判断是否存在可用于更新终端的硬件模块的更新软件包;

第二判断模块,用于当第一判断模块的判断结果为是时,判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系;若是,则允许终端获取所述更新软件包。

本发明的有益效果在于:区别于现有技术采用整体软件统一更新方式避免在终端硬件模块的软件更新过程中由于不兼容而导致终端无法使用的问题,而整体更新方式却带来维护成本高、维护工作量大等问题。本发明通过将终端的硬件资源配置虚拟成一系列的软件包,同硬件模块软件包一起上送至上位机;同时在开发者发布更新软件包时,依据其能正常运行的硬件资源配置要求设置依赖关系,并同更新软件包一起上送至上位机供下载安装;上位机将依据依赖关系和终端上送的配置信息限制软件更新包只能下载到符合运行条件的终端上。由此实现终端局部硬件模块的正确更新,在保证所下载的更新软件包能够正常运行的同时,相比现有的整体更新方式,又能提高更新速度、减少流量、降低维护成本和维护工作量。

附图说明

图1为本发明特定硬件配置的终端软件更新的方法的流程示意图;

图2为本发明实施例一的流程示意图;

图3为本发明特定硬件配置的终端软件更新的系统的整体结构示意图;

图4为本发明实施例四的整体结构示意图。

标号说明:

1、生成模块;2、第一上送模块;3、预设模块;4、第二上送模块;

5、第一判断模块;6、第二判断模块;7、推送模块;8、更新模块;

9、发送模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:依据更新软件包中的依赖关系和终端的配置信息限制软件更新包只能下载到符合运行条件的终端上,实现终端局部硬件模块的正确更新。

请参照图1以及图2,本发明提供一种特定硬件配置的终端软件更新的方法,包括:

终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包,所述硬件资源包括CPU和内存;所述虚拟软件包包括配置名称和配置信息;

终端上送硬件模块软件包和所述虚拟模块软件包至上位机;所述硬件模块软件包包括硬件模块的名称和版本信息;

开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

上送包括更新软件包对应的硬件模块的名称、版本信息和依赖关系的更新软件包发送至上位机;

上位机依据硬件模块软件包和更新软件包中的名称和版本信息,判断是否存在可用于更新终端的硬件模块的更新软件包;

若是,则判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系;若是,则允许终端获取所述更新软件包。

从上述描述可知,本发明的有益效果在于:由于软件以软件包为单位按模块维护,对应一个硬件模块可以只发行一个版本,大大减少了软件维护工作量和维护成本。

进一步的,所述终端为支付终端;所述上位机为PC端或服务器;所述资源配置还包括口线分配、支持的读卡类型、支持的通讯网络类型和/或支持的接口类型。

由上述描述可知,基于支付终端中配置有安全要求的硬件模块,能够保证用于硬件模块软件更新的更新软件包能正常运行,有效避免支付终端由于所安装的软件包不兼容而导致系统崩溃,影响支付终端的正常使用。

进一步的,所述配置信息存储在所述虚拟软件包的版本目录下。

由上述描述可知,将配置信息以软件包中版本信息的格式进行存储,简单明了,同时方便上位机获取。

进一步的,通过上位机中配置的下载工具执行所述判断是否存在可用于更新终端的硬件模块的更新软件包以及所述判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系。

由上述描述可知,通过下载工具对软件包进行统一管理和判断,效率更高,更具针对性。

进一步的,所述允许终端获取所述更新软件包,之后,进一步包括:

下载工具将包括所述更新软件包对应的硬件模块的名称和版本信息的硬件模块更新信息推送至终端;

终端依据更新策略上送下载所述更新软件包的请求至下载工具;所述更新策略包括只有接收到确认更新的指令后才进行更新的策略以及判断存在可软件更新的硬件模块便自动进行更新的策略;

下载工具依据所述请求发送所述更新软件包至终端。

由上述描述可知,本发明能够保证需要进行软件更新的硬件模块获取正确的更新软件包,而无需终端整体系统进行软件更新,节省数据流量费用的同时,提高更新效率。

本发明提供的另一个技术方案为:

特定硬件配置的终端软件更新的系统,包括:

生成模块,用于终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包,所述硬件资源包括CPU和内存;所述虚拟软件包包括配置名称和配置信息;

第一上送模块,用于终端上送硬件模块软件包和所述虚拟模块软件包至上位机;所述硬件模块软件包包括硬件模块的名称和版本信息;

预设模块,用于开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

第二上送模块,用于上送包括更新软件包对应的硬件模块的名称、版本信息和依赖关系的更新软件包发送至上位机;

第一判断模块,用于上位机依据硬件模块软件包和更新软件包中的名称和版本信息,判断是否存在可用于更新终端的硬件模块的更新软件包;

第二判断模块,用于当第一判断模块的判断结果为是时,判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系;若是,则允许终端获取所述更新软件包。

进一步的,所述终端为支付终端;所述上位机为PC端或服务器;所述资源配置还包括口线分配、支持的读卡类型、支持的通讯网络类型和/或支持的接口类型。

进一步的,所述配置信息存储在所述虚拟软件包的版本目录下。

进一步的,所述第一判断模块和第二判断模块的执行主体为上位机中配置的下载模块。

进一步的,进一步还包括:

推送模块,用于下载工具将包括所述更新软件包对应的硬件模块的名称和版本信息的硬件模块更新信息推送至终端;

更新模块,用于终端依据更新策略上送下载所述更新软件包的请求至下载工具;所述更新策略包括只有接收到确认更新的指令后才进行更新的策略以及判断存在可软件更新的硬件模块便自动进行更新的策略;

发送模块,用于下载工具依据所述请求发送所述更新软件包至终端。

实施例一

请参照图2,本实施例提供一种基于更新软件包的依赖关系实现特定硬件配置的终端软件更新的方法。具体的,可以包括以下步骤:

S1:终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包;

所述硬件资源配置包括CPU配置、内存大小、口线分配、支持的读卡类型、支持的通讯网络类型、支持的接口类型、液晶规格等等;所述虚拟软件包包括配置名称和版本信息,本实施例中,虚拟软件包中的版本信息用于存储对应的硬件资源的配置信息;比如:

处理器不同:针对每个处理器定义一个虚拟软件包,名称用来标识不同处理器。比如:qm1表示某款高通处理器,AT1表示某款at1处理器。这些虚拟软件包的配置相同,因此虚拟软件包中的版本信息,即配置信息不变,比如都设置为1.0。

内存大小:我们可以定义一个虚拟软件包ram,版本信息中实际存储内存大小,比如128表示内存为128MB。

硬件资源分配不同:我们针对同样的硬件资源分配定义一个板名称,比如:board1。这样,使用该终端型号硬件资源分配对应的板名称作为虚拟软件包名称,版本信息设置为1.0。

S2:开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

具体的,所述更新软件包包括硬件模块软件更新所需的所有文件,包括程序、库、内核模块、脚本、配置文件、版本等。在本实施例中,在开发者完成一个对应某一硬件模块的更新软件包之后,将依据硬件模块安装该更新软件包后,其终端能够正常运行所要求的硬件资源配置,预设对应所述更新软件包的依赖关系;如一个更新软件包,其软件只能在32MB内存才能正常运行,则其更新软件包的依赖关系为“ram(>=32)”;依赖关系中包括软件正常运行对终端的所有硬件资源配置的要求。

S3:开发者发布更新软件包,所述更新软件包至少包含软件对应的硬件模块的名称、对应的版本信息、对应的依赖关系以及程序、库、内核模块、脚本、配置文件等;上位机以合法渠道获取上述更新软件包,并存储;所述上位机为PC端或服务器;上位机中一般会配置有用于软件更新的下载工具;优选的,所述更新软件包存储在下载工具的数据库中;

S4:当终端有软件更新需求时,建立终端与上位机的通讯连接关系;

S5:终端上送硬件模块软件包和上述虚拟模块软件包至上位机;

所述硬件模块软件包包括硬件模块的名称和版本信息。

需要说明的是,现有技术中,终端需要下载包时,将上送各个硬件模块的软件包至上位机的下载工具,下载工具将依据各个硬件模块软件包中的名称和版本信息,判断是否存在名称相同、版本更高的更新软件包,供对应的硬件模块进行软件更新;若有,则可供终端下载;在本实施例中,在确定有对应的更新软件包后,将包括依赖关系的判断步骤,才能供终端下载,详见下述步骤;

S6:下载工具依据终端上送的硬件模块软件包和数据库中的更新软件包中的名称和版本信息的对应关系,判断是否存在可用于更新终端的硬件模块的更新软件包;若是,执行S7;若否,则结束。

具体的,可以依据名称确定可更新的硬件模块,依据版本信息确定该硬件模块是否存在更高版本的软件。

S7:判断所述终端的虚拟软件包中的配置信息是否符合所述可用于更新终端的硬件模块的更新软件包中的依赖关系要求;若是,则允许终端获取所述更新软件包;若否,则不允许所述更新软件包被下载到终端中。

具体的,先获取S6中所确定可用于终端某一硬件模块软件更新的更新软件包中的依赖关系,然后从数据库中获取所要安装的终端的配置信息;判断所述终端的配置要求是否全部符合所述更新软件包的依赖关系。比如,所确定的更新软件包的依赖关系中包含“ram(>=32)”,而终端的配置信息为128;则终端的内存配置符合更新软件包的依赖关系中规定的要求;进而判断其他配置要求,只有全部符合依赖关系的要求,才能执行下一步骤。

实施例二

本实施例为实施例一的进一步延伸,相同之处不再累述,区别在于,S7步骤中,所述允许终端获取所述更新软件包之后,还包括可以具体的下载步骤:

S8:下载工具将包括S7中确定的更新软件包对应的硬件模块的名称和版本信息的硬件模块更新信息推送至终端;用于在终端提示用户该硬件模块存在可更新的软件包。

S9:终端依据更新策略上送下载所述更新软件包的请求至下载工具;

具体的,所述更新策略包括只有接收到确认更新的指令后才进行更新的策略,即只有用户手动确定可进行更新操作,才能下载到终端,以及判断存在可软件更新的硬件模块便自动进行更新的策略,即自动更新;

S10:下载工具依据所述请求发送上述更新软件包至终端,用于对所对应的硬件模块进行软件更新。

实施例三

请参照图3,本实施例为基于实施例一的特定硬件配置的终端软件更新的系统,包括终端、上位机和开发者系统,所述终端和开发者系统分别与上位机连接;上位机配置有下载工具;

具体的,终端包括:

生成模块1,用于终端依据自身的各项硬件资源配置生成一一对应的虚拟软件包,所述硬件资源配置包括CPU和内存;所述虚拟软件包包括配置名称和配置信息;

第一上送模块2,用于终端上送硬件模块软件包和所述虚拟模块软件包至上位机;所述硬件模块软件包包括硬件模块的名称和版本信息;

开发者系统包括:

预设模块3,用于开发者依据其开发的更新软件包对运行终端的硬件资源配置要求预设依赖关系;

第二上送模块4,用于上送包括更新软件包对应的硬件模块的名称、版本信息和依赖关系的更新软件包发送至上位机;

上位机包括:

第一判断模块5,用于上位机依据硬件模块软件包和更新软件包中的名称和版本信息,判断是否存在可用于更新终端的硬件模块的更新软件包;

第二判断模块6,用于当第一判断模块的判断结果为是时,判断所述终端的虚拟软件包中的配置信息是否符合所述更新软件包的依赖关系;若是,则允许终端获取所述更新软件包。

实施例四

请参阅图4,本实施例为实施例三基础上的进一步延伸,具体的包括:

所述上位机还包括推送模块7,用于下载工具将包括所述更新软件包对应的硬件模块的名称和版本信息的硬件模块更新信息推送至终端;

发送模块9,用于下载工具依据所述请求发送所述更新软件包至终端。

终端还包括更新模块8,用于终端依据更新策略上送下载所述更新软件包的请求至下载工具;所述更新策略包括只有接收到确认更新的指令后才进行更新的策略以及判断存在可软件更新的硬件模块便自动进行更新的策略。

实施例五

本实施例基于实施例一至四的一具体运用场景。

所述终端为支付终端,如POS机。

开发者系统发布了一个名称为testserver的软件包,其中软件只能在某款高通处理器、32MB以上内存,以及板名称为board1的硬件资源分配的终端上运行。这样,开发者系统将预设其依赖关系为“ram(>=32),qm1(>=1.0),board1(>=1.0)”。

这样,在支付终端下装该软件包时,支付终端上会根据自身处理器、内存、硬件资源分配这些硬件信息生成相应的虚拟软件包并上送到负责下载的PC或服务端。而PC或服务端的下载工具,通过将这些虚拟软件包的名称、版本信息与软件包testserver中依赖关系比较,就可以得知该软件包testserver是否可以下装到这台支付终端上。比如,处理器为某款高通处理器,内存为128MB,板名称为board1的支付终端,会上送三个虚拟软件包,配置名称分别为“qm1”、“ram1”、“board1”,配置信息,即版本信息分别为“1.0”、“128”、“1.0”。则软件包testserver可以安装到该终端上。

综上所述,本发明提供的特定硬件配置的终端软件更新的方法及其装置,采用虚拟的软件包和版本来代表终端的不同硬件配置,通过更新软件包的依赖关系判断,限制更新软件包只能下到特定硬件配置的终端上,从而确保更新软件包的正常运行,进一步保证终端的正常运行。本发明能够发挥软件包管理机制局部更新的优点,不再需要整体软件更新,不仅提高下载速度、减少流量及其费用;而且显著降低维护成本和维护工作量,软件以软件包为单位按模块维护,硬件无关模块可以只发行一个版本,大大减少软件维护工作量。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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