Binder

Binder
Binder

C/C++环境下的Bi n der机制,主要包括Binder驱动的实现、运作原理、IPC机制的实现、接口等

1. Binder主要能提供的功能

(1)用驱动程序来推进进程间的通信

(2)通过共享内存来提高性能

(3)为进程请求分配每个进程的进程池

(4)针对系统中的对象引人了引用计数和跨进程的对象引用映射

(5)进程间同步调用

2.初识Binder

Binder是通过Linux的Binder Driver来实现的。Binder的用户空间为每一个进程维护着一个可用的线程池,线程池用于处理到来的IPC以及执行进程的本地消息,Binder通信时同步的而不是异步的。Binder机制是基于OpenBinder来实现的。

Binder通信也是基于Service/Client的,所有需要IBinder通信的进程都必须创建一个IBinder接口。

----Service Manager服务

在Android虚拟机启动之前,系统会先启动Service Manager守护进程,Service Manager 就会打开Binder驱动,并通知Binder Kernel驱动程序,这个进程将作为System Service Manager,然后该进程将进入一个循环,等待处理来自其他进程的数据。

3. Binder驱动的原理

为了完成进程间通信,Binder采用了AIDL(Android Interface Definition Language)来描述进程间的接口。

驱动实现过程中,主要通过binder_ioct l函数与用户空间的进程交换数据。binder_thread_write函数用以发送请求会返回结果,实质上是在其函数中调用了binder_transaction函数来转发请求并返回结果(请求通过查找handle对应的进程完成)。binder_thread_read函数则用于读取结果。binder_parse()完成数据的解析工作。

4.驱动的实现

A进程要使用B进程的服务,B进程首先要在Service Manager中注册此服务,A进程通过Binder在Service Manager中获得B进程服务的handle,通过这个handle,A进程就可以使用该服务了,handle可以理解为地址。

本地进程------本地对象-----本地进程的地址空间的一个地址,远程进程---“引用”---是一个抽象的32的句柄

Binder的实质就是要把对象从一个进程映射到另一个进程中,而不管这个对象是本地的还是远程的。

对于发送者进程而言,不管是“对象”还是“引用”,它都会认为被发送的Binder对象是一个远程的句柄(即远程对象的“引用”),但当Binder对象的数据被发送到远端接收进程时,远端接收进程则会认为该Binder对象是一个本地对象地址(即本地对象)。Binder驱动负责两种不同名称的对象的正确映射

该机制中使用的数据结构体:

(1).binder_work

最简单也是最基础的结构体

(2).Binder的类型

本地对象:①BINDER_TYPE_BINDER ②BINDER_TYPE_WEAK_BINDER

引用:③BINDER_TYPE_HANDLE ④BINDER_TYPE_WEAK_HANDLE

文件:⑤BINDER_TYPE_FD

(3).Binder对象

把进程之间传递的数据称之为Binder对象(Binder Object),它在对应源码中使用flat_binder_object结构体来表示。

本地Binder对象和远程handle句柄的理解:假如A有个对象O,对于A来说,O就是一个本地的Binder对象;如果B想访问A的O对象,对于B来说,O就是一个handle。若是本地对象,Binder还可以携带额外的数据

(4).binder_transaction_data

Binder对象所传递的实际内容是通过此结构体来表示的。它是理解Binder驱动实现的关键。

(5).binder_write_read

读写缓冲区,用来存储发送的任务信息和接收返回的结果信息

(6).binder_proc

用于保存调用Binder的各个进程或线程的信息,如线程ID、进程ID、Binder状态信息等(7).binder_node

表示一个Binder节点

(8).binder_thread

用于存储每一个单独的线程的信息

(9).binder_transaction

主要用来中转请求和返回结果,保存接收和药发送的进程信息。

函数:

(1).binder_init

是Binder驱动的初始化函数,初始化函数一般需要设备驱动接口来调用,Android Binder

设备驱动接口函数是device_initcall(仅支持静态编译,区分于module_init和module_exit) (2).binder_open

用于打开Binder设备文件/dev/binder,对于Android 驱动,任何一个进程及其内的所有线程都可以打开一个Binder设备。

(3).binder_release

当Binder驱动退出时,需要使用它来释放在打开以及其他操作过程中分配的空间并清理相关的数据信息。

(4).binder_fush

flush操作接口将在关闭一个设备文件描述符复制时被调用。

(5).binder_poll

poll函数是非阻塞型IO的内核驱动实现,所有支持非阻塞IO操作的设备驱动都需要实现poll函数。Binder的poll函数仅支持设备是否可以非阻塞地读(POLLIN),这里有两种等待任务:一种是proc_wrok,另一种是thread_work。poll通过调用poll_wait函数来实现(6).binder_get_thread

可以用于在threads队列中查找当前的进程信息。

(7).binder_mmap

mmap(memory map)用于把设备内存映射到用户进程地址空间中,这样就可以像操作用户内存那样操作设备内存。Binder设备对内存映射是有限制的,如最大4M内存,不能映射具有写权限的内存区域等。Binder的设备内存是mmap操作时分配的,故每个进程/线程只能执行一次映射操作,其后的操作都会返回错误。

(8)binder_ioctl

Binder的功能就是通过ioctl命令来实现的,Binder的ioctl命令共有7个,定义在ioctl.h 头文件中。

ioctl是设备驱动程序中对设备的I/O通道进行管理的函数,也即对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等

七大命令:

①BINDER_VERSION

用于返回当前版本信息。

②BINDER_SET_MAX_THREADS

用于设置进行的Binder对象所指的最大线程数,进程会根据该数目来决定线程池的容量。设置的值保存在binder_proc结构的max_threads成员里。

③BINDER_THREAD_EXIT

用于释放相应的线程信息,其具体过程在binder_free_thread函数中实现,用来终止并释放binder_thread对象及其binder_transaction事务。

④BINDER_SET_CONTENT_MGR

将一个线程/进程设置为Context Manager(如果一个进程/线程能被成功设置成binder_context_mgr_node对象,则称这个进程为Context Manager(context_mgr))。该命令一般在系统启动时初始化Binder驱动的过程中被调用,并且也只有创建binder_context_mgr_node对象的Binder上下文管理进程/线程才有权限重新设置这个对象⑤BINDER_WRITE_READ

该命令是Binder最核心的部分,Binder的IPC机制就是通过这个接口来实现的。是所有Binder的基础,即读写操作:binder_thread_write和binder_thread_read

⑥BINDER_SET_IDLE_TIMEOUT

还没有被实现

⑦BINDER_SET_IDLE_PRIORITY

还没有被实现

(8).binder_release_work

释放binder_work

5.Binder系统架构

(1).Binder驱动

用于实现Binder的设备驱动,主要负责组织Binder的服务节点,调用Binder相关的处理线程,完成实际的Binder传输等

(2).Binder Adapter

Binder Adapter层是对Binder驱动的封装,主要用于操作Binder驱动,即用于程序不必直接接触Binder驱动程序,实现IPCThreadState.cpp和ProcessState.cpp,以及Parcel.cpp中的部分内容。

(3).Binder核心库

Binder核心库是Binder框架的核心实现,主要包括IBinder、Binder(服务器端)和BpBinder (客户端)

(4).

位于最上面两层的Binder框架和具体的客户端/服务器端都分别有Java和C++两种实现方案,主要供应用程序使用,比如摄像头和多媒体等,它们通过调用Binder的核心库来实现

6.Binder机制的组成

Android的Binder机制就是一个C/S架构,客户端和服务端直接通过Binder交互数据,打开Binder写入数据,通过Binder读取数据,这样通讯就可以完成了。数据的读写是由Binder 驱动完成的,除了Binder驱动外,这个机制包括以下几个组成部分:

(1).Service Manager

Service Manager主要负责管理Android系统中所有的服务,当客户端要与服务端进行通信时,首先就会通过Service Manager来查询和取得所需要交互的服务。在这之前,每个服务也都需要向Service Manager注册自己提供的服务,以便能够供客户端进行查询和获取(2).服务(Server)

这里的服务即上面所说的服务端,通常也是Android的系统服务,通过Service Manager 可以查询和获取某个Server

(3).客户端

这里的客户端一般指Android系统上面的应用程序。它可以请求Server中的服务,比如Activity

(4).服务代理

服务代理指在客户端应用程序中生成的Server代理(proxy)。从应用程序的角度来看,代理对象和本地对象没有差别,都可以调用其方法,方法都是同步的,并且返回相应的结果。服务代理也是Binder机制的核心模块

7.Binder工作流程

(1).客户端首先获得服务器端的代理对象。所谓的代理对象实际上就是在客户端建立一个服务端的“引用”,该代理对象具有服务端的功能,使其在客户端访问服务端的方法就像访问本地方法一样

(2).客户端通过调用服务器代理对象的方式向服务器端发送请求

(3).代理对象将用户请求通过Binder驱动发送到服务器进程

(4).服务器进程出路用户请求,并通过Binder驱动返回处理结果给客户端的服务器代理对象

(5).客户端收到服务器端的返回结果。

结论:这里与Binder通信的对象服务端就是服务

8.Android中的服务

服务的基本框架

Android系统中的三中服务:

(1).Native服务

Native服务实际上就是完全在C++空间完成的服务,主要是指系统一开始初始化时,通过Init.rc脚本启动的服务,例如Services Manager service、Zytoge service、Media service、ril_demon service等

(2).Android服务(Java服务)

Android服务是指在JVM空间完成的服务,虽然也要使用Native上的框架,但是服务主体存在于Android空间上。Android服务是第二阶段初始化(Init2)时建立的服务。(3).Init空间的服务

Init空间的服务主要用于完成属性设置,其通信采用Socket方式

--------Binder Adapter

服务与客户端之间的通信通过Binder驱动来完成,对于Binder驱动间的通信,Android 专门提供了一个Binder Adapter层来负责。

Binder Adapter实际上就是对Binder驱动的封装,用于完成Binder库与Binder内核驱动的交互。主要实现包括IPCThreadState和ProcessState。

ProcessState类是一个singleton类型,它包含了通信细节,利用open_binder代开Linux 设备dev\binder,通过ioctl建立基本的通信框架,每个进程只有一个ProcessState对象。起作用时维护当前进程中的所有Service代理。一个客户端可能需要多个Service的服务,这样可能会创建多个Service代理,客户端进程中的ProcessState对象就负责维护这些Service代理。

IPCThreadState类,主要负责数据的读取、写入和请求处理框架,每一个进程都会有一个IPCThreadState对象。所有关于Binder的操作都放置在IPCThreadState中,同时它会使用在ProcessState打开Binder设备的句柄

IPCThreadState的几个重要函数:

①.taikWithDriver() 负责读取和写入,实际上就是通过ioctl对ProcessState打开的句柄进行读写。

②.executeCommand(…) 请求处理

③.joinThreadPool() 循环结构

当一个服务启动时,会调用ProcessState::self()函数来获得一个ProcessState实例;

ProcessState::ProcessState()构造函数首先通过open_driver()打开Binder设备驱动(/dev/binder),然后通过ioctl建立基本的通信框架。

ProcessState中还维护了一个线程池,可以通过函数ProcessState::startThreadPool()来开启线程池。该线程池会维护所有的服务端代理,当需要创建一个服务端代理对象时,就会调用ProcessState::getStrongProxyForHandle(int32_t handle)来实现。

(4).

不管是客户端还是Service进程,都需要用IPCThreadState来与Binder设备通信。如果是客户端进程,则通过服务代理对象BpBinder调用transact函数,把客户端的请求写入Binder 设备的另一端的Service进程;如果是Service进程,当他完成初始化工作之后,就需要进入循环状态等待客户端的请求,Service进程调用它的IPCThreadState对象的joinThreadPool方法,开始轮训Binder设备,等待客户端请求的到来。

9.Service Manager

Service Manager是所有服务的管理器,因此Server(System Server)都需要向它注册,应用程序需要向其查询相应的服务。

当Android启动时就会自动运行一个核心进程,该函数首先调用binder_open打开Binder (/dev/binder),其次,它调用binder_become_context_maneger函数,将自己设置为Service Manager。因为Service Manager本身就是一个服务,知识它比较特殊,会管理其他所有的服务,也正是binder_become_context_manager函数将其变为服务管理器的。binder_become_context_manager函数中,通过Binder的ioctl和BINDER_SET_CONTEXT_MGR 向驱动申明自己是服务管理器,作为服务管理器就需要为客户端提供查询和获取服务。

10.Binder机制

(1).Ibinder

Android对Binder机制进行了抽象,定义了IBinder接口,该接口是对跨进程对象的抽象,在C/C++和Java层都有定义。IBinder定义了一套使用Binder机制来实现客户程序和服务器的通信协议。

一个普通对象只能在当前进程中被访问,如果希望它能被其他进程访问,就必须实现IBinder接口。IBinder接口可以指向本地对象,也可以指向远程对象,关键就在于IBinder接口中的transact函数。如果IBinder指向的是一个服务器代理,那么transact只是负责把请求发送给服务器;如果IBinder指向的是一个服务端,那么transact只负责提供服务即可。该接口必须实现,这样才能进行Binder通信。

(2).服务端代理对象BpBinder

BpBinder是服务端代理对象,即远程对象在当前进程的代理。实际上,它也是Binder通信存在于客户端的进程,它实现了IBinder接口,即它的transact方法也已实现。transact函数的实现,实际上只是简单地调用了IPCThreadState::self()的transact函数,将请求通过内核模块发送到了服务端,服务端处理完请求之后,沿原路返回结果给调用者。

注:transact方法是同步方法,将会挂起客户进程的当前进程,直到Service把请求处理完成并返回结果

(3).服务端BBinder

服务端同样需要实现IBinder接口,同样实现了transact函数。在transaction函数中会回

到onTransact 函数,onTransact 是Bbinder 中声明的一个protected 类型的虚函数,这个要求它的子类区实现。

11 .MediaService 的实现

这一部分分析如何使用Binder 机制。

MediaService 是Android 的多媒体服务(比如播放和录制等),Android 的媒体播放功能分成两部分:媒体播放应用和媒体播放服务(MediaServer ,在系统启动时由init 启动),这两部分分别运行在不同的进程中。媒体播放应用包括Java 程序和部分C++代码;媒体播放服务是C++代码;并且需要调用外部模块Opencore 来实现真正的媒体播放。媒体播放应用和媒体播放服务之间需要通过Binder 机制来相互调用,这些调用包括:

①媒体播放应用向媒体播放发送控制指令。

②媒体播放服务向媒体播放应用发送事件通知(notify )。 MediaService 的入口函数实现:

main_mediaserver.cpp 的实现片段

---------------------------------------------------------------------------------------------------------------------------------

int main(int argc, char** argv) {

//(1).获得ProcessState 实例

sp proc(ProcessState::self()); //(1).得到一个ServiceManager 对象

sp sm = defaultServiceManager(); ALOGI("ServiceManager: %p", sm.get()); AudioFlinger::instantiate(); //(2).初始化MediaService 服务 MediaPlayerService::instantiate(); CameraService::instantiate(); AudioPolicyService::instantiate();

//(3).启动进程的线程池

ProcessState::self()->startThreadPool();

//将自己加入到线程池

IPCThreadState::self()->joinThreadPool(); }

-------------------------------------------------------------------------------------------------------------------------------- (1)首先通过ProcessState ::self()获得一个ProcessState 实例,然后通过

sp sm = defaultServiceManager()获得一个ServiceManager 实例。 -----------------------------------------------------------------------------------------------------

sp defaultServiceManager()函数的实现中,全局变量gDefaultServiceManager 若为NULL ,则会创建一个

defaultServiceManager() = interface_cast{

ProcessState::self() getContextObject(NULL);

}

sp ProcrssState::getContextObject (const sp & caller )函数会将创建过

程交给ProcessState::getStrongProxyForHandle()函数来实现,第一次进入该函数则会创建一个BpBinder对象并返回,在创建BpBinder的过程中,也会通过IPCThreadState::self()来创建一个IPCThreadState。

interface_cast<…>{…}调用了asInterface(…),在IServiceManager::asInterface(…)实质上是创建了一个BpServiceManager实例。BpServiceManager就是ServiceManager的Binder代理对象。在IserviceManaget.cpp中可以找到BpServiceManager的实现。在实现BpServiceManager时,又会进入BpInterface的构造函数,它位于Iinterface.h中,最终会进入BpRefBase的构造函数,它位于Binder.cpp中。--------------------------------------------------------------------------------------------------------------------

总结:“sp sm = defaultServiceManager()”语句返回的实际上是BpServiceManager对象,它的remote对象是BpBinder,传入的handle参数是0。得到了BpServiceManager对象后,我们就可以通过Binder与ServiceManager进行交互了。

--------------------------------------------------------------------------------------------------------------------------------

(2).下一步是初始化各个服务,包括媒体播放和相机等,这里以MediaPlayerService威力进行分析。首先调用了MediaPlayerService::instantiate来初始化MedaiPlayerService。MediaPlayerService继承自BnMediaPlayerService,实际上就是MediaPlayerService服务,对应于Binder机制中的服务端。热很服务都需要向ServiceManager注册,既然注册就需要与ServiceManager通信。此时就需要Binder机制了,我们可以通过ServiceManaget的服务端代理对象BpServiceManager来进行通信。因此,注册过程就是通过BpServiceManager::addService来注册BnMediaPlayerService服务到ServiceManager。注册BnMediaPlayerService服务是传入的字符串参数是media.player,故我们在通过ServiceManager查询和获取该服务时使用这个字符串即可。

BpBinder::transact--------------最终调用------------------→IPCThreadState::self()来发送数据

最终通过writeTransactionData函数来完成数据的发送最终通过wraiteTransactionData函数来完成数据的发送。在writeTransactionData中将要发送的数据整理为一个

binder_transaction_data结构体,此时数据还是没有发送,直到进入talkWithDriver函数中才会真正开始利用Binder驱动来进行操作。

在talkWithDriver中,mProcess→mDriverFD就是最早打开的Binder设备驱动,剩下的任务就交给Binder驱动来完成了。

--------------------------------------------------------------------------------------------------------------------------------- 以上全部总结:

1).通过ProcessState::self()函数获得ProcessState对象,并打开Binder设备

2).通过defaultServiceManager得到BpServiceManager实例

3).通过MlediaPlayerService::instantiate()得到MediaPlayerService服务BnMediaPlayerService,并通过BpServiceManager::addService将MediaPlayerService服务添加到Service Manager的list中

---------------------------------------------------------------------------------------------------------------------------------

(3).我们要使用MediaPlayerService服务,那么MediaPlayerService客户端就需要与MediaPlayerService(即BnMediaPlayerService)交互。交互的过程中需要建立一个循环,然

后读写Binder设备。注意,在BnMediaPlayerService中并没有打开Binder设备和建立一个循环监听,这里实际上是借用了ProcessState来完成了MediaPlayerService的一些功能。

ProcessStaste会维护一个进程中的所有服务(Server)代理,每个进程中只能有一个;当然这里也维护MediaPlayerService服务的代理。在main_mediaserver.cpp的main函数中,紧接着由“ProcessState::self()→startThreadPool();”来创建一个线程池并启动,而线程池PoolThread又继承自线程Thread。故,当PoolThread在执行run函数启动时,会执行Thread 的run函数。

Thread::run(…)----- -----调用了-------------》createThreadEtc-----------创建了--------------》一个线程,线程函数为_threadLoop--------------在_threadLoop 中调用---------------》IPCThreadState::self()→joinThreadPool。

在main_mediaserver.cpp的main函数中也会调用IPCThreadState::self()→joinThreadPool,也就是说,主线程和工作线程都会执行joinThreadPool;在joinThreadPool函数中通过talkWithDriver函数操作Binder驱动程序,executeCommand函数执行命令。

executeCommand实际上会根据不同的命令进行解析,但最终的解析还是会调用BBinder::transact函数,而transact函数又调用了自己的BBinder::onTransact函数。这里的BnMediaPlayerService继承自BBinder,所以会调用到它自己的BnMediaPlayerService::onTransact函数。

创建BpMediaPlayerService的过程

--------------------------------------------------------------------------------------------------------------------------------- sp< IServiceManager> sm = defaultServiceManager();

sp binder;

do{

//查询MediaPlayerService,返回Binder

binder = sm→getService(String16(“media.player”));

if(binder != 0){

break;

}

usleep(500000); //0.5s

}while(true);

sMediaPlayerService = interface_cast {binder};

--------------------------------------------------------------------------------------------------------------------------------- 过程分析:首先通过defaultServiceManager函数获得ServiceManager对象,然后调用ServiceManager::getService查询指定名称(media.player)的MediaPlayerService服务,再通过interface_cast将查询得到的Binder转化为BpMediaService对象。这样BpMediaPlayerService 就可以与BnMeidaPlayerService进行通信了。

得到MediaPlayerService的实现

IserviceManager的家族图谱

五种防火墙操作管理软件评测

