[发明专利]一种基于事务的大容量数据读写方法有效

专利信息
申请号: 201210361971.X 申请日: 2012-09-25
公开(公告)号: CN102929935A 公开(公告)日: 2013-02-13
发明(设计)人: 吴征;武剑锋;王泊;陈晨;朱立;刘凯;刘经纬;黄寅飞;陆素源;郑刚;白硕 申请(专利权)人: 上海证券交易所
主分类号: G06F17/30 分类号: G06F17/30;G06F3/06
代理公司: 上海三方专利事务所 31127 代理人: 吴干权
地址: 200120 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 事务 容量 数据 读写 方法
【权利要求书】:

1.一种基于事务的大容量数据读写方法,其特征在于数据写方法包括以下步骤:

(1)将批量数据记录以数据页面的形式组织起来,数据页面的大小根据实际应用的需要调整设置;

(2)在内存中开辟数据页面缓冲,当每次写入数据记录时,先将数据记录写入内存中的数据页面缓冲内;

(3)触发数据页面的提交,触发条件为下列条件之一即可:

(a)数据页面缓冲被填满;

(b)数据页面缓冲未被填满,但数据页面提交的最大超时时间被触发,所述的最大超时时间根据实际应用的需要调整设置,用于避免当数据页面缓冲因一直未能填满而无法提交,产生过长的延时;

(4)提交数据页面,包括以下步骤:

(a)以数据页面为单位,使用IO接口将数据页面写入数据文件;

(b)当数据页面的写入操作成功后,生成一个索引,用于记录数据页面在数据文件中的首地址,所述的索引占用空间小;

(c)通过基于事务的文件IO接口,将生成的索引写入索引文件,完成数据页面的提交;

(5)反馈数据页面的提交结果:

(a)当基于事务的索引写入索引文件过程执行成功后,数据页面即提交成功;

(b)当基于事务的索引写入索引文件过程执行失败后,数据页面即提交失败,此时无需删除数据文件中索引对应的数据页面,因为对数据文件的读取访问是基于索引文件,当索引文件中索引不存在时,数据文件中对应的数据页面为不可见状态;

(6)当需要对完成提交的数据页面进行回滚时,则只需要对索引文件中数据页面对应的索引执行回滚操作,无需删除数据文件中的数据页面,因为对数据文件的读取访问是基于索引文件,对索引文件执行回滚操作后,数据文件中对应的数据页面变更为不可见状态;

(7)在共享内存中创建索引数组,用于开放给其他用户访问,当数据页面提交成功后,向共享内存中的索引数组添加数据页面对应的索引项,所述的索引项包括:数据页面在数据文件中的位移,数据页面中数据记录的起始序号和结束序号。

(8)刷新数据页面缓冲区;

(9)重置刷新定时器,至此数据写入操作完成。

2.如权利要求1所述的一种基于事务的大容量数据读写方法,其特征在于在数据页面的整个提交过程中,只有索引的写入操作是基于事务的,为满足事务性的要求,所有对数据记录的访问必须先通过索引找到对应的数据页面,禁止跳过索引直接访问数据文件,该方法即数据读方法包括以下步骤:

(1)利用二分法查找共享内存中的索引数组,定位指定序号的数据记录所在的数据页面索引,所述的索引数组中的索引项顺序是按照索引提交顺序进行排列的,当利用二分法查找索引数组时,首先判断指定序号是否位于数据页面起始序号与结束序号之间,继而定位到指定序号的数据记录所在的数据页面索引,查找定位结果包括以下两种:

(a)定位数据页面索引成功,说明指定序号的数据记录所在的数据页面已经被提交,可以继续下一步操作;

(b)定位数据页面失败,说明指定序号的数据记录所在的数据页面尚未被提交,读取被拒绝;

(2)获得数据页面在数据文件中的位移(pageOffset),所述的位移值从数据页面索引项中直接获得;

(3)获得数据记录在数据页面中的位移(recOffsetInPage):

(a)如果数据记录定长,且序号连续递增,则数据记录的在数据页面中的位移可以通过以下公式得到:

recOffsetInPage = pageHeadSize + (recSeq – beginSeqInPage) * recLen,其中:pageHeadSize指页面头长度,recOffsetInPage指数据记录在数据页面中的位移,recSeq指数据记录的序号,beginSeqInPage指数据页面中数据记录的起始序号,recLen指数据记录长度;

(b)如果数据记录不定长或者不保证序号连续递增,则通过遍历数据页面的方式定位指定序号的数据记录的起始位置;

(4)通过数据页面的位移和数据记录在数据页面中的位移,计算得到数据记录在数据文件中的位移,计算公式如下:

recOffset = pageOffset + recOffsetInPage,

其中:recOffset指数据记录在数据文件中的位移,pageOffset指数据记录所在数据页面在数据文件中的位移,recOffsetInPage指数据记录在数据页面中的位移;

(5)根据数据记录在数据文件中的位移,通过文件IO接口从数据文件中读取指定序号的数据记录。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海证券交易所,未经上海证券交易所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210361971.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top