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

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

Info

Publication number
CN109299719A
CN109299719A CN201811160458.8A CN201811160458A CN109299719A CN 109299719 A CN109299719 A CN 109299719A CN 201811160458 A CN201811160458 A CN 201811160458A CN 109299719 A CN109299719 A CN 109299719A
Authority
CN
China
Prior art keywords
string
character
default
barrage data
target
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
CN201811160458.8A
Other languages
English (en)
Other versions
CN109299719B (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 CN201811160458.8A priority Critical patent/CN109299719B/zh
Publication of CN109299719A publication Critical patent/CN109299719A/zh
Application granted granted Critical
Publication of CN109299719B publication Critical patent/CN109299719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种基于字符分割的弹幕校验方法、装置、终端及存储介质。该方法包括:获取预设字符串结构的目标弹幕数据;调用字符验证函数对目标弹幕数据进行字符验证;若字符验证成功,则调用字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组;若每个第二字符串数组的数组长度均满足预设校验条件,则确定目标弹幕数据校验成功。通过本发明实施例的技术方案,可以对弹幕数据进行完整性校验,从而保证弹幕数据可以被正常解析。

Description

基于字符分割的弹幕校验方法、装置、终端及存储介质
技术领域
本发明实施例涉及弹幕技术领域,尤其涉及一种基于字符分割的弹幕校验方法、装置、终端及存储介质。
背景技术
随着智能终端的快速发展,各种应用软件被开发应用于智能终端中。一些应用软件比如直播软件、视频播放软件中往往具有弹幕接收、解析和推送等弹幕功能。在开发这些应用软件的过程中,需要对服务器下发的弹幕数据进行相关测试,以确定弹幕功能是否正常运行。
目前,基于Android操作系统的应用软件开发中,服务器在根据预设弹幕协议构建完成弹幕数据之后,往往直接将构建的弹幕数据下发至客户端,并且客户端在接收到弹幕数据时,也是直接对弹幕数据进行解析和分发处理。
可见,在现有的弹幕数据下发过程以及接收过程中,服务器和客户端均未对弹幕数据进行任何校验,从而当弹幕数据存在异常情况时,便会导致弹幕测试流程出现错误,甚至导致客户端出现系统崩溃等问题,严重影响了弹幕测试效率。
发明内容
本发明实施例提供了一种基于字符分割的弹幕校验方法、装置、终端及存储介质,以对弹幕数据进行完整性校验,从而保证弹幕数据可以被正常解析,避免导致客户端出现系统崩溃等问题。
第一方面,本发明实施例提供了一种基于字符分割的弹幕校验方法,包括:
获取预设字符串结构的目标弹幕数据,其中所述目标弹幕数据包括预设分隔符和预设连接符;
调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用所述弹幕数据对象中的字符串分割函数,将所述目标弹幕数据以所述预设分隔符进行分割,确定第一字符串数组,并将所述第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
调用每个所述字符串对象中的字符串分割函数,将每个所述第一字符串元素以所述预设连接符进行分割,确定各第二字符串数组;
若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功。
第二方面,本发明实施例还提供了一种基于字符分割的弹幕校验装置,包括:
目标弹幕数据获取模块,用于获取预设字符串结构的目标弹幕数据,其中所述目标弹幕数据包括预设分隔符和预设连接符;
字符验证模块,用于调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
第一字符串数组确定模块,用于若字符验证成功,则调用所述弹幕数据对象中的字符串分割函数,将所述目标弹幕数据以所述预设分隔符进行分割,确定第一字符串数组,并将所述第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
第二字符串数组确定模块,用于调用每个所述字符串对象中的字符串分割函数,将每个所述第一字符串元素以所述预设连接符进行分割,确定各第二字符串数组;
目标弹幕数据校验模块,用于若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功。
第三方面,本发明实施例还提供了一种终端,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的基于字符分割的弹幕校验方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的基于字符分割的弹幕校验方法。
本发明实施例通过将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素以预设连接符进行再次分割,确定各第二字符串数组,在每个第二字符串数组的数组长度均满足预设校验条件时,确定目标弹幕数据校验成功。通过采用上述技术方案,对包含预设分隔符和预设连接符的预设字符串结构的目标弹幕数据进行了完整性校验,从而在目标弹幕数据校验成功后,可以对目标弹幕数据进行正常解析,进而避免了因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
附图说明
图1是本发明实施例一提供的一种基于字符分割的弹幕校验方法的流程图;
图2是本发明实施例二提供的一种基于字符分割的弹幕校验方法的流程图;
图3是本发明实施例二所涉及的一种预设标识符总数确定方法的流程图;
图4是本发明实施例三提供的一种基于字符分割的弹幕校验装置的结构示意图;
图5是本发明实施例四提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种基于字符分割的弹幕校验方法的流程图,本实施例可适用于对包括预设分隔符和预设连接符的预设字符串结构的弹幕数据进行完整性校验的情况,尤其可以用于弹幕服务器中根据预设弹幕协议生成弹幕数据后,对生成的弹幕数据进行校验的应用场景中,同时也可以用于Android客户端中对弹幕服务器下发的弹幕数据进行校验的应用场景中。该方法可以由基于字符分割的弹幕校验装置来执行,该装置可以由软件和/或硬件的方式来实现,可集成于弹幕服务器或者搭载了Android系统的具有弹幕功能的终端中,比如智能手机、平板电脑、智能电视或者笔记本电脑等智能终端。该方法具体包括以下步骤:
S110、获取预设字符串结构的目标弹幕数据,其中目标弹幕数据包括预设分隔符和预设连接符。
其中,弹幕数据可以是指将弹幕参数信息按照预设弹幕协议进行封装后获得的字符串String类型的数据。预设弹幕协议可以根据实际情况和用户需求进行预先设置,用于规定弹幕数据的传输数据结构,以使弹幕服务器与客户端之间可以进行数据传输。预设弹幕协议可以规定一种或多种数据结构。预设字符串结构可以是预设弹幕协议中规定的一种数据结构。预设字符串结构与预设弹幕协议相对应。目标弹幕数据可以是指待校验的预设字符串结构的弹幕数据。预设分隔符和预设连接符均是基于预设弹幕协议规定的预设字符串结构中具有特定含义的字符或字符串。预设分隔符可以用于划分弹幕参数信息,预设连接符可以用于连接弹幕参数信息。预设分隔符和预设连接符均可以包括一个预设字符,也可以包括多个预设字符,其中,预设字符可以是预先定义的一种数字、字母或特殊符号等。示例性地,预设分隔符可以用于划分预设字符串结构中每个键值对信息,比如单斜杠“\”、“/”、双斜杠“\\”和“//”等。预设连接符可以用于连接键值对信息中的键信息和值信息,比如“-”、“@”、“,”“==”和“@=”等。
需要注意的是,根据预设弹幕协议的规定,生成目标弹幕数据所根据的弹幕参数信息中不包含预设分隔符,可以不包含预设连接符,但也可以包含预设连接符。
可选地,预设字符串结构为第一预设字符串结构,第一预设字符串结构为:以预设开始符作为首位字符,以预设分隔符划分各键值对信息,以预设连接符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,值信息不包含预设连接符。
其中,对于第一预设字符串结构的目标弹幕数据而言,在准确完整时首位字符为预设开始符,末位字符为预设结束符,并且弹幕参数信息以键值对的形式存在,即首位字符与末位字符之间包括多个键值对信息。示例性地,预设开始符可以是但不限于为左花括号“{”、左圆括号“(”或左中括号“[”。为了增加与弹幕参数信息之间的区分度,优选为左花括号“{”。预设结束符可以是但不限于右花括号“}”、右圆括号“)”或右中括号“]”,优选为右花括号“}”。第一预设字符串结构中的预报分隔符用于划分弹幕数据中的每个键值对信息,预设连接符用于连接键值对信息中的键信息和值信息。目标弹幕数据中的最后一个键值对信息中的值信息与预设结束符也可以利用预设分隔符进行划分,以便区分值所包含的内容。本实施例中的第一预设字符串结构的规定方式可以更加便于数据传输。
具体地,第一预设字符串结构中的所有值信息均不包含预设连接符。示例性地,第一预设字符串结构的目标弹幕数据可以为:{type@=uenter/rid@=104838/uid@=20080138/wgei@=0/},其中,以“{”为预设开始符,以“/”为预设分隔符,以“@=”为预设连接符,以“}”为预设结束符,目标弹幕数据包括四个键值对信息。第一键值对信息中的键信息为“type”,对应的值信息为“uenter”;第二键值对信息中的键信息为“rid”,对应的值信息为“104838”;第三键值对信息中的键信息为“uid”,对应的值信息为“20080138”;第四键值对信息中的键信息为“wgei”,对应的值信息为“0”。
S120、调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证。
其中,弹幕数据对象是一个用于存储目标弹幕数据的对象。本实施例中的目标弹幕数据是一个String类型的数据,从而弹幕数据对象为一个String对象。字符验证函数可以是预先定义的,用于对目标弹幕数据中的首位字符和末位字符进行验证的函数。
示例性地,若根据预设字符串结构确定准确完整的目标弹幕数据中的首位字符为预设开始符,末位字符为预设结束符,则字符验证函数可以通过如下步骤实现对目标弹幕数据中的首位字符和末位字符进行字符验证的功能:调用第一字符验证函数,检测目标弹幕数据中的首位字符是否为预设开始符;若首位字符为预设开始符,则调用第二字符验证函数,检测目标弹幕数据中的末位字符是否为预设结束符;若末位字符为预设结束符,则确定字符验证成功。
其中,第一字符验证函数是预先定义的,用于对目标弹幕数据中的首位字符进行校验的函数。第二字符验证函数是预先定义的,用于对目标弹幕数据中的末位字符进行校验的函数。示例性地,将弹幕数据对象标记为danmuStr,若预设开始符为“{”,预设结束符为“}”,则调用第一字符验证函数可以是danmuStr.startWith(“{”),以检测弹幕数据对象danmuStr中的目标弹幕数据中的首位字符是否为“{”;第二字符验证函数可以为danmuStr.endWith(“}”),以检测弹幕数据对象danmuStr中的目标弹幕数据中的末位字符是否为“}”。
具体地,当调用第一字符验证函数后,若检测目标弹幕数据中的首位字符不是预设开始符,则表明首位字符验证失败,也就是目标弹幕数据是一条不完整的数据,即不合格数据,此时可以直接确定目标弹幕数据校验失败。若检测目标弹幕数据中的首位字符是预设开始符,则表明首位字符验证成功,此时可以调用第二字符验证函数,检测目标弹幕数据中的末位字符是否为预设结束符,若是,则表明目标弹幕数据中的首位字符和末位字符均是合法的,此时可以确定字符验证成功;若否,则表明目标弹幕数据是一条不完整的数据,此时可以直接确定目标弹幕数据校验失败。
S130、若字符验证成功,则调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中。
其中,字符串分割函数是预先定义的,用于将目标弹幕数据进行分割成字符串数组的函数。示例性地,弹幕数据对象danmuStr中的字符串分割函数可以为:danmuStr.split(),从而可以将弹幕数据对象danmuStr中存储的目标弹幕数据分割成一个字符串数组,即第一字符串数组。第一字符串数组中的第一字符串元素为目标弹幕数据中第一个预设分隔符之前的数据,或者相邻两个预设分隔符之间的数据内容。字符串对象用于存储第一字符串数组中的一个第一字符串元素。每个第一字符串元素对应一个字符串对象。
具体地,以预设分隔符作为函数输入参数,调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分割符进行分割,并将分割后获得的多个字符串数据构成第一字符串数组。示例性地,假设弹幕数据对象danmuStr中存储的目标弹幕数据为:adbcebde,预设分隔符为b,则通过调用splitSrtArray1=danmuStr.split(“\b”),将目标弹幕数据以b进行分割获得的字符串数据存储至第一字符串数组splitSrtArray1中,即splitSrtArray1中的各第一字符串元素为:“ad”、“ce”和“de”。
S140、调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组。
其中,对于完整准确的目标弹幕数据而言,第一个预设分隔符之前的数据内容,以及相邻两个预设分隔符之间的数据内容中均存在至少一个预设连接符,也就是说,每个第一字符串元素中存在至少一个预设连接符,从而可以以预设连接符分割第一字符串元素。
具体地,通过以预设连接符为函数输入参数,调用每个字符串对象中的字符串分割函数,将每个字符串对象存储的第一字符串元素以预设连接符进行分割,确定每个第二字符串数组。示例性地,若第一字符串数组中的某个第一字符串元素为:rid@=104838,预设连接符为“@=”,则将该第一字符串元素存储至字符串对象danmuStr1中,并通过调用splitSrtArray2=danmuStr1.split(“\@=”),将该第一字符串元素以“@=”进行分割获得的字符串数据存储至第二字符串数组splitSrtArray2中,即splitSrtArray2中信息为:[‘rid’,‘104838’]。
S150、若每个第二字符串数组的数组长度均满足预设校验条件,则确定目标弹幕数据校验成功。
其中,第二字符串数组的数组长度是指第二字符串数组中的元素个数。预设校验条件是指在弹幕数据完整时,第二字符串数组的数组长度需要满足的条件。
具体地,本实施例可以根据第二字符串数组的长度属性,直接获取第二字符串数组的数组长度。示例性地,通过调用splitSrtArray2.length,可以获得第二字符串数组splitSrtArray2的数组长度。在确定数组长度后,检验数组长度是否满足预设检验条件,若满足,则表明目标弹幕数据是一条完整的准确数据,可以被正常解析,此时可以确定目标弹幕数据校验成功。若不满足,则表明目标弹幕数据是一条非法数据,此时确定目标弹幕数据校验失败。
本实施例在利用第二字符串数组的数组长度进行校验时,隐含校验了预设分隔符数量与预设连接符数量是否完整的情况,从而无需额外确定预设分隔符数量和预设连接符数量,并对数量进行校验,进而可以提高弹幕数据的校验效率。
需要注意的是,本实施例可以将步骤S120-S150所提供的功能进行封装为一个弹幕校验函数,从而只需将弹幕数据对象作为弹幕校验函数的输入对象,通过调用弹幕校验函数,即可实现目标弹幕数据的校验过程,使得弹幕校验更加便捷。示例性地,弹幕校验函数可以定义为:Publis static BooleancheckDanmInfo(String danmuStr)。其中,checkDanmInfo是弹幕校验函数的函数名称,danmuStr是字符串String类型的弹幕数据对象,弹幕校验函数checkDanmInfo的返回值是一个布尔Boolean类型的对象。若目标弹幕数据校验成功,则弹幕校验函数checkDanmInfo可以通过调用return true返回true,若目标弹幕数据校验失败,则弹幕校验函数checkDanmInfo可以调用return false返回false。弹幕校验函数checkDanmInfo具有公有权限修饰符public和静态类型修饰符static,以便可以直接通过类调用checkDanmInfo,提高了弹幕校验函数调用的便捷性。
可选地,在弹幕服务器向Android客户端下发目标弹幕数据之前,可以利用本实施例所提供的基于字符分割的弹幕校验方法进行校验,并在目标弹幕数据校验成功后,再进行目标弹幕数据的下发操作,以保证弹幕服务器下发的目标弹幕数据为准确完整的数据。Android客户端接收下发的目标弹幕数据后,可以利用本实施例所提供的基于字符分割的弹幕校验方法进行再次校验,并在目标弹幕数据校验成功后,再对目标弹幕数据进行解析处理,从而可以避免因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
本实施例的技术方案,通过将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素以预设连接符进行再次分割,确定各第二字符串数组,在每个第二字符串数组的数组长度均满足预设校验条件时,确定目标弹幕数据校验成功。通过采用上述技术方案,对预设字符串结构的目标弹幕数据进行了完整性校验,从而在目标弹幕数据校验成功后,可以对目标弹幕数据进行正常解析,进而避免了因弹幕数据异常而导致客户端出现系统崩溃等问题,提高了弹幕测试效率。
在上述技术方案的基础上,在预设字符串结构为第一预设字符串结构时,S150可以包括:若每个第二字符串数组的数组长度均等于2,则确定目标弹幕数据校验成功。
其中,对第一预设字符串结构分析可以得出:完整的目标弹幕数据中第一个预设分隔符之前的数据内容,以及相邻两个预设分隔符之间的数据内容中均仅存在一个预设连接符,即每个第一字符串元素中仅存在一个预设连接符,从而在以预设连接符分割第一字符串元素时,在数据完整的情况下,只会获得两个字符串数据,即第二字符串数组的数据长度为2。在本实施例中,若某第二字符串数组的数值长度为1,则表明该第二字符串数组对应的第一字符串元素没有被分割,即该第一字符串元素不包含预设连接符;若某第二字符串数组的数值长度为3,则表明该第二字符串数组对应的第一字符串元素被分割了两次,即该第一字符串元素包含两个预设连接符,据此,可以确定第一预设字符串结构的目标弹幕数据不是完整数据。
具体地,在预设字符串结构为第一预设字符串结构时,预设校验条件为第二字符串数组的数组长度等于2。本实施例逐个判断每个第二字符串数组的数组长度是否等于2,若所有的第二字符串数组的数组长度均等于2,则表明第一预设字符串结构的目标弹幕数据是一条完整的准确数据,即预设分隔符数量等于预设连接符数量,此时可以确定目标弹幕数据校验成功。若存在至少一个第二字符串数组的数组长度不等于2,则表明目标弹幕数据是一条不完整数据,即预设分隔符数量不等于预设连接符数量,此时可以确定目标弹幕数据校验失败。
在上述技术方案的基础上,S110可以包括:获取待校验弹幕数据以及待校验弹幕数据对应的待校验数据标识;将待校验数据标识与预设字符串结构对应的标识集合中的数据标识进行匹配;若匹配成功,则将待校验弹幕数据确定为目标弹幕数据。
其中,待校验弹幕数据可以是将弹幕参数信息按照预设弹幕协议进行封装后获得的任一字符串结构的弹幕数据。每个待校验弹幕数据均对应一个待校验数据标识。待校验数据标识用于对待校验弹幕数据进行唯一标识,以通过待校验数据标识可以确定待校验弹幕数据的数据结构。预设字符串结构对应的标识集合可以包括:数据结构为预设字符串结构的所有弹幕数据对应的数据标识。
具体地,若预设弹幕协议规定了多种数据结构,则在生成某个弹幕数据时,可以预先检测生成的弹幕数据的数据结构是否为预设字符串结构,若是,则将该弹幕数据对应的数据标识添加至预设字符串结构对应的标识集合中,从而将生成的数据结构为预设字符串结构的弹幕数据对应的数据标识均添加至该标识集合中,以便进行后续的校验操作。在获取待校验弹幕数据对应的待校验数据标识后,可以将待校验数据标识与预设字符串结构对应的标识集合中的数据标识进行逐一匹配,若待校验数据标识与标识集合中的任一数据标识匹配成功,则表明该待校验弹幕数据的数据结构为预设字符串结构,此时可以将该待校验弹幕数据确定为目标弹幕数据,以便对目标弹幕数据进行完整性校验。若待校验数据标识与标识集合中的每个数据标识均匹配失败,则表明该待校验弹幕数据的数据结构不是预设字符串结构,此时可以获取下一待校验弹幕数据并进行标识匹配,直至获取预设字符串结构的目标弹幕数据。
实施例二
图2为本发明实施例二提供的一种基于字符分割的弹幕校验方法的流程图,本实施例在上述实施例的基础上,对第二预设字符串结构的目标弹幕数据的校验过程进行了详细描述。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的基于字符分割的弹幕校验方法包括以下步骤:
S210、获取第二预设字符串结构的目标弹幕数据。
其中,第二预设字符串结构为:以预设开始符作为首位字符,以预设分隔符划分各键值对信息,以预设连接符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,至少一个值信息包含至少一个预设连接符,并且值信息包含的每个预设连接符的前一字符均为预设标识符。
本实施例中第二预设字符串结构中的至少一个值信息包含至少一个预设连接符。预设标识符是用于标识值信息中预设连接符的一个特殊字符,并且预设标识符位于预设连接符的前一位置。示例性地,预设标识符可以是但不限于美元符号“$”或人民币符号“¥”。每个值信息中的预设连接符数量与预设标识符数量相等。
示例性地,第二预设字符串结构的目标弹幕数据可以为:{type@=uenter/rid@=104838/uid@=20088/avater@=www@douyu$@=tv@com/},其中,以“{”为预设开始符,以“/”为预设分隔符,以“@=”为预设连接符,以“}”为预设结束符,以“$”为预设标识符,该目标弹幕数据包括四个键值对信息,存在一个值信息中包含一个预设连接符。第四个键值对信息中的键信息为“avater”,对应的值信息为“www@douyu$@=tv@com”,该值信息包含一个预设连接符“@=”和一个预设标识符“$”。
S220、调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证。
S230、若字符验证成功,则调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中。
S240、调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组。
示例性地,若第一字符串数组中的某个第一字符串元素为:avater@=www@douyu$@=tv@com,预设连接符为“@=”,则通过调用该第一字符串元素对应的字符串对象danmuStr1中的字符串分割函数splitSrtArray2=danmuStr1.split(“\@=”),将该第一字符串元素以“@=”进行分割获得的字符串数据存储至第二字符串数组splitSrtArray2中,即splitSrtArray2中的各第二字符串元素分别为:“avater”、“www@douyu$”和“tv@com”。
S250、对每个第二字符串数组中的各第二字符串元素进行遍历,确定每个第二字符串数组中的预设标识符总数。
其中,每个第二字符串数组对应一个预设标识符总数。预设标识符总数是指第二字符串数组中包含的所有预设标识符的数量。
具体地,对于每个第二字符串数组而言,可以将第二字符串数组中的每个第二字符串元素包含的每个字符与预设标识符进行匹配,将匹配成功的总数量确定为该第二字符串数组对应的预设标识符总数。示例性地,若某第二字符串数组中的各第二字符串元素分别为:“avater”、“www@douyu$”和“tv@com”则将第二字符串元素“avater”中的各字符与预设标识符“$”进行匹配,匹配成功的数量为0;将“www@douyu$”中的各字符与“$”进行匹配,匹配成功的数量为1;将“tv@com”中的各字符与“$”进行匹配,匹配成功的数量为0,该第二字符串数组中的预设标识符总数为:0+1+0=1。同理,可以确定每个第二字符串数组中的预设标识符数量。
S260、计算每个第二字符串数组的数组长度与对应的预设标识符总数之间的差值。
具体地,对于每个第二字符串数组而言,将该第二字符串数组的数组长度与该第二字符串数组中的预设标识符总数进行相减,获得该第二字符串数组对应的差值。
S270、若每个差值均等于2,则确定目标弹幕数据校验成功。
其中,对第二预设字符串结构分析可以得出:由于第二预设字符串结构中至少一个值信息包含至少一个预设连接符,从而第一字符串数组中至少一个第一字符串元素包含至少两个预设连接符,其余第一字符串元素包含一个预设连接符。若第一字符串数组中的某个第一字符串元素仅包含一个预设连接符,即值信息中不包含预设连接符和预设标识符,则在该第一字符串元素完整时,该第一字符串元素的数组长度应为2,预设标识符总数为0,从而两者的差值为2。若第一字符串数组中的某个第一字符串元素包含的预设连接符数量为N(N≥2),即值信息中包含N-1个预设连接符和N-1个预设标识符,则在该第一字符串元素完整时,该第一字符串元素被分割N次,对应的第二字符串数组的数组长度应为N+1,预设标识符总数为N-1,从而两者的差值也为2,据此可以确定目标弹幕数据是否完整。
具体地,在预设字符串结构为第二预设字符串结构时,预设校验条件为第二字符串数组的数组长度与该第二字符串数组中的预设标识符总数之间的差值等于2。本实施例逐个判断每个第二字符串数组对应的差值是否等于2,若所有的第二字符串数组对应的差值均等于2,则表明第二预设字符串结构的目标弹幕数据是一条完整的准确数据,即用于连接键信息与值信息的预设连接符数量等于预设分隔符数量,此时可以确定目标弹幕数据校验成功。若存在至少一个第二字符串数组对应的差值不等于2,则表明目标弹幕数据是一条不完整数据,即用于连接键信息与值信息的预设连接符数量不等于预设分隔符数量,此时可以确定目标弹幕数据校验失败。
本实施例的技术方案,第二预设字符串结构中至少一个值信息包含至少一个预设标识符,在确定第二预设字符串结构的目标弹幕数据对应的各个第二字符串数组后,对每个第二字符串数组中的各第二字符串元素进行遍历,确定每个第二字符串数组中的预设标识符总数,并计算每个第二字符串数组的数组长度与对应的预设标识符总数之间的差值,通过校验每个差值是否均等于2,来确定目标弹幕数据的校验结果,从而对第二预设字符串结构的目标弹幕数据进行了完整性校验,以保证弹幕数据的正常解析。
在上述技术方案的基础上,如图3所示,S250可以进一步优化为S251-S258。
S251、将各第二字符串数组逐个确定为目标字符串数组,并将目标字符串数组中的第一个字符串元素确定为当前字符串元素。
具体地,本实施例中对每个第二字符串数组中的各第二字符串元素进行遍历是通过两层遍历实现。第一层是遍历各个第二字符串数组,每次遍历的第二字符串数组可称为目标字符串数组;第二层是在第一层的遍历实现内部再遍历各个第二字符串元素,第二层遍历的具体实现可参见S252。如此便可以根据S252逐个确定出每个第二字符串数组中的预设标识符数量。当前字符串元素是当前时刻目标字符串数组中的一个字符串元素。在第二层遍历的第一次循环周期内,将目标字符串数组中的第一个字符串元素作为当前字符串元素。
S252、将当前字符串元素中的各个字符与预设标识符进行匹配,根据匹配结果确定当前字符串元素中的预设标识符数量。
具体地,将当前字符串元素中的每个字符与预设标识符进行匹配,可以将匹配成功的数量确定为当前字符串元素中的预设标识符数量。示例性地,当前字符串元素“avater”中的预设标识符$数量为0,当前字符串元素“www@douyu$”中的预设标识符$数量为1。
S253、检测预设标识符数量是否小于或等于1,若是,则进入S254,若否,则进入S255。
S254、将预设的全局变量的变量值累加预设标识符数量,以更新变量值,并进入S256。
其中,对第二预设字符串结构进行分析,可以看出:预设标识符出现在值信息中的预设连接符的前一位置,并且值信息中的每个预设连接符均对应一个预设标识符,从而在目标弹幕数据完整时,以预设连接符分割后得到的每个第二字符串元素(即当前字符串元素)中应包含至多一个预设标识符。因此,在预设标识符数量小于或等于1时,继续进行后续的校验操作。全局变量是具有全局作用域修饰符,并用于存储预设标识符的总数的变量,其中作用域范围为弹幕校验模块中的各类及其实例化对象。全局变量可以预先定义为:private intsplitCount=0。其中,splitCount是全局变量的名称,全局变量splitCount是一个初始值为0的整型变量。全局变量splitCount具有私有权限修饰符private,以保证只有全局变量所属的类及其实例化对象才可以进行调用。
具体地,在预设标识符数量小于或等于1时,将全局变量的变量值与预设标识符数量进行累加,并将全局变量的变量值更新为累加结果,从而更新全局变量。本实施例只在预设标识符数量小于或等于1时,才会进行预设标识符数量的累加操作,以保证目标字符串数组中的每个字符串元素对应的预设标识符数量均符合预设弹幕协议的规定。
S255、确定目标弹幕数据校验失败。
具体地,在预设标识符数量大于1,即当前字符串元素包含两个或两个以上的预设标识符时,表明值信息中的预设连接符与预设标识符的数量不相等,即目标弹幕数据不是一条完整合法的数据,此时可以直接确定目标弹幕数据校验失败,从而提高了目标弹幕数据校验的严格性,使得目标弹幕数据更具完整性,同时也可以快速校验出预设标识符数量不符合规定的弹幕数据。
S256、检测当前字符串元素是否为目标字符串数组中的最后一个字符串元素,若否,则进入S257,若是,则进入S258。
具体地,通过检测当前字符串元素是否为目标字符串数组中的最后一个字符串元素,来确定循环遍历是否结束。示例性地,当前字符串元素splitSrtArray[index]中数组索引号index的取值范围为:0≤index≤splitSrtArray.length-1,其中splitSrtArray.length表示目标字符串数组的长度。
S257、将当前字符串元素的下一字符串元素更新为当前字符串元素,并进入S252。
具体地,在当前字符串元素不是目标字符串数组中的最后一个字符串元素时,表明第二层遍历还未结束,此时基于目标字符串数组中的元素顺序,将当前字符串元素的下一个字符串元素更新为当前字符串元素,并进入步骤S252,以便可以检测下一个字符串元素中的预设标识符数量。
S258、将变量值确定为目标字符串数组中的预设标识符总数。
具体地,在当前字符串元素是目标字符串数组中的最后一个字符串元素时,表明第二层遍历结束,此时可以将全局变量中存储的变量值直接确定为目标字符串数组中的预设标识符总数。
本实施例在确定目标字符串数组中的预设标识符总数时,可以通过检测目标字符串数组中的每个字符串元素的预设标识符数量是否小于或等于1,来保证每个字符串元素中的预设标识符数量均符合预设弹幕协议的规定,并且在预设标识符数量大于1时,可以直接确定目标弹幕数据校验失败,从而提高了目标弹幕数据校验的严格性,使得目标弹幕数据更具完整性,并且也可以快速校验出预设标识符数量不符合规定的弹幕数据,提高弹幕校验效率。
实施例三
图4为本发明实施例三提供的一种基于字符分割的弹幕校验装置的结构示意图,本实施例可适用于对预设字符串结构的弹幕数据进行完整性校验的情况,该装置具体可以包括:目标弹幕数据获取模块410、字符验证模块420、第一字符串数组确定模块430、第二字符串数组确定模块440和目标弹幕数据校验模块450。
其中,目标弹幕数据获取模块410,用于获取预设字符串结构的目标弹幕数据,其中目标弹幕数据包括预设分隔符和预设连接符;字符验证模块420,用于调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;第一字符串数组确定模块430,用于若字符验证成功,则调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;第二字符串数组确定模块440,用于调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组;目标弹幕数据校验模块450,用于若每个第二字符串数组的数组长度均满足预设校验条件,则确定目标弹幕数据校验成功。
可选地,预设字符串结构为第一预设字符串结构,第一预设字符串结构为:以预设开始符作为首位字符,以预设分隔符划分各键值对信息,以预设连接符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,值信息不包含预设连接符。
目标弹幕数据校验模块450,具体用于:若每个第二字符串数组的数组长度均等于2,则确定目标弹幕数据校验成功。
可选地,预设字符串结构为第二预设字符串结构,第二预设字符串结构为:以预设开始符作为首位字符,以预设分隔符划分各键值对信息,以预设连接符连接键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,至少一个值信息包含至少一个预设连接符,并且值信息包含的每个预设连接符的前一字符均为预设标识符。
目标弹幕数据校验模块450,包括:
预设标识符总数确定单元,用于对每个第二字符串数组中的各第二字符串元素进行遍历,确定每个第二字符串数组中的预设标识符总数;
差值计算模块,用于计算每个第二字符串数组的数组长度与对应的预设标识符总数之间的差值;
目标弹幕数据校验单元,用于若每个差值均等于2,则确定目标弹幕数据校验成功。
可选地,预设标识符总数确定单元,具体用于:将各第二字符串数组逐个确定为目标字符串数组,并将目标字符串数组中的第一个字符串元素确定为当前字符串元素;将当前字符串元素中的各个字符与预设标识符进行匹配,根据匹配结果确定当前字符串元素中的预设标识符数量;若预设标识符数量小于或等于1,则将预设的全局变量累加预设标识符数量,以更新变量值;检测当前字符串元素是否为目标字符串数组中的最后一个字符串元素,若是,则将变量值确定为目标字符串数组中的预设标识符总数;若否,则将当前字符串元素的下一字符串元素更新为当前字符串元素,并返回执行将当前字符串元素中的各个字符与预设标识符进行匹配的操作。
可选地,目标弹幕数据获取模块410,具体用于:获取待校验弹幕数据以及待校验弹幕数据对应的待校验数据标识;将待校验数据标识与预设字符串嵌套结构对应的标识集合中的数据标识进行匹配;若匹配成功,则将待校验弹幕数据确定为目标弹幕数据。
本发明实施例所提供的基于字符分割的弹幕校验装置可执行本发明任意实施例所提供的基于字符分割的弹幕校验方法,具备执行基于字符分割的弹幕校验方法相应的功能模块和有益效果。
实施例四
图5是本发明实施例四提供的一种终端的结构示意图。参见图5,该终端包括:
一个或多个处理器510;
存储器520,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器510执行,使得一个或多个处理器510实现如上述实施例中任一实施例提出的基于字符分割的弹幕校验方法,该方法包括:
获取预设字符串结构的目标弹幕数据,其中目标弹幕数据包括预设分隔符和预设连接符;
调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组;
若每个第二字符串数组的数组长度均满足预设校验条件,则确定目标弹幕数据校验成功。
图5中以一个处理器510为例;终端中的处理器510和存储器520可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于字符分割的弹幕校验方法对应的程序指令/模块(例如,基于字符分割的弹幕校验装置中的目标弹幕数据获取模块410、字符验证模块420、第一字符串数组确定模块430、第二字符串数组确定模块440和目标弹幕数据校验模块450)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的基于字符分割的弹幕校验方法。
存储器520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的终端与上述实施例提出的基于字符分割的弹幕校验方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行基于字符分割的弹幕校验方法相同的有益效果。
实施例五
本实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的基于字符分割的弹幕校验方法,该方法包括:
获取预设字符串结构的目标弹幕数据,其中目标弹幕数据包括预设分隔符和预设连接符;
调用存储目标弹幕数据的弹幕数据对象中的字符验证函数,对目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用弹幕数据对象中的字符串分割函数,将目标弹幕数据以预设分隔符进行分割,确定第一字符串数组,并将第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
调用每个字符串对象中的字符串分割函数,将每个第一字符串元素以预设连接符进行分割,确定各第二字符串数组;
若每个第二字符串数组的数组长度均满足预设校验条件,则确定目标弹幕数据校验成功。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于字符分割的弹幕校验方法,其特征在于,包括:
获取预设字符串结构的目标弹幕数据,其中所述目标弹幕数据包括预设分隔符和预设连接符;
调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
若字符验证成功,则调用所述弹幕数据对象中的字符串分割函数,将所述目标弹幕数据以所述预设分隔符进行分割,确定第一字符串数组,并将所述第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
调用每个所述字符串对象中的字符串分割函数,将每个所述第一字符串元素以所述预设连接符进行分割,确定各第二字符串数组;
若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功。
2.根据权利要求1所述的方法,其特征在于,所述预设字符串结构为第一预设字符串结构,所述第一预设字符串结构为:以预设开始符作为首位字符,以所述预设分隔符划分各键值对信息,以所述预设连接符连接所述键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,所述值信息不包含所述预设连接符。
3.根据权利要求2所述的方法,其特征在于,若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功,包括:
若每个所述第二字符串数组的数组长度均等于2,则确定目标弹幕数据校验成功。
4.根据权利要求1所述的方法,其特征在于,所述预设字符串结构为第二预设字符串结构,所述第二预设字符串结构为:以预设开始符作为首位字符,以所述预设分隔符划分各键值对信息,以所述预设连接符连接所述键值对信息中的键信息和值信息,以预设结束符作为末位字符,其中,至少一个所述值信息包含至少一个所述预设连接符,并且所述值信息包含的每个预设连接符的前一字符均为预设标识符。
5.根据权利要求4所述的方法,其特征在于,若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功,包括:
对每个所述第二字符串数组中的各第二字符串元素进行遍历,确定每个所述第二字符串数组中的预设标识符总数;
计算每个所述第二字符串数组的数组长度与对应的预设标识符总数之间的差值;
若每个所述差值均等于2,则确定所述目标弹幕数据校验成功。
6.根据权利要求5所述的方法,其特征在于,对每个所述第二字符串数组中的各第二字符串元素进行遍历,确定每个所述第二字符串数组中的预设标识符总数,包括:
将各所述第二字符串数组逐个确定为目标字符串数组,并将所述目标字符串数组中的第一个字符串元素确定为当前字符串元素;
将当前字符串元素中的各个字符与所述预设标识符进行匹配,根据匹配结果确定当前字符串元素中的预设标识符数量;
若所述预设标识符数量小于或等于1,则将预设的全局变量的变量值累加所述预设标识符数量,以更新所述变量值;
检测当前字符串元素是否为所述目标字符串数组中的最后一个字符串元素;
若是,则将所述变量值确定为所述目标字符串数组中的预设标识符总数;
若否,则将当前字符串元素的下一字符串元素更新为当前字符串元素,并返回执行所述将当前字符串元素中的各个字符与所述预设标识符进行匹配的操作。
7.根据权利要求1所述的方法,其特征在于,所述获取预设字符串嵌套结构的目标弹幕数据包括:
获取待校验弹幕数据以及所述待校验弹幕数据对应的待校验数据标识;
将所述待校验数据标识与所述预设字符串嵌套结构对应的标识集合中的数据标识进行匹配;
若匹配成功,则将所述待校验弹幕数据确定为所述目标弹幕数据。
8.一种基于字符分割的弹幕校验装置,其特征在于,包括:
目标弹幕数据获取模块,用于获取预设字符串结构的目标弹幕数据,其中所述目标弹幕数据包括预设分隔符和预设连接符;
字符验证模块,用于调用存储所述目标弹幕数据的弹幕数据对象中的字符验证函数,对所述目标弹幕数据中的首位字符和末位字符进行字符验证;
第一字符串数组确定模块,用于若字符验证成功,则调用所述弹幕数据对象中的字符串分割函数,将所述目标弹幕数据以所述预设分隔符进行分割,确定第一字符串数组,并将所述第一字符串数组中的每个第一字符串元素存储至对应的字符串对象中;
第二字符串数组确定模块,用于调用每个所述字符串对象中的字符串分割函数,将每个所述第一字符串元素以所述预设连接符进行分割,确定各第二字符串数组;
目标弹幕数据校验模块,用于若每个所述第二字符串数组的数组长度均满足预设校验条件,则确定所述目标弹幕数据校验成功。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的基于字符分割的弹幕校验方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的基于字符分割的弹幕校验方法。
CN201811160458.8A 2018-09-30 2018-09-30 基于字符分割的弹幕校验方法、装置、终端及存储介质 Active CN109299719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811160458.8A CN109299719B (zh) 2018-09-30 2018-09-30 基于字符分割的弹幕校验方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811160458.8A CN109299719B (zh) 2018-09-30 2018-09-30 基于字符分割的弹幕校验方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN109299719A true CN109299719A (zh) 2019-02-01
CN109299719B CN109299719B (zh) 2021-07-23

Family

ID=65161502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811160458.8A Active CN109299719B (zh) 2018-09-30 2018-09-30 基于字符分割的弹幕校验方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN109299719B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113403A (zh) * 2019-04-28 2019-08-09 深圳市创维群欣安防科技股份有限公司 一种at指令的处理方法、装置和计算机设备
CN110147330A (zh) * 2019-05-23 2019-08-20 深圳市创维软件有限公司 一种字模数据的缓存方法、装置、设备和存储介质
CN113626593A (zh) * 2021-07-13 2021-11-09 深圳希施玛数据科技有限公司 一种Excel文件校验方法、装置及设备
CN113726616A (zh) * 2021-11-04 2021-11-30 国网江苏省电力有限公司信息通信分公司 基于电力物联网实时检测异常数据的方法、装置及系统

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239290A (ja) * 1988-07-28 1990-02-08 Nec Corp 単語照合方式
WO2004093376A1 (en) * 2003-04-17 2004-10-28 Thomson Licensing Method to decode a data string
US7047493B1 (en) * 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
CN102024046A (zh) * 2010-12-14 2011-04-20 成都市华为赛门铁克科技有限公司 数据重复性校验方法和装置及系统
CN102811426A (zh) * 2011-05-30 2012-12-05 网秦无限(北京)科技有限公司 移动设备的消息的加密发送和接收的方法和系统
CN102955833A (zh) * 2011-08-31 2013-03-06 深圳市华傲数据技术有限公司 一种通讯地址识别、标准化的方法
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置
CN104462265A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种数据库字符串分割及分割后操作的通用方法
CN104661096A (zh) * 2013-11-21 2015-05-27 深圳市快播科技有限公司 视频弹幕添加方法及装置和视频播放方法及视频播放器
CN105045463A (zh) * 2015-06-25 2015-11-11 广东欧珀移动通信有限公司 一种消息显示控制方法及装置
CN105589885A (zh) * 2014-10-24 2016-05-18 阿里巴巴集团控股有限公司 一种数据一致性校验的方法及系统
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107135429A (zh) * 2017-05-12 2017-09-05 武汉斗鱼网络科技有限公司 弹幕消息解析方法、装置及电子设备
CN107483199A (zh) * 2017-10-10 2017-12-15 重庆浩品峰电子商务有限公司 信息验证方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239290A (ja) * 1988-07-28 1990-02-08 Nec Corp 単語照合方式
US7047493B1 (en) * 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
WO2004093376A1 (en) * 2003-04-17 2004-10-28 Thomson Licensing Method to decode a data string
CN102024046A (zh) * 2010-12-14 2011-04-20 成都市华为赛门铁克科技有限公司 数据重复性校验方法和装置及系统
CN102811426A (zh) * 2011-05-30 2012-12-05 网秦无限(北京)科技有限公司 移动设备的消息的加密发送和接收的方法和系统
CN102955833A (zh) * 2011-08-31 2013-03-06 深圳市华傲数据技术有限公司 一种通讯地址识别、标准化的方法
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置
CN104661096A (zh) * 2013-11-21 2015-05-27 深圳市快播科技有限公司 视频弹幕添加方法及装置和视频播放方法及视频播放器
CN105589885A (zh) * 2014-10-24 2016-05-18 阿里巴巴集团控股有限公司 一种数据一致性校验的方法及系统
CN104462265A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种数据库字符串分割及分割后操作的通用方法
CN105045463A (zh) * 2015-06-25 2015-11-11 广东欧珀移动通信有限公司 一种消息显示控制方法及装置
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107135429A (zh) * 2017-05-12 2017-09-05 武汉斗鱼网络科技有限公司 弹幕消息解析方法、装置及电子设备
CN107483199A (zh) * 2017-10-10 2017-12-15 重庆浩品峰电子商务有限公司 信息验证方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XU YANG ET AL: "Natural language processing in "Bullet Screen" application", 《 2017 INTERNATIONAL CONFERENCE ON SERVICE SYSTEMS AND SERVICE MANAGEMENT》 *
洪庆等: "基于弹幕情感分析和聚类算法的视频用户群体分类", 《计算机工程与科学》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113403A (zh) * 2019-04-28 2019-08-09 深圳市创维群欣安防科技股份有限公司 一种at指令的处理方法、装置和计算机设备
CN110113403B (zh) * 2019-04-28 2021-12-28 深圳创维数字技术有限公司 一种at指令的处理方法、装置和计算机设备
CN110147330A (zh) * 2019-05-23 2019-08-20 深圳市创维软件有限公司 一种字模数据的缓存方法、装置、设备和存储介质
CN110147330B (zh) * 2019-05-23 2023-09-01 深圳市创维软件有限公司 一种字模数据的缓存方法、装置、设备和存储介质
CN113626593A (zh) * 2021-07-13 2021-11-09 深圳希施玛数据科技有限公司 一种Excel文件校验方法、装置及设备
CN113626593B (zh) * 2021-07-13 2024-04-19 深圳希施玛数据科技有限公司 一种Excel文件校验方法、装置及设备
CN113726616A (zh) * 2021-11-04 2021-11-30 国网江苏省电力有限公司信息通信分公司 基于电力物联网实时检测异常数据的方法、装置及系统
CN113726616B (zh) * 2021-11-04 2022-03-22 国网江苏省电力有限公司信息通信分公司 基于电力物联网实时检测异常数据的方法、装置及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN109299719A (zh) 基于字符分割的弹幕校验方法、装置、终端及存储介质
CN110414242A (zh) 用于检测业务逻辑漏洞的方法、装置、设备及介质
CN111488166B (zh) 双芯智能电表管理单元软件的升级方法、装置及存储介质
CN112100071B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN106604362B (zh) 一种无线保真Wi-Fi扫描方法及移动终端
CN111611581B (zh) 基于物联网的网络大数据信息防泄密方法及云通信服务器
CN107688533B (zh) 应用程序测试方法、装置、计算机设备和存储介质
CN112380046B (zh) 计算结果校验方法、系统、装置、设备及存储介质
CN111209202A (zh) 终端应用测试方法和装置
CN112367680A (zh) 基于智能电表的外部通信测试方法、装置和计算机设备
CN111400695B (zh) 一种设备指纹生成方法、装置、设备和介质
CN113468276A (zh) 链上预言机的可信数据获取方法、装置及电子设备
CN109413450B (zh) 一种弹幕数据的完整性校验方法、装置、终端及存储介质
CN115051824B (zh) 一种垂直越权检测方法、系统、设备及存储介质
CN109413506A (zh) 一种弹幕数据的校验方法、装置、终端及存储介质
CN109348305A (zh) 一种弹幕数据的校验方法、装置、终端及存储介质
CN109413505B (zh) 一种弹幕数据的校验方法、装置、终端及存储介质
CN110769010B (zh) 一种数据管理权限处理方法、装置及计算机设备
CN106612278B (zh) 一种数据合法性验证方法及系统
KR101940675B1 (ko) 통합도면에서 공통원인고장을 추적하는 방법 및 장치
CN113407444A (zh) 一种接口的测试用例生成方法、装置、设备及存储介质
CN113094696A (zh) 口令破解的效果评估方法、装置、电子设备及存储介质
CN109379640A (zh) 基于链表方式的弹幕校验方法、装置、终端及存储介质
CN110879835A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN109348304A (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