CN108958762A - 一种软件的升级方法和装置 - Google Patents
一种软件的升级方法和装置 Download PDFInfo
- Publication number
- CN108958762A CN108958762A CN201710652963.3A CN201710652963A CN108958762A CN 108958762 A CN108958762 A CN 108958762A CN 201710652963 A CN201710652963 A CN 201710652963A CN 108958762 A CN108958762 A CN 108958762A
- Authority
- CN
- China
- Prior art keywords
- module
- upgraded
- software
- upgrading
- local
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种软件的升级方法和装置,所述方法应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述方法包括:接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;对所述待升级模块进行升级。应用本发明实施例,并不会对于软件所有的模块均进行升级,而是只会基于配置文件所确定需要进行升级的待升级模块,并对于该模块进行升级。这样既可以自由化配置软件需要升级的模块,还能达到减少升级带宽的目的。
Description
技术领域
本发明涉及视联网技术领域,特别是涉及一种软件的升级方法和一种软件的升级装置。
背景技术
软件升级是指软件开发者在开发软件时,由于开发时考虑不全面或程序功能不完善,在软件发布后,通过对软件进行修改或添加新的功能模块后,以补丁的形式发布给用户。用户采用这些补丁更新软件,实现软件升级。
目前的软件升级方案为单通道单文件实现升级。但是,这种升级方案在升级较大的文件时会导致长时间占用带宽,并且下载一些重复的文件。因此,如何在需要升级的软件为大文件时,减少升级时所使用的带宽成为迫切需要解决的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种软件的升级方法和相应的一种软件的升级装置。
为了解决上述问题,本发明实施例公开了一种软件的升级方法,所述方法应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述方法包括:
接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;
读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;
采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;
对所述待升级模块进行升级。
优选地,所述接收服务器发送的软件的升级配置文件的步骤之后,还包括:
确定所述升级配置文件中各个模块的升级通道。
优选地,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述采用所述升级模块信息和本地模块信息确定所述软件中待升级模块的步骤,包括:
将所述升级模块版本号和所述本地模块版本号一一进行比对;
若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
优选地,所述对所述待升级模块进行升级的步骤,包括:
通过所述升级通道向所述服务器发送获取待升级模块的升级数据的请求;
接收所述服务器针对所述请求反馈的所述待升级模块的升级数据;
采用所述升级数据对所述待升级模块进行升级。
优选地,在所述对所述待升级模块进行软件的升级的步骤之后,还包括:
采用所述升级配置文件更新所述本地配置文件。
本发明实施例还公开了一种软件的升级装置,所述装置应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述装置包括:
升级配置文件接收模块,用于接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;
本地配置文件读取模块,用于读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;
待升级模块确定模块,用于采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;
升级模块,用于对所述待升级模块进行升级。
优选地,还包括:
升级通道确定子模块,用于确定所述升级配置文件中各个模块的升级通道。
优选地,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述待升级模块确定模块,包括:
版本号比对子模块,用于将所述升级模块版本号和所述本地模块版本号一一进行比对;
待升级模块确定子模块,用于若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
本发明实施例还公开了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述方法中一个或多个所述的软件的升级方法。
本发明实施例还公开了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述方法中一个或多个所述的软件的升级方法。
本发明实施例包括以下优点:
本发明实施例将视联网中的软件划分为一个或多个模块,当需要进行软件升级时,从服务器获取升级配置文件以及从视联网终端获取本地配置文件,并根据升级配置文件的升级模块信息和本地配置文件的本地模块信息确定该软件的待升级模块,并对于该模块进行升级。应用本发明实施例,并不会对于软件所有的模块均进行升级,而是只会基于配置文件所确定需要进行升级的待升级模块,并对于该模块进行升级。简单来说,如果软件有些模块已经升级过了,就可以不用再升级了。这样既可以自由化配置软件需要升级的模块,还能达到减少升级带宽的目的。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明的一种软件的升级方法实施例的步骤流程图;
图6是本发明的一种视联网多模块软件升级的示意图;
图7是本发明的一种视联网多模块软件升级的数据流程图;
图8是本发明的一种软件的升级装置实施例的结构框图;
图9是根据一示例性实施例示出的一种用于软件的升级的电子设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块204进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,对于视联网中的软件采用模块化升级,更为灵活,并且在升级时只对于需要进行升级的模块进行升级,从而减少带宽。
参照图5,示出了本发明的一种软件的升级方法实施例的步骤流程图,所述方法应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述方法具体可以包括如下步骤:
步骤501,接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息。
在本发明实施例中,对于视联网中的软件划分为多个模块,基于此,本发明实施例在视联网终端的软件升级过程中,可以使用多模块软件升级的方式代替目前单一大文件升级的方式。
服务器有新版本的模块更新时,自动向视联网终端发送升级配置文件,当然,也可以由视联网终端按照预设时间间隔,自动向服务器确定是否需要进行软件的升级。
从服务器获取的升级配置文件也可以称为config配置文件,当软件中的模块存在新的升级数据时,可以生成相应的升级模块信息,服务器则基于升级模块信息进一步生成升级配置文件,再发送至视联网终端中。视联网终端接收到升级配置文件后,可以从升级配置文件中提取出升级模块信息,用于后续判断是否需要对于视联网终端中相应模块进行升级的操作。
步骤502,读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息。
在本发明实施例中,除了从服务器中获取升级配置文件之外,还会从本地即视联网终端读取软件的本地配置文件,当然,也会从本地配置文件中读取出本地模块信息。
步骤503,采用所述升级模块信息和本地模块信息确定所述软件中待升级模块。
在实际应用中,升级配置文件和本地配置文件分别具有对应的模块信息。具体地,模块信息可以为软件的各个模块对应的版本号。当然,除了版本号之外,模块信息也可以是其他能够识别出软件的模块是否为最新的模块的信息,本发明实施例对此不加以限制。
在本发明的一种优选实施例中,所述步骤503可以包括如下子步骤:
子步骤S11,将所述升级模块版本号和所述本地模块版本号一一进行比对;若所述升级模块版本号高于所述本地模块版本号,则执行子步骤S12;
子步骤S12,将所述升级模块版本号在软件中对应的模块确定为待升级模块。
从升级配置文件中,依次读取各个模块的版本号,然后跟本地配置文件中相对应模块的版本号进行对比,如果升级配置文件的版本号高于本地配置文件中的版本号则确定升级该模块,此时所确定升级模块称为待升级模块。如果升级配置文件的版本号与本地配置文件中的版本号一致,则跳过该模块继续比对下一模块的版本号,直至所有模块都比对完毕。
步骤504,对所述待升级模块进行升级。
在本发明实施例中,对于待升级模块将进行升级操作。需要说明的是,由于升级配置文件中版本号与本地配置文件中版本号一致的模块,即已经是最新的模块,本发明并不需要从服务器中重复获取相应的升级数据进行升级,因此可以节省不少的带宽。
在本发明的一种优选实施例中,还可以包括如下步骤:
确定所述升级配置文件中各个模块的升级通道。
在实际应用中,不同的模块可以利用不同的升级通道传输升级数据。所述步骤504可以包括如下子步骤:
子步骤S21,通过所述升级通道向所述服务器发送获取待升级模块的升级数据的请求;
子步骤S22,接收所述服务器针对所述请求反馈的所述待升级模块的升级数据;
子步骤S23,采用所述升级数据对所述待升级模块进行升级。
对于待升级模块,视联网终端通过升级通道向服务器发送该待升级模块的升级数据的获取请求,服务器接收到该请求后,获取该待升级模块相应的升级数据,并通过升级通道反馈给视联网终端,这样,视联网终端就可以基于该升级数据对于该模块进行升级。
在一种优选方案中,本发明实施例的多个待升级模块可以同时从不同的升级通道中获取升级数据,通过这种并行的方式可以提高整体升级效率。
参照图6,所示为本发明的一种视联网多模块软件升级的示意图,服务器首先向视联网终端发送config配置文件(升级配置文件),视联网终端则采用该config配置文件与本地配置文件进行比对,从而确定出待升级模块。
假设确定的待升级模块为A模块和B模块,则视联网终端向服务器请求该A模块和B模块对应的升级数据,服务器则向视联网终端反馈A模块和B模块对应的升级数据,最终视联网终端就可以采用A模块和B模块对应的升级数据分别对于A模块和B模进行升级。
在本发明的一种优选实施例中,所述方法还可以包括如下步骤:
采用所述升级配置文件更新所述本地配置文件。
当视联网终端结束软件升级任务后,还可以进一步对于本地配置文件,采用升级配置文件进行更新,这样,可以以备在后续的软件升级中,继续应用本发明实施例实现软件多模块的升级。
本发明实施例将视联网中的软件划分为一个或多个模块,当需要进行软件升级时,从服务器获取升级配置文件以及从视联网终端获取本地配置文件,并根据升级配置文件的升级模块信息和本地配置文件的本地模块信息确定该软件的待升级模块,并对于该模块进行升级。应用本发明实施例,并不会对于软件所有的模块均进行升级,而是只会基于配置文件所确定需要进行升级的待升级模块,并对于该模块进行升级。简单来说,如果软件有些模块已经升级过了,就可以不用再升级了。这样既可以自由化配置软件需要升级的模块,还能达到减少升级带宽的目的。
为了使本领域技术人员更好地理解本发明实施例,下面采用一个示例来对于本发明实现视联网的多模块软件升级方法进行说明。参照图7所示的一种视联网多模块软件升级的数据流程图,涉及视联网终端和服务器,具体实现步骤包括有:
A:读取视联网终端的本地配置文件,并从服务器获取config配置文件,以及升级通道等信息。
B:比对本机与服务器的配置文件中config模块的版本号,如果版本号相同则执行D,如果有更高版本号则升级config模块,执行C。
C:对于有更高版本号的config模块,比如app、kernel等模块,则视联网终端从服务器获取这些config模块相应的升级数据以进行模块升级。直到升级完所有的模块后执行D。
D:采用config配置文件更新视联网终端的本地配置文件,具体来说,是基于config配置文件中执行升级操作的config模块去更新本地配置文件,执行完成D后,结束本次升级任务。
综上可知,如果应用目前的升级方法则会受到文件大小的限制,而本发明实施例则可以把文件划分为不同大小的模块分别升级。目前的升级方法中,不管有用或者无用的文件(或模块)都必须升级,因此浪费了不少带宽。本发明实施例则可以根据需要而进行升级其中的某一部分(或模块),减少不必要的模块下载,因此可以大大减少使用带宽。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明的软件的升级装置实施例的结构框图,所述装置应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述装置具体可以包括如下模块:
升级配置文件接收模块701,用于接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;
本地配置文件读取模块702,用于读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;
待升级模块确定模块703,用于采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;
升级模块704,用于对所述待升级模块进行升级。
在本发明的一种优选实施例中,所述升级配置文件接收模块701,包括:
升级通道确定子模块,用于确定所述升级配置文件中各个模块的升级通道。
在本发明的一种优选实施例中,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述待升级模块确定模块703,包括:
版本号比对子模块,用于将所述升级模块版本号和所述本地模块版本号一一进行比对;
待升级模块确定子模块,用于若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
在本发明的一种优选实施例中,所述升级模块704,包括:
升级请求发送子模块,用于通过所述升级通道向所述服务器发送获取待升级模块的升级数据的请求;
升级数据接收子模块,用于接收所述服务器针对所述请求反馈的所述待升级模块的升级数据;
待升级模块升级子模块,用于采用所述升级数据对所述待升级模块进行升级。
在本发明的一种优选实施例中,所述装置还可以包括:
配置文件更新模块,用于采用所述升级配置文件更新所述本地配置文件。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图9是根据一示例性实施例示出的一种用于数据处理的电子设备800的结构框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件804为电子设备800的各种组件提供电力。电力组件804可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件814经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件814还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种软件的升级方法,所述方法包括:接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;对所述待升级模块进行升级。
可选地,还包括:确定所述升级配置文件中各个模块的升级通道。
可选地,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述采用所述升级模块信息和本地模块信息确定所述软件中待升级模块的步骤,包括:将所述升级模块版本号和所述本地模块版本号一一进行比对;若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
可选地,所述对所述待升级模块进行升级的步骤,包括:通过所述升级通道向所述服务器发送获取待升级模块的升级数据的请求;接收所述服务器针对所述请求反馈的所述待升级模块的升级数据;采用所述升级数据对所述待升级模块进行升级。
可选地,在所述对所述待升级模块进行软件的升级的步骤之后,还包括:采用所述升级配置文件更新所述本地配置文件。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种软件的升级方法和装置、以及一种电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种软件的升级方法,其特征在于,所述方法应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述方法包括:
接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;
读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;
采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;
对所述待升级模块进行升级。
2.根据权利要求1所述的方法,其特征在于,所述接收服务器发送的软件的升级配置文件的步骤之后,还包括:
确定所述升级配置文件中各个模块的升级通道。
3.根据权利要求1所述的方法,其特征在于,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述采用所述升级模块信息和本地模块信息确定所述软件中待升级模块的步骤,包括:
将所述升级模块版本号和所述本地模块版本号一一进行比对;
若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
4.根据权利要求2所述的方法,其特征在于,所述对所述待升级模块进行升级的步骤,包括:
通过所述升级通道向所述服务器发送获取待升级模块的升级数据的请求;
接收所述服务器针对所述请求反馈的所述待升级模块的升级数据;
采用所述升级数据对所述待升级模块进行升级。
5.根据权利要求1所述的方法,其特征在于,在所述对所述待升级模块进行软件的升级的步骤之后,还包括:
采用所述升级配置文件更新所述本地配置文件。
6.一种软件的升级装置,其特征在于,所述装置应用于视联网中,所述视联网包括终端设备和服务器,所述软件划分为一个或多个模块,所述装置包括:
升级配置文件接收模块,用于接收服务器发送的软件的升级配置文件,所述升级配置文件包括升级模块信息;
本地配置文件读取模块,用于读取视联网终端中软件的本地配置文件,所述本地配置文件包括本地模块信息;
待升级模块确定模块,用于采用所述升级模块信息和本地模块信息确定所述软件中待升级模块;
升级模块,用于对所述待升级模块进行升级。
7.根据权利要求6所述的装置,其特征在于,还包括:
升级通道确定子模块,用于确定所述升级配置文件中各个模块的升级通道。
8.根据权利要求6所述的装置,其特征在于,所述升级模块信息包括升级模块版本号,所述本地模块信息包括本地模块版本号,所述待升级模块确定模块,包括:
版本号比对子模块,用于将所述升级模块版本号和所述本地模块版本号一一进行比对;
待升级模块确定子模块,用于若所述升级模块版本号高于所述本地模块版本号,则将所述升级模块版本号在软件中对应的模块确定为待升级模块。
9.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1-5中一个或多个所述的软件的升级方法。
10.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-5中一个或多个所述的软件的升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710652963.3A CN108958762A (zh) | 2017-08-02 | 2017-08-02 | 一种软件的升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710652963.3A CN108958762A (zh) | 2017-08-02 | 2017-08-02 | 一种软件的升级方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108958762A true CN108958762A (zh) | 2018-12-07 |
Family
ID=64495119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710652963.3A Pending CN108958762A (zh) | 2017-08-02 | 2017-08-02 | 一种软件的升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958762A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918104A (zh) * | 2019-02-01 | 2019-06-21 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN110187903A (zh) * | 2019-04-19 | 2019-08-30 | 视联动力信息技术股份有限公司 | 一种升级方法及装置 |
CN111061517A (zh) * | 2019-10-28 | 2020-04-24 | 视联动力信息技术股份有限公司 | 一种生成配置文件的方法、装置、电子设备及存储介质 |
CN111258607A (zh) * | 2020-01-16 | 2020-06-09 | 深圳乐信软件技术有限公司 | 一种基于分流的版本升级方法、装置、设备和存储介质 |
CN112540782A (zh) * | 2020-12-16 | 2021-03-23 | 歌尔光学科技有限公司 | 设备组件升级方法、装置、设备及存储介质 |
CN113904932A (zh) * | 2021-09-29 | 2022-01-07 | 厦门亿联网络技术股份有限公司 | 一种模块化的服务器升级方法、装置、电子设备及介质 |
CN114968294A (zh) * | 2021-02-26 | 2022-08-30 | 深圳怡化电脑科技有限公司 | 设备的固件升级方法及装置、电子设备、存储介质 |
CN116627476A (zh) * | 2023-07-25 | 2023-08-22 | 荣耀终端有限公司 | 一种固件更新方法、系统、电子设备及存储介质 |
CN116962376A (zh) * | 2023-09-20 | 2023-10-27 | 季华实验室 | Nb-iot终端升级方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055785A (zh) * | 2009-11-09 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统的在线升级方法、分布式系统及设备 |
CN103685495A (zh) * | 2013-12-05 | 2014-03-26 | 金蝶软件(中国)有限公司 | 软件的升级方法和系统 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN104156244A (zh) * | 2014-08-06 | 2014-11-19 | 北京奇虎科技有限公司 | 一种软件升级的方法和装置 |
CN106339248A (zh) * | 2016-10-09 | 2017-01-18 | 大道网络(上海)股份有限公司 | 软件远程升级方法及系统 |
-
2017
- 2017-08-02 CN CN201710652963.3A patent/CN108958762A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055785A (zh) * | 2009-11-09 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统的在线升级方法、分布式系统及设备 |
CN103685495A (zh) * | 2013-12-05 | 2014-03-26 | 金蝶软件(中国)有限公司 | 软件的升级方法和系统 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN104156244A (zh) * | 2014-08-06 | 2014-11-19 | 北京奇虎科技有限公司 | 一种软件升级的方法和装置 |
CN106339248A (zh) * | 2016-10-09 | 2017-01-18 | 大道网络(上海)股份有限公司 | 软件远程升级方法及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918104B (zh) * | 2019-02-01 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN109918104A (zh) * | 2019-02-01 | 2019-06-21 | 视联动力信息技术股份有限公司 | 一种自动升级系统和方法 |
CN110187903A (zh) * | 2019-04-19 | 2019-08-30 | 视联动力信息技术股份有限公司 | 一种升级方法及装置 |
CN111061517A (zh) * | 2019-10-28 | 2020-04-24 | 视联动力信息技术股份有限公司 | 一种生成配置文件的方法、装置、电子设备及存储介质 |
CN111061517B (zh) * | 2019-10-28 | 2024-03-15 | 视联动力信息技术股份有限公司 | 一种生成配置文件的方法、装置、电子设备及存储介质 |
CN111258607A (zh) * | 2020-01-16 | 2020-06-09 | 深圳乐信软件技术有限公司 | 一种基于分流的版本升级方法、装置、设备和存储介质 |
CN111258607B (zh) * | 2020-01-16 | 2023-06-09 | 深圳乐信软件技术有限公司 | 一种基于分流的版本升级方法、装置、设备和存储介质 |
CN112540782A (zh) * | 2020-12-16 | 2021-03-23 | 歌尔光学科技有限公司 | 设备组件升级方法、装置、设备及存储介质 |
CN114968294A (zh) * | 2021-02-26 | 2022-08-30 | 深圳怡化电脑科技有限公司 | 设备的固件升级方法及装置、电子设备、存储介质 |
CN113904932A (zh) * | 2021-09-29 | 2022-01-07 | 厦门亿联网络技术股份有限公司 | 一种模块化的服务器升级方法、装置、电子设备及介质 |
CN116627476A (zh) * | 2023-07-25 | 2023-08-22 | 荣耀终端有限公司 | 一种固件更新方法、系统、电子设备及存储介质 |
CN116627476B (zh) * | 2023-07-25 | 2023-12-15 | 荣耀终端有限公司 | 一种固件更新方法、系统、电子设备及存储介质 |
CN116962376A (zh) * | 2023-09-20 | 2023-10-27 | 季华实验室 | Nb-iot终端升级方法、装置、电子设备及存储介质 |
CN116962376B (zh) * | 2023-09-20 | 2024-04-05 | 季华实验室 | Nb-iot终端升级方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958762A (zh) | 一种软件的升级方法和装置 | |
CN108462678B (zh) | 一种查看监控录像的方法和装置 | |
CN108093011B (zh) | 一种视联网终端控制方法及系统 | |
CN108881820B (zh) | 一种监控数据的获取方法和装置 | |
CN108121588B (zh) | 一种访问外部资源的方法及其视联网接入服务器 | |
CN108809686A (zh) | 资源同步方法、装置、电子设备及计算机可读存储介质 | |
CN108628518A (zh) | 一种应用程序界面皮肤更换方法及装置 | |
CN108632558A (zh) | 一种视频通话的方法和装置 | |
CN109215653A (zh) | 一种语音操作的方法和装置 | |
CN108810581A (zh) | 一种软件菜单的更新方法和装置 | |
CN107959658B (zh) | 一种网络会议数据同步方法及其系统 | |
CN108573011A (zh) | 一种终端设备的展示和装置 | |
CN110099240A (zh) | 一种视频会议的控制方法和装置 | |
CN108809922B (zh) | 一种音频故障处理方法、会议调度端和视联网终端 | |
CN108574689A (zh) | 一种可视通话的方法和装置 | |
CN108234923A (zh) | 一种资源调度方法和装置 | |
CN109379209A (zh) | 一种视联网存储服务的升级方法和装置 | |
CN109191808A (zh) | 一种基于视联网的报警方法及系统 | |
CN109729184A (zh) | 一种视联网业务处理的方法和装置 | |
CN109587433A (zh) | 一种点调方法和点调装置 | |
CN109347856A (zh) | 一种视联网终端的登录方法和系统 | |
CN108632331A (zh) | 一种视联网应用的安装方法和装置 | |
CN110198287A (zh) | 一种地图上会议数据的展示方法和装置 | |
CN110505211A (zh) | 一种基于视联网的数据交互方法及装置 | |
CN109922297A (zh) | 通话方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |