1.本发明涉及安防监控设备技术领域,具体涉及一种嵌入式安防监控设备的二次开发实现方法及存储介质。
背景技术:
2.安防监控设备从稳定性、功耗和成本等多方面的考虑,一般采用的是嵌入式的操作系统。这种操作系统的应用程序,一般都是设备原厂进行开发,并且烧录在设备的内置存储介质中。设备销售之后,下游客户一般很难对设备的嵌入式软件进行修改。
3.为了解决这些问题,目前的解决办法有两个:
4.1,下游客户跟原厂厂商提定制需求,由原厂厂商来完成嵌入软件的定制修改,然后再交付一个嵌入软件的升级包给客户。客户对原有设备进行升级来满足客户的定制化需求。
5.2,有些厂商提供了一些嵌入式的sdk供下游客户使用,下游客户可以基于这个嵌入式sdk进行开发。原厂厂商同时会提供该嵌入式设备的交差编译环境,下游客户将开发的应用程序代码通过该交叉编译环境编程该嵌入式设备可以运行的应用程序,然后上传至该设备中启动运行,实现客户的定制化需求。
6.现有方案1的缺点:
7.1,需要跟原厂进行沟通,沟通代价大。
8.2,需要原厂进行定制开发,原厂面对众多客户,一般都会有一个起订量门槛,推动难度高。
9.3,因为原厂往往不具备现场调试环境,开发完成之后的调试磨合代价大。
10.4,因为上述原因,问题解决的时间周期会很长。
11.现有方案2的缺点:
12.1,原厂应用程序一般采用的是c/c 语言开发,开发难度大,对下游客户的能力要求比较高。
13.2,采用跟原厂程序一样的方式运行的程序,存在抢占系统cpu以及耗尽系统内存,从而导致原厂程序功能出现异常的风险。
14.3,安防监控设备的嵌入式系统会因为不同主控芯片厂商以及同一主控芯片厂商的升级迭代而变化,从而导致不同设备都有不同的开发环境,下游客户需要了解众多的开发环境,不能做到一次开发,多次复用。
技术实现要素:
15.本发明提出的一种嵌入式安防监控设备的二次开发实现方法及存储介质,可解决嵌入式安防监控设备销售到集成商后,集成商需要在原厂设备的嵌入式系统中做一些定制化开发的问题。
16.为实现上述目的,本发明采用了以下技术方案:
17.一种嵌入式安防监控设备的二次开发实现方法,包括以下步骤,使嵌入式操作系统运行在设备的硬件cpu上;
18.使原厂应用程序运行在上述嵌入式操作系统环境中;
19.使原厂移植的java运行环境也运行在上述嵌入式操作系统环境中;
20.使下游客户定制的程序,则运行在上述java运行环境中。
21.进一步的,实现步骤如下,
22.步骤101、流程开始,设备开机;
23.步骤102、首先是从设备的存储空间把操作系统加载到设备内存中,并在硬件cpu中运行起来,为后续程序提供操作系统环境;
24.步骤103、操作系统起来之后,在操作系统中启动设备原厂厂商的嵌入式应用程序,实现设备的基础功能;
25.步骤104、然后再由原厂厂商的应用程序启动原厂厂商在开发阶段移植好的能够在嵌入式操作系统中运行的java运行环境。
26.步骤105、java运行环境启动之后,启动客户定制的使用java语言开发的定制应用程序,该应用程序在下游客户开发完成之后,上传至设备的内置存储空间中;
27.步骤106、接下来上述启动的各个模块同时运行,实现各自的功能;
28.步骤107、在运行过程中,对是否结束进行判定,如果没有结束,则返回步骤106,继续运行;如果是结束,则执行步骤108;
29.步骤108、按跟启动相反的顺序依次关闭上述各个模块;
30.步骤108、流程结束。
31.另一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
32.再一方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述方法的步骤。
33.由上述技术方案可知,本发明的嵌入式安防监控设备的二次开发实现方法及存储介质,在安防监控设备的嵌入式系统中移植java运行环境,让下游客户使用java语言来开发定制化应用程序。
34.与现有技术对比,本发明的优点如下:
35.1,java语音的开发难度比c/c 更低,使用java语言开发的程序员也比使用c/c 的程序员多。下游客户的开发人力投入成本低。
36.2,java运行环境对cpu和内存的消耗,可以在移植的时候进行限定,确保下游客户开发的应用程序,不会影响监控设备的已有功能。
37.3,因为java运行环境具有通用性,即使原厂厂商对设备的主控芯片进行了升级,对下游客户而言,java运行环境是不变的。原来开发的程序可以无差别的运行在新的设备中。
附图说明
38.图1为本发明实施例的系统架构图;
39.图2为本发明的工作流程图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
41.本实施例所述的嵌入式安防监控设备的二次开发实现方法,其中系统架构如图1所示,其中,嵌入式操作系统运行在设备的硬件cpu上;原厂应用程序运行在上述嵌入式操作系统环境中;原厂移植的java运行环境也运行在上述嵌入式操作系统环境中;下游客户定制的程序,则运行在上述java运行环境中。
42.本实施例的工作流程如图2所示,包括以下流程:
43.步骤101、流程开始,设备开机;
44.步骤102、首先是从设备的存储空间把操作系统加载到设备内存中,并在硬件cpu中运行起来,为后续程序提供操作系统环境;
45.步骤103、操作系统起来之后,在操作系统中启动设备原厂厂商的嵌入式应用程序,实现设备的基础功能;
46.步骤104、然后再由原厂厂商的应用程序启动原厂厂商在开发阶段移植好的能够在嵌入式操作系统中运行的java运行环境。
47.步骤105、java运行环境启动之后,就可以启动客户定制的使用java语言开发的定制应用程序了,该应用程序在下游客户开发完成之后,上传至设备的内置存储空间中;
48.步骤106、接下来上述启动的各个模块同时运行,实现各自的功能;
49.步骤107、在运行过程中,对是否结束进行判定,如果没有结束,则返回步骤106,继续运行;如果是结束,则执行步骤108;
50.步骤108、按跟启动相反的顺序依次关闭上述各个模块,一般发生在设备关机的时候。
51.步骤108、流程结束。
52.由上可知,本发明实施例在安防监控设备的嵌入式系统中移植java运行环境,让下游客户使用java语言来开发定制化应用程序。
53.与现有技术对比,本发明实施例的优点如下:
54.1,java语音的开发难度比c/c 更低,使用java语言开发的程序员也比使用c/c 的程序员多。下游客户的开发人力投入成本低。
55.2,java运行环境对cpu和内存的消耗,可以在移植的时候进行限定,确保下游客户开发的应用程序,不会影响监控设备的已有功能。
56.3,因为java运行环境具有通用性,即使原厂厂商对设备的主控芯片进行了升级,对下游客户而言,java运行环境是不变的。原来开发的程序可以无差别的运行在新的设备中。
57.又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
58.再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
59.可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
60.本技术实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
61.存储器,用于存放计算机程序;
62.处理器,用于执行存储器上所存放的程序时,实现上述嵌入式安防监控设备的二次开发实现方法,所述方法包括:
63.使嵌入式操作系统运行在设备的硬件cpu上;
64.使原厂应用程序运行在上述嵌入式操作系统环境中;
65.使原厂移植的java运行环境也运行在上述嵌入式操作系统环境中;
66.使下游客户定制的程序,则运行在上述java运行环境中。
67.上述电子设备提到的通信总线可以是外设部件互连标准(英文:peripheral component interconnect,简称:pci)总线或扩展工业标准结构(英文:extended industry standard architecture,简称:eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
68.通信接口用于上述电子设备与其他设备之间的通信。
69.存储器可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
70.上述的处理器可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processing,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
71.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一嵌入式安防监控设备的二次开发实现方法。
72.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘
solid state disk(ssd))等。
73.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
74.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
75.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
转载请注明原文地址:https://tc.8miu.com/read-2641.html