一种共享刻录方法、装置、存储介质及电子设备与流程
未命名
10-19
阅读:95
评论:0
1.本技术涉及数据刻录技术领域,具体涉及一种共享刻录方法、装置、存储介质及电子设备。
背景技术:
2.目前,随着技术的不断发展和应用环境的不断拓展,刻录已经成为一种普及的数据读写方式,可以实现数据的存储和备份。刻录也叫做烧录,把想要的数据通过刻录机等工具刻制到光盘、烧录卡(gba)等介质中。其中,光盘作为一种存储媒介,容量大,质量和性能稳定,并且容易保存且体积小,因此将数据刻录至光盘中,不易丢失,更加安全可靠,对数据保护具有重要意义。
3.相关技术中,主要通过dvd刻录机来实现对数据进行刻录存储,一旦人员使用dvd刻录机时操作不当,或者对dvd刻录机管理不当,容易造成数据的丢失,从而导致数据刻录的安全性较差。
技术实现要素:
4.为了提高数据刻录的安全性,本技术提供一种共享刻录方法、装置、存储介质及电子设备。
5.在本技术的第一方面提供了一种共享刻录方法,应用于共享主机,所述共享主机包括国产芯片、国产linux系统、共享刻录程序和预加载模块,所述国产芯片和所述国产linux系统均与所述共享刻录程序适配,所述共享主机连接有至少一个共享刻录设备,所述共享主机连接有至少一个终端主机,所述方法具体包括:接收至少一个终端主机发送的刻录请求,所述刻录请求中携带有待刻录数据;基于所述刻录请求,配置所述预加载模块;按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过;若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入。
6.通过采用上述技术方案,由于国产芯片和国产linux系统组成的环境安全性和可靠性较高,因此基于国产芯片和国产linux系统的共享主机,对于接收到的刻录请求的处理也十分地安全。接着在利用共享刻录程序实现数据刻录之前,通过配置的预加载模块对ioctl函数进行处理,从而对刻录请求进行分析,进而判断刻录请求是否安全,即,确定是否通过此刻录请求,如果刻录请求通过,说明此刻录请求较为安全,最后调用编译后的共享刻录程序,控制共享刻录设备对此刻录请求携带的待刻录数据进行刻录写入,从而提高数据刻录的安全性,有效避免数据丢失。
7.可选的,所述接收至少一个终端主机发送的刻录请求之后,还包括:通过预置的configure脚本配置所述共享刻录程序对应的makefile脚本;
基于make命令,执行配置后的所述makefile脚本并对所述共享刻录程序进行编译,得到编译后的所述共享刻录程序。
8.通过采用上述技术方案,接收到刻录请求后,利用configure脚本配置编译共享刻录程序所需的makefile脚本,由于通常通过make命令执行makefile脚本,因此基于make命令,运行makefile脚本对于共享刻录程序进行编译,最终得到编译后的共享刻录程序,从而方便后续调用以实现待刻录数据的刻录写入。
9.可选的,所述终端主机中安装有所述共享刻录程序对应的客户端,所述按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理之前,还包括:获取所述终端主机对应的目标用户登录客户端的登录信息;根据所述登录信息,确定所述目标用户是否具有刻录权限,若具有刻录权限,则将编译后的所述共享刻录程序添加至预置的进程白名单。
10.通过采用上述技术方案,基于登录信息,判断对应的目标用户是否具有刻录权限,如果具有刻录权限,说明此目标用户具有光驱刻录使用权限,安全性较高,那么便将此刻录请求对应的编译后的共享刻录程序添加至进程白名单,从而方便后续根据进程白名单快速确定刻录请求是否通过。
11.可选的,所述按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过,具体包括:判断所述刻录请求的字节长度是否为预设的第一字节长度,所述第一字节长度用于判断所述刻录请求是否为刻录操作请求;若是,则判断调用的ioctl函数的结构体的字节长度是否大于预设的第二字节长度,所述第二字节长度用于判断所述刻录请求是否为光盘写入操作请求;若是,则查找预置的进程白名单中是否存在所述刻录请求对应的编译后的所述共享刻录程序;若存在,则确定所述刻录请求通过,若不存在,则确定所述刻录请求未通过。
12.通过采用上述技术方案,如果刻录请求的字节长度为第一字节长度,说明此刻录请求对应的确为刻录操作,接着通过预加载模块,判断ioctl函数的结构体的字节长度是否大于第二字节长度,如果大于第二字节长度,说明此刻录请求对应的确为光盘写入操作,基于此进一步验证此刻录请求对应真正的刻录操作。最后如果进程白名单内存在此刻录请求对应的编译后的共享刻录程序,说明目标用户具有刻录权限,确定刻录请求通过,反之,刻录请求不通过,从而在调用编译后的共享刻录程序进行数据刻录过程中,实现刻录权限的管理,进而提高数据刻录的安全性。
13.可选的,所述接收至少一个终端主机发送的刻录请求之前,还包括:接收终端主机发送的共享刻录设备查找指令;基于所述共享刻录设备查找指令,从各所述共享刻录设备中确定可用共享刻录设备;若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入,包括:若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备中所述可用共享刻录设备对所述待刻录数据进行刻录写入。
14.通过采用上述技术方案,目标用户通过共享刻录程序对应的客户端,查找可用的共享刻录程序后,共享主机接收到共享刻录设备查找指令,从连接的各个共享刻录程序中筛选出可用共享刻录设备,从而使得在刻录请求通过后,控制可用共享刻录设备对待刻录数据进行刻录写入。
15.可选的,所述方法还包括:将各所述刻录请求按照请求时间的先后顺序进行排序,得到排序后的刻录队列;所述基于所述刻录请求,配置所述预加载模块,具体包括:按照从前到后的顺序,从所述排序后的刻录队列中依次选取一个目标刻录请求,基于所述目标刻录请求,配置所述预加载模块。
16.通过采用上述技术方案,在接收到多个刻录请求时,确定排序后的刻录队列,刻录请求的请求时间越早,在刻录队列中的顺序越靠前,越先对此刻录请求对应的待刻录数据进行刻录输入,从而实现对各个刻录请求进行管理。
17.可选的,所述基于所述刻录请求,配置所述预加载模块,具体包括:基于所述刻录请求,通过预置的preload脚本配置所述预加载模块。
18.通过采用上述技术方案,preload脚本提前加载预加载模块,从而使得后续可以直接调用预加载模块,无需等待预加载模块加载完成,进而提高调用效率。
19.在本技术的第二方面提供了一种共享刻录装置,具体包括:请求接收模块,用于接收至少一个终端主机发送的刻录请求,所述刻录请求中携带有待刻录数据;加载配置模块,用于基于所述刻录请求,配置所述预加载模块;请求判断模块,用于按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过;共享刻录模块,用于若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入。
20.通过采用上述技术方案,请求接收模块获取到至少一个终端主机发送的刻录请求,由加载配置模块对共享主机中的预加载模块进行配置,接着请求判断模块按照预设规则,通过配置后的预加载模块对ioctl函数进行处理,从而确定刻录请求是否通过,最后由共享刻录模块,在刻录请求通过后,调用编译后的共享刻录程序控制共享刻录设备对待刻录数据进行刻录写入,从而提高数据刻录的安全性。
21.综上,本技术包括以下至少一种有益技术效果:由于国产芯片和国产linux系统组成的环境安全性和可靠性较高,因此基于国产芯片和国产linux系统的共享主机,对于接收到的刻录请求的处理也十分地安全。接着在利用共享刻录程序实现数据刻录之前,通过配置的预加载模块对ioctl函数进行处理,从而对刻录请求进行分析,进而判断刻录请求是否有安全,即,确定是否通过此刻录请求,如果刻录请求通过,说明此刻录请求较为安全,最后调用编译后的共享刻录程序,控制共享刻录设备对此刻录请求携带的待刻录数据进行刻录写入,从而提高数据刻录的安全性,有效避免数据丢失。
附图说明
22.图1是本技术实施例提供的一种共享刻录系统的架构示意图;图2是本技术实施例提供的一种共享刻录方法的流程示意图;图3是本技术实施例提供的一种申请刻录的界面示意图;图4是本技术实施例提供的另一种共享刻录方法的流程示意图;图5是本技术实施例提供的一种刻录请求是否通过的判断示意图;图6是本技术实施例提供的一种共享刻录装置的结构示意图;图7是本技术实施例提供的另一种共享刻录装置的结构示意图。
23.附图标记说明:11、请求接收模块;12、加载配置模块;13、请求判断模块;14、共享刻录模块;15、程序编译模块;16、权限判断模块;17、可用查询模块;18、请求排序模块。
具体实施方式
24.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
25.在本技术实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
26.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
27.参见图1,本技术实施例公开了一种共享刻录系统的架构示意图,具体包括:共享主机、终端主机和共享刻录设备,共享主机连接至少一个共享刻录设备和至少一个终端主机,其中,连接方式可以为有线或者无线网络进行直接或间接的连接方式。终端主机可以为诸如平板电脑、个人计算机 (personalcomputer,pc)等电子设备。共享主机在本技术实施例中为电脑主机。
28.共享主机包括国产芯片、国产linux系统、共享刻录程序和预加载模块。其中,国产芯片采用国产2000arm架构cpu,国产linux系统采用麒麟v10操作系统,共享刻录设备采用刻录机,共享刻录程序采用xorriso刻录程序,其为一种用于刻录和提取cd、dvd和蓝光光盘映像的命令行实用程序,在其他实施例中,共享刻录程序也可以采用ones刻录软件。需要说明的是,国产芯片和国产linux系统均与共享刻录程序适配。
29.另外,国产芯片和国产linux系统在国内取得重要进展,其稳定性、安全性高、可靠性强等优势明显,因此,基于国产芯片和国产linux系统的环境,本技术公开的一种共享刻
录方法应用于拥有此环境的共享主机中,对数据进行刻录时安全性较高。在其他实施例中,本技术公开的一种共享刻录方法也可以应用于服务器中。
30.预加载模块是指在进行程序或系统启动时,提前加载一些必要的程序模块,以便在后续的操作中能够更快地响应和运行。预加载模块可以采用node.js预加载模块或net预加载模块。另外,终端主机中也配置与共享主机相同的国产芯片和国产linux系统,同时还安装有共享刻录程序对应的软件客户端,以保持与共享主机相同的主机环境。
31.具体的,用户通过终端主机发送刻录请求至共享主机,共享主机接收到刻录请求后,对共享刻录程序进行编译,并且在刻录请求通过后(说明此用户具有刻录权限),调取编译后的共享刻录程序控制共享刻录设备对刻录请求中携带的待刻录数据进行刻录写入操作,从而使得在数据刻录时安全性较高,避免数据丢失或泄露。
32.参见图2,本技术实施例公开了一种共享刻录方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的共享刻录装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s101:接收至少一个终端主机发送的刻录请求。
33.具体的,刻录请求中携带有待刻录数据,刻录请求为用户通过终端主机发送的刻录写入待刻录数据的远程请求。如图3所示,一个可行的获取刻录请求的方式为:由于终端主机中安装有共享刻录程序对应的软件客户端,因此用户可以通过终端主机登录软件客户端,进入软件客户端后,会呈现若干个共享刻录设备,用户通过终端主机选择一个共享刻录设备,并点击“刻录申请”按钮,终端主机便向共享主机发送刻录请求,最终使得共享主机接收到至少一个终端主机发送的刻录请求以及对应的待刻录数据。需要说明的是,在本技术实施例中,主要通过调用的ioctl函数发送刻录请求。ioctl函数是设备驱动程序中对设备的i/o通道进行管理的函数。它是文件结构中的一个属性分量,如果驱动程序提供了对ioctl函数的支持,用户就可以在用户程序中使用ioctl函数来控制设备的i/o通道。其中,在接收到刻录请求时,i/o通道可以用来读取和写入数据,以便将刻录请求和响应传递至共享主机。
34.在一个可实现的实施方式中,步骤s101之前,还包括:接收终端主机发送的共享刻录设备查找指令;基于共享刻录设备查找指令,从各共享刻录设备中确定可用共享刻录设备。
35.具体的,用户通过终端主机登录共享刻录程序对应的软件客户端后,点击“查找”按钮,终端主机向共享主机发送共享刻录设备查找指令,共享主机接收到共享刻录设备查找指令,从连接的各个共享刻录设备中查找到可用共享刻录设备,方便用户通过终端主机发送此可用共享刻录设备对应的刻录请求。一种可行的查找方式为:判断各个共享刻录设备中是否存在空闲共享刻录设备,如果存在空闲共享刻录设备,则将空闲共享刻录设备确定为可用共享刻录设备,如果不存在空闲共享刻录设备,则统计各个共享刻录设备对应的刻录请求数量,在数量小于数量阈值时,说明用户发起的刻录请求对应的共享刻录设备的刻录任务量较少,将对应的共享刻录设备确定为可用共享刻录设备。
36.在一个可实现的实施方式中,步骤s101之后,还包括:通过预置的configure脚本配置共享刻录程序对应的makefile脚本;基于make命令,执行配置后的makefile脚本并对共享刻录程序进行编译,得到编
译后的共享刻录程序。
37.具体的,在本技术实施例中,共享刻录程序为xorriso,它需要makefile脚本来编译和构建。makefile是一个包含一系列规则的文件,用于描述如何编译和链接程序。它通常由一个名为make的命令执行,以根据makefile中的规则自动构建xorriso共享刻录程序。因此,在本技术实施例中,在接收到刻录请求后,通过预置的configure脚本,根据系统的不同特性和配置来自动配置makefile脚本(makefile文件),从而使得共享刻录程序的编译和构建更加方便和可移植。
38.makefile脚本配置完成后,通过输入make命令执行makefile脚本,以此来调用预置的gun编译器套件(gun compiler collection,gcc)编译器,对共享主机中的共享刻录程序进行编译,得到编译后的共享刻录程序。其中,gcc是一款由gun开发的编程语言编译器套装,它支持多种编程语言,包括c、c++、objective-c、fortran、ada等。
39.s102:基于刻录请求,配置预加载模块。
40.在一个可实现的实施方式中,基于刻录请求,通过预置的preload脚本配置预加载模块。
41.具体的,preload脚本是一种在linux系统中用于提前加载动态链接库的机制。它的作用是在程序运行之前,将指定的共享库提前加载到内存中,以加速程序运行时的加载速度。预置的preload脚本保存在文件目录/etc/ld.so.preload中。在本技术实施例,当接收到刻录请求后,调用预置的preload脚本,对预加载模块进行配置。
42.一种可行的配置方式为:在文件目录/etc/ld.so.preload中,将预加载模块添加至此文件目录中。例如,预加载模块为wlhburnprotect.so模块,具体的配置过程为:在/etc/ld.so.preload文件目录中,添加/usr/lib/wlhburnprotect.so配置,从而实现配置预加载模块的效果。
43.s103:按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定刻录请求是否通过。
44.具体的,预加载模块配置完成后,针对调用的ioctl函数,获取刻录请求(ioctl函数结构体的类型)的字节长度,一种可行的获取方式为:用httpservletrequest对象来获取刻录请求的字节长度,如果刻录请求的字节长度为8837,说明此刻录请求目的在于请求对光盘进行刻录操作,那么再检测ioctl函数的结构体长度,如果结构体长度大于256字节,说明此刻录请求目的也在于请求对光盘进行数据写入操作,最终进一步确定此刻录请求对应的是刻录操作。其中,结构体(struct)指的是一系列具有相同类型或不同类型的数据构成的数据集合,也称为结构(struct)。结构体可以包含不同的成员,每个成员可以是不同类型的数据。
45.最后验证此刻录请求对应的用户是否具有刻录权限,刻录权限为光驱刻录写入的权限,并且为提前设置。如果此刻录请求对应的用户具有刻录权限,那么通过此刻录请求,如果此刻录请求对应的用户不具有刻录权限,那么不通过此刻录请求。需要说明的是,如果刻录请求的字节长度不为8837字节,或者ioctl函数的结构体的长度不大于256字节,那么直接确定刻录请求不通过。
46.s104:若刻录请求通过,则基于编译后的共享刻录程序,控制各共享刻录设备对待刻录数据进行刻录写入。
47.在一个可实现的实施方式中,若刻录请求通过,则基于编译后的共享刻录程序,控制各共享刻录设备中可用共享刻录设备对待刻录数据进行刻录写入。
48.具体的,如果刻录请求通过,说明此刻录请求对应的确为刻录操作,并且对应的用户也是具有刻录权限,那么允许针对此刻录请求,进行对应的刻录任务输出。即,调用编译后的共享刻录程序来启动各个共享刻录设备中的可用共享刻录设备,对待刻录数据进行刻录写入,从而达到光驱刻录控制的效果。
49.参见图4,本技术实施例公开了一种共享刻录方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的共享刻录装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:s201:接收至少一个终端主机发送的刻录请求。
50.s202:基于刻录请求,配置预加载模块。
51.具体的,可参考步骤s101-s102,在此不再赘述。
52.s203:获取终端主机对应的目标用户登录客户端的登录信息。
53.s204:根据登录信息,确定目标用户是否具有刻录权限,若具有刻录权限,则将编译后的共享刻录程序添加至预置的进程白名单。
54.具体的,进程白名单(process whitelist)指一组预先定义好的进程名称或进程id,用于在操作系统或应用程序中授权允许运行哪些进程。白名单技术的作用是限制仅允许信任的进程运行,从而增加系统的安全性和稳定性,其中,在本技术实施例中,进程白名单可以防止未经授权的共享刻录程序运行,从而减少刻录时受到恶意软件和攻击的风险。
55.由于目标用户通过终端主机发送刻录请求的过程如下:目标用户输入登录信息登录共享刻录程序对应的客户端,并发送刻录请求,基于此共享主机获取到目标用户的登录信息。接着根据此登录信息,判断目标用户是否具有刻录权限,一种可行的判断方式为:调取预置的用户权限表,如果此用户权限表中存在此目标用户,说明此目标用户具有刻录权限,进而说明此刻录请求对应的编译后的共享刻录程序能被授权运行,那么将编译后的共享刻录程序添加至进程白名单中;如果目标用户不具有刻录权限,那么不将编译后的共享刻录程序添加至进程白名单中。其中,用户权限表包括若干个已设置刻录权限的用户。
56.s205:判断刻录请求的字节长度是否为预设的第一字节长度。
57.具体的,在本技术实施例中,预加载模块配置完成后,通过预加载模块对调用的ioctl函数定义一个钩子hook_ioctl,在国产linux系统中用于拦截和修改设备ioctl请求,以对ioctl函数进行监视。hook_ioctl函数具体如下:hook_ioctl(fd,request,argp);fd为设备路径;request为当前执行的参数,argp为结构体。其中,request为刻录请求,接着检测刻录请求的字节长度,如图5所示,确定其字节长度是否为第一字节长度,第一字节长度用于判断是否为刻录操作,即,判断刻录请求对应的是否为刻录操作。在本技术实施例中,第一字节长度可以为8837,在本技术其他实施例中,也可以为其他字节数值。
58.s206:若是,则判断调用的ioctl函数的结构体的字节长度是否大于预设的第二字节长度。
59.s207:若是,则查找预置的进程白名单中是否存在刻录请求对应的编译后的共享刻录程序。
60.s208:若存在,则确定刻录请求通过,若不存在,则确定刻录请求未通过。
61.具体的,第一字节长度用于判断刻录请求是否为刻录操作请求,如果刻录请求的字节长度为第一字节长度,说明此刻录请求对应的是刻录操作,那么接着获取argp结构体中的“dxfer_len”字段的字节长度,其中,dxfer_len表示数据传输的用户内存的长度,一种可行的获取方式为:通过sizeof运算符来获取结构体的字节长度,如果结构体的字节长度大于第二字节长度,第二字节长度用于判断是否为光盘写入操作,说明此刻录请求对应光盘写入操作,最终确定此刻录请求对应刻录写入操作。其中,第二字节长度用于判断刻录请求是否为光盘写入操作请求。
62.最后,需要判断此目标用户是否具有刻录权限,从而确定是否通过此刻录请求。即,查找进程白名单中是否存在此刻录请求对应的编译后的共享刻录程序,如果存在,说明对应的目标用户具有刻录权限,那么确定此刻录请求通过;如果不存在,说明对应的目标用户不具有刻录权限,那么确定此刻录请求不通过,不对此刻录请求安排刻录写入。需要说明的是,如果刻录请求的字节长度不为第一字节长度,或者ioctl函数的结构体的长度不大于第二字节长度,那么直接确定刻录请求不通过。
63.s209:若刻录请求通过,则基于编译后的共享刻录程序,控制各共享刻录设备对待刻录数据进行刻录写入。
64.具体的,可参考步骤s104,在此不再赘述。
65.在一个可实现的实施方式中,将各刻录请求按照请求时间的先后顺序进行排序,得到排序后的刻录队列;基于刻录请求,配置预加载模块,具体包括:按照从前到后的顺序,从排序后的刻录队列中依次选取一个目标刻录请求,基于目标刻录请求,配置预加载模块。
66.具体的,在共享主机接收到多个终端主机发送的刻录请求时,根据每个刻录请求的请求时间的先后顺序进行排序,请求时间在先的刻录请求排序靠前,最终得到排序后的刻录队列。接着针对排序后的刻录队列中从前往后依次选取一个目标刻录请求,对目标刻录请求进行处理,刻录写入操作,最后根据处理的目标刻录请求形成刻录电子台账,从而实现对各个刻录请求的有效管理。
67.在其他实施例中,确定各个刻录请求对应的目标用户,统计每个目标用户对应的刻录请求的第一个数,接着计算此目标用户对应的相同待刻录数据的第二个数与第一个数的占比,如果占比大于占比阈值,说明针对同一个待刻录数据,目标用户发送较多的刻录请求,说明目标用户对于此待刻录数据的刻录写入较为紧急,那么将携带有此待刻录数据的刻录请求在排序后的刻录队列中排序进行上调,即,将此刻录请求的排序序号调小,提升此刻录请求的处理优先级。具体可根据占比确定调整量,占比越大,调整量越大,上调后的排序序号越小。
68.如果占比不大于占比阈值,那么进一步地,统计同一个待刻录数据对应的各刻录请求的时间间隔,如果存在时间间隔小于间隔阈值,说明对应的刻录请求的申请时间较为接近,进而说明此待刻录数据的刻录写入需求较为紧急,那么将此待刻录数据的对应的刻录请求的排序进行上调。具体可根据,间隔阈值与时间间隔的差值,差值越大,调整量越大,上调后的排序序号越小。
69.本技术实施例共享刻录方法的实施原理为:基于国产芯片和国产linux系统的共
享主机,对于接收到的刻录请求的处理也十分地安全。接着在利用共享刻录程序实现数据刻录之前,通过配置的预加载模块对ioctl函数进行处理,从而对刻录请求进行分析,进而判断刻录请求是否有安全,即,确定是否通过此刻录请求,如果刻录请求通过,说明此刻录请求较为安全,最后调用编译后的共享刻录程序,控制共享刻录设备对此刻录请求携带的待刻录数据进行刻录写入,从而提高数据刻录的安全性下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
70.请参见图6,为本技术实施例提供的共享刻录装置的结构示意图。该应用于共享刻录装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括请求接收模块11、加载配置模块12、请求判断模块13和共享刻录模块14。
71.请求接收模块11,用于接收至少一个终端主机发送的刻录请求,刻录请求中携带有待刻录数据;加载配置模块12,用于基于刻录请求,配置预加载模块;请求判断模块13,用于按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定刻录请求是否通过;共享刻录模块14,用于若刻录请求通过,则基于编译后的共享刻录程序,控制各共享刻录设备对待刻录数据进行刻录写入。
72.可选的,如图7所示,装置1还包括程序编译模块15,具体用于:通过预置的configure脚本配置共享刻录程序对应的makefile脚本;基于make命令,执行配置后的makefile脚本并对共享刻录程序进行编译,得到编译后的共享刻录程序。
73.可选的,装置1还包括权限判断模块16,具体用于:获取终端主机对应的目标用户登录客户端的登录信息;根据登录信息,确定目标用户是否具有刻录权限,若具有刻录权限,则将编译后的共享刻录程序添加至预置的进程白名单。
74.可选的,判断刻录请求的字节长度是否为预设的第一字节长度,第一字节长度用于判断所述刻录请求是否为刻录操作请求;若是,则判断调用的ioctl函数的结构体的字节长度是否大于预设的第二字节长度,第二字节长度用于判断所述刻录请求是否为光盘写入操作请求;若是,则查找预置的进程白名单中是否存在刻录请求对应的编译后的共享刻录程序;若存在,则确定刻录请求通过,若不存在,则确定刻录请求未通过。
75.可选的,装置1还包括可用查询模块17,具体用于:接收终端主机发送的共享刻录设备查找指令;基于共享刻录设备查找指令,从各共享刻录设备中确定可用共享刻录设备。
76.可选的,共享刻录模块14,具体用于:若刻录请求通过,则基于编译后的共享刻录程序,控制各共享刻录设备中可用共享刻录设备对待刻录数据进行刻录写入。
77.可选的,装置1还包括请求排序模块18,具体用于:
将各刻录请求按照请求时间的先后顺序进行排序,得到排序后的刻录队列;基于刻录请求,配置预加载模块,具体包括:按照从前到后的顺序,从排序后的刻录队列中依次选取一个目标刻录请求,基于目标刻录请求,配置预加载模块。
78.可选的,加载配置模块12,具体用于:基于刻录请求,通过预置的preload脚本配置预加载模块。
79.需要说明的是,上述实施例提供的一种共享刻录装置在执行共享刻录方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种共享刻录装置与一种共享刻录方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
80.本技术实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种共享刻录方法。
81.其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom)、随机存取存储器(ram)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
82.其中,通过本计算机可读存储介质,将上述实施例的一种共享刻录方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
83.本技术实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种共享刻录方法。
84.其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
85.其中,处理器可以采用中央处理单元(cpu),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本技术对此不做限制。
86.其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(smc)、安全数字卡(sd)或者闪存卡(fc)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本技术对此不做限制。
87.其中,通过本电子设备,将上述实施例的一种共享刻录方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
88.以上者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明
书及实践这里的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
技术特征:
1.一种共享刻录方法,其特征在于,应用于共享主机,所述共享主机包括国产芯片、国产linux系统、共享刻录程序和预加载模块,所述国产芯片和所述国产linux系统均与所述共享刻录程序适配,所述共享主机连接有至少一个共享刻录设备,所述共享主机连接有至少一个终端主机,所述方法包括:接收至少一个终端主机发送的刻录请求,所述刻录请求中携带有待刻录数据;基于所述刻录请求,配置所述预加载模块;按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过;若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入。2.根据权利要求1所述的共享刻录方法,其特征在于,所述接收至少一个终端主机发送的刻录请求之后,还包括:通过预置的configure脚本配置所述共享刻录程序对应的makefile脚本;基于make命令,执行配置后的所述makefile脚本并对所述共享刻录程序进行编译,得到编译后的所述共享刻录程序。3.根据权利要求1所述的共享刻录方法,其特征在于,所述终端主机中安装有所述共享刻录程序对应的客户端,所述按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理之前,还包括:获取所述终端主机对应的目标用户登录客户端的登录信息;根据所述登录信息,确定所述目标用户是否具有刻录权限,若具有刻录权限,则将编译后的所述共享刻录程序添加至预置的进程白名单。4.根据权利要求3所述的共享刻录方法,其特征在于,所述按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过,具体包括:判断所述刻录请求的字节长度是否为预设的第一字节长度,所述第一字节长度用于判断所述刻录请求是否为刻录操作请求;若是,则判断调用的ioctl函数的结构体的字节长度是否大于预设的第二字节长度,所述第二字节长度用于判断所述刻录请求是否为光盘写入操作请求;若是,则查找预置的进程白名单中是否存在所述刻录请求对应的编译后的所述共享刻录程序;若存在,则确定所述刻录请求通过,若不存在,则确定所述刻录请求未通过。5.根据权利要求1所述的共享刻录方法,其特征在于,所述接收至少一个终端主机发送的刻录请求之前,还包括:接收终端主机发送的共享刻录设备查找指令;基于所述共享刻录设备查找指令,从各所述共享刻录设备中确定可用共享刻录设备;若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入,包括:若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备中所述可用共享刻录设备对所述待刻录数据进行刻录写入。6.根据权利要求1所述的共享刻录方法,其特征在于,所述方法还包括:
将各所述刻录请求按照请求时间的先后顺序进行排序,得到排序后的刻录队列;所述基于所述刻录请求,配置所述预加载模块,具体包括:按照从前到后的顺序,从所述排序后的刻录队列中依次选取一个目标刻录请求,基于所述目标刻录请求,配置所述预加载模块。7.根据权利要求1所述的共享刻录方法,其特征在于,所述基于所述刻录请求,配置所述预加载模块,具体包括:基于所述刻录请求,通过预置的preload脚本配置所述预加载模块。8.一种共享刻录装置,其特征在于,包括:请求接收模块(11),用于接收至少一个终端主机发送的刻录请求,所述刻录请求中携带有待刻录数据;加载配置模块(12),用于基于所述刻录请求,配置所述预加载模块;请求判断模块(13),用于按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过;共享刻录模块(14),用于若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入。9.一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其特征在于,计算机程序被处理器加载并执行时,采用了权利要求1-7中任一项的方法。10.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,处理器加载并执行计算机程序时,采用了权利要求1-7中任一项的方法。
技术总结
本申请涉及一种共享刻录方法、装置、存储介质及电子设备,其中方法包括:接收至少一个终端主机发送的刻录请求,所述刻录请求中携带有待刻录数据;基于所述刻录请求,配置所述预加载模块;按照预设规则,通过配置后的预加载模块对调用的ioctl函数进行处理,确定所述刻录请求是否通过;若所述刻录请求通过,则基于编译后的所述共享刻录程序,控制各所述共享刻录设备对所述待刻录数据进行刻录写入。本申请在刻录请求通过后,调用编译后的共享刻录程序,控制共享刻录设备对此刻录请求携带的待刻录数据进行刻录写入,从而提高数据刻录的安全性,有效避免数据丢失。有效避免数据丢失。有效避免数据丢失。
技术研发人员:凤世勇 马春雷
受保护的技术使用者:北京万里红科技有限公司
技术研发日:2023.07.11
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种瓷砖上砖装置的制作方法 下一篇:一种钣金件折弯装置的制作方法
