一种数据发射方法及装置制造方法及图纸

技术编号:23399719 阅读:34 留言:0更新日期:2020-02-22 12:01
本发明专利技术公开了一种数据发射方法及装置,其中,所述方法包括:获取数据发射指令,所述数据发射指令指向与至少一个发射数据关联的多个分组数据;从所述多个分组数据中确定已在本地数据池中存储的目标分组数据,其中,每个所述目标分组数据中包括至少一个数据堆;在当前批次中读取至少一个所述目标分组数据,其中,若读取至少两组目标分组数据,所述至少两组目标分组数据中各个数据堆的堆数总和小于或者等于指定堆数阈值;将当前批次读取的所述目标分组数据封装为数据元组,并向所述数据发射指令的发起方发送所述数据元组。本申请提供的技术方案,能够提高数据处理的效率。

A data transmitting method and device

【技术实现步骤摘要】
一种数据发射方法及装置
本专利技术涉及互联网
,特别涉及一种数据发射方法及装置。
技术介绍
随着互联网中数据量的不断增长,目前通常基于分布式系统来处理庞大的网络数据量。其中,Storm作为一个分布式实时大数据处理系统,其具有巨大的处理数据的能力,且具备较高的可扩展性,在负载增加的情况下可以通过线性增加资源来保持性能。另外,Kafka是一个分布式的消息系统,它可用于将日志持久化到磁盘中。Kafka在保存数据时,通常可以根据数据的主题(topic)进行归类,同时每个数据主题中可以包含多个分组数据(partition),这些分组数据可以对一类数据主题中的数据进行分区存储。目前,在构建一个实时大数据处理平台时候,可以采用Storm集成Kafka的系统架构。业务数据或者业务日志可以实时地写入Kafka中,Storm则可以从Kafka中读取数据进行计算。在实际应用中,业务场景是复杂多变的,一个业务的分析可能需要读取多种类型的业务日志,因此一个Storm系统通常需要读取多个Kafka中的数据主题。业务通常都有高峰期,高峰期产生的本文档来自技高网...

【技术保护点】
1.一种数据发射方法,其特征在于,所述方法包括:/n获取数据发射指令,所述数据发射指令指向与至少一个发射数据关联的多个分组数据;/n从所述多个分组数据中确定已在本地数据池中存储的目标分组数据,其中,每个所述目标分组数据中包括至少一个数据堆;/n在当前批次中读取至少一个所述目标分组数据,其中,若读取至少两组目标分组数据,所述至少两组目标分组数据中各个数据堆的堆数总和小于或者等于指定堆数阈值;/n将当前批次读取的所述目标分组数据封装为数据元组,并向所述数据发射指令的发起方发送所述数据元组。/n

【技术特征摘要】
1.一种数据发射方法,其特征在于,所述方法包括:
获取数据发射指令,所述数据发射指令指向与至少一个发射数据关联的多个分组数据;
从所述多个分组数据中确定已在本地数据池中存储的目标分组数据,其中,每个所述目标分组数据中包括至少一个数据堆;
在当前批次中读取至少一个所述目标分组数据,其中,若读取至少两组目标分组数据,所述至少两组目标分组数据中各个数据堆的堆数总和小于或者等于指定堆数阈值;
将当前批次读取的所述目标分组数据封装为数据元组,并向所述数据发射指令的发起方发送所述数据元组。


2.根据权利要求1所述的方法,其特征在于,所述分组数据与发射数据按照以下方式建立关联关系:
在初始化时,读取各个数据主题的分组信息,其中,所述数据主题中包括多个分组数据,所述分组信息包括所述数据主题的标识以及所述数据主题中各个分组数据的标识;
将各个所述数据主题中的分组数据按照数据主题的标识以及分组数据的标识进行排序;
获取当前发射数据的索引标识,并根据所述索引标识,从排序后的分组数据中选取指定分组数据,并将所述指定分组数据分配给所述当前发射数据。


3.根据权利要求1所述的方法,其特征在于,在当前批次中读取至少一个所述目标分组数据包括:
针对当前批次的第一个目标分组数据,根据所述第一个目标分组数据中包含的数据堆的堆数总和,更新预设堆数统计参数的累计值;
若更新后的累计值小于所述指定堆数阈值,读取所述第一个目标分组数据中的各个数据堆,并遍历所述本地数据池中的其它目标分组数据;
针对遍历过程中的当前目标分组数据,计算所述当前目标分组数据中包含的数据堆的堆数总和与所述预设堆数统计参数的累计值之和,若计算出的结果大于所述指定堆数阈值,继续遍历下一个目标分组数据;若计算出的结果小于或者等于所述指定堆数阈值,读取所述当前目标分组数据中的各个数据堆,并根据所述当前目标分组数据中包含的数据堆的堆数总和,更新所述预设堆数统计参数的累计值,并继续遍历下一个目标分组数据;
相应地,当所述本地数据池中的目标分组数据遍历完成之后,将当前批次读取的各个目标分组数据封装为数据元组,并向所述数据发射指令的发起方发送所述数据元组。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若更新后的累计值大于或者等于所述指定堆数阈值,将所述第一个目标分组数据作为所述当前批次唯一读取的目标分组数据,并结束当前批次的数据读取过程。


5.根据权利要求1所述的方法,其特征在于,在向所述数据发射指令的发起方发送所述数据元组之后,所述方法还包括:
在内存中记录当前批次发送的各个目标分组数据对应的分组信息以及与所述分组信息相关联的数据偏移量;其中,目标分组数据对应的分组信息包括所述目标分组数据所属的数据主题的标识以及所述目标分组数据的标识,并且下一批次在所述本地资源池中读取分组数据时,从所述数据偏移量表征的位置开始读取数据。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述本地资源池中未存储的分组数据,获取所述未存储的分组数据的数据偏移量以及数据尺寸;
在预设分组数据库中从所述数据偏移量表征的位置开始,读取所述数据尺寸的数据,并将读取的所述数据划分为多个数据堆之后,将划分得到的数据堆按照所属的分组数据存放于所述本地资源池中。


7.根据权利要求6所述的方法,其特征在于,获取所述未存储的分组数据的数据偏移量包括:
若是第一次从所述预设分组数据库中读取数据,按照预设配置参数,从所述预设分组数据库中读取所述未存储的分组...

【专利技术属性】
技术研发人员:林斌树刘华明
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

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

1