工单数据批量导出的方法、装置、电子设备以及介质与流程

文档序号:22891156发布日期:2020-11-10 18:16阅读:309来源:国知局
工单数据批量导出的方法、装置、电子设备以及介质与流程

本申请涉及数据导出的技术领域,具体而言,本申请涉及一种工单数据批量导出的方法、装置、电子设备以及介质。



背景技术:

随着业务的持续发展,客服中心所承载的功能也越来越多,包含的渠道已经越来越丰富,面向客户的服务也越来越全面,客服中心所产生的工单也越来越多,工单所记录的信息要素越来越丰富,为了应对监管要求和日渐复杂的管理需求,客服中心的管理人员经常需要将系统中的工单批量导入到excel文件中,并且导出的excel文件格式和内容需要是灵活、可定制的。然而,在大规模导出工单数据时,现有技术存在以下几个缺陷:

(1)由于数据量较大,必须将导出工单数量限制在较小的范围,否则可能由于系统超负荷引发风险。

(2)基于数据库的工单查询,筛选条件只能是简单条件,无法支持复杂条件的模糊匹配、复杂筛选逻辑等情况。

(3)导出文件的格式和内容相对固定,不够灵活。



技术实现要素:

本申请针对现有方式的缺点,提出一种工单数据批量导出的方法、装置、电子设备以及介质,用以解决上述至少一个技术问题。

第一方面,本申请实施例提供了一种工单数据批量导出的方法,包括:

接收业务人员由前端发送的请求,建立导出任务;

在后端主线程中将导出任务添加至任务队列,将请求返回前端;

在后端任务守护线程依次执行任务队列中的各个导出任务;

在每次导出任务执行完成后,展示针对导出文件的文件下载消息;

执行一个导出任务的过程包括:解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件。

在本申请的一个实施例中,在后端任务守护线程依次执行任务队列中的各个导出任务,包括:根据任务队列中每个导出任务的优先级信息,按照优先级由高到低的顺序依次执行任务队列中的各个导出任务。

在本申请的一个实施例中,建立导出任务,包括:响应于业务人员的导出模板选择操作,确定出导出任务所需的模板。

在本申请的一个实施例中,建立导出任务,包括:响应于业务人员的导出条件选择操作,根据导出条件确定出导出任务的工单。

在本申请的一个实施例中,根据导出条件确定出导出任务的工单,包括:

判断导出条件是否包括复杂条件;

若导出条件不包括复杂条件,则直接在数据库筛选出相应工单导出任务的工单,返回导出任务的工单;

若导出条件包括复杂条件,则通过文档检索引擎定位到满足条件的工单编号,根据工单编号在数据库筛选出相应工单导出任务的工单,返回导出任务的工单。

在本申请的一个实施例中,复杂条件的字段包括标签、工单详细信息、工单描述、工单备注和处理意见中的至少一种。

在本申请的一个实施例中解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件,包括:

解析出模板的表头格式和内容格式、以及导出任务所需要的工单属性的相关信息;

根据模板的表头格式和内容格式,设置导出文件的格式;根据导出任务所需要的工单属性的相关信息,完成工单数据的动态拼装

第二方面,本申请实施例提供了一种工单数据批量导出的装置,包括:

任务建立模块,用于接收业务人员由前端发送的请求,建立导出任务;

任务添加模块,用于在后端主线程中将导出任务添加至任务队列,将请求返回前端;

任务执行模块,用于在后端任务守护线程依次执行任务队列中的各个导出任务;

消息提醒模块,用于在每次导出任务执行完成后,展示针对导出文件的文件下载消息;

执行一个导出任务的过程包括:解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件。

第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,处理器与存储器通信连接;

存储器存储有计算机程序,计算机程序由处理器执行时,实现本申请实施例提供的工单数据批量导出的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的工单数据批量导出的方法。

本申请实施例提供的技术方案,至少具有如下有益效果:

在本申请实施例中,采用了异步任务调度和处理的流程,保证了同一时刻系统全局只有一个批量导出任务在同时执行,从而减轻了系统压力,提升了系统安全性;并且异步返回可以有效地减少前端用户等待的时间,显著地提升了用户体验。另外,将数据库查询与基于lucene的文档检索机制有机结合,支持了多种复杂条件下的查询场景,提升了查询效率。进一步地,通过定制和解析excel模板,极大提升了客服工单数据批量导出的灵活性。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请提供的一种工单数据批量导出的方法的流程示意图;

图2为本申请实施例提供的执行一个导出任务的流程示意图;

图3为本申请提供的一种工单数据批量导出的装置的模块示意图;

图4为本申请提供的一种电子设备的模块示意图。

具体实施方式

下面详细描述本申请,本申请的实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

首先对本申请实施例中涉及到的名词作简单的解释说明:

工单:一种工作单据,可用于记录、流转、跟踪、解决问题。

客服工单:客户服务中心所创建和产生的工单,用以响应外部客户通过客服中心反映的各类疑难问题,以便跨部门追踪解决客户问题。

批量导出:根据用户输入的导出条件筛选出符合条件的工单,并将这些工单的信息导出到excel文件中,以供用户下载。

