技术简介:
为提高数据处理效率,本发明发现现有路由方法灵活性不足的问题。提出一种基于预先设置的路由规则进行分析的方法,根据业务请求内容确定目标数据源,并直接向其发送待处理信息,简化了传统路由流程,增加了系统的灵活性和响应速度。
关键词:路由方法,灵活的数据处理,高效的数据传输
专利名称:一种路由方法以及实现该方法的系统的制作方法
技术领域:
本发明涉及网络通信领域,具体涉及一种路由方法以及实现该方法的系统。
背景技术:
目前,企业级的通信系统都有对多数据源或者协议系统间的通讯进行支持的需要。但在传统的互联网应用中,各个通信系统通常只和一个数据源进行路由交互,该数据源可能是用户指定的数据源;这种单一数据源的路由方式必然会导致数据存储出现较大的冗余度,不利于系统的数据分类和维护,并将直接影响数据访问等数据处理的效率。
发明内容有鉴于此,本发明实施例的主要目的在于提供一种路由方法以及实现该方法的系统,以增加路由灵活性,提高数据处理效率。
为达到上述目的,本发明实施例的技术方案是这样实现的本发明实施例公开了一种路由方法,该方法包括当收到路由分析请求时,根据其内容对预先设置的路由规则进行分析,得到对应的数据源信息;向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。
本发明实施例还公开了一种路由系统,该系统包括依次相连的路由请求模块、路由执行模块、数据库;其中,所述路由请求模块,用于根据收到的业务请求向路由执行模块发送路由分析请求;
所述路由执行模块,用于获取所述数据库保存的路由规则,并根据收到的路由分析请求的内容对获取的路由规则进行分析,得到对应的数据源信息;还向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容;所述数据库,用于保存并提供路由规则。
与现有技术相比,本发明实施例所提供的路由方法和系统,均能明显增加路由灵活性,因而可以有效提高数据处理效率。
图1为本发明实施例的路由系统的结构及原理示意图;图2为二杈树的结构示意图;图3为本发明实施例的设置并保存路由规则的流程图;图4为本发明实施例的根据设置的路由规则进行路由的流程图;图5为本发明实施例的分析路由规则的流程图。
具体实施方式下面结合附图及
具体实施例对本发明详细说明。
本发明实施例所提供的路由方法包括当收到路由分析请求时,根据其内容对预先设置的路由规则进行分析,得到对应的数据源信息;向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。
本发明实施例所提供的路由系统包括依次相连的路由请求模块、路由执行模块、数据库;其中,所述路由请求模块,用于根据收到的业务请求向路由执行模块发送路由分析请求;所述路由执行模块,用于获取所述数据库保存的路由规则,并根据收到的路由分析请求的内容对获取的路由规则进行分析,得到对应的数据源信息;还向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容;所述数据库,用于保存并提供路由规则。
参见图1,图1为本发明实施例的路由系统的结构及原理示意图。图1中,路由请求模块、路由执行模块、路由缓存模块、数据库、网络管理设备依次相连。
为了保证路由的灵活性,用户可以预先在网络管理设备上设置比较灵活的路由规则。所述路由规则通常是指特定的因素与要路由到的数据源信息之间的对应关系,如不同的用户通信条件所对应的不同数据源标识;不同的Naming-SQL所对应的不同数据源标识;不同的业务模块所对应的不同数据源标识。
当收到用户所设置的路由规则时,网络管理设备会将收到的路由规则下发到数据库中,由数据库对所述路由规则进行保存。网络管理设备向数据库下发路由规则的方法通常为网络管理设备调用与数据库之间的写数据库接口,通过该接口将路由规则写入数据库中。所述路由规则通常存储于数据库的路由规则表中。
在路由缓存模块启动后,路由缓存模块可以加载数据库中所存储的路由规则,所述加载路由规则的具体操作可以是路由缓存模块向数据库发送路由规则加载请求,数据库受到该请求时将自身存储的路由规则发送给路由缓存模块,路由缓存模块则保存来自数据库的路由规则。
在实际应用中,网络管理设备中所保存的路由规则可能被更改。在收到新的路由规则时,网络管理设备用收到的新路由规则更新原来保存的需要更改的路由规则。并且,网络管理设备还要将完成更新的路由规则发送给数据库,由数据库用收到的路由规则更新自身原来保存的路由规则。这样,当路由缓存模块从数据库加载路由规则时,其所加载的路由规则总是最新的。另外,路由缓存模块还可以实时或周期性地向数据库发出更新查询,以根据数据库的反馈确定数据库中所保存的路由规则是否被更新,并在获知路由规则被更新时从数据库中加载更新了的路由规则。
完成对路由规则的设置以及保存之后,路由请求模块有可能会收到来自用户的操作信息。所述操作信息包括与路由规则相关的特定因素,如用户通信条件、Naming-SQL等。当然,所述操作信息中通常还包括数据等待路由内容。另外,如果用户指定了路由(如指定了具体的数据源信息),那么所述操作信息中当然会包括用户所指定的数据源信息(如数据源标识等)。所述操作信息通常包含于来自用户的业务请求中。
当收到来自用户的业务请求时,路由请求模块可以应用现有技术判断该业务请求是否涉及路由操作,如果涉及,路由请求模块将收到的操作信息发送给路由执行模块;否则,路由请求模块不再进行后续操作。所述操作信息通常是被携带于路由分析请求中发送给路由执行模块的。
收到来自路由请求模块的路由分析请求时,路由执行模块确定需要进行路由操作,进而从路由缓存模块中以读取等方式获取路由规则,并根据所述路由分析请求中的操作信息对读取的路由规则进行分析,得到对应的数据源信息。
所述操作信息可能包括用户通信条件、Naming-SQL等。具体而言,当从操作信息中读取到用户通信条件时,路由执行模块在路由缓存模块所保存的路由规则中查找读取到的所述用户通信条件所对应的数据源信息,并向查找到的数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。如从操作信息中读取到用户通信条件时,路由执行模块从路由缓存模块中以读取等方式获取路由规则,并在获取到的路由规则中查找读取到的所述用户通信条件所对应的数据源标识,并向查找到的数据源标识所对应的数据源路由所述路由分析请求中的待路由内容。
当然,如果没能查找到所述用户通信条件所对应的数据源信息,路由执行模块还可以进一步从所述操作信息中读取Naming-SQL,并在路由缓存模块所保存的路由规则中查找读取到的所述Naming-SQL所对应的数据源信息,并向查找到的数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。如从操作信息中读取到Naming-SQL时,路由执行模块从路由缓存模块中以读取等方式获取路由规则,并在获取到的路由规则中查找读取到的所述Naming-SQL所对应的数据源标识,并向查找到的数据源标识所对应的数据源路由所述路由分析请求中的待路由内容。
如果没能查找到所述Naming-SQL所对应的数据源信息,路由执行模块还可以进一步从所述操作信息中读取待路由内容,并应用现有技术确定用于处理所述待路由内容的业务模块,进而在路由缓存模块所保存的路由规则中查找所述业务模块所对应的数据源信息,再向查找到的数据源信息所对应的数据源路由所述待路由内容。如当确定了用于处理所述待路由内容的业务模块时,路由执行模块从路由缓存模块中以读取等方式获取路由规则,并在获取到的路由规则中查找所述业务模块所对应的数据源标识,并向查找到的数据源标识所对应的数据源路由所述待路由内容。
由以上所述可见,路由执行模块可以根据用户通信条件、Naming-SQL、处理待路由内容的业务模块等特定因素,逐步递近(顺序为用户通信条件→Naming-SQL→处理待路由内容的业务模块)地最终确定数据源,以便将待路由内容路由到该数据源。实际上,路由执行模块也可以根据上述特定因素中的任何一个或两个确定数据源;并且,当路由执行模块根据上述特定因素中的两个或两个以上因素确定数据源时,其逐步递近的顺序可以随意设置,如用户通信条件→处理待路由内容的业务模块,或Naming-SQL→用户通信条件→处理待路由内容的业务模块等。
需要说明的是当根据上述特定因素仍无法确定数据源时,路由执行模块还可以进一步查找自身预先设置的系统默认数据源信息,并向查找到的数据源信息所对应的数据源路由所述待路由内容。如路由执行模块查找自身设置的系统默认数据源标识,并向查找到的数据源标识所对应的数据源路由所述待路由内容。当然,系统默认数据源信息也可以设置于其它实体中,只要路由执行模块在需要时能够顺利获取即可。
另外,如果所述操作信息中包含用户指定的路由(如包含用户指定的数据源信息),那么路由执行模块则可以遵从用户指定的所述路由对所述路由分析请求中的待路由内容进行路由,如路由执行模块遵从所述路由分析请求中由用户指定的数据源标识,将所述路由分析请求中的待路由内容向用户指定的所述数据源标识所对应的数据源路由。
由以上所述可见,基于设置的路由规则,路由执行模块可以很灵活地进行数据路由,这种路由灵活性能够有效提高数据处理效率。并且,为了对数据处理效率做进一步改善,还可以将路由规则中涉及用户通信条件的对应关系以图2中的二杈树形式表示。
参见图2,图2为二杈树的结构示意图,图2只是以一个简单的例子表示出二杈树的结构。由图2可见,二杈树可以简单、直观地表示出用户通信条件(如address=`New York`、phoneo>=1380000000、phoneno<13899999999等)所对应的数据源信息;所以在路由缓存模块以二杈树形式缓存路由规则中涉及用户通信条件的对应关系的情况下,路由执行模块可以高效地从二杈树中以匹配等方式查找到用户通信条件所对应的数据源信息。这种查找数据源信息的高效率显然能够进一步改善数据处理效率。
为了使图1中路由系统的操作原理表现得更简明,可以依照图3、图4对涉及路由的操作进行概括性描述。其中,图3描述的是设置并保存路由规则的流程;图4描述的是根据设置的路由规则进行路由的流程。由于图3、图4中的操作在图1中已有详尽的描述,因此下面只对图3、图4进行简要阐述。
参见图3,图3为本发明实施例的设置并保存路由规则的流程图,该流程包括以下步骤步骤310网络管理设备接收用户自定义的路由规则,并将收到的路由规则下发给数据库。
步骤320数据库保存来自网络管理设备的路由规则。
数据库将保存的路由规则发送给路由缓存模块。
步骤340路由缓存模块保存来自数据库的路由规则。
当然,数据库可以对路由规则进行更新,并通知路由缓存模块对路由规则进行更新。
参见图4,图4为本发明实施例的根据设置的路由规则进行路由的流程图,该流程包括以下步骤步骤410路由请求模块收到来自用户的业务请求,并确定该业务请求涉及路由操作,进而向路由执行模块发送路由分析请求。
步骤420收到来自路由请求模块的路由分析请求时,路由执行模块从路由缓存模块中读取路由规则。
步骤430路由执行模块根据所述路由分析请求的内容对读取的路由规则进行分析,得到对应的数据源信息。
步骤440路由执行模块向得到的数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。
在步骤430中,对路由规则进行分析的比较完整的流程如图5所示,由于图5中的操作在图1中已有详尽的描述,因此下面只对图5进行简要阐述。
参见图5,图5为本发明实施例的分析路由规则的流程图,该流程包括以下步骤步骤510路由执行模块判断用户是否指定了路由,如果是,进入步骤511;否则,进入步骤520。
步骤511;遵从所指定的路由,并结束路由分析操作。
步骤520路由执行模块判断是否针对用户通信条件配置了路由,如果是,进入步骤521;否则,进入步骤530。
步骤521路由执行模块查找与用户通信条件相对应的数据源标识,并结束路由分析操作。
步骤530路由执行模块判断是否针对Naming-SQL配置了路由,如果是,进入步骤531;否则,进入步骤540。
步骤531路由执行模块查找针对Naming-SQL配置的数据源标识,并结束路由分析操作。
步骤540路由执行模块判断待路由内容是否由特定的业务模块处理,如果是,进入步骤541;否则,进入步骤550。
步骤541路由执行模块查找处理Naming-SQL的业务模块所对应的数据源的标识,并结束路由分析操作。
步骤550路由执行模块查找系统默认的数据源标识。
在以上所述内容中,路由缓存模块的作用主要在于以缓存的方式保存路由规则,以便提高路由执行模块获取路由规则的速度,缩短路由时间。在实际应用中,当对路由速度的要求不是非常高时,也可以不应用路由缓存模块;而是将所述数据库与路由执行模块直接相连,令路由执行模块直接从数据库中获取路由规则。另外,路由规则也可以不只存储于唯一一个数据库中,而是存储于不同的数据库中;只要路由执行模块能顺利获取路由规则即可。
由以上所述可以看出,本发明实施例所提供的路由方法和系统,能够明显增加路由灵活性,因而可以有效提高数据处理效率。
权利要求1.一种路由方法,其特征在于,该方法包括当收到路由分析请求时,根据其内容对预先设置的路由规则进行分析,得到对应的数据源信息;向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。
2.如
权利要求1所述的方法,其特征在于,所述路由规则包括用户通信条件及其所对应的数据源信息;对所述路由规则进行路由分析的方法为读取所述路由分析请求中的用户通信条件,查找读取到的所述用户通信条件所对应的数据源信息。
3.如
权利要求1所述的方法,其特征在于,所述路由规则包括Naming-SQL及其所对应的数据源信息;对所述路由规则进行路由分析的方法为读取所述路由分析请求中的Naming-SQL,查找读取到的所述Naming-SQL所对应的数据源信息。
4.如
权利要求1所述的方法,其特征在于,所述路由规则包括处理待路由内容的业务模块及其所对应的数据源信息;对所述路由规则进行路由分析的方法为读取所述路由分析请求中的待路由内容,确定用于处理所述待路由内容的业务模块,并查找所述业务模块所对应的数据源信息。
5.如
权利要求1所述的方法,其特征在于,所述路由规则包括用户通信条件及其所对应的数据源信息,还包括Naming-SQL及其所对应的数据源信息,还包括处理待路由内容的业务模块及其所对应的数据源信息;对所述路由规则进行路由分析的方法为读取所述路由分析请求中的用户通信条件,查找读取到的所述用户通信条件所对应的数据源信息;当没有查找到所述用户通信条件所对应的数据源信息时,读取所述路由分析请求中的Naming-SQL,查找读取到的所述Naming-SQL所对应的数据源信息;当没有查找到所述Naming-SQL所对应的数据源信息时,读取所述路由分析请求中的待路由内容,确定用于处理所述待路由内容的业务模块,并查找所述业务模块所对应的数据源信息。
6.如
权利要求2或5所述的方法,其特征在于,所述路由规则是以二杈树形式表示的,所述查找的方法为在二杈树中匹配所述用户通信条件所对应的数据源信息。
7.如
权利要求2或5所述的方法,其特征在于,预先读取并遵从所述路由分析请求中包含的用户指定的数据源信息。
8.如
权利要求4或5所述的方法,其特征在于,当没有查找到所述业务模块所对应的数据源信息时,进一步查找并遵从预先设置的系统默认数据源信息。
9.如
权利要求1至5任一项所述的方法,其特征在于,进一步向查找到的所述数据源标识所对应的数据源路由所述路由分析请求中所包含的待路由内容。
10.如
权利要求1至5任一项所述的方法,其特征在于,所述路由规则是预先由网络管理设备设置于数据库中的,该设置方法为网络管理设备调用与所述数据库之间的写数据库接口,通过该接口将所述路由规则写入数据库中。
11.如
权利要求10所述的方法,其特征在于,进一步缓存数据库中保存的所述路由规则;要对路由规则进行分析时,获取缓存的所述路由规则并分析。
12.如
权利要求10所述的方法,其特征在于,进一步更新保存的所述路由规则。
13.如
权利要求1所述的方法,其特征在于,所述数据源信息是数据源标识。
14.一种路由系统,其特征在于,该系统包括依次相连的路由请求模块、路由执行模块、数据库;其中,所述路由请求模块,用于根据收到的业务请求向路由执行模块发送路由分析请求;所述路由执行模块,用于获取所述数据库保存的路由规则,并根据收到的路由分析请求的内容对获取的路由规则进行分析,得到对应的数据源信息;还向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容;所述数据库,用于保存并提供路由规则。
15.如
权利要求14所述的系统,其特征在于,所述数据库进一步与网络管理设备相连;所述网络管理设备,用于设置路由规则并发送给所述数据库保存。
16.如
权利要求15所述的系统,其特征在于,所述网络管理设备,进一步用于对所设置的路由规则进行更新,并将更新的路由规则发送给所述数据库;所述数据库,进一步用于根据来自网络管理设备的路由规则对自身所保存的路由规则进行更新。
17.如
权利要求15或16所述的系统,其特征在于,所述路由规则的发送是通过所述网络管理设备与所述数据库之间的写数据库接口实现的。
18.如
权利要求14至16任一项所述的系统,其特征在于,所述路由执行模块与所述数据库之间进一步连接有路由缓存模块;其中,所述路由缓存模块,用于将所述数据库中存储的路由规则加载到自身存储,还向所述路由执行模块提供路由规则。
19.如
权利要求18所述的系统,其特征在于,所述路由缓存模块,进一步用于根据所述数据库中的路由规则更新自身保存的路由规则。
20.如
权利要求14所述的系统,其特征在于,所述路由规则包括以下内容中的至少一个用户通信条件及其所对应的数据源信息;Naming-SQL及其所对应的数据源信息;处理待路由内容的业务模块及其所对应的数据源信息。
专利摘要本发明实施例公开了一种路由方法,包括当收到路由分析请求时,根据其内容对预先设置的路由规则进行分析,得到对应的数据源信息;向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容。本发明实施例还公开了一种路由系统,该系统包括依次相连的路由请求模块、路由执行模块、数据库;其中,路由请求模块用于向路由执行模块发送路由分析请求;路由执行模块用于根据收到的路由分析请求的内容对数据库中的路由规则进行分析,得到对应的数据源信息;还向得到的所述数据源信息所对应的数据源路由所述路由分析请求中的待路由内容;数据库用于保存并提供路由规则。本发明实施例的方法和系统均可增加路由灵活性,提高数据处理效率。
文档编号H04L29/06GK1996954SQ200610167184
公开日2007年7月11日 申请日期2006年12月26日
发明者丁凯平, 朱仲楚 申请人:华为技术有限公司