自己花钱买的电子书,高清完整版!很实用的教材,读起来一点也不晦涩。
目录译者序前言第1章概论1.1推动因素1.2基本计算机组成1.3分布式系统的定义1.4我们的模型1.5互连网络1.6应用与标准1.7范围1.8参考资料来源参考文献习题第2章分布式程序设计语言2.1分布式程序设计支持的需求2.2并行/分布式程序设计语言概述2.3并行性的表示2.4进程通信与同步2.5远程过程调用2.6健壮性第3章分布式系统设计的形式方法3.1模型的介绍3.1.1状态机模型3.1.2佩特里网3.2因果相关事件3.2.1发生在先关系3.2.2时空视图3.2.3交叉视图3.3全局状态3.3.1时空视图中的全局状态3.3.2全局状态:一个形式定义3.3.3全局状态的“快照”3.3.4一致全局状态的充要条件3.4逻辑时钟3.4.1标量逻辑时钟3.4.2扩展3.4.3有效实现3.4.4物理时钟3.5应用3.5.1一个全序应用:分布式互斥3.5.2一个逻辑向量时钟应用:消息的排序3.6分布式控制算法的分类3.7分布式算法的复杂性第4章互斥和选举算法4.1互斥4.2非基于令牌的解决方案4.2.1Lamport算法的简单扩展4.2.2Ricart和Agrawala的第一个算法4.2.3Maekawa的算法4.3基于令牌的解决方案4.3.1Ricart和Agrawala的第二个算法4.3.2一个简单的基于令牌环的算法4.3.3一个基于令牌环的容错算法4.3.4基于令牌的使用其他逻辑结构的互斥4.4选举4.4.1Chang和Roberts的算法4.4.2非基于比较的算法4.5投标4.6自稳定第5章死锁的预防、避免和检测5.1死锁问题5.1.1死锁发生的条件5.1.2图论模型5.1.3处理死锁的策略5.1.4请求模型5.1.5资源和进程模型5.1.6死锁条件5.2死锁预防5.3一个死锁预防的例子:分布式数据库系统5.4死锁避免5.5一个死锁避免的例子:多机器人的灵活装配单元5.6死锁检测和恢复5.6.1集中式方法5.6.2分布式方法5.6.3等级式方法5.7死锁检测和恢复的例子5.7.1AND模型下的Chandy,Misra和Hass算法5.7.2AND模型下的Mitchell和Merritt算法5.7.3OR模型下的Chandy,Misra和Hass算法第6章分布式路由算法6.1导论6.1.1拓扑6.1.2交换6.1.3通信类型6.1.4路由6.1.5路由函数6.2一般类型的最短路径路由6.2.1Dijkstra集中式算法6.2.2Ford的分布式算法6.2.3ARPAnet的路由策略6.3特殊类型网络中的单播6.3.1双向环6.3.2网格和圆环6.3.3超立方6.4特殊类型网络中的广播6.4.1环6.4.22维网格和圆环6.4.3超立方6.5特殊类型网络中的组播6.5.1一般方法6.5.2基于路径的方法6.5.3基于树的方法第7章自适应、无死锁和容错路由7.1虚信道和虚网络7.2完全自适应和无死锁路由7.2.1虚信道类7.2.2逃逸信道7.3部分自适应和无死锁路由7.4容错单播:一般方法7.52维网格和圆环中的容错单播7.5.1基于局部信息的路由7.5.2基于有限全局信息的路由7.5.3基于其他故障模型的路由7.6超立方中的容错单播7.6.1基于局部信息的模型7.6.2基于有限全局信息的模型:安全等级7.6.3基于扩展安全等级模型的路由:安全向量7.7容错广播7.7.1一般方法7.7.2使用全局信息的广播7.7.3使用安全等级进行广播7.8容错组播7.8.1一般方法7.8.2基于路径的路由7.8.3使用安全等级在超立方中进行组播第8章分布式系统的可靠性8.1基本模型8.2容错系统设计的构件模块8.2.1稳定存储器8.2.2故障-停止处理器8.2.3原子操作8.3节点故障的处理8.3.1向后式恢复8.3.2前卷式恢复8.4向后恢复中的问题8.4.1检查点的存储8.4.2检查点方法8.5处理拜占庭式故障8.5.1同步系统中的一致协议8.5.2对一个发送者的一致8.5.3对多个发送者的一致8.5.4不同模型下的一致8.5.5对验证消息的一致8.6处理通信故障8.7处理软件故障第9章静态负载分配9.1负载分配的分类9.2静态负载分配9.2.1处理器互连9.2.2任务划分9.2.3任务分配9.3不同调度模型概述9.4基于任务优先图的任务调度9.5案例学习:两种最优调度算法9.6基于任务相互关系图的任务调度9.7案例学习:域划分9.8使用其他模型和目标的调度9.8.1网络流量技术:有不同处理器能力的任务相互关系图9.8.2速率单调优先调度和期限驱动调度:带实时限制的定期任务9.8.3通过任务复制实现故障安全调度:树结构的任务优先图9.9未来的研究方向第10章动态负载分配10.1动态负载分配10.1.1动态负载分配的组成要素10.1.2动态负载分配算法10.2负载平衡设计决策10.2.1静态算法对动态算法10.2.2多样化信息策略10.2.3集中控制算法和分散控制算法10.2.4移植启动策略10.2.5资源复制10.2.6进程分类10.2.7操作系统和独立任务启动策略10.2.8开环控制和闭环控制10.2.9使用硬件和使用软件10.3移植策略:发送者启动和接收者启动10.4负载平衡使用的参数10.4.1系统大小10.4.2系统负载10.4.3系统交通强度10.4.4移植阈值10.4.5任务大小10.4.6管理成本10.4.7响应时间10.4.8负载平衡视界10.4.9资源要求10.5其他相关因素10.5.1编码文件和数据文件10.5.2系统稳定性10.5.3系统体系结构10.6负载平衡算法实例10.6.1直接算法10.6.2最近邻居算法:扩散10.6.3最近邻居算法:梯度10.6.4最近邻居算法:维交换10.7案例学习:超立方体多计算机上的负载平衡10.8未来的研究方向第11章分布式数据管理11.1基本概念11.2可串行性理论11.3并发控制11.3.1基于锁的并发控制11.3.2基于时戳的并发控制11.3.3乐观的并发控制11.4复制和一致性管理11.4.1主站点方法11.4.2活动复制11.4.3选举协议11.4.4网络划分的乐观方法:版本号向量11.4.5网络分割的悲观方法:动态选举11.5分布式可靠性协议第12章分布式系统的应用12.1分布式操作系统12.1.1服务器结构12.1.2八种服务类型12.1.3基于微内核的系统12.2分布式文件系统12.2.1文件存取模型12.2.2文件共享语义12.2.3文件系统合并12.2.4保护12.2.5命名和名字服务12.2.6加密12.2.7缓存12.3分布式共享内存12.3.1内存相关性问题12.3.2Stumm和Zhou的分类12.3.3Li和Hudak的分类12.4分布式数据库系统12.5异型处理12.6分布式系统的未来研究方向附录DCDL中的通用符号列表
2024/12/20 22:56:08 29.64MB 分布式系统设计 jie wu著 高传善
1
增值税开票模拟系统(5.02版本)1、由于增值税防伪税控系统从6.0版本开始不再提供模拟开票功能,所以想学习开票操作的朋友,只能使用此版本的软件来做基本的模拟练习操作,虽然版本不同,不过基本的主要操作没有太大变化;
2、本处提供的开票软件,不是所谓的破解版或试用版,航天税控开票系统在此版本的软件设计就已为方便大家学习有专设此模拟开票功能,只是不知为何以后的版本不再提供这类的功能了;
安装操作简单介绍如下:第一步:首先运行本软件内的setup.exe程序,安装时提示,"是否要重启",点击"不需要重启",完成,再次运行安装程序。
接下来的就是下一步,下一步的了。
最后安装完了,提示是否要重启,还是不需要重启的。
第二步:在本软件内有一个目录“相关文档”.将这个目录的所有文件拷贝到"C:\ProgramFiles\航天信息\防伪开票\DATABASE\SYSTEM\SUIT"这个目录下(假设你安装时是安装在默认的C盘),用覆盖的形式,注意拷贝完后,如果发现这三个文件的文件属性为“只读”,则请修改清除其只读属性,否则后面进入软件操作时会出现英文提示,只读文件不可操作的内容。
到止软件模拟安装算是完成了。
第三步:运行“C:\ProgramFiles\航天信息\防伪开票\Bin\SimuTax.exe”这个文件。
选择菜单“发行系统”=>“发行金税卡”,弹出窗口,你就在“企业名称”栏中随便填点吧。
然后点击“发行”=》“退出”第四步:还是选择菜单“发售系统”=>“发票发售”,在弹出的窗口中将“发票起始号”填满,随你填啦(要求是数字),然后点击“发售”,成功了就可以退出这个软件了。
第五步:还是回到桌面的“防伪开票”,双击进去。
弹出的窗口上选择“进入系统”,这时出现操作员登陆窗口,在操作员列表上选择“管理员”,没有口今,就直接点击“确定”,这时系统提示“相差一个月”什么的,不要去管它,”确定“就是了。
第六步:到了此时,你已经进入了航天的开票系统中了,但是还有东西要做的,请耐心点吧。
这个时候看见了“初始化起”没有(如果没有看见的话,可以点击一下工具条上的“系统设置”),这时的初始化起是有颜色的,如果没有颜色的话,你登陆的时候操作员就选错了,不是选择的是管理员,请重新登陆吧,如果是这样的话,就请自己研究吧,谁叫你不跟着我操作。
有颜色的话,就点击一下“初始化起”吧,在弹出的窗口上单击一下“确认”,系统重建完表后,就会提示初始化成功的了,初台化成功后,再点一下工具条上的“系统设置”(这个按钮在菜单下一点点,如果你都看不见的话,我建议你不要玩这个了),然后在弹出的对话框中,选择一下“初始化终”,点击一下“确认”,到了这一步,所有的初始化完成了,第七步:点一下工具条上的“发票管理“=》"发票读入"=》“确认”。
最后提示成功读入。
第八步:你的所有工作已经完成了,这一下,你可以测试自己开票了。
点一下“发票填开”,下面的开票操作我就不教了,所以不是模拟设置的内容了,自己发挥吧。
2024/12/20 17:18:29 21.41MB 增值税开票模拟
1
java微信公众号调用手机摄像头拍照和本地相册,上传服务器,java微信公众号内部调用本地摄像头,web项目
2024/12/19 17:35:19 13.18MB 手机拍照 本地相册
1
#include#include#include#includeusingnamespacestd;intw=0;//尾数累加器intp=0;//指数累加器intj=0;//十进制小数位数计数器inte=1;//用来记录十进制数的符号,当指数为正时为1,为负时为-1inti=0;//用来标志元素位置intd=0;//用来表示每个数值型元素对应的数值constintN=40;//用来确定输入识别符的最大长度chardata[N];//存放输入的识别符boolis_digit;//标志是否是数字stringCJ1;//确定是整形还是实型doubleCJ2;//记数值//函数声明voidcheck(charc);//检查首字母是否是数字的函数voiddeal_integer(charc);//处理识别符的整数部分voiddeal_point(charc);//用来处理小数部分voiddeal_index(charc);//用来处理指数部分voids_next();//确定实型voidz_next();//确定整型voidlast();//计算CJ2voiderror();//程序中错误处理程序voiddeal();//处理函数主体intmain(){//主函数coutdata;deal();//处理函数主体last();//计算CJ2system("pause");return0;}voidcheck(charc)//判断输入的首字母是否是数字{is_digit=isdigit(c);while(is_digit!=true){//输入的首字母不是数字时coutdata;check(data[0]);}}voiddeal_integer(charc){//处理识别符的整数部分d=(int)c-48;w=w*10+d;i++;if(isdigit(data[i])!=0)//下一个仍是数值时,调用程序本身deal_integer(data[i]);}voiddeal_point(charc){//用来处理小数部分inttemp=i;if(isdigit(c)!=0)//是数值字符时deal_integer(c);else{error();//错误处理程序deal();//处理函数主体}j=i-temp;//记录十进制小数位数}voiddeal_index(charc){//用来处理指数部分if(c=='-'){e=-1;i++;}//是'-'号时else{if(c=='+')i++;//是'+'号时else{if(isdigit(c)==false)//非数值字符时{error();//错误处理程序deal();//处理函数主体}else
2024/12/19 11:09:24 33KB 无符号数的词法分析程序
1
红外光谱处理软件专业版Omnicv8.0.这是ThermoNicolet公司的旗舰产品,也是市场上最好的红外光谱处理软件.它可以读取和处理世界上大多数厂家的红外图谱.功能强大!!!支持vista系统最大特色:增加了谱库管理功能,可直接调用库内标准谱图!!!iso文件里面只有sample谱库,如果需要可直接下载rar文件后替换llibs目录就可以使用谱库了。
安装时不要解压iso文件,用虚拟光驱安装,lib.rar文件直接解压到谱图库的上级路径下(默认位置是C:MyDocumentsOMNIC),不需要序列号,直接使用。
2024/12/18 17:23:58 15.15MB 红外处理软件
1
1.程序运行环境:此系统采用lLAMP环境,构造B/S系统,运行此系统需要apache和MySQL的支持。
2.功能:用户功能:①用户经注册方可进入用户区,浏览到图书馆的书库,看到最新到的图书。
②用户可以通过借阅号查询已借到的书籍。
③用户可以通过图书名称、分类号、作者和出版社名4种方式搜索相关图书。
管理员功能:①管理员可以通过添加读者表单的提示信息进行读者的添加操作。
②管理员可以通过添加图书表单的相应信息进行图书的添加操作。
③管理员可以通过出借图书表单的相应信息进行图书的出借操作。
④管理员可以通过借阅证号查询读者的借阅信息、读者资料、交还欠款、挂失与否的相关信息,并可删除或修改相应的信息。
⑤管理员可以通过图书名称、分类号、作者和出版社名4种方式搜索相关图书,并可以执行删除操作。
⑥管理员可以查看图书总量、读者总数、管理员总数等相关的数据统计信息。
⑦管理员可以进行口令更改的操作
2024/12/18 6:36:01 506KB 图书管理系统 BS PHP LAMP
1
2005年由匈牙利DepartmentofProcessEngineeringUniversityofVeszprem的BalazsBalasko,JanosAbonyiandBalazsFeil编写的模糊聚类及数据分析工具箱。
代码很全面,包括文档说明。
包括聚类算法KmeansKmedoidsFCMGKGG,聚类评价方法,聚类降维可视化方法。
其中,说明文档我做了书签,便于大家阅读。
PS:本来没打算索要资源分,因为是人家开源发布的东西。
但是,上传资源的时候点选了资源分,就没有0分的选项,最后只能选择这个最低1分了。
如果没有帐号或者资源分不够,可以联系我,我分享给你们。
或者去找原资源网站,或者去可以不收取资源分的地方下载吧!大家共同学习进步!QQ:379786867(亦可微信)
1
OracleJDK1.8ForMacOS,版本号202,方便大家不需要Oracle安装器就可以直接配置JDK到环境变量,同时这是OracleJDK8最后一版本使用BCL协议的(后续使用OTN协议)
2024/12/15 7:33:37 176.41MB macOS JDK
1
经过实际测试可用,替换补丁即可解压后把datamanagers200.dll补丁复制到bin子目录下覆盖即,注意先在子目录下右击查看原文件的版本号,要对应版本复制!!!pou程序有密码时,不用输密码直接点“验证”即可。
2024/12/14 10:50:03 2.77MB 西门子 PLC S7-200 POU密码
1
非常好的一本vc书籍配套光盘资料。
由于资源过大解压后4g左右,所以发布的是资源链接地址注:此书前身VisualC++开发实战1200例,也就是说此书是VisualC++开发实战1200例的后600例,我空间资源中发布的有pdf,转给需要的人。
(ps:如果地址失效的话请私我,看到第一时间把资源回复给你,会经常在线)第1篇系统篇第1章Windows操作21.1 磁盘信息3实例001 获取驱动器的卷标3实例002 检测软驱是否有软盘4实例003 判断是否插入存储器5实例004 判断光驱是否有光盘6实例005 判断驱动器类型7实例006 获取磁盘序列号8实例007 获取磁盘空间信息101.2磁盘操作12实例008 格式化磁盘12实例009 关闭磁盘共享14实例010 设置磁盘卷标15实例011 整理磁盘碎片16实例012 从FAT32转换为NTFS17实例013 隐藏磁盘分区18实例014 显示被隐藏的磁盘分区19实例015 如何更改分区号20实例016 如何监视硬盘211.3系统控制与调用23实例017 调用创建快捷方式向导23实例018 访问启动控制面板中各项24实例019 控制光驱的弹开与关闭26实例020 实现关闭、重启和注销计算机27实例021 关闭和打开显示器29实例022 打开和关闭屏幕保护30实例023 关闭输入法31实例024 程序发出提示音31实例025 列举系统中的可执行文件321.4 应用程序操作34实例026 如何确定应用程序没有响应34实例027 检索任务管理器中的任务列表36实例028 判断某个程序是否运行37实例029 设计具有插件功能的应用程序39实例030 修改其他进程中窗口的标题41实例031 换肤程序42实例032 提取Word文档目录46实例033 修改应用程序图标49实例034 列举应用程序使用的DLL文件52实例035 调用具有命令行参数的应用程序54实例036 在程序中调用一个子进程直到其结束56实例037 提取并保存应用程序图标581.5系统工具60实例038 为程序添加快捷方式60实例039 用列表显示系统正在运行的程序62实例040 带毫秒的时间64实例041 注册和卸载组件65实例042 清空回收站66实例043 如何在程序中显示文件属性对话框671.6桌面相关68实例044 隐藏和显示桌面文件68实例045 隐藏和显示“开始”按钮69实例046 隐藏和显示Windows任务栏70实例047 判断屏幕保护程序是否在运行72实例048 判断系统是否使用大字体73实例049 获取任务栏属性74实例050 获取任务栏窗口句柄75实例051 隐藏任务栏时钟76实例052 改变桌面背景颜色77实例053 获取桌面列表视图句柄781.7系统信息79实例054 获取CPUID值79实例055 获取CPU时钟频率80实例056 获得Windows和System的路径81实例057 获取特殊文件夹路径82实例058 检测系统启动模式84实例059 判断操作系统类型85实例060 获取当前系统运行时间86实例061 如何获取Windows2000系统启动时间87实例062 获取处理器信息88实例063 通过内存映射实现传送数据90实例064 检测是否安装声卡92实例065 获取当前用户名93实例066 获取系统环境变量94实例067 修改计算机名称95实例068 获取当前屏幕颜色质量96实例069 获得当前屏幕的分辨率971.8消息98实例070 自定义消息98实例071 注册消息99实例072 发送WM_COPYDATA消息100实例073 使用SendMessage添加组合框内容101实例074 使用SendMessage添加列表框内容1021.9剪贴板103实例075 列举剪贴板中数据类型103实例076 监视剪贴板复制过的内容106实例077 向剪贴板中传递文字数据107实例078 显示剪贴板中的图片数据109实例079 程序间使用剪贴板传递数据110实例080 子线程
2024/12/13 21:15:35 66B vc c++ mfc
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