指令执行方法、装置、电子设备及存储介质与流程
本技术涉及计算机,尤其涉及一种指令执行方法、装置、电子设备及存储介质。
背景技术:
1、在设备的开发过程中,通过引擎实现开发者的开发需求。引擎可用于识别开发者根据开发需求在设备上输入的开发指令,并执行开发指令,从而实现开发者的开发需求。引擎可用在工业设备、或者游戏设备等多个应用场景。
2、在相关技术中,开发者通过人工编码的方式生成编码指令,引擎识别并执行编码指令。
3、然而,人工编码的方式存在效率低的问题,导致指令执行的效率低。
技术实现思路
1、本技术实施例提供指令执行方法、装置、电子设备及存储介质,用以提升指令执行的效率。
2、第一方面,本技术实施例提供一种指令执行方法,包括:接收目标设备的控制请求,所述控制请求包括可扩展标记语言格式的请求文件;根据所述控制请求,对所述请求文件进行解析处理,得到所述目标设备对应的物理地址;通过内存映射文件,将所述物理地址映射到虚拟地址空间中;通过引擎从所述虚拟地址空间中读取所述请求文件,并执行所述请求文件中的指令。
3、在一种可能的实施方式中,对所述请求文件进行解析处理,得到所述目标设备对应的物理地址,包括:对所述请求文件进行解析处理,得到所述请求文件的根节点和多个子节点;从所述根节点确定设备标识;通过所述设备标识对所述请求文件进行验证处理得到验证结果,所述验证结果为验证通过或者验证未通过;若所述验证结果为验证通过,则从所述多个子节点中确定目标子节点,所述目标子节点的标签为地址标签;从所述目标子节点中确定所述目标设备的所述物理地址。
4、在一种可能的实施方式中,通过内存映射文件,将所述物理地址映射到虚拟地址空间中,包括:从所述目标子节点中确定所述物理地址的地址属性;确定所述虚拟地址空间的映射表,所述映射表中包括所述虚拟地址空间中的多个已分配的内存地址块;通过内存映射文件,根据所述地址属性和所述映射表,从所述虚拟地址空间中确定连续的多个目标内存地址块;根据所述物理地址和所述多个目标内存地址块进行地址映射,并对所述映射表进行更新处理。
5、在一种可能的实施方式中,所述地址属性包括数据位宽;根据所述地址属性和所述映射表,从所述虚拟地址空间中确定连续的多个目标内存地址块,包括:根据所述数据位宽,通过对齐约束计算所述虚拟地址空间中满足连续性和对齐要求的第一内存块大小;判断所述虚拟地址空间的空闲区域中是否存在与所述第一内存块大小匹配的连续地址块;若是,则从所述虚拟地址空间中确定所述第一内存块大小对应的所述多个目标内存地址块;若否,则合并所述虚拟地址空间中的碎片化空间,并从合并后的虚拟地址空间中确定所述第一内存块大小对应的所述多个目标内存地址块。
6、在一种可能的实施方式中,对所述映射表进行更新处理,包括:根据所述映射表中的历史标识和所述多个目标内存地址块,生成对应的目标标识;在所述映射表中,增加所述物理地址、所述多个目标内存地址块、以及所述目标标识,得到更新映射表;通过原子操作的方式,以所述更新映射表替换所述映射表,以实现更新处理。
7、在一种可能的实施方式中,执行所述请求文件中的指令,包括:通过引擎对所述请求文件进行解析处理,得到输入指令和操作类型;从模版库中确定所述操作类型对应的目标模板;根据所述输入指令和所述目标模板,生成引擎可以识别的目标指令;通过所述引擎执行所述目标指令以实现执行所述请求文件。
8、在一种可能的实施方式中,所述请求文件还包括:请求优先级和/或超时时长;所述方法还包括:确定所述目标设备对应的目标指令队列,所述目标指令队列用于指示所述引擎执行指令的顺序;根据所述请求优先级和/或所述超时时长,确定所述目标指令在所述目标指令队列中对应的目标位置;根据所述目标位置,将所述目标指令加入所述目标指令队列。
9、第二方面,本技术实施例提供一种指令执行装置,包括:接收模块,用于接收目标设备的控制请求,所述控制请求包括可扩展标记语言格式的请求文件;解析模块,用于根据所述控制请求,对所述请求文件进行解析处理,得到所述目标设备对应的物理地址;映射模块,用于通过内存映射文件,将所述物理地址映射到虚拟地址空间中;执行模块,用于通过引擎从所述虚拟地址空间中读取所述请求文件,并执行所述请求文件中的指令。
10、在一种可能的实施方式中,所述解析模块,具体用于对所述请求文件进行解析处理,得到所述请求文件的根节点和多个子节点;所述解析模块,具体还用于从所述根节点确定设备标识;所述解析模块,具体还用于通过所述设备标识对所述请求文件进行验证处理得到验证结果,所述验证结果为验证通过或者验证未通过;所述解析模块,具体还用于若所述验证结果为验证通过,则从所述多个子节点中确定目标子节点,所述目标子节点的标签为地址标签;所述解析模块,具体还用于从所述目标子节点中确定所述目标设备的所述物理地址。
11、在一种可能的实施方式中,所述装置还包括:处理模块,用于从所述目标子节点中确定所述物理地址的地址属性;所述处理模块,还用于确定所述虚拟地址空间的映射表,所述映射表中包括所述虚拟地址空间中的多个已分配的内存地址块;所述处理模块,还用于通过内存映射文件,根据所述地址属性和所述映射表,从所述虚拟地址空间中确定连续的多个目标内存地址块;所述处理模块,还用于根据所述物理地址和所述多个目标内存地址块进行地址映射,并对所述映射表进行更新处理。
12、在一种可能的实施方式中,所述地址属性包括数据位宽;所述处理模块,具体用于根据所述数据位宽,通过对齐约束计算所述虚拟地址空间中满足连续性和对齐要求的第一内存块大小;所述处理模块,具体还用于判断所述虚拟地址空间的空闲区域中是否存在与所述第一内存块大小匹配的连续地址块;所述处理模块,具体还用于若是,则从所述虚拟地址空间中确定所述第一内存块大小对应的所述多个目标内存地址块;所述处理模块,具体还用于若否,则合并所述虚拟地址空间中的碎片化空间,并从合并后的虚拟地址空间中确定所述第一内存块大小对应的所述多个目标内存地址块。
13、在一种可能的实施方式中,所述处理模块,具体用于根据所述映射表中的历史标识和所述多个目标内存地址块,生成对应的目标标识;所述处理模块,具体还用于在所述映射表中,增加所述物理地址、所述多个目标内存地址块、以及所述目标标识,得到更新映射表;所述处理模块,具体还用于通过原子操作的方式,以所述更新映射表替换所述映射表,以实现更新处理。
14、在一种可能的实施方式中,所述装置还包括:生成模块,用于通过引擎对所述请求文件进行解析处理,得到输入指令和操作类型;所述生成模块,还用于从模版库中确定所述操作类型对应的目标模板;所述生成模块,还用于根据所述输入指令和所述目标模板,生成引擎可以识别的目标指令;所述生成模块,还用于通过所述引擎执行所述目标指令以实现执行所述请求文件。
15、在一种可能的实施方式中,所述请求文件还包括:请求优先级和/或超时时长;所述装置还包括:排序模块,用于确定所述目标设备对应的目标指令队列,所述目标指令队列用于指示所述引擎执行指令的顺序;所述排序模块,还用于根据所述请求优先级和/或所述超时时长,确定所述目标指令在所述目标指令队列中对应的目标位置;所述排序模块,还用于根据所述目标位置,将所述目标指令加入所述目标指令队列。
16、第三方面,本技术实施例提供一种指令执行设备,包括:存储器,处理器;
17、所述存储器存储计算机执行指令;
18、所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上第一方面和/或第一方面各种可能的实施方式。
19、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上第一方面和/或第一方面各种可能的实施方式。
20、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面和/或第一方面各种可能的实施方式。
21、本技术实施例提供的指令执行方法、装置、电子设备及存储介质,方法包括:接收目标设备的控制请求,所述控制请求包括可扩展标记语言格式的请求文件;根据所述控制请求,对所述请求文件进行解析处理,得到所述目标设备对应的物理地址;通过内存映射文件,将所述物理地址映射到虚拟地址空间中;通过引擎从所述虚拟地址空间中读取所述请求文件,并执行所述请求文件中的指令。以上方案,通过可扩展标记语言格式的请求文件存储指令,引擎通过虚拟地址空间直接读取请求文件并执行其中的指令,开发者不需要通过人工编码的方式生成编码指令,从而提升指令执行的效率。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com