发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种执法记录仪多路数据采集方法及系统,以解决现有基于linux系统的执法记录仪采集系统的数据采集需要专业人员才能完成的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种执法记录仪多路数据采集方法,其应用于基于linux系统的多路数据采集系统,其包括:
检测是否接入执法记录仪,并当检测到至少接入一个执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;
控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备;
将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪中的采集数据存储于所述存储设备。
所述执法记录仪多路数据采集方法,其中,所述自动将执法记录仪中的采集数据存储于所述存储设备之后还包括:
检测所述执法记录仪是否拔出,当执法记录仪拔出时,卸载所述执法记录仪。
所述执法记录仪多路数据采集方法,其中,所述获取所述执法记录仪的序列号及对应的警员编号之后还包括:
所述获取所述执法记录仪的时间,并将所述时间与所述多路数据采集系统的时间进步比较,当所述时间与所述多路数据采集系统时间不同时,采用执法记录仪的时间更新所述多路数据采集系统的时间。
所述执法记录仪多路数据采集方法,其中,所述检测是否接入执法记录仪具体为:
通过Netlinksocket创建用于检测执法记录仪插入的监控线程,以检测是否接入执法记录仪。
所述执法记录仪多路数据采集方法,其中,所述将所述执法记录仪与所述存储设备进行挂载具体为:
根据所述执法记录仪的序列号及警员编号在所述存储设备中创建对应的文件存储目录,并将所述文件存储目录与所述执法记录仪进行挂载实现所述执法记录仪与所述存储设备的挂载。
所述执法记录仪多路数据采集方法,其中,所述获取所述执法记录仪的序列号及对应的警员编号具体为:
解析所述接入执法记录仪的接入端口,获取所述接入端口的序号、执法记录仪的序列号及其对应的警员编号,并将所述接入端口的序号、执法记录仪的序列号及警员编号绑定。
一种执法记录仪多路数据采集系统,其具有多个用于连接执法记录仪的接入端口,其包括:
检测模块,用于检测是否接入执法记录仪,并当检测到至少接入一个执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;
查找模块,用于控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备;
处理模块,用于将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪中的采集数据存储于所述存储设备。
所述执法记录仪多路数据采集系统,其中,
所述检测模块还用于:检测所述执法记录仪是否拔出。
所述处理模块还用于:当执法记录仪拔出时,卸载所述执法记录仪。
所述执法记录仪多路数据采集系统,其中,其还包括:
时间同步模块,用于获取所述执法记录仪的时间,并将所述时间与所述多路数据采集系统的时间进步比较,当所述时间与采集系统时间不同时,采用执法记录仪的时间更新所述采集系统时间。
有益效果:与现有技术相比,本发明所提供的执法记录仪多路数据采集方法,检测多个接入端口是否接入执法记录仪,并当至少一个接入端口接入执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备;将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪中的采集数据存储于所述存储设备。本方法用于多路数据采集系统,其当接入一个或多个执法记录仪时,获取执法记录仪的序列号及警员编号并将所述执法记录仪与存储设备挂载,将执法记录中的数据存储于存储设备,实现了多路数据的高速并发传输,这不仅给执勤人员和执法机构带来极大的便利,还大大提高了他们的工作效率。
具体实施方式
本发明提供的执法记录仪多路数据采集方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参见图1,图1为本发明执法记录仪多路数据采集方法一实施例的流程图。所述方法包括:
一种执法记录仪多路数据采集方法,其应用于基于linux系统的多路数据采集系统,该多路数据采集系统包括多个接入端口。具体的,执法记录仪多路数据采集方法包括以下步骤:
S1、检测是否接入执法记录仪,并当检测到至少接入一个执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号。
具体地,所述执法记录仪采用miniUSB接口,所述多路数据采集系统的多个接入端口也为USB接口。那么检测所述多个端口是否接入执法记录仪也就是检测USB设备的热拔插,其可以采用Netlink监控USB设备的热拔插事件,这样可以提高检测时效性。在实际应用中,其可以通过Netlinksocket创建用于检测USB设备插入或拔出的监控线程来检测所述多个USB接口是否接入执法记录仪。其具体实现过程可以为:
1)创建socket
socketfd=socket(AF_NETLINK,SOCK_RAW,NETLINK_KOBJECT_UEVENT);
2)主循环里接收来自内核的热拔插消息
while(1)
{
/*receivedata*/
rcvlen=recv(socketfd,&buf,sizeof(buf),0);
if(rcvlen>0)
{
//解析USB热拔插消息
ParseHotplugEvent(buf);
}
}。
进一步,本实施例中接入端口的数量为8个,当然,接入端口的数量还可以根据需要拓展为任意多个。具体的,接入端口采用usbhub拓扑结构进行拓展,如图2所示,所述拓扑结构包括根集线器RootHUB,其为连接USB总线上第一USB设备并控制连接到其上的USB总线。所述RootHUB连接从集线器,分别为从HUB1和从HUB2,所述从HUB1连接4个usb接口,分别为usb1、usb2、usb3和usb4,所述从HUB2连接4个usb接口,分别为usb1、usb2、usb3和usb4。
进一步,至少一个接入端口接入执法记录仪,指的是可以检测到一个接入端口接入执法记录仪,也可以是多个接入端口同时接入执法记录仪。当一个接入端口接入执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;当多个接入端口接入执法记录仪时,分别记录多个执法记录仪的序列号及对应的警员编号。也就是说,所述多个接入端口是相互独立的,可以同时采集执法记录仪的数据,并且每个接入端口接入执法记录仪之后的处理流程是一样的。值得注意的,所述多个接入端口接入执法记录仪时,所述执法记录仪可以同时接入,也可以是先后不同时间接入。
进一步,由于同一个警员可以同时接入多个执法记录仪,在所述获取执法记录仪的序列号及警员编号的同时还可以记录所述接入端口的编号,并将所述接入端口的编号、执法记录仪的序列号及警员编号绑定,这样可以避免同一个警员同时接入多个执法记录仪时产生数据混淆的问题。
进一步,在获取所述执法记录仪的序列号及警员编号之后,还可以获取所述执法记录仪的时间,并将所述时间与所述多路数据采集系统的时间进行比较,当所述时间与多路数据采集系统时间不同时,采用执法记录仪的时间更新所述多路数据采集系统的时间,提高记录的准确性。在实际应用中,还可以设置执法记录仪录像的分辨率、水印或密码等参数。在实际应用中,可以通过libusb函数接口搭建与执法记录仪的通讯桥梁,获取执法记录仪的设备编号(序列号)、警员编号、设置执法仪的参数、同步系统日期时间、控制执法记录仪从正常工作模式转换为可移动磁盘等。所述libusb一般使用流程如下:
a.初始化设备接口usb_init();
b.寻找usb总线usb_find_busses();
c.寻找总线上的usb设备usb_find_devices();
d.返回总线列表usb_get_busses();
e.打开要使用的设备usb_open();
f.控制传输数据usb_control_msg();
g.关闭设备usb_close()。
进一步,在所述执法记录仪连接接入端口时,还可以包括一个验证过程,验证所述执法记录仪是否在授权范围内;当验证通过时,允许所述执法记录仪接入,并执行所述自动获取所述执法记录仪序列号及警员编号步骤;当验证不通过时,拒绝所述执法记录仪接入,并报警提示验证未通过。
S2、控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备。
具体地,所述存储设备可以为大容量的移动硬盘,用于存储执法记录仪多路数据采集系统从执法记录仪获取的执法数据。执法记录仪多路数据采集系统还可以对存入存储设备的执法数据进行归类,例如按照执法记录仪的序列号或警员编号划分为多个大类,再在每个大类中按照执法时间或执法地点等因素划分为多个小类。此外,不同执法人员ID具有不同的操作权限,包括对存储设备中的执法数据进行读取、浏览、复制、删除、检索等操作。
进一步,所述将所述执法记录仪与所述存储设备进行挂载具体为根据所述执法记录仪的序列号及警员编号为所述执法记录仪创建节点,并将其添加到链表内并创建用于数据采集及设备挂载的线程,通过所述线程查找所述节点对应的存储设备,将所述执法记录仪与所述存储设备进行挂载。
S3、将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪中的采集数据存储于所述存储设备。
具体地,根据所述接入端口(即USB端口)的编号、执法记录仪的序列号及警员编号在所述存储设备中创建对应的文件存储目录,然后将所述文件存储目录与所述执法记录仪进行挂载实现所述执法记录仪与所述存储设备的挂载。
进一步,自动将执法记录仪中的采集数据存储至所述存储设备之后,还包括一个比较过程,比较执法记录仪多路数据采集系统已获取的执法数据与所述执法记录仪内存储的执法数据是否一致;如果是,则删除所述执法记录仪内存储的执法数据;如果否,则删除所述多路数据采集系统中已获取的执法数据,并重新获取所述执法记录仪内存储的执法数据。这样可以确保所述执法记录仪多路数据采集系统所采集的执法数据的准确性。
进一步,在执法数据上传过程中或完成执法数据上传后,且在所述车载执法数据采集工作站与执法记录仪之间采用USB连接时,检测所述执法记录仪的电量;在所述电量小于预设电量阈值时,对所述执法记录仪充电。
进一步,当所述执法记录仪采集的数据存储至所述存储设备之后还包括:检测所述执法记录仪是否拔出,当执法记录仪拔出时,卸载所述执法记录仪。
本发明提供的执法记录仪多路数据采集方法,其检测所述多个接入端口是否接入执法记录仪,并当所述一个或多个接入端口接入执法记录仪时,分别获取所述执法记录仪的序列号及对应的警员编号;并根据所述执法记录仪的序列号及警员编号查找其对应的存储设备,并在所述存储设备中创建对应的文件存储目录,将所述执法记录仪转换为移动存储设备模式并与所述存储设备进行挂载。挂载完成后,自动将执法记录仪中的采集数据拷贝到存储设备中,当拷贝完成时卸载所述执法记录仪。实现多路USB数据高速并发传输,这不仅给执勤人员和执法机构带来极大的便利,还大大提高了他们的工作效率。
为了进一步理解所述执法记录仪多路数据采集方法,下面结合一个具体实施例加以说明。
所述执法记录仪多路数据采集方法,如图3所示,其应用于基于linux系统的多路数据采集系统,该多路数据采集系统包括多个USB接口,所述方法包括:
S10、通过Netlinksocket创建用于检测USB接口是否插入执法记录仪的监控线程;
S20、通过监控线程检测USB接口是否插入执法记录仪,若为是,则执行步骤S30,若为否,则继续执行步骤S20;
S30、解析所述插入执法记录仪的USB接口并获取执法记录仪的序列号及警员编号;
S40、获取所述执法记录仪的时间,并采用所述时间同步所述多路数据采集系统的时间;
S50、当时间同步完成后,控制所述执法记录仪转换为可移动磁盘;
S60、根据所述执法记录仪转换的可移动磁盘创建节点,并将所述节点添加到链表中,其中,所述链表为预先创建的,且用于存储执法记录仪对应的节点;
S70、根据所述节点创建用于挂载所述执法记录仪及采集所述执法记录内数据的挂载及采集线程;
S80、根据所述执法记录仪的序列号及警员编号查找与其对应的存储设备;
S90、创建用于挂载执法记录仪的挂载点,根据所述挂载点通过挂载及采集线程将所述执法记录仪与所述存储设备进行挂载;
S100、当挂载完成后,自动将所述执法记录仪中的数据拷贝至所述存储设备;
S110、检测执法记录中的数据是否拷贝完成,如果未完成则执行步骤S100,如果完成则采集完成;
在另一个实施例中,如图4所示,所述执法记录仪多路数据采集方法,其还包括:
S120、在创建监控流程时还创建用于扫描USB端口总线的扫描线程;
S130、检测所述接入端口是否拔出执法记录仪,若为是,则执行步骤S140,若为否,则继续执行步骤S130;
S140、卸载所述执法记录仪,并删除链表中所述执法记录仪对应的节点。
如图5所示,本发明还提供了一种执法记录仪多路数据采集系统,用于对接入的执法记录仪进行数据采集;其为基于linux系统的具有多个接入端口的便携式采集工作站,其包括:
输入模块,包括多个用于连接执法记录仪的接入端口;
检测模块100,用于检测是否接入执法记录仪,并当检测到至少接入一个执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;
查找模块200,用于控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备;
处理模块300,用于将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪中的采集数据存储于所述存储设备。
具体的,输入模块包括根集线器和多个从集线器,每一所述从集线器拓展为多个接入端口,其中所述接入端口为USB端口。本实施例中输入模块一实施例的实现原理如图2所示。
优选的,所述检测模块100还用于:检测所述执法记录仪是否拔出;
所述处理模块300还用于:当执法记录仪拔出时,卸载所述执法记录仪。
此外,执法记录仪多路数据采集系统还可以包括:
时间同步模块,用于获取所述执法记录仪的时间,并将所述时间与所述执法记录仪多路数据采集系统的时间进行比较,当所述时间与执法记录仪多路数据采集系统的时间不同时,采用执法记录仪的时间更新所述执法记录仪多路数据采集系统的时间。
本领域的技术人员可以清楚地了解到上述实施例方法及系统可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务端,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
相应的,如图6所示,本发明还提供了一种执法记录仪多路数据采集装置,其包括:
处理器1000;
用于存储处理器可执行指令的存储器2000;
其中,所述处理器1000被配置为:
检测所述多个端口是否接入执法记录仪,并当所述至少一个接入端口接入执法记录仪时,获取所述执法记录仪的序列号及对应的警员编号;
控制所述执法记录仪转换为移动存储设备,并根据所述执法记录仪的序列号及警员编号查找预设的相应的存储设备;
将所述执法记录仪与所述存储设备进行挂载,自动将执法记录仪采集数据存储于所述存储设备。
具体地,上述执法记录仪多路数据采集装置可以包括以下一个或多个组件:处理组件,存储器,电源组件,多媒体组件,音频组件,输入/输出(I/O)的接口,传感器组件,以及通信组件。
所述处理组件通常控制装置的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件可以包括一个或多个处理器来执行命令,以完成上述的方法的全部或部分步骤。此外,处理组件可以包括一个或多个模块,便于处理组件和其他组件之间的交互。例如,处理部件可以包括多媒体模块,以方便多媒体组件和处理组件之间的交互。
存储器被配置为存储各种类型的数据以支持在设备的操作。这些数据的示例包括用于在装置上操作的任何应用程序或方法的命令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。