一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

离线模型的处理方法、装置、存储介质和处理器与流程

2022-03-22 22:29:15 来源:中国专利 TAG:


1.本发明涉及信息处理技术领域,具体而言,涉及一种离线模型的处理方法、装置、存储介质和处理器。


背景技术:

2.在离线的大数据建模平台中,平台向用户提供业务模型图的编排能力,模型图是由若干“sql节点”或“脚本节点”组成的有向无环图(dag),平台可根据用户编排的模型图(dag)进行调度执行,其中,每一个节点对应一个离线计算任务。由于模型是用户根据业务搭建的一系列计算逻辑的组合,那么每个模型就会存在至少一个目标输出节点,当用户选择若干目标输出节点后,模型中常常存在部分与目标输出节点无关的计算节点,这部分节点进行计算将导致资源的浪费。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种离线模型的处理方法、装置、存储介质和处理器,以至少解决由于相关技术的离线模型中存在与目标输出节点无关的计算节点,导致采用该离线模型进行计算时存在资源浪费的技术问题。
5.根据本发明实施例的一个方面,提供了一种离线模型的处理方法,包括:在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算。
6.进一步地,所述方法还包括:若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;将所述多个查询子结果作为所述查询结果。
7.进一步地,将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型包括:在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;将所述多个子模型进行合并,得到更新后的离线模型。
8.进一步地,在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,所述方法还包括:从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为
根节点为止,得到最终的合并列表;将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;若遍历到的节点不是sql节点,则对非sql节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的离线模型中的原始节点;依据所述融合节点和所述原始节点,得到优化后的离线模型。
9.进一步地,将所述最终的合并列表中的节点进行合并时,所述方法还包括:在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
10.进一步地,在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,所述方法还包括:判断所述更新后的离线模型中的节点是否已遍历完;若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点和所述原始节点,得到优化后的离线模型的步骤。
11.进一步地,采用所述更新后的离线模型执行计算包括:采用所述优化后的离线模型执行计算。
12.根据本发明实施例的另一方面,还提供了一种离线模型的处理装置,包括:第一确定单元,用于在离线模型中,确定用户选择的目标输出节点,其中,所述离线模型由多个基于离线计算的节点组成,所述节点表示一个计算规则;第一查找单元,用于采用逐一遍历的方式,在所述离线模型中查找所述目标输出节点的父节点,所述目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,所述查询结果中包括至少一个查询到的节点;第一处理单元,用于将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;计算单元,用于采用所述更新后的离线模型执行计算。
13.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的离线模型的处理方法。
14.根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的离线模型的处理方法。
15.在本发明实施例中,采用删除离线模型中与目标输出节点无关的节点的方式,具体地,在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算,达到了采用更新后的离线模型计算时避免资源浪费的技术效果,进而解决了由于相关技术的离线模型中存在与目标输出节点无关的计算节点,导致采用该离线模型进行计算时存在资源浪费的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1是根据本发明实施例的计算机终端的硬件结构框图;
18.图2是根据本发明实施例一提供的离线模型的处理方法的流程图;
19.图3是根据本发明实施例一提供的离线模型的示意图一;
20.图4是根据本发明实施例一提供的离线模型的示意图二;
21.图5是根据本发明实施例一提供的离线模型的示意图三;
22.图6是根据本发明实施例一提供的离线模型的示意图四;
23.图7是根据本发明实施例一提供的离线模型的示意图五;
24.图8是根据本发明实施例一提供的离线模型的示意图六;
25.图9是根据本发明实施例一提供的离线模型的示意图七;
26.图10是根据本发明实施例一提供的离线模型的示意图八;
27.图11是根据本发明实施例一提供的离线模型的示意图九;
28.图12是根据本发明实施例一提供的可选的离线模型的处理方法的示意图;
29.图13是根据本发明实施例二提供的离线模型的处理装置的示意图;
30.图14是根据本发明实施例的可选的计算机终端的结构框图。
具体实施方式
31.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
32.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
34.离线计算:离线计算就是在计算开始前已知所有输入数据,且输入数据不会产生变化的前提下进行的计算。
35.节点:是模型中的一个基本单元,表示一个计算规则,该规则可以是sql脚本、shell脚本、python脚本等。
36.离线节点:离线节点是基于离线计算的一个节点。
37.模型:模型是若干节点组成的有向无环图(dag),其特征为:上游节点产出的结果,
将作为下游节点的输入。
38.离线模型:离线模型指的是一系列离线节点组成的模型。
39.实施例1
40.根据本发明实施例,提供了一种离线模型的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
41.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现离线模型的处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
42.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
43.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的离线模型的处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的离线模型的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
44.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
45.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
46.在上述运行环境下,本技术提供了如图2所示的离线模型的处理方法。图2是根据本发明实施例一的离线模型的处理方法的流程图。
47.步骤s101,在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则。
48.例如,离线模型如图3所示,虚线框中是用户选择的目标输出节点。
49.步骤s102,采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点。
50.以图3为例,在图3中,采用逐一遍历的方式,在离线模型中查找用户选择的目标输出节点的父节点,父节点的父节点,直到查找到的节点为根节点为止,查找到的节点,如图4中所示的节点。
51.步骤s103,将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型。
52.将图3中的离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型,也即是图4表示的模型。
53.步骤s104,采用更新后的离线模型执行计算。
54.通过上述步骤,采用删除离线模型中与目标输出节点无关的节点的方式,采用更新后的离线模型计算时避免资源浪费的技术效果,进而解决了由于相关技术的离线模型中存在与目标输出节点无关的计算节点,导致采用该离线模型进行计算时存在资源浪费的技术问题。
55.可选地,在本技术实施例提供的离线模型的处理方法中,该方法还包括:若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;将所述多个查询子结果作为所述查询结果。
56.如图5所示,离线模型中两个虚线框中的节点表示用户选择的目标输出节点,采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到的多个查询子结果,例如,查询子结果一(custom_sql、filter、data_source),查询子结果二(filter、join、custom_sql、filter、data_source、filter、data_source、filter)。
57.再例如,用户选择的两个目标输出节点如图6所示,采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果,例如,第一查询子结果(custom_sql、filter、data_source),第二查询子结果(filter、filter、data_source)。
58.在用户选择的目标输出节点为多个节点的情况下,通过上述方案可以得到准确得到多个查询子结果。
59.可选地,在本技术实施例提供的离线模型的处理方法中,将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型包括:在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;将所述多个子模型进行合并,得到更新后的离线模型。
60.例如,将图5中的除查询子结果一(custom_sql、filter、data_source)之外的节点进行删除,得到图7所示的子模型。将图5中的除查询子结果二(filter、join、custom_sql、
filter、data_source、filter、data_source、filter)之外的节点进行删除,得到图8所示的子模型。将图7所示的子模型与图8所示的子模型进行合并,得到更新后的离线模型。
61.例如,将图6中的除第一查询子结果(custom_sql、filter、data_source)之外的节点进行删除,得到子模型一。将图6中的除第二查询子结果(filter、filter、data_source)之外的节点进行删除,得到子模型二。子模型一和子模型二进行合并,得到如图9所示的模型,将图9所示的模型作为更新后的离线模型。
62.可选地,在本技术实施例提供的离线模型的处理方法中,在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,该方法还包括:从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为根节点为止,得到最终的合并列表;将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;若遍历到的节点不是sql节点,则对非sql节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的离线模型中的原始节点;依据所述融合节点和所述原始节点,得到优化后的离线模型。可选地,采用所述更新后的离线模型执行计算包括:采用所述优化后的离线模型执行计算。
63.基于将离线模型中所有sql节点合并为一个大节点,以减少多个单sql任务执行占用计算机的资源的思路,在上述技术方案中,通过将更新后的离线模型中的sql节点进行合并,也即是是对离线模型中的节点进行局部合并,以优化离线模型的多个节点,得到优化后的离线模型,从而进一步减少使用该离线模型进行计算时资源的消耗。
64.可选地,在本技术实施例提供的离线模型的处理方法中,将所述最终的合并列表中的节点进行合并时,该方法还包括:在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
65.对预设规则中的规则说明如下:若当前节点为出度大于1的sql节点,该节点的结果可能被下游多个节点复用,因此对当前节点停止合并。若当前节点的子节点包括入度大于1的节点,说明当前节点的子节点为交、并、差运算等节点,合并可能时计算复杂度增加,因此对当前节点停止合并。若当前节点的子节点为非sql节点,例如,为数据同步节点、api节点、shell脚本节点、python脚本节点等,因此对当前节点停止合并。由于被合并掉的节点没有输出结果,若当前节点为非叶子节点的输出节点,因此输出节点只能作为字段中的最后一个节点,因此对当前节点停止合并。若当前节点为叶子节点,则需要当前节点输出结果,因此对当前节点停止合并。
66.例如,更新后的离线模型如图10所示,对图10中的sql节点进行合并,基于上述预设规则,可将图10模型中的虚线框中节点进行合并,得到图11中的模型,其中,图11中长方形虚线框中的节点表示合并节点,是多个sql节点合并后的结果。其中,合并方式可以通过解析sql,将多个sql重新组成一个sql,并借助sql执行引擎进行sql优化。
67.通过上述方案,限定了对合并列表中的节点进行合并的规则,保证了对节点合并
的准确性,从而保证了优化后的离线模型的准确性。
68.可选地,在本技术实施例提供的离线模型的处理方法中,在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,该方法还包括:判断所述更新后的离线模型中的节点是否已遍历完;若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点和所述原始节点,得到优化后的离线模型的步骤。
69.通过上述方案,在得到优化的离线模型之前,需要对更新后的离线模型中的各个节点遍历完成,在遍历完成后,才能采用合并列表中的节点进行局部合并,不能合并的节点进行保留,得到融合节点和原始节点,从而得到优化后的离线模型。通过将模型中的各个节点遍历完,区分出模型中的sql节点和非sql节点,保证了得到优化的离线模型的准确性。
70.可选地,对更新后的离线模型的节点合并优化的示意图,如图12所示,在更新后的离线模型的根节点开始遍历,判断遍历到的当前节点是否为sql节点,若是,将当前节点加入合并列表,基于合并列表中的节点按照预设规则对更新后的离线模型中的节点进行局部合并,局部合并停止后,将合并列表中的节点进行合并,对离线模型中的非sql节点,或者,合并列表中的不符合预设规则的sql节点,构建stage(也即是,单节点的字段),判断更新后的离线模型是否优化完成,若优化完成,则得到优化后的离线模型。
71.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
72.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
73.实施例2
74.根据本发明实施例,还提供了一种用于实施上述离线模型的处理方法的装置,如图13所示,该装置包括:第一确定单元1301、第一查找单元1302、第一处理单元1303和计算单元1304。
75.第一确定单元1301,用于在离线模型中,确定用户选择的目标输出节点,其中,所述离线模型由多个基于离线计算的节点组成,所述节点表示一个计算规则;
76.第一查找单元1302,用于采用逐一遍历的方式,在所述离线模型中查找所述目标输出节点的父节点,所述目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,所述查询结果中包括至少一个查询到的节点;
77.第一处理单元1303,用于将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;
78.计算单元1304,用于采用所述更新后的离线模型执行计算。
79.综上,在本技术实施例提供的离线模型的处理装置中,通过第一确定单元1301在离线模型中,确定用户选择的目标输出节点,其中,所述离线模型由多个基于离线计算的节点组成,所述节点表示一个计算规则;第一查找单元1302采用逐一遍历的方式,在所述离线模型中查找所述目标输出节点的父节点,所述目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,所述查询结果中包括至少一个查询到的节点;第一处理单元1303将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;计算单元1304采用所述更新后的离线模型执行计算。达到了采用更新后的离线模型计算时避免资源浪费的技术效果,进而解决了由于相关技术的离线模型中存在与目标输出节点无关的计算节点,导致采用该离线模型进行计算时存在资源浪费的技术问题。
80.可选地,在本技术实施例提供的离线模型的处理装置中,所述装置还包括:第二查找单元,用于若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;第二确定单元,用于将所述多个查询子结果作为所述查询结果。
81.可选地,在本技术实施例提供的离线模型的处理装置中,所述处理单元包括:第一处理模块,用于在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;合并模块,用于将所述多个子模型进行合并,得到更新后的离线模型。
82.可选地,在本技术实施例提供的离线模型的处理装置中,所述装置还包括:第一判断单元,用于在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;遍历单元,用于若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为根节点为止,得到最终的合并列表;合并单元,用于将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;构建单元,用于若遍历到的节点不是sql节点,则对非sql节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的离线模型中的原始节点;第三确定单元,用于依据所述融合节点和所述原始节点,得到优化后的离线模型。
83.可选地,在本技术实施例提供的离线模型的处理装置中,所述装置还包括:第二处理单元,用于将所述最终的合并列表中的节点进行合并时,在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
84.可选地,在本技术实施例提供的离线模型的处理装置中,所述装置还包括:第二判断单元,用于在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,判断所述更新后的离线模型中的节点是否已遍历完;第四确定单元,用于若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点
和所述原始节点,得到优化后的离线模型的步骤。
85.可选地,在本技术实施例提供的离线模型的处理装置中,所述计算单元还用于采用所述优化后的离线模型执行计算。
86.此处需要说明的是,上述的第一确定单元1301、第一查找单元1302、第一处理单元1303和计算单元1304对应于实施例1中的步骤s101至步骤s104,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
87.实施例3
88.本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
89.可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
90.在本实施例中,上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算。
91.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:所述方法还包括:若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;将所述多个查询子结果作为所述查询结果。
92.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型包括:在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;将所述多个子模型进行合并,得到更新后的离线模型。
93.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,所述方法还包括:从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为根节点为止,得到最终的合并列表;将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;若遍历到的节点不是sql节点,则对非sql
94.节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的
离线模型中的原始节点;依据所述融合节点和所述原始节点,得到优化后的离线模型。
95.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:将所述最终的合并列表中的节点进行合并时,所述方法还包括:在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
96.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,所述方法还包括:判断所述更新后的离线模型中的节点是否已遍历完;若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点和所述原始节点,得到优化后的离线模型的步骤。
97.上述计算机终端可以执行应用程序的离线模型的处理方法中以下步骤的程序代码:采用所述更新后的离线模型执行计算包括:采用所述优化后的离线模型执行计算。
98.可选地,图14是根据本发明实施例的一种计算机终端的结构框图。如图14所示,该计算机终端可以包括:一个或多个(图14中仅示出一个)处理器、存储器。
99.其中,存储器可用于存储软件程序以及模块,如本发明实施例中的离线模型的处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的离线模型的处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
100.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算。
101.可选的,上述处理器还可以执行如下步骤的程序代码:所述方法还包括:若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;将所述多个查询子结果作为所述查询结果。
102.可选的,上述处理器还可以执行如下步骤的程序代码:将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型包括:在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;将所述多个子模型进行合并,得到更新后的离线模型。
103.可选的,上述处理器还可以执行如下步骤的程序代码:在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,所述方法还包括:从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是
否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为根节点为止,得到最终的合并列表;将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;若遍历到的节点不是sql节点,则对非sql节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的离线模型中的原始节点;依据所述融合节点和所述原始节点,得到优化后的离线模型。
104.可选的,上述处理器还可以执行如下步骤的程序代码:将所述最终的合并列表中的节点进行合并时,所述方法还包括:在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
105.可选的,上述处理器还可以执行如下步骤的程序代码:在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,所述方法还包括:判断所述更新后的离线模型中的节点是否已遍历完;若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点和所述原始节点,得到优化后的离线模型的步骤。
106.可选的,上述处理器还可以执行如下步骤的程序代码:采用所述更新后的离线模型执行计算包括:采用所述优化后的离线模型执行计算。
107.采用本发明实施例,提供了一种离线模型的处理方法的方案。通过采用删除离线模型中与目标输出节点无关的节点的方式,具体地,在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算,达到了采用更新后的离线模型计算时避免资源浪费的技术效果,进而解决了由于相关技术的离线模型中存在与目标输出节点无关的计算节点,导致采用该离线模型进行计算时存在资源浪费的技术问题。
108.本领域普通技术人员可以理解,图14所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图14其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示不同的配置。
109.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
110.实施例4
111.本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可
以用于保存上述实施例一所提供的离线模型的处理方法所执行的程序代码。
112.可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
113.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在离线模型中,确定用户选择的目标输出节点,其中,离线模型由多个基于离线计算的节点组成,节点表示一个计算规则;采用逐一遍历的方式,在离线模型中查找目标输出节点的父节点,目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到查询结果,其中,查询结果中包括至少一个查询到的节点;将离线模型中除查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型;采用更新后的离线模型执行计算。
114.存储介质还被设置为存储用于执行以下步骤的程序代码:所述方法还包括:若所述目标输出节点为多个节点,在所述离线模型中采用逐一遍历的方式分别查找每个目标输出节点的父节点,每个目标输出节点的父节点的父节点,直到查找到的节点为根节点为止,得到多个查询子结果;将所述多个查询子结果作为所述查询结果。
115.存储介质还被设置为存储用于执行以下步骤的程序代码:将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型包括:在所述离线模型中分别将除所述查询子结果中包括的节点之外的节点进行删除,得到多个子模型;将所述多个子模型进行合并,得到更新后的离线模型。
116.存储介质还被设置为存储用于执行以下步骤的程序代码:在将所述离线模型中除所述查询结果中包括的节点之外的节点进行删除,得到更新后的离线模型之后,所述方法还包括:从所述更新后的离线模型的根节点出发,判断所述更新后的离线模型中当前节点是否为sql节点,其中,所述sql节点表示是sql脚本描述的计算规则;若当前节点为sql节点,则开始合并,并将所述当前节点加入合并列表,并遍历所述当前节点的子节点,判断所述子节点是否为sql节点,直到遍历到的节点为根节点为止,得到最终的合并列表;将所述最终的合并列表中的节点进行合并,将对合并后的节点构建单节点的字段,并将构建单节点的字段的合并节点作为所述更新后的离线模型中的融合节点;若遍历到的节点不是sql节点,则对非sql节点构建单节点的字段,并将构建单节点的字段的非sql节点作为所述更新后的离线模型中的原始节点;依据所述融合节点和所述原始节点,得到优化后的离线模型。
117.存储介质还被设置为存储用于执行以下步骤的程序代码:将所述最终的合并列表中的节点进行合并时,所述方法还包括:在当前节点符合任一预设规则时,对所述最终的合并列表中的当前节点停止合并,其中,所述预设规则至少包括:当前节点为出度大于1的sql节点、当前节点的子节点包括入度大于1的节点、当前节点的子节点为非sql节点、当前节点为非叶子节点的输出节点、当前节点为叶子节点。
118.存储介质还被设置为存储用于执行以下步骤的程序代码:在依据所述融合节点和所述原始节点,得到优化后的离线模型之前,所述方法还包括:判断所述更新后的离线模型中的节点是否已遍历完;若已遍历完所述更新后的离线模型中的节点,则确定对所述更新后的离线模型优化完成,执行将依据所述融合节点和所述原始节点,得到优化后的离线模型的步骤。
119.存储介质还被设置为存储用于执行以下步骤的程序代码:采用所述更新后的离线
模型执行计算包括:采用所述优化后的离线模型执行计算。
120.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
121.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
122.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
123.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
124.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
125.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
126.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献