种子原材料仓库管理流程库具体有哪些工作流程

原料药GMP检查指南_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
医药食品咨询工程师
评价文档:
喜欢此文档的还喜欢
原料药GMP检查指南
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢使用C#实现DHT磁力搜索的BT种子后端管理程序(开源) - H31Home - 推酷
使用C#实现DHT磁力搜索的BT种子后端管理程序(开源) - H31Home
先直接上程序界面,了解整体工作流程是什么样子的,求服务器进行挂机测试,需要固定IP,空间大概需要10G左右(主要是BT种子占用空间过大),最好有SQLSERVER来做为存储数据库,目前采用的是ACCESS数据库做为测试,怕后期数据过百万,对网站进行查询操作很慢。
也提供ASP网站的访问模式:
正在运行中的状态:
本次主要介绍对DHT磁力搜索的HASH文件进行处理操作流程。
后台处理程序主要采用C#里面读取文件类来进行读取,目前文件格式分为两种,一种是从
下载回来的文件进行处理,
另外一种是采用C++程序对DHT网络中的HASH文件进行搜索存储的自定义文件,
里面有HASH值和时间IP等信息,可以通过这些IP值分析出对方电脑上有哪些BT文件,当然这里面的HASH值对应的文件对应的可是当前活跃在网络上的文件,与上面网站上下载的固定的文件值有区别,
有了这些IP值,个人也可以做些行为分析方面的工作,比如哪些城市的IP在下载些什么类型的文件。
下面介绍下数据库方面的设计工作:
1.初步考虑到SQLSERVER对自己电脑工作速度会有影响,没有安装SQLSERVER数据库,采用ACCESS来进行处理操作;
2.ACCESS数据库每个表的大小最好控制不要超过4G,所以设计每表不超过100百万条数据;
3.对BT种子文件进行解析后,提取里面的文件名字,按照文件类型存储到不同的表中,主要分为6大类,电影,音乐,图片,书箱,程序,其它类,
4.由于BT种子里面语言对应的不一样,有中文,英文,日文,韩国等语言,对于搜索界面如果全部存储到一块,没有什么问题,但会影响查询速度,因为中国人一般喜欢用中文查询,如果想查日文,对选项进行选择一下,这样会对所有的表查询都会有很大提高,因为每个表的文件都基本上针对几种语言;
5.对于BT种子里面的文件列表直接采用100百万一个表,如果超过了,直接存储第二块表,因为主表里面有存储自己的文件列表在哪个表的关键字段;
数据库表设计列表:
存储DHT文件名字的表:
存储种子文件列表:
--------------------------下面先介绍一下DHT的工作原理--------------------------------
DHT网络本质上是一个用于查询的网络,其用于查询一个资源有哪些计算机正在下载。每个资源都有一个20字节长度的ID用于标示,称为infohash。当一个程序作为DHT节点加入这个网络时,就会有其他节点来向你查询,当你做出回应后,对方就会记录下你。对方还会询问其他节点,当对方开始下载这个infohash对应的资源时,他就会告诉所有曾经询问过的节点,包括你。这个时候就可以确定,这个infohash对应的资源在这个网络中是有效的。
关于这个网络的工作原理,参看Kevin写的:
获取到infohash后能做什么?关键点在于,我们现在使用的磁力链接(magnet url),是和infohash对应起来的。也就是拿到infohash,就等于拿到一个磁力链接。但是这个爬虫还需要建立资源的信息,这些信息来源于种子文件。种子文件其实也是对应到一个资源,种子文件包含资源名、描述、文件列表、文件大小等信息。获取到infohash时,其实也获取到了对应的计算机地址,我们可以在这些计算机上下载到对应的种子文件。
在获取到infohash后,从一些提供映射磁力链到种子文件服务的网站上直接下载了对应的种子。
https://zoink.it
http://bt.
-------------------------我们后台处理程序就从上面进行种子的下载工作---------------------------
下面重点介绍下我们程序的模块设计:
1.H31SQL类主要方面进行ACCESS和SQLSERVER数据库操作进行初步封装的一个类;
2.H31Debug主要是日志输出类
3.H31Down主要是下载BT种子文件进行的类;
4.TorrentFile类是用来解析BT种子文件类,由于目前可能有的BT种子格式对不上,有些文件解析不上;
5. MainForm主程序界面。
------------------------------------
下面介绍程序处理数据的主要流程:
&1.读取本地文件,采用正则表达式对数据进行提取
/// &summary&
/// 正则表达式取出内容
/// &/summary&
private int GetHashLineContent(string hashline, ref HASHITEM item1)
if (hashline.Length & 50)
if (hashline.Length == 40)
item1.hashKey = hashline.Trim();
item1.recvTime = Convert.ToDateTime(DateTime.Now.ToString(&yyyy-MM-dd HH:mm:ss&));
item1.recvIp = &127.0.0.1&;
item1.recvPort = 8080;
int a = 0;
string pattern = @&ash\[(.*)\] Time\#(.*)\# ip\:(.*)\:(.*)\.&;
Match usermatch = Regex.Match(hashline, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count == 0)
pattern = @&ash\[(.*)\] Time\#(.*)\# ip\:(.*)\:(.*)\.(.*)\#&;
usermatch = Regex.Match(hashline, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count &= 4 && recvthreadison)
item1.hashKey = usermatch.Groups[1].Value.ToString();
item1.recvTime = Convert.ToDateTime(usermatch.Groups[2].Value.ToString());
item1.recvIp = usermatch.Groups[3].Value.ToString();
item1.recvPort = Convert.ToInt32(usermatch.Groups[4].Value.ToString());
2.从网站下载BT种子文件来进行处理
private int DownLoadFileToSaveFile(string strURL, string fileName,int timeout1)
Int32 ticktime1 = System.Environment.TickC
Int32 ticktime2 = 0;
byte[] buffer = new byte[4096];
WebRequest wr = WebRequest.Create(strURL);
wr.ContentType = &application/x-bittorrent&;
wr.Timeout = timeout1;
WebResponse response = wr.GetResponse();
int readsize = 0;
bool gzip = response.Headers[&Content-Encoding&] == &gzip&;
Stream responseStream = gzip ? new GZipStream(response.GetResponseStream(), CompressionMode.Decompress) : response.GetResponseStream();
using (MemoryStream memoryStream = new MemoryStream())
responseStream.ReadTimeout = timeout1*2;
int count = 0;
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
readsize +=
Thread.Sleep(1);
} while (count != 0);
ticktime2 = System.Environment.TickC
byte[] result = memoryStream.ToArray();
Thread.Sleep(10);
using (BinaryWriter writer = new BinaryWriter(new FileStream(fileName, FileMode.Create)))
writer.Write(result);
Int32 ticktime3 = System.Environment.TickC
//H31Debug.PrintLn(&下载成功& + strURL + &:& + readsize.ToString() + &:& + (ticktime2 - ticktime1).ToString() + &-& + (ticktime3 - ticktime2).ToString());
catch (Exception e)
Int32 ticktime3 = System.Environment.TickC
//H31Debug.PrintLn(&下载失败& + strURL + &:& +
(ticktime3 - ticktime1).ToString());
return -2;
3.通过BT文件解析类来读取文件名和列表
4.通过正确正则表达式过滤掉WWW. BBS. 等网站信息,因为这样会影响搜索结果.
/// &summary&
/// 去掉标题中的网址信息
/// &/summary&
private string GetOneGoodString(string title)
//去掉标题中的网址信息
string res =
//string pattern = @&\[(.*)([\w-]+://?|(www|bbs)[.])([^\]]*)\]&;
string pattern = @&(\[|\@|\【|\s|\(|\{)(.*)([\w-]+://?|(www|bbs)[.])([^(\]|\@|\】|\)|\})]*)(\]|\@|\】|\)|\})&;
Match usermatch = Regex.Match(title, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count & 1)
res = res.Replace(usermatch.Groups[0].Value.ToString(), & &);
res = res.Trim();
pattern = @&(\[|\@|\【|\s|\(|\{)(.*)\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|cc|me|cm)([^(\]|\@|\】|\)|\}|\s)]*)(\]|\@|\】|\)|\}|\s)&;
//pattern = @&(\[|\@|\【)(.*)([\w-]+://?|(www|bbs)[.])([^(\]|\@|\】)]*)(\]|\@|\】)&;
usermatch = Regex.Match(res, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count & 1)
res = res.Replace(usermatch.Groups[0].Value.ToString(), & &);
res = res.Trim();
pattern = @&(www|bbs)(.*)(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|cc|me|cm)&;
usermatch = Regex.Match(res, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count & 1)
res = res.Replace(usermatch.Groups[0].Value.ToString(), & &);
res = res.Trim();
if (res.Length &= 5 && res.Length&title.Length)
int a = 0;
catch (System.Exception ex)
H31Debug.PrintLn(ex.Message);
5.判断文件名是中英文,日文等信息存储到不同的表中;
//判断是否是中文,如果是日文等,则存储到另外一个表中
private int ISChineseAndEnglist(string title)
string pattern = @&[\uac00-\ud7ff]+&;//判断韩语
Match usermatch = Regex.Match(title, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count &= 1 && usermatch.Groups[0].Value.Length &= 1)
pattern = @&[\u0800-\u4e00]+&;//判断日语
usermatch = Regex.Match(title, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count &= 1 && usermatch.Groups[0].Value.Length &= 1)
pattern = @&[\u4e00-\u9fa5]+&;//判断汉字
usermatch = Regex.Match(title, pattern, RegexOptions.IgnoreCase);
if (usermatch.Groups.Count &= 1 && usermatch.Groups[0].Value.Length &= 1)
//判断英文,数字
byte[] byte_len = System.Text.Encoding.Default.GetBytes(title);
if (byte_len.Length == title.Length)
catch (System.Exception ex)
H31Debug.PrintLn(ex.Message);
&程序下载:
下一文章准备对DHT的研究进行文章介绍.
由于第一次开源作品,希望大家推荐.
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见2014版种子发芽箱项目(立项及贷款用)可行性研究报告编制机构服务流程及案例展示_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
您身边的投资咨询顾问
评价文档:
2014版种子发芽箱项目(立项及贷款用)可行性研究报告编制机构服务流程及案例展示
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
发酵工程期末复习资料
下载积分:1000
内容提示:第一章
种子的扩大培养与保藏
种子扩大培养的目的:接种量的需要;缩短发酵时间、保证生产水平
优质种子必须具备下列五项条件:
(1)菌种细胞的生长活力强,移种到发酵罐后能迅速生长以缩短迟滞期,
(2)生理性状稳定,菌体生长过程稳定,
(3)具有适宜的菌体总量及浓度以能满足大容量发酵的要求;
(4)无杂菌污染,以确保整个发酵过程正常进行,
(5)保持稳定的生产能力,使最终产物的生物合成量持续稳定高产。
一、实验室种子的制备
实验室种子的制备一般采用两种方式:对于产孢子能力强的及孢子发芽、生长繁殖快的菌种可以采用固体培养基培养孢子,孢子可直接作为种子罐的种子,这样操作简便,不易污染杂菌。对于产孢子能力不强或孢子发芽慢的菌种,可以用液体培养法。
(一)液体种子制备
1,好氧培养: 试管→三角瓶→摇床→种子罐
2,厌氧培养:对于酵母菌(啤酒,葡萄酒,清酒等):试管→三角瓶→卡式罐→种子罐
二、生产车间种子制备
实验室制备的孢子或液体种子移种至种子罐扩大培养,种子罐的培养基虽因不同菌种而异,但其原则为采用易被菌利用的成分如葡萄糖、玉米浆、磷酸盐等,如果是需氧菌,同时还需供给足够的无菌空气,并不断搅拌,使菌(丝)体在培养液中均匀分布,获得相同的培养条件。
1,种子罐的作用:
主要是使孢子发
文档格式:DOC|
浏览次数:6|
上传日期: 10:15:30|
文档星级:
该用户还上传了这些文档
发酵工程期末复习资料.DOC
道客巴巴认证
机构认证专区
加  展示
享受成长特权
官方公共微信 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
土壤种子库研究的几个热点问题
下载积分:1500
内容提示:土壤种子库研究的几个热点问题,土壤种子库,土壤环境问题,推荐几个种子,土壤污染,富硒土壤,土壤分类
文档格式:TXT|
浏览次数:0|
上传日期: 18:12:44|
文档星级:
该用户还上传了这些文档
土壤种子库研究的几个热点问题.TXT
道客巴巴认证
机构认证专区
加  展示
享受成长特权
官方公共微信}

我要回帖

更多关于 原材料出入库流程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信