一种控制数据访问的方法及装置制造方法及图纸

技术编号:16472566 阅读:29 留言:0更新日期:2017-10-29 00:15
本发明专利技术公开了一种控制数据访问的方法,所述方法包括:获取数据访问请求;根据所述数据访问请求进行路由判定;基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问。本发明专利技术还同时公开了一种控制数据访问的装置。采用本发明专利技术技术方案,在不影响业务运营支撑(BOSS)系统处理效率的前提下,融合使用内存库直接连接、内存库代理连接两种方式,能实现内存库连接数的有效管控,对BOSS系统的横向扩展提供可靠、必要保障。

Method and device for controlling data access

The invention discloses a method for controlling access to data, the method comprises: obtaining a data access request; according to the data access request routing decision; routing decision result to control the data access request for data access according to the determined access mode based on. The invention also discloses a device for controlling data access. The technical scheme of the invention does not affect the business operation support system (BOSS) under the premise of efficiency, the use of memory is directly connected, fusion library memory database proxy connection in two ways, to achieve effective control of memory database connections, lateral extensions to the BOSS system to provide reliable and necessary guarantee.

【技术实现步骤摘要】
一种控制数据访问的方法及装置
本专利技术涉及业务支撑
,尤其涉及一种控制数据访问的方法及装置。
技术介绍
现有技术中,基于计费数据服务(BDS,BillingDataService)模型的业务运营支撑系统(BOSS,Business&OperationSupportSystem)系统中,内存数据库(简称内存库)装载用户的资料、资费信息、账单信息。因单套主机容量及系统横向扩展(x86演进)要求,以某地市1000万用户为例,需要划分为10个内存库节点,平均每节点装载100万用户的用户资料、账单数据。在计费系统内部的应用程序基于内存库节点部署,每内存库节点部署若干应用进程,如融合计费引擎(CBE,ConvergenceBillingEngine)在线服务、离线采集、分拣、漫游处理、合帐、租费计算、信控、免费资源提醒、账务优惠、批量销账等应用进程;在业务处理上,计费系统会在话单预处理环节根据数据路由机制,将话单分配给对应的内存库节点部署的进程处理。在一般情况下,本内存库节点上的进程在进行数据处理时,只会连接本内存库节点内存进行处理。随着融合业务的演进共享类业务如某几个用户共享一个流量套餐的展开,当共享套餐内的几个用户分布到多个内存库节点上时,假如用户A、B共享1G的流量套餐,同时A、B用户分散到两个内存库节点(Node)1、Node2上,当A用户产生话单/计费消息时,首先由Node1节点对应的应用进行处理,在处理过程中会参考到B用户的账单使用量信息,此时触发了Node1节点的应用程序访问Node2节点的内存库数据。为了保障系统的处理效率,连接一旦建立将持续保持;以内存库单节点部署200套计费处理进程、10套内存库节点为例,单库连接数将达到2000个;而移动计费领域常用的内存数据库OracleTimesTen连接数上限为2048,这在极大程度上限制了计费系统的横向扩展能力,使得移动通信如第四代移动通信技术(4G)业务的高速增长带来的系统扩容遇到瓶颈。图1示出了进行数据处理时访问内存库各节点的示意图,在图1中,虚线双向箭头表示跨库访问带来的连接,其中APP1、APP2、…、APPn表示与计费相关的应用。通过引入数据库代理模式,可以在一定程度上收敛内存库连接数,但是会引起严重的性能问题。图2示出了代理架构与传统架构的对比示意图,如图2所示,在代理架构下,从客户端到内存库之间需要3跳,每跳都需要进行消息的解包、封包;而传统架构下,客户端到内存仅需1跳;通过验证发现,代理架构下的解包、封包、网络数据流转,会使处理效率下降35%以上,采用现行的代理架构面临着性能急剧下降的问题。
技术实现思路
有鉴于此,本专利技术期望提供一种控制数据访问的方法及装置,至少能实现对BOSS系统中内存库连接数的收敛管控。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术公开了一种控制数据访问的方法,所述方法包括:获取数据访问请求;根据所述数据访问请求进行路由判定;基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问。上述方案中,优选地,所述根据所述数据访问请求进行路由判定,包括:从所述数据访问请求中获取用户信息;基于所述用户信息查询本内存库节点的路由信息;其中,所述本内存库为与所述用户信息相匹配的内存库;根据所述路由信息确认所述数据访问请求的数据所在的目标内存库节点;如果目标内存库节点号与本内存库节点号一致,则确定采用直接连接访问模式;如果目标内存库节点号与本内存库节点号不一致,则确定采用代理连接访问模式。上述方案中,优选地,所述获取数据访问请求之前,所述方法还包括:构建数据访问层DAL;其中,应用层通过所述数据访问层与数据层连接;所述数据层包括至少M个内存库,其中,M为正整数;其中,所述数据访问层包括:DAL客户端嵌入组件、DAL分发进程、DAL工作进程、DAL监控进程;所述数据访问层至少用于提供下述支撑:路由管理、事务管理、数据操纵语言DML执行。上述方案中,优选地,确定采用代理连接访问模式时,所述基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问,包括:DAL分发进程接收经由DAL客户端嵌入组件发起的数据访问请求,并将所述数据访问请求转发给DAL工作进程;所述DAL工作进程向目标内存库发起所述数据访问请求,并将数据访问结果转发给DAL分发进程;DAL分发进程将数据访问结果返回给所述DAL客户端嵌入组件。上述方案中,优选地,所述方法还包括:DAL监控进程扫描统计信息登记区;根据进程状态和进程ID判断进程是否异常退出,对异常退出的进程发送重启命令;根据进程状态计算忙闲度,根据忙闲度发送进程增加或减少命令;根据处理开始结束时间判断进程是否僵死,如果僵死,发送重启命令;其中,所述统计信息登记区至少包括:DAL分发进程和DAL工作进程启动时登记的进程ID、启动时间和进程状态,退出时登记的进程ID、退出时间和进程状态;DAL分发进程和DAL工作进程在处理消息时登记的消息处理开始、结束时间,以及处理消息数和应用程序客户端连接数,未进行消息处理时登记的空处理开始、结束时间;DAL工作进程登记的事务开始、结束时间、上次事务提交/回滚时间。本专利技术还提供了一种控制数据访问的装置,所述装置包括:检测模块,用于获取数据访问请求;判断模块,用于根据所述数据访问请求进行路由判定;控制模块,用于基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问。上述方案中,优选地,所述判断模块,还用于:从所述数据访问请求中获取用户信息;基于所述用户信息查询本内存库节点的路由信息;其中,所述本内存库为与所述用户信息相匹配的内存库;根据所述路由信息确认所述数据访问请求的数据所在的目标内存库节点;如果目标内存库节点号与本内存库节点号一致,则确定采用直接连接访问模式;如果目标内存库节点号与本内存库节点号不一致,则确定采用代理连接访问模式。上述方案中,优选地,所述装置还包括:设置模块,用于构建数据访问层DAL;其中,应用层通过所述数据访问层与数据层连接;所述数据层包括至少M个内存库,其中,M为正整数;其中,所述数据访问层包括:DAL客户端嵌入组件、DAL分发进程、DAL工作进程、DAL监控进程;所述数据访问层至少用于提供下述支撑:路由管理、事务管理、DML执行。上述方案中,优选地,所述控制模块,包括:DAL客户端嵌入组件控制单元,用于接受应用程序客户端的调用;DAL分发进程控制单元,用于确定采用代理连接访问模式时,接收经由DAL客户端嵌入组件控制单元发起的数据访问请求,并将所述数据访问请求转发给DAL工作进程控制单元;DAL工作进程控制单元,用于向目标内存库发起所述数据访问请求,并将数据访问结果转发给DAL分发进程控制单元;DAL分发进程控制单元,还用于将数据访问结果返回给所述DAL客户端嵌入组件控制单元。上述方案中,优选地,所述控制模块,还包括:DAL监控进程控制单元,用于:扫描统计信息登记区;根据进程状态和进程ID判断进程是否异常退出,对异常退出的进程发送重启命令;根据进程状态计算忙闲度,根据忙闲度发送进程增加或减少命令;根据处理开始结束时间判断进程是否僵死,如果僵死,发送重启命令;其中,所述统计信息登记本文档来自技高网
...
一种控制数据访问的方法及装置

【技术保护点】
一种控制数据访问的方法,其特征在于,所述方法包括:获取数据访问请求;根据所述数据访问请求进行路由判定;基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问。

【技术特征摘要】
1.一种控制数据访问的方法,其特征在于,所述方法包括:获取数据访问请求;根据所述数据访问请求进行路由判定;基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据访问请求进行路由判定,包括:从所述数据访问请求中获取用户信息;基于所述用户信息查询本内存库节点的路由信息;其中,所述本内存库为与所述用户信息相匹配的内存库;根据所述路由信息确认所述数据访问请求的数据所在的目标内存库节点;如果目标内存库节点号与本内存库节点号一致,则确定采用直接连接访问模式;如果目标内存库节点号与本内存库节点号不一致,则确定采用代理连接访问模式。3.根据权利要求1所述的方法,其特征在于,所述获取数据访问请求之前,所述方法还包括:构建数据访问层DAL;其中,应用层通过所述数据访问层与数据层连接;所述数据层包括至少M个内存库,其中,M为正整数;其中,所述数据访问层包括:DAL客户端嵌入组件、DAL分发进程、DAL工作进程、DAL监控进程;所述数据访问层至少用于提供下述支撑:路由管理、事务管理、数据操纵语言DML执行。4.根据权利要求3所述的方法,其特征在于,确定采用代理连接访问模式时,所述基于路由判定结果控制所述数据访问请求按照所确定的访问模式进行数据访问,包括:DAL分发进程接收经由DAL客户端嵌入组件发起的数据访问请求,并将所述数据访问请求转发给DAL工作进程;所述DAL工作进程向目标内存库发起所述数据访问请求,并将数据访问结果转发给DAL分发进程;DAL分发进程将数据访问结果返回给所述DAL客户端嵌入组件。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:DAL监控进程扫描统计信息登记区;根据进程状态和进程ID判断进程是否异常退出,对异常退出的进程发送重启命令;根据进程状态计算忙闲度,根据忙闲度发送进程增加或减少命令;根据处理开始结束时间判断进程是否僵死,如果僵死,发送重启命令;其中,所述统计信息登记区至少包括:DAL分发进程和DAL工作进程启动时登记的进程ID、启动时间和进程状态,退出时登记的进程ID、退出时间和进程状态;DAL分发进程和DAL工作进程在处理消息时登记的消息处理开始、结束时间,以及处理消息数和应用程序客户端连接数,未进行消息处理时登记的空处理开始、结束时间;DAL工作进程登记的事务开始、结束时间、上次事务提交/回滚时间。6.一种控制数据访问的装置,其特征在于,所述装置包括:检...

【专利技术属性】
技术研发人员:李彩萍姜文平林洁宗鸣刘炼
申请(专利权)人:中国移动通信集团湖北有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1