CN105956000B - 一种数据交互方法及客户端 - Google Patents

一种数据交互方法及客户端 Download PDF

Info

Publication number
CN105956000B
CN105956000B CN201610247789.XA CN201610247789A CN105956000B CN 105956000 B CN105956000 B CN 105956000B CN 201610247789 A CN201610247789 A CN 201610247789A CN 105956000 B CN105956000 B CN 105956000B
Authority
CN
China
Prior art keywords
target
connection
articulation set
mark
destination server
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
CN201610247789.XA
Other languages
English (en)
Other versions
CN105956000A (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201610247789.XA priority Critical patent/CN105956000B/zh
Publication of CN105956000A publication Critical patent/CN105956000A/zh
Application granted granted Critical
Publication of CN105956000B publication Critical patent/CN105956000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种数据交互方法及客户端,其中的方法包括:客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合;所述客户端以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接;所述客户端根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。本发明实施例还公开了相应的客户端。本发明实施例提供的技术方案有利于避免现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。

Description

一种数据交互方法及客户端
技术领域
本发明涉及通信技术领域,具体涉及一种数据交互方法及客户端。
背景技术
连接池是一种采用池化管理连接资源,提高应用系统对数据库或服务器访问性能的技术。连接池的主要功能是负责分配、管理和释放连接,它允许应用程序重复使用一个现有的连接,而再不是重新建立一个。采用连接池,可有效避免频繁的连接的创建和关闭等耗时操作,能够明显提高对数据库或服务器访问的性能,是提高单个服务器或服务器连接管理和数据访问的有效途径。
在现有技术中,传输层和应用层上都可以建立连接池。例如,基于服务器的连接池、数据库连接池。但通常情况下,在一个应用中,如果需要连接多种服务器或者多种数据库时,就需要多个连接池协同处理来实现数据访问,上述方法通常需要维护多个连接池,增加了维护的成本。
发明内容
本发明实施例提供了一种数据交互方法及客户端,避免现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
本发明实施例第一方面提供一种数据交互方法,包括:
客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;
所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;
所述客户端以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
所述客户端根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
进一步可选的,所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合包括:
所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;
若存在,获取与所述目标服务器标识对应的目标连接集合;
若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述目标集合。
进一步可选的,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数;
所述创建与所述服务器标识对应的目标连接集合,包括:
在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;
向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
进一步可选的,所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合,获取与所述应用标识对应的目标连接包括:
所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;
若存在,获取与所述应用标识对应的目标连接;
若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
进一步可选的,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
本发明实施例第二方面提供一种客户端,包括:
获取模块,用于获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;
第一查询模块,用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;
第二查询模块,还用于以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
交互模块,用于根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
进一步可选的,所述第一查询模块,具体用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;若存在,获取与所述目标服务器标识对应的目标连接集合;若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述目标集合。
进一步可选的,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数;
所述第一查询模块在用于创建与所述服务器标识对应的目标连接集合时,具体用于在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
进一步可选的,所述第二查询模块,具体用于以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;若存在,获取与所述应用标识对应的目标连接;若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
进一步可选的,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
可以看出,本发明实施例技术方案中,首先,客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识,以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,然后,以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,最终,根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。其中,通过所述通用连接池对不同连接对象的连接进行管理,避免了现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例公开的一种网络构架的结构示意图;
图2是本发明第二实施例提供的一种工作原理示意图;
图3是本发明第三实施例提供的一种通用连接池、连接集合类以及连接的关系示意图;
图4是本发明第四实施例提供的一种数据交互方法的流程示意图;
图5是本发明第五实施例提供的一种数据交互方法的流程示意图;
图6是本发明第六实施例提供的一种客户端的结构示意图;
图7是本发明第七实施例提供的一种客户端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了更好理解本发明实施例公开的一种数据交互方法及客户端,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明第一实施例公开的一种网络构架的结构示意图。如图1所示,该网络构架示意图可以包括服务设备10和客户端20,所述服务设备10与所述客户端20通过互联网30连接,其中,服务设备10可以包括接入服务器、群组服务器、应用服务器、功能服务器、数据库服务器、服务主机、服务系统以及服务平台等,而客户端可以包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等功能为一体的客户端。在图1所示的网络构架中,该客户端20可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
请参阅图2和图3,图2是本发明第二实施例提供的一种工作原理示意图,图3是本发明第三实施例提供的一种通用连接池、连接集合以及连接的关系示意图。结合图2和图3所示,所述客户端20可以与若干个服务设备10连接,上述服务设备10可以是Mysql数据库服务器、Redis数据库服务器、TCP服务器、HTTP服务器中的一种或几种,所述客户端20与所述服务设备之间建立通讯连接,所述客户端20与所述服务设备10之间包括通用连接池301,该通用连接池管理若干连接集合302,再由该连接集合管理若干连接303。上述连接可以是基于某个应用而建立的连接,如基于文本消息传输、文件传输、视频或语音传输等应用而分别建立的连接,而不同的应用均具有唯一的应用标识(Application ID,APPID),该应用标识是通过全球唯一性的全球唯一标识ID(Global Unique Identifier,GUID)进行标识,例如:对于传输图片会有一个应用标识、而传输文件、语音以及视频等都会以相互不同的应用标识进行标识。
为了一步阐述本发明的技术方案,请参阅图4,图4是本发明第四实施例提供的一种数据交互方法的流程示意图,如图4所示,本发明实施例中的数据交互方法包括以下步骤:
S401、客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识。
其中,与所述客户端的目标应用进行数据交互的目标服务器可以是Mysql数据库服务器、Redis数据库服务器、TCP服务器和HTTP服务器中的一种或几种,目标服务器与目标应用对应。上述目标应用可以是文本消息传输、文件传输、视频或语音传输等应用。
S402、所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同。
可以理解的,上述通用连接池中存储有以不同的服务器标识对应的服务器为连接对象的连接集合,上述连接集合可以包括以下一种或几种:以Mysql数据库服务器为连接对象的连接的连接集合,以Redis数据库服务器为连接对象的连接的连接集合,以TCP服务器为连接对象的连接的连接集合和以HTTP服务器为连接对象的连接的连接集合。其中,每个连接集合对应一个连接对象,也就是每个连接集合对应一个服务器标识,不同的连接集合对应的服务器标识不同。
其中,上述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合的具体实现方式可以是:
所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;若存在,获取与所述目标服务器标识对应的目标连接集合;若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述目标集合。
可以理解的,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,其中,所述连接类管理的连接包括可用的连接和不可用的连接两种,其中,可用的连接是指没有被使用或者使用后已返给连接类管理的连接;而不可用的连接是指正在被使用的或者被设置为无效链接的连接。
其中,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数。
上述创建与所述服务器标识对应的目标连接集合的具体实现方式可以是:
在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
S403、所述客户端以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同。
可以理解的,上述目标可以包括文本消息传输、文件传输、视频或语音传输等应用,不同的应用均具有唯一的应用标识(Application ID,APPID),该应用标识是通过全球唯一性的全球唯一标识ID(Global Unique Identifier,GUID)进行标识,例如:对于传输图片会有一个应用标识、而传输文件、语音以及视频等都会以相互不同的应用标识进行标识。
其中,上述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合,获取与所述应用标识对应的目标连接的具体实现方式可以是:
所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;若存在,获取与所述应用标识对应的目标连接;若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
S404、所述客户端根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
其中,上述数据交互可以包括文本信息传输、图片传输、文件或语音传输等。
可选的,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
可以看出,本发明实施例技术方案中,首先,客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识,以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,然后,以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,最终,根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。其中,通过所述通用连接池对不同连接对象的连接进行管理,避免了现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
为了一步阐述本发明的技术方案,请参阅图5,图5是本发明第五实施例提供的一种数据交互方法的流程示意图,如图5所示,本发明实施例中的数据交互方法包括以下步骤:
S501、客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识。
其中,与所述客户端的目标应用进行数据交互的目标服务器可以是Mysql数据库服务器、Redis数据库服务器、TCP服务器和HTTP服务器中的一种或几种,目标该服务器与目标应用对应。上述目标应用可以是文本消息传输、文件传输、视频或语音传输等应用。
S502、所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合。
可以理解的,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同。
其中,若所述客户端查询预存的通用连接池中存在与所述目标服务器标识对应的目标连接集合,直接执行步骤S505;否则,先执行步骤S503至S504后,再继续执行步骤S505。
S503、所述客户端在所述连接池管理类中添加目标连接类,所述目标连接类继承连接对象基类。
其中,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数。
可以理解的,连接池管理类CommConnPool管理通用连接池,通用连接池中存储有至少一个连接集合,每个连接集合由相应的连接类CommConnFor One Type进行管理,例如以Mysql数据库服务器为连接对象的连接集合和以Redis数据库服务器为连接对象的连接集合分别对应不同的typeId,由它们各自的TypeId对应的连接类CommConnForOneType类来管理Mysql连接和Redis连接。也可以提供更细粒度的管理,比如应用程序需要连接多台Mysql主机或多个Mysql集群,可以对每台Mysql主机或每个Mysql集群定义一个TypeId。
其中,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
具体地,连接池管理类CommConnPool包含了初始化、获取连接对象,归还连接对象等基本函数。这几个函数通过操作连接基类BaseWrapper来实现。
具体地,使用连接池管理类统一管理通用连接池,若所述客户端查询预存的通用连接池中不存在与所述目标服务器标识对应的目标连接集合,只需要添加一个新的目标连接类,它继承BaseWrapper类,并实现Connet、HasErr这两个虚函数,上述两个虚函数使得连接池管理类知道这个目标连接类对应的连接如何连接,如何判断连接已断开。
例如,要对Redis数据库服务器使用连接类管理,即添加目标连接类RedisWrapper类,它继承自BaseWrapper类,并添加实现两个虚函数Connect和HasErr。在这两个函数中封装API提供的redisConnectWithTimeout、redisFree函数,用于判断连接是否仍有效。
S504、向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
S505、所述客户端获取与所述目标服务器标识对应的目标连接集合。
S506、所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;
其中,若查询所述目标连接集合中存在与所述应用标识对应的目标连接,直接执行步骤S508;否则先执行步骤S507后,再执行步骤S508。
S507、所述客户端创建与所述应用标识对应的目标连接。
其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
S508、所述客户端获取与所述应用标识对应的目标连接。
S509、所述客户端根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
可以看出,本发明实施例技术方案中,首先,客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识,以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,然后,以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,最终,根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。其中,通过所述通用连接池对不同连接对象的连接进行管理,避免了现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例四至五实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例四和实施例五。
请参阅图6,图6是本发明第六实施例提供的一种客户端的结构示意图,本发明实施例中的客户端是图4至图5方法实施例中的客户端的运行载体,可以包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备。具体地,如图6所示,本发明实施例中的客户端包括以下模块:
获取模块601,用于获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;
第一查询模块602,用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;
第二查询模块603,还用于以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
交互模块604,用于根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
进一步可选的,所述第一查询模块602,具体用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;若存在,获取与所述目标服务器标识对应的目标连接集合;若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述目标集合。
进一步可选的,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数;
所述第一查询模块602在用于创建与所述服务器标识对应的目标连接集合时,具体用于在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
进一步可选的,所述第二查询模块603,具体用于以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;若存在,获取与所述应用标识对应的目标连接;若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
进一步可选的,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
具体的,上述各个模块的具体实现可参考图4至图5对应的方法实施例中相关步骤的描述,在此不赘述。
可以看出,本发明实施例技术方案中,首先,客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识,以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,然后,以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,最终,根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。其中,通过所述通用连接池对不同连接对象的连接进行管理,避免了现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
请参考图7,图7是本发明第七实施例公开的一种客户端的结构示意图。本发明实施例中的客户端是图4至图5方法实施例中的客户端的运行载体,可以包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备。具体地,如图7所示,本发明实施例中的客户端包括:至少一个处理器701,例如CPU,至少一个接收器703,至少一个存储器704,至少一个发送器705,至少一个通信总线702。其中,通信总线702用于实现这些组件之间的连接通信。其中,本发明实施例中装置的接收器703和发送器705可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器704可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器704可选的还可以是至少一个位于远离前述处理器701的存储装置。存储器704中存储一组程序代码,且所述处理器701可通过通信总线702,调用存储器704中存储的代码以执行相关的功能。
所述处理器701,用于获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。
可选的,所述处理器701,在用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合时,具体用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;若存在,获取与所述目标服务器标识对应的目标连接集合;若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述目标集合。
可选的,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数;
所述处理器701,在用于创建与所述服务器标识对应的目标连接集合时,具体用于在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
所述处理器701,在用于以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合,获取与所述应用标识对应的目标连接时,具体用于以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;若存在,获取与所述应用标识对应的目标连接;若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
可选的,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
具体的,上述各个模块的具体实现可参考图4至图5对应的方法实施例中相关步骤的描述,在此不赘述。
可以看出,本发明实施例技术方案中,首先,客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识,以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,然后,以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,最终,根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互。其中,通过所述通用连接池对不同连接对象的连接进行管理,避免了现有技术中,每个连接对象对应一个连接池所导致的维护成本增加的缺陷。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种服务进程的监控方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
本发明上述各实施例所述连接可以是TCP连接,本领域的技术人员所知,TCP连接是基于TCP/IP协议的连接,TCP/IP协议是互联网应用中最基本的应用协议,其协议簇包括接口层、网络层、传输层和应用层的各种协议,如HTTP协议、TCP协议、UDP协议、FTP协议、Telnet协议、SMTP协议和POP协议等。本发明实施例在于提供一种数据交互方法,该方法并不仅限于TCP协议。
以上对本发明实施例所提供的一种数据交互方法及客户端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据交互方法,其特征在于,包括:
客户端获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;
所述客户端以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;
所述客户端以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
所述客户端根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互;
其中,在查询获取与所述目标服务器标识对应的目标连接集合的过程中,如果不存在与所述目标服务器标识对应的目标连接集合,则创建与所述目标服务器标识对应的目标连接集合,创建与所述目标服务器标识对应的目标连接集合包括以下步骤:
在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;
向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
2.如权利要求1所述的方法,其特征在于,在查询获取与所述目标服务器标识对应的目标连接集合的过程中,若查询预存的通用连接池中存在与所述目标服务器标识对应的目标连接集合,则直接从预存的通用连接池中获取与所述目标服务器标识对应的目标连接集合。
3.如权利要求2所述的方法,其特征在于,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数。
4.如权利要求2所述的方法,其特征在于,所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合,获取与所述应用标识对应的目标连接,包括:
所述客户端以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;
若存在,获取与所述应用标识对应的目标连接;
若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
5.如权利要求1至4任一项所述的方法,其特征在于,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
6.一种客户端,其特征在于,包括:
获取模块,用于获取用于与所述客户端的目标应用进行数据交互的目标服务器的目标服务器标识;
第一查询模块,用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池,获取与所述目标服务器标识对应的目标连接集合,其中,所述通用连接池包括至少两个连接集合,所述至少两个连接集合中的任意两个连接集合对应的服务器标识不同;
第二查询模块,用于以所述目标应用的目标应用标识为第二查询标识,查询所述目标连接集合,获取与所述目标应用标识对应的目标连接,其中,所述连接集合中包括至少两个连接,所述至少两个连接的任意两个连接对应的应用标识不同;
交互模块,用于根据所述目标连接进行所述目标应用和所述目标服务器之间的数据交互;
所述第一查询模块,具体用于以所述目标服务器标识为第一查询标识,查询预存的通用连接池中是否存在与所述目标服务器标识对应的目标连接集合;若不存在,创建与所述目标服务器标识对应的目标连接集合,并获取所述创建的目标连接集合;
所述第一查询模块在用于创建与所述服务器标识对应的目标连接集合时,具体用于在所述连接池管理类中添加目标连接类,所述目标连接类继承所述连接对象基类;向所述目标连接类中添加与所述服务器标识对应的用于判断所述目标连接集合中的连接是否有效的判断函数,以完成所述目标连接集合的创建。
7.如权利要求6所述的客户端,其特征在于,
所述第一查询模块,具体用于若预存的通用连接池中存在与所述目标服务器标识对应的目标连接集合,获取与所述目标服务器标识对应的目标连接集合。
8.如权利要求7所述的客户端,其特征在于,所述通用连接池由连接池管理类进行管理,所述连接集合由连接类进行管理,所述连接池管理类存储有以连接对象基类为操作对象的至少一个函数,所述函数包括:初始化函数、获取连接的连接对象函数和归还连接的连接对象函数。
9.如权利要求7所述的客户端,其特征在于,
所述第二查询模块,具体用于以所述目标应用的应用标识为第二查询标识,查询所述目标连接集合中是否存在与所述应用标识对应的目标连接;若存在,获取与所述应用标识对应的目标连接;若不存在,则创建与所述应用标识对应的目标连接,并获取所述目标连接。
10.如权利要求6至9任一项所述的客户端,其特征在于,所述连接集合存储有关于所述连接集合中的连接的连接信息,所述连接信息包括:所述连接集合中的连接的连接标识、所述连接集合中的连接的当前连接数目和最大连接数目,其中,所述连接标识包括:服务器的IP地址、服务器的端口信息。
CN201610247789.XA 2016-04-20 2016-04-20 一种数据交互方法及客户端 Active CN105956000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610247789.XA CN105956000B (zh) 2016-04-20 2016-04-20 一种数据交互方法及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610247789.XA CN105956000B (zh) 2016-04-20 2016-04-20 一种数据交互方法及客户端

Publications (2)

Publication Number Publication Date
CN105956000A CN105956000A (zh) 2016-09-21
CN105956000B true CN105956000B (zh) 2019-09-27

Family

ID=56917741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610247789.XA Active CN105956000B (zh) 2016-04-20 2016-04-20 一种数据交互方法及客户端

Country Status (1)

Country Link
CN (1) CN105956000B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107659664A (zh) * 2017-10-30 2018-02-02 珠海格力电器股份有限公司 一种消息传输方法、装置及系统
CN109413453B (zh) * 2018-10-19 2021-08-27 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
CN109639841A (zh) * 2019-02-25 2019-04-16 北京云中融信网络科技有限公司 网络连接系统及方法
EP3991390A1 (en) * 2019-06-28 2022-05-04 Amazon Technologies Inc. Connection pooling for scalable network services
CN110719221B (zh) * 2019-10-16 2022-11-08 北京蚂蜂窝网络科技有限公司 即时通信方法、装置、设备及存储介质
CN111092816B (zh) * 2019-11-26 2022-02-15 金蝶软件(中国)有限公司 网关动态路由方法、装置、计算机设备和存储介质
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142868B (zh) * 2013-05-10 2019-05-07 腾讯科技(深圳)有限公司 建立连接的方法及装置
US9613224B2 (en) * 2014-06-25 2017-04-04 Oracle International Corporation Integrating a user's security context in a database for access control
CN104780224A (zh) * 2015-04-30 2015-07-15 北京奇艺世纪科技有限公司 一种远程服务调用方法及装置
CN105391688A (zh) * 2015-10-13 2016-03-09 北京锐安科技有限公司 数据连接的识别方法和装置

Also Published As

Publication number Publication date
CN105956000A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105956000B (zh) 一种数据交互方法及客户端
CN105337961B (zh) 和客户端进行通信的方法以及服务器
CN104618312B (zh) 一种m2m应用的远程注册方法、装置和系统
CN105516246B (zh) 一种防应用程序下载劫持的方法及服务器
CN109428749A (zh) 网络管理方法及相关设备
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN109660639A (zh) 一种数据上传方法、设备、系统及介质
CN109922156A (zh) 一种数据通信方法及其相关设备
CN103139157A (zh) 一种基于socket的网络通信方法、装置及系统
CN106302230B (zh) 一种数据传输方法及装置
CN111163130A (zh) 一种网络服务系统及其数据传输方法
CN110069346A (zh) 多进程间资源共享方法、装置、电子设备
CN109981538A (zh) 订阅事件的注册方法及系统、订阅事件的处理方法及系统
CN105516250B (zh) 物联网服务调用平台和系统
CN104219336B (zh) 实现数据连接的方法、装置及系统
CN110012107A (zh) 一种数据通信方法、设备、装置、系统及存储介质
CN111510382B (zh) 一种适于EXata仿真器的实时动态分簇方法和系统
CN106302432B (zh) 一种基于车联网的通信装置及控制方法
US8145698B1 (en) Self organizing peer-to-peer system, method, and/or apparatus
CN103414791A (zh) 移动应用开发云平台
CN104322034A (zh) 一种确定uc终端的地理位置的方法、装置和系统
CN110192382A (zh) 一种网络通信方法、对等体及系统
CN105933352B (zh) 基于客户端的服务器之间数据同步方法、客户端及系统
CN105424025B (zh) 一种室内导航的方法及移动终端
US10904115B2 (en) Anonymous integration of cloud based applications and on-premise network analytics

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210111

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511449 29 / F, building B-1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160921

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: A data interaction method and client

Granted publication date: 20190927

License type: Common License

Record date: 20210208