CN111953785B - 数据传输方法、系统及服务器 - Google Patents

数据传输方法、系统及服务器 Download PDF

Info

Publication number
CN111953785B
CN111953785B CN202010818602.3A CN202010818602A CN111953785B CN 111953785 B CN111953785 B CN 111953785B CN 202010818602 A CN202010818602 A CN 202010818602A CN 111953785 B CN111953785 B CN 111953785B
Authority
CN
China
Prior art keywords
node
current
message
time stamp
information
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
CN202010818602.3A
Other languages
English (en)
Other versions
CN111953785A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010818602.3A priority Critical patent/CN111953785B/zh
Publication of CN111953785A publication Critical patent/CN111953785A/zh
Application granted granted Critical
Publication of CN111953785B publication Critical patent/CN111953785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/546Message passing systems or structures, e.g. queues
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供的一种数据传输方法、系统及服务器,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。

Description

数据传输方法、系统及服务器
技术领域
本发明涉及数据传输和处理领域,尤其涉及数据传输方法、系统及服务器。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
对于金融领域来说,市场波动风险极为重要,现有监控平台一般是针对系统级别的(比如数据库可用性,各应用系统的异常运信息况、性能监控等等),。但存在实时性不足,无法做到高频数据刷新(比如1秒1次的走势图刷新),并且是一般是触发到一个阈值参数才会登记到监控平台。无法支持带有某个指标实时变动的趋势的快速查看。比如在疫情期间的国际市场的剧烈波动,导致异常交易非法套利,如果此时有一个平台能实时有某个产品某项指标的趋势图,这样会提前做好预案从而防范于未然。并且对于特定业务领域的金融部门来说,想快速查看本业务系统的风险预警指标数据实时等等信息,需要手工登陆去各自子系统查看。
在节点层面,现在一般是同(异)地园区双活或者多活,以支持高可用。在某时刻,由某个节点处理数据并提供服务,半同步或者异步更新到备库。但发生故障切换如果对于异地园区而言会有一定延误,很多时候都需要人工介入,即使同园区也会存在自动切换失败的情况。或者节点性能出现下降时不能及时跟踪处理,导致最新数据无法及时展现。
发明内容
为了解决上述问题的至少一个,本发明实施例提供一种数据传输方法,包括:
主节点和备节点从建立连接关系的消息服务器中获取消息队列;其中,所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;
主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息。
在一些实施例中,中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到所述主节点的步骤包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,将当前主节点和当前备节点切换为主节点。
在一些实施例中,还包括:
所述主节点实时推送内存信息至所有信息网关服务器。
在一些实施例中,所述主节点中的信息获取服务器从建立连接关系的消息服务器中获取消息队列,包括:
所述主节点中的信息获取服务器发送拉取报文至所述消息服务器,所述拉取报文包括消息类型和信息获取服务器的唯一标识,以使所述消息服务器根据所述拉取报文返回对应的消息队列。
本发明另一方面实施例提供一种数据处理方法,应用于中间服务器,所述数据处理方法包括:
根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将所述消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到。
在一些实施例中,所述根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点,包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,判断切换当前主节点和当前备节点。
在一些实施例中,还包括:
获取并存储当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据。
本发明又一方面实施例提供一种数据传输系统,包括:主节点、备节点以及中间服务器;其中,主节点和备节点从建立连接关系的消息服务器中获取消息队列;所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;并且主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息。
本发明又一方面实施例一种中间服务器,包括:
判断模块,根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
切换模块,若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将所述消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到。
本发明又一方面实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述方法。
本发明又一方面实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述第一方面任一所述方法的计算机程序。
本发明的有益效果如下
本发明提供的一种数据传输方法、系统及服务器,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种数据传输方法流程示意图。
图2为本发明实施例中提供的一具体场景的流程示意图。
图3为本发明实施例中提供的一种数据传输装置结构示意图。
图4为本发明实施例中提供的一主节点和备节点状态更新示意图。
图5为本发明实施例中提供的一种节点处理信息示意图。
图6为适用于实现本发明中的数据传输方法的计算机设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
虽然本发明提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本发明实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行。
图1示出了本发明实施例中一种数据传输方法,包括:
S11:主节点和备节点从建立连接关系的消息服务器中获取消息队列;其中,所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;
S12:主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息。
本发明提供的数据传输方法,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。
在一些实施例中,中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到所述主节点的步骤包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,将当前主节点和当前备节点切换为主节点。
一些实施例中,还包括:所述主节点实时推送内存信息至所有信息网关服务器。
一些实施例中,中间服务器可以是zookeeper服务器。
一些实施例中,步骤S11具体包括:
所述主节点中的信息获取服务器发送拉取报文至所述消息服务器,所述拉取报文包括消息类型和信息获取服务器的唯一标识,以使所述消息服务器像英语所述拉取报文返回对应的消息队列。
图2示出了本发明实施例中一种数据处理方法,应用于中间服务器,所述数据处理方法包括:
S21:根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
S22:若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将所述消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到。
具体的,步骤S21包括:
S211:若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
S212:若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,判断切换当前主节点和当前备节点。
进一步的,本发明实施例还包括:获取并存储当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据。
下面提供一具体网络架构的场景。
如图3所示,总体上,信息网关服务器订阅并获取所有类型的风险信息,保证客户端接入任何网关均能获取全量信息。客户端随机路由到信息网关服务器获取消息,数据处理进行架构分层、各层采用异步更新、异步调用、多队列多线程等技术,以支持最高程度的高并发。
设计一个判定zookeeper,用以存放主节点和备节点开关信息和各节点的数据更新时间、可用性信息等等。籍此,在业务逻辑层提出了一种主节点和备节点判定和异步双写的双活部署,用节点上实际消息更新时间戳来更精确的判定节点性能和网络健康状况,以确定主节点和备节点。由此,可由该zookeeper辅助选择出精确到时间戳的最新数据所在的节点,以提供服务给下游的信息网关以及用户。
1、“总体结构”流程图参考图3:
“总体结构”步骤说明如下:
1、客户层与网络中间层(信息网关所在层次)之间订阅并推送信息(具体细节略),信息网关部署在网络中间层,对外暴露,可互联网直接访问,从稳定性的角度,不宜做业务逻辑层的处理(比如从哪里获取到信息,还有获取信息相关的属性,加工、整合等等)。
2、网络中间层与业务逻辑层之间订阅并推送信息(跟核心部分“信息获取服务器(节点)拉取推送信息流程”相关,这里概要描述流程):
2.1网络中间层所有活动的信息网关服务器连接到业务逻辑层的AB节点,群发报文给所有信息获取服务器,建立TCP协议长连接组,并在获取服务器上登记订阅参数信息,即:订阅关系是N:N的。
2.2为了保证信息的一致性和及时性,AB节点同时只能一个节点推送信息给信息网关服务器(此时称之为主节点)。主节点的信息获取服务器根据订阅参数信息,定时推送内存的信息给信息网关服务器。
3、业务逻辑层与后台系统层之间建立长连接组并拉取信息(跟核心部分“信息获取服务器(节点)拉取推送信息流程”有关联,这里概要描述流程)。
3.1业务逻辑层的AB节点的所有的信息获取服务器发送报文给后台系统层的KAFKA消息服务器,建立TCP协议长连接组,并初始化信息拉取线程,KAFKA消息服务器根据消息类型、获取服务器ID分成不同消息子队列。
3.2业务逻辑层的AB节点的拉取定时线程定时运行,向KAFKA消息服务器发送拉取报文(报文格式为json),报文内容包括消息类型,获取服务器ID(获取服务器所处理的消息类型可以是多种,即1:N关系)。
3.3KAFKA消息服务器响应拉取报文将对应子队列数据返回给获取服务器,同时清空子队列。后台系统层的每一个信息业务处理服务均对应不同信息来源,比如某种产品的某个指标的实时变化。定时或者根据触发条件,按照KAFKA消息服务器要求的格式上送到不同消息队列中。
2、“业务逻辑层”流程说明如下:
现在一般负载均衡用到的是F5和Nigix、Haproxy等,常规的功能有提供负载均衡策略和会话保持、健康检查等。
这里由于采用的是消息订阅等方式,无需会话保持等功能。并且考虑到负载均衡策略中一般的算法:轮询、优先权、最少连接、最快响应、动态性能分配等等,其中最快响应算法、动态性能分配等等只是用在请求分配到单一节点,如果负载策略为广播群发,则一般处理均只考虑到节点可用性等,并无精确到各节点实际处理时间。
本专利场景是要满足同步更新两个节点,但只用最新最快的节点数据提供给网络中间层的信息网关,否则信息网关可能拉取到不一致的信息数据。
所以在这里设计一个判定zookeeper用以存放主节点和备节点开关信息和各节点的数据更新时间、可用性信息等等。用节点上实际消息更新时间戳来更精确的判定节点性能和网络健康状况,以确定主节点和备节点。由此,业务逻辑层可以将更及时准确的数据推送到网络中间层。这个设计分成两部分说明:
第一部分:主节点和备节点开关状态更新
1.AB节点拉取kafka消息服务器时更新判定zookeeper的“主备”状态条件分支图如图4:
图4的虚线部分为异步执行。即:AB节点的信息拉取不存在先后依赖关联,AB节点的拉取信息和更新zookeeper没有相关性和存在耦合,可以独立进行。
2.判定zookeeper中的“主备”状态是用做AB节点的“实时消息推送定时线程”的开关。若为备,则不再推送信息到“网络中间层”。
各节点运行后台小批量,定时上送本节点的可用性和最新信息更新时间戳到判定zookeeper中(参考图3“业务逻辑层”部分)。若节点可用性为不正常,则更新时间戳为空;若跟上一次更新时间戳一致,则也上送空。
当前状态为“主”并且节点可用性为正常的节点从判定zookeeper中拉取另一节点的最新信息更新时间戳并跟阈值进行判定:
1.1若备节点时间戳不为空并且(主节点更新时间戳-备节点更新时间戳)在阈值允许范围内,则无需切换判定zookeeper中的“主备”状态。若括号内计算为负数,也无需切换。
1.2如果超过阈值,则切换判定zookeeper中的AB节点的“主备”状态。
1.3如果备节点时间戳为空,则无需切换。
1.4阀值参数需设置比目前生产上同园区虚拟IP自动切换时间大N(N<10)秒,以优先使用目前成熟的同园区切换方案、同园区切换失败后自动实现优先节点切换。
第二部分:信息获取服务器(节点)拉取推送信息流程参考图5。
1.节点订阅消息队列服务器信息数据并定时拉取消息报文,更新到实时信息队列(参考“总体结构”部分的“业务逻辑层与后台系统层之间建立长连接组并拉取信息”)。
2.更新结果上送到判定zookeeper中(参考图4)。
3.后台获取处理线程异步从实时信息队列读取数据更新到内存和REDIS数据库中。
4.考虑到数据库共享锁和排它锁的数据访问开销,定时行情异步统计分析过程在Java线程中完成,以便客户端直接查询使用,提高其界面渲染的处理效率,该结果信息也由定时推送线程推送到信息网关。
5.实时信息定时推送线程先判断zookeeper中存储的所在站点的主备状态信息,如果是“主”,再判断内存列表中是否有最新的信息(包括原始信息数据和统计分析线程的结果信息),读取各个信息网关服务器的订阅参数信息以确定推送目标和具体推送哪一类信息。
6.信息网关向信息获取服务器发起订阅请求报文(建立TCP单长连接,基于底层socket通信),登记网关订阅参数信息;并且接收信息获取服务器的实时信息定时推送线程主动推送过来的信息(二进制报文)。这两步为异步执行。
可以理解,本发明的效果与优点:
1、整体处理上支持多数据源信息在统一平台上的高频刷新;数据处理通过架构分层、异步更新、异步调用、多队列多线程达到高并发高访问;
2、业务逻辑层通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。并可解决目前同城异地双园区部署各自存在的弊端:异地故障切换存在一定延误,并部分需要人工操作;同城可能自动切换失败。通过增加自主判断提供服务(发送信息)的zookeeper、异步双写双活的方式,可做到进一步的更自动更准确的切换保障机制。
基于相同的发明构思,本发明实施例进一步提供一种数据传输系统,包括:主节点、备节点以及中间服务器;其中,主节点和备节点从建立连接关系的消息服务器中获取消息队列;所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;并且主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息。
本发明提供的一种数据传输系统,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。
基于相同的发明构思,本发明实施例进一步提供一种中间服务器,包括:
判断模块,根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
切换模块,若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将所述消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到。
本发明提供的一种中间服务器,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。
从硬件层面来说,为了本发明提供一种用于实现所述数据传输方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现服务器、装置、分布式消息中间件装置、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的数据传输方法的实施例,以及,数据传输方法装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图6为本发明实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据传输方法功能可以被集成到中央处理器9100中。例如,中央处理器9100可以被配置为进行如下控制:
S11:主节点和备节点从建立连接关系的消息服务器中获取消息队列;其中,所述主节点是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到;
S12:主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息。
从上述描述可知,本发明的实施例提供的电子设备,通过设置中间服务器,并且根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定得到主节点,进而在数据发送时由主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息,通过精确到时间戳的最新数据所在的节点的判定和自动切换,以及异步双写的部署方式,实现更为精准和及时的数据处理展现。
在另一个实施方式中,数据传输方法装置可以与中央处理器9100分开配置,例如可以将数据传输方法配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据传输方法功能。
如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据传输方法的全部步骤。
从上述描述可知,本发明的实施例提供的计算机可读存储介质,首先将预设的测试场景代码注入到待测试工程程序的代码文件中;然后通过类加载器加载所述代码文件,进而将所述待测试工程程序在所述测试场景下运行。本发明支持根据工程的实际情况,在不改动原有代码的情况下扩展程序的功能、改造适应需求的复杂场景,本发明不仅满足测试需求,同时满足使用简单,对测试工程影响小,可以随时使用以及关闭该工程的需求,为测试提供简单的方式去处理复杂的测试场景。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种数据传输方法,其特征在于,包括:
主节点和备节点从建立连接关系的消息服务器中获取消息队列;其中,所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;
主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息;
其中,所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定所述主节点的身份,包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,将当前主节点和当前备节点切换为主节点。
2.根据权利要求1所述的数据传输方法,其特征在于,还包括:
所述主节点实时推送内存信息至所有信息网关服务器。
3.根据权利要求1所述的数据传输方法,其特征在于,所述主节点中的信息获取服务器从建立连接关系的消息服务器中获取消息队列,包括:
所述主节点中的信息获取服务器发送拉取报文至所述消息服务器,所述拉取报文包括消息类型和信息获取服务器的唯一标识,以使所述消息服务器根据所述拉取报文返回对应的消息队列。
4.一种数据处理方法,其特征在于,应用于中间服务器,所述数据处理方法包括:
根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到;
其中,所述根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点,包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,判断切换当前主节点和当前备节点。
5.根据权利要求4所述的数据处理方法,其特征在于,还包括:
获取并存储当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据。
6.一种数据传输系统,其特征在于,包括:主节点、备节点以及中间服务器;其中,主节点和备节点从建立连接关系的消息服务器中获取消息队列;所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定;并且主节点将所述消息队列发送至所有信息网关服务器,以使客户端可随机路由到任意一个信息网关服务器获取消息;
其中,所述主节点的身份是中间服务器根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据确定所述主节点的身份,包括:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,将当前主节点和当前备节点切换为主节点。
7.一种中间服务器,包括:
判断模块,根据当前主节点和当前备节点的最新消息更新时间戳和上送的可用性数据,判断是否切换当前主节点和当前备节点;
切换模块,若判断切换,关闭切换后的备节点的实时消息推送线程,并打开切换后的主节点的实时消息推送线程,以使切换后的主节点将消息队列发送至所有信息网关服务器,进而客户端可随机路由到任意一个信息网关服务器获取消息;其中所述消息队列是所述主节点和备节点从建立连接关系的消息服务器中获取得到;
其中,所述判断模块,具体用于:
若当前主节点和当前备节点的最新消息更新时间戳与上一次更新时间戳相同或者当前主节点和当前备节点的可用性为不正常,更新所述最新消息更新时间戳为空;
若当前备节点的所述最新消息更新时间戳不为空,并且当前主节点与当前备节点的所述最新消息更新时间戳的差值超过设定阈值范围,判断切换当前主节点和当前备节点。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述的方法的计算机程序。
CN202010818602.3A 2020-08-14 2020-08-14 数据传输方法、系统及服务器 Active CN111953785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010818602.3A CN111953785B (zh) 2020-08-14 2020-08-14 数据传输方法、系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010818602.3A CN111953785B (zh) 2020-08-14 2020-08-14 数据传输方法、系统及服务器