目前,在市面上存在着可以使防火墙具有更高效率、带来更多效益的工具,Skybox和RedSeal 就是这些产品厂商中的个中翘楚。 任何一个在复杂企业环境中运行过多种防火墙的人都知道,捕捉错误的配置、避免防火墙规则(rule)相冲突、识别漏洞,以及满足审计与规则遵从(compliance)有多么的困难。 在此次测试中,我们重点关注的是五款防火墙操作管理产品:AlgoSec公司的防火墙分析器(Firewall Analyzer),RedSeal公司的网络顾问(Network Advisor)和漏洞顾问(Vulnerability Advisor),Secure Passage公司的FireMon,Skybox公司的View Assure和View Secure,以及Tufin公司的SecureTrack。 我们发现,这些产品的核心功能基本相似:能够检索防火墙(以及其他网络设备)的配置文件、存储并分析数据。如果安全策略遭到了破坏,它们可以查看历史变更记录、分析现有的防火墙规则、执行基于规则的查询,重新改变规则次序,并发出警报。它们还可以自动审计规则遵从,并生成相关报告。 此外,它们还能利用真实网络的即时快照版本进行建模与网络攻防测试。Algosec、RedSeal和Skybox还能提供所在网络的相关图表和拓扑视图。 总的来说,RedSeal和Skybox在此次测试中给我们留下的印象最为深刻,因为它们除了具备全部的基本功能外,还能支持多个厂商的漏洞扫描产品。这些漏洞扫描产品可以对网络存在的风险进行评分,并在整个网络范围内进行脆弱性分析。除了这两款产品,其他的产品同样给我们留下了很深的印象。 Algosec的防火墙分析器有一个直观的界面和预定义的标准审计和分析报告。该软件安装方便,同时还提供了一个简单的数据收集向导(wizard)。 RedSeal的网络顾问和漏洞顾问可以让用户了解自己的网络配置在防御来自互联网的威胁方面做得如何。该软件可以生成漏洞报告以显示网络存在的缺点,还包含了一些预先配置的规则遵从管理报告,有PDF和XML两种格式。 Secure Passage的FireMon可以对网络设备配置进行实时的分析,并通过规则遵从自动分析来保持最新状态。它还有一个专门的向导,可使得输入设备信息能一并发送到大型网络中。 Skybox的View Assure and View Secure能够按照小时、天、星期、月或年来自动收集配置文件信息。它内置了一个售票系统(ticketing system),支持访问变更票(access change tickets)和策略破坏票(policy violation tickets)。 Tufin的SecureTrack拥有一个假设(What-If)分析的特性,以在策略实施之前对它们可能引起的变化进行测试。预定义的分析/报告选项是以行业最佳实践为基础的。 下面将分别详细介绍所测试的五款产品: AlgoSec防火墙分析器 我们测试了基于Linux的AlgoSec防火墙分析器软件包,该软件包拥有:分析引擎、收集引擎、Web服务器、针对本地和远程管理的GUI,以及用户、策略存储和系统日志数据库。 该分析器的引擎按照预定义或自定义的规则对收集的数据进行查询,然后生成一份详细的报告。同时,Web服务器将把警报信息通过电子邮件发送给防火墙管理人员。 该安装程序包支持32位红帽企业级Linux 4和5,以及Centos 4和5。在测试中,我们把该程序作为一个VMware应用设备安装在了戴尔600SC服务器上。一旦VMware Player加载到了防火墙分析器上,它就会启动并以超级管理员用户(root)进行登录,然后再打开防火墙分析器浏览程序。当浏览器的路径设置为https://hostaddress/时,会出现Algosec的管理界面,点击login(登录)将会启动管理应用程序客户端。 防火墙分析器有三种数据收集方法:通过访问管理选项卡上的向导;AlgoSec提供的半自动脚本;

办公软件操作与应用

第一部分办公软件操作与应用 一、高效应用办公软件 1.正确认识办公软件; 2.注意掌握贴近实践的办公软件技能; 3.了解新功能,提高工作效率。 (一)Office办公软件组件 熟练掌握办公软件,有利于提高各种文档、报表和报告处理能力。 尤其是几种常用办公软件的综合应用,更加能够大大提高财会人员的工作效率。 比如工资单的处理和发放、财务报告的编制与分析、大数据的动态分析等等。 (二)Office的学习方法 在学习Office办公软件过程中,一定要注意以软件应用过程为导向的学习方法。 一味地死记硬背,不仅仅学习非常辛苦,而且容易遗忘;更主要的是:一旦软件版本升级,又需要从头学习。 二、高效办公必须懂的Office十八般武艺 Office的功能很多,不同的组件又有许多特有的功能。首先我们从Word、Excel、PowerPoint 共有的功能说起。 下面和大家介绍十八个知识和技巧,从文件管理、文字处理到图像设置,帮助大家快速提高日常工作效率。 (一)Office文件管理 在Office中,对于文件的管理,比如文档的新建、打开、保存、另存为以及打印、发布等相关操作,通过软件界面左上角带Office图标的圆形按钮可以轻松实现。 常见快捷方式

案例演示1:文件的加密 在文档管理工作中,有一些重要的、私密的数据,需要通过文件的加密,来防止信息的泄露和无关人员的修改。Office2007可以通过文件加密,限制文件的阅读和修改。 步骤:Office→另存为→工具→常规选项 案例演示2:文件的打印 在打印窗口,不仅仅能够设置打印机、打印范围和打印内容等等;还可以通过打印机属性,设置打印方式和打印质量;通过打印预览查看打印效果。 步骤:Office→打印 (二)Office选项 通过点击Office按钮可以选择设置系统选项。 包括软件的界面显示、作者标注、内容校对、保存方式、信任中心以及高级设置。 案例演示:将报表中零值显示为空

GRP-U8管理软件操作手册

GRP-U8管理软件操作手册 汕尾市恒宇科技有限公司 TEL: FAX: 2016年1月 账务日常业务流程: 1.系统基础资料设置; 2.账务凭证编制:每月/日都要进行的操作; 3.账务凭证审核:凭证录入后一定要进行审核,才能登记账簿;4、账务凭证记账:凭证记账后,系统自动生成相关的总分类,明细账和辅助账; 5.期末结账处理:每月要进行一次结账(可在年底一起结账)。6.账表输出(总账、明细账、多栏账等) 1.系统登录 一、安装好系统以后,重新启动电脑,使用账务处理系统之前,先打开, 这是一个软件加密程序,必须先双击这个程序,等程序检测到加密狗的序列号以后,软件才能正常运行,如果加密程序没有运行或者检测不到序列号,软件只能是试用版运行。 正常情况下,双击加密程序以后,它只会在桌面停留一瞬间便消失,如果我们要看加密程序是否检测到加密狗,在桌面的右下角有个加密程序的图标,鼠标双击打开,出现如下图标。 二、红色方框就是我们加密狗的程序,如上图,只能使用电子报表系统和账务处理

系统两个模块,如果产品列表下面没有出现,即使在安装软件的时候多安装了固定资产或者出纳之类,也是无法使用的。 确定软件的加密程序能正常读取到加密狗的序列号以后,返回桌面,双击 图标。 双击了GRP-U8管理软件的图标以后,系统弹出软件的登录框 三、选择我们需要入账的帐套、业务日期、登录的用户,输入用户口令,点击确定即可进入软件进行基础资料的设置、凭证的录入、账务的查询和电子报表的编制。 四、进入系统以后,系统提供四个功能模块,系统管理、基础资料管理、账务处理和电子报表。 五、系统管理:系统管理下面提供系统设置和下年度处理 1、系统初始化引导是我们在“后台数据管理工具”建立帐套以后,从这个选项里面可以设置帐套的一些基础资料,比如帐套的启用日期、帐套名称、帐套属性、科目模板等。 2、辅助核算类别是在我们做凭证的过程中,有些科目是需要按照辅助科目来核算的,比如往来单位、经济分类、功能分类等。 3、操作员管理可以增加或删除账务系统的操作员。 4、下年度数据处理是系统对下年度信息进行初始化,使得系统可以进行下年度的业务处理。 六、基础数据管理

软件维护及使用管理规定

软件维护及使用管理规 定 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

日常办公软件及特殊软件维护及使用管理办法 1、目的:为有效使用及管理计算机软件资源,并确保公司计算机软件的合法使用,避免人员因使用非法软件,影响公司声誉或造成计算机病毒侵害,影响日常工作正常进行,特制定本办法。 2、适用范围:本办法适用于本公司软件使用的相关信息作业管理。 一、软件安装及使用 1.公司的各类计算机软件,应依据着作版权者为限,并统一由信息技术部负责安装 保管,信息管理软件及其它专用软件,需填制《IT资源申请单》(见附表info- 03)进行申请,获准后方可安装。 2.严禁个人私自在公司计算机上安装未获授权、非授权公司使用或超过使用授权数 量的软件,未经授权或同意,使用者不得擅自在计算机内安装任何软件或信息, 经授权同意者始得于计算机内安装合法授权的软件或信息。 3.各部门软件分配使用后,保管人或使用人职务变动或离职时,应移交其保管或使 用的软件,并办理交接。 4.禁止员工使用会干扰或破坏网络上其它使用者或节点的软件系统,此种干扰与破 坏如散布计算机病毒、尝试侵入未经授权的计算机系统、或其它类似的情形者皆 在禁止范围内。 5.网络上存取到的任何资源,若其拥有权属个人或非公司所有,除非已经正式开放 或已获授权使用,否则禁止滥用或复制使用这些资源。 6.禁止员工使用非法软件,或私人拥有的计算机软件安装使用于公司计算机上,也 不得将公司合法软件私自拷贝、借于他人或私自将软件带回家中,如因此触犯着 作权,则该员工应负刑事及民事全部责任,各部门应妥善保管正版软件,防止软 件授权外泄或被非法使用。 二、软件的相关维护升级管理

项目管理软件project操作手册

项目管理软件p r o j e c t 操作手册 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

项目管理软件PROJECT 2010操作实例 Project工具一般用来管理一个项目,制定项目的执行计划。项目的三要素到底是时间,成本和范围。如何使用Project,必须明确如下几项: A,做什么事 B,这些事的时间有什么要求 C,要做的事之间有什么关系 D,做这些事的人员有谁 E,人员有特别的时间要求 下面举一个具体例子,了解一下项目管理软件的操作过程。 项目名称:电石炉主体安装工程 项目的开始日期:2016年2月1日 项目的结束日期:2016年6月11日 日程排定方法:从项目的开始之日起 项目日历:标准日历 工作时间:每周工作7天,每天8小时 项目目标:确保设备按期投产。 可衡量结果:达到业主产量要求。 一、任务清单列表:

大纲级别任务名称工期(工作日) 1(摘要)电石炉主体安装进度计划90 安装下料槽4 安装底部装置3 安装铜母线9 安装黄铜管3 安装电极壳3 安装电极柱2 安装下料仓2 安装下料管4 安装环形加料机10 安装炉顶加料皮带10 。。。。。。。。。。。 电气安装57 安装低压配电室电气柜4 安装中控室电气柜、控制台5 安装3-4层电气柜3 安装电缆槽30 。。。。。。。。。。 液压安装29 调试27 2配合投料 3投产保驾 4设备验收 5结束 二、资源可使用情况: 资源名称最大单位标准工资率每次使用成本成本累算方式 钳工4¥工时按比例 电工4¥工时按比例 管工6¥工时按比例 电焊工12¥工时按比例 起重工2¥工作日按比例 力工42¥工作日按比例 电动葫芦 卷扬机3¥ 自卸车1¥ 三、任务之间的相关性: 放线→设备机、电、液安装→调试→投产保驾→竣工验收→结束 四、具体操作步骤

Android Binder设计与实现 – 设计篇

Android Binder设计与实现–设计篇 摘要 Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和 Binder通信协议了解Binder的设计需求;然后分别阐述Binder在系统不同部分的表述方式和起的作用;最后还会解释Binder在数据接收端的设计考虑,包括线程池管理,内存映射和等待队列管理等。通过本文对Binder的详细介绍以及与其它IPC通信方式的对比,读者将对Binder的优势和使用Binder作为Android主要IPC方式的原因有深入了解。 1 引言 基于Client-Server的通信方式广泛应用于从互联网和数据库访问到嵌入式手持设备内部通信等各个领域。智能手机平台特别是Android系统中,为了向应用开发者提供丰富多样的功能,这种通信方式更是无处不在,诸如媒体播放,视频音频捕获,到各种让手机更智能的传感器(加速度,方位,温度,光亮度等)都由不同的Server负责管理,应用程序只需做为Client与这些Server建立连接便可以使用这些服务,花很少的时间和精力就能开发出令人眩目的功能。Client-Server方式的广泛采用对进程间通信(IPC)机制是一个挑战。目前linux支持的IPC包括传统的管道,System V IPC,即消息队列/共享内存/信号量,以及socket中只有socket支持Client-Server的通信方式。当然也可以在这些底层机制上架设一套协议来实现Client-Server通信,但这样增加了系统的复杂性,在手机这种条件复杂,资源稀缺的环境下可靠性也难以保证。 另一方面是传输性能。socket作为一款通用接口,其传输效率低,开销大,主要用在跨网络的进程间通信和本机上进程间的低速通信。消息队列和管道采用存储-转发方式,即数据先从发送方缓存区拷贝到内核开辟的缓存区中,然后再从内核缓存区拷贝到接收方缓存区,至少有两次拷贝过程。共享内存虽然无需拷贝,但控制复杂,难以使用。 表 1 各种IPC方式数据拷贝次数 IPC 数据拷贝次数 共享内存0 Binder 1 Socket/管道/消息队列 2 还有一点是出于安全性考虑。Android作为一个开放式,拥有众多开发者的的平台,应用程序的来源广泛,确保智能终端的安全是非常重要的。终端用户不希望从网上下载的程序在不知情的情况下偷窥隐私数据,连接无线网络,长期操作底层设备导致电池很快耗尽等等。传统IPC没有任何安全措施,完全依赖上层协议来确保。首先传统IPC的接收方无法获得对方进程可靠的UID/PID(用户ID/进程ID),从而无法鉴别对方身份。Android为每个安装好的应用程序分配了自己的UID,故进程的UID是鉴别进程身份的重要标志。使用传统IPC 只能由用户在数据包里填入UID/PID,但这样不可靠,容易被恶意程序利用。可靠的身份标记只有由IPC机制本身在内核中添加。其次传统IPC访问接入点是开放的,无法建立私有通道。比如命名管道的名称,system V的键值,socket的ip地址或文件名都是开放的,只要知道这些接入点的程序都可以和对端建立连接,不管怎样都无法阻止恶意程序通过猜测接收

人力资源管理系统软件操作手册

XX集团—人力资源管理系统操作手册 目录 常用操作(新人必读) (2) 1.基础数据管理 ................................................................................................................... - 5 - 1.1组织架构 (5) 1.2职位体系 (8) 1.3职员维护 (11) 1.4结束初始化.................................................................................. 错误!未定义书签。 2.组织管理业务 ................................................................................................................. - 27 - 2.1组织规划 (27) 2.2人力规划 (33) 2.3组织报表 (38) 3.员工管理业务 ................................................................................................................. - 41 - 3.1员工状态管理 (41) 3.2合同管理 (41) 3.3后备人才管理 .............................................................................. 错误!未定义书签。 3.4人事事务 (52) 3.5人事报表 (59) 4.薪酬管理 ......................................................................................................................... - 69 - 4.1基础数据准备 (69) 4.2薪酬管理日常业务 (92) 4.3薪酬管理期末业务 (107) 4.4薪酬报表 (108)

Office-办公软件的应用及操作-

Office 办公软件应用及操作 第一模块WORD 操作及应用 第一部分WORD 基本认识 一、WORD 是Office 办公软件组中专门针对于文字编辑、页面排版及打印输出 的应用软件。 二、WORD 启动(略) 三、WORD 窗口的基本构成: 1、标题栏:每次启动WORD 后自动生成一个暂命名为“文档1” 的空白文 档。 2、菜单栏:提供所有控制WORD 应用的操作指令。共九个菜单 3、工具栏:常用菜单选项的快捷图标。经常使用的工具栏有:常用/格式/ 绘图/表格和边框/符号等。(*可在工具栏任意位置处单击右键,打开或隐藏相应的工具栏) 4、标尺:用于标注编辑区页面尺寸及划分情况。(* 单击“视图” - “标 尺”可直接显示或隐藏该标尺。 5、编辑区:WORD 文档页面编辑排版的主要页面。一般默认以A4 纸为标准大 小,划分为文本区和页边区。 文本区是WORD 文档主体内容编辑区域;页边区内可完成页面的“页眉和页脚”的编辑。 (** 用户在页面编辑排版时,单击“文件” -“页面设置”:可对当前页面的纸型/方向以及页边距的范围等属性进行设定。排版时可使用标尺快速调整页面) 6.状态栏/滚动条、滚动按钮(略)

第二部分 WORD 文档的基本操作及文字编辑 一、WORD 文档的基本操作: 1保存/另存为: 新建立的文档(即从未存过盘的文档)可单击“文件” -“保存” / “另 标题栏 (窗口构成如下图所示) 菜单栏 滚动条/滚 动按钮 ?采毎 标尺 编辑区 口如中⑨ 五号?R I 1! - A A 罔=至苴;I 0 2 - IjCEOEClft 点/ ? 世衣」亠證|止冋p;: t (Q ) ilii 肅d )哥口帕 楸讪) LjJjJ 2 J I 节 状态栏

一个Binder例子

一个Binder例子 BpXXX、BnXXX同时实现一个接口IXXX。BpXXX主要是用来处理java层传下来的服务请求,然后通过transact将处理请求传给BnXXX(通过binder)。BpINTERFACE是client 端的代理接口,BnINTERFACE是server端的代理接口。 首先,定义IXXX接口: class ITestDaemon : public IInterface, public IBinder::DeathRecipient { virtual void init(); virtual void testFunc(); } BpBinder(Binder Proxy):主要功能是负责client向Bn发送调用请求的数据。它是client端binder通信的核心对象,通过调用transact函数,client就可以向Bn发送调用请求和数据。class BpTestDaemon : public BpInterface { void init() { Parcel data, reply; data.writeInterfaceToken(descr iptor); remote()->transact(init, data, &reply); } void testFunc() { Parcel data, reply; data.writeInterfaceToken(descriptor); remote()->transact(testFunc, data, &reply); } } BnBinder(Binder Native):BnBinder就是具体干事情的对象。 .H声明 class BnTestDaemon: public BnInterface { public: virtual status_t onTransact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags = 0); //由于IXXX是个纯虚类,而BnXXX只实现了onTransact函数,所以BnXXX依然是一个纯虚类}; .cpp实现: status_t BnTestDaemon::onTransact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { switch (code) { case init: { CHECK_INTERFACE(ITestDaemon, data, reply); init(); //调用虚函数 return NO_RROR; } case testFunc: { CHECK_INTERFACE(ITestDaemon, data, reply); testFunc(); //调用虚函数 return NO_ERROR; } }

销售管理软件操作手册

前言 本《操作手册》内容是按该软件主界面上第一横排从左至右的顺序对各个功能加以介绍的,建议初学者先对第一章系统设置作初步了解,从第二章基础资料读起,回头再读第一章。该管理软件的重点与难点是第二章,望读者详读。 第一章系统设置 打开此管理软件,在主界面上的左上方第一栏就是【系统设置】,如下图所示: 点击【系统设置】,在系统设置下方会显示【系统设置】的内容,包括操作员管理、数据初始化、修改我的登录密码、切换用户、选项设置、单据报表设置、导入数据、数据库备份、数据库恢复、压缩和修复数据库、退出程序。下面分别将这些功能作简要介绍: 1.1操作员管理 新建、删除使用本软件的操作员,授权他们可以使用哪些功能。此功能只有系统管理员可以使用。 1.1.1 进入界面 单击【系统设置】,选择其中的【操作员管理】,画面如下:

1.1.2、增加操作员 单击【新建】按钮,画面如下: 输入用户名称、初始密码、选择用户权限,可对用户进行适当描述,按【保存】后就点【退出】,就完成了新操作员的添加,效果如下图。

1.1.3 删除操作员 选择要删除的操作员,单击【删除】按钮。 1.1.4 修改操作员 选择要修改的操作员,单击【修改】按钮,可对操作员作相应修改,修改后需保存。 1.1.5 用户操作权限 选择要修改的操作员,单击【修改】按钮,出现以下画面,点击【用户权限】栏下的编辑框,出现对号后点【保存】,该操作员就有了此权限。 1.2数据初始化 1.2.1进入界面 单击【系统设置】,选择其中的【数据初始化】,画面如下:

1.2.2数据清除 选择要清除的数据,即数据前出现对号,按【确定】后点【退出】,就可清除相应数据。 1.3 修改我的登录密码 1.3.1进入界面 单击【系统设置】,选择其中的【修改我的登录密码】,画面如下: 1.3.2密码修改 输入原密码、现密码,然后对新密码进行验证,按【确定】后关闭此窗口,就可完成密码修改。 1.4 切换用户 1.4.1进入界面 单击【系统设置】,选择其中的【切换用户】,画面如下:

Binder 综合征的诊断和治疗

综述 model[J].Experimental and Molecular Pathology ,2009,87:173-177.[49]Roger G Gosden.Ovary and uterus transplantation[J].Reproduction , 2008,136:671-680. [50]Jones EC,Krohn PL.Orthotopic ovarian transplantation in mice [J]. Journal of Endocrinology ,1960,20:135-146. [51]Newton H Aubard Y,Rutherford A,et al.Low temperature storage and grafting of human ovarian tissue [J].Human Reproduction ,1996,11:1487-1491. [52]Baird DT,Webb R,Campbell BK,et al.Longterm ovarian function in sheep after ovariectomy and transplantation of autografts stored at K1968C [J].Endocrinology ,1999,140:462-471. [53]Nugent D,Newton H,Gallivan L,et al.Protective effect of vitamin E on ischaemia-reperfusion injury in ovarian grafts [J].Reproduction and Fertility , 1998,114:341-346.[54]Silber SJ,Lenahan KM,Levine DJ,et al.Ovarian transplantation between monozygotic twins discordant for premature ovarian failure [J].New England Journal of Medicine , 2005,353:58-63.[55]Silber SJ,DeRosa M,Pineda J,et al.A series of monozygotic twins discordant for ovarian failure:ovary transplantation (cortical versus microvascular)and cryopreservation [J].Human Reproduction ,2008,23:1531-1537. [56]Scott JR,Pitkin RM,Yannone ME.Transplantation of the primate uterus[J].Surg Gynecol Obstet,1971,133:414-418. [57]Diaz-Garcia C,Johannesson L,Enskog A,et al.uterine transplantation reseach:laboratory protocols for clinic application [J].molecular human reproduction , 2012,18(2):68-78.[收稿日期]2012-07-25 [修回日期]2012-09-26 编辑/李阳利 Binder综合征(bindersyndrome),又称为上颌窦-鼻发育异常,是以鼻上颌部发育不良为主要特征的面中部发育障碍。1882年, Zuckerkandl[1]最先对这类患者进行了描述。1962年,Binder通过对3例具有扁平面型的患者进行临床观察与研究,将这一疾病确立为一类综合征,以自己的名字进行命名。Binder认为该类综合征具有六种特殊的临床表现,即:扁平脸、鼻骨位置异常、上颌中部发育不全并错颌畸形、前鼻嵴短小或缺失、鼻粘膜萎缩及上颌窦缺失(后一项并 不是必备的)[2] 。随着研究的进一步发展,人们发现Binder综 合征的患者还可伴有脊柱等其他方面的发育异常,目前在新生儿中的发病率尚无确切数字。本文拟对其临床表现、诊断和治疗综述如下。1病因学研究 Binder综合征的病因目前尚无定论,主要考虑与以下四种因素有关: 1.1胚胎学:Binder综合征的病因通常与胚胎发育过程中前脑区诱导发育中心受到干扰相关[3]。但人们发现患者存在面中部发育异常的同时还可伴有脊柱异常,因此有人提出前脑及脊椎存在共同的诱导发育过程。Holmstrom发现孕期的第5~6周,梨状孔侧方及下缘的骨化中心受到抑制,可出现上颌的发育障碍,表现出鼻小柱、鼻尖、鼻唇角等的异常;同时此期亦是椎体系统的分化时间[4]。Barnes进一步阐明,虽然发育过程中面部和脊柱分属两区,即鼻额突区和轴旁中胚层区,但从基因及发生学上来说,一个区域受累将会影响到另 一个区域,因此,胎儿两个部位可同时出现畸形。 1.2遗传学:Binder综合征通常散发,少有家族性报道。但Ferguson和Thompson则认为该疾病的发生具有一定遗传倾向[5]。Horswell等[6]对24例患者进行调查发现有5例患者家族中存在类似病例。Olow-Nordenram[7]对97例Binder综合征的患儿进行研究,发现存在确切家族史的患者比率高达36%。目前疾病的遗传形式并不清楚,考虑应涉及多基因、多表现型,但与性别无关。 1.3维生素K的缺乏:任何影响维生素K摄入和吸收的因素均可增加患病风险,严重程度取决于暴露的时间长短。孕期接触锂、乙醇等化学元素及治疗性应用华法令或苯妥英钠均可导致维生素K缺乏 [8] 。如华法令很容易通过胎盘,孕期治 疗性应用华法令,可致严重的维生素K缺乏,并影响维生素K依赖性蛋白的合成及维生素K的循环利用。 在早期妊娠过程中可影响血清骨钙素(boneGlaprotein,BGP)和谷氨酸蛋白(matrixGlaprotein,MGP)的合成(MGP存在于软骨、骨和其他组织中,BGP存在于骨组织中),其中功能性的MGP缺失或减少可致很多软骨发生易位骨化,严重影响鼻中隔软骨的发育。 中晚期对凝血酶(II,VII,IX,X)的影响可致产前及产后出血。且实验证明,减少大鼠维生素K的摄入,可致大鼠吻部缩短,鼻上颌部发育不良,组织学则显示鼻中隔钙化 [9] 。Binder文献中报道的3例患者母亲孕期也存在类似情 况,一位是应用华法令药物治疗、一位是苯妥英钠药物治疗,另一位则酗酒。但该病因缺乏人口流行病学资料,故需做进一步研究与评估[10]。 Binder 综合征的诊断和治疗 The clinical features and treatment of binder syndrom 田甜综述,滕利审校 (北京协和医学院中国医学科学院整形外科医院整形五科 北京 100144) 通讯作者:滕利,教授、博士生导师、整形五科主任;E-mail:zxyytl@yahoo.com.cn

系统软件管理岗位职责与操作规范

系统软件管理岗位职责与操作规范 管理软件是整个系统的思想和灵魂。是设计思想与功能需求得以实现的最终环节。而系统软件管理员则是监察与纠正系统工作的灵魂工程师。 系统软件管理员职责 1、维护中心数据库的正常运作。 2、数据的备份管理。 3、保障各个工作站的正常工作。 4、系统操作权限的管理。 5、对各个工作站参数的设置与维护。 6、对各个操作员的培训与指导。 系统软件管理员操作规范 1、按照系统的工作流程设置及维护各项参数。 a)帐套管理软件只能安装在数据库服务器上。 b)根据工作性质与内容的不同,分别在各个工作站上安装相应的操作软件。 c)对每个系统操作人员设置专门用户,设置相应权限,同一用户不能同时在多个工作站上使用。 d)系统管理员用户(SYSTEM)具有最高权限,可做系统内的任何操作,所以此用户应由系统管 理员专人使用,专人负责,不可供多人使用, e)定期地进行对操作员操作日志的检查,以便发现问题及时处理。 3、进行帐套管理:要确保系统中始终只有一个正确的帐套,对因查询数据而恢复的帐套,要及时停用 或删除。 4、定时对数据库进行备份:

每天:设定数据库服务器每天的晚上某时间自动将数据增量备份到备份盘的MSSQL.DATA.BAK目录中,文件命名Ms设定当天YYYYMMDD.bak,如Ms20030324.bak 每周:在系统软件的帐套管理系统中执行备份,存在在备份盘中的EW.DA TA.BAK目录中,文件命名为Ew设定当天YYYYMMDD,如Ew20030324,它产生扩展名为.ddb和.bak的两个文件每月初:一、结算上月的数据;二、执行系统帐套管理中的备份,存放在备份盘中的EW.DATA.BAK目录中,文件命名为Ew备份当时上一月的YYYYMM,如Ew200303。 5、另采用数据库服务器本身提供的增量备份作补充,两种备份方式相结合,制定时间表,最大限度保 证数据的安全。 6、当服务器上达到一定的数据量时,要将备份数据转移,比如:备份到磁带上或刻录到光盘上保存。 a)在服务器端执行帐套管理系统,可以完成数据库的建立、备份、恢复等功能。 b)同时,要采用数据库服务器本身提供的增量备份功能进行数据的备份。 7、历史数据的查询 在数据备份计划中我们知道,当前数据库只保留了目前、上月、上上月的数据,如果有需要查询更前的数据,则按如下操作:

(DM02015-01) 恒温恒湿箱(Binder)操作标准

恒温恒湿箱(Binder) 操作标准

目录 1.目的 (2) 2.适用范围 (2) 3.责任 (2) 4.程序或内容 (2) 5.培训 (5) 6.变更历史记录 (5) 7.再审核记录 (5)

1. 目的:规范Binder240和Binder720型恒温恒湿箱的使用操作。 2. 适用范围:适用于Binder240和Binder720型恒温恒湿箱的使用操作。 3. 责任:检验员、检验室负责人、质量控制部负责人对本标准执行负责。 4. 程序或内容 4.1 首先检查供水及排水设施是否正常。 4.2 供水及排水设施正常以后接恒温恒湿培养箱电源插头。 4.3 打开恒温恒湿箱主开关和湿度开关。 4.4 打开主开关后,操作指示灯亮,此时显示器无显示,恒温恒湿箱置于stand-by模式,按下stand-by按钮开机。 4.5 MB1程序控制器设置:应用MB1程序控制器通过二级菜单以手动模式或程序操作模式将设定值输入至控制器。 4.5.1 MB1程序控制器: 4.5.2 通过W键可进行温度、湿度及风扇速度的设定。

