本发明涉及数据库事务调度的,具体而言,涉及一种基于图嵌入的事务调度优化方法。
背景技术:
1、事务调度是数据库系统中的一个重要问题,涉及到有效的管理和调度多个并发事务的执行顺序,以确保数据库的一致性、隔离性、持久性和原子性得到满足。多核cpu具有多个处理核心,每个核心可以独立执行指令,使得多个事务可以同时运行,从而实现并行处理,提高事务的执行效率和性能。另一方面,当多个事务同时运行时,它们可能会竞争共享资源,导致争用和冲突,从而影响事务的执行效率。因此,合理的将事务分配给不同的核心,以最大程度的利用多核cpu的并行性能成为亟待解决的关键问题。
2、近年来,随着多核计算的兴起,多核事务调度分配策略被提出。该方法基于收集到的事务信息,形成一个完整的事务依赖关系图,用一个有向无环图表示;接着利用启发式算法判断事务的优先级,形成一个优先级从高到低的事务队列;最后根据事务信息和事务间关系找到系统资源最优分配方案。
3、然而,上述方法存在以下问题:首先,采用上述启发式算法对事务调度的分配策略多用手动设计的规则和策略,难以处理大体量的工作负载和复杂多变的事务执行顺序。其次,由于启发式算法是基于预定义规则进行决策,其搜索空间受限于人工规则的范围,容易导致算法陷入局部最优解,而错过全局最优解。
4、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种基于图嵌入的事务调度优化方法,以至少解决现有事务调度无法获取全局最优调度的技术问题。
2、根据本发明实施例的一个方面,提供了一种基于图嵌入的事务调度优化方法,包括:基于收集的事务信息构建异构图,其中,上述事务信息包括待调度的全部事务和事务参数,上述异构图以事务为顶点并以事务之间的关系为边;采用图嵌入模型学习异构图,以将上述异构图中的事务特征映射到低维特征空间中,得到事务信息对应的图嵌入表征结果,其中,上述图嵌入表征结果包括上述异构图中每个顶点经过多层迭代学习顶点特征、连接的边特征以及顶点之间边的种类的嵌入表征;建立马尔可夫决策过程模型,并采用深度强化学习对上述图嵌入表征结果进行迭代训练,直至达到预设迭代次数以获取输出的事务调度分配策略。
3、优选地,基于收集的事务信息构建异构图,包括:对事务信息进行独热编码,并利用事务信息编码的拼接结果构建事务的嵌入表征集合;对事务之间的关系以元组形式表示,并利用关系元组构建事务关系集合;将嵌入表征集合中的全部特征作为顶点输入特征,并将上述事务关系集合中的特征作为边输入特征,以构建异构图。
4、优选地,对事务之间的关系以元组形式表示,并利用关系元组构建事务关系集合,包括:获取上述边的关系种类,并将上述关系种类进行编码和存储,其中,上述关系种类包括顺序执行、数据共享和数据冲突。
5、优选地,采用图嵌入模型学习异构图,以将上述异构图中的事务特征映射到低维特征空间中,得到事务信息对应的图嵌入表征结果,包括:将异构图的顶点特征、边特征以及顶点之间边的种类输入上述图嵌入模型,以拟合学习上述顶点特征、边特征和边的种类得到对应顶点的嵌入特征;将上述嵌入特征作为下一层迭代学习的输入,依次经过预设层迭代学习,得到顶层迭代的每个顶点的嵌入表征;集合全部顶点的嵌入表征得到上述事务信息对应的图嵌入表征结果,其中,上述图嵌入表征结果与上述异构图的顶点和边对应匹配,上述图嵌入表征结果中的每个嵌入向量与上述异构图的顶点一一对应。
6、优选地,拟合学习上述顶点特征、边特征和边的种类得到对应顶点的嵌入特征,包括:基于上一层的嵌入特征、边特征、与包括边的种类的邻接顶点的顶点特征和权重矩阵进行拟合学习,得到对应顶点在当前层的嵌入特征。
7、优选地,基于上一层的嵌入特征、边特征、与包括边的种类的邻接顶点的顶点特征和权重矩阵进行拟合学习,得到对应顶点在当前层的嵌入特征,包括:利用权重矩阵对上述上一层的嵌入特征、边特征、与包括边的种类的邻接顶点的顶点特征进行归一化求和,并进行特征向量拼接;采用非线性激活函数对特征向量进行处理,得到对应顶点在当前层的嵌入表征。
8、优选地,建立马尔可夫决策过程模型,包括:将上述图嵌入表征结果作为状态空间输入;将全部调度顺序的集合作为动作空间;利用事务完成时间、cpu利用率和数据传输成本构建奖励函数;确定折扣因子。
9、优选地,采用深度强化学习对上述图嵌入表征结果进行迭代训练,包括:将上述状态空间的状态、上述动作空间的事务执行顺序和上述奖励函数的各个奖励因子作为每个工作网络中策略网络和价值网络的输入;利用上述策略网络输出指示基于动作空间中的状态确定事务执行顺序的概率,并利用上述价值网络输出当前状态下价值评估值;每个工作网络各自执行预设步数训练后将梯度传入全局网络,并接收上述全局网络下发的更新后的梯度参数,实现一次迭代训练。
10、根据本发明实施例的另一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于图嵌入的事务调度优化方法。
11、根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的基于图嵌入的事务调度优化方法。
12、在本发明实施例中,采用基于收集的事务信息构建异构图,异构图以事务为顶点并以事务之间的关系为边,采用图嵌入模型学习异构图,以将异构图中的事务特征映射到低维特征空间中,得到事务信息对应的图嵌入表征结果,图嵌入表征结果包括异构图中每个顶点经过多层迭代学习顶点特征、连接的边特征以及顶点之间边的种类的嵌入表征,建立马尔可夫决策过程模型,并采用深度强化学习对图嵌入表征结果进行迭代训练,直至达到预设迭代次数以获取输出的事务调度分配策略的方式,通过事务信息构建图,并采用图嵌入方法挖掘事务和事务间依赖关系的深层特征,通过深度强化学习确定最佳事务调度分配策略,达到了在庞大的搜索空间中找到全局最优策略,避免陷入局部最优解的目的,从而实现了全局最优调度策略的技术效果,进而解决了现有事务调度无法获取全局最优调度的技术问题。
1.一种基于图嵌入的事务调度优化方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于收集的事务信息构建异构图,包括:
3.根据权利要求2所述的方法,其特征在于,对事务之间的关系以元组形式表示,并利用关系元组构建事务关系集合,包括:
4.根据权利要求1所述的方法,其特征在于,采用图嵌入模型学习异构图,以将所述异构图中的事务特征映射到低维特征空间中,得到事务信息对应的图嵌入表征结果,包括:
5.根据权利要求4所述的方法,其特征在于,拟合学习所述顶点特征、边特征和边的种类得到对应顶点的嵌入特征,包括:
6.根据权利要求5所述的方法,其特征在于,基于上一层的嵌入特征、边特征、与包括边的种类的邻接顶点的顶点特征和权重矩阵进行拟合学习,得到对应顶点在当前层的嵌入特征,包括:
7.根据权利要求1所述的方法,其特征在于,建立马尔可夫决策过程模型,包括:
8.根据权利要求7所述的方法,其特征在于,采用深度强化学习对所述图嵌入表征结果进行迭代训练,包括:
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至8任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。