CN110012050A - 消息处理、存储方法、装置及系统 - Google Patents

消息处理、存储方法、装置及系统 Download PDF

Info

Publication number
CN110012050A
CN110012050A CN201811471783.6A CN201811471783A CN110012050A CN 110012050 A CN110012050 A CN 110012050A CN 201811471783 A CN201811471783 A CN 201811471783A CN 110012050 A CN110012050 A CN 110012050A
Authority
CN
China
Prior art keywords
message
subregion
server
stored
business
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
CN201811471783.6A
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811471783.6A priority Critical patent/CN110012050A/zh
Publication of CN110012050A publication Critical patent/CN110012050A/zh
Pending legal-status Critical Current

Links

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/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/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种消息处理、存储方法、装置及系统,本说明书实施例的消息处理系统包括中心节点、至少一个服务端、以及设于消息发送方的消息发送模块。中心节点通过服务端预先为消息发送方的业务在分布式文件系统中配置分区,消息的分区个数固定,不会因为服务端的上、下线而影响同一消息发送方的分区数量。由于同一维度的待存储消息对应相同的分区标识,可以将同一维度的待存储消息串行发送并存储至同一分区中,保证同一维度的消息被顺序性存储。

Description

消息处理、存储方法、装置及系统
技术领域
本说明书涉及数据处理领域,尤其涉及消息处理、存储方法、装置及系统。
背景技术
随着互联网的迅猛发展,各种业务架构也越来越复杂,逐渐完成从传统单一架构到分布式架构的转变。在分布式架构下,子系统需要通过消息中间件来进行通信。消息中间件是分布式系统中常用的一种消息通讯的组件,主要用于系统间的解耦,是一种以消息为通讯介质并且帮助转发消息给不同的应用的系统。参与方按角色可以分为:消息发送方,消息服务端和消息消费方。消息发送方可以将消息发送到消息服务端,其他消息消费方可以通过向消息服务端发送消费请求来读取已存储成功的消息。某些消息,需要保证消息发送过程中的次序与消息消费过程中的次序保持一致。而消息在消息队列的流转过程中,可能导致消息的乱序,例如,出现消息先发送但后消费、或消息后发送先消费等现象。因此,需提供一种能保证消息顺序性的方案。
发明内容
为克服相关技术中存在的问题,本说明书提供了消息处理、存储方法、装置及系统。
根据本说明书实施例的第一方面,提供一种消息处理系统,包括中心节点、至少一个服务端、以及设于消息发送方的消息发送模块;
中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;
消息发送模块用于从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务;
服务端用于根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
在一个可选的实施例中,所述中心节点具体用于:在接收到消息发送方发送的携带有消息主题的分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息,将所述分区状态信息发送至各服务端;其中,所述服务端用于配置和管控所述业务的至少一个分区,所述分区状态信息包括:所述服务端标识、所述消息主题以及所述分区的分区标识三者对应关系;
所述服务端具体用于:依据分区状态信息中的服务端标识确定其是否有配置和管控分区的权限,并在具有权限时,为消息发送方在分布式文件系统中配置与所述消息主题和分区标识对应的分区。
在一个可选的实施例中,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
所述消息发送模块利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
在一个可选的实施例中,所述中心节点还用于:监测到服务端异常时,分配其他服务端以新建文件的方式接管该异常服务端所管控的分区,并将异常服务端所管控的分区对应的文件状态更改为不可写状态。
在一个可选的实施例中,所述系统还包括设于消息消费方的消息消费模块,消息消费方通过消息消费模块从中心节点中确定所订阅消息的分区标识和消息主题;
所述消息消费模块用于:向与消息主题和分区标识对应的服务端发送携带有分区标识和消息主题的消费请求;
所述服务端用于:在接收到消费请求时,根据所述分区标识以及消息主题确定分区路径,从分区路径对应的分区中单线程顺序读取消息,并通过消息消费模块将读取的消息反馈至消息消费方。
根据本说明书实施例的第二方面,提供一种基于上述任一项系统实现的消息处理方法,所述方法包括:
中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;
消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务;
服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
在一个可选的实施例中,所述通过服务端为消息发送方的业务在分布式文件系统中配置分区,包括:
中心节点在接收到消息发送方发送的携带有消息主题的分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息,将所述分区状态信息发送至各服务端;其中,所述服务端用于配置和管控所述业务的至少一个分区,所述分区状态信息包括:所述服务端标识、所述消息主题以及所述分区的分区标识三者对应关系;
服务端依据分区状态信息中的服务端标识确定其是否有配置和管控分区的权限,并在具有权限时,为消息发送方在分布式文件系统中配置与所述消息主题和分区标识对应的分区。
在一个可选的实施例中,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;
所述从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;
将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
根据本说明书实施例的第三方面,提供一种消息存储方法,所述方法应用于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;所述方法包括:
从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
根据本说明书实施例的第四方面,提供一种消息存储装置,所述装置设于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;所述装置包括:
标识确定模块,用于:从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
消息发送模块,用于:将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例的消息处理系统包括中心节点、至少一个服务端、以及设于消息发送方的消息发送模块。中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,实现每个业务对应一个固定分区集合,不会因为服务端的上、下线而影响同一消息发送方的分区数量。由于同一维度的待存储消息对应相同的分区标识,可以将同一维度的待存储消息串行发送并存储至同一分区中,保证消息的顺序性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种消息处理系统的结构示意图。
图2是本说明书根据一示例性实施例示出的一种消息处理方法的流程图。
图3是本说明书根据一示例性实施例示出的一种消息处理应用场景图。
图4是本说明书根据一示例性实施例示出的一种消息存储方法的流程图。
图5是本说明书根据一示例性实施例示出的一种消息存储装置所在计算机设备的硬件结构图。
图6是本说明书根据一示例性实施例示出的一种消息存储装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书实施例可能用到的技术用语进行解释。
存储设备,可以是能够存储数据的任何设备,诸如内存、文件、数据库、云盘等均可用于存储数据。
分布式存储,可以是将数据分散到多个存储服务器中来分担存储负荷,将单一的存储设备虚拟化为一个存储池,利用存储的扩展,可以提高数据的高可靠性,同时存储服务也保证高可用性。
消息的发送与消费,业务方可以将消息发送到服务器,并存储到某种存储设备中。消息存储到存储设备中之后,其他业务可以通过向服务端发送消费请求来读取已经存储成功的消息。消息发送方是发送业务消息的一方,消息消费方是消费业务消息的一方。在一个例子中,消息发送方和消息消费方可以以业务进行划分,因此,消息发送方也可以称为业务发送方,消息消费方也可以称为业务消费方。以一个具体例子进行说明,支付业务方可以作为消息发送方,在订单付款成功后,该支付业务方可以将付款成功的消息发送至服务端,而订阅该消息的天猫积分、支付宝积分等业务方可以作为消息消费方,以便从服务端读取到该消息后,天猫积分、支付宝积分等业务方可以做出相应的处理操作。
实际应用中,某些消息,需要保证消息发送过程中的次序与消息消费过程中的次序保持一致,这些消息也可以称为顺序消息。为此,消息存储时需要顺序存储,消息读取时也需要顺序读取。
为了保证消息能顺序存储,本说明书实施例提供一种消息中间件,采用固定分区保证可以将消息发送到指定的分区,单线程的消息发送保证发送过程中消息的顺序性,采用分布式存储服务可以保证数据具有高可靠性,而采用分布式文件系统可以降低成本。
以下结合附图对本说明书实施例进行示例说明。
如图1所示,是本说明书根据一示例性实施例示出的一种消息处理系统的结构示意图,所述系统包括:中心节点120、至少一个服务端140、以及设于消息发送方的消息发送模块160。中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息。消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务。服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
相应的,本说明书实施例还提供一种基于该消息处理系统实现的消息处理方法,如图2所示,是本说明书根据一示例性实施例示出的一种消息处理方法的流程图,所述方法包括:
在步骤202中,中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息。
在步骤204中,消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务。
在步骤206中,服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
可以理解的是,步骤202可以是预处理操作,步骤204至206可以是应用阶段的操作。
结合本说明书实施例中的消息处理系统和消息处理方法,对本说明书中的消息处理方案进行说明。
其中,消息发送模块可以嵌套在消息发送方,以便消息发送方调用消息发送模块所提供的服务。例如,以软件开发工具包(Software Development Kit,SDK)的形式嵌套在消息发送方。中心节点可以用于综合管理服务端,例如,可以为服务端分配分区等。服务端可以用于提供存储服务等消息处理服务。服务端可以由服务器实现,中心节点也可以由服务器实现。分布式文件系统可以由存储设备集群实现。
在本说明书实施例中,可以包括预处理阶段和应用阶段。
在预处理阶段,中心节点通过服务端为消息发送方在分布式文件系统中配置分区。在消息发送方中,按预设业务划分策略可以将同一业务的消息划分为不同维度,而同一维度的消息是需顺序存储的消息,至少要保证同一维度的消息被顺序存储。维度的划分策略可以由消息发送方而定,在此不做限定。业务的消息可以是与该业务相关的需进行存储的消息。同一业务的消息可以存储在多个分区中,而同一维度的消息存储在同一个分区中。同一业务所对应的所有分区可以简称为分区集合。同一业务所需分区的分区个数可以根据消息发送方的业务量以及单个分区处理能力的性能指标而定。例如,单个分区基本承担3000tps,如果业务量是10000,则可以根据10000与3000的比值,确定分区个数为4。在本实施例中,同一业务的消息所对应分区的分区个数是固定的,不会因为服务端的上线、下线而影响分区的数量。并且,同一个分区被同一服务端接管(管控/控制)。
中心节点通过服务端为消息发送方在分布式文件系统中配置分区。如,中心节点可以确定用于配置和管控消息发送方所对应分区的服务端,而具有权限的服务端可以为消息发送方在分布式文件系统中配置分区。由于消息发送方发送的消息实际存储在分布式文件系统中,因此,分布式文件系统中的分区可以称为物理分区。服务端中用于映射物理分区的信息可以称为逻辑分区,每个逻辑分区映射分布式文件系统中的物理分区。分布式系统为分布式文件系统时,物理分区可以是分布式文件系统中某文件目录下的文件。
在一个实施例中,中心节点在接收到消息发送方发送的携带有消息主题的分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息,将所述分区状态信息发送至各服务端;其中,所述服务端用于配置和管控所述业务的至少一个分区,所述分区状态信息包括:用于所述服务端标识、所述消息主题以及所述分区的分区标识三者对应关系;
服务端依据分区状态信息中的服务端标识确定其是否有配置和管控分区的权限,并在具有权限时,为消息发送方在分布式文件系统中配置与所述消息主题和分区标识对应的分区。
消息发送方需要进行分区申请时,可以向中心节点发送携带有消息主题的分区申请请求。消息主题用于标识业务,不同业务对应的消息主题不同。若消息发送方以业务进行划分,消息主题也可以是消息发送方的标识。中心节点接收到分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息。其中,业务所需分区个数可以根据该业务的业务量以及单个分区处理能力的性能指标而确定。在确定业务所需分区个数后,可以确定接管分区的服务端,即确定用于配置和管控该业务的分区的服务端。该业务可以被配置一个或多个分区,该业务的分区可以由同一个服务端接管,也可以由不同服务端接管,同一个分区被同一个服务端接管。在其他实施例中,除了将分区个数作为选择服务端的参考因素,还可以将服务端的性能以及已接管分区数量等信息作为选择服务端的参考因素,在此不一一列举。
在确定消息发送方的业务所需分区的分区个数、以及选中的服务端后,中心节点可以构建分区状态信息。如,server1:[topic-1,topic-2,topic-3],server2:[topic-0,topic-4]。其中,server1用于表示服务端标识,可以是服务端名称。topic用于表示消息主题。-后面的数字可以用于表示该服务端所管控分区的分区标识,例如分区号。将分区状态信息广播至所有服务端,服务端可以根据服务端标识确定与消息主题和分区标识对应的分区是否为自身所负责的分区,即确定其是否有负责与消息主题和分区标识对应的分区的权限。如,server1对应的服务端具有负责消息主题为topic、且分区号为1的分区、分区号为2的分区以及和分区号为3的分区的权限。
服务端在确定其具有负责某个消息主题下某一个或多个分区的权限时,可以为消息发送方在分布式文件系统中配置与该消息主题和分区标识对应的分区。
该实施例中,中心节点可以采用广播分区状态信息的方式,分配消息发送方所对应分区给服务端,以供服务端对分区进行管控。
在应用阶段,消息发送方可以调用消息发送模块中的程序,以使用消息发送模块所提供的服务。消息发送方需将待存储消息存储至分布式文件系统时,可以调用消息发送模块中的程序,通过消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端。
其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务。消息发送方的业务可以对应一个分区集合,分区集合中的分区可以利用分区标识进行区分,分区集合中不同分区的分区标识不同。
该实施例中,由于同一维度的待存储消息对应相同的分区标识,可以实现同一维度的待存储消息顺序存储到同一个分区中,从而实现顺序存储。
在一个实施例中,提供一种保证同一维度的待存储消息对应相同的分区标识的方式。在该实施例中,分区标识可以为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定,例如,预设取值范围的上限值可以为分区个数。预设取值范围的下限值可以为1。分区标识也可以称为分区号,从预设取值范围内为分区集合中每个分区配置分区号。
相应的,从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;
将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
其中,路由标识可以是消息发送方配置的用于唯一标识每类(一类为一个维度)消息的标识,每类消息是需顺序存储的消息。例如,路由标识可以是shardkey路由。消息发送方设置固定值(shardkey)作为消息路由的键值,通过该键值来将消息路由到指定的分区中。
由于同一维度的待存储消息所携带的路由标识相同,而利用同一路由标识进行预设运算后获得的分区标识相同,因此,可以保证同一维度的待存储消息存储至同一个分区中。具体的,同维度消息基于路由标识计算得到的哈希值相同,进而将哈希值与分区个数进行预设运算后得到的分区标识相同,因此,可以保证同维度消息被分往固定分区。不同维度消息基于路由标识计算得到的哈希值不同,但将哈希值与分区个数进行预设运算后得到的序号可能相同,也可能不同。例如,将同一业务的消息按预设业务划分策略划分不同维度消息时,若维度数量大于分区个数,则必然存在某个分区可能存储多个维度的消息的情况。举例说明,假设消息发送方是数据库,数据库中有10张表,每张表有唯一标识,该标识可以作为路由标识。该消息发送方所对应的分区可能只有5个,则可能存在某些分区负责多个表的情况。另外,不同维度的消息往往不存在顺序存储的需求,因此,不同维度的消息可以并发存储。
由上述实施例可见,由于同一维度的待存储消息所携带的路由标识相同,而利用同一路由标识进行预设运算后获得的分区标识相同,因此,可以保证同一维度的待存储消息存储至同一个分区中。又由于发送过程中是串行发送,并且存储过程中也是同步写入,因此可以保证同维度消息的顺序性。
在获得分区标识后,消息发送模块可以将待存储消息串行发送至与消息主题和分区标识对应的服务端。
中心节点可以为消息发送方提供服务端发现服务,消息发送方调用消息发送模块的程序时,可以利用中心节点所提供的服务端发现服务获得消息发送方所对应分区所属服务端的服务端集合,该服务端集合中每个服务端管控该消息发送方的分区集合中至少一个分区。因此,在获得分区标识后,可以从服务端集合中确定与消息主题和分区标识对应的服务端,并将待存储消息发送至所确定服务端中。
服务端可以根据分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。当写入成功后,服务端通过消息发送模块向消息发送方返回写入成功的响应信息,以便消息发送方可以继续发送该路由标识的消息。
其中,分区路径是用于唯一确定分区的路径。若分布式系统为分布式文件系统,分区路径可以是文件目录。例如,业务1对应一个消息主题TP_TEST_1、且有5个分区,步骤204所确定的分区标识为1,则所构建的文件目录可以是:…/TP_TEST_1/1/。
服务端收到消息,调用存储服务,将消息写入分布式存储中。由于使用的分布式存储写入数据到指定路径的文件时,只能有唯一的操作者,相同分区标识的消息只能发往同一个服务端,因此可以保证相同分区标识下的消息是顺序存储的,而不同分区标识的消息可以并行发送,保证发送的并发性。
在实际应用中,可能由于服务端异常而导致服务端所管控的分区不可用,进而导致消息写入失败,因此,中心节点还可以在服务端出现异常时控制其他服务端管控异常服务端所管控的分区。而某些场景中,服务端异常可能是网络等原因导致的假死状态,若异常服务端恢复正常后,可能出现两个服务端管控同一个分区的情况,为了避免这种情况,所述中心节点还用于:监测到服务端异常时,分配其他服务端以新建文件的方式接管该异常服务端所管控的分区,并将异常服务端所管控的分区对应的文件状态更改为不可写状态。
由于将异常服务端所管控的分区对应的文件状态更改为不可写状态,在异常服务端恢复正常时,由于文件状态更改为不可写状态,则会出现消息写入失败的情况,此时,异常服务端可以向中心节点咨询其是否还具有管控分区的权限,根据中心节点反馈的响应信息,该异常服务端可以放弃相应分区。
可见,通过监测到服务端异常时,分配其他服务端以新建文件的方式接管该异常服务端所管控的分区,并将异常服务端所管控的分区对应的文件状态更改为不可写状态,可以避免假死状态导致两个服务端管控同一个分区的情况。
本说明书实施例还提供一种消息消费的处理手段。如图1所示,所述系统还包括设于消息消费方的消息消费模块180,消息消费方通过消息消费模块从中心节点中确定所订阅消息的分区标识和消息主题。消息消费方可以根据规则预先分配好需要消费的分区。
在应用阶段,消息消费方需消费消息时,消息消费模块向与消息主题和分区标识对应的服务端发送携带有分区标识和消息主题的消费请求;服务端在接收到消费请求时,根据所述分区标识以及消息主题确定分区路径,从分区路径对应的分区中单线程顺序读取消息,并通过消息消费模块将读取的消息反馈至消息消费方,以便消息消费方在接收到响应信息后,可以继续发送拉取该分区消息的消费请求。
消息消费方对于单个分区的消息是串行拉取的,并且服务端对于该分区的消息也是顺序读取,同时消息消费方在获取到消息之后,也是单线程顺序消费,所以可以保障在消费过程中也是顺序的。
以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
以下以其中一种组合进行示例说明。如图3所示,是本说明书根据一示例性实施例示出的一种消息处理应用场景图。在该示例中,以一个服务端为例进行示例说明。服务端被中心节点分配n个逻辑分区,每个逻辑分区对应分布式文件系统中的物理分区。
消息发送方通过消息发送模块,将带有相同shardkey的消息串行发送消息给服务端。其中,消息携带消息发送方(业务方)设置的shardkey,在消息发送模块根据shardkey计算出所对应的hash值,并将对应的hash值与全局固定分区数做模运算,获得分区号,通过分区号和消息所属消息主题确定逻辑分区,将消息发送到逻辑分区所对应的服务端。
服务端收到消息,调用存储服务,将消息写入分布式文件系统中。其中,由于使用的分布式存储写入数据到指定路径的文件时,只能有唯一的操作者,相同逻辑分区的消息只能发往同一个服务端,从而保证消息顺序发送。
服务端返回写入成功的响应给消息发送方,消息发送方可以继续发送此shardkey的消息。
可见,发送过程中相同shardkey的消息,由于发送过程中是串行的,并且存储过程中也是同步写入的,可以保证消息的顺序性;不同的shardkey的消息可以并发发送,保证发送的并发性,并且发送消息过程中可以支持shardkey维度的消息顺序性。
消息消费方根据规则预先分配好需要消费的逻辑分区,通过消息消费模块向逻辑分区所在服务端发送消费请求。服务端对于指定逻辑分区的消息消费请求,顺序读取分布式存储中的消息,然后将读取的消息返回给消息消费方。消息消费方通过消息消费模块收到消息消费请求的响应之后,可以继续发送拉取该分区的消息;消费端单线程顺序消费该分区的消息。
可见,消息消费方对于单个分区的消息是串行拉取的,并且服务端对于该分区的消息也是顺序读取,并且消费端在获取到消息之后,也是单线程顺序消费,所以可以保障在消费过程中也是顺序的。
整个发送、消费消息的流程中,可以保证消息的顺序消费,并且消息的高可靠性可以由分布式文件系统来保证,并且存储的经济成本比数据库模式小,同时,可以保证shardkey维度的顺序消息,并且在shardkey维度可以进行并行发送消息,保证了发送端的吞吐能力,符合业务顺序消息的场景。
相应的,本说明书还从消息存储的角度提供一种消息存储方法,所述方法应用于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;如图4所示,是本说明书根据一示例性实施例示出的一种消息存储方法的流程图,所述方法包括:
在步骤402中,从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
在步骤404中,将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
可以理解的是,图4与图2中相关技术相同,在此不一一赘述。
在一个实施例中,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;所述从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;
将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
与前述消息存储方法的实施例相对应,本说明书还提供了消息存储装置及其所应用的电子设备的实施例。
本说明书消息存储装置的实施例可以应用在计算机设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书消息存储装置所在计算机设备的一种硬件结构图,除了图5所示的处理器510、网络接口520、内存530、以及非易失性存储器540之外,实施例中消息存储装置531所在的计算机设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
在一个实施例中,提供一种消息存储装置,所述装置设于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;如图6所示,是本说明书根据一示例性实施例示出的一种消息存储装置的结构图,所述装置包括:
标识确定模块62,用于:从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
消息发送模块64,用于:将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
在一个实施例中,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;所述标识确定模块62具体用于:
利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;
将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本说明书实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述消息存储方法。
相应的,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序指令,所述程序指令包括:
从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种消息处理系统,包括中心节点、至少一个服务端、以及设于消息发送方的消息发送模块;
中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;
消息发送模块用于从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务;
服务端用于根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
2.根据权利要求1所述的系统,所述中心节点具体用于:在接收到消息发送方发送的携带有消息主题的分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息,将所述分区状态信息发送至各服务端;其中,所述服务端用于配置和管控所述业务的至少一个分区,所述分区状态信息包括:所述服务端标识、所述消息主题以及所述分区的分区标识三者对应关系;
所述服务端具体用于:依据分区状态信息中的服务端标识确定其是否有配置和管控分区的权限,并在具有权限时,为消息发送方在分布式文件系统中配置与所述消息主题和分区标识对应的分区。
3.根据权利要求1所述的系统,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
所述消息发送模块利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
4.根据权利要求1所述的系统,所述中心节点还用于:监测到服务端异常时,分配其他服务端以新建文件的方式接管该异常服务端所管控的分区,并将异常服务端所管控的分区对应的文件状态更改为不可写状态。
5.根据权利要求1至4任一项所述的系统,所述系统还包括设于消息消费方的消息消费模块,消息消费方通过消息消费模块从中心节点中确定所订阅消息的分区标识和消息主题;
所述消息消费模块用于:向与消息主题和分区标识对应的服务端发送携带有分区标识和消息主题的消费请求;
所述服务端用于:在接收到消费请求时,根据所述分区标识以及消息主题确定分区路径,从分区路径对应的分区中单线程顺序读取消息,并通过消息消费模块将读取的消息反馈至消息消费方。
6.一种基于权利要求1至5任一项系统实现的消息处理方法,所述方法包括:
中心节点通过服务端为消息发送方的业务在分布式文件系统中配置分区,所述业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;
消息发送模块从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,并将待存储消息串行发送至与消息主题和所述分区标识对应的服务端,其中,同一维度的待存储消息对应相同的分区标识,所述消息主题用于标识所述业务;
服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中。
7.根据权利要求6所述的方法,所述通过服务端为消息发送方的业务在分布式文件系统中配置分区,包括:
中心节点在接收到消息发送方发送的携带有消息主题的分区申请请求时,至少依据该消息主题所指示的业务所需分区个数,确定服务端的服务端标识,并生成分区状态信息,将所述分区状态信息发送至各服务端;其中,所述服务端用于配置和管控所述业务的至少一个分区,所述分区状态信息包括:所述服务端标识、所述消息主题以及所述分区的分区标识三者对应关系;
服务端依据分区状态信息中的服务端标识确定其是否有配置和管控分区的权限,并在具有权限时,为消息发送方在分布式文件系统中配置与所述消息主题和分区标识对应的分区。
8.根据权利要求6所述的方法,所述分区标识为预设取值范围内的值,预设取值范围的上限值基于分区个数而确定;
所述从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,包括:
利用哈希函数计算待存储消息所携带的路由标识的哈希值,同一维度的待存储消息所携带的路由标识相同;
将所述哈希值与所述分区集合中分区个数进行预设运算,获得用于存储待存储消息的分区的分区标识,所述预设运算包括求模运算或求余运算。
9.一种消息存储方法,所述方法应用于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;所述方法包括:
从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
10.一种消息存储装置,所述装置设于消息发送方,在分布式文件系统中预先为消息发送方的业务配置分区,每个业务对应一个分区集合,所述业务的消息被划分为不同维度、且同一维度的消息是需顺序存储的消息;所述装置包括:
标识确定模块,用于:从待存储消息所属业务的分区集合中确定用于存储所述待存储消息的分区的分区标识,同一维度的待存储消息对应相同的分区标识;
消息发送模块,用于:将所述待存储消息串行发送至与消息主题和所述分区标识对应的服务端,以供服务端根据所述分区标识和消息主题确定分区路径,将所述待存储消息存储在分区路径对应的分区中,所述消息主题用于标识所述业务。
CN201811471783.6A 2018-12-04 2018-12-04 消息处理、存储方法、装置及系统 Pending CN110012050A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811471783.6A CN110012050A (zh) 2018-12-04 2018-12-04 消息处理、存储方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811471783.6A CN110012050A (zh) 2018-12-04 2018-12-04 消息处理、存储方法、装置及系统

