本发明实施例涉及计算机技术,尤其涉及一种直播间中数据的加工方法、装置、设备及存储介质。
背景技术:
在网络直播间中存在一类数据,这类数据中会包含多个图片(例如,不同分辨率,不同尺寸的图,不同价值状态下不同的图标等),且每个图片的信息中包含图片的完整地址信息,如相同的域名信息和各自不同的图片存储路径信息等。这类数据可以是直播间中的礼物数据、道具数据或弹幕数据等。
以礼物数据为例,当直播间客户端发出网络数据请求后,服务端会将请求的礼物数据中的所有图片的信息封装至一个json格式的对象中,并将该json对象发送至直播间客户端。这样,返回的json对象中便包含了大量重复的数据,例如图片的域名信息,导致了返回数据的数据量的增加,以及数据传输过程中过多的流量损耗。
技术实现要素:
本发明实施例提供一种直播间中数据的加工方法、装置、设备及存储介质,以实现在保证直播间中数据完整性的基础上,简化直播间中包含重复信息的数据,从而节省数据传输流量。
第一方面,本发明实施例提供了一种直播间中数据的加工方法,包括:
获取直播间中以预设数据结构存储的目标数据,所述目标数据中包含至少两个相同类型的目标子数据,且每个所述目标子数据中包含相同的数据元素,所述预设数据结构包含共享字段和目标子数据字段,所述共享字段用于存储所述数据元素,所述目标子数据字段用于存储所述目标子数据中除所述数据元素之外的剩余数据;
解析所述目标数据,获得各所述目标子数据,以用于直播间中的数据流转。
第二方面,本发明实施例还提供了一种直播间中数据的加工装置,该装置包括:
目标数据获取模块,用于获取直播间中以预设数据结构存储的目标数据,所述目标数据中包含至少两个相同类型的目标子数据,且每个所述目标子数据中包含相同的数据元素,所述预设数据结构包含共享字段和目标子数据字段,所述共享字段用于存储所述数据元素,所述目标子数据字段用于存储所述目标子数据中除所述数据元素之外的剩余数据;
数据加工模块,用于解析所述目标数据,获得各所述目标子数据,以用于直播间中的数据流转。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的直播间中数据的加工方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的直播间中数据的加工方法。
本发明实施例通过设计包含共享字段和目标子数据字段的预设数据结构,将目标数据中的每个目标子数据均拆分为信息共享的数据元素和信息有差异的剩余数据,实现了在保证目标数据完整性和可用性的基础上,简化目标数据的数据量,从而减少了目标数据传输过程中的流量损耗。
附图说明
图1是本发明实施例一中的一种直播间中数据的加工方法的流程图;
图2是本发明实施例二中的一种直播间中数据的加工方法的流程图;
图3是本发明实施例三中的一种直播间中数据的加工装置的结构示意图;
图4是本发明实施例四中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的直播间中数据的加工方法可适用于直播间中包含重复信息的数据的加工,例如礼物数据、道具数据和弹幕数据等。该方法可以由直播间中数据的加工装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有直播间客户端的电子设备中,例如典型的是用户终端设备,例如手机、平板电脑或台式电脑等。参见图1,本实施例的方法包括:
s110、获取直播间中以预设数据结构存储的目标数据。
其中,目标数据是指需要在直播间客户端中被加工处理的数据,例如可以是礼物数据、道具数据或弹幕数据等。目标数据中包含至少两个相同类型的目标子数据,且每个目标子数据中包含相同的数据元素。目标子数据是目标数据的内部数据,其内包含部分与其他目标子数据的数据内容重复的信息。这些内容重复的信息即为数据元素。预设数据结构是预先设计的数据存储结构,其用于简化目标数据。预设数据结构包含共享字段和目标子数据字段,共享字段用于存储数据元素,目标子数据字段用于存储目标子数据中除数据元素之外的剩余数据。
相关技术中,在目标数据对应的原始数据存储结构中并没有共享字段,而只有目标子数据字段,即目标子数据字段存储了一个目标子数据包含的数据元素和剩余数据的全部数据,其并不进行数据拆分,由此导致了目标数据中会存储多个数据元素,造成数据冗余。而本发明实施例中在预设数据结构中新增了共享字段,且保留了目标子数据字段,这样便可以将每个目标子数据进行拆分,使得共享字段中存储数据元素,而每个目标子数据字段中存储目标子数据中的数据差异部分,即目标子数据中的剩余数据。如此,便可减少目标数据中的冗余数据量,简化目标数据的数据量。
示例性地,目标子数据为图片信息,数据元素为图片信息中的域名,剩余数据为图片信息中的存储路径。例如,目标数据中包含两个图片类型的目标子数据,分别为“https://gfs-test-op.douyucdn.cn/dygift/1533881378191.png”和“https://gfs-test-op.douyucdn.cn/dygift/1533881317525.png”,那么上述数据元素便为“https://gfs-test-op.douyucdn.cn/dygift”,而剩余数据分别为“1533881378191.png”和“1533881317525.png”的存储路径。
当直播间客户端需要利用目标数据进行相应操作(如显示)时,首先会通过标准的http请求来从网络端(或服务端)请求该目标数据。当网络端(或服务端)接收到数据请求后,便会将目标数据按照预设数据结构打包,以形成便于网络传输的数据,例如形成json格式的目标数据,此处的json格式满足预设数据结构要求。之后,网络端(或服务端)便将目标数据发送至直播间客户端。至此,直播间客户端便获取到了按照预设数据结构存储的目标数据。
s120、解析目标数据,获得各目标子数据,以用于直播间中的数据流转。
直播间客户端获得目标数据之后,便会解析目标数据,以实现目标数据的加工,进而获得其中包含的各子数据(目标数据的内部数据),也就获得了各目标子数据,这些目标子数据和其他子数据均用于直播间中的数据流转,例如数据显示、运算和存储等。
示例性地,解析目标数据,获得各目标子数据包括:
a、解析目标数据,以获得数据元素和各剩余数据。
根据上述说明,目标数据中的目标子数据被拆分为数据元素和剩余数据,那么如果直接按照json数据的解析方式来解析上述目标数据,便只能获得目标子数据中的剩余数据(例如图片的存储路径),而无法直接获得完整的目标子数据。故本实施例中在对目标数据进行加工的过程中,便需要先解析目标数据,以分别获得数据元素和剩余数据,进而对这些拆分的数据进行二次组装,以便获得数据完整的目标子数据,这样可以尽量减少数据传输过程中的流量损耗且提升目标数据的获取效率,同时提高目标数据在后续操作中的访问便捷性。
示例性地,解析目标数据,以获得数据元素和各剩余数据包括:依据共享字段和各目标子数据字段,基于字符串处理算法,从目标数据中提取出数据元素和各剩余数据。
从目标数据中获取数据元素和剩余数据的方式可以为:由于目标数据是以json字符串形式存储,故可以按照字符串处理算法,利用共享字段和目标子数据字段对目标数据进行字符串拆分和提取,以分别从目标数据中提取出数据元素和各个剩余数据。虽然json格式层级关系复杂,字符串提取操作相应地复杂化,但是该操作无需转换数据格式,能够在一定程度上简化数据提取逻辑。
b、依据数据元素和各剩余数据,生成各目标子数据,并将各目标子数据存储至相应的目标子数据字段中,以覆盖各目标子数据字段中的剩余数据,完成目标数据的加工。
本实施例中二次组装的思路为:向目标子数据字段对应的剩余数据中自动添加其缺失的数据元素,并将添加数据元素后的剩余数据回填到对应的目标子数据字段对应的字段值位置处。具体实施时,将获得的数据元素和每个剩余数据进行字符串拼接。例如,将数据元素“https://gfs-test-op.douyucdn.cn/dygift”分别和剩余数据“1533881378191.png”和“1533881317525.png”拼接,获得完整的目标子数据“https://gfs-test-op.douyucdn.cn/dygift/1533881378191.png”和“https://gfs-test-op.douyucdn.cn/dygift/1533881317525.png”。之后,将完整的目标子数据回填至相应的目标子数据字段中,覆盖掉目标子数据字段对应的剩余数据。例如,目标子数据字段“giftpic”原本对应的字段值为剩余数据“1533881378191.png”,经过上述数据加工之后,目标子数据字段“giftpic”对应的字段值便为“https://gfs-test-op.douyucdn.cn/dygift/1533881378191.png”。这样既能够保证目标表数据的数据结构完整性,又能保证目标子数据的完整性,便于后续数据流转过程中的数据访问。
本实施例的技术方案,通过设计包含共享字段和目标子数据字段的预设数据结构,将目标数据中的每个目标子数据均拆分为信息共享的数据元素和信息有差异的剩余数据,实现了在保证目标数据完整性和可用性的基础上,简化目标数据的数据量,从而减少了目标数据传输过程中的流量损耗。
实施例二
本实施例在上述实施例的基础上,对“解析目标数据,以数据元素和各剩余数据”进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。本实施例中以目标数据为礼物数据进行说明。参见图2,本实施例提供的直播间中数据的加工方法包括:
s210、获取直播间中以预设数据结构存储的目标数据。
其中,目标数据中包含至少两个相同类型的目标子数据,且每个目标子数据中包含相同的数据元素,预设数据结构包含共享字段和目标子数据字段,共享字段用于存储数据元素,目标子数据字段用于存储目标子数据中除数据元素之外的剩余数据。
例如,以预设数据结构存储的目标数据中的一部分数据可示例如下:
上述目标数据中,字段“picurlprefix”便为新增的共享字段,而字段“giftpic”、“chatpic”、“focuspic”和“bannerpics”等便为目标子数据字段。
s220、解析目标数据,以将其转换为javabean类型的目标对象,并遍历目标对象包含的数据列表,获得数据列表中的各字段值和各子数据对象。
其中,目标对象为目标数据对应的对象。字段值是指数据列表中各字段对应的字符串。子数据对象是指数据列表中具有更深层级的嵌套结构对应的javabean对象,即子数据对象为javabean类型。
解析目标数据,将其从json格式转换为javabean格式。由于礼物数据的层级较深,所以会存在多个bean嵌套的情况,为了后续描述的方便,将json中的所有对象信息直接通过其相应的key bean的方式来进行描述,其中key表示的是json中的键信息。
例如,上述整个礼物数据结构描述为allgiftbean(整个礼物数据比较特殊,没有key),礼物列表数据(即字段“giftlist”及其后中括号中的数据段)会描述为giftlistbean,列表中具体的礼物数据(例如字段“id”、“picurlprefix”及“basicinfo”等对应的数据段)会描述为giftbean,以此类推来描述相关的数据bean信息。
由于目标子数据处于数据列表中,故在获得目标对象allgiftbean后,便需要访问其中的giftlist字段对应的数据列表。首先,通过allgiftbean.giftlist==null的方式来对数据列表进行判空处理。如果为空对象null,那么说明目标数据中没有需要处理的数据,可直接结束本次数据加工流程。反之,通过目标对象访问数据列表字段allgiftbean.giftlist来获得目标对象中的数据列表giftlistbean数据。之后,通过增强for循环的方式来遍历数据列表对象giftlistbean中的数据,具体可以是通过for(giftbeaningiftlistbean)的方式来进行遍历,这样每次的循环体中得到的是数据列表giftlistbean中的一条数据,例如字段“id”对应的字段值“869”,共享字段"picurlprefix"对应的字段值"https://gfs-test-op.douyucdn.cn/dygift",子数据对象giftbasicinfobean和子数据对象gifteffectinfobean等。
s230、依据共享字段及各字段值对应的字段,从各字段值中确定数据元素。
通过上述操作,可以获得多个字段值,其中包含共享字段对应的数据元素。此时,以共享字段为查找索引,从获得的各字段值中查找出共享字段对应的字段值,作为数据元素。例如,将共享字段“picurlprefix”与s220所获得的“id”、“name”和“picurlprefix”等字段进行匹配,当匹配一致时,将匹配一致的字段“picurlprefix”对应的字段值“https://gfs-test-op.douyucdn.cn/dygift”作为从各字段值中确定的数据元素。
s240、若子数据对象对应的字段与预设字段一致,则通过子数据对象访问目标子数据字段,获得目标子数据字段对应的剩余数据。
其中,预设字段对应的数据段中包含目标子数据字段。根据上述说明,预设数据结构中针对目标子数据进行了特殊的改进,故对目标数据的加工,需要将目标子数据组装完整。而目标子数据对应的目标子数据字段是预先确定的,故可以将其作为预设字段。示例性地,目标数据为礼物数据,预设字段至少包含礼物基本信息字段basicinfo和礼物特效信息字段effectinfo。
对于s220所获得的各子数据对象,将其对应的字段与预设字段进行比较。如果比较结果一致,那么该子数据对象便是需要进行二次组装的目标子数据对应的bean对象。此时,可以先判断该子数据对象是否为空对象,在其不为空对象时,通过该子数据对象内部的元素访问函数,来访问该子数据对象包含的目标子数据字段,从而获得目标子数据字段对应的字段值,即剩余数据。
例如,通过giftbean.basicinfo?.giftpic、giftbean.basicinfo?.chatpic和giftbean.basicinfo?.focuspic分别来获得子数据对象giftbasicinfobean中包含的目标子数据字段giftpic、chatpic和focuspic对应的剩余数据“1533881378191.png”、“1533881317525.png”和“1533881326994.gif”。上述代码中“?.”的作用为先判断“?”之前的对象是否为空,不为空时执行“.”之后的数据访问操作。
示例性地,通过子数据对象访问目标子数据字段,获得目标子数据字段对应的剩余数据包括:若预设字段为具有键值对集合结构的子数据对象对应的字段,则通过子数据对象调用元素遍历函数,获得子数据对象中包含的各键值对对象;通过键值对对象,调用值信息获取函数,获得键值对对象中包含的目标子数据列表对象;遍历目标子数据列表对象,获得子数据对象对应的各剩余数据。
根据上述目标数据的示例代码可知,目标数据的数据列表中除了包含礼物基本信息字段对应的子数据对象之外,还包含礼物特效信息字段effectinfo对应的子数据对象gifteffectinfobean。并且,子数据对象gifteffectinfobean的结构更加复杂,其是一个具有键值对集合结构map性质的集合,因此需要针对这个数据进行特殊的逻辑处理,具体的处理方法如下:
首先调用子数据对象中的元素遍历函数,如giftbean.effectinfo?.foreach(),来得到map中具体的键值对对象,如键信息为“55”,值信息为该键信息对应的花括号中的数据段。之后,通过键值对对象,调用值信息获取函数,获得键值对对象中包含的目标子数据列表对象。具体实施过程为:在foreach中通过valgifteffectbean:gifteffectinfobean=it.value的方式将获取到的键值对对象中的值信息新赋值给一个局部变量gifteffectbean中。然后通过gifteffectbean.banner?.bannerpics?.entries?.iterator()的方法获取到bannerpicsbean对象的目标子数据列表对象iterator,并将其赋值给变量bannerpicsiterator对象,具体的实现方法是valbannerpicsiterator=gifteffectbean.banner?.bannerpics?.entries?.iterator()。最后,在判断bannerpicsiterator对象不为空对象的基础上,通过while(bannerpicsiterator.hasnext())函数调用的方式来判定bannerpicsiterator对象中是否还有数据需要处理。如果有数据待处理,那么通过valentry=bannerpicsiterator.next()的调用来遍历并获取到bannerpicsiterator中的一个entry对象,那么entry其实就是具体的bannerpics的存储路径,即目标子数据对应的一个剩余数据,如"xxxx1.png"、"xxxx1.png"或"xxxx1.png"。
s250、依据数据元素和各剩余数据,生成各目标子数据,并将各目标子数据存储至相应的目标子数据字段中,以覆盖各目标子数据字段中的剩余数据,完成目标数据的加工。
对于目标子数据字段basicinfo,其字符串拼接及数据覆盖方式可以为:giftbean.basicinfo?.giftpic=giftbean.picurlprefix giftbean.basicinfo?.giftpic、giftbean.basicinfo?.chatpic=giftbean.picurlprefix giftbean.basicinfo?.chatpic以及giftbean.basicinfo?.focuspic=giftbean.picurlprefix giftbean.basicinfo?.focuspic。而对于目标子数据字段effectinfo,其字符串拼接及数据覆盖方式可以为:valurl=giftbean.picurlprefix entry.value,其将目标子数据列表对象中的每个剩余数据与数据元素拼接,并将拼接所得的长字符串赋值给变量url,之后通调用entry.setvalue(url)方法将组装完整的目标子数据回填到原始数据结构中,完成相应剩余数据的覆盖。
本实施例的技术方案,通过解析目标数据,以将其转换为javabean类型的目标对象,并遍历目标对象包含的数据列表,获得数据列表中的各字段值和各子数据对象;依据共享字段及各字段值对应的字段,从各字段值中确定数据元素;若子数据对象对应的字段与预设字段一致,则通过子数据对象访问目标子数据字段,获得目标子数据字段对应的剩余数据。实现了数据元素和各剩余数据的快速解析,从而提高了目标数据的数据加工效率,提高了目标数据中目标子数据的访问便捷性。
实施例三
本实施例提供一种直播间中数据的加工装置,参见图3,该装置具体包括:
目标数据获取模块310,用于获取直播间中以预设数据结构存储的目标数据,目标数据中包含至少两个相同类型的目标子数据,且每个目标子数据中包含相同的数据元素,预设数据结构包含共享字段和目标子数据字段,共享字段用于存储数据元素,目标子数据字段用于存储目标子数据中除数据元素之外的剩余数据;
数据加工模块320,用于解析目标数据,获得各目标子数据,以用于直播间中的数据流转。
可选地,数据加工模块320包括:
数据解析子模块,用于解析目标数据,以获得数据元素和各剩余数据;
数据加工子模块,用于依据数据元素和各剩余数据,生成各目标子数据,并将各目标子数据存储至相应的目标子数据字段中,以覆盖各目标子数据字段中的剩余数据,完成目标数据的加工。
可选地,数据解析子模块具体用于:
解析目标数据,以将其转换为javabean类型的目标对象,并遍历目标对象包含的数据列表,获得数据列表中的各字段值和各子数据对象,子数据对象为javabean类型;
依据共享字段及各字段值对应的字段,从各字段值中确定数据元素;
若子数据对象对应的字段与预设字段一致,则通过子数据对象访问目标子数据字段,获得目标子数据字段对应的剩余数据,其中,预设字段对应的数据段中包含目标子数据字段。
进一步地,数据解析子模块具体用于:
若预设字段为具有键值对集合结构的子数据对象对应的字段,则通过子数据对象调用元素遍历函数,获得子数据对象中包含的各键值对对象;
通过键值对对象,调用值信息获取函数,获得键值对对象中包含的目标子数据列表对象;
遍历目标子数据列表对象,获得子数据对象对应的各剩余数据。
可选地,数据解析子模块具体用于:
依据共享字段和各目标子数据字段,基于字符串处理算法,从目标数据中提取出数据元素和各剩余数据。
可选地,目标子数据为图片信息,数据元素为图片信息中的域名,剩余数据为图片信息中的存储路径。
进一步地,目标数据为礼物数据,预设字段至少包含礼物基本信息字段和礼物特效信息字段。
通过本发明实施例三的一种直播间中数据的加工装置,实现了在保证目标数据完整性和可用性的基础上,简化目标数据的数据量,从而减少了目标数据传输过程中的流量损耗。
本发明实施例所提供的直播间中数据的加工装置可执行本发明任意实施例所提供的直播间中数据的加工方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述直播间中数据的加工装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
参见图4,本实施例提供了一种电子设备,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器420执行,使得一个或多个处理器420实现本发明实施例所提供的直播间中数据的加工方法,包括:
获取直播间中以预设数据结构存储的目标数据,目标数据中包含至少两个相同类型的目标子数据,且每个目标子数据中包含相同的数据元素,预设数据结构包含共享字段和目标子数据字段,共享字段用于存储数据元素,目标子数据字段用于存储目标子数据中除数据元素之外的剩余数据;
解析目标数据,获得各目标子数据,以用于直播间中的数据流转。
当然,本领域技术人员可以理解,处理器420还可以实现本发明任意实施例所提供的直播间中数据的加工方法的技术方案。
图4显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图4所示,该电子设备包括处理器420、存储装置410、输入装置430和输出装置440;设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的直播间中数据的加工方法对应的程序指令/模块(例如,直播间中数据的加工装置中的目标数据获取模块和数据加工模块)。
存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种直播间中数据的加工方法,该方法包括:
获取直播间中以预设数据结构存储的目标数据,目标数据中包含至少两个相同类型的目标子数据,且每个目标子数据中包含相同的数据元素,预设数据结构包含共享字段和目标子数据字段,共享字段用于存储数据元素,目标子数据字段用于存储目标子数据中除数据元素之外的剩余数据;
解析目标数据,获得各目标子数据,以用于直播间中的数据流转。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的直播间中数据的加工方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的直播间中数据的加工方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
1.一种直播间中数据的加工方法,其特征在于,包括:
获取直播间中以预设数据结构存储的目标数据,所述目标数据中包含至少两个相同类型的目标子数据,且每个所述目标子数据中包含相同的数据元素,所述预设数据结构包含共享字段和目标子数据字段,所述共享字段用于存储所述数据元素,所述目标子数据字段用于存储所述目标子数据中除所述数据元素之外的剩余数据;
解析所述目标数据,获得各所述目标子数据,以用于直播间中的数据流转。
2.根据权利要求1所述的方法,其特征在于,解析所述目标数据,获得各所述目标子数据包括:
解析所述目标数据,以获得所述数据元素和各所述剩余数据;
依据所述数据元素和各所述剩余数据,生成各所述目标子数据,并将各所述目标子数据存储至相应的目标子数据字段中,以覆盖各所述目标子数据字段中的所述剩余数据,完成所述目标数据的加工。
3.根据权利要求2所述的方法,其特征在于,解析所述目标数据,以所述数据元素和各所述剩余数据包括:
解析所述目标数据,以将其转换为javabean类型的目标对象,并遍历所述目标对象包含的数据列表,获得所述数据列表中的各字段值和各子数据对象,所述子数据对象为javabean类型;
依据所述共享字段及各所述字段值对应的字段,从各所述字段值中确定所述数据元素;
若所述子数据对象对应的字段与预设字段一致,则通过所述子数据对象访问所述目标子数据字段,获得所述目标子数据字段对应的所述剩余数据,其中,所述预设字段对应的数据段中包含所述目标子数据字段。
4.根据权利要求3所述的方法,其特征在于,通过所述子数据对象访问所述目标子数据字段,获得所述目标子数据字段对应的所述剩余数据包括:
若所述预设字段为具有键值对集合结构的子数据对象对应的字段,则通过所述子数据对象调用元素遍历函数,获得所述子数据对象中包含的各键值对对象;
通过所述键值对对象,调用值信息获取函数,获得所述键值对对象中包含的目标子数据列表对象;
遍历所述目标子数据列表对象,获得所述子数据对象对应的各剩余数据。
5.根据权利要求2所述的方法,其特征在于,解析所述目标数据,以获得所述数据元素和各所述剩余数据包括:
依据所述共享字段和各所述目标子数据字段,基于字符串处理算法,从所述目标数据中提取出所述数据元素和各所述剩余数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标子数据为图片信息,所述数据元素为所述图片信息中的域名,所述剩余数据为所述图片信息中的存储路径。
7.根据权利要求6所述的方法,其特征在于,所述目标数据为礼物数据,所述预设字段至少包含礼物基本信息字段和礼物特效信息字段。
8.一种直播间中数据的加工装置,其特征在于,包括:
目标数据获取模块,用于获取直播间中以预设数据结构存储的目标数据,所述目标数据中包含至少两个相同类型的目标子数据,且每个所述目标子数据中包含相同的数据元素,所述预设数据结构包含共享字段和目标子数据字段,所述共享字段用于存储所述数据元素,所述目标子数据字段用于存储所述目标子数据中除所述数据元素之外的剩余数据;
数据加工模块,用于解析所述目标数据,获得各所述目标子数据,以用于直播间中的数据流转。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的直播间中数据的加工方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的直播间中数据的加工方法。
技术总结