CN110969001A - 反馈信息的生成方法及装置、存储介质、处理器和终端 - Google Patents
反馈信息的生成方法及装置、存储介质、处理器和终端 Download PDFInfo
- Publication number
- CN110969001A CN110969001A CN201811132007.3A CN201811132007A CN110969001A CN 110969001 A CN110969001 A CN 110969001A CN 201811132007 A CN201811132007 A CN 201811132007A CN 110969001 A CN110969001 A CN 110969001A
- Authority
- CN
- China
- Prior art keywords
- template
- feedback information
- variable
- rendering engine
- preset
- 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
Images
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 Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种反馈信息的生成方法及装置、存储介质、处理器和终端,其中,该方法包括:确定待使用模板,通过第一绑定关系查询所述待使用模板所需的模板变量,通过第二绑定关系获取所述模板变量的变量值,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。采用上述方案,在编写信息时,先确定待使用模板,通过对应关系查询到该模板中的应当添加的变量的变量值,将变量值加入模板,生成待工作人员最终确认的反馈信息,大量减少了工作人员的工作量,提升了信息回复的效率,解决了相关技术中人工编写信息效率低下的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种反馈信息的生成方法及装置、存储介质、处理器和终端。
背景技术
在相关技术中的电商服务场景中,企业通常会提供电子邮件地址作为联系方式,为用户提供咨询及维权服务,如订单问题,账户问题,物流问题等咨询。企业的客服人员会针对邮箱中的邮件逐一查看,回复邮件解决用户问题。当企业服务的用户数量较大或企业提供的产品出现问题时,通常会有大量邮件涌入企业服务邮箱需要客服人员回复,受限于人力因素,导致信息回复较慢。
针对相关技术中人工编写信息效率低下的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种反馈信息的生成方法及装置、存储介质、处理器和终端,以至少解决相关技术中人工编写信息效率低下的技术问题。
根据本申请文件的一个实施例,提供了一种反馈信息的生成方法,包括:确定待使用模板;通过第一绑定关系查询所述待使用模板所需的模板变量;通过第二绑定关系获取所述模板变量的变量值;采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
根据本申请文件的一个实施例,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述实施例中的反馈信息的生成方法。
根据本申请文件的另一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中的反馈信息的生成方法。
根据本申请文件的另一个实施例,还提供了一种反馈信息的生成装置,包括:确定模块,用于确定待使用模板;查询模块,用于通过第一绑定关系查询所述待使用模板所需的模板变量;获取模块,用于通过第二绑定关系获取所述模板变量的变量值;
生成模块,用于采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
根据本申请文件的另一个实施例,还提供了一种终端,包括:存储介质,用于存储程序,其中,所述程序包括以下步骤:第一步骤,确定待使用模板;第二步骤,通过第一绑定关系查询所述待使用模板所需的模板变量;第三步骤,通过第二绑定关系获取所述模板变量的变量值;第四步骤,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息;处理器,所述处理器运行程序,其中,所述程序运行时执行所述第一步骤至所述第四步骤。
在本申请实施例中,确定待使用模板,通过第一绑定关系查询所述待使用模板所需的模板变量,通过第二绑定关系获取所述模板变量的变量值,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。采用上述方案,在编写信息时,先确定待使用模板,通过对应关系查询到该模板中的应当添加的变量的变量值,将变量值加入模板,生成待工作人员最终确认的反馈信息,大量减少了工作人员的工作量,提升了信息回复的效率,解决了相关技术中人工编写信息效率低下的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一的用于实现反馈信息的生成方法的计算机终端的硬件结构框图;
图2是根据本申请实施例一的反馈信息的生成方法应用场景图;
图3是根据本申请实施例一的反馈信息的生成方法流程图;
图4是根据本申请实施例一的回复邮件的方法流程图;
图5是根据本申请实施例一的渲染得到反馈信息的示意图;
图6是根据本申请实施例二的一种反馈信息的生成装置;
图7是根据本申请实施例三的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Dataset:一种将外部系统数据统一抽象的工具;
Freemarker:一种开源的模板渲染引擎;
服务邮件:用户向企业发送的以咨询和维权为目的的电子邮件,无固定格式,用户以自然语言描述其问题;
邮件模板:具有一定格式及样式的邮件预设内容,用以规范客服人员对服务邮件的回复,同时可嵌入“客户满意度调查”等额外内容;
占位符:由特殊字符及英文字母构成的可被计算机识别的一串字符;
模板变量:指在邮件模板中以占位符形式存在可替换字段;
快速回复:通过少量鼠标点击及少量输入快速进行邮件回复,用以提高服务邮件的回复效率;
业务单据号:用以定位业务数据的一串字符串;
外部业务数据:指本方案运行的平台以外的其他分布式系统中以非统一契约方式提供的接口;
模板渲染:指将邮件模板中的模板变量替换为实际的值的过程,不同于网页渲染。
实施例一
根据本申请实施例,还提供了一种反馈信息的生成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1是根据本申请实施例一的用于实现反馈信息的生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的()方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的()方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
该计算机终端10还包括传输装置,用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
图2是根据本申请实施例一的反馈信息的生成方法应用场景图,如图2所示,包括客户终端201,企业服务器202,企业终端203,客户终端201向企业服务器202发送邮件,企业服务器202接收到邮件后下发给工作人员进行处理,工作人员在接收该任务后,首先在企业终端203上选择待使用的模板,然后企业终端203可以启用本申请文件记载的反馈信息的生成方法,自动从服务器中获取到待使用模板的模板变脸和变量值,后续生成待确认的反馈信息,然后通过网络服务器反馈至客户终端201。
当然,在最初选定模板时,也可以是计算机根据客户终端201的邮件内容自己确定的,不需要工作人员进行选择。
图2中的终端与服务器之间的数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。客户终端(或企业终端)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在相关技术的方案客户反馈消息的场景中存在以下问题:
首先,客服人员需要按照企业制定的回复邮件规范手动输入如敬语、邮件签名等格式化内容,重复输入效率低下且难以保证其规范性;
其次,客服人员需要通过“业务单据号”等在企业后台查询相关信息并粘贴至邮件中供客户进行参考,涉及到多个系统切换,极大的增加了操作的繁琐程度,出错率及单封邮件的回复时长;
由于存在上述列出的问题,导致客服人员服务效率低下,运营成本提高,客户满意度下降。
在上述运行环境下,针对上述问题,本申请文件实施例一中提供了一种反馈信息的生成方法,图3是根据本申请实施例一的反馈信息的生成方法流程图,如图3所示,包括以下步骤:
S302,确定待使用模板;
可选地,预先在系统服务器或者本地存储有多个模板,例如针对咨询函的信函模板,针对售后问题的信函模板,针对商业合作的信函模板。可以由工作人员在阅读客户的邮件后选择待使用的模板,也可以是计算机自己依据识别客户邮件含义,来确定待使用模板。
该待使用模板也可以是计算机主动发起的,例如检测到客户的生日将至,主动确定待使用模板用于生成祝福信函。或者,计算机检测到客户购买的商品的保修期将至,主动确定待使用模板用于生成提示保修信函。
S304,通过第一绑定关系查询所述待使用模板所需的模板变量;
每个模板对应有模板变量,例如售后问题的模板中,可以将交易单号,交易时间,交易价值等作为模板变量。交易咨询的模板中,可以将商品属性,商品价格等作为模板变量。但是此处的模板变量中未包括具体的变量值,即仅是在模板中占据一定字符,后续获取到变量值之后,将占据的位置替换为变量值。
上述模板变量在替换成变量值之前,可以以“占位符”形式位于待使用模板中。
S306,通过第二绑定关系获取所述模板变量的变量值;
在获取待使用模板的模板变量后,可以获取从大数据服务器获取上述模板变量对应的变量值,例如依据发送邮件的客户信息获取交易单号的号码。
S308,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
上述的预设模板渲染引擎可以是Freemarker引擎。
采用预设模板渲染引擎将变量值填入上述待使用模板对应的模板变量中,生成反馈信息。该反馈信息可以是直接发送,也可以交由工作人员确认后再发送,本申请文件中不做限定。
通过上述步骤,确定待使用模板,通过第一绑定关系查询所述待使用模板所需的模板变量,通过第二绑定关系获取所述模板变量的变量值,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。采用上述方案,在编写信息时,先确定待使用模板,通过对应关系查询到该模板中的应当添加的变量的变量值,将变量值加入模板,生成待工作人员最终确认的反馈信息,大量减少了工作人员的工作量,提升了信息回复的效率,解决了相关技术中人工编写信息效率低下的技术问题。
可选地,通过所述第二绑定关系获取所述模板变量的所述变量值包括:通过所述第二绑定关系获取与所述模板变量对应的数据集,其中,所述数据集存储于外部服务器;经由所述外部服务器提供的数据接口将所述模板变量与所述数据集进行关联,以便从所述数据集中获取所述变量值。
上述的外部服务器可以用于存储企业运行过程中的大数据,采用上述方案,充分利用大数据,自动获取模板变量的变量值,不需要工作人员手动查询,降低了工作量。
可选地,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:通过所述待使用模板的标识信息确定本地缓存中未存在对应的模板实例;根据所述标识信息生成所述模板实例,并将所述模板实例加载至所述本地缓存;将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
采用上述方案,在本地缓存中未存在对应的模板实例的情况下,依据待使用模板的标识信息生成了模板实例,后续生成反馈信息。
可选地,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号一致时,将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
在检测到本地缓存中存在对应的模板实例,且与待使用模板的版本号一致时,直接利用已经存储的模板实例生成反馈信息,在保证模板一致的前提下,加快了生成反馈信息的速度。
可选地,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号不一致时,在所述本地缓存中重新加载与所述待使用模板的版本号相适配的模板实例;将所述重新加载的模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
在检测到本地缓存中存在对应的模板实例,但是与待使用版本号不一致时,重新依据待使用模板的标识信息生成模板,保证了生成反馈信息的模板的正确性。
可选地,在采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息之后,将所述待确认的反馈信息输出至显示界面的预设编辑器,以便通过所述预设编辑器对所述待确认的反馈信息进行确认。
通过预设编辑器输出之后,工作人员可以直接进行修改,经最终确认后再发出反馈信息。
本申请实施例一的方案实现了以下技术效果:
1、将企业指定的回复邮件规范以邮件模板的形式进行存储,以关联类目的方式方便的进行管理和使用。
2、通过系统内嵌的入参,自动获取业务数据并替换掉模板中以“占位符”形式存在的“模板变量”,降低客服人员的操作成本和出错率。
3、将本系统以外的其他分布式系统中存储的数据进行统称为可配置的数据集,或者大数据,管理员可以根据业务需要以模板变量的方式管理这些数据集。
4、使用Freemarker引擎对模板进行渲染,支持复杂的列表及条件判断等逻辑,使客服人员只需要极少的操作便可输入大段文本至邮件编辑器。
图4是根据本申请实施例一的回复邮件的方法流程图,如图4所示,包括以下步骤:
步骤一,客服人员选择使用一个模板对用户的咨询邮件进行回复;
步骤二,从总控系统中查询模板用到哪些变量,从模板和变量的绑定关系中查询出该模板使用到了哪些模板变量;
步骤三,从数据集中获取变量具体值,具体地,通过模板变量与Dataset实例的绑定关系,定位至具体的Dataset,获取变量对应的具体值;
步骤四,将变量值发送至Feemaker引擎进行模板渲染,具体地,系统首先根据模板的唯一标识从本地缓存中查找是否有该模板的Freemarker实例,若实例不存在表示该模板尚未加载,系统会首先初始化一个模板实例同时放入本地缓存中。若实例存在,会对比该模板实例的版本号是否与数据库中的模板版本号一致,若不一致则重新加载该模板。获取模板实例后,将模板实例与变量值一同传入freemarker进行渲染,得到最终的邮件内容。
步骤五,向客户人员返回邮件内容,具体地,前台在获取到后台返回的邮件内容后,将内容置入编辑器,供客服人员做最后的确认以及修饰工作。
上述的Feemaker渲染引擎也可以使用Veloci ty,thymeleaf作为底层技术进行替代。
图5是根据本申请实施例一的渲染得到反馈信息的示意图,如图5所示,渲染引擎将变量Variable和模板Template相结合生成邮件信函,Variable中包括系统System和嵌入模板Embedded,以及用户定义的数据User defined,以及数据集XDataset。模板包括Freemaker实例和本地缓存LocalCache。
采用上述方案,为了可以在系统中使用所有业务数据,将所有业务系统都整合为一个系统,可以在同一个系统内管理业务对象的字段以及对字段进行取值。可预见的是一旦企业到达一种体量后,系统将会变得极为庞大和复杂,无法进行分布式,一旦触达计算机单机承载上限,则业务无法继续扩展,企业发展受到限制。
即将变量通过硬编码方式固化与系统当中的方式。每增加一个变量都需要编写新的代码,并且需要重新启动系统,对于业务上的需求响应很慢。只能支持少量的变量,对于变量的管理需要进一步提升。
通过字符串替换的方式渲染模板,既通过直接操作字符串,将“邮件模板”中的变量替换为实际值,效率有限,可以的话,需要在“邮件模板”中实现列表,条件判断等复杂逻辑。
采用上述方案,一是,通过Dataset实现变量的非硬编码管理变量Dataset是对外部系统数据的一种抽象,通过Dataset,可以实现零编码的方式将非存储在本系统数据库中的外部系统的业务数据接入本模板变量系统,将Dataset中的字段与模板变量管理系统进行关联,从而可以在邮件模板中任意引用外部业务系统的数据,而无需将外部系统的数据以硬编码的方式放置在需要使用该数据的本平台系统中。在分布式环境中,这种引用可以极大化的扩张,而不需要考虑计算机单机的承载上限。二是,基于Freemarker的模板渲染引擎模板渲染引擎的职责是将变量的值连同邮件模板一同渲染为最终的邮件内容,使用Freemarker引擎,除了进行普通的变量替换以外,还可以支持如列表,条件判断,循环等多种展示方式。因为Freemarker的模板实例比较占用资源,此处采用本地LRU缓存的方式将模板实例先行加载入内存中,供渲染时直接调用。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例二
根据本申请实施例,还提供了一种用于实施上述反馈信息的生成装置,图6是根据本申请实施例二的一种反馈信息的生成装置,如图6所示,该装置包括:
确定模块62,用于确定待使用模板;
查询模块64,用于通过第一绑定关系查询所述待使用模板所需的模板变量;
获取模块66,用于通过第二绑定关系获取所述模板变量的变量值;
生成模块68,用于采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
可选地,该装置可以运行于工作人员的计算机终端上,也可以运行于企业服务器上,后续生成待确认的反馈信息之后再发送至企业工作人员的终端。
在本申请实施例中,确定待使用模板,通过第一绑定关系查询所述待使用模板所需的模板变量,通过第二绑定关系获取所述模板变量的变量值,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。采用上述方案,在编写信息时,先确定待使用模板,通过对应关系查询到该模板中的应当添加的变量的变量值,将变量值加入模板,生成待工作人员最终确认的反馈信息,大量减少了工作人员的工作量,提升了信息回复的效率,解决了相关技术中人工编写信息效率低下的技术问题。
可选地,获取模块66还用于通过所述第二绑定关系获取与所述模板变量对应的数据集,其中,所述数据集存储于外部服务器;以及用于经由所述外部服务器提供的数据接口将所述模板变量与所述数据集进行关联,以便从所述数据集中获取所述变量值。
可选地,所述生成模块还用于通过所述待使用模板的标识信息确定本地缓存中未存在对应的模板实例;以及用于根据所述标识信息生成所述模板实例,并将所述模板实例加载至所述本地缓存;以及用于将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选地,所述生成模块还用于通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;以及用于在确定所述模板实例的版本号与所述待使用模板的版本号一致时,将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选地,所述生成模块还用于通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;以及用于在确定所述模板实例的版本号与所述待使用模板的版本号不一致时,在所述本地缓存中重新加载与所述待使用模板的版本号相适配的模板实例;以及用于将所述重新加载的模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选地,所述生成模块在采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息之后,还用于将所述待确认的反馈信息输出至显示界面的预设编辑器,以便通过所述预设编辑器对所述待确认的反馈信息进行确认。
此处需要说明的是,上述确定模块62、查询模块64、获取模块66和生成模块68对应于实施例一中的步骤S302、S304、S306至步骤S308,模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例三
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行反馈信息的生成方法中以下步骤的程序代码:确定待使用模板;通过第一绑定关系查询所述待使用模板所需的模板变量;通过第二绑定关系获取所述模板变量的变量值;采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
可选地,图7是根据本申请实施例三的一种计算机终端的结构框图,如图7所示,该计算机终端70可以包括:一个或多个(图中仅示出一个)处理器702、存储器704。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的反馈信息的生成方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的反馈信息的生成方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端70。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述终端70:存储介质,用于存储程序,其中,所述程序包括以下步骤:第一步骤,确定待使用模板;第二步骤,通过第一绑定关系查询所述待使用模板所需的模板变量;第三步骤,通过第二绑定关系获取所述模板变量的变量值;第四步骤,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息;处理器,所述处理器运行程序,其中,所述程序运行时执行所述第一步骤至所述第四步骤。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:
确定待使用模板;
通过第一绑定关系查询所述待使用模板所需的模板变量;
通过第二绑定关系获取所述模板变量的变量值;
采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
可选的,上述处理器还可以执行如下步骤的程序代码:通过所述第二绑定关系获取与所述模板变量对应的数据集,其中,所述数据集存储于外部服务器;经由所述外部服务器提供的数据接口将所述模板变量与所述数据集进行关联,以便从所述数据集中获取所述变量值。
可选的,上述处理器还可以执行如下步骤的程序代码:采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:通过所述待使用模板的标识信息确定本地缓存中未存在对应的模板实例;根据所述标识信息生成所述模板实例,并将所述模板实例加载至所述本地缓存;将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述处理器还可以执行如下步骤的程序代码:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号一致时,将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述处理器还可以执行如下步骤的程序代码:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号不一致时,在所述本地缓存中重新加载与所述待使用模板的版本号相适配的模板实例;将所述重新加载的模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述处理器还可以执行如下步骤的程序代码:将所述待确认的反馈信息输出至显示界面的预设编辑器,以便通过所述预设编辑器对所述待确认的反馈信息进行确认。
采用本申请实施例,提供了一种反馈信息的生成的方案。采用上述方案,在编写信息时,先确定待使用模板,通过对应关系查询到该模板中的应当添加的变量的变量值,将变量值加入模板,生成待工作人员最终确认的反馈信息,大量减少了工作人员的工作量,提升了信息回复的效率,解决了相关技术中人工编写信息效率低下的技术问题。
本领域普通技术人员可以理解,图7所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的反馈信息的生成方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
确定待使用模板;
通过第一绑定关系查询所述待使用模板所需的模板变量;
通过第二绑定关系获取所述模板变量的变量值;
采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
可选的,上述存储介质被设置为存储用于执行以下步骤的程序代码:通过所述第二绑定关系获取与所述模板变量对应的数据集,其中,所述数据集存储于外部服务器;经由所述外部服务器提供的数据接口将所述模板变量与所述数据集进行关联,以便从所述数据集中获取所述变量值。
可选的,上述存储介质被设置为存储用于执行以下步骤的程序代码:采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:通过所述待使用模板的标识信息确定本地缓存中未存在对应的模板实例;根据所述标识信息生成所述模板实例,并将所述模板实例加载至所述本地缓存;将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述存储介质被设置为存储用于执行以下步骤的程序代码:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号一致时,将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述存储介质被设置为存储用于执行以下步骤的程序代码:通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;在确定所述模板实例的版本号与所述待使用模板的版本号不一致时,在所述本地缓存中重新加载与所述待使用模板的版本号相适配的模板实例;将所述重新加载的模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
可选的,上述存储介质被设置为存储用于执行以下步骤的程序代码:将所述待确认的反馈信息输出至显示界面的预设编辑器,以便通过所述预设编辑器对所述待确认的反馈信息进行确认。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种反馈信息的生成方法,其特征在于,包括:
确定待使用模板;
通过第一绑定关系查询所述待使用模板所需的模板变量;
通过第二绑定关系获取所述模板变量的变量值;
采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
2.根据权利要求1所述的方法,其特征在于,通过所述第二绑定关系获取所述模板变量的所述变量值包括:
通过所述第二绑定关系获取与所述模板变量对应的数据集,其中,所述数据集存储于外部服务器;
经由所述外部服务器提供的数据接口将所述模板变量与所述数据集进行关联,以便从所述数据集中获取所述变量值。
3.根据权利要求1所述的方法,其特征在于,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:
通过所述待使用模板的标识信息确定本地缓存中未存在对应的模板实例;
根据所述标识信息生成所述模板实例,并将所述模板实例加载至所述本地缓存;
将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
4.根据权利要求1所述的方法,其特征在于,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:
通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;
在确定所述模板实例的版本号与所述待使用模板的版本号一致时,将所述模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
5.根据权利要求1所述的方法,其特征在于,采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息包括:
通过所述待使用模板的标识信息确定本地缓存中存在对应的模板实例;
在确定所述模板实例的版本号与所述待使用模板的版本号不一致时,在所述本地缓存中重新加载与所述待使用模板的版本号相适配的模板实例;
将所述重新加载的模板实例和所述变量值共同作为所述预设模板渲染引擎的输入参数,经过所述预设模板渲染引擎的渲染处理,生成所述待确认的反馈信息。
6.根据权利要求1所述的方法,其特征在于,在采用所述预设模板渲染引擎将所述模板变量替换为所述变量值,生成所述待确认的反馈信息之后,还包括:
将所述待确认的反馈信息输出至显示界面的预设编辑器,以便通过所述预设编辑器对所述待确认的反馈信息进行确认。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的反馈信息的生成方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的反馈信息的生成方法。
9.一种反馈信息的生成装置,其特征在于,包括:
确定模块,用于确定待使用模板;
查询模块,用于通过第一绑定关系查询所述待使用模板所需的模板变量;
获取模块,用于通过第二绑定关系获取所述模板变量的变量值;
生成模块,用于采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息。
10.一种终端,其特征在于,包括:
存储介质,用于存储程序,其中,所述程序包括以下步骤:
第一步骤,确定待使用模板;
第二步骤,通过第一绑定关系查询所述待使用模板所需的模板变量;
第三步骤,通过第二绑定关系获取所述模板变量的变量值;
第四步骤,采用预设模板渲染引擎将所述模板变量替换为所述变量值,生成待确认的反馈信息;
处理器,所述处理器运行程序,其中,所述程序运行时执行所述第一步骤至所述第四步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811132007.3A CN110969001B (zh) | 2018-09-27 | 2018-09-27 | 反馈信息的生成方法及装置、存储介质、处理器和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811132007.3A CN110969001B (zh) | 2018-09-27 | 2018-09-27 | 反馈信息的生成方法及装置、存储介质、处理器和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110969001A true CN110969001A (zh) | 2020-04-07 |
CN110969001B CN110969001B (zh) | 2023-05-02 |
Family
ID=70026523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811132007.3A Active CN110969001B (zh) | 2018-09-27 | 2018-09-27 | 反馈信息的生成方法及装置、存储介质、处理器和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110969001B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112083926A (zh) * | 2020-09-10 | 2020-12-15 | 武汉开目信息技术股份有限公司 | 一种Web用户界面生成方法及装置 |
CN112104544A (zh) * | 2020-09-08 | 2020-12-18 | 紫光云(南京)数字技术有限公司 | 一种基于FreeMarker发送动态邮件的方法及装置 |
CN112487163A (zh) * | 2020-11-30 | 2021-03-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
CN112508531A (zh) * | 2020-12-16 | 2021-03-16 | 平安银行股份有限公司 | 邮件收发动态控制方法、装置、电子设备及存储介质 |
CN113076406A (zh) * | 2021-03-19 | 2021-07-06 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN113176897A (zh) * | 2021-04-29 | 2021-07-27 | 北京字跳网络技术有限公司 | 一种信息处理方法、装置、终端设备及存储介质 |
CN113569039A (zh) * | 2021-08-04 | 2021-10-29 | 京东科技控股股份有限公司 | 咨询结果的生成方法、装置、电子设备和存储介质 |
CN113992765A (zh) * | 2021-12-28 | 2022-01-28 | 北京南天信息工程有限公司 | 一种基于FreeMarker模板引擎的金融报文转换方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226619A (zh) * | 2007-01-17 | 2008-07-23 | 阿里巴巴公司 | 实现统计邮件中超链接url点击率的系统及方法 |
US20120072455A1 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
CN107146095A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种邮件的展示信息处理方法、装置及邮件系统 |
CN108259553A (zh) * | 2017-10-09 | 2018-07-06 | 平安科技(深圳)有限公司 | 业务邮件的发送方法及终端设备 |
CN108520422A (zh) * | 2018-03-29 | 2018-09-11 | 广东欧珀移动通信有限公司 | 一种信息处理方法、信息处理装置及电子设备 |
-
2018
- 2018-09-27 CN CN201811132007.3A patent/CN110969001B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226619A (zh) * | 2007-01-17 | 2008-07-23 | 阿里巴巴公司 | 实现统计邮件中超链接url点击率的系统及方法 |
US20120072455A1 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
CN107146095A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种邮件的展示信息处理方法、装置及邮件系统 |
CN108259553A (zh) * | 2017-10-09 | 2018-07-06 | 平安科技(深圳)有限公司 | 业务邮件的发送方法及终端设备 |
CN108520422A (zh) * | 2018-03-29 | 2018-09-11 | 广东欧珀移动通信有限公司 | 一种信息处理方法、信息处理装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
SHO SAKAINO等: "Resonance Suppression of Electro-hydrostatic Actuator by Full State Feedback Controller Using Load-side Information and Relative Velocity" * |
张晶;黄小锋;: "基于业务模型和界面模型的代码生成工具" * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104544A (zh) * | 2020-09-08 | 2020-12-18 | 紫光云(南京)数字技术有限公司 | 一种基于FreeMarker发送动态邮件的方法及装置 |
CN112104544B (zh) * | 2020-09-08 | 2022-05-10 | 紫光云(南京)数字技术有限公司 | 一种基于FreeMarker发送动态邮件的方法及装置 |
CN112083926A (zh) * | 2020-09-10 | 2020-12-15 | 武汉开目信息技术股份有限公司 | 一种Web用户界面生成方法及装置 |
CN112487163A (zh) * | 2020-11-30 | 2021-03-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
CN112487163B (zh) * | 2020-11-30 | 2024-04-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
CN112508531A (zh) * | 2020-12-16 | 2021-03-16 | 平安银行股份有限公司 | 邮件收发动态控制方法、装置、电子设备及存储介质 |
CN113076406A (zh) * | 2021-03-19 | 2021-07-06 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN113176897A (zh) * | 2021-04-29 | 2021-07-27 | 北京字跳网络技术有限公司 | 一种信息处理方法、装置、终端设备及存储介质 |
CN113569039A (zh) * | 2021-08-04 | 2021-10-29 | 京东科技控股股份有限公司 | 咨询结果的生成方法、装置、电子设备和存储介质 |
CN113992765A (zh) * | 2021-12-28 | 2022-01-28 | 北京南天信息工程有限公司 | 一种基于FreeMarker模板引擎的金融报文转换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110969001B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110969001B (zh) | 反馈信息的生成方法及装置、存储介质、处理器和终端 | |
CN109325729B (zh) | 一种生成电子合同的方法及服务器 | |
CN111614718A (zh) | 一种企业通信渠道融合方法、装置、设备及可读存储介质 | |
CN110716951B (zh) | 方便配置的标签配置方法、装置、设备及存储介质 | |
US20180332102A1 (en) | Cloud-based system for collaborating engineering, operations, maintenance, project management, procurement and vendor data and activities | |
CN110738038A (zh) | 合同文本的生成方法、装置、设备及计算机可读存储介质 | |
CN111552712A (zh) | 报表数据提取方法、装置及计算机设备 | |
CN113312083B (zh) | 应用生成方法、装置及设备 | |
CN110599354A (zh) | 线上对账方法、系统、计算机设备和计算机可读存储介质 | |
CN110766521A (zh) | 采购订单生成方法、装置、系统和存储介质 | |
CN110688236A (zh) | 信息触达方法、系统和终端设备 | |
US20140143293A1 (en) | Managing Assets | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN114386934A (zh) | 用于业务流程的生成方法及装置、服务器、存储介质 | |
CN109213782B (zh) | 搜索界面的配置、显示方法、装置及通信设备 | |
CN115659935A (zh) | 文件生成方法、装置、存储介质以及电子设备 | |
CN112650522A (zh) | 平台动态配置的方法、装置、存储介质及设备 | |
CN108551418B (zh) | 一种消息平台管理方法、装置、设备及存储介质 | |
CN111553655A (zh) | 经办历史的展现方法及系统 | |
CN108830441B (zh) | 资源查询的方法和装置 | |
CN106970780B (zh) | 一种数据交互方法及装置 | |
CN114282760A (zh) | 一种结合动态表单和动态流程的工作流生成方法及装置 | |
CN112330304A (zh) | 一种合同审批方法和装置 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN111597784A (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 |