本发明涉及网络安全,尤其涉及一种基于libevent库的可信验证通信方法。
背景技术:
1、随着云计算技术的发展,在云平台虚拟环境下,有大量的设备需要可信认证,所以可信认证服务器需要同时与大量的可信设备进行通信,并且随时都可能有新的设备加入进来,大量的设备可能会导致服务器认证服务的阻塞,从而导致无法实时的获取设备的最新的可信状态。
2、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供了一种基于libevent库的可信验证通信方法,旨在解决现有技术可信认证服务器需要同时与大量的可信设备进行通信导致服务器认证服务阻塞的技术问题。
2、为实现上述目的,本发明提供了一种基于libevent库的可信验证通信方法,所述方法包括以下步骤:
3、接收客户端在生成可信报告后发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息;
4、将所述文件描述符信息写入至目标工作线程的消息队列中,以使所述目标工作线程在读取到所述文件描述符信息时,获取所述可信报告,并对所述可信报告进行验证。
5、可选地,所述将所述文件描述符信息写入至目标工作线程的消息队列中,以使所述目标工作线程在读取到所述文件描述符信息时,获取所述可信报告,并对所述可信报告进行验证的步骤,包括:
6、将所述文件描述符信息写入至目标工作线程的消息队列中;
7、向预设通信管道写入预设字符,以通知目标工作线程从消息队列中读取文件描述符信息,获取对应的可信报告,并对所述可信报告进行验证。
8、可选地,所述接收客户端在生成可信报告后发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息的步骤之前,还包括:
9、向客户端发送可信报告请求,以使所述客户端在监听到所述可信报告请求时反馈可信报告。
10、可选地,所述接收客户端发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息的步骤之前,还包括;
11、在接收到客户端发送的数据包时,对所述数据包进行读取;
12、将读取的数据包内容存储至缓冲区,并实时记录所述缓冲区的可用容量。
13、可选地,所述在接收到客户端发送的数据包时,对所述数据包进行读取的步骤,包括:
14、在接收到客户端发送的数据包时,从所述数据包的包头中读取数据包内容长度信息;
15、根据所述数据包内容长度信息对所述数据包进行读取。
16、可选地,所述将读取的数据包内容存储至缓冲区,并实时记录所述缓冲区的可用容量的步骤之后,还包括:
17、获取所述缓冲区的可用容量;
18、判断已读取的数据包内容的大小是否等于所述可用容量的大小;
19、在所述已读取的数据包内容的大小等于所述可用容量的大小时,对所述缓冲区进行扩容。
20、可选地,所述在所述已读取的数据包内容的大小等于所述可用容量的大小时,对所述缓冲区进行扩容的步骤,包括:
21、在所述已读取的数据包内容的大小等于所述可用容量的大小时,根据所述可用容量的大小确定扩容大小;
22、根据所述扩容大小对所述缓冲区进行扩容。
23、此外,为实现上述目的,本发明还提供一种基于libevent库的可信验证通信装置,所述装置包括:
24、接收模块,用于接收客户端在生成可信报告后发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息;
25、验证模块,用于将所述文件描述符信息写入至目标工作线程的消息队列中,以使所述目标工作线程在读取到所述文件描述符信息时,获取所述可信报告,并对所述可信报告进行验证。
26、此外,为实现上述目的,本发明还提出一种基于libevent库的可信验证通信设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于libevent库的可信验证通信程序,所述基于libevent库的可信验证通信程序配置为实现如上文所述的基于libevent库的可信验证通信方法的步骤。
27、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于libevent库的可信验证通信程序,所述基于libevent库的可信验证通信程序被处理器执行时实现如上文所述的基于libevent库的可信验证通信方法的步骤。
28、本发明接收客户端在生成可信报告后发送的可信验证请求,并获取可信验证请求中的文件描述符信息;将文件描述符信息写入至目标工作线程的消息队列中,以使目标工作线程在读取到文件描述符信息时,获取可信报告,并对可信报告进行验证。由于本发明是接收客户端在生成可信报告后发送的可信验证请求时,获取可信验证请求中的文件描述符信息,使工作线程在读取到文件描述符信息时,获取可信报告,并对可信报告进行验证。相对于现有的服务器等待客户端生成可信报告,在可信报告生成完成之后才发送可信验证请求,然后通过服务器对可信报告进行验证的方式,本发明上述方式能够避免服务器等待在客户端生成可信报告的耗时操作上,使得服务器能够同时支撑更多的设备进行可信验证。
1.一种基于libevent库的可信验证通信方法,其特征在于,所述基于libevent库的可信验证通信方法包括以下步骤:
2.如权利要求1所述的基于libevent库的可信验证通信方法,其特征在于,所述将所述文件描述符信息写入至目标工作线程的消息队列中,以使所述目标工作线程在读取到所述文件描述符信息时,获取所述可信报告,并对所述可信报告进行验证的步骤,包括:
3.如权利要求1所述的基于libevent库的可信验证通信方法,其特征在于,所述接收客户端在生成可信报告后发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息的步骤之前,还包括:
4.如权利要求1-3任一项所述的基于libevent库的可信验证通信方法,其特征在于,所述接收客户端在生成可信报告后发送的可信验证请求,并获取所述可信验证请求中的文件描述符信息的步骤之前,还包括;
5.如权利要求4所述的基于libevent库的可信验证通信方法,其特征在于,所述在接收到客户端发送的数据包时,对所述数据包进行读取的步骤,包括:
6.如权利要求4所述的基于libevent库的可信验证通信方法,其特征在于,所述将读取的数据包内容存储至缓冲区,并实时记录所述缓冲区的可用容量的步骤之后,还包括:
7.如权利要求6所述的基于libevent库的可信验证通信方法,其特征在于,所述在所述已读取的数据包内容的大小等于所述可用容量的大小时,对所述缓冲区进行扩容的步骤,包括: