CN111803950A - 网页游戏的数据处理方法、装置、电子设备及存储介质 - Google Patents

网页游戏的数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111803950A
CN111803950A CN201910346334.7A CN201910346334A CN111803950A CN 111803950 A CN111803950 A CN 111803950A CN 201910346334 A CN201910346334 A CN 201910346334A CN 111803950 A CN111803950 A CN 111803950A
Authority
CN
China
Prior art keywords
data processing
file
web game
binary character
code
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
CN201910346334.7A
Other languages
English (en)
Other versions
CN111803950B (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.)
Xiamen Yaji Software Co Ltd
Original Assignee
Xiamen Yaji Software 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 Xiamen Yaji Software Co Ltd filed Critical Xiamen Yaji Software Co Ltd
Priority to CN201910346334.7A priority Critical patent/CN111803950B/zh
Publication of CN111803950A publication Critical patent/CN111803950A/zh
Application granted granted Critical
Publication of CN111803950B publication Critical patent/CN111803950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Abstract

本申请实施例提供了一种网页游戏的数据处理方法、装置、电子设备及存储介质。该方法包括:方法独权内容利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件,当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。本申请实施例实现了利用二进制字符文件初步提高网页游戏的执行效率,降低数据处理所需的时间,在此基础上,利用多个执行数据处理操作的线程、SOA的数据结构和单指令多数据流执行相应的数据处理操作,进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。

Description

