一种基于远程字典服务的工单数查询方法和系统与流程

专利2024-11-13  45



1.本发明涉及计算机技术领域,具体涉及一种基于远程字典服务的工单数查询方法和系统。


背景技术:

2.在企业的运营中,通过一线人员进行业务咨询、问题解答和处理、以及后端支撑等日常工作,一线人员在遇到疑难问题时,通常需要与专家进行沟通和问答。例如通过电话、oa系统、第三方聊天工具、邮件等方式进行沟通和处理。但是缺少对问答或沟通的集中管控,不能满足问答的时效性,导致一线人员的工作效率低,客户体验差。
3.随着问答工单的数据量的日益庞大,对问答的查询量也与日俱增,例如问答的状态查询每5秒刷新一次;传统的关系型数据库在这种场景下,性能较差,且查询压力大,易造成查询缓慢、甚至造成数据库崩溃。


技术实现要素:

4.针对现有技术中存在的上述技术问题,本发明提供一种基于远程字典服务的工单数查询方法和系统,对问答进行集中管控,并提高问答工单数查询的性能。
5.本发明公开了一种基于远程字典服务的工单数查询方法,所述工单数查询方法包括:基于远程字典服务,为提问者建立工单状态集合;判断所述集合中是否存在待查询工单的记录;若存在,返回所述记录;若不存在,从数据库中查询,返回查询结果,并刷新到所述集合中。
6.优选的,工单状态变化的处理方法:
7.工单状态变化时,判断所述集合中是否存在所述工单的记录;
8.若不存在,将所述工单状态变化的数据保存到数据库中;
9.若存在,将所述工单状态变化的数据保存到数据库中,并刷新到所述集合中。
10.优选的,集合清除的方法包括:
11.判断工单状态集合的刷新周期是否超过第一阈值;
12.若是,清除所述提问者的工单状态集合。
13.优选的,所述工单状态集合包括以下任一状态集合或它们的组合:待分配工单集合、待处理工单集合、待结案工单集合、阅单工单集合、转派工单集合、未结案工单集合和待评价工单集合。
14.优选的,所述工单状态变化包括以下任一动作或它们的组合:
15.通过提问者新建工单,获得待分配工单,修改待分配工单数;
16.接受或分派所述工单,获得待处理工单,修改待处理工单数和待分配工单数;
17.对待处理工单进行转派,获得转派工单,修改转派工单数;
18.对所述待处理工单或转派工单进行办结,获得待结案工单,修改待结案工单数和待处理工单数;
19.将所述待结案工单进行结案,获得已结案工单,修改已结案工单数和待结案工单数修改已结案工单数和待结案工单数;
20.取回待结案工单,获得待处理工单,修改待处理工单数;
21.重开待结案工单,获得待处理工单或待分配工单,修改待处理工单数或待分配工单数、以及待结案工单数;
22.提问者对已结案工单进行评价,获得已评价工单,修改待评价工单数和已评价工单数;
23.对已结案工单进行传阅,获得阅单工单,修改单阅工单数。
24.优选的,所述数据库为关系型数据库;所述工单状态集合保存在redis集群中。
25.本发明还提供一种用于实现上述工单数查询方法的系统,包括工单状态集合建立模块、查询模块和刷新模块,
26.所述工单状态集合建立模块用于基于远程字典服务,为提问者建立工单状态集合;
27.所述查询模块用于在所述集合中查询工单的记录,并返回所述记录;若没有查到记录,则从数据库中查询,返回查询结果;
28.所述刷新模块用于根据查询结果,刷新所述集合。
29.优选的,所述刷新模块还用于:在所述集合存在状态变化的工单的记录时,根据工单状态变化的数据,刷新所述集合。
30.优选的,所述系统还包括清除模块,清除模块用于在工单状态集合的刷新周期超过第一阈值时,清除所述工单状态集合。
31.优选的,还包括状态修改模块,状态修改模块用于修改工单状态,并通过刷新模块,刷新所述集合;
32.所述状态修改模块包括:工单建立子模块、工单接受子模块、工单转派子模块、工单办结子模块、工单结案子模块、工单取回子模块、工单重开子模块、评价子模块、传阅子模块,
33.所述工单建立子模块用于新建工单,获得待分配工单;
34.工单接受子模块用于接受或分派所述工单,获得待处理工单;
35.工单转派子模块用于对待处理工单进行转派,获得转派工单;
36.工单办结子模块用于对所述待处理工单或转派工单进行办结,获得待结案工单;
37.所述工单结案子模块用于将所述待结案工单进行结案,获得已结案工单;
38.所述取回子模块用于专家取回待结案工单,获得待处理工单;
39.工单重开子模块用于重开待结案工单,获得待处理工单或待分配工单;
40.所述评价子模块用于对已结案工单进行评价,获得已评价工单;
41.所述传阅子模块用于对已结案工单进行传阅,获得阅单工单。
42.与现有技术相比,本发明的有益效果为:将查询的热点数据保存到高性能的redis的工单状态集合中,利于减轻数据库的压力,提高工单状态查询的性能;通过工单对问答进行跟踪管控,及时获得问答的状态,利于对问答的管控的时效性。
附图说明
43.图1是本发明的基于远程字典服务的工单数查询方法流程图;
44.图2是本发明的系统逻辑框图;
45.图3是本发明的状态修改模块的逻辑框图。
具体实施方式
46.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.下面结合附图对本发明做进一步的详细描述:
48.一种基于远程字典服务的工单数查询方法,如图1所示,所述工单数查询方法包括:
49.步骤101:基于远程字典服务(redis,remote dictionary server),为提问者建立工单状态集合。redis是一个开源的可基于内存亦可持久化的日志型、key-value数据库,具有高性能的特点。工单状态集合保存在redis集群中,工单状态用于描述工单的处理进度或状态。
50.步骤102:判断所述集合中是否存在待查询工单的记录。
51.若存在,执行步骤103:返回所述记录。
52.若不存在,执行步骤104:从数据库中查询,返回查询结果,并刷新到所述集合中。
53.其中,数据库可以采用关系型数据库。所述集合可以基于提问者的id进行构建,返回的查询结果包括待查询工单的状态,根据查询结果,可以计算出该集合每一状态下的工单数量。
54.步骤105:判断工单状态集合的刷新周期是否超过第一阈值,例如24小时。但不限于此。
55.若是,执行步骤106:清除所述工单状态集合。即清除冷数据,防止redis的内存刷增,防止由于内存不足而导致的热数据被自动删除,提高数据稳定性和高性能。
56.若否,持续检测工单状态集合的刷新周期。
57.将查询的热点数据保存到高性能的redis的工单状态集合中,利于减轻数据库的压力,提高工单状态查询的性能;通过工单对问答进行跟踪管控,及时获得问答的状态,利于对问答的管控的时效性。
58.本发明还提供工单状态变化的处理方法:
59.步骤201:工单状态变化时,判断所述集合中是否存在所述工单的记录。
60.若不存在,执行步骤202:将所述工单状态变化的数据保存到数据库中。
61.若存在,执行步骤203:将所述工单状态变化的数据保存到数据库中,并刷新到所述集合中。集合中存在所述工单记录时,则为热数据,及时刷新redis中热数据,利于提高查询的性能。
62.实施例1
63.搭建一个分布式redis环境,为了保证高可用性,采用集群模式,本实施例中采用
了在3台主机上部署了3主3备的redis集群方式,保障稳定性;
64.在redis为每个提问者或用户(staffid)的每种不同状态设计一个用于存储对应工单的集合,并设置有效期为24小时。例如,key存储的是集合类型表示为:
65.eask:question:staffid.to.awaithandlequestionids:[staffid]
[0066]
staffid为变量值,表示提问者id,该key对应储存的状态集合类型为:待处理工单集合,表示为该用户下的所有待处理工单。
[0067]
key的状态集合类型如下表所示:
[0068]
key含义有效期eask:question:staffid.to.awaithandlequestionids:[staffid]待处理工单集合24小时eask:question:staffid.to.awaitclosequestionids:[staffid]待结案工单集合24小时eask:question:staffid.to.myreadlistquestionids:[staffid]阅单工单集合24小时eask:question:staffid.to.mytransferquestionids:[staffid]转派工单集合24小时eask:question:staffid.to.unclosequestionids:[staffid]未结案工单集合24小时eask:question:staffid.to.closedquestionids:[staffid]已结案工单集合24小时eask:question:staffid.to.awaitappraisequestionids:[staffid]待评价工单集合24小时
[0069]
但不限于此。
[0070]
其中,所述工单状态集合包括以下任一状态集合或它们的组合:待分配工单集合、待处理工单集合、待结案工单集合、阅单工单集合、转派工单集合、未结案工单集合和待评价工单集合。即工单状态集合记录了从工单的建立、分配、转派、结案、评价和传阅的流程状态。
[0071]
相应的,所述工单状态变化包括以下任一动作或它们的组合:
[0072]
通过提问者新建工单,获得待分配工单;
[0073]
通过专家接受或分派所述工单,获得待处理工单;
[0074]
通过专家对待处理工单进行转派,获得转派工单;
[0075]
通过专家对所述待处理工单或转派工单进行办结,获得待结案工单;
[0076]
通过专家将所述待结案工单进行结案,获得已结案工单;
[0077]
通过专家取回待结案工单,获得待处理工单;
[0078]
重开待结案工单,获得待处理工单或待分配工单;
[0079]
提问者对已结案工单进行评价,获得已评价工单;
[0080]
对已结案工单进行传阅,获得阅单工单,即阅单工单表示传阅工单,阐单工单集合表示该提问者传阅工单的集合。
[0081]
因此,可以进行每种状态工单数(数标)的查询。还可以对每种状态的工单中未读消息进行标识或分类。
[0082]
步骤301:查询各类状态的工单数标时,判断redis的工单状态集合中是否存在相应的key:
[0083]
如果不存在,执行步骤302:查询数据库,查出数标并返回;同时,启动一个线程,异步并将查询结果(各种状态的工单集合)初始化刷新到redis中,同时设置key的有效时间为24小时;
[0084]
如果已经存在,执行步骤303:那么直接从redis中,通过scard命令查出各类状态的工单集合中的数量进行返回。
[0085]
步骤304:当工单状态变化时,判断redis的工单状态集合中是否存在相应的key。
[0086]
如果不存在,执行步骤305:操作数据库(参见步骤302);
[0087]
如果已经存在,执行步骤306:操作数据库外,通过另起一个线程异步去操作redis,将工单从修改前状态对应的集合中删除,放入到修改后状态对应的工单集合中。例如,新建工单,则提问者的未结案数加1、专家的待分配数加1;接受或分派所述工单,则待处理工单数加1、待分配工单数减1;对待处理工单进行转派,则转派工单数加1;办结后,待结案工单数加1、待处理工单数减1;结案后,专家的已结案工单数减加1、待结案工单数减1、提问者的未结案工单数减1;取回待结案工单后,待处理工单数加1,待结案工单数减1;重开待结案工单后,待分配工单数或待处理工单数加1,待结案工单数减1;评价后,提问者的待评价工单数减1,已评价工单数加1;传阅后,专家的阅单加1。
[0088]
步骤307:每个用户每种状态对应的工单集合key,在到达失效时间后由redis自动清除,这样只有热数据用户(当天使用系统的用户)才会将数据刷到redis中,大大降低了redis内存使用率。
[0089]
实施例2
[0090]
本实施例提供一种用于实现上述工单数查询方法的系统,如图2所示,包括工单状态集合建立模块1、查询模块2和刷新模块3,
[0091]
工单状态集合建立模块1用于基于远程字典服务(redis),为提问者建立工单状态集合;
[0092]
查询模块2用于在所述集合中查询工单的记录,并返回所述记录;若没有查到记录,则从数据库中查询,返回查询结果;
[0093]
刷新模块3用于根据查询结果,刷新所述集合。
[0094]
刷新模块3还用于:在所述集合存在状态变化的工单的记录时,根据工单状态变化的数据,刷新所述集合。
[0095]
其中,所述系统还包括清除模块4和状态修改模块5。
[0096]
清除模块4用于在提问者的工单状态集合的刷新周期超过第一阈值时,清除所述工单状态集合。状态修改模块5用于修改工单状态;修改工单状态后通过刷新模块,刷新所述集合。
[0097]
如图3所示,所述状态修改模块可以包括:
[0098]
工单建立子模块11、工单接受子模块12、工单转派子模块13、工单办结子模块14、工单结案子模块15、工单取回子模块22、工单重开子模块21、评价子模块17、传阅子模块16,
[0099]
工单建立子模块11用于新建工单,获得待分配工单、并修改待分配工单数;
[0100]
工单接受子模块12用于接受或分派所述工单,获得待处理工单、并修改待处理工单数和待分配工单数;
[0101]
工单转派子模块13用于对待处理工单进行转派,获得转派工单、并修改转派工单数;
[0102]
工单办结子模块14用于对所述待处理工单或转派工单进行办结,获得待结案工单、并修改待结案工单数和待处理工单数;
[0103]
工单结案子模块15用于将所述待结案工单进行结案,获得已结案工单、并修改已结案工单数和待结案工单数;
[0104]
取回子模块22用于专家取回待结案工单,获得待处理工单、并修改待处理工单数;
[0105]
重开子模块21用于重开待结案工单,获得待处理工单或待分配工单,并修改待处理工单数或待分配工单数、以及待结案工单数;
[0106]
评价子模块17用于对已结案工单进行评价,获得已评价工单,并修改待评价工单数和已评价工单数;
[0107]
传阅子模块16用于对已结案工单进行传阅,获得阅单工单、并修改单阅工单数。
[0108]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于远程字典服务的工单数查询方法,其特征在于,所述工单数查询方法包括:基于远程字典服务,为提问者建立工单状态集合;判断所述集合中是否存在待查询工单的记录;若存在,返回所述记录;若不存在,从数据库中查询,返回查询结果,并刷新到所述集合中。2.根据权利要求1所述的工单数查询方法,其特征在于,还包括工单状态变化的处理方法:工单状态变化时,判断所述集合中是否存在所述工单的记录;若不存在,将所述工单状态变化的数据保存到数据库中;若存在,将所述工单状态变化的数据保存到数据库中,并刷新到所述集合中。3.根据权利要求1所述的工单数查询方法,其特征在于,集合清除的方法包括:判断工单状态集合或者记录的刷新周期是否超过第一阈值;若是,清除所述提问者的工单状态集合或记录。4.根据权利要求2所述的工单数查询方法,其特征在于,所述工单状态集合包括以下任一状态集合或它们的组合:待分配工单集合、待处理工单集合、待结案工单集合、阅单工单集合、转派工单集合、未结案工单集合和待评价工单集合。5.根据权利要求4所述的工单数查询方法,其特征在于,所述工单的状态变化包括以下任一动作或它们的组合:通过提问者新建工单,获得待分配工单,修改待分配工单数;接受或分派所述工单,获得待处理工单,修改待处理工单数和待分配工单数;对待处理工单进行转派,获得转派工单,修改转派工单数;对所述待处理工单或转派工单进行办结,获得待结案工单,修改待结案工单数和待处理工单数;将所述待结案工单进行结案,获得已结案工单,修改已结案工单数和待结案工单数修改已结案工单数和待结案工单数;取回待结案工单,获得待处理工单,修改待处理工单数;重开待结案工单,获得待处理工单或待分配工单,修改待处理工单数或待分配工单数、以及待结案工单数;提问者对已结案工单进行评价,获得已评价工单,修改待评价工单数和已评价工单数;对已结案工单进行传阅,获得阅单工单,修改单阅工单数。6.根据权利要求1所述的工单数查询方法,其特征在于,所述数据库为关系型数据库;所述工单状态集合保存在redis集群中。7.一种用于实现如权利要求1-6任一项所述工单数查询方法,其特征在于,包括工单状态集合建立模块、查询模块和刷新模块,所述工单状态集合建立模块用于基于远程字典服务,为提问者建立工单状态集合;所述查询模块用于在所述集合中查询工单的记录,并返回所述记录;若没有查到记录,则从数据库中查询,返回查询结果;所述刷新模块用于根据查询结果,刷新所述集合。8.根据权利要求7所述的系统,其特征在于,所述刷新模块还用于:在所述集合存在状
态变化的工单的记录时,根据工单状态变化的数据,刷新所述集合。9.根据权利要求7所述的系统,其特征在于,还包括清除模块,清除模块用于在工单状态集合的刷新周期超过第一阈值时,清除所述工单状态集合。10.根据权利要求7所述的系统,其特征在于,还包括状态修改模块,状态修改模块用于修改工单状态,并通过刷新模块,刷新所述集合;所述状态修改模块包括:工单建立子模块、工单接受子模块、工单转派子模块、工单办结子模块、工单结案子模块、工单取回子模块、工单重开子模块、评价子模块、传阅子模块,所述工单建立子模块用于新建工单,获得待分配工单;所述工单接受子模块用于接受或分派所述工单,获得待处理工单;所述工单转派子模块用于对待处理工单进行转派,获得转派工单;所述工单办结子模块用于对所述待处理工单或转派工单进行办结,获得待结案工单;所述工单结案子模块用于将所述待结案工单进行结案,获得已结案工单;所述取回子模块用于专家取回待结案工单,获得待处理工单;所述工单重开子模块用于重开待结案工单,获得待处理工单或待分配工单;所述评价子模块用于对已结案工单进行评价,获得已评价工单;所述传阅子模块用于对已结案工单进行传阅,获得阅单工单。

技术总结
本发明公开了一种基于远程字典服务的工单数查询方法和系统,属于计算机技术领域,所述工单数查询方法包括:基于远程字典服务,为提问者建立工单状态集合;判断所述集合中是否存在待查询工单的记录;若存在,返回所述记录;若不存在,从数据库中查询,返回查询结果,并刷新到所述集合中。将查询的热点数据保存到高性能的Redis的工单状态集合中,利于减轻数据库的压力,提高工单状态查询的性能;通过工单对问答进行跟踪管控,及时获得问答的状态,利于对问答的管控的时效性。对问答的管控的时效性。对问答的管控的时效性。


技术研发人员:陆洋智
受保护的技术使用者:北京思特奇信息技术股份有限公司
技术研发日:2022.06.29
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-10287.html

最新回复(0)