基于SPI矩阵式通信的数据处理方法、装置、设备及介质与流程

文档序号:32303430发布日期:2022-11-23 09:10阅读:90来源:国知局
基于SPI矩阵式通信的数据处理方法、装置、设备及介质与流程
基于spi矩阵式通信的数据处理方法、装置、设备及介质
技术领域
1.本技术属于安全通信技术领域,具体涉及一种基于spi矩阵式通信的数据处理方法、装置、设备及介质。


背景技术:

2.随着科学技术的不断发展,车与云平台、车与车、车与路,车与人的连接越来越密切,所以人们对车载设备的通信安全性要求就越来越严格。在此背景下,就有了车联网spi高速安全通信研究。
3.目前,使用基于双路spi并发实现车载通信网关高速密码运算的方法实现车联网通信。此方法使用上位机生成请求报文,通过轮询方式选择其中一路spi接口,对选中的spi接口通过通道锁锁定,以通过此通道将请求报文发送给加密芯片;得到结果报文后,关闭选中的spi接口的通道锁,并基于加密后的数据内容与外界进行交互。
4.本技术双路并发很难能够应对目前车辆与多端进行交互的需求,同时,每个spi接口的加密芯片只有一颗,当此加密芯片状态异常,会对稳定性产生很大的影响。因此,如何提高加解密处理速度以及如何避免产品稳定性差的问题,是本领域技术发展的关键壁垒。


技术实现要素:

5.本技术实施例提供一种基于spi矩阵式通信的数据处理方法、装置、设备及介质,目的在于解决现有技术使用双路spi接口,统一连接到一个安全加密芯片上而造成的限制加解密速率,且当加密芯片状态异常或老化严重时对产品稳定性产生很大影响的问题。通过使用多达16路spi通道,且每个独立的spi通道都有独立的加密芯片,并且使用特殊的spi通信协议栈去管理控制通信,提高了加解密速率的同时也提升了产品稳定性。
6.第一方面,本技术实施例提供了一种基于spi矩阵式通信的数据处理方法,所述方法由上位机执行;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应一个spi通道;所述方法包括:接收到待处理指令数据;确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;根据所述使用通道号将所述第二数据发送至安全芯片进行处理。
7.进一步的,在确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据之后,所述方法还包括:根据所述待处理指令数据确定指令业务类型;根据所述指令业务类型确定所述待处理指令数据的查询时长;将所述指令业务类型以及所述查询时长、指令编号以及开始时间戳存储至指令表
中。
8.进一步的,在将所述指令业务类型以及所述查询时长与所述指令编号存储至指令表中之后,所述方法还包括:根据所述指令表中的开始时间戳和查询时长,确定对所述待处理指令数据的状态查询指令的发出时间。
9.进一步的,在根据所述使用通道号将所述第二数据发送至安全芯片进行处理之后,所述方法还包括:若识别到查询触发事件,则发出状态查询指令;其中,所述状态查询指令包括被查询的指令数据的待查询指令编号;根据所述待查询指令编号确定使用通道号;对所述状态查询指令、待查询指令编号以及使用通道号进行封装,得到第三数据;根据所述使用通道号将所述第三数据发送至安全芯片,并接收所述安全芯片基于所述状态查询指令反馈的状态信息。
10.进一步的,在接收所述安全芯片基于所述状态查询指令反馈的状态信息之后,所述方法还包括:若所述状态信息为被查询的指令数据仍在处理中,则将所述指令表中的查询时长按照第一规则进行延长;基于延长后的查询时长监听查询触发事件。
11.进一步的,在接收所述安全芯片基于所述状态查询指令反馈的状态信息之后,所述方法还包括:若所述状态信息为被查询的指令数据已处理完成,则读取所述指令数据的响应数据,并获取所述指令数据的结束时间戳。
12.进一步的,在获取所述指令数据的结束时间戳之后,所述方法还包括:根据所述指令数据的指令编号,从指令表中提取查询时长,以及提取开始时间戳;根据所述开始时间戳以及所述结束时间戳,确定是否对所述查询时长进行第一优化;若是,则根据所述查询时长的第一优化结果,确定指令数据的业务类型关联的查询时长。
13.进一步的,在将所述指令表中的查询时长按照第一规则进行延长之后,所述方法还包括:对所述指令数据的业务类型生成查询时长优化标签,以用于对所述业务类型进行第二优化。
14.进一步的,在接收到待处理指令数据之前,所述方法还包括:初始化与安全芯片连接的spi通道号;基于各spi通道号向安全芯片发出测试指令,接收各spi通道的返回结果;根据所述返回结果确定可用安全芯片,并记录所述可用安全芯片对应的目标spi通道号。
15.第二方面,本技术实施例提供了一种基于spi矩阵式通信的数据处理装置,所述装置配置于上位机;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应
一个spi通道;所述装置包括:接收模块,用于接收待处理指令数据;第一数据打包模块,用于确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;第二数据打包模块,用于若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;第二数据发送模块,用于根据所述使用通道号将所述第二数据发送至安全芯片进行处理。
16.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
17.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
18.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
19.在本技术实施例中,所述方法由上位机执行;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应一个spi通道;接收到待处理指令数据;确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;根据所述使用通道号将所述第二数据发送至安全芯片进行处理。通过使用多达16路spi通道,且每个独立的spi通道都有独立的加密芯片,并且使用特殊的spi通信协议栈去管理控制通信,提高了加解密速率的同时也提升了产品稳定性。
附图说明
20.图1是本技术实施例一提供的基于spi矩阵式通信的数据处理方法的流程示意图;图2是本技术实施例二提供的基于spi矩阵式通信的数据处理方法的流程示意图;图3是本技术实施例三提供的基于spi矩阵式通信的数据处理方法的流程示意图;图4是本技术实施例四提供的基于spi矩阵式通信的数据处理方法的流程示意图;图5是本技术实施例四提供的基于spi矩阵式通信的数据处理的整体框架图;图6是本技术实施例五提供的基于spi矩阵式通信的数据处理装置的结构示意图;图7是本技术实施例提供的电子设备的结构示意图。
具体实施方式
21.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实
施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
23.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
24.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的基于spi矩阵式通信的数据处理方法、装置、设备及介质进行详细地说明。
25.实施例一图1是本技术实施例一提供的基于spi矩阵式通信的数据处理方法的流程示意图。如图1所示,具体包括如下步骤:s101,接收到待处理指令数据。
26.首先,本方案的使用场景可以是在车辆通过上位机与安全芯片的数据处理,得到加密数据之后与外界进行通信的场景。由于上位机的硬件资源优先,本方案中上位机可以通过一个spi接口连接多个安全芯片构成的安全芯片矩阵,并且基于此来构建全新的控制机制,来实现通过安全芯片矩阵的并发式数据处理方式,提高数据处理的速度,减少上位机的接口的占用。
27.基于上述使用场景,可以理解的,本技术的执行主体可以是该车载上位机,还可以上位机上面的控制芯片或者控制程序,此处不做过多的限定。
28.所述方法由上位机执行;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应一个spi通道。
29.上位机可以是指能直接发出操控命令的计算机,具体的,可以是车载中控屏以及方向盘等。车载中控屏拥有多个功能,当用户需要发出某些操作时使用。例如当用户想获得自己驾驶路线的路况,可以通过点击车载中控屏的自带地图与路边的交通传感器交互后获得。如今车上方向盘拥有多个按钮,可以在用户在驾驶过程中不方便对中控屏进行操作时使用。例如用户在高速公路上行驶时,想要以此速度进行跟车行驶,通过按下方向盘的“定速巡航”按钮,即能实现自动保持车速,即使不踩油门踏板,车辆也能以固定的速度行驶。
30.spi接口可以是串行外设接口。串行外设接口是一种同步外设接口,它可以使单片机与各种外围设备以串行方式进行通信以交换信息。
31.矩阵式安全芯片可以是将安全芯片排列为4*4的形式,即4排4列的形式。
32.安全芯片可以是可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为上位机提供加密和安全认证服务。用安全芯片进行加
密,密钥被存储在硬件中,被窃的数据无法解密,从而保护数据安全。
33.执行可以是当用户进行具体操作时,上位机将此指令传输给安全芯片加密,并接收安全芯片加密后的结果的过程。
34.连接可以是通过spi接口使上位机与矩阵式安全芯片可以进行数据交互的过程。
35.本方案中,待处理指令数据,可以是用户想获得某些数据时通过上位机发出操作指令后所生成的数据。例如,当用户在等红灯时想知道红灯的持续时长,则可以通过点击中控屏发出“获得红灯持续时长”的指令,此指令则为待处理指令数据。
36.接收可以是上位机spi应用层按照应用的指令格式对用户发出的指令数据进行封装。应用层的指令格式使用自定义的指令格式,由指令头、指令长度、命令码数据域以及校验码组成。
37.s102,确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据。
38.指令编号可以是用户发出的所有指令对应的编号,具体的,可以将指令按照发出时间的先后顺序进行编号,包括数字、字母以及文字三种方式。本方案中,可以利用数字对指令进行编号,例如,第一个指令编号为1,第二个指令编号为2,后面指令的编号以此类推。
39.第一数据可以是将待处理指令数据、指令编号以及时间戳结合后的数据。在上位机传输层将第一数据传输给链路层时,此时间戳为第一数据开始传输的时间戳;当安全芯片加密结束后,把解析后的数据返回给用户时,此时间戳为安全芯片加密完成的结束时间戳。时间戳可以表示为年-月-日-时-分-秒,例如传输的开始时间为2022年9月25日16时2分10秒,则开始时间戳表示为:2022-9-25-16-2-10。第一数据的表示方式可以是:指令编号-待处理指令数据-时间戳,例如第一个指令为获得红灯持续时长,则表示为1-获得红灯持续时长-2022-9-25-16-2-10,此数据则为第一数据。
40.确定可以是上位机spi传输层根据上位机spi应用层传输的指令数量对指令进行先后排序并编号的过程。
41.打包可以是上位机spi传输层将待处理指令数据、指令编号以及时间戳结合的过程。打包是为了达到可以根据指令先后顺序处理指令的目的,如果只有指令编号,则无法确定要处理的指令;如果只有待处理指令数据,则无法确定待处理指令的先后顺序。增加时间戳则可以获得指令开始传输的时间以及安全芯片加密完成的时间。
42.s103,若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据。
43.spi通道可以是通信总线在传输数据时所使用的通道。spi是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。通常由一个主模块和一个或多个从模块组成,主模块选择一个从模块进行同步通信,从而完成数据的交换。
44.通道号可以是spi通道的编号,具体的,可以根据通道数量对spi通道按照从左至右的方式进行编号,本方案采用数字和字母结合的方式对spi通道进行编号。例如,在本方案中,使用了4*4的矩阵式spi,则采用从上至下以及从左至右的方式对spi通道进行编号。例如从上至下第一排左侧第一个spi编号为a01,从上至下第二排左侧第二个编号为b06。
45.预设格式可以是对第一数据以及所使用的通道号进行打包时使用的格式。具体的,可以设置为:第一数据-通道号。
46.第二数据可以是第一数据以及所使用的通道号结合的数据。此数据需要将这二者数据利用预设格式的形式进行表示,例如第一数据为1-获得红灯持续时长-2022-9-25-16-2-10,使用的通道号为a01,则表示为:1-获得红灯持续时长-2022-9-25-16-2-10-a01。
47.轮询可以是spi链路层查询当前是否有可用的spi通道的过程,如果查询到有可用的spi通道,则确定使用;如果没有查询到可用的spi通道,则会按照spi通道号先后顺序一直查询,周而复始,直到查询到可用的spi通道则停止查询。
48.打包可以是上位机spi链路层将第一数据与所使用的通道号结合的过程。打包的目的是为了确定当前被占用的通道有哪些,例如第一数据1-获得红灯持续时长-2022-9-25-16-2-10使用了a01通道,但若无对应通道号,可能导致此数据未处理完下一个数据又使用了此通道,而其余通道空闲的问题。打包的另一个目的是当解析指令时需要获取对应的spi通道时,可以精准定位。
49.s104,根据所述使用通道号将所述第二数据发送至安全芯片进行处理。
50.发送可以是通过spi链路层将第二数据传送给安全芯片进行加密的过程。
51.处理是安全芯片对第二数据进行加密的过程。用户发出的每个指令数据都会通过安全芯片进行加密后才与云平台或者路边设备等交互,加密可以确保车辆网络的内部通信总线内数据完整性、可用性和机密性,可以防止网络攻击。
52.本实施例所提供的技术方案,所述方法由上位机执行;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应一个spi通道;所述方法包括:接收到待处理指令数据;确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;根据所述使用通道号将所述第二数据发送至安全芯片进行处理。通过上述基于spi矩阵式通信的数据处理方法,通过使用数量高达16个的spi通道,每个独立的spi通道都有独立的加密芯片,且采用特殊的spi通信协议栈去管理控制通信的方式,提高了加密的速率提高了产品稳定性,并且结合轮询的方式将资源最大化。
53.实施例二图2是本技术实施例二提供的基于spi矩阵式通信的数据处理方法的流程示意图。如图2所示,具体包括如下步骤:s201,接收到待处理指令数据。
54.s202,根据所述待处理指令数据确定指令业务类型。
55.指令业务类型可以是用户发出的指令所属的类别,可以包括查询以及更改等类别。例如,车辆通过路边探测仪获得红灯持续时长则属于查询类型。
56.确定可以是根据待处理指令数据查找对应指令业务类型的过程。例如待处理指令为获得红灯持续时长,由于车辆需要从路边探测仪获得信息,则判断此指令对应的业务类型为查询。
57.s203,根据所述指令业务类型确定所述待处理指令数据的查询时长。
58.查询时长可以是根据每个指令业务类型对应的加密时长所设置的查询指令状态
的时长,根据业务类型对应的字节长度不同,加密时长也不同。
59.确定可以是根据业务类型字节长度设置查询时长的过程。例如查询操作对应的字节长度为100字节,加密100字节对应的时长为3s,所以确定查询业务对应的查询时长为3s。
60.s204,将所述指令业务类型以及所述查询时长、指令编号以及开始时间戳存储至指令表中。
61.指令表可以是存储指令业务类型以及查询时长与指令编号的数据库表。当上位机spi传输层轮询查询指令表时,若查询到对应指令处理时间已超过或等于指令表中的时间间隔时,传输层会把对应的指令编号组成特殊的指令(请求查询指令)下发给spi链路层。
62.存储可以是将指令业务类型以及查询时长与指令编号放入指令表的过程,具体的,可以通过java、javascript以及python等进行存储。
63.在上述各技术方案的基础上,可选的,在将所述指令业务类型以及所述查询时长与所述指令编号存储至指令表中之后,所述方法还包括:根据所述指令表中的开始时间戳和查询时长,确定对所述待处理指令数据的状态查询指令的发出时间。
64.状态查询指令可以是当查询到对应指令处理时间已超过或等于指令表中的时间间隔时,传输层把对应的指令编号组成的一种特殊的指令,即查询指令处理状态是已处理完成还是正在处理中的指令。
65.发出时间可以是根据数据传输的开始时间以及加密所需的时长所确定的状态查询指令所发出的时间,具体的,发出时间为指令表的开始时间戳与查询时长的和。例如,查询红灯持续时长的指令传输的开始时间为2022年9月25日16时10分13秒,此指令加密所需时长为3s,则在3s后spi传输层发出状态查询指令,发出时间为2022年9月25日16时10分16秒。
66.本方案通过根据开始时间戳和查询时长自动确定状态查询指令发出时间的方式,可以避免以往单独为每个指令设置对应的状态查询指令发出时间的问题,降低了计算的复杂度,提升了状态查询的效率。
67.在上述各技术方案的基础上,可选的,在根据所述使用通道号将所述第二数据发送至安全芯片进行处理之后,所述方法还包括:若识别到查询触发事件,则发出状态查询指令;其中,所述状态查询指令包括被查询的指令数据的待查询指令编号;根据所述待查询指令编号确定使用通道号;对所述状态查询指令、待查询指令编号以及使用通道号进行封装,得到第三数据;根据所述使用通道号将所述第三数据发送至安全芯片,并接收所述安全芯片基于所述状态查询指令反馈的状态信息。
68.本方案中,对应指令加密时间已超过或等于指令表中的时间间隔可以被视为查询触发事件。
69.被查询的指令数据可以是正在进行加密的指令数据。例如用户需要查询红灯持续时长,则需要对此数据进行加密,想查询此数据加密处理的状态,则此数据即为被查询的指令数据。
70.待查询指令编号即为此指令对应的指令编号。
71.第三数据可以是状态查询指令、待查询指令编号以及使用通道号的结合,表示方式可以是状态查询指令-待查询指令编号-使用通道号。例如查询指令编号为1的指令状态,此指令使用的通道号为a01,则第三数据可以表示为:查询状态-1-a01。
72.状态信息可以是安全芯片传输给spi链路层的指令加密状态,具体的,可以包括正在处理中和处理完成。正在处理中即指令未加密完成,处理完成即指令已加密完成。
73.识别可以是当spi传输层轮询查询指令表后,确定对应指令处理时间是否已超过或等于指令表中的时间间隔的过程,即判断是否存在查询触发事件的过程。
74.确定使用通道号可以是spi链路层根据指令编号从通道表中查询通道号的过程。
75.封装可以是将状态查询指令、待查询指令编号以及使用通道号相结合,形成一个有机整体的过程,封装后的结果命名为第三数据。
76.发送可以是在确定所查询指令的通道号后,链路层把第三数据通过对应的spi通道下发给安全芯片的过程。
77.接收可以是spi链路层收到安全芯片上返的查询到的当前指令处理状态的过程。
78.反馈可以是当安全芯片收到此指令后,将对应的指令状态上返给spi链路层的过程。
79.本方案中,通过发送状态查询指令查询指令的加密状态以及接收安全芯片反馈的此指令是否加密完成的方式,可以实时确定指令状态,若确定指令完成则可以进行下一步读取加密数据的操作;若确定指令未完成则可以继续加密该指令,一定程度上提高了加密速率。
80.在上述各技术方案的基础上,可选的,在接收所述安全芯片基于所述状态查询指令反馈的状态信息之后,所述方法还包括:若所述状态信息为被查询的指令数据仍在处理中,则将所述指令表中的查询时长按照第一规则进行延长;基于延长后的查询时长监听查询触发事件。
81.第一规则可以是当查询到指令状态是正在处理中,则链路层通知spi传输层加大一倍此指令的查询时间间隔的规则。例如获得红灯持续时长属于查询的业务类型,此业务类型加密时长需3s,但3s时查询是否已加密完成获得的结果是正在加密,所以再给此指令多一倍的加密时间,即再过3s才会进行下一次指令状态查询。
82.延长可以是给此指令加密时间按照第一规则增大一倍的过程,若此类型处理时长本为2s,但由于未处理完成,则会再延长2s再进行查询。
83.监听可以是当延长查询时长后,在上位机spi传输层再次轮询查询指令表时,是否还会满足查询触发事件的条件的过程,即查询的对应指令处理时间是否已超过或等于指令表中的时间间隔。
84.本方案中,通过设置了应对指令在规定时间不能加密完成的方法,可以保证指令即使未在规定时间被加密完成也能可以将加密后的结果返回给用户。若未设置此方法,在规定时间内查询时由于未加密完成不能拿到加密数据,则无法传回给用户,则用户不能获得所需数据。
85.在上述各技术方案的基础上,可选的,在将所述指令表中的查询时长按照第一规则进行延长之后,所述方法还包括:
对所述指令数据的业务类型生成查询时长优化标签,以用于对所述业务类型进行第二优化。
86.查询时长优化标签可以是对此指令业务类型需要进行优化所放置的标记。例如查询的业务类型所需加密时长为3s,则查询时长为3s,而由于在3s时对加密状态查询获得的结果为正在加密,则标记此业务类型需要进行查询时长的优化,等待加密完成后才能执行优化的操作。
87.生成查询时长优化标签可以是spi传输层收到加大指令查询时间间隔的命令后对对应的业务类型进行需要优化标记的过程。
88.第二优化可以是当某指令业务类型存在查询时长优化标签时,对此业务类型进行优化的过程。具体的,可以是当此业务类型原来所需3s进行加密,则对应的查询时长为3s,但在3s进行查询时未完成,则对查询时长扩大一倍,也就是再过3s进行查询。当再过3s进行查询时,发现刚好加密完成,则指令运算时间差则为6s,所以将原来的查询时长由3s优化为6s。可以理解的,第二优化是扩大指令业务类型对应的查询时长。
89.本方案中,通过设置查询时长优化标签可以在保证指令可以完成加密的基础上对查询时长进行优化,以达到最优的查询时间间隔值,按照此时间间隔值去查询对应指令的处理状态,以保证多条并发数据可以最优执行同时占用资源也可以达到最优。
90.在上述各技术方案的基础上,可选的,在接收所述安全芯片基于所述状态查询指令反馈的状态信息之后,所述方法还包括:若所述状态信息为被查询的指令数据已处理完成,则读取所述指令数据的响应数据,并获取所述指令数据的结束时间戳。
91.响应数据可以是安全芯片对此指令进行加密后的结果,具体的,可以是不同长度的字符串。
92.结束时间戳可以是安全芯片对指令加密完成后的时间,具体的,也可以表示为年-月-日-时-分-秒,例如加密完成的时间为2022年9月25日16时10分16秒,则结束时间戳表示为:2022-9-25-16-10-16。
93.本方案中,通过获取加密完成的结束时间戳的方式,可以与开始时间戳联合计算出指令运算所需的实际时间,为后续判断是否需要对不同业务类型的查询时长做出优化提供了依据。
94.实施例三图3是本技术实施例三提供的基于spi矩阵式通信的数据处理方法的流程示意图。如图3所示,具体包括如下:在获取所述指令数据的结束时间戳之后,所述方法还包括:s301,若所述状态信息为被查询的指令数据已处理完成,则读取所述指令数据的响应数据,并获取所述指令数据的结束时间戳。
95.s302,根据所述指令数据的指令编号,从指令表中提取查询时长,以及提取开始时间戳。
96.提取可以是根据指令数据的指令编号在指令表中查询对应所需的查询时长以及开始时间戳的过程。例如获取红灯持续时长这一条指令的指令编号为1,通过此编号查询到对应的业务类型为查询,此业务类型的查询时长为3s,开始时间戳为2022-9-25-16-10-13,
则此过程为提取过程。
97.s303,根据所述开始时间戳以及所述结束时间戳,确定是否对所述查询时长进行第一优化。
98.第一优化可以是根据不同的业务类型去统计指令运行时间差后,把此数据与当前指令数据通过算法计算,从而生成最优的查询时间间隔值。具体的,指令运行时间差可以是结束时间戳和开始时间戳的差值,若此运行时间差小于查询时长,则确定进行第一优化。例如,对获取红灯持续时长进行加密,运行时间差为2s,但原来的查询时长为3s,则确定将查询时长缩小为2s。
99.确定可以是将指令运行时间差与查询时长进行比较的过程,若指令运行时间差小于查询时长,则确定需要进行第一优化。
100.s304,若是,则根据所述查询时长的第一优化结果,确定指令数据的业务类型关联的查询时长。
101.第一优化结果可以是对查询时长进行第一优化后,此指令业务类型对应的新的查询时长。例如,获取红灯持续时长所属的查询业务类型原来的查询时长为3s,经过第一优化后,查询时长缩小为2s,则2s即为第一优化结果,也是指令数据的业务类型关联的新的查询时长。
102.确定可以是根据查询时长的第一优化结果对指令表中的指令数据的业务类型关联的查询时长进行更新的过程。
103.本实施例提供的技术方案,当指令运算时间差小于查询时长时,对指令的查询时长进行第一优化,即缩短查询时长,以达到最优的查询时间间隔。按照此时间间隔值去查询对应指令的处理状态,可以保证多条并发数据可以最优执行同时占用资源也可以达到最优。
104.实施例四图4是本技术实施例三提供的基于spi矩阵式通信的数据处理方法的流程示意图。如图4所示,具体包括如下:在接收到待处理指令数据之前,所述方法还包括:s401,初始化与安全芯片连接的spi通道号。
105.初始化可以是将spi通道号恢复到默认状态,即根据通道数量对spi通道按照从左至右的方式设置的编号。在初始化通道号的同时,还会对可用安全芯片同步时间基准,以供安全芯片与上位机使用同一时间基准进行交互。
106.s402,基于各spi通道号向安全芯片发出测试指令,接收各spi通道的返回结果。
107.测试指令可以是测试安全芯片是否存在故障所设置的指令。
108.发出可以是上位机spi链路层将测试指令传输给安全芯片的过程。发出测试指令的目的是确定安全芯片是否可用,若没有设置此步骤,则会存在将指令传输给损坏的安全芯片的情况,这样就无法得到加密结果,同时也无法定位损坏的安全芯片。
109.接收可以是上位机spi链路层获得安全芯片传输的对应的芯片状态的过程。接收数据可以给链路层确定可用安全芯片打下基础,接收数据后可以确定对应安全芯片是否存在故障。
110.s403,根据所述返回结果确定可用安全芯片,并记录所述可用安全芯片对应的目
标spi通道号。
111.返回结果可以是安全芯片传输给链路层的对应芯片状态,即安全芯片是否存在故障。返回结果可以有“是”以及“否”,当返回结果为“是”时,则此安全芯片存在故障;若返回结果为“否”,则此安全芯片不存在故障。
112.确定可以是上位机spi链路层根据返回结果定位可用安全芯片的过程。若返回结果为“否”,则此安全芯片不可用,那么将数据传输给安全芯片加密则绕过此芯片;若返回结果为“是”,则此安全芯片可用,那么可以将数据传输给安全芯片加密。
113.记录可以是spi链路层根据对应通道的芯片状态设置可用通道表的过程。记录可用通道表后,后期空闲通道查询就可以根据可用通道表做状态查询。
114.s404,接收到待处理指令数据。
115.s405,确定所述待处理指令数据的指令编号,并将所述待处理指令数据以及指令编号打包成第一数据。
116.s406,若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据。
117.s407,根据所述使用通道号将所述第二数据发送至安全芯片进行处理。
118.本实施例提供的技术方案,通过发出测试安全芯片是否可用的指令可以确定当前可用的安全芯片,同时定位了出现故障的安全芯片,便于后期工作人员维护。同时当矩阵中单或多芯片出现问题,也可以跳过问题芯片,使多颗安全加密芯片有备份冗余的作用,从而保证整个矩阵设备都可以高速稳定的运行。
119.图5是本技术实施例四提供的基于spi矩阵式通信的数据处理的整体框架图,结合图5,本方案的执行过程可以包括加密部分和结果反馈部分,其中,加密部分包括如下步骤:步骤1:当用户有数据需要发送时,数据会先传输到上位机spi应用层,spi应用层会按照应用的指令格式对数据进行封装。此处,spi应用层作用主要是对数据进行指令封装或者解析。
120.步骤2:封装后的指令数据进入上位机spi传输层,spi传输层会把指令编号(指令编号:按照当前发的指令数统计)与时间戳按照格式打包在一起,形成spi传输层数据。spi传输层内部会创建或维护一个由指令编号、指令业务类型、指令开始时间戳以及查询时间间隔组成的指令表。spi传输层作用主要是做时间调度,根据不同的业务类型去统计指令运行时间差,把此数据与当前指令数据通过算法计算,从而生成最优的查询时间间隔值,按照此时间间隔值去查询对应指令的处理状态,以保证多条并发数据可以最优执行同时占用资源也可以达到最优。
121.步骤3:spi传输层数据进入上位机spi链路层,spi链路层会查询当前是否有可用的spi通道,如果无的话,就会一直查询。如果有的话,spi链路层会把spi传输层数据与使用通道号按照格式进行打包在一起,形成spi链路层数据。spi链接层内部会创建或维护一个指令编号与通道号组成的通道表。spi链路层作用主要是管理spi通道的使用。
122.结果反馈部分包括如下步骤:步骤1:用户指令发送给对应安全加密芯片。
123.步骤2:上位机spi传输层轮询查询指令表,当查询到对应指令处理时间已超过或等于指令表中的时间间隔时,传输层会把对应的指令编号组成请求查询指令下发给spi链
路层。
124.步骤3:上位机spi链路层解析此特殊指令,并从中提取出指令编号,根据指令编号查询通道表,获取指令处理使用的spi通道,链路层把指令编号与通道号组成指令状态查询指令,通过对应的spi通道下发给安全芯片。
125.步骤4:安全芯片收到此指令后,安全芯片会查询当前指令处理状态,并把对应的指令状态上返给上层的上位机spi链路层。
126.步骤5:spi链路层解析此指令状态,如果指令状态是正在处理中,则链路层会通知spi传输层加大一倍此指令的查询时间间隔。如果指令状态是指令已处理完成,链路层会直接下发读指令,并把读取到响应数据,进行链路层解析,把解析完成的传输数据传回上位机spi传输层。
127.步骤6:如果spi传输层收到是加大指令查询时间间隔的命令,会更新对应指令的指令表中查询时间间隔,并对对应的业务类型置上时间优化标签,然后继续等待直到下次达到查询时间间隔时,再次发起请求查询指令;如果spi传输层收到指令响应数据,传输层会对响应数据做传输层解析,从中获取指令编号、结束时间戳,通过对应的指令编号查询对应的业务类型,从业务类型中获取是否需要进行时间优化,如果需要就根据对应业务类型、开始时间戳与结束时间戳重新优化对应业务的时间基准,为下次对业务时间调控提供保证,spi传输层把解析后的数据返给应用层。
128.步骤7:spi应用层对传输数据进行解析,把解析后的数据返回用户。
129.本方法使用的矩阵式spi通信,有16路spi接口,每路spi接口最大运算性能可以达到1216次/秒,因为每路都是单独的安全芯片,每路的最大运算性能都是可以达到1013次/秒,上位机是可以多线程操作,这些因素使此方法速率可以达到16000次/秒;此方法使用的是多颗安全芯片进行加解密数据处理,当单颗或多颗安全芯片出现问题或状态异常,此方法仍能正常运转。
130.实施例五图6是本技术实施例五提供的基于spi矩阵式通信的数据处理装置的结构示意图。如图6所示,具体包括如下:接收模块601,用于接收待处理指令数据;第一数据打包模块602,用于确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;第二数据打包模块603,用于若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;第二数据发送模块604,用于根据所述使用通道号将所述第二数据发送至安全芯片进行处理。
131.在本技术实施例中,所述装置配置于上位机;所述上位机通过一个spi接口与矩阵式安全芯片连接,每个安全芯片对应一个spi通道;所述装置包括:接收模块,用于接收待处理指令数据;第一数据打包模块,用于确定所述待处理指令数据的指令编号,并将所述待处理指令数据、开始时间戳以及指令编号打包成第一数据;第二数据打包模块,用于若在目标spi通道中轮询到存在空闲spi通道,则确定使用通道号,并将所述第一数据与所述使用通道号按照预设格式进行打包形成第二数据;第二数据发送模块,用于根据所述使用通道号
将所述第二数据发送至安全芯片进行处理。通过上述基于spi矩阵式通信的数据处理装置,通过使用数量高达16个的spi通道,每个独立的spi通道都有独立的加密芯片,且采用特殊的spi通信协议栈去管理控制通信的方式,提高了加密的速率提高了产品稳定性,并且结合轮询的方式将资源最大化。
132.本技术实施例提供的基于spi矩阵式通信的数据处理装置能够实现图1至图5的方法实施例实现的各个过程,为避免重复,这里不再赘述。
133.实施例六如图7所示,本技术实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述基于spi矩阵式通信的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
134.需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
135.实施例七本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述基于spi矩阵式通信的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
136.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
137.实施例八本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述基于spi矩阵式通信的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
138.应理解,本技术实施例提到的芯片还可以称为系统级芯片、设备芯片、芯片系统或片上系统芯片等。
139.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
140.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储
介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
141.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
142.上述仅为本技术的较佳实施例及所运用的技术原理。本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由权利要求的范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1