精华内容
下载资源
问答
  • 2020-12-11 22:49:25

    在这里插入图片描述
    =>返回专栏总目录<=

    平台 内核版本 安卓版本
    RK3399 Linux4.4 Android7.1

    从内核的角度来看,驱动程序是一个设备的代表。当内

    更多相关内容
  • 修改linux内核3.2.0 的 rtc 驱动 rtc-pcf8563.c (源码位置: drivers/rtc), 实现 i2c 驱动平台设备的动态生成, 而无需在板级初始化中注册 i2c 设备 资源包含两个文件: rtc-pcf8563.c 和 rtc-pcf8563内核源码.c, ...
  • 基于事件驱动与定时迁移的平台动态防御策略
  • 传媒行业动态分析:需求驱动下的在线教育新格局——平台及大屏.pdf
  • 传媒行业动态分析:需求驱动下的在线教育新格局——平台及大屏
  • 以神光Ⅱ四程放大高功率激光驱动器为研究平台,使用ANSYS和Matlab对激光驱动器瞬时动态波前进行了模拟计算,并利用哈特曼波前分析仪对驱动器氙灯抽运引入的瞬时动态像差和热恢复像差进行了实验研究,得到其时空特性...
  • 行业分类-设备装置-智能操作系统平台中实现设备与驱动动态匹配的系统及方法
  • 1、采用altera的芯片,使用7针4线SPI接口OLED模块,利用纯Verilog语言控制OLED实现实时动态数据显示。根据工程中的引脚约束正确连接好接线,可以直接使用工程。 2、开发平台是友晶的DEO-nano板,软件版本:quartusII...
  • 在libusb官网下载的资源,版本为:libusb-win32-bin-1.2.6.0,里面包含有驱动生成工具,可自动为USB设备生成通用驱动,包含usb驱动动态链接库(linux版和windows版都有),头文件,还有windows,linux下的例程!...
  • 什么是事件驱动架构(EDA)?

    千次阅读 2020-05-21 01:03:56
    什么是事件驱动? By the end of 2020, Gartner projects that over 50% of applications will be on EDA. The Internet of Things, real-time applications, and the sharing economy require “super” ...

    EDA, Event-Driven Architecture

    What is an event?

    Event, something that happens at a given place and time.

    Simply put, the event is a significant change in state, which is triggered when a user takes an action.

    事件,本质上就是运动,变化,跟“函数”、“消息”、“操作”、“调用”、“算子”、“映射”等概念全息。

    For example:

    When a customer buys a car and its state changes from For Sale to Sold is an event.
    After a successful transaction, when an amount gets deducted from your account is an event.
    Once clicking on the book cab button, when a cab is booked from your account is an event.

    Every event may trigger one or more than one options in response.

    事件,在计算机领域里指:可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。

    事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。事件驱动控件执行某项功能。

    触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。

    事件就是用户对窗口上各种组件的操作。

    使用事件机制可以实现:当类对象的某个状态发生变化时,系统将会通过某种途径调用类中的有关处理这个事件的方法或者触发控件事件的对象就会调用该控件所有已注册的事件处理程序等。

    在.net框架中,事件是将事件发送者(触发事件的对象)与事件接受者(处理事件的方法)相关联的一种代理类,即事件机制是通过代理类来实现的。当一个事件被触发时,由该事件的代理来通知(调用)处理该事件的相应方法。

    C#中事件机制的工作过程如下:

    (1)将实际应用中需通过事件机制解决的问题对象注册到相应的事件处理程序上,表示今后当该对象的状态发生变化时,该对象有权使用它注册的事件处理程序。

    (2)当事件发生时,触发事件的对象就会调用该对象所有已注册的事件处理程序。

    什么是事件驱动?

    By the end of 2020, Gartner projects that over 50% of applications will be on EDA.

    The Internet of Things, real-time applications, and the sharing economy require “super” distributed processing. This means that cloud servers and edge computing are united seamlessly by an architecture that enables event-driven computing. The existing database architecture has two shortcomings for the Internet of Things systems. First, storage is inflated with endless log data and 99% of data is not used. And second, high latency in data look-up makes real-time computing impossible. Event-Driven Architecture (EDA) addresses these issues.

    物联网、实时应用和共享经济需要“超级”分布式处理。这意味着云服务器和边缘计算通过一个支持事件驱动计算的架构无缝地结合在一起。物联网系统现有的数据库体系结构存在两个缺陷。首先,无限的日志数据膨胀了存储空间,99%的数据没有被使用。其次,数据查找的高延迟使实时计算变得不可能。事件驱动的体系结构(EDA)解决了这些问题。

    What is EDA? EDA is a software architecture that promotes production, detection, processing, and reaction to events. Events can be as varied as a driver picking up a package, a machine measurement hitting a threshold, or a specific customer arriving at a retail outlet. EDA is defined by three properties. First, it selectively transfers relevant events from incoming data to the database. Second, it processes complex events from multiple sources that can impact each other in real-time. And third, it simplifies real-time services with push-type operations. Examples of use cases for event-driven architecture include asset sharing solutions such as DiDi and Uber, prescriptive maintenance systems that allocate maintenance personnel and spare parts, or dynamic customer service applications.

    EDA是什么?EDA是一种软件体系结构,用于促进事件的生产、检测、处理和响应。事件可以是多种多样的,比如一个司机拿起一个包,一个机器测量达到一个阈值,或者一个特定的客户到达一个零售店。EDA由三个属性定义。首先,它有选择地将相关事件从传入数据传输到数据库。其次,它处理来自多个源的复杂事件,这些事件可以实时地相互影响。第三,它通过推式操作简化了实时服务。事件驱动架构的用例示例包括滴滴和Uber等资产共享解决方案、分配维护人员和备件的规定维护系统或动态客户服务应用程序。

    说白了,“if A then B”语句中的A 就是 ‘事件’,B就是“响应”。

    事件驱动跟消息驱动机制相比

    事件驱动和异步IO

    通常,我们写服务器处理模型的程序时,有以下几种模型:
    (1)每收到一个请求,创建一个新的进程,来处理该请求;
    (2)每收到一个请求,创建一个新的线程,来处理该请求;
    (3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求
    上面的几种方式,各有千秋,
    第(1)中方法,由于创建新的进程的开销比较大,所以,会导致服务器性能比较差,但实现比较简单。
    第(2)种方式,由于要涉及到线程的同步,有可能会面临死锁等问题。
    第(3)种方式,在写应用程序代码时,逻辑比前面两种都复杂。
    综合考虑各方面因素,一般普遍认为第(3)种方式是大多数网络服务器采用的方式

    在UI编程中,常常要对鼠标点击进行相应,首先如何获得鼠标点击呢?
    方式一:创建一个线程,该线程一直循环检测是否有鼠标点击,那么这个方式有以下几个缺点:

    1. CPU资源浪费,可能鼠标点击的频率非常小,但是扫描线程还是会一直循环检测,这会造成很多的CPU资源浪费;如果扫描鼠标点击的接口是阻塞的呢?
    2. 如果是堵塞的,又会出现下面这样的问题,如果我们不但要扫描鼠标点击,还要扫描键盘是否按下,由于扫描鼠标时被堵塞了,那么可能永远不会去扫描键盘;
    3. 如果一个循环需要扫描的设备非常多,这又会引来响应时间的问题;
      所以,该方式是非常不好的。

    方式二:就是事件驱动模型
    目前大部分的UI编程都是事件驱动模型,如很多UI平台都会提供onClick()事件,这个事件就代表鼠标按下事件。事件驱动模型大体思路如下:

    1. 有一个事件(消息)队列;
    2. 鼠标按下时,往这个队列中增加一个点击事件(消息);
    3. 有个循环,不断从队列取出事件,根据不同的事件,调用不同的函数,如onClick()、onKeyDown()等;
    4. 事件(消息)一般都各自保存各自的处理函数指针,这样,每个消息都有独立的处理函数;

    事件驱动架构

    事件驱动架构模式是一种非常流行的分布式异步架构模式,经常被用与构建高可伸缩性的应用程序。当然它也适合小型应用,复杂应用和规模比较大的应用。这种架构模式由一系列高度解耦的、异步接收和处理事件的单一职责的组件所组成。

    事件驱动架构由两个主要的拓扑组成,分别是调停者拓扑和代理者拓扑。调停者拓扑通过一个中央的调停者来编排各种处理步骤。然而代理者拓扑适用于那些当你想将事件链式的聚在一起但不使用中央调停者的情况。由于这两种模式特性以及实现均不一样,所以理解哪一个模式最适合你的实际情况是非常重要的。

    调停者拓扑

    调停者拓扑适合那些有很多步骤需要处理,并且需要按照某种程度的编排来处理的事件。举个例子,一个处理股票交易的事件首先需要你首先验证交易的本身合法性,然后检查这个股票交易是否合规,然后把股票交给股票代理商,计算佣金,然后通过代理商将股票移送给客户。这些步骤都需要一个编排中心来决定这些步骤的顺序,并且决定哪些能是串行的,哪些是并行的。

    调停者拓扑主要有4个主要的架构组件组成:事件队列(Event Queue)、调停者(Mediator)、事件通道(Event Channel)和事件处理器(Event Processor)。

    事件流通过客户端发送到消息队列,事件队则传递消息到调停者。调停者接收到队列传递过来的原始消息,然后编排成异步的消息发送到事件通道,事件通道则通过事件处理器执行处理过程的每一步。事件处理器则监听事件通道,根据自身不同的业务逻辑来处理从调停者接受的事件。

    If event Then handler,实际上包含三个元素:

    1.事件(event);
    2.响应(handler);
    3.事件与响应的“逻辑关系”

    其中的'事件'常常是固定的;而“逻辑关系”往往体现的是业务规则或者核心逻辑,也常常是固定不变的。

    只有'响应'是可变的,或者说是可以配置或者需要改变的。

    软件开发的OCP原则告诉我们:“软件应该对修改关闭,但要对扩展开放”。而事件驱动就是在保持了事件和核心逻辑的稳定性和不被修改的前提下,通过定义不同的“响应”从而达到了对“扩展的开放”。

    Event-driven architecture components

    An event-driven architecture typically consists of four components:

    1. Event
      The significant change in the state of an object that occurs when users take action.

    2. Event Handler
      A software routine, which handles the occurrence of an event.

    3. Event Loop
      Event loop handles the flow of interaction between an event and the event handler.

    4. Event Flow Layers
      The event flow layer is built on three logical layers: Event Producer, Event Consumer, and Event Channel (also called Event Bus).

    Producer which is responsible for detecting and generating events.

    Consumer which consumes the events produced by the event producer.

    Event Channel which transfers events from the event generator to the event consumer.

    关于最终一致性

    响应事件而不是“及时”查询权限系统会让我们更具有自主性,更有容错能力和弹性,但也有一点其他影响,会影响自治事件驱动系统的是“延迟”。

    如果你立即注意到某一事件,你可以立即做出反应。例如,如果一辆车转弯进入你的车道,你看到这个,你可以很快刹车或者调整驾驶避免不发生碰撞。但是,如果有一些延迟,在观察到这个事件后,你的反应可能是缓慢的(也许有驾驶障碍?或者你在玩手机?或是在你的孩子们做某事,等等)。

    这也可能发生在IT系统。比如在亚马逊订购商品。这会对其他自主服务(如订单处理,帐单,库存等)发布一个事件或事实。这些系统可以观察到这一事件,但如果此时库存系统从网络断开几分钟/小时?当他们重新恢复正常运行后,他们最终会看到这个事件并继续检查库存,发布任何它认为必要的事件(即反应)像“inventoryreserved事件”或“inadequateinventory”事件。这是一组自主系统“最终”变得一致的一个简单例子。

    最后一件事是关于事件,延迟和自主权。如果我们能够捕捉到它们并观察它们的顺序,事件就是有用的。也就是说,在我们的系统中必须保留一组事件的总排序,这样我们才能如何对它们做出反应有信心。

    现在你已经明白:事件的顺序在分布式系统中构建事务是如何的重要,如果事件变得无序,那么我们就无从获得最终一致性,除非再次需要人工介入。

    小结

    Event-Driven Architecture

    Domain Events 领域事件
    Event Sourcing
    Command and Query Responsibility CQRS
    Segregation (CQRS) pattern

    Event Stream Processing 简称ESP
    Messaging 消息系统
    Enterprise Service Bus ESB总线
    Actors
    Enterprise Integration Architecture (EIA)
    Event Sourcing事件溯源

    每个状态的改变都可以表达为事件。事件触发状态改变。
    所有的事件被发往EventProcessor
    EventProcessor 将所有事件保存在 Event Log
    系统能够被复位,这样Event Log 会重播。
    不再需要ORM, 只要持久化Events。
    很多不同的EventListeners被加到EventProcessor,对其监听(or listen directly on the Event log)

    CQRS特点

    所有状态改变由Domain Events驱动
    聚合根接受 Commands,然后发布 Events
    报表系统 (数据库查询) 将作为一个发布后事件published Events的结果
    所有来自表现层查询直接走报表系统。

    CQRS优点

    充分封装了业务领域,只暴露行为。
    查询不使用 domain model
    没有对象和关系不匹配问题。
    易于跟踪审计和历史
    易于和外部系统整合。
    性能与可伸缩性。

    参考资料

    https://www.softobiz.com/understanding-the-event-driven-architecture/
    https://medium.com/@prashunjaveri/architectural-patterns-for-iot-event-driven-architectures-557be35fa626
    https://www.eda-consortium.cn/abouteventdrivenarchitecture
    https://www.jdon.com/artichect/scalable8.html


    Kotlin开发者社区

    专注分享 Java、 Kotlin、Spring/Spring Boot、MySQL、redis、neo4j、NoSQL、Android、JavaScript、React、Node、函数式编程、编程思想、"高可用,高性能,高实时"大型分布式系统架构设计主题。

    展开全文
  • 设计了一种基于压电陶瓷驱动的整体式柔顺精密定位平台。建立了柔性铰链的刚度矩阵,给出了平台的理论分析模型;利用模糊自整定PID控制算法对压电陶瓷...实验结果表明,平台具有亚微米级的定位精度以及良好的动态特性。
  • 在Solidworks中建立高速数控平台三维模型,利用动力学理论对模型进行...观察模型在不同丝杠布局的驱动载荷作用下,工作台自由振动时振幅的数值情况,从而得出能够抑制振动,等效于重心驱动的双驱动形式的高速数控平台结构。
  • 数据驱动测试数据驱动测试是一种软件测试方法,其中测试数据以表或电子表格格式存储。数据驱动的测试允许测试人员输入单个测试脚本,该脚本可以对表中的所有测试数据执行测试,并期望测试输出在同一表...


    数据驱动测试

    数据驱动测试是一种软件测试方法,其中测试数据以表或电子表格格式存储。数据驱动的测试允许测试人员输入单个测试脚本,该脚本可以对表中的所有测试数据执行测试,并期望测试输出在同一表中。也称为表驱动测试或参数化测试。

    数据驱动框架

    数据驱动框架是一个自动化测试框架,在该框架中,从数据文件中读取输入值并将其存储到测试脚本中的变量中。它使测试人员可以将肯定和否定测试用例都构建到单个测试中。数据驱动框架中的输入数据可以存储在单个或多个数据源中,例如.xls,.xml,.csv和数据库。

    为什么要进行数据驱动测试?

    数据驱动测试非常重要,因为测试人员经常为一个测试提供多个数据集,并且为每个数据集创建单独的测试可能很耗时。数据驱动的测试有助于使数据与测试脚本分开,并且可以针对输入的测试数据的不同组合执行相同的测试脚本,并且可以高效地生成测试结果。

    例如,我们要使用包含1000个不同数据集的多个输入字段来测试登录系统。

    要对此进行测试,可以采用以下不同方法:

    方法1)为每个数据集创建1000个脚本,并逐个运行每个测试。

    方法2)手动更改测试脚本中的值,然后运行几次。

    方法3)从Excel工作表导入数据。从excel行中逐行提取测试数据并执行脚本。

    在给定的三种情况下,前两种情况既费力又费时。因此,遵循第三种方法是理想的。

    因此,第三种方法就是数据驱动框架。

    如何创建数据驱动的自动化框架

    考虑您要测试应用程序的登录功能。

    步骤1)确定测试用例

    输入正确的用户名和密码-登录成功

    输入错误的用户名和正确的密码–登录失败

    输入正确的用户名和错误的密码-登录失败

    步骤2)为上述3个测试用例创建详细的est步骤

    测试用例描述测试步骤测试数据预期结果

    1

    检查登录以获取有效凭证

    启动应用程序

    输入用户名密码

    单击确定

    检查结果

    用户名:有效

    密码:有效

    登录成功

    2

    检查登录以获取无效的凭证

    启动应用程序

    输入用户名密码

    单击确定

    检查结果

    用户名:无效

    密码:有效

    登录失败

    3

    检查登录以获取无效的凭证

    启动应用程序

    输入用户名密码

    单击确定

    检查结果

    用户名:有效

    密码:无效

    登录失败

    创建测试脚本

    如果您遵守3个测试步骤,则“测试步骤”仍然很常见。您需要创建一个测试脚本来执行这些步骤

    //这是伪代码
    
    
    //测试步骤1:启动应用程序
    driver.get(“应用程序的URL”);
    
    
    //测试步骤2:输入用户名
    txtbox_username.sendKeys(“ valid”);
    
    
    //测试步骤3:输入密码
    txtbox_password.sendKeys(“ invalid”);
    
    
    //测试步骤4:检查结果
    If (Next Screen) print success else Fail
    

    使用输入测试数据创建excel / csv

    步骤修改凭证以循环输入测试数据。输入命令也应参数化

    //这是伪代码
    //循环3次
    (i = 0; i&lt; = 3; i ++){
        //从Excel读取数据并将其存储到变量
        int input_1 = ReadExcel(i,0);
        int input_2 = ReadExcel(i,1);
    
    
        //测试步骤1:启动应用程序
        driver.get(“应用程序的URL”);
    
    
        //测试步骤2:输入用户名
        txtbox_username.sendKeys(input_1);
        //测试步骤3:输入密码
    
    
        txtbox_password.sendKeys(input_2);
        //测试步骤4:检查结果是否
        If(Next Screen) print success
        else Fail
        }
    

    以上只是3个测试用例。仅通过将测试数据值附加到Excel,即可使用测试脚本来循环以下测试用例

    • 输入错误的用户名和错误密码–登录失败

    • 输入正确的用户名和密码为空白–登录失败

    • 输入空白的用户名和密码–登录失败

    数据驱动测试的最佳做法:

    下面给出的是数据驱动测试的最佳测试实践:

    • 理想的是在数据驱动的测试过程中使用真实的信息

    • 测试流程导航应在测试脚本中编码

    • 利用有意义的数据来驱动虚拟API

    • 使用数据来驱动动态断言

    • 测试正面和负面结果

    • 重新利用数据驱动功能测试的安全性和性能

    • 数据驱动测试的优势

    数据驱动具有许多优点,其中包括:

    • 允许在回归测试期间使用多组数据值测试应用程序

    • 测试数据和验证数据只能组织在一个文件中,并且与测试用例逻辑分开。

    • 基于该工具,可以将测试脚本存储在单个存储库中。这使文本易于理解,维护和管理。

    动作和功能可以在不同的测试中重复使用。

    • 一些工具会自动生成测试数据。当需要大量随机测试数据时,这很有用,这有助于节省时间。

    • 数据驱动的测试可以执行开发的任何阶段。数据驱动的测试服务通常在单个过程中合并。但是,它可以在多个测试案例中使用。

    • 允许开发人员和测试人员清楚地将测试用例/脚本的逻辑与测试数据区分开。

    • 相同的测试用例可以执行多次,这有助于减少测试用例和脚本。

    • 测试脚本中的任何更改都不会影响测试数据

    数据驱动测试的缺点:

    • 测试的质量取决于实施团队的自动化技能

    • 测试大量数据时,数据验证是一项耗时的任务。

    • 维护是一个大问题,因为数据驱动测试需要大量编码。

    • 需要高级技术技能。测试人员可能必须学习全新的脚本语言。

    • 将有更多文档。主要与脚本管理测试基础结构和测试结果有关。

    • 需要使用诸如记事本之类的文本编辑器来创建和维护数据文件。

    结论:

    数据驱动的是一个测试自动化框架,以表格或电子表格格式存储测试数据。

    • 在数据驱动的测试自动化框架中,输入数据可以存储在单个或多个数据源中,例如xls,XML,csv和数据库。

    • 为每个数据集创建单独的测试是一个漫长且耗时的过程。数据驱动测试框架通过将数据与功能测试分开来解决了此问题。

    • 在数据驱动测试中,使用实际信息是理想的选择

    • 它允许在回归测试期间使用多组数据值测试应用程序

    • 该方法的缺点在于它取决于实施团队的自动化技能

    推荐阅读


    扫一扫添加小编获取最新资料

    展开全文
  • 蔡工RK3288_Android7.1驱动开发入门

    千人学习 2020-02-17 13:13:44
    1、基于RK3288平台,基于Android7.1,kernel4.4的驱动移植、调试和开发,驱动框架分析,跟代码等; 2、讲解RK平台的常用外设模块驱动(例如LCD,TP,GPIO,wifi+BT,IR,camera和key等)的调试流程以及一些简单代码...
  • 元数据驱动的大数据服务平台

    千次阅读 2020-01-17 23:34:52
    首先分析了工业大数据的现状和特性, 针对大数据时代的数据应用挑战, 提出元数据驱动的大数据服务平台的体系结构, 利用元数据实现数据标准化管理, 并驱动合适粒度的数据服务, 实现大数据时代的数据自服务平台, 推动...
    摘要:随着物联网、大数据等IT技术的快速发展, 产生了大量多源异构的数据, 但这些数据往往是各自为政、孤立存在, 数据中蕴藏的知识和价值不能得到有效释放。首先分析了工业大数据的现状和特性, 针对大数据时代的数据应用挑战, 提出元数据驱动的大数据服务平台的体系结构, 利用元数据实现数据标准化管理, 并驱动合适粒度的数据服务, 实现大数据时代的数据自服务平台, 推动数据共享和价值释放。

    随着物联网、大数据等IT技术的快速发展, 包括电力企业在内的行业均产生大量的数据, 其数据储存也占据着大量的资源, 依据相关数据限制, 在未来的发展中其数据总量呈现上升趋势, 大数据时代属于一场前所未有的革命。当前大数据主要应用在互联网、传统商业领域, 主要是开展客户挖掘、购物行为预测, 购物需求分析等。在信息时代下, 工业化生产逐渐朝着智能化、柔性化的方向发展。不管是在生产设备, 或者是感知设备均属于数据的生产者。依据相关资料显示, 制造行业内的数据储存量明显高于其他行业。在2012年其数据储存量已经接近于2EB。随着数据储存量的增长, 其管理难度、数据种类也在不断变化, 呈爆炸式增长趋势, 直接导致工业大数据爆发。德国的4.0工业、美国的工业互联网行业的深入发展以及“中国制造2025”规划, 将促使智能化分析与物联网实现密切配合, 以此对现存的生产方式、管理方式进行转变。德国4.0工业也提出过“智能工厂”“智能物流”等发展理念, 在任何一种发现理念中, 其数据属于底层核心。工业4.0就是将多源异构的数据整合并支撑前端智能的过程。无疑, 数据将会渗透到企业运营的整个生命周期, 推动制造业向智能化转型, 意味着工业大数据时代到来。

    结合相关资料, 工业大数据本身具备采样性、多样性的排列顺序, 其数据还具备混杂性的特点。工业数据主要分为密集数据、慢数据、快数据。通过深入分析发现, 工业数据还具有多源性、广泛性、动态性的特点, 在工业数据的应用与管理上存在着较多的问题与挑战。主要是因为工业数据涉及的部门较多, 其涉及的领域也比较广, 在实际工作中面临着数据安全、所有权、质量、管理、控制等问题。加之当前我国对工业数据管理与控制上还未能形成统一的管理制度与管理固定, 在实际的管理中“信息孤岛”现象普遍存在。这就对工业产生的海量数据, 如何进行合理管理, 科学储存, 以此提升数据资源的利用率, 成为当前工业行业改革的重点问题之一。

    使用元数据, 能够对工业数据进行目录化管理, 实现数据服务, 这类技术能够弥补传统数据集中中的缺陷, 特别是数据集成不完善问题。从而能使工业大数据能得到更好的存储和共享。

    一、平台体系架构

    多源异构的数据就像一个个信息孤岛, 如何集成到统一的数据中心并在统一管理下对外提供数据服务是研究的重点。为了打破数据壁垒, 释放数据价值, 应用元数据管理技术建立元数据管理平台, 实现元数据的采集、变更、删除及检索, 并在元数据的驱动下实现数据的抽取、转换、加载, 结合数据标准管理、数据模型管理和数据质量管理, 建立电子化数据目录, 最终实现统一的对外数据服务。

    图1 元数据驱动的大数据服务平台架构

    数据中心将来源于设备状态监测、企业管理信息系统等不同来源、不同特性的数据通过统一的ETL过程存储下来, 并在此过程中实现元数据的采集和稽核, 建立电子化的数据目录并存储在元数据库中, 同时在服务平台上建立适当粒度的数据服务。外部应用可以在元数据管理平台中检索元数据和数据服务, 并构成数据服务请求进而访问数据, 从而实现应用系统以自助式、自主式的方式获得数据, 真正意义上打破数据壁垒, 实现工业大数据环境下的数据自服务, 释放数据价值。

    二、关键技术

    (一)元数据管理

    元数据是一种结构化的信息, 用于对某项信息资源进行描述、解释、定位, 使其易于提取和使用。工业大数据时代, 如何从海量数据中发现知识进行分析成为难题。为此通过元数据管理高效支撑海量数据资产的快速识别定位、高效有序管理和智能便捷应用, 使决策者知晓数据资产概况, 管理者知晓数据资产的健康运行状况, 使用者知晓数据资产的来龙去脉。

    元数据包括业务元数据、技术元数据和管理元数据。元数据管理以业务模型为切入点, 以数据模型 (特指基于业务原始数据且未进行逻辑加工处理的模型) 为中心, 制定业务模型和数据模型标准, 管理数据模型、数据应用、数据集成、数据处理、数据视图等对象元数据信息, 监控标准的执行情况。

    图2 元数据管理模型

    元数据管理包含元数据采集、元数据维护、元数据发布、血缘分析、影响度分析、表关联度分析、元数据稽核等功能。通过自动采集ETL转换过程, 对结构化、非结构化的数据进行统一管理, 进而支撑上层数据服务。

    (二)数据标准管理

    数据标准管理要符合企业数据标准管理的相关办法, 落实数据标准管理相关人员的职责, 固化数据标准管理的流程规范。

    数据标准管理通过采集抽取元数据, 建立标准数据与元数据映射, 并对关键元数据进行筛选, 按照业务、地域、系统3个维度进行划分形成数据目录, 数据目录支持按维度下钻浏览, 同时支持数据标准对数据地图进行探索;数据标准管理支持数据分布智能查询、数据分布浏览功能。可根据元数据信息及专业数据, 结合业务经验, 将具有词典意义的单词定义为标准单词, 也可将多个单词组合成业务术语或技术用语。

    (三)数据模型管理

    数据模型管理是对企业概念模型、逻辑模型和物理模型进行统一管理, 覆盖模型的设计、发布和应用等各阶段。数据模型管理将企业模型管理规范、模型与数据库映射管理导入数据模型管理组件中, 并提供模型信息维护、版本管理、业务模型与物理模型映射等功能。数据模型管理也提供模型的可视化展现、在设计期、开发期、运行期的模型分析比对、模型的分发功能, 进行模型的全生命周期管理。

    (四)数据服务总线

    数据服务总线建立基于元数据和数据模型的对外数据服务, 采用基于数据模型的可视化配置的方式, 节省繁复的接口脚本编写过程, 提高数据服务的效率。

    数据服务总线提供的统一的数据服务目录, 对数据资产的产生、位置、责任单位、共享范围、更新维护方式、服务方式等方面的信息进行全面描述, 为企业提供统一的数据资源全景地图, 明确信息资源有什么, 在哪里, 谁负责, 做到“信息清、资源清”。

    通过数据服务标准化开放访问, 帮助数据中心和应用中心实现应用和数据分离, 提高应用开发效率和生产效率。访问接口支持Web Service、Http/Rest、FTP等, 并提供统一的服务封装能力, 将对外共享的数据按照一定粒度封装为独立的服务实体, 尽可能屏蔽内部的细节, 只提供标准化的交互接口, 保证了数据的安全性和数据交换的标准化。

    三、应用实践

    中国南方电网有限责任公司调峰调频发电公司成立于2006年7月, 隶属于中国南方电网有限责任公司。公司主要负责南方电网区域内的调峰、调频电厂的运营、维护、管理和建设工作。其工作目的是为南方电网提供优质运行服务, 确保南方电网的安全性、经济性。目前, 公司的已投运机组容量642万k W, 在建机组容量158万k W, 前期开发项目容量660万k W。公司的管辖范围主要包括:调峰、调频、调相、事故备用等, 是确保电网安全运行的关键环节, 直接带动了当地经济的发展。

    当前调峰调频发电公司正在开展围绕发电设备状态监测的状态监测中心研究与建设工作。其软件环境分为数据中心和应用中心两大部分。数据中心集中存储设备准实时数据和管理业务的结构化数据, 分为采集层、存储层、数据仓库层、数据服务层。应用中心以轻量化应用的思路, 遵循OSGi技术规范, 支持PC端、移动端的组件化应用。

    图3 状态监测中心软件环境逻辑架构图

    通过应用元数据驱动的数据服务平台, 状态监测中心的数据中心已具备各类准实时的设备监测数据和结构化的业务系统数据统一采集、存储、综合管理、分析和数据服务等功能, 初步实现应用和数据的解耦, 为设备实时管理、企业实时管控和科学决策提供支持。

    四、结论

    随着数据的指数级爆发式增长, 企业信息化转型和数字化驱动的迫切需求, 如何应对大数据时代, 从数据中发现知识并驱动企业发展, 成为当前的热点问题。提出元数据驱动的数据服务平台, 适合大数据的存储分析应用需求, 是实现数据自服务、推动企业数据化运营的可行路线。在未来的工作中, 要考虑如何将数据服务平台支撑的应用效果反馈到平台中, 实现闭环的数据服务体系, 对设备监测和企业管理进行控制优化。

    展开全文
  •  本文采用高压大带宽MOSFET运放PA92和高精度运放OP07设计了一种基于电压控制...最后对实际电路的各项性能进行了测试和分析,结果表明:该电路具有良好的动态和静态性能,能够很好的满足驱动压电微位移平台的要求。
  • Android系统驱动介绍

    千次阅读 2019-08-12 09:02:37
    Android在Linux内核中增加的主要是一些驱动程序,这些驱动程主要分为两种:Android专用驱动和Android使用的设备驱动。 Android专用驱动    Android专用驱动程序不是Linux的标准驱动,它们的作用是辅助系统运行,...
  • Linux Platform devices 平台设备驱动

    万次阅读 多人点赞 2016-06-08 01:31:18
    platform平台设备驱动是基于设备总线驱动模型的,它只不过是将 device 进一步封装成为 platform_device,将 device_driver 进一步封装成为 platform_device_driver,前面已经分析过设备总线驱动模型,关于device 与 ...
  • rk3288平台上, gpu和ddr有自己的一套dvfs机制,而在rk3399平台,使用了系统的devfreq框架。 devfreq 是内核开发者定义的一套支持动态调整设备频率和电压的的框架模型。它能有效的降 低该设备的功耗,同时兼顾其性能...
  • 操作系统实验·字符设备驱动程序

    千次阅读 2021-12-10 23:08:56
    编写一个简单的字符设备驱动程序,该字符设备并不驱动特定的硬件, 而是用内核空间模拟字符设备,要求该字符设备包括以下几个基本操作,打开、读、写和释放,并编写测试程序用于测试所编写的字符设备驱动程序。...
  • 网上可以找到动态加载驱动的,不过没源码,而且是基于ARM平台的.但是我的CPU不是ARM的,晕,自己做一个.不过刚入社区,没有积分,出此下策,敬请见谅!
  • 针对某型用于高品质动感运动平台的交流伺服电机驱动器系统,以驱动电流的波动值最小为优化目标,以平台动态响应指标为约束条件,构建了交流伺服电机驱动驱动控制的优化模型。通过采用遗传算法优化方法,对驱动器的...
  • Android 10 LED 驱动开发

    千次阅读 2022-03-11 14:19:30
    基于展锐SL8541E平台设计的SU806-CN智能模组增加LED电量灯和工作指示灯显示
  • android wifi驱动加载流程

    千次阅读 2021-12-20 13:53:38
    本文基于android 7.0 海思 Hi3798MV200 平台 WiFi驱动加载流程: 一、.进入高级设置,无线设置界面(WifiSettings.java)打开WiFi开关(SwitchBar),触发WifiEnabler.java中的onSwitchChanged回调。通过...
  • 紫光展锐驱动之sensorhub调试

    千次阅读 2021-07-20 11:05:32
    第一章 平台及硬件信息简介 本文档基于ums312(T310),Android 11,sensorhub架构,sensor的硬件接口为i2c1(该平台目前不支持spi) 第二章 紫光展锐的移植文档 第三章 FAE提供的代码 ...第四章 动态驱动的编译
  • 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录1、原理图2、ALSA DAPM2.1、控制寄存器的种类2.2、利用辅助宏定义`widget`所需要的`dapm kcontrol`2.2、配置寄存器:3、DAPM的基本单位widget:4...
  • 展讯平台手机camera驱动移植_2

    千次阅读 2020-02-18 10:52:04
    在之前的文章里我们讲到了展讯平台camera驱动移植的简单介绍。然而在安卓q开始,展讯camera这一块的目录结构都进行了较大的改变。在这里我们主要讲一下安卓q的camera驱动移植。此处仅陈述点亮,OTP、AF、FLASH等等暂...
  • Documentation Home> 编写设备驱动程序 Book Information 索引 前言 第1部分 针对 Solaris ... 什么是设备驱动程序? 什么是设备驱动程序入口点? 设备驱动程序入口点 通用于所...
  • 所谓事件驱动,就是不再以测试用例为基本单位,而是将所有的测试步骤、验证操作都作为一个系统中发生的事件来对待,如果将一个系统的所有操作都定义为单独的事件,那么就会有一个完整的事件库,测试用例开发者便可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,809
精华内容 62,323
关键字:

动态平台驱动是什么