CN113509722B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN113509722B
CN113509722B CN202110792012.2A CN202110792012A CN113509722B CN 113509722 B CN113509722 B CN 113509722B CN 202110792012 A CN202110792012 A CN 202110792012A CN 113509722 B CN113509722 B CN 113509722B
Authority
CN
China
Prior art keywords
block
target
view
area
sub
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
CN202110792012.2A
Other languages
English (en)
Other versions
CN113509722A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110792012.2A priority Critical patent/CN113509722B/zh
Publication of CN113509722A publication Critical patent/CN113509722A/zh
Application granted granted Critical
Publication of CN113509722B publication Critical patent/CN113509722B/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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Abstract

本申请提供数据处理方法及装置,其中所述数据处理方法包括:确定目标对象在场景地图中的目标区块;根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据。实现了基于预存的存储地址列表,快速地确定目标区块的近景区块的目标存储地址列表,从而提高了获取目标区块的近景区块的区块数据的效率。

Description

数据处理方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据处理方法。本申请同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着图像处理技术的发展,各种应用中对于场景地图的设计越来越多样化,也越来越细致化,因此,整个场景地图所占据的存储空间也越来越大,当前,对于场景地图中目标对象的近景区域的数据的获取,需要实时计算目标对象的近景区域,并实时确定近景区域的数据所存储的位置,再获取对应的近景区域的数据,导致计算目标对象的近景区域的计算效率低。
发明内容
有鉴于此,本申请实施例提供了一种数据处理方法。本申请同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的计算场景地图中目标对象的近景区域的计算效率低的缺陷。
根据本申请实施例的第一方面,提供了一种数据处理方法,包括:
确定目标对象在场景地图中的目标区块;
根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;
从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据。
根据本申请实施例的第二方面,提供了一种数据处理装置,包括:
确定区块模块,被配置为确定目标对象在场景地图中的目标区块;
确定列表模块,被配置为根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;
获取数据模块,被配置为从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述数据处理方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述数据处理方法的步骤。
本申请提供的数据处理方法,通过确定目标对象在场景地图中的目标区块,再根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;并从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据,实现了对目标区块对应的近景区块的存储地址列表的预存,以便基于预存的存储地址列表,在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,并可以快速获取目标对象所在的目标区块对应的近景区块的区块数据。
附图说明
图1是本申请一实施例提供的一种数据处理方法的流程图;
图2是本申请一实施例提供的一种数据处理方法中区块和砖块之间关系的的示意图;
图3是本申请一实施例提供的一种数据处理方法中近景区块的示意图;
图4是本申请一实施例提供的一种数据处理方法中近景、中景以及远景之间的关系示意图;
图5是本申请一实施例提供的一种数据处理方法中近景、中景以及远景组合后的示意图;
图6是本申请一实施例提供的一种数据处理方法中景区域的计算方法的示意图;
图7是本申请一实施例提供的一种数据处理方法中远景区域的计算方法的示意图;
图8是本申请一实施例提供的一种数据处理方法中新增近景区块的示意图;
图9是本申请一实施例提供的一种应用于游戏场景中的数据处理方法的处理流程图;
图10本申请一实施例提供的一种应用于打车场景中的数据处理方法的处理流程图;
图11是本申请一实施例提供的一种数据处理装置的结构示意图;
图12是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
AOI(Area Of Interest,感兴趣区域):玩家在游戏场景中实时看到的区域,AOI会随着玩家的移动改变而改变。
视野:玩家可见范围即感兴趣区域。
砖块:场景地图中的最小同步单位;区块:由若干砖块组成的数据同步单元。
近景:目标对象周围的地图环境;中景:比近景稍远位置的地图环境。远景:比中景更远位置的地图环境。
沙盒游戏(Sandbox Games):是由沙盘游戏演变而来,自成一种游戏类型,由一个或多个地图区域构成,往往包含多种游戏要素,包括角色扮演,动作、射击、驾驶等等。能够改变或影响甚至创造世界是沙盒游戏的特点。创造是该类型游戏的核心玩法,利用游戏中提供的物件制造出玩家自己独创的东西。
在本申请中,提供了一种数据处理方法,本申请同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
步骤102:确定目标对象在场景地图中的目标区块。
其中,所述目标对象,可以是游戏中的游戏角色、扫地程序中的扫地机器人、看房软件中房子的拍摄点、地图软件/打车软件中的定位光电等,在此不做限制。相应地,场景地图,可以是游戏中游戏场景地图、清扫程序中的清扫场景地图、看房软件中的房屋场景地图、地图软件/打车软件中的场景地图等,在此不做限制。
实际应用中,若需要查看场景地图,则需要先获取场景地图的地图数据,然而场景地图根据使用场景的不同,有可能涉及到的数据量很大(比如场景地图的数据量可以高达1Gb),也可能很小(比如场景地图的数据量为50kb)。为了避免增加不必要的数据传输,用户登录查看场景地图时,通常是以目标对象的位置信息为中心或基础,获取该目标对象周围的地图信息。
本申请实施例,将场景地图预先划分为至少一个区块,并确定目标对象所在的区块(即目标区块),以便以目标区块为中心,获取该目标对象周围的场景地图。
由于每次登录、移动或场景切换时,目标对象的位置通常是有变化的,为了避免每次登录后、移动或场景切换时,实时计算该目标对象周围的场景数据,本申请实施例提供的一种可选实施方式中,在基于接收的登录请求中携带的登录信息确定目标对象,并确定目标对象在场景地图中的目标区块之前,还包括:
获取场景地图,将所述场景地图按照预设尺寸进行划分,确定所述场景地图中包含的至少一个区块;
按照预设近景区块确定规则,确定每个区块对应的至少一个近景区块;
基于每个区块对应的至少一个近景区块的存储地址,生成每个区块对应的存储地址列表并存储。
其中,所述预设尺寸,可以理解为针对每个区块预先设定好的尺寸,实际应用中,预设尺寸与场景地图的维度相关,比如在场景地图为二维的情况下,预设尺寸,可以理解为预设长度以及宽度;在场景地图为三维的情况下,预设尺寸,可以理解为预设长度、宽度以及高度,具体实施时,将场景地图按照预设尺寸划分为至少一个区块。
在将场景地图划分为至少一个区块的基础上,确定每个区块对应的至少一个近景区块,其中,近景区块,可以理解为在区块对应的近景区域内的区块;其中,近景区域,可以理解以目标对象所在的目标区块为中心,根据预设近景区块确定规则(比如场景地图中以目标区块上、下、左、右、左斜上方、右斜上方、左斜下方、右斜下方各一个区块为预设近景区块确定规则)所划分出的近景区域。
具体的,如图2所示的地图中包括9个区块,这9个区块分别为区块1、区块2、区块3、区块4、区块5、区块6、区块7、区块8以及区块9。以目标区块的视野范围能看到的上、下、左、右及斜方各一个区块为近景区块,则区块5周围的近景区块为:区块1、区块2、区块3、区块4、区块5、区块6、区块7、区块8以及区块9;区块1周围的近景区块为区块1、区块2、区块4以及区块5;区块2周围的近景区块为区块1、区块2、区块3、区块4、区块5以及区块6;区块3周围的近景区块为区块2、区块3、区块5以及区块6。
进一步的,在确定近景区块的基础上,获取每个区块的近景区块的存储地址,并基于获取的存储地址生成每个区块对应的存储地址列表,即每个区块对应的存储地址列表为该区块对应的近景区域内近景区块的存储地址的集合。具体实施时,在将每个区块对应的存储地址列表进行存储之后,可以建立该区块的区块信息与其对应的存储地址列表之间的对应关系,以便基于区块信息,对区块对应的存储地址列表进行快速查找。
由于场景地图中对目标对象的近景区域需要经常性的被加载,为了避免每次加载过程中,确定目标对象的近景区域,本申请实施例,预先对场景地图进行区块划分,并基于划分后的区块确定每个区块对应的近景区域内的近景区块,再基于每个区块的近景区块的存储地址,生成每个区块对应的存储地址列表并存储,以便加载目标对象的近景区域内的近景区块时,可以直接获取预存的存储地址列表,提高了目标对象的近景区域的加载效率。
实际应用中,由于场景地图的数据可能是时刻变化的,此外,也为了减轻客户端的存储压力,因此通常将场景地图存储于服务器;当用户在通过客户端进行登录时,服务器会接收客户端发送的登录请求,并基于所述登录请求中携带的登录信息,确定目标对象,并确定所述目标对象在场景地图中的目标区块;以便实现向客户端同步其需要的地图信息,即场景地图中目标对象所在的目标区块周围的近景区域,减少了客户端与服务器之间需要同步的数据量,节省了流量。
其中,所述登录请求,可以理解为对游戏、清扫程序或软件(比如看房软件、地图软件、打车软件)等登录对象的登录请求,相应地,登录请求中携带的登录信息,可以理解为登录的用户信息或客户端信息等,比如用户名称/标识、客户端名称/标识等信息。具体实施时,根据登录信息,则可以进一步确定登录对象中的目标对象。
步骤104:根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表。
其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成。
具体的,在上述基于接收到的登录信息确定目标区块的基础上,进一步的,考虑到实时加载/获取目标区块对应的近景区域内的近景区块会消耗较多的计算资源,因此可以采用预存的方式,将每个区块对应的近景区块的存储地址所组成的存储地址列表(存储地址集合)预先进行存储,即可以根据区块信息直接从预存的存储地址列表中读取目标区块对应的近景区块的目标存储地址列表,以便在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,也节约获取近景区块的数据的时间。其中,区块信息,是指可以唯一标识一个区块的信息,比如区块标识或区块名称等信息,在此不做限制。预存的存储地址列表,是指预先存储的由每个区块对应的近景区域内近景区块的存储地址组成的地址列表。
具体实施时,在确定目标对象所在的目标区块之后,根据目标区块的区块信息,以及区块信息与存储地址列表之间的对应关系,即可从预存的存储地址表中确定目标区块对应的目标存储地址列表。
本申请实施例,通过预存区块对应的近景区域内近景区块的存储地址列表,避免了每次登录后,再确定目标区块对应的至少一个近景区块,以及各个近景区块的存储地址,提高了获取目标区块对应的近景区块的区块数据的效率。
步骤106:从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据。
其中,所述存储位置,可以是硬盘、内存或移动硬盘等存储设备中存储近景区块的区块数据的位置。
本申请实施例提供的一种可选实施方式中,所述目标区块内包括砖块;
相应地,所述目标区块内的砖块的存储方式,通过如下方式确定:
确定目标区块内的砖块的砖块数量;
在所述砖块数量小于等于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以键值对的形式进行存储;
在所述砖块数量大于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以数组的形式进行存储。
其中,砖块可以理解为最小同步单元;如在沙盒游戏中,砖块可以理解为玩家可以操作的最小单元。实际应用中,可以将一个块砖对应一个砖块标识(一般为一个数字,表示该砖块的值),在将场景地图划分为区块的基础上,每个区块包含该区块对应的区域内所有的砖块。如图3所示,将地图(场景地图)划分为4个区块,每个区块包含该区块对应的区域内的16个砖块。
进一步的,若一个区块内用以展示砖块的区域为空白区域,则表示该区域无砖块;若一个区块内用以展示砖块的区域为非空白区域,则表示该区域有砖块。实际应用中,砖块在区块中的存储结构可以以该区块中砖块的密集程度来决定,而密集程度代表有砖块的数量的多少。比如,一个区块内包括100个砖块大小的展示区域,如果大于30个区域有砖块,则代表该区块内的砖块的密集程度是稠密的,若小于等于30个区域有砖块,则表示该区块内的砖块的密集程度是稀疏的。
再进一步的,由于场景地图中包含大量的区块,而目标区块是从这些区块中所确定的,同时由于每个区块内砖块的数量并不统一,比如区块内的砖块数量可能是密集的,也可能是稀疏的,因此为了能够提高存储空间的利用率,本实施例中,可以采用砖块数量比较数量阈值的方式选择合适的方式进行存储,即:在目标区块内砖块的数量较小时,比如:目标区块内砖块的数量小于等于数量阈值的情况下,可以将目标区块内的砖块以键值对的形式进行存储。具体的,可以将砖块在目标区块中的位置信息作为键值对中的键(key),将砖块的砖块标识作为该key对应的值的方式形成键值对,比如,在直角坐标系中,x=1,y=1的位置有一块id为10的砖块,map(键值对)中可保存{“1,1”=>10},所以通过查找“1,1”这个key,就能找到这个位置的砖块id为10。
在目标区块内砖块的数量较大时,比如:目标区块内砖块的数量大于数量阈值的情况下,将目标区块内的砖块以数组形式进行存储,具体的,可以将砖块在目标区块中的位置信息作为数组下标,而砖块的砖块标识作为该数组下标对应的数组值的方式形成数组,比如一个10*10的区块一共100个砖块,“1,1”这个点存在数组的第一个位置,“1,2”这个点存在第二个位置,以此类推,“1,10”这个点存在第十个位置,第一排排完,第二排的“2,1”这个点存在第十一个位置,以此类推,“2,10”这个点存在第二十个位置,直到“10,10”这个点存在了第一百的位置,假如要查找x=5,y=5这个点在数组中的位置,可以通过x*10+y的方式算出55这个数,就能通过55这个数组下标在数组中取到这个砖块的id。
本申请实施例,在目标区块内砖块的数量小于等于数量阈值(比如该区块内用以展示砖块的区域的最大数量的30%)的情况下,将目标区块内的砖块以键值对的形式进行存储,在目标区块内砖块的数量大于数量阈值(比如目标区块内用以展示砖块的区域的最大数量的30%)的情况下,将目标区块内的砖块以数组的形式进行存储,可以节省砖块的存储空间,提高了存储空间的利用率。
在上述接收客户端发送的登录请求的基础上,通过上述实施方式完成了对目标对象所在的目标区块对应的近景区块的区块数据的处理操作,此时获得区块数据,为了能够保证客户端完成对近景区域的渲染的操作,可以将所述区块数据发送所述至客户端,以便客户端可以基于接收的区块数据,加载目标对象的近景区域的近景区块。
在此基础上,为了进一步减少数据传输量,可以对目标对象视野范围内的区域划分出除近景区域之外的中景区域和远景区域,以便针对不同区域采用不同的数据传输方式,本申请实施例提供的一种可选实施方式中,所述将所述区块数据发送至所述客户端,具体实现方式如下所述:
将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至所述客户端。
其中,中景区域,可以理解以目标对象所在的目标区块为中心,根据预设中景区块确定规则(比如场景地图中以目标区块为中心,距离目标区块2个区块范围内的区块为预设中景区块确定规则)所划分出的中景区域,相应地,中景区块,为中景区域内的区块;远景区域,可以理解以目标对象所在的目标区块为中心,根据预设远景区块确定规则(比如以目标区块为中心,距离目标区块3个区块范围内的区块为预设远景区块确定规则)所划分出的中景区域,相应地,远景区块,为远景区域内的区块。
实际应用中,可以目标对象视野内的区域都作为近景区块,此外,还可以将目标对象视野内的区域,在划分近景区域的基础上,划分中景区域以及远景区域。在目标对象视野内的区块区分了近景区域、中景区域以及远景区域的情况下,在向客户端发送近景区块的区块数据的基础上,为了减少数据传输量,需要将针对中景区域内中景区块整合出的中景区块信息(比如中景区块的颜色、中景区块的位置信息等)以及针对远景区块内远景区块整合出的远景区块信息(比如远景区块的颜色、远景区块的位置信息等)发送至客户端。
需要说明的是,远景区域可以将中景区域中重叠部分剔除,以便节省同步的流量,而中景区域可以包含近景区域,具体如图4所示,因为如果近景区域内有些区域没有砖块,同时也没有中景区域的数据,视野内可能出现镂空的情况。
进一步的,将图4中的近景区域内近景区块的区块数据、中景区域内中景区块的中景区块信息以及远景区域内远景区块的远景区块信息发生至客户端之后,客户端基于接收的数据进行渲染,并展示如图5所示的包括近景区域、中景区域以及远景区域的场景地图。
具体实施时,由于中景区域并非用户的活动的区域,没必要将所有的砖块都清楚展示出来,因此,可以将中景区域内中景区块的数据整合为几个比较重要的信息(即中景区块信息),申请实施例提供的一种可选实施方式中,所述中景区块的中景区块信息,通过如下方式进行确定:
确定所述目标区块对应的中景区域内的至少一个中景区块;
根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色;
将每个中景区块中各个中景子区域的子区域颜色以及各个中景子区域的位置信息,确定为每个中景区块的中景区块信息。
实际应用中,为了减少针对中景区域进行数据传输的传输流量,以及客户端对中景区域进行渲染以及展示的计算压力,将中景区块划分为至少一个中景子区域,并进一步确定中景区块中每个中景子区域的子区域颜色(比如:蓝色、棕色、红色等),以及每个中景子区域在其所属的中景区块内的位置信息(比如高度信息、坐标信息、长宽信息等)。并将这些信息作为中景区块的中景区块信息发送至客户端,以便客户端基于中景区块信息对中景区块各个中景子区域进行渲染展示,其中,位置信息用以表明对哪个区域进行渲染,而该位置信息所在的区域对应的子区域颜色,用以表明将该区域渲染成为什么颜色。
需要说明的是,由于场景地图是以砖块为最小传输单位,因此,每个中景子区域在其所属的中景区块内的位置信息,可以理解为该中景子区域中所有的砖块在中景区块内的位置信息,也可以理解为这些砖块中处于子区域边界的砖块的位置信息,还可以理解为这些砖块中某一处于子区域边界的砖块的位置信息等,在此不做限制。
此外,具体实施时,根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色的方式是也多种多样的,比如,可以将中景子区域中左下角的砖块的颜色,作为该中景子区域的子区域颜色;或者将中景子区域中同一颜色的相邻砖块的数量最多的颜色,作为该中景子区域的子区域颜色等,在此不做限制。
以沙盒游戏为例,在沙盒游戏的场景地图中,玩家角色所在的目标区块对应的中景区域内的中景区块有16个,将每个中景区块划分为10个中景子区域,若中景子区域A内包含16个砖块,这个16个砖块中位于左下角的砖块的颜色为红色,则确定该中景子区域A的子区域颜色为红色,而该中景子区域A中,处于边界的砖块有4个砖块,这4个砖块的位置信息分别为d1、d2、d3以及d4,则将该中景子区域的子区域颜色:红色,以及该中景子区域A中4个边界砖块的位置信息d1、d2、d3以及d4,作为该中景子区域A的子区域信息,将该子区域信息与其他9个中景子区域的子区域信息,作为其所属的中景区块的中景区块信息。
综上,便于客户端基于中景区块信息对中景区域进行简单的渲染并展示,从而减少服务器与客户端之间的传输流量,也减少了客户端的对中景区域进行渲染以及展示的计算压力。
进一步的,本申请实施例提供的一种可选实施方式中,所述根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色,包括:
按照预设中景子区域尺寸,将每个中景区块划分为至少一个中景子区域;
统计各个中景子区域内每种颜色的砖块的砖块数量;
基于所述每种颜色的砖块的砖块数量,确定各个中景子区域的子区域颜色。
其中,预设中景子区域尺寸,是指预先设定针对中景子区域设定好的尺寸或大小。具体实施时,可以按照预设中景子区域尺寸将中景区块划分为至少一个相同大小的中景子区域。
进一步的,在划分中景子区域的基础上,统计各个中景子区域内每种颜色的砖块的砖块数量,进而可以基于每种颜色的砖块的砖块数量,确定每个中景子区域中颜色占比(某一颜色的砖块的砖块数量)最多的一种颜色,并将该颜色作为中景子区域的子区域颜色。也可以基于每种颜色的砖块的砖块数量,确定砖块数量达到预设数量阈值的颜色,并将该颜色作为中景子区域的颜色等,在此不做限制。
具体的,如图6所示:中景子区域A内有16个砖块,这16个砖块每个砖块都有颜色,一共有3种颜色,其中,棕色的砖块的砖块数量为8,绿色砖块的砖块数量为4,蓝色的砖块的砖块数量为4,其中,棕色的砖块的砖块数量最大即棕色在中景子区域A中占比最多,达到了50%,而绿色以及蓝色在中景子区域A中的占比为25%,则将中景子区域A的子区域颜色确定为棕色。
此外,还可以将每种颜色的砖块用不同的砖块标识进行表示,比如砖块标识为1,则表示该砖块的颜色为红色;砖块标识为2,则表示该砖块的颜色为绿色,在此不做限定。进一步的,则可以根据中景子区域内砖块的砖块标识,确定每种砖块标识的数量,并将砖块标识数量最多(占比最大)的砖块标识所表示的颜色,作为中景子区域的子区域颜色,此外,还可以直接将该砖块标识作为中景子区域的子区域颜色信息发送至客户端。
本申请实施例,基于中景子区域中每种颜色的砖块的砖块数量,确定中景子区域的子区域颜色,并将子区域颜色作为中景区块的中景区块信息的一部分,则无需以砖块为单位向客户端发送每个砖块的颜色,减少了数据量的传输。
此外,本申请实施例提供的一种可选实施方式中,所述各个中景子区域的位置信息,通过如下方式进行确定:
确定各个中景子区域的目标边界区域;
从所述目标边界区域开始按照预设步长对各个中景子区域进行遍历;
在预设范围区域内不包含砖块的情况下,基于已遍历区域,确定各个中景子区域的位置信息。
其中,所述目标边界区域,可以是中景子区域的任一边界区域,比如,在中景子区域为二维区域的情况下,该目标边界区域,可以是该中景子区域中下端(或上端,或左端)的一行(或两行,或三行)砖块;在中景子区域为三维区域的情况下,该目标边界区域,可以是该中景子区域中下端(或上端,或右端)的一层(或两层,或三层)砖块。以便于从该目标边界区域开始,遍历中景子区域,从而确定中景子区域在所属的中景区块内的位置信息。
具体实施时,从目标边界区域开始按照预设步长对中景子区域进行遍历,可以理解为从目标边界区域开始按照预设的跨度范围(预设步长),从中景子区域的一个边界向另一端的边界(比如从下端边界向上端边界)进行遍历。具体的,预设步长,可以是至少一行/一层砖块,在此不做限制。以便基于已遍历区域,确定各个中景子区域的位置信息。
进一步的,为了减少运算量,若在预设范围内(比如3行/层砖块区域内、或16块砖块区域内)不包含砖块,表明其它未遍历的区域内可能也不再包含砖块,则停止遍历,基于已遍历区域,确定各个中景子区域的位置信息。
具体实施时,基于已遍历区域,确定各个中景子区域的位置信息,可以理解为基于已遍历区域,确定各个中景子区域中有砖块的范围。比如,已遍历区域内砖块的最高高度为6,则确定该已遍历区域所属的中景子区域的位置信息为6,表明该中景子区域中从目标边界区域开始到6的高度内有砖块。
再进一步的,由于对于目标对象而言,离其较远处的场景地图无需把所有的砖块都展示出来,因此,需要对中景区域内的砖块数据进行简化(模糊计算),比如,确定一个步长区域是否有砖块,可以根据砖块在该步长区域的占比进行确定,比如,若砖块在该区域内的占比大于等于50%,则认为该区域整体有砖块,若砖块在该区域内的占比小于50%,则认为该区域整体无砖块。
如图6所示,中景子区域A中将该子区域低端2*2个砖块区域(即4个砖块区域)看作一个整体区域(即目标边界区域),该2*2的区域范围内有大于等于50%(即2个以上)的区域内有砖块,则认为此处整体有砖块,该2*2的区域范围内大于等于50%的区域内无砖块,则认为此处整体无砖块,进一步的,在由下向上的遍历过程中,当预设步长对应的步长区域内无砖块时,可以继续向上遍历,若在预设范围区域内,比如8个砖块大小的区域内都无砖块时,则不再向上遍历(即停止遍历),并基于已遍历区域中有16个砖块的区域,确定中景子区域A的位置信息(高度)为4。
进一步的,本申请实施例提供的一种可选实施方式中,所述远景区块的远景区块信息,通过如下方式进行确定:
确定所述目标区块对应的远景区域内的至少一个远景区块;
根据预设砖块选取规则,从每个远景区块中各个远景子区域内确定目标远景砖块;
基于所述目标远景砖块的砖块颜色,确定所述远景子区域的子区域颜色;
基于所述目标远景砖块在所属的远景子区域的位置信息,确定所述远景子区域的位置信息;
将各个远景子区域的子区域颜色以及各个远景子区域的位置信息,确定为每个远景区块的远景区块信息。
由于远景区域距离目标对象更远,因此,本申请实施例中提供的一种相比中景区域的计算方式更加模糊的计算方式,确定远景区块信息,即将远景区域内的远景区块划分为至少一个远景子区域,并确定各个远景子区域的子区域信息(比如颜色信息、以及位置信息),将各个远景子区域的子区域信息作为所属远景区块的远景区块信息,以便减少针对远景区域内远景区块所传输的数据量(流量),并提高针对远景区域内远景区块的传输效率。
具体实施时,远景子区域可以理解为比上述中景子区域更大的一个区域,根据预设砖块选取规则(比如选取远景子区域的有砖块的区域中左上角的砖块,或选取远景子区域的有砖块的区域中最上层砖块中任意一个砖块等,在此不做限制),从远景子区域中确定目标远景砖块,是为了简化计算远景子区域的子区域信息的计算方式,从而将目标远景砖块的砖块信息作为其所属的远景子区域的子区域信息。
需要说明的是,有砖块的区域的确定方式,可以通过对远景子区域进行遍历的方式进行确定,具体与对中景子区域进行遍历的具体实现类似,参考上述对中景子区域进行遍历的具体实现即可,在此不做赘述。
具体的,如图7所示,远景子区域内有34个砖块,这34个砖块构成一个不规则的区域(即远景子区域中的有砖块的区域),从该远景子区域的有砖块的区域中确定目标远景砖块(该砖块在图7中通过圆形进行了标记),并记录该目标远景砖块的颜色(或砖块标识,该砖块标识可以表明其颜色),以及该目标远景砖块在远景子区域中的高度(即位置信息)。
若一个砖块只记录一个砖块标识(id),内存为4个字节,那么34个砖块则为136个字节,经过远景算法计算后,只需要记录一个id(4个字节)+高度(4个字节)=8个字节,压缩到了原来所需存储的5%,极大地减小内容消耗,也减少了发送给客户端的流量消耗;客户端在接收到该id以及高度之后,则将该高度表示的远景子区域的有砖块的区域全部渲染为该id表示的颜色,节省了客户端的渲染时间。
本申请实施例提供的一种可选实施方式中,在将区块数据发送至客户端之后,还包括:
接收客户端发送的针对所述目标对象的移动指令;
基于所述移动指令,确定所述目标对象的移动方向;
在所述目标对象的移动跨区块的情况下,根据所述移动方向,确定所述目标对象在所述移动方向上的新增近景区块;
将所述新增近景区块的新增区块数据发送至所述客户端。
具体的,移动指令,可以理解为指示目标对象进行移动的指令,实际应用中,该移动指令中可以携带目标对象的目标位置,则基于目标位置以及目标对象当前所处的位置,即可确定目标对象的移动方向;此外,也可以在移动指令中直接携带目标对象的移动方向。
需要说明的是,在服务器与客户端之间同步的场景地图区域,由同步的场景地图区域由目标对象所在的目标区块为中心的近景区域构成的情况下,当目标对象的移动跨区块时,其所在的目标区块发生了变化,相应地,目标区块对应的近景区域也发生了变化,因此,需要计算变化后的目标区块(即移动后的目标区块)对应的近景区块,相较于原目标区块对应的近景区块的新增近景区块,并将该新增近景区块的区块数据(即新增区块数据)发送至客户端。
以游戏场景为例,具体如图8所示的近景区块中,当玩家从横方向移动时,新增近景区块为矩形框内的3个区块;当玩家从竖方向移动时,新增近景区块为椭圆形内的3个区块;当玩家从右斜方向移动时,新增近景区块为棱形框内的5个区块。
本申请实施例,在目标对象的移动跨区块的情况下,确定目标对象在移动方向上的新增近景区块,并将这些新增近景区块的数据同步至客户端,以便客户端对新增近景区块进行渲染并展示,而无需同步目标对象周围所有的区块,实现了服务器与客户端之间对场景地图的增量同步,减少了同步的数据量。
进一步的,本申请实施例提供的一种可选实施方式中,所述将所述新增近景区块的新增区块数据发送至所述客户端,包括:
确定移动后的目标区块对应的中景区域内新增中景区块的新增中景区块信息以及所述移动后的目标区块对应的远景区域内新增远景区块的新增远景区块信息;
将所述新增区块数据、所述新增中景区块信息以及所述新增远景区块信息发送至所述客户端。
在服务器与客户端之间同步的场景地图区域,由以目标对象所在的目标区块为中心的近景区域、中景区域以及远景区域内的区块构成的情况下,即在上述服务器将近景区块的区块数据、目标区块对应的中景区域内中景区块的中景区块信息以及目标区块对应的远景区域内远景区块的远景区块信息发送至客户端的基础上,当目标对象的移动跨区块时,其所在的目标区块发生了变化,相应地,目标区块对应的近景区域、中景区域和远景区域内的区块也都发生了变化,因此,需要计算变化后的目标区块对应的近景区块、中景区块以及远景区块,相较于原目标区块对应的近景区块、中景区块以及远景区块的新增区块(包括新增近景区块、新增中景区块以及新增远景区块),进而将新增近景区块的新增区块数据、新增中景区块的新增中景区块信息以及新增远景区块的新增远景区块信息发送至客户端。具体实施时,可以通过AOI算法对新增区块进行计算。
综上,在目标对象的移动跨区块的情况下,确定目标对象在移动方向上的新增近景区块、新增中景区块以及新增远景区块,并将这些新增区块的数据同步至客户端,以便客户端对新增区块进行渲染并展示,而无需同步目标对象周围所有的区块,实现了服务器与客户端之间对场景地图的增量同步,减少了同步的数据量。
此外,在上述服务器基于客户端发送的登录请求,将目标对象对应的近景区块发送至客户端的基础上,(可能目标对象在登录时只需展示近景区域),而在目标对象移动之后,需要将中景区域以及远景区域进行展示,因此,目标对象的移动跨区之后,除了确定目标对象在移动方向上的新增近景区块之外,还需要确定移动后的目标区块对应的中景区域内新增中景区块的新增中景区块信息以及移动后的目标区块对应的远景区域内新增远景区块的新增远景区块信息,并将新增区块数据、新增中景区块信息以及新增远景区块信息发送至客户端。
综上,在目标对象的移动跨区块的情况下,在确定目标对象在移动方向上的新增近景区块之外,新增其中景区域内的中景区块(新增中景区块)以及远景区域内的远景区块(新增远景区块),并将这些新增区块的数据同步至客户端,以便客户端对新增区块进行渲染并展示,实现了服务器与客户端之间对场景地图中更大范围的地图的增量同步,增加了目标对象在移动后的可视区域。
综上所述,本申请提供的数据处理方法,通过确定目标对象在场景地图中的目标区块,再根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;并从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据,实现了对目标区块对应的近景区块的存储地址列表的预存,以便基于预存的存储地址列表,在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,并可以快速获取目标对象所在的目标区块对应的近景区块的区块数据。
下述结合附图9,以本申请提供的数据处理方法在游戏场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图9示出了本申请一实施例提供的一种应用于游戏场景中的数据处理方法的处理流程图,具体包括以下步骤:
步骤902:获取目标游戏的游戏场景地图,将所述游戏场景地图按照预设尺寸进行划分,确定所述游戏场景地图中包含的至少一个区块。
具体的,该游戏可以是沙盒游戏,也可以是其他游戏,在此不做限制。
步骤904:按照预设近景区块确定规则,确定每个区块对应的至少一个近景区块。
步骤906:基于每个区块对应的至少一个近景区块的存储地址,生成每个区块对应的存储地址列表并存储。
步骤908:接收游戏客户端发送的针对目标游戏的游戏登录请求。
步骤910:基于接收的游戏登录请求中携带的登录信息,确定目标角色,并确定所述目标角色在游戏场景地图中的目标区块。
步骤912:根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表。
其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成。
步骤914:从所述目标存储地址列表指向的存储位置获取目标区块对应的近景区域内近景区块的区块数据。
步骤916:确定所述目标区块对应的中景区域内的至少一个中景区块。
步骤918:根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色。
步骤920:将每个中景区块中各个中景子区域的子区域颜色以及各个中景子区域在所属的中景区块内的位置信息,确定为每个中景区块的中景区块信息。
步骤922:确定所述目标区块对应的远景区域内的至少一个远景区块。
步骤924:根据预设砖块选取规则,从每个远景区块中各个远景子区域内确定目标远景砖块。
步骤926:基于所述目标远景砖块的砖块颜色,确定所述远景子区域的子区域颜色。
步骤928:基于所述目标远景砖块在所属的远景子区域的位置信息,确定所述远景子区域的位置信息。
步骤930:将各个远景子区域的子区域颜色以及各个远景子区域的位置信息,确定为每个远景区块的远景区块信息。
其中,步骤912-914,步骤916-920,以及步骤922-930可以并列执行,也可以按照先后顺序进行执行,只需要在将数据发送至游戏客户端之前,完成对三种区块的数据/信息的确定即可,本申请实施在此做过多限制。
步骤932:将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至游戏客户端。
综上所述,本申请提供的数据处理方法,基于接收的游戏登录请求中携带的登录信息,确定目标角色,并确定目标角色在游戏场景地图中的目标区块,再根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;并从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据,实现了对目标区块对应的近景区块的存储地址列表的预存,以便基于预存的存储地址列表,在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,并在登录后,可以快速获取目标角色所在的目标区块对应的近景区块的区块数据。
下述结合附图10,以本申请提供的数据处理方法在打车场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图10示出了本申请一实施例提供的一种应用于打车场景中的数据处理方法的处理流程图,具体包括以下步骤:
步骤1002:获取打车区域的场景地图,将所述场景地图按照预设尺寸进行划分,确定所述场景地图中包含的至少一个区块。
具体的,打车区域,可以是一个城市或一个村镇等地理区域。
步骤1004:按照预设近景区块确定规则,确定每个区块对应的至少一个近景区块。
步骤1006:基于每个区块对应的至少一个近景区块的存储地址,生成每个区块对应的存储地址列表并存储。
步骤1008:接收打车客户端发送的打车请求。
步骤1010:基于接收的打车请求中携带的登录信息,确定目标车辆,并确定所述目标车辆在场景地图中的目标区块。
步骤1012:根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表。
其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成。
步骤1014:从所述目标存储地址列表指向的存储位置获取目标区块对应的近景区域内近景区块的区块数据。
步骤1016:确定所述目标区块对应的中景区域内的至少一个中景区块。
步骤1018:根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色。
步骤1020:将每个中景区块中各个中景子区域的子区域颜色以及各个中景子区域在所属的中景区块内的位置信息,确定为每个中景区块的中景区块信息。
步骤1022:确定所述目标区块对应的远景区域内的至少一个远景区块。
步骤1024:根据预设砖块选取规则,从每个远景区块中各个远景子区域内确定目标远景砖块。
步骤1026:基于所述目标远景砖块的砖块颜色,确定所述远景子区域的子区域颜色。
步骤1028:基于所述目标远景砖块在所属的远景子区域的位置信息,确定所述远景子区域的位置信息。
步骤1030:将各个远景子区域的子区域颜色以及各个远景子区域的位置信息,确定为每个远景区块的远景区块信息。
其中,步骤1012-1014,步骤1016-1020,以及步骤1022-1030可以并列执行,也可以按照先后顺序进行执行,只需要在将数据/信息发送至打车客户端之前,完成对三种区块的数据/信息的确定即可,本申请实施在此做过多限制。
步骤1032:将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至打车客户端。
综上所述,本申请提供的数据处理方法,基于接收的打车登录请求中携带的登录信息,确定目标车辆,并确定目标车辆在场景地图中的目标区块,再根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;并从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据,实现了对目标区块对应的近景区块的存储地址列表的预存,以便基于预存的存储地址列表,在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,并在登录后,可以快速获取目标车辆所在的目标区块对应的近景区块的区块数据。
与上述方法实施例相对应,本申请还提供了数据处理装置实施例,图11示出了本申请一实施例提供的一种数据处理装置的结构示意图。如图11所示,该装置包括:
确定区块模块1102,被配置为确定目标对象在场景地图中的目标区块;
确定列表模块1104,被配置为根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;
获取数据模块1106,被配置为从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据。
可选地,所述数据处理装置,还包括:
获取地图模块,被配置为获取场景地图,将所述场景地图按照预设尺寸进行划分,确定所述场景地图中包含的至少一个区块;
确定近景区块模块,被配置为按照预设近景区块确定规则,确定每个区块对应的至少一个近景区块;
生成模块,被配置为基于每个区块对应的至少一个近景区块的存储地址,生成每个区块对应的存储地址列表并存储。
可选地,所述目标区块内包括砖块;
相应地,所述目标区块内的砖块的存储方式,通过运行如下模块进行确定:
确定数量模块,被配置为确定目标区块内的砖块的砖块数量;
第一存储模块,被配置为在所述砖块数量小于等于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以键值对的形式进行存储;
第二存储模块,被配置为在所述砖块数量大于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以数组的形式进行存储。
可选地,所述确定区块模块1102,进一步被配置为:
接收客户端发送的登录请求;
确定基于所述登录请求中携带的登录信息,确定目标对象,并确定所述目标对象在场景地图中的目标区块;
相应地,所述数据处理装置,还包括:
发送模块,被配置为将所述区块数据发送至所述客户端。
可选地,所述发送模块,进一步被配置为:
将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至所述客户端。
可选地,所述中景区块的中景区块信息,通过运行如下模块进行确定:
确定中景区块模块,被配置为确定所述目标区块对应的中景区域内的至少一个中景区块;
第一确定颜色模块,被配置为根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色;
确定中景区块信息模块,被配置为将每个中景区块中各个中景子区域的子区域颜色以及各个中景子区域在所属的中景区块内的位置信息,确定为每个中景区块的中景区块信息。
可选地,所述第一确定颜色模块,进一步被配置为:
按照预设中景子区域尺寸,将每个中景区块划分为至少一个中景子区域;
统计各个中景子区域内每种颜色的砖块的砖块数量;
基于所述每种颜色的砖块的砖块数量,确定各个中景子区域的子区域颜色。
可选地,所述各个中景子区域在所属的中景区块内的位置信息,通过运行如下模块进行确定:
确定边界区域模块,被配置为确定各个中景子区域的目标边界区域;
遍历模块,被配置为从所述目标边界区域开始按照预设步长对各个中景子区域进行遍历;
第一确定位置模块,被配置为在预设范围区域内不包含砖块的情况下,基于已遍历区域,确定各个中景子区域的位置信息。
可选地,所述远景区块的远景区块信息,通过运行如下模块进行确定:
确定远景区块模块,被配置为确定所述目标区块对应的远景区域内的至少一个远景区块;
确定砖块模块,被配置为确定根据预设砖块选取规则从每个远景区块中各个远景子区域内确定目标远景砖块;
第二确定颜色模块,被配置为基于所述目标远景砖块的砖块颜色,确定所述远景子区域的子区域颜色;
第二确定位置模块,被配置为基于所述目标远景砖块在所属的远景子区域的位置信息,确定所述远景子区域的位置信息;
确定远景区块信息模块,被配置为将各个远景子区域的子区域颜色以及各个远景子区域的位置信息,确定为每个远景区块的远景区块信息。
可选地,所述数据处理装置,还包括:
接收指令模块,被配置为接收客户端发送的针对所述目标对象的移动指令;
确定方向模块,被配置为基于所述移动指令,确定所述目标对象的移动方向;
确定新增区块模块,被配置为在所述目标对象的移动跨区块的情况下,根据所述移动方向,确定所述目标对象在所述移动方向上的新增近景区块;
数据发送模块,被配置为将所述新增近景区块的新增区块数据发送至所述客户端。
可选地,所述数据发送模块,进一步被配置为:
确定移动后的目标区块对应的中景区域内新增中景区块的新增中景区块信息以及所述移动后的目标区块对应的远景区域内新增远景区块的新增远景区块信息;
将所述新增区块数据、所述新增中景区块信息以及所述新增远景区块信息发送至所述客户端。
综上所述,本申请提供的数据处理装置,通过确定目标对象在场景地图中的目标区块,再根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;并从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据,实现了对目标区块对应的近景区块的存储地址列表的预存,以便基于预存的存储地址列表,在需要获取目标区块的近景区块的数据时,无需重复计算目标区块的近景区块,从而提升了计算效率,并在登录后,可以快速获取目标对象所在的目标区块对应的近景区块的区块数据。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图12示出了根据本说明书一个实施例提供的一种计算设备1200的结构框图。该计算设备1200的部件包括但不限于存储器1210和处理器1220。处理器1220与存储器1210通过总线1230相连接,数据库1250用于保存数据。
计算设备1200还包括接入设备1240,接入设备1240使得计算设备1200能够经由一个或多个网络1260通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备1240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备1200的上述部件以及图12中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图12所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1200还可以是移动式或静止式的服务器。
其中,处理器1220执行所述计算机指令时实现所述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现如前所述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种数据处理方法,其特征在于,包括:
确定目标对象在场景地图中的目标区块;
根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;
从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据;
将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至客户端,其中,所述中景区域是根据预设中景区块确定规则所划分出的区域,所述中景区块信息是根据中景区域内中景区块的数据整合得到,所述远景区域是根据预设远景区块确定规则所划分出的区域,所述远景区块信息是根据远景区域内远景区块的数据整合得到。
2.根据权利要求1所述的数据处理方法,其特征在于,所述确定目标对象在场景地图中的目标区块之前,还包括:
获取场景地图,将所述场景地图按照预设尺寸进行划分,确定所述场景地图中包含的至少一个区块;
按照预设近景区块确定规则,确定每个区块对应的至少一个近景区块;
基于每个区块对应的至少一个近景区块的存储地址,生成每个区块对应的存储地址列表并存储。
3.根据权利要求1所述的数据处理方法,其特征在于,所述目标区块内包括砖块;
相应地,所述目标区块内的砖块的存储方式,通过如下方式确定:
确定目标区块内的砖块的砖块数量;
在所述砖块数量小于等于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以键值对的形式进行存储;
在所述砖块数量大于数量阈值的情况下,将所述目标区块内的砖块的位置信息以及标识信息以数组的形式进行存储。
4.根据权利要求1所述的数据处理方法,其特征在于,所述确定目标对象在场景地图中的目标区块,包括:
接收客户端发送的登录请求;
基于所述登录请求中携带的登录信息,确定目标对象,并确定所述目标对象在场景地图中的目标区块。
5.根据权利要求1所述的数据处理方法,其特征在于,所述中景区块的中景区块信息,通过如下方式进行确定:
确定所述目标区块对应的中景区域内的至少一个中景区块;
根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色;
将每个中景区块中各个中景子区域的子区域颜色以及各个中景子区域的位置信息,确定为每个中景区块的中景区块信息。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据每个中景区块中各个中景子区域内砖块的颜色,确定各个中景子区域的子区域颜色,包括:
按照预设中景子区域尺寸,将每个中景区块划分为至少一个中景子区域;
统计各个中景子区域内每种颜色的砖块的砖块数量;
基于所述每种颜色的砖块的砖块数量,确定各个中景子区域的子区域颜色。
7.根据权利要求5所述的数据处理方法,其特征在于,所述各个中景子区域的位置信息,通过如下方式进行确定:
确定各个中景子区域的目标边界区域;
从所述目标边界区域开始按照预设步长对各个中景子区域进行遍历;
在预设范围区域内不包含砖块的情况下,基于已遍历区域,确定各个中景子区域的位置信息。
8.根据权利要求1所述的数据处理方法,其特征在于,所述远景区块的远景区块信息,通过如下方式进行确定:
确定所述目标区块对应的远景区域内的至少一个远景区块;
根据预设砖块选取规则,从每个远景区块中各个远景子区域内确定目标远景砖块;
基于所述目标远景砖块的砖块颜色,确定所述远景子区域的子区域颜色;
基于所述目标远景砖块在所属的远景子区域的位置信息,确定所述远景子区域的位置信息;
将各个远景子区域的子区域颜色以及各个远景子区域的位置信息,确定为每个远景区块的远景区块信息。
9.根据权利要求4所述的数据处理方法,其特征在于,还包括:
接收客户端发送的针对所述目标对象的移动指令;
基于所述移动指令,确定所述目标对象的移动方向;
在所述目标对象的移动跨区块的情况下,根据所述移动方向,确定所述目标对象在所述移动方向上的新增近景区块;
将所述新增近景区块的新增区块数据发送至所述客户端。
10.根据权利要求9所述的数据处理方法,所述将所述新增近景区块的新增区块数据发送至所述客户端,包括:
确定移动后的目标区块对应的中景区域内新增中景区块的新增中景区块信息以及所述移动后的目标区块对应的远景区域内新增远景区块的新增远景区块信息;
将所述新增区块数据、所述新增中景区块信息以及所述新增远景区块信息发送至所述客户端。
11.一种数据处理装置,其特征在于,包括:
确定区块模块,被配置为确定目标对象在场景地图中的目标区块;
确定列表模块,被配置为根据所述目标区块的区块信息,从预存的存储地址列表中确定所述目标区块对应目标存储地址列表,其中,所述目标存储地址列表由所述目标区块对应的近景区域内近景区块的存储地址所组成;
获取数据模块,被配置为从所述目标存储地址列表指向的存储位置获取所述近景区块的区块数据;
发送模块,被配置为将所述区块数据、所述目标区块对应的中景区域内中景区块的中景区块信息以及所述目标区块对应的远景区域内远景区块的远景区块信息发送至客户端,其中,所述中景区域是根据预设中景区块确定规则所划分出的区域,所述中景区块信息是根据中景区域内中景区块的数据整合得到,所述远景区域是根据预设远景区块确定规则所划分出的区域,所述远景区块信息是根据远景区域内远景区块的数据整合得到。
12.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-10任意一项所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-10任意一项所述方法的步骤。
CN202110792012.2A 2021-07-13 2021-07-13 数据处理方法及装置 Active CN113509722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110792012.2A CN113509722B (zh) 2021-07-13 2021-07-13 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110792012.2A CN113509722B (zh) 2021-07-13 2021-07-13 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN113509722A CN113509722A (zh) 2021-10-19
CN113509722B true CN113509722B (zh) 2022-09-23