异步执行:前端发起任务后即刻收到返回,将比较耗时的任务保持在后端执行,在任务完成后才通知前端的一种任务执行方式。

excel模板:事先定义好的excel文件,其中规定了所需导出的工单的属性、导出文件的格式等信息。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。

应当说明的是,本申请实施例中的工单为客户工单,也可以是其他;类型的工单。本申请实施例提供了一种工单数据批量导出的方法,该方法的流程示意图如图1所示,包括:

s101:接收业务人员由前端发送的请求,建立导出任务。

在本申请的一个实施例中,建立导出任务,包括:响应于业务人员的导出模板选择操作,确定出导出任务所需的模板。

本申请实施例中的模板为excle模板,最终的导出文件为excle文件,下面以excle模板为例,对确定出导出任务所需的模板的具体过程做进一步的介绍。

不同的导出任务需要导出的excel文件格式不尽相同,需要导出的工单字段也不尽相关,本申请实现了灵活可定制的工单数据导出模式,其核心在于基于excel模板的定制,在导出数据的过程中,针对选中的模板进行解析,可定制的内容如表1所示。

表1

在本申请的一个实施例中,建立导出任务,包括:响应于业务人员的导出条件选择操作,根据导出条件确定出导出任务的工单。

在本申请的一个实施例中,根据导出条件确定出导出任务的工单,包括:

(a1)判断导出条件是否包括复杂条件。若导出条件不包括复杂条件,则执行步骤(a2);若导出条件包括复杂条件,则执行步骤(a3)。

(a2)直接在数据库筛选出相应工单导出任务的工单,返回导出任务的工单。

(a3)通过文档检索引擎定位到满足条件的工单编号,根据工单编号在数据库筛选出相应工单导出任务的工单,返回导出任务的工单。

在本申请的一个实施例中,导出条件分为简答条件和复杂条件。复杂条件的字段包括标签、工单详细信息、工单描述、工单备注和处理意见中的至少一种。

工单导出的查询条件较多,如表2所示,大体上可以将其中查询条件分为两类:简单条件和复杂条件。简单条件是指可以直接在数据库中查询的字段,比如表2所示的工单类型、工单编号和创建时间等,这些条件的查询逻辑较为简单,并且在数据库中是精准匹配,通过设计适当的表索引、组织和优化sql查询语句,虽然工单的数据量较大,但是查询效率仍然在可接受的范围内。对于复杂条件,其字段可能涉及到长文本字段的模糊匹配,如工单详细信息字段,最多可填1500个汉字,用户可输入一段文字,作为查询条件,与千万级别的工单进行匹配,查询难度较大;也可能是查询逻辑复杂,比如标签字段,涉及多个标签的组合,并且这些标签之间存在一定的逻辑关系,如“或”关系、“与”关系。这种情况下,单纯数据库的查询已无法满足需求,本申请基于开源工具lucene建立了一套文档检索的机制,通知文档检索引擎来支持这种复杂业务场景下的查询。

表2

文档检索引擎的功能分为两部分:建立索引、搜索。如图2所示,建立索引的过程首先需要采集数据,本发明仅采集部分重要工单字段和作为查询条件的字段,这样做的好处是可以防止数据量过大而导致的索引文件超大,提高索引文件创建和更新的效率、提高检索索引文件的效率;但是由于索引文件中未包括所有的工单信息,因此检索返回的结果集中有部分数据缺失,需要与数据库查询结合起来,根据文档索引返回的工单编号反查数据库,获取到所有需要返回的字段,确定出导出任务的工单。

s102:在后端主线程中将导出任务添加至任务队列,将请求返回前端。

在本申请的一个实施例中,在后端任务守护线程依次执行任务队列中的各个导出任务,包括:根据任务队列中每个导出任务的优先级信息,按照优先级由高到低的顺序依次执行任务队列中的各个导出任务。

s103:在后端任务守护线程依次执行任务队列中的各个导出任务。

s104:在每次导出任务执行完成后,展示针对导出文件的文件下载消息。

业务人员在并通知业务人员下载,本次导出任务结束

工单批量数据导出存在几个难点,一是工单涉及属性较多,关联表多,可能包含多数据源,因此后端查询逻辑复杂,二是需要返回大量的数据,可能涉及数万条工单,每条工单中又包含大量的文本信息,因此返回的文件较大。这两个特点造成了数据库压力大,且前端客户发起请求后,需要长时间等待,用户体验不佳。而上述步骤s101至步骤s102采用了异步执行的方式,即前端发起任务后即刻收到返回,将比较耗时的任务保持在后端执行,在任务完成后才通知前端。这种异步执行的方式减小了批量数据请求对后台服务器的压力,提升了用户体验。

在本申请的一个实施例中,执行一个导出任务的过程如图2所示,包括:解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件。

在本申请的一个实施例中解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件,包括:

(a1)解析出模板的表头格式和内容格式、以及导出任务所需要的工单属性的相关信息。

可选地,工单属性的相关信息至少包括本次导出任务需要导出哪些工单属性,每个属性对应哪一张表的哪个字段,属性如何翻译,属性是否需要合并展示等信息。

