CN106227878B - 一种搜索方法和装置 - Google Patents
一种搜索方法和装置 Download PDFInfo
- Publication number
- CN106227878B CN106227878B CN201610628370.9A CN201610628370A CN106227878B CN 106227878 B CN106227878 B CN 106227878B CN 201610628370 A CN201610628370 A CN 201610628370A CN 106227878 B CN106227878 B CN 106227878B
- Authority
- CN
- China
- Prior art keywords
- result
- search
- optimal result
- results
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种搜索方法和装置,该方法包括:获取各计算节点的优选结果;如果所有优选结果中存在比当前最优结果更优的优选结果,从所有优选结果中选择最优的优选结果作为当前最优结果;否则保持当前最优结果不变;判断指定参数是否满足到达设定的阈值;如果否,将当前最优结果发送给各计算节点,以使各计算节点利用当前最优结果进行启发式搜索,得到多个搜索结果,从多个搜索结果中确定优选结果,向汇聚节点发送优选结果;如果是,输出当前最优结果。通过本发明的技术方案,可以有效利用分布式计算优势,将启发式搜索任务分配到多个计算节点上,由每个计算节点进行启发式搜索,从而可以提升启发式搜索的性能、并提高启发式搜索的效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种搜索方法和装置。
背景技术
当机器代替人类执行人类活动中的某种任务时,就可以认为其具有一定的人工智能。人工智能自问世以来,已经得到了迅速的发展。在人工智能技术中,通常采用启发式搜索进行处理。其中,人类活动所涉及到的一些任务往往具有模糊性,可能并没有一个确定解,如医疗诊断等,也有一些任务可能有确定解,但是求解过程的计算量代价很大,如复杂的模糊比赛等。基于上述问题,可以采用启发式搜索进行处理,从而可以在可接受的时间内得到一个较优解。
启发式搜索就是在状态空间中的搜索,通过对每一个搜索位置进行评估,得到最好的位置,再从这个最好的位置进行搜索,以此类推,一直到搜索到目标,得到最优结果。这样,就可以省略大量无谓的搜索路径,提高了效率。
在启发式搜索过程中,计算设备先基于初始数据进行搜索,假设搜索10次,得到10个搜索结果,比较这10个搜索结果,得到最优结果,假设最优结果为第2个搜索结果。则计算设备基于第2个搜索结果进行搜索,再次搜索10次,得到10个搜索结果,比较新的10个搜索结果与上述第2个搜索结果,得到最优结果,以此类推,一直到启发式搜索过程结束,得到一个最优结果。
在上述过程中,启发式搜索的效果和计算设备的性能有很大关系。计算设备频繁的进行搜索,搜索次数太多,导致性能变差,甚至导致计算设备出现运行变慢、死机等问题,计算设备无法搜索到更优的结果,搜索性能较差。
发明内容
本发明提供一种搜索方法,应用于包括汇聚节点和多个计算节点的系统中,所述汇聚节点与多个计算节点分别连接,各计算节点为具有CPU资源和内存资源的节点,且具有计算功能,所述汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能,所述方法应用在所述汇聚节点上,所述方法包括:
步骤A、获取各计算节点的优选结果;
步骤B、如果所有优选结果中存在比当前最优结果更优的优选结果,则从所有优选结果中选择最优的优选结果作为当前最优结果;否则,保持当前最优结果不变;
步骤C、判断指定参数是否满足到达设定的阈值;如果是,执行步骤E;否则,执行步骤D;
步骤D、将所述当前最优结果发送给所述各计算节点,以使所述各计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果,从所述多个搜索结果中确定优选结果,并向所述汇聚节点发送优选结果,返回步骤A;
步骤E、输出所述当前最优结果。
所述将所述当前最优结果发送给所述各计算节点后,所述方法进一步包括:
将总运行时间发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间后,从多个搜索结果中确定优选结果;或者,
将循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果;或者,
将所述总运行时间和所述循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间、或者启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果。
所述从所有优选结果中选择最优的优选结果作为当前最优结果之后,所述将总运行时间发送给所述各计算节点之前,所述方法进一步包括:如果所有优选结果中不存在比当前最优结果更优的优选结果,则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间;如果所有优选结果中存在比当前最优结果更优的优选结果,则保持本地记录的总运行时间不变。
所述计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果的过程,具体包括:如果所有优选结果中存在比当前最优结果更优的优选结果,则所述计算节点使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,如果所有优选结果中不存在比当前最优结果更优的优选结果,则所述计算节点使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,所述计算节点使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
所述判断指定参数是否满足到达设定的阈值的过程,包括:
如果所述当前最优结果与搜索目标值的偏差程度小于预设第一阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的超步数;如果所述超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的搜索时间;如果所述搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。
本发明提供一种搜索装置,应用于包括汇聚节点和多个计算节点的系统中,所述汇聚节点与多个计算节点分别连接,各计算节点为具有CPU资源和内存资源的节点,且具有计算功能,所述汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能,所述搜索装置应用在计算设备上,当所述计算设备作为所述汇聚节点时,则所述搜索装置具体包括:
获取模块,用于获取各计算节点的优选结果;
处理模块,用于当所有优选结果中存在比当前最优结果更优的优选结果时,则从所述所有优选结果中选择最优的优选结果作为当前最优结果;当所有优选结果中不存在比当前最优结果更优的优选结果时,保持当前最优结果不变;
判断模块,用于判断指定参数是否满足到达设定的阈值;
发送模块,用于当判断结果为否时,将所述当前最优结果发送给各计算节点,以使各计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果,从所述多个搜索结果中确定优选结果,并向汇聚节点发送优选结果;
输出模块,用于当判断结果为是时,则输出所述当前最优结果。
所述发送模块,还用于在将所述当前最优结果发送给所述各计算节点之后,将总运行时间发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间后,从多个搜索结果中确定优选结果;或者,
将循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果;或者,
将所述总运行时间和所述循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间、或者启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果。
所述处理模块,还用于在从所有优选结果中选择最优的优选结果作为当前最优结果之后,在将总运行时间发送给所述各计算节点之前,当所有优选结果中不存在比当前最优结果更优的优选结果时,则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间;当所有优选结果中存在比当前最优结果更优的优选结果时,则保持本地记录的总运行时间不变。
当所述计算设备作为计算节点时,则所述搜索装置还包括搜索模块,其中:所述搜索模块,用于在利用所述当前最优结果进行启发式搜索,得到多个搜索结果的过程中,当所有优选结果中存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,
当所有优选结果中不存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
所述判断模块,具体用于在判断指定参数是否满足到达设定的阈值的过程中,当所述当前最优结果与搜索目标值的偏差程度小于预设第一阈值时,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,统计当前已经执行的超步数;如果所述超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,统计当前已经执行的搜索时间;如果所述搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。
基于上述技术方案,本发明实施例中,可以有效利用分布式计算优势,将启发式搜索任务分配到多个计算节点上,由每个计算节点进行启发式搜索,从而可以提升启发式搜索的性能、并提高启发式搜索的效率。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的系统结构的示意图;
图2是本发明一种实施方式中的搜索方法的流程图;
图3是本发明一种实施方式中的计算设备的硬件结构图;
图4是本发明一种实施方式中的搜索装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出了一种搜索方法,该方法可以应用于包括汇聚节点和多个计算节点的系统中。其中,该汇聚节点与多个计算节点分别连接,各计算节点为具有CPU(Central Processing Unit,中央处理器)资源和内存资源的节点,且具有计算功能。该汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能。在一个例子中,计算节点上配置了启发式搜索策略,并可以基于这个启发式搜索策略进行启发式搜索,即可以采用本发明实施例执行相关流程。汇聚节点用于控制各计算节点执行启发式搜索,并基于各计算节点上报的信息进行处理,即可以采用本发明实施例执行相关流程。
其中,启发式搜索就是在状态空间中的搜索,通过对每一个搜索位置进行评估,得到最好的位置,再从这个最好的位置进行搜索,以此类推,一直到搜索到目标,得到最优结果。这样就可以省略大量无谓的搜索路径,提高了效率。
其中,针对包括汇聚节点和多个计算节点的系统,可以为各种类型的系统,本发明实施例中对此不做限制,只要该系统中包括汇聚节点和多个计算节点,且汇聚节点与多个计算节点分别连接,各计算节点具有计算功能,该汇聚节点具有控制各计算节点的功能即可。
如图1所示,为本发明实施例中的系统的结构示意图,该系统可以包括汇聚节点和多个计算节点,该汇聚节点与多个计算节点分别连接。在一个例子中,可以在计算设备(可以是真实的物理设备,也可以由虚拟机实现)上配置一个或者多个计算节点(具有内存资源和CPU资源的逻辑单元,且具有计算功能),且不同的计算节点可以位于同一个计算设备上,也可以位于不同的计算设备上。如图1所示,计算节点1和计算节点2位于计算设备1上,计算节点3、计算节点4和计算节点5位于计算设备2上。在一个例子中,该计算设备可以为PC(Personal Computer,个人计算机)、笔记本电脑、平板电脑等。此外,还可以在计算设备上配置一个汇聚节点(具有内存资源和CPU资源的逻辑单元,且具有控制功能)。其中,汇聚节点所在的计算设备,可以与计算节点所在的计算设备相同,也可以与计算节点所在的计算设备不同,图1中以位于计算设备3上为例。
在上述应用场景下,本发明实施例中提出的搜索方法可以应用在汇聚节点上,如图2所示,该搜索方法可以包括以下步骤:
步骤201,获取各计算节点的优选结果。
步骤202,如果所有优选结果中存在比当前最优结果更优的优选结果,则从所有优选结果中选择最优的优选结果作为当前最优结果;否则,保持当前最优结果不变。
步骤203,判断指定参数是否满足到达设定的阈值;如果是,执行步骤205;否则,执行步骤204。
步骤204,将当前最优结果发送给各计算节点,以使各计算节点利用该当前最优结果进行启发式搜索,得到多个搜索结果,并从该多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果,之后返回步骤201。
步骤205,输出当前最优结果,并结束启发式搜索过程。
针对步骤201,针对第一次获取各计算节点的优选结果的过程,汇聚节点可以获取原始数据,并将原始数据拆分成多个子数据,并将每个子数据分配给一个计算节点。例如,将原始数据拆分成子数据1、2、3、4、5,并将子数据1分配给计算节点1,将子数据2分配给计算节点2,将子数据3分配给计算节点3,将子数据4分配给计算节点4,将子数据5分配给计算节点5。
各计算节点可以使用分配给自身的子数据进行启发式搜索,得到多个搜索结果,并从该多个搜索结果中确定优选结果,向汇聚节点发送该优选结果。这样,汇聚节点就可以获取到各计算节点的优选结果。其中,对于启发式搜索的算法,可以采用传统的蚁群算法、遗传算法、模拟退火算法等,对此启发式搜索的算法不再详加赘述,目前所有能够实现启发式搜索的算法均可以适用。
在一个例子中,在初始状态下,可以在汇聚节点上配置总运行时间,如10秒等,且汇聚节点可以将总运行时间发送给各计算节点。这样,各计算节点在进行启发式搜索的过程中,如果启发式搜索时间达到总运行时间,则可以停止启发式搜索,并从当前得到的多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果。例如,计算节点1从进行第一次启发式搜索开始计时,如果启发式搜索时间已经达到10秒,则停止启发式搜索,假设已经进行了20次启发式搜索,则可以得到20个搜索结果,并从这20个搜索结果中确定出优选结果。
在另一个例子中,在初始状态下,可以在汇聚节点上配置循环运行次数N,如10次等,且汇聚节点可以将该循环运行次数N发送给各计算节点。这样,各计算节点在进行启发式搜索的过程中,如果启发式搜索次数达到循环运行次数N,则可以停止启发式搜索,并从当前得到的多个(即N个)搜索结果中确定优选结果,并向汇聚节点发送该优选结果。例如,计算节点1从进行第一次启发式搜索开始计次,如果启发式搜索次数已经达到10次,则停止启发式搜索,且当前一共得到10个搜索结果,并从这10个搜索结果中确定出优选结果。
在另一个例子中,在初始状态下,可以在汇聚节点上配置总运行时间(如10秒等)和循环运行次数N(如10次等),且汇聚节点可以将该总运行时间和该循环运行次数N发送给各计算节点。这样,各计算节点在进行启发式搜索的过程中,如果启发式搜索时间达到总运行时间或者启发式搜索次数达到循环运行次数N,则可以停止启发式搜索,并从当前得到的多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果。其中,如果先满足条件“启发式搜索时间达到总运行时间”,则可以立即停止启发式搜索,或者,如果先满足条件“启发式搜索次数达到循环运行次数N”,也可以立即停止启发式搜索。
基于上述方式,各计算节点向汇聚节点发送优选结果,这样,汇聚节点就可以获取到各计算节点的优选结果。例如,计算节点1、计算节点2、计算节点3、计算节点4和计算节点5的优选结果分别为R11、R12、R13、R14、R15。
上述过程描述了第一次获取各计算节点的优选结果的过程,在实际应用中,由于启发式搜索是一个迭代循环过程,因此还会多次执行步骤201,在第M次(M为大于等于2的正整数)获取各计算节点的优选结果的过程中,是在步骤204后执行的,步骤204中会将当前最优结果发送给各计算节点。这样,各计算节点可以利用该当前最优结果进行启发式搜索,得到多个搜索结果,并从该多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果,从而使汇聚节点可以获取到各计算节点的优选结果,即再次执行步骤201。对于各计算节点利用当前最优结果进行启发式搜索的算法,同样可以采用传统的蚁群算法、遗传算法、模拟退火算法等,对此启发式搜索的算法,在此不再详加赘述。
在将当前最优结果发送给各计算节点的基础上,步骤204中,在一个例子中,汇聚节点可以将总运行时间发送给各计算节点,各计算节点在进行启发式搜索的过程中,如果启发式搜索时间达到总运行时间,则可以停止启发式搜索,并从当前得到的多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果。在另一个例子中,汇聚节点可以将循环运行次数N发送给各计算节点,各计算节点在进行启发式搜索的过程中,如果启发式搜索次数达到循环运行次数N,则可以停止启发式搜索,并从当前得到的多个(即N个)搜索结果中确定优选结果,并向汇聚节点发送该优选结果。在另一个例子中,汇聚节点可以将总运行时间和循环运行次数N发送给各计算节点,各计算节点在进行启发式搜索的过程中,如果启发式搜索时间达到总运行时间或者启发式搜索次数达到循环运行次数N,则可以停止启发式搜索,并从当前得到的多个搜索结果中确定优选结果,并向汇聚节点发送该优选结果。其中,如果先满足条件“启发式搜索时间达到总运行时间”,则可以立即停止启发式搜索,或者,如果先满足条件“启发式搜索次数达到循环运行次数N”,也可以立即停止启发式搜索。
基于上述方式,各计算节点向汇聚节点发送优选结果,这样,汇聚节点就可以获取到各计算节点的优选结果。在第M次(M为大于等于2的正整数)获取各计算节点的优选结果时,计算节点1、计算节点2、计算节点3、计算节点4和计算节点5的优选结果分别为RM1、RM2、RM3、RM4、RM5。
对于步骤204中发送的总运行时间和/或循环运行次数,与初始状态下发送的总运行时间和/或循环运行次数相比,可以相同,也可以不同。在二者不同时,则步骤204中发送的总运行时间,可以大于初始状态下发送的总运行时间,步骤204中发送的循环运行次数,可以大于初始状态下发送的循环运行次数。
在一个例子中,假设汇聚节点将总运行时间发送给各计算节点,则在将总运行时间发送给各计算节点之前,如果所有优选结果中不存在比当前最优结果更优的(从步骤202中获知),则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间,如果所有优选结果中存在比当前最优结果更优的(从步骤202中获知),则保持本地记录的总运行时间不变。例如,假设本地记录的总运行时间为10秒,如果所有优选结果中不存在比当前最优结果更优的优选结果,则将总运行时间10秒增加到13秒,并将13秒更新为本地记录的总运行时间,之后将本地记录的总运行时间13秒发送给各计算节点。又例如,假设本地记录的总运行时间为10秒,如果所有优选结果中存在比当前最优结果更优的优选结果,则将本地记录的总运行时间10秒发送给各计算节点。
在另一个例子中,假设汇聚节点将循环运行次数N发送给各计算节点,则在将循环运行次数N发送给各计算节点之前,如果所有优选结果中不存在比当前最优结果更优的优选结果,则增加本地记录的循环运行次数N,将增加后的循环运行次数N更新为本地记录的循环运行次数N,如果所有优选结果中存在比当前最优结果更优的优选结果,保持本地记录的循环运行次数N不变。例如,假设本地记录的循环运行次数为10次,如果所有优选结果中不存在比当前最优结果更优的优选结果,将循环运行次数增加到12次,并将12次更新为本地记录的循环运行次数,将本地记录的循环运行次数12次发送给各计算节点。又例如,假设本地记录的循环运行次数为10次,如果所有优选结果中存在比当前最优结果更优的优选结果,将本地记录的循环运行次数10次发送给各计算节点。
在另一个例子中,假设汇聚节点将总运行时间和循环运行次数N发送给各计算节点,则在将总运行时间和循环运行次数N发送给各计算节点之前,如果所有优选结果中不存在比当前最优结果更优的优选结果,可以增加本地记录的总运行时间,和/或增加本地记录的循环运行次数N,将增加后的总运行时间更新为本地记录的总运行时间,和/或将增加后的循环运行次数N更新为本地记录的循环运行次数N。如果所有优选结果中存在比当前最优结果更优的优选结果,则保持本地记录的总运行时间不变,并且保持本地记录的循环运行次数N不变。
其中,上述将总运行时间和/或循环运行次数发送给各计算节点的效果在于:
针对将总运行时间发送给各计算节点的方式,由于各计算节点在启发式搜索时间达到总运行时间后,停止启发式搜索,并向汇聚节点发送优选结果。因此,各计算节点可以基本同一时刻将优选结果发送给汇聚节点,可以充分利用各计算节点的资源,避免有计算节点上报优选结果后,而其它计算节点还没有上报优选结果的情况,从而避免计算节点长时间空闲,有效利用各计算节点的分布式计算优势,同时还可以通过时间来限制每个计算节点的总运行时间。
针对将循环运行次数发送给各计算节点的方式,由于各计算节点在启发式搜索次数达到循环运行次数后,停止启发式搜索,并向汇聚节点发送优选结果。因此,各计算节点可以完成相同次数的启发式搜索,即从相同次数的搜索结果中选取优选结果,这样汇聚节点得到的优选结果就是更有比较价值的优选结果。
针对将总运行时间和循环运行次数发送给各计算节点的方式,具有上述两种方式的优点。而且,在该方式下,还可以将循环运行次数设置的很大,这样,在启发式搜索时间达到总运行时间时,则启发式搜索次数还未达到循环运行次数,从而使得各计算节点可以基本同一时刻将优选结果发送给汇聚节点。
其中,如果所有优选结果中不存在比当前最优结果更优的优选结果,则增加本地记录的总运行时间和/或循环运行次数的原因是:
如果所有优选结果中不存在比当前最优结果更优的优选结果,则说明当前执行的启发式搜索没有取得更好的优选结果,通过增加总运行时间和/或循环运行次数,以使各计算节点可以进行更多次数的启发式搜索,这样,得到比当前最优结果更优的优选结果的几率就会得到提高。
针对步骤202,汇聚节点会将来自各计算节点的所有优选结果与本地记录的当前最优结果进行比较。如果所有优选结果中存在比当前最优结果更优的优选结果,则从所有优选结果中选择最优的优选结果作为当前最优结果。如果所有优选结果中不存在比当前最优结果更优的优选结果,则保持当前最优结果不变。
在一个例子中,在初始状态下,汇聚节点上会配置一个当前最优结果,该当前最优结果为一个默认值。汇聚节点在接收到优选结果R11、R12、R13、R14、R15后,假设优选结果R11、R12、R13、R14、R15都是比当前最优结果(默认值)更优的优选结果,因此,从所有优选结果中选择最优的优选结果(假设为R15)作为当前最优结果。在下一次迭代过程中,汇聚节点在接收到优选结果R21、R22、R23、R24、R25后,假设优选结果R21是比当前最优结果R15更优的优选结果,则选择优选结果R21作为当前最优结果。在下一次迭代过程中,汇聚节点在接收到优选结果R31、R32、R33、R34、R35后,假设不存在比当前最优结果R21更优的优选结果,因此保持当前最优结果为R21,以此类推。
在一个例子中,还可以在汇聚节点上配置一个未进化次数,该未进化次数的初始值为0。这样,针对步骤202,如果所有优选结果中存在比当前最优结果更优的优选结果,则可以设置未进化次数为0(如果未进化次数当前是0,则保持未进化次数不变,如果未进化次数当前不是0,则将未进化次数修改为0)。如果所有优选结果中不存在比当前最优结果更优的优选结果,则将未进化次数加1,如未进化次数当前是1,则将未进化次数修改为2。
基于未进化次数的数值,则可以得知如下信息:如果未进化次数是0,则可以说明所有优选结果中存在比当前最优结果更优的优选结果;如果未进化次数不是0,则可以说明所有优选结果中不存在比当前最优结果更优的优选结果,而且,当前最优结果没有发生变化的次数就是该未进化次数。
针对步骤203,汇聚节点判断指定参数是否满足到达设定的阈值的过程,具体可以包括但不限于如下方式:如果当前最优结果与搜索目标值的偏差程度小于预设第一阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。或者,统计当前已经执行的超步数;如果该超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。或者,统计当前已经执行的搜索时间;如果该搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。
其中,针对搜索目标值,将在后续过程中进行说明,在此不再详加赘述。
其中,从汇聚节点将当前最优结果发送给各计算节点开始,到汇聚节点得到当前最优结果为止,整个过程称为一个超步(Super Step)。因此,每次完成步骤202就认为完成一个超步,这样可以统计出当前已经执行的超步数。
针对步骤204,计算节点利用该当前最优结果进行启发式搜索,得到多个搜索结果的过程,可以包括但不限于如下方式:如果所有优选结果中存在比当前最优结果更优的优选结果,则计算节点使用当前最优结果进行启发式搜索,得到多个搜索结果。或者,如果所有优选结果中不存在比当前最优结果更优的优选结果,计算节点使用当前最优结果进行启发式搜索,得到多个搜索结果;或者,计算节点使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
在一个例子中,汇聚节点可以将所有优选结果中是否存在比当前最优结果更优的优选结果的信息通知给各计算节点。基于此通知信息,则各计算节点可以获知所有优选结果中是否存在比当前最优结果更优的优选结果。
在一个例子中,如果所有优选结果中不存在比当前最优结果更优的优选结果,若本计算节点的优选结果与当前最优结果之间的偏差程度小于预设阈值,则计算节点可以使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。若本计算节点的优选结果与当前最优结果之间的偏差程度不小于预设阈值,则计算节点可以使用当前最优结果进行启发式搜索,得到多个搜索结果。
例如,汇聚节点在接收到优选结果R21、R22、R23、R24、R25后,由于优选结果R21是比当前最优结果R15更优的优选结果,因此汇聚节点将当前最优结果R21下发给计算节点5。计算节点5在接收到当前最优结果R21后,由于当前情况是所有优选结果中存在比当前最优结果更优的优选结果(即R21),因此计算节点5使用当前最优结果R21进行启发式搜索,得到多个搜索结果。
又例如,汇聚节点在接收到优选结果R31、R32、R33、R34、R35后,由于不存在比当前最优结果R21更优的优选结果,因此汇聚节点将当前最优结果R21下发给计算节点5。计算节点5在接收到当前最优结果R21后,由于当前情况是所有优选结果中不存在比当前最优结果更优的优选结果,因此计算节点5使用当前最优结果R21进行启发式搜索,得到多个搜索结果,或者,计算节点5使用本计算节点5的优选结果R35进行启发式搜索,得到多个搜索结果。
在上述过程中,涉及到计算节点从多个搜索结果中确定优选结果,汇聚节点比较优选结果与当前最优结果,搜索目标值等特征,为了实现上述过程,则可以使用估价函数(对于估价函数的选择,不再进行赘述)对搜索结果进行评价,该估价函数给出了搜索目标值。通过使用估价函数对搜索结果(当前最优结果、优选结果等实际上也是搜索结果,其是从多个搜索结果中选择出来的)进行评价,如果评价结果与搜索目标值越接近,则说明搜索结果就越优。
基于上述技术方案,本发明实施例中,可以有效利用分布式计算优势,将启发式搜索任务分配到多个计算节点上,由每个计算节点进行启发式搜索,从而可以提升启发式搜索的性能、并提高启发式搜索的效率。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种搜索装置,该搜索装置应用在计算设备上。其中,该搜索装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的计算设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本发明提出的搜索装置所在的计算设备的一种硬件结构图,除了图3所示的处理器、非易失性存储器外,计算设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该计算设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本发明提出的搜索装置的结构图,应用于包括汇聚节点和多个计算节点的系统中,所述汇聚节点与多个计算节点分别连接,各计算节点为具有CPU资源和内存资源的节点,且具有计算功能,所述汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能,所述搜索装置应用在计算设备上,当所述计算设备作为所述汇聚节点时,则所述搜索装置具体包括:
获取模块11,用于获取各计算节点的优选结果;
处理模块12,用于当所有优选结果中存在比当前最优结果更优的优选结果时,则从所述所有优选结果中选择最优的优选结果作为当前最优结果;当所有优选结果中不存在比当前最优结果更优的优选结果时,保持当前最优结果不变;
判断模块13,用于判断指定参数是否满足到达设定的阈值;
发送模块14,用于当判断结果为否时,将所述当前最优结果发送给各计算节点,以使各计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果,从所述多个搜索结果中确定优选结果,并向汇聚节点发送优选结果;
输出模块15,用于当判断结果为是时,则输出所述当前最优结果。
所述发送模块14,还用于在将所述当前最优结果发送给所述各计算节点之后,将总运行时间发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间后,从多个搜索结果中确定优选结果;或者,
将循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果;或者,
将所述总运行时间和所述循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间、或者启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果。
所述处理模块12,还用于在从所有优选结果中选择最优的优选结果作为当前最优结果之后,在将总运行时间发送给所述各计算节点之前,当所有优选结果中不存在比当前最优结果更优的优选结果时,则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间;当所有优选结果中存在比当前最优结果更优的优选结果时,则保持本地记录的总运行时间不变。
当所述计算设备作为计算节点时,则所述搜索装置还包括搜索模块(在图中未体现),其中:所述搜索模块,用于在利用所述当前最优结果进行启发式搜索,得到多个搜索结果的过程中,当所有优选结果中存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,当所有优选结果中不存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
所述判断模块13,具体用于在判断指定参数是否满足到达设定的阈值的过程中,当所述当前最优结果与搜索目标值的偏差程度小于预设第一阈值时,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,统计当前已经执行的超步数;如果所述超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,统计当前已经执行的搜索时间;如果所述搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种搜索方法,其特征在于,应用于包括汇聚节点和多个计算节点的系统中,所述汇聚节点与多个计算节点分别连接,各计算节点为具有CPU资源和内存资源的节点,且具有计算功能,所述汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能,所述方法应用在所述汇聚节点上,所述方法包括:
步骤A、获取各计算节点的优选结果;
步骤B、如果所有优选结果中存在比当前最优结果更优的优选结果,则从所有优选结果中选择最优的优选结果作为当前最优结果;否则,保持当前最优结果不变;其中,优选结果的优秀度与指定偏差程度呈负相关;所述指定偏差程度为:采用预设估价函数对该优选结果进行评价得到的评价结果与预设搜索目标值的偏差程度;所述预设搜索目标值通过所述预设估价函数得到;
步骤C、判断指定参数是否满足到达设定的阈值;如果是,执行步骤E;否则,执行步骤D;
步骤D、将所述当前最优结果发送给所述各计算节点,以使所述各计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果,从所述多个搜索结果中确定优选结果,并向所述汇聚节点发送优选结果,返回步骤A;
步骤E、输出所述当前最优结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前最优结果发送给所述各计算节点之后,所述方法进一步包括:
将总运行时间发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间后,从多个搜索结果中确定优选结果;或者,
将循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果;或者,
将所述总运行时间和所述循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间、或者启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果。
3.根据权利要求2所述的方法,其特征在于,所述从所有优选结果中选择最优的优选结果作为当前最优结果之后,所述将总运行时间发送给所述各计算节点之前,所述方法进一步包括:
如果所有优选结果中不存在比当前最优结果更优的优选结果,则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间;
如果所有优选结果中存在比当前最优结果更优的优选结果,则保持本地记录的总运行时间不变。
4.根据权利要求1所述的方法,其特征在于,所述计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果的过程,具体包括:
如果所有优选结果中存在比当前最优结果更优的优选结果,则所述计算节点使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,
如果所有优选结果中不存在比当前最优结果更优的优选结果,则所述计算节点使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,所述计算节点使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
5.根据权利要求1所述的方法,其特征在于,所述判断指定参数是否满足到达设定的阈值的过程,具体包括:
如果所述当前最优结果与所述预设搜索目标值的偏差程度小于预设第一阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的超步数;如果所述超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的搜索时间;如果所述搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;
其中,所述超步数是指已执行的超步的数量;所述超步是指从汇聚节点将当前最优结果发送给各计算节点开始,到汇聚节点得到当前最优结果为止。
6.一种搜索装置,其特征在于,应用于包括汇聚节点和多个计算节点的系统中,所述汇聚节点与多个计算节点分别连接,各计算节点为具有CPU资源和内存资源的节点,且具有计算功能,所述汇聚节点为具有CPU资源和内存资源的节点,且具有控制功能,所述搜索装置应用在计算设备上,当所述计算设备作为所述汇聚节点时,则所述搜索装置具体包括:
获取模块,用于获取各计算节点的优选结果;
处理模块,用于当所有优选结果中存在比当前最优结果更优的优选结果时,则从所述所有优选结果中选择最优的优选结果作为当前最优结果;当所有优选结果中不存在比当前最优结果更优的优选结果时,保持当前最优结果不变;其中,优选结果的优秀度与指定偏差程度呈负相关;所述指定偏差程度为:采用预设估价函数对该优选结果进行评价得到的评价结果与预设搜索目标值的偏差程度;所述预设搜索目标值通过所述预设估价函数得到;
判断模块,用于判断指定参数是否满足到达设定的阈值;
发送模块,用于当判断结果为否时,将所述当前最优结果发送给各计算节点,以使各计算节点利用所述当前最优结果进行启发式搜索,得到多个搜索结果,从所述多个搜索结果中确定优选结果,并向汇聚节点发送优选结果;
输出模块,用于当判断结果为是时,则输出所述当前最优结果。
7.根据权利要求6所述的装置,其特征在于,
所述发送模块,还用于在将所述当前最优结果发送给所述各计算节点之后,将总运行时间发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间后,从多个搜索结果中确定优选结果;或者,
将循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果;或者,
将所述总运行时间和所述循环运行次数发送给所述各计算节点,以使所述各计算节点在启发式搜索时间达到所述总运行时间、或者启发式搜索次数达到所述循环运行次数后,从多个搜索结果中确定优选结果。
8.根据权利要求7所述的装置,其特征在于,
所述处理模块,还用于在从所有优选结果中选择最优的优选结果作为当前最优结果之后,在将总运行时间发送给所述各计算节点之前,当所有优选结果中不存在比当前最优结果更优的优选结果时,则增加本地记录的总运行时间,并将增加后的总运行时间更新为本地记录的总运行时间;当所有优选结果中存在比当前最优结果更优的优选结果时,则保持本地记录的总运行时间不变。
9.根据权利要求6所述的装置,其特征在于,当所述计算设备作为计算节点时,则所述搜索装置还包括搜索模块,其中:
所述搜索模块,用于在利用所述当前最优结果进行启发式搜索,得到多个搜索结果的过程中,当所有优选结果中存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,
当所有优选结果中不存在比当前最优结果更优的优选结果时,则使用所述当前最优结果进行启发式搜索,得到多个搜索结果;或者,使用本计算节点的优选结果进行启发式搜索,得到多个搜索结果。
10.根据权利要求6所述的装置,其特征在于,
所述判断模块,具体用于在判断指定参数是否满足到达设定的阈值的过程中,当所述当前最优结果与所述预设搜索目标值的偏差程度小于预设第一阈值时,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的超步数;如果所述超步数大于预设第二阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;或者,
统计当前已经执行的搜索时间;如果所述搜索时间大于预设第三阈值,则确定满足到达设定的阈值;否则,确定不满足到达设定的阈值;
其中,所述超步数是指已执行的超步的数量;所述超步是指从汇聚节点将当前最优结果发送给各计算节点开始,到汇聚节点得到当前最优结果为止。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281045.XA CN111026713B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索系统、数据搜索方法及运行时间确定方法 |
CN201610628370.9A CN106227878B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610628370.9A CN106227878B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281045.XA Division CN111026713B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索系统、数据搜索方法及运行时间确定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106227878A CN106227878A (zh) | 2016-12-14 |
CN106227878B true CN106227878B (zh) | 2020-01-14 |
Family
ID=57535810
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281045.XA Active CN111026713B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索系统、数据搜索方法及运行时间确定方法 |
CN201610628370.9A Active CN106227878B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281045.XA Active CN111026713B (zh) | 2016-08-03 | 2016-08-03 | 一种搜索系统、数据搜索方法及运行时间确定方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111026713B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480231A (zh) * | 2017-08-04 | 2017-12-15 | 深圳大学 | 基于带序兴趣区域的轨迹查询的启发式扩张搜索扩展算法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996102A (zh) * | 2009-08-31 | 2011-03-30 | 中国移动通信集团公司 | 数据关联规则挖掘实现方法与系统 |
CN102486739A (zh) * | 2009-11-30 | 2012-06-06 | 国际商业机器公司 | 高性能计算集群中分发数据的方法和系统 |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
CN104504147A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种数据库集群的资源协调方法、装置及系统 |
CN105426489A (zh) * | 2015-11-23 | 2016-03-23 | 宁波数方信息技术有限公司 | 基于内存计算的分布式可扩展数据搜索系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2509496A1 (en) * | 2005-06-06 | 2006-12-06 | 3618633 Canada Inc. | Search-enhanced trie-based syntactic pattern recognition of sequences |
US7496683B2 (en) * | 2006-07-27 | 2009-02-24 | International Business Machines Corporation | Maximization of sustained throughput of distributed continuous queries |
CN101211342A (zh) * | 2006-12-29 | 2008-07-02 | 上海芯盛电子科技有限公司 | 并发式蛙跳启发式搜索算法 |
CN103164495B (zh) * | 2011-12-19 | 2016-01-20 | 中国人民解放军63928部队 | 一种基于周边搜索的半连接查询优化方法及其系统 |
US9367108B2 (en) * | 2012-06-28 | 2016-06-14 | Nec Corporation | Reduction of operational cost using energy storage management and demand response |
CN102820662B (zh) * | 2012-08-17 | 2014-08-06 | 华北电力大学 | 含分布式电源的电力系统多目标无功优化方法 |
CN103646035B (zh) * | 2013-11-14 | 2017-07-07 | 北京锐安科技有限公司 | 一种基于启发式方法的信息搜索方法 |
CN104199878A (zh) * | 2014-08-21 | 2014-12-10 | 西安闻泰电子科技有限公司 | 游戏引擎最短路径搜索方法、游戏引擎系统 |
-
2016
- 2016-08-03 CN CN201911281045.XA patent/CN111026713B/zh active Active
- 2016-08-03 CN CN201610628370.9A patent/CN106227878B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996102A (zh) * | 2009-08-31 | 2011-03-30 | 中国移动通信集团公司 | 数据关联规则挖掘实现方法与系统 |
CN102486739A (zh) * | 2009-11-30 | 2012-06-06 | 国际商业机器公司 | 高性能计算集群中分发数据的方法和系统 |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
CN104504147A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种数据库集群的资源协调方法、装置及系统 |
CN105426489A (zh) * | 2015-11-23 | 2016-03-23 | 宁波数方信息技术有限公司 | 基于内存计算的分布式可扩展数据搜索系统 |
Non-Patent Citations (1)
Title |
---|
基于虚拟机动态迁移的电力仿真云计算平台资源调度策略;王德文;《电力系统自动化》;20150625;第39卷(第12期);第97-105页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111026713A (zh) | 2020-04-17 |
CN111026713B (zh) | 2023-03-31 |
CN106227878A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016673B2 (en) | Optimizing serverless computing using a distributed computing framework | |
WO2021011088A1 (en) | Automated generation of machine learning models for network evaluation | |
US9165247B2 (en) | Using global and local catastrophes across sub-populations in parallel evolutionary computing | |
US10303135B2 (en) | Method and apparatus for controlling smart home device | |
WO2017157160A1 (zh) | 数据表连接方式处理方法及装置 | |
Yin et al. | Experiences with ml-driven design: A noc case study | |
CN106878164A (zh) | 一种报文传输方法和装置 | |
US10884805B2 (en) | Dynamically configurable operation information collection | |
EP3877861A1 (en) | Managing computation load in a fog network | |
JP2017117449A (ja) | ベクトル推定に基づくグラフ分割を伴う、コンピューティング装置のデータフロープログラミング | |
CN111738467A (zh) | 一种运行状态异常检测方法、装置及设备 | |
CN106227878B (zh) | 一种搜索方法和装置 | |
CN105404635A (zh) | 字符串匹配的方法、设备和异构计算系统 | |
CN107920067B (zh) | 一种主动对象存储系统上的入侵检测方法 | |
US9880923B2 (en) | Model checking device for distributed environment model, model checking method for distributed environment model, and medium | |
Wei et al. | Sequential testing policies for complex systems under precedence constraints | |
US20200293908A1 (en) | Performing data processing based on decision tree | |
CN113746763B (zh) | 一种数据处理的方法、装置和设备 | |
KR101878213B1 (ko) | 가중치 그래프를 요약하는 방법, 장치 및 컴퓨터 프로그램 | |
CN108846085A (zh) | 一种id生成方法、装置、电子设备及系统 | |
US20160246534A1 (en) | Adaptive mode translation lookaside buffer search and access fault | |
CN116361153A (zh) | 固件代码的测试方法、装置、电子设备、存储介质 | |
CN110021166B (zh) | 用于处理用户出行数据的方法、装置和计算设备 | |
Li et al. | Active learning for causal Bayesian network structure with non-symmetrical entropy | |
CN114490458A (zh) | 数据传输方法、芯片、服务器以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |