CN105183451B - 一种确定调用关系的方法和多维程序管理装置 - Google Patents
一种确定调用关系的方法和多维程序管理装置 Download PDFInfo
- Publication number
- CN105183451B CN105183451B CN201510457197.6A CN201510457197A CN105183451B CN 105183451 B CN105183451 B CN 105183451B CN 201510457197 A CN201510457197 A CN 201510457197A CN 105183451 B CN105183451 B CN 105183451B
- Authority
- CN
- China
- Prior art keywords
- geometry
- target
- unit
- data space
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000006870 function Effects 0.000 claims description 169
- 230000000295 complement effect Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 description 17
- 230000000153 supplemental effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 239000007787 solid Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000000018 DNA microarray Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002493 microarray Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 150000003384 small molecules Chemical class 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种确定调用关系的方法和多维程序管理装置,该确定调用关系的方法包括:建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;将各个目标几何结构进行匹配;根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系,有效地降低了编程的复杂度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种确定调用关系的方法和装置。
背景技术
随着计算机技术应用范围的不断发展,应用软件的编程越发复杂、庞大。在现有的编程方法中,通常按照经验积累和实践总结,通过人工的方式为函数和类建立起逻辑链,其中,函数与类是附属于这一逻辑链上的节点,类、函数与数据之间的传递则按照逻辑链中人工设定的路径进行。例如:对于智能化领域中常见的网络神经算法来说,在进行编程之前,程序的设计者需要先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理,最后再将这一逻辑推理形成逻辑链,该逻辑链以编程的方式予以实现。因此,在现有的编成技术中,类、函数与数据之间的逻辑关系越复杂,逻辑链也将越复杂,导致了编程的复杂度越高。
发明内容
本发明提供一种确定调用关系的方法和多维程序管理装置,以有效地降低编程的复杂度。
一种确定调用关系的方法,建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构,还包括:
将至少两个目标程序单元载入所述数据空间;
在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;
将各个目标几何结构进行匹配;
根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系。
优选地,上述方法进一步包括:为每类程序单元设定识别字段;
所述设定在所述数据空间中每类程序单元的几何结构包括:根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
所述将各个目标几何结构进行匹配包括:将所述各个目标几何结构在形状上进行互补匹配;
所述根据所述各个目标几何结构匹配的结果,确定所述各个几何结构对应的目标程序单元间的调用关系包括:
如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
优选地,该方法进一步包括:建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;
在所述将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构之后,在所述各个目标几何结构间进行匹配之前,进一步包括:
根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个目标几何结构分别配置第一空间坐标;
所述将各个目标几何结构进行匹配,包括:为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
优选地,进一步包括:在所述数据空间设置操作指针;
在所述确定所述目标几何结构对应的目标程序单元间的调用关系之后,进一步包括:
根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为匹配成功的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
将所述操作指针指向所述第二空间坐标;
当调用第三目标几何结构对应的目标程序单元处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,并将该目标数据输送至所述第二空间坐标对应的该第三目标几何结构;以触发该第三目标几何结构进行目标数据处理。
优选地,在所述确定所述各个几何结构对应的目标程序单元间的调用关系之后,进一步包括:
当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;
按照第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。
优选地,所述程序单元,包括:
函数和由多个函数组成的能够实现特定目标的程序中的任意一个或两个。
一种多维程序管理装置,包括:
设置单元,建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;
读取匹配单元,用于将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;并将各个目标几何结构进行匹配;
确定调用单元,用于根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系。
优选地,所述设置单元,进一步用于为每类程序单元设定识别字段,并根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
所述读取匹配单元,用于将所述各个目标几何结构在形状上进行互补匹配;
所述确定调用单元,如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
优选地,所述多维程序管理装置,进一步包括:确定优先级单元和控制调用单元,其中,
所述确定优先级单元,用于当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述确定调用单元中所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;
所述控制调用单元,用于按照所述确定优先级单元确定的所述第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。
优选地,所述多维程序管理装置,进一步包括:配置坐标单元,其中,
所述设置单元,进一步用于建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;
所述配置坐标单元,用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个几何结构配置第一空间坐标;
所述读取匹配单元,用于为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
优选地,所述多维程序管理装置,进一步包括:数据处理单元,其中,
所述设置单元,进一步用于在所述数据空间设置操作指针;
所述配置坐标单元,进一步用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为所述确定调用单元确定了调用关系的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
所述数据处理单元,用于将所述操作指针指向所述第二空间坐标,当调用第三目标几何结构对应的目标程序单元处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,并将该目标数据输送至所述第二空间坐标对应的该第三目标几何结构;以触发该第三目标几何结构进行目标数据处理。
优选地,用于处理的所述程序单元,包括:
函数和由多个函数组成的能够实现特定目标的程序中的任意一个或两个。
本发明实施例提供了一种确定调用关系的方法和多维程序管理装置,通过建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;将各个目标几何结构进行匹配;根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系,有效地降低了编程的复杂度。
附图说明
图1为本发明实施例提供的一种确定调用关系的方法流程示意图;
图2为实施例1中确定函数间调用关系的方法流程示意图;
图3为实施例1中两个具有调用关系的函数形成的互补几何结构示意图;
图4为实施例1中通过与新的函数构建路径达到新的目标的结构示意图;
图5为实施例2中确定程序间调用关系的方法流程示意图;
图6为本发明实施例提供的多维程序管理装置所在架构示意图;
图7为本发明实施例提供的一种多维程序管理装置结构示意图;
图8为本发明另一实施例提供的一种多维程序管理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种确定调用关系的方法,该方法可以包括如下步骤:
步骤101:建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;
步骤102:将至少两个目标程序单元载入所述数据空间;
步骤103:在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;
步骤104:将各个目标几何结构进行匹配;
步骤105:根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系。
在本发明一个实施例中,为了能够准确的识别每类程序单元,并为每类程序单元对应的几何结构建立起对应关系,以成功建立调用关系,本发明实施例进一步包括:为每类程序单元设定识别字段;其中,步骤101中所述设定在所述数据空间中每类程序单元的几何结构的具体实时方式:根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;步骤104的具体实施方式为:将所述各个目标几何结构在形状上进行互补匹配;而步骤105的具体实施方式为:如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
在本发明一个实施例中,为了确定每个几何结构在数据空间中的位置,以准确调配几何结构对应的程序单元,本发明实施例进一步包括:建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;而在步骤103之后,在步骤104之前,进一步包括:根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个目标几何结构分别配置第一空间坐标;步骤104的具体实施方式:为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
在本发明一个实施例中,为了避免调用关系紊乱,在步骤105之后,进一步包括:当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;按照第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。
在本发明一个实施例中,为了使该方法成功应用于整个编程过程中,上述程序单元为函数,中的任意一个或多个。
由于编程过程中所涉及到的函数间、由多个函数组成的能够实现特定目标的程序间和确定调用关系的参数数据间均具有调用关系,而函数、程序和参数数据间也存在一定的调用关系,而在编程过程中函数、程序和参数数据的调用关系又有所差异,因此,本发明将通过以下3个实施例展开说明函数、程序和参数数据实现调用关系的具体实施方式。
实施例1:
如图2所示,本发明实施例提供了一种应用于函数间的确定调用关系的方法,该方法可以包括如下步骤:
步骤200:根据函数的类型,为每类函数设定识别字段;
步骤201:建立数据空间,并为数据空间建立坐标轴,确定所述数据空间坐标轴的起始位置,在所述数据空间设置操作指针;
数据空间可根据环境参数如:数据空间大小等设置数据空间,该数据空间为三维以上的空间,该数据空间具有多个维度,可以使函数以立体结构的方式存在,而通过建立的坐标轴和坐标轴的起始位置,可以准确的定位出存在于数据空间中的函数的位置,而通过操作指针可以准确的找到函数位置,为实现调用关系和完成调用提供了基础环境。
步骤202:根据预先确定的各类函数之间的调用关系和所述识别字段,设定函数的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
例如:如图3所示,函数FuncA()与FuncB()为两个可交互的函数,且FuncA()可调用FuncB(),而函数FuncA()对应的几何结构中对应的参数ParamA和ParamB为函数FuncA()的Key字段即识别字段,FuncB()几何结构中对应的参数ParamA和ParamB为FuncB()的Key字段,这些Key字段决定了函数对应的几何结构间的互补关系,从图中,可以看出,函数FuncA()及其对应的参数ParamA和ParamB组成了“凹”结构的几何结构,而函数FuncB()其对应的参数ParamA和ParamB组成了“凸”结构的几何结构,这函数FuncA()与函数FuncB()对应的两个几何体的凹凸接触面之间满足相互结合的几何属性,可以确定这种调用关系成立。
步骤203:将至少两个函数载入所述数据空间;
步骤204:在所述数据空间中,根据所述设定的每类函数的几何结构,将所述载入所述数据空间中的每一个函数抽象为一个对应的目标几何结构;
例如:可预先将一类函数设定为“凹”形,将另一类设定为“凸”形等等,根据这预先设定的几何结构,在函数载入数据空间之后,即可将函数抽象为对应的形状,如:函数1预先设定的形状为长方体,那么其在载入数据空间之后,以抽象的长方体的几何结构存在。
步骤205:根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个目标几何结构分别配置第一空间坐标;
由于数据空间就如同一个大的容器,而各个函数就好像容器中存在的空气中的一个小分子,为了能够准确定位出各个函数的位置,本发明实施例则根据为数据空间建立的坐标轴和坐标轴的起始位置,如:以三维的数据空间为例,坐标轴分为x轴、y轴和z轴,通过坐标轴,可以确定,函数1的坐标为(1,1,1),函数2的坐标为(1,2,1),函数3的坐标为(2,3,4)等等,通过这些坐标位置可以准确的找到需要的函数。
步骤206:将所述各个目标几何结构在形状上进行互补匹配;
某一个函数对应的几何结构一次与其它几何结构进行匹配,例如:函数1首先与离它最近的函数2进行匹配,如果函数1为“凹”形,函数2也为“凹”形,则函数1不能与函数2进行互补匹配,则函数1继续与函数3进行匹配,如果函数3为“凸”形,刚好可以与函数1匹配成功,则函数1确定一个互补匹配,函数1将继续与后面的函数4,函数5等等依次进行匹配,直到全部找出几何结构的形状上的互补匹配,在这整个过程中,函数1能够准确的找到函数2、函数3、函数4以及函数5等等的准确位置,则依赖于步骤205为各个目标几何结构分别配置第一空间坐标,即整个匹配过程为:为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
步骤207:根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标函数间的调用关系;
如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标函数间存在调用关系。例如:函数1对应的几何结构分别和函数3对应的几何结构和函数4对应的几何结构形状上互补,而函数3对应的几何结构也可与函数4对应的几何结构形成互补,则函数1和函数3形成调用关系,函数1和函数4形成调用关系,函数1、函数3以及函数4也形成了调用关系,如果函数1产生的结果刚好是函数3所需参数数据,则确定函数1调用函数3,如:void_c(){ int i; void_d(i); }这样的调用就可以通过参数int i的传递,确定调用关系;又比如:void_a(){void_b();}中,由于函数a和函数b都没有参数传递的关系,那么,这两个函数的调用关系就需要通过程序设计者自定义来完成。
值得说明的是,在此过程中,为了避免函数调用出现紊乱,如:函数1同时调用函数3和函数4等,可能由于系统无法承受该同时调用的过程而导致系统崩溃,本发明实施例设置了调用优先级的原则,即:当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;那么,可以按照第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标函数。
步骤208:根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为匹配成功的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
由于各个目标函数在进行匹配过程中会不断发生移动,当匹配完成后,各个目标函数的位置将国定不变,为了能够更好的确定各个目标函数的位置,需确定匹配后各个目标函数在数据空间中的位置,即目标函数的第二空间坐标。
步骤209:将所述操作指针指向所述第二空间坐标;
通过在数据空间设置操作指针可提供各个函数在空间中的位置,以更快速的找到函数所在的位置。而且通过该第二空间坐标也使函数的工作路径清晰可见,例如:函数1可用来调用函数3,函数3可用来调用函数4,函数4可用来调用函数5等等,而函数1的空间坐标为(1,1,3),函数3的空间坐标为(2,3,3),函数4的空间坐标为(3,4,3),函数5的空间坐标为(1,4,2)等等,那么,可清晰地知道一条调用路径为坐标(1,1,3)→坐标(2,3,3) →坐标(3,4,3)→坐标为(1,4,2),即函数1→函数3→函数4→函数5等等。
步骤210:将该目标数据输送至所述第二空间坐标对应的第三目标几何结构,以触发该第三目标几何结构进行目标数据处理。
该步骤主要是当调用第三目标几何结构对应的目标函数处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,例如:需要函数1进行数据处理,而该函数1对应的几何结构的坐标为(1,3,4),则通过本发明实施例进行数据处理的过程:通过操作指针在坐标为(1,3,4)处获取到函数1,将需要处理的目标数据输送到坐标为(1,3,4)的位置,以为函数1提供待处理的数据。
通过本发明实施例提供的确定调用关系的方法,可在需要增加函数时,只需要将新的函数添加入数据空间中,该新的函数与已有函数形成调用关系,如图4所示,设函数FuncA在设计之初可以分别调用函数FuncB,FuncC,FuncD,达成目标ObjectAB,ObjectAC,ObjectAD,然而在运行的过程中却发现需要达成新的目标ObjectAX,因此在程序的框架之外,函数FuncA就会在既有的数据空间内寻找可行的替代方案FuncX,并由此建立新的连接曲线,从而实现达到新的目标的目的。值得注意的是:FuncX既可以是源自程序本身的升级补丁,也可以是源自于共同作用于同一数据空间中的其他程序。
实施例2:
在本实施例中,主要说明不同应用程序间确定调用关系的方法,该不同应用程序间的调用关系除了上述为每个应用程序设置几何结构,根据上述几何结构的互补原则确定调用关系之外,上述实施例1中多个函数也可形成一个应用程序,那么在实施例1形成的程序的基础之上进一步确定应用程序间的调用关系。
如图5所示,本发明实施例提供了一种确定包含有多个函数的程序间的调用关系的方法,该方法可包括以下步骤:
步骤501:建立数据空间,并为数据空间划分出不同的空间区域;
该步骤主要是为不同程序共用同一空间提供便利的条件,避免不同程序间的函数在同一空间区域产生混乱。
步骤502:将不同程序中的函数分别载入到不同的空间区域,建立程序对应的空间几何结构;
在该步骤中,同一空间区域中的函数将按照实施例1提供的方案确定调用关系,而同一空间区域的多个函数则组成一个程序,而这多个函数相对于空间区域来说,相当于一个节点,而该节点与调用路径可共同组成一个空间几何结构,即为程序的空间几何结构;
步骤503:不同区域的程序对应的空间几何结构间进行匹配;
例如:数据空间被分成了5个区域,这5个区域均存在一个程序,区域1中各个函数间组成的几何结构为“锁”形,即区域1中程序1对应的几何结构中一面为“锁”形,一面为“凹”形,区域2中各个函数间组成的几何结构为“钥匙”形,即区域2中程序2对应的几何结构中一面为“钥匙”形,一面为“锁”形,区域3中各个函数间组成的几何结构为“钥匙”形,即区域3中程序3对应的几何结构为“钥匙”形,区域4中各个函数间组成的几何结构为“凸”形,即区域4中程序4对应的几何结构为“凸”形,区域5中各个函数间组成的几何结构中为“正方体”形,即区域5中程序5对应的几何结构为“正方体”形,那么区域1中的几何结构依次与区域2、区域3、区域4以及区域5的几何结构进行匹配,最后可获得一种匹配结果可以为程序4→程序1→程序2→程序3,而程序5无法与其他程序完成匹配。
步骤504:根据上述匹配的结果,确定不同空间区域中程序间的调用关系。
该过程只需要通过最基本的函数即可建立起不同空间区域间不同程序的调用关系,而无须人为的设定不同程序间复杂的逻辑关系,有效地,提高了编程的速度,简化了编程的复杂性。
实施例3:
在本实施例中,主要说明,在实施例1基础之上,参数数据与函数间确定调用关系的方法,可以通过设定参数数据的几何结构与对应的函数的几何结构具有互补关系,那么,参数数据可根据自身的几何结构确定其需要调用的函数,在确定需要调用的函数的具体位置之后,可将该参数数据填充入函数之内,从而完成参数数据调用目标函数。值得说明的是,数据处理过程中,也可将数据抽象为与函数的几何结构互补的数据对应的几何结构。
在本发明一个实施例中,当上述调用关系的方法已经建立之后,可以通过调用函数MDACreateManager(),初始化多维化程序管理装置,该多维化程序管理装置是确定调用关系的所需装置,是实现确定调用关系的方法的基础;通过调用函数MDAGetParam(),可以获取数据空间的相关参数。如:数据空间大小等;通过调用函数MDAInitDataSpace(),实现初始化多维数据空间;调用函数MDALoadApplication(),将多维化应用程序载入到数据空间之中;通过调用函数MDAParseApplication(),可以解析应用程序中的多维化函数定义,根据这些定义构建相关函数的空间几何结构;并通过循环调用函数MDAMatchGeometry(),为数据空间中的几何体结构寻找匹配,通过调用函数MDAResetCoordinates(),为数据空间中几何体结构定义空间坐标。
如图6、图7所示,本发明实施例提供了一种多维程序管理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图6所示,为本发明实施例多维程序管理装置所在设备的一种硬件结构图,除了图6所示的CPU、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责调用程序单元的芯片芯片等等。以软件实现为例,如图7所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的多维程序管理装置70包括:
设置单元701,建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;
读取匹配单元702,用于将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;并将各个目标几何结构进行匹配;
确定调用单元703,用于根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系。
在本发明另一实施例中,所述设置单元701,进一步用于为每类程序单元设定识别字段,并根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
所述读取匹配单元702,用于将所述各个目标几何结构在形状上进行互补匹配;
所述确定调用单元703,如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
在本发明另一实施例中,如图8所示,上述多维程序管理装置进一步包括:确定优先级单元801和控制调用单元802,其中,
所述确定优先级单元801,用于当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述确定调用单元中所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;
所述控制调用单元802,用于按照所述确定优先级单元确定的所述第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。
在本发明一个实施例中,上述多维程序管理装置进一步包括:配置坐标单元(图中未示出),其中,
所述设置单元701,进一步用于建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;
所述配置坐标单元,用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个几何结构配置第一空间坐标;
所述读取匹配单元702,用于为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
在本发明又一实施例中,上述多维程序管理装置,进一步包括:数据处理单元(图中未示出),其中,
所述设置单元701,进一步用于在所述数据空间设置操作指针;
所述配置坐标单元,进一步用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为所述确定调用单元确定了调用关系的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
所述数据处理单元,用于将所述操作指针指向所述第二空间坐标,当调用第三目标几何结构对应的目标程序单元处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,并将该目标数据输送至所述第二空间坐标对应的该第三目标几何结构;以触发该第三目标几何结构进行目标数据处理。
在本发明一个实施例中,上述多维程序管理装置用于处理的所述程序单元,包括:函数,由多个函数组成的能够实现特定目标的程序和确定调用关系的参数数据中的任意一个或多个。
本发明实施例所述的方法,至少能够达到如下有益效果:
1.通过建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构,将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;将各个目标几何结构进行匹配;根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系,那么程序设计人员无需设计复杂的逻辑链,有效地降低了编程的复杂度。
2.由于本发明实施例可以根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系,这一过程进一步保证了编程所需逻辑链可以自动形成,有效地减小了大型程序设计周期,从而降低了程序设计成本。
3.在现有技术中,当外部环境发生改变,程序需要改变关联顺序时,就需要重新进行设计、编码,这就造成了程序的后期维护成本较高,而在本发明实施例中,当外部环境发生改变,只需将新的函数、程序或参数数据载入数据空间中,其对应的几何结构可自行完成匹配,而无需重新编写代码等,有效地节省了程序的后期维护成本。
4.在现有技术中,程序功能的设计需要使用到相关行业中的专业知识,而计算机领域的专家往往对此并不熟悉,而专业领域的从业者对计算机程序同样也缺乏了解,这就导致程序设计与实际应用存在一定程度的偏差,而本发明实施例只需要将程序所需最基本的函数设计出来,函数之间可自行建立起调用关系,而无需程序设计者编写逻辑链,有效地避免了程序设计与实际应用产生的偏差。
5.在本发明实施例中当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;按照第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。可以有效地避免调用关系的紊乱,使程序的调用更加清晰。
6.本发明实施例中确定调用关系的方法可以应用于函数,由多个函数组成的能够实现特定目标的程序和确定调用关系的参数数据中的任意一个或多个,一定程度上提高了编程的速度,而且,对于在已存在的程序中增加新的函数、程序或参数数据的过程,无需对已存在的程序进行重新编程,只需将新的函数、程序或参数数据载入到数据空间,该新的函数、程序或参数数据可通过几何形状互补匹配建立起新的逻辑线路,一定程度上提高了程序的智能化。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (9)
1.一种确定调用关系的方法,其特征在于,建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构,还包括:
将至少两个目标程序单元载入所述数据空间;
在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;
将各个目标几何结构进行匹配;
根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系;
其中,
所述数据空间为根据数据空间大小设置,为三维以上的空间,具有多个维度;函数以立体结构的方式存在于所述数据空间中;
进一步包括:为每类程序单元设定识别字段;
所述设定在所述数据空间中每类程序单元的几何结构包括:根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
所述将各个目标几何结构进行匹配包括:将所述各个目标几何结构在形状上进行互补匹配;
所述根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系包括:
如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;
在所述将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构之后,在所述各个目标几何结构间进行匹配之前,进一步包括:
根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个目标几何结构分别配置第一空间坐标;
所述将各个目标几何结构进行匹配,包括:为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
3.根据权利要求2所述的方法,其特征在于,进一步包括:在所述数据空间设置操作指针;
在所述确定所述目标几何结构对应的目标程序单元间的调用关系之后,进一步包括:
根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为匹配成功的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
将所述操作指针指向所述第二空间坐标;
当调用第三目标几何结构对应的目标程序单元处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,并将该目标数据输送至所述第二空间坐标对应的该第三目标几何结构;以触发该第三目标几何结构进行目标数据处理。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述目标几何结构对应的目标程序单元间的调用关系之后,进一步包括:
当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;
按照第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元。
5.根据权利要求1至4任一所述的方法,其特征在于,所述程序单元,包括:
函数和由多个函数组成的能够实现特定目标的程序中的任意一个或两个。
6.一种多维程序管理装置,其特征在于,包括:
设置单元,建立数据空间,根据程序单元的类型,设定在所述数据空间中每类程序单元的几何结构;
读取匹配单元,用于将至少两个目标程序单元载入所述数据空间;在所述数据空间中,根据所述设定的每类程序单元的几何结构,将所述载入所述数据空间中的每一个目标程序单元抽象为一个对应的目标几何结构;并将各个目标几何结构进行匹配;
确定调用单元,用于根据所述各个目标几何结构匹配的结果,确定所述目标几何结构对应的目标程序单元间的调用关系;
其中,
所述数据空间为根据数据空间大小设置,为三维以上的空间,具有多个维度;函数以立体结构的方式存在于所述数据空间中;
所述设置单元,进一步用于为每类程序单元设定识别字段,并根据预先确定的各类程序单元之间的调用关系和所述识别字段,设定在所述数据空间中每类程序单元的几何结构,并将任意两类存在调用关系的程序单元的几何结构设定为在形状上互补;
所述读取匹配单元,用于将所述各个目标几何结构在形状上进行互补匹配;
所述确定调用单元,如果任意两个目标几何结构在形状上互补,则确定该两个目标几何结构对应的目标程序单元间存在调用关系。
7.根据权利要求6所述的多维程序管理装置,其特征在于,
进一步包括:确定优先级单元和控制调用单元,其中,
所述确定优先级单元,用于当目标几何结构中的第四几何结构与其他多个目标几何结构相匹配时,按照第四几何结构距离其他每一个目标几何结构的距离的远近,确定所述确定调用单元中所述第四几何结构与其他每一个目标几何结构之间的调用关系的优先级;当第四几何结构距离其他多个目标几何结构的距离相同时,按照顺时针方向,确定第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级;
所述控制调用单元,用于按照所述确定优先级单元确定的所述第四几何结构与所述其他多个目标几何结构之间的调用关系的优先级,调用第四几何结构与匹配的目标几何结构对应的目标程序单元;
和/或,
进一步包括:配置坐标单元,其中,
所述设置单元,进一步用于建立数据空间坐标轴,并确定所述数据空间坐标轴的起始位置;
所述配置坐标单元,用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为各个几何结构配置第一空间坐标;
所述读取匹配单元,用于为第一目标几何结构提供第二目标几何结构的第一空间坐标,并控制所述第一目标几何结构移动到所述第二目标几何结构在数据空间中的位置,将所述第一目标集合结构与所述第二目标几何结构进行匹配。
8.根据权利要求7所述的多维程序管理装置,其特征在于,
进一步包括:数据处理单元,其中,
所述设置单元,进一步用于在所述数据空间设置操作指针;
所述配置坐标单元,进一步用于根据所述数据空间坐标轴和所述数据空间坐标轴的起始位置,为所述确定调用单元确定了调用关系的各个目标几何结构所形成的新的空间位置分别配置对应的第二空间坐标;
所述数据处理单元,用于将所述操作指针指向所述第二空间坐标,当调用第三目标几何结构对应的目标程序单元处理目标数据时,通过所述操作指针指向所述第三目标几何结构对应的所述第二空间坐标,并将该目标数据输送至所述第二空间坐标对应的该第三目标几何结构;以触发该第三目标几何结构进行目标数据处理。
9.根据权利要求6至8任一所述的多维程序管理装置,其特征在于,用于处理的所述程序单元,包括:
函数和由多个函数组成的能够实现特定目标的程序中的任意一个或两个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510457197.6A CN105183451B (zh) | 2015-07-30 | 2015-07-30 | 一种确定调用关系的方法和多维程序管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510457197.6A CN105183451B (zh) | 2015-07-30 | 2015-07-30 | 一种确定调用关系的方法和多维程序管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183451A CN105183451A (zh) | 2015-12-23 |
CN105183451B true CN105183451B (zh) | 2018-11-02 |
Family
ID=54905550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510457197.6A Active CN105183451B (zh) | 2015-07-30 | 2015-07-30 | 一种确定调用关系的方法和多维程序管理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183451B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499362A (zh) * | 2002-10-24 | 2004-05-26 | 国际商业机器公司 | 在异构体系结构的集成可执行程序中用多个代码访问全局变量的系统和装置 |
CN101882173A (zh) * | 2010-06-02 | 2010-11-10 | 长安大学 | 一种在线协同设计用被引用拓扑对象编码/命名方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009152233A2 (en) * | 2008-06-10 | 2009-12-17 | Board Of Regents, The University Of Texas System | Programming model and software system for exploiting parallelism in irregular programs |
US8589867B2 (en) * | 2010-06-18 | 2013-11-19 | Microsoft Corporation | Compiler-generated invocation stubs for data parallel programming model |
US8903693B2 (en) * | 2011-06-24 | 2014-12-02 | Siemens Aktiengesellschaft | Boundary handling for particle-based simulation |
-
2015
- 2015-07-30 CN CN201510457197.6A patent/CN105183451B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499362A (zh) * | 2002-10-24 | 2004-05-26 | 国际商业机器公司 | 在异构体系结构的集成可执行程序中用多个代码访问全局变量的系统和装置 |
CN101882173A (zh) * | 2010-06-02 | 2010-11-10 | 长安大学 | 一种在线协同设计用被引用拓扑对象编码/命名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105183451A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7266534B2 (en) | System and method and product of manufacture for automated test generation via constraint satisfaction with duplicated sub-problems | |
CN101076783B (zh) | 控制任务的执行 | |
CN110298437A (zh) | 神经网络的分割计算方法、装置、存储介质及移动终端 | |
CN111026063B (zh) | 数字孪生体构建方法、装置、计算机设备及存储介质 | |
CN109358974A (zh) | 一种进程间通信的方法及相关装置 | |
JPH0658678B2 (ja) | 回路設計を合成する為のプロセス及び装置 | |
CN107741904A (zh) | 测试机自动配置方法、装置、设备及存储介质 | |
CN104679547B (zh) | 一种mcu中的系统配置信息的读取方法和系统 | |
CN108449313A (zh) | 电子装置、互联网服务系统风险预警方法及存储介质 | |
CN110263580A (zh) | 基于区块链的数据处理方法、装置和区块链节点 | |
CN112464497A (zh) | 基于分布式系统的故障演练方法、装置、设备及介质 | |
CN105183451B (zh) | 一种确定调用关系的方法和多维程序管理装置 | |
KR20140035271A (ko) | 제스쳐 인식 방법 및 시스템 | |
CN103595573B (zh) | 一种策略规则的下发方法及装置 | |
CN109427035A (zh) | 半导体设备和图像识别系统 | |
CN107741845A (zh) | 一种自定义类实例的生成方法和装置 | |
CN106294731A (zh) | 入库数据的管理方法及装置 | |
CN110532267A (zh) | 字段的确定方法、装置、存储介质及电子装置 | |
CN105022896A (zh) | 一种基于动态编号的apdl建模方法及装置 | |
CN105161139B (zh) | 电子芯片的测试系统、方法及装置 | |
CN106155978A (zh) | 可重构系统的构建方法和装置 | |
JP2010072876A (ja) | ルール作成プログラム、ルール作成方法及びルール作成装置 | |
CN114358260A (zh) | 一种神经网络模型搭建方法、装置、设备及存储介质 | |
CN104035881A (zh) | 一种车辆参数修改方法及车辆控制器 | |
Kolagani et al. | Easy Agriculture: Crops’ disease detection, pesticide, fertilizer and crop recommendations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180913 Address after: 215100 818 Wusong Road, Wusong River Industrial Park, Wuzhong development area, Suzhou, Jiangsu Applicant after: Tide Financial Information Technology Co Ltd Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province Applicant before: Inspur Group Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |