[发明专利]一种动态调整内存空间批量存储数据的方法有效
申请号: | 201210538286.X | 申请日: | 2012-12-13 |
公开(公告)号: | CN103870483B | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 詹友陆;傅建记;余建成;张屿 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 厦门市新华专利商标代理有限公司35203 | 代理人: | 朱凌 |
地址: | 361009 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明一种动态调整内存空间批量存储数据的方法,当向数据库批量插入数据时,利用数据库内存表的读写速度比实体表的速度快的特点,把数据先存到内存表,保证数据能及时存入数据库,再把数据从内存表写入实体表内,以便把数据更及时快速地保存起来,其中内存表与实体表的对应关系设置成n1,为了控制内存表所占用的内存空间,需要控制内存表的存储数据的行数跟内存表的个数,间接地调整了内存的空间。 | ||
搜索关键词: | 一种 动态 调整 内存空间 批量 存储 数据 方法 | ||
【主权项】:
一种动态调整内存空间批量存储数据的方法,其特征在于包括如下步骤:步骤1、将内存表的状态设定分成“未把数据转出到实体表的状态”和“把数据转出到实体表的状态”两种状态;步骤2、初始化内存表个数和内存表允许保存的最大行数;步骤3、判断当前内存表的个数num与上一次初始化的内存表个数per_num的大小,如果小于上一次初始化的内存表个数per_num,先把未用到的第num+1到第per_num个内存表中的数据转存到实体表中,丢弃第num+1到per_num个内存表,释放内存空间,如果大于上一次初始化的内存表个数per_num,则创建per_num+1到num的内存表;步骤4、生成一个(0~9)之间的随机整数N,判断第N个内存表是否处于“把数据转出到实体表的状态”,如果是,则再重新随机生成一个(0~9)之间的随机数N,直到第N个内存表处于“未把数据转出到实体表的状态”,把数据插入该第N个内存表中,并把插入数据行数insert_row记录到数据库的每次插入行数的记录表Table_Batch_Rows中;步骤5、记录每次插入表的数据行数insert_row、插入时间insert_time,并将所述数据保存到每次插入行数的记录表Table_Batch_Rows中,间隔预置时间T从插入行数的记录表Table_Batch_Rows计算出最近的时间T内每个时间段内平均插入的数据,作为内存表允许保存的最大行数的值,当插入数据的速度低于阈值时,可手动调整内存表个数,该内存表个数是根据具体环境测出的最优值,范围为1到10;步骤6、判断此时的第N个内存表的行数是否达到内存表允许保存最大行数,如果达到,设置该第N个内存表的状态处于“把数据转出到实体表的状态”,并把该第N个内存表的数据转存到实体表中,然后清空内存表,设置该第N个内存表的状态处于“未把数据转出到实体表的状态”;如果未达到内存表允许保存的最大行数,则进行下一次批量存储操作,返回步骤4。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210538286.X/,转载请声明来源钻瓜专利网。