(a2)根据模板的表头格式和内容格式,设置导出文件的格式;根据导出任务所需要的工单属性的相关信息,完成工单数据的动态拼装

本申请实施例提供的工单数据批量导出的方法,采用了异步任务调度和处理的流程,保证了同一时刻系统全局只有一个批量导出任务在同时执行,从而减轻了系统压力,提升了系统安全性;并且异步返回可以有效地减少前端用户等待的时间,显著地提升了用户体验。另外,该方法还将数据库查询与基于lucene的文档检索机制有机结合,支持了多种复杂条件下的查询场景,提升了查询效率。进一步地,该方法通过定制和解析excel模板,极大提升了客服工单数据批量导出的灵活性。

基于同一发明构思,本申请实施例提供了一种工单数据批量导出的装置300,如图3所示,工单数据批量导出的装置300包括任务建立模块301、任务添加模块302和任务执行模块303。

任务建立模块301用于接收业务人员由前端发送的请求,建立导出任务。

任务添加模块302用于在后端主线程中将导出任务添加至任务队列,将请求返回前端。

任务执行模块303用于在后端任务守护线程依次执行任务队列中的各个导出任务。

消息提醒模块304,用于在每次导出任务执行完成后,展示针对导出文件的文件下载消息。

执行一个导出任务的过程包括:解析模板,根据模板中指定的信息动态拼装工单数据,并将数据填充至模板并生成为导出文件。

在本申请的一个实施例中,任务建立模块301具体用于:响应于业务人员的导出模板选择操作,确定出导出任务所需的模板。

在本申请的一个实施例中,任务建立模块301具体用于:响应于业务人员的导出条件选择操作,根据导出条件确定出导出任务的工单。

在本申请的一个实施例中,根据导出条件确定出导出任务的工单,包括:

(b1)判断导出条件是否包括复杂条件。若导出条件不包括复杂条件,则执行步骤(b2);若导出条件包括复杂条件,则执行步骤(b3)。

(b2)直接在数据库筛选出相应工单导出任务的工单,返回导出任务的工单。

(b3)通过文档检索引擎定位到满足条件的工单编号,根据工单编号在数据库筛选出相应工单导出任务的工单,返回导出任务的工单。

在本申请的一个实施例中,导出条件分为简答条件和复杂条件。复杂条件的字段包括标签、工单详细信息、工单描述、工单备注和处理意见中的至少一种。

在本申请的一个实施例中,任务执行模块303具体用于:根据任务队列中每个导出任务的优先级信息,按照优先级由高到低的顺序依次执行任务队列中的各个导出任务。

相比于现有技术,本申请实施例提供的工单数据批量导出的装置300,采用了异步任务调度和处理的流程,保证了同一时刻系统全局只有一个批量导出任务在同时执行,从而减轻了系统压力,提升了系统安全性;并且异步返回可以有效地减少前端用户等待的时间,显著地提升了用户体验。另外,该装置还将数据库查询与基于lucene的文档检索机制有机结合,支持了多种复杂条件下的查询场景,提升了查询效率。进一步地,该装置通过定制和解析excel模板,极大提升了客服工单数据批量导出的灵活性。

本申请实施例提供的工单数据批量导出的装置300,与前面所述的各实施例具有相同的发明构思,该基于工单数据批量导出的装置300中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。

基于同一发明构思,本申请实施例提供了一种电子设备400,如图4所示,电子设备400包括存储器403和处理器401,处理器401与存储器403通信连接。存储器403存储有计算机程序,计算机程序由处理器401执行时,实现本申请实施例提供的工单数据批量导出的方法。

可选地,处理器401和存储器403可以通过总线402相连。可选的,语音合成服务器400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该语音合成服务器400的结构并不构成对本申请实施例的限定。

处理器401应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器404可以包括接收机和发射机,收发器404应用于本申请实施例中,用于执行时实现本申请实施例的语音合成服务器400与其他设备通信的功能。

处理器401可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线402可包括一通路,在上述组件之间传送信息。总线402可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。

相比于现有技术,本申请实施例提供的电子设备400,采用了异步任务调度和处理的流程,保证了同一时刻系统全局只有一个批量导出任务在同时执行,从而减轻了系统压力,提升了系统安全性;并且异步返回可以有效地减少前端用户等待的时间,显著地提升了用户体验。另外,该电子设备400还将数据库查询与基于lucene的文档检索机制有机结合,支持了多种复杂条件下的查询场景,提升了查询效率。进一步地,该电子设备400通过定制和解析excel模板,极大提升了客服工单数据批量导出的灵活性。

本申请实施例提供的电子设备400,与前面所述的各实施例具有相同的发明构思,该电子设备400中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。

基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的工单数据批量导出的方法。

本申请提供的上述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom、ram、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本申请实施例提供的计算机可读存储介质,与前面所述的各实施例具有相同的发明构思,该计算机可读存储介质中未详细示出的内容可参照前面所述的各实施例,在此不再赘述。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

应该理解的是,虽然附图的流程图中的各个步骤基于箭头的指示依次显示,但是这些步骤并不是必然基于箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1