一种数据追加情况下的平均分段并行方法技术

技术编号:20025135 阅读:34 留言:0更新日期:2019-01-06 04:14
本发明专利技术提供了一种数据追加情况下的平均分段并行方法。在文件段索引区中创建成n个记段的起始位置以及段长度的记录组。文件在追加数据的过程中,假设初期记录组是每隔m条数据长度记一个段的起始位置,当数据数达到了m*n条时就把n个位置记录组数据两两合并,这样前n/2个记录组每个有2m条数据,后n/2个记录组为空白。然后后追加数据用后面n/2个空白记录组记,每个记录组信息长度为2m条数据,等后n/2个空白记录组的信息全部填满后,再把n个位置记录组信息的数据两两合并成n/2个记录组,用这样的方式进行无限循环应对无限追加数据。

【技术实现步骤摘要】
一种数据追加情况下的平均分段并行方法
本专利技术涉及数据平均分段,更具体地来说,特别涉及一种数据追加情况下的平均分段并行方法。
技术介绍
随着互联网的发展,各业务系统中的数据量日趋庞大,特别是电信和互联网行业更是如此。面对这些大数据进行计算的需求,计算的性能和效率是首当其冲。由于单核CPU速度提升的局限性,提升计算机速度的主要途径是使用多核CPU。多核CPU的普及对数值计算的发展产生了历史性的改变,由于多核和单核CPU设计理念的不同,单核CPU上运行良好的软件或者以前的算法不能使多核CPU发挥其最大效能,要想高效利用多核CPU,就必须改进原有的老程序,融进并行算法的思想。把原来串行的计算改成并行的计算,如果要并行计算,就需要每个线程分别处理一部分数据,所以要把数据分段给各个线程。目前有两种具体解决从数据量大的文件中查找指定段的方法,一种是文件非常大,但是不追加数据,段总数固定,这种直接在文件前边留一段空间当段索引区,把文件中的段的信息记在索引区,根据索引区的内容能迅速找到段的起始位置。但是这种方法缺点很明显,就是不能应对追加数据这种情况。在现在社会中,业务系统数据量大的文件大多数都有追加数据的需求,所以这个方法很不符合现在社会要求的技术水平。另一种解决方法是按键值分段,缺点是很难保证数据平均分段。不能保证数据平均分段会导致线程工作量不一样,对计算具体某段的起始位置有很大性能和效率的影响。有的时候能平均分段,纯粹是运气成分。例如:按键值分段,比如按地区分段,北京一段,上海一段;但很难保证北京和上海的数据量是相当的;还有按日期分段,比如每个月一段,这也难以保证平均,而且数据在追加,如果现在是五月,那六月及以后的段都是空的,这很不平衡。提升计算机速度的主要途径是使用多核CPU,把原来串行的计算改为并行的计算,并行的计算需要每个线程分别处理一部分数据,为了让每个线程处理的工作量相当,就要有对文件平均分段的能力。目前社会上本领域同行业还没有一个既能应对数据追加同时能平均分段的方法。针对这一问题本专利技术创造研发出一种指定段号找到该段起始位置的平均分段方法。
技术实现思路
为了克服前述问题,本专利技术的目的在于提供一种指定段号找到该段起始位置的平均分段方法。本专利技术提供一种指定段号找到该段起始位置的平均分段方法,使用步骤为:1.在业务系统中,在文件最前面创建一个固定长度的段索引区;2.在文件段索引区中创建成n个记段的起始位置以及段长度的记录组;3.文件在追加数据的过程中,假设初期记录组是每隔m条数据长度记一个段的起始位置,当数据数达到了m*n条时(n个记录组每个为m条数据长度)就把n个位置记录组数据两两(前奇数记录组和后偶数记录组)合并,这样前n/2个记录组每个有2m条数据,后n/2个记录组为空白;4.然后后追加数据用后面n/2个空白记录组记,每个记录组信息长度为2m条数据,等后n/2个空白记录组的信息全部填满后,再把n个位置记录组信息的数据两两(前奇数记录组和后偶数记录组)合并成n/2个记录组,用这样的方式进行无限循环应对无限追加数据;5.当要k线程并行处理业务文件时,把记录组按总数量(只算记录组里面有数据记的,空白的不算)平均分成k份,这样每个线程处理的工作量就大体相当了;6.当要从这个文件中找到第f段的起始位置时,查索引表直接知道具体位置。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,创建的段索引区的最大长度必须固定,如果增加这个长度,就会要求已写过的数据往后推,物理层面上就意味着全部重写一遍,会导致数据维护的性能非常差。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,总记录组数足够大,就可以较平均的分配工作量。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,指定段号就能立即找到该段的起始位置。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,想找到第f段的起始位置,查索引表直接知道具体位置。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,创建的段索引区放在文件的最前面。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,适用于所有的数据追加情况下的平均分段方法。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,每段数据量大体相当,让线程工作量相等。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,每k个线程去找第f段,能直接找到而不用先遍历一遍所有段再找到。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,段索引的作用是记每一段的开始位置,每段的容量,起到目录的作用。如上所述的一种数据追加情况下的平均分段并行方法,其特征在于,所述方法适用于所有的系统、平台、软件、语言中。以上只是一个理论上的描述,实际实现过程中还会有各种优化的可能,但基本原理不会改变。本领域的技术人员可以对本专利技术进行各种改动和变型而不脱离本专利技术的保护范围。本专利技术的有益效果在当前社会中,很多业务系统都需要有对大数据精确计算的功能而且还需要具有追加数据的功能。但是原来处理大数据精确计算要么并行线程工作量不相等,要么无法追加数据,要么遍历所有数据再计算,都有巨大的技术方面的缺陷。本专利技术是在数据追加情况下的平均分段并行方法,优点是允许数据无限追加的同时还能保证线程工作量大体相等,查找时看索引表直接知道段的具体位置。下面结合附图和实施例对本专利技术进一步说明。附图说明图1为本专利技术的流程图;具体实施方式在银行的客户信息业务系统中,需要不断往文件中追加新客户信息并且要求并行计算来实施查询,完全符合本专利技术专利的实施场景。在客户信息文件前面创建一个段索引区,里面有100个记录组的起始位置、长度的信息。(2条数据占一个记录组)有客户信息需要往文件中追加时,每后追加2条数据在段索引区进行记一次起始位置和长度,当后追加数据总数达到了200条数据时就把100个记录组数据两两(前奇数记录组和后偶数记录组)合并,这样合并后前50个记录组每个有4条段数据的信息,后50个记录组数据信息为空白;然后继续追加客户信息后,往后面50个空白记录组内记,每个记录组记的数变为4条数据,当后追加数据达到200条把后50个空白记录组信息全部填满后,再把100个记录组数据两两(前奇数记录组和后偶数记录组)合并成50个记录组,每个记录组信息变为8条数据,用这样的方式进行无限循环一直记后面追加客户信息段的起始位置和长度;当要从这个文件中找到第20段客户信息的起始位置,查索引表直接知道第20段的具体位置。通过流程图和实施例可以实现本专利技术,实施例是用伪代码和通俗的语言表述的,代表本专利技术可以用任何代码任何语言实现,都是出于本专利技术专利的保护范围里面。本文档来自技高网
...

