一种基于嵌入式会议系统的远程更新方法及其装置与流程

文档序号:20092275发布日期:2020-03-13 07:06阅读:255来源:国知局
一种基于嵌入式会议系统的远程更新方法及其装置与流程

本发明涉及嵌入式会议系统领域,特别涉及一种基于嵌入式会议系统的远程更新方法及其装置。



背景技术:

目前常见的会议系统产品中,大部分采用有线菊花链形式的系统,一般由一台会议主机和多个会议单元共同构成,且会议主机和会议单元均会采用mcu(微控制单元)作为主控处理器,通过mcu运行特定的嵌入式控制程序实现相应的会议控制功能。因此,厂家在产品生产过程中,需要先完成产品中mcu程序的烧录;当应用于产品上的嵌入式程序出现严重bug或因功能落后需要升级时,还未出厂的产品就需要依次对所有的mcu重新烧录,流入市场中的产品则需要召回,并依次对产品中的mcu重新烧录。

上述处理过程会产生极大的工作量,情节严重的,甚至会直接影响产品的质量和使用者的信心;如何有效解决这种弊端,是当前急需解决的技术问题。



技术实现要素:

为至少解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于嵌入式会议系统的远程更新方法及其装置,本发明通过特定的文件格式及通信协议,实现了对原有会议系统产品中的嵌入式程序进行远程在线更新的技术效果。

本发明解决其问题所采用的技术方案第一方面是:一种基于嵌入式会议系统的远程更新方法,包括以下步骤:s1、上位机通过固件更新程序将bin文件以特定规则转换生成目标更新文件;s2、所述上位机向会议主机发送文件擦除指令及csfutp文件传输指令,进而传输所述目标更新文件;s3、所述会议主机接收所述上位机发送的指令和文件后执行程序更新任务并向会议单元转发所述csfutp文件传输指令和所述目标更新文件;s4、所述会议单元接收所述会议主机发送的指令和文件后执行所述程序更新任务。

有益效果:通过专用的文件格式和通信协议实现对会议系统的在线远程升级,克服了现有技术中需要对mcu进行重新烧录才能升级程序的弊端,有效提升了产品的使用便利性,节省了经营成本。

根据本发明第一方面所述的,所述目标更新文件的文件格式为.sfpack。

根据本发明第一方面所述的,所述步骤s2还包括以下子步骤:s21、所述固件更新程序选择目标更新模块,并向所述目标更新模块中的所述会议主机发送所述文件擦除指令和所述目标更新文件;s22、检测所述会议主机是否响应已发送的指令和文件,若所述会议主机未响应则重复发送;若所述会议主机已响应则执行下一步;s23、检测所述目标更新文件是否传输完成,若未完成则返回所述步骤s22并重复执行;若已完成则进程结束。

根据本发明第一方面所述的,所述更新模块包括至少一个所述会议主机。

根据本发明第一方面所述的,所述步骤s3还包括以下子步骤:s31、所述会议主机检测是否收到所述csfutp文件传输指令,若未收到则进程结束;若已收到则执行下一步;s32、判断当前是否为主机控制,若是则进一步执行所述文件擦除指令,进而返回所述步骤s31;若不是则向所述会议主机控制的所述会议单元转发所述csfutp文件传输指令并执行下一步;s33、所述会议主机响应所述目标更新文件数据并写入已有文件;s34、检测所述目标更新文件是否写入完成,若未完成则返回所述步骤s33;若已完成则执行所述程序更新任务,直至更新完成后进程结束。

根据本发明第一方面所述的,所述步骤s4还包括以下子步骤:s41、所述会议单元监测是否收到所述csfutp文件传输指令,若未收到则进程结束;若已收到则执行下一步;s42、检测所述csfutp文件传输指令是否涉及本机地址,若不涉及则进程结束;若涉及执行下一步;s43、所述会议单元响应所述目标更新文件数据并写入已有文件;s44、检测所述目标更新文件是否写入完成,若未完成则返回所述步骤s43;若已完成则执行所述程序更新任务,直至更新完成后进程结束。

根据本发明第一方面所述的,所述csfutp文件传输指令是会议固件文件传输协议中的识别指令。

根据本发明第一方面所述的,所述会议固件包括所述会议主机的固件以及所述会议单元的固件。

本发明解决其问题所采用的技术方案第二方面是:一种基于嵌入式会议系统的远程更新装置,包括以下模块:上位机,用于运行固件更新程序以及管理会议主机;会议主机,用于管理所述会议单元;以及会议单元,用于实现会议功能。

根据本发明第二方面所述的,所述会议主机至少存在一个,从属于所述会议主机下的所述会议单元至少存在一个。

有益效果:通过专用的文件格式和通信协议实现对会议系统的在线远程升级,克服了现有技术中需要对mcu进行重新烧录才能升级程序的弊端,有效提升了产品的使用便利性,节省了经营成本。

附图说明

图1是根据本发明优选实施例的方法流程示意图;

图2是根据本发明优选实施例的系统结构示意图;

图3是根据本发明具体实施例a的流程示意图;

图4是根据本发明具体实施例b的流程示意图;

图5是根据本发明具体实施例c的流程示意图;

图6是本发明中sfpack文件格式的构成示意图;

图7是本发明中sfpack文件格式文件头的构成示意图;

图8是本发明中sfpack文件格式子文件段的构成示意图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

为方便对本方案的理解,特对以下名词进行解释:

csfup协议:即csfup会议固件更新协议,是conferencesoftwarefirewareupdatingprotocol的缩写简称,其目的是为了实现展示在线更新资源(如界面ui、数据)以及运行会议系统在线更新程序而专门设计的文件协议,可以支持多个子文件包同时下载更新;协议规定了数据如何组织、数据的物理定义、格式、校验等基本和全面的信息,对发送方而言,是如何形成合格数据并正确将数据组织,规范了一个数据编码的过程;对接收方,是如何接收合乎要求的数据并实现数据正确拼接与组装,规范了一个数据解码与重组的过程。

csfutp协议:即会议固件文件传输协议,是conferencesoftwarefirewareupdatingtranslateprotocol的缩写简称。该协议是为了满足文件传输而特别开发的指令集,规定了发送方和接收方之间实现文件传输的如何通信与握手协议;在本发明中,csfup和csfutp协议共同协作完成在线会议单元程序、资源的更新。

sfpack文件格式:.sfpack格式是本发明中专门设计用于实现会议系统在线更新的文件格式。

接下来结合附图对本发明的具体实施例作进一步说明,参照图1所示为根据本发明优选实施例的方法流程示意图,包括以下步骤:s1、上位机通过固件更新程序将bin文件以特定规则转换生成目标更新文件;目标更新文件的文件格式为sfpack;s2、上位机向会议主机发送文件擦除指令及csfutp文件传输指令,进而传输目标更新文件;s3、会议主机接收上位机发送的指令和文件后执行程序更新任务并向会议单元转发csfutp文件传输指令和目标更新文件;s4、会议单元接收会议主机发送的指令和文件后执行程序更新任务。

参照图2所示为根据本发明优选实施例的系统结构示意图,包括以下模块:上位机,用于运行固件更新程序以及管理会议主机;会议主机,与上位机连接实现交互,用于管理会议单元;以及会议单元,与会议主机连接实现交互,用于实现会议功能;需要特别说明的是,会议主机至少存在一个,从属于会议主机下的会议单元至少存在一个;上位机可以是台式机、笔记本、手机以及其他具备有线或无线通信能力的智能设备;上位机与需要更新的设备之间存在的物理空间形式,可以在现场,也可以是远程;会议主机支持tcp/ip,自带ip地址;可以实现在线批量产品程序更新,也可以实现单个产品程序更新;既可以实现批量多个文件升级,也可以实现单个文件升级;既可以支持有线通信双工或半双工系统,也可以支持无线通信双工系统。

参照图3所示为根据本发明具体实施例a的流程示意图,实施例a说明的是位于上位机中的固件更新软件的业务流程,具体包括以下步骤:

固件更新程序选择目标更新模块,并向目标更新模块中的会议主机发送文件擦除指令和目标更新文件;更新模块包括至少一个会议主机;

检测会议主机是否响应已发送的指令和文件,若会议主机未响应则重复发送;若会议主机已响应则执行下一步;

