CN117951725A - 一种数据处理方法、装置、存储介质及设备 - Google Patents
一种数据处理方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN117951725A CN117951725A CN202211297890.8A CN202211297890A CN117951725A CN 117951725 A CN117951725 A CN 117951725A CN 202211297890 A CN202211297890 A CN 202211297890A CN 117951725 A CN117951725 A CN 117951725A
- Authority
- CN
- China
- Prior art keywords
- data
- target component
- storage file
- data storage
- access
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 88
- 238000003672 processing method Methods 0.000 title abstract description 20
- 238000013500 data storage Methods 0.000 claims abstract description 544
- 238000000034 method Methods 0.000 claims abstract description 134
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000012795 verification Methods 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 49
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000002955 isolation Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007711 solidification Methods 0.000 description 4
- 230000008023 solidification Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102000005717 Myeloma Proteins Human genes 0.000 description 1
- 108010045503 Myeloma Proteins Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、存储介质及设备,适用于云技术的安全领域。方法包括:获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识;调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件;若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务;根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果;若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。通过本申请,可以提高数据处理的安全性。
Description
技术领域
本申请涉及一种计算机技术领域,尤其涉及一种数据处理方法、装置、存储介质及设备。
背景技术
随着移动互联网的发展,移动平台涌现出成千上万各式各样的应用组件,使得人们的生活越来越依赖移动智能设备,给人们的生活和工作带来了极大的便利。
目前,移动终端中的应用组件可以在自己维护的文件夹下进行数据读写操作,但是移动终端中一般不会对文件进行相关锁操作,因此不能避免其他应用组件对移动终端中的应用组件的文件进行读写操作,存在数据被泄露或者被篡改的现象,导致文件中数据处理的安全性较低。
发明内容
本申请实施例所要解决的技术问题在于,提供一种数据处理方法、装置、存储介质及设备,可以提高数据处理的安全性。
本申请实施例一方面提供一种数据处理方法,包括:
获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识;
调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件;
若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务;
根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果;
若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
本申请实施例一方面提供一种数据处理装置,包括:
生成模块,用于获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识;
确定模块,用于调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件;
第一获取模块,用于若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务;
校验模块,用于根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果;
第一执行模块,用于若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
其中,生成模块包括:
第一生成单元,用于在目标组件处于启动状态时,调用标识确定方法生成目标组件类型对应的类型字符标识;
拼接单元,用于将类型字符标识与随机字符串进行拼接,得到目标组件的初始组件标识;
固化处理单元,用于对初始组件标识进行数据固化处理,得到数据固化处理后的初始组件标识,将数据固化处理后的初始组件标识确定为目标组件的目标组件标识。
其中,确定模块包括:
检测单元,用于调用文件获取接口,在结构体集合中检测目标组件类型对应的对象结构体,得到结构体检测结果;结构体集合包括多个组件类型对应的对象结构体,对象结构体包括用于生成具有对应组件类型的组件的数据存储文件的方法;
调用单元,用于若结构体检测结果指示结构体集合中存在目标组件类型对应的对象结构体,则调用实例创建方法,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,得到目标组件对应的实例方法;
第二生成单元,用于调用目标组件对应的实例方法,生成目标组件对应的数据存储地址和数据存储键值对;
第三生成单元,用于根据目标组件的数据存储地址和数据存储键值对,生成目标组件的数据存储文件。
其中,待校验数据包括用于对数据存储文件进行更新的更新数据以及针对数据存储文件的访问密钥;
校验模块包括:
确定单元,用于获取更新数据对应的目标数据字段,根据目标数据字段确定更新数据对应的待更新范围;
解密单元,用于若待更新范围属于数据存储文件,则采用访问密钥对数据存储文件中的数据进行解密;
校验单元,用于若数据存储文件中的数据被成功解密,则对更新数据的有效性进行校验,得到有效性校验结果;
第四生成单元,用于若有效性校验结果指示更新数据具有有效性,则确定目标组件具有针对数据存储文件的访问合法性,生成用于指示目标组件具有针对数据存储文件的访问合法性的合法性校验结果。
其中,确定单元具体用于:
从存储数据库中获取与目标数据字段匹配的数据,作为更新数据对应的原始数据;数据存储文件属于存储数据库;
对原始数据进行数据编码,得到原始数据的数据编码值;
若数据存储文件中存在数据编码值与原始数据的数据编码值匹配的数据,则确定更新数据对应的待更新范围属于数据存储文件。
其中,待校验数据还包括更新数据对应的签名信息;
校验单元具体用于:
若数据存储文件中的数据被成功解密,则创建虚拟状态机,将数据存储文件中的原始数据添加至虚拟状态机中,得到临时存储文件;数据存储文件中的原始数据的数据字段与更新数据的目标数据字段匹配;
采用数据存储文件对应的公钥,对签名信息进行验签,得到第一摘要信息,根据摘要算法生成更新数据对应的第二摘要信息;
若第一摘要信息与第二摘要信息匹配,则确定更新数据的内容不存在异常,采用更新数据对临时存储文件中的原始数据进行更新,得到更新后的临时存储文件;
若更新后的临时存储文件中数据对应的数据字段属于数据存储文件,则确定更新数据中的字段不存在异常,确定更新数据具有有效性,生成用于指示更新数据具有有效性的有效性校验结果。
其中,第一执行模块包括:
替换单元,用于若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则采用更新后的临时存储文件中的数据替换数据存储文件中的原始数据。
其中,数据处理装置还包括:
第二获取模块,用于若检测到目标组件存在版本更新操作,则获取目标组件更新后的更新数据存储文件;
拷贝模块,用于将目标组件对应的数据存储文件中的数据,拷贝至更新数据存储文件中;
第二执行模块,用于若目标组件具有针对数据存储文件的访问合法性时,则根据数据存储文件和更新数据存储文件,执行目标组件针对数据存储文件的访问业务。
其中,访问业务用于指示采用更新数据对数据存储文件中的原始数据进行更新,更新数据为用于对数据存储文件进行更新的数据;
数据处理装置还包括:
第三获取模块,用于在采用更新数据对数据存储文件中的原始数据进行更新完成后,获取原始数据关联的关联数据集合;关联数据集合包括与目标组件关联的关联数据和关联数据对应的数据索引;关联数据为关于原始数据的操作数据;
关联更新模块,用于根据数据索引以及原始数据的更新操作,对关联数据进行关联更新。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例中,通过根据目标组件的目标组件类型生成目标组件的目标组件标识,这样可以生成具有唯一性的组件标识,避免与其他组件产生混淆。进一步地,可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。这样,可以根据具有唯一性的目标组件标识,生成目标组件的具有唯一性的数据存储文件,可以将目标组件所产生的业务数据存储至数据存储文件中,目标组件也可以在该数据存储文件中进行数据读写操作,避免不存在目标组件的数据存储文件时,将目标组件所产生的业务数据存储至其他组件的数据存储文件中,出现数据混乱,且出现目标组件的数据或者其他组件的业务数据被修改或者覆盖的情况。同时,这样可以实现数据隔离,组件之间的数据处理的安全性。进一步地,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。可见,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性校验,只有在校验通过时才运行目标组件对数据存储文件进行访问,可以有效避免其他非法组件对该数据存储文件中的数据进行篡改,可以数据存储文件中数据处理的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理系统的架构示意图;
图2是本申请实施例提供的一种数据处理的应用场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供一种数据存储文件生成方法的示意图;
图5是本申请实施例提供的一种数据存储文件生成方法的示意图;
图6是本申请实施例提供的一种对目标组件针对数据存储文件的访问合法性进行校验的流程示意图;
图7是本申请实施例提高的一种数据处理方法的示意图;
图8是本申请实施例提供的一种对数据存储文件中的数据进行数据处理的示意图;
图9是本申请实施例提供的一种数据处理方法的流程示意图;
图10是本申请实施例提供的一种数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请主要涉及云技术中的云安全应用场景,具体的,本申请中利用云技术,在目标组件针对数据存储文件的访问时进行安全验证,避免出现非法组件对数据存储文件中的数据进行篡改或者读取,通过多点安全性保障,可以进一步提高数据存储文件中数据处理的安全性,显著增强数据处理的安全性。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。云技术被广泛应用于云存储、云计算、云安全等领域。
其中,云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常检测,获取互联网中木马、非法程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
请参见图1,图1为本申请实施例中的数据处理系统的结构示意图,图1所示的数据处理系统包括终端设备集群,该终端设备集群可以包括一个或者至少两个终端设备,这里将不对终端设备的数量进行限制。如图1所示,该终端设备集群可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。
可选的,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n之间可以通过与服务器连接的方式进行通信。如图1所示,图1所示的数据处理系统还包括服务器10,各个终端设备分别与服务器10之间建立通信连接;当每两个终端设备之间需要数据处理时,需要一个终端设备(如发送终端设备)将数据发送至服务器10,由服务器10将该数据转发至另一个终端设备(如接收终端设备)。也就是说,服务器10可以用于各个终端设备之间进行通信的中间设备。服务器10具体可以是指对终端设备中的数据进行处理的后台服务器。该服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,终端设备集群中的每个终端设备均可以包括:车载终端设备、智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备等具有数据处理功能的智能终端设备。应当理解,如图1所示的终端设备集群中的每个终端设备均可以安装有应用程序,该应用程序中包括用于处理业务的业务组件,当该业务组件运行于各终端设备中时,可以分别与上述图1所示的服务器10之间进行数据交互。此处的业务组件可以包括能够执行相关业务的业务组件,如播放组件、广告组件、拍摄组件。当然,每个终端设备的应用程序中也可以接入第三方组件,该第三方组件可以是第三方平台(如其他应用程序)开发的功能组件,如网关组件、支付组件、表格组件、报表组件、用户界面组件等。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种数据处理的应用场景示意图。其中,如图2所示的服务器20c可以为上述的服务器10,如图2所示的终端设备20a可以为上述图1中所展示的终端设备集群中的任意一个终端设备,图2中的目标组件20b可以是指终端设备20a中的任意一个组件(如接入终端设备20a的第三方组件)。如图2所示,目标组件20b安装至终端设备20a,或者,在终端设备20a中启动时,终端设备可以获取目标组件20b的目标组件类型。其中,该目标组件类型可以是指网关组件类型、支付组件类型、表格组件类型、界面组件类型等。进一步地,终端设备20a可以执行步骤S1,将目标组件20b的目标组件类型发送给服务器20c。服务器20c接收到终端设备20a发送的目标组件20b的目标组件类型后,可以执行步骤2,根据目标组件20b的目标组件类型生成目标组件的目标组件标识。进一步地,服务器20c可以调用文件获取接口,根据目标组件类型和目标组件标识确定目标组件20b的数据存储文件,并执行步骤3,将目标组件20b的数据存储文件返回给终端设备20a。终端设备20a接收到目标组件20b的数据存储文件后,可以将目标组件20b的数据存储文件作为用于存储目标组件20b关联的业务数据的文件。这样,便可以实现不同组件采用不同的数据存储文件,避免组件之间的业务数据产生混淆以及避免出现组件对应的文件中的业务数据被篡改等的情况,可以提高数据处理的安全性。
进一步地,若终端设备20a检测到目标组件20b针对数据存储文件的访问请求,则可以将该目标组件20b的访问请求发送给服务器20c,该访问请求携带与目标组件20b关联的待校验数据和目标组件20b针对数据存储文件的访问业务,待校验数据用于对目标组件20b针对数据存储文件的访问合法性进行校验。服务器20c可以执行步骤4,若接收到目标组件20b针对数据存储文件的访问请求,则获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务。进一步地,服务器20c可以执行步骤5,根据待校验数据对目标组件20b针对数据存储文件的访问合法性进行校验,得到合法性校验结果。进一步地,服务器20c可以执行步骤6,将关于目标组件的合法性校验结果发送给终端设备20a,终端设备20a可以接收服务器20c发送的合法性校验结果。终端设备20a可以执行步骤7,若确定合法性校验结果指示目标组件20b具有针对数据存储文件的访问合法性,则执行目标组件20b针对数据存储文件的访问业务,该访问业务可以是指读取数据存储文件中的数据,或者,更改数据存储文件中的数据,或者,删除数据存储文件中的数据等。这样,只有目标组件具有针对数据存储文件的访问合法性,才允许目标组件对数据存储文件进行访问,避免组件中的业务数据被恶意篡改或者泄露,可以提高数据存储文件中数据处理的安全性。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。该数据处理方法可由图1中的任一终端设备来执行,也可以由图1中的服务器10来执行,还可以由图1中的任一终端设备和图1中的服务器10共同执行,本申请中用于执行该方法的设备可以统称为计算机设备。如图3所示,该数据处理方法可以包括但不限于以下步骤:
S101,获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识。
具体的,计算机设备可以获取用于处理业务的目标组件的目标组件类型,该目标组件可以是指应用程序中的组件。其中,应用程序可以是指移动金融开发平台(TencentMobile FinTech Platform,简称TMF),该目标组件可以是指应用程序中的第三方组件(即其他应用程序中的组件),如网关组件、支付组件、表格组件、报表组件、用户界面组件等。其中,目标组件类型可以是指网关组件类型、支付组件类型、表格组件类型、界面组件类型等。进一步地,计算机设备可以根据目标组件类型生成目标组件的目标组件标识。可以理解的是,计算机设备可以对目标组件进行分类,得到目标组件的目标组件类型,在目标组件类型下,确定目标组件唯一的目标组件标识。例如,若目标组件的目标组件类型为网关组件类型,则可以确定目标组件的目标组件标识为网关组件A1。这样,可以生成目标组件对应唯一的目标组件标识(即不同组件具有不同的组件标识)。
可选的,计算机设备生成目标组件的目标组件标识的具体方式以包括:在目标组件处于启动状态时,调用标识确定方法生成目标组件类型对应的类型字符标识。将类型字符标识与随机字符串进行拼接,得到目标组件的初始组件标识,对初始组件标识进行数据固化处理,得到数据固化处理后的初始组件标识,将数据固化处理后的初始组件标识确定为目标组件的目标组件标识。
具体的,计算机设备可以在目标组件启动期间,获取目标组件的目标组件类型,调用标识确定方法生成目标组件类型对应的类型字符标识。具体的,标识确定方法可以是指宏定义方法、类型确定方法等。其中,宏定义方法是指采用字符标识表示的方式,如网关组件类型对应的类型字符标识可以用字符标识“1”表示,表格组件类型对应的类型字符标识可以采用字符标识“2”表示。其中,类型确定方法是指直接将目标组件类型确定为类型字符标识,如网关组件类型对应的类型字符标识为“网关”,表格组件类型对应的类型字符标识为“表格”。进一步地,计算机设备可以获取随机字符,如计算机设备可以从字符库中获取(如随机获取,或者,按顺序获取等)任意一个字符,作为随机字符,该字符库中包括互不相同的字符,如“1,2,3,4…”、“a,b,c,d,…”、“A,B,C,D”等。其中,当字符库中的字符被选取中后,可以将该被选取中的字符从字符库中删除,以确定生成的目标组件的目标组件标识的唯一性。
进一步地,计算机设备可以将随机字符与目标组件类型对应的类型字符标识进行拼接,得到目标组件的初始组件标识。可选的,计算机设备可以将随机字符作为类型字符标识的前缀,得到目标组件的初始组件标识。例如,类型字符标识为“A”,随机字符为“1”,则可以将“1”作为“A”的前缀,得到目标组件的初始组件标识“1A”。可选的,计算机设备也可以将随机字符作为类型字符标识的后缀,得到目标组件的初始组件标识。例如,类型字符标识为“A”,随机字符为“1”,则可以将“1”作为“A”的后缀,得到目标组件的初始组件标识“A1”。计算机设备可以对目标组件的初始组件标识进行数据固化处理,得到数据固化处理后的初始组件标识,将数据固化处理后的初始组件标识确定为目标组件的目标组件标识。其中,数据固化处理是指为了避免相关数据因为造访等原因,造成信息更改或损坏的可能,将其转化为不可逆的只读方式的过程。可以生成目标组件对应的具有唯一性的目标组件标识,同时也可以确保该目标组件标识不可以被更改。
可选的,计算机设备可以将目标组件类型对应的类型字符标识写入TMFScenesManager(即场景管理插件),该TMFScenesManager用于管理应用程序中组件运行时的场景。通过调用TMFScenesManager,根据上述标识确定方法生成目标组件对应的目标组件标识。
S102,调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。
具体的,计算机设备可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。其中,计算机设备可以调用文件获取接口,检测是否存在目标组件的数据存储文件(即历史生成的),若不存在目标组件的数据存储文件,则通过文件获取接口可以获取到TMFScenesManager中的homepath接口(一种数据存储地址生成接口)和TMFScenesManager中的currentUserDefault接口(一种数据存储字段生成接口)。计算机设备可以调用homepath接口可以生成目标组件对应的具有唯一性的数据存储地址,调用currentUserDefault接口可以生成目标组件对应的具有唯一性的数据存储字段(即键值对“key”:“value”)。具体的,计算机设备可以调用currentUserDefault接口生成数据存储字段,该数据存储字段包括多个数据字段,即键值对中“key”的名称,后续对目标组件的业务数据进行存储时,可以确定目标组件的业务数据对应的数据字段(即“key”),将目标组件对应的业务数据作为数据字段对应的字段值,即“key”对应的“value”值。如网关组件中的数据字段可以包括“网关类型”、“网关标识”、“网关权限”等等。
其中,计算机设备可以利用反射机制确定目标组件的实例方法,通过目标组件的实例方法生成目标组件的数据存储文件。其中,反射机制是指对于任意一个类(如组件类型),都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法。
这样,可以生成目标组件对应的具有唯一性的数据存储地址,以及生成具有唯一性的数据字段,根据数据存储地址和数据存储键值对生成目标组件对应的数据存储文件。这样避免在根据数据字段对数据更新时,若存在多个数据字段相同时,则会出现具有相同数据字段对应的字段值(即“key”对应的“value”值)被误修改。
例如,以不生成具有唯一性的数据字段为例,若视频播放组件对应的数据存储文件包括数据字段“权限”,以及该数据字段“权限”对应的字段值“视频1、视频2…”,音频播放组件中也包括数据字段“权限”,以及该数据字段“权限”对应的字段值“音频1、音频2…”。若计算机设备需要对视频播放组件中的数据字段“权限”对应的字段值更改为“视频a1、视频a2…”,计算机设备以数据字段“权限”进行数据拉取时,则会拉取到视频播放组件中数据字段“权限”以及音频播放组件中的数据字段“权限”,则误操作将音频播放组件中的数据字段“权限”对应的字段值更改为“视频a1、视频a2…”,出现音频播放组件被误修改等情况。因此,通过调用currentUserDefault接口可以生成目标组件对应的具有唯一性的数据存储字段,可以提高数据处理的安全性。
可选的,计算机设备确定目标组件的数据存储文件的具体方式可以包括:调用文件获取接口,在结构体集合中检测目标组件类型对应的对象结构体,得到结构体检测结果;结构体集合包括多个组件类型对应的对象结构体,对象结构体包括用于生成具有对应组件类型的组件的数据存储文件的方法。若结构体检测结果指示结构体集合中存在目标组件类型对应的对象结构体,则调用实例创建方法,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,得到目标组件对应的实例方法。调用目标组件对应的实例方法,生成目标组件对应的数据存储地址和数据存储字段,根据目标组件的数据存储地址和数据存储字段,生成目标组件的数据存储文件。
具体的,计算机设备可以文件获取接口,在结构体集合中检测目标组件类型对应的对象结构体,得到结构体检测结果。具体的,计算机设备可以NSClassFromString(即一种实例对象初始化方法,采用该NSClassFromString可以返回实例对象的结构体初始化结果),在结构体集合中检测目标组件类型对应的对象结构体。其中,该结构体集合中包括多个组件类型对应的对象结构体,即一个组件类型对应一个对象结构体,该对象结构体包括用于生成具有对应组件类型的组件的数据储存文件的方法。换句话说,该对象结构体中包括homepath接口(用于获取生成数据存储地址的接口)和currentUserDefault接口(用于获取数据存储字段的接口)。其中,计算机设备可以采用工厂模式预先生成不同组件类型对应的对象结构体,根据不同组件类型对应的对象结构体,生成不同组件类型的组件的数据存储文件。例如,在工厂模式下,可以预先设置鞋子对应的对象结构体(即鞋子的制造方法)、上衣对应的对象结构体(即上衣的制造方法)、裤子对应的对象结构体(即裤子的制造方法)。根据鞋子对应的对象结构体,生成多个鞋子(如鞋子1、鞋子2、鞋子3等),根据上衣对应的对象结构体生成多个上衣(如上衣1、上衣2、上衣3等),根据裤子对应的对象结构体生成多个裤子(如裤子1、裤子2、裤子3等)。
其中,工厂模式属于创建型模式,它提供了一种创建对象的最佳方式,在工厂模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。例如,计算机设备可以创建网关组件类型对应的对象结构体,该网关组件类型对应的对象结构体包括用于生成网关组件类型的组件的数据存储文件的方法。计算机设备可以采用工厂模式,根据网关组件类型对应的对象结构体生成具有网关组件类型的网关1的数据存储文件,以及生成网关2的数据存储文件等,这样便可以生成具有网关组件类型到的多个网关的数据存储文件。若采用NSClassFromString可以获取到目标组件类型对应的对象结构体,则表示创建的结构体不为空,即初始化成功;若采用NSClassFromString可以不获取到目标组件类型对应的对象结构体,则表示创建的结构体为空,即初始化失败。
进一步地,若计算机设备确定结构体检测结果指示结构体集合中存在目标组件类型对应的对象结构体,则调用实例创建方法,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,得到目标组件对应的实例方法。可以理解的是,目标组件类型的对象结构体包括用于生成具有对应组件类型的组件的数据存储文件的方法,因此,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,便可以生成目标组件对象的实例方法。其中,实例创建方法可以是指NSSelectorFromString(一种根据字符串(如目标组件标识)确定实例方法的方法)。计算机设备可以调用目标组件对应的实例方法,生成目标组件对应的数据存储地址和数据存储字段。具体的,目标组件类型对应的对象结构体中包括homepath接口(该homepath接口用于获取生成目标组件类型的组件的数据存储地址的生成方法)和currentUserDefault接口(该currentUserDefault接口用于获取目标组件类型的组件的数据存储字段的生成方法)。计算机设备可以调用对象结构体中的homepath接口,获取生成目标组件类型的组件的数据存储地址的地址生成方法,调用地址生成方法生成目标组件对应的数据存储地址,该数据存储字段具有唯一性。其中,不同组件调用该地址生成方法时,地址生成方法根据不同的组件,生成不同的数据存储地址。数据存储地址一般为应用程序的Documents文件中的一些子目录路径。其中,Documents文件是应用程序中用于存放长期使用数据的文件。
同时,计算机设备可以调用currentUserDefault接口,获取目标组件类型的组件的数据存储字段的字段生成方法,调用该字段生成方法生成目标组件对应的数据存储字段,该生成的数据存储字段具有唯一性。其中,不同组件调用该字段生成方法时,字段生成方法根据不同的组件,生成不同的数据存储地址。具体的,调用不同对象结构体中的homepath接口和currentUserDefault接口,可以产生唯一的数据存储地址和数据存储字段。可见,通过TMFScenesManager内部使用反射生成数据存储文件,并采用工厂模式能够极大减少不同组件对数据存储文件的生成和保存,组件通过调用TMFScenesManager对数据存储文件进行数据读写,能够做到有效的数据隔离,在不修改第三方组件的功能下保证第三方组件在数据读写过程中不会将其他组件(如应用程序中的内部组件)产生的数据进行篡改。
如图4所示,图4是本申请实施例提供一种数据存储文件生成方法的示意图,如图4所示,以生成网关组价和表格组件分别对应的数据存储文件为例。计算机设备可以获取网关组件40a对应的目标组件类型(即网关组件类型),以及获取表格组件40b对应的目标组件类型(即表格组件类型)。进一步地,计算机设备可以调用实例对象初始化方法40c,根据网关组件类型确定网关组件40a对应的网关结构体40d,以及根据表格组件类型确定表格组件40b对应的表格结构体40e,具体内容可以参见上述描述,本申请实施例在此不再赘述。进一步地,计算机设备可以生成网关组件40a对应的标识,以及获取表格组件40b对应的标识,调用实例创建方法40f,将网关组件40a的标识添加至网关结构体40d中,得到网关组件40a对应的网关实例方法40g。计算机设备可以调用实例创建方法40f,将表格组件40b的标识添加至表格结构体40e中,得到表格组件40b对应的网关实例施方法40h。进一步地,计算机设备可以调用网关实例方法40g生成网关组件40a的数据存储文件40i,调用表格实例方法40h生成表格组件40b的数据存储文件40j,具体内容可以参见上述描述,本申请实施例在此不再赘述。其中,网关实例方法40g中包括homepath接口和currentUserDefault接口,调用该网关实例方法40g中的homepath接口和currentUserDefault接口,可以生成网关组件对应的具有唯一性的数据存储地址和数据存储字段。同样的,表格实例方法40h中包括homepath接口和currentUserDefault接口,调用该表格实例方法40h中的homepath接口和currentUserDefault接口,可以生成表格组件对应的具有唯一性的数据存储地址和数据存储字段。
如图5所示,图5是本申请实施例提供的一种数据存储文件生成方法的示意图,如图5所示,计算机设备可以获取目标组件的目标组件类型,根据宏定义方法确定目标组件类型对应的宏名。进一步地,计算机设备可以将目标组件类型对应的宏名传入场景管理插件中,在将随机字符作为目标组件类型对应的宏名的前缀,得到目标组件的初始组件标识。进一步地,计算机设备可以对目标组件的初始组件标识进行数据固化,得到目标组件的目标组件标识。进一步地,计算基设备可以调用文件获取方法,通过反射调用获取目标组件类型对应的对象结构体,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,得到目标组件对应的实例方法。进一步地,计算机设备可以调用文件获取接口,即数据存储地址生成接口(即homepath接口)和数据存储字段生成接口(即currentUserDefault接口)。计算机设备可以调用对象结构体中homepath接口,获取生成目标组件的数据存储地址的地址生成方法,调用目标生成方法生成目标组件对应的数据存储地址,该数据存储字段具有唯一性。数据存储地址一般为应用程序的Documents文件中的一些子目录路径。其中,Documents文件是应用程序中用于存放长期使用数据的文件。同时,计算机设备可以调用currentUserDefault接口,获取目标组件的数据存储字段的字段生成方法,调用该字段生成方法生成目标组件对应的数据存储字段,该生成的数据存储字段具有唯一性。具体的,调用不同对象结构体中的homepath接口和currentUserDefault接口,可以产生唯一的数据存储地址和数据存储字段。
S103,若接收到目标组件针对数据存储文件的访问请求,则获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务。
具体的,若计算机设备接收到目标组件针对数据存储文件的访问请求,则获取访问请求中携带的待校验数据和目标组件针对数据存储文件的访问业务。其中,待校验数据可以是指目标组件与计算机设备之间约定的数据,计算机设备可以基于待校验数据对目标组件针对数据存储文件的访问合法性进行校验。其中,访问业务可以是指读取数据存储文件中的数据(即业务数据)的操作,或者,修改数据存储文件中的数据的操作,或者,删除数据存储文件中数据的操作等。
S104,根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。
具体的,计算机设备可以根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果,该合法性校验结果可以为用于指示目标组件具有针对数据存储文件的访问合法性的结果,或者,用于指示目标组件不具有针对数据存储文件的访问合法性的结果。其中,待校验数据可以是指计算机设备与目标组件之间约定的数据,若目标组件的访问请求中携带的待校验数据符合计算机设备与目标组件之间的约定,则确定目标组件具有针对数据存储文件的访问合法性。若目标组件的访问请求中携带的待校验数据不符合计算机设备与目标组件之间的约定,则确定目标组件不具有针对数据存储文件的访问合法性。这样,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性进行校验,避免目标组件的数据存储文件中的数据被泄露或者被恶意更改,这样可以提高数据存储文件中数据访问的安全性。
可选的,待校验数据可以包括用于对数据存储文件进行更新的更新数据以及针对数据存储文件的访问密钥,计算机设备对目标组件针对数据存储文件的访问合法性进行校验的具体方式可以包括:获取更新数据对应的目标数据字段,根据目标数据字段确定更新数据对应的待更新范围。若待更新范围属于数据存储文件,则采用访问密钥对数据存储文件中的数据进行解密。若数据存储文件中的数据被成功解密,则对更新数据的有效性进行校验,得到有效性校验结果。若有效性校验结果指示更新数据具有有效性,则确定目标组件具有针对数据存储文件的访问合法性,生成用于指示目标组件具有针对数据存储文件的访问合法性的合法性校验结果。
具体的,计算机设备可以获取更新数据对应的目标数据字段,根据该目标数据字段确定更新数据对应的待更新范围。可以理解的是,由于计算机设备生成的数据存储字段具有唯一性,因此可以根据更新数据对应的目标数据字段,确定更新数据所要更新的原始数据所在的位置(即待更新范围)。进一步地,计算机设备可以检测更新数据对应的待更新范围是否属于目标组件对应的数据存储文件。若计算机设备确定更新数据对应的待更新范围不属于目标组件对应的数据存储文件,则确定目标组件不具有针对数据存储文件的访问合法性。
具体的,若计算机设备确定更新数据对应的待更新范围属于目标组件对应的数据存储文件,则访问密钥对数据存储文件中的数据进行解密,该访问密钥可以是计算机设备在生成目标组件对应的数据存储文件时所生成的访问密钥,并将该访问密钥分配给目标组件,在目标组件对数据存储文件进行访问时需要携带该访问密钥,以校验目标组件针对数据存储文件的访问合法性。其中,计算机设备可以将数据存储文件以及访问密钥传入到DecryptECB函数(一种解密函数)中,生成解密结果,该解密结果包括解密成功结果(即指示数据存储文件中的数据被成功解密),或者,解密失败结果(即指示数据存储文件中的数据未被成功解密)。
进一步地,若目标组件的数据存储文件中的数据未被解密成功,可以说明目标组件携带的访问密钥不是计算机设备分配给目标组件的密钥,则确定目标组件不具有针对数据存储文件的访问合法性。若目标组件的数据存储文件中的数据被解密成功,可以说明目标组件携带的访问密钥是计算机设备分配给目标组件的密钥,则对更新数据的有效性进行校验,得到有效性校验结果。进一步地,若有效性校验结果指示更新数据具有有效性,则确定目标组件具有针对数据存储文件的访问合法性,生成用于指示目标组件具有针对数据存储文件的访问合法性的合法性校验结果。这样,对更新数据的有效性进行校验,可以避免在数据存储文件中写入错误的数据,且避免在数据存储文件中的数据被恶意更改,可以提高数据处理的安全性。
可选的,计算机设备根据目标数据字段确定更新数据对应的待更新范围的具体方式可以包括:从存储数据库中获取与目标数据字段匹配的数据,作为更新数据对应的原始数据;数据存储文件属于存储数据库。对原始数据进行数据编码,得到原始数据的数据编码值,若数据存储文件中存在数据编码值与原始数据的数据编码值匹配的数据,则确定更新数据对应的待更新范围属于数据存储文件。
具体的,计算机设备可以从存储数据库中查询与目标数据字段匹配的数据,作为更新数据对应的原始数据,该更新数据用于更新存储数据库中的原始数据,数据存储文件属于存储数据库。其中,存储数据库中包括M个组件分别对应的数据存储文件,M为正整数。如M可以取值为1,2,3,…。进一步地,计算机设备可以对原始数据进行数据编码,得到原始数据的数据编码值,同时,计算机设备可以采用与原始数据的相同编码方式,对数据存储文件中的数据进行编码,得到数据存储文件中数据的数据编码值。其中,计算机设备可以预先生成数据存储文件中的数据的数据编码值,也可以在生成原始数据的数据编码值时生成数据存储文件中的数据的数据编码值。若数据存储文件中存在数据编码值与原始数据的数据编码值匹配的数据,说明更新数据对应的原始数据属于数据存储文件中(即原始数据存在于数据存储文件中),则确定更新数据对应的待更新范围属于数据存储文件。
其中,计算机设备可以采用Md5(即Message-Digest Algorithm)编码方式生成原始数据的Md5值,以及生成数据存储文件中数据的Md5值。其中,MD5是一种信息摘要算法,可以产生出一个128位(16字节)的散列值,用于确保信息完整一致。若数据存储文件中值中存在与原始数据的Md5值相同的Md5值,则说明原始数据存在于数据存储文件中,则可以确定目标组件是对数据存储文件中的数据进行访问。若数据存储文件中值中不存在与原始数据的Md5值相同的Md5值,则说明原始数据不存在于数据存储文件中(如存在于其他数据存储文件中),则可以确定目标组件不具有针对数据存储文件中的数据进行访问合法性。其中,当获取到目标组件针对数据存储文件的访问请求时,计算机设备可以先将数据存储文件中的数据生成TMFInfo(即TMFinformation,即应用程序信息)数据,该TMFInfo数据包括Md5值、encryptKey(即加密密钥)、文件最后修改时间modifyTime,验签报文元素(包括公钥)等,用于后续对目标组件针对数据存储文件的访问合法性进行校验。
例如,当登录组件的登录对象发生改变时,该登录组件可以将改变后的用户名作为新的默认用户名“****”,存储至登录组件对应的数据存储文件中,以便下次改变后的登录对象再次登录时,可以再次输入用户名。登录组件可以携带默认用户名“****”对数据存储文件进行访问,计算机设备可以将默认用户名“****”作为更新数据。进一步地,计算机设备可以获取默认用户名“****”对应的目标数据字段,即“默认用户名”。由于存储数据库中的数据字段具有唯一性,因此计算机设备可以根据该目标数据字段“默认用户名”,检测存储数据库中是否存在与目标数据字段“默认用户名”相同的数据字段。若存储数据库中不存在与目标数据字段“默认用户名”相同的数据字段,则可以确定目标组件不具有针对数据存储文件的访问合法性。若存储数据库中存在与目标数据字段“默认用户名”相同的数据字段,则获取与目标数据字段“默认用户名”相同的数据字段对应的数据,作为原始数据,该原始数据可以为空(即还没有对应的值),也可以不为空。
进一步地,计算机设备可以获取原始数据对应的Md5值,以及获取数据存储文件中数据的Md5值,检测数据存储文件中数据的Md5值中是否存在与原始数据对应的Md5值相同的Md5值。若数据存储文件中数据的Md5值中不存在与原始数据对应的Md5值相同的Md5值,则确定目标组件不具有针对数据存储文件的访问合法性。若数据存储文件中数据的Md5值中存在与原始数据对应的Md5值相同的Md5值,则可以确定原始数据存在于数据存储文件中,即更新数据用于对数据存储文件中的数据进行更新。若最后确定目标组件具有针对数据存储文件的访问合法性时,则将默认用户名“****”替换数据存储文件中的原始数据。
可选的,待校验数据还包括更新数据对应的签名信息,计算机设备对更新数据的有效性进行校验的具体方式可以包括:若数据存储文件中的数据被成功解密,则创建虚拟状态机,将数据存储文件中的原始数据添加至虚拟状态机中,得到临时存储文件;数据存储文件中的原始数据的数据字段与更新数据的目标数据字段匹配。采用数据存储文件对应的公钥,对签名信息进行验签,得到第一摘要信息,根据摘要算法生成更新数据对应的第二摘要信息。若第一摘要信息与第二摘要信息匹配,则确定更新数据的内容不存在异常,采用更新数据对临时存储文件中的原始数据进行更新,得到更新后的临时存储文件。若更新后的临时存储文件中数据对应的数据字段属于数据存储文件中的数据存储字段,则确定更新数据中的字段不存在异常,确定更新数据具有有效性,生成用于指示更新数据具有有效性的有效性校验结果。
具体的,若数据存储文件中的数据被成功解密,则计算机设备可以创建虚拟状态机,将数据存储文件中的原始数据复制至虚拟状态机中,生成临时存储文件。这样,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问。其中,数据存储文件中的原始数据的数据字段与更新数据的目标数据字段匹配,即更新数据用于对数据存储文件中的原始数据进行更新。计算机设备还可以获取待校验数据中的更新数据对应的签名信息,该签名信息是目标组件采用约定的摘要算法对初始更新数据进行哈希算法,得到第一摘要信息。其中,初始更新数据是指目标组件确定的用于对数据存储文件进行更新的数据。
进一步地,目标组件可以采用访问密钥对第一摘要信息进行签名处理,得到签名信息,并生成携带包含初始更新数据和签名信息的访问请求,向数据存储文件发起访问。计算机设备检测到目标组件针对数据存储文件的访问请求后,可以获取到的访问请求中所携带到的初始更新数据,作为更新数据,以及将访问请求中的签名信息作为更新数据对应的签名信息。其中,由于目标组件将初始更新数据和签名信息发送给计算机设备时,可以会被非法组件篡改或者替换的情况,即计算机设备接收到的更新数据可以是指目标组件发送的初始更新数据,也有可能是非法组件对初始更新数据进行篡改或者替换后的数据,因此,可以将计算机设备接收到的初始更新数据作为更新数据。
其中,目标组件的访问请求携带的访问密钥可以是指私钥,计算机设备可以获取数据存储文件对应的公钥,对更新数据对应的签名信息进行验签,得到第一摘要信息。进一步地,计算机设备可以采用摘要算法(与对初始更新数据进行哈希算法的摘要算法相同)对更新数据进行哈希算法,得到更新数据对应的第二摘要信息。计算机设备可以校验第一摘要信息与第二摘要信息是否匹配,若第一摘要信息与第二摘要信息匹配,说明计算机设备接收到的更新数据为目标组件发送的初始更新数据,即初始更新数据没有被篡改或者替换。若第一摘要信息与第二摘要信息不匹配,说明计算机设备接收到的更新数据不为目标组件发送的初始更新数据,即初始更新数据在发送的过程中被非法组件篡改或者替换,计算机设备可以确定目标组件不具有针对数据存储文件的访问合法性。若第一摘要信息与第二摘要信息匹配,确定更新数据的内容不存在异常,采用更新数据对临时存储文件中的原始数据进行更新,得到更新后的临时存储文件。
进一步地,在将更新后的临时存储文件中的内容迁移到数据存储文件之前,计算机设备还可以检测更新后的临时存储文件中更新数据的字段是否存在异常,以此来检测在对更新数据进行验签过程中是否存在非法组件对临时文件中的内容进行修改。若更新后的临时存储文件中数据对应的数据字段不属于数据存储文件,则可以确定在对更新数据进行验签过程中存在非法组件对临时文件中的内容进行修改,则可以确定更新数据不具有有效性,确定目标组件不具有针对数据存储文件的访问合法性。若更新后的临时存储文件中数据对应的数据字段属于数据存储文件,则确定更新数据中的字段不存在异常,确定更新数据具有有效性,生成用于指示更新数据具有有效性的有效性校验结果。这样,对更新数据进行验签,可以接收到被非法组件恶意篡改或者替换的数据,可以提高数据处理的安全性。同时,校验更新后的临时存储文件中数据对应的数据字段是否属于数据存储文件,可以避免将非法组件在更新数据进行验签过程中对临时存储文件中的数据进行恶意篡改或者替换后的数据,添加至数据存储文件中,可以提高数据处理的安全性。
具体的,计算机设备可以对更新后的临时存储文件中的更新数据进行解析,得到更新后的临时存储文件中的更新数据所对应的数据字段,检测更新后的临时存储文件中数据对应的数据字段是否属于数据存储文件。例如,计算机设备对存储文件中的更新数据进行解析,得到数据字段1、数据字段2以及数据字段3,计算机设备可以检测数据字段1、数据字段2以及数据字段3是否属于数据存储文件中所包含的数据存储字段。若数据字段1、数据字段2以及数据字段3属于数据存储文件中所包含的数据存储字段,则说明在对更新数据进行验签过程中不存在非法组件对临时文件中的内容进行修改,则确定验签成功,确定目标组件具有针对数据存储文件的访问合法性。若数据字段1、数据字段2以及数据字段3不属于数据存储文件中所包含的数据存储字段,则说明在对更新数据进行验签过程中存在非法组件对临时文件中的内容进行修改,则确定验签失败,确定目标组件不具有针对数据存储文件的访问合法性。
S105,若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
具体的,若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则计算机设备可以执行目标组件针对数据存储文件的访问业务,该访问业务可以是指对数据存储文件中的数据进行修改的操作,或者,对数据存储文件中的数据进行删除的操作,或者,对数据存储文件中的数据进行读操作等。例如,访问业务用于采用更新数据对数据存储文件进行更新,若计算机设备确定合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则采用更新数据对数据存储文件中的原始数据进行更新。这样,只有在确定目标组件具有针对数据存储文件的访问合法性,才执行访问业务,可以提高数据存储文件中数据的数据处理安全性。其中,数据存储文件中数据的修改操作经过校验Md5、数据解密、临时目录的生成和验签过程,能够有效防止其他组件对该数据存储文件下的数据修改,同时,在函数调用传递参数过程中对数据存储文件中的数据进行拷贝,能够减少数据传递过程中函数执行错误导致的数据丢失。
可选的,计算机设备得到更新后的临时存储文件,并确定更新后的临时存储文件中数据对应的数据字段属于数据存储文件后,可以确定合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,采用更新后的临时存储文件中的数据替换数据存储文件中的原始数据。这样,只有在确定目标组件具有针对数据存储文件的访问合法性,才采用更新后的临时存储文件中的数据替换数据存储文件中的原始数据,可以提高对数据存储文件中数据更新的安全性。其中,对于在数据存储文件的数据,可通过TMFScenesManager的保护下进行读写操作,当函数调用(组件调用)产生中间变量时,可以获取底层堆栈中的参数集合(即数据存储文件中的数据),将参数集合进行深拷贝,防止数据存储文件中的数据在传递过程中遭到篡改从而影响程序的正常执行。其中,深拷贝是指会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象,在本申请实施例中,计算机设备可以对数据存储文件中的数据进行复制,得到一个复制的数据存储文件,这样,可以避免在对目标组件针对数据存储文件的访问合法性进行校验时,出现数据存储文件中的数据丢失的情况,可以提高数据处理的安全性。
如图6所示,图6是本申请实施例提供的一种对目标组件针对数据存储文件的访问合法性进行校验的流程示意图,如图6所示,计算机设备可以执行步骤60a,以开始对目标组件针对数据存储文件的访问合法性的校验过程。进一步地,计算机设备可以执行步骤60b,以获取更新数据对应的原始数据,对原始数据进行Md5编码,得到原始数据的Md5值。同时,计算机设备也可以对数据存储文件中的数据进行Md5编码,得到数据存储文件中数据的Md5值,计算机设备可以根据数据存储文件中数据的Md5值,校验数据存储文件中是否存在与原始数据的Md5值匹配的数据。若数据存储文件中不存在与原始数据的Md5值匹配的数据,则计算机设备可以执行步骤60g,以确定目标组件不具有针对数据存储文件的访问合法性,即目标组件不允许访问数据存储文件,以及结束对目标组件针对数据存储文件的访问合法性的校验过程。若数据存储文件中存在与原始数据的Md5值匹配的数据,则计算机设备可以执行步骤60c,以检测采用目标组件携带的访问密钥对数据存储文件中的数据是否解密成功。
若采用目标组件携带的访问密钥对数据存储文件中的数据解密失败,则计算机设备可以执行步骤60g,以确定目标组件不具有针对数据存储文件的访问合法性,即目标组件不允许访问数据存储文件,以及结束对目标组件针对数据存储文件的访问合法性的校验过程。若计算机设备采用目标组件携带的访问密钥对数据存储文件中的数据解密成功,则可以执行步骤60d,创建虚拟状态机,将数据存储文件中的原始数据复制至虚拟状态机中,生成临时存储文件。这样,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问。进一步地,计算机设备可以执行步骤60e,以对更新数据进行验签。具体的,计算机设备还可以获取待校验数据中的更新数据对应的签名信息,该签名信息是目标组件采用约定的摘要算法对初始更新数据进行哈希算法,得到第一摘要信息。根据摘要算法生成更新数据对应的第二摘要信息。若第一摘要信息与第二摘要信息匹配,则确定更新数据的内容不存在异常,采用更新数据对临时存储文件中的原始数据进行更新,得到更新后的临时存储文件。若更新后的临时存储文件中数据对应的数据字段属于数据存储文件中的数据存储字段,则确定更新数据中的字段不存在异常,确定更新数据具有有效性,生成用于指示更新数据具有有效性的有效性校验结果,具体验签内容可以参见上述描述,本申请实施例在此不再赘述。若对更新数据验签失败,则计算机设备可以执行步骤60g,以确定目标组件不具有针对数据存储文件的访问合法性,即目标组件不允许访问数据存储文件,以及结束对目标组件针对数据存储文件的访问合法性的校验过程。若对更新数据验签成功,则计算机设备可以执行步骤60f,以将临时存储文件迁移至数据存储文件中,即将临时存储文件中的数据替换数据存储文件中的原始数据。
如图7所示,图7是本申请实施例提高的一种数据处理方法的示意图,如图7所示,应用程序中可以包括内部组件和其他外部组件。其中,内部组件包括移动网关、容器、内核等组件,其他外部组件可以是指第三方组件,该其他外部组件可以是指其他应用程序中开发的组件。如图7所示,以目标组件为应用程序中的其他外部组件为例,内部组件可以通过系统接口(即API),如NSUserDefaults(一种数据获取接口)、plist(一种属性表文件的获取接口)等,获取应用程序中的系统文件目录(即数据存储文件)。由于应用程序中内部组件能够遵守数据归档规范,不会对其他组件的数据存储文件进行数据读写操作。但是,在应用程序中接入第三方组件(即其他外部组件时,如下载组件、图片浏览器、分享组件等),第三方组件可能不会遵守数据归档规范,因而会存在对其他组件的数据存储文件进行篡改或读取,从而造成数据安全相关问题。因此本申请可以通过场景管理插件(即TMFScenesManager),采用工厂模式,生成不同其他外部组件分别对应的数据存储文件,实现数据隔离,避免出现其他外部组件对内部组件中的数据进行篡改或者误操作等情况,可以提高数据处理的安全性。
同时,由于应用程序中内部组件都会在应用程序进行数据存储,每个内部组件可能会有不同功能,不同功能产生的数据存储的位置可能不一样,但是会存在一个组件(内部组件或者其他组件)由于内部逻辑运算错误或不知晓的情况下对另一个组件(内部组件或者其他组件)的数据存储文件进行访问,出现数据被篡改或者丢失的安全性问题。例如,用户联系人数据库包括了联系日志文件和回滚文件,在存储时可能跟其他组件在同一级目录下,可能导致其他组件在删除文件时将该同一级目录文件下的数据清空。因此,在其他外部组件在访问对应的数据存储文件时,计算机设备可以对目标组件针对数据存储文件的访问合法性进行校验,只有在目标组件具有针对数据存储文件的访问合法性时,才允许目标组件对数据存储文件进行读写操作。这样,可以提高数据读写操作的安全性。
图8所示,图8是本申请实施例提供的一种对数据存储文件中的数据进行数据处理的示意图,如图8所示,当计算机设备接收到目标组件针对数据存储文件的访问请求时,可以执行步骤1,进入开始对数据存储文件中的数据进行读写操作。进一步地,计算机设备可以至执行步骤2,调用底层函数对数据存储文件中的数据进行数据深拷贝,计算机设备可以执行步骤3,调用底层函数返回深拷贝的数据存储文件中的数据。这样,防止数据在传递过程中遭到篡改从而影响应用程序的正常执行。进一步地,计算机设备可以执行步骤4,通过底层函数调用函数1,该函数1可以是指访问合法性校验函数,向该合法性校验函数传递数据存储文件中的数据,以及目标组件的访问请求中携带的待校验数据。计算机设备可以执行步骤5,通过函数1调用函数2,该函数2可以是指Md5值校验函数、数据解密函数和验签函数等函数,并将待校验数据发送给函数2。函数2可以对目标组件针对数据存储文件的访问合法性进行校验,得到函数2的函数运算结果,进行一步地,计算机设备可以执行步骤6,通过函数2,向函数1返回函数2的函数运算结果(如Md5值校验结果、数据解密结果和验签结果),具体内容可以参考上述的内容,本申请实施例在此不再赘述。进一步地,函数1可以基于函数2的函数运算结果对目标组件针对数据存储文件的合法性进行校验,得到函数1的函数运算结果(即合法性校验结果)。计算机设备可以执行步骤7,通过函数7,向底层函数返回函数1的函数运算结果,并基于该函数1的函数运算结果确定是否允许目标组件对数据存储文件进行访问。
在本申请实施例中,通过根据目标组件的目标组件类型生成目标组件的目标组件标识,这样可以生成具有唯一性的组件标识,避免与其他组件产生混淆。进一步地,可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。这样,可以根据具有唯一性的目标组件标识,生成目标组件的具有唯一性的数据存储文件,可以将目标组件所产生的业务数据存储至数据存储文件中,目标组件也可以在该数据存储文件中进行数据读写操作,避免不存在目标组件的数据存储文件时,将目标组件所产生的业务数据存储至其他组件的数据存储文件中,出现数据混乱,且出现目标组件的数据或者其他组件的业务数据被修改或者覆盖的情况。同时,这样可以实现数据隔离,组件之间的数据处理的安全性。进一步地,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。可见,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性校验(校验Md5值、数据解密、验签等操作),只有在校验通过时才运行目标组件对数据存储文件进行访问,可以有效避免其他非法组件对该数据存储文件中的数据进行篡改,可以数据存储文件中数据处理的安全性。同时,还可以在对更新数据进行验证过程中,生成临时存储文件,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问,也可以避免因对目标组件的校验过程中出现数据丢失的情况。
请参见图9,图9是本申请实施例提供的一种数据处理方法的流程示意图。该数据处理方法可由图1中的任一终端设备来执行,也可以由图1中的服务器10来执行,还可以由图1中的任一终端设备和图1中的服务器10共同执行,本申请中用于执行该方法的设备可以统称为计算机设备。如图9所示,该数据处理方法可以包括但不限于以下步骤:
S201,获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识。
S202,调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。
S203,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务。
S204,根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。
S205,若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
具体的,本申请实施例中步骤S201-S205的具体内容可以参见上述图3中步骤S101-S105的内容,本申请实施例在此不在赘述。
S206,若检测到目标组件存在版本更新操作,则获取目标组件更新后的更新数据存储文件。
具体的,当组件进行升级时一般会有路径的改变,因此需要适配应用组件老版本升级到新版本后数据读写的问题,如在1.0版本页面中需要的广告数据来源于数据库对应路径为pathA,在2.0版本数据库升级路径变为pathB。若计算机设备检测到目标组件存在版本更新操作,则可以获取目标组件更新后的更新数据存储文件,如pathB。
S207,将目标组件对应的数据存储文件中的数据,拷贝至更新数据存储文件中。
具体的,由于组件进行升级路径发生改变后,由于升级之前的代码调用的路径指定的是pathA,还会存在部分业务尝试根据pathA对数据存储文件中的数据进行读写操作,因此,计算机设备需要基于pathA的数据对2.0版本中pathB进行增删改查。计算机设备可以将目标组件对应的数据存储文件中的数据,拷贝至更新数据存储文件中,即将pathA的数据拷贝到pathB中。这样,可以避免存在部分业务尝试根据pathA对数据存储文件中的数据进行读写操作,导致数据丢失的情况。
S208,若目标组件具有针对数据存储文件的访问合法性时,则根据数据存储文件和更新数据存储文件,执行目标组件针对数据存储文件的访问业务。
具体的,若目标组件具有针对数据存储文件的访问合法性时,则根据数据存储文件和更新数据存储文件,执行目标组件针对数据存储文件的访问业务。这样,当存在部分业务尝试根据pathA对数据存储文件中的数据进行读写操作时,计算机设备确定目标组件具有针对数据存储文件的访问合法性后,可以同时根据目标组件针对数据存储文件的访问业务,对数据存储文件和更新数据存储文件进行更新。例如,当目标组件根据pathA对数据存储文件中的数据进行修改时,计算机设备可以基于目标组件的修改请求同时对数据存储文件和更新数据存储文件进行修改。这样,可以避免存在部分业务尝试根据pathA对数据存储文件中的数据进行读写操作,导致数据丢失的情况。
可选的,访问业务用于指示采用更新数据对数据存储文件中的原始数据进行更新,更新数据为用于对数据存储文件进行更新的数据。计算机设备还可以在采用更新数据对数据存储文件中的原始数据进行更新完成后,获取原始数据关联的关联数据集合;关联数据集合包括与目标组件关联的关联数据和关联数据对应的数据索引;关联数据为关于原始数据的操作数据。根据数据索引以及原始数据的更新操作,对关联数据进行关联更新。
具体的,不同组件之间存在业务上的交互,业务数据取值和变更也会存在交互的情况。例如,下载组件进行了下载图片,存储在图片库组件中,此时下载组件对应的路径(即对应数据存储文件)下会产生日志,图片库组件中也会在对应的数据存储文件中产生图片的实际路径。当图片在图片库组件中进行删除成功后,也可以在下载组件的日志中,将该图片产生日志进行删除。因此,当计算机设备采用更新数据对数据存储文件中的原始数据进行更新完成后,获取原始数据关联的关联数据集合。该关联数据集合是指TMFScenesManager根据数据字段对应的关联数据设置得到的一个关联数据集合(该关联数据集合中包括受影响的关联数据,该关联数据的数量可能存在多个)。其中,该关联数据集合还包括关联数据对应的数据索引,关联数据可以为关于原始数据的操作数据。进一步地,计算机设备可以根据数据索引以及原始数据的更新操作,对关联数据进行关联更新。例如,下载组件进行了下载图片,存储在图片库组件中,同时生成一个关联数据集合(即依赖集合属性),该关联数据集合可能包括应用内存空间中的关联数据、图片存储类型中的数据、图片库分类中的数据等。通过获取关联数据的数据索引(即path取值),通过一个匿名函数交给内存空间、图片存储类型、图片库分类这三个业务去实现其各自的变化规则,将原始的数据变动计算为影响后的数据值。这样,可以删除关联数据,降低数据存储压力。
在本申请实施例中,通过根据目标组件的目标组件类型生成目标组件的目标组件标识,这样可以生成具有唯一性的组件标识,避免与其他组件产生混淆。进一步地,可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。这样,可以根据具有唯一性的目标组件标识,生成目标组件的具有唯一性的数据存储文件,可以将目标组件所产生的业务数据存储至数据存储文件中,目标组件也可以在该数据存储文件中进行数据读写操作,避免不存在目标组件的数据存储文件时,将目标组件所产生的业务数据存储至其他组件的数据存储文件中,出现数据混乱,且出现目标组件的数据或者其他组件的业务数据被修改或者覆盖的情况。同时,这样可以实现数据隔离,组件之间的数据处理的安全性。进一步地,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
可见,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性校验(校验Md5值、数据解密、验签等操作),只有在校验通过时才运行目标组件对数据存储文件进行访问,可以有效避免其他非法组件对该数据存储文件中的数据进行篡改,可以数据存储文件中数据处理的安全性。同时,还可以在对更新数据进行验证过程中,生成临时存储文件,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问,也可以避免因对目标组件的校验过程中出现数据丢失的情况。另外,本申请可以目标组件的版本发生变更是,可以将更新之前的数据存储文件拷贝至更新后的更新数据存储文件中,如将pathA的数据拷贝到pathB中。这样,可以避免存在部分业务尝试根据更新前的路径对数据存储文件中的数据进行读写操作时,导致数据丢失的情况。同时,也可以关联更新关联数据,降低数据存储压力。
请参见图10,图10是本申请实施例提供的一种数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行本申请实施例提供的数据处理方法中的相应步骤。如图10所示,该数据处理装置可以包括:生成模块11、确定模块12、第一获取模块13、校验模块14、第一执行模块15、第二获取模块16、拷贝模块17、第二执行模块18、第三获取模块19以及关联更新模块20。
生成模块11,用于获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识;
确定模块12,用于调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件;
第一获取模块13,用于若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务;
校验模块14,用于根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果;
第一执行模块15,用于若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
其中,生成模块11包括:
第一生成单元1101,用于在目标组件处于启动状态时,调用标识确定方法生成目标组件类型对应的类型字符标识;
拼接单元1102,用于将类型字符标识与随机字符串进行拼接,得到目标组件的初始组件标识;
固化处理单元1103,用于对初始组件标识进行数据固化处理,得到数据固化处理后的初始组件标识,将数据固化处理后的初始组件标识确定为目标组件的目标组件标识。
其中,确定模块12包括:
检测单元1201,用于调用文件获取接口,在结构体集合中检测目标组件类型对应的对象结构体,得到结构体检测结果;结构体集合包括多个组件类型对应的对象结构体,对象结构体包括用于生成具有对应组件类型的组件的数据存储文件的方法;
调用单元1202,用于若结构体检测结果指示结构体集合中存在目标组件类型对应的对象结构体,则调用实例创建方法,将目标组件的目标组件标识添加至目标组件类型对应的对象结构体中,得到目标组件对应的实例方法;
第二生成单元1203,用于调用目标组件对应的实例方法,生成目标组件对应的数据存储地址和数据存储键值对;
第三生成单元1204,用于根据目标组件的数据存储地址和数据存储键值对,生成目标组件的数据存储文件。
其中,待校验数据包括用于对数据存储文件进行更新的更新数据以及针对数据存储文件的访问密钥;
校验模块14包括:
确定单元1401,用于获取更新数据对应的目标数据字段,根据目标数据字段确定更新数据对应的待更新范围;
解密单元1402,用于若待更新范围属于数据存储文件,则采用访问密钥对数据存储文件中的数据进行解密;
校验单元1403,用于若数据存储文件中的数据被成功解密,则对更新数据的有效性进行校验,得到有效性校验结果;
第四生成单元1404,用于若有效性校验结果指示更新数据具有有效性,则确定目标组件具有针对数据存储文件的访问合法性,生成用于指示目标组件具有针对数据存储文件的访问合法性的合法性校验结果。
其中,确定单元1401具体用于:
从存储数据库中获取与目标数据字段匹配的数据,作为更新数据对应的原始数据;数据存储文件属于存储数据库;
对原始数据进行数据编码,得到原始数据的数据编码值;
若数据存储文件中存在数据编码值与原始数据的数据编码值匹配的数据,则确定更新数据对应的待更新范围属于数据存储文件。
其中,待校验数据还包括更新数据对应的签名信息;
校验单元1403具体用于:
若数据存储文件中的数据被成功解密,则创建虚拟状态机,将数据存储文件中的原始数据添加至虚拟状态机中,得到临时存储文件;数据存储文件中的原始数据的数据字段与更新数据的目标数据字段匹配;
采用数据存储文件对应的公钥,对签名信息进行验签,得到第一摘要信息,根据摘要算法生成更新数据对应的第二摘要信息;
若第一摘要信息与第二摘要信息匹配,则确定更新数据的内容不存在异常,采用更新数据对临时存储文件中的原始数据进行更新,得到更新后的临时存储文件;
若更新后的临时存储文件中数据对应的数据字段属于数据存储文件,则确定更新数据中的字段不存在异常,确定更新数据具有有效性,生成用于指示更新数据具有有效性的有效性校验结果。
其中,第一执行模块15包括:
替换单元1501,用于若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则采用更新后的临时存储文件中的数据替换数据存储文件中的原始数据。
其中,数据处理装置还包括:
第二获取模块16,用于若检测到目标组件存在版本更新操作,则获取目标组件更新后的更新数据存储文件;
拷贝模块17,用于将目标组件对应的数据存储文件中的数据,拷贝至更新数据存储文件中;
第二执行模块18,用于若目标组件具有针对数据存储文件的访问合法性时,则根据数据存储文件和更新数据存储文件,执行目标组件针对数据存储文件的访问业务。
其中,访问业务用于指示采用更新数据对数据存储文件中的原始数据进行更新,更新数据为用于对数据存储文件进行更新的数据;
数据处理装置还包括:
第三获取模块19,用于在采用更新数据对数据存储文件中的原始数据进行更新完成后,获取原始数据关联的关联数据集合;关联数据集合包括与目标组件关联的关联数据和关联数据对应的数据索引;关联数据为关于原始数据的操作数据;
关联更新模块20,用于根据数据索引以及原始数据的更新操作,对关联数据进行关联更新。
根据本申请的一个实施例,图10所示的数据处理装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
在本申请实施例中,在本申请实施例中,通过根据目标组件的目标组件类型生成目标组件的目标组件标识,这样可以生成具有唯一性的组件标识,避免与其他组件产生混淆。进一步地,可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。这样,可以根据具有唯一性的目标组件标识,生成目标组件的具有唯一性的数据存储文件,可以将目标组件所产生的业务数据存储至数据存储文件中,目标组件也可以在该数据存储文件中进行数据读写操作,避免不存在目标组件的数据存储文件时,将目标组件所产生的业务数据存储至其他组件的数据存储文件中,出现数据混乱,且出现目标组件的数据或者其他组件的业务数据被修改或者覆盖的情况。同时,这样可以实现数据隔离,组件之间的数据处理的安全性。进一步地,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。可见,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性校验(校验Md5值、数据解密、验签等操作),只有在校验通过时才运行目标组件对数据存储文件进行访问,可以有效避免其他非法组件对该数据存储文件中的数据进行篡改,可以数据存储文件中数据处理的安全性。同时,还可以在对更新数据进行验证过程中,生成临时存储文件,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问,也可以避免因对目标组件的校验过程中出现数据丢失的情况。另外,本申请可以目标组件的版本发生变更是,可以将更新之前的数据存储文件拷贝至更新后的更新数据存储文件中,如将pathA的数据拷贝到pathB中。这样,可以避免存在部分业务尝试根据更新前的路径对数据存储文件中的数据进行读写操作时,导致数据丢失的情况。同时,也可以关联更新关联数据,降低数据存储压力。
请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取用于处理业务的目标组件的目标组件类型,根据目标组件类型生成目标组件的目标组件标识;
调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件;
若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据和目标组件针对数据存储文件的访问业务;
根据待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果;
若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或者图9所对应实施例中对数据处理方法的描述,也可执行前文图10所对应实施例中对数据处理装置的描述,在此不再赘述。
在本申请实施例中,通过根据目标组件的目标组件类型生成目标组件的目标组件标识,这样可以生成具有唯一性的组件标识,避免与其他组件产生混淆。进一步地,可以调用文件获取接口,根据目标组件类型以及目标组件标识确定目标组件的数据存储文件。这样,可以根据具有唯一性的目标组件标识,生成目标组件的具有唯一性的数据存储文件,可以将目标组件所产生的业务数据存储至数据存储文件中,目标组件也可以在该数据存储文件中进行数据读写操作,避免不存在目标组件的数据存储文件时,将目标组件所产生的业务数据存储至其他组件的数据存储文件中,出现数据混乱,且出现目标组件的数据或者其他组件的业务数据被修改或者覆盖的情况。同时,这样可以实现数据隔离,组件之间的数据处理的安全性。进一步地,若接收到目标组件针对数据存储文件的访问请求,获取访问请求携带的待校验数据,对目标组件针对数据存储文件的访问合法性进行校验,得到合法性校验结果。若合法性校验结果指示目标组件具有针对数据存储文件的访问合法性,则执行访问业务。可见,在目标组件对数据存储文件进行访问时,需要对目标组件针对数据存储文件的访问合法性校验(校验Md5值、数据解密、验签等操作),只有在校验通过时才运行目标组件对数据存储文件进行访问,可以有效避免其他非法组件对该数据存储文件中的数据进行篡改,可以数据存储文件中数据处理的安全性。同时,还可以在对更新数据进行验证过程中,生成临时存储文件,其他组件可以正常访问数据存储文件,避免因目标组件的访问影响其他组件针对数据存储文件的访问,也可以避免因对目标组件的校验过程中出现数据丢失的情况。另外,本申请可以目标组件的版本发生变更是,可以将更新之前的数据存储文件拷贝至更新后的更新数据存储文件中,如将pathA的数据拷贝到pathB中。这样,可以避免存在部分业务尝试根据更新前的路径对数据存储文件中的数据进行读写操作时,导致数据丢失的情况。同时,也可以关联更新关联数据,降低数据存储压力。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图9所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。
另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图9所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,本申请以上实施例如果需要用到登录对象的操作信息以及登录对象的行为日志等对象信息时,需要获得登录对象的许可或者同意,且需要遵守相关国家和地区的相关法律法规。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取用于处理业务的目标组件的目标组件类型,根据所述目标组件类型生成所述目标组件的目标组件标识;
调用文件获取接口,根据所述目标组件类型以及所述目标组件标识确定所述目标组件的数据存储文件;
若接收到所述目标组件针对所述数据存储文件的访问请求,获取所述访问请求携带的待校验数据和所述目标组件针对所述数据存储文件的访问业务;
根据所述待校验数据,对所述目标组件针对所述数据存储文件的访问合法性进行校验,得到合法性校验结果;
若所述合法性校验结果指示所述目标组件具有针对所述数据存储文件的访问合法性,则执行所述访问业务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标组件类型生成所述目标组件的目标组件标识,包括:
在所述目标组件处于启动状态时,调用标识确定方法生成所述目标组件类型对应的类型字符标识;
将所述类型字符标识与随机字符串进行拼接,得到所述目标组件的初始组件标识;
对所述初始组件标识进行数据固化处理,得到数据固化处理后的初始组件标识,将数据固化处理后的初始组件标识确定为所述目标组件的目标组件标识。
3.根据权利要求1所述的方法,其特征在于,所述调用文件获取接口,根据所述目标组件类型以及所述目标组件标识确定所述目标组件的数据存储文件,包括:
调用所述文件获取接口,在结构体集合中检测所述目标组件类型对应的对象结构体,得到结构体检测结果;所述结构体集合包括多个组件类型对应的对象结构体,所述对象结构体包括用于生成具有对应组件类型的组件的数据存储文件的方法;
若所述结构体检测结果指示所述结构体集合中存在所述目标组件类型对应的对象结构体,则调用实例创建方法,将所述目标组件的目标组件标识添加至所述目标组件类型对应的对象结构体中,得到所述目标组件对应的实例方法;
调用所述目标组件对应的实例方法,生成所述目标组件对应的数据存储地址和数据存储键值对;
根据所述目标组件的数据存储地址和数据存储键值对,生成所述目标组件的数据存储文件。
4.根据权利要求1所述的方法,其特征在于,所述待校验数据包括用于对所述数据存储文件进行更新的更新数据以及针对所述数据存储文件的访问密钥;
根据所述待校验数据对所述目标组件针对所述数据存储文件的访问合法性进行校验,得到合法性校验结果,包括:
获取所述更新数据对应的目标数据字段,根据所述目标数据字段确定所述更新数据对应的待更新范围;
若所述待更新范围属于所述数据存储文件,则采用所述访问密钥对所述数据存储文件中的数据进行解密;
若所述数据存储文件中的数据被成功解密,则对所述更新数据的有效性进行校验,得到有效性校验结果;
若所述有效性校验结果指示所述更新数据具有有效性,则确定所述目标组件具有针对所述数据存储文件的访问合法性,生成用于指示所述目标组件具有针对所述数据存储文件的访问合法性的合法性校验结果。
5.根据权利要求4所述的方法,其特征在于,所述获取所述更新数据对应的目标数据字段,根据所述目标数据字段确定所述更新数据对应的待更新范围,包括:
从存储数据库中获取与所述目标数据字段匹配的数据,作为所述更新数据对应的原始数据;所述数据存储文件属于所述存储数据库;
对所述原始数据进行数据编码,得到所述原始数据的数据编码值;
若所述数据存储文件中存在数据编码值与所述原始数据的数据编码值匹配的数据,则确定所述更新数据对应的待更新范围属于所述数据存储文件。
6.根据权利要求4所述的方法,其特征在于,所述待校验数据还包括所述更新数据对应的签名信息;
所述若所述数据存储文件中的数据被成功解密,则对所述更新数据的有效性进行校验,得到有效性校验结果,包括:
若所述数据存储文件中的数据被成功解密,则创建虚拟状态机,将所述数据存储文件中的原始数据添加至所述虚拟状态机中,得到临时存储文件;所述数据存储文件中的原始数据的数据字段与所述更新数据的目标数据字段匹配;
采用所述数据存储文件对应的公钥,对所述签名信息进行验签,得到第一摘要信息,根据摘要算法生成所述更新数据对应的第二摘要信息;
若所述第一摘要信息与所述第二摘要信息匹配,则确定所述更新数据的内容不存在异常,采用所述更新数据对所述临时存储文件中的原始数据进行更新,得到更新后的临时存储文件;
若所述更新后的临时存储文件中数据对应的数据字段属于所述数据存储文件,则确定所述更新数据中的字段不存在异常,确定所述更新数据具有有效性,生成用于指示所述更新数据具有有效性的有效性校验结果。
7.根据权利要求6所述的方法,其特征在于,所述若所述合法性校验结果指示所述目标组件具有针对所述数据存储文件的访问合法性,则执行所述访问业务,包括:
若所述合法性校验结果指示所述目标组件具有针对所述数据存储文件的访问合法性,则采用所述更新后的临时存储文件中的数据替换所述数据存储文件中的原始数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述目标组件存在版本更新操作,则获取所述目标组件更新后的更新数据存储文件;
将所述目标组件对应的数据存储文件中的数据,拷贝至所述更新数据存储文件中;
若所述目标组件具有针对所述数据存储文件的访问合法性时,则根据所述数据存储文件和所述更新数据存储文件,执行所述目标组件针对所述数据存储文件的访问业务。
9.根据权利要求1所述的方法,其特征在于,所述访问业务用于指示采用更新数据对所述数据存储文件中的原始数据进行更新,所述更新数据为用于对所述数据存储文件进行更新的数据;
所述方法还包括:
在采用所述更新数据对所述数据存储文件中的原始数据进行更新完成后,获取所述原始数据关联的关联数据集合;所述关联数据集合包括与所述目标组件关联的关联数据和关联数据对应的数据索引;所述关联数据为关于所述原始数据的操作数据;
根据所述数据索引以及所述原始数据的更新操作,对所述关联数据进行关联更新。
10.一种数据处理装置,其特征在于,包括:
生成模块,用于获取用于处理业务的目标组件的目标组件类型,根据所述目标组件类型生成所述目标组件的目标组件标识;
确定模块,用于调用文件获取接口,根据所述目标组件类型以及所述目标组件标识确定所述目标组件的数据存储文件;
获取模块,用于若接收到所述目标组件针对所述数据存储文件的访问请求,获取所述访问请求携带的待校验数据和所述目标组件针对所述数据存储文件的访问业务;
校验模块,用于根据所述待校验数据,对所述目标组件针对所述数据存储文件的访问合法性进行校验,得到合法性校验结果;
执行模块,用于若所述合法性校验结果指示所述目标组件具有针对所述数据存储文件的访问合法性,则执行所述访问业务。
11.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-9任一项所述的方法。
13.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297890.8A CN117951725A (zh) | 2022-10-21 | 2022-10-21 | 一种数据处理方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211297890.8A CN117951725A (zh) | 2022-10-21 | 2022-10-21 | 一种数据处理方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117951725A true CN117951725A (zh) | 2024-04-30 |
Family
ID=90793289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211297890.8A Pending CN117951725A (zh) | 2022-10-21 | 2022-10-21 | 一种数据处理方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117951725A (zh) |
-
2022
- 2022-10-21 CN CN202211297890.8A patent/CN117951725A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698675B2 (en) | Decentralized automated software updates via blockchain | |
KR101956486B1 (ko) | 단말 식별자들을 용이하게 하는 방법 및 시스템 | |
US8549326B2 (en) | Method and system for extending encrypting file system | |
KR101723937B1 (ko) | 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스 | |
EP2550768B1 (en) | System and method for remote maintenance of client systems in an electronic network using software testing by a virtual machine | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
US20080282354A1 (en) | Access control based on program properties | |
CN111262889A (zh) | 一种云服务的权限认证方法、装置、设备及介质 | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
KR20170089352A (ko) | 가상화 시스템에서 수행하는 무결성 검증 방법 | |
CN111177703A (zh) | 操作系统数据完整性的确定方法及装置 | |
CN113010897B (zh) | 云计算安全管理方法及其系统 | |
JP2005527905A (ja) | 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体 | |
CN111597537B (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN111695098A (zh) | 多分布式集群访问方法及装置 | |
CN117951725A (zh) | 一种数据处理方法、装置、存储介质及设备 | |
CN111698227B (zh) | 信息同步管理方法、装置、计算机系统及可读存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN113596600A (zh) | 直播嵌入程序的安全管理方法、装置、设备及存储介质 | |
US20210089497A1 (en) | Method, device, and computer program product for managing data object | |
CN112464225A (zh) | 一种请求处理方法、请求处理装置及计算机可读存储介质 | |
CN112214769A (zh) | 基于SGX架构的Windows系统的主动度量系统 | |
US20230281321A1 (en) | Secure application development using distributed ledgers | |
US11764968B2 (en) | Verification of valid client library binary file on connecting to server system | |
CN115941349A (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 |