CN116366732A - 数据处理方法、网关模块、电子设备及介质 - Google Patents
数据处理方法、网关模块、电子设备及介质 Download PDFInfo
- Publication number
- CN116366732A CN116366732A CN202310240092.XA CN202310240092A CN116366732A CN 116366732 A CN116366732 A CN 116366732A CN 202310240092 A CN202310240092 A CN 202310240092A CN 116366732 A CN116366732 A CN 116366732A
- Authority
- CN
- China
- Prior art keywords
- format
- server
- request
- client
- message
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 description 40
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种数据处理方法、网关模块、电子设备及介质。方法包括:接收来自客户端的基于HTTP协议的第一格式的请求消息;将所述第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息;将所述第二格式的请求消息发送至服务器;接收来自所述服务器的所述第二格式的响应消息;将所述第二格式的响应消息转换为所述第一格式的响应消息并发送给所述客户端。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、网关模块、电子设备及介质。
背景技术
游戏测试是游戏开发中的一个重要的环节。在游戏开发中能够提供快速、专业的测试可以给游戏玩家提供较佳的体验。
现有的测试工具的数据传输协议及数据格式不能很好地适配于游戏服务器,例如,在游戏测试领域已有许多成熟的测试工具,例如Postman、Jmeter。Postman是基于js语言编写的接口测试工具。Jmeter是基于Java语言编写的纯UI接口和性能测试工具。这些测试工具虽然能够适配于应用广泛的HTTP协议,但是并不能适配于采用其他通信协议的游戏服务器。为了解决该问题,在相关技术中通常需要定制开发专门的测试框架或工具。但是这种方法需要专门的人员长期进行测试框架/工具的维护开发,成本较高,并且自行开发的测试框架/工具功能不足。
发明内容
本申请的主要目的在于提供一种数据处理方法、网关模块、电子设备及介质,能够实现测试工具和服务器之间的适配。
本申请的第一方面公开了一种数据处理方法,基于网关模块实现,所述方法包括:接收来自客户端的基于HTTP协议的第一格式的请求消息;将所述第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息;将所述第二格式的请求消息发送至服务器;接收来自所述服务器的所述第二格式的响应消息;将所述第二格式的响应消息转换为所述第一格式的响应消息并发送给所述客户端。
在上述第一方面的一种可能的实现中,将所述第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息和将所述第二格式的响应消息转换为所述第一格式的响应消息,包括:根据所述第一格式以及所述第二格式的协议编号和协议数据结构的对应关系进行转换。
在上述第一方面的一种可能的实现中,所述第一格式为JSON格式或XML格式,所述第二格式为Protobuf格式或Thrift格式。
在上述第一方面的一种可能的实现中,所述方法还包括,接收来自所述客户端的登录请求;基于所述登录请求中的标头,与所述服务器建立长连接,并将所述登录请求转发至所述服务器;在接收到来自所述服务器的确认登录成功的信息的情况下,创建与所述服务器之间的会话。
在上述第一方面的一种可能的实现中,所述方法还包括,接收来自所述客户端的退出登录请求;将所述退出登录请求转发至所述服务器;销毁所述会话。
在上述第一方面的一种可能的实现中,所述方法还包括,在预定时长内没有收到退出登录请求的情况下,销毁所述会话。
在上述第一方面的一种可能的实现中,所述方法还包括,接收来自所述服务器的推送消息并缓存;在接收到来自客户端的获取所述推送消息的请求的情况下,发送所述推送消息至所述客户端。
本申请的第二方面公开了一种网关模块,包括:数据转换模块,用于将来自客户端的基于HTTP协议的第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息,以及将来自服务器的所述第二格式的响应消息转换为所述第一格式的响应消息;请求转发模块,用于将所述第二格式的请求消息发送至服务器,以及将所述第一格式的响应消息发送给所述客户端。
在上述第二方面的一种可能的实现中,还包括,会话创建模块,用于与所述服务器建立长连接并基于所述长连接创建会话。
在上述第二方面的一种可能的实现中,还包括,缓存模块,用于接收来自所述服务器的推送消息并缓存,以及将缓存的消息发送至所述客户端。
本申请的第三方面公开了一种电子设备,包括存储有计算机可执行指令的存储器和处理器;当所述指令被所述处理器执行时,使得所述设备实施本申请第一方面的方法。
本申请的第四方面公开了一种计算机可读存储介质,计算机可读存储介质存储有一个或多个计算机程序,一个或多个计算机程序被一个或多个处理器执行,使得处理器执行上本申请第一方面的方法。
根据本申请的数据处理方法、网关模块、电子设备及介质,在接收到请求消息之后,将基于HTTP协议的第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息,再将第二格式的请求消息发送给服务器。在从服务器接收响应消息之后,将响应消息的格式转换为第一格式返回。数据处理方法可以在基于HTTP协议的第一格式的客户端和基于TCP/UDP协议的第二格式的服务器之间做请求的格式转换,可以适配于游戏服务器的测试,因此能够避免定制测试框架/下的人力成本较高和定制测试框架的功能不足的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请的一个实施例的应用场景示意图;
图2是本申请一个实施例的数据处理方法200的流程示意图;
图3a是本申请一个实施例的网关模块的示意图;
图3b是本申请一个实施例的网关模块的示意图;
图4a为本申请一个实施例的数据处理方法400的流程示意图;
图4b为本申请一个实施例的数据处理方法410的流程示意图;
图5为本申请的一个实施例的数据处理方法500的流程示意图;
图6为本申请的一个实施例的数据处理方法600的流程示意图;
图7为本申请的一个实施例的网关模块700的示意图;
图8为本申请的一个实施例的网关模块800的示意图;
图9为本申请的一个实施例的电子设备900的结构示意图。
具体实施方式
下面结合具体实施例和附图对本申请做进一步说明。可以理解的是,本公开的说明性实施例包括但不限于数据处理方法、网关模块、电子设备及介质,此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
图1示出了本申请的一个实施例的应用场景示意图。客户端设备101和服务器102之间通过通信网络103基于数据传输协议进行交互。客户端可以是APP客户端或者Web前端,运行于客户端设备101上,如智能手机、平板电脑、台式计算机、笔记本电脑等。
通常,客户端设备101通过HTTP协议来访问服务器102。HTTP协议是目前Web前端广泛使用的一种网络传输协议。HTTP协议是使用了面向连接的TCP作为传输层协议,可以保证数据的可靠传输。但是对于一些时延要求较高情况,例如游戏客户端,则不能满足低时延的要求。为了降低响应延迟,服务器102可以通过TCP/UDP的协议进行自定义数据包格式来向游戏客户端提供访问。
另外,若客户端设备101和服务器102之间采用HTTP协议来交互,通常数据是以JSON或XML格式进行传输。为了降低数据传输量,游戏服务器会采用基于Protobuf、Thrift等紧凑型编码格式进行数据传输。
当服务器采用上述TCP/UDP的协议以及Protobuf/Thrift数据格式之后虽然可以给客户端的用户带来较佳的游戏体验,但是对于游戏测试却带来了较大的挑战。
游戏测试是游戏开发中的一个重要的环节。随着游戏开发规模越来越大,游戏中的功能点越来越多,游戏测试变得越来越重要。在游戏开发中能够提供快速、专业的测试可以给游戏玩家提供较佳的体验。
在游戏测试领域已有许多成熟的测试工具,例如Postman、Jmeter。这些测试工具均能够适配于HTTP协议以及JSON/XML的数据传输格式。但是,这些游戏测试工具不能很好地适配于上述采用TCP/UDP协议以及Protobuf/Thrift数据格式的游戏服务器。
在相关技术中,为了适配游戏服务器的测试,例如接口测试和压力测试,通常是定制开发专门的测试框架或工具。但是这种方法需要专门的人员长期进行测试框架/工具的维护开发,并且自行开发的测试框架/工具在功能上不及已开发的测试工具。
为了解决上述问题,本申请的一个实施例提供了一种数据处理方法200,基于网关模块实现,参见图2。方法200包括如下的步骤。
在S201中,接收来自客户端的基于HTTP协议的第一格式的请求消息。
该网关模块接收来自客户端的请求消息,该请求消息的格式为基于HTTP协议的第一格式。这里的客户端可以是APP客户端、Web前端或者专门的测试工具。
在S202中,将第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息。
网关模块将基于HTTP协议传输的第一格式的请求消息转换为基于TCP/UDP协议传输的第二格式的请求消息。
在一些实施方式中,HTTP协议和TCP/UDP协议这种不同的通信协议之间的转换可以通过预先编写好各类协议描述文件并生成数据映射脚本,将HTTP协议请求消息经过一系列处理转换为TCP/UDP协议请求消息。在一些实施方式中,第一格式和第二格式之间的转换可以根据第一格式以及第二格式的协议编号和协议数据结构的对应关系进行转换。在测试工具的应用场景,测试人员会编写各种协议命令以测试游戏软件的功能、性能,如登录、心跳等协议命令。在一些示例中,可以配置协议编号和协议数据结构的对应关系,例如:可以设置<协议编号:数据结构>的形式。具体地,可以对多种协议命令分别设置对应的协议编号,例如:登录(1000)、心跳(1001)、踢下线(1002)、PING(1003)、网关支持版本变更(1004)、查询网关支持的版本(1005)、账号迁移(1006)、更新推送token(1007),测试时只需输入协议命令的字符,即可对应相应的协议编号,如输入“登录”,则对应编号“1000”。每种协议编号均有一一对应的数据结构。协议命令执行时,可以根据协议编号查找对应的数据结构,然后对消息进行数据转换。在一些实施方式中,配置协议编号和数据结构的对应关系可以存放在文件中,启动后会自动加载。如果运行过程中配置关系发生了变化,则可以进行热重载。
在一些实施方式中,第一格式为JSON格式或XML格式,第二格式为Protobuf格式或Thrift格式。JSON(JavaScript Object Notation,JavaScaript对象表示法),是一种存储和交换文本信息的语法。JSON格式具有文本量更小、更快和更易解析的特点,可以主要用于传递数据。XML(Extensible Markup Language,扩展标记语言)是一种常用的标记语言,可以用于标记电子文件使其具有结构性,也可以用来标记数据和定义数据类型。Protobuf是一种混合语言数据标准,通过将结构化的数据进行序列化以实现数据的传输或保存。Thrift通过一个中间语言来定义RPC(Remote Procedure Call)的接口和数据类型,然后通过编译器生成不同语言的代码,从而实现跨语言。
在一些示例中,第一格式为JSON格式,第二格式为Protobuf格式。在其它的一些示例中,第一格式为XML格式,第二格式为Protobuf格式。在其它的一些示例中,第一格式为JSON格式,第二格式为Thrift格式。在其它的一些示例中,第一格式为XML格式,第二格式为Thrift格式。
在一些实施方式中,第一格式、第二格式之间的转换可以通过递归获取第二格式数据的每个字段的名称和类型,从第一格式的数据中获取该字段作为key对应的value值并赋值给该字段来完成。
在S203中,将第二格式的请求消息发送至服务器。
网关模块将来自客户端的第一格式的消息转换为基于TCP/UDP协议的第二格式之后发送至服务器。服务器收到请求消息后会进行处理请求事项,如确认用户账户登录、确认用户交易等等。
在S204中,接收来自服务器的第二格式的响应消息。
在服务器处理请求之后,会向网关模块回传基于TCP/UDP协议的响应消息,该响应消息的数据结构的格式为第二格式。
在S205中,将第二格式的响应消息转换为第一格式的响应消息并发送给客户端。
因客户端处理的消息格式为第一格式,所以在接收到第二格式的响应消息之后需要将该响应消息转换为第一格式,并发回至客户端。
例如,将数据格式为Protobuf格式或Thrift格式的响应消息,通过数据转换为数据格式为JSON格式或XML格式的响应消息。
数据处理方法200在接收到请求消息之后,将基于HTTP协议的第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息,再将第二格式的请求消息发送给服务器。在从服务器接收响应消息之后,将响应消息的格式转换为第一格式返回。数据处理方法200可以在基于HTTP协议的第一格式的客户端和基于TCP/UDP协议的第二格式的服务器之间做请求的格式转换,从而可以适配于游戏服务器的测试。
对于例如Postman或Jmeter的测试工具和采用TCP/UDP协议以及Protobuf/Thrift数据格式的游戏服务器之间的数据处理方法200可以由网关模块实现。在一些实施方式中,网关模块可以为独立于客户端设备和服务器的之外的网关设备(参考图9)。在其它的一些实施方式中,网关模块可以为客户端设备或服务器中的逻辑模块。例如,图3a-3b分别示出了本申请的一个实施例的网关示意图。
在图3a中,网关模块302为客户端设备301中的逻辑模块,客户端设备301的网关模块302通过通信网络304与服务器303交互。在图3b中,网关模块302为服务器303的逻辑模块,服务器303的网关模块302通过通信网络304与客户端设备301交互。
在图3a-3b中,客户端设备301和网关模块302之间的通信基于HTTP协议,并且两者之间的数据以JSON或XML等格式传输。而网关模块302和服务器303之间的通信基于TCP/UDP协议,并且两者之间的数据以Protobuf或Thrift等格式传输。网关模块302在客户端设备301和服务器303之间实现了消息的格式转换,既可以对接成熟的商业测试工具,也可以适配游戏服务器接口,能够避免定制测试框架/下的人力成本较高和定制测试框架的功能不足的问题。网关302处理客户端和服务器之间的请求消息的转换,还可以包括对客户端和服务器之间进行会话管理。图4a为本申请一个实施例的数据处理方法400的流程示意图。
在S401,接收来自客户端的登录请求。
游戏服务器是基于TCP/UDP的通信协议,通常处理长连接请求。长连接是指在一个连接上可以连续发送多个数据包的连接方式,即每次连接可以完成多项业务的发送。游戏服务器通常通过长连接的技术特性来判断玩家是否在线,以及对请求的合法性做判断。而商业测试工具采用的是HTTP协议,通常采用短连接请求。为了商业测试工具和游戏服务器之间的通信协议适配,方法400给每个用户的客户端维护一条与游戏服务器的长连接来保障接口的正常请求。网关可以接收来自商业测试工具的登录请求。
在S402,基于登录请求中的标头,与服务器建立长连接,并将登录请求转发至服务器。
网关可以获取登录请求标头(Header)中的服务器环境配置,然后与游戏服务器建立长连接。在建立长连接后将登录请求转发给游戏服务器。
通常,当有多个网关时,可以将请求流量进行负载均衡,分配到多个网关,以满足大流量压测时网关的承载保障问题。由于网关负责维护用户的会话管理,所以同一个用户的所有请求必须转发到同一个网关。在一些实施方式中,可以通过获取HTTP请求Header中的SessionID字段来进行一致性哈希处理,确保同一个用户的请求一定落到同一个网关。
在S403,在接收到来自服务器的确认登录成功的信息的情况下,创建与服务器之间的会话。
当服务器回复登录成功,网关模块会创建与服务器之间的会话。会话中可以存放长连接信息,用于后续的请求转发。当服务器未回复登录成功,即登录失败,则不会创建会话。后续再接收用户请求会直接返回失败,不对请求进行转发。
方法400是在接收登录请求的数据处理方法流程图,当接收退出登录请求时,本申请一个实施例示出了数据处理方法410,参见图4b。
在S411,接收来自客户端的退出登录请求。
当客户端需要退出登录,会向网关模块发送退出登录的请求。
在S412,将退出登录请求转发至服务器。
网关模块在接收到退出登录的请求之后,可以将该退出登录的请求转发至服务器。
在S413,销毁会话。
在转发退出登录请求之后,网关销毁会话。
在一些实施方式中,在预定时长内没有收到退出登录请求的情况下,网关模块会销毁会话。例如,当一直没有收到退出登录的请求时,会话会在预定的时间阈值后自动被销毁。这样可以保证通信信道资源保持较高的利用率。预定的时间阈值可以是根据实际情况设置的时间长度,比如5分钟、10分钟、半小时等。
方法400和410中,网关接收的登录请求或退出登录请求,当网关接收其它请求时,会根据创建好的会话进行自动转发。图5为本申请的一个实施例的数据处理方法500的流程图。
在S501,接收非登录请求或退出登录请求。
在S502,判断会话是否存在。
接收非登录请求或退出登录请求后,获取与服务器间的会话。如果会话存在则进入S503,如果会话不存在则进入S504,返回错误。例如,若会话不存在,则会向客户端设备返回错误的消息,表明后续的请求不会执行请求转换或转发的操作。
在S503,请求转换及转发。
S503的步骤与方法200中的步骤类似。在一些示例中,可以根据请求的命令查找对应的数据转换配置,然后将JSON请求数据转换成Protobuf的请求数据。在请求转换后可以用会话中的长连接,转发该请求到游戏服务器。当游戏服务器处理请求结束回传到网关后,还需要根据回复的命令查找对应的数据转换配置,然后将Protobuf回复数据转换成JSON的回复数据,再将数据回复至客户端。
在相关技术中,测试产品采用的HTTP协议中使用的是短连接请求。即每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。每次连接的建立需要资源消耗和时间消耗。相对于HTTP短连接来说,长连接的通信方式支持服务器主动推送通知到客户端,减少资源浪费并节约时间。相应地,本申请的一个实施例提供了一种数据处理方法600,参见图6。
在S601,接收来自服务器的推送消息并缓存。
服务器如果主动推送消息到客户端,会首先推送到网关模块。网关模块在接收来自服务器的消息之后会进行缓存。
在S602,在接收到来自客户端的获取推送消息的请求的情况下,发送推送消息至所述客户端。
网关在缓存来自服务器的消息之后可以使得客户端获取通知的方式从被动接收变成主动获取。例如,客户端可以发送获取指定通知的请求到网关,网关会判断缓存中是否存在通知。如果有则网关向客户端直接返回通知;如果不存在则还会等待预定的时间阈值。例如3s、5s、10s。如果过了预定的时间阈值获取到了缓存中的通知,则网关将该通知直接返回至客户端;如果超过预定的时间阈值没有获取通知,则网关返回错误。
网关在向客户端返回推送消息时,可以将消息数据对应的格式改为基于HTTP协议的格式。例如,将从客户端接收到的Protobuf格式或Thrift格式的消息数据改为JSON格式或XML格式。
图7示出了本申请一个实施例的网关模块700的示意图。网关模块700包括数据转换模块701和请求转发模块702。
数据转换模块701,用于将来自客户端的基于HTTP协议的第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息,以及将来自服务器的第二格式的响应消息转换为第一格式的响应消息。
请求转发模块702,用于将第二格式的请求消息发送至服务器,以及将第一格式的响应消息发送给客户端。
图8示出了根据本申请的一个实施例的网关模块800的示意图。和图7中的网关模块700相比,网关模块800还包括会话创建模块703以及缓存模块704。会话创建模块703用于与服务器建立长连接并基于长连接创建会话。缓存模块704用于接收来自服务器的推送消息并缓存,以及将缓存的消息发送至客户端。
在一些实施方式中,会话创建模块703不仅可以根据登录请求与服务器建立长连接并基于长连接创建会话,还可以根据退出登录请求销毁会话。
在一些实施方式中,网关模块800可以包括会话转发模块,用于在接收非登录请求或退出登录请求时,根据创建好的会话对请求进行转发。
现在参考图9,所示为根据本申请的一个实施例的网关模块的框图,在本实施例中,网关模块为电子设备900。电子设备900可以包括一个或多个处理器902,与处理器902中的至少一个连接的系统控制逻辑908,与系统控制逻辑908连接的系统内存904,与系统控制逻辑908连接的非易失性存储器(NVM)906,以及与系统控制逻辑908连接的网络接口910。
处理器902可以包括一个或多个单核或多核处理器。处理器902可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本文的实施例中,处理器902可以被配置为执行根据如图2-8所示的各种实施例的一个或多个实施例。
在一些实施例中,系统控制逻辑908可以包括任意合适的接口控制器,以向处理器902中的至少一个和/或与系统控制逻辑908通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑908可以包括一个或多个存储器控制器,以提供连接到系统内存904的接口。系统内存904可以用于加载以及存储数据和/或指令。在一些实施例中设备900的内存904可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器906可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器906可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器906可以包括安装在设备900的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口910通过网络访问NVM/存储906。
特别地,系统内存904和NVM/存储器906可以分别包括:指令920的暂时副本和永久副本。指令920可以包括:由处理器902中的至少一个执行时导致设备900实施如图2,4-6所示的方法的指令。在一些实施例中,指令920、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑908,网络接口910和/或处理器902中。
网络接口910可以提供与客户端设备和/服务器设备之间的通信。网络接口910可以包括收发器,用于为设备900提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口910可以集成于设备900的其他组件。例如,网络接口910可以集成于处理器902的,系统内存904,NVM/存储器906,和具有指令的固件设备(未示出)中的至少一种,当处理器902中的至少一个执行所述指令时,设备900实现图2-8所示的各种实施例的一个或多个实施例。
网络接口910可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口910可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器902中的至少一个可以与用于系统控制逻辑908的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器902中的至少一个可以与用于系统控制逻辑908的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
设备900可以进一步包括:输入/输出(I/O)设备912。I/O设备912可以包括用户界面,使得用户能够与设备900进行交互;外围组件接口的设计使得外围组件也能够与设备900交互。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
本申请的各方法实施方式均可以以软件、磁件、固件等方式实现。
可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
本发明还提供一种计算机可读介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述一个或多个实施例中的数据处理方法。
本申请的一个实施例公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述一个或多个实施例中的数据处理方法。
以上由特定的具体实施例说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其他优点及功效。虽然本申请的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。
除非上下文另有规定,否则术语“包含”,“具有”和“包括”是同义词。短语“A/B”表示“A或B”。短语“A和/或B”表示“(A和B)或者(A或B)”。
如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质的途径分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于软盘、光盘、光盘、只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于通过电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可以不需要这样的特定布置和/或排序。在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元或是数据,但是这些单元或数据不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (12)
1.一种数据处理方法,基于网关模块实现,其特征在于,所述方法包括:
接收来自客户端的基于HTTP协议的第一格式的请求消息;
将所述第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息;
将所述第二格式的请求消息发送至服务器;
接收来自所述服务器的所述第二格式的响应消息;
将所述第二格式的响应消息转换为所述第一格式的响应消息并发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,将所述第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息和将所述第二格式的响应消息转换为所述第一格式的响应消息,包括:
根据所述第一格式以及所述第二格式的协议编号和协议数据结构的对应关系进行转换。
3.根据权利要求2所述的方法,其特征在于,所述第一格式为JSON格式或XML格式,所述第二格式为Protobuf格式或Thrift格式。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括,
接收来自所述客户端的登录请求;
基于所述登录请求中的标头,与所述服务器建立长连接,并将所述登录请求转发至所述服务器;
在接收到来自所述服务器的确认登录成功的信息的情况下,创建与所述服务器之间的会话。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括,
接收来自所述客户端的退出登录请求;
将所述退出登录请求转发至所述服务器;
销毁所述会话。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括,在预定时长内没有收到退出登录请求的情况下,销毁所述会话。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括,
接收来自所述服务器的推送消息并缓存;
在接收到来自客户端的获取所述推送消息的请求的情况下,发送所述推送消息至所述客户端。
8.一种网关模块,其特征在于,所述网关模块包括,
数据转换模块,用于将来自客户端的基于HTTP协议的第一格式的请求消息转换为基于TCP/UDP协议的第二格式的请求消息,以及将来自服务器的所述第二格式的响应消息转换为所述第一格式的响应消息;
请求转发模块,用于将所述第二格式的请求消息发送至服务器,以及将所述第一格式的响应消息发送给所述客户端。
9.根据权利要求8所述的网关模块,其特征在于,还包括,会话创建模块,用于与所述服务器建立长连接并基于所述长连接创建会话。
10.根据权利要求8所述的网关模块,其特征在于,还包括,缓存模块,用于接收来自所述服务器的推送消息并缓存,以及将缓存的消息发送至所述客户端。
11.一种电子设备,其特征在于,所述设备包括存储有计算机可执行指令的存储器和处理器;当所述指令被所述处理器执行时,使得所述设备实施根据权利要求1至7中任一项所述的数据处理方法。
12.一种计算机可读介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310240092.XA CN116366732A (zh) | 2023-03-14 | 2023-03-14 | 数据处理方法、网关模块、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310240092.XA CN116366732A (zh) | 2023-03-14 | 2023-03-14 | 数据处理方法、网关模块、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366732A true CN116366732A (zh) | 2023-06-30 |
Family
ID=86906176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310240092.XA Pending CN116366732A (zh) | 2023-03-14 | 2023-03-14 | 数据处理方法、网关模块、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366732A (zh) |
-
2023
- 2023-03-14 CN CN202310240092.XA patent/CN116366732A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7908317B2 (en) | System and method for URL compression | |
US10523612B2 (en) | Message history display system and method | |
US10932110B2 (en) | Method, apparatus and system for use in a web service | |
US8898336B2 (en) | Content conversion system and content conversion server | |
US9503957B2 (en) | Low cost mesh network capability | |
US10305800B2 (en) | Preferential selection of IP protocol version with domain name matching on proxy servers | |
US20130346591A1 (en) | Clientless Cloud Computing | |
CN110351283B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
US11108890B2 (en) | Management client and device monitoring | |
JP2006072978A (ja) | サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体 | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
CN109088799A (zh) | 一种客户端接入方法、装置、终端以及存储介质 | |
CN113259479B (zh) | 一种数据处理方法以及设备 | |
US20170230330A1 (en) | Source-destination network address translation (sdnat) proxy and method thereof | |
WO2020038443A1 (zh) | 桥接通信的方法和设备 | |
JP2003141002A (ja) | Url長変換システム及びそのプログラム | |
US20210208956A1 (en) | Automated identification of service boundaries based on system focus optimization using distributed tracing data | |
CN109347936A (zh) | Redis代理客户端的实现方法、系统、存储介质及电子设备 | |
CN116366732A (zh) | 数据处理方法、网关模块、电子设备及介质 | |
CN114338832B (zh) | 一种容器云平台的网络协议转换方法及系统 | |
CN101902449A (zh) | 网络设备之间持续http连接的仿真 | |
CN116208654A (zh) | 一种信息调用方法、装置、设备及存储介质、程序产品 | |
CN110311936B (zh) | 客户端之间的通讯方法、装置、电子设备及存储介质 | |
JP2015211342A (ja) | デバイス管理サーバおよびその動作方法 | |
CN113973086B (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 |