Publications (2)

Publication Number Publication Date
CN111953785A CN111953785A (zh) 2020-11-17
CN111953785B true CN111953785B (zh) 2023-05-02

Family

ID=73342294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010818602.3A Active CN111953785B (zh) 2020-08-14 2020-08-14 数据传输方法、系统及服务器

Country Status (1)

Country Link
CN (1) CN111953785B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532731B (zh) * 2020-12-02 2023-04-07 上海英方软件股份有限公司 一种多路行情数据源自动择优的方法及装置
CN113301129B (zh) * 2021-05-11 2023-04-28 郑州阿帕斯数云信息科技有限公司 一种数据传输方法及装置
CN113505178B (zh) * 2021-07-15 2023-01-03 福建博思软件股份有限公司 一种基于数据双写的票据同步方法及终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352959A (zh) * 2020-02-28 2020-06-30 中国工商银行股份有限公司 数据同步补救、存储方法及集群装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106997310A (zh) * 2016-01-26 2017-08-01 杭州华为数字技术有限公司 负载均衡的装置和方法
CN107040576B (zh) * 2016-12-08 2020-03-10 阿里巴巴集团控股有限公司 信息推送方法及装置、通讯系统
CN109327509B (zh) * 2018-09-11 2022-01-18 武汉魅瞳科技有限公司 一种主/从架构的低耦合的分布式流式计算系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352959A (zh) * 2020-02-28 2020-06-30 中国工商银行股份有限公司 数据同步补救、存储方法及集群装置

