System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据,具体涉及一种shell数据处理方法、装置、电子设备及存储介质。
技术介绍
1、在工业领域中,可以连接仿真器对工业设备的芯片进行调试,但连接仿真器调试设备的方法在一些场景不适用。例如,在高压充斥的机柜现场调试时无法开柜门连接仿真器,或者当设备与市电未隔离的情况下连接仿真器会损坏设备。因此,可以采用shell功能调试设备来解决在以上场景中无法使用仿真器的弊端。
2、然而,shell功能需要在操作系统中实现,但工业设备的芯片一般通常采用无操作系统的程序,其后台程序的资源用于处理常规业务指令,也就无法过多占用后台程序的资源来处理执行时间较长的shell任务;若令设备优先处理shell任务,则会严重影响处理常规业务指令的实时性而无法对设备进行调试。因此,以上两种方式均难以实现无操作系统的shell功能来调试设备。
技术实现思路
1、本申请提供一种shell数据处理方法,能够在不过多占用后台程序的前提下,以较短时长处理shell数据,从而能够实现无操作系统的shell功能。
2、第一方面,本申请提供一种shell数据处理方法,应用于shell数据处理系统,所述方法包括:
3、获取数据请求端的shell命令,并将所述shell命令缓存至所述shell数据处理系统的数据接收队列;
4、循环扫描所述数据接收队列,获取待解析的第一shell命令;
5、根据命令解析协议解析所述第一shell命令,得到对应的响应数据,并将所述响应
6、循环扫描所述数据发送队列,获取待发送的第一响应数据;
7、通过所述shell数据处理系统的后台和前台,共同将所述第一响应数据发送至所述数据请求端。
8、在本申请一些实施例中,所述通过所述shell数据处理系统的后台和前台,共同将所述第一响应数据发送至所述数据请求端,包括:
9、通过所述后台将所述第一响应数据中目标字节长度的第一数据发送至所述数据请求端;
10、调用所述前台将所述响应数据中所述第一响应数据以外的第二数据发送至所述数据请求端。
11、在本申请一些实施例中,所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据之前,还包括:根据命令行构建数据生成所述命令解析协议;所述命令行构建数据用于构建所述命令解析协议中的命令行,所述命令行用于解析所述shell命令;
12、所述根据命令行构建数据生成所述命令解析协议的步骤,包括:
13、获取多个命令行的命令名称;
14、根据所述命令名称,获取每个命令行中与所述命令名称对应的最大参数个数、命令描述信息和命令执行函数信息;
15、对所述命令名称、所述最大参数个数、所述命令描述信息和所述命令执行函数信息进行编译得到所述命令行。
16、在本申请一些实施例中,所述shell命令包括名称信息和参数信息;所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据,包括:
17、根据所述命令解析协议中所述多个命令行的命令名称,查找与所述第一shell命令的名称信息相匹配的目标命令行;
18、当查找出所述目标命令行,且所述第一shell命令的参数信息满足所述最大参数个数的限制,则解析所述参数信息;
19、当成功解析出所述参数信息时,则调用所述目标命令行中的命令执行函数解析出所述响应数据。
20、在本申请一些实施例中,所述方法还包括:
21、若未查找出所述目标命令行,则生成所述第一shell命令对应的解析错误信息;
22、若查找出所述目标命令行,但所述参数信息未满足所述最大参数个数的限制,或者对所述参数信息解析失败,则生成所述解析错误信息的同时,根据所述目标命令行的命令描述信息提示所述参数信息的正确格式。
23、在本申请一些实施例中,所述将所述shell命令缓存至所述shell数据处理系统的数据接收队列之前,还包括:
24、获取针对任一shell命令的数据输入长度约束,以及数据输入时间约束;
25、将所述数据输入长度约束和数据输入时间约束加入用于构建数据队列的队列构建数据中,以根据所述队列构建数据生成数据接收队列和数据发送队列。
26、在本申请一些实施例中,所述将所述响应数据缓存至所述shell数据处理系统的数据发送队列,包括:
27、当所述响应数据的长度不满足所述数据输入长度约束时,将所述响应数据划分为多个待缓存数据块;
28、将每个所述待缓存数据块按顺序逐一缓存至所述数据发送队列。
29、在本申请一些实施例中,所述循环扫描所述数据接收队列,获取待解析的第一shell命令,包括:
30、循环扫描所述数据接收队列中的至少一个shell命令;
31、当扫描出所述数据接收队列中存在未扫描过的shell命令,则获取所述未扫描过的shell命令作为所述第一shell命令。
32、在本申请一些实施例中,所述循环扫描所述数据发送队列,获取待发送的第一响应数据,包括:
33、循环扫描所述数据发送队列中的至少一个响应数据;
34、当扫描出所述数据发送队列中存在未扫描过的响应数据,则获取所述未扫描过的响应数据作为所述第一响应数据。
35、第二方面,本申请还提供一种shell数据处理装置,所述装置包括:
36、命令获取模块,用于获取数据请求端的shell命令,并将所述shell命令缓存至所述shell数据处理系统的数据接收队列;
37、第一扫描模块,用于循环扫描所述数据接收队列,获取待解析的第一shell命令;
38、命令解析模块,用于根据命令解析协议解析所述第一shell命令,得到对应的响应数据,并将所述响应数据缓存至所述shell数据处理系统的数据发送队列;
39、第二扫描模块,用于循环扫描所述数据发送队列,获取待发送的第一响应数据;
40、数据发送模块,用于通过所述shell数据处理系统的后台和前台,共同将所述第一响应数据发送至所述数据请求端。
41、第三方面,本申请还提供一种电子设备,所述电子设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现任一项所述的shell数据处理方法中的步骤。
42、第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现任一项所述的shell数据处理方法中的步骤。
43、本申请提供的shell数据处理方法,能够在不过多占用后台程序的前提下,以较短时长处理shell数据,能够解除无操作系统无法处理执行时间较长的shell任务的限制,基于无操作本文档来自技高网...
【技术保护点】
1.一种shell数据处理方法,其特征在于,应用于shell数据处理系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过所述shell数据处理系统的后台和前台,共同将所述第一响应数据发送至所述数据请求端,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据之前,还包括:根据命令行构建数据生成所述命令解析协议;所述命令行构建数据用于构建所述命令解析协议中的命令行,所述命令行用于解析所述shell命令;
4.根据权利要求3所述的方法,其特征在于,所述shell命令包括名称信息和参数信息;所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述将所述shell命令缓存至所述shell数据处理系统的数据接收队列之前,还包括:
7.根据权利要求6所述的方法,其特征在于,所述将所述响应数据缓存至所述shell数据处
8.根据权利要求1所述的方法,其特征在于,所述循环扫描所述数据接收队列,获取待解析的第一shell命令,包括:
9.根据权利要求1所述的方法,其特征在于,所述循环扫描所述数据发送队列,获取待发送的第一响应数据,包括:
10.一种shell数据处理装置,其特征在于,所述装置包括:
11.一种电子设备,其特征在于,所述电子设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现权利要求1至9中任一项所述的shell数据处理方法中的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至9中任一项所述的shell数据处理方法中的步骤。
...【技术特征摘要】
1.一种shell数据处理方法,其特征在于,应用于shell数据处理系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过所述shell数据处理系统的后台和前台,共同将所述第一响应数据发送至所述数据请求端,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据之前,还包括:根据命令行构建数据生成所述命令解析协议;所述命令行构建数据用于构建所述命令解析协议中的命令行,所述命令行用于解析所述shell命令;
4.根据权利要求3所述的方法,其特征在于,所述shell命令包括名称信息和参数信息;所述根据命令解析协议解析所述第一shell命令,得到对应的响应数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述将所述shell命令缓存至所述shell数据处理系统的数据接收队...
【专利技术属性】
技术研发人员:张锋,陈凡,彭博文,李祥雨,李明,赵金奇,
申请(专利权)人:浙江正泰物联技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。