基于异步处理的数据接入服务接口鉴权方法及装置与流程

文档序号:19419776发布日期:2019-12-14 01:18阅读:299来源:国知局
基于异步处理的数据接入服务接口鉴权方法及装置与流程

本申请涉及数据处理技术领域,具体而言,涉及一种基于异步处理的数据接入服务接口鉴权方法及装置。



背景技术:

异步处理,就是按照不同步的程序处理问题。异步处理与同步处理是对立的,而产生他们的是多线程或者多进程。异步处理的好处就是提高设备使用率,从而在宏观上提升程序运行效率。

相关技术中应用程序(app)的渠道推广基本都是以广告主为主,统计数据都由广告主提供查询和对账服务,缺乏一定的公平性。在这种情况下,广告商的利益很难得到保障,甚至还有可能出现官司纠纷。作为广告主,为了能够跟合作伙伴建立长期的互相信任的合作关系,有必要建立一套完整、公平、可靠的广告商合作体系,给所有广告商提供统一的接入服务,在保证数据安全可靠的前提下,保证双方的公平交易性,从而打造一个和谐、可靠的互联网渠道推广接入平台。

针对相关技术中的数据接入服务安全性不高的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种基于异步处理的数据接入服务接口鉴权方法及装置,以解决相关技术中的数据接入服务安全性不高的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种基于异步处理的数据接入服务接口鉴权方法。

根据本申请的基于异步处理的数据接入服务接口鉴权方法包括:获取第一用户根据预设参数类别分配的参数;接收第二用户的应用程序安装设备信息的数据接入请求;接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值;验证所述数据接入请求的第一签名值。

进一步地,所述预设参数类别包括应用程序id参数和应用程序关键字参数,所述获取第一用户根据预设参数类别分配的参数包括:识别第一用户配置的所述应用程序关键字参数;根据识别结果获取所述第一用户加密后的所述应用程序关键字参数。

进一步地,所述签名运算包括如下步骤:将所述数据接入请求中的参数列表按照预设规则排列;在排列好的所述参数列表的末尾增加所述第一用户根据预设参数类别分配的参数;根据增加分配的所述参数后的参数列表重新生成字符串;对重新生成的所述字符串进行md5运算,以得到所述数据接入请求的第一签名值。

进一步地,所述签名运算包括如下步骤:将所述数据接入请求中的参数列表按照参数名的首字母进行升序排列;在排列好的所述参数列表的末尾增加所述应用程序关键字参数;将所述参数列表中的每个应用程序关键字参数进行组合并用符号&连接,以重新生成字符串;对重新生成的所述字符串进行md5运算,按照预设规则输出所述数据接入请求的第一签名值。

进一步地,所述验证所述数据接入请求的第一签名值包括:查询所述数据接入请求中的参数;根据查询结果对所述数据接入请求中的每个所述参数进行所述签名运算,以得到第二签名值;将所述第二签名值与所述第一签名值进行对比,以得到鉴权结果。

为了实现上述目的,根据本申请的另一方面,提供了一种基于异步处理的数据接入服务接口鉴权装置。

根据本申请的基于异步处理的数据接入服务接口鉴权装置包括:获取模块,用于获取第一用户根据预设参数类别分配的参数;第一接收模块,用于接收第二用户的应用程序安装设备信息的数据接入请求;第二接收模块,用于接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值;验证模块,用于验证所述数据接入请求的第一签名值。

进一步地,所述获取模块包括:识别单元,用于识别第一用户配置的所述应用程序关键字参数;获取单元,用于根据识别结果获取所述第一用户加密后的所述应用程序关键字参数。

进一步地,所述第二接收模块包括:第一排列单元,用于将所述数据接入请求中的参数列表按照预设规则排列;第一增加单元,用于在排列好的所述参数列表的末尾增加所述第一用户根据预设参数类别分配的参数;第一生成单元,用于根据增加分配的所述参数后的参数列表重新生成字符串;第一计算单元,用于对重新生成的所述字符串进行md5运算,以得到所述数据接入请求的第一签名值。

