【技术实现步骤摘要】
基于通用协议的消息分发方法、装置、设备及存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种基于通用协议的消息分发方法、装置、设备及存储介质。
技术介绍
目前,在基于Android系统开发的应用程序中,各种消息的分发方式除了将消息层层传递直至接收消息的目标视图的传统式的消息分发方式之外,还有一种基于专用协议的消息分发方式,其需要构建与消息功能对应的消息直达式传输的专用协议,通过该专用协议将消息直接传输至目标视图。基于专用协议的消息分发方式相对于传统的消息分发方式,能够很大程度上减少消息的传递次数,从而减少消息传输所需的系统资源。但是基于专用协议的消息分发方式需要针对每种功能设计相应的专用协议,例如,针对弹幕功能设计适合弹幕消息的数据类型的弹幕消息分发协议,针对颜色更新功能设计适合颜色消息的数据类型的颜色消息分发协议,针对进度条更新功能设计适合进度的数据类型的进度消息分发协议等。当消息功能增多时,便需要设计并维护大量的专用协议,无疑会降低代码可维护性。
技术实现思路
本专利技术实施例提供一种基于通用协议的消息分发方法、装置、设备及存储介质,以实现不同功能对应的各种消息的直达式分发,提高代码可维护性。第一方面,本专利技术实施例提供了一种基于通用协议的消息分发方法,包括:消息分发对象获取待分发消息,并确定所述待分发消息对应的消息接收对象,其中,所述消息接收对象基于通用消息分发协议而生成,所述通用消息分发协议包含通用消息分发函数,所述通用消息分发函数的输入参数的数据类型为具有目标数据结构的目标字符串类型,所述目标数据结构中包含预设消息标识字段;所述消息分发对象将所述 ...
【技术保护点】
1.一种基于通用协议的消息分发方法,其特征在于,包括:消息分发对象获取待分发消息,并确定所述待分发消息对应的消息接收对象,其中,所述消息接收对象基于通用消息分发协议而生成,所述通用消息分发协议包含通用消息分发函数,所述通用消息分发函数的输入参数的数据类型为具有目标数据结构的目标字符串类型,所述目标数据结构中包含预设消息标识字段;所述消息分发对象将所述待分发消息转换为所述目标字符串类型,生成目标分发消息;所述消息分发对象以所述目标分发消息为输入参数,调用所述消息接收对象中的通用消息分发函数,将所述目标分发消息分发至所述消息接收对象。
【技术特征摘要】
1.一种基于通用协议的消息分发方法,其特征在于,包括:消息分发对象获取待分发消息,并确定所述待分发消息对应的消息接收对象,其中,所述消息接收对象基于通用消息分发协议而生成,所述通用消息分发协议包含通用消息分发函数,所述通用消息分发函数的输入参数的数据类型为具有目标数据结构的目标字符串类型,所述目标数据结构中包含预设消息标识字段;所述消息分发对象将所述待分发消息转换为所述目标字符串类型,生成目标分发消息;所述消息分发对象以所述目标分发消息为输入参数,调用所述消息接收对象中的通用消息分发函数,将所述目标分发消息分发至所述消息接收对象。2.根据权利要求1所述的方法,其特征在于,所述目标数据结构包含结构开始符、消息标识键信息、与所述消息标识键信息对应的消息标识值信息、结构内容分割符、消息内容开始符、消息内容键值对信息及键值对分隔符、消息内容结束符和结构结束符,其中,所述结构开始符和所述结构结束符、以及所述消息内容开始符和所述消息内容结束符均为成对的字符,且所述结构开始符、所述消息内容开始符与所述目标数据结构中的剩余字符均不同。3.根据权利要求2所述的方法,其特征在于,将所述待分发消息转换为所述目标字符串类型,生成目标分发消息包括:所述消息分发对象调用动态字符串类生成动态字符串对象;所述消息分发对象以所述结构开始符、所述待分发消息对应的消息标识字段、所述消息标识字段对应的消息标识、所述结构内容分割符和所述消息内容开始符为输入参数,调用所述动态字符串对象的字符串连接函数,将所述结构开始符、所述消息标识字段、所述消息标识和所述结构内容分割符添加至所述动态字符串对象;所述消息分发对象遍历所述待分发消息,并分别将每次遍历获得的键值对信息和所述键值对分隔符为输入参数,调用所述动态字符串对象的所述字符串连接函数,将各所述键值对信息及各所述键值对分隔符添加至所述动态字符串对象;所述消息分发对象以所述消息内容结束符和所述结构结束符为输入参数,调用所述动态字符串对象的所述字符串连接函数,将所述消息内容结束符和所述结构结束符添加至所述动态字符串对象;所述消息分发对象调用所述动态字符串对象的字符串生成函数,生成所述目标字符串类型的目标字符串对象,作为所述目标分发消息。4.根据权利要求3所述的方法,其特征在于,在所述消息分发对象以所述目标分发消息为输入参数,调用所述消息接收对象中的通用消息分发函数,将所述目标分发消息分发至所述消息接收对象之后,还包括:所述消息接收对象分别调用所述目标字符串对象的字符串提取函数和字符串分割函数,获得所述目标字符串对象中的所述消息标识和各所述键值对信息,并依据所述消息标识和各所述键值对信息,触发执行所述消息标识对应的消息处理功能。5.根据权利要求1所述的方法,其特征在于,所述目标数据结构为Java对象简谱。6.根据权利要求5所述的方法,其特征在于...
【专利技术属性】
技术研发人员:张磊,
申请(专利权)人:武汉斗鱼鱼乐网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。