网页游戏的数据处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,本发明涉及一种网页游戏数据处理方法、装置、电子设备及存储介质。
背景技术
网页游戏又称Web游戏,是基于Web浏览器的网络在线多人互动游戏,无需下载客户端且不存在机器配置不够的问题。但对于一些大型场景游戏、重度大型多人在线游戏(Massive Multiplayer Online,MMO)等,可能存在场景节点更新、场景裁剪、骨骼动画更新、粒子更新等比较耗时的数据处理,限制了网页游戏的发展。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是由于数据处理耗时而限制网页游戏发展的技术缺陷。
第一方面,提供了一种网页游戏的数据处理方法,该方法包括:
利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
在一个可能的实现方式中,还包括:
利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,胶水代码文件为由JavaScript语言组成的文件。
在一个可能的实现方式中,原生语言文件包括绑定代码和数据处理代码,利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件及二进制字符文件,包括:
基于预设的编译器,利用绑定代码将数据处理代码转化为胶水代码文件和二进制字符文件,绑定代码和数据处理代码均为由原生语言编写的代码。
在一个可能的实现方式中,当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,包括:
当接收到与网页游戏相关的多个数据处理请求时,通过胶水代码文件读取二进制字符文件;
基于二进制字符文件,分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在一个可能的实现方式中,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,包括:
利用网页游戏的引擎,调用二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在一个可能的实现方式中,预设的编译器为EmScripten。
第二方面,提供了一种网页游戏的数据处理装置,该装置包括:
转化模块,用于利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
建立模块,用于当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
执行模块,用于通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
在一个可能的实现方式中,转化模块,还用于利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,胶水代码文件为由JavaScript语言组成的文件。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行上述实现方式中任一项所述的网页游戏的数据处理方法。
例如,本申请的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行如本申请的第一方面所示的网页游戏的数据处理方法对应的操作。
第四方面,提供了一种计算机可读存储介质,该程序被处理器执行时实现上述实现方式中任一项所述的网页游戏的数据处理方法。
例如,本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的网页游戏的数据处理方法。
本申请实施例提供的技术方案带来的有益效果是:
由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种网友游戏的数据处理方法的流程示意图;
图2为本申请实施例提供的一种网页游戏的数据处理装置的结构示意图;
图3为本申请实施例提供的一种网页游戏的数据处理装置的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:面向数据架构(Structure OfArray,SOA)的数据结构。这种结构的数据能够将数据紧凑的组织在一起,有利于中央处理器高效访问,即同一时间可以利用中央处理器的所有内核处理该结构的数据,实现硬件设备(即运行原生平台的设备)的多线程处理目的。单指令多数据流(Single InstructionMultiple Data,SIMD)能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,采用一个控制器来控制多个处理器,同时对一组数据(又称数据向量)中的每一个分别执行相同的操作从而实行空间上的并行性的技术。
传统的Web游戏引擎都是采用JavaScript开发。JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。JavaScript引擎为浏览器的一部分,广泛用于客户端的脚本语言,最早用来给超级文本标记语言网页增加动态功能。JavaScript与原生语言如C++等相比执行效率较低,限制了某些Web游戏的开发,如要开发的游戏渲染比较耗时等。
本申请提供的网页游戏的数据处理方法、装置、电子设备和存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种网页游戏的数据处理方法,如图1所示,该方法包括:
S101,利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
原生语言文件为利用原生语言编程的文件,如利用C/C++语言编程的原生语言文件等。二进制字符文件为由二进制字符组成的文件,如WebAssembly文件等。编译器能将原生语言文件转化为二进制字符文件,如EmScripten等,例如,WebAssembly文件可由EmScripten编译而成。
具体的,EmScripten是一个编译器项目,可将C++语言代码转化为WebAssembly文件,通过网页游戏引擎对WebAssembly文件的直接调用,提升计算效率。很多浏览器的游戏引擎都支持调用WebAssembly文件,如谷歌浏览器(Google Chrome)、微软浏览器(Microsoft Edge)、火狐浏览器(Mozilla Firefox)和Safari浏览器等。
S102,当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
接收到与网页游戏相关的多个数据处理请求时,网页游戏引擎直接调用二进制字符文件,基于该二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,由多个线程同时执行多个数据处理操作,加快数据处理的速度。
S103,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
在每个线程上,基于SOA的数据结构和单指令多数据流,使每个线程执行一个数据处理操作时,依据执行该数据处理操作的数据处理指令,对多个数据同时进行同类处理,更进一步加快数据处理速度。
进一步地,传统的结构体数组,如数据结构为structrue{x,y,z},其数组在内存中的结构如下表1所示,而基于SOA的存储方式如下表2所示。
表1
数据1 x1 y1 z1
数据2 x2 y2 z2
数据3 x3 y3 z3
…… …… …… ……
表2
数据1 x1 x2 x3
数据2 y1 y2 y3
数据3 z1 z2 z3
…… …… …… ……
传统的结构体数组在执行数据处理操作时,依据先处理x1→y1→z1,其次处理x2→y2→z2,再次处理x3→y3→z3等形式进行数据处理。而SOA的数据结构在执行数据处理操作时,可依据一条数据处理指令,执行x→y→z的形式进行数据处理,即先对数据x(包括x1、x2、x3等)进行处理得到数据y(包括y1、y2、y3等),再对数据y进行处理得到数据z(包括z1、z2、z3等)。因此,SOA的数据结构更有利于进行单指令多数据流的运算,使得一条处理处理指令可以进行多个数据的并行计算,提高运算速率。
在本申请实施例中,由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
在又一个具体的实施例中,还包括S104(图中未标出):
S104,利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,胶水代码文件为JavaScript语言组成的文件。
在又一个具体的实施例中,原生语言文件包括绑定代码和数据处理代码,利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件及二进制字符文件(S101和S104),包括S105(图中未标出):
S105,基于预设的编译器,利用绑定代码将数据处理代码转化为胶水代码文件和二进制字符文件,绑定代码和数据处理代码均为由原生语言编写的代码。
具体地,利用预设的编译器,原生语言代码可以通过两种方式转化为二进制字符文件。以预设的编译器为EmScripten工具、原生语言代码为C++代码、二进制字符文件为WebAssembly文件为例:
1、在每个C++代码的cpp代码中写入绑定代码,C++代码中除绑定代码之外还包括数据处理代码,利用EmScripten工具对C++代码进行编译后,生成一个js文件和一个wasm文件,js文件为连接JavaScript和wasm文件的胶水代码文件,wasm文件为二进制字符文件。此种方式适合新开发的模块,可以在写C++代码的同时,写入绑定代码。
2、首先将绑定代码写入单个idl的文件中,利用包含数据处理代码的文件和包含绑定代码的idl文件,生成glue.cpp文件,利用EmScripten工具对glue.cpp文件进行编译,生成js文件和wasm文件,js文件为连接JavaScript和wasm文件的胶水代码文件,wasm文件为二进制字符文件。此种方式适合移植整个工程或者项目。
具体地,绑定代码又称导出代码,在原生语言中写入绑定代码,编译器能根据该绑定代码得知需要暴露给网页游戏的引擎调用的接口,便于编译器基于该绑定代码生成胶水代码文件和二进制字符文件。胶水代码在计算机编程领域也叫粘合代码。胶水代码不实现程序要求的任何功能,通常出现在代码中,使现有的库或者程序在外部函数接口(如Java本地接口)中进行互操作,胶水代码在快速原型中非常高效,可以让几个组件被快速集成到单个语言或者框架中。利用EmScripten工具,可以根据绑定代码,将原生语言文件中的数据处理代码转化为胶水代码文件和二进制字符文件。
原生语言文件为工程师利用原生语言编写的代码,如利用C语言、C++语言等撰写的代码文件,包括绑定代码和数据处理代码。胶水代码文件为编译器基于绑定代码对数据处理代码进行转化后得到的,是JavaScript语言组成的文件。二进制字符文件为编译器基于绑定代码对数据处理代码进行转化后得到的,为由二进制字符组成的文件,如WebAssembly文件。
在又一个具体的实施例中,S102包括S1021(图中未标出)和S1022(图中未标出):
S1021,当接收到与网页游戏相关的多个数据处理请求时,通过胶水代码文件读取二进制字符文件;
S1022,基于二进制字符文件,分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在另一个具体的实施例中,S102包括S1023(图中未标出):
S1023,利用网页游戏的引擎,调用二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在又一个具体的实施例中,预设的编译器为EmScripten。
网页游戏的引擎可以利用胶水代码文件调用并读取二进制字符文件,基于二进制字符文件,建立多个与数据处理请求对应的执行数据处理操作的线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
具体地,数据处理代码包括建立多个与数据处理请求对应的执行数据处理操作的线程的代码、基于SOA的数据结构执行相应的数据处理操作的代码和基于单指令多数据流执行相应的数据处理操作的代码。编译器利用绑定代码将数据处理代码转化为胶水代码文件和二进制字符文件时,二进制字符文件对应的包括建立多个与数据处理请求对应的执行数据处理操作的线程的代码、基于SOA的数据结构执行相应的数据处理操作的代码和基于单指令多数据流执行相应的数据处理操作的代码。因此,网页游戏的引擎利用胶水代码文件调用并读取二进制字符文件时,基于二进制字符文件,建立多个与数据处理请求对应的执行数据处理操作的线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
在本申请实施例中,由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
实施例二
本申请实施例提供了一种网页游戏的数据处理装置,如图2所示,该网页游戏的数据处理装置20可以包括:转化模块201、建立模块202以及执行模块203,其中,
转化模块201,用于利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
建立模块202,用于当接收到与网页游戏相关的多个数据处理请求时,基于二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
执行模块203,用于通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
本实施例的网页游戏的数据处理装置可执行本申请实施例一提供的一种网页游戏的数据处理方法,其实现原理相类似,此处不再赘述。
在本申请实施例中,由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
在又一个具体的实施例中,
转化模块201,还用于利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,胶水代码文件为由JavaScript语言组成的文件。
在又一个具体的实施例中,原生语言文件包括绑定代码和数据处理代码:
转化模块201,还用于基于预设的编译器,利用将绑定代码将数据处理代码转化为胶水代码文件和二进制字符文件,绑定代码和数据处理代码均为由原生语言编写的代码。
在又一个具体的实施例中,建立模块202包括读取模块(图中未标出)和第一建立模块(图中未标出):
读取模块,用于当接收到与网页游戏相关的多个数据处理请求时,通过胶水代码文件读取二进制字符文件;
第一建立模块,用于基于二进制字符文件,分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在又一个具体的实施例中,
建立模块202,还用于利用网页游戏的引擎,调用二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程。
在又一个具体的实施例中,预设的编译器为EmScripten。
本实施例的网页游戏的数据处理装置可执行本申请实施例一提供的一种网页游戏的数据处理方法,其实现原理相类似,此处不再赘述。
在本申请实施例中,由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
实施例三
本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备2000包括:处理器2001和收发器2004。其中,处理器2001和收发器2004相连,如通过总线2002相连。可选的,电子设备2000还可以包括存储器2003。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述实施例所示的执行模块203的功能。收发器2004包括接收机和发射机,收发器2004应用于本申请实施例中,用于实现上述实施例所示的建立模块202的功能。
处理器2001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI总线或EISA总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现上述实施例提供的网页游戏的数据处理装置的动作。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所示的网页游戏的数据处理方法。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,由于网页游戏一般是基于JavaScript设计的,相关引擎不能直接调用原生语言,利用编译器将原生语言文件转化为二进制字符文件,相关引擎能够运行该二进制字符文件,且二进制字符的执行效率近似于原生语言的执行效率,相关引擎执行该二进制字符文件的执行效率远高于相关引擎执行基于JavaScript设计的文件的执行效率。进一步地,接收到与网页游戏相关的多个数据处理请求时,建立与各个数据处理请求对应的线程,通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作,能进一步缩短数据处理所需的时间,降低对网页游戏发展的限制。
本申请实施例提供了一种计算机可读存储介质适用于上述方法实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种网页游戏的数据处理方法,其特征在于,包括:
利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
当接收到与所述网页游戏相关的多个数据处理请求时,基于所述二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,所述胶水代码文件为由JavaScript语言组成的文件。
3.根据权利要求2所述的方法,其特征在于,所述原生语言文件包括绑定代码和数据处理代码,利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件及二进制字符文件,包括:
基于预设的编译器,利用所述绑定代码将所述数据处理代码转化为所述胶水代码文件和所述二进制字符文件,所述绑定代码和所述数据处理代码均为由原生语言编写的代码。
4.根据权利要求3所述的方法,其特征在于,所述当接收到与所述网页游戏相关的多个数据处理请求时,基于所述二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,包括:
当接收到与所述网页游戏相关的多个数据处理请求时,通过所述胶水代码文件读取所述二进制字符文件;
基于所述二进制字符文件,分别建立与各个数据处理请求对应的执行数据处理操作的线程。
5.根据权利要求1至4任意一项所述的方法,其特征在于,基于所述二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程,包括:
利用所述网页游戏的引擎,调用所述二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述预设的编译器为EmScripten。
7.一种网页游戏的数据处理装置,其特征在于,包括:
转化模块,用于利用预设的编译器将网页游戏的原生语言文件转化为二进制字符文件;
建立模块,用于当接收到与所述网页游戏相关的多个数据处理请求时,基于所述二进制字符文件分别建立与各个数据处理请求对应的执行数据处理操作的线程;
执行模块,用于通过各个线程,基于SOA的数据结构和单指令多数据流执行相应的数据处理操作。
8.根据权利要求7所述的装置,其特征在于,
所述转化模块,还用于利用预设的编译器将网页游戏的原生语言文件转化为胶水代码文件,所述胶水代码文件为由JavaScript语言组成的文件。
9.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~6任一项所述的网页游戏的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述的网页游戏的数据处理方法。
CN201910346334.7A 2019-04-26 2019-04-26 网页游戏的数据处理方法、装置、电子设备及存储介质 Active CN111803950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910346334.7A CN111803950B (zh) 2019-04-26 2019-04-26 网页游戏的数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910346334.7A CN111803950B (zh) 2019-04-26 2019-04-26 网页游戏的数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111803950A true CN111803950A (zh) 2020-10-23
CN111803950B CN111803950B (zh) 2022-08-16

