CN111787058A - 跨域虚拟数据空间中轻量级信息订阅和推送方法 - Google Patents

跨域虚拟数据空间中轻量级信息订阅和推送方法 Download PDF

Info

Publication number
CN111787058A
CN111787058A CN202010456902.1A CN202010456902A CN111787058A CN 111787058 A CN111787058 A CN 111787058A CN 202010456902 A CN202010456902 A CN 202010456902A CN 111787058 A CN111787058 A CN 111787058A
Authority
CN
China
Prior art keywords
message queue
message
server
client
master
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
Application number
CN202010456902.1A
Other languages
English (en)
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202010456902.1A priority Critical patent/CN111787058A/zh
Publication of CN111787058A publication Critical patent/CN111787058A/zh
Pending legal-status Critical Current

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/1097Protocols 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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
    • 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/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种跨域虚拟数据空间中轻量级信息订阅和推送方法,解决跨域虚拟数据空间性能访问的优化问题。针对广域网通信延迟高,带宽低和可靠性差问题,实现一种轻量级、主从模型的消息队列。首先设计一种主从模型的分布式消息队列保证其可靠性,主从之间建立长连接,采用心跳机制来确保双方的有效性;其次设计一种消息分类机制减少系统的开销,基于该机制从消息队列存储主消息队列的更新;最后设计一种超时重传平衡机制,在消息队列的开销与消息可靠性之间权衡,体现其轻量级的特点。广域网中的客户端通过订阅服务端更细粒度信息减少数据传输量,通过推送增量更新减少通信次数。以上可以缓解广域网通信的高延迟、低带宽和可靠性差问题。

Description

跨域虚拟数据空间中轻量级信息订阅和推送方法
技术领域
本发明公开了一种跨域虚拟数据空间中轻量级信息订阅和推送方法,涉及广域高性能计算的挑战,属于计算机技术领域。
背景技术
目前国家高性能计算环境中存储资源广域分散且隔离自治,大型计算应用迫切需要可支持跨域统一访问的全局数据空间,跨域虚拟数据空间根据此需要提出了区域划分及空间分配方法,跨域虚拟数据空间在广域环境中有大量的通信需求。广域网中的信息传输因其高延迟,低带宽,可靠性差等问题成为性能瓶颈,因此广域网中的信息传输问题给跨域虚拟数据空间访问性能优化带来了挑战。为解决跨域虚拟数据空间访问性能的优化问题,一种切实有效的办法是减少远程访问的开销,即减少广域环境下的通信次数和通信数据量。而减少远程访问开销的一种途径是订阅和推送方法,通过订阅一些需要的信息达到“不取多余数据,按需通信”的目的;通过推送增量更新,取代轮询的方式达到减少通信次数的目的。目前订阅和推送方法常基于消息队列实现,订阅和推送方法主要分为两种途径:一是根据自己系统需要定制开发消息队列;二是使用成熟的消息队列产品。
消息队列由于具有时空松耦合的特点,适用于大规模分布式计算系统,目前有很多分布式系统实现了自己的订阅和推送方法,例如Ceph系统的通信框架基于消息队列实现了Dispatcher和Messenger之间的信息订阅关系;Windows Azure的服务总线基于消息队列提供了ServiceBus Topics/Subscriptions功能,用来时间解耦、松耦合以及Webservice并保障服务器之间的负载均衡。除此之外消息队列还具有可靠性强、广播、流量控制、最终一致性等一系列特征,也是异步通信的主要手段。
Windows Azure系统中的服务总线队列功能提供了订阅和推送方法,该系统的订阅和推送模型由消费者,发布者和topic组成,发布者和消费者之间通过topic进行异步通信,发布者将消息发送至topic,消费者通过订阅不同主题的topic来接收信息,发布者可以连续不断的发布信息不需要消费者同时在线进行接收,也不需要等待消费者返回响应,消费者只需要从订阅主题的topic中接收信息。例如订阅杂志,有若干个消费者,同一本杂志可以根据订阅的数量发布给多个消费者。Topic根据数量将消息复制多份,发送到多个队列中,消费者从对应的队列中获取消息。在Topic将消息发送给队列的时候,可以设定过滤规则,假设发送的消息是地区信息,可以设置成只接收来自上海的订单,则Topic只会将来自上海的订单消息发送给队列1。
Ceph系统由四个组件组成,分别是客户端,对象存储(OSD),监视器和元数据服务器组成,每个组件由消息调度器(Dispatcher)和消息管理器(Messenger)组成,其中Dispatcher是消息的订阅者,它负责接收消息并进行处理或者将处理后的信息移交给消息管理器,不同的组件类型和消息类型对应消息调度器的类型也不同;消息管理器是消息的发布者,能将消息调度器移交的消息发布给其它组件的消息管理器或者从其它组件的消息管理器接收消息并将其移交给本节点的消息调度器,实现不同组件之间的消息交互。一个组件根据需求会注册一个或者多个消息管理器和多种不同类型的消息调度器。
目前很多系统也采用了成熟的消息队列产品,常用的消息队列产品有ActiveMQ,RocketMQ,RabbitMQ、Kafka,ZeroMQ等等。例如阿里电商应用系统中基于RocketMQ消息队列实现了系统间的解耦和在高并发访问时进行流量削峰。
在淘淘商城系统中,订单子系统在接收商城的下单后,进行业务逻辑处理并完成订单信息持久化处理后,将支付信息发送消息队列后,向商城返回用户订单下单成功,支付平台通过监听消息队列获取订单系统发送的支付信息,并进行支付处理,完成后仍然向消息队列发送结构信息。订单系统也通过监听消息队列来获取支付平台的处理,并同步订单数据的状态。而且在电商购物的“双十一”和“双十二”购物活动中给电商系统带来巨大访问量,通过使用消息队列来进行流量削峰,消息队列设置人数,当前端访问超时不用处理用户请求而直接返回错误,用户写入消息队列后,系统根据业务逻辑进行处理,这样的高并发不会使系统崩溃,保证了系统的可靠性。
现有方法存在的主要问题为:现有的企业型消息队列功能齐全,但是体积较大,需要引入许多的外部依赖,甚至需要单独运行第三方插件,有些消息队列在数据的持久化方面,会将所有数据存储于多个节点上,每次更新消息会把消息同步到所有节点,给系统带来极大开销;一些轻便型消息队列功能简单,使用方便,但是缺少消息的持久化机制以及确认机制,不能保证消息一定被对方接收。因此在跨域虚拟数据空间中实现一种轻量级的订阅和推送方法,提升跨域虚拟数据空间在广域环境下的访问性能,既能保证消息的可靠传输,又能减少系统开销,体现其可靠和轻量级的特点。
发明内容
本发明的主要目的是提供一种跨域虚拟数据空间中轻量级信息订阅和推送方法,解决跨域虚拟数据空间访问性能的优化问题,通过减少跨域虚拟数据空间在广域环境下的通信次数和通信数据量,缓解广域环境通信的高延迟、低带宽、可靠性差等问题,设计实现了一种轻量级的主从模型的分布式消息队列。针对消息队列以及广域环境通信的可靠性问题,设计一种主从模型的分布式消息队列,在服务端增加一个从消息队列,主从消息队列建立长连接,采用心跳机制来确保主从消息队列的有效性,当主消息队列崩溃时,自动切换到从消息队列继续为客户端服务,其次,从消息队列平时作为主消息队列的客户端,用来接受、存储主消息队列的更新,确保数据在广域环境中不会丢失。为了降低系统的开销,设计一种消息分类机制和超时重传平衡机制:消息分类机制指通过对消息的重要程度进行分类,赋予不同的优先级,系统根据不同的优先级采取不同的存储和确认机制;超时重传平衡机制是指当客户端和服务端连接失败或者传输消息失败的时候,采取的一种“不重试”和“一直重试”之间的权衡策略,可以降低系统的开销以及减少在广域环境下的通信次数,体现其轻量级的特点。
在上述保证可靠性和轻量性的基础上,跨域虚拟数据空间实现在广域环境中的订阅和推送方法,客户端通过订阅服务端一些更细粒度的信息,减少服务端和客户端在广域环境中的数据传输量;通过订阅和推送方法,当服务端有信息变动时,以增量更新的方式推送到客户端,替代客户端轮询的方式,减少广域环境中客户端和服务端通信的次数。通过以上两种方法,可以缓解广域网信息传输的高延迟、低带宽问题。
首先设计一种主从模型的分布式消息队列保证其可靠性,主从消息队列建立长连接,采用心跳机制来确保主从消息队列的有效性;其次设计一种消息分类机制减少系统的开销,基于该机制从消息队列作为主消息队列的客户端存储主消息队列所在的服务端的更新;最后设计一种超时重传平衡机制,在消息队列的开销与消息可靠性之间权衡,体现其轻量级的特点。广域网中的客户端通过订阅服务端更细粒度信息减少数据传输量和通信次数,根据消息分类机制实现消息确认机制。以上可以缓解广域网通信的高延迟、低带宽和可靠性差问题。
本发明跨域虚拟数据空间中轻量级信息订阅和推送方法包括以下步骤:
步骤1,设计一种主从模型的分布式消息队列,并采用长连接下的心跳机制确保有效性;
步骤2,以从消息队列作为主消息队列的备份,基于消息分类机制存储主消息队列的更新,确保数据在广域环境中的可靠性;
步骤3,采用超时重传平衡机制在消息队列的开销与消息可靠性之间权衡,实现轻量级的消息订阅和推送。
其中,步骤1包括以下步骤:
步骤1.1,准备两个服务器,每个服务器上运行一个消息队列作为服务端,服务端之间互相知道对方IP地址、端口号等信息;
步骤1.2,设置其中一个消息队列为主,另一个为从消息队列,主消息队列根据IP地址,端口信息连接从消息队列,主从消息队列所在的服务器均单独运行管理集群信息,但只有主消息队列的服务器为客户端服务,从消息队列的服务器负责存储主消息队列的更新和管理集群信息以及在主服务器失效时为客户端服务;
步骤1.3,主从服务器之间建立长连接,以定时心跳的机制确保主从服务器的有效性;
步骤1.4,主消息队列的服务器在向客户端发送更新的时候,会根据消息分类机制来选择是否将消息发送给从服务端,从服务器也会根据消息分类机制选择不同的存储策略来存储信息,这样可以在保证可靠性的前提下减少服务器的开销。
其中,步骤2包括以下步骤:
步骤2.1,从消息队列平时作为主消息队列的客户端,用来接受、存储主消息队列的更新,平时主消息队列在向客户端发送增量更新的时候,会同时向从消息队列发送一份用来存储主消息队列的更新,此时采用一种消息分类的策略来减小系统存储的开销;
步骤2.2,根据消息的类型的重要程度来确定其优先级,可以将优先级分为四等,分别是等级1,等级2,等级3,等级4;
步骤2.3,等级1是最高级,表示此类消息一旦改变,整个系统都受影响,例如对应超算中心的路径信息,超算中心的ID,IP信息,此时将优先级最高的消息永久存储;
步骤2.4,等级2是重要级别,表示此类消息一旦改变,客户端无法工作,对应超算中心的区域,空间的路径信息,此时将重要的消息长期存储;
步骤2.5,等级3是一般级别,表示此类消息一旦改变,系统某些时候可能无法正常工作,常见的是超算中心中除了路径信息之外的一些具体内容,如用户的权限信息,超算中心存储余量等等,此时将一般级别的信息临时存储;
步骤2.6,等级4表示普通级别,表示此类消息一旦改变,对系统无影响,例如服务端之间定时发送的心跳包,客户端请求的缓存信息,此时不存储普通消息,通过这种消息分类策略可以大大减小系统的开销和维护;
步骤2.7,客户端知道服务端的IP、端口号,主动连接服务端,通过特定的关键词来订阅不同粒度的数据,例如个人私有区域,个人私有空间等等,客户端和服务端也不必维持长连接,当客户端有需要的时候,可以根据自己的需要去订阅相应数据,客户端主动向服务端发起连接,获取数据;
步骤2.8,服务端保存有所有客户端的IP和端口号的列表,这样服务端知道连接任意客户端的信息,当服务端有信息更新时,服务端主动发起连接,推送信息到相应订阅者。根据消息分类机制定义消息的不同优先级,采取不同的确认机制,对于优先级为等级1,等级2的消息,客户端必须回复收到确认之后,消息队列才会将消息从队列中删除,否则服务端会进行定时重传;对于优先级为等级3,等级4的消息,客户端不进行回复确认,因为此时传输的是内容信息。
其中,步骤3包括以下步骤:
步骤3.1,当客户端与服务端之间的连接失败时,采用一种超时重传平衡策略来减少系统开销,在广域环境下,当连接失败时,既不能不重试连接,也不能一直重试连接,因为当对方宕机时,如果一直重试连接会造成很大的系统开销,基本思路是“慢重试”+“平滑重试”。
步骤3.2,“慢重试”的原理是由于网络拥塞等原因造成的短期连接失败,此时采用慢慢尝试的思想来避免给广域网络环境带来更大的拥塞和给客户端带来大量的冲击;“平滑重试”的原理是由于光纤被挖断,机房起火等原因造成的长期连接失败,此时采用较长的、比较均匀的时间间隔来重试连接,避免长时间等待;
步骤3.3,设置重试间隔T=[i*ax+(1-i)b*x1],i是基于重试次数得出的一个0或者1的值,x是重试次数,x1是当前重试次数减去慢重试设置的重试次数阈值,a是慢重试的时间间隔所采取的系数,b是平滑重试的时间间隔所采取的系数;
步骤3.4,通过给重试次数设置一个阈值,当小于此阈值时,此时为慢重试,i为1,根据方程来看此时是指数项,表明当刚连接失败时,采用指数增长的形式来进行重试,如3s,9s,27s等等,这样可以避免短时间的网络波动导致的连接失败使网络进一步堵塞;
步骤3.5,当重试次数大于该阈值时,此时为平滑重试,i为0,根据方程来看此时是线性关系式,表明当过了比较长一段时间后,还未连接成功,可以排除短时间的不可用,此时采用线性关系式,在保证重试时间间隔较长的基础上比较均匀的分摊重试时间,避免长时间等待,例如开始慢重试之后,进行平滑重试,2(h)*1,2(h)*2,2(h)*3等等(h是小时),这样可以缩短因故障的响应时间。
本发明的优点包括:
本发明提供了一种跨域虚拟数据空间轻量级信息订阅和推送方法,减少跨域虚拟数据空间中的通信次数和通信数据量,缓解广域网通信的高延迟,低带宽问题,与现有的订阅和推送方法相比,其主要优点是:
基于主从模型实现了一种分布式消息队列,可以解决跨域虚拟数据空间在广域网中通信的可靠性差的问题,可以更有效的满足跨域虚拟数据空间在广域网中的通信问题;基于一种消息分类策略给不同种类的消息设定优先级,根据不同优先级选择不同的存储策略和消息确认策略,降低了系统的开销,达到轻量级效果;基于一种超时重传平衡策略实现了在消息队列的开销与消息可靠性之间权衡,降低系统开销,达到轻量级效果,同时也可以缓解广域网通信的问题。该方法比起ZeroMQ这种体积小、快速的轻量级消息组件更加可靠,因为ZeroMQ没有消息确认机制以及消息的副本机制;比起RabbitMQ这些功能齐全,体积庞大的消息队列来说更加轻量级和易于使用,因为这些消息队列系统复杂,外部依赖过多,甚至还要运行单独插件和管理界面,另外它们的消息持久化存储,消息同步所有机器,性能开销非常大。
附图说明
图1为跨域虚拟数据空间中轻量级信息订阅和推送方法实施流程图。
图2为服务端建立主从关系的消息队列模型结构示意图。
图3为客户端连接服务端进行订阅的模型结构示意图。
图4为服务端连接客户端进行推送的模型结构示意图。
具体实施方式
以下结合附图(图1-图4)对本发明作进一步详细的说明。
如图1所示,是本发明的实施流程图。跨域虚拟数据空间轻量级信息订阅和推送方法,包括以下步骤:
1)服务端建立主从关系的消息队列模型,建立长连接,采用心跳机制确保主从消息队列的有效性,服务端采用消息分类策略;
2)客户端知道服务端的IP、端口号,主动连接服务端订阅相应内容;
3)服务端保存所有客户端IP、端口号的列表,当服务端信息更新时,服务端主动发起连接,推送增量更新到客户端。
跨域虚拟数据空间中服务端主从消息队列的模型如图2所示,定义一个状态结构体,当服务端状态为0时,表示主消息队列;当服务端状态为1时,表示从消息队列;2表示消息队列可用,3表示消息队列失效。当客户端连接服务端的时候,首先去寻找状态为1的主消息队列,若状态为0,则可以连接;若超过一定时间还无法连接采用慢重试策略,慢重试之后仍无法连接,则客户端请求连接从消息队列,从消息队列向主消息队列发送心跳包,若没有得到回复,则主消息队列不可用,此时从消息队列变为主消息队列向客户端提供服务,直到主消息队列恢复。当客户端连接到服务器之后,订阅某种类型的信息,服务端向客户端推送该类型的信息同时,根据消息分类策略将此信息复制一份发送给从消息队列,从消息队列接收之后,根据消息的不同优先级采用不同的存储策略,这样做是防止广域环境下信息丢失和减小系统开销。
客户端知道服务端的IP、端口号,主动连接服务端订阅相应内容的流程如图3所示,包括以下步骤:
1)用户使用虚拟数据空间软件时,需要首先申请一个自定义的区域,根据用户的定制信息,选择区域划分策略;管理节点空间分配模块进行虚拟存储空间的分配,以将数据区域映射到虚拟存储空间;每个用户的资源可以看作一个以用户为根节点的资源树,下面有用户自己定义的区域、空间等信息。
2)客户端知道主从消息队列的IP地址和端口号,向主消息队列请求建立连接
3)若连接建立成功,则客户端向服务端订阅细粒度的信息,例如客户端1向服务端订阅“化学空间”信息,根据不同优先级信息做出不同应对
4)若请求建立连接超时,采用慢重试策略,若仍失败,则客户端请求向从消息队列建立连接,连接建立后,进行步骤3)
5)客户端订阅成功之后,则服务端在向客户端传送数据的时候就不必以用户为粒度传送数据,而是采用细粒度的数据,这样可以大大减少传输过程中的数据量
服务端自动推送增量更新到客户端步骤如图4所示,包括以下步骤:
1)服务端保存所有可服务的客户端IP、端口号列表,当有客户端加入/退出的时候,需要在服务端手动添加/删除相应的客户端信息
2)当服务端信息更新时,服务端主动发起连接,推送增量更新到客户端;例如服务端中client5的区域名称发生变化,服务端从本地保存的客户端信息表中找到client5的地址信息,然后服务端请求与client5建立连接,建立连接成功后将信息推送到客户端。
3)若服务端请求与客户端建立连接不成功,采用超时重传平衡策略,服务端将数据暂时存储在本地,当超过慢重试时间,则不再存储,直到与客户端成功建立连接,然后将整个用户树下的信息发送给客户端,然后客户端进行增量更新;
4)通过以上方式可以减少跨域虚拟数据空间中的通信次数,减小系统在重试的时候开销,在一定程度上缓解跨域虚拟数据空间在广域网通信中高延迟、低带宽的问题。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
最后所应说明的是:本发明还可有其它多种应用场景,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.跨域虚拟数据空间中轻量级信息订阅和推送方法,其特征在于,包括其一,设计一种主从模型的分布式消息队列,在服务端增加一个从消息队列,主从消息队列建立长连接,采用心跳机制来确保主从消息队列的有效性,当主消息队列崩溃时,自动切换到从消息队列继续为客户端服务;其次,从消息队列平时作为主消息队列的客户端,用来接受、存储主消息队列的更新,确保数据在广域环境中不会丢失;其三,通过一种消息分类的策略以及一种超时重传平衡策略,减少消息队列的在系统中的开销,体现其轻量级的特点。
2.跨域虚拟数据空间中轻量级信息订阅和推送方法,其特征在于,包括以下步骤:
步骤1,设计一种主从模型的分布式消息队列,并采用长连接下的心跳机制确保有效性;
步骤2,以从消息队列作为主消息队列的备份,基于消息分类机制存储主消息队列的更新,确保数据在广域环境中的可靠性;
步骤3,采用超时重传平衡机制在消息队列的开销与消息可靠性之间权衡,实现轻量级的消息订阅和推送。
3.根据权利要求2所述的方法,其特征在于,步骤1包括以下步骤:
步骤1.1,准备两个服务器,每个服务器上运行一个消息队列作为服务端,服务端之间互相知道对方IP地址、端口号等信息;
步骤1.2,设置其中一个消息队列为主,另一个为从消息队列,主消息队列根据IP地址,端口信息连接从消息队列,主从消息队列所在的服务器均单独运行管理集群信息,但只有主消息队列的服务器为客户端服务,从消息队列的服务器负责存储主消息队列的更新和管理集群信息以及在主服务器失效时为客户端服务;
步骤1.3,主从服务器之间建立长连接,以定时心跳的机制确保主从服务器的有效性;
步骤1.4,主消息队列的服务器在向客户端发送更新的时候,会根据步骤2)的消息分类机制来选择是否将消息发送给从服务端,从服务器也会根据消息分类机制选择不同的存储策略来存储信息,这样可以在保证可靠性的前提下减少服务器的开销。
4.根据权利要求2所述的方法,其特征在于,步骤2包括以下步骤:
步骤2.1,从消息队列平时作为主消息队列的客户端,用来接受、存储主消息队列的更新,平时主消息队列在向客户端发送增量更新的时候,会同时向从消息队列发送一份用来存储主消息队列的更新,此时采用一种消息分类的策略来减小系统存储的开销;
步骤2.2,根据消息的类型的重要程度来确定其优先级,可以将优先级分为四等,分别是等级1,等级2,等级3,等级4;
步骤2.3,等级1是最高级,表示此类消息一旦改变,整个系统都受影响,例如对应超算中心的路径信息,超算中心的ID,IP信息,此时将优先级最高的消息永久存储;
步骤2.4,等级2是重要级别,表示此类消息一旦改变,客户端无法工作,对应超算中心的区域,空间的路径信息,此时将重要的消息长期存储;
步骤2.5,等级3是一般级别,表示此类消息一旦改变,系统某些时候可能无法正常工作,常见的是超算中心中除了路径信息之外的一些具体内容,如用户的权限信息,超算中心存储余量等等,此时将一般级别的信息临时存储;
步骤2.6,等级4表示普通级别,表示此类消息一旦改变,对系统无影响,例如服务端之间定时发送的心跳包,客户端请求的缓存信息,此时不存储普通消息,通过这种消息分类策略可以大大减小系统的开销和维护;
步骤2.7,客户端知道服务端的IP、端口号,主动连接服务端,通过特定的关键词来订阅不同粒度的数据,例如个人私有区域,个人私有空间等等,客户端和服务端也不必维持长连接,当客户端有需要的时候,可以根据自己的需要去订阅相应数据,客户端主动向服务端发起连接,获取数据;
步骤2.8,服务端保存有所有客户端的IP和端口号的列表,这样服务端知道连接任意客户端的信息,当服务端有信息更新时,服务端主动发起连接,推送信息到相应订阅者。根据消息分类机制定义消息的不同优先级,采取不同的确认机制,对于优先级为等级1,等级2的消息,客户端必须回复收到确认之后,消息队列才会将消息从队列中删除,否则服务端会进行定时重传;对于优先级为等级3,等级4的消息,客户端不进行回复确认,因为此时传输的是内容信息。
5.根据权利要求2所述的方法,其特征在于,步骤3包括以下步骤:
步骤3.1,当客户端与服务端之间的连接失败时,采用一种超时重传平衡策略来减少系统开销,在广域环境下,当连接失败时,既不能不重试连接,也不能一直重试连接,因为当对方宕机时,如果一直重试连接会造成很大的系统开销,基本思路是“慢重试”+“平滑重试”;
步骤3.2,“慢重试”的原理是由于网络拥塞等原因造成的短期连接失败,此时采用慢慢尝试的思想来避免给广域网络环境带来更大的拥塞和给客户端带来大量的冲击;“平滑重试”的原理是由于光纤被挖断,机房起火等原因造成的长期连接失败,此时采用较长的、比较均匀的时间间隔来重试连接,避免长时间等待;
步骤3.3,设置重试间隔T=[i*ax+(1-i)b*x1],i是基于重试次数得出的一个0或者1的值,x是重试次数,x1是当前重试次数减去慢重试设置的重试次数阈值,a是慢重试的时间间隔所采取的系数,b是平滑重试的时间间隔所采取的系数;
步骤3.4,通过给重试次数设置一个阈值,当小于此阈值时,此时为慢重试,i为1,根据方程来看此时是指数项,表明当刚连接失败时,采用指数增长的形式来进行重试,这样可以避免短时间的网络波动导致的连接失败使网络进一步堵塞;
步骤3.5,当重试次数大于该阈值时,此时为平滑重试,i为0,根据方程来看此时是线性关系式,表明当过了比较长一段时间后,还未连接成功,可以排除短时间的不可用,此时采用线性关系式,在保证重试时间间隔较长的基础上比较均匀的分摊重试时间,避免长时间等待,例如开始慢重试之后,进行平滑重试,2(h)*1,2(h)*2,2(h)*3等等(h是小时),这样可以缩短因故障的响应时间。
CN202010456902.1A 2020-05-26 2020-05-26 跨域虚拟数据空间中轻量级信息订阅和推送方法 Pending CN111787058A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010456902.1A CN111787058A (zh) 2020-05-26 2020-05-26 跨域虚拟数据空间中轻量级信息订阅和推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010456902.1A CN111787058A (zh) 2020-05-26 2020-05-26 跨域虚拟数据空间中轻量级信息订阅和推送方法

