CN104980454B - 一种资源数据共享方法、服务器及系统 - Google Patents

一种资源数据共享方法、服务器及系统 Download PDF

Info

Publication number
CN104980454B
CN104980454B CN201410132001.1A CN201410132001A CN104980454B CN 104980454 B CN104980454 B CN 104980454B CN 201410132001 A CN201410132001 A CN 201410132001A CN 104980454 B CN104980454 B CN 104980454B
Authority
CN
China
Prior art keywords
server
resource
semaphore
key assignments
resource data
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
CN201410132001.1A
Other languages
English (en)
Other versions
CN104980454A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410132001.1A priority Critical patent/CN104980454B/zh
Priority to US15/300,062 priority patent/US10455003B2/en
Priority to PCT/CN2015/075446 priority patent/WO2015149673A1/en
Publication of CN104980454A publication Critical patent/CN104980454A/zh
Application granted granted Critical
Publication of CN104980454B publication Critical patent/CN104980454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种资源数据共享方法、服务器及系统,预先配置资源配置文件,读取所述资源配置文件中的所述预设的键值和所述索引名称;根据所述预设的键值向操作系统请求内存空间创建共享内存;从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机的各个场景服务器的进程共享所述资源数据。同一台物理机的各个场景服务器的进程共享内存从磁盘中所加载的所述资源数据,所述资源数据无需被各个不同的场景服务器的进程从磁盘中重复加载,也无需重复占用物理机给各个场景服务器所分配的物理内存,节省物理机的内存空间,提高物理机的利用率。

Description

一种资源数据共享方法、服务器及系统
技术领域
本发明涉及计算机技术领域,特别是涉及一种资源数据共享方法、服务器及系统。
背景技术
网络游戏服务器是指与网络游戏客户端相对应,安装在互联网数据中心(Internet Data Center,IDC)的硬件上,为网络游戏客户端提供数据转发与逻辑处理服务的程序。经典的网络游戏服务器包括一个总控服务器与多个场景服务器。其中,场景服务器主要处理网络游戏中非全局性的逻辑数据,处理不同的局部场景游戏逻辑数据。
随着计算机技术的发展,一台物理机可以配备多个CPU核心,多核CPU的应用,推动了数据并行计算的发展,进而提高了网络游戏服务器的逻辑数据处理能力。理论上,一台物理机可以部署与CPU核心数量相同的场景服务器。当多个场景服务器进程启动时,每个场景服务器向操作系统请求一个物理内存,各个场景服务器从磁盘将各自所需的逻辑数据加载到所分配的物理内存。在场景服务器运行时,从其物理内存中读取运行所需的逻辑数据进行处理,每个场景服务器所加载的逻辑数据之间相互独立。
对于同一个网络游戏来说,不同的场景服务器所加载的逻辑数据中,都包含有策划配置数据、美术资源数据与地图资源数据等多种相同的逻辑数据。在这种情况下,上述各个场景服务器都包含的相同的逻辑数据会被每个场景服务器从磁盘中加载到各自的物理内存中存储,这样就导致相同的逻辑数据被重复加载,并占用多个物理内存,造成物理内存大量浪费,降低了物理机的利用率。
发明内容
有鉴于此,本发明提供了一种资源数据共享方法、服务器及系统,资源加载服务器将同一个物理机的各个场景服务器的进程所需的相同的逻辑数据作为资源数据加载到其所创建的共享内存,向各个场景服务器的进程共享所述资源数据,节省物理机的物理内存。
本发明实施例第一方面提供了一种资源数据共享方法,应用于资源加载服务器,预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据,所述方法包括:
读取所述资源配置文件中的所述预设的键值和所述索引名称;
根据所述预设的键值向操作系统请求内存空间创建共享内存;
从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
本发明实施例第一方面的第一种可能的实施方式中,所述向各个场景服务器的进程共享所述资源数据包括:
当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
本发明实施例第一方面的第二种可能的实施方式中,所述从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存后还包括:
设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
结合本发明实施例第一方面至第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述资源数据包括:
策划配置数据、美术资源数据和地图资源数据。
本发明实施例第二方面提供了一种资源数据共享方法,应用于各个场景服务器,所述方法包括:
执行进程启动;
读取资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据;
根据所述预设的键值访问共享内存,所述共享内存是所述资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有所述资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据;
将所述共享内存中的所述资源数据映射到内存空间。
本发明实施例第二方面第一种可能的实施方式中,所述执行进程启动包括:
接收启动指令,执行进程启动。
本发明实施例第二方面第二种可能的实施方式中,所述执行进程启动包括:
从所述资源加载服务器获得信号量键值;
每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
本发明实施例第三方面提供了一种资源加载服务器,所述服务器包括:
配置单元,用于预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据;
第一读取单元,用于读取所述资源配置文件中的所述预设的键值和所述索引名称;
创建单元,用于根据所述预设的键值向操作系统请求内存空间创建共享内存;
共享单元,用于从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
本发明实施例第三方面第一种可能的实施方式中,
所述共享单元,具体用于当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
本发明实施例第三方面第二种可能的实施方式中,所述服务器还包括:
设置单元,用于设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
存储单元,用于将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
本发明实施例第四方面提供了一种场景服务器,所述服务器包括:
启动单元,用于执行进程启动;
第二读取单元,用于读取所述资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据;
访问单元,用于根据所述预设的键值访问共享内存,所述共享内存是所述资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据;
映射单元,用于将所述共享内存中的所述资源数据镜像到内存空间。
本发明实施例第四方面第一种可能的实施方式中,所述启动单元包括:
接收子单元,用于接收启动指令;
第一启动子单元,用于执行进程启动。
本发明实施例第四方面第二种可能的实施方式中,所述启动单元包括:
获取子单元,用于从所述资源加载服务器获得信号量键值;
检测子单元,用于每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
第二启动子单元,用于当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
本发明实施例第五方面提供了一种资源数据共享系统,
所述系统包括本发明实施例第三方面至第三方面第二种可能的实现方式所述的资源加载服务器以及本发明第四方面至第四方面第二种可能的实施方式所述的场景服务器。
由上述内容可知,本发明有如下有益效果:
本发明提供了一种资源数据共享方法、服务器及系统,预先配置资源配置文件,读取所述资源配置文件中的所述预设的键值和所述索引名称;根据所述预设的键值向操作系统请求内存空间创建共享内存;从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机的各个场景服务器的进程共享所述资源数据。同一台物理机的各个场景服务器的进程共享内存从磁盘中所加载的所述资源数据,所述资源数据无需被各个不同的场景服务器的进程从磁盘中重复加载,也无需重复占用物理机给各个场景服务器所分配的物理内存,节省物理机的内存空间,提高物理机的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种资源数据共享方法实施例一流程图;
图2为本发明一种资源数据共享方法实施例二流程图;
图3为本发明一种资源数据共享方法实施例三流程图;
图4为本发明一种资源加载服务器结构实施例四示意图;
图5为本发明一种场景服务器结构实施例五示意图;
图6为本发明一种资源数据共享系统实施例六示意图;
图7为本发明一种资源加载服务器实施例七结构示意图;
图8为本发明一种资源加载服务器实施例八结构示意图。
具体实施方式
本发明公开了一种资源数据共享方法、服务器及系统,资源加载服务器将同一物理机的各个场景服务器的进程所需的相同的逻辑数据作为资源数据加载到其所创建的共享内存,向所述各个场景服务器共享所述资源数据,提高物理机的利用率。
下面结合附图对本发明实施例进行详细说明。
实施例一
图1为本发明一种资源数据共享方法实施例一流程图,应用于资源加载服务器,描述了共享内存创建的方法,所述方法包括:
步骤101:预先配置资源配置文件。
所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据。
键值主要是用于识别创建的共享内存的,在配置文件中预先设置好键值作为标识共享内存的标识,可以根据预设的键值访问此键值所标识的共享内存。
所述资源数据为同一个物理机上的各个场景服务器的进程所需的相同的逻辑数据,包括策划配置数据、美术资源数据和地图资源数据等,所述资源数据为静态只读数据。除了资源数据以外,同一个物理机的各个场景服务器的进程在运行期间还需加载运行数据,所述运行数据为动态读写数据,各个场景服务器所需的动态数据各不相同。这里需要说明的是,各个场景服务器与资源加载服务器并不是不同的硬件服务器,各个场景服务器是位于同一个物理机上的处理不同网络游戏中非全局性逻辑数据的软件程序。资源加载服务器也是在所述物理机上创建共享内存的软件程序。
所述资源数据的索引名称主要用于标识所需加载的资源数据,以便加载逻辑数据时,从磁盘中准确的加载各个场景服务器所需的共同的逻辑数据。
步骤102:读取所述资源配置文件中的所述预设的键值和所述索引名称。
资源加载服务器读取预设的资源配置文件中的所述预设的键值和所述索引名称,资源加载服务器是指安装在互联网数据中心(Internet DataCenter,IDC)的硬件上,可以根据预设的键值创建共享内存,并将磁盘中的资源数据加载到共享内存的应用程序。
步骤103:根据所述预设的键值向操作系统请求内存空间创建共享内存。
符合可移植操作系统接口(Portable Operating System Interface,POSIX)标准的操作系统都提供了共享内存(Shared Memory)功能,可以通过一个键值创建一块共享内存,当创建进程退出时,所创建的共享内存不会和进程一起删除。创建好的共享内存可以向多个进程共享内存中的数据。
资源加载服务器根据所读取的资源配置文件中的预设的键值创建一个共享内存,操作系统接收到资源加载服务器的请求后,给其分配一块物理内存空间作为共享内存,所述共享内存以预设的键值作为标识。
步骤104:从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
资源加载服务器按照从资源配置文件中所读取的资源数据的索引名称,将同一台物理上的各个场景服务器的进程所需的相同的资源数据加载到所创建的共享内存。则所述资源数据从磁盘中加载一次即可,向所述物理机的各个场景服务器的进程共享加载到共享内存中的资源数据。
现有技术中,由于每个场景服务器的进程的逻辑数据彼此相互独立,每个场景服务器的进程在运行时所需的相同的逻辑数据(即资源数据)都在物理机给各个场景服务器所分配的物理内存中占有内存空间,每个场景服务器的进程都需要从磁盘中加载所述资源数据。所述资源数据被重复的从磁盘中加载到物理机中,假设一组资源数据所占的内存为8G,有3个场景服务器,则现有技术中,各个场景服务器的进程启动时,每个场景服务器的内存空间都存储有8G的所述资源数据,则所述资源数据一共占有物理机的24G的物理内存。
而使用本发明所提供的一种资源数据共享方法,将所述资源数据从磁盘加载到共享内存中,所述资源数据只需要加载一次即可,并且只占用物理机的8G的物理内存空间,与现有技术相比,节省了16G的物理内存空间,并且减少了相同的资源数据从磁盘中的加载次数。共享内存中的资源数据可以向3个场景服务器的进程共享。节省出的物理内存空间可以部署更多的场景服务器,提高游戏服务器逻辑数据的处理能力。
进一步的,向各个场景服务器的进程共享所述资源数据具体实现方式为:
当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
各个场景服务器的进程可以根据预设的键值访问所述键值所标识的共享内存,共享内存中的所述资源数据会映射到各个场景服务器的内存空间,各个场景服务器的进程可以从其内存空间中读取所述资源数据。由于所述资源数据从所述共享内存中映射到各个场景服务器的内存空间,并不占用各个场景服务器的物理内存空间,这样可以节省物理机的物理内存空间。
可选的,从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存后,还包括:
设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
资源加载服务器设置的信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同,同时创建一个与所述信号量对应的信号量键值,根据所述信号量键值向操作系统请求内存空间存储所述信号量。信号量键值是所述信号量存储的内存空间的标识,可以根据所述信号量键值可以访问所存储的信号量。
各个场景服务器的进程会从所述资源加载服务器获得所述信号量键值,每隔一段时间,根据所述信号量键值检测所述信号量,当所述信号量存在,对所述信号量执行wait操作成功后,执行进程启动。Wait操作是操作系统的一个通用操作指令,对所述信号量执行wait操作,是对信号量执行减1的操作,并返回所述信号量不为0的响应,各个场景服务器接收到所述信号量不为0的响应时,执行进程启动。当所有场景服务器的进程都启动后,所述信号量为0,此时无法检测到信号量。
这种方法可以实现各个场景服务器的进程在共享内存加载所述资源数据后再进行启动,各个场景服务器的进程才能通过预设的键值访问共享内存中的所述资源数据,实现先加载资源数据再访问资源数据的先后执行时序。
由上述内容可知,本发明有如下有益效果:
预先配置资源配置文件,读取所述资源配置文件中的所述预设的键值和所述索引名称;根据所述预设的键值向操作系统请求内存空间创建共享内存;从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机的各个场景服务器的进程共享所述资源数据。同一台物理机的各个场景服务器的进程共享内存从磁盘中所加载的所述资源数据,所述资源数据无需被各个不同的场景服务器的进程从磁盘中重复加载,也无需重复占用物理机给各个场景服务器所分配的物理内存,节省物理机的内存空间,提高物理机的利用率。
实施例二
图2为本发明一种资源数据共享方法实施例二流程图,应用于场景服务器,描述了场景服务器的进程共享资源数据的方法,所述方法包括:
步骤201:执行进程启动。
同一个网络游戏的服务器构架中包含有多个场景服务器,在资源加载服务器创建好共享内存,并将所述资源数据从磁盘中加载到共享内存后,各个场景服务器的进程才能访问所述共享内存。资源加载服务器创建共享内存后加载所述资源数据与各个场景服务器的进程访问共享内存这两个执行步骤之间必须按照严格的先后顺序进行部署,否则各个场景服务器的进程则无法共享所述资源数据。
各个场景服务器执行启动有两种可能的实施方式:
第一种可能的实施方式为:
接收启动指令,执行进程启动。
当资源加载服务器创建共享内存并完成所述资源数据的加载后,人工输入一个启动各个场景服务器的启动指令,当各个场景服务器接收到所述启动指令后,执行进程启动。这种执行进程启动的方式比较简单,但是容易出错。
第二种可能的实施方式:
从所述资源加载服务器获得信号量键值;
每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
所述资源加载服务器设置的信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同,同时创建一个与所述信号量对应的信号量键值,所述信号量键值用于标识所述信号量在操作系统内存空间的存储位置。
同一物理机上的各个场景服务器的进程从所述资源加载服务器获得所述信号量键值,每隔预定时间根据所述信号量键值检测所述信号量。当检测到所述信号量不为0,执行wait操作成功后,执行场景服务器的进程启动。当所述信号量重新归0时,所述物理机上的所有场景服务器进的进程启动完毕。
第二种可能的实施方式与第一种可能的实施方式相比,提高了按照时序的先后顺序执行进程启动的精确性。
步骤202:读取资源加载服务器预先配置的资源配置文件中的所述预设的键值。
所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一台物理机的各个场景服务器的进程所需的相同的逻辑数据。
场景服务器的进程从预先配置的资源配置文件中获取预设的键值,所述预设的键值是资源加载服务器所创建的共享内存的标识,可以根据所获取的键值访问资源加载服务器所创建的共享内存。
步骤203:根据所述预设的键值访问共享内存。
所述共享内存是资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据。
步骤204:将所述共享内存中的所述资源数据映射到内存空间。
由于所述资源加载服务器在创建所述共享内存后,将资源数据从磁盘中加载到所创建的共享内存中,各个场景服务器的进程根据所述预设的键值访问共享内存,将所述共享内存中的所述资源数据映射到各个场景服务器各自的内存空间。场景服务器的进程在需要所述资源数据时,从其内存空间中读取所述资源数据。
所述资源数据映射到场景服务器的内存空间中并不占用场景服务器的物理内存,物理机只需要给所述资源数据分配一个物理内存空间——共享内存即可,所述资源数据不会在物理机给每一个场景服务器分配的物理内存重复占用一部分物理内存。这样,可以节省物理机的物理内存空间。
实施例三
图3为本发明一种资源数据共享方法实施例三流程图,实施例三描述了共享内存创建和共享数据资源的流程,所述方法包括:
步骤301:资源加载服务器预先配置资源配置文件。
所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一物理机的各个场景服务器的进程所需的相同的逻辑数据。
步骤302:场景服务器的进程每隔预定时间检测信号量是否存在。
这里需要说明的是,场景服务器的进程检测信号量是否存在是在整个资源数据共享系统启动一开始就执行的。初始时,由于资源加载服务器还没将所述资源数据加载完毕,此时,场景服务器的进程无法检测到信号量,直至所述资源加载服务器将所述资源数据加载到共享内存后,设置好所述信号量后,才能检测到所述信号量。
步骤303:所述资源加载服务器读取所述资源配置文件中的所述预设的键值和所述索引名称。
步骤304:所述资源加载服务器根据所述预设的键值向操作系统请求内存空间创建共享内存。
步骤305:所述资源加载服务器从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存。
步骤303至步骤305与实施例一类似,参考实施例一的描述,这里不再赘述。
步骤306:所述资源加载服务器设置一个信号量并创建与所述信号量对应的信号量键值,将所述信号量根据所述信号量键值存储至操作系统的内存空间。
所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同。
步骤307:所述场景服务器的进程从所述资源加载服务器获得信号量键值,根据所述信号量键值从操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
一个网络游戏的构架中有多个场景服务器,每个场景服务器的进程都会从所述资源加载服务器获得所述信号量的键值,根据所述信号量的键值从操作系统的内存空间检测所述信号量。当所述资源加载服务器将所述资源数据加载到所述共享内存后,设置一个信号量并创建与所述信号量对应的信号键值。此时,场景服务器的进程可以根据所述信号键值检测到所述信号量不为0,则执行wait操作。所述wait操作即为控制操作系统将所述信号量减1,当执行wait操作成功后,接收到信号量存在的响应。场景服务器根据所述信号量存在的响应,执行进程启动。
所述信号量存在对于各个场景服务器来说,是所述资源加载服务器以及将所述资源数据加载到共享内存,以及准备好向各个场景服务器的进程共享所述资源数据,各个场景服务器可以启动进程的标识。由于所述资源加载数据设置所述信号量的初始值与所述场景服务器的进程的个数相同,也就是说,当所述信号量重新归0时,所述物理机中的所有场景服务器的进程启动完毕。
步骤308:所述场景服务器的进程读取所述资源加载服务器预先配置的资源配置文件中的所述预设的键值。
步骤309:所述场景服务器的进程根据所述预设的键值访问共享内存。
步骤310:所述场景服务器的进程将所述共享内存中的所述资源数据映像到内存空间。
步骤307至步骤310与实施例二类似,参考实施例二的描述,这里不再赘述。
实施例四
图4为本发明一种资源加载服务器结构实施例四示意图,所述资源加载服务器用于创建共享内存,是与实施例一所述的方法所对应的装置,所述服务器包括:
配置单元401,用于预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据。
第一读取单元402,用于读取所述资源配置文件中的所述预设的键值和所述索引名称。
创建单元403,用于根据所述预设的键值向操作系统请求内存空间创建共享内存。
共享单元404,用于从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
可选的,所述共享单元404,具体用于当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
可选的,所述服务器还包括:
设置单元,用于设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
存储单元,用于将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
实施例四是与实施例一所描述的方法所对应的服务器,参考实施例一的描述,这里不再赘述。
实施例五
图5为本发明一种场景服务器结构实施例五示意图,所述场景服务器用于映射共享内存中的资源数据,是与实施例二所述的方法所对应的装置,所述服务器包括:
启动单元501,用于执行进程启动。
可选的,有两种可能的结构:
第一种可能的结构,所述启动单元501包括:
接收子单元,用于接收启动指令;
第一启动子单元,用于执行进程启动。
第二种可能的结构,所述启动单元501包括:
获取子单元,用于从所述资源加载服务器获得信号量键值;
检测子单元,用于每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
第二启动子单元,用于当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
第二读取单元502,用于读取资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据。
访问单元503,用于根据所述预设的键值访问共享内存,所述共享内存是资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据。
映射单元504,用于将所述共享内存中的所述资源数据镜像到内存空间。
实施例五是与实施例二所描述的方法所对应的服务器,参考实施例二的描述,这里不再赘述。
实施例六
图6为本发明一种资源数据共享系统实施例六示意图,是与实施例三所述的方法所对应的系统,所述系统包括:
实施例四所述的资源加载服务器601以及多个实施例五所述的场景服务器602。
所述资源加载服务器601包括:
配置单元,用于预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据。
第一读取单元,用于读取所述资源配置文件中的所述预设的键值和所述索引名称。
创建单元,用于根据所述预设的键值向操作系统请求内存空间创建共享内存。
共享单元,用于从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
设置单元,用于设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
存储单元,用于将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
所述场景服务器602包括:
启动单元,用于执行进程启动。
第二读取单元,用于读取资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据。
访问单元,用于根据所述预设的键值访问共享内存,所述共享内存是资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据。
映射单元,用于将所述共享内存中的所述资源数据镜像到内存空间。
获取子单元,用于从所述资源加载服务器获得信号量键值;
检测子单元,用于每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
第二启动子单元,用于当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
实施例七
图7为本发明一种资源加载服务器实施例七结构示意图,所述服务器包括:
处理器701、存储器702、输入装置703和输出装置704。浏览器服务器中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本发明的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行浏览器服务器的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与浏览器服务器的用户设置以及功能控制有关的键信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能:
预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个网络游戏的各个场景服务器所需的相同的逻辑数据,
读取所述资源配置文件中的所述预设的键值和所述索引名称;
根据所述预设的键值向操作系统请求内存空间创建共享内存;
从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向各个场景服务器共享所述资源数据。
可选的,所述向各个场景服务器共享所述资源数据包括:
当各个场景服务器通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
可选的,所述从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存后还包括:
设置信号数量值,所述信号数量值与同一个网络游戏所启动的场景服务器的个数相同;
每接收到一个场景服务器的检测信号,向所述场景服务器返回所述信号数量值,并对所述信号数量值减1,以便实现各个场景服务器的启动。
所述资源数据包括:策划配置数据、美术资源数据和地图资源数据。
实施例八
图8为本发明一种资源加载服务器实施例八结构示意图,所述服务器包括:
处理器801、存储器802、输入装置803和输出装置804。浏览器服务器中的处理器801的数量可以一个或多个,图8中以一个处理器为例。在本发明的一些实施例中,处理器801、存储器802、输入装置803和输出装置804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行浏览器服务器的各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置803可用于接收输入的数字或字符信息,以及产生与浏览器服务器的用户设置以及功能控制有关的键信号输入。
具体在本实施例中,处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能:
执行进程启动;
读取资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个网络游戏的各个场景服务器所需的相同的逻辑数据;
根据所述预设的键值访问共享内存,所述共享内存是资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据;
将所述共享内存中的所述资源数据镜像到内存空间。
可选的,所述执行进程启动包括:
接收启动指令,执行进程启动。
可选的,所述执行进程启动包括:
每隔预定时间向资源加载服务器发送检测信号,所述检测信号用于检测资源加载服务器设置的信号数量值;
当检测到所述信号数量值不为0时,执行进程启动。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种资源数据共享方法,应用于资源加载服务器,其特征在于,预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据,所述资源加载服务器被配置于所述物理机中,在各个场景服务器执行进程启动之前,所述方法包括:
读取所述资源配置文件中的所述预设的键值和所述索引名称;
根据所述预设的键值向操作系统请求内存空间创建共享内存;
从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
2.根据权利要求1所述的方法,其特征在于,所述向各个场景服务器的进程共享所述资源数据包括:
当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
3.根据权利要求1所述的方法,其特征在于,所述从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存后还包括:
设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述资源数据包括:
策划配置数据、美术资源数据和地图资源数据。
5.一种资源数据共享方法,应用于各个场景服务器,其特征在于,所述方法包括:
执行进程启动;
读取资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据,所述资源加载服务器被配置于所述物理机中;
根据所述预设的键值访问共享内存,所述共享内存是所述资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有所述资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据;
将所述共享内存中的所述资源数据映射到内存空间。
6.根据权利要求5所述的方法,其特征在于,所述执行进程启动包括:
接收启动指令,执行进程启动。
7.根据权利要求5所述的方法,其特征在于,所述执行进程启动包括:
从所述资源加载服务器获得信号量键值;
每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
8.一种资源加载服务器,其特征在于,所述服务器包括:
配置单元,用于预先配置资源配置文件,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据,所述资源加载服务器被配置于所述物理机中;
第一读取单元,用于在各个场景服务器执行进程启动之前,读取所述资源配置文件中的所述预设的键值和所述索引名称;
创建单元,用于根据所述预设的键值向操作系统请求内存空间创建共享内存;
共享单元,用于从磁盘中将所述索引名称所对应的资源数据加载到所述共享内存,向同一台物理机上的各个场景服务器的进程共享所述资源数据。
9.根据权利要求8所述的服务器,其特征在于,
所述共享单元,具体用于当各个场景服务器的进程通过所述预设的键值访问所述共享内存时,将所述资源数据映射到各个场景服务器的内存空间。
10.根据权利要求8所述的服务器,其特征在于,所述服务器还包括:
设置单元,用于设置一个信号量并创建与所述信号量对应的信号量键值,所述信号量的初始值与所述物理机上所运行的场景服务器的进程的个数相同;
存储单元,用于将所述信号量根据所述信号量键值存储至操作系统的内存空间,以便所述各个场景服务器的进程根据所述信号量键值从所述操作系统的内存空间检测所述信号量,当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
11.一种场景服务器,其特征在于,所述服务器包括:
启动单元,用于执行进程启动;
第二读取单元,用于读取所述资源加载服务器预先配置的资源配置文件中的所述预设的键值,所述资源配置文件包括预设的键值和资源数据的索引名称,所述资源数据为同一个物理机的各个场景服务器的进程所需的相同的逻辑数据,所述资源加载服务器被配置于所述物理机中;
访问单元,用于根据所述预设的键值访问共享内存,所述共享内存是所述资源加载服务器根据所述预设的键值向操作系统请求内存空间创建的,所述共享内存存储有资源加载服务器根据所述索引名称从磁盘中加载的所述资源数据;
映射单元,用于将所述共享内存中的所述资源数据镜像到内存空间。
12.根据权利要求11所述的服务器,其特征在于,所述启动单元包括:
接收子单元,用于接收启动指令;
第一启动子单元,用于执行进程启动。
13.根据权利要求11所述的服务器,其特征在于,所述启动单元包括:
获取子单元,用于从所述资源加载服务器获得信号量键值;
检测子单元,用于每隔预定时间根据所述信号量键值从操作系统的内存空间检测所述信号量;
第二启动子单元,用于当所述信号量存在,且对所述信号量执行wait操作成功后,执行进程启动。
14.一种资源数据共享系统,其特征在于,
所述系统包括权利要求8-10任意一项所述的资源加载服务器以及多个权利要求11-13任意一项所述的场景服务器。
CN201410132001.1A 2014-04-02 2014-04-02 一种资源数据共享方法、服务器及系统 Active CN104980454B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410132001.1A CN104980454B (zh) 2014-04-02 2014-04-02 一种资源数据共享方法、服务器及系统
US15/300,062 US10455003B2 (en) 2014-04-02 2015-03-31 Method, server, and system for sharing resource data
PCT/CN2015/075446 WO2015149673A1 (en) 2014-04-02 2015-03-31 Method, server, and system for sharing resource data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410132001.1A CN104980454B (zh) 2014-04-02 2014-04-02 一种资源数据共享方法、服务器及系统

Publications (2)

Publication Number Publication Date
CN104980454A CN104980454A (zh) 2015-10-14
CN104980454B true CN104980454B (zh) 2019-08-06

Family

ID=54239394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410132001.1A Active CN104980454B (zh) 2014-04-02 2014-04-02 一种资源数据共享方法、服务器及系统

Country Status (3)

Country Link
US (1) US10455003B2 (zh)
CN (1) CN104980454B (zh)
WO (1) WO2015149673A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713388B (zh) * 2015-11-13 2021-03-30 创新先进技术有限公司 一种突发业务处理方法及装置
CN105511851B (zh) * 2015-11-20 2019-06-14 南京中科创达软件科技有限公司 一种扩展安卓系统资源加载的方法
CN105550354B (zh) * 2015-12-29 2019-05-31 珠海金山网络游戏科技有限公司 一种配置文件管理的方法和系统
CN107040396A (zh) * 2016-02-03 2017-08-11 博雅网络游戏开发(深圳)有限公司 配置信息获取方法和装置
CN108170489A (zh) * 2016-12-07 2018-06-15 腾讯科技(深圳)有限公司 一种快速加载资源的方法及装置
CN106681836B (zh) * 2016-12-28 2021-03-05 华为技术有限公司 一种信号量的创建方法及装置
CN107463512B (zh) * 2017-06-26 2020-11-13 上海高顿教育培训有限公司 分布式高速存储系统的数据更新方法
CN107423425B (zh) * 2017-08-02 2020-08-14 德比软件(上海)有限公司 一种对k/v格式的数据快速存储和查询方法
CN109582458A (zh) * 2017-09-28 2019-04-05 北京国双科技有限公司 资源信息加载方法、装置、存储介质及处理器
CN110858162B (zh) * 2018-08-24 2022-09-23 华为技术有限公司 内存管理方法及装置、服务器
CN110870976B (zh) * 2018-09-03 2023-04-07 网易(杭州)网络有限公司 一种数据处理的方法及装置
CN109151216B (zh) * 2018-10-30 2021-01-26 努比亚技术有限公司 应用启动方法、移动终端、服务器及计算机可读存储介质
CN111131362A (zh) * 2018-11-01 2020-05-08 昆盈企业股份有限公司 共享配置文件的方法
CN110292772B (zh) * 2019-07-23 2023-01-24 上海网之易璀璨网络科技有限公司 游戏中合成游戏地图的方法及装置
CN111084983B (zh) * 2019-11-25 2021-12-14 腾讯科技(深圳)有限公司 一种云游戏服务方法、装置、设备及存储介质
CN111177102B (zh) * 2019-12-25 2022-07-19 苏州浪潮智能科技有限公司 一种实现hdfs启动加速的优化方法及系统
CN111736973A (zh) * 2020-06-24 2020-10-02 北京奇艺世纪科技有限公司 一种服务启动方法、装置、服务器及存储介质
CN112114947B (zh) * 2020-09-17 2024-02-02 石家庄科林电气股份有限公司 一种基于边缘计算网关的系统资源调度方法
CN112668000B (zh) * 2021-01-04 2023-06-13 新华三信息安全技术有限公司 一种配置数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120317A (zh) * 2005-02-17 2008-02-06 英特尔公司 将存储器从一个虚拟机动态再分配到另一个的方法、装置和系统
CN102955817A (zh) * 2011-08-30 2013-03-06 腾讯数码(深圳)有限公司 一种基于共享内存的对象管理与恢复方法及系统
CN103514053A (zh) * 2013-09-22 2014-01-15 中国科学院信息工程研究所 一种基于共享内存的进程间通讯方法
CN103605577A (zh) * 2013-12-04 2014-02-26 广州博冠信息科技有限公司 跨进程的资源共享方法和设备
CN103645959A (zh) * 2013-12-18 2014-03-19 北京直真科技股份有限公司 电信实时系统多进程共享内存池交互组件和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
EP1487385A2 (en) * 2002-03-19 2004-12-22 The Board of Trustees for the University of Illinois System and method for prosthetic fitting and balancing in joints
US7117481B1 (en) * 2002-11-06 2006-10-03 Vmware, Inc. Composite lock for computer systems with multiple domains
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4841297B2 (ja) * 2006-02-24 2011-12-21 京セラ株式会社 無線通信端末及びサーバー
US9116724B2 (en) * 2009-05-15 2015-08-25 Red Hat, Inc. Stateless virtual machine
JP5440067B2 (ja) * 2009-09-18 2014-03-12 富士通株式会社 キャッシュメモリ制御装置およびキャッシュメモリ制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120317A (zh) * 2005-02-17 2008-02-06 英特尔公司 将存储器从一个虚拟机动态再分配到另一个的方法、装置和系统
CN102955817A (zh) * 2011-08-30 2013-03-06 腾讯数码(深圳)有限公司 一种基于共享内存的对象管理与恢复方法及系统
CN103514053A (zh) * 2013-09-22 2014-01-15 中国科学院信息工程研究所 一种基于共享内存的进程间通讯方法
CN103605577A (zh) * 2013-12-04 2014-02-26 广州博冠信息科技有限公司 跨进程的资源共享方法和设备
CN103645959A (zh) * 2013-12-18 2014-03-19 北京直真科技股份有限公司 电信实时系统多进程共享内存池交互组件和方法

Also Published As

Publication number Publication date
WO2015149673A1 (en) 2015-10-08
CN104980454A (zh) 2015-10-14
US10455003B2 (en) 2019-10-22
US20170149866A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
CN104980454B (zh) 一种资源数据共享方法、服务器及系统
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
CN100487659C (zh) 用于优化分段资源分配的方法和设备
US8904386B2 (en) Running a plurality of instances of an application
US20180189109A1 (en) Management system and management method for computer system
CN110430100A (zh) 网络连通性探测方法和装置
KR102236419B1 (ko) 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체
US8601250B2 (en) Control over loading of device drivers for an individual instance of a PCI device
KR20170132296A (ko) 연합 기반 메모리 관리
CN111901294A (zh) 一种构建在线机器学习项目的方法及机器学习系统
CN103620561A (zh) n路运行时互操作调试
CN105074671A (zh) 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统
CN103180834B (zh) 自动操作系统测试框架
US7921230B2 (en) USB devices pre-configuration for KVM switch
US9588788B1 (en) Optimized communication between program components executing in virtual machines
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
Shan et al. KubeAdaptor: A docking framework for workflow containerization on Kubernetes
CN112860506B (zh) 监控数据的处理方法、装置、系统和存储介质
CN108595244A (zh) 虚拟机内外通信方法、虚拟机、物理主机及虚拟机系统
JP5914699B2 (ja) マイグレーションによるデータベースの作業負荷バランシング
US20150058366A1 (en) Management of records for an electronic device
US9766948B2 (en) Selecting processor micro-threading mode
CN109062580B (zh) 一种虚拟化环境部署方法和部署装置
US7152189B2 (en) Testing distributed services by using multiple boots to timeshare a single computer
US8689230B2 (en) Determination of running status of logical processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant