CN109343962A - 数据处理方法、装置及分布式服务系统 - Google Patents

数据处理方法、装置及分布式服务系统 Download PDF

Info

Publication number
CN109343962A
CN109343962A CN201811258260.3A CN201811258260A CN109343962A CN 109343962 A CN109343962 A CN 109343962A CN 201811258260 A CN201811258260 A CN 201811258260A CN 109343962 A CN109343962 A CN 109343962A
Authority
CN
China
Prior art keywords
execute
service device
packet
server
coordination service
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
CN201811258260.3A
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.)
Beijing Knownsec Information Technology Co Ltd
Original Assignee
Beijing Knownsec Information Technology 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 Beijing Knownsec Information Technology Co Ltd filed Critical Beijing Knownsec Information Technology Co Ltd
Priority to CN201811258260.3A priority Critical patent/CN109343962A/zh
Publication of CN109343962A publication Critical patent/CN109343962A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据处理方法、装置及分布式服务系统,涉及计算机数据处理技术领域。该方法通过协调服务器确定出待处理数据包的字节大小及多个执行服务器中内存模块的剩余存储空间;在待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,协调服务器基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;协调服务器将多个子数据包分别发送至至少一个执行服务器,以使至少一个执行服务器分别对多个子数据包执行读取或写入操作,从而能够改善现有技术中因待处理数据包字节过大而影响处理效率的问题。

Description

数据处理方法、装置及分布式服务系统
技术领域
本发明涉及计算机数据处理技术领域,具体而言,涉及一种数据处理方法、装置及分布式服务系统。
背景技术
图数据库,在本文中,指的是非关系型的数据库(Not Only Structured QueryLanguage,NoSQL)的一种类型,图数据库应用图形理论存储实体之间的关系信息。对于基于ArangoDB的图数据库,在服务器中,ArangoDB的读写操作以collection为单位,若查询操作涉及多个collection,而物理内存无法同时存放所有collection,那么就需要进行collection置换操作。由于盘读写速度限制,单次查询性能就会下降,从而出现的性能瓶颈。服务器在写ArangoDB数据包时,如果文件过大从而导致collection过大,无法存入到数据库。
发明内容
为了克服上述现有技术中的不足,本发明在于提供一种数据处理方法、装置及分布式服务系统,能够改善现有技术中因待处理数据包字节过大而影响处理效率的问题。
为了实现上述目的,本发明实施例所提供的技术方案如下所示:
第一方面,本发明实施例提供一种数据处理方法,应用于分布式服务系统,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,所述方法包括:
所述协调服务器确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,所述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
可选地,上述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,包括:
所述协调服务器根据所述待处理数据包中包括的数据类型,将所述待处理数据包拆分为多个子数据包。
可选地,上述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作,包括:
所述协调服务器将所述多个子数据包分别发送至同一个执行服务器,以使所述同一个执行服务器分别对所述多个子数据包执行读取或写入操作,或者
所述协调服务器将所述多个子数据包分别发送至多个执行服务器,其中,每个子数据包被发送至一个执行服务器,以使被发送有子数据包的服务器对所述子数据包执行读取或写入操作。
可选地,在所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器之前,所述方法还包括:
基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,并判断所述目标执行服务器中内存模块的总存储空间是否大于所述待处理数据包的字节;
在为是时,所述协调服务器将所述内存模块中加载的其他数据包转发至其他执行服务器中的内存模块中,以执行将所述多个子数据包分别发送至所述目标执行服务器的步骤。
可选地,基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,包括:
将所述多个执行服务器中内存模块对应的剩余存储空间最大的执行服务器确定为所述目标执行服务器。
第二方面,本发明实施例提供一种数据处理装置,应用于分布式服务系统,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,所述装置包括:
确定单元,用于使所述协调服务器确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
拆分单元,在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,用于使所述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
执行单元,用于使所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
可选地,上述拆分单元还用于使所述协调服务器根据所述待处理数据包中包括的数据类型,将所述待处理数据包拆分为多个子数据包。
可选地,上述执行单元还用于使所述协调服务器将所述多个子数据包分别发送至同一个执行服务器,以使所述同一个执行服务器分别对所述多个子数据包执行读取或写入操作,或者使所述协调服务器将所述多个子数据包分别发送至多个执行服务器,其中,每个子数据包被发送至一个执行服务器,以使被发送有子数据包的服务器对所述子数据包执行读取或写入操作。
可选地,上述装置还包括判断单元,在执行单元使所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器之前,所述判断单元用于:
基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,并判断所述目标执行服务器中内存模块的总存储空间是否大于所述待处理数据包的字节;
在为是时,使所述协调服务器将所述内存模块中加载的其他数据包转发至其他执行服务器中的内存模块中,以执行将所述多个子数据包分别发送至所述目标执行服务器的步骤。
第三方面,本发明实施例提供一种分布式服务系统,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,其中:
所述协调服务器用于确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,所述协调服务器用于基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
所述协调服务器用于将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
相对于现有技术而言,本发明提供的数据处理方法、装置及分布式服务系统至少具有以下有益效果:该方法通过协调服务器确定出待处理数据包的字节大小及多个执行服务器中内存模块的剩余存储空间;在待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,协调服务器基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;协调服务器将多个子数据包分别发送至至少一个执行服务器,以使至少一个执行服务器分别对多个子数据包执行读取或写入操作。因为在本方案中,通过对待处理数据包进行拆分,然后对拆分后的子数据包分别进行读取或写入操作,从而能够改善现有技术中因待处理数据包字节过大而影响处理效率的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的分布式服务系统的方框示意图。
图2为本发明实施例提供的协调服务器的方框示意图。
图3为本发明实施例提供的数据处理方法的流程示意图。
图4为本发明实施例提供的数据处理装置的方框示意图。
图标:10-分布式服务系统;20-协调服务器;21-处理模块;22-通信模块;23-存储模块;24-内存模块;30-执行服务器;100-数据处理装置;110-确定单元;120-拆分单元;130-执行单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在现有技术中,ArangoDB是一个原生多模型数据库,兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型。图数据库,在本文中,指的是非关系型的数据库(NotOnly Structured Query Language,NoSQL)的一种类型,图数据库应用图形理论存储实体之间的关系信息。对于基于ArangoDB的图数据库,在服务器中,ArangoDB的读写操作以collection为单位,若查询操作涉及多个collection,而物理内存无法同时存放所有collection,那么就需要进行collection置换操作(置换操作可以理解为:比如在服务器因剩余内存不足,而无法加载待处理数据时,需要将服务器中的内存中的数据转发至其他服务器的内存中或直接将内存中的数据删除,以为新的待处理数据空出存储空间)。由于盘读写速度限制,单次查询性能就会下降,从而出现的性能瓶颈。服务器在写ArangoDB数据包时,如果文件过大从而导致collection过大,无法存入到数据库。其中,collection可以指内存中的一个存储区域或存储分片空间。
鉴于上述问题,本申请发明人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,为本发明实施例提供的分布式服务系统10的方框示意图。该分布式服务系统10可以包括协调服务器20(如Coordinator服务器)及多个执行服务器30(如DBServer服务器),可以执行或实现下述数据处理方法的各步骤。协调服务器20可以通过网络与多个执行服务器30建立通信连接,以进行数据交互,另外,协调服务器20还可以与用户终端通信连接,以便于管理员通过用户终端从分布式服务系统10中查询数据。
当然,当有新的协调服务器20/执行服务器30入网到分布式服务系统10中时,需要将分布式服务系统10中存储的部分数据转移到新的协调服务器20/执行服务器30中时,通过下述的数据处理方法可以改善现有技术中因数据包过大而导致内存模块24无法读取/写入该数据包,从而无法将数据包存入到新的协调服务器20/执行服务器30的技术问题。
可理解地,Coordinator服务器与DBServer服务器可以是在普通的服务器上安装相应的插件或配置文件形成。例如,在多个服务器上安装图数据库ArangoDB,一个服务器安装Coordinator插件或配置文件,以作为Coordinator服务器(协调服务器20)、其余服务器安装DBServer插件或配置文件,以作为DBServer服务器(执行服务器30)。
在本实施例中,协调服务器20可以用于保存DBServer信息、图文件信息等,另外还可以对多个执行服务器30进行管理控制。执行服务器30可以用于存储图文件内容,比如待处理数据包。通常来讲,待处理数据包较大,比如一个待处理数据包的字节大小可以超过5GB或10GB。待处理数据包可以包括,但不限于各类聊天应用程序对应的数据(比如图片、文本等数据)、购物应用程序对应的数据、地理位置数据、邮件数据等。管理人员可以根据需求通过用户终端从分布式服务系统10中查询或筛选相关数据。
用户终端可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobileInternet device,MID)等。网络可以是,但不限于,有线网络或无线网络。
请参照图2,为本发明实施例提供的协调服务器20的方框示意图。在本实施例中,协调服务器20可以包括处理模块21、通信模块22、存储模块23、内存模块24以及数据处理装置100,处理模块21、通信模块22、存储模块23、内存模块24以及数据处理装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理模块21可能是一种集成电路芯片,具有信号的处理能力。上述处理模块21可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
通信模块22用于通过网络建立协调服务器20与执行服务器30及用户终端的通信连接,并通过网络收发数据。
存储模块23可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块23可以用于存储待处理数据包。当然,存储模块23还可以用于存储程序,处理模块21在接收到执行指令后,执行该程序。
内存模块24可以用于加载(读取、写入)待处理数据包。
进一步地,数据处理装置100包括至少一个可以软件或固件(firmware)的形式存储于存储模块23中或固化在协调服务器20/执行服务器30操作系统(operating system,OS)中的软件功能模块。处理模块21用于执行存储模块23中存储的可执行模块,例如数据处理装置100所包括的软件功能模块及计算机程序等。
可以理解的是,图2所示的结构仅为协调服务器20的一种结构示意图,协调服务器20还可以包括比图2所示更多或更少的组件。图2中所示的各组件可以采用硬件、软件或其组合实现。
请参照图3,为本发明实施例提供的数据处理方法的流程示意图。该数据处理方法可以应用于上述的分布式服务系统10,由协调服务器20及执行服务器30实现数据处理方法的各步骤。在本实施例中,数据处理方法可以包括以下步骤:
步骤S210,协调服务器20确定出待处理数据包的字节大小及多个执行服务器30中内存模块24的剩余存储空间;
步骤S220,在待处理数据包的字节大于每个执行服务器30中内存模块24的剩余存储空间,且小于所有执行服务器30中内存模块24的总剩余存储空间时,协调服务器20基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器30中内存模块24的最大剩余存储空间;
步骤S230,协调服务器20将多个子数据包分别发送至至少一个执行服务器30,以使至少一个执行服务器30分别对多个子数据包执行读取或写入操作。
下面将对图3中所示的数据处理方法的各步骤进行详细阐述:
步骤S210,协调服务器20确定出待处理数据包的字节大小及多个执行服务器30中内存模块24的剩余存储空间。
在本实施例中,管理人员在通过用户终端从分布式服务系统10查询数据时,分布式服务系统10中的执行服务器30可以根据用户终端发送的请求确定出待处理数据。例如,若要对一用户的邮件信息进行查询,在执行S210之前,用户可以通过身份证注册邮箱,然后通过身份证关联邮箱,当然,用户也可以通过该身份证关联其他聊天应用程序的相关数据(如图片、文本等)、购物应用程序的数据、银行信息等,且这些数据信息存储于分布式服务系统10中的服务器(执行服务器30或协调服务器20)中。当需要通过用户的身份证来查找该用户的邮件信息时,可以通过身份证将与该身份证关联的所有数据(待处理数据包)从分布式服务系统10中调出,然后从这些数据中查找确认出邮件信息。
步骤S220,在待处理数据包的字节大于每个执行服务器30中内存模块24的剩余存储空间,且小于所有执行服务器30中内存模块24的总剩余存储空间时,协调服务器20基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器30中内存模块24的最大剩余存储空间。
其中,协调服务器20可以根据待处理数据包中包括的数据类型,将待处理数据包拆分为多个子数据包。
可理解地,待处理数据包可以包括各类聊天应用程序对应的数据(比如图片、文本等数据)、购物应用程序对应的数据、地理位置数据、邮件数据等子数据包,每种类型的子数据包可以预先设置有相应的预设标签以进行区分。例如,协调服务器20可以通过预设标签对待处理数据包划分成多个子数据包。通常来说,被划分的子数据包的字节小于执行各服务器中内存模块24的最大存储空间。若被划分的子数据包的字节大于或等于各执行服务器30中内存模块24中的最大存储空间,可以继续对该子数据包进行划分,以使被划分后的子数据包的字节小于各执行服务器30中内存模块24中的最大存储空间。
步骤S230,协调服务器20将多个子数据包分别发送至至少一个执行服务器30,以使至少一个执行服务器30分别对多个子数据包执行读取或写入操作。
可选地,协调服务器20将多个子数据包分别发送至同一个执行服务器30,以使同一个执行服务器30分别对多个子数据包执行读取或写入操作,或者,协调服务器20将多个子数据包分别发送至多个执行服务器30,其中,每个子数据包被发送至一个执行服务器30,以使被发送有子数据包的服务器对子数据包执行读取或写入操作。
可理解地,在待处理数据包被划分为多个子数据包后,可以通过同一个执行服务器30对每个子数据包分别执行读取或写入操作,从而将待处理数据包分批次地实现读取或写入的操作。当然,在待处理数据包被划分为多个子数据包后,可以将多个子数据包分别发送至不同的执行服务器30进行上述的处理,以完成相应的读取或写入操作。
可选地,在步骤S230之前,方法还可以包括:基于预设选取规则从多个执行服务器30中选取一个作为目标执行服务器30,并判断目标执行服务器30中内存模块24的总存储空间是否大于待处理数据包的字节;在为是时,协调服务器20将内存模块24中加载的其他数据包转发至其他执行服务器30中的内存模块24中,以执行将多个子数据包分别发送至目标执行服务器30的步骤。
其中,目标执行服务器30的选取原理可以为:将多个执行服务器30中内存模块24对应的剩余存储空间最大的执行服务器30确定为目标执行服务器30。通常来说,服务器中的内存模块24的总存储空间通常为相同的,若剩余存储空间越大,也就表示内存模块24中需要删除或转发的数据量越少,也就能够节省数据通道的带宽,也就能减少执行服务器30的工作量,从而减轻执行服务器30的处理压力。
下面将举例对数据处理方法的流程进行详细说明:
即将录入的图数据信息(待处理数据包),假如可以包括以下几种元数据类型:邮件(Email)、人(Person)、地理(Location)、电话(phone)、QQ、银行卡(BankAccount)、航班号(FlightNO)等信息。
图数据信息在写入新数据库(例如,写入到协调服务器20中的存储模块23中时,这里的协调服务器20可以指下文中的Coordinator服务器)时,通过读取内存模块24剩余内存的大小,评估可处理文件大假设为6GB。分别提取出邮件(Email,假设为4GB)、人(Person,假设为2GB)、地理(Location,假设为3GB)、电话(phone,假设为4GB)、聊天程序(假设为4GB)、银行卡(BankAccount,假设为4GB)、航班号(FlightNO,假设为2GB)等节点信息并保存到Coordinator服务器中。
具体地,数据写入数据库时,Coordinator服务器提取出邮件(Email)、人(Person)、等节点内部关系及属性信息并存放到DBServer1Collection10、DBServer1Collection11;DBServer4Collection42DBServer4Collection43(这里的DBServer可以指上述的执行服务器30,DBServer及Collection后的数字用于起标识作用,DBServer1Collection10、DBServer1Collection11;DBServer4Collection42DBServer4Collection43等为举例描述,而非限定方法的实施方式一定为上述的例子)。
前端(用户终端)可以查询Person、Email信息。Coordinator服务器读取DBServer4Collection42,DBServer4Collection43;DBServer1Collection10、DBServer1Collection11中信息,若经评估需要内存12GB。
Coordinator服务器读取当前系统中Collection20(假如剩余存储空间为5GB)、Collection21(假如剩余存储空间为4GB)、Collection30(假如剩余存储空间为3GB)、Collection31(假如剩余存储空间为2GB)大小信息。
Coordinator服务器读取上述的Person(4G)、Email(2G)内容便可以分别存放到Collection20、Collection21中。
Coordinator服务器依据前端请求并返回查询结果。
基于上述设计,本方案通过将较大的待处理数据包进行划分,然后对划分后得到的子数据包进行读取或写入操作,便能改善现有技术中因待处理数据包过大而使得内存无法加载该数据包,从而导致执行服务器30无法对待处理数据包进行处理的技术问题。
请参照图4,为本发明实施例提供的数据处理装置100的方框示意图。本发明实施例提供的数据处理装置100可以应用于上述的分布式服务系统10,用于实现数据处理方法的各步骤。其中,数据处理装置100可以包括确定单元110、拆分单元120及执行单元130。
确定单元110,用于使协调服务器20确定出待处理数据包的字节大小及多个执行服务器30中内存模块24的剩余存储空间。
拆分单元120,在待处理数据包的字节大于每个执行服务器30中内存模块24的剩余存储空间,且小于所有执行服务器30中内存模块24的总剩余存储空间时,用于使协调服务器20基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器30中内存模块24的最大剩余存储空间。
可选地,拆分单元120还用于使协调服务器20根据待处理数据包中包括的数据类型,将待处理数据包拆分为多个子数据包。
执行单元130,用于使协调服务器20将多个子数据包分别发送至至少一个执行服务器30,以使至少一个执行服务器30分别对多个子数据包执行读取或写入操作。
可选地,执行单元130还用于使协调服务器20将多个子数据包分别发送至同一个执行服务器30,以使同一个执行服务器30分别对多个子数据包执行读取或写入操作,或者使协调服务器20将多个子数据包分别发送至多个执行服务器30,其中,每个子数据包被发送至一个执行服务器30,以使被发送有子数据包的服务器对子数据包执行读取或写入操作。
可选地,数据处理装置100还包括判断单元。在执行单元130使协调服务器20将多个子数据包分别发送至至少一个执行服务器30之前,判断单元用于:基于预设选取规则从多个执行服务器30中选取一个作为目标执行服务器30,并判断目标执行服务器30中内存模块24的总存储空间是否大于待处理数据包的字节;在为是时(目标执行服务器30中内存模块24的总存储空间大于待处理数据包的字节),使协调服务器20将内存模块24中加载的其他数据包转发至其他执行服务器30中的内存模块24中,以执行将多个子数据包分别发送至目标执行服务器30的步骤。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的分布式服务系统10及数据处理装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本发明实施例还提供一种计算机可读存储介质。所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机/服务器上运行时,使得所述计算机/服务器执行如上述实施例中所述的数据处理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
综上所述,本发明提供一种数据处理方法、装置及分布式服务系统。该方法通过协调服务器确定出待处理数据包的字节大小及多个执行服务器中内存模块的剩余存储空间;在待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,协调服务器基于预设拆分规则将待处理数据包拆分为多个子数据包,其中,每个子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;协调服务器将多个子数据包分别发送至至少一个执行服务器,以使至少一个执行服务器分别对多个子数据包执行读取或写入操作。在本方案中,因为通过对待处理数据包进行拆分,然后对拆分后的子数据包分别进行读取或写入操作,从而能够改善现有技术中因待处理数据包字节过大而影响处理效率的问题。
在本发明所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,应用于分布式服务系统,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,所述方法包括:
所述协调服务器确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,所述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
2.根据权利要求1所述的方法,其特征在于,所述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,包括:
所述协调服务器根据所述待处理数据包中包括的数据类型,将所述待处理数据包拆分为多个子数据包。
3.根据权利要求1所述的方法,其特征在于,所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作,包括:
所述协调服务器将所述多个子数据包分别发送至同一个执行服务器,以使所述同一个执行服务器分别对所述多个子数据包执行读取或写入操作,或者
所述协调服务器将所述多个子数据包分别发送至多个执行服务器,其中,每个子数据包被发送至一个执行服务器,以使被发送有子数据包的服务器对所述子数据包执行读取或写入操作。
4.根据权利要求1所述的方法,其特征在于,在所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器之前,所述方法还包括:
基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,并判断所述目标执行服务器中内存模块的总存储空间是否大于所述待处理数据包的字节;
在为是时,所述协调服务器将所述内存模块中加载的其他数据包转发至其他执行服务器中的内存模块中,以执行将所述多个子数据包分别发送至所述目标执行服务器的步骤。
5.据权利要求4所述的方法,其特征在于,基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,包括:
将所述多个执行服务器中内存模块对应的剩余存储空间最大的执行服务器确定为所述目标执行服务器。
6.一种数据处理装置,其特征在于,应用于分布式服务系统,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,所述装置包括:
确定单元,用于使所述协调服务器确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
拆分单元,在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,用于使所述协调服务器基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
执行单元,用于使所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
7.根据权利要求6所述的装置,其特征在于,所述拆分单元还用于使所述协调服务器根据所述待处理数据包中包括的数据类型,将所述待处理数据包拆分为多个子数据包。
8.根据权利要求6所述的装置,其特征在于,所述执行单元还用于使所述协调服务器将所述多个子数据包分别发送至同一个执行服务器,以使所述同一个执行服务器分别对所述多个子数据包执行读取或写入操作,或者使所述协调服务器将所述多个子数据包分别发送至多个执行服务器,其中,每个子数据包被发送至一个执行服务器,以使被发送有子数据包的服务器对所述子数据包执行读取或写入操作。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括判断单元,在执行单元使所述协调服务器将所述多个子数据包分别发送至至少一个执行服务器之前,所述判断单元用于:
基于预设选取规则从所述多个执行服务器中选取一个作为目标执行服务器,并判断所述目标执行服务器中内存模块的总存储空间是否大于所述待处理数据包的字节;
在为是时,使所述协调服务器将所述内存模块中加载的其他数据包转发至其他执行服务器中的内存模块中,以执行将所述多个子数据包分别发送至所述目标执行服务器的步骤。
10.一种分布式服务系统,其特征在于,所述分布式服务系统包括协调服务器及与所述协调服务器通信连接的多个执行服务器,其中:
所述协调服务器用于确定出待处理数据包的字节大小及所述多个执行服务器中内存模块的剩余存储空间;
在所述待处理数据包的字节大于每个执行服务器中内存模块的剩余存储空间,且小于所有执行服务器中内存模块的总剩余存储空间时,所述协调服务器用于基于预设拆分规则将所述待处理数据包拆分为多个子数据包,其中,每个所述子数据包的字节小于所有执行服务器中内存模块的最大剩余存储空间;
所述协调服务器用于将所述多个子数据包分别发送至至少一个执行服务器,以使所述至少一个执行服务器分别对所述多个子数据包执行读取或写入操作。
CN201811258260.3A 2018-10-26 2018-10-26 数据处理方法、装置及分布式服务系统 Pending CN109343962A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811258260.3A CN109343962A (zh) 2018-10-26 2018-10-26 数据处理方法、装置及分布式服务系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811258260.3A CN109343962A (zh) 2018-10-26 2018-10-26 数据处理方法、装置及分布式服务系统

Publications (1)

Publication Number Publication Date
CN109343962A true CN109343962A (zh) 2019-02-15

Family

ID=65312140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811258260.3A Pending CN109343962A (zh) 2018-10-26 2018-10-26 数据处理方法、装置及分布式服务系统

Country Status (1)

Country Link
CN (1) CN109343962A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035579A (zh) * 2019-06-03 2020-12-04 杭州海康威视数字技术股份有限公司 图管理、数据存储、数据查询方法、装置及存储介质
CN112035058A (zh) * 2020-07-30 2020-12-04 深圳市中盛瑞达科技有限公司 云平台存储系统
CN112835759A (zh) * 2021-02-01 2021-05-25 百度在线网络技术(北京)有限公司 测试数据处理方法、装置、电子设备以及存储介质
CN117608862A (zh) * 2024-01-22 2024-02-27 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582064A (zh) * 2008-05-15 2009-11-18 阿里巴巴集团控股有限公司 一种大数据量数据处理方法及系统
CN103309946A (zh) * 2013-05-16 2013-09-18 华为技术有限公司 多媒体文件处理方法、装置及系统
CN103677759A (zh) * 2013-11-08 2014-03-26 国家电网公司 一种用于信息系统性能提升的对象化并行计算方法及系统
US20160021185A1 (en) * 2014-07-21 2016-01-21 International Business Machines Corporation Scalable approach to manage storage volumes across heterogenous cloud systems
CN105912609A (zh) * 2016-04-06 2016-08-31 中国农业银行股份有限公司 一种数据文件处理方法和装置
CN106411560A (zh) * 2016-06-01 2017-02-15 深圳市永兴元科技有限公司 数据传输方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582064A (zh) * 2008-05-15 2009-11-18 阿里巴巴集团控股有限公司 一种大数据量数据处理方法及系统
CN103309946A (zh) * 2013-05-16 2013-09-18 华为技术有限公司 多媒体文件处理方法、装置及系统
CN103677759A (zh) * 2013-11-08 2014-03-26 国家电网公司 一种用于信息系统性能提升的对象化并行计算方法及系统
US20160021185A1 (en) * 2014-07-21 2016-01-21 International Business Machines Corporation Scalable approach to manage storage volumes across heterogenous cloud systems
CN105912609A (zh) * 2016-04-06 2016-08-31 中国农业银行股份有限公司 一种数据文件处理方法和装置
CN106411560A (zh) * 2016-06-01 2017-02-15 深圳市永兴元科技有限公司 数据传输方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035579A (zh) * 2019-06-03 2020-12-04 杭州海康威视数字技术股份有限公司 图管理、数据存储、数据查询方法、装置及存储介质
CN112035579B (zh) * 2019-06-03 2024-02-20 杭州海康威视数字技术股份有限公司 图管理、数据存储、数据查询方法、装置及存储介质
CN112035058A (zh) * 2020-07-30 2020-12-04 深圳市中盛瑞达科技有限公司 云平台存储系统
CN112035058B (zh) * 2020-07-30 2021-04-30 深圳市中盛瑞达科技有限公司 云平台存储系统
CN112835759A (zh) * 2021-02-01 2021-05-25 百度在线网络技术(北京)有限公司 测试数据处理方法、装置、电子设备以及存储介质
CN117608862A (zh) * 2024-01-22 2024-02-27 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质
CN117608862B (zh) * 2024-01-22 2024-04-12 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US10241826B2 (en) Semantic-aware and user-aware admission control for performance management in data analytics and data storage systems
US10726518B2 (en) Capacity reservation for virtualized graphics processing
CN109343962A (zh) 数据处理方法、装置及分布式服务系统
US10616338B1 (en) Partitioning data according to relative differences indicated by a cover tree
US11030169B1 (en) Data re-sharding
US20180096017A1 (en) Method and computing device for minimizing accesses to data storage in conjunction with maintaining a b-tree
US10146814B1 (en) Recommending provisioned throughput capacity for generating a secondary index for an online table
KR20160065923A (ko) 클러스터링에 기반한 매핑과 라우팅을 위한 시스템 및 방법
US20160378754A1 (en) Fast query processing in columnar databases with gpus
CN107480205B (zh) 一种进行数据分区的方法和装置
CN110019125A (zh) 数据库管理的方法和装置
US11636072B2 (en) Parallel processing of a keyed index file system
US10698622B2 (en) Maintaining container to storage volume relations
US11868310B2 (en) Composite storage of objects in multi-tenant devices
US9898614B1 (en) Implicit prioritization to rate-limit secondary index creation for an online table
CN107895044A (zh) 一种数据库数据处理方法、装置和系统
CN104391947A (zh) 海量gis数据实时处理方法及系统
US9230022B1 (en) Customizable result sets for application program interfaces
CN109766313A (zh) 地质项目数据处理方法、装置及计算机设备
CN110472167B (zh) 数据管理方法、装置及计算机可读存储介质
US8977814B1 (en) Information lifecycle management for binding content
CN107526530A (zh) 数据处理方法和设备
US9547711B1 (en) Shard data based on associated social relationship
CN112862613A (zh) 一种交易数据处理方法和装置
US11853452B2 (en) Keeping databases compliant with data protection regulations by sensing the presence of sensitive data and transferring the data to compliant geographies

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
CB02 Change of applicant information

Address after: Room 311501, Unit 1, Building 5, Courtyard 1, Futong East Street, Chaoyang District, Beijing

Applicant after: Beijing Zhichuangyu Information Technology Co., Ltd.

Address before: Room 311501, Unit 1, Building 5, Courtyard 1, Futong East Street, Chaoyang District, Beijing

Applicant before: Beijing Knows Chuangyu Information Technology Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190215

RJ01 Rejection of invention patent application after publication