信息对象的查询和序列确定方法、装置及设备、可读介质
技术领域
本申请涉及计算机技术领域,尤其涉及信息对象的查询和序列确定方法、装置及设备、可读介质。
背景技术
实际的业务处理过程中,针对业务所涉及的各信息对象,有确定部分信息对象的序列的需求,例如:查询数据库内的部分信息对象时,需要确定待查询的信息对象的查询顺序。一般可以通过比较各信息对象之间的关联关系,来确定表征信息对象的查询顺序的序列。
但是,业务所涉及的信息对象较多时,信息对象之间的关联关系较复杂,通过比较各信息对象之间的关联关系确定序列,会耗费较多的时间,进而会降低业务处理效率。
发明内容
有鉴于此,本申请提供一种信息对象的查询和序列确定方法、装置及设备、可读介质。
根据本申请实施例的第一方面,提供一种信息对象的序列确定方法,包括步骤:
获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
选取该图的至少一条边为冗余边;
判断该图除去所述冗余边的部分,是否满足预定的连通条件;
如果满足,则确定将所述冗余边从该图中删除;
基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
根据本申请实施例的第二方面,提供一种信息对象的查询方法,包括步骤:
获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
选取该图的至少一条边为冗余边;
判断该图除去所述冗余边的部分,是否满足预定的连通条件;
如果满足,则确定将所述冗余边从该图中删除;
基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列;
根据所确定的序列执行针对预定的信息对象的查询处理。
根据本申请实施例的第三方面,提供一种电子设备,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:
获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
选取该图的至少一条边为冗余边;
判断该图除去所述冗余边的部分,是否满足预定的连通条件;
如果满足,则确定将所述冗余边从该图中删除;
基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
根据本申请实施例的第四方面,提供一种电子设备,包括:
处理器;
存储处理器可执行指令的存储器;
其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:
获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
选取该图的至少一条边为冗余边;
判断该图除去所述冗余边的部分,是否满足预定的连通条件;
如果满足,则确定将所述冗余边从该图中删除;
基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列;
根据所确定的序列执行针对预定的信息对象的查询处理。
根据本申请实施例的第五方面,提供一种信息对象的序列确定装置,包括:
图获取模块,用于获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
边选取模块,用于选取该图的至少一条边为冗余边;
连通判断模块,用于判断该图除去所述冗余边的部分,是否满足预定的连通条件;
边删除模块,用于在除去所述冗余边的部分满足预定的连通条件时,确定将所述冗余边从该图中删除;
序列确定模块,用于基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
根据本申请实施例的第六方面,提供一种信息对象的查询装置,包括:
图获取模块,用于获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;
边选取模块,用于选取该图的至少一条边为冗余边;
连通判断模块,用于判断该图除去所述冗余边的部分,是否满足预定的连通条件;
边删除模块,用于在除去所述冗余边的部分满足预定的连通条件时,确定将所述冗余边从该图中删除;
查询序列确定模块,用于基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列;
查询处理模块,用于根据所确定的序列执行针对预定的信息对象的查询处理。
根据本申请实施例的第七方面,提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行以上所述的方法。
实施本申请提供的实施例,获取目标业务所对应的图后,可以通过预定的连通条件进行连通性判断,删除所获取的图的部分边,然后基于删边后的图确定预定的信息对象所对应的顶点间的路径。由于删边后的图所含的边的数目较少,所以基于删边后的图确定序列时,所遍历的边的数目较少,能有效节约确定序列所消耗的时间,进而应用到目标业务后,如:信息查询业务,能提高目标业务的实现效率。
附图说明
图1是本申请一示例性实施例示出的信息对象的序列确定方法的流程图;
图2a是本申请另一示例性实施例示出的信息对象的序列确定方法的流程图;
图2b是本申请一示例性实施例示出的无向图;
图2c是本申请另一示例性实施例示出的信息对象的序列确定方法涉及的时间复杂度的示意图;
图3是本申请一示例性实施例示出的信息对象的查询方法的流程图;
图4是本申请另一示例性实施例示出的信息对象的查询方法的流程图;
图5是本申请一示例性实施例示出的实现信息对象查询的系统的逻辑框图;
图6是本申请一示例性实施例示出的信息对象的序列确定装置的逻辑框图;
图7是本申请一示例性实施例示出的信息对象的查询装置的逻辑框图;
图8是本申请一示例性实施例示出的信息对象的序列确定装置的硬件结构图;
图9是本申请一示例性实施例示出的信息对象的查询装置的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例涉及的目标业务包括信息查询、寻路、人际关系查找确认、路由路径确认、工程工期管理、任务时间管理等等,信息查询业务如:查询数据库内的数据表;寻路业务如:选取物流线路、选取飞机航道等。这些业务的实际处理过程中,针对业务所涉及的各信息对象,有确定部分信息对象的序列的需求,为便于理解和表述,可以将这部分信息对象称为预定的信息对象。在目标业务所涉及的信息对象较多时,信息对象之间的关联关系较复杂,通过比较各信息对象之间的关联关系确定序列,会耗费较多的时间,进而会降低业务处理效率。
为了降低确定序列的过程消耗的时间,本申请的设计人员可以通过图来确定序列,这里提到的图由顶点的有穷非空集合和顶点之间边的集合组成,可以记为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。如果图的任意两个顶点之间的边没有方向,则该图是无向图;反之,如果图的任意两个顶点之间的边有方向,则该图是有向图。
在通过图来确定序列前,需要基于目标业务所涉及的信息对象间的关联关系,生成目标业务对应的图,该图的顶点对应目标业务涉及的信息对象点,该图的边表示该边所连接的两个顶点对应的信息对象之间的关联关系。顶点之间的边是否有方向,主要由信息对象之间的关联关系决定。比如:目标业务为信息查询业务,涉及的数据对象为数据库内的数据表时,数据表之间的关联关系没有指向性,那么用于确定序列的图为无向图。再比如:目标业务为选取飞机航道的业务,飞机停靠站之间的每条线路是单向的,用于确定序列的图为有向图。
确定好目标业务对应的图后,一般可以遍历图中的每条边,然后从图内经过预定的信息对象对应的顶点的路径中,选取最短路径,基于该最短路径经过的顶点的顺序,即可确定表征预定的信息对象的相对顺序的序列,再基于所确定的序列执行实现目标业务的业务处理。但是,在选取最短路径时,如果目标业务涉及的信息对象较多,如:数据库内存储的数据表较多,对应的图的顶点数和边数也会比较多,遍历无向图会获得多条经过预定的信息对象对应的顶点的路径,再从多条路径中选取最短路径,会耗费较多的时间,所耗费的时间可以由时间复杂度O(N2*M!)来表示,其中,N表示无向图的顶点数目,M表示最短路径所经过的中间顶点的数目,因此,目标业务涉及的信息对象的数目较多时,会遍历较多的冗余路径,确定序列所消耗的时间较多、效率较低,进而会降低业务处理效率,本申请的技术方案,针对信息对象的序列确定过程耗费时间多、效率低的问题,提出解决方案。
本申请的方案,为了解决信息对象的序列确定过程耗费时间多、效率低这个问题,可以减少图中经过预定的信息对象的顶点的路径,删除构成这些要减少的路径的边(冗余边)。删除冗余边前,可以预先设置用于删除图中冗余边的条件,称作连通判断条件。获取到目标业务对应的图后,不直接根据获取的图进行路径选取和序列确定,而是通过预定的连通条件进行连通性判断,删除所获取的图的部分边,然后基于删边后的图确定序列。由于删边后的图所含的边的数目较少,所以基于删边后的图确定序列时,所遍历的边的数目较少,能有效节约确定序列所消耗的时间,进而应用到目标业务后,如:信息查询业务,能提高目标业务的实现效率。以下结合附图详细说明本申请的信息对象的序列确定过程、信息对象的查询过程。
请参阅图1,图1是本申请一示例性实施例示出的信息对象的序列确定方法的流程图,该实施例能应用于具备数据处理能力的各种电子设备,可以包括以下步骤S101-S105:
步骤S101、获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
步骤S102、选取该图的至少一条边为冗余边。
步骤S103、判断该图除去所述冗余边的部分,是否满足预定的连通条件。
步骤S104、如果满足,则确定将所述冗余边从该图中删除。
步骤S105、基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
本申请实施例中,目标业务不同时,所涉及的信息对象不同,信息对象间的关联关系不同。某些应用场景中,目标业务为信息查询业务,信息对象可以是单个数据元素,如数据表内的字段,关联关系可以指字段间的关系;信息对象也可以是多个数据元素的集合,如数据表,关联关系可以指数据表之间的关系。其他应用场景中,目标业务为寻路业务,信息对象可以是物流路线中的中转站,关联关系指中转间的路径;信息对象可以是通信网络中的网络设备,关联关系指指网络设备间的通信信道。
实际应用中,所获取的图,可以是预先对应目标业务存储的图,也可以是实时根据目标业务涉及的信息对象、以及信息对象间的关联关系所生成的图。针对获取的图选取冗余边时,本申请设计人员可以预先设置选边规则。某些例子中,为了避免漏掉冗余边,可以将选边规则设定为图遍历算法,如:宽度优先遍历算法或深度优先遍历算法,选边时按图遍历算法遍历图中的各顶点和边,选取遍历到的边为冗余边。其他例子中,选边规则也可以是按预先设置的选边顺序,如:选边顺序可以是图的各条边在边集E中的排序,选边时按排序依次选取每条边为冗余边。其他例子中,也可以随机选取部分边为冗余边。本申请技术人员可以采取各种方式选取冗余边,本申请对此不做限制。
考虑到目标业务的实现,需要预定的信息对象对应的顶点在图中保持连通,所以在删除选取的冗余边前,对应删除该冗余边的图,需确定预定的信息对象对应的顶点在图中是否连通。为了快速确定是否连通,本申请的设计人员可以预定连通条件。判断目标业务对应的图除去所述冗余边的部分,是否满足预定的连通条件,如果满足,则确定将所述冗余边从该图中删除,如果不满足,可以将该冗余边保留在图中。而图的类型和特性不同时,预定的连通条件不同,确定除去冗余边的部分是否满足连通条件的方式不同,以下例举几种具体的确定方式:
方式一:针对本身是连通图的有向图或无向图,预定的连通条件为图中除去冗余边的部分仍是连通图。选取好冗余边后,本申请实施例可以判断该图除去所述冗余边的部分,是否为连通图,如果是连通图,则确定满足预定的连通条件。
在判断除去冗余边的部分是否为连通图时,如果目标业务所对应的图是无向图,可以用除去冗余边的部分构成新图,如果新图中任意两个顶点都是连通的,则确定除去冗余边的部分是连通图。一般可以通过预定的图遍历算法遍历新图,如果遍历的过程中,从任一顶点触发,可以访问到所有顶点,则可以确定任意两个顶点都是连通的,除去冗余边的部分是连通图。
如果目标业务所对应的图是有向图,可以用除去冗余边的部分构成新图,如果新图中任意两个顶点各自都有路径相通,则确定除去冗余边的部分是连通图。
在某些例子中,除去冗余边的部分不是连通图时,为了进一步降低冗余边对序列确定过程的影响,可以进一步判断预定的信息对象所对应的顶点在新图中是否连通。具体实现时,可以先获取该图除去所述冗余边的部分的连通分量;然后判断预定的信息对象对应的顶点是否属于同一连通分量;如果是,则确定满足预定的连通条件。
实际应用中,可以采用预定的图遍历算法遍历图,遍历一次,生成一个表征顶点的访问次序的序列,即为一连通分量,如果,任一连通分量同时含有预定的信息对象对应的所有顶点,则确定属于同一连通分量。
如果预定的信息对象对应的顶点并非同时属于同一连通分量,表明该条冗余边并非真正的冗余边,将其保留在图中。
方式二,针对本身是非连通图的有向图或无向图,可以判断该图不含所述冗余边时,预定的信息对象所对应的顶点是否连通;如果连通,则确定满足预定的连通条件。
在某些例子中,可以通过以下操作判断是否连通:
获取该图除去所述冗余边的部分的连通分量。
判断预定的信息对象对应的顶点是否属于同一连通分量。
如果是,则确定满足预定的连通条件。
如果不属于同一连通分量,表明该冗余边不是冗余边,将该条边保留在图中。
在采取上述方式或本领域的其他方式,判断除去冗余边的部分是否满足预定的连通条件时,可以同时选取多条边为冗余边,然后判断图中同时去除这些冗余边后,剩余部分是否满足预定的连通条件,如果满足,则确定将这些边同时从图中删除,如果不满足,则按次序分别判断各冗余边。判断完在先的冗余边后,在后的冗余边的判断,以删除满足预定的连通条件的冗余边后的图为基础,在该基础上删除在后的冗余边后,判断是否满足预定的连通条件。在其他例子中,为了防止漏判和误判状况的发生,也可以选取好冗余边后,通过以下操作针对每条边分别进行判断:
根据预设的图遍历算法,访问所获取的图中的各顶点。
每访问到一个顶点时,即依次选取访问到的顶点与其各邻接顶点间的边为冗余边。
每选取好一条冗余边后,即针对该条冗余边以及目标业务所对应的图,判断该图除去该条冗余边的部分,是否满足预定的连通条件。
如果满足预定的连通条件,则确定将该条冗余边从该图中删除。
在将该条冗余边删除后,将删除该条冗余边后的图更新成目标业务所对应的图。
实际应用中,为了尽可能减少图中的冗余边,本申请设计人员可以尝试将所有的边均选取为冗余边,一一进行连通判断,在判断完成后,直接基于删除所有满足预定的连通条件的冗余边后的图,确定表征预定的信息对象的相对顺序的序列。所确定的序列随实际应用场景的不同有所不同,例如:目标业务为信息查询业务,所确定的序列为表征预定的信息对象的查询顺序的序列;目标业务为寻路业务,所确定的序列为表征经过预定的信息对象的路线顺序的序列。
在某些场景中,删除所有满足预定的连通条件的冗余边后,图中会存在孤立的点(没有邻接点的顶点),在确定序列时,即使这些孤立点与其他顶点间没有边,为了避免漏掉有效边,遍历图中的顶点的过程仍需要访问这些孤立点,易造成不必要的时间开销。鉴于此,在删除所有满足预定的连通条件的冗余边后,将删除冗余边后的图中,没有邻接点的顶点确定为冗余点;从删除冗余边后的图中删除所确定的冗余点;根据删除冗余边和冗余点后的图,确定表征预定的信息对象的相对顺序的序列。
由上述实施例可知,本申请在确定序列时,可以先确定图中除选取的冗余边外的部分是否满足预定的连通条件,满足后再从图中删除已确认满足连通条件的冗余边。但是,某些状况下,会同时选取多条边为冗余边时,针对每条冗余边分别进行连通条件判断时,判断在后的冗余边时,容易将满足连通条件的边误当作不满足的边,对在后的冗余边的判断产生负面影响,为了避免这种状况的发生,每选取一个冗余边,即可以将该冗余边从图中删除,然后判断删除该冗余边后的新图(即原图中除去选取的冗余边的部分)是否满足连通条件,如果满足,则确定删除该冗余边,如果不满足,再将该冗余边重新添加到图中(即回滚删除的冗余边),具体的实现过程可以参阅图2a,图2a是本申请另一示例性实施例示出的信息对象的序列确定方法的流程图,该实施例可以包括以下步骤S201-S210:
步骤S201、获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
步骤S202、根据预设的图遍历算法,访问所获取的图中的各顶点,每访问到一个顶点,并执行步骤S203。
步骤S203、依次将该顶点与其各邻接顶点间的边选取为冗余边,每选取到一条边为冗余边,即针对该条冗余边执行步骤S204至步骤S205。
步骤S204、将选取到的该条冗余边从目标业务对应的图中删除。
步骤S205、判断目标业务对应的图除去该条冗余边的部分,是否满足预定的连通条件,如果不满足,执行步骤S206,如果满足,执行步骤S207。
步骤S206、将该条冗余边重新添加到目标业务对应的图中,并执行步骤S208。
步骤S207,将删除该条冗余边后的图更新为目标业务对应的图,并执行步骤S208。
步骤S208、判断是否已将该顶点与其所有邻接顶点间的边选取为冗余边,如果是,则执行步骤S209;如果不是,则返回步骤S203,选取另一条冗余边。
步骤S209、判断是否已访问过目标业务对应的图中的所有顶点,如果是,则执行步骤S210,如果不是,则返回步骤S202,访问下一个顶点。
步骤S210、基于更新后的图,确定表征预定的信息对象的相对顺序的序列。
本申请实施例的步骤S205、S210所涉及的技术内容,与图1的步骤S103、S105所涉及的技术内容相应,在此不再赘述。
实际应用中,如果步骤S201获取的图为图2b所示的无向图,该无向图的顶点集为{A、B、C、D、E、F、G、H},边集为{(A,B)、(A,C)、(B,D)、(B,E)、(C,G)、(C,F)、(F,G)、(D,H)、(E,H)}。在步骤S202中访问该无向图中的各顶点时,如果首次访问的为顶点A,那么可以在步骤S203中先选取边(A,B)为冗余边,并针对边(A,B)执行步骤S204至步骤S205。如果预定的信息对象对应的顶点为C、F、G,预定的连通条件为C、F、G连通。
那么在执行完步骤S204后,可以在步骤S205中删除冗余边(A,B),在将选取到的该条冗余边从目标业务对应的图中删除时,可以将当前删除的边暂时保存在已剪边集合中,如果目标业务对应的图除去该条冗余边的部分,满足预定的连通条件,则将其从已剪边集合中删除,如果不满足,则将其从已剪边集合转回目标业务对应的图的边集中。
在S205中可以确定删除冗余边(A,B)后,除去该条冗余边的部分满足预定的连通条件,执行步骤S207和S208后,可以返回步骤S203,再选取边(A,C)为冗余边,重复执行上述步骤,直至访问完无向图中所有点,得到顶点集为{A、B、C、D、E、F、G、H},边集为{(C,G)、(F,G)}或{(C,F)、(F,G)}或{(C,G)、(F,G)}的无向图。
进而,可以将得到的无向图的顶点集中的冗余点删除,得到最终的无向图,顶点集为{C、F、G},边集为{(C,G)、(F,G)}或{(C,F)、(F,G)}或{(C,G)、(F,G)},基于最终的无向图,确定的序列为C>F>G、C>G>F、C>F>C>G等等,其中,C>F>C>G表示先查询C对应的信息对象,再从C对应的信息对象查询到F对应的信息对象,然后从F对应的信息对象返回到C对应的信息对象,最后从C对应的信息对象到G对应的信息对象。
本申请实施例删除冗余边和冗余点后,基于无向图确定序列的时间复杂度为图2c中虚线所示函数:Y1=N*(N+R),N为无向图中的顶点总数目,R为预设的信息对象对应的顶点的数目。
如果不删除冗余边,基于无向图确定序列的时间复杂度为图2c中实线所示函数:Y2=N*N*M!,N为无向图中的顶点总数目,M为无向图中边的总数目。
针对图2b所示的无向图,如果不删除冗余边,确定序列的时间复杂度为8*8*9!,删除冗余边和冗余顶点后,确定序列的时间复杂度为3*(3+3)。比较两个时间复杂度可知:本申请实施例通过预定的连通条件进行连通性判断,能删除所获取的图的冗余边,在基于删边后的图确定序列时,所遍历的边的数目较少,能有效节约确定序列所消耗的时间,进而应用到目标业务后,如:信息查询业务,能提高目标业务的实现效率。
以下结合附图3至图5例举一个应用实例,本应用示例的目标业务为信息查询业务,应用到信息查询业务后,可以提高信息对象的查询效率。
请参阅图3,图3是本申请一示例性实施例示出的信息对象的查询方法的流程图,该实施例能应用于具备数据处理能力的各种电子设备,可以包括以下步骤S301-S306:
步骤S301、获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
步骤S302、选取该图的至少一条边为冗余边。
步骤S303、判断该图除去所述冗余边的部分,是否满足预定的连通条件。
步骤S304、如果满足,则确定将所述冗余边从该图中删除。
步骤S305、基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列。
步骤S306、根据所确定的序列执行针对预定的信息对象的查询处理。
本申请实施例的步骤S301至步骤S305,与图1所涉及的实施例的步骤S101至步骤S105相应,不同之处仅在于目标业务在本实施例中具体为信息查询业务,因此,步骤S301至步骤S305的具体实现可以参阅图1所涉及的实施例,在此,不再赘述。
本申请实施例的信息对象,可以是单个数据元素,如数据表内的字段,关联关系可以指字段间的关系;也可以是多个数据元素的集合,如数据表,关联关系可以指数据表之间的关系。
确定好表征预定的信息对象的查询顺序的序列后,即可根据所确定的序列执行针对预定的信息对象的查询处理,具体查询时,如果信息对象存储在本地内存中,可以直接按序列所表征的查询顺序,依次查询信息对象。如果信息对象存储在数据库内,可以根据预定的语句转换模型,将所确定的序列转换为对应的查询语句,再基于所述查询语句查询预定的信息对象。这里提到的语句转换模型可以包括:选择语句转换模型、过滤语句转换模型、聚合语句转换模型、排序语句转换模型和关联语句转换模型等,查询语句可以是SQL(Structured Query Language,结构化查询语言)语句。
例如,删除冗余边和冗余点后的无向图,顶点集为{A,B,C},边包括A与B之间的边A.xx-B.xx,以及A与C之间的边A.yy-C.yy,那么预定的语句转换模型的转换结果可以是:
{select*from A
join
select*from B
on A.xx=B.xx
join
select*from C
on A.yy=C.yy}
请参阅图4,图4是本申请另一示例性实施例示出的信息对象的查询方法的流程图,该实施例可以包括以下步骤S401-S411:
步骤S401、获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
步骤S402、根据预设的图遍历算法,访问所获取的图中的各顶点,每访问到一个顶点,并执行步骤S403。
步骤S403、依次将该顶点与其各邻接顶点间的边选取为冗余边,每选取到一条边为冗余边,即针对该条冗余边执行步骤S404至步骤S405。
步骤S404、将选取到的该条冗余边从信息查询业务对应的图中删除。
步骤S405、判断信息查询业务对应的图除去该条冗余边的部分,是否满足预定的连通条件,如果不满足,执行步骤S406,如果满足,执行步骤S407。
步骤S406、将该条冗余边重新添加到信息查询业务对应的图中,并执行步骤S408。
步骤S407,将删除该条冗余边后的图更新为信息查询业务对应的图,并执行步骤S208。
步骤S408、判断是否已将该顶点与其所有邻接顶点间的边选取为冗余边,如果是,则执行步骤S409;如果不是,则返回步骤S403,选取另一条冗余边。
步骤S409、判断是否已访问过信息查询业务对应的图中的所有顶点,如果是,则执行步骤S410,如果不是,则返回步骤S402,访问下一个顶点。
步骤S410、基于更新后的图,确定表征预定的信息对象的查询顺序的序列。
步骤S411、根据所确定的序列执行针对预定的信息对象的查询处理。
本申请实施例的步骤S401至步骤S410,与图2a所涉及的实施例的步骤S201至步骤S210相应,不同之处仅在于目标业务在本实施例中具体为信息查询业务,因此,步骤S401至步骤S410的具体实现可以参阅图2a所涉及的实施例,步骤S411可以参阅步骤S306所涉及的实施例,在此,不再赘述。
请参阅图5,图5是本申请一示例性实施例示出的实现信息对象查询的系统500的框图,该系统500适用于信息查询领域,如数据库内数据表的查询,可以包括依次连接的关系管理系统510、图处理模块520、语句转换模型530和信息查询模块540。
当信息对象存储到对应的存储区域后,关系管理系统510即可以读取信息对象的标识和信息对象之间的关联关系,然后负责管理信息对象之间的关联关系。如:信息对象为数据库内的数据表时,关系管理系统可以从数据库获取其所存存储的数据表之间的关联关系。
在用户查询预定的信息对象前,图处理模块520即可从关系管理系统510读取各信息对象的标识以及信息对象之间的关联关系,生成并存储与信息查询业务对应的图。
在用户查询预定的信息对象时,即可以采用本申请实施例的方法将图中的冗余边删除,确定序列,并输入语句转换模型530。
语句转换模型530将输入的序列转换为查询信息对象的查询语句,并发送给信息查询模块540,由信息查询模块540根据查询语句从对应的存储区域查询信息对象。
与前述方法的实施例相对应,本申请还提供了装置的实施例。
参见图6,图6是本申请一示例性实施例示出的信息对象的序列确定装置的逻辑框图,该装置600可以包括:图获取模块610、边选取模块620、连通判断模块630、边删除模块640和序列确定模块650。
其中,图获取模块610,用于获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
边选取模块620,用于选取该图的至少一条边为冗余边。
连通判断模块630,用于判断该图除去所述冗余边的部分,是否满足预定的连通条件。
边删除模块640,用于在除去所述冗余边的部分满足预定的连通条件时,确定将所述冗余边从该图中删除。
序列确定模块650,用于基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
一些例子中,连通判断模块630可以包括:
图判断模块,用于判断该图除去所述冗余边的部分,是否为连通图。
第一确定模块,用于在除去所述冗余边的部分是连通图时,确定满足预定的连通条件。
作为例子,本申请实施例的信息对象的序列确定装置还可以包括:
分量获取模块,用于在除去所述冗余边的部分不是连通图时,获取该图除去所述冗余边的部分的连通分量。
分量判断模块,用于判断预定的信息对象对应的顶点是否属于同一连通分量。
第二确定模块,用于在预定的信息对象对应的顶点属于同一连通分量时,确定满足预定的连通条件。
另一些例子中,序列确定模块650可以包括:
顶点确定模块,用于将删除冗余边后的图中,没有邻接点的顶点确定为冗余点。
顶点删除模块,用于从删除冗余边后的图中删除所确定的冗余点。
序列确定子模块,用于根据删除冗余边和冗余点后的图,确定表征预定的信息对象的相对顺序的序列。
另一些例子中,所确定的序列包括以下任一:
表征预定的信息对象的查询顺序的序列。
表征经过预定的信息对象的路线顺序的序列。
另一些例子中,选边模块620还可以包括:
顶点访问模块,用于根据预设的图遍历算法,访问所获取的图中的各顶点。
邻接点确定模块,用于在每访问到一个顶点时,选取访问到的顶点与其各邻接顶点间的边为冗余边。
连通判断模块630还用于:
在每选取好一条冗余边后,针对该条冗余边以及目标业务所对应的图,判断该图除去该条冗余边的部分,是否满足预定的连通条件。
边删除模块640还用于:
在该图除去该条边的部分满足预定的连通条件时,将该条冗余边从该图中删除。
本申请实施例的信息对象的序列确定装置还包括:
图更新模块,用于在将删除该条冗余边后的图更新成目标业务所对应的图。
参见图7,图7是本申请一示例性实施例示出的信息对象的查询装置的逻辑框图,该装置700可以包括:图获取模块710、边选取模块720、连通判断模块730、边删除模块740、查询序列确定模块750和查询处理模块760。
其中,图获取模块710,用于获取信息查询业务所对应的图,其中,该图所含的顶点对应于所述信息查询业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系。
边选取模块720,用于选取该图的至少一条边为冗余边。
连通判断模块730,用于判断该图除去所述冗余边的部分,是否满足预定的连通条件。
边删除模块740,用于在除去所述冗余边的部分满足预定的连通条件时,确定将所述冗余边从该图中删除。
查询序列确定模块750,用于基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列。
查询处理模块760,用于根据所确定的序列执行针对预定的信息对象的查询处理。
一些例子中,连通判断模块730可以包括:
图判断模块,用于判断该图除去所述冗余边的部分,是否为连通图。
第一确定模块,用于在除去所述冗余边的部分是连通图时,确定满足预定的连通条件。
另一些例子中,本申请的信息对象的查询装置还可以包括:
分量获取模块,用于在除去所述冗余边的部分不是连通图时,获取该图除去所述冗余边的部分的连通分量。
分量判断模块,用于判断预定的信息对象对应的顶点是否属于同一连通分量。
第二确定模块,用于在预定的信息对象对应的顶点属于同一连通分量时,确定满足预定的连通条件。
另一些例子中,查询序列确定模块750可以包括:
顶点确定模块,用于将删除冗余边后的图中,没有邻接点的顶点确定为冗余点。
顶点删除模块,用于从删除冗余边后的图中删除所确定的冗余点。
查询序列确定子模块,用于根据删除冗余边和冗余点后的图,确定表征预定的信息对象的查询顺序的序列。
另一些例子中,边选取模块720可以包括:
顶点访问模块,用于根据预设的图遍历算法,访问所获取的图中的各顶点。
邻接点确定模块,用于在每访问到一个顶点时,选取访问到的顶点与其各邻接顶点间的边为冗余边。
连通判断模块730还可以用于:
在每选取好一条冗余边后,针对该条冗余边以及信息查询业务所对应的图,判断该图除去该条冗余边的部分,是否满足预定的连通条件。
边删除模块740还可以用于:
在该图除去该条边的部分满足预定的连通条件时,将该条冗余边从该图中删除。
本申请实施例的信息对象的查询装置还可以包括:
图更新模块,用于在将删除该条冗余边后的图更新成信息查询业务所对应的图。
另一些例子中,查询处理模块760可以包括:
语句生成模块,用于根据预定的语句转换模型,将所确定的序列转换为对应的查询语句。
信息对象查询模块,用于基于所述查询语句查询预定的信息对象。
上述装置中各个单元(或模块)的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请信息对象的序列确定装置、以及信息对象的查询装置的实施例可以应用在电子设备上。具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现中,电子设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备、互联网电视、智能机车、无人驾驶汽车、智能冰箱、其他智能家居设备或者这些设备中的任意几种设备的组合。
装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器等可读介质中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请信息对象的序列确定装置所在电子设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。电子设备的存储器以存储处理器可执行程序指令;处理器可以耦合存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;选取该图的至少一条边为冗余边;判断该图除去所述冗余边的部分,是否满足预定的连通条件;如果满足,则确定将所述冗余边从该图中删除;基于删除冗余边后的图,确定表征预定的信息对象的相对顺序的序列。
如图9所示,为本申请信息对象的查询确定装置所在电子设备的一种硬件结构图,除了图9所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。电子设备的存储器可以存储处理器可执行程序指令;处理器可以耦合存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取目标业务所对应的图,其中,该图所含的顶点对应于所述目标业务涉及的信息对象,所含的边表示对应的信息对象间的关联关系;选取该图的至少一条边为冗余边;判断该图除去所述冗余边的部分,是否满足预定的连通条件;如果满足,则确定将所述冗余边从该图中删除;基于删除冗余边后的图,确定表征预定的信息对象的查询顺序的序列;根据所确定的序列执行针对预定的信息对象的查询处理。
在其他实施例中,处理器所执行的操作可以参考上文方法实施例中相关的描述,在此不予赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。