System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种通信数据处理方法、装置、电子设备和存储介质。
技术介绍
1、matrix是一个开源、可交互、去中心化的实时通信服务框架,使用matrix可以搭建安全的通信服务器,配合支持matrix的客户端可以实现个人、团队间的实时聊天交互。
2、目前,基于matrix的通信数据是由matrix sdk返回,matrix sdk所封装的底层数据包括了其本身运行所需的基本数据,这些数据在eventmessage类中定义,其中很多数据类型是上层业务不需要的,比如req、msgstate、event_id、room_id等在一些聊天业务场景中属于冗余数据,再者,若需要对数据进行拓展,则需要对eventmessage类结构进行深度解析以及对相应的数据进行二次封装和解码处理,每次在数据中新增字段均需要对eventmessage类进行二次封装和打包,难以拓展和管理,维护成本高。
技术实现思路
1、本专利技术提供了一种通信数据处理方法、装置、电子设备和存储介质,以解决现有技术中matrix sdk封装的底层数据冗余数据多以及难以管理和拓展的问题。
2、第一方面,本专利技术提供了一种通信数据处理方法,包括:
3、获取matrix sdk的eventmessage类所构建的原始数据;
4、判断所述原始数据的类型是否是预置类型;
5、若是,通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目
6、存储所述目标数据;
7、在接收到业务层调用预置类型的数据时,将所述预置类型的目标数据发送到所述业务层,所述业务层用于展示所述目标数据。
8、可选的,在判断所述原始数据的类型是否是预置类型之前,还包括:
9、获取业务层所需的数据的类型;
10、将所述业务层所需的数据的类型设置为预置类型。
11、可选的,在判断所述原始数据的类型是否是预置类型之前,还包括:
12、从所述原始数据的数据体中确定出所述原始数据的数据类型。
13、可选的,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
14、在所述原始数据的类型为用户类型时,构建jkpersional类数据,所述jkpersional类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
15、在所述jkpersional类数据中添加用户信息并封装,得到用户类型的目标数据,所述用户信息包括性别、头像、问候语、年龄、药品、科室中的至少一种。
16、可选的,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
17、在所述原始数据的类型为药品类数据时,构建jkdrugmessage类数据,所述jkdrugmessage类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
18、在所述jkdrugmessage类数据中添加药品信息并封装,得到药品类的目标数据,所述药品信息包括药品类型、药品批号、药品、品牌、使用科室中的至少一种。
19、可选的,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
20、在所述原始数据的类型为商品类数据时,构建jkskumessage类数据,所述jkskumessage类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
21、在所述jkskumessage类数据中添加商品信息并封装,得到商品类的目标数据,所述商品信息包括商品价格、商品识别码、商品链接中的至少一种。
22、可选的,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到目标数据,包括:
23、在所述原始数据的类型为医生类数据时,构建jkdoctormessage类数据,所述jkdoctormessage类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
24、在所述jkdoctormessage类数据中添加医生信息并封装,得到医生类的目标数据,所述医生信息包括医生名称、医生线上诊室链接、科室、技能中的至少一种。
25、第二方面,本专利技术提供了一种通信数据处理装置,包括:
26、原始数据获取模块,用于获取matrix sdk的eventmessage类所构建的原始数据;
27、类型判断模块,用于判断所述原始数据的类型是否是预置类型;
28、封装模块,用于通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,其中,所述jknormalmessage类继承matrix sdk的eventmessage类的属性并支持数据扩展;
29、数据存储模块,用于存储所述目标数据;
30、数据显示模块,用于在接收到业务层调用预置类型的数据时,将所述预置类型的目标数据发送到所述业务层,所述业务层用于展示所述目标数据。
31、可选的,还包括:
32、业务数据类型获取模块,用于获取业务层所需的数据的类型;
33、数据类型设置模块,用于将所述业务层所需的数据的类型设置为预置类型。
34、可选的,还包括:
35、数据类型读取模块,用于从所述原始数据的数据体中确定出所述原始数据的数据类型。
36、可选的,所述封装模块包括:
37、用户类型数据构建单元,用于在所述原始数据的类型为用户类型时,构建jkpersional类数据,所述jkpersional类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
38、用户类型数据封装单元,用于在所述jkpersional类数据中添加用户信息并封装,得到用户类型的目标数据,所述用户信息包括性别、头像、问候语、年龄、药品、科室中的至少一种。
39、可选的,所述封装模块包括:
40、药品类数据构建单元,用于在所述原始数据的类型为药品类数据时,构建jkdrugmessage类数据,所述jkdrugmessage类数据通过预置的jknormalmessage类继承所述eventmessage类的属性;
41、药品类数据封装单元,用于在所述jkdrugmessage类数据中添加药品信息,得到药品类的目标数据,所述药品信息包括药品类型、药品批号、药品、品牌、使用科室中的至少本文档来自技高网...
【技术保护点】
1.一种通信数据处理方法,其特征在于,包括:
2.如权利要求1所述的通信数据处理方法,其特征在于,在判断所述原始数据的类型是否是预置类型之前,还包括:
3.如权利要求1所述的通信数据处理方法,其特征在于,在判断所述原始数据的类型是否是预置类型之前,还包括:
4.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的JKNormalMessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
5.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的JKNormalMessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
6.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的JKNormalMessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
7.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的JKNormalMessage类对所述原始数据进行重封装,得到目标数据,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的通信数据处理方法。
...【技术特征摘要】
1.一种通信数据处理方法,其特征在于,包括:
2.如权利要求1所述的通信数据处理方法,其特征在于,在判断所述原始数据的类型是否是预置类型之前,还包括:
3.如权利要求1所述的通信数据处理方法,其特征在于,在判断所述原始数据的类型是否是预置类型之前,还包括:
4.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
5.如权利要求1-3任一项所述的通信数据处理方法,其特征在于,所述通过预置的jknormalmessage类对所述原始数据进行重封装,得到预置类型的目标数据,包括:
【专利技术属性】
技术研发人员:谢方敏,周峰,郭陟,郑耀辉,李庆红,吴玉鹏,黄理华,
申请(专利权)人:广州方舟信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。