Family

ID=78066786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110792012.2A Active CN113509722B (zh) 2021-07-13 2021-07-13 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN113509722B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2347290A1 (en) * 2001-05-09 2002-11-09 Free Radical Design Limited Methods and apparatus for constructing virtual environments
CN1967537A (zh) * 2005-11-14 2007-05-23 富士胶片株式会社 地标搜索系统、地图数据以及分类图像数据的方法
CN110298269A (zh) * 2019-06-13 2019-10-01 北京百度网讯科技有限公司 场景图像定位方法、装置、设备及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377222B (zh) * 2012-04-24 2016-11-09 北京四维图新科技股份有限公司 一种地图瓦片生成方法及装置
JPWO2014064864A1 (ja) * 2012-10-24 2016-09-08 三菱電機株式会社 画像描画装置、画像描画方法、及びナビゲーション装置
CN106600708B (zh) * 2016-12-15 2019-01-08 北京金山软件有限公司 一种游戏地图的处理方法及系统
CN111385317B (zh) * 2018-12-27 2021-09-07 华为技术有限公司 一种数据传输方法、装置及系统
GB2588656B (en) * 2019-10-31 2023-01-04 Sony Interactive Entertainment Inc Image processing system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2347290A1 (en) * 2001-05-09 2002-11-09 Free Radical Design Limited Methods and apparatus for constructing virtual environments
CN1967537A (zh) * 2005-11-14 2007-05-23 富士胶片株式会社 地标搜索系统、地图数据以及分类图像数据的方法
CN110298269A (zh) * 2019-06-13 2019-10-01 北京百度网讯科技有限公司 场景图像定位方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN113509722A (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN109598777B (zh) 图像渲染方法、装置、设备及存储介质
CN107423445B (zh) 一种地图数据处理方法、装置及存储介质
CN112037311B (zh) 一种动画生成的方法、动画播放的方法以及相关装置
EP3579192A1 (en) Method, apparatus and device for determining camera posture information, and storage medium
EP3882870B1 (en) Method and device for image display, storage medium and electronic device
CN107610084A (zh) 一种对深度图像和激光点云图进行信息融合的方法与设备
CN110639204A (zh) 游戏数据处理方法、装置以及终端设备
EP3416098A1 (en) Method and devices to optimize marker management for pose estimation
CN106157354A (zh) 一种三维场景切换方法及系统
WO2019174429A1 (zh) 一种视频地图引擎系统
CN111784817B (zh) 阴影的展示方法和装置、存储介质、电子装置
CN112396682A (zh) 一种三维场景下视觉递进的模型浏览方法
CN104537024A (zh) 一种海量位置签到数据的可视化方法
CN113509722B (zh) 数据处理方法及装置
CN112843700B (zh) 地形图像的生成方法、装置、计算机设备和存储介质
WO2021093703A1 (zh) 基于光通信装置的交互方法和系统
CN108388636A (zh) 基于自适应分段最小外接矩形的街景影像检索方法及装置
CN112231020A (zh) 模型切换方法和装置、电子设备和存储介质
CN115965736A (zh) 图像处理方法、装置、设备及存储介质
CN113469930B (zh) 图像处理方法、装置、及计算机设备
CN113658296A (zh) 一种图像渲染方法及相关装置
CN110827400B (zh) 三维场景中对象的模型生成方法、装置以及终端
CN114984576A (zh) 对象渲染方法及装置
CN114404954A (zh) 一种处理小地图的方法、装置、终端及存储介质
CN116485868A (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