当前位置: 首页 > 专利查询>张宇专利>正文

一种基于标准数据交换的指令集可视化操作系统、方法及应用技术方案

技术编号:30331981 阅读:24 留言:0更新日期:2021-10-10 00:43
一种基于标准数据交换的指令集可视化操作系统、方法及应用,涉及软件开发技术领域,用于为不同平台、使用不同开发语言、具有不同开发接口的软件模块间的协同工作提供支持。本发明专利技术系统包括可视化编辑模块和服务器处理模块;其中,可视化编辑模块用于编辑生成扩展指令集、使用基础指令集和扩展指令集中的指令单元搭建指令图,指令图是由数据通路将多个指令单元联通而成的有向网状图,数据通路中传输的数据具有标准数据交换结构;服务器处理模块用于完成指令单元或指令图的执行。本发明专利技术将软件上层业务逻辑搭建从代码逻辑搭建转换为可视化逻辑搭建,极大地增强了软件模块的可复用性和协同工作能力,从而可以更为简单的对软件进行功能多样性地开发。功能多样性地开发。功能多样性地开发。

【技术实现步骤摘要】
一种基于标准数据交换的指令集可视化操作系统、方法及应用


[0001]本专利技术涉及软件开发
,具体涉及一种基于标准数据交换的指令集可视化操作系统、方法及应用。

技术介绍

[0002]从有编程语言开始,到如今的计算机时代,软件已经成为人们生活中不可缺失的部分。通常,基于对某一特定类型功能的需要,需要选择相应的一种开发语言或者语言框架来进行软件开发。比如开发网站,可能的一种选择是采用HTML5、css3来进行前端开发,使用php进行后端开发;比如开发手机APP,常见的一种选择是使用Java下开发框架JQuery;比如开发手机游戏,开发者可以使用Unity来开发;比如开发PC大型游戏,可以使用游戏引擎Unreal;比如开发与图像识别相关的功能,可以借助成熟的开源库opencv。相似的情况还有很多。
[0003]在开发软件应用时,人们更倾向于寻找合适的开发架构、现有的工具库支持。一方面,软件开发平台已经趋于成熟,大部分的功能需求,都可以找到相应合适的解决方案对应的开发框架或者相关联的较为成熟的工具库,借此可以解决大部分的开发问题,大大降低开发周期。不过,从另一个角度思考,越来越多成熟的开发架构或者工具库,也意味着选择的余地越来越多,也就造成同一类软件,可能使用诸多不同的开发架构或者工具库来实现。这其实也意味着,不同的开发架构往往具有不同的优势或者独有的功能或者独有风格。也就意味着,当新需求产生时,当前使用的开发架构或者工具库可能存在不能满足开发需求的情况,如果没有弥补手段,就可能需要更换现有的开发架构或者工具库,或者放弃这项新需求。
[0004]由于软件的功能往往趋于复杂和多样性,可以预见到,这样的情况将会越加普遍,人们使用A软件模块开发的软件,却需要B软件模块的特定功能配合。但实际操作中,这样的配合并不容易进行。软件的发展是自由的,也就意味着A和B有着不同的开发接口和开发流程甚至是采用不同的开发语言来实现的,A和B越不同,意味着共用的难度越大。要想实现A和B的组合使用,可能需要解决的几个主要的冲突点:1、应用的平台的冲突,即A和B分别应用于不同的应用平台,而直接将B转移到A所在的平台不能正常工作的现象;2、开发所使用的语言的冲突,即A和B分别使用不同的编程语言进行开发,导致用于B的代码不能直接转移到B对应的代码中进行工作的现象;3、开发接口的冲突,即A和B在同一语言下开发,但提供的接口和关联的数据结构不兼容,而造成俩者不能直接通过相应接口进行数据传递以协同工作的现象。
[0005]对于冲突1的解决,开发软件的同时往往确定了应用的目标平台,如果要不同平台的软件兼容,往往需要相应的模拟器来进行配合。比如已有的使用HTML5开发PC应用的架构node

webkit,就是封装了浏览器核心作为平台中介协调网页内容和nodejs扩展库,从而解决浏览器平台和PC平台的冲突。对于冲突2的解决,比较理想的情况是存在第三方语言,能
同时分别与A和B使用的语言进行配合,这也是很常见的。C++经常作为扩展支持用于各个语言体系,如Java、C#、javascript、python等。对于冲突3的解决,主要的工作是进行兼容双方接口的适配开发,包括接口使用流程的兼容以及数据格式的兼容。
[0006]进一步思考,协同工作的不只是A和B两者,而是更多数量的软件模块,如何让这些软件模块同时应用于同一平台、配合于同一种开发语言、适配于一致的开发接口以实现更为自由的协同工作需求是一个亟待解决的问题。

