CN109101641A - 表格处理方法、装置、系统和介质 - Google Patents
表格处理方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN109101641A CN109101641A CN201810951488.4A CN201810951488A CN109101641A CN 109101641 A CN109101641 A CN 109101641A CN 201810951488 A CN201810951488 A CN 201810951488A CN 109101641 A CN109101641 A CN 109101641A
- Authority
- CN
- China
- Prior art keywords
- record row
- data
- row
- mark
- numerical value
- 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
Abstract
本公开提供了一种表格处理方法,所述表格包括至少一个记录行以及至少一个属性列,所述至少一个记录行中的每个记录行具有不同的行标识,所述方法用于根据所述行标识的顺序依次处理所述至少一个记录行的数据,所述方法包括:获取所述表格的当前记录行的数据;根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据;确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,所述索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。本公开还提供了一种表格处理装置、一种表格处理系统以及一种计算机可读存储介质。
Description
技术领域
本公开涉及一种表格处理方法、一种表格处理装置、一种表格处理系统和一种计算机可读存储介质。
背景技术
随着科学技术的快速发展,人工智能被越来越多地应用于金融、电商、安防、医疗、教育、自动驾驶和日常生活等诸多领域。人工智能平台上通常需要对大量的数据进行分析处理,例如,对数据库进行分组查询等,这对现有的通用处理器的性能、负载等各方面都提出了极大的挑战。因此,亟需提供一种能够快速处理数据/信号的方法。
发明内容
本公开的一个方面提供了一种表格处理方法,所述表格包括至少一个记录行以及至少一个属性列,所述至少一个记录行中的每个记录行具有不同的行标识,所述方法用于根据所述行标识的顺序依次处理所述至少一个记录行的数据,所述方法包括:获取所述表格的当前记录行的数据,根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据,以及确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,所述索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
可选地,上述根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据,包括:分别对所述当前记录行中的特定属性列对应的数据进行哈希计算,以及根据所述特定属性列对应的数据对应的哈希值确定所述当前记录行的标识数据。
可选地,上述确定在已处理的记录行中是否存在相同的标识数据,包括:确定所述当前记录行的标识数据是否存在于标识表中,所述标识表中存储有已处理的记录行的不同的标识数据。
可选地,上述方法还包括:根据所述标识数据确定分组号,相同的标识数据对应相同的分组号,不同的标识数据对应不同的分组号,以及输出所述分组号。
可选地,上述方法还包括:在所述已处理的记录行中存在与所述当前记录行相同的标识数据的情况下,确定所述当前记录行的特定属性列对应的数据与所述具有相同标识数据的记录行的特定属性列对应的数据是否相同,若相同,则输出所述索引数值,否则输出冲突数值,所述冲突数值与所述索引数值和所述初始数值不同。
可选地,上述方法还包括:基于所述索引数值和所述初始数值对所述至少一个记录行进行分组处理。
可选地,上述表格处理方法能够通过现场可编程门阵列FPGA实现。
本公开的另一个方面提供了一种表格处理装置,所述表格包括至少一个记录行以及至少一个属性列,所述至少一个记录行中的每个记录行具有不同的行标识,所述方法用于根据所述行标识的顺序依次处理所述至少一个记录行的数据,所述装置包括获取模块、第一处理模块和第一输出模块。获取模块获取所述表格的当前记录行的数据。第一处理模块根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据。第一输出模块确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,所述索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
可选地,上述根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据,包括:分别对所述当前记录行中的特定属性列对应的数据进行哈希计算,以及根据所述特定属性列对应的数据对应的哈希值确定所述当前记录行的标识数据。
可选地,上述确定在已处理的记录行中是否存在相同的标识数据,包括:确定所述当前记录行的标识数据是否存在于标识表中,所述标识表中存储有已处理的记录行的不同的标识数据。
可选地,上述装置还包括确定模块和第二输出模块。确定模块根据所述标识数据确定分组号,相同的标识数据对应相同的分组号,不同的标识数据对应不同的分组号。第二输出模块输出所述分组号。
可选地,上述的装置还包括:第三输出模块,在所述已处理的记录行中存在与所述当前记录行相同的标识数据的情况下,确定所述当前记录行的特定属性列对应的数据与所述具有相同标识数据的记录行的特定属性列对应的数据是否相同,若相同,则输出所述索引数值,否则输出冲突数值,所述冲突数值与所述索引数值和所述初始数值不同。
可选地,上述装置,还包括:第二处理模块,基于所述索引数值和所述初始数值对所述至少一个记录行进行分组处理。
可选地,上述表格处理装置能够通过现场可编程门阵列FPGA实现。
本公开的另一方面提供了一种表格处理系统,包括:一个或多个存储器,存储有可执行指令,以及一个或多个处理器,执行所述可执行指令,以实现如上所述的方法。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的表格处理方法和装置的应用场景;
图2示意性示出了根据本公开实施例的表格处理方法的流程图;
图3示意性示出了根据本公开实施例的表格示意图;
图4示意性示出了根据本公开实施例的根据索引数值的分组示意图;
图5A示意性示出了根据本公开实施例的表格处理装置的框图;
图5B示意性示出了根据本公开另一实施例的表格处理装置的框图;
图6示意性示出了根据本公开实施例的表格处理系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种表格处理方法,表格包括至少一个记录行以及至少一个属性列,至少一个记录行中的每个记录行具有不同的行标识,该方法用于根据行标识的顺序依次处理至少一个记录行的数据,具体包括:获取表格的当前记录行的数据,根据预定规则,对当前记录行中的特定属性列对应的数据进行处理,得到能够表征当前记录行的标识数据,以及确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
图1示意性示出了根据本公开的实施例的表格处理方法和装置的应用场景100。
如图1所示,该应用场景100包括电子设备110和硬件电路120。
电子设备110可以是具有显示装置且能够实现数据传输的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
硬件电路120例如可以是可编程电路,例如,现场可编程门阵列(Field-Programmable Gate Array,FPGA),等等,但不限于此。
在本公开实施例中,电子设备110与硬件电路120能够建立通信连接,例如,电子设备110与硬件电路120可以实现彼此之间的数据传输。
可以理解,现有技术在做表格的分组查询时,通常使用电子设备110的通用处理器依靠排序算法和归并算法进行分组查询。例如,目前MySQL中的GROUP BY操作就是通过排序算法来实现先分块排序后归并分组的实现方式。然而,随着信息爆炸时代的来临,排序方法的依次对比数据更新处理分组速度显然已经不能满足用户对数据的实时需求。并且类似电子设备110等传统的通用处理器本身的频率墙、功耗墙和存储墙限制了其性能的提升,因此,传统的通用处理器的性能很难进一步提升。
基于此,本公开实施例提供了一种表格处理方法,在电子设备110需要进行表格分组查询时,可以将相关的表格数据以及相应的分组条件发送至硬件电路120,由硬件电路120根据分组条件依次对表格的每一个记录行的数据进行处理,确定当前记录行是否与之前处理过的记录行属于同一分组,若属于,则输出相应的索引值,若不属于,则输出初始数值,从而可以流式地输出每一个记录行的分组结果,电子设备110可以根据硬件电路120输出的分组结果进一步对表格进行分组查询,而无须与已有数据进行一一比较,减轻了电子设备110的负载压力,并且通过硬件电路120实现表格分组查询可以使得处理速度加快。
需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
图2示意性示出了根据本公开实施例的表格处理方法的流程图。
如图2所示,该方法包括操作S201~S203。
在操作S201,获取表格的当前记录行的数据。
在操作S202,根据预定规则,对当前记录行中的特定属性列对应的数据进行处理,得到能够表征当前记录行的标识数据。
在操作S203,确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,该索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
根据本公开实施例,例如,如图3所示,表格可以包括至少一个记录行和至少一个属性列,每个记录行可以具有不同的行标识,本公开实施例提供的方法可以用于根据行标识的顺序依次处理每个记录行的数据。例如,表格具有n个记录行,n个记录行的行标识可以分别为1、2、……、n,本公开实施例提供的表格处理方法可以依次获取每个记录行的数据,从而对该行数据进行处理,输出相应的处理结果。
在本公开实施例中,可以根据分组规则,确定分组规则对应的属性列,从而对该列的数据进行处理,获得当前记录行的标识数据。例如,如图3所示,分组查询可以是“groupbv属性列1”,即,根据属性列1的数据对表格进行分组,则属性列1即为特定属性列。
根据本公开实施例,根据预定规则,对当前记录行中的特定属性列对应的数据进行处理,得到能够表征当前记录行的标识数据,可以包括:分别对当前记录行中的特定属性列对应的数据进行哈希计算,根据特定属性列对应的数据对应的哈希值确定当前记录行的标识数据。
在本公开实施例中,特定属性列可以是一列也可以是多列,具体情况可以根据分组规则确定。当特定属性列为一列时,可以对当前记录行的该列对应的数据进行哈希计算,得到的哈希值可以作为当前记录行的标识数据。当特定属性列为多列时,可以分别对该些特定属性列对应的数据进行哈希计算,并将得到的多个哈希值进行拼接得到当前记录行的标识数据。或者,当特定属性列为多列时,也可以先将该些特定属性列对应的数据进行拼接,对拼接后的数据进行哈希计算,得到的哈希值作为当前记录行的标识数据。
可以理解,上述举例中获取标识数据的方法仅为帮助本领域技术人员的理解,本公开不限制确定每个记录行的标识数据的方法,仅需该标识数据与特定属性列对应的数据相关即可,具体方法本领域技术人员可以根据实际情况设定。
本公开实施例可以包括有标识表,标识表中可以存储有已处理的记录行的不同的标识数据。从而确定在已处理的记录行中是否存在相同的标识数据可以是确定当前记录行的标识数据是否存在标识表中。
例如,本公开实施例在处理获得一个记录行的标识数据后,判断标识表中是否存储有该标识数据,如果标识表中没有存储该标识数据,表示已处理的记录行中不存在相同的标识数据,则证明该记录行与已处理的记录行都不是相同的分组,并且可以将该标识数据存储至标识表中。如果标识表中存储有该标识数据,表示已处理的记录行中存在相同的标识数据,则证明该记录行与已处理的记录行中具有相同标识数据的记录行属于同一分组。
在本公开实施例中,如果已处理的记录行中不存在相同的标识数据,则可以认为当前记录行与已处理的记录行都不属于相同的分组,在这种情况下,可以为当前记录行赋予初始数值并输出,例如,可以输出0。例如,如图3所示,记录行3与之前的记录行(记录行1和记录行2)不属于相同的分组,其对应的索引数值可以为初始数值0。
如果已处理的记录行中存在相同的标识数据,则可以认为当前记录行与已处理的记录行中具有相同标识数据的记录行属于相同的分组,在这种情况下,可以为当前记录行赋予索引数值并输出,该索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相同。例如,如图3所示,记录行2与之前处理过的记录行1属于具有相同的标识数据,属于相同的分组,则记录行2对应的索引数值可以是记录行1的行标识1。再例如,记录行5与之前处理过的记录行1和2具有相同的标识数据,属于相同的分组,则记录行6对应的索引数值可以是最近一次处理的记录行2的行标识2。再例如,记录行9与之前处理过的记录行1、2和6具有相同的标识数据,属于相同的分组,则记录行9对应的索引数值可以是最近一次处理的记录行6的行标识6。
根据本公开实施例,上述参考图2描述的方法可以通过现场可编程门阵列FPGA实现。例如,可编程门阵列FPGA可以每次获取一个记录行,并对该行数据进行处理,然后输出索引数值或者初始数值,以便其他处理器可以根据索引值和初始值对表格进行分组。
根据本公开实施例,可以基于索引数值和初始数值对至少一个记录行进行分组处理。例如,可以从表格的最后开始根据索引数值进行分组提取,在提取的记录行对应的索引数值为初始数值时结束分组。例如,如图4所示,从表格的记录行11开始,寻找与记录行11属于相同分组A的记录行,记录行11对应的索引数值为9,则记录行9属于该分组A,记录行9对应的索引数值为6,则记录行6也属于该分组A,记录行6对应的索引数值为2,则记录行2也属于该分组A,记录行对应的索引数值为1,则记录行1也属于该分组A,记录行1对应的索引数值为0,则表明记录行1是该分组的第一个记录行,该表格中已经不存在其他记录行属于该分组,可以认为分组A已经完成分组。
在本公开实施例中,还可以根据标识数据确定分组号,相同的标识数据对应相同的分组号,不同的标识数据对应不同的分组号,以及输出分组号。
例如,如图3所示,如果当前记录行的行标识与之前处理过的记录行的行标识相同,则当前记录行与其具有相同的分组号,输出该分组号。如果当前记录行的行标识与之前处理过的记录行的行标识不同,则为当前记录行分配新的分组号,输出该新的分组号。
在本公开实施例中,FPGA中可以存储有分组号表格,该表格例如可以包括处理过的记录行的行标识以及对应的分组号。在确定当前记录行对应的索引数值时,可以通过分组号表格进行确定。例如,当前记录行9的标识数据对应的分组号为1,在分组号表格中,最近一次处理分组号也为1的记录行的行标识为6,则当前记录行9对应的索引数值为6。
根据本公开实施例,还可以在已处理的记录行中存在与当前记录行相同的标识数据的情况下,确定当前记录行的特定属性列对应的数据与所述具有相同标识数据的记录行的特定属性列对应的数据是否相同,若相同,则输出索引数值,否则输出冲突数值,冲突数值与索引数值和初始数值不同。
在本公开实施例中,FPGA中可以存储每个标识数据对应的特定属性列的数据。在当前记录行的标识数据已经存在于标识表中时,可以判断当前记录行的特定属性列的数据与标识表中该标识数据对应的特定属性列的数据是否相同,若相同则表示当前记录行属于具有该标识数据的分组内,若不相同,则表示标识数据出现冲突,当前记录行不应该属于具有该标识数据的分组内,此时可以输出冲突数值,例如-1。可以理解,在表格数据及其庞大的情况下,可能会出现不同的数据但是具有相同的哈希值的情况,本申请引入冲突数值,可以减少该情况造成的分组不准确的问题。
本公开实施例可以将表格的记录行一次输入至硬件电路,硬件电路可以对该记录行数据进行处理,并且确定当前记录行是否与之前处理过的记录行属于同一分组,若属于,则输出相应的索引值,若不属于,则输出初始数值,从而可以流式地输出每一个记录行的分组结果。然后其他处理装置可以根据硬件电路输出的分组结果进一步对表格进行分组,而无须与已有数据进行一一比较,减轻了其他处理装置的负载压力,并且通过硬件电路对表格数据进行处理可以加快整个分组处理的速度。
本公开实施例的方法可以通过硬件电路实现,硬件电路可以直接挂接在已有的系统中,参与已有的分组方案的处理过程,提高了系统的处理速度,同时可以节省更换成本。
图5A示意性示出了根据本公开实施例的表格处理装置的框图。
如图5A所示,表格处理装置500包括获取模块510、第一处理模块520以及第一输出模块530。
根据本公开实施例,表格包括至少一个记录行以及至少一个属性列,至少一个记录行中的每个记录行具有不同的行标识,该装置用于根据行标识的顺序依次处理至少一个记录行的数据。
获取模块510获取表格的当前记录行的数据。
第一处理模块520根据预定规则,对当前记录行中的特定属性列对应的数据进行处理,得到能够表征当前记录行的标识数据。
第一输出模块530确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
根据本公开实施例,上述根据预定规则,对当前记录行中的特定属性列对应的数据进行处理,得到能够表征当前记录行的标识数据,可以包括:分别对当前记录行中的特定属性列对应的数据进行哈希计算,以及根据特定属性列对应的数据对应的哈希值确定当前记录行的标识数据。
根据本公开实施例,上述确定在已处理的记录行中是否存在相同的标识数据,可以包括:确定当前记录行的标识数据是否存在于标识表中,标识表中存储有已处理的记录行的不同的标识数据。
图5B示意性示出了根据本公开另一实施例的表格处理装置的框图;
如图5B所示,表格处理装置500还可以包括确定模块540、第二输出模块550、第三输出模块560以及第二处理模块570。
确定模块540根据标识数据确定分组号,相同的标识数据对应相同的分组号,不同的标识数据对应不同的分组号。
第二输出模块550输出分组号。
第三输出模块560在已处理的记录行中存在与当前记录行相同的标识数据的情况下,确定当前记录行的特定属性列对应的数据与具有相同标识数据的记录行的特定属性列对应的数据是否相同,若相同,则输出索引数值,否则输出冲突数值,冲突数值与索引数值和初始数值不同。
第二处理模块570基于索引数值和初始数值对至少一个记录行进行分组处理。
根据本公开实施例,其中,获取模块510、第一处理模块520、第一输出模块530、确定模块540、第二输出模块550、第三输出模块560能够通过现场可编程门阵列FPGA实现。第二处理模块570例如可以通过通用处理器实现。
根据本公开实施例,表格处理装置500例如可以执行上文参考图2描述的方法,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块510、第一处理模块520、第一输出模块530、确定模块540、第二输出模块550、第三输出模块560以及第二处理模块570中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块510、第一处理模块520、第一输出模块530、确定模块540、第二输出模块550、第三输出模块560以及第二处理模块570中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块510、第一处理模块520、第一输出模块530、确定模块540、第二输出模块550、第三输出模块560以及第二处理模块570中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,表格处理系统600包括处理器610、计算机可读存储介质620。该表格处理系统600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获取模块510、第一处理模块520、第一输出模块530、确定模块540、第二输出模块550、第三输出模块560以及第二处理模块570中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种表格处理方法,所述表格包括至少一个记录行以及至少一个属性列,所述至少一个记录行中的每个记录行具有不同的行标识,所述方法用于根据所述行标识的顺序依次处理所述至少一个记录行的数据,所述方法包括:
获取所述表格的当前记录行的数据;
根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据;
确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,所述索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
2.根据权利要求1所述的方法,其中,所述根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据,包括:
分别对所述当前记录行中的特定属性列对应的数据进行哈希计算;
根据所述特定属性列对应的数据对应的哈希值确定所述当前记录行的标识数据。
3.根据权利要求1所述的方法,其中,所述确定在已处理的记录行中是否存在相同的标识数据,包括:确定所述当前记录行的标识数据是否存在于标识表中,所述标识表中存储有已处理的记录行的不同的标识数据。
4.根据权利要求1所述的方法,还包括:
根据所述标识数据确定分组号,相同的标识数据对应相同的分组号,不同的标识数据对应不同的分组号;
输出所述分组号。
5.根据权利要求1所述的方法,还包括:
在所述已处理的记录行中存在与所述当前记录行相同的标识数据的情况下,确定所述当前记录行的特定属性列对应的数据与所述具有相同标识数据的记录行的特定属性列对应的数据是否相同,若相同,则输出所述索引数值,否则输出冲突数值,所述冲突数值与所述索引数值和所述初始数值不同。
6.根据权利要求1所述的方法,还包括:
基于所述索引数值和所述初始数值对所述至少一个记录行进行分组处理。
7.根据权利要求1~5所述的方法,其中,所述表格处理方法能够通过现场可编程门阵列FPGA实现。
8.一种表格处理装置,所述表格包括至少一个记录行以及至少一个属性列,所述至少一个记录行中的每个记录行具有不同的行标识,所述方法用于根据所述行标识的顺序依次处理所述至少一个记录行的数据,所述装置包括:
获取模块,获取所述表格的当前记录行的数据;
第一处理模块,根据预定规则,对所述当前记录行中的特定属性列对应的数据进行处理,得到能够表征所述当前记录行的标识数据;
第一输出模块,确定在已处理的记录行中是否存在相同的标识数据,若不存在,则输出初始数值,否则,输出索引数值,所述索引数值与最近一次处理的具有相同的标识数据的记录行的行标识相关。
9.一种表格处理系统,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951488.4A CN109101641B (zh) | 2018-08-20 | 2018-08-20 | 表格处理方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810951488.4A CN109101641B (zh) | 2018-08-20 | 2018-08-20 | 表格处理方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101641A true CN109101641A (zh) | 2018-12-28 |
CN109101641B CN109101641B (zh) | 2022-09-23 |
Family
ID=64850384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810951488.4A Active CN109101641B (zh) | 2018-08-20 | 2018-08-20 | 表格处理方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109101641B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036140A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 前端表格数据分组统计方法及装置 |
CN113779021A (zh) * | 2021-02-03 | 2021-12-10 | 西安京迅递供应链科技有限公司 | 数据处理方法、装置、计算机系统及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350030A (zh) * | 2007-07-20 | 2009-01-21 | 株式会社东芝 | 用于缓存数据的方法及装置 |
US7707219B1 (en) * | 2005-05-31 | 2010-04-27 | Unisys Corporation | System and method for transforming a database state |
CN103164507A (zh) * | 2011-12-12 | 2013-06-19 | Sap股份公司 | 行与列数据库表在原生方向上的混合联接 |
CN103186653A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 辅助查询方法和设备、查询方法和设备及命名查询系统 |
CN103597472A (zh) * | 2011-06-07 | 2014-02-19 | 惠普开发有限公司 | 旁路信息传递 |
CN103631842A (zh) * | 2012-08-21 | 2014-03-12 | 国际商业机器公司 | 用于检测多列复合键列集合的方法和系统 |
CN103703467A (zh) * | 2013-08-29 | 2014-04-02 | 华为技术有限公司 | 存储数据的方法和装置 |
US20150095341A1 (en) * | 2013-09-27 | 2015-04-02 | International Business Machines Corporation | System and a method for hierarchical data column storage and efficient query processing |
US20160342636A1 (en) * | 2015-05-22 | 2016-11-24 | International Business Machines Corporation | Detecting quasi-identifiers in datasets |
US20170323003A1 (en) * | 2016-05-06 | 2017-11-09 | International Business Machines Corporation | Value range synopsis in column-organized analytical databases |
-
2018
- 2018-08-20 CN CN201810951488.4A patent/CN109101641B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707219B1 (en) * | 2005-05-31 | 2010-04-27 | Unisys Corporation | System and method for transforming a database state |
CN101350030A (zh) * | 2007-07-20 | 2009-01-21 | 株式会社东芝 | 用于缓存数据的方法及装置 |
CN103597472A (zh) * | 2011-06-07 | 2014-02-19 | 惠普开发有限公司 | 旁路信息传递 |
CN103164507A (zh) * | 2011-12-12 | 2013-06-19 | Sap股份公司 | 行与列数据库表在原生方向上的混合联接 |
CN103186653A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 辅助查询方法和设备、查询方法和设备及命名查询系统 |
CN103631842A (zh) * | 2012-08-21 | 2014-03-12 | 国际商业机器公司 | 用于检测多列复合键列集合的方法和系统 |
CN103703467A (zh) * | 2013-08-29 | 2014-04-02 | 华为技术有限公司 | 存储数据的方法和装置 |
US20150095341A1 (en) * | 2013-09-27 | 2015-04-02 | International Business Machines Corporation | System and a method for hierarchical data column storage and efficient query processing |
US20160342636A1 (en) * | 2015-05-22 | 2016-11-24 | International Business Machines Corporation | Detecting quasi-identifiers in datasets |
US20170323003A1 (en) * | 2016-05-06 | 2017-11-09 | International Business Machines Corporation | Value range synopsis in column-organized analytical databases |
Non-Patent Citations (3)
Title |
---|
PEANUT: "SQL Group By Date Conflicts", 《STACK OVERFLOW》 * |
皮德常等: "一种基于嵌套关系模型的超文本数据库设计", 《南京航空航天大学学报》 * |
贾丹等: "基于哈希函数的数据库查询技术的研究", 《辽宁工业大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036140A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 前端表格数据分组统计方法及装置 |
CN112036140B (zh) * | 2020-09-01 | 2023-08-18 | 中国银行股份有限公司 | 前端表格数据分组统计方法及装置 |
CN113779021A (zh) * | 2021-02-03 | 2021-12-10 | 西安京迅递供应链科技有限公司 | 数据处理方法、装置、计算机系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109101641B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214674B (zh) | 客服系统管理方法、客服系统及电子设备 | |
CN110201393A (zh) | 一种配置数据的存储方法、装置及电子设备 | |
CN110290522A (zh) | 用于移动设备的风险识别方法、装置和计算机系统 | |
CN109359237A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN109684272A (zh) | 文档保存方法、系统及终端设备 | |
CN109885657A (zh) | 一种文本相似度的计算方法、装置及存储介质 | |
CN109783550A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN107818168A (zh) | 题目搜索方法、装置及设备 | |
CN106547870A (zh) | 数据库的分表方法及装置 | |
CN110515968A (zh) | 用于输出信息的方法和装置 | |
CN109101641A (zh) | 表格处理方法、装置、系统和介质 | |
CN109144965A (zh) | 一种日志处理方法、装置、设备和介质 | |
CN110020333A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN109101311A (zh) | 一种显示视图兼容的方法及电子设备 | |
CN109165723A (zh) | 用于处理数据的方法和装置 | |
CN109101531A (zh) | 文件处理方法、装置及系统 | |
CN109683917A (zh) | 用于将应用部署于应用服务器的方法、设备以及介质 | |
CN110443034A (zh) | 风险程序文件的识别方法、装置、计算设备以及介质 | |
US8656368B1 (en) | System, method, and computer program product for abstract software performance profiling | |
CN106250380B (zh) | Hadoop文件系统数据自定义分块方法 | |
CN110519109A (zh) | 探测节点关联的方法、装置、计算设备以及介质 | |
CN111221690A (zh) | 针对集成电路设计的模型确定方法、装置及终端 | |
CN109787813A (zh) | 基于sdn的服务链的配置方法、设备、系统和介质 | |
CN109582476A (zh) | 数据处理方法、装置及系统 | |
CN110349263A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |