System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种计算系统的数据处理方法、装置、电子设备及存储介质。
技术介绍
1、系统软件中的一个复杂算子可以通过组合多个基础算子就可以实现,但更为普遍的情况是,一个复杂算子拆分后除了得到基础算子,还会得到很多非计算类型的逻辑类操作,这些逻辑类操作在基础算子库上没有对应的实现。为此,这些逻辑类操作需要编写大量的辅助函数来完成适合逻辑类操作的运算。当有新的辅助函数需要添加到系统中时,还需要重新编译主程序,给开发者带来困难,操作不灵活。
技术实现思路
1、针对现有技术存在的问题,本专利技术提供一种计算系统的数据处理方法、装置、电子设备及存储介质。
2、本专利技术提供一种计算系统的数据处理方法,包括:
3、解析计算系统的软件中的算子配置文件,构造所述算子配置文件对应的表达树;所述算子配置文件包含算子内容和逻辑内容,所述逻辑内容采用插件plugin方式配置在所述算子配置文件中;所述表达树的节点表征所述算子内容中的基础算子和所述逻辑内容中的函数主体代码;
4、对所述表达树进行遍历,并根据每个节点对应的业务数据,在基础算子库中调用对应于基础算子的算子函数,以及在插件动态库中调用对应于函数主体代码的逻辑代码段,执行数据处理,得到完整的处理结果。
5、在一个实施例中,所述方法还包括:
6、配置初始的算子配置文件,初始的算子配置文件包括算子内容,所述算子配置文件中含有“plugin_函数名”语句;
7、对初始
8、配置对应于所述函数主体代码的函数接口,所述函数接口用于获取适用于所述函数主体代码的逻辑代码段;
9、将所述逻辑代码段存储在插件动态库中;
10、其中,所述函数主体代码和所述逻辑代码段作为算子配置文件的逻辑内容。
11、在一个实施例中,所述方法还包括:
12、确定plugin_函数名和函数主体代码,基于所述函数主体代码确定主体标识;
13、根据所述plugin_函数名,确定在配置列表中查找到与所述plugin_函数名对应的待选数据库;
14、基于所述plugin_函数名根据配置结构模板及主体标识,创建配置名,并在所述待选数据库中创建子数据库,用于存储所述配置名对应的逻辑代码段;
15、当在配置列表中未查找到与所述plugin_函数名对应的待选数据库时,构建一新数据库,并基于所述plugin_函数名根据配置结构模板及主体标识,创建配置名,并在所述新数据库中创建子数据库;
16、其中,所述子数据库以所述配置名进行命名;多个所述数据库构成所述插件动态库。
17、在一个实施例中,在基于初始的算子配置文件中的算子内容生成对应于“plugin_函数名”的函数主体代码之前,所述方法还包括:
18、当识别到“plugin_函数名”语句,自动生成一个类“var_plugin”和一个函数“var_函数名”;
19、在生成的类“var_plugin”的init函数中,对“var_函数名”进行注册,注册到“var_plugin”中。
20、在一个实施例中,所述方法还包括:
21、在“var_plugin”上配置一个funclist_字典,所述funclist_字典中的key为函数名;所述funclist_字典中的value是函数指针,指向“var_函数名”;
22、相应地,在插件动态库中调用对应于函数主体代码的逻辑代码段,包括:
23、确定plugin_函数名,基于plugin_函数名在funclist_字典中,确定函数指针;
24、基于plugin_函数名在插件动态库中确定调用数据库,在所述调用数据库中基于函数主体代码确定逻辑代码段;
25、通过所述函数指针调用执行所述逻辑代码段。
26、在一个实施例中,所述方法还包括:
27、解析计算系统的软件中的算子配置文件,确定所述算子配置文件的逻辑内容含有更新代码段时,对所述更新代码段进行解析,获得原有“plugin_函数名”语句和新“plugin_函数名”语句;
28、基于所述算子配置文件中的算子内容生成对应于新“plugin_函数名”的函数主体代码,并获取适用于所述函数主体代码的逻辑代码段;
29、将所述逻辑代码段存储在插件动态库中,并将原有“plugin_函数名”对应的数据库中对应于原有“plugin_函数名”的所述函数主体代码的子数据库转移到插件缓存中,并在缓存列表中记录转移时间、原有“plugin_函数名”的所述函数主体代码和新“plugin_函数名”的函数主体代码的对应关系;
30、基于所述转移时间记录转移时长,并在转移时长超出预设时长时,将插件缓存中对应的子数据库删除。
31、本专利技术还提供一种计算系统的数据处理装置,包括:
32、解析计算系统的软件中的算子配置文件,构造所述算子配置文件对应的表达树;所述算子配置文件包含算子内容和逻辑内容,所述逻辑内容采用插件plugin方式配置在所述算子配置文件中;所述表达树的节点表征所述算子内容中的基础算子和所述逻辑内容中的函数主体代码;
33、对所述表达树进行遍历,并根据每个节点对应的业务数据,在基础算子库中调用对应于基础算子的算子函数,以及在插件动态库中调用对应于函数主体代码的逻辑代码段,执行数据处理,得到完整的处理结果。
34、本专利技术还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述计算系统的数据处理方法。
35、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述计算系统的数据处理方法。
36、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述计算系统的数据处理方法。
37、本专利技术提供的一种计算系统的数据处理方法、装置、电子设备及存储介质,通过插件方式在系统软件的配置文件中配置逻辑内容,并以遍历表达树的方式共同执行逻辑内容和算子内容对业务数据进行处理得到处理结果,做到开发者可直接配置所需的逻辑类操作,无需关注系统软件底层的实现细节,提高开发效率,同时提高运算速度。
本文档来自技高网...【技术保护点】
1.一种计算系统的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的计算系统的数据处理方法,其特征在于,在基于初始的算子配置文件中的算子内容生成对应于“plugin_函数名”的函数主体代码之前,所述方法还包括:
5.根据权利要求4所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
7.一种计算系统的数据处理装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述计算系统的数据处理方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述计算
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述计算系统的数据处理方法。
...【技术特征摘要】
1.一种计算系统的数据处理方法,其特征在于,包括:
2.根据权利要求1所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的计算系统的数据处理方法,其特征在于,在基于初始的算子配置文件中的算子内容生成对应于“plugin_函数名”的函数主体代码之前,所述方法还包括:
5.根据权利要求4所述的计算系统的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的计算系统的数据处理方法,其特征在于,所述方法...
【专利技术属性】
技术研发人员:李磊,李柏宏,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。