当前位置: 首页 > news >正文

国家示范校建设网站网站页面怎么优化

国家示范校建设网站,网站页面怎么优化,社交网站开发公司,北京做网站软件摘要 当越来越多的物联网水表加入抄表系统后#xff0c;实现了水表数据的信息化#xff0c;并且当水表终端需要技术更新时#xff0c;通过网络方式来升级产品可以高效修复设备面临的问题#xff0c;减少用户损失#xff0c;降低维护成本#xff0c;但同时也对有限的网络…摘要 当越来越多的物联网水表加入抄表系统后实现了水表数据的信息化并且当水表终端需要技术更新时通过网络方式来升级产品可以高效修复设备面临的问题减少用户损失降低维护成本但同时也对有限的网络资源形成负担。 当前终端的无线远程升级技术多采用单一的整包升级策略存储空间占用率高网络资源占用量大升级成功率不高。 针对上述问题引入了应用于Android端的开源差分算法HdiffPatch介绍了差分升级在物联网抄表系统中的实现架构和方法并通过重编译实现算法在Windows服务器端及嵌入式水表终端的应用。 引言 物联网水表指的是在计量基表的基础上加入无线远传模块GPRS、NB-IoT等组成的新型智能水表它实现了集流量计量、流量采集、数据存储及无线传输于一体的强大功能。 当越来越多的物联网水表加入抄表系统后对用水片区的水量管理及数据分析提供了可靠的依据为用户用水行为管控提供了及时有效的操作机制也为水表设备运行的远程监测提供了方便的平台但同时也对抄表系统的网络带宽提出了一定的要求。 当设备投入市场之后由于相关技术的迭代设备运行可能会暴露其软件代码中的某些致命弊端由于客户需求更新设备软件需要升级以增加或者修改原来的功能。 当物联网设备投入市场后厂家开发安全有效的空中升级方案只需要在网络平台上把升级软件通过无线方式下发给设备实现设备中的可执行代码更新。 无线升级面临着几个考验 网络平台资源紧张尤其对物联网水表等这类小设备有些运营商限制了其网络端口并发量因此空中升级庞大的数据流量会引起网络拥塞造成升级失败物联网设备多采用电池供电尽量保持低功耗是保证其寿命的重要手段空中升级的有限速率导致电池供电设备对耗电极为敏感。受网络信号的影响当无线升级失败时想要设备继续进入运行状态必须对接收到的新代码另行存储以避免对原代码的覆盖并且要具备重传机制待网络稳定时从断开处开始传输避免重新传输造成资源浪费。当更新数据量大时对设备 CPU 的 FLASH 空间及 AM 提出了更高的要求3。 目前国内外固件设备的无线升级方案按照实现策略可分为整包升级和差分升级。 整包升级需要将新版本的完整软件包进行打包设备接收完所有升级包经过校验算法验证包的有效性和完整性后替换旧版本的应用代码。 整包升级的方式接近于整个固件的镜像操作简单易于实现对网络平台及设备端的设计实现要求不高。 差分升级算法 差分升级又叫增量升级是将固件的新旧版本的程序数据文件做差异形成升级需要增量包而对于两个版本中相同部分则不需要做升级处理以此通过传输更少的数据实现同样的升级效果。 在实现架构上差分升级系统需要在升级服务器侧和终端设备上分别部署差分算法服务器比较新版本文件对旧版本文件所作的修改并通过差分算法对这些数据以特定的格式打包、优化压缩形成差分文件patch文件然后通过指定的协议设备端接收完该差分文件校验完成后利用差分算法还原差分文件并通过组合旧版本程序文件得到目标数据文件实现升级。 显然经过服务器侧后生成的patch文件远远小于新版本程序文件而对于固件资源受限的设备终端来说如何寻找一种高效的差分算法实现以最小数据量来描述差分信息并且以有效稳定的方法进行信息传递和文件还原是差分升级的重要研究内容。 在构造差分增量包中常见的算法有Bsdiff算法、Xdelta算法、Hdiffpatch算法等。 Bsdiff算法 在匹配新旧文件过程中有部分源代码内容完全相同有部分源代码相似度很高只有部分字节作了稀疏改动另有一些源代码内容相同但是存储地址存在一个固定的偏移量对于这一特性的源代码数据具有高度的可压缩性。Bsdiff算法引入了diff string的概念在新旧文件中找到这样的两部分内容求出字节的差异作为diff string进行压缩。而对于不符合要求的新文件源码中新增部分作为extra string进行保存。 Bsdiff算法在匹配时先对旧文件的所有字符进行后缀排序形成一个字典然后使用二分查找算法找到最优的匹配长度依次得到整个文档所有的diff string和extra string把这些文件信息以bzib2的方式压缩成升级增量文件。 Bsdiff算法的增量文件中的数据由四部分组成Headerctrl blockdiff blockextra block。 Header 头文件包含了目标文件的起始地址新文件大小控制长度等。ctrl block提供控制部分信息指示旧文件中保留的长度以 及 需 要 从 diff block 和 extra block 中提取的信息在旧文件中信息的地址偏移量等。diff blockextra block 分别包含所有的 diff string和 extra string。 设备端在接收到patch文件后解压文件并根据差分文件的组成格式通过bspatch算法还原生成新文件。 由Bsdiff算法原理可知它所生成的patch文件并不会比源文件小但是文件结构压缩性强导致传输的升级数据量比完整升级要小很多有效减少了冗余数据传输量。Bsdiff 算法高度依赖压缩算法当升级文件修改的内容小概率地满足稀疏变化时差分文件的压缩效率降低相比整包升级的优势不明显。 Xdelta算法 Xdelta 和其他的差分升级算法一样也需要对新文件和旧文件进行比较匹配作差分。在产生 patch 包时Xdelta 可采用 hash 或者 suffix trees 等算法来寻找最大的匹配长度的字符串。 Xdelta 差分算法的 patch文件中用到了 add、run 及 copy 三种命令。其中 add 用于将匹配到的指定长度的字符串从源文件拷到目标文 件run 用于在目标文件中加入新文件的增加部分copy 将匹配到的文件成块的移动到目标文件中的目标地址上。 Xdelta 对增量文件采用 Vcdiff 格式的编码方式用 128 进制的数据表示形式经过重编码的字符相较于原数据节省了存储空间达到了高效压缩的目的9。 Xdelta 算法的 patch 生成过程可通过其他算法来优化考虑到设备端的内存消耗patch 过程引入了Windows 块技术随着 Windows 块变大可达到的最长字符串的匹配结果越精确产生的 patch 文件越小但同时也会消耗更多的内存资源。因此采用高效的匹配优化算法和适合的 Windows 块大小是 Xdelta 算法的关键。 Hdiffpatch Hdiffpatch是一种高效的增量算法在运行时间复杂度及内存空间占用率上相较于前两种算法存在很大的优势。 Hdiffpatch在差异文件生成阶段引入了覆盖线C的概念用于标志新旧版本文件的匹配度。 算法将两版本程序文件看成两个具有不同长度的数组分别表示newData[m]和oldData[n]。 覆盖线C是点Ei.jj的集合其中newData[i] oldDta[j]。 如果C {Ei,j,Ei1,j1,…,eIK,JK}表示该覆盖线的长度为k。 由此可知经过匹配之后存在许多长度不等的覆盖线根据差分包制作经验当覆盖线长度大于7时增量算法优势明显。 patch文件就是所有满足要求的覆盖线和newData[m]中没有被匹配上的数据组成的文档。 其中覆盖线表示信息结构包括newPos表示在新文档中的起始位置ioldPos表示在旧文件中的起始位置jlength表示覆盖线长度k。 Hdiffpatch算法对匹配的覆盖线采取优化措施。其中包括 覆盖线包含。如果覆盖线a被另外一条完全包含则在C中删除a信息以减小重复信息来简化差分文件。覆盖线合并。对于在一条直线上的两段覆盖线如果它们之间的间隔长度小于某一值则把这两条覆盖线合并成一条其中的延长部分数据作为patch文件的一部分。覆盖线删除。对于某些单独的覆盖线做扩展成本比较大无法进一步优化在patch文件生成时对此进行直接删除以减小存储及升级的控制代价。 差分升级的实现 Hdiffpatch算法产生了较小的升级包当水表终端接收到升级包并且还原成最新文件后需要对控制CPU中的执行代码进行更新升级。 本方案中采用的智能水表终端使用 STM32L071其具有 192KB 的 FLASH6KB 的片内 EEPOM20KB的 AM能够实现多种低功耗运行模式完全满足智能水表终端在实现流量数据计量、存储及与无线服务器通信功能的基础上加入差分升级的功能。 而在加入差分升级之后bootloader 中还将包含 Hdiffpatch 算法及与服务器进行patch 差分包传输通信所有流程。 由于在 Hdiffpatch 算法中需要在旧文件的基础上作新程序文件还原因此会存在两个版本的文件同时存在于 FLASH 的情况这对于升级失败时设备还能继续正常运行起到保障作用。对于 CPU 的存储区水表终端作了如下划分14: 终端升级流程实现 终端升级实现是差分升级系统中的关键部分它负责增量升级文件的接收、差分算法的还原及固件的更新。 基于终端控制器CPU的RAM区容量的限制水表设备不能一次性接收升级文件而是采用分帧多包的模式。 当所有帧都接收完全后CPU按照Hdiffpatch算法的patch文件格式解析文档进行算法还原。 本方案的协议采用的关键技术包括 升级协议起始帧包含了本次升级的新软件版本号、升级的总包数及升级文件的总校验码。终端通过接收下发的版本号与当前的版本号对比选择是否停止接收、完全接收或断点续传。文件总校验码用于在终端接收完升级文件后判断文件的有效性。水表终端根据总升级包数向服务器逐条申请升级包并对接收到相应的升级包进行包序号和校验码的判断。当出现接收超时或者存储空间无法容纳接收的数据时终端会向服务器发出警告或者请求重传数据。水表终端在请求升级数据包时对每一步的操作进行记录以实现断点续传的可操作性。终端接收完升级文档后通过Hdiffpatch还原算法在FLASH的新程序存储区形成新版本代码后通知服务器并实行升级操作。服务器监控整个空中升级流程对水表终端的升级状态也能实时反馈提高了升级的可控性。 终端升级的低功耗设计 物联网智能水表使用一次性锂电池供电保证安装及使用的便捷可靠。 在应用程序中终端控制器合理使用 NB-IoT 的工作模式并根据使用场景对表计量的频度和方法进行控制既满足了客户的使用要求又相对延长了产品电池使用寿命。 空中升级的使用频率相对较低但是它一次使用的耗电量在所有应用功能中是最大的。 因此如何采用合理的手段规避不必要的电耗也是空中升级系统要考虑的一个问题。 本方案采用Hdiffpatch算法来产生差分升级文件patch在很大程度上缩小了空中升级的数据传输量拉低了升级操作的总耗电量成为降低升级功耗的关键技术。 升级一开始服务器查询设备端当前软件版本号如果与要下发的版本号一致则认为没有升级的必要退出升级操作。 这种架构仅用一个交互信息就实现了升级流程走向避免了不必要的传输步骤。 当空中传输过程出现网络故障时终端收不到正确的服务器数据后在连续申请三次升级包后设备为了节省电耗进入休眠模式。 待下一周期网络恢复后设备不需要重复传输已经接收完的数据包而是进入断点续传减少了冗余的操作简化了升级步骤
http://www.tj-hxxt.cn/news/230133.html