Publications (1)

Publication Number Publication Date
CN111787058A true CN111787058A (zh) 2020-10-16

Family

ID=72753195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010456902.1A Pending CN111787058A (zh) 2020-05-26 2020-05-26 跨域虚拟数据空间中轻量级信息订阅和推送方法

Country Status (1)

Country Link
CN (1) CN111787058A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096545A (zh) * 2019-03-12 2019-08-06 国网辽宁省电力有限公司信息通信分公司 一种基于大数据平台数据处理域构架方法
CN114500552A (zh) * 2022-01-25 2022-05-13 北京秒如科技有限公司 边缘计算场景下的云边消息可靠性传输方法及装置
CN114584617A (zh) * 2022-05-06 2022-06-03 南京维数软件股份有限公司 一种基于汇聚处理平台的抓拍数据分发方法及装置
CN114979249A (zh) * 2022-03-30 2022-08-30 阿里巴巴(中国)有限公司 消息句柄的创建方法、消息推送方法及相关装置和系统
CN117155736A (zh) * 2023-10-28 2023-12-01 南京德克威尔自动化有限公司 一种总线主站与从站间的定时通信方法
WO2024052981A1 (ja) * 2022-09-06 2024-03-14 日本電信電話株式会社 処理装置、処理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289159A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Message broadcasting in a clustered computing environment
CN104092767A (zh) * 2014-07-21 2014-10-08 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
CN104753817A (zh) * 2013-12-25 2015-07-01 中国移动通信集团公司 一种云计算消息队列服务本地模拟方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289159A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Message broadcasting in a clustered computing environment
CN104753817A (zh) * 2013-12-25 2015-07-01 中国移动通信集团公司 一种云计算消息队列服务本地模拟方法和系统
CN104092767A (zh) * 2014-07-21 2014-10-08 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢本捷: "分布式消息队列的理论、实现与应用", 《中国博士学位论文全文数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096545A (zh) * 2019-03-12 2019-08-06 国网辽宁省电力有限公司信息通信分公司 一种基于大数据平台数据处理域构架方法
CN114500552A (zh) * 2022-01-25 2022-05-13 北京秒如科技有限公司 边缘计算场景下的云边消息可靠性传输方法及装置
CN114979249A (zh) * 2022-03-30 2022-08-30 阿里巴巴(中国)有限公司 消息句柄的创建方法、消息推送方法及相关装置和系统
CN114584617A (zh) * 2022-05-06 2022-06-03 南京维数软件股份有限公司 一种基于汇聚处理平台的抓拍数据分发方法及装置
WO2024052981A1 (ja) * 2022-09-06 2024-03-14 日本電信電話株式会社 処理装置、処理方法およびプログラム
CN117155736A (zh) * 2023-10-28 2023-12-01 南京德克威尔自动化有限公司 一种总线主站与从站间的定时通信方法
CN117155736B (zh) * 2023-10-28 2024-01-02 南京德克威尔自动化有限公司 一种总线主站与从站间的定时通信方法