进一步地,所述第二接收模块包括:第二排列单元,用于将所述数据接入请求中的参数列表按照参数名的首字母进行升序排列;第二增加单元,用于在排列好的所述参数列表的末尾增加所述应用程序关键字参数;第二生成单元,用于将所述参数列表中的每个应用程序关键字参数进行组合并用符号&连接,以重新生成字符串;第二计算单元,用于对重新生成的所述字符串进行md5运算,按照预设规则输出所述数据接入请求的第一签名值。

进一步地,所述验证模块包括:查询单元,用于查询所述数据接入请求中的参数;签名单元,用于根据查询结果对所述数据接入请求中的每个所述参数进行所述签名运算,以得到第二签名值;比较单元,用于将所述第二签名值与所述第一签名值进行对比,以得到鉴权结果。

在本申请实施例中,采用获取第一用户根据预设参数类别分配的参数;接收第二用户的应用程序安装设备信息的数据接入请求;接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值的方式,通过验证所述数据接入请求的第一签名值,达到了对数据接入服务接口进行鉴权的目的,从而实现了提高数据接入服务的安全性的技术效果,进而解决了相关技术中的数据接入服务安全性不高的技术问题。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请第一实施例的基于异步处理的数据接入服务接口鉴权方法的流程示意图;

图2是根据本申请第二实施例的基于异步处理的数据接入服务接口鉴权方法的流程示意图;

图3是根据本申请第三实施例的基于异步处理的数据接入服务接口鉴权方法的流程示意图;

图4是根据本申请第四实施例的基于异步处理的数据接入服务接口鉴权方法的流程示意图;

图5是根据本申请第五实施例的基于异步处理的数据接入服务接口鉴权方法的流程示意图;

图6是根据本申请第一实施例的基于异步处理的数据接入服务接口鉴权装置的组成结构示意图;

图7是根据本申请第二实施例的基于异步处理的数据接入服务接口鉴权装置的组成结构示意图;

图8是根据本申请第三实施例的基于异步处理的数据接入服务接口鉴权装置的组成结构示意图;以及

图9是根据本申请第四实施例的基于异步处理的数据接入服务接口鉴权装置的组成结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

根据本发明实施例,提供了一种基于异步处理的数据接入服务接口鉴权方法,如图1所示,该方法包括如下的步骤s101至步骤s104:

步骤s101,获取第一用户根据预设参数类别分配的参数。

具体实施时,本申请实施例的一种应用场景可以是提供应用程序(app)的广告主端和对所述应用程序进行广告宣传的广告商端之间的数据交易服务,在本申请实施例中,广告主端和广告商端分别对应第一用户和第二用户。广告主端会提供一个广告商管理功能,给每个广告商分配唯一的应用程序id参数appid和一个加密处理过的关键字参数appkey。广告商对接广告主的接口服务时,必须使用其分配得到的appid和appkey对接口的请求参数进行签名,防止非法请求。

步骤s102,接收第二用户的应用程序安装设备信息的数据接入请求。

具体实施时,在获取到第一用户根据预设参数类别为第二用户分配的参数后,进一步接收第二用户的数据接入请求,所述数据接入请求可以是请求接入应用程序安装设备的设备信息请求。

步骤s103,接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值,。

具体实施时,第二用户即广告商对接广告主的接口服务时,通过使用其分配得到的应用程序id参数appid和关键字参数appkey对接口的请求进行签名,通过签名运算得到该第二用户的请求参数对应的第一签名值。

步骤s104,验证所述数据接入请求的第一签名值。

具体实施时,需要对第二用户通过上述签名运算得到的第一签名值按照预设规则进行验证,确定第二用户是否鉴权通过。

作为本申请实施例的一种优选实施方式,所述预设参数类别包括应用程序id参数和应用程序关键字参数,如图2所示,所述获取第一用户根据预设参数类别分配的参数包括如下的步骤s201至步骤s202:

步骤s201,识别第一用户配置的所述应用程序关键字参数。

