CN116489210B - 一种远程配置、应用下发的方法、装置和计算机设备 - Google Patents

一种远程配置、应用下发的方法、装置和计算机设备 Download PDF

Info

Publication number
CN116489210B
CN116489210B CN202310737000.9A CN202310737000A CN116489210B CN 116489210 B CN116489210 B CN 116489210B CN 202310737000 A CN202310737000 A CN 202310737000A CN 116489210 B CN116489210 B CN 116489210B
Authority
CN
China
Prior art keywords
file
program
service
client
servo
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
CN202310737000.9A
Other languages
English (en)
Other versions
CN116489210A (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.)
Shenzhen Shuanghe Electric Co ltd
Original Assignee
Shenzhen Shuanghe Electric 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 Shenzhen Shuanghe Electric Co ltd filed Critical Shenzhen Shuanghe Electric Co ltd
Priority to CN202310737000.9A priority Critical patent/CN116489210B/zh
Publication of CN116489210A publication Critical patent/CN116489210A/zh
Application granted granted Critical
Publication of CN116489210B publication Critical patent/CN116489210B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开一种远程配置、应用下发的方法、装置和计算机设备,其方法包括:在现场装置上预先设置一个伺服服务程序,在服务器上预先设置一个客户端;所述客户端根据操作人员的操作形成服务请求提交给现场装置的伺服服务程序,所述伺服服务程序用于接收客户端发送的服务请求,解析并做出相应的动作。本申请根据上述方案,采用预先设置的伺服服务程序,可提高维护效率,维护人员可在计算机机房对远程的装置进行维护,不需要奔波各处。另外,还可降低维护人员技能要求,维护人员只需点几下鼠标就可完成相关维护,不需要掌握相关系统操作命令。

Description