4.5.2.1 温度的设定:按显示屏下方右二W 键进入TEMP用▼▲将温度调到所需温度。 4.5.2.2 湿度的设定:接温度设定用▼调至HUMID再用▼▲将湿度调到所需湿度。 4.5.2.3 风扇速度的设定:接湿度设定用▼调至FAN SPEED ENTER再用▼▲将风扇速度调到所需风扇速度,按EXIT返回到运行显示状态。 4.5.3 按下Config健,选择User-settings菜单下的User Leve栏进行超温保护设定。 4.5.4 按下VIEW键进入需要的操作界面。温湿度历史数据查阅,在显示屏右下方“HAND VIEW”键,按一下显示现行设定状态,按两下可以调出历史事件,按三下可以调出温湿度历史趋势图,按四下显示BINDER信息,按五下恢复运行显示。 4.5.5 当温度、湿度超过设定值的要求范围时,屏幕会出现相应的警报,如果在规定的16分钟内没有稳定下来,屏幕将会有警报出现,并伴有警报声。此时屏幕下方会出现RESET,按下RESET,警报声消除,待条件稳定后再按下RESET键,此时警报消除。 4.6 BINDER 监控软件APT-COM3 的应用 4.6.1 打开软件输入正确密码进入监控软件Center Version3.02.***GLP 界面。 4.6.2 点击Configuration 进入该界面选择Chamber可进行新建、删除箱子。 4.6.2.1 新建箱子:点击create new进入新建箱子界面、输入箱子名、选择相应的型号、COM 端口、可点击Test 测试。 4.6.2.2 删除箱子:删除箱子必须先删除其对应的监控文件。 4.6.3 Measure Manager 用户管理点击Measurement 进入: 4.6.3.1 Create New Measure新建监控文件:选择要监控的箱子点击Start 开始采样取点。 4.6.3.2 Open Existing Measure 打开监控文件:选择要打开的监控文件名,点击Open,打开该文件。 4.6.3.3 点击Start 进行数据读取,Stop 停止读取数据。Montor interval minutes 数据读取间隔(1-255 分钟),Number of view point 已读取的数据点,View length 可观察的数据(last hour1 小时,last day 1 天------All 全部),Setpoint 设定点,Limit Low/High 偏差范围。Table 数据表,Options 界面Delete all record 删除记录,注意关闭该监控文件,然后再打开,以前记录被删除。记录数据可加备注,如开关门,先Stop,停止采样,双击Table 中添加备注的时间段,在跳出的对话框中写如“Door open”“Door close” 4.6.3.4 Delete Measure 删除监控文件:选择要删除的监控文件名,点击Delete,删除该文件。 4.6.3.5 Manual Documentation手动:选择要手动操作的监控文件,输入起始时间和结束时间,可打印。 4.6.3.6 Auto Documentation 自动:选择要自动操作的监控文件,击活“Auto print”,输入打印时间间隔,可自动打印。

项目管理软件操作手册

项目管理软件PROJECT 2010操作实例 Project工具一般用来管理一个项目,制定项目的执行计划。项目的三要素到底是时间,成本和范围。如何使用Project,必须明确如下几项: A,做什么事 B,这些事的时间有什么要求 C,要做的事之间有什么关系 D,做这些事的人员有谁 E,人员有特别的时间要求 下面举一个具体例子,了解一下项目管理软件的操作过程。 项目名称:电石炉主体安装工程 项目的开始日期:2016年2月1日 项目的结束日期:2016年6月11日 日程排定方法:从项目的开始之日起 项目日历:标准日历 工作时间:每周工作7天,每天8小时 项目目标:确保设备按期投产。 可衡量结果:达到业主产量要求。

一、任务清单列表:

二、资源可使用情况: 资源名称最大单位标准工资率每次使用成本成本累算方式 钳工4¥工时按比例 电工4¥工时按比例 管工6¥工时按比例 电焊工12¥工时按比例 起重工2¥工作日按比例 力工42¥工作日按比例 电动葫芦 卷扬机3¥ 自卸车1¥ 三、任务之间的相关性: 放线→设备机、电、液安装→调试→投产保驾→竣工验收→结 束 四、具体操作步骤 (一)、启动阶段 1.新建项目文件 选择文件—新建,点击右下角的创建图标,或安装软件后直接点击文件图标 2.设置项目信息 自定义日历 菜单栏下的项目-更改工作时间,点击此按钮。 将周六、周日设置为工作时间。 在例外日期状态下,输入周末,在开始完成时间中按工程总工期调好,选择右侧的“详细信息”按钮,将非工作日调整成工作日,选择下方

的重复发生方式为每周,将周日、周六选上,点确定。项目工作日由5天变为7天。 确定项目信息 项目栏—项目信息——开始日期,调为项目的计划开始日期,如:2016年2月1日 (二)计划阶段 定义资源 视图——资源工作表中,输入资源的基本信息。 建立任务 回到任务栏的甘特图表,输入任务名称中建立任务。使用升级和降级的按钮设定任务级别,形成层次关系,从而展示任务分解结构,完整的项目见下图。 任务信息 双击任务名称,出现任务信息对话框,可调整任务工期、修改任务名称,设置前置任务,建立任务的限制条件、给任务分配资源等功能。

.软件使用教程

目录 一.关于U盘的软件 (2) 1 .ATTO Disk Benchmark.(测试U盘读写速度) (2) 2. MyDiskTest(测试U盘是否为扩容盘) (5) 3 .USBcleaner(U盘杀毒软件) (7) 二.硬盘分区及数据恢复软件 (9) 1.diskgenius (硬盘分区及数据恢复软件) (9) 2. Acronis Disk Director Suite (简称为ADDS) (分区管理器,无损分区) (9) 3. EASYRECOVERY(硬盘数据恢复工具) (9) 三.Ghost (硬盘备份还原工具,常用于重装系统) (10) Ghost 系统重装 (10) 另附:用NT6 HDD Installer硬盘安装 (10) 四.驱动安装的软件 (12) 1.E驱动(驱动安装) (12) 2驱动精灵(驱动检测与安装) (13) 五.windows激活 (16) 1.小马激活 (16) 2. CW激活 (16) 六.C-cleaner (清理Windows 个人电脑) (17) 七.卸载软件 (18) 1.添加删除程序(XP下)\卸载更改程序(win7下)(系统自带) (18) 2.完美卸载(智能卸载) (19) 3. microsoft fix it (微软官方修复工具) (21) 八.一般软件 (22) 1.360安全卫士 (22) 2.汉王OCR(PDF转换) (23) 3. Foxit PDF Reader(PDF阅读器) (23) 4.winrar(压缩包管理器) (24) 5.directX ,.net framework 4.0 ,Microsoft Visual C++ (24) 九.一些小程序(都在附件里) (24) 1.独木成林Dll文件智能修复_1.1 (24) 2. PowerRMV文件强制删除工具 (24) 3瑞星注册表修复工具 (25) 4. Autoruns,gmer,Procmon,TCPView (26) 现在主要讲常用的软件和一些技术员维修时需要用到的软件,在此,只是简单的一些应用,有兴趣的话可以多深入了解一下。 (现在的软件很多,很多不同的软件都有相同的功能,现在讲的软件都只有一例,有兴趣的

相关文档
最新文档