CN109325496A - 基于字符去除的弹幕校验方法、装置、终端及存储介质 - Google Patents

基于字符去除的弹幕校验方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN109325496A
CN109325496A CN201811160428.7A CN201811160428A CN109325496A CN 109325496 A CN109325496 A CN 109325496A CN 201811160428 A CN201811160428 A CN 201811160428A CN 109325496 A CN109325496 A CN 109325496A
Authority
CN
China
Prior art keywords
default
barrage
barrage data
data
character
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.)
Granted
Application number
CN201811160428.7A
Other languages
English (en)
Other versions
CN109325496B (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 CN201811160428.7A priority Critical patent/CN109325496B/zh
Publication of CN109325496A publication Critical patent/CN109325496A/zh
Application granted granted Critical
Publication of CN109325496B publication Critical patent/CN109325496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • 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)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明实施例公开了一种基于字符去除的弹幕校验方法、装置、终端及存储介质。该方法包括:获取预设字符串嵌套结构的目标弹幕数据;调用存储目标弹幕数据的弹幕数据对象中字符验证函数,对目标弹幕数据中首位字符和末位字符进行验证;若字符验证成功,则调用弹幕数据对象中第一字符去除函数去除目标弹幕数据中各预设开始符,获得第一弹幕数据;根据预设去除方式去除第一弹幕数据中各预设结束符,获得第二弹幕数据;调用标识符确定函数确定第二弹幕数据中预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。通过本发明实施例的技术方案,可以对嵌套结构的弹幕数据进行完整性校验。

Description

基于字符去除的弹幕校验方法、装置、终端及存储介质
技术领域
本发明实施例涉及弹幕技术领域,尤其涉及一种基于字符去除的弹幕校验方法、装置、终端及存储介质。
背景技术
随着智能终端的快速发展,各种应用软件被开发应用于智能终端中。一些应用软件比如直播软件、视频播放软件中往往具有弹幕接收、解析和推送等弹幕功能。在开发这些应用软件的过程中,需要对服务器下发的弹幕数据进行相关测试,以确定弹幕功能是否正常运行。
目前,基于Android操作系统的应用软件开发中,服务器在根据预设弹幕协议构建完成弹幕数据之后,往往直接将构建的弹幕数据下发至客户端,并且客户端在接收到弹幕数据时,也是直接对弹幕数据进行解析和分发处理。
可见,在现有的弹幕数据下发过程以及接收过程中,服务器和客户端均未对弹幕数据进行任何校验,从而当弹幕数据存在异常情况时,便会导致弹幕测试流程出现错误,甚至导致客户端出现系统崩溃等问题,严重影响了弹幕测试效率。
发明内容
本发明实施例提供了一种基于字符去除的弹幕校验方法、装置、终端及存储介质,以对弹幕数据进行完整性校验,从而保证弹幕数据可以被正常解析,避免导致客户端出现系统崩溃等问题。
第一方面,本发明实施例提供了一种基于字符去除的弹幕校验方法,包括:
获取预设字符串嵌套结构的目标弹幕数据,其中,所述预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符;
调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用所述弹幕数据对象中的第一字符去除函数去除所述目标弹幕数据中的各所述预设开始符,获得第一弹幕数据;
根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据;
调用存储所述第二弹幕数据的第二数据对象中的标识符确定函数,确定所述第二弹幕数据中的预设标识符数量,并在所述预设标识符数量满足预设校验条件时,确定所述目标弹幕数据校验成功。
第二方面,本发明实施例还提供了一种基于字符去除的弹幕校验装置,包括:
目标弹幕数据获取模块,用于获取预设字符串嵌套结构的目标弹幕数据,其中,所述预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符;
字符验证模块,用于调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
第一弹幕数据获得模块,用于若字符验证成功,则调用所述弹幕数据对象中的第一字符去除函数去除所述目标弹幕数据中的各所述预设开始符,获得第一弹幕数据;
第二弹幕数据获得模块,用于根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据;
预设标识符数量校验模块,用于调用存储所述第二弹幕数据的第二数据对象中的标识符确定函数,确定所述第二弹幕数据中的预设标识符数量,并在所述预设标识符数量满足预设校验条件时,确定所述目标弹幕数据校验成功。
第三方面,本发明实施例还提供了一种终端,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的基于字符去除的弹幕校验方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的基于字符去除的弹幕校验方法。
本发明实施例通过将预设字符串嵌套结构的目标弹幕数据存储至弹幕数据对象中,调用弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;在字符验证成功后,调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据,并根据预设去除方式去除第一弹幕数据中的各预设结束符,从而可以获得非嵌套结构的第二弹幕数据;调用存储第二弹幕数据的第二数据对象中的标识符确定函数,确定第二弹幕数据中的预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。通过采用上述技术方案,对预设字符串嵌套结构的目标弹幕数据进行了完整性校验,从而在目标弹幕数据校验成功后,可以对目标弹幕数据进行正常解析,进而避免了因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
附图说明
图1是本发明实施例一提供的一种基于字符去除的弹幕校验方法的流程图;
图2是本发明实施例二提供的一种基于字符去除的弹幕校验方法的流程图;
图3是本发明实施例三提供的一种基于字符去除的弹幕校验方法的流程图;
图4是本发明实施例四提供的一种基于字符去除的弹幕校验装置的结构示意图;
图5是本发明实施例五提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种基于字符去除的弹幕校验方法的流程图,本实施例可适用于对预设字符串嵌套结构的弹幕数据进行完整性校验的情况,尤其可以用于弹幕服务器中根据预设弹幕协议生成弹幕数据后,对生成的弹幕数据进行校验的应用场景中,同时也可以用于Android客户端中对弹幕服务器下发的弹幕数据进行校验的应用场景中。该方法可以由基于字符去除的弹幕校验装置来执行,该装置可以由软件和/或硬件的方式来实现,可集成于弹幕服务器或者搭载了Android系统的具有弹幕功能的终端中,比如智能手机、平板电脑、智能电视或者笔记本电脑等智能终端。如图1所示,该方法具体包括以下步骤:
S110、获取预设字符串嵌套结构的目标弹幕数据,其中,预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符。
其中,弹幕数据可以是指将弹幕参数信息按照预设弹幕协议进行封装后获得的字符串String类型的数据。预设弹幕协议可以根据实际情况和用户需求进行预先设置,用于规定弹幕数据的传输数据结构,以使弹幕服务器与客户端之间可以进行数据传输。预设弹幕协议可以规定一种或多种数据结构。预设字符串嵌套结构可以是预设弹幕协议中规定的一种嵌套式的数据结构。预设字符串嵌套结构与预设弹幕协议相对应。目标弹幕数据可以是指待校验的预设字符串嵌套结构的弹幕数据。
本实施例中的预设开始符与预设结束符均可以是预先定义的一种特殊符号。用于标识嵌套式的结构,且预设开始符与预设结束符一一对应。示例性地,预设开始符可以是但不限于为左花括号“{”、左圆括号“(”或左中括号“[”。为了增加与字符串本体内容之间的区分度,优选为左花括号“{”。预设结束符可以是但不限于右花括号“}”、右圆括号“)”或右中括号“]”,优选为右花括号“}”。预设字符串嵌套结构中以一个预设开始符和一个预设结束符来标识一个嵌套子结构,预设字符串嵌套结构中的嵌套子结构的个数可以根据预设弹幕协议预先确定,且嵌套子结构为至少两个。预设开始符数量和预设结束符数量均与嵌套子结构相等。示例性地,若以“{”为预设开始符,以“}”为预设结束符,并且嵌套子结构的数量为3个,则预设字符串嵌套结构的目标弹幕数据可以为:{absd{afgd{sddw}ssfg}amms},或者{absd{afgd}ssfg{sddw}amms}。
可选地,S110包括:获取待校验弹幕数据以及待校验弹幕数据对应的待校验数据标识;将待校验数据标识与预设字符串嵌套结构对应的标识集合中的数据标识进行匹配;若匹配成功,则将待校验弹幕数据确定为目标弹幕数据。
其中,待校验弹幕数据可以是将弹幕参数信息按照预设弹幕协议进行封装后获得的任一数据结构的弹幕数据。每个待校验弹幕数据均对应一个待校验数据标识。待校验数据标识用于对待校验弹幕数据进行唯一标识,以通过待校验数据标识可以确定待校验弹幕数据的数据结构。预设字符串嵌套结构对应的标识集合可以包括:数据结构为预设字符串嵌套结构的所有弹幕数据对应的数据标识。
具体地,若预设弹幕协议规定了多种数据结构,则在生成某个弹幕数据时,可以预先检测生成的弹幕数据的数据结构是否为预设字符串嵌套结构,若是,则将该弹幕数据对应的数据标识添加至预设字符串嵌套结构对应的标识集合中,从而将生成的数据结构为预设字符串嵌套结构的弹幕数据对应的数据标识均添加至该标识集合中,以便进行后续的校验操作。在获取待校验弹幕数据对应的待校验数据标识后,可以将待校验数据标识与预设字符串嵌套结构对应的标识集合中的数据标识进行逐一匹配,若待校验数据标识与标识集合中的任一数据标识匹配成功,则表明该待校验弹幕数据的数据结构为预设字符串嵌套结构,此时可以将该待校验弹幕数据确定为目标弹幕数据,以便对目标弹幕数据进行完整性校验。若待校验数据标识与标识集合中的每个数据标识均匹配失败,则表明该待校验弹幕数据的数据结构不是预设字符串嵌套结构,此时可以对下一待校验弹幕数据进行标识匹配,直至获取预设字符串嵌套结构的目标弹幕数据。
S120、调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证。
其中,弹幕数据对象是一个用于存储目标弹幕数据的对象。本实施例中的目标弹幕数据是一个String类型的数据,从而弹幕数据对象为一个String对象。字符验证函数可以是预先定义的,用于对目标弹幕数据中的首位字符和末位字符进行验证的函数。
可选地,字符验证函数可以通过如下步骤实现对目标弹幕数据中的首位字符和末位字符进行字符验证的功能:调用第一字符验证函数,检测目标弹幕数据中的首位字符是否为预设开始符;若首位字符为预设开始符,则调用第二字符验证函数,检测目标弹幕数据中的末位字符是否为预设结束符;若末位字符为预设结束符,则确定字符验证成功。
其中,第一字符验证函数是预先定义的,用于对目标弹幕数据中的首位字符进行校验的函数。第二字符验证函数是预先定义的,用于对目标弹幕数据中的末位字符进行校验的函数。示例性地,将弹幕数据对象标记为danmuStr,若预设开始符为“{”,预设结束符为“}”,则调用第一字符验证函数可以是danmuStr.startWith(“{”),以检测弹幕数据对象danmuStr中的目标弹幕数据中的首位字符是否为“{”;第二字符验证函数可以为danmuStr.endWith(“}”),以检测弹幕数据对象danmuStr中的目标弹幕数据中的末位字符是否为“}”。
具体地,当调用第一字符验证函数后,若检测目标弹幕数据中的首位字符不是预设开始符,则表明首位字符验证失败,也就是目标弹幕数据是一条不完整的数据,即不合格数据,此时可以直接确定目标弹幕数据校验失败。若检测目标弹幕数据中的首位字符是预设开始符,则表明首位字符验证成功,此时可以调用第二字符验证函数,检测目标弹幕数据中的末位字符是否为预设结束符,若是,则表明目标弹幕数据中的首位字符和末位字符均是合法的,此时可以确定字符验证成功;若否,则表明目标弹幕数据是一条不完整的数据,此时可以直接确定目标弹幕数据校验失败。
S130、若字符验证成功,则调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据。
其中,第一字符去除函数是预先定义的,用于去除目标弹幕数据中所有的预设开始符的函数。示例性地,将弹幕数据对象标记为danmuStr,若预设开始符为“{”,则第一字符去除函数可以是danmuStr中的替换函数danmuStr.replaceAll("\{",""),通过将所有的预设开始符“{”替换为空字符串等特殊的不可见字符,从而去除了danmuStr存储的目标弹幕数据中所有的预设开始符。
具体地,当字符验证成功后,以预设开始符和空格的正则表达式作为函数输入参数,调用第一字符去除函数,删除目标弹幕数据中所有的预设开始符,并将删除所有预设开始符后的弹幕数据作为第一弹幕数据,即获得包含预设结束符的第一弹幕数据。
S140、根据预设去除方式去除第一弹幕数据中的各预设结束符,获得第二弹幕数据。
其中,预设去除方式是指预先设定的从一个长字符串中除去特定字符的方式,本实施例中可以是指去除目标弹幕数据中预设结束符的方式。例如可以是与去除预设开始符相同的方式,也可以是诸如提取长字符串中子字符串的方式等其它更加便捷快速地方式。
示例性地,S140可以包括:以预设结束符作为函数输入参数,调用存储第一弹幕数据的第一数据对象中的第二字符去除函数,去除第一弹幕数据中的各预设结束符,获得第二弹幕数据。
其中,第一数据对象是一个用于存储第一弹幕数据的对象。本实施例中的第一弹幕数据是一个String类型的数据,从而第一数据对象也为一个String对象。第二字符去除函数是第一数据对象中预先定义的,用于去除第一弹幕数据中所有的预设结束符的函数。示例性地,将第一数据对象标记为danmuStr1,若预设结束符为“}”,则第二字符去除函数可以是danmuStr1中的替换函数danmuStr1.replaceAll("\}",""),通过将所有的预设开始符“}”替换为空字符串,从而去除了danmuStr1存储的目第一弹幕数据中所有的预设结束符。
具体地,以预设结束符和空格的正则表达式均作为函数输入参数,调用第一数据对象中的第二字符去除函数,删除第一弹幕数据中所有的预设结束符,并将删除所有预设结束符后的弹幕数据作为第二弹幕数据,即获得均不包含预设开始符和预设结束符的第一弹幕数据,从而嵌套结构的目标弹幕数据转变为非嵌套结构的第二弹幕数据。
S150、调用存储第二弹幕数据的第二数据对象中的标识符确定函数,确定第二弹幕数据中的预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。
其中,第二数据对象是一个用于存储第二弹幕数据的对象。本实施例中的第二弹幕数据是一个String类型的数据,从而第二数据对象也为一个String对象。标识符确定函数是预设定义的,用于确定第二弹幕数据中的预设标识符数量的函数。本实施例中的预设标识符是基于预设弹幕协议规定的预设字符串嵌套结构中具有特定含义的字符或字符串。预设标识符可以包括一个预设字符,也可以包括多个预设字符,其中,预设字符可以是预先定义的一种数字、字母或特殊符号等。本实施例中的预设字符串嵌套结构可以包括一种预设标识符,也可以包括多种预设标识符,预设标识符的种类数量可以由预设弹幕协议预先规定。预设校验条件是指在弹幕数据完整时,预设标识符数量需要满足的条件。示例性地,若预先获取了某个目标弹幕数据中预设标识符的准确数量为10,则预设校验条件可以为:目标弹幕数据中的预设标识符数量为10。
本实施例可以存在多种确定预设标识符数量的方式。示例性地,当预设字符串嵌套结构只包括一种预设标识符,且该预设标识符只包括一个预设字符时,标识符确定函数可以通过如下步骤实现确定第二弹幕数据中的预设标识符数量的功能:调用存储第二弹幕数据的第二数据对象中的字符串转换函数,将第二弹幕数据转换为字符数组,并根据字符数组确定第二弹幕数据中的预设标识符数量。具体地,若将第二数据对象标记为danmuStr2,则通过调用第二数据对象danmuStr2中的字符串转换函数danmuStr2Array[]=danmuStr2.toCharArray(),将danmuStr2中存储的第二弹幕数据转换为一个字符数组danmuStr2Array[],然后可以通过将字符数组中的每个字符元素与预设标识符进行字符匹配,将字符匹配成功的数量确定为第二弹幕数据中的预设标识符数量。
当预设字符串嵌套结构只包括一种预设标识符,且该预设标识符包括至少两个预设字符时,标识符确定函数可以通过如下步骤实现确定第二弹幕数据中的预设标识符数量的功能:调用存储第二弹幕数据的第二数据对象中的字符串分割函数,将第二弹幕数据以预设标识符进行分割,确定字符串数组;根据字符串数组的数组长度,确定第二弹幕数据中的预设标识符数量。具体地,若将第二数据对象标记为danmuStr2,预设标识符为ab,则通过调用第二数据对象danmuStr2中的字符串分割函数splitSrtArray=danmuStr2.split(“\ab”),将第二弹幕数据以ab进行分割获得的字符串数据存储至字符串数组splitSrtArray中,然后可以通过调用splitSrtArray.length,获得字符串数组splitSrtArray的数组长度,根据预设字符串嵌套结构可以预先确定准确完整的弹幕数据对应的字符串数组的数组长度与预设标识符数量之间的运算关系,从而可以基于该运算关系,根据数组长度计算第二弹幕数据中的预设标识符数量。
具体地,在确定预设标识符数量后,需要检测预设标识符数量是否满足预设校验条件,若满足,则表明目标弹幕数据是一条完整的数据,可以被正常解析,此时可以确定目标弹幕数据校验成功。若预设标识符的数量不满足预设检验条件,则表明目标弹幕数据是一条非法数据,此时确定目标弹幕数据校验失败。
需要注意的是,本实施例可以将步骤S120-S150所提供的功能进行封装为一个弹幕校验函数,从而只需将弹幕数据对象作为弹幕校验函数的输入对象,通过调用弹幕校验函数,即可实现目标基于字符去除的弹幕校验过程,使得弹幕校验更加便捷。示例性地,弹幕校验函数可以定义为:Publis static Boolean checkDanmInfo(String danmuStr)。其中,checkDanmInfo是弹幕校验函数的函数名称,danmuStr是字符串String类型的弹幕数据对象,弹幕校验函数checkDanmInfo的返回值是一个布尔Boolean类型的对象。若目标弹幕数据校验成功,则弹幕校验函数checkDanmInfo可以通过调用return true返回true,若目标弹幕数据校验失败,则弹幕校验函数checkDanmInfo可以调用return false返回false。弹幕校验函数checkDanmInfo具有公有权限修饰符public和静态类型修饰符static,以便可以直接通过类调用checkDanmInfo,提高了弹幕校验函数调用的便捷性。
可选地,在弹幕服务器向Android客户端下发目标弹幕数据之前,可以利用本实施例所提供的基于字符去除的弹幕校验方法进行校验,并在目标弹幕数据校验成功后,再进行目标弹幕数据的下发操作,以保证弹幕服务器下发的目标弹幕数据为准确完整的数据。Android客户端接收下发的目标弹幕数据后,可以利用本实施例所提供的基于字符去除的弹幕校验方法进行再次校验,并在目标弹幕数据校验成功后,再对目标弹幕数据进行解析处理,从而可以避免因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
本发明实施例通过将预设字符串嵌套结构的目标弹幕数据存储至弹幕数据对象中,调用弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;在字符验证成功后,调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据,并根据预设去除方式去除第一弹幕数据中的各预设结束符,从而可以获得非嵌套结构的第二弹幕数据;调用存储第二弹幕数据的第二数据对象中的标识符确定函数,确定第二弹幕数据中的预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。通过采用上述技术方案,对预设字符串嵌套结构的目标弹幕数据进行了完整性校验,从而在目标弹幕数据校验成功后,可以对目标弹幕数据进行正常解析,进而避免了因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
实施例二
图2为本发明实施例二提供的一种基于字符去除的弹幕校验方法的流程图,本实施例在上述实施例的基础上,对“根据预设去除方式去除第一弹幕数据中的各预设结束符,获得第二弹幕数据”进行了优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的基于字符去除的弹幕校验方法包括以下步骤:
S210、获取预设字符串嵌套结构的目标弹幕数据,其中,预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符。
S220、调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证。
S230、若字符验证成功,则调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据。
S240、调用字符串工具类中的位置确定函数,确定第一弹幕数据中的各预设结束符的结束位置。
其中,位置确定函数是预先定义的,用于确定第一弹幕数据中预设结束符所在位置(即结束位置)的函数。示例性地,若第一弹幕数据为danmuStr1,预设结束符为“}”则可以调用开源的字符串工具类StringUtils中的位置确定函数StringUtils.ordinalIndexOf(danmuStr1,"}",X)来确定在第一弹幕数据中第X个预设结束符出现的结束位置,从而通过多次调用位置确定函数,可以确定第一弹幕数据中的每个预设结束符的结束位置。
具体地,本实施例中的预设结束符的数量与预设字符串嵌套结构中的嵌套子结构的个数相等,从而可以根据该数量确定每个预设结束符的结束位置。示例性,若预设字符串嵌套结构中包含预设数量的预设结束符,则对于完整准确的目标弹幕数据中也会包含预设数量的预设结束符,即存在预设数量的结束位置。示例性地,若预设字符串嵌套结构中包含三个预设结束符,则可以通过调用StringUtils.ordinalIndexOf(danmuStr1,"}",1)确定在第一弹幕数据中第一个“}”对应的第一个结束位置;调用StringUtils.ordinalIndexOf(danmuStr1,"}",2)确定第二个“}”对应的第二个结束位置;调用StringUtils.ordinalIndexOf(danmuStr1,"}",3)确定第三个“}”对应的第三个结束位置,从而可以确定三个结束位置。可选地,在字符验证成功后,表明第一弹幕数据中的末位字符为预设结束符,从而可以根据第一弹幕数据的长度直接确定第一弹幕数据中最后一个预设结束符的结束位置。示例性地,第一弹幕数据danmuStr1中的最后一个预设结束符的结束位置为:danmuStr1.length()-1。可选地,若预设字符串嵌套结构中包含两个预设结束符,则可以调用存储第一弹幕数据的第一弹幕对象danmuStr1中的danmuStr1.indexOf("}")确定第一弹幕数据中第一个“}”对应的第一个结束位置,然后将danmuStr1.length()-1确定为第二个“}”对应的第二个结束位置。
S250、在结束位置的数量等于预设数量时,调用存储第一弹幕数据的第一数据对象中的字符串提取函数,根据各结束位置依次提取第一弹幕数据中的各子字符串,其中,子字符串不包含预设结束符。
其中,预设数量是根据预设字符串嵌套结构预先确定的嵌套子结构的数量,即完整的弹幕数据中的预设结束符的数量。字符串提取函数是预先定义的,用于提取第一弹幕数据中在两个预设位置之间的子字符串的函数。示例性地,字符串提取函数可以是danmuStr1.subString(startPos,endPos),提取的子字符串中的第一个字符的位置为startPos,最后一个字符的位置为endPos-1。
具体地,在确定第一弹幕数据中所有的预设结束符的结束位置时,可以检测结束位置的数量是否等于预设数量,若否,则表明第一弹幕数据中缺失部分的预设结束符,此时可以直接确定目标弹幕数据校验失败,从而可以对第一弹幕数据中的预设结束符进行校验。若是,则表明第一弹幕数据包含完整的预设结束符,此时可以基于各结束位置在第一弹幕数据中的先后顺序,依次提取第一弹幕数据中的子字符串,并且子字符串中不包含预设结束符。在提取第一个子字符串时,根据第一个结束位置endPos1,可以确定第一个字符串对应的提取范围为(0,endPos1),根据第二个结束位置endPos2,可以确定第二个子字符串对应的提取范围为(endPos1+1,endPos2),同理,依次提取每个子字符串。示例性地,若第一弹幕数据为:sdafgw}sg}as},则第一个结束位置为:6,第二个结束位置为:9,第三个结束位置为:12,则通过调用danmuStr1.subString(0,6),获得第一个子字符串:sdafgw;通过调用danmuStr1.subString(7,9),获得第二个子字符串:sg;通过调用danmuStr1.subString(10,12),获得第三个子字符串:as。
S260、调用预先创建的字符串拼接对象中的字符串拼接函数拼接各子字符串,获得第二弹幕数据。
其中,字符串拼接对象是预先创建的,用于拼接多个子字符串的对象。字符串拼接函数是字符串拼接对象中拼接子字符串的函数。
具体地,本实施例可以通过调用StringBuilder builder=new StringBuilder()构造函数预先创建一个字符串拼接对象builder。通过将各子字符串逐个作为字符串拼接函数的输入对象,逐个调用字符串拼接函数builder.append(),从而将多个子字符串进行拼接,然后可以通过调用字符串拼接对象builder中的字符串生成函数builder.toString(),将拼接后的数据转换为一个字符串类型的字符串,并将该字符串确定为第二弹幕数据。示例性地,若三个子字符串分别为:sdafgw、sg和as,则可以在调用builder.append(“sdafgw”)后,再调用builder.append(“sg”),最后调用builder.append(“as”),从而获得拼接数据为:sdafgwsgas。需要注意的是,本实施例可以根据子字符串在第一弹幕数据中的先后顺序进行拼接,也可以根据其它任意的拼接顺序进行拼接,本实施例对子字符串的拼接顺序不做具体限定。
S270、调用存储第二弹幕数据的第二数据对象中的标识符确定函数,确定第二弹幕数据中的预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。
本发明实施例通过调用字符串工具类中的位置确定函数,确定第一弹幕数据中的各预设结束符的结束位置,根据结束位置的数量对第一弹幕数据中的预设结束符的完整性进行校验,并且在结束位置的数量等于预设数量时,调用存储第一弹幕数据的第一数据对象中的字符串提取函数,根据各结束位置依次提取第一弹幕数据中的各子字符串;调用预先创建的字符串拼接对象中的字符串拼接函数拼接各子字符串,从而获得第二弹幕数据。相比于直接利用第一数据对象中的第二字符去除函数这一系统函数而言,本实施例提供的去除方式的内存占用空间较小,运行效率较高,进而可以提升弹幕数据的校验效率。
实施例三
图3为本发明实施例三提供的一种基于字符去除的弹幕校验方法的流程图,本实施例在上述实施例的基础上,在预设字符串嵌套结构还包含第一预设标识符,第二预设标识符以及由预设个数的预设字符串结构形成的至少一层嵌套时,对目标弹幕数据的校验过程进行了详细描述。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例提供的基于字符去除的弹幕校验方法包括以下步骤:
S310、获取预设字符串嵌套结构的目标弹幕数据。
其中,预设字符串嵌套结构除了包含预设开始符和预设结束符之外,还包含第一预设标识符,第二预设标识符,以及由预设个数的预设字符串结构形成的至少一层嵌套。其中,预设字符串结构为:以预设开始符作为首位字符,以第一预设标识符划分各键值对信息,以第二预设标识符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符。示例性地,第一预设标识符可以是但不限于单斜杠“\”、“/”、双斜杠“\\”和“//”;第二预设标识符可以是但不限于“-”、“@”、“,”“==”和“@=”。在本实施例中,根据预设弹幕协议的规定,每个键值对信息中的值信息和键信息均不会包含与第一预设标识符相同的字符串,而每个键值对信息中的值信息可以不包含与第二预设标识符相同的字符串,也可以包含与第二预设标识符相同的字符串。本实施例中的预设字符串嵌套结构的规定方式可以更加便于数据传输。
预设字符串嵌套结构中预设个数的预设字符串结构可以仅形成一层嵌套,即该层嵌套由预设个数的预设字符串结构形成;也可以形成多层嵌套,即所有层嵌套由预设个数的预设字符串结构形成,具体的嵌套结构可以根据预设弹幕协议确定。由预设个数的预设字符串结构形成的至少一层嵌套可以包括多种嵌套方式。
具体地,本实施例可以将每个预设字符串结构视为一个键值对信息,并以第一预设标识符划分预设字符串结构和其它键值对信息,然后并列嵌套至预设字符串嵌套结构中,从而形成一层嵌套。示例性地,当预设个数为2时且形成一层嵌套时,预设字符串嵌套结构的目标弹幕数据可以为:
{type@=uenter/{rid@=104838/}/uid@=20088/{wgei@=0/}/avater@=www@douyu@=tv@com/},其中,弹幕数据包括两个预设字符串结构的数据,分别为{rid@=104838}和{wgei@=0/}。
本实施例也可以先将每个预设字符串结构进行彼此嵌套,然后将嵌套后的数据视为键值对信息,再嵌套至预设字符串嵌套结构中,从而形成多层嵌套。示例性地,当预设个数为2且形成二层嵌套时,预设字符串嵌套结构的目标弹幕数据为:
{type@=uenter/{rid@=104838/{uid@=20088/}/wgei@=0/}/avater@=www@douyu@=tv@com/},其中,先将第一个预设字符串结构的数据{uid@=20088/}视为一个键值对信息,嵌套至第二个预设字符串结构的数据{rid@=104838/wgei@=0/}中,从而形成第一层嵌套,并以第一预设标识符划分第一个预设字符串结构与其它键值对信息,然后再将该嵌套结构{rid@=104838/{uid@=20088/}/wgei@=0/}嵌套至预设字符串嵌套结构中,从而形成第二层嵌套。
本实施例中的嵌套方式还可以是将一部分的预设字符串结构进行并列嵌套,另一部分的预设字符串结构进行彼此嵌套,其具体的嵌套方式可以根据预设弹幕协议进行确定。本实施例对预设字符串嵌套结构中的嵌套方式不做具体限定。
S320、调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证。
S330、若字符验证成功,则调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据。
S340、根据预设去除方式去除第一弹幕数据中的各预设结束符,获得第二弹幕数据。
S350、调用存储第二弹幕数据的第二数据对象中的字符串分割函数,将第二弹幕数据以第一预设标识符进行分割,确定字符串数组。
具体地,本实施例可以以第一预设标识符作为字符串分割函数的输入参数,调用字符串分割函数,将第二数据对象中的第二弹幕数据以第一预设标识符进行分割,并将分割后获得的多个字符串数据构成字符串数组。
示例性地,若第二数据对象danmuStr2中存储的第二弹幕数据为:type@=uenter/rid@=104838/uid@=20088//wgei@=0//avater@=www@douyu@=tv@com/,第一预设标识符为“/”,则通过调用splitSrtArray=danmuStr2.split(“\/”),将目标弹幕数据以“/”进行分割获得的字符串数据存储至字符串数组splitSrtArray中,即splitSrtArray中的字符串元素分别为:“type@=uenter”、“rid@=104838”、“uid@=20088”、“”、“wgei@=0”、“”、和“avater@=www@douyu@=tv@com”。需要注意的是,分割出的尾部的空字符串不能作为字符串数组中的一个数组元素,而中间的空字符串可以作为字符串数组中的一个数组元素。
需要注意的是,由于第二弹幕数据中的弹幕参数信息中均不包含与第一预设标识符相同的字符串,从而在以第一预设标识符对目标弹幕数据进行分割时,不会对弹幕参数内容进行分割,避免造成误分割的情况,以便可以利用分割方式准确计算目标弹幕数据中的第一预设标识符数量。
S360、根据字符串数组的数组长度,确定第二弹幕数据中的第一预设标识符数量。
其中,数组长度是指字符串数组中的元素个数。本实施例可以根据字符串数组的长度属性,直接获取字符串数组的数组长度,即分割后的字符串数据的个数。示例性地,通过调用splitSrtArray.length,可以获得字符串数组splitSrtArray的数组长度。对于准确完整的第二弹幕数据而言,第二弹幕数据中的首位字符不会是第一预设标识符,而末位字符是第一预设标识符,从而分割后的字符串数据的数量等于第一预设标识符数量,因此可以直接将字符串数组的数组长度确定为第一预设标识符数量。
S370、将字符串数组中的每个字符串元素存储至对应的字符串对象中,并调用各字符串对象中的标识符查找函数,确定第二弹幕数据中的第二预设标识符数量。
其中,标识符查找函数是预先定义的,用于查找拼接字符串对象存储的字符串数据中是否包含输入参数的函数。需要注意的是,标识符查找函数只能用于确定字符串数据中是否包含输入参数,无法确定字符串数据中包含的输入参数的个数,从而弹幕参数信息中无论是否包含与第二预设标识符相同的字符串,均可以利用标识符查找函数准确地确定第二弹幕数据中第二预设标识符数量。
具体地,将字符串数组中的每个字符串元素存储至对应的字符串对象中,即字符串元素与字符串对象一一对应,通过以第二预设标识符作为函数输入参数,调用每个字符串对象中的标识符查找函数,检测每个字符串对象存储的字符串元素是否包含第二预设标识符,从而统计第二弹幕数据中的第二预设标识符数量。示例性地,假设第二预设标识符为“@=”,则可以通过以“@=”为函数输入对象,逐个调用字符串元素对应的字符串对象tmpStr中的标识符查找函数tmpStr.contains(“@=”),逐个查询每个字符串元素中是否包含“@=”,若是,则预设全局变量splitCount的变量值累加1。在对所有字符串元素遍历结束后,可以将全局变量中存储的变量值直接确定为第二弹幕数据中的第二预设标识符数量。
需要注意的是,对于字符串元素为“avater@=www@douyu@=tv@com”而言,第二预设标识符的数量应该为1,而不是2,若利用与第二预设标识符进行字符匹配的方式,则无法准确地确定第二预设标识符的数量,从而本实施例通过调用标识符查找函数,只要当前字符串元素包含第二预设标识符,全局变量的变量值便累加1,从而可以更加准确地确定第二弹幕数据中的第二预设标识符数量。
S380、计算第一预设标识符数量与第二预设标识符数量的差值。
具体地,将第一预设标识符数量减去第二预设标识符数量,得到两者的差值,以进行后续校验操作。
S390、若差值等于预设个数,则确定目标弹幕数据校验成功。
其中,通过对完整的预设字符串嵌套结构进行分析,可以看出:预设字符串嵌套结构中每嵌套一个预设字符串结构,则弹幕数据中便增加一个第一预设标识符以进行划分,而第二预报标识符的数量保持不变。示例性地,若预设字符串嵌套结构包括由M个预设字符串结构组成的嵌套结构,则对于完整的弹幕数据而言,第一预设标识符数量比第二预报标识符数量多M个。
具体地,若第一预设标识符数量与第二预设标识符数量的差值等于预设个数,则表示目标弹幕数据完整,此时可以确定目标弹幕数据校验成功,否则确定目标弹幕数据校验失败。
本实施例的技术方案,在预设字符串嵌套结构包括两个预设标识符以及由预设个数的第一预设字符串结构形成的至少一层嵌套时,预设字符串嵌套结构的目标弹幕数据在字符验证成功后,根据字符串数组的数组长度确定第一预设标识符数量;根据字符串数组中的每个字符串元素可以更加准确地确定第二预设标识符数量,并且通过第一预设标识符数量与第二预设标识符数量的差值与预设个数是否相等,来确定目标弹幕数据的校验结果,从而对包括两个预设标识符的预设字符串嵌套结构的目标弹幕数据进行了完整性校验,以保证弹幕数据的正常解析。
实施例四
图4为本发明实施例四提供的一种基于字符去除的弹幕校验装置的结构示意图,本实施例可适用于对预设字符串结构的弹幕数据进行完整性校验的情况,该装置具体可以包括:目标弹幕数据获取模块410、字符验证模块420、第一弹幕数据获得模块430、第二弹幕数据获得模块440和预设标识符数量校验模块450。
其中,目标弹幕数据获取模块410,用于获取预设字符串嵌套结构的目标弹幕数据,其中,预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符;字符验证模块420,用于调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;第一弹幕数据获得模块430,用于若字符验证成功,则调用弹幕数据对象中的第一字符去除函数去除目标弹幕数据中的各预设开始符,获得第一弹幕数据;第二弹幕数据获得模块440,用于根据预设去除方式去除第一弹幕数据中的各预设结束符,获得第二弹幕数据;预设标识符数量校验模块450,用于调用存储第二弹幕数据的第二数据对象中的标识符确定函数,确定第二弹幕数据中的预设标识符数量,并在预设标识符数量满足预设校验条件时,确定目标弹幕数据校验成功。
可选的,第二弹幕数据获得模块440,具体用于:
以预设结束符作为函数输入参数,调用存储第一弹幕数据的第一数据对象中的第二字符去除函数,去除第一弹幕数据中的各预设结束符,获得第二弹幕数据。
可选的,第二弹幕数据获得模块440,具体用于:
调用字符串工具类中的位置确定函数,确定第一弹幕数据中的各预设结束符的结束位置;在结束位置的数量等于预设数量时,调用存储第一弹幕数据的第一数据对象中的字符串提取函数,根据各结束位置依次提取第一弹幕数据中的各子字符串,其中,子字符串不包含预设结束符;调用预先创建的字符串拼接对象中的字符串拼接函数拼接各子字符串,获得第二弹幕数据。
可选地,预设字符串嵌套结构还包含:第一预设标识符,第二预设标识符,以及由预设个数的预设字符串结构形成的至少一层嵌套;其中,预设字符串结构为:以预设开始符作为首位字符,以第一预设标识符划分各键值对信息,以第二预设标识符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符。
可选地,预设标识符数量校验模块450包括标识符确定函数执行单元,用于通过如下步骤实现确定第二弹幕数据中的预设标识符数量的功能:
调用存储第二弹幕数据的第二数据对象中的字符串分割函数,将第二弹幕数据以第一预设标识符进行分割,确定字符串数组;根据字符串数组的数组长度,确定第二弹幕数据中的第一预设标识符数量;将字符串数组中的每个字符串元素存储至对应的字符串对象中,并调用各字符串对象中的标识符查找函数,确定第二弹幕数据中的第二预设标识符数量。
可选地,预设标识符数量校验模块450,还包括:
差值计算单元,用于计算第一预设标识符数量与第二预设标识符数量的差值;
预设标识符数量校验单元,用于若差值等于预设个数,则确定目标弹幕数据校验成功。
可选地,目标弹幕数据获取模块410,具体用于:
获取待校验弹幕数据以及待校验弹幕数据对应的待校验数据标识;将待校验数据标识与预设字符串嵌套结构对应的标识集合中的数据标识进行匹配;若匹配成功,则将待校验弹幕数据确定为目标弹幕数据。
本发明实施例所提供的基于字符去除的弹幕校验装置可执行本发明任意实施例所提供的基于字符去除的弹幕校验方法,具备执行基于字符去除的弹幕校验方法相应的功能模块和有益效果。
实施例五
图5是本发明实施例五提供的一种终端的结构示意图。参见图5,该终端包括:
一个或多个处理器510;
存储器520,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器510执行,使得一个或多个处理器510实现如上述实施例中任一实施例提出的基于字符去除的弹幕校验方法。
图5中以一个处理器510为例;终端中的处理器510和存储器520可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于字符去除的弹幕校验方法对应的程序指令/模块(例如,基于字符去除的弹幕校验装置中的目标弹幕数据获取模块410、字符验证模块420、第一弹幕数据获得模块430、第二弹幕数据获得模块440和预设标识符数量校验模块450)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的基于字符去除的弹幕校验方法。
存储器520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的终端与上述实施例提出的基于字符去除的弹幕校验方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行基于字符去除的弹幕校验方法相同的有益效果。
实施例六
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的基于字符去除的弹幕校验方法。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的基于字符去除的弹幕校验方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于字符去除的弹幕校验方法,其特征在于,包括:
获取预设字符串嵌套结构的目标弹幕数据,其中,所述预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符;
调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用所述弹幕数据对象中的第一字符去除函数去除所述目标弹幕数据中的各所述预设开始符,获得第一弹幕数据;
根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据;
调用存储所述第二弹幕数据的第二数据对象中的标识符确定函数,确定所述第二弹幕数据中的预设标识符数量,并在所述预设标识符数量满足预设校验条件时,确定所述目标弹幕数据校验成功。
2.根据权利要求1所述的方法,其特征在于,根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据,包括:
以所述预设结束符作为函数输入参数,调用存储所述第一弹幕数据的第一数据对象中的第二字符去除函数,去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据。
3.根据权利要求1所述的方法,其特征在于,根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据,包括:
调用字符串工具类中的位置确定函数,确定所述第一弹幕数据中的各所述预设结束符的结束位置;
在所述结束位置的数量等于预设数量时,调用存储所述第一弹幕数据的第一数据对象中的字符串提取函数,根据各所述结束位置依次提取所述第一弹幕数据中的各子字符串,其中,所述子字符串不包含所述预设结束符;
调用预先创建的字符串拼接对象中的字符串拼接函数拼接各所述子字符串,获得第二弹幕数据。
4.根据权利要求1所述的方法,其特征在于,所述预设字符串嵌套结构还包含:第一预设标识符,第二预设标识符,以及由预设个数的预设字符串结构形成的至少一层嵌套;
其中,所述预设字符串结构为:以所述预设开始符作为首位字符,以所述第一预设标识符划分各键值对信息,以所述第二预设标识符连接所述键值对信息中的键信息和值信息,以所述预设结束符作为末位字符。
5.根据权利要求4所述的方法,其特征在于,所述标识符确定函数通过如下步骤实现确定所述第二弹幕数据中的预设标识符数量的功能:
调用存储所述第二弹幕数据的第二数据对象中的字符串分割函数,将所述第二弹幕数据以所述第一预设标识符进行分割,确定字符串数组;
根据所述字符串数组的数组长度,确定所述第二弹幕数据中的第一预设标识符数量;
将所述字符串数组中的每个字符串元素存储至对应的字符串对象中,并调用各所述字符串对象中的标识符查找函数,确定所述第二弹幕数据中的第二预设标识符数量。
6.根据权利要求5所述的方法,其特征在于,在所述预设标识符数量满足预设校验条件时,确定所述目标弹幕数据校验成功,包括:
计算所述第一预设标识符数量与所述第二预设标识符数量的差值;
若所述差值等于所述预设个数,则确定所述目标弹幕数据校验成功。
7.根据权利要求1所述的方法,其特征在于,所述获取预设字符串嵌套结构的目标弹幕数据,包括:
获取待校验弹幕数据以及所述待校验弹幕数据对应的待校验数据标识;
将所述待校验数据标识与所述预设字符串嵌套结构对应的标识集合中的数据标识进行匹配;
若匹配成功,则将所述待校验弹幕数据确定为所述目标弹幕数据。
8.一种基于字符去除的弹幕校验装置,其特征在于,包括:
目标弹幕数据获取模块,用于获取预设字符串嵌套结构的目标弹幕数据,其中,所述预设字符串嵌套结构包含至少两个预设开始符和至少两个预设结束符;
字符验证模块,用于调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
第一弹幕数据获得模块,用于若字符验证成功,则调用所述弹幕数据对象中的第一字符去除函数去除所述目标弹幕数据中的各所述预设开始符,获得第一弹幕数据;
第二弹幕数据获得模块,用于根据预设去除方式去除所述第一弹幕数据中的各所述预设结束符,获得第二弹幕数据;
预设标识符数量校验模块,用于调用存储所述第二弹幕数据的第二数据对象中的标识符确定函数,确定所述第二弹幕数据中的预设标识符数量,并在所述预设标识符数量满足预设校验条件时,确定所述目标弹幕数据校验成功。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的基于字符去除的弹幕校验方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的基于字符去除的弹幕校验方法。
CN201811160428.7A 2018-09-30 2018-09-30 基于字符去除的弹幕校验方法、装置、终端及存储介质 Active CN109325496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811160428.7A CN109325496B (zh) 2018-09-30 2018-09-30 基于字符去除的弹幕校验方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811160428.7A CN109325496B (zh) 2018-09-30 2018-09-30 基于字符去除的弹幕校验方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN109325496A true CN109325496A (zh) 2019-02-12
CN109325496B CN109325496B (zh) 2021-07-23

