数据复用方法、装置、电子设备及存储介质与流程

文档序号:32798485发布日期:2023-01-03 23:00阅读:33来源:国知局
数据复用方法、装置、电子设备及存储介质与流程

1.本技术涉及大数据技术领域,更具体地,涉及一种数据复用方法、装置、电子设备及存储介质。


背景技术:

2.在大数据场景下,大数据平台针对的批计算与流计算的数据规模通常都为数亿甚至数百亿,需要消耗巨大的机器资源进行运算。而且,大数据平台接收到的查询请求也是海量的。相关技术中,大数据平台针对不同终端发起的两个基本相同的查询请求会进行两次数据查询,存在重复查询的情况,这样导致大数据平台的计算资料的利用率不高的问题。


技术实现要素:

3.鉴于上述问题,本技术实施例提出了一种数据复用方法、装置、电子设备及存储介质,以解决相关技术中大数据平台针对不同终端发起的两个基本相同的查询请求会进行两次重复的数据查询导致计算资源的利用率不高的问题。
4.根据本技术实施例的一个方面,提供了一种数据复用方法,包括:获取目标查询请求;按照重构策略对所述目标查询请求对应的语法树进行重构,得到目标语法树;根据所述目标语法树确定所述目标查询请求对应的目标特征值;若历史查询记录中包括所述目标特征值,复用所述目标特征值对应的目标历史查询结果作为所述目标查询请求对应的查询结果。
5.在一些实施例中,所述若历史查询记录中包括所述目标特征值,复用所述目标特征值对应的目标历史查询结果作为所述目标查询请求对应的查询结果之后,所述方法还包括:根据所述目标特征值获取所述目标历史查询结果的目标流通链路图;所述目标流通链路图是根据存储了所述目标历史查询结果的多个流转节点的网络地址确定的;根据所述目标流通链路图和所述目标查询请求的发起方对应的网络地址,在所述多个流转节点中确定目标流转节点,所述目标流转节点是指所述多个流转节点中网络可用的流转节点中距离目标查询请求的发起方最近的流转节点;向所述目标流转节点发送结果发送指令,所述结果发送指令用于指示所述目标流转节点向所述目标查询请求的发起方发送所述目标历史查询结果。
6.在一些实施例中,所述根据所述目标特征值获取所述目标历史查询结果的目标流通链路图,包括:根据所述目标特征值对所述目标历史查询结果进行追踪,获得存储了所述目标历史查询结果的多个流转节点的网络地址,所述目标历史查询结果在流转过程中被标记了所述目标特征值;根据所述存储了所述目标历史查询结果的多个流转节点的网络地址,生成所述目标历史查询结果的目标流通链路图。
7.在一些实施例中,所述根据所述目标语法树确定所述目标查询请求对应的目标特征值之后,所述方法还包括:若所述历史查询记录中不包括所述目标特征值,将所述目标查询请求发送到计算节点,以使所述计算节点根据所述目标查询请求进行处理,获得所述目
标查询请求对应的目标查询结果。
8.在一些实施例中,所述将所述目标查询请求发送到计算节点,以使所述计算节点根据所述目标查询请求进行处理,获得所述目标查询请求对应的目标查询结果之后,所述方法还包括:通过所述目标特征值将所述目标查询结果进行标记;获取所述目标特征值对应的订阅列表;所述目标特征值对应的订阅列表包括所述目标查询请求的发起方对应的网络地址和候选发起方的网络地址,所述候选发起方是指所对应特征值为目标特征值的查询请求的发起方;根据所述订阅列表,向所述目标查询请求的发起方和所述候选发起方发送被标记后的目标查询结果。
9.在一些实施例中,所述重构策略包括:将语法树中相同的属性进行合并、按照预设的排序规则对语法树中不同的属性进行排序、对语法树中的时间因子进行替换中的至少一项。
10.在一些实施例中,所述根据所述目标语法树确定所述目标查询请求对应的目标特征值,包括:将所述目标语法树进行哈希计算,得到所述目标特征值;或者,将目标业务控制因子和所述目标语法树进行哈希计算,得到所述目标特征值;所述目标业务控制因子是所述目标查询请求对应的业务控制因子。
11.根据本技术实施例的一个方面,提供了一种数据复用装置,所述装置包括:目标查询请求获取模块,用于获取目标查询请求;重构模块,用于按照重构策略对所述目标查询请求对应的语法树进行重构,得到目标语法树;目标特征值确定模块,用于根据所述目标语法树确定所述目标查询请求对应的目标特征值;查询结果复用模块,用于若历史查询记录中包括所述目标特征值,复用所述目标特征值对应的目标历史查询结果作为所述目标查询请求对应的查询结果。
12.根据本技术实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述数据复用方法。
13.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述数据复用方法。
14.根据本技术实施例的一个方面,提供了一种计算机程序产品,其包括计算机指令,所述计算机指令被处理器执行时实现如上的数据复用方法。
15.在本技术中,对于目标查询请求,按照重构策略对目标查询请求对应的语法树进行重构,得到目标语法树;并根据所述目标语法树确定用于体现目标查询请求的特征的目标特征值;并在历史查询记录中包括目标特征值的情况下,复用目标特征值对应的目标历史查询结果作为目标查询请求对应的查询结果,从而实现了查询结果的复用,这样,对于特征值相同的多个查询请求,不需执行多次查询,而仅进行一次查询即可,从而,可以提升对查询请求的响应效率,而且,可以有效降低数据查询的计算量。特别是在大数据场景下,由于大数据平台接收到的查询请求较多,不同终端发起的基本相同的查询请求的情况较多,应用本技术的方案可以有效提升大数据平台的响应效率和降低大数据平台的重复计算量,提升大数据平台的计算资源的利用效率。
16.此外,在本技术中,在特征确定过程中从目标查询请求的语法树出发来确定目标查询请求的特征,从而,保证所确定的特征值关注目标查询请求最本质的语法特征,而忽略
目标查询请求中的冗余的描述信息,从而,降低特征确定过程中的处理量;而且,按照重构策略将目标查询请求对应的语法树进行重构,相当于将查询请求对应的语法树进行标准化和统一化,有效保证根据目标语法树所确定的目标特征值对于目标查询请求的特征表征的准确性,进而保证根据目标特征值所实现的查询结果复用的有效性和准确性。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据本技术一实施例示出的本方案的应用场景的示意图。
19.图2是根据本技术的一个实施例示出的数据复用方法的流程图。
20.图3是根据本技术一实施例示出的将目标查询请求对应的语法树进行重构的示意图。
21.图4是图2对应实施例中的步骤240之后步骤在一实施例中的流程图。
22.图5是根据本技术一实施例示出的将目标历史查询结果进行就近重放的示意图。
23.图6是根据本技术的另一个实施例示出的数据复用方法的流程图。
24.图7是根据本技术一实施例示出的数据复用装置的框图。
25.图8示出了适于用来实现本技术实施例的电子设备的结构示意图。
具体实施方式
26.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
27.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
28.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
29.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
30.需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
31.图1是根据本技术一实施例示出的本方案的应用场景的示意图,如图1所示,该应
用场景包括第一设备110、第二设备120和大数据平台130,第一设备110和第二设备120分别与大数据平台通过有线或者无线网络通信连接。
32.第一设备110是指查询请求的发起方所在的设备,其可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载设备、服务终端等可进行交互的设备。第一设备110可以向大数据平台130发送查询请求,以请求大数据平台130进行数据查询。
33.第二设备120是指实时数据的上报方所在的设备,其可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载设备、服务终端、监控设备、物联网设备、应用服务器等,在此不进行具体限定。第二设备120可以将实时将产生的实时数据上传到大数据平台130,以便于大数据平台130对实时数据进行后续的处理,例如进行批计算、流计算等。
34.第二设备120所产生的实时数据可以是根据用户触发第二设备120所显示交互界面中的控件产生的操作行为数据、还可以是第二设备120实时采集的图像、视频、语音等数据,还可以是被投放到第二设备120的广告的反馈数据,还可以是第二设备120产生的日志信息(例如用户操作日期、设备的安全检测日志、设备的更新日志等)。
35.可以理解的是,在本技术的具体实施方式中,涉及到用户信息(例如操作行为数据、用户的画像数据)等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
36.在物联网场景下,第二设备120还可以是物联网设备,例如数控机床、数控磨床、数控铣床、各类传感器(例如温度传感器、湿度传感器、转速传感器等)、检测设备等,在该种情况下,第二设备120所产生的实时数据可以是物联网设备的工作数据(例如用于指示工作状态的数据)、以及传感器所采集到的传感数据等。
37.大数据平台130可以是由一个或者多个服务器构成的服务器集群,也可以是云服务器,在此不进行具体限定。按照功能划分,大数据平台130中的设备可以分为计算节点、服务节点和存储节点,其中,存储节点用于存储第二设备120所上报的实时数据,计算节点中配置了计算引擎,其用于从存储节点中获取实时数据并对实时数据进行进一步处理;服务节点用于对计算节点和存储节点进行调度管理,服务节点还可以用于外部设备进行通信,例如,服务节点可以用于接收查询请求,然后基于查询请求调用计算节点中的计算引擎,以对查询请求进行响应。
38.大数据平台130可以用于执行本技术所提供的数据复用方法。更进一步的,可以由大数据平台130中的服务节点来执行本技术所提供的数据复用方法。
39.以下对本技术实施例的技术方案的实现细节进行详细阐述:
40.图2是根据本技术的一个实施例示出的数据复用方法的流程图,该方法可以由具备处理能力的电子设备执行,例如由图1所示物品派送系统中的中转服务端130执行,在此不进行具体限定。参照图2所示,该方法至少包括步骤210至240,详细介绍如下:
41.步骤210,获取目标查询请求。
42.步骤220,按照重构策略对目标查询请求对应的语法树进行重构,得到目标语法树。
43.目标查询请求是指待进行处理的查询请求。目标查询请求对应的语法树是指对目标查询请求对应的代码进行语法解析所得到的语法树。语法树又称为抽象语法树
(abstract syntax tree,ast),它是代码的抽象语法结构的树状表示,语法树上的每个节点都表示代码中的一种结构。
44.重构策略可以是预先设定的,在具体实施例中,重构策略包括将语法树中相同的属性进行合并、按照预设的排序规则对语法树中不同的属性进行排序、对语法树中的时间因子进行替换中的至少一项。
45.语法树中表示为同一属性所设定的条件的叶节点可能为多个,例如,若针对该目标查询请求所初始构建的语法树中包括针对年龄这一属性的两个叶节点:第一叶节点和第二叶节点,第一叶节点用于指示年龄大于10岁,第二叶节点用于指示年龄小于20岁,在该种情况下,可以将语法树中针对年龄这一属性所构建的两个叶节点合并为表示年龄大于10岁且小于20岁的一个叶节点,该过程即为将语法树中相同的属性进行合并。值得一提的是,将语法树中相同的属性进行合并是指将同一父节点下的同级的多个表示相同属性的子节点进行合并。
46.按照预设的排序规则对语法树中不同的属性进行排序是指按照预设的排序规则将语法树中同一父节点下的多个表示不同属性的子节点进行排序。预设的排序规则例如按照字符串排序(例如按照字符串中的首字符在字符表中的由先到后的顺序进行排序、或者按照首字符在字符表中由后到先的顺序排序),也可以是序列优先排序(即序列长度越长的属性在排序中越靠前)。当然,预设的排序规则还可以是其他的排序规则,在此不进行具体限定。按照预设的排序规则对语法树中的不同属性进行排序,相当于将语法树中不同属性的排布顺序进行统一。
47.图3是根据本技术一实施例示出的目标查询请求对应的语法树的示意图,如图3所示,圆形表示语法树中的节点,在图3中,“intersect”表示取交集运算,“union”表示取并集运算。如图3所示,针对“sequnce_region”这一属性中的两个属性内容,按照字符串排序;针对“event_region”这一属性和“sequnce_region”这一属性,由于“sequnce_region”这一属性下表示属性内容的序列较长,因此,按照序列优先的排序规则,在语法树中需要将该两个属性进行交换。
48.目标查询请求中所限定的条件可能包括时间条件,将目标查询条件中用于表示限定时间条件的参数称为时间因子。对语法树中的时间因子进行替换是指将语法树中节点所指示的时间替换为指定时间,例如若一节点指示的时间为2022年13点3分,可以将该节点指示的时间替换为2022年13点0分这一指定时间。在具体实施例中,可以预先设定时间因子替换策略,从而,在步骤220中,若目标查询请求对应的语法树中包括表示时间因子的节点,对应按照所设定的时间因子替换策略将语法树中的时间因子进行替换。
49.其中,时间因子替换策略可以是:将分钟为非整十的时间替换为距离该时间之前的最近一个分钟为整十的时间(例如,若语法树中的时间因子为13点21分,按照该时间因子替换策略对应替换为13点20分)、又例如,将分钟为不是5的倍数的时间替换为距离该时间之前的最近一个分钟为5的倍数的时间(例如,若语法树中的时间因子为13点16分,按照该时间因子替换策略对应替换为13点15分)。
50.在一些应用场景下,在其他限定的查询条件相同的情况下,若两个查询请求所限定的两时间之间的时间差小于时间阈值,基于替换前的时间因子和替换后的时间因子所查询的实时数据差异较小,基本是相同的,因此,基于此原理,提出了将语法树中的时间因子
进行替换,以此实现将语法树中的时间因子进行统一化,避免因时间因子的差异造成特征值的过度发散。
51.在具体实施例中,重构策略包括将语法树中相同的属性进行合并、按照预设的排序规则对语法树中不同的属性进行排序和对语法树中的时间因子进行替换,这样,如果目标查询请求所对应语法树中包括表示相同属性的多个节点,对应将相同的属性进行合并,如果语法树中包括表示时间因子的节点,如果确定语法树中的时间因子需要进行替换,则对应将语法树中的时间因子进行替换;以及按照预设的排序规则对语法树中不同的属性进行排序。通过如上的处理后,实现了将查询请求对应的语法树进行统一化,使得一语法树的变体经过重构后,与该语法树实际上是处于一致性解释状态。
52.步骤230,根据目标语法树确定目标查询请求对应的目标特征值。
53.目标特征值是指目标查询请求对应的特征值,该目标特征值用于表示目标查询请求的特征。
54.由于语法树是以树的形式表示查询请求的语法结构,语法树体现了查询请求本质的语法特征,而且,在本技术中,按照重构策略对目标查询请求对应的语法树进行了重构,从而,目标查询请求的变体所对应重构后的语法树,与目标查询请求对应的目标语法树是相同的,二者处于一致性解释状态,因此,基于目标语法树所确定的特征值对应也是相同的。
55.在一些实施例中,可以将目标语法树进行哈希计算,得到目标特征值。
56.在另一些实施例中,步骤230,包括:将目标业务控制因子和目标语法树进行哈希计算,得到目标特征值;目标业务控制因子是目标查询请求对应的业务控制因子。
57.在一些应用场景下,由于数据查询中可能针对不同的用户设定不同的数据查询权限,在该种情况下,数据查询权限不同的用户即使是发起相同的查询请求,基于该查询请求进行查询获得的数据是存在差异的;因此,将除查询请求本技术所限定的查询条件外的其他影响查询结果的因子(或者参数)称为业务控制因子,将业务控制因子也纳入到特征值的计算中,从而保证所确定的特征值可以全面反映查询请求的特征。其中,业务控制因子可以是上文中所列举的查询请求的发起方所对应用户的权限、查询请求的发起方所对应用户的角色等等。在具体实施例中,与查询请求相关的业务控制因子可以是一个也可以是多个,具体可根据实际需要设定。
58.在该种情况下,可以通过散列函数来生成目标查询请求的目标特征值characteristic:
59.characteristic=hash(ast,factor_1,factor_2....);
60.上式中,ast表示目标查询请求对应的目标语法树,factor_1、factor_2......表示与目标查询请求相关的多个目标业务控制因子,hash()表示进行哈希计算。
61.步骤240,若历史查询记录中包括目标特征值,复用目标特征值对应的目标历史查询结果作为目标查询请求对应的查询结果。
62.历史查询记录用于指示已经完成的数据查询记录,在本技术中,该历史查询记录至少包括历史查询请求对应的特征值。
63.在本技术中,针对历史发起的历史查询请求,也按照如步骤220-230的过程,按照重构策略将历史查询请求对应的语法树进行重构,然后根据重构后的语法树确定历史查询
请求对应的特征值,在对该历史查询请求进行处理得到对应的历史查询结果后,对应将该历史查询请求对应的特征值更新到历史查询记录中。
64.目标历史查询结果是指历史查询记录中与目标特征值相关联的历史查询结果。可以理解的是,若历史查询记录中包括目标特征值,表明在过去时间段中已经针对特征值与目标查询请求相同的历史查询请求执行了查询,由于如果两查询请求对应的特征值相同,针对两查询请求在同一数据集中进行查询所获得的数据基本相同,因此,在本技术中,为了提高对查询请求的响应效率,可以对应将与目标特征值相关联的目标历史查询结果作为目标查询请求对应的查询结果,从而不需要再次根据目标查询请求进行数据查询。
65.在一些实施例中,可以将历史已进行查询的历史查询请求所对应的特征值和针对该历史查询请求的历史查询结果进行关联存储,从而,在步骤240中,若确定历史查询记录中包括目标特征值,对应根据该目标特征值获取与目标特征值关联存储的历史查询结果(即目标历史查询结果)。
66.在步骤240之后,对应向目标查询请求的发起方发送目标历史查询结果,作为对目标查询请求的响应。
67.在本技术中,对于目标查询请求,按照重构策略对目标查询请求对应的语法树进行重构,得到目标语法树;并根据目标语法树确定用于体现目标查询请求的特征的目标特征值;并在历史查询记录中包括目标特征值的情况下,复用目标特征值对应的目标历史查询结果作为目标查询请求对应的查询结果,从而实现了查询结果的复用,这样,对于特征值相同的多个查询请求,不需执行多次查询,而仅进行一次查询即可,从而,可以提升对查询请求的响应效率,而且,可以有效降低数据查询的计算量。特别是在大数据场景下,由于大数据平台接收到的查询请求较多,不同终端发起的基本相同的查询请求的情况较多,应用本技术的方案可以有效提升大数据平台的响应效率和降低大数据平台的重复计算量,提升大数据平台的计算资源的利用效率。
68.此外,在本技术中,在特征确定过程中从目标查询请求的语法树出发来确定目标查询请求的特征,从而,保证所确定的特征值关注目标查询请求最本质的语法特征,而忽略目标查询请求中的冗余的描述信息,从而,降低特征确定过程中的处理量;而且,按照重构策略将目标查询请求对应的语法树进行重构,相当于将查询请求对应的语法树进行标准化和统一化,有效保证根据目标语法树所确定的目标特征值对于目标查询请求的特征表征的准确性,进而保证根据目标特征值所实现的查询结果复用的有效性和准确性。
69.在大数据领域,批计算与流计算的数据规模通常都为数亿甚至数百亿,需要消耗巨大的机器资源进行运算,在该种应用场景下,按照本技术的方法实现查询结果的智能复用。
70.在一些实施例中,如图4所示,步骤240之后,该方法还包括:
71.步骤410,根据目标特征值获取目标历史查询结果的目标流通链路图;目标流通链路图是根据存储了目标历史查询结果的多个流转节点的网络地址确定的。
72.目标流通链路图是指目标历史查询结果对应的流通链路图。目标流通链路图反映了目标历史查询结果的流转情况,从而,根据目标流通链路图可以确定当前存储了目标历史查询结果的流转节点。该流转节点可以是在大数据平台中的计算节点与查询请求的发起方所在设备之间的中介设备。在具体实施例中,流转节点可以是大数据平台中可以用于数
据传递的节点,例如服务节点等,在此不进行具体限定。
73.在一些实施例中,可以在目标历史查询结果流转过程中,将目标历史查询结果的流转路径进行记录,获得存储了目标历史查询结果的多个流转节点的网络地址,进而,根据存储了目标历史查询结果的多个流转节点的网络地址确定目标历史查询结果的目标流通链路图,并将该目标历史查询结果的目标流通链路图与所对应的目标特征值进行关联存储,从而,在后续过程中,可以根据目标特征值获得目标历史查询结果的目标流通链路图。
74.在另一些实施例中,步骤410,包括:根据目标特征值对目标历史查询结果进行追踪,获得存储了目标历史查询结果的多个流转节点的网络地址,目标历史查询结果在流转过程中被标记了目标特征值;根据存储了目标历史查询结果的多个流转节点的网络地址,生成目标历史查询结果的目标流通链路图。
75.在本技术中,针对一查询结果,在向对应的查询请求的发起方发送对应的查询结果之前,通过查询请求对应的特征值对该查询结果进行标记,使该查询结果携带该查询请求对应的特征值,或者携带用于标识该查询请求所对应特征值的标识信息。
76.在一些实施例中,可以通过广播位置上报指令的方式来对目标历史查询结果进行追踪。即:在需要获取目标特征值所关联的目标历史查询结果对应的目标流通链路图,可以在流通网络中广播第一位置上报指令,该第一位置上报指令用于指示流转网络中的各流转节点上报被标记目标特征值的历史查询结果所在流转节点的网络地址,该被标记目标特征值的历史查询结果所在流转节点即为存储了目标历史查询结果的流转节点;之后,对应接收各流转节点上报的位置信息,其中,各流转节点所上报的位置信息携带目标特征值;之后,可以对应根据被标记目标特征值的历史查询结果所在流通节点的网络地址生成目标历史查询结果的目标流通链路图。
77.在另一些实施例中,还可以是各流转节点在接收到上一流转节点发送的目标历史查询结果后,根据目标历史查询结果对应的目标特征值,主动上报所在流转节点的网络地址,从而可以对应根据存储了目标历史查询结果的多个流转节点的网络地址,生成目标历史查询结果的目标流通链路图。
78.可以理解的是,由于是在目标历史查询结果流转的过程来生成流转链路图,目标历史查询结果对应的目标流通链路图是随着流转的过程实时更新的。
79.步骤420,根据目标流通链路图和目标查询请求的发起方对应的网络地址,在多个流转节点中确定目标流转节点,目标流转节点是指多个流转节点中网络可用的流转节点中距离目标查询请求的发起方最近的流转节点。
80.在一些实施例中,各个流转节点还可以实时上报自身的网络状态信息,所上报的网络状态信息用于指示该流转节点对应的网络可用;在此基础上,对于管理各个流转节点的管理节点来说,如果未接收到某一或者某几个流转节点的网络状态信息,则表明该流转节点处于网络不可用状态。
81.步骤430,向目标流转节点发送结果发送指令,结果发送指令用于指示目标流转节点向目标查询请求的发起方发送目标历史查询结果。
82.由于将目标流通链路图中网络可用的流转节点中距离目标查询请求的发起方最近的流转节点作为目标节点,这样,将目标历史查询结果传递到目标查询请求的发起方所花费的时间最少,可以提高响应速度,而且,实现了将目标历史查询结果进行就近重放。特
别是在大数据场景下,通过本实施例的方案,可以有效避免因多次重复流转带来的资源损耗和所引起的系统故障,提升查询结果的流通效率和系统资源的利用率。
83.图5是根据本技术一实施例示出的将目标历史查询结果进行就近重放的示意图,如图5所示,该大数据平台包括多个计算节点510和多个服务节点(图5中示例性示出了服务节点i、服务节点ii和服务节点iii),其中,计算节点510配置有计算引擎,该计算节点510用于执行数据查询等相关的处理。服务节点与计算节点510之间通信连接,服务节点作为外部设备与计算节点510之间的通信媒介。在本实施例中,服务节点相当于上文中的流转节点,计算节点510在对查询请求进行处理获得对应的查询结果后,通过服务节点将查询结果发送到查询请求的发起方。
84.服务节点在接收到外部设备发起的目标查询请求后,按照步骤220-步骤230计算该目标查询请求对应的目标特征值,如果在历史查询记录中未查询到目标特征值可以请求计算节点针对该目标查询请求进行处理;反之,如果在历史查询记录中查询到目标特征值,对应确定存储了目标历史查询结果的多个服务节点,并对应将多个网络可用的服务节点中距离目标查询请求的发起方最近的服务节点作为目标流转节点,在图5中,将服务节点ii确定为目标流转节点,从而,由服务节点ii将目标历史查询结果就近发送到目标查询请求的发起方。
85.在一些实施例中,还可以对各个流转节点的网络延迟情况进行监控,从而,如果确定目标历史查询结果的流转过程中某一流转节点的网络延迟时长大于预设阈值,可以切换目标历史查询结果的流转路径,从而,降低因网络延迟对查询结果的流转的影响。
86.在一些实施例中,步骤230之后,该方法还包括:若历史查询记录中不包括目标特征值,将目标查询请求发送到计算节点,以使计算节点根据目标查询请求进行处理,获得目标查询请求对应的目标查询结果。
87.如果历史查询记录中不包括目标特征值,表明过去时间段中未针对特征值与目标查询请求相同的查询请求进行过查询,在该种情况下,对应需要将目标查询请求发送到计算节点,以使计算节点根据目标查询请求进行处理,得到目标查询请求对应的目标查询结果,之后,对应将目标查询结果发送到目标查询请求的发起方。
88.在一些实施例中,在若历史查询记录中不包括目标特征值,将目标查询请求发送到计算节点,以使计算节点根据目标查询请求进行处理,获得目标查询请求对应的目标查询结果之后,该方法还包括:将目标特征值更新到历史查询记录中,从而,在后续的过程中,若接收特征值为目标特征值的查询请求,则可以复用目标查询请求对应的目标查询结果。
89.在一些实施例中,将目标查询请求发送到计算节点,以使计算节点根据目标查询请求进行处理,获得目标查询请求对应的目标查询结果之后,如图6所示,该方法还包括:
90.步骤610,通过目标特征值将目标查询结果进行标记。通过对目标查询结果进行标识,使目标查询结果携带目标特征值或者携带用于标识目标特征值的标识信息,便于后续对目标查询结果进行追踪。
91.步骤620,获取目标特征值对应的订阅列表;目标特征值对应的订阅列表包括目标查询请求的发起方对应的网络地址和候选发起方的网络地址,候选发起方是指所对应特征值为目标特征值的查询请求的发起方。
92.步骤630,根据订阅列表,向目标查询请求的发起方和候选发起方发送被标记后的
目标查询结果。
93.接收到目标查询请求之后,且在计算节点进行处理获得目标查询请求对应的目标查询结果之前,可能还接收其他的查询请求,若所接收到的其他的查询请求对应的特征值为目标特征值,在此种情况下,此种情况下,可以基于发布订阅模型,为目标特征值构建订阅列表,并将目标查询请求的发起方对应的网络地址和候选发起方的网络地址均添加到目标特征值对应的订阅列表中。
94.该种情况下,对目标查询请求进行处理的计算节点作为发布方,目标查询请求的发起方和候选发起方作为订阅方,在作为发布方的计算节点获得目标查询请求对应的目标查询结果后,将目标查询结果主动发布到目标查询请求的发起方和候选发起方,以此实现动态管理计算需求和查询请求发起方之间的会话。
95.在一些实施例中,不同的查询请求的发起方有不同的流通需求,在该种情况下,可以预先根据多种流通需求构建相对应的数据流通模型,数据流通模型例如消息队列流通模型、缓存中间件流通模型和磁盘文件流通模型。在此种情况下,可以在大数据平台中的节点中构建多种数据流通模型,并对应根据目标查询请求的发起方所需要的数据流通模型,选用对应的数据流通模型对目标查询请求的发起方所需要的数据流通模型进行目标查询结果或者目标历史查询结果进行流通,从而达到数据的可扩展性任意流通的目的。
96.在一些实施例中,在向目标查询请求的发起方和候选发起方流转被标记后的目标查询结果的过程中,可以对应根据被标记后的目标查询结果所在流转节点的网络地址,生成目标特征值对应的流通链路图,之后,便于基于该流通链路图访问特定位置的被标记的目标查询结果,便于后续将目标查询结果进行就近重放。
97.在一些实施例中,若是由大数据平台中的服务节点来执行本技术的方法,若服务节点确定目标历史查询记录中包括目标特征值,表明次查询处于可复用状态,优先在服务节点本地的数据集中查询与目标特征值相关联的目标历史查询结果,若服务节点本地的数据集中包括与目标特征值相关联的目标历史查询结果,则从本地的数据集中获取目标历史查询结果,并向目标查询请求的发起方发送该目标历史查询结果,实现本地数据重放;反之,如果服务节点本地的数据集中不包括与目标特征值相关联的目标历史查询结果,则按照图4对应的实施例获取目标历史查询结果并进行目标历史查询结果的流转。
98.以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的方法。对于本技术装置实施例中未披露的细节,请参照本技术上述方法实施例。
99.图7是根据本技术一实施例示出的数据复用装置的框图,该数据复用装置可以配置于服务器等电子设备中,用于执行本技术所提供的数据复用方法。如图7所示,该数据复用装置包括:
100.目标查询请求获取模块710,用于获取目标查询请求;
101.重构模块720,用于按照重构策略对目标查询请求对应的语法树进行重构,得到目标语法树;
102.目标特征值确定模块730,用于根据目标语法树确定目标查询请求对应的目标特征值;
103.查询结果复用模块740,用于若历史查询记录中包括目标特征值,复用目标特征值对应的目标历史查询结果作为目标查询请求对应的查询结果。
104.在一些实施例中,数据复用装置还包括:
105.目标流通链路图确定模块,用于根据目标特征值获取目标历史查询结果的目标流通链路图;目标流通链路图是根据存储了目标历史查询结果的多个流转节点的网络地址确定的;
106.目标流转节点确定模块,用于根据目标流通链路图和目标查询请求的发起方对应的网络地址,在多个流转节点中确定目标流转节点,目标流转节点是指多个流转节点中网络可用的流转节点中距离目标查询请求的发起方最近的流转节点;
107.结果发送指令发送模块,用于向目标流转节点发送结果发送指令,结果发送指令用于指示目标流转节点向目标查询请求的发起方发送目标历史查询结果。
108.在一些实施例中,目标流通链路图确定模块,包括:
109.追踪单元,用于根据目标特征值对目标历史查询结果进行追踪,获得存储了目标历史查询结果的多个流转节点的网络地址,目标历史查询结果在流转过程中被标记了目标特征值;
110.目标流通链路图生成单元,用于根据存储了目标历史查询结果的多个流转节点的网络地址,生成目标历史查询结果的目标流通链路图。
111.在一些实施例中,数据复用装置还包括:
112.发送模块,用于若历史查询记录中不包括目标特征值,将目标查询请求发送到计算节点,以使计算节点根据目标查询请求进行处理,获得目标查询请求对应的目标查询结果。
113.在一些实施例中,数据复用装置还包括:
114.标记模块,用于通过目标特征值将目标查询结果进行标记;
115.订阅列表获取模块,用于获取目标特征值对应的订阅列表;目标特征值对应的订阅列表包括目标查询请求的发起方对应的网络地址和候选发起方的网络地址,候选发起方是指所对应特征值为目标特征值的查询请求的发起方;
116.目标查询结果发送模块,用于根据订阅列表,向目标查询请求的发起方和候选发起方发送被标记后的目标查询结果。
117.在一些实施例中,重构策略包括:将语法树中相同的属性进行合并、按照预设的排序规则对语法树中不同的属性进行排序、对语法树中的时间因子进行替换中的至少一项。
118.在一些实施例中,目标特征值确定模块730进一步被配置为:将目标语法树进行哈希计算,得到目标特征值;或者将目标业务控制因子和目标语法树进行哈希计算,得到目标特征值;目标业务控制因子是目标查询请求对应的业务控制因子。
119.图8是根据本技术一实施例示出的电子设备的结构示意图。该电子设备可以是服务器,用于执行本技术所提供的数据复用方法。如图8所示,该电子设备可以包括:处理器1201,例如cpu,网络接口1204,用户接口1203,存储器1205,通信总线1202。其中,通信总线1202用于实现这些组件之间的连接通信。用户接口1203可以包括显示屏(display)、输入单元比如键盘(keyboard),可选的,用户接口1203还可以包括标准的有线接口、无线接口。网络接口1204可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1205可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1205可选的还可以是独立于前述处理器1201的存储装置。
120.本领域技术人员可以理解,图8中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
121.如图8所示,作为一种计算机可读存储介质的存储器1205中可以包括操作系统、网络通信模块、用户接口模块以及实现数据复用方法的程序。
122.在图8所示的电子设备中,网络接口1204主要用于与其他设备进行通信连接,例如与图1中第一设备、第二设备等。用户接口1203主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1201可以用于调用存储器1205中存储的实现数据复用方法的程序,并执行如上任一方法实施例中的数据复用方法的步骤。
123.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被处理器执行时,实现如上任一方法实施例中的数据复用方法。
124.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
125.根据本技术实施例的一个方面,提供了一种计算机程序产品,其包括计算机指令,计算机指令被处理器执行时实现如上任一方法实施例中的数据复用方法。
126.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
127.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多
模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
128.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
129.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
130.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1