一种用于终端设备、服务器的软件更新方法及系统与流程

文档序号:11386234阅读:183来源:国知局
一种用于终端设备、服务器的软件更新方法及系统与流程
本公开涉及计算机
技术领域
,更具体地,涉及一种用于终端设备、服务器的软件更新方法及系统。
背景技术
:软件更新是一种十分常见的移动终端设备和智能终端设备在线更新技术。无论手机、平板电脑、智能家具都具有软件更新功能,可以在线监测生产商有无新版本软件信息可供更新。对于智能终端设备来说,软件的重要性不比硬件低,甚至可能更加重要。但是现有软件更新技术只支持对全部智能终端设备的软件进行更新,而不支持对某一批次、某一型号或指定的终端设备进行软件更新。因此,本公开提出了一种用于终端设备、服务器的软件更新方法及系统。技术实现要素:有鉴于此,本公开提供了一种用于终端设备、服务器的软件更新方法及系统。本公开的一个方面提供了一种用于终端设备的软件更新方法,包括:向服务器发送检测请求,所述检测请求包括终端设备的硬件信息;从所述服务器接收更新数据,所述更新数据用于更新所述终端设备的软件,其中,所述更新数据是当所述硬件信息满足预设条件时,由所述服务器发送的。根据本公开的实施例,所述检测请求还包括所述终端设备的软件信息,所述软件信息包括所述软件的版本信息。根据本公开的实施例,所述更新数据是当所述终端设备的硬件信息满足预设条件时,并且当所述终端设备的软件版本信息低于所述服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,所述硬件信息包括所述终端设备的品牌和/或序列号。根据本公开的实施例,所述硬件信息满足预设条件包括:所述终端设备的品牌是特定品牌;并且/或者所述终端设备的序列号在特定序列号范围内。根据本公开的实施例,所述更新数据使得所述终端设备的软件能够部分更新或者全部更新。本公开的另一个方面提供了一种用于服务器的软件更新方法,包括:从终端设备接收检测请求,所述检测请求包括终端设备的硬件信息;向所述终端设备发送更新数据,所述更新数据用于更新所述终端设备的软件,其中,所述更新数据是当所述硬件信息满足预设条件时,由所述终端设备接收的。根据本公开的实施例,所述检测请求还包括所述终端设备的软件信息,所述软件信息包括所述软件的版本信息。根据本公开的实施例,所述更新数据是当所述终端设备的硬件信息满足预设条件时,并且当所述终端设备的软件版本信息低于所述服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,所述硬件信息包括所述终端设备的品牌和/或序列号。根据本公开的实施例,所述硬件信息满足预设条件包括:所述终端设备的品牌是特定品牌;并且/或者所述终端设备的序列号在特定序列号范围内。根据本公开的实施例,所述更新数据使得所述终端设备的软件能够部分更新或者全部更新。本公开的另一个方面提供了一种终端设备的软件更新系统,包括:发送请求模块,向服务器发送检测请求,所述检测请求包括终端设备的硬件信息;接收数据模块,从所述服务器接收更新数据,所述更新数据用于更新所述终端设备的软件,其中,所述更新数据是当所述硬件信息满足预设条件时,由所述服务器发送的。根据本公开的实施例,所述检测请求还包括所述终端设备的软件信息,所述软件信息包括所述软件的版本信息。根据本公开的实施例,所述更新数据是当所述终端设备的硬件信息满足预设条件时,并且当所述终端设备的软件版本信息低于所述服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,所述硬件信息包括所述终端设备的品牌和/或序列号。根据本公开的实施例,所述硬件信息满足预设条件包括:所述终端设备的品牌是特定品牌;并且/或者所述终端设备的序列号在特定序列号范围内。根据本公开的实施例,所述更新数据使得所述终端设备的软件能够部分更新或者全部更新。本公开的另一个方面提供了一种用于服务器的软件更新系统,包括:接收请求模块,用于从终端设备接收检测请求,所述检测请求包括终端设备的硬件信息;发送数据模块,向所述终端设备发送更新数据,所述更新数据用于更新所述终端设备的软件,其中,所述更新数据是当所述硬件信息满足预设条件时,由所述终端设备接收的。根据本公开的实施例,所述检测请求还包括所述终端设备的软件信息,所述软件信息包括所述软件的版本信息。根据本公开的实施例,所述更新数据是当所述终端设备的硬件信息满足预设条件时,并且当所述终端设备的软件版本信息低于所述服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,所述硬件信息包括所述终端设备的品牌和/或序列号。根据本公开的实施例,所述硬件信息满足预设条件包括:所述终端设备的品牌是特定品牌;并且/或者所述终端设备的序列号在特定序列号范围内。根据本公开的实施例,所述更新数据使得所述终端设备的软件能够部分更新或者全部更新。本公开的另一方面提供了一种终端设备,包括:一个或多个处理器;以及一个或多个存储器,存储有可执行指令,所述指令在被处理器执行时,使得处理器执行如上所述的方法。本公开的另一方面提供了一种服务器,包括:一个或多个处理器;以及一个或多个存储器,存储有可执行指令,所述指令在被处理器执行时,使得处理器执行如上所述的方法。本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。根据本公开的实施例,可以至少部分地解决不支持对某一批次、某一型号和/或指定终端设备进行软件更新问题,并因此可以实现对某一批次、某一型号和/或指定终端设备的软件进行更新的技术效果。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了可以应用本公开的用于终端设备软件更新的方法和装置的的示例性系统架构;图2示意性示出了根据本公开实施例的用于终端设备的软件更新方法的流程图;图3示意性示出了根据本公开实施例的用于服务器的软件更新方法的流程图;图4示意性示出了根据本公开实施例的用于终端设备的软件更新系统的框图;图5示意性示出了根据本公开实施例的用于服务器的软件更新系统的框图。图6示意性示出了根据本公开实施例的终端设备的结构示意图;以及图7示意性示出了根据本公开实施例的服务器的结构示意图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。本公开的实施例提供了一种用于终端设备、服务器的软件更新方法及系统。用于终端设备的软件更新方法包括向服务器发送检测请求,该检测请求包括终端设备的硬件信息;从服务器接收更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由服务器发送的。用于服务器的软件更新方法包括从终端设备接收检测请求,该检测请求包括终端设备的硬件信息;向终端设备发送更新数据,该更新数据用于更新所述终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由终端设备接收的。图1示意性示出了可以应用本公开的用于终端设备软件更新的方法和装置的的示例性系统架构。如图1所示,系统架构100可以包括终端设备101-1~101-n,网络102和服务器103(此架构仅仅是示例,具体架构中包含的组建可以根据申请具体情况调整)。网络102用以在终端设备101-1~101-n和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101-1~101-n通过网络102与服务器103交互,以接收更新数据或发送检测请求等。终端设备101-1~101-n可以利用从服务器103接收到的更新数据对终端设备101-1~101-n中的一台或多台的终端设备的软件进行更新。例如购物类软件、网页浏览器软件、搜索类软件面、即时通信软件、邮箱软件、社交平台软件等(仅为示例)。终端设备101-1~101-n可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、智能智能冰箱和台式计算机等等。服务器103可以是提供各种服务的服务器,例如对用户利用终端设备101-1~101-n所浏览的软件更新提供支持的服务器(仅为示例)。服务器103可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、软件更新数据--仅为示例)反馈给终端设备101-1~101-n。图1的这种系统架构100可以应用在对某一批次、某一型号或指定的终端设备101的软件进行更新。具体地,当服务器103中存在终端设备101软件的新版本时,此时服务器103的新版本的安装包或安装包的下载链接包括一些针对终端设备101硬件信息的预设条件,比例对终端设备101的品牌和/或序列号的预设条件,这样设置预设条件可以使得小范围的终端设备101-1~101-10试用,目的是为了降低发行该新版本软件的风险,如果试用后的用户评价非常好的话可以尝试大范围的试用。从而实现了对某一批次、某一型号或指定的终端设备的软件进行更新的技术效果。应该理解,图1中的终端设备101、网络102和服务器103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101、网络102和服务器103。图2示意性示出了根据本公开实施例的用于终端设备的软件更新方法的流程图。如图2所示,根据本公开实施例的用于终端设备的软件更新方法包括操作s201和操作s202。在操作s201,向服务器发送检测请求,该检测请求包括终端设备的硬件信息。在操作s202,从服务器接收更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由服务器发送的。根据本公开的实施例,用户在使用终端设备时,通常会查看终端设备的软件是否有更新数据。一般是通过终端设备向服务器发送该终端设备的检测请求,该检测请求可以是硬件信息,也可以是软件信息,或者是两者都有。然后由服务器根据终端设备的硬件信息和/或软件信息检测是否满足预设条件,如果满足,则终端设备能够接收到由服务器发送的更新数据。根据本公开的实施例,预设条件可以对终端设备的硬件信息和/或软件信息进行筛选,从而实现对某一批次、某一型号和/或指定的终端设备的软件进行更新。例如预设条件可以是某一批次生产的终端设备,也可以是某一型号终端设备,还可以是指定的终端设备,或者可以是某一批次的终端设备、某一型号的终端设备、指定的终端设备任意组合形成的预设条件。根据本公开的实施例,操作s201中的终端设备可以是手机、平板电脑、台式电脑或智能家电等等,但不限于此。智能家电例如可以是智能智能冰箱或者智能电视等等。根据本公开的实施例,操作s201中的更新数据可以是终端设备的软件的更新包,所述软件更新包可以是软件的整包,也可以是软件的补丁包。更新数据也可以是软件更新包的下载链接,更新数据还可以是终端设备的软件的更新包或软件更新包的下载链接。根据本公开的实施例,终端设备接收的更新数据可能会附加对软件的更新包或软件更新包的下载链接的弹窗,此弹窗的内容可以是强制安装软件的更新包或强制下载软件的更新包等等,但不限于此。例如终端设备的软件经常用于购物或者登陆银行网站,恰好由服务器发送的更新数据是加强对用户信息的保密或者是防止用户信息泄漏等功能,在这种情况下由服务器发送的更新数据必须包括强制安装或者强制下载的弹窗,使得用户信息得到更好的保护,有效的降低了黑客或木马盗取用户信息的可能性。根据本公开的实施例,操作s201中的检测请求还包括终端设备的软件信息,该软件信息包括软件的版本信息。例如终端设备的软件的版本信息可以是1.2.3、2.3.6或4.6.7等等,但不限于此。根据本公开的实施例,更新数据是当终端设备的硬件信息满足预设条件时,并且当终端设备的软件版本信息低于服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,当终端设备的硬件信息发送到服务器时,由服务器判断该终端设备的硬件信息是否满足服务器预设的条件,如果满足,则继续判断终端设备的软件的版本信息是否低于服务器中的软件版本信息,如果终端设备的软件版本信息低于服务器中的软件版本信息,则软件的更新数据由服务器发送。例如终端设备的硬件信息与服务器中的预设的硬件信息相同,并且终端设备的软件的版本信息是2.3.6,服务器的软件版本信息是3.0.0,此时终端设备可以接收到由服务器发送的软件更新数据,即软件版本信息是3.0.0的安装包,或者软件版本信息是3.0.0的下载链接。根据本公开的实施例,通过服务器对终端设备的软件预设一些硬件信息的条件,实现了对某一批次、某一型号、和/或指定终端设备的软件进行更新。根据本公开的实施例,硬件信息包括终端设备的品牌和/或序列号。例如终端设备是智能冰箱,智能冰箱的品牌可以是海尔、美的、tcl等等,但不限于此。智能冰箱的序列号可以是智能冰箱的出厂号,也可以是智能冰箱的型号等等,但不限于此。智能冰箱的出厂号和型号可以是由任意字母和/或数字组成,比如001、002、he502、md836等等,但不限于此。根据本公开的实施例,硬件信息满足预设条件可以包括终端设备的品牌是特定品牌,还可以包括终端设备的序列号在特定序列号范围内。根据本公开的实施例,特定品牌是指与服务器设置的终端设备的品牌相同,特定序列号是指该序列号在服务器设置的终端设备的序列号范围内。例如终端设备的序列号为001或he502,服务器设置的终端设备的序列号为000~200或he500~he599,显然终端设备的序列号为001或he502在000~200或he500~he599的范围内。根据本公开的实施例,通过服务器对终端设备的软件预设一些选择硬件信息的条件,实现了对某一批次、某一型号、和/或指定终端设备的软件进行更新。根据本公开的实施例,更新数据能够使得终端设备的软件实现部分更新或者全部更新。根据本公开的实施例,服务器中的更新数据包括终端设备的品牌、型号、出厂号的范围、操作系统、软件类型、软件名称、软件版本号、安装信息、软件是否强制更新和/或是否推送软件的信息。具体如下表1所示:终端设备的品牌海尔、美的、tcl终端设备的型号he502、md101、tcl836终端设备的出厂号范围全部、部分、黑名单终端设备的操作系统android、ios终端设备的软件类型购物软件、多媒体软件终端设备的软件名称淘宝、工商银行、暴风影音终端设备的软件版本号2.3.6、3.0.0是否强制更新是/否是否推送更新信息是/否安装信息软件安装包、安装包的下载链接根据本公开的实施例,终端设备如果是智能智能冰箱,其品牌例如可以是海尔、美的或tcl,终端设备的型号例如可以是he502、md101或tcl836,终端设备的出厂号范围例如可以是全部出厂号、部分出厂号或处于黑名单中的出厂号,终端设备的操作系统例如可以是android、ios或windows系统,终端设备的软件类型例如可以是购物软件、多媒体软件、游戏软件或安全软件,终端设备的软件名称例如可以是淘宝、京东、暴风影音、王者荣耀或360安全卫士,终端设备的软件版本号例如可以是1.2.3、2.3.6或4.6.7,终端设备的软件是否强制更新有两项选择是或否,终端设备的软件是否推送软件的信息有两项选择是或否,终端设备的安装信息例如可以是软件的安装包或软件的下载链接。需要说明的是,上述黑名单的含义是,处于黑名单中的出厂号所对应的终端设备不允许进行软件更新,反之不在黑名单中的出厂号所对应的终端设备允许进行软件更新。需要说明的是,上述的部分出厂号也可以称作处于白名单中的出厂号,所述白名单的含义是,处于白名单中的出厂号所对应的终端设备允许进行软件更新,反之不在白名单中的出厂号所对应的终端设备不允许进行软件更新。需要说明的是,上述软件的安装包或安装包的下载链接可以是被检测终端设备软件的整包或整包的下载链接,也可以是被检测终端设备软件的补丁包或补丁包的下载链接。例如被检测终端设备软件的版本号为2.3.6,那么整包是指软件版本号为3.0.0、4.0.0或5.0.0等等,补丁包是指软件版本号为2.5.2、3.5.7或4.5.2等等。需要说明的是,是否强制更新是指在遇到被检测终端设备的软件是用户经常用于购物或者登陆银行网站的情况,在终端设备接收到更新数据时会出现强制更新的弹窗,此弹窗用户是无法关闭的,即终端设备的软件自动进行更新,无需用户进行操作。需要说明的是,是否推送新软件的信息是指在服务器在生成一个更新数据时,对于比较通用的软件例如微信、qq会选择直接将此信息推送到终端设备的桌面上,无需用户进入微信、qq等软件的界面进行操作发送检测请求。根据本公开的实施例,服务器可以同时存在多个高于被检测终端设备软件的版本号的更新数据。例如被检测终端设备软件的版本号为2.3.6,服务器中有2.5.2的更新数据、3.0.0的更新数据、3.3.1的更新数据、3.3.2的更新数据、3.5.3的更新数据和4.0.0的更新数据。下面通过一个具体的场景来描述当服务器同时存在多个高于被检测终端设备软件的版本号的更新数据时,终端设备在最后接收的是哪一个更新数据。现有场景的是,用户进入一台智能智能冰箱的应用软件的界面,并请求检测该应用软件在服务器是否有新版本,当服务器收到检测请求时,首先判断的是该智能智能冰箱的品牌和型号是否与服务器预设的品牌和型号相同,如果相同,则检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的最新整包,如果不存在,则继续检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的最新补丁包,如果不存在,则继续检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的整包,如果存在,则继续判断该智能智能冰箱的出厂号是否在服务器预设的出厂号范围内,如果在服务器预设的出厂号范围内,则返回高于该智能智能冰箱的应用软件的版本号为2.3.6的整包,并将该整包发送至智能智能冰箱。需要说明的是最新整包是指4.0.0的更新数据,最新补丁包是指3.0.0的更新数据、3.3.1的更新数据或3.3.2的更新数据,整包是指3.0.0的更新数据,同理补丁包是指2.5.2的更新数据。需要强调的是,当检测结果显示最新补丁包有3.0.0的更新数据、3.3.1的更新数据或3.3.2的更新数据,或者补丁包有2.5.2的更新数据、2.4.1的更新数据或2.3.7的更新数据时,发送到智能智能冰箱的最新补丁包或补丁包需要从版本号最低开始发,待智能智能冰箱更新完版本号最低的,再以此类推的发送比最低版本号高的,采用这样更新方式可以有效地避免智能智能冰箱系统运行的缓慢或卡顿的现象,而且还实现了针对智能智能冰箱的硬件和软件上的部分更新或全部更新的功能。通过上述的方法,可以实现对部分终端设备的软进行更新,使得在软件的新版本发行的时能够降低风险,而且支持对某一批次、某一型号、指定设备的软件进行更新,这样的软件更新技术更加灵活且易于控制。图3示意性示出了根据本公开实施例的用于服务器的软件更新方法的流程图。如图3所示,根据本公开实施例的用于服务器的软件更新方法包括操作s301和操作s302。在操作s301,从终端设备接收检测请求,该检测请求包括终端设备的硬件信息。在在操作s302,向终端设备发送更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由终端设备接收的。根据本公开的实施例,用户在使用终端设备时,通常会查看终端设备的软件是否有更新数据。一般是通过终端设备向服务器发送该终端设备的检测请求,该检测请求可以是硬件信息,也可以是软件信息,或者是两者都有。然后服务器根据终端设备的硬件信息和/或软件信息检测是否满足预设条件,如果满足,则将更新数据发送至终端设备。根据本公开的实施例,预设条件可以对终端设备的硬件信息和/或软件信息进行筛选,从而实现对某一批次、某一型号和/或指定终端设备的软件进行更新。例如预设条件可以是某一批次生产的终端设备,也可以是某一型号终端设备,还可以是指定的终端设备,或者可以是某一批次的终端设备、某一型号的终端设备、指定的终端设备任意组合形成的预设条件。根据本公开的实施例,操作s301中的终端设备可以是手机、平板电脑、台式电脑或智能家电等等,但不限于此。智能家电例如可以是智能智能冰箱或者智能电视等等。根据本公开的实施例,操作s301中的更新数据可以是终端设备的软件的更新包,所述软件更新包可以是软件的整包,也可以是软件的补丁包。更新数据也可以是软件更新包的下载链接,更新数据还可以是终端设备的软件的更新包或软件更新包的下载链接。根据本公开的实施例,终端设备接收的更新数据可能会附加对软件的更新包或软件更新包的下载链接的弹窗,此弹窗的内容可以是强制安装软件的更新包或强制下载软件的更新包等等,但不限于此。例如终端设备的软件经常用于购物或者登陆银行网站,恰好由服务器发送的更新数据是加强对用户信息的保密或者是防止用户信息泄漏等功能,在这种情况下由服务器发送的更新数据必须包括强制安装或者强制下载的弹窗,使得用户信息得到更好的保护,有效的降低了黑客或木马盗取用户信息的可能性。根据本公开的实施例,操作301中的检测请求还包括终端设备的软件信息,该软件信息包括软件的版本信息。例如终端设备的软件的版本信息可以是1.2.3、2.3.6或4.6.7等等,但不限于此。根据本公开的实施例,更新数据是当终端设备的硬件信息满足预设条件时,并且当终端设备的软件版本信息低于服务器中的软件版本信息时,由所述服务器发送的。根据本公开的实施例,当终端设备的硬件信息发送到服务器时,由服务器判断该终端设备的硬件信息是否满足服务器预设的条件,如果满足,则继续判断终端设备的软件的版本信息是否低于服务器中的软件版本信息,如果终端设备的软件版本信息低于服务器中的软件版本信息,则软件的更新数据由服务器发送。例如终端设备的硬件信息与服务器中的预设的硬件信息相同,并且终端设备的软件的版本信息是2.3.6,服务器的软件版本信息是3.0.0,此时终端设备可以接收到由服务器发送的软件更新数据,即软件版本信息是3.0.0的安装包,或者软件版本信息是3.0.0的下载链接。根据本公开的实施例,通过服务器对终端设备的软件预设一些硬件信息的条件,实现了对某一批次、某一型号、和/或指定终端设备的软件进行更新。根据本公开的实施例,硬件信息包括终端设备的品牌和/或序列号。例如终端设备是智能冰箱,智能冰箱的品牌可以是海尔、美的、tcl等等,但不限于此。智能冰箱的序列号可以是智能冰箱的出厂号,也可以是智能冰箱的型号等等,但不限于此。智能冰箱的出厂号和型号可以是由任意字母和/或数字组成,比如001、002、he502、md836等等,但不限于此。根据本公开的实施例,硬件信息满足预设条件可以包括终端设备的品牌是特定品牌,还可以包括终端设备的序列号在特定序列号范围内。根据本公开的实施例,特定品牌是指与服务器设置的终端设备的品牌相同,特定序列号是指该序列号在服务器设置的终端设备的序列号范围内。例如终端设备的序列号为001或he502,服务器设置的终端设备的序列号为000~200或he500~he599,显然终端设备的序列号为001或he502在000~200或he500~he599的范围内。根据本公开的实施例,通过服务器对终端设备的软件预设一些选择硬件信息的条件,实现了对某一批次、某一型号、和/或指定终端设备的软件进行更新。根据本公开的实施例,更新数据能够使得终端设备的软件实现部分更新或者全部更新。根据本公开的实施例,服务器中的更新数据包括终端设备的品牌、型号、出厂号的范围、操作系统、软件类型、软件名称、软件版本号、安装信息、软件是否强制更新和/或是否推送软件的信息。具体如上述表1所示:终端设备的品牌海尔、美的、tcl终端设备的型号he502、md101、tcl836终端设备的出厂号范围全部、部分、黑名单终端设备的操作系统android、ios终端设备的软件类型购物软件、多媒体软件终端设备的软件名称淘宝、工商银行、暴风影音终端设备的软件版本号2.3.6、3.0.0是否强制更新是/否是否推送更新信息是/否安装信息软件安装包、安装包的下载链接根据本公开的实施例,终端设备如果是智能智能冰箱,其品牌例如可以是海尔、美的或tcl,终端设备的型号例如可以是he502、md101或tcl836,终端设备的出厂号范围例如可以是全部出厂号、部分出厂号或处于黑名单中的出厂号,终端设备的操作系统例如可以是android、ios或windows系统,终端设备的软件类型例如可以是购物软件、多媒体软件、游戏软件或安全软件,终端设备的软件名称例如可以是淘宝、京东、暴风影音、王者荣耀或360安全卫士,终端设备的软件版本号例如可以是1.2.3、2.3.6或4.6.7,终端设备的软件是否强制更新有两项选择是或否,终端设备的软件是否推送软件的信息有两项选择是或否,终端设备的安装信息例如可以是软件的安装包或软件的下载链接。需要说明的是,上述黑名单的含义是,处于黑名单中的出厂号所对应的终端设备不允许进行软件更新,反之不在黑名单中的出厂号所对应的终端设备允许进行软件更新。需要说明的是,上述的部分出厂号也可以称作处于白名单中的出厂号,所述白名单的含义是,处于白名单中的出厂号所对应的终端设备允许进行软件更新,反之不在白名单中的出厂号所对应的终端设备不允许进行软件更新。需要说明的是,上述软件的安装包或安装包的下载链接可以是被检测终端设备软件的整包或整包的下载链接,也可以是被检测终端设备软件的补丁包或补丁包的下载链接。例如被检测终端设备软件的版本号为2.3.6,那么整包是指软件版本号为3.0.0、4.0.0或5.0.0等等,补丁包是指软件版本号为2.5.2、3.5.7或4.5.2等等。需要说明的是,是否强制更新是指在遇到被检测终端设备的软件是用户经常用于购物或者登陆银行网站的情况,在终端设备接收到更新数据时会出现强制更新的弹窗,此弹窗用户是无法关闭的,即终端设备的软件自动进行更新,无需用户进行操作。需要说明的是,是否推送新软件的信息是指在服务器在生成一个更新数据时,对于比较通用的软件例如微信、qq会选择直接将此信息推送到终端设备的桌面上,无需用户进入微信、qq等软件的界面进行操作发送检测请求。根据本公开的实施例,服务器可以同时存在多个高于被检测终端设备软件的版本号的更新数据。例如被检测终端设备软件的版本号为2.3.6,服务器中有2.5.2的更新数据、3.0.0的更新数据、3.3.1的更新数据、3.3.2的更新数据、3.5.3的更新数据和4.0.0的更新数据。下面通过一个具体的场景来描述当服务器同时存在多个高于被检测终端设备软件的版本号的更新数据时,终端设备在最后接收的是哪一个更新数据。现有场景的是,用户进入一台智能智能冰箱的应用软件的界面,并请求检测该应用软件在服务器是否有新版本,当服务器收到检测请求时,首先判断的是该智能智能冰箱的品牌和型号是否与服务器预设的品牌和型号相同,如果相同,则检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的最新整包,如果不存在,则继续检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的最新补丁包,如果不存在,则继续检测服务器是否存在高于该智能智能冰箱的应用软件的版本号为2.3.6的整包,如果存在,则继续判断该智能智能冰箱的出厂号是否在服务器预设的出厂号范围内,如果在服务器预设的出厂号范围内,则返回高于该智能智能冰箱的应用软件的版本号为2.3.6的整包,并将该整包发送至智能智能冰箱。需要说明的是最新整包是指4.0.0的更新数据,最新补丁包是指3.0.0的更新数据、3.3.1的更新数据或3.3.2的更新数据,整包是指3.0.0的更新数据,同理补丁包是指2.5.2的更新数据。需要强调的是,当检测结果显示最新补丁包有3.0.0的更新数据、3.3.1的更新数据或3.3.2的更新数据,或者补丁包有2.5.2的更新数据、2.4.1的更新数据或2.3.7的更新数据时,发送到智能智能冰箱的最新补丁包或补丁包需要从版本号最低开始发,待智能智能冰箱更新完版本号最低的,再以此类推的发送比最低版本号高的,采用这样更新方式可以有效地避免智能智能冰箱系统运行的缓慢或卡顿的现象,而且还实现了针对智能智能冰箱的硬件和软件上的部分更新或全部更新的功能。通过上述的方法,可以实现对部分终端设备的软进行更新,使得在软件的新版本发行的时能够降低风险,而且支持对某一批次、某一型号、指定设备的软件进行更新,这样的软件更新技术更加灵活且易于控制。图4示意性示出了根据本公开实施例的用于终端设备的软件更新系统的框图。如图4所示,一种用于终端设备的软件更新系统400包括发送请求模块410和接收数据模块420。发送请求模块410,用于向服务器发送检测请求,该检测请求包括终端设备的硬件信息。接收数据模块420,用于从服务器接收更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由服务器发送的。根据本公开的实施例,有关终端设备的检测请求的发送和软件更新数据的接收,可以参见上面参考图2的描述,这里不再重复。可以理解的是,发送请求模块410和接收数据模块420可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,发送请求模块410和接收数据模块420中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,发送请求模块410和接收数据模块420中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。图5示意性示出了根据本公开实施例的用于服务器的软件更新系统的框图。如图5所示,一种用于终端设备的软件更新系统500包括接收请求模块510和发送数据模块520。接收请求模块510,用于向服务器发送检测请求,该检测请求包括终端设备的硬件信息。发送数据模块520,用于从服务器接收更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由服务器发送的。根据本公开的实施例,有关服务器接收的检测请求和发送的软件更新数据,可以参见上面参考图3的描述,这里不再重复。可以理解的是,接收请求模块510和发送数据模块520可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,接收请求模块510和发送数据模块520中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,接收请求模块510和发送数据模块520中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。图6示意性示出了根据本公开实施例的终端设备的结构示意图。如图6所示,终端设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有终端设备600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本公开的终端设备中限定的上述功能。需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。作为另一方面,根据本公开的实施例还提供了一种计算机可读介质。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,可以实现根据本公开实施例的用于终端设备的软件更新方法,包括:向服务器发送检测请求,该检测请求包括终端设备的硬件信息;从服务器接收更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由服务器发送的。图7示意性示出了根据本公开实施例的服务器的结构示意图。如图7所示,服务器700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram703中,还存储有服务器700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本公开的终端设备中限定的上述功能。需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。作为另一方面,根据本公开的实施例还提供了一种计算机可读介质。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,可以实现根据本公开实施例的用于终端设备的软件更新方法,包括:从终端设备接收检测请求,该检测请求包括终端设备的硬件信息;,向终端设备发送更新数据,该更新数据用于更新终端设备的软件,其中,更新数据是当硬件信息满足预设条件时,由终端设备接收的。以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1