Family

ID=65266633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811160428.7A Active CN109325496B (zh) 2018-09-30 2018-09-30 基于字符去除的弹幕校验方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN109325496B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110255795A1 (en) * 2010-04-19 2011-10-20 Hiroshi Nakamura Apparatus and method for character string recognition
RU111938U1 (ru) * 2011-03-16 2011-12-27 Общество с ограниченной ответственностью "Научно-производственная компания "СПЕЦОБОРУДОВАНИЕ" Радиоканальный сигнализационный комплекс охраны
CN102591699A (zh) * 2011-12-29 2012-07-18 飞天诚信科技股份有限公司 一种转换命令模式的方法及装置
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置
CN104662555A (zh) * 2012-09-28 2015-05-27 西门子公司 通过检验设备对设备特性数据的完整性的检验
CN106021119A (zh) * 2016-08-03 2016-10-12 网易(杭州)网络有限公司 配置文件的校验方法和装置
CN106598765A (zh) * 2015-10-15 2017-04-26 北京国双科技有限公司 数据校验方法和装置
CN106792208A (zh) * 2016-11-24 2017-05-31 武汉斗鱼网络科技有限公司 视频偏好信息处理方法、装置及系统
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107465738A (zh) * 2017-08-01 2017-12-12 深圳市金立通信设备有限公司 一种通信方法、服务器及计算机可读存储介质
WO2018000661A1 (zh) * 2016-06-27 2018-01-04 乐视控股(北京)有限公司 弹幕显示方法及装置
CN107967351A (zh) * 2017-12-14 2018-04-27 北京星河星云信息技术有限公司 数据存储方法、存储系统、云平台和存储介质
CN107992527A (zh) * 2017-11-09 2018-05-04 武汉极意网络科技有限公司 数据标记校验方法、服务器及存储介质
CN108551585A (zh) * 2018-03-28 2018-09-18 武汉斗鱼网络科技有限公司 一种弹幕校验方法、装置、服务器及介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110255795A1 (en) * 2010-04-19 2011-10-20 Hiroshi Nakamura Apparatus and method for character string recognition
RU111938U1 (ru) * 2011-03-16 2011-12-27 Общество с ограниченной ответственностью "Научно-производственная компания "СПЕЦОБОРУДОВАНИЕ" Радиоканальный сигнализационный комплекс охраны
CN102591699A (zh) * 2011-12-29 2012-07-18 飞天诚信科技股份有限公司 一种转换命令模式的方法及装置
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置
CN104662555A (zh) * 2012-09-28 2015-05-27 西门子公司 通过检验设备对设备特性数据的完整性的检验
CN106598765A (zh) * 2015-10-15 2017-04-26 北京国双科技有限公司 数据校验方法和装置
WO2018000661A1 (zh) * 2016-06-27 2018-01-04 乐视控股(北京)有限公司 弹幕显示方法及装置
CN106021119A (zh) * 2016-08-03 2016-10-12 网易(杭州)网络有限公司 配置文件的校验方法和装置
CN106792208A (zh) * 2016-11-24 2017-05-31 武汉斗鱼网络科技有限公司 视频偏好信息处理方法、装置及系统
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107465738A (zh) * 2017-08-01 2017-12-12 深圳市金立通信设备有限公司 一种通信方法、服务器及计算机可读存储介质
CN107992527A (zh) * 2017-11-09 2018-05-04 武汉极意网络科技有限公司 数据标记校验方法、服务器及存储介质
CN107967351A (zh) * 2017-12-14 2018-04-27 北京星河星云信息技术有限公司 数据存储方法、存储系统、云平台和存储介质
CN108551585A (zh) * 2018-03-28 2018-09-18 武汉斗鱼网络科技有限公司 一种弹幕校验方法、装置、服务器及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马玉春等: "数据包的综合校验与生成技术", 《电脑编程技巧与维护》 *

