统一数据结构的控制方法及控制装置、电子设备
文献发布时间:2023-06-19 11:57:35
技术领域
本发明涉及数据结构技术领域,具体而言,涉及一种统一数据结构的控制方法及控制装置、电子设备。
背景技术
随着云服务技术的不断发展,相关工作中,会涉及到定义各种各样的接口,系统集成会涉及到定义接口,前端和后端相互调用也会涉及到定义接口,接口定义不规范会带来许多问题,比如,返回格式不统一,同一个接口,有时候会返回数组,但有时候可能只返回单个数据;没有考虑失败情况,成功的时候返回对象,失败的时候可能不返回任何数据或者只返回错误信息字符串。对于已有的一些早期开发的项目,每个开发的后端接口返回的参数不统一,如果需要使用统一的数据标准,开发人员需要做大量的工作对前端进行改造以统一数据结构,同时,接口失败的业务码在返回时没有明确定义每个系统,在解析的时候会造成很多麻烦,再者没有考虑或者有效保护数据传输的安全性,造成数据被攻击的问题。
同时,随着客户对于云架构的需求逐渐增多,现有技术中的云架构却多是针对少量人数设计的架构内容,并没有关于在人数大量增加时,如何实现云架构扩容的方案。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种统一数据结构的控制方法及控制装置、电子设备,以至少解决相关技术中数据结构不规范以及无法保障数据安全性的技术问题。
根据本发明实施例的一个方面,提供了一种统一数据结构的控制方法,应用于应用平台即服务APaaS中,所述控制方法包括:接收用户终端发送的数据查询请求;基于所述数据查询请求,调用预设通用格式确定数据查询结果,其中,所述预设通用格式中至少包括:待查询的多个字段,所述预设通用格式用于统一待输出的目标数据的格式;对所述数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作;将完成加盐操作的数据结果返回至用户终端。
可选地,基于所述数据查询请求,调用预设通用格式确定数据查询结果的步骤,包括:若所述数据查询请求为登录数据查询请求,则采用第一请求接口调用所述预设通用格式确定第一查询结果。
可选地,基于所述数据查询请求,调用预设通用格式确定数据查询结果的步骤,包括:若所述数据查询请求为组织列表查询请求,则采用第二请求接口调用所述预设通用格式确定第二查询结果。
可选地,对所述数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作的步骤,包括:分析每个待查询的字段的首字母,并对所有的首字母进行排序,得到首字母排序结果;按照所述首字母排序结果,对所有待查询的字段进行排序,得到字段排序结果;按照所述字段排序结果,对所述数据查询结果中包含的多条数据结果进行排序。
可选地,在对所述数据查询结果中包含的多条数据结果进行排序之后,所述控制方法还包括:根据数据排序结果,生成随机盐字符,以完成对排序后的数据结果进行加盐操作。
可选地,待查询的多个字段包括:状态码字段、提示信息字段、前端需求信息字段、请求列表个数字段和当前列表个数字段。
可选地,每个待查询的字段所对应的字段参数长度一致。
根据本发明实施例的另一方面,还提供了一种统一数据结构的控制装置,应用于应用平台即服务APaaS中,所述控制装置包括:接收单元,用于接收用户终端发送的数据查询请求;调用单元,用于基于所述数据查询请求,调用预设通用格式确定数据查询结果,其中,所述预设通用格式中至少包括:待查询的多个字段,所述预设通用格式用于统一待输出的目标数据的格式;排序单元,用于对所述数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作;发送单元,用于将完成加盐操作的数据结果返回至用户终端。
可选地,所述调用单元包括:第一采用模块,用于在所述数据查询请求为登录数据查询请求时,采用第一请求接口调用所述预设通用格式确定第一查询结果。
可选地,所述调用单元还包括:第二采用模块,用于在所述数据查询请求为组织列表查询请求时,采用第二请求接口调用所述预设通用格式确定第二查询结果。
可选地,所述排序单元包括:第一分析模块,用于分析每个待查询的字段的首字母,并对所有的首字母进行排序,得到首字母排序结果;第一排序模块,用于按照所述首字母排序结果,对所有待查询的字段进行排序,得到字段排序结果;第二排序模块,用于按照所述字段排序结果,对所述数据查询结果中包含的多条数据结果进行排序。
可选地,所述排序单元还包括:第一生成模块,用于根据数据排序结果,生成随机盐字符,以完成对排序后的数据结果进行加盐操作。
可选地,待查询的多个字段包括:状态码字段、提示信息字段、前端需求信息字段、请求列表个数字段和当前列表个数字段。
可选地,每个待查询的字段所对应的字段参数长度一致。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的统一数据结构的控制方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述的统一数据结构的控制方法。
在本发明实施例中,通过接收用户终端发送的数据查询请求,基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式,进而对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作,最后将完成加盐操作的数据结果返回至用户终端。在该实施例中,通过采用统一通用的数据格式,降低沟通成本,同时,通过增加校验,使用户上传的数据在传输过程中不容易被修改,从而保证了数据传输方面的安全,进而解决了相关技术中数据结构不规范以及无法保障数据安全性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的统一数据结构的控制方法的流程图;
图2是根据本发明实施例的一种可选的统一数据结构的控制装置的示意图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
APaaS的全称是Application Platform as a Service,即应用程序平台即服务,它是一种云服务,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。APaaS平台提供了以下功能:迭代构建应用程序、即时提供应用软件、按需扩展应用程序以及集成应用程序与其他服务。
MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
一般系统会计算密码的md5后保存。md5这种不可逆的加密方法理论上已经很安全了,但是随着彩虹表的出现,使得大量长度不够的密码可以直接从彩虹表里反推出来。所以,只对密码进行md5加密是肯定不够的。因此,当用户的密码很短时,需要在其短密码后面加上一段很长的字符,再计算md5,那反推出原始密码就变得非常困难。加上的这段长字符,称为盐(Salt),通过这种方式加密的结果,就是加盐。
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应,就整个网络资源传输而言,包括message-header和message-body两部分。
标头(header)是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与HTML文件之间尚需空一行分隔。
针对云架构需求增多的情况,本发明中还可以设计混合云架构(公有云、私有云、混合云),兼容多个客户的数据查询请求、每个客户组织子结构。
本发明下述各实施例可应用于应用平台即服务APaaS中,各实施例中涉及到的返回的字段可以自己定义,也可以按照自己的规则来定制,例如data可以修改为result,或者message缩写为msg,都是可行的设计。对于本发明各实施例中涉及的加密操作,包括但不限于MD5、SHA-512等。
下面结合各实施例对本发明进行详细说明。
实施例一
根据本发明实施例,提供了一种统一数据结构的控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的统一数据结构的控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收用户终端发送的数据查询请求;
步骤S104,基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式;
步骤S106,对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作;
步骤S108,将完成加盐操作的数据结果返回至用户终端。
通过上述步骤,通过接收用户终端发送的数据查询请求,基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式,进而对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作,最后将完成加盐操作的数据结果返回至用户终端。在该实施例中,通过采用统一通用的数据格式,降低沟通成本,同时,通过增加校验,使用户上传的数据在传输过程中不容易被修改,从而保证了数据传输方面的安全,进而解决了相关技术中数据结构不规范以及无法保障数据安全性的技术问题。
下面结合上述各实施步骤对本发明实施例进行详细说明。
步骤S102,接收用户终端发送的数据查询请求。
本发明实施例涉及的用户终端包括但不限于:移动终端、PC机、虚拟终端等,使用用户终端发送的数据查询请求可以为每一次向后台请求数据,包括但不限于:用户登录的时候会向后台发送登录请求,用户查看组织列表的时候向后台请求数据返回等。
针对客户的云架构需求,可以接收来自于不同云架构(公有云、私有云、混合云)的用户终端发送的数据查询请求。数据查询请求中还可以携带有基于多种云架构的数据查询字段、客户组织组织子结构信息和每个组织子结构的权限信息。
步骤S104,基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式。
可选的,基于数据查询请求,调用预设通用格式确定数据查询结果的步骤,包括:若数据查询请求为登录数据查询请求,则采用第一请求接口调用预设通用格式确定第一查询结果。
在一种实施例中,用户登录的时候会向后台发送登录请求(比如使用POST请求接口/api/user/login)
登录成功后返回数据如下:
其中,code:返回不同的状态码;
message:状态码不同返回不同的提示信息;
data:返回给前端需要的具体信息;
size:data数据为列表形式时,返回请求的列表个数;
total:data数据为列表形式时,返回当前列表个数。
另一种可选的,基于数据查询请求,调用预设通用格式确定数据查询结果的步骤,包括:若数据查询请求为组织列表查询请求,则采用第二请求接口调用预设通用格式确定第二查询结果。
在本实施例中,用户查看组织列表的时候,会向后台请求数据返回(可以使用GET请求接口/api/admin/organization)
请求成功后返回数据如下:
可选的,待查询的多个字段包括:状态码字段、提示信息字段、前端需求信息字段、请求列表个数字段和当前列表个数字段。
在本实施例中,可以设置如下字段,通用的返回值结果如下:
另一种可选的,增加了size和total字段,对于返回的列表数据,前端能够很容易的进行分页处理,而不需要前端进行额外的计算。
另一种可选的,每个待查询的字段所对应的字段参数长度一致。
步骤S106,对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作。
可选的,对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作的步骤,包括:分析每个待查询的字段的首字母,并对所有的首字母进行排序,得到首字母排序结果;按照首字母排序结果,对所有待查询的字段进行排序,得到字段排序结果;按照字段排序结果,对数据查询结果中包含的多条数据结果进行排序。
另一种可选的,在对数据查询结果中包含的多条数据结果进行排序之后,控制方法还包括:根据数据排序结果,生成随机盐字符,以完成对排序后的数据结果进行加盐操作。
在本实施例中,可以选择按照待查询的字段的首字母进行升序排序,例如,注册用户在填写信息时,输入的部分字段为:name=test&age=33&sex=1,按照字段的首字母进行升序排序后为agenamesex,生成随机盐为+dsd3sfsf,对数据进行加密操作,可选用md5,即md5(agenamesex+dsd3sfsf),生成字符在header里传到后台,随机的盐也一起传递到后台,完成加盐操作。
本实施例中,也可以选用哈希函数进行加密操作,哈希函数将一些数据作为输入,并为输入数据生成固定长度的输出(称为哈希摘要),其中,该输出应该满足下述条件:
1.均匀分布:对于任何给定的输入值,每个可能的输出都有相同的可能性产生;
2.固定长度:输出值都应该是固定长度的;
3.意见冲突:简单地说,这意味着不存在任何不可能找到两个不同的输入哈希函数,导致相同的输出(哈希摘要)。
另一种可选的,加密操作可以使用SHA-512代替md5,SHA-512与md5相比会更安全,更难破解,出于安全的考虑,用SHA-512代替md5会给更好,但是计算效率会相应的低一些。
步骤S108,将完成加盐操作的数据结果返回至用户终端。
用户在收到返回的数据结果后,可以进行解密操作,从而保证了数据在传输过程中的安全。
可选的,本发明实施例中,针对云架构需求增多的情况,支持混合云架构的产品,例如:支持一个大型组织的线上云架构,需要在总体架构上是混合云方式,那么基于混合云的架构,权限管理服务也是支持的,可以让组织信息同时兼容私有云和公有云。
通过上述步骤,不仅统一了数据结构,对于想接入平台的开发者来说,降低了学习成本,并且状态码的良好的定义,保证了调用者能很快的进入开发。再者,保证了数据安全,用户上传的数据在传输过程中很容易在传输过程中被修改,使用数据校验的方式,可以保证数据传输方面的安全。通过增加size和total字段,对于返回的列表数据,前端能很容易的进行分页处理,而不需要前端进行额外的计算。
下面结合另一种可选的实施例来说明本发明。
实施例二
本发明实施例提出统一数据结构的控制装置,该处理装置中包含的各个实施单元对应于上述实施例一中的各个实施步骤。
图2是根据本发明实施例的一种可选的统一数据结构的控制装置的示意图,如图2所示,该信息处理装置包括:接收单元20,调用单元22,排序单元24,发送单元26,其中,
接收单元20,用于接收用户终端发送的数据查询请求;
调用单元22,用于基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式;
排序单元24,用于对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作;
发送单元26,用于将完成加盐操作的数据结果返回至用户终端。
上述统一数据结构的控制装置,可以通过接收单元20接收用户终端发送的数据查询请求,通过调用单元22用于基于数据查询请求,调用预设通用格式确定数据查询结果,其中,预设通用格式中至少包括:待查询的多个字段,预设通用格式用于统一待输出的目标数据的格式,进而通过排序单元24对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作,最后通过发送单元26将完成加盐操作的数据结果返回至用户终端。在该实施例中,通过采用统一通用的数据格式,降低沟通成本,同时,通过增加校验,使用户上传的数据在传输过程中不容易被修改,从而保证了数据传输方面的安全,进而解决了相关技术中数据结构不规范以及无法保障数据安全性的技术问题。
可选地,调用单元包括:第一采用模块,若数据查询请求为登录数据查询请求,则采用第一请求接口调用预设通用格式确定第一查询结果。
可选地,调用单元还包括:第二采用模块,若数据查询请求为组织列表查询请求,则采用第二请求接口调用预设通用格式确定第二查询结果。
可选地,排序单元包括:第一分析模块,分析每个待查询的字段的首字母,并对所有的首字母进行排序,得到首字母排序结果;第一排序模块,按照首字母排序结果,对所有待查询的字段进行排序,得到字段排序结果;第二排序模块,按照字段排序结果,对数据查询结果中包含的多条数据结果进行排序。
可选地,排序单元还包括:第一生成模块,根据数据排序结果,生成随机盐字符,以完成对排序后的数据结果进行加盐操作。
可选地,待查询的多个字段包括:状态码字段、提示信息字段、前端需求信息字段、请求列表个数字段和当前列表个数字段。
可选地,每个待查询的字段所对应的字段参数长度一致。
上述的统一数据结构的控制装置还可以包括处理器和存储器,上述接收单元20,调用单元22,排序单元24,发送单元26等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作,最后将完成加盐操作的数据结果返回至用户终端。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述的统一数据结构的控制方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的统一数据结构的控制方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过接收用户终端发送的数据查询请求,基于数据查询请求,调用预设通用格式确定数据查询结果,进而对数据查询结果中包含的多条数据结果进行排序,并对排序后的数据结果进行加盐操作,最后将完成加盐操作的数据结果返回至用户终端。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 统一数据结构的控制方法及控制装置、电子设备
- 控制装置及具备该控制装置的船舶、以及统一控制方法