CN112269588B - 算法的升级方法、装置、终端和计算机可读存储介质 - Google Patents
算法的升级方法、装置、终端和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112269588B CN112269588B CN202011522964.4A CN202011522964A CN112269588B CN 112269588 B CN112269588 B CN 112269588B CN 202011522964 A CN202011522964 A CN 202011522964A CN 112269588 B CN112269588 B CN 112269588B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- data object
- version
- upgrading
- edge
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008859 change Effects 0.000 claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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)
- Stored Programmes (AREA)
Abstract
本申请公开了一种算法的升级方法、装置、终端和计算机可读存储介质,算法的升级方法包括:获取边缘端发送的登录请求,登录请求包括边缘端当前的版本号和算法更新标志;在根据算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将目标数据对象发送至边缘端。解决了由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的技术问题,通过算法数据对象的转换,得到新的算法数据对象,并下发至边缘端,提高了升级的效率,保证了升级的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种算法的升级方法、装置、终端和计算机可读存储介质。
背景技术
为了程序更加灵活,适配更多的场景,边缘端将算法和执行程序分开,在云端配置算法,并动态下发到边缘端执行,实现了算法与程序的解耦。但这样的技术方案存在问题,由于边缘端程序是在不断迭代的,因此部署到各个地方的边缘端程序会有很多版本,但云端的版本往往是最新的,如果算法有结构性的变化,那旧版本的边缘端就无法在云端修改算法并下发了。目前只能在原有算法的基础上手动地修改,虽然能解燃眉之急,但却带来了大量的人力浪费,并且改出来的算法不一定正确,又加重了后面的校验工作。
另外,如果边缘端主动升级了程序,那么在用的旧的算法文件就无法被新的程序解析,从而导致边缘端升级后无法使用,需要先手动下发一次新的算法才能解决,边缘端不能无缝升级会给用户带来使用上的不便,更严重的是会导致生产事故。
发明内容
本申请实施例通过提供一种算法的升级方法、装置、终端和计算机可读存储介质,旨在解决由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的问题。
为实现上述目的,本申请一方面提供一种算法的升级方法,所述算法的升级方法包括以下步骤:
获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
将所述目标数据对象发送至所述边缘端。
可选地,所述将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象的步骤包括:
获取所述算法编译器由所述前一版本升级至所述当前版本所需要的版本数,以及每一版本对应的升级方式;
根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
可选地,所述根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象的步骤包括:
若所述版本数为一个,则获取所述前一版本升级至所述当前版本对应的第一升级方式,根据所述第一升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象;或者,
若所述版本数为多个,则获取多个版本分别对应的第二升级方式和第一版本号,根据所述第一版本号的排序和所述第二升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
可选地,所述将所述目标数据对象发送至所述边缘端的步骤包括:
基于所述目标数据对象进行配置文件的编辑,得到目标配置文件;
将所述目标配置文件发送至所述边缘端。
可选地,所述获取边缘端发送的登录请求的步骤之后,还包括:
根据所述算法更新标志确定所述待升级的算法是否发生所述算法结构变化;
若发生所述算法结构变化,则执行获取算法编译器前一版本对应的第一数据对象的步骤;或者,
若未发生所述算法结构变化,则无需进行算法的升级。
可选地,所述获取边缘端发送的登录请求的步骤之前,还包括:
获取第二版本号、所述算法编译器的版本号以及所述边缘端的版本号,其中,所述第二版本号为云端的版本号;
将所述第二版本号、所述算法编译器的版本号以及所述边缘端的版本号相关联,并建立表格。
可选地,所述将所述目标数据对象发送至所述边缘端的步骤之前,还包括:
检测所述边缘端当前的版本信息是否已添加至数据库中;
若未添加至所述数据库中,则将所述边缘端当前的版本信息自动添加至所述数据库中。
此外,为实现上述目的,本申请另一方面还提供一种算法的升级装置,所述装置包括:
获取模块,用于获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
判断模块,用于在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
转换模块,用于将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
发送模块,用于将所述目标数据对象发送至所述边缘端。
此外,为实现上述目的,本申请另一方面还提供一种终端,所述终端包括存储器、处理器及存储在存储器上并在处理器上运行的算法的升级程序,所述处理器执行所述算法的升级程序时实现如上所述算法的升级方法的步骤。
此外,为实现上述目的,本申请另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有算法的升级程序,所述算法的升级程序被处理器执行时实现如上所述算法的升级方法的步骤。
本实施例通过获取边缘端发送的登录请求,登录请求包括边缘端当前的版本号和算法更新标志;在根据算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将目标数据对象发送至边缘端。解决了由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的问题,通过算法数据对象的转换,得到新的算法数据对象,并下发至边缘端,提高了升级的效率,保证了升级的准确性。
附图说明
图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本申请算法的升级方法第一实施例的流程示意图;
图3为本申请算法的升级方法第二实施例的流程示意图;
图4为本申请算法的升级方法中获取边缘端发送的登录请求的步骤之后的流程示意图;
图5为本申请算法的升级方法中将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象的流程示意图;
图6为本申请算法的升级方法中根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象的流程示意图;
图7为本申请算法的升级方法将所述目标数据对象发送至所述边缘端的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将所述目标数据对象发送至所述边缘端。
由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性。本申请获取边缘端发送的登录请求,登录请求包括边缘端当前的版本号和算法更新标志;在根据算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将目标数据对象发送至边缘端。解决了由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的问题,通过算法数据对象的转换,得到新的算法数据对象,并下发至边缘端,提高了升级的效率,保证了升级的准确性。
如图1所示,图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块、检测器等等。当然,所述终端还可配置陀螺仪、气压计、湿度计、温度传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及算法的升级程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中算法的升级程序,并执行以下操作:
获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
将所述目标数据对象发送至所述边缘端。
参考图2,图2为本申请算法的升级方法第一实施例的流程示意图。
本申请实施例提供了算法的升级方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
算法的升级方法包括:
步骤S10,获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
边缘端在正常工作时,需要有边缘程序和算法配置文件,边缘程序相当于执行器,而配置文件则是执行器执行某些任务时的相关配置参数。当执行器升级后,也即边缘程序升级,则对应的配置文件也需要升级,同时配置文件是在云端配置的,因此云端需要根据执行器的版本来显示对应的用于编辑配置文件的页面,并生成相应版本的配置文件,然后下发给执行器,执行器拿到新的配置文件后,就能执行新的任务。若执行器自身完成升级,但其对应的配置文件是旧的,则需要将旧的配置文件升级为对应的版本才能正常运行,因此,当边缘端升级成功后,会请求云端登录。具体地,当边缘程序接收到用户发送的升级请求时,获取该升级请求对应的请求信息,如升级的版本号;进一步获取该版本号对应的升级程序包,基于升级程序包进行升级,在升级成功后,向云端发送登录请求;其中,登录请求包括边缘端当前的版本号和算法更新标志,边缘端的版本号包括1.0、1.3、1.7、1.8以及2.0等,算法更新标志用于判断当前待升级的算法是否发生结构性变化。在一实施例中,若当前边缘端成功地从版本1.0升级至版本1.7,则向云端发送登录请求时,登录请求会携带“边缘端当前的版本为1.7,算法更新标志为1”的信息。
进一步地,参考图4,所述获取边缘端发送的登录请求的步骤之后,还包括:
步骤S11,根据所述算法更新标志确定所述待升级的算法是否发生所述算法结构变化;
步骤S12,若发生所述算法结构变化,则执行获取算法编译器前一版本对应的第一数据对象的步骤;或者,
步骤S13,若未发生所述算法结构变化,则无需进行算法的升级。
云端在进行算法文件的升级前,需要先判断是否发生算法结构变化,若发生算法结构变化,则升级算法编译器版本,并为其匹配上相应的云端和边缘端的版本;若未发生算法结构变化,则无需升级算法编译器版本,也即无需进行算法文件的升级,其中,待升级的算法是指算法编译器当前版本对应的算法文件;算法结构变化是指算法对应的数据格式发生变化,本申请的算法对应的数据格式为json。在一实施例中,算法更新标志可以是用户预先设置的标志位,如当标志位为0时,表示当前的算法的数据格式为xml或者ini,即算法对应的数据格式发生变化;当标志位为1时,表示前的算法的数据格式为json,即算法对应的数据格式未发生变化;又或者以特殊符号表示算法更新标志,该特殊符号包括文字、数字、字母等。当云端获取到的算法更新标志对应的标志位为0时,则确定发生数据格式变化,需要进行算法文件的升级;当云端获取到的算法更新标志对应的标志位为1时,则确定当前的数据格式未发生变化,无需执行算法文件的升级。
可选地,当云端基于登录请求只获取到边缘端的版本号信息时,可以基于该版本号判断待升级的算法是否发生算法结构变化,在一实施例中,云端中以表格的形式存储有云端、边缘端以及算法编译器对应的版本号信息,以及记录有算法编译器每个版本升级时是否发生算法结构变化。因此,云端在获取到边缘端当前的版本号时,将该版本号与预先存储的边缘端版本号进行匹配,在获取到匹配的版本号时,进一步获取匹配的版本号对应的算法编译器的版本号,基于算法编译器的版本号确定待升级的算法是否发生算法结构变化。例如:当前边缘端升级后的版本为2.0,其对应的待升级的算法编译器的版本也为2.0,而算法编译器版本2.0涉及算法结构变化,则可以确定当前需要进行算法文件的升级。
步骤S20,在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
当云端基于算法更新标志确定待升级的算法发生算法结构变化时,需要获取算法编译器前一版本对应的第一数据对象,其中,第一数据对象是指算法编译器前一版本的算法文件json对应的算法数据对象,该算法数据对象包括虚拟栈中的引用对象、类静态属性引用对象、常量引用数据对象等等。在一实施例中,算法编译器每个版本对应的算法文件中记录有对应的算法数据对象,因此,当云端确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的算法文件json,基于该算法文件json获取数据对象。
步骤S30,将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
在进行算法升级时,需要将旧版本的算法编译器的数据对象与新版本的算法编译器的数据对象进行转换,也即,将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象。其中,第二数据对象是指算法编译器当前版本的算法文件json对应的算法数据对象;目标数据对象是指进行数据转换操作后得到的新的数据对象。进一步云端的算法编译器是采用模块化的设计,每一个算法编译器版本对应不同的算法升级方式,例如:目前算法编辑器的版本有:1.0、2.0、3.0、4.0,版本1.0升级采用升级方式A,版本2.0升级采用升级方式B等。因此,在进行算法升级操作时,还需要确定升级方式。参考图5,所述将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象的步骤包括:
步骤S31,获取所述算法编译器由所述前一版本升级至所述当前版本所需要的版本数,以及每一版本对应的升级方式;
步骤S32,根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
用户在进行边缘端升级的时,可跨多个版本进行升级,则其对应的算法编译器的升级也是跨版本进行升级,因此,云端在进行算法编译器升级时,还需要确定算法编译器前一版本升级至当前版本所需要的版本数,以及升级所跨越的每一版对应的升级方式,基于根版本数和每一版本对应的升级方式将第一数据对象与第二数据对象进行转换,得到新的数据对象。在一实施例中,算法编译器的旧版本为3.0,需要升级至版本4.0,则升级了一个版本,获取版本4.0所采用的升级方式,基于该升级方式进行数据转换。其中,每个版本对应的升级方式是用户设置并存储至云端的,在执行升级操作时会自动调用对应的升级方式。
进一步地,参考图6,所述根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象的步骤包括:
步骤S320,若所述版本数为一个,则获取所述前一版本升级至所述当前版本对应的第一升级方式,根据所述第一升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象;或者,
步骤S321,若所述版本数为多个,则获取多个版本分别对应的第二升级方式和第一版本号,根据所述第一版本号的排序和所述第二升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
若算法编译器升级所跨越的版本数为一个,则获取前一版本升级至当前版本对应的第一升级方式,根据第一升级方式将第一数据对象与第二数据对象进行转换,得到目标数据对象。例如:目前算法编辑器的版本有:1.0、2.0、3.0、4.0,若从版本1.0升级至版本2.0,则升级跨越的版本数为一个,获取版本2.0的升级方式B,基于该升级方式B进行算法数据对象的转换,得到新的数据对象,其中,版本2.0的升级方式B为第一升级方式。
若算法编译器升级所跨越的版本数为多个,则获取多个版本分别对应的第二升级方式和第一版本号,根据第一版本号的排序和第二升级方式将第一数据对象与第二数据对象进行转换,得到目标数据对象。例如:目前算法编辑器的版本有:1.0、2.0、3.0、4.0,若从版本1.0升级至版本4.0,则需要按照版本号的排序进行升级,即升级顺序为1.0-->2.0-->3.0-->4.0,并获取版本2.0、3.0和4.0分别对应的升级方式,即第二升级方式。具体地,算法编译器先将版本1.0的数据对象与版本2.0的数据对象进行转换,再进行版本2.0的数据对象与版本3.0的数据对象的转换,最后进行版本3.0与版本4.0的数据对象的转换,在所有数据对象转换成功后,得到新的数据对象。
步骤S40,将所述目标数据对象发送至所述边缘端。
云端在获取到目标数据对象时,即新的数据对象,需要基于新的数据对象进行配置文件的编译,参考图7,所述将所述目标数据对象发送至所述边缘端的步骤包括:
步骤S41,基于所述目标数据对象进行配置文件的编辑,得到目标配置文件;
步骤S42,将所述目标配置文件发送至所述边缘端。
云端在获取到转换后的新的数据对象后,在算法编译器的新页面编辑性的数据,也即进行配置文件的编辑,如在配置页面中,可进行添加设备、协议、设备属性、组态图、联控模式、联控参数等配置。在编辑数据的过程中,数据格式与页面要求的格式需要一一匹配,其中,前端页面上使用路由的方式,基于版本不同,其对应的页面内容也不同。还可以设置配置文件同步,例如:在配置文件同步页面中,编辑版本号、同步时间、同步者、当前状态、同步备注等信息,其中,同步者是指执行配置文件同步的用户;当前状态可分为已启用和已停用两种状态;同步备注是指更新的数据信息,如添加网关序列号,更新智控计划等。在编辑完成后,获取对应的配置文件,将该配置文件通过相同的链路返回给边缘端,从而完成边缘端本地的算法升级。
进一步地,云端在配置文件中还需要添加边缘端的版本关系,因此,在将所述目标数据对象发送至所述边缘端的步骤之前,还包括:
检测所述边缘端当前的版本信息是否已添加至数据库中;
若未添加至所述数据库中,则将所述边缘端当前的版本信息自动添加至所述数据库中。
云端程序的配置文件需要添加版本的关系,在执行算法升级程序时,该程序会先检验边缘端的版本信息是否已经维护进数据库,若没有,则自动添加到数据库中。同时在云端的管理后台设置有手动添加版本关系的页面,方便随时维护版本关系。
在本实施例中,通过获取边缘端发送的登录请求,登录请求包括边缘端当前的版本号和算法更新标志;在根据算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将目标数据对象发送至边缘端。通过算法数据对象的转换,得到新的算法数据对象,并下发至边缘端,解决了由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的问题,提高了升级的效率,保证了升级的准确性。
进一步地,参考图3,提出本申请算法的升级方法第二实施例。
所述算法的升级方法第二实施例与所述算法的升级方法第一实施例的区别在于,所述获取边缘端发送的登录请求的步骤之前,还包括:
步骤S14,获取第二版本号、所述算法编译器的版本号以及所述边缘端的版本号,其中,所述第二版本号为云端的版本号;
步骤S15,将所述第二版本号、所述算法编译器的版本号以及所述边缘端的版本号相关联,并建立表格。
边缘端每次与云端进行通信时,都会向云端上报当前的版本信息,如版本号,云端会将云端各版本的版本号、边缘端各版本的版本号以及算法编译器各版本的版本号进行相关联,即建立对应关系,并建立表格,参考表1:
表1
其中,表1中仅列举了部分版本,还包括其他的版本,在此不再一一列举。从表1中可以得知,算法涉及数据结构变化(即数据格式变化)的有两个版本,分别是1.1和2.0,若边缘端的版本为1.0,则云端打开1.0版的算法编辑器;若边缘端的版本为1.3、1.7、1.8,则云端打开1.1的算法编辑器;若边缘端的版本为2.0,则云端就打开2.0的算法编辑器。
本实施例基于云端、边缘端以及算法编译器分别对应的版本信息进行数据表格,并在表格中标记那些版本的算法编译器在升级时涉及算法的结构性变化,使得用户可以清楚明了地知道各版本的对应关系。
本申请还提出一种算法的升级装置,在一实施例中,所述算法的升级装置包括存储器、处理器及存储在存储器上并可在处理器上运行的算法的升级程序,算法的升级程序被处理器执行时实现以下步骤:
获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
将所述目标数据对象发送至所述边缘端。
在一实施例中,所述算法的升级装置包括获取模块,判断模块,转换模块和发送模块。
所述获取模块,用于获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志;
所述判断模块,用于在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;
所述转换模块,用于将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
所述发送模块,用于将所述目标数据对象发送至所述边缘端。
进一步地,所述转换模块包括获取单元和转换单元;
所述获取单元,用于获取所述算法编译器由所述前一版本升级至所述当前版本所需要的版本数,以及每一版本对应的升级方式;
所述转换单元,用于根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
进一步地,所述转换单元包括转换子单元;
所述转换子单元,用于若所述版本数为一个,则获取所述前一版本升级至所述当前版本对应的第一升级方式,根据所述第一升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象;或者,
所述转换子单元,还用于若所述版本数为多个,则获取多个版本分别对应的第二升级方式和第一版本号,根据所述第一版本号的排序和所述第二升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
进一步地,所述发送模块包括编辑单元和发送单元;
所述编辑单元,用于基于所述目标数据对象进行配置文件的编辑,得到目标配置文件;
所述发送单元,用于将所述目标配置文件发送至所述边缘端。
进一步地,所述获取模块包括判断单元;
所述判断单元,用于根据所述算法更新标志确定所述待升级的算法是否发生所述算法结构变化;
所述判断单元,还用于若发生所述算法结构变化,则执行获取算法编译器前一版本对应的第一数据对象的步骤;或者,
所述判断单元,还用于若未发生所述算法结构变化,则无需进行算法的升级。
进一步地,所述获取模块还包括获取单元和建立单元;
所述获取单元,用于获取第二版本号、所述算法编译器的版本号以及所述边缘端的版本号,其中,所述第二版本号为云端的版本号;
所述建立单元,用于将所述第二版本号、所述算法编译器的版本号以及所述边缘端的版本号相关联,并建立表格。
进一步地,所述发送模块还包括检测单元和添加单元;
所述检测单元,用于检测所述边缘端当前的版本信息是否已添加至数据库中;
所述添加单元,用于若未添加至所述数据库中,则将所述边缘端当前的版本信息自动添加至所述数据库中。
上述的算法的升级装置各个模块功能的实现与上述方法实施例中的过程相似,在此不再一一赘述。
此外,本申请还提供一种终端,所述终端包括存储器、处理器及存储在存储器上并在处理器上运行的算法的升级程序,所述终端通过获取边缘端发送的登录请求,登录请求包括边缘端当前的版本号和算法更新标志;在根据算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象;将第一数据对象与算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;将目标数据对象发送至边缘端。解决了由于现有的边缘端的算法的升级需要手动修改原有的算法,导致人力资源的浪费且不能保证升级的准确性的问题,通过算法数据对象的转换,得到新的算法数据对象,并下发至边缘端,提高了升级的效率,保证了升级的准确性。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有算法的升级程序,所述算法的升级程序被处理器执行时实现如上所述算法的升级方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种算法的升级方法,其特征在于,所述方法包括:
获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志,所述登录请求为所述边缘端的边缘程序升级成功后向云端发送的;
在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象,所述算法结构变化是指算法对应的数据格式发生变化;
将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
将所述目标数据对象发送至所述边缘端。
2.根据权利要求1所述的算法的升级方法,其特征在于,所述将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象的步骤包括:
获取所述算法编译器由所述前一版本升级至所述当前版本所需要的版本数,以及每一版本对应的升级方式;
根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
3.根据权利要求2所述的算法的升级方法,其特征在于,所述根据所述版本数和所述每一版本对应的升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象的步骤包括:
若所述版本数为一个,则获取所述前一版本升级至所述当前版本对应的第一升级方式,根据所述第一升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象;或者,
若所述版本数为多个,则获取多个版本分别对应的第二升级方式和第一版本号,根据所述第一版本号的排序和所述第二升级方式将所述第一数据对象与所述第二数据对象进行转换,得到所述目标数据对象。
4.根据权利要求1所述的算法的升级方法,其特征在于,所述将所述目标数据对象发送至所述边缘端的步骤包括:
基于所述目标数据对象进行配置文件的编辑,得到目标配置文件;
将所述目标配置文件发送至所述边缘端。
5.根据权利要求1所述的算法的升级方法,其特征在于,所述获取边缘端发送的登录请求的步骤之后,还包括:
根据所述算法更新标志确定所述待升级的算法是否发生所述算法结构变化;
若发生所述算法结构变化,则执行获取算法编译器前一版本对应的第一数据对象的步骤;或者,
若未发生所述算法结构变化,则无需进行算法的升级。
6.根据权利要求1所述的算法的升级方法,其特征在于,所述获取边缘端发送的登录请求的步骤之前,还包括:
获取第二版本号、所述算法编译器的版本号以及所述边缘端的版本号,其中,所述第二版本号为云端的版本号;
将所述第二版本号、所述算法编译器的版本号以及所述边缘端的版本号相关联,并建立表格。
7.根据权利要求1至6中任一项所述的算法的升级方法,其特征在于,所述将所述目标数据对象发送至所述边缘端的步骤之前,还包括:
检测所述边缘端当前的版本信息是否已添加至数据库中;
若未添加至所述数据库中,则将所述边缘端当前的版本信息自动添加至所述数据库中。
8.一种算法的升级装置,其特征在于,所述装置包括:
获取模块,用于获取边缘端发送的登录请求,所述登录请求包括所述边缘端当前的版本号和算法更新标志,所述登录请求为所述边缘端的边缘程序升级成功后向云端发送的;
判断模块,用于在根据所述算法更新标志确定待升级的算法发生算法结构变化时,获取算法编译器前一版本对应的第一数据对象,所述算法结构变化是指算法对应的数据格式发生变化;
转换模块,用于将所述第一数据对象与所述算法编译器当前版本的第二数据对象进行转换,得到目标数据对象;
发送模块,用于将所述目标数据对象发送至所述边缘端。
9.一种终端,其特征在于,所述终端包括存储器、处理器及存储在存储器上并在所述处理器上运行的算法的升级程序,所述处理器执行所述算法的升级程序时实现如权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有算法的升级程序,所述算法的升级程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011522964.4A CN112269588B (zh) | 2020-12-22 | 2020-12-22 | 算法的升级方法、装置、终端和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011522964.4A CN112269588B (zh) | 2020-12-22 | 2020-12-22 | 算法的升级方法、装置、终端和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269588A CN112269588A (zh) | 2021-01-26 |
CN112269588B true CN112269588B (zh) | 2021-04-13 |
Family
ID=74350124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011522964.4A Active CN112269588B (zh) | 2020-12-22 | 2020-12-22 | 算法的升级方法、装置、终端和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269588B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342382B (zh) * | 2021-06-30 | 2024-04-09 | 北京京东乾石科技有限公司 | 数据的校验方法、系统和边缘端设备 |
CN115277411A (zh) * | 2022-06-23 | 2022-11-01 | 中国银行股份有限公司 | 一种边缘盒子的升级方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161287A (zh) * | 2011-12-21 | 2016-11-23 | 瞻博网络公司 | 用于分布式光纤信道控制面的方法和装置 |
CN109005538A (zh) * | 2018-07-27 | 2018-12-14 | 安徽大学 | 面向无人驾驶车辆与多移动边缘计算服务器间的消息认证方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9536192B2 (en) * | 2014-06-23 | 2017-01-03 | International Business Machines Corporation | Solving vehicle routing problems using evolutionary computing techniques |
CN110750291B (zh) * | 2019-10-30 | 2023-06-23 | 苏州科达科技股份有限公司 | 边缘设备算法更新方法、系统、设备及存储介质 |
CN111611085B (zh) * | 2020-05-28 | 2023-09-22 | 中国科学院自动化研究所 | 基于云边协同的人机混合增强智能系统、方法、装置 |
-
2020
- 2020-12-22 CN CN202011522964.4A patent/CN112269588B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161287A (zh) * | 2011-12-21 | 2016-11-23 | 瞻博网络公司 | 用于分布式光纤信道控制面的方法和装置 |
CN109005538A (zh) * | 2018-07-27 | 2018-12-14 | 安徽大学 | 面向无人驾驶车辆与多移动边缘计算服务器间的消息认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112269588A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108074177B (zh) | 数据对账方法、系统和计算机可读存储介质 | |
KR102317535B1 (ko) | 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템 | |
CN109582588B (zh) | 测试用例生成方法、装置及电子设备 | |
CN107168726B (zh) | 一种动态配置应用程序的方法和装置 | |
CN110955416A (zh) | 接口文档生成方法、装置、设备和计算机存储介质 | |
JP2017084334A (ja) | 仮想マシンイメージファイルを抽出する方法および装置 | |
CN112269588B (zh) | 算法的升级方法、装置、终端和计算机可读存储介质 | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
CN114385759B (zh) | 配置文件的同步方法、装置、计算机设备及存储介质 | |
CN110868763B (zh) | 建立蓝牙连接的方法、装置及系统 | |
CN106713042B (zh) | 一种确定网络拓扑方法及装置 | |
CN106484452B (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN112749219A (zh) | 数据抽取方法、装置、电子设备、存储介质及程序产品 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN111104108A (zh) | 一种显示界面wpf的生成方法及装置 | |
CN107092502B (zh) | 一种基于云操作系统的应用自动配置方法和装置 | |
CN109408376B (zh) | 一种配置数据的生成方法、装置、设备及存储介质 | |
JP2013025814A (ja) | バーチャルマシンの管理システム及び管理方法 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
WO2020000657A1 (zh) | 运维监控连接的建立方法、装置、终端设备及介质 | |
WO2023151397A1 (zh) | 应用程序部署方法、装置、设备及介质 | |
CN111324470A (zh) | 用于生成信息的方法及装置 | |
CN106708362A (zh) | 一种基于应用程序图标的界面切换方法及装置 | |
CN113641419A (zh) | 一种文件加载方法和计算机可读存储介质 | |
JP5846853B2 (ja) | 支援システム、支援方法、及び支援プログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No. 118, Building C1, No.1 Qingsheng Avenue, Nansha District, Guangzhou City, Guangdong Province, 511455 Patentee after: Guangdong Mushroom IoT Technology Co.,Ltd. Country or region after: Zhong Guo Address before: 518110 block 1505, building 9, Baoneng Science Park, Qinghu village, Qinghu community, Longhua street, Longhua District, Shenzhen City, Guangdong Province Patentee before: MOGULINKER TECHNOLOGY (SHENZHEN) CO.,LTD. Country or region before: Zhong Guo |