一种高性能的主备接口机数据处理方法
技术领域
本发明涉及一种数据处理方法,尤其是一种高性能的主备接口机数据处理方法。
背景技术
BOSS(Business&Operation Support System,业务运营支撑系统)系统批量产生受理字符串格式的MML指令的请求文件,并把这些请求文件放到FTP服务器上供接口机读取,接口机读取请求文件并解析MML指令后以消息方式发送到HLR,完成BOSS系统与HLR系统的用户数据交互。HLR对请求进行处理后,通过接口机将请求的返回结果分别生成正确记录结果文件和错误记录结果文件,并把这两类结果文件放置在FTP服务器指定的目录,供BOSS系统读取,BOSS系统读取结果文件,对结果进行分析与回收处理。
当前,在批处理开销户、停复机以及鉴权数据加载等业务场景下,BOSS系统和HLR之间的接口处理能力严重不足,特别是在月初与月末停机和复机时,性能瓶颈严重,极大影响了业务高峰期的业务受理效率,为了提高效率,增强接口机的数据处理能力,专利《基于CORBA接口快速写入的HLR派单装置》提出了一种基于CORBA接口快速写入的HLR派单装置,该装置采用分布式结构,改进HLR派单的多线程处理、工单缓存处理机制,实现基于CORBA方式的HLR接口与基于MML方式HLR接口的主备两套切换机制以及使用基于快速写入的HLR数据一致性稽核机制来提高接口机的数据处理能力,进而提高接口机的数据处理效率,但该专利引入CORBA,使用分布式架构,增加了HLR与BOSS系统的复杂度与开发、部署的技术难度,进一步影响主备接口机的安全、高效切换。因此有必要设计出一种高性能的主备接口机系统以及提高系统的数据处理方法,从而提高接口机的数据吞吐能力,提高BOSS系统与HLR系统间的用户数据交互效率。
发明内容
本发明的目的在于:提供一种高性能的主备接口机数据处理方法,从而提高接口机的数据吞吐能力,提高BOSS系统与HLR系统间的用户数据交互效率。
为了实现上述发明目的,本发明提供了一种高性能的主备接口机数据处理方法,其特征在于,包括如下步骤:
步骤1,设计开发一个控制单元,用于保存解析后的MML命令在批指令文件中的偏移位置;
步骤2,开辟一段文件缓存区,接口机把批指令文件加载到文件缓存区中;
步骤3,开辟一段二级缓存,二级缓存的大小根据BOSS系统与HLR系统交互的高峰数据量的大小确定;
步骤4,解析文件缓存区中的批指令文件内容,把解析得到的MML命令保存在二级缓存中,并把批指令文件的偏移位置记录在控制单元中;
步骤5,根据控制单元中的偏移位置由接口机从二级缓存中读取一条MML命令,以该MML命令为参数,使用hash算法得到该MML命令的Key,并把Key存放在寄存器中;
步骤6,根据控制单元中的偏移位置由接口机从二级缓存中读取下一条MML命令,同样以MML命令为参数,使用hash算法得到该MML命令的Key,再判断该Key是否在寄存器中,如果寄存器中已经存在相同的Key,表示该条命令重复,寄存器不保存这个Key,否则表示该MML命令不重复,把不重复的这条MML命令所对应的Key保存到寄存器中;
步骤7,构建一级缓存,基于步骤6得到新保存的Key对应的MML命令在二级缓存中的序号,把该序号保存在一级缓存中,同时记录一级缓存中该序号的序号位置,把序号位置与新保存的Key构成键值对保存在内存中;
步骤8,循环步骤(6)和(7),直到二级缓存中的MML命令被读取完以及对应的MML命令在二级缓存中的序号被保存到一级缓存中为结束;
步骤9,接口机从一级缓存中批量读取MML命令在二级缓存中的序号,同时记录下该序号在一级缓存中的数据位置,再通过读取的序号得到二级缓存中的MML命令,然后把得到的MML命令与该数据位置进行组合,把组合结果发送到HLR,当HLR返回用户数据后,根据一级缓存中的序号位置,清除其在一级缓存、二级缓存以及寄存器中对应的数据,并把HLR返回的数据写入到正确记录结果文件或错误记录结果文件中;
步骤10,定时把主板接口机的关键数据区核同步到备板接口机的关键数据区核;
步骤11,把正确记录结果文件或错误记录结果文件移到BOSS系统能够访问的FTP服务器的指定路径下;
步骤12,BOSS系统实时扫描该FTP服务器下指定的路径,检查是否有结果文件,如果有,及时取走结果文件;
步骤13,当接口机的主板发生故障时触发主备切换,备板根据最近同步的关键数据区核,通过控制单元中的偏移位置将指令文件处理中的信息进行重新加载,备板根据寄存器、一级缓存、控制单元完整无误的进行BOSS系统与HLR之间的数据交互,完成主备切换后的断点接续功能。
进一步地,步骤10中,定时把主板接口机的关键数据区核同步到备板接口机的关键数据区核的具体步骤为:
步骤10.1,在主板接口机中开启一定时器,在备板接口机中开启一个socket服务线程;
步骤10.2,实时监测接收主板接口机的关键数据区核的数据,主板接口机定时器作为socket客户端,定时把主板关键数据区的数据通过tcp/ip协议传送到备板的socket服务中;
步骤10.3,备板接口机接收到主板传过来的关键数据区核数据,解析后更新备板接口机的关键数据区核。
进一步地,步骤3中,二级缓存的大小大于BOSS系统与HLR系统交互的高峰数据量的大小,缺省缓存大小为10Gbytes。
本发明的有益效果在于:本发明使用一二级缓存机制,利用消息多队列,结合hash算法与“寄存器单元”完成接口机系统对信息的过滤与重排,对数据进行顺序组织,完成BOSS与HLR系统的数据高效交互,同时系统支持主备切换后的用户数据断点续传功能。
附图说明
图1为现有技术中BOSS系统与HLR的数据交互流程;
图2为本发明的种高性能的主备接口机切换系统框架。
具体实施方式
如图1所示,现有的BOSS系统与HLR的数据交互过程是一个典型的批处理单循环过程,流程如下:
(1)BOSS系统批量产生受理字符串格式的MML指令的请求文件;
(2)BOSS系统把MML指令的请求文件推送到FTP服务器上;
(3)接口机检查FTP服务器上是否有请求文件,如果有,进入第(4)步;
(4)接口机打开请求文件;
(5)读取一条MML指令;
(6)接口机解析MML指令;
(7)把指令发送到HLR;
(8)HLR根据MML指令进行内容处理;
(9)HLR把处理结果返回给接口机;
(10)接口机根据结果分别写入正确记录结果文件和错误记录结果文件;
(11)重复(5)~(10),直到请求文件处理完成;
(12)把结果文件放到ftp服务器指定目录;
(13)重复(3)~(12);
(14)BOSS系统从FTP服务器读取结果文件;
(15)BOSS系统对结果文件进行分析与回收处理;
(16)重复(14)~(15)。
如图2所示,本发明的高性能的主备接口机数据处理方法基于的数据处理系统包括控制单元、文件缓存区、寄存器、一级缓存与二级缓存,其中控制单元、寄存器、一级缓存构成关键数据区核,在系统工作时包括如下步骤:
步骤1,设计开发一个控制单元,用于保存解析后的MML命令在批指令文件中的偏移位置;
步骤2,开辟一段文件缓存区,接口机把批指令文件加载到文件缓存区中;
步骤3,开辟一段二级缓存,二级缓存的大小根据BOSS系统与HLR系统交互的高峰数据量的大小确定,二级缓存的大小大于BOSS系统与HLR系统交互的高峰数据量的大小,缺省缓存大小为10Gbytes;
步骤4,解析文件缓存区中的批指令文件内容,把解析得到的MML命令保存在二级缓存中,并把批指令文件的偏移位置记录在控制单元中;
步骤5,根据控制单元中的偏移位置由接口机从二级缓存中读取一条MML命令,以该MML命令为参数,使用hash算法得到该MML命令的Key,并把Key存放在寄存器中;
步骤6,根据控制单元中的偏移位置由接口机从二级缓存中读取下一条MML命令,同样以MML命令为参数,使用hash算法得到该MML命令的Key,再判断该Key是否在寄存器中,如果寄存器中已经存在相同的Key,表示该条命令重复,寄存器不保存这个Key,否则表示该MML命令不重复,把不重复的这条MML命令所对应的Key保存到寄存器中;
步骤7,构建一级缓存,基于步骤6得到新保存的Key对应的MML命令在二级缓存中的序号,把该序号保存在一级缓存中,同时记录一级缓存中该序号的序号位置,把序号位置与新保存的Key构成键值对保存在内存中;
步骤8,循环步骤(6)和(7),直到二级缓存中的MML命令被读取完以及对应的MML命令在二级缓存中的序号被保存到一级缓存中为结束;
步骤9,接口机从一级缓存中批量读取MML命令在二级缓存中的序号,同时记录下该序号在一级缓存中的数据位置,再通过读取的序号得到二级缓存中的MML命令,然后把得到的MML命令与该数据位置进行组合,把组合结果发送到HLR,当HLR返回用户数据后,根据一级缓存中的序号位置,清除其在一级缓存、二级缓存以及寄存器中对应的数据,并把并把HLR返回的数据写入到正确记录结果文件或错误记录结果文件中;
步骤10,定时把主板接口机的关键数据区核同步到备板接口机的关键数据区核,具体步骤为:
步骤10.1,在主板接口机中开启一定时器,在备板接口机中开启一个socket服务线程;
步骤10.2,实时监测接收主板接口机的关键数据区核的数据,主板接口机定时器作为socket客户端,定时把主板关键数据区的数据通过tcp/ip协议传送到备板的socket服务中;
步骤10.3,备板接口机接收到主板传过来的关键数据区核数据,解析后更新备板接口机的关键数据区核;
步骤11,把正确记录结果文件或错误记录结果文件移到BOSS系统能够访问的FTP服务器的指定路径下;
步骤12,BOSS系统实时扫描该FTP服务器下指定的路径,检查是否有结果文件,如果有,及时取走结果文件;
步骤13,当接口机的主板发生故障时触发主备切换,备板根据最近同步的关键数据区核,通过控制单元中的偏移位置将指令文件处理中的信息进行重新加载,备板根据寄存器、一级缓存、控制单元完整无误的进行BOSS系统与HLR之间的数据交互,完成主备切换后的断点接续功能。
基于本发明的高性能的主备接口机数据处理方法,接口机系统完成了多数据并行组织发送,构建的数据区核中的数据量非常小(不到10K bytes),但数据功能非常完备。主备同步时,主备切换过程中把主板上的数据区核同步到备版上将会非常精确、快速且对系统资源的开销非常小。
在同样的硬件与网络设备上,使用同一套BOSS系统的情况下,业务受理台与BOSS系统模拟进行批量受理测试结果:原接口机的吞吐量为53TPS,使用该发明的接口机的吞吐量达到996TPS,性能提高了近18.79倍。显著提高了接口机的数据处理能力,提供了稳定可靠的主备切换功能,支持了主备切换后的用户数据断点接续执行能力,保证了主备切换后用户数据的稳定、高速可靠交互。