掌桥专利:专业的专利平台
掌桥专利
首页

工单处理方法与装置、电子设备和计算机可读存储介质

文献发布时间:2023-06-19 11:45:49


工单处理方法与装置、电子设备和计算机可读存储介质

技术领域

本公开涉及信息安全技术领域,更具体地,涉及一种工单处理方法与装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

持卡人在购物后,因为某种原因拒绝支付货款(如未收到货,黑卡、盗刷卡等),金融机构需要对拒付工单(拒付工单内包含根据不同卡组织生成的交易业务信息)进行处理。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在处理拒付业务时,针对不同卡组织都需要创建信息录入页面,定义数据传送接口,再根据业务逻辑处理拒付信息,最后生成拒付工单并返回给业务人员。如此下来,处理过程繁琐且灵活性不足,并且业务信息处理方法冗余,不仅拉长了新卡组织的接入周期,还浪费人工成本。

发明内容

有鉴于此,本公开提供了一种工单处理方法与装置、电子设备、计算机可读存储介质和计算机程序产品。

本公开的一个方面提供了一种工单处理方法,包括:

获取待处理工单的拒付信息,其中待处理工单的拒付信息包括待处理工单的卡组织信息以及业务交易信息;根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,其中业务数据对象用于存储各个卡组织下的多种业务类型拒付工单的业务处理方法;根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法;以及按照与待处理工单匹配的业务处理方法对待处理工单进行处理。

根据本公开的实施例,还包括,在获取待处理工单的拒付信息前:配置业务模型元数据,其中业务模型元数据中包含多个卡组织类型、各个卡组织下的多种业务类型、各种业务类型下的拒付工单的业务处理方法、与各种业务类型相关的数据类型、以及与各种业务类型相关的数据字典;将业务模型元数据写入数据库中;将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象。

根据本公开的实施例,其中:业务模型元数据的模型结构包括根节点、一级子节点、以及二级子节点。其中,配置业务模型元数据包括:将卡组织类型配置为根节点;将卡组织下的多种业务类型配置为一级子节点;以及将业务类型下的拒付工单的业务处理方法、与业务类型相关的数据类型、以及与业务类型相关的数据字典配置为二级子节点。

根据本公开的实施例,其中,业务数据对象包括与卡组织类型对应的根节点对象、与业务类型对应的一级子节点对象、以及与业务类型下的拒付工单的业务处理方法对应的二级子节点对象。

其中,将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象包括:将卡组织类型加载为与卡组织类型对应的根节点对象;将业务类型加载为业务类型对应的一级子节点对象;

将拒付工单的业务处理方法、数据类型、以及数据字典加载为与业务类型下的拒付工单的业务处理方法对应的二级子节点对象;将同一业务类型的二级子节点对象组装为二级子节点集合、并二级子节点集合将放入与业务类型对应的一级子节点对象中;将同一卡组织类型的一级子节点对象组装为一级子节点集合、并将一级子节点集合将放入与卡组织类型对应的根节点对象中。

根据本公开的实施例,还包括:在将业务模型元数据写入数据库后,根据业务模型元数据渲染拒付信息录入页面,其中拒付信息录入页面用于供业务人员录入拒付信息。

根据本公开的实施例,根据业务模型元数据渲染拒付信息录入页面包括:接收来自客户端的待处理工单卡组织信息;根据待处理工单卡组织信息读取相应卡组织类型的业务模型元数据;根据相应卡组织下的业务类型、以及与相应业务类型相关的数据类型、与相应业务类型相关的数据字典渲染拒付信息录入页面。

根据本公开的实施例,其中获取待处理工单的拒付信息包括:接收来自客户端的加密拒付信息,其中,加密拒付信息为被客户端加密待处理工单后得到的信息;对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,对加密拒付信息进行解密获取待处理工单的拒付信息包括:接收来自客户端的加密密钥,其中,加密密钥采用非对称加密法加密生成;利用预存的私钥,采用非对称解密法对加密密钥进行解密,以获得解密密钥;利用解密密钥,采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,还包括,在采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息后:按照预设规则从解密后的待处理工单的拒付信息选取目标字段;将目标字段与来自客户端的时间戳进行拼接,以获得拼接字段;利用预设算法对拼接字段进行处理,以生成长字符串;按照预设方式从长字符串中截取特定数量的字符,以生成目标字符串;将目标字符串与解密密钥进行比对;根据比对结果判断解密后的待处理工单的拒付信息是否可信。

