CN114385575A - 数据存储系统、数据订阅方法及装置、电子设备 - Google Patents

数据存储系统、数据订阅方法及装置、电子设备 Download PDF

Info

Publication number
CN114385575A
CN114385575A CN202011126447.5A CN202011126447A CN114385575A CN 114385575 A CN114385575 A CN 114385575A CN 202011126447 A CN202011126447 A CN 202011126447A CN 114385575 A CN114385575 A CN 114385575A
Authority
CN
China
Prior art keywords
data
target
target service
service
control data
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
CN202011126447.5A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011126447.5A priority Critical patent/CN114385575A/zh
Publication of CN114385575A publication Critical patent/CN114385575A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种分布式的数据存储系统、一种基于分布式的数据存储系统的数据订阅方法及装置、存储介质、电子设备,涉及数据存储技术领域。数据的订阅方法包括:目标业务服务器订阅存储于集群中目标业务的目标业务数据;响应于集群中关于目标业务的目标控制数据更新,通过集群中部署在目标业务服务器本地的存储节点接收更新后的目标控制数据;目标业务服务器基于本地的存储节点中的目标控制数据实现对目标业务数据的订阅。本公开提供的文件存储方案能够有效降低了业务服务器端的数据冗余,节省了本地内存空间,同时有利于业务服务器进行数据订阅的多个进程之间数据一致性。

Description

