一种高频次写操作方法、接口机及系统
技术领域
本发明涉及互联网中的数据写操作技术,尤其涉及一种高频次写操作方法、接口机及系统。
背景技术
随着互联网技术的发展,互联网业务趋于丰富多样化,基于用户原创内容(UGC,User Generated Content)的互联网业务被用户广泛使用。UGC使得用户可以在互联网上进行业务数据的下载和上传,在用户进行业务数据上传时,需要将用户数据写入相应的服务器中。然而,当数据写操作比较频繁时,服务器的性能就达到了瓶颈。目前,可以通过分布式存储以及平行扩容的方式处理高频次的写操作,但是,这种方式需要大量的服务器,成本开销较大;还可以针对特定的互联网业务设置相应的高频次写操作机制,但是,这种方式通用性较差,不适用于所有的互联网业务。
发明内容
有鉴于此,本发明的主要目的在于提供一种高频次写操作方法、接口机及系统,能够将高频次的写操作合并为一次或多次写操作,进而降低写操作的次数,节约网络资源。
为达到上述目的,本发明的技术方案是这样实现的:
一种高频次写操作方法,该方法包括:
统计写操作的频率;
确定所述写操作为高频次写操作时,将所述高频次写操作合并为一次或多次写操作;
将所述一次或多次写操作的数据写入存储服务器。
优选的,所述统计写操作的频率,包括:
在预设的单位时间内,统计所述写操作的次数;
所述写操作的次数大于或等于预设的第一阈值时,确定所述写操作为高频次写操作;
所述写操作的次数小于预设的第一阈值时,确定所述写操作为低频次写操作。
优选的,所述将所述高频次写操作合并为一次或多次写操作,为:将所述预设的单位时间内的高频次写操作合并为一次或多次写操作;其中,所述多次写操作的次数小于所述预设的单位时间内的高频次写操作的次数。
优选的,所述统计写操作的频率,还包括:
从预设的开始时刻起,统计所述写操作的次数;
所述写操作的次数达到预设的第二阈值时,记录当前时刻;
当前时刻与所述预设的开始时刻的间隔小于预设的时间间隔时,确定所述写操作为高频次写操作;
当前时刻与所述预设的开始时刻的间隔大于或等于预设的时间间隔时,确定所述写操作为低频次写操作。
优选的,所述将所述高频次写操作合并为第一次或多次写操作,为:将当前时刻与所述预设的开始时刻的时间间隔内的高频次写操作合并为一次或多次写操作;其中,所述多次写操作的次数小于所述当前时刻与所述预设的开始时刻的时间间隔内的高频次写操作的次数。
优选的,所述统计写操作的频率,还包括:
统计相邻两次写操作的时间间隔;
当相邻两次写操作的时间间隔小于预设的时间间隔时,确定所述写操作为高频次写操作;
当相邻两次写操作的时间间隔大于或等于预设的时间间隔时,确定所述相邻两次写操作均为低频次写操作或者确定后一次写操作为低频次写操作。
优选的,所述将所述高频次写操作合并为一次或多次写操作,为:
当所述高频次写操作的次数达到预设的第三阈值时,将所述高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于所述预设的第三阈值对应的高频次写操作的次数;
或者,当所述高频次写操作持续发生的时长达到预设的第四阈值时,将所述高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于持续发生的时长达到预设的第四阈值时对应的高频次写操作的次数。
一种高频次写操作接口机,该高频次写操作接口机包括:统计模块、合并模块以及写入模块;其中,
所述统计模块,用于统计写操作的频率;
所述合并模块,用于确定所述写操作为高频次写操作时,将所述高频次写操作合并为一次或多次写操作;
所述写入模块,用于将所述一次或多次写操作的数据写入存储服务器。
优选的,所述统计模块包括:第一统计子模块、第一高频确定子模块以及第一低频确定子模块;其中,
所述第一统计子模块,用于在预设的单位时间内,统计所述写操作的次数;
所述第一高频确定子模块,用于在所述写操作的次数大于或等于预设的第一阈值时,确定所述写操作为高频次写操作;
所述第一低频确定子模块,用于在所述写操作的次数小于预设的第一阈值时,确定所述写操作为低频次写操作。
优选的,所述合并模块包括第一合并子模块,用于将所述预设的单位时间内的高频次写操作合并为一次或多次写操作;其中,所述多次写操作的次数小于所述预设的单位时间内的高频次写操作的次数。
优选的,所述统计模块还包括:第二统计子模块、第二高频确定子模块以及第二低频确定子模块;其中,
所述第二统计子模块,用于从预设的开始时刻起,统计所述写操作的次数;所述写操作的次数达到预设的第二阈值时,记录当前时刻;
所述第二高频确定子模块,用于在当前时刻与所述预设的开始时刻的间隔小于预设的时间间隔时,确定所述写操作为高频次写操作;
所述第二低频确定子模块,用于在当前时刻与所述预设的开始时刻的间隔大于或等于预设的时间间隔时,确定所述写操作为低频次写操作。
优选的,所述合并模块还包括第二合并子模块,用于将当前时刻与所述预设的开始时刻的时间间隔内的高频次写操作合并为一次或多次写操作;其中,所述多次写操作的次数小于所述当前时刻与所述预设的开始时刻的时间间隔内的高频次写操作的次数。
优选的,所述统计模块还包括:第三统计子模块、第三高频确定子模块以及第三低频确定子模块;其中,
所述第三统计子模块,用于统计相邻两次写操作的时间间隔;
所述第三高频确定子模块,用于当相邻两次写操作的时间间隔小于预设的时间间隔时,确定所述写操作为高频次写操作;
所述第三低频确定子模块,用于当相邻两次写操作的时间间隔大于或等于预设的时间间隔时,确定所述相邻两次写操作均为低频次写操作或者确定后一次写操作为低频次写操作。
优选的,所述合并模块还包括第三合并子模块,用于当所述高频次写操作的次数达到预设的第三阈值时,将所述高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于所述预设的第三阈值对应的高频次写操作的次数;或者,当所述高频次写操作持续发生的时长达到预设的第四阈值时,将所述高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于持续发生的时长达到预设的第四阈值时对应的高频次写操作的次数。
一种高频次写操作系统,包括前述的高频次写操作接口机、路由设备以及存储服务器;其中,
所述路由设备,用于接收客户端发送的写操作,并根据所述客户端的标识将所述写操作发送至对应的高频次写操作接口机;
所述高频次写操作接口机,用于接收所述路由设备发送的写操作;统计写操作的频率;确定所述写操作为高频次写操作时,将所述高频次写操作合并为一次或多次写操作;将所述一次或多次写操作的数据写入所述存储服务器;
所述存储服务器,用于接收并存储所述高频次写操作接口机写入的所述一次或多次写操作的数据。
本发明提供的高频次写操作方法、接口机及系统,统计写操作的频率;确定所述写操作为高频次写操作时,将所述高频次写操作合并为一次或多次写操作;将所述一次或多次写操作的数据写入存储服务器。如此,可以将高频次的写操作合并为一次或多次写操作,从而降低了写操作的次数,有效节约高频次写操作所占用的网络带宽、存储服务器等资源。
附图说明
图1为本发明实施例高频次写操作方法实现流程示意图一;
图2为本发明实施例高频次写操作方法实现流程示意图二;
图3为本发明实施例高频次写操作方法实现流程示意图三;
图4为本发明实施例高频次写操作方法实现流程示意图四;
图5为本发明实施例高频次写操作合并方法实现流程示意图一;
图6为本发明实施例高频次写操作合并方法实现流程示意图二;
图7为本发明实施例高频次接口机的结构组成示意图;
图8为本发明实施例高频次系统的结构组成示意图;
图9为本发明实施例中写操作与时间关系示意图;
图10本发明实施例高频次写操作方法实现流程示意图五。
具体实施方式
为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
本发明实施例提供了一种高频次写操作方法,如图1所示,该方法包括以下步骤:
步骤101:统计写操作的频率。
这里,统计写操作的频率可以有不同的统计方式,本发明实施例提供了三种方式来统计写操作的频率。
第一种统计方式:在预设的单位时间内,统计写操作的次数;
写操作的次数大于或等于预设的第一阈值时,确定写操作为高频次写操作;
写操作的次数小于预设的第一阈值时,确定写操作为低频次写操作。
第二种统计方式:从预设的开始时刻起,统计写操作的次数;
写操作的次数达到预设的第二阈值时,记录当前时刻;
当前时刻与预设的开始时刻的间隔小于预设的时间间隔时,确定为写操作为高频次写操作;
当前时刻与预设的开始时刻的间隔大于或等于预设的时间间隔时,确定为写操作为低频次写操作。
第三种统计方式:统计相邻两次写操作的时间间隔;
当相邻两次写操作的时间间隔小于预设的时间间隔时,确定为写操作为高频次写操作;
当相邻两次写操作的时间间隔大于或等于预设的时间间隔时,确定为写操作为低频次写操作。
如此,可以通过以上三种不同的统计方式确定出写操作是高频次写操作,还是低频次写操作。对于高频次写操作,按照如下步骤102至步骤103对其进行处理;而对于低频次写操作,可以实时地将每个写操作的数据写入存储服务器。
步骤102:确定写操作为高频次写操作时,将高频次写操作合并为一次或多次写操作。
这里,将高频次写操作合并为一次或多次写操作,可以有不同的合并方式;对应于步骤101中的三种统计方式,本发明实施例提供了三种合并方式将高频次写操作合并为一次或多次写操作。
第一种合并方式(适用于第一种统计方式):将预设的单位时间内的高频次写操作合并为一次或多次写操作;其中,多次写操作的次数小于预设的单位时间内的高频次写操作的次数。
第二种合并方式(适用于第二种统计方式):将当前时刻与预设的开始时刻的时间间隔内的高频次写操作合并为一次或多次写操作;其中,多次写操作的次数小于当前时刻与预设的开始时刻的时间间隔内的高频次写操作的次数。
第三种合并方式(适用于第三种统计方式):当高频次写操作的次数达到预设的第三阈值时,将高频次写操作合并为一次或多次写操作,其中,多次写操作的次数小于预设的第三阈值对应的高频次写操作的次数;或者,当高频次写操作持续发生的时长达到预设的第四阈值时,将高频次写操作合并为一次或多次写操作,其中,多次写操作的次数小于持续发生的时长达到预设的第四阈值时对应的高频次写操作的次数。
如此,可以通过以上三种不同的合并方式将高频次写操作合并为一次或多次写操作,降低了高频次写操作的次数。合并之后的一次或多次写操作的数据与合并之前的高频次写操作的数据保持一致。
步骤103:将一次或多次写操作的数据写入存储服务器。
由于合并之后的一次或多次写操作的数据与合并之前的高频次写操作的数据保持一致,因此,将一次或多次写操作的数据写入存储服务器也即是将高频次写操作的数据写入服务器;如此,可以通过较少的写操作次数将同样的数据量写入服务器。
本发明提供的上述方案,当写操作比较频繁时,可以将频繁的写操作合并为一次或多次写操作,从而降低了写操作的次数,如此,可以使用少量的服务器来执行写操作,节省了服务器的成本开销,也避免了服务器由于频繁的写操作而出现的瓶颈问题。本发明提供的高频次写操作方法通用性好,无需针对特定的业务,对于任何形式的业务都可以使用本发明提供的高频词写操作方法。
下面结合具体实施例对上述高频次写操作方法作进一步描述。
本发明具体实施例提供了一种高频次写操作方法,如图2所示,该方法包括以下步骤:
步骤201:在预设的单位时间内,统计写操作的次数。
这里,单位时间可以根据实际情况进行预设,例如,实际的写操作次数比较频繁时,可以预设较短的单位时间,实际的写操作次数不频繁时,可以预设较长的单位时间,如此,可以实时的对写操作进行统计。
具体地,可以预设单位时间为1秒,每间隔1秒统计一次写操作的次数。例如,在预设的单位时间1秒内,统计出的写操作次数如表1所示,在第1秒内写操作次数为16次,第2秒内写操作次数为13次,第3秒内写操作次数为3次,第4秒内写操作次数为8次,第5秒内写操作次数为11次,第6秒内写操作次数为1次。
时间 |
1秒 |
2秒 |
3秒 |
4秒 |
5秒 |
6秒 |
写操作次数 |
16次 |
13次 |
3次 |
8次 |
11次 |
1次 |
表1
步骤202:写操作的次数大于或等于预设的第一阈值时,确定写操作为高频次写操作。
这里,预设的第一阈值可以根据实际情况进行预设,例如,实际中的存储服务器数量及性能有限时,可以预设较高的第一阈值;实际中的存储服务器数量及性能较好时,可以预设较低的第一阈值。
可以预设阈值为10次,如表1所示,第1秒、第2秒以及第5秒内写操作次数均大于10次,则第1秒内的16次写操作、第2秒内的13次写操作以及地5秒内的11次写操作均确定为高频次写操作。进一步地,第3秒、第4秒以及第6秒内写操作次数均小于10次,则第3秒内的3次写操作、第4秒内的8次写操作以及地6秒内的1次写操作均确定为低频次写操作。
步骤203:将预设的单位时间内的高频次写操作合并为一次或多次写操作。
这里,多次写操作的次数小于单位时间内的高频次写操作的次数。
如表1所示,将第1秒内的16次高频次写操作合并为一次写操作,将第2秒内的13次高频次写操作合并为一次写操作,将第5秒内的11次高频次写操作合并为一次写操作,如此,多次高频次写操作的数据可以由合并后的一次写操作进行处理。
步骤204:将一次或多次写操作的数据写入存储服务器。
具体地,如表1所示,将第1秒内的16次高频次写操作的全部数据在一次写操作时写入存数服务器中,将第2秒内的13次高频次写操作的全部数据在一次写操作时写入存数服务器中,将第5秒内的11次高频次写操作的全部数据在一次写操作时写入存数服务器中,如此,可以将多次高频次写操作的数据一次性写入存数服务器中。
进一步地,第3秒,第4秒以及第5秒内的写操作为低频次写操作,由于写操作的次数较少,可以按照其原本的次数将数据写入存数服务器中。
需要指出的是,在实际的实施过程中,第一个单位时间的统计结束时,立刻对第一个单位时间统计的写操作进行相应的高频次或低频次写操作处理,同时,第一个单位时间的统计结束时立刻开始第二个单位时间的统计,以此类推。
上述实施例中,通过统计单位时间内写操作的次数将写操作划分为高频次写操作和低频次写操作,对于高频次写操作,将其合并为一次或多次写操作,从而降低了高频次写操作的次数,如此,可以使用少量的服务器来执行高频次写操作,节省了服务器的成本开销,也避免了服务器由于频繁的写操作而出现的瓶颈问题。上述实施例提供的高频次写操作方法通用性好,无需针对特定的业务,对于任何形式的业务都可以使用本发明提供的高频词写操作方法。
本发明具体实施例提供了一种高频次写操作方法,如图3所示,该方法包括以下步骤:
步骤301:从预设的开始时刻起,统计写操作的次数。
这里,预设的开始时刻可以是任意时刻,例如,当前时刻。
步骤302:写操作的次数达到预设的第二阈值时,记录当前时刻。
这里,预设的第二阈值可以根据实际情况进行预设,例如,实际的写操作次数比较频繁时,可以预设较大的第二阈值,实际的写操作次数不频繁时,可以预设较小的第二阈值,如此,可以实时的对写操作进行统计。
具体地,可以预设第二阈值为10次,从预设的开始时刻起,当写操作次数达到10次时,记录当前时刻。例如,在预设阈值为10次时,记录的当前时刻如表2所示,从开始时刻0秒起,写操作次数第一次达到10次时,当前时刻为0.8秒;从开始时刻0.8秒起,写操作次数第二次达到10次时,当前时刻为1.5秒;从开始时刻1.5秒起,写操作次数第三次达到10次时,当前时刻为4.5秒;从开始时刻4.5秒起,写操作次数第四次达到10次时,当前时刻为6.5秒;从开始时刻6.5秒起,写操作次数第五次达到10次时,当前时刻为7.4秒;从开始时刻7.4秒起,写操作次数第六次达到10次时,当前时刻为8.9秒。
开始时刻 |
0秒 |
0.8秒 |
1.5秒 |
4.5秒 |
6.5秒 |
7.4秒 |
当前时刻 |
0.8秒 |
1.5秒 |
4.5秒 |
6.5秒 |
7.4秒 |
8.9秒 |
时间间隔 |
0.8秒 |
0.7秒 |
3秒 |
2秒 |
0.9秒 |
1.5秒 |
写操作次数 |
10次 |
10次 |
10次 |
10次 |
10次 |
10次 |
表2
步骤303:当前时刻与预设的开始时刻的间隔小于预设的时间间隔时,确定写操作为高频次写操作。
这里,预设的时间间隔可以根据实际情况进行预设,例如,实际中的存储服务器数量及性能有限时,可以预设较长的时间间隔;实际中的存储服务器数量及性能较好时,可以预设较短的时间间隔。
可以预设时间间隔为1秒,如表2所示,写操作次数第一次、第二次以及第五次达到10次时,时间间隔均小于1秒,则第一次、第二次以及第五次内的10次写操作均确定为高频次写操作。进一步地,第三次、第四次以及第六次达到10次时,时间间隔均大于1秒,则第三次、第四次以及第六次内的10次写操作均确定为低频次写操作。
步骤304:将当前时刻与预设的开始时刻的时间间隔内的高频次写操作合并为一次或多次写操作。
这里,多次写操作的次数小于当前时刻与预设的开始时刻的时间间隔内的高频次写操作的次数。
如表2所示,将第一次、第二次以及第五次内的10次高频次写操作分别合并为一次写操作,如此,多次高频次写操作的数据可以由合并后的一次写操作进行处理。
步骤305:将一次或多次写操作的数据写入存储服务器。
具体地,如表2所示,将第一次内的10次高频次写操作的全部数据在一次写操作时写入存数服务器中,将第二次内的10次高频次写操作的全部数据在一次写操作时写入存数服务器中,将第五次内的10次高频次写操作的全部数据在一次写操作时写入存数服务器中,如此,可以将多次高频次写操作的数据一次性写入存数服务器中。
进一步地,第三次、第四次以及第六次内的10次写操作均确定为低频次写操作,由于写操作之间的时间间隔较长,写操作次数较少,可以按照其原本的次数将数据写入存数服务器中。
需要指出的是,在实际的实施过程中,如表2所示,当统计的写操作第一次达到10次时,立刻对这10次写操作进行相应的高频次或低频次写操作处理,同时,当统计的写操作第一次达到10次时立刻开始第二个10次的统计,以此类推。
上述实施例中,通过统计一定数量的写操作次数所需要持续的时间将写操作划分为高频次写操作和低频次写操作,对于高频次写操作,将其合并为一次或多次写操作,从而降低了高频次写操作的次数,如此,可以使用少量的服务器来执行高频次写操作,节省了服务器的成本开销,也避免了服务器由于频繁的写操作而出现的瓶颈问题。上述实施例提供的高频次写操作方法通用性好,无需针对特定的业务,对于任何形式的业务都可以使用本发明提供的高频词写操作方法。
本发明具体实施例提供了一种高频次写操作方法,如图4所示,该方法包括以下步骤:
步骤401:统计相邻两次写操作的时间间隔,当相邻两次写操作的时间间隔小于预设的时间间隔时,确定写操作为高频次写操作。
这里,时间间隔可以根据实际情况进行预设,例如,实际的写操作次数比较频繁时,可以预设较短的时间间隔,实际的写操作次数不频繁时,可以预设较长的时间间隔,如此,可以实时的对写操作进行统计。
具体地,可以预设时间间隔为0.1秒,相邻两次写操作的时间间隔小于0.1秒时,确定为高频次写操作。如图9所示,第1次至第11次写操作中,每相邻两次写操作的时间间隔小于0.1秒,因此,这11次写操作为高频次写操作。进一步地,第12次至第14次写操作中,每相邻两次写操作的时间间隔大于0.1秒,因此,这3次写操作为低频次写操作。
步骤402:当高频次写操作的次数达到预设的第三阈值时,将高频次写操作合并为一次或多次写操作;或者,当高频次写操作持续发生的时长达到预设的第四阈值时,将高频次写操作合并为一次或多次写操作。
这里,多次写操作的次数小于高频次写操作的次数。
具体地,预设的第三阈值可以是8次,如图9所示,第1次至第11次高频次写操作中,前8次均为高频次写操作,则将这8次的高频次写操作合并为一次写操作;进一步地,第9次至第11次写操作也为高频次写操作,未达到预设的8次,但是第12次写操作与第11次写操作之间的时间间隔大于预设的时间间隔,第12次写操为低频次写操作,因此第9次至第11次的高频次写操作需合并为一次写操作。
或者,预设的第四阈值可以是0.5秒,如图9所示,从第1次起至第7次、高频次写操作持续发生的时长为0.6秒,达到预设的0.5秒,因此第1次至第7次高频次写操作需合并为一次写操作。
下面结合实际两种情况对步骤401和步骤402作进一步描述。
第一种情况:统计开始时,将次数计数器初始化为0;接收到写操作时,判断该写操作是否为第一次写操作;如果该写操作为第一次写操作,则将次数计数器置为1(对应于第一次写操作);如果写操作不是第一次写操作,则判断此次写操作与上一次写操作的时间间隔是否小于预设的时间间隔,如果小于预设的时间间隔(这两次写操作均为高频次写操作),则将次数计数器加1,如果大于或等于预设的时间间隔(本次写操作为低频次写操作),则将此次写操作之前的全部写操作合并为一次或多次写操作;进一步地,将次数计数器加1之后,还需判断次数计数器的值是否达到第三阈值,如果达到第三阈值,则将此次写操作之前的全部写操作合并为一次或多次写操作,如果未达到第三阈值,则继续接收下次写操作。
第二种情况:统计开始时,接收到写操作,判断该写操作是否为第一次写操作;如果该写操作为第一次写操作,则记录此次写操作的时刻作为初始时刻;如果写操作不是第一次写操作,则判断此次写操作与上一次写操作的时间间隔是否小于预设的时间间隔,如果小于预设的时间间隔(这两次写操作均为高频次写操作),则记录当前时刻,如果大于或等于预设的时间间隔(本次写操作为低频次写操作),则将此次写操作之前的全部写操作合并为一次或多次写操作;进一步地,记录当前时刻之后,还需判断当前时刻与初始时刻的时长是否达到预设的第四阈值时,如果达到第四阈值时,则将此次写操作之前的全部写操作合并为一次或多次写操作;如果未达到第四阈值,则继续接受下次写操作。
上述两种情况可以分别参照图5和图6所示的方法流程而理解。
步骤403:将一次或多次写操作的数据写入存储服务器。
具体地,将上述第1次至第11次高频次写操作的全部数据在一次写操作时写入存储服务器中,如此,可以将多次高频次写操作的数据一次性写入存数服务器中。
进一步地,第12至14次写操作为低频次写操作,由于写操作的时间间隔较长,单位时间内的写操作次数较少,可以按照其原本的次数将数据写入存数服务器中。
上述实施例中,通过统计相邻两次写操作的时间间隔将写操作划分为高频次写操作和低频次写操作,对于高频次写操作,进一步统计高频次写操作持续的次数或时间,在次数或时间达到一定阈值时,将高频次写操作其合并为一次或多次写操作,从而降低了高频次写操作的次数,如此,可以使用少量的服务器来执行高频次写操作,节省了服务器的成本开销,也避免了服务器由于频繁的写操作而出现的瓶颈问题。上述实施例提供的高频次写操作方法通用性好,无需针对特定的业务,对于任何形式的业务都可以使用本发明提供的高频词写操作方法。
图5为本发明实施例提供的写操作合并方法实现流程示意图一,如图5所示,该方法包括以下步骤:
步骤501:统计开始时,将次数计数器初始化为0。
步骤502:接收写操作。
步骤503:判断接收到的写操作是否为第一次写操作,如果是,执行步骤504;如果否,执行步骤505。
步骤504:将次数计数器置为1。
步骤505:判断此次写操作与上一次写操作的时间间隔是否小于预设的时间间隔,如果是,执行步骤506;如果否,执行步骤508。
步骤506:将次数计数器加1,执行步骤507。
步骤507:判断次数计数器的值是否达到第三阈值,如果是,执行步骤508;如果否,执行步骤502。
步骤508:合并写操作。
进一步地,对应于步骤505,此次写操作与上一次写操作的时间间隔大于等于预设的时间间隔时,本步骤具体为:将此次写操作之前的全部写操作合并为一次或多次写操作。
对应于步骤507,本步骤具体为:将此次写操作以及此次写操作之前的全部写操作合并为一次或多次写操作。
图6为本发明实施例提供的写操作合并方法实现流程示意图一,如图6所示,该方法包括以下步骤:
步骤601:统计开始。
步骤602:接收写操作。
步骤603:判断接收到的写操作是否为第一次写操作,如果是,执行步骤604;如果否,执行步骤605。
步骤604:记录接收到此次写操作的时刻作为初始时刻。
步骤605:判断接收到此次写操作与接收到上一次写操作的时间间隔是否小于预设的时间间隔,如果是,执行步骤606;如果否,执行步骤608。
步骤606:记录当前时刻。
步骤607:判断当前时刻与初始时刻的时长是否达到预设的第四阈值,如果是,执行步骤608;如果否,执行步骤602。
步骤608:合并写操作。
进一步地,对应于步骤605,接收到此次写操作与接收到上一次写操作的时间间隔大于等于预设的时间间隔时,本步骤具体为:将此次写操作之前的全部写操作合并为一次或多次写操作。
对应于步骤607,本步骤具体为:将此次写操作以及此次写操作之前的全部写操作合并为一次或多次写操作。
针对图1所示的高频次写操作方法,本发明实施例还提供了一种高频次写操作接口机,如图7所示,该高频次写操作接口机包括:统计模块71、合并模块72以及写入模块73;其中,
统计模块71,用于统计写操作的频率;
合并模块72,用于确定写操作为高频次写操作时,将高频次写操作合并为一次或多次写操作;
写入模块73,用于将一次或多次写操作的数据写入存储服务器。
优选地,统计模块71包括:第一统计子模块711、第一高频确定子模块712以及第一低频确定子模块713;其中,
第一统计子模块711,用于在预设的单位时间内,统计写操作的次数;
第一高频确定子模块712,用于在写操作的次数大于或等于预设的第一阈值时,确定为写操作为高频次写操作;
第一低频确定子模块713,用于在写操作的次数小于预设的第一阈值时,确定为写操作为低频次写操作。
优选地,合并模块72包括第一合并子模块721,用于将预设的单位时间内的高频次写操作合并为一次或多次写操作;其中,多次写操作的次数小于预设的单位时间内的高频次写操作的次数。
优选地,统计模块71还包括:第二统计子模块714、第二高频确定子模块715以及第二低频确定子模块716;其中,
第二统计子模块714,用于从预设的开始时刻起,统计写操作的次数;写操作的次数达到预设的第二阈值时,记录当前时刻;
第二高频确定子模块715,用于在当前时刻与预设的开始时刻的间隔小于预设的时间间隔时,确定为写操作为高频次写操作;
第二低频确定子模块716,用于在当前时刻与预设的开始时刻的间隔大于或等于预设的时间间隔时,确定为写操作为低频次写操作。
优选地,合并模块72还包括第二合并子模块722,用于将当前时刻与预设的开始时刻的时间间隔内的高频次写操作合并为一次或多次写操作;其中,多次写操作的次数小于当前时刻与预设的开始时刻的时间间隔内的高频次写操作的次数。
优选地,统计模块71还包括:第三统计子模块717、第三高频确定子模块718以及第三低频确定子模块719;其中,
第三统计子模块717,用于统计相邻两次写操作的时间间隔;
第三高频确定子模块718,用于当相邻两次写操作的时间间隔小于预设的时间间隔时,确定为写操作为高频次写操作;
第三低频确定子模块719,用于当相邻两次写操作的时间间隔大于或等于预设的时间间隔时,确定为写操作为低频次写操作。
优选地,合并模块72还包括第三合并子模块723,用于当高频次写操作的次数达到预设的第三阈值时,将高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于所述预设的第三阈值对应的高频次写操作的次数;或者,当高频次写操作持续发生的时长达到预设的第四阈值时,将高频次写操作合并为一次或多次写操作,其中,所述多次写操作的次数小于持续发生的时长达到预设的第四阈值时对应的高频次写操作的次数。
本领域技术人员应当理解,图7所示的高频次写操作接口机中的各模块及其子模块的实现功能可参照前述高频次写操作方法的相关描述而理解。图7所示的高频次写操作接口机中的各模块及其子模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本发明实施例还提供了一种高频次写操作系统,该高频次写操作系统包括上面的任意高频次写操接口机,如图8所示,该系统包括:高频次写操接口机81、路由设备82以及存储服务器83;其中,
路由设备82,用于接收客户端发送的写操作,并根据客户端的标识将写操作发送至对应的高频次写操作接口机81;
这里,可以根据客户端的标识将写操作发送至相应的一个或多个高频次写操作接口机81。具体地,可以根据高频次写操作接口机81的性能(例如数据处理能力)对高频次写操作接口机81划分优先级,优先级较高表示数据处理能力强、优先级较低表示数据处理能力弱。在具体实施时,优选地,针对一个写操作,将其发送至优先级较高的一个或多个高频次写操作接口机81。
高频次写操作接口机81,用于接收路由设备82发送的写操作;统计写操作的频率;确定写操作为高频次写操作时,将高频次写操作合并为一次或多次写操作;将一次或多次写操作的数据写入存储服务器83;
这里,在进行合并时,高频次写操作接口机81对于客户端标识相同的高频次写操作进行合并,得到一次或多次写操作。优选地,上述被合并的高频次写操作的目的地址(指示存储服务器83)相同。具体地,针对某一次合并得到的写操作,根据其目的地址(指示了一个或多个存储服务器83)将其数据写入相应的一个或多个存储服务器83。例如,针对多个应用上同时执行一次或多次写操作时,就需要在多个应用对应的多个存储服务器上写入该一次或多次写操作的数据。例如,在腾讯微博、新浪微博以及网易微博上同时执行一次或多次写操作时,就需要在腾讯微博、新浪微博以及网易微博所对应的腾讯微博服务器、新浪微博服务器以及网易微博服务器上写入一次或多次写操作的数据。
存储服务器83,用于接收并存储高频次写操作接口机81写入的一次或多次写操作的数据。
本领域技术人员应当理解,图8所示的高频次写操作系统中的各设备的实现功能可参照前述高频次写操作方法及高频次写操作接口机的相关描述而理解。
本发明上述实施例提供的高频次写操作方法、接口机及系统,还可以通过图10所示的流程示意图作进一步理解。接收到写操作时,由高频次写操作接口机中的统计模块统计写操作的频率;当统计出写操作为低频次写操作时,由高频次写操作接口机中的写入模块直接将写操作数据存储至存储服务器中;统计出写操作为高频次写操作时,由高频次写操作接口机中的合并模块将写操作合并为一个或多次写操作,再由高频次写操作接口机中的写入模块将合并后的写操作数据存储至存储服务器中。
针对本发明提供的高频次写操作方法、接口机及系统,读取数据的实现由高频次写操作接口机来执行,大致的过程包括:高频次写操作接口机接收读操作,并查看读操作对应的全部或部分数据是否为待合并的高频次写操作数据,如果不是,则直接到存储服务器中读取该读操作对应的数据;如果全部都是,则到读取待合并的高频次写操作数据;如果部分是,则先读取待合并的高频次写操作数据、再到存储服务器中读取该读操作的其他数据。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。