相关文章:

  • 找设计方案的网站h5商城网站是什么
  • 济宁教育平台网站建设wordpress竖版图片尺寸
  • 做网站图标wordpress图片轮播插件
  • 专门做美食的视频网站有哪些甘肃网站seo技术厂家
  • 当下网站建设网站空间购买流程
  • 淘宝客做的好的几个网站免费qq刷赞网站推广
  • 淘宝客怎么样做自己的网站广西网站建设智能优化
  • 图做的好的网站wordpress置顶文章全文显示
  • wordpress 启用多站点防伪查询网站
  • 数据来源于网站怎么做参考文献延津县建设局网站
  • 网站建设主机类型怎么选html整个页面添加背景图片
  • 北京服饰网站建设网页设计一般尺寸
  • 长泰建设局网站苏州网站建设制作公司
  • 网站开发留言板代码西部数据网站管理助手
  • 做电影网站用什么空间中国建设银行福清分行网站
  • 两个域名同一个网站做优化苏州苏州设计公司
  • 产品导航网站源码wordpress 收不到邮件
  • 关于美食网站的问卷调查怎么做wordpress导入火车头
  • 毕业生对于网站建设感受wordpress 被入侵 删文章
  • 网页设计模板免费网站酒类销售公司的网站建设
  • 建设通网站武义巨合汪志刚厦门网站设计推广公司
  • 潍坊网站维护301网站跳转设置
  • 苏州网站优化公司数据库端口 wordpress
  • 刷数据网站怎么推广网站后台管理系统怎么做
  • 宁波拾谷网站建设app开发公司怎么赚钱的
  • 分类目录网站有哪些网站安全检测方法
  • 有什么网站做统计图的长春网站建设培训
  • 简单的做图网站专业的建站
  • 最近的新闻摘抄上海关键词排名优化价格
  • 2018网站流量怎么做app开发公司大概多少钱