具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
请参阅图1至图11,图中所示者为本发明所选用的实施例结构,此仅供说明之用,在专利申请上并不受此种结构的限制。
实施例一
如图1所示,一种充电站设备远程升级方法,升级方法如下:升级包管理模块根据待升级充电站设备对应的集控信息、CCU信息、PDU信息和交流模块信息,读取相应的升级包传输到升级管理模块,升级管理模块与充电站设备中的集控器建立数据通信连接将升级包传输到集控器,集控器将升级包传输到待升级充电站设备进行升级。
本发明还提供一种充电站设备远程升级系统,包括升级包管理模块、设备管理模块和升级管理模块,升级包管理模块用于存储充电站设备的所有历史升级包以及版本库,升级包管理模块还用于面向开发人员,且用于充电站设备的升级包上传、beta版本部分升级测试推送、升级包捆绑上传和升级依赖管理;设备管理模块用于获取并储存集控信息、CCU信息、PDU信息和充电模块信息;升级管理模块用于面向运维人员且对充电站设备进行远程升级;升级包管理模块、设备管理模块和升级管理模块之间通过GRPC服务互相通信实现充电站设备远程升级。
升级包上传包括单一升级包上传以及捆绑升级包上传,流程如下:
打开上传窗口,选择是否捆绑上传,若选择是,则上传升级包一,填写升级包一的信息,再上传升级包二,填写升级包二的信息,保存,上传结束;
若选择否,则上传升级包,填写升级包的信息,保存,上传结束。
升级包上传时需要填写升级包信息,需要输入的升级包信息包括升级包名称、升级包文件、升级版本号、适配的设备类型、升级的重要性类别、是否是beta版本升级、指定推送的集控列表、版本的依赖关系、本次升级内容的详细说明和升级包的md5校验码。
适配的设备类型包括集控软件、CCU、PDU、集控文件系统、集控内核和交流模块。
升级的重要性类别包括常规升级、重要升级和紧急升级。
升级包管理的主页面为升级包展示页面,升级包展示页面展示了所有设备类型的升级包信息,升级包信息中部分信息用列表直接展示,列表直接展示的信息包括软件包名称、状态、是否为捆绑升级、设备类型、版本、重要性、是否为Beta版本、升级包大小、修改人、上传时间和修改时间。
升级包信息中部分信息通过列表无法直观展示,该部分信息包括捆绑升级包列表、版本适配关系、MD5校验码和推送设备列表,升级包信息中可编辑的信息包括升级包名称、升级信息、重要性和推送列表。
集控信息包括集控器地址、当前集控器版本、是否是单桩集控器和子CCU和子交流模块信息;CCU信息包括sn编号、can编号、当前CCU版本、是否是标准设备和子PDU模块信息。
PDU信息包括sn编号、can编号、当前PDU版本和是否是标准设备;交流模块信息包括sn编号、can编号、当前交流模块版本和是否是标准设备。
实施例二
实施例二为实施例一的进一步优化。
本发明的充电站设备远程升级方法及系统的用户分为两个级别,运维人员(包含普通运维人员、运维经理、总部运维)和开发人员(包括开发测试)。运维人员负责集控与具体充电设备的升级工作,开发人员负责升级版本的测试与发布。
用户请求通过云平台的SG转发至升级系统网关服务,再由接口网关调用具体的系统服务。
集控器与云平台中的通信服务建立TCP链接,进行升级过程中的数据通信,数据通信包含上行和下行数据通讯(集控至充电站设备远程升级方法及系统->上行;充电站设备远程升级方法及系统至集控->下行),充电站设备远程升级方法及系统内部,上行消息通过GRPC服务进行传递,下行指令通过RabbitMQ队列进行发送。
充电站设备远程升级方法及系统与云平台直接通过SG接口,实现版本库的维护任务以及升级系统运营过程中的业务消息传递(如工作组通知等服务)。
本发明的充电站设备远程升级方法及系统包括升级包管理模块、设备管理模块、升级管理模块和运维管理模块。
一、升级包管理
升级包管理面向开发人员,用户发布升级包的正式版本和beta版本,包含了各个设备的所有历史升级包以及版本库管理。主要功能包括:各个设备类型的升级包上传、beta版本部分升级测试推送、升级包捆绑上传(捆绑升级)、升级依赖管理等功能。
版本与升级包一一对应,升级包必须对应一个升级版本,但升级版本可以没有升级包(系统初始化时获取到的所有设备版本信息均没有对应的升级包)。升级包可删除,升级版本不可删除。
升级包上传分为单一升级包上传以及捆绑升级包上传。
单一升级包上传即升级包单个上传,上传成功后单独匹配需要升级的设备,与其他升级包直接没有直接依赖关系;捆绑升级包上传指特定升级的设备之间存在依赖,比如PDU升级的前提是CCU得到相应版本的升级,否则会造成不可用,这种情况即可选择升级包捆绑上传,捆绑的升级包需要同时下发升级。
捆绑上传的升级包不可以单一推送至设备升级。选择捆绑升级包上传时需填写捆绑信息,然后逐个上传升级包并填写升级包信息;单一升级包上传上传时直接填写升级包信息即可。单一上传与捆绑上传的流程如图2所示。
选择捆绑上传时需同时提供多个升级包,并提供以上升级包的详细信息。单一升级包上传表单如图3所示。
选中“捆绑上传”复选框后,上传表单将显示添加升级包按钮,点击后表单将延展出另一个升级包表单,支持多个升级包捆绑。捆绑上传表单如图4所示。
升级包上传完成默认均为禁用状态,升级完成后经确认无误,将状态修改为激活。
捆绑包升级完成后将其中一个设置为激活状态,则捆绑的所有升级包均激活。
MD5校验码由外部提供,上传成功后做校验存档。
版本号不重复,适配版本列表由设备类型过滤。
升级包展示页面为升级包管理的主页面,展示了所有设备类型的升级包信息,列表中直接展示的信息包括:软件包名称、状态、是否为捆绑升级、设备类型(包类型)、版本、重要性、是否为Beta版本、升级包大小、修改人、上传时间、修改时间。升级包展示列表如图5所示。
升级包列表中包含了部分升级包信息,有部分通过列表无法直观展示的信息通过“详细信息”按钮查看,这些信息包括:捆绑升级包列表、版本适配关系、MD5校验码、推送设备列表等。
详细信息窗口与上传表单类似,默认状态小所有表单项均不可编辑,可提供编辑按钮开启编辑模式。可编辑的字段包括:升级包名称、升级信息、重要性和推送列表。升级包详细信息查看与编辑窗口如图6所示。
激活状态下的升级包无法修改升级包信息,只有禁用状态下才可以修改。
如果升级包已经推送过升级,修改后原先升级过的设备无需再次升级,如果增加了适配版本或推送设备,新增适配的设备推送升级,原先的设备不推送升级。
页面提供升级包过滤的功能,过滤条件包括:按照设备类型过滤、按照升级包名称过滤、按照重要性过滤、按照版本号过滤、按照是否为Beta版本过滤。
升级包管理页面提供设备版本库查看的功能。版本库中涵盖了所有版本信息,包括在运行设备的所有版本信息。部分版本无对应升级包(初始版本、升级包删除版本)。版本库中有所有版本之间的依赖关系信息。
页面提供版本库过滤的功能,过滤条件包括:版本号过滤、是否为Beta版本过滤、是否有对应升级包过滤、版本适配依赖过滤、按照重要性过滤、按照设备类型过滤。
二、设备管理
集控设备模型信息由集控主动上报,升级系统存档。集控初次升级支持远程升级后立即上报当前集控的设备模型,后续模型发生变动后主动更新至远程升级系统。
集控上报模型的具体方式需在嵌入式设备远程升级协议中规定。集控按照树形结构上报模型数据结构如图7所示。
三、运维管理
运维管理是指系统对运维人员进行管理,包含新集控自动从平台获取运维负责人、运维级别设置、运维人员变动设置等功能。主要针对运维权限以及运维负责人信息进行统一维护。运维管理的功能组成如所图8所示。
升级系统维护运维人员信息的目的在于解决运维人员变化频繁,依赖平台现有机制无法实现即时更新,导致部分升级无法推送至指定人员的问题。
当前设计场景下不提供维护运维人员信息的功能,仅从平台获取并定期更新。
目前全国所有运维人员(包括运维负责人、运维经理、总部运维负责人)的信息,将通过SG接口从平台接入,在升级系统内部存档,每天更新。发生人员变动后相关运维经理需及时督促在特来电平台变更运维负责人信息。若集控无所属运维负责人,则将升级消息推送至相关运维经理。
四、升级管理
升级管理是整个远程升级系统的核心业务,升级管理指升级包、升级设备等基础数据具备之后,生成升级任务、执行升级操作已经查询升级历史等。升级管理的主要功能组成如图9所示。
运维负责人需按照所负责集控设备的实际情况,设置各集控以及设备的升级策略。每个集控需设置两个层面的升级策略:集控层面、集控下属设备(CCU、PDU等)层面。
远程升级系统初始化后,各子公司运维负责人需登录远程升级系统,初始设置所负责集控器的升级策略,后续设备管理服务发现新的集控后将新集控主动推送至运维负责人,运维负责人收到推送消息后登录升级系统对新增集控的升级策略进行设置。
升级策略主要包括:自动升级、半自动升级、手动升级、不升级。自动升级与半自动升级需设置对应的自动升级时间,即在此特定时间内,集控器处于空闲状态下执行自动升级。
集控器与设备的升级方式具体介绍如下:
自动升级:在设置的特定升级时间区间内,若设备处于空闲状态,执行自动升级,将升级结果推送至相关运维负责人。
半自动升级:新的升级包匹配成功后,发送确认升级通知给相关运维负责人,运维负责人确定该设备可以进行升级,回复确认信息后,设备在设置的特定时间区域内,若设备处于空闲状态,执行自动升级,将升级结果推送至相关运维负责人。
手动升级:新的升级包匹配成功后,发送升级通知个相关运维负责人,相关运维负责人根据场站的实际情况决定何时升级,需登录升级系统页面,选择具体设备在页面点击立即升级来执行升级任务。若设备处于非空闲状态,升级操作不予执行(具体是否能够执行升级指令由集控自身决定)。该升级策略一般应用于充电量大、可靠性需求高的公交场站等。
不升级:不升级只该设备不匹配任何升级包,忽略所有升级。该升级策略一般用于老旧或不支持升级的设备以及涉及商业条款的设备。
升级匹配只升级包上传成功后按照匹配规则与具体设备进行匹配,匹配成功后的设备运维负责人将收到系统下发的升级通知。
升级匹配涉及到的匹配项如下:升级包状态(是否禁用)、升级包是否为捆绑状态、升级包类别(具体是哪个设备的升级包)、升级包能够适配的版本等。
若三个升级包是捆绑状态的情况,三个升级包需要同时下发至集控,若有一个设备不满足升级条件,则该三个升级包均不下发升级。如捆绑的三个升级包分别为:集控升级包、CCU升级包、PDU升级包。若果某个箱变内部,集控配匹配成功、PDU匹配成功、CCU匹配失败,则三个设备均不下发升级(这种情况是否考虑生成相关报告,将不能升级的设备以及不能升级的原因整理出来,供开发人员或运维人员参考),如果某个版本已经是最新版本(与捆绑的升级包相同的版本),其他升级包均匹配成功,则认为三个均匹配成功,下发时只下发两个升级包即可。捆绑升级包之间的升级顺序由集控器决定。捆绑升级情景如图10所示。升级匹配的流程如图11所示。
升级包与设备匹配成功且满足升级策略后,升级系统将匹配的升级包下发至集控器,集控器按照升级策略,在特定条件下执行升级操作。
升级操作包括:自动升级、半自动升级、手动升级。
自动升级只按照升级策略,在策略时间区间内自动执行升级。升级过程处于静默状态,无需运维负责人干预。
自动升级的主要流程如下:
1.在远程设备管理页面中中设置集控的升级方式为自动升级,并预设自动升级时间段;
2.上传升级包,设置状态为激活;
3.自动升级状态下的集控在预设时间段内寻找集控空闲时间执行静默升级操作;
4.升级结果通过APP或钉钉的方式推送至运维人员;
5.如果升级失败,并且集控扔保持通信状态,运维人员可登陆升级管理界面,对集控选择特定软件版本执行回退操作;
6.如果升级后发生离网,将派发运维工单,运维人员至现场排查解决问题。
升级通知下发指升级包与设备匹配成功后,将升级消息或升级确认推送至相关运维负责人。推送方式包括钉钉推送以及App推送。
推送格式设计如下:
自动升级:
升级前:张三,您好,您负责的集控器设备34012100717,将在XXXX年XX月XX日XX:XX~XX:XX内自动升级集控器软件(CCU、01PDU、交流模块),升级版本3.1,当前版本3.0,请您随时保持关注!
升级成功:张三,您好,您负责的集控器设备34012100717关于集控器软件的升级任务,于XXXX年XX月XX日XX:XX升级成功,当前版本3.1。
升级失败:张三,您好,您负责的集控器设备34012100717关于集控器软件的升级任务,升级失败,失败原因XXXX,已回滚至版本3.0,您及时处理!
半自送升级:
升级前:张三,您好,您负责的集控器设备34012100717有合适的“集控器软件升级包”,是否执行升级?
确认升级:您所负责的集控器设备34012100717关于集控器软件的升级任务,将在XXXX年XX月XX日XX:XX~XX:XX内自动执行,升级版本3.1,当前版本3.0,请您随时保持关注!
确认不升级:忽略此次升级。
手动升级:
升级前:张三,您好,您负责的集控器设备34012100717有合适的“集控器软件升级包”,升级版本3.1,当前版本3.0,当前升级策略为手动升级,请至升级系统页面执行升级操作。
升级后:张三,您好,您负责的集控器设备34012100717关于集控器软件的升级任务,于XXXX年XX月XX日XX:XX升级成功,当前版本3.1。
不升级:无任何推送。
半自动升级是指新版本升级包发布,运维人员收到升级通知后,运维人员选择是否执行此次升级,按照运维人员的选择结果来执行升级操作。
半自动升级的主要流程如下:
1.在远程设备管理页面中设置集控的升级方式为半自动升级,并预设半自动升级时间段;
2.上传升级包,设置状态为激活;
3.运维人员将会收到所负责的半自动升级设备的升级询问通知;
4.运维人员在APP中选择对设备进行升级;
5.系统按照既定升级时间段,对设备进行升级操作;
6.运维人员在APP中选择暂不升级;
7.系统暂停执行既定升级策略,过一段时间后再次向运维人员推送升级通知;
8.运维人员在APP中选择忽略此版本,此时需要填写忽略原因;
9.升级结果通过APP或钉钉的方式推送至运维人员;
10.如果升级失败,并且集控扔保持通信状态,运维人员可登陆升级管理界面,对集控选择特定软件版本执行回退操作;
11.如果升级后发生离网,将派发运维工单,运维人员至现场排查解决问题。
手动升级是指在新版本升级包发布后,运维人员收到升级通知后,登录远程升级管理页面,选择设备,在合适的实际手动点击立即升级来执行升级操作。此升级方式一般的适用场景为对出售的场站进行升级,涉及到商业条款,需要由运维人员决定是否对此站进行升级。
过程如下:
1.在远程设备管理页面中中设置集控的升级方式为手动升级;
2.上传升级包,设置状态为激活;
3.运维人员将会收到所负责的手动升级设备的升级通知;
4.运维人员根据场站实际情况,做出是否升级的判断
5.如若升级,则登录远程升级管理页面,选择需要升级的设备,判断没有车辆正在充电后,点击立即升级按钮;
6.选择需要升级到的软件版本(从当前版本之后的版本列表中选择);
7.点击升级,系统展示当前手动升级的进度条;
8.升级结果通过APP或钉钉的方式推送至运维人员;
9.如果升级失败,并且集控扔保持通信状态,运维人员可在升级管理界面,对集控选择特定软件版本执行回退操作;
10.如果升级后发生离网,将派发运维工单,运维人员至现场排查解决问题;
11.执行立即升级操作时,如若集控判断当前有存在车辆在进行充电等特殊情况时,将拒绝执行立即升级操作。
运维负责人在配置升级策略的过程中,若需配置集控器或设备的升级策略为不升级,则该操作需报总部运维审核通过方可执行。不升级状态下的集控将无法得到及时更新,相关缺陷无法得到修复,需特别注意。
运维人员设计升级策略为不升级后,系统将配置信息上报至总部运维,总部运维级别的所有人员均可审批。审批通过后改升级策略将生效。
升级包上传并且进行自动匹配操作后,所有的升级任务将一次性生成并存档,生成升级任务后该升级包将不在参与升级(除回滚操作外)。
运维负责人可在远程升级系统页面查看自己所负责集控和设备的所有待升级任务、子公司运维经理可查看子公司所负责集控和设备的所有待升级任务、总部运维可查看全国集控和设备的所有待升级任务。
升级任务不可删除,总部运维可撤销某升级包的所有升级任务。
升级任务执行后无论成功与否,将以升级历史的形式存档。
升级历史展示功能可以查看已经执行完成的升级任务(包括集控或PDU/CCU的自动、半自动、手动升级的所有任务)。如果选择某个具体的集控,则展示该集控的所有升级任务;如果不选,则展示当前登录用户权限内的所有集控或PDU/CCU的升级任务。
升级历史包含的字段信息有:任务编号、升级包版本、升级方式、升级级别、升级结果、升级时间等信息。
同时提供将升级历史导出为excel供运维人员分析的功能。
以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。
由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。