CN109032724B - 一种自定义弹幕消息的处理方法、装置、终端和存储介质 - Google Patents

一种自定义弹幕消息的处理方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN109032724B
CN109032724B CN201810696096.8A CN201810696096A CN109032724B CN 109032724 B CN109032724 B CN 109032724B CN 201810696096 A CN201810696096 A CN 201810696096A CN 109032724 B CN109032724 B CN 109032724B
Authority
CN
China
Prior art keywords
key
value pair
preset
value
bullet screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810696096.8A
Other languages
English (en)
Other versions
CN109032724A (zh
Inventor
张磊
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810696096.8A priority Critical patent/CN109032724B/zh
Publication of CN109032724A publication Critical patent/CN109032724A/zh
Application granted granted Critical
Publication of CN109032724B publication Critical patent/CN109032724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种自定义弹幕消息的处理方法、装置、终端和存储介质。该方法包括:调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;将所述键和所述键对应的值存入预设键值对对象中。通过采用上述技术方案,实现对特定的弹幕协议的消息进行解析处理,提升弹幕消息传输的效率和安全性。

Description

一种自定义弹幕消息的处理方法、装置、终端和存储介质
技术领域
本发明实施例涉及弹幕技术领域,尤其涉及一种自定义弹幕消息的处理方法、装置、终端和存储介质。
背景技术
随着网络交互平台的发展,越来越多的用户通过登录网络交互平台进行交流。其中,网络直播是非常受广大用户欢迎的应用。用户在观看直播的过程中,可以通过发送弹幕来表达自己的情感。其中,弹幕服务包括用户弹幕接收、处理和推送等重要功能。当客户端接收到弹幕服务器发送的弹幕消息后,需对弹幕消息进行解析,已将用户需要展示的弹幕消息在客户端界面进行展示。
传统方案中弹幕的消息一般为标准的JSON格式,那么可以使用标准的JSON的解析库可对弹幕消息进行解析操作。但是当客户端为了提高弹幕的传输效率和提高安全性使用了自定义协议的弹幕消息体时,采用导致传统方案中的JSON解码库将无法对弹幕消息进行解析操作。
发明内容
本发明实施例提供一种自定义弹幕消息的处理方法、装置、终端和存储介质,以实现对特定的弹幕协议的消息进行解析处理,提升弹幕消息传输的效率和安全性。
第一方面,本发明实施例提供了一种自定弹幕消息的处理方法,该方法包括:
调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
将所述键和所述键对应的值存入预设键值对对象中。
第二方面,本发明实施例还提供了一种自定义弹幕消息的处理装置,该装置包括:
第一拆分模块,用于调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
第二拆分模块,用于对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
键值对存储模块,用于将所述键和所述键对应的值存入预设键值对对象中。
第三方面,本发明实施例还提供了一种终端,该终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的自定义弹幕消息的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的自定义弹幕消息的处理方法。
本发明实施例通过调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,可得到至少一个键值对字符串。通过对键值对字符串按照第二符号进行第二拆分处理,可分别得到至少一个键和键对应的值,并可将键和键对应的值存入预设键值对对象中。通过采用上述技术方案,实现了对特定的弹幕协议的消息的解码处理,避免了传统的JSON解码库无法对特定弹幕消息进行解析,提升弹幕消息传输的效率和安全性。
附图说明
图1为本发明实施例一提供的一种自定义弹幕消息的处理方法的流程图;
图2为本发明实施例二提供的一种自定义弹幕消息的处理方法的流程图;
图3为本发明实施例三提供的一种自定义弹幕消息的处理装置的结构框图;
图4为本发明实施例四提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
为了清楚、明白的描述本发明各实施例,下面首先对本发明实施例的实现原理进行简单介绍:
本发明实施例对弹幕消息进行拆分是为了将弹幕消息按照键值对的形式进行存储,因此,在存储之前,需将弹幕消息中的键和其对应的值分别从弹幕消息中识别并提取出来。其中,自定义的弹幕消息本身的结构特征符合预设弹幕协议,即弹幕消息中的分隔符可将弹幕信息分割为多条键值对信息。对于每条键值对信息,采用另外一个符号为分隔单位,该分隔单位之前的字符串为键,该分隔单位之后的字符串为该键对应的值。据此,本发明实施例提供的对弹幕消息进行拆分处理,是按照弹幕消息本身的构造特点所设计,先将弹幕消息按照分隔符,即本发明实施例中提到的第一符号,拆分为多个键值对字符串,然后按照符号分隔单位,即本发明实施例中提到的第二符号,对键值对字符串进行拆分,得到键和其对应的值。
实施例一
图1为本发明实施例一提供的一种自定义弹幕消息的处理方法的流程图,该方法可以由一种自定弹幕消息的处理装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在安装有安卓系统的终端中,用于对自定义弹幕消息进行解析,参见图1,本实施例的方法具体包括:
S110、调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串。
其中,预设拆分函数为拆分函数split("")。该拆分函数为系统函数,使用较为方便,拆分效率较高。本实施例中,以第一符号为参数,通过调用函数split("")可对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串。
本实施例中,根据自定义弹幕消息本身的构造特征,第一符号可以为斜杠。
示例性的,在对弹幕消息进行拆分之前,可将弹幕消息标记为msgBody,通过以第一符号"/"为参数,调用拆分方法msgBody.split("/")方法,可将msgBody的内容按照"/"符号来进行分割处理,并将分分割好的结果存储在一个字符串数据数组中,并将该数组标记为String[]msgArray。
下面以具体的弹幕消息为例进行详细说明:
type@=uenter/rid@=104838/uid@=20080138/nn@=单翼幻想
/level@=19/ic@=avatar@S020@S08@S01@S38_avatar/rni@=0/el@=/sahf@=0/wgei@=0/
对于上述弹幕消息,通过调用预设拆分函数对接收到的弹幕消息按照第一符号斜杠进行第一拆分处理,得到的多个键值对字符串为“type@=uenter”、“rid@=104838”和“uid@=20080138”等。得到的多个键值对字符串可存储于数组String[]msgArray中。
S120、对键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值。
示例性的,第二拆分处理与第一拆分处理的实现方式相同,只是在调用拆分方法中所传递的参数不同。根据自定义弹幕消息本身的结构特征,本实施中,第二符号可以为"@=",即第二拆分处理是以"@="为参数,调用拆分方法split("@=")对键值对字符串进行拆分,可将上述键值对字符串按照"@="分为两部分,"@="前面的字符串为键,"@="后面的字符串为该键对应的值。
仍以上述具体的弹幕消息为例,通过对键值对字符串按照第二符号"@="进行第二拆分处理,可分别得到“type”和对应的“uenter”、“rid”和对应的“104838”以及“uid”和对应的“20080138”等键值对信息。
S130、将键和键对应的值存入预设键值对对象中。
示例性的,预设键值对对象kvMap的构建可通过调用哈希映射对象HashMap的构造方法来实现,其具体的构造方法如下:
HashMap<String,String>kvMap=new HashMap<String,String>();
调用上述方法是为了返回哈希映射对象HashMap<String,String>数据,该数据与键值对对象中的键和值的类型相同,均为字符串类型的数据,即通过调用上述方法,可以返回键值对信息存储与预设键值对对象kvMap中。
本实施例的技术方案,通过根据自定义弹幕消息本身的结构特征,对弹幕消息进行两次拆分处理,得到键值对信息存入预设键值对对象中。实现了对特定的弹幕协议的消息的解码处理,避免了传统的JSON解码库无法对特定弹幕消息进行解析,提升弹幕消息传输的效率和安全性。
实施例二
图2为本发明实施例二提供的一种自定义弹幕消息的处理方法的流程图,本实施例在上述实施例的基础上进行了优化,其中与上述实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供自定弹幕消息的处理方法包括:
S210、调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串。
S220、在预先定义的键值对转换方法中,调用预设拆分函数对所述键值对字符串按照第二符号进行第二拆分处理,将得到的至少一个键和键对应的值作为函数返回值,并存入预设键值对数组中。
其中,预先定义的键值对转换方法为函数convertToMap,该函数的返回值是两个字符串类型的数据,因此,利用该函数可将键值对字符串以键和其对应的值作为函数返回值存入预设键值对数组中。
具体的,对于键值对转换函数convertToMap的实现方法如下:
该键值对转换函数convertToMap的定义方法为:
private HashMap<String,String>convertToMap(String[]kvArray)
该函数是一个private私有权限的函数,这样就能够保证该函数不能被其他类调用到,从而可以起到一定的安全性保障。其次,该函数的返回值是一个哈希映射对象HashMap<String,String>数据,与键值对对象中的键和值的类型一致,均为字符串类型,即通过调用该键值对转换函数convertToMap,得到的返回值为键和其对应的值。
具体的,在键值对转换函数convertToMap的实现中,可依次从存储键值对字符串的数组msgArray中取出各元素的信息,并将该信息传递给预设键值对数组kvArray数组中的元素。从数组msgArray中每取到的一个元素,可将其标记为item,通过对item调用item.split("@=")可对键值对字符串按照第二符号"@="进行拆分,将得到的至少一个键和键对应的值作为函数返回值,并存入设定字键值对数组String[]kv中。
S230、判断预设键值对数组的长度是否大于,若是,则执行步骤S240;否则,执行步骤S250。
S240、判断键对应的值是否为非空信息,若是,则执行步骤S260;否则,执行步骤S270。
一般情况下,只要系统和弹幕服务器不出现故障,键值对的则键包含内容。因此,只需判断键值对数组中键对应的值是否包含内容即可。这样设置是为了保证实际接收到的弹幕消息中键值对的数量与预先计划接收的键值对的数量保持一致。例如,如果计划接收10个值,结果服务器只传了9个,最后一个值未传,则将最后一个值对应的内容设置为空字符串,以保证接收到的键值对数量与预先计划接收的键值对数量保存一致。因此,如果键值对数组中存储的键值对的值为空,则通过调用预设键值对对象kvMap中的存入方法kvMap.put(),将空对象转换为空字符串存入预先设置的键值对对象kvMap中。
S250、确定预设键值对数组的内容有误,不做处理,直接返回。
S260、通过调用预设键值对对象中的存入方法将键和键对应的非空值存入预先设置的键值对对象,继续执行步骤S280。
其中,预设键值对对象kvMap中的存入方法kvMap.put()用于存储键值对信息。
具体的,在正常情况下,kv[0]的内容是键,kv[1]的内容是值信息。如果判断出kv[1]中包含内容,则可直接调用预设键值对对象中的存入方法kvMap.put(kv[0],kv[1]),将键值对信息直接存储到kvMap对象中。
S270、以空对象为参数,通过调用预设键值对对象中的存入方法,将空对象转换为空字符串,并将键和键对应的空字符串存入预先设置的键值对对象中,继续执行步骤S280。
示例性的,如果kv[1]的内容是空的,此时可以空对象为参数,通过调用kvMap.put(kv[0],“”)方法将一个空对象转化成一个空字符串,并将键和其对应的空字符串存储到kvMap对象中。
S280、根据预设键值对对象中的键和值的对应关系,将值存储到预设数据存储对象中。
其中,预设数据存储对象为JavaBean对象。在构造预设数据存储对象时,需根据弹幕消息本身的构造特点定义一些字段信息,这些字段信息即为键值对中的键。这些字段都存在对应的信息获取方法get(),用于从JavaBean对象中提取信息。这些字段还存在对应的信息设置方法set(),用于从JavaBean对象中存入信息。JavaBean对象中字段信息的字段名,需与解析出的弹幕消息的键的名称保持一致,才可将键对应的值存入JavaBean对象的字段信息中。本实施例中,通过根据预设键值对对象中的键和值的对应关系,将值存储到预设数据存储对象中,可用于后续对弹幕消息的分发操作。
示例性的,在将预设键值对对象kvMap中的键和键对应的值存入预设数据存储对象中时,需先从预设键值对对象中提取出键值对中的值信息,具体提取方法可以键为参数,调用预设键值对对象kvMap中的信息获取方法kvMap.get获取到键值对中的值,然后将键作为JavaBean对象中的字段信息,并以字段信息为参数,调用预设数据存储对象中的信息设置方法set()方法,将键对应的值对存入JavaBean对象中。
下面以具体的弹幕消息为例进行详细说明:
type@=uenter/rid@=104838/uid@=20080138/nn@=单翼幻想
/level@=19/ic@=avatar@S020@S08@S01@S38_avatar/rni@=0/el@=/sahf@=0/wgei@=0/
在上述弹幕消息中,“rid”和“rid”均为键信息,即JavaBean对象中的字段信息,通过分别调用kvMap对象中的kvMap.get(“rid”)方法和kvMap.get(“uid”)方法,可获取键信息“rid”和“uid”各自对应的值信息。然后通过调用JavaBean对象中的信息设置方法,例如setRid方法和setUid方法,可将获取到的值信息存入JavaBean对象中。其中,JavaBean对象中的字段信息的名称与键信息的名称相同。通过按照上述方法,可将弹幕消息中的所有键值对信息封装到同一个预设存储对象中。
本实施例在上述实施例的基础上,将预设键值对对象中存储的弹幕消息存储到预设数据存储对象中,以用于后续对弹幕消息的分发操作。在此过程中,通过判断键值对的值是否为空,可以保证接收到的键值对数量与预先计划接收的数量相一致。此外,通过定义私有权限的键值对转换函数,可保证该函数不被其他类调用,从而可以起到一定的安全性保障。
实施例三
图3为本发明实施例三提供的一种自定义弹幕消息的处理装置的结构框图,该装置包括:第一拆分模块310、第二拆分模块320和键值对存储模块330。
其中,第一拆分模块310,用于调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
第二拆分模块320,用于对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
键值对存储模块330,用于将所述键和所述键对应的值存入预设键值对对象中。
本实施例的技术方案,通过根据自定义弹幕消息本身的结构特征,对弹幕消息进行两次拆分处理,得到键值对信息存入预设键值对对象中。实现了对特定的弹幕协议的消息的解码处理,避免了传统的JSON解码库无法对特定弹幕消息进行解析,提升弹幕消息传输的效率和安全性。
在上述实施例的基础上,所述第二拆分模块具体用于:
在预先定义的键值对转换方法中,调用预设拆分函数对所述键值对字符串按照第二符号进行第二拆分处理,将得到的至少一个键和所述键对应的值作为函数返回值。
在上述实施例的基础上,所述装置还包括:
返回值存储模块,用于将所述函数返回值存入预设键值对数组中;相应的,
所述键值对存储模块,包括:
判断单元,用于判断所述预设键值对数组的长度是否大于;
存储单元,如果判断结果为所述预设键值对数组的长度大于1,则将所述键和所述键对应的值存入预设键值对对象中。在上述实施例的基础上,所述存储单元具体用于:
判断所述键对应的值是否为非空信息;
如果为非空信息,则通过调用预设键值对对象中的存入方法将所述键和所述键对应的非空值存入预先设置的键值对对象;
如果所述预设键值对数组中存储的键值对的值为空,则以空对象为参数,通过调用预设键值对对象中的存入方法,将所述空对象转换为空字符串,并将所述键和所述键对应的空字符串存入预先设置的键值对对象中。
在上述实施例的基础上,所述方法还包括:
封装模块,用于根据所述预设键值对对象中的键和值的对应关系,将所述值存储到预设数据存储对象中。
在上述实施例的基础上,所述封装模块具体用于:
调用键值对对象中的信息获取方法,从所述键值对对象中获取各键对应的值;
将所述键作为预设数据存储对象中的字段信息;
以所述字段信息为参数,调用所述预设数据存储对象中的信息设置方法,将所述值存入所述预设数据存储对象中。
本发明实施例所提供的自定义弹幕消息的处理装置可执行本发明任意实施例所提供的自定义弹幕消息的处理方法,具备执行方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的自定义弹幕消息的处理方法。
实施例四
图4为本发明实施例四提供的一种终端的结构示意图。图4示出了适于用来实现本发明实施方式的示例性终端12的框图。图4显示的终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,终端12以通用计算设备的形式表现。终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
终端12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端12交互的设备通信,和/或与使得该终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端12的其它模块通信。应当明白,尽管图中未示出,可以结合终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的自定义弹幕消息的处理方法,该方法包括:
调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
将所述键和所述键对应的值存入预设键值对对象中。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的自定义弹幕消息的处理方法的技术方案。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于实现本发明任意实施例所提供的自定义弹幕消息的处理方法。该方法包括:
调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
将所述键和所述键对应的值存入预设键值对对象中。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种自定义 弹幕消息的处理方法,其特征在于,包括:
调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
将所述键和所述键对应的值存入预设键值对对象中,以用于对弹幕消息的分发操作;
根据所述预设键值对对象中的键和值的对应关系,将所述值存储到预设数据存储对象中,以用于对弹幕消息的分发操作,包括:
调用键值对对象中的信息获取方法,从所述键值对对象中获取各键对应的值;
将所述键作为预设数据存储对象中的字段信息;
以所述字段信息为参数,调用所述预设数据存储对象中的信息设置方法,将所述值存入预设数据存储对象中。
2.根据权利要求1所述的方法,其特征在于,对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值,包括:
在预先定义的键值对转换方法中,调用预设拆分函数对所述键值对字符串按照第二符号进行第二拆分处理,将得到的至少一个键和所述键对应的值作为函数返回值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述函数返回值存入预设键值对数组中;相应的,
将所述键和所述键对应的值存入预设键值对对象中,包括:
判断所述预设键值对数组的长度是否大于;
如果大于1,则将所述键和所述键对应的值存入预设键值对对象中。
4.根据权利要求3所述的方法,其特征在于,将所述键和所述键对应的值存入预设键值对对象中,包括:
判断所述键对应的值是否为非空信息;
如果为非空信息,则通过调用预设键值对对象中的存入方法将所述键和所述键对应的非空值存入预先设置的键值对对象;
如果所述预设键值对数组中存储的键值对的值为空,则以空对象为参数,通过调用预设键值对对象中的存入方法,将所述空对象转换为空字符串,并将所述键和所述键对应的空字符串存入预先设置的键值对对象中。
5.一种自定义弹幕消息的处理装置,其特征在于,包括:
第一拆分模块,用于调用预设拆分函数对接收到的弹幕消息按照第一符号进行第一拆分处理,得到至少一个键值对字符串;
第二拆分模块,用于对所述键值对字符串按照第二符号进行第二拆分处理,分别得到至少一个键和所述键对应的值;
键值对存储模块,用于将所述键和所述键对应的值存入预设键值对对象中;
封装模块,用于根据所述预设键值对对象中的键和值的对应关系,将所述值存储到预设数据存储对象中,以用于对弹幕消息的分发操作,包括;
调用键值对对象中的信息获取方法,从所述键值对对象中获取各键对应的值;
将所述键作为预设数据存储对象中的字段信息;
以所述字段信息为参数,调用所述预设数据存储对象中的信息设置方法,将所述值存入所述预设数据存储对象中。
6.根据权利要求5所述的装置,其特征在于,所述第二拆分模块具体用于:
在预先定义的键值对转换方法中,调用预设拆分函数对所述键值对字符串按照第二符号进行第二拆分处理,将得到的至少一个键和所述键对应的值作为函数返回值。
7.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的自定义弹幕消息的处理方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的自定义弹幕消息的处理方法。
CN201810696096.8A 2018-06-29 2018-06-29 一种自定义弹幕消息的处理方法、装置、终端和存储介质 Active CN109032724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810696096.8A CN109032724B (zh) 2018-06-29 2018-06-29 一种自定义弹幕消息的处理方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810696096.8A CN109032724B (zh) 2018-06-29 2018-06-29 一种自定义弹幕消息的处理方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN109032724A CN109032724A (zh) 2018-12-18
CN109032724B true CN109032724B (zh) 2022-06-24

Family

ID=65521936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810696096.8A Active CN109032724B (zh) 2018-06-29 2018-06-29 一种自定义弹幕消息的处理方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN109032724B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185901A (zh) * 2011-04-19 2011-09-14 北京神州数码思特奇信息技术股份有限公司 一种客户端报文转换方法
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统
CN108073391A (zh) * 2016-11-11 2018-05-25 阿里巴巴集团控股有限公司 一种json字符串传输、处理的方法及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159664A (zh) * 2015-08-07 2015-12-16 苏州博优赞信息科技有限责任公司 基于javascript实现键值对存储的方式
CN106954094B (zh) * 2017-03-21 2019-09-10 武汉斗鱼网络科技有限公司 弹幕信息的处理方法、装置及服务终端
CN107135427B (zh) * 2017-03-28 2021-01-01 武汉斗鱼网络科技有限公司 一种显示弹幕信息的方法和系统
CN107391632B (zh) * 2017-06-30 2021-02-23 北京奇虎科技有限公司 数据库存储处理方法、装置、计算设备及计算机存储介质
CN108089985B (zh) * 2017-12-14 2020-09-29 中国平安人寿保险股份有限公司 接口返回参数的校验方法、装置、设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185901A (zh) * 2011-04-19 2011-09-14 北京神州数码思特奇信息技术股份有限公司 一种客户端报文转换方法
CN108073391A (zh) * 2016-11-11 2018-05-25 阿里巴巴集团控股有限公司 一种json字符串传输、处理的方法及设备
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统

Also Published As

Publication number Publication date
CN109032724A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US10795629B2 (en) Text and custom format information processing method, client, server, and computer-readable storage medium
CN112636957B (zh) 基于日志的预警方法、装置、服务器及存储介质
CN107506256B (zh) 一种崩溃数据监控的方法和装置
CN111084991B (zh) 一种基于游戏的聊天方法、装置、终端及存储介质
CN111737022A (zh) 一种基于微服务的接口调用方法、系统、设备及介质
CN113568626B (zh) 动态打包、应用程序包开启方法、装置和电子设备
US11934287B2 (en) Method, electronic device and computer program product for processing data
CN110210212A (zh) 一种数据处理方法、装置以及相关设备
CN113114707B (zh) 一种电力芯片以太网控制器规则过滤方法
CN114528044B (zh) 一种接口调用方法、装置、设备及介质
CN109062560B (zh) 用于生成信息的方法和装置
CN111913922B (zh) 二进制结构化日志的生成方法、装置、设备及存储介质
CN114490715A (zh) 一种数据提取方法、装置、电子设备及存储介质
CN112581568B (zh) 动态海报的生成方法、装置、服务器及存储介质
CN112417016B (zh) 一种数据交换方法、系统、设备及存储介质
CN109032724B (zh) 一种自定义弹幕消息的处理方法、装置、终端和存储介质
CN107992457B (zh) 一种信息转换方法、装置、终端设备及存储介质
CN116781586A (zh) 一种gRPC流量解析方法、装置、设备及介质
CN109068170B (zh) 一种弹幕消息的存储方法、装置、终端和存储介质
CN113378025B (zh) 数据处理方法、装置、电子设备及存储介质
CN114205156A (zh) 面向切面技术的报文检测方法、装置、电子设备及介质
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN111131354B (zh) 用于生成信息的方法和装置
CN108959209B (zh) 一种弹幕消息的处理方法、装置、终端和存储介质
CN113779018A (zh) 一种数据处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant