CN109947701A - 基于nsq消息队列的文件导入方法、装置、设备及存储介质 - Google Patents
基于nsq消息队列的文件导入方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109947701A CN109947701A CN201910241606.7A CN201910241606A CN109947701A CN 109947701 A CN109947701 A CN 109947701A CN 201910241606 A CN201910241606 A CN 201910241606A CN 109947701 A CN109947701 A CN 109947701A
- Authority
- CN
- China
- Prior art keywords
- file
- imported
- nsq
- message queue
- customer information
- 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
本发明适用于大数据领域,提供一种基于NSQ消息队列的文件导入方法、装置、设备及存储介质,方法包括:通过获取待导入文件;检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。通过对待导入文件大小进行分流,将待导入文件按大小不同分别加入到第一NSQ消息队列和第二NSQ消息队列进行导入,可以提高文件导入效率。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种基于NSQ消息队列的文件导入方法、装置、设备及存储介质。
背景技术
随着信息时代的发展,数据信息的吞吐量越来越大,为使文件数据便于管理,文件数据中都包含时间戳,因此现有的文件导入方法都是按照时间先后的顺序进行文件导入。当存在大容量文件时,在进行批量文件导入的过程中,后续的文件需要待前面的文件导入完成后才能进行导入,如果在前面的文件容量很大,会使后的文件等待很长的时间。因此,现有的文件导入方法存在导入效率低的问题。
发明内容
本发明实施例提供一种基于NSQ消息队列的文件导入方法、装置、设备及存储介质,旨在解决现有技术中文件导入方法效率低的问题。
第一方面,本发明提供了一种基于NSQ消息队列的文件导入方法,其特征在于,所述方法包括以下步骤:
获取待导入文件;
检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;
若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;
若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;
将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
可选的,在所述若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列后,所述方法还包括:
对所述第一NSQ消息队列中的待导入文件进行导入;
实时记录所述第一NSQ消息队列中的待导入文件的第一导入结果,所述第一导入结果包括第一导入状态;
实时返回所述第一导入结果。
可选的,在所述若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列后,所述方法还包括:
对所述第二NSQ消息队列中的待导入文件进行导入;
实时记录所述第二NSQ消息队列中的待导入文件的第二导入结果,所述第二导入结果包括第二导入状态及导入进度;
通过状态控制返回所述第二导入结果。
可选的,所述方法还包括:
将所述第一NSQ消息队列或所述第二NSQ消息队列中已经导入的待导入文件的信息进行分布式锁处理。
可选的,所述方法还包括:
获取所述待导入文件的跟进信息;
根据所述跟进信息,提取所述待导入文件的跟进人信息,将所述待导入文件关联到跟进信息库中对应跟进人信息中。
可选的,所述方法还包括:
获取所述待导入文件的客户信息;
将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配,匹配成功则将所述待导入文件的客户信息与匹配成功的客户信息进行关联,匹配失败则在所述客户信息数据库中生成新的客户信息并将所述待导入文件的客户信息与生成的新客户信息进行关联。
可选的,所述将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配的步骤包括:
提取所述待导入文件的客户信息中的关键词,得到待匹配关键词;
将所述待匹配关键词与所述客户信息数据库中预先设置的关键词进行匹配,其中,所述预先设置的关键词与所述客户信息数据库中的客户信息相对应。
第二方面,还提供一种基于NSQ消息队列的文件导入装置,所述装置包括:
获取模块,用于获取待导入文件;
比较模块,用于检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;
第一添加模块,用于若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;
第二添加模块,用于若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;
导入模块,用于将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例中任一项所述的基于NSQ消息队列的文件导入方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例中任一项所述的基于NSQ消息队列的文件导入方法中的步骤。
本发明实施例中,通过获取待导入文件;检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。通过对待导入文件大小进行分流,将待导入文件按大小不同分别加入到第一NSQ消息队列和第二NSQ消息队列进行导入消费,可以提高文件导入效率。
附图说明
图1为本发明实施例的一种基于NSQ消息队列的文件导入方法的应用系统架构示意图;
图2为本发明实施例的一种基于NSQ消息队列的文件导入方法的流程示意图;
图3为图2实施例中步骤S203的流程示意图;
图4为图2实施例中步骤S204的流程示意图;
图5为本发明实施例另一种基于NSQ消息队列的文件导入方法流程示意图;
图6为本发明实施例的另一种基于NSQ消息队列的文件导入方法流程示意图;
图7为本发明实施例的另一种基于NSQ消息队列的文件导入方法流程示意图;
图8为本发明图7实施例的步骤S702的流程示意图;
图9为本发明实施例的一种基于NSQ消息队列的文件导入装置的结构示意图;
图10为本实施例基于NSQ消息队列的文件导入设备基本结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
当对文件进行批量导入时,会产生因大容量文件导入慢而使后面小容量文件进入等待,导致文件导入效率低。本发明采用两个NSQ消息队列对文件进行大小分流并导入,可以提高批量文件的导入效率。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参见图1,图1为本发明实施例的一种基于NSQ消息队列的文件导入方法的应用系统架构示意图,如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如文档类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后端服务器。
需要说明的是,本申请实施例所提供的基于NSQ消息队列的文件导入方法可以由服务器/终端设备执行,相应地,基于NSQ消息队列的文件导入装置可以设置于服务器/终端 设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参见图2,图2为本发明实施例的一种基于NSQ消息队列的文件导入方法的流程示意图,如图2所示,所述方法包括以下步骤:
S201、获取待导入文件。
在步骤S201中,上述的待导入文件可以是表格文件,比如:xls、xlsm和xlsx等格式的Excel表格文件,也可以是比如csv格式的规则文本文件等。上述的待导入文件可以从预先设置的待导入数据库中进行选取,也可以是用户通过I/O接口从外接设备上传,还可以是用户通过网络从各数据服务器中进行下载,以上获取方式并不应理解为对待导入文件的获取方式的限定,在本发明实施中,只要能获取到待导入文件就可以。
在本实施例中,基于NSQ消息队列的文件导入方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收多个预设用户的导入请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
S202、检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较。
在步骤S202中,上述待导入文件的大小指的是待导入文件的容量,即是所需要占用的存储容量。对待导入文件的检测可以是根据时间戳按时间顺序进行检测,上述的预先设置的文件大小阈值可以是用户自行定义,当然,具体的阈值设置可以根据实际情况进行。另外,在一些可能的实施例方式中,可以先检测所有待导入文件的大小值,根据所有待导入文件的大小值做线性回归,从而得到对应的文件大小阈值。
S203、若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列。
在步骤S203中,上述第一NSQ消息队列用于将小于文件大小阈值的待导入文件的信息进行分布式排列,通过NSQ的多通道(channel)对待导入文件的信息进行分发,可以实现待导入文件的负载均衡。
S204、若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列。
在步骤S204中,上述第一NSQ消息队列用于将大于文件大小阈值的待导入文件的信息进行分布式排列。
S205、将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
在步骤S205中,在NSQ消息队列中,待导入文件的信息以队列形式存在,若队列满了,可以将信息存放到对应的磁盘空间。上述对第一NSQ消息队列以及第二NSQ消息队列中的待导入文件进行导入,可以是通过第一话题通道将第一NSQ消息队列的待导入文件的信息进行消费,得到待导入文件的地址,根据地址对待导入文件的数据进行读写导入。通过第二话题通道将第二NSQ消息队列的待导入文件的信息进行消费,得到待导入文件的地址,根据地址对待导入文件的数据进行读写导入。
在本发明实施例中,通过获取待导入文件;检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。通过对待导入文件大小进行分流,将待导入文件按大小不同分别加入到第一NSQ消息队列和第二NSQ消息队列进行导入消费,可以提高文件导入效率。
需要说明的是,本发明实施例提供的基于NSQ消息队列的文件导入方法可以用于具备文件导入功能的电子设备终端,比如具有文件导入功能的手机、计算机、平板、服务器等电子设备终端。
可选的,请参见图3,图3为图2实施例中步骤S203的流程示意图,如图3所示,步骤S204包括:
S301、对所述第一NSQ消息队列中的待导入文件进行导入;
S302、实时记录所述第一NSQ消息队列中的待导入文件的第一导入结果,所述第一导入结果包括第一导入状态;
S303、实时返回所述第一导入结果。
其中,可以通过第一NSQ消息队列中的待导入文件的信息,得到待导入文件的地址从而对待导入文件的数据进行读写导入。进一步的,NSQ消息队列中的多个通道根据负载均衡将待导入文件的信息发送到读写端口,读写端口根据待导入文件地址对待导入文件的数据进行读写。
上述的第一导入状态可以是导入成功或导入失败或导入中的任意一个,用于表示待导入文件的导入情况。
由于第一NSQ消息队列中的待导入文件为容量比较小的文件,所以导入的速度会很快,在本发明实施例中,通过实时记录第一NSQ消息队列中的第一导入结果并返回,可以在导入过程中发现问题时,及时得到问题反馈。
可选的,请参见图4,图4为图2实施例中步骤S204的流程示意图,如图4所示,步骤S204包括:
S401、对所述第二NSQ消息队列中的待导入文件进行导入;
S402、实时记录所述第二NSQ消息队列中的待导入文件的第二导入结果,所述第二导入结果包括第二导入状态及导入进度;
S403、通过状态控制返回所述第二导入结果。
其中,可以通过第二NSQ消息队列中的待导入文件的信息,得到待导入文件的地址从而对待导入文件的数据进行读写导入。进一步的,NSQ消息队列中的多个通道根据负载均衡将待导入文件的信息发送到读写端口,读写端口根据待导入文件地址对待导入文件的数据进行读写。
上述的第二导入状态可以是导入成功或导入失败或导入中的任意一个,上述的导入进度可以通过进度条进行表示,第二导入状态及导入进度用于表示待导入文件的导入情况。上述的状态控制可以是中断、取消等控制,比如,在文件过大时,进度极慢,又等不了时,可以通过状态控制对导入中的文件进行状态控制,比如取消该文件的导入。
由于第二NSQ消息队列中的待导入文件为容量比较大的文件,所以导入的速度不会很快,在本发明实施例中,通过实时记录第二NSQ消息队列中的第二导入结果,以及通过状态控制返回第二导入结果,可以根据导入情况在导入过程中对导入的文件进行状态控制。这样,增加对大文件导入的可控性。
可选的,请参见图5,图5为本发明实施例另一种基于NSQ消息队列的文件导入方法流程示意图,如图5所示,包括:
S501、将所述第一NSQ消息队列或所述第二NSQ消息队列中已经导入的待导入文件的信息进行分布式锁处理。
其中,上述的分布式锁可以是基于Redis的分布式锁,可以将已经导入的待导入文件进行锁定,防止同一个导入被多次处理。
在一种可能的实施例中,可以在获取待导入文件时,在待导入数据库中对获取到的待导入文件进行分布式锁处理,避免重复获取。
可选的,请参见图6,图6为本发明实施例的另一种基于NSQ消息队列的文件导入方法流程示意图,如图6所示,包括:
S601、获取所述待导入文件的跟进信息;
S602、根据所述跟进信息,提取所述待导入文件的跟进人信息,将所述待导入文件关联到跟进信息库中对应跟进人信息中。
其中,上述的跟进信息可以是客户跟进信息,也可以是业务流程跟进信息,上述的客户跟进信息可以是客户对接人信息、客户对接项目信息等,上述的业务流程跟进信息可以是跟进人信息、跟进时间信息等。
通过跟进人信息提取,将跟进人信息进行匹配后关联到对应的跟进人信息中,比如,A文件的跟进人为B,则匹配跟进信息库中的跟进人B的信息,将A文件关联到跟进人B信息,可以避免不同跟进人跟进同一个客户的文件。上述的跟进信息库中包括用户方的跟进人信息,上述的跟进信息库可以是本地的信息库,也可以是云端的信息库。
在本实施例中,通过对跟进人进行撞单校验,可以避免同一个客户的文件被多个跟进人跟进,导致导入错误,这样,可以提高导入系统的鲁棒性。
可选的,请参见图7,图7为本发明实施例的另一种基于NSQ消息队列的文件导入方法流程示意图,如图7所示,包括:
S701、获取所述待导入文件的客户信息;
S702、将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配,匹配成功则将所述待导入文件的客户信息与匹配成功的客户信息进行关联,匹配失败则在所述客户信息数据库中生成新的客户信息并将所述待导入文件的客户信息与生成的新客户信息进行关联。
其中,上述的客户信息可以包括客户名称、客户对接人信息、客户地址、客户联系方式等信息,上述的客户信息数据库可以本地的数据库,也中以是云端的数据库,上述的的客户信息数据库中的存储有客户信息。上述的关联可以是将待导入文件与匹配到客户信息进行索引关联,即通过客户信息可以查找到关联的待导入文件对应的导入文件,也可以通过待导入文件对应的导入文件查询关联的客户信息。在客户信息数据库中没有匹配到对应的客户信息时,可以根据从待导入文件中提取到的客户信息建立新的客户信息,并存储到上述的客户信息数据库中,将待导入文件与新的客户信息进行关联。
通过将待导入文件的客户信息进行关联操作,可以使待导入文件在NSQ消息队列中被对应的客户进行消费,从而使待导入文件可以导入到对应客户信息下进行存放。
可选的,请参见图8,图8为本发明图7实施例的步骤S702的流程示意图,如图8所示,包括:
S801、提取所述待导入文件的客户信息中的关键词,得到待匹配关键词;
S802、将所述待匹配关键词与所述客户信息数据库中预先设置的关键词进行匹配,其中,所述预先设置的关键词与所述客户信息数据库中的客户信息相对应。
其中,上述的关键词可以是客户名称、客户ID等。上述的预先设置的关键词与客户信息数据库中的客户信息相对应可以理解为,上述的关键词与客户信息数据库中的客户信息存在索引关系,比如,可以通过关键词查找到客户信息数据库中的客户信息。
在本实施例中,通过关键词匹配,可以提高匹配速度,进面提高NSQ消息队列中的待导入文件的消费速度,从而提高导入效率。
请参见图9,图9为本发明实施例的一种基于NSQ消息队列的文件导入装置的结构示意图,如图9所示,所述装置900包括:
获取模块901,用于获取待导入文件;
检测模块902,用于检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;
第一队列模块903,用于若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;
第二队列模块904,用于若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;
导入模块905,用于将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
可选的,所述第一队列模块903包括:
第一导入子模块,用于对所述第一NSQ消息队列中的待导入文件进行导入;
第一记录模块,用于实时记录所述第一NSQ消息队列中的待导入文件的第一导入结果,所述第一导入结果包括第一导入状态;
第一返回模块,用于实时返回所述第一导入结果。
可选的,所述第二队列模块904包括:
第二导入子模块,用于对所述第二NSQ消息队列中的待导入文件进行导入;
第二记录子模块,用于实时记录所述第二NSQ消息队列中的待导入文件的第二导入结果,所述第二导入结果包括第二导入状态及导入进度;
第二返回模块,用于通过状态控制返回所述第二导入结果。
可选的,所述装置还包括:
加锁模块,用于将所述第一NSQ消息队列或所述第二NSQ消息队列中已经导入的待导入文件的信息进行分布式锁处理。
可选的,所述装置还包括:
跟进获取模块,用于获取所述待导入文件的跟进信息;
跟进关联模块,用于根据所述跟进信息,提取所述待导入文件的跟进人信息,将所述待导入文件关联到跟进信息库中对应跟进人信息中。
可选的,所述装置还包括:
客户获取模块,用于获取所述待导入文件的客户信息;
客户关联模块,用于将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配,匹配成功则将所述待导入文件的客户信息与匹配成功的客户信息进行关联,匹配失败则在所述客户信息数据库中生成新的客户信息并将所述待导入文件的客户信息与生成的新客户信息进行关联。
可选的,所述客户关联模块包括:
提取子模块,用于提取所述待导入文件的客户信息中的关键词,得到待匹配关键词;
匹配子模块,用于将所述待匹配关键词与所述客户信息数据库中预先设置的关键词进行匹配,其中,所述预先设置的关键词与所述客户信息数据库中的客户信息相对应。
需要说明的是,上述装置可以应用于基于NSQ消息队列的文件导入设备,例如:计算机、服务器、手机等可以进行基于NSQ消息队列的文件导入的设备。
本申请实施例提供的基于NSQ消息队列的文件导入装置能够实现图2至图8的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
为解决上述技术问题,本申请实施例还提供基于NSQ消息队列的文件导入设备。具体请参阅图10,图10为本实施例基于NSQ消息队列的文件导入设备基本结构框图,如图10所示。
所述计算机设备10包括通过系统总线相互通信连接存储器101、处理器102、网络接口103。需要指出的是,图中仅示出了具有组件101-103的计算机设备10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器101至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器101可以是所述计算机设备10的内部存储单元,例如该计算机设备10的硬盘或内存。在另一些实施例中,所述存储器101也可以是所述计算机设备10的外部存储设备,例如该计算机设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器101还可以既包括所述计算机设备10的内部存储单元也包括其外部存储设备。本实施例中,所述存储器101通常用于存储安装于所述计算机设备10的操作系统和各类应用软件,例如基于NSQ消息队列的文件导入方法的程序代码等。此外,所述存储器101还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器102在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器102通常用于控制所述计算机设备10的总体操作。本实施例中,所述处理器102用于运行所述存储器101中存储的程序代码或者处理数据,例如运行所述基于NSQ消息队列的文件导入方法的程序代码。
所述网络接口103可包括无线网络接口或有线网络接口,该网络接口103通常用于在所述计算机设备10与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于NSQ消息队列的文件导入程序,所述基于NSQ消息队列的文件导入程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于NSQ消息队列的文件导入方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于NSQ消息队列的文件导入方法,其特征在于,所述方法包括以下步骤:
获取待导入文件;
检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;
若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;
若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;
将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
2.如权利要求1所述的基于NSQ消息队列的文件导入方法,其特征在于,在所述若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列后,所述方法还包括:
对所述第一NSQ消息队列中的待导入文件进行导入;
实时记录所述第一NSQ消息队列中的待导入文件的第一导入结果,所述第一导入结果包括第一导入状态;
实时返回所述第一导入结果。
3.如权利要求1所述的基于NSQ消息队列的文件导入方法,其特征在于,在所述若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列后,所述方法还包括:
对所述第二NSQ消息队列中的待导入文件进行导入;
实时记录所述第二NSQ消息队列中的待导入文件的第二导入结果,所述第二导入结果包括第二导入状态及导入进度;
通过状态控制返回所述第二导入结果。
4.如权利要求1所述的基于NSQ消息队列的文件导入方法,其特征在于,所述方法还包括:
将所述第一NSQ消息队列或所述第二NSQ消息队列中已经导入的待导入文件的信息进行分布式锁处理。
5.如权利要求1所述的基于NSQ消息队列的文件导入方法,其特征在于,所述方法还包括:
获取所述待导入文件的跟进信息;
根据所述跟进信息,提取所述待导入文件的跟进人信息,将所述待导入文件关联到跟进信息库中对应跟进人信息中。
6.如权利要求1所述的基于NSQ消息队列的文件导入方法,其特征在于,所述方法还包括:
获取所述待导入文件的客户信息;
将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配,匹配成功则将所述待导入文件的客户信息与匹配成功的客户信息进行关联,匹配失败则在所述客户信息数据库中生成新的客户信息并将所述待导入文件的客户信息与生成的新客户信息进行关联。
7.如权利要求6所述的基于NSQ消息队列的文件导入方法,其特征在于,所述将所述待导入文件的客户信息与客户信息数据库中的客户信息进行匹配的步骤包括:
提取所述待导入文件的客户信息中的关键词,得到待匹配关键词;
将所述待匹配关键词与所述客户信息数据库中预先设置的关键词进行匹配,其中,所述预先设置的关键词与所述客户信息数据库中的客户信息相对应。
8.一种基于NSQ消息队列的文件导入装置,其特征在于,所述装置包括:
获取模块,用于获取待导入文件;
比较模块,用于检测所述待导入文件的大小,将所述待导入文件的大小与预先设置的文件大小阈值进行比较;
第一添加模块,用于若所述待导入文件小于所述文件大小阈值,则将所述待导入文件加入到预先设置的第一NSQ消息队列;
第二添加模块,用于若所述待导入文件大于所述文件大小阈值,则将所述待导入文件加入到预先设置的第二NSQ消息队列;
导入模块,用于将所述第一NSQ消息队列以及所述第二NSQ消息队列中的待导入文件分别通过不同的话题通道同时进行导入。
9.一种文件导入设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于NSQ消息队列的文件导入方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于NSQ消息队列的文件导入方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241606.7A CN109947701B (zh) | 2019-03-28 | 2019-03-28 | 基于nsq消息队列的文件导入方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910241606.7A CN109947701B (zh) | 2019-03-28 | 2019-03-28 | 基于nsq消息队列的文件导入方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947701A true CN109947701A (zh) | 2019-06-28 |
CN109947701B CN109947701B (zh) | 2023-08-29 |
Family
ID=67012144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910241606.7A Active CN109947701B (zh) | 2019-03-28 | 2019-03-28 | 基于nsq消息队列的文件导入方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947701B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1868351A1 (en) * | 2006-06-13 | 2007-12-19 | Microsoft Corporation | File distribution system |
CN103365705A (zh) * | 2012-03-27 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 消息队列处理方法和装置 |
CN103607451A (zh) * | 2013-11-18 | 2014-02-26 | 上海爱数软件有限公司 | 支持并发的客户端与服务器端的文档操作同步方法 |
CN106990913A (zh) * | 2017-02-17 | 2017-07-28 | 清华大学 | 一种大规模流式集合数据的分布式处理方法 |
CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的消息处理方法和装置 |
-
2019
- 2019-03-28 CN CN201910241606.7A patent/CN109947701B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1868351A1 (en) * | 2006-06-13 | 2007-12-19 | Microsoft Corporation | File distribution system |
CN103365705A (zh) * | 2012-03-27 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 消息队列处理方法和装置 |
CN103607451A (zh) * | 2013-11-18 | 2014-02-26 | 上海爱数软件有限公司 | 支持并发的客户端与服务器端的文档操作同步方法 |
CN106990913A (zh) * | 2017-02-17 | 2017-07-28 | 清华大学 | 一种大规模流式集合数据的分布式处理方法 |
CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的消息处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109947701B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112395390A (zh) | 意图识别模型的训练语料生成方法及其相关设备 | |
CN110609908A (zh) | 案件串并方法及装置 | |
CN112181835A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN110276243A (zh) | 分数映射方法、人脸比对方法、装置、设备及存储介质 | |
CN115758451A (zh) | 基于人工智能的数据标注方法、装置、设备及存储介质 | |
CN112468658A (zh) | 语音质量检测方法、装置、计算机设备及存储介质 | |
CN111586695A (zh) | 短信识别方法及相关设备 | |
CN106358220B (zh) | 异常联系人信息的检测方法、装置及系统 | |
CN112995414B (zh) | 基于语音通话的行为质检方法、装置、设备及存储介质 | |
CN114049185A (zh) | 成本的核算方法、装置、计算机设备和存储介质 | |
CN107451301B (zh) | 实时投递账单邮件的处理方法、装置、设备和存储介质 | |
CN107688585B (zh) | 单据信息录入方法和装置 | |
CN112966756A (zh) | 一种可视化的准入规则的生成方法、装置、机器可读介质及设备 | |
CN107800776A (zh) | 一种文件处理方法、终端、服务器及计算机可读介质 | |
CN109947701A (zh) | 基于nsq消息队列的文件导入方法、装置、设备及存储介质 | |
WO2023066258A1 (zh) | 隐私数据的数据处理方法、装置、计算机设备及介质 | |
CN106559554A (zh) | 一种通信处理方法、装置 | |
CN115378806A (zh) | 流量分配方法、装置、计算机设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN114707048A (zh) | 敏感信息检测方法、装置、电子设备及计算机可读存储介质 | |
CN107168627A (zh) | 用于触摸屏的文本编辑方法和装置 | |
CN109547290B (zh) | 云平台垃圾数据检测处理方法、装置、设备及存储介质 | |
CN109783308A (zh) | 一种终端检测的方法及终端设备 | |
Lu et al. | Massive data MapReduce fingerprint discriminant algorithm based on hadoop | |
CN116383391B (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 |