基于异构计算的MMTel应用服务器、会话系统及方法
技术领域
本发明涉及IMS网络领域,具体地说是基于异构计算的MMTel应用服务器、会话系统及方法。
背景技术
IMS(英文全称为IP Multimedia Subsystem,中文翻译为IP多媒体子系统)是一种全新的多媒体业务形式,它能够满足现在的终端客户更新颖、更多样化多媒体业务的需求。
MMTel(MultiMedia Telephony)是由ETSI/TISPAN和3GPP两大标准化组织联合开发的基于IMS的多媒体电话业务标准,是一个全球标准规范,支持电信运营商将传统的电路交换业务演进为基于IP的实时多媒体电话业务,包括话音和视频呼叫、消息业务和视频图像共享等,同时支持固定和移动宽带接入。MMTel应用服务器时IMS网络的核心网元,通过RF接口与IMS网络中的计费网元相连接,通过SH接口与HSS(英文全称为Home SubscriberServer,中文翻译为归属签约用户服务器)服务器相连,并通过发送UDR/PUR消息至HSS服务器获取用户数据。
异构计算主要是指使用不同体系的计算单元(CPU、GPU、FPGA等)组成计算系统的方式。专有的计算单元工作频率较低,但是具备更高的并行计算能力,总体性能和功耗较低。
在IMS网络中,当用户发起注册时,用户数据从HSS上下载至MMTel应用服务器中并存储至MMTel应用服务器的RDB模块中,当用户发起呼叫时,直接读取RDB模块中存储的用户数据进行呼叫业务处理,数据存储得不到安全保护,用户数容易被篡改。
可以通过加密的方式,对终端用户数据进行加密保护,保证用户数据用户数据存储在本地的安全性。同时由于数据加密和解密非常消耗CPU的性能,特别是在大规模呼叫并发中,频繁的读取数据,系统CPU上升导致告警,出现呼损。
如何同时保证数据存储的安全性以及MMTel应用服务器的可靠性,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于异构计算的MMTel应用服务器、会话系统及方法,来解决如何同时保证数据存储的安全性以及MMTel应用服务器的可靠性的问题。
本发明的技术任务是按以下方式实现的:
基于异构计算的MMTel应用服务器,包括呼叫控制服务器和数据存储服务器,数据存储服务器包括RDB模块和具备异构计算的FPGA芯片,呼叫控制服务器、RDB模块和FPGA(英文全称为Field Programmable Gate Array,中文翻译为现场可编程逻辑门阵列)芯片依次连接;呼叫控制服务器用于接收并处理来自用户终端的请求消息以及来自HSS服务器的用户数据; RDB模块用于接受用户数据并调用OpenCL(英文全称为Open Computing Language,中文翻译为开放运算语言,是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成)接口将用户数据传入FPGA芯片以及存储加密后的用户数据;FPGA芯片作为异构加速器,通过PCIE接口与CPU连接,用于对用户数据进行加密计算和解密计算。
其中,RDB模块为用户数据存储模块,接收到用户数据后,将用户数据传入FPGA芯片进行加密计算,FPGA芯片将加密后的用户数据返回RDB模块进行存储。
进一步的,请求信息包括注册请求消息和呼叫请求消息。
基于异构计算的会话系统,包括用户终端和IMS网络,IMS网络包括P/S-CSCF模块、MMTel应用服务器和HSS服务器,所述MMTel应用服务器为如上述任一项所述的基于异构计算的MMTel应用服务器,用户终端、P/S-CSCF模块和MMTel应用服务器中的呼叫控制服务器依次连接,MMTel应用服务器中的呼叫控制服务器通过SH接口与HSS服务器连接,上述能够完成用户注册;用户终端、P/S-CSCF模块和MMTel应用服务器中的呼叫控制服务器依次连接,上述能够完成用户呼叫。
其中,CSCF(英文全称为Call Session Control Function,中文翻译为呼叫会话控制功能)是IP多媒体子系统(IMS:IP Multimedia Subsystem)内部的功能实体,是整个IMS网络的核心。主要负责处理多媒体呼叫会话过程中的信令控制。它管理IMS网络的用户鉴权、IMS承载面QoS、与其它网络实体配合进行SIP会话的控制,以及业务协商和资源分配等。CSCF根据功能分为代理CSCF(P-CSCF:Proxy CSCF ),查询CSCF(I-CSCF:InterrogatingCSCF),服务CSCF(S-CSCF:Serving CSCF),紧急CSCF(E-CSCF: Emergency CSCF),本质上它们都是SIP服务器,处理SIP信令。P-CSCF是IMS拜访网络的统一入口点。所有发起于IMS终端和终止于IMS终端的会话消息都要通过P-CSCF。P-CSCF作为一个SIP Proxy,负责与接入网络相关的用户鉴权与IPSec管理,网络防攻击与安全保护,为节约无线网络资源进行SIP信令压缩与解压,用户的漫游控制,通过PDF(Policy Decision Function)进行承载面的NAT与QoS等功能等。主要功能包括:转发UE发来的SIP注册请求给I-CSCF,由UE提供的域名决定I-CSCF;转发UE发来的SIP消息给S-CSCF,由P-CSCF在UE发起注册流程时确定S-CSCF。S-CSCF在IMS网络会话控制中处于核心地位,它接受来自拜访网络通过P-CSCF转发来的注册请求,与HSS配合进行用户鉴权。并从HSS处下载用户签约的业务数据。S-CSCF对于用户主叫及被叫侧进行路由管理,根据用户签约的初始过滤规则(IFC:Initial Filter Criteria),进行SIP AS触发,实现丰富的IMS业务功能。主要功能包括:注册功能,接收注册请求后,通过HSS使注册请求生效;消息流处理,控制已注册的会话终端,可作为Proxy-Server,接收请求后,进行内部处理或转发,也可作为UA,中断或发起SIP事务;与业务平台进行交互,提供多媒体业务。
基于异构计算的会话方法,在IMS网络中配置如上述任一项所述的基于异构计算的MMTel应用服务器,在执行用户注册流程中,用户数据从HSS服务器下载至RDB模块中,RDB模块通过调用OpenCL接口将用户数据传入FPGA芯片中进行加密存储;在执行用户呼叫流程中,RDB模块调用OpenCL接口将加密后的用户数据传入FPGA芯片进行解密计算,并向呼叫控制服务器发送解密后的用户数据。
其中,在用户注册流程中,通过FPGA芯片对用户数据进行加密,RDB模块汇中存储加密后的用户数据;在用户呼叫流程中,通过FPGA芯片对加密后的用户数据进行解密,并将解密后的用户数据返回RDB模块中 ,RDB模块将解密后的用户数据传入呼叫控制服务器。
进一步的,用户注册流程包括如下步骤:
S1、用户终端向IMS网络发起Registe消息后,呼叫控制服务器向HSS服务器发送携带有用户的IMPU的UDR/PUR请求消息;
S2、HSS服务器向呼叫控制服务器返回UDA/PUA响应消息,呼叫控制服务器获取用户数据;
S3、呼叫控制服务器通过PUT_User_Data消息将用户数据发送至RDB模块中;
S4、RDB模块通过调用OpenCL接口clEnqueueNDRange函数传入待加密的用户数据参数和核函数将用户数据传入FPGA芯片进行加密计算;
S5、FPGA芯片将加密后的用户数据返回RDB模块存储。
进一步的,步骤S1中,用户终端向IMS网络服务器发起注册请求,呼叫控制服务器接收到来自P/S-CSCF模块的Registe消息后,在本地构造UDR/PUR请求消息,并通过SH接口将UDR/PUR请求消息传入HSS服务器;所述Registe消息携带有用户的注册时间,所述UDR/PUR请求消息携带有用户的IMPU。
进一步的,步骤S2中,HSS服务器通过UDA/PUA响应消息整体或者分段将用户数据发送至呼叫控制服务器中,呼叫控制服务器接收到UDA/PUA响应消息后,将Registe消息携带的用户的注册时间更新至本地。
进一步的,用户呼叫流程包括如下步骤:
L1、用户终端向IMS网络发起Invite消息后,呼叫控制服务器向RDB模块发送Invite消息,所述Invite消息携带有用户的IMPU;
L2、RDB模块通过调用OpenCL接口clEnqueueNDRange函数传入待解密的用户数据参数和核函数将加密后的用户数据传入FPGA芯片进行解密计算;
L3、RDB模块将解密后的用户数据发送至呼叫控制服务器。
本发明的一种大数据多应用搜索服务方法及系统具有以下优点:将FPGA芯片的异构计算引入MMTel应用服务器的数据存储中,对存储的用户数据进行加密存储,保证数据存储的安全性,同时基于FPGA芯片具有低功耗、动态重构、并行处理和高吞吐量的优势,能够降低CPU的占用率,防止出现呼损,增加呼叫接通率,提高整个MMTel应用服务器的可靠性。
附图说明
下面结合附图对本发明进一步说明。
附图1为实施例1基于异构计算的MMTel应用服务器的工作原理框图;
附图2为实施例3基于异构计算的会话方法中用户注册流程的工作原理框图;
附图3为实施例3基于异构计算的会话方法的用户呼叫工作流程的工作原理框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于异构计算的MMTel应用服务器、会话系统及方法以下详细地说明。
实施例1:
如附图1所示,本发明的基于异构计算的MMTel应用服务器,包括呼叫控制服务器和数据存储服务器,数据存储服务器包括RDB模块和具备异构计算的FPGA芯片,呼叫控制服务器、RDB模块和FPGA芯片依次连接;呼叫控制服务器用于接收并处理来自用户终端的请求消息以及来自HSS服务器的用户数据; RDB模块用于接受用户数据并调用OpenCL接口将用户数据传入FPGA芯片以及存储加密后的用户数据; FPGA芯片作为异构加速器,通过PCIE接口与CPU连接,用于对用户数据进行加密计算和解密计算。
其中,呼叫控制服务器能够接收用户终端发起的Registe消息以及Invite消息,呼叫控制服务器接收到Registe消息后,能够在本地构造UDR/PUR请求消息并将UDR/PUR请求消息发送至HSS服务器,并能够接收来自HSS服务器的用户数据,并能够像RDB模块发送数据请求消息,将用户数据传送至RDB模块进行存储。
RDB模块能够接收用户数据、调用OpenCL接口将用户数据传入FPGA芯片进行加密接并存储加密后的用户数据,以及能够接收来自呼叫控制服务器的数据请求消息,能够调用OpenCL接口将加密后的用户数据传入FPGA芯片进行解密并接收解密后的用户数据。
FPGA芯片能够接收来自RDB模块的用户数据并对用户数据进行加密,以及能够接收来自RDB模块的加密后的用户数据并对加密后的用户数据进行解密。
本发明的基于异构计算的MMTel应用服务器可应用于IMS网络中,用户终端向IMS网络发起注册请求时,HSS服务器中下载的用户数据可存储在该MMTel应用服务器中的RDB模块中,并通过FPGA芯片对用户数据进行加密,使得MMTel应用服务器中的RDB模块中存储的用户数据为加密后的用户数据;
用户终端向IMS网络发起呼叫请求时,该MMTel应用服务器中通过FPGA芯片对RDB模块中存储的用户数据进行解密,RDB模块将解密后的用户数据发送至呼叫控制服务器。
实施例2:
本发明的基于异构计算的会话系统,包括用户终端和IMS网络,IMS网络包括P/S-CSCF模块、MMTel应用服务器和HSS服务器,所述MMTel应用服务器为实施例1中的基于异构计算的MMTel应用服务器,用户终端、P/S-CSCF模块和MMTel应用服务器中的呼叫控制服务器依次连接,MMTel应用服务器中的呼叫控制服务器通过SH接口与HSS服务器连接,上述能够完成用户注册;用户终端、P/S-CSCF模块和MMTel应用服务器中的呼叫控制服务器依次连接,上述能够完成用户呼叫。
其中,在用户注册中,用户终端发起注册请求,P/S-CSCF模块能够接收来自用户终端的Registe消息并将Registe消息传入呼叫控制服务器;呼叫控制服务器能够接收Registe消息后构造本地UDR/UDA消息并将UDR/UDA消息发送至HSS服务器,以及能够接收来自HSS服务器的用户数据并将用户数据传入至RDB模块进行存储;RDB模块能够调用OpenCL接口将用户数据传入FPGA芯片进行加密计算并存储经FPGA芯片加密后的用户数据。
在用户呼叫中,用户终端发起呼叫请求,P/S-CSCF模块能够接收来自用户终端的Invite消息并将Invite消息传入呼叫控制服务器;呼叫控制服务器能够接收Invite消息后向RDB模块发送数据请求消息;RDB模块能够通过调用OpenCL接口将其存储的加密后的用户数据传入FPGA芯片进行解密,并能够将解密后的用户数据传入呼叫控制服务器。
本发明的基于异构计算的会话系统可实现用户的注册和呼叫,在用户注册时,对用户数据进行加密存储,在用户呼叫时对加密后的用户数据解密。
实施例3:
本发明的基于异构计算的会话方法,在IMS网络中配置如上述任一项所述的基于异构计算的MMTel应用服务器,在执行用户注册流程中,用户数据从HSS服务器下载至RDB模块中,RDB模块通过调用OpenCL接口将用户数据传入FPGA芯片中进行加密存储;在执行用户呼叫流程中,RDB模块调用OpenCL接口将加密后的用户数据传入FPGA芯片进行解密计算,并向呼叫控制服务器发送解密后的用户数据。
其中,用户注册流程包括如下步骤:
(1)、用户终端向IMS网络中的P/S-CSCF模块发送Registe消息,Registe消息携带有用户的注册时间;
(2)、P/S-CSCF模块将Registe消息发送至呼叫控制服务器;
(3)、呼叫控制服务器在本地构造UDR请求消息,并通过SH接口将UDR请求消息传入HSS服务器, UDR请求消息携带有用户的IMPU;
(4)、HSS服务器通过UDA响应消息整体或者分段将用户数据发送至呼叫控制服务器中;
(5)、呼叫控制服务器接收到UDA响应消息后,将Registe消息携带的用户的注册时间更新至本地,并通过PUT_User_Data_Req消息将用户数据发送至RDB模块中;
(6)、RDB模块通过调用OpenCL接口clEnqueueNDRange函数传入待加密的用户数据参数和核函数将用户数据传入FPGA芯片进行加密计算;
(7)、FPGA芯片对用户数据加密后,通过调用OpenCL接口
clEnqueueMapBuffer函数将加密后的用户数据返回RDB模块;
(8)、RDB模块存储加密后的用户数据后,向呼叫控制服务器发送
PUT_User_Data_Rsp消息响应;
(9)、呼叫控制服务器向P/S-CSCF模块发送200 OK响应消息,告知用户数据加密存储;
(10)、P/S-CSCF模块向用户终端发送200 OK响应消息,告知用户数据加密存储。
用户呼叫流程包括:
(1)、用户终端向IMS网络中的P/S-CSCF模块发送Invite消息,Invite消息携带有用户的IMPU;
(2)、P/S-CSCF模块将Invite消息发送至呼叫控制服务器;
(3)、呼叫控制服务器向RDB模块发送Get_User_Data_Req消息,向RDB模块请求读取用户数据;
(4)、RDB模块接收到Get_User_Data_Req消息后,通过调用OpenCL接口clEnqueueNDRange函数传入待解密的用户数据参数和核函数将加密后的用户数据传入FPGA芯片进行解密计算;
(5)、FPGA芯片对加密后的用户数据解密后,通过调用OpenCL接口
clEnqueueMapBuffer函数将解密后的用户数据返回RDB模块;
(6)、RDB模块接收到解密后的用户数据后,通过向呼叫控制服务器发送Get_User_Data_Req消息,将解密后的用户数据传入呼叫控制服务器;
(7)、呼叫控制服务器获取用户数据后,向P/S-CSCF模块发送200 OK消息,确认读取用户数据成功;
(8)、P/S-CSCF模块向用户终端发送200 OK消息,确认呼叫成功。
本实施例中,用户注册流程中,步骤(3)中,呼叫控制服务器在本地构造UDR请求消息,对应的,步骤(4)中HSS服务器通过UDA响应消息整体或者分段将用户数据发送至呼叫控制服务器中。在实际应用中,步骤(3)中,呼叫控制服务器在本地构造PUR请求消息,对应的,步骤(4)中HSS服务器通过PUA响应消息整体或者分段将用户数据发送至呼叫控制服务器中。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述公开的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。