本公开的另一个方面提供了一种工单处理装置,该装置包括获取模块、读取模块、查找模块和处理模块。

其中,获取模块,用于获取待处理工单的拒付信息,其中待处理工单的拒付信息包括待处理工单的卡组织信息以及业务交易信息。读取模块,用于根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,其中业务数据对象用于存储各个卡组织下的多种业务类型拒付工单的业务处理方法。查找模块,用于根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法。处理模块,用于按照与待处理工单匹配的业务处理方法对待处理工单进行处理。

根据本公开的实施例,上述工单处理装置还包括配置模块、写入模块、加载模块、以及解析模块。

其中配置模块,用于配置业务模型元数据,其中业务模型元数据中包含多个卡组织类型、各个卡组织下的多种业务类型、各种业务类型下的拒付工单的业务处理方法、与各种业务类型相关的数据类型、以及与各种业务类型相关的数据字典。写入模块,用于将业务模型元数据写入数据库中。加载模块,用于将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象。

根据本公开的实施例,业务模型元数据的模型结构包括根节点、一级子节点、以及二级子节点。

其中,上述配置模块还包括第一配置单元、第二配置单元以及第三配置单元。

其中,第一配置单元,用于将卡组织类型配置为根节点。第二配置单元,用于将卡组织下的多种业务类型配置为一级子节点。第三配置单元,用于将业务类型下的拒付工单的业务处理方法、与业务类型相关的数据类型、以及与业务类型相关的数据字典配置为二级子节点。

根据本公开的实施例,业务数据对象包括与卡组织类型对应的根节点对象、与业务类型对应的一级子节点对象、以及与业务类型下的拒付工单的业务处理方法对应的二级子节点对象。

其中,加载模块包括根节点加载单元、一级子节点加载单元、二级子节点加载单元、第一组装单元和第二组装单元。

根节点加载单元,用于将卡组织类型加载为与卡组织类型对应的根节点对象;一级子节点加载单元,用于将业务类型加载为业务类型对应的一级子节点对象;二级子节点加载单元,用于将拒付工单的业务处理方法、数据类型、以及数据字典加载为与业务类型下的拒付工单的业务处理方法对应的二级子节点对象;第一组装单元,用于将同一业务类型的二级子节点对象组装为二级子节点集合、并二级子节点集合将放入与业务类型对应的一级子节点对象中;第二组装单元,用于将同一卡组织类型的一级子节点对象组装为一级子节点集合、并将一级子节点集合将放入与卡组织类型对应的根节点对象中。

根据本公开的实施例,上述工单处理装置还包括渲染模块。

其中,渲染模块,用于在将业务模型元数据写入数据库后,根据业务模型元数据渲染拒付信息录入页面,其中拒付信息录入页面用于供业务人员录入拒付信息。

根据本公开的实施例,上述渲染模块包括第一接收单元、读取单元、以及渲染单元。

其中第一接收单元,用于接收来自客户端的待处理工单卡组织信息。读取单元,用于根据待处理工单卡组织信息读取相应卡组织类型的业务模型元数据。渲染单元,用于根据相应卡组织下的业务类型、以及与相应业务类型相关的数据类型、与相应业务类型相关的数据字典渲染拒付信息录入页面。

根据本公开的实施例,上述获取模块包括第二接收单元和解密单元。

其中第二接收单元,用于接收来自客户端的加密拒付信息,其中,加密拒付信息为被客户端加密待处理工单后得到的信息。解密单元,用于对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,上述解密单元包括接收子单元、第一解密子单元和第二解密子单元。

其中接收子单元,用于接收来自客户端的加密密钥,其中,加密密钥采用非对称加密法加密生成。第一解密子单元,用于利用预存的私钥,采用非对称解密法对加密密钥进行解密,以获得解密密钥。第二解密子单元,用于利用解密密钥,采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,上述解密单元还包括选取子单元、拼接子单元、处理子单元、截取子单元、比对子单元以及判断子单元。

其中,选取子单元,用于按照预设规则从解密后的待处理工单的拒付信息选取目标字段。拼接子单元,用于将目标字段与来自客户端的时间戳进行拼接,以获得拼接字段。处理子单元,用于利用预设算法对拼接字段进行处理,以生成长字符串。截取子单元,用于按照预设方式从长字符串中截取特定数量的字符,以生成目标字符串。比对子单元,用于将目标字符串与解密密钥进行比对。判断子单元,用于根据比对结果判断解密后的待处理工单的拒付信息是否可信。

本公开的另一方面提供了一种电子设备,该电子设备包括:一个或多个处理器、以及存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上的工单处理方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上的工单处理方法。

本公开的另一方面提供了一种计算机程序产品,计算机程序产品包括计算机可执行指令,上述指令在被执行时用于实现如上的工单处理方法。

根据本公开的实施例,因为预先设置的业务数据对象中存储有各个卡组织下的多种业务类型拒付工单的业务处理方法,因此可以根据待处理工单的卡组织信息,直接读取与待处理工单的卡组织匹配的业务数据对象,进而在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法,对工单进行处理,实现了基于业务数据对象快速搭建卡组织拒付信息处理过程的目的。因此不需要针对不同卡组织去执行一系列繁琐的操作(如创建信息录入页面,定义数据传送接口,再根据业务逻辑处理拒付信息等),至少部分地克服了现有技术中处理过程繁琐且灵活性不足,并且业务信息处理方法冗余的技术问题,进而达到了缩短新卡组织的接入周期,节约人工成本的技术效果。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了可以应用本公开的方法和装置的示例性系统架构;

图2示意性示出了根据本公开实施例的工单处理方法的流程图;

图3示意性示出了根据本公开另一实施例的工单处理方法的流程图;

图4示意性示出了根据本公开另一实施例的工单处理方法的流程图;

图5示意性示出了根据本公开实施例的业务模型元数据的结构图;

图6示意性示出了根据本公开实施例的业务模型元数据的存储方式示意图;

图7示意性示出了根据本公开实施例的根据所述业务模型元数据渲染拒付信息录入页面的方法示意图;

图8示意性示出了根据本公开实施例的对待处理工单的拒付信息进行加密和解密的方法示意图;

图9示意性示出了可应用本公开实施例的工单处理方法的示例性应用场景;

图10示意性示出了根据本公开实施例的工单处理装置的框图;

图11示意性示出了根据本公开实施例的加载模块的框图;

图12示意性示出了根据本公开实施例的用于实现工单处理方法的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

图1示意性示出了可以应用本公开的方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、服务器102和数据库103。终端设备101、服务器102和数据库103相互之间可通过网络进行数据传输,网络可以包括各种连接类型,例如有线和/或无线通信链路等等。

终端设备101可以是具有显示屏并且支持页面浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器102可以对接收到的来自终端设备101用户请求等数据进行分析等处理,并从数据库103中获取数据信息,将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备101。

数据库103也可采用数据库集群,其类型可以是关系型数据库,也可以是非关系型数据库。数据库103中预存有预先配置的业务模型元数据,业务模型元数据中存储有各个卡组织下的多种业务类型拒付工单的业务处理方法。

本公开的应用场景下,持卡人在购物后,因为某种原因拒绝支付货款(如未收到货,黑卡、盗刷卡等),金融机构需要对拒付工单(拒付工单内包含根据不同卡组织生成的交易业务信息)进行处理。金融机构的业务人员通过终端设备101录入拒付信息,并通过终端设备101向服务器102发起对待处理工单进行处理的请求,服务器102根据待处理工单的拒付信息从数据库103中读取并匹配与拒付信息匹配的业务处理方法,并利用获取业务处理方法待处理工单进行处理,并将处理结果返回给业务人员。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

需要说明的是,本公开的工单处理方法与装置可用于信息安全技术领域,也可用于除信息安全之外的其他领域,本公开对该工单处理方法与装置的应用领域不做限定。

图2示意性示出了根据本公开实施例的工单处理方法的流程图。

如图2所示,该方法包括操作S201~S204。

在操作S201,获取待处理工单的拒付信息,其中待处理工单的拒付信息包括待处理工单的卡组织信息以及业务交易信息。本公开的应用场景下,服务器在对待处理拒付工单进行处理前,首先需要获取待处理工单的拒付信息,可通过金融机构的业务人员在客户端录入拒付信息获得。待处理工单的拒付信息,包括待处理工单的卡组织信息以及业务交易信息。

其中,卡组织信息包括卡组织类型,即该笔交易涉及的账户所属的卡组织类型,如MASTER卡、或VISA卡、或JCB卡等。

其中,业务交易信息为与该笔差错交易相关的交易信息,包括该笔交易涉及的业务类型,例如包括但不限于交易来源信息(如来源于POS机刷卡、或支付宝或者微信转账等)、根据卡号信息确定的账户类型(如信用卡账户、普通账户之类的)、交易金额信息等。

在操作S202,根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,其中业务数据对象用于存储各个卡组织下的多种业务类型拒付工单的业务处理方法。

在操作S203,根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法。

根据本公开的实施例,业务数据对象为预先设置的存储有各个卡组织下的多种业务类型拒付工单的业务处理方法的模型数据对象。在每一种类型的卡组织下,按照多个业务类型维度(交易来源、账户类型、交易金额等)、在每一种业务类型维度下都预设有与其对应的业务处理方法。根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,如根据交易账户确定为涉及该笔差错交易的账户为MASTER卡,则直接读取与MASTER卡组织相关的业务数据对象,在业务数据对象中,存储有针对MASTER卡的多个业务类型维度(交易来源、账户类型、交易金额等)的业务处理方法。

根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法后,在操作S204,按照与待处理工单匹配的业务处理方法对待处理工单进行处理。并利用业务处理方法对待处理工单进行处理,并将处理结果返回给业务人员。

根据本公开的实施例,因为预先设置的业务数据对象中存储有各个卡组织下的多种业务类型拒付工单的业务处理方法,因此可以根据待处理工单的卡组织信息,直接读取与待处理工单的卡组织匹配的业务数据对象,进而在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法,对工单进行处理,实现了基于业务数据对象快速搭建卡组织拒付信息处理过程的目的。因此不需要针对不同卡组织去执行一系列繁琐的操作(如创建信息录入页面,定义数据传送接口,再根据业务逻辑处理拒付信息等),至少部分地克服了现有技术中处理过程繁琐且灵活性不足,并且业务信息处理方法冗余的技术问题,进而达到了缩短新卡组织的接入周期,节约人工成本的技术效果。

图3示意性示出了根据本公开另一实施例的工单处理方法的流程图。如图3所示,该方法包括操作S301~S306。

其中,根据本公开的实施例,S301~S303的具体操作同图2中所示操作S201~S203,在此省略其描述,以下介绍S304~S306。

在操作S304,按照与待处理工单匹配的业务处理方法对待处理工单进行处理,完成各业务场景中各业务信息的处理。其中,执行业务处理方法时,可采用多线程并行处理的方式,以提高处理速度,可通过线程池控制并行执行的数量,每个线程执行的方式相同。当所有执行线程结束后,在操作S305汇总处理结果,在操作S306生成工单数据,以便将处理结果返回给业务人员。

图4示意性示出了根据本公开另一实施例的工单处理方法的流程图。如图4所示,该方法包括操作S401~S407。

在操作S401,配置业务模型元数据,其中所述业务模型元数据中包含多个卡组织类型、各个卡组织下的多种业务类型、各种业务类型下的拒付工单的业务处理方法、与各种所述业务类型相关的数据类型、以及与各种所述业务类型相关的数据字典。

图5示意性示出了根据本公开实施例的业务模型元数据的结构图。

根据本公开的实施例,业务模型元数据主要存储不同卡组织业务逻辑信息,如图5所示,其内部为倒树形结构。业务模型元数据的模型结构包括根节点501、一级子节点502、以及二级子节点503。

预先搜集各种业务类型下的拒付工单的业务处理方法,作为配置业务模型元数据的基础数据信息。上述配置业务模型元数据的方法为:

(1)将卡组织类型配置为根节点501,即每个卡组织类型创建一个业务模型元数据,根节点501为卡组织类型的模型名称,如MASTER、或VISA、或JCB等,属性包括id和name。

(2)将卡组织下的多种业务类型配置为一级子节点502,按照多个业务类型维度(交易来源、账户类型、交易金额等)来配置一级子节点502,每种业务类型维度配置一个一级子节点502,属性包括id、name和value。

(3)将每种业务类型下的拒付工单的业务处理方法、与业务类型相关的数据类型、以及与业务类型相关的数据字典配置为二级子节点503。即将每种业务类型维度下对应的业务处理方法、数据类型、以及与该业务类型相关的数据字典(数据字典按实际需求配置,在某些情况下可以不配置数据字典)配置在对应的业务类型维度下的二级子节点503中,属性包括id、name和instance。

在操作S402,将业务模型元数据写入数据库中。

图6示意性示出了根据本公开实施例的业务模型元数据的存储方式示意图。每个业务模型元数据均存储在分布式数据库中,分布式数据库可选用关系型数据库,或者非关系型数据库。如选用基于MongoDB搭建的非关系型分布式数据库服务,具有与业务模型元数据更好的匹配性能。如图6所示,分布式数据库由3个数据库服务节点(节点1、节点2和节点3,统称为数据库集群601)和一个数据路由器602组成。每个服务节点均存储业务模型元数据,节点与节点直接保证数据同步。

每个业务模型元数据均存储在分布式数据库中,这样既能保证业务模型元数据读取的时效性同时也能保证业务模型元数据读取的高可用性。另外,业务模型元数据独立于拒付系统之外,且通过分布式数据库存储,可直接新增卡组织元数据信息,实现不停机接入新卡组织,实现了高动态性。还可以直接在分布式数据库中修改业务模型元数据,以增加新的业务处理方法,可扩展性好。

在操作S403,将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象。

根据本公开的实施例,因为预先将业务模型元数据从数据库加载至服务器缓存中,后续可直接从服务器缓存中读取业务模型元数据,提高了数据读取速度和处理速度。

根据本公开的实施例,其中,业务数据对象包括与卡组织类型对应的根节点对象、与业务类型对应的一级子节点对象、以及与业务类型下的拒付工单的业务处理方法对应的二级子节点对象。

在上述操作S403中,将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象的具体方法包括:

(1)将卡组织类型加载为与卡组织类型对应的根节点对象。首先读取业务模型元数据,并创建基础模型对象,即根节点对象,读取业务模型元数据中根节点信息并设置模型对象的id和name属性,用以表示当前模型。

(2)将业务类型加载为业务类型对应的一级子节点对象。读取业务模型元数据内的一级子节点数据,针对读取到的每一个节点数据创建一个一级子节点对象,并设置其id和name属性。

(3)将拒付工单的业务处理方法、数据类型、以及数据字典加载为与业务类型下的拒付工单的业务处理方法对应的二级子节点对象。具体方法为:进入业务模型元数据的一级子节点内部,读取其二级子节点数据。每个一级子节点内包含若干个二级子节点,将读取到的每一个二级子节点创建一个二级子节点对象,并设置其id、name和instance属性。

(4)循环上述操作,待所有二级子节点读取完毕,将同一业务类型的二级子节点对象组装为二级子节点集合、并二级子节点集合将放入与业务类型对应的一级子节点对象中。

(5)循环上述操作,直至所有一级子节点加载完成。当所有一级子节点都加载并创建对象完毕后,将同一卡组织类型的一级子节点对象组装为一级子节点集合、并将一级子节点集合将放入与卡组织类型对应的根节点对象中。

在操作S404,获取待处理工单的拒付信息,其中待处理工单的拒付信息包括待处理工单的卡组织信息以及业务交易信息,该操作的具体方法参考操作S201中方法。

在操作S405,根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,其中业务数据对象用于存储各个卡组织下的多种业务类型拒付工单的业务处理方法。首先,根据传入的卡组织业务信息匹配加载至服务器缓存中的业务数据对象,具体地,读取业务数据对象中一级子节点对象集合,取出其中一个字段信息一级子节点对象,针对该一级子节点对象,继续读取其二级子节点对象集合。取出二级子节点对象集合中的每个二级子节点对象,读取其instance属性,并通过java语言的类加载器(ClassLoader)加载实例程序。

在操作S406,根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法。

在操作S407,按照与待处理工单匹配的业务处理方法对待处理工单进行处理。调用执行实例程序的接口来完成业务字段处理,这些实例程序可以看做是多个小型数据处理器,将字段信息节点的数据根据不同业务规则进行处理,诸如格式处理、内容枚举校验、数据传递等。在执行一个业务处理方法后,将处理结果写入对应的二级子节点对象内,当处理完一个一级子节点下的所有二级子节点对象后,将所有的处理结果汇总到一级子节点对象内,至此,完成了与这个一级子节点对象对应的待处理工单的处理。

其中,执行业务处理方法时,可采用多线程并行处理的方式,处理一个业务数据对象的各个字段信息节点对象,以提高处理速度,可通过线程池控制并行执行的数量,每个线程执行的方式相同。当各个线程执行各字段信息节点对象处理时,模型执行器主线程处于等待状态,不会继续执行。当所有字段信息节点对象的执行线程都结束后,继续向后完成执行结果汇总,然后将结果返回客户端。

根据本公开的实施例,在将业务模型元数据写入数据库后,根据业务模型元数据渲染拒付信息录入页面,其中拒付信息录入页面用于供业务人员录入拒付信息。

图7示意性示出了根据本公开实施例的根据业务模型元数据渲染拒付信息录入页面的方法示意图。

具体地,根据业务模型元数据渲染拒付信息录入页面的方法为:

接收来自客户端的待处理工单卡组织信息,然后根据待处理工单卡组织信息读取相应卡组织类型的业务模型元数据,将业务模型元数据中各个节点数据转换为JSON格式数据;最后根据相应卡组织下的业务类型、以及与相应业务类型相关的数据类型、与相应业务类型相关的数据字典渲染拒付信息录入页面。具体地,读取JSON中的相应卡组织下的业务类型、以及与相应业务类型相关的数据类型、与相应业务类型相关的数据字典,根据数据类型(文本、选择框、下拉框)渲染页面,同时加载数据字典到页面进行显示。

根据本公开的实施例,可根据预先配置好的业务模型元数据自动渲染拒付信息录入页面,因此不需要针对不同卡组织去分别创建信息录入页面,提高了处理速度,节约了人工成本和时间成本。

根据本公开的实施例,在图2中操作S201,获取待处理工单的拒付信息包括:接收来自客户端的加密拒付信息,其中,加密拒付信息为被客户端加密待处理工单后得到的信息;以及对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,通过客户端对待处理工单的拒付信息进行加密,通过服务器对加密拒付信息进行解密,获取待处理工单的拒付信息,避免了客户的拒付信息,如客户账号,名称,金额等关键信息直接暴露在传输数据中,降低了被窃取的风险。

根据本公开的实施例,对加密拒付信息进行解密获取待处理工单的拒付信息包括:

接收来自客户端的加密密钥,其中,加密密钥采用非对称加密法加密生成;利用预存的私钥,采用非对称解密法对加密密钥进行解密,以获得解密密钥;利用解密密钥,采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,使用统一加、解密是因为非对称算法特点是公钥公开、私钥仅一份且保密,结合对称加密算法和非对称加密算法搭建的统一加解密模块,使得待处理工单的拒付信息得以安全传输。

根据本公开的实施例,还包括,在采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息后,对解密后的待处理工单的拒付信息进行验证,具体地:

按照预设规则从解密后的待处理工单的拒付信息选取目标字段;

将目标字段与来自客户端的时间戳进行拼接,以获得拼接字段;

利用预设算法对拼接字段进行处理,以生成长字符串;

按照预设方式从长字符串中截取特定数量的字符,以生成目标字符串;

将目标字符串与解密密钥进行比对;

根据比对结果判断解密后的待处理工单的拒付信息是否可信。

根据本公开的实施例,公钥加密私钥解密仅能证明该密文是由相应的卡组织信息加解密,无法证明前端传送数据真实可信;因此,对解密后的待处理工单的拒付信息进行验证,根据约定的个别字段的业务交易信息和时间戳生成动态的对称密钥,可以防重和证明前端数据的真实性。

为了进一步说明上述对待处理工单的拒付信息进行加密和解密的具体方法,以下结合图8进行示例性说明。图8示意性示出了根据本公开实施例的对待处理工单的拒付信息进行加密和解密的方法示意图。

如图8所示,首先根据各个卡组织信息、结合RSA加密算法生成一对公钥和私钥;客户端保存公钥,服务端保存私钥;业务人员成功录入拒付信息后,前端页面截取若干目标字段,加上时间戳,通过MD5或SHA2等散列算法生成长字符串,并取128位字符串,作为对称加密(AES)密钥Key;并通过加密(AES)密钥Key对称加密卡组织拒付信息,生成加密后的卡组织拒付信息SecInfo;同时,通过非对称加密法对Key进行加密,生成加密密钥SecKey;并将加密后的卡组织拒付信息SecInfo、加密密钥SecKey和时间戳一起传送到服务端。

服务端接收到加密后的卡组织拒付信息SecInfo、加密密钥SecKey和时间戳,首先通过预先存储的私钥私将加密密钥SecKey用非对称解密法解密出解密密钥Key,然后再通过解密密钥Key用对称解密法解密加密后的卡组织拒付信息SecInfo得到业务实际录入的拒付信息Info。然后,取出预设数量的若干目标字段、加上前端传回的时间戳,通过与前端相同的散列算法得出长字符串,并根据约定取出128位,与解密密钥Key做比对,若一致则认为传送的Info数据有效。

为了进一步理解对本公开实施例的工单处理方法,以下结合图9进行示例性说明。图9示意性示出了可应用本公开实施例的工单处理方法的示例性应用场景。

如图9所示,首先在服务端配置倒树形结构的业务模型元数据,用于存储不同卡组织业务逻辑信息(参考如图5所示结构)。之后将业务模型元数据写入基于MongoDB搭建的非关系型分布式数据库中,在将业务模型元数据写入数据库后,根据业务模型元数据渲染拒付信息录入页面,其中拒付信息录入页面用于供业务人员录入拒付信息。

另外,服务端根据前端录入的卡组织信息将对应卡组织类型的业务模型元数据从所述数据库加载至服务器缓存中,以及在服务器缓存中将所述业务模型元数据解析为所述业务数据对象,方便后续根据前端传入的待处理工单的拒付信息快速匹配到相应的业务处理方法。

前端业务柜员通过渲染好的拒付信息录入页面录入拒付信息,同时,对拒付信息进行加密后传入服务端。服务端接收到前端传入的加密后的拒付信息,对加密拒付信息进行解密,获取待处理工单的拒付信息。服务端根据待处理工单的拒付信息中的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,并根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法,以及利用业务处理方法对待处理工单进行处理,并将处理结果和工单信息通过前端操作界面展示给业务柜员。

利用业务处理方法对待处理工单进行处理的具体方法,例如,业务柜员输入一笔卡组织类型为MASTER卡的拒付信息,包括该笔差错交易的交易来源信息、卡号信息(账户信息)、持卡人信息、金额信息等业务交易信息,根据这些业务交易信息,服务端采用与之匹配的业务处理方法对该笔交易进行相应的处理,例如,可以调用与该账户类型对应的方法确认该账户是否是正常使用状态,之后可以再调用与该笔交易金额相匹配的处理方法,将这笔差错金额返还至该笔交易涉及的账户。

本公开的实施例还提供了一种工单处理装置1000,图10示意性示出了根据本公开实施例的工单处理装置的框图。

该负载预测装置1000可以用来实现参考图2所示的方法。

如图10所示,负载预测装置1000包括:获取模块1001、读取模块1002、查找模块1003和处理模块1004。

其中,获取模块1001,用于获取待处理工单的拒付信息,其中待处理工单的拒付信息包括待处理工单的卡组织信息以及业务交易信息。读取模块1002,用于根据待处理工单的卡组织信息,读取与待处理工单的卡组织匹配的业务数据对象,其中业务数据对象用于存储各个卡组织下的多种业务类型拒付工单的业务处理方法。查找模块1003,用于根据待处理工单的业务交易信息在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法。处理模块1004,用于按照与待处理工单匹配的业务处理方法对待处理工单进行处理。

根据本公开的实施例,因为预先设置的业务数据对象中存储有各个卡组织下的多种业务类型拒付工单的业务处理方法,因此根据通过获取模块1001获取的待处理工单的卡组织信息,利用读取模块1002直接读取与待处理工单的卡组织匹配的业务数据对象,利用查找模块1003在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法,对工单进行处理,实现了基于业务数据对象快速搭建卡组织拒付信息处理过程的目的。因此不需要针对不同卡组织去执行一系列繁琐的操作(如创建信息录入页面,定义数据传送接口,再根据业务逻辑处理拒付信息等),至少部分地克服了现有技术中处理过程繁琐且灵活性不足,并且业务信息处理方法冗余的技术问题,进而达到了缩短新卡组织的接入周期,节约人工成本的技术效果。

根据本公开的实施例,上述工单处理装置1000还包括配置模块、写入模块、加载模块、以及解析模块。

其中配置模块,用于配置业务模型元数据,其中业务模型元数据中包含多个卡组织类型、各个卡组织下的多种业务类型、各种业务类型下的拒付工单的业务处理方法、与各种业务类型相关的数据类型、以及与各种业务类型相关的数据字典。写入模块,用于将业务模型元数据写入数据库中。加载模块,用于将业务模型元数据从数据库加载至服务器缓存中,以便在服务器缓存中将业务模型元数据解析为业务数据对象。

根据本公开的实施例,业务模型元数据的模型结构包括根节点、一级子节点、以及二级子节点。

其中,上述配置模块还包括第一配置单元、第二配置单元以及第三配置单元。

其中,第一配置单元,用于将卡组织类型配置为根节点。第二配置单元,用于将卡组织下的多种业务类型配置为一级子节点。第三配置单元,用于将业务类型下的拒付工单的业务处理方法、与业务类型相关的数据类型、以及与业务类型相关的数据字典配置为二级子节点。

根据本公开的实施例,业务数据对象包括与卡组织类型对应的根节点对象、与业务类型对应的一级子节点对象、以及与业务类型下的拒付工单的业务处理方法对应的二级子节点对象。