Similar Documents

Publication Publication Date Title
CN111787058A (zh) 跨域虚拟数据空间中轻量级信息订阅和推送方法
US8065680B2 (en) Data gateway for jobs management based on a persistent job table and a server table
US10367852B2 (en) Multiplexed demand signaled distributed messaging
US6178453B1 (en) Virtual circuit switching architecture
US5832514A (en) System and method for discovery based data recovery in a store and forward replication process
EP1829328B1 (en) System and methods for scalable data distribution
US7606867B1 (en) Ordered application message delivery using multiple processors in a network element
CN105357296A (zh) 一种Docker云平台下弹性缓存系统
CN109639773B (zh) 一种动态构建的分布式数据集群控制系统及其方法
US20090158298A1 (en) Database system and eventing infrastructure
CN107528891B (zh) 一种基于WebSocket的自动集群方法及其系统
CN108390919B (zh) 一种用于高可靠双机热备的消息同步系统及方法
US7343432B1 (en) Message based global distributed locks with automatic expiration for indicating that said locks is expired
CN109560903A (zh) 一种完全容灾的车载指挥通信系统
US9015371B1 (en) Method to discover multiple paths to disk devices cluster wide
CN102427474B (zh) 云存储中的数据传输系统
CN115134421B (zh) 一种多源异构数据跨系统协同管理系统及方法
CN114629782B (zh) 一种多个云平台间抗毁接替方法
US20200280512A1 (en) Optimized reconciliation in a controller-switch network
JP2000200245A (ja) 情報利用システム及び情報利用方法
CN114885007A (zh) 用于实时的强一致性会话同步的方法和电子设备
CN209134427U (zh) 一种完全容灾的车载指挥通信系统
CN116074392B (zh) 一种数据流传输模式智能化匹配方法与装置
CN111541667A (zh) 一种系统间消息通信的方法、设备、存储介质
KR100970212B1 (ko) 이기종간 db 쿼리의 동적 전환을 이용하여 장애에대처하는 인증 서비스 이중화 방법 및 시스템

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201016