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

节点连通性的查询方法、系统、计算机设备及存储介质与流程

2022-02-25 21:39:28 来源:中国专利 TAG:


1.本技术涉及计算机数据处理领域,特别是涉及一种节点连通性的查询方法、系统、计算机设备及存储介质。


背景技术:

2.利用图结构描述一些网络系统有利于计算机设备进行数据处理,通过建立的图结构可以查询网络系统中任意两个状态为开的设备之间是否相连。
3.但是,基于图结构查询网络系统中两个设备是否相连,往往需要遍历整个图结构,尤其是当图结构十分复杂(例如,网络系统中设备的数量很多、设备之间的连接关系复杂等)的情况下,该种查询方式将消耗繁大量计算机资源和时间。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本技术的目的在于提供一种节点连通性的查询方法、系统、计算机设备及存储介质,用于解决现有技术中当图结构发生变化时如何快速更新查询连通性的查询结构以及如何快速查询两节点之间的连通性的问题。
5.为实现上述目的及其他相关目的,本技术的第一方面提供一种节点连通性的查询方法,其特征在于,应用于基于图结构而构建的网络系统中,其中,所述图结构中包括多个第一节点、多个第二节点、第一节点与第二节点之间的原图边、以及第二节点之间的原图边;所述查询方法包括:当所述图结构发生变化时,根据基于变化的图结构所得到的多个异或值集合和原图边集合,对与变化前的图结构相对应的至少一个最大连通分量进行更新;其中,所述异或值集合是基于与经选定的同一第一节点相连的任意两个第二节点之间建立的图边得到的,所述原图边集合包括状态为开的第二节点之间的原图边;根据更新得到的至少一个最大连通分量,查询一对节点的连通性。
6.在本技术的第一方面的某些实施方式中,所述多个异或值集合是根据所述图结构所对应的多个设定图边集合得到的;其中,设定图边集合中的设定图边是与经选定的同一第一节点连接的任意两个第二节点之间建立的图边,经选定的同一第一节点是通过预设概率抽取出的状态为开的第一节点。
7.在本技术的第一方面的某些实施方式中,所述异或值集合中的异或值是一状态为开的第二节点与其他状态为开的第二节点之间的设定图边的标识的异或,且所述设定图边的两个第二节点属于任意两层的分层点集。
8.在本技术的第一方面的某些实施方式中,利用多个异或值集合对根据原图边集合得到连通分量进行扩大,直至利用多个异或值集合中的异或值得到的新的连通分量与扩大前的连通分量是相同的,并将该相同的连通分量作为所述图结构的一个最大连通分量。
9.在本技术的第一方面的某些实施方式中,所述查询方法还包括:当所述图结构每完成一组变化时,根据每组图结构的变化更新多个设定图边集合、多个异或值集合以及原图边集合;其中,每组变化的次数为q,q≤p,p为图结构中第二节点的数量。
10.在本技术的第一方面的某些实施方式中,在图结构的一组变化中,当一第一节点的状态由关变开;根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新的步骤包括:将与该第一节点相连的原图边加入到原图边集合中,以更新所述原图边集合;根据更新的原图边集合,对所述至少一个最大连通分量进行更新。
11.在本技术的第一方面的某些实施方式中,在图结构的一组变化中,当一第一节点的状态由开变关,并且该第一节点在该组变化开始时的状态是关或者该第一节点在该组变化中已经发生过变化;根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新的步骤包括:从所述原图边集合中删除与该第一节点相连的原图边,以更新所述原图边集合;根据更新的原图边集合,对所述至少一个最大连通分量进行更新。
12.在本技术的第一方面的某些实施方式中,在图结构的一组变化中,当一第一节点的状态是一组变化中第一次由开变关,并且该第一节点在该组变化开始时的状态是开;根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新的步骤包括:根据该第一节点得到与每一层分层点集相对应的第一集合;其中,所述第一集合是分层点集中与该第一节点相连的第二节点;根据得到的第一集合中的第二节点更新多个异或值集合;根据更新的多个异或值集合,对所述至少一个最大连通分量进行更新。
13.在本技术的第一方面的某些实施方式中,对于图结构的一组变化中,当一第二节点的状态发生改变,根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新的步骤包括:根据状态发生改变的第二节点以及在该组变化开始时的状态是开并且在该第二节点的状态发生改变前存在状态由开变关的第一节点,更新多个异或值集合;根据状态发生改变的第二节点更新原图边集合;根据更新的多个异或值集合以及更新的原图边集合,对所述至少一个最大连通分量进行更新。
14.在本技术的第一方面的某些实施方式中,所述图结构是依据通信网络系统中终端设备与交换中心之间的网络连接关系以及交换中心与交换中心之间的网络连接关系而产生的。
15.在本技术的第一方面的某些实施方式中,根据更新得到的至少一个最大连通分量查询一对节点的连通性的步骤包括:如果所述两个第二节点属于同一个最大连通分量,则确定两个第二节点之间连通;如果所述两个第二节点不属于同一个最大连通分量,则确定两个第二节点之间不连通的。
16.在本技术的第一方面的某些实施方式中,所查询的一对节点包括第一节点时,根据更新得到的至少一个最大连通分量查询一对节点的连通性的步骤包括:根据图结构中状态为开的第一节点与状态为开的第二节点之间的原图边确定与所查询的第一节点相连的第二节点,若不存在与第一节点相连的第二节点,则确定不连通,反之,则根据所述至少一个最大连通分量查询两个第二节点之间的连通性,以确定所述一对节点的连通性。
17.本技术的第二方面还提供一种节点连通性的查询系统,应用于基于图结构而构建的网络系统中,其中,所述图结构中包括多个第一节点、多个第二节点、第一节点与第二节
点之间的原图边、以及第二节点之间的原图边,所述查询系统包括:监测模块,用于监测所述图结构以输出变化指令;更新模块,用于当接收到所述变化指令时,根据基于变化的图结构所得到的多个异或值集合和原图边集合,对与变化前的图结构相对应的至少一个最大连通分量进行更新;其中,所述异或值集合是基于与经选定的同一第一节点相连的任意两个第二节点之间建立的图边得到的,所述原图边集合包括状态为开的第二节点之间的原图边;查询模块,用于根据更新得到的至少一个最大连通分量,查询一对节点的连通性。
18.本技术的第三方面还提供一种计算机设备,包括:存储装置,用于存储一图结构及与其相对应的至少一个最大连通分量,和至少一个程序;处理装置,与所述存储装置相连,用于执行所述至少一种程序,以协调所述存储装置执行如本技术第一方面中任一所述的节点连通性的查询方法。
19.本技术的第四方面还提供一种计算机可读存储介质,存储至少一种程序,所述至少一种程序在被调用时执行并实现如本技术第一方面中任一所述的节点连通性的查询方法。
20.如上所述,本技术的节点连通性的查询方法、系统、计算机设备及存储介质,具有以下有益效果:可以在一图结构中节点的状态发生改变时,快速地得到用于查询连通性的查询结构,降低了更新查询结构的时间,可以基于当前图结构所对应的至少一个最大连通分量快速查询两个状态为开的节点之间是否连通,降低了查询时间。
附图说明
21.图1显示为本技术的计算机设备在一实施例中的硬件结构示意图。
22.图2显示为本技术的图结构在一实施例中的示意图。
23.图3显示为本技术的图结构在另一实施例中的示意图。
24.图4显示为本技术更新后的图结构在一实施例中的示意图。
25.图5显示为本技术的节点连通性的查询方法在一实施例中的流程示意图。
26.图6a显示为本技术更新前的图结构在一实施例中的示意图。
27.图6b显示为图6a更新后的图结构在一实施例中的示意图。
28.图7a显示为本技术更新前的图结构在另一实施例中的示意图。
29.图7b显示为图7a更新后的图结构在另一实施例中的示意图。
30.图8a显示为本技术更新前的图结构在又一实施例中的示意图。
31.图8b显示为图8a更新后的图结构在又一实施例中的示意图。
32.图8c显示为图8b更新后的图结构在一实施例中的示意图。
33.图9显示为一组变化中初始时的图结构在一实施例中的示意图。
34.图10显示为一图结构所对应的两个最大连通分量的示意图。
35.图11显示为本技术的节点连通性的查询系统在一实施例中的结构示意图。
具体实施方式
36.以下由特定的具体实施例说明本技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本技术的其他优点及功效。
37.在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应
当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一节点可以被称作第二节点,并且类似地,第二节点可以被称作第一节点,而不脱离各种所描述的实施例的范围。第一节点和第二节点均是在描述一个节点,但是除非上下文以其他方式明确指出,否则它们不是同一个节点。
38.再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
39.在实际应用中,网络系统可由网络系统中的节点、以及节点之间的连接关系来描述。所述网络系统包括但不限于通信网络系统、交通运输网络等。
40.在以下实施方式中,暂以网络系统为通信网络系统为例进行举例说明,但并不局限于此,应理解的,所述网络系统在一些示例中也可以是其他符合本技术所描述的图结构的网络系统。
41.以所述网络系统为通信网络系统为例,所述通信网络系统举例为:移动通信网络、互联网、局域网等。所述通信网络系统中的节点为网络连接设备,所述网络连接设备包括用于交换信息的交换中心(在图结构中称为第二节点)、和终端设备(在图结构中称为第一节点)等,所述交换中心举例为路由器、交换机、集线器等,所述终端设备举例为手机、电脑、传真机、电话座机等。所述通信网络系统中节点之间的连接关系包括交换中心与交换中心之间的连接关系、以及终端设备与交换中心之间的连接关系。
42.上述网络系统中的节点、以及节点之间的连接关系可以用图结构g=(v,e)来表示,其中,v代表所述图结构的节点集合,e代表所述图结构的原图边集合,所述原图边代表网络系统中真实存在的连接关系,而后续提到的设定图边是基于所述原图边而得到的,所述设定图边将在后续详述。所述节点集合被分为第一节点集合l和第二节点集合u,所述第一节点集合l中包括图结构中的第一节点(例如网络系统中的终端设备),k=|l|,k为第一节点集合l中第一节点的总数。所述第二节点集合u中包括图结构中的第二节点(例如网络系统中的交换中心),p=|u|,p为第二节点集合u中第二节点的总数。所述图边集合e中的原图边包括连接第一节点与第二节点的原图边、以及连接第二节点与第二节点之间的原图边,节点u以及节点v之间的原图边可用(u,v)表示也可以用(v,u)表示,原图边(u,v)和原图边(v,u)表示的是同一条原图边。第二节点集合u中状态为开的第二节点构成的集合可用u
*
表示。
43.需要说明的是,所述原图边的第一节点或者第二节点可以是状态为开的节点(例如,终端设备或交换中心为可与其他节点通信的状态)也可以是状态为关的节点(例如,终端设备或交换中心为因故而不能与其他节点通信的状态);具体地,图结构中的原图边包括:状态为开的两个节点之间的原图边、状态为关的两个节点之间的原图边、一个状态为关的节点和一个状态为开的节点之间的原图边,虽然后两种原图边中的两个节点所对应的网络连接设备之间不可以通信,但是,如果后两种原图边中的两个节点的状态变为状态均是
开的情况下,则该两个节点所对应的网络连接设备是可以通信的。在下面各实施例的图示中,虚线的原图边表示该原图边的两个节点中存在状态为关的节点,并且虚线的节点表示状态为关的节点,实线的节点表示状态为开的节点,实线的原图边表示该原图边的两个节点的状态均为开。
44.在实际应用中,为了查询网络系统中的两个网络连接设备是否可以通信,通常需要通过基于当前图结构所建立的查询结构来查询,所述查询结构举例为当前图结构所对应的至少一个最大连通分量。为此,所构建的查询结构中不仅包括所有状态为开的第二节点之间的原图边,还包括所有状态为开的第一节点与状态为开的第二节点之间的原图边,而图结构中第一节点的数量k往往很大,第二节点的数量p往往很小,例如,p=o(n
0.846
),其中,n为图结构中节点的总数量,所以,当n很大时,直接基于图结构计算最大连通分量会消耗繁大量计算机资源和时间;并且当图结构发生改变(即图结构中的节点状态发生改变)的情况下,目前直接基于图结构更新查询结构的摊销更新时间最快为其中m为原图边集合e中原图边的总数量,m值很大会导致更新查询结构的时间变慢、更新查询结构的效率低、系统资源消耗大等缺陷,本技术是用设定图边来代表两个第二节点由于第一节点造成的连通性,然后,只构建第二节点间的最大连通分量。
45.需要说明的是,以下图示中第一节点的数量与第二节点的数量仅限于举例,在实际应用中,图结构中的总节点数量往往很大,并且图结构中第一节点的数量多于第二节点的数量。
46.为此,本技术提供一种节点连通性的查询方法、查询系统、计算机设备及存储介质,应用于基于图结构而构建的网络系统中,可以根据节点更新对至少一个最大连通分量进行更新以及根据更新后的至少一个最大连通分量查询一对状态为开的节点是否连通。
47.请参阅图1,图1显示为本技术的计算机设备在一实施例中的硬件结构示意图,如图所示,所述计算机设备20包括存储装置21、处理装置22。
48.所述存储装置21用于存储一图结构及与其相对应的至少一个最大连通分量,和至少一个程序;所述至少一个最大连通分量是利用多个异或值集合和原图边集合而构建的,所述最大连通分量用于确定两个状态为开的节点之间的连通性;其中,所述最大连通分量中可以仅包括图结构中状态为开的一个第二节点,还可以同时包括状态为开的多个第二节点以及第二节点之间的原图边,同一最大连通分量中的各第二节点之间可以直接或间接地连接(即任意两个可以连接的第二节点均在同一最大连通分量中)。在以下的示例中,为了方便举例,仅用最大连通分量中包括的第二节点来表示该最大连通分量,例如,一最大连通分量包括第二节点u、第二节点r、以及第二节点u与第二节点r之间的原图边,为了方便举例,用点集{u、r}来表示该最大连通分量。在某些实施例中,所述存储装置中还存储当前图结构所对应的多个异或值集合、原图边集合、多个设定图边集合、各层的分层点集等便于执行连通性查询的信息。
49.其中,存储装置21包括但不限于:只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、非易失性存储器(nonvolatile ram,简称nvram)。例如,存储装置21包括闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置21还可以包括远离一个或多个处理装置的存储器,例如,经由rf电路或外部端口
以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(lan)、广域网(wan)、存储局域网(san)等,或其适当组合。存储装置21还包括存储器控制器,其可控制所述计算机设备的诸如中央处理器(cpu)和接口装置之类或其他组件对存储器的访问控制。
50.处理装置22与存储装置21相连,用于执行所述至少一个程序,以协调所述存储装置21执行所述节点连通性的查询方法、或者查询结构的更新方法;所述处理装置22包括一个或多个处理器。处理装置22可操作地与存储装置21执行数据读写操作。处理装置22执行诸如数据压缩处理、数据编码、数据解码等。所述处理装置22包括一个或多个通用微处理器、中央处理器(cpu)、一个或多个专用处理器(asic)、一个或多个数字信号处理器(digital signal processor,简称dsp)、一个或多个现场可编程逻辑阵列(field programmable gate array,简称fpga)、或它们的任何组合。
51.处理装置22还可与计算机设备20的接口单元可操作地耦接。通过所述接口单元,所述计算机设备20能够与各种其他电子设备进行交互,以及可使用户能够与所述计算机设备20进行交互。其中,所述接口单元包括网络接口、数据线接口等。其中所述网络接口包括但不限于:以太网的网络接口、基于移动网络(3g、4g、5g等)的网络接口、基于近距离通信(wifi、蓝牙等)的网络接口等。所述数据线接口包括但不限于:usb接口、rs232等。
52.在某些实施例中,所述计算机设备20还包括输入装置(未予图示),所述输入装置可使得用户能够与所述计算机设备20进行交互。所述输入装置包括按钮、键盘、鼠标、触控板等。在其他实施例中,所述计算机设备20还可以包含音频单元,所述音频单元可以包含扬声器、及拾音器等。所述计算机设备20通过所述音频单元能与用户语音交互。如此,所述计算机设备20可以通过与用户的交互来获取查询请求,所述查询请求将在后续详述。
53.本技术提供的节点连通性的查询方法应用于基于图结构而构建的网络系统中(即用图结构描述的网络系统中)可由前文所述的计算机设备20或者由可执行所述查询方法相关步骤的其他计算机设备来执行。
54.其中,所述图结构中包括多个第一节点、多个第二节点、第一节点与第二节点之间的原图边、以及第二节点之间的原图边。
55.请参阅图2,图2显示为本技术的图结构在一实施例中的示意图,如图2所示,所述图结构中的第一节点为5、6、7、8、9、10、11、12、13、14、15、16,所述图结构中的第二节点为1、2、3、4,图结构中第一节点与第二节点之间的原图边包括(5,1)、(5,2)、(5,3)、(6,1)、(6,2)、(6,4)、(7,1)、(7,4)、(8,1)、(8,4)、(9,2)、(9,3)、(10,4)、(11,1)、(12,2)、(13,4)、(14,1)、(15,3)、(16,3),图结构中两个第二节点之间的原图边包括(3,4),其中,图结构中的第二节点4和第一节点5的状态为关,虚线的原图边表示原图边的两个节点中存在状态为关的节点,实线的原图边表示原图边的两个节点的状态均为开。
56.所述异或值集合是根据所述图结构所对应的设定图边集合得到的;其中,设定图边集合中的设定图边是与经选定的同一第一节点连接的任意两个第二节点之间建立的图边。
57.在一实施例中,所述经选定的同一第一节点是通过预设概率抽取出的状态为开的第一节点。具体地,基于一图结构和一预设概率对所述图结构中的第一节点进行一次抽样可得到一个第二集合,依据所述概率对所述图结构进行多次抽样可得到多个第二集合,每
一所述第二集合中包括部分第一节点或全部第一节点,根据每一第二集合中的状态为开的第一节点可得到一个设定图边集合f;基于一设定图边集合可得到一异或值集合,其中,所述异或值集合包括多个异或值。所述异或值集合中的一异或值是一状态为开的第二节点与其他状态为开的第二节点之间的设定图边的标识的异或,且所述设定图边的两个第二节点属于任意两层的分层点集。所述预设概率举例为1/2,所述抽样次数(第二集合的个数、设定图边集合的个数、异或值集合的个数)举例为o(log n),其中,n为所述图结构中节点的总数量。
58.其中,图结构中所对应的分层点集是第三集合ui中状态为开的点构成的,所述第三集合ui是基于概率1/2i对所述第二节点集合u进行抽样得到的,其中,p为第二节点集合u中第二节点的总数。请再参阅图2,当i等于0时图结构所对应的第三集合u0是基于概率1/20对所述第二节点集合u进行分层得到的,则i=0所对应的第三集合u0为(1、2、3、4),与第三集合u0对应的分层点集为(1、2、3)。
59.在一具体实施例中,请再参阅图2,以1/2的概率对第一节点集合l进行一次抽样得到的第二集合为(5、6、7、8、9、10),其中,对于状态为开的第一节点6,其与第二节点1、2、4相连,所以与第一节点6相对应的设定图边为(1,2)、(2,4)、(1,4),对于状态为开的第一节点7,其与第二节点1、4相连,所以与第一节点7相对应的设定图边为(1,4),对于状态为开的第一节点8,其与第二节点1、4相连,所以与第一节点8相对应的设定图边为(1,4),对于状态为开的第一节点9,其与第二节点2、3相连,所以与第一节点9相对应的设定图边为(2,3),所以,与第二集合(5、6、7、8、9、10)相对应的设定图边集合为{(1,2)、(2,4)、(1,4)、(1,4)、(1,4)、(2,3)},以1/2的概率对第一节点集合l进行多次抽样可得到多个第二集合,进而可得到多个设定图边集合,基于多个设定图边集合可得到多个异或值集合。需要说明的是,在一组变化过程中,每一次变化后的所述多个设定图边集合保持不变,每个设定图边集合始终代表在该组变化前选定的状态为开的第一节点所造成的连接性。所述多个设定图边集合只在图结构完成一组变化后进行组更新时发生改变,但在一组变化过程中,异或值集合一定与当前图结构相一致,具体将在后续详述。
60.所述异或值集合中的异或值是一状态为开的第二节点与其他状态为开的第二节点之间的设定图边的标识的异或,且所述设定图边的两个第二节点属于任意两层的分层点集。
61.所述设定图边的标识用于区分不同的设定图边,所述标识可以由两个第二节点的标识构成。例如,第二节点的标识长度为个二进制位,当图结构中第二节点的数量p为16的情况下,标识长度为4个二进制位,如果第二节点0和第二节点1的标识分别为0000、和0001,由这两个第二节点构成的设定图边的标识可以为00000001,该设定图边的标识也可以为00010000,但是,在整个查询方法的执行过程中需要保持一致,在后续的实施例中均以标识小的第二节点在前来构成设定图边的标识。
62.需要说明的是,上述确定两个第二节点构成的设定图边的标识的方式仅为举例,还可以通过预设的编码方式对两个第二节点的标识进行编码处理,以得到用于唯一标识两个第二节点之间的设定图边的标识。
63.在一具体实施例中,与一第二节点u相对应的所述异或值集合中的异或值为
其中,其中,id(e)表示设定图边(u,v)的标识。请参阅图3,图3中的第一节点为4、5、6、7、8、9、10、11、12、13、14、15,图3中的第二节点为0、1、2、3,以1/2的概率对第一节点集合l进行一次抽样得到的第二集合为(4、5、6、7、8、9),与第二集合(4、5、6、7、8、9)相对应的设定图边集合为{(0,1)、(1,3)、(0,3)、(0,3)、(0,3)、(1,2)},对于第二节点1,在i和j取不同值的情况下,所述异或值集合中包括多个第二节点1的异或值。例如,i=j=0的情况下,异或值t
0,0
(1)是设定图边(0,1)的标识、设定图边(1,3)的标识、和设定图边(1,2)的标识的异或,在计算t
0,0
(1)时,设定图边(0,1)的标识可以为0001,设定图边(1,3)的标识可以为0111,设定图边(1,2)的标识可以为0110,所以对于上述设定图边集合,在i=j=0的情况下,与第二节点1相对应的一异或值对于与第二节点1相对应的其他异或值t
i,j
(1)要根据第二节点1是否属于u
i*
以及与第二节点1相连的设定图边中的另一第二节点是否属于来计算。
64.所述原图边集合中包括图结构中状态为开的第二节点之间的原图边。所述最大连通分量可用于表示状态为开的第二节点之间的连通状态,最大连通分量可由状态为开的第二节点构成,任意两个可以通过状态为开的第一节点和第二节点连通的第二节点均在同一最大连通分量中。请参阅图4,图4中的第一节点为6、7、8、9、10、11、12,图4中的第二节点为0、1、2、3、4、5,图4所对应的原图边集合中包括(0,1)、(2,3)、(1,2)这三条原图边。由于,图4中原图边集合中包括:(0,1)、(2,3)、(1,2),并且第二节点3、第二节点4、第二节点5均与第一节点6相连,则该图结构所对应的最大连通分量为{0,1,2,3,4,5}。需要说明的是,当所述图结构发生更新的情况下,所述原图边集合中还可以包括因更新加入的状态为开的第一节点与状态为开的第二节点之间的原图边。
65.请参阅图5,图5显示为本技术的节点连通性的查询方法在一实施例中的流程示意图,如图所示,所述查询方法包括步骤s110和步骤s120。本技术可以根据节点更新对至少一个最大连通分量进行更新以及根据更新后的至少一个最大连通分量查询一对状态为开的节点是否连通;其中,所述处理装置协调所述存储装置等硬件执行以下步骤,与变化前的图结构相对应的至少一个最大连通分量是利用变化前的图结构所对应的多个异或值集合和原图边集合得到的。
66.在步骤s110中,当所述图结构发生变化时,根据基于变化的图结构所得到的多个异或值集合和原图边集合,对所述至少一个最大连通分量进行更新。
67.当实际的网络系统中的网络连接设备由于硬件故障、人为操作等因素其状态可能会由开变关或者是由关变开,进而会导致相应的图结构发生变化。所述图结构发生的变化包括:图结构中的第一节点的状态由关变开、图结构中的第一节点的状态由开变关、图结构中的第二节点的状态由关变开、图结构中的第二节点的状态由开变关。
68.在本技术的实施方式中,为了保证更新方法的准确性,将每q次图结构变化作为一组,其中,q≤p,p为图结构中第二节点的数量。
69.在一实施例中,当所述图结构发生变化时,利用一图结构所对应的多个异或值集合和原图边集合构建一个最大连通分量,如果该最大连通分量不包括图结构中所有状态为开的第二节点,则需要基于图结构继续构建其他最大连通分量,直至所构建的至少一个最
大连通分量中包括图结构中所有状态为开的第二节点。
70.在一具体实施例中,当所述图结构发生变化时,先对原图边集合构成的所有状态为开的第二节点的连通分量集进行更新,每次更新中原图边集合最多更新p条原图边,所需时间是对于连通分量集中一个连通分量,利用多个异或值集合对该连通分量进行逐步扩大,直至利用多个异或值集合不能继续扩大,则此时得到连通分量为一个最大连通分量,对于利用原图边集合更新得到的连通分量集中的每一连通分量均利用多个异或值集合进行扩大,可得到所述图结构所对应的至少一个最大连通分量。
71.以一原图边集合中包括(u,r)、(v,w)、(w,e)三个原图边为例,其中,原图边(w,e)是图结构变化后加入的原图边,根据变化前的原图边集合得到的所有状态为开的第二节点所在的连通分量为:第二节点u和r所在的连通分量{u,r}、第二节点m所在的连通分量{m}、第二节点e所在的连通分量{e}、以及第二节点v和w所在的连通分量{v,w}。在基于变化的图结构所得到的多个异或值集合和原图边集合对至少一个连通分量进行更新的过程中,首先,利用原图边集合{(u,r)、(v,w)、(w,e)}对连通分量{u,r}、{m}、{e}以及{v,w}进行更新,可得到利用原图边集合得到的新的连通分量{u,r}、{m}、{e}以及{v,w,e};然后,利用基于变化的图结构所得到的多个异或值集合可以对每一连通分量分别进行扩大。以扩大连通分量w={u,r}为例,利用第二节点u和r所对应的多个异或值集合中的异或值可以得到连通分量w的异或值其中,对于一对(i,j),t
i,j
(w)表示的是属于连通分量w中的所有点的异或值的异或;如果该图结构存在一条设定图边(u,m),则有常数概率存在一对(i,j)使得t
i,j
(w)是设定图边(u,m)的标识;如果t
i,j
(w)是设定图边(u,m)的标识,则可以基于t
i,j
(w)对连通分量w进行扩大,以得到一新的连通分量m={u,r,m},然后再利用第二节点u、r、m所对应的多个异或值集合中的多个异或值可以得到连通分量m的异或值,如果所有t
i,j
(m)所代表的设定图边都不能扩大连通分量m,则连通分量m={u,r,m}即为求得的图结构所对应的一个最大连通分量。需要说明的是,如果不存在一对(i,j)使得t
i,j
(w)是设定图边(u,r)的标识,则连通分量w={u,r}即为求得的图结构所对应的一个最大连通分量。为了使得常数概率趋近于1,需要对第二节点进行o(log n)次抽样得到多个分层对每一分层都执行异或值更新、所述至少一个最大连通分量更新等操作。
72.以图4的图结构为例,图4的图结构对应的原图边集合为{(0,1)、(2,3)、(1,2)},其中,原图边(0,1)是在本次图结构的变化中,由于第二节点0的状态由关变开后加入到原图边集合中的。在本次图结构变化前,所有状态为开的第二节点由所述原图边构成的连通分量分别为{1,2,3}、{4}、{5},由于图结构的变化导致原图边集合的变化,在基于变化的图结构所得到的多个异或值集合和原图边集合对至少一个连通分量进行更新的过程中,首先,利用原图边集合{(0,1)、(2,3)、(1,2)}对连通分量{1,2,3}进行更新,以得到一新的连通分量o={0,1,2,3},然后利用新的连通分量中的第二节点的各异或值可得到连通分量o的一个异或值t
i,j
(o)=011100,进而得到一新的连通分量p={0,1,2,3,4}。然后,继续利用连通分量p={0,1,2,3,4}中各第二节点的异或值可得到连通分量p的一个异或值t
i,j
(p)=100101,进而对连通分量p={0,1,2,3,4}进行扩大后可得到一新的连通分量q={0,1,2,3,4,5}。再次利用连通分量q={0,1,2,3,4,5}中各第二节点的异或值进行扩大后得到连通分
量仍为q={0,1,2,3,4,5},则将该连通分量作为所述图结构的一个最大连通分量{0,1,2,3,4,5}。
73.在图结构的一组变化中,如果图结构发生变化的情况不同,则相应更新查询结构的具体实施方式也不同。具体地,图结构发生不同的变化会导致原图边集合发生变化、多个异或值集合发生变化、或者两者均发生变化,当所述图结构发生变化后,所述处理装置基于发生变化的集合和未发生变化的集合利用前文所述的得到最大连通分量的实施方式,可得到更新后的图结构所对应的至少一个最大连通分量,进而,对更新前的图结构所对应的至少一个最大连通分量进行更新。例如,所述图结构发生变化前包括最大连通分量m{0、1、2、3}、以及最大连通分量n{4、5、6、7},当所述图结构发生变化后,仅多个异或值集合发生了变化,使得存在一对(i,j)使得最大连通分量m的异或值其中,011是第二节点3的标识,100是第二节点4的标识,所以基于更新后的多个异或值集合和未发生变化的原图边集合利用前文所述的得到最大连通分量的实施方式,可得到更新后的图结构所对应的最大连通分量{0、1、2、3、4、5、6、7},用该最大连通分量更新图结构发生更新前的两个最大连通分量。又如,所述图结构发生变化前包括最大连通分量m{0、1、2、3}、以及最大连通分量n{4、5、6、7},当所述图结构发生变化后,仅原图边集合发生了变化,原图边集合中多了状态为开的第一节点8与状态为开的第二节点3之间的图边、状态为开的第一节点8与状态为开的第二节点4之间的图边,根据更新后的原图边集合对所述至少一个最大连通分量进行更新,可得到更新后的图结构所对应的最大连通分量为0、1、2、3、4、5、6、7}。
74.下面以图结构发生变化的不同情况,对根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新的实施方式进行举例。
75.在一示例中,在图结构的一组变化中,当一第一节点的状态由关变开,将与该第一节点相连的原图边加入到原图边集合中,以更新所述原图边集合;根据更新的原图边集合,对所述至少一个最大连通分量进行更新。具体地,当第一节点的状态由关变开,包括该第一节点的虚线的原图边变为实线的原图边,将所述实线的原图边加入到原图边集合中以得到更新后的原图边集合,所述处理装置根据更新后的原图边集合和未更新的多个异或值集合对至少一个最大连通分量进行更新。
76.请参阅图6a和图6b,图6a显示为本技术更新前的图结构在一实施例中的示意图,图6b显示为图6a更新后的图结构在一实施例中的示意图,如图6a和图6b所示,图结构中包括6个第一节点{4、5、6、7、8、9}以及4个第二节点{0、1、2、3},更新前图结构中原图边集合包括{(0,1)、(2,3)},原来图结构中第一节点6和第二节点1、以及第一节点6和第二节点2不能直接通信,由于图结构中第一节点6的状态由关变开,使得虚线原图边(6,1)、(6,2)变为实线的原图边(6,1)、(6,2),即更新后的图结构中第一节点6和第二节点1、以及第一节点6和第二节点2可以直接通信;在这种图结构的变化下,所述处理装置将原图边(6,1)和原图边(6,2)均加入到原图边集合中,以得到更新后的原图边集合{(0,1)、(2,3)、(6,1)、(6,2)};更新前的图结构对应两个最大连通分量分别为{0、1}、{2、3},根据更新后的原图边集合和未更新的异或值集合重新计算至少一个最大连通分量以对两个最大连通分量进行更新,更新后的最大连通分量为{0、1、2、3}。
77.在一示例中,在图结构的一组变化中,当一第一节点的状态由开变关,并且该第一
节点在该组变化开始时的状态是关或者该第一节点在该组变化中已经发生过变化,则从所述原图边集合中删除与该第一节点相连的原图边,以更新所述原图边集合,需要说明的是,该第一节点在该组变化开始时的状态是关或者该第一节点在该组变化中已经发生过变化表示的是该第一节点的原图边在该组变化中利用前文的方式加入到了原图边集合中。根据更新的原图边集合,对所述至少一个最大连通分量进行更新。具体地,当第一节点的状态由开变关,包括该第一节点的实线的图边变为虚线的原图边,将发生变化的原图边从原图边集合中删除以得到更新后的原图边集合,所述处理装置根据更新后的原图边集合和未更新的多个异或值集合对至少一个最大连通分量进行更新。
78.请参阅图7a和图7b,图7a显示为本技术更新前的图结构在另一实施例中的示意图,图7b显示为图7a更新后的图结构在另一实施例中的示意图,如图7a和图7b所示,图结构中包括10个第一节点{4、5、6、7、8、9、10、11、12、13}以及4个第二节点{0、1、2、3},图7a是一组变化中第二次变化前的图结构(即第一次变化后的图结构),图7b是第二次变化后的图结构,第一次变化后,图结构中状态为关的第一节点10的状态变为开,则原图边(2,10)和(3,10)被加入到原图边集合中,如图7b所示,第二次变化后,第一节点10的状态由开变关,则将第一次图结构发生变化后所对应的原图边集合{(0,1)、(1,2)、(2,10)、(3,10)}更新为{(0,1)、(1,2)},即从所述原图边集合中删除与该第一节点10相连的原图边;根据更新后的原图边集合得到第二次图结构变化后所对应的最大连通分量,以更新第一次图结构发生变化后所对应的最大连通分量{0、1、2、3},此时的图结构对应两个最大连通分量,分别为{0、1、2}和{3}。
79.在一示例中,在图结构的一组变化中,当一第一节点的状态是一组变化中第一次由开变关,并且该第一节点在该组变化开始时的状态是开;则根据该第一节点得到与每一层分层点集相对应的第一集合;其中,所述第一集合是分层点集中与该第一节点相连的第二节点;根据得到的第一集合中的第二节点更新多个异或值集合,进而根据更新的多个异或值集合,对所述至少一个最大连通分量进行更新。具体地,当一第一节点w在该组变化开始时的状态是开,在一次图结构变化后,如果该第一节点w的状态是一组变化中第一次由开变关可能会导致与该第一节点w相关的设定图边失效,所以,本技术根据多个第一集合中两个不同的第二节点的标识和更新前的异或值来更新多个异或值集合,其中,两个第二节点可以属于同一个第一集合也可以属于不同的第一集合,a(w)中包括与该第一节点w相连的第二节点,第一集合ai(w)是既在分层点集中又在a(w)中的第二节点。所述处理装置根据基于变化的图结构所得到的多个异或值集合和变化前的原图边集合,对所述至少一个最大连通分量进行更新。
80.请参阅图8a和图8b,图8a显示为本技术更新前的图结构在又一实施例中的示意图,图8b显示为图8a更新后的图结构在又一实施例中的示意图,如图8a和图8b所示,图结构中包括12个第一节点{8、9、10、11、12、13、14、15、16、17、18、19}以及8个第二节点{0、1、2、3、4、5、6、7},图8a是一组变化中第一次变化前的图结构,图8b第一次变化后的图结构,第一次变化后,图结构中状态为开的第一节点14的状态变为关,并且第一次变化前第一节点14的状态是开,则根据该第一节点14得到与每一层分层点集相对应的第一集合变化前的图结构所对应的4层分层点集分别为
变化前的图结构与第一节点14相连的第二节点为0、1、2和4,即a(14)={0、1、2、4},则根据变化的图结构所得到的4个第一集合分别为一集合分别为其中,表示空;根据任意一第一集合中的第二节点u∈ai(14)的标识以及第二节点v∈aj(14)的标识来更新多个异或值集合中的异或值以更新所述多个异或值集合,以i=j=0为例,更新前的更新后的为了在o(1)的时间内得到更新后的t
0,0
(2),在计算更新后的t
0,0
(2)时用来计算,其中,在计算m时首先将与第一节点14相连的0、1、2、4按标识的大小从小到大排序得到第一数组{000,001,010,100},然后按照数组内的标识得到小于000的所有标识的异或值、小于001的所有标识的异或值、小于010的所有标识的异或值、以及小于100的所有标识的异或值。由于数组内无小于000的标识,所以与000对应的异或值为000;小于001的所有标识的异或值为000;小于010的所有标识的异或值为小于100的所有标识的异或值为将得到的四个异或值按照与各第二节点的对应关系得到第二数组{000,000,001,011},最后对于第一数组中的每一个标识求大于该标识的标识个数可对应得到第三数组{3,2,1,0}。在计算第二节点2所对应的m值时,需要将第二节点2所对应的第二数组中的标识001异或上1个第二节点的标识,即其中,个数1是第三数组中与第二节点对应的数值,1表示在第一数组中标识001后有1个标识。在计算n时同样需要得到三个数组,计算n时的第一数组为{000,001,010,100};计算n时的第二数组中的值依次为:大于000的所有标识的异或值、大于001的所有标识的异或值、大于010的所有标识的异或值、以及大于100的所有标识的异或值,所以计算n时的第二数组为{111,110,100,000};计算n时的第三数组中的值为第一数组中小于每个标识的标识个数,所以计算n时的第三数组为{0,1,2,3};按照求m值的规则可得到n值,即可以验证更新后的t
0,0
(2)=000111确实是mn=011100异或上更新前的t
0,0
(2)=011011,进而所述处理装置可根据各第一集合中的第二节点的标识来更新多个异或值,以更新多个异或值集合,在此不一一举例;根据以上计算规则可知更新多个异或值集合所需时间为所述处理装置根据基于变化的图结构所得到的多个异或值集合和变化前的原图边集合,对所述至少一个最大连通分量进行更新。
81.在一示例中,对于图结构的一组变化中,当一第二节点的状态发生改变;则根据状态发生改变的第二节点更新多个异或值集合,根据更新的多个异或值集合以及更新的原图边集合对所述至少一个最大连通分量进行更新。
82.具体地,当第二节点s的状态由开变关,并且在该第二节点s的状态发生改变前,存在第一节点的状态由开变关,并且所述第一节点在该组变化开始时的状态是开,但当前第一节点的状态可以是关也可以是开。所述处理装置根据设定图边集合确定和该第二节点s通过设定图边相连的第二节点,并根据该第二节点s与各第二节点之间真实的设定图边更新各所述第二节点的异或值。以更新一个与该第二节点s通过设定图边相连的第二节点l的
异或值为例,首先,对于该示例中所述的所有发生改变的第一节点,确定第二节点s和第二节点l共同连接的第一节点,用设定图边集合中第二节点s和第二节点l之间的设定图边的数量减去由于共连各所述第一节点所得到的第二节点s和第二节点l之间的设定图边的数量,以得到第二节点s和第二节点l之间的真实的设定图边的数量,进而更新通过设定图边与该第二节点s相连的状态为开的第二节点l的异或值。当第二节点s的状态由关变开,并且在该第二节点s的状态发生改变前,存在第一节点的状态由开变关,并且所述第一节点在该组变化开始时的状态是开,但当前所述第一节点的状态可以是关也可以是开,所述处理装置根据设定图边集合确定和该第二节点s通过设定图边相连的第二节点,并根据该第二节点s与各第二节点之间真实的设定图边更新各所述第二节点的异或值。以更新一个与该第二节点s通过设定图边相连的第二节点l的异或值为例,首先,对于该示例中所述的所有发生改变的第一节点,确定该第二节点s和第二节点l共同连接的第一节点,用设定图边集合中第二节点s和第二节点l之间的设定图边的数量减去由于共连各所述第一节点所得到的第二节点s和第二节点l之间的设定图边的数量,以得到第二节点s和第二节点l之间的真实的设定图边的数量,进而更新该第二节点s的以及通过设定图边与该第二节点s相连的状态为开的第二节点l的异或值,其中,第二节点s的异或值为与第二节点s相对应的所有真实的设定图边的标识的异或值。在本实施例中,以更新l的异或值为例,更新后的第二节点l的异或值为更新前第二节点l的异或值与第二节点l和第二节点s之间真实的设定图边的标识的异或,如果真实的设定图边有两个,就将更新前第二节点l的异或值异或上两个第二节点l和第二节点s之间的设定图边的标识。由于最多存在q个上述的第一节点,所以,该种情况下更新所需时间为
83.以一第二节点的状态由开变关为例,请参阅图8c,图8c显示为图8b更新后的图结构在一实施例中的示意图,其中,图8a是一组变化中第一次变化前的图结构,图8b第一次变化后的图结构(即第二次变化前的图结构),由于第一次变化时第一节点14的状态由开变关,图中和第二节点4共同与第一节点14相连的第二节点为第二节点0、1、2,所以,需要根据变化的第二节点4得到第二节点4与第二节点0之间的真实的设定图边、第二节点4与第二节点1之间的真实的设定图边、第二节点4与第二节点2之间的真实的设定图边。具体地,设定图边集合中包括1条第二节点4与第二节点0之间的设定图边,减去由于第一节点14造成的失效的1条设定图边,得到变化后的第二节点4与第二节点0之间的真实的设定图边的条数为0条;设定图边集合中包括1条第二节点4与第二节点1之间的设定图边,减去由于第一节点14造成的失效的1条设定图边,得到变化后的第二节点4与第二节点1之间的真实的设定图边的条数为0条;设定图边集合中包括2条第二节点4与第二节点2之间的设定图边,减去由于第一节点14造成的失效的1条设定图边,得到变化后的第二节点4与第二节点2之间的真实的设定图边的条数为1条。所述处理装置根据真实的设定图边来分别更新第二节点0、第二节点1、第二节点2、和第二节点3的异或值,以更新多个异或值集合。以更新第二节点2的异或值为例,更新后的第二节点2的异或值为更新前第二节点2的异或值与第二节点2和第二节点4之间真实的设定图边的标识的异或,第二节点2和第二节点4之间真实的设定图边条数为1条,所以更新后的第二节点2的异或值为更新前的第二节点2的异或值异或上1个第二节点2和第二节点4之间的设定图边的标识。所述处理装置可以根据更新后的多个异或值集合和未发生更新的原图边集合,对所述至少一个最大连通分量进行更新。
84.需要说明的是,对于图结构的一组变化中,当一第二节点的状态发生改变,并且在该第二节点的状态发生改变前,不存在第一节点的状态由开变关并且所述第一节点在该组变化开始时的状态是开的情况,所述处理装置直接更新发生变化的第二节点、以及与该节点相连的状态为开的第二节点的多个异或值以及更新原图边集合,进而根据更新的多个异或值集合以及更新的原图边集合,对所述至少一个最大连通分量进行更新。以发生变化是一组变化中的第一次变化为例,例如,请参阅图9,图9显示为一组变化中初始时的图结构在一实施例中的示意图,图9中的第一节点为4、5、6、7、8、9,图9中的第二节点为0、1、2、3,如果第一次变化后图结构中的第二节点3的状态由开变关,则需要分别更新第二节点0和第二节点2相对应的异或值集合中的异或值,并且将原图边集合中的原图边(2,3)删除;以更新第二节点0的异或值为例,第二节点3的状态变关导致第二节点3和第二节点0之间的两条设定图边失效,所以第二节点0更新后的异或值为第二节点0更新前的异或值异或上2个第二节点3和第二节点0之间的设定图边的标识。如果第一次变化后图结构中的第二节点1的状态由关变开,则需要分别更新第二节点3、第二节点2、第二节点1以及第二节点0相对应的异或值集合中的异或值,并且将原图边集合中加入原图边(0,1)、和原图边(1,2);以更新第二节点3的异或值为例,第二节点1的状态变开导致第二节点1和第二节点3之间一条失效的设定图边变有效,所以第二节点3更新后的异或值为第二节点3更新前的异或值异或上1个第二节点1和第二节点3之间的设定图边的标识。
85.在某些实施例中,所述查询方法还包括步骤s111,在步骤s111中:当所述图结构每完成一组变化时,所述处理装置根据每组图结构的变化更新多个设定图边集合、多个异或值集合以及原图边集合其中,每组变化的次数为q,q≤p,p为图结构中第二节点的数量。例如,q为8,则在所述图结构发生8次变化后还根据当前的图结构以及该组变化前的图结构对第8次变化后的到的多个设定图边集合、原图边集合以及多个异或值集合进行更新。例如,可以根据长方形矩阵乘法来更新多个设定图边集合。
86.需要说明的是,根据本技术所述的方法进行一组更新所需要的总更新时间最长为其中,当所述图结构每完成一组变化时,根据当前的图结构对多个设定图边集合进行更新所需时间为m(p,q,p),m(p,q,p)指p
×
q的矩阵乘上q
×
p的矩阵所需要的时间;根据当前的图结构对多个异或值集合进行更新所需时间为每次更新所需时间最长为则q次更新所需时间最长为其中,p为图结构中第二节点的总数量、q为一组图结构变化的数。当q=p
0.575
的情况下,更新所需要的摊销时间最长为在本技术中时间表示比o()时间多乘以一log n的多项式的系数。
87.在步骤s120中,所述处理装置根据更新得到的至少一个最大连通分量,查询一对节点的连通性。
88.在某些实施例中,所述处理装置获取包含一对节点的查询请求,根据更新得到的至少一个最大连通分量,查询所述一对节点的连通性。所述查询请求是用于查询一对状态为开的两个节点之间是否连通的请求。所述一对节点可以是图结构中任意两个状态为开的节点。
89.所述查询请求可以是所述处理装置基于用户触发输入装置来获取的,例如,通信
网络系统中终端设备的使用者为了检测其所拥有的终端设备的网络连接情况,通过输入装置输入所述包含一对节点的查询请求;又如,维护通信网络系统的工作人员,通过输入装置输入所述包含一对节点的查询请求。所述查询请求也可以是处理装置自动生成的,具体地,所述处理装置在图结构进行更新后,为了向终端设备的用户或者交换中心的管理者展示相应设备之间是否连通,所述处理装置基于当前的图结构自动生成包括一对状态为开的节点的查询请求;例如,所述处理装置为了向一终端设备回复其与网络系统中的交换中心是否相连,所述处理装置基于当前的图结构自动生成t个查询请求,其中,t为当前的图结构中状态为开的第二节点的总数量。
90.具体地,所述一对节点中包含第一节点和不包含第一节点时,根据所述至少一个最大连通分量确定所查询的两个第二节点之间的连通性的方式是不同的,下面对不同的查询分别进行举例说明。
91.当所查询的一对节点包括两个第二节点时,如果所述两个第二节点属于同一个最大连通分量,则确定两个第二节点之间连通;如果所述两个第二节点不属于同一个最大连通分量,则确定两个第二节点之间不连通的。
92.在一实施例中,所述图结构所对应的每一最大连通分量有一最大连通分量的标识,所述标识可以是所述最大连通分量中任意一第二节点的标识,当两个第二节点所对应的最大连通分量的标识相同时,即可判定两个第二节点属于同一个最大连通分量,则确定两个第二节点之间连通,相反的,则确定两个第二节点之间不连通。例如,请参阅图10,图10显示为一图结构所对应的两个最大连通分量的示意图,图10中的第一节点为8、9、10、11、12、13、14、15、16、17,图10中的第二节点为0、1、2、3、4、5、6、7,如果所述一对节点中包括第二节点1和第二节点4,所述第二节点1所对应的最大连通分量a的标识为000,第二节点4所对应的最大连通分量a的标识也为000,可以确定两个第二节点之间是连通的;如果所述一对节点中包括第二节点1和第二节点6,所述第二节点1所对应的最大连通分量b的标识为000,第二节点6所对应的最大连通分量b的标识为110,可以确定两个第二节点之间是不连通的。
93.当所查询的一对节点包括第一节点时,根据图结构中状态为开的第一节点与状态为开的第二节点之间的原图边确定与所查询的第一节点相连的第二节点,若不存在与第一节点相连的第二节点,则确定不连通,反之,则任取与所述第一节点相连的第二节点代替所查询的第一节点,然后根据所述至少一个最大连通分量查询两个第二节点之间的连通性,以确定所述一对节点的连通性。
94.在一实施例中,当所查询的一对节点中包括一个第一节点时,确定图结构中是否有与该第一节点相连的状态为开的第二节点,如果图结构中没有与该第一节点相连的状态为开的第二节点,则确定所述一对节点是不连通的;如果图结构中有与该第一节点相连的状态为开的第二节点,则根据前述实施例中的方式确定该第二节点与所述一对节点中的第二节点之间是否连通,如果两个第二节点连通,则所查询的一对节点是连通的,反之,则所查询的一对节点是不连通的。当所查询的一对节点中包括两个第一节点时,可分别确定图结构中是否有与两个第一节点相连的状态为开的两个第二节点,如果存在一个第一节点,使得图结构中没有与该第一节点相连的状态为开的第二节点,则可确定所查询的一对节点不连通;如果两个第一节点均有与之相连的状态为开的第二节点,则可以根据前述实施例
中的方式确定两个第二节点之间的连通性,进而确定所查询的一对节点之间的连通性,查询一对节点之间的连通性所需的查询时间为o(p)。
95.以所述一对节点中包括一个第一节点为例,请再参阅图10,如果所述查询的一对节点中包括第二节点1和第一节点8,第一节点8与状态为开的第二节点6相连,所述第二节点6所对应的最大连通分量b的标识为110,所述第二节点1所对应的最大连通分量a的标识为000,则可以确定第二节点6与第二节点1之间是不连通的,进而确定一对节点中的第二节点1和第一节点8之间是不连通的。如果所述一对节点中包括第二节点2和第一节点9,所述第一节点9与状态为关的第二节点7相连,其未与任何状态为开的第二节点连接,则所述二节点2和第一节点9之间是不连通的。如果所述一对节点中包括第二节点2和第一节点10,所述第一节点10与状态为开的第二节点0连接,所述第二节点0所对应的最大连通分量a的标识为000,所述第二节点2所对应的最大连通分量a的标识也为000,则所述第二节点2和第一节点10之间是连通的。
96.在一实施例中,所述图结构是依据通信网络系统中终端设备与交换中心之间的网络连接关系以及交换中心与交换中心之间的网络连接关系而产生。终端设备对应图结构中的第一节点,交换中心对应图结构中的第二节点,各网络连接关系对应图结构中的原图边。其中,所述终端设备与交换中心之间的网络连接关系包括:状态为开的终端设备与状态为开的交换中心之间的网络连接关系(即能相互通信的终端设备与交换中心之间的连接关系)、状态为关的终端设备与状态为开的交换中心之间的网络连接关系、状态为开的终端设备与状态为关的交换中心之间的网络连接关系、状态为关的终端设备与状态为关的交换中心之间的网络连接关系,即原图边中的节点不仅包括状态为开的节点还包括状态为关的节点;交换中心与交换中心之间的网络连接关系与终端设备与交换中心之间的网络连接关系相似,同样可以包括状态为关的交换中心之间的连接关系。当图结构发生变化时,需要查询通信网络系统中网络连接设备(例如状态为开的两个交换中心、状态为开的两个终端设备、状态为开的终端设备与状态为开的交换中心)之间是否连通时,可以通过本技术所述的节点连通性的查询方法先更新查询结构再利用更新后的查询结构查询网络连接设备之间的连通性。
97.本技术所述的图结构的第一节点的数量多于第二节点的数量(例如,第二节点的数量p=o(n
0.846
),其中,n为图结构中所有节点的总数量),并且本技术所述的至少一个最大连通分量是多个异或值集合和原图边集合而构建的,基于更新得到的所述的至少一个最大连通查询所述图结构中一对节点是否连通的查询时间最多为o(p),其中,p为图结构中第二节点的总数量。
98.请参阅图11,图11显示为本技术的节点连通性的查询系统在一实施例中的结构示意图,所述查询系统应用于基于图结构而构建的网络系统中,其中,所述图结构中包括多个第一节点、多个第二节点、第一节点与第二节点之间的原图边、以及第二节点之间的原图边;所述查询系统40包括监测模块41、更新模块42、查询模块43。
99.所述监测模块41用于监测所述图结构以输出变化指令;所述监测模41块用于监测所述图结构以输出变化指令,当所述图结构发生变化时,所述监测模块41输出变化指令。其中,所述变化指令包括:图结构中节点状态发生变化的内容。以图8c中第二节点4的状态由开变关为例。所述变化指令包括:图结构的第二次变化为第二节点4的状态由开变关。在某
些实施方式中,所述变化指令中还包括图结构第一次变化的内容。
100.所述更新模块42用于当接收到所述变化指令时,根据基于变化的图结构所得到的多个异或值集合和原图边集合中的至少一种,对所述至少一个最大连通分量进行更新;其中,所述异或值集合是基于与经选定的同一第一节点相连的任意两个第二节点之间建立的图边得到的,所述原图边集合包括状态为开的第二节点之间的原图边。
101.所述查询模块43用于根据更新得到的至少一个最大连通分量,查询一对节点的连通性。所述查询模块43确定需要查询的一对节点的实施方式与前文所述的相同或相似,在此不再赘述。
102.其中,所述查询系统40中的监测模块41、更新模块42、查询模块43根据上述描述的各模块的功能协同执行前述步骤s110和步骤s120,在此不再赘述。
103.本技术还提供一种计算机可读写存储介质,存储至少一种程序,所述至少一种程序在被调用时执行并实现上述针对图5所示的节点连通性的查询方法所描述的至少一种实施例。
104.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得安装有所述存储介质的计算机设备可以执行本技术各个实施例所述方法的全部或部分步骤。
105.于本技术提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、u盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
106.在一个或多个示例性方面,本技术所述方法的计算机程序所描述的功能可以用硬件、软件、固件或其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本技术所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
107.本技术上述的附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于此,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,
方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
108.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
再多了解一些

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

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

相关文献