根据本公开的实施例,图11示意性示出了根据本公开实施例的上述工单处理装置1000中的加载模块1100的框图。如图11所示,加载模块1100包括根节点加载单元1101、一级子节点加载单元1102、二级子节点加载单元1103、第一组装单元1104和第二组装单元1105。

根节点加载单元1101,用于将卡组织类型加载为与卡组织类型对应的根节点对象;一级子节点加载单元1102,用于将业务类型加载为业务类型对应的一级子节点对象;二级子节点加载单元1103,用于将拒付工单的业务处理方法、数据类型、以及数据字典加载为与业务类型下的拒付工单的业务处理方法对应的二级子节点对象;第一组装单元1104,用于将同一业务类型的二级子节点对象组装为二级子节点集合、并二级子节点集合将放入与业务类型对应的一级子节点对象中;第二组装单元1105,用于将同一卡组织类型的一级子节点对象组装为一级子节点集合、并将一级子节点集合将放入与卡组织类型对应的根节点对象中。

根据本公开的实施例,上述工单处理装置还包括渲染模块。

其中,渲染模块,用于在将业务模型元数据写入数据库后,根据业务模型元数据渲染拒付信息录入页面,其中拒付信息录入页面用于供业务人员录入拒付信息。

根据本公开的实施例,上述渲染模块包括第一接收单元、读取单元、以及渲染单元。

其中第一接收单元,用于接收来自客户端的待处理工单卡组织信息。读取单元,用于根据待处理工单卡组织信息读取相应卡组织类型的业务模型元数据。渲染单元,用于根据相应卡组织下的业务类型、以及与相应业务类型相关的数据类型、与相应业务类型相关的数据字典渲染拒付信息录入页面。

根据本公开的实施例,上述获取模块包括第二接收单元和解密单元。

其中第二接收单元,用于接收来自客户端的加密拒付信息,其中,加密拒付信息为被客户端加密待处理工单后得到的信息。解密单元,用于对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,上述解密单元包括接收子单元、第一解密子单元和第二解密子单元。

其中接收子单元,用于接收来自客户端的加密密钥,其中,加密密钥采用非对称加密法加密生成。第一解密子单元,用于利用预存的私钥,采用非对称解密法对加密密钥进行解密,以获得解密密钥。第二解密子单元,用于利用解密密钥,采用对称解密法对加密拒付信息进行解密,以获取待处理工单的拒付信息。

根据本公开的实施例,上述解密单元还包括选取子单元、拼接子单元、处理子单元、截取子单元、比对子单元以及判断子单元。

其中,选取子单元,用于按照预设规则从解密后的待处理工单的拒付信息选取目标字段。拼接子单元,用于将目标字段与来自客户端的时间戳进行拼接,以获得拼接字段。处理子单元,用于利用预设算法对拼接字段进行处理,以生成长字符串。截取子单元,用于按照预设方式从长字符串中截取特定数量的字符,以生成目标字符串。比对子单元,用于将目标字符串与解密密钥进行比对。判断子单元,用于根据比对结果判断解密后的待处理工单的拒付信息是否可信。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,获取模块1001、读取模块1002、查找模块1003和处理模块1004中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块1001、读取模块1002、查找模块1003和处理模块1004中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块1001、读取模块1002、查找模块1003和处理模块1004中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图12示意性示出了根据本公开实施例的用于实现工单处理方法的电子设备的框图。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、ROM 1202以及RAM 1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。系统1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1202和/或RAM 1203和/或ROM 1202和RAM 1203以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的工单处理方法。

在该计算机程序被处理器1201执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

根据本公开的实施例,因为预先设置的业务数据对象中存储有各个卡组织下的多种业务类型拒付工单的业务处理方法,因此可以根据待处理工单的卡组织信息,直接读取与待处理工单的卡组织匹配的业务数据对象,进而在业务数据对象中查找与待处理工单的业务类型匹配的业务处理方法,对工单进行处理,实现了基于业务数据对象快速搭建卡组织拒付信息处理过程的目的。因此不需要针对不同卡组织去执行一系列繁琐的操作(如创建信息录入页面,定义数据传送接口,再根据业务逻辑处理拒付信息等),至少部分地克服了现有技术中处理过程繁琐且灵活性不足,并且业务信息处理方法冗余的技术问题,进而达到了缩短新卡组织的接入周期,节约人工成本的技术效果。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 工单处理方法、装置、电子设备及计算机可读存储介质
  • 工单处理方法、装置、电子设备及计算机可读存储介质
技术分类

06120113046217