Also Published As

Publication number Publication date
CN111953785A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN111953785B (zh) 数据传输方法、系统及服务器
JP2020537449A (ja) 通信ネットワークにおけるサービス登録
CN110365750A (zh) 服务注册系统及方法
CN105827446A (zh) 一种智能交通api网关及智能交通业务系统
KR100512781B1 (ko) 데이터의 공유방법, 단말장치 및 프로그램을 기록한 매체
CN112350873B (zh) 应用服务信息处理方法、应用服务调用方法、装置及系统
CN108540367B (zh) 一种消息处理方法及系统
CN112612851B (zh) 多中心数据同步方法及装置
CN112328413A (zh) 应用服务的调用方法、装置及系统
WO2009120345A4 (en) Updating routing and outage information in a communications network
CN114257532A (zh) 服务端状态探测方法及装置
CN117311794A (zh) 基于灰度发布的服务处理方法及装置
CN112860431A (zh) 微服务节点的连接方法、系统、设备及存储介质
CN110278109B (zh) 一种容灾方法及系统
CN116185755A (zh) 分布式负载均衡系统数据处理方法及装置
CN114697339A (zh) 集中式架构下的负载均衡方法及装置
CN105847894A (zh) 一种定时播放多媒体的方法、终端、服务器及系统
CN115914375A (zh) 分布式消息平台容灾处理方法及装置
CN112073322B (zh) 一种网络测试仪的发现方法和装置
CN115412610A (zh) 故障场景下的流量调度方法及装置
CN114374614A (zh) 网络拓扑配置方法及装置
CN113596793A (zh) 一种蓝牙低功耗设备控制方法及装置
WO2020104448A1 (en) Methods providing network service restoration context and related service instance sets and storage resource nodes
CN118175202B (zh) 代理连接方法、装置及相关设备
CN115119058B (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
GR01 Patent grant
GR01 Patent grant