本发明涉及接口调用领域,尤其涉及一种外部接口适配方法、装置、设备及存储介质。
背景技术:
市面上的仓配一体化的管理系统需要去对接外部客户和平台的不同业务类型,如果客户下发仓库订单有定制接口的需求,系统一般会给客户提供新的接口方案进行全新接入,且所有的系统级参数的主流程以及业务流程都需要重新进行开发。
为了对接外部各式各样的接口及其接口方案,往往会在系统内部设置一个统一入口,并通过该统一入口与外部接口互联并进行通信。但当系统调用外部接口时,由于外部接口众多,且各接口的接口方案都不一致,往往难以快速且准确的适配到所需调用的外部接口。因此,如何根据接口适配请求,快速且准确地适配外部接口是亟需解决的问题。
技术实现要素:
本发明的主要目的在于解决现有技术中不能快速适配外部接口的技术问题。
本发明第一方面提供了一种基于oms系统的外部接口适配方法,所述基于oms系统的外部接口适配方法包括:检测oms系统内部存在外部接口适配请求时,提取所述外部接口适配请求中的请求参数;提取所述请求参数中的接口名称,并从预设接口配置表中提取与所述接口名称对应的接口及其处理方法;根据所述处理方法,对所述请求参数进行校验,得到校验结果;根据所述校验结果,对所述接口进行外部接口适配。
可选的,在本发明的第一方面的第一种实现方式中,所述提取所述请求参数中的接口名称,并从预设接口配置表中提取与所述接口名称对应的接口及其处理方法包括:调用预设参数解析函数,对所述请求参数进行解析,得到解析数据,其中,所述解析数据包括校验参数、接口名称、第一签名校验处理方法和第一数据处理方法;从预设接口配置表中查找与所述解析数据中的接口名称对应的接口,并提取所述接口对应的处理方法,其中,所述处理方法包括第二签名校验处理方法和第二数据处理方法。
可选的,在本发明的第一方面的第二种实现方式中,所述根据所述处理方法,对所述请求参数进行校验,得到校验结果包括:对所述解析数据中的第一签名校验处理方法和所述处理方法中的第二签名校验处理方法进行比对,得到签名比对结果;当所述签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致时,则对所述解析数据中的数据处理方法和所述处理方法中的数据处理方法进行分析校验,得到校验结果。
可选的,在本发明的第一方面的第三种实现方式中,所述对所述解析数据中的第一签名校验处理方法和所述处理方法中的第二签名校验处理方法进行比对,得到签名比对结果包括:提取所述解析数据中的校验参数;将所述校验参数按照所述解析数据中的第一签名校验处理方法构造第一待签名字符串;调用预设加密算法,对所述第一待签名字符串进行加密,生成第一签名;将所述校验参数按照所述处理方法中的第二签名校验处理方法构造第二待签名字符串;调用所述加密算法,对所述第二待签名字符串进行加密,生成第二签名;比较第一签名和第二签名是否一致,若一致,则签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致。
可选的,在本发明第一方面的第四种实现方式中,所述将所述校验参数按照所述解析数据中的第一签名校验处理方法构造第一待签名字符串包括:基于所述第一签名校验处理方法,提取所述校验参数中的名称字符;将所述校验参数按照所述名称字符进行升序排序,得到字符序列;调用预设的连接符,将所述字符序列进行串接,生成第一待签名字符串。
可选的,在本发明第一方面的第五种实现方式中,所述对所述解析数据中的数据处理方法和所述处理方法中的数据处理方法进行分析校验,得到校验结果包括:对所述解析数据中的数据转换方法和所述处理方法中的数据转换方法进行分析比对,并对所述解析数据中的数据过滤方法和所述处理方法中的数据过滤方法进行分析比对,得到校验结果。
可选的,在本发明第一方面的第六种实现方式中,在所述根据所述校验结果,对所述接口进行外部接口适配之后,还包括:从所述外部接口中获取业务数据,并从所述接口配置表中提取与所述外部接口对应的接口业务流程处理方法;对所述业务数据按照所述接口业务流程处理方法进行业务流程处理。
本发明第二方面提出一种基于oms系统的外部接口适配装置,所述基于oms系统的外部接口适配装置包括:检测模块,用于检测oms系统内部存在外部接口适配请求时,提取所述外部接口适配请求中的请求参数;提取模块,用于提取所述请求参数中的接口名称,并从预设接口配置表中提取与所述接口名称对应的接口及其处理方法;校验模块,用于根据所述处理方法,对所述请求参数进行校验,得到校验结果;适配模块,用于根据所述校验结果,对所述接口进行外部接口适配。
可选的,在本发明第二方面的第一种实现方式中,所述提取模块具体用于:调用预设参数解析函数,对所述请求参数进行解析,得到解析数据,其中,所述解析数据包括校验参数、接口名称、第一签名校验处理方法和第一数据处理方法;从预设接口配置表中查找与所述解析数据中的接口名称对应的接口,并提取所述接口对应的处理方法,其中,所述处理方法包括第二签名校验处理方法和第二数据处理方法。
可选的,在本发明第二方面的第二种实现方式中,所述校验模块包括:比对单元,用于对所述解析数据中的第一签名校验处理方法和所述处理方法中的第二签名校验处理方法进行比对,得到签名比对结果;校验单元,用于当所述签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致时,则对所述解析数据中的数据处理方法和所述处理方法中的数据处理方法进行分析校验,得到校验结果。
可选的,在本发明第二方面的第三种实现方式中,所述比对单元具体用于:提取子单元,用于提取所述解析数据中的校验参数;第一构造子单元,用于将所述校验参数按照所述解析数据中的第一签名校验处理方法构造第一待签名字符串;第一加密单元,用于调用预设加密算法,对所述第一待签名字符串进行加密,生成第一签名;第二构造子单元,用于将所述校验参数按照所述处理方法中的第二签名校验处理方法构造第二待签名字符串;第二加密子单元,用于调用所述加密算法,对所述第二待签名字符串进行加密,生成第二签名;比较子单元,用于比较第一签名和第二签名是否一致,若一致,则签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致。
可选的,在本发明第二方面的第四种实现方式中,所述第一构造子单元具体用于:基于所述第一签名校验处理方法,提取所述校验参数中的名称字符;将所述校验参数按照所述名称字符进行升序排序,得到字符序列;调用预设的连接符,将所述字符序列进行串接,生成第一待签名字符串。
可选的,在本发明第二方面的第五种实现方式中,所述校验单元具体用于:对所述解析数据中的数据转换方法和所述处理方法中的数据转换方法进行分析比对,并对所述解析数据中的数据过滤方法和所述处理方法中的数据过滤方法进行分析比对,得到校验结果。
可选的,在本发明第二方面的第六种实现方式中,所述基于oms系统的外部接口适配装置还包括处理模块,其具体用于:从所述外部接口中获取业务数据,并从所述接口配置表中提取与所述外部接口对应的接口业务流程处理方法;对所述业务数据按照所述接口业务流程处理方法进行业务流程处理。
本发明第三方面提供了一种基于oms系统的外部接口适配设备,所述基于oms系统的外部接口适配设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于oms系统的外部接口适配设备执行上述的基于oms系统的外部接口适配方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当其在计算机上运行时,使得计算机执行上述的基于oms系统的外部接口适配方法的步骤。
在本发明提供的技术方案中,通过检测到oms系统内部存在外部接口适配请求时,提取外部接口适配请求中的请求参数及其接口名称,并从预设接口配置表中提取与接口名称对应的接口及其处理方法;根据处理方法,对请求参数进行校验,并根据校验结果,对接口进行外部接口适配。本发明提供的技术方案根据预设的接口对应的处理方法对请求参数进行校验,当校验通过时,对该接口进行接口适配及调用,通过对外部接口适配请求进行校验,快速且准确定位所需调用的外部接口,提高了接口适配调用的安全性,且根据预设的接口对应的处理方法自动对请求参数进行校验,提高了校验效率,降低误检率。
附图说明
图1为本发明实施例中外部接口适配方法的第一个实施例示意图;
图2为本发明实施例中外部接口适配方法的第二个实施例示意图;
图3为本发明实施例中外部接口适配方法的第三个实施例示意图;
图4为本发明实施例中外部接口适配装置的一个实施例示意图;
图5为本发明实施例中外部接口适配装置的另一个实施例示意图;
图6为本发明实施例中外部接口适配设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种外部接口适配方法、装置、设备及存储介质,通过检测到oms系统内部存在外部接口适配请求时,提取外部接口适配请求中的请求参数及其接口名称,并从预设接口配置表中提取与接口名称对应的接口及其处理方法;根据处理方法,对请求参数进行校验,并根据校验结果,对接口进行外部接口适配。本发明实施例根据预设的接口对应的处理方法对请求参数进行校验,当校验通过时,对该接口进行接口适配及调用,通过对外部接口适配请求进行校验,快速且准确定位所需调用的外部接口,提高了接口适配调用的安全性,且根据预设的接口对应的处理方法自动对请求参数进行校验,提高了校验效率,降低误检率,从而降低了校验成本。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体内容进行描述,请参阅图1,本发明实施例中基于oms系统的外部接口适配方法的第一个实施例包括:
101,检测oms系统内部存在外部接口适配请求时,提取外部接口适配请求中的请求参数;
oms系统通过一个统一入口与外部系统的接口进行适配连接获取外部系统的业务数据。当需要与外部系统的接口进行连接时,oms系统内部发送一个外部接口适配请求,并对该外部接口适配请求进行检测,其中,该外部接口适配请求携带有请求参数。
当检测oms系统内部存在外部接口适配请求时,提取该外部接口适配请求中的请求参数,并通过post请求接口地址,通过接口地址获取接口入口文件,调用该接口入口文件对外部接口适配请求中的请求参数进行解析,其中,该请求参数包括但不限于接口名称和校验方法。
102,提取请求参数中的接口名称,并从预设接口配置表中提取与接口名称对应的接口及其处理方法;
oms系统预先获取所有外部接口对应的接口信息,并基于该接口信息,对所有外部接口进行接口配置,并将外部接口对应的接口信息录入oms系统内部数据库预设的接口配置表中,其中,该接口信息包括接口名称、接口对接平台、数据走向、类名称和处理方法。
当检测到oms系统内部存在有外部接口适配请求时,提取该外部接口适配请求中请求参数的接口名称,通过该接口名称,从接口配置表中查找与该接口名称对应的接口信息,此过程相当于从所有的外部接口中查找与oms系统需要进行适配请求的接口的接口名称对应的接口及其处理方法,为便于区分,将oms系统需要进行适配请求的接口作为第一接口,将与oms系统需要进行适配请求的接口的接口名称对应的接口作为第二接口。
进一步的,从接口配置表中提取与接口名称对应的接口信息的过程相当于一个自动路由处理器,调用该自动路由处理器找到每个接口特定的处理方法,使得后续此业务相关新增接口或者业务板块接口的时候,我们只需要新增该接口处理细节,其余系统级参数以及接口处理流程都只需沿用现有流程,从而极大地减少了新增业务和开发的工作量。
103,根据处理方法,对请求参数进行校验,得到校验结果;
根据该处理方法,对外部接口适配请求中的请求参数中所包含的校验方法进行分析,判断oms系统配置的该接口的处理方法与请求参数中的处理方法是否一致,即判断第一接口的处理方法与第二接口的处理方法是否一致,根据该处理方法的比对分析,即可确定第一接口与第二接口是否一致,其中,校验方法包括第一签名校验方法和第一数据处理方法;处理方法包括第二签名校验处理方法和第二数据处理方法。
判断第一接口的校验方法与第二接口的处理方法是否一致的过程为,通过对解析数据和处理方法中所包含的签名校验处理方法进行比对,得到签名比对结果;当签名比对结果为签名校验处理方法比对一致时,则对解析数据中的数据处理方法和处理方法中的数据处理方法进行分析校验,得到校验结果。其中,数据处理方法包括数据转换方法和数据过滤方法。
具体的,对第一签名校验处理方法和第二签名校验处理方法进行对比的过程为,提取解析数据中的校验参数;将校验参数按照第一签名校验处理方法构造第一待签名字符串;调用预设加密算法,对第一待签名字符串进行加密,生成第一签名;将校验参数按照第二签名校验处理方法构造第二待签名字符串;调用预设加密算法,对第二待签名字符串进行加密,生成第二签名;比较第一签名和第二签名是否一致;若一致,则签名比对结果为第一签名校验处理方法和第二签名校验处理方法一致。对解析数据中的数据处理方法和处理方法中的数据处理方法进行分析校验的过程为,对解析数据中的第一数据转换方法和处理方法中的第二数据转换方法进行分析比对,并对解析数据中的第一数据过滤方法和处理方法中的第二数据过滤方法进行分析比对,结合签名校验处理方法、数据转换方法和数据过滤方法的比对结果,得到校验结果。在本实施例中,校验方法和处理方法中所包含的方法的具体处理流程在此不做限定,可根据实际情况进行设定。
进一步的,将校验方法与处理方法进行比对还可以为对校验方法和处理方法进行字段划分,对校验方法中的各字段与处理方法中的各字段进行比对,当校验方法中各字段与处理方法中各字段一致时,则确定校验方法与处理方法一致。
104,根据校验结果,对接口进行外部接口适配。
通过oms系统的接口适配模块接收校验结果,并根据校验结果判断是否同外部接口适配成功,当校验结果为第一接口的校验方法与第二接口的处理方法一致时,则oms系统与外部接口适配成功,并在oms系统内部产生适配成功的信息,该信息中携带有适配成功的标识,oms系统可以通过接口适配模块进行捕捉识别。在oms系统通过接口适配模块在接收适配成功的信息时,对于数据量较大的信息,一般可以采取kafka队列或者rabbitmq队列,缩短信息传输时间,提高系统同时收集信息的能力和效率。
具体的,当第一签名校验处理方法和第二签名校验处理方法对比一致,且第一数据处理方法和第二数据处理方法比对一致时,才能对上述接口调用请求进行响应。而如果签名校验处理方法和数据处理方法中有任意一项比对不一致,则认为校验失败,从而不能对外部接口适配请求进行响应。具体的,在对外部接口适配请求进行响应时,可以向ons系统的接口适配模块开放相应接口对应的功能模块,通过该功能模块对接口适配模块发送来的外部接口适配请求中的请求参数进行处理,并将处理结果返回给接口适配模块。当oms系统与外部接口适配成功之后,oms系统可以与该外部接口进行通信连接,并通过该外部接口获取该外部接口对应的系统的业务数据,从而对业务数据进行处理。
在本发明实施例中,根据预设的接口对应的处理方法对请求参数进行校验,当校验通过时,对该接口进行接口适配及调用,通过对外部接口适配请求进行校验,快速且准确定位所需调用的外部接口,提高了接口适配调用的安全性。
请参阅图2,本发明实施例中基于oms系统的外部接口适配方法的第二个实施例包括:
201,检测oms系统内部存在外部接口适配请求时,提取外部接口适配请求中的请求参数;
oms系统通过一个统一入口与外部系统的接口进行适配连接获取外部系统的业务数据。当需要与外部系统的接口进行连接时,oms系统内部的接口适配模块发送一个外部接口适配请求,并对该外部接口适配请求进行检测,其中,该外部接口适配请求携带有请求参数。
当检测oms系统内部存在外部接口适配请求时,提取该外部接口适配请求中的请求参数,并通过post请求接口地址,通过接口地址获取接口入口文件,调用该接口入口文件对外部接口适配请求中的请求参数进行解析,其中,该请求参数包括但不限于接口名称、校验方法和校验参数。
202,调用预设参数解析函数,对请求参数进行解析,得到解析数据;
oms系统预设参数解析函数,当检测到内部存在有外部接口适配请求时,提取外部接口适配请求中的请求参数,并调用预设参数解析函数,对请求参数进行解析,得到解析数据。其中,解析数据包括但不限于接口名称、校验方法和校验参数;校验方法包括但不限于第一签名校验处理方法、第一数据处理方法;另外,调用参数解析函数对请求参数进行解析为现有技术,在此不做赘述。
203,从预设接口配置表中查找与解析数据中的接口名称对应的接口,并提取接口对应的处理方法;
oms系统预先获取所有外部接口对应的接口信息,并基于该接口信息,对所有外部接口进行接口配置,并将外部接口对应的接口信息录入oms系统内部数据库预设的接口配置表中,其中,该接口信息包括但不限于接口名称、接口对接平台、数据走向、类名称和处理方法;处理方法包括但不限于第二签名校验处理方法、第二数据处理方法。
当对外部接口适配请求中的请求参数进行解析得到解析数据之后,提取该解析数据中的接口名称,通过该接口名称,从接口配置表中查找与该接口名称对应的接口信息,此过程相当于从所有的外部接口中查找与oms系统需要进行适配请求的接口的接口名称对应的接口及其处理方法,为便于区分,将oms系统需要进行适配请求的接口作为第一接口,将与oms系统需要进行适配请求的接口的接口名称对应的接口作为第二接口。
204,提取解析数据中的校验参数;
205,将校验参数按照解析数据中的第一签名校验处理方法构造第一待签名字符串;
提取解析数据中的校验参数,并按照解析数据中的第一签名校验处理方法,将校验参数转换为第一待签名字符串。具体的,基于第一签名校验处理方法,提取校验参数中的名称字符;将校验参数按照名称字符进行升序排序,得到字符序列;调用oms系统内部预设的连接符,将字符序列进行串接,生成第一待签名字符串。
206,调用预设加密算法,对第一待签名字符串进行加密,生成第一签名;
oms系统内部预设md5加密算法,当检测到生成第一待签名字符串时,调用该md5加密算法,对该第一待签名字符串进行加密,从而将第一待签名字符串转换为第一签名。
207,将校验参数按照处理方法中的第二签名校验处理方法构造第二待签名字符串;
与第一待签名字符串的生成过程一致,其第二待签名字符串的生成过程为,基于第二签名校验处理方法,提取校验参数中的名称字符;将校验参数按照名称字符进行升序排序,得到字符序列;调用oms系统内部预设的连接符,将字符序列进行串接,生成第二待签名字符串。
208,调用预设加密算法,对第二待签名字符串进行加密,生成第二签名;
当检测到生成第二待签名字符串时,调用该md5加密算法,对该第二待签名字符串进行加密,从而将第一待签名字符串转换为第一签名。
209,比较第一签名和第二签名是否一致;
将生成的第一签名与第二签名进行比较,即对第一签名和第二签名中的字符进行一一比对,若第一签名与第二签名中的各字符都比对一致,则说明第一签名与第二签名一致,若第一签名与第二签名中的各字符比对不一致,则说明第一签名与第二签名不一致。
210,若第一签名与第二签名一致,则签名比对结果为第一签名校验处理方法和第二签名校验处理方法一致;
当第一签名与第二签名一致时,则确定第一签名校验处理方法与第二签名校验处理方法一致,即签名比对结果为第一签名校验处理方法与第二签名校验处理方法一致。
211,对解析数据中的数据处理方法和处理方法中的数据处理方法进行分析校验,得到校验结果;
当签名比对结果为第一签名校验处理方法和第二签名校验处理方法一致时,对解析数据和处理方法中的数据处理方法进行分析校验,具体的,对解析数据中的第一数据转换方法和处理方法中的第二数据转换方法进行分析比对,并对解析数据中的第一数据过滤方法和处理方法中的第二数据过滤方法进行分析比对,得到校验结果。具体的,将校验参数分别按照第一数据转换方法和第二数据转换方法进行数据格式转换,生成第一数据和第二数据,对第一数据和第二数据进行比对,若第一数据与第二数据一致,则确定第一数据转换方法与第二数据转换方法一致。将校验参数分别按照第一数据过滤方法和第二数据过滤方法进行数据过滤,生成第三数据和第四数据,将第三数据和第四数据进行比对,若第三数据和第四数据比对一致,则确定第一数据过滤方法与第二数据过滤方法一致,将数据转换方法和数据过滤方法的比对的结果作为校验结果。
212,根据校验结果,对接口进行外部接口适配。
通过oms系统的接口适配模块接收校验结果,并根据校验结果判断是否同外部接口适配成功,当校验结果为第一接口的校验方法与第二接口的处理方法一致时,则oms系统与外部接口适配成功,并在oms系统内部产生适配成功的信息,该信息中携带有适配成功的标识,oms系统可以通过接口适配模块进行捕捉识别。在oms系统通过接口适配模块在接收适配成功的信息时,对于数据量较大的信息,一般可以采取kafka队列或者rabbitmq队列,缩短信息传输时间,提高系统同时收集信息的能力和效率。
具体的,当第一签名校验处理方法和第二签名校验处理方法对比一致,且第一数据处理方法和第二数据处理方法比对一致时,才能对上述接口调用请求进行响应。而如果签名校验处理方法和数据处理方法中有任意一项比对不一致,则认为校验失败,从而不能对外部接口适配请求进行响应。具体的,在对外部接口适配请求进行响应时,可以向ons系统的接口适配模块开放相应接口对应的功能模块,通过该功能模块对接口适配模块发送来的外部接口适配请求中的请求参数进行处理,并将处理结果返回给接口适配模块。当oms系统与外部接口适配成功之后,oms系统可以与该外部接口进行通信连接,并通过该外部接口获取该外部接口对应的系统的业务数据,从而对业务数据进行处理。
在本发明实施例中,通过对请求参数和预设的处理方法中的签名校验处理方法和数据处理方法进行比对,自动对请求参数进行校验,提高了校验效率,降低误检率,从而降低了校验成本。
请参阅图3,本发明实施例中基于oms系统的外部接口适配方法的第三个实施例包括:
301,检测oms系统内部存在外部接口适配请求时,提取外部接口适配请求中的请求参数;
oms系统通过一个统一入口与外部系统的接口进行适配连接获取外部系统的业务数据。当需要与外部系统的接口进行连接时,oms系统内部发送一个外部接口适配请求,并对该外部接口适配请求进行检测,其中,该外部接口适配请求携带有请求参数。
当检测oms系统内部存在外部接口适配请求时,提取该外部接口适配请求中的请求参数,并通过post请求接口地址,通过接口地址获取接口入口文件,调用该接口入口文件对外部接口适配请求中的请求参数进行解析,其中,该请求参数包括但不限于接口名称和校验方法。
302,调用预设参数解析函数,对请求参数进行解析,得到解析数据;
oms系统预设参数解析函数,当检测到内部存在有外部接口适配请求时,提取外部接口适配请求中的请求参数,并调用预设参数解析函数,对请求参数进行解析,得到解析数据。其中,解析数据包括但不限于接口名称、校验方法和校验参数;校验方法包括但不限于第一签名校验处理方法、第一数据处理方法;另外,调用参数解析函数对请求参数进行解析为现有技术,在此不做赘述。
303,从预设接口配置表中查找与解析数据中的接口名称对应的接口,并提取接口对应的处理方法;
oms系统预先获取所有外部接口对应的接口信息,并基于该接口信息,对所有外部接口进行接口配置,并将外部接口对应的接口信息录入oms系统内部数据库预设的接口配置表中,其中,该接口信息包括但不限于接口名称、接口对接平台、数据走向、类名称和处理方法;处理方法包括但不限于第二签名校验处理方法、第二数据处理方法。
当对外部接口适配请求中的请求参数进行解析得到解析数据之后,提取该解析数据中的接口名称,通过该接口名称,从接口配置表中查找与该接口名称对应的接口信息,此过程相当于从所有的外部接口中查找与oms系统需要进行适配请求的接口的接口名称对应的接口及其处理方法,为便于区分,将oms系统需要进行适配请求的接口作为第一接口,将与oms系统需要进行适配请求的接口的接口名称对应的接口作为第二接口。
304,提取解析数据中的校验参数;
提取解析数据中的校验参数,并按照解析数据中的第一签名校验处理方法,将校验参数转换为第一待签名字符串。具体的,基于第一签名校验处理方法,提取校验参数中的名称字符;将校验参数按照名称字符进行升序排序,得到字符序列;调用oms系统内部预设的连接符,将字符序列进行串接,生成第一待签名字符串。
305,基于第一签名校验处理方法,提取校验参数中的名称字符;
306,将校验参数按照名称字符进行升序排序,得到字符序列;
307,调用预设的连接符,将字符序列进行串接,生成待签名字符串;
oms系统内部按照第一签名校验处理方法将所有请求参数转换为签名,除了sign字端;具体的,将所有请求参数都按照名称字符升序排列(参数名称不允许相同),生成字符序列;如果参数值带有中文,需要制定字符集编码为utf-8;如果参数值为空,那么该参数不参与签名;将oms系统内部预设的合作秘钥作为最后一个参数,且其参数名为:key,参数值就是合作秘钥本身;将请求参数用预设的连接符“&”拼接起来,在拼接过程中将请求参数按照名称字符进行升序排列,即调用连接符将字符序列进行串接,生成第一待签名字符串。
308,调用预设加密算法,对第一待签名字符串进行加密,生成第一签名;
当检测到oms系统内部存在第一待签名字符串时,调用oms系统内部预设的md5加密算法,对第一待签名字符串进行加密,生成第一签名,其中,第一签名为32位小写字符,且第一签名就是oms系统内部的公共参数中sign的值。需要说明的是,调用md5加密算法对待签名字符串进行加密生成签名为现有技术,在此不做赘述。
309,将校验参数按照第二签名校验处理方法构造第二待签名字符串;
oms系统内部按照第二签名校验处理方法将所有请求参数转换为签名,除了sign字端;具体的,将所有请求参数都按照名称字符升序排列(参数名称不允许相同),生成字符序列;如果参数值带有中文,需要制定字符集编码为utf-8;如果参数值为空,那么该参数不参与签名;将oms系统内部预设的合作秘钥作为最后一个参数,且其参数名为:key,参数值就是合作秘钥本身;将请求参数用预设的连接符“&”拼接起来,在拼接过程中将请求参数按照名称字符进行升序排列,即调用连接符将字符序列进行串接,生成第二待签名字符串。
310,调用预设加密算法,对第二待签名字符串进行加密,生成第二签名;
当检测到oms系统内部存在第二待签名字符串时,调用oms系统内部预设的md5加密算法,对第二待签名字符串进行加密,生成第二签名,其中,第二签名为32位小写字符,且第二签名就是oms系统内部的公共参数中sign的值。需要说明的是,调用md5加密算法对待签名字符串进行加密生成签名为现有技术,在此不做赘述。
311,比较第一签名和第二签名是否一致;
当生成第一签名和第二签名之后,对第一签名和第二签名进行比对,即对第一签名和第二签名中的字符进行一一比对,若第一签名与第二签名中的各字符都比对一致,则说明第一签名与第二签名一致,若第一签名与第二签名中的各字符比对不一致,则说明第一签名与第二签名不一致。
312,若第一签名与第二签名一致,则签名比对结果为第一签名校验处理方法和第二签名校验处理方法一致;
当第一签名与第二签名一致时,则确定第一签名校验处理方法与第二签名校验处理方法一致,即签名比对结果为第一签名校验处理方法与第二签名校验处理方法一致。
313,对解析数据中的数据处理方法和处理方法中的数据处理方法进行分析校验,得到校验结果;
当签名比对结果为第一签名校验处理方法和第二签名校验处理方法一致时,对解析数据和处理方法中的数据处理方法进行分析校验,具体的,对解析数据中的第一数据转换方法和处理方法中的第二数据转换方法进行分析比对,并对解析数据中的第一数据过滤方法和处理方法中的第二数据过滤方法进行分析比对,得到校验结果。具体的,将校验参数分别按照第一数据转换方法和第二数据转换方法进行数据格式转换,生成第一数据和第二数据,对第一数据和第二数据进行比对,若第一数据与第二数据一致,则确定第一数据转换方法与第二数据转换方法一致。将校验参数分别按照第一数据过滤方法和第二数据过滤方法进行数据过滤,生成第三数据和第四数据,将第三数据和第四数据进行比对,若第三数据和第四数据比对一致,则确定第一数据过滤方法与第二数据过滤方法一致,将数据转换方法和数据过滤方法的比对的结果作为校验结果。
进一步的,数据处理方法还包括接口业务流程处理方法,对校验方法中的第一接口业务流程处理方法和处理方法中的第二接口业务流程处理方法进行分析比对,即调用校验参数,分别按照第一接口业务流程处理方法和第二接口业务流程处理方法进行业务流程处理,得到第一业务流程和第二业务流程,比对该第一业务流程和第二业务流程是否一致,并将比对的结果作为校验结果。
通过签名校验处理方法、数据转换方法、数据过滤方法和接口业务流程处理方法的比对,若上述的四种方法都比对一致,则校验结果为校验方法与处理方法一致,即第一接口与第二接口一致,oms系统可以与该第二接口进行通信连接。
314,根据校验结果,对接口进行外部接口适配;
通过oms系统的接口适配模块接收校验结果,并根据校验结果判断是否同外部接口适配成功,当校验结果为第一接口的校验方法与第二接口的处理方法一致时,则oms系统与外部接口适配成功,并在oms系统内部产生适配成功的信息,该信息中携带有适配成功的标识,oms系统可以通过接口适配模块进行捕捉识别。在oms系统通过接口适配模块在接收适配成功的信息时,对于数据量较大的信息,一般可以采取kafka队列或者rabbitmq队列,缩短信息传输时间,提高系统同时收集信息的能力和效率。
具体的,当第一签名校验处理方法和第二签名校验处理方法对比一致,且第一数据处理方法和第二数据处理方法比对一致时,才能对上述接口调用请求进行响应。而如果签名校验处理方法和数据处理方法中有任意一项比对不一致,则认为校验失败,从而不能对外部接口适配请求进行响应。具体的,在对外部接口适配请求进行响应时,可以向oms系统的接口适配模块开放相应接口对应的功能模块,通过该功能模块对接口适配模块发送来的外部接口适配请求中的请求参数进行处理,并将处理结果返回给接口适配模块。
315,从外部接口中获取业务数据,并从接口配置表中提取与外部接口对应的接口业务流程处理方法;
316,对业务数据按照接口业务流程处理方法进行业务流程处理。
当oms系统与外部接口适配成功之后,oms系统与该外部接口进行通信连接,并通过该外部接口获取该外部接口对应的下游wns系统的业务数据,从而对业务数据进行处理。具体的,从外部接口中获取业务数据,并从oms系统内部的接口配置表中提取与该外部接口对应的接口业务流程处理方法,并按照该接口业务流程处理方法对业务数据进行业务流程处理。
进一步的,oms系统通过连接外部接口访问下游wms系统,根据wms系统返回报文,拼接返回给上游报文以及记录数据和日志,并且记录下总请求记录时长,以便于接口访问异常时,开发查看异常问题。
在本发明实施例中,将请求参数中的校验参数采用第一签名校验处理方法生成第一签名,和采用第二签名校验处理方法生成第二签名,通过比较第一签名和第二签名是否一致,对请求参数进行校验,提高了校验结果的准确度。
上面对本发明实施例中的基于oms系统的外部接口适配方法进行了描述,下面对本发明实施例中的基于oms系统的外部接口适配装置进行描述,请参照图4,本发明实施例中的基于oms系统的外部接口适配装置的一个实施例包括:
检测模块401,用于检测oms系统内部存在外部接口适配请求时,提取所述外部接口适配请求中的请求参数;
提取模块402,用于提取所述请求参数中的接口名称,并从预设接口配置表中提取与所述接口名称对应的接口及其处理方法;
校验模块403,用于根据所述处理方法,对所述请求参数进行校验,得到校验结果;
适配模块404,用于根据所述校验结果,对所述接口进行外部接口适配。
本发明实施例提供的基于oms系统的外部接口适配装置,通过预设的接口对应的处理方法对请求参数进行校验,当校验通过时,对该接口进行接口适配及调用,通过对外部接口适配请求进行校验,快速且准确定位所需调用的外部接口,提高了接口适配调用的安全性。
请参阅图5,本发明实施例中的基于oms系统的外部接口适配装置的另一个实施例包括:
检测模块401,用于检测oms系统内部存在外部接口适配请求时,提取所述外部接口适配请求中的请求参数;
提取模块402,用于提取所述请求参数中的接口名称,并从预设接口配置表中提取与所述接口名称对应的接口及其处理方法;
校验模块403,用于根据所述处理方法,对所述请求参数进行校验,得到校验结果;
适配模块404,用于根据所述校验结果,对所述接口进行外部接口适配。
可选的,所述提取模块402具体用于:
调用预设参数解析函数,对所述请求参数进行解析,得到解析数据,其中,所述解析数据包括校验参数、接口名称、第一签名校验处理方法和第一数据处理方法;
从预设接口配置表中查找与所述解析数据中的接口名称对应的接口,并提取所述接口对应的处理方法,其中,所述处理方法包括第二签名校验处理方法和第二数据处理方法。
可选的,所述校验模块403包括:
比对单元4031,用于对所述解析数据中的第一签名校验处理方法和所述处理方法中的第二签名校验处理方法进行比对,得到签名比对结果;
校验单元4032,用于当所述签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致时,则对所述解析数据中的数据处理方法和所述处理方法中的数据处理方法进行分析校验,得到校验结果。
可选的,所述比对单元4031包括:
提取子单元40311,用于提取所述解析数据中的校验参数;
第一构造子单元40312,用于将所述校验参数按照所述解析数据中的第一签名校验处理方法构造第一待签名字符串;
第一加密单元40313,用于调用预设加密算法,对所述第一待签名字符串进行加密,生成第一签名;
第二构造子单元40314,用于将所述校验参数按照所述处理方法中的第二签名校验处理方法构造第二待签名字符串;
第二加密子单元40315,用于调用所述加密算法,对所述第二待签名字符串进行加密,生成第二签名;
比较子单元40316,用于比较第一签名和第二签名是否一致,若一致,则签名比对结果为所述第一签名校验处理方法和所述第二签名校验处理方法一致。
可选的,所述第一构造子单元40312具体用于:
基于所述第一签名校验处理方法,提取所述校验参数中的名称字符;
将所述校验参数按照所述名称字符进行升序排序,得到字符序列;
调用预设的连接符,将所述字符序列进行串接,生成第一待签名字符串。
可选的,所述校验单元4032具体用于:
对所述解析数据中的数据转换方法和所述处理方法中的数据转换方法进行分析比对,并对所述解析数据中的数据过滤方法和所述处理方法中的数据过滤方法进行分析比对,得到校验结果。
可选的,所述基于oms的外部接口适配装置还包括处理模块405,其具体用于:
从所述外部接口中获取业务数据,并从所述接口配置表中提取与所述外部接口对应的接口业务流程处理方法;
对所述业务数据按照所述接口业务流程处理方法进行业务流程处理。
本发明实施例提供的基于oms系统的外部接口适配装置,通过对请求参数和预设的处理方法中的签名校验处理方法和数据处理方法进行比对,自动对请求参数进行校验,提高了校验效率,降低误检率,从而降低了校验成本。
请参阅图6,下面从硬件处理的角度对本发明实施例中的外部接口适配设备的一个实施例进行详细描述。
图6是本发明实施例提供的一种基于oms系统的外部接口适配设备的结构示意图,该基于oms系统的外部接口适配设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于oms系统的外部接口适配设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在基于oms系统的外部接口适配设备600上执行存储介质630中的一系列指令操作。
基于oms系统的外部接口适配设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和或或,一个或一个以上操作系统631,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的基于oms系统的外部接口适配设备结构并不构成对基于oms系统的外部接口适配设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于oms系统的外部接口适配方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。