字符串处理方法、装置、电子设备和可读存储介质制造方法及图纸

技术编号:38633544 阅读:15 留言:0更新日期:2023-08-31 18:31
本发明专利技术提供了一种字符串处理方法、装置、电子设备和可读存储介质,包括:获取针对目标函数的函数调用指令,确定函数调用指令包括的格式化字符串和至少一个格式化数据;基于格式化字符串和至少一个格式化数据计算第一哈希值和第一组合字符串;确定存储模块是否存在目标存储项;其中,目标存储项的目标存储位置为第一哈希值,并且目标存储项包括第一组合字符串;如果存在,基于目标存储项包括的结果字符串执行函数调用指令。可以直接将终端设备的存储模块存储的目标存储项包括的结果字符串作为目标函数的计算结果,不需要通过目标函数计算格式化数据和格式化字符串对应的结果字符串,从而避免频繁地创建和销毁格式化字符串,提高游戏服务器性能。提高游戏服务器性能。提高游戏服务器性能。

【技术实现步骤摘要】
字符串处理方法、装置、电子设备和可读存储介质


[0001]本专利技术涉及函数调用
,尤其是涉及一种字符串处理方法、装置、电子设备和可读存储介质。

技术介绍

[0002]LPC(Lars Pensj
ǒ
C)语言是一种基于C语言的用于开发游戏服务端的脚本语言,在LPC语言中实现格式化字符串的是sprintf函数,sprintf函数的基本功能是将格式化数据插入已知的格式化字符串中,得到结果字符串。例如:给定2个变量iType和iGrade,如果iType=3,iGrade=10,sprintf("var_%d_%d",iType,iGrade)="var_3_10";其中,格式化数据为3和10,格式化数据为sprintf("var_%d_%d",iType,iGrade),结果字符串为"var_3_10"。
[0003]然而,在游戏服务端中存在大量的sprintf函数使用,每次调用sprintf函数都会在内存中创建和销毁格式化字符串,从而占用较多的内存,会给游戏性能带来一定程度的损耗。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种字符串处理方法、装置、电子设备和可读存储介质,以避免频繁地创建和销毁格式化字符串,提高游戏服务器性能。
[0005]第一方面,本专利技术实施例提供了一种字符串处理方法,终端设备的存储模块包括至少一个存储位置,每个存储位置存储至少一个存储项,每个存储项包括一个组合字符串和一个结果字符串,目标函数用于基于格式化字符串和至少一个格式化数据生成结果字符串;方法包括:获取针对目标函数的函数调用指令,确定函数调用指令包括的格式化字符串和至少一个格式化数据;基于格式化字符串和至少一个格式化数据计算第一哈希值和第一组合字符串;确定存储模块是否存在目标存储项;其中,目标存储项的目标存储位置为第一哈希值,并且目标存储项包括第一组合字符串;如果存在目标存储项,基于目标存储项包括的结果字符串执行函数调用指令。
[0006]第二方面,本专利技术实施例还提供一种字符串处理装置,终端设备的存储模块包括至少一个存储位置,每个存储位置存储至少一个存储项,每个存储项包括一个组合字符串和一个结果字符串,目标函数用于基于格式化字符串和至少一个格式化数据生成结果字符串;装置包括:函数调用指令处理模块,用于获取针对目标函数的函数调用指令,确定函数调用指令包括的格式化字符串和至少一个格式化数据;计算模块,用于基于格式化字符串和至少一个格式化数据计算第一哈希值和第一组合字符串;目标存储项查找模块,用于确定存储模块是否存在目标存储项;其中,目标存储项的目标存储位置为第一哈希值,并且目标存储项包括第一组合字符串;函数调用指令执行模块,用于如果存在目标存储项,基于目标存储项包括的结果字符串执行函数调用指令。
[0007]第三方面,本专利技术实施例还提供一种电子设备,包括处理器和存储器,存储器存储
有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的字符串处理方法的步骤。
[0008]第四方面,本专利技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的字符串处理方法的步骤。
[0009]本专利技术实施例带来了以下有益效果:
[0010]本专利技术实施例提供了一种字符串处理方法、装置、电子设备和可读存储介质,获取针对目标函数的函数调用指令,确定函数调用指令包括的格式化字符串和至少一个格式化数据;基于格式化字符串和至少一个格式化数据计算第一哈希值和第一组合字符串;确定存储模块是否存在目标存储项;其中,目标存储项的目标存储位置为第一哈希值,并且目标存储项包括第一组合字符串;如果存在目标存储项,基于目标存储项包括的结果字符串执行函数调用指令。该方式中,可以直接将终端设备的存储模块存储的目标存储项包括的结果字符串作为目标函数的计算结果,不需要通过目标函数计算格式化数据和格式化字符串对应的结果字符串,从而避免频繁地创建和销毁格式化字符串,提高游戏服务器性能。
[0011]本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0012]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0013]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本专利技术实施例提供的一种字符串处理方法的流程图;
[0015]图2为本专利技术实施例提供的另一种字符串处理方法的流程图;
[0016]图3为本专利技术实施例提供的一种字符串处理装置的结构示意图;
[0017]图4为本专利技术实施例提供的另一种字符串处理装置的结构示意图;
[0018]图5为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0019]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]目前,LPC语言是一种基于C语言的用于开发游戏服务端的脚本语言,在LPC语言中实现格式化字符串的是sprintf函数,sprintf函数的基本功能是将格式化数据插入已知的格式化字符串中,得到结果字符串。例如:给定2个变量iType和iGrade,如果iType=3,iGrade=10,sprintf("var_%d_%d",iType,iGrade)="var_3_10";其中,格式化数据为3
和10,格式化数据为sprintf("var_%d_%d",iType,iGrade),结果字符串为"var_3_10"。
[0021]然而,在游戏服务端中存在大量的sprintf函数使用,每次调用sprintf函数都会在内存中创建和销毁格式化字符串,从而占用较多的内存,会给游戏性能带来一定程度的损耗。
[0022]基于此,本专利技术实施例提供的一种字符串处理方法、装置、电子设备和可读存储介质,具体提及了一种应用于LPC语言的调用sprintf函数的缓存优化方法,可以直接将终端设备的存储模块存储的目标存储项包括的结果字符串作为目标函数的计算结果,不需要通过目标函数计算格式化数据和格式化字符串对应的结果字符串,从而避免频繁地创建和销毁格式化字符串,提高游戏服务器性能。
[0023]本实施例提供了一种字符串处理方法,终端设备的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字符串处理方法,其特征在于,终端设备的存储模块包括至少一个存储位置,每个所述存储位置存储至少一个存储项,每个所述存储项包括一个组合字符串和一个结果字符串,目标函数用于基于格式化字符串和至少一个格式化数据生成所述结果字符串;所述方法包括:获取针对所述目标函数的函数调用指令,确定所述函数调用指令包括的格式化字符串和至少一个格式化数据;基于所述格式化字符串和至少一个所述格式化数据计算第一哈希值和第一组合字符串;确定所述存储模块是否存在目标存储项;其中,所述目标存储项的目标存储位置为所述第一哈希值,并且所述目标存储项包括所述第一组合字符串;如果存在所述目标存储项,基于所述目标存储项包括的结果字符串执行所述函数调用指令。2.根据权利要求1所述的方法,其特征在于,基于所述格式化字符串和至少一个所述格式化数据计算第一哈希值和第一组合字符串的步骤,包括:基于至少一个所述格式化数据确定第一字符串;将所述格式化字符串和所述第一字符串组合,得到第一组合字符串;通过预先设置的哈希函数计算所述第一组合字符串的第一哈希值。3.根据权利要求2所述的方法,其特征在于,基于至少一个所述格式化数据确定第一字符串的步骤,包括:将至少一个所述格式化数据转化为字符串;将至少一个所述格式化数据转化后的字符串组合,得到第一字符串。4.根据权利要求3所述的方法,其特征在于,将至少一个所述格式化数据转化后的字符串组合,得到第一字符串的步骤,包括:通过以下算式将至少一个所述格式化数据转化后的字符串组合,得到第一字符串:S
x
=str(x0)+str(x1)+

+str(x
n
‑1);其中,S
x
为所述第一字符串,x
i
‑1为第i个所述格式化数据,n为所述格式化数据的数量,str(x
i
‑1)为第i个所述格式化数据转化后的字符串。5.根据权利要求2所述的方法,其特征在于,将所述格式化字符串和所述第一字符串组合,得到第一组合字符串的步骤,包括:通过以下算式将所述格式化字符串和所述第一字符串组合,得到第一组合字符串:S
all
=S
fmt
+S
x
;其中,S
all
为所述第一组合字符串,为所述格式化字符串,S
x
为所述第一字符串。6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:钟远坤
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1