欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 订单数据的处理方法、装置、存储介质和电子装置独创技术41803字

订单数据的处理方法、装置、存储介质和电子装置

2021-04-06 20:38:12

订单数据的处理方法、装置、存储介质和电子装置

  技术领域

  本发明涉及计算机领域,具体而言,涉及一种订单数据的处理方法、装置、存储介质和电子装置。

  背景技术

  目前的网络游戏中,用户可以通过服务器交易虚拟物品,但是物品的订单数据都是加载到对应的服务器内存里面,然后用户根据自己在游戏世界中的所在区域的ID作为寻址ID,只寻址到当前用户所在区域,通过查看对应的服务器的内存,通过对应的服务器内的交易队列进行匹配。其中,服务器根据区域来部署,不同的区域,对应的服务器不一样。

  因而,通过服务器只能局限地查看该服务器当地的物品的订单数据,进而只能对其进行交易操作,而无法查看其它服务器的物品的订单数据,也无法交易其它服务器的物品,从而存在对订单数据进行处理的效率低的技术问题

  针对现有技术中对订单数据进行处理的效率低的技术问题,目前尚未提出有效的解决方案。

  发明内容

  本发明的主要目的在于提供一种订单数据的处理方法、装置、存储介质和电子装置,以至少对订单数据进行处理的效率低的技术问题。

  为了实现上述目的,根据本发明的一个方面,提供了一种订单数据的处理方法。该方法可以包括:第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据,其中,目标数据库用于存储多个物品的订单数据,每个物品归属于至少一个服务器;第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息,其中,第一物品归属于第二服务器;第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。

  可选地,第一订单数据是从目标数据库中加载出来,并存储至第二服务器中,且用于使第二服务器对第一物品进行交易操作。

  可选地,目标数据库与多个物品所归属的服务器相关联。

  可选地,第一服务器响应第一查询请求,在目标数据库中查询第一物品的第一订单数据,包括:第一服务器从第一查询请求中获取第一物品的标识;第一服务器根据第一物品的标识从目标数据库中查询第一订单数据。

  可选地,第一服务器根据第一物品的标识从目标数据库中查询第一订单数据,包括:第一服务器根据第一物品的标识从目标数据库中查询多份订单数据,其中,第一物品归属于每份订单数据中的地址信息所指示的服务器;第一服务器从多份订单数据中筛选出至少一份有效的订单数据;第一服务器在至少一份有效的订单数据中确定出第一订单数据。

  可选地,第一服务器在至少一份有效的订单数据中确定出第一订单数据,包括:第一服务器将至少一份有效的订单数据发送至第一客户端;第一服务器获取第一客户端发送的第一订单数据,其中,第一订单数据由第一客户端从至少一份有效的订单数据中选取出。

  可选地,第一服务器从多份订单数据中筛选出至少一个有效的订单数据,包括:所述第一服务器将多份订单数据中还未用于进行交易操作的,且未过期的订单数据,确定为有效的订单数据。

  可选地,第一服务器响应第一客户端发送的第一查询请求,包括:所述第一服务器在第一客户端发送第一查询请求的次数低于目标次数的情况下,响应第一查询请求。

  可选地,该方法还包括:第一服务器响应第三交易请求,对第二物品进行交易操作,其中,第二物品归属于第一服务器,第三交易请求由第三服务器基于第一服务器的第二地址信息发送的,第二订单数据包括第二地址信息,第二订单数据由第三服务器响应第二客户端发送的第二查询请求在目标数据库中查询得到。

  可选地,第一服务器对第二订单数据对应的第二物品进行交易操作,包括:第一服务器在交易队列中插入第二订单数据,以对第二物品进行交易操作。

  为了实现上述目的,根据本发明的另一方面,还提供了一种订单数据的处理装置。该装置可以包括:查询单元,用于使第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据,其中,目标数据库用于存储多个物品的订单数据,每个物品归属于至少一个服务器;获取单元,用于使第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息,其中,第一物品归属于第二服务器;发送单元,用于使第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。

  为了实现上述目的,根据本发明的另一方面,提供了一种存储介质。该存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制存储介质所在设备执行本发明实施例的订单数据的处理方法。

  为了实现上述目的,根据本发明的另一方面,提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的订单数据的处理方法。

  本申请的订单数据的处理方法,第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据,其中,目标数据库用于存储多个物品的订单数据,每个物品归属于至少一个服务器;第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息,其中,第一物品归属于第二服务器;第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。也就是说,本申请对各个物品的交易操作部署到其所归属的服务器上进行,通过物品的订单数据中的地址信息进行寻址,可以访问到对应的服务器,进而在访问到的服务器上进行交易操作,既让订单数据实现跨服务器可见,并且还能对订单数据对应的物品实现跨服务器交易,为一种可以跨服务器完成交易的实现方法,从而解决了对订单数据进行处理的效率低的技术问题,达到了提高对订单数据进行处理的效率的技术效果。

  附图说明

  构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

  图1是本发明实施例的一种订单数据的处理方法的移动终端的硬件结构框图;

  图2是根据本发明实施例的一种订单数据的处理方法的流程图;

  图3是根据相关技术中的一种在各个星系内进行局部的订单数据查看和执行交易操作的示意图;

  图4是根据本发明实施例的一种游戏中对订单数据进行处理的示意图;以及

  图5是根据本发明实施例的一种订单数据的处理装置的示意图。

  具体实施方式

  需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

  为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

  需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

  本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种订单数据的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

  存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据处理的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

  传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

  在本实施例中提供了一种运行于上述移动终端的一种订单数据的处理方法。本申请中的技术方案适用于将游戏世界划分为多个区域,每个区域有对应的服务器的网络游戏,在该类网络游戏中,玩家之间可以进行虚拟物品的交易。以下以太空沙盒游戏为例进行说明。太空沙盒游戏中,整个宇宙划分为多个星系,每个星系有对应的服务器,即星系服务器。

  图2是根据本发明实施例的一种订单数据的处理方法的流程图。如图2所示,该方法可以包括如下步骤:

  步骤S202,第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据。

  在本发明上述步骤S202提供的技术方案中,目标数据库用于存储多个物品的订单数据(订单信息),每个物品归属于至少一个服务器。

  在该实施例中,第一服务器也即星系服务器,可以是太空沙盒游戏中的星系服务器,根据星系来部署,也可以称为市场服务器。该实施例的第一客户端也即用户所使用的客户端,其中,用户可以称为玩家,第一服务器可以是第一客户端所在的星系的服务器。

  在该实施例中,第一客户端向第一服务器发送第一查询请求,该第一查询请求用于请求查看第一物品的第一订单数据,也即,用于访问第一订单数据。第一服务器在接收到该第一查询请求,响应该第一查询请求,可以向目标数据库发起分页查询,从目标数据库中查询第一物品的第一订单数据。其中,对目标数据库发起分页查询,可以提高对目标数据库的利用率。

  在该实施例中,上述目标数据库中存储了多个物品的订单数据,多个物品包括上述第一物品,其中,物品也可以称为商品、货物等需要进行交易的对象,此处不做具体限制。每个物品归属于至少一个服务器,也即,至少一个服务器上加载有物品,每个物品需要在其所归属的服务器上进行交易操作,从而完成交易匹配,其中,每个物品所归属的服务器也可以称为该物品所在的匹配服务器。

  在该实施例中,通过目标数据库来对订单数据进行查询,从而即使不用将所有订单数据都加载到一个服务器上,也能查询到全宇宙的所有订单数据。

  步骤S204,第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息。

  在本发明上述步骤S202提供的技术方案中,在第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据之后,可以响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息。其中,第一物品归属于第二服务器。

  在该实施例中,第一服务器可以将从目标数据库中查询到的第一物品的第一订单数据返回至客户端进行显示,从而方便用户查看。然后第一客户端可以响应用户在第一客户端上的确认操作,向第一服务器发送第一交易请求,该第一交易请求用于请求对第一物品进行交易,也即,用户对第一物品发起交易行为。在第一服务器接收到第一交易请求之后,可以从第一物品的第一订单数据中获取第一地址信息,该第一地址信息可以用于表示第一物品所在的位置(星系)的地址(ID),其具有对应的第二服务器,可以通过第一地址信息寻址到第二服务器,也即,该实施例可以将第一物品所在的位置的ID作为寻址ID,寻址到第二服务器,其中,上述第一物品归属于第二服务器,该第二服务器也可以是星系服务器。

  步骤S206,第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。

  在本发明上述步骤S206提供的技术方案中,第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息之后,第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。

  在该实施例中,第一服务器可以基于第一地址信息寻址到第二服务器,然后向第二服务器发送第二交易请求,由于第一物品归属于第二服务器,从而可以在第二服务器上对第一物品进行交易操作,可以是在第二服务器内存的交易队列中插入订单数据,等待匹配的操作,其中,交易队列也可以称为交易匹配队列,从而避免了在单点服务器上进行所有物品的交易操作,由于交易队列过长导致匹配慢的问题。

  在相关技术中,可以从数据库中将每个星系的所有订单数据插入到自己的服务器内存,然后用户根据自己所在星系的星系ID作为寻址ID,只寻址到当前用户所在的星系,查看是通过对自己服务器的内存值进行查看,交易操作也是对自己服务器内的交易队列进行匹配,因而只能对用户所在的当前星系的物品的订单数据进行查看以及对物品进行交易操作。也即,相关技术只能在单个服务器的内存上进行,查看是查看内存值,交易队列是自己星域内的,以服务器内存方式进行存储,每个服务器各不相干,通过用户所在星系的星系ID进行访问,因为用户在同一时间只能出现在一个位置,所以订单数据查询和交易操作均只能在单个星域内进行,从而上述方法中的服务器只管自己的内存访问和计算,具有一定的局限性,只能访问自己所在星域内的订单数据和对自己所在星域内订单数据对应的物品进行交易操作,无法使订单数据实现跨服务器可见,也无法对订单数据对应的物品实现跨服务器交易。如果需要实现全宇宙的星域的订单数据以及物品交易,则用户只能通过跑遍全宇宙,登录不同的星系服务器,才能分别看到不同星域的订单数据,而仅仅是跑遍全宇宙的操作就需要耗时1小时左右,十分不便。

  然而,本申请通过上述步骤S202至步骤S206,第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据,其中,目标数据库用于存储多个物品的订单数据,每个物品归属于至少一个服务器;第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息,其中,第一物品归属于第二服务器;第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。也就是说,该实施例对各个物品的交易操作部署到其所归属的服务器上进行,通过物品的订单数据中的地址信息进行寻址,可以访问到对应的服务器,进而在访问到的服务器上进行交易操作,既让订单数据实现跨服务器可见,并且还能对订单数据对应的物品实现跨服务器交易,而且交易匹配时长短,为一种可以跨服务器完成交易的实现方法,与用户所在哪个服务器无关,从而解决了对订单数据进行处理的效率低的技术问题,达到了提高对订单数据进行处理的效率的技术效果。

  下面对该实施例的上述方法进行进一步地介绍。

  作为一种可选的实施方式,第一订单数据是从目标数据库中加载出来,并存储至第二服务器中,且用于使第二服务器对第一物品进行交易操作。

  在该实施例中,第一物品的第一订单数据可以先从目标数据库中加载出来,再将该第一订单数据存储至第二服务器的内存中,这样第一服务器基于第一订单数据中的第一地址信息寻址到第二服务器,向该第二服务器发送第二交易请求,使第二服务器利用第一订单数据对第一物品进行交易操作。

  在该实施例中,将多个服务器的用户的交易队列从集中在一个市场中心交易服务器上,分别部署到这多个服务器上,不单独做市场中心交易服务器,而是根据订单数据中的地址信息将订单数据从目标数据库中加载出来,比如,根据订单数据中的物品信息带有的星系ID,将订单数据从数据库中加载出来,然后将这个订单数据放到该星系ID对应的服务器内存中。这样在玩家发起交易行为的情况下,就可以根据订单数据中的地址信息寻址到对应的服务器,在该服务器上完成交易操作,从而将对物品进行交易操作的压力分摊开来,避免通过市场中心交易服务器对物品进行交易操作,由于交易队列过长而导致交易匹配慢的问题。

  作为一种可选的实施方式,目标数据库与多个物品所归属的服务器相关联。

  在该实施例中,目标数据库可以与多个物品所属的服务器相连,比如,全宇宙的每个服务器都连在相同的目标数据库,从而在将多个物品的订单数据分别部署在对应的服务器上的情况下,从目标数据中查看订单数据就可以极大的较少流量传递,并且减少服务器上的负载,也进一步提高了服务器的吞吐量。

  作为一种可选的实施方式,步骤S202,第一服务器响应第一查询请求,在目标数据库中查询第一物品的第一订单数据,包括:第一服务器从第一查询请求中获取第一物品的标识;第一服务器根据第一物品的标识从目标数据库中查询第一订单数据。

  在该实施例中,在实现第一服务器响应第一查询请求,在目标数据库中查询第一物品的第一订单数据时,可以是第一服务器向目标数据库发起一次分页查询,从第一查询请求中获取第一物品的标识,比如,物品ID,可以是物品的类型标识(type_id)。在第一服务器获取第一物品的标识之后,就可以基于该第一物品的标识从目标数据库中查询对应的第一订单数据。

  作为一种可选的实施方式,第一服务器根据第一物品的标识从目标数据库中查询第一订单数据,包括:第一服务器根据第一物品的标识从目标数据库中查询多份订单数据,其中,第一物品归属于每份订单数据中的地址信息所指示的服务器;第一服务器从多份订单数据中筛选出至少一份有效的订单数据;第一服务器在至少一份有效的订单数据中确定出第一订单数据。

  在该实施例中,第一服务器根据第一物品的标识可以从目标数据库中查询该第物品所在所有星系的订单数据,可以查询到多份订单数据,第一物品归属于每份订单数据中的地址信息所指示的星系的服务器。可选地,为了保证对有效的订单数据进行使用,该实施例的第一服务器可以从多份订单数据中筛选出至少一份有效的订单数据,然后进一步地在该至少一份订单数据中确定出上述第一订单数据。

  作为一种可选的实施方式,第一服务器在至少一份有效的订单数据中确定出第一订单数据,包括:第一服务器将至少一份有效的订单数据发送至第一客户端;第一服务器获取第一客户端发送的第一订单数据,其中,第一订单数据由第一客户端从至少一份有效的订单数据中选取出。

  在该实施例中,第一服务器可以将筛选出的至少一份有效的订单数据返回至第一客户端,进而显示在第一客户端上以供用户查看,第一客户端可以响应用户触发的选取操作,从至少一份有效的订单数据中选取出第一订单数据。

  作为一种可选的实施方式,第一服务器从多份订单数据中筛选出至少一个有效的订单数据,包括:所述第一服务器将多份订单数据中还未用于进行交易操作的,且未过期的订单数据,确定为有效的订单数据。

  在该实施例中,在实现第一服务器从多份订单数据中筛选出至少一个有效的订单数据中时,可以是第一服务器从多份订单数据中先选取出未用于进行交易操作的、且未过期的订单数据,其中,未用于进行交易操作的订单数据可以指未在对应的服务器上进行交易匹配的订单数据,未过期的订单数据可以指未超过规定的使用期限的订单数据。该实施例可以将多份订单数据中还未用于进行交易操作的,且未过期的订单数据,确定为有效的订单数据,也即,该实施例的第一服务器在向数据库访问订单数据的时候,筛选条件是物品的标识和订单数据是否有效,如果确定了一个物品的标识,那么就可以在目标数据库中访问这个物品的所有订单数据,从中筛选出未匹配的并且还没有过期的订单数据出来。

  作为一种可选的实施方式,步骤S202,第一服务器响应第一客户端发送的第一查询请求,包括:所述第一服务器在第一客户端发送第一查询请求的次数低于目标次数的情况下,响应第一查询请求。

  在该实施例中,可以在对第一查询请求的次数进行限制(RPC)。可选地,该实施例的第一客户端在访问第一服务器的时候,可以是先连接一个代理服务器,该代理服务器可以是管理了至少一个星系的市场服务器,代理服务器与市场服务器之间的对应关系是在配置里面预先固定配置好的。当第一客户端和代理服务器连接时,会产生一个会话(session),其中包括第一客户端特有的键(key),将其作为第一客户端的标记,当session向代理服务器发起一次第一查询请求时,该发起第一查询请求的时间会被记录,并且在访问接口配置好访问间隔时间和在这个访问间隔时间内的访问次数,比如,10秒内通过第一查询请求访问这个接口20次,如果这个session在10秒内访问了21次,则在第21次时就不响应这个第一查询请求,会向第一客户端提示请求太频繁,请等待一段时间后再尝试发起第一查询请求。可选地,该实施例当时间过了访问间隔时间后,访问次数就会清空,可以在下一轮访问间隔时间内的发起第一查询请求,从而实现了对第一查询请求的次数进行限制的目的,可以避免大量的第一查询请求占据中央处理器来对目标数据库进行查询。

  作为一种可选的实施方式,该方法还包括:第一服务器响应第三交易请求,对第二物品进行交易操作,其中,第二物品归属于第一服务器,第三交易请求由第三服务器基于第一服务器的第二地址信息发送的,第二订单数据包括第二地址信息,第二订单数据由第三服务器响应第二客户端发送的第二查询请求在目标数据库中查询得到。

  在该实施例中,第一服务器上具有第二物品,可以用于对第二物品进行交易操作。可选地,第一服务器响应第三服务器发送过来的第三交易请求,该第三服务器可以是宇宙中其它星系对应的服务器,第三服务器可以基于第二地址信息寻址到第一服务器,然后向第一服务器发送上述第三交易请求。该实施例的上述第二地址信息可以由第二订单数据携带,而第二订单数据可以是由第三服务器响应第二客户端发送的第二查询请求在目标数据库中查询得到的,其中,第三服务器与第二客户端相对应,从而该实施例的第一服务器不仅可以请求对其它星系的服务器的物品进行交易操作,而且也可以接收其它星系的服务器发送的交易请求,对自己的第二物品进行交易,提高了对订单数据进行处理的效率。

  作为一种可选的实施方式,第一服务器对第二订单数据对应的第二物品进行交易操作,包括:第一服务器在交易队列中插入第二订单数据,以对第二物品进行交易操作。

  在该实施例中,第一服务器上部署有交易队列,该交易队列可以包括第一服务器内存中的订单数据。可选地,该实施例在交易队列中插入第二订单数据,等待交易匹配,以对第二物品完成交易操作。

  该实施例通过上述方法既可以完成跨服务器匹配全服务器的订单数据,又能使玩家看到到全服务器的订单数据,可以将市场中心服务器的所有订单数据分别部署到多个服务器上,减少了市场中心服务器的压力,可以在大量的交易量里面降低匹配时间。该实施例可以根据物品所在的星系位置找到正确的匹配服务器,在匹配服务器上对物品完成交易匹配。另外,由于市场中心服务器的所有订单数据分别部署到多个服务器上,这时候选择从目标数据库中查看物品的订单数据可以极大的较少流量传递,并且减少服务器上的负载,提高了服务器的吞吐量,而且目标数据库查询是分页查询,对目标数据库的利用率也有提高,从而提高了对订单数据进行处理的效率。

  下面结合优选的实施方式对本发明实施例的上述方法进行进一步地举例说明。

  图3是根据相关技术中的一种在各个星系内进行局部的订单数据查看和执行交易操作的示意图。如图3所示,服务器根据星系来部署,不同的星系属于的服务器也不一样,比如,星系一服务,星系二服务器……星系N服务器,其中,星系一服务器对应于星系一所在玩家,其交易队列只包含本星系一服务器内存中的订单数据,订单数据加载到内存,玩家仅能通过星系一服务器内存访问星系一服务器内存;星系二服务器对应于星系二所在玩家,其交易队列只包含本星系二服务器内存中的订单数据,订单数据加载到内存,玩家仅能通过星系二服务器内存访问星系二服务器内存;星系N服务器对应于星系N所在玩家,其交易队列只包含本星系N服务器内存中的订单数据,订单数据加载到内存,玩家仅能通过星系N服务器内存访问星系二服务器内存。

  在上述方案中,从数据库中将每个星系的所有订单数据插入到自己的服务器内存,然后玩家根据自己所在星系位置的星系ID作为寻址ID,只能寻址到当前玩家所在的星系,查看是通过对自己服务器的内存值查看,交易操作也是对自己服务器内的交易队列进行匹配。因而,只能对玩家所在的当前星系的物品进行交易操作,比如,A星域的玩家只能看到A星域的订单数据,并且只能对A星域的订单数据对应的物品进行交易操作。也就是说,上述方法只能在单个服务器的内存上进行,查看是查看内存值,交易队列是自己星域内的,以服务器内存方式存储,每个服务器各不相干,通过玩家所在位置进行访问。由于玩家只能在同一时间出现在一个位置,所以订单数据的查询和对物品进行的交易操作都只能在单个星域内进行,即只管自己的内存访问和计算,具有局限性,从而只能访问自己所在星域内的订单和对自己所在星域内订单的交易操作。

  虽然玩家以自由交易物品,但是物品都是加载到服务器内存里面,因而市场是有局限的只能看见当地的物品,但是可能有需要查看全宇宙的物品的订单数据的需求,这样就只能通过跑遍全宇宙,登录不同的星系服务器,才能分别看到不同星域的订单数据,而仅仅是跑遍全宇宙的操作就需要耗时1小时左右,十分不便。

  如果采用市场中心交易服务器作为特定的市场服务器,玩家查看和交易操作都在这个服务器中进行,这样访问回复很快,但是,当玩家数量级很大时,需要等待匹配的订单交易队列会很长,,相应地匹配时长就会很长。

  由上述可知,相关技术还未能实现既能让物品的订单数据实现跨服务器可见,并且还能实现跨服务器交易,而且还不能让匹配时长很长。

  针对上述问题,本申请实施例可以将200多个服务器的玩家的交易队列从集中在一个市场中心交易服务器上,分别部署到这200多个服务器上,不单独做市场中心交易服务器,而是根据订单数据中的地址信息将订单数据从目标数据库中加载处理,比如,通过订单数据中所含物品信息里面带有的星系ID,将订单数据从目标数据库中加载出来,然后这个订单数据放到该星系ID对应的服务器的内存中,玩家发起交易行为,根据订单数据中的地址信息寻址到物品所在服务器,去那个服务器上完成交易,从而将压力分摊开来,避免了由于市场中心交易服务器的交易队列过长导致匹配慢的问题。

  另外,该实施例将玩家查看订单的行为从内存中查看改为从目标数据库中进行查看。由于用户是根据具体物品的ID去请求数据的,该实施例在向目标数据库访问订单数据时,筛选条件可以是物品ID和订单数据是否有效。如果确定了一个物品的type_id,那么就可以在目标数据库中访问到这个物品的所有订单数据,再从所有订单数据中筛选出未匹配的并且还没有过期的订单数据,这样就不用将所有订单数据都加载到服务器,也能实现看到全宇宙的订单数据的目的。

  图4是根据本发明实施例的一种游戏中对订单数据进行处理的示意图。如图4所示,星系一服务器对应星系一所在玩家,其交易队列只包含星系一服务器内存中的订单数据,玩家可以从目标数据库中查看全宇宙的信息的订单数据;星系二服务器对应星系二所在玩家,其交易队列只包含星系二服务器内存中的订单数据,玩家可以从目标数据库中查看全宇宙的信息的订单数据……星系N服务器对应星系一所在玩家,其交易队列只包含星系N服务器内存中的订单数据,玩家可以从目标数据库中查看全宇宙的信息的订单数据。

  在该实施例中,星系一服务器可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系二服务器,以在星系二服务器上对物品进行交易操作,星系二服务器也可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系一服务器,以在星系一服务器上对物品进行交易操作;星系二服务器可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系N服务器,以在星系N服务器上对物品进行交易操作,星系N服务器也可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系二服务器,以在星系二服务器上对物品进行交易操作;星系一服务器可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系N服务器,以在星系N服务器上对物品进行交易操作,星系N服务器也可以通过从目标数据库中查询到的订单数据中的物品所在星系ID寻址到星系一服务器,以在星系一服务器上对物品进行交易操作。

  在该实施例中,由于游戏内的交易,其本质是数据交互,因而从源头来看,为了满足交易需求,就需要先获取到数据,而玩家对应几百个服务器上,想要完成跨服务器之间的互通,就需要先完成数据互通。因为线上网络游戏会部署很多台服务器,如果全部加载到一台服务器上获取,但是这种方式会造成匹配队列过长的使得服务器压力过大的问题。而该实施例图4所示的方法将服务器的寻址从市场中心交易服务器的ID寻址改为根据订单数据中物品所在的星系ID进行寻址,确定对应的服务器,这样就将压力从一个市场中心交易服务器分摊到几百个服务器上,对订单数据进行处理的效率提升了几百倍。

  可选地,在该实施例中,当客户端访问订单数据时,可以是通过向服务器发起一次对订单数据进行查询的查询请求。可选地,该实施例将客户端的查询请求首先发送到对应的星系服务器上,然后由该星系服务器向目标数据库发起一次分页查询,可以根据物品ID,去目标数据库查询该物品在所有星系的订单数据,当获取订单数据后返回给客户端查看。该实施例还可以服务器上做RPC访问限制,从而避免了大量的第一查询请求占据中央处理器来对目标数据库进行查询。

  该实施例通过上述方法可以解决既能完成跨服务器匹配全服务器订单数据,又能使玩家查询到全服务器订单数据,极大地降低了单点服务器的压力,在20多万人的交易量里面,从2小时的匹配时间下降到了毫秒级;根据物品所在位置找到正确的服务器,将订单查到在那个服务器上,在物品所在的服务器上完成交易匹配;订单数据分别部署在200多个服务器上,这时候选择从目标数据库中查看可以极大的较少流量传递,并且减少服务器上的负载,提高了服务器的吞吐量,而且目标数据库查询是分页查询,对目标数据库的利用率也有所提高,从而解决了对订单数据进行处理的效率低的技术问题,达到了提高对订单数据进行处理的效率的技术效果。

  本发明实施例还提供了一种订单数据的处理装置。需要说明的是,该实施例的订单数据的处理装置可以用于执行本发明实施例图2所示的订单数据的处理方法。

  图5是根据本发明实施例的一种订单数据的处理装置的示意图。如图5所示,该订单数据的处理装置50包括:查询单元51、获取单元52和发送单元53。

  查询单元51,用于使第一服务器响应第一客户端发送的第一查询请求,在目标数据库中查询第一物品的第一订单数据,其中,目标数据库用于存储多个物品的订单数据,每个物品归属于至少一个服务器。

  获取单元52,用于使第一服务器响应第一客户端发送的第一交易请求,从第一订单数据中获取第二服务器的第一地址信息,其中,第一物品归属于第二服务器。

  发送单元53,用于使第一服务器基于第一地址信息向第二服务器发送第二交易请求,其中,第二交易请求用于请求第二服务器对第一物品进行交易操作。

  该实施例的订单数据的处理装置,该实施例对各个物品的交易操作部署到其所归属的服务器上进行,通过物品的订单数据中的地址信息进行寻址,可以访问到对应的服务器,进而在访问到的服务器上进行交易操作,既让订单数据实现跨服务器可见,并且还能对订单数据对应的物品实现跨服务器交易,而且交易匹配时长短,为一种可以跨服务器完成交易的实现方法,与用户所在哪个服务器无关,从而解决了对订单数据进行处理的效率低的技术问题,达到了提高对订单数据进行处理的效率的技术效果。

  本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制存储介质所在设备执行本发明实施例的订单数据的处理装置中的方法。

  可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

  本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本发明实施例的订单数据的处理装置中的方法。

  可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

  显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

  以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

《订单数据的处理方法、装置、存储介质和电子装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)