检测目标更新文件是否传输完成,若未完成则返回步骤s22并重复执行;若已完成则进程结束。

参照图4所示为根据本发明具体实施例b的流程示意图,实施例b说明的是会议主机的固件更新流程,具体包括以下步骤:

会议主机检测是否收到csfutp文件传输指令,若未收到则进程结束;若已收到则执行下一步;需要说明的是,此处提及的csfutp文件传输指令涵盖后文中提及的csfutp文件传输指令均指的是会议固件文件传输协议中的识别指令;

判断当前是否为主机控制,若是则进一步执行文件擦除指令,进而返回第一步;若不是则向会议主机控制的会议单元转发csfutp文件传输指令并执行下一步;

会议主机响应目标更新文件数据并写入已有文件;

检测目标更新文件是否写入完成,若未完成则返回上一步;若已完成则执行程序更新任务,直至更新完成后进程结束。

参照图5所示为根据本发明具体实施例c的流程示意图,实施例c说明的是会议单元的固件更新流程,具体包括以下步骤:

会议单元监测是否收到csfutp文件传输指令,若未收到则进程结束;若已收到则执行下一步;需要说明的是,此处提及的会议固件包括会议主机的固件以及会议单元的固件;

检测csfutp文件传输指令是否涉及本机地址,若不涉及则进程结束;若涉及执行下一步;会议单元响应目标更新文件数据并写入已有文件;

检测目标更新文件是否写入完成,若未完成则返回上一步;若已完成则执行程序更新任务,直至更新完成后进程结束。

参照图6所示为本发明中sfpack文件格式的构成示意图,其主要说明的是sfpack文件格式的构成,其主要由文件头和多段子文件段组成。

参照图7所示为本发明中sfpack文件格式文件头的构成示意图,其主要说明的是sfpack文件格式文件头的构成,具体字段组成、不同字段的释义和数值表示方式如下:

l字段:为主引导字段,占4个字节,缺省设置是0xb7b6a9b6;

sl字段:为子引导字段,缺省设置是0xb7bcacff;

ver字段:version版本号,比如当版本号为v1.2.1时,系统中ver=0x00010201;示例中的版本为v1.0.0;

fn字段:文件数量字短,需要下载的固件文件数;

fs字段:sfpack文件的总大小,字节总数。

参照图8所示为本发明中sfpack文件格式子文件段的构成示意图,其主要说明的是sfpack文件格式子文件段的构成,具体字段组成、不同字段的释义和数值表示方式如下:

rt字段:文件发布时间;

mt字段:文件修改时间;

pm字段:产品型号,详细见产品pm,可自定义;

ft字段:表示文件类型,0x01表示资源文件;0x02表示程序固件文件;

rest字段:表示资源类型,0x01表示gui资源;0x02表示配置类型;

version字段:软件版本号,比如当版本号为v1.2.1时,字段中ver=0x00010201;

cfilenum字段:当前文件的数量,用来计算nextfileheadoffset;

fdataoffset字段:文件数据在固件文件中的偏移;

fs字段:当前文件数据的大小;

csum字段:当前文件数据的校验和;

msur字段:是否支持md5文件校验;

nextfileheadoffset字段:下一个更新文件头在固件中的偏移;

reverse字段:保留字段;

md5crc字段:当前文件数据的md5摘要信息表。

本发明中涉及的固件更新协议命名为csfup协议,对于该协议功能的具体描述如下:

烧录bin文件转化为传输用的固件文件名,以“serial_version.sfpack”命名,其中serial是产品型号、version是软体版本号;固件数据结构,包括固件文件头部和固件信息等;需同时支持文件的md5校验和32位校验和,若固件载体不支持md5文件校验,则使用32位文件校验和。

本协议支持不同系列的产品型号的固件更新;支持多个文件传输更新;支持不同协议的版本号和软体发布时间;支持多个协议版本协议,即固件在载体根据不同的版本协议来执行相应的固件更新流程;支持csfutp协议;支持后缀为.sfpack的文件的解析;需要特别说明的是,本发明中还提及的csfutp协议是hccp的子协议,是会议固件文件的传输协议;

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其它方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其它数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其它不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

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