CN104796448A - 网络系统的数据处理方法和装置 - Google Patents

网络系统的数据处理方法和装置 Download PDF

Info

Publication number
CN104796448A
CN104796448A CN201410028750.XA CN201410028750A CN104796448A CN 104796448 A CN104796448 A CN 104796448A CN 201410028750 A CN201410028750 A CN 201410028750A CN 104796448 A CN104796448 A CN 104796448A
Authority
CN
China
Prior art keywords
packet
fore device
module
socket interface
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.)
Granted
Application number
CN201410028750.XA
Other languages
English (en)
Other versions
CN104796448B (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 CN201410028750.XA priority Critical patent/CN104796448B/zh
Priority to PCT/CN2015/071110 priority patent/WO2015109993A1/en
Publication of CN104796448A publication Critical patent/CN104796448A/zh
Priority to US15/171,138 priority patent/US10569169B2/en
Application granted granted Critical
Publication of CN104796448B publication Critical patent/CN104796448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Abstract

本申请公开了一种网络系统的数据处理方法和装置,包括:录制模块在所述网络系统的前端装置的套接字(socket)接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件;回放模块断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。利用本发明,可以用较简单的处理方式实现网络系统的示范(Demo)技术,降低系统复杂度,同时降低对存储空间的占用,提高通用性。

Description

网络系统的数据处理方法和装置
技术领域
本申请涉及计算机数据处理技术领域,尤其涉及一种网络系统的数据处理方法和装置。
背景技术
网络系统包括前端装置和服务器,所述前端装置用于与用户进行人机交互和相关的处理,服务器用于进行复杂的业务逻辑处理,前端装置和服务器之间通过通信网络进行交互通信。网络系统的应用有许多种,其中网络游戏系统就是一种典型的网络系统。
网络游戏(Online Game)又称“在线游戏”,是指以互联网为传输媒介,以游戏服务器和用户设备(如计算机、智能手机、平板电脑等)为处理终端,以游戏客户端或网页为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的多人在线游戏。
目前的网络系统中,出现了一种示范(Demo)技术。所谓Demo技术就是录制网络系统的前端输入输出接口(如显示模块和音频输出模块等)所展现输出的信息如图像、声音、文件等,并在结束联网后在前端的输入输出接口回放所录制的信息。例如在网络游戏系统中,所述Demo技术就是记录玩家游戏过程的录像及其文件的技术,一般可以支持录制和重放功能。
现有网络游戏的Demo技术的技术方案主要包括两种:
图1为现有技术一通过视频录制方案实现Demo技术的一种示意图。参见图1,该现有技术一是一种网络游戏录像系统,其技术方案是在游戏界面显示端即游戏客户端,采用录制游戏图像数据的方法采集游戏界面显示模块所显示的游戏图像数据,并保存成视频文件,从而记录玩家的游戏过程。所述视频文件格式如avi、mpeg等,这些视频文件可以在各种现有的视频播放设备(可以是己方视频播放设备,也可以是第三方视频播放设备)上重播,也可以在播放时控制播放的进度和速度。
上述现有技术一的缺点是:使用视频录制的方式录制的视频文件,无法在原始游戏程序中使用,因此无法准确还原网络游戏当时的场景。视频文件数据量非常大,并且一般都会经过图形图像压缩,游戏图像往往会失真或者模糊。因此其存储空间占用量大、且游戏图像质量也不高。
图2为现有技术二通过记录网络游戏上层数据的方式实现Demo技术的一种示意图。参见图2,该现有技术二是采用Demo录制/播放系统,从网络游戏客户端的游戏界面显示模块采集游戏显示数据,从输入设备采集玩家的操作数据,从网络游戏客户端的上层游戏逻辑模块采集游戏事件等数据,所述游戏事件数据比如游戏触发的隐藏情节数据、或者使用的道具的功能及效果数据、玩家的状态及效果数据等等,然后将所述玩家操作数据和游戏事件等数据保存成游戏Demo文件。待进行回放时,可以将该游戏Demo文件载入原游戏客户端进行运行播放,从而准确还原游戏当时的场景,也可以控制播放时的进度和速度。
上述现有技术二的缺点是:这种技术需要记录游戏上层数据,包括游戏界面显示模块的操作数据和上层游戏逻辑模块的游戏事件数据,因此需要录制的内容庞杂,系统设计比较复杂,保存的Demo文件也很大,而且录制和播放的实现必须涉及到具体的游戏客户端的处理逻辑,往往只能是一款游戏对应一款Demo录制/播放系统,不能通用。
上述现有技术的缺点不但存在于网络游戏系统中,在现有的其它网络系统中,也同样存在上述技术问题。
发明内容
有鉴于此,本发明的主要目的是提供一种网络系统的数据处理方法和装置,可以用较简单的处理方式实现网络系统的Demo技术,降低系统复杂度,同时降低对存储空间的占用,提高通用性。
本发明的技术方案是这样实现的:
一种网络系统的数据处理方法,包括录制过程和回放过程,其中:
所述录制过程包括:在所述网络系统的前端装置的套接字socket接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件;
所述回放过程包括:断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
一种网络系统的数据处理装置,包括:
录制模块,用于在所述网络系统的前端装置的socket接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件;
回放模块,用于断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
与现有技术相比,本发明实施方式基于网络系统的处理过程与服务器实时交互的特点,从前端装置的socket接口处采集前端装置与服务器之间传输的数据包,存入到二进制文件中,在回放时断开前端装置与服务器的传输通讯,解析出所述二进制文件中的数据包越过socket接口将数据包发送到前端装置的上层处理逻辑模块中,从而可以重现前端装置与服务器的交互数据,由于前端装置的上层处理逻辑是依赖与服务器的网络交互数据来执行相应的逻辑处理并输出给人机交互接口相应的信息(如画面声音等),那么本发明就可以实现网络系统的Demo技术,即录制前端装置输入输出装置的信息,并在联网结束后进行回放,同时处理方法较现有技术简单,由于只需要存储联网交互的数据包,不需存储耗费空间的影像数据,且所存储的是体积较小的二进制文件,因此所需要的存储空间较小,降低了对存储空间的占用;同时,本发明的处理过程不需要改动前端装置的上层逻辑处理模块,因此可以适用于至少两种以上类型的网络系统,提高了通用性。
本发明尤其可以应用在网络游戏系统中,实现网络游戏系统的Demo功能。
附图说明
图1为现有技术一通过视频录制方案实现Demo技术的一种示意图;
图2为现有技术二通过记录网络游戏上层数据的方式实现Demo技术的一种示意图;
图3为本发明所述网络系统的数据处理方法的一种流程示意图;
图4为本发明所述的一种二进制文件的数据结构示意图;
图5为本发明所述的网络系统的数据处理装置的一种组成示意图;
图6为本发明所述网络系统的数据处理装置的又一种组成示意图;
图7为本发明在基于客户端/服务器结构的网络游戏系统中实现Demo技术的一种示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明所述的技术方案适用于任何包括前端装置和服务器的网络系统。所述前端装置通常是指与用户交互端,具体可以通过专门的客户端(Client)实现,也可以通过网络浏览器(Browser)来访问服务器的方式实现,即可以采用浏览器/服务器(B/S)结构,也可以采用客户端/服务器(C/S)结构,但是在网络信息飞速发展的年代,系统架构可能还会发展和变化,但不论是什么架构,本发明的核心思想和核心的功能模块是相同的,只是执行具体功能的模块的所处位置不同而已。
本文中的优选实施例中,以基于客户端/服务器结构的网络系统为例对本发明进行说明。
图3为本发明所述网络系统的数据处理方法的一种流程示意图。参见图3,该方法主要包括录制过程和回放过程。其中:
步骤301、所述录制过程包括:在所述网络系统的前端装置的套接字(socket)接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件。
步骤302、所述回放过程包括:断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
所述socket通常也称作"套接字",用于描述IP地址和端口,是程序内用于网络通信的底层接口,网络的原始数据都通过socket接口发送和接收。
本发明中,所述的二进制文件可以是预先建立好的二进制文件,所述录制过程中可以直接向该二进制文件中记录所采集的数据包;也可以是在录制时新建立的二进制文件。
在一种优选实施例中,在所述录制过程开始时创建所述二进制文件,且为该二进制文件添加文件头部,该文件头部中至少包括录制时间、用户和网络系统的属性信息(例如用户的标识如玩家名称、网络系统的标识如游戏名称)、文件头部的长度信息,利用所述文件头部中的信息为该二进制文件命名。这样,对于执行了多个录制过程的用户来讲,就可以用所述录制时间、用户和网络系统的属性信息来区分多个二进制文件,每个二进制文件对应了一种录制场景。在回放时,用户根据所述二进制文件名来选择对应的回放的录制场景。
在一种优选实施例的具体实现中,所述在所述网络系统的前端装置的socket接口处采集前端装置与服务器之间传输的数据包,具体为:在socket接口与上层处理逻辑模块相接的一侧,采集前端装置与服务器之间传输的数据包。在这一侧所述上层处理逻辑模块向服务器发送的数据包需要进入socket接口,在socket接口中转化成符合传输层协议如传输控制协议/因特网互联协议(TCP/IP协议)的数据包,然后从socket接口输出到传输层,再经过底层通讯层传输给服务器;从服务器返回的数据包也需要先进入socket接口,对基于传输层协议的数据包解封装,然后从socket接口输出到上层处理逻辑模块。那么本发明此处所要采集的数据包就是从socket接口返回给上层逻辑处理模块的数据包,或者socket接口返回给上层逻辑处理模块的数据包和上层逻辑处理模块发给socket接口的数据包。
在一种优选实施例中,本录制过程中,所述采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,具体包括:截获通过socket传输的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包;然后,将所复制的每一个数据包生成一个数据段,所述数据段包括段头和段体,所述段头包括本数据段的长度信息,所述段体内为数据包,按照时间顺序依次将所述数据段记录到二进制文件中。
如图4为本发明所述的一种二进制文件的数据结构示意图。参见图4,该二进制文件也称为Demo文件,每个Demo文件分为两个部分:文件头部和文件体,该Demo文件首先包括文件头部,该文件头部包括文件头部的长度信息、录制时间、用户标识如玩家名称、网络系统的标识如游戏名称等信息;文件头部之后为文件体,其中包括若干个数据段,每一个数据段对应保存一个socket接口收到的数据包,每一个数据段都包括段头和段体,段头其实就是一个数据段的起始标识,其中保存数据段的基本信息,比如段的长度、段体的长度、Socket接口收到对应的该数据包的准确时间,程序可以根据段头识别出本数据段的开始位置,然后根据段头中的长度信息识别出段的结束位置;段体用于存放一个具体的数据包的内容,如数据包的长度和数据包的二进制字节内容。所述数据段是依据数据包传输的时间顺序记录到二进制文件中,因此所述二进制文件中的数据段的前后顺序即表示对应数据包的传输顺序,因此按照这种顺序记录并在后续回放过程中读取,就可以保证准确地模拟出前端装置与服务器的数据交互过程,使得上层处理逻辑模块可以运行相应的处理逻辑,从而向前端输入输出接口如显示模块和音频输出模块输出与录制时相同的图像和/或声音,从而实现回放功能。
在本发明的一种优选实施例中,在录制过程中所要采集的数据包可以仅仅是socket接口传输给前端装置的上层逻辑处理模块的数据包。在所述回放过程中,对解析出的socket接口传输给所述前端装置上层逻辑处理模块的数据包,就可以越过socket接口直接传输给上层的逻辑处理模块,这样对于上层的逻辑处理模块来讲,本发明的回放过程其实模拟了socket的数据返回过程,从而使得不经过多余的逻辑处理就可以使上层逻辑处理模块根据服务器返回的数据进行逻辑处理,进而回放输出对应的前端信息(包括画面信息和声音信息等)。
在另一种优选实施例中,在录制过程中所要采集的数据包可以是socket接口返回给上层逻辑处理模块的数据包,以及上层逻辑处理模块发给socket接口的数据包。即在该优选实施例中,所述截获通过socket传输的数据包具体为:截获所述前端装置的上层逻辑处理模块发送给socket接口的数据包、以及socket接口传输给所述前端装置上层逻辑处理模块的数据包。
且在该实施例中,该方法进一步包括:在回放过程中,对于解析出的所述前端装置的上层逻辑处理模块发送给socket接口的数据包,则解析出该数据包中的操作数据,以模拟人机交互接口(通常是显示输入模块和键盘鼠标等输入设备)的输入方式,将所述操作数据输入到所述前端装置的上层处理逻辑模块中;对于解析出的socket接口传输给所述前端装置的数据包,则输入到所述前端装置的上层处理逻辑模块中。这样,不但可以根据服务器返回的数据进行逻辑处理从而回放输出对应的前端信息(包括画面信息和声音信息等),而且还可以回放由于用户操作而导致的前端信息的改变(包括画面信息和声音信息等)。
与上述方法对应,本发明还公开了一种网络系统的数据处理装置,图5为本发明所述的网络系统的数据处理装置的一种组成示意图。参见图5,该数据处理装置500包括:
录制模块501,用于在所述网络系统的前端装置的socket接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件。
回放模块502,用于断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
与上述方法的实施例对应,在本装置的一种实施例中,在所述网络系统的前端装置的socket接口处,具体为socket接口与上层处理逻辑模块相接的一侧。
图6为本发明所述网络系统的数据处理装置的又一种组成示意图。
参见图6,与上述方法的实施例对应,在本装置的一种优选实施例中,所述录制模块501具体包括:
截获复制子模块511,用于截获通过socket传输的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包。
数据写入子模块512,用于将所复制的每一个数据包生成一个数据段,所述数据段包括段头和段体,所述段头包括本数据段的长度信息,所述段体内为数据包,按照时间顺序依次将所述数据段记录到二进制文件中。
与上述方法的实施例对应,在本装置的一种优选实施例中,所述截获复制子模块511具体用于:截获所述socket接口传输给所述前端装置上层逻辑处理模块的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包。
与上述方法的实施例对应,在本装置的一种优选实施例中,所述截获复制子模块511具体用于:截获所述前端装置的上层逻辑处理模块发送给socket接口的数据包、以及socket接口传输给所述前端装置上层逻辑处理模块的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包;且所述回放模块502进一步包括操作数据解析子模块,用于对于解析出的所述前端装置的上层逻辑处理模块发送给socket接口的数据包,则解析出该数据包中的操作数据,以模拟人机交互接口的输入方式,将所述操作数据输入到所述前端装置的上层处理逻辑模块中;对于解析出的socket接口传输给所述前端装置的数据包,则输入到所述前端装置的上层处理逻辑模块中。
与上述方法的实施例对应,在本装置的一种优选实施例中,所述录制模块501进一步包括文件创建子模块,用于:在所述录制过程开始时创建所述二进制文件,且为该二进制文件添加文件头部,该文件头部中至少包括录制时间、用户和网络系统的属性信息(例如用户的标识如玩家名称、网络系统的标识如游戏名称)、文件头部的长度信息,利用所述文件头部中的信息为该二进制文件命名。
与上述方法的实施例对应,在本装置的一种优选实施例中,所述录制模块501进一步包括录制人机交互接口,用于接收输入的录制指令(如为用户提供一个录制按钮,可以包括开始、暂停、结束、放弃等按钮,用户点击所述按钮就输入了录制指令),根据所述录制指令触发所述录制模块开始、暂停、结束、或放弃所述录制过程;
与上述方法的实施例对应,在本装置的一种优选实施例中,所述回放模块502进一步包括回放人机交互接口,用于接收输入的回放指令,根据所述回放指令选择所述二进制文件并将该二进制文件输入到所述回放模块,触发所述回放模块进行开始、暂停、结束所述回放过程。
本发明的处理过程不需要改动前端装置的上层逻辑处理模块,因此可以适用于多种类型的网络系统,通用性高。
本发明尤其可以应用在网络游戏系统中,实现网络游戏系统的Demo功能。当然本发明也可以应用在其它利用客户端与网络服务器进行交互的网络系统中,从而实现对用户客户端操作过程和客户端展示信息如画面和/或声音的录制和回放功能。
在本发明所述方法和装置的一种优选实施例中,所述网络系统为网络游戏系统,所述前端装置为网络游戏前端装置,所述服务器为网络游戏服务器。下面以基于客户端/服务器结构的网络游戏系统为例对本发明进行说明。
图7为本发明在基于客户端/服务器结构的网络游戏系统中实现Demo技术的一种示意图。参见图7,本发明可以在网络游戏客户端(即网络系统的前端装置)插入本发明所述方法和装置的功能代码,在游戏客户端内增加两个按钮或开关,即录制Demo和播放Demo,并实现其相应功能。
一、录制Demo过程:
如果玩家选择了录制Demo,则开启Demo录制功能,在网络游戏开始时自动以当前时间为名称创建一个二进制文件,用以保存Demo录制的数据,在文件头部保留游戏Demo基本信息,比如录制时间、玩家名称、游戏头部大小等信息。
当客户端使用socket发送或者接收网络数据时,本发明的方法或装置会将所发送的数据的精确时间(毫秒)、数据长度和数据本身,以字节为基本单位组成一个数据段。每个数据段至少会包含上述时间(毫秒)、数据长度和数据本身这三个关键信息,如果需要保存数据包的其他内容,也可以附带在当前数据段中,最后在段的开始处插入这个段的总长度,写入该二进制文件中。Socket每发送或者接收一次数据包,都会形成一个独立的数据段然后写入Demo文件中。
这个过程直到玩家退出游戏,或者关闭了Demo录制功能为止。所述Demo文件的数据结构如图4所示。
下面举两个更为具体的例子来说明所述Demo录制过程。
例子(一):某网络赛车游戏。
在游戏内选择某个赛场的界面中,可以有“录制比赛录像”和“播放比赛录像”两个按钮,在点击“录制比赛录像”按钮后,Demo录制功能启动,创建Demo文件,并保存游戏名称、本机玩家的名称、头像等信息到文件头部;当玩家进入某场赛车比赛并开始赛车游戏时,本发明的数据处理装置500会保存玩家从进入游戏到该场比赛结束并退出比赛过程中socket接口收到的所有的网络数据包,这些数据包中会涉及到赛车游戏的业务数据,比如本场比赛所有赛车手的名称、头像、车型、状态、即时位置、拾取及使用了何种道具等等,这些都会在这些数据包中存在。但因为本发明的数据处理方法和装置的Demo录制功能不涉及网络包的处理逻辑,故不需要包含这些网络包的上层处理逻辑,也不保存这些上层处理后的数据,仅将socket收到的原始数据包拷贝出来并保存到文件中;最后,当本场比赛结束时,Demo录制完成,可以提示玩家给Demo文件命名等。
例子(二):某网络纸牌游戏
在游戏程序中的选择玩法界面中(没有开始打牌的界面)中,同样有“录制录像”和“播放录像”两个按钮。在点击了“录制录像按钮”后,本发明所述的Demo录制功能启动,创建Demo文件,并保存游戏名称、玩家名称、头像、金币数量等;当玩家进入某个玩法的房间后,与其他玩家组桌,此时对局开始,服务器会下发含有发本家的手牌、底牌、叫主、反底、各玩家每一轮出牌等信息的数据包,socket接口接收到这些数据包并交给上层游戏逻辑模块,本发明的数据处理装置500会拷贝这些数据包,并保存到Demo文件中;最后,当本局游戏结束后,或者玩家退出游戏返回到前一个界面(选择玩法界面)时,Demo录制完成,可以提示玩家给Demo文件命名等。
二、回放Demo过程:
如果玩家选择了播放Demo,则会打开Demo保存的目录,列出之前保存的Demo文件。如果玩家选择了某个Demo文件并确定,会载入该Demo文件的数据,并自动进入游戏并关闭网络,将Demo中的每个数据段中的数据包内容解析出来。发送的数据包会被丢弃,因为不需要向服务器发送数据,而仅需要将其中收到的服务器的回包越过socket接口直接传递给上层游戏逻辑。每个回包按照数据段中保存的时间顺序依次传递,因为上层游戏逻辑本身就能够处理Socket包,所以将之前记录的回包传递上去,也依然会被上层游戏逻辑正确处理,无缝接入。最终上层游戏逻辑会正确处理回包,并通过显示模块和音频输出模块输出对应的画面和声音,从而回放所录制的画面和声音。
因此,利用本发明,可以在网络游戏运行时抓取Socket接口处的网络数据包,并记录成Demo文件,可以准确还原游戏当时的场景,且系统实现简单,Demo文件小,且不需要进行协议包的加密和解密,完全脱离上层游戏逻辑,故可以通用于各种网络游戏的Demo录制,其中包括但不限于个人计算机上的网络游戏、网页游戏及手机游戏等。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种网络系统的数据处理方法,其特征在于,包括录制过程和回放过程,其中:
所述录制过程包括:在所述网络系统的前端装置的套接字socket接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件;
所述回放过程包括:断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
2.根据权利要求1所述的方法,其特征在于,所述在所述网络系统的前端装置的socket接口处,具体为socket接口与上层处理逻辑模块相接的一侧。
3.根据权利要求2所述的方法,其特征在于,所述采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,具体包括:
截获通过socket传输的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包;
将所复制的每一个数据包生成一个数据段,所述数据段包括段头和段体,所述段头包括本数据段的长度信息,所述段体内为数据包,按照时间顺序依次将所述数据段记录到二进制文件中。
4.根据权利要求3所述的方法,其特征在于,所述截获通过socket传输的数据包,具体为:截获socket接口传输给所述前端装置的上层逻辑处理模块的数据包。
5.根据权利要求3所述的方法,其特征在于,
所述截获通过socket传输的数据包,具体为:截获所述前端装置的上层逻辑处理模块发送给socket接口的数据包、以及socket接口传输给所述前端装置的数据包;
且该方法进一步包括:在回放过程中,对于解析出的所述前端装置的上层逻辑处理模块发送给socket接口的数据包,则解析出该数据包中的操作数据,以模拟人机交互接口的输入方式,将所述操作数据输入到所述前端装置的上层处理逻辑模块中;对于解析出的socket接口传输给所述前端装置的数据包,则输入到所述前端装置的上层处理逻辑模块中。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
在所述录制过程开始时创建所述二进制文件,且为该二进制文件添加文件头部,该文件头部中至少包括录制时间、用户和网络系统的属性信息、文件头部的长度信息,利用所述文件头部中的信息为该二进制文件命名。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述网络系统为网络游戏系统,所述前端装置为网络游戏前端装置,所述服务器为网络游戏服务器。
8.一种网络系统的数据处理装置,其特征在于,包括:
录制模块,用于在所述网络系统的前端装置的socket接口处,采集前端装置与服务器之间传输的数据包,将所采集的数据包按照时间顺序依次记录到二进制文件中,保存所述二进制文件;
回放模块,用于断开所述前端装置与服务器的传输通讯,按照时间顺序依次解析所述二进制文件中的数据包,越过socket接口,将所述数据包发送到所述前端装置的上层处理逻辑模块中。
9.根据权利要求8所述的装置,其特征在于,在所述网络系统的前端装置的socket接口处,具体为socket接口与上层处理逻辑模块相接的一侧。
10.根据权利要求8所述的装置,其特征在于,所述录制模块具体包括:
截获复制子模块,用于截获通过socket传输的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包;
数据写入子模块,用于将所复制的每一个数据包生成一个数据段,所述数据段包括段头和段体,所述段头包括本数据段的长度信息,所述段体内为数据包,按照时间顺序依次将所述数据段记录到二进制文件中。
11.根据权利要求10所述的装置,其特征在于,所述截获复制子模块具体用于:截获所述前端装置的上层逻辑处理模块发送给socket接口的数据包、以及socket接口传输给所述前端装置的上层逻辑处理模块的数据包,先复制所截获的数据包,再按照该数据包原有方向继续传输该数据包;
且所述回放模块进一步包括操作数据解析子模块,用于对于解析出的所述前端装置的上层逻辑处理模块发送给socket接口的数据包,则解析出该数据包中的操作数据,以模拟人机交互接口的输入方式,将所述操作数据输入到所述前端装置的上层处理逻辑模块中;对于解析出的socket接口传输给所述前端装置的数据包,则输入到所述前端装置的上层处理逻辑模块中。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述网络系统为网络游戏系统,所述前端装置为网络游戏前端装置,所述服务器为网络游戏服务器。
CN201410028750.XA 2014-01-22 2014-01-22 网络系统的数据处理方法和装置 Active CN104796448B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410028750.XA CN104796448B (zh) 2014-01-22 2014-01-22 网络系统的数据处理方法和装置
PCT/CN2015/071110 WO2015109993A1 (en) 2014-01-22 2015-01-20 Data processing method and apparatus for network system
US15/171,138 US10569169B2 (en) 2014-01-22 2016-06-02 Data processing method and apparatus for network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410028750.XA CN104796448B (zh) 2014-01-22 2014-01-22 网络系统的数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN104796448A true CN104796448A (zh) 2015-07-22
CN104796448B CN104796448B (zh) 2019-02-12

Family

ID=53560958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410028750.XA Active CN104796448B (zh) 2014-01-22 2014-01-22 网络系统的数据处理方法和装置

Country Status (3)

Country Link
US (1) US10569169B2 (zh)
CN (1) CN104796448B (zh)
WO (1) WO2015109993A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106039710A (zh) * 2016-06-28 2016-10-26 网易(杭州)网络有限公司 游戏录制处理方法和装置
CN107040528A (zh) * 2017-03-31 2017-08-11 合肥民众亿兴软件开发有限公司 一种通信网络系统
CN107704567A (zh) * 2017-09-29 2018-02-16 郑州云海信息技术有限公司 一种二进制文件的解析方法、装置、设备及存储介质
CN110083675A (zh) * 2019-04-19 2019-08-02 宝能汽车有限公司 文本处理方法及装置
CN110324297A (zh) * 2018-03-30 2019-10-11 武汉斗鱼网络科技有限公司 一种消息处理方法及装置
CN113923177A (zh) * 2021-09-30 2022-01-11 完美世界(北京)软件科技发展有限公司 即时通讯的语音处理系统及方法、装置
WO2022127272A1 (zh) * 2020-12-14 2022-06-23 完美世界征奇(上海)多媒体科技有限公司 视频生成方法和装置、电子设备和存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102626155B1 (ko) 2015-03-06 2024-01-17 비욘드스프링 파마수티컬스, 인코포레이티드. Ras 돌연변이와 관련된 암의 치료 방법
US10912748B2 (en) 2016-02-08 2021-02-09 Beyondspring Pharmaceuticals, Inc. Compositions containing tucaresol or its analogs
SG11201810872UA (en) * 2016-06-06 2019-01-30 Beyondspring Pharmaceuticals Inc Composition and method for reducing neutropenia
EP3565812B1 (en) 2017-01-06 2023-12-27 Beyondspring Pharmaceuticals, Inc. Tubulin binding compounds and therapeutic use thereof
JP2020514412A (ja) 2017-02-01 2020-05-21 ビヨンドスプリング ファーマシューティカルズ,インコーポレイテッド 好中球減少症の低減方法
WO2019147615A1 (en) 2018-01-24 2019-08-01 Beyondspring Pharmaceuticals, Inc. Composition and method for reducing thrombocytopenia via the administration of plinabulin
US11500969B2 (en) * 2020-01-03 2022-11-15 Microsoft Technology Licensing, Llc Protecting commercial off-the-shelf program binaries from piracy using hardware enclaves

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1287427A (zh) * 1999-11-05 2001-03-14 深圳市中兴通讯股份有限公司 一种基于消息录制回放的模拟网元测试方法
CN1805362A (zh) * 2005-11-29 2006-07-19 珠海市西山居软件有限公司 一种游戏录像回放方法及装置
CN1862553A (zh) * 2006-06-02 2006-11-15 北京金山数字娱乐科技有限公司 游戏录像及回放的方法及系统
CN101059823A (zh) * 2006-04-19 2007-10-24 腾讯科技(深圳)有限公司 网络休闲游戏录放方法
CN101827082A (zh) * 2010-02-09 2010-09-08 蓝盾信息安全技术股份有限公司 记录及回放用户的桌面操作信息的方法、系统及设备
US20120072451A1 (en) * 2010-09-16 2012-03-22 Disney Enterprises, Inc. Media playback in a virtual environment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5558339A (en) * 1994-05-05 1996-09-24 Perlman; Stephen G. Network architecture to support recording and playback of real-time video games
US7688823B2 (en) * 2002-06-04 2010-03-30 Alcatel-Lucent Usa Inc. Efficient mechanism for wire-tapping network traffic
US20060159432A1 (en) * 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US9526995B2 (en) * 2006-11-22 2016-12-27 Sony Interactive Entertainment America Llc Video game recording and playback with visual display of game controller manipulation
US7775431B2 (en) * 2007-01-17 2010-08-17 Metrologic Instruments, Inc. Method of and apparatus for shipping, tracking and delivering a shipment of packages employing the capture of shipping document images and recognition-processing thereof initiated from the point of shipment pickup and completed while the shipment is being transported to its first scanning point to facilitate early customs clearance processing and shorten the delivery time of packages to point of destination
US9403090B2 (en) * 2012-04-26 2016-08-02 Riot Games, Inc. Video game system with spectator mode hud
KR101436308B1 (ko) * 2012-11-14 2014-09-03 (주)네오위즈게임즈 게임 리플레이 제공 방법, 이를 수행하는 게임 리플레이 제공 서버 및 이를 저장한 기록 매체
US9426071B1 (en) * 2013-08-22 2016-08-23 Fireeye, Inc. Storing network bidirectional flow data and metadata with efficient processing technique

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1287427A (zh) * 1999-11-05 2001-03-14 深圳市中兴通讯股份有限公司 一种基于消息录制回放的模拟网元测试方法
CN1805362A (zh) * 2005-11-29 2006-07-19 珠海市西山居软件有限公司 一种游戏录像回放方法及装置
CN100375430C (zh) * 2005-11-29 2008-03-12 珠海市西山居软件有限公司 一种游戏录像回放方法及系统
CN101059823A (zh) * 2006-04-19 2007-10-24 腾讯科技(深圳)有限公司 网络休闲游戏录放方法
CN1862553A (zh) * 2006-06-02 2006-11-15 北京金山数字娱乐科技有限公司 游戏录像及回放的方法及系统
CN101827082A (zh) * 2010-02-09 2010-09-08 蓝盾信息安全技术股份有限公司 记录及回放用户的桌面操作信息的方法、系统及设备
US20120072451A1 (en) * 2010-09-16 2012-03-22 Disney Enterprises, Inc. Media playback in a virtual environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106039710A (zh) * 2016-06-28 2016-10-26 网易(杭州)网络有限公司 游戏录制处理方法和装置
CN107040528A (zh) * 2017-03-31 2017-08-11 合肥民众亿兴软件开发有限公司 一种通信网络系统
CN107704567A (zh) * 2017-09-29 2018-02-16 郑州云海信息技术有限公司 一种二进制文件的解析方法、装置、设备及存储介质
CN110324297A (zh) * 2018-03-30 2019-10-11 武汉斗鱼网络科技有限公司 一种消息处理方法及装置
CN110083675A (zh) * 2019-04-19 2019-08-02 宝能汽车有限公司 文本处理方法及装置
CN110083675B (zh) * 2019-04-19 2021-11-30 宝能汽车集团有限公司 文本处理方法及装置
WO2022127272A1 (zh) * 2020-12-14 2022-06-23 完美世界征奇(上海)多媒体科技有限公司 视频生成方法和装置、电子设备和存储介质
CN113923177A (zh) * 2021-09-30 2022-01-11 完美世界(北京)软件科技发展有限公司 即时通讯的语音处理系统及方法、装置
CN113923177B (zh) * 2021-09-30 2023-01-06 完美世界(北京)软件科技发展有限公司 即时通讯的语音处理系统及方法、装置

Also Published As

Publication number Publication date
WO2015109993A1 (en) 2015-07-30
US20160271494A1 (en) 2016-09-22
CN104796448B (zh) 2019-02-12
US10569169B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
CN104796448A (zh) 网络系统的数据处理方法和装置
CN104869467B (zh) 媒体播放中的信息输出方法、装置和系统
US9776085B2 (en) Information processing system, information processing device, server machine, recording medium and information processing method
AU2007244939B2 (en) System and/or method for distributing media content
CN107656957A (zh) 推广内容推送方法、装置、系统及存储介质
US20030088646A1 (en) Random access video playback system on a network
CN103517158B (zh) 一种生成可展示视频批注的视频的方法、装置及系统
CN107360160A (zh) 直播视频与动画融合方法、装置及终端设备
US10929460B2 (en) Method and apparatus for storing resource and electronic device
CN106254941A (zh) 视频处理方法及装置
CN107659831B (zh) 媒体数据处理方法、客户端、及存储介质
CN108512814A (zh) 媒体数据处理方法、装置和系统
EP1896950A2 (en) Serialization of media transfer communications
CN108566561A (zh) 视频播放方法、装置及存储介质
US9757652B2 (en) Information processing system, information processing device, recording medium and information display method
US20170180445A1 (en) Advertisement data acquisition method and electronic equipment
US20170168660A1 (en) Voice bullet screen generation method and electronic device
CN107040808A (zh) 用于视频播放中弹幕图片的处理方法和装置
CN104683726A (zh) 一种网络游戏录像录制及播放方法
US20140364207A1 (en) Information processing system, server machine, information processing device, recording medium and information processing method
CN103873804B (zh) 用于嵌入式nvr的录像回放时间轴与内容同步控制方法
JP2017184841A (ja) 情報処理プログラム、情報処理装置及び情報処理方法
CN106792237A (zh) 一种消息显示方法和系统
US11040278B2 (en) Server device distributing video data and replay data and storage medium used in same
KR20150112113A (ko) 이벤트 처리 기반의 온라인 강의 콘텐츠 관리방법

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