一种设备远程调试的方法、系统、装置和存储介质与流程

文档序号:28641741发布日期:2022-01-26 17:56阅读:73来源:国知局
一种设备远程调试的方法、系统、装置和存储介质与流程

1.本技术涉及通信技术领域,特别是涉及一种设备远程调试的方法、系统、装置和存储介质。


背景技术:

2.对于硬件设备的调试,传统的方法是在每个设备第一次安装就调试好,后面如果出了问题,则需要去现场单独调试,现场单独调试的方式在设备数量并不多的情况下还不存在较大的问题,可随着日常生活中智能设备的不断应用,设备数量的急遽增多,维护的成本也随之水涨船高。
3.于是出现了设备的远程调试,当前常用的设备远程调试方法是在设备的路由器上设置外网映射,将设备的端口映射到外网,通过外网的服务端主动监听连接设备端口,这样通过路由器的外网ip和映射端口就可以访问到设备,但是这种方法需要对路由器进行专门的设置(如内网穿透),而且每次外网ip变了就需要重新获取外网ip,对于多级路由器下的设备则无法映射到外网,同时映射开启后由于没有时间限制,存在着安全问题。
4.目前针对相关技术中设备远程调试操作繁杂和存在安全隐患的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种设备远程调试的方法、系统、装置和存储介质,以至少解决相关技术中设备远程调试操作繁杂和存在安全隐患的问题。
6.第一方面,本技术实施例提供了一种设备远程调试的方法,所述方法的执行主体包括设备端、服务端和调试端,其中,所述设备端包含设备控制程序和设备映射程序,所述服务端包含云端接入服务和云端映射服务,所述方法包括:
7.所述设备端创建控制通道连接到所述服务端,并读取本地的配置信息将所述配置信息上传到所述服务端,其中,所述配置信息包含预设设备的信息,所述预设设备的端口是需要映射到外网的端口;
8.所述服务端根据所述配置信息,建立所述设备端与所述服务端的第一映射关系;
9.在所述调试端与所述服务端进行连接的情况下,所述服务端根据所述第一映射关系创建所述设备端与所述服务端的数据通道;
10.所述服务端建立所述数据通道与所述调试端的第二映射关系;
11.所述调试端在预设调试时间内通过所述第二映射关系和所述数据通道对所述预设设备进行远程调试。
12.在其中一些实施例中,在所述设备端创建控制通道连接到所述服务端之前,所述方法包括:
13.所述服务端中部署着用于开启远程调试和关闭远程调试的接口程序;
14.所述服务端通过所述云端接入服务将控制调试时长的参数发送到所述设备端中
的所述设备控制程序;
15.所述设备端通过所述设备控制程序将所述参数写入配置信息中,并启动所述设备端中的所述设备映射程序。
16.在其中一些实施例中,所述服务端根据所述配置信息,建立所述设备端与所述服务端的第一映射关系包括:
17.所述服务端通过所述云端映射服务根据所述配置信息在服务端开启监听端口,建立所述监听端口与所述预设设备的端口的第一映射关系。
18.在其中一些实施例中,在调试端与所述服务端进行连接的情况下,所述服务端根据所述第一映射关系创建所述设备端与所述服务端的数据通道包括:
19.在调试端与所述服务端的监听端口进行连接的情况下,所述服务端通过所述云端映射服务根据所述第一映射关系获取所述预设设备的端口,并向所述预设设备开启代理服务;
20.所述设备端通过所述设备映射程序根据所述代理服务和预设连接方式,建立所述预设设备的端口与服务端的数据通道。
21.在其中一些实施例中,在所述设备端创建控制通道连接到所述服务端之前,所述方法包括:
22.为所述服务端设置域名,并为所述设备端中的设备设置所述域名的子域名;
23.所述服务端通过所述云端映射服务根据所述设备端中设备的id和所述子域名建立云端映射表。
24.在其中一些实施例中,在启动所述设备映射程序之后,所述方法包括:
25.在接收到所述服务端发送的停止调试命令的情况下,所述设备端通过所述设备控制程序关闭所述设备映射程序;或者在所述参数规定的调试时长结束的情况下,所述设备端通过所述设备映射程序自动退出运行。
26.在其中一些实施例中,在建立云端映射表之后,所述方法包括:
27.所述调试端向所述服务端发送域名访问的请求;
28.所述服务端通过所述云端映射服务创建所述设备端与所述服务端的数据通道,并查询所述云端映射表中是否存在所述请求中的子域名;
29.若存在,则根据云端映射表得到对应设备的id,并对所述对应设备进行基于域名连接的远程调试;
30.若不存在,则向所述调试端返回不存在信息。
31.第二方面,本技术实施例提供了一种设备远程调试的系统,所述系统包括设备端、服务端和调试端,其中,所述设备端包含设备控制程序和设备映射程序,所述服务端包含云端接入服务和云端映射服务;
32.所述设备控制程序与所述云端接入服务连接,用于控制所述设备映射程序,其中,所述控制包括启动、停止和配置;
33.所述设备映射程序主动连接所述云端映射服务,用于将设备的端口映射到外网;
34.所述云端接入服务用于向所述设备端发送控制命令,所述控制命令包括设备映射程序的启动和停止;
35.所述云端映射服务与所述设备映射程序连接,用于将设备的端口映射到外网;
36.所述调试端通过所述云端映射服务访问所述设备端;
37.实现设备远程调试的步骤:
38.所述设备端创建控制通道连接到所述服务端,并读取本地的配置信息将所述配置信息上传到所述服务端,其中,所述配置信息包含预设设备的信息,所述预设设备的端口是需要映射到外网的端口;
39.所述服务端根据所述配置信息,建立所述设备端与所述服务端的第一映射关系;
40.在所述调试端与所述服务端进行连接的情况下,所述服务端根据所述第一映射关系创建所述设备端与所述服务端的数据通道;
41.所述服务端建立所述数据通道与所述调试端的第二映射关系;
42.所述调试端在预设调试时间内通过所述第二映射关系和所述数据通道对所述预设设备进行远程调试。
43.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的设备远程调试的方法。
44.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的设备远程调试的方法。
45.相比于相关技术,本技术实施例提供的一种设备远程调试的方法、系统、装置和存储介质,通过设备端创建控制通道连接到服务端,并读取本地的配置信息将配置信息上传到服务端,其中,配置信息包含预设设备的信息,预设设备的端口是需要映射到外网的端口;服务端根据配置信息,建立设备端与服务端的第一映射关系;在调试端与服务端进行连接的情况下,服务端根据第一映射关系创建设备端与服务端的数据通道,并建立数据通道与调试端的第二映射关系;调试端在预设调试时间内通过第二映射关系和数据通道对预设设备进行远程调试,解决了现有设备远程调试中操作繁杂和存在安全隐患的问题,实现了设备主动对外连接开启远程调试,及保证了远程调试时长的可控性。
附图说明
46.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
47.图1是根据本技术实施例的设备远程调试方法的步骤流程图;
48.图2是基于域名访问的设备远程调试方法的流程示意图;
49.图3是根据本技术实施例的设备远程调试系统的结构框图;
50.图4是基于本实施例中的系统实现设备远程调试的时序示意图;
51.图5是根据本技术实施例的电子设备的内部结构示意图。
52.附图说明:31、设备端;32、服务端;33、调试端;34、设备控制程序;35、设备映射程序;36、云端接入服务;37、云端映射服务。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用
于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
55.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
56.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
57.实施例1
58.本技术实施例提供了一种设备远程调试的方法,方法的执行主体包括设备端、服务端和调试端,其中,设备端包含设备控制程序和设备映射程序,服务端包含云端接入服务和云端映射服务,图1是根据本技术实施例的设备远程调试方法的步骤流程图,如图1所示,该方法包括以下步骤:
59.步骤s102,设备端创建控制通道连接到服务端,并读取本地的配置信息将配置信息上传到服务端,其中,配置信息包含预设设备的信息,预设设备的端口是需要映射到外网的端口;
60.具体地,设备映射程序(设备端)会主动连接到云端映射服务(服务端),创建的连接作为控制通道;然后设备映射程序会读取本地的配置信息,查看有哪些设备的端口需要映射到外网,并将这些配置信息(包含每个端口的代理名称)上传给云端映射服务。
61.步骤s104,服务端根据配置信息,建立设备端与服务端的第一映射关系;
62.具体地,云端映射服务(服务端)接收到配置信息后,根据设备的端口和类型建立设备端与服务端的第一映射关系。
63.步骤s106,在调试端与服务端进行连接的情况下,服务端根据第一映射关系创建设备端与服务端的数据通道;
64.具体地,若调试端连接了云端映射服务(服务端),云端映射服务根据第一映射关系找到对应设备和对应设备的端口,并根据该端口信息创建设备端与服务端的数据通道。
65.步骤s108,服务端建立数据通道与调试端的第二映射关系;
66.步骤s110,调试端在预设调试时间内通过第二映射关系和数据通道对预设设备进行远程调试。
67.具体地,调试端在预设调试时间向云端映射服务(服务端)发送了调试数据后,云端映射服务会将收到的调试数据原样通过数据通道转发给设备映射程序(设备端),设备映射程序收到数据后再原样转发给预设设备;
68.预设设备收到调试数据后产生响应数据,设备映射程序将响应数据通过数据通道上报给云端映射服务,云端映射服务收到响应数据后,则根据当前通道将数据发送给调试端,其中,预设调试时间是指设备映射程序运行的时间,可以进行人为控制。
69.需要说明的是,现有的设备调试方法一般包括ssh调试、ets调试和网页调试,其中,ssh调试需要登陆设备,调试内容包括替换文件,查看打印输出,查看配置等;ets调试需要连接设备,查看设备中的数据的收发是不是正常,也可以查看设备是不是可以被控制;网页调试需要登陆设备的网页,配置查看设备的配置。因此,本实施例中的设备远程调试方法包括但不限于使用上述三种调试方法对预设设备进行远程调试。
70.通过本技术实施例中的步骤s102至步骤s110,不仅解决了线下的现场单独调试的耗时耗力、成本等问题,还解决了,解决了远程调试中操作繁杂和存在安全隐患的问题,实现了设备主动对外连接开启远程调试,及保证了远程调试时长的可控性
71.在其中一些实施例中,在步骤s102,设备端创建控制通道连接到服务端之前还包括:
72.服务端中部署着用于开启远程调试和关闭远程调试的接口程序;
73.服务端通过云端接入服务将控制调试时长的参数发送到设备端中的设备控制程序;
74.设备端通过设备控制程序将参数写入配置信息中,并启动设备端中的设备映射程序。
75.具体地,在服务端增加接口开启远程调试和关闭远程调试的接口程序,以实现对远程调试的动态控制,接口程序中带有开启远程调试的端口和类型和名称,云端接入服务将控制调试时长的参数下发给设备控制程序,设备控制程序将配置写入到配置文件中,并启动设备映射程序。
76.在其中一些实施例中,步骤s104,服务端根据配置信息,建立设备端与服务端的第一映射关系包括:
77.服务端通过云端映射服务根据配置信息在服务端开启监听端口,建立监听端口与预设设备的端口的第一映射关系。
78.具体地,云端映射服务接收到设备上报的配置信息后,会根据预设设备的端口和类型在云端开启随机的监听端口,并把开启的监听端口、预设设备的端口和对应服务的名称映射起来,生成第一映射关系。
79.在其中一些实施例中,步骤s106,在调试端与服务端进行连接的情况下,服务端根据第一映射关系创建设备端与服务端的数据通道包括:
80.在调试端与服务端的监听端口进行连接的情况下,服务端通过云端映射服务根据第一映射关系获取预设设备的端口,并向预设设备开启代理服务;
81.设备端通过设备映射程序根据代理服务和预设连接方式,建立预设设备的端口与服务端的数据通道。
82.具体地,若调试端连接了云端映射服务的监听端口,云端映射服务会根据第一映射关系确定预设设备和预设设备的端口,然后向预设设备开启代理服务,设备映射程序根据代理服务的名称查找到预设设备的端口和连接方式(如tcp/udp/http),连接预设设备的端口(如127.0.0.1),并同时连接服务端,以此建立预设设备与服务端之间的数据通道。
83.在其中一些实施例中,在步骤s102,设备端创建控制通道连接到服务端之前还包括:
84.为服务端设置域名,并为设备端中的设备设置域名的子域名;
85.服务端通过云端映射服务根据设备端中设备的id和子域名建立云端映射表。
86.具体地,若需要将设备中的http服务映射到外网,那么最好是通过域名的方式来映射,所以需要为云端映射服务的机器设置域名xxx.com,同时设备的子域名*.xxx.com也需要映射到这台机器;
87.云端映射服务可以根据每个设备的id和子域名*.xxx.com建立云端映射表。
88.在其中一些实施例中,在启动设备映射程序之后还包括:
89.在接收到服务端发送的停止调试命令的情况下,设备端通过设备控制程序关闭设备映射程序;或者在参数规定的调试时长结束的情况下,设备端通过设备映射程序自动退出运行。
90.在其中一些实施例中,图2是基于域名访问的设备远程调试方法的流程示意图,如图2所示,在建立云端映射表之后还包括:
91.调试端向服务端发送域名访问的请求;
92.服务端通过云端映射服务创建设备端与服务端的数据通道,并查询云端映射表中是否存在请求中的子域名;
93.若存在,则根据云端映射表得到对应设备的id,并对对应设备进行基于域名连接的远程调试;
94.若不存在,则向调试端返回不存在信息。
95.具体地,调试端向服务端发送域名访问的请求,云端映射服务创建到设备映射程序的数据通道,并查询云端映射表中是否存在请求中的子域名,
96.若存在,则根据云端映射表得到对应设备的id(如id1.xxx.com对应id1),并对对应设备进行基于域名连接的远程调试;
97.若不存在,则向调试端返回不存在信息(如404)。
98.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
99.实施例2
100.本技术实施例提供了一种设备远程调试的系统,图3是根据本技术实施例的设备远程调试系统的结构框图,如图3所示,该系统包括设备端31、服务端32和调试端33,其中,设备端31包含设备控制程序34和设备映射程序35,服务端32包含云端接入服务36和云端映射服务37;
101.设备控制程序与云端接入服务连接,用于控制设备映射程序,其中,控制包括启动、停止和配置;
102.设备映射程序主动连接云端映射服务,用于将设备的端口映射到外网;
103.云端接入服务用于向设备端发送控制命令,控制命令包括设备映射程序的启动和停止;
104.云端映射服务与设备映射程序连接,用于将设备的端口映射到外网;
105.调试端通过云端映射服务访问设备端。
106.图4是基于本实施例中的系统实现设备远程调试的时序示意图,如图4所示,通过该系统实现设备远程调试包括以下步骤:
107.1.建立控制通道。
108.设备端创建控制通道连接到服务端。
109.2.上报代理信息、返回成功。
110.设备端读取本地的配置信息将配置信息上传到服务端,其中,配置信息包含预设设备的信息,预设设备的端口是需要映射到外网的端口;
111.服务端根据配置信息,建立设备端与服务端的第一映射关系。
112.3.连接服务器。
113.调试端与服务端进行连接。
114.4.请求开启代理、连接设备端口、建立数据通道。
115.服务端根据第一映射关系创建设备端与服务端的数据通道;
116.5.设备远程调试(数据传输)。
117.服务端建立数据通道与调试端的第二映射关系;
118.调试端在预设调试时间内通过第二映射关系和数据通道对预设设备进行远程调试。
119.通过本技术实施例中提供的系统,不仅解决了线下的现场单独调试的耗时耗力、成本等问题,还解决了,解决了远程调试中操作繁杂和存在安全隐患的问题,实现了设备主动对外连接开启远程调试,及保证了远程调试时长的可控性
120.需要说明的是,上述各个程序可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现而言,上述各个程序可以位于同一处理器中;或者还可以按照任意组合的形式分别位于不同的处理器中;
121.上述各个服务可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现而言,上述各个服务可以位于同一处理器中;或者还可以按照任意组合的形式分别位于不同的处理器中。
122.实施例3
123.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
124.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
125.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
126.s1,设备端主动将端口映射到外网;建立与服务端之间的数据通道;
127.s2,建立设备端与服务端之间的数据通道;
128.s3,调试端通过数据通道对设备进行远程调试。
129.需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
130.另外,结合上述实施例中的设备远程调试的方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种设备远程调试的方法。
131.实施例4
132.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种设备远程调试的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
133.在一个实施例中,图5是根据本技术实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种设备远程调试的方法,数据库用于存储数据。
134.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
135.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强
型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
136.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
137.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1