1.一种基于数据流程序的可执行文件格式的设置方法,其特征在于,包括如下步骤:获取函数代码的各数据流节点;创建所述各数据流节点的起始地址列表和拓扑信息列表,所述拓扑信息列表包括:各数据流节点总数和/或各数据流节点之间的拓扑关系和/或所述各数据流节点的先后执行顺序和/或所述各数据流节点在动态迁移时的当前调度执行状态;创建基于所述各数据流节点的起始地址列表和拓扑信息列表形成的节点程序拓扑图;在链接所述各数据流节点时,将所述各数据流节点链接成PIC位置无关代码,并将所述PIC位置无关代码独立成节;在链接所述各数据流节点时,基于所述各数据流节点的起始地址将所述各数据流节点的起点在页边界对齐从而构成段;排布所述起始地址列表、所述拓扑信息列表至第一程序段,和,排布所述各数据流节点至第二程序段;根据所述第一程序段和所述第二程序段的内容形成目标可执行文件,并在所述目标可执行文件上添加所述节点程序拓扑图的位置标识信息。
2.根据权利要求1所述的基于数据流程序的可执行文件格式的设置方法,其特征在于,在链接所述各数据流节点时,将所述各数据流节点的输入数据的地址信息重定位至所属目标堆栈区域中,而暂未对所述各数据流节点的输出数据的地址信息进行重定位。
3.一种可执行文件数据流程序的迁移方法,其特征在于,包括如下步骤:在目标可执行文件中,确定待迁移数据流节点;基于权利要求1至2中任一项所述的基于数据流程序的可执行文件格式的设置方法中的节点程序拓扑图,对所述待迁移数据流节点的起始地址重定位至所属目标堆栈区域中,并将所述目标堆栈区域的当前起始地址更新在所述节点程序拓扑图中;根据所述节点程序拓扑图,获取所述待迁移数据流节点的当前调度运行状态;根据所述待迁移数据流节点的当前调度运行状态,确定是否将虚拟存储区域的所述待迁移数据流节点映射在物理存储区域上。
4.根据权利要求3所述的可执行文件数据流程序的迁移方法,其特征在于,根据所述待迁移数据流节点的当前调度运行状态,确定是否将虚拟存储区域的所述待迁移数据流节点映射在物理存储区域上,包括:若所述待迁移数据流节点的当前调度运行状态为已执行状态,将所述虚拟存储区域的所述待迁移数据流节点在物理存储区域上解除映射对应关系;若所述待迁移数据流节点的当前调度运行状态为正执行状态,将所述虚拟存储区域的所述待迁移数据流节点锁定在物理存储区域上;若所述待迁移数据流节点的当前调度运行状态为待执行状态,无需将所述虚拟存储区域的所述待迁移数据流节点映射在物理存储区域上。
5.根据权利要求3所述的可执行文件数据流程序的迁移方法,其特征在于,还包括:若所述物理存储区域的存储空间小于或等于预设阈值时,按照所述节点程序拓扑图的先后执行顺序,将虚拟存储区域的所述待迁移数据流节点映射在物理存储区域上。
6.根据权利要求3至5中任一项所述的可执行文件数据流程序的迁移方法,其特征在于,基于所述节点程序拓扑图,在迁移所述待迁移数据流节点时,对所述待迁移数据流节点的输入地址进行重定位至所属目标堆栈区域,无需对所述待迁移数据流节点的输出地址进行重定位,所述待迁移数据流节点的输出数据写入到后续节点所在堆栈区域中。
7.根据权利要求3至5中任一项所述的可执行文件数据流程序的迁移方法,其特征在于,基于所述节点程序拓扑图,在迁移所述待迁移数据流节点时,在相同处理器上执行的所述待迁移数据流节点的栈帧起始地址相同,在执行所述待迁移数据流节点时,使用页表地址机制限制所述待迁移数据流节点的数据内存地址访问范围在本节点的内存空间中。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1至2中任一项所述的基于数据流程序的可执行文件格式的设置方法;或,权利要求3至7中任一项所述的可执行文件数据流程序的迁移方法。
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至2中任一项所述的基于数据流程序的可执行文件格式的设置方法;或,权利要求3至7中任一项所述的可执行文件数据流程序的迁移方法。