CN108664628A - 一种数据的导出方法及设备 - Google Patents
一种数据的导出方法及设备 Download PDFInfo
- Publication number
- CN108664628A CN108664628A CN201810457007.4A CN201810457007A CN108664628A CN 108664628 A CN108664628 A CN 108664628A CN 201810457007 A CN201810457007 A CN 201810457007A CN 108664628 A CN108664628 A CN 108664628A
- Authority
- CN
- China
- Prior art keywords
- data
- export
- target
- thread
- user identifier
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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)
- Computer And Data Communications (AREA)
Abstract
本发明适用于信息处理技术领域,提供了一种数据的导出方法及设备,包括:接收数据导出请求;将数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配;若匹配,则输出已响应信息给发起数据导出请求的用户;若均不匹配,则从数据库中提取与目标数据参数匹配的目标数据,并统计目标数据的数据量;若数据量小于或等于预设的导出数据阈值,则创建数据导出请求对应的数据导出线程,并关联用户标识以及所述数据导出线程;通过数据导出线程导出目标数据。本发明实施例在响应导出请求之前,会检测设备是否正在响应该用户发起的其他导出请求,从而避免了重复响应的情况发生,减少了导出任务堵塞的概率,提高了导出效率。
Description
技术领域
本发明属于信息处理技术领域,尤其涉及一种数据的导出方法及设备。
背景技术
随着各种各样文件均实行电子化,数据库中包含的数据量也越来越庞大。用户在日常工作以及生活中,常常需要通过数据库查询以及导出相应的数据,因此如何有效导出所需的数据显得尤为重要。特别地,当所需导出的数据数量较多的时候,数据库需要花费一定的时间执行导出操作,而用户侧可能会误以为数据库并未接收到导出请求,而重复发送该请求,将致使数据库不断循环导出相同的数据,甚至导致数据库任务堵塞。由此可见,现有的数据导出方法,容易出现任务堵塞且重复执行同一导出请求的情况,数据导出效率较低。
发明内容
有鉴于此,本发明实施例提供了一种数据的导出方法及设备,以解决现有的数据的导出方法,容易出现任务堵塞且重复执行同一导出请求的情况,数据导出效率较低的问题。
本发明实施例的第一方面提供了一种数据的导出方法,包括:
接收数据导出请求;所述数据导出请求包括用户标识以及目标数据参数;
将所述数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配;
若任一所述占用导出线程的用户标识与所述数据导出请求的用户标识匹配,则输出已响应信息给发起数据导出请求的用户;
若各个所述占用导出线程的用户标识与所述数据导出请求的用户标识均不匹配,则从数据库中提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量;
若所述数据量小于或等于预设的导出数据阈值,则创建所述数据导出请求对应的数据导出线程,并关联所述用户标识以及所述数据导出线程;通过所述数据导出线程导出目标数据。
本发明实施例的第二方面提供了一种数据的导出设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种数据的导出方法及终端设备具有以下有益效果:
本发明实施例通过在接收到用户发送的数据导出请求后,在响应该请求之前,数据导出的设备将发起该操作的用户所对应的用户标识与当前正在执行导出操作的各个占用导出线程的用户标识进行匹配,判断该用户是否存在正在执行的导出操作;若存在匹配的占用导出线程,为了避免用户重复发起导出请求,则向该用户返回已响应信息,以提示用户等待之前发起的导出操作完成后,再发起下一个数据导出请求;反之,若不存在匹配的占用导出线程,则响应该数据导出请求,并提取与目标数据参数匹配的目标数据,检测目标数据的数据量是否超过导出数据阈值,若数据量并未超过导出数据阈值,则创建一条数据导出线程来导出该用户所需的目标数据。与现有的数据导出技术相比,本发明实施例在响应导出请求之前,会检测设备是否正在响应该用户发起的其他导出请求,从而避免了重复响应的情况发生,减少了导出任务堵塞的概率,提高了导出效率。另一方面,由于每一个导出操作均有固定的会话有效时长,若数据量过大发送时间超长也会导致导出失败,因此本发明还设置有导出数据阈值,来避免因会话超时而导致导出失败的情况,进一步提高了导出效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种数据的导出方法的实现流程图;
图2是本发明第二实施例提供的一种数据的导出方法具体实现流程图;
图3是本发明第三实施例提供的一种数据的导出方法S104具体实现流程图;
图4是本发明第四实施例提供的一种数据的导出方法具体实现流程图;
图5是本发明第五实施例提供的一种数据的导出方法的具体实现流程图;
图6是本发明一实施例提供的一种数据的导出设备的结构框图;
图7是本发明另一实施例提供的一种数据的导出设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在接收到用户发送的数据导出请求后,在响应该请求之前,数据导出的设备将发起该操作的用户所对应的用户标识与当前正在执行导出操作的各个占用导出线程的用户标识进行匹配,判断该用户是否存在正在执行的导出操作;若存在匹配的占用导出线程,为了避免用户重复发起导出请求,则向该用户返回已响应信息,以提示用户等待之前发起的导出操作完成后,再发起下一个数据导出请求;反之,若不存在匹配的占用导出线程,则响应该数据导出请求,并提取与目标数据参数匹配的目标数据,检测目标数据的数据量是否超过导出数据阈值,若数据量并未超过导出数据阈值,则创建一条数据导出线程来导出该用户所需的目标数据,解决了解决现有的数据的导出方法,容易出现任务堵塞且重复执行同一导出请求的情况,数据导出效率较低的问题。
在本发明实施例中,流程的执行主体为数据的导出设备。该数据的导出设备包括但不限于:笔记本电脑、计算机、服务器、平板电脑以及智能手机等具有数据的导出功能的设备。特别地,该数据的导出设备可以为一数据库服务器,用于响应来自各个用户终端发起的数据导出请求。图1示出了本发明第一实施例提供的数据的导出方法的实现流程图,详述如下:
在S101中,接收数据导出请求;所述数据导出请求包括用户标识以及目标数据参数。
在本实施例中,当用户需要进行数据导出操作时,可以在本地终端或直接在数据的导出设备上输入目标数据参数,在输入完成后点击对应的导出按钮,则会生成一个数据导出请求,并将上述用户输入的目标数据参数封装到数据导出请求中。需要说明的是,每个用户发起数据导出操作之前,均需要进行登录操作,或通过相关的输入框键入自身的用户标识,从而在生成数据导出请求时,导出设备可以直接从用户的登录信息或对应的输入框内获取到用户标识,并连同目标数据参数一并封装于数据导出请求内。
可选地,若该数据的导出设备为一数据库服务器,则可以通过构建一个数据导出的网页页面,通过通信网络输出给各个所需进行数据导出操作的用户终端的显示界面上,用户终端可以通过客户端或访问相应的网络域名建立与数据库服务器之间的通信链接。在操作前,该数据库服务器会首先对用户的身份进行鉴权校验,即需要用户输入自身的用户标识以及鉴权信息,基于用户标识以及鉴权信息,识别该用户是否为合法用户;若是,则显示数据导出设置页面,以使用户可以在该页面中填写目标数据参数,查询以及导出所需的目标数据;反之,若该用户为非法用户,则断开与该用户终端的通信连接,并设置重连时间间隔,即在该重连时间间隔的时间区间内,用户终端无法与数据库服务器建立通信连接,以避免恶意占用端口资源的情况。
在本实施例中,目标数据参数具体为:用户所需导出的目标数据的特征参数,例如,该目标数据参数可以为一关键词或多个关键词组成的集合,在该情况下,则用户需要从数据库中导出包含上述关键词的数据;该目标数据参数还可以为一预设的数据范围,例如一时间区间,或者数据所在列表的位置区间。在该情况下,数据的导出设备会获取在该数据范围内的所有数据作为目标数据。用户标识则为可以标记用户身份的信息,例如用户账号、用户编码、身份证号,可选地,还可以为生物特征数据,如指纹、声纹等信息。
在S102中,将所述数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配。
在本实施例中,由于数据的导出设备可以并行处理多个用户发起的数据导出请求,每个数据导出请求可以通过一条导出线程进行响应,而正在执行导出操作的导出线程,即上述的当前占用导出线程。为了便于将占用导出线程在导出完成后得到的输出结果返回给对应的用户终端,每条导出线程会关联一个用户标识,用于限定该数据导出请求所发起的用户终端。
在本实施例中,数据的导出设备会提取数据导出请求中包含的用户标识,并把该用户标识分别与各个占用导出线程所关联的用户标识进行匹配,从而可以判断该用户是否曾经发起过数据导出请求。若存在与之匹配的占用导出线程,则执行S103的相关操作;反之,若不存在与之对应的占用导出线程,则执行S104的相关操作。
可选地,在本实施例中,为了提高匹配效率,并且将用户标识与各个当前占用的导出线程的用户标识进行匹配的目的只是确定是否数据的导出设备是否正在响应该用户的在先发起的数据导出请求,而无需定位具体由哪条占用线程正在执行该用户发起的导出操作。因此,导出设备可以创建一个用户标识池,当某一导出线程被执行后,则将该导出线程的用户标识添加到该用户标识池内,若某一导出线程被执行完毕,则将该导出线程的用户标识从该用户标识池中删除。在该情况下,导出设备只需将数据导出请求的用户标识与用户标识池中的各个用户标识进行匹配即可,无需查找各个占用导出线程,并提取占用导出线程的用户标识,减少了匹配操作过程所需的操作,从而提高了匹配的效率。
在S103中,若任一所述占用导出线程的用户标识与所述数据导出请求的用户标识匹配,则输出已响应信息给发起数据导出请求的用户。
在本实施例中,若导出设备检测到存在一条占用导出线程的用户标识与数据导出请求的用户标识匹配,则表示该导出设备正在响应该用户的导出请求,而该导出请求可能与在先发起的导出请求所需导出的目标数据是相同的,但由于数据导出需要时间,并未返回给用户终端。在该情况下,数据的导出请求会继续执行与用户标识匹配的占用导出线程的导出任务,并生成一个已响应信息,将该已响应信息返回给发起该数据导出请求的用户,以告知用户存在正在执行的导出任务,需要等待在先发起的导出任务响应完毕后,再重新发起新的数据导出请求。
可选地,在本实施例中,已响应信息中可以包含与用户标识匹配的占用导出现场所执行的数据导出任务的目标数据参数,从而用户可以基于正在执行的导出任务的目标数据参数确定是否需要在响应完毕后,再重新发送数据导出请求。
可选地,数据的导出设备还可以将提取该数据导出请求中包含的目标数据参数,以及提取与数据导出请求的用户标识相匹配的占用导出线程中正在导出的数据的导出参数进行匹配。若匹配,则识别数据导出请求与当前执行的数据导出任务相同,丢弃该数据导出请求;若不匹配,则将该数据导出请求添加到待处理列表中,需要说明的是,每个用户标识会配置一个与之对应的待处理列表,用于记录每个用户在短时间内发起的多个数据导出操作,并基于在队列中的添加次序,依次执行各个数据导出任务。
在S104中,若各个所述占用导出线程的用户标识与所述数据导出请求的用户标识均不匹配,则从数据库中提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量。
在本实施例中,若各个占用导出线程关联的用户标识均与数据导出请求的用户标识不匹配,则表示该数据的导出设备当前没有执行该用户的所有数据导出任务,该数据导出请求是首次发起的,因此会响应该数据导出请求。导出设备会从数据导出请求中提取目标数据参数,并与数据库中存储的数据进行匹配,从而将匹配成功的数据作为该用户所需导出的目标数据。具体地,检测数据库中的数据是否与目标数据参数匹配的过程可以为:该目标数据参数中包含了多个参数项,每个参数项对应至少一个参数值,导出设备从数据库中提取与所有参数项的参数值均匹配的数据作为用户所需导出的目标数据。
在本实施例中,导出设备在提取了目标数据后,会检测该目标数据的数据量,由于数据导出设备与用户终端之间的通信链路具有固定的有效会话时长,若在该有效会话时长内并无法完成数据导出以及发送的操作,该通信链路将会失效,从而导致整个导出操作失败。因此,数据的导出设备会统计提取得到的目标数据的数据量,检测该数据量是否超过预设好的导出数据阈值,若该数据量超过导出数据阈值,则表示执行该导出操作可能会导致会话失效;若该数据量小于或等于导出数据阈值,则执行S105的相关操作。
可选地,在本实施例中,确定导出数据阈值的方法可以为:获取当前与用户终端之间的通信链路的传输速率,基于有效会话时长以及所述传输速率,计算所述导出数据阈值。通过该方法,可以动态调整不同时刻的导出数据阈值,能够提高导出操作的灵活性。
需要说明的是,当目标数据的数据量超过数据阈值时,可以通过返回数据量过大的信息给到用户终端,以使用户重新调整目标数据参数,减少所述导出的目标数据的数据量;还可以通过断开当前与用户终端之间的通信连接,并重新配置有效会话时长,即长大有效会话时长的值,以使有足够的时间发送目标数据。
在S105中,若所述数据量小于或等于预设的导出数据阈值,则创建所述数据导出请求对应的数据导出线程,并关联所述用户标识以及所述数据导出线程;通过所述数据导出线程导出目标数据。
在本实施例中,若提取的目标数据的数据量小于或等于预设的导出数据阈值,则表示在有效会话时长内,能够将目标数据发送给用户终端,因此导出设备会创建一条数据导出线程,用于响应该用户发起的数据导出请求。为了避免重复响应该用户发起的数据导出请求,导出设备会关联该数据导出请求中包含的用户标识与响应该数据导出请求的数据导出线程,在关联完成后,则可以通过该数据导出线程导出提取得到的目标数据,在导出完毕后,将目标数据发送给用户终端。
以上可以看出,本发明实施例提供的一种数据的导出方法通过在接收到用户发送的数据导出请求后,在响应该请求之前,数据导出的设备将发起该操作的用户所对应的用户标识与当前正在执行导出操作的各个占用导出线程的用户标识进行匹配,判断该用户是否存在正在执行的导出操作;若存在匹配的占用导出线程,为了避免用户重复发起导出请求,则向该用户返回已响应信息,以提示用户等待之前发起的导出操作完成后,再发起下一个数据导出请求;反之,若不存在匹配的占用导出线程,则响应该数据导出请求,并提取与目标数据参数匹配的目标数据,检测目标数据的数据量是否超过导出数据阈值,若数据量并未超过导出数据阈值,则创建一条数据导出线程来导出该用户所需的目标数据。与现有的数据导出技术相比,本发明实施例在响应导出请求之前,会检测设备是否正在响应该用户发起的其他导出请求,从而避免了重复响应的情况发生,减少了导出任务堵塞的概率,提高了导出效率。另一方面,由于每一个导出操作均有固定的会话有效时长,若数据量过大发送时间超长也会导致导出失败,因此本发明还设置有导出数据阈值,来避免因会话超时而导致导出失败的情况,进一步提高了导出效率。
图2示出了本发明第二实施例提供的一种数据的导出方法的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种数据的导出方法中在所述提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量之后,还包括:S201~S203,具体详述如下:
在S201中,若所述数据量大于所述导出数据阈值,则基于所述导出数据阈值,将所述目标数据划分为N个数据组;所述N具体为:
其中,TagetDateZise为目标数据的数据量;MaxDataZise为所述导出数据阈值;int(x)为取整函数。
本实施例提供了一种当目标数据的数据量量较大时的导出方法,如上所述,数据的导出设备与用户终端之间的通信连接具有固定的有效会话时长,因此为了避免在导出目标数据的过程中该通信链路失效,数据的导出设备会将目标数据划分为多个数据组,并通过多条线程分批发送目标数据,以保证在有效会话时长内将所有目标数据发送完毕。
在本实施例中,数据的导出设备首先要确定所需划分的数据组的数组,具体通过上述的数据组确定模型计算目标数据所对应的数据组的组数。由于在有效会话时长内最大的传输数据量为导出数据阈值,因而可以基于该导出数据阈值为基准将目标数据拆分为多个数据组,每个数据组内包含的数据量不大于导出数据阈值。需要说明的是,前N-1个数据组包含的数据量可以与导出数据阈值一致,也可以基于N的值将目标数据平均分为N个数据组,具体的划分方式可以由用户进行设置,也可以基于导出设备的默认划分方式进行拆分。
在本实施例中,int(x)采用的是进一取整法,从而能够保证划分得到的每个数据组的数据量均不超过导出数据阈值。
在S202中,创建N个并发导出线程,并关联所述用户标识以及N个所述并发导出线程。
在本实施例中,导出设备在确定了数据组的个数后,则会基于数据组的个数N创建对应数量的并发导出线程,该并发导出线程的工作模式将设置为并发执行模式,从而能够同时向用户终端并发发送目标数据。与S105类似,为了便于在后续的过程中不再重复响应该用户的发起的数据导出请求,导出设备会建立并发导出线程与用户标识之间的对应关系。
在本实施例中,导出设备会为每个并发导出线程配置一个线程序号,继而计算该线程序号以及数据组的组号之间的对应关系,确定每个数据组所对应的导出线程,从而实现每个并发导出线程导出一个数据组中的目标数据。
在S203中,通过所述并发导出线程分别导出各个所述数据组对应的目标数据。
在本实施例中,导出设备可以通过各个并发导出线程导出与之对应的数据组的目标数据,在导出完成后,通过该并发导出线程向用户终端发送该数据组,从而能够在有效会话时长内将数量较大的目标数据均发送给用户终端,避免因会话超时而导致导出失败的情况发生。
可选地,在本实施例中,每个数据组会设置有对应的组别号,在导出设备检测到所有数据组均导出完成并发送给用户终端后,会向用户终端发送一个导出完成指令,用户终端在接收到该导出完成指令后,会基于各个组别号的次序合并各个数据组,得到完成的目标数据。
在本发明实施例中,通过对目标数据进行拆分并交由不同的线程进行并发导出,从而能够对于数据量较大的目标数据也能够发送给用户终端,避免了因会话超时而导出失败的情况发生,提高了数据导出方法的使用范围。
图3示出了本发明第三实施例提供的一种数据的导出方法S104的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种数据的导出方法中S104包括S1041~S1043,具体详述如下:
进一步地,所述目标数据参数包括目标关键词;所述从数据库中提取与所述目标数据参数匹配的目标数据,包括:
在S1041中,基于语义分析算法,从所述数据库存储的数据中获取多个候选关键词,构成语料库。
在本实施例中,数据的导出设备还支持模糊搜索的功能,除了可以提取与用户输入的关键词匹配的数据作为目标数据外,还可以基于该关键词确定与之关联的关联关键词,从而能够更智能地响应用户的数据导出操作,减少用户多次调整关键词才能够获取得到所需的目标数据。
在本实施例中,候选关键词的获取方式是基于导入到数据库内的数据,并通过语义分析算法对上述数据进行语义分析,得到各个数据对应的候选关键词。例如数据库中已存储了一用户信息,该用户信息中包含“深圳市南山区南山大厦”这一地址信息,则导出设备可以对该地址信息进行语义分析,得到“深圳市”、“南山区”、“大厦”三个词语,并将上述识别得到的词语作为候选关键词存储在对应的语料库中。需要说明的是,该数据库具体用户存储用户上传的数据,而基于用户上传的数据可以生成该数据库对应的语料库,无需用户手动输入,减少了用户的操作,提高了导出操作的智能化。
在S1042中,计算所述目标关键词与所述语料库中各个所述候选关键词之间的匹配度,并选取匹配度大于预设匹配阈值的候选关键词作为所述目标关键词的关联关键词。
在本实施例中,在确定了数据库所对应的语料库后,导出设备会将目标数据参数中包含的目标关键词与语料库中各个候选关键词进行匹配,计算各个候选关键词与目标关键词之间的匹配度。计算匹配度的方式可以为:提取候选关键词以及目标关键词在预设维度的参数值,并基于各个维度上的参数值之间的差值,确定两者之间的匹配度。预设的维度包括但不限于:字符类型、语言类别、词属性、语义特征值等。其中词属性包括:名词、动词、形容词、副词、定语、状语等属性。需要说明的是,若候选关键词与目标关键词之间的差值越小,则其对应的匹配度越大;反之,若候选关键词与目标关键词之间的差值越大,则其对应的匹配度越小。可选地,计算目标关键词与候选关键词之间的匹配度可以通过以下匹配度模型进行计算:
其中,MatchPointi(Wordtg,Wordi)为第i个候选关键词与目标关键词之间的匹配度;Dimesionii为第i个候选关键词在第j个预设维度的参数值;Dimesiontaj为目标关键词在第j个预设维度的参数值;Weightj为第j个预设维度的权重值;n为预设维度的个数;e为自然常数。
在本实施例中,导出设备会选取匹配度大于预设的匹配度阈值的候选关键词作为该目标关键词的关联关键词,从而导出设备可以基于关联关键词对目标数据进行模糊搜索。当然,用户若不需要进行模糊搜索时,可以通过点击相应的按钮来关闭该功能,在该情况下,导出设备将不执行S1031至S1033的相关操作。或者将匹配度阈值设置为无限大,从而提取与目标关键词匹配的数据作为目标数据。
在S1043中,从所述数据库中选取包含目标关键词和/或所述关联关键词的数据作为所述目标数据。
在本实施例中,导出设备会基于用户设置的目标关键词以及匹配得到的关联关键词,从数据库中提取包含上述任一种关键词的数据作为目标数据。可选地,导出设备可以将包含目标关键词的数据存储于一个文件内,将包含关联关键词的数据存储于另一文件内,将两个文件作为所需要发送给用户终端的目标数据。
可选地,包含目标关键词的数据与包含关联关键词的数据可以集成在同一文件内,在该情况下,包含目标关键词的数据在文件中的排序较前,而对于关联关键词,即基于各个关联关键词的匹配度大小确定其排序的先后次序,从而基于上述的排序规则,生成目标数据。
在本发明实施例中,通过获取与目标数据匹配度较大的候选关键词作为关联关键词,从而能够实现模糊识别的目的,减少用户重复查询,并调整关键词,提高用户的导出效率。
图4示出了本发明第四实施例提供的一种数据的导出方法的具体实现流程图。参见图4所示,相对于图1~图3所述实施例,本实施例提供的一种数据的导出方法中还包括:S401~S403,具体详述如下:
在S401中,若接收到数据导入请求,则输出数据校验参数设置页面,以获取所述用户输入的数据校验参数。
在本实施例中,数据的导出设备还能够对导入到数据库的数据进行校验,从而维护数据库的稳定性。因此,若导出设备检测到有用户发起数据导入请求,会输出一个数据校验参数设置页面,用户可在该设置页面中输入本次导入的数据的校验规则。一般而言,数据校验规则是需要用户修改数据库的后台代码,才能在用户进行导入操作时对数据进行合法性校验,但该方式的实时性以及可操作性较低,需要用户具备数据库的管理权限才能够进行修改。因此,本发明将修改的操作调整到前台运行,通过输出对应的设置页面,便于用户在可视化的界面中设置数据校验参数。
可选地,导出设备可以存储有多个数据校验参数模板,用户在接收到数据校验参数设置页面时,可以选择相关的数据校验参数模板作为本次所需校验的校验规则,继而导出设备可以提取该数据校验参数模板中记录的参数值,作为本次导入操作的数据校验参数,从而减少实现了一键设置的目的,减少了用户的操作。
在S402中,基于所述数据校验参数对待导入数据进行校验。
在本实施例中,当用户设置完成后,导出设备会获取该设置页面中用户的数据的数据校验参数,并生成与之对应的数据校验条件。导出设备基于该数据校验条件对用户所上传的待导入数据进行校验,检测是否存在数据是否不符合上述数据校验条件的;若存在,则执行S403的相关操作;反之,若用户上传的待导入数据均满足数据校验条件,则将待导入数据存储到对应的数据库内予以保存。
在S403中,若存在与数据校验参数不匹配的待导入数据,则标记不匹配的所述待导入数据,并返回数据异常信息。
在本实施例中,导出设备在检测到存在待导入的数据与数据校验参数不匹配时,会中止本次的导入操作,标记出不匹配的待导入数据,并返回数据异常信息给用户终端,以便用户终端对不匹配的数据进行修改。其中,数据异常信息中包含了进行标记后的待导入数据。
在本发明实施例中,通过生成设置页面,方便用户输入数据校验参数,从而在用户对数据进行导入时,能够进行前置校验,避免导入不合法的数据至数据库,提高了数据库的稳定性。
图5示出了本发明第五实施例提供的一种数据的导出方法的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种数据的导出方法在所述输出已响应信息给发起数据导出请求的用户之后,还包括:S501~S504,具体详述如下:
在S501中,检测是否存在所述用户标识对应的重发计数器。
在本实施例中,为了避免同一用户不断向数据的导出终端发送数据导出请求,从而导致通信端口请求堵塞的情况,导出设备会为每个用户配置一个重发计数器,来记录该用户重复发起数据导出请求的次数。因此,在拒绝响应一数据导出请求时,会检测该用户标识是否配置有对应的重发计数器。若该用户标识并未配置有重发计数器,则表示该用户是首次重复发送数据导出请求,在该情况下,会执行S502的相关操作;反之,若该用户标识配置有对应的重发计数器,则执行S503的相关操作。
在S502中,若不存在所述用户标识对应的重发计数器,则创建与该用户标识关联的重发计数器,并设置该重发计时器的初始值。
在本实施例中,当该用户标识不存在与之对应的重发计数器时,导出设备会创建一个与该用户标识关联的重发计数器,以便在后续的操作中对该用户的重发次数进行计数。需要说明的是,该重发计数器的初始值具体为1,表明该用户是第一次重复发送数据导出请求。
在S503中,若存在所述用户标识对应的重发计数器,则增加所述重发计数器的计数值。
在本实施例中,当检测到该用户标识存在对应的重发计数器,则导出设备可以直接增加重发计数器的计数值,例如对该重发计数器进行加1操作,以确定该用户的重复发送数据导出请求的次数。可选地,可以基于与上一次的重复发送的数据导出请求之间的时间间隔,确定本次增加操作的数值,例如若时间间隔小,则对应增加的数值随之变大,例如时间间隔在0s至0.2s的范围内,则增加的数值为3,而时间间隔在0.2s至1s的范围内,则增加的数值为2,以此类推,从而能够更实时发现异常操作。
在S504中,若所述计数值大于预设的计数阈值,则屏蔽所述用户发送的数据导出请求。
在本实施例中,若检测到重发计数器的计数值大于预设的计数阈值,则表示该用户多次重复发送相同的数据导出请求,属于异常操作,为了避免请求接口堵塞,会屏蔽该用户后续发送的数据导出请求。可选地,导出设备可以设置一个屏蔽时长,在该屏蔽时长内保持对该用户的屏蔽操作。
在本实施例,若导出设备执行完成该用户的导出数据操作后,则解除该屏蔽操作,重新响应该用户发起的数据导出请求。
在本发明实施例中,通过设置重发计数器,避免重复对啊数据导出请求进行鉴别,从而能够分配更多的资源来执行导出操作,提高数据导出效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种数据的导出设备的结构框图,该数据的导出设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述数据的导出设备包括:
数据导出请求接收单元61,用于接收数据导出请求;所述数据导出请求包括用户标识以及目标数据参数;
用户标识匹配单元62,用于将所述数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配;
重复请求执行单元63,用于若任一所述占用导出线程的用户标识与所述数据导出请求的用户标识匹配,则输出已响应信息给发起数据导出请求的用户;
目标数据提取单元64,用于若各个所述占用导出线程的用户标识与所述数据导出请求的用户标识均不匹配,则从数据库中提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量;
目标数据导出单元65,用于若所述数据量小于或等于预设的导出数据阈值,则创建所述数据导出请求对应的数据导出线程,并关联所述用户标识以及所述数据导出线程;通过所述数据导出线程导出目标数据。
可选地,所述数据的导出设备还包括:
目标数据划分单元,用于若所述数据量大于所述导出数据阈值,则基于所述导出数据阈值,将所述目标数据划分为N个数据组;所述N具体为:
其中,TagetDateZise为目标数据的数据量;MaxDataZise为所述导出数据阈值;int(x)为取整函数;
并发导出线程创建单元,用于创建N个并发导出线程,并关联所述用户标识以及N个所述并发导出线程;
并发导出执行单元,用于通过所述并发导出线程分别导出各个所述数据组对应的目标数据。
可选地,所述目标数据参数包括目标关键词;所述目标数据提取单元64包括:
候选关键词获取单元,用于基于语义分析算法,从所述数据库存储的数据中获取多个候选关键词,构成语料库;
匹配度计算单元,用于计算所述目标关键词与所述语料库中各个所述候选关键词之间的匹配度,并选取匹配度大于预设匹配阈值的候选关键词作为所述目标关键词的关联关键词;
目标数据确定单元,用于从所述数据库中选取包含目标关键词和/或所述关联关键词的数据作为所述目标数据。
可选地,所述数据的导出设备还包括:
数据导入请求接收单元,用于若接收到数据导入请求,则输出数据校验参数设置页面,以获取所述用户输入的数据校验参数;
导入数据校验单元,用于基于所述数据校验参数对待导入数据进行校验;
数据异常信息返回单元,用于若存在与数据校验参数不匹配的待导入数据,则标记不匹配的所述待导入数据,并返回数据异常信息。
可选地,所述数据的导出设备还包括:
重发计数器检测单元,用于检测是否存在所述用户标识对应的重发计数器;
重发计数器创建单元,用于若不存在所述用户标识对应的重发计数器,则创建与该用户标识关联的重发计数器,并设置该重发计时器的初始值;
重发计数器调整单元,用于若存在所述用户标识对应的重发计数器,则增加所述重发计数器的计数值;
重发操作执行单元,用于若所述计数值大于预设的计数阈值,则屏蔽所述用户发送的数据导出请求。
因此,本发明实施例提供的数据的导出设备同样可以在响应导出请求之前,会检测设备是否正在响应该用户发起的其他导出请求,从而避免了重复响应的情况发生,减少了导出任务堵塞的概率,提高了导出效率。另一方面,由于每一个导出操作均有固定的会话有效时长,若数据量过大发送时间超长也会导致导出失败,因此本发明还设置有导出数据阈值,来避免因会话超时而导致导出失败的情况,进一步提高了导出效率。
图7是本发明另一实施例提供的一种数据的导出设备的示意图。如图7所示,该实施例的数据的导出设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如数据的导出程序。所述处理器70执行所述计算机程序72时实现上述各个数据的导出方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述数据的导出设备7中的执行过程。例如,所述计算机程序72可以被分割成数据导出请求接收单元、用户标识匹配单元、重复请求执行单元、目标数据提取单元以及目标数据导出单元,各单元具体功能如上所述。
所述数据的导出设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述数据的导出设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是数据的导出设备7的示例,并不构成对数据的导出设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据的导出设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述数据的导出设备7的内部存储单元,例如数据的导出设备7的硬盘或内存。所述存储器71也可以是所述数据的导出设备7的外部存储设备,例如所述数据的导出设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述数据的导出设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述数据的导出设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据的导出方法,其特征在于,包括:
接收数据导出请求;所述数据导出请求包括用户标识以及目标数据参数;
将所述数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配;
若任一所述占用导出线程的用户标识与所述数据导出请求的用户标识匹配,则输出已响应信息给发起数据导出请求的用户;
若各个所述占用导出线程的用户标识与所述数据导出请求的用户标识均不匹配,则从数据库中提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量;
若所述数据量小于或等于预设的导出数据阈值,则创建所述数据导出请求对应的数据导出线程,并关联所述用户标识以及所述数据导出线程;通过所述数据导出线程导出目标数据。
2.根据权利要求1所述的导出方法,其特征在于,在所述提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量之后,还包括:
若所述数据量大于所述导出数据阈值,则基于所述导出数据阈值,将所述目标数据划分为N个数据组;所述N具体为:
其中,TagetDateZise为目标数据的数据量;MaxDataZise为所述导出数据阈值;int(x)为取整函数;
创建N个并发导出线程,并关联所述用户标识以及N个所述并发导出线程;
通过所述并发导出线程分别导出各个所述数据组对应的目标数据。
3.根据权利要求1所述的导出方法,其特征在于,所述目标数据参数包括目标关键词;所述从数据库中提取与所述目标数据参数匹配的目标数据,包括:
基于语义分析算法,从所述数据库存储的数据中获取多个候选关键词,构成语料库;
计算所述目标关键词与所述语料库中各个所述候选关键词之间的匹配度,并选取匹配度大于预设匹配阈值的候选关键词作为所述目标关键词的关联关键词;
从所述数据库中选取包含目标关键词和/或所述关联关键词的数据作为所述目标数据。
4.根据权利要求1-3任一项所述的导出方法,其特征在于,还包括:
若接收到数据导入请求,则输出数据校验参数设置页面,以获取所述用户输入的数据校验参数;
基于所述数据校验参数对待导入数据进行校验;
若存在与数据校验参数不匹配的待导入数据,则标记不匹配的所述待导入数据,并返回数据异常信息。
5.根据权利要求1-3任一项所述的导出方法,其特征在于,在所述输出已响应信息给发起数据导出请求的用户之后,还包括:
检测是否存在所述用户标识对应的重发计数器;
若不存在所述用户标识对应的重发计数器,则创建与该用户标识关联的重发计数器,并设置该重发计时器的初始值;
若存在所述用户标识对应的重发计数器,则增加所述重发计数器的计数值;
若所述计数值大于预设的计数阈值,则屏蔽所述用户发送的数据导出请求。
6.一种数据的导出设备,其特征在于,所述数据的导出设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
接收数据导出请求;所述数据导出请求包括用户标识以及目标数据参数;
将所述数据导出请求的用户标识与当前占用导出线程的用户标识进行匹配;
若任一所述占用导出线程的用户标识与所述数据导出请求的用户标识匹配,则输出已响应信息给发起数据导出请求的用户;
若各个所述占用导出线程的用户标识与所述数据导出请求的用户标识均不匹配,则从数据库中提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量;
若所述数据量小于或等于预设的导出数据阈值,则创建所述数据导出请求对应的数据导出线程,并关联所述用户标识以及所述数据导出线程;通过所述数据导出线程导出目标数据。
7.根据权利要求6所述的导出设备,其特征在于,在所述提取与所述目标数据参数匹配的目标数据,并统计所述目标数据的数据量之后,所述处理器执行所述计算机程序时还实现如下步骤:
若所述数据量大于所述导出数据阈值,则基于所述导出数据阈值,将所述目标数据划分为N个数据组;所述N具体为:
其中,TagetDateZise为目标数据的数据量;MaxDataZise为所述导出数据阈值;int(x)为取整函数;
创建N个并发导出线程,并关联所述用户标识以及N个所述并发导出线程;
通过所述并发导出线程分别导出各个所述数据组对应的目标数据。
8.根据权利要求6所述的导出设备,其特征在于,所述目标数据参数包括目标关键词;所述从数据库中提取与所述目标数据参数匹配的目标数据,包括:
基于语义分析算法,从所述数据库存储的数据中获取多个候选关键词,构成语料库;
计算所述目标关键词与所述语料库中各个所述候选关键词之间的匹配度,并选取匹配度大于预设匹配阈值的候选关键词作为所述目标关键词的关联关键词;
从所述数据库中选取包含目标关键词和/或所述关联关键词的数据作为所述目标数据。
9.根据权利要求6-8任一项所述的导出设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
若接收到数据导入请求,则输出数据校验参数设置页面,以获取所述用户输入的数据校验参数;
基于所述数据校验参数对待导入数据进行校验;
若存在与数据校验参数不匹配的待导入数据,则标记不匹配的所述待导入数据,并返回数据异常信息。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457007.4A CN108664628A (zh) | 2018-05-14 | 2018-05-14 | 一种数据的导出方法及设备 |
PCT/CN2018/097472 WO2019218476A1 (zh) | 2018-05-14 | 2018-07-27 | 一种数据的导出方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457007.4A CN108664628A (zh) | 2018-05-14 | 2018-05-14 | 一种数据的导出方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108664628A true CN108664628A (zh) | 2018-10-16 |
Family
ID=63779393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810457007.4A Withdrawn CN108664628A (zh) | 2018-05-14 | 2018-05-14 | 一种数据的导出方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108664628A (zh) |
WO (1) | WO2019218476A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542874A (zh) * | 2018-11-15 | 2019-03-29 | 用友网络科技股份有限公司 | 导出方法、导出装置、服务器、终端和可读存储介质 |
CN110046191A (zh) * | 2019-04-22 | 2019-07-23 | 成都四方伟业软件股份有限公司 | 一种数据导出配置方法及装置 |
CN113342885A (zh) * | 2021-06-15 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机程序产品 |
CN116150221A (zh) * | 2022-10-09 | 2023-05-23 | 浙江博观瑞思科技有限公司 | 服务于企业电商运营管理的信息交互方法及系统 |
CN116204577A (zh) * | 2023-05-04 | 2023-06-02 | 神州数码融信云技术服务有限公司 | 数据导出方法及装置、计算机设备及计算机可读存储介质 |
CN116881881A (zh) * | 2023-09-07 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229656B (zh) * | 2016-03-25 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 全量数据导出方法、装置及系统 |
CN107341154A (zh) * | 2016-04-29 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 一种数据导出的方法和装置 |
CN106095775A (zh) * | 2016-05-24 | 2016-11-09 | 中国银行股份有限公司 | 一种实现数据查询或导出的方法及系统 |
CN106547614A (zh) * | 2016-11-01 | 2017-03-29 | 山东浪潮商用系统有限公司 | 一种基于消息队列的海量数据延迟导出方法 |
CN106776829A (zh) * | 2016-11-28 | 2017-05-31 | 成都广达新网科技股份有限公司 | 一种数据导出系统及其工作方法 |
-
2018
- 2018-05-14 CN CN201810457007.4A patent/CN108664628A/zh not_active Withdrawn
- 2018-07-27 WO PCT/CN2018/097472 patent/WO2019218476A1/zh active Application Filing
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542874A (zh) * | 2018-11-15 | 2019-03-29 | 用友网络科技股份有限公司 | 导出方法、导出装置、服务器、终端和可读存储介质 |
CN110046191A (zh) * | 2019-04-22 | 2019-07-23 | 成都四方伟业软件股份有限公司 | 一种数据导出配置方法及装置 |
CN113342885A (zh) * | 2021-06-15 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机程序产品 |
CN116150221A (zh) * | 2022-10-09 | 2023-05-23 | 浙江博观瑞思科技有限公司 | 服务于企业电商运营管理的信息交互方法及系统 |
CN116204577A (zh) * | 2023-05-04 | 2023-06-02 | 神州数码融信云技术服务有限公司 | 数据导出方法及装置、计算机设备及计算机可读存储介质 |
CN116881881A (zh) * | 2023-09-07 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
CN116881881B (zh) * | 2023-09-07 | 2023-11-24 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218476A1 (zh) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108664628A (zh) | 一种数据的导出方法及设备 | |
US9864586B2 (en) | Code quality improvement | |
CN104391934B (zh) | 数据校验方法和装置 | |
CN108255653A (zh) | 一种产品的测试方法及其终端 | |
CN109741086B (zh) | 一种计算模型的生成方法及设备 | |
CN110309058A (zh) | 业务端测试方法、装置、计算机装置及计算机存储介质 | |
CN109241068A (zh) | 前后台数据比对的方法、装置及终端设备 | |
CN106302747A (zh) | 一种面向互联网web前端开发的商业云平台 | |
US10158650B1 (en) | Token verification from incremental inputs | |
CN106649488A (zh) | 多数据源交互接口的调用方法及装置 | |
CN110830445A (zh) | 一种异常访问对象的识别方法及设备 | |
CN107528912A (zh) | 一种自动实现分布式事务处理的方法、系统及相关装置 | |
US20190081794A1 (en) | Systems and methods for user identity | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN111142863A (zh) | 一种页面生成的方法及装置 | |
CN109815112A (zh) | 基于功能测试的数据调试方法、装置及终端设备 | |
CN109857634A (zh) | 接口测试参数校验方法、装置、电子设备及存储介质 | |
CN107786308B (zh) | 数据传输方法及终端设备 | |
CN117951341A (zh) | 基于区块链的业务处理方法、装置、设备、介质及产品 | |
CN110309062B (zh) | 用例生成方法、装置、电子设备及存储介质 | |
CN109446052B (zh) | 一种应用程序的校验方法及设备 | |
CN110209572A (zh) | 用户界面测试方法、用户界面测试系统及终端 | |
CN116382640A (zh) | 微服务的治理方法、装置、设备及存储介质 | |
CN109376064A (zh) | 一种接口测试报告的生成方法及设备 | |
CN115002211A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181016 |