一种业务调用的实现方法及装置和系统转让专利

申请号 : CN200810218590.X

文献号 : CN101729514A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柯善阳

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种业务调用的实现方法,包括步骤:向业务服务器发送业务功能查询请求;获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;根据所述调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求,所述调用请求包含令牌信息,使得所述第二业务功能模块根据所述调用请求的令牌信息验证所述调用请求合法后执行第二业务功能模块的业务功能。相应地,本发明还公开了业务调用的实现方法、业务功能模块、业务服务器以及通信业务系统,实施本发明实施例,解决业务功能模间调用过程复杂繁琐的问题,避免攻击者通过简单的业务频繁调用就可以将业务部件攻垮的问题。

权利要求 :

1.一种业务调用的方法,其特征在于,包括如下步骤:

接收第一业务功能模块发送的业务功能查询请求;

根据所述业务功能查询请求生成调用信息并向所述第一业务功能模块发送所述调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息的调用请求;使得所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后执行第二业务功能模块的业务功能。

2.如权利要求1所述的方法,其特征在于,所述根据所述业务功能查询请求生成的调用信息的步骤包括:对第一业务功能模块的身份和调用权限进行认证;

在所述认证通过后,根据所述业务功能查询请求从预先登记注册的业务信息中检索出第二业务功能模块信息并生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息。

3.如权利要求2所述的方法,其特征在于,所述把根据所述业务功能查询请求从预先登记注册的业务信息中检索的第二业务功能模块信息生成调用信息的步骤包括:根据所述检索的第二业务功能模块信息生成访问业务的令牌信息,所述令牌信息包含有效期信息以及调用密钥信息;

将所述检索的第二业务功能模块信息以及所述令牌信息组合成调用信息。

4.如权利要求3所述的方法,其特征在于,所述登记注册的业务信息具体为在业务注册请求信息通过鉴权后登记注册的业务信息。

5.如权利要求4所述的方法,其特征在于,所述业务注册请求信息通过鉴权的步骤包括:业务服务器接收注册请求者发送的携带有注册鉴权码信息的注册请求;

检测所述注册鉴权码是否正确。

6.一种业务调用的方法,其特征在于,包括如下步骤:

向业务服务器发送业务功能查询请求;

获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;

根据所述调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求,所述调用请求包含令牌信息,使得所述第二业务功能模块根据所述调用请求的令牌信息验证所述调用请求合法后执行第二业务功能模块的业务功能。

7.如权利要求6所述的方法,其特征在于,所述业务查询请求用于业务服务器对第一业务功能模块的身份和调用权限进行认证;在所述认证通过后,把根据所述业务功能查询请求从预先登记注册的业务信息中检索出第二业务功能模块信息并生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息。

8.一种业务调用的方法,其特征在于,包括如下步骤:

接收第一业务功能模块发送的调用请求,所述调用请求包含业务功能查询请求在收到第一业务功能模块发送的业务功能查询请求后发送给第一业务功能模块的调用信息中的令牌信息;

根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能。

9.如权利要求8所述的方法,其特征在于,所述根据所述令牌信息验证所述调用请求的合法性具体为:根据所述令牌信息的有效期信息检测所述调用请求是否在有效期内;

当检测结果为是时,判断所述令牌信息的调用密钥信息是否正确;

当判断结果为是时,执行业务功能,当判断结果为否时,返回调用失败信息。

10.一种业务服务器,其特征在于,包括:

业务接收模块,用于接收第一业务功能模块发送的业务功能查询请求;

业务处理模块,用于根据所述业务接收模块接收的业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息的调用请求;使得所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能;

业务发送模块,用于向所述第一业务功能模块发送所述业务处理模块生成的调用信息。

11.如权利要求10所述的业务服务器,其特征在于,所述业务处理模块包括:认证单元,用于对第一业务功能模块的身份和调用权限进行认证;

生成单元,用于在认证单元认证通过后,根据所述业务接收模块接收的业务功能查询请求从预先登记注册的业务信息中检索出第二业务功能模块信息并生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息。

12.如权利要求11所述的业务服务器,其特征在于,所述生成单元包括:生成子单元,用于根据所述业务功能注册查询单元检索的第二业务功能模块信息生成访问业务的令牌信息,所述令牌信息包含有效期信息以及调用密钥信息;

组合单元,用于将所述业务功能注册查询单元检索的第二业务功能模块信息以及所述生成子单元生成的令牌信息组合成调用信息。

13.一种业务功能模块,其特征在于,包括:

第一发送单元,用于向业务服务器发送业务功能查询请求;

获取单元,用于获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;

调用单元,用于根据所述获取单元获取的调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求,所述调用请求包含令牌信息,使得所述第二业务功能模块根据所述调用请求的令牌信息验证所述调用请求合法后执行第二业务功能模块的业务功能。。

14.一种业务功能模块,其特征在于,所述业务功能模块包括:接收单元,用于接收第一业务功能模块发送的调用请求,所述调用请求包含业务功能查询请求在收到第一业务功能模块发送的业务功能查询请求后发送给第一业务功能模块的调用信息中的令牌信息;

验证单元,用于根据所述接收单元接收的令牌信息验证所述调用请求的合法性,并在验证合法后执行业务功能。

15.如权利要求14所述的业务功能模块,其特征在于,所述验证单元包括:检测单元,用于根据所述接收单元接收的令牌信息中的有效期信息检测所述调用请求是否在有效期内;

检测处理单元,用于当所述检测单元的检测结果为是时,触发判断单元进行判断处理,当所述检测单元的检测结果为否时,向所述外部业务功能模块发送调用失败信息;

判断单元,用于判断所述接收单元接收的令牌信息中的调用密钥信息是否正确;

判断处理单元,用于当所述判断单元的判断结果为是时,执行业务功能,当所述判断单元的判断结果为否时,向所述外部业务功能模块发送调用失败信息。

16.一种通信业务系统,其特征在于,包括第一业务功能模块、第二业务功能模块以及业务服务器,其中,所述第一业务功能模块用于向所述业务服务器发送业务功能查询请求,获取所述业务服务器根据所述业务功能查询请求生成的调用信息,并根据所述调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求;

所述第二业务功能模块用于接收所述第一业务功能模块发送的调用请求后,验证所述调用请求的合法性,并在验证合法后执行业务功能;

所述业务服务器用于接收到所述第一业务功能模块发送的请求消息后,根据所述业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息的调用请求;使所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能。

说明书 :

技术领域

本发明涉及通信领域,尤其涉及一种业务调用的实现方法、业务服务器、业务功能模块以及一种通信业务系统。

背景技术

随着计算机和网络技术的飞速发展,提供给用户的业务种类也不断丰富,往往需要各业务功能模块间相互调用业务,如何提高业务功能模块相互调用的可管理性是人们一直关注和研究的热点问题。
下面在OSE(Open Service Environment,开放业务环境)架构中具体说明现有的业务调用的方式下,所有的业务功能模块需要在注册服务器中注册,策略控制中心对调用请求进行策略控制,执行调用请求。比如当某一业务功能模块需要调用其它业务功能模块的业务时,调用的业务功能模块先通过注册服务器查询初调用的业务功能模块的接口特征,然后根据查得的接口特征直接调用被调用业务功能模块的业务(即向被调用的业务功能模块发送调用请求),将所述调用请求通知策略控制中心,策略控制中心对所述调用请求进行策略控制,即对所述调用请求进行鉴权,鉴权通过后执行所述某一业务功能模块的调用请求,执行完毕后将执行结果返回所述某一业务功能模块。
发明人在执行发明的过程当中发现,在现有的在业务调用的过程中,使业务功能模块间的调用过程显得复杂繁琐,降低了用户体验。而且现有的所有的业务调用都需要防DOS(Denial Of Service,拒绝服务)攻击,否则攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮,给用户造成损失。

发明内容

本发明实施例在于提供了业务调用的实现方法、业务服务器、业务功能模块以及通信业务系统,解决了业务功能模块间的调用过程显得复杂繁琐的问题,提高了用户体验,避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,提高了安全性,满足人们的需求。
为了达到上述技术效果,本发明实施例提出了一种业务调用的方法,包括以下步骤:
接收第一业务功能模块发送的业务功能查询请求;
根据所述业务功能查询请求生成调用信息并向所述第一业务功能模块发送所述调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息的调用请求;使得所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后执行第二业务功能模块的业务功能。
相应地,本发明实施例还提出了一种业务调用的方法,包括如下步骤:
向业务服务器发送业务功能查询请求;
获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;
根据所述调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求,所述调用请求包含令牌信息,使得所述第二业务功能模块根据所述调用请求的令牌信息验证所述调用请求合法后执行第二业务功能模块的业务功能。
相应地,本发明实施例还提出了一种业务调用的方法,包括如下步骤:
接收第一业务功能模块发送的调用请求,所述调用请求包含业务功能查询请求在收到第一业务功能模块发送的业务功能查询请求后发送给第一业务功能模块的调用信息中的令牌信息;
根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能。
相应地,本发明实施例还提出了一种业务服务器,包括:
业务接收模块,用于接收第一业务功能模块发送的业务功能查询请求;
业务处理模块,用于根据所述业务接收模块接收的业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息的调用请求;使得所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能;
业务发送模块,用于向所述第一业务功能模块发送所述业务处理模块生成的调用信息。
相应地,本发明实施例还公开了一种业务功能模块,包括:
第一发送单元,用于向业务服务器发送业务功能查询请求;
获取单元,用于获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;
调用单元,用于根据所述获取单元获取的调用信息中第二业务功能模块信息向所述第二业务功能模块发送调用请求,所述调用请求包含令牌信息,所述令牌信息被所述第二业务功能模块用来验证所述调用请求的合法性,并在验证完所述调用请求合法后,调用第二业务功能模块的业务功能。
相应地,本发明实施例还公开了一种业务功能模块,包括:
接收单元,用于接收第一业务功能模块发送的调用请求,所述调用请求包含业务功能查询请求在收到第一业务功能模块发送的业务功能查询请求后发送给第一业务功能模块的调用信息中的令牌信息;
验证单元,用于根据所述接收单元接收的令牌信息验证所述调用请求的合法性,并在验证合法后执行业务功能。
相应地,本发明实施例还公开了一种通信业务系统,包括第一业务功能模块、第二业务功能模块以及业务服务器,其中,
所述第一业务功能模块用于向所述业务服务器发送业务功能查询请求,获取所述业务服务器根据所述业务功能查询请求生成的调用信息,并根据所述调用信息中第二业务功能模块信息向所述第二业务功能模块发送携带有令牌信息的调用请求;
所述第二业务功能模块用于接收所述第一业务功能模块发送的调用请求后,验证所述调用请求的合法性,并在验证合法后执行业务功能;
所述业务服务器用于接收到所述第一业务功能模块发送的请求消息后,根据所述业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息调用请求;使所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能。
实施本发明实施例,通过业务服务器对请求方的业务功能模块的身份和调用权限进行认证,然后由请求方的业务功能模块直接进行业务的调用,解决了业务功能模块间的调用过程显得复杂繁琐的问题,简化了调用流程,提高了用户体验,而且只有在第二业务功能模块根据令牌信息验证调用请求的合法性后,才能调用业务,避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,提高了安全性,满足人们的需求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有的业务调用的结构示意图;
图2是本发明实施例的通信业务系统的结构示意图;
图3是本发明实施例的业务服务器的结构示意图;
图4是本发明的业务功能模块的第一实施例的结构示意图;
图5是本发明的业务功能模块的第二实施例的结构示意图;
图6是本发明实施例的验证单元的结构示意图;
图7是本发明实施例的业务调用的实现方法的流程图;
图8是本发明实施例的业务服务器进行策略控制的方法流程图;
图9是本发明实施例的业务功能模块发送调用请求的方法流程图;
图10是本发明实施例的业务功能模块根据调用请求执行业务功能的方法流程图;
图11是本发明实施例的业务服务器注册登记业务信息的方法流程图。