具体实施时,广告主会给每个广告商分配唯一的应用程序id参数appid和一个关键字参数appkey,进一步地对广告主分配的应用程序关键字参数appkey进行识别。

步骤s202,根据识别结果获取所述第一用户加密后的所述应用程序关键字参数。

具体实施时,在识别到广告主分配的应用程序关键字参数appkey后,优选地对所述应用程序关键字参数appkey进行加密处理,后续可通过解密验证等过程以确定第二用户即广告商是否具备数据接入的权限。

作为本申请实施例的一种优选实施方式,如图3所示,所述签名运算包括如下步骤s301至步骤s304:

步骤s301,将所述数据接入请求中的参数列表按照预设规则排列。

具体实施时,本申请实施例采用签名方式对第二用户的数据接入权限进行鉴定。签名运算的第一步需要对第二用户发起的数据接入请求中的各个列表的参数按照一定规则排列,例如按照参数名称的首字母升序或者降序的规则进行排列。

步骤s302,在排列好的所述参数列表的末尾增加所述第一用户根据预设参数类别分配的参数。

具体实施时,在按照一定规则排列好各个列表中的各个参数后,优选地,在每个参数列表的末尾分别增加第一用户根据预设参数类别为所述第二用户分配的参数。

步骤s303,根据增加分配的所述参数后的参数列表重新生成字符串。

具体实施时,将增加了分配的所述参数后的参数列表按照预设规则生成新的字符串,作为后续签名运算的输入。

步骤s304,对重新生成的所述字符串进行md5运算,以得到所述数据接入请求的第一签名值。

具体实施时,采用messagedigestalgorithmmd5(消息摘要算法第五版)进行签名运算以得到与第二用户的数据接入请求对应的第一签名值。md5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。本领域技术人员应该知晓其具体计算方法,在此不做赘述。

作为本申请实施例的一种优选实施方式,如图4所示,所述签名运算包括如下步骤s401至步骤s404:

步骤s401,将所述数据接入请求中的参数列表按照参数名的首字母进行升序排列。

具体实施时,可以采用签名方式对第二用户的数据接入权限进行鉴定。签名运算的第一步需要对第二用户发起的数据接入请求中的各个列表的参数按照一定规则排列,本申请实施例中优选按照参数名称的首字母升序的规则进行排列。

步骤s402,在排列好的所述参数列表的末尾增加所述应用程序关键字参数。

具体实施时,在按照参数名称的首字母升序的规则排列好各个列表中的各个参数后,优选地,在每个参数列表的末尾分别增加第一用户根据预设参数类别为所述第二用户分配的应用程序关键字参数appkey,即key=广告主分配的appkey,该appkey需要由广告商自行保管。

步骤s403,将所述参数列表中的每个应用程序关键字参数进行组合并用符号&连接,以重新生成字符串。

具体实施时,将各个参数列表中的应用程序关键字参数appkey相互组合并用特殊符号“&”连接后生成新的字符串。

步骤s404,对重新生成的所述字符串进行md5运算,按照预设规则输出所述数据接入请求的第一签名值。

具体实施时,采用messagedigestalgorithmmd5(消息摘要算法第五版)对上述新生成的字符串进行签名运算以得到与第二用户的数据接入请求对应的第一签名值,优选地,对得到的md5值全部大写。

作为本申请实施例的一种优选实施方式,如图5所示,所述验证所述数据接入请求的第一签名值包括如下步骤s501至步骤s503:

步骤s501,查询所述数据接入请求中的参数。

具体实施时,在接收到第二用户的数据接入请求时,首先根据数据接入请求中的参数信息如应用程序id参数appid在预设数据库中进行查询,判断数据库中是否存在该条参数信息的记录。

步骤s502,根据查询结果对所述数据接入请求中的每个所述参数进行所述签名运算,以得到第二签名值。

具体实施时,当在数据库中查询到该数据接入请求中的应用程序id参数appid的记录时,则进一步使用该记录对应的appkey对该请求中的所有参数做上述一样的签名运算,以得到第二签名值。

步骤s503,将所述第二签名值与所述第一签名值进行对比,以得到鉴权结果。

具体实施时,通过将上述得到的第二签名值与之前第二用户计算得到的第一签名值进行比对,根据比对结果确定是否通过鉴权,具体地,如果第二签名值与之前第二用户计算得到的第一签名值相等,则代表鉴权通过;反之,鉴权失败,拒绝第二用户的数据接入请求。

从以上的描述中,可以看出,本发明实现了如下技术效果:采用获取第一用户根据预设参数类别分配的参数;接收第二用户的应用程序安装设备信息的数据接入请求;接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值的方式,通过验证所述数据接入请求的第一签名值,达到了对数据接入服务接口进行鉴权的目的,解决了相关技术中的数据接入服务安全性不高的技术问题,从而实现了提高数据接入服务的安全性的技术效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本发明实施例,还提供了一种用于实施上述基于异步处理的数据接入服务接口鉴权方法的装置,如图6所示,该装置包括:获取模块1、第一接收模块2、第二接收模块3和验证模块4。

本申请实施例的获取模块1,用于获取第一用户根据预设参数类别分配的参数。

具体实施时,本申请实施例的一种应用场景可以是提供应用程序(app)的广告主端和对所述应用该程序进行广告宣传的广告商端之间的数据交易服务,在本申请实施例中,广告主端和广告商端分别对应第一用户和第二用户。广告主端会提供一个广告商管理功能,给每个广告商分配唯一的应用程序id参数appid和一个加密处理过的关键字参数appkey。广告商对接广告主的接口服务时,必须使用其分配得到的appid和appkey对接口的请求参数进行签名,防止非法请求。具体地,通过获取模块1获取第一用户分配的上述参数。

本申请实施例的第一接收模块2,用于接收第二用户的应用程序安装设备信息的数据接入请求。

具体实施时,在获取到第一用户根据预设参数类别为第二用户分配的参数后,进一步通过第一接收模块2接收第二用户的数据接入请求,所述数据接入请求可以是请求接入应用程序安装设备的设备信息请求。

本申请实施例的第二接收模块3,用于接收所述第二用户根据分配到的所述参数对所述数据接入请求进行签名运算得到的第一签名值。

具体实施时,第二用户即广告商对接广告主的接口服务时,通过使用其分配得到的应用程序id参数appid和关键字参数appkey对接口的请求进行签名,通过签名运算得到该第二用户的请求参数对应的第一签名值,通过第二接收模块3进一步获取上述第一签名值。

本申请实施例的验证模块4,用于验证所述数据接入请求的第一签名值。

具体实施时,需要通过验证模块4对第二用户通过上述签名运算得到的第一签名值按照预设规则进行验证,确定第二用户是否鉴权通过。

作为本申请实施例的一种优选实施方式,如图7所示,所述获取模块1包括:识别单元11和获取单元12。

本申请实施例的识别单元11,用于识别第一用户配置的所述应用程序关键字参数。

具体实施时,广告主会给每个广告商分配唯一的应用程序id参数appid和一个关键字参数appkey,进一步地通过识别单元11对广告主分配的应用程序关键字参数appkey进行识别。

本申请实施例的获取单元12,用于根据识别结果获取所述第一用户加密后的所述应用程序关键字参数。

具体实施时,在识别到广告主分配的应用程序关键字参数appkey后,优选地对所述应用程序关键字参数appkey进行加密处理,并通过获取单元12获取加密后的所述应用程序关键字参数,后续可通过解密验证等过程以确定第二用户即广告商是否具备数据接入的权限。

作为本申请实施例的一种优选实施方式,如图8所示,所述第二接收模块3包括:第一排列单元31、第一增加单元32、第一生成单元33和第一计算单元34。

本申请实施例的第一排列单元31,用于将所述数据接入请求中的参数列表按照预设规则排列。

具体实施时,本申请实施例采用签名方式对第二用户的数据接入权限进行鉴定。签名运算的第一步需要通过第一排列单元31对第二用户发起的数据接入请求中的各个列表的参数按照一定规则排列,例如按照参数名称的首字母升序或者降序的规则进行排列。