一种远程配置、应用下发的方法、装置和计算机设备
技术领域
本发明涉及工业领域中运行装置的远程升级维护技术领域,具体是一种远程配置、应用下发的方法、装置和计算机设备。
背景技术
现场运行的装置,需要更改配置或者升级应用程序时,通常的维护方法是使用ftp及telnet服务登录到装置进行操作。但出于整个系统的安全考虑,ftp及telnet服务是不允许开放到接入网络的网口上的。所以维护人员需要到运行装置的现场,通过接入装置的管理口进行维护。因此,采用ftp及telnet对现场运行的装置进行远程升级,具有如下缺点:1、效率低下:现场运行的装置,在地理位置的分布通常比较广,在同时维护多台装置时,涉及不同的地点,维护人员路上奔波的时间要远多于有效工作时间。2、对维护人员技能要求高:ftp及telnet服务的操作通常涉及很多相关系统操作命令,需要维护人员掌握相关技能。
发明内容
在下文中给出了关于本发明实施例的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,以下概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
根据本申请的一个方面,提供一种远程配置、应用下发的方法,包括:
在现场装置上预先设置一个伺服服务程序,在服务器上预先设置一个客户端;所述伺服服务程序用于接收客户端发送的服务请求,解析并做出相应的动作;其中,所述服务请求包括更新目录、更新列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件以及重启装置中的一项或者多项;对应的,所述客户端能够根据操作人员的操作形成服务请求提交给现场装置的伺服服务程序;
所述伺服服务程序实时监听网络连接请求,并对发送连接请求的客户端进行身份验证,如果验证通过,则与客户端进行通讯交互(接收客户端的服务请求并执行相应的服务操作);
所述伺服服务程序接收客户端发送的升级请求,对配置文件进行更新,并根据更新后的配置文件读取相应的升级信息;所述伺服服务程序根据配置文件的升级信息对程序文件或者程序包进行升级。
其中,所述伺服服务程序在接收客户端发送的连接请求之前,还与客户端设置了开放的端口号和IP地址,用于监听指定TCP端口的通讯请求。
进一步的,所述伺服服务程序对发送连接请求的客户端进行身份验证,具体是通过校验连接请求中所携带的连接密码来判断连接是否合法。
进一步的,所述伺服服务程序与客户端进行通讯交互,是预先对应设置了服务码与服务请求对应关系,客户端通过发送特定的服务码进行申请特定的服务,所述伺服服务程序识别出服务码后,进行相应的操作。
进一步的,所述伺服服务程序实时监听网络连接请求,并对发送连接请求的客户端进行身份验证,具体是:接收客户端的连接请求,通过预先设置的加密密钥对连接请求中的密码进行解密,将解密后的结果和预置的连接密码进行比较来进行身份验证。因此,这需要合法的客户端同时知道装置预置的加密密钥和连接密码。
进一步的,所述伺服服务程序与客户端进行通讯交互,还包括:伺服服务程序在连接长时间没有新的服务申请时,则周期性的发出心跳包,以保持连接的有效性。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送更新目录服务请求,则执行如下步骤:
11)读取网络数据,并解析出数据中的目录参数;
12)将得到的目录参数更新到程序内部的变量保存起来,待其它服务申请使用;
13)完成后则继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送更新列目录服务请求,则执行以下步骤:
21)读取网络数据,并解析出数据中的目录参数;
22)检索查找目录参数所指向的目录下的所有文件及其子目录;
23)将查找到的文件及子目录信息,包括名称、字节大小等信息发送给客户端;
24)完成后则继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送更新配置文件服务请求,则执行以下步骤:
31)读取网络数据,并解析出数据中的配置文件名及其文件数据;
32)根据文件名在临时目录创建新文件;
33)将网络上得到的文件数据写入临时新文件中;
34)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
35)将文件接收进度反馈给客户端;
36)如果文件没有接收完,则返回步骤33)开始重复直到文件接收完毕;
37)文件接收完后进行更新审核,审核不通过则删除临时目录下的文件,审核通过则更新完成,并继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送更新程序文件服务请求,则执行以下步骤:
41)读取网络数据,并解析出数据中的程序文件名及其文件数据;
42)根据文件名在临时目录创建新文件;
43)将网络上得到的文件数据写入临时新文件中;
44)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
45)将文件接收进度反馈给客户端;
46)文件没有接收完,从步骤43)开始重复直到文件接收完毕;
47)文件接收完后进行更新审核。其审核过程是通过多角度对更新的程序文件进行审核,具体过程如下:
a、建立管道。
b、通过管道执行系统命令cksum,服务程序通过管道获得cksum命令的执行结果,通过解析结果获得更新目标文件和临时文件的校验码。新旧文件的校验码发给操作员,操作员通过校验码可以审查文件是否真正更新,新文件是否错误。
c、通过管道执行系统命令”strings xxxx |grep main-version”,命令中的xxxx为程序文件名。服务程序通过管道获得命令的执行结果。如果开发人员严格按规定在程序中放入包含“main-version”字符串,并且其中还填入了程序的版本信息。则通过此操作获得新旧程序的版本号发送给操作员,操作员通过版本信息字符串判断是否升级了正确的版本。当然如果程序文件中没有对应的字符串,则不能获取版本审核信息。
d、通过普通方式执行系统命令“nm xxxx >>xxxx.txt”,命令中的xxxx为程序文件名。将新旧两个程序文件的函数名,包括它们调用到的函数名输出到临时的文本文件中。再通过管道执行系统命令“comm -3 xxxx.txt xxxx.txt” ,命令中的前后两个xxxx.txt分别为上条命令得到的新旧程序文件的函数信息输出文件。这个命令可以获得新文件删除或添加的函数名。这些审核信息发送给操作员,操作员也可依此判断程序文件是否正确更新。
48)上一步通过多角度对更新的程序文件进行审核,审核的信息发送给客户端,操作员审查审核信息,判断程序文件是否正确更新;
49)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时文件拷贝到更新目录下的同名文件;
410)调用系统命令将更新目标文件的属性修改为可执行;
411)如果审核信息有误,操作员选择不通过,伺服服务则跳过第49、410步,进入下一步;
412)删除临时目录下的文件;
413)整个更新过程完成,则继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送更新程序包服务请求,则执行以下步骤:
51)读取网络数据,并解析出数据中的程序包名及其数据;
52)根据文件名在临时目录创建新文件;
53)将网络上得到的数据写入临时新文件中;
54)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
55)将文件接收进度反馈给客户端;
56)文件没有接收完,从步骤53)开始重复直到文件接收完毕;
57)文件接收完,执行系统命令解压压缩包;
58)压缩包解压完成后进行更新审核;审核过程:
a、建立管道。
b、通过管道执行系统命令cksum,对临时目录及其子目录下所有文件,以及这些文件在更新目录及其子目录下的同名文件执行cksum命令,服务程序通过管道获得cksum命令的执行结果,通过cksum命令得到临时目录下的每个文件及其对应更新目录同名文件的文件大小及校验码。文件大小、校验码不一致的文件列入更新文件列表。更新文件列表发给操作员,操作员审查更新文件列表是否正确。
c、对更新文件列表中的每一个文件进行审核,如果文件名后缀为.ini、.conf,则将该文件视作配置文件,审核过程按照“更新配置文件处理流程”中的过程进行审核。
d、更新文件列表中的其它文件则按“更新程序文件处理流程”中的过程进行审核。
59)上一步对更新文件列表中的所有文件进行审核,审核的信息发送给客户端,操作员审查审核信息,判断程序包是否正确更新。
510)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时目录及其子目录所有文件拷贝到更新目录下。
511)如果审核信息有误,操作员选择不通过,伺服服务则跳过第510)步,进入下一步。
512)删除临时目录下所有文件及其子目录。
513)整个更新过程完成,则继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送下载文件服务请求,则执行以下步骤:
61)读取网络数据,并解析出数据中的文件路径。
62)根据文件路径,在装置上打开对应的文件。
63)读取装置本地文件数据,并将它发送给客户端。
64)整个文件数据发送完成后,则继续监听是否有服务申请发送过来。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送重启装置服务请求,则执行以下步骤:
71)调用系统命令重启系统;
72)结束。
进一步的,所述伺服服务程序与客户端进行通讯交互,当客户端发送网络中断重连服务请求,则执行以下步骤:
81)客户端重新连接成功后,发起断点续传请求,同时发过来续传的服务码和文件名;
82)服务程序解析续传的服务码和文件名,比较本地记录的最近一次服务的服务码和文件名是否一致;
83)如果不一致,则向客户端发送拒绝服务应答,然后监听新的服务请求;
84)如果一致,则记录的已接收的数据大小发给客户端;客户端应据此跳到文件相应的位置开始续传;
85)打开本地临时目录对应的文件,跳转到文件尾;
86)进入对应服务正常处理流程。
根据本申请的另一方面,提供一种远程配置、应用下发的装置,其包括:
服务器,所述服务器上设有客户端,所述客户端根据操作人员的操作形成服务请求提交给现场装置的伺服服务程序,所述服务请求包括更新目录、更新列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件以及重启装置中的一项或者多项;
现场运行装置,所述现场运行装置上设有伺服服务程序,接收客户端发送的连接请求;所述伺服服务程序用于接收客户端发送的服务请求,解析并做出相应的动作。
进一步的,所述客户端客户端具备人机接口界面,接受操作员的操作,以图表方式显示伺服服务返回的信息。
进一步的,所述客户端可以设置IP连接特定的装置,且客户端连接装置时自动携带连接密码。
根据本申请的再一方面,还提供一种远程配置、应用下发的计算机设备,该计算机设备应用上述远程配置、应用下发的方法或者包含上述远程配置、应用下发的装置。
本申请根据上述方案,采用预先设置的伺服服务程序,可提高维护效率,维护人员可在计算机机房对远程的装置进行维护,不需要奔波各处。另外,还可降低维护人员技能要求,维护人员只需点几下鼠标就可完成相关维护,不需要掌握相关系统操作命令。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1是本发明实施例的网络拓扑示意图;
图2是本发明实施例的伺服服务程序的主流程图;
图3是本发明实施例中设置更新目录的流程图;
图4是本发明实施例中列目录流程图;
图5是本发明实施例中更新配置文件流程图;
图6是本发明实施例中更新程序文件流程图;
图7是本发明实施例中更新程序包流程图;
图8是本发明实施例中下载文件流程图;
图9是本发明实施例中重启装置文件流程图;
图10是本发明实施例中网络中断重连处理流程。
具体实施方式
下面将参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供一种远程配置、应用下发的装置,图1是网络拓扑示意图,本发明所涉及的装置可能分布在不同的地区,不同的厂站中。图中装置上运行着本发明所涉及的伺服服务程序。图中计算机上运行着本发明所涉及的客户端程序。计算机一般放置在远程的计算机中心。在物理连接上,计算机通过以太网,经过几层路由器后连接到装置。
参见图2-图10,本发明实施例提供一种远程配置、应用下发的方法,其包括设于现场运行装置上的伺服服务程序和设于远程服务器上的客户端。其中,伺服服务程序具有如下特点:
1)伺服服务程序运行在现场运行装置上;
2)伺服服务程序具备开机自动运行能力;
3)伺服服务程序具备网络通讯的功能,能监听指定TCP端口的通讯请求;
4)伺服服务程序具备身份识别的能力,能校验连接请求中所携带的连接密码,判断连接是否合法;
5)伺服服务程序具备识别服务码的功能。客户端申请特定的服务,会发送特定的服务码,伺服服务识别出服务码后,进行相应的操作;
6)伺服服务程序具备心跳功能。在连接长时间没有新的服务申请时,它会周期的发出心跳包,以保持连接的有效性。
客户端具有如下特性:
1)客户端运行在远程的计算机设备上;
2)客户端具备人机接口界面,可以接受操作员的操作,可以以图表方式显示伺服服务返回的信息;
3)客户端可以设置IP连接特定的装置;
4)客户端连接装置时自动携带连接密码。
其中,如图2所示,伺服服务程序主流程包括以下步骤:
步骤201,伺服服务程序在装置上电后就会自动运行,然后监听指定的网络端口;
步骤202,当有客户端连接上来,程序判断连接密码是否正确。为保证密码在网络中传输的安全,密码需要用加密算法进行加密。伺服服务程序先需要用装置上预置的加密密钥,对密码串进行解密,然后再将解密后的结果和装置上预置的连接密码进行比较。因此,这需要合法的客户端同时知道装置预置的加密密钥和连接密码;
步骤203,密码不正确,判断为非法连接,断开连接,重新监听指定端口;
步骤204,监听连接是否有服务申请发送过来;
步骤205,监听到有服务申请,判断申请的服务码,进行相应的服务操作;
步骤206,一直没有监听到有服务申请,且超过设定时间,则发送心跳包给客户端保持连接。
设置更新目录处理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是设置更新目录时,进入此处理流程,如图3所示,包括以下步骤:
1)读取网络数据,并解析出数据中的目录参数;
2)将得到的目录参数更新到程序内部的变量保存起来,待其它服务申请使用;
3)完成后回到图2的步骤204。
列目录处理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是列目录时,进入此处理流程,如图4所示,包括以下步骤:
1)读取网络数据,并解析出数据中的目录参数;
2)检索查找目录参数所指向的目录下的所有文件及其子目录;
3)将查找到的文件及子目录信息,包括名称、字节大小等信息发送给客户端;
4)完成后回到图2的步骤204。
更新配置文件处理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是更新配置文件时,进入此处理流程,如图5所示,包括以下步骤:
1)读取网络数据,并解析出数据中的配置文件名及其文件数据;
2)根据文件名在临时目录创建新文件;
3)将网络上得到的文件数据写入临时新文件中;
4)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
5)将文件接收进度反馈给客户端;
6)文件没有接收完,从步骤3开始重复直到文件接收完毕;
7)文件接收完后进行更新审核。审核过程:同时打开该临时文件以及更新目录下的同名文件。读取两个文件所有配置项,记录下临时文件的新增、删除配置项,以及修改值的配置项;
8)上一步记录下的信息作为审核信息发送给客户端,操作员审查审核信息;
9)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时文件拷贝到更新目录下的同名文件;
10)如果审核信息有误,操作员选择不通过,伺服服务则跳过第9步,进入下一步;
11)删除临时目录下的文件;
12)整个更新过程完成,回到图2的步骤204。
更新程序文件处理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是更新程序文件时,进入此处理流程,如图6所示,包括以下步骤:
1)读取网络数据,并解析出数据中的程序文件名及其文件数据;
2)根据文件名在临时目录创建新文件;
3)将网络上得到的文件数据写入临时新文件中;
4)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
5)将文件接收进度反馈给客户端;
6)文件没有接收完,从步骤3开始重复直到文件接收完毕;
7)文件接收完后进行更新审核。审核过程:
a、建立管道;
b、通过管道执行系统命令cksum,服务程序通过管道获得cksum命令的执行结果,通过解析结果获得更新目标文件和临时文件的校验码。新旧文件的校验码发给操作员,操作员通过校验码可以审查文件是否真正更新,新文件是否错误;
c、通过管道执行系统命令”strings xxxx |grep main-version”,命令中的xxxx为程序文件名。服务程序通过管道获得命令的执行结果。如果开发人员严格按规定在程序中放入包含“main-version”字符串,并且其中还填入了程序的版本信息。则通过此操作获得新旧程序的版本号发送给操作员,操作员通过版本信息字符串判断是否升级了正确的版本。当然如果程序文件中没有对应的字符串,则不能获取版本审核信息;
d、通过普通方式执行系统命令“nm xxxx >>xxxx.txt”,命令中的xxxx为程序文件名。将新旧两个程序文件的函数名,包括它们调用到的函数名输出到临时的文本文件中。再通过管道执行系统命令“comm -3 xxxx.txt xxxx.txt” ,命令中的前后两个xxxx.txt分别为上条命令得到的新旧程序文件的函数信息输出文件。这个命令可以获得新文件删除或添加的函数名。这些审核信息发送给操作员,操作员也可依此判断程序文件是否正确更新;
8)上一步通过多角度对更新的程序文件进行审核,审核的信息发送给客户端,操作员审查审核信息,判断程序文件是否正确更新;
9)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时文件拷贝到更新目录下的同名文件;
10)调用系统命令将更新目标文件的属性修改为可执行;
11)如果审核信息有误,操作员选择不通过,伺服服务则跳过第9、10步,进入下一步;
12)删除临时目录下的文件;
13)整个更新过程完成,回到图2的步骤204。
更新程序包处理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是更新程序包时,进入此处理流程,如图7所示,包括以下步骤:
1)读取网络数据,并解析出数据中的程序包名及其数据;
2)根据文件名在临时目录创建新文件;
3)将网络上得到的数据写入临时新文件中;
4)记录当前服务、文件名,以及接收到的文件数据。以便在网络中断重新连接时,根据这些信息进行文件重传;
5)将文件接收进度反馈给客户端;
6)文件没有接收完,从步骤3开始重复直到文件接收完毕;
7)文件接收完,执行系统命令解压压缩包;
8)压缩包解压完成后进行更新审核。审核过程:
a、建立管道;
b、通过管道执行系统命令cksum,对临时目录及其子目录下所有文件,以及这些文件在更新目录及其子目录下的同名文件执行cksum命令,服务程序通过管道获得cksum命令的执行结果,通过cksum命令得到临时目录下的每个文件及其对应更新目录同名文件的文件大小及校验码。文件大小、校验码不一致的文件列入更新文件列表。更新文件列表发给操作员,操作员审查更新文件列表是否正确;
c、对更新文件列表中的每一个文件进行审核,如果文件名后缀为.ini、.conf,则将该文件视作配置文件,审核过程按照“更新配置文件处理流程”中的过程进行审核;
d、更新文件列表中的其它文件则按“更新程序文件处理流程”中的过程进行审核;
9)上一步对更新文件列表中的所有文件进行审核,审核的信息发送给客户端,操作员审查审核信息,判断程序包是否正确更新;
10)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时目录及其子目录所有文件拷贝到更新目录下;
11)如果审核信息有误,操作员选择不通过,伺服服务则跳过第10步,进入下一步;
12)删除临时目录下所有文件及其子目录;
13)整个更新过程完成,回到图2的步骤204。
下载文件理流程,其对应图2步骤205中的一个特定实例,当申请的服务码是下载文件时,进入此处理流程,如图8所示,包括以下步骤:
1)读取网络数据,并解析出数据中的文件路径;
2)根据文件路径,在装置上打开对应的文件;
3)读取装置本地文件数据,并将它发送给客户端;
4)整个文件数据发送完成后回到图2的步骤204。
重启装置流程,其对应图2步骤205中的一个特定实例,当申请的服务码是重启装置时,进入此处理流程,如图9所示,包括以下步骤:
1)调用系统命令重启系统;
2)结束。
网络中断重连处理流程,在网络异常中断恢复正常后,可进入此流程。如图10,包括以下步骤:
1)客户端重新连接成功后,发起断点续传请求,同时发过来续传的服务码和文件名;
2)服务程序解析续传的服务码和文件名,比较本地记录的最近一次服务的服务码和文件名是否一致;
3)如果不一致,则向客户端发送拒绝服务应答,然后监听新的服务请求;
4)如果一致,则记录的已接收的数据大小发给客户端。客户端应据此跳到文件相应的位置开始续传;
5)打开本地临时目录对应的文件,跳转到文件尾;
6)进入对应服务正常处理流程。
本申请实施例中现场运行装置可以是电子设备也可以是终端。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(MobileInternet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本发明实施例还提供一种远程配置、应用下发的装置,该装置执行上述远程配置、应用下发的方法。
本发明实施例还提供一种远程配置、应用下发的计算机设备,其执行上述远程配置、应用下发的方法或者包含了远程配置、应用下发的装置。
通过上述方案,本申请的伺服服务程序运行在现场装置上,客户端运行在远程的计算机设备,其通过伺服服务程序与客户端的交互从而实现远程对现场运行的装置进行升级维护。其中,伺服服务程序能够监听网络连接请求,能够对连接进行身份验证。伺服服务程序能够解析服务请求,并做出对应的动作。服务请求包括:列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件、重启装置等。客户端具有人机交互界面。客户端能够根据操作人员的操作形成服务请求提交给现场装置的伺服服务,服务请求包括:列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件、重启装置等。客户端能将伺服服务返回的信息以图表的形式展现在界面上。通过上述方案,一方面提高了维护效率:维护人员可在计算机机房对远程的装置进行维护,不需要奔波各处。另一方面,降低了维护人员技能要求:维护人员只需点几下鼠标就可完成相关维护,不需要掌握相关系统操作命令,具有很好的实用性。
在上述实施例和示例中,采用了数字组成的附图标记来表示各个步骤和/或单元。本领域的普通技术人员应理解,这些附图标记只是为了便于叙述和绘图,而并非表示其顺序或任何其他限定。
此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。

Claims (8)

1.一种远程配置、应用下发的方法,其特征在于:包括:
在现场装置上预先设置一个伺服服务程序,在服务器上预先设置一个客户端;所述客户端根据操作人员的操作形成服务请求提交给现场装置的伺服服务程序,所述伺服服务程序用于接收客户端发送的服务请求,解析并做出相应的动作;其中,所述服务请求包括更新目录、更新列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件以及重启装置中的一项或者多项;
所述伺服服务程序实时监听网络连接请求,并对发送连接请求的客户端进行身份验证,如果验证通过,则与客户端进行通讯交互;
所述伺服服务程序接收客户端发送的升级请求,对配置文件进行更新,并根据更新后的配置文件读取相应的升级信息;所述伺服服务程序根据配置文件的升级信息对程序文件或者程序包进行升级;
所述伺服服务程序与客户端进行通讯交互,当客户端发送更新程序文件服务请求,则执行以下步骤:
41)读取网络数据,并解析出数据中的程序文件名及其文件数据;
42)根据文件名在临时目录创建新文件;
43)将网络上得到的文件数据写入临时新文件中;
44)记录当前服务、文件名,以及接收到的文件数据,以便在网络中断重新连接时,根据这些信息进行文件重传;
45)将文件接收进度反馈给客户端;
46)文件没有接收完,从步骤43)开始重复直到文件接收完毕;
47)文件接收完后进行更新审核;
48)将步骤47)审核的信息发送给客户端,操作员审查审核信息,判断程序文件是否正确更新;
49)如果审核信息无误,操作员选择通过,伺服服务收到确认之后,将临时文件拷贝到更新目录下的同名文件;
410)调用系统命令将更新目标文件的属性修改为可执行;
411)如果审核信息有误,操作员选择不通过,伺服服务则跳过第49)、410)步骤,进入下一步;
412)删除临时目录下的文件;
413)整个更新过程完成,则继续监听是否有服务申请发送过来;
其中,所述步骤47)中,其审核过程是通过多角度对更新的程序文件进行审核,具体过程如下:
a、建立管道;
b、通过管道执行系统命令cksum,服务程序通过管道获得cksum命令的执行结果,通过解析结果获得更新目标文件和临时文件的校验码,新旧文件的校验码发给操作员,操作员通过校验码可以审查文件是否真正更新,新文件是否错误;
c、通过管道执行系统命令”strings xxxx |grep main-version”,命令中的xxxx为程序文件名,服务程序通过管道获得命令的执行结果;如果开发人员严格按规定在程序中放入包含“main-version”字符串,并且其中还填入了程序的版本信息;则通过此操作获得新旧程序的版本号发送给操作员,操作员通过版本信息字符串判断是否升级了正确的版本;当然如果程序文件中没有对应的字符串,则不能获取版本审核信息;
d、通过普通方式执行系统命令“nm xxxx >>xxxx.txt”,命令中的xxxx为程序文件名;将新旧两个程序文件的函数名,包括它们调用到的函数名输出到临时的文本文件中;再通过管道执行系统命令“comm -3 xxxx.txt xxxx.txt” ,命令中的前后两个xxxx.txt分别为上条命令得到的新旧程序文件的函数信息输出文件;这个命令可以获得新文件删除或添加的函数名,这些审核信息发送给操作员,操作员也可依此判断程序文件是否正确更新。
2.根据权利要求1所述的远程配置、应用下发的方法,其特征在于:所述伺服服务程序实时监听网络连接请求,并对发送连接请求的客户端进行身份验证,具体是:接收客户端的连接请求,通过预先设置的加密密钥对连接请求中的密码进行解密,将解密后的结果和预置的连接密码进行比较来进行身份验证。
3.根据权利要求1所述的远程配置、应用下发的方法,其特征在于:所述伺服服务程序与客户端进行通讯交互,还包括:伺服服务程序在连接长时间没有新的服务申请时,则周期性的发出心跳包,以保持连接的有效性。
4.根据权利要求1所述的远程配置、应用下发的方法,其特征在于:所述伺服服务程序与客户端进行通讯交互,当客户端发送更新列目录服务请求,则执行以下步骤:
21)读取网络数据,并解析出数据中的目录参数;
22)检索查找目录参数所指向的目录下的所有文件及其子目录;
23)将查找到的文件及子目录信息,包括名称和字节大小信息发送给客户端;
24)完成后则继续监听是否有服务申请发送过来。
5.根据权利要求1所述的远程配置、应用下发的方法,其特征在于:所述伺服服务程序与客户端进行通讯交互,当客户端发送更新配置文件服务请求,则执行以下步骤:
31)读取网络数据,并解析出数据中的配置文件名及其文件数据;
32)根据文件名在临时目录创建新文件;
33)将网络上得到的文件数据写入临时新文件中;
34)记录当前服务、文件名,以及接收到的文件数据,以便在网络中断重新连接时,根据这些信息进行文件重传;
35)将文件接收进度反馈给客户端;
36)如果文件没有接收完,则返回步骤33)开始重复直到文件接收完毕;
37)文件接收完后进行更新审核,审核不通过则删除临时目录下的文件,审核通过则更新完成,并继续监听是否有服务申请发送过来。
6.根据权利要求1所述的远程配置、应用下发的方法,其特征在于:所述伺服服务程序与客户端进行通讯交互,当客户端发送下载文件服务请求,则执行以下步骤:
61)读取网络数据,并解析出数据中的文件路径;
62)根据文件路径,在装置上打开对应的文件;
63)读取装置本地文件数据,并将它发送给客户端;
64)整个文件数据发送完成后,则继续监听是否有服务申请发送过来。
7.一种远程配置、应用下发的装置,其特征在于:包括:
服务器,所述服务器上设有客户端,所述客户端根据操作人员的操作形成服务请求提交给现场装置的伺服服务程序,所述服务请求包括更新目录、更新列目录、设置升级路径、更新配置文件、更新程序文件、更新程序包、下载文件以及重启装置中的一项或者多项;
现场运行装置,所述现场运行装置上设有伺服服务程序,接收客户端发送的连接请求;所述伺服服务程序用于接收客户端发送的服务请求,解析并做出相应的动作;该装置执行如权利要求1-6任一所述的远程配置、应用下发的方法。
8.一种远程配置、应用下发的计算机设备,其特征在于:包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述权利要求1-6任一所述的远程配置、应用下发的方法。
CN202310737000.9A 2023-06-21 2023-06-21 一种远程配置、应用下发的方法、装置和计算机设备 Active CN116489210B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310737000.9A CN116489210B (zh) 2023-06-21 2023-06-21 一种远程配置、应用下发的方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310737000.9A CN116489210B (zh) 2023-06-21 2023-06-21 一种远程配置、应用下发的方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN116489210A CN116489210A (zh) 2023-07-25
CN116489210B true CN116489210B (zh) 2023-10-20