Family

ID=72844106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910346334.7A Active CN111803950B (zh) 2019-04-26 2019-04-26 网页游戏的数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111803950B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650502A (zh) * 2020-12-31 2021-04-13 广州方硅信息技术有限公司 批处理任务处理方法、装置、计算机设备和存储介质
WO2022032476A1 (zh) * 2020-08-11 2022-02-17 厦门雅基软件有限公司 网页游戏的数据处理方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103207A1 (en) * 2002-11-22 2004-05-27 Elman Joshua E Method and apparatus for distributing binary presentations within digital media content files
CN101573690A (zh) * 2006-12-30 2009-11-04 英特尔公司 线程排队的方法和装置
CN103180827A (zh) * 2011-06-17 2013-06-26 新游网络科技有限公司 游戏服务器中的任务文件执行装置以及方法
CN104185845A (zh) * 2012-03-13 2014-12-03 谷歌公司 用于提供网页的二进制表示的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103207A1 (en) * 2002-11-22 2004-05-27 Elman Joshua E Method and apparatus for distributing binary presentations within digital media content files
CN101573690A (zh) * 2006-12-30 2009-11-04 英特尔公司 线程排队的方法和装置
CN103180827A (zh) * 2011-06-17 2013-06-26 新游网络科技有限公司 游戏服务器中的任务文件执行装置以及方法
CN104185845A (zh) * 2012-03-13 2014-12-03 谷歌公司 用于提供网页的二进制表示的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
互联网: "07.WebAssembly给前端带来什么", 《HTTPS://JUEJIN.CN/POST/6844903731033538568》 *
互联网: "8个WebAssembly应用案例直击 让游戏引擎快三倍", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/72141》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022032476A1 (zh) * 2020-08-11 2022-02-17 厦门雅基软件有限公司 网页游戏的数据处理方法、装置、电子设备及计算机可读存储介质
CN112650502A (zh) * 2020-12-31 2021-04-13 广州方硅信息技术有限公司 批处理任务处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111803950B (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN109240746B (zh) 一种用于执行矩阵乘运算的装置和方法
DE202008017916U1 (de) Virtuelle Architektur und virtueller Befehlssatz für die Berechnung paralleler Befehlsfolgen
CN111803950B (zh) 网页游戏的数据处理方法、装置、电子设备及存储介质
US20150199787A1 (en) Distribute workload of an application to a graphics processing unit
US11900088B2 (en) Method for generating a binding between a C/C++ library and an interpreted language, and carrying out the method to transform a three- dimensional (3D) model
US10324693B2 (en) Optimizing multiple invocations of graphics processing unit programs in Java
CN103389908A (zh) 用于分开编译嵌入在主机代码中的设备代码的方法和系统
Dokulil et al. High-level support for hybrid parallel execution of c++ applications targeting intel® xeon phi™ coprocessors
CN113031932A (zh) 项目开发方法、装置、电子设备及存储介质
CN111078573A (zh) 一种测试报文的生成方法及装置
Zhong et al. Using arm scalable vector extension to optimize open mpi
CN103955394B (zh) 一种基于推迟提交的gpu虚拟化优化方法
CN111598988B (zh) 一种基于d3的知识图谱数据节点渲染方法及系统
Higuchi et al. ClPy: a NumPy-compatible library accelerated with OpenCL
Sapuan et al. General-purpose computation on GPUs in the browser using GPU. js
CN103488519B (zh) 一种交互式脚本语言解释器的实现方法
Weber et al. Brainslug: Transparent acceleration of deep learning through depth-first parallelism
WO2022032476A1 (zh) 网页游戏的数据处理方法、装置、电子设备及计算机可读存储介质
de Dinechin et al. Deep learning inference on the mppa3 manycore processor
CN114327405A (zh) 数据处理方法、装置、设备及存储介质
CN111552478A (zh) 用于生成cuda程序的设备、方法和存储介质
CN111160403A (zh) 一种api接口复用发现的方法及装置
CN105302577B (zh) 驱动执行单元的机器码产生方法以及装置
Kolpakov et al. Software for heterogeneous computer systems and structures of data processing systems with increased performance
CN117437451B (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