【技术保护点】
1.一种数据追加情况下的平均分段并行方法,步骤如下:a.在业务系统中,在文件最前面创建一个固定长度的段索引区;b.在文件段索引区中创建成n个记段的起始位置以及段长度的记录组;c.文件在追加数据的过程中,假设初期记录组是每隔m条数据长度记一个段的起始位置,当数据数达到了m*n条时(n个记录组每个为m条数据长度)就把n个位置记录组数据两两(前奇数记录组和后偶数记录组)合并,这样前n/2个记录组每个有2m条数据,后n/2个记录组为空白;d.然后后追加数据用后面n/2个空白记录组记,每个记录组信息长度为2m条数据,等后n/2个空白记录组的信息全部填满后,再把n个位置记录组信息的数据两两(前奇数记录组和后偶数记录组)合并成n/2个记录组,用这样的方式进行无限循环应对无限追加数据;e.当要k线程并行处理业务文件时,把记录组按总数量(只算记录组里面有数据记的,空白的不算)平均分成k份,这样每个线程处理的工作量就大体相当了;f.当要从这个文件中找到第f段的起始位置时,查索引表直接知道具体位置。

【技术特征摘要】
1.一种数据追加情况下的平均分段并行方法,步骤如下:a.在业务系统中,在文件最前面创建一个固定长度的段索引区;b.在文件段索引区中创建成n个记段的起始位置以及段长度的记录组;c.文件在追加数据的过程中,假设初期记录组是每隔m条数据长度记一个段的起始位置,当数据数达到了m*n条时(n个记录组每个为m条数据长度)就把n个位置记录组数据两两(前奇数记录组和后偶数记录组)合并,这样前n/2个记录组每个有2m条数据,后n/2个记录组为空白;d.然后后追加数据用后面n/2个空白记录组记,每个记录组信息长度为2m条数据,等后n/2个空白记录组的信息全部填满后,再把n个位置记录组信息的数据两两(前奇数记录组和后偶数记录组)合并成n/2个记录组,用这样的方式进行无限循环应对无限追加数据;e.当要k线程并行处理业务文件时,把记录组按总数量(只算记录组里面有数据记的,空白的不算)平均分成k份,这样每个线程处理的工作量就大体相当了;f.当要从这个文件中找到第f段的起始位置时,查索引表直接知道具体位置。2.如权利要求1所述的一种数据追加情况下的平均分段并行方法,其特征在于,创建的段索引区的最大长度必须固定,如果增加这个长度,就会...

【专利技术属性】
技术研发人员:蒋步星
申请(专利权)人:北京润乾信息系统技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1