CN105763369B - 一种终端设备远程软件版本分发方法及系统 - Google Patents

一种终端设备远程软件版本分发方法及系统 Download PDF

Info

Publication number
CN105763369B
CN105763369B CN201610079980.8A CN201610079980A CN105763369B CN 105763369 B CN105763369 B CN 105763369B CN 201610079980 A CN201610079980 A CN 201610079980A CN 105763369 B CN105763369 B CN 105763369B
Authority
CN
China
Prior art keywords
version
terminal device
software
packet
chained list
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.)
Active
Application number
CN201610079980.8A
Other languages
English (en)
Other versions
CN105763369A (zh
Inventor
唐嵩
高盛
周军
段玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Great Wall Information Co Ltd
Original Assignee
Hunan Greatwall Information Financial Equipment Co Ltd
Greatwall Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Greatwall Information Financial Equipment Co Ltd, Greatwall Information Industry Co Ltd filed Critical Hunan Greatwall Information Financial Equipment Co Ltd
Priority to CN201610079980.8A priority Critical patent/CN105763369B/zh
Publication of CN105763369A publication Critical patent/CN105763369A/zh
Application granted granted Critical
Publication of CN105763369B publication Critical patent/CN105763369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种终端设备远程软件版本分发方法及系统,为每个系统管理的终端设备维护版本链表,支持终端设备程序按易于管理的任意个软件组件类型进行拆分,为每个类型的软件组件建立版本链表,不同软件组件类型具有各自独立的升级线路,各类型的软件组件之间升级不相互依赖;利用组策略模式,可支持组范围新设备注册后自动升级;软件分发代理端通过约定的程序接口或系统存储数据获取软件组件的真实版本号,与服务端记录的版本号进行匹配,保障了版本链表的真实性和与唯一性。本发明可以高效、安全、便捷的对终端设备远程软件分发和统一版本管理进行精细化控制和管理。

Description

一种终端设备远程软件版本分发方法及系统
技术领域
本发明涉及一种终端设备远程软件版本分发方法及系统。
背景技术
随着网络计算技术、新型IT技术的发展,大量中大型企业如银行、电信、医疗、互联网公司利用终端设备(如自助类设备、智能终端设备等)及之上的应用来取代或扩展延深现有业务和工作职能。随着终端设备投放力度不断增加,集中管理工作影响较大,企业对终端设备的软件灵活性、拓展性要求不断提高,终端软件的维护管理范围也随之增加,典型例如:软件分发、安装、升级、配置等;以银行金融自助设备为例,系统提供24小时全天候服务,设备又往往分布广泛,一次全面软件维护工作量大、时间长、成本高;另外不同金融自助设备涉及智能网点柜面交易迁移、程序组件多样、地域性业务、跨平台等个性化实际需求,对终端设备中不同终端软件系统管理作业变得越来越复杂、越来越困难,系统管理员的工作量和难度也逐渐增大。更好的对终端设备软件进行远程统一分发、维护、自动化版本控制和管理,做到集中式精细化软件分发和版本控制管理是提升终端设备运营管理水平的重要手段。现有的远程软件分发系统没有提供较完整的版本管理功能,一般或多或少存在以下不足:一般文件分发采用文件包粗粒度方式对设备软件系统升级而缺少版本管理功能;有系统升级版本号的记录但无法对系统中细化组件真实版本信息进行跟踪管理;缺少软件系统完整的升级链,不支持增量升级模式和按分组模式新设备自动继承软件版本;通过简单纯文件特征值,进行全量的文件同步分发,灵活性差,且有升级性能的影响;等不一而足,不利于对终端设备软件进行远程统一分发精细化管理。
发明内容
针对现有系统在终端设备统一软件分发在版本精细化控制和管理的不足,本发明所要解决的技术问题是提供一种终端设备远程软件版本分发方法及系统,可以高效、安全、便捷的对终端设备远程软件分发和统一版本管理进行精细化控制和管理。
本发明的技术解决方案如下:
一种终端设备远程软件版本分发方法,基于终端设备远程软件版本分发系统进行软件版本分发;终端设备远程软件版本分发系统包括服务器和由服务器进行软件升级管理的一个或多个终端设备;
每个终端设备上均设置有软件分发代理端(软件分发Agent);
服务器上设置有版本分发服务控制器、版本制作工具、管理控制台和版本分发数据库;版本制作工具和版本分发数据库均与管理控制台相连;版本分发数据库和版本分发服务控制器相连;
终端设备上的软件分发代理端与服务器上的版本分发服务控制器通信连接;
版本分发方法包括以下步骤:
步骤一、管理控制台将终端设备上的软件组件划分为不同的类型;针对每一个终端设备上不同类型的软件组件,分别建立和维护对应的版本链表,版本链表内容包括软件组件版本包的实际版本号、对应的系统内部排序版本号、版本包的 MD5校验值和版本包属性;版本链表存储于版本分发数据库中;
步骤二、版本制作工具根据升级内容的自然目录结构及文件,压缩(如ZIP 格式压缩)并生成新版本包,并生成相应的版本属性描述文件,版本属性描述文件包含新版本包的实际版本号和软件组件类型;
步骤三、管理控制台将版本制作工具制作好的新版本包上传至版本分发数据库,并生成新版本包对应的MD5校验值和系统内部排序版本号;选择新版本包属性为增量包或全量包,为普通版本或强制版本,若选择为强制版本则填写指定升级指向的终端设备上的实际版本号,用于进行终端设备上的对应版本的强制升级;本步骤中的系统内部排序版本号用于系统的版本排序;步骤二版本属性描述文件中的实际版本号用于与后续步骤中与软件分发代理端上传的终端设备上已存在的软件组件真实版本号进行比较,从而进行版本不匹配预警;
步骤四、管理控制台选择设备策略模式或组策略模式发布新版本任务,选择新版本任务发布到的终端设备范围;设备策略模式和组策略模式都能针对指定属性范围(如生厂商、设备类型、型号、机构等)内的终端设备发布版本任务,可按指定属性范围条件选择具体设备;但是选择设备策略模式发布的版本任务只影响本次已选择的终端设备,对属性范围内的新增的终端设备不产生影响,而选择组策略模式发布的版本任务对指定属性范围内所有设备产生影响,包括版本任务发布后新增的属于该指定属性范围内的设备,即新增的属于该指定属性范围内的设备会继承该组策略,自动下载对应的版本包;如果不希望某个版本包对后续新增的设备以及未下载此版本包的终端设备产生影响,则需要删除此版本包对应的版本任务;
根据选择的版本分发策略和版本任务发布到的终端设备范围更新相应的终端设备版本链表;
版本发布前,需要经过系统审核人的审核,如果审核通过,则可以将版本提供给终端设备进行下载更新;否则将回退到版本发布提交者;审核人可以查看版本发布信息,但不能修改;
步骤五、软件分发代理端定时向版本分发服务控制器触发拉取版本请求或版本分发服务控制器主动推送版本通知至软件分发代理端;
步骤六、软件分发代理端通过软件组件版本动态库接口或版本存储位置(如系统注册表)获取终端设备上各类型软件组件当前真实版本号,并上传至软件版本分发服务控制器;
步骤七、版本分发服务控制器根据终端设备按内部排序版本号升序遍历对应的版本链表,在版本链表上寻找终端设备上软件组件当前真实版本号对应节点;
若找到,则遍历终端设备上软件组件当前真实版本号对应节点后的子链表,若子链表中的版本包属性均为增量包,则截取该子链表作为下载更新版本链表;否则若子链表中存在属性为全量包的版本包,则从最后一个全量包的位置开始截取作为下载更新版本链表;
若未找到,说明终端设备上软件组件版本与服务器上的软件组件版本不匹配,版本分发服务控制器触发版本不匹配告警,停止终端设备上该软件组件的版本更新;
步骤八、版本分发服务控制器从版本分发数据库读取下载更新版本链表发送至软件分发代理端,软件分发代理端按照下载更新版本链表中顺序从版本分发服务控制器下载版本包,进行MD5验证,验证通过则进行更新;并且将下载和更新情况反馈给版本分发服务控制器;
版本下发到终端设备上并根据版本要求进行对应文件的增删改等操作即为版本更新。根据在版本链表上的先后顺序,版本进行对应的更新;如果版本链表中前一个版本没有更新成功,则后一个版本也不会进行更新,更新严格按照版本链表中的先后顺序。若某版本没有在设备上更新成功,则在下载更新版本链表状态栏中显示跳过,并显示的错误代码和错误信息,说明版本因为什么原因没有被下载和更新。
步骤九、通过管理控制台来查看各终端设备各版本下载和更新情况以及查看版本的不匹配告警信息;
若下载和更新情况中存在下载或更新状态为失败或未知的终端设备,则通过管理控制台对该终端设备进行版本任务重发;当发布版本任务中的终端设备长时间没有下载版本包,版本任务需要重发,使未下载版本的终端设备重新下载版本包;版本任务对指定属性范围内的批量终端设备进行发布,会有终端设备因为网络、硬件等原因导致下载或更新失败;通过任务重发将触发该任务发布范围内所有下载失败或更新失败的终端设备进行重新下载和更新该版本。
若存在不匹配告警信息;则判断是服务器上的实际版本号错误还是终端设备上的真实版本号错误;若是服务器上的实际版本号错误,则通过管理控制台修改服务器上版本包的实际版本号;若是终端设备上的版本号错误,则通过管理控制台重新分发一个属性为强制版本的版本包,强制要求终端设备升级该版本;也可将需匹配的版本人工安装到设备上做到和服务端下发版本号统一。
进一步地,所述步骤四中的根据选择的版本分发策略和版本任务发布到的终端设备范围更新相应的终端设备版本链表包括以下步骤:
判断新发布版本是否为强制版本,若为强制版本,则判断终端设备该类型软件组件对应的版本链表中最新版本的更新状态,若最新版本的更新状态为失败,则先从该版本链表中清除所有连续失败的版本节点,然后增加新发布版本的版本号节点;若最新版本的更新状态为成功或未知,则在该版本链表后增加新发布版本的版本号节点,保存至版本分发数据库。
进一步地,所述管理控制台上设有版本删除和修改模块,用于在版本包发布前,修改和删除该版本包相关信息;如果版本包已经发布,则不可以修改和删除版本文件信息;如果重新上传版本包,则需要将之前上传的版本包删除。
进一步地,所述步骤四中,设定同时下载的最大设备数,以进行网络带宽控制;在一个版本任务定时扫描周期,版本分发服务控制器计算下载中的终端设备数和本次版本任务发布的未处理的终端设备数,若超过设定的同时下载的最大设备数,则在版本任务发布的终端设备范围内选择出数量等于设定的同时下载的最大设备数减去下载中的设备数的终端设备,进行版本分发处理,忽略其他终端设备;等待下一个版本任务定时扫描周期,重新进行计算与选择。
进一步地,所述步骤八下载版本包时,若终端设备网络中断,待网络接通后从断点继续接收版本包,即提供断点续传功能。
进一步地,所述步骤七中,若在版本链表上找到与终端设备上软件组件当前真实版本号对应节点,且新版本包的系统内部排序版本号小于或等于终端设备上软件组件当前真实版本号对应的系统内部排序版本号,当新版本任务发布的终端设备范围内包括这台终端设备时,终端设备忽略此新版本任务。
进一步地,当系统中新增由服务器进行软件升级管理的终端设备时,版本分发服务控制器判断是否存在发布到该新增终端设备所属终端设备范围内的版本任务;若存在,则依照版本任务形成该新增终端设备的下载更新版本链表;并依照步骤八和步骤九进行后续下载和更新操作。
进一步地,管理控制台上设置有版本更新状态查询界面和版本更新历史查询界面;
版本更新状态查询界面用以显示正在下载和更新版本的终端设备信息;版本发布后,发布范围内设备由软件分发代理和软件版本分发服务控制器协作控制自行下载,操作员不需要系统操作,操作员可通过管理控制台查看终端设备下载版本的情况;下载和更新完成后,下载和更新成功的终端设备从版本更新状态查询界面移除;
版本更新历史查询界面用以查询版本更新历史状态,包括不同类型的软件组件的版本链表查询和版本详细信息查询;版本详细信息查询用于查看终端设备上不同类型的软件组件的最新版本的版本号信息及服务端发布的版本信息。管理人员可根据此处查询到的终端设备上不同类型的软件组件的最新版本版本号信息进行版本打包制作。该功能主要是查询页面,提供一个可以查看设备的版本信息以及服务端发布的版本信息的页面。
一种终端设备远程软件版本分发系统包括服务器和由服务器进行软件升级管理的一个或多个终端设备;
每个终端设备上均设置有软件分发代理端(软件分发Agent);
服务器上设置有版本分发服务控制器、版本制作工具、管理控制台和版本分发数据库;版本制作工具和版本分发数据库均与管理控制台相连;版本分发数据库和版本分发服务控制器相连;
终端设备上的软件分发代理端与服务器上的版本分发服务控制器通信连接;
系统采用上述任一种终端设备远程软件版本分发方法进行软件版本分发。
本发明涉及的方法关键流程如服务器关键流程处理图2及软件分发代理端关键流程处理图3所示。
服务器关键流程如下:
一、版本制作
1.版本制作工具根据版本升级内容中自然目录结构及文件,将用户需下载的软件组件、程序或文件按ZIP格式压缩并生成指定版本的版本包;并生成相应的版本属性描述文件(含实际版本号、软件组件类型);
二、版本上传
2.管理控制台将版本制作工具制作好的软件组件版本包上传至版本分发数据库;
3.从版本属性描述文件读取实际版本号和软件组件类型;
4.设置该新增版本包为增量包或全量包;并设置该新增版本包为普通版本或强制版本;
5.自动生成新增版本包对应的MD5校验值和系统内部排序版本号(取当前系统最大版本号+1);
三、版本任务发布和审核
6.选择版本分发策略:选择设备策略模式或组策略模式发布任务;选择版本任务分发到的终端设备范围;根据选择的版本分发策略更新相应的版本链表;设定的最大版本下载设备数以进行网络带宽控制;
7.进行版本发布审核,通过则正式进行版本任务发布;
8.定时扫描版本分发数据库中已生成的版本信息和版本链表关系数据;判断是否存在已通过审核在时间段内允许下载未处理的任务,否则回到步骤8,是则进入下一步;
9.根据版本分发策略中设备属性,进行循环遍历,选出所有版本分发策略范围内的终端设备,建立对应的设备集合;
10.计算版本下载更新成功和版本下载更新失败次数达到默认设定值的终端设备,从版本分发策略范围对应的设备集合中排除;
11.若为组策略模式,则查找新注册终端设备;
12.根据版本任务范围属性与设备从属关系,判断是否为范围内新注册的终端设备;
13.加入版本分发策略范围内设备集合(自动下载模式)。
四、版本下载
14.按终端设备关联未处理版本链表中的版本,取得版本;
15.判断是否为强制版本;若是强制版本则判断终端设备版本链表中最新版本更新状态,最新版本更新状态为失败则从在该终端设备该类型软件组件对应的版本链表中清除所有连续失败的版本节点后,增加新发布版本的版本号节点;最新版本更新状态为成功或未知则在该终端设备该类型软件组件对应的版本链表后增加新发布版本的版本号节点,保存至版本分发数据库;若不是强制版本则按上述最新版本更新状态为成功的处理方式处理;
16.计算在策略范围内没有下载版本的设备台数和下载中的设备台数;
17.判断是否超过最大版本下载设备数;是则回到步骤6;否则进入下一步;
18.根据终端设备按内部排序版本号升序遍历对应的版本链表,截取终端设备上当前真实版本号后的子链表作为下载更新版本链表;如下载版本链表存在全量包,则从最后一个全量包的版本位置开始作为下载更新版本链表;
19.生成终端设备下载更新版本指令(含下载更新版本链表);终端设备上的软件分发代理端关键流程如下:
1.软件分发代理端定时向版本分发服务控制器触发拉取版本请求或服务控制器主动推送版本通知至软件分发代理端;
2.软件分发代理端按软件组件类型拉取下载更新版本链表,并遍历下载更新版本链表;此下载更新版本链表是包含多个“版本升级指令”,每一个版本升级指令都有一个指令ID,多个“版本升级指令”按版本号先后顺序组成的有序链表,一个版本升级任务对应一条“版本升级指令”,而“版本升级指令”是由JSON格式组成,包含有此版本号升级的详细信息,如版本包的下载地址,版本的软件组件类型;下载更新版本链表存放于软件分发代理端的嵌入式本地数据库中;
3.依次扫描下载更新版本链表中每一个的版本升级指令,判断其指令ID是否在本地数据库存在,如是则扫描下载更新版本链表中的下一个的版本升级指令,直到版本链表中的最后一条版本升级指令;如否则转入步骤4;
4.开始执行并下载版本包;Agent在执行版本升级指令时有两种状态,即“下载服务器更新包状态”和“更新本地文件状态”,在下载状态时,把本地数据库中所有新收到的版本更新指令对应的版本包从服务器下载下来,更新状态时,把下载下来的组件包全部执行以升级本地文件;“版本更新状态转换器”负责转换上述两种状态,告知Agent自身现在该做下载还是更新;如果数据库中有新的版本升级指令,则开始执行并下载版本包,否则转到1;
5.将新下载的版本包信息保存至本地数据库中,如下载版本包后保存的本地地址;
6.取得保存在本地数据库的当前软件组件版本信息和MD5特征值;
7.检测终端设备上本地版本包文件是否存在,如是转入步骤8;如否转入步骤 10;
8.检测当前版本MD5特征值与本地版本包文件是否相同,若相同,则转入步骤 11;若不相同,则转入步骤9;
9.删除当前版本号对应的本地软件组件版本包文件;
10.从软件分发版本服务控制器下载当前版本号对应新软件组件版本包;
11.将本地数据库当前软件组件版本包状态置为下载成功;
12.版本更新状态转换器循环检测本地数据库中各软件组件状态;
13.依次检查本地版本链表数据库各软件组件当前版本号之后的所有版本包状态是否为下载成功,如是转入步骤14;如否转入步骤12;
14.通过注册表或动态库接口获取终端设备上当前被管理程序的各软件组件的实际版本号;
15.判断当前链表版本号是否等于组件实际版本号;如是转入步骤16,如否则反馈至版本服务控制器版本不匹配错误,停止版本下载和更新操作;
16.触发通知被管理程序进行更新准备;
17.依次更新软件组件版本;
本发明的特征在于:
(1)为每个系统管理的终端设备维护版本链表,采用版本链表而非简单无关联的文件方式管理终端设备软件升级更新;
(2)更进一步地,细化的支持终端设备程序按易于管理的任意个软件组件类型进行拆分,为每个类型的软件组件建立版本链表机制,独立维护版本及更新;并且后期支持动态扩张软件组件类型;不同软件组件类型具有各自独立的升级线路,各类型的软件组件之间升级不相互依赖,见图4。
(3)利用组策略模式,可支持组范围新设备注册后自动升级。
(4)软件分发Agent采用约定的程序接口或系统存储数据获取软件组件的真实版本号和服务端记录的版本号进行匹配,保障了版本链表的真实性和与唯一性。
(5)强制版本保障系统版本链表可连续性及异常恢复机制。
(6)支持增量包和全量包的版本链表算法,可灵活配置升级次数、大小,实施升级里程碑规划;
(7)下载的版本包具有MD5验证码,如果MD5验证码和本地的版本源文件的MD5验证码相同,那么将不继续下载,节省网络资源,也保障内容的唯一性,并支持客户端版本手工安装和服务端下发版本一致性。
(8)支持多类型软件组件版本并行下载,等多类型版本下载完成后,一次更新,这样保障多类型软件组件版本升级时,对更新的原子化要求(即如需升级的被管理程序的由A、B软件组件构成,本次对A\B分别升级,但只有当A/B 同时更新完成后,被管理程序才能正常使用,就产生了A/B虽然可独立下载,但需同时更新完成的“原子化更新要求”),系统更新逻辑更安全。
(9)提供版本不匹配预警机制,并采用支持服务端和终端侧两种纠错模式。
本发明优点及有益效果:
大部分版本分发系统采用粗粒度分发文件,文件与文件之间独立没有版本的前后依赖关系。本发明支持将程序分离为任意个类型的软件组件,使得终端设备程序或程序集合的软件组件之间可独立地进行版本维护及更新;
服务器对终端设备程序的版本信息做到可控、可视、可查更便捷的进行管理;
终端设备程序的软件组件真实版本号和服务器版本链表上记录的实际版本号相应;做到了对真实程序版本的精确管理;
通过强制版本和不匹配版本号处理,很好的解决了版本分发的异常容错问题和修复机制;
通过支持增量包和全量包的版本链表算法详见图2很好的支持了增量包升级和全量升级包版本分发,用户可灵活实现升级次数和大小可选择阶段性(里程碑)升级规划,方便用户管控;
采用多类型软件组件版本类型并行下载,既方便了软件组件分类型独立升级管控也提高下载升级效率;采用下载版本具有MD5验证码,提高了升级的安全和精准性又节约了网络下载程序量;支持设备当前任务全下载,同时更新的方式提高程序升级的可靠性和满足了组件独立升级同步更新的需求。
支持组策略模式发布版本,对组范围内的新注册终端设备可以实现自动下载更新。
综上所述,本发明提供一种终端设备远程软件版本分发方法及系统,高效、安全、便捷的对终端设备远程软件分发和统一版本管理进行精细化控制和管理。减少了节省版本安装人员到现场安装版本的时间和成本等,增强了终端设备的软件资产精细化管理,提高了企业的终端设备管理服务效率和质量。
附图说明
图1为本发明系统结构图;
图2为服务器关键流程处理图;
图3为软件分发代理端关键流程处理图;
图4为本发明的版本链表机制;
图5 为本发明新接入设备时处理流程。
具体实施方式
以下结合附图和具体实施方式对本发明进行进一步具体说明。
实施例:
以金融自助设备的软件分发为例,针对银行自助设备ATMC进行精细化版本管理,将终端设备软件组件类型分为:浏览器、设备驱动、设备中间件SP、软件分发Agent、FORM、输入法等,后期也可以动态新增软件组件类型。
软件组件类型 描述
agent 软件分发Agent
browser 终端应用浏览器
input 输入法
sp 厂商SP
ocx 设备应用中间件
form Form(表单配置文件)
(1)不同类型的软件组件分别有自己的版本链表,制作版本zip包的时选择软件组件类型、版本号,按命名规则生成“厂商_类型_all_软件组件类型_版本号.zip”如“201_3_all_agent_v1.0.0.1.zip”、“202_6_all_sp_v1.0.0.1.zip”
(2)新增版本“201_3_all_agent_v1.0.0.1.zip”、“202_6_all_sp_v1.0.0.1.zip”时生成MD5校验值、内部排序版本号等。新增版本设置为普通增量版本,当普通增量版本出现问题的时候,才会新增强制增量版本来跳过普通增量版本升级。软件分发代理端上送终端设备上各类型软件组件的实际版本号,软件版本分发服务控制器对比上送的实际版本号与服务器上记录的实际版本号的差别,存在差别时管理控制台上传强制版本指向终端设备上的实际版本号,修正差别。如设备上的软件分发代理端实际版本号为v1.0.0.3,管理控制台记录的版本号为v1.0.0.1,则上传强制版本,指向v1.0.0.3。如版本链表过长可新增全量版本,则版本链表上全量版本之前的版本将无效,终端设备以对应的版本链表上最新的全量版本为第一个版本。
(3)新增上传的版本需要用以设备策略模式进行几台设备的测试,当确认版本没有问题后,将版本以组策略模式下发到某厂商的设备,或某厂商的某类型的设备,或某机构下的设备等在组策略内的设备。如 201_3_all_agent_v1.0.0.1.zip先下发到厂商编号为201,设备类型编号为3的几台设备上测试,确认包没有问题后发布到全行机构下,则对所有厂商编号为201,设备类型编号为3,实际版本号小于此版本生成的版本号的设备形成版本下载任务,形成设备对应的版本链表。设备上不同类型的软件组件的版本链表在管理控制台是独立的,即agent有agent单独的版本链表,sp有sp单独的版本链表等。
(4)版本分发服务控制器根据形成的版本链表以及软件分发代理端反馈的版本信息确定软件分发代理端应该下载的版本,并通知软件分发代理端下载版本。软件分发代理端收到通知后按照顺序下载对应的版本,并且将下载情况,更新情况,版本号等信息进行反馈给管理端。
(5)利用管理控制台来查看通过软件分发代理端反馈的信息查看各终端设备各版本下载更新的具体情况,也可根据设备查看终端设备版本链表上各版本下载更新情况。如有终端设备因网络等原因长时间未下载版本,则可以对版本发布任务进程重发。多次重发后某些终端设备还是未下载版本则检查终端设备是否还存在,或者网络是否畅通等。
(6)对组策略发布的版本会同步到新接入的设备。新接入设备时会判别版本是否适用,适用则下载版本,流程参考图5。

Claims (9)

1.一种终端设备远程软件版本分发方法,其特征在于,基于终端设备远程软件版本分发系统进行软件版本分发;终端设备远程软件版本分发系统包括服务器和由服务器进行软件升级管理的一个或多个终端设备;
每个终端设备上均设置有软件分发代理端;
服务器上设置有版本分发服务控制器、版本制作工具、管理控制台和版本分发数据库;版本制作工具和版本分发数据库均与管理控制台相连;版本分发数据库和版本分发服务控制器相连;
终端设备上的软件分发代理端与服务器上的版本分发服务控制器通信连接;
版本分发方法包括以下步骤:
步骤一、管理控制台将终端设备上的软件组件划分为不同的类型;针对每一个终端设备上不同类型的软件组件,分别建立和维护对应的版本链表,版本链表内容包括软件组件版本包的实际版本号、对应的系统内部排序版本号、版本包的MD5校验值和版本包属性;版本链表存储于版本分发数据库中;
步骤二、版本制作工具根据升级内容的自然目录结构及文件,压缩并生成新版本包,并生成相应的版本属性描述文件,版本属性描述文件包含新版本包的实际版本号和软件组件类型;
步骤三、管理控制台将版本制作工具制作好的新版本包上传至版本分发数据库,并生成新版本包对应的MD5校验值和系统内部排序版本号;选择新版本包属性为增量包或全量包,为普通版本或强制版本,若选择为强制版本则填写指定升级指向的终端设备上的实际版本号,用于进行终端设备上的对应版本的强制升级;
步骤四、管理控制台选择设备策略模式或组策略模式发布新版本任务,选择新版本任务发布到的终端设备范围;设备策略模式和组策略模式都能针对指定属性范围内的终端设备发布版本任务,可按指定属性范围条件选择具体设备;但是选择设备策略模式发布的版本任务只影响本次已选择的终端设备,对属性范围内的新增的终端设备不产生影响,而选择组策略模式发布的版本任务对指定属性范围内所有设备产生影响,包括版本任务发布后新增的属于该指定属性范围内的设备,即新增的属于该指定属性范围内的设备会继承该组策略,自动下载对应的版本包;
根据选择的版本分发策略和版本任务发布到的终端设备范围更新相应的终端设备版本链表;
步骤五、软件分发代理端定时向版本分发服务控制器触发拉取版本请求或版本分发服务控制器主动推送版本通知至软件分发代理端;
步骤六、软件分发代理端通过软件组件版本动态库接口或版本存储位置获取终端设备上各类型软件组件当前真实版本号,并上传至软件版本分发服务控制器;
步骤七、版本分发服务控制器根据终端设备按系统内部排序版本号升序遍历对应的版本链表,在版本链表上寻找终端设备上软件组件当前真实版本号对应节点;
若找到,则遍历终端设备上软件组件当前真实版本号对应节点后的子链表,若子链表中的版本包属性均为增量包,则截取该子链表作为下载更新版本链表;否则若子链表中存在属性为全量包的版本包,则从最后一个全量包的位置开始截取作为下载更新版本链表;
若未找到,说明终端设备上软件组件版本与服务器上的软件组件版本不匹配,版本分发服务控制器触发版本不匹配告警,停止终端设备上该软件组件的版本更新;
步骤八、版本分发服务控制器从版本分发数据库读取下载更新版本链表发送至软件分发代理端,软件分发代理端按照下载更新版本链表中顺序从版本分发服务控制器下载版本包,进行MD5验证,验证通过则进行更新;并且将下载和更新情况反馈给版本分发服务控制器;
步骤九、通过管理控制台来查看各终端设备各版本下载和更新情况以及查看版本的不匹配告警信息;
若下载和更新情况中存在下载或更新状态为失败或未知的终端设备,则通过管理控制台对该终端设备进行版本任务重发;
若存在不匹配告警信息;则判断是服务器上的实际版本号错误还是终端设备上的当前真实版本号错误;若是服务器上的实际版本号错误,则通过管理控制台修改服务器上版本包的实际版本号;若是终端设备上的当前真实版本号错误,则通过管理控制台重新分发一个属性为强制版本的版本包,强制要求终端设备升级该版本;也可将需匹配的版本人工安装到设备上,做到和服务端下发版本号统一。
2.根据权利要求1所述的终端设备远程软件版本分发方法,其特征在于,所述步骤四中的根据选择的版本分发策略和版本任务发布到的终端设备范围更新相应的终端设备版本链表包括以下步骤:
判断新发布版本是否为强制版本,若为强制版本,则判断终端设备该类型软件组件对应的版本链表中最新版本的更新状态,若最新版本的更新状态为失败,则先从该版本链表中清除所有连续失败的版本节点,然后增加新发布版本的版本号节点;若最新版本的更新状态为成功或未知,则在该版本链表后增加新发布版本的版本号节点,保存至版本分发数据库。
3.根据权利要求2所述的终端设备远程软件版本分发方法,其特征在于,所述管理控制台上设有版本删除和修改模块,用于在版本包发布前,修改和删除该版本包相关信息。
4.根据权利要求3所述的终端设备远程软件版本分发方法,其特征在于,所述步骤四中,设定同时下载的最大设备数,以进行网络带宽控制;在一个版本任务定时扫描周期,版本分发服务控制器计算下载中的终端设备数和本次版本任务发布的未处理的终端设备数,若超过设定的同时下载的最大设备数,则在版本任务发布的终端设备范围内选择出数量等于设定的同时下载的最大设备数减去下载中的设备数的终端设备,进行版本分发处理,忽略其他终端设备;等待下一个版本任务定时扫描周期,重新进行计算与选择。
5.根据权利要求4所述的终端设备远程软件版本分发方法,其特征在于,所述步骤八下载版本包时,若终端设备网络中断,待网络接通后从断点继续接收版本包。
6.根据权利要求5所述的终端设备远程软件版本分发方法,其特征在于,所述步骤七中,若在版本链表上找到与终端设备上软件组件当前真实版本号对应节点,且新版本包的系统内部排序版本号小于或等于终端设备上软件组件当前真实版本号对应的系统内部排序版本号,当新版本任务发布的终端设备范围内包括这台终端设备时,终端设备忽略此新版本任务。
7.根据权利要求6所述的终端设备远程软件版本分发方法,其特征在于,当系统中新增由服务器进行软件升级管理的终端设备时,版本分发服务控制器判断是否存在发布到该新增终端设备所属终端设备范围内的版本任务;若存在,则依照版本任务形成该新增终端设备的下载更新版本链表;并依照步骤八和步骤九进行后续下载和更新操作。
8.根据权利要求7所述的终端设备远程软件版本分发方法,其特征在于,管理控制台上设置有版本更新状态查询界面和版本更新历史查询界面;
版本更新状态查询界面用以显示正在下载和更新版本的终端设备信息;终端设备下载和更新完成后,下载和更新成功的终端设备从版本更新状态查询界面移除;
版本更新历史查询界面用以查询版本更新历史状态,包括不同类型的软件组件的版本链表查询和版本详细信息查询;版本详细信息查询用于查看终端设备上不同类型的软件组件的最新版本的版本号信息及服务端发布的版本信息。
9.一种终端设备远程软件版本分发系统,其特征在于,包括服务器和由服务器进行软件升级管理的一个或多个终端设备;
每个终端设备上均设置有软件分发代理端;
服务器上设置有版本分发服务控制器、版本制作工具、管理控制台和版本分发数据库;版本制作工具和版本分发数据库均与管理控制台相连;版本分发数据库和版本分发服务控制器相连;
终端设备上的软件分发代理端与服务器上的版本分发服务控制器通信连接;
系统采用权利要求1~8中任一项所述的终端设备远程软件版本分发方法进行版本分发。
CN201610079980.8A 2016-02-04 2016-02-04 一种终端设备远程软件版本分发方法及系统 Active CN105763369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610079980.8A CN105763369B (zh) 2016-02-04 2016-02-04 一种终端设备远程软件版本分发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610079980.8A CN105763369B (zh) 2016-02-04 2016-02-04 一种终端设备远程软件版本分发方法及系统

Publications (2)

Publication Number Publication Date
CN105763369A CN105763369A (zh) 2016-07-13
CN105763369B true CN105763369B (zh) 2018-08-17

Family

ID=56330661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610079980.8A Active CN105763369B (zh) 2016-02-04 2016-02-04 一种终端设备远程软件版本分发方法及系统

Country Status (1)

Country Link
CN (1) CN105763369B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789236B (zh) * 2016-12-20 2019-11-19 深圳盈达信息科技有限公司 一种融合WiFiP2P的FOTA远程在线升级的方法
CN107797817B (zh) * 2017-03-13 2021-02-19 平安科技(深圳)有限公司 应用更新方法和装置
CN107018194A (zh) * 2017-04-07 2017-08-04 厦门天锐科技股份有限公司 一种策略及时正确下载的实现方法
CN108334370B (zh) * 2017-05-26 2021-02-09 中国电子科技集团公司第四十一研究所 一种分布式测试系统的软件自动增量更新升级方法
CN107426298A (zh) * 2017-06-16 2017-12-01 中铁程科技有限责任公司 铁路分发系统处理方法及铁路分发系统
CN107577491B (zh) * 2017-08-09 2021-05-11 时趣互动(北京)科技有限公司 一种基于Weex的移动应用内版本更新的方法、系统
CN109426521A (zh) * 2017-08-21 2019-03-05 深圳市中兴微电子技术有限公司 一种无线终端版本升级系统及方法
CN108196900B (zh) * 2017-12-08 2021-11-09 五八有限公司 组件的注册方法及装置
CN108052336A (zh) * 2017-12-08 2018-05-18 国云科技股份有限公司 一种分布式软件升级系统及其实现方法
CN108008967B (zh) * 2017-12-22 2021-05-04 浪潮金融信息技术有限公司 应用程序的版本控制方法及装置、计算机可读存储介质、终端
CN108011983A (zh) * 2018-02-01 2018-05-08 天津天地伟业信息系统集成有限公司 一种嵌入式硬盘录像机云升级方法
CN108804121A (zh) * 2018-05-28 2018-11-13 泰康保险集团股份有限公司 分布式系统中的版本管理方法、装置、介质及电子设备
CN108683546B (zh) * 2018-05-29 2020-07-10 深圳市星河智善科技有限公司 一种基于物联网的智能家居设备同步更新方法
CN108924207A (zh) * 2018-06-26 2018-11-30 深圳高新兴物联科技有限公司 终端设备及其系统文件更新方法、系统和计算机存储介质
CN109375944B (zh) * 2018-08-28 2021-10-01 浪潮金融信息技术有限公司 一种基于区块链数据结构的终端软件分发验证方法
CN109240726B (zh) * 2018-09-30 2022-04-22 湖北华联博远科技有限公司 一种软件更新方法及系统
CN109324821B (zh) * 2018-10-10 2021-11-05 湖南长城医疗科技有限公司 一种自助终端系统版本管理方法
CN109558163B (zh) * 2018-11-09 2021-12-17 中核控制系统工程有限公司 一种基于控制器中运行文件的版本生成和管理方法
CN109656595A (zh) * 2018-12-10 2019-04-19 北京百家互联科技有限公司 客户端程序更新的方法、装置及系统
CN110262826A (zh) * 2019-03-05 2019-09-20 上海博泰悦臻网络技术服务有限公司 车载软件配置升级管理方法、服务端、客户端及处理端
CN110069273A (zh) * 2019-04-30 2019-07-30 四川长虹教育科技有限公司 软件升级包的批量打包方法及装置
CN111953715B (zh) * 2019-05-14 2023-05-26 天津五八到家科技有限公司 业务数据处理系统、方法及装置
CN110489161B (zh) * 2019-08-22 2022-02-08 腾讯科技(深圳)有限公司 一种版本文件的管理方法及相关装置
CN110716741B (zh) * 2019-09-26 2023-08-08 杭州安恒信息技术股份有限公司 一种基于脚本的软件产品自动化巡检方法
CN111176723B (zh) * 2019-12-31 2020-11-06 上海道客网络科技有限公司 基于服务网格和链路版本的服务多版本发布系统与方法
CN110851169B (zh) * 2020-01-16 2020-04-21 武汉斗鱼鱼乐网络科技有限公司 一种补丁信息更新的方法及系统、介质、电子设备
CN111273939B (zh) * 2020-01-20 2023-11-10 Oppo(重庆)智能科技有限公司 信息处理方法、信息处理装置及终端设备
CN111427611A (zh) * 2020-04-02 2020-07-17 四川航天系统工程研究所 一种利用指纹码实现的嵌入式软件版本状态管控方法
CN113067848B (zh) * 2021-02-05 2023-09-26 厦门亿联网络技术股份有限公司 一种通话记录同步方法、系统及电子设备
CN112925544B (zh) * 2021-02-26 2022-12-02 湖南强智科技发展有限公司 更新应用程序的方法、装置、电子设备及计算机存储介质
CN113518119B (zh) * 2021-05-25 2023-05-02 深圳壹账通智能科技有限公司 ABTest的服务分发方法、装置、设备及存储介质
CN117112011A (zh) * 2023-08-16 2023-11-24 北京冠群信息技术股份有限公司 一种版本管理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218239A (zh) * 2013-04-09 2013-07-24 沈阳美行科技有限公司 一种支持导航机地图版本增量更新版本的方法
CN103518191A (zh) * 2013-03-19 2014-01-15 华为技术有限公司 一种升级方法、智能终端及升级系统
CN104182252A (zh) * 2014-08-13 2014-12-03 墨仕(厦门)电子商务有限公司 一种app版本增量更新方法
CN105099772A (zh) * 2015-07-02 2015-11-25 许继集团有限公司 一种能效服务云终端的升级方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065738A1 (en) * 2001-10-01 2003-04-03 Thumb Logic, Inc. Wireless information systems and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103518191A (zh) * 2013-03-19 2014-01-15 华为技术有限公司 一种升级方法、智能终端及升级系统
CN103218239A (zh) * 2013-04-09 2013-07-24 沈阳美行科技有限公司 一种支持导航机地图版本增量更新版本的方法
CN104182252A (zh) * 2014-08-13 2014-12-03 墨仕(厦门)电子商务有限公司 一种app版本增量更新方法
CN105099772A (zh) * 2015-07-02 2015-11-25 许继集团有限公司 一种能效服务云终端的升级方法及系统

Also Published As

Publication number Publication date
CN105763369A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105763369B (zh) 一种终端设备远程软件版本分发方法及系统
CN101902494B (zh) 更新服务节点
US7263698B2 (en) Phased upgrade of a computing environment
US7853609B2 (en) Update distribution system architecture and method for distributing software
US7933869B2 (en) Method and system for cloning a tenant database in a multi-tenant system
US7917607B2 (en) Software management systems and methods, including use of such systems and methods in a provider-tenant environment
CN1882911B (zh) 网络中文件传输的方法
CN101699399B (zh) 一种软件更新的系统和方法
CN107844343B (zh) 一种复杂服务端应用系统的升级系统及方法
KR101676042B1 (ko) 클라이언트/서버 네트워크 환경에서 비 역호환 서버 버전을 분배하기 위한 방법 및 시스템
CN110413295B (zh) 一种嵌入式设备远程固件更新方法
US20080162509A1 (en) Methods for updating a tenant space in a mega-tenancy environment
US7171432B2 (en) Phased upgrade of a computing environment
US20030046682A1 (en) System and method for the automatic installation and configuration of an operating system
CN107547606A (zh) 数据处理方法、集群管理器、资源管理器、数据处理系统
EP1577776B1 (en) Method and apparatus for data synchronization in a distributed data base system
CN113220633B (zh) 统一文件编码管理方法及系统
JPH04347733A (ja) 計算機プログラム保守方式
CN111124450B (zh) 一种基于多层级分享中心和云平台的分布式管理方法和云平台
CN109189431A (zh) 一种客户端升级方法、装置、设备及可读存储介质
CN108616391A (zh) 服务器端进行设备固件升级的方法及系统
CN112988676B (zh) 一种设备机台生产程序管理方法、装置及系统
JP2002032254A (ja) 情報整合性管理システム
JPH11203363A (ja) データ管理システム
EP2093964A1 (en) Method for dynamic configuration of application components

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190814

Address after: 410100 No. three, No. 5, East Road, Changsha economic and Technological Development Zone, Hunan

Co-patentee after: Hunan Great Wall Science and Technology Information Co.,Ltd.

Patentee after: HUNAN GREATWALL INFORMATION FINANCIAL EQUIPMENT Co.,Ltd.

Address before: 410100 East Changsha Road, Changsha economic and Technological Development Zone, Hunan, China, No. 5, No. three

Co-patentee before: GREATWALL INFORMATION INDUSTRY Co.,Ltd.

Patentee before: HUNAN GREATWALL INFORMATION FINANCIAL EQUIPMENT Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 410100 No.5, east 3 Road, Changsha Economic and Technological Development Zone, Changsha City, Hunan Province

Patentee after: Great Wall Information Co.,Ltd.

Patentee after: Hunan Great Wall Science and Technology Information Co.,Ltd.

Address before: 410100 No.5, Dongsan Road, Changsha Economic and Technological Development Zone, Hunan Province

Patentee before: HUNAN GREATWALL INFORMATION FINANCIAL EQUIPMENT Co.,Ltd.

Patentee before: Hunan Great Wall Science and Technology Information Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20220812

Address after: 410100 No.5, east 3 Road, Changsha Economic and Technological Development Zone, Changsha City, Hunan Province

Patentee after: Great Wall Information Co.,Ltd.

Address before: 410100 No.5, east 3 Road, Changsha Economic and Technological Development Zone, Changsha City, Hunan Province

Patentee before: Great Wall Information Co.,Ltd.

Patentee before: Hunan Great Wall Science and Technology Information Co.,Ltd.

TR01 Transfer of patent right