CN108874798A - 一种大数据排序方法和系统 - Google Patents
一种大数据排序方法和系统 Download PDFInfo
- Publication number
- CN108874798A CN108874798A CN201710320122.2A CN201710320122A CN108874798A CN 108874798 A CN108874798 A CN 108874798A CN 201710320122 A CN201710320122 A CN 201710320122A CN 108874798 A CN108874798 A CN 108874798A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- sorting
- reading
- sequence
- 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.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种大数据排序方法和系统。针对一个应用进行大数据排序时,读取排序数据设备根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;数据排序设备将该数据排序请求中携带的数据按照排序规则进行排序;当所有数据排序设备完成数据排序时,读取排序结果设备按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。该方法能够避免数据倾斜问题,且能够提高数据排序效率。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种大数据排序方法和系统。
背景技术
在大数据处理场景中,对输入数据进行排序是一种常用的操作方法,会遇到待排序数据远超计算机内存的情况。
现有的大数据排序方法,利用多台计算机协同处理,将大数据文件拆分为多份,每一份由一台计算机在内存中进行排序,再暂存外存,最后再由一台计算机依次读取已排序的部分文件,进行最终的归并排序,效率非常很低。
发明内容
有鉴于此,本申请提供一种大数据排序方法和系统,能够避免数据倾斜问题,且能够提高数据排序效率。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种大数据排序方法,该方法包括:
针对一个应用进行大数据排序时,读取排序数据设备根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;
数据排序设备接收到读取排序数据设备发送的数据排序请求时,将该数据排序请求中携带的数据按照排序规则进行排序;
当所有数据排序设备完成数据排序时,读取排序结果设备按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
一种大数据排序系统,该系统包括:读取排序数据设备、数据排序设备和读取排序结果设备;
所述读取排序数据设备,用于针对一个应用进行大数据排序时,根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;
所述数据排序设备,用于接收到读取排序数据设备发送的数据排序请求时,将该数据排序请求中携带的数据按照排序规则进行排序;
所述读取排序结果设备,用于当所有所述数据排序设备完成数据排序时,按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
由上面的技术方案可知,本申请中通过利用多线程网络通信在数据排序设备与读取排序数据设备之间建立连接,读取排序数据设备对待排序数据进行数据区间划分,并通过写请求发送给各数据区间对应的数据排序设备,数据排序设备将待排序数据进行排序,按数据区间边界值的大小依次获取各数据排序设备上的数据,进而获得排序完成的数据。该方案能够避免数据倾斜问题,且能够提高数据排序效率。
附图说明
图1为本申请实施例中大数据排序流程示意图;
图2为本申请实施例中排序服务发现设备调度实现大数据排序流程示意图;
图3为本申请实施例中排序过程时序示意图;
图4为本申请实施例中应用于上述技术的系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种大数据排序方法,通过利用多线程网络通信在数据排序设备与读取排序数据设备之间建立连接,读取排序数据设备对待排序数据进行数据区间划分,并通过写请求发送给各数据区间对应的数据排序设备,数据排序设备将待排序数据进行排序,按数据区间边界值的大小依次获取各数据排序设备上的数据,进而获得排序完成的数据。该方案能够避免数据倾斜问题,且能够提高数据排序效率。
本申请具体实现时,需预先根据数据类型配置读取排序数据程序和数据排序服务程序,不同的数据类型的程序类型有所不同,因此需同时指明排序规则、数据分配方法,即数据区间的划分,下面给出一种排序规则和数据分配方法的示例:
长整数的降序排序,multimap<long,Loginfo,greater<long>>。
自定义数据区间函数,如根据整数区间拆分数据,n/10000后取整,表示0-9999为一组,10000-19999为一组,以此类推。
配置的读取排序数据程序和数据排序服务程序可以存储在云存储服务器上,需要针对某一类型的数据进行排序时,复用存储的读取排序数据程序和数据排序服务程序部署读取排序数据设备和数据排序设备,以提高排序框架的通用性。
当需要针对一应用进行大数据排序时,根据大数据的类型获取存储的读取排序数据程序并部署在服务器上,作为读取排序数据设备,读取排序数据设备为1个,也可以为多个,根据待读取数据量的大小确定。
下面结合附图,详细说明本申请实现大数据排序过程。
参见图1,图1为本申请实施例中大数据排序流程示意图。具体步骤为:
步骤101,针对一个应用进行大数据排序时,读取排序数据设备根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求。
每个读取排序数据设备上可以运行N个线程,具体运行的线程个数根据该读取排序数据设备的处理能力决定,如8核设备,则最多启动8个线程进行数据读取;一个读取排序数据设备运行的多个线程可以读取该应用对应的一个文件中的数据,也可以是多个文件中的数据。
步骤102,数据排序设备接收到读取排序数据设备发送的数据排序请求时,将该数据排序请求中携带的数据按照排序规则进行排序。
本步骤中将该数据排序请求中携带的数据按照排序规则进行排序时,通过写入多键值映射multimap中进行排序。
Multimap是一个特殊的map结构,与一般的map相比,允许key存在重复,一般的map是不允许key重复的,同时还具有一般map拥有的自定义排序功能。写入multimap的数据会自动根据排序规则进行自动排序,排序效率高。
步骤103,当所有数据排序设备完成数据排序时,读取排序结果设备按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
如区间[1-100]对应数据排序设备1,[100-199]对应数据排序设备2,[200-299]对应数据排序设备3,[300-399]对应数据排序设备4,如果按照降序规则排序,则依次从数据排序设备4到数据排序设备1的顺序读取各设备上排序后的数据集合,组合为排序后的大数据;如果按照升序规则排序,则依次从数据排序设备1到数据排序设备4的顺序读取各设备上排序后的数据集合,组合为排序后的大数据。
通过定义数据区间大小,可以解决在大数据排序时数据倾斜的问题;并且本申请具体实施例中在读取待排序数据时,通过多个线程同时读取,通过多个数据排序设备同时进行排序,能够提高排序效率。
读取排序结果设备可以将排序后的数据存储,提供给大数据处理后续相关操作使用。
在实现本申请时,为了实现预先配置的数据排序程序的复用,以及各设备能够在进行数据排序时工作,排序结束时,释放资源,增加了有调度作用的排序服务发现设备,下面结合附图,给出通过排序服务发现设备调度实现大数据排序的过程。
参见图2,图2为本申请实施例中排序服务发现设备调度实现大数据排序流程示意图。具体步骤为:
步骤201,读取排序数据设备启动,准备读取该应用对应的大数据时,将该大数据对应的数据区间总数发送给排序服务发现设备。
当需要兼容多个应用时,还将该应用的应用标识发送给排序服务发现设备。
步骤202,排序服务发现设备确定当前是否存在该应用对应的数据排序设备。
步骤203,排序服务发现设备若确定存在,且存在的数据排序设备的资源满足数据区间总数的需求,则选择资源满足数据区间总数需求的数据排序设备,配置各数据区间与选择的数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备;执行步骤206。
预先已经部署过该应用对应的数据排序设备,且部署的数据排序设备能够提供的资源满足该应用当前要进行的大数据排序的需求,即数据区间总数的需求,则直接选择一定数目的数据排序设备进行数据排序,不再重新部署。
步骤204,若确定存在,且存在的数据排序设备的资源不能满足数据区间总数的需求,则再选择与所述存在的数据排序设备能够共同满足数据区间总数的服务器,将选择的服务器部署为数据排序设备;配置各数据区间,与已存在的和新部署的数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备;执行步骤206。
若虽然存在一些该应用对应的数据排序设备,但是不能满足该应用当前要进行的大数据排序的需求,即数据区间总数的需求,则将已部署的该应用对应的数据排序设备,作为即将针对该应用进行数据排序的设备,再部署一些服务器作为数据排序设备,共同满足该应用当前要进行的大数据排序的需求。
步骤205,若确定不存在,在服务器资源池中选择资源满足所述数据区间总数需求的服务器,将选择的服务器部署为数据排序设备;配置各数据区间与数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备。
如果需要部署数据排序设备,则排序服务发现设备将云存储的排序服务程序存储的地址发送给选择的用于部署数据排序设备的服务器。
这些选择的服务器可以通过服务器端代理程序下载排序服务程序,并进行部署。
直到将要用于该应用的大数据排序的数据排序设备均部署完成,且启动,即可以随时接收读取排序数据设备发送的写请求时,将对应的数据排序设备的地址信息发送给读取排序数据设备。
步骤206,读取排序数据设备根据各数据区间与数据排序设备的地址信息之间的映射关系,连接对应的数据排序设备。
步骤207,读取排序数据设备根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求。
步骤208,数据排序设备接收到读取排序数据设备发送的数据排序请求时,将该数据请求中携带的数据写入multimap中按照排序规则进行排序。
参见图3,图3为本申请实施例中排序过程时序示意图。在读取排序数据设备读取数据时,通过多线程的方式进行数据读取,每个线程在读取数据时,是一行一行进行数据读取的,不同线程可以读取同一个文件中的内容,也可以读取不同文件中的内容,在每个线程中将读取的行内容进行转换,提取获得待排序的数据,并将提取获得待排序的数据发送给数据排序设备后,再进行下一行数据的读取,直到该进程读取完需要读取的对应文件内容。
在具体实现时,读取数据排序结构可以使用map结构存储数据排序设备的地址信息,map结构中map的key为数据区间,可以使用索引值来标识数据区间,value的内容为数据区间对应的数据排序设备的地址信息,地址信息包括设备的IP地址和端口信息。
在读取文件内容时,还需保存对应的待排序数据项,即对应内容在文件中的行、列所示的位置信息,也一并发送给数据排序设备。
读取数据排序结构可以根据map结构中的相关内容将提取的待排序数据发送给对应的数据排序设备。
一个数据排序设备如果对应一个数据区间,则在写入通过一个进程发送来的数据到multimap之后,再写入发送来的另一行数据;若一个数据排序设备对应多个数据区间,则分别进行对应数据区间的数据的写入。
数据排序设备在数据写入成功后,可以通过写入成功消息通知读取排序数据设备,也可以不通知,默认数据写入成功。
当数据排序设备接收到读取排序数据设备发送的数据排序请求时,将本设备上的数据排序功能锁定;
当数据排序设备将所述数据排序请求中的数据写入multimap中并排序完成时,将本设备上的数据排序功能解锁,及时释放资源,等待其他写入请求的进入。
步骤209,读取排序数据设备上的所有线程均已完成读取数据时,通知排序服务发现设备。
步骤210,当排序服务发现设备接收到针对该应用进行大数据读取的所有读取排序数据设备已完成读取数据的通知时,确定针对该应用已完成数据的读取,将各数据区间和数据排序设备映射关系,以及排序规则发送给读取排序结果设备。
数据排序设备上通过multimap结构存储相关信息,其中,key为待排序数据项,即标识待排序数据的对应文件中的位置信息,可以为读取数据排序设备按行读取时,针对对应文件的一行的某一列,value为待排序的数据。
步骤211,读取排序结果设备按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
在具体实现时,排序服务发现设备上可以将数据排序设备,以及其对应的地址信息,根据数据区间的边界值,按照排序规则将各服务器顺序排列并存储为一个服务器列表,将该列表发送给读取排序结果设备,读取排序结果设备按照该服务器列表直接依次从各数据排序设备上读取已排序的数据集合,组成已排序的大数据。
本申请实施例中提供的数据相关存储方式,为一种示例,并不限于上述存储方式。
本申请实施例中的读取排序数据设备、数据排序设备、排序服务发现设备、读取排序结果设备实现的功能,可以分布在多个服务器上,如果资源允许,也可以虚拟为不同的功能模块,在一个或少数几个服务器上实现上述功能,可以根据实际应用进行部署,这里不做限制。
多个设备之间利用网络通信,实现大数据排序,能够解决单一服务器内存不足的问题。
上述实施例的设备可以集成于一体,也可以分离部署;可以合并为一个设备,也可以进一步拆分成多个子设备。
基于同样的发明构思,本申请还提出一种大数据排序系统。参见图4,图4为本申请实施例中应用于上述技术的系统示意图。该系统包括:读取排序数据设备401、数据排序设备402和读取排序结果设备403;
读取排序数据设备401,用于针对一个应用进行大数据排序时,根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;
数据排序设备402,用于接收到读取排序数据设备401发送的数据排序请求时,将该数据请求中携带的数据按照排序规则进行排序;
读取排序结果设备403,用于当所有数据排序设备402完成数据排序时,按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
较佳地,所述系统还包括:排序服务发现设备404;
读取排序数据设备401,进一步用于准备读取该应用对应的大数据时,将该大数据对应的数据区间总数发送给排序服务发现设备404;根据排序服务发现设备404发送的各数据区间与数据排序设备的地址信息之间的映射关系,与对应数据排序设备建立连接;
排序服务发现设备404,用于接收到读取排序数据设备401发送的数据区间总数时,在服务器资源池中选择资源满足所述数据区间总数需求的服务器,将选择的服务器部署为数据排序设备;并配置各数据区间与数据排序设备的地址信息之间的映射关系发送给读取排序数据设备402。
较佳地,
排序服务发现设备404,进一步用于在服务器资源池中选择满足所述数据区间总数的服务器之前,确定当前是否存在该应用对应的数据排序设备;若确定存在,且存在的数据排序设备的资源满足数据区间总数的需求,则选择资源满足数据区间总数的数据排序设备的地址信息发送给读取排序数据设备;若确定存在,且存在的数据排序设备的资源不能满足数据区间总数的需求,则再选择与所述存在的数据排序设备能够共同满足数据区间总数的服务器,将选择的服务器部署为数据排序设备;并将已存在的和新部署的数据排序设备的地址信息发送给读取排序数据设备;若确定不存在,则根据所述数据区间总数在服务器资源池中选择资源满足数据区间总数需求的服务器。
较佳地,
数据排序设备402,用于当接收到读取排序数据设备发送的数据排序请求时,将本设备上的数据排序功能锁定;当将所述数据排序请求中的数据排序完成时,将本设备上的数据排序功能解锁。
较佳地,
读取排序数据设备401,用于本设备上的所有线程均已完成读取数据时,通知排序服务发现设备;
排序服务发现设备404,用于当接收到针对该应用进行大数据读取的所有读取排序数据设备已完成读取数据的通知时,确定针对该应用已完成数据的读取,将各数据区间和数据排序设备映射关系,以及排序规则发送给读取排序结果设备,使读取排序结果设备根据数据区间的边界值的大小和排序规则从各数据排序设备上依次读取数据。
较佳地,
数据排序设备402,具体用于将该数据排序请求中携带的数据按照排序规则进行排序时,通过写入多键值映射multimap中进行排序。
综上所述,本申请通过利用多线程网络通信在数据排序设备与读取排序数据设备之间建立连接,读取排序数据设备对待排序数据进行数据区间划分,并通过写请求发送给各数据区间对应的数据排序设备,数据排序设备将待排序数据写入multimap中进行自动排序,按数据区间边界值的大小依次获取各数据排序设备上的数据,进而获得排序完成的数据。该方案能够避免数据倾斜问题,且能够提高数据排序效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种大数据排序方法,其特征在于,该方法包括:
针对一个应用进行大数据排序时,读取排序数据设备根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;
数据排序设备接收到读取排序数据设备发送的数据排序请求时,将该数据排序请求中携带的数据按照排序规则进行排序;
当所有数据排序设备完成数据排序时,读取排序结果设备按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
读取排序数据设备准备读取该应用对应的大数据时,将该大数据对应的数据区间总数发送给排序服务发现设备;
排序服务发现设备接收到所述读取排序数据设备发送的数据区间总数时,在服务器资源池中选择资源满足所述数据区间总数需求的服务器,将选择的服务器部署为数据排序设备;配置各数据区间与数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备;
读取排序数据设备根据所述映射关系连接对应的数据排序设备。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
所述在服务器资源池中选择资源满足所述数据区间总数需求的服务器,之前,所述方法进一步包括:
确定当前是否存在该应用对应的数据排序设备;
若确定存在,且存在的数据排序设备的资源满足数据区间总数的需求,则选择资源满足数据区间总数需求的数据排序设备,配置各数据区间与选择的数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备;
若确定存在,且存在的数据排序设备的资源不能满足数据区间总数的需求,则再选择与所述存在的数据排序设备能够共同满足数据区间总数的服务器,将选择的服务器部署为数据排序设备;配置各数据区间,与已存在的和新部署的数据排序设备的地址信息之间的映射关系,并发送给读取排序数据设备;
若确定不存在,在服务器资源池中选择资源满足所述数据区间总数需求的服务器。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
当数据排序设备接收到读取排序数据设备发送的数据排序请求时,将本设备上的数据排序功能锁定;
当数据排序设备将所述数据排序请求中的数据排序完成时,将本设备上的数据排序功能解锁。
5.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
读取排序数据设备上的所有线程均已完成读取数据时,通知排序服务发现设备;
当排序服务发现设备接收到针对该应用进行大数据读取的所有读取排序数据设备已完成读取数据的通知时,确定针对该应用已完成数据的读取,将各数据区间和数据排序设备映射关系,以及排序规则发送给读取排序结果设备,使读取排序结果设备根据数据区间的边界值的大小和排序规则从各数据排序设备上依次读取数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,
所述将该数据排序请求中携带的数据按照排序规则进行排序时,通过写入多键值映射multimap中进行排序。
7.一种大数据排序系统,其特征在于,该系统包括:读取排序数据设备、数据排序设备和读取排序结果设备;
所述读取排序数据设备,用于针对一个应用进行大数据排序时,根据该应用对应的文件数目和文件大小,启动N个线程同时读取数据文件的行内容,针对每个线程进行文件的行内容的转换获取待排序的数据,并根据所述待排序的数据所属的数据区间向对应的数据排序设备发送数据排序请求;
所述数据排序设备,用于接收到读取排序数据设备发送的数据排序请求时,将该数据排序请求中携带的数据按照排序规则进行排序;
所述读取排序结果设备,用于当所有所述数据排序设备完成数据排序时,按照数据区间的边界值的大小和排序规则,依次从各数据区间对应的排序服务器上获取排序后的数据,作为该应用对应的排序后的数据。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:排序服务发现设备;
所述读取排序数据设备,进一步用于准备读取该应用对应的大数据时,将该大数据对应的数据区间总数发送给所述排序服务发现设备;根据所述排序服务发现设备发送的各数据区间与数据排序设备的地址信息之间的映射关系,与对应数据排序设备建立连接;
所述排序服务发现设备,用于接收到所述读取排序数据设备发送的数据区间总数时,在服务器资源池中选择资源满足所述数据区间总数需求的服务器,将选择的服务器部署为数据排序设备;并配置各数据区间与数据排序设备的地址信息之间的映射关系发送给读取排序数据设备。
9.根据权利要求7所述的系统,其特征在于,
所述排序服务发现设备,进一步用于在服务器资源池中选择满足所述数据区间总数的服务器之前,确定当前是否存在该应用对应的数据排序设备;若确定存在,且存在的数据排序设备的资源满足数据区间总数的需求,则选择资源满足数据区间总数的数据排序设备的地址信息发送给读取排序数据设备;若确定存在,且存在的数据排序设备的资源不能满足数据区间总数的需求,则再选择与所述存在的数据排序设备能够共同满足数据区间总数的服务器,将选择的服务器部署为数据排序设备;并将已存在的和新部署的数据排序设备的地址信息发送给读取排序数据设备;若确定不存在,则根据所述数据区间总数在服务器资源池中选择资源满足数据区间总数需求的服务器。
10.根据权利要求9所述的系统,其特征在于,
所述数据排序设备,用于当接收到读取排序数据设备发送的数据排序请求时,将本设备上的数据排序功能锁定;当将所述数据排序请求中的数据排序完成时,将本设备上的数据排序功能解锁。
11.根据权利要求8所述的系统,其特征在于,
所述读取排序数据设备,用于本设备上的所有线程均已完成读取数据时,通知排序服务发现设备;
所述排序服务发现设备,用于当接收到针对该应用进行大数据读取的所有读取排序数据设备已完成读取数据的通知时,确定针对该应用已完成数据的读取,将各数据区间和数据排序设备映射关系,以及排序规则发送给读取排序结果设备,使读取排序结果设备根据数据区间的边界值的大小和排序规则从各数据排序设备上依次读取数据。
12.根据权利要求7-11任一项所述的系统,其特征在于,
所述数据排序设备,具体用于将该数据排序请求中携带的数据按照排序规则进行排序时,通过写入多键值映射multimap中进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710320122.2A CN108874798B (zh) | 2017-05-09 | 2017-05-09 | 一种大数据排序方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710320122.2A CN108874798B (zh) | 2017-05-09 | 2017-05-09 | 一种大数据排序方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874798A true CN108874798A (zh) | 2018-11-23 |
CN108874798B CN108874798B (zh) | 2022-08-12 |
Family
ID=64287676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710320122.2A Active CN108874798B (zh) | 2017-05-09 | 2017-05-09 | 一种大数据排序方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874798B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597054A (zh) * | 2020-07-24 | 2020-08-28 | 北京卡普拉科技有限公司 | 一种信息处理方法、系统、电子设备及存储介质 |
CN112947890A (zh) * | 2021-03-09 | 2021-06-11 | 中科驭数(北京)科技有限公司 | 一种归并排序方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101568900A (zh) * | 2006-12-22 | 2009-10-28 | 日本电气株式会社 | 并行排序装置、方法及程序 |
WO2011136937A2 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Multi-threaded sort of data items in spreadsheet tables |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
US20130086135A1 (en) * | 2009-08-12 | 2013-04-04 | International Business Machines Corporation | Scalable file management for a shared file system |
CN103440246A (zh) * | 2013-07-19 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 用于MapReduce的中间结果数据排序方法及系统 |
CN103530084A (zh) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | 一种数据并行排序方法和系统 |
CN105740332A (zh) * | 2016-01-22 | 2016-07-06 | 北京京东尚科信息技术有限公司 | 数据排序方法和装置 |
CN106202374A (zh) * | 2016-07-07 | 2016-12-07 | 无锡天脉聚源传媒科技有限公司 | 一种数据处理方法及装置 |
-
2017
- 2017-05-09 CN CN201710320122.2A patent/CN108874798B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101568900A (zh) * | 2006-12-22 | 2009-10-28 | 日本电气株式会社 | 并行排序装置、方法及程序 |
US20130086135A1 (en) * | 2009-08-12 | 2013-04-04 | International Business Machines Corporation | Scalable file management for a shared file system |
WO2011136937A2 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Multi-threaded sort of data items in spreadsheet tables |
CN102968496A (zh) * | 2012-12-04 | 2013-03-13 | 天津神舟通用数据技术有限公司 | 基于任务驱动和双缓冲机制的并行排序方法 |
CN103440246A (zh) * | 2013-07-19 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 用于MapReduce的中间结果数据排序方法及系统 |
CN103530084A (zh) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | 一种数据并行排序方法和系统 |
CN105740332A (zh) * | 2016-01-22 | 2016-07-06 | 北京京东尚科信息技术有限公司 | 数据排序方法和装置 |
CN106202374A (zh) * | 2016-07-07 | 2016-12-07 | 无锡天脉聚源传媒科技有限公司 | 一种数据处理方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597054A (zh) * | 2020-07-24 | 2020-08-28 | 北京卡普拉科技有限公司 | 一种信息处理方法、系统、电子设备及存储介质 |
CN112947890A (zh) * | 2021-03-09 | 2021-06-11 | 中科驭数(北京)科技有限公司 | 一种归并排序方法及装置 |
CN112947890B (zh) * | 2021-03-09 | 2021-11-02 | 中科驭数(北京)科技有限公司 | 一种归并排序方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108874798B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431651B (zh) | 一种网络服务的生命周期管理方法及设备 | |
CN109271265A (zh) | 基于消息队列的请求处理方法、装置、设备及存储介质 | |
CN110119292A (zh) | 系统运行参数查询方法、匹配方法、装置及节点设备 | |
CN107861811B (zh) | 工作流系统中的任务信息传输方法、装置和计算机设备 | |
CN109785042A (zh) | 分布式部署的异常处理方法、服务器、存储介质及装置 | |
CN1358379A (zh) | 电信网络资源管理方案和方法 | |
CN114244717A (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN106202848A (zh) | 医学影像文件的获取方法、用户终端及主服务器 | |
CN105700877A (zh) | 一种应用部署方法和装置 | |
CN109491895A (zh) | 服务器压力测试方法及装置 | |
CN102521218A (zh) | 文件合成方法及装置 | |
CN108874798A (zh) | 一种大数据排序方法和系统 | |
CN110083536B (zh) | 测试资源分配方法及装置、电子设备及存储介质 | |
CN101667139A (zh) | 基于集合类型对象的服务程序调用方法、装置及系统 | |
CN113590433B (zh) | 数据管理方法、数据管理系统和计算机可读存储介质 | |
CN110620722B (zh) | 一种订单处理的方法和装置 | |
CN103533029A (zh) | 甘特图数据加载方法及系统 | |
CN111435329A (zh) | 一种自动化测试方法和装置 | |
CN103117959A (zh) | 资源重分配方法、信息收集设备和资源管理设备 | |
CN108762979A (zh) | 一种基于匹配树的终端信息备份方法及备份设备 | |
CN111539281A (zh) | 分布式人脸识别方法及系统 | |
CN103425707A (zh) | 数据分析方法和装置 | |
CN108156201B (zh) | 统一管理应用系统配置数据的方法和装置 | |
CN113419745A (zh) | 应用实例编号管理方法、装置、电子设备及计算机可读介质 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 |
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 |