本申请实施例的第一增加单元32,用于在排列好的所述参数列表的末尾增加所述第一用户根据预设参数类别分配的参数。

具体实施时,在按照一定规则排列好各个列表中的各个参数后,优选地,通过第一增加单元32在每个参数列表的末尾分别增加第一用户根据预设参数类别为所述第二用户分配的参数。

本申请实施例的第一生成单元33,用于根据增加分配的所述参数后的参数列表重新生成字符串。

具体实施时,通过第一生成单元33将增加了分配的所述参数后的参数列表按照预设规则生成新的字符串,作为后续签名运算的输入。

本申请实施例的第一计算单元34,用于对重新生成的所述字符串进行md5运算,以得到所述数据接入请求的第一签名值。

具体实施时,采用messagedigestalgorithmmd5(消息摘要算法第五版)通过第一计算单元34进行签名运算以得到与第二用户的数据接入请求对应的第一签名值。md5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。本领域技术人员应该知晓其具体计算方法,在此不做赘述。

作为本申请实施例的一种优选实施方式,如图8所示,所述第二接收模块3包括:第二排列单元35、第二增加单元36、第二生成单元37和第二计算单元38。

本申请实施例的第二排列单元35,用于将所述数据接入请求中的参数列表按照参数名的首字母进行升序排列。

具体实施时,可以采用签名方式对第二用户的数据接入权限进行鉴定。签名运算的第一步需要通过第二排列单元35对第二用户发起的数据接入请求中的各个列表的参数按照一定规则排列,本申请实施例中优选按照参数名称的首字母升序的规则进行排列。

本申请实施例的第二增加单元36,用于在排列好的所述参数列表的末尾增加所述应用程序关键字参数。

具体实施时,在按照参数名称的首字母升序的规则排列好各个列表中的各个参数后,优选地,通过第二增加单元36在每个参数列表的末尾分别增加第一用户根据预设参数类别为所述第二用户分配的应用程序关键字参数appkey,即key=广告主分配的appkey,该appkey需要由广告商自行保管。

本申请实施例的第二生成单元37,用于将所述参数列表中的每个应用程序关键字参数进行组合并用符号&连接,以重新生成字符串。

具体实施时,通过第二生成单元37将各个参数列表中的应用程序关键字参数appkey相互组合并用特殊符号“&”连接后生成新的字符串。

本申请实施例的第二计算单元38,用于对重新生成的所述字符串进行md5运算,按照预设规则输出所述数据接入请求的第一签名值。

具体实施时,采用messagedigestalgorithmmd5(消息摘要算法第五版)通过第二计算单元38对上述新生成的字符串进行签名运算以得到与第二用户的数据接入请求对应的第一签名值,优选地,对得到的md5值全部大写。

作为本申请实施例的一种优选实施方式,如图9所示,所述验证模块4包括:查询单元41、签名单元42和比较单元43。

本申请实施例的查询单元41,用于查询所述数据接入请求中的参数。

具体实施时,在接收到第二用户的数据接入请求时,首先根据数据接入请求中的参数信息如应用程序id参数appid通过查询单元41在预设数据库中进行查询,判断数据库中是否存在该条参数信息的记录。

本申请实施例的签名单元42,用于根据查询结果对所述数据接入请求中的每个所述参数进行所述签名运算,以得到第二签名值。

具体实施时,当在数据库中查询到该数据接入请求中的应用程序id参数appid的记录时,则进一步使用该记录对应的appkey对该请求中的所有参数通过签名单元42做上述一样的签名运算,以得到第二签名值。

本申请实施例的比较单元43,用于将所述第二签名值与所述第一签名值进行对比,以得到鉴权结果。

具体实施时,通过比较单元43将上述得到的第二签名值与之前第二用户计算得到的第一签名值进行比对,根据比对结果确定是否通过鉴权,具体地,如果第二签名值与之前第二用户计算得到的第一签名值相等,则代表鉴权通过;反之,鉴权失败,拒绝第二用户的数据接入请求。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
专利分类正在加载中....