数据存储系统、数据订阅方法及装置、电子设备
技术领域
本公开涉及数据存储技术领域,具体而言,涉及一种分布式的数据存储系统、一种基于分布式的数据存储系统的数据订阅方法、装置,以及实现上述数据订阅方法的电子设备。
背景技术
随着业务数据化的推进,业务数据量也不断增加,因此不适将业务数据直接存储在相关服务器中。目前,一般是将业务数据集中存储至集群中。而处理业务的服务器可以通过订阅的方式在集群中获取到相关业务数据。
相关的数据订阅技术中,由于集群中数据可能随时会发生更新,为了及时获取到更新后的数据,业务服务器一般在每个订阅进程中都对集群中是否有数据更新进行监控。
然而,相关技术提供的数据订阅方法存在资源占用量大且资源利用率低的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种分布式的数据存储系统、一种基于分布式的数据存储系统的数据订阅方法、装置,以及实现上述数据订阅方法的电子设备和计算机可读存储介质,进而在一定程度上提升了资源利用率。
根据本公开的第一方面,提供一种基于分布式的数据存储系统的数据订阅方法,所述方法包括:
目标业务服务器订阅存储于集群中目标业务的目标业务数据;响应于上述集群中关于上述目标业务的目标控制数据更新,通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据;上述目标业务服务器基于本地的存储节点中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述目标业务服务器订阅存储于集群中目标业务的目标业务数据,包括:
上述业务服务器通过多个进程订阅上述目标业务数据;
在上述通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据之后,上述方法还包括:
上述本地的存储节点将上述目标控制数据写入共享内存,以使上述目标服务器的多个进程基于上述共享内存中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述目标业务服务器基于本地的存储节点中的目标控制数据实现对上述目标业务数据的订阅,包括:
对于上述多个进程中的任意一目标进程,将上述共享内存中的目标控制数据映射至上述目标进程的内存中;通过访问上述目标进程的内存实现上述目标进程对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述响应于上述集群中关于上述目标业务的目标控制数据更新,通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据,包括:
上述集群监控到关于第一业务的第一控制数据发生更新,以及监控到关于第二业务的第二控制数据更新,将更新后的第一控制数据发送至处理上述第一业务的服务器本地的存储节点,以及将更新后的第二控制数据发送至处理上述第二业务的服务器本地的存储节点。
在本公开的一种示例性实施例中,基于前述实施例,上述目标控制数据用于对上述目标业务数据的实时计算,和/或上述目标控制数据用于配置上述目标业务数据。
在本公开的一种示例性实施例中,基于前述实施例,上述目标业务为广告业务,上述目标业务数据包括以下信息的一种或几种:曝光量、点击量、曝光率、点击率和转化率;或,
上述目标业务为人群画像业务,上述目标业务数据包括以下信息的一种或几种:年龄、性别、职业、学历和兴趣数据。
根据本公开的第二方面,提供了一种分布式的数据存储系统,上述系统包括:
集群,用于:存储业务相关的业务数据和控制数据,并接收目标业务服务器对关于目标业务的目标业务数据的订阅请求,以向上述目标业务服务器发送上述目标业务数据;以及,部署在上述目标业务服务器本地的存储节点,用于:响应于上述集群中关于上述目标业务的目标控制数据更新,接收更新后的目标控制数据,以使上述目标业务服务器基于本地的存储节点中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述部署在上述目标业务服务器本地的存储节点,还用于:
将上述目标控制数据写入共享内存,以使上述目标服务器的多个进程基于上述共享内存中的目标控制数据实现对上述目标业务数据的订阅。
根据本公开的第三方面,提供了一种基于分布式的数据存储系统的数据订阅装置,上述装置包括:
第一订阅模块,被配置为:目标业务服务器订阅存储于集群中目标业务的目标业务数据;接收模块,被配置为:响应于上述集群中关于上述目标业务的目标控制数据更新,通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据;以及,第二订阅模块,被配置为:上述目标业务服务器基于本地的存储节点中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述第一订阅模块,被具体配置为:上述业务服务器通过多个进程订阅上述目标业务数据。
上述数据订阅装置还包括:写入模块。其中,上述写入模块用于:在上述通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据之后,上述本地的存储节点将上述目标控制数据写入共享内存,以使上述目标服务器的多个进程基于上述共享内存中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述第二订阅模块,被具体配置为:
对于上述多个进程中的任意一目标进程,将上述共享内存中的目标控制数据映射至上述目标进程的内存中;以及,通过访问上述目标进程的内存实现上述目标进程对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述接收模块,被具体配置为:
上述集群监控到关于第一业务的第一控制数据发生更新,以及监控到关于第二业务的第二控制数据更新,将更新后的第一控制数据发送至处理上述第一业务的服务器本地的存储节点,以及将更新后的第二控制数据发送至处理上述第二业务的服务器本地的存储节点。
在本公开的一种示例性实施例中,基于前述实施例,上述目标控制数据用于对上述目标业务数据的实时计算,和/或上述目标控制数据用于配置上述目标业务数据。
在本公开的一种示例性实施例中,基于前述实施例,上述目标业务为广告业务,上述目标业务数据包括以下信息的一种或几种:曝光量、点击量、曝光率、点击率和转化率;或,上述目标业务为人群画像业务,上述目标业务数据包括以下信息的一种或几种:年龄、性别、职业、学历和兴趣数据。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任意实施例所述的基于分布式的数据存储系统的数据订阅方法。
根据本公开的第五方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面中任意实施例所述的基于分布式的数据存储系统的数据订阅方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一示例实施方式所提供的基于分布式的数据存储系统的数据订阅方案中,目标业务服务器订阅存储于集群中目标业务的目标业务数据,响应于集群中关于目标业务的目标控制数据更新,通过集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据。进一步地,目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。可见,一方面,本技术方案无需业务服务器的每个进程监听集群中数据是否发生更新,从而有效降低了业务服务器端的数据冗余,节省了本地内存空间,进而提升了资源利用率。同时,还有利于业务服务器进行数据订阅的多个进程之间数据一致性。另一方面,相对于相关技术中业务服务器需从集群处获取更新后的控制数据,业务服务器可直接访问本地获取更新后的数据,则避免了各个进程需远程获取数据带来的时耗,有利于提升数据处理的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种分布式的数据存储系统的示意图;
图2示意性示出了根据本公开的一实施例的基于分布式的数据存储系统的数据订阅方法的流程图;
图3示出了根据本公开另一实施例的基于分布式的数据存储系统的数据订阅方法的交互图;
图4示意性示出了根据本公开的一实施例的基于分布式的数据存储系统的数据订阅装置的结构图;
图5示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本技术方案中,集群中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。业务服务器终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
图1示出了可以应用本公开实施例的一种分布式的数据存储系统的示意图。
如图1所示,分布式的数据存储系统由包含多个存储节点(Node)101的集群100以及与业务服务器200本地的存储节点102、业务服务器300本地的存储节点103组成。
其中,集群100的中的各个存储节点101中存储有各个业务相关的业务数据和控制数据。
其中,业务数据根据业务的不同而不同,例如:广告业务,则业务数据可以包括以下信息的一种或几种:曝光量、点击量、曝光率、点击率和转化率。再例如:人群画像业务,则业务数据可以包括以下信息的一种或几种:年龄、性别、职业、学历和兴趣数据等。由于业务数据一般数量巨大,因此无法直接存在各个业务服务器内存中,而是存储至集群中。不同于上述业务数据,控制数据一般具有较小的数据量。控制数据用于对业务数据的实时计算,和/或用于配置相关业务数据。为了达到准确有效的进行数据处理,其对数据的一致性、实时行要求极高。例如:业务数据传输的超时时间限制、QPS(Queries-per-second,每秒查询率)控制、实时算法控制等。
参考图1,分布式的数据存储系统包括:集群100中的各个节点101。其中,各个存储节点101根据接收到的来自业务服务器200/业务服务器300对关于目标业务(以“目标业务”标记任意一种业务)的目标业务数据(将“目标业务”对应的业务数据记作“目标业务数据”)的订阅请求,向业务服务器200/业务服务器300发送相关目标业务数据。
参考图1,关于A业务的业务服务器200订阅关于A业务的业务数据,在相关技术提供的数据订阅方式中,业务服务器200中参与订阅上述业务数据的每个进程,均需要单独的一个线程,来监听集群中关于A业务的控制数据是否发生变化,并需要将获取到变更数据维护在本进程内存中。然而,对于业务层而言,数据维护成本过高。且对于多进程服务,每个进程维护相同的数据,数据冗余且将会浪费本地内存,还可能导致进程之间数据不一致。同时,对于集群端,变更数据的数据消费者数量与服务进程数相同,则需要同步的数据量大,造成集群的服务压力大,以及造成网络流量的浪费量大。
针对相关技术中数据订阅过程中存在的上述问题,本技术方案提供的分布式的数据存储系统还包括:部署在业务服务器本地的存储节点。如,部署在业务服务器200本地的存储节点102、业务服务器300本地的存储节点103。其中,部署在业务服务器本地的存储节点用于:响应于集群100中关于目标业务的目标控制数据(将“目标业务”对应的控制数据记作“目标控制数据”)更新,接收更新后的目标控制数据,以使业务服务器200/业务服务器300基于本地的存储节点中的目标控制数据实现对目标业务数据的订阅。本技术方案提供的基于上述分布式的数据存储系统中,数据维护逻辑对业务服务器透明,即对业务处理层屏蔽了数据维护逻辑。
另外,相较于相关技术中远程从集群中获取相关数据,本技术方案基于本地的存储节点获取更新后的控制数据,有利于数据获取的实时性,也有利于进程间数据的一致性。同时,本技术方案无需各个进程实时监听集群中是否有数据更新,从而节省了资源占用量,有利于提升资源利用率。
在示例性的实施例中,上述部署在业务服务器本地的存储节点通过进程间共享内存的方式管理更新后的控制数据。即,将更新后的控制数据写入共享内存,从而服务器的多个进程基于共享内存中的控制数据实现对业务数据的订阅。有利于进一步提升数据获取的实时性,也有利于进程间数据的一致性。
在示例性的实施例中,对于在多核的业务服务器上,其进程数往往与服务器核数相等,假设N(正整数)个业务服务器均为100核,当关于业务A的控制数据发生变更时,集群需要将变更内容。相关技术中,需同步给服务器数量N*100个消费者。同时,每台业务服务器上的100个进程之间维护着相同的数据,存在着大量的数据冗余。但是对于本技术方案:仅需将变更数据同步给N(服务器数量)个消费者。可见,大大减少了消费者数量。同时,每台业务服务器仅维护一份变更数据,则有效减少了占用内存空间量。例如,目前服务器大多是多核(核数甚至达三位数),通过本技术方案提供的分布式的数据存储系统能够指数倍的降低对集群压力以及内网带宽的压力。
可见,基于本技术方案提供的分布式的数据存储系统,集群端需同步的变更数据的数据消费者数量与服务器数相同,相较于相关技术中数据消费者数量与服务进程数相同,本技术方案有效降低了需同步的数据量,降低了集群的服务压力,以及减少了网络流量的浪费。
在示例性的实施例中,网络用以在业务服务器和集群中的节点之间提供通信链路的介质,可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。应该理解,图1中的网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络和服务器。
基于上述分布式的数据存储系统,本技术方案还提供一种数据订阅方法。图2示意性示出了根据本公开的一实施例的数据订阅方法的流程图。具体的,参考图2,该图所示实施例包括:
步骤S210,目标业务服务器订阅存储于集群中目标业务的目标业务数据;
步骤S220,响应于所述集群中关于所述目标业务的目标控制数据更新,通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据;以及,
步骤S230,所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。
在图2所示实施例提供的技术方案中,一方面,本技术方案无需业务服务器的每个进程监听集群中数据是否发生更新,从而有效降低了业务服务器端的数据冗余,节省了本地内存空间,进而提升了资源利用率。同时,还有利于业务服务器进行数据订阅的多个进程之间数据一致性。另一方面,相对于相关技术中业务服务器需从集群处获取更新后的控制数据,业务服务器可直接访问本地获取更新后的数据,则避免了各个进程需远程获取数据带来的时耗,有利于提升数据处理的实时性。
在示例性的实施例中,图3示意性示出了根据本公开的一实施例的数据订阅方法的交互图,以下结合图3对图2所示实施例中各个步骤的具体实施方式进行详细阐述:
参考图3,分布式的数据存储系统300与图1对应的实施例中描述的分布式的数据存储系统相同。具体的,集群31与图1对应的实施例中的集群100相同,业务服务器本地的存储节点33与图1对应的实施例中的存储节点102/103相同。
作为步骤S210的一种具体实施方式,集群31中每个节点存储A业务相关的控制数据与业务数据,业务服务器32通过多个进程订阅A业务的业务数据(步骤S1)。则,在步骤S2中,集群31中的相关节点向业务服务器发送基于A业务的控制数据处理后的业务数据。例如,A业务的控制数据限定了业务数据的传输的超时时间限制为0.05s,则集群31中的相关节点根据上述控制数据的要求(即数据的传输的超时时间限制为0.05s)向业务服务器32发送A业务的业务数据(步骤S7)。
作为步骤S220的一种具体实施方式,在步骤S3中A业务的控制数据发生更新,如业务数据的传输的超时时间限制为0.03s。对于控制数据发生更新的情况,本技术方案是将关于A业务的更新后的控制数据推送至处理A业务的服务器本地的存储节点33(步骤S4)。从而,处于A业务的业务服务器32可以直接从本地获取更新后的控制数据。相对于相关技术中业务服务器需从集群处获取更新后的控制数据,业务服务器可直接访问本地获取更新后的数据,则避免了各个进程需远程获取数据带来的时耗,有利于提升数据处理的实时性。
例如,参考图1,假如业务服务器200处理第一业务,则当集群101监控到关于第一业务的第一控制数据发生更新,并将更新后的第一控制数据发送至处理上述第一业务的服务器200本地的存储节点102。从而,处于第一业务的业务服务器200可以直接从本地存储节点102获取更新后的控制数据。又例如,假如业务服务器300处理第二业务,则当集群101监控到关于第二业务的第二控制数据更新,则将更新后的第二控制数据发送至处理上述第二业务的服务器300本地的存储节点103。从而,处于第二业务的业务服务器300可以直接从本地存储节点103获取更新后的控制数据。
作为步骤S230的一种具体实施方式,处理A业务的服务器本地的存储节点33接收到更新后的控制数据之后,还将其写入共享内存(步骤S5)。进一步地,可以将共享内存中的控制数据映射至在业务服务器32的各个进程(步骤S6)。示例性的,对于所述多个进程中的任意一目标进程,将所述共享内存中的目标控制数据映射至所述目标进程的内存中,进而,通过访问所述目标进程的内存实现所述目标进程对所述目标业务数据的订阅。从而,本技术方案无需业务服务器的每个进程监听集群中数据是否发生更新,从而有效降低了业务服务器端的数据冗余,节省了本地内存空间,同时有利于业务服务器进行数据订阅的多个进程之间数据一致性。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由处理器(包含CPU和GPU)执行的计算机程序。在该计算机程序被处理器执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,本示例实施方式中,还提供了一种基于分布式的数据存储系统的数据订阅装置。参考图4所示,该基于分布式的数据存储系统的数据订阅装置400包括:第一订阅模块401、接收模块402以及第二订阅模块403。
其中,上述第一订阅模块401,被配置为:目标业务服务器订阅存储于集群中目标业务的目标业务数据;接收模块402,被配置为:响应于上述集群中关于上述目标业务的目标控制数据更新,通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据;以及,第二订阅模块403,被配置为:上述目标业务服务器基于本地的存储节点中的目标控制数据实现对上述目标业务数据的订阅。
在示例性的实施例中,基于前述方案,上述第一订阅模块401,被具体配置为:上述业务服务器通过多个进程订阅上述目标业务数据。
上述数据订阅装置还包括:写入模块404。其中,上述写入模块404用于:在上述通过上述集群中部署在上述目标业务服务器本地的存储节点接收更新后的目标控制数据之后,上述本地的存储节点将上述目标控制数据写入共享内存,以使上述目标服务器的多个进程基于上述共享内存中的目标控制数据实现对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述第二订阅模块403,被具体配置为:
对于上述多个进程中的任意一目标进程,将上述共享内存中的目标控制数据映射至上述目标进程的内存中;以及,通过访问上述目标进程的内存实现上述目标进程对上述目标业务数据的订阅。
在本公开的一种示例性实施例中,基于前述实施例,上述接收模块402,被具体配置为:
上述集群监控到关于第一业务的第一控制数据发生更新,以及监控到关于第二业务的第二控制数据更新,将更新后的第一控制数据发送至处理上述第一业务的服务器本地的存储节点,以及将更新后的第二控制数据发送至处理上述第二业务的服务器本地的存储节点。
在本公开的一种示例性实施例中,基于前述实施例,上述目标控制数据用于对上述目标业务数据的实时计算,和/或上述目标控制数据用于配置上述目标业务数据。
在本公开的一种示例性实施例中,基于前述实施例,上述目标业务为广告业务,上述目标业务数据包括以下信息的一种或几种:曝光量、点击量、曝光率、点击率和转化率;或,上述目标业务为人群画像业务,上述目标业务数据包括以下信息的一种或几种:年龄、性别、职业、学历和兴趣数据。
上述基于分布式的数据存储系统的数据订阅装置中各模块或单元的具体细节已经在对应的数据订阅方法中进行了详细的描述,因此此处不再赘述。
图5示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图5示出的电子设备的计算机系统500仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括处理器501,其中处理器501可以包含:图形处理单元(Graphics Processing Unit,GPU)、中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从存储部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。处理器(GPU/CPU)501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(Input/Output,I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器(GPU/CPU)501执行时,执行本申请的系统中限定的各种功能。在一些实施例中,计算机系统500还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
例如,所述的电子设备可以实现如图2中所示的:步骤S210,目标业务服务器订阅存储于集群中目标业务的目标业务数据;步骤S220,响应于所述集群中关于所述目标业务的目标控制数据更新,通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据;以及,步骤S230,所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。
又如,所述的电子设备可以实现如图3中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于分布式的数据存储系统的数据订阅方法,其特征在于,所述方法包括:
目标业务服务器订阅存储于集群中目标业务的目标业务数据;
响应于所述集群中关于所述目标业务的目标控制数据更新,通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据;
所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。
2.根据权利要求1所述的数据订阅方法,其特征在于,
所述目标业务服务器订阅存储于集群中目标业务的目标业务数据,包括:
所述业务服务器通过多个进程订阅所述目标业务数据;
在所述通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据之后,所述方法还包括:
所述本地的存储节点将所述目标控制数据写入共享内存,以使所述目标服务器的多个进程基于所述共享内存中的目标控制数据实现对所述目标业务数据的订阅。
3.根据权利要求2所述的数据订阅方法,其特征在于,所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅,包括:
对于所述多个进程中的任意一目标进程,将所述共享内存中的目标控制数据映射至所述目标进程的内存中;
通过访问所述目标进程的内存实现所述目标进程对所述目标业务数据的订阅。
4.根据权利要求1至3中任意一项所述的数据订阅方法,其特征在于,所述响应于所述集群中关于所述目标业务的目标控制数据更新,通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据,包括:
所述集群监控到关于第一业务的第一控制数据发生更新,以及监控到关于第二业务的第二控制数据更新,将更新后的第一控制数据发送至处理所述第一业务的服务器本地的存储节点,以及将更新后的第二控制数据发送至处理所述第二业务的服务器本地的存储节点。
5.根据权利要求1至3中任意一项所述的数据订阅方法,其特征在于,所述目标控制数据用于对所述目标业务数据的实时计算,和/或所述目标控制数据用于配置所述目标业务数据。
6.根据权利要求1至3中任意一项所述的数据订阅方法,其特征在于,所述目标业务为广告业务,所述目标业务数据包括以下信息的一种或几种:曝光量、点击量、曝光率、点击率和转化率;或,
所述目标业务为人群画像业务,所述目标业务数据包括以下信息的一种或几种:年龄、性别、职业、学历和兴趣数据。
7.一种分布式的数据存储系统,其特征在于,所述系统包括:
集群,用于:存储业务相关的业务数据和控制数据,并接收目标业务服务器对关于目标业务的目标业务数据的订阅请求,以向所述目标业务服务器发送所述目标业务数据;以及,
部署在所述目标业务服务器本地的存储节点,用于:响应于所述集群中关于所述目标业务的目标控制数据更新,接收更新后的目标控制数据,以使所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。
8.根据权利要求7所述的数据存储系统,其特征在于,所述部署在所述目标业务服务器本地的存储节点,还用于:
将所述目标控制数据写入共享内存,以使所述目标服务器的多个进程基于所述共享内存中的目标控制数据实现对所述目标业务数据的订阅。
9.一种基于分布式的数据存储系统的数据订阅装置,其特征在于,所述装置包括:
第一订阅模块,被配置为:目标业务服务器订阅存储于集群中目标业务的目标业务数据;
接收模块,被配置为:响应于所述集群中关于所述目标业务的目标控制数据更新,通过所述集群中部署在所述目标业务服务器本地的存储节点接收更新后的目标控制数据;
第二订阅模块,被配置为:所述目标业务服务器基于本地的存储节点中的目标控制数据实现对所述目标业务数据的订阅。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任意一项所述的方法。
CN202011126447.5A 2020-10-20 2020-10-20 数据存储系统、数据订阅方法及装置、电子设备 Pending CN114385575A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011126447.5A CN114385575A (zh) 2020-10-20 2020-10-20 数据存储系统、数据订阅方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011126447.5A CN114385575A (zh) 2020-10-20 2020-10-20 数据存储系统、数据订阅方法及装置、电子设备

Publications (1)

Publication Number Publication Date
CN114385575A true CN114385575A (zh) 2022-04-22

Family

ID=81193762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011126447.5A Pending CN114385575A (zh) 2020-10-20 2020-10-20 数据存储系统、数据订阅方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN114385575A (zh)

Similar Documents

Publication Publication Date Title
US11755452B2 (en) Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system
US20210216875A1 (en) Method and apparatus for training deep learning model
Yang et al. Using spatial principles to optimize distributed computing for enabling the physical science discoveries
CN106056529B (zh) 一种对用于图片识别的卷积神经网络训练的方法与设备
Gunarathne et al. Scalable parallel computing on clouds using Twister4Azure iterative MapReduce
CN112069265B (zh) 配置数据的同步方法、业务数据系统、计算机系统和介质
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
US20170277772A1 (en) Providing global metadata in a cluster computing environment
US8938599B2 (en) Distributed graph storage system
CN109245908B (zh) 一种主从集群切换的方法和装置
CN109992715B (zh) 信息展示方法、装置、介质和计算设备
CN109697055B (zh) 生成移动App页面的方法及系统
CN105227489A (zh) 一种带宽管理方法及电子设备
CN111182019A (zh) 跨平台通信方法及装置、电子设备
CN113761003A (zh) 用户画像数据处理方法和装置、电子设备和可读存储介质
CN115543965A (zh) 跨机房数据处理方法、设备、存储介质及程序产品
DE112021004577T5 (de) Verwalten eines aufgabenablaufs in einer edge-datenverarbeitungsumgebung
US10601881B1 (en) Idempotent processing of data streams
CN114385575A (zh) 数据存储系统、数据订阅方法及装置、电子设备
Kurochkin et al. Boinc forks, issues and directions of development
CN111538487B (zh) 分布式并行网格生成软件框架
CN113472638A (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
CN111949265A (zh) 一种数据处理方法、装置和电子设备
CN113535673A (zh) 生成配置文件及数据处理的方法和装置
CN111694672A (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