技术实现思路

[0007]基于以上问题,本专利技术提出一种基于标准数据交换的指令集可视化操作系统、方法及应用,用于为不同平台、使用不同开发语言、具有不同开发接口的软件模块间的协同工作提供支持。
[0008]根据本专利技术一方面,提出一种基于标准数据交换的指令集可视化操作系统,该系统包括可视化编辑模块和服务器处理模块;其中,
[0009]所述可视化编辑模块包括扩展指令集编辑子模块、指令图编辑子模块;
[0010]所述扩展指令集编辑子模块用于编辑生成扩展指令集,所述扩展指令集是依据特定功能需求建立的指令集;
[0011]所述指令图编辑子模块用于使用基础指令集和扩展指令集中的指令单元搭建一个或多个指令图,指令图是由数据通路将多个指令单元联通而成的有向网状图,数据通路中传输的数据为具有标准数据交换结构的数据;
[0012]所述服务器处理模块包括指令图运行子模块;所述指令图运行子模块用于完成指令单元或指令图的执行。
[0013]进一步地,所述可视化编辑模块还包括文件生成子模块,所述文件生成子模块用于将搭建完成的指令图生成为可执行文件;所述指令图运行子模块还用于完成可执行文件的执行;所述服务器处理模块还包括任务管理子模块,所述任务管理子模块用于管理可执行文件的执行和关闭。
[0014]进一步地,所述扩展指令集编辑子模块中编辑生成扩展指令集的具体步骤包括:
[0015]步骤一一、确定扩展指令集所包含的指令单元并建立指令单元目录,所述指令单元目录包括指令单元列表和指令单元基本信息,指令单元基本信息包括指令单元的名称、输入端口信息和输出端口信息;
[0016]步骤一二、根据指令单元目录建立指令单元,并生成扩展指令集文件;其中,建立指令单元的步骤包括:建立基础可视化组件和基础功能组件,基础可视化组件包括数据输入端口、面板、数据输出端口;基础功能组件包括功能核心部分、面板数据更新部分和面板数据转化部分,功能核心部分实现对输入数据的逻辑运算处理;面板数据更新部分提供用户对面板数据的访问和修改反馈;面板数据转化部分是在指令单元运行前提供面板数据到具有标准数据交换结构的数据的转化处理。
[0017]进一步地,所述指令图编辑子模块中搭建一个指令图的具体步骤包括:根据基础指令集和扩展指令集文件中的指令单元目录,建立相应的逻辑上游指令单元和下游指令单元,通过数据通路将逻辑上游指令单元的输出端口和下游指令单元的输入端口连接,当任一指令单元不存在空闲的输入端口即完成一个指令图的搭建;其中,基础指令集包括基础
运算指令、结构控制指令、数据生产指令、条件控制指令、IO访问指令、线程控制指令、任务控制指令和缓存访问指令;所述标准数据交换结构包括:浮点缓存数据、字符串列表数据、特殊标记数据和默认空间分割方式数据;在搭建指令图过程中需要修改指令单元的面板数据以保证指令单元按照预定的方式运行;其中,面板数据为用户根据待实现的特定功能设定的对应该特定功能的功能名称或指定数据。
[0018]进一步地,所述指令图运行子模块中执行一个指令图的具体过程包括:重置指令图中所有指令单元的状态为通行状态;使用拓扑排序对指令图中的指令单元进行排序,获得指令单元的执行顺序;根据指令单元的执行顺序逐一执行指令单元,指令单元执行数据处理的过程为:输入端口接收上游指令单元的输出端口输出的具有标准数据交换结构的数据,然后对该数据进行处理,输出端口输出数据处理结果;若上游指令单元为阻塞状态,则其下游指令单元放弃执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于标准数据交换的指令集可视化操作系统,其特征在于,包括可视化编辑模块和服务器处理模块;其中,所述可视化编辑模块包括扩展指令集编辑子模块和指令图编辑子模块;所述扩展指令集编辑子模块用于编辑生成扩展指令集,所述扩展指令集是依据特定功能需求建立的指令集;所述指令图编辑子模块用于使用基础指令集和扩展指令集中的指令单元搭建一个或多个指令图,指令图是由数据通路将多个指令单元联通而成的有向网状图,数据通路中传输的数据为具有标准数据交换结构的数据;所述服务器处理模块包括指令图运行子模块;所述指令图运行子模块用于完成指令单元或指令图的执行。2.根据权利要求1所述的一种基于标准数据交换的指令集可视化操作系统,其特征在于,所述可视化编辑模块还包括文件生成子模块,所述文件生成子模块用于将搭建完成的指令图生成为可执行文件;所述指令图运行子模块还用于完成可执行文件的执行;所述服务器处理模块还包括任务管理子模块,所述任务管理子模块用于管理可执行文件的执行和关闭。3.根据权利要求2所述的一种基于标准数据交换的指令集可视化操作系统,其特征在于,所述扩展指令集编辑子模块中编辑生成扩展指令集的具体步骤包括:步骤一一、确定扩展指令集所包含的指令单元并建立指令单元目录,所述指令单元目录包括指令单元列表和指令单元基本信息,指令单元基本信息包括指令单元的名称、输入端口信息和输出端口信息;步骤一二、根据指令单元目录建立指令单元,并生成扩展指令集文件;其中,建立指令单元的步骤包括:建立基础可视化组件和基础功能组件,基础可视化组件包括数据输入端口、面板、数据输出端口;基础功能组件包括功能核心部分、面板数据更新部分和面板数据转化部分,功能核心部分实现对输入数据的逻辑运算处理;面板数据更新部分提供用户对面板数据的访问和修改反馈;面板数据转化部分是在指令单元运行前提供面板数据到具有标准数据交换结构的数据的转化处理。4.根据权利要求3所述的一种基于标准数据交换的指令集可视化操作系统,其特征在于,所述指令图编辑子模块中搭建一个指令图的具体步骤包括:根据基础指令集和扩展指令集文件中的指令单元目录,建立相应的逻辑上游指令单元和下游指令单元,通过数据通路将逻辑上游指令单元的输出端口和下游指令单元的输入端口连接,当任一指令单元不存在空闲的输入端口即完成一个指令图的搭建;其中,基础指令集包括基础运算指令、结构控制指令、数据生产指令、条件控制指令、IO访问指令、线程控制指令、任务控制指令和缓存访问指令;所述标准数据交换结构包括:浮点缓存数据、字符串列表数据、特殊标记数据和默认空间分割方式数据;在搭建指令图过程中需要修改指令单元的面板数据以保证指令单元按照预定的方式运行;其中,面板数据为用户根据待实现的特定功能设定的对应该特定功能的功能名称或指定数据。5.根据权利要求4所述的一种基于标准数据交换的指令集可视化操作系统,其特征在于,所述指令图运行子模块中执行一个指令图的具体过程包括:重置指令图中所有指令单元的状态为通行状态;使用拓扑排序对指令图中的指令单元进行排序,获得指令单元的执
行顺序;根据指令单元的执行顺序逐一执行指令单元,指令单元执行数据处理的过程为:输入端口接收上游指令单元的输出端口输出的具有标准数据交换结构的数据,然后对该数据进行处理,输出端口输出数据处理结果;若上游指令单元为阻塞状态,则其下游指令单元放弃执行,并标记自身状态为阻塞状态;当指令图中的任一指令单元都被执行过一次或已被标记为阻塞状态,当前指令图执行完成;所述指令图运行子模块中利用单线程完成多个指令图的执行,具体步骤包括:首先,在多个指令图之间建立指令图执行关系;然后利用单线程根据指令图执行关系依次执行多个指令图,具体为:建立线程组,线程组中只包含一个线程;将多个指令图放置到相应的线程中,同一线程中存在一个或多个指令图;标记线程初始状态为正常启动状态;启动线程组,线程组中被标记为正常启动状态的线程开始运行;循环执行线程中指令图,直到该线程被标记为停止运行状态;线程停止运行后,退出线程组运行;所述指令图运行子模块中利用多线程完成多个指令图的执行,具体步骤包括:建立线程组,线程组包括多个线程,每个线程具有唯一分配的线程ID;将多个指令图放置到相应的线程中,同一线程中存在一个或多个指令图;标记线程初始状态为正常启动状态或延迟启动状态;启动线程组,线程组中被标记为正常启动状态的线程开始运行,被标记为延迟启动状态的线程不运行;线程运行时循环执行线程中指令图,直到该线程被标记为停止运行状态;处于延迟启动状态或停止运行状态的线程被标记为正常启动状态后才开始运行;当线程组中的所有线程都没有运行且状态不是正常启动状态,则停止线程组的运行。6.根据权利要求5所述的一种基于标准数据交换的指令集可视化操作系统,其特征在于,所述指令图运行子模块中利用多线程完成多个指令图的执行过程中,对线程组中的一个或多个线程建立线程拷贝,所述线程拷贝为运行过程中复...

【专利技术属性】
技术研发人员:张宇
申请(专利权)人:张宇
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1