CN102955802B - 从数据报表中获取数据的方法和装置 - Google Patents

从数据报表中获取数据的方法和装置 Download PDF

Info

Publication number
CN102955802B
CN102955802B CN201110247263.9A CN201110247263A CN102955802B CN 102955802 B CN102955802 B CN 102955802B CN 201110247263 A CN201110247263 A CN 201110247263A CN 102955802 B CN102955802 B CN 102955802B
Authority
CN
China
Prior art keywords
data
data sheet
querying condition
condition information
database
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.)
Active
Application number
CN201110247263.9A
Other languages
English (en)
Other versions
CN102955802A (zh
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.)
Alibaba Group Holding 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 CN201110247263.9A priority Critical patent/CN102955802B/zh
Publication of CN102955802A publication Critical patent/CN102955802A/zh
Priority to HK13104629.6A priority patent/HK1177288A1/zh
Application granted granted Critical
Publication of CN102955802B publication Critical patent/CN102955802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了从数据报表中获取数据的方法和装置,其中,该方法包括:将用户输入的查询条件信息导入到数据库中的第一数据报表中;将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;输出匹配成功的数据条目。本申请解决了现有技术中从数据报表中获取数据的效率较低的问题,提高了从数据报表中获取数据的效率。

Description

从数据报表中获取数据的方法和装置
技术领域
本申请涉及互联网领域,具体而言,涉及一种从数据报表中获取数据的方法和装置。
背景技术
如图1所示,在现有报表产品中,一般通过以下方法来实现从数据报表中获取相应的数据:
S102:用户通过报表产品选择导出整张数据报表;
S104:报表产品输出用户所需导出的整张数据报表。
也就是说,在现有的报表产品中,只能导出整张数据报表。然而,在目前的互联网上,数据报表中的数据条目有时是海量的,例如,100万条,而用户所需要的数据可能是这张数据报表中的若干数据条目。这样,当输出整张数据报表时,用户需要花费大量的时间来进行筛选,从而降低了获取数据的效率。
以现有的报表产品MSTR(MicroStrategy)在电子商务网站上的应用为例,手机卖家在线下获取了一些手机客户的信息,例如,客户名称、客户电话等,该用户需要在数据报表中查找该客户的其他相应信息,例如,客户区域和销售历史情况等。为了实现上述查找的目的,手机卖家通过报表产品MSTR输出整张手机销售数据报表,然后再在该手机销售数据报表中人工寻找与上述客户对应的客户区域和销售历史情况,这样的查找方式明显效率很低,无法满足用户的需求。
此外,目前的报表产品通常是将数据报表在网页上进行展现,以便供用户进一步选择和查找。然而,在网页展现的数据报表中进行数据选择时,用户只能在网页提供的查询条件输入框中填写有限的几个关键词,然后,由管理网页的服务器按照服务器预定的查询规则来在整个数据报表中进行查询,这样可能存在以下几种问题:1)由于只能输入有限的几个关键词,可能导致输出的查询结果依然较多,这样仍然需要进行二次查询或多次查询,从而使得查询效率降低;2)现有的查询方式只能按照服务器预定的查询规则来进行,用户无法根据需求来设置所需的查询规则,这样,可能由于服务器预定的查询规则不符合当前需求而导致输出的查询结果依然较多,从而需要进行二次查询或多次查询,使得查询效率降低。此外,上述网页输出的过程中需要受到很多的网页缓存(Cache)的限制,无法输出数据量较大的报表。以报表产品BIEE为例,当数据报表的数据量超过20M时,就超过Cache缓存的大小,而出现无法导出或导出异常(显示结果为乱码)的问题。
发明内容
本申请的主要目的在于提供一种从数据报表中获取数据的方法和装置,以至少解决现有技术中从数据报表中获取数据的效率较低的问题。
根据本申请的一个方面,提供了一种从数据报表中获取数据的方法,其包括:将用户输入的查询条件信息导入到数据库中的第一数据报表中;将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;输出匹配成功的数据条目。
根据本申请的另一方面,提供了一种从数据报表中获取数据的装置,其包括:导入单元,用于将用户输入的查询条件信息导入到数据库中的第一数据报表中;关联单元,用于将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;查找单元,用于在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;输出单元,用于输出匹配成功的数据条目。
通过本申请的技术方案,能够达到以下有益效果:
1)通过将用户输入的查询条件信息导入到数据库的数据报表中,并将其与待查找的数据报表进行关联,这样用户就能通过自己设定的查询规则对两张数据报表进行匹配查询操作。从而能够减少输出的查询结果的数量,避免了二次查询或多次查询,提高了查询效率;此外,由于能够将用户输入的查询条件信息作为数据报表导入到数据库中,从而能够增加查询条件的数量和复杂度,而不受网页上预设的查询条件输入框的限制,这样,经过匹配查询后输出的查询结果较少,避免了二次查询或多次查询,提高了查询效率;再次,由于只输出数据报表中与用户输入的查询条件信息匹配的数据条目,这样使得用户能够直接使用所输出的信息,而不需要从整张数据报表中查找所需的数据条目,从而解决了现有技术中从数据报表中获取数据的效率较低的问题,提高了从数据报表中获取数据的效率;
2)由于输出是以文件的形式输出,从而避免了现有技术中由于网页缓存瓶颈所带来的无法导出或导出异常(显示结果为乱码)的问题,保证了数据量较大的数据条目的成功输出。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是现有技术中从数据报表中获取数据的方法的流程图;
图2是根据本申请实施例的从数据报表中获取数据的系统的一种优选框图;
图3是根据本申请实施例的从数据报表中获取数据的装置的一种优选框图;
图4是根据本申请实施例的从数据报表中获取数据的方法的一种优选流程图;
图5是根据本申请实施例的数据银行的原理示意图;
图6是根据本申请实施例的数据银行的架构示意图;
图7是根据本申请实施例的数据银行的操作流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在描述本申请的各实施例的进一步细节之前,将参考图2来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。
图2示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图2所示的任一组件或其组合具有任何依赖或需求。
本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
在其最基本的配置中,图2中的从数据报表中获取数据的系统200至少包括:一个网站的服务器202以及一个或多个客户端204。服务器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端204可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“从数据报表中获取数据的系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合。从数据报表中获取数据的系统200甚至可以是分布式的,以实现分布式功能。
如本申请所使用的,术语“模块”、“组件”或“单元”可以指在从数据报表中获取数据的系统200上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在从数据报表中获取数据的系统200上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
实施例1
如图1所示,从数据报表中获取数据的系统200包括:网站的服务器202和客户端204。在工作过程中,客户端204向所述服务器202发送用户的查询条件信息;服务器204将用户输入的查询条件信息导入到数据库中的第一数据报表中;将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;然后,输出匹配成功的数据条目。
进一步,本申请提供了一种优选的从数据报表中获取数据的装置,其位于服务器202上。如图3所示,该从数据报表中获取数据的装置包括:
1)导入单元302,用于将用户输入的查询条件信息导入到数据库中的第一数据报表中;
优选的,在将用户输入的查询条件信息导入到数据库中的第一数据报表的过程中,导入单元302可以在接收到输入的查询条件信息之后建立(或者预先建立)一张空白的数据报表,然后将用户输入的查询条件信息导入到该空白的数据报表中,优选的,可以将每一个查询条件存储为该空白的数据报表的一个记录项。例如,当查询条件信息包括:手机买家A的名称和A的电话,这样,在数据报表的第一记录项中存储A的名称,在第二个记录项中存储A的电话。优选的,查询条件信息还可以包括:类别信息(例如,该类别信息为手机),用于数据库查找与其关联的数据报表。
当输出查询结果之后,数据库可以擦除该新建的数据报表以便供下一个输入的查询条件信息使用,或者,释放该新建的数据报表,然后在接收到下一个输入的查询条件信息时,数据库可以再新建立一个新的空白的数据报表。
由于能够将用户输入的查询条件信息作为数据报表导入到数据库中,从而能够增加查询条件的数量和复杂度,而不受网页上预设的查询条件输入框的限制,这样,经过匹配查询后输出的查询结果较少,避免了二次查询或多次查询,提高了查询效率。
2)关联单元304,用于将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;
这里,第二数据报表指的是数据库中已存储的数据报表,该数据报表可以存储与查询条件信息相关的记录项。例如,当查询条件信息包括手机客户A的名称和电话时,第二数据报表可以是存储了所有手机客户的相关信息的数据报表,其中,相关信息包括:客户区域和销售历史情况等。优选的,当查询条件信息还包括类别信息(例如,该类别信息为手机)时,数据库可以通过该类别信息快速地找到属于该类别的已存储的数据报表,以便将查找出的数据报表作为第二数据报表。
优选的,上述关联指的是在第一数据报表与第二数据报表之间建立对应关系,其可以通过分别对第一数据报表和第二数据报表设置关联标识来实现。
3)查找单元306,用于在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;
在查找的过程中,导入单元302接收所述用户根据需求输入的查询规则,查找单元306根据所述输入的查询规则在所述第二数据报表中查找与所述查询条件信息匹配的数据条目,这样,实现了用户通过自己设定的查询规则对第一数据报表与第二数据报表进行匹配查询操作。例如,由于查询条件信息与待查询的数据信息均以数据报表的形式存在,这样使得能够通过用户输入的数据库查询语句来对第一数据报表与第二数据报表进行匹配查询操作。由于用户能通过自己设定的查询规则对两张数据报表进行匹配查询操作,而不受网页上预设的查询条件输入框的限制,这样能够减少输出的查询结果的数量,避免了二次查询或多次查询,提高了查询效率。
4)输出单元308,用于输出匹配成功的数据条目。
在本优选的实施例中,通过在数据报表中进行匹配查找,使得能够只输出数据报表中与用户输入的查询条件信息匹配的数据条目,这样使得用户能够直接使用所输出的信息,而不需要从整张数据报表中查找所需的数据条目,从而解决了现有技术中从数据报表中获取数据的效率较低的问题,提高了从数据报表中获取数据的效率。
为了更好的实现将用户输入的查询条件信息导入到数据库中,本申请提供了一种优选的导入单元302,其包括:接收模块3021,用于接收包含所述查询条件信息的文件;提取模块3022,用于从所述文件中提取出符合所述数据库输入格式的特征字段;导入模块3023,用于将所述特征字段导入到所述数据库中。在本优选的实施例中,通过不同的数据库输入格式,提取出不同的特征字段,从而能够实现对应不同的数据库均能成功导入查询条件信息。
为了在数据报表产品中实现提供给用户的导入数据的接口,在将用户输入的查询条件信息导入到数据库中的第一数据报表中之前,导入模块3023通过所述数据库提供的接口对所述数据库的接口信息进行修改,其中,修改后的接口信息用于接收所述用户输入的查询条件信息。
为了解决现有技术中由于网页缓存的瓶颈限制导致的无法导出或导出异常(显示结果为乱码)的问题,本申请还提供了一种优选的输出单元308,其包括:第一输出模块3081,用于以文件的形式输出匹配成功的数据条目。在本优选的实施例中,由于文件的大小不受限制,因而以文件的形式输出匹配成功的数据条目可以避免现有技术中由于网页缓存瓶颈所带来的无法导出或导出异常(显示结果为乱码)的问题,保证了数据量较大的数据条目的成功输出。例如,通过实验发现,以文本格式输出的数据量可以超过500M,以Excel格式输出的数据量可达100M。
进一步,输出单元308还包括:第二输出模块3082,用于对不同的匹配成功的数据条目以不同的文件的形式输出。这样,针对所需的不同数据条目输出不同的文件,实现了对匹配成功的数据条目的进一步细分,从而用户不需要对输出的文件进行人工再处理,进一步提高了获取数据的效率。
优选的,查找单元306通过以下步骤在所述第二数据报表中查找与所述查询条件信息匹配的数据条目:逐一判断所述第二数据报表中的每一个数据条目是否包括所述查询条件信息;若包括,则将包括所述查询条件信息的数据条目作为匹配成功的数据条目。
在查找的过程中,导入单元302中的接收模块3021接收所述用户输入的数据库查询语句,查找单元306根据所述输入的数据库查询语句在所述第二数据报表中查找与所述查询条件信息匹配的数据条目。
实施例2
在图2-图3所示的计算系统的基础上,本申请还提供了一种从数据报表中获取数据的方法,如图4所示,其包括如下步骤:
S402,将用户输入的查询条件信息导入到数据库中的第一数据报表中;
优选的,在将用户输入的查询条件信息导入到数据库中的第一数据报表的过程中,数据库可以在接收到输入的查询条件信息之后建立(或者预先建立)一张空白的数据报表,然后将用户输入的查询条件信息导入到该空白的数据报表中,优选的,可以将每一个查询条件存储为该空白的数据报表的一个记录项。例如,当查询条件信息包括:手机买家A的名称和A的电话,这样,在数据报表的第一记录项中存储A的名称,在第二个记录项中存储A的电话。优选的,查询条件信息还可以包括:类别信息(例如,该类别信息为手机),用于数据库查找与其关联的数据报表。
当输出查询结果之后,数据库可以擦除该新建的数据报表以便供下一个输入的查询条件信息使用,或者,释放该新建的数据报表,然后在接收到下一个输入的查询条件信息时,数据库可以再新建立一个新的空白的数据报表。
由于能够将用户输入的查询条件信息作为数据报表导入到数据库中,从而能够增加查询条件的数量和复杂度,而不受网页上预设的查询条件输入框的限制,这样,经过匹配查询后输出的查询结果较少,避免了二次查询或多次查询,提高了查询效率。
S404,将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;
这里,第二数据报表指的是数据库中已存储的数据报表,该数据报表可以存储与查询条件信息相关的记录项。例如,当查询条件信息包括手机客户A的名称和电话时,第二数据报表可以是存储了所有手机客户的相关信息的数据报表,其中,相关信息包括:客户区域和销售历史情况等。优选的,当查询条件信息还包括类别信息(例如,该类别信息为手机)时,数据库可以通过该类别信息快速地找到属于该类别的已存储的数据报表,以便将查找出的数据报表作为第二数据报表。
优选的,上述关联指的是在第一数据报表与第二数据报表之间建立对应关系,其可以通过分别对第一数据报表和第二数据报表设置关联标识来实现。
S406,在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;
在查找的过程中,数据库接收所述用户根据需求输入的查询规则,并根据所述输入的查询规则在所述第二数据报表中查找与所述查询条件信息匹配的数据条目,这样,实现了用户通过自己设定的查询规则对第一数据报表与第二数据报表进行匹配查询操作。例如,由于查询条件信息与待查询的数据信息均以数据报表的形式存在,这样使得能够通过用户输入的数据库查询语句来对第一数据报表与第二数据报表进行匹配查询操作。由于用户能通过自己设定的查询规则对两张数据报表进行匹配查询操作,而不受网页上预设的查询条件输入框的限制,这样能够减少输出的查询结果的数量,避免了二次查询或多次查询,提高了查询效率。
S408,输出匹配成功的数据条目。
在本实施例中,通过在数据报表中进行匹配查找,使得能够只输出数据报表中与用户输入的查询条件信息匹配的数据条目,这样使得用户能够直接使用所输出的信息,而不需要从整张数据报表中查找所需的数据条目,从而解决了现有技术中从数据报表中获取数据的效率较低的问题,提高了从数据报表中获取数据的效率。
为了更好的实现将用户输入的查询条件信息导入到数据库中,本申请提供了一种优选的步骤来实现将用户输入的查询条件信息导入到数据库中的第一数据报表中,其包括:接收包含所述查询条件信息的文件;从所述文件中提取出符合所述数据库输入格式的特征字段;将所述特征字段导入到所述数据库中。在本优选的实施例中,通过不同的数据库输入格式,提取出不同的特征字段,从而能够实现对应不同的数据库均能成功导入查询条件信息。
为了在数据报表产品中实现提供给用户的导入数据的接口,在将用户输入的查询条件信息导入到数据库中的第一数据报表中之前,从数据报表中获取数据的方法还包括:通过所述数据库提供的接口对所述数据库的接口信息进行修改,其中,修改后的接口信息用于接收所述用户输入的查询条件信息。
为了解决现有技术中由于网页缓存的瓶颈限制导致的无法导出或导出异常(显示结果为乱码)的问题,本申请还提供了一种优选的步骤实现输出匹配成功的数据条目,其包括:以文件的形式输出匹配成功的数据条目。在本优选的实施例中,由于文件的大小不受限制,因而以文件的形式输出匹配成功的数据条目可以避免现有技术中由于网页缓存瓶颈所带来的无法导出或导出异常(显示结果为乱码)的问题,保证了数据量较大的数据条目的成功输出。例如,通过实验发现,以文本格式输出的数据量可以超过500M,以Excel格式输出的数据量可达100M。
优选的,以文件的形式输出匹配成功的数据条目的步骤包括:对不同的匹配成功的数据条目以不同的文件的形式输出。这样,针对所需的不同数据条目输出不同的文件,实现了对匹配成功的数据条目的进一步细分,从而用户不需要对输出的文件进行人工再处理,进一步提高了获取数据的效率。
在所述第二数据报表中查找与所述查询条件信息匹配的数据条目的步骤包括:逐一判断所述第二数据报表中的每一个数据条目是否包括所述查询条件信息;若包括,则将包括所述查询条件信息的数据条目作为匹配成功的数据条目。
实施例3
本实施例以数据银行为例来描述从数据报表中获取数据的方法。
首先,对本实施例中所涉及的若干术语进行解释:
1)需求:是指业务人员在某个项目中希望获取的数据请求。在系统中表现为一些SQL集合。
2)任务:是业务人员根据【需求】选择一些自己特定属性(如:开始时间、结束时间、不同的上传文件)而形成的可以获取最终数据结果文件任务。
3)执行SQL模板:用于生成中间结果集,可以是Procedure、DDL、DML等语句,是一段可能含有$v_sequence_number、$v_where_clause、$v_filter_clause类似变量的标准SQL。
4)循环导出SQL模板:用于生成控制文件,该文件决定最终导出SQL模板的变量和文件名,该模板是一条可能含有$v_sequence_number、$v_where_clause、$v_filter_clause类似变量的标准SQL查询语句。
5)最终导出SQL模板:用于生成最终的结果文件的SQL语句,是一条可能含有$v_sequence_number、$v_where_clause、$v_filter_clause类似变量但不含分号的标准SQL查询语句。
数据银行是解决企业大量线下数据匹配数据仓库在线数据,以及短、频、快、海量数据获取需求的解决方案。数据银行的功能主要为用户可以通过线下数据获得数据仓库完整、海量的数据。
图5和图6分别示出了数据银行的工作原理和内部架构。基于这种原理和架构,图7示出了数据银行的操作流程,其包括如下步骤:先通过线下数据转换成标准的文本格式数据(通过特定符号分割),然后通过这个文本数据导入数据仓库指定表中,再利用这个表通过数据库语句获得数据仓库系统中海量、完整的数据。
举例来说,业务人员通过自己的经验和投诉记录了一份100个疑似欺诈客户的名单,但是这份名单只有公司名称信息,业务人员想通过这份名单得到这些公司在电子商务网站的产品点击记录明细信息,用于分析这个客户的欺诈情况。业务人员需要获取2002年6月1日至2010年4月1日期间疑似欺诈客户的产品点击记录的明细信息(结果集2000万左右),结果按照每个客户一个文件提供(大多数用户将近10M数据量,个别用户超过100M)。
按照以下方式在数据仓库中存储数据报表:
1)客户表company:--该表格用于存储公司的所有信息
字段:company_id,--公司在系统中的唯一编号
company_name,--公司名称
create_date,--创建时间
status,--公司状态,是否服务中
email,--公司email
phone,--公司电话
address—公司地址
2)产品表product:该表格用于存储公司发布在互联网上的产品信息字段:product_id,--产品ID
product_name,--产品名称
company_id,--产品所属的公司唯一编号
create_date,--产品创建时间
status—产品状态,是否在网上展示
3)点击表click:该表格用于存储互联网上用户点击网页行为的相关明细字段:click_id,--每次点击在系统中的唯一ID
click_date,--点击时间
product_id,--本次点击的产品ID
click_ip,--点击的人的IP地址
session_id,--点击的会话ID
4)用户上传数据表upload:该表用于存储业务人员线下数据通过系统上传后的地方字段字段
字段:internal_id,--系统内部编号
col1,--用户上传数据的第一个位置内容,字符型
col2,--用户上传数据的第二个位置内容,字符型
col3,--用户上传数据的第三个位置内容,字符型
在本优选的实施例中,用户上传文件内容:文本格式,用于匹配数据仓库系统中的数据源。
其中,格式类别:txt文本格式,每个公司一行。可以上传公司名,公司ID等信息,信息之间可以通过逗号、^号分割。
杭州**外贸***
广州****
福建汕头*
在本实施例中,数据银行通过以下步骤来获取用户导入的查询条件信息:
1)【执行SQL模板】文件内容:
根据变量$v_sequence_number取得用户本次上传的公司名称数据标识为【数据集A】,再根据【数据集A】中的公司名批量匹配公司表中的公司ID,根据公司ID批量匹配产品表中的产品ID,根据产品ID批量匹配点击表中的点击信息,记为【结果集B】。
2)【循环导出SQL模板】文件内容:
根据用户上传的公司名称匹配公司库中的公司ID和公司名,获取公司的ID和公司名称通过空格组成字符串集,记为【结果集C】,其中的每行字符串标识为【字符串1】。
3)【最终导出SQL模板】文件内容:
根据传入变量$v_where_clause中的公司ID获取出【结果集B】中符合条件公司数据
用户一般会通过一批数据匹配另外一批数据,这个时候系统设计中需要支持上传数据,同时上传的数据格式不确定(数字、日期、文本),以及允许多用户多任务同时上传,因此设计一个表upload(internal_id,col1,col2,col3……)用于存储用户上传数据,内置一个内部ID号来标识唯一性,该ID号在同一个任务执行过程中唯一,通过Shell脚本被调用的时候从系统中生成。
优选的,通过以下步骤解析SQL模板文件生成最终可以执行SQL文件(Shell脚本):
S1,在将用户上传的文件中每行的头部加入internal_id的值并通过用户上传文件的分隔符分割:″sed′s/^/″$sequence_no″,/′$imp_data_file>$internal_data_file″;
S2,解析【执行SQL模板】,生成标准【SQL文件1】;
S3,数据库中执行【SQL文件1】,在数据库中生成结果数据集;
S4,解析【循环导出SQL模板】,生成标准【SQL文件2】;
S5,数据库中执行【SQL文件2】,生成【Txt文本文件1】,内容为(注意其中的空格)
【条件变量1】【结果文件名1】
【条件变量2】【结果文件名2】
【条件变量3】【结果文件名3】
S6,循环读取【文本文件1】,利用逐个传入的【条件变量】解析【最终导出SQL模板】的文本,生成标准【SQL文件3】;
S7,数据库中执行【SQL文件3】,生成最终结果文件集。
在本优选的实施例中,工程师或用户只需要写一段改进过的SQL注入系统既可让用户自主多次的从系统中获取或匹配出文本或Excel格式数据,文本格式数据量可以超过500M,Excel格式数据可达100M。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种从数据报表中获取数据的方法,其特征在于,包括:
将用户输入的查询条件信息导入到数据库中的第一数据报表中;
将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;
在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;
输出匹配成功的数据条目;
其中,输出匹配成功的数据条目的步骤包括:以文件的形式输出匹配成功的数据条目;
其中,将用户输入的查询条件信息导入到数据库中的第一数据报表中的步骤包括:接收包含所述查询条件信息的文件;从所述文件中提取出符合所述数据库输入格式的特征字段;将所述特征字段导入到所述数据库中。
2.根据权利要求1所述的方法,其特征在于,在将用户输入的查询条件信息导入到数据库中的第一数据报表中之前,还包括:
通过所述数据库提供的接口对所述数据库的接口信息进行修改,其中,修改后的接口信息用于接收所述用户输入的查询条件信息。
3.根据权利要求1所述的方法,其特征在于,以文件的形式输出匹配成功的数据条目的步骤包括:
对不同的匹配成功的数据条目以不同的文件的形式输出。
4.根据权利要求1所述的方法,其特征在于,在所述第二数据报表中查找与所述查询条件信息匹配的数据条目的步骤包括:
接收所述用户输入的数据库查询语句;
根据所述输入的数据库查询语句在所述第二数据报表中查找与所述查询条件信息匹配的数据条目。
5.一种从数据报表中获取数据的装置,其特征在于,包括:
导入单元,用于将用户输入的查询条件信息导入到数据库中的第一数据报表中;
关联单元,用于将所述数据库中待查找的第二数据报表与具有所述查询条件信息的所述第一数据报表进行关联;
查找单元,用于在所述第二数据报表中查找与所述查询条件信息匹配的数据条目;
输出单元,用于输出匹配成功的数据条目;
其中,所述输出单元包括:第一输出模块,用于以文件的形式输出匹配成功的数据条目;
其中,所述导入单元包括:接收模块,用于接收包含所述查询条件信息的文件;提取模块,用于从所述文件中提取出符合所述数据库输入格式的特征字段;导入模块,用于将所述特征字段导入到所述数据库中。
6.根据权利要求5所述的装置,其特征在于,所述输出单元还包括:
第二输出模块,用于对不同的匹配成功的数据条目以不同的文件的形式输出。
CN201110247263.9A 2011-08-25 2011-08-25 从数据报表中获取数据的方法和装置 Active CN102955802B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110247263.9A CN102955802B (zh) 2011-08-25 2011-08-25 从数据报表中获取数据的方法和装置
HK13104629.6A HK1177288A1 (zh) 2011-08-25 2013-04-17 從數據報表中獲取數據的方法和裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110247263.9A CN102955802B (zh) 2011-08-25 2011-08-25 从数据报表中获取数据的方法和装置

Publications (2)

Publication Number Publication Date
CN102955802A CN102955802A (zh) 2013-03-06
CN102955802B true CN102955802B (zh) 2016-02-03

Family

ID=47764615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110247263.9A Active CN102955802B (zh) 2011-08-25 2011-08-25 从数据报表中获取数据的方法和装置

Country Status (2)

Country Link
CN (1) CN102955802B (zh)
HK (1) HK1177288A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794146B (zh) * 2014-12-22 2017-11-03 广州唯品会信息科技有限公司 商品实时筛选和排序的方法和装置
CN105095453A (zh) * 2015-07-27 2015-11-25 浪潮通用软件有限公司 一种获取数据的方法及装置
CN106598989A (zh) * 2015-10-16 2017-04-26 北京国双科技有限公司 数据查询方法和装置
CN106708877A (zh) * 2015-11-16 2017-05-24 北京国双科技有限公司 数据处理方法和装置
CN105488210B (zh) * 2015-12-11 2019-02-12 金蝶软件(中国)有限公司 一种批量数据匹配方法及装置
US20170357654A1 (en) * 2016-06-10 2017-12-14 Google Inc. Using audio and video matching to determine age of content
CN107818100B (zh) * 2016-09-12 2019-12-20 杭州海康威视数字技术股份有限公司 一种sql语句执行方法及装置
CN108874844B (zh) * 2017-11-24 2021-05-14 视联动力信息技术股份有限公司 一种表格数据处理方法及视联网服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271473A (zh) * 2008-04-29 2008-09-24 华为技术有限公司 数据查询方法、装置及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271473A (zh) * 2008-04-29 2008-09-24 华为技术有限公司 数据查询方法、装置及系统

Also Published As

Publication number Publication date
CN102955802A (zh) 2013-03-06
HK1177288A1 (zh) 2013-08-16

Similar Documents

Publication Publication Date Title
CN102955802B (zh) 从数据报表中获取数据的方法和装置
US20230041672A1 (en) Enterprise data processing
US10776431B2 (en) System and method for recommending content based on search history and trending topics
JP5860456B2 (ja) 検索語重み付けの決定および利用
CN101408876B (zh) 一种电子文档全文检索的方法及系统
KR101463974B1 (ko) 마케팅을 위한 빅데이터 분석 시스템 및 방법
US10606853B2 (en) Systems and methods for intelligent prospect identification using online resources and neural network processing to classify organizations based on published materials
CN103064933A (zh) 数据查询方法及系统
WO2013170345A1 (en) Method and system relating to re-labelling multi-document clusters
CN109241384B (zh) 一种科研信息的可视化方法及装置
CN105389352A (zh) 日志处理方法和装置
US9886711B2 (en) Product recommendations over multiple stores
CN104809177A (zh) 一种基于客户端的网页评论、推荐方法及系统
US10496645B1 (en) System and method for analysis of a database proxy
CN102737021A (zh) 搜索引擎及其实现方法
CN104636368A (zh) 数据检索方法、装置及服务器
CN102937975A (zh) 一种网页搜索设备和方法
CN104636386A (zh) 信息监控方法及装置
CN104484367A (zh) 一种数据挖掘分析系统
CN113221535B (zh) 情报处理方法、装置、计算机设备和存储介质
CN114398520A (zh) 数据检索方法、系统、装置、电子设备及存储介质
CN116303628B (zh) 基于Elasticsearch的告警数据查询方法、系统及设备
CN103823805A (zh) 基于社区的相关帖推荐系统及推荐方法
CN101788981A (zh) 一种深层网移动搜索方法、服务器及系统
CN111159285B (zh) 一种基于分布式索引服务部署的企业跨系统检索方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1177288

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1177288

Country of ref document: HK