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

数据调度方法及相关装置与流程

2022-10-13 02:03:29 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,具体涉及一种数据调度方法及相关装置。


背景技术:

2.随着经济的快速发展,人们对交易请求处理速度的要求也越来越高。在通用的硬件系统及其配套操作系统中,往往按照分时的原则进行任何调度,调度算法强调任务的公平性,尽量让不同任务公平的轮流占用交易通道bpu资源。而在现实中,证券交易具有很强的实时性要求,即在系统需在规定的时间内完成任务,并对随机发生的外部事件做出响应和处理。
3.因此,亟需一种数据调度方法解决上述问题。


技术实现要素:

4.本技术实施例提供了一种数据调度方法及相关装置,可通过对预设分叉树的搜索过程中对节点进行迭代选择判断,实现从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客户交易请求数据调度的高效性。
5.第一方面,本技术实施例提供一种数据调度方法,应用于服务器,所述服务器包括至少一个业务处理单元,包括:获取预设分叉树,其中,所述预设分叉树由多个节点组成,所述多个节点包括根节点、多个子节点和多个叶子节点,每一节点对应一个所述业务处理单元;搜索所述多个节点,确定多个目标节点;在所述搜索的过程中,确定每一目标节点对应的冲突量,其中,所述冲突量用于指示所述业务处理单元处理交易请求数据时的发生冲突的数量;判断最小所述冲突量对应的目标节点是否为所述叶子节点;若最小所述冲突量对应的目标节点为所述叶子节点,则确定最小所述冲突量对应的目标节点的邻域节点,其中,所述邻域节点为所述最小冲突量对应的目标节点的子节点;确定所述邻域节点对应的目标子节点,并计算所述目标子节点的所述冲突量,其中,所述目标子节点为所述多个子节点或至少一个叶子节点中任意一个;以所述目标子节点为基准节点,逐级向上搜索所述预设分叉树,得到所述目标子节点的关联节点;分配多个所述交易请求数据至所述邻域节点和所述关联节点,并根据所述目标子节点的所述冲突量,更新所述关联节点的所述冲突量,得到第一分叉树,以使得所述多个交易请求数据分配完成;根据所述第一分叉树的每个节点的所述冲突量,确定目标路径,其中,所述目标路径用于指示处理多个所述交易请求数据的最佳路径。
6.第二方面,本技术实施例提供一种数据调度装置,应用于服务器,所述服务器包括至少一个业务处理单元,所述装置包括获取单元、处理单元、判断单元、更新单元和确定单
元:其中,所述获取单元,用于获取预设分叉树,其中,所述预设分叉树由多个节点组成,所述多个节点包括根节点、多个子节点和多个叶子节点,每一节点对应一个所述业务处理单元;所述处理单元,用于搜索所述多个节点,确定多个目标节点;以及,用于在所述搜索的过程中,确定每一目标节点对应的冲突量,其中,所述冲突量用于指示所述业务处理单元处理交易请求数据时的发生冲突的数量;所述判断单元,用于判断最小所述冲突量对应的目标节点是否为所述叶子节点;所述处理单元,还用于若最小所述冲突量对应的目标节点为所述叶子节点,则确定最小所述冲突量对应的目标节点的邻域节点,其中,所述邻域节点为最小所述冲突量对应的目标节点所确定的新节点;以及,用于确定所述邻域节点对应的目标子节点,并计算所述目标子节点的所述冲突量,其中,所述目标子节点为所述多个子节点或至少一个叶子节点中任意一个;所述更新单元,用于以所述目标子节点为基准节点,逐级向上搜索所述预设分叉树,得到所述目标子节点的关联节点;所述分配单元,用于分配多个所述交易请求数据至所述邻域节点和所述关联节点,并根据所述目标子节点的所述冲突量,更新所述关联节点的所述冲突量,得到第一分叉树,以使得所述多个交易请求数据分配完成;所述确定单元,用于根据所述预设分叉树的每个节点的所述冲突量,确定目标路径,其中,所述目标路径用于指示处理多个所述交易请求数据的最佳路径。
7.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本技术实施例第一方面任一方法中的步骤的指令。
8.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。
9.第五方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
10.可以看出,本技术实施例中,通过获取预设分叉树,其中,预设分叉树的每一节点对应一个业务处理单元;搜索多个节点,确定多个目标节点;在搜索的过程中,确定每一目标节点对应的冲突量;判断最小冲突量对应的目标节点是否为叶子节点;若为叶子节点,则确定最小冲突量对应的目标节点的邻域节点;确定邻域节点对应的目标子节点,并计算目标子节点的冲突量;以目标子节点为基准节点,逐级向上搜索预设分叉树,得到目标子节点的关联节点;分配多个交易请求数据至邻域节点和关联节点,并根据目标子节点的冲突量,更新关联节点的冲突量,得到第一分叉树,以使得多个交易请求数据分配完成;根据第一分叉树的每个节点的冲突量,确定目标路径。如此可以实现,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客
户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1是本技术实施例提供的一种数据调度方法的流程示意图;图2a是本技术实施例提供的一种预设分叉树的结构示意图;图2b是本技术实施例提供的一种预设分叉树节点拓展的场景示意图;图3是本技术实施例提供的一种数据调度的整体流程示意图;图4是本技术实施例提供的一种服务器的结构示意图;图5是本技术实施例提供的一种数据调度装置的功能单元结构示意图。
具体实施方式
13.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
14.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
15.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
16.为了更好地理解本技术实施例的方案,下面先对本技术实施例可能涉及的电子设备、相关术语、概念和相关背景进行介绍。
17.服务器可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载ios系统、android系统、microsoft系统或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。在一些示例中,上述服务器还可以是虚拟服务器、物理服务器、云端服务器、或者用于数据调度的服务器等。
18.分叉树,分叉树图是属于树图的一种,树图又称树型图或系统图,是从一个项目出发,展开两个或两个以上分支,然后从每一个分支再继续展开,依次类推。它拥有树干和多
个分支,所以很像一棵树,因此命名为树图。分叉树图能将事物或现象分解成树枝状,通过树形结构来展现层级数据的组织关系,以父子层次结构来组织对象,是枚举法的一种表达方式。分叉树图就是把要实现的目的与需要采取的措施或手段,系统地展开,并绘制成图,以明确问题的重点,寻找最佳手段或措施。分叉树图利用包含关系表达层次化数据的可视化方法,并且由于其呈现数据时高效的空间利用率和良好的交互性,受到广泛的应用。
19.快订系统的业务处理单元(branchprocessingunit,bpu),由于受到客观条件的限制,在bpu同一交易通道内同时(1ms内)收到2笔及以上的请求时,会造成请求堆积影响交易体验,称为一次交易冲突。而快订系统中有些客户交易时间相似且下单量大,容易造成交易冲突。
20.为解决上述问题,本技术提出了一种数据调度方法,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,并根据收敛的结果将交易冲突频繁的客户分别放置在不同的通道交易,以实现减少交易冲突的发生。最终保证了客户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
21.下面结合具体实施例,对本技术进行详细说明。
22.请参阅图1,图1是本技术实施例提供的一种数据调度方法的流程示意图,应用于服务器,所述服务器包括至少一个业务处理单元,如图1所示,本数据调度方法具体包括以下步骤:s101、获取预设分叉树。
23.其中,所述预设分叉树由多个节点组成,所述多个节点包括根节点、多个子节点和多个叶子节点,每一节点对应一个所述业务处理单元。
24.具体地,本技术方案中,服务器中已经存在预先定义完成的预设分叉树,预设分叉树包括传统分叉树结构中的根节点、多个子节点和至少一个叶子节点。
25.具体地,以图2a为例,图2a是本技术实施例提供的一种预设分叉树的结构示意图。如图2a所示,第一层的a节点标识预设分叉树的根节点,需要说明的是,每一分叉树有且只有一个根节点,即对应每棵分叉树最上面一层的节点。以a节点向下进行分叉,得到a节点的子节点。实际应用中,预设分叉树的构造可以包括多种类型,即a节点的子节点个数分配可以有多种,如此向下扩展节点得到的最终分叉树也会不同,图2a中所示的只是其中一种可能的示例。
26.进一步地,如图2a所示,从a节点的子节点b、c和d中,任选一个子节点继续向下(以b节点为例),得到b节点的子节点e、f和g。此时,a节点为b、c和d的父节点,b节点为e、f和g的父节点,根据分叉树的继承性原理,b节点继承其父节点即a节点的节点分配规则,可以最多得到三个子节点。
27.进一步地,如图2a所示,e、f和g向下不存在子节点,则此时,可以将e、f和g确定为预设分叉树的根节点。
28.进一步地,在本技术方案中,服务器在对预设分叉树的搜索过程中,完成将客户的交易请求数据分配到各个节点,以实现交易请求数据的调度工作。其中,每个节点对应一个业务处理单元,最终,由每个业务处理单元完成对交易请求数据的处理。
29.s102、搜索所述多个节点,确定多个目标节点。
30.s103、在所述搜索的过程中,确定每一目标节点对应的冲突量。
31.其中,所述冲突量用于指示所述业务处理单元处理交易请求数据时的发生冲突的数量。
32.具体地,服务器搜索预设分叉树的多个节点,选择其中一个节点作为起始节点,从该起始节点向下进行节点搜索。如上述步骤s101所述的,一个节点可能存在多个子节点即多个目标节点。
33.在一种可能的示例中,服务器在确定针对该预设分叉树进行搜索的起始节点时,需要判断该起始节点的子节点即上述多个目标节点中是否存在未访问子节点。具体地,未访问子节点用于表示在当前次对预设分叉树的搜索过程中,该节点未曾被搜索过。
34.进一步地,若当前多个目标节点中不存在未访问子节点,则计算多个目标节点中,每一目标节点对应的冲突量。其中,冲突量用于指示该节点对应的业务处理单元在处理交易请求数据时发生冲突的数量。具体是指,业务处理单元同时接收到两个或多个交易请求数据时,出现冲突的数量。
35.s104、判断最小所述冲突量对应的目标节点是否为所述叶子节点。
36.进一步地,服务器根据上述计算得到的每一目标节点的冲突量,确定最小冲突量所对应的目标节点,并判断该节点是否为叶子节点,即该目标节点是否存在子节点。
37.s105、若最小所述冲突量对应的目标节点为所述叶子节点,则确定最小所述冲突量对应的目标节点的邻域节点。
38.其中,所述邻域节点为最小所述冲突量对应的目标节点所确定的新节点。
39.进一步地,若服务器确定最小冲突量对应的目标节点不存在子节点,即表明当前最小冲突量对应的目标节点的节点类型为叶子节点。
40.进一步地,为该目标节点向下拓展一个新的节点作为该目标节点的子节点,即对应上述邻域节点。具体地,请参考图2b,图2b是本技术实施例提供的一种预设分叉树节点拓展的场景示意图。
41.示例性地,如图2b所示,若服务器确定最小冲突量对应的节点为e,且e节点为叶子节点。
42.进一步地,服务器为e节点分配一个子节点h,此时,h节点即为最小冲突量对应的目标节点e的邻域节点,同时服务器为该节点分配一个交易请求数据。此时,h节点为叶子节点,且同时继承其父节点e的节点分配规则。
43.s106、确定所述邻域节点对应的目标子节点,并计算所述目标子节点的所述冲突量。
44.其中,所述目标子节点为所述多个子节点或至少一个叶子节点中任意一个。
45.示例性地,如图2b所示的,服务器确定邻域节点e后,以邻域节点e开始,继续向下为其分配子节点h,并重复向下执行n次模拟分配操作,如此得到n个目标子节点。其中,模拟分配操作是指服务器以邻域节点为起点,不断向下拓展子节点,每向下拓展一个子节点时,对应生成一个目标子节点。进一步地,服务器从未分配的交易请求数据中随机选择交易请求分配至该目标子节点,如此过程执行n次,得到n个目标子节点。另外,服务器在向下拓展子节点的同时,计算每一目标子节点的冲突量。
46.在一种可能的示例中,上述n次模拟分配操作可以是服务器根据其数据处理能力进行设定,也可以有业务人员根据实际应用场景数据量确定,在此不做具体限定。
47.进一步地,上述n次模拟分配操作可以是在服务器对预设分叉树搜索开始前预设时间内进行,若当前预设时间未耗尽,则n次模拟过程可以正常执行。若n次模拟分配过程执行结束前,预设时间耗尽,则该模拟操作结束,服务器进行下一步操作。具体地,根据实际应用场景中可适配限定,在此不做赘述。
48.s107、以所述目标子节点为基准节点,逐级向上搜索所述预设分叉树,得到所述目标子节点的关联节点。
49.具体地,以图2b为例进行描述。如图2b中,若服务器确定基准节点为h时,则逐级向上搜索得到h节点的关联节点包括:其父节点e以及e节点的父节点b。可知,基准节点的关联节点为逐级向上搜索直到根节点的过程中,所经过的节点。
50.s108、分配多个所述交易请求数据至所述邻域节点和所述关联节点,并根据所述目标子节点的所述冲突量,更新所述关联节点的所述冲突量,得到第一分叉树,以使得所述多个交易请求数据分配完成。
51.进一步地,根据模拟分配操作执行的过程中,服务器计算的目标子节点的冲突量,逐级更新关联节点的冲突量。
52.示例性地,以图2b为例进行描述。基准节点为i,根据步骤s108所述关联节点确定过程,可知i节点的关联节点包括h、e、b和a。
53.进一步地,将i节点的冲突量累加到节点h中,更新h节点的冲突量。
54.进一步地,将更新后的h节点的冲突量累加到父节点e中,如此迭代直到根节点a结束,更新a节点的冲突量,得到新的分叉树,即第一分叉树。
55.s109、根据所述第一分叉树的每个节点的所述冲突量,确定目标路径,其中,所述目标路径用于指示处理多个所述交易请求数据的最佳路径。
56.示例性,服务器根据第一分叉树中节点的冲突量,确定目标路径。其中,目标路径为从上到下逐级串联的节点构成的冲突量之和最小的路径,服务器控制目标路径上的节点所对应的业务处理单元对其所分配的交易请求数据进行数据处理操作,完成数据调度工作。
57.可以看出,本技术实施例所描述的数据调度方法,通过获取预设分叉树,其中,预设分叉树的每一节点对应一个业务处理单元;搜索多个节点,确定多个目标节点;在搜索的过程中,确定每一目标节点对应的冲突量;判断最小冲突量对应的目标节点是否为叶子节点;若为叶子节点,则确定最小冲突量对应的目标节点的邻域节点;确定邻域节点对应的目标子节点,并计算目标子节点的冲突量;以目标子节点为基准节点,逐级向上搜索预设分叉树,得到目标子节点的关联节点;分配多个交易请求数据至邻域节点和关联节点,并根据目标子节点的冲突量,更新关联节点的冲突量,得到第一分叉树,以使得多个交易请求数据分配完成;根据第一分叉树的每个节点的冲突量,确定目标路径。如此可以实现,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
58.在一个可能的示例中,所述至少一个节点中的每个节点包括对应的节点信息,所述节点信息包括所述每个节点的访问次数信息;所述搜索所述多个节点,确定多个目标节点,可包括如下步骤:搜索所述多个节点,从所述多个节点中确定起始节点;判断所述起始节点是否为所述叶子节点;若所述起始节点不为所述叶子节点,则获取所述多个目标节点
的所述访问次数信息,其中,所述多个目标节点为所述起始节点的子节点;根据所述访问次数信息确定所述多个目标节点中是否存在未访问子节点;若存在一个或多个所述未访问子节点,则从所述未访问子节点中确定所述目标节点;更新所述目标节点的所述访问次数信息,并为所述目标节点分配一个所述交易请求数据。
59.具体地,预设分叉树中每一节点都有其对应的节点信息,其中,节点信息包括但并不限于该节点的访问次数信息、冲突量、模拟分配次数信息等等。其中,访问次数信息用于指示服务器在对预设分叉树进行搜索的过程中,对该节点的访问次数,每经过一次该节点,节点的访问次数加1;模拟分配次数信息是指服务器对某一节点进行模拟分配操作即向下分配子节点的次数,每进行一次模拟分配操作,该节点的模拟分配次数加1。
60.示例性地,服务器在首次对预设分叉树执行搜索操作时,从预设分叉树的多个节点中随机选择一个节点作为起始节点。其中,起始节点可以是直接将预设分叉树的根节点确定为起始节点,也可以将预设分叉树中的某一子节点确定为起始节点,子节点包括叶子节点。
61.进一步地,服务器判断该起始节点是否为叶子节点。若确定该起始节点不是叶子节点,则获取起始节点的子节点的访问次数信息。其中,子节点包括一个或多个。服务器根据一个或多个子节点的访问次数信息,判断该起始节点是否存在未访问子节点,即访问次数为0的子节点。
62.示例性地,由于服务器首次对预设分叉树进行搜索。则此时起始节点的一个或多个子节点均为未访问节点。
63.进一步地,服务器随机从该一个或多个子节点中选择一个子节点作为目标节点,执行上述步骤s104-s108的操作,在此不做赘述。
64.在另一种可能的示例中,若服务器确定该起始节点为叶子节点,则服务器以该起始节点的邻域节点开始,执行上述步骤s106-s108的操作,在此不做赘述。
65.可见,本示例中,首次对预设分叉树进行搜索时,服务器通过随机选择起始节点并根据起始节点的类型确定迭代更新操作的方式,如此能够保证交易请求数据的分配更加完整,实现对预设分叉树的充分搜索。
66.在一个可能的示例中,所述确定每一目标节点对应的冲突量之前,所述方法可包括如下步骤:确定至少一个客户在目标时段内的交易热度,其中,所述交易热度用于指示所述至少一个客户中每个客户在所述目标时段内对所述每一目标节点对应的所述业务处理单元的占用情况;根据所述交易热度确定所述每个客户在所述目标时段内的平均交易热度;根据所述平均交易热度之和确定所述每个业务处理单元在所述目标时段内的平均负载;根据所述平均负载确定所述每一目标节点对应的所述业务处理单元的所述冲突量。
67.示例性地,本技术方案中,以节点来表征业务处理单元。实际场景中,为更好地描述客户的交易习惯,往往通过服务器制作交易热度图的方式来直观呈现,而制作交易热度图的数据依赖于对客户交易热度的计算确定。由于业务处理单元每毫秒可以处理6笔请求,因此实际计算过程中,使用客户在某一毫秒的下单笔数除以6,表示该客户在该时刻对某一业务处理单元的占用情况,以客户c为例,通过如下公式计算客户c在t时刻对某一业务处理单元的占用情况oc(c,t):
公式(1),其中,v(c,t)是客户c在t时刻的交易请求数据量。我们将客户在某一时间内对业务处理单元占用情况构成的向量,称为客户在该时间段的交易热度。具体地,客户c在(t1,

tn)时刻(t1,

tn)时刻的交易热度是:公式(2),实际场景中,为减小计算量,服务器在计算客户对某一业务处理单元占用情况时按秒为单位计算客户对某一业务处理单元的占用度。同时,服务器对客户一段时间内每个交易日的热度求平均,得到平均交易热度。
68.进一步地,基于以上指标,服务器可以计算每个业务处理单元的平均负载情况:一个业务处理单元的平均负载为在其上交易各个客户的平均热度之和,具体地,某一业务处理单元在(t1,

tn)时刻的平均负载ld是:公式(3),其中,c1,c2…ck
该业务处理单元上的所有客户对应的交易请求数据,是客户ci的平均交易热度。
69.进一步地,服务器根据上述所计算的业务处理单元的平均负载确定每一目标节点对应的业务处理单元的冲突量。
70.可见,本示例中,可知服务器通过确定客户的交易热度来确定业务处理单元的平均负载,并进一步根据平均负载确定该业务处理单元的冲突量。如此可以进一步根据冲突量实现服务器对预设分叉树搜索过程中的节点选择和迭代更新路径,进而减小搜索的空间,提高交易请求数据调度的效率以及用户体验感。
71.在一个可能的示例中,所述根据所述平均负载确定所述每一目标节点对应的所述业务处理单元的所述冲突量,可包括如下步骤:若所述平均负载大于或等于预设阈值,则确定第一参数和第二参数,根据所述第一参数、第二参数和所述平均负载,确定所述冲突量,其中,所述第一参数和/或所述第二参数用于表征所述冲突量和所述平均负载之间的映射关系;若所述平均负载小于所述预设阈值,则确定所述每一目标节点对应的所述业务处理单元的所述冲突量为0。
72.实际应用场景中,一个业务处理单元可以对应一条或多条交易通道,客户通过不同的交易通道向业务处理单元提交交易请求数据,因而,业务处理单元的冲突量可以通过其对应的一条或多条交易通道在一段时间内的冲突次数衡量。其中,经过拟合计算,确定某一时刻交易处理单元的平均负载ld与其对应的交易通道的冲突数量cf具有以下关系:公式(4),其中,α,δ是常参数,即本技术方案中的第一参数和第二参数。具体地,上述公式(4)即业务处理单元在负载很小即小于预设阈值时不会发生冲突,即cf为0,当负载超出预设阈值δ后,其冲突数量正比于平均负载的平方。
73.公式(5),其中,公式(6),进一步地,根据以上关系,服务器可以计算业务处理单元在某一预设时段,例如:一个交易日内的冲突量。计算方式如下:其中,x
ji
是指某一业务处理单元的第j条交易通道在第i个交易时刻的负载,一个业务处理单元中的每一条交易通道在每一时刻的负载确定得到该业务处理单元的平均负载x,根据x与预设阈值δ之间的大小关系确定该业务处理单元的冲突量h(x)。
74.示例性地,若当前业务处理单元的平均负载x小于预设阈值,则确定当前业务处理单元的冲突量h(x)为0。实际应用场景中,也可以确定当前业务处理单元的冲突量h(x)为一个预设值,该预设值接近于0,在此不作过多赘述。
75.示例性地,若当前业务处理单元的平均负载x大于或等于预设阈值,则确定当前时刻业务处理单元的冲突量h(x)正比于该业务处理单元中当前交易通道与预设阈值之间的差值的平方。
76.在一种可能的示例中,服务器还可以以指标s来表征该业务处理单元冲突量h(x),其中,s为冲突量的相反数。即,当业务处理单元冲突量越大时,该节点的指标s越低;冲突量越小时,指标s越高。
77.进一步地,步骤s103中服务器确定最小冲突量对应的目标节点操作,还可以根据该节点得分,选择节点得分最高的节点作为目标节点。
78.可见,本示例中,服务器通过对节点对应的业务处理单元的冲突量和节点分数的计算,可以实现在预设时间内进行预设分叉树的迭代更新和模拟分配过程,得到第一分叉树后,可以根据节点得分或者节点的冲突量,评估调度方案的好坏,进而确定目标路径。
79.在一个可能的示例中,所述确定所述邻域节点对应的目标子节点,可包括如下步骤:根据分配规则确定所述目标子节点,其中,所述分配规则是指所述邻域节点从最小所述冲突量对应的目标节点继承的节点分配规则,所述节点分配规则用于指示所述目标子节点的数量上限;确定最小所述冲突量对应的目标节点的节点分配规则;根据所述节点分配规则,确定所述目标子节点。
80.具体地,服务器对邻域节点向下执行模拟分配操作时,该邻域节点继承了其父节点,即最小冲突量对应的目标节点所继承的节点分配规则,即该邻域节点可以获得与最小冲突量对应的目标节点同等数量的子节点个数。例如,若最小冲突量对应的目标节点包含m个子节点,则服务器对该邻域节点可分配小于或等于m个子节点。
81.进一步地,服务器根据邻域节点的分配规则,为该邻域节点分配至少一个子节点作为目标子节点,此时,服务器计算目标子节点的冲突量。
82.在另一种可能的示例中,服务器在每进行一次模拟操作的同时,将目标子节点的访问次数更新为1。另外,更新该邻域节点的模拟次数信息,表征服务器对邻域节点完成了
一次模拟操作。
83.在另一种可能的示例中,服务器在对邻域节点完成模拟操作得到至少一个目标子节点,并计算该目标子节点的冲突量之后,还可以根据冲突量以及目标子节点的模拟次数信息计算节点得分。具体计算过程如下:节点得分 = 节点分数/节点模拟次数 其中,n是父节点的访问次数,n是当前节点的访问次数,节点分数根据上述公式(5)和公式(6)计算得出。
84.可见,本示例中,服务器在对邻域节点进行模拟分配操作的过程的同时,计算生成的目标子节点的冲突量以及更新该过程中所经过节点的节点信息。如此,服务器还可以根据更新后的节点信息计算每个节点的节点得分,并将节点得分作为服务器对预设分叉树迭代更新过程中的参考指标,实现对预设分叉树搜索范围的缩小,进而提高交易请求数据调度的效率。
85.在一个可能的示例中,所述方法可包括如下步骤:在所述逐级向上搜索所述预设分叉树的过程中,以所述目标子节点为所述基准节点,向上搜索得到所述关联节点;将所述目标子节点的所述冲突量累加至所述关联节点,并更新所述关联节点的所述冲突量和所述访问次数信息;判断所述关联节点是否为所述根节点;若所述关联节点不为所述根节点,则以所述关联节点为所述基准节点,继续执行所述逐级向上搜索所述预设分叉树的步骤,得到下一个所述关联节点,直至确定所述关联节点为所述根节点时,停止所述逐级向上搜索所述预设分叉树的步骤。
86.具体地,服务器在预设时长或预设模拟次数结束后,得到至少一个目标子节点。以当前目标子节点为基准节点,向上搜索该目标子节点的关联节点,如此过程能够确定该目标子节点的至少一个关联节点。
87.进一步地,每确定一个关联节点,服务器判断该关联节点是否为根节点:若当前关联节点不为根节点,则以当前关联节点为新的基准节点,继续向上搜索并完成节点信息的迭代更新,直到最终的关联节点为根节点即停止。具体包括对关联节点的访问次数、节点得分、冲突量等信息进行更新。若当前节点为根节点,则本次迭代更新操作结束,服务器从当前接节点出发,再次执行步骤s101-s108的相关操作,在此不做赘述。
88.可见,本示例中,服务器通过不断地迭代更新过程实现对预设分叉树的节点信息的调整,并最终得到第一分叉树。如此能够实现通过节点信息的调整确定当前业务处理单元的冲突量,进而选择更好的调度方案来对交易请求数据进行处理。
89.在一个可能的示例中,所述根据所述第一分叉树的每个节点的所述冲突量,确定目标路径之前,所述方法可包括如下步骤:判断预设时长是否耗尽,其中,所述预设时长用于限定所述搜索的过程执行的时长;若确定所述预设时长耗尽,则停止执行所述搜索的过程。
90.示例性地,实际应用中,服务器可以一直执行上述步骤s101-s108的过程。但是,由于本技术方案其主要目的是为了实现对某一时段内的交易请求数据的调度,完成客户的业务请求。因此,为更快速地完成该调度任务,服务器往往会在对预设分叉树执行搜索过程之前,设置一个搜索的预设时长。服务器在进行预设分叉树搜索并对节点执行模拟分配操作
和节点信息迭代更新过程均在该预设时长内完成。
91.具体地,若服务器确定上述操作仍处于预设时长耗尽前,则继续执行当前的迭代更新操作。若服务器确定预设时长耗尽,则停止执行迭代更新操作。此时,得到第一分叉树。
92.进一步地,服务器通过第一分叉树的节点信息,选择一条最佳路径作为目标路径,并将客户的交易请求数据分配至目标路径包括的节点对应的业务处理单元中,执行数据处理操作。其中,目标路径的确定依据可以但不限于是:第一分叉树每一节点的节点得分、每一节点的冲突量等等。在此不做具体限定。
93.可见,本示例中,服务器通过不断地迭代更新操作得到第一分叉树,其中,第一分叉树中节点的范围和个数由每一次迭代更新过程选择确定得分较高或冲突量小的节点组成,实现了对多而杂的节点进行筛选和范围缩限,进而在迭代更新结束后,根据缩限后的第一分叉树进行目标路径的选择确认,完成交易请求数据的调度和数据处理任务,能够提高数据调度的效率以及客户的体验感。
94.为了更好地理解上述过程,下面将结合图3本技术实施例提出的一种数据调度的整体流程示意图,进行讲解。
95.具体地,请参阅图3所示的本技术所提出的一种数据调度的整体流程具体包括如下步骤:s301、服务器从预设分叉树的目标节点出发。
96.s302、服务器判断目标节点是否为叶子节点。
97.s303、若服务器确定目标节点不为叶子节点,则判断目标节点的子节点是否存在未访问节点。
98.s304、服务器确定目标节点的子节点存在未访问子节点,随机选择未访问子节点作为新的节点,回到步骤s302继续搜索预设分叉树。
99.s305、服务器确定目标节点的子节点不存在未访问子节点,计算目标节点的子节点的冲突量。
100.s306、服务器确定最小冲突量对应的节点,并返回步骤s302判断是否为叶子节点步骤。
101.s307、若服务器确定目标节点为叶子节点,则为目标节点向下分配邻域节点。
102.s308、服务器从邻域节点开始向下执行n次模拟分配操作。
103.s309、n此模拟操作结束,得到至少一个目标子节点,服务器从目标子节点出发,逐级向上搜索目标子节点的关联节点更新关联节点的节点信息。
104.s310、服务器执行上述步骤s301-s309过程,直到预设时长耗尽,结束迭代更新,确定目标路径,完成交易请求数据调度。
105.具体地,上述步骤s301-s310的具体过程均可参阅步骤s101-s109过程描述,在此不做赘述。
106.可以看出,本技术实施例所描述的数据调度方法,通过获取预设分叉树,其中,预设分叉树的每一节点对应一个业务处理单元;搜索多个节点,确定多个目标节点;在搜索的过程中,确定每一目标节点对应的冲突量;判断最小冲突量对应的目标节点是否为叶子节点;若为叶子节点,则确定最小冲突量对应的目标节点的邻域节点;确定邻域节点对应的目标子节点,并计算目标子节点的冲突量;以目标子节点为基准节点,逐级向上搜索预设分叉
树,得到目标子节点的关联节点;分配多个交易请求数据至邻域节点和关联节点,并根据目标子节点的冲突量,更新关联节点的冲突量,得到第一分叉树,以使得多个交易请求数据分配完成;根据第一分叉树的每个节点的冲突量,确定目标路径。如此可以实现,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
107.请参阅图4,图4是一种服务器的结构示意图,如图4所示,该服务器包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,该服务器应用于数据调度系统,上述程序包括用于执行以下步骤的指令:获取预设分叉树,其中,所述预设分叉树由多个节点组成,所述多个节点包括根节点、多个子节点和多个叶子节点,每一节点对应一个所述业务处理单元;搜索所述多个节点,确定多个目标节点;在所述搜索的过程中,确定每一目标节点对应的冲突量,其中,所述冲突量用于指示所述业务处理单元处理交易请求数据时的发生冲突的数量;判断最小所述冲突量对应的目标节点是否为所述叶子节点;若所述最小冲突量对应的目标节点为所述叶子节点,则确定所述最小冲突量对应的目标节点的邻域节点,其中,所述邻域节点为所述最小冲突量对应的目标节点所确定的新节点;确定所述邻域节点对应的目标子节点,并计算所述目标子节点的所述冲突量,其中,所述目标子节点为所述多个子节点或至少一个叶子节点中任意一个;以所述目标子节点为基准节点,逐级向上搜索所述预设分叉树,得到所述目标子节点的关联节点;分配多个所述交易请求数据至所述邻域节点和所述关联节点,并根据所述目标子节点的所述冲突量,更新所述关联节点的所述冲突量,得到第一分叉树,以使得所述多个交易请求数据分配完成;根据所述第一分叉树的每个节点的所述冲突量,确定目标路径,其中,所述目标路径用于指示处理多个所述交易请求数据的最佳路径。
108.可以看出,本技术实施例所描述的数据调度方法,通过获取预设分叉树,其中,预设分叉树的每一节点对应一个业务处理单元;搜索多个节点,确定多个目标节点;在搜索的过程中,确定每一目标节点对应的冲突量;判断最小冲突量对应的目标节点是否为叶子节点;若为叶子节点,则确定最小冲突量对应的目标节点的邻域节点;确定邻域节点对应的目标子节点,并计算目标子节点的冲突量;以目标子节点为基准节点,逐级向上搜索预设分叉树,得到目标子节点的关联节点;分配多个交易请求数据至邻域节点和关联节点,并根据目标子节点的冲突量,更新关联节点的冲突量,得到第一分叉树,以使得多个交易请求数据分配完成;根据第一分叉树的每个节点的冲突量,确定目标路径。如此可以实现,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
109.在一个可能的示例中,所述至少一个节点中的每个节点包括对应的节点信息,所述节点信息包括所述每个节点的访问次数信息;
所述搜索所述多个节点,确定多个目标节点,上述程序包括用于执行以下步骤的指令:搜索所述多个节点,从所述多个节点中确定起始节点;判断所述起始节点是否为所述叶子节点;若所述起始节点不为所述叶子节点,则获取所述多个目标节点的所述访问次数信息,其中,所述多个目标节点为所述起始节点的子节点;根据所述访问次数信息确定所述多个目标节点中是否存在未访问子节点;若存在一个或多个所述未访问子节点,则从所述未访问子节点中确定所述目标节点;更新所述目标节点的所述访问次数信息,并为所述目标节点分配一个所述交易请求数据。
110.在一个可能的示例中,所述确定每一目标节点对应的冲突量之前,上述程序包括用于执行以下步骤的指令:确定至少一个客户在目标时段内的交易热度,其中,所述交易热度用于指示所述至少一个客户中每个客户在所述目标时段内对所述每一目标节点对应的所述业务处理单元的占用情况;根据所述交易热度确定所述每个客户在所述目标时段内的平均交易热度;根据所述平均交易热度之和确定所述每个业务处理单元在所述目标时段内的平均负载;根据所述平均负载确定所述每一目标节点对应的所述业务处理单元的所述冲突量。
111.在一个可能的示例中,所述根据所述平均负载确定所述每一目标节点对应的所述业务处理单元的所述冲突量,上述程序包括用于执行以下步骤的指令:若所述平均负载大于或等于预设阈值,则确定第一参数和第二参数,根据所述第一参数、第二参数和所述平均负载,确定所述冲突量,其中,所述第一参数和/或所述第二参数用于表征所述冲突量和所述平均负载之间的映射关系;若所述平均负载小于所述预设阈值,则确定所述每一目标节点对应的所述业务处理单元的所述冲突量为0。
112.在一个可能的示例中,所述确定所述邻域节点对应的目标子节点,上述程序包括用于执行以下步骤的指令:根据分配规则确定所述目标子节点,其中,所述分配规则是指所述邻域节点从最小所述冲突量对应的目标节点继承的节点分配规则,所述节点分配规则用于指示所述目标子节点的数量上限;确定最小所述冲突量对应的目标节点的节点分配规则;根据所述节点分配规则,确定所述目标子节点。
113.在一个可能的示例中,上述程序包括用于执行以下步骤的指令:在所述逐级向上搜索所述预设分叉树的过程中,以所述目标子节点为所述基准节点,向上搜索得到所述关联节点;将所述目标子节点的所述冲突量累加至所述关联节点,并更新所述关联节点的所
述冲突量和所述访问次数信息;判断所述关联节点是否为所述根节点;若所述关联节点不为所述根节点,则以所述关联节点为所述基准节点,继续执行所述逐级向上搜索所述预设分叉树的步骤,得到下一个所述关联节点,直至确定所述关联节点为所述根节点时,停止所述逐级向上搜索所述预设分叉树的步骤。
114.在一个可能的示例中,所述根据所述第一分叉树的每个节点的所述冲突量,确定目标路径之前,上述程序包括用于执行以下步骤的指令:判断预设时长是否耗尽,其中,所述预设时长用于限定所述搜索的过程执行的时长;若确定所述预设时长耗尽,则停止执行所述搜索的过程。
115.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
116.本技术实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
117.在采用对应各个功能划分各个功能模块的情况下,图5示出了一种数据调度装置的功能单元结构示意图,如图5所示,该数据调度装置500应用于服务器,该数据调度装置500可以包括获取单元501、处理单元502、判断单元503、更新单元504、分配单元505和确定单元506,其中,获取单元501可以用于支持服务器执行上述步骤s101,和/或用于本文所描述的技术的其他过程。
118.处理单元502可以用于支持服务器执行上述步骤s102-s103,以及步骤s105-s106,和/或用于本文所描述的技术的其他过程。
119.判断单元503可以用于支持服务器执行上述步骤s104,和/或用于本文所描述的技术的其他过程。
120.更新单元504可以用于支持服务器执行上述步骤s107,和/或用于本文所描述的技术的其他过程。
121.分配单元505可以用于支持服务器执行上述步骤s108,和/或用于本文所描述的技术的其他过程。
122.确定单元506,可以用于支持服务器执行上述步骤s109,和/或用于本文所描述的技术的其他过程。
123.可以看出,本技术实施例提供的数据调度装置,可通过获取单元获取预设分叉树,
其中,预设分叉树的每一节点对应一个业务处理单元;通过处理单元搜索多个节点,确定多个目标节点,以及用于在搜索的过程中,确定每一目标节点对应的冲突量;判断单元判断最小冲突量对应的目标节点是否为叶子节点;若为叶子节点,则处理单元确定最小冲突量对应的目标节点的邻域节点;确定邻域节点对应的目标子节点,并计算目标子节点的冲突量;并以目标子节点为基准节点,逐级向上搜索预设分叉树,得到目标子节点的关联节点;分配单元分配多个交易请求数据至邻域节点和关联节点,并根据目标子节点的冲突量,更新关联节点的冲突量,得到第一分叉树,以使得多个交易请求数据分配完成;确定单元根据第一分叉树的每个节点的冲突量,确定目标路径。如此可以实现,通过对预设分叉树的搜索过程中对节点进行迭代选择判断,从较为复杂的树结构空间中渐进收敛搜索范围,最终保证了客户交易数据调度的高效性,提供更低延时、更高效率、更优的用户体验。
124.需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
125.本实施例提供的服务器,用于执行上述数据调度方法,因此可以达到与上述实现方法相同的效果。
126.在采用集成的单元的情况下,服务器可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对服务器的动作进行控制管理,例如,可以用于支持服务器执行上述处理单元502执行的步骤。存储模块可以用于支持服务器执行存储程序代码和数据等。通信模块,可以用于支持服务器与其他设备的通信。
127.其中,处理模块可以是处理器或控制器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digitalsignalprocessing,dsp)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、wi-fi芯片等与其他服务器交互的设备。
128.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括服务器。
129.本技术实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括服务器。
130.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
131.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
132.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种
逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
133.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
134.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
135.上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
136.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。
137.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献