一种用于计费业务的数据管理方法及系统的制作方法

文档序号:8319073阅读:267来源:国知局
一种用于计费业务的数据管理方法及系统的制作方法
【技术领域】
[0001] 本发明涉及数据处理领域,尤其涉及一种用于计费业务的数据管理方法及系统。
【背景技术】
[0002] 内存数据库是相对于传统磁盘关系型数据库(如Oracle、SQLServer)而言的。传 统数据库使用磁盘来保证数据的持久存储,而内存数据库将数据常驻内存,所有的事务/ 数据的存取只涉及内存。因此内存数据库相对于传统的关系型数据库,可以达到更高的性 能、更好的实时性。
[0003] 计费业务后台包括采集、批价、优惠、日租、月租以及信控等应用,这些业务对应的 进程在执行过程中往往需要与内存数据库进行交互处理,其交付的数据达G级,进程的许 多数据都存储在内存数据库中,以实现快速处理能力。在内存数据库中,各个进程所处理的 数据相互独立,每个进程独立使用一段内存,需要较大的内存空间。而且,进程在执行各自 的操作时,需要不断重复地访问内存数据库,给处理器造成了较大的操作负担。另外,对内 存数据库的大量重复访问在一定程度上降低了数据处理效率。因此,针对单进程的内存数 据库并不适用于计费业务这种数据量较大、进程较多、且操作繁琐的数据系统。

【发明内容】

[0004] 本发明实施例所要解决的技术问题在于,针对现有技术中计费业务的数据处理效 率较低、需要较大内存空间、且处理器负担较重的缺陷,提供一种用于计费业务的数据管理 方法及系统,可提高数据处理效率,节省内存空间,且能够减轻处理器的负担。
[0005] 为了解决上述技术问题,本发明实施例提供了一种用于计费业务的数据管理方 法,包括:
[0006] 创建由一内存地址表示的共享物理内存,并将所述内存地址直接映射至多个进程 的虚拟地址空间中;
[0007] 将内存数据库中与所述多个进程对应的基本数据和计算数据加载至所述共享物 理内存中,其中,所述计算数据是利用所述计费业务的批价应用或优惠应用对基本数据进 行处理后得到的数据。
[0008] 其中,所述方法还包括:
[0009] 实时地将所述基本数据的变化更新至磁盘中;
[0010] 定时地将所述磁盘内的基本数据的变化同步至所述共享物理内存中。
[0011] 其中,所述方法还包括:
[0012] 在批价应用和/或优惠应用执行后,将所产生的计算数据更新至所述共享物理内 存中;
[0013] 定时地将所述计算数据备份至磁盘中。
[0014] 其中,所述方法还包括:
[0015] 当出现异常时,重新创建一可供所述多个进程访问的共享物理内存;
[0016] 将磁盘中备份的基本数据和计算数据加载至所述共享物理内存中。
[0017] 其中,所述方法还包括:
[0018] 在进程获取与指定共享物理内存的连接后,对访问所述指定共享物理内存的操作 加锁;
[0019] 在进程处理完所述共享物理内存中的基本数据和计算数据后,对访问所述共享物 理内存的操作解锁。
[0020] 相应地,本发明还提供了一种用于计费业务的数据管理系统,包括:
[0021] 共享物理内存生成模块,用于创建由一内存地址表示的共享物理内存,并将所述 内存地址直接映射至多个进程的虚拟地址空间中;
[0022] 加载模块,用于将内存数据库中与所述多个进程对应的基本数据和计算数据加载 至所述共享物理内存中,其中,所述计算数据是利用所述计费业务的批价应用或优惠应用 对基本数据进行处理后得到的数据。
[0023] 其中,所述系统还包括:
[0024] 基本数据更新模块,用于实时地将所述基本数据的变化更新至磁盘中;
[0025] 增量更新模块,用于定时地将所述磁盘内的基本数据的变化同步至所述共享物理 内存中。
[0026] 其中,所述系统还包括:
[0027] 计算数据更新模块,用于在批价应用和/或优惠应用执行后,将所产生的计算数 据更新至所述共享物理内存中;
[0028] 计算数据同步模块,用于定时地将所述计算数据备份至磁盘中。
[0029] 其中,所述系统还包括:
[0030] 异常恢复模块,用于当出现异常时,控制所述共享物理内存生成模块重新创建一 可供所述多个进程访问的共享物理内存,并控制所述更新模块将磁盘中备份的基本数据和 计算数据加载至所述共享物理内存中。
[0031] 其中,所述系统还包括:
[0032] 信号量加锁模块,用于在进程获取与指定共享物理内存的连接后,对访问所述指 定共享物理内存的操作加锁;
[0033] 信号量解锁模块,用于在进程处理完所述共享物理内存中的基本数据和计算数据 后,对访问所述共享物理内存的操作解锁。
[0034] 实施本发明实施例,具有如下有益效果:通过创建共享物理内存,并将计费业务的 多个进程与该共享物理内存进行映射,可以实现多个进程对基本数据等库表数据与计算数 据等处理结果数据的共享,增强了计费业务中数据管理的系统性,提高了计费业务的数据 处理效率,节省了内存空间,且减轻了处理器在执行进程时的操作负担。
【附图说明】
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0036] 图1是本发明第一实施例提供的用于计费业务的数据管理方法的流程图;
[0037] 图2是多进程共享物理内存的原理示意图;
[0038] 图3是本发明一个实施例提供的基本数据的增量更新方法的流程图;
[0039] 图4是本发明第二实施例提供的用于计费业务的数据管理方法的流程图;
[0040] 图5是本发明一优选实施例提供的用于计费业务的数据管理系统的结构示意图。
【具体实施方式】
[0041] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0042] 在计费业务中,对各个进程的库表采用数据缓存,多个库表间耦合性较强的,可统 一定义一个结构体形式进行内存共享应用。加载到共享物理内存的数据信息主要有:用户 资料、账户资料、计费订购资料、批价规则信息、优惠规则信息、日账单信息、信控规则信息、 累计表信息、实时账单信息等。
[0043] 请参见图1,是本发明第一实施例提供的用于计费业务的数据管理方法,该方法包 括:
[0044] S101、创建由一内存地址表示的共享物理内存,并将所述内存地址直接映射至多 个进程的虚拟地址空间中。共享物理内存是由IPC (Inter-process communication,进程 间通信)为一个进程所创建并且出现在这个进程的地址空间中的一段特殊的地址序列,其 他的进程可以将同样的共享物理内存段关联到他们自己的地址空间中,使所有的进程都可 以访问这段内存地址,就如同这段内存是由malloc所分配的。如果一个进程写入共享物 理内存,这些改变立即就可以为访问相同共享物理内存的其他进程所见。一个进程的虚拟 地址空间中可映射多个共享物理内存,每个共享物理内存都有自己的名字(即关键字key)。 在Unix系统下,可以采用shmgetO函数来创建或者获取一个共享物理内存,可以采用 shmctlO函数来实现对共享物理内存的控制。如图2所示,每一个箭头显示的是每一个进 程的虚拟地址空间到可用的共享物理内存的映射。在Unix系统下,可以采用shmatO函数 来映射共享物理内存,可以采用shmdtO函数来撤销对共享物理内存的映射。
[0045] S102、将内存数据库中与所述多个进程对应的基本数据和计算数据加载至所述共 享物理内存中,其中,所述计算数据是利用所述计费业务的批价应用或优惠应用对基本数 据进行处理后得到的数据。所述基本数据包括用户资料、账户资料、计费订购资料、批价规 贝IJ信息、优惠规则信息、日账单信息、信控规则信息等,所述计算数据包括累计表信息、实时 账单信息等。计算数据是利用所述计费业务的批价应用或优惠应用对基本数据进行处理后 得到的数据。优选地,在共享物理内存中,可以采用hash散列数据结构形式来存储数据,便 于更快速进行查询、新增、修改、删除等操作。
[0046] 本发明实施例提供的用于计费业务的数据管理方法,通过创建共享物理内存,并 将计费业务的多个进程与该共享物理内存进行映射,可以实现多个进程对基本数据等库表 数据与计算数据等处理结果数据的共享,增强了计费业务中数据管理的系统性,提高了计 费业务的数据处理效率,节省了内存空间,且减轻了处理器在执行进程时的操作负担。
[0047] 在本发明的实施例中,由于共享物理内存由多个进程共享,为了避免多个进程同 时访问共享物理内存从而造成数据不一致,需要设置互斥访问机制。信号量是
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1