[发明专利]一种基于内存的联机处理系统的数据处理方法及系统无效
申请号: | 201110308540.2 | 申请日: | 2011-10-12 |
公开(公告)号: | CN102508872A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 何仲君;柳正龙;应鸿浩 | 申请(专利权)人: | 恒生电子股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明;王宝筠 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 联机 处理 系统 数据处理 方法 | ||
技术领域
本申请涉及数据处理领域,特别是涉及一种基于内存的联机处理系统的数据处理方法及系统。
背景技术
目前的证券、期货交易系统由于实时性、批量处理等要求,大多采用联机处理方式。联机处理又称在线处理,是一种信息直接从产生地点输入系统,处理结果直接传送到目的地点的处理方式。联机处理可以提供查询处理、数据收集和分发处理、信息存储转发处理等功能,使得数据处理更为高效、便捷。
一般的联机处理系统采用关系数据库来实现,如Oracle、MSSQL、DB2等。在基于关系数据库的联机处理系统中,数据按照业务进行分类,分别存放在不同的表中,各个表之间用字段进行关联。例如用户的业务数据可以分为资金、持仓、订单、成交等,分别存放在相应的表中,不同用户的同类数据都放在相同的表中。数据的访问一般采用结构化查询语言(SQL,Structured Query Language),数据的并发访问都由数据库系统控制。在这种联机处理系统中,为了保证数据的完整性和一致性,创建了一种锁的机制。例如,当多个用户试图同时访问、修改同一数据时,这时会出现冲突问题。加锁是解决并发访问数据的常用方法。具体实现时,为了控制对数据的访问,可以在一个事务对数据执行操作时对表进行加锁,以排斥其他事务的访问,以保证一个事务在处理期间不受其他事务的影响(通常在数据库中,事务为一个基本单位,例如,一个数据库事务可以是修改一个用户的账户的写操作)。在数据库中,锁的机制从小到大一般有行锁、页锁、表锁等。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:对于基于数据库的联机处理系统,由于用户的数据是按照业务进行分类存放的,在处理不同用户的业务请求时,往往需要访问相同的表,这时会产生锁的竞争,导致并发能力受限。另一方面,当两个用户的业务请求被并行处理时,若加锁次序不当,两个业务请求都在等待对方已占有的资源,导致两个请求都不能被处理下去,因此会导致死锁现象的出现。再一方面,在处理同一个用户的多个子业务请求时,需要到不同的表进行关联检索,当表的记录数增多时,表关联检索数据也需要耗费更多的时间,导致系统处理性能下降,不能满足实时性的要求。
发明内容
为解决上述技术问题,本申请实施例提供了一种基于内存的联机处理系统的数据处理方法及系统,以提高对数据的并发处理能力,降低了死锁的发生概率。
技术方案如下:
本申请实施例公开了一种基于内存的联机处理系统中数据的处理方法,所述方法包括:
将数据按照用户进行分类存放在内存中;
接收业务请求,所述业务请求包含有用户标识;
根据所述用户标识查找对应的用户,对所述用户执行加锁操作;
对所述用户的数据进行处理,当处理完成时,对所述用户执行解锁操作。
优选的,所述对所述用户执行加锁操作采用互斥量实现,设置互斥量的状态用于表示用户处于加锁状态或解锁状态。
优选的,所述方法进一步包括:
在对所述用户执行加锁操作前,判断所述用户是否处于加锁状态,如果是,执行等待操作;如果否,执行加锁操作。
优选的,所述方法进一步包括:
当有多个业务请求对同一个用户请求加锁操作时,最先请求的业务请求执行加锁操作,其他业务请求处于等待状态,直至所述最先请求的业务请求释放加锁操作。
优选的,所述对所述用户执行加锁操作采用读写锁实现,设置读写锁的状态为读模式下加锁状态或写模式下加锁状态或不加锁状态。
优选的,所述将数据按照用户进行分类存放在内存中具体为:
计算用户数据的活跃程度,将活跃程度高的数据按照用户分类存放在内存中,将活跃程度低的数据按照用户分类存放在存储设备中。
优选的,所述方法进一步包括:
为每一个用户分配一个用户标识,保存所述用户与用户标识的对应关系,根据所述用户与用户标识的对应关系,查找、访问所述用户的数据。
优选的,所述基于内存的联机处理系统按照数据树的形式组织数据。
本申请实施例还公开了一种基于内存的联机处理系统,所述系统包括:
存储单元,用于将数据按照用户进行分类存放在内存中;
接收单元,用于接收业务请求,所述业务请求包含有用户标识;
加锁单元,用于根据所述用户标识查找对应的用户,对所述用户执行加锁操作;
解锁单元,用于对所述用户的数据进行处理,当处理完成时,对所述用户执行解锁操作。
优选的,所述系统进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒生电子股份有限公司,未经恒生电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110308540.2/2.html,转载请声明来源钻瓜专利网。