Family

ID=87225418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310737000.9A Active CN116489210B (zh) 2023-06-21 2023-06-21 一种远程配置、应用下发的方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN116489210B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859125A (zh) * 2006-03-31 2006-11-08 华为技术有限公司 集中远程自动升级软件的系统及其方法
CN101330399A (zh) * 2007-06-19 2008-12-24 上海风格信息技术有限公司 嵌入式设备的升级方法
TW201141131A (en) * 2010-05-07 2011-11-16 Inventec Corp A responds method for the client and the server
CN105808274A (zh) * 2014-12-30 2016-07-27 航天信息股份有限公司 软件升级方法、系统及对应的客户端与服务器
CN106951253A (zh) * 2017-03-21 2017-07-14 广州慧睿思通信息科技有限公司 一种嵌入式固件在线升级方法
CN107832065A (zh) * 2017-10-24 2018-03-23 广州力浦高科技有限公司 固件升级方法、净水器、升级系统及可读存储介质
CN109358883A (zh) * 2018-11-05 2019-02-19 珠海格力电器股份有限公司 程序升级方法、系统以及应用系统、存储介质
CN115202680A (zh) * 2022-02-22 2022-10-18 绿城科技产业服务集团有限公司 在线远程自动升级本地客户端的系统及方法
CN115687715A (zh) * 2022-11-14 2023-02-03 海光信息技术股份有限公司 项目目录下载方法及相关装置
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式系统软件自动升级的方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859125A (zh) * 2006-03-31 2006-11-08 华为技术有限公司 集中远程自动升级软件的系统及其方法
CN101330399A (zh) * 2007-06-19 2008-12-24 上海风格信息技术有限公司 嵌入式设备的升级方法
TW201141131A (en) * 2010-05-07 2011-11-16 Inventec Corp A responds method for the client and the server
CN105808274A (zh) * 2014-12-30 2016-07-27 航天信息股份有限公司 软件升级方法、系统及对应的客户端与服务器
CN106951253A (zh) * 2017-03-21 2017-07-14 广州慧睿思通信息科技有限公司 一种嵌入式固件在线升级方法
CN107832065A (zh) * 2017-10-24 2018-03-23 广州力浦高科技有限公司 固件升级方法、净水器、升级系统及可读存储介质
CN109358883A (zh) * 2018-11-05 2019-02-19 珠海格力电器股份有限公司 程序升级方法、系统以及应用系统、存储介质
CN115202680A (zh) * 2022-02-22 2022-10-18 绿城科技产业服务集团有限公司 在线远程自动升级本地客户端的系统及方法
CN115687715A (zh) * 2022-11-14 2023-02-03 海光信息技术股份有限公司 项目目录下载方法及相关装置
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式系统软件自动升级的方法及装置

Also Published As

Publication number Publication date
CN116489210A (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US8800023B2 (en) Remote access architecture enabling a client to perform an operation
CN100535857C (zh) 用于更新网络化环境中的安装组件的系统和方法
CN1777867B (zh) 使用增量压缩打补丁更新文件的系统和方法
US7657885B2 (en) System and method for downloading software and services
US6879979B2 (en) Method to remotely query, safely measure, and securely communicate configuration information of a networked computational device
US20180294980A1 (en) Management of secret data items used for server authentication
JP2012084159A (ja) 無線装置上のファームウェア照合を管理するための装置および方法
CN1973255A (zh) 管理和传递软件更新的系统和方法
CN106341371A (zh) 云存储数据的加密方法及其系统
CN107623735B (zh) 一种征信机系统中基于openssl的精准更新升级系统及方法
US11314853B2 (en) Method and apparatus for implementing logging-on of hardware to windows system with version 10 or higher
CN110958239B (zh) 访问请求的校验方法和装置、存储介质及电子装置
CN112838951B (zh) 一种终端设备的运维方法、装置、系统及存储介质
US8341127B1 (en) Client initiated restore
CN112468511B (zh) 文件传输方法和装置
KR100886690B1 (ko) 온라인상에서의 계약 관리 방법 및 시스템
US7085744B2 (en) Method and system for conducting a transaction over a network
CN116489210B (zh) 一种远程配置、应用下发的方法、装置和计算机设备
WO1998038570A1 (en) Method and apparatus for programming a device with a software package obtained over a distributed data communication network
CN111405550A (zh) 一种WhatsApp的key文件提取方法及设备
CN112256304A (zh) 一种dsp芯片软件在线更新方法和系统
KR20210049296A (ko) 서버/클라이언트 시스템을 이용한 데이터복구방법
KR100528279B1 (ko) 비에스에스 피엘디 검증 방법 및 장치
JP2005202536A (ja) サービス提供用サーバコンピュータ
CN115378811B (zh) 一种基于便携式运维网关的离线升级方法

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