具体实施方式

本发明实施例提供了一种业务调用的方法、业务服务器、业务功能模块以及一种通信业务系统,解决了业务功能模块间的调用过程显得复杂繁琐的问题,提高了用户体验,避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,提高了安全性,满足人们的需求。
下面结合附图详细说明本发明的优选实施例。
请参阅图2,图2示出了本发明实施例的通信业务系统的结构示意图,包括业务服务器1以及至少两个业务功能模块,如本实施例中有业务功能模块2、业务功能模块3、业务功能模块4、业务功能模块5以及业务功能模块6共5个业务功能模块,本发明实施例以第一业务功能模块统称业务调用请求者,第二业务功能模块为被调用的业务功能模块,当业务功能模块2为第一业务功能模块,即业务调用请求者,业务功能模块3为第二业务功能模块,即被调用的业务功能模块时,业务功能模块2向业务服务器1发送业务功能查询请求,并获得业务服务器1根据业务功能查询请求生成的调用信息,并根据调用信息中业务功能模块3信息向业务功能模块3发送调用信息;业务服务器1根据业务功能模块2发送的查询请求进行策略控制,具体地,业务服务器1对业务功能模块2的身份和调用权限进行认证,在所述认证通过之后,把根据所述查询请求查询出的被调用的业务功能模块(即业务功能模块3)信息生成携带有令牌信息的调用信息,并向业务功能模块2返回所述调用信息,该调用信息包括所述查询到的业务功能模块3的信息和令牌信息,如业务功能模块3的接口信息等,该调用信息主要使得业务功能模块2根据业务功能模块3的信息向业务功能模块3发送包含令牌信息调用请求,使得业务功能模块3根据令牌信息验证该调用请求的合法性,并在验证完该调用请求合法后,执行业务功能模块3的业务功能;业务功能模块3接收到业务功能模块2发送的携带有令牌信息的调用请求后,验证所述调用请求的合法性,并在验证合法后执行业务功能,即业务功能模块2完成对业务功能模块3的业务调用。
实施上述实施例,通过业务服务器进行查询以及策略控制的处理,然后由业务功能模块直接进行业务的调用,解决了业务功能模块间的调用过程显得复杂繁琐的问题,简化了调用流程,提高了用户体验,而且只有在策略控制时的鉴权通过后,才能调用业务,避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,提高了安全性,满足人们的需求。
下面结合图3示出的本发明实施例的业务服务器的结构示意图,详细说明本发明实施例的通信业务系统中的业务服务器1的结构,包括:
业务接收模块11,用于接收第一业务功能模块发送的业务功能查询请求;
业务处理模块12,用于根据业务接收模块11接收的业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息;使得第一业务功能模块根据第二业务功能模块信息向所述第二业务功能模块发送包含令牌信息调用请求;使所述第二业务功能模块根据所述令牌信息验证所述调用请求的合法性,并在验证完所述调用请求合法后,执行第二业务功能模块的业务功能;
业务发送模块13,用于向第一业务功能模块发送业务处理模块12生成的调用信息。
具体的,该业务服务器需要接收各业务功能模块的注册请求消息,将各业务功能的信息进行登记,以及根据所述业务主控模块接收的各业务功能模块的业务功能查询请求查询被调用的业务功能模块信息;具体的,在接收各业务功能模块的业务注册请求消息后,对业务注册请求者进行身份认证,并在所述认证通过后,将各业务功能的信息进行登记,以及根据所述业务主控模块接收的各业务功能模块的业务功能查询请求,对业务调用请求者的身份和调用权限进行认证,并在所述认证通过后,根据查询出的被调用的业务功能模块信息生成携带有令牌信息的调用信息,所述令牌信息包含有效期信息以及调用密钥信息。
该业务服务器对所述业务调用请求者和所述业务注册请求者进行身份鉴权;具体地,业务服务器需要对业务调用请求者(即发起查询请求的业务功能模块)进行身份鉴权,当鉴权不通过,即业务调用请求者可能由于没有进行登记注册等原因,其身份为非法身份,则向业务调用请求者返回调用失败信息。该业务服务器对所述业务调用请求者的身份鉴权通过后,还需对所述业务调用请求者的调用权限进行认证;当认证失败后,即业务调用请求者没有权限进行业务的调用,则向业务调用请求者返回调用失败信息。
该业务服务器通过权限认证后,根据查询出的被调用的业务功能模块信息生成携带有令牌信息的调用信息,所述令牌信息包含有效期信息以及调用密钥信息。
需要说明的是,当业务服务器接收到业务功能模块发送的业务功能查询请求后,就可以根据所述查询请求查询出被调用的业务功能模块信息,已被执行后续的生成调用信息过程;或者当业务服务器接收到业务功能模块发送的业务功能查询请求,并且对所述业务调用请求者的调用权限进行的认证通过后,才可以根据所述查询请求查询出被调用的业务功能模块信息,同时根据查询的信息进行生成调用信息过程。
业务服务器具体生成调用信息的具体过程为:根据检索的被调用的业务功能模块信息生成访问业务的令牌信息,所述令牌信息包含有效期信息以及调用密钥信息;具体地,所述密钥生成算法可以为MD5(即,被调用模块注册密钥+有效期开始时间+有效期结束时间+调用业务的源IP和端口),也可以为其它密钥生成算法,如密钥生成算法A8等。
需要说明的是,业务功能模块首次启动时,需要向业务服务器发送注册请求,以完成注册本业务信息,所述注册请求包括本业务功能模块的功能标识,接口地址以及注册鉴权码等信息,其中注册鉴权码可以由MD5(如本业务功能模块私钥+随注册请求发送的注册随机数)等算法生成。业务服务器1接收到业务功能模块的业务注册请求消息后,对所述业务注册请求者进行身份鉴权,具体地,检测接收的注册请求中的注册鉴权码是否正确,可以利用相同的算法(如上述的MD5算法)生成注册鉴权码,然后比较所述生成的注册鉴权码与接收的注册鉴权码是否一致,当上述比较注册鉴权码一致时,则登记注册所述业务注册请求者的业务信息,当上述比较注册鉴权码不一致时,向所述业务注册请求者返回注册失败信息。需要说明的是,当权限认证通过后,还需要根据用户计费策略进行计费处理。
下面结合图4示出的本发明的业务功能模块的第一实施例的结构示意图,详细说明本发明实施例的通信业务系统中的业务功能模块的结构,包括:
第一发送单元41,用于向业务服务器发送业务功能查询请求;
获取单元42,用于获取所述业务服务器根据所述业务功能查询请求生成的调用信息,所述调用信息包含被调用的业务功能模块信息以及令牌信息;
调用单元43,用于根据获取单元42获取的调用信息中被调用的业务功能模块信息向所述被调用的业务功能模块发送调用请求,所述调用请求包含令牌信息,所述令牌信息被所述被调用的业务功能模块用来验证所述调用请求的合法性,并在验证完所述调用请求合法后,被调用的业务功能模块执行业务功能,即可以在验证完所述调用请求合法后被调用的业务功能模块执行业务功能,从而完成对被调用的业务功能模块的业务功能的调用。
具体的,该调用单元43还用于解析获取单元42获取的调用信息,得出被调用的业务功能模块的接口信息以及令牌信息;并根据解析出的接口信息向被调用的业务功能模块发送携带有所述令牌信息的调用请求。
下面结合图5示出的本发明的业务功能模块的第二实施例的结构示意图,进一步说明本发明实施例的业务功能模块的结构包括:
接收单元51,用于接收外部业务功能模块发送的调用请求,所述调用请求包含业务功能查询请求在收到第一业务功能模块发送的业务功能查询请求后发送给第一业务功能模块的调用信息中的令牌信息;
验证单元52,用于根据接收单元51接收的令牌信息验证所述调用请求的合法性,并在验证合法后执行业务功能。
下面结合图6示出的本发明实施例的验证单元的结构示意图,进一步说明本发明实施例的业务功能模块的结构,验证单元52包括:
检测单元61,用于根据接收单元51接收的令牌信息中的有效期信息检测所述调用请求是否在有效期内;
检测处理单元62,用于当检测单元61的检测结果为是时,触发判断单元63进行判断处理,当检测单元61的检测结果为否时,向所述外部业务功能模块发送调用失败信息;
判断单元63,用于判断接收单元51接收的令牌信息中的调用密钥信息是否正确;
判断处理单元64,用于当判断单元63的判断结果为是时,执行业务功能,当判断单元63的判断结果为否时,向所述外部业务功能模块发送调用失败信息。
需要说明的是,在令牌的有效期内,业务功能模块可以多次直接调用需要的业务,不用向业务服务器重新查询以重新获得令牌;如果令牌过期或者调用业务失败,则需要重新向业务服务器获取令牌或取得其它可用的业务信息。
需要说明的是,业务功能模块可以作为调用请求者出现,也可以是作为被调用者身份出现,即图5和图6中的各个功能模块可以同时出现在一个业务功能模块中。
实施上述实施例,通过业务服务器进行查询以及策略控制的处理,即对请求方的业务功能模块的身份和调用权限进行认证,然后由业务功能模块直接进行业务的调用,即采用集中鉴权,分布调用的方法,解决了业务功能模块间的调用过程显得复杂繁琐的问题,简化了调用流程,更加有效地对业务之间的调用进行管理,同时减少业务间调用的开销,提高了用户体验,另外通过设置令牌信息中的有效期信息,可很好地控制业务服务器的负荷,更好地保证了业务间调用的质量;通过本发明实施例,实现了注册安全,有效地避免了攻击者通过注册大量无效业务的方式对业务服务器进行攻击的问题,而且由于只有在策略控制时的鉴权通过后,才能调用业务,即直接拒绝不正确的调用密钥信息的请求,因此避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,可以有效地屏蔽对业务的直接调用的DOS攻击,提高了安全性,满足人们的需求。
请参阅图7示出的本发明实施例的业务调用的实现方法的流程图,说明本发明的业务调用的方法,以第一业务功能模块调用第二业务功能模块的业务为例,包括如下步骤:
步骤S701:发送查询请求;
具体地,第一业务功能模块需要调用第二业务功能模块的业务时,向业务服务器发送业务功能查询请求,该业务功能查询请求包含了第一业务功能模块相关信息,如身份信息、权限信息、所需查询第二业务功能模块相关信息和查询内容等,以查询得到第二业务功能模块的接口地址等信息。
步骤S702:进行身份认证和权限认证;
具体为:业务服务器接收第一业务功能模块发送的查询请求后,对所述业务调用请求者(即第一业务功能模块)的身份和调用权限进行认证,并在所述认证通过后执行步骤703。
步骤S7103:返回调用信息;
即当上述认讧通过后,业务服务器根据所述业务功能查询请求生成调用信息,所述调用信息包含第二业务功能模块信息以及令牌信息,并向第一业务功能模块返回所述调用信息并继续执行步骤704,当上述认证失败后,业务服务器向第一业务功能模块返回调用失败信息,结束流程。
步骤S704:发送调用请求;
具体地,第一业务功能模块接收根据接收的调用信息向第二业务功能模块发送携带有令牌信息的调用请求。
步骤S705:验证合法性,并在验证合法后执行业务功能。
具体地,通过第二业务功能模块根据所述令牌信息在验证所述调用请求合法后执行业务功能,即第一业务功能模块完成对第二业务功能模块的业务调用。
实施上述实施例,通过业务服务器进行查询以及策略控制的处理,然后由业务功能模块直接进行业务的调用,解决了业务功能模块间的调用过程显得复杂繁琐的问题,简化了调用流程,提高了用户体验,而且只有在策略控制时的鉴权通过后,才能调用业务,避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,提高了安全性,满足人们的需求。
下面结合图8示出的本发明实施例的业务服务器进行策略控制的方法流程图,以第一业务功能模块调用第二业务功能模块的业务为例,进一步详细说明本发明实施例的业务调用的实现方法,包括如下步骤:
步骤S801:对所述业务调用请求者进行身份鉴权;
具体地,业务服务器需要对业务调用请求者(即发起查询请求的业务功能模块,本例中为第一业务功能模块)进行身份鉴权,以确定请求调用方是否正确。
步骤S802:判断所述身份鉴权是否通过;
具体地,当所述身份鉴权不通过时,即第一业务功能模块可能由于没有进行登记注册等原因,其身份为非法身份时,执行步骤S805;当所述身份鉴权通过时,执行步骤S803。
步骤S803:对所述业务调用请求者的调用权限进行认证;
具体地,业务服务器需要对业务调用请求者(即本例的第一业务功能模块)的调用权限进行认证,以确定第一业务功能模块是否有调用的权限。
步骤S804:判断所述认证是否通过;
具体地,当所述认证不通过时,执行步骤S805;当所述认证通过时,执行步骤S806。
步骤S805:向所述业务调用请求者返回调用失败信息,结束流程;
步骤S806:根据查询出的被调用的业务功能模块信息生成携带有令牌信息的调用信息。
具体地,当接收到业务功能模块发送的业务功能查询请求后,就可以根据所述查询请求查询出被调用的业务功能模块信息,已备执行后续的生成调用信息过程;或者在接收到业务功能模块发送的业务功能查询请求,并且对所述业务调用请求者的调用权限进行的认证通过后,才可以根据所述查询请求查询出被调用的业务功能模块信息,同时根据查询的信息生成调用信息,生成调用信息的过程,具体地,首先业务服务器根据查询或检索的信息生成访问业务的令牌信息,所述令牌信息包含有效期信息以及调用密钥信息等,密钥生成算法可以为MD5(MD5的输入为被调用模块注册密钥+有效期开始时间+有效期结束时间+调用业务的源IP和端口),也可以为其它密钥生成算法,如密钥生成算法A8等。然后业务服务器把检索的信息以及生成的令牌信息组合成调用信息,即所述调用信息包括调用的功能模块的接口信息以及令牌信息等。
需要说明的是,上述实施例还包括在步骤S804的认证通过后,业务服务器根据用户计费策略进行计费处理,然后执行步骤S806。
下面结合图9示出的本发明实施例的业务功能模块发送调用请求的方法流程图,以第一业务功能模块调用第二业务功能模块为例,进一步详细说明本发明实施例的业务调用的实现方法,包括如下步骤:
步骤S901:解析所述调用信息;
具体地,第一业务功能模块接收到业务服务器发送的调用信息后,对所述调用信息进行解析,得出被调用的业务功能模块(即第二业务功能模块)的接口信息以及令牌信息,所述令牌信息包含有效期信息以及调用密钥信息等。
步骤S902:根据所述接口信息向被调用的业务功能模块发送携带有所述令牌信息的调用请求。
具体地,第一业务功能模块根据第二功能模块的接口信息向第二功能模块发送携带有令牌信息的调用请求。
需要说明的是,上述实施例还包括,第一业务功能模块接收第二业务功能模块返回的调用结果信息,所述调用结果信息为第二业务功能模块根据所述调用请求执行业务功能后返回的调用结果信息。
结合上述实施例以及图10示出的本发明实施例的业务功能模块根据调用请求执行业务功能的方法流程图,进一步详细说明本发明实施例的业务调用的实现方法,包括如下步骤:
步骤S1001:解析所述调用请求,得出令牌信息;
具体地,第二业务功能模块接收到第一功能模块发送的调用请求后,对所述调用请求进行解析,得出令牌信息,所述令牌信息包含有效期信息以及调用密钥信息等。
步骤S1002:根据所述令牌信息的有效期信息检测所述调用请求是否在有效期内;
具体地,当检测结果为是时,执行步骤S1003;当所述检测结果为否时,执行步骤S1005。
步骤S1003:判断所述令牌信息的调用密钥信息是否正确;
具体地,当所述判断结果为是时,执行步骤S1004;当所述判断结果为否时,执行步骤S1005。
步骤S1004:执行业务并返回调用成功信息,结束流程;
步骤S1005:返回调用失败信息。
需要说明的是,在令牌的有效期内,业务功能模块可以多次直接调用需要的业务,不用向业务服务器重新查询以重新获得令牌;如果令牌过期或者调用业务失败,则需要重新向业务服务器获取令牌或取得其它可用的业务信息。
需要说明的是,业务功能模块首次启动时,需要向业务服务器发送注册请求,以完成注册本业务信息,下面结合图11示出的本发明实施例的业务服务器注册登记业务信息的方法流程图,进一步详细说明本发明实施例的业务调用的实现方法,包括如下步骤:
步骤S1101:接收注册请求者发送的携带有注册鉴权码信息的注册请求;
具体地,注册请求者(即某未注册的业务功能模块)向业务服务器发送注册请求,所述注册请求包括本业务功能模块的功能标识,接口地址以及注册鉴权码等信息,其中注册鉴权码可以由MD5(MD5输入为本业务功能模块私钥+随注册请求发送的注册随机数)等算法生成。
步骤S1102:检测所述注册鉴权码是否正确;
具体地,业务服务器利用相同的算法(如上述的MD5算法)生成注册鉴权码,然后比较所述生成的注册鉴权码与接收的注册鉴权码是否一致,当所述检测结果为否时,执行步骤S1103;当所述检测结果为是时,执行步骤S1104;
步骤S1103:向业务功能模块返回登记注册失败信息,结束流程;
步骤S1104:登记注册业务功能模块信息;
步骤S1105:向业务功能模块返回登记注册成功信息。
综上所述,实施本发明实施例,通过业务服务器进行查询以及策略控制的处理,即对请求方的业务功能模块的身份和调用权限进行认证,然后由业务功能模块直接进行业务的调用,即采用集中鉴权,分布调用的方法,解决了业务功能模块间的调用过程显得复杂繁琐的问题,简化了调用流程,更加有效地对业务之间的调用进行管理,同时减少业务间调用的开销,提高了用户体验,另外通过设置令牌信息中的有效期信息,可很好地控制业务服务器的负荷,更好地保证了业务间调用的质量;通过本发明实施例,实现了注册安全,有效地避免了攻击者通过注册大量无效业务的方式对业务服务器进行攻击的问题,而且由于只有在策略控制时的鉴权通过后,才能调用业务,即直接拒绝不正确的调用密钥信息的请求,因此避免了攻击者通过简单的业务频繁调用的方法就可以将业务部件攻垮的问题,可以有效地屏蔽对业务的直接调用的DOS攻击,提高了安全性,满足人们的需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明实施例中的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。