Publications (1)

Publication Number Publication Date
CN110012050A true CN110012050A (zh) 2019-07-12

Family

ID=67165024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811471783.6A Pending CN110012050A (zh) 2018-12-04 2018-12-04 消息处理、存储方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110012050A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930533A (zh) * 2020-07-28 2020-11-13 银盛支付服务股份有限公司 一种基于kafka的生产消费同一数据的有序处理方法及系统
CN113505012A (zh) * 2021-09-13 2021-10-15 北京宇信科技集团股份有限公司 一种消息队列的处理方法、介质、设备和系统
WO2022073293A1 (zh) * 2020-10-10 2022-04-14 同程网络科技股份有限公司 分布式订单处理方法、装置、设备及存储介质
CN114461153A (zh) * 2022-04-12 2022-05-10 武汉中科通达高新技术股份有限公司 安防视频数据的处理方法、装置、电子设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034540A (zh) * 2012-11-16 2013-04-10 北京奇虎科技有限公司 分布式消息系统及其设备和协调方法
CN104364761A (zh) * 2012-06-15 2015-02-18 思杰系统有限公司 用于在集群网络中转发流量的系统和方法
US20160094553A1 (en) * 2014-09-26 2016-03-31 Futurewei Technologies, Inc. Hash-Based Forwarding In Content Centric Networks
CN106210049A (zh) * 2016-07-12 2016-12-07 Tcl集团股份有限公司 一种基于消息列队的集群通信方法及系统
CN106375200A (zh) * 2016-11-08 2017-02-01 上海找钢网信息科技股份有限公司 消息系统及消息处理方法
CN106462460A (zh) * 2014-05-01 2017-02-22 微软技术许可有限责任公司 基于维度的负载平衡
CN107004196A (zh) * 2014-12-19 2017-08-01 脸谱公司 促成发送和接收个人对企业支付
CN107391526A (zh) * 2017-03-28 2017-11-24 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN107861686A (zh) * 2017-09-26 2018-03-30 深圳前海微众银行股份有限公司 文件存储方法、服务端和计算机可读存储介质
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质
CN107918620A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 一种数据库的写入方法及装置、电子设备
US20180129702A1 (en) * 2014-07-14 2018-05-10 Oracle International Corporation Age-based policies for determining database cache hits
CN108509281A (zh) * 2017-03-30 2018-09-07 北京云中融信网络科技有限公司 消息存储方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104364761A (zh) * 2012-06-15 2015-02-18 思杰系统有限公司 用于在集群网络中转发流量的系统和方法
CN103034540A (zh) * 2012-11-16 2013-04-10 北京奇虎科技有限公司 分布式消息系统及其设备和协调方法
CN106462460A (zh) * 2014-05-01 2017-02-22 微软技术许可有限责任公司 基于维度的负载平衡
US20180129702A1 (en) * 2014-07-14 2018-05-10 Oracle International Corporation Age-based policies for determining database cache hits
US20160094553A1 (en) * 2014-09-26 2016-03-31 Futurewei Technologies, Inc. Hash-Based Forwarding In Content Centric Networks
CN107004196A (zh) * 2014-12-19 2017-08-01 脸谱公司 促成发送和接收个人对企业支付
CN106210049A (zh) * 2016-07-12 2016-12-07 Tcl集团股份有限公司 一种基于消息列队的集群通信方法及系统
CN107918620A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 一种数据库的写入方法及装置、电子设备
CN106375200A (zh) * 2016-11-08 2017-02-01 上海找钢网信息科技股份有限公司 消息系统及消息处理方法
CN107391526A (zh) * 2017-03-28 2017-11-24 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108509281A (zh) * 2017-03-30 2018-09-07 北京云中融信网络科技有限公司 消息存储方法及装置
CN107861686A (zh) * 2017-09-26 2018-03-30 深圳前海微众银行股份有限公司 文件存储方法、服务端和计算机可读存储介质
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930533A (zh) * 2020-07-28 2020-11-13 银盛支付服务股份有限公司 一种基于kafka的生产消费同一数据的有序处理方法及系统
WO2022073293A1 (zh) * 2020-10-10 2022-04-14 同程网络科技股份有限公司 分布式订单处理方法、装置、设备及存储介质
CN113505012A (zh) * 2021-09-13 2021-10-15 北京宇信科技集团股份有限公司 一种消息队列的处理方法、介质、设备和系统
CN114461153A (zh) * 2022-04-12 2022-05-10 武汉中科通达高新技术股份有限公司 安防视频数据的处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110012050A (zh) 消息处理、存储方法、装置及系统
CN107092437B (zh) 数据写入、读取方法及装置、云存储系统
US20190034084A1 (en) Selecting controllers based on affinity between access devices and storage segments
CN106375462B (zh) 在分布式消息系统中实现消息持久化的方法及装置
CN108282514B (zh) 一种分布式业务建立方法及装置
CN106503058B (zh) 一种数据加载方法、终端和计算集群
CN110032571A (zh) 业务流程处理方法、装置、存储介质及计算设备
CN111190810B (zh) 执行测试任务的方法、装置、服务器和存储介质
CN103607424B (zh) 一种服务器连接方法及服务器系统
US20120297056A1 (en) Extensible centralized dynamic resource distribution in a clustered data grid
CN113806066A (zh) 大数据资源调度方法、系统和存储介质
CN102333029A (zh) 一种服务器集群系统中的路由方法
CN104011701A (zh) 内容传送网络
KR101545626B1 (ko) Dds-db 연동 시스템
CN105162879B (zh) 实现多机房数据一致性的方法、装置及系统
US20200050479A1 (en) Blockchain network and task scheduling method therefor
CN108924244A (zh) 分布式系统以及用于该系统的流量分配方法和装置
CN110198346B (zh) 数据读取方法、装置、电子设备及可读存储介质
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
US8832215B2 (en) Load-balancing in replication engine of directory server
CN110244901A (zh) 任务分配方法及装置、分布式存储系统
CN105978744B (zh) 一种资源分配方法、装置及系统
CN104142871A (zh) 用于数据备份的方法、装置和分布式文件系统
US20100198971A1 (en) Dynamically provisioning clusters of middleware appliances
CN109889561A (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
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20190712

RJ01 Rejection of invention patent application after publication