Also Published As

Publication number Publication date
CN109325496B (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
US12038976B2 (en) Model pushing method and device, model requesting method and device, storage medium and electronic device
CN109345388B (zh) 区块链智能合约验证方法、装置及存储介质
CN109543942A (zh) 数据校验方法、装置、计算机设备和存储介质
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN110442756A (zh) 数据校验方法、装置、计算机设备和存储介质
CN112100071B (zh) 测试用例生成方法、装置、计算机设备和存储介质
US10284561B2 (en) Method and server for providing image captcha
CN112162924A (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN107798239B (zh) 操作风险处理方法、装置、计算机设备和存储介质
CN109299719A (zh) 基于字符分割的弹幕校验方法、装置、终端及存储介质
CN113961768B (zh) 敏感词检测方法、装置、计算机设备和存储介质
CN109413450B (zh) 一种弹幕数据的完整性校验方法、装置、终端及存储介质
CN117081801A (zh) 网站的内容管理系统的指纹识别方法、装置及介质
CN109325496A (zh) 基于字符去除的弹幕校验方法、装置、终端及存储介质
CN112579472B (zh) 测试用例的自动生成方法及装置
CN109348304A (zh) 一种弹幕数据的校验方法、装置及终端
CN109379640A (zh) 基于链表方式的弹幕校验方法、装置、终端及存储介质
CN112016297B (zh) 意图识别模型测试方法、装置、计算机设备和存储介质
CN111488490B (zh) 视频聚类方法、装置、服务器及存储介质
CN109413506B (zh) 一种弹幕数据的校验方法、装置、终端及存储介质
CN109560964B (zh) 一种设备合规检查方法及装置
CN109348305B (zh) 一种弹幕数据的校验方法、装置、终端及存储介质
CN109413451B (zh) 一种弹幕数据的校验方法、装置及终端
CN109413504B (zh) 基于字符串替换的弹幕校验方法、装置、终端及存储介质
CN113704083A (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