CN108243170A - 基于socket框架的数据访问系统及方法 - Google Patents
基于socket框架的数据访问系统及方法 Download PDFInfo
- Publication number
- CN108243170A CN108243170A CN201611227814.4A CN201611227814A CN108243170A CN 108243170 A CN108243170 A CN 108243170A CN 201611227814 A CN201611227814 A CN 201611227814A CN 108243170 A CN108243170 A CN 108243170A
- Authority
- CN
- China
- Prior art keywords
- socket
- extension set
- extension
- servers
- client
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Abstract
本发明公开了一种基于socket框架的数据访问系统及方法,包括若干socket客户端,还包括负载均衡服务器和若干socket服务器分机;socket服务器分机用于通过数据缓存进行socket客户端信息的交互和共享;与socket客户端建立连接,回应socket客户端的访问请求;负载均衡服务器用于存储每个socket服务器分机的分机地址,当socket客户端请求访问socket服务器分机时,其根据负载均衡原则发送相应的socket服务器分机的分机地址至socket客户端。本发明利用若干socket服务器分机构成集群分机,增加灵活性,解决了无法支持大批量并发用户的问题;socket服务器分机通过数据缓存进行socket客户端信息的交互和共享,解决了数据坑余的问题。
Description
技术领域
本发明涉及数据交互技术领域,特别是指一种基于socket框架的数据访问系统及方法。
背景技术
传统的Socket框架大多是以单服务器运行,只有部分使用集群方式运行,无法支持大批量并发用户。Socket服务器之间传输采用xml方式传输,传输时数据坑余非常高,从而导致性能很低。框架固定业务逻辑,处理效率不高,而且只提供低级的业务逻辑扩展。
发明内容
本发明提出一种基于socket框架的数据访问系统及方法,解决了现有技术中Socket服务器之间传输数据坑余非常高,从而导致性能很低的问题。
本发明的技术方案是这样实现的:
一种基于socket框架的数据访问系统,包括若干socket客户端,还包括负载均衡服务器和若干socket服务器分机;
所述socket服务器分机用于通过数据缓存进行所述socket客户端信息的交互和共享;与所述socket客户端建立连接,回应所述socket客户端的访问请求;
所述负载均衡服务器用于存储每个socket服务器分机的分机地址,当所述socket客户端请求访问所述socket服务器分机时,其根据负载均衡原则发送相应的socket服务器分机的分机地址至所述socket客户端。
进一步的,所述socket服务器分机、socket客户端和负载均衡服务器之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。
进一步的,所述包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。
进一步的,还包括分机管理器,所述分机管理器用于记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。
进一步的,所述socket服务器分机包括业务逻辑扩展模块,所述业务逻辑扩展模块用于将某个socket客户端的handler注册到总handler,获取session,进行信息回复。
一种基于socket框架的数据访问方法,具体包括以下步骤:
socket客户端向负载均衡服务器发出访问请求,请求获取一个socket服务器分机的分机地址;
所述负载均衡服务器根据负载均衡原则发送相应的socket服务器分机的分机地址至所述socket客户端;
所述socket服务器分机通过数据缓存共享数据信息,与所述socket客户端建立连接与交互。
进一步的,所述socket服务器分机、socket客户端和负载均衡服务器之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。
进一步的,所述包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。
进一步的,还包括以下步骤:
分机管理器记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。
进一步的,还包括以下步骤:
所述socket服务器分机将某个socket客户端的handler注册到总handler,获取session,进行信息回复。
本发明的有益效果在于:利用若干socket服务器分机构成集群分机,增加灵活性,解决了无法支持大批量并发用户的问题;socket服务器分机通过数据缓存进行所述socket客户端信息的交互和共享,解决了数据坑余的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于socket框架的数据访问系统一个实施例的原理框图。
图中,1-负载均衡服务器;2-第一socket客户端;3-第二socket客户端;4-第一socket服务器分机;5-第二socket服务器分机;6-第三socket服务器分机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提出了一种基于socket框架的数据访问系统,包括若干socket客户端,还包括负载均衡服务器1和若干socket服务器分机;具体的socket客户端包括第一socket客户端2和第二socket客户端3,socket服务器分机包括第一socket服务器分机4、第二socket服务器分机5、第三socket服务器分机6。
socket服务器分机用于通过数据缓存进行socket客户端信息的交互和共享;与socket客户端建立连接,回应socket客户端的访问请求;
负载均衡服务器1用于存储每个socket服务器分机的分机地址,当socket客户端请求访问socket服务器分机时,其根据负载均衡原则发送相应的socket服务器分机的分机地址至socket客户端。
负载均衡服务器1和若干socket服务器分机可以根据负载均衡的原则支持大批量并发用户,而且socket服务器分机之间通过数据缓存进行信息交互和共享,不必担心某个socket服务器分机不能满足socket客户端的访问请求。另外,数据缓存可以在完成访问后进行删除,不会占用较大的内存,能够解决数据冗余。
socket服务器分机、socket客户端和负载均衡服务器1之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。在具体的实施例中,数据长度字段的符号为L,包命令字段的符号为CMD,数据字段的个数≥1,其符号分别为P1、P2、……Pn,n为整数,n≥1。P1、P2、……Pn为固定长度的数据字段属于必须字段,还可包括不固定数据字段,其符号为JSON。
包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令的符号分别为S1、S2、C1、C2和C3。
使用二进制自定义协议进行交互和数据传输,使得本发明能够进一步大幅度减少数据流量,减少数据坑余。
每个socket服务器分机都会配备一个分机管理器,分机管理器用于记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。socket服务器分机之间的通信也是通过二进制自定义协议进行交互。
所有socket服务器分机之间通过数据缓存来共享客户端信息,所有socket客户端数据使用key-value存储。
socket服务器分机包括业务逻辑扩展模块,业务逻辑扩展模块用于将某个socket客户端的handler(针对这个包的调度处理)注册到总handler(总的包分发调度处理中心),获取session,进行信息回复。
本发明还提出了一种基于socket框架的数据访问方法,具体包括以下步骤:
socket客户端向负载均衡服务器发出访问请求,请求获取一个socket服务器分机的分机地址;
负载均衡服务器根据负载均衡原则发送相应的socket服务器分机的分机地址至socket客户端;
socket服务器分机通过数据缓存共享数据信息,与socket客户端建立连接与交互。
socket服务器分机、socket客户端和负载均衡服务器之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。在具体的实施例中,数据长度字段的符号为L,包命令字段的符号为CMD,数据字段的个数≥1,其符号分别为P1、P2、……Pn,n为整数,n≥1。P1、P2、……Pn为固定长度的数据字段属于必须字段,还可包括不固定数据字段,其符号为JSON。
包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令的符号分别为S1、S2、C1、C2和C3。
使用二进制自定义协议进行交互和数据传输,使得本发明能够进一步大幅度减少数据流量,减少数据坑余。
本发明还可以包括以下步骤:
分机管理器记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。
本发明还包括以下步骤:
socket服务器分机将某个socket客户端的handler注册到总handler,获取session,进行信息回复。本发明采用更加简洁的业务逻辑扩展,可以在最底层直接扩展业务逻辑。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于socket框架的数据访问系统,包括若干socket客户端,其特征在于:还包括负载均衡服务器和若干socket服务器分机;
所述socket服务器分机用于通过数据缓存进行所述socket客户端信息的交互和共享;与所述socket客户端建立连接,回应所述socket客户端的访问请求;
所述负载均衡服务器用于存储每个socket服务器分机的分机地址,当所述socket客户端请求访问所述socket服务器分机时,其根据负载均衡原则发送相应的socket服务器分机的分机地址至所述socket客户端。
2.根据权利要求1所述的基于socket框架的数据访问系统,其特征在于:所述socket服务器分机、socket客户端和负载均衡服务器之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。
3.据权利要求2所述的基于socket框架的数据访问系统,其特征在于:所述包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。
4.据权利要求1所述的基于socket框架的数据访问系统,其特征在于:还包括分机管理器,所述分机管理器用于记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。
5.据权利要求1所述的基于socket框架的数据访问系统,其特征在于:所述socket服务器分机包括业务逻辑扩展模块,所述业务逻辑扩展模块用于将某个socket客户端的handler注册到总handler,获取session,进行信息回复。
6.一种基于socket框架的数据访问方法,其特征在于,具体包括以下步骤:
socket客户端向负载均衡服务器发出访问请求,请求获取一个socket服务器分机的分机地址;
所述负载均衡服务器根据负载均衡原则发送相应的socket服务器分机的分机地址至所述socket客户端;
所述socket服务器分机通过数据缓存共享数据信息,与所述socket客户端建立连接与交互。
7.据权利要求6所述的基于socket框架的数据访问方法,其特征在于:所述socket服务器分机、socket客户端和负载均衡服务器之间通过二进制自定义协议进行交互;二进制自定义协议依次包括数据长度字段、包命令字段和数据字段。
8.据权利要求7所述的基于socket框架的数据访问方法,其特征在于:所述包命令字段包括分机验证命令、分机心跳命令、客户端验证命令、客户端心跳命令和客户端其他命令。
9.据权利要求6所述的基于socket框架的数据访问方法,其特征在于:还包括以下步骤:
分机管理器记录每个socket服务器分机的分机地址,管理本socket服务器分机与其他socket服务器分机的连接和交互。
10.据权利要求6所述的基于socket框架的数据访问方法,其特征在于:还包括以下步骤:
所述socket服务器分机将某个socket客户端的handler注册到总handler,获取session,进行信息回复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611227814.4A CN108243170A (zh) | 2016-12-27 | 2016-12-27 | 基于socket框架的数据访问系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611227814.4A CN108243170A (zh) | 2016-12-27 | 2016-12-27 | 基于socket框架的数据访问系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108243170A true CN108243170A (zh) | 2018-07-03 |
Family
ID=62702595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611227814.4A Pending CN108243170A (zh) | 2016-12-27 | 2016-12-27 | 基于socket框架的数据访问系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243170A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889439A (zh) * | 2019-03-25 | 2019-06-14 | 阔地教育科技有限公司 | 跨平台多场景的即时通讯方法 |
CN111629019A (zh) * | 2019-08-13 | 2020-09-04 | 广州凡科互联网科技股份有限公司 | 一种异步处理大数据和高并发的方法 |
CN112947333A (zh) * | 2021-02-05 | 2021-06-11 | 天津市普迅电力信息技术有限公司 | 一种基于socket长连接的均衡负载分片方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753558A (zh) * | 2009-12-11 | 2010-06-23 | 安徽科大讯飞信息科技股份有限公司 | 一种分布式mrcp服务器负载均衡系统及其均衡方法 |
CN101764836A (zh) * | 2008-12-23 | 2010-06-30 | 北京大学深圳研究生院 | 分布式心跳服务器架构及其进程处理方法 |
CN101990316A (zh) * | 2010-11-23 | 2011-03-23 | 连云港杰瑞深软科技有限公司 | 基于移动gprs无线通信平台的通信方法 |
CN104052824A (zh) * | 2014-07-04 | 2014-09-17 | 哈尔滨工业大学深圳研究生院 | 分布式缓存方法及系统 |
US9054913B1 (en) * | 2009-11-30 | 2015-06-09 | Dell Software Inc. | Network protocol proxy |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN106209824A (zh) * | 2016-07-07 | 2016-12-07 | 新奥特(北京)视频技术有限公司 | 数据的云编辑方法、系统以及云编辑的客户端 |
CN106230995A (zh) * | 2016-09-30 | 2016-12-14 | 武汉火凤凰云计算服务股份有限公司 | 一种m2m消息通信中间平台及其通信方法 |
-
2016
- 2016-12-27 CN CN201611227814.4A patent/CN108243170A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764836A (zh) * | 2008-12-23 | 2010-06-30 | 北京大学深圳研究生院 | 分布式心跳服务器架构及其进程处理方法 |
US9054913B1 (en) * | 2009-11-30 | 2015-06-09 | Dell Software Inc. | Network protocol proxy |
CN101753558A (zh) * | 2009-12-11 | 2010-06-23 | 安徽科大讯飞信息科技股份有限公司 | 一种分布式mrcp服务器负载均衡系统及其均衡方法 |
CN101990316A (zh) * | 2010-11-23 | 2011-03-23 | 连云港杰瑞深软科技有限公司 | 基于移动gprs无线通信平台的通信方法 |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN104052824A (zh) * | 2014-07-04 | 2014-09-17 | 哈尔滨工业大学深圳研究生院 | 分布式缓存方法及系统 |
CN106209824A (zh) * | 2016-07-07 | 2016-12-07 | 新奥特(北京)视频技术有限公司 | 数据的云编辑方法、系统以及云编辑的客户端 |
CN106230995A (zh) * | 2016-09-30 | 2016-12-14 | 武汉火凤凰云计算服务股份有限公司 | 一种m2m消息通信中间平台及其通信方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889439A (zh) * | 2019-03-25 | 2019-06-14 | 阔地教育科技有限公司 | 跨平台多场景的即时通讯方法 |
CN109889439B (zh) * | 2019-03-25 | 2021-09-14 | 阔地教育科技有限公司 | 跨平台多场景的即时通讯方法 |
CN111629019A (zh) * | 2019-08-13 | 2020-09-04 | 广州凡科互联网科技股份有限公司 | 一种异步处理大数据和高并发的方法 |
CN111629019B (zh) * | 2019-08-13 | 2022-11-18 | 广州凡科互联网科技股份有限公司 | 一种异步处理大数据和高并发的方法 |
CN112947333A (zh) * | 2021-02-05 | 2021-06-11 | 天津市普迅电力信息技术有限公司 | 一种基于socket长连接的均衡负载分片方法 |
WO2022166101A1 (zh) * | 2021-02-05 | 2022-08-11 | 天津市普迅电力信息技术有限公司 | 一种基于socket长连接的均衡负载分片方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9621620B2 (en) | Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus | |
CN106230896B (zh) | 一种消息推送方法、装置及系统 | |
CN103209223B (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
CN101540775B (zh) | 内容分发方法、装置与内容分发网络系统 | |
US20150317583A1 (en) | Business Scheduling Method and Apparatus and Convergence Device | |
CN101006727B (zh) | 分布式多媒体服务器系统和多媒体信息发布方法 | |
CN108989264A (zh) | 一种直播方法、系统以及相关设备 | |
EP2583423B1 (en) | Apparatus and method for configuring personal network using pn routing table | |
CN105827687A (zh) | 集群管理方法及其管理系统 | |
CN103607428A (zh) | 一种访问共享内存的方法和装置 | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN108243170A (zh) | 基于socket框架的数据访问系统及方法 | |
WO2017167027A1 (zh) | 一种网络接入方法、相关设备和系统 | |
CN106713378A (zh) | 实现多个应用服务器提供服务的方法和系统 | |
US20140032892A1 (en) | Method and apparatus for bootstrapping gateway in device management system | |
CN114338769B (zh) | 访问请求的处理方法及装置 | |
CN100563263C (zh) | 在网络存储业务中实现系统高可用性的方法和系统 | |
CN114338063B (zh) | 消息队列系统、业务处理方法及计算机可读存储介质 | |
US20130290080A1 (en) | Social media product reservation | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN101521682A (zh) | 一种综合远程监控系统及远程监控数据的处理方法 | |
CN107094175A (zh) | 一种实现网间互通的服务器部署结构及互通方法 | |
CN105447121A (zh) | 一种数据库集群重建连接高可用的方法 | |
US11729656B2 (en) | P-CSCF registration and discovery mechanism |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180703 |
|
RJ01 | Rejection of invention patent application after publication |