CN101986649B - 应用于电信行业计费***的共享数据中心 - Google Patents
应用于电信行业计费***的共享数据中心 Download PDFInfo
- Publication number
- CN101986649B CN101986649B CN201010564776.8A CN201010564776A CN101986649B CN 101986649 B CN101986649 B CN 101986649B CN 201010564776 A CN201010564776 A CN 201010564776A CN 101986649 B CN101986649 B CN 101986649B
- Authority
- CN
- China
- Prior art keywords
- shared
- memory space
- data center
- data
- shared data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种应用于电信行业计费***的共享数据中心,包括:共享数据中心服务器端,具有可动态扩展的用来存储共享数据的共享内存空间,共享内存空间可从数据库加载共享数据,加载的共享数据按指定数据结构在该共享内存空间内进行组织,共享内存空间内的共享数据根据变化自动更新,使用读写锁保证共享内存空间的读写安全;共享数据中心客户端,其提供应用程序接口供作为访问者的应用程序调用,共享内存空间映射到应用程序本身的内存空间,应用程序根据所述指定数据结构从应用程序本身的内存空间中查找共享数据。本发明针对电信行业的数据特征在存储方式和查找算法上进行优化,满足高效率查询的同时降低内存消耗。
Description
技术领域
本发明涉及共享数据中心,尤其涉及一种应用于电信行业计费***的共享数据中心。
背景技术
目前,电信行业主要采用通用内存数据库,如TimesTen、Altibase等来管理计费***中的共享数据。在现有直接使用通用内存数据库来管理共享数据的方式下:因为采用的是通用内存数据库,所以限制了其单独针对电信行业特点进行优化;资源占用率高,内存有额外消耗,数据查询效率低且内存消耗大;启动加载速度慢,从异常中恢复时间长,不能满足电信行业需要。
发明内容
因此,本发明的目的在于提供一种应用于电信行业计费***的共享数据中心,其可以在在满足高效率查询的同时降低内存消耗。
为实现上述目的,本发明提供一种应用于电信行业计费***的共享数据中心,包括:共享数据中心服务器端,其具有可动态扩展的用来存储共享数据的共享内存空间,该共享内存空间可从数据库加载共享数据,加载的共享数据按方便查找的指定数据结构在该共享内存空间内进行组织,共享内存空间内的共享数据根据来源于数据库和共享数据中心客户端的共享数据变化自动更新,使用读写锁保证共享内存空间的读写安全;共享数据中心客户端,其提供应用程序接口供作为访问者的应用程序调用,所述共享内存空间映射到应用程序本身的内存空间,应用程序根据所述指定数据结构从应用程序本身的内存空间中查找共享数据。
其中,所述共享数据中心服务器端使用多级本地文件缓存实时保存共享内存空间的映像,当该共享数据中心重新启动时,可选择从该多级本地文件缓存加载共享数据至所述共享内存空间。
其中,所述读写锁使用信号灯实现。
其中,所述指定数据结构为散列、单词树或平衡二叉树中的一种或若干种。
其中,所述共享内存空间中内存的真实物理地址采用虚拟指针信息和超级块信息结合的方式表示。
综上,本发明应用于电信行业计费***的共享数据中心针对电信行业的数据特征在存储方式和查找算法上进行优化,满足高效率查询的同时降低内存消耗;使用多级本地文件缓存,实时保存内存映像,重新启动速度很快。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。
附图中,
图1为本发明应用于电信行业计费***的共享数据中心的模块结构示意图;
图2为本发明应用至NGBSS中的BILLING部分的示意图。
具体实施方式
参见图1,其为本发明应用于电信行业计费***的共享数据中心的模块结构示意图。本发明的应用于电信行业计费***的共享数据中心,包括:共享数据中心服务器端1和共享数据中心客户端2,共享数据中心服务器端1与存储有共享数据的数据库3通讯连接,共享数据中心客户端2与作为访问者的应用程序5通讯连接。共享数据中心服务器端1和共享数据中心客户端2是按两者在数据共享过程中的功能命名,可以是计算机网络中的服务器端和客户端,也可以是功能模块中的服务器端和客户端,也就是说共享数据中心服务器端1和共享数据中心客户端2可以位于同一计算机上,也可以分别位于不同的计算机上。数据库3用于存储电信行业计费***的共享数据,例如客户资料、业务规划等这些在计费过程中需要共享使用的数据,数据库3可以是现有采用TimesTen或Altibase的通用内存数据库。应用程序5指电信行业计费***中需要访问共享数据的各类业务进程,例如设置于电信营业厅中供人操作的业务终端以及其上运行的各种业务界面,具体如批价、累帐、优惠业务等。
共享数据中心服务器端1具有可动态扩展的用来存储共享数据的共享内存空间11,该共享内存空间11可从数据库3加载共享数据,加载的共享数据按方便查找的指定数据结构在该共享内存空间11内进行组织,共享内存空间11内的共享数据根据来源于数据库3和共享数据中心客户端2的共享数据变化自动更新,使用读写锁12保证共享内存空间11的读写安全;共享数据中心客户端2,其提供应用程序接口21供作为访问者的应用程序5调用,所述共享内存空间11映射到应用程序5本身的内存空间51,应用程序5根据所述指定数据结构从本身的内存空间51中查找共享数据。也就是说,在共享数据中心服务器端1,首先开辟初始的共享内存空间11,并根据使用情况动态扩展共享内存空间11;从数据库3加载数据;对共享数据按指定数据结构在共享内存空间11内进行组织以方便查找;自动更新共享内存空间11中的数据;提供读写锁12对共享数据中心服务器端1和共享数据中心客户端2的动作进行同步。在共享数据中心客户端,提供一组应用程序接口(API)21供访问者调用;将共享内存空间11映射到应用程序5本身的内存空间51,依据指定条件从本身的内存空间51中查找数据。
本发明的共享数据中心服务器端1还可以使用多级本地文件缓存4实时保存共享内存空间11的映像,当共享数据中心重新启动时,除可选择从数据库3加载共享数据外,也可选择从多级本地文件缓存4加载共享数据至共享内存空间11。多级本地文件缓存4由共享数据中心服务器端1实现,是从数据库3加载完成后以及实时更新数据过程中,创建或修改的本地文件缓存,其方法是将共享内存空间11内部组织完成后的内存镜像DUMP(复制)到本地磁盘上,多级是表示缓存文件按时间分为基础文件、增量文件。重新启动或异常启动时首选从多级本地文件缓存4恢复数据,多级本地文件缓存4通过对文件头的校验信息保证文件的版本正确、完整性和及时性。在再次启动时优先从本地磁盘上进行加载而不是再从数据库3加载,可以避免更大的I/O开销和重新组织数据的开销。通过使用多级本地文件缓存4,实时保存内存映像,重新启动速度很快,可比第一次从数据库启动提高15至20倍。
共享内存空间11内组织共享数据的指定数据结构可以为散列、单词树或平衡二叉树中的一种或若干种。通过内置HASH(散列)、TRIE TREE(单词树)、AVL TREE(平衡二叉树)等算法,可以针对电信行业的数据特征在存储方式和查找算法上进行优化,在满足高效率查询的同时降低内存消耗。
本发明的共享数据中心还可以提供各种辅助工具,例如:1)共享内存空间查看器,用来查看共享内存中的数据情况;2)共享数据中心服务器端操作工具,用来对指定数据对象重新刷新;3)性能调试器,收集特定数据对象查询效率指标并进行分析,给出供参考的算法。
读写锁12可以使用信号灯实现,例如Linux所支持的***5(SYSTEMV)的信号灯(semaphore)。信号灯主要用于同步或者互斥对共享资源的访问,它的发明来源于火车运行***中的“信号灯”,利用信号灯可以实现“PV操作”这种进程间同步机制。P操作是获得资源,将信号灯的值减1,如果结果不为负则执行完毕,进程获得资源,否则进程睡眠以等待资源别的进程释放资源;V操作则是释放资源,给信号灯的值加1,释放一个因执行P操作而等待的进程。在本发明中,采用信号灯主要达到保证数据一致性的目的:1)确保任一时刻仅有一个写者在更改共享内存空间;2)确保在读共享内存空间的同一时刻没有写者在更改同一片共享内存空间;3)支持多个读者并行处理;4)确保写者优先。读写锁12由共享数据中心服务器端1创建,共享数据中心客户端2提供操作读写锁12的接口,这样客户端可以在读写前操作读写锁保证读写安全。
获取读锁的具体过程可如下所示:
1)判断写操作排队锁是否为零,如果不为零则阻塞等待写结束。
2)获取读锁(读者数量加一)。
3)读操作。
4)释放读锁(读者数量减一)。
获取写锁的具体过程可如下所示:
1)写操作排队锁加一。
2)读者数量是否为零,如果不为零则阻塞等待。
3)获取写锁。
4)写操作。
5)释放写锁。
6)写操作排队锁减一。
共享内存空间11中内存的真实物理地址采用虚拟指针信息和超级块信息结合的方式表示。虚地址由三部分组成:块、页、页内偏移,使用SUPERBLOCK(超级块)来保存寻址相关的必要基础数据(内存块数、内存块首地址、页表),采用这样的寻址方法是提高内存使用率、减少内存碎片及动态扩展共享内存段的基础。
共享内存空间11的寻址方法具体说明如下:
1、采用虚拟指针,通过虚拟指针配合SUPER BLOCK(超级块)中的信息可以确定其指向的真实物理地址。
2、在共享内存空间11中对数据进行组织,可能应用到各种各样的数据结构,如数组、平衡二叉树、HASH表,TRIE树等。举例来说,平衡二叉树每个节点需要两个指针指向左右两个节点,其节点定义可能是如下形式:
Struct node
{
TDATA data;
vaddr left;
vaddr right;
}
其中left和right两个成员的类型就是虚拟指针。其他数据结构,包括数组在共享内存空间11内部也是靠虚拟指针表示其地址的。
3、虚拟指针由8个字节共64个BIT构成,前8个BIT表示内存块序号(一个共享内存空间11可能由多个内存块构成),其后24个BIT用于表示页序号(一个内存块由N个页构成),最后32个BIT用于表示页内偏移。
4、在SUPER BLOCK(超级块)中记录了该共享内存空间11包含几个内存块,每个内存块的首地址,每个内存块包含多少个内存页,内存页的大小(一个内存块中内存页的大小是固定的)。
5、虚拟指针信息+超级块信息=真实物理地址,从而完成在共享内存空间11内部寻址的过程。
6、该寻址算法被封装在底层,所有涉及共享内存空间11的操作都会应用到。在共享数据中心服务器端1来说,加载数据、组织索引都会用到虚拟寻址;在共享数据中心客户端2来说,不论读写,在查询定位时都会用到虚拟寻址;只要涉及到共享内存空间11内部数据的操作都会经过虚拟寻址。
如图2所示,其为本发明具体应用至NGBSS(New Generation BusinessSupport System,新一代运营支撑***)中的BILLING(计费)部分的示意图,现有的NGBSS中的BILLING部分均可以采用图2所示的架构实现。共享数据中心10从包括业务规划31和客户资料32的数据库中加载客户资料和业务规则(包括三户资料、套餐规则等)至由只读内存区111和读写内存区112组成的共享内存空间,并进行索引组织。计费部分的运行调度框架50下包括采集、向导、批价、累帐、优惠、信控、出帐等业务进程,这些业务进程内建共享数据中心客户端(以对象实例的形式体现),通过共享数据中心客户端对象提供的接口22访问共享数据中心10内的数据,对数据进行包括数据更新和数据获取在内的读写操作。使用数据40作为存储多级本地文件缓存的数据库,实时保存内存映像,使得共享数据中心10重新启动速度很快。在此具体应用中,共享数据中心10还提供了共享数据中心工具包13,其由独立的一系列辅助功能模块构成,包括数据定制、数据刷新、数据持久、快速恢复、业务调整、调试工具、性能分析及服务调整等模块,本身不介入业务主流程,主要目的是提供便利的人机界面。
综上,本发明应用于电信行业计费***的共享数据中心针对电信行业的数据特征在存储方式和查找算法上进行优化,满足高效率查询的同时降低内存消耗;使用多级本地文件缓存,实时保存内存映像,重新启动速度很快。
以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明后附的权利要求的保护范围。
Claims (3)
1.一种应用于电信行业计费***的共享数据中心,其特征在于,包括:
共享数据中心服务器端,其具有可动态扩展的用来存储共享数据的共享内存空间,该共享内存空间从数据库加载共享数据,加载的共享数据按方便查找的指定数据结构在该共享内存空间内进行组织,共享内存空间内的共享数据根据来源于数据库和共享数据中心客户端的共享数据变化自动更新,使用读写锁保证共享内存空间的读写安全;
共享数据中心客户端,其提供应用程序接口供作为访问者的应用程序调用,所述共享内存空间映射到应用程序本身的内存空间,应用程序根据所述指定数据结构从应用程序本身的内存空间中查找共享数据;
共享内存空间查看器,用来查看共享内存空间中的数据情况;
共享数据中心服务器端操作工具,用来对指定数据对象重新刷新;
性能调试器,收集特定数据对象查询效率指标并进行分析,给出供参考的算法;
所述共享数据中心服务器端使用多级本地文件缓存实时保存共享内存空间的映像,当该共享数据中心重新启动时,选择从该多级本地文件缓存加载共享数据至所述共享内存空间,所述多级本地文件缓存为由共享数据中心服务器端从数据库加载完成后以及实时更新数据过程中,创建或修改的本地文件缓存,所述多级本地文件缓存的实现方法是将共享内存空间内部组织完成后的内存镜像复制到共享数据中心服务器端的本地磁盘上,重新启动或异常启动时首选从多级本地文件缓存恢复数据,所述多级本地文件缓存通过对文件头的校验信息保证文件的版本正确、完整性和及时性;
读写锁通过使用信号灯实现,利用所述信号灯来实现“PV操作”进程间同步机制,其中,PV操作中的P操作是获得资源,将信号灯的值减1,如果结果不为负则执行完毕,进程获得资源,否则进程睡眠以等待别的进程释放资源;PV操作中的V操作则是释放资源,给信号灯的值加1,释放一个因执行P操作而等待的进程。
2.如权利要求1所述的应用于电信行业计费***的共享数据中心,其特征在于,所述指定数据结构为散列、单词树或平衡二叉树中的一种或若干种。
3.如权利要求1所述的应用于电信行业计费***的共享数据中心,其特征在于,所述共享内存空间中内存的真实物理地址采用虚拟指针信息和超级块信息结合的方式表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010564776.8A CN101986649B (zh) | 2010-11-29 | 2010-11-29 | 应用于电信行业计费***的共享数据中心 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010564776.8A CN101986649B (zh) | 2010-11-29 | 2010-11-29 | 应用于电信行业计费***的共享数据中心 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101986649A CN101986649A (zh) | 2011-03-16 |
CN101986649B true CN101986649B (zh) | 2014-01-15 |
Family
ID=43710952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010564776.8A Active CN101986649B (zh) | 2010-11-29 | 2010-11-29 | 应用于电信行业计费***的共享数据中心 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101986649B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790683A (zh) * | 2011-05-16 | 2012-11-21 | 北大方正集团有限公司 | 一种实时行情数据处理方法、服务器及*** |
CN102722405B (zh) * | 2012-06-06 | 2015-05-13 | 新浪网技术(中国)有限公司 | 高并发、多线程应用中的计数方法及*** |
CN103136025B (zh) * | 2013-02-04 | 2016-08-03 | 深圳市硅格半导体有限公司 | 多级加载程序的方法和装置 |
CN106708825B (zh) * | 2015-07-29 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种数据文件处理方法及*** |
CN106469155A (zh) * | 2015-08-17 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基础数据处理方法、装置及*** |
CN105787083A (zh) * | 2016-03-02 | 2016-07-20 | 深圳市元征科技股份有限公司 | 数据处理方法及装置 |
CN106205080A (zh) * | 2016-08-26 | 2016-12-07 | 爱普(福建)科技有限公司 | 一种人机界面修改报警限值的方法以及*** |
CN107862097A (zh) * | 2017-12-21 | 2018-03-30 | 上海新炬网络技术有限公司 | 一种基于TimesTen内存库的表数据智能清理方法 |
CN109298953B (zh) * | 2018-08-29 | 2021-12-10 | 北京机电工程研究所 | 一种共享内存数据读写的装置和方法 |
CN111143357A (zh) * | 2019-12-13 | 2020-05-12 | 江苏未来智慧信息科技有限公司 | 一种基于共享内存的高速数据查询平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503525A (zh) * | 2002-11-26 | 2004-06-09 | 华为技术有限公司 | 实现安全性认证的ip网络***及其方法 |
CN101082928A (zh) * | 2007-06-25 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种数据库访问的方法及数据库映射*** |
CN101729342A (zh) * | 2009-11-30 | 2010-06-09 | 江西省电力公司 | 混合移动式电力***实时内存计算数据结构实现方法 |
-
2010
- 2010-11-29 CN CN201010564776.8A patent/CN101986649B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503525A (zh) * | 2002-11-26 | 2004-06-09 | 华为技术有限公司 | 实现安全性认证的ip网络***及其方法 |
CN101082928A (zh) * | 2007-06-25 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种数据库访问的方法及数据库映射*** |
CN101729342A (zh) * | 2009-11-30 | 2010-06-09 | 江西省电力公司 | 混合移动式电力***实时内存计算数据结构实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101986649A (zh) | 2011-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101986649B (zh) | 应用于电信行业计费***的共享数据中心 | |
CN100468402C (zh) | 一种数据存储及查询方法 | |
CN101814045B (zh) | 一种用于备份服务的数据组织方法 | |
CN100426259C (zh) | 一种存储器文件数据虚拟存取方法 | |
CN101866359B (zh) | 一种机群文件***中的小文件存储和访问方法 | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN101382953A (zh) | 在用户空间访问文件***的接口***与文件读、写方法 | |
CN101526927B (zh) | Flash文件***的数据处理方法及数据处理装置 | |
CN106682110B (zh) | 一种基于哈希格网索引的影像文件存储和管理***及方法 | |
CN100424699C (zh) | 一种属性可扩展的对象文件*** | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN101916290B (zh) | 内存数据库的管理方法和装置 | |
CN108710578A (zh) | 基于闪存的数据存储方法和装置 | |
CN103246616A (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
CN103034684A (zh) | 一种基于内容寻址存储的虚拟机镜像存储优化方法 | |
CN103279502B (zh) | 一种具有与并行文件***结合的重复数据删除文件***的架构及方法 | |
CN101968795A (zh) | 一种数据块长度可变的文件***缓存方法 | |
CN101488153A (zh) | 嵌入式Linux下大容量闪存文件***的实现方法 | |
CN102880678A (zh) | 一种嵌入式实时内存数据库 | |
CN111177019B (zh) | 一种内存分配管理方法、装置、设备及存储介质 | |
CN104598394A (zh) | 一种可动态分配的数据缓存方法及*** | |
CN105589881A (zh) | 一种数据处理方法和装置 | |
CN101477477A (zh) | 内核空间隔离方法、空间管理实体及*** | |
CN103186622A (zh) | 一种全文检索***中索引信息的更新方法以及装置 | |
CN101236564A (zh) | 一种海量数据高性能读取显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |