【技术实现步骤摘要】
基于Netty框架的数据处理方法、装置、设备及存储介质
[0001]本专利技术涉及数据处理
,尤其涉及一种基于Netty框架的数据处理方法、装置、设备及存储介质。
技术介绍
[0002]数据处理技术包括处理数据的发送、接收的技术,尤其是在网络环境下的数据分发和对数据的NIO处理技术。现有的数据处理方案主要通过传统的java自带的socket网络编程来实现,存在性能差,类库麻烦等问题,在此基础上设计的客户端在面对断连重连、网络闪断、半包读写、心跳、失败缓存、网络拥塞和异常码流的处理等事件时,由于拆包性能差,数据传输过程中会出现数据传输不可靠的问题;由于类库麻烦、传输效率低,数据传输过程中会出现延迟较高的问题。
[0003]Netty是最流行的NIO框架,它的健壮性、功能、性能、可定制性和可扩展性在同类框架都是首屈一指的。但是现有的基于Netty框架的数据处理方法所采用的传输协议的传输效率都比较低,例如xml,json,protobufer,thrift和avro,这仍然会导致数据传输中的高延迟问题。
[0 ...
【技术保护点】
【技术特征摘要】
1.一种基于Netty框架的数据处理方法,所述Netty框架设有多个并行执行的线程,其特征在于,所述数据处理方法包括:获取服务端上的待发送数据,将所述待发送数据分发给多个线程执行;通过所述线程对对应的待发送数据按照预设的SBE协议进行编码处理,得到SBE消息;将所述SBE消息发送至客户端。2.根据权利要求1所述的基于Netty框架的数据处理方法,其特征在于,所述获取客户端上的待发送数据,将所述待发送数据分发给多个线程执行,包括:获取服务端上设有发送标记的数据,得到待发送数据;按照消息队列的存储规则,将所述待发送数据划分为多个片段,形成待处理消息队列;获取所述服务端上存在空闲资源的至少两个线程,并按照优先级对所述至少两个线程进行排序,得到线程序列;通过所述线程序列中的各线程依次轮询所述待处理消息队列,得到待处理消息队列中的资源要求,并判断对应的线程上空闲资源是否满足所述资源要求;若是,则将所述片段分发给对应的线程执行,直到所有片段分发完成。3.根据权利要求1所述的基于Netty框架的数据处理方法,其特征在于,所述通过所述线程对对应的待发送数据按照预设的SBE协议进行编码处理,得到SBE消息,包括:在所述待发送数据经划分而成的片段被分发给对应的线程执行后,通过所述线程构造一个通道,并构建与所述通道对应的管道;在所述管道上的Handler链上对所述片段按照预设的SBE协议进行编码处理,得到多个SBE消息片段,其中,所述Handler链包括至少一个Handler;将多个所述SBE消息片段进行合并,得到SBE消息。4.根据权利要求1所述的基于Netty框架的数据处理方法,其特征在于,所述将所述SBE消息发送至客户端,包括:在所述待发送数据被划分而成的片段被分发给对应的线程执行后,通过所述线程创建用于处理写事件的子通道;调用所述子通道上的调用链将所述SBE消息发送至服务端,其中,所述调用链包括至少一个Handler。5.根据权利要求2所述的基于Netty框架的数据处理方法,其特征在于,所述通过所述线程序列中的各线程依次轮询所述待处理消息队列,得到待处理消息队列中的资源要求,并判断对应的线程上空闲资源是否满足所述资源要求,包括:轮询所述待处理消息队列,判断消息队列中是否有所述待处理消息;如果消息队列中有所述待处理消息,则获取该待处理消息对应的事件类型,其中,不同的事件类型对应不同的...
【专利技术属性】
技术研发人员:孙旭,
申请(专利权)人:康键信息技术深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。